This commit was manufactured by cvs2svn to create tag 'v20050216_2000'.
diff --git a/bundles/org.eclipse.jst.jsp.core/.classpath b/bundles/org.eclipse.jst.jsp.core/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.jst.jsp.core/.compatibility b/bundles/org.eclipse.jst.jsp.core/.compatibility
deleted file mode 100644
index 11e51a0..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=11530

diff --git a/bundles/org.eclipse.jst.jsp.core/.cvsignore b/bundles/org.eclipse.jst.jsp.core/.cvsignore
deleted file mode 100644
index 2a87a02..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-temp.folder
-jspmodel.jar
-dev.properties
-org.eclipse.jst.jsp.core_6.0.0.jar
-build.xml
-org.eclipse.jst.jsp.core_6.0.0.zip
-jspmodelsrc.zip
diff --git a/bundles/org.eclipse.jst.jsp.core/.options b/bundles/org.eclipse.jst.jsp.core/.options
deleted file mode 100644
index 424d005..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.options
+++ /dev/null
@@ -1,23 +0,0 @@
-org.eclipse.jst.jsp.core/debug=true
-org.eclipse.jst.jsp.core/debug/tracefilter=
-org.eclipse.jst.jsp.core/debug/jspindexmanager=false
-org.eclipse.jst.jsp.core/debug/jsptranslation=false
-org.eclipse.jst.jsp.core/debug/jspsearch=false
-
-org.eclipse.jst.jsp.core/taglib/resolve=false
-
-
-# org.eclipse.jst.jsp.core.contentmodel.tld.TLDCMDocumentManager._debug
-org.eclipse.jst.jsp.core/debug/tldcmdocument/manager=false
-
-# org.eclipse.jst.jsp.core.contentmodel.tld.CMDocumentFactoryTLD._debug
-org.eclipse.jst.jsp.core/debug/tldcmdocument/factory=false
-
-#org.eclipse.jst.jsp.core.internal.contentmodel/index.ProjectDescription._debugIndexCreation
-org.eclipse.jst.jsp.core/taglib/indexcreation=false
-#org.eclipse.jst.jsp.core.internal.contentmodel/index.ProjectDescription._debugIndexTime
-org.eclipse.jst.jsp.core/taglib/indextime=false
-
-#org.eclipse.jst.jsp.core.text.rules.StructuredTextPartitioner.debugPrefixListener
-org.eclipse.jst.jsp.core/partitioner/prefixlistener=false
-
diff --git a/bundles/org.eclipse.jst.jsp.core/.project b/bundles/org.eclipse.jst.jsp.core/.project
deleted file mode 100644
index 0f10b7a..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.jsp.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/bundles/org.eclipse.jst.jsp.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.jst.jsp.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 287fc5f..0000000
--- a/bundles/org.eclipse.jst.jsp.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jan 12 16:11:11 EST 2005

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=error

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=enabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/bundles/org.eclipse.jst.jsp.core/build.properties b/bundles/org.eclipse.jst.jsp.core/build.properties
deleted file mode 100644
index 634f9a4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-bin.includes = plugin.xml,\
-               *.jar,\
-               jsp.jar,\
-               .options,\
-               plugin.properties
-src.includes = plugin.xml,\
-               build.xml,\
-               .options,\
-               plugin.properties
-source.jspmodel.jar = src/
diff --git a/bundles/org.eclipse.jst.jsp.core/plugin.properties b/bundles/org.eclipse.jst.jsp.core/plugin.properties
deleted file mode 100644
index 42ae607..0000000
--- a/bundles/org.eclipse.jst.jsp.core/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-providerName=Eclipse.org
-pluginName=Structured Source JSP Model
-nlFeatureName=Structured Source JSP Model NL Support
-Structured_JSP_Document_Factory_Extension.name=Structured JSP Document Factory Extension
-JSP_Content_Type_Extension_Element.name=JSP Content Type
-JSP_Tag_Content_Type_Extension_Element.name=JSP Tag Content Type
diff --git a/bundles/org.eclipse.jst.jsp.core/plugin.xml b/bundles/org.eclipse.jst.jsp.core/plugin.xml
deleted file mode 100644
index ca3a3f7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/plugin.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jst.jsp.core"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jst.jsp.core.internal.JSPCorePlugin">
-
-   <runtime>
-      <library name="jspmodel.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-      <import plugin="org.eclipse.wst.common.encoding"/>
-      <import plugin="org.eclipse.wst.html.core"/>
-      <import plugin="org.eclipse.wst.xml.core"/>
-      <import plugin="org.eclipse.wst.sse.ui"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.wst.xml.uriresolver"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.wst.common.contentmodel"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.wst.common.uriresolver"/>
-   </requires>
-
-
-  <extension
-         point="org.eclipse.wst.sse.core.modelHandler">
-      <modelHandler
-            class="org.eclipse.jst.jsp.core.modelhandler.ModelHandlerForJSP"
-            associatedContentTypeId="org.eclipse.jst.jsp.core.jspsource"
-            id="org.eclipse.jst.jsp.core.modelhandler">
-      </modelHandler>
-   </extension>
-   <extension
-         point="org.eclipse.wst.common.contentmodel.documentFactories">
-      <factory
-            type="tld"
-            class="org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentFactoryTLD">
-      </factory>
-   </extension>
-   <extension
-         id="org.eclipse.jst.jsp.core.builderdelegate.todo"
-         point="org.eclipse.wst.sse.core.builderdelegate">
-      <participant
-            class="org.eclipse.jst.jsp.core.internal.tasks.JSPTaskTagSeeker"
-            contentType="org.eclipse.jst.jsp.core.jspsource">
-      </participant>
-   </extension>
-   <extension point="org.eclipse.core.filebuffers.documentCreation"
-         id="org.eclipse.jst.jsp.core.documentfactories"
-         name="%Structured_JSP_Document_Factory_Extension.name">
-      <factory
-            contentTypeId="org.eclipse.jst.jsp.core.jspsource"
-            class="org.eclipse.wst.sse.core.filebuffers.BasicStructuredDocumentFactory"/>
-   </extension>
-   <extension point="org.eclipse.core.filebuffers.documentSetup"
-         id="org.eclipse.jst.jsp.core.documentsetup"
-         name="Structured JSP Document Setup participant">
-      <participant
-            contentTypeId="org.eclipse.jst.jsp.core.jspsource"
-            class="org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController"/>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            type="text"
-            extension="jsp">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="jspf"/>
-      <fileTypes
-            type="text"
-            extension="jspx"/>
-      <fileTypes
-            type="text"
-            extension="jsf">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="jsv">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="jtpl">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="tld"/>
-      <fileTypes
-            type="text"
-            extension="tag"/>
-      <fileTypes
-            type="text"
-            extension="tagx"/>
-      <fileTypes
-            type="text"
-            extension="tagf"/>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.core.formatProcessors">
-      <processor
-            class="org.eclipse.wst.html.core.format.HTMLFormatProcessorImpl"
-            contentTypeId="org.eclipse.jst.jsp.core.jspsource">
-      </processor>
-   </extension>
-
-   <extension
-         point="org.eclipse.core.runtime.contentTypes">
-         <!-- associate JSP file types -->
-         <content-type
-               file-extensions="jsp,jspf,jsf,jsv,jtpl,jspx"
-               priority="high"
-               name="%JSP_Content_Type_Extension_Element.name"
-               id="jspsource"
-               base-type="org.eclipse.core.runtime.text"
-			   default-charset="ISO-8859-1">
-			<describer class="org.eclipse.jst.jsp.core.internal.contenttype.ContentDescriberForJSP"/>
-		 </content-type>
-         <!-- associate JSP 2.0 Tag file types -->
-         <content-type
-               file-extensions="tag,tagx,tagf"
-               priority="high"
-               name="%JSP_Tag_Content_Type_Extension_Element.name"
-               id="tagsource"
-               base-type="org.eclipse.jst.jsp.core.jspsource"
-			   default-charset="UTF-8">
-		 </content-type>
-		<!-- associate .tld files with the XML content type -->
-		<file-association
-			content-type="org.eclipse.core.runtime.xml"
-			file-extensions="tld"/>
-	</extension>		 
-</plugin>
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/JSP11Namespace.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/JSP11Namespace.java
deleted file mode 100644
index a92bc94..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/JSP11Namespace.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * 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;
-
-
-/**
- * JSP 1.1 Namespace
- */
-public interface JSP11Namespace {
-
-	public static interface ElementName {
-		// Element names
-		public static final String SCRIPTLET = "jsp:scriptlet"; //$NON-NLS-1$
-		public static final String EXPRESSION = "jsp:expression"; //$NON-NLS-1$
-		public static final String DECLARATION = "jsp:declaration"; //$NON-NLS-1$
-		public static final String DIRECTIVE_PAGE = "jsp:directive.page"; //$NON-NLS-1$
-		public static final String DIRECTIVE_INCLUDE = "jsp:directive.include"; //$NON-NLS-1$
-		public static final String DIRECTIVE_TAGLIB = "jsp:directive.taglib"; //$NON-NLS-1$
-		public static final String USEBEAN = "jsp:useBean"; //$NON-NLS-1$
-		public static final String SETPROPERTY = "jsp:setProperty"; //$NON-NLS-1$
-		public static final String GETPROPERTY = "jsp:getProperty"; //$NON-NLS-1$
-		public static final String INCLUDE = "jsp:include"; //$NON-NLS-1$
-		public static final String FORWARD = "jsp:forward"; //$NON-NLS-1$
-		public static final String PLUGIN = "jsp:plugin"; //$NON-NLS-1$
-		public static final String PARAMS = "jsp:params"; //$NON-NLS-1$
-		public static final String FALLBACK = "jsp:fallback"; //$NON-NLS-1$
-		public static final String PARAM = "jsp:param"; //$NON-NLS-1$
-		public static final String ROOT = "jsp:root"; //$NON-NLS-1$
-		public static final String TEXT = "jsp:text"; //$NON-NLS-1$
-	}
-
-	public static final String JSP11_URI = ""; //$NON-NLS-1$
-	public static final String JSP_TAG_PREFIX = "jsp"; //$NON-NLS-1$
-	// attribute names
-	//   directive.page
-	public static final String ATTR_NAME_LANGUAGE = "language"; //$NON-NLS-1$
-	public static final String ATTR_NAME_EXTENDS = "extends"; //$NON-NLS-1$
-	public static final String ATTR_NAME_CONTENT_TYPE = "contentType"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IMPORT = "import"; //$NON-NLS-1$
-	public static final String ATTR_NAME_SESSION = "session"; //$NON-NLS-1$
-	public static final String ATTR_NAME_BUFFER = "buffer"; //$NON-NLS-1$
-	public static final String ATTR_NAME_AUTOFLUSH = "autoFlush"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IS_THREAD_SAFE = "isThreadSafe"; //$NON-NLS-1$
-	public static final String ATTR_NAME_INFO = "info"; //$NON-NLS-1$
-	public static final String ATTR_NAME_ERROR_PAGE = "errorPage"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IS_ERROR_PAGE = "isErrorPage"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PAGE_ENCODING = "pageEncoding"; //$NON-NLS-1$
-	//   directive.include
-	public static final String ATTR_NAME_FILE = "file"; //$NON-NLS-1$
-	//   directive.taglib
-	public static final String ATTR_NAME_URI = "uri"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PREFIX = "prefix"; //$NON-NLS-1$
-	//   useBean
-	public static final String ATTR_NAME_ID = "id"; //$NON-NLS-1$
-	public static final String ATTR_NAME_SCOPE = "scope"; //$NON-NLS-1$
-	public static final String ATTR_NAME_CLASS = "class"; //$NON-NLS-1$
-	public static final String ATTR_NAME_BEAN_NAME = "beanName"; //$NON-NLS-1$
-	public static final String ATTR_NAME_TYPE = "type"; //$NON-NLS-1$
-	//   setProperty
-	public static final String ATTR_NAME_NAME = "name"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PROPERTY = "property"; //$NON-NLS-1$
-	public static final String ATTR_NAME_VALUE = "value"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PARAM = "param"; //$NON-NLS-1$
-	//   include
-	public static final String ATTR_NAME_PAGE = "page"; //$NON-NLS-1$
-	public static final String ATTR_NAME_FLUSH = "flush"; //$NON-NLS-1$
-	//   plugin
-	public static final String ATTR_NAME_CODE = "code"; //$NON-NLS-1$
-	public static final String ATTR_NAME_CODEBASE = "codebase"; //$NON-NLS-1$
-	public static final String ATTR_NAME_ALIGN = "align"; //$NON-NLS-1$
-	public static final String ATTR_NAME_ARCHIVE = "archive"; //$NON-NLS-1$
-	public static final String ATTR_NAME_HEIGHT = "height"; //$NON-NLS-1$
-	public static final String ATTR_NAME_HSPACE = "hspace"; //$NON-NLS-1$
-	public static final String ATTR_NAME_JREVERSION = "jreversion"; //$NON-NLS-1$
-	public static final String ATTR_NAME_VSPACE = "vspace"; //$NON-NLS-1$
-	public static final String ATTR_NAME_WIDTH = "width"; //$NON-NLS-1$
-	public static final String ATTR_NAME_NSPLUGINURL = "nspluginurl"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IEPLUGINURL = "iepluginurl"; //$NON-NLS-1$
-	//   root
-	public static final String ATTR_NAME_XMLNS_JSP = "xmlns:jsp"; //$NON-NLS-1$
-	public static final String ATTR_NAME_VERSION = "version"; //$NON-NLS-1$
-	// attribute values
-	public static final String ATTR_VALUE_TRUE = "true"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_FALSE = "false"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_JAVA = "java"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_CT_DEFAULT = "text/html; charset=ISO-8859-1";//D195366 //$NON-NLS-1$
-	public static final String ATTR_VALUE_BUFSIZ_DEFAULT = "8kb"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_PAGE = "page"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_SESSION = "session"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_REQUEST = "request"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_APPLICATION = "application"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_BEAN = "bean"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_APPLET = "applet"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_TOP = "top"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_MIDDLE = "middle"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_BOTTOM = "bottom"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_LEFT = "left"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_RIGHT = "right"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_JVER11 = "1.1"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_XMLNS_JSP = "http://java.sun.com/JSP/Page"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/JSP12Namespace.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/JSP12Namespace.java
deleted file mode 100644
index 5c241ef..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/JSP12Namespace.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * Names for JSP 1.2 spec.
- * Currently, it is just the same as JSP11Namespace in org.eclipse.jst.jsp.core.
- */
-public interface JSP12Namespace extends JSP11Namespace {
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/JSP20Namespace.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/JSP20Namespace.java
deleted file mode 100644
index 236bcf2..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/JSP20Namespace.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * New names for JSP 2.0 spec.
- */
-
-public interface JSP20Namespace extends JSP12Namespace {
-	public static interface ElementName extends JSP12Namespace.ElementName {
-		String DIRECTIVE_TAG = "jsp:directive.tag"; //$NON-NLS-1$
-		String DIRECTIVE_ATTRIBUTE = "jsp:directive.attribute"; //$NON-NLS-1$
-		String DIRECTIVE_VARIABLE = "jsp:directive.variable"; //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/Logger.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/Logger.java
deleted file mode 100644
index 82641dc..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/Logger.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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;
-
-/**
- * @deprecated moved to internal package because only this plugin should be
- * using this Logger class.
- * 
- * will be removed in M4
- */
-public class Logger extends org.eclipse.jst.jsp.core.internal.Logger {
-	// see org.eclipse.jst.jsp.core.internal.Logger
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/PageDirectiveAdapter.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/PageDirectiveAdapter.java
deleted file mode 100644
index 910e0a5..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/PageDirectiveAdapter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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;
-
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.ui.contentproperties.IContentSettingsListener;
-
-/**
- * Classes which implement this interface have two responsibilities. 
- * One is to provide
- * and embedded factory registry for JSP Aware INodeAdapter Factories
- * to use. The other is to monitor page directives and if 
- * a change in embedded type is is made, it will signal 
- * the structuredModel that it needs to reinitialize itself.
- */
-public interface PageDirectiveAdapter extends INodeAdapter, IContentSettingsListener {
-
-	public String getContentType();
-
-	public String getLanguage();
-
-	/**
-	 * This setter method should be called once, shortly after
-	 * initialization.
-	 */
-	void setEmbeddedType(EmbeddedTypeHandler handler);
-
-	EmbeddedTypeHandler getEmbeddedType();
-
-	/**
-	 * This method is to give this adapter a chance to use
-	 * the AdapterFactores from the EmbeddedTypeHandler
-	 * to adapt the node. Its to be used by JSPAwareAdapterFactories
-	 * to (potentially) adapt nodes from the embedded content type.
-	 */
-	INodeAdapter adapt(INodeNotifier notifier, Object type);
-
-	void addEmbeddedFactory(AdapterFactory factory);
-
-	/**
-	 * Method setLanguage.
-	 * @param language
-	 */
-	void setLanguage(String language);
-
-	INodeNotifier getTarget();
-
-	public void release(Object key);
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/JSP11TLDNames.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/JSP11TLDNames.java
deleted file mode 100644
index 8d57dc4..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/JSP11TLDNames.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.contentmodel.tld;
-
-public interface JSP11TLDNames {
-
-	String TAGLIB = "taglib"; //$NON-NLS-1$
-
-	String CONTENT_JSP = "JSP"; //$NON-NLS-1$
-	String CONTENT_EMPTY = "empty"; //$NON-NLS-1$
-	String CONTENT_TAGDEPENDENT = "tagdependent"; //$NON-NLS-1$
-
-	String TAG = "tag"; //$NON-NLS-1$
-	String JSPVERSION = "jspversion"; //$NON-NLS-1$
-	String TLIBVERSION = "tlibversion"; //$NON-NLS-1$
-	String SHORTNAME = "shortname"; //$NON-NLS-1$
-	String URI = "uri"; //$NON-NLS-1$
-	String URN = "urn"; //$NON-NLS-1$
-	String INFO = "info"; //$NON-NLS-1$
-
-	String NAME = "name"; //$NON-NLS-1$
-	String TEICLASS = "teiclass"; //$NON-NLS-1$
-	String TAGCLASS = "tagclass"; //$NON-NLS-1$
-	String BODYCONTENT = "bodycontent"; //$NON-NLS-1$
-	String ATTRIBUTE = "attribute"; //$NON-NLS-1$
-
-	String ID = "id"; //$NON-NLS-1$
-	String REQUIRED = "required"; //$NON-NLS-1$
-	String RTEXPRVALUE = "rtexprvalue"; //$NON-NLS-1$
-
-	String PREFIX = "prefix"; //$NON-NLS-1$
-
-	String INCLUDE = "include"; //$NON-NLS-1$
-	String FILE = "file"; //$NON-NLS-1$
-
-	String TRUE = "true"; //$NON-NLS-1$
-	String FALSE = "false"; //$NON-NLS-1$
-	String YES = "yes"; //$NON-NLS-1$
-	String NO = "no"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/JSP12TLDNames.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/JSP12TLDNames.java
deleted file mode 100644
index 7bf8b4b..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/JSP12TLDNames.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.contentmodel.tld;
-
-public interface JSP12TLDNames {
-
-	String TAGLIB = JSP11TLDNames.TAGLIB;
-
-	String CONTENT_JSP = JSP11TLDNames.CONTENT_JSP;
-	String CONTENT_EMPTY = JSP11TLDNames.CONTENT_EMPTY;
-	String CONTENT_TAGDEPENDENT = JSP11TLDNames.CONTENT_TAGDEPENDENT;
-
-	String TAG = JSP11TLDNames.TAG;
-	String JSP_VERSION = "jsp-version"; //$NON-NLS-1$
-	String TLIB_VERSION = "tlib-version"; //$NON-NLS-1$
-	String SHORT_NAME = "short-name"; //$NON-NLS-1$
-	String URI = JSP11TLDNames.URI;
-	String URN = JSP11TLDNames.URN;
-
-	String NAME = JSP11TLDNames.NAME;
-	String TEI_CLASS = "tei-class"; //$NON-NLS-1$
-	String TAG_CLASS = "tag-class"; //$NON-NLS-1$
-	String BODY_CONTENT = "body-content"; //$NON-NLS-1$
-	String ATTRIBUTE = JSP11TLDNames.ATTRIBUTE;
-
-	String ID = JSP11TLDNames.ID;
-	String REQUIRED = JSP11TLDNames.REQUIRED;
-	String RTEXPRVALUE = JSP11TLDNames.RTEXPRVALUE;
-
-	String PREFIX = JSP11TLDNames.PREFIX;
-
-	String INCLUDE = JSP11TLDNames.INCLUDE;
-	String FILE = JSP11TLDNames.FILE;
-
-	String TRUE = JSP11TLDNames.TRUE;
-	String FALSE = JSP11TLDNames.FALSE;
-	String YES = JSP11TLDNames.YES;
-	String NO = JSP11TLDNames.NO;
-
-	/*
-	 * @since JSP 1.2
-	 */
-	String DESCRIPTION = "description"; //$NON-NLS-1$
-	String DISPLAY_NAME = "display-name"; //$NON-NLS-1$
-	String SMALL_ICON = "small-icon"; //$NON-NLS-1$
-	String LARGE_ICON = "large-icon"; //$NON-NLS-1$
-
-
-	String VALIDATOR = "validator"; //$NON-NLS-1$
-	String VALIDATOR_CLASS = "validator-class"; //$NON-NLS-1$
-	String VALIDATOR_INIT_PARAM = "init-param"; //$NON-NLS-1$
-	String VALIDATOR_PARAM_NAME = "param-name"; //$NON-NLS-1$
-	String VALIDATOR_PARAM_VALUE = "param-value"; //$NON-NLS-1$
-
-
-	String LISTENER = "listener"; //$NON-NLS-1$
-	String LISTENER_CLASS = "listener-class"; //$NON-NLS-1$
-
-	String VARIABLE = "variable"; //$NON-NLS-1$
-	String VARIABLE_NAME_GIVEN = "name-given"; //$NON-NLS-1$
-	String VARIABLE_NAME_FROM_ATTRIBUTE = "name-from-attribute"; //$NON-NLS-1$
-	String VARIABLE_CLASS = "variable-class"; //$NON-NLS-1$
-	String VARIABLE_DECLARE = "declare"; //$NON-NLS-1$
-	String VARIABLE_SCOPE = "scope"; //$NON-NLS-1$
-	String VARIABLE_SCOPE_NESTED = "NESTED"; //$NON-NLS-1$
-	String VARIABLE_SCOPE_AT_BEGIN = "AT_BEGIN"; //$NON-NLS-1$
-	String VARIABLE_SCOPE_AT_END = "AT_END"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/JSP20TLDNames.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/JSP20TLDNames.java
deleted file mode 100644
index 7de03c7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/JSP20TLDNames.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-/*nlsXXX*/
-public interface JSP20TLDNames extends JSP12TLDNames {
-	String CONTENT_SCRIPTLESS = "scriptless"; //$NON-NLS-1$
-	String EXAMPLE = "example"; //$NON-NLS-1$
-	String FRAGMENT = "fragment"; //$NON-NLS-1$
-	String FUNCTION = "function"; //$NON-NLS-1$
-	String FUNCTION_CLASS = "function-class"; //$NON-NLS-1$
-	String FUNCTION_EXTENSION = "function-extension"; //$NON-NLS-1$
-	String FUNCTION_SIGNATURE = "function-signature"; //$NON-NLS-1$
-	String ICON = "icon"; //$NON-NLS-1$
-	String PATH = "path"; //$NON-NLS-1$
-	String TAG_EXTENSION = "tag-extension"; //$NON-NLS-1$
-	String TAG_FILE = "tag-file"; //$NON-NLS-1$
-
-	String TAGDIR = "tagdir"; //$NON-NLS-1$
-	
-	String TAGLIB_EXTENSION = "taglib-extension"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDAttributeDeclaration.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDAttributeDeclaration.java
deleted file mode 100644
index 335b160..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDAttributeDeclaration.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-
-/**
- * Represents an attribute definition from a TLD
- */
-public interface TLDAttributeDeclaration extends CMAttributeDeclaration {
-
-	/**
-	 * a description of the attribute
-	 * @return String
-	 * @since JSP 2.0
-	 */
-	String getDescription();
-	
-	/**
-	 * the attribute's name
-	 * @since JSP 1.1
-	 */
-	String getId();
-
-	CMDocument getOwnerDocument();
-
-	/**
-	 * whether the attribute's value may be dynamically calculated at runtime by an expression
-	 * @since JSP 1.1
-	 */
-	String getRtexprvalue();
-
-	/**
-	 * the type of the attribute's value
-	 * @since JSP 1.2
-	 */
-	String getType();
-
-	/**
-	 * whether this attribute is a fragment
-	 * 
-	 * @return boolean
-	 */
-	boolean isFragment();
-	
-	/**
-	 * if the attribute is required or optional
-	 * @since JSP 1.1
-	 */
-	boolean isRequired();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDDocument.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDDocument.java
deleted file mode 100644
index 04b7289..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDDocument.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-import java.util.List;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-
-public interface TLDDocument extends CMDocument {
-
-	String CM_KIND = "Content Model Kind"; //$NON-NLS-1$
-	String JSP_TLD = "JSP Tag Library Descriptor"; //$NON-NLS-1$
-
-	/**
-	 * @since JSP 2.0
-	 * 
-	 * @return
-	 */
-	String getBaseLocation();
-	
-	/**
-	 * @return String - The contents of the "description" element of a JSP 1.2 tag library descriptor; a simple string describing the "use" of this taglib, should be user discernable.
-	 * @since JSP 1.2
-	 */
-	String getDescription();
-
-	/**
-	 * @return String - The contents of the "display-name" element of a JSP 1.2 tag library descriptor; it is a short name that is intended to be displayed by tools
-	 * @since JSP 1.2
-	 */
-	String getDisplayName();
-
-	/**
-	 * @return List - A list of extension elements describing the tag library
-	 * @since JSP 2.0
-	 */
-	List getExtensions();
-	
-	/**
-	 * @return List - A list of TLDFunctions describing the declared functions
-	 * @since JSP 2.0
-	 */
-	List getFunctions();
-	
-	/**
-	 * @return String - The contents of the "info" element of a JSP 1.1 tag library descriptor; a simple string describing the "use" of this taglib, should be user discernable.
-	 * @since JSP 1.1
-	 */
-	String getInfo();
-
-	/**
-	 * @return String - The version of JSP the tag library depends upon
-	 * @since JSP 1.1
-	 */
-	String getJspversion();
-
-	/**
-	 * @return String - The contents of the "large-icon" element of a JSP 1.2 tag library descriptor; optional large-icon that can be used by tools
-	 * @since JSP 1.2
-	 */
-	String getLargeIcon();
-
-	/**
-	 * @since JSP 1.2
-	 * @return List - a List of TLDListeners
-	 */
-	List getListeners();
-
-	/**
-	 * @return String - A simple default short name that could be used by a JSP authoring tool to create names with a mnemonic value; for example, it may be used as the preferred prefix value in taglib directives
-	 * @since JSP 1.1
-	 */
-	String getShortname();
-
-	/**
-	 * @return String - The contents of the "small-icon" element of a JSP 1.2 tag library descriptor; optional small-icon that can be used by tools
-	 * @since JSP 1.2
-	 */
-	String getSmallIcon();
-
-	/**
-	 * @return String - The version of the tag library (it's implementation)
-	 * @since JSP 1.1
-	 */
-	String getTlibversion();
-
-	/**
-	 * @return String - the URI declared within the descriptor
-	 * @since JSP 1.1
-	 */
-	String getUri();
-
-	/**
-	 * @since JSP 1.2
-	 */
-	TLDValidator getValidator();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDElementDeclaration.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDElementDeclaration.java
deleted file mode 100644
index 8ca165e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDElementDeclaration.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-import java.util.List;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-
-public interface TLDElementDeclaration extends CMElementDeclaration {
-
-	/**
-	 * The body content type
-	 * 
-	 * @since JSP 1.1
-	 */
-	String getBodycontent();
-
-	/**
-	 * Optional tag-specific information
-	 * 
-	 * @since JSP 1.2
-	 */
-	String getDescription();
-
-	/**
-	 * A short name that is intended to be displayed by tools
-	 * 
-	 * @since JSP 1.2
-	 */
-	String getDisplayName();
-
-	/**
-	 * Optional informal description of an example of a use of this tag
-	 * 
-	 * @since JSP 2.0
-	 */
-	String getExample();
-
-	/**
-	 * Zero or more extensions that provide extra information about this tag,
-	 * for tool consumption
-	 * 
-	 * @since JSP 2.0
-	 */
-	List getExtensions();
-
-	/**
-	 * Optional tag-specific information
-	 * 
-	 * @since JSP 1.1
-	 */
-	String getInfo();
-
-	/**
-	 * Name of an optional large icon that can be used by tools
-	 * 
-	 * @since JSP 1.2
-	 */
-	String getLargeIcon();
-
-	CMDocument getOwnerDocument();
-
-	/**
-	 * Where to find the .tag file implementing this action, relative to the
-	 * root of the web application or the root of the JAR file for a tag
-	 * library packaged in a JAR. This must begin with /WEB-INF/tags if the
-	 * .tag file resides in the WAR, or /META-INF/tags if the .tag file
-	 * resides in a JAR.
-	 * 
-	 * 
-	 * @return the path to the .tag(x) file as defined in the .tld file, null
-	 *         if internal to the .tld
-	 * @since JSP 2.0
-	 */
-	String getPath();
-
-	/**
-	 * Name of an optional small icon that can be used by tools
-	 * 
-	 * @since JSP 1.2
-	 */
-	String getSmallIcon();
-
-	/**
-	 * The name of the tag handler class implementing
-	 * javax.servlet.jsp.tagext.Tag
-	 * 
-	 * @since JSP 1.1
-	 */
-	String getTagclass();
-
-	/**
-	 * The name of an optional subclass of
-	 * javax.servlet.jsp.tagext.TagExtraInfo
-	 * 
-	 * @since JSP 1.1
-	 */
-	String getTeiclass();
-
-	/**
-	 * @since JSP 1.2
-	 * @return List of TLDVariables
-	 */
-	List getVariables();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDFunction.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDFunction.java
deleted file mode 100644
index 917efa7..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDFunction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-import java.util.List;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-
-public interface TLDFunction {
-
-	String getClassName();
-	
-	String getDescription();
-
-	String getDisplayName();
-
-	String getExample();
-
-	List getExtensions();
-
-	String getIcon();
-
-	String getName();
-
-	CMDocument getOwnerDocument();
-
-	String getSignature();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDInitParam.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDInitParam.java
deleted file mode 100644
index 19ada72..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDInitParam.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-
-/**
- * A name/value pair as an initialization param along with a description
- * @since JSP 1.2
- */
-public interface TLDInitParam {
-	String getDescription();
-
-	/**
-	 * The param-name element contains the name of a parameter.
-	 */
-	String getName();
-
-	/**
-	 * The param-value element contains the name of a parameter.
-	 */
-	String getValue();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDListener.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDListener.java
deleted file mode 100644
index ecbd0f8..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-
-/**
- * Defines an optional event listener object to be instantiated and registered automatically
- * @since JSP 1.2
- */
-public interface TLDListener {
-	String getListenerClass();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDValidator.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDValidator.java
deleted file mode 100644
index 0463bc1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDValidator.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-import java.util.List;
-
-
-/**
- * Defines an optional validator that can be used to validate the conformance of a JSP page to using this tag library
- * @since JSP 1.2
- */
-public interface TLDValidator {
-	/**
-	 * @return List - a List of TLDInitParams
-	 */
-	List getInitParams();
-
-	String getValidatorClass();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDVariable.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDVariable.java
deleted file mode 100644
index ec10a92..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/TLDVariable.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-/**
- * Information on the scripting variables defined by this tag.
- * @since JSP 1.2
- */
-public interface TLDVariable {
-
-	/**
-	 * Whether the variable is declared or not, true is the default.
-	 */
-	boolean getDeclare();
-
-	String getDescription();
-
-	/**
-	 * The name of an attribute whose (translation time) value will give the name of the variable.
-	 */
-	String getNameFromAttribute();
-
-	/**
-	 * The variable name given as a constant
-	 */
-	String getNameGiven();
-	
-	/**
-	 * The scope of the scripting variable defined.
-	 */
-	String getScope();
-
-	/**
-	 * Name of the class of the variable, java.lang.String if null
-	 */
-	String getVariableClass();
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/URIResolverProvider.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/URIResolverProvider.java
deleted file mode 100644
index d11fa98..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contentmodel/tld/URIResolverProvider.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.contentmodel.tld;
-
-/**
- * @deprecated - will be removed in M4
- */
-
-import org.eclipse.wst.sse.core.util.URIResolver;
-
-public interface URIResolverProvider {
-
-	URIResolver getResolver();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contenttype/ContentTypeIdForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contenttype/ContentTypeIdForJSP.java
deleted file mode 100644
index a82ca33..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/contenttype/ContentTypeIdForJSP.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.contenttype;
-
-/**
- * This class, with its one field, is a convience to provide compile-time
- * safety when refering to a contentType ID. The value of the contenttype id
- * field must match what is specified in plugin.xml file.
- */
-
-public class ContentTypeIdForJSP {
-	/*
-	 * The value of the contenttype id field must match what is specified in
-	 * plugin.xml file. Note: this value is intentially not declared as final,
-	 * so it will not be inlined.
-	 */
-	public static String ContentTypeID_JSP = "org.eclipse.jst.jsp.core.jspsource"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/IJSPHeadContentDetector.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/IJSPHeadContentDetector.java
deleted file mode 100644
index 303c4e0..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/IJSPHeadContentDetector.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.encoding;
-
-import java.io.IOException;
-
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-
-public interface IJSPHeadContentDetector extends IDocumentCharsetDetector {
-	String getContentType() throws IOException;
-
-	String getLanguage() throws IOException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentHeadContentDetector.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentHeadContentDetector.java
deleted file mode 100644
index 491d4ef..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentHeadContentDetector.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * 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.encoding;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.contenttype.JSPResourceEncodingDetector;
-import org.eclipse.wst.sse.core.document.DocumentReader;
-
-/**
- * This class parses beginning portion of JSP file to get attributes in page
- * directiive
- *  
- */
-public class JSPDocumentHeadContentDetector extends JSPResourceEncodingDetector implements IJSPHeadContentDetector {
-
-	public JSPDocumentHeadContentDetector() {
-		super();
-	}
-
-	public void set(IDocument document) {
-		set(new DocumentReader(document, 0));
-
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentLoader.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentLoader.java
deleted file mode 100644
index 251fa02..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentLoader.java
+++ /dev/null
@@ -1,554 +0,0 @@
-/*******************************************************************************
- * 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.encoding;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveWatcherFactory;
-import org.eclipse.jst.jsp.core.internal.parser.JSPReParser;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.wst.common.encoding.CodedReaderCreator;
-import org.eclipse.wst.common.encoding.ContentTypeEncodingPreferences;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.sse.core.document.AbstractDocumentLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistry;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistryImpl;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.core.parser.JSPCapableParser;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.parser.TagMarker;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.Document;
-
-public class JSPDocumentLoader extends AbstractDocumentLoader {
-	private final static String DEFAULT_LANGUAGE = "java"; //$NON-NLS-1$
-	private final static String DEFAULT_MIME_TYPE = "text/html"; //$NON-NLS-1$
-	private final static String SPEC_DEFAULT_ENCODING = "ISO-8859-1"; //$NON-NLS-1$
-
-	protected static IFile getFileFor(IStructuredModel model) {
-		if (model == null)
-			return null;
-		String path = model.getBaseLocation();
-		if (path == null || path.length() == 0) {
-			Object id = model.getId();
-			if (id == null)
-				return null;
-			path = id.toString();
-		}
-		// TODO needs rework for linked resources
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IFile file = root.getFileForLocation(new Path(path));
-		return file;
-	}
-
-	private EmbeddedTypeRegistry fEmbeddedContentTypeRegistry;
-
-	public JSPDocumentLoader() {
-		super();
-	}
-
-	private void addNestablePrefix(JSPSourceParser parser, String tagName) {
-		TagMarker bm = new TagMarker(tagName);
-		parser.addNestablePrefix(bm);
-	}
-
-	synchronized public IEncodedDocument createNewStructuredDocument(IFile iFile) throws IOException, CoreException {
-		IStructuredDocument structuredDocument = null;
-		try {
-			structuredDocument = createCodedDocument(iFile);
-
-			EmbeddedTypeHandler embeddedType = getEmbeddedType(iFile);
-			if (embeddedType != null)
-				embeddedType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-
-			fFullPreparedReader.reset();
-			setDocumentContentsFromReader(structuredDocument, fFullPreparedReader);
-
-		}
-		finally {
-			if (fFullPreparedReader != null) {
-				fFullPreparedReader.close();
-			}
-		}
-		return structuredDocument;
-	}
-
-	private IStructuredDocument createCodedDocument(IFile iFile) throws CoreException, UnsupportedEncodingException, IOException {
-		IStructuredDocument structuredDocument = (IStructuredDocument) createNewStructuredDocument();
-
-		getCodedReaderCreator().set(iFile);
-
-		fFullPreparedReader = getCodedReaderCreator().getCodedReader();
-		fEncodingMemento = getCodedReaderCreator().getEncodingMemento();
-
-		structuredDocument.setEncodingMemento(getCodedReaderCreator().getEncodingMemento());
-
-		return structuredDocument;
-	}
-
-	public IEncodedDocument createNewStructuredDocument(String filename, InputStream inputStream) throws UnsupportedEncodingException, IOException {
-		if (filename == null && inputStream == null) {
-			throw new IllegalArgumentException("can not have both null filename and inputstream"); //$NON-NLS-1$
-		}
-		IEncodedDocument structuredDocument = createNewStructuredDocument();
-		CodedReaderCreator codedReaderCreator = new CodedReaderCreator();
-		try {
-			codedReaderCreator.set(filename, inputStream);
-			fFullPreparedReader = codedReaderCreator.getCodedReader();
-			fEncodingMemento = codedReaderCreator.getEncodingMemento();
-			structuredDocument.setEncodingMemento(fEncodingMemento);
-			// the fact that file is null means this method/code path is no
-			// good for JSP fragments
-			EmbeddedTypeHandler embeddedType = getEmbeddedType((IFile) null);
-			fFullPreparedReader.reset();
-			if (embeddedType != null)
-				embeddedType.initializeParser((JSPCapableParser) ((IStructuredDocument) structuredDocument).getParser());
-			setDocumentContentsFromReader(structuredDocument, fFullPreparedReader);
-		}
-		catch (CoreException e) {
-			// impossible in this context
-			throw new Error(e);
-		}
-		finally {
-			if (fFullPreparedReader != null) {
-				fFullPreparedReader.close();
-			}
-		}
-		return structuredDocument;
-
-	}
-
-	/**
-	 * Method getDefaultDocumentPartitioner.
-	 * 
-	 * @return IDocumentPartitioner
-	 */
-	public IDocumentPartitioner getDefaultDocumentPartitioner() {
-		return new StructuredTextPartitionerForJSP();
-	}
-
-	/**
-	 * Method getDefaultMimeType.
-	 * 
-	 * @return String
-	 */
-	private String getDefaultMimeType() {
-		return DEFAULT_MIME_TYPE;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.AbstractDumper#getDocumentEncodingDetector()
-	 */
-	public IDocumentCharsetDetector getDocumentEncodingDetector() {
-		if (fDocumentEncodingDetector == null) {
-			fDocumentEncodingDetector = new JSPDocumentHeadContentDetector();
-		}
-		return fDocumentEncodingDetector;
-	}
-
-	/**
-	 * Gets the embeddedContentTypeRegistry.
-	 * 
-	 * @return Returns a EmbeddedContentTypeRegistry
-	 */
-	private EmbeddedTypeRegistry getEmbeddedContentTypeRegistry() {
-		if (fEmbeddedContentTypeRegistry == null) {
-			fEmbeddedContentTypeRegistry = EmbeddedTypeRegistryImpl.getInstance();
-		}
-		return fEmbeddedContentTypeRegistry;
-	}
-
-	private EmbeddedTypeHandler getEmbeddedType(IStructuredModel model) {
-		Document doc = ((XMLModel) model).getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getAdapterFor(PageDirectiveAdapter.class);
-		EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
-		return embeddedHandler;
-	}
-
-	/**
-	 * Determine the MIME content type specified in a page directive. This
-	 * should appear "as early as possible in the JSP page" according to the
-	 * JSP v1.2 specification.
-	 */
-	private EmbeddedTypeHandler getEmbeddedType(IFile file) throws UnsupportedEncodingException, CoreException, IOException {
-		EmbeddedTypeHandler handler = null;
-		if (fFullPreparedReader == null) {
-			handler = getJSPDefaultEmbeddedType();
-		}
-		else {
-			String mimeType = null;
-
-			IDocumentCharsetDetector jspProvider = getDocumentEncodingDetector();
-			jspProvider.set(getFullPreparedReader());
-			if (jspProvider instanceof IJSPHeadContentDetector) {
-				mimeType = ((IJSPHeadContentDetector) jspProvider).getContentType();
-			}
-
-			EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-			if (mimeType == null || mimeType.length() == 0) {
-				handler = getJSPDefaultEmbeddedType();
-			}
-			else {
-				handler = reg.getTypeFor(mimeType);
-			}
-		}
-		return handler;
-	}
-
-	/**
-	 * For JSP files, text/html is the default content type. This may want
-	 * this different for types like jsv (jsp for voice xml) For now, hard
-	 * code to new instance. In future, should get instance from registry.
-	 * Specification cites HTML as the default contentType.
-	 */
-	private EmbeddedTypeHandler getJSPDefaultEmbeddedType() {
-		EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-		return reg.getTypeFor(getDefaultMimeType());
-	}
-
-	/**
-	 * Method getLanguage.
-	 * 
-	 * @param model
-	 * @return String
-	 */
-	private String getLanguage(IStructuredModel model) throws IOException {
-		String result = null;
-		// first check the model (document itself) to see if contains
-		result = getLanguageFromStructuredDocument(model.getStructuredDocument());
-		// Note: if model contains an unsupported
-		// language, we'll even return it,
-		// since who knows what future holds.
-
-		// always return something
-		if (result == null) {
-			result = DEFAULT_LANGUAGE;
-		}
-		return result;
-	}
-
-	/**
-	 * Method getLanguageFromStructuredDocument.
-	 * 
-	 * @param structuredDocument
-	 * @return String
-	 */
-	private String getLanguageFromStructuredDocument(IDocument document) throws IOException {
-		if (document == null)
-			return null;
-		String result = null;
-		// bascially same algorithm as get encoding or
-		// get content type from structuredDocument.
-		IJSPHeadContentDetector localHeadParser = (IJSPHeadContentDetector) getDocumentEncodingDetector();
-		// we can be assured that its already been
-		// parsed. If not call parseHeaderForPageDirective()
-		// before calling getLanguage;
-		localHeadParser.set(document);
-		result = localHeadParser.getLanguage();
-		return result;
-	}
-
-	public RegionParser getParser() {
-		// remember, the Loader
-		// will need to finish initialization of parser
-		// based on "embedded content"
-		JSPSourceParser parser = new JSPSourceParser();
-		// add default nestable tag list
-		addNestablePrefix(parser, JSP11Namespace.JSP_TAG_PREFIX);
-		return parser;
-	}
-
-	protected String getPreferredNewLineDelimiter() {
-		return ContentTypeEncodingPreferences.getPreferredNewLineDelimiter(ContentTypeIdForJSP.ContentTypeID_JSP);
-	}
-
-	/**
-	 * Specification cites ISO-8859-1/Latin-1 as the default charset.
-	 */
-	protected String getSpecDefaultEncoding() {
-		return SPEC_DEFAULT_ENCODING;
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void initCloneOfEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) throws IOException {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set
-		// yet,
-		// and all factories must have been set up also.
-		XMLModel domModel = (XMLModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		XMLDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		// because, even in the clone case, the model has been paritally
-		// intialized
-		// with
-		// the old embedded type (during createModel), we need to unitialize
-		// parts of it, based on the old (or default) ones
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		if (newEmbeddedContentType != null) {
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	/**
-	 * Method initEmbeddedType.
-	 */
-	private void initEmbeddedType(IStructuredModel model) {
-		initializeEmbeddedTypeFromDefault(model);
-	}
-
-	/**
-	 * Method initEmbeddedType.
-	 */
-	private void initEmbeddedType(IStructuredModel oldModel, IStructuredModel newModel) throws IOException {
-		EmbeddedTypeHandler existingEmbeddedType = getEmbeddedType(oldModel);
-		EmbeddedTypeHandler newEmbeddedContentType = existingEmbeddedType.newInstance();
-		if (existingEmbeddedType == null) {
-			initEmbeddedType(newModel);
-		}
-		else {
-			//initEmbeddedType(newModel);
-			initCloneOfEmbeddedType(newModel, existingEmbeddedType, newEmbeddedContentType);
-		}
-		setLanguageInPageDirective(newModel);
-	}
-
-	/**
-	 * This is "initialize" since is always assumes it hasn't been initalized
-	 * yet.
-	 */
-	private void initializeEmbeddedType(IStructuredModel model, EmbeddedTypeHandler embeddedContentType) {
-		// check program logic
-		Assert.isNotNull(embeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set
-		// yet,
-		// and all factories must have been set up also.
-		XMLModel domModel = (XMLModel) model;
-		XMLDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
-		embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		embeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: I don't think this attempted init counts for much.
-		// I think its always executed when model is very first
-		// being initialized, and doesn't even have content
-		// or an ID yet. I thought I'd leave, since it wouldn't
-		// hurt, in case its called in other circumstances.
-		//		String language = getLanguage(model);
-		//		pageDirectiveAdapter.setLanguage(language);
-	}
-
-	/**
-	 * This init method is for the case where we are creating an empty model,
-	 * which we always do.
-	 */
-	private void initializeEmbeddedTypeFromDefault(IStructuredModel model) {
-		EmbeddedTypeHandler embeddedContentType = getJSPDefaultEmbeddedType();
-		initializeEmbeddedType(model, embeddedContentType);
-	}
-
-	/**
-	 * This method must return a new instance of IStructuredDocument, that has
-	 * been initialized with appropriate parser. For many loaders, the
-	 * (default) parser used is known for any input. For others, the correct
-	 * parser (and its initialization) is normall dependent on the content of
-	 * the file. This no-argument method should assume "empty input" and would
-	 * therefore return the default parser for the default contentType. If the
-	 * parser is to handle tag libraries, it must have a TaglibSupport object
-	 * with a valid URIResolver and this IStructuredDocument attached to it
-	 * before the contents are set on the IStructuredDocument.
-	 */
-	protected IEncodedDocument newEncodedDocument() {
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(getParser());
-		((BasicStructuredDocument) structuredDocument).setReParser(new JSPReParser());
-		//		structuredDocument.setDocumentPartitioner(new
-		// JSPJavaDocumentPartioner());
-		// even though this is an "empty model" ... we want it to have at
-		// least
-		// the
-		// default embeddeded content type handler
-		EmbeddedTypeHandler embeddedType = getJSPDefaultEmbeddedType();
-		embeddedType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		return structuredDocument;
-	}
-
-	public IDocumentLoader newInstance() {
-		return new JSPDocumentLoader();
-	}
-
-	protected void preLoadAdapt(IStructuredModel structuredModel) {
-		XMLModel domModel = (XMLModel) structuredModel;
-		//
-		// document must have already been set for this to
-		// work.
-		Document document = domModel.getDocument();
-		Assert.isNotNull(document);
-		// if there is a model in the adapter, this will adapt it to
-		// first node. After that the PropagatingAdater spreads over the
-		// children being
-		// created. Each time that happends, a side effect is to
-		// also "spread" sprecific registered adapters,
-		// they two can propigate is needed.
-		// This 'get' causes first to be be attached.
-		PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// may make this easier to use in futue
-		propagatingAdapter.addAdaptOnCreateFactory(new PageDirectiveWatcherFactory());
-		// For JSPs, the ModelQueryAdapter must be "attached" to the document
-		// before content is set in the model, so taglib initization can
-		// take place.
-		((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		//
-		// 
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void reInitializeEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) throws IOException {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set
-		// yet,
-		// and all factories must have been set up also.
-		XMLModel domModel = (XMLModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		XMLDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getExistingAdapter(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(ModelQueryAdapter.class);
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// since 'document' is not recreated in this
-		// reinit path, we need to remove all adapters,
-		// except for the propagated adapters (including page
-		// directive adapter, and model query adapter).
-		// to accomplish this, we'll just remove all, then
-		// add back with a call to pre-load adapt.
-		// let clients decide to unload adapters from document
-		//		Collection oldAdapters = document.getAdapters();
-		//		Iterator oldAdaptersIterator = oldAdapters.iterator();
-		//		while (oldAdaptersIterator.hasNext()) {
-		//			INodeAdapter oldAdapter = (INodeAdapter)
-		// oldAdaptersIterator.next();
-		//			if (oldAdapter != pageDirectiveAdapter && oldAdapter !=
-		// propagatingAdapter && oldAdapter != modelQueryAdapter) {
-		//				// DO NOT remove directly!
-		//				// can change contents while in notifity loop!
-		//				//oldAdaptersIterator.remove();
-		//				document.removeAdapter(oldAdapter);
-		//			}
-		//		}
-		// DMW: I believe something like the following is needed,
-		// since releases cached adapters
-		//				if (document instanceof DocumentImpl) {
-		//					((DocumentImpl) document).releaseDocumentType();
-		//					((DocumentImpl) document).releaseStyleSheets();
-		//				}
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		//		// but still need to clear the page directive watchers, and let
-		// them
-		// be
-		// rediscovered (with new, accurate node as target)
-		//		pageDirectiveAdapter.clearPageWatchers();
-		if (newEmbeddedContentType != null) {
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	private void setLanguageInPageDirective(IStructuredModel newModel) throws IOException {
-		if (newModel instanceof XMLModel) {
-			XMLDocument document = ((XMLModel) newModel).getDocument();
-			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-			String language = getLanguage(newModel);
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java
deleted file mode 100644
index 290175d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePlugin.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * 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.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPIndexManager;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.wst.common.encoding.CommonCharsetNames;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class JSPCorePlugin extends Plugin {
-	//The shared instance.
-	private static JSPCorePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-
-	/**
-	 * The constructor.
-	 */
-	public JSPCorePlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static JSPCorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
-	 */
-	protected void initializeDefaultPluginPreferences() {
-		Preferences prefs = getDefault().getPluginPreferences();
-		// set model preference defaults
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
-		prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
-		prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
-		prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
-
-		prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
-
-		String defaultEnc = CommonModelPreferenceNames.UTF_8;
-		String systemEnc = System.getProperty("file.encoding");		 //$NON-NLS-1$
-		if (systemEnc != null) {
-			defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, CommonModelPreferenceNames.UTF_8);
-		}
-		prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
-		
-		prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
-		prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, CommonModelPreferenceNames.DEFAULT_TAB_WIDTH);
-
-		prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, true);
-		prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
-		prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
-		prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
-		prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
-
-		prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, true);
-		prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.UPPER);
-		prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		
-		// JSPIndexManager depends on TaglibController, so TaglibController
-		// should be started first
-		TaglibController.startup();
-		
-		// add JSPIndexManager to keep JSP Index up to date
-		// listening for IResourceChangeEvent.PRE_DELETE and IResourceChangeEvent.POST_CHANGE
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(JSPIndexManager.getInstance(), IResourceChangeEvent.POST_CHANGE);
-		
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5091
-		// makes sure IndexManager is aware of our indexes
-		JSPIndexManager.getInstance().saveIndexes();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		// stop listening
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(JSPIndexManager.getInstance());
-		// stop any searching/indexing
-		JSPSearchSupport.getInstance().setCanceled(true);
-		 
-		TaglibController.shutdown();
-		
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.jsp.core.internal.JSPCorePluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePluginResources.properties b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePluginResources.properties
deleted file mode 100644
index bfa64fe..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/JSPCorePluginResources.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-JSPSearchSupport.0=JSP Search indexing workspace
-JSPIndexManager.0=Updating JSP Index
-JSPIndexManager.1=Processing resource delta
-JSPIndexManager.2=JSP Indexer indexing {0} files
-JSPIndexManager.3=JSP Indexer indexing file {0}
-JSPIndexManager.4=JSP Indexer
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/Logger.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/Logger.java
deleted file mode 100644
index a35dcd0..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/Logger.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * 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.internal;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if desired,
- * the console. This class should only be used by classes in this plugin. Other
- * plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.jst.jsp.core"; //$NON-NLS-1$
-	
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-
-	public static final int OK = IStatus.OK; // 0
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int ERROR = IStatus.ERROR; // 4
-
-	public static final int OK_DEBUG = 200 + OK;
-	public static final int INFO_DEBUG = 200 + INFO;
-	public static final int WARNING_DEBUG = 200 + WARNING;
-	public static final int ERROR_DEBUG = 200 + ERROR;
-
-	/**
-	 * Adds message to log.
-	 * @param level severity level of the message (OK, INFO, WARNING, ERROR, OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message text to add to the log
-	 * @param exception exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * @param message text to print
-	 * @param category category of the message, to be compared with /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMContentWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMContentWrapperImpl.java
deleted file mode 100644
index 176e67f..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMContentWrapperImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-public class CMContentWrapperImpl extends CMNodeWrapperImpl implements CMContent {
-
-	private CMContent fCMContent = null;
-
-	/**
-	 * CMContentWrapper constructor comment.
-	 * @param prefix java.lang.String
-	 * @param node org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	public CMContentWrapperImpl(String prefix, org.eclipse.wst.common.contentmodel.CMContent node) {
-		super(prefix, node);
-		fCMContent = node;
-	}
-
-	/**
-	 * getMaxOccur method
-	 * @return int
-	 *
-	 * If -1, it's UNBOUNDED.
-	 */
-	public int getMaxOccur() {
-		return fCMContent.getMaxOccur();
-	}
-
-	/**
-	 * getMinOccur method
-	 * @return int
-	 *
-	 * If 0, it's OPTIONAL.
-	 * If 1, it's REQUIRED.
-	 */
-	public int getMinOccur() {
-		return fCMContent.getMinOccur();
-	}
-
-	public CMNode getOriginNode() {
-		return fCMContent;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMDocumentWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMDocumentWrapperImpl.java
deleted file mode 100644
index 111770d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMDocumentWrapperImpl.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel;
-
-
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNamespace;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.sse.core.contentmodel.CMNodeWrapper;
-
-public class CMDocumentWrapperImpl implements CMDocument, CMNodeWrapper {
-
-	class CMNamedNodeMapImpl implements CMNamedNodeMap {
-
-		protected Hashtable table = new Hashtable();
-
-		public CMNamedNodeMapImpl() {
-			super();
-		}
-
-		Hashtable getHashtable() {
-			return table;
-		}
-
-		public int getLength() {
-			return table.size();
-		}
-
-		public CMNode getNamedItem(String name) {
-			return (CMNode) table.get(name);
-		}
-
-		public CMNode item(int index) {
-			Object result = null;
-			int size = table.size();
-			if (index < size) {
-				Iterator values = iterator();
-				for (int i = 0; i <= index; i++) {
-					result = values.next();
-				}
-			}
-			return (CMNode) result;
-		}
-
-		public Iterator iterator() {
-			return table.values().iterator();
-		}
-
-		public void setNamedItem(String name, CMNode aNode) {
-			if (name != null && aNode != null)
-				table.put(name, aNode);
-		}
-	}
-
-	public class CMNamespaceImpl implements CMNamespace {
-		public String getNodeName() {
-			return CMDocumentWrapperImpl.this.getURI();
-		}
-
-		public int getNodeType() {
-			return CMNode.NAME_SPACE;
-		}
-
-		public String getPrefix() {
-			return CMDocumentWrapperImpl.this.getPrefix();
-		}
-
-		public Object getProperty(String property) {
-			return null;
-		}
-
-		public String getURI() {
-			return CMDocumentWrapperImpl.this.getURI();
-		}
-
-		public boolean supports(String feature) {
-			return false;
-		}
-	}
-
-	private CMDocument fDocument;
-	private CMNamedNodeMap fElements = null;
-	private CMNamedNodeMap fEntities = null;
-	private CMNamespace fNamespace = new CMNamespaceImpl();
-	private String fPrefix;
-	private String fURI;
-
-	public CMDocumentWrapperImpl(String newURI, String newPrefix, CMDocument tld) {
-		fURI = newURI;
-		fPrefix = newPrefix;
-		fDocument = tld;
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public CMDocument getDocument() {
-		return fDocument;
-	}
-
-	/**
-	 * getElements method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of ElementDeclaration
-	 */
-	public CMNamedNodeMap getElements() {
-		if (fElements == null) {
-			int length = getDocument().getElements().getLength();
-			CMNamedNodeMapImpl elements = new CMNamedNodeMapImpl();
-			for (int i = 0; i < length; i++) {
-				CMElementDeclaration ed = new CMElementDeclarationWrapperImpl(fPrefix, (CMElementDeclaration) getDocument().getElements().item(i));
-				elements.setNamedItem(ed.getNodeName(), ed);
-			}
-			fElements = elements;
-		}
-		return fElements;
-	}
-
-	/**
-	 * getEntities method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of EntityDeclaration
-	 */
-	public CMNamedNodeMap getEntities() {
-		if (fEntities == null) {
-			fEntities = getDocument().getEntities();
-		}
-		return fEntities;
-	}
-
-	/**
-	 * getNamespace method
-	 * @return CMNamespace
-	 */
-	public CMNamespace getNamespace() {
-		return fNamespace;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return getDocument().getNodeName();
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return getDocument().getNodeType();
-	}
-
-	public CMNode getOriginNode() {
-		return fDocument;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getPrefix() {
-		return fPrefix;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		return getDocument().getProperty(propertyName);
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getURI() {
-		return fURI;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		return getDocument().supports(propertyName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMElementDeclarationWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMElementDeclarationWrapperImpl.java
deleted file mode 100644
index 660eb8f..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMElementDeclarationWrapperImpl.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-public class CMElementDeclarationWrapperImpl extends CMNodeWrapperImpl implements CMElementDeclaration {
-	private CMContent fCMContent = null;
-
-	protected CMElementDeclaration fElementDecl = null;
-
-	/**
-	 * CMElementDeclarationWrapper constructor comment.
-	 * @param prefix java.lang.String
-	 * @param node org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	public CMElementDeclarationWrapperImpl(String prefix, CMElementDeclaration node) {
-		super(prefix, node);
-		fElementDecl = node;
-	}
-
-	/**
-	 * getAttributes method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of AttributeDeclaration
-	 */
-	public CMNamedNodeMap getAttributes() {
-		return fElementDecl.getAttributes();
-	}
-
-	/**
-	 * getCMContent method
-	 * @return CMContent
-	 *
-	 * Returns the root node of this element's content model.
-	 * This can be an CMElementDeclaration or a CMGroup
-	 */
-	public CMContent getContent() {
-		if (fCMContent == null) {
-			CMContent content = fElementDecl.getContent();
-			if (content == null)
-				return null;
-			if (content instanceof CMGroup)
-				fCMContent = new CMGroupWrapperImpl(fPrefix, (CMGroup) content);
-			else
-				fCMContent = new CMContentWrapperImpl(fPrefix, content);
-		}
-		return fCMContent;
-	}
-
-	/**
-	 * getContentType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA.
-	 */
-	public int getContentType() {
-		return fElementDecl.getContentType();
-	}
-
-	/**
-	 * getDataType method
-	 * @return java.lang.String
-	 */
-	public CMDataType getDataType() {
-		return fElementDecl.getDataType();
-	}
-
-	/**
-	 * getElementName method
-	 * @return java.lang.String
-	 */
-	public String getElementName() {
-		return getNodeName();
-	}
-
-	/**
-	 * getLocalElements method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns a list of locally defined elements.
-	 */
-	public CMNamedNodeMap getLocalElements() {
-		return fElementDecl.getLocalElements();
-	}
-
-	/**
-	 * getMaxOccur method
-	 * @return int
-	 *
-	 * If -1, it's UNBOUNDED.
-	 */
-	public int getMaxOccur() {
-		return fElementDecl.getMaxOccur();
-	}
-
-	/**
-	 * getMinOccur method
-	 * @return int
-	 *
-	 * If 0, it's OPTIONAL.
-	 * If 1, it's REQUIRED.
-	 */
-	public int getMinOccur() {
-		return fElementDecl.getMinOccur();
-	}
-
-	public CMNode getOriginNode() {
-		return fElementDecl;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMGroupWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMGroupWrapperImpl.java
deleted file mode 100644
index d931e68..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMGroupWrapperImpl.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-
-public class CMGroupWrapperImpl extends CMContentWrapperImpl implements CMGroup {
-	class CMNodeListImpl implements CMNodeList {
-		private List nodes = null;
-
-		/**
-		 * CMNodeListImpl constructor comment.
-		 */
-		public CMNodeListImpl() {
-			super();
-			nodes = new ArrayList();
-		}
-
-		/**
-		 * @return org.eclipse.wst.common.contentmodel.CMNode
-		 * @param node org.eclipse.wst.common.contentmodel.CMNode
-		 */
-		public void appendItem(CMNode node) {
-			nodes.add(node);
-		}
-
-		/**
-		 * getLength method
-		 * @return int
-		 */
-		public int getLength() {
-			return nodes.size();
-		}
-
-		/**
-		 * item method
-		 * @return CMNode
-		 * @param index int
-		 */
-		public CMNode item(int index) {
-			if (index < 0 || index >= nodes.size())
-				return null;
-			return (CMNode) nodes.get(index);
-		}
-	}
-
-	private CMNodeList fChildNodes = null;
-	private CMGroup fGroup = null;
-
-	/**
-	 * CMGroupWrapper constructor comment.
-	 * @param prefix java.lang.String
-	 * @param node org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	public CMGroupWrapperImpl(String prefix, CMGroup node) {
-		super(prefix, node);
-	}
-
-	/**
-	 * getChildNodes method
-	 * @return CMNodeList
-	 *
-	 * Returns child CMNodeList, which includes ElementDefinition or CMElement.
-	 */
-	public CMNodeList getChildNodes() {
-		if (fChildNodes == null) {
-			CMNodeListImpl childNodes = new CMNodeListImpl();
-			CMNodeList children = fGroup.getChildNodes();
-			for (int i = 0; i < children.getLength(); i++) {
-				CMNode child = children.item(i);
-				if (child instanceof CMGroup)
-					childNodes.appendItem(new CMGroupWrapperImpl(fPrefix, (CMGroup) child));
-				else if (child instanceof CMElementDeclaration)
-					childNodes.appendItem(new CMElementDeclarationWrapperImpl(fPrefix, (CMElementDeclaration) child));
-				else
-					// error?
-					childNodes.appendItem(new CMNodeWrapperImpl(fPrefix, child));
-			}
-			fChildNodes = childNodes;
-		}
-		return fChildNodes;
-	}
-
-	/**
-	 * getOperation method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ALONE (a), SEQUENCE (a,b), CHOICE (a|b), ALL (a&b).
-	 */
-	public int getOperator() {
-		return fGroup.getOperator();
-	}
-
-	public CMNode getOriginNode() {
-		return fGroup;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMNodeWrapperImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMNodeWrapperImpl.java
deleted file mode 100644
index b2cf953..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/CMNodeWrapperImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.sse.core.contentmodel.CMNodeWrapper;
-
-public class CMNodeWrapperImpl implements CMNode, CMNodeWrapper {
-	private CMNode fNode = null;
-	private String fNodeName = null;
-
-	protected String fPrefix = null;
-
-	/**
-	 * CMNodeWrapper constructor comment.
-	 */
-	public CMNodeWrapperImpl(String prefix, CMNode node) {
-		super();
-		fPrefix = prefix;
-		fNode = node;
-
-		fNodeName = fPrefix + ":" + fNode.getNodeName(); //$NON-NLS-1$
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return fNodeName;
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return fNode.getNodeType();
-	}
-
-	public CMNode getOriginNode() {
-		return fNode;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		return fNode.getProperty(propertyName);
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		return fNode.supports(propertyName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibIndexListener.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibIndexListener.java
deleted file mode 100644
index 25c3a11..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibIndexListener.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-
-public interface ITaglibIndexListener {
-	void indexChanged(ITaglibRecordEvent event);
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecord.java
deleted file mode 100644
index 4a42318..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecord.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-public interface ITaglibRecord {
-	short JAR = 1 << 2;
-	short TAGDIR = 1 << 4;
-	short TLD = 1 << 1;
-	short URL = 1;
-	short WEB_XML = 1 << 3;
-
-	short getRecordType();
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecordEvent.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecordEvent.java
deleted file mode 100644
index eede580..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ITaglibRecordEvent.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-public interface ITaglibRecordEvent {
-	ITaglibRecord getTaglibRecord();
-
-	short getType();
-
-	short ADD = 1;
-	short CHANGE = 1 << 1;
-	short REMOVE = 1 << 2;
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JSPCMDocumentFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JSPCMDocumentFactory.java
deleted file mode 100644
index 637fcce..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JSPCMDocumentFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNamespace;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.sse.core.contentmodel.CMDocType;
-
-/**
- * CMDocument factory for JSP documents.
- */
-public final class JSPCMDocumentFactory {
-
-	static class CMDocImpl implements CMDocument {
-		public CMDocImpl() {
-			super();
-		}
-
-		private static CMDocument jcm = HTMLCMDocumentFactory.getCMDocument(CMDocType.JSP11_DOC_TYPE);
-
-		public String getNodeName() {
-			return jcm.getNodeName();
-		}
-
-		public int getNodeType() {
-			return jcm.getNodeType();
-		}
-
-		public CMNamedNodeMap getElements() {
-			return jcm.getElements();
-		}
-
-		public CMNamedNodeMap getEntities() {
-			return jcm.getEntities();
-		}
-
-		public CMNamespace getNamespace() {
-			return jcm.getNamespace();
-		}
-
-		public Object getProperty(String propertyName) {
-			return null;
-		}
-
-		public boolean supports(String propertyName) {
-			return false;
-		}
-	}
-
-	private static CMDocument mycm;
-
-	private JSPCMDocumentFactory() {
-		super();
-	}
-
-	public static CMDocument getCMDocument() {
-		if (mycm == null) {
-			mycm = new CMDocImpl();
-		}
-		return mycm;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JarRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JarRecord.java
deleted file mode 100644
index 6cb4124..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/JarRecord.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-
-
-public class JarRecord implements ITaglibRecord {
-	IPath location;
-	List urlRecords;
-
-	public short getRecordType() {
-		return ITaglibRecord.JAR;
-	}
-
-	/**
-	 * @return Returns the location.
-	 */
-	public IPath getLocation() {
-		return location;
-	}
-
-	/**
-	 * 
-	 */
-	public List getURLRecords() {
-		return urlRecords;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ProjectDescription.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ProjectDescription.java
deleted file mode 100644
index acb1bd2..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ProjectDescription.java
+++ /dev/null
@@ -1,717 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-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.contentmodel.tld.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.util.DocumentProvider;
-import org.eclipse.wst.sse.core.util.JarUtilities;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-class ProjectDescription {
-
-	class DeltaVisitor implements IResourceDeltaVisitor {
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			if (delta.getResource().getType() == IResource.FILE) {
-				if (delta.getResource().getName().endsWith(".tld")) {
-					if (delta.getKind() == IResourceDelta.REMOVED) {
-						removeTLD(delta.getResource());
-					}
-					else {
-						addTLD(delta.getResource());
-					}
-				}
-				else if (delta.getResource().getName().endsWith(".jar")) {
-					if (delta.getKind() == IResourceDelta.REMOVED) {
-						removeJAR(delta.getResource());
-					}
-					else {
-						addJAR(delta.getResource());
-					}
-				}
-				else if (delta.getResource().getName().endsWith(".tag") || delta.getResource().getName().endsWith(".tagx")) {
-					if (delta.getKind() == IResourceDelta.REMOVED) {
-						removeTagDir(delta.getResource());
-					}
-					else {
-						addTagDir(delta.getResource());
-					}
-				}
-				else if (delta.getResource().getName().equals(WEB_XML) && delta.getResource().getParent().getName().equals(WEB_INF)) {
-					if (delta.getKind() == IResourceDelta.REMOVED) {
-						removeServlets(delta.getResource());
-					}
-					else {
-						addServlets(delta.getResource());
-					}
-				}
-			}
-			return true;
-		}
-	}
-
-	class Indexer implements IResourceProxyVisitor {
-		public boolean visit(IResourceProxy proxy) throws CoreException {
-			if (proxy.getType() == IResource.FILE) {
-				if (proxy.getName().endsWith(".tld")) {
-					addTLD(proxy.requestResource());
-				}
-				else if (proxy.getName().endsWith(".jar")) {
-					addJAR(proxy.requestResource());
-				}
-				else if (proxy.getName().endsWith(".tag") || proxy.getName().endsWith(".tagx")) {
-					addTagDir(proxy.requestResource());
-				}
-				else if (proxy.getName().equals(WEB_XML) && proxy.requestResource().getParent().getName().equals(WEB_INF)) {
-					addServlets(proxy.requestResource());
-				}
-			}
-			return true;
-		}
-	}
-
-	class TaglibRecordEvent implements ITaglibRecordEvent {
-		ITaglibRecord fTaglibRecord = null;
-		short fType = -1;
-
-		TaglibRecordEvent(ITaglibRecord record, short type) {
-			fTaglibRecord = record;
-			fType = type;
-		}
-
-		public ITaglibRecord getTaglibRecord() {
-			return fTaglibRecord;
-		}
-
-		public short getType() {
-			return fType;
-		}
-	}
-
-	static boolean _debugIndexCreation = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/taglib/indexcreation"));
-	static boolean _debugIndexTime = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/taglib/indextime"));
-
-	private static final String WEB_INF = "WEB-INF";
-
-	private static final IPath WEB_INF_PATH = new Path("WEB-INF");
-	private static final String WEB_XML = "web.xml";
-
-	/*
-	 * Records active JARs on the classpath. Taglib descriptors should be
-	 * usable, but the jars by themselves should not.
-	 */
-	Hashtable fClasspathJars;
-
-	// holds references by URI to TLDs
-	Hashtable fClasspathReferences;
-
-	// this table is special in that it holds tables of references according
-	// to local roots
-	Hashtable fImplicitReferences;
-	Hashtable fJARReferences;
-	IProject fProject;
-
-	Stack fProjectStack = null;
-	Hashtable fServletReferences;
-	Hashtable fTagDirReferences;
-
-	Hashtable fTLDReferences;
-
-	IResourceDeltaVisitor fVisitor;
-
-	private long time0;
-
-	ProjectDescription(IProject project) {
-		super();
-		fProject = project;
-		fClasspathReferences = new Hashtable(0);
-		fClasspathJars = new Hashtable(0);
-		fJARReferences = new Hashtable(0);
-		fTagDirReferences = new Hashtable(0);
-		fTLDReferences = new Hashtable(0);
-		fServletReferences = new Hashtable(0);
-		fImplicitReferences = new Hashtable(0);
-	}
-
-	void addClasspathLibrary(String libraryLocation) {
-		String[] entries = JarUtilities.getEntryNames(libraryLocation);
-		JarRecord libraryRecord = (JarRecord) createJARRecord(libraryLocation);
-		fClasspathJars.put(libraryLocation, libraryRecord);
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].endsWith(".tld")) {
-				InputStream contents = JarUtilities.getInputStream(libraryLocation, entries[i]);
-				if (contents != null) {
-					String uri = extractURI(libraryLocation, contents);
-					if (uri != null && uri.length() > 0) {
-						URLRecord record = new URLRecord();
-						record.uri = uri;
-						record.baseLocation = libraryLocation;
-						try {
-							record.url = new URL("jar:file:" + libraryLocation + "!/" + entries[i]);
-							libraryRecord.urlRecords.add(record);
-							fClasspathReferences.put(uri, record);
-							if (_debugIndexCreation)
-								System.out.println("created record for " + uri + "@" + record.getURL());
-						}
-						catch (MalformedURLException e) {
-							// don't record this URI
-							Logger.logException(e);
-						}
-					}
-					try {
-						contents.close();
-					}
-					catch (IOException e) {
-					}
-				}
-			}
-		}
-		TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(libraryRecord, ITaglibRecordEvent.ADD));
-	}
-
-	void addJAR(IResource jar) {
-		if (_debugIndexCreation)
-			System.out.println("creating records for JAR " + jar.getFullPath());
-		String jarLocationString = jar.getLocation().toString();
-		String[] entries = JarUtilities.getEntryNames(jar);
-		JarRecord jarRecord = (JarRecord) createJARRecord(jar);
-		fJARReferences.put(jar.getFullPath().toString(), jarRecord);
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].endsWith(".tld")) {
-				InputStream contents = JarUtilities.getInputStream(jar, entries[i]);
-				if (contents != null) {
-					String uri = extractURI(jarLocationString, contents);
-					if (uri != null && uri.length() > 0) {
-						URLRecord record = new URLRecord();
-						record.uri = uri;
-						record.baseLocation = jarLocationString;
-						try {
-							record.url = new URL("jar:file:" + jarLocationString + "!/" + entries[i]);
-							jarRecord.urlRecords.add(record);
-							getImplicitReferences(jar.getLocation().toString()).put(uri, record);
-							if (_debugIndexCreation)
-								System.out.println("created record for " + uri + "@" + record.getURL());
-						}
-						catch (MalformedURLException e) {
-							// don't record this URI
-							Logger.logException(e);
-						}
-					}
-					try {
-						contents.close();
-					}
-					catch (IOException e) {
-					}
-				}
-			}
-		}
-		TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(jarRecord, ITaglibRecordEvent.ADD));
-	}
-
-	void addServlets(IResource webxml) {
-		if (webxml.getType() != IResource.FILE)
-			return;
-		InputStream webxmlContents = null;
-		Document document = null;
-		try {
-			webxmlContents = ((IFile) webxml).getContents(true);
-			DocumentProvider provider = new DocumentProvider();
-			provider.setInputStream(webxmlContents);
-			provider.setValidating(false);
-			provider.setBaseReference(webxml.getParent().getLocation().toString());
-			document = provider.getDocument();
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-		finally {
-			if (webxmlContents != null)
-				try {
-					webxmlContents.close();
-				}
-				catch (IOException e1) {
-					// ignore
-				}
-		}
-		if (document == null)
-			return;
-		if (_debugIndexCreation)
-			System.out.println("creating records for " + webxml.getFullPath());
-
-		ServletRecord servletRecord = new ServletRecord();
-		servletRecord.location = webxml.getLocation();
-		fServletReferences.put(servletRecord.getWebXML().toString(), servletRecord);
-		NodeList taglibs = document.getElementsByTagName(JSP12TLDNames.TAGLIB);
-		for (int i = 0; i < taglibs.getLength(); i++) {
-			String uri = readTextofChild(taglibs.item(i), "taglib-uri");
-			// specified location is relative to root of the webapp
-			String location = readTextofChild(taglibs.item(i), "taglib-location");
-			TLDRecord record = new TLDRecord();
-			record.uri = uri;
-			if (location.startsWith("/")) {
-				record.location = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(getLocalRoot(webxml.getLocation().toString()) + location);
-			}
-			else {
-				record.location = new Path(URIHelper.normalize(location, webxml.getLocation().toString(), getLocalRoot(webxml.getLocation().toString())));
-			}
-			servletRecord.tldRecords.add(record);
-			getImplicitReferences(webxml.getLocation().toString()).put(uri, record);
-			if (_debugIndexCreation)
-				System.out.println("created record for " + uri + "@" + record.location);
-		}
-		TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(servletRecord, ITaglibRecordEvent.ADD));
-	}
-
-	void addTagDir(IResource tagFile) {
-		return;
-		/**
-		 * Make sure the tag file is n a WEB-INF/tags folder because of the
-		 * shortname computation requirements
-		 */
-		// if ((tagFile.getType() & IResource.FOLDER) > 0 ||
-		// tagFile.getFullPath().toString().indexOf("WEB-INF/tags") < 0)
-		// return;
-		// TagDirRecord record = createTagdirRecord(tagFile);
-		// if (record != null) {
-		// record.tags.add(tagFile.getName());
-		// }
-	}
-
-	void addTLD(IResource tld) {
-		if (_debugIndexCreation)
-			System.out.println("creating record for " + tld.getFullPath());
-		TLDRecord record = createTLDRecord(tld);
-		fTLDReferences.put(tld.getFullPath().toString(), record);
-		if (record.uri != null) {
-			getImplicitReferences(tld.getLocation().toString()).put(record.uri, record);
-		}
-		TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, ITaglibRecordEvent.ADD));
-	}
-
-	void clear() {
-	}
-
-	/**
-	 * @param resource
-	 * @return
-	 */
-	private ITaglibRecord createJARRecord(IResource jar) {
-		return createJARRecord(jar.getLocation().toString());
-	}
-
-	private ITaglibRecord createJARRecord(String fileLocation) {
-		JarRecord record = new JarRecord();
-		record.location = new Path(fileLocation);
-		record.urlRecords = new ArrayList(0);
-		return record;
-	}
-
-	/**
-	 * @return
-	 */
-	TagDirRecord createTagdirRecord(IResource tagFile) {
-		IContainer tagdir = tagFile.getParent();
-		String tagdirLocation = tagdir.getFullPath().toString();
-		TagDirRecord record = (TagDirRecord) fTagDirReferences.get(tagdirLocation);
-		if (record == null) {
-			record = new TagDirRecord();
-			record.location = tagdir.getFullPath();
-			// JSP 2.0 section 8.4.3
-			if (tagdir.getName().equals("tags"))
-				record.shortName = "tags";
-			else {
-				IPath tagdirPath = tagdir.getFullPath();
-				String[] segments = tagdirPath.segments();
-				for (int i = 1; record.shortName == null && i < segments.length; i++) {
-					if (segments[i - 1].equals("WEB-INF") && segments[i].equals("tags")) {
-						IPath tagdirLocalPath = tagdirPath.removeFirstSegments(i + 1);
-						record.shortName = tagdirLocalPath.toString().replace('/', '-');
-					}
-				}
-			}
-
-		}
-		return record;
-	}
-
-	/**
-	 * @param resource
-	 * @return
-	 */
-	private TLDRecord createTLDRecord(IResource tld) {
-		TLDRecord record = new TLDRecord();
-		record.location = tld.getLocation();
-		InputStream contents = null;
-		try {
-			contents = ((IFile) tld).getContents(true);
-			String baseLocation = record.location.toString();
-			String defaultURI = extractURI(baseLocation, contents);
-			if (defaultURI != null && defaultURI.length() > 0) {
-				record.uri = defaultURI;
-			}
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-		finally {
-			try {
-				if (contents != null) {
-					contents.close();
-				}
-			}
-			catch (IOException e) {
-				// ignore
-			}
-		}
-		return record;
-	}
-
-	/**
-	 * @param tldContents
-	 * @return
-	 */
-	private String extractURI(String baseLocation, InputStream tldContents) {
-		StringBuffer uri = new StringBuffer();
-		Node result = null;
-		DocumentProvider provider = new DocumentProvider();
-		provider.setInputStream(tldContents);
-		provider.setValidating(false);
-		provider.setRootElementName(JSP12TLDNames.TAGLIB);
-		provider.setBaseReference(baseLocation);
-		result = provider.getRootElement();
-		if (result.getNodeType() != Node.ELEMENT_NODE)
-			return null;
-		Element taglibElement = (Element) result;
-		if (taglibElement != null) {
-			Node child = taglibElement.getFirstChild();
-			while (child != null && !(child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equals(JSP12TLDNames.URI))) {
-				child = child.getNextSibling();
-			}
-			if (child != null) {
-				Node text = child.getFirstChild();
-				while (text != null) {
-					if (text.getNodeType() == Node.TEXT_NODE || text.getNodeType() == Node.CDATA_SECTION_NODE) {
-						uri.append(text.getNodeValue());
-					}
-					text = text.getNextSibling();
-				}
-			}
-		}
-		return uri.toString();
-	}
-
-	synchronized List getAvailableTaglibRecords(IPath location) {
-		Collection implicitReferences = getImplicitReferences(location.toString()).values();
-		List records = new ArrayList(fTLDReferences.size() + fTagDirReferences.size() + fJARReferences.size() + fServletReferences.size());
-		records.addAll(fTLDReferences.values());
-		records.addAll(fTagDirReferences.values());
-		records.addAll(fJARReferences.values());
-		records.addAll(fServletReferences.values());
-		records.addAll(implicitReferences);
-		return records;
-	}
-
-	/**
-	 * @return Returns the implicitReferences for the given path
-	 */
-	Hashtable getImplicitReferences(String location) {
-		String localRoot = getLocalRoot(location);
-		Hashtable implicitReferences = (Hashtable) fImplicitReferences.get(localRoot);
-		if (implicitReferences == null) {
-			implicitReferences = new Hashtable(1);
-			fImplicitReferences.put(localRoot, implicitReferences);
-		}
-		return implicitReferences;
-	}
-
-	/**
-	 * @param baseLocation
-	 * @return the applicable Web context root path, if one exists
-	 */
-	IPath getLocalRoot(IPath baseLocation) {
-		IResource file = FileBuffers.getWorkspaceFileAtLocation(baseLocation);
-		while (file != null) {
-			/**
-			 * Treat any parent folder with a WEB-INF subfolder as a web-app
-			 * root
-			 */
-			IContainer folder = null;
-			if ((file.getType() & IResource.FOLDER) != 0) {
-				folder = (IContainer) file;
-			}
-			else {
-				folder = file.getParent();
-			}
-			// getFolder on a workspace root must use a full path, skip
-			if (folder != null && (folder.getType() & IResource.ROOT) == 0) {
-				IFolder webinf = folder.getFolder(WEB_INF_PATH);
-				if (webinf != null && webinf.exists()) {
-					return folder.getFullPath();
-				}
-			}
-			file = file.getParent();
-		}
-
-		return fProject.getFullPath();
-	}
-
-	/**
-	 * @param baseLocation
-	 * @return
-	 */
-	private String getLocalRoot(String baseLocation) {
-		return getLocalRoot(new Path(baseLocation)).toString();
-	}
-
-	/**
-	 * @return Returns the visitor.
-	 */
-	IResourceDeltaVisitor getVisitor() {
-		if (fVisitor == null) {
-			fVisitor = new DeltaVisitor();
-		}
-		return fVisitor;
-	}
-
-	void index() {
-		time0 = System.currentTimeMillis();
-		fTLDReferences.clear();
-		fJARReferences.clear();
-		fTagDirReferences.clear();
-		fServletReferences.clear();
-		try {
-			fProject.accept(new Indexer(), 0);
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-
-		if (_debugIndexTime)
-			System.out.println("indexed " + fProject.getName() + " in " + (System.currentTimeMillis() - time0) + "ms");
-	}
-
-	void indexClasspath() {
-		time0 = System.currentTimeMillis();
-		fProjectStack = new Stack();
-		fClasspathReferences.clear();
-		IJavaProject javaProject = JavaCore.create(fProject);
-		indexClasspath(javaProject);
-		if (_debugIndexTime)
-			System.out.println("indexed " + fProject.getName() + " classpath in " + (System.currentTimeMillis() - time0) + "ms");
-	}
-
-	/**
-	 * @param javaProject
-	 */
-	private void indexClasspath(IJavaProject javaProject) {
-		if (javaProject != null && javaProject.exists()) {
-			fProjectStack.push(javaProject.getElementName());
-			try {
-				IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
-				for (int i = 0; i < entries.length; i++) {
-					IClasspathEntry entry = entries[i];
-					switch (entry.getEntryKind()) {
-						case IClasspathEntry.CPE_CONTAINER :
-							break;
-						case IClasspathEntry.CPE_LIBRARY : {
-							/*
-							 * Ignore libs in required projects that are not
-							 * exported
-							 */
-							if (fProjectStack.size() < 2 || entry.isExported()) {
-								IPath libPath = entry.getPath();
-								if (libPath.toFile().exists()) {
-									addClasspathLibrary(libPath.toString());
-								}
-								else {
-									IFile libFile = ResourcesPlugin.getWorkspace().getRoot().getFile(libPath);
-									if (libFile != null && libFile.exists()) {
-										addClasspathLibrary(libFile.getLocation().toString());
-									}
-								}
-							}
-						}
-							break;
-						case IClasspathEntry.CPE_PROJECT : {
-							/*
-							 * Ignore required projects of required projects
-							 * that are not exported
-							 */
-							if (fProjectStack.size() < 2 || entry.isExported()) {
-								IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(entry.getPath().lastSegment());
-								if (project != null && !fProjectStack.contains(project.getName())) {
-									indexClasspath(JavaCore.create(project));
-								}
-							}
-						}
-							break;
-						case IClasspathEntry.CPE_SOURCE :
-							break;
-						case IClasspathEntry.CPE_VARIABLE :
-							break;
-					}
-				}
-			}
-			catch (JavaModelException e) {
-				Logger.logException("Error searching Java Build Path + (" + fProject.getName() + ") for tag libraries", e);
-			}
-			fProjectStack.pop();
-		}
-	}
-
-	protected String readTextofChild(Node node, String childName) {
-		StringBuffer buffer = new StringBuffer();
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equals(childName)) {
-				Node text = child.getFirstChild();
-				while (text != null) {
-					buffer.append(text.getNodeValue());
-					text = text.getNextSibling();
-				}
-			}
-		}
-		return buffer.toString();
-	}
-
-	void removeClasspathLibrary(String libraryLocation) {
-		JarRecord record = (JarRecord) fClasspathJars.remove(libraryLocation);
-		if (record != null) {
-			URLRecord[] records = (URLRecord[]) record.getURLRecords().toArray(new URLRecord[0]);
-			for (int i = 0; i < records.length; i++) {
-				fClasspathReferences.remove(records[i].getURI());
-			}
-			TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, ITaglibRecordEvent.REMOVE));
-		}
-	}
-
-	void removeJAR(IResource jar) {
-		if (_debugIndexCreation)
-			System.out.println("removing records for JAR " + jar.getFullPath());
-		JarRecord record = (JarRecord) fJARReferences.remove(jar.getFullPath());
-		if (record != null) {
-			URLRecord[] records = (URLRecord[]) record.getURLRecords().toArray(new URLRecord[0]);
-			for (int i = 0; i < records.length; i++) {
-				getImplicitReferences(jar.getLocation().toString()).remove(records[i].getURI());
-			}
-			TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, ITaglibRecordEvent.REMOVE));
-		}
-	}
-
-	void removeServlets(IResource webxml) {
-		if (_debugIndexCreation)
-			System.out.println("removing records for " + webxml.getFullPath());
-		ServletRecord record = (ServletRecord) fServletReferences.remove(webxml.getLocation().toString());
-		if (record != null) {
-			TLDRecord[] records = (TLDRecord[]) record.getTLDRecords().toArray(new TLDRecord[0]);
-			for (int i = 0; i < records.length; i++) {
-				if (_debugIndexCreation)
-					System.out.println("removed record for " + records[i].uri + "@" + records[i].location);
-				getImplicitReferences(webxml.getLocation().toString()).remove(records[i].getURI());
-			}
-			TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, ITaglibRecordEvent.REMOVE));
-		}
-	}
-
-	void removeTagDir(IResource tagFile) {
-		// IContainer tagdir = tagFile.getParent();
-		// String tagdirLocation = tagdir.getFullPath().toString();
-		// fTagDirReferences.remove(tagdirLocation);
-	}
-
-	void removeTLD(IResource tld) {
-		if (_debugIndexCreation)
-			System.out.println("removing record for " + tld.getFullPath());
-		TLDRecord record = (TLDRecord) fTLDReferences.remove(tld.getFullPath());
-		if (record != null) {
-			if (record.uri != null) {
-				getImplicitReferences(tld.getLocation().toString()).remove(record.uri);
-			}
-			TaglibIndex.fireTaglibRecordEvent(new TaglibRecordEvent(record, ITaglibRecordEvent.REMOVE));
-		}
-	}
-
-	/**
-	 * @param basePath
-	 * @param reference
-	 * @return
-	 */
-	ITaglibRecord resolve(String basePath, String reference) {
-		ITaglibRecord record = null;
-		String location = null;
-
-		/**
-		 * Workaround for problem in URIHelper; uris starting with '/' are
-		 * returned as-is.
-		 */
-		if (reference.startsWith("/")) {
-			location = getLocalRoot(basePath) + reference;
-		}
-		else {
-			location = URIHelper.normalize(reference, basePath, getLocalRoot(basePath));
-		}
-		// order dictated by JSP spec 2.0 section 7.2.3
-		if (record == null) {
-			record = (ITaglibRecord) fServletReferences.get(location);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) fJARReferences.get(location);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) fTLDReferences.get(location);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) getImplicitReferences(basePath).get(reference);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) fTagDirReferences.get(location);
-		}
-		if (record == null) {
-			record = (ITaglibRecord) fClasspathReferences.get(reference);
-		}
-		return record;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ServletRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ServletRecord.java
deleted file mode 100644
index 029406d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/ServletRecord.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-
-
-public class ServletRecord implements ITaglibRecord {
-	IPath location;
-	List tldRecords = new ArrayList(0);
-
-	public short getRecordType() {
-		return ITaglibRecord.WEB_XML;
-	}
-
-	/**
-	 * @return Returns the webxml.
-	 */
-	public IPath getWebXML() {
-		return location;
-	}
-
-	/**
-	 * 
-	 */
-	public List getTLDRecords() {
-		return tldRecords;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TLDRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TLDRecord.java
deleted file mode 100644
index ea077a9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TLDRecord.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-import org.eclipse.core.runtime.IPath;
-
-
-public class TLDRecord implements ITaglibRecord {
-	IPath location;
-	String uri;
-
-	public short getRecordType() {
-		return ITaglibRecord.TLD;
-	}
-
-	/**
-	 * @return Returns the filesystem location.
-	 */
-	public IPath getLocation() {
-		return location;
-	}
-
-	/**
-	 * @return Returns the uri.
-	 */
-	public String getURI() {
-		return uri;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TagDirRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TagDirRecord.java
deleted file mode 100644
index 2f504da..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TagDirRecord.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-
-
-public class TagDirRecord implements ITaglibRecord {
-	IPath location;
-	String shortName;
-	// a List holding Strings of .tag and .tagx filenames relative to the
-	// tagdir's location
-	List tags = new ArrayList(0);
-
-	/**
-	 * @return Returns the location.
-	 */
-	public IPath getLocation() {
-		return location;
-	}
-
-	public short getRecordType() {
-		return ITaglibRecord.TAGDIR;
-	}
-
-	/**
-	 * @return Returns the shortName.
-	 */
-	public String getShortName() {
-		return shortName;
-	}
-
-	/**
-	 * @return Returns the tags.
-	 */
-	public String[] getTags() {
-		return (String[]) tags.toArray(new String[tags.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibController.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibController.java
deleted file mode 100644
index f5cf363..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibController.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.IDocumentSetupParticipant;
-import org.eclipse.core.filebuffers.IFileBuffer;
-import org.eclipse.core.filebuffers.IFileBufferListener;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Assert;
-
-/**
- * Provides a direct mapping from IStructuredDocument to supporting
- * TLDCMDocumentManager.
- * 
- * Listens to the creation of JSP type TextFileBuffers and forces a text-less
- * reparse after connecting taglib-supporting listeners. Connecting the
- * listeners before the text is set would be ideal, but there is no way to
- * look up taglib references since the location is not yet knowable. Since
- * taglibs can affect the parsing of the document, a reparse is currently
- * required to react to custom tags with tagdependent content.
- * 
- * TODO: Remove the reparse penalty.
- */
-public class TaglibController implements IDocumentSetupParticipant {
-
-	class DocumentInfo {
-		IStructuredDocument document;
-		ITextFileBuffer textFileBuffer;
-		TLDCMDocumentManager tldDocumentManager;
-	}
-
-	class FileBufferListener implements IFileBufferListener {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferContentAboutToBeReplaced(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferContentAboutToBeReplaced(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferContentReplaced(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferContentReplaced(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferCreated(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferCreated(IFileBuffer buffer) {
-			if (buffer instanceof ITextFileBuffer) {
-				IDocument document = ((ITextFileBuffer) buffer).getDocument();
-				// ignore non-JSP documents
-				synchronized (fJSPdocuments) {
-					if (!fJSPdocuments.contains(document))
-						return;
-				}
-				Assert.isTrue(document instanceof IStructuredDocument, getClass().getName() + " SetupParticipant was called for non-IStructuredDocument");
-				DocumentInfo info = new DocumentInfo();
-				info.document = (IStructuredDocument) document;
-				info.textFileBuffer = (ITextFileBuffer) buffer;
-				info.tldDocumentManager = new TLDCMDocumentManager();
-				info.tldDocumentManager.setSourceParser((JSPSourceParser) info.document.getParser());
-				synchronized (fDocumentMap) {
-					fDocumentMap.put(document, info);
-				}
-				if (document instanceof BasicStructuredDocument) {
-					((BasicStructuredDocument) document).reparse(this);
-				}
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferDisposed(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferDisposed(IFileBuffer buffer) {
-			if (buffer instanceof ITextFileBuffer) {
-				IDocument document = ((ITextFileBuffer) buffer).getDocument();
-				synchronized (fJSPdocuments) {
-					if (!fJSPdocuments.remove(document))
-						return;
-				}
-			}
-			synchronized (fDocumentMap) {
-				Object[] keys = fDocumentMap.keySet().toArray();
-				boolean removed = false;
-				for (int i = 0; i < keys.length && !removed; i++) {
-					DocumentInfo info = (DocumentInfo) fDocumentMap.get(keys[i]);
-					if (info != null && info.textFileBuffer.equals(buffer)) {
-						fDocumentMap.remove(keys[i]);
-						removed = true;
-					}
-				}
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#dirtyStateChanged(org.eclipse.core.filebuffers.IFileBuffer,
-		 *      boolean)
-		 */
-		public void dirtyStateChanged(IFileBuffer buffer, boolean isDirty) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#stateChangeFailed(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void stateChangeFailed(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#stateChanging(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void stateChanging(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#stateValidationChanged(org.eclipse.core.filebuffers.IFileBuffer,
-		 *      boolean)
-		 */
-		public void stateValidationChanged(IFileBuffer buffer, boolean isStateValidated) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#underlyingFileDeleted(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void underlyingFileDeleted(IFileBuffer buffer) {
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#underlyingFileMoved(org.eclipse.core.filebuffers.IFileBuffer,
-		 *      org.eclipse.core.runtime.IPath)
-		 */
-		public void underlyingFileMoved(IFileBuffer buffer, IPath path) {
-		}
-
-
-	}
-
-	static TaglibController _instance = null;
-
-	public static ITextFileBuffer getFileBuffer(IDocument document) {
-		synchronized (_instance.fDocumentMap) {
-			DocumentInfo info = (DocumentInfo) _instance.fDocumentMap.get(document);
-			if (info != null)
-				return info.textFileBuffer;
-			return null;
-		}
-	}
-
-	/**
-	 * @param manager
-	 * @return
-	 */
-	public static ITextFileBuffer getFileBuffer(TLDCMDocumentManager manager) {
-		ITextFileBuffer buffer = null;
-		synchronized (_instance.fDocumentMap) {
-			Iterator docInfos = _instance.fDocumentMap.values().iterator();
-			while (docInfos.hasNext()) {
-				DocumentInfo info = (DocumentInfo) docInfos.next();
-				if (info.tldDocumentManager == manager)
-					buffer = info.textFileBuffer;
-			}
-		}
-		return buffer;
-	}
-
-	public static TLDCMDocumentManager getTLDCMDocumentManager(IDocument document) {
-		// if _instance is null, we are already shutting donw
-		if (_instance == null)
-			return null;
-		synchronized (_instance.fDocumentMap) {
-			DocumentInfo info = (DocumentInfo) _instance.fDocumentMap.get(document);
-			if (info != null)
-				return info.tldDocumentManager;
-			return null;
-
-		}
-	}
-
-	public static void shutdown() {
-		FileBuffers.getTextFileBufferManager().removeFileBufferListener(_instance.fBufferListener);
-		_instance = null;
-	}
-
-	public static void startup() {
-		_instance = new TaglibController();
-		FileBuffers.getTextFileBufferManager().addFileBufferListener(_instance.fBufferListener);
-	}
-
-	IFileBufferListener fBufferListener;
-	Map fDocumentMap;
-
-	List fJSPdocuments;
-
-	// This constructor is only to be called as part of the FileBuffer
-	// framework
-	public TaglibController() {
-		super();
-		fBufferListener = new FileBufferListener();
-		fJSPdocuments = new ArrayList(1);
-		fDocumentMap = new HashMap(1);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.filebuffers.IDocumentSetupParticipant#setup(org.eclipse.jface.text.IDocument)
-	 */
-	public void setup(IDocument document) {
-		synchronized (_instance.fJSPdocuments) {
-			_instance.fJSPdocuments.add(document);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibIndex.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibIndex.java
deleted file mode 100644
index b4462fe..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/TaglibIndex.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-/**
- * @author nitin
- * 
- * A non-extendable index manager for taglibs similar to the J2EE
- * ITaglibRegistry but lacking any ties to project natures.
- * 
- * Indexing is not persisted between sessions, so new ADD events will be sent
- * to ITaglibIndexListeners during each workbench session. REMOVE events are
- * not fired on workbench shutdown. Events for TAGDIR, JAR, and WEBXML type
- * records are only fired for the .jar and web.xml file itself. The record's
- * contents should be examined for any further information.
- */
-public class TaglibIndex {
-
-	class ClasspathChangeListener implements IElementChangedListener {
-		Stack projectStack = new Stack();
-
-		public void elementChanged(ElementChangedEvent event) {
-			projectStack.clear();
-			elementChanged(event.getDelta());
-		}
-
-		private void elementChanged(IJavaElementDelta delta) {
-			if (delta.getElement().getElementType() == IJavaElement.JAVA_MODEL) {
-				IJavaElementDelta[] changed = delta.getChangedChildren();
-				for (int i = 0; i < changed.length; i++) {
-					elementChanged(changed[i]);
-				}
-			}
-			else if (delta.getElement().getElementType() == IJavaElement.JAVA_PROJECT) {
-				if ((delta.getFlags() & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
-					IJavaElement proj = delta.getElement();
-					handleClasspathChange((IJavaProject) proj);
-				}
-			}
-		}
-
-		private void handleClasspathChange(IJavaProject project) {
-			projectStack.push(project.getElementName());
-			try {
-				/* Handle changes to this project's build path */
-				IResource resource = project.getCorrespondingResource();
-				if (resource.getType() == IResource.PROJECT) {
-					boolean classpathIndexIsOld = fProjectDescriptions.containsKey(resource);
-					ProjectDescription description = createDescription((IProject) resource);
-					if (classpathIndexIsOld) {
-						description.indexClasspath();
-					}
-				}
-				/*
-				 * Update indeces for projects who include this project in
-				 * their build path (e.g. toggling the "exportation" of a
-				 * taglib JAR in this project affects the JAR's visibility in
-				 * other projects)
-				 */
-				IJavaProject[] projects = project.getJavaModel().getJavaProjects();
-				for (int i = 0; i < projects.length; i++) {
-					IJavaProject otherProject = projects[i];
-					if (StringUtils.contains(otherProject.getRequiredProjectNames(), project.getElementName(), false) && !projectStack.contains(otherProject.getElementName())) {
-						handleClasspathChange(otherProject);
-					}
-				}
-			}
-			catch (JavaModelException e) {
-			}
-			projectStack.pop();
-		}
-	}
-
-	class ResourceChangeListener implements IResourceChangeListener {
-		public void resourceChanged(IResourceChangeEvent event) {
-			try {
-				// pair deltas with projects
-				IResourceDelta[] deltas = new IResourceDelta[]{event.getDelta()};
-				IProject[] projects = null;
-
-				if (deltas != null && deltas.length > 0) {
-					IResource resource = null;
-					if (deltas[0] != null) {
-						resource = deltas[0].getResource();
-					}
-					else {
-						resource = event.getResource();
-					}
-
-					if (resource != null) {
-						if (resource.getType() == IResource.ROOT) {
-							deltas = deltas[0].getAffectedChildren();
-							projects = new IProject[deltas.length];
-							for (int i = 0; i < deltas.length; i++) {
-								if (deltas[i].getResource().getType() == IResource.PROJECT) {
-									projects[i] = (IProject) deltas[i].getResource();
-								}
-							}
-						}
-						else {
-							projects = new IProject[1];
-							if (resource.getType() != IResource.PROJECT) {
-								projects[0] = resource.getProject();
-							}
-							else {
-								projects[0] = (IProject) resource;
-							}
-						}
-					}
-					for (int i = 0; i < projects.length; i++) {
-						try {
-							if (deltas[i] != null) {
-								ProjectDescription description = createDescription(projects[i]);
-								deltas[i].accept(description.getVisitor());
-							}
-							if (!projects[i].isAccessible()) {
-								ProjectDescription description = (ProjectDescription) fProjectDescriptions.remove(projects[i]);
-								if (description != null) {
-									description.clear();
-								}
-							}
-						}
-						catch (CoreException e) {
-							Logger.logException(e);
-						}
-					}
-				}
-			}
-			catch (Exception e) {
-				Logger.logException("Exception while processing resource change", e); //$NON-NLS-1$
-			}
-		}
-	}
-
-	static final boolean _debugChangeListener = false;
-	static final boolean _debugResolution = "true".equals(Platform.getDebugOption("org.eclipse.jst.jsp.core/taglib/resolve"));
-
-	static TaglibIndex _instance;
-
-	static {
-		_instance = new TaglibIndex();
-	}
-
-	static void fireTaglibRecordEvent(ITaglibRecordEvent event) {
-		ITaglibIndexListener[] listeners = _instance.fTaglibIndexListeners;
-		if (listeners != null) {
-			for (int i = 0; i < listeners.length; i++) {
-				try {
-					listeners[i].indexChanged(event);
-				}
-				catch (Exception e) {
-					Logger.log(Logger.WARNING, e.getMessage());
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns all of the visible ITaglibRecords for the given filepath in the
-	 * workspace.
-	 * 
-	 * @param workspacePath
-	 * @return
-	 */
-	public static ITaglibRecord[] getAvailableTaglibRecords(IPath workspacePath) {
-		ITaglibRecord[] records = _instance.internalGetAvailableTaglibRecords(workspacePath);
-		return records;
-	}
-
-	public static IPath getContextRoot(IPath path) {
-		return _instance.internalGetContextRoot(path);
-	}
-
-	public static void removeTaglibIndexListener(ITaglibIndexListener listener) {
-		_instance.internalRemoveTaglibIndexListener(listener);
-	}
-
-	/**
-	 * Find a matching ITaglibRecord given the reference.
-	 * 
-	 * @param basePath -
-	 *            the workspace-relative path for IResources, full filesystem
-	 *            path otherwise
-	 * @param reference
-	 * @param crossProjects
-	 * @return
-	 */
-	public static ITaglibRecord resolve(String basePath, String reference, boolean crossProjects) {
-		ITaglibRecord result = _instance.internalResolve(basePath, reference, crossProjects);
-		if (_debugResolution) {
-			if (result == null) {
-				System.out.println("TaglibIndex could not resolve \"" + reference + "\" from " + basePath);
-			}
-			else {
-				switch (result.getRecordType()) {
-					case (ITaglibRecord.TLD) : {
-						TLDRecord record = (TLDRecord) result;
-						System.out.println("TaglibIndex resolved " + basePath + ":" + reference + " = " + record.getLocation());
-					}
-						break;
-					case (ITaglibRecord.JAR) : {
-						JarRecord record = (JarRecord) result;
-						System.out.println("TaglibIndex resolved " + basePath + ":" + reference + " = " + record.getLocation());
-					}
-						break;
-					case (ITaglibRecord.TAGDIR) : {
-					}
-						break;
-					case (ITaglibRecord.URL) : {
-						URLRecord record = (URLRecord) result;
-						System.out.println("TaglibIndex resolved " + basePath + ":" + reference + " = " + record.getURL());
-					}
-						break;
-				}
-			}
-		}
-		return result;
-	}
-
-	private ClasspathChangeListener fClasspathChangeListener = null;
-
-	Map fProjectDescriptions;
-	private ResourceChangeListener fResourceChangeListener;
-
-	private ITaglibIndexListener[] fTaglibIndexListeners = null;
-
-	private TaglibIndex() {
-		super();
-		fResourceChangeListener = new ResourceChangeListener();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(fResourceChangeListener);
-		fClasspathChangeListener = new ClasspathChangeListener();
-		JavaCore.addElementChangedListener(fClasspathChangeListener);
-		fProjectDescriptions = new HashMap();
-	}
-
-	public void addTaglibIndexListener(ITaglibIndexListener listener) {
-		_instance.internalAddTaglibIndexListener(listener);
-	}
-
-	/**
-	 * @param project
-	 * @return
-	 */
-	ProjectDescription createDescription(IProject project) {
-		ProjectDescription description = (ProjectDescription) fProjectDescriptions.get(project);
-		if (description == null) {
-			description = new ProjectDescription(project);
-			description.index();
-			description.indexClasspath();
-			fProjectDescriptions.put(project, description);
-		}
-		return description;
-	}
-
-	private synchronized void internalAddTaglibIndexListener(ITaglibIndexListener listener) {
-		if (fTaglibIndexListeners == null) {
-			fTaglibIndexListeners = new ITaglibIndexListener[]{listener};
-		}
-		else {
-			List listeners = new ArrayList(Arrays.asList(fTaglibIndexListeners));
-			listeners.add(listener);
-			fTaglibIndexListeners = (ITaglibIndexListener[]) listeners.toArray(new ITaglibIndexListener[0]);
-		}
-	}
-
-	private ITaglibRecord[] internalGetAvailableTaglibRecords(IPath location) {
-		ITaglibRecord[] records = null;
-		IFile baseResource = ResourcesPlugin.getWorkspace().getRoot().getFile(location);
-		if (baseResource != null) {
-			IProject project = baseResource.getProject();
-			ProjectDescription description = createDescription(project);
-			List availableRecords = description.getAvailableTaglibRecords(location);
-			records = (ITaglibRecord[]) availableRecords.toArray(records);
-		}
-		else {
-			records = new ITaglibRecord[0];
-		}
-		return records;
-	}
-
-	private IPath internalGetContextRoot(IPath path) {
-		IFile baseResource = FileBuffers.getWorkspaceFileAtLocation(path);
-		if (baseResource != null) {
-			IProject project = baseResource.getProject();
-			ProjectDescription description = _instance.createDescription(project);
-			IPath rootPath = description.getLocalRoot(baseResource.getFullPath());
-			return ResourcesPlugin.getWorkspace().getRoot().getLocation().append(rootPath);
-		}
-		// try to handle out-of-workspace paths
-		IPath root = path;
-		while (root != null && !root.isRoot())
-			root = root.removeLastSegments(1);
-		if (root == null)
-			root = path;
-		return root;
-	}
-
-	private synchronized void internalRemoveTaglibIndexListener(ITaglibIndexListener listener) {
-		if (fTaglibIndexListeners != null) {
-			List listeners = new ArrayList(Arrays.asList(fTaglibIndexListeners));
-			listeners.remove(listener);
-			fTaglibIndexListeners = (ITaglibIndexListener[]) listeners.toArray(new ITaglibIndexListener[0]);
-		}
-	}
-
-	private ITaglibRecord internalResolve(String basePath, String reference, boolean crossProjects) {
-		IProject project = null;
-		ITaglibRecord resolved = null;
-		IFile baseResource = FileBuffers.getWorkspaceFileAtLocation(new Path(basePath));
-		if (baseResource != null) {
-			project = baseResource.getProject();
-			ProjectDescription description = createDescription(project);
-			resolved = description.resolve(basePath, reference);
-		}
-		else {
-			// try simple file support outside of the workspace
-			File baseFile = FileBuffers.getSystemFileAtLocation(new Path(basePath));
-			if (baseFile != null) {
-				String normalizedReference = URIHelper.normalize(reference, basePath, "/"); //$NON-NLS-1$
-				if (normalizedReference != null) {
-					TLDRecord record = new TLDRecord();
-					record.location = new Path(normalizedReference);
-					record.uri = reference;
-					resolved = record;
-				}
-			}
-		}
-		return resolved;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/URLRecord.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/URLRecord.java
deleted file mode 100644
index 655b552..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/URLRecord.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.internal.contentmodel;
-
-import java.net.URL;
-
-public class URLRecord implements ITaglibRecord {
-	URL url;
-	String uri;
-	String baseLocation;
-
-	public String getBaseLocation() {
-		return baseLocation;
-	}
-
-	public URLRecord() {
-		super();
-	}
-
-	public short getRecordType() {
-		return ITaglibRecord.URL;
-	}
-
-	/**
-	 * @return Returns the uri.
-	 */
-	public String getURI() {
-		return uri;
-	}
-
-	/**
-	 * @return Returns the URL.
-	 */
-	public URL getURL() {
-		return url;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMAttributeDeclarationImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMAttributeDeclarationImpl.java
deleted file mode 100644
index adf9348..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMAttributeDeclarationImpl.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-
-
-import java.util.Enumeration;
-
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDAttributeDeclaration;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDDocument;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-public class CMAttributeDeclarationImpl implements TLDAttributeDeclaration {
-
-	private CMDataType attrType = new CMDataTypeImpl(CMDataType.CDATA);
-	private String fDescription;
-	
-	//
-	private boolean fIsFragment = false;
-
-	private CMDocument fOwnerDocument;
-	// optional id
-	private String id = null;
-
-	// required name
-	private String name = null;
-	// optional "required" element present, defaults to not present
-	private boolean required = false;
-	
-	// optional run-time (scriplet derived) value of attributes, defaults to none/false
-	private String rtexprvalue = null;
-
-	private String type = null;
-
-	/**
-	 * CMAttributeDeclarationImpl constructor comment.
-	 */
-	public CMAttributeDeclarationImpl(CMDocument owner) {
-		super();
-		fOwnerDocument = owner;
-	}
-
-	/**
-	 * getAttrName method
-	 * @return java.lang.String
-	 */
-	public String getAttrName() {
-		return getNodeName();
-	}
-
-	/**
-	 * getAttrType method
-	 * @return CMDataType
-	 */
-	public CMDataType getAttrType() {
-		return attrType;
-	}
-
-	/**
-	 * @deprecated in superclass
-	 */
-	public String getDefaultValue() {
-		return ""; //$NON-NLS-1$
-	}
-	/**
-	 * @return Returns the description.
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-
-	/**
-	 * @deprecated in superclass
-	 */
-	public Enumeration getEnumAttr() {
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return name;
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return CMNode.ATTRIBUTE_DECLARATION;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.core.contentmodel.tld.TLDAttributeDeclaration#getOwnerDocument()
-	 */
-	public CMDocument getOwnerDocument() {
-		return fOwnerDocument;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(TLDDocument.CM_KIND)) {
-			return TLDDocument.JSP_TLD;
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getRtexprvalue() {
-		return rtexprvalue;
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * getUsage method
-	 * @return int
-	 * OPTIONAL|REQUIRED
-	 */
-	public int getUsage() {
-		return required ? REQUIRED : OPTIONAL;
-	}
-	/**
-	 * @return Returns the isFragment.
-	 */
-	public boolean isFragment() {
-		return fIsFragment;
-	}
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	public boolean isRequired() {
-		return required;
-	}
-	/**
-	 * @param description The description to set.
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-	/**
-	 * @param isFragment The isFragment to set.
-	 */
-	public void setFragment(boolean isFragment) {
-		fIsFragment = isFragment;
-	}
-
-	/**
-	 * 
-	 * @param newId java.lang.String
-	 */
-	public void setId(String newId) {
-		id = newId;
-	}
-
-	public void setNodeName(String string) {
-		name = string;
-	}
-
-	/**
-	 * 
-	 * @param newRequired boolean
-	 */
-	public void setRequired(boolean newRequired) {
-		required = newRequired;
-	}
-
-	/**
-	 * 
-	 * @param newRequired boolean
-	 */
-	public void setRequiredString(String newRequired) {
-		if (newRequired.equalsIgnoreCase("true") || newRequired.equalsIgnoreCase("yes")) //$NON-NLS-2$//$NON-NLS-1$
-			setRequired(true);
-		else if (newRequired.equalsIgnoreCase("false") || newRequired.equalsIgnoreCase("no")) //$NON-NLS-2$//$NON-NLS-1$
-			setRequired(false);
-	}
-
-	/**
-	 * 
-	 * @param newRtexprvalue java.lang.String
-	 */
-	public void setRtexprvalue(String newRtexprvalue) {
-		rtexprvalue = newRtexprvalue;
-	}
-
-	public void setType(String type) {
-		this.type = type;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		return false;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("\n\t " + super.toString()); //$NON-NLS-1$
-		buffer.append("\n\t name:" + StringUtils.escape(getNodeName())); //$NON-NLS-1$
-		// Boolean.toString(boolean) is introduced in 1.4
-		//buffer.append("\n\t required:" + StringUtils.escape(Boolean.toString(isRequired())));
-		buffer.append("\n\t required:" + StringUtils.toString(isRequired())); //$NON-NLS-1$
-		buffer.append("\n\t rtexpr:" + StringUtils.escape(getRtexprvalue())); //$NON-NLS-1$
-		if (getId() != null)
-			buffer.append("\n\t id:" + StringUtils.escape(getId())); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDataTypeImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDataTypeImpl.java
deleted file mode 100644
index 04cdb21..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDataTypeImpl.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-public class CMDataTypeImpl implements CMDataType {
-
-	protected String dataTypeName;
-
-	public CMDataTypeImpl(String dataTypeName) {
-		this.dataTypeName = dataTypeName;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String
-	 *
-	 * This method returns a suitable default value that can be used when an instance of the data type is created.
-	 * This returns null of a suitable default is not available.
-	 */
-	public String generateInstanceValue() {
-		return null;
-	}
-
-	public String getDataTypeName() {
-		return dataTypeName;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String[]
-	 *
-	 */
-	public String[] getEnumeratedValues() {
-		return null;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String  
-	 *
-	 * Returns the implied value or null if none exists.
-	 */
-	public String getImpliedValue() {
-		return null;
-	}
-
-	/**
-	 * getImpliedValueKind method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * IMPLIED_VALUE_NONE, IMPLIED_VALUE_FIXED, IMPLIED_VALUE_DEFAULT.
-	 */
-	public int getImpliedValueKind() {
-		return IMPLIED_VALUE_NONE;
-	}
-
-	public String getNodeName() {
-		return dataTypeName;
-	}
-
-	public int getNodeType() {
-		return CMNode.DATA_TYPE;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property described by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		return null;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java
deleted file mode 100644
index 3106ba8..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java
+++ /dev/null
@@ -1,668 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP11TLDNames;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP20TLDNames;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDDocument;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDFunction;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDInitParam;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDListener;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDValidator;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDVariable;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.JarRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TLDRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.URLRecord;
-import org.eclipse.jst.jsp.core.internal.util.DocumentProvider;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.factory.CMDocumentFactory;
-import org.eclipse.wst.sse.core.util.JarUtilities;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * CMDocumentBuilder for Taglib Descriptors
- * 
- * Returns namespace-less CMDocuments for a taglib descriptor, loading it
- * directly from a file or extracted from a JAR archive. Content Model objects
- * will implement the TLDCMDocument, TLDElementDeclaration, and
- * TLDAttributeDeclaration interfaces for extended properties.
- */
-public class CMDocumentFactoryTLD implements CMDocumentFactory {
-
-	static final boolean _debug = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/tldcmdocument/factory")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * CMDocumentFactoryTLD constructor comment.
-	 */
-	public CMDocumentFactoryTLD() {
-		super();
-	}
-
-	/**
-	 * NOT API
-	 * 
-	 * @param baselocation
-	 * @param input
-	 * @return
-	 */
-	public CMDocument buildCMDocument(String baselocation, InputStream input) {
-		DocumentProvider provider = new DocumentProvider();
-		provider.setValidating(false);
-		provider.setRootElementName(JSP11TLDNames.TAGLIB);
-		provider.setInputStream(input);
-		if (baselocation != null)
-			provider.setBaseReference(baselocation);
-		return loadDocument(baselocation, provider.getRootElement());
-	}
-
-	/**
-	 * @param fileName
-	 * @return
-	 */
-	private CMDocument buildCMDocumentFromDirectory(File directory) {
-		if (_debug) {
-			System.out.println("not implemented: tagdir loading for " + directory.getAbsolutePath());
-		}
-		return null;
-	}
-
-	/**
-	 * NOT API
-	 * 
-	 * @param fileName
-	 * @return
-	 */
-	protected CMDocument buildCMDocumentFromFile(String fileName) {
-		// load the taglib descriptor file
-		DocumentProvider provider = new DocumentProvider();
-		provider.setValidating(false);
-		provider.setBaseReference(fileName);
-		provider.setRootElementName(JSP11TLDNames.TAGLIB);
-		provider.setFileName(fileName);
-		Node rootElement = provider.getRootElement();
-		return loadDocument(fileName, rootElement);
-	}
-
-	/**
-	 * Builds a CMDocument assuming the JSP v1.1 default path
-	 * 
-	 * @param jarFileName -
-	 *            the name of the containing JAR file
-	 */
-	protected CMDocument buildCMDocumentFromJar(String jarFileName) {
-		// load the taglib descriptor file
-		return buildCMDocumentFromJar(jarFileName, JarUtilities.JSP11_TAGLIB);
-	}
-
-	/**
-	 * Builds a CMDocument
-	 * 
-	 * @param jarFileName -
-	 *            the name of the containing JAR file
-	 * @param contentFileName -
-	 *            the path within the JAR for a valid taglib descriptor
-	 */
-	protected CMDocument buildCMDocumentFromJar(String jarFileName, String contentFileName) {
-		// load the taglib descriptor file
-		DocumentProvider provider = new DocumentProvider();
-		provider.setValidating(false);
-		provider.setBaseReference(jarFileName);
-		provider.setRootElementName(JSP11TLDNames.TAGLIB);
-		provider.setJarFileName(jarFileName);
-		provider.setFileName(contentFileName);
-		CMDocument document = loadDocument("jar:file://" + jarFileName + "!" + contentFileName, provider.getRootElement()); //$NON-NLS-1$ //$NON-NLS-2$
-		// TODO: Add the tags declared in META-INF/tags, see JSP 2.0 section
-		// 8.4.1
-		return document;
-	}
-
-	protected CMAttributeDeclaration createAttributeDeclaration(CMDocument document, Node attrNode) {
-		CMAttributeDeclarationImpl attr = new CMAttributeDeclarationImpl(document);
-
-		Node child = attrNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				if (child.getNodeName().equals(JSP11TLDNames.NAME) && child.hasChildNodes()) {
-					attr.setNodeName(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					attr.setDescription(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP11TLDNames.ID) && child.hasChildNodes()) {
-					attr.setId(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP11TLDNames.REQUIRED) && child.hasChildNodes()) {
-					attr.setRequiredString(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP11TLDNames.RTEXPRVALUE) && child.hasChildNodes()) {
-					attr.setRtexprvalue(getContainedText(child));
-				}
-				else if (child.getNodeName().equals(JSP20TLDNames.FRAGMENT) && child.hasChildNodes()) {
-					attr.setFragment(Boolean.valueOf(getContainedText(child)).booleanValue());
-				}
-			}
-			child = child.getNextSibling();
-		}
-
-		return attr;
-	}
-
-	/**
-	 * Builds a CMDocument from a taglib descriptor
-	 * 
-	 * @param uri -
-	 *            the location of a valid taglib descriptor
-	 */
-	public CMDocument createCMDocument(String uri) {
-		CMDocument result = null;
-		URL url = null;
-		try {
-			url = new URL(uri);
-		}
-		catch (MalformedURLException e) {
-			result = createCMDocumentFromFile(uri);
-		}
-		if (result == null && url != null) {
-			InputStream istream = null;
-			if (url.getProtocol().equals("file")) { //$NON-NLS-1$
-				result = createCMDocumentFromFile(url.getFile());
-			}
-			else {
-				try {
-					istream = url.openStream();
-					result = buildCMDocument(url.toExternalForm(), istream);
-				}
-				catch (Exception t) {
-					// Logger.log(Logger.INFO, "Exception creating content
-					// model: could not load TLD contents from URI " + uri + "
-					// :" + t);
-				}
-			}
-			try {
-				if (istream != null)
-					istream.close();
-			}
-			catch (IOException e1) {
-				// don't care
-			}
-		}
-		if (result == null)
-			result = new CMDocumentImpl();
-		return result;
-	}
-
-	/**
-	 * @param fileName
-	 * @return
-	 */
-	private CMDocument createCMDocumentFromFile(String fileName) {
-		CMDocument result = null;
-		File file = new File(fileName);
-		try {
-			if (file.isDirectory()) {
-				result = buildCMDocumentFromDirectory(file);
-			}
-		}
-		catch (SecurityException e) {
-			result = null;
-		}
-		if (result == null) {
-			if (fileName.endsWith(".jar")) { //$NON-NLS-1$
-				result = buildCMDocumentFromJar(fileName);
-			}
-			else {
-				result = buildCMDocumentFromFile(fileName);
-			}
-		}
-		return result;
-	}
-
-	protected CMElementDeclaration createElementDeclaration(CMDocument cmdocument, Element tagFileNode, String path) {
-		CMElementDeclarationImpl ed = new CMElementDeclarationImpl(cmdocument);
-		boolean hasName = false;
-
-		// load information declared within the .tld
-		Node child = tagFileNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					ed.setDescription(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.DISPLAY_NAME) && child.hasChildNodes()) {
-					ed.setDisplayName(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.EXAMPLE) && child.hasChildNodes()) {
-					ed.setExample(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.ICON) && child.hasChildNodes()) {
-					ed.setSmallIcon(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.NAME) && child.hasChildNodes()) {
-					ed.setNodeName(getContainedText(child));
-					hasName = ed.getNodeName().trim().length() > 0;
-				}
-				else if (nodeName.equals(JSP20TLDNames.PATH) && child.hasChildNodes()) {
-					ed.setPath(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.TAG_EXTENSION)) {
-					ed.getExtensions().add(child);
-				}
-			}
-			child = child.getNextSibling();
-		}
-		if (hasName) {
-			// load information declared within the .tag(x) file
-			// JSP2_TODO: implement for JSP 2.0
-			return ed;
-		}
-		return null;
-	}
-
-	protected CMElementDeclaration createElementDeclaration(CMDocument document, Node tagNode) {
-		CMElementDeclarationImpl ed = new CMElementDeclarationImpl(document);
-
-		Node child = tagNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				// tag information
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP11TLDNames.NAME) && child.hasChildNodes()) {
-					ed.setNodeName(getContainedText(child));
-				}
-				else if ((nodeName.equals(JSP11TLDNames.TAGCLASS) || nodeName.equals(JSP12TLDNames.TAG_CLASS)) && child.hasChildNodes()) {
-					ed.setTagclass(getContainedText(child));
-				}
-				else if ((nodeName.equals(JSP11TLDNames.TEICLASS) || nodeName.equals(JSP12TLDNames.TEI_CLASS)) && child.hasChildNodes()) {
-					ed.setTeiclass(getContainedText(child));
-				}
-				else if ((nodeName.equals(JSP11TLDNames.BODYCONTENT) || nodeName.equals(JSP12TLDNames.BODY_CONTENT)) && child.hasChildNodes()) {
-					String bodycontent = getContainedText(child);
-					// Apparently, Apache Tomcat is not case sensitive about
-					// these values
-					if (bodycontent.equalsIgnoreCase(JSP11TLDNames.CONTENT_JSP))
-						ed.setBodycontent(JSP11TLDNames.CONTENT_JSP);
-					else if (bodycontent.equalsIgnoreCase(JSP11TLDNames.CONTENT_TAGDEPENDENT))
-						ed.setBodycontent(JSP11TLDNames.CONTENT_TAGDEPENDENT);
-					else if (bodycontent.equalsIgnoreCase(JSP11TLDNames.CONTENT_EMPTY))
-						ed.setBodycontent(JSP11TLDNames.CONTENT_EMPTY);
-					else if (bodycontent.equalsIgnoreCase(JSP20TLDNames.CONTENT_SCRIPTLESS))
-						ed.setBodycontent(JSP20TLDNames.CONTENT_SCRIPTLESS);
-				}
-				// info (1.1 only) or description (1.2 only)
-				else if ((nodeName.equals(JSP11TLDNames.INFO) || nodeName.equals(JSP12TLDNames.DESCRIPTION)) && child.hasChildNodes()) {
-					// ed.setDescription(getContainedText(child));
-					ed.setDescription(getContainedText(child));
-				}
-				// attributes
-				else if (nodeName.equals(JSP11TLDNames.ATTRIBUTE)) {
-					CMAttributeDeclaration attr = createAttributeDeclaration(document, child);
-					ed.attributes.setNamedItem(attr.getAttrName(), attr);
-				}
-				// variables
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE)) {
-					ed.getVariables().add(createVariable(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.LARGE_ICON) && child.hasChildNodes()) {
-					ed.setLargeIcon(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.SMALL_ICON) && child.hasChildNodes()) {
-					ed.setSmallIcon(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.TAG_EXTENSION) && child.getNodeType() == Node.ELEMENT_NODE) {
-					ed.getExtensions().add(child);
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return ed;
-	}
-
-	protected TLDFunction createFunction(CMDocument document, Node functionNode) {
-		TLDFunctionImpl function = new TLDFunctionImpl(document);
-		boolean hasName = false;
-
-		Node child = functionNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				// tag information
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					function.setDescription(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.DISPLAY_NAME) && child.hasChildNodes()) {
-					function.setName(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.EXAMPLE) && child.hasChildNodes()) {
-					function.setExample(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.FUNCTION_CLASS) && child.hasChildNodes()) {
-					function.setClassName(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.FUNCTION_EXTENSION) && child.hasChildNodes()) {
-					function.getExtensions().add(child);
-				}
-				else if (nodeName.equals(JSP20TLDNames.FUNCTION_SIGNATURE) && child.hasChildNodes()) {
-					function.setSignature(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP20TLDNames.ICON) && child.hasChildNodes()) {
-					function.setIcon(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.NAME) && child.hasChildNodes()) {
-					function.setName(getContainedText(child));
-					hasName = function.getName().trim().length() > 0;
-				}
-			}
-			child = child.getNextSibling();
-		}
-		if (hasName) {
-			return function;
-		}
-		return null;
-	}
-
-	protected TLDInitParam createInitParam(Node initParamNode) {
-		TLDInitParamImpl initParam = new TLDInitParamImpl();
-		Node child = initParamNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.VALIDATOR_PARAM_NAME) && child.hasChildNodes()) {
-					initParam.setName(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VALIDATOR_PARAM_VALUE) && child.hasChildNodes()) {
-					initParam.setValue(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					initParam.setDescription(getContainedText(child));
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return initParam;
-	}
-
-	protected TLDListener createListener(Node listenerNode) {
-		TLDListenerImpl listener = new TLDListenerImpl();
-		Node child = listenerNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.LISTENER_CLASS) && child.hasChildNodes()) {
-					listener.setListenerClass(getContainedText(child));
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return listener;
-	}
-
-	protected TLDValidator createValidator(Node validatorNode) {
-		TLDValidatorImpl validator = new TLDValidatorImpl();
-		Node child = validatorNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.VALIDATOR_CLASS) && child.hasChildNodes()) {
-					validator.setValidatorClass(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VALIDATOR_INIT_PARAM) && child.hasChildNodes()) {
-					validator.getInitParams().add(createInitParam(child));
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return validator;
-	}
-
-	protected TLDVariable createVariable(Node variableNode) {
-		TLDVariableImpl variable = new TLDVariableImpl();
-		Node child = variableNode.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String nodeName = child.getNodeName();
-				if (nodeName.equals(JSP12TLDNames.VARIABLE_CLASS) && child.hasChildNodes()) {
-					variable.setVariableClass(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE_DECLARE) && child.hasChildNodes()) {
-					variable.setDeclareString(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE_NAME_FROM_ATTRIBUTE) && child.hasChildNodes()) {
-					variable.setNameFromAttribute(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE_NAME_GIVEN) && child.hasChildNodes()) {
-					variable.setNameGiven(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.VARIABLE_SCOPE) && child.hasChildNodes()) {
-					variable.setScope(getContainedText(child));
-				}
-				else if (nodeName.equals(JSP12TLDNames.DESCRIPTION) && child.hasChildNodes()) {
-					variable.setDescription(getContainedText(child));
-				}
-			}
-			child = child.getNextSibling();
-		}
-		return variable;
-	}
-
-	protected String getContainedText(Node parent) {
-		NodeList children = parent.getChildNodes();
-		if (children.getLength() == 1) {
-			return children.item(0).getNodeValue().trim();
-		}
-		StringBuffer s = new StringBuffer();
-		Node child = parent.getFirstChild();
-		while (child != null) {
-			s.append(child.getNodeValue());
-			child = child.getNextSibling();
-		}
-		return s.toString().trim();
-	}
-
-	public boolean isBuilderForGrammar(String grammarFileName) {
-		String fileName = grammarFileName.toLowerCase();
-		return fileName.endsWith(".tld") || fileName.endsWith(".jar"); //$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	private CMDocument loadDocument(String baseLocation, Node taglib) {
-		Node root = taglib;
-
-		// create the CMDocument
-		CMDocumentImpl document = new CMDocumentImpl();
-		document.setBaseLocation(baseLocation);
-
-		if (root == null) {
-			if (_debug) {
-				System.out.println("null \"taglib\" element for TLD " + baseLocation);
-			}
-			return document;
-		}
-
-		// populate the CMDocument
-		Node child = root.getFirstChild();
-		while (child != null) {
-			if (child.getNodeType() != Node.ELEMENT_NODE) {
-				child = child.getNextSibling();
-				continue;
-			}
-			String nodeName = child.getNodeName();
-			// tag
-			if (nodeName.equals(JSP11TLDNames.TAG)) {
-				CMElementDeclaration ed = createElementDeclaration(document, child);
-				if (ed != null) {
-					document.fElements.setNamedItem(ed.getNodeName(), ed);
-				}
-			}
-			// tag-file
-			else if (nodeName.equals(JSP20TLDNames.TAG_FILE) && child.getNodeType() == Node.ELEMENT_NODE && child.hasChildNodes()) {
-				Element tagFileElement = (Element) child;
-				String path = tagFileElement.getAttribute(JSP20TLDNames.PATH);
-
-				CMElementDeclarationImpl ed = (CMElementDeclarationImpl) createElementDeclaration(document, tagFileElement, path);
-				if (ed != null) {
-					document.fElements.setNamedItem(ed.getNodeName(), ed);
-				}
-			}
-			// other one-of-a-kind children
-			// JSP version
-			else if ((nodeName.equals(JSP11TLDNames.JSPVERSION) || nodeName.equals(JSP12TLDNames.JSP_VERSION)) && child.hasChildNodes()) {
-				document.setJspversion(getContainedText(child));
-			}
-			// tag library version
-			else if ((nodeName.equals(JSP11TLDNames.TLIBVERSION) || nodeName.equals(JSP12TLDNames.TLIB_VERSION)) && child.hasChildNodes()) {
-				document.setTlibversion(getContainedText(child));
-			}
-			// short name
-			else if ((nodeName.equals(JSP11TLDNames.SHORTNAME) || nodeName.equals(JSP12TLDNames.SHORT_NAME)) && child.hasChildNodes()) {
-				document.setShortname(getContainedText(child));
-			}
-			// URI/URN
-			else if ((nodeName.equals(JSP11TLDNames.URI) || nodeName.equals(JSP11TLDNames.URN)) && child.hasChildNodes()) { //$NON-NLS-1$
-				document.setUri(getContainedText(child));
-			}
-			// info
-			else if (nodeName.equals(JSP11TLDNames.INFO) && child.hasChildNodes()) {
-				document.setInfo(getContainedText(child));
-			}
-			// New JSP 1.2
-			// description
-			else if (nodeName.equals(JSP12TLDNames.DESCRIPTION)) {
-				document.setDescription(getContainedText(child));
-			}
-			// display name
-			else if (nodeName.equals(JSP12TLDNames.DISPLAY_NAME) && child.hasChildNodes()) {
-				document.setDisplayName(getContainedText(child));
-			}
-			// large icon
-			else if (nodeName.equals(JSP12TLDNames.LARGE_ICON) && child.hasChildNodes()) {
-				document.setLargeIcon(getContainedText(child));
-			}
-			// small icon
-			else if (nodeName.equals(JSP12TLDNames.SMALL_ICON) && child.hasChildNodes()) {
-				document.setSmallIcon(getContainedText(child));
-			}
-			// validator
-			else if (nodeName.equals(JSP12TLDNames.VALIDATOR)) {
-				document.setValidator(createValidator(child));
-			}
-			// listener
-			else if (nodeName.equals(JSP12TLDNames.LISTENER)) {
-				document.getListeners().add(createListener(child));
-			}
-			else if (nodeName.equals(JSP20TLDNames.FUNCTION)) {
-				TLDFunction function = createFunction(document, child);
-				if (function != null) {
-					document.getListeners().add(function);
-				}
-			}
-			else if (nodeName.equals(JSP20TLDNames.TAGLIB_EXTENSION)) {
-				document.getExtensions().add(child);
-			}
-
-			child = child.getNextSibling();
-		}
-		return document;
-	}
-
-	/**
-	 * @param reference
-	 * @return
-	 */
-	public CMDocument createCMDocument(ITaglibRecord reference) {
-		CMDocumentImpl document = null;
-		switch (reference.getRecordType()) {
-			case (ITaglibRecord.TLD) : {
-				TLDRecord record = (TLDRecord) reference;
-				document = (CMDocumentImpl) buildCMDocumentFromFile(record.getLocation().toString());
-				if (_debug && document != null && document.getElements().getLength() == 0) {
-					System.out.println("failure parsing " + record.getLocation());
-				}
-
-				if (document.getSmallIcon() != null) {
-					String iconPath = URIHelper.normalize(((TLDDocument) document).getSmallIcon(), record.getLocation().toString(), "/");
-					document.setProperty(JSP12TLDNames.SMALL_ICON, "file:" + iconPath);
-				}
-				if (document.getLargeIcon() != null) {
-					String iconPath = URIHelper.normalize(((TLDDocument) document).getLargeIcon(), record.getLocation().toString(), "/");
-					document.setProperty(JSP12TLDNames.LARGE_ICON, "file:" + iconPath);
-				}
-			}
-				break;
-			case (ITaglibRecord.JAR) : {
-				JarRecord record = (JarRecord) reference;
-				document = (CMDocumentImpl) buildCMDocumentFromJar(record.getLocation().toString());
-				if (document.getSmallIcon() != null) {
-					String iconPath = URIHelper.normalize(((TLDDocument) document).getSmallIcon(), record.getLocation().toString() + "!META-INF/", "/");
-					document.setProperty(JSP12TLDNames.SMALL_ICON, "jar:file:" + iconPath);
-				}
-				if (document.getLargeIcon() != null) {
-					String iconPath = URIHelper.normalize(((TLDDocument) document).getLargeIcon(), record.getLocation().toString() + "!META-INF/", "/");
-					document.setProperty(JSP12TLDNames.LARGE_ICON, "jar:file:" + iconPath);
-				}
-				if (document != null && document.getElements().getLength() == 0) {
-					System.out.println("failure parsing " + record.getLocation());
-				}
-			}
-				break;
-			case (ITaglibRecord.TAGDIR) : {
-				// TagDirRecord record = (TagDirRecord) reference;
-				// document =
-				// buildCMDocumentFromDirectory(record.getLocation().toFile());
-			}
-				break;
-			case (ITaglibRecord.URL) : {
-				URLRecord record = (URLRecord) reference;
-				InputStream urlContents = null;
-				try {
-					urlContents = record.getURL().openStream();
-					document = (CMDocumentImpl) buildCMDocument(record.getBaseLocation(), urlContents);
-					if (document.getSmallIcon() != null) {
-						String iconPath = URIHelper.normalize(((TLDDocument) document).getSmallIcon(), record.getURL().toString(), "/");
-						document.setProperty(JSP12TLDNames.SMALL_ICON, iconPath);
-					}
-					if (document.getLargeIcon() != null) {
-						String iconPath = URIHelper.normalize(((TLDDocument) document).getLargeIcon(), record.getURL().toString(), "/");
-						document.setProperty(JSP12TLDNames.LARGE_ICON, iconPath);
-					}
-				}
-				catch (IOException e) {
-					Logger.logException(e);
-				}
-				finally {
-					if (urlContents != null) {
-						try {
-							urlContents.close();
-						}
-						catch (IOException e) {
-						}
-					}
-				}
-			}
-				break;
-		}
-		return document;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentImpl.java
deleted file mode 100644
index de54c5e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentImpl.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDDocument;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDValidator;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNamespace;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMPlugin;
-import org.eclipse.wst.common.contentmodel.annotation.AnnotationMap;
-import org.eclipse.wst.common.contentmodel.internal.annotation.AnnotationFileParser;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-public class CMDocumentImpl implements TLDDocument {
-	
-	/** Contains taginfo and/or any other misc properties*/
-	private AnnotationMap fAnnotationMap = null;
-	
-	private Map fProperties = new HashMap(0);
-
-	/**
-	 * Records from where this document was created
-	 */
-	private String fBaseLocation;
-	/** 
-	 * since JSP 1.2
-	 */
-	private String fDescription;
-	
-	private String fDisplayName;
-
-	/**
-	 * NOT public API
-	 */
-	public CMNamedNodeMapImpl fElements = new CMNamedNodeMapImpl();
-
-	private List fFunctions = new ArrayList(0);
-	
-	// id of the taglib
-	private String fId = null;
-	/**
-	 * Children of "taglib" within a .tld file each allow
-	 * one Text node (#PCDATA) beneath them.  Store the values
-	 * here for simplicity.
-	 */
-	// The JSP specification required for this taglib to function
-	private String fJSPVersion = null;
-	
-	private String fLargeIcon;
-
-	private List fListeners;
-	
-	private String fParentURI = null;
-	// A short name suggested as the default prefix for tags within the lib
-	private String fShortName = null;
-	
-	private String fSmallIcon;
-	
-	/**
-	 * since JSP 2.0
-	 * 
-	 * The entire element is stored here since its layout is undefined 
-	 */
-	private List fTaglibExtensions = new ArrayList(0);
-	
-	// Version information for the taglib itself
-	private String fTLibVersion = null;
-	
-	// A unique public URI describing this taglib.  Recommended to be the URL
-	// to the descriptor
-	private String fURI = null;
-
-	protected TLDValidator validator;
-	
-	/**
-	 * CMDocumentImpl constructor comment.
-	 */
-	public CMDocumentImpl() {
-		super();
-	}
-
-	/**
-	 * Get the annotation map associated with this document.  Lazily creates
-	 * and loads annotation map.
-	 * @return AnnotationMap
-	 */
-	private AnnotationMap getAnnotationMap() {
-		// create a new annotation map and load it up
-		if (fAnnotationMap == null) {
-			fAnnotationMap = new AnnotationMap();
-			
-		    List annotationFiles = CMPlugin.getInstance().getAnnotationFiles(getUri());
-		    for (Iterator i = annotationFiles.iterator(); i.hasNext();) {
-		    	try {
-		    		String annotationFileURI = (String) i.next();
-		    		AnnotationFileParser parser = new AnnotationFileParser();
-		    		parser.parse(fAnnotationMap, annotationFileURI);
-		        } catch (Exception e) {
-		        	Logger.log(Logger.WARNING_DEBUG, "Exception thrown in CMDocumentImpl#getAnnotationMap", e); //$NON-NLS-1$
-		        }
-		    }
-		}
-		return fAnnotationMap;
-	}
-	/**
-	 * @return Returns the baseLocation.
-	 */
-	public String getBaseLocation() {
-		return fBaseLocation;
-	}
-
-	/**
-	 * Gets the description.
-	 * @return Returns a String
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-
-	/**
-	 * Gets the displayName.
-	 * @return Returns a String
-	 */
-	public String getDisplayName() {
-		return fDisplayName;
-	}
-
-	/**
-	 * getElements method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of ElementDeclaration
-	 */
-	public CMNamedNodeMap getElements() {
-		return fElements;
-	}
-
-	/**
-	 * getEntities method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of EntityDeclaration
-	 */
-	public CMNamedNodeMap getEntities() {
-		return null;
-	}
-	
-	public List getExtensions() {
-		return fTaglibExtensions;
-	}
-	/**
-	 * @return Returns the functions.
-	 */
-	public List getFunctions() {
-		return fFunctions;
-	}
-
-	/**
-	 * Gets the id.
-	 * @return Returns a String
-	 */
-	public String getId() {
-		return fId;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getInfo() {
-		return getDescription();
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getJspversion() {
-		return fJSPVersion;
-	}
-
-	/**
-	 * Gets the largeIcon.
-	 * @return Returns a String
-	 */
-	public String getLargeIcon() {
-		return fLargeIcon;
-	}
-
-	public List getListeners() {
-		if (fListeners == null)
-			fListeners = new ArrayList();
-		return fListeners;
-	}
-
-	/**
-	 * getNamespace method
-	 * @return CMNamespace
-	 */
-	public CMNamespace getNamespace() {
-		return null;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return "#cmdocument"; //$NON-NLS-1$
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return CMNode.DOCUMENT;
-	}
-	/**
-	 * @return Returns the parentURI.
-	 */
-	public String getParentURI() {
-		return fParentURI;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(TLDDocument.CM_KIND)) {
-			return TLDDocument.JSP_TLD;
-		}
-		else if (propertyName.equals("annotationMap")) { //$NON-NLS-1$
-			return getAnnotationMap();
-		}
-		return fProperties.get(propertyName);
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getShortname() {
-		return fShortName;
-	}
-
-	/**
-	 * Gets the smallIcon.
-	 * @return Returns a String
-	 */
-	public String getSmallIcon() {
-		return fSmallIcon;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getTlibversion() {
-		return fTLibVersion;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getUri() {
-		return fURI;
-	}
-
-	/*
-	 * @see TLDDocument#getValidator()
-	 */
-	public TLDValidator getValidator() {
-		return validator;
-	}
-	/**
-	 * @param baseLocation The baseLocation to set.
-	 */
-	public void setBaseLocation(String baseLocation) {
-		fBaseLocation = baseLocation;
-	}
-
-	/**
-	 * Sets the description.
-	 * @param description The description to set
-	 */
-	public void setDescription(String description) {
-		this.fDescription = description;
-	}
-
-	/**
-	 * Sets the displayName.
-	 * @param displayName The displayName to set
-	 */
-	public void setDisplayName(String displayName) {
-		this.fDisplayName = displayName;
-	}
-
-	/**
-	 * Sets the id.
-	 * @param id The id to set
-	 */
-	public void setId(String id) {
-		this.fId = id;
-	}
-
-	/**
-	 * 
-	 * @param newInfo java.lang.String
-	 */
-	public void setInfo(String newInfo) {
-		setDescription(newInfo);
-	}
-
-	/**
-	 * 
-	 * @param newJspversion java.lang.String
-	 */
-	public void setJspversion(String newJspversion) {
-		fJSPVersion = newJspversion;
-	}
-
-	/**
-	 * Sets the largeIcon.
-	 * @param largeIcon The largeIcon to set
-	 */
-	public void setLargeIcon(String largeIcon) {
-		this.fLargeIcon = largeIcon;
-	}
-
-	public void setListeners(List listeners) {
-		this.fListeners = listeners;
-	}
-	/**
-	 * @param parentURI The parentURI to set.
-	 */
-	public void setParentURI(String parentURI) {
-		fParentURI = parentURI;
-	}
-	
-	public void setProperty(String property, Object value) {
-		fProperties.put(property, value);
-	}
-
-	/**
-	 * 
-	 * @param newShortname java.lang.String
-	 */
-	public void setShortname(String newShortname) {
-		fShortName = newShortname;
-	}
-
-	/**
-	 * Sets the smallIcon.
-	 * @param smallIcon The smallIcon to set
-	 */
-	public void setSmallIcon(String smallIcon) {
-		this.fSmallIcon = smallIcon;
-	}
-
-	/**
-	 * 
-	 * @param newTlibversion java.lang.String
-	 */
-	public void setTlibversion(String newTlibversion) {
-		fTLibVersion = newTlibversion;
-	}
-
-	/**
-	 * 
-	 * @param newUri java.lang.String
-	 */
-	public void setUri(String newUri) {
-		fURI = newUri;
-	}
-
-	public void setValidator(TLDValidator validator) {
-		this.validator = validator;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		if (TLDDocument.CM_KIND.equals(propertyName) || "annotationMap".equals(propertyName)) //$NON-NLS-1$
-			return true;
-		return fProperties.containsKey(propertyName);
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t short name:" + StringUtils.escape(getShortname())); //$NON-NLS-1$
-		buffer.append("\n\t display name:" + StringUtils.escape(getDisplayName())); //$NON-NLS-1$
-		buffer.append("\n\t description (info):" + StringUtils.escape(getDescription())); //$NON-NLS-1$
-		buffer.append("\n\t URI:" + StringUtils.escape(getUri())); //$NON-NLS-1$
-		buffer.append("\n\t jsp version:" + StringUtils.escape(getJspversion())); //$NON-NLS-1$
-		buffer.append("\n\t taglib version:" + StringUtils.escape(getTlibversion())); //$NON-NLS-1$
-		buffer.append("\n\t small icon:" + StringUtils.escape(getSmallIcon())); //$NON-NLS-1$
-		buffer.append("\n\t large icon:" + StringUtils.escape(getLargeIcon())); //$NON-NLS-1$
-		if (getValidator() != null)
-			buffer.append("\n\t validator:" + StringUtils.replace(getValidator().toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		buffer.append("\n\t listeners:"); //$NON-NLS-1$
-		for (int i = 0; i < getListeners().size(); i++) {
-			buffer.append("\n" + StringUtils.replace(getListeners().get(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		buffer.append("\n\t elements:"); //$NON-NLS-1$
-		CMNamedNodeMap elements = getElements();
-		for (int i = 0; i < elements.getLength(); i++) {
-			buffer.append(StringUtils.replace(elements.item(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMElementDeclarationImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMElementDeclarationImpl.java
deleted file mode 100644
index 4469319..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMElementDeclarationImpl.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP11TLDNames;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDDocument;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.annotation.AnnotationMap;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-public class CMElementDeclarationImpl implements TLDElementDeclaration {
-
-	// optional attributes
-	public CMNamedNodeMapImpl attributes = new CMNamedNodeMapImpl();
-	// (empty|JSP|tagdependant|scriptless) - optional, defaults to JSP
-	private String bodycontent = JSP11TLDNames.CONTENT_JSP;
-
-	/** 
-	 * since JSP 1.2
-	 * 
-	 * Usage information
-	 */
-	private String description;
-	
-	/** 
-	 * since JSP 1.2
-	 */
-	private String displayName;
-
-	/** 
-	 * since JSP 2.0
-	 */
-	private String fExample;
-
-	private CMDocument fOwnerDocument;
-	
-	private String fPath = null;
-
-	private List fTagExtensions = new ArrayList(0);
-	/** 
-	 * since JSP 1.2
-	 */
-	private String largeIcon;
-	
-	
-	private int maxOccur = -1;
-	private int minOccur = 0;
-
-	// required tag name
-	private String nodeName = null;
-	
-	/** 
-	 * since JSP 1.2
-	 */
-	private String smallIcon;
-	
-	// tag handler class - required
-	private String tagclass = null;
-	
-	// tag extra info class (subclass of javax.servlet.jsp.TagExtraInfo) - optional
-	private String teiclass = null;
-
-	/** 
-	 * since JSP 1.2
-	 */
-	private List variables;
-
-	/**
-	 * CMElementDeclarationImpl constructor comment.
-	 */
-	public CMElementDeclarationImpl(CMDocument owner) {
-		super();
-		fOwnerDocument = owner;
-	}
-
-	/**
-	 * getAttributes method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns CMNamedNodeMap of AttributeDeclaration
-	 */
-	public CMNamedNodeMap getAttributes() {
-		return attributes;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getBodycontent() {
-		return bodycontent;
-	}
-
-	/**
-	 * getCMContent method
-	 * @return CMContent
-	 *
-	 * Returns the root node of this element's content model.
-	 * This can be an CMElementDeclaration or a CMGroup
-	 */
-	public CMContent getContent() {
-		return null;
-	}
-
-	/**
-	 * getContentType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA.
-	 */
-	public int getContentType() {
-		if (bodycontent.equals(JSP11TLDNames.CONTENT_EMPTY))
-			return EMPTY;
-		if (bodycontent.equals(JSP11TLDNames.CONTENT_TAGDEPENDENT))
-			return PCDATA;
-		else
-			// JSP
-			return ANY;
-	}
-
-	/**
-	 * getDataType method
-	 * @return java.lang.String
-	 */
-	public CMDataType getDataType() {
-		return new CMDataTypeImpl(CMDataType.CDATA);
-	}
-
-	/**
-	 * Gets the description.
-	 * @return Returns a String
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Gets the displayName.
-	 * @return Returns a String
-	 */
-	public String getDisplayName() {
-		return displayName;
-	}
-
-	/**
-	 * getElementName method
-	 * @return java.lang.String
-	 */
-	public String getElementName() {
-		return getNodeName();
-	}
-	/**
-	 * @return Returns the example.
-	 */
-	public String getExample() {
-		return fExample;
-	}
-	/**
-	 * @return Returns the extensions.
-	 */
-	public List getExtensions() {
-		return fTagExtensions;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getInfo() {
-		return getDescription();
-	}
-
-	/**
-	 * Gets the largeIcon.
-	 * @return Returns a String
-	 */
-	public String getLargeIcon() {
-		return largeIcon;
-	}
-
-	/**
-	 * getLocalElements method
-	 * @return CMNamedNodeMap
-	 *
-	 * Returns a list of locally defined elements.
-	 */
-	public CMNamedNodeMap getLocalElements() {
-		return null;
-	}
-
-	/**
-	 * getMaxOccur method
-	 * @return int
-	 *
-	 * If -1, it's UNBOUNDED.
-	 */
-	public int getMaxOccur() {
-		return maxOccur;
-	}
-
-	/**
-	 * getMinOccur method
-	 * @return int
-	 *
-	 * If 0, it's OPTIONAL.
-	 * If 1, it's REQUIRED.
-	 */
-	public int getMinOccur() {
-		return minOccur;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return nodeName;
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return CMNode.ELEMENT_DECLARATION;
-	}
-
-	/**
-	 * @return
-	 */
-	public CMDocument getOwnerDocument() {
-		return fOwnerDocument;
-	}
-	/**
-	 * @return Returns the path.
-	 */
-	public String getPath() {
-		return fPath;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property described by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName != null && propertyName.equals("tagInfo")) { //$NON-NLS-1$
-			return StringUtils.restoreMarkers(getTagInfo());	// return tag info
-		}
-		else if (propertyName != null && propertyName.equals("description")) {	//$NON-NLS-1$
-			return StringUtils.restoreMarkers(getDescription()); // return tag description
-		}
-		else if (propertyName.equals(TLDDocument.CM_KIND)) {
-			return TLDDocument.JSP_TLD;
-		}
-		else if (propertyName.equals(JSP12TLDNames.SMALL_ICON) || propertyName.equals(JSP12TLDNames.LARGE_ICON)) {
-			return getOwnerDocument().getProperty(propertyName);
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the smallIcon.
-	 * @return Returns a String
-	 */
-	public String getSmallIcon() {
-		return smallIcon;
-	}
-	
-	/**
-	 * Returns the XPath of this element
-	 * (currently just returns the node name)
-	 * @return
-	 */
-	private String getSpec() {
-		return getNodeName();
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getTagclass() {
-		return tagclass;
-	}
-	
-	/**
-	 * Get the taginfo for this current element
-	 * @return String taginfo if it exists, null otherwise
-	 */
-	private String getTagInfo() {
-		if (getOwnerDocument().supports("annotationMap")) { //$NON-NLS-1$
-			AnnotationMap map = (AnnotationMap)getOwnerDocument().getProperty("annotationMap"); //$NON-NLS-1$
-			String spec = getSpec();
-			String result = map.getProperty(spec, "tagInfo"); //$NON-NLS-1$
-			return StringUtils.restoreMarkers(result); // return tag info
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getTeiclass() {
-		return teiclass;
-	}
-
-	/**
-	 * Gets the variables.
-	 * @return Returns a List
-	 */
-	public List getVariables() {
-		if (variables == null)
-			variables = new ArrayList();
-		return variables;
-	}
-
-	/**
-	 * 
-	 * @param newBodycontent java.lang.String
-	 */
-	public void setBodycontent(String newBodycontent) {
-		bodycontent = newBodycontent;
-	}
-
-	/**
-	 * Sets the description.
-	 * @param description The description to set
-	 */
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	/**
-	 * Sets the displayName.
-	 * @param displayName The displayName to set
-	 */
-	public void setDisplayName(String displayName) {
-		this.displayName = displayName;
-	}
-	/**
-	 * @param example The example to set.
-	 */
-	public void setExample(String example) {
-		fExample = example;
-	}
-
-	/**
-	 * Sets the largeIcon.
-	 * @param largeIcon The largeIcon to set
-	 */
-	public void setLargeIcon(String largeIcon) {
-		this.largeIcon = largeIcon;
-	}
-
-	public void setNodeName(String string) {
-		nodeName = string;
-	}
-	/**
-	 * @param path The path to set.
-	 */
-	public void setPath(String path) {
-		fPath = path;
-	}
-
-	/**
-	 * Sets the smallIcon.
-	 * @param smallIcon The smallIcon to set
-	 */
-	public void setSmallIcon(String smallIcon) {
-		this.smallIcon = smallIcon;
-	}
-
-	/**
-	 * 
-	 * @param newTagclass java.lang.String
-	 */
-	public void setTagclass(String newTagclass) {
-		tagclass = newTagclass;
-	}
-
-	/**
-	 * 
-	 * @param newTeiclass java.lang.String
-	 */
-	public void setTeiclass(String newTeiclass) {
-		teiclass = newTeiclass;
-	}
-
-	/**
-	 * Sets the variables.
-	 * @param variables The variables to set
-	 */
-	public void setVariables(List variables) {
-		this.variables = variables;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		return false;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("\n\t " + super.toString()); //$NON-NLS-1$
-		buffer.append("\n\t name:" + StringUtils.escape(getNodeName())); //$NON-NLS-1$
-		buffer.append("\n\t tag class:" + StringUtils.escape(getTagclass())); //$NON-NLS-1$
-		buffer.append("\n\t tei class:" + StringUtils.escape(getTeiclass())); //$NON-NLS-1$
-		buffer.append("\n\t body content:" + StringUtils.escape(getBodycontent())); //$NON-NLS-1$
-		buffer.append("\n\t description (info):" + StringUtils.escape(getDescription())); //$NON-NLS-1$
-		buffer.append("\n\t attributes:"); //$NON-NLS-1$
-		CMNamedNodeMap attributes = getAttributes();
-		for (int i = 0; i < attributes.getLength(); i++) {
-			buffer.append("\n\t\t" + StringUtils.replace(attributes.item(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		buffer.append("\n\t variables:"); //$NON-NLS-1$
-		for (int i = 0; i < getVariables().size(); i++) {
-			buffer.append("\n\t\t" + StringUtils.replace(getVariables().get(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNamedNodeMapImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNamedNodeMapImpl.java
deleted file mode 100644
index ec0683d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNamedNodeMapImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-public class CMNamedNodeMapImpl implements CMNamedNodeMap {
-
-	public static CMNamedNodeMapImpl EMPTY_NAMED_NODE_MAP = new CMNamedNodeMapImpl();
-	protected Hashtable table = new Hashtable();
-
-	/**
-	 * CMNamedNodeMapImpl constructor comment.
-	 */
-	public CMNamedNodeMapImpl() {
-		super();
-	}
-
-	Hashtable getHashtable() {
-		return table;
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return table.size();
-	}
-
-	/**
-	 * getNamedItem method
-	 * @return CMNode
-	 * @param name java.lang.String
-	 */
-	public CMNode getNamedItem(String name) {
-		return (CMNode) table.get(name);
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		Object result = null;
-		int size = table.size();
-		if (index < size) {
-			Iterator values = iterator();
-			for (int i = 0; i <= index; i++) {
-				result = values.next();
-			}
-		}
-		return (CMNode) result;
-	}
-
-	public Iterator iterator() {
-		return table.values().iterator();
-	}
-
-	/**
-	 * getNamedItem method
-	 * @return
-	 * @param name java.lang.String
-	 * @param aNode CMNode
-	 */
-	public void setNamedItem(String name, CMNode aNode) {
-		if (name != null && aNode != null)
-			table.put(name, aNode);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNodeListImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNodeListImpl.java
deleted file mode 100644
index 93b3520..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMNodeListImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-
-public class CMNodeListImpl implements CMNodeList {
-	static CMNodeListImpl EMPTY_NODE_LIST = new CMNodeListImpl(Collections.EMPTY_LIST);
-	protected List list;
-
-	public CMNodeListImpl() {
-		this(new ArrayList());
-	}
-
-	public CMNodeListImpl(List list) {
-		this.list = list;
-	}
-
-	public void appendItem(CMNode node) {
-		list.add(node);
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return list.size();
-	}
-
-	public List getList() {
-		return list;
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		return (CMNode) list.get(index);
-	}
-
-	public Iterator iterator() {
-		return list.iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDCMDocumentManager.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDCMDocumentManager.java
deleted file mode 100644
index 460d092..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDCMDocumentManager.java
+++ /dev/null
@@ -1,919 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.jst.jsp.core.JSP12Namespace;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP11TLDNames;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP20TLDNames;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDDocument;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDElementDeclaration;
-import org.eclipse.jst.jsp.core.contentmodel.tld.URIResolverProvider;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibIndex;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.uriresolver.URIResolverPlugin;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandlerExtension;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-public class TLDCMDocumentManager {
-
-	protected class DirectiveStructuredDocumentRegionHandler implements StructuredDocumentRegionHandler, StructuredDocumentRegionHandlerExtension {
-
-		/**
-		 * Adds a block tagname (fully namespace qualified) into the list of
-		 * block tag names for the parser. The marker
-		 * IStructuredDocumentRegion along with position cues during reparses
-		 * allow the JSPSourceParser to enable/ignore the tags as blocks.
-		 */
-		protected void addBlockTag(String tagnameNS, IStructuredDocumentRegion marker) {
-			if (getParser() == null)
-				return;
-			if (getParser().getBlockMarker(tagnameNS) == null) {
-				getParser().addBlockMarker(new BlockMarker(tagnameNS, marker, XMLRegionContext.BLOCK_TEXT, true, false));
-				if (_debug) {
-					System.out.println("TLDCMDocumentManager added block marker: " + tagnameNS + "@" + marker.getStartOffset()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-
-		/**
-		 * Enables a TLD owning the given prefix loaded from the given URI at
-		 * the anchorStructuredDocumentRegion. The list of
-		 * additionalCMDocuments will claim to not know any of its tags at
-		 * positions earlier than that IStructuredDocumentRegion's position.
-		 * 
-		 * For taglib directives, the taglib is the anchor while taglibs
-		 * registered through include directives use the parent document's
-		 * include directive as their anchor.
-		 * 
-		 * @param prefix
-		 * @param uri
-		 * @param anchorStructuredDocumentRegion
-		 */
-		protected void enableTaglibFromURI(String prefix, String uri, IStructuredDocumentRegion anchorStructuredDocumentRegion) {
-			if (prefix == null || uri == null || bannedPrefixes.contains(prefix))
-				return;
-			// Try to load the CMDocument for this URI
-			CMDocument tld = getCMDocument(uri);
-			if (tld == null || !(tld instanceof TLDDocument)) {
-				if (_debug) {
-					System.out.println("TLDCMDocumentManager failed to create a CMDocument for " + uri); //$NON-NLS-1$
-				}
-				return;
-			}
-			CMNamedNodeMap elements = tld.getElements();
-			// Go through the CMDocument for any tags that must be marked as
-			// block tags
-			// starting at the anchoring IStructuredDocumentRegion. As the
-			// document is edited and the
-			// IStructuredDocumentRegion moved around, the block tag
-			// enablement will automatically follow
-			// it.
-			for (int i = 0; i < elements.getLength(); i++) {
-				TLDElementDeclaration ed = (TLDElementDeclaration) elements.item(i);
-				if (ed.getBodycontent() == JSP12TLDNames.CONTENT_TAGDEPENDENT)
-					addBlockTag(prefix + ":" + ed.getNodeName(), anchorStructuredDocumentRegion); //$NON-NLS-1$
-			}
-			// Since modifications to StructuredDocumentRegions adjacent to a
-			// taglib directive can cause
-			// that IStructuredDocumentRegion to be reported, filter out any
-			// duplicated URIs. When the
-			// taglib is actually modified, a full rebuild will occur and no
-			// duplicates
-			// will/should be found.
-			List trackers = getTaglibTrackers();
-			for (int i = 0; i < trackers.size(); i++) {
-				TaglibTracker tracker = (TaglibTracker) trackers.get(i);
-				if (tracker.getPrefix().equals(prefix) && tracker.getURI().equals(uri)) {
-					return;
-				}
-			}
-			if (_debug) {
-				System.out.println("TLDCMDocumentManager registered a tracker for " + uri + " with prefix " + prefix); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			getTaglibTrackers().add(new TaglibTracker(uri, prefix, tld, anchorStructuredDocumentRegion));
-		}
-
-		/**
-		 * Enables a TLD owning the given prefix loaded from the given URI at
-		 * the anchorStructuredDocumentRegion. The list of
-		 * additionalCMDocuments will claim to not know any of its tags at
-		 * positions earlier than that IStructuredDocumentRegion's position.
-		 * 
-		 * For taglib directives, the taglib is the anchor while taglibs
-		 * registered through include directives use the parent document's
-		 * include directive as their anchor.
-		 * 
-		 * @param prefix
-		 * @param uri
-		 * @param taglibStructuredDocumentRegion
-		 */
-		protected void enableTagsInDir(String prefix, String tagdir, IStructuredDocumentRegion taglibStructuredDocumentRegion) {
-			if (prefix == null || tagdir == null || bannedPrefixes.contains(prefix))
-				return;
-			if (_debug) {
-				System.out.println("TLDCMDocumentManager enabling tags from directory" + tagdir + " for prefix " + prefix); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			// Try to load the CMDocument for this URI
-			CMDocument tld = getImplicitCMDocument(tagdir);
-			if (tld == null || !(tld instanceof TLDDocument))
-				return;
-			CMNamedNodeMap elements = tld.getElements();
-			// Go through the CMDocument for any tags that must be marked as
-			// block tags
-			// starting at the anchoring IStructuredDocumentRegion. As the
-			// document is edited and the
-			// IStructuredDocumentRegion moved around, the block tag
-			// enablement will automatically follow
-			// it.
-			for (int i = 0; i < elements.getLength(); i++) {
-				TLDElementDeclaration ed = (TLDElementDeclaration) elements.item(i);
-				if (ed.getBodycontent() == JSP12TLDNames.CONTENT_TAGDEPENDENT)
-					addBlockTag(prefix + ":" + ed.getNodeName(), taglibStructuredDocumentRegion); //$NON-NLS-1$
-			}
-			// Since modifications to StructuredDocumentRegions adjacent to a
-			// taglib directive can cause
-			// that IStructuredDocumentRegion to be reported, filter out any
-			// duplicated URIs. When the
-			// taglib is actually modified, a full rebuild will occur and no
-			// duplicates
-			// will/should be found.
-			List trackers = getTaglibTrackers();
-			for (int i = 0; i < trackers.size(); i++) {
-				TaglibTracker tracker = (TaglibTracker) trackers.get(i);
-				if (tracker.getPrefix().equals(prefix) && tracker.getURI().equals(tagdir)) {
-					return;
-				}
-			}
-			if (_debug) {
-				System.out.println("TLDCMDocumentManager registered a tracker for directory" + tagdir + " with prefix " + prefix); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			getTaglibTrackers().add(new TaglibTracker(tagdir, prefix, tld, taglibStructuredDocumentRegion));
-		}
-
-		public void nodeParsed(IStructuredDocumentRegion aCoreStructuredDocumentRegion) {
-			// could test > 1, but since we only care if there are 8 (<%@,
-			// taglib, uri, =, where, prefix, =, what) [or 4 for includes]
-			if (aCoreStructuredDocumentRegion.getNumberOfRegions() > 4 && aCoreStructuredDocumentRegion.getRegions().get(1).getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-				ITextRegion name = aCoreStructuredDocumentRegion.getRegions().get(1);
-				try {
-					if (getParser() == null) {
-						Logger.log(Logger.WARNING, "Warning: parser text was requested by " + getClass().getName() + " but none was available; taglib support disabled"); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					else {
-						boolean taglibDetected = false;
-						boolean taglibDirectiveDetected = false;
-						boolean includeDetected = false;
-						boolean includeDirectiveDetected = false;
-						int startOffset = aCoreStructuredDocumentRegion.getStartOffset(name);
-						int textLength = name.getTextLength();
-
-						if (getParser() != null) {
-							taglibDetected = getParser().regionMatches(startOffset, textLength, JSP12TLDNames.TAGLIB);
-							taglibDirectiveDetected = getParser().regionMatches(startOffset, textLength, JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-							includeDetected = getParser().regionMatches(startOffset, textLength, JSP12TLDNames.INCLUDE);
-							includeDirectiveDetected = getParser().regionMatches(startOffset, textLength, JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-						}
-						else {
-							// old fashioned way
-							String directiveName = getParser().getText(startOffset, textLength);
-							taglibDetected = directiveName.equals(JSP12TLDNames.TAGLIB);
-							taglibDirectiveDetected = directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-							includeDetected = directiveName.equals(JSP12TLDNames.INCLUDE);
-							includeDirectiveDetected = directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-						}
-						if (taglibDetected || taglibDirectiveDetected) {
-							processTaglib(aCoreStructuredDocumentRegion);
-						}
-						else if (includeDetected || includeDirectiveDetected) {
-							processInclude(aCoreStructuredDocumentRegion);
-						}
-					}
-				}
-				catch (StringIndexOutOfBoundsException sioobExc) {
-					// do nothing
-				}
-			}
-			// could test > 1, but since we only care if there are 5 (<,
-			// jsp:root, xmlns:prefix, =, where)
-			else if (aCoreStructuredDocumentRegion.getNumberOfRegions() > 4 && aCoreStructuredDocumentRegion.getRegions().get(1).getType() == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME) {
-				if (getParser() == null) {
-					Logger.log(Logger.WARNING, "Warning: parser text was requested by " + getClass().getName() + " but none was available; taglib support disabled"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				else {
-					processJSPRoot(aCoreStructuredDocumentRegion);
-				}
-			}
-		}
-
-		protected void processInclude(IStructuredDocumentRegion aCoreStructuredDocumentRegion) {
-			processInclude(aCoreStructuredDocumentRegion, aCoreStructuredDocumentRegion, getParser());
-		}
-
-		/**
-		 * Process an include directive found by the textSource parser and
-		 * anchor any taglibs found within at the
-		 * anchorStructuredDocumentRegion. Includes use the including file as
-		 * the point of reference, not necessarily the "top" file.
-		 */
-		protected void processInclude(IStructuredDocumentRegion includeStructuredDocumentRegion, IStructuredDocumentRegion anchorStructuredDocumentRegion, JSPSourceParser textSource) {
-			ITextRegionList regions = includeStructuredDocumentRegion.getRegions();
-			String includedFile = null;
-			boolean isFilename = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					if (region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						if (textSource.getText(includeStructuredDocumentRegion.getStartOffset(region), region.getTextLength()).equals(JSP12TLDNames.FILE)) {
-							isFilename = true;
-						}
-						else {
-							isFilename = false;
-						}
-					}
-					else if (isFilename && region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						includedFile = textSource.getText(includeStructuredDocumentRegion.getStartOffset(region), region.getTextLength());
-						isFilename = false;
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				includedFile = null;
-			}
-			if (includedFile != null) {
-				IPath root = TaglibIndex.getContextRoot(getCurrentBaseLocation());
-				IPath fileLocation = new Path(URIHelper.normalize(StringUtils.strip(includedFile).trim(), getCurrentBaseLocation().toString(), root.toString()));
-				// check for "loops"
-				if (!getIncludes().contains(fileLocation) && fileLocation != null && !fileLocation.equals(getCurrentBaseLocation())) {
-					getIncludes().push(fileLocation);
-					if (getParser() != null)
-						new IncludeHelper(anchorStructuredDocumentRegion, getParser()).parse(fileLocation.toString());
-					else
-						Logger.log(Logger.WARNING, "Warning: parser text was requested by " + getClass().getName() + " but none was available; taglib support disabled"); //$NON-NLS-1$ //$NON-NLS-2$
-					getIncludes().pop();
-				}
-				else {
-					if (Debug.debugTokenizer)
-						System.out.println("LOOP IN @INCLUDES FOUND: " + fileLocation); //$NON-NLS-1$
-				}
-			}
-		}
-
-		// Pulls the URI and prefix from the given jsp:root
-		// IStructuredDocumentRegion and
-		// makes sure the tags are known.
-		protected void processJSPRoot(IStructuredDocumentRegion jspRootStructuredDocumentRegion) {
-			processJSPRoot(jspRootStructuredDocumentRegion, jspRootStructuredDocumentRegion, getParser());
-		}
-
-		protected void processJSPRoot(IStructuredDocumentRegion taglibStructuredDocumentRegion, IStructuredDocumentRegion anchorStructuredDocumentRegion, JSPSourceParser textSource) {
-			ITextRegionList regions = taglibStructuredDocumentRegion.getRegions();
-			String uri = null;
-			String prefix = null;
-			boolean taglib = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					if (region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						String name = textSource.getText(taglibStructuredDocumentRegion.getStartOffset(region), region.getTextLength());
-						if (name.startsWith(XMLNS)) { //$NON-NLS-1$
-							prefix = name.substring(XMLNS_LENGTH);
-							if (!bannedPrefixes.contains(prefix))
-								taglib = true;
-						}
-						else {
-							prefix = null;
-							taglib = false;
-						}
-					}
-					else if (taglib && region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						uri = textSource.getText(taglibStructuredDocumentRegion.getStartOffset(region), region.getTextLength());
-						if (uri != null && prefix != null && (StringUtils.strip(uri).length() > 0) && (StringUtils.strip(prefix).length() > 0)) {
-							if (anchorStructuredDocumentRegion == null)
-								enableTaglibFromURI(StringUtils.strip(prefix), StringUtils.strip(uri), taglibStructuredDocumentRegion);
-							else
-								enableTaglibFromURI(StringUtils.strip(prefix), StringUtils.strip(uri), anchorStructuredDocumentRegion);
-							uri = null;
-							prefix = null;
-						}
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				uri = null;
-				prefix = null;
-			}
-		}
-
-		protected void processTaglib(IStructuredDocumentRegion taglibStructuredDocumentRegion) {
-			processTaglib(taglibStructuredDocumentRegion, taglibStructuredDocumentRegion, getParser());
-		}
-
-		/**
-		 * Pulls the URI and prefix from the given taglib directive
-		 * IStructuredDocumentRegion and makes sure the tags are known.
-		 */
-		protected void processTaglib(IStructuredDocumentRegion taglibStructuredDocumentRegion, IStructuredDocumentRegion anchorStructuredDocumentRegion, JSPSourceParser textSource) {
-			ITextRegionList regions = taglibStructuredDocumentRegion.getRegions();
-			String uri = null;
-			String prefix = null;
-			String tagdir = null;
-			String attrName = null;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					// remember attribute name
-					int startOffset = taglibStructuredDocumentRegion.getStartOffset(region);
-					int textLength = region.getTextLength();
-					if (region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						// String name = textSource.getText(startOffset,
-						// textLength);
-						if (textSource.regionMatches(startOffset, textLength, JSP11TLDNames.PREFIX)) {
-							attrName = JSP11TLDNames.PREFIX;
-						}
-						else if (textSource.regionMatches(startOffset, textLength, JSP12TLDNames.URI)) {
-							attrName = JSP11TLDNames.URI;
-						}
-						else if (textSource.regionMatches(startOffset, textLength, JSP20TLDNames.TAGDIR)) {
-							attrName = JSP20TLDNames.TAGDIR;
-						}
-						else {
-							attrName = null;
-						}
-					}
-					// process value
-					else if (region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						if (JSP11TLDNames.PREFIX.equals(attrName))
-							prefix = textSource.getText(startOffset, textLength);
-						else if (JSP11TLDNames.URI.equals(attrName))
-							uri = textSource.getText(startOffset, textLength);
-						else if (JSP20TLDNames.TAGDIR.equals(attrName))
-							tagdir = textSource.getText(startOffset, textLength);
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				uri = null;
-				prefix = null;
-			}
-			if (uri != null && prefix != null && (StringUtils.strip(uri).length() > 0) && (StringUtils.strip(prefix).length() > 0)) {
-				if (anchorStructuredDocumentRegion == null)
-					enableTaglibFromURI(StringUtils.strip(prefix), StringUtils.strip(uri), taglibStructuredDocumentRegion);
-				else
-					enableTaglibFromURI(StringUtils.strip(prefix), StringUtils.strip(uri), anchorStructuredDocumentRegion);
-			}
-			else if (tagdir != null && prefix != null && (StringUtils.strip(tagdir).length() > 0) && (StringUtils.strip(prefix).length() > 0)) {
-				if (anchorStructuredDocumentRegion == null)
-					enableTagsInDir(StringUtils.strip(prefix), StringUtils.strip(tagdir), taglibStructuredDocumentRegion);
-				else
-					enableTagsInDir(StringUtils.strip(prefix), StringUtils.strip(tagdir), anchorStructuredDocumentRegion);
-			}
-		}
-
-		private void resetBlockTags() {
-			if (getParser() == null)
-				return;
-			Iterator names = getParser().getBlockMarkers().iterator();
-			while (names.hasNext()) {
-				BlockMarker marker = (BlockMarker) names.next();
-				if (!marker.isGlobal() && marker.getContext() == XMLRegionContext.BLOCK_TEXT) {
-					if (_debug) {
-						System.out.println("TLDCMDocumentManager removing block tag named: " + marker.getTagName()); //$NON-NLS-1$
-					}
-					names.remove();
-				}
-			}
-		}
-
-		public void resetNodes() {
-			if (Debug.debugTaglibs)
-				System.out.println(getClass().getName() + ": resetting"); //$NON-NLS-1$
-			getIncludes().clear();
-			resetBlockTags();
-			resetTaglibTrackers();
-		}
-
-		public void setStructuredDocument(IStructuredDocument newDocument) {
-			Assert.isTrue(newDocument != null, "null document");
-			Assert.isTrue(newDocument.getParser() != null, "null document parser");
-			Assert.isTrue(newDocument.getParser() instanceof JSPSourceParser, "can only listen to document with a JSPSourceParser");
-			getSourceParser().removeStructuredDocumentRegionHandler(this);
-			setSourceParser((JSPSourceParser) newDocument.getParser());
-			getSourceParser().addStructuredDocumentRegionHandler(this);
-		}
-	}
-
-	protected class IncludeHelper extends DirectiveStructuredDocumentRegionHandler {
-		protected IStructuredDocumentRegion fAnchor = null;
-		protected JSPSourceParser fLocalParser = null;
-		protected JSPSourceParser fParentParser = null;
-
-		public IncludeHelper(IStructuredDocumentRegion anchor, JSPSourceParser rootParser) {
-			super();
-			fAnchor = anchor;
-			fParentParser = rootParser;
-		}
-
-		private String detectCharset(IFile file) {
-			if (file.getType() == IResource.FILE && file.isAccessible()) {
-				IContentDescription d = null;
-				try {
-					// optimized description lookup, might not succeed
-					d = file.getContentDescription();
-					if (d != null)
-						return d.getCharset();
-				}
-				catch (CoreException e) {
-					// should not be possible given the accessible and file
-					// type
-					// check above
-				}
-				InputStream contents = null;
-				try {
-					contents = file.getContents();
-					IContentDescription description = Platform.getContentTypeManager().getDescriptionFor(contents, file.getName(), new QualifiedName[]{IContentDescription.CHARSET});
-					if (description != null) {
-						return description.getCharset();
-					}
-				}
-				catch (IOException e) {
-					// will try to cleanup in finally
-				}
-				catch (CoreException e) {
-					Logger.logException(e);
-				}
-				finally {
-					if (contents != null) {
-						try {
-							contents.close();
-						}
-						catch (Exception e) {
-							// not sure how to recover at this point
-						}
-					}
-				}
-			}
-			return ResourcesPlugin.getEncoding();
-		}
-
-		protected String getContents(String fileName) {
-			StringBuffer s = new StringBuffer();
-			IFile iFile = FileBuffers.getWorkspaceFileAtLocation(new Path(fileName));
-			if (iFile != null && iFile.exists()) {
-				String charset = detectCharset(iFile);
-				InputStream contents = null;
-				try {
-					contents = iFile.getContents();
-					Reader reader = new InputStreamReader(contents, charset);
-					char[] readBuffer = new char[2048];
-					int n = reader.read(readBuffer);
-					while (n > 0) {
-						s.append(readBuffer, 0, n);
-						n = reader.read(readBuffer);
-					}
-				}
-				catch (Exception e) {
-					if (Debug.debugStructuredDocument)
-						Logger.log(Logger.WARNING, "An exception occured while scanning " + fileName, e); //$NON-NLS-1$
-				}
-				finally {
-					try {
-						if (contents != null) {
-							contents.close();
-						}
-					}
-					catch (Exception e) {
-						// nothing to do
-					}
-				}
-			}
-			else {
-				int c = 0;
-				int length = 0;
-				int count = 0;
-				File file = null;
-				FileInputStream fis = null;
-				try {
-					file = new File(fileName);
-					length = (int) file.length();
-					fis = new FileInputStream(file);
-					while (((c = fis.read()) >= 0) && (count < length)) {
-						count++;
-						s.append((char) c);
-					}
-				}
-				catch (FileNotFoundException e) {
-					if (Debug.debugStructuredDocument)
-						System.out.println("File not found : \"" + fileName + "\""); //$NON-NLS-2$//$NON-NLS-1$
-				}
-				catch (ArrayIndexOutOfBoundsException e) {
-					if (Debug.debugStructuredDocument)
-						System.out.println("Usage wrong: specify inputfile"); //$NON-NLS-1$
-					//$NON-NLS-1$
-				}
-				catch (IOException e) {
-					if (Debug.debugStructuredDocument)
-						System.out.println("An I/O error occured while scanning :"); //$NON-NLS-1$
-					//$NON-NLS-1$
-				}
-				catch (Exception e) {
-					if (Debug.debugStructuredDocument)
-						e.printStackTrace();
-				}
-				finally {
-					try {
-						if (fis != null) {
-							fis.close();
-						}
-					}
-					catch (Exception e) {
-						// nothing to do
-					}
-				}
-			}
-			return s.toString();
-		}
-
-		public void nodeParsed(IStructuredDocumentRegion aCoreStructuredDocumentRegion) {
-			// could test > 1, but since we only care if there are 8 (<%@,
-			// taglib, uri, =, where, prefix, =, what)
-			if (aCoreStructuredDocumentRegion.getNumberOfRegions() > 1 && aCoreStructuredDocumentRegion.getRegions().get(1).getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-				ITextRegion name = aCoreStructuredDocumentRegion.getRegions().get(1);
-				try {
-					String directiveName = fLocalParser.getText(aCoreStructuredDocumentRegion.getStartOffset(name), name.getTextLength());
-					if (directiveName.equals(JSP12TLDNames.TAGLIB) || directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB)) {
-						processTaglib(aCoreStructuredDocumentRegion, fAnchor, fLocalParser);
-					}
-					if (directiveName.equals(JSP12TLDNames.INCLUDE) || directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE)) {
-						processInclude(aCoreStructuredDocumentRegion, fAnchor, fLocalParser);
-					}
-				}
-				catch (StringIndexOutOfBoundsException sioobExc) {
-					// do nothing
-				}
-			}
-			// could test > 1, but since we only care if there are 5 (<,
-			// jsp:root, xmlns:prefix, =, where)
-			else if (aCoreStructuredDocumentRegion.getNumberOfRegions() > 4 && aCoreStructuredDocumentRegion.getRegions().get(1).getType() == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME) {
-				processJSPRoot(aCoreStructuredDocumentRegion, fAnchor, fLocalParser);
-			}
-		}
-
-		public void parse(String filename) {
-			JSPSourceParser p = new JSPSourceParser();
-			fLocalParser = p;
-			List blockTags = fParentParser.getBlockMarkers();
-			String includedFilename = filename;
-			File baseFile = FileBuffers.getSystemFileAtLocation(new Path(includedFilename));
-			try {
-				if (baseFile != null)
-					includedFilename = baseFile.getCanonicalPath();
-			}
-			catch (IOException e) {
-			}
-			String s = getContents(includedFilename);
-			fLocalParser.addStructuredDocumentRegionHandler(this);
-			fLocalParser.reset(s);
-			for (int i = 0; i < blockTags.size(); i++) {
-				BlockMarker marker = (BlockMarker) blockTags.get(i);
-				fLocalParser.addBlockMarker(new BlockMarker(marker.getTagName(), null, marker.getContext(), marker.isCaseSensitive()));
-			}
-			// force parse
-			fLocalParser.getDocumentRegions();
-			fLocalParser = null;
-		}
-
-		public void resetNodes() {
-		}
-
-	}
-
-	static final boolean _debug = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/tldcmdocument/manager")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	// will hold the prefixes banned by the specification; taglibs may not use
-	// them
-	protected static List bannedPrefixes = null;
-	static final String XMLNS = "xmlns:"; //$NON-NLS-1$ 
-	static final int XMLNS_LENGTH = XMLNS.length();
-
-	static {
-		bannedPrefixes = new ArrayList(7);
-		bannedPrefixes.add("jsp"); //$NON-NLS-1$
-		bannedPrefixes.add("jspx"); //$NON-NLS-1$
-		bannedPrefixes.add("java"); //$NON-NLS-1$
-		bannedPrefixes.add("javax"); //$NON-NLS-1$
-		bannedPrefixes.add("servlet"); //$NON-NLS-1$
-		bannedPrefixes.add("sun"); //$NON-NLS-1$
-		bannedPrefixes.add("sunw"); //$NON-NLS-1$
-	}
-
-	private CMDocumentFactoryTLD fCMDocumentBuilder = null;
-	private DirectiveStructuredDocumentRegionHandler fDirectiveHandler = null;
-	private Hashtable fDocuments = null;
-	private Stack fIncludes = null;
-
-	private JSPSourceParser fParser = null;
-
-	// trivial hand edit to remove unused variable private URIResolverProvider
-	// fResolverProvider = null;
-
-	private List fTaglibTrackers = null;
-
-	public TLDCMDocumentManager() {
-		super();
-	}
-
-	public void clearCache() {
-		if (_debug) {
-			System.out.println("TLDCMDocumentManager cleared its CMDocument cache"); //$NON-NLS-1$
-		}
-		getDocuments().clear();
-	}
-
-	/**
-	 * Return the CMDocument at the uri (cached)
-	 */
-	protected CMDocument getCMDocument(String uri) {
-		if (uri == null || uri.length() == 0)
-			return null;
-		String reference = uri;
-		/**
-		 * JSP 1.2 Specification, section 5.2.2 jsp-1_2-fcs-spec.pdf, page 87
-		 */
-		String URNprefix = "urn:jsptld:"; //$NON-NLS-1$
-		if (reference.startsWith(URNprefix)) {
-			/**
-			 * @see section 7.3.2
-			 */
-			if (reference.length() > URNprefix.length())
-				reference = reference.substring(11);
-		}
-		else {
-			/**
-			 * @see section 7.3.6
-			 */
-		}
-		CMDocument doc = (CMDocument) getDocuments().get(reference);
-		if (doc == null) {
-			doc = loadTaglib(reference);
-			if (doc != null)
-				getDocuments().put(reference, doc);
-		}
-		return doc;
-	}
-
-	/**
-	 * Gets the cMDocumentBuilder.
-	 * 
-	 * @return Returns a CMDocumentFactoryTLD, since it has more builder
-	 *         methods
-	 */
-	protected CMDocumentFactoryTLD getCMDocumentBuilder() {
-		if (fCMDocumentBuilder == null)
-			fCMDocumentBuilder = new CMDocumentFactoryTLD();
-		return fCMDocumentBuilder;
-	}
-
-	public List getCMDocumentTrackers(int offset) {
-		List validDocs = new ArrayList();
-		Iterator alldocs = getTaglibTrackers().iterator();
-		while (alldocs.hasNext()) {
-			TaglibTracker aTracker = (TaglibTracker) alldocs.next();
-			if (aTracker.getStructuredDocumentRegion().getStartOffset() < offset || offset < 0) {
-				validDocs.add(aTracker);
-			}
-		}
-		return validDocs;
-	}
-
-	public List getCMDocumentTrackers(String prefix, int offset) {
-		List validDocs = new ArrayList();
-		Iterator alldocs = getTaglibTrackers().iterator();
-		while (alldocs.hasNext()) {
-			TaglibTracker aTracker = (TaglibTracker) alldocs.next();
-			if ((aTracker.getStructuredDocumentRegion().getStartOffset() < offset || offset < 0) && aTracker.getPrefix().equals(prefix)) {
-				validDocs.add(aTracker);
-			}
-		}
-		return validDocs;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	IPath getCurrentBaseLocation() {
-		IPath baseLocation = null;
-		if (!getIncludes().isEmpty()) {
-			baseLocation = (IPath) getIncludes().peek();
-		}
-		else {
-			IPath path = TaglibController.getFileBuffer(this).getLocation();
-			if (path.toFile().exists())
-				baseLocation = path;
-			else
-				baseLocation = ResourcesPlugin.getWorkspace().getRoot().getFile(path).getLocation();
-		}
-		return baseLocation;
-	}
-
-	protected DirectiveStructuredDocumentRegionHandler getDirectiveStructuredDocumentRegionHandler() {
-		if (fDirectiveHandler == null)
-			fDirectiveHandler = new DirectiveStructuredDocumentRegionHandler();
-		return fDirectiveHandler;
-	}
-
-	/**
-	 * Gets the documents.
-	 * 
-	 * @return Returns a Hashtable
-	 */
-	public Hashtable getDocuments() {
-		if (fDocuments == null)
-			fDocuments = new Hashtable();
-		return fDocuments;
-	}
-
-	/**
-	 * Return the CMDocument at the tagdir (cached)
-	 */
-	protected CMDocument getImplicitCMDocument(String tagdir) {
-		if (tagdir == null || tagdir.length() == 0)
-			return null;
-		String reference = tagdir;
-		/**
-		 * JSP 1.2 Specification, section 5.2.2 jsp-1_2-fcs-spec.pdf, page 87
-		 */
-		String URNprefix = "urn:jsptld:"; //$NON-NLS-1$
-		if (reference.startsWith(URNprefix)) {
-			/**
-			 * @see section 7.3.2
-			 */
-			if (reference.length() > URNprefix.length())
-				reference = reference.substring(11);
-		}
-		else {
-			/**
-			 * @see section 7.3.6
-			 */
-		}
-		CMDocument doc = (CMDocument) getDocuments().get(reference);
-		if (doc == null) {
-			doc = loadTagDir(reference);
-			if (doc != null)
-				getDocuments().put(reference, doc);
-		}
-		return doc;
-	}
-
-	/**
-	 * Gets the includes.
-	 * 
-	 * @return Returns a Stack
-	 */
-	protected Stack getIncludes() {
-		if (fIncludes == null)
-			fIncludes = new Stack();
-		return fIncludes;
-	}
-
-	JSPSourceParser getParser() {
-		return fParser;
-	}
-
-	/**
-	 * @deprecated
-	 */
-	public URIResolverProvider getResolverProvider() {
-		return null;
-	}
-
-	public JSPSourceParser getSourceParser() {
-		return fParser;
-	}
-
-	public StructuredDocumentRegionHandler getStructuredDocumentRegionHandler() {
-		return getDirectiveStructuredDocumentRegionHandler();
-	}
-
-	/**
-	 * 
-	 * @return java.util.List
-	 */
-	public List getTaglibTrackers() {
-		if (fTaglibTrackers == null)
-			fTaglibTrackers = new ArrayList();
-		return fTaglibTrackers;
-	}
-
-	/**
-	 * Loads the tags from the specified URI. It must point to a URL of valid
-	 * tag files to work.
-	 */
-	protected CMDocument loadTagDir(String uri) {
-		ITaglibRecord reference = TaglibIndex.resolve(getCurrentBaseLocation().toString(), uri, false);
-		if (reference != null) {
-			CMDocument document = getCMDocumentBuilder().createCMDocument(reference);
-			if (document != null) {
-				return document;
-			}
-		}
-		// JSP2_TODO: implement for JSP 2.0
-		String location = URIResolverPlugin.createResolver().resolve(getCurrentBaseLocation().toString(), null, uri);
-		if (location == null)
-			return null;
-		if (_debug) {
-			System.out.println("Loading tags from dir" + uri + " at " + location); //$NON-NLS-2$//$NON-NLS-1$
-		}
-		return getCMDocumentBuilder().createCMDocument(location);
-	}
-
-	/**
-	 * Loads the taglib from the specified URI. It must point to a valid
-	 * taglib descriptor or valid JAR file to work.
-	 */
-	protected CMDocument loadTaglib(String uri) {
-		CMDocument document = null;
-		ITaglibRecord reference = TaglibIndex.resolve(TaglibController.getFileBuffer(this).getLocation().toString(), uri, false);
-		if (reference != null) {
-			document = getCMDocumentBuilder().createCMDocument(reference);
-		}
-		else {
-			String location = URIResolverPlugin.createResolver().resolve(getCurrentBaseLocation().toString(), null, uri);
-			if (location != null) {
-				if (_debug) {
-					System.out.println("Loading tags from " + uri + " at " + location); //$NON-NLS-2$//$NON-NLS-1$
-				}
-				document = getCMDocumentBuilder().createCMDocument(location);
-			}
-		}
-		return document;
-	}
-
-	protected void resetTaglibTrackers() {
-		if (_debug) {
-			System.out.println("TLDCMDocumentManager cleared its taglib trackers\n"); //$NON-NLS-1$
-		}
-		getTaglibTrackers().clear();
-	}
-
-	public void setSourceParser(JSPSourceParser parser) {
-		if (fParser != null)
-			fParser.removeStructuredDocumentRegionHandler(getStructuredDocumentRegionHandler());
-		fParser = parser;
-		if (fParser != null)
-			fParser.addStructuredDocumentRegionHandler(getStructuredDocumentRegionHandler());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDFunctionImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDFunctionImpl.java
deleted file mode 100644
index 9f42015..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDFunctionImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDFunction;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-
-public class TLDFunctionImpl implements TLDFunction {
-	private String fClassName = null;
-	private String fDescription = null;
-	private String fDisplayName = null;
-	private String fExample = null;
-	private List fExtensions = new ArrayList(0);
-	private String fIcon = null;
-	private String fName = null;
-
-	private CMDocument fOwnerDocument = null;
-	private String fSignature = null;
-
-	public TLDFunctionImpl(CMDocument owner) {
-		super();
-		fOwnerDocument = owner;
-	}
-
-	/**
-	 * @return Returns the className.
-	 */
-	public String getClassName() {
-		return fClassName;
-	}
-	/**
-	 * @return Returns the description.
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-
-	/**
-	 * @return Returns the displayName.
-	 */
-	public String getDisplayName() {
-		return fDisplayName;
-	}
-
-	/**
-	 * @return Returns the example.
-	 */
-	public String getExample() {
-		return fExample;
-	}
-
-	/**
-	 * @return Returns the extensions.
-	 */
-	public List getExtensions() {
-		return fExtensions;
-	}
-
-	/**
-	 * @return Returns the icon.
-	 */
-	public String getIcon() {
-		return fIcon;
-	}
-
-	/**
-	 * @return Returns the name.
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/**
-	 * @return Returns the ownerDocument.
-	 */
-	public CMDocument getOwnerDocument() {
-		return fOwnerDocument;
-	}
-
-	/**
-	 * @return Returns the signature.
-	 */
-	public String getSignature() {
-		return fSignature;
-	}
-
-	/**
-	 * @param className
-	 *            The className to set.
-	 */
-	public void setClassName(String className) {
-		fClassName = className;
-	}
-	/**
-	 * @param description The description to set.
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-	/**
-	 * @param displayName
-	 *            The displayName to set.
-	 */
-	public void setDisplayName(String displayName) {
-		fDisplayName = displayName;
-	}
-
-	/**
-	 * @param example
-	 *            The example to set.
-	 */
-	public void setExample(String example) {
-		fExample = example;
-	}
-
-	/**
-	 * @param icon
-	 *            The icon to set.
-	 */
-	public void setIcon(String icon) {
-		fIcon = icon;
-	}
-
-	/**
-	 * @param name
-	 *            The name to set.
-	 */
-	public void setName(String name) {
-		fName = name;
-	}
-
-	/**
-	 * @param signature
-	 *            The signature to set.
-	 */
-	public void setSignature(String signature) {
-		fSignature = signature;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDInitParamImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDInitParamImpl.java
deleted file mode 100644
index 6bc9fc1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDInitParamImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Sep 9, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.jsp.core.internal.contentmodel.tld;
-
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDInitParam;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-
-public class TLDInitParamImpl implements TLDInitParam {
-	private String description;
-	private String name;
-	private String value;
-
-	public TLDInitParamImpl() {
-		super();
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public String getValue() {
-		return value;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public void setValue(String value) {
-		this.value = value;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t name:" + StringUtils.escape(getName())); //$NON-NLS-1$
-		buffer.append("\n\t description:" + StringUtils.escape(getDescription())); //$NON-NLS-1$
-		buffer.append("\n\t value:" + StringUtils.escape(getValue())); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDListenerImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDListenerImpl.java
deleted file mode 100644
index 0fea952..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDListenerImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Sep 9, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.jsp.core.internal.contentmodel.tld;
-
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDListener;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-
-public class TLDListenerImpl implements TLDListener {
-	protected String listenerClass;
-
-	public String getListenerClass() {
-		return listenerClass;
-	}
-
-	public void setListenerClass(String className) {
-		listenerClass = className;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t listener class:" + StringUtils.escape(getListenerClass())); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDValidatorImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDValidatorImpl.java
deleted file mode 100644
index 7fc7f57..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDValidatorImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Sep 9, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jst.jsp.core.internal.contentmodel.tld;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDValidator;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-
-public class TLDValidatorImpl implements TLDValidator {
-	protected List initParams;
-	protected String validatorClass;
-
-	public List getInitParams() {
-		if (initParams == null)
-			initParams = new ArrayList();
-		return initParams;
-	}
-
-	public String getValidatorClass() {
-		return validatorClass;
-	}
-
-	public void setInitParams(List initParams) {
-		this.initParams = initParams;
-	}
-
-	public void setValidatorClass(String validatorClass) {
-		this.validatorClass = validatorClass;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t validator class:" + StringUtils.escape(getValidatorClass())); //$NON-NLS-1$
-		buffer.append("\n\t init-parms:"); //$NON-NLS-1$
-		for (int i = 0; i < getInitParams().size(); i++) {
-			buffer.append("\n" + StringUtils.replace(getInitParams().get(i).toString(), "\n", "\n\t\t")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDVariableImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDVariableImpl.java
deleted file mode 100644
index 8b75897..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TLDVariableImpl.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDVariable;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-
-public class TLDVariableImpl implements TLDVariable {
-	// optional - defaults to true
-	private boolean declare = true;
-	
-	private String fDescription;
-	// required
-	private String nameFromAttribute;
-	// required
-	private String nameGiven;
-	// optional - defaults to NESTED
-	private String scope = JSP12TLDNames.VARIABLE_SCOPE_NESTED;
-	// required - defaults to a String
-	private String variableClass = "java.lang.String"; //$NON-NLS-1$
-
-	public boolean getDeclare() {
-		return declare;
-	}
-
-	/**
-	 * @return Returns the description.
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-
-	public String getNameFromAttribute() {
-		return nameFromAttribute;
-	}
-
-	public String getNameGiven() {
-		return nameGiven;
-	}
-
-	public String getScope() {
-		return scope;
-	}
-
-	public String getVariableClass() {
-		return variableClass;
-	}
-
-	public void setDeclare(boolean declare) {
-		this.declare = declare;
-	}
-
-	public void setDeclareString(String decl) {
-		setDeclare(decl.equals(JSP12TLDNames.TRUE) || decl.equals(JSP12TLDNames.YES));
-	}
-	/**
-	 * @param description The description to set.
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-	public void setNameFromAttribute(String nameFromAttribute) {
-		this.nameFromAttribute = nameFromAttribute;
-	}
-
-	public void setNameGiven(String nameGiven) {
-		this.nameGiven = nameGiven;
-	}
-
-	public void setScope(String scope) {
-		this.scope = scope;
-	}
-
-	public void setVariableClass(String variableClass) {
-		this.variableClass = variableClass;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(super.toString());
-		buffer.append("\n\t name given:" + StringUtils.escape(getNameGiven())); //$NON-NLS-1$
-		buffer.append("\n\t name from attribute:" + StringUtils.escape(getNameFromAttribute())); //$NON-NLS-1$
-		// Boolean.toString(boolean) is introduced in JDK 1.4
-		//buffer.append("\n\t declare:" + StringUtils.escape(Boolean.toString(getDeclare())));
-		buffer.append("\n\t declare:" + StringUtils.toString(getDeclare())); //$NON-NLS-1$
-		buffer.append("\n\t scope:" + StringUtils.escape(getScope())); //$NON-NLS-1$
-		buffer.append("\n\t variable class:" + StringUtils.escape(getVariableClass())); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TaglibTracker.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TaglibTracker.java
deleted file mode 100644
index 8a9885f..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/TaglibTracker.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.internal.contentmodel.tld;
-
-
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.CMDocumentWrapperImpl;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.sse.core.contentmodel.CMDocumentTracker;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-/**
- * TaglibTracker class
- */
-public class TaglibTracker extends CMDocumentWrapperImpl implements CMDocumentTracker {
-
-	private IStructuredDocumentRegion fStructuredDocumentRegion;
-
-	public TaglibTracker(String newURI, String newPrefix, CMDocument tld, IStructuredDocumentRegion aStructuredDocumentRegion) {
-		super(newURI, newPrefix, tld);
-		fStructuredDocumentRegion = aStructuredDocumentRegion;
-	}
-
-	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getStructuredDocumentRegion() {
-		return fStructuredDocumentRegion;
-	}
-
-	public String toString() {
-		if (getStructuredDocumentRegion() != null)
-			return getPrefix() + "@" + getStructuredDocumentRegion().getStartOffset(); //$NON-NLS-1$
-		return super.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/AbstractContentDescriber.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/AbstractContentDescriber.java
deleted file mode 100644
index e9eaa94..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/AbstractContentDescriber.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.core.internal.contenttype;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescriber;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IContentDescriptionExtended;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-public abstract class AbstractContentDescriber implements ITextContentDescriber {
-
-	private final static QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.CHARSET, IContentDescription.BYTE_ORDER_MARK, IContentDescriptionExtended.DETECTED_CHARSET, IContentDescriptionExtended.UNSUPPORTED_CHARSET, IContentDescriptionExtended.APPROPRIATE_DEFAULT};
-
-	private void calculateSupportedOptions(InputStream contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	/**
-	 * @param contents
-	 * @param description
-	 * @throws IOException
-	 */
-	private void calculateSupportedOptions(Reader contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#describe(java.io.InputStream,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(InputStream contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.VALID;
-
-		calculateSupportedOptions(contents, description);
-
-		// assume if we're called at all that we are valid (few types could be
-		// disproved, maybe XML -- or, maybe if exception occurs above?)
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.ITextContentDescriber#describe(java.io.Reader,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(Reader contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.VALID;
-
-		calculateSupportedOptions(contents, description);
-
-		// assume if we're called at all that we are valid (few types could be
-		// disproved, maybe XML -- or, maybe if exception occurs above?)
-		return result;
-	}
-
-	protected abstract IResourceCharsetDetector getDetector();
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#getSupportedOptions()
-	 */
-	public QualifiedName[] getSupportedOptions() {
-
-		return SUPPORTED_OPTIONS;
-	}
-
-	/**
-	 * @param description
-	 * @param detector
-	 * @throws IOException
-	 */
-	protected void handleCalculations(IContentDescription description, IResourceCharsetDetector detector) throws IOException {
-		// note: if we're asked for one, we set them all. I need to be sure if
-		// called
-		// mulitiple times (one for each, say) that we don't waste time
-		// processing same
-		// content again.
-		EncodingMemento encodingMemento = detector.getEncodingMemento();
-		// TODO: I need to verify to see if this BOM work is always done
-		// by text type.
-		Object detectedByteOrderMark = encodingMemento.getUnicodeBOM();
-		if (detectedByteOrderMark != null) {
-			Object existingByteOrderMark = description.getProperty(IContentDescription.BYTE_ORDER_MARK);
-			// not sure why would ever be different, so if is different, may
-			// need to "push" up into base.
-			if (!detectedByteOrderMark.equals(existingByteOrderMark))
-				description.setProperty(IContentDescription.BYTE_ORDER_MARK, detectedByteOrderMark);
-		}
-
-
-		if (!encodingMemento.isValid()) {
-			// note: after setting here, its the mere presence of
-			// IContentDescriptionExtended.UNSUPPORTED_CHARSET
-			// in the resource's description that can be used to determine if
-			// invalid
-			// in those cases, the "detected" property contains an
-			// "appropriate default" to use.
-			description.setProperty(IContentDescriptionExtended.UNSUPPORTED_CHARSET, encodingMemento.getInvalidEncoding());
-			description.setProperty(IContentDescriptionExtended.APPROPRIATE_DEFAULT, encodingMemento.getAppropriateDefault());
-		}
-
-		Object detectedCharset = encodingMemento.getDetectedCharsetName();
-		Object javaCharset = encodingMemento.getJavaCharsetName();
-
-		// we always include detected, if its different than java
-		handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-
-		if (javaCharset != null) {
-			Object existingCharset = description.getProperty(IContentDescription.CHARSET);
-			if (javaCharset.equals(existingCharset)) {
-				handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-			} else {
-				// we may need to add what we found, but only need to add
-				// if different from default.the
-				Object defaultCharset = getDetector().getSpecDefaultEncoding();
-				if (defaultCharset != null) {
-					if (!defaultCharset.equals(javaCharset)) {
-						description.setProperty(IContentDescription.CHARSET, javaCharset);
-					}
-				} else {
-					// assuming if there is no spec default, we always need to
-					// add, I'm assuming
-					description.setProperty(IContentDescription.CHARSET, javaCharset);
-				}
-			}
-		}
-
-		// avoid adding anything if not absolutly needed, since always
-		// "cached" per session
-		//description.setProperty(IContentDescriptionExtended.ENCODING_MEMENTO,
-		// encodingMemento);
-	}
-
-	private void handleDetectedSpecialCase(IContentDescription description, Object detectedCharset, Object javaCharset) {
-		// since equal, we don't need to add, but if our detected version is
-		// different than
-		// javaCharset, then we should add it. This will happen, for example,
-		// if there's
-		// differences in case, or differences due to override properties
-		if (detectedCharset != null) {
-			//			if (!detectedCharset.equals(javaCharset)) {
-			//				description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET,
-			// detectedCharset);
-			//			}
-
-			// Once we detected a charset, we should set the property even
-			// though it's the same as javaCharset
-			// because there are clients that rely on this property to
-			// determine if the charset is actually detected in file or not.
-			description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET, detectedCharset);
-		}
-	}
-
-	/**
-	 * @param description
-	 * @return
-	 */
-	private boolean isRelevent(IContentDescription description) {
-		boolean result = false;
-		if (description == null)
-			result = false;
-		else if (description.isRequested(IContentDescription.BYTE_ORDER_MARK))
-			result = true;
-		else if (description.isRequested(IContentDescription.CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.APPROPRIATE_DEFAULT))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.DETECTED_CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.UNSUPPORTED_CHARSET))
-			result = true;
-		//		else if
-		// (description.isRequested(IContentDescriptionExtended.ENCODING_MEMENTO))
-		//			result = true;
-		return result;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/AbstractResourceEncodingDetector.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/AbstractResourceEncodingDetector.java
deleted file mode 100644
index bcc7dcd..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/AbstractResourceEncodingDetector.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.core.internal.contenttype;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.nio.charset.UnsupportedCharsetException;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.common.encoding.internal.ByteReader;
-
-
-public abstract class AbstractResourceEncodingDetector implements IResourceCharsetDetector {
-
-	protected EncodingMemento fEncodingMemento;
-
-	protected boolean fHeaderParsed;
-
-	protected Reader fReader;
-
-	/**
-	 *  
-	 */
-	public AbstractResourceEncodingDetector() {
-		super();
-	}
-
-	/**
-	 * Note: once this instance is created, trace info still needs to be
-	 * appended by caller, depending on the context its created.
-	 */
-	private void createEncodingMemento(String detectedCharsetName) {
-		fEncodingMemento = new EncodingMemento();
-		fEncodingMemento.setJavaCharsetName(getAppropriateJavaCharset(detectedCharsetName));
-		fEncodingMemento.setDetectedCharsetName(detectedCharsetName);
-		// TODO: if detectedCharset and spec default is
-		// null, need to use "work
-		// bench based" defaults.
-		fEncodingMemento.setAppropriateDefault(getSpecDefaultEncoding());
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 * 
-	 * @param detectedCharsetName
-	 * @param reason
-	 */
-	final protected void createEncodingMemento(String detectedCharsetName, String reason) {
-		createEncodingMemento(detectedCharsetName);
-		fEncodingMemento.addTrace(reason);
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 */
-	final protected void ensureInputSet() {
-		if (fReader == null) {
-			throw new IllegalStateException("input must be set before use"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * This method can return null, if invalid charset name (in which case
-	 * "appropriateDefault" should be used, if a name is really need for some
-	 * "save anyway" cases).
-	 * 
-	 * @param detectedCharsetName
-	 * @return
-	 */
-	private String getAppropriateJavaCharset(String detectedCharsetName) {
-		String result = null;
-		// 1. Check explicit mapping overrides from
-		// property file -- its here we pick up "rules" for cases
-		// that are not even in Java
-		result = CodedIO.checkMappingOverrides(detectedCharsetName);
-		// 2. Use the "canonical" name from JRE mappings
-		// Note: see Charset JavaDoc, the name you get one
-		// with can be alias,
-		// the name you get back is "standard" name.
-		Charset javaCharset = null;
-		try {
-			javaCharset = Charset.forName(detectedCharsetName);
-		} catch (UnsupportedCharsetException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		} catch (IllegalCharsetNameException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		}
-		// give priority to java cononical name, if present
-		if (javaCharset != null) {
-			result = javaCharset.name();
-			// but still allow overrides
-			result = CodedIO.checkMappingOverrides(result);
-		}
-		return result;
-	}
-
-	public String getEncoding() throws IOException {
-		return getEncodingMemento().getDetectedCharsetName();
-	}
-
-	// to ensure consist overall rules used, we'll mark as
-	// final,
-	// and require subclasses to provide certain pieces of
-	// the
-	// implementation
-	public EncodingMemento getEncodingMemento() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			// we keep track of if header's already been
-			// parse, so can make
-			// multiple 'get' calls, without causing
-			// reparsing.
-			fHeaderParsed = true;
-			// Note: there is a "hidden assumption" here
-			// that an empty
-			// string in content should be treated same as
-			// not present.
-		}
-		if (fEncodingMemento == null) {
-			handleSpecDefault();
-		}
-		if (fEncodingMemento == null) {
-			// safty net
-			fEncodingMemento = new NullMemento();
-		}
-		return fEncodingMemento;
-	}
-
-	/**
-	 * This is to return a default encoding -- as specified by an industry
-	 * content type spec -- when not present in the stream, for example, XML
-	 * specifies UTF-8, JSP specifies ISO-8859-1. This method should return
-	 * null if there is no such "spec default".
-	 */
-	abstract public String getSpecDefaultEncoding();
-
-	public EncodingMemento getSpecDefaultEncodingMemento() {
-		resetAll();
-		EncodingMemento result = null;
-		String enc = getSpecDefaultEncoding();
-		if (enc != null) {
-			createEncodingMemento(enc, EncodingMemento.DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-			fEncodingMemento.setAppropriateDefault(enc);
-			result = fEncodingMemento;
-		}
-		return result;
-	}
-
-	private void handleSpecDefault() {
-		String encodingName;
-		encodingName = getSpecDefaultEncoding();
-		if (encodingName != null) {
-			//createEncodingMemento(encodingName,
-			// EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-			fEncodingMemento = new EncodingMemento();
-			fEncodingMemento.setJavaCharsetName(encodingName);
-			fEncodingMemento.setAppropriateDefault(encodingName);
-			fEncodingMemento.addTrace(EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-		}
-	}
-
-	/**
-	 * Every subclass must provide a way to parse the input. This method has
-	 * several critical responsibilities:
-	 * <li>set the fEncodingMemento field appropriately, according to the
-	 * results of the parse of fReader.</li>
-	 * <li>set fHarderParsed to true, to avoid wasted re-parsing.</li>
-	 */
-	abstract protected void parseInput() throws IOException;
-
-	/**
-	 *  
-	 */
-	private void resetAll() {
-		fReader = null;
-		fHeaderParsed = false;
-		fEncodingMemento = null;
-	}
-
-	/**
-	 *  
-	 */
-	public void set(InputStream inputStream) {
-		resetAll();
-		fReader = new ByteReader(inputStream);
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossible, since we know ByteReader
-			// supports marking
-			throw new Error(e);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public void set(IStorage iStorage) throws CoreException {
-		resetAll();
-		InputStream inputStream = iStorage.getContents();
-		InputStream resettableStream = new BufferedInputStream(inputStream, CodedIO.MAX_BUF_SIZE);
-		resettableStream.mark(CodedIO.MAX_MARK_SIZE);
-		set(resettableStream);
-		// TODO we'll need to "remember" IFile, or
-		// get its (or its project's) settings, in case
-		// those are needed to handle cases when the
-		// encoding is not in the file stream.
-	}
-
-	/**
-	 * Note: this is not part of interface to help avoid confusion ... it
-	 * expected this Reader is a well formed character reader ... that is, its
-	 * all ready been determined to not be a unicode marked input stream. And,
-	 * its assumed to be in the correct position, at position zero, ready to
-	 * read first character.
-	 */
-	public void set(Reader reader) {
-		resetAll();
-		fReader = reader;
-		if (!fReader.markSupported()) {
-			fReader = new BufferedReader(fReader);
-		}
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossble, since we just checked if markable
-			throw new Error(e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/ContentDescriberForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/ContentDescriberForJSP.java
deleted file mode 100644
index 6b63b6d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/ContentDescriberForJSP.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.internal.contenttype;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.IContentDescriptionExtended;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-public class ContentDescriberForJSP extends AbstractContentDescriber implements ITextContentDescriber {
-	private final static QualifiedName[] SUPPORTED_OPTIONS = {
-				IContentDescription.CHARSET, 
-				IContentDescription.BYTE_ORDER_MARK, 
-				IContentDescriptionExtended.DETECTED_CHARSET, 
-				IContentDescriptionExtended.UNSUPPORTED_CHARSET, 
-				IContentDescriptionExtended.APPROPRIATE_DEFAULT,
-				IContentDescriptionForJSP.CONTENT_TYPE_ATTRIBUTE, 
-				IContentDescriptionForJSP.LANGUAGE_ATTRIBUTE};
-
-	public QualifiedName[] getSupportedOptions() {
-		return SUPPORTED_OPTIONS;
-	}
-
-	protected IResourceCharsetDetector getDetector() {
-		return new JSPResourceEncodingDetector();
-	}
-
-	protected void handleCalculations(IContentDescription description, IResourceCharsetDetector detector) throws IOException {
-		// handle standard ones first, to be sure detector processes
-		super.handleCalculations(description, detector);
-		// now do those specific for JSPs
-		// note: detector should always be of correct instance, but we'll check, for now.
-		if (detector instanceof JSPResourceEncodingDetector) {
-			JSPResourceEncodingDetector jspDetector = (JSPResourceEncodingDetector) detector;
-			String language = jspDetector.getLanguage();
-			if (language != null && language.length() > 0) {
-				description.setProperty(IContentDescriptionForJSP.LANGUAGE_ATTRIBUTE, language);
-			}
-			String contentTypeAttribute = jspDetector.getContentType(); 
-			if (contentTypeAttribute != null && contentTypeAttribute.length() > 0) {
-				description.setProperty(IContentDescriptionForJSP.CONTENT_TYPE_ATTRIBUTE, contentTypeAttribute);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/HeadParserToken.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/HeadParserToken.java
deleted file mode 100644
index 5a93e08..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/HeadParserToken.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.core.internal.contenttype;
-
-public class HeadParserToken {
-	private int fStart;
-
-	private String fText;
-	private String fType;
-
-	protected HeadParserToken() {
-		super();
-	}
-
-	public HeadParserToken(String type, int start, String text) {
-		this();
-		fType = type;
-		fStart = start;
-		fText = text;
-
-	}
-
-	public String getText() {
-		return fText;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return ("text: " + fText + " offset: " + fStart + " type: " + fType); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/IContentDescriptionForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/IContentDescriptionForJSP.java
deleted file mode 100644
index fabce57..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/IContentDescriptionForJSP.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * 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.internal.contenttype;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.wst.common.encoding.ICodedResourcePlugin;
-
-
-public interface IContentDescriptionForJSP {
-	/**
-	 * This should not be considered API at this point. It should probably be
-	 * moved in future.
-	 */
-	public final static QualifiedName CONTENT_TYPE_ATTRIBUTE = new QualifiedName(ICodedResourcePlugin.ID, "contentTypeAttribute"); //$NON-NLS-1$
-	public final static QualifiedName LANGUAGE_ATTRIBUTE = new QualifiedName(ICodedResourcePlugin.ID, "languageAttribute"); //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/IntStack.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/IntStack.java
deleted file mode 100644
index e04d0a2..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/IntStack.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.core.internal.contenttype;
-
-/*
- * 
- * A non-resizable class implementing the behavior of java.util.Stack, but
- * directly for the <code> integer </code> primitive.
- */
-import java.util.EmptyStackException;
-
-public class IntStack {
-	private int[] list = null;
-
-	private int size = 0;
-
-	public IntStack() {
-		this(100);
-	}
-
-	public IntStack(int maxdepth) {
-		super();
-		list = new int[maxdepth];
-		initialize();
-	}
-
-	public void clear() {
-		initialize();
-	}
-
-	public boolean empty() {
-		return size == 0;
-	}
-
-	public int get(int slot) {
-		return list[slot];
-	}
-
-	private void initialize() {
-		for (int i = 0; i < list.length; i++)
-			list[i] = -1;
-	}
-
-	/**
-	 * Returns the int at the top of the stack without removing it
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int peek() {
-		if (size == 0)
-			throw new EmptyStackException();
-		return list[size - 1];
-	}
-
-	/**
-	 * Removes and returns the int at the top of the stack
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int pop() {
-		int value = peek();
-		list[size - 1] = -1;
-		size--;
-		return value;
-	}
-
-	/**
-	 * Pushes an item onto the top of this stack.
-	 * 
-	 * @param newValue -
-	 *            the int to be pushed onto this stack.
-	 * @return the <code>newValue</code> argument.
-	 */
-	public int push(int newValue) {
-		if (size == list.length) {
-			throw new StackOverflowError();
-		}
-		list[size++] = newValue;
-		return newValue;
-	}
-
-	public int size() {
-		return list.length;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizer.java
deleted file mode 100644
index ff51ba8..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizer.java
+++ /dev/null
@@ -1,1323 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 9/7/04 8:12 AM */
-
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.internal.contenttype;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.xml.core.internal.contenttype.EncodingParserConstants;
-import org.eclipse.wst.xml.core.internal.contenttype.XMLHeadTokenizerConstants;
-
-
-
-
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 9/7/04 8:12 AM from the specification file
- * <tt>file:/D:/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizer.jflex</tt>
- */
-public class JSPHeadTokenizer {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int YYINITIAL = 0;
-  final public static int UnDelimitedString = 12;
-  final public static int DQ_STRING = 8;
-  final public static int SQ_STRING = 10;
-  final public static int ST_XMLDecl = 2;
-  final public static int ST_PAGE_DIRECTIVE = 4;
-  final public static int QuotedAttributeValue = 6;
-
-  /**
-   * YY_LEXSTATE[l] is the state in the DFA for the lexical state l
-   * YY_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-   *                  at the beginning of a line
-   * l is of the form l = 2*k, k a non negative integer
-   */
-  private final static int YY_LEXSTATE[] = { 
-     0,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7, 7
-  };
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\6\1\7\2\0\1\11\22\0\1\6\1\0\1\45\2\0"+
-    "\1\17\1\0\1\46\6\0\1\36\1\44\12\0\1\27\1\0\1\12"+
-    "\1\10\1\41\1\13\1\20\1\22\1\0\1\33\1\30\1\24\1\0"+
-    "\1\23\1\0\1\31\1\25\1\0\1\16\1\15\1\37\1\40\1\21"+
-    "\1\0\1\32\1\26\1\34\1\42\1\35\1\0\1\14\1\43\7\0"+
-    "\1\22\1\0\1\33\1\30\1\24\1\0\1\23\1\0\1\31\1\25"+
-    "\1\0\1\16\1\15\1\37\1\40\1\21\1\0\1\32\1\26\1\34"+
-    "\1\42\1\35\1\0\1\14\1\43\101\0\1\4\3\0\1\5\17\0"+
-    "\1\3\16\0\1\1\20\0\1\3\16\0\1\1\1\2\170\0\1\2"+
-    "\ufe87\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Internal error: unknown state",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-// trivial hand edit to remove unused variable  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-//trivial hand edit to remove unused variable  private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-
-
-	public JSPHeadTokenizer() {
-		super();
-	}
-
-	  public void reset (Reader in) {
-	  	/* the input device */
-	  	yy_reader = in;
-
-  		/* the current state of the DFA */
-  		yy_state = 0;
-
-  		/* the current lexical state */
-  		yy_lexical_state = YYINITIAL;
-
-  		/* this buffer contains the current text to be matched and is
-  		 the source of the yytext() string */
-  		java.util.Arrays.fill(yy_buffer, (char)0);
-
-  		/* the textposition at the last accepting state */
-  		yy_markedPos = 0;
-
-  		/* the textposition at the last state to be included in yytext */
-  		yy_pushbackPos = 0;
-
-  		/* the current text position in the buffer */
-  		yy_currentPos = 0;
-
-  		/* startRead marks the beginning of the yytext() string in the buffer */
-  		yy_startRead = 0;
-
-  		/**
-  		 * endRead marks the last character in the buffer, that has been read
-  		 * from input
-  		 */
-  		yy_endRead = 0;
-
-  		/* number of newlines encountered up to the start of the matched text */
-//  	 trivial hand edit to remove unused variable  yyline = 0;
-
-  		/* the number of characters up to the start of the matched text */
-  		yychar = 0;
-
-  		/**
-  		 * the number of characters from the last newline up to the start
-  		 * of the matched text
-  		 */
-//  	 trivial hand edit to remove unused variable    		yycolumn = 0;
-
-  		/**
-  		 * yy_atBOL == true <=> the scanner is currently at the beginning
-  		 * of a line
-  		 */
-  		yy_atBOL = false;
-
-  		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-  		yy_atEOF = false;
-
-  		/* denotes if the user-EOF-code has already been executed */
-  		yy_eof_done = false;
-
-
-  		fStateStack.clear();
-
-  		hasMore = true;
-
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-
-
-  	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-
-
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public JSPHeadTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public JSPHeadTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 182) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      System.out.println(YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-
-    System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  private void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    	hasMore=false;
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-
-    while (true) {
-
-      yychar+= yylength();
-
-      yy_atBOL = yy_markedPos <= 0 || yy_buffer[yy_markedPos-1] == '\n';
-      if (!yy_atBOL && yy_buffer[yy_markedPos-1] == '\r') {
-        yy_atBOL = yy_advance() != '\n';
-        if (!yy_atEOF) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      if (yy_atBOL)
-        yy_state = YY_LEXSTATE[yy_lexical_state+1];
-      else
-        yy_state = YY_LEXSTATE[yy_lexical_state];
-
-
-      yy_forAction: {
-        while (true) {
-
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          yy_input = yycmap[yy_input];
-
-          boolean yy_isFinal = false;
-          boolean yy_noLookAhead = false;
-
-          yy_forNext: { switch (yy_state) {
-            case 0:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_state = 9; break yy_forNext;
-                case 2: yy_isFinal = true; yy_state = 10; break yy_forNext;
-                case 3: yy_isFinal = true; yy_state = 11; break yy_forNext;
-                case 10: yy_isFinal = true; yy_state = 12; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 1:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_state = 9; break yy_forNext;
-                case 2: yy_isFinal = true; yy_state = 10; break yy_forNext;
-                case 3: yy_isFinal = true; yy_state = 11; break yy_forNext;
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 13; break yy_forNext;
-                case 10: yy_isFinal = true; yy_state = 14; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 2:
-              switch (yy_input) {
-                case 11: yy_isFinal = true; yy_state = 15; break yy_forNext;
-                case 20: yy_isFinal = true; yy_state = 16; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 3:
-              switch (yy_input) {
-                case 14: yy_isFinal = true; yy_state = 17; break yy_forNext;
-                case 15: yy_isFinal = true; yy_state = 18; break yy_forNext;
-                case 17: yy_isFinal = true; yy_state = 19; break yy_forNext;
-                case 27: yy_isFinal = true; yy_state = 20; break yy_forNext;
-                case 36: yy_isFinal = true; yy_state = 21; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 4:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 23; break yy_forNext;
-                case 7: yy_isFinal = true; yy_state = 24; break yy_forNext;
-                case 37: yy_isFinal = true; yy_noLookAhead = true; yy_state = 25; break yy_forNext;
-                case 38: yy_isFinal = true; yy_noLookAhead = true; yy_state = 26; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 22; break yy_forNext;
-              }
-
-            case 5:
-              switch (yy_input) {
-                case 7: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                case 11: yy_isFinal = true; yy_state = 29; break yy_forNext;
-                case 15: yy_isFinal = true; yy_state = 30; break yy_forNext;
-                case 37: yy_isFinal = true; yy_noLookAhead = true; yy_state = 31; break yy_forNext;
-                case 38: yy_isFinal = true; yy_state = 32; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 27; break yy_forNext;
-              }
-
-            case 6:
-              switch (yy_input) {
-                case 7: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                case 15: yy_isFinal = true; yy_state = 30; break yy_forNext;
-                case 38: yy_isFinal = true; yy_state = 33; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 27; break yy_forNext;
-              }
-
-            case 7:
-              switch (yy_input) {
-                case 11: 
-                case 15: yy_isFinal = true; yy_state = 30; break yy_forNext;
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 34; break yy_forNext;
-                case 37: yy_isFinal = true; yy_noLookAhead = true; yy_state = 35; break yy_forNext;
-                case 38: yy_isFinal = true; yy_state = 36; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 27; break yy_forNext;
-              }
-
-            case 9:
-              switch (yy_input) {
-                case 2: yy_isFinal = true; yy_noLookAhead = true; yy_state = 37; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 10:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_noLookAhead = true; yy_state = 38; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 11:
-              switch (yy_input) {
-                case 4: yy_state = 39; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 12:
-              switch (yy_input) {
-                case 15: yy_state = 40; break yy_forNext;
-                case 21: yy_state = 41; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 13:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 42; break yy_forNext;
-                case 10: yy_state = 43; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 14:
-              switch (yy_input) {
-                case 15: yy_state = 40; break yy_forNext;
-                case 21: yy_state = 41; break yy_forNext;
-                case 11: yy_state = 44; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 15:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 45; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 16:
-              switch (yy_input) {
-                case 31: yy_state = 46; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 17:
-              switch (yy_input) {
-                case 18: yy_state = 47; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 18:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 48; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 19:
-              switch (yy_input) {
-                case 18: yy_state = 49; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 20:
-              switch (yy_input) {
-                case 32: yy_state = 50; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 21:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 51; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 23:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 23; break yy_forNext;
-                case 7: yy_state = 52; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 22; break yy_forNext;
-              }
-
-            case 24:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 23; break yy_forNext;
-                case 7: yy_state = 52; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 22; break yy_forNext;
-              }
-
-            case 29:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 53; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 30:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 54; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 32:
-              switch (yy_input) {
-                case 10: yy_state = 55; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 33:
-              switch (yy_input) {
-                case 10: yy_state = 55; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 36:
-              switch (yy_input) {
-                case 10: yy_state = 55; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 39:
-              switch (yy_input) {
-                case 5: yy_isFinal = true; yy_noLookAhead = true; yy_state = 56; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 40:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 40; break yy_forNext;
-                case 16: yy_state = 57; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 41:
-              switch (yy_input) {
-                case 22: yy_state = 58; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 42:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 42; break yy_forNext;
-                case 10: yy_state = 43; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 43:
-              switch (yy_input) {
-                case 11: yy_state = 44; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 44:
-              switch (yy_input) {
-                case 12: yy_state = 59; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 46:
-              switch (yy_input) {
-                case 27: yy_state = 60; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 47:
-              switch (yy_input) {
-                case 31: yy_state = 61; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 49:
-              switch (yy_input) {
-                case 19: yy_state = 62; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 50:
-              switch (yy_input) {
-                case 31: yy_state = 63; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 52:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 23; break yy_forNext;
-                case 7: yy_state = 52; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 22; break yy_forNext;
-              }
-
-            case 55:
-              switch (yy_input) {
-                case 38: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 57:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 57; break yy_forNext;
-                case 17: yy_state = 64; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 58:
-              switch (yy_input) {
-                case 17: yy_state = 65; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 59:
-              switch (yy_input) {
-                case 13: yy_state = 66; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 60:
-              switch (yy_input) {
-                case 32: yy_state = 67; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 61:
-              switch (yy_input) {
-                case 19: yy_state = 68; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 62:
-              switch (yy_input) {
-                case 20: yy_state = 69; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 63:
-              switch (yy_input) {
-                case 28: yy_state = 70; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 64:
-              switch (yy_input) {
-                case 18: yy_state = 71; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 65:
-              switch (yy_input) {
-                case 23: yy_state = 72; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 66:
-              switch (yy_input) {
-                case 14: yy_state = 73; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 67:
-              switch (yy_input) {
-                case 24: yy_state = 74; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 68:
-              switch (yy_input) {
-                case 34: yy_state = 75; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 69:
-              switch (yy_input) {
-                case 20: yy_state = 76; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 70:
-              switch (yy_input) {
-                case 20: yy_state = 77; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 71:
-              switch (yy_input) {
-                case 19: yy_state = 78; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 72:
-              switch (yy_input) {
-                case 24: yy_state = 79; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 73:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 80; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 74:
-              switch (yy_input) {
-                case 25: yy_state = 81; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 75:
-              switch (yy_input) {
-                case 18: yy_state = 82; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 76:
-              switch (yy_input) {
-                case 31: yy_state = 83; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 77:
-              switch (yy_input) {
-                case 31: yy_state = 84; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 78:
-              switch (yy_input) {
-                case 20: yy_state = 85; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 79:
-              switch (yy_input) {
-                case 25: yy_state = 86; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 80:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 80; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 81:
-              switch (yy_input) {
-                case 31: yy_state = 87; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 82:
-              switch (yy_input) {
-                case 19: yy_state = 88; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 83:
-              switch (yy_input) {
-                case 27: yy_state = 89; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 84:
-              switch (yy_input) {
-                case 28: yy_state = 90; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 85:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 91; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 86:
-              switch (yy_input) {
-                case 26: yy_state = 92; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 87:
-              switch (yy_input) {
-                case 19: yy_state = 93; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 88:
-              switch (yy_input) {
-                case 20: yy_state = 94; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 89:
-              switch (yy_input) {
-                case 32: yy_state = 95; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 90:
-              switch (yy_input) {
-                case 28: yy_state = 96; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 91:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 91; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 92:
-              switch (yy_input) {
-                case 20: yy_state = 97; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 93:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 93; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 98; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 94:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 94; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 99; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 95:
-              switch (yy_input) {
-                case 24: yy_state = 100; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 96:
-              switch (yy_input) {
-                case 35: yy_state = 101; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 97:
-              switch (yy_input) {
-                case 27: yy_state = 102; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 98:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 98; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 99:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 99; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 100:
-              switch (yy_input) {
-                case 25: yy_state = 103; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 101:
-              switch (yy_input) {
-                case 17: yy_state = 104; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 102:
-              switch (yy_input) {
-                case 28: yy_state = 105; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 103:
-              switch (yy_input) {
-                case 31: yy_state = 106; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 104:
-              switch (yy_input) {
-                case 20: yy_state = 107; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 105:
-              switch (yy_input) {
-                case 25: yy_state = 108; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 106:
-              switch (yy_input) {
-                case 19: yy_state = 109; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 107:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 107; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 110; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 108:
-              switch (yy_input) {
-                case 29: yy_state = 111; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 109:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 109; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 112; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 110:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 110; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 111:
-              switch (yy_input) {
-                case 20: yy_state = 113; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 112:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 112; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 113:
-              switch (yy_input) {
-                case 30: yy_state = 114; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 114:
-              switch (yy_input) {
-                case 17: yy_state = 64; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            default:
-              yy_ScanError(YY_ILLEGAL_STATE);
-              break;
-          } }
-
-          if ( yy_isFinal ) {
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( yy_noLookAhead ) break yy_forAction;
-          }
-
-        }
-      }
-
-
-      switch (yy_action) {    
-
-        case 33: 
-          {  popState(); valueText = string.toString(); return EncodingParserConstants.StringValue; }
-        case 116: break;
-        case 28: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 117: break;
-        case 22: 
-        case 23: 
-          {  yypushback(1); yybegin(UnDelimitedString); string.setLength(0); }
-        case 118: break;
-        case 35: 
-        case 36: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue; }
-        case 119: break;
-        case 48: 
-          {  yybegin(YYINITIAL);  return JSPHeadTokenizerConstants.PageDirectiveEnd; }
-        case 120: break;
-        case 51: 
-          {  yybegin(YYINITIAL); return JSPHeadTokenizerConstants.PageDirectiveEnd; }
-        case 121: break;
-        case 53: 
-          {  yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 122: break;
-        case 54: 
-          {  yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 123: break;
-        case 80: 
-          { if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;} }
-        case 124: break;
-        case 8: 
-        case 9: 
-        case 10: 
-        case 11: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 15: 
-        case 16: 
-        case 17: 
-        case 18: 
-        case 19: 
-        case 20: 
-        case 21: 
-        case 24: 
-          { if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;} }
-        case 125: break;
-        case 91: 
-          { yybegin(ST_PAGE_DIRECTIVE); return JSPHeadTokenizerConstants.PageDirectiveStart; }
-        case 126: break;
-        case 45: 
-          { yybegin(YYINITIAL); hasMore = false; return XMLHeadTokenizerConstants.XMLDeclEnd; }
-        case 127: break;
-        case 112: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageEncoding; }
-        case 128: break;
-        case 110: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageContentType; }
-        case 129: break;
-        case 99: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageLanguage; }
-        case 130: break;
-        case 98: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding; }
-        case 131: break;
-        case 56: 
-          { hasMore = false; return EncodingParserConstants.UTF83ByteBOM; }
-        case 132: break;
-        case 37: 
-          { hasMore = false; return EncodingParserConstants.UTF16BE; }
-        case 133: break;
-        case 38: 
-          { hasMore = false; return EncodingParserConstants.UTF16LE; }
-        case 134: break;
-        case 31: 
-          {  popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;  }
-        case 135: break;
-        case 27: 
-        case 29: 
-        case 30: 
-        case 32: 
-          {  string.append( yytext() );  }
-        case 136: break;
-        case 26: 
-          {  yybegin(SQ_STRING); string.setLength(0);  }
-        case 137: break;
-        case 25: 
-          {  yybegin(DQ_STRING); string.setLength(0);  }
-        case 138: break;
-        case 34: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue;  }
-        case 139: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              { hasMore = false; return EncodingParserConstants.EOF; }
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-  /**
-   * Runs the scanner on input files.
-   *
-   * This main method is the debugging routine for the scanner.
-   * It prints each returned token to System.out until the end of
-   * file is reached, or an error occured.
-   *
-   * @param argv   the command line, contains the filenames to run
-   *               the scanner on.
-   */
-  public static void main(String argv[]) {
-    for (int i = 0; i < argv.length; i++) {
-      JSPHeadTokenizer scanner = null;
-      try {
-        scanner = new JSPHeadTokenizer( new java.io.FileReader(argv[i]) );
-      }
-      catch (java.io.FileNotFoundException e) {
-        System.out.println("File not found : \""+argv[i]+"\"");
-//        System.exit(1);
-      }
-//      catch (java.io.IOException e) {
-//        System.out.println("Error opening file \""+argv[i]+"\"");
-//        System.exit(1);
-//      }
-      catch (ArrayIndexOutOfBoundsException e) {
-        System.out.println("Usage : java JSPHeadTokenizer <inputfile>");
-       //System.exit(1);
-      }
-
-      try {
-        do {
-          System.out.println(scanner.primGetNextToken());
-        } while (!scanner.yy_atEOF);
-
-      }
-      catch (java.io.IOException e) {
-        System.out.println("An I/O error occured while scanning :");
-        System.out.println(e);
-        //System.exit(1);
-      }
-      catch (Exception e) {
-        e.printStackTrace();
-        //System.exit(1);
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizerConstants.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizerConstants.java
deleted file mode 100644
index 08fa5b9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPHeadTokenizerConstants.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.internal.contenttype;
-
-import org.eclipse.wst.xml.core.internal.contenttype.XMLHeadTokenizerConstants;
-
-public interface JSPHeadTokenizerConstants extends XMLHeadTokenizerConstants {
-	String PageDirectiveStart = "PageDirectiveStart"; //$NON-NLS-1$
-	String PageDirectiveEnd = "PageDirectiveEnd"; //$NON-NLS-1$
-	String PageLanguage = "PageLanguage"; //$NON-NLS-1$
-	String PageEncoding = "PageEncoding"; //$NON-NLS-1$
-	String PageContentType = "PageContentType"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPResourceEncodingDetector.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPResourceEncodingDetector.java
deleted file mode 100644
index 9d996c9..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/JSPResourceEncodingDetector.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * 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.internal.contenttype;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.xml.core.internal.contenttype.EncodingParserConstants;
-import org.eclipse.wst.xml.core.internal.contenttype.XMLHeadTokenizerConstants;
-
-public class JSPResourceEncodingDetector extends AbstractResourceEncodingDetector implements IResourceCharsetDetector {
-
-	private String fPageEncodingValue = null;
-	private JSPHeadTokenizer fTokenizer = null;
-	private String fLanguage;
-
-	private String fContentTypeValue;
-	private String fXMLDecEncodingName;
-	private String fCharset;
-	private boolean unicodeCase;
-	private String fContentType;
-
-	protected void parseInput() throws IOException {
-		JSPHeadTokenizer tokenizer = getTokinizer();
-		tokenizer.reset(fReader);
-		parseHeader(tokenizer);
-		// unicode stream cases are created directly in parseHeader
-		if (!unicodeCase) {
-			String enc = getAppropriateEncoding();
-			if (enc != null && enc.length() > 0) {
-				createEncodingMemento(enc, EncodingMemento.FOUND_ENCODING_IN_CONTENT);
-			}
-		}
-	}
-
-	private JSPHeadTokenizer getTokinizer() {
-		if (fTokenizer == null) {
-			fTokenizer = new JSPHeadTokenizer();
-		}
-		return fTokenizer;
-	}
-
-	/**
-	 * There can sometimes be mulitple 'encodings' specified in a file. This
-	 * is an attempt to centralize the rules for deciding between them.
-	 * Returns encoding according to priority: 1. XML Declaration 2. page
-	 * directive pageEncoding name 3. page directive contentType charset name
-	 */
-	private String getAppropriateEncoding() {
-		String result = null;
-		if (fXMLDecEncodingName != null)
-			result = fXMLDecEncodingName;
-		else if (fPageEncodingValue != null)
-			result = fPageEncodingValue;
-		else if (fCharset != null)
-			result = fCharset;
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	public JSPResourceEncodingDetector() {
-		super();
-	}
-
-	public String getSpecDefaultEncoding() {
-		// by JSP Spec
-		final String enc = "ISO-8859-1"; //$NON-NLS-1$
-		return enc;
-	}
-
-	private boolean canHandleAsUnicodeStream(String tokenType) {
-		boolean canHandleAsUnicode = false;
-		if (tokenType == EncodingParserConstants.UTF83ByteBOM) {
-			canHandleAsUnicode = true;
-			String enc = "UTF-8"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-			fEncodingMemento.setUTF83ByteBOMUsed(true);
-		}
-		else if (tokenType == EncodingParserConstants.UTF16BE) {
-			canHandleAsUnicode = true;
-			String enc = "UTF-16BE"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		}
-		else if (tokenType == EncodingParserConstants.UTF16LE) {
-			canHandleAsUnicode = true;
-			String enc = "UTF-16"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		}
-		return canHandleAsUnicode;
-	}
-
-	/**
-	 * Looks for what ever encoding properties the tokenizer returns. Its the
-	 * responsibility of the tokenizer to stop when appropriate and not go too
-	 * far.
-	 */
-	private void parseHeader(JSPHeadTokenizer tokenizer) throws IOException {
-		fPageEncodingValue = null;
-		fCharset = null;
-
-		HeadParserToken token = null;
-		do {
-			// don't use 'get' here (at least until reset issue fixed)
-			token = tokenizer.getNextToken();
-			String tokenType = token.getType();
-			if (canHandleAsUnicodeStream(tokenType))
-				unicodeCase = true;
-			else {
-
-				if (tokenType == XMLHeadTokenizerConstants.XMLDelEncoding) {
-					if (tokenizer.hasMoreTokens()) {
-						HeadParserToken valueToken = tokenizer.getNextToken();
-						String valueTokenType = valueToken.getType();
-						if (isLegalString(valueTokenType)) {
-							fXMLDecEncodingName = valueToken.getText();
-						}
-					}
-				}
-				else if (tokenType == JSPHeadTokenizerConstants.PageEncoding) {
-					if (tokenizer.hasMoreTokens()) {
-						HeadParserToken valueToken = tokenizer.getNextToken();
-						String valueTokenType = valueToken.getType();
-						if (isLegalString(valueTokenType)) {
-							fPageEncodingValue = valueToken.getText();
-						}
-					}
-				}
-				else if (tokenType == JSPHeadTokenizerConstants.PageContentType) {
-					if (tokenizer.hasMoreTokens()) {
-						HeadParserToken valueToken = tokenizer.getNextToken();
-						String valueTokenType = valueToken.getType();
-						if (isLegalString(valueTokenType)) {
-							fContentTypeValue = valueToken.getText();
-						}
-					}
-				}
-				else if (tokenType == JSPHeadTokenizerConstants.PageLanguage) {
-					if (tokenizer.hasMoreTokens()) {
-						HeadParserToken valueToken = tokenizer.getNextToken();
-						String valueTokenType = valueToken.getType();
-						if (isLegalString(valueTokenType)) {
-							fLanguage = valueToken.getText();
-						}
-					}
-				}
-			}
-		}
-		while (tokenizer.hasMoreTokens());
-		if (fContentTypeValue != null) {
-			parseContentTypeValue(fContentTypeValue);
-		}
-
-	}
-
-	private boolean isLegalString(String valueTokenType) {
-		if (valueTokenType == null)
-			return false;
-		else
-			return valueTokenType.equals(EncodingParserConstants.StringValue) || valueTokenType.equals(EncodingParserConstants.UnDelimitedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTerminatedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue);
-	}
-
-	private void parseContentTypeValue(String contentType) {
-		Pattern pattern = Pattern.compile(";\\s*charset\\s*=\\s*"); //$NON-NLS-1$
-		String[] parts = pattern.split(contentType);
-		if (parts.length > 0) {
-			// if only one item, it can still be charset instead of
-			// contentType
-			if (parts.length == 1) {
-				if (parts[0].length() > 6) {
-					String checkForCharset = parts[0].substring(0, 7);
-					if (checkForCharset.equalsIgnoreCase("charset")) { //$NON-NLS-1$
-						int eqpos = parts[0].indexOf('=');
-						eqpos = eqpos + 1;
-						if (eqpos < parts[0].length()) {
-							fCharset = parts[0].substring(eqpos);
-							fCharset = fCharset.trim();
-						}
-					}
-				}
-			}
-			else {
-				fContentType = parts[0];
-			}
-		}
-		if (parts.length > 1) {
-			fCharset = parts[1];
-		}
-	}
-
-	/**
-	 *  
-	 */
-
-	public void set(IFile iFile) throws CoreException {
-		reset();
-		super.set(iFile);
-	}
-
-	private void reset() {
-		fCharset = null;
-		fContentTypeValue = null;
-		fPageEncodingValue = null;
-		fXMLDecEncodingName = null;
-		unicodeCase = false;
-	}
-
-	public void set(InputStream inputStream) {
-		reset();
-		super.set(inputStream);
-	}
-
-	public void set(Reader reader) {
-		reset();
-		super.set(reader);
-	}
-
-	public String getLanguage() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			fHeaderParsed = true;
-		}
-		return fLanguage;
-	}
-
-	/**
-	 * @return Returns the contentType.
-	 */
-	public String getContentType() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			// we keep track of if header's already been parse, so can make
-			// multiple 'get' calls, without causing reparsing.
-			fHeaderParsed = true;
-			// Note: there is a "hidden assumption" here that an empty
-			// string in content should be treated same as not present.
-		}
-		return fContentType;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/NullMemento.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/NullMemento.java
deleted file mode 100644
index c26dd78..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contenttype/NullMemento.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.jst.jsp.core.internal.contenttype;
-
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.NonContentBasedEncodingRules;
-
-
-
-/**
- * This class can be used in place of an EncodingMemento (its super class),
- * when there is not in fact ANY encoding information. For example, when a
- * structuredDocument is created directly from a String
- */
-public class NullMemento extends EncodingMemento {
-	/**
-	 *  
-	 */
-	public NullMemento() {
-		super();
-		String defaultCharset = NonContentBasedEncodingRules.useDefaultNameRules(null);
-		setJavaCharsetName(defaultCharset);
-		setAppropriateDefault(defaultCharset);
-		setDetectedCharsetName(null);
-		addTrace(DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/DocumentFactoryForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/DocumentFactoryForJSP.java
deleted file mode 100644
index 2984e0d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/DocumentFactoryForJSP.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.internal.document;
-
-import org.eclipse.core.filebuffers.IDocumentFactory;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.wst.sse.core.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.parser.TagMarker;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-public class DocumentFactoryForJSP implements IDocumentFactory {
-
-	public DocumentFactoryForJSP() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.filebuffers.IDocumentFactory#createDocument()
-	 */
-	public IDocument createDocument() {
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(new JSPSourceParser());
-		return structuredDocument;
-	}
-
-	public RegionParser getParser() {
-		// remember, the Loader
-		// will need to finish initialization of parser
-		// based on "embedded content"
-		JSPSourceParser parser = new JSPSourceParser();
-		// add default nestable tag list
-		addNestablePrefix(parser, JSP11Namespace.JSP_TAG_PREFIX);
-		return parser;
-	}
-
-	private void addNestablePrefix(JSPSourceParser parser, String tagName) {
-		TagMarker bm = new TagMarker(tagName);
-		parser.addNestablePrefix(bm);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/DocumentLoaderForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/DocumentLoaderForJSP.java
deleted file mode 100644
index 33eeb02..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/DocumentLoaderForJSP.java
+++ /dev/null
@@ -1,549 +0,0 @@
-/*******************************************************************************
- * 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.internal.document;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.core.encoding.IJSPHeadContentDetector;
-import org.eclipse.jst.jsp.core.encoding.JSPDocumentHeadContentDetector;
-import org.eclipse.jst.jsp.core.encoding.JSPDocumentLoader;
-import org.eclipse.jst.jsp.core.internal.contenttype.IContentDescriptionForJSP;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.wst.common.encoding.CodedReaderCreator;
-import org.eclipse.wst.common.encoding.ContentTypeEncodingPreferences;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.document.IDocumentLoaderForFileBuffers;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.document.StructuredDocumentLoader;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistry;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistryImpl;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.core.parser.JSPCapableParser;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.parser.TagMarker;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.Document;
-
-public class DocumentLoaderForJSP extends StructuredDocumentLoader implements IDocumentLoader, IDocumentLoaderForFileBuffers {
-	private final static String DEFAULT_LANGUAGE = "java"; //$NON-NLS-1$
-	private final static String DEFAULT_MIME_TYPE = "text/html"; //$NON-NLS-1$
-	private final static String SPEC_DEFAULT_ENCODING = "ISO-8859-1"; //$NON-NLS-1$
-
-	protected static IFile getFileFor(IStructuredModel model) {
-		if (model == null)
-			return null;
-		String path = model.getBaseLocation();
-		if (path == null || path.length() == 0) {
-			Object id = model.getId();
-			if (id == null)
-				return null;
-			path = id.toString();
-		}
-		// TODO needs rework for linked resources
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IFile file = root.getFileForLocation(new Path(path));
-		return file;
-	}
-
-	private EmbeddedTypeRegistry fEmbeddedContentTypeRegistry;
-	private IDocumentCharsetDetector fDocumentEncodingDetector;
-
-	public DocumentLoaderForJSP() {
-		super();
-	}
-
-	private void addNestablePrefix(JSPSourceParser parser, String tagName) {
-		TagMarker bm = new TagMarker(tagName);
-		parser.addNestablePrefix(bm);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.document.IDocumentLoader#createNewStructuredDocument()
-	 */
-	public IEncodedDocument createNewStructuredDocument() {
-		DocumentFactoryForJSP factory = new DocumentFactoryForJSP();
-		IEncodedDocument document = (IEncodedDocument) factory.createDocument();
-		return document;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.document.IDocumentLoader#createNewStructuredDocument(java.io.Reader)
-	 */
-	public IEncodedDocument createNewStructuredDocument(Reader reader) throws UnsupportedEncodingException, IOException {
-		IEncodedDocument structuredDocument = createNewStructuredDocument();
-		StringBuffer allText = readInputStream(reader);
-		structuredDocument.set(allText.toString());
-		return structuredDocument;
-	}
-
-	public IEncodedDocument createNewStructuredDocument(String filename, InputStream inputStream, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException {
-		if (filename == null && inputStream == null) {
-			throw new IllegalArgumentException("can not have both null filename and inputstream"); //$NON-NLS-1$
-		}
-		Reader fullPreparedReader = null;
-		IEncodedDocument structuredDocument = createNewStructuredDocument();
-		CodedReaderCreator codedReaderCreator = new CodedReaderCreator();
-		try {
-			codedReaderCreator.set(filename, inputStream);
-			fullPreparedReader = codedReaderCreator.getCodedReader();
-			EncodingMemento encodingMemento = codedReaderCreator.getEncodingMemento();
-			structuredDocument.setEncodingMemento(encodingMemento);
-			// the fact that file is null means this method/code path is no
-			// good for JSP fragments
-			EmbeddedTypeHandler embeddedType = getEmbeddedType((IFile) null);
-			fullPreparedReader.reset();
-			if (embeddedType != null)
-				embeddedType.initializeParser((JSPCapableParser) ((IStructuredDocument) structuredDocument).getParser());
-			setDocumentContentsFromReader(structuredDocument, fullPreparedReader);
-		}
-		catch (CoreException e) {
-			// impossible in this context
-			throw new Error(e);
-		}
-		finally {
-			if (fullPreparedReader != null) {
-				fullPreparedReader.close();
-			}
-		}
-		return structuredDocument;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.document.IDocumentLoader#createNewStructuredDocument(java.lang.String,
-	 *      java.io.InputStream, com.ibm.encoding.resource.EncodingRule)
-	 */
-	public IEncodedDocument createNewStructuredDocument(String filename, InputStream inputStream) throws IOException {
-		return createNewStructuredDocument(filename, inputStream, EncodingRule.CONTENT_BASED);
-	}
-
-	/**
-	 * Method getDefaultDocumentPartitioner.
-	 * 
-	 * @return IDocumentPartitioner
-	 */
-	public IDocumentPartitioner getDefaultDocumentPartitioner() {
-		return new StructuredTextPartitionerForJSP();
-	}
-
-	/**
-	 * Method getDefaultMimeType.
-	 * 
-	 * @return String
-	 */
-	private String getDefaultMimeType() {
-		return DEFAULT_MIME_TYPE;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.AbstractDumper#getDocumentEncodingDetector()
-	 */
-	public IDocumentCharsetDetector getDocumentEncodingDetector() {
-		if (fDocumentEncodingDetector == null) {
-			fDocumentEncodingDetector = new JSPDocumentHeadContentDetector();
-		}
-		return fDocumentEncodingDetector;
-	}
-
-	/**
-	 * Gets the embeddedContentTypeRegistry.
-	 * 
-	 * @return Returns a EmbeddedContentTypeRegistry
-	 */
-	private EmbeddedTypeRegistry getEmbeddedContentTypeRegistry() {
-		if (fEmbeddedContentTypeRegistry == null) {
-			fEmbeddedContentTypeRegistry = EmbeddedTypeRegistryImpl.getInstance();
-		}
-		return fEmbeddedContentTypeRegistry;
-	}
-
-	/**
-	 * Determine the MIME content type specified in a page directive. This
-	 * should appear "as early as possible in the JSP page" according to the
-	 * JSP v1.2 specification.
-	 */
-	private EmbeddedTypeHandler getEmbeddedType(IFile file) throws UnsupportedEncodingException, CoreException, IOException {
-		EmbeddedTypeHandler handler = null;
-		boolean exists = file.exists();
-		if (!exists) {
-			// if "new" file, assume default
-			handler = getJSPDefaultEmbeddedType();
-		}
-		else {
-			IContentDescription description = file.getContentDescription();
-			if (description != null) {
-				String jspContentTypeAttribute = (String) description.getProperty(IContentDescriptionForJSP.CONTENT_TYPE_ATTRIBUTE);
-				if (jspContentTypeAttribute == null || jspContentTypeAttribute.length() == 0) {
-					handler = getJSPDefaultEmbeddedType();
-				}
-				else {
-					EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-					handler = reg.getTypeFor(jspContentTypeAttribute);
-				}
-			}
-			else {
-				handler = getJSPDefaultEmbeddedType();
-			}
-		}
-		// post condition
-		Assert.isNotNull(handler);
-		return handler;
-	}
-
-	private EmbeddedTypeHandler getEmbeddedType(IStructuredModel model) {
-		Document doc = ((XMLModel) model).getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getAdapterFor(PageDirectiveAdapter.class);
-		EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
-		return embeddedHandler;
-	}
-
-	/**
-	 * For JSP files, text/html is the default content type. This may want
-	 * this different for types like jsv (jsp for voice xml) For now, hard
-	 * code to new instance. In future, should get instance from registry.
-	 * Specification cites HTML as the default contentType.
-	 */
-	private EmbeddedTypeHandler getJSPDefaultEmbeddedType() {
-		EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-		return reg.getTypeFor(getDefaultMimeType());
-	}
-
-	/**
-	 * Method getLanguage.
-	 * 
-	 * @param model
-	 * @return String
-	 */
-	private String getLanguage(IStructuredModel model) throws IOException {
-		String result = null;
-		// first check the model (document itself) to see if contains
-		result = getLanguageFromStructuredDocument(model.getStructuredDocument());
-		// Note: if model contains an unsupported
-		// language, we'll even return it,
-		// since who knows what future holds.
-
-		// always return something
-		if (result == null) {
-			result = DEFAULT_LANGUAGE;
-		}
-		return result;
-	}
-
-	/**
-	 * Method getLanguageFromStructuredDocument.
-	 * 
-	 * @param structuredDocument
-	 * @return String
-	 */
-	private String getLanguageFromStructuredDocument(IDocument document) throws IOException {
-		if (document == null)
-			return null;
-		String result = null;
-		// bascially same algorithm as get encoding or
-		// get content type from structuredDocument.
-		IJSPHeadContentDetector localHeadParser = (IJSPHeadContentDetector) getDocumentEncodingDetector();
-		// we can be assured that its already been
-		// parsed. If not call parseHeaderForPageDirective()
-		// before calling getLanguage;
-		localHeadParser.set(document);
-		result = localHeadParser.getLanguage();
-		return result;
-	}
-
-	public RegionParser getParser() {
-		// remember, the Loader
-		// will need to finish initialization of parser
-		// based on "embedded content"
-		JSPSourceParser parser = new JSPSourceParser();
-		// add default nestable tag list
-		addNestablePrefix(parser, JSP11Namespace.JSP_TAG_PREFIX);
-		return parser;
-	}
-
-	protected String getPreferredNewLineDelimiter() {
-		return ContentTypeEncodingPreferences.getPreferredNewLineDelimiter(ContentTypeIdForJSP.ContentTypeID_JSP);
-	}
-
-	/**
-	 * Specification cites ISO-8859-1/Latin-1 as the default charset.
-	 */
-	protected String getSpecDefaultEncoding() {
-		return SPEC_DEFAULT_ENCODING;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.document.IDocumentLoader#handleLineDelimiter(java.lang.StringBuffer,
-	 *      com.ibm.sse.model.document.IEncodedDocument)
-	 */
-	public StringBuffer handleLineDelimiter(StringBuffer originalString, IEncodedDocument theStructuredDocument) {
-		// TODO Auto-generated method stub
-		return originalString;
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void initCloneOfEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) throws IOException {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set
-		// yet,
-		// and all factories must have been set up also.
-		XMLModel domModel = (XMLModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		XMLDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		// because, even in the clone case, the model has been paritally
-		// intialized
-		// with
-		// the old embedded type (during createModel), we need to unitialize
-		// parts of it, based on the old (or default) ones
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		if (newEmbeddedContentType != null) {
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	/**
-	 * Method initEmbeddedType.
-	 */
-	private void initEmbeddedType(IStructuredModel model) {
-		initializeEmbeddedTypeFromDefault(model);
-	}
-
-	/**
-	 * Method initEmbeddedType.
-	 */
-	private void initEmbeddedType(IStructuredModel oldModel, IStructuredModel newModel) throws IOException {
-		EmbeddedTypeHandler existingEmbeddedType = getEmbeddedType(oldModel);
-		EmbeddedTypeHandler newEmbeddedContentType = existingEmbeddedType.newInstance();
-		if (existingEmbeddedType == null) {
-			initEmbeddedType(newModel);
-		}
-		else {
-			//initEmbeddedType(newModel);
-			initCloneOfEmbeddedType(newModel, existingEmbeddedType, newEmbeddedContentType);
-		}
-		setLanguageInPageDirective(newModel);
-	}
-
-	/**
-	 * This is "initialize" since is always assumes it hasn't been initalized
-	 * yet.
-	 */
-	private void initializeEmbeddedType(IStructuredModel model, EmbeddedTypeHandler embeddedContentType) {
-		// check program logic
-		Assert.isNotNull(embeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set
-		// yet,
-		// and all factories must have been set up also.
-		XMLModel domModel = (XMLModel) model;
-		XMLDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
-		embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		embeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: I don't think this attempted init counts for much.
-		// I think its always executed when model is very first
-		// being initialized, and doesn't even have content
-		// or an ID yet. I thought I'd leave, since it wouldn't
-		// hurt, in case its called in other circumstances.
-		//		String language = getLanguage(model);
-		//		pageDirectiveAdapter.setLanguage(language);
-	}
-
-	/**
-	 * This init method is for the case where we are creating an empty model,
-	 * which we always do.
-	 */
-	private void initializeEmbeddedTypeFromDefault(IStructuredModel model) {
-		EmbeddedTypeHandler embeddedContentType = getJSPDefaultEmbeddedType();
-		initializeEmbeddedType(model, embeddedContentType);
-	}
-
-	public IDocumentLoader newInstance() {
-		return new JSPDocumentLoader();
-	}
-
-	protected void preLoadAdapt(IStructuredModel structuredModel) {
-		XMLModel domModel = (XMLModel) structuredModel;
-		//
-		// document must have already been set for this to
-		// work.
-		Document document = domModel.getDocument();
-		Assert.isNotNull(document);
-		// if there is a model in the adapter, this will adapt it to
-		// first node. After that the PropagatingAdater spreads over the
-		// children being
-		// created. Each time that happends, a side effect is to
-		// also "spread" sprecific registered adapters,
-		// they two can propigate is needed.
-		// This 'get' causes first to be be attached.
-		PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// may make this easier to use in futue
-		propagatingAdapter.addAdaptOnCreateFactory(new PageDirectiveWatcherFactory());
-		// For JSPs, the ModelQueryAdapter must be "attached" to the document
-		// before content is set in the model, so taglib initization can
-		// take place.
-		((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		//
-		// 
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void reInitializeEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) throws IOException {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set
-		// yet,
-		// and all factories must have been set up also.
-		XMLModel domModel = (XMLModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		XMLDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getExistingAdapter(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(ModelQueryAdapter.class);
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// since 'document' is not recreated in this
-		// reinit path, we need to remove all adapters,
-		// except for the propagated adapters (including page
-		// directive adapter, and model query adapter).
-		// to accomplish this, we'll just remove all, then
-		// add back with a call to pre-load adapt.
-		// let clients decide to unload adapters from document
-		//		Collection oldAdapters = document.getAdapters();
-		//		Iterator oldAdaptersIterator = oldAdapters.iterator();
-		//		while (oldAdaptersIterator.hasNext()) {
-		//			INodeAdapter oldAdapter = (INodeAdapter)
-		// oldAdaptersIterator.next();
-		//			if (oldAdapter != pageDirectiveAdapter && oldAdapter !=
-		// propagatingAdapter && oldAdapter != modelQueryAdapter) {
-		//				// DO NOT remove directly!
-		//				// can change contents while in notifity loop!
-		//				//oldAdaptersIterator.remove();
-		//				document.removeAdapter(oldAdapter);
-		//			}
-		//		}
-		// DMW: I believe something like the following is needed,
-		// since releases cached adapters
-		//				if (document instanceof DocumentImpl) {
-		//					((DocumentImpl) document).releaseDocumentType();
-		//					((DocumentImpl) document).releaseStyleSheets();
-		//				}
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		//		// but still need to clear the page directive watchers, and let
-		// them
-		// be
-		// rediscovered (with new, accurate node as target)
-		//		pageDirectiveAdapter.clearPageWatchers();
-		if (newEmbeddedContentType != null) {
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	private void setLanguageInPageDirective(IStructuredModel newModel) throws IOException {
-		if (newModel instanceof XMLModel) {
-			XMLDocument document = ((XMLModel) newModel).getDocument();
-			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-			String language = getLanguage(newModel);
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java
deleted file mode 100644
index c9091f1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * 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.internal.document;
-
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.contentproperties.ContentSettingsChangeSubject;
-import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Node;
-
-/**
- * This class adapts document 
- * with the an instance of PageDirectiveAdapter
- */
-public class PageDirectiveAdapterFactory extends AbstractAdapterFactory implements AdapterFactory {
-
-
-	private PageDirectiveAdapter pageDirectiveAdapterInstance = null;
-
-	/**
-	 * Constructor for PageDirectiveAdapterFactory.
-	 * Note: its important not to be a singleton, since
-	 * this factory needs to track its adapter(s) and release
-	 * them when they are released.
-	 * 
-	 * @param adapterKey
-	 * @param registerAdapters
-	 */
-	protected PageDirectiveAdapterFactory(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	/**
-	 * The no argument constructor assumes its a 
-	 * Factory for PageDirectiveAdapter
-	 */
-	public PageDirectiveAdapterFactory() {
-		this(PageDirectiveAdapter.class, true);
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		PageDirectiveAdapter result = null;
-		if (target instanceof XMLNode) {
-			XMLNode node = (XMLNode) target;
-			if (node.getNodeType() == Node.DOCUMENT_NODE) {
-				result = getAdapterInstance(target);
-				ContentSettingsChangeSubject.getSubject().addListener(result);
-
-			}
-
-		}
-		return result;
-	}
-
-	public void release() {
-		if (pageDirectiveAdapterInstance != null) {
-			ContentSettingsChangeSubject.getSubject().removeListener(pageDirectiveAdapterInstance);
-		}
-	}
-
-	/**
-	 * We assume this is only called for 'document' target
-	 */
-	protected PageDirectiveAdapter getAdapterInstance(INodeNotifier target) {
-		// if our instance already exists with a different
-		// target, then, somehow, the document node must 
-		// have changed for a model, so we should release 
-		// old adapter and create new one for new document 
-		// node. This is probably a programming error.
-		if (pageDirectiveAdapterInstance != null) {
-			if (target != pageDirectiveAdapterInstance.getTarget()) {
-				release();
-				pageDirectiveAdapterInstance = new PageDirectiveAdapterImpl(target);
-			}
-			// else return the one we have
-		}
-		else {
-			// if is equal to null, create a new one
-			pageDirectiveAdapterInstance = new PageDirectiveAdapterImpl(target);
-		}
-		Assert.isNotNull(pageDirectiveAdapterInstance);
-		return pageDirectiveAdapterInstance;
-	}
-
-	public AdapterFactory copy() {
-
-		return new PageDirectiveAdapterFactory(this.adapterKey, this.shouldRegisterAdapter);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java
deleted file mode 100644
index b78e8d1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java
+++ /dev/null
@@ -1,608 +0,0 @@
-/*******************************************************************************
- * 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.internal.document;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.jst.jsp.core.modelhandler.EmbeddedTypeStateData;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistry;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistryImpl;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLNode;
-
-/**
- * This class has the responsibility to provide 
- * an embedded factory registry for JSP Aware INodeAdapter Factories
- * to use. 
- * 
- * Typically, the embedded type is to be considered a feature of 
- * the document, so JSP Aware AdpaterFactories should call
- * getAdapter(PageDirectiveAdapter.class) directoy on the document
- * (or owning document) node.
- */
-public class PageDirectiveAdapterImpl implements PageDirectiveAdapter {
-
-	protected static final String STR_CHARSET = "charset"; //$NON-NLS-1$
-	private final static Object adapterType = PageDirectiveAdapter.class;
-	private IStructuredModel model;
-	protected final String[] JAVASCRIPT_LANGUAGE_KEYS = new String[]{"javascript", "javascript1.0", "javascript1.1_3", "javascript1.2", "javascript1.3", "javascript1.4", "javascript1.5", "javascript1.6", "jscript", "sashscript"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
-	protected final String[] JAVA_LANGUAGE_KEYS = new String[]{"java"}; //$NON-NLS-1$
-
-	/**
-	 * Constructor for PageDirectiveAdapterImpl.
-	 */
-	public PageDirectiveAdapterImpl(INodeNotifier target) {
-		super();
-		notifierAtCreation = target;
-		// we need to remember our instance of model, 
-		// in case we need to "signal" a re-init needed.
-		if (target instanceof XMLNode) {
-			XMLNode node = (XMLNode) target;
-			model = node.getModel();
-		}
-
-	}
-
-	/**
-	 * parses the full contentType value into its two parts
-	 * the contentType, and the charset, if present. Note: this 
-	 * method is a lightly modified version of a method in AbstractHeadParser.
-	 * There, we're mostly interested in the charset part of contentTypeValue. 
-	 * Here, we're mostly interested in the mimeType part.
-	 */
-	private String getMimeTypeFromContentTypeValue(String contentTypeValue) {
-		if (contentTypeValue == null)
-			return null;
-		String cleanContentTypeValue = StringUtils.stripNonLetterDigits(contentTypeValue);
-		StringTokenizer tokenizer = new StringTokenizer(cleanContentTypeValue, ";= \t\n\r\f"); //$NON-NLS-1$
-		int tLen = tokenizer.countTokens();
-		// if contains encoding should have three tokens, the mimetype, the word 'charset', and the encoding value
-		String[] tokens = new String[tLen];
-		int j = 0;
-		while (tokenizer.hasMoreTokens()) {
-			tokens[j] = tokenizer.nextToken();
-			j++;
-		}
-		// 
-		// Following is the common form for target expression		
-		// <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-		// But apparrently is also valid without the content type there, 
-		// just the charset, as follows:
-		// <META http-equiv="Content-Type" content="charset=UTF-8">
-		// So we'll loop through tokens and key off of 'charset'
-
-		int charsetPos = -1;
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].equalsIgnoreCase(STR_CHARSET)) {
-				charsetPos = i;
-				break;
-			}
-		}
-		//String charset = null;
-		String contentType = null;
-		if (charsetPos > -1) {
-			// case where charset was present
-			//			int charsetValuePos = charsetPos + 1;
-			//			if (charsetValuePos < tokens.length) {
-			//				charset = tokens[charsetValuePos];
-			//			}
-			int contentTypeValuePos = charsetPos - 1;
-			if (contentTypeValuePos > -1) {
-				contentType = tokens[contentTypeValuePos];
-			}
-		}
-		else {
-			// charset was not present, so if there's 
-			// a value, we assume its the contentType value
-			if (tokens.length > 0) {
-				contentType = tokens[0];
-			}
-		}
-		return contentType;
-	}
-
-	private EmbeddedTypeHandler embeddedTypeHandler;
-	private List embeddedFactoryRegistry = new ArrayList();
-	private String cachedLanguage;
-	private String cachedContentType;
-	private INodeNotifier notifierAtCreation;
-
-	private int firstLanguagePosition = -1;
-	private int firstContentTypePosition = -1;
-
-	private boolean reinitializing;
-
-	/*
-	 * @see INodeAdapter#isAdapterForType(Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == adapterType);
-	}
-
-	/*
-	 * @see INodeAdapter#notifyChanged(INodeNotifier, int, Object, Object, Object, int)
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	public void setEmbeddedType(EmbeddedTypeHandler handler) {
-		// if really the same handler, no need for further processing
-		if (embeddedTypeHandler == handler) {
-			return;
-		}
-		// then one exists, and the new one is truely different, so we need to 
-		// release and remove current factories
-		if (embeddedTypeHandler != null) {
-			Iterator list = embeddedFactoryRegistry.iterator();
-			while (list.hasNext()) {
-				AdapterFactory factory = (AdapterFactory) list.next();
-				factory.release();
-			}
-
-			embeddedFactoryRegistry.clear();
-		}
-
-		embeddedTypeHandler = handler;
-		// when the handler is set, "transfer" its factories to our own list.
-		// note: our own list may also be added to else where, such as on
-		// "editor side".
-		if (embeddedTypeHandler != null) {
-			Iterator iterator = embeddedTypeHandler.getAdapterFactories().iterator();
-			while (iterator.hasNext()) {
-				AdapterFactory factory = (AdapterFactory) iterator.next();
-				embeddedFactoryRegistry.add(factory);
-			}
-		}
-	}
-
-	/**
-	 * @see PageDirectiveAdapter#adapt(INodeNotifier, Object)
-	 */
-	public INodeAdapter adapt(INodeNotifier notifier, Object type) {
-		INodeAdapter result = null;
-		// if embeddedContentType hasn't been set, 
-		// then we can not adapt it.
-		if (embeddedTypeHandler != null) {
-			if (embeddedFactoryRegistry != null) {
-				Iterator iterator = embeddedFactoryRegistry.iterator();
-				AdapterFactory factory = null;
-				while (iterator.hasNext()) {
-					factory = (AdapterFactory) iterator.next();
-					if (factory.isFactoryForType(type)) {
-						result = factory.adapt(notifier);
-						break;
-					}
-				}
-			}
-		}
-		return result;
-
-	}
-
-	/**
-	 * @see PageDirectiveAdapter#getEmbeddedType()
-	 */
-	public EmbeddedTypeHandler getEmbeddedType() {
-		if (embeddedTypeHandler == null) {
-			embeddedTypeHandler = getDefaultEmbeddedType();
-		}
-		return embeddedTypeHandler;
-	}
-
-	public void addEmbeddedFactory(AdapterFactory factory) {
-		// should we check if already exists in list?
-		embeddedFactoryRegistry.add(factory);
-	}
-
-	//	/**
-	//	 * Used by PageDirectiveWatchers to signal that some important attribute has changed, and 
-	//	 * any cached values should be re-calcuated
-	//	 */
-	//	void changed() {
-	//		// we won't actually check if change is needed, if the model state is already changing.
-	//		if (!model.isReinitializationNeeded()) {
-	//			// go through our list of page watcher adapters, and updates the attributes 
-	//			// we're interested in, if and only if they are the earliest occurance in the resource
-	//			String potentialContentType = null;
-	//			String potentialLanguage = null;
-	//			int contentTypePosition = -1;
-	//			int languagePosition = -1;
-	//			Iterator iterator = pageDirectiveWatchers.iterator();
-	//			while (iterator.hasNext()) {
-	//				PageDirectiveWatcher pdWatcher = (PageDirectiveWatcher) iterator.next();
-	//				String contentType = pdWatcher.getContentType();
-	//				String language = pdWatcher.getLanguage();
-	//				int offset = pdWatcher.getOffset();
-	//				if (potentialContentType == null || (hasValue(contentType) && (offset < contentTypePosition))) {
-	//					potentialContentType = contentType;
-	//					contentTypePosition = offset;
-	//				}
-	//			}
-	//			// now we have the best candiates for cached values, let's see if they've really changed from 
-	//			// what we had. If so, note we go through the setters so side effects can take place there.
-	//			potentialContentType = getMimeTypeFromContentTypeValue(potentialContentType);
-	//			if (potentialContentType == null || potentialContentType.length() == 0) {
-	//				//potentialContentType = getDefaultContentType();
-	//			} else {
-	//				setCachedContentType(potentialContentType);
-	//			}
-	//
-	//			if (potentialLanguage != null && hasValue(potentialLanguage)) {
-	//				setCachedLanguage(potentialLanguage);
-	//			}
-	//		}
-	//	}
-	void changedContentType(int elementOffset, String newValue) {
-		// only need to process if this new value is 
-		// earlier in the file than our current value
-		if (firstContentTypePosition == -1 || elementOffset <= firstContentTypePosition) {
-			// dw_TODO: update embedded partitioner in JSP document partitioner
-			// nsd_TODO: update embedded partitioner in JSP document partitioner
-
-			// no need to change current value, if we're told some 
-			// earlier value is null or blank (sounds like an error, anyway)
-			if (hasValue(newValue)) {
-				firstContentTypePosition = elementOffset;
-				String potentialContentType = getMimeTypeFromContentTypeValue(newValue);
-				// only do the set processing if different
-				// from what it already is
-				//	if (!potentialContentType.equalsIgnoreCase(cachedLanguage)) {
-				setCachedContentType(potentialContentType);
-				//	}
-			}
-		}
-	}
-
-	/**
-	 * Used by PageDirectiveWatchers to signal that some important attribute has changed, and 
-	 * any cached values should be re-calcuated
-	 */
-	void changedLanguage(int elementOffset, String newValue) {
-		// only need to process if this new value is 
-		// earlier in the file than our current value
-		// has to be less than or equal to, in case our previous earliest one, 
-		// is itself changing!
-		if (firstLanguagePosition == -1 || elementOffset <= firstLanguagePosition) {
-
-			// no need to change current value, if we're told some 
-			// earlier value is null or blank (sounds like an error, anyway)
-			if (hasValue(newValue)) {
-				firstLanguagePosition = elementOffset;
-				// only do the set processing if different
-				// from what it already is
-				if (!newValue.equalsIgnoreCase(cachedLanguage)) {
-					setCachedLanguage(newValue);
-				}
-			}
-
-			// dw_TODO: set language in document partitioner
-			// nsd_TODO: set language in document partitioner
-		}
-	}
-
-	/**
-	 * Used by PageDirectiveWatchers to signal that some important attribute has changed, and 
-	 * any cached values should be re-calcuated
-	 */
-	void changedPageEncoding(int elementOffset, String newValue) {
-
-		// we don't currently track active value, since
-		// just need during read and write (where its 
-		// calculated. We will need in future, to 
-		// acurately clone a model and to display 
-		// "current encoding" to user in status bar.
-	}
-
-	/**
-	 * Method hasValue.
-	 * @param contentType
-	 * @return boolean
-	 */
-	private boolean hasValue(String value) {
-		if (value != null && value.length() > 0)
-			return true;
-		else
-			return false;
-	}
-
-	/**
-	 * Returns the cachedContentType.
-	 * @return String
-	 */
-	public String getContentType() {
-		if (cachedContentType == null) {
-			cachedContentType = getDefaultContentType();
-		}
-		return cachedContentType;
-	}
-
-	/**
-	 * Method getDefaultContentType.
-	 * @return String
-	 */
-	private String getDefaultContentType() {
-		return "text/html"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the cachedLanguage.
-	 * @return String
-	 */
-	public String getLanguage() {
-		if (cachedLanguage == null)
-			cachedLanguage = getDefaultLanguage();
-		return cachedLanguage;
-	}
-
-	/**
-	 * Method getDefaultLanguage.
-	 * @return String
-	 */
-	private String getDefaultLanguage() {
-		return "java"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Sets the cachedContentType.
-	 * @param cachedContentType The cachedContentType to set
-	 */
-	public void setCachedContentType(String newContentType) {
-		// if the passed in value is the same as existing, there's nothing to do.
-		// if its different, then we need to change the contentHandler as well
-		// and, more to the point, signal a re-initializtation is needed.
-		// Note: if the value we're getting set to does not have a handler in the registry, 
-		// we'll actually not set it to null or anything, we'll just continue on with the one
-		// we have. This is pretty important to avoid re-initializing on every key stroke if someone 
-		// is typing in a new content type, but haven't yet finished the whole "word".
-		// However, if an contentType is not recognized, the registry returns the one 
-		// for XML.
-		//		if (this.cachedContentType != null && this.cachedContentType.equalsIgnoreCase(newContentType)) { // then do nothing
-		//		} else {
-		this.cachedContentType = newContentType;
-		// see if we can update embedded handler
-		//		if (this.cachedContentType == null || this.cachedContentType.length() == 0) { // do nothing, don't can't get a new handler, so we'll keep what we have
-		//		} else {
-
-		// getHandler should always return something (never null), based 
-		// on the rules in the factory. 
-		EmbeddedTypeHandler handler = getHandlerFor(this.cachedContentType);
-		// we do this check for re-init here, instead of in setEmbeddedType, 
-		// since setEmbeddedType is called during the normal initializtion 
-		// process, when re-init is not needed (since there is no content)
-		if (embeddedTypeHandler != null && handler != null && embeddedTypeHandler != handler) {
-			// changing this embedded handler here may 
-			// be in the middle of anotify loop, not sure
-			// if that'll cause problems.
-			setEmbeddedType(handler);
-			modelReinitNeeded(embeddedTypeHandler, handler);
-		}
-		//		}
-
-		//		}
-
-	}
-
-	/**
-	 * This method is used to re-init based on embeddedTypeHandler
-	 * changing. It is given priority over the language change, since
-	 * there its more important to have old and new handlers's in the 
-	 * stateData field.
-	 */
-	private void modelReinitNeeded(EmbeddedTypeHandler oldHandler, EmbeddedTypeHandler newHandler) {
-		if (model.isReinitializationNeeded()) {
-			System.out.println("already being initialized"); //$NON-NLS-1$
-		}
-
-		try {
-			model.aboutToChangeModel();
-			model.setReinitializeStateData(new EmbeddedTypeStateData(oldHandler, newHandler));
-			model.setReinitializeNeeded(true);
-		}
-		finally {
-			model.changedModel();
-		}
-	}
-
-	/**
-	 * Method modelReinitNeeded.
-	 */
-	private void modelReinitNeeded(String oldlanguage, String newLanguage) {
-		// bit of a short cut for now .... we dont' need language at the moment, 
-		// but should set the state data
-		if (model.isReinitializationNeeded()) {
-			if (Debug.displayWarnings) {
-				System.out.println("already being initialized"); //$NON-NLS-1$
-			}
-		}
-		else {
-			try {
-				// if already being re-initialized, we don't want to 
-				// reset the data in the stateData field.
-				model.aboutToChangeModel();
-				model.setReinitializeStateData(newLanguage);
-				model.setReinitializeNeeded(true);
-			}
-			finally {
-				model.changedModel();
-			}
-		}
-	}
-
-	public void setCachedLanguage(String newLanguage) {
-		if (cachedLanguage != null && languageStateChanged(cachedLanguage, newLanguage)) { // a complete re-init overkill in current system, since really just need for 
-			// the line style providers, 
-			// BUT, a change in language could effect other things, 
-			// and we don't expect to happen often so a little overkill isn't too bad.
-			// The deep problem is that there is no way to get at the "edit side" adpapters
-			// specifically here in model class.
-			// we have to do the model changed sequence to get the 
-			// screen to update.
-			// do not signal again, if signaled once (the reinit state data will be wrong.
-			// (this needs to be improved in future)
-			if (!model.isReinitializationNeeded()) {
-				modelReinitNeeded(cachedLanguage, newLanguage);
-			}
-		}
-		setLanguage(newLanguage);
-	}
-
-	/**
-	 * This is public access method, used especially
-	 * from loader, for JSP Fragment support. 
-	 */
-	public void setLanguage(String newLanguage) {
-		this.cachedLanguage = newLanguage;
-		IDocumentPartitioner partitioner = ((IDocumentExtension3) model.getStructuredDocument()).getDocumentPartitioner(IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING);
-		if (partitioner instanceof StructuredTextPartitionerForJSP) {
-			((StructuredTextPartitionerForJSP) partitioner).setLanguage(newLanguage);
-		}
-	}
-
-	/**
-	 * Method languageStateChange.
-	 * @param cachedLanguage
-	 * @param newLanguage
-	 * @return boolean
-	 */
-	private boolean languageStateChanged(String cachedLanguage, String newLanguage) {
-		boolean result = false; // languages are equal, then no change in state
-		if (!cachedLanguage.equalsIgnoreCase(newLanguage)) {
-			boolean oldLanguageKnown = languageKnown(cachedLanguage);
-			boolean newLanguageKnown = languageKnown(newLanguage);
-			result = newLanguageKnown || (!newLanguageKnown && oldLanguageKnown);
-		}
-		return result;
-	}
-
-	/**
-	 * Method languageKnown.
-	 * @param cachedLanguage
-	 * @return boolean
-	 */
-	private boolean languageKnown(String language) {
-		return (StringUtils.contains(JAVA_LANGUAGE_KEYS, language, false) || StringUtils.contains(JAVASCRIPT_LANGUAGE_KEYS, language, false));
-	}
-
-	private IFile getFile(IStructuredModel model) {
-		String location = model.getBaseLocation();
-		IPath path = new Path(location);
-		if (!path.toFile().exists() && path.segmentCount() > 1) {
-			return ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-		}
-		return null;
-	}
-
-	private EmbeddedTypeHandler getHandlerFor(String contentType) {
-		EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-		EmbeddedTypeHandler handler = null;
-		if (reg != null)
-			handler = reg.getTypeFor(contentType);
-		return handler;
-	}
-
-	/**
-	 * Gets the embeddedContentTypeRegistry.
-	 * @return Returns a EmbeddedContentTypeRegistry
-	 */
-	private EmbeddedTypeRegistry getEmbeddedContentTypeRegistry() {
-		return EmbeddedTypeRegistryImpl.getInstance();
-	}
-
-	/**
-	 * For JSP files, text/html is the default 
-	 * content type. This may want this different 
-	 * for types like jsv (jsp for voice xml)
-	 * For now, hard code to new instance.
-	 * In future, should get instance from registry.
-	 * 
-	 * Specification cites HTML as the default contentType.
-	 */
-	protected EmbeddedTypeHandler getDefaultEmbeddedType() {
-		return getHandlerFor(getDefaultContentType());
-	}
-
-	public void contentSettingsChanged(IResource resource) {
-		// Note: we currently get notified multiple times, 
-		// I assume since there's mulitple fields in the properties.
-		// For now, I'll assume that once we get notified, all the 
-		// fields are accurate, so if we're reinitializing, don't 
-		// check any further. To NOT do this causes concurrent modification
-		// exceptions. To do it, may cause us to miss when user changes
-		// two fields at once. Will need to test. 
-		if (reinitializing)
-			return;
-		if (resource == null)
-			return;
-		IFile file = getFile(model);
-		if (file == null)
-			return;
-		//        String filename = null;
-		//        if (resource.FILE == resource.getType()) {
-		//        	filename = resource.getLocation().toString();
-		//        }
-		IProject project = file.getProject();
-		if (project == null)
-			return;
-		if (!project.equals(resource.getProject()))
-			return;
-		// Note: these change notifications appear to be coming 
-		// in based on any change in project. I'm not sure how
-		// to tell if they are for my particular file, or 
-		// if there's some other error I'm making in listeners.
-		// the setters below should be smart enough 
-		// to know if a meaningful change occurred, or 
-		// not. Note: we seem to get called a lot (for resources other than our own?)
-		// with lots of 'null' values. The logic below may prevent the correct unsetting
-		// of a property (such as changing from a language setting back to 'none'). 
-		// We may need a 'none' id, or something, to help detect that case, since we can't 
-		// always assume the 'null' is accurate.
-	}
-
-	public INodeNotifier getTarget() {
-		return notifierAtCreation;
-	}
-
-	public void release(Object type) {
-		if (embeddedTypeHandler != null) {
-			if (embeddedFactoryRegistry != null) {
-				Iterator iterator = embeddedFactoryRegistry.iterator();
-				AdapterFactory factory = null;
-				while (iterator.hasNext()) {
-					factory = (AdapterFactory) iterator.next();
-					if (factory.isFactoryForType(type)) {
-						factory.release();
-					}
-				}
-			}
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcher.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcher.java
deleted file mode 100644
index f0cd6b1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcher.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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.internal.document;
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-
-interface PageDirectiveWatcher extends INodeAdapter {
-
-	String getContentType();
-
-	String getLanguage();
-
-	int getOffset();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java
deleted file mode 100644
index 39c933b..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.internal.document;
-
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.PropagatingAdapterFactory;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
-import org.w3c.dom.Node;
-
-public class PageDirectiveWatcherFactory extends PropagatingAdapterFactoryImpl implements PropagatingAdapterFactory {
-
-	/**
-	 * Constructor for PageDirectiveWatcherFactory.
-	 */
-	public PageDirectiveWatcherFactory() {
-		this(PageDirectiveWatcher.class, true);
-	}
-
-	/**
-	 * Constructor for PageDirectiveWatcherFactory.
-	 * @param adapterKey
-	 * @param registerAdapters
-	 */
-	public PageDirectiveWatcherFactory(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		PageDirectiveWatcher result = null;
-		if (target instanceof XMLElement) {
-			XMLElement xmlElement = (XMLElement) target;
-			if (xmlElement.getNodeType() == Node.ELEMENT_NODE) {
-				//                if (xmlElement.getNodeName() == JSP12Namespace.ElementName.DIRECTIVE_PAGE) {   // not sure why identity to  JSP11Namespace.ElementName.DIRECTIVE_PAGE doesn't work
-				if (xmlElement.getNodeName().equals("jsp:directive.page")) { //$NON-NLS-1$
-					result = new PageDirectiveWatcherImpl(xmlElement);
-				}
-
-			}
-		}
-		return result;
-
-	}
-
-	public AdapterFactory copy() {
-		return new PageDirectiveWatcherFactory(this.adapterKey, this.shouldRegisterAdapter);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java
deleted file mode 100644
index bb85d5c..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * 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.internal.document;
-
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.document.AttrImpl;
-
-
-
-/** 
- * The responsibility of this class is to monitor page directives and if 
- * a change in embedded type is is made, it will signal 
- * the structuredModel that it needs to reinitialize itself.
- */
-class PageDirectiveWatcherImpl implements PageDirectiveWatcher {
-
-	private static Object adapterType = PageDirectiveWatcher.class;
-	XMLElement targetElement;
-
-	/**
-	 * Constructor for PageDirectiveWatcherImpl.
-	 */
-	public PageDirectiveWatcherImpl(XMLElement target) {
-		super();
-		targetElement = target;
-		String contentTypeValue = target.getAttribute("contentType"); //$NON-NLS-1$
-		if (contentTypeValue != null) {
-			// using concrete class below, since "changed" is something of an internal method
-			PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((XMLDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-			pageDirectiveAdapter.changedContentType(((IndexedRegion) targetElement).getStartOffset(), contentTypeValue);
-		}
-		String languageValue = target.getAttribute("language"); //$NON-NLS-1$
-		if (languageValue != null) {
-			// using concrete class below, since "changed" is something of an internal method
-			PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((XMLDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-			pageDirectiveAdapter.changedLanguage(((IndexedRegion) targetElement).getStartOffset(), languageValue);
-		}
-
-
-	}
-
-	/**
-	 * @see com.ibm.sse.model.INodeAdapter#isAdapterForType(Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == adapterType);
-	}
-
-	/**
-	 * @see com.ibm.sse.model.INodeAdapter#notifyChanged(INodeNotifier, int, Object, Object, Object, int)
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		// we should only be added to page directives, so if we see a page directive
-		// change, we need to check its attributes, and notify the PageDirectiveAdapter when 
-		// certain ones chane, so it can make its "centralized" decisions.
-		if (notifier instanceof XMLNode) {
-
-			switch (eventType) {
-				case INodeNotifier.CHANGE :
-					if (changedFeature instanceof AttrImpl) {
-						AttrImpl attribute = (AttrImpl) changedFeature;
-						String name = attribute.getName();
-						if (name.equals("contentType")) { //$NON-NLS-1$
-							// using concrete class below, since "changed" is something of an internal method
-							PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((XMLDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-							pageDirectiveAdapter.changedContentType(((IndexedRegion) targetElement).getStartOffset(), (String) newValue);
-						}
-						if (name.equals("language")) { //$NON-NLS-1$ //$NON-NLS-2$
-							// using concrete class below, since "changed" is something of an internal method
-							PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((XMLDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-							pageDirectiveAdapter.changedLanguage(((IndexedRegion) targetElement).getStartOffset(), (String) newValue);
-						}
-					}
-
-					break;
-				case INodeNotifier.REMOVE :
-					//System.out.println("removed"+new Date().toString());
-					break;
-
-
-				default :
-					break;
-			}
-		}
-
-	}
-
-	/**
-	 * @see com.ibm.sed.content.impl.PageDirectiveWatcher#getContentType()
-	 */
-	public String getContentType() {
-		String contentTypeValue = targetElement.getAttribute("contentType"); //$NON-NLS-1$
-		return contentTypeValue;
-	}
-
-	/**
-	 * @see com.ibm.sed.content.impl.PageDirectiveWatcher#getLanguage()
-	 */
-	public String getLanguage() {
-		String languageValue = targetElement.getAttribute("language"); //$NON-NLS-1$
-		return languageValue;
-	}
-
-	/**
-	 * @see com.ibm.sed.content.impl.PageDirectiveWatcher#getOffset()
-	 */
-	public int getOffset() {
-		return targetElement.getStartOffset();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/SetupParticipantForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/SetupParticipantForJSP.java
deleted file mode 100644
index 7595bab..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/SetupParticipantForJSP.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.internal.document;
-
-import org.eclipse.core.filebuffers.IDocumentSetupParticipant;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-
-/**
- * @deprecated - not used and will be removed in WTP 1.0M4
- */
-
-public class SetupParticipantForJSP implements IDocumentSetupParticipant {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.filebuffers.IDocumentSetupParticipant#setup(org.eclipse.jface.text.IDocument)
-	 */
-	public void setup(IDocument document) {
-		if (document != null) {
-			IDocumentPartitioner partitioner = new StructuredTextPartitionerForJSP();
-			document.setDocumentPartitioner(partitioner);
-			partitioner.connect(document);
-			
-			// setup empty model here? coordinated via model manager?
-			
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/CompilationUnitHelper.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/CompilationUnitHelper.java
deleted file mode 100644
index dbc62cd..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/CompilationUnitHelper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.java;
-
-import org.eclipse.jdt.core.WorkingCopyOwner;
-
-/**
- * To ensure there is only one instance of ProblemRequestor and WorkingCopyOwner
- * for JSP plugins.  These were removed from JSPTranslation to ensure that the
- * JSPTranslation was not held in memory by any type of JDT lists (caching
- * search results, etc...)
- * 
- * @author pavery
- */
-public class CompilationUnitHelper {
-
-    private JSPProblemRequestor fProblemRequestor = null;
-    private WorkingCopyOwner fWorkingCopyOwner = null;
-    private static CompilationUnitHelper instance;
-
-    private CompilationUnitHelper() {
-        // force use of instance
-    }
-
-    public synchronized static final CompilationUnitHelper getInstance() {
-
-        if (instance == null)
-            instance = new CompilationUnitHelper();
-        return instance;
-    }
-
-    public JSPProblemRequestor getProblemRequestor() {
-
-        if (fProblemRequestor == null)
-            fProblemRequestor = new JSPProblemRequestor();
-        return fProblemRequestor;
-    }
-
-    public WorkingCopyOwner getWorkingCopyOwner() {
-
-        if (fWorkingCopyOwner == null) {
-            fWorkingCopyOwner = new WorkingCopyOwner() {
-                public String toString() {
-                    return "JSP Working copy owner";
-                }
-            };
-        }
-        return fWorkingCopyOwner;
-    }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/EscapedTextUtil.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/EscapedTextUtil.java
deleted file mode 100644
index b9cf610..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/EscapedTextUtil.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-
-
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-/**
- * class to handle chunks of text/regions
- * with escaped character data
- * @author pavery
- */
-public class EscapedTextUtil {
-
-	public static Properties fXMLtoJavaLookup = null;
-
-	/**
-	 * @return unescaped full text of that region, "" if there is no text
-	 */
-	public static String getUnescapedText(IStructuredDocumentRegion parent, ITextRegion r) {
-		String test = (parent != r) ? parent.getFullText(r) : parent.getFullText();
-		return getUnescapedText(test);
-	}
-
-	public static String getUnescapedText(String test) {
-		initLookup();
-		StringBuffer buffer = new StringBuffer();
-		if (test != null) {
-			StringTokenizer st = new StringTokenizer(test, "&;", true); //$NON-NLS-1$
-			String tok1, tok2, tok3, transString;
-			while (st.hasMoreTokens()) {
-				tok1 = tok2 = tok3 = transString = ""; //$NON-NLS-1$
-				tok1 = st.nextToken();
-				if (tok1.equals("&") && st.hasMoreTokens()) //$NON-NLS-1$
-				{
-					tok2 = st.nextToken();
-					if (st.hasMoreTokens()) {
-						tok3 = st.nextToken();
-					}
-				}
-				if (!(transString = fXMLtoJavaLookup.getProperty(tok1 + tok2 + tok3, "")).equals("")) //$NON-NLS-2$ //$NON-NLS-1$
-				{
-					buffer.append(transString);
-				}
-				else {
-					buffer.append(tok1 + tok2 + tok3);
-				}
-			}
-			return buffer.toString();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * initialize lookup tables
-	 */
-	private static void initLookup() {
-		fXMLtoJavaLookup = new Properties();
-		fXMLtoJavaLookup.setProperty("&apos;", "'"); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&quot;", "\""); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&amp;", "&"); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&lt;", "<"); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&gt;", ">"); //$NON-NLS-2$ //$NON-NLS-1$
-		fXMLtoJavaLookup.setProperty("&nbsp;", " "); //$NON-NLS-2$ //$NON-NLS-1$
-	}
-
-	/**
-	 * Get the String representation of an entity reference.
-	 */
-	public static String translateEntityReference(String entity) {
-		return fXMLtoJavaLookup.getProperty(entity, entity);
-	}
-}
-
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/IJSPTranslation.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/IJSPTranslation.java
deleted file mode 100644
index cb79f3e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/IJSPTranslation.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import java.util.List;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-
-/**
- * An object that holds a translated JSP String along with
- * position mapping from Java to JSP, and JSP to Java.
- * 
- * @author pavery
- * 
- */
-public interface IJSPTranslation {
-
-	/**
-	 * The string contents of the translated document.
-	 * @return  the string contents of the translated document.
-	 */
-	public String getJavaText();
-
-	/**
-	 * The corresponding java offset in the translated document for a given jsp offset.
-	 * @param jspPosition
-	 * @return the java offset that maps to jspOffset, -1 if the position has no mapping.
-	 */
-	public int getJavaOffset(int jspOffset);
-
-	/**
-	 * The corresponding jsp offset in the source document for a given jsp offset in the translated document.
-	 * @param javaPosition
-	 * @return the jsp offset that maps to javaOffset, -1 if the position has no mapping.
-	 */
-	public int getJspOffset(int javaOffset);
-
-	/**
-	 * The corresponding CompilationUnit for the translated JSP document
-	 * @return an ICompilationUnit of the translation
-	 */
-	public ICompilationUnit getCompilationUnit();
-
-	/**
-	 * Returns the IJavaElements corresponding to the JSP range in the JSP StructuredDocument
-	 * 
-	 * @param jspStart staring offset in the JSP document
-	 * @param jspEnd ending offset in the JSP document
-	 * @return IJavaElements corresponding to the JSP selection
-	 */
-	public IJavaElement[] getElementsFromJspRange(int jspStart, int jspEnd);
-
-	/**
-	 * Must be set true in order for problems to be collected during reconcile.
-	 * If set false, problems will be ignored during reconcile.
-	 * @param collect
-	 */
-	public void setProblemCollectingActive(boolean collect);
-
-	/**
-	 * Reconciles the compilation unit for this JSPTranslation
-	 */
-	public void reconcileCompilationUnit();
-
-	/**
-	 * @return the List of problems collected during reconcile of the compilation unit
-	 */
-	public List getProblems();
-	
-	// add these API once finalized
-	// getJspEdits(TextEdit javaEdit)
-	// getJavaRanges()
-    // getJavaDocument()
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSP2ServletNameUtil.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSP2ServletNameUtil.java
deleted file mode 100644
index cc9a91e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSP2ServletNameUtil.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import java.io.File;
-
-/**
- * @author pavery
- */
-public class JSP2ServletNameUtil {
-	
-	/**
-	 * WAS mangles Tom&Jerry as: _Tom_26_Jerry; this takes in the mangled name
-	 * and returns the original name.
-	 * 
-	 * Unmangles the qualified type name.  If an underscore is found
-	 * it is assumed to be a mangled representation of a non-alpha, 
-	 * non-digit character of the form _NN_, where NN are hex digits
-	 * representing the encoded character.  This routine converts it
-	 * back to the original character.
-	 */
-	public final static String unmangle(String qualifiedTypeName) {
-		if(qualifiedTypeName.charAt(0) != '_')
-			return qualifiedTypeName;
-		
-		StringBuffer buf = new StringBuffer();
-		String possible = "";
-	
-		// remove the .java extension if there is one
-		if(qualifiedTypeName.endsWith(".java"))//$NON-NLS-1$
-			qualifiedTypeName = qualifiedTypeName.substring(0, qualifiedTypeName.length() - 5);
-		
-		for(int i = 1; i < qualifiedTypeName.length(); i++) {  // start at index 1 b/c 1st char is always '_'
-			char c = qualifiedTypeName.charAt(i);
-			if(c == '_') {
-				int endIndex = qualifiedTypeName.indexOf('_', i+1);
-				if(endIndex == -1)
-					buf.append(c);
-				else {
-					char unmangled;
-					try {
-						possible = qualifiedTypeName.substring(i+1, endIndex); 
-					    if(isValid(possible)) {
-							unmangled = (char)Integer.decode("0x" + possible).intValue();//$NON-NLS-1$
-							i = endIndex;
-					    }
-					    else { 
-					        unmangled = c;
-					    }
-						
-					} catch(NumberFormatException e) {
-						unmangled = c;
-					}
-					buf.append(unmangled);
-				}
-			} else {
-				buf.append(c);
-			}
-		}
-		return buf.toString();
-	}
-
-	/**
-	 * Determine if given string is a valid Hex representation of an ASCII character (eg. 2F -> /)
-	 * @param possible
-	 * @return
-	 */
-	private static boolean isValid(String possible) {
-	    boolean result = false;
-	    if(possible.length() == 2){	    
-	        char c1 = possible.charAt(0);
-	        char c2 = possible.charAt(1);
-	        // 1st character must be a digit
-	        if(Character.isDigit(c1)) {
-	            // 2nd character must be digit or upper case letter A-F
-	            if(Character.isDigit(c2)) {
-	                result = true;
-	            }
-	            else if(Character.isUpperCase(c2) && (c2 == 'A' || c2 == 'B' || c2 ==  'C'|| c2 ==  'D'|| c2 ==  'E'|| c2 == 'F')) {
-	                result = true;
-	            }
-	        }
-	    }
-        return result;
-	}
-	
-	/**
-	 * Mangle string to WAS-like specifications
-	 *
-	 */
-	public final static String mangle(String name) {	  
-	  StringBuffer modifiedName = new StringBuffer();
-	  
-	  // extension (.jsp, .jspf, .jspx, etc...) should already be encoded in name
-	  
-	  int length = name.length();
-	  // in case name is forbidden (a number, class, for, etc...)
-	  modifiedName.append('_');
-	
-	  // ensure rest of characters are valid	
-	  for (int i=0; i< length; i++) {
-		  char currentChar = name.charAt(i);
-		  if (Character.isJavaIdentifierPart(currentChar) == true  ) { 
-			  modifiedName.append(currentChar);
-		  } else {
-			  modifiedName.append(mangleChar(currentChar));
-		  }
-	  }
-	  return modifiedName.toString();
-	  
-	}
-
-	/**
-	 * take a character and return its hex equivalent
-	 */
-	private final static String mangleChar(char ch) {
-	  if ( ch == File.separatorChar ) {
-		  ch = '/';
-	  }
-	
-	  if ( Character.isLetterOrDigit(ch) == true ) {
-		  return "" + ch; //$NON-NLS-1$
-	  }
-	  return "_" + Integer.toHexString(ch).toUpperCase() + "_"; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPIncludeRegionHelper.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPIncludeRegionHelper.java
deleted file mode 100644
index f5e2241..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPIncludeRegionHelper.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * Extension of XMLJSPRegionHelper inteded to parse entire included JSP files.
- * Basically it expands the rules for what tags are parsed as JSP.
- * 
- * @author pavery
- */
-class JSPIncludeRegionHelper extends XMLJSPRegionHelper {
-	/**
-	 * @param JSPTranslator
-	 */
-	public JSPIncludeRegionHelper(JSPTranslator translator) {
-		super(translator);
-	}
-
-	// these methods determine what content gets added to the local scriplet, expression, declaration buffers
-	/*
-	 * return true for elements whose contents we might want to add to the java file we are building
-	 */
-	protected boolean isJSPStartRegion(IStructuredDocumentRegion sdRegion) {
-		String type = sdRegion.getFirstRegion().getType();
-		return type == XMLRegionContext.XML_TAG_OPEN || type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN || type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN || type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN || type == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN || type == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME;
-	}
-
-	protected boolean isDeclaration(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:declaration") //$NON-NLS-1$		
-					|| tagName.equalsIgnoreCase("<%!"); //$NON-NLS-1$		
-	}
-
-	protected boolean isExpression(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:expression") //$NON-NLS-1$		
-					|| tagName.equalsIgnoreCase("<%="); //$NON-NLS-1$
-	}
-
-	protected boolean isScriptlet(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:scriptlet") //$NON-NLS-1$		
-					|| tagName.equalsIgnoreCase("<%"); //$NON-NLS-1$
-	}
-
-	protected boolean isIncludeDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.include") || //$NON-NLS-1$
-					tagName.equalsIgnoreCase("include"); //$NON-NLS-1$
-	}
-
-	protected boolean isTaglibDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.taglib") //$NON-NLS-1$
-					|| tagName.equalsIgnoreCase("taglib"); //$NON-NLS-1$
-	}
-
-	protected boolean isPageDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.page") //$NON-NLS-1$
-					|| tagName.equalsIgnoreCase("page"); //$NON-NLS-1$
-	}
-
-	// different btwn XML-JSP and JSP tags		
-	protected String getRegionName(IStructuredDocumentRegion sdRegion) {
-		ITextRegion nameRegion = null;
-		String nameStr = ""; //$NON-NLS-1$
-		int size = sdRegion.getRegions().size();
-		if (size > 1) {
-			// presumably XML-JSP <jsp:scriptlet> | <jsp:expression> | <jsp:declaration>
-			nameRegion = sdRegion.getRegions().get(1);
-		}
-		else if (size == 1) {
-			// presumably JSP open <% | <%= | <%!
-			nameRegion = sdRegion.getRegions().get(0);
-		}
-		if (nameRegion != null)
-			nameStr = fTextToParse.substring(sdRegion.getStartOffset(nameRegion), sdRegion.getTextEndOffset(nameRegion));
-		return nameStr.trim();
-	}
-
-	protected void processOtherRegions(IStructuredDocumentRegion sdRegion) {
-		processIncludeDirective(sdRegion);
-		processPageDirective(sdRegion);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPProblemRequestor.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPProblemRequestor.java
deleted file mode 100644
index cf47682..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPProblemRequestor.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.jst.jsp.core.internal.java;
-
-/**
- * @author pavery
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.core.IProblemRequestor;
-import org.eclipse.jdt.core.compiler.IProblem;
-
-class JSPProblemRequestor implements IProblemRequestor {
-
-    private boolean fIsActive = false;
-
-    private boolean fIsRunning = false;
-
-    private List fCollectedProblems;
-
-    public void beginReporting() {
-
-        fIsRunning = true;
-        fCollectedProblems = new ArrayList();
-    }
-
-    public void acceptProblem(IProblem problem) {
-
-        if (isActive())
-            fCollectedProblems.add(problem);
-    }
-
-    public void endReporting() {
-
-        fIsRunning = false;
-    }
-
-    public boolean isActive() {
-
-        return fIsActive && fCollectedProblems != null;
-    }
-
-    /**
-     * Sets the active state of this problem requestor.
-     * 
-     * @param isActive
-     *            the state of this problem requestor
-     */
-    public void setIsActive(boolean isActive) {
-
-        if (fIsActive != isActive) {
-            fIsActive = isActive;
-            if (fIsActive)
-                startCollectingProblems();
-            else
-                stopCollectingProblems();
-        }
-    }
-
-    /**
-     * Tells this annotation model to collect temporary problems from now on.
-     */
-    private void startCollectingProblems() {
-
-        fCollectedProblems = new ArrayList();
-    }
-
-    /**
-     * Tells this annotation model to no longer collect temporary problems.
-     */
-    private void stopCollectingProblems() {
-
-        // do nothing
-    }
-
-    /**
-     * @return the list of collected problems
-     */
-    public List getCollectedProblems() {
-
-        return fCollectedProblems;
-    }
-
-    public boolean isRunning() {
-
-        return fIsRunning;
-    }
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java
deleted file mode 100644
index f0d9f7b..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslation.java
+++ /dev/null
@@ -1,561 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.WorkingCopyOwner;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jst.jsp.core.internal.Logger;
-
-
-/**
- * <p>
- * An implementation of IJSPTranslation.  
- * <br>
- * This object that holds the java translation of 
- * a JSP file as well as a mapping of ranges from the translated Java to the JSP source, 
- * and mapping from JSP source back to the translated Java.
- * </p>
- * 
- * <p>
- * You may also use JSPTranslation to do CompilationUnit-esque things such as:
- * <ul>
- * 	<li>code select (get java elements for jsp selection)</li>
- *  <li>reconcile</li>
- *  <li>get java regions for jsp selection</li>
- *  <li>get a JSP text edit based on a Java text edit</li>
- *  <li>determine if a java offset falls within a jsp:useBean range</li>
- *  <li>determine if a java offset falls within a jsp import statment</li>
- * </ul>
- * </p>
- * 
- * @author pavery
- */
-public class JSPTranslation implements IJSPTranslation {
-	
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-
-	/** the name of the class (w/out extension) **/
-	private String fClassname = ""; //$NON-NLS-1$
-	private IJavaProject fJavaProject = null;
-	private HashMap fJava2JspMap = null;
-	private HashMap fJsp2JavaMap = null;
-	private HashMap fJava2JspImportsMap = null;
-	private HashMap fJava2JspUseBeanMap = null;
-	private HashMap fJava2JspIndirectMap = null;
-	
-	// don't want to hold onto model (via translator)
-	// all relevant info is extracted in the constructor.
-	//private JSPTranslator fTranslator = null;
-	private String fJavaText = "";
-	private String fJspText = "";
-	
-	private ICompilationUnit fCompilationUnit = null;
-	private IProgressMonitor fProgressMonitor = null;
-	/** lock to synchronize access to the compilation unit **/
-	private byte[] fLock = null;
-
-	public JSPTranslation(IJavaProject javaProj, JSPTranslator translator) {
-
-		fLock = new byte[0];
-		fJavaProject = javaProj;
-		//fTranslator = translator;
-		
-		// can be null if it's an empty document (w/ NullJSPTranslation)
-		if(translator != null) {
-		    fJavaText = translator.getTranslation().toString();
-		    fJspText = translator.getJspText();
-			fClassname = translator.getClassname();
-			fJava2JspMap = translator.getJava2JspRanges();
-			fJsp2JavaMap = translator.getJsp2JavaRanges();
-			fJava2JspImportsMap = translator.getJava2JspImportRanges();
-			fJava2JspUseBeanMap = translator.getJava2JspUseBeanRanges();
-			fJava2JspIndirectMap = translator.getJava2JspIndirectRanges();
-		}
-	}
-	
-	public IJavaProject getJavaProject() {
-		return fJavaProject;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.core.internal.java.IJSPTranslation#getJavaText()
-	 */
-	public String getJavaText() {
-		//return (fTranslator != null) ? fTranslator.getTranslation().toString() : "";  //$NON-NLS-1$ 
-		return fJavaText;
-	}
-	
-	public String getJspText() {
-		//return (fTranslator != null) ? fTranslator.getJspText() : "";  //$NON-NLS-1$
-		return fJspText;
-	}
-	
-	public String getJavaPath() {
-		// create if necessary
-		ICompilationUnit cu = getCompilationUnit();
-		return (cu != null) ? cu.getPath().toString() : ""; //$NON-NLS-1$
-	}
-	
-	/**
-	 * 
-	 * @return the corresponding Java offset for a give JSP offset
-	 */
-	public int getJavaOffset(int jspOffset) {
-		int result = -1;
-		int offsetInRange = 0;
-		Position jspPos, javaPos = null;
-
-		// iterate all mapped jsp ranges
-		Iterator it = fJsp2JavaMap.keySet().iterator();
-		while (it.hasNext()) {
-			jspPos = (Position) it.next();
-			// need to count the last position as included
-			if (!jspPos.includes(jspOffset) && !(jspPos.offset+jspPos.length == jspOffset))
-				continue;
-
-			offsetInRange = jspOffset - jspPos.offset;
-			javaPos = (Position) fJsp2JavaMap.get(jspPos);
-			if(javaPos != null)
-				result = javaPos.offset + offsetInRange;
-			else  {
-
-				Logger.log(Logger.ERROR, "JavaPosition was null!" + jspOffset); //$NON-NLS-1$
-			}
-			break;
-		}
-		return result;
-	}
-
-	/**
-	 * 
-	 * @return the corresponding JSP offset for a give Java offset
-	 */
-	public int getJspOffset(int javaOffset) {
-		int result = -1;
-		int offsetInRange = 0;
-		Position jspPos, javaPos = null;
-
-		// iterate all mapped java ranges
-		Iterator it = fJava2JspMap.keySet().iterator();
-		while (it.hasNext()) {
-			javaPos = (Position) it.next();
-			// need to count the last position as included
-			if (!javaPos.includes(javaOffset) && !(javaPos.offset+javaPos.length == javaOffset))
-				continue;
-
-			offsetInRange = javaOffset - javaPos.offset;
-			jspPos = (Position) fJava2JspMap.get(javaPos);
-			
-			if(jspPos != null)
-				result = jspPos.offset + offsetInRange;
-			else  {
-				Logger.log(Logger.ERROR, "jspPosition was null!" + javaOffset); //$NON-NLS-1$
-			}
-			break;
-		}
-
-		return result;
-	}
-
-	/**
-	 * 
-	 * @return a map of Positions in the Java document to corresponding Positions in the JSP document
-	 */
-	public HashMap getJava2JspMap() {
-		return fJava2JspMap;
-	}
-
-	/**
-	 * 
-	 * @return a map of Positions in the JSP document to corresponding Positions in the Java document
-	 */
-	public HashMap getJsp2JavaMap() {
-		return fJsp2JavaMap;
-	}
-
-	/**
-	 * Checks if the specified java range covers more than one partition in the JSP file.
-	 * 
-	 * <p>
-	 * ex.
-	 * <code>
-	 * <%
-	 * 	if(submit)
-	 *  {
-	 * %>
-	 *    <p> print this...</p>
-	 * 
-	 * <%
-	 *  }
-	 *  else
-	 *  {
-	 * %>
-	 * 	   <p> print that...</p>
-	 * <%
-	 *  }
-	 * %>
-	 * </code>
-	 * </p>
-	 * 
-	 * the if else statement above spans 3 JSP partitions, so it would return true.
-	 * @param offset
-	 * @param length
-	 * @return <code>true</code> if the java code spans multiple JSP partitions, otherwise false.
-	 */
-	public boolean javaSpansMultipleJspPartitions(int javaOffset, int javaLength) {
-		HashMap java2jsp = getJava2JspMap();
-		int count = 0;
-		Iterator it = java2jsp.keySet().iterator();
-		Position javaRange = null;
-		while(it.hasNext()) {
-			javaRange = (Position)it.next();
-			if(javaRange.overlapsWith(javaOffset, javaLength))
-				count++;
-			if(count > 1)
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the Java positions for the given range in the Java document.
-	 * 
-	 * @param offset
-	 * @param length
-	 * @return
-	 */
-	public Position[] getJavaRanges(int offset, int length) {
-
-		List results = new ArrayList();
-		Iterator it = getJava2JspMap().keySet().iterator();
-		Position p = null;
-		while(it.hasNext()) {
-			p = (Position)it.next();
-			if(p.overlapsWith(offset, length))
-				results.add(p);
-		}
-		return (Position[])results.toArray(new Position[results.size()]);
-	}
-	
-	/**
-	 * Indicates if the java Offset falls within the user import ranges
-	 * @param javaOffset
-	 * @return true if the java Offset falls within the user import ranges, otherwise false
-	 */
-	public boolean isImport(int javaOffset) {
-		return isInRanges(javaOffset, fJava2JspImportsMap);
-	}
-
-	/**
-	 * Indicates if the java offset falls within the use bean ranges
-	 * @param javaOffset
-	 * @return true if the java offset falls within the user import ranges, otherwise false
-	 */
-	public boolean isUseBean(int javaOffset) {
-		return isInRanges(javaOffset, fJava2JspUseBeanMap);
-	}
-	
-	/**
-	 * @param javaPos
-	 * @return
-	 */
-	public boolean isIndirect(int javaOffset) {
-		return isInRanges(javaOffset, fJava2JspIndirectMap, false);
-	}
-	
-	private boolean isInRanges(int javaOffset, HashMap ranges) {
-		return isInRanges(javaOffset, ranges, true);
-	}
-	/**
-	 * Tells you if the given offset is included in any of the ranges (Positions) passed in.
-	 * includeEndOffset tells whether or not to include the end offset of each range in the test.
-	 * 
-	 * @param javaOffset
-	 * @param ranges
-	 * @param includeEndOffset
-	 * @return
-	 */
-	private boolean isInRanges(int javaOffset, HashMap ranges, boolean includeEndOffset) {
-		
-		Iterator it = ranges.keySet().iterator();
-		while(it.hasNext()) {
-			Position javaPos = (Position)it.next();
-			// also include the start and end offset (only if requested)
-			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=81687
-			if(javaPos.includes(javaOffset) || (includeEndOffset && javaPos.offset+javaPos.length == javaOffset)) 
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Return the Java CompilationUnit associated with this JSPTranslation (this particular model)
-	 * When using methods on the CU, it's reccomended to synchronize on the CU for reliable
-	 * results.
-	 * 
-	 * The method is synchronized to ensure that <code>createComplilationUnit</code> doesn't
-	 * get entered 2 or more times simultaneously.  A side effect of that is 2 compilation units
-	 * can be created in the JavaModelManager, but we only hold one reference to it in 
-	 * fCompilationUnit.  This would lead to a leak since only one instance of the CU is
-	 * discarded in the <code>release()</code> method.
-	 * 
-	 * @return a CompilationUnit representation of this JSPTranslation
-	 */
-	public ICompilationUnit getCompilationUnit() {
-		synchronized(fLock) {
-			try {
-				if (fCompilationUnit == null) {
-					fCompilationUnit = createCompilationUnit();
-				}
-			}
-			catch (JavaModelException jme) {
-				if(DEBUG)
-					Logger.logException("error creating JSP working copy... ", jme); //$NON-NLS-1$
-			}
-		}
-		return fCompilationUnit;
-	}
-	
-	/**
-	 * Originally from ReconcileStepForJava.  Creates an ICompilationUnit from the contents of the JSP document.
-	 * 
-	 * @return an ICompilationUnit from the contents of the JSP document
-	 */
-	private ICompilationUnit createCompilationUnit() throws JavaModelException {
-		
-		IPackageFragment packageFragment = null;
-		IJavaElement je = getJavaProject();
-
-		if (je == null || !je.exists())
-			return null;
-
-		switch (je.getElementType()) {
-			case IJavaElement.PACKAGE_FRAGMENT :
-				je = je.getParent();
-			// fall through
-
-			case IJavaElement.PACKAGE_FRAGMENT_ROOT :
-				IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) je;
-				packageFragment = packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH);
-				break;
-
-			case IJavaElement.JAVA_PROJECT :
-				IJavaProject jProject = (IJavaProject) je;
-
-				if (!jProject.exists()) {
-					if(DEBUG) {
-						System.out.println("** Abort create working copy: cannot create working copy: JSP is not in a Java project");
-					}
-					return null;
-				}
-
-				packageFragmentRoot = null;
-				IPackageFragmentRoot[] packageFragmentRoots = jProject.getPackageFragmentRoots();
-				int i = 0;
-				while (i < packageFragmentRoots.length) {
-					if (!packageFragmentRoots[i].isArchive() && !packageFragmentRoots[i].isExternal()) {
-						packageFragmentRoot = packageFragmentRoots[i];
-						break;
-					}
-					i++;
-				}
-				if (packageFragmentRoot == null) {
-					if(DEBUG) {
-						System.out.println("** Abort create working copy: cannot create working copy: JSP is not in a Java project with source package fragment root");
-					}
-					return null;
-				}
-				packageFragment = packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH);
-				break;
-
-			default :
-				return null;
-		}
-		
-		ICompilationUnit cu = packageFragment.getCompilationUnit(getClassname() + ".java").getWorkingCopy(getWorkingCopyOwner(), getProblemRequestor(), getProgressMonitor()); //$NON-NLS-1$
-		setContents(cu);
-
-		if(DEBUG) {
-			System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
-			System.out.println("(+) JSPTranslation ["+ this + "] finished creating CompilationUnit: " + cu);
-			System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
-		}
-		
-		return cu;
-	}
-
-	/**
-	 * 
-	 * @return the problem requestor for the CompilationUnit in this JSPTranslation
-	 */
-	private JSPProblemRequestor getProblemRequestor() {
-	    return CompilationUnitHelper.getInstance().getProblemRequestor();
-	}
-
-	/**
-	 * 
-	 * @return the IWorkingCopyOwner for this CompilationUnit in this JSPTranslation
-	 */
-	public WorkingCopyOwner getWorkingCopyOwner() {
-	    return CompilationUnitHelper.getInstance().getWorkingCopyOwner();
-	}
-
-	/**
-	 * 
-	 * @return the progress monitor used in long operations (reconcile, creating the CompilationUnit...) in this JSPTranslation
-	 */
-	private IProgressMonitor getProgressMonitor() {
-		if (fProgressMonitor == null)
-			fProgressMonitor = new NullProgressMonitor();
-		return fProgressMonitor;
-	}
-
-	/**
-	 * 
-	 * @return the List of problems collected during reconcile of the compilation unit
-	 */
-	public List getProblems() {
-		List problems = getProblemRequestor().getCollectedProblems();
-		return problems != null ? problems : new ArrayList();
-	}
-
-	/**
-	 * Must be set true in order for problems to be collected during reconcile.
-	 * If set false, problems will be ignored during reconcile.
-	 * @param collect
-	 */
-	public void setProblemCollectingActive(boolean collect) {
-		ICompilationUnit cu = getCompilationUnit();
-		if(cu != null) {	
-			getProblemRequestor().setIsActive(collect);
-		}
-	}
-
-	/**
-	 * Reconciles the compilation unit for this JSPTranslation
-	 */
-	public void reconcileCompilationUnit() {
-		ICompilationUnit cu = getCompilationUnit();
-		if (cu != null) {
-			try {
-				synchronized(cu) {
-					cu.makeConsistent(getProgressMonitor());
-					cu.reconcile(ICompilationUnit.NO_AST, true, getWorkingCopyOwner(), getProgressMonitor());
-				}
-			}
-			catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-	/**
-	 * Set contents of the compilation unit to the translated jsp text.
-	 * @param the ICompilationUnit on which to set the buffer contents
-	 */
-	private void setContents(ICompilationUnit cu) {
-		if (cu == null)
-			return;
-		
-		synchronized (cu) {
-			IBuffer buffer;
-			try {
-				
-				buffer = cu.getBuffer();
-			}
-			catch (JavaModelException e) {
-				e.printStackTrace();
-				buffer = null;
-			}
-	
-			if (buffer != null)
-				buffer.setContents(getJavaText());
-		}
-	}
-
-	/**
-	 * Returns the IJavaElements corresponding to the JSP range in the JSP StructuredDocument
-	 * 
-	 * @param jspStart staring offset in the JSP document
-	 * @param jspEnd ending offset in the JSP document
-	 * @return IJavaElements corresponding to the JSP selection
-	 */
-	public IJavaElement[] getElementsFromJspRange(int jspStart, int jspEnd) {
-
-		int javaPositionStart = getJavaOffset(jspStart);
-		int javaPositionEnd = getJavaOffset(jspEnd);
-
-		IJavaElement[] EMTPY_RESULT_SET = new IJavaElement[0];
-		IJavaElement[] result = EMTPY_RESULT_SET;
-		try {
-			ICompilationUnit cu = getCompilationUnit();
-			if (cu != null && cu.getBuffer().getLength() > 0 && javaPositionStart > 0 && javaPositionEnd >= javaPositionStart) {
-				synchronized (cu) {
-					result = cu.codeSelect(javaPositionStart, javaPositionEnd - javaPositionStart);
-				}
-			}
-
-			if (result == null || result.length == 0)
-				return EMTPY_RESULT_SET;
-		}
-		catch (JavaModelException x) {
-			Logger.logException(x);
-		}
-
-		return result;
-	}
-
-	public String getClassname() {
-		return fClassname;
-	}
-
-	/**
-	 * Must discard compilation unit, or else they can leak in the JavaModelManager
-	 */
-	public void release() {
-		
-		synchronized(fLock) {
-			if(fCompilationUnit != null) {
-				try {
-					if(DEBUG) {
-						System.out.println("------------------------------------------------------------------");
-						System.out.println("(-) JSPTranslation [" + this +"] discarding CompilationUnit: " + fCompilationUnit);
-						System.out.println("------------------------------------------------------------------");
-					}
-					fCompilationUnit.discardWorkingCopy();	
-				} 
-				catch (JavaModelException e) {
-					// we're done w/ it anyway
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java
deleted file mode 100644
index 8873a28..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-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.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-
-/**
- * An adapter for getting a JSPTranslation of the document.
- * 
- * @author pavery
- */
-public class JSPTranslationAdapter implements INodeAdapter, IDocumentListener {
-	
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	private IDocument fJspDocument = null;
-	private IDocument fJavaDocument = null;
-	private JSPTranslationExtension fJSPTranslation = null;
-	private boolean fDocumentIsDirty = true;
-	private XMLModel fXMLModel;
-	private JSPTranslator fTranslator = null;
-	private NullProgressMonitor fTranslationMonitor = null;
-
-	public JSPTranslationAdapter(XMLModel xmlModel) {
-		setXMLModel(xmlModel);
-		initializeJavaPlugins();
-	}
-
-	/**
-	 * Initialize the required Java Plugins
-	 */
-	protected void initializeJavaPlugins() {
-		JavaCore.getPlugin();
-	}
-
-	/**
-	 * @see com.ibm.sse.model.INodeAdapter#isAdapterForType(java.lang.Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return type.equals(IJSPTranslation.class);
-	}
-
-	/**
-	 * @see com.ibm.sse.model.INodeAdapter#notifyChanged(com.ibm.sse.model.INodeNotifier,
-	 *      int, java.lang.Object, java.lang.Object, java.lang.Object, int)
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		// nothing to do
-	}
-
-	/**
-	 * Automatically set through the setXMLModel(XMLModel)
-	 * 
-	 * @param doc
-	 */
-	private void setDocument(IDocument doc) {
-		if (fJspDocument != null)
-			fJspDocument.removeDocumentListener(this);
-		if (doc != null) {
-			doc.addDocumentListener(this);
-			fJspDocument = doc;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent event) {
-		// do nothing
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentChanged(DocumentEvent event) {
-		// mark translation for rebuilding
-		fDocumentIsDirty = true;
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.IReleasable#release()
-	 */
-	public void release() {
-		
-		if(fJspDocument != null)
-			fJspDocument.removeDocumentListener(this);
-		
-		if(fTranslationMonitor != null)
-			fTranslationMonitor.setCanceled(true);
-		
-		if(fJSPTranslation != null) {
-			
-			if(DEBUG)
-				System.out.println("JSPTranslationAdapter releasing:" + fJSPTranslation);
-			
-			fJSPTranslation.release();
-		}
-	}
-
-	/**
-	 * Returns the JSPTranslation for this adapter.
-	 * 
-	 * @see com.ibm.sse.editor.jsp.java.JSPTranslation
-	 * @return a JSPTranslationExtension
-	 */
-	public synchronized JSPTranslationExtension getJSPTranslation() {
-		
-		if (fJSPTranslation == null || fDocumentIsDirty) {
-			JSPTranslator translator = null;
-			if (getXMLModel() != null && getXMLModel().getIndexedRegion(0) != null) {
-				translator = getTranslator((XMLNode) getXMLModel().getIndexedRegion(0));
-				translator.translate();
-				StringBuffer javaContents = translator.getTranslation();
-				fJavaDocument = new Document(javaContents.toString());
-				
-			}
-			else {
-				// empty document case
-				translator = new JSPTranslator();
-				StringBuffer emptyContents = translator.getEmptyTranslation();
-				fJavaDocument = new Document(emptyContents.toString());
-			}
-			// it's going to be rebuilt, so we release it here
-			if(fJSPTranslation != null) {
-				if(DEBUG)
-					System.out.println("JSPTranslationAdapter releasing:" + fJSPTranslation);
-				fJSPTranslation.release();
-			}
-			fJSPTranslation = new JSPTranslationExtension(getXMLModel().getStructuredDocument(), fJavaDocument, getJavaProject(), translator);
-			fDocumentIsDirty = false;
-		}
-		return fJSPTranslation;
-	}
-
-	/**
-	 * Returns the JSPTranslator for this adapter. If it's null, a new
-	 * translator is created with the xmlNode. Otherwise the
-	 * translator.reset(xmlNode) is called to reset the current local
-	 * translator.
-	 * 
-	 * @param xmlNode
-	 *            the first node of the JSP document to be translated
-	 * @return the JSPTranslator for this adapter (creates if null)
-	 */
-	private JSPTranslator getTranslator(XMLNode xmlNode) {
-		if (fTranslator == null) {
-			fTranslationMonitor = new NullProgressMonitor();
-			fTranslator = new JSPTranslator();
-			fTranslator.reset(xmlNode, fTranslationMonitor);
-		}
-		else
-			fTranslator.reset(xmlNode, fTranslationMonitor);
-		return fTranslator;
-	}
-
-	/**
-	 * set the XMLModel for this adapter. Must be called.
-	 * 
-	 * @param xmlModel
-	 */
-	public void setXMLModel(XMLModel xmlModel) {
-		fXMLModel = xmlModel;
-		setDocument(fXMLModel.getStructuredDocument());
-	}
-
-	/**
-	 * @return the XMLModel for this adapter.
-	 */
-	public XMLModel getXMLModel() {
-		return fXMLModel;
-	}
-
-	/**
-	 * Gets (or creates via JavaCore) a JavaProject based on the location of
-	 * this adapter's XMLModel.  Returns null for non IFile based models.
-	 * 
-	 * @return the java project where
-	 */
-	public IJavaProject getJavaProject() {
-
-		IJavaProject javaProject = null;
-		try {
-			String baseLocation = getXMLModel().getBaseLocation();
-			// 20041129 (pa) the base location changed for xml model 
-			// because of FileBuffers, so this code had to be updated
-			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=79686
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			IPath filePath = new Path(baseLocation);
-			IFile file = null;
-			IProject project = null;
-			if (filePath.segmentCount() > 1) {
-				file = root.getFile(filePath);
-			}
-			if (file != null) {
-				project = file.getProject();
-			}
-//			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(baseLocation));
-//			for (int i = 0; project == null && i < files.length; i++) {
-//				if (files[i].getType() != IResource.PROJECT) {
-//					project = files[i].getProject();
-//					break;
-//				}
-//			}
-			if(project != null) {
-				javaProject = JavaCore.create(project);
-			}
-		}
-		catch (Exception ex) {
-			if (getXMLModel() != null)
-				Logger.logException("(JSPTranslationAdapter) problem getting java project from the XMLModel's baseLocation > " + getXMLModel().getBaseLocation(), ex); //$NON-NLS-1$
-			else
-				Logger.logException("(JSPTranslationAdapter) problem getting java project", ex); //$NON-NLS-1$
-		}
-		return javaProject;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java
deleted file mode 100644
index 32095cf..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.XMLNode;
-
-/**
- * Factory for JSPTranslationAdapters.
- * 
- * @author pavery
- *  
- */
-public class JSPTranslationAdapterFactory extends AbstractAdapterFactory {
-
-	private JSPTranslationAdapter fAdapter = null;
-
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	public JSPTranslationAdapterFactory() {
-		super();
-	}
-
-	/**
-	 * @see com.ibm.sse.model.AdapterFactory#copy()
-	 */
-	public AdapterFactory copy() {
-		return new JSPTranslationAdapterFactory();
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		if (target instanceof XMLNode && fAdapter == null) {
-			fAdapter = new JSPTranslationAdapter(((XMLNode) target).getModel());
-			if(DEBUG) {
-				System.out.println("(+) JSPTranslationAdapterFactory [" + this + "] created adapter: " + fAdapter);
-			}
-		}
-		return fAdapter;
-	}
-
-	/**
-	 * @see com.ibm.sse.model.AbstractAdapterFactory#isFactoryForType(java.lang.Object)
-	 */
-
-	public boolean isFactoryForType(Object type) {
-		return type.equals(IJSPTranslation.class);
-	}
-
-	/**
-	 * @see com.ibm.sse.model.AbstractAdapterFactory#release()
-	 */
-	public void release() {
-		if (fAdapter != null) {
-			if(DEBUG) {
-				System.out.println("(-) JSPTranslationAdapterFactory [" + this + "] releasing adapter: " + fAdapter);
-			}
-			fAdapter.release();
-		}
-		super.release();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationExtension.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationExtension.java
deleted file mode 100644
index 5ca51fa..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationExtension.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.text.edits.DeleteEdit;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.text.edits.TextEdit;
-
-
-/**
- * Adds the notion of IDocuments (jsp Document and java Document)
- * Used for TextEdit translation
- * @author pavery
- */
-public class JSPTranslationExtension extends JSPTranslation {
-	
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	// just a convenience data structure
-	// to keep track of java position deltas
-	private class PositionDelta {
-		
-		public boolean isDeleted = false;
-		public int preOffset = 0;
-		public int preLength = 0;
-		public int postOffset = 0;
-		public int postLength = 0;
-		
-		public PositionDelta(int preOffset, int preLength) {
-			this.preOffset = preOffset;
-			this.preLength = preLength;
-		}
-		public void setPostEditData(int postOffset, int postLength, boolean isDeleted) {
-			this.postOffset = postOffset;
-			this.postLength = postLength;
-			this.isDeleted = isDeleted;
-		}
-	}
-	
-	private IDocument fJspDocument = null;
-	private IDocument fJavaDocument = null;
-	
-	public JSPTranslationExtension(IDocument jspDocument, IDocument javaDocument, IJavaProject javaProj, JSPTranslator translator) {
-		super(javaProj, translator);
-		fJspDocument = jspDocument;
-		fJavaDocument = javaDocument;
-		
-		// make sure positions are added to Java and JSP documents
-		// this is necessary for text edits
-		addPositionsToDocuments();
-	}
-	
-	public IDocument getJspDocument() {
-		return fJspDocument;
-	}
-	
-	public IDocument getJavaDocument() {
-		return fJavaDocument;
-	}
-	
-	public String getJavaText() {
-		return getJavaDocument() != null ? getJavaDocument().get() : ""; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns a corresponding TextEdit for the JSP file given a TextEdit for a Java file.
-	 * Note: This method actually applies the Java edit to the internal Java document.
-	 * 
-	 * @param javaEdit
-	 * @return the corresponding JSP edits (not applied to the document yet)
-	 */
-	public TextEdit getJspEdit(TextEdit javaEdit) {
-
-		List jspEdits = new ArrayList();
-
-		int offset = javaEdit.getOffset();
-		int length = javaEdit.getLength();
-		
-		if(javaEdit instanceof MultiTextEdit && javaEdit.getChildren().length > 0) {
-	
-			IRegion r = TextEdit.getCoverage(getAllEdits(javaEdit));
-			offset = r.getOffset();
-			length = r.getLength();
-		}
-		
-		// get java ranges that will be affected by the edit
-		Position[] javaPositions = getJavaRanges(offset, length);
-		
-		// record position data before the change
-		Position[] jspPositions = new Position[javaPositions.length];
-		PositionDelta[] deltas = new PositionDelta[javaPositions.length];
-		for(int i=0; i<javaPositions.length; i++) {
-			deltas[i] = new PositionDelta(javaPositions[i].offset, javaPositions[i].length);
-			// isIndirect means the position doesn't actually exist as exact text 
-			// mapping from java <-> jsp (eg. an import statement)
-			if(!isIndirect(javaPositions[i].offset))
-				jspPositions[i] = (Position)getJava2JspMap().get(javaPositions[i]);
-		}
-
-		if(DEBUG) {
-			System.out.println("================================================");
-			System.out.println("deltas:");
-			String javaText = getJavaText();
-			for(int i=0; i<deltas.length; i++) 
-				System.out.println("pos[" + deltas[i].preOffset + ":" + deltas[i].preLength + "]" + javaText.substring(deltas[i].preOffset, deltas[i].preOffset + deltas[i].preLength) );
-			System.out.println("===============================================");
-		}
-		
-		// apply the edit to the java document
-		try {
-			javaEdit.apply(getJavaDocument());
-		} catch (MalformedTreeException e) {
-			Logger.logException(e);
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-		// now at this point Java positions are unreliable since they were updated after applying java edit.
-		
-		String newJavaText = getJavaDocument().get();
-		if(DEBUG) 
-			System.out.println("java post format text:\n" + newJavaText); //$NON-NLS-1$
-		
-		// record post edit data
-		for(int i=0; i<javaPositions.length; i++)
-			deltas[i].setPostEditData(javaPositions[i].offset, javaPositions[i].length, javaPositions[i].isDeleted);
-		
-		// create appropriate text edits for deltas
-		Position jspPos = null;
-		String replaceText = ""; //$NON-NLS-1$
-		for(int i=0; i<deltas.length; i++) {
-			jspPos = jspPositions[i];
-			// can be null if it's an indirect mapping position
-			// or if something was added into java that was not originally in JSP (like a new import...)
-
-			if(jspPos != null) {
-				if(deltas[i].isDeleted) {
-					jspEdits.add(new DeleteEdit(jspPos.offset, jspPos.length));
-				}
-				else {
-					replaceText = newJavaText.substring(deltas[i].postOffset, deltas[i].postOffset + deltas[i].postLength);
-					jspEdits.add(new ReplaceEdit(jspPos.offset, jspPos.length, replaceText));
-				}
-				if(DEBUG) 
-					debugReplace(deltas, jspPos, replaceText, i);
-			}
-			else {
-				// the new Java text has no corresponding JSP position
-				// possible new import?
-				if(isImport(javaPositions[i].getOffset()) && replaceText.lastIndexOf("import ") != -1) { //$NON-NLS-1$
-					replaceText = newJavaText.substring(deltas[i].postOffset, deltas[i].postOffset + deltas[i].postLength);
-					String importText = replaceText.substring(replaceText.lastIndexOf("import "), replaceText.indexOf(";")); //$NON-NLS-1$ //$NON-NLS-2$
-					// evenutally need to check if it's XML-JSP
-					importText = "<%@page import=\"" + importText + "\" %>\n"; //$NON-NLS-1$ //$NON-NLS-2$
-					jspEdits.add(new InsertEdit(0, importText));
-				}
-			}
-		}
-		return createMultiTextEdit((TextEdit[])jspEdits.toArray(new TextEdit[jspEdits.size()]));
-	}
-	
-
-	/**
-	 * Combines an array of edits into one MultiTextEdit (with the appropriate coverage region)
-	 * @param edits
-	 * @return
-	 */
-	private TextEdit createMultiTextEdit(TextEdit[] edits) {
-		
-		if(edits.length == 0)
-			return new MultiTextEdit();
-			
-		IRegion region = TextEdit.getCoverage(edits);
-		MultiTextEdit multiEdit = new MultiTextEdit(region.getOffset(), region.getLength());
-		for (int i = 0; i < edits.length; i++) {
-			addToMultiEdit(edits[i], multiEdit);
-		}
-		return multiEdit;
-	}
-	
-	
-	private void addToMultiEdit(TextEdit edit, MultiTextEdit multiEdit) {
-		
-		// check for overlap here
-		// discard overlapping edits..
-		// possible exponential performance hit... need a better way...
-		TextEdit[] children = multiEdit.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			if(children[i].covers(edit))
-				// don't add
-				return;
-		}
-		multiEdit.addChild(edit);
-	}
-	
-	
-	/**
-	 * @param translation
-	 */
-	private void addPositionsToDocuments() {
-		
-		// can be null if it's a NullJSPTranslation
-		if(getJavaDocument() != null && getJspDocument() != null) {
-
-			HashMap java2jsp = getJava2JspMap();
-			Iterator it = java2jsp.keySet().iterator();
-			Position javaPos = null;
-			while(it.hasNext()) {
-				javaPos =(Position)it.next();
-				try {
-					
-					fJavaDocument.addPosition(javaPos);
-					
-				} catch (BadLocationException e) {
-					if(DEBUG) {
-						System.out.println("tyring to add Java Position:[" + javaPos.offset + ":" + javaPos.length + "] to " + getJavaPath()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$					
-						//System.out.println("substring :[" + fJavaDocument.get().substring(javaPos.offset) + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-						Logger.logException(e);
-					}
-				}
-				
-				try {
-					
-					fJspDocument.addPosition((Position)java2jsp.get(javaPos));
-					
-				} catch (BadLocationException e) {
-					if(DEBUG) {
-						System.out.println("tyring to add JSP Position:[" + ((Position)java2jsp.get(javaPos)).offset + ":" +((Position)java2jsp.get(javaPos)).length + "] to " + getJavaPath()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						Logger.logException(e);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Recursively gets all child edits
-	 * @param javaEdit
-	 * @return all child edits
-	 */
-	private TextEdit[] getAllEdits(TextEdit javaEdit) {
-		
-		List result = new ArrayList();
-		if(javaEdit instanceof MultiTextEdit) {
-			TextEdit[] children = javaEdit.getChildren();
-			for (int i = 0; i < children.length; i++) 
-				result.addAll(Arrays.asList(getAllEdits(children[i])));
-		}
-		else 
-			result.add(javaEdit);
-		return (TextEdit[])result.toArray(new TextEdit[result.size()]);
-	}
-
-	/**
-	 * @param deltas
-	 * @param jspPos
-	 * @param replaceText
-	 * @param jspText
-	 * @param i
-	 */
-	private void debugReplace(PositionDelta[] deltas, Position jspPos, String replaceText, int i) {
-		String jspChunk;
-		jspChunk = getJspDocument().get().substring(jspPos.offset, jspPos.offset + jspPos.length);
-		if(!deltas[i].isDeleted) {
-			System.out.println("replacing:"); //$NON-NLS-1$
-			System.out.println("jsp:[" + jspChunk + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println("w/ :[" + replaceText + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println("--------------------------------"); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java
deleted file mode 100644
index 30b51fe..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.text.edits.CopySourceEdit;
-import org.eclipse.text.edits.CopyTargetEdit;
-import org.eclipse.text.edits.DeleteEdit;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MoveSourceEdit;
-import org.eclipse.text.edits.MoveTargetEdit;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-public class JSPTranslationUtil {
-	protected IDocument fDocument = null;
-	protected JSPTranslationExtension fTranslation = null;
-
-	public JSPTranslationUtil(IDocument document) {
-		fDocument = document;
-	}
-
-	public TextEdit translateTextEdit(TextEdit textEdit) {
-		TextEdit translatedTextEdit = null;
-
-		int javaOffset = textEdit.getOffset();
-		int jspOffset = getTranslation().getJspOffset(textEdit.getOffset());
-		int length = textEdit.getLength();
-
-		if (textEdit instanceof MultiTextEdit) {
-			translatedTextEdit = new MultiTextEdit();
-			TextEdit[] children = ((MultiTextEdit) textEdit).getChildren();
-			for (int i = 0; i < children.length; i++) {
-				TextEdit translatedChildTextEdit = translateTextEdit(children[i]);
-				if (translatedChildTextEdit != null)
-					((MultiTextEdit) translatedTextEdit).addChild(translatedChildTextEdit);
-			}
-		} else if (textEdit instanceof ReplaceEdit) {
-			if (jspOffset == -1)
-				return null;
-
-			if (!getTranslation().javaSpansMultipleJspPartitions(javaOffset, length))
-				translatedTextEdit = new ReplaceEdit(jspOffset, length, ((ReplaceEdit) textEdit).getText());
-		} else if (textEdit instanceof InsertEdit) {
-			translatedTextEdit = new InsertEdit(jspOffset, ((InsertEdit) textEdit).getText());
-		} else if (textEdit instanceof DeleteEdit) {
-			translatedTextEdit = new DeleteEdit(jspOffset, length);
-			TextEdit[] children = ((DeleteEdit) textEdit).getChildren();
-			for (int i = 0; i < children.length; i++) {
-				TextEdit translatedChildTextEdit = translateTextEdit(children[i]);
-				if (translatedChildTextEdit != null)
-					((DeleteEdit) translatedTextEdit).addChild(translatedChildTextEdit);
-			}
-		} else if (textEdit instanceof CopySourceEdit) {
-			translatedTextEdit = new CopySourceEdit(jspOffset, length);
-			((CopySourceEdit) translatedTextEdit).setTargetEdit(((CopySourceEdit) textEdit).getTargetEdit());
-			((CopySourceEdit) translatedTextEdit).setSourceModifier(((CopySourceEdit) textEdit).getSourceModifier());
-		} else if (textEdit instanceof CopyTargetEdit) {
-			translatedTextEdit = new CopyTargetEdit(jspOffset);
-			((CopyTargetEdit) textEdit).getSourceEdit().setTargetEdit((CopyTargetEdit) translatedTextEdit);
-		} else if (textEdit instanceof MoveSourceEdit) {
-			translatedTextEdit = new MoveSourceEdit(jspOffset, length);
-			((MoveSourceEdit) translatedTextEdit).setTargetEdit(((MoveSourceEdit) textEdit).getTargetEdit());
-		} else if (textEdit instanceof MoveTargetEdit) {
-			translatedTextEdit = new MoveTargetEdit(jspOffset);
-			((MoveTargetEdit) textEdit).getSourceEdit().setTargetEdit((MoveTargetEdit) translatedTextEdit);
-		} else {
-			System.out.println("Need to translate " + textEdit); //$NON-NLS-1$
-		}
-
-		return translatedTextEdit;
-	}
-
-	public JSPTranslationExtension getTranslation() {
-		if (fTranslation == null) {
-			XMLModel xmlModel = (XMLModel) getModelManager().getExistingModelForRead(fDocument);
-			try {
-				XMLDocument xmlDoc = xmlModel.getDocument();
-
-				JSPTranslationAdapter translationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				if (translationAdapter != null)
-					fTranslation = translationAdapter.getJSPTranslation();
-			} finally {
-				xmlModel.releaseFromRead();
-			}
-		}
-
-		return fTranslation;
-	}
-
-	public ICompilationUnit getCompilationUnit() {
-		return getTranslation().getCompilationUnit();
-	}
-
-	protected IModelManager getModelManager() {
-		return StructuredModelManager.getModelManager();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java
deleted file mode 100644
index 20bbc07..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java
+++ /dev/null
@@ -1,1782 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDElementDeclaration;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDVariable;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.contentmodel.CMDocumentTracker;
-import org.eclipse.wst.sse.core.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-/**
- * Translates a JSP document into a HttpServlet.
- * Keeps two way mapping from java translation to the original JSP source, which
- * can be obtained through getJava2JspRanges() and getJsp2JavaRanges().
- * 
- * @author pavery
- */
-public class JSPTranslator {
-	
-	public static final String ENDL = "\n"; //$NON-NLS-1$
-	
-	private String fClassHeader = "public class _JSPServlet extends "; //$NON-NLS-1$
-	private String fClassname = "_JSPServlet"; //$NON-NLS-1$
-	
-	private String fServiceHeader = "public void _jspService(javax.servlet.http.HttpServletRequest request," + //$NON-NLS-1$
-				" javax.servlet.http.HttpServletResponse response)\n" + //$NON-NLS-1$
-				"\t\tthrows java.io.IOException, javax.servlet.ServletException {\n" + //$NON-NLS-1$
-				"javax.servlet.jsp.PageContext pageContext = null;\n" + //$NON-NLS-1$
-				"javax.servlet.http.HttpSession session = null;\n" + //$NON-NLS-1$
-				"javax.servlet.ServletContext application = null;\n" + //$NON-NLS-1$
-				"javax.servlet.ServletConfig config = null;\n" + //$NON-NLS-1$ 
-				"javax.servlet.jsp.JspWriter out = null;\n" + //$NON-NLS-1$
-				"Object page = null;"; //$NON-NLS-1$
-
-	private String fFooter = "}}"; //$NON-NLS-1$
-	private String fException = "Throwable exception = null;"; //$NON-NLS-1$
-	public static final String EXPRESSION_PREFIX = "out.print(\"\"+"; //$NON-NLS-1$
-	public static final String EXPRESSION_SUFFIX = ");"; //$NON-NLS-1$
-	private String fSuperclass = "javax.servlet.http.HttpServlet"; //$NON-NLS-1$
-
-	/** fSourcePosition = position in JSP source*/
-	private int fSourcePosition = -1;
-	/** fRelativeOffest = offset in the buffer there the cursor is */
-	private int fRelativeOffset = -1;
-	/** fCursorPosition = offset in the translated java document */
-	private int fCursorPosition = -1;
-	/** some page directive attributes */
-	private boolean fIsErrorPage, fCursorInExpression = false;
-
-	/** user java code in body of the service method */
-	private StringBuffer fUserCode = new StringBuffer();
-	/** user defined vars declared in the beginning of the class */
-	private StringBuffer fUserDeclarations = new StringBuffer();
-	/** user defined imports */
-	private StringBuffer fUserImports = new StringBuffer();
-
-	private StringBuffer fImports = new StringBuffer(); // imports
-	private StringBuffer fResult; // the final traslated java document string buffer
-	private StringBuffer fCursorOwner = null; // the buffer where the cursor is
-
-	private XMLModel fStructuredModel = null;
-	private IStructuredDocument fStructuredDocument = null;
-	private ModelQuery fModelQuery = null;
-	//private XMLNode fPositionNode; // position in the DOM
-	private IStructuredDocumentRegion fCurrentNode;
-	private boolean fInCodeRegion = false; // flag for if cursor is in the current region being translated
-
-	/**
-	 * these constants are to keep track of whether the code in question 
-	 * is embedded (JSP as an attribute or within comment tags)
-	 * or is just standard JSP code, or identifies if it's an expression 
-	 */
-	protected final static int STANDARD_JSP = 0;
-	protected final static int EMBEDDED_JSP = 1;
-	protected final static int DECLARATION = 2;
-	protected final static int EXPRESSION = 4;
-	protected final static int SCRIPTLET = 8;
-
-	/** used to avoid infinite looping include files */
-	private Stack fIncludes = null;
-	/** mostly for helper classes, so they parse correctly */
-	private ArrayList fBlockMarkers = null;
-	/** use only one inclue helper per file location */
-	private HashMap fJSPIncludeHelperMap = null;
-	/** for keeping track of offset in user buffers while document is being built*/
-	private int fOffsetInUserImports = 0;
-	private int fOffsetInUserDeclarations = 0;
-	private int fOffsetInUserCode = 0;
-
-	/** correlates ranges (positions) in java to ranges in jsp */
-	private HashMap fJava2JspRanges = new HashMap();
-
-	/** map of ranges in fUserImports (relative to the start of the buffer) to ranges in source JSP buffer. */
-	private HashMap fImportRanges = new HashMap();
-	/** map of ranges in fUserCode (relative to the start of the buffer) to ranges in source JSP buffer. */
-	private HashMap fCodeRanges = new HashMap();
-	/** map of ranges in fUserDeclarations (relative to the start of the buffer) to ranges in source JSP buffer. */
-	private HashMap fDeclarationRanges = new HashMap();
-
-	private HashMap fUseBeanRanges = new HashMap();
-	/** ranges that don't directly map from java code to JSP code (eg. <%@include file="included.jsp"%> */
-	private HashMap fIndirectRanges = new HashMap();
-	
-	private IProgressMonitor fProgressMonitor = null;
-	
-	/** 
-	 * save JSP document text for later use 
-	 * may just want to read this from the file or strucdtured document depending what is available
-	 * */
-	private StringBuffer fJspTextBuffer = new StringBuffer();
-	
-	/** 
-	 * Bits indicates what state the translator is in
-	 * use stateMask | MASK to set
-	 * use (stateMask & MASK) == MASK to check
-	 * USE stateMask 
-	 */
-	
-	/** no state */
-	public static final int S_NONE = 0;
-	
-	/**
-	 * configure using an XMLNode
-	 * @param node
-	 * @param monitor
-	 */
-	private void configure(XMLNode node, IProgressMonitor monitor) {
-		
-		fProgressMonitor = monitor;
-		fStructuredModel = node.getModel();
-		//fPositionNode = node;
-		
-		fModelQuery = ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-		fStructuredDocument = fStructuredModel.getStructuredDocument();
-		
-		String className = createClassname(node);
-		if (className.length() > 0) {
-			setClassname(className);
-			fClassHeader = "public class " + className + " extends "; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	/**
-	 * memory saving configure (no StructuredDocument in memory)
-	 * currently doesn't handle included files
-	 * 
-	 * @param jspFile
-	 * @param monitor
-	 */
-	private void configure(IFile jspFile, IProgressMonitor monitor) {
-		// when configured on a file
-		// fStructuredModel, fPositionNode, fModelQuery, fStructuredDocument are all null
-		
-		fProgressMonitor = monitor;
-		
-		String className = createClassname(jspFile);
-		if (className.length() > 0) {
-			setClassname(className);
-			fClassHeader = "public class " + className + " extends "; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * Set the jsp text from an IFile
-	 * @param jspFile
-	 */
-	private void setJspText(IFile jspFile) {
-		try {
-			BufferedInputStream in = new BufferedInputStream(jspFile.getContents());
-			BufferedReader reader = new BufferedReader(new InputStreamReader(in));
-		    String line = null; 
-		    while ((line=reader.readLine()) != null){ 
-		    	fJspTextBuffer.append(line);
-		    	fJspTextBuffer.append(ENDL);
-		    } 
-		    reader.close(); 
-		}
-		catch (CoreException e){
-			Logger.logException(e);
-		}
-		catch(IOException e) {
-			Logger.logException(e);
-		}
-	}
-	
-	/**
-	 * @param node
-	 * @return
-	 */
-	private String createClassname(XMLNode node) {
-		
-		String classname = ""; //$NON-NLS-1$
-		if (node != null) {
-			String base = node.getModel().getBaseLocation();
-			classname = JSP2ServletNameUtil.mangle(base);
-		}
-		return classname;
-	}
-
-	/**
-	 * @param jspFile
-	 * @return
-	 */
-	private String createClassname(IFile jspFile) {
-		
-		String classname = ""; //$NON-NLS-1$
-		if(jspFile != null) {
-			classname = JSP2ServletNameUtil.mangle(jspFile.getFullPath().toString());
-		}
-		return classname;
-	}
-	
-	public void setClassname(String classname) {
-		this.fClassname = classname;
-	}
-
-	public String getClassname() {
-		return this.fClassname != null ? this.fClassname : "GenericJspServlet"; //$NON-NLS-1$
-	}
-
-	/**
-	 * So that the JSPTranslator can be reused.
-	 */
-	public void reset(XMLNode node, IProgressMonitor progress) {
-		
-		// initialize some things on node
-		configure(node, progress);
-		reset();
-		// set the jsp text buffer
-		fJspTextBuffer.append(fStructuredDocument.get());
-	}
-	
-	/**
-	 * conservative version (no StructuredDocument/Model)
-	 * @param jspFile
-	 * @param progress
-	 */
-	public void reset(IFile jspFile, IProgressMonitor progress) {
-		
-		// initialize some things on node
-		configure(jspFile, progress);
-		reset();
-		// set the jsp text buffer
-		setJspText(jspFile);
-	}
-
-	/**
-	 * Reinitialize some fields
-	 */
-	private void reset() {
-		
-		// reset progress monitor
-		if (fProgressMonitor != null)
-			fProgressMonitor.setCanceled(false);
-
-		// reinit fields
-		fSourcePosition = -1;
-		fRelativeOffset = -1;
-		fCursorPosition = -1;
-
-		fIsErrorPage = fCursorInExpression = false;
-
-		fUserCode = new StringBuffer();
-		fUserDeclarations = new StringBuffer();
-		fUserImports = new StringBuffer();
-
-		fImports = new StringBuffer(); // imports
-		fResult = null;
-		fCursorOwner = null; // the buffer where the cursor is
-
-		fCurrentNode = null;
-		fInCodeRegion = false; // flag for if cursor is in the current region
-							  // being translated
-
-		if (fIncludes != null)
-			fIncludes.clear();
-
-		fBlockMarkers = null;
-
-		fJSPIncludeHelperMap = null;
-
-		fOffsetInUserImports = 0;
-		fOffsetInUserDeclarations = 0;
-		fOffsetInUserCode = 0;
-
-		fJava2JspRanges.clear();
-		fImportRanges.clear();
-		fCodeRanges.clear();
-		fUseBeanRanges.clear();
-		fDeclarationRanges.clear();
-		fIndirectRanges.clear();
-		
-		fJspTextBuffer = new StringBuffer();
-	}
-	
-	/**
-	 * @return just the "shell" of a servlet, nothing contributed from the JSP doc
-	 */
-	public final StringBuffer getEmptyTranslation() {
-		reset();
-		buildResult();
-		return getTranslation();
-	}
-	
-	/**
-	 * put the final java document together
-	 */
-	private final void buildResult() {
-		// to build the java document this is the order:
-		// 
-		// + default imports
-		// + user imports
-		// + class header
-		// [+ error page]
-		// + user declarations
-		// + service method header
-		// + user code
-		// + service method footer
-		fResult = new StringBuffer(fImports.length() + fUserDeclarations.length() + fUserCode.length() + 2048);
-		int javaOffset = 0;
-
-		// default imports
-		append(fImports);
-		javaOffset += fImports.length();
-		updateRanges(fImportRanges, javaOffset);
-		
-		//updateRanges(fIndirectImports, javaOffset);
-		// user imports
-		append(fUserImports);
-		javaOffset += fUserImports.length();
-
-		// class header
-		fResult.append(fClassHeader); //$NON-NLS-1$
-		javaOffset += fClassHeader.length();
-		fResult.append(fSuperclass + "{\n"); //$NON-NLS-1$
-		javaOffset += fSuperclass.length() + 2;
-
-		updateRanges(fDeclarationRanges, javaOffset);
-		// user declarations
-		append(fUserDeclarations);
-		javaOffset += fUserDeclarations.length();
-
-		fResult.append(fServiceHeader);
-		javaOffset += fServiceHeader.length();
-		// error page      
-		if (fIsErrorPage) {
-			fResult.append(fException);
-			javaOffset += fException.length();
-		}
-		updateRanges(fCodeRanges, javaOffset);
-		
-		// user code
-		append(fUserCode);
-		javaOffset += fUserCode.length();
-
-		// footer
-		fResult.append(fFooter);
-		javaOffset += fFooter.length();
-
-		fJava2JspRanges.putAll(fImportRanges);
-		fJava2JspRanges.putAll(fDeclarationRanges);
-		fJava2JspRanges.putAll(fCodeRanges);
-	}
-
-	/**
-	 * @param javaRanges
-	 * @param offsetInJava
-	 */
-	private void updateRanges(HashMap rangeMap, int offsetInJava) {
-		// just need to update java ranges w/ the offset we now know
-		Iterator it = rangeMap.keySet().iterator();
-		while (it.hasNext()) 
-			((Position) it.next()).offset += offsetInJava;
-	}
-
-	/**
-	 * map of ranges (positions) in java document to ranges in jsp document
-	 * @return a map of java positions to jsp positions.
-	 */
-	public HashMap getJava2JspRanges() {
-		return fJava2JspRanges;
-	}
-
-	/**
-	 * map of ranges in jsp document to ranges in java document.
-	 * @return a map of jsp positions to java positions, or null if no translation has occured yet
-	 * (the map hasn't been built). 
-	 */
-	public HashMap getJsp2JavaRanges() {
-		if (fJava2JspRanges == null)
-			return null;
-		HashMap flipFlopped = new HashMap();
-		Iterator keys = fJava2JspRanges.keySet().iterator();
-		Object range = null;
-		while (keys.hasNext()) {
-			range = keys.next();
-			flipFlopped.put(fJava2JspRanges.get(range), range);
-		}
-		return flipFlopped;
-	}
-	
-	public HashMap getJava2JspImportRanges() {
-		return fImportRanges;
-	}
-	
-	public HashMap getJava2JspUseBeanRanges() {
-		return fUseBeanRanges;
-	}
-	
-	public HashMap getJava2JspIndirectRanges() {
-		return fIndirectRanges;
-	}
-	
-	/**
-	 * Adds to the jsp<->java map by default
-	 * @param value a comma delimited list of imports
-	 */
-	protected void addImports(String value) {
-		addImports(value, true);
-	}
-	
-	/**
-	 * Pass in a comma delimited list of import values,
-	 * appends each to the final result buffer
-	 * @param value a comma delimited list of imports
-	 */
-	protected void addImports(String value, boolean addToMap) {
-		// https://bugs.eclipse.org/bugs/show_bug.cgi?id=81687
-		// added the "addToMap" parameter to exclude imports originating
-		// from included JSP files to be added to the jsp<->java mapping	
-		StringTokenizer st = new StringTokenizer(value, ",", false); //$NON-NLS-1$
-		String tok = ""; //$NON-NLS-1$
-		String appendage = ""; //$NON-NLS-1$
-		while (st.hasMoreTokens()) {
-			tok = st.nextToken();
-			appendage = "import " + tok + ";" + ENDL; //$NON-NLS-1$ //$NON-NLS-2$
-			appendToBuffer(appendage, fUserImports, addToMap, fCurrentNode);
-		}
-	}
-
-	/**
-	 /* keep track of cursor position inside the buffer
-	 /* appends buffer to the final result buffer
-	 */
-	protected void append(StringBuffer buf) {
-		if (getCursorOwner() == buf) {
-			fCursorPosition = fResult.length() + getRelativeOffset();
-		}
-		fResult.append(buf.toString());
-	}
-
-	/**
-	 * Only valid after a configure(...), translate(...) or translateFromFile(...) call
-	 * @return the current result (java translation) buffer
-	 */
-	public final StringBuffer getTranslation() {
-		return fResult;
-	}
-	
-	/**
-	 * Only valid after a configure(...), translate(...) or translateFromFile(...) call
-	 * @return the text in the JSP file
-	 */
-	public final String getJspText() {
-		return fJspTextBuffer.toString();
-	}
-
-	/**
-	 * adds the variables for a tag in a taglib to the dummy java document
-	 * @param tagToAdd is the name of the tag whose variables we want to add
-	 */
-	protected void addTaglibVariables(String tagToAdd) {
-		if (fModelQuery != null) {
-			// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5159
-			TLDCMDocumentManager docMgr = TaglibController.getTLDCMDocumentManager(fStructuredDocument);
-			if (docMgr == null)
-				return;
-			Iterator taglibs = docMgr.getCMDocumentTrackers(fCurrentNode.getStartOffset()).iterator();
-			CMDocument doc = null;
-			CMNamedNodeMap elements = null;
-			while (taglibs.hasNext()) {
-				doc = (CMDocument) taglibs.next();
-				CMNode node = null;
-				if ((elements = doc.getElements()) != null && (node = elements.getNamedItem(tagToAdd)) != null && node.getNodeType() == CMNode.ELEMENT_DECLARATION) {
-					if (node instanceof CMNodeWrapper) {
-						node = ((CMNodeWrapper) node).getOriginNode();
-					}
-					// future_TODO
-					// FOR TAGLIB 1.1 STYLE, WE NEED TO INSTANTIATE THE 
-					// TagExtraInfo class and get the variables that way			
-					// use reflection to create class...
-					// VariableInfo[] getVariableInfo(TagData data)
-					// THIS IS ONLY FOR TAGLIB 1.2 STYLE .tld files
-					List list = ((TLDElementDeclaration) node).getVariables();
-					Iterator it = list.iterator();
-					while (it.hasNext()) {
-						TLDVariable var = (TLDVariable) it.next();
-						String varName = var.getNameGiven();
-						if (varName == null) {
-							varName = var.getNameFromAttribute();
-						}
-						if (varName != null) {
-							String varClass = "java.lang.String"; //$NON-NLS-1$ // the default class...
-							if (var.getVariableClass() != null) {
-								varClass = var.getVariableClass();
-							}
-							// add to declarations...
-							String newDeclaration = varClass + " " + varName + " = null;" + ENDL; //$NON-NLS-1$ //$NON-NLS-2$
-							// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5159
-							// not adding to map to avoid strange refactoring behavior
-							appendToBuffer(newDeclaration, fUserCode, false, fCurrentNode);
-//							fUserCode.append(newDeclaration);
-//
-//							Position javaRange = new Position(fOffsetInUserCode, newDeclaration.length());
-//							// will need to incrememnt offset in user code
-//							Position jspRange = new Position(fCurrentNode.getStart(), fCurrentNode.getLength());
-//							fCodeRanges.put(javaRange, jspRange);
-//							fOffsetInUserCode += newDeclaration.length();
-
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/*
-	 * used by inner helper class (XMLJSPRegionHelper, JSPIncludeRegionHelper)
-	 */
-	public List getBlockMarkers() {
-		if (fBlockMarkers == null)
-			fBlockMarkers = new ArrayList();
-		return fBlockMarkers;
-	}
-
-	/** 
-	 /* the main control loop for translating the document, driven by the structuredDocument nodes
-	 */
-	public void translate() {
-		setCurrentNode(fStructuredDocument.getFirstStructuredDocumentRegion());
-		
-		while (getCurrentNode() != null && !isCanceled()) {
-			
-			// intercept HTML comment flat node
-			// also handles UNDEFINED (which is what CDATA comes in as)
-			// basically this part will handle any "embedded" JSP containers
-			if (getCurrentNode().getType() == XMLRegionContext.XML_COMMENT_TEXT || getCurrentNode().getType() == XMLRegionContext.XML_CDATA_TEXT || getCurrentNode().getType() == XMLRegionContext.UNDEFINED) {
-				translateXMLCommentNode(getCurrentNode());
-			}
-			else // iterate through each region in the flat node
-			{
-				translateRegionContainer(getCurrentNode(), STANDARD_JSP);
-			}
-			if (getCurrentNode() != null)
-				advanceNextNode();
-		}
-		buildResult();
-	}
-
-	protected void setDocumentContent(IDocument document, InputStream contentStream, String charset) {
-		Reader in = null;
-		try {
-			in = new BufferedReader(new InputStreamReader(contentStream, charset), 2048);
-			StringBuffer buffer = new StringBuffer(2048);
-			char[] readBuffer = new char[2048];
-			int n = in.read(readBuffer);
-			while (n > 0) {
-				buffer.append(readBuffer, 0, n);
-				n = in.read(readBuffer);
-			}
-			document.set(buffer.toString());
-		}
-		catch (IOException x) {
-			// ignore
-		}
-		finally {
-			if (in != null) {
-				try {
-					in.close();
-				}
-				catch (IOException x) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/**
-	 * 
-	 * @return the status of the translator's progrss monitor, false if the monitor is null
-	 */
-	private boolean isCanceled() {
-		return (fProgressMonitor == null) ? false : fProgressMonitor.isCanceled();
-	}
-
-	private void advanceNextNode() {
-		setCurrentNode(getCurrentNode().getNext());
-		if (getCurrentNode() != null)
-			setSourceReferencePoint();
-	}
-
-	private void setSourceReferencePoint() {
-		if (isJSP(getCurrentNode().getFirstRegion().getType())) {
-			Iterator it = getCurrentNode().getRegions().iterator();
-			ITextRegion r = null;
-			while (it.hasNext()) {
-				r = (ITextRegion) it.next();
-				if (r.getType() == XMLJSPRegionContexts.JSP_CONTENT || r.getType() == XMLRegionContext.XML_CONTENT)
-					break;
-				else if (r.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME)
-					break;
-				else if (r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE && getCurrentNode().getFullText(r).trim().equals("import")) //$NON-NLS-1$
-					break;
-			}
-		}
-	}
-
-	/**
-	 * translates a region container (and XML JSP container, or <% JSP container)
-	 */
-	protected void translateRegionContainer(ITextRegionCollection container, int JSPType) {
-		
-		ITextRegionCollection containerRegion = container;
-		Iterator regions = containerRegion.getRegions().iterator();
-		ITextRegion region = null;
-		while (regions.hasNext()) {
-			region = (ITextRegion) regions.next();
-			String type = region.getType();
-			// PMR 91930
-			// CMVC 241869
-			// content assist was not showing up in JSP inside a javascript region
-			if (type == XMLRegionContext.BLOCK_TEXT) {
-				// check if it's nested jsp in  a script tag...
-				if (region instanceof ITextRegionContainer) {
-					translateJSPNode(region, regions, type, EMBEDDED_JSP);
-				}
-				else {
-					//////////////////////////////////////////////////////////////////////////////////
-					// THIS EMBEDDED JSP TEXT WILL COME OUT LATER WHEN PARTITIONING HAS 
-					// SUPPORT FOR NESTED XML-JSP
-					// CMVC 241882
-					decodeScriptBlock(containerRegion.getFullText(region), containerRegion.getStartOffset());
-					//////////////////////////////////////////////////////////////////////////////////
-				}
-			}
-			if (type != null && isJSP(type)) // <%, <%=, <%!, <%@
-			{
-				translateJSPNode(region, regions, type, JSPType);
-			}
-			else if (type != null && type == XMLRegionContext.XML_TAG_OPEN) {
-				translateXMLNode(containerRegion, regions);
-			}
-		}
-		//}
-	}
-
-	/*//////////////////////////////////////////////////////////////////////////////////
-	 * ** TEMP WORKAROUND FOR CMVC 241882
-	 * Takes a String and blocks out jsp:scriptlet, jsp:expression, and jsp:declaration
-	 * @param blockText
-	 * @return
-	 */
-	private void decodeScriptBlock(String blockText, int startOfBlock) {
-		XMLJSPRegionHelper helper = new XMLJSPRegionHelper(this);
-		helper.addBlockMarker(new BlockMarker("jsp:scriptlet", null, XMLJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.addBlockMarker(new BlockMarker("jsp:expression", null, XMLJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.addBlockMarker(new BlockMarker("jsp:declaration", null, XMLJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.addBlockMarker(new BlockMarker("jsp:directive.include", null, XMLJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.addBlockMarker(new BlockMarker("jsp:directive.taglib", null, XMLJSPRegionContexts.JSP_CONTENT, false)); //$NON-NLS-1$
-		helper.reset(blockText, startOfBlock);
-		// force parse
-		helper.forceParse();
-		helper.writeToBuffers();
-	}
-
-	/*
-	 * returns string minus CDATA open and close text
-	 */
-	final public String stripCDATA(String text) {
-		String resultText = ""; //$NON-NLS-1$
-		String CDATA_OPEN = "<![CDATA["; //$NON-NLS-1$
-		String CDATA_CLOSE = "]]>"; //$NON-NLS-1$
-		int start = 0;
-		int end = text.length();
-		while (start < text.length()) {
-			if (text.indexOf(CDATA_OPEN, start) > -1) {
-				end = text.indexOf(CDATA_OPEN, start);
-				resultText += text.substring(start, end);
-				start = end + CDATA_OPEN.length();
-			}
-			else if (text.indexOf(CDATA_CLOSE, start) > -1) {
-				end = text.indexOf(CDATA_CLOSE, start);
-				resultText += text.substring(start, end);
-				start = end + CDATA_CLOSE.length();
-			}
-			else {
-				end = text.length();
-				resultText += text.substring(start, end);
-				break;
-			}
-		}
-		return resultText;
-	}
-
-	// END OF WORKAROUND CODE...
-	/////////////////////////////////////////////////////////////////////////////////////// 
-	/**
-	 * determines if the type is a pure JSP type (not XML)
-	 */
-	protected boolean isJSP(String type) {
-		return ((type == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN || type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN || type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN || type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN || type == XMLJSPRegionContexts.JSP_CONTENT) && type != XMLRegionContext.XML_TAG_OPEN);
-		// checking XML_TAG_OPEN so <jsp:directive.xxx/> gets treated like other XML jsp tags
-	}
-
-	/**
-	 * translates the various XMLJSP type nodes
-	 * @param regions the regions of the XMLNode
-	 */
-	protected void translateXMLNode(ITextRegionCollection container, Iterator regions) {
-		// contents must be valid XHTML, translate escaped CDATA into what it really is...
-		ITextRegion r = null;
- 		if (regions.hasNext()) {
-			r = (ITextRegion) regions.next();
-			if (r.getType() == XMLRegionContext.XML_TAG_NAME || r.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) // <jsp:directive.xxx comes in as this
-			{
-				String fullTagName = container.getFullText(r).trim();
-				if (fullTagName.indexOf(':') > -1) {
-					addTaglibVariables(fullTagName); // it may be a taglib
-				}
-				StringTokenizer st = new StringTokenizer(fullTagName, ":.", false); //$NON-NLS-1$
-				if (st.hasMoreTokens() && st.nextToken().equals("jsp")) //$NON-NLS-1$
-				{
-					if (st.hasMoreTokens()) {
-						String jspTagName = st.nextToken();
-						if (jspTagName.equals("useBean")) //$NON-NLS-1$
-						{
-							advanceNextNode(); // get the content
-							if (getCurrentNode() != null) {
-								translateUseBean(container); // 'regions' should be all the useBean attributes
-							}
-						}
-						else if (jspTagName.equals("scriptlet")) //$NON-NLS-1$
-						{	
-							// <jsp:scriptlet>scriptlet content...</jsp:scriptlet>
-							IStructuredDocumentRegion sdr = getCurrentNode().getNext();
-							if(sdr != null) {
-								translateScriptletString(sdr.getText(), sdr, sdr.getStartOffset(), sdr.getEndOffset());
-							}
-							advanceNextNode();
-						}
-						else if (jspTagName.equals("expression")) //$NON-NLS-1$
-						{
-							// <jsp:expression>expression content...</jsp:expression>
-							IStructuredDocumentRegion sdr = getCurrentNode().getNext();
-							if(sdr != null) {
-								translateExpressionString(sdr.getText(), sdr, sdr.getStartOffset(), sdr.getEndOffset());
-							}
-							advanceNextNode();
-						}
-						else if (jspTagName.equals("declaration")) //$NON-NLS-1$
-						{
-							// <jsp:declaration>declaration content...</jsp:declaration>
-							IStructuredDocumentRegion sdr = getCurrentNode().getNext();
-							if(sdr != null) {
-								translateDeclarationString(sdr.getText(), sdr, sdr.getStartOffset(), sdr.getEndOffset());
-								
-							}
-							advanceNextNode();
-						}
-						else if (jspTagName.equals("directive")) //$NON-NLS-1$
-						{
-							if (st.hasMoreTokens()) {
-								String directiveName = st.nextToken();
-								if (directiveName.equals("taglib")) { //$NON-NLS-1$
-									handleTaglib();
-									return;
-								}
-								else if (directiveName.equals("include")) { //$NON-NLS-1$
-									
-									String fileLocation = ""; //$NON-NLS-1$
-									String attrValue = ""; //$NON-NLS-1$
-									// CMVC 258311
-									// PMR 18368, B663
-									// skip to required "file" attribute, should be safe because
-									// "file" is the only attribute for the include directive
-									while (r != null && regions.hasNext() && !r.getType().equals(XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-										r = (ITextRegion) regions.next();
-									}
-									attrValue = getAttributeValue(r, regions);
-									if (attrValue != null)
-										handleIncludeFile(fileLocation);
-								}
-								else if (directiveName.equals("page")) { //$NON-NLS-1$
-									
-									// 20040702 commenting this out
-									// bad if currentNode is referenced after here w/ the current list
-									// see: https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3035
-									// setCurrentNode(getCurrentNode().getNext());
-									if (getCurrentNode() != null) {
-										translatePageDirectiveAttributes(regions); // 'regions' are attributes for the directive
-									}
-								}
-							}
-						}
-						else if(jspTagName.equals("include")) { //$NON-NLS-1$
-							
-							// <jsp:include page="filename") />
-							while(regions.hasNext()) {
-								r = (ITextRegion)regions.next();
-								if(r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME && getCurrentNode().getText(r).equals("page")) { //$NON-NLS-1$
-									String filename = getAttributeValue(r, regions);
-									handleIncludeFile(filename);
-									break;
-								}
-							}		
-						}
-					}
-				}
-				else {
-					// tag name is not jsp
-					// handle embedded jsp attributes...
-					ITextRegion embedded = null;
-					Iterator attrRegions = null;
-					ITextRegion attrChunk = null;
-					while (regions.hasNext()) {
-						embedded = (ITextRegion) regions.next();
-						if (embedded instanceof ITextRegionContainer) {
-							// parse out container
-							attrRegions = ((ITextRegionContainer) embedded).getRegions().iterator();
-							while (attrRegions.hasNext()) {
-								attrChunk = (ITextRegion) attrRegions.next();
-								String type = attrChunk.getType();
-								// CMVC 263661, embedded JSP in attribute support
-								// only want to translate one time per embedded region
-								// so we only translate on the JSP open tags (not content)
-								if (type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN || type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN || type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN || type == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN) {
-									// now call jsptranslate
-									//System.out.println("embedded jsp OPEN >>>> " + ((ITextRegionContainer)embedded).getText(attrChunk));
-									translateEmbeddedJSPInAttribute((ITextRegionContainer) embedded);
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * goes through comment regions, checks if any are an embedded JSP container
-	 * if it finds one, it's sends the container into the translation routine
-	 */
-	protected void translateXMLCommentNode(IStructuredDocumentRegion node) {
-		Iterator it = node.getRegions().iterator();
-		ITextRegion commentRegion = null;
-		while (it != null && it.hasNext()) {
-			commentRegion = (ITextRegion) it.next();
-			if (commentRegion instanceof ITextRegionContainer) {
-				translateRegionContainer((ITextRegionContainer) commentRegion, EMBEDDED_JSP); // it's embedded jsp...iterate regions...
-			}
-		}
-	}
-
-	/**
-	 * determines which type of JSP node to translate
-	 */
-	protected void translateJSPNode(ITextRegion region, Iterator regions, String type, int JSPType) {
-		if (type == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN && regions != null) {
-			translateDirective(regions);
-		}
-		else {
-			ITextRegionCollection contentRegion = null;
-			if (JSPType == STANDARD_JSP && (setCurrentNode(getCurrentNode().getNext())) != null) {
-				contentRegion = getCurrentNode();
-			}
-			else if (JSPType == EMBEDDED_JSP && region instanceof ITextRegionCollection) {
-				// CMVC 263661
-				translateEmbeddedJSPInBlock((ITextRegionCollection) region);
-				// ensure the rest of this method won't be called
-				contentRegion = null;
-			}
-			if (contentRegion != null) {
-				if (type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN) {
-					translateExpression(contentRegion);
-				}
-				else if (type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN) {
-					translateDeclaration(contentRegion);
-				}
-				else if (type == XMLJSPRegionContexts.JSP_CONTENT || type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN) {
-					translateScriptlet(contentRegion);
-				}
-			}
-			else {
-				// this is the case of an attribute w/ no region <p align="<%%>">
-				setCursorOwner(getJSPTypeForRegion(region));
-			}
-		}
-	}
-
-	/**
-	 * Pass the ITextRegionCollection which is the embedded region
-	 * @param iterator
-	 */
-	private void translateEmbeddedJSPInBlock(ITextRegionCollection collection) {
-		Iterator regions = collection.getRegions().iterator();
-		ITextRegion region = null;
-		while (regions.hasNext()) {
-			region = (ITextRegion) regions.next();
-			if (isJSP(region.getType()))
-				break;
-			region = null;
-		}
-		if (region != null) {
-			translateEmbeddedJSPInAttribute(collection);
-		}
-	}
-
-	/*
-	 * for example: 
-	 * <a href="index.jsp?p=<%=abc%>b=<%=xyz%>">abc</a>
-	 */
-	private void translateEmbeddedJSPInAttribute(ITextRegionCollection embeddedContainer) {
-		// THIS METHOD IS A FIX FOR CMVC 263661 (jsp embedded in attribute regions)
-		
-		// loop all regions
-		ITextRegionList embeddedRegions = embeddedContainer.getRegions();
-		ITextRegion delim = null;
-		ITextRegion content = null;
-		String type = null;
-		for(int i=0; i<embeddedRegions.size(); i++) {
-			
-			// possible delimiter, check later
-			delim = embeddedRegions.get(i);
-			type = delim.getType();
-			
-			// check next region to see if it's content
-			if(i+1<embeddedRegions.size()) {
-				if(embeddedRegions.get(i+1).getType() == XMLJSPRegionContexts.JSP_CONTENT)
-					content = embeddedRegions.get(i+1);
-			}
-			
-			if(content != null) {
-				int contentStart =  embeddedContainer.getStartOffset(content);
-				int rStart = fCurrentNode.getStartOffset() + contentStart;
-				int rEnd = fCurrentNode.getStartOffset() + embeddedContainer.getEndOffset(content);
-				
-				boolean inThisRegion = rStart <= fSourcePosition && rEnd >= fSourcePosition;
-				//int jspPositionStart = fCurrentNode.getStartOffset() + contentStart;
-				
-				if(type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN) {
-					fLastJSPType = EXPRESSION;
-					translateExpressionString(embeddedContainer.getText(content), fCurrentNode, contentStart, content.getLength());
-				}
-				else if(type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN) {
-					fLastJSPType = SCRIPTLET;
-					translateScriptletString(embeddedContainer.getText(content), fCurrentNode, contentStart, content.getLength());
-				}
-				else if(type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN) {
-					fLastJSPType = DECLARATION;
-					translateDeclarationString(embeddedContainer.getText(content), fCurrentNode, contentStart, content.getLength());
-				}
-				
-				// calculate relative offset in buffer
-				if (inThisRegion) {
-					setCursorOwner(fLastJSPType);
-					int currentBufferLength = getCursorOwner().length();
-					setRelativeOffset((fSourcePosition - contentStart) + currentBufferLength);
-					if (fLastJSPType == EXPRESSION) {
-						// if an expression, add then length of the enclosing paren..
-						setCursorInExpression(true);
-						setRelativeOffset(getRelativeOffset() + EXPRESSION_PREFIX.length());
-					}
-				}
-			}
-			else {
-				type = null;
-				content = null;
-			}
-		}
-	}
-
-	private int fLastJSPType = SCRIPTLET;
-
-	/**
-	 * JSPType is only used internally in this class to describe tye type of region to be translated
-	 * @param region
-	 * @return int
-	 */
-	private int getJSPTypeForRegion(ITextRegion region) {
-		String regionType = region.getType();
-		int type = SCRIPTLET;
-		if (regionType == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN)
-			type = SCRIPTLET;
-		else if (regionType == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN)
-			type = EXPRESSION;
-		else if (regionType == XMLJSPRegionContexts.JSP_DECLARATION_OPEN)
-			type = DECLARATION;
-		else if (regionType == XMLJSPRegionContexts.JSP_CONTENT)
-			type = fLastJSPType;
-		// remember the last type, in case the next type that comes in is JSP_CONTENT
-		fLastJSPType = type;
-		return type;
-	}
-
-	/**
-	 /* <%@ %>
-	 /* need to pass in the directive tag region
-	 */
-	protected void translateDirective(Iterator regions) {
-		ITextRegion r = null;
-		String regionText, attrValue = ""; //$NON-NLS-1$
-		while (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) { // could be XML_CONTENT = "", skips attrs?
-			regionText = getCurrentNode().getText(r);
-			if (regionText.indexOf("taglib") > -1) { //$NON-NLS-1$
-				// add custom tag block markers here
-				handleTaglib();
-				return;
-			}
-			else if (regionText.equals("include")) { //$NON-NLS-1$
-				String fileLocation = ""; //$NON-NLS-1$
-				// CMVC 258311
-				// PMR 18368, B663
-				// skip to required "file" attribute, should be safe because
-				// "file" is the only attribute for the include directive
-				while (r != null && regions.hasNext() && !r.getType().equals(XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-					r = (ITextRegion) regions.next();
-				}
-				fileLocation = getAttributeValue(r, regions);
-				if (attrValue != null)
-					handleIncludeFile(fileLocation);
-			}
-			else if (regionText.indexOf("page") > -1) { //$NON-NLS-1$
-				translatePageDirectiveAttributes(regions);
-			}
-		}
-	}
-
-	/*
-	 * This method should ideally only be called once per run through JSPTranslator
-	 * This is intended for use by inner helper classes that need to add block markers to their own parsers.
-	 * This method only adds markers that came from <@taglib> directives, (not <@include>),
-	 * since include file taglibs are handled on the fly when they are encountered.
-	 * * @param regions
-	 */
-	protected void handleTaglib() {
-		// get/create TLDCMDocument
-		TLDCMDocumentManager mgr = TaglibController.getTLDCMDocumentManager(fStructuredDocument);
-		if (mgr != null) {
-			List trackers = mgr.getCMDocumentTrackers(getCurrentNode().getEnd());
-			Iterator it = trackers.iterator();
-			CMDocumentTracker tracker = null;
-			Iterator taglibRegions = null;
-			IStructuredDocumentRegion sdRegion = null;
-			ITextRegion r = null;
-			while (it.hasNext()) {
-				tracker = (CMDocumentTracker) it.next();
-				sdRegion = tracker.getStructuredDocumentRegion();
-				taglibRegions = sdRegion.getRegions().iterator();
-				while (taglibRegions.hasNext()) {
-					r = (ITextRegion) taglibRegions.next();
-					if (r.getType().equals(XMLJSPRegionContexts.JSP_DIRECTIVE_NAME)) {
-						if (sdRegion.getText(r).equals("taglib")) { //$NON-NLS-1$
-							addBlockMarkers(tracker.getDocument());
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/*
-	 * adds block markers to JSPTranslator's block marker list for all elements in doc
-	 * @param doc
-	 */
-	protected void addBlockMarkers(CMDocument doc) {
-		if (doc.getElements().getLength() > 0) {
-			Iterator elements = doc.getElements().iterator();
-			CMNode node = null;
-			while (elements.hasNext()) {
-				node = (CMNode) elements.next();
-				getBlockMarkers().add(new BlockMarker(node.getNodeName(), null, XMLJSPRegionContexts.JSP_CONTENT, true));
-			}
-		}
-	}
-
-	/**
-	 * If r is an attribute name region, this method will safely return the value for that attribute.
-	 * @param r
-	 * @param remainingRegions
-	 * @return the value for the attribute name (r), or null if isn't one
-	 */
-	protected String getAttributeValue(ITextRegion r, Iterator remainingRegions) {
-		if (r.getType().equals(XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-			if (remainingRegions.hasNext() && (r = (ITextRegion) remainingRegions.next()) != null && r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-				if (remainingRegions.hasNext() && (r = (ITextRegion) remainingRegions.next()) != null && r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-					// handle include for the filename
-					return StringUtils.stripQuotes(getCurrentNode().getText(r));
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * takes an emnumeration of the attributes of a directive tag
-	 */
-	protected void translatePageDirectiveAttributes(Iterator regions) {
-		ITextRegion r = null;
-		String attrName, attrValue;
-		// iterate all attributes
-		while (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() != XMLJSPRegionContexts.JSP_CLOSE) {
-			attrName = attrValue = null;
-			if (r.getType().equals(XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-				
-				attrName = getCurrentNode().getText(r).trim();
-				if(attrName.length() > 0) {
-					if (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-						if (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-							
-							attrValue = StringUtils.strip(getCurrentNode().getText(r));
-						}
-						// has equals, but no value?
-					}
-					setDirectiveAttribute(attrName, attrValue);
-				}
-			}
-		}
-	}
-
-	/**
-	 * sets the appropriate page directive attribute
-	 */
-	protected void setDirectiveAttribute(String attrName, String attrValue) {
-		if (attrValue == null)
-			return; // uses default (if there was one)
-		if (attrName.equals("extends")) //$NON-NLS-1$
-		{
-			fSuperclass = attrValue;
-		}
-		else if (attrName.equals("import")) //$NON-NLS-1$
-		{
-			addImports(attrValue);
-		}
-		else if (attrName.equals("session")) //$NON-NLS-1$
-		{
-			//fSession = ("true".equalsIgnoreCase(attrValue)); //$NON-NLS-1$
-		}
-		else if (attrName.equals("buffer")) //$NON-NLS-1$
-		{
-			// ignore for now
-		}
-		else if (attrName.equals("autoFlush")) //$NON-NLS-1$
-		{
-			// ignore for now
-		}
-		else if (attrName.equals("isThreadSafe")) //$NON-NLS-1$
-		{
-			//fThreadSafe = "true".equalsIgnoreCase(attrValue); //$NON-NLS-1$
-		}
-		else if (attrName.equals("isErrorPage")) //$NON-NLS-1$
-		{
-			fIsErrorPage = Boolean.valueOf(attrValue).booleanValue();
-		}
-	}
-
-	protected void handleIncludeFile(String filename) {
-		if (filename != null) {
-			String fileLocation = null;
-			if (getResolver() != null) {
-				fileLocation = (getIncludes().empty()) 
-                                    ? getResolver().getLocationByURI(StringUtils.strip(filename)) 
-                                    : getResolver().getLocationByURI(StringUtils.strip(filename), (String) getIncludes().peek());
-			}
-			else {
-				// shouldn't happen
-				fileLocation = StringUtils.strip(filename);
-			}
-			// hopefully, a resolver is present and has returned a canonical file path
-			if (!getIncludes().contains(fileLocation) && getBaseLocation() != null && !fileLocation.equals(getBaseLocation())) {
-				getIncludes().push(fileLocation);
-				JSPIncludeRegionHelper helper = getIncludesHelper(fileLocation);
-				helper.parse(fileLocation);
-				helper.writeToBuffers();
-				getIncludes().pop();
-			}
-		}
-	}
-
-	/*
-	 * one helper per fileLocation
-	 */
-	protected JSPIncludeRegionHelper getIncludesHelper(String fileLocation) {
-		// lazy creation
-		if (fJSPIncludeHelperMap == null) {
-			fJSPIncludeHelperMap = new HashMap();
-		}
-		JSPIncludeRegionHelper helper = (JSPIncludeRegionHelper) fJSPIncludeHelperMap.get(fileLocation);
-		if (helper == null) {
-			helper = new JSPIncludeRegionHelper(this);
-			fJSPIncludeHelperMap.put(fileLocation, helper);
-		}
-		return helper;
-	}
-
-	private URIResolver getResolver() {
-		return (fStructuredModel != null) ? fStructuredModel.getResolver() : null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	private String getBaseLocation() {
-		if (getResolver() == null)
-			return null;
-		return getResolver().getFileBaseLocation();
-	}
-
-	private Stack getIncludes() {
-		if (fIncludes == null)
-			fIncludes = new Stack();
-		return fIncludes;
-	}
-
-	protected void translateExpressionString(String newText, ITextRegionCollection embeddedContainer, int jspPositionStart, int jspPositionLength) {
-		appendToBuffer(EXPRESSION_PREFIX, fUserCode, false, embeddedContainer);
-		appendToBuffer(newText, fUserCode, true, embeddedContainer, jspPositionStart, jspPositionLength);
-		appendToBuffer(EXPRESSION_SUFFIX, fUserCode, false, embeddedContainer);
-	}
-
-	protected void translateDeclarationString(String newText, ITextRegionCollection embeddedContainer, int jspPositionStart, int jspPositionLength) {
-		appendToBuffer(newText, fUserDeclarations, true, embeddedContainer, jspPositionStart, jspPositionLength);
-		appendToBuffer(ENDL, fUserDeclarations, false, embeddedContainer);
-	}
-
-	/**
-	 * used by XMLJSPRegionHelper for included JSP files
-	 * 
-	 * @param newText
-	 * @param embeddedContainer
-	 * @param jspPositionStart
-	 * @param jspPositionLength
-	 */
-	protected void translateScriptletString(String newText, ITextRegionCollection embeddedContainer, int jspPositionStart, int jspPositionLength) {
-		appendToBuffer(newText, fUserCode, true, embeddedContainer, jspPositionStart, jspPositionLength);
-	}
-
-	// the following 3 methods determine the cursor position
-	// <%= %>
-	protected void translateExpression(ITextRegionCollection region) {
-		String newText = getUnescapedRegionText(region, EXPRESSION);
-		appendToBuffer(EXPRESSION_PREFIX, fUserCode, false, fCurrentNode);
-		appendToBuffer(newText, fUserCode, true, fCurrentNode);
-		appendToBuffer(EXPRESSION_SUFFIX, fUserCode, false, fCurrentNode);
-	}
-
-	//
-	// <%! %>
-	protected void translateDeclaration(ITextRegionCollection region) {
-		String newText = getUnescapedRegionText(region, DECLARATION);
-		appendToBuffer(newText, fUserDeclarations, true, fCurrentNode);
-		appendToBuffer(ENDL, fUserDeclarations, false, fCurrentNode);
-	}
-
-	//
-	// <% %>
-	protected void translateScriptlet(ITextRegionCollection region) {
-		String newText = getUnescapedRegionText(region, SCRIPTLET);
-		appendToBuffer(newText, fUserCode, true, fCurrentNode);
-	}
-
-	/**
-	 * Append using a region, probably indirect mapping (eg. <%@page include=""%>)
-	 * @param newText
-	 * @param buffer
-	 * @param addToMap
-	 * @param jspReferenceRegion
-	 */
-	private void appendToBuffer(String newText, StringBuffer buffer, boolean addToMap, ITextRegionCollection jspReferenceRegion) {
-	 	int start = 0, length = 0;
-	 	if(jspReferenceRegion != null) {
-	 		start = jspReferenceRegion.getStartOffset();
-	 		length = jspReferenceRegion.getLength();
-	 	}
-	 	appendToBuffer(newText, buffer, addToMap, jspReferenceRegion, start, length, false);
-	}
-	
-	private void appendToBuffer(String newText, StringBuffer buffer, boolean addToMap, ITextRegionCollection jspReferenceRegion, int jspPositionStart, int jspPositionLength) {
-		appendToBuffer(newText, buffer, addToMap, jspReferenceRegion, jspPositionStart, jspPositionLength, true);
-	}
-	 
-	/**
-	 * Adds newText to the buffer passed in, and adds to translation mapping as specified by the addToMap flag.
-	 * some special cases to consider (that may be affected by changes to this method): 
-	 * included files
-	 * scriplets in an attribute value
-	 * refactoring
-	 * 
-	 * @param newText
-	 * @param buffer
-	 * @param addToMap
-	 */
-	private void appendToBuffer(String newText, StringBuffer buffer, boolean addToMap, ITextRegionCollection jspReferenceRegion, int jspPositionStart, int jspPositionLength, boolean isIndirect) {
-		
-		// nothing to append
-		if (jspReferenceRegion == null)
-			return;
-		
-		// add a newline so translation looks cleaner
-		newText += ENDL;
-		
-		if (buffer == fUserCode) {
-			buffer.append(newText);
-			if (addToMap) {
-				if (isUsebeanTag(jspReferenceRegion)) {
-					try {
-						// requires special mapping
-						appendUseBeanToBuffer(newText, jspReferenceRegion, isIndirect);
-					}
-					catch (Exception e){
-						// still working out kinks
-						Logger.logException(e);
-					}
-				}
-				else {
-					// all other cases
-					Position javaRange = new Position(fOffsetInUserCode, newText.length());
-					Position jspRange = new Position(jspPositionStart, jspPositionLength);
-					
-					fCodeRanges.put(javaRange, jspRange);
-					if(isIndirect)
-						fIndirectRanges.put(javaRange, jspRange);
-				}
-			}
-			fOffsetInUserCode += newText.length();
-		}
-		else if (buffer == fUserDeclarations) {
-			buffer.append(newText);
-			if (addToMap) {
-				Position javaRange = new Position(fOffsetInUserDeclarations, newText.length());
-				Position jspRange = new Position(jspPositionStart, jspPositionLength);
-				
-				fDeclarationRanges.put(javaRange, jspRange);
-				if(isIndirect)
-					fIndirectRanges.put(javaRange, jspRange);
-			}
-			fOffsetInUserDeclarations += newText.length();
-		}
-		else if (buffer == fUserImports) {
-			buffer.append(newText);
-			if (addToMap) {
-				appendImportToBuffer(jspReferenceRegion, isIndirect);
-			}
-			fOffsetInUserImports += newText.length();
-		}
-	}
-
-	/**
-	 * @param jspReferenceRegion
-	 * @return
-	 */
-	private boolean isUsebeanTag(ITextRegionCollection jspReferenceRegion) {
-		ITextRegionList regions = jspReferenceRegion.getRegions();
-		ITextRegion r = null;
-		boolean isUseBean = false;
-		for (int i = 0; i < regions.size(); i++) {
-			r = regions.get(i);
-			if (r.getType() == XMLRegionContext.XML_TAG_NAME && jspReferenceRegion.getText(r).equals("jsp:useBean")) { //$NON-NLS-1$
-				isUseBean = true;
-				break;
-			}
-		}
-		return isUseBean;
-	}
-
-	/**
-	 * @param newText
-	 * @param jspReferenceRegion
-	 */
-	private void appendImportToBuffer(ITextRegionCollection jspReferenceRegion, boolean isIndirect) {
-		// these positions will be updated below
-		// 7 is length of "import "
-		Position javaRange = new Position(fOffsetInUserImports + 7, 1);
-		Position jspRange = new Position(jspReferenceRegion.getStart(), jspReferenceRegion.getLength());
-		
-		// calculate JSP range by finding "import" attribute
-		ITextRegionList regions = jspReferenceRegion.getRegions();
-		int size = regions.size();
-		ITextRegion r = null;
-		for (int i = 0; i < size; i++) {
-			r = regions.get(i);
-			if(r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				if(jspReferenceRegion.getText(r).trim().equals("import")) { //$NON-NLS-1$
-					// get the attr value region
-					if(size > i+2) {
-						r = regions.get(i+2);
-						if(r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-							// use the length of the value (minus the quotes)
-							// won't work for multiple
-							String importText = jspReferenceRegion.getText(r);
-							int quoteOffset = (importText.startsWith("\"") || importText.startsWith("'")) ? 1 : 0; //$NON-NLS-1$ //$NON-NLS-2$
-							String strippedText = StringUtils.stripQuotesLeaveInsideSpace(importText);
-							jspRange = new Position(jspReferenceRegion.getStartOffset(r)+quoteOffset, strippedText.length());
-							// set java range length
-							javaRange.setLength(strippedText.length());
-							break;
-						}
-					}
-				}
-		}
-
-		// put ranges in java -> jsp range map
-		fImportRanges.put(javaRange, jspRange);
-		if(isIndirect)
-			fIndirectRanges.put(javaRange, jspRange);
-	}
-
-	/**
-	 * temp fix for 282295 until better mapping is in place
-	 * @param newText
-	 * @param jspReferenceRegion
-	 */
-	private void appendUseBeanToBuffer(String newText, ITextRegionCollection jspReferenceRegion, boolean isIndirect) throws Exception {
-		// java string looks like this (tokenized)
-		// Type id = new Classname();\n
-		// 0    1  2 3   4
-		// or
-		// Type id = null;\n // if there is no classname
-		// 0    1  2 3
-		
-		//----------------------
-		// calculate java ranges
-		//----------------------
-		StringTokenizer st = new StringTokenizer(newText, " ", false); //$NON-NLS-1$
-		int i = 0;
-		String[] parsedJava = new String[st.countTokens()];
-		while (st.hasMoreTokens())
-			parsedJava[i++] = st.nextToken();
-
-		String type = parsedJava[0] != null ? parsedJava[0] : ""; //$NON-NLS-1$
-		String id = parsedJava[1] != null ? parsedJava[1] : ""; //$NON-NLS-1$
-		String className = parsedJava.length > 4 ? parsedJava[4] : ""; //$NON-NLS-1$
-
-		Position javaTypeRange = new Position(fOffsetInUserCode, type.length());
-		Position javaIdRange = new Position(fOffsetInUserCode + type.length() + 1, id.length());
-		Position javaClassRange = new Position(fOffsetInUserCode + type.length() + 1 + id.length() + 7, 0);
-		if(className.length() >= 4)
-			javaClassRange = new Position(fOffsetInUserCode + type.length() + 1 + id.length() + 7, className.length()-4);
-
-		//---------------------
-		// calculate jsp ranges
-		//---------------------
-		ITextRegionList regions = jspReferenceRegion.getRegions();
-		ITextRegion r = null;
-		String attrName = "", attrValue = ""; //$NON-NLS-1$ //$NON-NLS-2$
-		int quoteOffset = 0;
-		Position jspTypeRange = null;
-		Position jspIdRange = null;
-		Position jspClassRange = null;
-
-		for (int j = 0; j < regions.size(); j++) {
-			r = regions.get(j);
-			if (r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				attrName = jspReferenceRegion.getText(r);
-				if (regions.size() >= j + 2 && regions.get(j + 2).getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-					// get attr value
-					r = regions.get(j + 2);
-					attrValue = jspReferenceRegion.getText(r);
-					
-					// may have quotes
-					quoteOffset = (attrValue.startsWith("\"") || attrValue.startsWith("'")) ? 1 : 0; //$NON-NLS-1$ //$NON-NLS-2$
-					
-					if (attrName.equals("type")) //$NON-NLS-1$
-						jspTypeRange = new Position(jspReferenceRegion.getStartOffset(r) + quoteOffset, StringUtils.stripQuotesLeaveInsideSpace(attrValue).length());
-					else if (attrName.equals("id")) //$NON-NLS-1$
-						jspIdRange = new Position(jspReferenceRegion.getStartOffset(r) + quoteOffset, StringUtils.stripQuotesLeaveInsideSpace(attrValue).length());
-					else if (attrName.equals("class"))  //$NON-NLS-1$
-						jspClassRange = new Position(jspReferenceRegion.getStartOffset(r) + quoteOffset, StringUtils.stripQuotesLeaveInsideSpace(attrValue).length());
-				}
-			}
-		}
-		
-		// put ranges in java -> jsp range map
-		if (!type.equals("") && jspTypeRange != null) { //$NON-NLS-1$
-			fCodeRanges.put(javaTypeRange, jspTypeRange);
-			// note: don't update offsets for this map when result is built
-			// they'll be updated when code ranges offsets are updated
-			fUseBeanRanges.put(javaTypeRange, jspTypeRange);
-			if(isIndirect)
-				fIndirectRanges.put(javaTypeRange, jspTypeRange);
-		}
-		if (!id.equals("") && jspIdRange != null) { //$NON-NLS-1$
-			fCodeRanges.put(javaIdRange, jspIdRange);
-			// note: don't update offsets for this map when result is built
-			// they'll be updated when code ranges offsets are updated
-			fUseBeanRanges.put(javaIdRange, jspTypeRange);
-			if(isIndirect)
-				fIndirectRanges.put(javaIdRange, jspTypeRange);
-		}
-		if (!className.equals("") && jspClassRange != null) { //$NON-NLS-1$
-			fCodeRanges.put(javaClassRange, jspClassRange);
-			// note: don't update offsets for this map when result is built
-			// they'll be updated when code ranges offsets are updated
-			fUseBeanRanges.put(javaClassRange, jspTypeRange);
-			if(isIndirect)
-				fIndirectRanges.put(javaClassRange, jspTypeRange);
-		}
-	}
-
-	/**
-	 * Set the buffer to the current JSPType:
-	 * STANDARD_JSP, EMBEDDED_JSP, DECLARATION, EXPRESSION, SCRIPTLET
-	 * (for keepting track of cursor position when the final document is built)
-	 * @param JSPType the JSP type that the cursor is in
-	 */
-	protected void setCursorOwner(int JSPType) {
-		switch (JSPType) {
-			case DECLARATION :
-				setCursorOwner(fUserDeclarations);
-				break;
-			case EXPRESSION :
-			case SCRIPTLET :
-				setCursorOwner(fUserCode);
-				break;
-			default :
-				setCursorOwner(fUserCode);
-		}
-	}
-
-	/**
-	 * this piece of code iterates through fCurrentNodes
-	 * and clumps them together in a big text string
-	 * - unescaping characters if they are not CDATA
-	 * - simply appending if they are CDATA
-	 * it stops iteration when it hits a node that is an XML_TAG_NAME (which should be the region closing tag)
-	 */
-	protected String getUnescapedRegionText(ITextRegionCollection stRegion, int JSPType) {
-		StringBuffer buffer = new StringBuffer();
-		int start = stRegion.getStartOffset();
-		int end = stRegion.getEndOffset();
-		// adjustment necessary for embedded region containers
-		if (stRegion instanceof ITextRegionContainer && stRegion.getType() == XMLRegionContext.BLOCK_TEXT) {
-			if (stRegion.getRegions() != null && stRegion.getRegions().size() > 1) {
-				ITextRegion jspContent = stRegion.getRegions().get(1); // should be jspContent region
-				start = stRegion.getStartOffset(jspContent);
-				end = stRegion.getEndOffset(jspContent);
-			}
-		}
-		int CDATAOffset = 0; // number of characters lost in conversion
-		int bufferSize = 0;
-		if (stRegion.getType() == XMLJSPRegionContexts.JSP_CONTENT || stRegion.getType() == XMLRegionContext.BLOCK_TEXT // need this for embedded JSP regions
-					|| stRegion.getType() == XMLRegionContext.XML_TAG_NAME) // need this in case there's no region...
-		{
-			fInCodeRegion = (start <= fSourcePosition && fSourcePosition <= end);
-			if (fInCodeRegion) {
-				setCursorOwner(JSPType);
-				setRelativeOffset((fSourcePosition - start) + getCursorOwner().length());
-				if (JSPType == EXPRESSION) {
-					// if an expression, add then length of the enclosing paren..
-					setCursorInExpression(true);
-					setRelativeOffset(getRelativeOffset() + EXPRESSION_PREFIX.length());
-				}
-			}
-			ITextRegion jspContent = null;
-			if (stRegion.getRegions() != null && stRegion.getRegions().size() > 1)
-				jspContent = stRegion.getRegions().get(1);
-			return (jspContent != null) ? stRegion.getFullText(jspContent) : stRegion.getFullText(); // don't unescape if it's not an XMLJSP tag
-		}
-		else if (stRegion.getType() == XMLJSPRegionContexts.JSP_CLOSE) {
-			// need to determine cursor owner so that the fCurosorPosition will be
-			// correct even if there is no region after the cursor in the JSP file
-			setCursorOwner(JSPType);
-		}
-		// iterate XMLCONTENT and CDATA regions
-		// loop fCurrentNode until you hit </jsp:scriptlet> (or other closing tag name)
-		while (getCurrentNode() != null && getCurrentNode().getType() != XMLRegionContext.XML_TAG_NAME) // need to stop on the ending tag name...
-		{
-			start = getCurrentNode().getStartOffset();
-			end = getCurrentNode().getEndOffset();
-			bufferSize = buffer.length();
-			CDATAOffset = unescapeRegion(getCurrentNode(), buffer);
-			fInCodeRegion = (start <= fSourcePosition && fSourcePosition <= end);
-			if (fInCodeRegion) {
-				setCursorOwner(JSPType);
-				// this offset is sort of complicated...
-				// it's composed of:
-				// 1. the length of the start of the current region up till where the cursor is
-				// 2. minus the number of characters lost in CDATA translation
-				// 3. plus the length of the escaped buffer before the current region, but 
-				//    is still within the jsp tag
-				setRelativeOffset((fSourcePosition - getCurrentNode().getStartOffset()) + getCursorOwner().length() - CDATAOffset + bufferSize);
-				if (JSPType == EXPRESSION) {
-					setCursorInExpression(true);
-					// if an expression, add then length of the enclosing paren..
-					setRelativeOffset(getRelativeOffset() + EXPRESSION_PREFIX.length());
-				}
-			}
-			if (getCurrentNode() != null)
-				advanceNextNode();
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 * @param r the region to be unescaped (XMLContent, XML ENTITY REFERENCE, or CDATA)
-	 * @param sb the stringbuffer to append the text to
-	 * @return the number of characters removed in unescaping this text
-	 */
-	protected int unescapeRegion(ITextRegion r, StringBuffer sb) {
-		String s = ""; //$NON-NLS-1$
-		int lengthBefore = 0, lengthAfter = 0, cdata_tags_length = 0;
-		if (r != null && (r.getType() == XMLRegionContext.XML_CONTENT || r.getType() == XMLRegionContext.XML_ENTITY_REFERENCE)) {
-			lengthBefore = (getCurrentNode() != r) ? getCurrentNode().getFullText(r).length() : getCurrentNode().getFullText().length();
-			s = EscapedTextUtil.getUnescapedText(getCurrentNode(), r);
-			lengthAfter = s.length();
-			sb.append(s);
-		}
-		else if (r != null && r.getType() == XMLRegionContext.XML_CDATA_TEXT) {
-			if (r instanceof ITextRegionContainer) // only interested in contents
-			{
-				// navigate to next region container (which should be a JSP region)
-				Iterator it = ((ITextRegionContainer) r).getRegions().iterator();
-				ITextRegion temp = null;
-				while (it.hasNext()) {
-					temp = (ITextRegion) it.next();
-					if (temp instanceof ITextRegionContainer || temp.getType() == XMLRegionContext.XML_CDATA_TEXT) {
-						sb.append(getCurrentNode().getFullText(temp));
-					}
-					else if (temp.getType() == XMLRegionContext.XML_CDATA_OPEN || temp.getType() == XMLRegionContext.XML_CDATA_CLOSE) {
-						cdata_tags_length += temp.getLength();
-					}
-				}
-			}
-		}
-		return (lengthBefore - lengthAfter + cdata_tags_length);
-	}
-
-	//
-	// <jsp:useBean>
-	protected void translateUseBean(ITextRegionCollection container) {
-		ITextRegion r = null;
-		String attrName = null;
-		String attrValue = null;
-		String id = null;
-		String type = null;
-		String className = null;
-		
-		Iterator regions = container.getRegions().iterator();
-		while (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && (r.getType() != XMLRegionContext.XML_TAG_CLOSE || r.getType() != XMLRegionContext.XML_EMPTY_TAG_CLOSE)) {
-
-			attrName = attrValue = null;
-			if (r.getType().equals(XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-				attrName = container.getText(r).trim();
-				if (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-					if (regions.hasNext() && (r = (ITextRegion) regions.next()) != null && r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						attrValue = StringUtils.stripQuotes(container.getText(r));
-					}
-					// has equals, but no value?
-				}
-				// an attribute with no equals?
-			}
-			// (pa) might need different logic here if we wanna support more
-			if (attrName != null && attrValue != null) {
-				if (attrName.equals("id")) //$NON-NLS-1$
-					id = attrValue;
-				else if (attrName.equals("class")) //$NON-NLS-1$
-					className = attrValue;
-				else if (attrName.equals("type")) //$NON-NLS-1$
-					type = attrValue;
-			}
-
-		}
-		// has id w/ type and/or classname 
-		// Type id = new Classname();
-		// or
-		// Type id = null; // if there is no classname
-		if (id != null && (type != null || className != null)) {
-			if (type == null)
-				type = className;
-			String prefix = type + " " + id + " = "; //$NON-NLS-1$ //$NON-NLS-2$
-			String suffix = "null;\n"; //$NON-NLS-1$
-			if (className != null)
-				suffix = "new " + className + "();\n"; //$NON-NLS-1$ //$NON-NLS-2$
-			IStructuredDocumentRegion referenceRegion = fCurrentNode.getPrevious() != null ? fCurrentNode.getPrevious() : fCurrentNode;
-			appendToBuffer(prefix + suffix, fUserCode, true, referenceRegion);
-		}
-	}
-
-	final public int getCursorPosition() {
-		return fCursorPosition;
-	}
-
-	protected boolean isCursorInExpression() {
-		return fCursorInExpression;
-	}
-
-	protected void setCursorInExpression(boolean in) {
-		fCursorInExpression = in;
-	}
-
-	final public void setSourceCursor(int i) {
-		fSourcePosition = i;
-	}
-
-	final public int getSourcePosition() {
-		return fSourcePosition;
-	}
-	
-	final public TLDCMDocumentManager getTLDCMDocumentManager() {
-		return TaglibController.getTLDCMDocumentManager(fStructuredDocument);
-	}
-
-	final public void setRelativeOffset(int relativeOffset) {
-		this.fRelativeOffset = relativeOffset;
-	}
-
-	final public int getRelativeOffset() {
-		return fRelativeOffset;
-	}
-
-	private void setCursorOwner(StringBuffer cursorOwner) {
-		this.fCursorOwner = cursorOwner;
-	}
-
-	final public StringBuffer getCursorOwner() {
-		return fCursorOwner;
-	}
-
-	private IStructuredDocumentRegion setCurrentNode(IStructuredDocumentRegion currentNode) {
-		return this.fCurrentNode = currentNode;
-	}
-
-	final public IStructuredDocumentRegion getCurrentNode() {
-		return fCurrentNode;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/XMLJSPRegionHelper.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/XMLJSPRegionHelper.java
deleted file mode 100644
index bbfcdd0..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/XMLJSPRegionHelper.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/*******************************************************************************
- * 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.internal.java;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * Parser/helper class for JSPTranslator.  Used for parsing XML-JSP regions (in a script block)
- * A lot of logic borrowed from TLDCMDocumentManager.  There should be only one XMLJSPRegionHelper per text file
- * 
- * @author pavery
- */
-class XMLJSPRegionHelper implements StructuredDocumentRegionHandler {
-	private final JSPTranslator fTranslator;
-	protected JSPSourceParser fLocalParser = null;
-	protected String fTextToParse = null;
-	// need this if not at the start of the document (eg. parsing just a script block)
-	protected int fStartOfTextToParse = 0;
-	// buffers for text that this class parses	
-	protected List fScriptlets = new ArrayList();
-	protected List fExpressions = new ArrayList();
-	protected List fDeclarations = new ArrayList();
-	// name of the open tag that was last handled (if we are interested in it)
-	protected String fTagname = null;
-	protected String fTextBefore = ""; //$NON-NLS-1$
-	protected String fUnescapedText = ""; //$NON-NLS-1$
-	protected String fStrippedText = ""; //$NON-NLS-1$
-	// for reconciling cursor position later
-	int fPossibleOwner = JSPTranslator.SCRIPTLET;
-
-	public XMLJSPRegionHelper(JSPTranslator translator) {
-		getLocalParser().addStructuredDocumentRegionHandler(this);
-		this.fTranslator = translator;
-	}
-
-	protected JSPSourceParser getLocalParser() {
-		if (fLocalParser == null)
-			fLocalParser = new JSPSourceParser();
-		return fLocalParser;
-	}
-
-	public void addBlockMarker(BlockMarker marker) {
-		fLocalParser.addBlockMarker(marker);
-	}
-
-	public void reset(String textToParse) {
-		reset(textToParse, 0);
-	}
-
-	public void reset(String textToParse, int start) {
-		fStartOfTextToParse = start;
-		getLocalParser().reset(textToParse);
-		fTextToParse = textToParse;
-	}
-
-	public void forceParse() {
-		getLocalParser().getDocumentRegions();
-		fLocalParser = null;
-	}
-
-	/*
-	 * parse an entire file
-	 */
-	public void parse(String filename) {
-		// from outer class
-		List blockMarkers = this.fTranslator.getBlockMarkers();
-		reset(getContents(filename));
-		// this adds the current markers from the outer class list
-		// to this parser so parsing works correctly
-		for (int i = 0; i < blockMarkers.size(); i++) {
-			addBlockMarker((BlockMarker) blockMarkers.get(i));
-		}
-		forceParse();
-	}
-
-	/*
-	 * writes out scriptlet, expression, and declaration buffers
-	 * to the ongoing buffers in the JSPTranslator (calls to outer JSPTranslator methods)
-	 */
-	public void writeToBuffers() {
-		IStructuredDocumentRegion currentNode = fTranslator.getCurrentNode();
-		// currentNode should be the <%@page include="xxx"%> StructuredDocumentRegion
-		for (int i = 0; i < fScriptlets.size(); i++) {
-			this.fTranslator.translateScriptletString((String) fScriptlets.get(i), currentNode, currentNode.getStartOffset(), currentNode.getLength());
-		}
-		for (int i = 0; i < fExpressions.size(); i++) {
-			this.fTranslator.translateExpressionString((String) fExpressions.get(i), currentNode, currentNode.getStartOffset(), currentNode.getLength());
-		}
-		for (int i = 0; i < fDeclarations.size(); i++) {
-			this.fTranslator.translateDeclarationString((String) fDeclarations.get(i), currentNode, currentNode.getStartOffset(), currentNode.getLength());
-		}
-	}
-
-	/*
-	 * listens to parser node parsed events
-	 * adds to local scriplet, expression, declaration buffers
-	 * determines which type of region the cursor is in, and adjusts cursor offset accordingly 
-	 */
-	public void nodeParsed(IStructuredDocumentRegion sdRegion) {
-		//				System.out.println("tagname > " + fTagname);
-		//				System.out.println("sdRegion > " + sdRegion.getType());
-		//				System.out.println("sdRegion text is >> " + fTextToParse.substring(sdRegion.getStartOffset(), sdRegion.getEndOffset()));
-		//				System.out.println("+++=======================");
-		try {
-			if (isJSPStartRegion(sdRegion)) {
-				String nameStr = getRegionName(sdRegion);
-				if (isJSPRegion(nameStr))
-					fTagname = nameStr;
-				else
-					fTagname = null;
-			}
-			else if (sdRegion.getFirstRegion().getType() == XMLJSPRegionContexts.JSP_CONTENT) {
-				if (fTagname != null) {
-					// assign contents to one of the tables
-					if (isScriptlet(fTagname)) {
-						processScriptlet(sdRegion);
-					}
-					else if (isExpression(fTagname)) {
-						processExpression(sdRegion);
-					}
-					else if (isDeclaration(fTagname)) {
-						processDeclaration(sdRegion);
-					}
-					else {
-						processOtherRegions(sdRegion);
-					}
-				}
-			}
-			else if (sdRegion.getFirstRegion().getType() == XMLRegionContext.XML_CONTENT) {
-				if (fTagname != null) {
-					processUseBean(sdRegion);
-					processOtherRegions(sdRegion);
-				}
-			}
-			else {
-				fTagname = null;
-			}
-			// this updates cursor position
-			checkCursorInRegion(sdRegion);
-		}
-		catch (NullPointerException e) {
-			// logging this exception that I've seen a couple of times...
-			System.out.println(e);
-			Logger.logException("XMLJSPRegionHelper: exception in node parsing", e); //$NON-NLS-1$
-		}
-	}
-
-	public void resetNodes() {
-		// do nothing
-	}
-
-	private void checkCursorInRegion(IStructuredDocumentRegion sdRegion) {
-		// if cursor is in this region...
-		if (this.fTranslator.getSourcePosition() >= fStartOfTextToParse + sdRegion.getStartOffset() && this.fTranslator.getSourcePosition() <= fStartOfTextToParse + sdRegion.getEndOffset()) {
-			int endOfNameTag = sdRegion.getStartOffset();
-			int offset = fTextBefore.length() - fStrippedText.length();
-			// offset in addtion to what's already in the buffer
-			this.fTranslator.setRelativeOffset(this.fTranslator.getSourcePosition() - (fStartOfTextToParse + endOfNameTag) - offset);
-			// outer class method
-			this.fTranslator.setCursorOwner(fPossibleOwner);
-			// add length of what's already in the buffer
-			this.fTranslator.setRelativeOffset(this.fTranslator.getRelativeOffset() + this.fTranslator.getCursorOwner().length());
-			if (fPossibleOwner == JSPTranslator.EXPRESSION) {
-				// add length of expression prefix if necessary...
-				this.fTranslator.setRelativeOffset(this.fTranslator.getRelativeOffset() + JSPTranslator.EXPRESSION_PREFIX.length());
-			}
-		}
-	}
-
-	protected void processDeclaration(IStructuredDocumentRegion sdRegion) {
-		prepareText(sdRegion);
-		fDeclarations.add(fStrippedText);
-		fPossibleOwner = JSPTranslator.DECLARATION;
-	}
-
-	protected void processExpression(IStructuredDocumentRegion sdRegion) {
-		prepareText(sdRegion);
-		fExpressions.add(fStrippedText);
-		fPossibleOwner = JSPTranslator.EXPRESSION;
-	}
-
-	protected void processScriptlet(IStructuredDocumentRegion sdRegion) {
-		prepareText(sdRegion);
-		fScriptlets.add(fStrippedText);
-		fPossibleOwner = JSPTranslator.SCRIPTLET;
-	}
-
-	/*
-	 * Substitutes values for entity references, strips CDATA tags, and keeps
-	 * track of string length(s) for cursor position calculation later.
-	 * @param sdRegion
-	 */
-	protected void prepareText(IStructuredDocumentRegion sdRegion) {
-		fTextBefore = fTextToParse.substring(sdRegion.getStartOffset(), sdRegion.getEndOffset());
-		fUnescapedText = EscapedTextUtil.getUnescapedText(fTextBefore);
-		fStrippedText = this.fTranslator.stripCDATA(fUnescapedText);
-	}
-
-	protected void processUseBean(IStructuredDocumentRegion sdRegion) {
-		if (fTagname != null && isUseBean(fTagname)) {
-			// previous region has the actual attributes
-			sdRegion = sdRegion.getPrevious();
-			String beanClass, beanType, beanId, beanDecl = ""; //$NON-NLS-1$
-			beanClass = getAttributeValue("class", sdRegion); //$NON-NLS-1$
-			beanType = getAttributeValue("type", sdRegion); //$NON-NLS-1$
-			beanId = getAttributeValue("id", sdRegion); //$NON-NLS-1$
-			
-			if (beanId != null && (beanType != null || beanClass != null)) {
-				if (beanType.equals(""))
-				    beanType = beanClass;
-				String prefix = beanType + " " + beanId + " = "; //$NON-NLS-1$ //$NON-NLS-2$
-				String suffix = "null;\n"; //$NON-NLS-1$
-				if (beanClass != null)
-					suffix = "new " + beanClass + "();\n"; //$NON-NLS-1$ //$NON-NLS-2$
-				beanDecl = prefix + suffix;
-			}	
-			
-			fScriptlets.add(beanDecl);
-			fPossibleOwner = JSPTranslator.SCRIPTLET;
-		}
-	}
-
-	protected void processOtherRegions(IStructuredDocumentRegion sdRegion) {
-		processIncludeDirective(sdRegion);
-		processPageDirective(sdRegion);
-	}
-
-	protected void processIncludeDirective(IStructuredDocumentRegion sdRegion) {
-		if (isIncludeDirective(fTagname)) {
-			// the directive name region itself contains the attrs...
-			if (sdRegion.getRegions().get(0).getType() == XMLRegionContext.XML_CONTENT)
-				sdRegion = sdRegion.getPrevious();
-			String fileLocation = getAttributeValue("file", sdRegion); //$NON-NLS-1$
-			this.fTranslator.handleIncludeFile(fileLocation);
-		}
-		else if (isPossibleCustomTag(fTagname)) {
-			// this custom tag may define variables
-			this.fTranslator.addTaglibVariables(fTagname);
-		}
-		else if (isTaglibDirective(fTagname)) {
-			// also add the ones created here to the parent document
-			String prefix = getAttributeValue("prefix", sdRegion); //$NON-NLS-1$
-			List docs = this.fTranslator.getTLDCMDocumentManager().getCMDocumentTrackers(prefix, this.fTranslator.getCurrentNode().getEnd());
-			Iterator it = docs.iterator();
-			Iterator elements = null;
-			CMNode node = null;
-			CMDocument doc = null;
-			BlockMarker marker = null;
-			while (it.hasNext()) {
-				doc = (CMDocument) it.next();
-				elements = doc.getElements().iterator();
-				while (elements.hasNext()) {
-					node = (CMNode) elements.next();
-					marker = new BlockMarker(node.getNodeName(), null, XMLJSPRegionContexts.JSP_CONTENT, true);
-					// global scope is OK because we have encountered this <@taglib> directive
-					// so it all markers from it should will be in scope
-					// add to this local parser
-					addBlockMarker(marker);
-					// add to outer class marker list, for 
-					this.fTranslator.getBlockMarkers().add(marker);
-				}
-			}
-		}
-	}
-
-	protected void processPageDirective(IStructuredDocumentRegion sdRegion) {
-		if (isPageDirective(fTagname)) {
-			while (sdRegion != null) {
-				if (sdRegion.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME)
-					break;
-				sdRegion = sdRegion.getPrevious();
-			}
-			String importValue = getAttributeValue("import", sdRegion); //$NON-NLS-1$
-			if (importValue != "") { //$NON-NLS-1$
-				// had to add "false" parameter to ensure these 
-				// imports don't get added to jsp <-> java map (since they are from an included file)
-				// https://bugs.eclipse.org/bugs/show_bug.cgi?id=81687
-				this.fTranslator.addImports(importValue, false);
-			}
-		}
-	}	
-
-	/*
-	 * convenience method to get an attribute value from attribute name
-	 */
-	protected String getAttributeValue(String attrName, IStructuredDocumentRegion sdRegion) {
-		String sdRegionText = fTextToParse.substring(sdRegion.getStartOffset(), sdRegion.getEndOffset());
-		String textRegionText, attrValue = ""; //$NON-NLS-1$
-		Iterator it = sdRegion.getRegions().iterator();
-		ITextRegion nameRegion, valueRegion = null;
-		while (it.hasNext()) {
-			nameRegion = (ITextRegion) it.next();
-			if (nameRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				textRegionText = sdRegionText.substring(nameRegion.getStart(), nameRegion.getEnd());
-				if (textRegionText.equalsIgnoreCase(attrName)) {
-					while (it.hasNext()) {
-						valueRegion = (ITextRegion) it.next();
-						if (valueRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-							attrValue = sdRegionText.substring(valueRegion.getStart(), valueRegion.getEnd());
-							break; // inner
-						}
-					}
-					break; // outer
-				}
-			}
-		}
-		return StringUtils.stripQuotes(attrValue);
-	}
-
-	// these methods determine what content gets added to the local scriplet, expression, declaration buffers
-	/*
-	 * return true for elements whose contents we might want to add to the java file we are building
-	 */
-	protected boolean isJSPStartRegion(IStructuredDocumentRegion sdRegion) {
-		return (sdRegion.getFirstRegion().getType() == XMLRegionContext.XML_TAG_OPEN || sdRegion.getFirstRegion().getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN);
-	}
-
-	protected boolean isJSPRegion(String tagName) {
-		return isDeclaration(tagName) || isExpression(tagName) || isScriptlet(tagName) || isUseBean(tagName) || isIncludeDirective(tagName) || isPossibleCustomTag(tagName) || isTaglibDirective(tagName) || isPageDirective(tagName);
-	}
-
-	protected boolean isDeclaration(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:declaration"); //$NON-NLS-1$		
-	}
-
-	protected boolean isExpression(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:expression"); //$NON-NLS-1$		
-	}
-
-	protected boolean isScriptlet(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:scriptlet"); //$NON-NLS-1$
-	}
-
-	protected boolean isUseBean(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:useBean"); //$NON-NLS-1$
-	}
-
-	protected boolean isIncludeDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.include"); //$NON-NLS-1$
-	}
-
-	protected boolean isPossibleCustomTag(String tagName) {
-		return tagName.indexOf(":") > 1; //$NON-NLS-1$
-	}
-
-	protected boolean isTaglibDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.taglib"); //$NON-NLS-1$
-	}
-
-	protected boolean isPageDirective(String tagName) {
-		return tagName.equalsIgnoreCase("jsp:directive.page"); //$NON-NLS-1$
-	}
-
-	protected String getRegionName(IStructuredDocumentRegion sdRegion) {
-		ITextRegion nameRegion = null;
-		String nameStr = ""; //$NON-NLS-1$
-		int size = sdRegion.getRegions().size();
-		if (size > 1) {
-			// presumably XML-JSP <jsp:scriptlet> | <jsp:expression> | <jsp:declaration>
-			nameRegion = sdRegion.getRegions().get(1);
-			nameStr = fTextToParse.substring(sdRegion.getStartOffset(nameRegion), sdRegion.getTextEndOffset(nameRegion));
-		}
-		return nameStr.trim();
-	}
-
-	/*
-	 * get the contents of a file as a String
-	 */
-	protected String getContents(String fileName) {
-		StringBuffer s = new StringBuffer();
-		int c = 0;
-		int count = 0;
-		InputStream is = null;
-		try {
-			IPath filePath = new Path(fileName);
-			IFile f = ResourcesPlugin.getWorkspace().getRoot().getFile(filePath);
-			if(f != null && !f.exists()) {
-				f = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(filePath);
-			}
-            if (f != null && f.exists()) {
-    			is = f.getContents();
-    			while ((c = is.read()) != -1) {
-    				count++;
-    				s.append((char) c);
-    			}
-            }
-		}
-		catch (Exception e) {
-			if (Debug.debugStructuredDocument)
-				e.printStackTrace();
-		}
-		finally {
-			try {
-				if (is != null) {
-					is.close();
-				}
-			}
-			catch (Exception e) {
-				// nothing to do
-			}
-		}
-		return s.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/IndexWorkspaceJob.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/IndexWorkspaceJob.java
deleted file mode 100644
index 3a4d0db..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/IndexWorkspaceJob.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jst.jsp.core.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-
-/**
- * Re-indexes the entire workspace.
- * Ensures the JSP Index is in a stable state before performing a search.
- * (like after a crash or if previous indexing was canceled)
- * 
- * @author pavery
- */
-public class IndexWorkspaceJob extends Job {
-
-	// for debugging
-	static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspindexmanager"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Visitor that retrieves jsp project paths for all jsp files in the workspace,
-	 * and adds the files to be indexed as they are encountered
-	 */
-	private class JSPFileVisitor implements IResourceProxyVisitor {
-	    private List files = new ArrayList(); 
-		
-		// monitor from the Job
-		IProgressMonitor fInnerMonitor = null;
-		public JSPFileVisitor(IProgressMonitor monitor) {
-			this.fInnerMonitor = monitor;
-		}
-		
-		public boolean visit(IResourceProxy proxy) throws CoreException {
-			
-			// check job canceled
-			if (this.fInnerMonitor != null && this.fInnerMonitor.isCanceled()) {
-				setCanceledState();
-				return false;
-			}
-			
-			// check search support canceled
-			if(JSPSearchSupport.getInstance().isCanceled()) {
-				setCanceledState();
-				return false;
-			}
-			
-			if (proxy.getType() == IResource.FILE) {
-				
-				// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3553
-				// check this before description
-				// check name before actually getting the file (less work)
-				if(getJspContentType().isAssociatedWith(proxy.getName())) {
-					IFile file = (IFile) proxy.requestResource();
-					if(file.exists()) {
-						
-						if(DEBUG)
-							System.out.println("(+) IndexWorkspaceJob adding file: " + file.getName());
-						// this call will check the ContentTypeDescription, so don't need to do it here.
-						//JSPSearchSupport.getInstance().addJspFile(file);
-						this.files.add(file);
-						this.fInnerMonitor.subTask(proxy.getName());
-						
-						// don't search deeper for files
-						return false;
-					}
-				}
-			}
-			return true;
-		}
-		
-		public final IFile[] getFiles() {
-		    return (IFile[])this.files.toArray(new IFile[this.files.size()]);
-		}
-	}
-	
-	private IContentType fContentTypeJSP = null;
-	
-	public IndexWorkspaceJob() {
-		// pa_TODO may want to say something like "Rebuilding JSP Index" to be more
-		// descriptive instead of "Updating JSP Index" since they are 2 different things
-		super(JSPCorePlugin.getResourceString("%JSPIndexManager.0"));
-		setPriority(Job.LONG);
-		setSystem(true);
-	}
-
-	IContentType getJspContentType() {
-		if(this.fContentTypeJSP == null)
-			this.fContentTypeJSP = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-		return this.fContentTypeJSP;
-	}
-	
-	/**
-	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		
-		IStatus status = Status.OK_STATUS;
-		
-		if(monitor.isCanceled()) {
-			setCanceledState();
-			return Status.CANCEL_STATUS;
-		}
-		
-		if(DEBUG)
-			System.out.println(" ^ IndexWorkspaceJob started: "); //$NON-NLS-1$
-		
-		long start = System.currentTimeMillis();
-		
-		try {
-		    JSPFileVisitor visitor = new JSPFileVisitor(monitor);
-		    // collect all jsp files
-			ResourcesPlugin.getWorkspace().getRoot().accept(visitor, IResource.DEPTH_INFINITE);
-			// request indexing
-			// this is pretty much like faking an entire workspace resource delta
-			JSPIndexManager.getInstance().indexFiles(visitor.getFiles());
-		}
-		catch (CoreException e) {
-			if(DEBUG)
-				e.printStackTrace();
-		}
-		finally {
-			if(monitor != null)
-				monitor.done();
-		}
-		long finish = System.currentTimeMillis();
-		if(DEBUG)
-			System.out.println(" ^ IndexWorkspaceJob finished\n   total time running: " + (finish - start)); //$NON-NLS-1$
-		
-		return status;
-	}
-	
-	void setCanceledState() {
-		JSPIndexManager.getInstance().setIndexState(JSPIndexManager.S_CANCELED);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPIndexManager.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPIndexManager.java
deleted file mode 100644
index c990aab..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPIndexManager.java
+++ /dev/null
@@ -1,501 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import java.io.File;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jdt.internal.core.index.Index;
-import org.eclipse.jdt.internal.core.search.indexing.IndexManager;
-import org.eclipse.jst.jsp.core.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.osgi.framework.Bundle;
-
-/**
- * Responsible for keeping the JSP index up to date.
- * 
- * @author pavery
- */
-public class JSPIndexManager implements IResourceChangeListener {
-	
-	// for debugging
-	static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspindexmanager"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	private static final String PKEY_INDEX_STATE = "jspIndexState"; //$NON-NLS-1$
-
-	
-	// set to S_UPDATING once a resource change comes in
-	// set to S_STABLE if:
-	// - we know we aren't interested in the resource change
-	// - or the ProcessFilesJob completes
-	// set to S_CANCELED if an indexing job is canceled
-	// set to S_REBUILDING if re-indexing the entire workspace
-
-	// the int '0' is reserved for the default value if a preference is not there
-	/** index is reliable to use*/
-	public static final int S_STABLE = 1;
-	/** index is being updated (from a resource delta)*/
-	public static final int S_UPDATING = 2;
-	/** entire index is being rebuilt */
-	public static final int S_REBUILDING = 3;
-	/** indexing job was canceled in the middle of it, index needs to be rebuilt */
-	public static final int S_CANCELED = 4;
-	
-	/** symbolic name for OSGI framework */
-	private final String OSGI_FRAMEWORK_ID = "org.eclipse.osgi";
-	
-	/**
-	 * Collects JSP files from a resource delta.
-	 */
-	private class JSPResourceVisitor implements IResourceDeltaVisitor {
-		// using hash map ensures only one of each file
-		// must be reset before every use
-		private HashMap jspFiles = null;
-		
-		public JSPResourceVisitor() {
-			this.jspFiles = new HashMap();
-		}
-		
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			
-			// in case JSP search was canceled (eg. when closing the editor)
-			if(JSPSearchSupport.getInstance().isCanceled() || frameworkIsShuttingDown()) {
-				setCanceledState();
-				return false;
-			}
-			
-			try {
-				int kind = delta.getKind();
-				boolean added = (kind & IResourceDelta.ADDED) == IResourceDelta.ADDED;
-				boolean isInterestingChange = false;
-				if((kind & IResourceDelta.CHANGED) == IResourceDelta.CHANGED) {
-					int flags = delta.getFlags();
-					// ignore things like marker changes
-					isInterestingChange = (flags & IResourceDelta.CONTENT) == IResourceDelta.CONTENT || (flags & IResourceDelta.REPLACED) == IResourceDelta.REPLACED;
-				}
-				boolean removed = (kind & IResourceDelta.REMOVED) == IResourceDelta.REMOVED;
-				if(added || isInterestingChange) {
-					
-					// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3553
-					// quick check if it's even JSP related to improve performance
-					// checking name from the delta before getting resource because it's lighter
-					int numSegments = delta.getFullPath().segmentCount();
-					String filename = delta.getFullPath().segment(numSegments-1);
-					if (getJspContentType().isAssociatedWith(filename)) {
-						
-						IResource r = delta.getResource();
-						if (r != null && r.getType() == IResource.FILE) {	
-							this.jspFiles.put(r.getFullPath(), r);
-						}
-					}
-				}
-				else if(removed) {
-					// handle cleanup 
-					if(delta.getResource() != null) {
-						IResource r = delta.getResource();
-						if(r.getType() == IResource.FOLDER && r.exists()) {
-							deleteIndex((IFile)r);
-						}
-					}
-				}
-			}
-			catch (Exception e){
-				// need to set state here somehow, and reindex
-				// otherwise index will be unreliable
-				if(DEBUG)
-					Logger.logException("Delta analysis may not be complete",  e); //$NON-NLS-1$
-			}
-			// if the delta has children, continue to add/remove files
-			return true;
-		}
-		
-		private void deleteIndex(IFile folder) {
-			// cleanup index
-			IndexManager im = JavaModelManager.getJavaModelManager().getIndexManager();
-			IPath folderPath = folder.getFullPath();
-			IPath indexLocation = JSPSearchSupport.getInstance().computeIndexLocation(folderPath);
-			im.removeIndex(indexLocation);
-//			im.indexLocations.removeKey(folderPath);
-//			im.indexLocations.removeValue(indexLocation);
-			File f = indexLocation.toFile();
-			f.delete();
-		}
-		
-		public IFile[] getFiles() {
-			return (IFile[])this.jspFiles.values().toArray(new IFile[this.jspFiles.size()]);
-		}
-		
-		public void reset() {
-			this.jspFiles.clear();
-		}
-	}
-	// end class JSPResourceVisitor
-	
-	/**
-	 * schedules JSP files for indexing by Java core
-	 */
-	private class ProcessFilesJob extends Job { 
-		IFile[] jspFiles =  null;
-		ProcessFilesJob(String taskName, IFile[] files) {
-			super(taskName);
-			this.jspFiles = files;
-		}
-		
-		protected IStatus run(IProgressMonitor monitor) {
-			
-			if(isCanceled(monitor) || frameworkIsShuttingDown()) {
-				setCanceledState();
-				return Status.CANCEL_STATUS;
-			}
-			
-			long start = System.currentTimeMillis();
-			
-			try {
-				// API indicates that monitor is never null
-				monitor.beginTask("", this.jspFiles .length); //$NON-NLS-1$
-				JSPSearchSupport ss = JSPSearchSupport.getInstance();
-				String processingNFiles = ""; //$NON-NLS-1$
-
-				
-				for(int i = 0; i<this.jspFiles.length; i++) {
-
-					if(isCanceled(monitor) || frameworkIsShuttingDown()) {
-						setCanceledState();
-						return Status.CANCEL_STATUS;
-					}
-					try {
-						ss.addJspFile(this.jspFiles [i]);
-						// JSP Indexer processing n files
-						processingNFiles = JSPCorePlugin.getResourceString("%JSPIndexManager.2", new String[]{Integer.toString((this.jspFiles .length -i))});
-						monitor.subTask(processingNFiles + " - " + this.jspFiles [i].getName());
-						monitor.worked(1);
-						
-						if(DEBUG) {
-							System.out.println("JSPIndexManager Job added file: " + this.jspFiles [i].getName()); //$NON-NLS-1$
-						}
-					}
-					catch (Exception e){
-					    // RATLC00284776
-					    // ISSUE: we probably shouldn't be catching EVERY exception, but
-					    // the framework only allows to return IStatus in order to communicate
-					    // that something went wrong, which means the loop
-					    // won't complete, and we would hit the same problem the next time.
-					    // 
-					    // a possible solution is to keep track of the exceptions logged
-					    // and only log a certain amt of the same one, otherwise skip it.
-						if(!frameworkIsShuttingDown()) {
-						    String filename = this.jspFiles[i] != null ? this.jspFiles[i].getFullPath().toString() : ""; //$NON-NLS-1$
-						    Logger.logException("JSPIndexer problem indexing:" + filename,  e); //$NON-NLS-1$
-						}
-					}
-				} // end for
-			}
-			finally {
-				// just in case something didn't follow API (monitor is null)
-				if(monitor != null)
-					monitor.done();
-			}
-			
-			long finish = System.currentTimeMillis();
-			long diff = finish - start;
-			if(DEBUG) {
-				fTotalTime += diff;
-				System.out.println("============================================================================"); //$NON-NLS-1$
-				System.out.println("this time: " + diff +" cumulative time for resource changed: " + fTotalTime); //$NON-NLS-1$ //$NON-NLS-2$
-				System.out.println("============================================================================"); //$NON-NLS-1$
-			}	
-			return Status.OK_STATUS;
-		}
-		
-		private boolean isCanceled(IProgressMonitor runMonitor) {
-			
-			boolean canceled = false;
-			// check specific monitor passed into run method (the progress group in this case)
-			// check main search support canceled
-			if(runMonitor != null && runMonitor.isCanceled())
-				canceled = true;
-			else if(JSPSearchSupport.getInstance().isCanceled())
-				canceled = true;
-			return canceled;
-		}
-	}
-	// end class ProcessFilesJob
-	
-	private static JSPIndexManager fSingleton = null;
-	private JSPResourceVisitor fVisitor = null;
-	private IContentType fContentTypeJSP = null;
-		
-	static long fTotalTime = 0;
-	
-	private JSPIndexManager(){
-		// only one instance
-	}
-	
-	public synchronized static JSPIndexManager getInstance() {
-		
-		if(fSingleton == null)
-			fSingleton = new JSPIndexManager();
-		return fSingleton;
-	}
-	
-	/**
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		
-		// ignore resource changes if already rebuilding
-		if(getIndexState() == S_REBUILDING)
-			return;
-		// previously canceled, needs entire index rebuild
-		if(getIndexState() == S_CANCELED) {
-			rebuildIndex();
-			return;
-		}
-		
-		// set flag, so we know if a job is going to be started
-		// and the state will eventually be set back to S_STABLE
-		boolean beganProcess = false;
-		setUpdatingState();
-		
-		IResourceDelta delta = event.getDelta();
-		if(delta != null) {
-			// only care about adds or changes right now...
-			int kind = delta.getKind();
-			boolean added = (kind & IResourceDelta.ADDED) == IResourceDelta.ADDED;
-			boolean changed = (kind & IResourceDelta.CHANGED) == IResourceDelta.CHANGED;
-			if(added || changed) {
-				
-				// only analyze the full (starting at root) delta hierarchy
-				if(delta.getFullPath().toString().equals("/")) { //$NON-NLS-1$
-					try {
-						JSPResourceVisitor v = getVisitor();
-						// clear from last run
-						v.reset();
-						// count files, possibly do this in a job too...
-						// don't include PHANTOM resources
-						delta.accept(v, false);
-						
-						// process files from this delta
-						IFile[] files = v.getFiles();
-						if(files.length > 0) {	
-							//processFiles(files);
-							indexFiles(files);
-							beganProcess = true;
-						}
-					}
-					catch (CoreException e) {
-						// need to set state here somehow, and reindex
-						// otherwise index will be unreliable
-						if(DEBUG)
-							Logger.logException(e);
-					}
-					catch (Exception e) {
-						// need to set state here somehow, and reindex
-						// otherwise index will be unreliable
-						if(DEBUG)
-							Logger.logException(e);
-					}
-				}
-			}
-
-		}
-		// if we never kicked off process, job won't set back to stable
-		// so we set it here
-		if(!beganProcess) {
-			setStableState();
-		}
-	}
-	
-	public synchronized void setIndexState(int state) {
-		if(DEBUG) {
-			System.out.println("JSPIndexManager setting index state to: " + state2String(state));
-		}
-		Plugin jspModelPlugin = JSPCorePlugin.getDefault();
-		jspModelPlugin.getPluginPreferences().setValue(PKEY_INDEX_STATE, state);
-		jspModelPlugin.savePluginPreferences();
-		
-	}
-	private String state2String(int state) {
-		String s = "UNKNOWN";
-		switch(state) {
-			case(S_STABLE):
-				s = "S_STABLE";
-				break;
-			case(S_UPDATING):
-				s = "S_UPDATING";
-				break;
-			case(S_CANCELED):
-				s = "S_CANCELED";
-				break;
-			case(S_REBUILDING):
-				s = "S_REBUILDING";
-				break;
-		}
-		return s;
-	}
-	public int getIndexState() {
-		return JSPCorePlugin.getDefault().getPluginPreferences().getInt(PKEY_INDEX_STATE); 
-	}
-	public void setUpdatingState() {
-		if(getIndexState() != S_CANCELED)
-			setIndexState(S_UPDATING);
-	}
-	public void setCanceledState() {
-		setIndexState(JSPIndexManager.S_CANCELED);
-	}
-	// ca
-	public void setStableState() {
-		if(getIndexState() != S_CANCELED)
-			setIndexState(S_STABLE);
-	}
-	public void setRebuildingState() {
-		setIndexState(S_REBUILDING);
-	}
-	public synchronized void rebuildIndexIfNeeded() {
-		if(getIndexState() != S_STABLE) {
-			rebuildIndex();
-		}
-	}
-	
-	private void rebuildIndex() {
-		
-		if(DEBUG) 
-			System.out.println("*** JSP Index unstable, requesting re-indexing");
-
-		final IndexWorkspaceJob indexingJob = new IndexWorkspaceJob();
-		
-		indexingJob.addJobChangeListener(new JobChangeAdapter() {
-			public void aboutToRun(IJobChangeEvent event) {
-				super.aboutToRun(event);
-				setRebuildingState();
-			}
-			public void done(IJobChangeEvent event) {
-				super.done(event);
-				setStableState();
-				indexingJob.removeJobChangeListener(this);
-			}
-		});
-		indexingJob.schedule();
-		
-	}
-	
-	/**
-	 * Creates and schedules a Job to process collected files.
-	 * All JSP indexing should be done through this method or processFiles(IFile file)
-	 * @param files
-	 */
-	public final void indexFiles(IFile[] files) {
-		// updating JSP Index
-		String taskName = JSPCorePlugin.getResourceString("%JSPIndexManager.0");
-		
-		// Processing resource delta
-		final Job processFiles = new ProcessFilesJob(taskName, files);
-
-		// only show in verbose mode
-		processFiles.setSystem(true);
-		
-		// don't use this rule
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4931
-		//processFiles.setRule(new IndexFileRule());
-		
-		processFiles.setPriority(Job.LONG);
-		processFiles.addJobChangeListener(new JobChangeAdapter() {
-			public void done(IJobChangeEvent event) {
-				super.done(event);
-				setStableState();
-			}
-		});
-		processFiles.schedule();
-	}
-	
-	
-	/**
-	 * Package protected for access by inner Job class in resourceChanged(...)
-	 * @return
-	 */
-	JSPResourceVisitor getVisitor()  {
-		
-		if(this.fVisitor == null) {
-			this.fVisitor = new JSPResourceVisitor();
-		}
-		return this.fVisitor;
-	}
-	
-	// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5091
-	// makes sure IndexManager is aware of our indexes
-	public void saveIndexes() {
-		IndexManager indexManager = JavaModelManager.getJavaModelManager().getIndexManager();
-		IPath jspModelWorkingLocation = JSPSearchSupport.getInstance().getModelJspPluginWorkingLocation();
-		
-		File folder = new File(jspModelWorkingLocation.toOSString());
-		String[] files = folder.list();
-		String locay = ""; //$NON-NLS-1$
-		Index index = null;
-		try {
-			for(int i=0; i<files.length; i++) {
-				if(files[i].toLowerCase().endsWith(".index")) { //$NON-NLS-1$
-					locay = jspModelWorkingLocation.toString() +"/" + files[i]; //$NON-NLS-1$
-					index = new Index(locay, "Index for " + locay, true /*reuse index file*/); //$NON-NLS-1$
-					indexManager.saveIndex(index);
-				}
-			}
-		}
-		catch (Exception e) {
-			// we should be shutting down, want to shut down quietly
-			if(DEBUG)
-				e.printStackTrace();
-		}
-	}
-	
-	IContentType getJspContentType() {
-		if(this.fContentTypeJSP == null)
-			this.fContentTypeJSP = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-		return this.fContentTypeJSP;
-	}
-	
-	/**
-	 * A check to see if the OSGI framework is shutting down.
-	 * @return true if the System Bundle is stopped (ie. the framework is shutting down)
-	 */
-	boolean frameworkIsShuttingDown() {
-		// in the Framework class there's a note:
-		// set the state of the System Bundle to STOPPING.
-		// this must be done first according to section 4.19.2 from the OSGi R3 spec.  
-		boolean shuttingDown = Platform.getBundle(OSGI_FRAMEWORK_ID).getState() == Bundle.STOPPING;
-		if (DEBUG && shuttingDown) {
-			System.out.println("JSPIndexManager: system is shutting down!");
-		}
-		return shuttingDown;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPPathIndexer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPPathIndexer.java
deleted file mode 100644
index cb45463..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPPathIndexer.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jst.jsp.core.contenttype.ContentTypeIdForJSP;
-
-/**
- * pa_TODO Still need to take into consideration:
- * 	- focus in workspace
- *  - search pattern
- * 
- * @author pavery
- */
-public class JSPPathIndexer {
-
-	// for debugging
-	static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspsearch"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	// visitor that retrieves jsp project paths for all jsp files in the workspace
-	class JSPFileVisitor implements IResourceProxyVisitor {
-		// hash map forces only one of each file
-		private HashMap fPaths = new HashMap();
-		IJavaSearchScope fScope = null;
-		SearchPattern fPattern = null;
-
-		public JSPFileVisitor(SearchPattern pattern, IJavaSearchScope scope) {
-			this.fPattern = pattern;
-			this.fScope = scope;
-		}
-
-		public boolean visit(IResourceProxy proxy) throws CoreException {
-			
-			if(JSPSearchSupport.getInstance().isCanceled())
-				return false;
-			
-			if (proxy.getType() == IResource.FILE) {
-
-				IContentType contentTypeJSP = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-				// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3553
-				// check this before description
-				// check name before actually getting the file (less work)
-				if(contentTypeJSP.isAssociatedWith(proxy.getName())) {
-					
-					IFile file = (IFile)proxy.requestResource();
-					IContentDescription contentDescription = file.getContentDescription();
-					String ctId = null;
-					if (contentDescription != null) {
-						ctId = contentDescription.getContentType().getId();
-					}
-					if (ContentTypeIdForJSP.ContentTypeID_JSP.equals(ctId)) {
-						if (this.fScope.encloses(proxy.requestFullPath().toString())) {
-	
-							if (DEBUG)
-								System.out.println("adding selected index path:" + file.getParent().getFullPath()); //$NON-NLS-1$
-
-							fPaths.put(file.getParent().getFullPath(), JSPSearchSupport.getInstance().computeIndexLocation(file.getParent().getFullPath()));
-						}
-					}
-				}
-				// don't search deeper for files
-				return false;
-			}
-			return true;
-		}
-
-		public IPath[] getPaths() {
-			return (IPath[]) fPaths.values().toArray(new IPath[fPaths.size()]);
-		}
-	}
-
-	public IPath[] getVisibleJspPaths(SearchPattern pattern, IJavaSearchScope scope) {
-
-		JSPFileVisitor jspFileVisitor = new JSPFileVisitor(pattern, scope);
-		try {
-			ResourcesPlugin.getWorkspace().getRoot().accept(jspFileVisitor, 0);
-		}
-		catch (CoreException e) {
-			e.printStackTrace();
-		}
-		return jspFileVisitor.getPaths();
-	}
-}
-
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java
deleted file mode 100644
index 2b4a026..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.search.SearchParticipant;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapterFactory;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-import org.eclipse.wst.common.encoding.exceptions.UnsupportedCharsetExceptionWithDetail;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-
-/**
- * Created with a .jsp file, but should appear to be a .java file for indexing
- * and searching purposes.  There are purposely few fields in this class,
- * and those fields are lightweight since it's possible for many JSP search
- * documents to exist in memory at one time (eg. after importing a project
- * with a large number of JSP files)
- * 
- * @author pavery
- */
-public class JSPSearchDocument {
-
-	private String UNKNOWN_PATH = "**path unknown**"; //$NON-NLS-1$
-	private String fJSPPathString = UNKNOWN_PATH;
-	private String fCUPath = UNKNOWN_PATH;
-	private SearchParticipant fParticipant = null;
-	
-	/**
-	 * @param file
-	 * @param participant
-	 * @throws CoreException
-	 */
-	public JSPSearchDocument(String filePath, SearchParticipant participant) {
-
-		this.fJSPPathString = filePath;
-		this.fParticipant = participant;
-	}
-
-	public SearchParticipant getParticipant() {
-		return this.fParticipant;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchDocument#getCharContents()
-	 */
-	public char[] getCharContents() {
-        JSPTranslation trans = getJSPTranslation();
-		return trans != null ? trans.getJavaText().toCharArray() : new char[0];
-	}
-
-	public String getJavaText() {
-		return new String(getCharContents());
-	}
-	
-	private IModelManager getModelManager() {
-		return StructuredModelManager.getModelManager();
-	}
-	
-	/**
-	 * It's not recommended for clients to hold on to this JSPTranslation
-	 * since it's kind of large.  If possible, hold on to the JSPSearchDocument,
-	 * which is more of a lightweight proxy.
-	 * 
-	 * @return the JSPTranslation for the jsp file, or null if it's an unsupported file.
-	 */
-	public final JSPTranslationExtension getJSPTranslation() {
-		JSPTranslationExtension translation = null;
-		IFile jspFile = getFile();
-		if(!JSPSearchSupport.isJsp(jspFile))
-			return translation;
-		
-		XMLModel xmlModel = null;
-		try {
-			// get existing model for read, then get document from it
-			xmlModel = (XMLModel) getModelManager().getModelForRead(jspFile);
-			// handle unsupported
-			if (xmlModel != null) {
-				setupAdapterFactory(xmlModel);
-				XMLDocument doc = xmlModel.getDocument();
-				JSPTranslationAdapter adapter = (JSPTranslationAdapter) doc.getAdapterFor(IJSPTranslation.class);
-				translation = adapter.getJSPTranslation();
-			}
-		}
-		catch (IOException e) {
-			Logger.logException(e);
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-		catch (UnsupportedCharsetExceptionWithDetail e) {
-			// no need to log this. Just consider it an invalid file for our
-			// purposes.
-			//Logger.logException(e);
-		}
-		finally {
-			if (xmlModel != null)
-				xmlModel.releaseFromRead();
-		}
-		return translation;
-	}
-	
-	/**
-	 * add the factory for JSPTranslationAdapter here
-	 * 
-	 * @param sm
-	 */
-	private void setupAdapterFactory(IStructuredModel sm) {
-		JSPTranslationAdapterFactory factory = new JSPTranslationAdapterFactory();
-		sm.getFactoryRegistry().addFactory(factory);
-	}
-
-	/**
-	 * the path to the Java compilation unit
-	 * 
-	 * @see org.eclipse.jdt.core.search.SearchDocument#getPath()
-	 */
-	public String getPath() {
-        JSPTranslation trans = getJSPTranslation();
-	    // caching the path since it's expensive to get translation
-	    if(this.fCUPath == null || this.fCUPath == UNKNOWN_PATH) {  
-            if(trans != null)
-                this.fCUPath = trans.getJavaPath();
-        }
-		return fCUPath != null ? fCUPath : UNKNOWN_PATH;
-	}
-	
-	public int getJspOffset(int javaOffset) {
-	    // copied from JSPTranslation
-		int result = -1;
-		int offsetInRange = 0;
-		Position jspPos, javaPos = null;
-		JSPTranslation trans = getJSPTranslation();
-        if(trans != null) {
-    		HashMap java2jspMap = trans.getJava2JspMap();
-    		
-    		// iterate all mapped java ranges
-    		Iterator it = java2jspMap.keySet().iterator();
-    		while (it.hasNext()) {
-    			javaPos = (Position) it.next();
-    			// need to count the last position as included
-    			if (!javaPos.includes(javaOffset) && !(javaPos.offset+javaPos.length == javaOffset))
-    				continue;
-    
-    			offsetInRange = javaOffset - javaPos.offset;
-    			jspPos = (Position) java2jspMap.get(javaPos);
-    			
-    			if(jspPos != null)
-    				result = jspPos.offset + offsetInRange;
-    			else  {
-    				Logger.log(Logger.ERROR, "jspPosition was null!" + javaOffset); //$NON-NLS-1$
-    			}
-    			break;
-    		}
-        }
-		return result;
-	}
-
-	public IFile getFile() {
-	    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-	    IPath jspPath = new Path(this.fJSPPathString);
-	    IFile jspFile = root.getFile(jspPath);
-	    if(!jspFile.exists()) {
-	        // possibly outside workspace
-	        jspFile = root.getFileForLocation(jspPath);
-	    }
-		return jspFile;
-	}
-	
-	public void release() {
-		// nothing to do now since JSPTranslation is created on the fly
-	}
-	
-	/**
-	 * for debugging
-	 */
-	public String toString() {
-		return "[JSPSearchDocument:" + this.fJSPPathString + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jdt.core.search.SearchDocument#getEncoding()
-	 */
-	public String getEncoding() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jdt.core.search.SearchDocument#getByteContents()
-	 */
-	public byte[] getByteContents() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchParticipant.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchParticipant.java
deleted file mode 100644
index 9b75f48..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchParticipant.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.core.search.SearchParticipant;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jdt.core.search.SearchRequestor;
-
-/**
- * Integration of JSP w/ java search.
- * 
- * @author pavery
- */
-public class JSPSearchParticipant extends SearchParticipant {
-
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jspsearch"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Important to never return null here or else Java search participation will break.
-	 */
-	public SearchDocument getDocument(String documentPath) {
-		
-		SearchDocument sDoc = null;
-		// ignore anything but .java matches (like .class binary matches)
-		if(documentPath.endsWith(".java")) { //$-NON-NLS-1$
-			sDoc =  JSPSearchSupport.getInstance().getSearchDocument(documentPath);
-		    // can be null if there was a bad index entry (the .jsp file referenced doesn't exist anymore)
-		}
-		
-		if(sDoc == null){
-			// return a dummy doc here so search participation doesn't break
-			return new NullSearchDocument(documentPath);
-		}
-		return sDoc;
-	}
-
-	public String getDescription() {
-		return "JSP"; //$NON-NLS-1$
-	}
-
-	public IPath[] selectIndexes(SearchPattern pattern, IJavaSearchScope scope) {
-		JSPPathIndexer indexer = new JSPPathIndexer();
-		return indexer.getVisibleJspPaths(pattern, scope);
-	}
-
-	public void indexDocument(SearchDocument document, IPath indexPath) {
-		if (!(document instanceof JavaSearchDocumentDelegate))
-			return;
-
-		// use Java search indexing
-		SearchEngine.getDefaultSearchParticipant().indexDocument(document, indexPath);
-	}
-
-	public void locateMatches(SearchDocument[] indexMatches, SearchPattern pattern, IJavaSearchScope scope, SearchRequestor requestor, IProgressMonitor monitor) throws CoreException {
-
-		if(monitor != null && monitor.isCanceled())
-			return;
-			
-		// filter out null matches
-		List filtered = new ArrayList();
-		SearchDocument match = null;
-		for (int i = 0; i < indexMatches.length; i++) {
-			if (DEBUG)
-				System.out.println("found possible matching JavaSearchDocumentDelegate: " + indexMatches[i]); //$NON-NLS-1$
-			match = indexMatches[i];
-			if (match != null) {
-				// some matches may be null, or if the index is out of date, the file may not even exist
-				if(match instanceof JavaSearchDocumentDelegate && ((JavaSearchDocumentDelegate)match).getFile().exists())
-				filtered.add(match);
-			}
-		}
-
-		indexMatches = (SearchDocument[]) filtered.toArray(new SearchDocument[filtered.size()]);
-		SearchEngine.getDefaultSearchParticipant().locateMatches(indexMatches, pattern, scope, requestor, monitor);
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchParticipant#beginSearching()
-	 */
-	public void beginSearching() {
-		// nothing to do
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchParticipant#doneSearching()
-	 */
-	public void doneSearching() {
-		// nothing to do
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchParticipant#getDocument(org.eclipse.core.resources.IFile)
-	 */
-	public SearchDocument getDocument(IFile file) {
-		// never gets called?
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchScope.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchScope.java
deleted file mode 100644
index 49cc26d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchScope.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-
-/**
- * Used to constrain JSP/java search to certain paths and elements.
- * @author pavery
- */
-public class JSPSearchScope implements IJavaSearchScope {
-
-	private boolean fEnclosesAll = false;
-	private List fResourcePaths = null;
-	private List fJavaElements = null;
-
-	public JSPSearchScope() {
-		// empty constructor just returns true for everything
-		// everything is in scope
-		this.fEnclosesAll = true;
-		init();
-	}
-
-	public JSPSearchScope(String[] resourceStringPath) {
-		init();
-		fResourcePaths.addAll(Arrays.asList(resourceStringPath));
-	}
-
-	public JSPSearchScope(IJavaElement[] javaElement) {
-		init();
-		fJavaElements.addAll(Arrays.asList(javaElement));
-	}
-
-	private void init() {
-		this.fResourcePaths = new ArrayList();
-		this.fJavaElements = new ArrayList();
-	}
-
-	public boolean encloses(String resourcePathString) {
-
-		if (this.fEnclosesAll)
-			return true;
-		else if (enclosesPath(resourcePathString))
-			return true;
-
-		return false;
-	}
-
-	public boolean encloses(IJavaElement element) {
-
-		// pa_TOD implement
-		if (this.fEnclosesAll)
-			return true;
-
-		return true;
-	}
-
-	public boolean encloses(IResourceProxy element) {
-
-		if (this.fEnclosesAll)
-			return true;
-		else if (enclosesPath(element.requestFullPath().toOSString()))
-			return true;
-
-		return true;
-	}
-
-	public void addPath(String path) {
-		this.fResourcePaths.add(path);
-	}
-
-	public void addElement(IJavaElement element) {
-		this.fJavaElements.add(element);
-	}
-
-	private boolean enclosesPath(String possible) {
-
-		String[] paths = (String[]) fResourcePaths.toArray(new String[fResourcePaths.size()]);
-		for (int i = 0; i < paths.length; i++) {
-			if (possible.equals(paths[i]))
-				return true;
-		}
-		return false;
-	}
-
-	public String getDescription() {
-
-		return "JSPSearchScope"; //$NON-NLS-1$
-	}
-
-	public IPath[] enclosingProjectsAndJars() {
-
-		// pa_TODO
-		return null;
-	}
-
-	public boolean includesBinaries() {
-		return false;
-	}
-
-	public boolean includesClasspaths() {
-		return false;
-	}
-
-	public void setIncludesBinaries(boolean includesBinaries) {
-		// do nothing
-	}
-
-	public void setIncludesClasspaths(boolean includesClasspaths) {
-		// do nothing
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchSupport.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchSupport.java
deleted file mode 100644
index 3cede66..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchSupport.java
+++ /dev/null
@@ -1,556 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.CRC32;
-
-import org.eclipse.core.resources.IFile;
-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.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jdt.core.search.SearchRequestor;
-import org.eclipse.jdt.internal.compiler.util.SimpleLookupTable;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jdt.internal.core.search.indexing.IndexManager;
-import org.eclipse.jst.jsp.core.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.java.JSP2ServletNameUtil;
-
-/**
- * Central access to java indexing and search. All contact between JDT indexing
- * and Searching should be done through here.
- * 
- * Clients should access the methods of this class via the single instance via
- * <code>getInstance()</code>.
- * 
- * @author pavery
- */
-public class JSPSearchSupport {
-
-    // for debugging
-    static final boolean DEBUG;
-    static {
-        String value = Platform.getDebugOption("com.ibm.sse.model.jsp/debug/jspsearch"); //$NON-NLS-1$
-        DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-    }
-
-    private static JSPSearchSupport singleton = null;
-
-    private JSPSearchParticipant fParticipant = null;
-
-    private IPath fJspPluginLocation = null;
-
-    // pa_TODO may be slow (esp for indexing entire workspace)
-    private final CRC32 fChecksumCalculator = new CRC32();
-
-    /** main cancel montior for all search support */
-    private final IProgressMonitor fMonitor = new NullProgressMonitor();
-
-    private JSPSearchSupport() {
-        // force use of single instance
-    }
-
-    /**
-     * This operation ensures that the live resource's search markers show up in
-     * the open editor. It also allows the ability to pass in a ProgressMonitor
-     */
-    private class SearchJob extends Job implements IJavaSearchConstants {
-
-        String fSearchText = ""; //$NON-NLS-1$
-
-        IJavaSearchScope fScope = null;
-
-        int fSearchFor = FIELD;
-
-        int fLimitTo = ALL_OCCURRENCES;
-
-        int fMatchMode = SearchPattern.R_PATTERN_MATCH;
-
-        boolean fIsCaseSensitive = false;
-
-        SearchRequestor fRequestor = null;
-
-        IJavaElement fElement = null;
-
-        // constructor w/ java element
-        public SearchJob(IJavaElement element, IJavaSearchScope scope, SearchRequestor requestor) {
-
-            super("JSP Search - " + element.getElementName());
-            this.fElement = element;
-            this.fScope = scope;
-            this.fRequestor = requestor;
-        }
-
-        // constructor w/ search text
-        public SearchJob(String searchText, IJavaSearchScope scope, int searchFor, int limitTo, int matchMode, boolean isCaseSensitive, SearchRequestor requestor) {
-
-            super("JSP Search - " + searchText);
-            this.fSearchText = searchText;
-            this.fScope = scope;
-            this.fSearchFor = searchFor;
-            this.fLimitTo = limitTo;
-            this.fMatchMode = matchMode;
-            this.fIsCaseSensitive = isCaseSensitive;
-            this.fRequestor = requestor;
-        }
-
-        public IStatus run(IProgressMonitor jobMonitor) {
-
-            if (jobMonitor != null && jobMonitor.isCanceled())
-                return Status.CANCEL_STATUS;
-            if (JSPSearchSupport.getInstance().isCanceled())
-                return Status.CANCEL_STATUS;
-
-            SearchPattern javaSearchPattern = null;
-            // if an element is available, use that to create search pattern
-            // (eg. LocalVariable)
-            // otherwise use the text and other paramters
-            if (this.fElement != null)
-                javaSearchPattern = SearchPattern.createPattern(this.fElement, this.fLimitTo);
-            else
-                javaSearchPattern = SearchPattern.createPattern(this.fSearchText, this.fSearchFor, this.fLimitTo, this.fMatchMode);
-
-            if (javaSearchPattern != null) {
-                JSPSearchParticipant[] participants = { getSearchParticipant() };
-                SearchEngine engine = new SearchEngine();
-                try {
-                    if (jobMonitor != null)
-                        jobMonitor.beginTask("", IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-                    engine.search(javaSearchPattern, participants, this.fScope, this.fRequestor, jobMonitor);
-                } catch (CoreException e) {
-                    if (DEBUG)
-                        Logger.logException(e);
-                }
-                // non-CoreExceptions will permanently stall the Worker thread
-                catch (Exception e) {
-                    if (DEBUG)
-                        Logger.logException(e);
-                } finally {
-                    if (jobMonitor != null)
-                        jobMonitor.done();
-                }
-            }
-            return Status.OK_STATUS;
-        }
-    }
-
-    // end SearchJob
-    /**
-     * Runnable forces caller to wait until finished (as opposed to using a Job)
-     */
-    private class SearchRunnable implements IWorkspaceRunnable, IJavaSearchConstants {
-
-        String fSearchText = ""; //$NON-NLS-1$
-
-        IJavaSearchScope fScope = null;
-
-        int fSearchFor = FIELD;
-
-        int fLimitTo = ALL_OCCURRENCES;
-
-        int fMatchMode = SearchPattern.R_PATTERN_MATCH;
-
-        boolean fIsCaseSensitive = false;
-
-        SearchRequestor fRequestor = null;
-
-        IJavaElement fElement = null;
-
-        // constructor w/ java element
-        public SearchRunnable(IJavaElement element, IJavaSearchScope scope, SearchRequestor requestor) {
-
-            this.fElement = element;
-            this.fScope = scope;
-            this.fRequestor = requestor;
-        }
-
-        // constructor w/ search text
-        public SearchRunnable(String searchText, IJavaSearchScope scope, int searchFor, int limitTo, int matchMode, boolean isCaseSensitive, SearchRequestor requestor) {
-
-            this.fSearchText = searchText;
-            this.fScope = scope;
-            this.fSearchFor = searchFor;
-            this.fLimitTo = limitTo;
-            this.fMatchMode = matchMode;
-            this.fIsCaseSensitive = isCaseSensitive;
-            this.fRequestor = requestor;
-        }
-
-        public void run(IProgressMonitor monitor) throws CoreException {
-
-            if (monitor != null && monitor.isCanceled())
-                return;
-            if (JSPSearchSupport.getInstance().isCanceled())
-                return;
-
-            SearchPattern javaSearchPattern = null;
-            // if an element is available, use that to create search pattern
-            // (eg. LocalVariable)
-            // otherwise use the text and other paramters
-            if (this.fElement != null)
-                javaSearchPattern = SearchPattern.createPattern(this.fElement, fLimitTo);
-            else
-                javaSearchPattern = SearchPattern.createPattern(fSearchText, fSearchFor, fLimitTo, fMatchMode);
-
-            if (javaSearchPattern != null) {
-                JSPSearchParticipant[] participants = { getSearchParticipant() };
-                SearchEngine engine = new SearchEngine();
-                try {
-                    if (monitor != null)
-                        monitor.beginTask("", 0); //$NON-NLS-1$
-                    engine.search(javaSearchPattern, participants, fScope, fRequestor, monitor);
-                } catch (CoreException e) {
-                    Logger.logException(e);
-                    //throw e;
-                }
-                // non-CoreExceptions will permanently stall the Worker thread
-                catch (Exception e) {
-                    Logger.logException(e);
-                } finally {
-                    if (monitor != null)
-                        monitor.done();
-                }
-            }
-        }
-    }
-
-    // end SearchRunnable
-
-    /**
-     * Clients should access the methods of this class via the single instance
-     * via getInstance()
-     * 
-     * @return
-     */
-    public synchronized static JSPSearchSupport getInstance() {
-
-        if (singleton == null)
-            singleton = new JSPSearchSupport();
-        return singleton;
-    }
-
-    /**
-     * Utility method to check if a file is a jsp file (since this is done
-     * frequently)
-     */
-    public static boolean isJsp(IFile file) {
-
-        boolean isJsp = false;
-        InputStream is = null;
-        try {
-            if (file != null && file.exists()) {
-
-                IContentType contentTypeJSP = Platform.getContentTypeManager().getContentType(ContentTypeIdForJSP.ContentTypeID_JSP);
-                // check this before description, it's less expensive
-                if (contentTypeJSP.isAssociatedWith(file.getName())) {
-
-                    IContentDescription contentDescription = file.getContentDescription();
-                    // it can be null
-                    if (contentDescription == null) {
-                        is = file.getContents();
-                        contentDescription = Platform.getContentTypeManager().getDescriptionFor(is, file.getName(), new QualifiedName[] { IContentDescription.CHARSET });
-                    }
-                    if (contentDescription != null) {
-                        String fileCtId = contentDescription.getContentType().getId();
-                        isJsp = (fileCtId != null && ContentTypeIdForJSP.ContentTypeID_JSP.equals(fileCtId));
-                    }
-                }
-            }
-        } catch (IOException e) {
-            // ignore, assume it's invalid JSP
-        } catch (CoreException e) {
-            // ignore, assume it's invalid JSP
-        } finally {
-            // must close input stream in case others need it
-            if (is != null)
-                try {
-                    is.close();
-                } catch (Exception e) {
-                    // not sure how to recover at this point
-                }
-        }
-        return isJsp;
-    }
-
-    /**
-     * schedules a search document representing this JSP file for indexing (by
-     * the java indexer)
-     * 
-     * @param file
-     *            the JSP file
-     * @return true if indexing was successful, false otherwise
-     * @throws CoreException
-     */
-    public SearchDocument addJspFile(IFile file) {
-        if (JSPSearchSupport.getInstance().isCanceled()) {
-            return null;
-        }
-
-        if (DEBUG)
-            System.out.println("adding JSP file:" + file.getFullPath()); //$NON-NLS-1$
-
-        // create
-        SearchDocument delegate = createSearchDocument(file);
-        // null if not a jsp file
-        if (delegate != null) {
-            try {
-                getSearchParticipant().scheduleDocumentIndexing(delegate, computeIndexLocation(file.getParent().getFullPath()));
-            } catch (Exception e) {
-                // ensure that failure here doesn't keep other documents from
-                // being indexed
-                // if peformed in a batch call (like JSPIndexManager)
-                if (DEBUG)
-                    e.printStackTrace();
-            }
-        }
-
-        if (DEBUG)
-            System.out.println("scheduled" + delegate + "for indexing"); //$NON-NLS-1$ //$NON-NLS-2$
-
-        return delegate;
-    }
-    
-    /**
-     * Perform a java search w/ the given parameters. Runs in a background Job
-     * (results may still come in after this method call)
-     * 
-     * @param searchText
-     *            the string of text to search on
-     * @param searchFor
-     *            IJavaSearchConstants.TYPE, METHOD, FIELD, PACKAGE, etc...
-     * @param limitTo
-     *            IJavaSearchConstants.DECLARATIONS,
-     *            IJavaSearchConstants.REFERENCES,
-     *            IJavaSearchConstants.IMPLEMENTORS, or
-     *            IJavaSearchConstants.ALL_OCCURRENCES
-     * @param matchMode
-     *            allow * wildcards or not
-     * @param isCaseSensitive
-     * @param requestor
-     *            passed in to accept search matches (and do "something" with
-     *            them)
-     */
-    public void search(String searchText, IJavaSearchScope scope, int searchFor, int limitTo, int matchMode, boolean isCaseSensitive, SearchRequestor requestor) {
-
-        JSPIndexManager.getInstance().rebuildIndexIfNeeded();
-
-        SearchJob job = new SearchJob(searchText, scope, searchFor, limitTo, matchMode, isCaseSensitive, requestor);
-        setCanceled(false);
-        job.setUser(true);
-        // https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5032
-        // pops up user operation blocked dialog if you perform a long search,
-        // then open a file because it locks the workspace
-        //job.setRule(ResourcesPlugin.getWorkspace().getRoot());
-        job.schedule();
-    }
-
-    /**
-     * Search for an IJavaElement, constrained by the given parameters. Runs in
-     * a background Job (results may still come in after this method call)
-     * 
-     * @param element
-     * @param scope
-     * @param requestor
-     */
-    public void search(IJavaElement element, IJavaSearchScope scope, SearchRequestor requestor) {
-
-        JSPIndexManager.getInstance().rebuildIndexIfNeeded();
-
-        SearchJob job = new SearchJob(element, scope, requestor);
-        setCanceled(false);
-        job.setUser(true);
-        // https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5032
-        //job.setRule(ResourcesPlugin.getWorkspace().getRoot());
-        job.schedule();
-    }
-
-    /**
-     * Search for an IJavaElement, constrained by the given parameters. Runs in
-     * an IWorkspace runnable (results will be reported by the end of this
-     * method)
-     * 
-     * @param element
-     * @param scope
-     * @param requestor
-     */
-    public void searchRunnable(IJavaElement element, IJavaSearchScope scope, SearchRequestor requestor) {
-
-        JSPIndexManager.getInstance().rebuildIndexIfNeeded();
-
-        SearchRunnable searchRunnable = new SearchRunnable(element, scope, requestor);
-        try {
-            setCanceled(false);
-            ResourcesPlugin.getWorkspace().run(searchRunnable, JSPSearchSupport.getInstance().getProgressMonitor());
-        } catch (CoreException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * @param jspFile
-     * @return SearchDocument if the file is not null, exists, and is a JSP
-     *         file, otherwise null.
-     */
-    private SearchDocument createSearchDocument(IFile jspFile) {
-
-        JavaSearchDocumentDelegate delegate = null;
-        if (jspFile != null && jspFile.exists() && isJsp(jspFile)) {
-
-            delegate = new JavaSearchDocumentDelegate(new JSPSearchDocument(jspFile.getFullPath().toString(), getSearchParticipant()));
-        }
-        return delegate;
-
-    }
-
-    /**
-     * Centralized place to access JSPSearchDocuments (used by
-     * JSPSearchParticipant and JSPSearchRequestor)
-     * 
-     * @param searchDocPath
-     * @param doc
-     * @return the JSPSearchDocument or null if one is not found
-     */
-    public SearchDocument getSearchDocument(String searchDocPath) {
-
-        SearchDocument delegate = null;
-        IFile f = fileForCUPath(searchDocPath);
-        if (f != null) {
-            delegate = createSearchDocument(f);
-        } else {
-            // handle failure case... (file deleted maybe?)
-        }
-        return delegate;
-    }
-
-    /**
-     * Unmangles the searchDocPath and returns the corresponding JSP file.
-     * 
-     * @param searchDocPath
-     */
-    private IFile fileForCUPath(String searchDocPath) {
-
-        String[] split = searchDocPath.split("/"); //$NON-NLS-1$
-        String classname = split[split.length - 1];
-
-        String filePath = JSP2ServletNameUtil.unmangle(classname);
-
-        IFile f = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(new Path(filePath));
-        // workspace relative then
-        if(f == null)
-        	f = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(filePath));
-        return f;
-    }
-
-    JSPSearchParticipant getSearchParticipant() {
-
-        if (this.fParticipant == null)
-            this.fParticipant = new JSPSearchParticipant();
-        return this.fParticipant;
-    }
-
-    // This is called from JSPPathIndexer
-    // pa_TODO
-    //how can we make sure participant indexLocations are updated at startup?
-    public final IPath computeIndexLocation(IPath containerPath) {
-
-        // pa_TODO there should be a non internal way to do this.
-        IndexManager indexManager = JavaModelManager.getJavaModelManager().getIndexManager();
-        SimpleLookupTable indexLocations = indexManager.indexLocations;
-
-        String indexLocation = null;
-        Object obj = indexLocations.get(containerPath);
-        if (obj != null) {
-            indexLocation = (String) obj;
-        } else {
-            // create index entry
-            String pathString = containerPath.toOSString();
-            this.fChecksumCalculator.reset();
-            this.fChecksumCalculator.update(pathString.getBytes());
-            String fileName = Long.toString(this.fChecksumCalculator.getValue()) + ".index"; //$NON-NLS-1$
-            // this is the only difference from
-            // IndexManager#computeIndexLocation(...)
-            indexLocation = getModelJspPluginWorkingLocation().append(fileName).toOSString();
-
-            // pa_TODO need to add to java path too, so JDT search support knows
-            // there should be a non internal way to do this.
-            indexLocations.put(containerPath, indexLocation);
-        }
-        return new Path(indexLocation);
-    }
-
-    // copied from JDT IndexManager
-    public IPath getModelJspPluginWorkingLocation() {
-
-        if (this.fJspPluginLocation != null)
-            return this.fJspPluginLocation;
-
-        IPath stateLocation = JSPCorePlugin.getDefault().getStateLocation();
-
-        // pa_TODO workaround for
-        // https://bugs.eclipse.org/bugs/show_bug.cgi?id=62267
-        // copied from IndexManager
-        String device = stateLocation.getDevice();
-        if (device != null && device.charAt(0) == '/')
-            stateLocation = stateLocation.setDevice(device.substring(1));
-
-        return this.fJspPluginLocation = stateLocation;
-    }
-
-    /**
-     * JSP Indexing and Search jobs check this
-     * 
-     * @return
-     */
-    public synchronized final void setCanceled(boolean cancel) {
-
-        fMonitor.setCanceled(cancel);
-    }
-
-    /**
-     * JSP Indexing and Search jobs check this
-     * 
-     * @return
-     */
-    public synchronized final boolean isCanceled() {
-
-        return fMonitor.isCanceled();
-    }
-
-    /**
-     * JSP Indexing and Search jobs check this
-     * 
-     * @return
-     */
-    public final IProgressMonitor getProgressMonitor() {
-
-        return this.fMonitor;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JavaSearchDocumentDelegate.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JavaSearchDocumentDelegate.java
deleted file mode 100644
index 83f13d1..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JavaSearchDocumentDelegate.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-
-
-/**
- * Wrapper method to set getPath() path to be the path of the compilation unit 
- * for the jsp file. (since it's a final method, it needs to be set via constructor)
- * 
- * @author pavery
- */
-public class JavaSearchDocumentDelegate extends SearchDocument {
-	
-	private JSPSearchDocument fJSPSearchDoc = null;
-	
-	public JavaSearchDocumentDelegate(JSPSearchDocument jspSearchDoc) {
-		
-		super(jspSearchDoc.getPath(), jspSearchDoc.getParticipant());
-		this.fJSPSearchDoc = jspSearchDoc;
-	}
-
-	public byte[] getByteContents() {
-		
-		return this.fJSPSearchDoc.getByteContents();
-	}
-
-	public char[] getCharContents() {
-		
-		return this.fJSPSearchDoc.getCharContents();
-	}
-	
-	public String getJavaText() {
-		return this.fJSPSearchDoc.getJavaText();
-	}
-
-	public String getEncoding() {
-		
-		return this.fJSPSearchDoc.getEncoding();
-	}
-	
-	public IFile getFile() {
-		
-		return this.fJSPSearchDoc.getFile();
-	}
-	
-	public JSPTranslationExtension getJspTranslation() {
-		
-		return this.fJSPSearchDoc.getJSPTranslation();
-	}
-	
-	public int getJspOffset(int javaOffset) {
-		
-		return this.fJSPSearchDoc.getJspOffset(javaOffset);
-	}
-	
-	public void release() {
-		this.fJSPSearchDoc.release();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/NullModelManager.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/NullModelManager.java
deleted file mode 100644
index 740dad3..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/NullModelManager.java
+++ /dev/null
@@ -1,518 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Enumeration;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerListener;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.exceptions.ResourceAlreadyExists;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.URIResolver;
-
-/**
- * Simple "null" implementation, entirely to more easily handle case where
- * model manager can't be retrieved due to workspace shutting down. Its intent
- * is to help minimize null checks (especially new null checks :)
- */
-public class NullModelManager implements IModelManager {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#aboutToChangeModels()
-	 */
-	public void aboutToChangeModels() {
-		// TODO Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createStructuredDocumentFor(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(IFile iFile) throws IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createNewStructuredDocumentFor(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredDocument createNewStructuredDocumentFor(IFile iFile) throws ResourceAlreadyExists, IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createStructuredDocumentFor(java.lang.String)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(String contentTypeId) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createStructuredDocumentFor(java.lang.String,
-	 *      java.io.InputStream, com.ibm.sse.model.util.URIResolver)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(String filename, InputStream inputStream, URIResolver resolver) throws IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createStructuredDocumentFor(java.lang.String,
-	 *      java.lang.String, com.ibm.sse.model.util.URIResolver)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(String filename, String content, URIResolver resolver) throws IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createStructuredDocumentFor(java.lang.String,
-	 *      java.io.InputStream, com.ibm.sse.model.util.URIResolver,
-	 *      java.lang.String)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(String filename, InputStream inputStream, URIResolver resolver, String ianaEncodingName) throws IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createUnManagedStructuredModelFor(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel createUnManagedStructuredModelFor(IFile iFile) throws IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createUnManagedStructuredModelFor(java.lang.String)
-	 */
-	public IStructuredModel createUnManagedStructuredModelFor(String contentTypeId) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createUnManagedStructuredModelFor(java.lang.String,
-	 *      com.ibm.sse.model.util.URIResolver)
-	 */
-	public IStructuredModel createUnManagedStructuredModelFor(String contentTypeId, URIResolver resolver) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#addModelManagerListener(com.ibm.sse.model.IModelManagerListener)
-	 */
-	public void addModelManagerListener(IModelManagerListener listener) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#changedModels()
-	 */
-	public void changedModels() {
-		// TODO Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#copyModelForEdit(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public IStructuredModel copyModelForEdit(String oldId, String newId) throws ResourceInUse {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getExistingModelForEdit(java.lang.Object)
-	 */
-	public IStructuredModel getExistingModelForEdit(Object id) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getExistingModelForEdit(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel getExistingModelForEdit(IFile iFile) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getExistingModelForRead(java.lang.Object)
-	 */
-	public IStructuredModel getExistingModelForRead(Object id) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getExistingModelForRead(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel getExistingModelForRead(IFile iFile) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getExistingModelIds()
-	 */
-	public Enumeration getExistingModelIds() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getModelForEdit(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel getModelForEdit(IFile iFile) throws IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getModelForEdit(org.eclipse.core.resources.IFile,
-	 *      java.lang.String, java.lang.String)
-	 */
-	public IStructuredModel getModelForEdit(IFile iFile, String encoding, String lineDelimiter) throws UnsupportedEncodingException, IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getModelForEdit(org.eclipse.core.resources.IFile,
-	 *      com.ibm.encoding.resource.EncodingRule)
-	 */
-	public IStructuredModel getModelForEdit(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getModelForRead(org.eclipse.core.resources.IFile,
-	 *      com.ibm.encoding.resource.EncodingRule)
-	 */
-	public IStructuredModel getModelForRead(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getModelForRead(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel getModelForRead(IFile iFile) throws IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getModelForRead(org.eclipse.core.resources.IFile,
-	 *      java.lang.String, java.lang.String)
-	 */
-	public IStructuredModel getModelForRead(IFile iFile, String encoding, String lineDelimiter) throws UnsupportedEncodingException, IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getModelForEdit(java.lang.String,
-	 *      java.io.InputStream, com.ibm.sse.model.util.URIResolver)
-	 */
-	public IStructuredModel getModelForEdit(String filename, InputStream inStream, URIResolver resolver) throws UnsupportedEncodingException, IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getModelForRead(java.lang.String,
-	 *      java.io.InputStream, com.ibm.sse.model.util.URIResolver)
-	 */
-	public IStructuredModel getModelForRead(String filename, InputStream inStream, URIResolver resolver) throws UnsupportedEncodingException, IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getNewModelForEdit(org.eclipse.core.resources.IFile,
-	 *      boolean)
-	 */
-	public IStructuredModel getNewModelForEdit(IFile iFile, boolean force) throws ResourceAlreadyExists, ResourceInUse, IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getNewModelForRead(org.eclipse.core.resources.IFile,
-	 *      boolean)
-	 */
-	public IStructuredModel getNewModelForRead(IFile iFile, boolean force) throws ResourceAlreadyExists, ResourceInUse, IOException, CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getReferenceCount(java.lang.Object)
-	 */
-	public int getReferenceCount(Object id) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getReferenceCountForEdit(java.lang.Object)
-	 */
-	public int getReferenceCountForEdit(Object id) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getReferenceCountForRead(java.lang.Object)
-	 */
-	public int getReferenceCountForRead(Object id) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#isShared(java.lang.Object)
-	 */
-	public boolean isShared(Object id) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#isSharedForEdit(java.lang.Object)
-	 */
-	public boolean isSharedForEdit(Object id) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#isSharedForRead(java.lang.Object)
-	 */
-	public boolean isSharedForRead(Object id) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#isStateChanging()
-	 */
-	public boolean isStateChanging() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#moveModel(java.lang.Object,
-	 *      java.lang.Object)
-	 */
-	public void moveModel(Object oldId, Object newId) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#reloadModel(java.lang.Object,
-	 *      java.io.InputStream)
-	 */
-	public IStructuredModel reloadModel(Object id, InputStream inStream) throws UnsupportedEncodingException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#reinitialize(com.ibm.sse.model.IStructuredModel)
-	 */
-	public IStructuredModel reinitialize(IStructuredModel model) throws IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#removeModelManagerListener(com.ibm.sse.model.IModelManagerListener)
-	 */
-	public void removeModelManagerListener(IModelManagerListener listener) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#saveStructuredDocument(com.ibm.sse.model.text.IStructuredDocument,
-	 *      org.eclipse.core.resources.IFile)
-	 */
-	public void saveStructuredDocument(IStructuredDocument structuredDocument, IFile iFile) throws UnsupportedEncodingException, IOException, CoreException {
-		// TODO Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#calculateId(org.eclipse.core.resources.IFile)
-	 */
-	public String calculateId(IFile file) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#calculateBaseLocation(org.eclipse.core.resources.IFile)
-	 */
-	public String calculateBaseLocation(IFile file) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#createNewInstance(com.ibm.sse.model.IStructuredModel)
-	 */
-	public IStructuredModel createNewInstance(IStructuredModel model) throws IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getExistingModelForRead(org.eclipse.jface.text.IDocument)
-	 */
-	public IStructuredModel getExistingModelForRead(IDocument document) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.IModelManager#getExistingModelForEdit(org.eclipse.jface.text.IDocument)
-	 */
-	public IStructuredModel getExistingModelForEdit(IDocument document) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.model.IModelManager#getModelForEdit(com.ibm.sse.model.text.IStructuredDocument)
-	 */
-	public IStructuredModel getModelForEdit(IStructuredDocument textFileBufferDocument) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.model.IModelManager#getModelForRead(com.ibm.sse.model.text.IStructuredDocument)
-	 */
-	public IStructuredModel getModelForRead(IStructuredDocument textFileBufferDocument) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/NullSearchDocument.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/NullSearchDocument.java
deleted file mode 100644
index ad99a10..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/NullSearchDocument.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.internal.java.search;
-
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslator;
-
-
-
-/**
- * An empty servlet, safe for Java search participation
- * 
- * @author pavery
- */
-public class NullSearchDocument extends SearchDocument {
-	
-	StringBuffer fEmptyServletBuffer = null;
-	
-	public NullSearchDocument(String documentPath) {
-		super(documentPath, new JSPSearchParticipant()); //$NON-NLS-1$
-		this.fEmptyServletBuffer = new JSPTranslator().getEmptyTranslation();
-	}
-	
-	public byte[] getByteContents() {
-		return this.fEmptyServletBuffer.toString().getBytes();
-	}
-	
-	public char[] getCharContents() {
-		return this.fEmptyServletBuffer.toString().toCharArray();
-	}
-	
-	public String getEncoding() {
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPCodeRegion.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPCodeRegion.java
deleted file mode 100644
index b7b1434..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPCodeRegion.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.internal.parser;
-
-
-
-import org.eclipse.jst.jsp.core.contenttype.ContentTypeIdForJSP;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.parser.ForeignRegion;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-public class JSPCodeRegion extends ForeignRegion {
-
-	protected RegionParser fBlockNodeChecker = null;
-
-	/**
-	 * JavaCodeRegion constructor comment.
-	 */
-	public JSPCodeRegion() {
-		super();
-	}
-
-	public JSPCodeRegion(String newContext, int newStart, int newTextLength, int newLength) {
-		super(newContext, newStart, newTextLength, newLength, "jsp-java"); //$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 * @return RegionParser
-	 */
-	protected RegionParser getBlockNodeChecker() {
-		if (fBlockNodeChecker == null) {
-			IModelManager mmanager = StructuredModelManager.getModelManager();
-			fBlockNodeChecker = mmanager.createStructuredDocumentFor(ContentTypeIdForJSP.ContentTypeID_JSP).getParser();
-		}
-		return fBlockNodeChecker;
-	}
-
-	/**
-	 * @see com.ibm.sed.interfaces.core.IRegionCodeAssistProcessor
-	 */
-	public void setStructuredDocument(IStructuredDocument structuredDocument) {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPDirectiveStructuredDocumentRegion.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPDirectiveStructuredDocumentRegion.java
deleted file mode 100644
index 33d026e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPDirectiveStructuredDocumentRegion.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.internal.parser;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.internal.text.XMLStructuredDocumentRegion;
-
-public class JSPDirectiveStructuredDocumentRegion extends XMLStructuredDocumentRegion {
-	/**
-	 * JSPDirectiveStructuredDocumentRegion constructor comment.
-	 */
-	public JSPDirectiveStructuredDocumentRegion() {
-		super();
-	}
-
-	protected StructuredDocumentEvent reparse(Object requester, String changes, int requestStart, int lengthToReplace) {
-		return null;
-	}
-
-	// This is a language specific method (e.g. HTML, Java, Prolog, etc.) so
-	// could/should be made configurable.
-	public StructuredDocumentEvent updateModel(Object requester, String changes, int requestStart, int lengthToReplace, IStructuredDocumentRegion flatnode) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPReParser.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPReParser.java
deleted file mode 100644
index 74f27c5..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPReParser.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * 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.internal.parser;
-
-
-import java.util.Iterator;
-
-import org.eclipse.jst.jsp.core.JSP12Namespace;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP11TLDNames;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.text.CoreNodeList;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.IStructuredTextReParser;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.internal.parser.XMLStructuredDocumentReParser;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-public class JSPReParser extends XMLStructuredDocumentReParser {
-
-	/**
-	 * Allow a reparser to check for extra syntactic cases that require
-	 * parsing beyond the flatNode boundary.
-	 * 
-	 * This implementation adds JSP language markers (comments are handled
-	 * elsewhere).
-	 */
-	protected StructuredDocumentEvent checkForCrossStructuredDocumentRegionSyntax() {
-		StructuredDocumentEvent result = super.checkForCrossStructuredDocumentRegionSyntax();
-		// None of the superclass' cases were valid, so check for JSP cases
-		if (result == null) {
-			result = checkForJSP();
-		}
-		return result;
-	}
-
-	/**
-	 * A change to a JSP tag can result in all being reparsed.
-	 */
-	private StructuredDocumentEvent checkForJSP() {
-		StructuredDocumentEvent result = null;
-		result = checkForCriticalKey("<%"); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("<%="); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("<%!"); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("%>"); //$NON-NLS-1$
-
-		return result;
-	}
-
-	/**
-	 * If a comment start or end tag is being added or deleted, we'll rescan
-	 * the whole document. The reason is that content that is revealed or
-	 * commented out can effect the interpretation of the rest of the
-	 * document. Note: for now this is very XML/JSP specific, can
-	 * refactor/improve later.
-	 */
-	protected StructuredDocumentEvent checkForComments() {
-
-		StructuredDocumentEvent result = super.checkForComments();
-
-		if (result == null)
-			result = checkForCriticalKey("<%--"); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("--%>"); //$NON-NLS-1$
-		// we'll also check for these degenerate cases
-		if (result == null)
-			result = checkForCriticalKey("<%---%>"); //$NON-NLS-1$
-
-		return result;
-	}
-
-	/**
-	 * The core reparsing method ... after the dirty start and dirty end have
-	 * been calculated elsewhere. - this method overrides, does not extend
-	 * super's method. changes/fixes to super may have to be made here as
-	 * well.
-	 */
-	protected StructuredDocumentEvent reparse(IStructuredDocumentRegion dirtyStart, IStructuredDocumentRegion dirtyEnd) {
-		StructuredDocumentEvent result = null;
-		int rescanStart = -1;
-		int rescanEnd = -1;
-		boolean firstTime = false;
-		boolean detectedBreakingChange = false;
-
-		//
-		// "save" the oldNodes (that may be replaced) in a list
-		CoreNodeList oldNodes = formOldNodes(dirtyStart, dirtyEnd);
-
-		if (containsBreakingChange(oldNodes) || isBreakingWithNestedTag(dirtyStart, dirtyEnd)) {
-			if (Debug.debugTaglibs)
-				System.out.println("reparse: is taglib or include"); //$NON-NLS-1$
-			detectedBreakingChange = true;
-			rescanStart = 0;
-			rescanEnd = fStructuredDocument.getLength() + fLengthDifference;
-			oldNodes = formOldNodes(fStructuredDocument.getFirstStructuredDocumentRegion(), fStructuredDocument.getLastStructuredDocumentRegion());
-			clearTaglibInfo();
-		}
-		else if (dirtyStart == null || dirtyEnd == null) {
-			// dirtyStart or dirty end are null, then that means we didn't
-			// have a
-			// cached node, which means we have an empty document, so we
-			// just need to rescan the changes
-			rescanStart = 0;
-			rescanEnd = fChanges.length();
-			firstTime = true;
-		}
-		else {
-			// set the start of the text to rescan
-			rescanStart = dirtyStart.getStart();
-			//
-			// set the end of the text to rescan
-			// notice we use the same rationale as for the rescanStart,
-			// with the added caveat that length has to be added to it,
-			// to compensate for the new text which has been added or deleted.
-			// If changes has zero length, then "length" will be negative,
-			// since
-			// we are deleting text. Otherwise, use the difference between
-			// what's selected to be replaced and the length of the new text.
-			rescanEnd = dirtyEnd.getEnd() + fLengthDifference;
-		}
-
-		// now that we have the old stuff "saved" away, update the document
-		// with the changes.
-		fStructuredDocument.updateDocumentData(fStart, fLengthToReplace, fChanges);
-		// ------------------ now the real work
-		result = core_reparse(rescanStart, rescanEnd, oldNodes, firstTime);
-		//
-
-		// if we did not detect a breaking type of change at the beginning,
-		// but
-		// do now, then reparse all! If we did detect them, then we may or may
-		// not detect again, but presumably we've already set up to re-parsed
-		// everthing, so no need to do again.
-		if ((!detectedBreakingChange) && (containsBreakingChange(oldNodes))) {
-			clearTaglibInfo();
-			// reparse all
-			oldNodes = formOldNodes(fStructuredDocument.getFirstStructuredDocumentRegion(), fStructuredDocument.getLastStructuredDocumentRegion());
-			result = core_reparse(0, fStructuredDocument.getLength(), oldNodes, firstTime);
-		}
-
-		// event is returned to the caller, incase there is
-		// some optimization they can do
-		return result;
-	}
-
-	/**
-	 * Verifies that the regions given, representing the contents of a
-	 * IStructuredDocumentRegion, contain regions that could alter the
-	 * behavior of the parser or the parsing of areas outside of the regions
-	 * given.
-	 */
-	private boolean isBreakingChange(IStructuredDocumentRegion node, ITextRegionList regions) {
-		return isTaglibOrInclude(node, regions) || isJspRoot(regions);
-	}
-
-	/**
-	 * Verifies that the regions given, representing the regions touched by a
-	 * text change have: 1) ...an insertion at the textEndOffset of an
-	 * XML_TAG_OPEN that's in it's own IStructuredDocumentRegion and preceded
-	 * by an unended IStructuredDocumentRegion 2) ...a deletion happening in
-	 * an XML_EMPTY_TAG_CLOSE that ends a ITextRegionContainer 3) ...an
-	 * insertion happening with a ' <' character somewhere in an XML attribute
-	 * name or value 4) ...a deletion of a normal XML_TAG_CLOSE since
-	 * subsequent tags become attribute values
-	 */
-
-	private boolean isBreakingWithNestedTag(boolean changesIncludeA_lt, boolean delsIncludeA_gt, IStructuredDocumentRegion parent, ITextRegion region) {
-		boolean result = false;
-
-		IStructuredDocumentRegion previous = parent.getPrevious();
-		// case 1 test
-		if (parent.getRegions().size() == 1 && region.getType() == XMLRegionContext.XML_TAG_OPEN && (previous == null || (!previous.isEnded() || previous.getType() == XMLRegionContext.XML_CONTENT))) {
-			result = true;
-		}
-		//case 2 test
-		if (region instanceof ITextRegionContainer) {
-			ITextRegionContainer container = (ITextRegionContainer) region;
-			ITextRegion internal = container.getRegions().get(container.getRegions().size() - 1);
-			if (internal.getType() == XMLRegionContext.WHITE_SPACE && container.getRegions().size() >= 2)
-				internal = container.getRegions().get(container.getRegions().size() - 2);
-			if (internal.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-				result = true;
-			}
-		}
-		//case 3 test
-		if (changesIncludeA_lt && (region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME || region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)) {
-			result = true;
-		}
-		//case 4 test
-		if (delsIncludeA_gt && region.getType() == XMLRegionContext.XML_TAG_CLOSE) {
-			result = true;
-		}
-		return result;
-	}
-
-	/**
-	 * Verifies that the regions given, representing the contents of a
-	 * IStructuredDocumentRegion, includes a jsp:root tag
-	 */
-	private boolean isJspRoot(ITextRegionList regions) {
-		return regions.size() > 1 && regions.get(0).getType() == XMLRegionContext.XML_TAG_OPEN && regions.get(1).getType() == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME;
-	}
-
-	/**
-	 * Verifies that the regions given, representing the contents of a
-	 * IStructuredDocumentRegion, includes a valid taglib directive or include
-	 * directive
-	 */
-	private boolean isTaglibOrInclude(IStructuredDocumentRegion node, ITextRegionList regions) {
-		boolean sizeAndTypesMatch = (regions.size() > 1) && (regions.get(1).getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME)
-					&& (regions.get(0).getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN || regions.get(0).getType() == XMLRegionContext.XML_TAG_OPEN);
-		if (!sizeAndTypesMatch)
-			return false;
-		ITextRegion region = regions.get(1);
-		String directiveName = node.getText(region);
-		return sizeAndTypesMatch
-					&& (directiveName.equals(JSP11TLDNames.TAGLIB) || directiveName.equals(JSP11TLDNames.INCLUDE) || directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB) || directiveName
-								.equals(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE));
-	}
-
-	private void clearTaglibInfo() {
-		if (Debug.debugTaglibs)
-			System.out.println("clearing taglib info"); //$NON-NLS-1$
-		RegionParser parser = fStructuredDocument.getParser();
-		if (parser instanceof StructuredDocumentRegionParser)
-			((StructuredDocumentRegionParser) parser).resetHandlers();
-	}
-
-	private boolean containsBreakingChange(IStructuredDocumentRegionList list) {
-		boolean contains = false;
-		for (int i = 0; i < list.getLength(); i++) {
-			IStructuredDocumentRegion node = list.item(i);
-			if (isBreakingChange(node, node.getRegions())) {
-				contains = true;
-				break;
-			}
-		}
-		return contains;
-	}
-
-	protected IStructuredDocumentRegion findDirtyEnd(int end) {
-
-		IStructuredDocumentRegion result = super.findDirtyEnd(end);
-
-		// if not well formed, get one past, if its not null
-
-		// now, if any of to-be-scanned flatnodes are the start of a jsp
-		// region, we'll
-		// reparse all the way to the end, to be sure we detect embedded
-		// regions (or not-embedded regions) correctly.
-		// notice we don't need to do if we're only processing one node.
-		// notice too we have a strong assumption here that dirtyStart has
-		// already been found!
-		//
-		// note that dirtyEnd is not checked in the do-block below, so we'll
-		// check it first.
-		if (isJSPEmbeddedStartOrEnd(result)) {
-			result = fStructuredDocument.getLastStructuredDocumentRegion();
-		}
-		else {
-			// when end node and start node are the same, we only need the
-			// above
-			// check, otherwise, there's a few cases that we'll search the
-			// rest of the
-			// flatnodes needlessly.
-			if (result != dirtyStart) {
-				IStructuredDocumentRegion searchNode = dirtyStart;
-				do {
-					if (isJSPEmbeddedStartOrEnd(searchNode)) {
-						result = fStructuredDocument.getLastStructuredDocumentRegion();
-						break;
-					}
-					else {
-						searchNode = searchNode.getNext();
-					}
-					// if we get to the current dirty end, or end of
-					// flatnodes, without finding JSP region then we
-					// don't need to check further
-				}
-				while ((searchNode != result) && (searchNode != null));
-			}
-		}
-		// result should never be null, but cachedNode needs to be protected
-		// from being changed to null
-		if (result != null)
-			fStructuredDocument.setCachedDocumentRegion(result);
-		dirtyEnd = result;
-		return dirtyEnd;
-	}
-
-	private boolean isBreakingWithNestedTag(IStructuredDocumentRegion start, IStructuredDocumentRegion end) {
-		boolean result = false;
-		boolean changesIncludeA_lt = fChanges != null && fChanges.indexOf('<') >= 0;
-		boolean delsIncludeA_gt = fDeletedText != null && fDeletedText.indexOf('>') >= 0;
-
-		//List regions = new ArrayList();
-		IStructuredDocumentRegion node = start;
-		int endReplace = fStart + fLengthToReplace;
-		while (end != null && node != end.getNext()) {
-			Iterator i = node.getRegions().iterator();
-			while (i.hasNext()) {
-				ITextRegion region = (ITextRegion) i.next();
-				if (intersects(node, region, fStart, endReplace)) {
-
-					result = isBreakingWithNestedTag(changesIncludeA_lt, delsIncludeA_gt, node, region);
-
-					if (result)
-						break;
-				}
-			}
-			node = node.getNext();
-			if (result)
-				break;
-		}
-		return result;
-	}
-
-	private boolean intersects(IStructuredDocumentRegion node, ITextRegion region, int low, int high) {
-		int start = node.getStartOffset(region);
-		int end = node.getEndOffset(region);
-		return (end >= low && start <= high) || (start <= low && end >= low) || (start <= high && end >= high);
-	}
-
-	/**
-	 * Returns true if potentially could be a jsp embedded region. Things like
-	 * JSP Declaration can't be embedded.
-	 */
-	private boolean isJSPEmbeddedStartOrEnd(IStructuredDocumentRegion flatNode) {
-		boolean result = false;
-		String type = flatNode.getType();
-		result = ((type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN) || (type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN));
-		return result;
-	}
-
-	/**
-	 * extends super class behavior
-	 */
-	protected boolean isPartOfBlockRegion(IStructuredDocumentRegion flatNode) {
-		boolean result = false;
-		String type = flatNode.getType();
-		result = ((type == XMLJSPRegionContexts.JSP_CLOSE) || (type == XMLJSPRegionContexts.JSP_CONTENT) || super.isPartOfBlockRegion(flatNode));
-		return result;
-	}
-
-	public IStructuredTextReParser newInstance() {
-		return new JSPReParser();
-	}
-
-	public StructuredDocumentEvent quickCheck() {
-		if (containsBreakingChange(new CoreNodeList(dirtyStart, dirtyEnd)))
-			return null;
-		return super.quickCheck();
-	}
-
-	public Object clone() {
-		try {
-			return super.clone();
-		}
-		catch (CloneNotSupportedException e) {
-			// could only happen if some changes
-			// superclass someday
-			throw new SourceEditingRuntimeException(e);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPSourceParser.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPSourceParser.java
deleted file mode 100644
index 8836370..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/JSPSourceParser.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/*******************************************************************************
- * 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.internal.parser;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.JSP12Namespace;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.internal.parser.internal.JSPTokenizer;
-import org.eclipse.wst.sse.core.internal.text.IRegionComparible;
-import org.eclipse.wst.sse.core.parser.BlockTokenizer;
-import org.eclipse.wst.sse.core.parser.JSPCapableParser;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandlerExtension;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionParser;
-import org.eclipse.wst.sse.core.parser.TagMarker;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-/**
- * Takes input from the JSPTokenizer and creates a tag list
- */
-
-public class JSPSourceParser extends XMLSourceParser implements JSPCapableParser {
-	protected class NestablePrefixHandler implements StructuredDocumentRegionHandler, StructuredDocumentRegionHandlerExtension {
-
-		private static final String XMLNS = "xmlns:";
-
-		/**
-		 * Enables a TLD owning the given prefix loaded from the given URI at
-		 * the anchorFlatNode. The list of additionalCMDocuments will claim to
-		 * not know any of its tags at positions earlier than that
-		 * IStructuredDocumentRegion's position.
-		 * 
-		 * For taglib directives, the taglib is the anchor while taglibs
-		 * registered through include directives use the primary include
-		 * directive as their anchor.
-		 */
-		protected void enableForTaglib(String prefix, IStructuredDocumentRegion anchorFlatNode) {
-			if (prefix == null)
-				return;
-			List tagmarkers = ((JSPTokenizer) getTokenizer()).getNestablePrefixes();
-			for (int i = 0; i < tagmarkers.size(); i++) {
-				if (((TagMarker) tagmarkers.get(i)).getTagName().equals(prefix))
-					return;
-			}
-			((JSPTokenizer) getTokenizer()).getNestablePrefixes().add(new TagMarker(prefix, anchorFlatNode));
-		}
-
-		public void nodeParsed(IStructuredDocumentRegion aCoreFlatNode) {
-			// could test > 1, but since we only care if there are 8 (<%@,
-			// taglib, uri, =, where, prefix, =, what) [or 4 for includes]
-			if (aCoreFlatNode.getNumberOfRegions() > 4 && aCoreFlatNode.getRegions().get(1).getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-				ITextRegion name = aCoreFlatNode.getRegions().get(1);
-				try {
-					int offset = aCoreFlatNode.getStartOffset(name);
-					int length = name.getTextLength();
-					boolean taglibdetected = false;
-					boolean taglibdirectivedetected = false;
-					if (fCharSequenceSource instanceof IRegionComparible) {
-						taglibdetected = ((IRegionComparible) fCharSequenceSource).regionMatches(offset, length, JSP12TLDNames.TAGLIB);
-						taglibdirectivedetected = ((IRegionComparible) fCharSequenceSource).regionMatches(offset, length, JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-					}
-					else {
-						// old fashioned way
-						String directiveName = getText(offset, length);
-						taglibdetected = directiveName.equals(JSP12TLDNames.TAGLIB);
-						taglibdirectivedetected = directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-					}
-					boolean processDirectiveName = taglibdetected || taglibdirectivedetected;
-					if (processDirectiveName) {
-						processTaglib(aCoreFlatNode);
-					}
-				}
-				catch (StringIndexOutOfBoundsException sioobExc) {
-					//do nothing
-				}
-			}
-			// could test > 1, but since we only care if there are 5 (<,
-			// jsp:root, xmlns:prefix, =, where)
-			else if (aCoreFlatNode.getNumberOfRegions() > 4 && (aCoreFlatNode.getRegions().get(1)).getType() == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME) {
-				processJSPRoot(aCoreFlatNode);
-			}
-		}
-
-		protected void processJSPRoot(IStructuredDocumentRegion taglibFlatNode) {
-			ITextRegionList regions = taglibFlatNode.getRegions();
-			String prefix = null;
-			boolean taglib = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					if (region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						int offset = taglibFlatNode.getStartOffset(region);
-						int length = region.getTextLength();
-
-						String name = getText(offset, length);
-						if (name.startsWith(XMLNS) && name.length() > XMLNS.length()) { //$NON-NLS-1$
-							prefix = name.substring(6);
-							taglib = true;
-						}
-						else {
-							prefix = null;
-							taglib = false;
-						}
-					}
-					else if (taglib && region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						prefix = StringUtils.strip(prefix);
-						if (prefix != null && prefix.length() > 0) {
-							enableForTaglib(prefix, taglibFlatNode);
-							prefix = null;
-						}
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				prefix = null;
-			}
-		}
-
-		/**
-		 * Pulls the prefix from the given taglib directive
-		 * IStructuredDocumentRegion and makes sure the prefix is nestable.
-		 */
-		protected void processTaglib(IStructuredDocumentRegion taglibFlatNode) {
-			ITextRegionList regions = taglibFlatNode.getRegions();
-			String prefix = null;
-			boolean prefixname = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					if (region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						if (fCharSequenceSource != null && fCharSequenceSource instanceof IRegionComparible) {
-							int offset = taglibFlatNode.getStartOffset(region);
-							int length = region.getTextLength();
-							prefixname = ((IRegionComparible) fCharSequenceSource).regionMatches(offset, length, JSP12TLDNames.PREFIX);
-						}
-						else {
-							// old fashioned way
-							prefixname = (getText(taglibFlatNode.getStartOffset(region), region.getTextLength()).equals(JSP12TLDNames.PREFIX));
-						}
-					}
-					else if (prefixname && region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						prefix = getText(taglibFlatNode.getStartOffset(region), region.getTextLength());
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				prefix = null;
-			}
-			prefix = StringUtils.strip(prefix);
-			if (prefix != null && prefix.length() > 0) {
-				enableForTaglib(prefix, taglibFlatNode);
-			}
-		}
-
-		public void resetNodes() {
-			Iterator tagmarkers = ((JSPTokenizer) getTokenizer()).getNestablePrefixes().iterator();
-			while (tagmarkers.hasNext()) {
-				if (!((TagMarker) tagmarkers.next()).isGlobal())
-					tagmarkers.remove();
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see com.ibm.sse.model.parser.StructuredDocumentRegionHandlerExtension#setStructuredDocument(com.ibm.sse.model.text.IStructuredDocument)
-		 */
-		public void setStructuredDocument(IStructuredDocument newDocument) {
-			resetNodes();
-			getStructuredDocumentRegionHandlers().remove(this);
-			if (newDocument != null && newDocument.getParser() instanceof StructuredDocumentRegionParser) {
-				((StructuredDocumentRegionParser) newDocument.getParser()).addStructuredDocumentRegionHandler(this);
-			}
-		}
-	}
-
-	/**
-	 * JSPSourceParser constructor comment.
-	 */
-	public JSPSourceParser() {
-		super();
-	}
-
-	public void addNestablePrefix(TagMarker marker) {
-		((JSPTokenizer) getTokenizer()).addNestablePrefix(marker);
-	}
-
-	public List getNestablePrefixes() {
-		return ((JSPTokenizer) getTokenizer()).getNestablePrefixes();
-	}
-
-	protected BlockTokenizer getTokenizer() {
-		if (fTokenizer == null) {
-			fTokenizer = new JSPTokenizer();
-			getStructuredDocumentRegionHandlers().add(new NestablePrefixHandler());
-		}
-		return fTokenizer;
-	}
-
-	/**
-	 * @see com.ibm.sed.parser.RegionParser#newInstance()
-	 */
-	public RegionParser newInstance() {
-		JSPSourceParser newInstance = new JSPSourceParser();
-		newInstance.setTokenizer(getTokenizer().newInstance());
-		return newInstance;
-	}
-
-	protected IStructuredDocumentRegion parseNodes() {
-		// regions are initially reported as complete offsets within the
-		// scanned input
-		// they are adjusted here to be indexes from the currentNode's start
-		// offset
-		IStructuredDocumentRegion headNode = null;
-		IStructuredDocumentRegion lastNode = null;
-		ITextRegion region = null;
-		// DMW: 2/12/03. Made current node local variable, since
-		// we changed class to not require state
-		IStructuredDocumentRegion currentNode = null;
-		String type = null;
-
-		while ((region = getNextRegion()) != null) {
-			type = region.getType();
-			// these types (might) demand a IStructuredDocumentRegion for each
-			// of them
-			if (type == XMLRegionContext.BLOCK_TEXT) {
-				if (currentNode != null && currentNode.getLastRegion().getType() == XMLRegionContext.BLOCK_TEXT) {
-					// multiple block texts indicated embedded containers; no
-					// new IStructuredDocumentRegion
-					currentNode.addRegion(region);
-					currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-					region.adjustStart(-currentNode.getStart());
-					// DW, 4/16/2003 token regions no longer have parents
-					//region.setParent(currentNode);
-					if (region instanceof ITextRegionContainer) {
-						((ITextRegionContainer) region).setParent(currentNode);
-					}
-				}
-				else {
-					// not continuing a IStructuredDocumentRegion
-					if (currentNode != null) {
-						// ensure that any existing node is at least
-						// terminated
-						if (!currentNode.isEnded()) {
-							currentNode.setLength(region.getStart() - currentNode.getStart());
-							// fCurrentNode.setTextLength(region.getStart() -
-							// fCurrentNode.getStart());
-						}
-						lastNode = currentNode;
-					}
-					fireNodeParsed(currentNode);
-					currentNode = createStructuredDocumentRegion(type);
-					if (lastNode != null) {
-						lastNode.setNext(currentNode);
-					}
-					currentNode.setPrevious(lastNode);
-					currentNode.setStart(region.getStart());
-					currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-					currentNode.setEnded(true);
-					region.adjustStart(-currentNode.getStart());
-					currentNode.addRegion(region);
-					// DW, 4/16/2003 token regions no longer have parents
-					//region.setParent(currentNode);
-					if (region instanceof ITextRegionContainer) {
-						((ITextRegionContainer) region).setParent(currentNode);
-					}
-
-				}
-			}
-			// the following contexts OPEN new StructuredDocumentRegions
-			else if ((currentNode != null && currentNode.isEnded()) || (type == XMLRegionContext.XML_CONTENT) || (type == XMLRegionContext.XML_CHAR_REFERENCE) || (type == XMLRegionContext.XML_ENTITY_REFERENCE)
-						|| (type == XMLRegionContext.XML_PI_OPEN) || (type == XMLRegionContext.XML_TAG_OPEN) || (type == XMLRegionContext.XML_END_TAG_OPEN) || (type == XMLRegionContext.XML_COMMENT_OPEN) || (type == XMLRegionContext.XML_CDATA_OPEN)
-						|| (type == XMLRegionContext.XML_DECLARATION_OPEN) || (type == XMLJSPRegionContexts.JSP_COMMENT_OPEN) || (type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN) || (type == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN)
-						|| (type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN) || (type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (type == XMLJSPRegionContexts.JSP_CLOSE) || type == XMLJSPRegionContexts.JSP_EL_OPEN) {
-				if (currentNode != null) {
-					// ensure that any existing node is at least terminated
-					if (!currentNode.isEnded()) {
-						currentNode.setLength(region.getStart() - currentNode.getStart());
-						// fCurrentNode.setTextLength(region.getStart() -
-						// fCurrentNode.getStart());
-					}
-					lastNode = currentNode;
-				}
-				fireNodeParsed(currentNode);
-				currentNode = createStructuredDocumentRegion(type);
-				if (lastNode != null) {
-					lastNode.setNext(currentNode);
-				}
-				currentNode.setPrevious(lastNode);
-				currentNode.setStart(region.getStart());
-				currentNode.addRegion(region);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				region.adjustStart(-currentNode.getStart());
-				// DW, 4/16/2003 token regions no longer have parents
-				//region.setParent(currentNode);
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-
-			}
-			// the following contexts NEITHER open nor close
-			// StructuredDocumentRegions; just add to them
-			else if ((type == XMLRegionContext.XML_TAG_NAME) || (type == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) || (type == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) || (type == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-						|| (type == XMLRegionContext.XML_COMMENT_TEXT) || (type == XMLRegionContext.XML_PI_CONTENT) || (type == XMLRegionContext.XML_DOCTYPE_INTERNAL_SUBSET) || (type == XMLJSPRegionContexts.JSP_COMMENT_TEXT)
-						|| (type == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME) || (type == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) || type == XMLJSPRegionContexts.JSP_EL_CONTENT) {
-				currentNode.addRegion(region);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				region.adjustStart(-currentNode.getStart());
-				// DW, 4/16/2003 token regions no longer have parents
-				//region.setParent(currentNode);
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-			}
-			// the following contexts close off StructuredDocumentRegions
-			// cleanly
-			else if ((type == XMLRegionContext.XML_PI_CLOSE) || (type == XMLRegionContext.XML_TAG_CLOSE) || (type == XMLRegionContext.XML_EMPTY_TAG_CLOSE) || (type == XMLRegionContext.XML_COMMENT_CLOSE) || (type == XMLRegionContext.XML_CDATA_CLOSE)
-						|| (type == XMLJSPRegionContexts.JSP_CLOSE) || (type == XMLJSPRegionContexts.JSP_COMMENT_CLOSE) || (type == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE) || (type == XMLRegionContext.XML_DECLARATION_CLOSE)
-						|| type == XMLJSPRegionContexts.JSP_EL_CLOSE) {
-				currentNode.setEnded(true);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				currentNode.addRegion(region);
-				region.adjustStart(-currentNode.getStart());
-				// DW, 4/16/2003 token regions no longer have parents
-				//region.setParent(currentNode);
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-			}
-			// this is extremely rare, but valid
-			else if (type == XMLRegionContext.WHITE_SPACE) {
-				ITextRegion lastRegion = currentNode.getLastRegion();
-				// pack the embedded container with this region
-				if (lastRegion instanceof ITextRegionContainer) {
-					ITextRegionContainer container = (ITextRegionContainer) lastRegion;
-					container.getRegions().add(region);
-					// DW, 4/16/2003 container regions have parent. Probably a
-					// better place to set,
-					// but for now, will (re)set each time through
-					container.setParent(currentNode);
-					// DW, 4/16/2003 token regions no longer have parents
-					//region.setParent(container);
-					region.adjustStart(container.getLength() - region.getStart());
-				}
-				currentNode.getLastRegion().adjustLengthWith(region.getLength());
-				currentNode.adjustLengthWith(region.getLength());
-			}
-			else if (type == XMLRegionContext.UNDEFINED && currentNode != null) {
-				// skip on a very-first region situation as the default
-				// behavior is good enough
-				// combine with previous if also undefined
-				if (currentNode.getLastRegion() != null && currentNode.getLastRegion().getType() == XMLRegionContext.UNDEFINED) {
-					currentNode.getLastRegion().adjustLengthWith(region.getLength());
-					currentNode.adjustLengthWith(region.getLength());
-				}
-				// previous wasn't undefined
-				else {
-					currentNode.addRegion(region);
-					currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-					region.adjustStart(-currentNode.getStart());
-				}
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-			}
-			else {
-				// if an unknown type is the first region in the document,
-				// ensure that a node exists
-				if (currentNode == null) {
-					currentNode = createStructuredDocumentRegion(type);
-					currentNode.setStart(region.getStart());
-				}
-				currentNode.addRegion(region);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				region.adjustStart(-currentNode.getStart());
-				// DW, 4/16/2003 token regions no longer have parents
-				//region.setParent(currentNode);
-				if (region instanceof ITextRegionContainer) {
-					((ITextRegionContainer) region).setParent(currentNode);
-				}
-
-				if (Debug.debugTokenizer)
-					System.out.println(getClass().getName() + " found region of not specifically handled type " + region.getType() + " @ " + region.getStart() + "[" + region.getLength() + "]");//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-
-			}
-
-			// these regions also get their own node, so close them cleanly
-			// NOTE: these regions have new StructuredDocumentRegions created
-			// for them above; it may
-			// be more readable if that is handled here as well, but the
-			// current layout
-			// ensures that they open StructuredDocumentRegions the same way
-			if ((type == XMLRegionContext.XML_CONTENT) || (type == XMLRegionContext.XML_CHAR_REFERENCE) || (type == XMLRegionContext.XML_ENTITY_REFERENCE) || (type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN)
-						|| (type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN) || (type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (type == XMLJSPRegionContexts.JSP_CONTENT) || (type == XMLJSPRegionContexts.JSP_CLOSE)) {
-				currentNode.setEnded(true);
-			}
-			if (headNode == null && currentNode != null) {
-				headNode = currentNode;
-			}
-		}
-		if (currentNode != null) {
-			fireNodeParsed(currentNode);
-			currentNode.setPrevious(lastNode);
-		}
-		primReset();
-		return headNode;
-	}
-
-	public void removeNestablePrefix(String tagName) {
-		((JSPTokenizer) getTokenizer()).removeNestablePrefix(tagName);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPParserRegionFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPParserRegionFactory.java
deleted file mode 100644
index 14c2791..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPParserRegionFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * 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.internal.parser.internal;
-
-import org.eclipse.jst.jsp.core.internal.parser.JSPCodeRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.internal.parser.regions.XMLParserRegionFactory;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-
-/**
- * 
- * This region factory is very specific to the parser output, 
- * and the specific implementation classes for various regions.
- */
-public class JSPParserRegionFactory extends XMLParserRegionFactory {
-	public JSPParserRegionFactory() {
-		super();
-	}
-
-	public ITextRegion createToken(String context, int start, int textLength, int length, String lang, String surroundingTag) {
-		ITextRegion newRegion = null;
-		if (context == XMLJSPRegionContexts.JSP_CONTENT) {
-			newRegion = new JSPCodeRegion(context, start, textLength, length);
-		}
-		else
-			newRegion = super.createToken(context, start, textLength, length, lang, surroundingTag);
-		return newRegion;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPStructuredRegionFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPStructuredRegionFactory.java
deleted file mode 100644
index 8e0770e..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPStructuredRegionFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.internal.parser.internal;
-
-import org.eclipse.jst.jsp.core.internal.parser.JSPDirectiveStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.internal.parser.XMLStructuredRegionFactory;
-
-/**
- * A simple class to generate instances of StructuredRegions. 
- */
-public class JSPStructuredRegionFactory extends XMLStructuredRegionFactory {
-
-	public static IStructuredDocumentRegion createRegion(int type) {
-		IStructuredDocumentRegion instance = null;
-		switch (type) {
-			case JSP_DIRECTIVE :
-				instance = new JSPDirectiveStructuredDocumentRegion();
-				break;
-			default :
-				instance = XMLStructuredRegionFactory.createRegion(type);
-		}
-		return instance;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java
deleted file mode 100644
index bed904d..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java
+++ /dev/null
@@ -1,3599 +0,0 @@
-/* The following code was generated by JFlex 1.2.2 on 1/27/05 4:49 PM */
-
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.internal.parser.internal;
-
-import java.io.CharArrayReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.BlockTokenizer;
-import org.eclipse.wst.sse.core.parser.TagMarker;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.parser.ContextRegionContainer;
-import org.eclipse.wst.xml.core.internal.parser.IntStack;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 1/27/05 4:49 PM from the specification file
- * <tt>file:/D:/eclipse.wtp/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex</tt>
- */
-public class JSPTokenizer implements BlockTokenizer, XMLJSPRegionContexts {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int ST_JSP_VBL_DQUOTES = 52;
-  final public static int ST_JSP_VBL_SQUOTES = 51;
-  final public static int ST_JSP_VBL_SQUOTES_END = 53;
-  final public static int ST_XML_COMMENT_END = 4;
-  final public static int ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE = 21;
-  final public static int ST_JSP_EL_SQUOTES_END = 46;
-  final public static int ST_JSP_EL_DQUOTES = 45;
-  final public static int ST_JSP_EL = 43;
-  final public static int ST_BLOCK_TAG_SCAN = 36;
-  final public static int ST_JSP_EL_SQUOTES = 44;
-  final public static int ST_DHTML_ATTRIBUTE_VALUE = 14;
-  final public static int ST_XML_PI_ATTRIBUTE_NAME = 8;
-  final public static int ST_DHTML_TAG_CLOSE = 15;
-  final public static int ST_XML_ATTRIBUTE_VALUE_DQUOTED = 41;
-  final public static int ST_DHTML_EQUALS = 13;
-  final public static int ST_XML_PI_ATTRIBUTE_VALUE = 10;
-  final public static int ST_XML_ATTRIBUTE_VALUE = 25;
-  final public static int ST_JSP_VBL = 50;
-  final public static int ST_JSP_SQUOTED_VBL = 56;
-  final public static int ST_XML_ATTRIBUTE_VALUE_SQUOTED = 40;
-  final public static int ST_XML_ATTRIBUTE_NAME = 23;
-  final public static int ST_XML_EQUALS = 24;
-  final public static int YYINITIAL = 0;
-  final public static int ST_JSP_DIRECTIVE_ATTRIBUTE_NAME = 19;
-  final public static int ST_JSP_CONTENT = 16;
-  final public static int ST_XML_DOCTYPE_ID_SYSTEM = 31;
-  final public static int ST_XML_ELEMENT_DECLARATION = 32;
-  final public static int ST_XML_DECLARATION_CLOSE = 27;
-  final public static int ST_JSP_DIRECTIVE_EQUALS = 20;
-  final public static int ST_JSP_VBL_DQUOTES_END = 54;
-  final public static int ST_JSP_DQUOTED_EL = 48;
-  final public static int ST_XML_DOCTYPE_DECLARATION = 28;
-  final public static int ST_CDATA_END = 2;
-  final public static int ST_PI_WS = 6;
-  final public static int ST_CDATA_TEXT = 1;
-  final public static int ST_JSP_DIRECTIVE_NAME_WHITESPACE = 18;
-  final public static int ST_XML_ELEMENT_DECLARATION_CONTENT = 33;
-  final public static int ST_XML_ATTLIST_DECLARATION = 34;
-  final public static int ST_JSP_EL_DQUOTES_END = 47;
-  final public static int ST_JSP_SQUOTED_EL = 49;
-  final public static int ST_JSP_COMMENT_END = 39;
-  final public static int ST_XML_PI_EQUALS = 9;
-  final public static int ST_XML_ATTLIST_DECLARATION_CONTENT = 35;
-  final public static int ST_XML_DOCTYPE_ID_PUBLIC = 30;
-  final public static int ST_JSP_DQUOTED_VBL = 55;
-  final public static int ST_DHTML_ATTRIBUTE_NAME = 12;
-  final public static int ST_ABORT_EMBEDDED = 42;
-  final public static int ST_XML_DOCTYPE_EXTERNAL_ID = 29;
-  final public static int ST_JSP_COMMENT = 38;
-  final public static int ST_PI_CONTENT = 7;
-  final public static int ST_BLOCK_TAG_INTERNAL_SCAN = 37;
-  final public static int ST_PI = 5;
-  final public static int ST_XML_DECLARATION = 26;
-  final public static int ST_JSP_DIRECTIVE_NAME = 17;
-  final public static int ST_XML_TAG_NAME = 22;
-  final public static int ST_XML_PI_TAG_CLOSE = 11;
-  final public static int ST_XML_COMMENT = 3;
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\5\1\26\2\0\1\17\22\0\1\17\1\25\1\12\1\63"+
-    "\1\15\1\22\1\13\1\14\1\24\1\24\1\24\1\24\1\24\1\7"+
-    "\1\6\1\3\12\20\1\11\1\70\1\1\1\50\1\2\1\4\1\21"+
-    "\1\37\1\71\1\35\1\36\1\54\1\66\1\60\1\60\1\61\1\60"+
-    "\1\60\1\32\1\31\1\62\1\51\1\53\1\60\1\65\1\64\1\40"+
-    "\1\67\2\60\1\27\1\52\1\60\1\34\1\102\1\23\1\0\1\10"+
-    "\1\0\1\56\1\101\1\72\1\57\1\42\1\66\1\73\1\60\1\45"+
-    "\1\76\1\60\1\33\1\31\1\47\1\46\1\77\1\60\1\43\1\44"+
-    "\1\55\1\100\1\41\1\60\1\30\1\52\1\60\1\16\1\0\1\103"+
-    "\71\0\1\75\10\0\27\74\1\0\37\74\1\0\72\74\2\0\13\74"+
-    "\2\0\10\74\1\0\65\74\1\0\104\74\11\0\44\74\3\0\2\74"+
-    "\4\0\36\74\70\0\131\74\22\0\7\74\16\0\2\75\56\0\106\75"+
-    "\32\0\2\75\44\0\1\74\1\75\3\74\1\0\1\74\1\0\24\74"+
-    "\1\0\54\74\1\0\7\74\3\0\1\74\1\0\1\74\1\0\1\74"+
-    "\1\0\1\74\1\0\22\74\15\0\14\74\1\0\102\74\1\0\14\74"+
-    "\1\0\44\74\1\0\4\75\11\0\65\74\2\0\2\74\2\0\2\74"+
-    "\3\0\34\74\2\0\10\74\2\0\2\74\67\0\46\74\2\0\1\74"+
-    "\7\0\46\74\12\0\21\75\1\0\27\75\1\0\3\75\1\0\1\75"+
-    "\1\0\2\75\1\0\1\75\13\0\33\74\5\0\3\74\56\0\32\74"+
-    "\5\0\1\75\12\74\10\75\15\0\12\75\6\0\1\75\107\74\2\0"+
-    "\5\74\1\0\17\74\1\0\4\74\1\0\1\74\17\75\2\74\2\75"+
-    "\1\0\4\75\2\0\12\75\u0207\0\3\75\1\0\65\74\2\0\1\75"+
-    "\1\74\20\75\3\0\4\75\3\0\12\74\2\75\2\0\12\75\21\0"+
-    "\3\75\1\0\10\74\2\0\2\74\2\0\26\74\1\0\7\74\1\0"+
-    "\1\74\3\0\4\74\2\0\1\75\1\0\7\75\2\0\2\75\2\0"+
-    "\3\75\11\0\1\75\4\0\2\74\1\0\3\74\2\75\2\0\12\75"+
-    "\2\74\20\0\1\75\2\0\6\74\4\0\2\74\2\0\26\74\1\0"+
-    "\7\74\1\0\2\74\1\0\2\74\1\0\2\74\2\0\1\75\1\0"+
-    "\5\75\4\0\2\75\2\0\3\75\13\0\4\74\1\0\1\74\7\0"+
-    "\12\75\2\75\3\74\14\0\3\75\1\0\7\74\1\0\1\74\1\0"+
-    "\3\74\1\0\26\74\1\0\7\74\1\0\2\74\1\0\5\74\2\0"+
-    "\1\75\1\74\10\75\1\0\3\75\1\0\3\75\22\0\1\74\5\0"+
-    "\12\75\21\0\3\75\1\0\10\74\2\0\2\74\2\0\26\74\1\0"+
-    "\7\74\1\0\2\74\2\0\4\74\2\0\1\75\1\74\6\75\3\0"+
-    "\2\75\2\0\3\75\10\0\2\75\4\0\2\74\1\0\3\74\4\0"+
-    "\12\75\22\0\2\75\1\0\6\74\3\0\3\74\1\0\4\74\3\0"+
-    "\2\74\1\0\1\74\1\0\2\74\3\0\2\74\3\0\3\74\3\0"+
-    "\10\74\1\0\3\74\4\0\5\75\3\0\3\75\1\0\4\75\11\0"+
-    "\1\75\17\0\11\75\21\0\3\75\1\0\10\74\1\0\3\74\1\0"+
-    "\27\74\1\0\12\74\1\0\5\74\4\0\7\75\1\0\3\75\1\0"+
-    "\4\75\7\0\2\75\11\0\2\74\4\0\12\75\22\0\2\75\1\0"+
-    "\10\74\1\0\3\74\1\0\27\74\1\0\12\74\1\0\5\74\4\0"+
-    "\7\75\1\0\3\75\1\0\4\75\7\0\2\75\7\0\1\74\1\0"+
-    "\2\74\4\0\12\75\22\0\2\75\1\0\10\74\1\0\3\74\1\0"+
-    "\27\74\1\0\20\74\4\0\6\75\2\0\3\75\1\0\4\75\11\0"+
-    "\1\75\10\0\2\74\4\0\12\75\221\0\56\74\1\0\1\74\1\75"+
-    "\2\74\7\75\5\0\6\74\1\75\10\75\1\0\12\75\47\0\2\74"+
-    "\1\0\1\74\2\0\2\74\1\0\1\74\2\0\1\74\6\0\4\74"+
-    "\1\0\7\74\1\0\3\74\1\0\1\74\1\0\1\74\2\0\2\74"+
-    "\1\0\2\74\1\0\1\74\1\75\2\74\6\75\1\0\2\75\1\74"+
-    "\2\0\5\74\1\0\1\75\1\0\6\75\2\0\12\75\76\0\2\75"+
-    "\6\0\12\75\13\0\1\75\1\0\1\75\1\0\1\75\4\0\2\75"+
-    "\10\74\1\0\41\74\7\0\24\75\1\0\6\75\4\0\6\75\1\0"+
-    "\1\75\1\0\25\75\3\0\7\75\1\0\1\75\346\0\46\74\12\0"+
-    "\47\74\11\0\1\74\1\0\2\74\1\0\3\74\1\0\1\74\1\0"+
-    "\2\74\1\0\5\74\51\0\1\74\1\0\1\74\1\0\1\74\13\0"+
-    "\1\74\1\0\1\74\1\0\1\74\3\0\2\74\3\0\1\74\5\0"+
-    "\3\74\1\0\1\74\1\0\1\74\1\0\1\74\1\0\1\74\3\0"+
-    "\2\74\3\0\2\74\1\0\1\74\50\0\1\74\11\0\1\74\2\0"+
-    "\1\74\2\0\2\74\7\0\2\74\1\0\1\74\1\0\7\74\50\0"+
-    "\1\74\4\0\1\74\10\0\1\74\u0c06\0\234\74\4\0\132\74\6\0"+
-    "\26\74\2\0\6\74\2\0\46\74\2\0\6\74\2\0\10\74\1\0"+
-    "\1\74\1\0\1\74\1\0\1\74\1\0\37\74\2\0\65\74\1\0"+
-    "\7\74\1\0\1\74\3\0\3\74\1\0\7\74\3\0\4\74\2\0"+
-    "\6\74\4\0\15\74\5\0\3\74\1\0\7\74\323\0\15\75\4\0"+
-    "\1\75\104\0\1\74\3\0\2\74\2\0\1\74\121\0\3\74\u0e82\0"+
-    "\1\75\1\0\1\74\31\0\11\74\6\75\1\0\5\75\13\0\124\74"+
-    "\4\0\2\75\2\0\2\75\2\0\132\74\1\0\3\75\6\0\50\74"+
-    "\u1cd3\0\u51a6\74\u0c5a\0\u2ba4\74\134\0\u0800\0\u1ffe\0\2\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  final private static int yy_rowMap [] = { 
-        0,    68,   136,   204,   272,   340,   408,   476,   544,   612, 
-      680,   748,   816,   884,   952,  1020,  1088,  1156,  1224,  1292, 
-     1360,  1428,  1496,  1564,  1632,  1700,  1768,  1836,  1904,  1972, 
-     2040,  2108,  2176,  2244,  2312,  2380,  2448,  2516,  2584,  2652, 
-     2720,  2788,  2856,  2924,  2992,  3060,  3128,  3196,  3264,  3332, 
-     3400,  3468,  3536,  3604,  3672,  3740,  3808,  3876,  3944,  4012, 
-     4080,  4148,  4216,  4284,  4352,  4284,  4352,  4420,  4284,  4284, 
-     4352,  4488,  4556,  4624,  4692,  4760,  4828,  4896,  4284,  4352, 
-     4964,  5032,  5100,  4284,  5168,  5168,  5236,  5304,  5372,  4964, 
-     4284,  5440,  5508,  4284,  5576,  5644,  5712,  5780,  4284,  4352, 
-     5848,  5916,  5984,  6052,  6120,  6188,  4284,  6256,  6256,  6324, 
-     6392,  6460,  6528,  6596,  4284,  6664,  6732,  6800,  6868,  6936, 
-     7004,  4284,  7072,  7140,  7208,  7276,  7344,  7412,  7480,  7548, 
-     4284,  7616,  7684,  7752,  7820,  7888,  7956,  8024,  8092,  8092, 
-     8160,  8228,  8296,  8364,  8364,  8432,  8500,  8568,  8636,  8636, 
-     8704,  8772,  8840,  8908,  4284,  8976,  8976,  9044,  9112,  9180, 
-     9248,  4284,  4284,  4352,  9316,  4284,  4352,  9384,  9452,  9520, 
-     9588,  4284,  9656,  9724,  9792,  9860,  4284,  9928,  9996, 10064, 
-    10132,  4284,  4284, 10200,  4284, 10268, 10336, 10268, 10404, 10472, 
-    10404,  4284,  4284, 10540, 10608, 10676,  4284, 10744, 10812, 10880, 
-    10948, 11016,  4284,  4284, 11084,  4284, 11152, 11220, 11152, 11288, 
-    11356, 11288,  4284,  4284, 11424, 11492, 11560,  4284, 11628, 11696, 
-    11764,  4284,  4284, 11832, 11900, 11968, 12036, 12104,  4284, 12172, 
-    12240, 12308, 12376, 12444, 12512, 12580, 12648, 12716,  4284, 12784, 
-    12852,  4284,  4284,  5168,  5304,  4284, 12920,  5372, 12988,  5440, 
-     5576,  5644, 13056,  5712,  4284, 13124, 13192,  5780, 13260,  4284, 
-    11900,  4284,  6256,  6324,  4284, 13328,  6392, 13396,  4284, 13464, 
-    13532,  7072, 13600,  7276,  4284, 13668,  7344, 13736, 13804, 13872, 
-    13940, 14008, 14076,  7820,  4284, 14144, 14212,  8092,  8160,  4284, 
-    14280, 14348, 14416, 14484, 14552,  8296,  8092,  8364,  8432,  4284, 
-     8500,  8568,  8364,  8636,  8704,  4284, 14620, 14688, 14756, 14824, 
-    14892, 14960, 15028,  8976,  9044,  4284, 15096, 15164, 15232, 15300, 
-    15368, 15436, 15504, 15572, 15640, 15708,  4284,  4284,  4284, 15776, 
-     4284,  4284, 15844, 15912, 15980, 16048, 10268,  4284, 16116, 16184, 
-    10404,  4284, 16252, 16320, 16388, 16456, 16524, 16592, 16660, 16728, 
-    16796, 10948, 11152,  4284, 16864, 16932, 11288,  4284, 17000, 17068, 
-    17136, 17204, 17272, 17340, 17408, 17476, 17544,  4284,  4284,  4284, 
-    17612, 17680, 17748, 17816, 17884,  4284, 17952, 18020,  4284,  4284, 
-     4284,  4284,  4284,  4692, 18088, 18156, 18224, 18292, 18360, 18428, 
-    18360, 18496, 18564, 18496, 18632, 18700, 18768, 18836, 18904, 18972, 
-    19040, 19040, 19108, 19176, 19176,  8840,  8840, 19244, 19312, 19380, 
-    19380,  9180,  9180, 19448, 19516, 19584, 15980, 10064, 10064, 19652, 
-    10268, 10268, 19720, 10404, 10404, 19788, 10540, 10540, 16524, 19856, 
-    10744, 10744, 16728, 19924, 10948, 10948, 11152, 11152, 19992, 11288, 
-    11288, 20060, 11424, 11424, 17272, 20128, 11628, 11628, 17476, 20196, 
-     4284,  4284, 20264, 20332,  4284, 20400, 20468, 20536,  7072,  4284, 
-     4284, 20604, 20672, 20740, 20808, 20876, 14484, 14824, 20944, 15300, 
-    21012,  4284,  4284, 21080, 21148, 21216,  4284, 21284, 21352, 21420, 
-    21488,  4284, 21556, 21624, 21692, 21760, 21828, 21896, 21964, 22032, 
-    22100, 22168, 22236, 22304, 22372, 22440, 22508, 22576, 22644, 22712, 
-    22780, 22848, 22916,  4692, 22984, 23052, 23120, 23188, 23256,  4284, 
-     4284, 23324, 23392, 23460, 23528, 16524, 16728, 23596, 23664, 17272, 
-    17476, 23732, 23800, 23868,  4284,  4284,  4284, 23936, 24004, 24072, 
-    24140, 24208, 24276, 24344,  6800, 24412, 24480, 24548, 24616, 24684, 
-    24752, 24820,  4284, 24888,  8840,  9180, 10268, 10404, 11152, 11288, 
-    24956, 25024, 25092, 25160, 25228, 25296, 25364, 25432, 25500, 25568, 
-    25636, 25704, 25772, 25840, 25908, 25976, 26044, 26112, 26180, 26248, 
-    26316, 26384, 26452, 26520, 26588, 26656, 26724, 26792, 26860, 26928, 
-    26996, 27064, 27132, 27200, 27268, 27336, 27404, 27472, 27540, 27608, 
-     4284, 27676, 27744, 27812, 27880,  6800, 27948, 28016, 28084, 28152, 
-    28220, 28288, 28356, 28424, 28492, 28560, 28628, 28696, 28764, 28832
-  };
-
-  /** 
-   * The packed transition table of the DFA
-   */
-  final private static String yy_packed = 
-    "\1\72\1\73\11\72\1\74\1\72\1\75\4\72\1\76"+
-    "\40\72\1\77\20\72\1\100\1\101\102\100\1\102\1\103"+
-    "\21\102\1\104\2\102\1\105\55\102\1\106\1\107\102\106"+
-    "\1\102\1\103\5\102\1\110\16\102\1\105\56\102\1\103"+
-    "\2\102\1\111\1\112\2\102\2\113\5\102\1\112\6\102"+
-    "\1\112\2\114\3\113\1\102\10\113\1\115\2\113\1\102"+
-    "\10\113\1\115\1\113\1\102\4\113\1\102\4\113\1\102"+
-    "\4\113\3\102\1\103\2\102\1\111\1\116\11\102\1\116"+
-    "\6\102\1\116\55\102\1\117\1\120\2\117\1\121\21\117"+
-    "\1\105\55\117\1\102\1\103\2\102\1\122\1\112\2\102"+
-    "\2\123\5\102\1\112\6\102\1\112\5\123\1\102\13\123"+
-    "\1\102\12\123\1\102\4\123\1\102\4\123\1\102\4\123"+
-    "\3\102\1\103\2\102\1\122\1\112\2\102\2\123\5\102"+
-    "\1\112\6\102\1\112\5\123\1\102\13\123\1\124\12\123"+
-    "\1\102\4\123\1\102\4\123\1\102\4\123\2\102\1\125"+
-    "\1\103\1\102\1\126\1\127\1\112\4\125\1\130\1\125"+
-    "\1\131\2\125\1\112\6\125\1\112\55\125\1\102\1\103"+
-    "\2\102\1\132\21\102\1\105\56\102\1\103\1\133\1\134"+
-    "\1\102\1\112\2\102\2\135\5\102\1\112\6\102\1\112"+
-    "\5\135\1\102\13\135\1\102\12\135\1\102\4\135\1\102"+
-    "\4\135\1\102\4\135\3\102\1\103\1\133\1\134\1\102"+
-    "\1\112\2\102\2\135\5\102\1\112\6\102\1\112\5\135"+
-    "\1\102\13\135\1\136\12\135\1\102\4\135\1\102\4\135"+
-    "\1\102\4\135\2\102\1\137\1\103\1\133\1\140\1\137"+
-    "\1\112\4\137\1\141\1\137\1\142\2\137\1\112\6\137"+
-    "\1\112\55\137\1\102\1\103\3\102\1\112\11\102\1\112"+
-    "\6\102\1\112\55\102\1\143\1\144\20\143\1\145\3\143"+
-    "\1\105\55\143\1\102\1\146\3\102\1\112\2\102\2\147"+
-    "\5\102\1\112\2\102\1\150\3\102\1\112\5\147\1\102"+
-    "\13\147\1\102\12\147\1\102\4\147\1\102\4\147\1\102"+
-    "\4\147\3\102\1\146\3\102\1\151\11\102\1\151\2\102"+
-    "\1\150\3\102\1\151\56\102\1\146\3\102\1\112\2\102"+
-    "\2\152\5\102\1\112\2\102\1\150\3\102\1\112\5\152"+
-    "\1\102\13\152\1\102\12\152\1\102\4\152\1\102\4\152"+
-    "\1\102\4\152\3\102\1\146\3\102\1\112\2\102\2\152"+
-    "\5\102\1\112\2\102\1\150\3\102\1\112\5\152\1\102"+
-    "\13\152\1\153\12\152\1\102\4\152\1\102\4\152\1\102"+
-    "\4\152\2\102\1\154\1\146\1\102\1\155\1\154\1\112"+
-    "\4\154\1\156\1\154\1\157\2\154\1\112\2\154\1\160"+
-    "\3\154\1\112\55\154\1\161\1\162\1\163\1\164\4\161"+
-    "\2\165\15\161\5\166\1\161\13\166\1\161\12\166\1\161"+
-    "\4\166\1\161\4\166\1\161\1\167\3\166\2\161\1\102"+
-    "\1\170\1\163\1\164\1\102\1\112\2\102\2\171\5\102"+
-    "\1\112\6\102\1\112\5\171\1\102\13\171\1\102\12\171"+
-    "\1\102\4\171\1\102\4\171\1\102\4\171\3\102\1\170"+
-    "\1\163\1\164\1\102\1\112\2\102\2\171\5\102\1\112"+
-    "\6\102\1\112\5\171\1\102\13\171\1\172\12\171\1\102"+
-    "\4\171\1\102\4\171\1\102\4\171\2\102\1\173\1\174"+
-    "\1\163\1\175\1\173\1\112\4\173\1\176\1\173\1\177"+
-    "\1\200\1\173\1\112\6\173\1\112\34\173\1\201\20\173"+
-    "\1\102\1\202\1\203\2\102\1\112\11\102\1\112\6\102"+
-    "\1\112\7\102\1\204\1\205\2\102\1\206\11\102\1\206"+
-    "\1\102\1\205\1\204\25\102\1\103\1\203\2\102\1\112"+
-    "\11\102\1\112\6\102\1\112\5\102\1\207\50\102\1\103"+
-    "\1\203\2\102\1\112\2\102\2\210\5\102\1\112\6\102"+
-    "\1\112\5\210\1\207\13\210\1\102\12\210\1\102\4\210"+
-    "\1\102\4\210\1\102\4\210\3\102\1\103\1\203\2\102"+
-    "\1\112\11\102\1\112\6\102\1\112\5\102\1\207\7\102"+
-    "\1\211\6\102\1\212\10\102\1\211\12\102\1\212\4\102"+
-    "\1\213\1\103\1\203\1\214\1\213\1\112\4\213\1\215"+
-    "\1\213\1\216\2\213\1\112\6\213\1\112\5\213\1\217"+
-    "\47\213\1\220\1\103\1\203\1\221\1\220\1\112\4\220"+
-    "\1\222\1\220\1\223\2\220\1\112\6\220\1\112\5\220"+
-    "\1\224\47\220\1\225\1\103\1\203\1\226\1\225\1\112"+
-    "\4\225\1\227\1\225\1\230\2\225\1\112\6\225\1\112"+
-    "\55\225\1\231\1\232\1\233\101\231\1\234\1\103\1\203"+
-    "\1\235\1\234\1\112\4\234\1\236\1\234\1\237\2\234"+
-    "\1\112\6\234\1\112\55\234\1\240\1\241\1\242\101\240"+
-    "\1\243\1\244\102\243\1\102\1\245\24\102\1\105\55\102"+
-    "\1\246\1\247\102\246\1\102\1\103\5\102\1\250\16\102"+
-    "\1\105\55\102\1\251\1\252\3\251\1\253\6\251\1\254"+
-    "\1\255\1\251\1\253\6\251\1\253\34\251\1\256\20\251"+
-    "\1\257\1\252\3\257\1\260\4\257\1\261\2\257\1\262"+
-    "\1\257\1\260\6\257\1\260\34\257\1\263\20\257\1\102"+
-    "\1\103\24\102\1\105\55\102\1\264\1\265\10\264\1\266"+
-    "\1\264\1\267\1\270\65\264\1\271\1\272\1\273\12\272"+
-    "\1\102\11\272\1\274\55\272\1\275\1\276\10\275\1\102"+
-    "\13\275\1\277\55\275\1\102\1\103\12\102\1\300\11\102"+
-    "\1\105\56\102\1\103\10\102\1\301\13\102\1\105\55\102"+
-    "\1\302\1\303\10\302\1\261\67\302\1\304\1\305\1\306"+
-    "\1\307\12\306\1\254\65\306\1\310\1\305\1\311\1\312"+
-    "\10\311\1\313\1\311\1\314\46\311\1\315\17\311\1\316"+
-    "\1\317\1\320\12\317\1\102\11\317\1\321\55\317\1\322"+
-    "\1\323\10\322\1\102\13\322\1\324\55\322\1\102\1\103"+
-    "\12\102\1\325\11\102\1\105\56\102\1\103\10\102\1\326"+
-    "\13\102\1\105\55\102\1\327\1\330\10\327\1\261\67\327"+
-    "\1\331\1\332\1\333\1\334\12\333\1\254\65\333\1\335"+
-    "\1\332\1\72\1\0\11\72\1\0\1\72\1\0\4\72"+
-    "\1\0\40\72\1\0\20\72\3\0\1\336\1\337\15\0"+
-    "\1\340\2\0\1\341\63\0\1\342\2\0\2\343\5\0"+
-    "\1\342\6\0\1\342\5\343\1\0\13\343\1\0\12\343"+
-    "\1\344\4\343\1\0\4\343\1\0\4\343\2\0\1\345"+
-    "\1\0\11\345\1\0\1\345\1\346\1\347\3\345\1\0"+
-    "\61\345\5\0\1\342\2\0\2\350\5\0\1\342\6\0"+
-    "\1\342\5\350\1\0\13\350\1\0\12\350\1\0\4\350"+
-    "\1\0\4\350\1\0\4\350\2\0\1\345\1\0\11\345"+
-    "\1\0\2\345\1\351\3\345\1\0\40\345\1\352\20\345"+
-    "\126\0\1\353\2\0\1\354\101\0\1\355\67\0\1\356"+
-    "\76\0\1\357\106\0\1\112\11\0\1\112\6\0\1\112"+
-    "\63\0\4\113\6\0\1\113\6\0\5\113\1\0\13\113"+
-    "\1\0\12\113\1\0\4\113\1\0\11\113\10\0\4\113"+
-    "\6\0\1\113\6\0\2\113\1\360\2\113\1\0\13\113"+
-    "\1\0\12\113\1\0\4\113\1\0\11\113\10\0\4\113"+
-    "\6\0\1\113\6\0\2\113\1\361\2\113\1\0\13\113"+
-    "\1\0\12\113\1\0\4\113\1\0\11\113\7\0\1\116"+
-    "\11\0\1\116\6\0\1\116\57\0\1\362\103\0\1\363"+
-    "\107\0\4\123\6\0\1\123\6\0\5\123\1\0\13\123"+
-    "\1\0\12\123\1\0\4\123\1\0\11\123\2\0\1\125"+
-    "\2\0\1\364\1\125\1\0\4\125\1\0\1\125\1\0"+
-    "\2\125\1\0\6\125\1\0\56\125\1\0\1\363\1\364"+
-    "\1\125\1\0\4\125\1\0\1\125\1\0\2\125\1\0"+
-    "\6\125\1\0\55\125\1\365\1\0\10\365\1\366\2\365"+
-    "\1\367\45\365\1\367\20\365\1\370\1\0\12\370\1\366"+
-    "\1\371\45\370\1\371\20\370\2\0\1\133\1\372\106\0"+
-    "\4\135\6\0\1\135\6\0\5\135\1\0\13\135\1\0"+
-    "\12\135\1\0\4\135\1\0\11\135\2\0\1\137\2\0"+
-    "\1\373\1\137\1\0\4\137\1\0\1\137\1\0\2\137"+
-    "\1\0\6\137\1\0\56\137\1\0\1\133\1\374\1\137"+
-    "\1\0\4\137\1\0\1\137\1\0\2\137\1\0\6\137"+
-    "\1\0\55\137\1\141\1\0\1\375\1\376\1\141\1\375"+
-    "\4\141\1\377\1\141\1\375\1\u0100\1\141\1\375\6\141"+
-    "\1\375\34\141\1\u0100\20\141\1\142\1\0\1\u0101\1\u0102"+
-    "\1\142\1\u0101\4\142\1\u0101\1\142\1\377\1\u0103\1\142"+
-    "\1\u0101\6\142\1\u0101\34\142\1\u0103\20\142\2\0\1\u0104"+
-    "\123\0\1\353\2\0\1\u0105\64\0\4\147\6\0\1\147"+
-    "\6\0\5\147\1\0\13\147\1\0\12\147\1\0\4\147"+
-    "\1\0\11\147\4\0\1\u0106\106\0\1\151\11\0\1\151"+
-    "\6\0\1\151\63\0\4\152\6\0\1\152\6\0\5\152"+
-    "\1\0\13\152\1\0\12\152\1\0\4\152\1\0\11\152"+
-    "\2\0\1\154\2\0\1\u0107\1\154\1\0\4\154\1\0"+
-    "\1\154\1\0\2\154\1\0\6\154\1\0\55\154\1\u0108"+
-    "\1\0\10\u0108\1\u0109\2\u0108\1\u010a\45\u0108\1\u010a\20\u0108"+
-    "\1\u010b\1\0\12\u010b\1\u0109\1\u010c\45\u010b\1\u010c\20\u010b"+
-    "\1\154\1\0\1\u0106\1\u0107\1\154\1\0\4\154\1\0"+
-    "\1\154\1\0\2\154\1\0\6\154\1\0\55\154\1\161"+
-    "\3\0\23\161\5\0\1\161\13\0\1\161\12\0\1\161"+
-    "\4\0\1\161\4\0\1\161\4\0\2\161\3\0\1\336"+
-    "\16\0\1\353\2\0\1\341\60\0\1\u010d\101\0\1\161"+
-    "\3\0\2\161\4\165\6\161\1\165\6\161\5\166\1\161"+
-    "\13\166\1\161\12\166\1\161\4\166\1\161\4\166\1\165"+
-    "\4\166\2\161\6\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\12\166\1\0\4\166\1\0\11\166"+
-    "\10\0\4\166\6\0\1\166\6\0\5\166\1\0\7\166"+
-    "\1\u010e\3\166\1\0\12\166\1\0\4\166\1\0\11\166"+
-    "\5\0\1\336\4\0\2\u010f\10\0\1\353\2\0\1\341"+
-    "\1\0\5\u010f\1\0\13\u010f\1\0\12\u010f\1\0\4\u010f"+
-    "\1\0\4\u010f\1\0\4\u010f\10\0\4\171\6\0\1\171"+
-    "\6\0\5\171\1\0\13\171\1\0\12\171\1\0\4\171"+
-    "\1\0\11\171\2\0\1\173\2\0\1\u0110\1\173\1\0"+
-    "\4\173\1\0\1\173\1\0\2\173\1\0\6\173\1\0"+
-    "\55\173\3\0\1\336\4\0\2\u0111\10\0\1\353\2\0"+
-    "\1\341\1\0\5\u0111\1\0\13\u0111\1\0\12\u0111\1\0"+
-    "\4\u0111\1\0\4\u0111\1\0\4\u0111\2\0\1\173\1\0"+
-    "\1\u010d\1\u0110\1\173\1\0\4\173\1\0\1\173\1\0"+
-    "\2\173\1\0\6\173\1\0\55\173\1\u0112\1\0\10\u0112"+
-    "\1\u0113\2\u0112\1\u0114\45\u0112\1\u0114\20\u0112\1\u0115\1\0"+
-    "\12\u0115\1\u0113\1\u0116\45\u0115\1\u0116\20\u0115\1\173\2\0"+
-    "\1\u0110\1\173\1\0\4\173\1\0\1\173\1\0\1\173"+
-    "\1\u0117\1\0\6\173\1\0\56\173\2\0\1\u0110\1\173"+
-    "\1\0\4\173\1\0\1\173\1\0\1\173\1\u0118\1\0"+
-    "\6\173\1\0\55\173\3\0\1\336\16\0\1\353\2\0"+
-    "\1\u0105\124\0\1\u0119\2\0\1\u0119\72\0\1\u011a\14\0"+
-    "\1\u011a\60\0\2\u011b\50\0\23\u011c\1\u011d\60\u011c\6\0"+
-    "\4\210\6\0\1\210\6\0\5\210\1\0\13\210\1\0"+
-    "\12\210\1\0\4\210\1\0\11\210\54\0\1\u011e\120\0"+
-    "\1\u011f\10\0\1\u011f\3\0\1\213\2\0\1\u0120\1\213"+
-    "\1\0\4\213\1\0\1\213\1\0\2\213\1\0\6\213"+
-    "\1\0\55\213\1\u0121\1\0\10\u0121\1\u0122\2\u0121\1\u0123"+
-    "\45\u0121\1\u0123\20\u0121\1\u0124\1\0\1\u0124\2\u0125\1\u0124"+
-    "\4\u0125\2\u0124\1\u0126\1\u0127\1\u0124\4\u0125\1\u0124\10\u0125"+
-    "\1\u0124\26\u0125\1\u0127\10\u0125\2\u0124\4\u0125\2\u0124\1\217"+
-    "\2\u011c\1\u0128\1\217\1\u011c\4\217\1\u011c\1\217\1\u011c"+
-    "\2\217\1\u011c\3\217\1\u0129\2\217\1\u011c\55\217\1\220"+
-    "\2\0\1\u012a\1\220\1\0\4\220\1\0\1\220\1\0"+
-    "\2\220\1\0\6\220\1\0\55\220\12\u012b\1\u012c\71\u012b"+
-    "\14\u012d\1\u012c\67\u012d\1\224\2\u011c\1\u012e\1\224\1\u011c"+
-    "\4\224\1\u011c\1\224\1\u011c\2\224\1\u011c\3\224\1\u012f"+
-    "\2\224\1\u011c\55\224\1\225\2\0\1\u0130\1\225\1\0"+
-    "\4\225\1\0\1\225\1\0\2\225\1\0\6\225\1\0"+
-    "\55\225\1\u0131\1\0\10\u0131\1\u0132\2\u0131\1\u0133\45\u0131"+
-    "\1\u0133\20\u0131\1\u0134\1\0\1\u0134\2\u0135\1\u0134\4\u0135"+
-    "\2\u0134\1\u0136\1\u0137\1\u0134\4\u0135\1\u0134\10\u0135\1\u0134"+
-    "\26\u0135\1\u0137\10\u0135\2\u0134\4\u0135\2\u0134\2\231\1\0"+
-    "\103\231\1\0\17\231\1\u0138\2\231\1\u0139\56\231\1\234"+
-    "\2\0\1\u013a\1\234\1\0\4\234\1\0\1\234\1\0"+
-    "\2\234\1\0\6\234\1\0\55\234\1\u013b\1\0\10\u013b"+
-    "\1\u013c\2\u013b\1\u013d\45\u013b\1\u013d\20\u013b\1\u013e\1\0"+
-    "\1\u013e\2\u013f\1\u013e\4\u013f\2\u013e\1\u0140\1\u0141\1\u013e"+
-    "\4\u013f\1\u013e\10\u013f\1\u013e\26\u013f\1\u0141\10\u013f\2\u013e"+
-    "\4\u013f\2\u013e\2\240\1\0\103\240\1\0\17\240\1\u0142"+
-    "\2\240\1\u0143\56\240\22\0\1\u0144\2\0\1\354\65\0"+
-    "\1\u0145\74\0\1\251\1\0\12\251\1\0\1\u0146\45\251"+
-    "\1\u0146\20\251\3\0\1\u0147\16\0\1\353\2\0\1\354"+
-    "\56\0\1\251\1\0\3\251\1\253\6\251\1\0\1\u0146"+
-    "\1\251\1\253\6\251\1\253\34\251\1\u0146\36\251\1\u0148"+
-    "\103\251\1\u0149\65\251\1\257\1\0\10\257\1\0\2\257"+
-    "\1\u014a\45\257\1\u014a\21\257\1\0\3\257\1\260\4\257"+
-    "\1\0\2\257\1\u014a\1\257\1\260\6\257\1\260\34\257"+
-    "\1\u014a\36\257\1\u014b\103\257\1\u014c\65\257\12\264\1\0"+
-    "\1\264\1\0\1\u014d\65\264\1\0\12\264\1\0\1\264"+
-    "\1\0\1\u014d\4\264\1\u014e\60\264\1\0\12\264\1\0"+
-    "\1\264\1\0\1\264\1\u014f\64\264\1\u0150\14\u0151\1\u0152"+
-    "\103\u0151\1\u0152\5\u0151\1\u0153\2\u0151\1\u0154\56\u0151\12\u0155"+
-    "\1\u0156\103\u0155\1\u0156\7\u0155\1\u0157\2\u0155\1\u0158\56\u0155"+
-    "\12\302\1\0\67\302\1\u0159\1\0\12\302\1\0\7\302"+
-    "\1\u015a\57\302\1\u0159\1\0\12\302\1\u015b\71\302\14\306"+
-    "\1\0\65\306\1\u015c\1\0\14\306\1\0\5\306\1\u015d"+
-    "\57\306\1\u015c\1\0\14\306\1\u015e\67\306\12\311\1\0"+
-    "\1\311\1\0\66\311\1\0\12\311\1\0\1\311\1\0"+
-    "\5\311\1\u015f\60\311\1\0\12\311\1\0\1\311\1\0"+
-    "\1\311\1\u0160\64\311\1\0\14\u0161\1\u0162\103\u0161\1\u0162"+
-    "\5\u0161\1\u0163\2\u0161\1\u0164\56\u0161\12\u0165\1\u0166\103\u0165"+
-    "\1\u0166\7\u0165\1\u0167\2\u0165\1\u0168\56\u0165\12\327\1\0"+
-    "\67\327\1\u0169\1\0\12\327\1\0\7\327\1\u016a\57\327"+
-    "\1\u0169\1\0\12\327\1\u016b\71\327\14\333\1\0\65\333"+
-    "\1\u016c\1\0\14\333\1\0\5\333\1\u016d\57\333\1\u016c"+
-    "\1\0\14\333\1\u016e\67\333\7\0\1\u016f\11\0\1\u0170"+
-    "\3\0\1\u0171\22\0\1\u0172\42\0\1\u0173\24\0\1\u0174"+
-    "\54\0\1\342\2\0\2\u0175\5\0\1\342\6\0\1\342"+
-    "\5\u0175\1\0\13\u0175\1\0\12\u0175\1\0\4\u0175\1\0"+
-    "\4\u0175\1\0\4\u0175\2\0\1\u0176\1\0\3\u0176\1\u0177"+
-    "\4\343\1\u0176\1\0\3\u0176\1\u0177\1\343\1\u0176\1\0"+
-    "\3\u0176\1\u0177\5\343\1\u0176\13\343\1\u0176\12\343\1\u0176"+
-    "\4\343\1\u0178\11\343\2\u0176\20\0\1\u0179\7\0\1\u017a"+
-    "\70\0\1\346\66\0\103\347\1\u017b\1\u0176\1\0\3\u0176"+
-    "\1\u0177\4\350\1\u0176\1\0\3\u0176\1\u0177\1\350\1\u0176"+
-    "\1\0\3\u0176\1\u0177\5\350\1\u0176\13\350\1\u0176\12\350"+
-    "\1\u0176\4\350\1\u017c\11\350\2\u0176\103\351\1\u017d\63\0"+
-    "\1\352\45\0\1\u0171\22\0\1\u0172\67\0\1\u0174\51\0"+
-    "\1\u017e\103\0\1\u017f\107\0\4\113\6\0\1\113\6\0"+
-    "\3\113\2\u0180\1\0\13\113\1\0\12\113\1\0\4\113"+
-    "\1\0\11\113\10\0\4\113\6\0\1\113\6\0\5\113"+
-    "\1\0\13\113\1\0\2\113\1\u0181\7\113\1\0\4\113"+
-    "\1\0\6\113\1\u0181\2\113\2\0\12\365\1\366\3\365"+
-    "\1\0\65\365\14\370\1\366\1\370\1\0\65\370\1\375"+
-    "\1\0\10\375\1\377\2\375\1\u0182\45\375\1\u0182\20\375"+
-    "\1\141\2\375\1\376\1\141\1\375\4\141\1\377\1\141"+
-    "\1\375\1\141\1\137\1\375\6\141\1\375\55\141\1\u0101"+
-    "\1\0\12\u0101\1\377\1\u0183\45\u0101\1\u0183\20\u0101\1\142"+
-    "\2\u0101\1\u0102\1\142\1\u0101\4\142\1\u0101\1\142\1\377"+
-    "\1\142\1\137\1\u0101\6\142\1\u0101\55\142\12\u0108\1\u0109"+
-    "\3\u0108\1\0\65\u0108\14\u010b\1\u0109\1\u010b\1\0\65\u010b"+
-    "\6\0\4\166\6\0\1\166\6\0\5\166\1\0\13\166"+
-    "\1\0\12\166\1\0\4\166\1\0\6\166\1\u0184\2\166"+
-    "\10\0\4\u010f\6\0\1\u010f\6\0\5\u010f\1\0\13\u010f"+
-    "\1\0\12\u010f\1\0\4\u010f\1\0\11\u010f\10\0\4\u0111"+
-    "\6\0\1\u0111\6\0\5\u0111\1\0\13\u0111\1\0\12\u0111"+
-    "\1\0\4\u0111\1\0\11\u0111\2\0\12\u0112\1\u0113\3\u0112"+
-    "\1\0\65\u0112\14\u0115\1\u0113\1\u0115\1\0\65\u0115\1\u0185"+
-    "\2\u0186\1\u0187\1\u0185\1\u0186\4\u0185\1\u0186\1\u0185\1\u0186"+
-    "\2\u0185\1\u0186\6\u0185\1\u0186\54\u0185\1\173\1\u0188\2\u0189"+
-    "\1\u018a\1\u0188\1\u0189\4\u0188\1\u0189\1\u0188\1\u0189\2\u0188"+
-    "\1\u0189\6\u0188\1\u0189\54\u0188\1\173\35\0\1\u018b\34\0"+
-    "\1\u018b\51\0\1\u018c\14\0\1\u018c\70\0\1\u018d\11\0"+
-    "\1\u018d\73\0\1\u018e\17\0\1\u018e\110\0\1\u018f\7\0"+
-    "\1\u018f\2\0\12\u0121\1\u0122\3\u0121\1\0\65\u0121\1\u0124"+
-    "\1\0\12\u0124\1\u0122\1\u0190\45\u0124\1\u0190\21\u0124\1\0"+
-    "\12\u0124\1\u0191\1\u0190\45\u0124\1\u0190\20\u0124\14\0\1\u0192"+
-    "\67\0\14\u0124\1\u0191\1\u0124\1\0\65\u0124\12\u0131\1\u0132"+
-    "\3\u0131\1\0\65\u0131\1\u0134\1\0\12\u0134\1\u0132\1\u0193"+
-    "\45\u0134\1\u0193\21\u0134\1\0\12\u0134\1\u0194\1\u0193\45\u0134"+
-    "\1\u0193\20\u0134\14\0\1\u0195\67\0\14\u0134\1\u0194\1\u0134"+
-    "\1\0\65\u0134\2\231\1\0\22\231\1\u0196\22\231\1\u0197"+
-    "\35\231\1\0\31\231\1\u0198\47\231\12\u013b\1\u013c\3\u013b"+
-    "\1\0\65\u013b\1\u013e\1\0\12\u013e\1\u013c\1\u0199\45\u013e"+
-    "\1\u0199\21\u013e\1\0\12\u013e\1\u019a\1\u0199\45\u013e\1\u0199"+
-    "\20\u013e\14\0\1\u019b\67\0\14\u013e\1\u019a\1\u013e\1\0"+
-    "\65\u013e\2\240\1\0\22\240\1\u019c\22\240\1\u019d\35\240"+
-    "\1\0\31\240\1\u019e\47\240\7\0\1\u019f\11\0\1\u0170"+
-    "\3\0\1\u0171\22\0\1\u0172\55\0\1\u01a0\61\0\16\251"+
-    "\1\0\65\251\16\257\1\0\65\257\12\264\1\0\1\264"+
-    "\1\0\1\264\1\u01a1\64\264\1\u0150\12\264\1\0\1\264"+
-    "\1\0\1\u014d\7\264\1\u01a2\22\264\1\u01a3\32\264\1\0"+
-    "\12\u01a1\1\0\1\u01a1\1\0\66\u01a1\1\0\12\u0150\1\0"+
-    "\1\u0150\1\0\1\u01a4\65\u0150\1\0\14\u0151\1\u0152\10\u0151"+
-    "\1\u01a5\22\u0151\1\u01a6\47\u0151\1\u0152\17\u0151\1\u01a7\47\u0151"+
-    "\12\u0155\1\u0156\12\u0155\1\u01a8\22\u0155\1\u01a9\45\u0155\1\u0156"+
-    "\21\u0155\1\u01aa\47\u0155\12\302\1\0\103\302\1\0\12\302"+
-    "\1\u01ab\22\302\1\u01ac\31\302\1\u0159\1\0\102\u01ad\1\u01ae"+
-    "\1\u01ad\14\306\1\0\103\306\1\0\10\306\1\u01af\22\306"+
-    "\1\u01b0\31\306\1\u015c\1\0\102\u01b1\1\u01b2\1\u01b1\12\311"+
-    "\1\0\1\311\1\0\10\311\1\u01b3\22\311\1\u01b4\32\311"+
-    "\1\0\14\u0161\1\u0162\10\u0161\1\u01b5\22\u0161\1\u01b6\47\u0161"+
-    "\1\u0162\17\u0161\1\u01b7\47\u0161\12\u0165\1\u0166\12\u0165\1\u01b8"+
-    "\22\u0165\1\u01b9\45\u0165\1\u0166\21\u0165\1\u01ba\47\u0165\12\327"+
-    "\1\0\103\327\1\0\12\327\1\u01bb\22\327\1\u01bc\31\327"+
-    "\1\u0169\1\0\102\u01bd\1\u01be\1\u01bd\14\333\1\0\103\333"+
-    "\1\0\10\333\1\u01bf\22\333\1\u01c0\31\333\1\u016c\1\0"+
-    "\102\u01c1\1\u01c2\1\u01c1\7\0\1\u01c3\103\0\1\u01c4\131\0"+
-    "\1\u01c5\46\0\1\u0175\1\0\11\u0175\1\0\6\u0175\1\0"+
-    "\61\u0175\1\u0176\1\0\11\u0176\1\0\6\u0176\1\0\45\u0176"+
-    "\1\0\14\u0176\1\0\3\u0176\1\u0177\5\u0176\1\0\3\u0176"+
-    "\1\u0177\2\u0176\1\0\3\u0176\1\u0177\41\u0176\1\u01c6\13\u0176"+
-    "\20\0\1\u0179\47\0\1\u01c7\33\0\1\u01c8\14\0\3\u01c8"+
-    "\2\0\1\u01c8\11\0\1\u01c8\1\0\2\u01c8\6\0\1\u01c8"+
-    "\2\0\2\u01c8\6\0\1\u01c8\10\0\4\113\6\0\1\113"+
-    "\6\0\5\113\1\0\11\113\1\u01c9\1\113\1\0\1\u01c9"+
-    "\11\113\1\0\4\113\1\0\11\113\2\0\12\375\1\377"+
-    "\3\375\1\0\65\375\14\u0101\1\377\1\u0101\1\0\65\u0101"+
-    "\6\0\3\166\1\u01ca\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+
-    "\1\u0185\2\u0186\1\u0187\1\u0185\1\u0186\4\u0185\1\u0186\1\u0185"+
-    "\1\u0186\2\u0185\1\u0186\6\u0185\1\u0186\54\u0185\1\u01cb\103\u0186"+
-    "\1\u01cc\1\u0188\2\u0189\1\u018a\1\u0188\1\u0189\4\u0188\1\u0189"+
-    "\1\u0188\1\u0189\2\u0188\1\u0189\6\u0188\1\u0189\54\u0188\1\u01cb"+
-    "\103\u0189\1\u01cd\40\0\1\u01ce\14\0\1\u01ce\60\0\2\u01cf"+
-    "\101\0\1\u01d0\112\0\1\u01d1\14\0\1\u01d1\60\0\2\u01d2"+
-    "\50\0\14\u0124\1\u0122\1\u0124\1\0\65\u0124\3\0\2\u01d3"+
-    "\1\0\4\u01d3\2\0\1\u0126\1\u01d3\1\0\4\u01d3\1\0"+
-    "\10\u01d3\1\0\37\u01d3\2\0\4\u01d3\2\0\14\u0134\1\u0132"+
-    "\1\u0134\1\0\65\u0134\3\0\2\u01d4\1\0\4\u01d4\2\0"+
-    "\1\u0136\1\u01d4\1\0\4\u01d4\1\0\10\u01d4\1\0\37\u01d4"+
-    "\2\0\4\u01d4\2\0\2\231\1\0\32\231\1\u01d5\46\231"+
-    "\14\u013e\1\u013c\1\u013e\1\0\65\u013e\3\0\2\u01d6\1\0"+
-    "\4\u01d6\2\0\1\u0140\1\u01d6\1\0\4\u01d6\1\0\10\u01d6"+
-    "\1\0\37\u01d6\2\0\4\u01d6\2\0\2\240\1\0\32\240"+
-    "\1\u01d7\46\240\7\0\1\u01d8\76\0\1\u01d9\101\0\12\u0150"+
-    "\1\0\1\u0150\1\0\1\u0150\1\0\65\u0150\14\u0151\1\u0152"+
-    "\20\u0151\1\u01da\46\u0151\12\u0155\1\u0156\22\u0155\1\u01db\46\u0155"+
-    "\12\u01dc\1\u01dd\70\u01dc\1\0\14\u01de\1\u01dd\66\u01de\1\0"+
-    "\14\u0161\1\u0162\20\u0161\1\u01df\46\u0161\12\u0165\1\u0166\22\u0165"+
-    "\1\u01e0\46\u0165\12\u01e1\1\u01e2\70\u01e1\1\0\14\u01e3\1\u01e2"+
-    "\66\u01e3\37\0\1\u01e4\135\0\1\u01c6\33\0\1\u01c8\14\0"+
-    "\3\u01c8\2\0\1\u01c8\11\0\1\u01c8\1\0\2\u01c8\6\0"+
-    "\1\u01c8\1\0\1\u01c7\2\u01c8\6\0\1\u01c8\10\0\4\113"+
-    "\6\0\1\113\6\0\5\113\1\0\6\113\1\u01e5\4\113"+
-    "\1\0\12\113\1\0\1\113\1\u01e5\2\113\1\0\11\113"+
-    "\10\0\4\166\6\0\1\166\6\0\5\166\1\0\6\166"+
-    "\1\u01e6\4\166\1\0\6\166\1\u01e7\3\166\1\0\4\166"+
-    "\1\0\11\166\54\0\1\u01e8\76\0\1\u01e9\13\0\1\u01e9"+
-    "\64\0\1\u01ea\11\0\1\u01ea\71\0\1\u01eb\11\0\1\u01eb"+
-    "\74\0\1\u01ec\13\0\1\u01ec\22\0\2\231\1\0\33\231"+
-    "\1\u01ed\45\231\2\240\1\0\33\240\1\u01ee\45\240\14\u0151"+
-    "\1\u0152\21\u0151\1\u01ef\45\u0151\12\u0155\1\u0156\23\u0155\1\u01f0"+
-    "\45\u0155\12\u01dc\1\u01ad\67\u01dc\1\u01f1\1\u01ad\14\u01de\1\u01b1"+
-    "\65\u01de\1\u01f2\1\u01b1\14\u0161\1\u0162\21\u0161\1\u01f3\45\u0161"+
-    "\12\u0165\1\u0166\23\u0165\1\u01f4\45\u0165\12\u01e1\1\u01bd\67\u01e1"+
-    "\1\u01f5\1\u01bd\14\u01e3\1\u01c1\65\u01e3\1\u01f6\1\u01c1\37\0"+
-    "\1\u01f7\52\0\4\113\6\0\1\113\6\0\5\113\1\0"+
-    "\3\113\1\u01f8\7\113\1\0\4\113\1\u01f8\5\113\1\0"+
-    "\4\113\1\0\11\113\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\11\166\1\u01f9\1\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\10\166\1\u01fa\2\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\55\0\1\u01fb\23\0\1\u01fb\50\0"+
-    "\1\u01fc\17\0\1\u01fc\66\0\1\u01fd\12\0\1\u01fd\52\0"+
-    "\1\u01fe\107\0\1\u01ff\34\0\1\u01ff\11\0\2\231\1\0"+
-    "\34\231\1\u0200\44\231\2\240\1\0\34\240\1\u0201\44\240"+
-    "\14\u0151\1\u0152\22\u0151\1\u0202\44\u0151\12\u0155\1\u0156\24\u0155"+
-    "\1\u0203\44\u0155\12\u01dc\1\u0204\67\u01dc\1\u01f1\1\u01ad\14\u01de"+
-    "\1\u0205\65\u01de\1\u01f2\1\u01b1\14\u0161\1\u0162\22\u0161\1\u0206"+
-    "\44\u0161\12\u0165\1\u0166\24\u0165\1\u0207\44\u0165\12\u01e1\1\u0208"+
-    "\67\u01e1\1\u01f5\1\u01bd\14\u01e3\1\u0209\65\u01e3\1\u01f6\1\u01c1"+
-    "\40\0\1\u020a\51\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\11\166\1\u020b\1\166\1\0\12\166\1\0\4\166"+
-    "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\6\166\1\u020c\4\166\1\0\12\166\1\0\4\166"+
-    "\1\0\11\166\44\0\1\u020d\11\0\1\u020d\67\0\1\u020e"+
-    "\14\0\1\u020e\66\0\1\u020f\14\0\1\u020f\26\0\2\231"+
-    "\1\0\35\231\1\u0210\43\231\2\240\1\0\35\240\1\u0211"+
-    "\43\240\14\u0151\1\u0152\23\u0151\1\u0212\43\u0151\12\u0155\1\u0156"+
-    "\25\u0155\1\u0213\43\u0155\14\u0161\1\u0162\23\u0161\1\u0214\43\u0161"+
-    "\12\u0165\1\u0166\25\u0165\1\u0215\43\u0165\37\0\1\u0216\52\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\13\166\1\0"+
-    "\4\166\1\u0217\5\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\5\166\1\u0218"+
-    "\5\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+
-    "\2\231\1\0\34\231\1\u0219\44\231\2\240\1\0\34\240"+
-    "\1\u021a\44\240\14\u0151\1\u0152\22\u0151\1\u021b\44\u0151\12\u0155"+
-    "\1\u0156\24\u0155\1\u021c\44\u0155\14\u0161\1\u0162\22\u0161\1\u021d"+
-    "\44\u0161\12\u0165\1\u0166\24\u0165\1\u021e\44\u0165\34\0\1\u021f"+
-    "\55\0\4\166\6\0\1\166\6\0\5\166\1\0\13\166"+
-    "\1\0\12\166\1\0\4\166\1\0\1\166\1\u0220\7\166"+
-    "\2\0\2\231\1\0\31\231\1\u0221\47\231\2\240\1\0"+
-    "\31\240\1\u0222\47\240\14\u0151\1\u0152\17\u0151\1\u0223\47\u0151"+
-    "\12\u0155\1\u0156\21\u0155\1\u0224\47\u0155\14\u0161\1\u0162\17\u0161"+
-    "\1\u0225\47\u0161\12\u0165\1\u0166\21\u0165\1\u0226\47\u0165\6\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\13\166\1\0"+
-    "\4\166\1\u0227\5\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\10\166\1\u0228"+
-    "\2\166\1\0\12\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\4\166\1\u0229"+
-    "\6\166\1\0\12\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\5\166\1\u022a"+
-    "\5\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+
-    "\6\u022b\4\u022c\6\u022b\1\u022c\5\u022b\1\0\5\u022c\1\u022b"+
-    "\13\u022c\1\u022b\12\u022c\1\u022b\4\u022c\1\u022b\11\u022c\2\u022b"+
-    "\41\0\1\u022d\3\0\1\u022e\7\0\1\u022f\1\u0230\20\0"+
-    "\1\u0231\12\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\4\166\1\u0232\3\166\1\u0233\2\166\1\0\4\166\1\u0234"+
-    "\1\u0235\4\166\1\0\4\166\1\0\6\166\1\u0236\2\166"+
-    "\60\0\1\u0237\74\0\1\u0238\112\0\1\u0239\102\0\1\u023a"+
-    "\104\0\1\u023b\33\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\5\166\1\u023c\4\166\1\0\4\166"+
-    "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\12\166\1\u023d\1\0\12\166\1\0\4\166\1\0"+
-    "\11\166\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\5\166\1\u023e\4\166\1\0\4\166\1\0"+
-    "\11\166\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\4\166\1\u023f\5\166\1\0\4\166\1\0"+
-    "\11\166\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\5\166\1\u0240\4\166\1\0\4\166\1\0"+
-    "\11\166\45\0\1\u0241\132\0\1\u0242\104\0\1\u0243\65\0"+
-    "\1\u0244\121\0\1\u0245\16\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\6\166\1\u0246\4\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\1\166\1\u0247\7\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\2\166\1\u0248\6\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\4\166\1\u0249\5\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\2\166\1\u024a\6\166\47\0\1\u024b\71\0\1\u024c\103\0"+
-    "\1\u024d\113\0\1\u024e\102\0\1\u024f\47\0\4\166\6\0"+
-    "\1\166\6\0\5\166\1\0\10\166\1\u0250\2\166\1\0"+
-    "\12\166\1\0\4\166\1\0\11\166\10\0\4\166\6\0"+
-    "\1\166\6\0\4\166\1\u0251\1\0\13\166\1\0\12\166"+
-    "\1\0\4\166\1\0\11\166\10\0\4\166\6\0\1\166"+
-    "\6\0\4\166\1\u0252\1\0\13\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\6\166\1\u0253\4\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\5\166\1\u0254\5\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\60\0\1\u0255\125\0\1\u0256\50\0"+
-    "\1\u0257\103\0\1\u0258\44\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\5\166\1\u0259\4\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\7\166\1\u025a\1\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\10\166\1\u025b\2\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\10\166\1\u025c\2\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\103\0\1\u025d\61\0\1\u0245\125\0"+
-    "\1\u024f\103\0\1\u025e\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\10\166\1\u025f\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\6\166\1\u024a\3\166\1\0\4\166"+
-    "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\12\166\1\0\4\166\1\0\10\166"+
-    "\1\u0254\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\12\166\1\0\4\166\1\0\10\166\1\u0260"+
-    "\35\0\1\u0245\150\0\1\u0261\11\0\4\166\6\0\1\166"+
-    "\6\0\4\166\1\u024a\1\0\13\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\7\166\1\u0262\1\166\57\0\1\u0245\34\0\4\166\6\0"+
-    "\1\166\6\0\5\166\1\0\13\166\1\0\4\166\1\u024a"+
-    "\5\166\1\0\4\166\1\0\11\166\2\0";
-
-  /** 
-   * The transition table of the DFA
-   */
-  final private static int yytrans [] = yy_unpack(yy_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  // final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",		//$NON-NLS-1$
-    "Internal error: unknown state",		//$NON-NLS-1$
-    "Error: could not match input",		//$NON-NLS-1$
-    "Error: pushback value was too large"	//$NON-NLS-1$
-  };
-
-  /**
-   * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private final static byte YY_ATTRIBUTE[] = {
-     1,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  0,  1,  1,  1,  1, 
-     0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
-     1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0, 
-     0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  9, 
-     1,  9,  1,  1,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  9,  1, 
-     1,  1,  1,  9,  1,  1,  1,  1,  1,  1,  9,  1,  1,  9,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
-     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1, 
-     1,  9,  9,  1,  1,  9,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1, 
-     9,  1,  1,  1,  1,  9,  9,  1,  9,  3,  3,  3,  3,  3,  3,  9, 
-     9,  1,  1,  1,  9,  1,  1,  1,  1,  1,  9,  9,  1,  9,  3,  3, 
-     3,  3,  3,  3,  9,  9,  1,  1,  1,  9,  1,  1,  1,  9,  9,  1, 
-     1,  0,  1,  0,  9,  1,  2,  1,  2,  1,  1,  0,  0,  0,  9,  1, 
-     1,  9,  9,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,  0,  9,  1, 
-     0,  0,  1,  9,  0,  9,  0,  0,  9,  0,  0,  0,  9,  1,  1,  0, 
-     1,  0,  9,  0,  0,  0,  1,  1,  0,  0,  0,  0,  9,  0,  0,  0, 
-     0,  9,  0,  0,  0,  1,  0,  0,  1,  0,  0,  9,  0,  0,  1,  0, 
-     0,  9,  0,  0,  0,  1,  0,  1,  1,  0,  0,  9,  0,  0,  0,  1, 
-     0,  1,  1,  1,  0,  0,  9,  9,  9,  0,  9,  9,  1,  1,  1,  1, 
-     2, 13,  3,  2,  2, 13,  3,  2,  0,  1,  1,  0,  1,  1,  1,  1, 
-     2, 13,  3,  2,  2, 13,  3,  2,  0,  1,  1,  0,  1,  1,  0,  9, 
-     9,  9,  0,  0,  1,  1,  1,  9,  0,  0, 13,  9, 13,  9,  9,  1, 
-     1,  0,  0,  1,  3,  2,  2,  3,  2,  2,  0,  0,  0,  0,  0,  0, 
-     1,  0,  0,  1,  0,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0, 
-     1,  1,  1,  0,  3,  3,  2,  3,  3,  2,  1,  1,  0,  0,  1,  1, 
-     0,  0,  1,  1,  3,  3,  2,  3,  3,  2,  1,  1,  0,  0,  1,  1, 
-     0,  0,  9,  9,  0,  1,  9,  0,  1,  1,  5, 13, 13,  0,  0,  0, 
-     0,  0,  0,  0,  1,  0,  1,  9,  9,  2,  2,  0,  9,  0,  2,  2, 
-     0,  9,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  2,  2, 
-     0,  0,  2,  2,  0,  0,  0,  1,  1,  1,  0,  0,  0,  9,  9,  1, 
-     1,  2,  2,  1,  1,  2,  2,  1,  1,  0,  1,  1,  9,  9,  9,  1, 
-     1,  2,  2,  2,  2,  0,  1,  1,  1,  1,  2,  2,  2,  2,  9,  1, 
-     1,  1,  3,  3,  3,  3,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0, 
-     0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1, 
-     0,  0,  1,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  9,  1, 
-     1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  1,  1, 
-     0,  1
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  // private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  // private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-	private int fTokenCount = 0;
- 
-	// required holders for white-space compacting
-	private boolean fShouldLoadBuffered = false;
-	private String fBufferedContext = null;
-	private int fBufferedStart = 1;
-	private int fBufferedLength = 0;
-	private ContextRegionContainer fBufferedEmbeddedContainer = null;
-	private String f_context = null;
-
-	// state stack for handling embedded regions
-	private IntStack fStateStack = new IntStack();
-	// a "hint" as to what an embedded region should be evaluated
-	private String fEmbeddedHint = UNDEFINED;
-	// a "hint" as to what state to enter once an embedded region has
-	//   been completed
-	private int fEmbeddedPostState = YYINITIAL;
-	// the container used to create embedded regions
-	private ContextRegionContainer fEmbeddedContainer = null;
-	private static final String PROXY_CONTEXT = "PROXY_CONTEXT";
-
-	private String context = null;
-	private int start = 0;
-	private int textLength = 0;
-	private int length = 0;
-
-	// offset for tracking position specific block tags
-	private int fOffset = 0;
-	
-	// the name of the current tag being opened
-	private String fCurrentTagName = null;
-
-	// the name of the current tag inside of an embedded region
-	private String internalTagName = null;
-	private String internalContext = null;
-
-	// the list of tag name BlockMarkers
-	private List fBlockMarkers = new ArrayList(0);
-	private List fNestablePrefixes = new ArrayList(1);
-	
-	// where the last internal container block was found
-	private int fLastInternalBlockStart = -1;
-
-	// required to not seek text blocks on an end tag
-	private boolean fIsBlockingEnabled = false;
-	private boolean fIsCaseSensitiveBlocking = true;
-
-	private static final boolean fForbidJSP = false;
-	
-	private int fELlevel = 0;
-
-	private JSPParserRegionFactory fRegionFactory = new JSPParserRegionFactory();
-
-	private static final String rcsver = "$Id: JSPTokenizer.java,v 1.4 2005/01/27 21:53:57 nitind Exp $";//$NON-NLS-1$
-
-	/**
-	 * user method 
-	 */
-	public final void addBlockMarker(BlockMarker marker) {
-		if(containsTagName(marker.getTagName()))
-			return;
-		fBlockMarkers.add(marker);
-	}
-	/**
-	 * user method
-	 */
-	public final void addNestablePrefix(TagMarker marker) {
-		fNestablePrefixes.add(marker);
-	}
-	/* user method */
-	public List getNestablePrefixes() {
-		return fNestablePrefixes;
-	}
-	/**
-	 * user method
-	 */
-	private boolean isNestable(String tagName) {
-		//Iterator blocks = fNestablePrefixes.iterator();
-		//while(blocks.hasNext()) {
-		//	TagMarker marker = (TagMarker)blocks.next();
-		//	String markerName = marker.getTagName();
-		//	if(tagName.length() > markerName.length() + 1 && tagName.startsWith(markerName) && tagName.charAt(markerName.length()) == ':') {
-		//		return marker.isGlobal() || getOffset() >= marker.getMarker().getStart();
-		//	}
-		//}
-		//return false;
-		return true;
-	}
-	/**
-	 * user method 
-	 */
-	public final void removeNestablePrefix(String name) {
-		if (fNestablePrefixes != null) {
-			Iterator nestables = fNestablePrefixes.iterator();
-			while (nestables.hasNext()) {
-				if (((TagMarker) nestables.next()).getTagName().equalsIgnoreCase(name))
-					nestables.remove();
-			}
-		}
-	}
-	/**
-	 * user method 
-	 */
-	public final void removeBlockMarker(BlockMarker marker) {
-		fBlockMarkers.remove(marker);
-	}
-	/**
-	 * user method 
-	 */
-	public final void removeBlockMarker(String tagname) {
-		if (fBlockMarkers != null) {
-			Iterator blocks = fBlockMarkers.iterator();
-			while (blocks.hasNext()) {
-				if (((BlockMarker) blocks.next()).getTagName().equals(tagname))
-					blocks.remove();
-			}
-		}
-	}
-	/* user method */
-	private final void assembleEmbeddedTagSequence(String startType, String endTagName) {
-		assembleEmbeddedContainer(startType, null, endTagName);
-	}
-	/* user method */
-	private final void assembleEmbeddedContainer(String startType, String[] endTypes) {
-		assembleEmbeddedContainer(startType, endTypes, null);
-	}
-	/* user method */
-	private final void assembleEmbeddedContainer(String startType, String endType) {
-		assembleEmbeddedContainer(startType, new String[]{endType}, null);
-	}
-	/**
-	 *  user method 
-	 * 
-	 * Assembles an embedded container beginning with the given startType as
-	 * the first ContextRegion within it and of the type fEmbeddedHint.  The
-	 * endTypes[] array contains the context types that will cause a successful
-	 * exit.  Use of the endTagName parameter alters this behavior to force an
-	 * exit on an XML_TAG_CLOSE after seeing an XML_TAG_NAME whose significant
-	 * text matches the endTagName String.  All contents in between are
-	 * insignificant, and yes, this means comments are allowed inside.
-	 **/
-	private final void assembleEmbeddedContainer(String startType, String[] endTypes, String endTagName) {
-		// the context of the region being added to the embedded container
-		internalContext = startType;
-		// keep track of where this container began; to provide relative indeces for the regions
-		int containerStart = yychar;
-		boolean notFinished = true;
-		// keep track of where we seem to be so that the endTagName can be checked
-		boolean isInEndTag = false;
-		boolean isInFirstTag = true;
-		// create the embedded container and setup its "type"
-		if (fEmbeddedContainer == null) {
-			fEmbeddedContainer = new ContextRegionContainer();
-			fEmbeddedContainer.setType(fEmbeddedHint);
-			fEmbeddedContainer.setStart(containerStart);
-			// TODO: parent region needs to be set .... but not sure where to get it from 
-			//		fEmbeddedContainer.setParent(parentRegion);
-		}
-		containerStart = fEmbeddedContainer.getStart();
-		while (notFinished) {
-			// add the region to the container
-			if (internalContext != null && internalContext != PROXY_CONTEXT) {
-				ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());
-				fEmbeddedContainer.getRegions().add(newToken);
-				fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
-				fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
-				// DW, 4/16/2003 token regions no longer have parents
-				//newToken.setParent(fEmbeddedContainer);
-			}
-			try {
-				// longscan determines whether to attempt a blockTagScan within the embedded container
-				boolean longscan = false;
-				// save the tokenizer state in case of a block tag scan
-				int previousState = yystate();
-				String previousCurrentTagName = fCurrentTagName;
-				int previousPostState = fEmbeddedPostState;
-				String previousEmbeddedHint = fEmbeddedHint;
-				// determine if a block tag scan is necessary
-				if (internalContext == XML_TAG_NAME) {
-					internalTagName = yytext();
-					if(!isNestable(internalTagName)) {
-						internalTagName = null;
-						// snagged a tag name we shouldn't have
-						fEmbeddedPostState = ST_ABORT_EMBEDDED;
-						notFinished = false;
-					}
-				}
-				else if (internalContext == XML_TAG_OPEN || internalContext == XML_END_TAG_OPEN) {
-					internalTagName = null;
-				}
-				// do upkeep for endTagName usage; must be here since the next token could be the close
-				if (internalContext == XML_END_TAG_OPEN) {
-					isInEndTag = true;
-				} else if (internalContext == XML_TAG_CLOSE) {
-					isInFirstTag = isInEndTag = false;
-				} else {
-				 	ITextRegionList embeddedRegions = fEmbeddedContainer.getRegions();
-					if (embeddedRegions.size() > 2 && (embeddedRegions.get(embeddedRegions.size()-1)).getType() == XML_TAG_CLOSE && (embeddedRegions.get(embeddedRegions.size() - 3)).getType() == XML_TAG_OPEN && internalTagName != null) {
-						if (containsTagName(internalTagName)) {
-							longscan = true;
-							yybegin(ST_BLOCK_TAG_SCAN);
-						}
-					}
-				}
-				if (longscan)
-					fCurrentTagName = internalTagName;
-				// read the next region and context
-				internalContext = primGetNextToken();
-				if (longscan) {
-					// Returning from a block tag scan requires restoring some state variables
-					// as well as handling the block region and setting up for normal scanning
-					// inside the embedded container
-					ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());
-					fEmbeddedContainer.getRegions().add(newToken);
-					fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
-					fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
-					// DW, 4/16/2003 token regions no longer have parents
-					// newToken.setParent(fEmbeddedContainer);
-					longscan = false;
-					fEmbeddedPostState = previousPostState;
-					fEmbeddedHint = previousEmbeddedHint;
-					fCurrentTagName = previousCurrentTagName;
-					yybegin(previousState);
-					internalContext = primGetNextToken();
-				}
-			} catch (IOException e) {
-				// primGetNextToken() calls may throw an IOException
-				// catch and do nothing since the isEOF check below
-				// will properly exit if the input was too short
-			} catch (Exception f) {
-				// some other exception happened; never should
-				Logger.logException(f);
-			}
-			boolean isEndingType = yystate() == ST_ABORT_EMBEDDED;
-			if(!isEndingType) {
-				// check for ending context
-				if (endTagName == null) {
-					for (int i = 0; i < endTypes.length; i++) {
-						isEndingType = isEndingType || (internalContext == endTypes[i]);
-					}
-				}
-				else {
-					isEndingType = ((isInEndTag && internalContext == XML_TAG_CLOSE) || (isInFirstTag && internalContext == XML_EMPTY_TAG_CLOSE)) && internalTagName != null && internalTagName.equals(endTagName);
-				}
-			}
-			ITextRegionList embeddedList = fEmbeddedContainer.getRegions();
-			notFinished = notFinished && ((!isEndingType) && !isEOF() && (endTagName != null || internalContext != UNDEFINED) && !(internalContext == PROXY_CONTEXT && (embeddedList.get(embeddedList.size()-1)).getType() == UNDEFINED));
-		}
-		// finish adding the last context
-		if (internalContext != null && internalContext != PROXY_CONTEXT) {
-			ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());
-			fEmbeddedContainer.getRegions().add(newToken);
-			// DW, 4/16/2003 token regions no longer have parents
-			//newToken.setParent(fEmbeddedContainer);
-			fEmbeddedContainer.setLength(yychar - containerStart + yylength());
-			fEmbeddedContainer.setTextLength(yychar - containerStart + yylength());
-		}
-		yybegin(fEmbeddedPostState);
-	}
-	/* user method */
-	public final boolean isCaseSensitiveBlocking() {
-		return fIsCaseSensitiveBlocking;
-	}
-	/* user method */
-	public final void setCaseSensitiveBlocking(boolean newValue) {
-		fIsCaseSensitiveBlocking = newValue;
-	}
-	/* user method */
-	public boolean getBlockMarkerAllowsJSP() {
-		return getBlockMarkerAllowsJSP(fCurrentTagName);
-	}
-	/* user method */
-	public boolean getBlockMarkerAllowsJSP(String name) {
-		Iterator iterator = fBlockMarkers.iterator();
-		while(iterator.hasNext()) {
-			BlockMarker marker = (BlockMarker)iterator.next();
-			boolean casesensitive = marker.isCaseSensitive();
-			if(casesensitive && marker.getTagName().equals(name))
-				return marker.allowsJSP();
-			else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))
-				return marker.allowsJSP();
-		}
-		return true;
-	}
-	/* user method */
-	public boolean getBlockMarkerCaseSensitivity() {
-		return getBlockMarkerCaseSensitivity(fCurrentTagName);
-	}
-	public boolean getBlockMarkerCaseSensitivity(String name) {
-		Iterator iterator = fBlockMarkers.iterator();
-		while(iterator.hasNext()) {
-			BlockMarker marker = (BlockMarker)iterator.next();
-			boolean casesensitive = marker.isCaseSensitive();
-			if(casesensitive && marker.getTagName().equals(name))
-				return casesensitive;
-			else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))
-				return casesensitive;
-		}
-		return true;
-	}
-	/* user method */
-	public String getBlockMarkerContext() {
-		return getBlockMarkerContext(fCurrentTagName);
-	}
-	/* user method */
-	public String getBlockMarkerContext(String name) {
-		Iterator iterator = fBlockMarkers.iterator();
-		while(iterator.hasNext()) {
-			BlockMarker marker = (BlockMarker)iterator.next();
-			if(marker.getTagName().equals(name))
-				return marker.getContext();
-		}
-		return BLOCK_TEXT;
-	}
-	/* user method */
-	public List getBlockMarkers() {
-		return fBlockMarkers;
-	}
-	/* user method */
-	public final int getOffset() {
-		return fOffset + yychar;
-	}
-	private final boolean isBlockMarker() {
-		return isBlockMarker(fCurrentTagName);
-	}
-	private final boolean isBlockMarker(String tagName) {
-		if (!fIsBlockingEnabled)
-			return false;
-		return containsTagName(tagName);
-	}
-	/**
-	 * user method
-	 */
-	public final void beginBlockTagScan(String newTagName) {
-		beginBlockMarkerScan(newTagName, BLOCK_TEXT);
-	}
-	/**
-	 * user method
-	 *
-	 * Special tokenizer setup.  Allows tokenization to be initiated at the
-	 * start of a text block within a "newTagName" tag.
-	 *
-	 * Example: 
-	 *	Tokenizer toker = new Tokenizer();
-	 *	toker.setCaseSensitiveBlocking(false);
-	 *	toker.reset(new java.io.StringReader("afiuhqwkejhtasihgalkwhtq</scripter></scr></script>asgdasga"));
-	 *	toker.beginBlockMarkerScan("script", BLOCK_TEXT);
-	 *	toker.getRegions(); 
-	 *
-	 * Returns:
-	 *	BLOCK_TEXT: 0-40
-	 *	XML_END_TAG_OPEN: 41-42
-	 *	XML_TAG_NAME: 43-48
-	 *	XML_TAG_CLOSE: 49-49
-	 *	XML_CONTENT: 50-57
-	 *
-	 */
-	public final void beginBlockMarkerScan(String newTagName, String blockcontext) {
-		yybegin(ST_BLOCK_TAG_SCAN);
-		fCurrentTagName = newTagName;
-	}
-
-/**
- * Method doScan.
- * 
- * Returns a context region for all of the text from the current position upto the end of input or
- * to right *before* the first occurence of searchString
- * 
- * @param searchString - target string to search for ex.: "-->", "</tagname"
- * @param requireTailSeparator - whether the target must be immediately followed by whitespace or '>'
- * @param allowJSP - check for and allow for JSP markup <%%>
- * @param context - the context of the scanned region if non-zero length
- * @param exitState - the state to go to if the region was of non-zero length
- * @param abortState - the state to go to if the searchString was found immediately
- * @return String - the context found: the desired context on a non-zero length match, the abortContext on immediate success
- * @throws IOException
- */
-private final String doScan(String searchString, boolean requireTailSeparator, boolean allowJSP, boolean allowCDATA, String searchContext, int exitState, int immediateFallbackState) throws IOException {
-	boolean stillSearching = true;
-	// Disable further block (probably)
-	fIsBlockingEnabled = false;
-	int searchStringLength = searchString.length();
-	int n = 0;
-	char lastCheckChar;
-	int i;
-	boolean same = false;
-	// Check for JSP starts ("<%") if the tag is global like SCRIPT or STYLE
-	boolean checkJSPs = allowJSP && !fForbidJSP;
-	boolean checkedForJSPsOnce = !checkJSPs;
-	boolean checkedJSPsAtStartOnce = false;
-	
-	while (stillSearching) {
-		n = 0;
-		// Ensure that enough data from the input exists to compare against the search String.
-		n = yy_advance();
-		while(n != YYEOF && yy_currentPos < searchStringLength)
-			n = yy_advance();
-//		c = (char) n;
-		// If the input was too short or we've exhausted the input, stop immediately.
-		if (n == YYEOF && checkedForJSPsOnce) {
-			stillSearching = false;
-		}
-		else {
-			/**
-			 * Look for starting JSPs "<%"
-			 */
-			checkedForJSPsOnce = true;
-			// 1) yy_currentPos - searchStringLength : There's at least searchStringLength of input available; once that's read, check for JSPs
-			// ---
-			// Look for a JSP beginning at current-searchStringLength; if so, backup and switch scanner states to handle it.
-			// Ensure that we've not encountered a complete block (<%%>) that was *shorter* than the closeTagString and
-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].
-			if(checkJSPs && yy_currentPos > searchStringLength && yy_currentPos - searchStringLength != fLastInternalBlockStart && 
-				yy_buffer[yy_currentPos - searchStringLength] == '<' && yy_buffer[yy_currentPos - searchStringLength + 1] == '%') {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-			// 2) yy_currentPos - jspstarter.length : There's not searchStringLength of input available; check for a JSP 2 spots back in what we could read
-			// ---
-			// Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section
-			// since it relies upon *having* closeTagStringLength amount of input to work as designed.  Must be sure we don't
-			// spill over the end of the buffer while checking.
-			else if(checkJSPs && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 &&
-					yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-			// 3) yy_currentPos..(yy_currentPos+jspStartlength-1) : Check at the start of the block one time
-			// ---
-			// Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section
-			// since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed.
-			else if(checkJSPs && !checkedJSPsAtStartOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 &&
-					yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') {
-				checkedJSPsAtStartOnce = true;
-				fLastInternalBlockStart = yy_markedPos = yy_startRead;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-
-
-			/**
-			 * Look for starting CDATA "<![CDATA["
-			 */
-			// 1) yy_currentPos - searchStringLength: There's at least searchStringLength of input available; once that's read, check for CDATA
-			// ---
-			// Look for a CDATA beginning at current-searchStringLength; if so, backup and switch scanner states to handle it.
-			// Ensure that we've not encountered a complete block (<[!CDATA[]]>) that was *shorter* than the closeTagString and
-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].
-/*			if(checkCDATA && yy_currentPos > searchStringLength && yy_currentPos + searchStringLength < yy_buffer.length && yy_currentPos - searchStringLength != fLastInternalBlockStart && 
-				charsMatch(cdataStarter, yy_buffer, 0, yy_currentPos - searchStringLength)) {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				// go to a state where CDATA can be found
-				if (fEmbeddedContainer == null) {
-					fEmbeddedContainer = new ContextRegionContainer();
-					fEmbeddedContainer.setType(searchContext);
-					fEmbeddedContainer.setStart(yychar);
-				}
-				ITextRegion newToken = fRegionFactory.createToken(searchContext, yychar, yylength(), yylength());
-				fEmbeddedContainer.getRegions().add(newToken);
-				fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
-				fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
-				yybegin(YYINITIAL);
-				String context = primGetNextToken();
-				if(context.equals(XMLRegionContexts.XML_CDATA_OPEN)) {
-					assembleEmbeddedContainer(XMLRegionContexts.XML_CDATA_OPEN, XMLRegionContexts.XML_CDATA_CLOSE);
-				}
-				yybegin(resumeState);
-				return searchContext;
-			}
-*//*
-			// 2) yy_currentPos - cdataStarter.length: There's not searchStringLength of input available; check for a CDATA right here spots back in what we could read
-			// ---
-			// Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section
-			// since it relies upon *having* closeTagStringLength amount of input to work as designed.  Must be sure we don't
-			// spill over the end of the buffer while checking.
-			else if(checkCDATA && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 &&
-					yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-			// 3) yy_currentPos : Check at the start of the block one time
-			// ---
-			// Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section
-			// since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed.
-			else if(checkCDATA && !checkedForCDATAOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 &&
-					yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') {
-				checkedForCDATAOnce = true;
-				fLastInternalBlockStart = yy_markedPos = yy_startRead;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-*/
-			// Check the characters in the target versus the last targetLength characters read from the buffer
-			// and see if it matches
-			if (n == YYEOF) {
-				stillSearching = false;
-			}
-			else {
-				same = true;
-				// safety check for array accesses
-				if(yy_currentPos >= searchStringLength && yy_currentPos <= yy_buffer.length) {
-					for(i = 0; i < searchStringLength; i++) {
-						if(same && fIsCaseSensitiveBlocking)
-							same = yy_buffer[i + yy_currentPos - searchStringLength] == searchString.charAt(i);
-						else if(same && !fIsCaseSensitiveBlocking)
-							same = Character.toLowerCase(yy_buffer[i + yy_currentPos - searchStringLength]) == Character.toLowerCase(searchString.charAt(i));
-					}
-				}
-				// safety check failed; no match is possible right now
-				else {
-					same = false;
-				}
-			}
-			if (same && requireTailSeparator && yy_currentPos < yy_buffer.length) {
-				// Additional check for close tags to ensure that targetString="</script" doesn't match
-				// "</scriptS"
-				lastCheckChar = yy_buffer[yy_currentPos];
-				// Succeed on "</script>" and "</script "
-				if(lastCheckChar == '>' || Character.isWhitespace(lastCheckChar))
-					stillSearching = false;
-			}
-			else {
-				stillSearching = !same || (yy_currentPos < yy_startRead + searchStringLength);
-			}
-		}
-	}
-	if (n != YYEOF || same) {
-		// We've stopped short of the end or definitely found a match
-		yy_markedPos = yy_currentPos - searchStringLength;
-		yy_currentPos = yy_markedPos + 1;
-		// If the searchString occurs at the very beginning of what would have
-		// been a Block, resume scanning normally immediately
-		if (yy_markedPos == yy_startRead) {
-			yybegin(immediateFallbackState);
-			return primGetNextToken();
-		}
-	}
-	else {
-		// We ran through the rest of the input
-		yy_markedPos = yy_currentPos;
-		yy_currentPos++;
-	}
-	yybegin(exitState);
-	// If the ending occurs at the very beginning of what would have
-	// been a Block, resume scanning normally immediately
-	if(yy_markedPos == yy_startRead)
-		return primGetNextToken();
-	return searchContext;
-}
-/**
- * user method 
- * does a lookahead for the current tag name
- */
-private final String doBlockTagScan() throws IOException {
-	fIsCaseSensitiveBlocking = getBlockMarkerCaseSensitivity();
-	return doScan("</" + fCurrentTagName, true, getBlockMarkerAllowsJSP(), true, getBlockMarkerContext(fCurrentTagName), YYINITIAL, YYINITIAL);
-}
-	/**
-	 * user method
-	 *
-	 * Converts the raw context String returned by the primGetNextToken()
-	 * method into a full ITextRegion by pulling in values for the
-	 * current offset within the scanning text.
-	 *
-	 * Returns null when EOF is encountered and attaches intermittently
-	 * discovered whitespace onto the end of useful regions.
-	 *
-	 * Note that this algorithm caches the token following the one being returned
-	 * so that whitespace can be collapsed.
-	 */
-	public final ITextRegion getNextToken() throws IOException {
-		fEmbeddedContainer = null;
-		// load the starting non-whitespace token (assume that it is so)
-		if (fShouldLoadBuffered) {
-			if (fBufferedEmbeddedContainer != null) {
-				ITextRegion container = fBufferedEmbeddedContainer;
-				fBufferedEmbeddedContainer = null;
-				fShouldLoadBuffered = false;
-				return container;
-			}
-			context = fBufferedContext;
-			start = fBufferedStart;
-			textLength = length = fBufferedLength;
-			fShouldLoadBuffered = false;
-		} else {
-			context = primGetNextToken();
-			if (context == PROXY_CONTEXT) {
-				return fEmbeddedContainer;
-			} else if (context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {
-				if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-					fCurrentTagName = yytext();
-				else
-					fCurrentTagName = null;
-			} else if (context == XML_TAG_OPEN) {
-				fIsBlockingEnabled = true;
-			} else if (context == XML_END_TAG_OPEN) {
-				fIsBlockingEnabled = false;
-			}
-			start = yychar;
-			textLength = length = yylength();
-			if (yy_atEOF) {
-				fTokenCount++;
-				return null;
-			}
-		}
-		// store the next token
-		f_context = primGetNextToken();
-		if (f_context == PROXY_CONTEXT) {
-			fBufferedEmbeddedContainer = fEmbeddedContainer;
-			fShouldLoadBuffered = true;
-		} else if (f_context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {
-			if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-				fCurrentTagName = yytext();
-			else
-				fCurrentTagName = null;
-		} else if (f_context == XML_TAG_OPEN) {
-			fIsBlockingEnabled = true;
-		} else if (f_context == XML_END_TAG_OPEN) {
-			fIsBlockingEnabled = false;
-		}
-		fBufferedContext = f_context;
-		fBufferedStart = yychar;
-		fBufferedLength = yylength();
-		fShouldLoadBuffered = true;
-		if (fBufferedContext == WHITE_SPACE) {
-			fShouldLoadBuffered = false;
-			length += fBufferedLength;
-		}
-		if (context == null) {
-			// EOF
-			if (Debug.debugTokenizer) {
-				System.out.println(getClass().getName() + " discovered " + fTokenCount + " tokens."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			return null;
-		}
-		fTokenCount++;
-		return fRegionFactory.createToken(context, start, textLength, length, null, fCurrentTagName);
-	}
-	/* user method */
-	public JSPTokenizer(){
-		super();
-	}
-	/* user method */
-	public JSPTokenizer(char[] charArray){
-			this(new CharArrayReader(charArray));
-	}
-	/* user method */
-	public void reset(char[] charArray) {
-		reset(new CharArrayReader(charArray), 0);
-	}
-	/* user method */
-	public void reset(char[] charArray, int newOffset) {
-		reset(new CharArrayReader(charArray), newOffset);
-	}
-	/* user method */
-	public void reset(java.io.InputStream in) {
-		reset(new java.io.InputStreamReader(in), 0);
-	}
-	/* user method */
-	public void reset(java.io.InputStream in, int newOffset) {
-		reset(new java.io.InputStreamReader(in), newOffset);
-	}
-	/* user method */
-	public void reset(java.io.Reader in) {
-		reset(in, 0);
-	}
-	/**
-	 * user method *
-	 *
-	 * Reset internal counters and vars to "newly created" values, in the hopes
-	 * that resetting a pre-existing tokenizer is faster than creating a new one.
-	 *
-	 * This method contains code blocks that were essentially duplicated from the
-	 * <em>generated</em> output of this specification before this method was
-	 * added.  Those code blocks were under the above copyright.
-	 */
-	public void reset(java.io.Reader in, int newOffset) {
-		if (Debug.debugTokenizer) {
-			System.out.println("resetting tokenizer");//$NON-NLS-1$
-		}
-		fOffset = newOffset;
-	
-		/* the input device */
-		yy_reader = in;
-	
-		/* the current state of the DFA */
-		yy_state = 0;
-	
-		/* the current lexical state */
-		yy_lexical_state = YYINITIAL;
-	
-		/* this buffer contains the current text to be matched and is
-		the source of the yytext() string */
-		java.util.Arrays.fill(yy_buffer, (char)0);
-	
-		/* the textposition at the last accepting state */
-		yy_markedPos = 0;
-	
-		/* the textposition at the last state to be included in yytext */
-		yy_pushbackPos = 0;
-	
-		/* the current text position in the buffer */
-		yy_currentPos = 0;
-	
-		/* startRead marks the beginning of the yytext() string in the buffer */
-		yy_startRead = 0;
-	
-		/** 
-		 * endRead marks the last character in the buffer, that has been read
-		 * from input 
-		 */
-		yy_endRead = 0;
-	
-		/* number of newlines encountered up to the start of the matched text */
-		yyline = 0;
-	
-		/* the number of characters up to the start of the matched text */
-		yychar = 0;
-	
-		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-		yy_atEOF = false;
-	
-		/* denotes if the user-EOF-code has already been executed */
-		yy_eof_done = false;
-	
-	
-		/* user vars: */
-		fTokenCount = 0;
-	 
-		fShouldLoadBuffered = false;
-		fBufferedContext = null;
-		fBufferedStart = 1;
-		fBufferedLength = 0;
-		fStateStack = new IntStack();
-	
-		fLastInternalBlockStart = -1;
-	
-		context = null;
-		start = 0;
-		textLength = 0;
-		length = 0;
-	
-		fEmbeddedContainer = null;
-		
-		fELlevel = 0;
-	}
-	/**
-	 * user method
-	 *
-	 * @see com.ibm.sed.parser.BlockTokenizer#newInstance()
-	 */
-	public BlockTokenizer newInstance() {
-		JSPTokenizer newInstance = new JSPTokenizer();
-		// global tagmarkers can be shared; they have no state and 
-		// are never destroyed (e.g. 'release')
-		for(int i = 0; i < fBlockMarkers.size(); i++) {
-			BlockMarker blockMarker = (BlockMarker) fBlockMarkers.get(i);
-			if(blockMarker.isGlobal())
-				newInstance.addBlockMarker(blockMarker);
-		}
-		for(int i = 0; i < fNestablePrefixes.size(); i++) {
-			TagMarker marker = (TagMarker) fNestablePrefixes.get(i);
-			if(marker.isGlobal())
-				newInstance.addNestablePrefix(marker);
-		}
-		return newInstance;
-	}
-	/* user method */
-	private final String scanXMLCommentText() throws IOException {
-		// Scan for '-->' and return the text up to that point as
-		//   XML_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which
-		//  case change to the ST_XML_COMMENT_END state and return the next
-		//  context as usual.
-		return doScan("-->", false, true, true, XML_COMMENT_TEXT, ST_XML_COMMENT_END, ST_XML_COMMENT_END);
-	}
-	/* user method */
-	private final String scanJSPCommentText() throws IOException {
-		// Scan for '--%>' and return the text up to that point as
-		//   JSP_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which
-		//  case change to the ST_JSP_COMMENT_END state and return the next
-		//  context as usual.
-		return doScan("--%>", false, false, true, JSP_COMMENT_TEXT, ST_JSP_COMMENT_END, ST_JSP_COMMENT_END);
-	}
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public JSPTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public JSPTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed DFA transition table.
-   *
-   * @param packed   the packed transition table
-   * @return         the unpacked transition table
-   */
-  private static int [] yy_unpack(String packed) {
-    int [] trans = new int[28900];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 7180) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      value--;
-      do trans[j++] = value; while (--count > 0);
-    }
-    return trans;
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 1376) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning - from the SED JFlex skeleton
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-    // DO NOT EXIT the VM on an error
-    // System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-	/**
-	 * user method - skeleton.sed
-	 */
-	protected final boolean containsTagName(char[] markerTagName, int offset, int tagnameLength) {
-		for(int j = 0; j < fBlockMarkers.size(); j++) {
-			BlockMarker marker = (BlockMarker)fBlockMarkers.get(j);
-			if(marker.getTagName().length() == tagnameLength) {
-				boolean matchesSoFar = true;
-				for(int i = 0; i < tagnameLength && matchesSoFar; i++) {
-					if(marker.isCaseSensitive()) {
-						if(marker.getTagName().charAt(i) != markerTagName[i + offset])
-							matchesSoFar = false;
-					}
-					else {
-						if(Character.toLowerCase(marker.getTagName().charAt(i)) != Character.toLowerCase(markerTagName[i + offset]))
-							matchesSoFar = false;
-					}
-				}
-				if(matchesSoFar)
-					return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * user method - skeleton.sed
-	 *
-	 * Return ALL of the regions scannable within the remaining text
-	 * Note: for verification use
-	 */
-	public final List getRegions() {
-		List tokens = new ArrayList();
-		ITextRegion region = null;
-		try {
-			region = getNextToken();
-			while(region != null) {
-				if (region != null) {
-					tokens.add(region);
-				}
-				region = getNextToken();
-			}
-		}
-		catch (StackOverflowError e) {
-			Logger.logException(getClass().getName()+": input could not be tokenized correctly at position " + getOffset(), e);//$NON-NLS-1$
-			throw e;
-		}
-		catch (Exception e) {
-			// Since this is convenience method and NOT the recommended 
-			// way of getting tokens, many errors are simply hidden
-			Logger.logException("Exception not handled retrieving regions: " + e.getLocalizedMessage(), e);//$NON-NLS-1$
-		}
-		return tokens;
-	}
-	/**
-	 * user method - skeleton.sed
-	 */
-	private final void dump(String s) {
-		if (Debug.debugTokenizer) {
-			System.out.println(s + " (" + yychar + "-" + //$NON-NLS-2$//$NON-NLS-1$
-				(yylength() + yychar) + "):\'" +//$NON-NLS-1$
-					StringUtils.escape(yytext()) + "\'");//$NON-NLS-1$
-		}
-	}
-	/* user method  - skeleton.sed */
-	public final boolean isEOF() {
-		return yy_atEOF;
-	}
-/* user method - skeleton.sed */
-protected final boolean containsTagName(String markerTagName) {
-	Iterator blocks = fBlockMarkers.iterator();
-	while(blocks.hasNext()) {
-		BlockMarker marker = (BlockMarker)blocks.next();
-		if(marker.isCaseSensitive()) {
-			if(marker.getTagName().equals(markerTagName))
-				return true;
-		}
-		else {
-			if(marker.getTagName().equalsIgnoreCase(markerTagName))
-				return true;
-		}
-	}
-	return false;
-}
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    // do nothing, this is the downstream parser's job
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-    yy_pushbackPos = -1;
-    boolean yy_was_pushback;
-
-    while (true) {
-
-      yychar+= yylength();
-
-      boolean yy_counted = false;
-      for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
-                                                      yy_currentPos++) {
-        switch (yy_buffer[yy_currentPos]) {
-        case '\r':
-          yyline++;
-          yy_counted = true;
-          break;
-        case '\n':
-          if (yy_counted)
-            yy_counted = false;
-          else {
-            yyline++;
-          }
-          break;
-        default:
-          yy_counted = false;
-        }
-      }
-
-      if (yy_counted) {
-        if ( yy_advance() == '\n' ) yyline--;
-        if ( !yy_atEOF ) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      yy_state = yy_lexical_state;
-
-      yy_was_pushback = false;
-
-      yy_forAction: {
-        while (true) {
-    
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ];
-          if (yy_next == -1) break yy_forAction;
-          yy_state = yy_next;
-
-          int yy_attributes = YY_ATTRIBUTE[yy_state];
-          if ( (yy_attributes & 2) > 0 )
-            yy_pushbackPos = yy_currentPos;
-
-          if ( (yy_attributes & 1) > 0 ) {
-            yy_was_pushback = (yy_attributes & 4) > 0;
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( (yy_attributes & 8) > 0 ) break yy_forAction;
-          }
-
-        }
-      }
-
-      if (yy_was_pushback)
-        yy_markedPos = yy_pushbackPos;
-
-      switch (yy_action) {    
-
-        case 578: 
-        case 583: 
-        case 590: 
-        case 595: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("jsp directive tag name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return JSP_DIRECTIVE_NAME;
- }
-        case 611: break;
-        case 542: 
-        case 544: 
-        case 545: 
-        case 546: 
-        case 547: 
-        case 548: 
-        case 549: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCDATA start");//$NON-NLS-1$
-	fStateStack.push(yystate());
-	yybegin(ST_CDATA_TEXT);
-	return XML_CDATA_OPEN;
- }
-        case 612: break;
-        case 534: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("jsp:root tag name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return JSP_ROOT_TAG_NAME;
- }
-        case 613: break;
-        case 526: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("element");//$NON-NLS-1$
-	yybegin(ST_XML_ELEMENT_DECLARATION);
-	return XML_ELEMENT_DECLARATION;
- }
-        case 614: break;
-        case 525: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist");//$NON-NLS-1$
-	yybegin(ST_XML_ATTLIST_DECLARATION);
-	return XML_ATTLIST_DECLARATION;
- }
-        case 615: break;
-        case 524: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_DECLARATION);
-	return XML_DOCTYPE_DECLARATION;
- }
-        case 616: break;
-        case 510: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_PUBREF;
-	yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
- }
-        case 617: break;
-        case 509: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_SYSREF;
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
- }
-        case 618: break;
-        case 503: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction target");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 619: break;
-        case 481: 
-        case 519: 
-        case 520: 
-          { 
-	return JSP_VBL_QUOTED_CONTENT;
- }
-        case 620: break;
-        case 476: 
-        case 515: 
-        case 516: 
-          { 
-	return JSP_EL_QUOTED_CONTENT;
- }
-        case 621: break;
-        case 472: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nJSP comment close");//$NON-NLS-1$
-	yybegin(YYINITIAL);
-	return JSP_COMMENT_CLOSE;
- }
-        case 622: break;
-        case 471: 
-          { 
-	yybegin(ST_JSP_COMMENT);
-	assembleEmbeddedContainer(JSP_COMMENT_OPEN, JSP_COMMENT_CLOSE);
-	if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN)
-		yybegin(ST_BLOCK_TAG_SCAN);
-	return PROXY_CONTEXT;
- }
-        case 623: break;
-        case 460: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	if(yylength() > 2)
-		yypushback(yylength() -2);
-	if(Debug.debugTokenizer)
-		dump("VBL in attr value");//$NON-NLS-1$
-	yybegin(ST_JSP_VBL);
-	fELlevel++;
-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE});
-	fStateStack.pop();
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	return PROXY_CONTEXT;
- }
-        case 624: break;
-        case 459: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	if(yylength() > 2)
-		yypushback(yylength() -2);
-	if(Debug.debugTokenizer)
-		dump("EL in attr value");//$NON-NLS-1$
-	yybegin(ST_JSP_EL);
-	fELlevel++;
-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE});
-	fStateStack.pop();
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	return PROXY_CONTEXT;
- }
-        case 625: break;
-        case 454: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCharRef");//$NON-NLS-1$
-	return XML_CHAR_REFERENCE;
- }
-        case 626: break;
-        case 451: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\ncomment start");//$NON-NLS-1$
-	fEmbeddedHint = XML_COMMENT_TEXT;
-	fEmbeddedPostState = ST_XML_COMMENT;
-	yybegin(ST_XML_COMMENT);
-	return XML_COMMENT_OPEN;
- }
-        case 627: break;
-        case 450: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nJSP comment start");//$NON-NLS-1$
-	yybegin(ST_JSP_COMMENT);
-	return JSP_COMMENT_OPEN;
- }
-        case 628: break;
-        case 383: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction target");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 629: break;
-        case 382: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	yybegin(YYINITIAL);
-	return XML_COMMENT_CLOSE;
- }
-        case 630: break;
-        case 381: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA end");//$NON-NLS-1$
-	yybegin(fStateStack.pop());
-	return XML_CDATA_CLOSE;
- }
-        case 631: break;
-        case 380: 
-          { 
-	yybegin(ST_JSP_VBL);
-	if(yylength() > 2)
-		yypushback(yylength() - 2);
-	fELlevel++;
-	fEmbeddedHint = XML_CONTENT;
-	fEmbeddedPostState = YYINITIAL;
-	assembleEmbeddedContainer(JSP_VBL_OPEN, JSP_VBL_CLOSE);
-	fEmbeddedHint = XML_CONTENT;
-	yybegin(YYINITIAL);
-	return PROXY_CONTEXT;
- }
-        case 632: break;
-        case 379: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nPEReference");//$NON-NLS-1$
-	return XML_PE_REFERENCE;
- }
-        case 633: break;
-        case 378: 
-          { 
-	yybegin(ST_JSP_EL);
-	if(yylength() > 2)
-		yypushback(yylength() - 2);
-	fELlevel++;
-	fEmbeddedHint = XML_CONTENT;
-	fEmbeddedPostState = YYINITIAL;
-	assembleEmbeddedContainer(JSP_EL_OPEN, JSP_EL_CLOSE);
-	fEmbeddedHint = XML_CONTENT;
-	yybegin(YYINITIAL);
-	return PROXY_CONTEXT;
- }
-        case 634: break;
-        case 375: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nEntityRef");//$NON-NLS-1$
-	return XML_ENTITY_REFERENCE;
- }
-        case 635: break;
-        case 369: 
-        case 406: 
-        case 412: 
-        case 418: 
-        case 421: 
-        case 424: 
-        case 427: 
-        case 431: 
-        case 435: 
-        case 437: 
-        case 440: 
-        case 443: 
-        case 447: 
-          { 
-	/* JSP expression begun (anywhere)
-	 * A consequence of the start anywhere possibility is that the
-	 *  incoming state must be checked to see if it's erroneous
-	 *  due to the order of precedence generated
-	 */
-	// begin sanity checks
-	if(yystate() == ST_JSP_CONTENT) {
-		// at the beginning?!
-		yypushback(2);
-		return JSP_CONTENT;
-	}
-	else if(yystate() == ST_BLOCK_TAG_SCAN) {
-		yypushback(3);
-		return doBlockTagScan();
-	}
-	else if(yystate() == ST_XML_COMMENT) {
-		yypushback(3);
-		return scanXMLCommentText();
-	}
-	else if(yystate() == ST_JSP_COMMENT) {
-		yypushback(3);
-		return scanJSPCommentText();
-	}
-	// end sanity checks
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		// the simple case, just an expression out in content
-		if(Debug.debugTokenizer)
-			dump("\nJSP expression start");//$NON-NLS-1$
-		yybegin(ST_JSP_CONTENT);
-		return JSP_EXPRESSION_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP expression start");//$NON-NLS-1$
-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-		else if(yystate() == ST_CDATA_TEXT) {
-			fEmbeddedPostState = ST_CDATA_TEXT;
-			fEmbeddedHint = XML_CDATA_TEXT;
-		}
-		yybegin(ST_JSP_CONTENT);
-		assembleEmbeddedContainer(JSP_EXPRESSION_OPEN, JSP_CLOSE);
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		// required help for successive embedded regions
-		if(yystate() == ST_XML_TAG_NAME) {
-			fEmbeddedHint = XML_TAG_NAME;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-			fEmbeddedPostState = ST_XML_EQUALS;
-		}
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 636: break;
-        case 368: 
-        case 405: 
-        case 411: 
-        case 417: 
-        case 420: 
-        case 423: 
-        case 426: 
-        case 430: 
-        case 434: 
-        case 436: 
-        case 439: 
-        case 442: 
-        case 446: 
-          { 
-	/* JSP declaration begun (anywhere)
-	 * A consequence of the start anywhere possibility is that the
-	 *  incoming state must be checked to see if it's erroneous
-	 *  due to the order of precedence generated
-	 */
-	// begin sanity checks
-	if(yystate() == ST_JSP_CONTENT) {
-		// at the beginning?!
-		yypushback(2);
-		return JSP_CONTENT;
-	}
-	else if(yystate() == ST_BLOCK_TAG_SCAN) {
-		yypushback(3);
-		return doBlockTagScan();
-	}
-	else if(yystate() == ST_XML_COMMENT) {
-		yypushback(3);
-		return scanXMLCommentText();
-	}
-	else if(yystate() == ST_JSP_COMMENT) {
-		yypushback(3);
-		return scanJSPCommentText();
-	}
-	// end sanity checks
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		// the simple case, just a declaration out in content
-		if(Debug.debugTokenizer)
-			dump("\nJSP declaration start");//$NON-NLS-1$
-		yybegin(ST_JSP_CONTENT);
-		return JSP_DECLARATION_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP declaration start");//$NON-NLS-1$
-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-		else if(yystate() == ST_CDATA_TEXT) {
-			fEmbeddedPostState = ST_CDATA_TEXT;
-			fEmbeddedHint = XML_CDATA_TEXT;
-		}
-		yybegin(ST_JSP_CONTENT);
-		assembleEmbeddedContainer(JSP_DECLARATION_OPEN, JSP_CLOSE);
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		// required help for successive embedded regions
-		if(yystate() == ST_XML_TAG_NAME) {
-			fEmbeddedHint = XML_TAG_NAME;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-			fEmbeddedPostState = ST_XML_EQUALS;
-		}
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 637: break;
-        case 367: 
-          { 
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		if(Debug.debugTokenizer)
-			dump("\nJSP directive start");//$NON-NLS-1$
-		yybegin(ST_JSP_DIRECTIVE_NAME);
-		return JSP_DIRECTIVE_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP directive start");//$NON-NLS-1$
-		yybegin(ST_JSP_DIRECTIVE_NAME);
-		assembleEmbeddedContainer(JSP_DIRECTIVE_OPEN, new String[]{JSP_DIRECTIVE_CLOSE, JSP_CLOSE});
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 638: break;
-        case 357: 
-          { 
-	yybegin(ST_JSP_VBL_DQUOTES_END);
-	return JSP_VBL_QUOTED_CONTENT;
- }
-        case 639: break;
-        case 353: 
-          { 
-	yybegin(ST_JSP_VBL_SQUOTES_END);
-	return JSP_VBL_QUOTED_CONTENT;
- }
-        case 640: break;
-        case 351: 
-          { 
-	fELlevel++;
-	if(fELlevel == 1) {
-		return JSP_VBL_OPEN;
-	}
- }
-        case 641: break;
-        case 341: 
-          { 
-	yybegin(ST_JSP_EL_DQUOTES_END);
-	return JSP_EL_QUOTED_CONTENT;
- }
-        case 642: break;
-        case 337: 
-          { 
-	yybegin(ST_JSP_EL_SQUOTES_END);
-	return JSP_EL_QUOTED_CONTENT;
- }
-        case 643: break;
-        case 335: 
-          { 
-	//System.out.println(JSP_EL_CONTENT+ ":[" + yytext() + "]");
-	return JSP_EL_CONTENT;
- }
-        case 644: break;
-        case 334: 
-          { 
-	fELlevel++;
-	if(fELlevel == 1) {
-		return JSP_EL_OPEN;
-	}
- }
-        case 645: break;
-        case 331: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_DQUOTED_VBL);
-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});
-	// abort early when an unescaped double quote is found in the VBL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 646: break;
-        case 330: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_DQUOTED_EL);
-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});
-	// abort early when an unescaped double quote is found in the EL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 647: break;
-        case 328: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_SQUOTED_VBL);
-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});
-	// abort early when an unescaped single quote is found in the VBL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 648: break;
-        case 327: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_SQUOTED_EL);
-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});
-	// abort early when an unescaped single quote is found in the EL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 649: break;
-        case 326: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	int incomingState = yystate();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	if(Debug.debugTokenizer)
-		dump("JSP attribute value start - end tag");//$NON-NLS-1$
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedContainer(XML_END_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});
-	if(yystate() != ST_ABORT_EMBEDDED)
-        yybegin(incomingState);
-	return PROXY_CONTEXT;
- }
-        case 650: break;
-        case 284: 
-        case 296: 
-        case 302: 
-          { 
-	return XML_DOCTYPE_INTERNAL_SUBSET;
- }
-        case 651: break;
-        case 272: 
-          { 
-	String tagName = yytext().substring(1);
-	// pushback to just after the opening bracket
-	yypushback(yylength() - 1);
-	if(!isNestable(tagName)) {
-		yybegin(ST_XML_TAG_NAME);
-		return XML_TAG_OPEN;
-	}
-	if(Debug.debugTokenizer)
-		dump("tag in place of attr value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	// embedded container should be looking for the name (again) next
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ?
-	fStateStack.pop();
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	return PROXY_CONTEXT;
- }
-        case 652: break;
-        case 270: 
-          { 
-	String tagName = yytext().substring(1);
-	// pushback to just after the opening bracket
-	yypushback(yylength() - 1);
-	if(!isNestable(tagName)) {
-		yybegin(ST_XML_TAG_NAME);
-		return XML_TAG_OPEN;
-	}
-	if(Debug.debugTokenizer)
-		dump("tag in place of attr name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	// embedded container should be looking for the name (again) next
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ?
-	fStateStack.pop();
-	yybegin(ST_XML_EQUALS);
-	return PROXY_CONTEXT;
- }
-        case 653: break;
-        case 268: 
-          { 
-        yybegin(YYINITIAL);
-	fEmbeddedHint = UNDEFINED;
-	if(Debug.debugTokenizer)
-		dump("empty tag close");//$NON-NLS-1$
-        return XML_EMPTY_TAG_CLOSE;
- }
-        case 654: break;
-        case 125: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-	yybegin(ST_XML_ATTRIBUTE_VALUE_DQUOTED);
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("JSP attribute value start - complex double quoted");//$NON-NLS-1$
-	assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_DQUOTE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE);
-	fStateStack.pop();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	return PROXY_CONTEXT;
- }
-        case 655: break;
-        case 123: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("JSP tag embedded name start - start tag");//$NON-NLS-1$
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});
-	fStateStack.pop();
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	return PROXY_CONTEXT;
- }
-        case 656: break;
-        case 122: 
-        case 127: 
-        case 128: 
-        case 274: 
-        case 278: 
-        case 279: 
-        case 388: 
-        case 391: 
-        case 458: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 657: break;
-        case 121: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("equals");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 658: break;
-        case 120: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 659: break;
-        case 116: 
-        case 117: 
-        case 118: 
-        case 269: 
-        case 387: 
-        case 457: 
-        case 485: 
-        case 486: 
-        case 504: 
-        case 505: 
-        case 522: 
-        case 523: 
-        case 535: 
-        case 543: 
-        case 550: 
-        case 551: 
-        case 552: 
-        case 553: 
-        case 555: 
-        case 561: 
-        case 562: 
-        case 563: 
-        case 564: 
-        case 565: 
-        case 571: 
-        case 572: 
-        case 573: 
-        case 574: 
-        case 575: 
-        case 581: 
-        case 582: 
-        case 584: 
-        case 585: 
-        case 591: 
-        case 592: 
-        case 593: 
-        case 594: 
-        case 600: 
-        case 601: 
-        case 602: 
-        case 603: 
-        case 606: 
-        case 607: 
-        case 609: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 660: break;
-        case 114: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag close");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	if(isBlockMarker()) {
-		fEmbeddedHint = getBlockMarkerContext();
-		fEmbeddedPostState = ST_BLOCK_TAG_SCAN;
-        	yybegin(ST_BLOCK_TAG_SCAN);
-	}
-	else
-        	yybegin(YYINITIAL);
-        return XML_TAG_CLOSE;
- }
-        case 661: break;
-        case 107: 
-        case 111: 
-        case 264: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr value");//$NON-NLS-1$
-        yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 662: break;
-        case 106: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("equals");//$NON-NLS-1$
-        yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 663: break;
-        case 105: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr name");//$NON-NLS-1$
-        yybegin(ST_JSP_DIRECTIVE_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 664: break;
-        case 102: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP directive name");//$NON-NLS-1$
-	yybegin(ST_JSP_DIRECTIVE_NAME_WHITESPACE);
-	return JSP_DIRECTIVE_NAME;
- }
-        case 665: break;
-        case 98: 
-        case 99: 
-        case 100: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP code content");//$NON-NLS-1$
-	return doScan("%>", false, false, false, JSP_CONTENT, ST_JSP_CONTENT, ST_JSP_CONTENT);
- }
-        case 666: break;
-        case 94: 
-        case 96: 
-        case 97: 
-        case 254: 
-        case 255: 
-        case 258: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 667: break;
-        case 93: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction '='");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_DHTML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 668: break;
-        case 92: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_DHTML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 669: break;
-        case 90: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 670: break;
-        case 84: 
-        case 86: 
-        case 245: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 671: break;
-        case 83: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction '='");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 672: break;
-        case 50: 
-        case 200: 
-        case 201: 
-        case 204: 
-        case 214: 
-        case 215: 
-        case 218: 
-        case 219: 
-        case 362: 
-        case 365: 
-          { 
-	return JSP_VBL_CONTENT;
- }
-        case 673: break;
-        case 43: 
-        case 179: 
-        case 180: 
-        case 183: 
-        case 193: 
-        case 194: 
-        case 197: 
-        case 198: 
-        case 332: 
-        case 346: 
-        case 349: 
-        case 416: 
-          { 
-	return JSP_EL_CONTENT;
- }
-        case 674: break;
-        case 35: 
-        case 159: 
-        case 160: 
-        case 322: 
-        case 413: 
-        case 470: 
-        case 493: 
-        case 512: 
-        case 528: 
-        case 537: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist contentspec");//$NON-NLS-1$
-	return XML_ATTLIST_DECL_CONTENT;
- }
-        case 675: break;
-        case 33: 
-        case 152: 
-        case 153: 
-        case 312: 
-        case 407: 
-        case 468: 
-        case 492: 
-        case 511: 
-        case 527: 
-        case 536: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl contentspec");//$NON-NLS-1$
-	return XML_ELEMENT_DECL_CONTENT;
- }
-        case 676: break;
-        case 22: 
-        case 112: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("inappropriate tag name");//$NON-NLS-1$
-	if(!fStateStack.empty() && (fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_SQUOTED||fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_DQUOTED)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		yypushback(yylength()-1);
-		return XML_TAG_ATTRIBUTE_VALUE;
-	}
-	yybegin(YYINITIAL);
-        return XML_CONTENT;
- }
-        case 677: break;
-        case 18: 
-        case 104: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("white space");//$NON-NLS-1$
-	yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
-	return WHITE_SPACE;
- }
-        case 678: break;
-        case 5: 
-        case 8: 
-        case 9: 
-        case 10: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 15: 
-        case 17: 
-        case 19: 
-        case 20: 
-        case 21: 
-        case 23: 
-        case 24: 
-        case 25: 
-        case 26: 
-        case 27: 
-        case 28: 
-        case 29: 
-        case 30: 
-        case 31: 
-        case 32: 
-        case 34: 
-        case 40: 
-        case 41: 
-        case 73: 
-        case 170: 
-        case 175: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("white space");//$NON-NLS-1$
-        return WHITE_SPACE;
- }
-        case 679: break;
-        case 0: 
-        case 57: 
-        case 60: 
-        case 62: 
-        case 226: 
-        case 228: 
-        case 229: 
-        case 231: 
-        case 233: 
-        case 372: 
-        case 373: 
-        case 374: 
-        case 453: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nXML content");//$NON-NLS-1$
-	return XML_CONTENT;
- }
-        case 680: break;
-        case 58: 
-        case 101: 
-        case 113: 
-        case 119: 
-        case 129: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nstart tag open");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_TAG_NAME);
-        return XML_TAG_OPEN;
- }
-        case 681: break;
-        case 59: 
-        case 61: 
-        case 65: 
-        case 66: 
-        case 67: 
-        case 71: 
-        case 72: 
-        case 81: 
-        case 85: 
-        case 87: 
-        case 88: 
-        case 89: 
-        case 91: 
-        case 95: 
-        case 103: 
-        case 108: 
-        case 109: 
-        case 110: 
-        case 115: 
-        case 124: 
-        case 131: 
-        case 132: 
-        case 133: 
-        case 134: 
-        case 136: 
-        case 137: 
-        case 139: 
-        case 140: 
-        case 141: 
-        case 144: 
-        case 145: 
-        case 146: 
-        case 149: 
-        case 150: 
-        case 151: 
-        case 156: 
-        case 157: 
-        case 158: 
-        case 164: 
-        case 167: 
-        case 172: 
-        case 173: 
-        case 177: 
-        case 178: 
-        case 185: 
-        case 186: 
-        case 188: 
-        case 189: 
-        case 195: 
-        case 199: 
-        case 206: 
-        case 207: 
-        case 209: 
-        case 210: 
-        case 216: 
-        case 220: 
-          { 
-	if (Debug.debugTokenizer)
-		System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
-			yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
-	return UNDEFINED;
- }
-        case 682: break;
-        case 63: 
-        case 64: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA text");//$NON-NLS-1$
-	fEmbeddedPostState = ST_CDATA_TEXT;
-	fEmbeddedHint = XML_CDATA_TEXT;
-	String returnedContext = doScan("]]>", false, true, true, XML_CDATA_TEXT, ST_CDATA_END,  ST_CDATA_END);//$NON-NLS-1$
-	if(returnedContext == XML_CDATA_TEXT)
-		yybegin(ST_CDATA_END);
-	return returnedContext;
- }
-        case 683: break;
-        case 68: 
-        case 187: 
-        case 190: 
-        case 208: 
-        case 211: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("LINE FEED");//$NON-NLS-1$
-	return WHITE_SPACE;
- }
-        case 684: break;
-        case 69: 
-        case 70: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment content");//$NON-NLS-1$
-	return scanXMLCommentText();
- }
-        case 685: break;
-        case 74: 
-        case 75: 
-        case 76: 
-        case 239: 
-        case 240: 
-        case 384: 
-        case 456: 
-        case 484: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction target");//$NON-NLS-1$
-	fEmbeddedHint = XML_CONTENT;
-        yybegin(ST_PI_WS);
-        return XML_TAG_NAME;
- }
-        case 686: break;
-        case 77: 
-          { 
-        yybegin(ST_PI_CONTENT);
-        return WHITE_SPACE;
- }
-        case 687: break;
-        case 78: 
-        case 79: 
-        case 80: 
-          { 
-		// block scan until close is found
-	return doScan("?>", false, false, false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
- }
-        case 688: break;
-        case 82: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_XML_PI_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 689: break;
-        case 126: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-	yybegin(ST_XML_ATTRIBUTE_VALUE_SQUOTED);
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("JSP attribute value start - complex single quoted");//$NON-NLS-1$
-	assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_SQUOTE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE);
-	fStateStack.pop();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-	return PROXY_CONTEXT;
- }
-        case 690: break;
-        case 130: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("declaration end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 691: break;
-        case 135: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype type");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
-	return XML_DOCTYPE_NAME;
- }
-        case 692: break;
-        case 138: 
-        case 142: 
-        case 289: 
-        case 293: 
-        case 400: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype public reference");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
- }
-        case 693: break;
-        case 143: 
-        case 147: 
-        case 299: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype system reference");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_DECLARATION_CLOSE);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
- }
-        case 694: break;
-        case 148: 
-        case 305: 
-        case 309: 
-        case 403: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl name");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
-	return XML_ELEMENT_DECL_NAME;
- }
-        case 695: break;
-        case 154: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 696: break;
-        case 155: 
-        case 315: 
-        case 319: 
-        case 409: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist name");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
-	return XML_ATTLIST_DECL_NAME;
- }
-        case 697: break;
-        case 161: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 698: break;
-        case 165: 
-        case 166: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nJSP comment text");//$NON-NLS-1$
-	return scanJSPCommentText();
- }
-        case 699: break;
-        case 168: 
-        case 174: 
-          { 
-	return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 700: break;
-        case 169: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	int incomingState = yystate();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	if(Debug.debugTokenizer)
-		dump("tag inside of JSP attribute value start");//$NON-NLS-1$
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});
-	if(yystate() != ST_ABORT_EMBEDDED)
-        yybegin(incomingState);
-	return PROXY_CONTEXT;
- }
-        case 701: break;
-        case 171: 
-          { 
-	return XML_TAG_ATTRIBUTE_VALUE_SQUOTE;
- }
-        case 702: break;
-        case 176: 
-          { 
-	return XML_TAG_ATTRIBUTE_VALUE_DQUOTE;
- }
-        case 703: break;
-        case 181: 
-          { 
-	yybegin(ST_JSP_EL_DQUOTES);
-	return JSP_EL_DQUOTE;
- }
-        case 704: break;
-        case 182: 
-          { 
-	yybegin(ST_JSP_EL_SQUOTES);
-	return JSP_EL_SQUOTE;
- }
-        case 705: break;
-        case 184: 
-          { 
-	fELlevel--;
-	if(fELlevel == 0) {
-		yybegin(YYINITIAL);
-		return JSP_EL_CLOSE;
-	}
-	return JSP_EL_CONTENT;
- }
-        case 706: break;
-        case 191: 
-          { 
-	yybegin(ST_JSP_EL);
-	return JSP_EL_SQUOTE;
- }
-        case 707: break;
-        case 192: 
-          { 
-	yybegin(ST_JSP_EL);
-	return JSP_EL_DQUOTE;
- }
-        case 708: break;
-        case 196: 
-          { 
-	return JSP_EL_CLOSE;
- }
-        case 709: break;
-        case 202: 
-          { 
-	yybegin(ST_JSP_VBL_DQUOTES);
-	return JSP_VBL_DQUOTE;
- }
-        case 710: break;
-        case 203: 
-          { 
-	yybegin(ST_JSP_VBL_SQUOTES);
-	return JSP_VBL_SQUOTE;
- }
-        case 711: break;
-        case 205: 
-          { 
-	fELlevel--;
-	if(fELlevel == 0) {
-		yybegin(YYINITIAL);
-		return JSP_VBL_CLOSE;
-	}
-	return JSP_VBL_CONTENT;
- }
-        case 712: break;
-        case 212: 
-          { 
-	yybegin(ST_JSP_VBL);
-	return JSP_VBL_SQUOTE;
- }
-        case 713: break;
-        case 213: 
-          { 
-	yybegin(ST_JSP_VBL);
-	return JSP_VBL_DQUOTE;
- }
-        case 714: break;
-        case 217: 
-          { 
-	return JSP_VBL_CLOSE;
- }
-        case 715: break;
-        case 221: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nend tag open");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_TAG_NAME);
-        return XML_END_TAG_OPEN;
- }
-        case 716: break;
-        case 222: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nprocessing instruction start");//$NON-NLS-1$
-	yybegin(ST_PI);
-        return XML_PI_OPEN;
- }
-        case 717: break;
-        case 223: 
-        case 234: 
-        case 311: 
-        case 321: 
-        case 323: 
-        case 333: 
-        case 338: 
-        case 342: 
-        case 345: 
-        case 348: 
-        case 350: 
-        case 354: 
-        case 358: 
-        case 361: 
-        case 364: 
-          { 
-	/* JSP scriptlet begun (anywhere)
-	 * A consequence of the start anywhere possibility is that the
-	 *  incoming state must be checked to see if it's erroneous
-	 *  due to the order of precedence generated
-	 */
-	// begin sanity checks
-	if(yystate() == ST_JSP_CONTENT) {
-		// at the beginning?!
-		yypushback(1);
-		return JSP_CONTENT;
-	}
-	else if(yystate() == ST_BLOCK_TAG_SCAN) {
-		yypushback(2);
-		return doBlockTagScan();
-	}
-	else if(yystate() == ST_XML_COMMENT) {
-		yypushback(2);
-		return scanXMLCommentText();
-	}
-	else if(yystate() == ST_JSP_COMMENT) {
-		yypushback(2);
-		return scanJSPCommentText();
-	}
-	// finished sanity checks
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		// the simple case, just a regular scriptlet out in content
-		if(Debug.debugTokenizer)
-			dump("\nJSP scriptlet start");//$NON-NLS-1$
-		yybegin(ST_JSP_CONTENT);
-		return JSP_SCRIPTLET_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP scriptlet start");//$NON-NLS-1$
-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-		else if(yystate() == ST_CDATA_TEXT) {
-			fEmbeddedPostState = ST_CDATA_TEXT;
-			fEmbeddedHint = XML_CDATA_TEXT;
-		}
-		yybegin(ST_JSP_CONTENT);
-		assembleEmbeddedContainer(JSP_SCRIPTLET_OPEN, JSP_CLOSE);
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		// required help for successive embedded regions
-		if(yystate() == ST_XML_TAG_NAME) {
-			fEmbeddedHint = XML_TAG_NAME;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-			fEmbeddedPostState = ST_XML_EQUALS;
-		}
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 718: break;
-        case 224: 
-          { 
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("\ndeclaration start");//$NON-NLS-1$
-        yybegin(ST_XML_DECLARATION);
-	return XML_DECLARATION_OPEN;
- }
-        case 719: break;
-        case 238: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 720: break;
-        case 241: 
-          { 
-		// ended with nothing inside
-		fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 721: break;
-        case 242: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 722: break;
-        case 259: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return JSP_CLOSE;
- }
-        case 723: break;
-        case 261: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return JSP_DIRECTIVE_CLOSE;
- }
-        case 724: break;
-        case 162: 
-        case 163: 
-          { 
-		return doBlockTagScan();
-	 }
-        case 725: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              return null;
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/tasks/JSPTaskTagSeeker.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/tasks/JSPTaskTagSeeker.java
deleted file mode 100644
index 146e6e5..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/tasks/JSPTaskTagSeeker.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.internal.tasks;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.builder.delegates.XMLTaskTagSeeker;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-
-public class JSPTaskTagSeeker extends XMLTaskTagSeeker {
-	protected boolean isCommentRegion(IStructuredDocumentRegion region, ITextRegion textRegion) {
-		return super.isCommentRegion(region, textRegion) || textRegion.getType().equals(XMLJSPRegionContexts.JSP_COMMENT_TEXT);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/rules/NullStructuredDocumentPartitioner.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/rules/NullStructuredDocumentPartitioner.java
deleted file mode 100644
index 022ae4c..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/rules/NullStructuredDocumentPartitioner.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * 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.internal.text.rules;
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredTextPartitioner;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.StructuredTypedRegion;
-
-/**
- * To be used when no known partitioner is available.
- * Always returns the unknown type.
- */
-public class NullStructuredDocumentPartitioner implements IStructuredTextPartitioner {
-
-	public class NullStructuredTypedRegion implements StructuredTypedRegion {
-
-		private int fOffset;
-
-		private int fLength;
-
-		private String fType;
-
-		public void setType(String type) {
-			fType = type;
-		}
-
-		public void setLength(int length) {
-			fLength = length;
-
-		}
-
-		public void setOffset(int offset) {
-			fOffset = offset;
-		}
-
-		public String getType() {
-			return fType;
-		}
-
-		public int getLength() {
-			return fLength;
-		}
-
-		public int getOffset() {
-			return fOffset;
-		}
-
-	}
-
-	public final static String ST_UNKNOWN_PARTITION = "com.ibm.sse.UNKNOWN_PARTITION_TYPE"; //$NON-NLS-1$
-	private final String[] legalTypes = new String[]{ST_UNKNOWN_PARTITION};
-
-	public NullStructuredDocumentPartitioner() {
-		super();
-	}
-
-	public void connect(IDocument document) {
-		// nothing to do
-	}
-
-	public StructuredTypedRegion createPartition(int offset, int length, String type) {
-		StructuredTypedRegion result = new NullStructuredTypedRegion();
-		result.setOffset(offset);
-		result.setLength(length);
-		result.setType(type);
-		return result;
-	}
-
-	public void disconnect() {
-		// nothing to do
-	}
-
-	public String getDefault() {
-		return ST_UNKNOWN_PARTITION;
-	}
-
-	public String[] getLegalContentTypes() {
-		return legalTypes;
-	}
-
-	public String getPartitionType(ITextRegion region, int offset) {
-		return ST_UNKNOWN_PARTITION;
-	}
-
-	public String getPartitionTypeBetween(IStructuredDocumentRegion previousNode, ITextRegion previousStartTagNameRegion, IStructuredDocumentRegion nextNode, ITextRegion nextEndTagNameRegion) {
-		return ST_UNKNOWN_PARTITION;
-	}
-
-	public ITypedRegion[] computePartitioning(int offset, int length) {
-		ITypedRegion[] alwaysOne = new ITypedRegion[]{createPartition(offset, length, ST_UNKNOWN_PARTITION)};
-		return alwaysOne;
-	}
-
-	public void documentAboutToBeChanged(DocumentEvent event) {
-	}
-
-	public boolean documentChanged(DocumentEvent event) {
-		return false;
-	}
-
-	public String getContentType(int offset) {
-		return getDefault();
-	}
-
-	public ITypedRegion getPartition(int offset) {
-		return createPartition(offset, 1, getDefault());
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/rules/StructuredTextPartitionerForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/rules/StructuredTextPartitionerForJSP.java
deleted file mode 100644
index 0d31501..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/text/rules/StructuredTextPartitionerForJSP.java
+++ /dev/null
@@ -1,543 +0,0 @@
-/*******************************************************************************
- * 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.internal.text.rules;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.JSP12Namespace;
-import org.eclipse.jst.jsp.core.contentmodel.tld.JSP12TLDNames;
-import org.eclipse.jst.jsp.core.encoding.JSPDocumentHeadContentDetector;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.wst.html.core.internal.text.rules.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.sse.core.internal.parser.ForeignRegion;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandlerExtension;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredTextPartitioner;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-
-public class StructuredTextPartitionerForJSP extends StructuredTextPartitioner {
-
-	private class PrefixListener implements StructuredDocumentRegionHandler, StructuredDocumentRegionHandlerExtension {
-		// track the list of prefixes introduced by taglib directives
-		private List fCustomActionPrefixes = null;
-		private String fLastTrue = null;
-
-		public PrefixListener() {
-			super();
-			fCustomActionPrefixes = new ArrayList(1);
-			resetNodes();
-		}
-
-		private JSPSourceParser getTextSource() {
-			return (JSPSourceParser) structuredDocument.getParser();
-		}
-
-		public void nodeParsed(IStructuredDocumentRegion sdRegion) {
-			// Largely taken from the TLDCMDocumentManager
-			// could test > 1, but since we only care if there are 8 (<%@,
-			// taglib, uri, =, where, prefix, =, what) [or 4 for includes]
-			if (sdRegion.getNumberOfRegions() > 4 && sdRegion.getRegions().get(1).getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-				ITextRegion nameRegion = sdRegion.getRegions().get(1);
-				try {
-					boolean tablibdetected = false;
-					boolean directiveTaglibdetected;
-					int startOffset = sdRegion.getStartOffset(nameRegion);
-					int textLength = nameRegion.getTextLength();
-
-					if (getTextSource() != null) {
-						tablibdetected = getTextSource().regionMatches(startOffset, textLength, JSP12TLDNames.TAGLIB);
-						directiveTaglibdetected = getTextSource().regionMatches(startOffset, textLength, JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-					}
-					else {
-						// old fashioned way
-						String directiveName = getTextSource().getText(startOffset, textLength);
-						tablibdetected = directiveName.equals(JSP12TLDNames.TAGLIB);
-						directiveTaglibdetected = directiveName.equals(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-					}
-					if (tablibdetected || directiveTaglibdetected) {
-						processTaglib(sdRegion);
-					}
-				}
-				catch (StringIndexOutOfBoundsException sioobExc) {
-					// ISSUE: why is this "normal" here?
-					//do nothing
-				}
-			}
-		}
-
-
-		private void processTaglib(IStructuredDocumentRegion taglibStructuredDocumentRegion) {
-			ITextRegionList regions = taglibStructuredDocumentRegion.getRegions();
-			String prefixValue = null;
-			boolean prefixnameDetected = false;
-			try {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					int startOffset = taglibStructuredDocumentRegion.getStartOffset(region);
-					int textLength = region.getTextLength();
-					if (region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-						prefixnameDetected = getTextSource().regionMatches(startOffset, textLength, JSP12TLDNames.PREFIX);
-						//String regionText =
-						// fTextSource.getText(startOffset, textLength);
-						//prefixname =
-						// regionText.equals(JSP12TLDNames.PREFIX);
-					}
-					else if (prefixnameDetected && region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						prefixValue = getTextSource().getText(startOffset, textLength);
-					}
-				}
-			}
-			catch (StringIndexOutOfBoundsException sioobExc) {
-				// nothing to be done
-				prefixValue = null;
-			}
-			if (prefixValue != null) {
-				String prefixText = StringUtils.strip(prefixValue) + ":"; //$NON-NLS-1$
-				if (!fCustomActionPrefixes.contains(prefixText)) {
-					if(debugPrefixListener == true) {
-						System.out.println("StructuredTextPartitionerForJSP.PrefixListener learning prefix: " + prefixText);
-					}
-					fCustomActionPrefixes.add(prefixText);
-				}
-			}
-		}
-
-		public void resetNodes() {
-			fLastTrue = null;
-			fCustomActionPrefixes.clear();
-			fCustomActionPrefixes.add(JSP11Namespace.JSP_TAG_PREFIX + ":"); //$NON-NLS-1$
-			if(debugPrefixListener == true) {
-				System.out.println("StructuredTextPartitionerForJSP.PrefixListener forgetting learned prefixes");
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see com.ibm.sse.model.parser.StructuredDocumentRegionHandlerExtension#setStructuredDocument(com.ibm.sse.model.text.IStructuredDocument)
-		 */
-		public void setStructuredDocument(IStructuredDocument newDocument) {
-			resetNodes();
-			((StructuredDocumentRegionParser) structuredDocument.getParser()).removeStructuredDocumentRegionHandler(this);
-			if(newDocument != null) {
-				((StructuredDocumentRegionParser) newDocument.getParser()).addStructuredDocumentRegionHandler(this);
-			}
-		}
-
-		public boolean startsWithCustomActionPrefix(String tagname) {
-			if (tagname.equals(fLastTrue))
-				return true;
-			for (int i = 0; i < fCustomActionPrefixes.size(); i++)
-				if (tagname.startsWith((String) fCustomActionPrefixes.get(i))) {
-					fLastTrue = tagname;
-					return true;
-				}
-			return false;
-		}
-	}
-
-	static final boolean debugPrefixListener = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jst.jsp.core/partitioner/prefixlistener"));
-
-
-	// for compatibility with v5.1.0, we'll reuse ST_JSP_DIRECTIVE for action
-	// tags
-	private final static boolean fEnableJSPActionPartitions = true;
-	// list of valid JSP 1.2 tag and action names
-	private static List fJSPActionTagNames = null;
-	private static final String HTML_CONTENT_TYPE = "text/html"; //$NON-NLS-1$
-
-	public final static String ST_DEFAULT_JSP = "org.eclipse.jst.jsp.DEFAULT_JSP"; //$NON-NLS-1$
-	public final static String ST_JSP_COMMENT = "org.eclipse.jst.jsp.JSP_COMMENT"; //$NON-NLS-1$
-	private final static String ST_JSP_SCRIPT = "org.eclipse.jst.jsp.SCRIPT."; //$NON-NLS-1$
-	public final static String ST_JSP_CONTENT_DELIMITER = ST_JSP_SCRIPT + "DELIMITER"; //$NON-NLS-1$
-	public final static String ST_JSP_CONTENT_JAVA = ST_JSP_SCRIPT + "JAVA"; //$NON-NLS-1$
-	public final static String ST_JSP_CONTENT_JAVASCRIPT = ST_JSP_SCRIPT + "JAVASCRIPT"; //$NON-NLS-1$
-	public final static String ST_JSP_DEFAULT_EL = ST_JSP_SCRIPT + "JSP_EL"; //$NON-NLS-1$
-	public final static String ST_JSP_DIRECTIVE = "org.eclipse.jst.jsp.JSP_DIRECTIVE"; //$NON-NLS-1$
-	private static final String XHTML_CONTENT_TYPE = "text/xhtml"; //$NON-NLS-1$
-	private static final String XML_CONTENT_TYPE = "text/xml"; //$NON-NLS-1$
-
-	private final static String[] fConfiguredContentTypes = new String[]{ST_DEFAULT_JSP, ST_JSP_DEFAULT_EL, ST_JSP_DIRECTIVE, ST_JSP_CONTENT_DELIMITER, ST_JSP_CONTENT_JAVA, ST_JSP_CONTENT_JAVASCRIPT, ST_JSP_COMMENT};
-
-	/**
-	 * @return
-	 */
-	public static String[] getConfiguredContentTypes() {
-		return fConfiguredContentTypes;
-	}
-
-	private IStructuredTextPartitioner fEmbeddedPartitioner = null;
-
-	
-	/**
-	 * Assume language=java by default ... client, such as
-	 * PageDirectiveAdapter, must set language of document partitioner,
-	 * if/when it changes.
-	 */
-	private String fLanguage = "java"; //$NON-NLS-1$
-	private PrefixListener fPrefixParseListener;
-
-	/**
-	 * Constructor for JSPDocumentPartioner.
-	 */
-	public StructuredTextPartitionerForJSP() {
-		super();
-		if (fJSPActionTagNames == null) {
-			fJSPActionTagNames = new ArrayList(); // uses .equals() for
-			// contains()
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.DECLARATION);
-			//			fJSPActionTagNames.add(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-			//			fJSPActionTagNames.add(JSP12Namespace.ElementName.DIRECTIVE_PAGE);
-			//			fJSPActionTagNames.add(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.EXPRESSION);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.FALLBACK);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.FORWARD);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.GETPROPERTY);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.INCLUDE);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.PARAM);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.PARAMS);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.PLUGIN);
-			//			fJSPActionTagNames.add(JSP12Namespace.ElementName.ROOT);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.SCRIPTLET);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.SETPROPERTY);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.TEXT);
-			fJSPActionTagNames.add(JSP12Namespace.ElementName.USEBEAN);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
-	 */
-	public void connect(IDocument document) {
-		super.connect(document);
-		fSupportedTypes = null;
-
-		// be extra paranoid
-		if (fEnableJSPActionPartitions && structuredDocument.getParser() instanceof JSPSourceParser) {
-			StructuredDocumentRegionParser parser = (StructuredDocumentRegionParser) structuredDocument.getParser();
-			parser.removeStructuredDocumentRegionHandler(fPrefixParseListener);
-			fPrefixParseListener = new PrefixListener();
-			parser.addStructuredDocumentRegionHandler(fPrefixParseListener);
-		}
-	}
-
-	private IStructuredTextPartitioner createStructuredTextPartitioner(IStructuredDocument structuredDocument) {
-		IStructuredTextPartitioner result = new NullStructuredDocumentPartitioner();
-		JSPDocumentHeadContentDetector jspHeadContentDetector = new JSPDocumentHeadContentDetector();
-		jspHeadContentDetector.set(structuredDocument);
-		String contentType;
-		try {
-			contentType = jspHeadContentDetector.getContentType();
-		}
-		catch (IOException e) {
-			// should be impossible in this context
-			throw new Error(e);
-		}
-		if (contentType == null) {
-			contentType = "text/html"; //$NON-NLS-1$
-		}
-		// we currently only have two ... eventually should
-		// make or tie-in to existing registry.
-		if (contentType.equalsIgnoreCase(HTML_CONTENT_TYPE)) {
-			result = new StructuredTextPartitionerForHTML();
-			result.connect(structuredDocument);
-		}
-		else if (contentType.equalsIgnoreCase(XHTML_CONTENT_TYPE)) {
-			result = new StructuredTextPartitionerForHTML();
-			result.connect(structuredDocument);
-		}
-		else if (contentType.equalsIgnoreCase(XML_CONTENT_TYPE)) {
-			result = new StructuredTextPartitionerForXML();
-			result.connect(structuredDocument);
-		}
-		return result;
-
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
-	 */
-	public void disconnect() {
-		// we'll check for null document, just for bullet proofing (incase
-		// disconnnect is called without corresponding connect.
-		if (structuredDocument != null) {
-			StructuredDocumentRegionParser parser = (StructuredDocumentRegionParser) structuredDocument.getParser();
-			if (fPrefixParseListener != null)
-				parser.removeStructuredDocumentRegionHandler(fPrefixParseListener);
-			fPrefixParseListener = null;
-		}
-
-		if (fEmbeddedPartitioner != null) {
-			fEmbeddedPartitioner.disconnect();
-			// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4909
-			/**
-			 * force recreation when reconnected
-			 */
-			fEmbeddedPartitioner = null;
-		}
-		// super.disconnect should come at end, since it (may) set
-		// structuredDocument to null
-		super.disconnect();
-	}
-
-	public String getDefault() {
-		return getEmbeddedPartitioner().getDefault();
-	}
-
-	/**
-	 * Returns the embeddedPartitioner.
-	 * 
-	 * @return IStructuredTextPartitioner
-	 */
-	public IStructuredTextPartitioner getEmbeddedPartitioner() {
-		if (fEmbeddedPartitioner == null) {
-			fEmbeddedPartitioner = createStructuredTextPartitioner(structuredDocument);
-			fEmbeddedPartitioner.connect(structuredDocument);
-		}
-
-		return fEmbeddedPartitioner;
-	}
-
-	/**
-	 * Returns the language.
-	 * 
-	 * @return String
-	 */
-	public String getLanguage() {
-		return fLanguage;
-	}
-
-	private List getLocalLegalContentTypes() {
-		List types = new ArrayList();
-		Object[] configuredTypes = getConfiguredContentTypes();
-		for (int i = 0; i < configuredTypes.length; i++)
-			types.add(configuredTypes[i]);
-		return types;
-	}
-
-	private String getParentName(IStructuredDocumentRegion sdRegion) {
-		String result = "UNKNOWN"; //$NON-NLS-1$
-		while (sdRegion != null && isValidJspActionRegionType(sdRegion.getType()))
-			sdRegion = sdRegion.getPrevious();
-
-		if (sdRegion != null) {
-			ITextRegionList regions = sdRegion.getRegions();
-			// only find parent names from a start tag
-			if (regions.size() > 1) {
-				ITextRegion r = regions.get(1);
-				if (regions.get(0).getType().equals(XMLRegionContext.XML_TAG_OPEN) && r.getType().equals(XMLRegionContext.XML_TAG_NAME)) {
-					result = sdRegion.getText(r);
-				}
-			}
-		}
-		return result;
-	}
-
-	protected String getPartitionType(ForeignRegion region, int offset) {
-		return getEmbeddedPartitioner().getPartitionType(region, offset);
-	}
-
-	/**
-	 * @see com.ibm.sed.model.StructuredTextPartitioner#getPartitionType(com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	public String getPartitionType(ITextRegion region, int offset) {
-		String result = null;
-		final String region_type = region.getType();
-		if (region_type == XMLJSPRegionContexts.JSP_CONTENT) {
-			result = getPartitionTypeForDocumentLanguage();
-		}
-		else if (region_type == XMLJSPRegionContexts.JSP_COMMENT_TEXT || region_type == XMLJSPRegionContexts.JSP_COMMENT_OPEN || region_type == XMLJSPRegionContexts.JSP_COMMENT_CLOSE)
-			result = ST_JSP_COMMENT;
-		else if (region_type == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME || region_type == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN || region_type == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE)
-			result = ST_JSP_DIRECTIVE;
-		else if (region_type == XMLJSPRegionContexts.JSP_CLOSE || region_type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN || region_type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN || region_type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN)
-			result = ST_JSP_CONTENT_DELIMITER;
-		else if (region_type == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME)
-			result = ST_DEFAULT_JSP;
-		else if (region_type == XMLJSPRegionContexts.JSP_EL_OPEN || region_type == XMLJSPRegionContexts.JSP_EL_CONTENT || region_type == XMLJSPRegionContexts.JSP_EL_CLOSE || region_type == XMLJSPRegionContexts.JSP_EL_DQUOTE
-					|| region_type == XMLJSPRegionContexts.JSP_EL_SQUOTE || region_type == XMLJSPRegionContexts.JSP_EL_QUOTED_CONTENT)
-			result = ST_JSP_DEFAULT_EL;
-		else if (region_type == XMLRegionContext.XML_CONTENT) {
-			// possibly between <jsp:scriptlet>, <jsp:expression>,
-			// <jsp:declration>
-			IStructuredDocumentRegion sdRegion = this.structuredDocument.getRegionAtCharacterOffset(offset);
-			if (isJspJavaActionName(getParentName(sdRegion)))
-				result = getPartitionTypeForDocumentLanguage();
-			else
-				result = getDefault();
-		}
-		else {
-			result = getEmbeddedPartitioner().getPartitionType(region, offset);
-		}
-		return result;
-	}
-
-	/**
-	 * @see com.ibm.sed.structuredDocument.partition.StructuredTextPartitioner#getPartitionType(com.ibm.sed.structuredDocument.ITextRegion,
-	 *      com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	public String getPartitionTypeBetween(IStructuredDocumentRegion previousNode, ITextRegion previousStartTagNameRegion, IStructuredDocumentRegion nextNode, ITextRegion nextEndTagNameRegion) {
-		return getEmbeddedPartitioner().getPartitionTypeBetween(previousNode, previousStartTagNameRegion, nextNode, nextEndTagNameRegion);
-	}
-
-	/**
-	 * @return
-	 */
-	private String getPartitionTypeForDocumentLanguage() {
-		String result;
-		if (fLanguage == null || fLanguage.equalsIgnoreCase("java")) { //$NON-NLS-1$
-			result = ST_JSP_CONTENT_JAVA;
-		}
-		else if (fLanguage.equalsIgnoreCase("javascript")) { //$NON-NLS-1$
-			result = ST_JSP_CONTENT_JAVASCRIPT;
-		}
-		else {
-			result = ST_JSP_SCRIPT + getLanguage().toUpperCase(Locale.ENGLISH);
-		}
-		return result;
-	}
-
-	protected void initLegalContentTypes() {
-		List combinedTypes = getLocalLegalContentTypes();
-		if (getEmbeddedPartitioner() != null) {
-			String[] moreTypes = getEmbeddedPartitioner().getLegalContentTypes();
-			for (int i = 0; i < moreTypes.length; i++)
-				combinedTypes.add(moreTypes[i]);
-		}
-		fSupportedTypes = new String[0];
-		combinedTypes.toArray(fSupportedTypes);
-	}
-
-	/**
-	 * @param sdRegion
-	 * @param offset
-	 * @return
-	 */
-	private boolean isAction(IStructuredDocumentRegion sdRegion, int offset) {
-		if (!sdRegion.getType().equals(XMLRegionContext.XML_TAG_NAME))
-			return false;
-		// shouldn't get a tag name region type unless a tag name region
-		// exists
-		// at [1]
-		ITextRegion tagNameRegion = sdRegion.getRegions().get(1);
-		String tagName = sdRegion.getText(tagNameRegion);
-		// TODO: support custom JSP actions
-		// the jsp: prefix is already loaded in the prefix listener
-		//		if (fJSPActionTagNames.contains(tagName))
-		//			return true;
-		return fPrefixParseListener.startsWithCustomActionPrefix(tagName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structuredDocument.partition.StructuredTextPartitioner#getOverrideDocumentPartitionType(com.ibm.sed.structured.text.IStructuredDocumentRegion,
-	 *      com.ibm.sed.structured.text.ITextRegion)
-	 */
-	protected boolean isDocumentRegionBasedPartition(IStructuredDocumentRegion sdRegion, ITextRegion containedChildRegion, int offset) {
-		String documentRegionContext = sdRegion.getType();
-		if (containedChildRegion != null) {
-			if (documentRegionContext.equals(XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) || documentRegionContext.equals(XMLJSPRegionContexts.JSP_ROOT_TAG_NAME)) {
-				setInternalPartition(offset, containedChildRegion.getLength(), ST_JSP_DIRECTIVE);
-				return true;
-			}
-			if (fEnableJSPActionPartitions && isAction(sdRegion, offset)) {
-				setInternalPartition(offset, containedChildRegion.getLength(), ST_JSP_DIRECTIVE);
-				return true;
-			}
-		}
-		return super.isDocumentRegionBasedPartition(sdRegion, containedChildRegion, offset);
-	}
-
-	/**
-	 * @param possibleJspJavaAction
-	 * @return
-	 */
-	private boolean isJspJavaActionName(String possibleJspJavaAction) {
-		return possibleJspJavaAction.equals(JSP11Namespace.ElementName.SCRIPTLET) || possibleJspJavaAction.equals(JSP11Namespace.ElementName.EXPRESSION) || possibleJspJavaAction.equals(JSP11Namespace.ElementName.DECLARATION);
-	}
-
-	private boolean isValidJspActionRegionType(String type) {
-		// true for anything that can be within <jsp:scriptlet>,
-		// <jsp:expression>, <jsp:declaration>
-		return type == XMLRegionContext.XML_CONTENT || type == XMLRegionContext.BLOCK_TEXT || type == XMLRegionContext.XML_CDATA_OPEN || type == XMLRegionContext.XML_CDATA_TEXT || type == XMLRegionContext.XML_CDATA_CLOSE;
-	}
-
-	public IDocumentPartitioner newInstance() {
-		StructuredTextPartitionerForJSP instance = new StructuredTextPartitionerForJSP();
-		instance.setEmbeddedPartitioner(createStructuredTextPartitioner(structuredDocument));
-		instance.setLanguage(fLanguage);
-		return instance;
-	}
-
-	/**
-	 * Sets the embeddedPartitioner.
-	 * 
-	 * @param embeddedPartitioner
-	 *            The embeddedPartitioner to set
-	 */
-	public void setEmbeddedPartitioner(IStructuredTextPartitioner embeddedPartitioner) {
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4909
-		/**
-		 * manage connected state of embedded partitioner
-		 */
-		if(fEmbeddedPartitioner != null && structuredDocument != null) {
-			fEmbeddedPartitioner.disconnect();
-		}
-		
-		this.fEmbeddedPartitioner = embeddedPartitioner;
-		
-		if(fEmbeddedPartitioner != null && structuredDocument != null) {
-			fEmbeddedPartitioner.connect(structuredDocument);
-		}
-	}
-
-	/**
-	 * @see com.ibm.sed.structuredDocument.partition.StructuredTextPartitioner#createPartition(int,
-	 *      int, java.lang.String)
-	 */
-	protected void setInternalPartition(int offset, int length, String type) {
-		//TODO: need to carry this single instance idea further to be
-		// complete,
-		// but hopefully this will be less garbage than before (especially for
-		// HTML, XML,
-		// naturally!)
-		internalReusedTempInstance = getEmbeddedPartitioner().createPartition(offset, length, type);
-
-	}
-
-	/**
-	 * Sets the language.
-	 * 
-	 * @param language
-	 *            The language to set
-	 */
-	public void setLanguage(String language) {
-		this.fLanguage = language;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/CommonXML.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/CommonXML.java
deleted file mode 100644
index 26b2068..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/CommonXML.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * 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.internal.util;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.w3c.dom.Document;
-
-public class CommonXML {
-
-	public synchronized static DocumentBuilder getDocumentBuilder() {
-		DocumentBuilder result = null;
-		try {
-			result = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-		}
-		catch (ParserConfigurationException e) {
-			Logger.logException(e);
-		}
-		return result;
-	}
-
-	public synchronized static DocumentBuilder getDocumentBuilder(boolean validating) {
-		DocumentBuilder result = null;
-		try {
-			DocumentBuilderFactory instance = DocumentBuilderFactory.newInstance();
-			instance.setValidating(validating);
-			result = instance.newDocumentBuilder();
-		}
-		catch (ParserConfigurationException e) {
-			Logger.logException(e);
-		}
-		return result;
-	}
-
-	public static void serialize(Document document, OutputStream ostream) throws IOException {
-		Source domSource = new DOMSource(document);
-		try {
-			Transformer serializer = TransformerFactory.newInstance().newTransformer();
-			try {
-				serializer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-				serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-				serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-16"); //$NON-NLS-1$
-			}
-			catch (IllegalArgumentException e) {
-				// unsupported properties
-			}
-			serializer.transform(domSource, new StreamResult(ostream));
-		}
-		catch (TransformerConfigurationException e) {
-			throw new IOException(e.getMessage());
-		}
-		catch (TransformerFactoryConfigurationError e) {
-			throw new IOException(e.getMessage());
-		}
-		catch (TransformerException e) {
-			throw new IOException(e.getMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/DocumentProvider.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/DocumentProvider.java
deleted file mode 100644
index 4280d15..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/util/DocumentProvider.java
+++ /dev/null
@@ -1,507 +0,0 @@
-/*******************************************************************************
- * 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.internal.util;
-
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.StringReader;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.StringTokenizer;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.util.JarUtilities;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * An XML Creator/Reader/Writer that 1) Ignores any DocumentType Nodes found
- * within the document (as well as any entities) 2) Ignores any
- * errors/exceptions from Xerces when loading a document 3) Can load Documents
- * from within a .JAR file (***read-only***)
- */
-
-public class DocumentProvider {
-	/**
-	 * 
-	 * @param args
-	 *            java.lang.String[]
-	 */
-	public static void main(String[] args) {
-		if (args.length < 2)
-			return;
-		DocumentProvider p = new DocumentProvider();
-		p.setFileName(args[0]);
-		p.setRootElementName(args[1]);
-		p.getDocument();
-
-	}
-
-	protected Document document = null;
-	protected ErrorHandler errorHandler = null;
-	private String fBaseReference;
-	protected String fileName = null;
-	protected boolean fValidating = true;
-	protected InputStream inputStream = null;
-	protected String jarFileName = null;
-	protected EntityResolver resolver = null;
-
-	protected Node rootElement = null;
-	protected String rootElementName = null;
-
-	public DocumentProvider() {
-	}
-
-	protected Document _getParsedDocumentDOM2() {
-		Document result = null;
-
-		InputStream is = null;
-		try {
-			DocumentBuilder builder = getDocumentBuilder();
-			// DOMParser parser = new DOMParser();
-			// parser.setFeature("http://apache.org/xml/features/continue-after-fatal-error",
-			// false);//$NON-NLS-1$
-			// parser.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar",
-			// false);//$NON-NLS-1$
-			// parser.setErrorHandler(getNullErrorHandler());
-			// parser.setEntityResolver(getNullEntityResolver());
-			// is = getInputStream();
-			builder.setEntityResolver(getEntityResolver());
-			builder.setErrorHandler(getNullErrorHandler());
-			is = getInputStream();
-			if (is != null)
-				result = builder.parse(is, getBaseReference());
-		}
-		catch (SAXException e) {
-			result = null;
-			// parsing exception, notify the user?
-			Logger.log(Logger.WARNING, "SAXException while reading descriptor: " + e); //$NON-NLS-1$
-		}
-		catch (FileNotFoundException e) {
-			// NOT an "exceptional case"; do not Log
-		}
-		catch (IOException e) {
-			Logger.log(Logger.WARNING, "IOException while reading descriptor" + e); //$NON-NLS-1$
-		}
-		finally {
-			if (is != null) {
-				try {
-					is.close();
-				}
-				catch (Exception e) {
-					// what can be done?
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getBaseReference() {
-		return fBaseReference;
-	}
-
-	/**
-	 * 
-	 * @return Document
-	 */
-	public Document getDocument() {
-		if (document == null)
-			load();
-		return document;
-	}
-
-	protected DocumentBuilder getDocumentBuilder() {
-		return CommonXML.getDocumentBuilder(isValidating());
-	}
-
-	protected DOMImplementation getDomImplementation() {
-		DocumentBuilder builder = null;
-		try {
-			builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-		}
-		catch (ParserConfigurationException e1) {
-			Logger.logException(e1);
-		}
-		catch (FactoryConfigurationError e1) {
-			Logger.logException(e1);
-		}
-		DOMImplementation impl = builder.getDOMImplementation();
-		return impl;
-	}
-
-	/*************************************************************************
-	 * Takes a single string of the form "a/b/c" and ensures that that
-	 * structure exists below the head element, down through 'c', and returns
-	 * a <em>single</em> element 'c'. For multiple elements (such as
-	 * multiple &lt;macro&gt; elements contained within a single
-	 * &lt;macros&gt; element, full DOM access is required for searching and
-	 * child element manipulation.
-	 ************************************************************************/
-	public Element getElement(String name) {
-		if (document == null)
-			load();
-		if (document != null)
-			return (Element) getNode(getRootElement(), name);
-		else
-			return null;
-	}
-
-	/**
-	 * Returns an EntityResolver that won't try to load and resolve ANY
-	 * entities
-	 */
-	private EntityResolver getEntityResolver() {
-		if (resolver == null) {
-			resolver = new EntityResolver() {
-				public InputSource resolveEntity(String publicID, String systemID) throws SAXException, IOException {
-					InputSource result = null;
-					if (getBaseReference() != null) {
-						try {
-							URL spec = new URL("file://" + getBaseReference()); //$NON-NLS-1$
-							URL url = new URL(spec, systemID);
-							if (url.getProtocol().startsWith("file:")) { //$NON-NLS-1$
-								URLConnection connection = url.openConnection();
-								result = new InputSource(systemID != null ? systemID : "/_" + toString()); //$NON-NLS-1$
-								result.setPublicId(publicID);
-								result.setByteStream(connection.getInputStream());
-							}
-						}
-						catch (Exception e) {
-							result = null;
-						}
-					}
-					if (result == null) {
-						result = new InputSource(new StringReader("")); //$NON-NLS-1$
-						result.setPublicId(publicID);
-						result.setSystemId(systemID != null ? systemID : "/_" + getClass().getName()); //$NON-NLS-1$
-					}
-					return result;
-				}
-			};
-		}
-		return resolver;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getFileName() {
-		return fileName;
-	}
-
-	/**
-	 * Returns and input stream to use as the source of the Document 1) from
-	 * an InputStream set on this instance 2) from a JAR file with the given
-	 * entry name 3) from a normal file
-	 * 
-	 * @return InputStream
-	 */
-	public InputStream getInputStream() throws FileNotFoundException {
-		if (inputStream != null)
-			return inputStream;
-		else if (isJAR()) {
-			return JarUtilities.getInputStream(getJarFileName(), getFileName());
-		}
-		else {
-			return new FileInputStream(getFileName());
-		}
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getJarFileName() {
-		return jarFileName;
-	}
-
-	protected Node getNamedChild(Node parent, String childName) {
-		if (parent == null) {
-			return null;
-		}
-		NodeList childList = parent.getChildNodes();
-		for (int i = 0; i < childList.getLength(); i++) {
-			if (childList.item(i).getNodeName().equals(childName))
-				return childList.item(i);
-		}
-		return null;
-	}
-
-	protected Document getNewDocument() {
-		Document result = null;
-		try {
-			result = getDomImplementation().createDocument("", getRootElementName(), null); //$NON-NLS-1$
-			NodeList children = result.getChildNodes();
-			for (int i = 0; i < children.getLength(); i++) {
-				result.removeChild(children.item(i));
-			}
-			// we're going through this effort to avoid a NS element
-			Element settings = result.createElement(getRootElementName());
-			result.appendChild(settings);
-			return result;
-		}
-		catch (DOMException e) {
-			Logger.logException(e);
-		}
-		return null;
-	}
-
-	/*************************************************************************
-	 * Takes a single string of the form "a/b/c" and ensures that that
-	 * structure exists below the head element, down through 'c', and returns
-	 * the element 'c'.
-	 ************************************************************************/
-	protected Node getNode(Node node, String name) {
-		StringTokenizer tokenizer = new StringTokenizer(name, "/"); //$NON-NLS-1$
-		String token = null;
-		while (tokenizer.hasMoreTokens()) {
-			token = tokenizer.nextToken();
-			if (getNamedChild(node, token) == null)
-				node.appendChild(document.createElement(token));
-			node = getNamedChild(node, token);
-		}
-		return node;
-	}
-
-	/**
-	 * Returns an ErrorHandler that will not stop the parser on reported
-	 * errors
-	 */
-	private ErrorHandler getNullErrorHandler() {
-		if (errorHandler == null) {
-			errorHandler = new ErrorHandler() {
-				public void error(SAXParseException exception) throws SAXException {
-					Logger.log(Logger.WARNING, "SAXParseException with " + getJarFileName() + "/" + getFileName() + " (error) while reading descriptor: " + exception.getMessage()); //$NON-NLS-1$
-				}
-
-				public void fatalError(SAXParseException exception) throws SAXException {
-					Logger.log(Logger.WARNING, "SAXParseException with " + getJarFileName() + "/" + getFileName() + " (fatalError) while reading descriptor: " + exception.getMessage()); //$NON-NLS-1$
-				}
-
-				public void warning(SAXParseException exception) throws SAXException {
-					Logger.log(Logger.WARNING, "SAXParseException with " + getJarFileName() + "/" + getFileName() + " (warning) while reading descriptor: " + exception.getMessage()); //$NON-NLS-1$
-				}
-			};
-		}
-		return errorHandler;
-	}
-
-	protected Document getParsedDocument() {
-		Document result = null;
-		if (inputStream == null) {
-			File existenceTester = null;
-			if (isJAR())
-				existenceTester = new File(getJarFileName());
-			else
-				existenceTester = new File(getFileName());
-			if (!existenceTester.exists())
-				return null;
-		}
-
-		result = _getParsedDocumentDOM2();
-
-		return result;
-
-	}
-
-	/**
-	 * Returns the root Element of the current document
-	 * 
-	 * @return org.w3c.dom.Element
-	 */
-	public Node getRootElement() {
-		return getRootElement(getDocument());
-	}
-
-	/**
-	 * Returns the/a root Element for the current document
-	 * 
-	 * @return org.w3c.dom.Element
-	 */
-	protected Node getRootElement(Document doc) {
-		if (doc == null)
-			return null;
-		if (doc.getDocumentElement() != null)
-			return doc.getDocumentElement();
-		try {
-			Element newRootElement = doc.createElement(getRootElementName());
-			doc.appendChild(newRootElement);
-			return newRootElement;
-		}
-		catch (DOMException e) {
-			Logger.logException(e);
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getRootElementName() {
-		return rootElementName;
-	}
-
-	protected boolean isJAR() {
-		return getJarFileName() != null;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isValidating() {
-		return fValidating;
-	}
-
-	public void load() {
-		// rootElementName and fileName are expected to be defined at this
-		// point
-		document = getParsedDocument();
-		if (document != null) {
-			if (rootElementName != null)
-				rootElement = getRootElement(document);
-			else
-				rootElement = document.getDocumentElement();
-		}
-
-		if (document == null || rootElement == null) {
-			document = getNewDocument();
-			if (document != null) {
-				NodeList children = document.getChildNodes();
-				for (int i = 0; i < children.getLength(); i++) {
-					if (children.item(i).getNodeType() == Node.ELEMENT_NODE && children.item(i).getNodeName().equals(getRootElementName()))
-						rootElement = (Element) children.item(i);
-				}
-				if (rootElement == null) {
-					for (int i = 0; i < children.getLength(); i++) {
-						if (children.item(i).getNodeType() == Node.ELEMENT_NODE) {
-							rootElement = (Element) children.item(i);
-							break;
-						}
-					}
-				}
-			}
-		}
-	}
-
-	protected void saveDocument(Document odocument, OutputStream stream) throws IOException {
-		CommonXML.serialize(odocument, stream);
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setBaseReference(String string) {
-		fBaseReference = string;
-	}
-
-	/**
-	 * 
-	 * @param newFileName
-	 *            java.lang.String
-	 */
-	public void setFileName(java.lang.String newFileName) {
-		fileName = newFileName;
-	}
-
-	/**
-	 * Sets the inputStream for which to provide a Document.
-	 * 
-	 * @param inputStream
-	 *            The inputStream to set
-	 */
-	public void setInputStream(InputStream inputStream) {
-		this.inputStream = inputStream;
-	}
-
-	/**
-	 * 
-	 * @param newJarFileName
-	 *            java.lang.String
-	 */
-	public void setJarFileName(java.lang.String newJarFileName) {
-		jarFileName = newJarFileName;
-	}
-
-	/**
-	 * 
-	 * @param newRootElementName
-	 *            java.lang.String
-	 */
-	public void setRootElementName(java.lang.String newRootElementName) {
-		rootElementName = newRootElementName;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setValidating(boolean b) {
-		fValidating = b;
-	}
-
-	public void store() {
-		if (isJAR())
-			return;
-
-		if (rootElement == null) {
-			document = getNewDocument();
-			rootElement = document.getDocumentElement();
-		}
-
-		try {
-			OutputStream ostream = new FileOutputStream(getFileName());
-
-			storeDocument(document, ostream);
-
-			ostream.flush();
-			ostream.close();
-		}
-		catch (IOException e) {
-			Logger.logException("Exception saving document " + getFileName(), e); //$NON-NLS-1$
-			throw new SourceEditingRuntimeException(e);
-		}
-	}
-
-	protected void storeDocument(Document odocument, OutputStream ostream) {
-		try {
-			saveDocument(odocument, ostream);
-		}
-		catch (IOException e) {
-			Logger.logException(e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/EmbeddedTypeStateData.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/EmbeddedTypeStateData.java
deleted file mode 100644
index e197116..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/EmbeddedTypeStateData.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.modelhandler;
-
-
-
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-
-/**
- * This class is only for remembering old and new embedded handlers, 
- * in the event a re-init is needed.
- */
-public class EmbeddedTypeStateData {
-
-
-	EmbeddedTypeHandler oldHandler;
-	EmbeddedTypeHandler newHandler;
-
-	public EmbeddedTypeStateData(EmbeddedTypeHandler oldHandler, EmbeddedTypeHandler newHandler) {
-		this.oldHandler = oldHandler;
-		this.newHandler = newHandler;
-	}
-
-	public EmbeddedTypeHandler getNewHandler() {
-		return newHandler;
-	}
-
-	public EmbeddedTypeHandler getOldHandler() {
-		return oldHandler;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/JSPModelLoader.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/JSPModelLoader.java
deleted file mode 100644
index 0b30a09..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/JSPModelLoader.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/*******************************************************************************
- * 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.modelhandler;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.encoding.IJSPHeadContentDetector;
-import org.eclipse.jst.jsp.core.encoding.JSPDocumentHeadContentDetector;
-import org.eclipse.jst.jsp.core.encoding.JSPDocumentLoader;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapterFactory;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveWatcherFactory;
-import org.eclipse.jst.jsp.core.internal.parser.JSPReParser;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.jst.jsp.core.modelquery.ModelQueryAdapterFactoryForJSP;
-import org.eclipse.wst.html.core.contenttype.ContentTypeIdForHTML;
-import org.eclipse.wst.html.core.document.XMLStyleModelImpl;
-import org.eclipse.wst.html.core.internal.text.rules.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.sse.core.AbstractModelLoader;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistry;
-import org.eclipse.wst.sse.core.internal.modelhandler.EmbeddedTypeRegistryImpl;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.core.parser.JSPCapableParser;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.contenttype.ContentTypeIdForXML;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.internal.DebugAdapterFactory;
-import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-import org.w3c.dom.Document;
-
-public class JSPModelLoader extends AbstractModelLoader {
-	protected final int MAX_BUFFERED_SIZE_FOR_RESET_MARK = 200000;
-
-	/**
-	 * DMW - Note: I think the embeddedTypeRegistry in IModelManager can be
-	 * removed
-	 */
-	private EmbeddedTypeRegistry embeddedContentTypeRegistry;
-	private final static String DEFAULT_MIME_TYPE = "text/html"; //$NON-NLS-1$
-	private final static String SPEC_DEFAULT_ENCODING = "ISO-8859-1"; //$NON-NLS-1$
-	private final static String DEFAULT_LANGUAGE = "java"; //$NON-NLS-1$
-
-	public JSPModelLoader() {
-		super();
-	}
-
-	/**
-	 * Gets the embeddedContentTypeRegistry.
-	 * 
-	 * @return Returns a EmbeddedContentTypeRegistry
-	 */
-	private EmbeddedTypeRegistry getEmbeddedContentTypeRegistry() {
-		if (embeddedContentTypeRegistry == null) {
-			embeddedContentTypeRegistry = EmbeddedTypeRegistryImpl.getInstance();
-		}
-		return embeddedContentTypeRegistry;
-	}
-
-	public IStructuredModel newModel() {
-		// future_TODO: this is similar to "hard coding"
-		// that HTML will be in JSP file ... should make more
-		// flexible in future.
-		XMLStyleModelImpl model = new XMLStyleModelImpl();
-		return model;
-	}
-
-	/**
-	 * Specification cites ISO-8859-1/Latin-1 as the default charset.
-	 */
-	protected String getDefaultEncoding() {
-		return SPEC_DEFAULT_ENCODING;
-	}
-
-	/**
-	 * For JSP files, text/html is the default content type. This may want
-	 * this different for types like jsv (jsp for voice xml) For now, hard
-	 * code to new instance. In future, should get instance from registry.
-	 * 
-	 * Specification cites HTML as the default contentType.
-	 */
-	private EmbeddedTypeHandler getJSPDefaultEmbeddedType() {
-		EmbeddedTypeRegistry reg = getEmbeddedContentTypeRegistry();
-		return reg.getTypeFor(getDefaultMimeType());
-	}
-
-	/**
-	 * Method getDefaultMimeType.
-	 * 
-	 * @return String
-	 */
-	private String getDefaultMimeType() {
-		return DEFAULT_MIME_TYPE;
-	}
-
-	/**
-	 * This method should retrieve the model from the file system (or what
-	 * ever the loader is prepared to do). If the resource can not be found
-	 * (and therefore a model can not be created), then it should return null.
-	 */
-	// public void load(Reader reader, IStructuredModel model, EncodingRule
-	// encodingRule) throws java.io.IOException {
-	// initializeEmbeddedTypeFromStream(reader, model);
-	// setLanguageInPageDirective(model);
-	// super.load(reader, model, encodingRule);
-	// }
-	/**
-	 * This method must return a new instance of IStructuredDocument, that has
-	 * been initialized with appropriate parser. For many loaders, the
-	 * (default) parser used is known for any input. For others, the correct
-	 * parser (and its initialization) is normall dependent on the content of
-	 * the file. This no-argument method should assume "empty input" and would
-	 * therefore return the default parser for the default contentType.
-	 * 
-	 * If the parser is to handle tag libraries, it must have a TaglibSupport
-	 * object with a valid URIResolver and this IStructuredDocument attached
-	 * to it before the contents are set on the IStructuredDocument.
-	 */
-	public IStructuredDocument newStructuredDocument() {
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(getParser());
-		((BasicStructuredDocument) structuredDocument).setReParser(new JSPReParser());
-		// structuredDocument.setDocumentPartitioner(new
-		// JSPJavaDocumentPartioner());
-		// even though this is an "empty model" ... we want it to have at
-		// least the
-		// default embeddeded content type handler
-		EmbeddedTypeHandler embeddedType = getJSPDefaultEmbeddedType();
-		embeddedType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		return structuredDocument;
-	}
-
-	public RegionParser getParser() {
-		// remember, the Loader
-		// will need to finish initialization of parser
-		// based on "embedded content"
-		return new JSPSourceParser();
-	}
-
-	protected void preLoadAdapt(IStructuredModel structuredModel) {
-		super.preLoadAdapt(structuredModel);
-		XMLModel domModel = (XMLModel) structuredModel;
-		//
-		// document must have already been set for this to
-		// work.
-		Document document = domModel.getDocument();
-		Assert.isNotNull(document);
-		// if there is a model in the adapter, this will adapt it to
-		// first node. After that the PropagatingAdater spreads over the
-		// children being
-		// created. Each time that happends, a side effect is to
-		// also "spread" sprecific registered adapters,
-		// they two can propigate is needed.
-		// This 'get' causes first to be be attached.
-		PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// may make this easier to use in futue
-		propagatingAdapter.addAdaptOnCreateFactory(new PageDirectiveWatcherFactory());
-		if (Debug.debugNotificationAndEvents) {
-			propagatingAdapter.addAdaptOnCreateFactory(new DebugAdapterFactory());
-		}
-		// For JSPs, the ModelQueryAdapter must be "attached" to the document
-		// before content is set in the model, so taglib initization can
-		// take place.
-		((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		//
-
-	}
-
-	/**
-	 * This method must return those factories which must be attached to the
-	 * structuredModel before content is applied.
-	 */
-	public List getAdapterFactories() {
-		List result = new ArrayList();
-		AdapterFactory factory = null;
-		//
-		factory = new ModelQueryAdapterFactoryForJSP();
-		result.add(factory);
-		factory = new PropagatingAdapterFactoryImpl();
-		result.add(factory);
-		factory = new PageDirectiveAdapterFactory();
-		result.add(factory);
-
-
-
-		return result;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.AbstractDumper#getDocumentEncodingDetector()
-	 */
-	public IJSPHeadContentDetector getHeadParser() {
-		return new JSPDocumentHeadContentDetector();
-	}
-
-	/**
-	 * This init method is for the case where we are getting the embedded type
-	 * from the input stream specifically.
-	 */
-	// private void initializeEmbeddedTypeFromStream(Reader reader,
-	// IStructuredModel model) throws IOException {
-	// IFile file = ResourceUtil.getFileFor(model);
-	// JSPDocumentLoader jspDocumentLoader =(JSPDocumentLoader)
-	// getDocumentLoader();
-	// EmbeddedTypeHandler inputEmbeddedContentType =
-	// jspDocumentLoader.getEmbeddedType(file);
-	// EmbeddedTypeHandler existingEmbeddedType = getEmbeddedType(model);
-	// // we don't expect the existing type to be null, but if it is, then
-	// // this is a simply init case, not re-init
-	// if (existingEmbeddedType == null) {
-	// initializeEmbeddedType(model, inputEmbeddedContentType);
-	// }
-	// else {
-	// if (existingEmbeddedType != inputEmbeddedContentType) {
-	// // only need to reinitialize if truely different
-	// reInitializeEmbeddedType(model, existingEmbeddedType,
-	// inputEmbeddedContentType);
-	// }
-	// }
-	// }
-	/**
-	 * This init method is for the case where we are creating an empty model,
-	 * which we always do.
-	 */
-	private void initializeEmbeddedTypeFromDefault(IStructuredModel model) {
-		EmbeddedTypeHandler embeddedContentType = getJSPDefaultEmbeddedType();
-		initializeEmbeddedType(model, embeddedContentType);
-	}
-
-	/**
-	 * This is "initialize" since is always assumes it hasn't been initalized
-	 * yet.
-	 */
-	private void initializeEmbeddedType(IStructuredModel model, EmbeddedTypeHandler embeddedContentType) {
-		// check program logic
-		Assert.isNotNull(embeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set yet,
-		// and all factories must have been set up also.
-		XMLModel domModel = (XMLModel) model;
-		XMLDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
-		embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		embeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: I don't think this attempted init counts for much.
-		// I think its always executed when model is very first
-		// being initialized, and doesn't even have content
-		// or an ID yet. I thought I'd leave, since it wouldn't
-		// hurt, in case its called in other circumstances.
-		// String language = getLanguage(model);
-		// pageDirectiveAdapter.setLanguage(language);
-	}
-
-	/**
-	 * Method getLanguage.
-	 * 
-	 * @param model
-	 * @return String
-	 */
-	private String getLanguage(IStructuredModel model) {
-		String result = null;
-		// first check the model (document itself) to see if contains
-		result = getLanguageFromStructuredDocument(model.getStructuredDocument());
-		// Note: if model contains an unsupported
-		// language, we'll even return it,
-		// since who knows what future holds.
-
-		// always return something
-		if (result == null) {
-			result = DEFAULT_LANGUAGE;
-		}
-		return result;
-	}
-
-	/**
-	 * Method getLanguageFromStructuredDocument.
-	 * 
-	 * @param structuredDocument
-	 * @return String
-	 */
-	private String getLanguageFromStructuredDocument(IStructuredDocument structuredDocument) {
-		if (structuredDocument == null)
-			return null;
-		String result = null;
-		// bascially same algorithm as get encoding or
-		// get content type from structuredDocument.
-		IJSPHeadContentDetector localHeadParser = getHeadParser();
-		// we can be assured that its already been
-		// parsed. If not call parseHeaderForPageDirective()
-		// before calling getLanguage;
-		localHeadParser.set(structuredDocument);
-		try {
-			result = localHeadParser.getLanguage();
-		} catch (IOException e) {
-			// impossible
-			// TODO need to reconsider design to avoid
-			throw new Error(e);
-		}
-		return result;
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void reInitializeEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set yet,
-		// and all factories must have been set up also.
-		XMLModel domModel = (XMLModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		XMLDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getExistingAdapter(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier)
-		// document).getExistingAdapter(ModelQueryAdapter.class);
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// since 'document' is not recreated in this
-		// reinit path, we need to remove all adapters,
-		// except for the propagated adapters (including page
-		// directive adapter, and model query adapter).
-		// to accomplish this, we'll just remove all, then
-		// add back with a call to pre-load adapt.
-		// let clients decide to unload adapters from document
-		// Collection oldAdapters = document.getAdapters();
-		// Iterator oldAdaptersIterator = oldAdapters.iterator();
-		// while (oldAdaptersIterator.hasNext()) {
-		// INodeAdapter oldAdapter = (INodeAdapter)
-		// oldAdaptersIterator.next();
-		// if (oldAdapter != pageDirectiveAdapter && oldAdapter !=
-		// propagatingAdapter && oldAdapter != modelQueryAdapter) {
-		// // DO NOT remove directly!
-		// // can change contents while in notifity loop!
-		// //oldAdaptersIterator.remove();
-		// document.removeAdapter(oldAdapter);
-		// }
-		// }
-		// DMW: I believe something like the following is needed,
-		// since releases cached adapters
-		// if (document instanceof DocumentImpl) {
-		// ((DocumentImpl) document).releaseDocumentType();
-		// ((DocumentImpl) document).releaseStyleSheets();
-		// }
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		// // but still need to clear the page directive watchers, and let
-		// them be rediscovered (with new, accurate node as target)
-		// pageDirectiveAdapter.clearPageWatchers();
-		if (newEmbeddedContentType != null) {
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-
-			// partitioner setup is the responsibility of this loader
-			IDocumentPartitioner documentPartitioner = structuredDocument.getDocumentPartitioner();
-			// ISSUE: this logic is flawed, not sure of original intent, but
-			// added null/type checks for safety.
-			if (documentPartitioner != null && documentPartitioner instanceof StructuredTextPartitionerForJSP) {
-				if (newEmbeddedContentType.getFamilyId().equals(ContentTypeIdForXML.ContentTypeID_XML)) {
-					((StructuredTextPartitionerForJSP) documentPartitioner).setEmbeddedPartitioner(new StructuredTextPartitionerForXML());
-				} else if (newEmbeddedContentType.getFamilyId().equals(ContentTypeIdForHTML.ContentTypeID_HTML)) {
-					((StructuredTextPartitionerForJSP) documentPartitioner).setEmbeddedPartitioner(new StructuredTextPartitionerForHTML());
-				}
-			}
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	/**
-	 * This is "reinitialize" since there should always be at least the
-	 * default one assigned, before we start checking the stream
-	 */
-	private void initCloneOfEmbeddedType(IStructuredModel model, EmbeddedTypeHandler oldEmbeddedContentType, EmbeddedTypeHandler newEmbeddedContentType) {
-		// check program logic
-		Assert.isNotNull(oldEmbeddedContentType, "Program error: invalid call during model initialization"); //$NON-NLS-1$
-		// once we know the embedded content type, we need to set it in the
-		// PageDirectiveAdapter ... the order of initialization is
-		// critical here, the doc must have been created, but its contents not
-		// set yet,
-		// and all factories must have been set up also.
-		XMLModel domModel = (XMLModel) model;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		XMLDocument document = domModel.getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
-		// ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
-		// ==> // ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter)
-		// ((INodeNotifier) document).getAdapterFor(ModelQueryAdapter.class);
-		// because, even in the clone case, the model has been paritally
-		// intialized with
-		// the old embedded type (during createModel), we need to unitialize
-		// parts of it, based on the old (or default) ones
-		oldEmbeddedContentType.uninitializeFactoryRegistry(model.getFactoryRegistry());
-		oldEmbeddedContentType.uninitializeParser((JSPCapableParser) structuredDocument.getParser());
-		// remember, embedded type factories are automatically cleared when
-		// embededType changed
-		pageDirectiveAdapter.setEmbeddedType(newEmbeddedContentType);
-		if (newEmbeddedContentType != null) {
-			newEmbeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
-			newEmbeddedContentType.initializeParser((JSPCapableParser) structuredDocument.getParser());
-		}
-		// adding language here, in this convienent central
-		// location, but some obvious renaming or refactoring
-		// wouldn't hurt, in future.
-		// I needed to add this language setting for JSP Fragment support
-		// Note: this is the one that counts, since at this point,
-		// the model has an ID, so we can look up IFile, etc.
-		String language = getLanguage(model);
-		if (language != null && language.length() > 0) {
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	private EmbeddedTypeHandler getEmbeddedType(IStructuredModel model) {
-		Document doc = ((XMLModel) model).getDocument();
-		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getAdapterFor(PageDirectiveAdapter.class);
-		EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
-		return embeddedHandler;
-	}
-
-	/**
-	 * Method initEmbeddedType.
-	 */
-	protected void initEmbeddedType(IStructuredModel model) {
-		initializeEmbeddedTypeFromDefault(model);
-	}
-
-	/**
-	 * Method initEmbeddedType.
-	 */
-	protected void initEmbeddedType(IStructuredModel oldModel, IStructuredModel newModel) {
-		EmbeddedTypeHandler existingEmbeddedType = getEmbeddedType(oldModel);
-		EmbeddedTypeHandler newEmbeddedContentType = existingEmbeddedType.newInstance();
-		if (existingEmbeddedType == null) {
-			initEmbeddedType(newModel);
-		} else {
-			// initEmbeddedType(newModel);
-			initCloneOfEmbeddedType(newModel, existingEmbeddedType, newEmbeddedContentType);
-		}
-		setLanguageInPageDirective(newModel);
-	}
-
-	protected void setLanguageInPageDirective(IStructuredModel newModel) {
-		if (newModel instanceof XMLModel) {
-			XMLDocument document = ((XMLModel) newModel).getDocument();
-			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-			String language = getLanguage(newModel);
-			pageDirectiveAdapter.setLanguage(language);
-		}
-	}
-
-	public IStructuredModel reinitialize(IStructuredModel model) {
-		EmbeddedTypeHandler oldHandler = null;
-		EmbeddedTypeHandler newHandler = null;
-		Object reinitStateData = model.getReinitializeStateData();
-		if (reinitStateData instanceof EmbeddedTypeStateData) {
-			EmbeddedTypeStateData oldStateData = (EmbeddedTypeStateData) reinitStateData;
-			oldHandler = oldStateData.getOldHandler();
-			newHandler = oldStateData.getNewHandler();
-			// note. We should already have the new handler in the model's
-			// (documents) adapters,
-			// so need need to use the old one to undo the old state data
-			reInitializeEmbeddedType(model, oldHandler, newHandler);
-		} else {
-			// for language ... we someday MIGHT have to do something
-			// here, but for now, we don't have any model-side language
-			// sensitive adapters.
-		}
-		return super.reinitialize(model);
-	}
-
-	public ModelLoader newInstance() {
-		return new JSPModelLoader();
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		if (documentLoaderInstance == null) {
-			documentLoaderInstance = new JSPDocumentLoader();
-		}
-		return documentLoaderInstance;
-	}
-
-	/**
-	 * Ensures that an InputStream has mark/reset support.
-	 */
-	public static InputStream getMarkSupportedStream(InputStream original) {
-		if (original == null)
-			return null;
-		if (original.markSupported())
-			return original;
-		return new BufferedInputStream(original);
-	}
-
-	protected byte[] getBytes(InputStream inputStream, int max) throws IOException {
-		byte[] smallBuffer = new byte[max];
-		byte[] returnBuffer = null;
-		int nRead = inputStream.read(smallBuffer, 0, max);
-		if (nRead < max) {
-			// empty file will return -1;
-			if (nRead < 0)
-				nRead = 0;
-			byte[] smallerBuffer = new byte[nRead];
-			System.arraycopy(smallBuffer, 0, smallerBuffer, 0, nRead);
-			returnBuffer = smallerBuffer;
-		} else {
-			returnBuffer = smallBuffer;
-		}
-		return returnBuffer;
-	}
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/ModelHandlerForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/ModelHandlerForJSP.java
deleted file mode 100644
index 5511d05..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/ModelHandlerForJSP.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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.modelhandler;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jst.jsp.core.encoding.JSPDocumentHeadContentDetector;
-import org.eclipse.jst.jsp.core.encoding.JSPDocumentLoader;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.core.internal.document.DocumentLoaderForJSP;
-import org.eclipse.jst.jsp.core.internal.parser.JSPSourceParser;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.modelhandler.AbstractModelHandler;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-
-public class ModelHandlerForJSP extends AbstractModelHandler {
-
-	/**
-	 * Needs to match what's in plugin registry. In fact, can be overwritten
-	 * at run time with what's in registry! (so should never be 'final')
-	 */
-	static String AssociatedContentTypeID = "org.eclipse.jst.jsp.core.jspsource"; //$NON-NLS-1$
-	/**
-	 * Needs to match what's in plugin registry. In fact, can be overwritten
-	 * at run time with what's in registry! (so should never be 'final')
-	 */
-	private static String ModelHandlerID = "org.eclipse.jst.jsp.core.modelhandler"; //$NON-NLS-1$
-
-
-	public ModelHandlerForJSP() {
-		super();
-		setId(ModelHandlerID);
-		setAssociatedContentTypeId(AssociatedContentTypeID);
-	}
-
-	//	private static final String PageDesigner =
-	// "com.ibm.etools.webedit.page.PageDesigner"; //$NON-NLS-1$
-	//	private static final String HTMLEditor =
-	// "com.ibm.etools.webedit.editor.HTMLEditor"; //$NON-NLS-1$
-
-	protected void addJSPTagName(JSPSourceParser parser, String tagname) {
-		BlockMarker bm = new BlockMarker(tagname, null, XMLJSPRegionContexts.JSP_CONTENT, true);
-		parser.addBlockMarker(bm);
-	}
-
-	public ModelLoader getModelLoader() {
-		return new JSPModelLoader();
-	}
-
-	public Preferences getPreferences() {
-		return JSPCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	public IDocumentCharsetDetector getEncodingDetector() {
-		return new JSPDocumentHeadContentDetector();
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		if (USE_FILE_BUFFERS)
-			return new DocumentLoaderForJSP();
-		else
-			return new JSPDocumentLoader();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryAdapterImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryAdapterImpl.java
deleted file mode 100644
index d6a669f..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryAdapterImpl.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * 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.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapterImpl;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-
-
-public class JSPModelQueryAdapterImpl extends ModelQueryAdapterImpl {
-	public JSPModelQueryAdapterImpl(CMDocumentCache cmDocumentCache, ModelQuery modelQuery, IdResolver idResolver) {
-		super(cmDocumentCache, modelQuery, idResolver);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryAssociationProvider.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryAssociationProvider.java
deleted file mode 100644
index d91bc64..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryAssociationProvider.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.modelquery;
-
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.SimpleAssociationProvider;
-
-/**
- */
-public class JSPModelQueryAssociationProvider extends SimpleAssociationProvider {
-
-	/**
-	 * @param modelQueryCMProvider
-	 *            org.eclipse.wst.common.contentmodel.modelquery.ModelQueryCMProvider
-	 */
-	public JSPModelQueryAssociationProvider() {
-		super(new JSPModelQueryCMProvider());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryCMProvider.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryCMProvider.java
deleted file mode 100644
index 842c09b..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryCMProvider.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * 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.modelquery;
-
-
-
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.contentmodel.JSPCMDocumentFactory;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQueryCMProvider;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Node;
-
-/**
- * CMDocument provider for HTML and JSP documents.
- */
-public class JSPModelQueryCMProvider implements ModelQueryCMProvider {
-
-	protected JSPModelQueryCMProvider() {
-		super();
-	}
-
-	/**
-	 * Returns the CMDocument that corresponds to the DOM Node. or null if no
-	 * CMDocument is appropriate for the DOM Node.
-	 */
-	public CMDocument getCorrespondingCMDocument(Node node) {
-		CMDocument jcmdoc = JSPCMDocumentFactory.getCMDocument();
-
-		CMDocument result = null;
-		try {
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				String elementName = node.getNodeName();
-
-				// test to see if this node belongs to JSP's CMDocument (case
-				// sensitive)
-				CMElementDeclaration dec = (CMElementDeclaration) jcmdoc.getElements().getNamedItem(elementName);
-				if (dec != null) {
-					result = jcmdoc;
-				}
-			}
-
-			String prefix = node.getPrefix();
-
-			if (result == null && prefix != null && prefix.length() > 0 && node instanceof XMLNode) {
-				// check position dependent
-				XMLNode xmlNode = (XMLNode) node;
-				TLDCMDocumentManager tldmgr = TaglibController.getTLDCMDocumentManager(xmlNode.getStructuredDocument());
-				if (tldmgr != null) {
-					List documents = tldmgr.getCMDocumentTrackers(node.getPrefix(), xmlNode.getStartOffset());
-					// there shouldn't be more than one cmdocument returned
-					if (documents != null && documents.size() > 0)
-						result = (CMDocument) documents.get(0);
-				}
-			}
-		}
-		catch (Exception e) {
-			e.printStackTrace();
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryImpl.java
deleted file mode 100644
index 2e92555..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * 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.modelquery;
-
-
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.ModelQueryImpl;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class JSPModelQueryImpl extends ModelQueryImpl {
-
-	protected IStructuredModel jspModel = null;
-	protected ModelQuery embeddedModelQuery = null;
-	public JSPModelQueryImpl(IStructuredModel model, IdResolver resolver) {
-		super(new JSPModelQueryAssociationProvider());
-		jspModel = model;
-	}
-
-	/*
-	 * @see ModelQuery#getCMElementDeclaration(Element)
-	 */
-	public CMElementDeclaration getCMElementDeclaration(Element element) {
-		CMElementDeclaration result = super.getCMElementDeclaration(element);
-		if (result == null) {
-			ModelQuery query = getEmbeddedModelQuery(element);
-			if (query != null) {
-				result = query.getCMElementDeclaration(element);
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * @see ModelQuery#getCorrespondingCMDocument(Node)
-	 */
-	public CMDocument getCorrespondingCMDocument(Node node) {
-		CMDocument doc = super.getCorrespondingCMDocument(node);
-		if (doc == null) {
-			ModelQuery query = getEmbeddedModelQuery(node);
-			if (query != null) {
-				doc = query.getCorrespondingCMDocument(node);
-			}
-		}
-		return doc;
-	}
-
-	/*
-	 * @see ModelQuery#getCMNode(Node)
-	 */
-	public CMNode getCMNode(Node node) {
-		CMNode result = super.getCMNode(node);
-		if (result == null) {
-			ModelQuery query = getEmbeddedModelQuery(node);
-			if (query != null) {
-				result = query.getCMNode(node);
-			}
-		}
-		return result;
-	}
-
-	public List getAvailableContent(Element element, CMElementDeclaration ed, int includeOptions) {
-		ModelQuery emq = getEmbeddedModelQuery(element);
-		if (emq != null)
-			return emq.getAvailableContent(element, ed, includeOptions);
-		else
-			return super.getAvailableContent(element, ed, includeOptions);
-	}
-
-	protected ModelQuery getEmbeddedModelQuery(Node node) {
-		if (this.embeddedModelQuery == null && node instanceof INodeNotifier) {
-			Node ownerNode = node.getOwnerDocument();
-			if (ownerNode == null) {
-				// then must be the document itself
-				ownerNode = node;
-			}
-			PageDirectiveAdapter typeadapter = (PageDirectiveAdapter) ((INodeNotifier) ownerNode).getAdapterFor(PageDirectiveAdapter.class);
-			if (typeadapter != null) {
-				ModelQueryAdapter embeddedAdapter = (ModelQueryAdapter) typeadapter.adapt((INodeNotifier) node, ModelQueryAdapter.class);
-				if (embeddedAdapter != null)
-					this.embeddedModelQuery = embeddedAdapter.getModelQuery();
-			}
-		}
-		return this.embeddedModelQuery;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.contentmodel.modelquery.ModelQuery#getCMAttributeDeclaration(org.w3c.dom.Attr)
-	 */
-	public CMAttributeDeclaration getCMAttributeDeclaration(Attr attr) {
-		CMAttributeDeclaration result = super.getCMAttributeDeclaration(attr);
-		if (result == null) {
-			ModelQuery query = getEmbeddedModelQuery(attr);
-			if (query != null) {
-				result = query.getCMAttributeDeclaration(attr);
-			}
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java
deleted file mode 100644
index 5d78fcd..0000000
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * 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.modelquery;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.IModelStateListener;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.XMLCatalogIdResolver;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-
-public class ModelQueryAdapterFactoryForJSP extends AbstractAdapterFactory implements IModelStateListener {
-
-	protected JSPModelQueryAdapterImpl modelQueryAdapterImpl;
-
-	protected IStructuredModel stateNotifier = null;
-
-	public ModelQueryAdapterFactoryForJSP() {
-		this(ModelQueryAdapter.class, true);
-	}
-
-	/**
-	 * ModelQueryAdapterFactoryForJSP constructor comment.
-	 * 
-	 * @param adapterKey
-	 *            java.lang.Object
-	 * @param registerAdapters
-	 *            boolean
-	 */
-	public ModelQueryAdapterFactoryForJSP(Object key, boolean registerAdapters) {
-		super(key, registerAdapters);
-	}
-
-	public AdapterFactory copy() {
-		return new ModelQueryAdapterFactoryForJSP(this.adapterKey, this.shouldRegisterAdapter);
-	}
-
-	/**
-	 * createAdapter method comment.
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-
-		if (Debug.displayInfo)
-			System.out.println("-----------------------ModelQueryAdapterFactoryForJSP.createAdapter" + target); //$NON-NLS-1$
-		if (modelQueryAdapterImpl == null) {
-			if (target instanceof XMLNode) {
-				XMLNode xmlNode = (XMLNode) target;
-				IStructuredModel model = stateNotifier = xmlNode.getModel();
-				String baseLocation = model.getBaseLocation();
-				// continue only if the location is known
-				if(baseLocation != null) {
-					stateNotifier.addModelStateListener(this);
-					CMDocumentCache cmDocumentCache = new CMDocumentCache();
-					File file = new Path(model.getBaseLocation()).toFile();
-					if(file.exists()) {
-						baseLocation = file.getAbsolutePath();
-					}
-					else {
-						baseLocation = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(model.getBaseLocation()).toString();
-					}
-					IdResolver resolver = new XMLCatalogIdResolver(baseLocation, model.getResolver());
-	
-					ModelQuery modelQuery = new JSPModelQueryImpl(model, resolver);
-					modelQuery.setEditMode(ModelQuery.EDIT_MODE_UNCONSTRAINED);
-					modelQueryAdapterImpl = new JSPModelQueryAdapterImpl(cmDocumentCache, modelQuery, resolver);
-				}
-			}
-		}
-		return modelQueryAdapterImpl;
-	}
-
-	/**
-	 * @see IModelStateListener#modelAboutToBeChanged(IStructuredModel)
-	 */
-	public void modelAboutToBeChanged(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelChanged(IStructuredModel)
-	 */
-	public void modelChanged(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelDirtyStateChanged(IStructuredModel,
-	 *      boolean)
-	 */
-	public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelResourceDeleted(IStructuredModel)
-	 */
-	public void modelResourceDeleted(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelResourceMoved(IStructuredModel,
-	 *      IStructuredModel)
-	 */
-	public void modelResourceMoved(IStructuredModel oldModel, IStructuredModel newModel) {
-		// if oldModel != newModel, bad things might happen with the adapter
-		stateNotifier.removeModelStateListener(this);
-		stateNotifier = newModel;
-		updateResolver(stateNotifier);
-		stateNotifier.addModelStateListener(this);
-	}
-
-
-	public void release() {
-		super.release();
-		if (stateNotifier != null) {
-			stateNotifier.removeModelStateListener(this);
-		}
-		stateNotifier = null;
-		if (modelQueryAdapterImpl != null) {
-			modelQueryAdapterImpl.release();
-		}
-	}
-
-	protected void updateResolver(IStructuredModel model) {
-		String baseLocation = model.getBaseLocation();
-		IFile baseFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(model.getBaseLocation()));
-		if (baseFile != null) {
-			baseLocation = baseFile.getLocation().toString();
-		}
-		modelQueryAdapterImpl.setIdResolver(new XMLCatalogIdResolver(baseLocation, model.getResolver()));
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/.classpath b/bundles/org.eclipse.jst.jsp.ui/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.jst.jsp.ui/.compatibility b/bundles/org.eclipse.jst.jsp.ui/.compatibility
deleted file mode 100644
index a4711ca..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=5228

diff --git a/bundles/org.eclipse.jst.jsp.ui/.cvsignore b/bundles/org.eclipse.jst.jsp.ui/.cvsignore
deleted file mode 100644
index fff9559..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-jspeditor.jar
-temp.folder
-org.eclipse.jst.jsp.ui_6.0.0.jar
-build.xml
diff --git a/bundles/org.eclipse.jst.jsp.ui/.options b/bundles/org.eclipse.jst.jsp.ui/.options
deleted file mode 100644
index 7a56447..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.jst.jsp.ui/debug/jspcontentassist=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/.project b/bundles/org.eclipse.jst.jsp.ui/.project
deleted file mode 100644
index 2d42e46..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.jsp.ui</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/bundles/org.eclipse.jst.jsp.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.jst.jsp.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 976aa89..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jan 12 16:08:24 EST 2005

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=enabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/bundles/org.eclipse.jst.jsp.ui/build.properties b/bundles/org.eclipse.jst.jsp.ui/build.properties
deleted file mode 100644
index cca182e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-source.jspeditor.jar = src/
-bin.includes = plugin.xml,\
-               *.jar,\
-               jspeditor.jar,\
-               icons/,\
-               plugin.properties,\
-               templates/
-src.includes = plugin.xml,\
-               plugin.properties,\
-               icons/,\
-               build.xml,\
-               templates/
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/class_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/class_obj.gif
deleted file mode 100644
index c00118d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/class_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/default_co.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/default_co.gif
deleted file mode 100644
index 49a1461..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/default_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_default_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_default_obj.gif
deleted file mode 100644
index 6929d3d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_default_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_private_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_private_obj.gif
deleted file mode 100644
index 1fe064e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_private_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_protected_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_protected_obj.gif
deleted file mode 100644
index 3377b1e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_protected_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_public_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_public_obj.gif
deleted file mode 100644
index d4cb425..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/field_public_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_default_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_default_obj.gif
deleted file mode 100644
index 4244a7f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_default_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_private_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_private_obj.gif
deleted file mode 100644
index 7392f19..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_private_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_protected_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_protected_obj.gif
deleted file mode 100644
index 5105577..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_protected_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_public_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_public_obj.gif
deleted file mode 100644
index e4c2a83..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerclass_public_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_default_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_default_obj.gif
deleted file mode 100644
index ab1b576..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_default_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_private_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_private_obj.gif
deleted file mode 100644
index a1cbff3..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_private_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_protected_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_protected_obj.gif
deleted file mode 100644
index f58eef0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_protected_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_public_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_public_obj.gif
deleted file mode 100644
index 2ebc46e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/innerinterface_public_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/localvariable_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/localvariable_obj.gif
deleted file mode 100644
index 8adce95..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/localvariable_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/package_obj.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/package_obj.gif
deleted file mode 100644
index 131c28d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/package_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/private_co.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/private_co.gif
deleted file mode 100644
index 5b881d8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/private_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/protected_co.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/protected_co.gif
deleted file mode 100644
index cd83b96..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/protected_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public.gif
deleted file mode 100644
index 7d24707..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public_co.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public_co.gif
deleted file mode 100644
index a9af5d5..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/public_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-jsp.gif b/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-jsp.gif
deleted file mode 100644
index 4084602..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/full/obj16/tag-jsp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspdecl.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspdecl.gif
deleted file mode 100644
index 35f48ef..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspdecl.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspexp.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspexp.gif
deleted file mode 100644
index ab4d74b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspexp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspincl.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspincl.gif
deleted file mode 100644
index 2584c31..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspincl.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspscr.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspscr.gif
deleted file mode 100644
index 1753b96..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jspscr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jsptaglib.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jsptaglib.gif
deleted file mode 100644
index cb55e33..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/jsptaglib.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-generic.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-generic.gif
deleted file mode 100644
index 5e7fb33..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-generic.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-jsp.gif b/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-jsp.gif
deleted file mode 100644
index ea4de33..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/snippets/tag-jsp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/icons/sourceEditor.gif b/bundles/org.eclipse.jst.jsp.ui/icons/sourceEditor.gif
deleted file mode 100644
index 75ebdb8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/icons/sourceEditor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jst.jsp.ui/plugin.properties b/bundles/org.eclipse.jst.jsp.ui/plugin.properties
deleted file mode 100644
index 2388dc6..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/plugin.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-providerName=Eclipse.org
-pluginName=SSE JSP Source Editor
-nlFeatureName=SSE JSP Source Editor NL Support
-JSP_Source_Page_Editor.name=JSP Source Page Editor
-JSP_Files.name=JSP Files
-JSP_Templates.name=JSP Templates
-JSP_Styles.name=JSP Styles
-JSP_Annotations.name=JSP Annotations
-
-# Snippets contributions for helping with JSP syntax
-jsp_scriptlet=<%..%> scriptlet
-jsp_scr_content=<%  %>
-jsp_hidden_comment=<%--..--%> comment
-jsp_hidden_comment_content=<%--  --%>
-jsp_declaration=<%!..%> declaration
-jsp_declaration_content=<%!  %>
-jsp_expression=<%=..%> expression
-jsp_expression_content=<%=  %>
-jsp_include_directive=include directive
-jsp_include_directive_content=<%@ include file="" %>
-jsp_page_directive=page directive
-jsp_page_directive_content=<%@ page contentType="text/html; charset=" %>
-jsp_taglib_directive=taglib directive
-jsp_taglib_directive_content=<%@ taglib uri="${uri}" prefix="${prefix}" %>
-jsp_taglib_directive_uri=URI to the containing JAR file or taglib descriptor (.tld)
-jsp_taglib_directive_prefix=Namespace prefix for tags from this library
-JSPFragmentContentSettings.name=JSP Fragment
-command.jsp.refactor.rename.name=Rename
-command.jsp.refactor.rename.description=Rename a Java Element
-command.jsp.refactor.move.name=Move
-command.jsp.refactor.move.description=Move a Java Element to another package
-scope.structured.text.editor.jsp.name=Editing JSP Source
-scope.structured.text.editor.jsp.description=Editing JSP Source
-JSP_Type_Rename_Participant_Extension_Element.name=JSP Type Rename Participant
-JSP_Method_Rename_Participant_Extension_Element.name=JSP Method Rename Participant
-JSP_Package_Rename_Participant_Extension_Element.name=JSP Package Rename Participant
-JSP_Type_Move_Participant_Extension_Element.name=JSP Type Move Participant
-All_JSP_context_type_Extension_Element.name=All JSP context type
-JSP_Tag_context_type_Extension_Element.name=JSP Tag context type
-JSP_Attribute_context_type_Extension_Element.name=JSP Attribute context type
-JSP_Attribute_value_context_type_Extension_Element.name=JSP Attribute value context type
-JSP_Query_Participant_Extension_Element.name=JSP Query Participant
-JSP_Extension_Element.label=JSP
diff --git a/bundles/org.eclipse.jst.jsp.ui/plugin.xml b/bundles/org.eclipse.jst.jsp.ui/plugin.xml
deleted file mode 100644
index 404adbb..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/plugin.xml
+++ /dev/null
@@ -1,400 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin id="org.eclipse.jst.jsp.ui" name="%pluginName" version="1.0.0"
-	provider-name="%providerName"
-	class="org.eclipse.jst.jsp.ui.internal.JSPUIPlugin">
-
-	<runtime>
-		<library name="jspeditor.jar">
-			<export name="*" />
-		</library>
-	</runtime>
-	<requires>
-		<import plugin="org.eclipse.ui.ide" />
-		<import plugin="org.eclipse.ui.views" />
-		<import plugin="org.eclipse.jface.text" />
-		<import plugin="org.eclipse.ui.workbench.texteditor" />
-		<import plugin="org.eclipse.ui.editors" />
-		<import plugin="org.eclipse.ui" />
-		<import plugin="org.eclipse.wst.sse.ui" />
-		<import plugin="org.eclipse.wst.html.ui" />
-		<import plugin="org.eclipse.wst.css.ui" />
-		<import plugin="org.eclipse.wst.xml.ui" />
-		<import plugin="org.eclipse.jst.jsp.core" />
-		<import plugin="org.eclipse.wst.html.core" />
-		<import plugin="org.eclipse.wst.css.core" />
-		<import plugin="org.eclipse.wst.xml.core" />
-		<import plugin="org.eclipse.wst.xml.uriresolver" />
-		<import plugin="org.eclipse.wst.sse.core" />
-		<import plugin="org.eclipse.wst.common.contentmodel" />
-		<import plugin="org.eclipse.jdt.ui" />
-		<import plugin="org.eclipse.jdt.core" />
-		<import plugin="org.eclipse.wst.javascript.common.ui" />
-		<import plugin="org.eclipse.debug.core" />
-		<import plugin="org.eclipse.jdt.debug" />
-		<import plugin="org.eclipse.core.resources" />
-		<import plugin="org.eclipse.core.runtime" />
-		<import plugin="org.eclipse.wst.common.encoding" />
-		<import plugin="org.eclipse.search" />
-		<import plugin="org.eclipse.ltk.core.refactoring" />
-		<import plugin="org.eclipse.ltk.ui.refactoring" />
-		<import plugin="org.eclipse.wst.common.uriresolver"/>
-	</requires>
-
-
-	<extension point="org.eclipse.ui.editors">
-		<editor name="%JSP_Source_Page_Editor.name"
-			icon="icons/sourceEditor.gif" extensions="jsp, jsf, jspf, jspx, tag, tagf"
-			contributorClass="org.eclipse.jst.jsp.ui.ActionContributorJSP"
-			class="org.eclipse.jst.jsp.ui.StructuredTextEditorJSP"
-			symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-			id="org.eclipse.jst.jsp.ui.StructuredTextEditorJSP">
-		</editor>
-	</extension>
-	<extension point="org.eclipse.wst.sse.ui.extendedconfiguration">
-		<configuration 
-      		type="textviewerconfiguration"
-			class="org.eclipse.jst.jsp.ui.StructuredTextViewerConfigurationJSP"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-		<configuration 
-      		type="contentoutlineconfiguration"
-			class="org.eclipse.jst.jsp.ui.views.contentoutline.JSPContentOutlineConfiguration"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-		<configuration 
-      		type="propertysheetconfiguration"
-			class="org.eclipse.wst.xml.ui.views.properties.XMLPropertySheetConfiguration"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-		<configuration 
-      		type="spellchecktarget"
-			class="org.eclipse.jst.jsp.ui.JSPSpellCheckTarget"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-		<configuration 
-      		type="sourceeditingtexttools"
-			class="org.eclipse.jst.jsp.ui.extensions.JSPSourceEditingTextTools"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-		<configuration 
-      		type="characterpairmatcher"
-			class="org.eclipse.jst.jsp.ui.text.JSPDocumentRegionEdgeMatcher"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-		<definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.jsp"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-		<definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.jsp.templates"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-		<definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.jsp.styles"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-		<definition 
-      		type="showintarget"
-            value="org.eclipse.jdt.ui.PackageExplorer"
-			target="org.eclipse.jst.jsp.core.jspsource"/>
-	</extension>
-	<extension
-		point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
-		<adapterFactoryDescription
-			class="org.eclipse.jst.jsp.ui.registry.AdapterFactoryProviderForJSP">
-			<contentType id="org.eclipse.jst.jsp.core.jspsource" />
-		</adapterFactoryDescription>
-	</extension>
-	<extension
-		point="org.eclipse.core.filebuffers.annotationModelCreation">
-		<factory contentTypeId="org.eclipse.jst.jsp.core.jspsource"
-			class="org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModelFactory" />
-	</extension>
-	<extension point="org.eclipse.ui.preferencePages">
-
-		<!--======================================================================================-->
-		<!-- JSP PREFERENCE PAGES                                                                 -->
-		<!--======================================================================================-->
-		<page name="%JSP_Files.name"
-			category="org.eclipse.wst.sse.ui.preferences"
-			class="org.eclipse.jst.jsp.ui.preferences.ui.JSPFilesPreferencePage"
-			id="org.eclipse.wst.sse.ui.preferences.jsp">
-		</page>
-		<page name="%JSP_Templates.name"
-			category="org.eclipse.wst.sse.ui.preferences.jsp"
-			class="org.eclipse.jst.jsp.ui.preferences.ui.JSPTemplatePreferencePage"
-			id="org.eclipse.wst.sse.ui.preferences.jsp.templates">
-		</page>
-		<page name="%JSP_Styles.name"
-			category="org.eclipse.wst.sse.ui.preferences.jsp"
-			class="org.eclipse.jst.jsp.ui.preferences.ui.JSPColorPage"
-			id="org.eclipse.wst.sse.ui.preferences.jsp.styles">
-		</page>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- FOR JSP/JAVA RENAME PARTICIPATION                                                    -->
-	<!--======================================================================================-->
-	<extension
-		point="org.eclipse.ltk.core.refactoring.renameParticipants">
-		<renameParticipant
-			name="%JSP_Type_Rename_Participant_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPTypeRenameParticipant"
-			id="org.eclipse.jst.jsp.ui.java.refactoring.JSPTypeRenameParticipant">
-			<enablement>
-				<with variable="affectedNatures">
-					<iterate operator="or">
-						<equals
-							value="org.eclipse.jdt.core.javanature">
-						</equals>
-					</iterate>
-				</with>
-				<with variable="element">
-					<instanceof value="org.eclipse.jdt.core.IType">
-					</instanceof>
-				</with>
-			</enablement>
-		</renameParticipant>
-
-		<renameParticipant
-			name="%JSP_Method_Rename_Participant_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPMethodRenameParticipant"
-			id="org.eclipse.jst.jsp.ui.java.refactoring.JSPMethodRenameParticipant">
-			<enablement>
-				<with variable="affectedNatures">
-					<iterate operator="or">
-						<equals
-							value="org.eclipse.jdt.core.javanature">
-						</equals>
-					</iterate>
-				</with>
-				<with variable="element">
-					<instanceof value="org.eclipse.jdt.core.IMethod">
-					</instanceof>
-				</with>
-			</enablement>
-		</renameParticipant>
-
-		<renameParticipant
-			name="%JSP_Package_Rename_Participant_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPPackageRenameParticipant"
-			id="org.eclipse.jst.jsp.ui.java.refactoring.JSPPackageRenameParticipant">
-			<enablement>
-				<with variable="affectedNatures">
-					<iterate operator="or">
-						<equals
-							value="org.eclipse.jdt.core.javanature">
-						</equals>
-					</iterate>
-				</with>
-				<with variable="element">
-					<instanceof
-						value="org.eclipse.jdt.core.IPackageFragment">
-					</instanceof>
-				</with>
-			</enablement>
-		</renameParticipant>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- FOR JSP/JAVA MOVE PARTICIPATION                                                      -->
-	<!--======================================================================================-->
-	<extension
-		point="org.eclipse.ltk.core.refactoring.moveParticipants">
-
-		<moveParticipant
-			id="org.eclipse.jst.jsp.ui.java.refactoring.JSPTypeMoveParticipant"
-			name="%JSP_Type_Move_Participant_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPTypeMoveParticipant">
-			<enablement>
-				<with variable="affectedNatures">
-					<iterate operator="or">
-						<equals value="org.eclipse.jdt.core.javanature" />
-					</iterate>
-				</with>
-				<with variable="element">
-					<instanceof value="org.eclipse.jdt.core.IType">
-					</instanceof>
-				</with>
-			</enablement>
-		</moveParticipant>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- for breakpoint                                                                       -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.wst.sse.ui.breakpoint">
-		<breakpointContribution id="org.eclipse.jst.jsp.ui.providers">
-			<!-- 
-				<provider
-				extensions="jsp, jspf, jsf"
-				class="org.eclipse.jst.jsp.ui.breakpointproviders.JavaStratumBreakpointProvider"
-				id="org.eclipse.jst.jsp.ui.breakpointproviders.JavaStratumBreakpointProvider">
-				</provider>
-			-->
-			<provider contentTypes="org.eclipse.jst.jsp.core.jspsource"
-				class="org.eclipse.jst.jsp.ui.breakpointproviders.JavaStratumBreakpointProvider:*jsp"
-				id="org.eclipse.jst.jsp.ui.breakpointproviders.JavaStratumBreakpointProvider" />
-		</breakpointContribution>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- Snippet View contributions                                                           -->
-	<!--======================================================================================-->
-	<extension
-		point="org.eclipse.wst.sse.snippets.SnippetContributions">
-		<category label="%JSP_Extension_Element.label"
-			icon="icons/snippets/tag-jsp.gif"
-			id="org.eclipse.jst.jsp.ui.category0"
-			contenttypes="org.eclipse.jst.jsp.core.jspsource" />
-		<item label="%jsp_hidden_comment"
-			icon="icons/snippets/tag-generic.gif"
-			category="org.eclipse.jst.jsp.ui.category0"
-			class="org.eclipse.wst.sse.snippets.insertions.VariableInsertion"
-			id="org.eclipse.jst.jsp.ui.jsp_hidden_comment">
-			<content>%jsp_hidden_comment_content</content>
-		</item>
-		<item label="%jsp_scriptlet" icon="icons/snippets/jspscr.gif"
-			category="org.eclipse.jst.jsp.ui.category0"
-			class="org.eclipse.wst.sse.snippets.insertions.VariableInsertion"
-			id="org.eclipse.jst.jsp.ui.jsp_scriptlet">
-			<content>%jsp_scr_content</content>
-		</item>
-		<item label="%jsp_expression" icon="icons/snippets/jspexp.gif"
-			category="org.eclipse.jst.jsp.ui.category0"
-			class="org.eclipse.wst.sse.snippets.insertions.VariableInsertion"
-			id="org.eclipse.jst.jsp.ui.jsp_expression">
-			<content>%jsp_expression_content</content>
-		</item>
-		<item label="%jsp_declaration" icon="icons/snippets/jspdecl.gif"
-			category="org.eclipse.jst.jsp.ui.category0"
-			class="org.eclipse.wst.sse.snippets.insertions.VariableInsertion"
-			id="org.eclipse.jst.jsp.ui.jsp_declaration">
-			<content>%jsp_declaration_content</content>
-		</item>
-		<item label="%jsp_include_directive"
-			icon="icons/snippets/jspincl.gif"
-			category="org.eclipse.jst.jsp.ui.category0"
-			class="org.eclipse.wst.sse.snippets.insertions.VariableInsertion"
-			id="org.eclipse.jst.jsp.ui.jsp_include_directive">
-			<content>%jsp_include_directive_content</content>
-		</item>
-		<item label="%jsp_page_directive"
-			category="org.eclipse.jst.jsp.ui.category0"
-			class="org.eclipse.wst.sse.snippets.insertions.VariableInsertion"
-			id="org.eclipse.jst.jsp.ui.jsp_page_directive">
-			<content>%jsp_page_directive_content</content>
-		</item>
-		<item label="%jsp_taglib_directive"
-			icon="icons/snippets/jsptaglib.gif"
-			category="org.eclipse.jst.jsp.ui.category0"
-			class="org.eclipse.wst.sse.snippets.insertions.PrependInsertion"
-			id="org.eclipse.jst.jsp.ui.jsp_taglib_directive">
-			<content>%jsp_taglib_directive_content</content>
-			<variable description="%jsp_taglib_directive_uri"
-				id="uri">
-			</variable>
-			<variable default="mylib"
-				description="%jsp_taglib_directive_prefix" id="prefix">
-			</variable>
-		</item>
-	</extension>
-
-	<!-- Editor actionsets -->
-	<extension point="org.eclipse.ui.actionSetPartAssociations">
-		<actionSetPartAssociation
-			targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
-			<part id="org.eclipse.jst.jsp.ui.StructuredTextEditorJSP">
-			</part>
-		</actionSetPartAssociation>
-		<actionSetPartAssociation
-			targetID="org.eclipse.ui.NavigateActionSet">
-			<part id="org.eclipse.jst.jsp.ui.StructuredTextEditorJSP">
-			</part>
-		</actionSetPartAssociation>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- JSP Editor specific actions                                                          -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.ui.commands">
-		<scope name="%scope.structured.text.editor.jsp.name"
-			parent="org.eclipse.ui.textEditorScope"
-			description="%scope.structured.text.editor.jsp.description"
-			id="org.eclipse.jst.jsp.ui.structured.text.editor.jsp.scope">
-		</scope>
-		<!-- dmw 6/6 removed from 'scope'      parentId="org.eclipse.ui.textEditorScope" -->
-		<!-- rename refactor -->
-		<command name="%command.jsp.refactor.rename.name"
-			description="%command.jsp.refactor.rename.description"
-			category="org.eclipse.ui.category.edit"
-			id="org.eclipse.jst.jsp.ui.refactor.rename">
-		</command>
-		<keyBinding string="Alt+Shift+R"
-			scope="org.eclipse.jst.jsp.ui.structured.text.editor.jsp.scope"
-			command="org.eclipse.jst.jsp.ui.refactor.rename"
-			configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-		</keyBinding>
-		<!-- move refactor -->
-		<command name="%command.jsp.refactor.move.name"
-			description="%command.jsp.refactor.move.description"
-			category="org.eclipse.ui.category.edit"
-			id="org.eclipse.jst.jsp.ui.refactor.move">
-		</command>
-		<keyBinding string="Alt+Shift+V"
-			scope="org.eclipse.jst.jsp.ui.structured.text.editor.jsp.scope"
-			command="org.eclipse.jst.jsp.ui.refactor.move"
-			configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-		</keyBinding>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- Templates                                                                            -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.ui.editors.templates">
-		<contextType name="%All_JSP_context_type_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.templates.TemplateContextTypeJSP"
-			id="jsp_all">
-		</contextType>
-		<contextType name="%JSP_Tag_context_type_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.templates.TemplateContextTypeJSPTag"
-			id="jsp_tag">
-		</contextType>
-		<contextType
-			name="%JSP_Attribute_context_type_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.templates.TemplateContextTypeJSPAttribute"
-			id="jsp_attribute">
-		</contextType>
-		<contextType
-			name="%JSP_Attribute_value_context_type_Extension_Element.name"
-			class="org.eclipse.jst.jsp.ui.templates.TemplateContextTypeJSPAttributeValue"
-			id="jsp_attribute_value">
-		</contextType>
-		<include file="templates/jspdefault-templates.xml"
-			translations="templates/jspdefault-templates.properties">
-		</include>
-	</extension>
-
-	<!--======================================================================================-->
-	<!-- queryParticipant to participate in java seraches                                     -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.jdt.ui.queryParticipants">
-		<queryParticipant
-			name="%JSP_Query_Participant_Extension_Element.name"
-			nature="org.eclipse.jdt.core.javanature"
-			class="org.eclipse.jst.jsp.ui.internal.java.search.ui.JSPQueryParticipant"
-			id="org.eclipse.jst.jsp.ui.java.search.ui.JSPQueryParticipant">
-		</queryParticipant>
-	</extension>
-	<!-- initialize xml ui preferences -->
-	<extension point="org.eclipse.core.runtime.preferences">
-	   <initializer class="org.eclipse.jst.jsp.ui.internal.preferences.JSPUIPreferenceInitializer"/>
-	</extension>
-	
-	<!--======================================================================================-->
-	<!-- Document provider for ExternalFileEditorInput                                        -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.ui.editors.documentProviders"> 
-		<provider 
-			inputTypes="org.eclipse.jst.jsp.ui.internal.hyperlink.ExternalFileEditorInput" 
-			class="org.eclipse.ui.editors.text.TextFileDocumentProvider" 
-			id="org.eclipse.jst.jsp.ui.internal.ExternalFileDocumentProvider"> 
-		</provider> 
-	</extension> 
-
-</plugin>
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/ActionContributorJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/ActionContributorJSP.java
deleted file mode 100644
index 468f0d8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/ActionContributorJSP.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * 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.ui;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jdt.ui.actions.RefactorActionGroup;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jst.jsp.ui.internal.IActionConstantsJSP;
-import org.eclipse.jst.jsp.ui.internal.IActionDefinitionIdsJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.texteditor.RetargetTextEditorAction;
-import org.eclipse.wst.html.ui.edit.ui.ActionContributorHTML;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-
-/**
- * ActionContributorJSP
- * 
- * This class should not be used inside multi page editor's ActionBarContributor,
- * since cascaded init() call from the ActionBarContributor
- * will causes exception and it leads to lose whole toolbars. 
- *
- * Instead, use SourcePageActionContributor for source page contributor
- * of multi page editor.
- * 
- * Note that this class is still valid for single page editor.
- */
-public class ActionContributorJSP extends ActionContributorHTML {
-	
-	private RetargetTextEditorAction renameElementAction = null;
-	private RetargetTextEditorAction moveElementAction = null;
-	private IMenuManager refactorMenu = null;
-	
-	private static final String[] EDITOR_IDS = {"org.eclipse.jst.jsp.ui.StructuredTextEditorJSP", "org.eclipse.wst.sse.ui.StructuredTextEditor"}; //$NON-NLS-1$ //$NON-NLS-2$
-
-	public ActionContributorJSP() {
-		super();
-
-		ResourceBundle bundle = JSPUIPlugin.getDefault().getResourceBundle();
-		this.renameElementAction = new RetargetTextEditorAction(bundle, IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT + StructuredTextEditorActionConstants.DOT);
-		this.renameElementAction.setActionDefinitionId(IActionDefinitionIdsJSP.RENAME_ELEMENT);
-		
-		this.moveElementAction = new RetargetTextEditorAction(bundle, IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT + StructuredTextEditorActionConstants.DOT);
-		this.moveElementAction.setActionDefinitionId(IActionDefinitionIdsJSP.MOVE_ELEMENT);
-		
-		// the refactor menu, add the menu itself to add all refactor actions
-		this.refactorMenu = new MenuManager(JSPUIPlugin.getResourceString("%ActionContributorJSP.0"), RefactorActionGroup.MENU_ID); //$NON-NLS-1$
-		refactorMenu.add(this.renameElementAction);
-		refactorMenu.add(this.moveElementAction);
-	}
-	
-	/**
-	 * @see com.ibm.sse.editor.ui.ActionContributor#getExtensionIDs()
-	 */
-	protected String[] getExtensionIDs() {
-		return EDITOR_IDS;
-	}
-	
-	/**
-	 * @see com.ibm.sse.editor.xml.ui.actions.ActionContributorXML#addToMenu(org.eclipse.jface.action.IMenuManager)
-	 */
-	protected void addToMenu(IMenuManager menu) {
-		super.addToMenu(menu);
-
-		menu.insertAfter(IWorkbenchActionConstants.M_EDIT, this.refactorMenu);
-	}
-	
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.ui.actions.ActionContributorXML#setActiveEditor(org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IEditorPart activeEditor) {
-		
-		super.setActiveEditor(activeEditor);
-		this.renameElementAction.setAction(getAction(getTextEditor(getActiveEditorPart()), IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT));
-		this.moveElementAction.setAction(getAction(getTextEditor(getActiveEditorPart()), IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT));
-	}
-	
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.ui.actions.ActionContributorXML#setViewerSpecificContributionsEnabled(boolean)
-	 */
-	public void setViewerSpecificContributionsEnabled(boolean enabled) {
-		
-		super.setViewerSpecificContributionsEnabled(enabled);
-		this.renameElementAction.setEnabled(enabled);
-		this.moveElementAction.setEnabled(enabled);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/JSPSpellCheckTarget.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/JSPSpellCheckTarget.java
deleted file mode 100644
index 82ddc24..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/JSPSpellCheckTarget.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * 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.ui;
-
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.ui.XMLSpellCheckTarget;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-public class JSPSpellCheckTarget extends XMLSpellCheckTarget {
-
-	/**
-	 * @param editor
-	 */
-	public JSPSpellCheckTarget() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.SpellCheckTargetImpl#isValidType(java.lang.String)
-	 */
-	protected boolean isValidType(String type) {
-		boolean valid = false;
-		if (//XMLRegionContext.UNDEFINED.equals(type) ||
-		//XMLRegionContext.BLOCK_TEXT.equals(type) ||
-		//XMLRegionContext.XML_CDATA_TEXT.equals(type) ||
-		//XMLRegionContext.XML_PI_CONTENT.equals(type) ||
-		//XMLRegionContext.XML_ELEMENT_DECL_CONTENT.equals(type) ||
-		//XMLRegionContext.XML_ATTLIST_DECL_CONTENT.equals(type) ||
-		//XMLJSPRegionContexts.JSP_CONTENT.equals(type) ||
-		//XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE.equals(type) ||
-		XMLJSPRegionContexts.JSP_COMMENT_TEXT.equals(type)) {
-			valid = true;
-		}
-		return valid || super.isValidType(type);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/StructuredTextEditorJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/StructuredTextEditorJSP.java
deleted file mode 100644
index 68bf6c1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/StructuredTextEditorJSP.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.ui;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.ui.internal.IActionConstantsJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.editor.IHelpContextIds;
-import org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPMoveElementAction;
-import org.eclipse.jst.jsp.ui.internal.java.refactoring.JSPRenameElementAction;
-import org.eclipse.jst.jsp.ui.internal.java.search.JSPFindOccurrencesAction;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.wst.html.ui.edit.ui.CleanupActionHTML;
-import org.eclipse.wst.html.ui.internal.search.HTMLFindOccurrencesAction;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.edit.util.ActionDefinitionIds;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.search.FindOccurrencesActionProvider;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.ui.actions.AddBlockCommentActionXML;
-import org.eclipse.wst.xml.ui.actions.RemoveBlockCommentActionXML;
-import org.eclipse.wst.xml.ui.actions.ToggleCommentActionXML;
-
-public class StructuredTextEditorJSP extends StructuredTextEditor {
-
-	protected void createActions() {
-		super.createActions();
-
-		ResourceBundle resourceBundle = SSEUIPlugin.getDefault().getResourceBundle();
-
-		Action action = new CleanupActionHTML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.CLEANUP_DOCUMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT, action);
-
-		action = new ToggleCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.TOGGLE_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT, action);
-
-		action = new AddBlockCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.ADD_BLOCK_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT, action);
-
-		action = new RemoveBlockCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.REMOVE_BLOCK_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT, action);
-
-		FindOccurrencesActionProvider foAction = new FindOccurrencesActionProvider(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES + DOT, this);
-		foAction.addAction(new HTMLFindOccurrencesAction(resourceBundle, "", this)); //$NON-NLS-1$
-		foAction.addAction(new JSPFindOccurrencesAction(resourceBundle, "", this)); //$NON-NLS-1$
-		foAction.setActionDefinitionId(ActionDefinitionIds.FIND_OCCURRENCES);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES, foAction);
-		markAsSelectionDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES, true);
-
-		JSPRenameElementAction renameAction = new JSPRenameElementAction(JSPUIPlugin.getDefault().getResourceBundle(), IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT + DOT, this);
-		setAction(IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT, renameAction);
-		markAsSelectionDependentAction(IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT, true);
-
-		JSPMoveElementAction moveAction = new JSPMoveElementAction(JSPUIPlugin.getDefault().getResourceBundle(), IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT + DOT, this);
-		setAction(IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT, moveAction);
-		markAsSelectionDependentAction(IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT, true);
-	}
-
-	/**
-	 * Uses the input's JSPTranslation to get currently selected Java
-	 * elements.
-	 * 
-	 * @return currently selected IJavaElements *
-	 * @deprecated - to be refactored and made to use the editor's selection
-	 *             provider
-	 */
-	public IJavaElement[] getJavaElementsForCurrentSelection() {
-
-		IJavaElement[] elements = new IJavaElement[0];
-		// get JSP translation object for this viewer's document
-		XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-		try {
-			if (xmlModel != null) {
-				XMLDocument xmlDoc = xmlModel.getDocument();
-
-				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				if (adapter != null) {
-					JSPTranslation translation = adapter.getJSPTranslation();
-					Point selected = getSelectionRange();
-					elements = translation.getElementsFromJspRange(selected.x, selected.x + selected.y);
-				}
-			}
-		}
-		finally {
-			if (xmlModel != null)
-				xmlModel.releaseFromRead();
-		}
-		return elements;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.StructuredTextEditor#addContextMenuActions(org.eclipse.jface.action.IMenuManager)
-	 */
-	protected void addContextMenuActions(IMenuManager menu) {
-
-		super.addContextMenuActions(menu);
-
-		if (getSourceViewer().isEditable()) {
-			String label = JSPUIPlugin.getResourceString("%Refactor.label"); //$NON-NLS-1$ = "Format"
-			MenuManager subMenu = new MenuManager(label, "Refactor"); //$NON-NLS-1$
-			addAction(subMenu, IActionConstantsJSP.ACTION_NAME_RENAME_ELEMENT);
-			addAction(subMenu, IActionConstantsJSP.ACTION_NAME_MOVE_ELEMENT);
-			subMenu.add(new GroupMarker(GROUP_NAME_ADDITIONS));
-			menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, subMenu);
-		}
-	}
-
-	protected void initializeEditor() {
-		super.initializeEditor();
-		setHelpContextId(IHelpContextIds.JSP_SOURCEVIEW_HELPID);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/StructuredTextViewerConfigurationJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/StructuredTextViewerConfigurationJSP.java
deleted file mode 100644
index f135b11..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/StructuredTextViewerConfigurationJSP.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*******************************************************************************
- * 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.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IAutoEditStrategy;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextDoubleClickStrategy;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.formatter.IContentFormatter;
-import org.eclipse.jface.text.formatter.MultiPassContentFormatter;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.information.IInformationPresenter;
-import org.eclipse.jface.text.information.IInformationProvider;
-import org.eclipse.jface.text.information.InformationPresenter;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.jst.jsp.ui.format.FormattingStrategyJSPJava;
-import org.eclipse.jst.jsp.ui.internal.autoedit.StructuredAutoEditStrategyJSP;
-import org.eclipse.jst.jsp.ui.internal.contentassist.JSPContentAssistProcessor;
-import org.eclipse.jst.jsp.ui.internal.contentassist.JSPJavaContentAssistProcessor;
-import org.eclipse.jst.jsp.ui.internal.contentassist.NoRegionContentAssistProcessorForJSP;
-import org.eclipse.jst.jsp.ui.internal.correction.CorrectionProcessorJSP;
-import org.eclipse.jst.jsp.ui.internal.hyperlink.JSPJavaHyperlinkDetector;
-import org.eclipse.jst.jsp.ui.internal.hyperlink.TaglibHyperlinkDetector;
-import org.eclipse.jst.jsp.ui.internal.hyperlink.URIHyperlinkDetector;
-import org.eclipse.jst.jsp.ui.internal.reconcile.StructuredTextReconcilingStrategyForJSP;
-import org.eclipse.jst.jsp.ui.internal.taginfo.JSPJavaJavadocHoverProcessor;
-import org.eclipse.jst.jsp.ui.style.LineStyleProviderForJSP;
-import org.eclipse.jst.jsp.ui.style.java.LineStyleProviderForJava;
-import org.eclipse.jst.jsp.ui.taginfo.JSPBestMatchHoverProcessor;
-import org.eclipse.jst.jsp.ui.taginfo.JSPJavaBestMatchHoverProcessor;
-import org.eclipse.jst.jsp.ui.taginfo.JSPTagInfoHoverProcessor;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.css.core.internal.text.rules.StructuredTextPartitionerForCSS;
-import org.eclipse.wst.css.ui.contentassist.CSSContentAssistProcessor;
-import org.eclipse.wst.css.ui.style.LineStyleProviderForEmbeddedCSS;
-import org.eclipse.wst.html.core.format.HTMLFormatProcessorImpl;
-import org.eclipse.wst.html.core.internal.text.rules.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.html.ui.internal.contentassist.HTMLContentAssistProcessor;
-import org.eclipse.wst.html.ui.style.LineStyleProviderForHTML;
-import org.eclipse.wst.html.ui.taginfo.HTMLBestMatchHoverProcessor;
-import org.eclipse.wst.html.ui.taginfo.HTMLInformationProvider;
-import org.eclipse.wst.html.ui.taginfo.HTMLTagInfoHoverProcessor;
-import org.eclipse.wst.javascript.common.ui.contentassist.JavaScriptContentAssistProcessor;
-import org.eclipse.wst.javascript.common.ui.style.LineStyleProviderForJavaScript;
-import org.eclipse.wst.javascript.common.ui.taginfo.JavaScriptBestMatchHoverProcessor;
-import org.eclipse.wst.javascript.common.ui.taginfo.JavaScriptInformationProvider;
-import org.eclipse.wst.javascript.common.ui.taginfo.JavaScriptTagInfoHoverProcessor;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
-import org.eclipse.wst.sse.ui.format.StructuredFormattingStrategy;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.style.IHighlighter;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-import org.eclipse.wst.sse.ui.taginfo.AnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.taginfo.ProblemAnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.taginfo.TextHoverManager;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-import org.eclipse.wst.xml.ui.doubleclick.XMLDoubleClickStrategy;
-import org.eclipse.wst.xml.ui.internal.correction.CorrectionProcessorXML;
-import org.eclipse.wst.xml.ui.reconcile.StructuredTextReconcilingStrategyForMarkup;
-
-public class StructuredTextViewerConfigurationJSP extends StructuredTextViewerConfiguration {
-
-    InformationPresenter fInformationPresenter = null;
-
-    private JavaSourceViewerConfiguration fJavaSourceViewerConfiguration;
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see com.ibm.sse.editor.StructuredTextViewerConfiguration#getAutoEditStrategies(org.eclipse.jface.text.source.ISourceViewer)
-     */
-    public Map getAutoEditStrategies(ISourceViewer sourceViewer) {
-        Map result = super.getAutoEditStrategies(sourceViewer);
-
-        if (result.get(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA) == null)
-            result.put(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA, new ArrayList(1));
-        if (result.get(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML) == null)
-            result.put(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML, new ArrayList(1));
-        if (result.get(StructuredTextPartitionerForHTML.ST_HTML_DECLARATION) == null)
-            result.put(StructuredTextPartitionerForHTML.ST_HTML_DECLARATION, new ArrayList(1));
-
-        List strategies = (List) result.get(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA);
-        // IJavaPartitions.JAVA_PARTITIONING = "___java_partitioning", but is
-        // internal
-        strategies.add(getJavaSourceViewerConfiguration().getAutoEditStrategies(sourceViewer, "___java_partitioning")[0]);
-
-        IAutoEditStrategy autoEditStrategy = new StructuredAutoEditStrategyJSP();
-        strategies = (List) result.get(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-        strategies.add(autoEditStrategy);
-        strategies = (List) result.get(StructuredTextPartitionerForHTML.ST_HTML_DECLARATION);
-        strategies.add(autoEditStrategy);
-
-        return result;
-    }
-
-    public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-        if (configuredContentTypes == null) {
-            String[] xmlTypes = StructuredTextPartitionerForXML.getConfiguredContentTypes();
-            String[] htmlTypes = StructuredTextPartitionerForHTML.getConfiguredContentTypes();
-            String[] jspTypes = StructuredTextPartitionerForJSP.getConfiguredContentTypes();
-            configuredContentTypes = new String[2 + xmlTypes.length + htmlTypes.length + jspTypes.length];
-
-            configuredContentTypes[0] = StructuredTextPartitioner.ST_DEFAULT_PARTITION;
-            configuredContentTypes[1] = StructuredTextPartitioner.ST_UNKNOWN_PARTITION;
-
-            int index = 0;
-            System.arraycopy(xmlTypes, 0, configuredContentTypes, index += 2, xmlTypes.length);
-            System.arraycopy(htmlTypes, 0, configuredContentTypes, index += xmlTypes.length, htmlTypes.length);
-            System.arraycopy(jspTypes, 0, configuredContentTypes, index += htmlTypes.length, jspTypes.length);
-        }
-
-        return configuredContentTypes;
-    }
-
-    public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-        IContentAssistant ca = super.getContentAssistant(sourceViewer);
-
-        if (ca != null && ca instanceof ContentAssistant) {
-            ContentAssistant contentAssistant = (ContentAssistant) ca;
-
-            IContentAssistProcessor htmlContentAssistProcessor = new HTMLContentAssistProcessor();
-            IContentAssistProcessor jsContentAssistProcessor = new JavaScriptContentAssistProcessor();
-            IContentAssistProcessor cssContentAssistProcessor = new CSSContentAssistProcessor();
-            IContentAssistProcessor jspContentAssistProcessor = new JSPContentAssistProcessor();
-            IContentAssistProcessor jspJavaContentAssistProcessor = new JSPJavaContentAssistProcessor();
-            IContentAssistProcessor noRegionProcessorJsp = new NoRegionContentAssistProcessorForJSP();
-
-            // HTML
-            setContentAssistProcessor(contentAssistant, htmlContentAssistProcessor, StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-            setContentAssistProcessor(contentAssistant, htmlContentAssistProcessor, StructuredTextPartitionerForHTML.ST_HTML_COMMENT);
-
-            // HTML JavaScript
-            setContentAssistProcessor(contentAssistant, jsContentAssistProcessor, StructuredTextPartitionerForHTML.ST_SCRIPT);
-            setContentAssistProcessor(contentAssistant, jsContentAssistProcessor, StructuredTextPartitionerForHTML.ST_SCRIPT);
-
-            // CSS
-            setContentAssistProcessor(contentAssistant, cssContentAssistProcessor, StructuredTextPartitionerForCSS.ST_STYLE);
-            setContentAssistProcessor(contentAssistant, cssContentAssistProcessor, StructuredTextPartitionerForCSS.ST_STYLE);
-
-            // JSP
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitioner.ST_DEFAULT_PARTITION);
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitionerForHTML.ST_HTML_COMMENT);
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitionerForJSP.ST_DEFAULT_JSP);
-            // SCRIPT region
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitionerForHTML.ST_SCRIPT);
-            // JSP directives
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitionerForJSP.ST_JSP_DIRECTIVE);
-            // JSP delimiters
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitionerForJSP.ST_JSP_CONTENT_DELIMITER);
-            // JSP JavaScript
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT);
-            // JSP Java
-            setContentAssistProcessor(contentAssistant, jspJavaContentAssistProcessor, StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA);
-            // unknown
-            setContentAssistProcessor(contentAssistant, noRegionProcessorJsp, StructuredTextPartitioner.ST_UNKNOWN_PARTITION);
-            // CMVC 269718
-            // JSP COMMENT
-            setContentAssistProcessor(contentAssistant, jspContentAssistProcessor, StructuredTextPartitionerForJSP.ST_JSP_COMMENT);
-        }
-
-        return ca;
-    }
-
-    public IContentAssistant getCorrectionAssistant(ISourceViewer sourceViewer) {
-        IContentAssistant ca = super.getCorrectionAssistant(sourceViewer);
-
-        if (ca != null && ca instanceof ContentAssistant) {
-            ContentAssistant correctionAssistant = (ContentAssistant) ca;
-            ITextEditor editor = getTextEditor();
-            if (editor != null) {
-                IContentAssistProcessor correctionProcessor = new CorrectionProcessorXML(editor);
-                correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-
-                correctionProcessor = new CorrectionProcessorJSP(editor);
-                correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA);
-            }
-        }
-
-        return ca;
-    }
-
-    public IContentFormatter getContentFormatter(ISourceViewer sourceViewer) {
-        MultiPassContentFormatter formatter = new MultiPassContentFormatter(getConfiguredDocumentPartitioning(sourceViewer), StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-
-        formatter.setMasterStrategy(new StructuredFormattingStrategy(new HTMLFormatProcessorImpl()));
-        formatter.setSlaveStrategy(new FormattingStrategyJSPJava(), StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA);
-
-        return formatter;
-    }
-
-    public ITextDoubleClickStrategy getDoubleClickStrategy(ISourceViewer sourceViewer, String contentType) {
-        if (contentType.compareTo(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML) == 0)
-            // HTML
-            return new XMLDoubleClickStrategy();
-        else if (contentType.compareTo(StructuredTextPartitionerForHTML.ST_SCRIPT) == 0 || contentType.compareTo(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA) == 0
-                || contentType.compareTo(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT) == 0)
-            // HTML JavaScript
-            // JSP Java or JSP JavaScript
-            return getJavaSourceViewerConfiguration().getDoubleClickStrategy(sourceViewer, contentType);
-        else if (contentType.compareTo(StructuredTextPartitionerForJSP.ST_DEFAULT_JSP) == 0)
-            // JSP
-            return new XMLDoubleClickStrategy();
-        else
-            return super.getDoubleClickStrategy(sourceViewer, contentType);
-    }
-
-    public IHighlighter getHighlighter(ISourceViewer sourceViewer) {
-        IHighlighter highlighter = super.getHighlighter(sourceViewer);
-
-        if (highlighter != null) {
-            // HTML
-            LineStyleProvider htmlLineStyleProvider = new LineStyleProviderForHTML();
-            highlighter.addProvider(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML, htmlLineStyleProvider);
-            highlighter.addProvider(StructuredTextPartitionerForHTML.ST_HTML_COMMENT, htmlLineStyleProvider);
-            highlighter.addProvider(StructuredTextPartitionerForHTML.ST_HTML_DECLARATION, htmlLineStyleProvider);
-
-            // HTML JavaScript
-            LineStyleProvider jsLineStyleProvider = new LineStyleProviderForJavaScript();
-            highlighter.addProvider(StructuredTextPartitionerForHTML.ST_SCRIPT, jsLineStyleProvider);
-
-            // CSS
-            LineStyleProvider cssLineStyleProvider = new LineStyleProviderForEmbeddedCSS();
-            highlighter.addProvider(StructuredTextPartitionerForCSS.ST_STYLE, cssLineStyleProvider);
-
-            // JSP
-            LineStyleProvider jspLineStyleProvider = new LineStyleProviderForJSP();
-            highlighter.addProvider(StructuredTextPartitionerForJSP.ST_DEFAULT_JSP, jspLineStyleProvider);
-            highlighter.addProvider(StructuredTextPartitionerForJSP.ST_JSP_COMMENT, jspLineStyleProvider);
-            highlighter.addProvider(StructuredTextPartitionerForJSP.ST_JSP_DIRECTIVE, jspLineStyleProvider);
-            highlighter.addProvider(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_DELIMITER, jspLineStyleProvider);
-
-            // JSP Java or JSP JavaScript
-            highlighter.addProvider(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA, new LineStyleProviderForJava());
-            highlighter.addProvider(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT, new LineStyleProviderForJavaScript());
-        }
-
-        return highlighter;
-    }
-
-    public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
-        if (fInformationPresenter == null) {
-            fInformationPresenter = new InformationPresenter(getInformationPresenterControlCreator(sourceViewer));
-
-            // HTML
-            IInformationProvider htmlInformationProvider = new HTMLInformationProvider();
-            fInformationPresenter.setInformationProvider(htmlInformationProvider, StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-
-            // HTML JavaScript
-            IInformationProvider javascriptInformationProvider = new JavaScriptInformationProvider();
-            fInformationPresenter.setInformationProvider(javascriptInformationProvider, StructuredTextPartitionerForHTML.ST_SCRIPT);
-
-            fInformationPresenter.setSizeConstraints(60, 10, true, true);
-        }
-        return fInformationPresenter;
-    }
-
-    public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType, int stateMask) {
-        // html
-        if (contentType == StructuredTextPartitionerForHTML.ST_DEFAULT_HTML) {
-            TextHoverManager.TextHoverDescriptor[] hoverDescs = getTextHovers();
-            int i = 0;
-            while (i < hoverDescs.length) {
-                if (hoverDescs[i].isEnabled() && EditorUtility.computeStateMask(hoverDescs[i].getModifierString()) == stateMask) {
-                    String hoverType = hoverDescs[i].getId();
-                    if (TextHoverManager.COMBINATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new HTMLBestMatchHoverProcessor();
-                    else if (TextHoverManager.PROBLEM_HOVER.equalsIgnoreCase(hoverType))
-                        return new ProblemAnnotationHoverProcessor();
-                    else if (TextHoverManager.ANNOTATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new AnnotationHoverProcessor();
-                    else if (TextHoverManager.DOCUMENTATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new HTMLTagInfoHoverProcessor();
-                }
-                i++;
-            }
-        } else if (contentType == StructuredTextPartitionerForHTML.ST_SCRIPT) {
-            // HTML JavaScript
-            TextHoverManager.TextHoverDescriptor[] hoverDescs = getTextHovers();
-            int i = 0;
-            while (i < hoverDescs.length) {
-                if (hoverDescs[i].isEnabled() && EditorUtility.computeStateMask(hoverDescs[i].getModifierString()) == stateMask) {
-                    String hoverType = hoverDescs[i].getId();
-                    if (TextHoverManager.COMBINATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new JavaScriptBestMatchHoverProcessor();
-                    else if (TextHoverManager.PROBLEM_HOVER.equalsIgnoreCase(hoverType))
-                        return new ProblemAnnotationHoverProcessor();
-                    else if (TextHoverManager.ANNOTATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new AnnotationHoverProcessor();
-                    else if (TextHoverManager.DOCUMENTATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new JavaScriptTagInfoHoverProcessor();
-                }
-                i++;
-            }
-        } else if ((contentType == StructuredTextPartitionerForJSP.ST_DEFAULT_JSP) || (contentType == StructuredTextPartitionerForJSP.ST_JSP_DIRECTIVE)) {
-            // JSP
-            TextHoverManager.TextHoverDescriptor[] hoverDescs = getTextHovers();
-            int i = 0;
-            while (i < hoverDescs.length) {
-                if (hoverDescs[i].isEnabled() && EditorUtility.computeStateMask(hoverDescs[i].getModifierString()) == stateMask) {
-                    String hoverType = hoverDescs[i].getId();
-                    if (TextHoverManager.COMBINATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new JSPBestMatchHoverProcessor();
-                    else if (TextHoverManager.PROBLEM_HOVER.equalsIgnoreCase(hoverType))
-                        return new ProblemAnnotationHoverProcessor();
-                    else if (TextHoverManager.ANNOTATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new AnnotationHoverProcessor();
-                    else if (TextHoverManager.DOCUMENTATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new JSPTagInfoHoverProcessor();
-                }
-                i++;
-            }
-        } else if (contentType == StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA) {
-            // JSP Java
-            TextHoverManager.TextHoverDescriptor[] hoverDescs = getTextHovers();
-            int i = 0;
-            while (i < hoverDescs.length) {
-                if (hoverDescs[i].isEnabled() && EditorUtility.computeStateMask(hoverDescs[i].getModifierString()) == stateMask) {
-                    String hoverType = hoverDescs[i].getId();
-                    if (TextHoverManager.COMBINATION_HOVER.equalsIgnoreCase(hoverType)) {
-                        JSPJavaBestMatchHoverProcessor hover = new JSPJavaBestMatchHoverProcessor();
-                        return hover;
-                    } else if (TextHoverManager.PROBLEM_HOVER.equalsIgnoreCase(hoverType))
-                        return new ProblemAnnotationHoverProcessor();
-                    else if (TextHoverManager.ANNOTATION_HOVER.equalsIgnoreCase(hoverType))
-                        return new AnnotationHoverProcessor();
-                    else if (TextHoverManager.DOCUMENTATION_HOVER.equalsIgnoreCase(hoverType)) {
-                        JSPJavaJavadocHoverProcessor hover = new JSPJavaJavadocHoverProcessor();
-                        return hover;
-                    }
-                }
-                i++;
-            }
-        }
-        return super.getTextHover(sourceViewer, contentType, stateMask);
-    }
-
-    public void unConfigure(ISourceViewer viewer) {
-        super.unConfigure(viewer);
-
-        // InformationPresenters
-        if (fInformationPresenter != null)
-            fInformationPresenter.uninstall();
-    }
-
-    public IReconciler getReconciler(ISourceViewer sourceViewer) {
-        if (fReconciler != null) {
-            // a reconciler should always be installed or disposed of
-            if (!fReconciler.isInstalled()) {
-                fReconciler = null;
-            }
-        }
-
-        // the first time running through, there's no model (so no pref store)
-        // but the reconciler still needs to be created so that its document
-        // gets set
-        if (fReconciler == null) {
-            // create one
-            fReconciler = new StructuredRegionProcessor();
-            fReconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-        }
-
-        boolean reconcilingEnabled = fPreferenceStore.getBoolean(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS);
-
-        if (!reconcilingEnabled) 
-            return fReconciler;
-        
-        if (fReconciler != null) {
-            IDocument doc = ((ITextEditor) editorPart).getDocumentProvider().getDocument(editorPart.getEditorInput());
-            IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-            try {
-                if (sModel != null) {
-
-                    IReconcilingStrategy markupStrategy = new StructuredTextReconcilingStrategyForMarkup((ITextEditor) editorPart);
-                    IReconcilingStrategy jspStrategy = new StructuredTextReconcilingStrategyForJSP((ITextEditor) editorPart);
-
-                    fReconciler.setReconcilingStrategy(markupStrategy, StructuredTextPartitioner.ST_DEFAULT_PARTITION);
-                    fReconciler.setReconcilingStrategy(markupStrategy, StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-
-                    fReconciler.setReconcilingStrategy(jspStrategy, StructuredTextPartitionerForJSP.ST_DEFAULT_JSP);
-                    fReconciler.setReconcilingStrategy(jspStrategy, StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA);
-                    fReconciler.setReconcilingStrategy(jspStrategy, StructuredTextPartitionerForJSP.ST_JSP_CONTENT_DELIMITER);
-                    fReconciler.setReconcilingStrategy(jspStrategy, StructuredTextPartitionerForJSP.ST_JSP_DIRECTIVE);
-
-                    fReconciler.setDefaultStrategy(markupStrategy);
-
-                    String contentTypeId = sModel.getContentTypeIdentifier();
-                    if (contentTypeId != null)
-                        fReconciler.setValidatorStrategy(createValidatorStrategy(contentTypeId));
-
-                }
-            } finally {
-                if (sModel != null)
-                    sModel.releaseFromRead();
-            }
-        }
-        return fReconciler;
-    }
-
-    private JavaSourceViewerConfiguration getJavaSourceViewerConfiguration() {
-        if (fJavaSourceViewerConfiguration == null) {
-            IPreferenceStore store = PreferenceConstants.getPreferenceStore();
-            JavaTextTools javaTextTools = new JavaTextTools(store);
-            fJavaSourceViewerConfiguration = new JavaSourceViewerConfiguration(javaTextTools, getTextEditor());
-        }
-        return fJavaSourceViewerConfiguration;
-    }
-    
-	/*
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getHyperlinkDetectors(org.eclipse.jface.text.source.ISourceViewer)
-	 * @since 3.1
-	 */
-	public IHyperlinkDetector[] getHyperlinkDetectors(ISourceViewer sourceViewer) {
-		if (sourceViewer == null || !fPreferenceStore.getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINKS_ENABLED))
-			return null;
-		
-		List allDetectors = new ArrayList(0);
-		allDetectors.add(new JSPJavaHyperlinkDetector());
-		allDetectors.add(new TaglibHyperlinkDetector());
-		allDetectors.add(new URIHyperlinkDetector());
-		
-		IHyperlinkDetector[] superDetectors =  super.getHyperlinkDetectors(sourceViewer);
-		for (int m = 0; m < superDetectors.length; m++) {
-			IHyperlinkDetector detector = superDetectors[m];
-			if (!allDetectors.contains(detector)) {
-				allDetectors.add(detector);
-			}
-		}
-		return (IHyperlinkDetector[]) allDetectors.toArray(new IHyperlinkDetector[0]);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/AbstractBreakpointProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/AbstractBreakpointProvider.java
deleted file mode 100644
index c53da7f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/AbstractBreakpointProvider.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * 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.ui.breakpointproviders;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.JSP12Namespace;
-import org.eclipse.jst.jsp.core.contentmodel.tld.TLDElementDeclaration;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IBreakpointProvider;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Abstract breakpoint provider class which implements breakpoint provider
- * interface.
- * 
- * This is a temporary class for JavaBreakpointProvider and
- * JavaScriptBreakpointProvider, and should be refactored to separate Java and
- * JavaScript parts.
- */
-public abstract class AbstractBreakpointProvider implements IBreakpointProvider {
-
-	private static final String JSP_DIRECTIVE_PAGE = "jsp:directive.page"; //$NON-NLS-1$
-	private static final String[] JAVASCRIPT_LANGUAGE_KEYS = new String[]{"javascript", "javascript1.0", "javascript1.1_3", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				"javascript1.2", "javascript1.3", "javascript1.4", "javascript1.5", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				"javascript1.6", "jscript", "sashscript"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	protected static final int UNSUPPORTED = 0;
-	protected static final int JAVA = 1;
-	protected static final int JAVASCRIPT = 2;
-
-	protected static final int END_OF_LINE = -1;
-	protected static final int NO_VALID_CONTENT = -2;
-
-	protected int getValidPosition(Document doc, IDocument idoc, int lineNumber) {
-		if (doc == null)
-			return NO_VALID_CONTENT;
-		if (idoc == null)
-			return NO_VALID_CONTENT;
-
-		int startOffset, endOffset;
-		try {
-			startOffset = idoc.getLineOffset(lineNumber - 1);
-			endOffset = idoc.getLineOffset(lineNumber) - 1;
-
-			if (idoc == null)
-				return NO_VALID_CONTENT;
-			String lineText = idoc.get(startOffset, endOffset - startOffset).trim();
-
-			// blank lines or lines with only an open or close brace or
-			// scriptlet tag cannot have a breakpoint
-			if (lineText.equals("") || lineText.equals("{") || //$NON-NLS-2$//$NON-NLS-1$
-						lineText.equals("}") || lineText.equals("<%"))//$NON-NLS-2$//$NON-NLS-1$
-				return NO_VALID_CONTENT;
-		}
-		catch (BadLocationException e) {
-			return NO_VALID_CONTENT;
-		}
-
-		IStructuredDocumentRegion flatNode = ((IStructuredDocument) idoc).getRegionAtCharacterOffset(startOffset);
-		// go through the node's regions looking for JSP content
-		// until reaching the end of the line
-		while (flatNode != null) {
-			int validPosition = getValidRegionPosition(((XMLDocument) doc).getModel(), flatNode, startOffset, endOffset);
-
-			if (validPosition == END_OF_LINE)
-				return NO_VALID_CONTENT;
-
-			if (validPosition >= 0)
-				return validPosition;
-
-			flatNode = flatNode.getNext();
-		}
-		return NO_VALID_CONTENT;
-	}
-
-	/*
-	 * Search the RegionContainer's regions looking for JSP content.
-	 * If valid content is found, return the position >= 0
-	 * If no valid content is found, return NO_VALID_CONTENT.
-	 * If a region starts after the line's endOffset, return END_OF_LINE.
-	 */
-	private static int getValidRegionPosition(IStructuredModel model, ITextRegionCollection regionContainer, int startOffset, int endOffset) {
-
-		ITextRegionList regions = regionContainer.getRegions();
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion region = regions.get(i);
-			if (region instanceof ITextRegionCollection) {
-				int validPosition = getValidRegionPosition(model, (ITextRegionCollection) region, startOffset, endOffset);
-				if (validPosition == END_OF_LINE || validPosition >= 0)
-					return validPosition;
-			}
-			else {
-				// region must be at least partially on selected line
-				if (regionContainer.getEndOffset(region) > startOffset) {
-
-					int regionStartOffset = regionContainer.getStartOffset(region);
-					// if region starts after line's endOffset, we're done searching
-					if (regionStartOffset > endOffset)
-						return END_OF_LINE;
-
-					// If region is JSP content, make sure the language is Java not Javascript by
-					// checking the content assist adapter's type.
-					if (region.getType().equals(XMLJSPRegionContexts.JSP_CONTENT)) {
-						// DWM: this logic is not incorrect ... given changes to adapters, etc.
-						// but probably don't need anything here, since both Java and JavaScript
-						// are supported in V5.
-
-						// nsd_TODO: verify this!!!
-
-						//						INodeNotifier notifier = (INodeNotifier)model.getNode(region.getStartOffset());
-						//						AdapterFactory factory = model.getFactoryRegistry().getFactoryFor(ContentAssistAdapter.class);
-						//						if(factory instanceof HTMLContentAssistAdapterFactory) {
-						//							INodeAdapter adapter = ((HTMLContentAssistAdapterFactory)factory).createAdapter(notifier, region);
-						//							if(adapter != null && adapter instanceof JSPJavaContentAssistAdapter)
-
-						if (regionStartOffset > startOffset)
-							return regionStartOffset;
-						else
-							return startOffset;
-						//						}
-					}
-					// a custom tag, jsp:useBean, getproperty or setproperty statement is also a valid breakpoint location
-					else if (region.getType().equals(XMLRegionContext.XML_TAG_NAME) && (isCustomTagRegion(model.getIndexedRegion(regionStartOffset)) || regionContainer.getText(region).equals(JSP12Namespace.ElementName.USEBEAN) || regionContainer.getText(region).equals(JSP12Namespace.ElementName.GETPROPERTY) || regionContainer.getText(region).equals(JSP12Namespace.ElementName.SETPROPERTY))) {
-
-						if (regionStartOffset > startOffset)
-							return regionStartOffset;
-						else
-							return startOffset;
-					}
-					else {
-						// Defect #241090, the Text Nodes inside of JSP scriptlets, expressions, and declarations are valid
-						// breakpoint-able locations
-						boolean isCodeNode = false;
-						IndexedRegion node = model.getIndexedRegion(regionStartOffset);
-						if (node != null && node instanceof Node) {
-							Node domNode = (Node) node;
-							Node root = domNode.getOwnerDocument().getDocumentElement();
-							if (root != null && root.getNodeName().equals(JSP12Namespace.ElementName.ROOT) && domNode.getNodeType() == Node.TEXT_NODE && domNode.getParentNode() != null) {
-								String parentName = domNode.getParentNode().getNodeName();
-								isCodeNode = parentName.equals(JSP12Namespace.ElementName.SCRIPTLET) || parentName.equals(JSP12Namespace.ElementName.EXPRESSION) || parentName.equals(JSP12Namespace.ElementName.DECLARATION);
-							}
-						}
-						if (isCodeNode) {
-							if (regionStartOffset > startOffset)
-								return regionStartOffset;
-							else
-								return startOffset;
-						}
-					}
-				}
-			}
-		}
-		return NO_VALID_CONTENT;
-	}
-
-	private static boolean isCustomTagRegion(IndexedRegion node) {
-
-		if (node instanceof Element) {
-			Element xmlElement = (Element) node;
-			ModelQuery mq = ModelQueryUtil.getModelQuery(xmlElement.getOwnerDocument());
-			CMElementDeclaration decl = mq.getCMElementDeclaration(xmlElement);
-			if (decl instanceof CMNodeWrapper) {
-				CMNode cmNode = ((CMNodeWrapper) decl).getOriginNode();
-				return cmNode instanceof TLDElementDeclaration;
-			}
-		}
-		return false;
-	}
-
-	protected IResource getEditorInputResource(IEditorInput input) {
-		IResource resource = (IResource) input.getAdapter(IFile.class);
-		if (resource == null) {
-			resource = (IResource) input.getAdapter(IResource.class);
-		}
-		return resource;
-	}
-
-
-	/*
-	 * Return the page language
-	 */
-	protected static int getPageLanguage(Document doc) {
-		if (doc == null)
-			return UNSUPPORTED;
-
-		NodeList pageDirectives = doc.getElementsByTagName(JSP_DIRECTIVE_PAGE);
-		// Search for first language directive
-		for (int i = 0; i < pageDirectives.getLength(); i++) {
-			Node child = pageDirectives.item(i);
-			Node languageAttr = child.getAttributes().getNamedItem("language"); //$NON-NLS-1$
-			if (languageAttr != null) {
-				String pageLanguage = languageAttr.getNodeValue();
-				if (pageLanguage == null || pageLanguage.length() == 0)
-					return UNSUPPORTED;
-				pageLanguage = pageLanguage.toLowerCase();
-				if (contains(JAVASCRIPT_LANGUAGE_KEYS, pageLanguage))
-					return JAVASCRIPT;
-				else if (pageLanguage.equals("java"))//$NON-NLS-1$
-					return JAVA;
-				else
-					return UNSUPPORTED;
-			}
-		}
-		return JAVA; // Java is default if no language directive
-	}
-
-	protected static boolean contains(String[] haystack, String needle) {
-		for (int i = 0; i < haystack.length; i++) {
-			if (haystack[i].equals(needle)) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavaBreakpointProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavaBreakpointProvider.java
deleted file mode 100644
index 48140a2..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavaBreakpointProvider.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * 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.ui.breakpointproviders;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * A BreakpointProvider supporting server-side Java as a JSP language
- */
-public class JavaBreakpointProvider extends AbstractBreakpointProvider {
-
-	/*
-	 * @param res
-	 * @return String
-	 */
-	private static final String getTypeName(IResource res) {
-		IPath path = res.getFullPath();
-		// Assume under Web Content folder if more than 2 segments
-		if (path.segmentCount() > 2) {
-			path = path.removeFirstSegments(2);
-		}
-		else {
-			path = path.removeFirstSegments(1);
-		}
-		String typeName = path.toString().replace(IPath.SEPARATOR, '.');
-		if (res.getFileExtension() != null) {
-			typeName = typeName.substring(0, typeName.lastIndexOf('.'));
-		}
-		return typeName;
-	}
-
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.extensions.BreakpointProvider#canAddBreakpoint(org.w3c.dom.Document, org.eclipse.jface.text.IDocument, org.eclipse.ui.IEditorInput, org.w3c.dom.Node, int, int)
-	 */
-	public boolean canAddBreakpoint(Document doc, IDocument idoc, IEditorInput input, Node node, int lineNumber, int offset) {
-		IResource res = input instanceof IFileEditorInput ? ((IFileEditorInput) input).getFile() : null;
-
-		return res != null && !isBreakpointExist(res, lineNumber) && isValidPosition(doc, idoc, lineNumber) && (getPageLanguage(doc) == JAVA);
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.extensions.breakpoint.IBreakpointProvider#addBreakpoint(org.w3c.dom.Document, org.eclipse.jface.text.IDocument, org.eclipse.ui.IEditorInput, org.w3c.dom.Node, int, int)
-	 */
-	public IStatus addBreakpoint(Document doc, IDocument idoc, IEditorInput input, Node node, int lineNumber, int offset) throws CoreException {
-		int pos = getValidPosition(doc, idoc, lineNumber);
-		if (pos != NO_VALID_CONTENT) {
-			IResource res = getEditorInputResource(input);
-			if (res != null) {
-				String typeName = getTypeName(res);
-				try {
-					JDIDebugModel.createLineBreakpoint(res, typeName, lineNumber, pos, pos, 0, true, null);
-				}
-				catch(CoreException e) {
-					return e.getStatus();
-				}
-			}
-		}
-		return new Status(IStatus.OK, JSPUIPlugin.ID, IStatus.OK, JSPUIPlugin.getResourceString("%OK"), null); //$NON-NLS-1$
-	}
-
-	/*
-	 * @param res
-	 * @param lineNumber
-	 * @return boolean
-	 */
-	private boolean isBreakpointExist(IResource res, int lineNumber) {
-		try {
-			return JDIDebugModel.lineBreakpointExists(getTypeName(res), lineNumber) != null;
-		}
-		catch (CoreException e) {
-			return false;
-		}
-	}
-
-	/*
-	 * @param doc
-	 * @param idoc
-	 * @param lineNumber
-	 * @return boolean
-	 */
-	private boolean isValidPosition(Document doc, IDocument idoc, int lineNumber) {
-		return getValidPosition(doc, idoc, lineNumber) != NO_VALID_CONTENT;
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.extensions.BreakpointProvider#setSourceEditingTextTools(com.ibm.sse.editor.extensions.SourceEditingTextTools)
-	 */
-	public void setSourceEditingTextTools(SourceEditingTextTools util) {
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.extensions.BreakpointProvider#getResource(org.eclipse.ui.IStorageEditorInput)
-	 */
-	public IResource getResource(IEditorInput input) {
-		return getEditorInputResource(input);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavaScriptBreakpointProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavaScriptBreakpointProvider.java
deleted file mode 100644
index 3c2899e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavaScriptBreakpointProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * 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.ui.breakpointproviders;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * A IBreakpointProvider supporting server-side JavaScript as a JSP language
- *
- */
-public class JavaScriptBreakpointProvider extends AbstractBreakpointProvider {
-	public boolean canAddBreakpoint(Document doc, IDocument idoc, IEditorInput input, Node node, int lineNumber, int offset) {
-		IResource res = getEditorInputResource(input);
-		return res != null && !isBreakpointExist(res, lineNumber) && isValidPosition(doc, idoc, lineNumber) && (getPageLanguage(doc) != JAVA);
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.extensions.breakpoint.IBreakpointProvider#addBreakpoint(org.w3c.dom.Document, org.eclipse.jface.text.IDocument, org.eclipse.ui.IEditorInput, org.w3c.dom.Node, int, int)
-	 */
-	public IStatus addBreakpoint(Document doc, IDocument idoc, IEditorInput input, Node node, int lineNumber, int offset) {
-		int pos = getValidPosition(doc, idoc, lineNumber);
-		if (pos != NO_VALID_CONTENT && canAddBreakpoint(doc, idoc, input, node, lineNumber, offset)) {
-			IResource res = getEditorInputResource(input);
-			if (res != null) {
-//				try {
-				new JavascriptLineBreakpoint(res, lineNumber, pos, pos);
-//				}
-//				catch(CoreException e) {
-//					return new Status(IStatus.ERROR, JSPUIPlugin.ID, IStatus.ERROR, "Problem adding Java breakpoint", e);
-//				}
-			}
-		}
-		return new Status(IStatus.OK, JSPUIPlugin.ID, IStatus.OK, JSPUIPlugin.getResourceString("%OK"), null); //$NON-NLS-1$
-	}
-
-	/*
-	 * @param res
-	 * @param lineNumber
-	 * @return boolean
-	 */
-	private boolean isBreakpointExist(IResource res, int lineNumber) {
-		IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-		IBreakpoint[] breakpoints = manager.getBreakpoints();
-		for (int i = 0; i < breakpoints.length; i++) {
-			if (!(breakpoints[i] instanceof JavascriptLineBreakpoint))
-				continue;
-			JavascriptLineBreakpoint breakpoint = (JavascriptLineBreakpoint) breakpoints[i];
-			try {
-				if (breakpoint.getResource().equals(res) && breakpoint.getLineNumber() == lineNumber) {
-					return true;
-				}
-			}
-			catch (CoreException e) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * @param doc
-	 * @param idoc
-	 * @param lineNumber
-	 * @return boolean
-	 */
-	private boolean isValidPosition(Document doc, IDocument idoc, int lineNumber) {
-		return getValidPosition(doc, idoc, lineNumber) != NO_VALID_CONTENT;
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.extensions.IBreakpointProvider#setSourceEditingTextTools(com.ibm.sse.editor.extensions.SourceEditingTextTools)
-	 */
-	public void setSourceEditingTextTools(SourceEditingTextTools util) {
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.extensions.IBreakpointProvider#getResource(org.eclipse.ui.IStorageEditorInput)
-	 */
-	public IResource getResource(IEditorInput input) {
-		return getEditorInputResource(input);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavaStratumBreakpointProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavaStratumBreakpointProvider.java
deleted file mode 100644
index 7a3e9e6..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavaStratumBreakpointProvider.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * 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.ui.breakpointproviders;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModel;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IBreakpointProvider;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * A IBreakpointProvider supporting JSP breakpoints for a Non-Java Language
- * Source JSP page
- */
-public class JavaStratumBreakpointProvider implements IBreakpointProvider, IExecutableExtension {
-	private String fClassPattern = null; //$NON-NLS-1$ 
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.extensions.breakpoint.IBreakpointProvider#addBreakpoint(org.w3c.dom.Document,
-	 *      org.eclipse.jface.text.IDocument, org.eclipse.ui.IEditorInput,
-	 *      org.w3c.dom.Node, int, int)
-	 */
-	public IStatus addBreakpoint(Document doc, IDocument idoc, IEditorInput input, Node node, int editorLineNumber, int offset) throws CoreException {
-		// check if there is a valid position to set breakpoint
-		int pos = getValidPosition(idoc, editorLineNumber);
-		IStatus status = null;
-		if (pos >= 0) {
-			//SSE C3 behavior
-			//  JDIDebugModel.createStratumBreakpoint(res, "JSP",
-			// getTypeName(res), null, "*_jsp", lineNumber, -1, -1, 0, true,
-			// null); //$NON-NLS-1$ //$NON-NLS-2$
-			//Java Family Example 3.0
-			//  JDIDebugModel.createStratumBreakpoint(resource, null,
-			// resource.getName(), null, null, lineNumber, -1, -1, 0, true,
-			// null);
-			IResource res = getResourceFromInput(input);
-			if (res != null) {
-				IBreakpoint point = JDIDebugModel.createStratumBreakpoint(res, "JSP", res.getName(), null, getClassPattern(), editorLineNumber, pos, pos, 0, true, null); //$NON-NLS-1$ //$NON-NLS-2$
-				if (point == null) {
-					status = new Status(IStatus.ERROR, JSPUIPlugin.ID, IStatus.ERROR, "unsupported input type", null); //$NON-NLS-1$
-				}
-			}
-			else if (input instanceof IStorageEditorInput) {
-				// For non-resources, use the workspace root and a coordinated
-				// attribute that is used to
-				// prevent unwanted (breakpoint) markers from being loaded
-				// into the editors.
-				res = ResourcesPlugin.getWorkspace().getRoot();
-				String id = input.getName();
-				if (input instanceof IStorageEditorInput && ((IStorageEditorInput) input).getStorage() != null) {
-					id = ((IStorageEditorInput) input).getStorage().getFullPath().toString();
-				}
-				Map attributes = new HashMap();
-				attributes.put(StructuredResourceMarkerAnnotationModel.SECONDARY_ID_KEY, id);
-				IBreakpoint point = JDIDebugModel.createStratumBreakpoint(res, "JSP", input.getName(), null, getClassPattern(), editorLineNumber, pos, pos, 0, true, attributes); //$NON-NLS-1$ //$NON-NLS-2$
-				if (point == null) {
-					status = new Status(IStatus.ERROR, JSPUIPlugin.ID, IStatus.ERROR, "unsupported input type", null); //$NON-NLS-1$
-				}
-			}
-		}
-		if (status == null) {
-			status = new Status(IStatus.OK, JSPUIPlugin.ID, IStatus.OK, JSPUIPlugin.getResourceString("%OK"), null); //$NON-NLS-1$
-		}
-		return status;
-	}
-
-	private String getClassPattern() {
-		return fClassPattern;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.extensions.breakpoint.IBreakpointProvider#getResource(org.eclipse.ui.IStorageEditorInput)
-	 */
-	public IResource getResource(IEditorInput input) {
-		return getResourceFromInput(input);
-	}
-
-	private IResource getResourceFromInput(IEditorInput input) {
-		IResource resource = (IResource) input.getAdapter(IFile.class);
-		if (resource == null) {
-			resource = (IResource) input.getAdapter(IResource.class);
-		}
-		return resource;
-	}
-
-	/**
-	 * Finds a valid position somewhere on lineNumber in document, idoc, where
-	 * a breakpoint can be set and returns that position. -1 is returned if a
-	 * position could not be found.
-	 * 
-	 * @param idoc
-	 * @param editorLineNumber
-	 * @return position to set breakpoint or -1 if no position could be found
-	 */
-	private int getValidPosition(IDocument idoc, int editorLineNumber) {
-		int result = -1;
-		if (idoc != null) {
-
-			int startOffset = 0;
-			int endOffset = 0;
-			try {
-				IRegion line = idoc.getLineInformation(editorLineNumber - 1);
-				startOffset = line.getOffset();
-				endOffset = Math.max(line.getOffset(), line.getOffset() + line.getLength());
-
-				String lineText = idoc.get(startOffset, endOffset - startOffset).trim();
-
-				// blank lines or lines with only an open or close brace or
-				// scriptlet tag cannot have a breakpoint
-				if (lineText.equals("") || lineText.equals("{") || //$NON-NLS-2$//$NON-NLS-1$
-							lineText.equals("}") || lineText.equals("<%"))//$NON-NLS-2$//$NON-NLS-1$
-				{
-					result = -1;
-				}
-				else {
-					// get all partitions for current line
-					ITypedRegion[] partitions = null;
-
-					partitions = idoc.computePartitioning(startOffset, endOffset - startOffset);
-
-
-					for (int i = 0; i < partitions.length; ++i) {
-						String type = partitions[i].getType();
-						// if found jsp java content, jsp directive tags,
-						// custom
-						// tags,
-						// return that position
-						if (type == StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA || type == StructuredTextPartitionerForJSP.ST_JSP_DIRECTIVE) {
-							result = partitions[i].getOffset();
-						}
-					}
-				}
-			}
-			catch (BadLocationException e) {
-				result = -1;
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement,
-	 *      java.lang.String, java.lang.Object)
-	 */
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-		if (data != null) {
-			if (data instanceof String && data.toString().length() > 0) {
-				fClassPattern = (String) data;
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.extensions.breakpoint.IBreakpointProvider#setSourceEditingTextTools(com.ibm.sse.editor.extensions.breakpoint.SourceEditingTextTools)
-	 */
-	public void setSourceEditingTextTools(SourceEditingTextTools util) {
-		// not used
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavascriptLineBreakpoint.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavascriptLineBreakpoint.java
deleted file mode 100644
index c58efb3..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/breakpointproviders/JavascriptLineBreakpoint.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Jul 20, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.jsp.ui.breakpointproviders;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author davidw
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class JavascriptLineBreakpoint {
-
-	/**
-	 * @param res
-	 * @param lineNumber
-	 * @param pos
-	 * @param pos1
-	 */
-	public JavascriptLineBreakpoint(IResource res, int lineNumber, int pos, int pos1) {
-
-		// TODO Auto-generated constructor stub
-	}
-
-	/**
-	 * 
-	 */
-	public JavascriptLineBreakpoint() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-
-	/**
-	 * 
-	 */
-	public IResource getResource() throws CoreException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getLineNumber() {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/contentassist/BeanInfoProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/contentassist/BeanInfoProvider.java
deleted file mode 100644
index 9ce6caa..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/contentassist/BeanInfoProvider.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*******************************************************************************
- * 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.ui.contentassist;
-
-import java.beans.Introspector;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-
-/**
- * Navigates the IJavaProject classpath (incl. source) on a given resource and infers bean properties
- * given a fully qualified beanname. Bean properties can be retrieved using:
- * <code>getRuntimeProperties(IResource baseResource, String typeName)</code>
- * 
- * @author pavery
- */
-public class BeanInfoProvider implements IBeanInfoProvider {
-
-	public class JavaPropertyDescriptor implements IJavaPropertyDescriptor {
-		String fType = null;
-		String fName = null;
-		boolean fReadable = true;
-		boolean fWritable = true;
-
-		public JavaPropertyDescriptor(String name, String type, boolean readable, boolean writable) {
-			fName = name;
-			fType = type;
-			fReadable = readable;
-			fWritable = writable;
-		}
-
-		public String getDeclaredType() {
-			return fType;
-		}
-
-		public String getDisplayName() {
-			return fName;
-		}
-
-		public String getName() {
-			return fName;
-		}
-
-		public boolean getReadable() {
-			return fReadable;
-		}
-
-		public boolean getWriteable() {
-			return fWritable;
-		}
-	}
-
-	// looks up encoded type (see Class.getName), and gives you a displayable string
-	private HashMap fEncodedTypeMap = null;
-	// to avoid repeat properties from showing up
-	private HashSet fRepeatMethods = null;
-
-	public BeanInfoProvider() {
-		fRepeatMethods = new HashSet();
-	}
-
-	/**
-	 * Returns the inferred properties of a bean based on the project from the baseResource,
-	 * and the fully qualified name of the bean.
-	 * 
-	 * @param baseResource the base resource where the bean is being used
-	 * @param typeName the <i>fully qualified</i> type name (eg. javax.swing.JButton) of the bean
-	 */
-	public IJavaPropertyDescriptor[] getRuntimeProperties(IResource baseResource, String typeName) {
-		IJavaProject javaProject = JavaCore.create(baseResource.getProject());
-		QualifiedName typeQualifiedName = getTypeQualifiedName(typeName);
-		List getMethodResults = new ArrayList();
-		List isMethodResults = new ArrayList();
-		List setMethodResults = new ArrayList();
-		List descriptorResults = new ArrayList();
-		try {
-			IType type = javaProject.findType(typeQualifiedName.getQualifier() + "." + typeQualifiedName.getLocalName()); //$NON-NLS-1$
-			// type must exist
-			if(type != null) {
-				ITypeHierarchy hierarchy = type.newTypeHierarchy(null);
-				IType[] supers = hierarchy.getAllSuperclasses(type);
-	
-				IMethod[] methods = type.getMethods();
-				// iterate the bean's methods
-				for (int i = 0; i < methods.length; i++)
-					acceptMethod(getMethodResults, isMethodResults, setMethodResults, methods[i]);
-				// the bean hierarchy's methods
-				for (int i = 0; i < supers.length; i++) {
-					methods = supers[i].getMethods();
-					for (int j = 0; j < methods.length; j++)
-						acceptMethod(getMethodResults, isMethodResults, setMethodResults, methods[j]);
-				}
-				adaptMethodsToPropertyDescriptors(getMethodResults, isMethodResults, setMethodResults, descriptorResults);
-			}
-		}
-		catch (JavaModelException jmex) {
-			Logger.logException("Problem navigating JavaProject in BeanInfoProvider", jmex); //$NON-NLS-1$
-		}
-
-		IJavaPropertyDescriptor[] finalResults = new IJavaPropertyDescriptor[descriptorResults.size()];
-		System.arraycopy(descriptorResults.toArray(), 0, finalResults, 0, descriptorResults.size());
-		return finalResults;
-	}
-
-	/**
-	 * Retrieves the necessary information from method declaration lists, creates and fills a list of JavaPropertyDescriptors.
-	 * @param getMethods
-	 * @param isMethods
-	 * @param setMethods
-	 * @param descriptorResults
-	 */
-	private void adaptMethodsToPropertyDescriptors(List getMethods, List isMethods, List setMethods, List descriptors) throws JavaModelException {
-		List readable = new ArrayList();
-		HashMap types = new HashMap();
-
-		// iterate through get* and is* methods, updating 'readable' list and 'types' map
-		filterGetMethods(getMethods, readable, types);
-		filterIsMethods(isMethods, readable, types);
-
-		// iterate set* methods, checking overlap w/ readable
-		Iterator it = setMethods.iterator();
-		IMethod temp = null;
-		String name = ""; //$NON-NLS-1$
-		String type = ""; //$NON-NLS-1$
-		String[] encodedParams = null;
-		String returnType = ""; //$NON-NLS-1$
-		String param0 = ""; //$NON-NLS-1$
-
-		while (it.hasNext()) {
-			temp = (IMethod) it.next();
-			name = createPropertyNameFromMethod(temp);
-			// invalid naming convention
-			if (name == null)
-				continue;
-
-			returnType = getDecodedTypeName(temp.getReturnType());
-			// setter should have no return type
-			if (!returnType.equals("void")) //$NON-NLS-1$
-				continue;
-
-			// need to get type from parameter
-			encodedParams = temp.getParameterTypes();
-			if (encodedParams != null && encodedParams.length > 0) {
-				if (encodedParams.length > 1) {
-					// multiple params
-					param0 = getDecodedTypeName(encodedParams[0]);
-					if (!param0.equals("int")) //$NON-NLS-1$
-						// not a valid indexed property
-						continue;
-					else
-						type = getDecodedTypeName(encodedParams[1]);
-				}
-				else {
-					// one param, regular setter
-					if (isArray(encodedParams[0]))
-						type = getDecodedTypeName(encodedParams[0]);
-				}
-			}
-
-			if (readable.contains(name)) {
-				// writable and readable
-				if (!fRepeatMethods.contains(name)) {
-					descriptors.add(new JavaPropertyDescriptor(name, (String) types.get(name), true, true));
-					readable.remove(name);
-					fRepeatMethods.add(name);
-				}
-			}
-			else {
-				// wasn't readable, just writable
-				String[] params = temp.getParameterTypes();
-				// can't be setProperty if no parameters
-				if (!(params.length > 0))
-					continue;
-				if (!fRepeatMethods.contains(name)) {
-					type = getDecodedTypeName(params[0]);
-					descriptors.add(new JavaPropertyDescriptor(name, type, false, true));
-					fRepeatMethods.add(name);
-				}
-			}
-		}
-		// add leftover from readable, get* and is* methods (readable = true, writable = false)
-		it = readable.iterator();
-		while (it.hasNext()) {
-			name = (String) it.next();
-			if (!fRepeatMethods.contains(name)) {
-				descriptors.add(new JavaPropertyDescriptor(name, (String) types.get(name), true, false));
-				fRepeatMethods.add(name);
-			}
-		}
-	}
-
-	private void filterGetMethods(List getMethods, List readable, HashMap types) throws JavaModelException {
-		IMethod temp;
-		String name;
-		String encodedReturnType;
-		String returnType;
-		Iterator it = getMethods.iterator();
-		String[] encodedParams;
-		String paramType;
-		// iterate get* methods
-		while (it.hasNext()) {
-			temp = (IMethod) it.next();
-			name = createPropertyNameFromMethod(temp);
-			// invalid bean naming convention
-			if (name == null)
-				continue;
-
-			encodedReturnType = temp.getReturnType();
-			returnType = getDecodedTypeName(encodedReturnType);
-
-			//  can't get be a getProperty if returns void
-			if (returnType.equals("void")) //$NON-NLS-1$
-				continue;
-
-			// check params in case it's indexed propety
-			encodedParams = temp.getParameterTypes();
-			if (encodedParams != null && encodedParams.length == 1) {
-				paramType = getDecodedTypeName(encodedParams[0]);
-				// syntax is > Type getter(int);
-				if (!paramType.equals("int")) { //$NON-NLS-1$
-					//it's not an indexed property
-					continue;
-				}
-				else {
-					// it is indexed, prop type is an ARRAY
-					returnType += "[]"; //$NON-NLS-1$
-				}
-			}
-
-			readable.add(name);
-			types.put(name, returnType);
-		}
-
-	}
-
-	private void filterIsMethods(List isMethodResults, List readable, HashMap types) throws JavaModelException {
-		IMethod temp;
-		String name;
-		String encodedReturnType;
-		String returnType;
-		String[] encodedParams;
-		String paramType;
-		// iterate is* methods
-		Iterator it = isMethodResults.iterator();
-		while (it.hasNext()) {
-			temp = (IMethod) it.next();
-			name = createPropertyNameFromMethod(temp);
-			// invalid bean naming convention
-			if (name == null)
-				continue;
-			encodedReturnType = temp.getReturnType();
-			returnType = getDecodedTypeName(encodedReturnType);
-
-			// isProperty only valid for boolean
-			if (!returnType.equals("boolean")) //$NON-NLS-1$
-				continue;
-
-			// check params in case it's indexed propety
-			encodedParams = temp.getParameterTypes();
-			if (encodedParams != null && encodedParams.length == 1) {
-				paramType = getDecodedTypeName(encodedParams[0]);
-				// syntax is > Type getter(int);
-				if (!paramType.equals("int")) { //$NON-NLS-1$
-					//it's not a valid indexed property
-					continue;
-				}
-			}
-
-			readable.add(name);
-			types.put(name, returnType);
-		}
-	}
-
-	/**
-	 * Pass in a get*|set*|is* method and it will return an inferred property name using <code>Introspector.decapitalize(String)</code>
-	 * @param temp
-	 * @return an inferred property name based on the IMethod name, null if the name is not valid according to bean spec
-	 */
-	private String createPropertyNameFromMethod(IMethod temp) {
-		String name = temp.getElementName();
-		if (name.startsWith("is")) //$NON-NLS-1$
-			name = Introspector.decapitalize(name.substring(2));
-		else
-			// must be get or set
-			name = Introspector.decapitalize(name.substring(3));
-		return name;
-	}
-
-	/**
-	 * Initial filtering of methods.  Checks prefix if it's valid length.  If the prefix is "get" the  method name 
-	 * is placed in the getMethodResults List.  If the prefix is "is", the name is added to the isMethodResults list.  If the
-	 * prefix is "set", it's added to the setMethodResultsList.
-	 * 
-	 * @param getMethodResults
-	 * @param isMethodResults
-	 * @param setMethodResults
-	 * @param method
-	 */
-	private void acceptMethod(List getMethodResults, List isMethodResults, List setMethodResults, IMethod method) throws JavaModelException {
-		if (!fRepeatMethods.contains(method.getElementName())) {
-			fRepeatMethods.add(method.getElementName());
-			int flags = method.getFlags();
-			String methodName = method.getElementName();
-			if (Flags.isPublic(flags)) {
-				if (methodName.length() > 3 && methodName.startsWith("get")) //$NON-NLS-1$
-					getMethodResults.add(method);
-				else if (methodName.length() > 2 && methodName.startsWith("is")) //$NON-NLS-1$
-					isMethodResults.add(method);
-				else if (methodName.length() > 3 && methodName.startsWith("set")) //$NON-NLS-1$
-					setMethodResults.add(method);
-			}
-		}
-	}
-
-	/**
-	 * @param typeName
-	 * @return a Qualified name with the package as the qualifier, and class name as LocalName
-	 */
-	private QualifiedName getTypeQualifiedName(String typeName) {
-		StringTokenizer st = new StringTokenizer(typeName, ".", false); //$NON-NLS-1$
-		int length = st.countTokens();
-		int count = 0;
-		StringBuffer root = new StringBuffer();
-		while (count++ < length - 1) {
-			root.append(st.nextToken());
-			if (count < length - 1)
-				root.append('.');
-		}
-		return new QualifiedName(root.toString(), st.nextToken());
-	}
-
-	/**
-	 * Checks if encodedTypeName is an array
-	 * @param encodedTypeName
-	 * @return true if encodedTypeName is an array, false otherwise.
-	 */
-	private boolean isArray(String encodedTypeName) {
-		if (encodedTypeName != null && encodedTypeName.length() > 0) {
-			if (encodedTypeName.charAt(0) == '[')
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the decoded (displayable) name fo the type.
-	 * Either a primitive type (int, long, float...) Object (String)
-	 * @param type
-	 * @return decoded name for the encoded string
-	 */
-	private String getDecodedTypeName(String encoded) {
-		HashMap map = getEncodedTypeMap();
-
-		StringBuffer decoded = new StringBuffer();
-		char BRACKET = '[';
-		String BRACKETS = "[]"; //$NON-NLS-1$
-		char identifier = ' ';
-		int last = 0;
-		// count brackets
-		while (encoded.indexOf(BRACKET, last) != -1) {
-			last++;
-		}
-		identifier = encoded.charAt(last);
-		Object primitiveType = map.get(String.valueOf(identifier));
-		// L > binary type name, Q > source type name
-		if (identifier == 'L' || identifier == 'Q') {
-			// handle object
-			String classname = encoded.substring(last + 1, encoded.length() - 1);
-			decoded.append(classname);
-		}
-		else if (primitiveType != null) {
-			// handle primitive type (from IField.getSignature())
-			decoded.append((String) primitiveType);
-		}
-		else {
-			// handle primitive type (from Class.getName())
-			decoded.append(encoded);
-		}
-		// handle arrays
-		if (last > 0) {
-			for (int i = 0; i < last; i++) {
-				decoded.append(BRACKETS);
-			}
-		}
-		return decoded.toString();
-	}
-
-	/**
-	 *	from Class.getName() javadoc
-	 *	also see Signature in jdt.core api
-	 *<pre>
-	 *			B            byte
-	 *			C            char
-	 *			D            double
-	 *			F            float
-	 *			I            int
-	 *			J            long
-	 *			Lclassname;  class or interface
-	 *			Qsourcename; source
-	 *			S            short
-	 *			Z            boolean
-	 *			V	   		 void
-	 *</pre>
-	 *
-	 * @return the "encoding letter" to "type" map.
-	 */
-	private HashMap getEncodedTypeMap() {
-		if (fEncodedTypeMap == null) {
-			fEncodedTypeMap = new HashMap();
-			fEncodedTypeMap.put("B", "byte"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("C", "char"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("D", "double"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("F", "float"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("I", "int"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("J", "long"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("S", "short"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("Z", "boolean"); //$NON-NLS-1$ //$NON-NLS-2$
-			fEncodedTypeMap.put("V", "void"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return fEncodedTypeMap;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/contentassist/IBeanInfoProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/contentassist/IBeanInfoProvider.java
deleted file mode 100644
index 17d73d0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/contentassist/IBeanInfoProvider.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * 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.ui.contentassist;
-
-import org.eclipse.core.resources.IResource;
-
-public interface IBeanInfoProvider {
-	IJavaPropertyDescriptor[] getRuntimeProperties(IResource baseResource, String typeName);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/contentassist/IJavaPropertyDescriptor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/contentassist/IJavaPropertyDescriptor.java
deleted file mode 100644
index 0339443..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/contentassist/IJavaPropertyDescriptor.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.ui.contentassist;
-
-public interface IJavaPropertyDescriptor {
-
-	String getDeclaredType();
-
-	String getDisplayName();
-
-	String getName();
-
-	boolean getReadable();
-
-	boolean getWriteable();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/extensions/JSPSourceEditingTextTools.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/extensions/JSPSourceEditingTextTools.java
deleted file mode 100644
index 6a802b3..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/extensions/JSPSourceEditingTextTools.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.ui.extensions;
-
-
-
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.JSP12Namespace;
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.ui.extensions.XMLSourceEditingTextTools;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Implements SourceEditingTextTools interface
- */
-public class JSPSourceEditingTextTools extends XMLSourceEditingTextTools {
-
-	public String getPageLanguage(Node node) {
-		String language = null;
-		Document doc = null;
-		if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			doc = (Document) node;
-		}
-		else {
-			doc = node.getOwnerDocument();
-		}
-		if (doc != null) {
-			if (doc instanceof XMLDocument) {
-				PageDirectiveAdapter adapter = (PageDirectiveAdapter) ((XMLDocument) doc).getAdapterFor(PageDirectiveAdapter.class);
-				if (adapter != null)
-					language = adapter.getLanguage();
-			}
-			else {
-				// iterate through all of the page directives
-				NodeList pageDirectives = doc.getElementsByTagName(JSP12Namespace.ElementName.DIRECTIVE_PAGE);
-				for (int i = 0; i < pageDirectives.getLength(); i++) {
-					Element pageDirective = (Element) pageDirectives.item(i);
-					String langValue = pageDirective.getAttribute(JSP11Namespace.ATTR_NAME_LANGUAGE);
-					// last one to declare a language wins
-					if (langValue != null)
-						language = langValue;
-				}
-			}
-		}
-		// if no language was specified anywhere, assume Java
-		if (language == null)
-			language = JSP11Namespace.ATTR_VALUE_JAVA;
-		return language;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/format/FormattingStrategyJSPJava.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/format/FormattingStrategyJSPJava.java
deleted file mode 100644
index ece8c79..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/format/FormattingStrategyJSPJava.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * 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.ui.format;
-
-import java.util.LinkedList;
-import java.util.Map;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.ToolFactory;
-import org.eclipse.jdt.core.formatter.CodeFormatter;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.TypedPosition;
-import org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy;
-import org.eclipse.jface.text.formatter.FormattingContextProperties;
-import org.eclipse.jface.text.formatter.IFormattingContext;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationUtil;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.TextEdit;
-
-
-public class FormattingStrategyJSPJava extends ContextBasedFormattingStrategy {
-
-	/** Documents to be formatted by this strategy */
-	private final LinkedList fDocuments = new LinkedList();
-	/** Partitions to be formatted by this strategy */
-	private final LinkedList fPartitions = new LinkedList();
-	JSPTranslation translation = null;
-
-	/**
-	 * Creates a new java formatting strategy.
-	 */
-	public FormattingStrategyJSPJava() {
-		super();
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#format()
-	 */
-	public void format() {
-		super.format();
-
-		final IDocument document = (IDocument) fDocuments.removeFirst();
-		final TypedPosition partition = (TypedPosition) fPartitions.removeFirst();
-
-		if (document != null && partition != null) {
-			try {
-
-				JSPTranslationUtil translationUtil = new JSPTranslationUtil(document);
-				ICompilationUnit cu = translationUtil.getCompilationUnit();
-				if (cu != null) {
-					String cuSource = cu.getSource();
-					TextEdit textEdit = formatString(CodeFormatter.K_COMPILATION_UNIT, cuSource, 0, TextUtilities.getDefaultLineDelimiter(document), getPreferences());
-
-					TextEdit jspEdit = translationUtil.getTranslation().getJspEdit(textEdit);
-					if (jspEdit != null && jspEdit.hasChildren())
-						jspEdit.apply(document);
-				}
-
-			}
-			catch (MalformedTreeException exception) {
-				Logger.logException(exception);
-			}
-			catch (BadLocationException exception) {
-				// Can only happen on concurrent document modification - log
-				// and bail out
-				Logger.logException(exception);
-			}
-			catch (JavaModelException exception) {
-				Logger.logException(exception);
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStarts(org.eclipse.jface.text.formatter.IFormattingContext)
-	 */
-	public void formatterStarts(final IFormattingContext context) {
-		super.formatterStarts(context);
-
-		fPartitions.addLast(context.getProperty(FormattingContextProperties.CONTEXT_PARTITION));
-		fDocuments.addLast(context.getProperty(FormattingContextProperties.CONTEXT_MEDIUM));
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStops()
-	 */
-	public void formatterStops() {
-		super.formatterStops();
-
-		fPartitions.clear();
-		fDocuments.clear();
-	}
-
-	public TextEdit formatString(int kind, String string, int indentationLevel, String lineSeparator, Map options) {
-		return ToolFactory.createCodeFormatter(options).format(kind, string, 0, string.length(), indentationLevel, lineSeparator);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionConstantsJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionConstantsJSP.java
deleted file mode 100644
index a400780..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionConstantsJSP.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal;
-
-/**
- * @author pavery
- */
-public interface IActionConstantsJSP {
-	public final static String ACTION_NAME_RENAME_ELEMENT = "RenameElement"; //$NON-NLS-1$
-	public final static String ACTION_NAME_MOVE_ELEMENT = "MoveElement"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionDefinitionIdsJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionDefinitionIdsJSP.java
deleted file mode 100644
index f90607e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/IActionDefinitionIdsJSP.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal;
-
-import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds;
-
-/**
- * @author pavery
- */
-public interface IActionDefinitionIdsJSP {
-	public final static String RENAME_ELEMENT = IJavaEditorActionDefinitionIds.RENAME_ELEMENT;
-	public final static String MOVE_ELEMENT = IJavaEditorActionDefinitionIds.MOVE_ELEMENT;
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPlugin.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPlugin.java
deleted file mode 100644
index beec9ce..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPlugin.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.jst.jsp.ui.templates.TemplateContextTypeJSP;
-import org.eclipse.jst.jsp.ui.templates.TemplateContextTypeJSPAttribute;
-import org.eclipse.jst.jsp.ui.templates.TemplateContextTypeJSPAttributeValue;
-import org.eclipse.jst.jsp.ui.templates.TemplateContextTypeJSPTag;
-import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry;
-import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistryImpl;
-import org.eclipse.wst.sse.ui.registry.embedded.EmbeddedAdapterFactoryRegistryImpl;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class JSPUIPlugin extends AbstractUIPlugin {
-	public final static String ID = "org.eclipse.jst.jsp.ui"; //$NON-NLS-1$
-
-	protected static JSPUIPlugin instance = null;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-	
-	/**
-	 * The template store for the jsp editor. 
-	 */
-	private TemplateStore fTemplateStore;
-	
-	/** 
-	 * The template context type registry for the jsp editor. 
-	 */
-	private ContextTypeRegistry fContextTypeRegistry;
-
-	public JSPUIPlugin() {
-		super();
-		instance = this;
-	}
-
-	public static JSPUIPlugin getDefault() {
-		return instance;
-	}
-
-	public synchronized static JSPUIPlugin getInstance() {
-		return instance;
-	}
-
-	public AdapterFactoryRegistry getAdapterFactoryRegistry() {
-		return AdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	public AdapterFactoryRegistry getEmbeddedAdapterFactoryRegistry() {
-		return EmbeddedAdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	/**
-	 * @deprecated using JSPUIPreferenceInitializer instead
-	 */
-	protected void initializeDefaultJSPPreferences(IPreferenceStore store) {
-//		
-//		String ctId = IContentTypeIdentifier.ContentTypeID_JSP;
-//		// setting the same as HTML
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.CONTENT_ASSIST_SUPPORTED, ctId), true);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.AUTO_PROPOSE, ctId), true);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE, ctId), CommonEditorPreferenceNames.LT);
-//
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.EDITOR_VALIDATION_METHOD, ctId), CommonEditorPreferenceNames.EDITOR_VALIDATION_WORKBENCH_DEFAULT); //$NON-NLS-1$
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR, ctId), true);
-//		
-//		// JSP Style Preferences
-//		String NOBACKGROUNDBOLD = " | null | false";   //$NON-NLS-1$
-//		String styleValue = ColorHelper.getColorString(127, 0, 127) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_ATTRIBUTE_NAME, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(42, 0, 255)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE, ctId), styleValue);
-//		
-//		styleValue = "null" + NOBACKGROUNDBOLD;  //$NON-NLS-1$
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS, ctId), styleValue); // specified value is black; leaving as widget default
-//		
-//		styleValue = ColorHelper.getColorString(63, 95, 191)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.COMMENT_BORDER, ctId), styleValue);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.COMMENT_TEXT, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_BORDER, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(63, 127, 127)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_NAME, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(191, 95, 63)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsHTML.SCRIPT_AREA_BORDER, ctId), styleValue);
-	}
-	
-	/**
-	 * Returns the template store for the jsp editor templates.
-	 * 
-	 * @return the template store for the jsp editor templates
-	 */
-	public TemplateStore getTemplateStore() {
-		if (fTemplateStore == null) {
-			fTemplateStore= new ContributionTemplateStore(getTemplateContextRegistry(), getPreferenceStore(), CommonEditorPreferenceNames.TEMPLATES_KEY);
-
-			try {
-				fTemplateStore.load();
-			} catch (IOException e) {
-				Logger.logException(e);
-			}
-		}		
-		return fTemplateStore;
-	}
-	
-	/**
-	 * Returns the template context type registry for the jsp plugin.
-	 * 
-	 * @return the template context type registry for the jsp plugin
-	 */
-	public ContextTypeRegistry getTemplateContextRegistry() {
-		if (fContextTypeRegistry == null) {
-			fContextTypeRegistry= new ContributionContextTypeRegistry();
-			
-			fContextTypeRegistry.addContextType(new TemplateContextTypeJSP());
-			fContextTypeRegistry.addContextType(new TemplateContextTypeJSPTag());
-			fContextTypeRegistry.addContextType(new TemplateContextTypeJSPAttribute());
-			fContextTypeRegistry.addContextType(new TemplateContextTypeJSPAttributeValue());
-		}
-
-		return fContextTypeRegistry;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.jsp.ui.internal.JSPUIPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties
deleted file mode 100644
index 3b54f9c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/JSPUIPluginResources.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-## The following line is a sample JSP document.  Please translate only the following parts:   
-## Use below tags ONLY for JSP 1.1
-## Welcome!
-## Use below tags ONLY for JSP 1.2
-## Welcome!
-Sample_JSP_doc=<%@ page \n\tlanguage=\"java\" \n\tcontentType=\"text/html; charset=ISO-8859-1\"\n%>\n<jsp:include flush=\"true\" page=\"titleBar.jsp\"/>\n\n<%-- Use below tags ONLY for JSP 1.1 --%>\n<%\n\tSystem.out.println(\"Welcome!\");\n%>\n<%-- Use below tags ONLY for JSP 1.2 --%>\n<jsp:scriptlet>\n\tSystem.out.println(\"Welcome!\");\n</jsp:scriptlet>
-JSP_Delimiters_UI_=JSP Delimiters
-Refactor.label=R&efactor
-RenameElement.label=Re&name
-MoveElement.label=Mo&ve
-#
-OK=OK
-JSP_changes=JSP changes
-ActionContributorJSP.0=Refa&ctor
-JSPRenameElementAction.0=Editor selection does not resolve to a renamable Java element
-JSPMoveElementAction.0=Editor selection does not resolve to movable Java elements
-BasicRefactorSearchRequestor.0=JSP Rename
-BasicRefactorSearchRequestor.1=in file: {0} line: {1}
-BasicRefactorSearchRequestor.2=Move Type ''{0}'' to package ''{1}''
-BasicRefactorSearchRequestor.3=Rename Method ''{0}'' to ''{1}''
-BasicRefactorSearchRequestor.4=Rename Type ''{0}'' to ''{1}''
-BasicRefactorSearchRequestor.5=Rename Package ''{0}'' to ''{1}''
-JSPSearchUIConfiguration.0=JSP Search - 1 Match
-JSPSearchUIConfiguration.1=JSP Search - {0} Matches
-JSPJavaOpenOnJSP.0=Open
-JSPJavaOpenOnJSP.1=Select or enter the element to open:
-TemplateContextTypeJSPAttribute.0=JSP Attributes
-TemplateContextTypeJSPAttributeValue.0=JSP Attribute Values
-TemplateContextTypeJSP.0=All JSP
-TemplateContextTypeJSPTag.0=JSP Tags
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/Logger.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/Logger.java
deleted file mode 100644
index a4373ab..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/Logger.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if desired,
- * the console. This class should only be used by classes in this plugin. Other
- * plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.jst.jsp.ui"; //$NON-NLS-1$
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-
-	public static final int OK = IStatus.OK; // 0
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int ERROR = IStatus.ERROR; // 4
-
-	public static final int OK_DEBUG = 200 + OK;
-	public static final int INFO_DEBUG = 200 + INFO;
-	public static final int WARNING_DEBUG = 200 + WARNING;
-	public static final int ERROR_DEBUG = 200 + ERROR;
-
-	/**
-	 * Adds message to log.
-	 * @param level severity level of the message (OK, INFO, WARNING, ERROR, OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message text to add to the log
-	 * @param exception exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * @param message text to print
-	 * @param category category of the message, to be compared with /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java
deleted file mode 100644
index 85b3b3f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.autoedit;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentCommand;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.StructuredDocumentCommand;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.ui.internal.autoedit.StructuredAutoEditStrategyXML;
-
-public class StructuredAutoEditStrategyJSP extends StructuredAutoEditStrategyXML {
-	public void customizeDocumentCommand(IDocument document, DocumentCommand command) {
-		StructuredDocumentCommand structuredDocumentCommand = (StructuredDocumentCommand) command;
-		IStructuredModel model = null;
-		try {
-			model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-
-			if (model != null) {
-				if (structuredDocumentCommand.text != null) {
-					if (structuredDocumentCommand.text.equals("%")) { //$NON-NLS-1$
-						XMLNode node = (XMLNode) model.getIndexedRegion(structuredDocumentCommand.offset);
-						try {
-							if (prefixedWith(document, structuredDocumentCommand.offset, "<") && !node.getSource().endsWith("%>")) { //$NON-NLS-1$ //$NON-NLS-2$
-								structuredDocumentCommand.doit = false;
-								structuredDocumentCommand.addCommand(structuredDocumentCommand.offset, 0, " %>", null); //$NON-NLS-1$
-							}
-						}
-						catch (BadLocationException e) {
-							Logger.logException(e);
-						}
-
-					}
-					else
-						super.customizeDocumentCommand(document, structuredDocumentCommand);
-				}
-			}
-		}
-		finally {
-			if (model != null)
-				model.releaseFromRead();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java
deleted file mode 100644
index 79c410b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-/**
- * @author pavery
- */
-public class JSPCompletionProcessor implements IContentAssistProcessor, IReleasable, IResourceDependentProcessor {
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jst.jsp.core/debug/jsptranslation"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	private static final String JDT_CORE_PLUGIN_ID = "org.eclipse.jdt.core"; //$NON-NLS-1$
-    
-	protected int fJspSourcePosition, fJavaPosition;
-	protected IResource fResource;
-	protected JSPCompletionRequestor fCollector;
-	protected String fErrorMessage = null;
-	protected StructuredTextViewer fViewer = null;
-	private JSPTranslationAdapter fTranslationAdapter = null;
-
-	public JSPCompletionProcessor(IResource resource) {
-		fResource = resource;
-	}
-
-	/**
-	 * Returns a list of completion proposals based on the
-	 * specified location within the document that corresponds
-	 * to the current cursor position within the text viewer.
-	 *
-	 * @param viewer the viewer whose document is used to compute the proposals
-	 * @param documentPosition an offset within the document for which completions should be computed
-	 * @return an array of completion proposals or <code>null</code> if no proposals are possible
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int pos) {
-		initialize(pos);
-		try {
-			if (viewer instanceof StructuredTextViewer)
-				fViewer = (StructuredTextViewer) viewer;
-
-			XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(fViewer.getDocument());
-			XMLDocument xmlDoc = xmlModel.getDocument();
-			xmlModel.releaseFromRead();
-			if (fTranslationAdapter == null)
-				fTranslationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-			if (fTranslationAdapter != null) {
-				
-				JSPTranslation translation = fTranslationAdapter.getJSPTranslation();
-				fJavaPosition = translation.getJavaOffset(getDocumentPosition());
-				
-                fCollector.setCodeAssistOffset(fJavaPosition);
-                fCollector.setJavaToJSPOffset(fJspSourcePosition - fJavaPosition);
-                fCollector.setCursorInExpression(cursorInExpression());
-                
-
-				if (DEBUG)
-					System.out.println(debug(translation));
-
-				try {
-                    			
-					ICompilationUnit cu = translation.getCompilationUnit();
-					fCollector.setCompilationUnit(cu);
-                    
-					// can't get java proposals w/out a compilation unit
-					if (cu == null)
-						return new ICompletionProposal[0];
-
-					synchronized (cu) {
-						cu.codeComplete(fJavaPosition, fCollector, null);
-					}
-				}
-				catch (CoreException coreEx) {
-					// a possible Java Model Exception due to not being a Web (Java) Project
-					coreEx.printStackTrace();
-				}
-			}
-		}
-		catch (Exception exc) {
-			exc.printStackTrace();
-			// throw out exceptions on code assist.
-		}
-        
-		ICompletionProposal[] results = fCollector.getResults();
-		if (results == null || results.length < 1)
-			fErrorMessage = SSEUIPlugin.getResourceString("%Java_Content_Assist_is_not_UI_"); //$NON-NLS-1$ = "Java Content Assist is not available for the current cursor location"
-
-		return results;
-	}
-
-	/**
-	 * For debugging translation mapping only.
-	 * @param translation
-	 */
-	private String debug(JSPTranslation translation) {
-		StringBuffer debugString = new StringBuffer();
-		HashMap jsp2java = translation.getJsp2JavaMap();
-		String javaText = translation.getJavaText();
-		String jspText = fViewer.getDocument().get();
-		debugString.append("[jsp2JavaMap in JSPCompletionProcessor]\r\n"); //$NON-NLS-1$
-		debugString.append("jsp cursor position >> " + fViewer.getTextWidget().getCaretOffset() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		Iterator it = jsp2java.keySet().iterator();
-		while (it.hasNext()) {
-			try {
-				Position jspPos = (Position) it.next();
-				Position javaPos = (Position) jsp2java.get(jspPos);
-				debugString.append("jsp > " + jspPos.offset + ":" + jspPos.length + ":" + jspText.substring(jspPos.offset, jspPos.offset + jspPos.length) + ":\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				debugString.append("java > " + javaPos.offset + ":" + javaPos.length + ":" + javaText.substring(javaPos.offset, javaPos.offset + javaPos.length) + ":\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				debugString.append("-------------------------------------------------\n"); //$NON-NLS-1$
-			}
-			catch (Exception e) {
-				// eat exceptions, it's only for debug
-			}
-		}
-		return debugString.toString();
-	}
-
-	/**
-	 * @return whether the source cursor is in an expression
-	 */
-	private boolean cursorInExpression() {
-		boolean inExpression = false;
-		IStructuredDocumentRegion sdRegion = null;
-		XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(fViewer.getDocument());
-		XMLNode xmlNode = null;
-		xmlModel.releaseFromRead();
-		xmlNode = (XMLNode) xmlModel.getIndexedRegion(fJspSourcePosition);
-        if(xmlNode != null) {
-            XMLNode parent = (XMLNode)xmlNode.getParentNode();
-            if(parent != null) {
-                sdRegion = parent.getFirstStructuredDocumentRegion();
-                inExpression = sdRegion != null && (sdRegion.getType() == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN || sdRegion.getType() == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN);
-            }
-        }
-		return inExpression;
-	}
-
-	/**
-	 * Returns information about possible contexts based on the
-	 * specified location within the document that corresponds
-	 * to the current cursor position within the text viewer.
-	 *
-	 * @param viewer the viewer whose document is used to compute the possible contexts
-	 * @param documentPosition an offset within the document for which context information should be computed
-	 * @return an array of context information objects or <code>null</code> if no context could be found
-	 */
-	public org.eclipse.jface.text.contentassist.IContextInformation[] computeContextInformation(org.eclipse.jface.text.ITextViewer viewer, int documentOffset) {
-		return null;
-	}
-
-	/**
-	 * Returns a string of characters which when pressed should
-	 * automatically display content-assist proposals.
-	 *
-	 * @return string of characters
-	 */
-	public java.lang.String getAutoProposalInvocationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns a string of characters which when pressed should
-	 * automatically display a content-assist tip.
-	 *
-	 * @return string of characters
-	 */
-	public java.lang.String getAutoTipInvocationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of possible completions.
-	 *
-	 * @return the auto activation characters for completion proposal or <code>null</code>
-	 *		if no auto activation is desired
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of context information.
-	 *
-	 * @return the auto activation characters for presenting context information
-	 *		or <code>null</code> if no auto activation is desired
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns a validator used to determine when displayed context information
-	 * should be dismissed. May only return <code>null</code> if the processor is
-	 * incapable of computing context information.
-	 *
-	 * @return a context information validator, or <code>null</code> if the processor
-	 * 			is incapable of computing context information
-	 */
-	public org.eclipse.jface.text.contentassist.IContextInformationValidator getContextInformationValidator() {
-		return null;
-	}
-
-	protected int getDocumentPosition() {
-		return fJspSourcePosition;
-	}
-
-	public String getErrorMessage() {
-        // TODO:
-//		if (fCollector.getErrorMessage() != null && fCollector.getErrorMessage().length() > 0)
-//			return fCollector.getErrorMessage();
-		return fErrorMessage;
-	}
-
-	/**
-	 * Return the Java project for the to create completions within
-	 */
-	protected IJavaProject getJavaProject() {
-		if (fResource == null)
-			return null;
-		IProject proj = (fResource.getType() == IResource.PROJECT) ? (IProject) fResource : fResource.getProject();
-		IJavaProject javaProj = JavaCore.create(proj);
-		return javaProj;
-	}
-
-	/**
-	 * Initialize the code assist processor.
-	 */
-	protected void initialize(int pos) {
-		initializeJavaPlugins();
-
-		// fCollector = new JSPResultCollector();
-        fCollector = new JSPCompletionRequestor();
-		fJspSourcePosition = pos;
-		fErrorMessage = null;
-	}
-
-	/**
-	 * Initialize the Java Plugins that the JSP processor requires.
-	 */
-	protected void initializeJavaPlugins() {
-		try {
-			Bundle bundle = Platform.getBundle(JDT_CORE_PLUGIN_ID);
-			bundle.start();
-		}
-		catch (BundleException exc) {
-			Logger.logException("Could not initialize the JDT Plugins", exc);//$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.IReleasable#release()
-	 */
-	public void release() {
-		fTranslationAdapter = null;
-	}
-
-	/*
-	 * @see com.ibm.sse.editor.contentassist.IResourceDependent#initialize(org.eclipse.core.resources.IResource)
-	 */
-	public void initialize(IResource resource) {
-		fResource = resource;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionRequestor.java
deleted file mode 100644
index 02ea17d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionRequestor.java
+++ /dev/null
@@ -1,744 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.contentassist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.CompletionProposal;
-import org.eclipse.jdt.core.CompletionRequestor;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.core.compiler.CharOperation;
-import org.eclipse.jdt.ui.JavaElementImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ContextInformation;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsp.core.internal.java.JSP2ServletNameUtil;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImageHelper;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImages;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-
-/**
- * Most "accept" methods copied from JDT ResultCollector.
- * 
- * @author pavery
- */
-public class JSPCompletionRequestor extends CompletionRequestor {
-
-    // for debugging
-    private static final boolean DEBUG;
-    static {
-        String value = Platform.getDebugOption("org.eclipse.jst.jsp.ui/debug/jspcontentassist"); //$NON-NLS-1$
-        DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-    }
-
-     private final static char[] METHOD_WITH_ARGUMENTS_TRIGGERS = new char[] {'(', '-', ' ' };
-     private final static char[] METHOD_TRIGGERS = new char[] { ';', ',', '.','\t', '[', ' ' };
-     private final static char[] TYPE_TRIGGERS = new char[] { '.', '\t', '[','(', ' ' };
-     private final static char[] VAR_TRIGGER = new char[] { '\t', ' ', '=',';', '.' };
-
-    // private IJavaProject fJavaProject;
-
-    // set when imports can be added
-    private ICompilationUnit fCompilationUnit;
-
-    private int fCodeAssistOffset;
-
-    // private int fContextOffset;
-
-    protected ITextViewer fTextViewer;
-
-    private List fFields = new ArrayList();
-
-    private List fKeywords = new ArrayList();
-
-    private List fLabels = new ArrayList();
-
-    private List fMethods = new ArrayList();
-
-    private List fModifiers = new ArrayList();
-
-    private List fPackages = new ArrayList();
-
-    private List fTypes = new ArrayList();
-
-    private List fVariables = new ArrayList();
-
-    private boolean fCursorInExpression = false;
-
-    private int fJavaToJSPOffset;
-
-    private String fJspName;
-
-    private String fMangledName;
-
-    public boolean isCursorInExpression() {
-        return fCursorInExpression;
-    }
-
-    /**
-     * @param doFilter
-     *            The doFilter to set.
-     */
-    public void setCursorInExpression(boolean inExpression) {
-        fCursorInExpression = inExpression;
-    }
-
-    /**
-     * @return Returns the fJavaToJSPOffset.
-     */
-    public int getJavaToJSPOffset() {
-        return fJavaToJSPOffset;
-    }
-
-    /**
-     * @param javaToJSPOffset
-     *            The fJavaToJSPOffset to set.
-     */
-    public void setJavaToJSPOffset(int javaToJSPOffset) {
-        fJavaToJSPOffset = javaToJSPOffset;
-    }
-
-    /**
-     * Copied logic from CompletionRequestorWrapper
-     * 
-     * @see org.eclipse.jdt.core.CompletionRequestor#accept(org.eclipse.jdt.core.CompletionProposal)
-     */
-    public void accept(CompletionProposal proposal) {
-
-        switch (proposal.getKind()) {
-
-        case CompletionProposal.KEYWORD:
-            acceptKeyword(proposal.getName(), proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-            break;
-        case CompletionProposal.PACKAGE_REF:
-            acceptPackage(proposal.getDeclarationSignature(), proposal.getCompletion(), proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-
-            break;
-        case CompletionProposal.TYPE_REF:
-            if ((proposal.getFlags() & Flags.AccEnum) != 0) {
-                // does not exist for old requestor
-            } else if ((proposal.getFlags() & Flags.AccInterface) != 0) {
-                acceptInterface(proposal.getDeclarationSignature(), Signature.getSignatureSimpleName(proposal.getSignature()), proposal.getCompletion(), proposal.getFlags() & ~Flags.AccInterface,
-                        proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-
-            } else {
-                acceptClass(proposal.getDeclarationSignature(), Signature.getSignatureSimpleName(proposal.getSignature()), proposal.getCompletion(), proposal.getFlags(), proposal.getReplaceStart(),
-                        proposal.getReplaceEnd(), proposal.getRelevance());
-            }
-            break;
-        case CompletionProposal.FIELD_REF:
-            acceptField(Signature.getSignatureQualifier(proposal.getDeclarationSignature()), Signature.getSignatureSimpleName(proposal.getDeclarationSignature()), proposal.getName(), Signature
-                    .getSignatureQualifier(proposal.getSignature()), Signature.getSignatureSimpleName(proposal.getSignature()), proposal.getCompletion(), proposal.getFlags(), proposal
-                    .getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-
-            break;
-        case CompletionProposal.METHOD_REF:
-            acceptMethod(Signature.getSignatureQualifier(proposal.getDeclarationSignature()), Signature.getSignatureSimpleName(proposal.getDeclarationSignature()), proposal.getName(),
-                    getParameterPackages(proposal.getSignature()), getParameterTypes(proposal.getSignature()), proposal.findParameterNames(null) == null ? CharOperation.NO_CHAR_CHAR : proposal
-                            .findParameterNames(null), Signature.getSignatureQualifier(Signature.getReturnType(proposal.getSignature())), Signature.getSignatureSimpleName(Signature
-                            .getReturnType(proposal.getSignature())), proposal.getCompletion(), proposal.getFlags(), proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-
-            break;
-        case CompletionProposal.METHOD_DECLARATION:
-            acceptMethodDeclaration(Signature.getSignatureQualifier(proposal.getDeclarationSignature()), Signature.getSignatureSimpleName(proposal.getDeclarationSignature()), proposal.getName(),
-                    getParameterPackages(proposal.getSignature()), getParameterTypes(proposal.getSignature()), proposal.findParameterNames(null) == null ? CharOperation.NO_CHAR_CHAR : proposal
-                            .findParameterNames(null), Signature.getSignatureQualifier(Signature.getReturnType(proposal.getSignature())), Signature.getSignatureSimpleName(Signature
-                            .getReturnType(proposal.getSignature())), proposal.getCompletion(), proposal.getFlags(), proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-
-            break;
-        case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
-            acceptAnonymousType(Signature.getSignatureQualifier(proposal.getDeclarationSignature()), Signature.getSignatureSimpleName(proposal.getDeclarationSignature()),
-                    getParameterPackages(proposal.getSignature()), getParameterTypes(proposal.getSignature()), proposal.findParameterNames(null) == null ? CharOperation.NO_CHAR_CHAR : proposal
-                            .findParameterNames(null), proposal.getCompletion(), proposal.getFlags(), proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-
-            break;
-        case CompletionProposal.LABEL_REF:
-            acceptLabel(proposal.getCompletion(), proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-            break;
-        case CompletionProposal.LOCAL_VARIABLE_REF:
-            acceptLocalVariable(proposal.getCompletion(), Signature.getSignatureQualifier(proposal.getSignature()), Signature.getSignatureSimpleName(proposal.getSignature()), proposal.getFlags(),
-                    proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-
-            break;
-        case CompletionProposal.VARIABLE_DECLARATION:
-            acceptLocalVariable(proposal.getCompletion(), Signature.getSignatureQualifier(proposal.getSignature()), Signature.getSignatureSimpleName(proposal.getSignature()), proposal.getFlags(),
-                    proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-
-            break;
-        case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
-            acceptPotentialMethodDeclaration(Signature.getSignatureQualifier(proposal.getDeclarationSignature()), Signature.getSignatureSimpleName(proposal.getDeclarationSignature()), proposal
-                    .getName(), proposal.getReplaceStart(), proposal.getReplaceEnd(), proposal.getRelevance());
-
-            break;
-        }
-    }
-
-    private void acceptPotentialMethodDeclaration(char[] declaringTypePackageName, char[] declaringTypeName, char[] selector, int completionStart, int completionEnd, int relevance) {
-        if (DEBUG)
-            System.out.println("TODO: implement acceptPotentialMethodDeclaration");
-        // if (fCompilationUnit == null) {
-        // return;
-        // }
-        // String prefix= new String(selector);
-        //    
-        // try {
-        // IJavaElement element=
-        // getCompilationUnit().getElementAt(getCodeAssistOffset());
-        // if (element != null) {
-        // IType type= (IType) element.getAncestor(IJavaElement.TYPE);
-        // if (type != null) {
-        // GetterSetterCompletionProposal.evaluateProposals(type, prefix,
-        // completionStart, completionEnd - completionStart, relevance + 100,
-        // fSuggestedMethodNames, fMethods);
-        // MethodCompletionProposal.evaluateProposals(type, prefix,
-        // completionStart, completionEnd - completionStart, relevance + 99,
-        // fSuggestedMethodNames, fMethods);
-        // }
-        // }
-        // } catch (CoreException e) {
-        //            
-        // }
-    }
-
-    private void acceptLocalVariable(char[] name, char[] typePackageName, char[] typeName, int modifiers, int start, int end, int relevance) {
-
-        String completionString = new String(name);
-        int offset = start + getJavaToJSPOffset();
-        int length = end - start;
-        Image image = JSPEditorPluginImageHelper.getInstance().getImage(JSPEditorPluginImages.LOCAL_VARIABLE_OBJ);
-
-        StringBuffer buf = new StringBuffer();
-        buf.append(name);
-        if (typeName != null) {
-            buf.append("    "); //$NON-NLS-1$
-            buf.append(fixupTypeName(typeName));
-        }
-        String displayString = buf.toString();
-        
-        CustomCompletionProposal proposal = new CustomCompletionProposal(completionString, offset, length, completionString.length(), image, displayString, null, null, relevance);
-       proposal.setTriggerCharacters(VAR_TRIGGER);
-        fVariables.add(proposal);
-    }
-
-    private void acceptLabel(char[] completion, int replaceStart, int replaceEnd, int relevance) {
-        if (DEBUG)
-            System.out.println("implement acceptLabel");
-    }
-
-    private void acceptAnonymousType(char[] signatureQualifier, char[] signatureSimpleName, char[][] parameterPackages, char[][] parameterTypes, char[][] cs, char[] completion, int flags,
-            int replaceStart, int replaceEnd, int relevance) {
-        if (DEBUG)
-            System.out.println("implement acceptAnonymousType");
-    }
-
-    private void acceptMethodDeclaration(char[] declaringTypePackageName, char[] declaringTypeName, char[] name, char[][] parameterPackageNames, char[][] parameterTypeNames, char[][] parameterNames,
-            char[] returnTypePackageName, char[] returnTypeName, char[] completionName, int modifiers, int start, int end, int relevance) {
-
-        if (!isCursorInExpression())
-            return;
-        
-        StringBuffer displayString = getMethodDisplayString(null, name, parameterTypeNames, parameterNames, returnTypeName);
-        displayString.append(" - "); //$NON-NLS-1$
-        displayString.append("Override method in '" + new String(declaringTypeName) + "'");
-
-        StringBuffer typeName = new StringBuffer();
-        if (declaringTypePackageName.length > 0) {
-            typeName.append(declaringTypePackageName);
-            typeName.append('.');
-        }
-        typeName.append(declaringTypeName);
-
-        String[] paramTypes = new String[parameterTypeNames.length];
-        for (int i = 0; i < parameterTypeNames.length; i++) {
-            paramTypes[i] = Signature.createTypeSignature(parameterTypeNames[i], true);
-        }
-
-        // JavaCompletionProposal proposal= new
-        // OverrideCompletionProposal(fJavaProject, fCompilationUnit,
-        // typeName.toString(), new String(name), paramTypes, start,
-        // getLength(start, end), displayString.toString(), new
-        // String(completionName));
-        // proposal.setImage(getImage(getMemberDescriptor(modifiers)));
-        // proposal.setProposalInfo(new ProposalInfo(fJavaProject,
-        // declaringTypePackageName, declaringTypeName, name,
-        // parameterPackageNames, parameterTypeNames, returnTypeName.length ==
-        // 0));
-
-        String completionString = new String(completionName);
-        int offset = start + getJavaToJSPOffset();
-        int length = end - start;
-        Image image = createMethodImage(modifiers);
-
-        CustomCompletionProposal proposal = new CustomCompletionProposal(completionString, offset, length, completionString.length(), image, displayString.toString(), null, null, relevance + 100);
-        // proposal.setRelevance(relevance + 100);
-        fMethods.add(proposal);
-        // fSuggestedMethodNames.add(new String(name));
-    }
-
-    private void acceptMethod(char[] declaringTypePackageName, char[] declaringTypeName, char[] name, char[][] parameterPackageNames, char[][] parameterTypeNames, char[][] parameterNames,
-            char[] returnTypePackageName, char[] returnTypeName, char[] completionName, int modifiers, int start, int end, int relevance) {
-
-        if (completionName == null)
-            return;
-
-        if (!isCursorInExpression())
-            return;
-
-        // if (TypeFilter.isFiltered(declaringTypePackageName,
-        // declaringTypeName)) {
-        // return;
-        // }
-
-        String completionString = new String(completionName);
-        String displayString = getMethodDisplayString(declaringTypeName, name, parameterTypeNames, parameterNames, returnTypeName).toString();
-        int offset = start + getJavaToJSPOffset();
-        int length = end - start;
-        Image image = createMethodImage(modifiers);
-
-        boolean hasOpeningBracket = completionName.length == 0 || (completionName.length > 0 && completionName[completionName.length - 1] == ')');
-        ContextInformation contextInformation = null;
-        if (hasOpeningBracket && parameterTypeNames.length > 0) {
-           contextInformation = new ContextInformation(image, displayString, getParameterSignature(parameterTypeNames, parameterNames));
-       
-//           int position = (completionName.length == 0) ? fContextOffset : -1;
-           //contextInformation.setContextInformationPosition(position);
-       }
-        boolean userMustCompleteParameters = (contextInformation != null && completionName.length > 0);
-        char[] triggers = userMustCompleteParameters ? METHOD_WITH_ARGUMENTS_TRIGGERS : METHOD_TRIGGERS;
-        int cursorPosition = completionString.length();
-        if (userMustCompleteParameters) {
-            // set the cursor before the closing bracket
-            //proposal.setCursorPosition(completionName.length - 1);
-            cursorPosition--;
-        }
-        
-        CustomCompletionProposal proposal = new CustomCompletionProposal(completionString, offset, length, cursorPosition, image, displayString, contextInformation, null, relevance);
-        proposal.setTriggerCharacters(triggers);
-        
-
-        
-//         boolean isConstructor= returnTypeName == null ? true :
-//         returnTypeName.length == 0;
-//         proposal.setProposalInfo(new ProposalInfo(fJavaProject,
-//         declaringTypePackageName, declaringTypeName, name,
-//         parameterPackageNames, parameterTypeNames, isConstructor));
-
-        fMethods.add(proposal);
-    }
-
-    private StringBuffer getMethodDisplayString(char[] declaringTypeName, char[] name, char[][] parameterTypeNames, char[][] parameterNames, char[] returnTypeName) {
-        StringBuffer nameBuffer = new StringBuffer();
-        nameBuffer.append(name);
-        nameBuffer.append('(');
-        if (parameterTypeNames != null && parameterTypeNames.length > 0) {
-            nameBuffer.append(getParameterSignature(parameterTypeNames, parameterNames));
-        }
-        nameBuffer.append(')');
-        if (returnTypeName != null && returnTypeName.length > 0) {
-            nameBuffer.append("  "); //$NON-NLS-1$
-            nameBuffer.append(returnTypeName);
-        }
-        // if declaring type is mangled, unmangle
-        if (declaringTypeName != null && declaringTypeName.length > 0) {
-            nameBuffer.append(" - "); //$NON-NLS-1$
-            nameBuffer.append(fixupTypeName(declaringTypeName));
-        }
-        return nameBuffer;
-    }
-
-    protected String getParameterSignature(char[][] parameterTypeNames, char[][] parameterNames) {
-        StringBuffer buf = new StringBuffer();
-        if (parameterTypeNames != null) {
-            for (int i = 0; i < parameterTypeNames.length; i++) {
-                if (i > 0) {
-                    buf.append(',');
-                    buf.append(' ');
-                }
-                buf.append(parameterTypeNames[i]);
-                if (parameterNames != null && parameterNames[i] != null) {
-                    buf.append(' ');
-                    buf.append(parameterNames[i]);
-                }
-            }
-        }
-        return buf.toString();
-    }
-
-    /**
-     * @param flags
-     * @return
-     */
-    private Image createMethodImage(int flags) {
-        ImageDescriptor imageDescriptor = null;
-        if ((flags & Flags.AccDefault) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.DEFAULT_CO);
-        } else if ((flags & Flags.AccPrivate) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.PRIVATE_CO);
-        } else if ((flags & Flags.AccProtected) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.PROTECTED_CO);
-        } else if ((flags & Flags.AccPublic) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.PUBLIC_CO);
-        } else {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.PUBLIC_CO);
-        }
-        Image image = JSPEditorPluginImageHelper.getInstance().getImage(decorateImage(imageDescriptor, flags));
-        return image;
-    }
-
-    private ImageDescriptor decorateImage(ImageDescriptor base, int modifiers) {
-
-        int adornments = 0;
-        if (Flags.isDeprecated(modifiers))
-            adornments = adornments | JavaElementImageDescriptor.DEPRECATED;
-        if (Flags.isStatic(modifiers))
-            adornments = adornments | JavaElementImageDescriptor.STATIC;
-
-        JavaElementImageDescriptor javaDescriptor = new JavaElementImageDescriptor(base, adornments, new Point(16, 16));
-
-        return javaDescriptor;
-    }
-
-    private void acceptField(char[] declaringTypePackageName, char[] declaringTypeName, char[] name, char[] typePackageName, char[] typeName, char[] completionName, int modifiers, int start, int end,
-            int relevance) {
-
-        // if (TypeFilter.isFiltered(declaringTypePackageName,
-        // declaringTypeName)) {
-        // return;
-        // }
-
-        String completionNameString = new String(completionName);
-        int offset = start + getJavaToJSPOffset();
-        int length = end - start;
-
-        Image image = createFieldImage(modifiers);
-
-        StringBuffer nameBuffer = new StringBuffer();
-        nameBuffer.append(name);
-        if (typeName.length > 0) {
-            nameBuffer.append("   "); //$NON-NLS-1$
-            nameBuffer.append(typeName);
-        }
-        // also fix up name if it's the servlet class
-        // (since it's that ugly mangled string)
-        if (declaringTypeName != null && declaringTypeName.length > 0) {
-            nameBuffer.append(" - "); //$NON-NLS-1$
-            nameBuffer.append(fixupTypeName(declaringTypeName));
-        }
-
-        // JavaCompletionProposal proposal= createCompletion(start, end, new
-        // String(completionName), descriptor, nameBuffer.toString(),
-        // relevance);
-        CustomCompletionProposal proposal = new CustomCompletionProposal(completionNameString, offset, length, completionNameString.length(), image, nameBuffer.toString(), null, null, relevance);
-        proposal.setTriggerCharacters(VAR_TRIGGER);
-        fFields.add(proposal);
-        // proposal.setProposalInfo(new ProposalInfo(fJavaProject,
-        // declaringTypePackageName, declaringTypeName, name));
-        
-    }
-
-    /**
-     * @param flags
-     * @return
-     */
-    private Image createFieldImage(int flags) {
-        ImageDescriptor imageDescriptor = null;
-        if ((flags & Flags.AccDefault) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.FIELD_DEFAULT_OBJ);
-        } else if ((flags & Flags.AccPrivate) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.FIELD_PRIVATE_OBJ);
-        } else if ((flags & Flags.AccProtected) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.FIELD_PROTECTED_OBJ);
-        } else if ((flags & Flags.AccPublic) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.FIELD_PUBLIC_OBJ);
-        } else {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.FIELD_DEFAULT_OBJ);
-        }
-        Image image = JSPEditorPluginImageHelper.getInstance().getImage(decorateImage(imageDescriptor, flags));
-        return image;
-    }
-
-    protected void acceptClass(char[] packageName, char[] typeName, char[] completionName, int modifiers, int start, int end, int relevance) {
-
-        // if (TypeFilter.isFiltered(packageName, typeName)) {
-        // return;
-        // }
-
-        // ProposalInfo info= new ProposalInfo(fJavaProject, packageName,
-        // typeName);
-
-        int offset = start + getJavaToJSPOffset();
-        int length = end - start;
-        Image image = createClassImage(modifiers);
-
-        String completionNameString = new String(completionName);
-        
-        String containerNameString = new String(packageName);
-        String typeNameString = fixupTypeName(typeName);
-        if (typeNameString == getJspName())
-            return;
-        // containername can be null
-        String fullName = concatenateName(containerNameString, typeNameString);
-
-        String simpleName = Signature.getSimpleName(fullName);
-        StringBuffer buf = new StringBuffer(simpleName);
-        String typeQualifier = Signature.getQualifier(fullName);
-        if (typeQualifier.length() > 0) {
-            buf.append(" - "); //$NON-NLS-1$
-            buf.append(fixupTypeName(typeQualifier));
-        }
-        String name = buf.toString();
-
-        // ICompilationUnit cu= null;
-        // if (containerNameString != null && fCompilationUnit != null) {
-        // if (completionNameString.equals(fullName)) {
-        // cu= fCompilationUnit;
-        // }
-        // }
-
-        //CustomCompletionProposal proposal = new CustomCompletionProposal(completionNameString, offset, length, completionNameString.length(), image, name, null, null, relevance);
-        JavaTypeCompletionProposal proposal = new JavaTypeCompletionProposal(completionNameString, offset, length, fullName, image, typeNameString, typeQualifier, relevance, true);
-        proposal.setTriggerCharacters(TYPE_TRIGGERS);
-        fTypes.add(proposal);
-
-        // JavaCompletionProposal proposal= new
-        // JavaTypeCompletionProposal(completion, cu, start, getLength(start,
-        // end), getImage(descriptor), name, relevance, typeName,
-        // containerName);
-        // proposal.setProposalInfo(proposalInfo);     
-        // fTypes.add(createTypeCompletion(start, end, new
-        // String(completionName), descriptor, new String(typeName), new
-        // String(packageName), info, relevance));
-    }
-
-    /**
-     * @param modifiers
-     */
-    private Image createClassImage(int modifiers) {
-     
-        ImageDescriptor descriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.IMG_OBJ_CLASS_OBJ);
-        if ((modifiers & Flags.AccDefault) != 0) {
-            descriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERCLASS_DEFAULT_OBJ);
-        } else if ((modifiers & Flags.AccPrivate) != 0) {
-            descriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERCLASS_PRIVATE_OBJ);
-        } else if ((modifiers & Flags.AccProtected) != 0) {
-            descriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERCLASS_PROTECTED_OBJ);
-        } else if ((modifiers & Flags.AccPublic) != 0) {
-            descriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.IMG_OBJ_CLASS_OBJ);
-        } else {
-            descriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERCLASS_DEFAULT_OBJ);
-        }
-        Image image = JSPEditorPluginImageHelper.getInstance().getImage(decorateImage(descriptor, modifiers));
-        return image;
-    }
-
-    /**
-     * Concatenates two names. Uses a dot for separation. Both strings can be
-     * empty or <code>null</code>.
-     */
-    public String concatenateName(String name1, String name2) {
-        StringBuffer buf = new StringBuffer();
-        if (name1 != null && name1.length() > 0) {
-            buf.append(name1);
-        }
-        if (name2 != null && name2.length() > 0) {
-            if (buf.length() > 0) {
-                buf.append('.');
-            }
-            buf.append(name2);
-        }
-        return buf.toString();
-    }
-
-    protected void acceptInterface(char[] packageName, char[] typeName, char[] completionName, int modifiers, int start, int end, int relevance) {
-        // if (TypeFilter.isFiltered(packageName, typeName)) {
-        // return;
-        // }
-
-        String completionNameString = new String(completionName);
-
-        int offset = start + getJavaToJSPOffset();
-        int length = end - start;
-        Image image = createInterfaceImage(modifiers);
-
-        String containerNameString = new String(packageName);
-        String typeNameString = fixupTypeName(new String(typeName));
-        if (typeNameString == getJspName())
-            return;
-
-        // container name can be null
-        String fullName = concatenateName(containerNameString, typeNameString);
-
-        StringBuffer buf = new StringBuffer(Signature.getSimpleName(fullName));
-        String typeQualifier = Signature.getQualifier(fullName);
-        if (typeQualifier.length() > 0) {
-            buf.append(" - "); //$NON-NLS-1$
-            buf.append(fixupTypeName(typeQualifier));
-        }
-        String name = buf.toString();
-
-        CustomCompletionProposal proposal = new CustomCompletionProposal(completionNameString, offset, length, completionNameString.length(), image, name, null, null, relevance);
-        fTypes.add(proposal);
-        // ProposalInfo info= new ProposalInfo(fJavaProject, packageName,
-        // typeName);
-        // fTypes.add(createTypeCompletion(start, end, new
-        // String(completionName), descriptor, new String(typeName), new
-        // String(packageName), info, relevance));
-    }
-
-    /**
-     * @param modifiers
-     * @return
-     */
-    private Image createInterfaceImage(int modifiers) {
-        ImageDescriptor imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERINTERFACE_PUBLIC_OBJ);
-        if ((modifiers & Flags.AccDefault) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERINTERFACE_DEFAULT_OBJ);
-        } else if ((modifiers & Flags.AccPrivate) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERINTERFACE_PRIVATE_OBJ);
-        } else if ((modifiers & Flags.AccProtected) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERINTERFACE_PROTECTED_OBJ);
-        } else if ((modifiers & Flags.AccPublic) != 0) {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERINTERFACE_PUBLIC_OBJ);
-        } else {
-            imageDescriptor = JSPEditorPluginImageHelper.getInstance().getImageDescriptor(JSPEditorPluginImages.INNERINTERFACE_DEFAULT_OBJ);
-        }
-        Image image = JSPEditorPluginImageHelper.getInstance().getImage(decorateImage(imageDescriptor, modifiers));
-        return image;
-    }
-
-    private void acceptPackage(char[] packageName, char[] completionName, int start, int end, int relevance) {
-//        if (TypeFilter.isFiltered(new String(packageName))) {
-//            return;
-//        }
-        
-        String packageNameString = new String(packageName);
-        String completionNameString = new String(completionName);
-        
-        int offset = start + getJavaToJSPOffset();
-        int length = end - start;
-        
-        Image image = JSPEditorPluginImageHelper.getInstance().getImage(JSPEditorPluginImages.PACKAGE_OBJ);
-        CustomCompletionProposal proposal = new CustomCompletionProposal(packageNameString, offset, length, packageNameString.length(), image, completionNameString, null, null, relevance);
-       
-        fPackages.add(proposal);
-    }
-
-    private void acceptKeyword(char[] name, int replaceStart, int replaceEnd, int relevance) {
-        if(DEBUG)
-            System.out.println("TODO: implement accept keyword");
-    }
-
-    private char[][] getParameterPackages(char[] methodSignature) {
-        char[][] parameterQualifiedTypes = Signature.getParameterTypes(methodSignature);
-        int length = parameterQualifiedTypes == null ? 0 : parameterQualifiedTypes.length;
-        char[][] parameterPackages = new char[length][];
-        for (int i = 0; i < length; i++) {
-            parameterPackages[i] = Signature.getSignatureQualifier(parameterQualifiedTypes[i]);
-        }
-
-        return parameterPackages;
-    }
-
-    private char[][] getParameterTypes(char[] methodSignature) {
-        char[][] parameterQualifiedTypes = Signature.getParameterTypes(methodSignature);
-        int length = parameterQualifiedTypes == null ? 0 : parameterQualifiedTypes.length;
-        char[][] parameterPackages = new char[length][];
-        for (int i = 0; i < length; i++) {
-            parameterPackages[i] = Signature.getSignatureSimpleName(parameterQualifiedTypes[i]);
-        }
-
-        return parameterPackages;
-    }
-
-    public ICompletionProposal[] getResults() {
-
-        // TODO: eventually do better custom sorting here..
-        List results = new ArrayList();
-        results.addAll(fFields);
-        results.addAll(fKeywords);
-        results.addAll(fLabels);
-        results.addAll(fMethods);
-        results.addAll(fModifiers);
-        results.addAll(fPackages);
-        results.addAll(fTypes);
-        results.addAll(fVariables);
-        return (ICompletionProposal[]) results.toArray(new ICompletionProposal[results.size()]);
-    }
-
-    /**
-     * @param compilationUnit
-     *            The fCompilationUnit to set.
-     */
-    public void setCompilationUnit(ICompilationUnit compilationUnit) {
-        fCompilationUnit = compilationUnit;
-
-        // set some names for fixing up mangled name
-        // in proposals later
-        String cuName = getCompilationUnit().getPath().lastSegment();
-        setMangledName(cuName.substring(0, cuName.lastIndexOf('.')));
-
-        String unmangled = JSP2ServletNameUtil.unmangle(cuName);
-        setJspName(unmangled.substring(unmangled.lastIndexOf('/') + 1));
-    }
-
-    /**
-     * @return Returns the fCompilationUnit.
-     */
-    public ICompilationUnit getCompilationUnit() {
-        return fCompilationUnit;
-    }
-
-    private String fixupTypeName(char[] typeNameChars) {
-        String typeName = new String(typeNameChars);
-        return fixupTypeName(typeName);
-    }
-
-    /**
-     * Changes mangled type name to the name of the jsp file Or if it's an inner
-     * type, returns the name of the inner type (minus the mangled parent type
-     * name)
-     * 
-     * @param typeNameChars
-     * @return
-     */
-    private String fixupTypeName(String typeName) {
-        String mangledName = getMangledName();
-        // can be null if no CU was ever set
-        if(mangledName != null) {
-            if (typeName.equals(mangledName))
-                return getJspName();
-            else if (typeName.startsWith(mangledName))
-                return typeName.substring(typeName.lastIndexOf('.')+1);
-        }
-        return typeName;
-    }
-
-    private String getMangledName() {
-        return fMangledName;
-    }
-
-    private void setMangledName(String mangledName) {
-        fMangledName = mangledName;
-    }
-
-    private String getJspName() {
-        return fJspName;
-    }
-
-    private void setJspName(String jspName) {
-        fJspName = jspName;
-    }
-
-    public int getCodeAssistOffset() {
-        return fCodeAssistOffset;
-    }
-
-    public void setCodeAssistOffset(int offset) {
-        fCodeAssistOffset = offset;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java
deleted file mode 100644
index ce55473..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java
+++ /dev/null
@@ -1,1264 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.JSP12Namespace;
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.document.PageDirectiveAdapterFactory;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQueryAction;
-import org.eclipse.wst.css.ui.contentassist.CSSContentAssistProcessor;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.html.core.contentmodel.JSPCMDocument;
-import org.eclipse.wst.html.core.internal.text.rules.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.html.ui.internal.contentassist.HTMLContentAssistProcessor;
-import org.eclipse.wst.javascript.common.ui.contentassist.JavaScriptContentAssistProcessor;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.contentmodel.CMDocType;
-import org.eclipse.wst.sse.core.contentmodel.CMDocumentTracker;
-import org.eclipse.wst.sse.core.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.contentassist.IRelevanceCompletionProposal;
-import org.eclipse.wst.sse.ui.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.sse.ui.edit.util.SharedEditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceConstants;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-import org.eclipse.wst.xml.ui.contentassist.AbstractContentAssistProcessor;
-import org.eclipse.wst.xml.ui.contentassist.AbstractTemplateCompletionProcessor;
-import org.eclipse.wst.xml.ui.contentassist.ContentAssistRequest;
-import org.eclipse.wst.xml.ui.contentassist.NonValidatingModelQueryAction;
-import org.eclipse.wst.xml.ui.contentassist.ProposalComparator;
-import org.eclipse.wst.xml.ui.contentassist.XMLContentAssistProcessor;
-import org.eclipse.wst.xml.ui.contentassist.XMLContentAssistUtilities;
-import org.eclipse.wst.xml.ui.contentassist.XMLRelevanceConstants;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-import org.eclipse.wst.xml.ui.util.SharedXMLEditorPluginImageHelper;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Adds proposals not normally covered by the generic behavior with the
- * content model
- */
-public class JSPContentAssistProcessor extends AbstractContentAssistProcessor implements IResourceDependentProcessor {
-
-	protected int depthCount = 0;
-	protected ITextViewer fViewer = null;
-	protected boolean useEmbeddedResults = true;
-	protected boolean isInternalAdapter = false;
-	protected HashMap fNameToProcessorMap = null;
-	protected HashMap fPartitionToProcessorMap = null;
-	private final ICompletionProposal[] EMPTY_PROPOSAL_SET = new ICompletionProposal[0];
-	protected IResource fResource = null;
-	protected AbstractTemplateCompletionProcessor fTemplateProcessor = null;
-
-	public JSPContentAssistProcessor() {
-		super();
-		initNameToProcessorMap();
-		initPartitionToProcessorMap();
-	}
-
-	/**
-	 * init map for extra content assist processors (useBean,
-	 * get/setProperty). points [tagname > processor]
-	 */
-	protected void initNameToProcessorMap() {
-		fNameToProcessorMap = new HashMap();
-		JSPPropertyContentAssistProcessor jspPropertyCAP = new JSPPropertyContentAssistProcessor();
-		fNameToProcessorMap.put(JSP11Namespace.ElementName.SETPROPERTY, jspPropertyCAP);
-		fNameToProcessorMap.put(JSP11Namespace.ElementName.GETPROPERTY, jspPropertyCAP);
-		fNameToProcessorMap.put(JSP11Namespace.ElementName.USEBEAN, new JSPUseBeanContentAssistProcessor());
-	}
-
-	/**
-	 * int map that points [partition > processor]. This takes place of
-	 * embedded adapters for now.
-	 */
-	protected void initPartitionToProcessorMap() {
-		fPartitionToProcessorMap = new HashMap();
-		HTMLContentAssistProcessor htmlProcessor = new HTMLContentAssistProcessor();
-		JSPJavaContentAssistProcessor jspJavaProcessor = new JSPJavaContentAssistProcessor();
-		XMLContentAssistProcessor xmlProcessor = new XMLContentAssistProcessor();
-		JavaScriptContentAssistProcessor javascriptProcessor = new JavaScriptContentAssistProcessor();
-
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML, htmlProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForXML.ST_DEFAULT_XML, xmlProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitioner.ST_DEFAULT_PARTITION, htmlProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForJSP.ST_DEFAULT_JSP, jspJavaProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForJSP.ST_JSP_DIRECTIVE, xmlProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForHTML.ST_HTML_COMMENT, htmlProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT, javascriptProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForHTML.ST_SCRIPT, javascriptProcessor); // default
-		// to
-		// javascript
-		// for
-		// all
-		// script
-	}
-
-	protected void addCommentProposal(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addDocTypeProposal(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addEmptyDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		super.addEmptyDocumentProposals(contentAssistRequest);
-		addTagInsertionProposals(contentAssistRequest, 0);
-	}
-
-	protected void addEndTagNameProposals(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addPCDATAProposal(String nodeName, ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addStartDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addTagCloseProposals(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addXMLProposal(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addEndTagProposals(ContentAssistRequest contentAssistRequest) {
-		// do nothing
-	}
-
-	protected void addAttributeNameProposals(ContentAssistRequest contentAssistRequest) {
-		// CMVC 261162 (248603)
-		// macros for JSP attribute values weren't showing up
-		addTemplates(contentAssistRequest, TemplateContextTypeIds.ATTRIBUTE);
-
-		// specific fix for CMVC 274033
-		// no attribute proposals for <jsp:useBean />
-		String nodeName = contentAssistRequest.getNode().getNodeName();
-		if (nodeName.indexOf(':') != -1) { //$NON-NLS-1$
-			super.addAttributeNameProposals(contentAssistRequest);
-		}
-	}
-
-	/**
-	 * add proposals for tags in attribute values
-	 */
-	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-		XMLNode node = (XMLNode) contentAssistRequest.getNode();
-		// CMVC 248603
-		// macros for JSP attribute values weren't showing up
-		addTemplates(contentAssistRequest, TemplateContextTypeIds.ATTRIBUTEVALUE);
-
-		// add JSP extra proposals from JSPBeanInfoContentAssistProcessor
-		// JSPPropertyContentAssistProcessor
-
-		// 2.1
-		// get results from JSPUseBean and JSPProperty here
-		// (look up processor in a map based on node name)
-		JSPDummyContentAssistProcessor extraProcessor = (JSPDummyContentAssistProcessor) fNameToProcessorMap.get(node.getNodeName());
-		if (extraProcessor != null && contentAssistRequest != null) {
-			extraProcessor.initialize(fResource);
-			extraProcessor.addAttributeValueProposals(contentAssistRequest);
-		}
-
-		ModelQuery mq = ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-		if (mq != null) {
-			CMDocument doc = mq.getCorrespondingCMDocument(node);
-			// this shouldn't have to have the prefix coded in
-			if (doc instanceof JSPCMDocument || doc instanceof CMNodeWrapper || node.getNodeName().startsWith("jsp:")) //$NON-NLS-1$
-				return;
-		}
-
-		// Find the attribute name for which this position should have a value
-		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
-		ITextRegionList openRegions = open.getRegions();
-		int i = openRegions.indexOf(contentAssistRequest.getRegion());
-		if (i < 0)
-			return;
-		ITextRegion nameRegion = null;
-		while (i >= 0) {
-			nameRegion = openRegions.get(i--);
-			if (nameRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				break;
-		}
-
-		String attributeName = null;
-		if (nameRegion != null)
-			attributeName = open.getText(nameRegion);
-		String currentValue = null;
-		if (attributeName != null)
-			currentValue = node.getAttributes().getNamedItem(attributeName).getNodeValue();
-
-		// on an empty value, add all the JSP and taglib tags
-		if ((contentAssistRequest.getRegion().getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS && contentAssistRequest.getReplacementLength() == 0) || (contentAssistRequest.getRegion().getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE && (currentValue == null || currentValue.length() == 0))) {
-			List rejectElements = new ArrayList();
-			rejectElements.add(JSP12Namespace.ElementName.SCRIPTLET);
-			rejectElements.add(JSP12Namespace.ElementName.EXPRESSION);
-			rejectElements.add(JSP12Namespace.ElementName.DECLARATION);
-			rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-			rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_PAGE);
-			rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-			rejectElements.add(JSP12Namespace.ElementName.FALLBACK);
-			rejectElements.add(JSP12Namespace.ElementName.USEBEAN);
-			rejectElements.add(JSP12Namespace.ElementName.SETPROPERTY);
-			rejectElements.add(JSP12Namespace.ElementName.FORWARD);
-			rejectElements.add(JSP12Namespace.ElementName.PLUGIN);
-			rejectElements.add(JSP12Namespace.ElementName.FALLBACK);
-			rejectElements.add(JSP12Namespace.ElementName.PARAMS);
-
-			List additionalElements = getAdditionalChildren(new ArrayList(), node, -1);
-			for (i = 0; i < additionalElements.size(); i++) {
-				CMElementDeclaration ed = (CMElementDeclaration) additionalElements.get(i);
-				if (rejectElements.contains(ed.getNodeName()))
-					continue;
-				String tagname = getContentGenerator().getRequiredName(node, ed);
-				StringBuffer contents = new StringBuffer("\""); //$NON-NLS-1$
-				getContentGenerator().generateTag(node, ed, contents);
-				contents.append('"');
-				CustomCompletionProposal proposal = new CustomCompletionProposal(contents.toString(), contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), contents.length(), SharedEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_TAG_GENERIC), tagname, null, null, XMLRelevanceConstants.R_JSP_ATTRIBUTE_VALUE);
-				contentAssistRequest.addProposal(proposal);
-
-				addTemplates(contentAssistRequest, TemplateContextTypeIds.TAG);
-				addTemplates(contentAssistRequest, TemplateContextTypeIds.ALL);
-			}
-		}
-
-		else if (contentAssistRequest.getRegion().getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-			try {
-				// Create a new model for Content Assist to operate on. This
-				// will simulate
-				// a full Document and then adjust the offset numbers in the
-				// list of results.
-				IStructuredModel internalModel = null;
-				IModelManager mmanager = StructuredModelManager.getModelManager();
-				internalModel = mmanager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
-				XMLNode xmlNode = null;
-				XMLModel xmlOuterModel = null;
-				if (contentAssistRequest.getNode() instanceof XMLNode) {
-					xmlNode = (XMLNode) contentAssistRequest.getNode();
-					xmlOuterModel = xmlNode.getModel();
-					internalModel.setResolver(xmlOuterModel.getResolver());
-					internalModel.setBaseLocation(xmlOuterModel.getBaseLocation());
-				}
-				String contents = StringUtils.strip(contentAssistRequest.getText());
-				if (xmlNode != null && contents != null) {
-					int additionalShifts = 0;
-					// Be sure that custom tags from taglibs also show up
-					// by
-					// adding taglib declarations to the internal model.
-					TLDCMDocumentManager mgr = TaglibController.getTLDCMDocumentManager(xmlOuterModel.getStructuredDocument());
-					if (mgr != null) {
-						List trackers = mgr.getCMDocumentTrackers(contentAssistRequest.getReplacementBeginPosition());
-						if (trackers != null) {
-							for (i = 0; i < trackers.size(); i++) {
-								CMDocumentTracker tracker = (CMDocumentTracker) trackers.get(i);
-								String declaration = tracker.getStructuredDocumentRegion().getText();
-								if (declaration != null) {
-									contents = declaration + contents;
-									additionalShifts += declaration.length();
-								}
-							}
-						}
-					}
-					// Also copy any jsp:useBean tags so that
-					// jsp:[gs]etProperty will function
-					Document doc = null;
-					if (contentAssistRequest.getNode().getNodeType() == Node.DOCUMENT_NODE)
-						doc = (Document) node;
-					else
-						doc = node.getOwnerDocument();
-					NodeList useBeans = doc.getElementsByTagName(JSP12Namespace.ElementName.USEBEAN);
-					for (int k = 0; k < useBeans.getLength(); k++) {
-						XMLNode useBean = (XMLNode) useBeans.item(k);
-						if (useBean.getStartOffset() < contentAssistRequest.getReplacementBeginPosition()) {
-							StringBuffer useBeanText = new StringBuffer("<jsp:useBean"); //$NON-NLS-1$
-							for (int j = 0; j < useBean.getAttributes().getLength(); j++) {
-								Attr attr = (Attr) useBean.getAttributes().item(j);
-								useBeanText.append(' ');
-								useBeanText.append(attr.getName());
-								useBeanText.append("=\""); //$NON-NLS-1$
-								useBeanText.append(attr.getValue());
-								useBeanText.append('"');
-							}
-							useBeanText.append("/>"); //$NON-NLS-1$
-							additionalShifts += useBeanText.length();
-							contents = useBeanText.toString() + contents;
-						}
-					}
-					internalModel.getStructuredDocument().set(contents);
-					int internalOffset = 0;
-					boolean quoted = false;
-					// if quoted, use position inside and shift by one
-					if (contentAssistRequest.getMatchString().length() > 0 && (contentAssistRequest.getMatchString().charAt(0) == '\'' || contentAssistRequest.getMatchString().charAt(0) == '"')) {
-						internalOffset = contentAssistRequest.getMatchString().length() - 1 + additionalShifts;
-						quoted = true;
-					}
-					// if unquoted, use position inside
-					else if (contentAssistRequest.getMatchString().length() > 0 && contentAssistRequest.getMatchString().charAt(0) == '<')
-						internalOffset = contentAssistRequest.getMatchString().length() + additionalShifts;
-					else
-						internalOffset = contentAssistRequest.getReplacementBeginPosition() - contentAssistRequest.getStartOffset() + additionalShifts;
-					depthCount++;
-					IndexedRegion internalNode = null;
-					int tmpOffset = internalOffset;
-					while (internalNode == null && tmpOffset >= 0)
-						internalNode = internalModel.getIndexedRegion(tmpOffset--);
-
-					if (internalModel.getFactoryRegistry() != null) {
-						// set up the internal model
-						if (internalModel.getFactoryRegistry().getFactoryFor(PageDirectiveAdapter.class) == null) {
-							internalModel.getFactoryRegistry().addFactory(new PageDirectiveAdapterFactory());
-						}
-						PageDirectiveAdapter outerEmbeddedTypeAdapter = (PageDirectiveAdapter) xmlOuterModel.getDocument().getAdapterFor(PageDirectiveAdapter.class);
-						PageDirectiveAdapter internalEmbeddedTypeAdapter = (PageDirectiveAdapter) ((INodeNotifier) ((Node) internalNode).getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
-						internalEmbeddedTypeAdapter.setEmbeddedType(outerEmbeddedTypeAdapter.getEmbeddedType());
-					}
-
-					AdapterFactoryRegistry adapterRegistry = JSPUIPlugin.getDefault().getAdapterFactoryRegistry();
-					Iterator adapterList = adapterRegistry.getAdapterFactories();
-					// And all those appropriate for this particular type
-					// of content
-					while (adapterList.hasNext()) {
-						try {
-							AdapterFactoryProvider provider = (AdapterFactoryProvider) adapterList.next();
-							if (provider.isFor(internalModel.getModelHandler())) {
-								provider.addAdapterFactories(internalModel);
-							}
-						}
-						catch (Exception e) {
-							Logger.logException(e);
-						}
-					}
-
-					// the internal adapter does all the real work of
-					// using the JSP content model to form proposals
-					// TODO : Nitin and Phil, please take a look
-					//// ContentAssistAdapter internalAdapter =
-					// (ContentAssistAdapter) ((INodeNotifier)
-					// internalNode).getAdapterFor(ContentAssistAdapter.class);
-					ICompletionProposal[] results = null;
-					//// if (internalAdapter != null) {
-					//// internalAdapter.initialize(resource);
-					//// if(internalAdapter instanceof
-					// JSPContentAssistProcessor)
-					////
-					// ((JSPContentAssistProcessor)internalAdapter).isInternalAdapter
-					// = true;
-					//// results =
-					// internalAdapter.computeCompletionProposals(fViewer,
-					// internalOffset, internalNode);
-					//// }
-					//// // results = computeCompletionProposals(null,
-					// internalOffset, internalNode);
-					depthCount--;
-					if (results != null) {
-						for (i = 0; i < results.length; i++) {
-							contentAssistRequest.addProposal(new CustomCompletionProposal(((CustomCompletionProposal) results[i]).getReplacementString(), ((CustomCompletionProposal) results[i]).getReplacementOffset() - additionalShifts + contentAssistRequest.getStartOffset() + (quoted ? 1 : 0), ((CustomCompletionProposal) results[i]).getReplacementLength(), ((CustomCompletionProposal) results[i]).getCursorPosition(), results[i].getImage(), results[i].getDisplayString(), ((CustomCompletionProposal) results[i]).getContextInformation(), ((CustomCompletionProposal) results[i]).getAdditionalProposalInfo(), (results[i] instanceof IRelevanceCompletionProposal) ? ((IRelevanceCompletionProposal) results[i]).getRelevance() : IRelevanceConstants.R_NONE));
-						}
-					}
-				}
-		}
-		catch (Exception e) {
-			Logger.logException("Error in embedded JSP Content Assist", e); //$NON-NLS-1$
-		}
-	}
-
-
-	}
-
-	private List getAdditionalChildren(List elementDecls, Node node, int childIndex) {
-		if (node instanceof XMLNode) {
-			// find the location of the intended insertion as it will give us
-			// the
-			// correct offset for checking position dependent CMDocuments
-			int textInsertionOffset = 0;
-			NodeList children = node.getChildNodes();
-			if (children.getLength() >= childIndex && childIndex >= 0) {
-				Node nodeAlreadyAtIndex = children.item(childIndex);
-				if (nodeAlreadyAtIndex instanceof XMLNode)
-					textInsertionOffset = ((XMLNode) nodeAlreadyAtIndex).getEndOffset();
-			}
-			else {
-				textInsertionOffset = ((XMLNode) node).getStartOffset();
-			}
-			TLDCMDocumentManager mgr = TaglibController.getTLDCMDocumentManager(((XMLNode) node).getStructuredDocument());
-			if (mgr != null) {
-				List moreCMDocuments = mgr.getCMDocumentTrackers(textInsertionOffset);
-				if (moreCMDocuments != null) {
-					for (int i = 0; i < moreCMDocuments.size(); i++) {
-						CMDocument doc = (CMDocument) moreCMDocuments.get(i);
-						CMNamedNodeMap elements = doc.getElements();
-						if (elements != null) {
-							for (int j = 0; j < elements.getLength(); j++) {
-								CMElementDeclaration ed = (CMElementDeclaration) elements.item(j);
-								elementDecls.add(ed);
-							}
-						}
-					}
-				}
-			}
-
-			// get position dependent CMDocuments and insert their tags as
-			// proposals
-
-			ModelQueryAdapter mqAdapter = null;
-			if (node.getNodeType() == Node.DOCUMENT_NODE)
-				mqAdapter = (ModelQueryAdapter) ((XMLNode) node).getAdapterFor(ModelQueryAdapter.class);
-			else
-				mqAdapter = (ModelQueryAdapter) ((XMLNode) node.getOwnerDocument()).getAdapterFor(ModelQueryAdapter.class);
-
-			if (mqAdapter != null) {
-				CMDocument doc = mqAdapter.getModelQuery().getCorrespondingCMDocument(node);
-				// this shouldn't have to have the prefix coded in
-				if (!(doc != null && (doc instanceof JSPCMDocument || doc instanceof CMNodeWrapper || node.getNodeName().startsWith("jsp:")))) { //$NON-NLS-1$
-					// get jsp namespace elements and insert their contents
-					CMDocument JCMDoc = HTMLCMDocumentFactory.getCMDocument(CMDocType.JSP11_DOC_TYPE);
-					CMNamedNodeMap jspelements = JCMDoc.getElements();
-
-					if (jspelements != null) {
-						List rejectElements = new ArrayList();
-
-						// determine if the document is in XML form
-						Document domDoc = null;
-						if (node.getNodeType() == Node.DOCUMENT_NODE)
-							domDoc = (Document) node;
-						else
-							domDoc = node.getOwnerDocument();
-						// Show XML tag forms of JSP markers if jsp:root is
-						// the document element OR it's HTML but
-						// isn't really in the text.
-						// If the document isn't strictly XML, pull out the
-						// XML tag forms
-						if (!isXMLFormat(domDoc)) {
-							rejectElements.add(JSP12Namespace.ElementName.SCRIPTLET);
-							rejectElements.add(JSP12Namespace.ElementName.EXPRESSION);
-							rejectElements.add(JSP12Namespace.ElementName.DECLARATION);
-							rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_INCLUDE);
-							rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_PAGE);
-							rejectElements.add(JSP12Namespace.ElementName.TEXT);
-						}
-						// always exclude jsp:directive.taglib
-						if (isInternalAdapter) {
-							rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-							rejectElements.add(JSP12Namespace.ElementName.DIRECTIVE_TAGLIB);
-							rejectElements.add(JSP12Namespace.ElementName.FALLBACK);
-							rejectElements.add(JSP12Namespace.ElementName.USEBEAN);
-							rejectElements.add(JSP12Namespace.ElementName.SETPROPERTY);
-							rejectElements.add(JSP12Namespace.ElementName.FORWARD);
-							rejectElements.add(JSP12Namespace.ElementName.PLUGIN);
-							rejectElements.add(JSP12Namespace.ElementName.FALLBACK);
-							rejectElements.add(JSP12Namespace.ElementName.PARAMS);
-						}
-
-						// don't show jsp:root if a document element already
-						// exists
-						Element docElement = domDoc.getDocumentElement();
-						if (docElement != null && ((docElement.getNodeName().equals("jsp:root")) || ((((XMLNode) docElement).getStartStructuredDocumentRegion() != null || ((XMLNode) docElement).getEndStructuredDocumentRegion() != null)))) //$NON-NLS-1$
-							rejectElements.add(JSP12Namespace.ElementName.ROOT);
-
-						for (int j = 0; j < jspelements.getLength(); j++) {
-							CMElementDeclaration ed = (CMElementDeclaration) jspelements.item(j);
-							if (rejectElements.contains(ed.getNodeName()))
-								continue;
-							else
-								elementDecls.add(ed);
-						}
-					}
-				}
-			}
-		}
-		return elementDecls;
-	}
-
-	protected List getAvailableChildrenAtIndex(Element parent, int index) {
-		List list = new ArrayList();
-		List additionalElements = getAdditionalChildren(new ArrayList(), parent, index);
-		for (int i = 0; i < additionalElements.size(); i++) {
-			ModelQueryAction insertAction = new NonValidatingModelQueryAction((CMElementDeclaration) additionalElements.get(i), ModelQueryAction.INSERT, 0, parent.getChildNodes().getLength(), null);
-			list.add(insertAction);
-		}
-
-		// add allowed children of implicit tags that don't already exist
-		NodeList children = parent.getChildNodes();
-		List childNames = new ArrayList();
-		if (children != null) {
-			for (int i = 0; i < children.getLength(); i++) {
-				Node child = children.item(i);
-				if (child.getNodeType() == Node.ELEMENT_NODE)
-					childNames.add(child.getNodeName().toLowerCase());
-			}
-		}
-		List allActions = new ArrayList();
-		Iterator iterator = list.iterator();
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(parent.getOwnerDocument());
-		while (iterator.hasNext()) {
-			ModelQueryAction action = (ModelQueryAction) iterator.next();
-			allActions.add(action);
-			if (action.getCMNode() instanceof HTMLElementDeclaration) {
-				HTMLElementDeclaration ed = (HTMLElementDeclaration) action.getCMNode();
-				String ommission = (String) ed.getProperty(HTMLCMProperties.OMIT_TYPE);
-				if (!childNames.contains(ed.getNodeName().toLowerCase()) && ((ommission != null) && (ommission.equals(HTMLCMProperties.Values.OMIT_BOTH)))) {
-					List implicitValidActions = new ArrayList();
-					modelQuery.getInsertActions(parent, ed, 0, ModelQuery.INCLUDE_CHILD_NODES, ModelQuery.VALIDITY_NONE, implicitValidActions);
-					if (implicitValidActions != null) {
-						Iterator implicitValidActionsIterator = implicitValidActions.iterator();
-						while (implicitValidActionsIterator.hasNext()) {
-							ModelQueryAction insertAction = new NonValidatingModelQueryAction(((ModelQueryAction) implicitValidActionsIterator.next()).getCMNode(), ModelQueryAction.INSERT, 0, parent.getChildNodes().getLength(), null);
-							allActions.add(insertAction);
-						}
-					}
-				}
-			}
-		}
-		return allActions;
-	}
-
-	protected List getAvailableRootChildren(Document document, int childIndex) {
-		List list = new ArrayList();
-		if (!isXMLFormat(document))
-			getAdditionalChildren(list, document, childIndex);
-		return list;
-	}
-
-	protected void init() {
-		super.init();
-	}
-
-	public void setErrorMessage(String errorMessage) {
-		if (depthCount == 0)
-			fErrorMessage = errorMessage;
-	}
-
-	/**
-	 * This method is acting as a "catch all" for pulling together content
-	 * assist proposals from different Processors when document partitioning
-	 * alone couldn't determine definitively what content assist should show
-	 * up at that particular position in the document
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(ITextViewer,
-	 *      int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentPosition) {
-		IStructuredDocumentRegion sdRegion = ContentAssistUtils.getStructuredDocumentRegion((StructuredTextViewer) viewer, documentPosition);
-		fViewer = viewer;
-		ICompletionProposal[] jspResults = EMPTY_PROPOSAL_SET;
-		ICompletionProposal[] embeddedResults = EMPTY_PROPOSAL_SET;
-
-		// check the actual partition type
-		String partitionType = getPartitionType((StructuredTextViewer) viewer, documentPosition);
-		IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(viewer.getDocument());
-		IStructuredDocument structuredDocument = sModel.getStructuredDocument();
-		sModel.releaseFromRead();
-
-		IStructuredDocumentRegion fn = structuredDocument.getRegionAtCharacterOffset(documentPosition);
-
-		//////////////////////////////////////////////////////////////////////////////
-		// ANOTHER WORKAROUND UNTIL PARTITIONING TAKES CARE OF THIS
-		// check for xml-jsp tags...
-		// CMVC 243657
-		if (partitionType == StructuredTextPartitionerForJSP.ST_JSP_DIRECTIVE && fn != null) {
-			IStructuredDocumentRegion possibleXMLJSP = ((fn.getType() == XMLRegionContext.XML_CONTENT) && fn.getPrevious() != null) ? fn.getPrevious() : fn;
-			ITextRegionList regions = possibleXMLJSP.getRegions();
-			if (regions.size() > 1) {
-				// check bounds cases
-				ITextRegion xmlOpenOrClose = regions.get(0);
-				if (xmlOpenOrClose.getType() == XMLRegionContext.XML_TAG_OPEN && documentPosition == possibleXMLJSP.getStartOffset()) {
-					// do regular jsp content assist
-				}
-				else if (xmlOpenOrClose.getType() == XMLRegionContext.XML_END_TAG_OPEN && documentPosition > possibleXMLJSP.getStartOffset()) {
-					// do regular jsp content assist
-				}
-				else {
-					// possible xml-jsp
-					ITextRegion nameRegion = regions.get(1);
-					String name = possibleXMLJSP.getText(nameRegion);
-					if (name.equals("jsp:scriptlet") || name.equals("jsp:expression") || name.equals("jsp:declaration")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						return getJSPJavaCompletionProposals(viewer, documentPosition);
-					}
-				}
-			}
-		}
-
-		//////////////////////////////////////////////////////////////////////////////
-		// ** THIS IS A TEMP FIX UNTIL PARTITIONING TAKES CARE OF THIS...
-		// CMVC 241882
-		// check for XML-JSP in a <script> region
-		if (partitionType == StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT || partitionType == StructuredTextPartitionerForHTML.ST_SCRIPT) {
-			//fn should be block text
-			IStructuredDocumentRegion decodedSDRegion = decodeScriptBlock(fn.getFullText());
-			//System.out.println("decoded > " +
-			// blockOfText.substring(decodedSDRegion.getStartOffset(),
-			// decodedSDRegion.getEndOffset()));
-			if (decodedSDRegion != null) {
-				IStructuredDocumentRegion sdr = decodedSDRegion;
-				while (sdr != null) {
-					//System.out.println("sdr " + sdr.getType());
-					//System.out.println("sdr > " +
-					// blockOfText.substring(sdr.getStartOffset(),
-					// sdr.getEndOffset()));
-					if (sdr.getType() == XMLJSPRegionContexts.JSP_CONTENT) {
-						if (documentPosition >= fn.getStartOffset() + sdr.getStartOffset() && documentPosition <= fn.getStartOffset() + sdr.getEndOffset()) {
-							return getJSPJavaCompletionProposals(viewer, documentPosition);
-						}
-					}
-					else if (sdr.getType() == XMLRegionContext.XML_TAG_NAME) {
-						if (documentPosition > fn.getStartOffset() + sdr.getStartOffset() && documentPosition < fn.getStartOffset() + sdr.getEndOffset()) {
-							return EMPTY_PROPOSAL_SET;
-						}
-						else if (documentPosition == fn.getStartOffset() + sdr.getEndOffset() && sdr.getNext() != null && sdr.getNext().getType() == XMLJSPRegionContexts.JSP_CONTENT) {
-							// the end of an open tag <script>
-							// <jsp:scriptlet>| blah </jsp:scriptlet>
-							return getJSPJavaCompletionProposals(viewer, documentPosition);
-						}
-						else if (documentPosition == fn.getStartOffset() + sdr.getStartOffset() && sdr.getPrevious() != null && sdr.getPrevious().getType() == XMLRegionContext.XML_TAG_NAME) {
-							return getJSPJavaCompletionProposals(viewer, documentPosition);
-						}
-					}
-					sdr = sdr.getNext();
-				}
-			}
-		}
-		///////////////////////////////////////////////////////////////////////////
-
-		// check special JSP delimiter cases
-		if (fn != null && partitionType == StructuredTextPartitionerForJSP.ST_JSP_CONTENT_DELIMITER) {
-			IStructuredDocumentRegion fnDelim = fn;
-
-			// if it's a nested JSP region, need to get the correct
-			// StructuredDocumentRegion
-			// not sure why this check was there...
-			//if (fnDelim.getType() == XMLRegionContext.BLOCK_TEXT) {
-			Iterator blockRegions = fnDelim.getRegions().iterator();
-			ITextRegion temp = null;
-			ITextRegionContainer trc;
-			while (blockRegions.hasNext()) {
-				temp = (ITextRegion) blockRegions.next();
-				// we hit a nested
-				if (temp instanceof ITextRegionContainer) {
-					trc = (ITextRegionContainer) temp;
-					// it's in this region
-					if (documentPosition >= trc.getStartOffset() && documentPosition < trc.getEndOffset()) {
-						Iterator nestedJSPRegions = trc.getRegions().iterator();
-						while (nestedJSPRegions.hasNext()) {
-							temp = (ITextRegion) nestedJSPRegions.next();
-							if (XMLContentAssistUtilities.isJSPOpenDelimiter(temp.getType()) && documentPosition == trc.getStartOffset(temp)) {
-								// HTML content assist
-								// we actually want content assist for the
-								// previous type of region,
-								// well get those proposals from the embedded
-								// adapter
-								if (documentPosition > 0) {
-									partitionType = getPartitionType((StructuredTextViewer) viewer, documentPosition - 1);
-									break;
-								}
-							}
-							else if (XMLContentAssistUtilities.isJSPCloseDelimiter(temp.getType()) && documentPosition == trc.getStartOffset(temp)) {
-								// JSP content assist
-								return getJSPJavaCompletionProposals(viewer, documentPosition);
-							}
-						}
-					}
-				}
-				//}
-			}
-
-			// take care of XML-JSP delimter cases
-			if (XMLContentAssistUtilities.isXMLJSPDelimiter(fnDelim)) {
-				// since it's a delimiter, we know it's a ITextRegionContainer
-				ITextRegion firstRegion = fnDelim.getRegions().get(0);
-				if (fnDelim.getStartOffset() == documentPosition && (firstRegion.getType() == XMLRegionContext.XML_TAG_OPEN)) {
-					// |<jsp:scriptlet> </jsp:scriptlet>
-					// (pa) commented out so that we get regular behavior JSP
-					// macros etc...
-					//return getHTMLCompletionProposals(viewer,
-					// documentPosition);
-				}
-				else if (fnDelim.getStartOffset() == documentPosition && (firstRegion.getType() == XMLRegionContext.XML_END_TAG_OPEN)) {
-					// <jsp:scriptlet> |</jsp:scriptlet>
-					// check previous partition type to see if it's JAVASCRIPT
-					// if it is, we're just gonna let the embedded JAVASCRIPT
-					// adapter get the proposals
-					if (documentPosition > 0) {
-						String checkType = getPartitionType((StructuredTextViewer) viewer, documentPosition - 1);
-						if (checkType != StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT) { // this
-							// check
-							// is
-							// failing
-							// for
-							// XML-JSP
-							// (region
-							// is
-							// not
-							// javascript...)
-							return getJSPJavaCompletionProposals(viewer, documentPosition);
-						}
-						else {
-							partitionType = StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT;
-						}
-					}
-				}
-				else if ((firstRegion.getType() == XMLRegionContext.XML_TAG_OPEN) && documentPosition >= fnDelim.getEndOffset()) {
-					// anything else inbetween
-					return getJSPJavaCompletionProposals(viewer, documentPosition);
-				}
-			}
-			else if (XMLContentAssistUtilities.isJSPDelimiter(fnDelim)) {
-				//	the delimiter <%, <%=, <%!, ...
-				if (XMLContentAssistUtilities.isJSPCloseDelimiter(fnDelim)) {
-					if (documentPosition == fnDelim.getStartOffset()) {
-						// check previous partition type to see if it's
-						// JAVASCRIPT
-						// if it is, we're just gonna let the embedded
-						// JAVASCRIPT adapter get the proposals
-						if (documentPosition > 0) {
-							String checkType = getPartitionType((StructuredTextViewer) viewer, documentPosition - 1);
-							if (checkType != StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT) {
-								return getJSPJavaCompletionProposals(viewer, documentPosition);
-							}
-							else {
-								partitionType = StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT;
-							}
-						}
-					}
-				}
-				else if (XMLContentAssistUtilities.isJSPOpenDelimiter(fnDelim)) {
-					// if it's the first position of open delimiter
-					// use embedded HTML results
-					if (documentPosition == fnDelim.getStartOffset()) {
-						embeddedResults = getHTMLCompletionProposals(viewer, documentPosition);
-					}
-					else if (documentPosition == fnDelim.getEndOffset()) {
-						// it's at the EOF <%|
-						return getJSPJavaCompletionProposals(viewer, documentPosition);
-					}
-				}
-			}
-		}
-
-		// need to check if it's JSP region inside of CDATA w/ no region
-		// <![CDATA[ <%|%> ]]>
-		// or a comment region
-		// <!-- <% |%> -->
-		if (fn != null && (fn.getType() == XMLRegionContext.XML_CDATA_TEXT || fn.getType() == XMLRegionContext.XML_COMMENT_TEXT)) {
-			if (fn instanceof ITextRegionContainer) {
-				Object[] cdataRegions = fn.getRegions().toArray();
-				ITextRegion r = null;
-				ITextRegion jspRegion = null;
-				for (int i = 0; i < cdataRegions.length; i++) {
-					r = (ITextRegion) cdataRegions[i];
-					if (r instanceof ITextRegionContainer) {
-						// CDATA embedded container, or comment container
-						Object[] jspRegions = ((ITextRegionContainer) r).getRegions().toArray();
-						for (int j = 0; j < jspRegions.length; j++) {
-							jspRegion = (ITextRegion) jspRegions[j];
-							if (jspRegion.getType() == XMLJSPRegionContexts.JSP_CLOSE) {
-								if (sdRegion.getStartOffset(jspRegion) == documentPosition)
-									return getJSPJavaCompletionProposals(viewer, documentPosition);
-							}
-						}
-					}
-				}
-
-			}
-		}
-
-		// check if it's in an attribute value, if so, don't add CDATA
-		// proposal
-		ITextRegion attrContainer = (fn != null) ? fn.getRegionAtCharacterOffset(documentPosition) : null;
-		if (attrContainer != null && attrContainer instanceof ITextRegionContainer) {
-			if (attrContainer.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				// test location of the cursor
-				// return null if it's in the middle of an open/close
-				// delimeter
-				Iterator attrRegions = ((ITextRegionContainer) attrContainer).getRegions().iterator();
-				ITextRegion testRegion = null;
-				while (attrRegions.hasNext()) {
-					testRegion = (ITextRegion) attrRegions.next();
-					// need to check for other valid attribute regions
-					if (XMLContentAssistUtilities.isJSPOpenDelimiter(testRegion.getType())) {
-						if (!(((ITextRegionContainer) attrContainer).getEndOffset(testRegion) <= documentPosition))
-							return EMPTY_PROPOSAL_SET;
-					}
-					else if (XMLContentAssistUtilities.isJSPCloseDelimiter(testRegion.getType())) {
-						if (!(((ITextRegionContainer) attrContainer).getStartOffset(testRegion) >= documentPosition))
-							return EMPTY_PROPOSAL_SET;
-					}
-				}
-				// TODO: handle non-Java code such as nested tags
-				if (testRegion.getType().equals(XMLJSPRegionContexts.JSP_CONTENT))
-					return getJSPJavaCompletionProposals(viewer, documentPosition);
-				else
-					return EMPTY_PROPOSAL_SET;
-			}
-		}
-
-		IContentAssistProcessor p = (IContentAssistProcessor) fPartitionToProcessorMap.get(partitionType);
-		if (p != null) {
-			embeddedResults = p.computeCompletionProposals(viewer, documentPosition);
-			// get bean methods, objects, and constants if there are any...
-			if (partitionType == StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT || partitionType == StructuredTextPartitionerForHTML.ST_SCRIPT) {
-				ICompletionProposal[] beanResults = getJSPJavaBeanProposals(viewer, documentPosition);
-				if (beanResults != null && beanResults.length > 0) {
-					ICompletionProposal[] added = new ICompletionProposal[beanResults.length + embeddedResults.length];
-					System.arraycopy(beanResults, 0, added, 0, beanResults.length);
-					System.arraycopy(embeddedResults, 0, added, beanResults.length, embeddedResults.length);
-					embeddedResults = added;
-				}
-			}
-		}
-		else {
-			// the partition type is probably not mapped
-		}
-
-		// fix for CMVC 253000
-		if (!(p instanceof JavaScriptContentAssistProcessor || p instanceof CSSContentAssistProcessor)) {
-			super.macroContexts.clear();
-			jspResults = super.computeCompletionProposals(viewer, documentPosition);
-		}
-		if (useEmbeddedResults) {
-			if (embeddedResults != null && embeddedResults.length > 0) {
-				List results = new ArrayList();
-				for (int i = 0; i < embeddedResults.length; i++)
-					results.add(embeddedResults[i]);
-				if (jspResults != null) {
-					for (int i = 0; i < jspResults.length; i++)
-						results.add(jspResults[i]);
-				}
-				jspResults = new ICompletionProposal[results.size()];
-				Collections.sort(results, new ProposalComparator());
-				for (int i = 0; i < results.size(); i++)
-					jspResults[i] = (ICompletionProposal) results.get(i);
-
-			}
-		}
-		if (jspResults == null)
-			jspResults = EMPTY_PROPOSAL_SET;
-		setErrorMessage(jspResults.length == 0 ? UNKNOWN_CONTEXT : null);
-
-		// CMVC 269718
-		// check for |<%-- --%> first position of jsp comment
-		if (partitionType == StructuredTextPartitionerForJSP.ST_JSP_COMMENT) {
-			if (sdRegion.getStartOffset() == documentPosition) {
-				ICompletionProposal[] htmlResults = getHTMLCompletionProposals(viewer, documentPosition);
-				jspResults = merge(jspResults, htmlResults);
-			}
-		}
-		return jspResults;
-	}
-
-	/**
-	 * Adds 2 arrays of ICompletionProposals and sorts them with a
-	 * ProposalComparator.
-	 * 
-	 * @param jspResults
-	 * @param htmlResults
-	 * @return
-	 */
-	private ICompletionProposal[] merge(ICompletionProposal[] jspResults, ICompletionProposal[] htmlResults) {
-		List results = new ArrayList();
-		List jsps = Arrays.asList(jspResults);
-		List htmls = Arrays.asList(htmlResults);
-
-		results.addAll(jsps);
-		results.addAll(htmls);
-
-		Collections.sort(results, new ProposalComparator());
-		return (ICompletionProposal[]) results.toArray(new ICompletionProposal[results.size()]);
-	}
-
-	/*
-	 * This method will return JSPJava Proposals that are relevant to any java
-	 * beans that in scope at the documentPosition
-	 * 
-	 * TODO (pa) are taglib vars getting filtered?
-	 * 
-	 * @param viewer @param documentPosition @return ICompletionProposal[]
-	 */
-	private ICompletionProposal[] getJSPJavaBeanProposals(ITextViewer viewer, int documentPosition) {
-		ICompletionProposal[] regularJSPResults = getJSPJavaCompletionProposals(viewer, documentPosition);
-		Vector filteredProposals = new Vector();
-		ICompletionProposal[] finalResults = EMPTY_PROPOSAL_SET;
-		for (int i = 0; i < regularJSPResults.length; i++) {
-			ICompletionProposal test = regularJSPResults[i];
-
-						System.out.println("proposal > " + test.getDisplayString());
-            System.out.println("relevance > " + ((CustomCompletionProposal) test).getRelevance());
-						
-			if (isRelevanceAllowed(((CustomCompletionProposal) test).getRelevance())) {
-				filteredProposals.add(test);
-			}
-		}
-		if (filteredProposals.size() > 0) {
-			finalResults = new ICompletionProposal[filteredProposals.size()];
-			Iterator it = filteredProposals.iterator();
-			int j = 0;
-			while (it.hasNext()) {
-				finalResults[j++] = (ICompletionProposal) it.next();
-			}
-		}
-		return finalResults;
-	}
-
-	// These are the only things I'm allowing for use bean if the language is
-	// JAVASCRIPT
-	// I'm filtering based on JavaContentAssistProposal relevance
-	//
-	// 485 > method that belongs to the bean
-	// 486 > bean object
-	// 386 > bean CONSTANT
-	private boolean isRelevanceAllowed(int relevance) {
-		return (relevance == 485 || relevance == 486 || relevance == 326);
-	}
-
-
-	/**
-	 * 
-	 * @param viewer
-	 * @param documentPosition
-	 * @return ICompletionProposal[]
-	 */
-	private ICompletionProposal[] getHTMLCompletionProposals(ITextViewer viewer, int documentPosition) {
-
-		IContentAssistProcessor p = (IContentAssistProcessor) fPartitionToProcessorMap.get(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-		return p.computeCompletionProposals(viewer, documentPosition);
-	}
-
-	/**
-	 * 
-	 * @param viewer
-	 * @param documentPosition
-	 * @return ICompletionProposal[]
-	 */
-	protected ICompletionProposal[] getJSPJavaCompletionProposals(ITextViewer viewer, int documentPosition) {
-		JSPJavaContentAssistProcessor p = (JSPJavaContentAssistProcessor) fPartitionToProcessorMap.get(StructuredTextPartitionerForJSP.ST_DEFAULT_JSP);
-		p.initialize(fResource);
-		return p.computeCompletionProposals(viewer, documentPosition);
-	}
-
-	/**
-	 * @param viewer
-	 * @param documentPosition
-	 * @return String
-	 */
-	protected String getPartitionType(StructuredTextViewer viewer, int documentPosition) {
-		String partitionType = null;
-		try {
-			partitionType = TextUtilities.getContentType(viewer.getDocument(), IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING, documentPosition + viewer.getVisibleRegion().getOffset(), false);
-		}
-		catch (BadLocationException e) {
-			partitionType = IDocument.DEFAULT_CONTENT_TYPE;
-		}
-		return partitionType;
-	}
-
-	/*
-	 * ** TEMP WORKAROUND FOR CMVC 241882 Takes a String and blocks out
-	 * jsp:scriptlet, jsp:expression, and jsp:declaration @param blockText
-	 * @return
-	 */
-	private IStructuredDocumentRegion decodeScriptBlock(String blockText) {
-		XMLSourceParser parser = new XMLSourceParser();
-		// use JSP_CONTENT for region type
-		parser.addBlockMarker(new BlockMarker("jsp:scriptlet", null, XMLJSPRegionContexts.JSP_CONTENT, false, false)); //$NON-NLS-1$
-		parser.addBlockMarker(new BlockMarker("jsp:expression", null, XMLJSPRegionContexts.JSP_CONTENT, false, false)); //$NON-NLS-1$
-		parser.addBlockMarker(new BlockMarker("jsp:declaration", null, XMLJSPRegionContexts.JSP_CONTENT, false, false)); //$NON-NLS-1$
-		parser.reset(blockText);
-		return parser.getDocumentRegions();
-	}
-
-	/*
-	 * @see ContentAssistAdapter#computeContextInformation(ITextViewer, int,
-	 *      IndexedRegion)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset, IndexedRegion indexedNode) {
-		return super.computeContextInformation(viewer, documentOffset);
-	}
-
-	/*
-	 * @see ContentAssistAdapter#getContextInformationAutoActivationCharacters()
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return super.getContextInformationAutoActivationCharacters();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		// CMVC 260546
-		// return from HTML preference,
-		// since we know that we are inhereiting the preference for auto
-		// activation from HTML
-//		AbstractUIPlugin htmlPlugin = (AbstractUIPlugin) Platform.getPlugin(HTMLEditorPlugin.ID);
-		IPreferenceStore store = JSPUIPlugin.getDefault().getPreferenceStore();
-		String key = CommonEditorPreferenceNames.AUTO_PROPOSE_CODE;
-
-		String chars = store.getString(key);
-		return (chars != null) ? chars.toCharArray() : new char[0];
-	}
-
-	/*
-	 * @see ContentAssistAdapter#getContextInformationValidator()
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		return super.getContextInformationValidator();
-	}
-
-	/*
-	 * @see ContentAssistAdapter#initialize(IResource)
-	 */
-	public void initialize(IResource resourceToInit) {
-		fResource = resourceToInit;
-		if (fNameToProcessorMap != null) {
-			
-			if(fNameToProcessorMap.isEmpty())
-				initNameToProcessorMap();
-				
-			// init some embedded processors
-			JSPUseBeanContentAssistProcessor useBeanProcessor = (JSPUseBeanContentAssistProcessor) fNameToProcessorMap.get(JSP11Namespace.ElementName.USEBEAN);
-			JSPPropertyContentAssistProcessor propProcessor = (JSPPropertyContentAssistProcessor) fNameToProcessorMap.get(JSP11Namespace.ElementName.SETPROPERTY);
-			useBeanProcessor.initialize(resourceToInit);
-			propProcessor.initialize(resourceToInit);
-		}
-		if(fPartitionToProcessorMap != null) {
-			if(fPartitionToProcessorMap.isEmpty())
-				initPartitionToProcessorMap();
-		}
-	}
-
-	protected boolean isXMLFormat(Document doc) {
-		if (doc == null)
-			return false;
-		Element docElement = doc.getDocumentElement();
-		return docElement != null && ((docElement.getNodeName().equals("jsp:root")) || ((((XMLNode) docElement).getStartStructuredDocumentRegion() == null && ((XMLNode) docElement).getEndStructuredDocumentRegion() == null))); //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ContentAssistAdapter#release()
-	 */
-	public void release() {
-		super.release();
-		// release *ContentAssistProcessors in maps
-		// CMVC 254023
-		releasePartitionToProcessorMap();
-		releaseNameToProcessorMap();
-	}
-
-	protected void releasePartitionToProcessorMap() {
-		releaseMap(fPartitionToProcessorMap);
-	}
-
-	protected void releaseNameToProcessorMap() {
-		releaseMap(fNameToProcessorMap);
-	}
-
-	protected void releaseMap(HashMap map) {
-		if (map != null) {
-			if (!map.isEmpty()) {
-				Iterator it = map.keySet().iterator();
-				Object key = null;
-				while (it.hasNext()) {
-					key = it.next();
-					// TODO (pa) need to make sure processors w/ release()
-					// implement releasable
-					if (map.get(key) instanceof AbstractContentAssistProcessor) {
-						((AbstractContentAssistProcessor) map.get(key)).release();
-					}
-				}
-			}
-			map.clear();
-			map = null;
-		}
-	}
-
-	/**
-	 * @see AbstractContentAssistProcessor#computeCompletionProposals(int,
-	 *      String, ITextRegion, XMLNode, XMLNode)
-	 */
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode treeNode, XMLNode xmlnode) {
-
-		ContentAssistRequest request = super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-		IStructuredDocumentRegion sdRegion = ContentAssistUtils.getStructuredDocumentRegion((StructuredTextViewer) fTextViewer, documentPosition);
-
-		Document doc = null;
-		if (xmlnode != null) {
-			if (xmlnode.getNodeType() == Node.DOCUMENT_NODE)
-				doc = (Document) xmlnode;
-			else
-				doc = xmlnode.getOwnerDocument();
-		}
-		String[] directiveNames = {"page", "include", "taglib"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		// suggest JSP Expression inside of XML comments
-		if (completionRegion.getType() == XMLRegionContext.XML_COMMENT_TEXT && !isXMLFormat(doc)) {
-			if (request == null)
-				request = newContentAssistRequest(treeNode, xmlnode, sdRegion, completionRegion, documentPosition, 0, ""); //$NON-NLS-1$
-			request.addProposal(new CustomCompletionProposal("<%=  %>", documentPosition, 0, 4, SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_TAG_MACRO), "jsp:expression", null, "&lt;%= %&gt;", XMLRelevanceConstants.R_JSP)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		// handle proposals in and around JSP_DIRECTIVE_OPEN and
-		// JSP_DIRECTIVE_NAME
-		else if ((completionRegion.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN && documentPosition >= sdRegion.getTextEndOffset(completionRegion)) || (completionRegion.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME && documentPosition <= sdRegion.getTextEndOffset(completionRegion))) {
-			if (completionRegion.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN) {
-				if (request == null)
-					request = newContentAssistRequest(xmlnode, xmlnode, sdRegion, completionRegion, documentPosition, 0, matchString);
-				Iterator regions = sdRegion.getRegions().iterator();
-				String nameString = null;
-				int begin = request.getReplacementBeginPosition();
-				int length = request.getReplacementLength();
-				while (regions.hasNext()) {
-					ITextRegion region = (ITextRegion) regions.next();
-					if (region.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-						nameString = sdRegion.getText(region);
-						begin = sdRegion.getStartOffset(region);
-						length = region.getTextLength();
-						break;
-					}
-				}
-				if (nameString == null)
-					nameString = ""; //$NON-NLS-1$
-				for (int i = 0; i < directiveNames.length; i++) {
-					if (directiveNames[i].startsWith(nameString) || documentPosition <= begin)
-						request.addProposal(new CustomCompletionProposal(directiveNames[i], begin, length, directiveNames[i].length(), SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_TAG_GENERIC), directiveNames[i], null, null, XMLRelevanceConstants.R_JSP));
-				}
-			}
-			else { // by default, JSP_DIRECTIVE_NAME
-				if (request == null)
-					request = newContentAssistRequest(xmlnode, xmlnode, sdRegion, completionRegion, sdRegion.getStartOffset(completionRegion), completionRegion.getTextLength(), matchString);
-				for (int i = 0; i < directiveNames.length; i++) {
-					if (directiveNames[i].startsWith(matchString))
-						request.addProposal(new CustomCompletionProposal(directiveNames[i], request.getReplacementBeginPosition(), request.getReplacementLength(), directiveNames[i].length(), SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_TAG_GENERIC), directiveNames[i], null, null, XMLRelevanceConstants.R_JSP));
-				}
-			}
-		}
-		else if ((completionRegion.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME && documentPosition > sdRegion.getTextEndOffset(completionRegion)) || (completionRegion.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE && documentPosition <= sdRegion.getStartOffset(completionRegion))) {
-			if (request == null)
-				request = computeAttributeProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			super.addTagCloseProposals(request);
-			//  CMVC 274033, this is being added for all <jsp:* tags
-			// in addAttributeNameProposals(contentAssistRequest)
-			//super.addAttributeNameProposals(request);
-		}
-		// no name?: <%@ %>
-		else if (completionRegion.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE && documentPosition <= sdRegion.getStartOffset(completionRegion)) {
-			if (request != null)
-				request = computeAttributeProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			Iterator regions = sdRegion.getRegions().iterator();
-			String nameString = null;
-			while (regions.hasNext()) {
-				ITextRegion region = (ITextRegion) regions.next();
-				if (region.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-					nameString = sdRegion.getText(region);
-					break;
-				}
-			}
-			if (nameString == null) {
-				for (int i = 0; i < directiveNames.length; i++) {
-					request.addProposal(new CustomCompletionProposal(directiveNames[i], request.getReplacementBeginPosition(), request.getReplacementLength(), directiveNames[i].length(), SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_TAG_GENERIC), directiveNames[i], null, null, XMLRelevanceConstants.R_JSP));
-				}
-			}
-		}
-		return request;
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.xml.contentassist.AbstractContentAssistProcessor#getTemplateCompletionProcessor()
-	 */
-	protected AbstractTemplateCompletionProcessor getTemplateCompletionProcessor() {
-		if (fTemplateProcessor == null) {
-			fTemplateProcessor = new JSPTemplateCompletionProcessor();
-		}
-		return fTemplateProcessor;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentassist.old.xml.AbstractContentAssistProcessor#addEntityProposals(ContentAssistRequest,
-	 *      int, ITextRegion, XMLNode)
-	 */
-	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, XMLNode treeNode) {
-	}
-
-	/**
-	 * @see com.ibm.sed.contentassist.old.xml.AbstractContentAssistProcessor#addTagInsertionProposals(ContentAssistRequest,
-	 *      int)
-	 */
-	protected void addTagInsertionProposals(ContentAssistRequest contentAssistRequest, int childPosition) {
-		super.addTagInsertionProposals(contentAssistRequest, childPosition);
-		if (isInternalAdapter)
-			useEmbeddedResults = false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java
deleted file mode 100644
index 4b2f9be..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-
-
-import java.util.List;
-import java.util.Properties;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.ui.contentassist.AbstractContentAssistProcessor;
-import org.eclipse.wst.xml.ui.contentassist.ContentAssistRequest;
-import org.eclipse.wst.xml.ui.contentassist.XMLContentModelGenerator;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author pavery
- *
- * This class is a "null" version of AbstractContentAssistProcessor
- */
-public class JSPDummyContentAssistProcessor extends AbstractContentAssistProcessor implements IResourceDependentProcessor {
-
-	IResource fResource = null;
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addAttributeNameProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addAttributeNameProposals(ContentAssistRequest contentAssistRequest) {
-		super.addAttributeNameProposals(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addAttributeValueProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-		super.addAttributeValueProposals(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addCommentProposal(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addCommentProposal(ContentAssistRequest contentAssistRequest) {
-		super.addCommentProposal(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addContent(java.util.List, org.eclipse.wst.common.contentmodel.CMContent)
-	 */
-	protected void addContent(List contentList, CMContent content) {
-		super.addContent(contentList, content);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addDocTypeProposal(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addDocTypeProposal(ContentAssistRequest contentAssistRequest) {
-		super.addDocTypeProposal(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addEmptyDocumentProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addEmptyDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		super.addEmptyDocumentProposals(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addEndTagNameProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addEndTagNameProposals(ContentAssistRequest contentAssistRequest) {
-		super.addEndTagNameProposals(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addEndTagProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addEndTagProposals(ContentAssistRequest contentAssistRequest) {
-		super.addEndTagProposals(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addEntityProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest, int, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, XMLNode treeNode) {
-		super.addEntityProposals(contentAssistRequest, documentPosition, completionRegion, treeNode);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addEntityProposals(java.util.Vector, java.util.Properties, java.lang.String, int, com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	protected void addEntityProposals(Vector proposals, Properties map, String key, int nodeOffset, IStructuredDocumentRegion parent, ITextRegion completionRegion) {
-		super.addEntityProposals(proposals, map, key, nodeOffset, parent, completionRegion);
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.contentassist.AbstractContentAssistProcessor#addTemplates(com.ibm.sse.editor.xml.contentassist.ContentAssistRequest, java.lang.String)
-	 */
-	protected void addTemplates(ContentAssistRequest contentAssistRequest, String context) {
-		super.addTemplates(contentAssistRequest, context);
-	}
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addPCDATAProposal(java.lang.String, com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addPCDATAProposal(String nodeName, ContentAssistRequest contentAssistRequest) {
-		super.addPCDATAProposal(nodeName, contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addStartDocumentProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addStartDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		super.addStartDocumentProposals(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addTagCloseProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addTagCloseProposals(ContentAssistRequest contentAssistRequest) {
-		super.addTagCloseProposals(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addTagInsertionProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest, int)
-	 */
-	protected void addTagInsertionProposals(ContentAssistRequest contentAssistRequest, int childPosition) {
-		super.addTagInsertionProposals(contentAssistRequest, childPosition);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addTagNameProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest, int)
-	 */
-	protected void addTagNameProposals(ContentAssistRequest contentAssistRequest, int childPosition) {
-		super.addTagNameProposals(contentAssistRequest, childPosition);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addXMLProposal(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest)
-	 */
-	protected void addXMLProposal(ContentAssistRequest contentAssistRequest) {
-		super.addXMLProposal(contentAssistRequest);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#attributeInList(com.ibm.sed.model.xml.XMLNode, org.w3c.dom.Node, org.eclipse.wst.common.contentmodel.CMNode)
-	 */
-	protected boolean attributeInList(XMLNode node, Node parent, CMNode cmnode) {
-		return super.attributeInList(node, parent, cmnode);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#beginsWith(java.lang.String, java.lang.String)
-	 */
-	protected boolean beginsWith(String aString, String prefix) {
-		return super.beginsWith(aString, prefix);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeAttributeProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeAttributeProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		return super.computeAttributeProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeAttributeValueProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeAttributeValueProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		return super.computeAttributeValueProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeCompletionProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode treeNode, XMLNode xmlnode) {
-		return super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-		return super.computeCompletionProposals(viewer, documentOffset);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeContentProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeContentProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		return super.computeContentProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-		return super.computeContextInformation(viewer, documentOffset);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeEndTagOpenProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeEndTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		return super.computeEndTagOpenProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeEntityReferenceProposals(int, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ICompletionProposal[] computeEntityReferenceProposals(int documentPosition, ITextRegion completionRegion, XMLNode treeNode) {
-		return super.computeEntityReferenceProposals(documentPosition, completionRegion, treeNode);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeEqualsProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeEqualsProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		return super.computeEqualsProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeStartDocumentProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeStartDocumentProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		return super.computeStartDocumentProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeTagCloseProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeTagCloseProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		return super.computeTagCloseProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeTagNameProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeTagNameProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		return super.computeTagNameProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeTagOpenProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected ContentAssistRequest computeTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		return super.computeTagOpenProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getAdditionalInfo(org.eclipse.wst.common.contentmodel.CMNode, org.eclipse.wst.common.contentmodel.CMNode)
-	 */
-	protected String getAdditionalInfo(CMNode parentOrOwner, CMNode cmnode) {
-		return super.getAdditionalInfo(parentOrOwner, cmnode);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getAvailableChildrenAtIndex(org.w3c.dom.Element, int)
-	 */
-	protected List getAvailableChildrenAtIndex(Element parent, int index) {
-		return super.getAvailableChildrenAtIndex(parent, index);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getAvailableRootChildren(org.w3c.dom.Document, int)
-	 */
-	protected List getAvailableRootChildren(Document document, int childIndex) {
-		return super.getAvailableRootChildren(document, childIndex);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getCMElementDeclaration(org.w3c.dom.Node)
-	 */
-	protected CMElementDeclaration getCMElementDeclaration(Node node) {
-		return super.getCMElementDeclaration(node);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return super.getCompletionProposalAutoActivationCharacters();
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getCompletionRegion(int, com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion)
-	 */
-	protected ITextRegion getCompletionRegion(int offset, IStructuredDocumentRegion flatNode) {
-		return super.getCompletionRegion(offset, flatNode);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getCompletionRegion(int, org.w3c.dom.Node)
-	 */
-	protected ITextRegion getCompletionRegion(int documentPosition, Node domnode) {
-		return super.getCompletionRegion(documentPosition, domnode);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getContentGenerator()
-	 */
-	public XMLContentModelGenerator getContentGenerator() {
-		return super.getContentGenerator();
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationAutoActivationCharacters()
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return super.getContextInformationAutoActivationCharacters();
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationValidator()
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		return super.getContextInformationValidator();
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getElementPosition(org.w3c.dom.Node)
-	 */
-	protected int getElementPosition(Node child) {
-		return super.getElementPosition(child);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return super.getErrorMessage();
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getMatchString(com.ibm.sed.structuredDocument.ITextRegion, int)
-	 */
-	protected String getMatchString(IStructuredDocumentRegion parent, ITextRegion aRegion, int offset) {
-		return super.getMatchString(parent, aRegion, offset);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getNameRegion(com.ibm.sed.structuredDocument.IStructuredDocumentRegion)
-	 */
-	protected ITextRegion getNameRegion(IStructuredDocumentRegion flatNode) {
-		return super.getNameRegion(flatNode);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getPossibleDataTypeValues(org.w3c.dom.Node, org.eclipse.wst.common.contentmodel.CMAttributeDeclaration)
-	 */
-	protected List getPossibleDataTypeValues(Node node, CMAttributeDeclaration ad) {
-		return super.getPossibleDataTypeValues(node, ad);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getRequiredName(org.w3c.dom.Node, org.eclipse.wst.common.contentmodel.CMNode)
-	 */
-	protected String getRequiredName(Node parentOrOwner, CMNode cmnode) {
-		return super.getRequiredName(parentOrOwner, cmnode);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getRequiredText(org.w3c.dom.Node, org.eclipse.wst.common.contentmodel.CMAttributeDeclaration)
-	 */
-	protected String getRequiredText(Node parentOrOwner, CMAttributeDeclaration attrDecl) {
-		return super.getRequiredText(parentOrOwner, attrDecl);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getRequiredText(org.w3c.dom.Node, org.eclipse.wst.common.contentmodel.CMElementDeclaration)
-	 */
-	protected String getRequiredText(Node parentOrOwner, CMElementDeclaration elementDecl) {
-		return super.getRequiredText(parentOrOwner, elementDecl);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#getValidCMNodes(int, int, java.util.List)
-	 */
-	protected List getValidCMNodes(int childPosition, int kindOfAction, List modelQueryActions) {
-		return super.getValidCMNodes(childPosition, kindOfAction, modelQueryActions);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#init()
-	 */
-	protected void init() {
-		super.init();
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#initialize(org.eclipse.core.resources.IResource)
-	 */
-	public void initialize(IResource iResource) {
-		fResource = iResource;
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#isCloseRegion(com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	protected boolean isCloseRegion(ITextRegion region) {
-		return super.isCloseRegion(region);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#isNameRegion(com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	protected boolean isNameRegion(ITextRegion region) {
-		return super.isNameRegion(region);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#isQuote(java.lang.String)
-	 */
-	protected boolean isQuote(String string) {
-		return super.isQuote(string);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#mapToProperties(org.eclipse.wst.common.contentmodel.CMNamedNodeMap)
-	 */
-	protected Properties mapToProperties(CMNamedNodeMap map) {
-		return super.mapToProperties(map);
-	}
-
-	//	/**
-	//	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#newContentAssistRequest(org.w3c.dom.Node, org.w3c.dom.Node, com.ibm.sed.structuredDocument.ITextRegion, int, int, java.lang.String)
-	//	 */
-	//	protected ContentAssistRequest newContentAssistRequest(Node node, Node possibleParent, ITextRegion completionRegion, int begin, int length, String filter) {
-	//		return super.newContentAssistRequest(node, possibleParent, completionRegion, begin, length, filter);
-	//	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#release()
-	 */
-	public void release() {
-		super.release();
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#setErrorMessage(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	protected void setErrorMessage(String errorMessage, String prepend, String append) {
-		super.setErrorMessage(errorMessage, prepend, append);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#setErrorMessage(java.lang.String, java.lang.String)
-	 */
-	protected void setErrorMessage(String errorMessage, String append) {
-		super.setErrorMessage(errorMessage, append);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#setErrorMessage(java.lang.String)
-	 */
-	public void setErrorMessage(String errorMessage) {
-		super.setErrorMessage(errorMessage);
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#stringsEqual(java.lang.String, java.lang.String)
-	 */
-	protected boolean stringsEqual(String a, String b) {
-		return super.stringsEqual(a, b);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java
deleted file mode 100644
index 228c937..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.contentassist.XMLRelevanceConstants;
-import org.eclipse.wst.xml.ui.util.SharedXMLEditorPluginImageHelper;
-
-public class JSPJavaContentAssistProcessor implements IContentAssistProcessor, IResourceDependentProcessor, IReleasable {
-	protected IResource fResource;
-	protected char completionProposalAutoActivationCharacters[] = new char[]{'.'};
-	protected char contextInformationAutoActivationCharacters[] = null;
-	protected static final String UNKNOWN_CONTEXT = SSEUIPlugin.getResourceString("%Content_Assist_not_availab_UI_"); //$NON-NLS-1$ = "Content Assist not available at the current location "
-	protected String fErrorMessage = null;
-	private JSPCompletionProcessor fJspCompletionProcessor = null;
-
-	public JSPJavaContentAssistProcessor() {
-		super();
-	}
-
-	public JSPJavaContentAssistProcessor(IResource file) {
-		super();
-		fResource = file;
-	}
-
-	public static void main(String[] args) {
-		JSPJavaContentAssistProcessor instance = new JSPJavaContentAssistProcessor();
-		// unit test for 'reverse' function
-		instance._unitTest0();
-		instance._unitTestNormal1();
-		instance._unitTestNormal2();
-		instance._unitTestNormal3();
-		instance._unitTestNormal4();
-		instance._unitTestNormal5();
-	}
-
-	private void _printList(Object[] list) {
-		for (int i = 0; i < list.length; i++) {
-			System.out.print(list[i] + " "); //$NON-NLS-1$
-		}
-		System.out.println();
-
-	}
-
-	private void _unitTest0() {
-		Object[] listOfObjects = new Object[0];
-		_printList(listOfObjects);
-		reverse(listOfObjects);
-		_printList(listOfObjects);
-	}
-
-	private void _unitTestNormal1() {
-		Object[] listOfObjects = new Object[1];
-		listOfObjects[0] = "one"; //$NON-NLS-1$
-		_printList(listOfObjects);
-		reverse(listOfObjects);
-		_printList(listOfObjects);
-	}
-
-	private void _unitTestNormal2() {
-		Object[] listOfObjects = new Object[2];
-		listOfObjects[0] = "one"; //$NON-NLS-1$
-		listOfObjects[1] = "two"; //$NON-NLS-1$
-		_printList(listOfObjects);
-		reverse(listOfObjects);
-		_printList(listOfObjects);
-	}
-
-	private void _unitTestNormal3() {
-		Object[] listOfObjects = new Object[3];
-		listOfObjects[0] = "one"; //$NON-NLS-1$
-		listOfObjects[1] = "two"; //$NON-NLS-1$
-		listOfObjects[2] = "three"; //$NON-NLS-1$
-		_printList(listOfObjects);
-		reverse(listOfObjects);
-		_printList(listOfObjects);
-	}
-
-	private void _unitTestNormal4() {
-		Object[] listOfObjects = new Object[4];
-		listOfObjects[0] = "one"; //$NON-NLS-1$
-		listOfObjects[1] = "two"; //$NON-NLS-1$
-		listOfObjects[2] = "three"; //$NON-NLS-1$
-		listOfObjects[3] = "four"; //$NON-NLS-1$
-		_printList(listOfObjects);
-		reverse(listOfObjects);
-		_printList(listOfObjects);
-	}
-
-	private void _unitTestNormal5() {
-		Object[] listOfObjects = new Object[5];
-		listOfObjects[0] = "one"; //$NON-NLS-1$
-		listOfObjects[1] = "two"; //$NON-NLS-1$
-		listOfObjects[2] = "three"; //$NON-NLS-1$
-		listOfObjects[3] = "four"; //$NON-NLS-1$
-		listOfObjects[4] = "five"; //$NON-NLS-1$
-		_printList(listOfObjects);
-		reverse(listOfObjects);
-		_printList(listOfObjects);
-	}
-
-	/**
-	 * Return a list of proposed code completions based on the
-	 * specified location within the document that corresponds
-	 * to the current cursor position within the text-editor control.
-	 *
-	 * @param documentPosition a location within the document
-	 * @return an array of code-assist items 
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentPosition) {
-
-		IndexedRegion treeNode = ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, documentPosition);
-
-		// get results from JSP completion processor	
-		fJspCompletionProcessor = getJspCompletionProcessor();
-		ICompletionProposal[] results = fJspCompletionProcessor.computeCompletionProposals(viewer, documentPosition);
-		fErrorMessage = fJspCompletionProcessor.getErrorMessage();
-		if (results.length == 0 && (fErrorMessage == null || fErrorMessage.length() == 0)) {
-			fErrorMessage = UNKNOWN_CONTEXT;
-		}
-
-		XMLNode xNode = null;
-		IStructuredDocumentRegion flat = null;
-		if (treeNode instanceof XMLNode) {
-			xNode = (XMLNode) treeNode;
-			flat = xNode.getFirstStructuredDocumentRegion();
-			if (flat != null && flat.getType() == XMLJSPRegionContexts.JSP_CONTENT) {
-				flat = flat.getPrevious();
-			}
-		}
-
-		// this is in case it's a <%@, it will be a region container...
-		ITextRegion openRegion = null;
-		if (flat != null && flat instanceof ITextRegionContainer) {
-			ITextRegionList v = ((ITextRegionContainer) flat).getRegions();
-			if (v.size() > 0)
-				openRegion = v.get(0);
-		}
-
-		// ADD CDATA PROPOSAL IF IT'S AN XML-JSP TAG  
-		if (flat != null && flat.getType() != XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN && flat.getType() != XMLJSPRegionContexts.JSP_DECLARATION_OPEN && flat.getType() != XMLJSPRegionContexts.JSP_EXPRESSION_OPEN && flat.getType() != XMLRegionContext.BLOCK_TEXT && (openRegion != null && openRegion.getType() != XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN) && !inAttributeRegion(flat, documentPosition)) {
-
-			// determine if cursor is before or after selected range
-			int adjustedDocPosition = documentPosition;
-			int realCaretPosition = viewer.getTextWidget().getCaretOffset();
-			int selectionLength = viewer.getSelectedRange().y;
-			if (documentPosition > realCaretPosition) {
-				adjustedDocPosition -= selectionLength;
-			}
-
-			CustomCompletionProposal cdataProposal = createCDATAProposal(adjustedDocPosition, selectionLength);
-			ICompletionProposal[] newResults = new ICompletionProposal[results.length + 1];
-			System.arraycopy(results, 0, newResults, 0, results.length);
-			newResults[results.length] = cdataProposal;
-			results = newResults;
-		}
-
-		// (pa) ** this is code in progress...
-		// add ending %> proposal for non closed JSP tags
-		//		String tagText = flat.getText();
-		//		// TODO need a much better compare (using constants?)
-		//		if(tagText.equals("<%") || tagText.equals("<%=") || tagText.equals("<%!"));
-		//		{
-		//			ICompletionProposal testah = ContentAssistUtils.computeJSPEndTagProposal(viewer,documentPosition, treeNode, "<%" , SharedXMLEditorPluginImageHelper.IMG_OBJ_TAG_GENERIC);
-		//			if(testah != null)
-		//			{
-		//				ICompletionProposal[] newResults = new ICompletionProposal[results.length + 1];
-		//				System.arraycopy( results, 0, newResults, 0, results.length);
-		//				newResults[results.length] = testah;
-		//				results = newResults;
-		//			}
-		//		}
-
-		reverse(results); // so variables show up first	
-		return results;
-	}
-
-	// reverses an array of objects 
-	public void reverse(Object[] array) {
-		Object temp = null;
-		//DMW: 8/16/2002 this was <=, but was thrown out of bounds occasionally
-		for (int i = 0; i < (array.length / 2); i++) {
-			temp = array[i];
-			array[i] = array[(array.length - 1) - i];
-			array[(array.length - 1) - i] = temp;
-		}
-	}
-
-	private CustomCompletionProposal createCDATAProposal(int adjustedDocPosition, int selectionLength) {
-		return new CustomCompletionProposal("<![CDATA[]]>", //$NON-NLS-1$
-					adjustedDocPosition, selectionLength, // should be the selection length
-					9, SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_CDATASECTION), 
-					"CDATA Section", //$NON-NLS-1$
-					null, null, XMLRelevanceConstants.R_CDATA);
-	}
-
-	private boolean inAttributeRegion(IStructuredDocumentRegion flat, int documentPosition) {
-		ITextRegion attrContainer = flat.getRegionAtCharacterOffset(documentPosition);
-		if (attrContainer != null && attrContainer instanceof ITextRegionContainer) {
-			if (attrContainer.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of possible completions.
-	 *
-	 * @return the auto activation characters for completion proposal or <code>null</code>
-	 *		if no auto activation is desired
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return completionProposalAutoActivationCharacters;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of context information.
-	 *
-	 * @return the auto activation characters for presenting context information
-	 *		or <code>null</code> if no auto activation is desired
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return contextInformationAutoActivationCharacters;
-	}
-
-	/**
-	 * Return the reason why computeProposals was not able to find any completions.
-	 *
-	 * @return an error message
-	 *   or null if no error occurred
-	 */
-	public String getErrorMessage() {
-		return fErrorMessage;
-	}
-
-	/**
-	 * @see ContentAssistAdapter#release()
-	 */
-	public void release() {
-		if (fJspCompletionProcessor != null) {
-			fJspCompletionProcessor.release();
-			fJspCompletionProcessor = null;
-		}
-		fResource = null;
-	}
-
-	/**
-	 * @see ContentAssistAdapter#initialize(IResource)
-	 */
-	public void initialize(IResource resource) {
-		fResource = resource;
-		getJspCompletionProcessor().initialize(resource);
-	}
-
-	/**
-	 * 
-	 */
-	private JSPCompletionProcessor getJspCompletionProcessor() {
-		if (fJspCompletionProcessor == null) {
-			fJspCompletionProcessor = new JSPCompletionProcessor(fResource);
-			fJspCompletionProcessor.initialize(fResource);
-		}
-		return fJspCompletionProcessor;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-		List results = new ArrayList();
-		// need to compute context info here, if it's JSP, call java computer
-		IDocumentPartitioner dp = viewer.getDocument().getDocumentPartitioner();
-		String type = dp.getPartition(documentOffset).getType();
-		if (type == StructuredTextPartitionerForJSP.ST_DEFAULT_JSP || type == StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA) {
-			// get context info from completion results...
-			ICompletionProposal[] proposals = computeCompletionProposals(viewer, documentOffset);
-			for (int i = 0; i < proposals.length; i++) {
-				IContextInformation ci = proposals[i].getContextInformation();
-				if (ci != null)
-					results.add(ci);
-			}
-		}
-		return (IContextInformation[]) results.toArray(new IContextInformation[results.size()]);
-	}
-
-	/**
-	 * Returns a validator used to determine when displayed context information
-	 * should be dismissed. May only return <code>null</code> if the processor is
-	 * incapable of computing context information.
-	 *
-	 * @return a context information validator, or <code>null</code> if the processor
-	 * 			is incapable of computing context information
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		return new JavaParameterListValidator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java
deleted file mode 100644
index 1aea12d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.ui.contentassist.BeanInfoProvider;
-import org.eclipse.jst.jsp.ui.contentassist.IBeanInfoProvider;
-import org.eclipse.jst.jsp.ui.contentassist.IJavaPropertyDescriptor;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImageHelper;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImages;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.contentassist.ContentAssistRequest;
-import org.eclipse.wst.xml.ui.contentassist.XMLRelevanceConstants;
-import org.eclipse.wst.xml.ui.util.SharedXMLEditorPluginImageHelper;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * This class computes attribute value completion proposals for &lt;jsp:[gs]etProperty&gt; tags.
- *
- */
-public class JSPPropertyContentAssistProcessor extends JSPDummyContentAssistProcessor {
-
-	IBeanInfoProvider provider = null;
-	protected IResource resource = null;
-
-	public JSPPropertyContentAssistProcessor() {
-		super();
-	}
-
-	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-		XMLNode node = (XMLNode) contentAssistRequest.getNode();
-
-		// Find the attribute name for which this position should have a value
-		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
-		ITextRegionList openRegions = open.getRegions();
-		int i = openRegions.indexOf(contentAssistRequest.getRegion());
-		if (i < 0)
-			return;
-
-		// get the attribute in question (first attr name to the left of the cursor)
-		ITextRegion attrNameRegion = null;
-		String attributeName = null;
-		while (i >= 0) {
-			attrNameRegion = openRegions.get(i--);
-			if (attrNameRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				break;
-		}
-		if (attrNameRegion != null)
-			attributeName = open.getText(attrNameRegion);
-
-		// determine get or set
-		ITextRegion tagNameRegion = null;
-		boolean isGetProperty = true;
-		for (int j = 0; j < openRegions.size(); j++) {
-			tagNameRegion = openRegions.get(j);
-			if (tagNameRegion.getType() == XMLRegionContext.XML_TAG_NAME && open.getText(tagNameRegion).trim().equals("jsp:setProperty")) { //$NON-NLS-1$
-				isGetProperty = false;
-				break;
-			}
-		}
-
-		String currentValue = null;
-		if (contentAssistRequest.getRegion().getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-			currentValue = contentAssistRequest.getText();
-		else
-			currentValue = ""; //$NON-NLS-1$
-		String matchString = null;
-		// fixups since the matchString computations don't care if there are quotes around the value
-		if (currentValue.length() > StringUtils.strip(currentValue).length() && (currentValue.startsWith("\"") || currentValue.startsWith("'")) && contentAssistRequest.getMatchString().length() > 0) //$NON-NLS-1$ //$NON-NLS-2$
-			matchString = currentValue.substring(1, contentAssistRequest.getMatchString().length());
-		else
-			matchString = currentValue.substring(0, contentAssistRequest.getMatchString().length());
-
-		// for now we ignore complicated values such as jsp embedded in an attribute
-		boolean existingComplicatedValue = contentAssistRequest.getRegion() != null && contentAssistRequest.getRegion() instanceof ITextRegionContainer;
-		if (existingComplicatedValue) {
-			contentAssistRequest.getProposals().clear();
-			contentAssistRequest.getMacros().clear();
-		}
-		else {
-			if (attributeName.equals(JSP11Namespace.ATTR_NAME_NAME)) {
-				addBeanNameProposals(contentAssistRequest, node, matchString);
-			}
-			else if (attributeName.equals(JSP11Namespace.ATTR_NAME_PROPERTY)) {
-				addBeanPropertyProposals(contentAssistRequest, node, isGetProperty, matchString);
-			}
-		}
-	}
-
-	private void addBeanPropertyProposals(ContentAssistRequest contentAssistRequest, XMLNode node, boolean isGetProperty, String matchString) {
-		// assumes that the node is the [gs]etProperty tag
-		String useBeanName = ((Element) node).getAttribute(JSP11Namespace.ATTR_NAME_NAME);
-		// properties can only be provided if a class/type/beanName has been declared
-		if (useBeanName != null && useBeanName.length() > 0) {
-			NodeList useBeans = node.getOwnerDocument().getElementsByTagName(JSP11Namespace.ElementName.USEBEAN);
-			if (useBeans != null) {
-				String typeName = null;
-				for (int j = 0; j < useBeans.getLength(); j++) {
-					if (useBeans.item(j).getNodeType() != Node.ELEMENT_NODE)
-						continue;
-					Element useBean = (Element) useBeans.item(j);
-					if (useBean instanceof IndexedRegion && ((IndexedRegion) useBean).getStartOffset() < node.getStartOffset()) {
-						if (useBean.getAttribute(JSP11Namespace.ATTR_NAME_ID).equals(useBeanName)) {
-							typeName = useBean.getAttribute(JSP11Namespace.ATTR_NAME_CLASS);
-							if (typeName == null || typeName.length() < 1) {
-								typeName = useBean.getAttribute(JSP11Namespace.ATTR_NAME_TYPE);
-							}
-							if (typeName == null || typeName.length() < 1) {
-								typeName = useBean.getAttribute(JSP11Namespace.ATTR_NAME_BEAN_NAME);
-							}
-						}
-					}
-				}
-				if (typeName != null && typeName.length() > 0) {
-					// find the class/type/beanName definition and obtain the list of properties
-					BeanInfoProvider provider = new BeanInfoProvider();
-					IJavaPropertyDescriptor[] descriptors = provider.getRuntimeProperties(resource, typeName);
-					CustomCompletionProposal proposal = null;
-					String displayString = ""; //$NON-NLS-1$
-					for (int j = 0; j < descriptors.length; j++) {
-						IJavaPropertyDescriptor pd = descriptors[j];
-						// check whether it's get or set kinda property
-						if (pd.getReadable() && isGetProperty || pd.getWriteable() && !isGetProperty) {
-							// filter attr value name
-							if (matchString.length() == 0 || pd.getName().toLowerCase().startsWith(matchString.toLowerCase())) {
-								displayString = pd.getDisplayName();
-								if (pd.getDeclaredType() != null && pd.getDeclaredType().length() > 0)
-									displayString += " - " + pd.getDeclaredType(); //$NON-NLS-1$
-								proposal = new CustomCompletionProposal("\"" + pd.getName() + "\"", //$NON-NLS-1$ //$NON-NLS-2$
-											contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), pd.getName().length() + 2, SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ATTRIBUTE),
-											displayString, null, pd.getDeclaredType(), XMLRelevanceConstants.R_XML_ATTRIBUTE_VALUE);
-								contentAssistRequest.addProposal(proposal);
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private void addBeanNameProposals(ContentAssistRequest contentAssistRequest, XMLNode node, String matchString) {
-		// will not catch useBeans specified using other than actual DOM Nodes
-		NodeList useBeans = node.getOwnerDocument().getElementsByTagName(JSP11Namespace.ElementName.USEBEAN);
-		if (useBeans != null) {
-			String id = ""; //$NON-NLS-1$
-			String displayString = null;
-			String classOrType = null;
-			String imageName = JSPEditorPluginImages.IMG_OBJ_CLASS_OBJ;
-			for (int j = 0; j < useBeans.getLength(); j++) {
-				if (useBeans.item(j).getNodeType() != Node.ELEMENT_NODE)
-					continue;
-				Element useBean = (Element) useBeans.item(j);
-				if (useBean instanceof IndexedRegion && ((IndexedRegion) useBean).getStartOffset() < node.getStartOffset()) {
-					id = StringUtils.strip(useBean.getAttribute(JSP11Namespace.ATTR_NAME_ID));
-					displayString = null;
-					classOrType = null;
-					imageName = JSPEditorPluginImages.IMG_OBJ_CLASS_OBJ;
-					// set the Image based on whether the class, type, or beanName attribute is present
-					classOrType = useBean.getAttribute(JSP11Namespace.ATTR_NAME_CLASS);
-					if (classOrType == null || classOrType.length() < 1) {
-						classOrType = useBean.getAttribute(JSP11Namespace.ATTR_NAME_TYPE);
-						imageName = JSPEditorPluginImages.IMG_OBJ_PUBLIC;
-					}
-					if (classOrType == null || classOrType.length() < 1) {
-						classOrType = useBean.getAttribute(JSP11Namespace.ATTR_NAME_BEAN_NAME);
-						imageName = JSPEditorPluginImages.IMG_OBJ_PUBLIC;
-					}
-					if (classOrType != null && classOrType.length() > 0)
-						displayString = id + " - " + classOrType; //$NON-NLS-1$
-					else
-						displayString = id;
-
-					// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=2341
-					if(id != null) {
-					    // filter
-						if (matchString.length() == 0 || id.startsWith(matchString)) {
-							CustomCompletionProposal proposal = new CustomCompletionProposal("\"" + id + "\"", //$NON-NLS-1$ //$NON-NLS-2$
-										contentAssistRequest.getReplacementBeginPosition(), 
-                                        contentAssistRequest.getReplacementLength(), 
-                                        id.length() + 2, 
-                                        JSPEditorPluginImageHelper.getInstance().getImage(imageName), 
-                                        displayString, 
-                                        null, 
-                                        null, 
-                                        XMLRelevanceConstants.R_XML_ATTRIBUTE_VALUE);
-							contentAssistRequest.addProposal(proposal);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	public void release() {
-		resource = null;
-		provider = null;
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.IContentAssistProcessor#initialize(org.eclipse.core.resources.IResource)
-	 */
-	public void initialize(IResource iResource) {
-		this.resource = iResource;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPResultCollector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPResultCollector.java
deleted file mode 100644
index d1b2d40..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPResultCollector.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-import java.util.Arrays;
-
-import org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.ResultCollector;
-
-/**
- * 
- * @author pavery
- * @deprecated getting rid of JDT internal. Use JSPCompletionRequestor
- */
-public class JSPResultCollector extends ResultCollector {
-
-	int fJavaToJSPOffset;
-	boolean doFilter = false;
-
-	char[] translatorInternalIgnoreClass = "JspWriter".toCharArray(); //$NON-NLS-1$
-	char[] translatorInternalIgnorePackage = "javax.servlet.jsp".toCharArray(); //$NON-NLS-1$
-	String translatorInternalIgnoreMethodstarter = "print"; //$NON-NLS-1$
-
-	public int getJavaToJSPOffset() {
-		return fJavaToJSPOffset;
-	}
-
-	/**
-	 * @param newJavaToJSPOffset int
-	 */
-	public void setJavaToJSPOffset(int newJavaToJSPOffset) {
-		fJavaToJSPOffset = newJavaToJSPOffset;
-	}
-
-	public JavaCompletionProposal[] getResults() {
-		JavaCompletionProposal[] javaDocumentResults = super.getResults();
-		for (int i = 0; i < javaDocumentResults.length; i++)
-			javaDocumentResults[i].setReplacementOffset(javaDocumentResults[i].getReplacementOffset() + fJavaToJSPOffset);
-		return javaDocumentResults;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.ICompletionRequestor#acceptMethod(char[], char[], char[], char[][], char[][], char[][], char[], char[], char[], int, int, int, int)
-	 */
-	public void acceptMethod(char[] declaringTypePackageName, char[] declaringTypeName, char[] selector, char[][] parameterPackageNames, char[][] parameterTypeNames, char[][] parameterNames, char[] returnTypePackageName, char[] returnTypeName, char[] completionName, int modifiers, int completionStart, int completionEnd, int relevance) {
-		// if this method is the exact package and type name and starts with the same method name, don't suggest it
-		if (!doFilter || !(Arrays.equals(translatorInternalIgnorePackage, declaringTypePackageName) && Arrays.equals(translatorInternalIgnoreClass, declaringTypeName) && selector != null && new String(selector).startsWith(translatorInternalIgnoreMethodstarter))) {
-			//super.acceptMethod(declaringTypePackageName, declaringTypeName, selector, parameterPackageNames, parameterTypeNames, parameterNames, returnTypePackageName, returnTypeName, completionName, modifiers, completionStart, completionEnd, relevance);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPTemplateCompletionProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPTemplateCompletionProcessor.java
deleted file mode 100644
index 9ef3dc0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPTemplateCompletionProcessor.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImageHelper;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImages;
-import org.eclipse.jst.jsp.ui.templates.TemplateContextTypeJSP;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.ui.contentassist.AbstractTemplateCompletionProcessor;
-
-/**
- * Completion processor for JSP Templates
- */
-public class JSPTemplateCompletionProcessor extends AbstractTemplateCompletionProcessor {
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.contentassist.AbstractTemplateCompletionProcessor#getTemplateStore()
-	 */
-	protected TemplateStore getTemplateStore() {
-		return getJSPEditorPlugin().getTemplateStore();
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.contentassist.AbstractTemplateCompletionProcessor#getTemplateContextRegistry()
-	 */
-	protected ContextTypeRegistry getTemplateContextRegistry() {
-		return getJSPEditorPlugin().getTemplateContextRegistry();
-	}
-	
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.contentassist.AbstractTemplateCompletionProcessor#getContextTypeId()
-	 */
-	protected String getContextTypeId() {
-		// turn the context type id into content type specific
-		return TemplateContextTypeJSP.generateContextTypeId(super.getContextTypeId());
-	}
-	
-	/**
-	 * Returns the JSPUIPlugin
-	 * @return JSPUIPlugin
-	 */
-	private JSPUIPlugin getJSPEditorPlugin() {
-		return JSPUIPlugin.getDefault();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getImage(org.eclipse.jface.text.templates.Template)
-	 */
-	protected Image getImage(Template template) {
-		// just return the same image for now
-		return JSPEditorPluginImageHelper.getInstance().getImage(JSPEditorPluginImages.IMG_OBJ_TAG_JSP);
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java
deleted file mode 100644
index 6a9bcf6..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-
-
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.contentassist.ContentAssistRequest;
-
-public class JSPUseBeanContentAssistProcessor extends JSPDummyContentAssistProcessor {
-
-	public JSPUseBeanContentAssistProcessor() {
-		super();
-	}
-
-	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-
-		XMLNode node = (XMLNode) contentAssistRequest.getNode();
-
-		// Find the attribute name for which this position should have a value
-		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
-		ITextRegionList openRegions = open.getRegions();
-		int i = openRegions.indexOf(contentAssistRequest.getRegion());
-		if (i < 0)
-			return;
-		ITextRegion nameRegion = null;
-		while (i >= 0) {
-			nameRegion = openRegions.get(i--);
-			if (nameRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				break;
-		}
-
-		String attributeName = null;
-		if (nameRegion != null)
-			attributeName = open.getText(nameRegion);
-
-		String currentValue = null;
-		if (contentAssistRequest.getRegion().getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-			currentValue = contentAssistRequest.getText();
-		else
-			currentValue = ""; //$NON-NLS-1$
-		String matchString = null;
-		// fixups
-        int start = contentAssistRequest.getReplacementBeginPosition();
-        int length = contentAssistRequest.getReplacementLength();
-		if (currentValue.length() > StringUtils.strip(currentValue).length() 
-                && (currentValue.startsWith("\"") || currentValue.startsWith("'")) //$NON-NLS-1$ //$NON-NLS-2$
-                && contentAssistRequest.getMatchString().length() > 0) {
-			matchString = currentValue.substring(1, contentAssistRequest.getMatchString().length());
-            start++;
-            length = matchString.length();            
-        }
-		else
-			matchString = currentValue.substring(0, contentAssistRequest.getMatchString().length());
-		boolean existingComplicatedValue = contentAssistRequest.getRegion() != null && contentAssistRequest.getRegion() instanceof ITextRegionContainer;
-		if (existingComplicatedValue) {
-			contentAssistRequest.getProposals().clear();
-			contentAssistRequest.getMacros().clear();
-		}
-		else {
-			if (attributeName.equals(JSP11Namespace.ATTR_NAME_CLASS)) {
-				ICompletionProposal[] classProposals = JavaTypeFinder.getClassProposals(fResource, start, length);
-				if (classProposals != null) {
-					for (int j = 0; j < classProposals.length; j++) {
-                        JavaTypeCompletionProposal proposal = (JavaTypeCompletionProposal) classProposals[j];
-						if (matchString.length() == 0 || proposal.getQualifiedName().toLowerCase().startsWith(matchString.toLowerCase()) || proposal.getShortName().toLowerCase().startsWith(matchString.toLowerCase()))
-							contentAssistRequest.addProposal(proposal);
-					}
-				}
-			}
-			else if (attributeName.equals(JSP11Namespace.ATTR_NAME_TYPE)) {
-				ICompletionProposal[] typeProposals = JavaTypeFinder.getTypeProposals(fResource, start, length);
-				if (typeProposals != null) {
-					for (int j = 0; j < typeProposals.length; j++) {
-                        JavaTypeCompletionProposal proposal = (JavaTypeCompletionProposal) typeProposals[j];
-						if (matchString.length() == 0 || proposal.getQualifiedName().toLowerCase().startsWith(matchString.toLowerCase()) || proposal.getShortName().toLowerCase().startsWith(matchString.toLowerCase()))
-							contentAssistRequest.addProposal(proposal);
-					}
-				}
-			}
-			else if (attributeName.equals(JSP11Namespace.ATTR_NAME_BEAN_NAME)) {
-				ICompletionProposal[] beanNameProposals = JavaTypeFinder.getBeanProposals(fResource, start, length);
-				if (beanNameProposals != null) {
-					for (int j = 0; j < beanNameProposals.length; j++) {
-						if (beanNameProposals[j] instanceof CustomCompletionProposal) {
-                            JavaTypeCompletionProposal proposal = (JavaTypeCompletionProposal) beanNameProposals[j];
-							if (matchString.length() == 0 || proposal.getDisplayString().toLowerCase().startsWith(matchString.toLowerCase()))
-								contentAssistRequest.addProposal(proposal);
-						}
-						else if (beanNameProposals[j] instanceof JavaTypeCompletionProposal) {
-                            JavaTypeCompletionProposal proposal = (JavaTypeCompletionProposal) beanNameProposals[j];
-							if (matchString.length() == 0 || proposal.getQualifiedName().toLowerCase().startsWith(matchString.toLowerCase()) || proposal.getShortName().toLowerCase().startsWith(matchString.toLowerCase()))
-								contentAssistRequest.addProposal(proposal);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see com.ibm.sed.structured.contentassist.IContentAssistProcessorExtension#release()
-	 */
-	public void release() {
-		fResource = null;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaParameterListValidator.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaParameterListValidator.java
deleted file mode 100644
index 07f0182..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaParameterListValidator.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationPresenter;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-
-
-/**
- * 
- * @author pavery
- */
-public class JavaParameterListValidator implements IContextInformationValidator, IContextInformationPresenter {
-    
-    private int fPosition;
-    private ITextViewer fViewer;
-    private IContextInformation fInformation;
-    
-    private int fCurrentParameter;
-    
-    
-    
-    public JavaParameterListValidator() {
-    }
-    
-    /**
-     * @see IContextInformationValidator#install(IContextInformation, ITextViewer, int)
-     * @see IContextInformationPresenter#install(IContextInformation, ITextViewer, int)
-     */
-    public void install(IContextInformation info, ITextViewer viewer, int documentPosition) {
-        fPosition= documentPosition;
-        fViewer= viewer;
-        fInformation= info;
-        
-        fCurrentParameter= -1;
-    }
-    
-    private int getCommentEnd(IDocument d, int pos, int end) throws BadLocationException {
-        while (pos < end) {
-            char curr= d.getChar(pos);
-            pos++;
-            if (curr == '*') {
-                if (pos < end && d.getChar(pos) == '/') {
-                    return pos + 1;
-                }
-            }
-        }
-        return end;
-    }
-
-    private int getStringEnd(IDocument d, int pos, int end, char ch) throws BadLocationException {
-        while (pos < end) {
-            char curr= d.getChar(pos);
-            pos++;
-            if (curr == '\\') {
-                // ignore escaped characters
-                pos++;
-            } else if (curr == ch) {
-                return pos;
-            }
-        }
-        return end;
-    }
-    
-    private int getCharCount(IDocument document, int start, int end, char increment, char decrement, boolean considerNesting) throws BadLocationException {
-        
-        Assert.isTrue((increment != 0 || decrement != 0) && increment != decrement);
-        
-        int nestingLevel= 0;
-        int charCount= 0;
-        while (start < end) {
-            char curr= document.getChar(start++);
-            switch (curr) {
-                case '/':
-                    if (start < end) {
-                        char next= document.getChar(start);
-                        if (next == '*') {
-                            // a comment starts, advance to the comment end
-                            start= getCommentEnd(document, start + 1, end);
-                        } else if (next == '/') {
-                            // '//'-comment: nothing to do anymore on this line 
-                            start= end;
-                        }
-                    }
-                    break;
-                case '*':
-                    if (start < end) {
-                        char next= document.getChar(start);
-                        if (next == '/') {
-                            // we have been in a comment: forget what we read before
-                            charCount= 0;
-                            ++ start;
-                        }
-                    }
-                    break;
-                case '"':
-                case '\'':
-                    start= getStringEnd(document, start, end, curr);
-                    break;
-                default:
-                    
-                    if (considerNesting) {
-                        
-                        if ('(' == curr)
-                            ++ nestingLevel;
-                        else if (')' == curr)
-                            -- nestingLevel;
-                            
-                        if (nestingLevel != 0)
-                            break;
-                    }
-                    
-                    if (increment != 0) {
-                        if (curr == increment)
-                            ++ charCount;
-                    }
-                    
-                    if (decrement != 0) {
-                        if (curr == decrement)
-                            -- charCount;
-                    }
-            }
-        }
-        
-        return charCount;
-    }
-    
-    /**
-     * @see IContextInformationValidator#isContextInformationValid(int)
-     */
-    public boolean isContextInformationValid(int position) {        
-        
-        try {
-            if (position < fPosition)
-                return false;
-                
-            IDocument document= fViewer.getDocument();
-            IRegion line= document.getLineInformationOfOffset(fPosition);
-            
-            if (position < line.getOffset() || position >= document.getLength())
-                return false;
-                
-            return (getCharCount(document, fPosition, position, '(', ')', false) >= 0);
-            
-        } catch (BadLocationException x) {
-            return false;
-        }
-    }
-    
-    /**
-     * @see IContextInformationPresenter#updatePresentation(int, TextPresentation)
-     */
-    public boolean updatePresentation(int position, TextPresentation presentation) {
-        
-        int currentParameter= -1;
-        
-        try {
-            currentParameter= getCharCount(fViewer.getDocument(), fPosition, position, ',', (char) 0, true);
-        } catch (BadLocationException x) {
-            return false;
-        }
-        
-        if (fCurrentParameter != -1) {
-            if (currentParameter == fCurrentParameter)
-                return false;
-        }
-        
-        presentation.clear();
-        fCurrentParameter= currentParameter;
-        
-        String s= fInformation.getInformationDisplayString();
-        int start= 0;
-        int occurrences= 0;
-        while (occurrences < fCurrentParameter) {
-            int found= s.indexOf(',', start);
-            if (found == -1)
-                break;
-            start= found + 1;
-            ++ occurrences;
-        }
-        
-        if (occurrences < fCurrentParameter) {
-            presentation.addStyleRange(new StyleRange(0, s.length(), null, null, SWT.NORMAL));
-            return true;
-        }
-        
-        if (start == -1)
-            start= 0;
-        
-        int end= s.indexOf(',', start);
-        if (end == -1)
-            end= s.length();
-            
-        if (start > 0)  
-            presentation.addStyleRange(new StyleRange(0, start, null, null, SWT.NORMAL));
-        
-        if (end > start)
-            presentation.addStyleRange(new StyleRange(start, end - start, null, null, SWT.BOLD));
-        
-        if (end < s.length())
-            presentation.addStyleRange(new StyleRange(end, s.length() - end, null, null, SWT.NORMAL));
-            
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeCompletionProposal.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeCompletionProposal.java
deleted file mode 100644
index 7d5db17..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeCompletionProposal.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.JSP12Namespace;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.contentassist.IRelevanceCompletionProposal;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-/**
- * An implementation of ICompletionProposal whose values can be
- * read after creation.
- */
-public class JavaTypeCompletionProposal extends CustomCompletionProposal implements IRelevanceCompletionProposal {
-
-	private int fCursorPosition = 0;
-	private String fLocalDisplayString;
-	private String fShortName;
-	private String fQualifiedName;
-	private String fContainerName;
-
-	public JavaTypeCompletionProposal(String replacementString, int replacementOffset, int replacementLength, String qualifiedName, Image image, String typeName, String containerName,  int relevence,  boolean updateReplacementLengthOnValidate) {
-		super(replacementString, replacementOffset, replacementLength, qualifiedName.length() + 2, image, 
-                (containerName != null && containerName.length() > 0) ? typeName + " - " + containerName : typeName, null, null, relevence, true); //$NON-NLS-1$
-		// CMVC 243817, superclass was comparing incorrect display string in validate method...
-		//super(replacementString, replacementOffset, replacementLength, image, (containerName != null && containerName.length() > 0)? typeName + " - " + containerName:typeName/*qualifiedName*/, relevence);
-		fShortName = typeName;
-		fQualifiedName = qualifiedName;
-		fContainerName = containerName;
-		fCursorPosition = fQualifiedName.length() + 2;
-		//fProposalInfo = proposalInfo;
-		if (containerName != null && containerName.length() > 0)
-			fLocalDisplayString = typeName + " - " + containerName; //$NON-NLS-1$
-		else
-			fLocalDisplayString = typeName;
-	}
-
-	public String getDisplayString() {
-		return fLocalDisplayString;
-	}
-
-	public int getCursorPosition() {
-		return fCursorPosition;
-	}
-
-	public void setCursorPosition(int cursorPosition) {
-		super.setCursorPosition(cursorPosition);
-		fCursorPosition = cursorPosition;
-	}
-
-	public String getQualifiedName() {
-		return fQualifiedName;
-	}
-
-	public String getAdditionalProposalInfo() {
-		//		String info = super.getAdditionalProposalInfo();
-		//		if (info == null || info.length() == 0 && fProposalInfo != null)
-		//			return fProposalInfo.getInfo();
-		//		return info;
-		return null; // unexplained NPE
-	}
-
-	public String getShortName() {
-		return fShortName;
-	}
-
-	protected String getImport(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		String importSpec = null;
-		boolean isImport = false;
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion region = regions.get(i);
-			if (region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				if (flatNode.getText(region).equals(JSP11Namespace.ATTR_NAME_IMPORT)) {
-					isImport = true;
-				}
-				else {
-					isImport = false;
-				}
-			}
-			else if (isImport && region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				importSpec = flatNode.getText(region);
-			}
-		}
-		return importSpec;
-	}
-
-	/**
-	 * Add an import page directive for the current type name
-	 */
-	protected int applyImport(IStructuredDocument model) {
-		// if the type is in the default package or java.lang, skip it
-		if (fContainerName == null || fContainerName.length() == 0 || fContainerName.equals("java.lang")) //$NON-NLS-1$
-			return 0;
-		// collect page directives and store their import values
-		List imports = new ArrayList();
-		IStructuredDocumentRegion node = model.getFirstStructuredDocumentRegion();
-
-		// use the last position of a page directive as a hint as to where to add
-		// a new one
-		int hint = 0;
-		// watch for jsp:root so that we use the right XML/JSP format for the directive
-		boolean useXML = false;
-
-		while (node != null) {
-			// Can't just look for all StructuredDocumentRegions starting with JSP_DIRECTIVE_OPEN
-			// since the XML form is required, too
-			ITextRegionList regions = node.getRegions();
-			if (regions.size() > 1) {
-				ITextRegion name = regions.get(1);
-				// verify that this is a JSP directive
-				if (name.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-					// verify that this is a *page* directive
-					if (node.getText(name).equals(JSP11Namespace.ATTR_NAME_PAGE) || node.getText(name).equals(JSP12Namespace.ElementName.DIRECTIVE_PAGE)) {
-						if (node.getEndOffset() < getReplacementOffset())
-							hint = node.getEndOffset();
-						String importSpec = getImport(node);
-						if (importSpec != null) {
-							imports.add(importSpec);
-						}
-					}
-				}
-				else {
-					// if this is a jsp:root tag, use the XML form
-					useXML = useXML || name.getType() == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME;
-				}
-			}
-			node = node.getNext();
-		}
-
-		// evaluate requirements for a "new" import directive
-		boolean needsImport = !importHandles(fQualifiedName, imports);
-		int adjustmentLength = 0;
-		// insert "new" import directive
-		if (needsImport) {
-			String directive = null;
-
-			// vary the XML behavior
-			if (useXML) {
-				directive = "<jsp:directive.page import=\"" + fQualifiedName + "\"/>"; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			else {
-				directive = "<%@ page import=\"" + fQualifiedName + "\" %>"; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			try {
-				IRegion line = model.getLineInformationOfOffset(hint);
-				boolean prependNewLine = line.getOffset() + line.getLength() == hint;
-				boolean appendNewLine = hint == 0;
-				if (prependNewLine)
-					directive = model.getLineDelimiter() + directive;
-				if (appendNewLine)
-					directive = directive + model.getLineDelimiter();
-				adjustmentLength = directive.length();
-			}
-			catch (BadLocationException e) {
-			}
-
-			try {
-				model.replace(hint, 0, directive);
-
-			}
-			catch (BadLocationException e) {
-				// Not that we should ever get a BLE, but if so, our
-				// replacement offset from the Content Assist call should
-				// work
-				try {
-					model.replace(getReplacementOffset(), 0, directive);
-					adjustmentLength = directive.length();
-				}
-				catch (BadLocationException e2) {
-					// now what?
-				}
-			}
-		}
-		return adjustmentLength;
-	}
-
-	/**
-	 * See if the import specification is a wildcard import, and if so, that
-	 * it applies to the given type.
-	 */
-	protected boolean isWildcardMatch(String importSpec, String type) {
-		int specLength = importSpec.length();
-		if (importSpec.endsWith("*") && specLength > 2 && type.length() >= specLength) { //$NON-NLS-1$
-			// pull out the package name including the final '.'
-			String container = importSpec.substring(0, specLength - 1);
-			// verify that the type is in the container's hierarchy and that
-			// there are no other package separators afterwards
-			if (type.startsWith(container) && type.indexOf('.', specLength - 1) < 0) {
-				// container matches
-				return true;
-			}
-		}
-		return false;
-	}
-
-	protected boolean importHandles(String type, List listOfImports) {
-		Iterator imports = listOfImports.iterator();
-		while (imports.hasNext()) {
-			String importSpec = StringUtils.strip(imports.next().toString());
-			if (importSpec.equals(type) || isWildcardMatch(importSpec, type))
-				return true;
-		}
-		return false;
-	}
-
-	public void apply(IDocument document, char trigger, int offset) {
-		// If we have a parsed IStructuredDocument, insert the short name instead of the
-		// fully qualified name and a import page directive if
-		// needed.  Do the import first so the cursor goes to the right location
-		// and we don't surprise the user.
-
-		boolean addShortForm = false; //document instanceof IStructuredDocument && fContainerName != null && fContainerName.length() > 0;
-		if (addShortForm) {
-			setReplacementString('"' + fShortName + '"');
-			int importLength = applyImport((IStructuredDocument) document);
-			setReplacementOffset(getReplacementOffset() + importLength);
-		}
-
-		setCursorPosition(getReplacementString().length());
-		super.apply(document, trigger, offset);
-
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension1#apply(org.eclipse.jface.text.ITextViewer, char, int, int)
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		// CMVC 243815
-		// (pa) this is overridden to get around replacement length modification
-		// which is done in the super (since eclipse 2.1)
-		apply(viewer.getDocument(), trigger, offset);
-	}
-
-	/**
-	 * borrowed from JavaCompletionProposal
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument, int, org.eclipse.jface.text.DocumentEvent)
-	 */
-//	public boolean validate(IDocument document, int offset, DocumentEvent event) {
-//		if (offset < getReplacementOffset())
-//			return false;
-//		boolean validated = startsWith(document, offset, getDisplayString());
-//		return validated;
-//	}
-
-	// code is borrowed from JavaCompletionProposal
-	protected boolean startsWith(IDocument document, int offset, String word) {
-		int wordLength = word == null ? 0 : word.length();
-		if (offset > getReplacementOffset() + wordLength)
-			return false;
-
-		try {
-			int length = offset - getReplacementOffset();
-			// CMVC 243817
-			// slightly modified to be a little more flexible for attribute value string matching..
-			String start = StringUtils.stripQuotes(document.get(getReplacementOffset(), length));
-			return word.toLowerCase().startsWith(start.toLowerCase()) || fQualifiedName.toLowerCase().startsWith(start.toLowerCase());
-			//return word.substring(0, length).equalsIgnoreCase(start);
-		}
-		catch (BadLocationException x) {
-		}
-
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal#validate(org.eclipse.jface.text.IDocument, int, org.eclipse.jface.text.DocumentEvent)
-	 //	 */
-	//	public boolean validate(IDocument document, int offset, org.eclipse.jface.text.DocumentEvent event) {
-	//		return super.validate(document, offset, event);
-	//	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal#selected(org.eclipse.jface.text.ITextViewer, boolean)
-	 */
-	public void selected(ITextViewer viewer, boolean smartToggle) {
-		// (pa) we currently don't use smart toggle...
-		super.selected(viewer, false);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeFinder.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeFinder.java
deleted file mode 100644
index 73b2574..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeFinder.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.ITypeNameRequestor;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceConstants;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-/**
- *
- */
-public class JavaTypeFinder {
-	// COPIED TO REMOVE INTERNAL DEPENDENCY FOR NOW...
-	// org.eclipse.jdt.internal.codeassist.R_DEFAULT
-	static int R_DEFAULT = 0;
-
-	protected static class JavaTypeNameRequestor implements ITypeNameRequestor {
-
-		private JavaTypeResultCollector collector = null;
-		private StringBuffer s = null;
-		private boolean allowInterfaces = true;
-
-		public JavaTypeNameRequestor(boolean allowInterfaces) {
-			super();
-			this.allowInterfaces = allowInterfaces;
-			collector = new JavaTypeResultCollector(allowInterfaces);
-			s = new StringBuffer();
-		}
-
-		private char[] getCompletionName(char[] packageName, char[][] enclosingTypeNames, char[] simpleTypeName) {
-			s.delete(0, s.length());
-			if (packageName != null && packageName.length > 0) {
-				s.append(packageName);
-				s.append('.');
-			}
-			if (enclosingTypeNames != null) {
-				for (int i = 0; i < enclosingTypeNames.length; i++) {
-					if (enclosingTypeNames[i].length > 0) {
-						s.append(enclosingTypeNames[i]);
-						s.append('.');
-					}
-				}
-			}
-			s.append(simpleTypeName);
-			return s.toString().toCharArray();
-		}
-
-		public void acceptClass(char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path) {
-			// forbid inner classes as they don't work [yet]
-			if (enclosingTypeNames == null || enclosingTypeNames.length == 0)
-				collector.acceptClass(packageName, simpleTypeName, getCompletionName(packageName, enclosingTypeNames, simpleTypeName), Flags.AccPublic, 0, 0, R_DEFAULT);
-		}
-
-		public void acceptInterface(char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path) {
-			// forbid inner classes as they don't work [yet]
-			if (this.allowInterfaces && (enclosingTypeNames == null || enclosingTypeNames.length == 0))
-				collector.acceptInterface(packageName, simpleTypeName, getCompletionName(packageName, enclosingTypeNames, simpleTypeName), Flags.AccPublic, 0, 0, R_DEFAULT);
-		}
-
-		public JavaTypeResultCollector getCollector() {
-			return collector;
-		}
-	}
-
-	public static ICompletionProposal[] getBeanProposals(IResource resource, int replacementStart, int replacementLength) {
-		ICompletionProposal[] typeProposals = getTypeProposals(resource, replacementStart, replacementLength);
-		ICompletionProposal[] serialProposals = getSerializedProposals(resource, replacementStart, replacementLength);
-		ICompletionProposal[] beanProposals = new ICompletionProposal[typeProposals.length + serialProposals.length];
-
-		int i;
-		for (i = 0; i < serialProposals.length; i++) {
-			beanProposals[i] = serialProposals[i];
-		}
-		for (i = serialProposals.length; i < serialProposals.length + typeProposals.length; i++) {
-			beanProposals[i] = typeProposals[i - serialProposals.length];
-		}
-		return beanProposals;
-	}
-
-	private static void getMembers(IContainer container, List membersList) {
-		try {
-			IResource[] members = container.members(true);
-			if (members != null) {
-				for (int i = 0; i < members.length; i++) {
-					if (members[i].getType() == IResource.FILE)
-						membersList.add(members[i]);
-					else if (members[i].getType() == IResource.FOLDER)
-						getMembers((IContainer) members[i], membersList);
-				}
-			}
-		}
-		catch (CoreException e) {
-			// do nothing
-		}
-	}
-
-	protected static ICompletionProposal[] getSerializedProposals(IResource resource, int replacementStart, int replacementLength) {
-		List names = new ArrayList();
-		List resources = new ArrayList();
-		getMembers(resource.getProject(), resources);
-		IResource memberResource = null;
-		for (int i = 0; i < resources.size(); i++) {
-			memberResource = (IResource) resources.get(i);
-			if (memberResource.getType() == IResource.FILE && memberResource.getName().endsWith(".ser")) { //$NON-NLS-1$
-				String path = URIHelper.normalize(memberResource.getFullPath().toString(), resource.getFullPath().toString(), resource.getProject().getFullPath().toString());
-				if (path != null) {
-					names.add(new CustomCompletionProposal("\"" + path + "\"", //$NON-NLS-1$ //$NON-NLS-2$
-								replacementStart, replacementLength, path.length() + 2, null, path, null, null, IRelevanceConstants.R_NONE));
-				}
-			}
-		}
-		return (ICompletionProposal[]) names.toArray(new ICompletionProposal[names.size()]);
-	}
-
-	protected static ICompletionProposal[] findTypeProposals(IResource resource, int replacementStart, int replacementLength, boolean allowInterfaces) {
-
-		JavaTypeNameRequestor requestor = new JavaTypeNameRequestor(allowInterfaces);
-		requestor.getCollector().setReplacementStart(replacementStart);
-		requestor.getCollector().setReplacementLength(replacementLength);
-
-		try {
-			IJavaElement[] elements = new IJavaElement[]{getJavaProject(resource)};
-			IJavaSearchScope scope = SearchEngine.createJavaSearchScope(elements);
-			new SearchEngine().searchAllTypeNames(ResourcesPlugin.getWorkspace(), null, null, IJavaSearchConstants.PATTERN_MATCH, IJavaSearchConstants.CASE_INSENSITIVE, IJavaSearchConstants.TYPE, scope, requestor, IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null);
-		}
-		catch (CoreException exc) {
-			Logger.logException(exc);
-		}
-		catch (Exception exc) { // JavaModel
-			Logger.logException(exc);
-		}
-		return requestor.getCollector().getResults();
-	}
-
-	public static ICompletionProposal[] getClassProposals(IResource resource, int replacementStart, int replacementLength) {
-		return findTypeProposals(resource, replacementStart, replacementLength, false);
-	}
-
-	public static ICompletionProposal[] getTypeProposals(IResource resource, int replacementStart, int replacementLength) {
-		return findTypeProposals(resource, replacementStart, replacementLength, true);
-	}
-
-	public static IJavaProject getJavaProject(IResource resource) {
-		IProject proj = resource.getProject();
-		IJavaProject javaProject = JavaCore.create(proj);
-		return javaProject;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeResultCollector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeResultCollector.java
deleted file mode 100644
index 3e1bb99..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JavaTypeResultCollector.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsp.ui.internal.editor.JSPEditorPluginImageHelper;
-import org.eclipse.swt.graphics.Image;
-
-
-
-public class JavaTypeResultCollector extends JSPCompletionRequestor {
-
-	protected final boolean fShowClasses = true;
-	protected boolean fShowInterfaces = true;
-
-	protected int fReplacementStart = 0;
-	protected int fReplacementLength = 0;
-
-//	protected ImageDescriptorRegistry fRegistry = JavaPlugin.getImageDescriptorRegistry();
-
-	public JavaTypeResultCollector() {
-		super();
-	}
-
-	public JavaTypeResultCollector(boolean showInterfaces) {
-		super();
-		fShowInterfaces = showInterfaces;
-	}
-
-	protected boolean getShowClasses() {
-		return fShowClasses;
-	}
-
-	protected void setShowClasses(boolean showClasses) {
-	}
-
-	protected boolean getShowInterfaces() {
-		return fShowInterfaces;
-	}
-
-	protected void setShowInterfaces(boolean showInterfaces) {
-		fShowInterfaces = showInterfaces;
-	}
-
-	public int getReplacementLength() {
-		return fReplacementLength;
-	}
-
-	public void setReplacementLength(int replacementLength) {
-		fReplacementLength = replacementLength;
-	}
-
-	public int getReplacementStart() {
-		return fReplacementStart;
-	}
-
-	public void setReplacementStart(int replacementStart) {
-		fReplacementStart = replacementStart;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.ICompletionRequestor#acceptClass(char[],
-	 *      char[], char[], int, int, int, int)
-	 */
-	public void acceptClass(char[] packageName, char[] className, char[] completionName, int modifiers, int completionStart, int completionEnd, int relevance) {
-		if (fShowClasses) {
-            completionStart = getReplacementStart();
-            completionEnd = completionStart + getReplacementLength();
-			super.acceptClass(packageName, className, completionName, modifiers, completionStart, completionEnd, relevance);
-        }
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.ICompletionRequestor#acceptInterface(char[], char[], char[], int,
-	 *      int, int, int)
-	 */
-	public void acceptInterface(char[] packageName, char[] interfaceName, char[] completionName, int modifiers, int completionStart, int completionEnd, int relevance) {
-		if (fShowInterfaces) {
-            completionStart = getReplacementStart();
-            completionEnd = completionStart + getReplacementLength();
-			super.acceptInterface(packageName, interfaceName, completionName, modifiers, completionStart, completionEnd, relevance);
-        }
-	}
-
-	protected JavaTypeCompletionProposal createTypeCompletion(int start, int end, String completion, ImageDescriptor descriptor, String typeName, String containerName, int relevance) {
-		String qualifiedName = null;
-		if (containerName != null && containerName.length() > 0)
-			qualifiedName = containerName + "." + typeName; //$NON-NLS-1$
-		else
-			qualifiedName = typeName;
-		Image image = null;
-		if (descriptor != null)
-			image = JSPEditorPluginImageHelper.getInstance().getImage(descriptor);
-		return new JavaTypeCompletionProposal("\"" + qualifiedName + "\"", fReplacementStart, fReplacementLength, qualifiedName, image, typeName, containerName, relevance, true); //$NON-NLS-1$ //$NON-NLS-2$
-		//	return super.createTypeCompletion(start, end, completion,
-		// descriptor, typeName, containerName, proposalInfo, relevance);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/NoRegionContentAssistProcessorForJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/NoRegionContentAssistProcessorForJSP.java
deleted file mode 100644
index e43b47f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/NoRegionContentAssistProcessorForJSP.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.contentassist;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.wst.html.core.internal.text.rules.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.html.ui.internal.contentassist.NoRegionContentAssistProcessorForHTML;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-
-/**
- * 
- * @author pavery
- */
-public class NoRegionContentAssistProcessorForJSP extends NoRegionContentAssistProcessorForHTML {
-
-	private String[] fJSPContexts = null;
-
-	public NoRegionContentAssistProcessorForJSP() {
-		super();
-		initJSPContexts();
-	}
-
-	/* 
-	 * @see org.eclipse.wst.html.ui.internal.contentassist.NoRegionContentAssistProcessorForHTML#initPartitionToProcessorMap()
-	 */
-	protected void initPartitionToProcessorMap() {
-		super.initPartitionToProcessorMap();
-		IContentAssistProcessor jspContentAssistProcessor = new JSPContentAssistProcessor();
-		// JSP
-		fPartitionToProcessorMap.put(StructuredTextPartitioner.ST_DEFAULT_PARTITION, jspContentAssistProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForXML.ST_DEFAULT_XML, jspContentAssistProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML, jspContentAssistProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForHTML.ST_HTML_COMMENT, jspContentAssistProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForJSP.ST_DEFAULT_JSP, jspContentAssistProcessor);
-		// JSP directives
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForJSP.ST_JSP_DIRECTIVE, jspContentAssistProcessor);
-		// JSP delimiters
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_DELIMITER, jspContentAssistProcessor);
-		// JSP JavaScript
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVASCRIPT, jspContentAssistProcessor);
-
-		IContentAssistProcessor jspJavaContentAssistProcessor = new JSPJavaContentAssistProcessor();
-		// JSP Java
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA, jspJavaContentAssistProcessor);
-	}
-
-	/* 
-	 * @see com.ibm.sse.editor.xml.contentassist.NoRegionContentAssistProcessor#initNameToProcessorMap()
-	 */
-	protected void initNameToProcessorMap() {
-		super.initNameToProcessorMap();
-		JSPPropertyContentAssistProcessor jspPropertyCAP = new JSPPropertyContentAssistProcessor();
-		fNameToProcessorMap.put(JSP11Namespace.ElementName.SETPROPERTY, jspPropertyCAP);
-		fNameToProcessorMap.put(JSP11Namespace.ElementName.GETPROPERTY, jspPropertyCAP);
-		fNameToProcessorMap.put(JSP11Namespace.ElementName.USEBEAN, new JSPUseBeanContentAssistProcessor());
-	}
-
-	private void initJSPContexts() {
-		fJSPContexts = new String[]{XMLJSPRegionContexts.JSP_CLOSE, XMLJSPRegionContexts.JSP_CONTENT, XMLJSPRegionContexts.JSP_DECLARATION_OPEN, XMLJSPRegionContexts.JSP_EXPRESSION_OPEN, XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN};
-	}
-
-	/**
-	 * Quick check to see if context (String) should map to JSPContentAssistProcessor.
-	 * @param context
-	 * @return if it's a JSP Region (for which we need JSP Content assist)
-	 */
-	private boolean isJSPRegion(IStructuredDocumentRegion sdRegion) {
-		String context = sdRegion.getType();
-		for (int i = 0; i < fJSPContexts.length; i++) {
-			if (context == fJSPContexts[i])
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * @see com.ibm.sse.editor.xml.contentassist.NoRegionContentAssistProcessor#guessContentAssistProcessor(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	protected IContentAssistProcessor guessContentAssistProcessor(ITextViewer viewer, int documentOffset) {
-		IContentAssistProcessor p = super.guessContentAssistProcessor(viewer, documentOffset);
-		if (p == null) {
-			IStructuredDocumentRegion sdRegion = ((IStructuredDocument) viewer.getDocument()).getRegionAtCharacterOffset(documentOffset);
-			if (isJSPRegion(sdRegion))
-				p = (IContentAssistProcessor) fPartitionToProcessorMap.get(StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA);
-		}
-		return p;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/ASTRewriteCorrectionProposalJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/ASTRewriteCorrectionProposalJSP.java
deleted file mode 100644
index c35b662..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/ASTRewriteCorrectionProposalJSP.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.correction;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
-import org.eclipse.jdt.internal.ui.text.correction.ASTRewriteCorrectionProposal;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationUtil;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.DocumentChange;
-import org.eclipse.ltk.core.refactoring.TextChange;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.TextEdit;
-
-public class ASTRewriteCorrectionProposalJSP extends ASTRewriteCorrectionProposal {
-
-	public ASTRewriteCorrectionProposalJSP(String name, ICompilationUnit cu, ASTRewrite rewrite, int relevance, Image image) {
-		super(name, cu, rewrite, relevance, image);
-	}
-
-	public void apply(IDocument document) {
-		Change change = getChange();
-		if (change instanceof DocumentChange) {
-			try {
-				getPreviewContent();
-				JSPTranslationUtil translationUtil = new JSPTranslationUtil(document);
-				TextEdit textEdit = ((TextChange) change).getEdit();
-				TextEdit translatedTextEdit = translationUtil.translateTextEdit(textEdit);
-				if (translatedTextEdit != null)
-					translatedTextEdit.apply(document);
-			}
-			catch (MalformedTreeException e) {
-				Logger.logException(e);
-			}
-			catch (BadLocationException e) {
-				Logger.logException(e);
-			}
-			catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-		else
-			super.apply(document);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/CorrectionProcessorJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/CorrectionProcessorJSP.java
deleted file mode 100644
index 0e3b6b9..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/CorrectionProcessorJSP.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.correction;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation;
-import org.eclipse.jdt.internal.ui.text.correction.AssistContext;
-import org.eclipse.jdt.internal.ui.text.correction.ProblemLocation;
-import org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.ui.text.java.IProblemLocation;
-import org.eclipse.jdt.ui.text.java.IQuickAssistProcessor;
-import org.eclipse.jdt.ui.text.java.IQuickFixProcessor;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.correction.StructuredCorrectionProcessor;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-public class CorrectionProcessorJSP extends StructuredCorrectionProcessor {
-	protected IQuickFixProcessor fQuickFixProcessor;
-	protected IQuickAssistProcessor fQuickAssistProcessor;
-
-	public CorrectionProcessorJSP(ITextEditor editor) {
-		super(editor);
-	}
-
-	protected IQuickFixProcessor getQuickFixProcessorJSP() {
-		if (fQuickFixProcessor == null)
-			fQuickFixProcessor = new QuickFixProcessor();
-
-		return fQuickFixProcessor;
-	}
-
-	protected IQuickAssistProcessor getQuickAssistProcessorJSP() {
-		if (fQuickAssistProcessor == null)
-			fQuickAssistProcessor = new QuickAssistProcessorJSP();
-
-		return fQuickAssistProcessor;
-	}
-
-	protected void addQuickFixProposals(StructuredTextViewer viewer, ArrayList proposals, int documentOffset) {
-		ArrayList problems = new ArrayList();
-		Iterator iter = fAnnotationModel.getAnnotationIterator();
-		while (iter.hasNext()) {
-			Annotation annotation = (Annotation) iter.next();
-			Position pos = fAnnotationModel.getPosition(annotation);
-			if (documentOffset >= pos.offset && documentOffset <= pos.offset + pos.length) {
-				IQuickFixProcessor processor = getQuickFixProcessorJSP();
-
-				XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(viewer.getDocument());
-				XMLDocument xmlDoc = xmlModel.getDocument();
-				xmlModel.releaseFromRead();
-				JSPTranslationAdapter translationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				if (translationAdapter != null) {
-					JSPTranslation translation = translationAdapter.getJSPTranslation();
-
-					ICompilationUnit cu = translation.getCompilationUnit();
-					int problemID = -1;
-					if (annotation instanceof TemporaryAnnotation) {
-						problemID = ((TemporaryAnnotation) annotation).getProblemID();
-						if (problemID != -1) {
-							IJavaAnnotation javaAnnotation = new ProblemAnnotation((IProblem) ((TemporaryAnnotation) annotation).getAdditionalFixInfo(), cu);
-							problems.add(new ProblemLocation(translation.getJavaOffset(pos.offset), pos.getLength(), javaAnnotation));
-						}
-					}
-
-					int length = viewer != null ? viewer.getSelectedRange().y : 0;
-					AssistContext context = new AssistContext(cu, translation.getJavaOffset(documentOffset), length);
-
-					if (processor != null && processor.hasCorrections(cu, problemID)) {
-						try {
-							IProblemLocation[] problemLocations = (IProblemLocation[]) problems.toArray(new IProblemLocation[problems.size()]);
-							IJavaCompletionProposal[] res = ((QuickFixProcessor) processor).getCorrections(context, problemLocations);
-							if (res != null) {
-								for (int k = 0; k < res.length; k++) {
-									//proposals.add(res[k]);
-								}
-							}
-						}
-						catch (CoreException e) {
-							throw new SourceEditingRuntimeException();
-						}
-					}
-				}
-			}
-		}
-	}
-
-	protected void addQuickAssistProposals(StructuredTextViewer viewer, ArrayList proposals, int documentOffset) {
-		try {
-			IQuickAssistProcessor processor = getQuickAssistProcessorJSP();
-
-			XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(viewer.getDocument());
-			XMLDocument xmlDoc = xmlModel.getDocument();
-			xmlModel.releaseFromRead();
-			JSPTranslationAdapter translationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-			if (translationAdapter != null) {
-				JSPTranslation translation = translationAdapter.getJSPTranslation();
-				ICompilationUnit cu = translation.getCompilationUnit();
-
-				if (cu != null) {
-					synchronized(cu) {
-						if (processor instanceof QuickAssistProcessorJSP)
-							((QuickAssistProcessorJSP) processor).setJSPDocument(viewer.getDocument());
-	
-						int length = viewer != null ? viewer.getSelectedRange().y : 0;
-						AssistContext context = new AssistContext(cu, translation.getJavaOffset(documentOffset), length);
-	
-						if (processor != null) {
-							ICompletionProposal[] res = processor.getAssists(context, null);
-							if (res != null) {
-								for (int k = 0; k < res.length; k++) {
-									proposals.add(res[k]);
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		catch (Exception e) {
-			throw new SourceEditingRuntimeException();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/LocalRenameQuickAssistProposalJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/LocalRenameQuickAssistProposalJSP.java
deleted file mode 100644
index 6c1894d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/LocalRenameQuickAssistProposalJSP.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.correction;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.SimpleName;
-import org.eclipse.jdt.internal.corext.dom.LinkedNodeFinder;
-import org.eclipse.jdt.internal.corext.dom.NodeFinder;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.text.correction.CorrectionMessages;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposalExtension2;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.link.LinkedModeModel;
-import org.eclipse.jface.text.link.LinkedModeUI;
-import org.eclipse.jface.text.link.LinkedPosition;
-import org.eclipse.jface.text.link.LinkedPositionGroup;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationUtil;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.texteditor.link.EditorLinkedModeUI;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-
-/**
- * This is a copy of
- * org.eclipse.jdt.internal.ui.text.correction.LinkedNamesAssistProposal with
- * the following modifications:
- * - set viewer redraw to true before apply to work around a repaint problem
- * - translate AST element offsets to JSP document offsets
- */
-public class LocalRenameQuickAssistProposalJSP implements IJavaCompletionProposal, ICompletionProposalExtension2 {
-	private SimpleName fNode;
-	private IRegion fSelectedRegion; // initialized by apply()
-	private ICompilationUnit fCompilationUnit;
-
-	public LocalRenameQuickAssistProposalJSP(ICompilationUnit cu, SimpleName node) {
-		fNode = node;
-		fCompilationUnit = cu;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#apply(org.eclipse.jface.text.ITextViewer,
-	 *      char, int, int)
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, final int offset) {
-		try {
-			// get full ast
-			CompilationUnit root = JavaPlugin.getDefault().getASTProvider().getAST(fCompilationUnit, true, null);
-
-			ASTNode nameNode = NodeFinder.perform(root, fNode.getStartPosition(), fNode.getLength());
-			final int pos = fNode.getStartPosition();
-
-			ASTNode[] sameNodes;
-			if (nameNode instanceof SimpleName) {
-				sameNodes = LinkedNodeFinder.findByNode(root, (SimpleName) nameNode);
-			}
-			else {
-				sameNodes = new ASTNode[]{nameNode};
-			}
-
-			// sort for iteration order, starting with the node @ offset
-			Arrays.sort(sameNodes, new Comparator() {
-
-				public int compare(Object o1, Object o2) {
-					return rank((ASTNode) o1) - rank((ASTNode) o2);
-				}
-
-				/**
-				 * Returns the absolute rank of an <code>ASTNode</code>.
-				 * Nodes preceding <code>offset</code> are ranked last.
-				 * 
-				 * @param node
-				 *            the node to compute the rank for
-				 * @return the rank of the node with respect to the invocation
-				 *         offset
-				 */
-				private int rank(ASTNode node) {
-					int relativeRank = node.getStartPosition() + node.getLength() - pos;
-					if (relativeRank < 0)
-						return Integer.MAX_VALUE + relativeRank;
-					else
-						return relativeRank;
-				}
-
-			});
-
-			// TODO CompletionProposalPopup#insertProposal() calls
-			// IRewriteTarget.beginCompoundChange()
-			//      which disables redraw in ITextViewer. Workaround for now.
-			((StructuredTextViewer) viewer).setRedraw(true);
-
-			IDocument document = viewer.getDocument();
-			LinkedPositionGroup group = new LinkedPositionGroup();
-			JSPTranslationUtil translationUtil = new JSPTranslationUtil(document);
-			for (int i = 0; i < sameNodes.length; i++) {
-				ASTNode elem = sameNodes[i];
-				group.addPosition(new LinkedPosition(document, translationUtil.getTranslation().getJspOffset(elem.getStartPosition()), elem.getLength(), i));
-			}
-
-			LinkedModeModel linkedModeModel = new LinkedModeModel();
-			linkedModeModel.addGroup(group);
-			linkedModeModel.forceInstall();
-
-			LinkedModeUI ui= new EditorLinkedModeUI(linkedModeModel, viewer);
-			ui.setExitPosition(viewer, offset, 0, LinkedPositionGroup.NO_STOP);
-			ui.enter();
-
-			fSelectedRegion = ui.getSelectedRegion();
-		}
-		catch (BadLocationException e) {
-			JavaPlugin.log(e);
-		}
-	}
-
-	/*
-	 * @see ICompletionProposal#apply(IDocument)
-	 */
-	public void apply(IDocument document) {
-		// can't do anything
-	}
-
-	/*
-	 * @see ICompletionProposal#getSelection(IDocument)
-	 */
-	public Point getSelection(IDocument document) {
-		return new Point(fSelectedRegion.getOffset(), fSelectedRegion.getLength());
-	}
-
-	/*
-	 * @see ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		return CorrectionMessages.getString("LinkedNamesAssistProposal.proposalinfo"); //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		return CorrectionMessages.getString("LinkedNamesAssistProposal.description"); //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		return JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL);
-	}
-
-	/*
-	 * @see ICompletionProposal#getContextInformation()
-	 */
-	public IContextInformation getContextInformation() {
-		return null;
-	}
-
-	/*
-	 * @see IJavaCompletionProposal#getRelevance()
-	 */
-	public int getRelevance() {
-		return 1;
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#selected(org.eclipse.jface.text.ITextViewer,
-	 *      boolean)
-	 */
-	public void selected(ITextViewer textViewer, boolean smartToggle) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#unselected(org.eclipse.jface.text.ITextViewer)
-	 */
-	public void unselected(ITextViewer textViewer) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument,
-	 *      int, org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean validate(IDocument document, int offset, DocumentEvent event) {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/ProblemAnnotation.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/ProblemAnnotation.java
deleted file mode 100644
index ad88bce..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/ProblemAnnotation.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.correction;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation;
-import org.eclipse.jdt.internal.ui.javaeditor.JavaMarkerAnnotation;
-import org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor;
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-public class ProblemAnnotation extends Annotation implements IJavaAnnotation {
-	private static Image fgQuickFixImage;
-	private static Image fgQuickFixErrorImage;
-	private static boolean fgQuickFixImagesInitialized = false;
-
-	private ICompilationUnit fCompilationUnit;
-	private List fOverlaids;
-	private IProblem fProblem;
-	private Image fImage;
-	private boolean fQuickFixImagesInitialized = false;
-
-	public ProblemAnnotation(IProblem problem, ICompilationUnit cu) {
-
-		fProblem = problem;
-		fCompilationUnit = cu;
-
-
-		
-		if (IProblem.Task == fProblem.getID()) {
-			setType(JavaMarkerAnnotation.TASK_ANNOTATION_TYPE);
-			//fLayer = TASK_LAYER;
-		}
-		else if (fProblem.isWarning()) {
-			setType(JavaMarkerAnnotation.WARNING_ANNOTATION_TYPE);
-			//fLayer = WARNING_LAYER;
-		}
-		else if (fProblem.isError()) {
-			setType(JavaMarkerAnnotation.ERROR_ANNOTATION_TYPE);
-			//fLayer = ERROR_LAYER;
-		}
-		else {
-			setType(JavaMarkerAnnotation.INFO_ANNOTATION_TYPE);
-			//fLayer = INFO_LAYER;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#hasOverlay()
-	 */
-	public boolean hasOverlay() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#getOverlay()
-	 */
-	public IJavaAnnotation getOverlay() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#getOverlaidIterator()
-	 */
-	public Iterator getOverlaidIterator() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#addOverlaid(org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation)
-	 */
-	public void addOverlaid(IJavaAnnotation annotation) {
-		if (fOverlaids == null)
-			fOverlaids = new ArrayList(1);
-		fOverlaids.add(annotation);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#removeOverlaid(org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation)
-	 */
-	public void removeOverlaid(IJavaAnnotation annotation) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#isProblem()
-	 */
-	public boolean isProblem() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#getCompilationUnit()
-	 */
-	public ICompilationUnit getCompilationUnit() {
-		return fCompilationUnit;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#getArguments()
-	 */
-	public String[] getArguments() {
-		return isProblem() ? fProblem.getArguments() : null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#getId()
-	 */
-	public int getId() {
-		return fProblem.getID();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.IJavaAnnotation#getImage(org.eclipse.swt.widgets.Display)
-	 */
-	public Image getImage(Display display) {
-		initializeImages();
-		return fImage;
-	}
-
-	private void initializeImages() {
-		// http://bugs.eclipse.org/bugs/show_bug.cgi?id=18936
-		if (!fQuickFixImagesInitialized) {
-			if (isProblem() && indicateQuixFixableProblems() && JavaCorrectionProcessor.hasCorrections(this)) { // no light bulb for tasks
-				if (!fgQuickFixImagesInitialized) {
-					fgQuickFixImage = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_FIXABLE_PROBLEM);
-					fgQuickFixErrorImage = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_FIXABLE_ERROR);
-					fgQuickFixImagesInitialized = true;
-				}
-				if (JavaMarkerAnnotation.ERROR_ANNOTATION_TYPE.equals(getType()))
-					fImage = fgQuickFixErrorImage;
-				else
-					fImage = fgQuickFixImage;
-			}
-			fQuickFixImagesInitialized = true;
-		}
-	}
-
-	private boolean indicateQuixFixableProblems() {
-		return PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_CORRECTION_INDICATION);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/QuickAssistProcessorJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/QuickAssistProcessorJSP.java
deleted file mode 100644
index bc0da52..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/QuickAssistProcessorJSP.java
+++ /dev/null
@@ -1,859 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.correction;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.AnonymousClassDeclaration;
-import org.eclipse.jdt.core.dom.Assignment;
-import org.eclipse.jdt.core.dom.Block;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.CastExpression;
-import org.eclipse.jdt.core.dom.CatchClause;
-import org.eclipse.jdt.core.dom.ChildListPropertyDescriptor;
-import org.eclipse.jdt.core.dom.ConditionalExpression;
-import org.eclipse.jdt.core.dom.DoStatement;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.ExpressionStatement;
-import org.eclipse.jdt.core.dom.ForStatement;
-import org.eclipse.jdt.core.dom.IBinding;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.IVariableBinding;
-import org.eclipse.jdt.core.dom.IfStatement;
-import org.eclipse.jdt.core.dom.InfixExpression;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.MethodInvocation;
-import org.eclipse.jdt.core.dom.Modifier;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jdt.core.dom.ParenthesizedExpression;
-import org.eclipse.jdt.core.dom.SimpleName;
-import org.eclipse.jdt.core.dom.SimpleType;
-import org.eclipse.jdt.core.dom.SingleVariableDeclaration;
-import org.eclipse.jdt.core.dom.Statement;
-import org.eclipse.jdt.core.dom.StructuralPropertyDescriptor;
-import org.eclipse.jdt.core.dom.ThisExpression;
-import org.eclipse.jdt.core.dom.TryStatement;
-import org.eclipse.jdt.core.dom.Type;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationExpression;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-import org.eclipse.jdt.core.dom.VariableDeclarationStatement;
-import org.eclipse.jdt.core.dom.WhileStatement;
-import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
-import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
-import org.eclipse.jdt.internal.corext.dom.Bindings;
-import org.eclipse.jdt.internal.corext.dom.LinkedNodeFinder;
-import org.eclipse.jdt.internal.corext.dom.NodeFinder;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.text.correction.ASTResolving;
-import org.eclipse.jdt.internal.ui.text.correction.AssignToVariableAssistProposal;
-import org.eclipse.jdt.internal.ui.text.correction.CorrectionMessages;
-import org.eclipse.jdt.internal.ui.text.correction.LinkedCorrectionProposal;
-import org.eclipse.jdt.ui.text.java.IInvocationContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.ui.text.java.IProblemLocation;
-import org.eclipse.jdt.ui.text.java.IQuickAssistProcessor;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationUtil;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * This is a copy of
- * org.eclipse.jdt.internal.ui.text.correction.QuickAssistProcessor with the
- * following modifications: - replaced LocalRenameQuickAssistProposal with
- * LocalRenameQuickAssistProposalJSP - replace ASTRewriteCorrectionProposal
- * with ASTRewriteCorrectionProposalJSP
- */
-public class QuickAssistProcessorJSP implements IQuickAssistProcessor {
-	private IDocument fDocument;
-
-	public void setJSPDocument(IDocument document) {
-		fDocument = document;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jdt.internal.ui.text.correction.IAssistProcessor#hasAssists(org.eclipse.jdt.internal.ui.text.correction.IAssistContext)
-	 */
-	public boolean hasAssists(IInvocationContext context) throws CoreException {
-		ASTNode coveringNode = getCoveringNode(context);
-		if (coveringNode != null) {
-			return getCatchClauseToThrowsProposals(context, coveringNode, null) || getRenameLocalProposals(context, coveringNode, null, null) || getAssignToVariableProposals(context, coveringNode, null) || getUnWrapProposals(context, coveringNode, null) || getAssignParamToFieldProposals(context, coveringNode, null) || getJoinVariableProposals(context, coveringNode, null) || getAddFinallyProposals(context, coveringNode, null) || getAddElseProposals(context, coveringNode, null) || getSplitVariableProposals(context, coveringNode, null) || getAddBlockProposals(context, coveringNode, null) || getInvertEqualsProposal(context, coveringNode, null);
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jdt.internal.ui.text.correction.IAssistProcessor#getAssists(org.eclipse.jdt.internal.ui.text.correction.IAssistContext,
-	 *      org.eclipse.jdt.internal.ui.text.correction.IProblemLocation[])
-	 */
-	public IJavaCompletionProposal[] getAssists(IInvocationContext context, IProblemLocation[] locations) throws CoreException {
-		ASTNode coveringNode = getCoveringNode(context);
-		if (coveringNode != null) {
-			ArrayList resultingCollections = new ArrayList();
-			// quick assists that show up also if there is an error/warning
-			getRenameLocalProposals(context, coveringNode, locations, resultingCollections);
-
-			if (noErrorsAtLocation(locations)) {
-				getCatchClauseToThrowsProposals(context, coveringNode, resultingCollections);
-				getAssignToVariableProposals(context, coveringNode, resultingCollections);
-				getAssignParamToFieldProposals(context, coveringNode, resultingCollections);
-				getUnWrapProposals(context, coveringNode, resultingCollections);
-				getSplitVariableProposals(context, coveringNode, resultingCollections);
-				getJoinVariableProposals(context, coveringNode, resultingCollections);
-				getAddFinallyProposals(context, coveringNode, resultingCollections);
-				getAddElseProposals(context, coveringNode, resultingCollections);
-				getAddBlockProposals(context, coveringNode, resultingCollections);
-				getInvertEqualsProposal(context, coveringNode, resultingCollections);
-			}
-			return (IJavaCompletionProposal[]) resultingCollections.toArray(new IJavaCompletionProposal[resultingCollections.size()]);
-		}
-		return null;
-	}
-
-	private boolean noErrorsAtLocation(IProblemLocation[] locations) {
-		if (locations != null) {
-			for (int i = 0; i < locations.length; i++) {
-				if (locations[i].isError()) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-	private boolean getJoinVariableProposals(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		ASTNode parent = node.getParent();
-		if (!(parent instanceof VariableDeclarationFragment)) {
-			return false;
-		}
-		VariableDeclarationFragment fragment = (VariableDeclarationFragment) parent;
-
-		IVariableBinding binding = fragment.resolveBinding();
-		if (fragment.getInitializer() != null || binding == null || binding.isField()) {
-			return false;
-		}
-
-		if (!(fragment.getParent() instanceof VariableDeclarationStatement)) {
-			return false;
-		}
-		VariableDeclarationStatement statement = (VariableDeclarationStatement) fragment.getParent();
-
-		SimpleName[] names = LinkedNodeFinder.findByBinding(statement.getParent(), binding);
-		if (names.length <= 1 || names[0] != fragment.getName()) {
-			return false;
-		}
-
-		SimpleName firstAccess = names[1];
-		if (!(firstAccess.getParent() instanceof Assignment)) {
-			return false;
-		}
-		Assignment assignment = (Assignment) firstAccess.getParent();
-		if (assignment.getLeftHandSide() != firstAccess) {
-			return false;
-		}
-
-		ASTNode assignParent = assignment.getParent();
-		if (!(assignParent instanceof ExpressionStatement || assignParent instanceof ForStatement && ((ForStatement) assignParent).initializers().contains(assignment))) {
-			return false;
-		}
-
-		if (resultingCollections == null) {
-			return true;
-		}
-
-		AST ast = statement.getAST();
-		ASTRewrite rewrite = ASTRewrite.create(ast);
-
-		String label = CorrectionMessages.getString("QuickAssistProcessor.joindeclaration.description"); //$NON-NLS-1$
-		Image image = JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL);
-		LinkedCorrectionProposal proposal = new LinkedCorrectionProposal(label, context.getCompilationUnit(), rewrite, 1, image);
-
-		Expression placeholder = (Expression) rewrite.createMoveTarget(assignment.getRightHandSide());
-		rewrite.set(fragment, VariableDeclarationFragment.INITIALIZER_PROPERTY, placeholder, null);
-
-		if (assignParent instanceof ExpressionStatement) {
-			int statementParent = assignParent.getParent().getNodeType();
-			if (statementParent == ASTNode.IF_STATEMENT || statementParent == ASTNode.WHILE_STATEMENT || statementParent == ASTNode.DO_STATEMENT || statementParent == ASTNode.FOR_STATEMENT) {
-
-				Block block = ast.newBlock();
-				rewrite.replace(assignParent, block, null);
-			}
-			else {
-				rewrite.remove(assignParent, null);
-			}
-		}
-		else {
-			rewrite.remove(assignment, null);
-		}
-
-		proposal.setEndPosition(rewrite.track(fragment.getName()));
-		resultingCollections.add(proposal);
-		return true;
-
-	}
-
-	private boolean getSplitVariableProposals(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		ASTNode parent = node.getParent();
-		if (!(parent instanceof VariableDeclarationFragment)) {
-			return false;
-		}
-		VariableDeclarationFragment fragment = (VariableDeclarationFragment) parent;
-
-		if (fragment.getInitializer() == null) {
-			return false;
-		}
-
-		Statement statement;
-		ASTNode fragParent = fragment.getParent();
-		if (fragParent instanceof VariableDeclarationStatement) {
-			statement = (VariableDeclarationStatement) fragParent;
-		}
-		else if (fragParent instanceof VariableDeclarationExpression) {
-			statement = (Statement) fragParent.getParent();
-		}
-		else {
-			return false;
-		}
-		// statement is ForStatement or VariableDeclarationStatement
-
-		ASTNode statementParent = statement.getParent();
-		StructuralPropertyDescriptor property = statement.getLocationInParent();
-		if (!property.isChildListProperty()) {
-			return false;
-		}
-
-		List list = (List) statementParent.getStructuralProperty(property);
-
-		if (resultingCollections == null) {
-			return true;
-		}
-
-		AST ast = statement.getAST();
-		ASTRewrite rewrite = ASTRewrite.create(ast);
-
-		String label = CorrectionMessages.getString("QuickAssistProcessor.splitdeclaration.description"); //$NON-NLS-1$
-		Image image = JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL);
-		ASTRewriteCorrectionProposalJSP proposal = new ASTRewriteCorrectionProposalJSP(label, context.getCompilationUnit(), rewrite, 1, image);
-
-		Statement newStatement;
-		int insertIndex = list.indexOf(statement);
-
-		Expression placeholder = (Expression) rewrite.createMoveTarget(fragment.getInitializer());
-		Assignment assignment = ast.newAssignment();
-		assignment.setRightHandSide(placeholder);
-		assignment.setLeftHandSide(ast.newSimpleName(fragment.getName().getIdentifier()));
-
-		if (statement instanceof VariableDeclarationStatement) {
-			newStatement = ast.newExpressionStatement(assignment);
-			insertIndex += 1; // add after declaration
-
-			int modifiers = ((VariableDeclarationStatement) statement).getModifiers();
-			if (Modifier.isFinal(modifiers)) {
-				rewrite.set(statement, VariableDeclarationStatement.MODIFIERS_PROPERTY, new Integer(modifiers & ~Modifier.FINAL), null);
-			}
-		}
-		else {
-			rewrite.replace(fragment.getParent(), assignment, null);
-			VariableDeclarationFragment newFrag = ast.newVariableDeclarationFragment();
-			newFrag.setName(ast.newSimpleName(fragment.getName().getIdentifier()));
-			newFrag.setExtraDimensions(fragment.getExtraDimensions());
-
-			VariableDeclarationExpression oldVarDecl = (VariableDeclarationExpression) fragParent;
-
-			VariableDeclarationStatement newVarDec = ast.newVariableDeclarationStatement(newFrag);
-			newVarDec.setType((Type) ASTNode.copySubtree(ast, oldVarDecl.getType()));
-			newVarDec.setModifiers(oldVarDecl.getModifiers() & ~Modifier.FINAL);
-			newStatement = newVarDec;
-		}
-
-		ListRewrite listRewriter = rewrite.getListRewrite(statementParent, (ChildListPropertyDescriptor) property);
-		listRewriter.insertAt(newStatement, insertIndex, null);
-
-		resultingCollections.add(proposal);
-		return true;
-	}
-
-	private ASTNode getCoveringNode(IInvocationContext context) {
-		NodeFinder finder = new NodeFinder(context.getSelectionOffset(), context.getSelectionLength());
-		context.getASTRoot().accept(finder);
-		return finder.getCoveringNode();
-	}
-
-
-	private boolean getAssignToVariableProposals(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		Statement statement = ASTResolving.findParentStatement(node);
-		if (!(statement instanceof ExpressionStatement)) {
-			return false;
-		}
-		ExpressionStatement expressionStatement = (ExpressionStatement) statement;
-
-		Expression expression = expressionStatement.getExpression();
-		if (expression.getNodeType() == ASTNode.ASSIGNMENT) {
-			return false; // too confusing and not helpful
-		}
-
-		ITypeBinding typeBinding = expression.resolveTypeBinding();
-		typeBinding = Bindings.normalizeTypeBinding(typeBinding);
-		if (typeBinding == null) {
-			return false;
-		}
-		if (resultingCollections == null) {
-			return true;
-		}
-
-		ICompilationUnit cu = context.getCompilationUnit();
-
-		AssignToVariableAssistProposal localProposal = new AssignToVariableAssistProposal(cu, AssignToVariableAssistProposal.LOCAL, expressionStatement, typeBinding, 2);
-		resultingCollections.add(localProposal);
-
-		ASTNode type = ASTResolving.findParentType(expression);
-		if (type != null) {
-			AssignToVariableAssistProposal fieldProposal = new AssignToVariableAssistProposal(cu, AssignToVariableAssistProposal.FIELD, expressionStatement, typeBinding, 1);
-			resultingCollections.add(fieldProposal);
-		}
-		return false;
-
-	}
-
-	private boolean getAssignParamToFieldProposals(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		ASTNode parent = node.getParent();
-		if (!(parent instanceof SingleVariableDeclaration) || !(parent.getParent() instanceof MethodDeclaration)) {
-			return false;
-		}
-		SingleVariableDeclaration paramDecl = (SingleVariableDeclaration) parent;
-		IVariableBinding binding = paramDecl.resolveBinding();
-
-		MethodDeclaration methodDecl = (MethodDeclaration) parent.getParent();
-		if (binding == null || methodDecl.getBody() == null) {
-			return false;
-		}
-		ITypeBinding typeBinding = binding.getType();
-		if (typeBinding == null) {
-			return false;
-		}
-
-		if (resultingCollections != null) {
-			AssignToVariableAssistProposal fieldProposal = new AssignToVariableAssistProposal(context.getCompilationUnit(), paramDecl, typeBinding, 1);
-			resultingCollections.add(fieldProposal);
-		}
-		return true;
-	}
-
-	private boolean getAddFinallyProposals(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		TryStatement tryStatement = ASTResolving.findParentTryStatement(node);
-		if (tryStatement == null || tryStatement.getFinally() != null) {
-			return false;
-		}
-		Statement statement = ASTResolving.findParentStatement(node);
-		if (tryStatement != statement && tryStatement.getBody() != statement) {
-			return false; // an node inside a catch or finally block
-		}
-
-		if (resultingCollections == null) {
-			return true;
-		}
-
-		AST ast = tryStatement.getAST();
-		ASTRewrite rewrite = ASTRewrite.create(ast);
-		Block finallyBody = ast.newBlock();
-
-		rewrite.set(tryStatement, TryStatement.FINALLY_PROPERTY, finallyBody, null);
-
-		String label = CorrectionMessages.getString("QuickAssistProcessor.addfinallyblock.description"); //$NON-NLS-1$
-		Image image = JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_ADD);
-		ASTRewriteCorrectionProposalJSP proposal = new ASTRewriteCorrectionProposalJSP(label, context.getCompilationUnit(), rewrite, 1, image);
-		resultingCollections.add(proposal);
-		return true;
-	}
-
-	private boolean getAddElseProposals(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		Statement statement = ASTResolving.findParentStatement(node);
-		if (!(statement instanceof IfStatement)) {
-			return false;
-		}
-		IfStatement ifStatement = (IfStatement) statement;
-		if (ifStatement.getElseStatement() != null) {
-			return false;
-		}
-
-		if (resultingCollections == null) {
-			return true;
-		}
-
-		AST ast = statement.getAST();
-		ASTRewrite rewrite = ASTRewrite.create(ast);
-		Block body = ast.newBlock();
-
-		rewrite.set(ifStatement, IfStatement.ELSE_STATEMENT_PROPERTY, body, null);
-
-		String label = CorrectionMessages.getString("QuickAssistProcessor.addelseblock.description"); //$NON-NLS-1$
-		Image image = JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_ADD);
-		ASTRewriteCorrectionProposalJSP proposal = new ASTRewriteCorrectionProposalJSP(label, context.getCompilationUnit(), rewrite, 1, image);
-		resultingCollections.add(proposal);
-		return true;
-	}
-
-	public static boolean getCatchClauseToThrowsProposals(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		CatchClause catchClause = (CatchClause) ASTResolving.findAncestor(node, ASTNode.CATCH_CLAUSE);
-		if (catchClause == null) {
-			return false;
-		}
-
-		Statement statement = ASTResolving.findParentStatement(node);
-		if (statement != catchClause.getParent() && statement != catchClause.getBody()) {
-			return false; // selection is in a statement inside the body
-		}
-
-		Type type = catchClause.getException().getType();
-		if (!type.isSimpleType()) {
-			return false;
-		}
-
-		BodyDeclaration bodyDeclaration = ASTResolving.findParentBodyDeclaration(catchClause);
-		if (!(bodyDeclaration instanceof MethodDeclaration)) {
-			return false;
-		}
-
-		if (resultingCollections == null) {
-			return true;
-		}
-
-		AST ast = bodyDeclaration.getAST();
-		MethodDeclaration methodDeclaration = (MethodDeclaration) bodyDeclaration;
-		{
-			ASTRewrite rewrite = ASTRewrite.create(ast);
-
-			removeCatchBlock(rewrite, methodDeclaration, catchClause);
-
-			ITypeBinding binding = type.resolveBinding();
-			if (binding == null || isNotYetThrown(binding, methodDeclaration.thrownExceptions())) {
-				Name name = ((SimpleType) type).getName();
-				Name newName = (Name) ASTNode.copySubtree(catchClause.getAST(), name);
-
-				ListRewrite listRewriter = rewrite.getListRewrite(methodDeclaration, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY);
-				listRewriter.insertLast(newName, null);
-			}
-
-			String label = CorrectionMessages.getString("QuickAssistProcessor.catchclausetothrows.description"); //$NON-NLS-1$
-			Image image = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_EXCEPTION);
-			ASTRewriteCorrectionProposalJSP proposal = new ASTRewriteCorrectionProposalJSP(label, context.getCompilationUnit(), rewrite, 4, image);
-			resultingCollections.add(proposal);
-		}
-		{
-			ASTRewrite rewrite = ASTRewrite.create(ast);
-
-			removeCatchBlock(rewrite, methodDeclaration, catchClause);
-			String label = CorrectionMessages.getString("QuickAssistProcessor.removecatchclause.description"); //$NON-NLS-1$
-			Image image = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_EXCEPTION);
-			ASTRewriteCorrectionProposalJSP proposal = new ASTRewriteCorrectionProposalJSP(label, context.getCompilationUnit(), rewrite, 5, image);
-			resultingCollections.add(proposal);
-		}
-
-		return true;
-	}
-
-	private static void removeCatchBlock(ASTRewrite rewrite, MethodDeclaration methodDeclaration, CatchClause catchClause) {
-		TryStatement tryStatement = (TryStatement) catchClause.getParent();
-		if (tryStatement.catchClauses().size() > 1 || tryStatement.getFinally() != null) {
-			rewrite.remove(catchClause, null);
-		}
-		else {
-			Block block = tryStatement.getBody();
-			List statements = block.statements();
-			if (statements.size() > 0) {
-				ListRewrite listRewrite = rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY);
-				ASTNode first = (ASTNode) statements.get(0);
-				ASTNode last = (ASTNode) statements.get(statements.size() - 1);
-				ASTNode placeholder = listRewrite.createCopyTarget(first, last);
-				rewrite.replace(tryStatement, placeholder, null);
-			}
-			else {
-				rewrite.remove(tryStatement, null);
-			}
-		}
-	}
-
-	private static boolean isNotYetThrown(ITypeBinding binding, List thrownExcpetions) {
-		for (int i = 0; i < thrownExcpetions.size(); i++) {
-			Name name = (Name) thrownExcpetions.get(i);
-			ITypeBinding elem = (ITypeBinding) name.resolveBinding();
-			if (elem != null) {
-				if (Bindings.isSuperType(elem, binding)) { // existing
-														   // exception is
-														   // base class of
-														   // new
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-
-	private boolean getRenameLocalProposals(IInvocationContext context, ASTNode node, IProblemLocation[] locations, Collection resultingCollections) {
-		if (!(node instanceof SimpleName)) {
-			return false;
-		}
-		SimpleName name = (SimpleName) node;
-		IBinding binding = name.resolveBinding();
-		if (binding != null && binding.getKind() == IBinding.PACKAGE) {
-			return false;
-		}
-
-		if (locations != null) {
-			for (int i = 0; i < locations.length; i++) {
-				switch (locations[i].getProblemId()) {
-					case IProblem.LocalVariableHidingLocalVariable :
-					case IProblem.LocalVariableHidingField :
-					case IProblem.FieldHidingLocalVariable :
-					case IProblem.FieldHidingField :
-					case IProblem.ArgumentHidingLocalVariable :
-					case IProblem.ArgumentHidingField :
-						return false;
-				}
-			}
-		}
-
-		if (resultingCollections == null) {
-			return true;
-		}
-
-		LocalRenameQuickAssistProposalJSP proposal = new LocalRenameQuickAssistProposalJSP(context.getCompilationUnit(), name);
-		resultingCollections.add(proposal);
-		return true;
-	}
-
-	private ASTNode getCopyOfInner(ASTRewrite rewrite, ASTNode statement) {
-		if (statement.getNodeType() == ASTNode.BLOCK) {
-			Block block = (Block) statement;
-			List innerStatements = block.statements();
-			int nStatements = innerStatements.size();
-			if (nStatements == 1) {
-				return rewrite.createCopyTarget(((ASTNode) innerStatements.get(0)));
-			}
-			else if (nStatements > 1) {
-				ListRewrite listRewrite = rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY);
-				ASTNode first = (ASTNode) innerStatements.get(0);
-				ASTNode last = (ASTNode) innerStatements.get(nStatements - 1);
-				return listRewrite.createCopyTarget(first, last);
-			}
-			return null;
-		}
-		else {
-			return rewrite.createCopyTarget(statement);
-		}
-	}
-
-
-	private boolean getUnWrapProposals(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		ASTNode outer = node;
-
-		Block block = null;
-		if (outer.getNodeType() == ASTNode.BLOCK) {
-			block = (Block) outer;
-			outer = block.getParent();
-		}
-
-		ASTNode body = null;
-		String label = null;
-		if (outer instanceof IfStatement) {
-			IfStatement ifStatement = (IfStatement) outer;
-			Statement elseBlock = ifStatement.getElseStatement();
-			if (elseBlock == null || ((elseBlock instanceof Block) && ((Block) elseBlock).statements().isEmpty())) {
-				body = ifStatement.getThenStatement();
-			}
-			label = CorrectionMessages.getString("QuickAssistProcessor.unwrap.ifstatement"); //$NON-NLS-1$
-		}
-		else if (outer instanceof WhileStatement) {
-			body = ((WhileStatement) outer).getBody();
-			label = CorrectionMessages.getString("QuickAssistProcessor.unwrap.whilestatement"); //$NON-NLS-1$
-		}
-		else if (outer instanceof ForStatement) {
-			body = ((ForStatement) outer).getBody();
-			label = CorrectionMessages.getString("QuickAssistProcessor.unwrap.forstatement"); //$NON-NLS-1$
-		}
-		else if (outer instanceof DoStatement) {
-			body = ((DoStatement) outer).getBody();
-			label = CorrectionMessages.getString("QuickAssistProcessor.unwrap.dostatement"); //$NON-NLS-1$
-		}
-		else if (outer instanceof TryStatement) {
-			TryStatement tryStatement = (TryStatement) outer;
-			if (tryStatement.catchClauses().isEmpty()) {
-				body = tryStatement.getBody();
-			}
-			label = CorrectionMessages.getString("QuickAssistProcessor.unwrap.trystatement"); //$NON-NLS-1$
-		}
-		else if (outer instanceof AnonymousClassDeclaration) {
-			List decls = ((AnonymousClassDeclaration) outer).bodyDeclarations();
-			for (int i = 0; i < decls.size(); i++) {
-				ASTNode elem = (ASTNode) decls.get(i);
-				if (elem instanceof MethodDeclaration) {
-					Block curr = ((MethodDeclaration) elem).getBody();
-					if (curr != null && !curr.statements().isEmpty()) {
-						if (body != null) {
-							return false;
-						}
-						body = curr;
-					}
-				}
-				else if (elem instanceof TypeDeclaration) {
-					return false;
-				}
-			}
-			label = CorrectionMessages.getString("QuickAssistProcessor.unwrap.anonymous"); //$NON-NLS-1$
-			outer = ASTResolving.findParentStatement(outer);
-		}
-		else if (outer instanceof Block) {
-			//	-> a block in a block
-			body = block;
-			outer = block;
-			label = CorrectionMessages.getString("QuickAssistProcessor.unwrap.block"); //$NON-NLS-1$
-		}
-		else if (outer instanceof ParenthesizedExpression) {
-			ParenthesizedExpression expression = (ParenthesizedExpression) outer;
-			body = expression.getExpression();
-			label = CorrectionMessages.getString("QuickAssistProcessor.unwrap.parenthesis"); //$NON-NLS-1$
-		}
-		else if (outer instanceof MethodInvocation) {
-			MethodInvocation invocation = (MethodInvocation) outer;
-			if (invocation.arguments().size() == 1) {
-				body = (ASTNode) invocation.arguments().get(0);
-				if (invocation.getParent().getNodeType() == ASTNode.EXPRESSION_STATEMENT) {
-					int kind = body.getNodeType();
-					if (kind != ASTNode.ASSIGNMENT && kind != ASTNode.PREFIX_EXPRESSION && kind != ASTNode.POSTFIX_EXPRESSION && kind != ASTNode.METHOD_INVOCATION && kind != ASTNode.SUPER_METHOD_INVOCATION) {
-						body = null;
-					}
-				}
-				label = CorrectionMessages.getString("QuickAssistProcessor.unwrap.methodinvocation"); //$NON-NLS-1$
-			}
-		}
-		if (body == null) {
-			return false;
-		}
-		ASTRewrite rewrite = ASTRewrite.create(outer.getAST());
-		ASTNode inner = getCopyOfInner(rewrite, body);
-		if (inner == null) {
-			return false;
-		}
-		if (resultingCollections == null) {
-			return true;
-		}
-
-		JSPTranslationUtil translationUtil = new JSPTranslationUtil(fDocument);
-		if (!translationUtil.getTranslation().javaSpansMultipleJspPartitions(outer.getStartPosition(), outer.getLength())) {
-			rewrite.replace(outer, inner, null);
-			Image image = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_EXCEPTION);
-			ASTRewriteCorrectionProposalJSP proposal = new ASTRewriteCorrectionProposalJSP(label, context.getCompilationUnit(), rewrite, 1, image);
-			resultingCollections.add(proposal);
-			return true;
-		}
-		else
-			return false;
-	}
-
-	private static boolean isControlStatementWithBlock(ASTNode node) {
-		switch (node.getNodeType()) {
-			case ASTNode.IF_STATEMENT :
-			case ASTNode.WHILE_STATEMENT :
-			case ASTNode.FOR_STATEMENT :
-			case ASTNode.DO_STATEMENT :
-				return true;
-			default :
-				return false;
-		}
-	}
-
-
-	private boolean getAddBlockProposals(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		Statement statement = ASTResolving.findParentStatement(node);
-		if (statement == null) {
-			return false;
-		}
-
-		if (!isControlStatementWithBlock(statement)) {
-			if (!isControlStatementWithBlock(statement.getParent())) {
-				return false;
-			}
-			int statementStart = statement.getStartPosition();
-			int statementEnd = statementStart + statement.getLength();
-
-			int offset = context.getSelectionOffset();
-			int length = context.getSelectionLength();
-			if (length == 0) {
-				if (offset != statementEnd) { // cursor at end
-					return false;
-				}
-			}
-			else {
-				if (offset > statementStart || offset + length < statementEnd) { // statement
-																				 // selected
-					return false;
-				}
-			}
-			statement = (Statement) statement.getParent();
-		}
-
-		StructuralPropertyDescriptor childProperty = null;
-		ASTNode child = null;
-		switch (statement.getNodeType()) {
-			case ASTNode.IF_STATEMENT :
-				int selectionStart = context.getSelectionOffset();
-				int selectionEnd = context.getSelectionOffset() + context.getSelectionLength();
-				ASTNode then = ((IfStatement) statement).getThenStatement();
-				if (selectionEnd <= then.getStartPosition() + then.getLength()) {
-					if (!(then instanceof Block)) {
-						childProperty = IfStatement.THEN_STATEMENT_PROPERTY;
-						child = then;
-					}
-				}
-				else if (selectionStart >= then.getStartPosition() + then.getLength()) {
-					ASTNode elseStatement = ((IfStatement) statement).getElseStatement();
-					if (!(elseStatement instanceof Block)) {
-						childProperty = IfStatement.ELSE_STATEMENT_PROPERTY;
-						child = elseStatement;
-					}
-				}
-				break;
-			case ASTNode.WHILE_STATEMENT :
-				ASTNode whileBody = ((WhileStatement) statement).getBody();
-				if (!(whileBody instanceof Block)) {
-					childProperty = WhileStatement.BODY_PROPERTY;
-					child = whileBody;
-				}
-				break;
-			case ASTNode.FOR_STATEMENT :
-				ASTNode forBody = ((ForStatement) statement).getBody();
-				if (!(forBody instanceof Block)) {
-					childProperty = ForStatement.BODY_PROPERTY;
-					child = forBody;
-				}
-				break;
-			case ASTNode.DO_STATEMENT :
-				ASTNode doBody = ((DoStatement) statement).getBody();
-				if (!(doBody instanceof Block)) {
-					childProperty = DoStatement.BODY_PROPERTY;
-					child = doBody;
-				}
-				break;
-			default :
-		}
-		if (child == null) {
-			return false;
-		}
-
-		if (resultingCollections == null) {
-			return true;
-		}
-		AST ast = statement.getAST();
-		ASTRewrite rewrite = ASTRewrite.create(ast);
-
-		ASTNode childPlaceholder = rewrite.createMoveTarget(child);
-		Block replacingBody = ast.newBlock();
-		replacingBody.statements().add(childPlaceholder);
-		rewrite.set(statement, childProperty, replacingBody, null);
-
-		String label;
-		if (childProperty == IfStatement.THEN_STATEMENT_PROPERTY) {
-			label = CorrectionMessages.getString("QuickAssistProcessor.replacethenwithblock.description");//$NON-NLS-1$
-		}
-		else if (childProperty == IfStatement.ELSE_STATEMENT_PROPERTY) {
-			label = CorrectionMessages.getString("QuickAssistProcessor.replaceelsewithblock.description");//$NON-NLS-1$
-		}
-		else {
-			label = CorrectionMessages.getString("QuickAssistProcessor.replacebodywithblock.description");//$NON-NLS-1$
-		}
-
-		Image image = JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);
-		LinkedCorrectionProposal proposal = new LinkedCorrectionProposal(label, context.getCompilationUnit(), rewrite, 10, image);
-		proposal.setEndPosition(rewrite.track(child));
-		resultingCollections.add(proposal);
-		return true;
-	}
-
-	private boolean getInvertEqualsProposal(IInvocationContext context, ASTNode node, Collection resultingCollections) {
-		ASTNode parent = node.getParent();
-		if (!(parent instanceof MethodInvocation)) {
-			return false;
-		}
-		MethodInvocation method = (MethodInvocation) parent;
-		if (!"equals".equals(method.getName().getIdentifier())) { //$NON-NLS-1$
-			return false;
-		}
-		List arguments = method.arguments();
-		if (arguments.size() != 1) { //overloaded equals w/ more than 1 arg
-			return false;
-		}
-		Expression right = (Expression) arguments.get(0);
-		ITypeBinding binding = right.resolveTypeBinding();
-		if (!(binding.isClass() || binding.isInterface())) { //overloaded
-															 // equals w/
-															 // non-class/interface
-															 // arg or null
-			return false;
-		}
-		Expression left = method.getExpression();
-
-		AST ast = method.getAST();
-		ASTRewrite rewrite;
-		if (left == null) { // equals(x) -> x.equals(this)
-			rewrite = ASTRewrite.create(ast);
-			MethodInvocation replacement = ast.newMethodInvocation();
-			replacement.setName((SimpleName) rewrite.createCopyTarget(method.getName()));
-			replacement.arguments().add(ast.newThisExpression());
-			replacement.setExpression((Expression) rewrite.createCopyTarget(right));
-			rewrite.replace(method, replacement, null);
-		}
-		else if (right instanceof ThisExpression) { // x.equals(this) ->
-													// equals(x)
-			rewrite = ASTRewrite.create(ast);
-			MethodInvocation replacement = rewrite.getAST().newMethodInvocation();
-			replacement.setName((SimpleName) rewrite.createCopyTarget(method.getName()));
-			replacement.arguments().add(rewrite.createCopyTarget(left));
-			rewrite.replace(method, replacement, null);
-		}
-		else {
-			rewrite = ASTRewrite.create(ast);
-			if (left instanceof ParenthesizedExpression) {
-				Expression ex = ((ParenthesizedExpression) left).getExpression();
-				rewrite.replace(right, rewrite.createCopyTarget(ex), null);
-			}
-			else {
-				rewrite.replace(right, rewrite.createCopyTarget(left), null);
-			}
-			if ((right instanceof CastExpression) || (right instanceof Assignment) || (right instanceof ConditionalExpression) || (right instanceof InfixExpression)) {
-				ParenthesizedExpression paren = rewrite.getAST().newParenthesizedExpression();
-				paren.setExpression((Expression) rewrite.createCopyTarget(right));
-				rewrite.replace(left, paren, null);
-			}
-			else {
-				rewrite.replace(left, rewrite.createCopyTarget(right), null);
-			}
-		}
-
-		String label = CorrectionMessages.getString("QuickAssistProcessor.invertequals.description"); //$NON-NLS-1$
-		Image image = JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);
-
-		LinkedCorrectionProposal proposal = new LinkedCorrectionProposal(label, context.getCompilationUnit(), rewrite, 1, image);
-		resultingCollections.add(proposal);
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/IHelpContextIds.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/IHelpContextIds.java
deleted file mode 100644
index ddb3871..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/IHelpContextIds.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.editor;
-
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-
-/**
- * Help context ids for the JSP Source Editor.
- * <p>
- * This interface contains constants only; it is not intended to be implemented.
- * </p>
- * 
- */
-public interface IHelpContextIds {
-	// org.eclipse.jst.jsp.ui.
-	public static final String PREFIX = JSPUIPlugin.ID + "."; //$NON-NLS-1$
-	
-	// JSP Source page editor
-	public static final String JSP_SOURCEVIEW_HELPID = PREFIX + "ejsp0000"; //$NON-NLS-1$
-	
-	// JSP Files Preference page
-	public static final String JSP_PREFWEBX_FILES_HELPID = PREFIX + "webx0050"; //$NON-NLS-1$
-	// JSP Styles Preference page
-	public static final String JSP_PREFWEBX_STYLES_HELPID = PREFIX + "webx0051"; //$NON-NLS-1$
-	// JSP Templates Preference page
-	public static final String JSP_PREFWEBX_TEMPLATES_HELPID = PREFIX + "webx0052"; //$NON-NLS-1$
-			
-	// JSP Fragment Property Page
-	public static final String JSP_FRAGMENT_HELPID = PREFIX + "jspf1000"; //$NON-NLS-1$
-	
-	// JSP Source Editor Context Menu
-	// Refactor Rename TODO infopop needed
-	// Refactor Move TODO infopop needed
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImageHelper.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImageHelper.java
deleted file mode 100644
index b659b9b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImageHelper.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.editor;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-/**
- * Helper class to handle images provided by this plug-in.
- * 
- * NOTE: For internal use only. For images used externally, please use the
- * Shared***ImageHelper class instead.
- * 
- * @author amywu
- */
-public class JSPEditorPluginImageHelper {
-	private final String PLUGINID = JSPUIPlugin.ID;
-	private static JSPEditorPluginImageHelper instance = null;
-
-	//	 save a descriptor for each image
-	private HashMap fImageDescRegistry = null;
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a JSPEditorPluginImageHelper
-	 */
-	public synchronized static JSPEditorPluginImageHelper getInstance() {
-		if (instance == null)
-			instance = new JSPEditorPluginImageHelper();
-		return instance;
-	}
-
-	/**
-	 * Retrieves the image associated with resource from the image registry.
-	 * If the image cannot be retrieved, attempt to find and load the image at
-	 * the location specified in resource.
-	 * 
-	 * @param resource
-	 *            the image to retrieve
-	 * @return Image the image associated with resource or null if one could
-	 *         not be found
-	 */
-	public Image getImage(String resource) {
-		Image image = getImageRegistry().get(resource);
-		if (image == null) {
-			// create an image
-			image = createImage(resource);
-		}
-		return image;
-	}
-   
-    /**
-     * Retrieves the Image associated with ImageDescriptor from the image
-     * descriptor registry. If the Image cannot be retrieved, it is created
-     * from the ImageDescriptor
-     * 
-     * @param resource
-     *            the image descriptor to retrieve
-     * @return Image the associated with the ImageDescriptor or
-     *         the default "missing" image descriptor if one could not be
-     *         found
-     */
-    public Image getImage(ImageDescriptor descriptor) {
-        if (descriptor == null)
-            descriptor= ImageDescriptor.getMissingImageDescriptor();
-            
-        Image result= (Image)getImageDescriptorRegistry().get(descriptor);
-        if (result != null)
-            return result;
-        
-        result= descriptor.createImage();
-        if (result != null)
-            getImageDescriptorRegistry().put(descriptor, result);
-        return result;
-    }
-
-	/**
-	 * Retrieves the image descriptor associated with resource from the image
-	 * descriptor registry. If the image descriptor cannot be retrieved,
-	 * attempt to find and load the image descriptor at the location specified
-	 * in resource.
-	 * 
-	 * @param resource
-	 *            the image descriptor to retrieve
-	 * @return ImageDescriptor the image descriptor assocated with resource or
-	 *         the default "missing" image descriptor if one could not be
-	 *         found
-	 */
-	public ImageDescriptor getImageDescriptor(String resource) {
-		ImageDescriptor imageDescriptor = null;
-		Object o = getImageDescriptorRegistry().get(resource);
-		if (o == null) {
-			//create a descriptor
-			imageDescriptor = createImageDescriptor(resource);
-		}
-		else {
-			imageDescriptor = (ImageDescriptor) o;
-		}
-		return imageDescriptor;
-	}
-
-	/**
-	 * Returns the image descriptor registry for this plugin.
-	 * 
-	 * @return HashMap - image descriptor registry for this plugin
-	 */
-	private HashMap getImageDescriptorRegistry() {
-		if (fImageDescRegistry == null)
-			fImageDescRegistry = new HashMap();
-		return fImageDescRegistry;
-	}
-
-	/**
-	 * Returns the image registry for this plugin.
-	 * 
-	 * @return ImageRegistry - image registry for this plugin
-	 */
-	private ImageRegistry getImageRegistry() {
-		return JFaceResources.getImageRegistry();
-	}
-
-	/**
-	 * Creates an image from the given resource and adds the image to the
-	 * image registry.
-	 * 
-	 * @param resource
-	 * @return Image
-	 */
-	private Image createImage(String resource) {
-		ImageDescriptor desc = getImageDescriptor(resource);
-		Image image = null;
-		
-		if (desc != null) {
-			image = desc.createImage();
-			// dont add the missing image descriptor image to the image registry
-			if (!desc.equals(ImageDescriptor.getMissingImageDescriptor()))
-				getImageRegistry().put(resource, image);
-		}
-		return image;
-	}
-
-	/**
-	 * Creates an image descriptor from the given imageFilePath and adds the
-	 * image descriptor to the image descriptor registry. If an image
-	 * descriptor could not be created, the default "missing" image descriptor
-	 * is returned but not added to the image descriptor registry.
-	 * 
-	 * @param imageFilePath
-	 * @return ImageDescriptor image descriptor for imageFilePath or default
-	 *         "missing" image descriptor if resource could not be found
-	 */
-	private ImageDescriptor createImageDescriptor(String imageFilePath) {
-		ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGINID, imageFilePath);
-		if (imageDescriptor != null) {
-			getImageDescriptorRegistry().put(imageFilePath, imageDescriptor);
-		}
-		else {
-			imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-		}
-
-		return imageDescriptor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImages.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImages.java
deleted file mode 100644
index ab3aa1f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPEditorPluginImages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.editor;
-
-/**
- * Bundle of most images used by the JSP Editor plug-in.
- */
-public class JSPEditorPluginImages { 	
-	public static final String IMG_OBJ_CLASS_OBJ = "icons/full/obj16/class_obj.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_JSP = "icons/full/obj16/tag-jsp.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_PUBLIC = "icons/full/obj16/public.gif";			//$NON-NLS-1$
-    
-    public static final String FIELD_PROTECTED_OBJ = "icons/full/obj16/field_protected_obj.gif"; //$NON-NLS-1$
-    public static final String FIELD_PUBLIC_OBJ = "icons/full/obj16/field_public_obj.gif"; //$NON-NLS-1$
-    public static final String FIELD_DEFAULT_OBJ= "icons/full/obj16/field_default_obj.gif"; //$NON-NLS-1$
-    public static final String FIELD_PRIVATE_OBJ = "icons/full/obj16/field_private_obj.gif"; //$NON-NLS-1$
-    
-    public static final String DEFAULT_CO = "icons/full/obj16/default_co.gif"; //$NON-NLS-1$
-    public static final String PROTECTED_CO = "icons/full/obj16/protected_co.gif"; //$NON-NLS-1$
-    public static final String PUBLIC_CO = "icons/full/obj16/public_co.gif"; //$NON-NLS-1$
-    public static final String PRIVATE_CO = "icons/full/obj16/private_co.gif"; //$NON-NLS-1$
-    
-    public static final String INNERCLASS_DEFAULT_OBJ= "icons/full/obj16/innerclass_default_obj.gif"; //$NON-NLS-1$
-    public static final String INNERCLASS_PRIVATE_OBJ = "icons/full/obj16/innerclass_private_obj.gif"; //$NON-NLS-1$
-    public static final String INNERCLASS_PROTECTED_OBJ = "icons/full/obj16/innerclass_protected_obj.gif"; //$NON-NLS-1$
-    public static final String INNERCLASS_PUBLIC_OBJ = "icons/full/obj16/innerclass_public_obj.gif"; //$NON-NLS-1$
-    
-    public static final String INNERINTERFACE_DEFAULT_OBJ = "icons/full/obj16/innerinterface_default_obj.gif"; //$NON-NLS-1$
-    public static final String INNERINTERFACE_PRIVATE_OBJ = "icons/full/obj16/innerinterface_private_obj.gif"; //$NON-NLS-1$
-    public static final String INNERINTERFACE_PROTECTED_OBJ = "icons/full/obj16/innerinterface_protected_obj.gif"; //$NON-NLS-1$
-    public static final String INNERINTERFACE_PUBLIC_OBJ = "icons/full/obj16/innerinterface_public_obj.gif"; //$NON-NLS-1$
-    
-    public static final String PACKAGE_OBJ = "icons/full/obj16/package_obj.gif"; //$NON-NLS-1$
-    
-    public static final String LOCAL_VARIABLE_OBJ = "icons/full/obj16/localvariable_obj.gif"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileEditorInput.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileEditorInput.java
deleted file mode 100644
index ccb0734..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileEditorInput.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.editors.text.ILocationProvider;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * EditorInput for external files. Copied from
- * org.eclipse.ui.internal.editors.text.JavaFileEditorInput
- */
-class ExternalFileEditorInput implements IEditorInput, ILocationProvider {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	/**
-	 * The workbench adapter which simply provides the label.
-	 * 
-	 * @since 3.1
-	 */
-	private class WorkbenchAdapter implements IWorkbenchAdapter {
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object o) {
-			return null;
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-		 */
-		public ImageDescriptor getImageDescriptor(Object object) {
-			return null;
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-		 */
-		public String getLabel(Object o) {
-			return ((ExternalFileEditorInput) o).getName();
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object o) {
-			return null;
-		}
-	}
-
-	private File fFile;
-	private WorkbenchAdapter fWorkbenchAdapter = new WorkbenchAdapter();
-
-	public ExternalFileEditorInput(File file) {
-		super();
-		fFile = file;
-		fWorkbenchAdapter = new WorkbenchAdapter();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return fFile.exists();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return fFile.getName();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return fFile.getAbsolutePath();
-	}
-
-	/*
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (ILocationProvider.class.equals(adapter))
-			return this;
-		if (IWorkbenchAdapter.class.equals(adapter))
-			return fWorkbenchAdapter;
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/*
-	 * @see org.eclipse.ui.editors.text.ILocationProvider#getPath(java.lang.Object)
-	 */
-	public IPath getPath(Object element) {
-		if (element instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) element;
-			return Path.fromOSString(input.fFile.getAbsolutePath());
-		}
-		return null;
-	}
-
-	/*
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object o) {
-		if (o == this)
-			return true;
-
-		if (o instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) o;
-			return fFile.equals(input.fFile);
-		}
-
-		return false;
-	}
-
-	/*
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fFile.hashCode();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileHyperlink.java
deleted file mode 100644
index 61d6be1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/ExternalFileHyperlink.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Hyperlink for external files.
- */
-class ExternalFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	private IRegion fHyperlinkRegion;
-	private File fHyperlinkFile;
-
-	public ExternalFileHyperlink(IRegion region, File file) {
-		fHyperlinkFile = file;
-		fHyperlinkRegion = region;
-	}
-	
-	public IRegion getHyperlinkRegion() {
-		return fHyperlinkRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		if (fHyperlinkFile != null) {
-			IEditorInput input = new ExternalFileEditorInput(fHyperlinkFile);
-			IEditorDescriptor descriptor;
-			try {
-				descriptor = IDE.getEditorDescriptor(input.getName());
-				if (descriptor != null) {
-					IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-					IDE.openEditor(page, input, descriptor.getId(), true);
-				}
-			}
-			catch (PartInitException e) {
-				Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlink.java
deleted file mode 100644
index 539f959..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlink.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * Hyperlink for JSP Java elements
- */
-class JSPJavaHyperlink implements IHyperlink {
-	private IRegion fRegion;
-	private IJavaElement fElement;
-
-	public JSPJavaHyperlink(IRegion region, IJavaElement element) {
-		fRegion = region;
-		fElement = element;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkRegion()
-	 */
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#open()
-	 */
-	public void open() {
-		try {
-			IEditorPart editor = JavaUI.openInEditor(fElement);
-			if (editor != null) {
-				JavaUI.revealInEditor(editor, fElement);
-			}
-		}
-		catch (Exception e) {
-			Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java
deleted file mode 100644
index f7a963c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java
+++ /dev/null
@@ -1,237 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.ILocalVariable;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.ISourceReference;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-/**
- * Detects hyperlinks in JSP Java content
- */
-public class JSPJavaHyperlinkDetector implements IHyperlinkDetector {
-
-	private IHyperlink createHyperlink(IJavaElement element, IRegion region, IDocument document) {
-		IHyperlink link = null;
-		if (region != null) {
-			// open local variable in the JSP file...
-			if (element instanceof ISourceReference) {
-				IFile file = null;
-				int jspOffset = 0;
-				IStructuredModel sModel = null;
-
-				// try to locate the file in the workspace
-				try {
-					sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-					if (sModel != null) {
-						String uriString = sModel.getResolver().getFileBaseLocation();
-						file = getFile(uriString);
-					}
-				}
-				finally {
-					if (sModel != null)
-						sModel.releaseFromRead();
-				}
-
-				// get Java range, translate coordinate to JSP
-
-				try {
-					ISourceRange range = null;
-					IJSPTranslation jspTranslation = getJSPTranslation(document);
-					if (jspTranslation != null) {
-						// link to local variable definitions
-						if (element instanceof ILocalVariable) {
-							range = ((ILocalVariable) element).getNameRange();
-						}
-						// linking to fields of the same compilation unit
-						else if (element.getElementType() == IJavaElement.FIELD) {
-							Object cu = ((IField) element).getCompilationUnit();
-							if (cu != null && cu.equals(jspTranslation.getCompilationUnit()))
-								range = ((ISourceReference) element).getSourceRange();
-						}
-						// linking to methods of the same compilation unit
-						else if (element.getElementType() == IJavaElement.METHOD) {
-							Object cu = ((IMethod) element).getCompilationUnit();
-							if (cu != null && cu.equals(jspTranslation.getCompilationUnit()))
-								range = ((ISourceReference) element).getSourceRange();
-						}
-					}
-
-					if (range != null && file != null && file.exists()) {
-						jspOffset = jspTranslation.getJspOffset(range.getOffset());
-						if (jspOffset >= 0) {
-							link = new WorkspaceFileHyperlink(region, file, new Region(jspOffset, range.getLength()));
-						}
-					}
-				}
-				catch (JavaModelException jme) {
-					Logger.log(Logger.WARNING_DEBUG, jme.getMessage(), jme);
-				}
-			}
-			if (link == null) {
-				link = new JSPJavaHyperlink(region, element);
-			}
-		}
-		return link;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlinkDetector#detectHyperlinks(org.eclipse.jface.text.ITextViewer,
-	 *      org.eclipse.jface.text.IRegion, boolean)
-	 */
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		List hyperlinks = new ArrayList(0);
-
-		if (region != null && textViewer != null) {
-			IDocument document = textViewer.getDocument();
-
-			// check and make sure this is a valid Java type
-			JSPTranslation jspTranslation = getJSPTranslation(document);
-			if (jspTranslation != null) {
-				// check if we are in JSP Java content
-				int javaOffset = jspTranslation.getJavaOffset(region.getOffset());
-				if (javaOffset > -1) {
-					// check that we are not in indirect Java content (like
-					// included files)
-					if (!jspTranslation.isIndirect(javaOffset)) {
-						// get Java elements
-						IJavaElement[] elements = jspTranslation.getElementsFromJspRange(region.getOffset(), region.getOffset() + region.getLength());
-						if (elements != null && elements.length > 0) {
-							// create a JSPJavaHyperlink for each Java element
-							for (int i = 0; i < elements.length; ++i) {
-								IJavaElement element = elements[i];
-
-								// find hyperlink range for Java element
-								IRegion hyperlinkRegion = selectWord(document, region.getOffset());
-								IHyperlink link = createHyperlink(element, hyperlinkRegion, document);
-								if (link != null) {
-									hyperlinks.add(link);
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
-		if (hyperlinks.size() == 0)
-			return null;
-		return (IHyperlink[]) hyperlinks.toArray(new IHyperlink[0]);
-	}
-
-	/**
-	 * Returns an IFile from the given uri if possible, null if cannot find
-	 * file from uri.
-	 * 
-	 * @param fileString
-	 *            file system path
-	 * @return returns IFile if fileString exists in the workspace
-	 */
-	private IFile getFile(String fileString) {
-		IFile file = null;
-
-		if (fileString != null) {
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileString));
-			for (int i = 0; i < files.length && file == null; i++)
-				if (files[i].exists())
-					file = files[i];
-		}
-
-		return file;
-	}
-	/**
-	 * Get JSP translation object
-	 * 
-	 * @return JSPTranslation if one exists, null otherwise
-	 */
-	private JSPTranslation getJSPTranslation(IDocument document) {
-		JSPTranslation translation = null;
-
-		XMLModel xmlModel = null;
-		try {
-			xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (xmlModel != null) {
-				XMLDocument xmlDoc = xmlModel.getDocument();
-				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				if (adapter != null) {
-					translation = adapter.getJSPTranslation();
-				}
-			}
-		}
-		finally {
-			if (xmlModel != null)
-				xmlModel.releaseFromRead();
-		}
-		return translation;
-	}
-
-	/**
-	 * Java always selects word when defining region
-	 * 
-	 * @param document
-	 * @param anchor
-	 * @return IRegion
-	 */
-	private IRegion selectWord(IDocument document, int anchor) {
-
-		try {
-			int offset = anchor;
-			char c;
-
-			while (offset >= 0) {
-				c = document.getChar(offset);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				--offset;
-			}
-
-			int start = offset;
-
-			offset = anchor;
-			int length = document.getLength();
-
-			while (offset < length) {
-				c = document.getChar(offset);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				++offset;
-			}
-
-			int end = offset;
-
-			if (start == end)
-				return new Region(start, 0);
-
-			return new Region(start + 1, end - start - 1);
-
-		}
-		catch (BadLocationException x) {
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java
deleted file mode 100644
index fe8e5ab..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java
+++ /dev/null
@@ -1,223 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.hyperlink.URLHyperlink;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TLDRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibIndex;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Detects hyperlinks for taglibs.
- */
-public class TaglibHyperlinkDetector implements IHyperlinkDetector {
-	private final String HTTP_PROTOCOL = "http://";//$NON-NLS-1$
-
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		IHyperlink hyperlink = null;
-
-		if (textViewer != null && region != null) {
-			IDocument doc = textViewer.getDocument();
-			if (doc != null) {
-				try {
-					// check if jsp tag/directive first
-					ITypedRegion partition = TextUtilities.getPartition(doc, IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING, region.getOffset(), false);
-					if (partition != null && partition.getType() == StructuredTextPartitionerForJSP.ST_JSP_DIRECTIVE) {
-						// check if jsp taglib directive
-						Node currentNode = getCurrentNode(doc, region.getOffset());
-						if (currentNode != null && currentNode.getNodeType() == Node.ELEMENT_NODE && JSP11Namespace.ElementName.DIRECTIVE_TAGLIB.equalsIgnoreCase(currentNode.getNodeName())) {
-							// get the uri attribute
-							Attr taglibNode = ((Element) currentNode).getAttributeNode(JSP11Namespace.ATTR_NAME_URI);
-							ITaglibRecord reference = TaglibIndex.resolve(getBaseLocationForTaglib(doc), taglibNode.getValue(), false);
-							if (reference != null) {
-								// handle taglibs
-								switch (reference.getRecordType()) {
-									case (ITaglibRecord.TLD) : {
-										TLDRecord record = (TLDRecord) reference;
-										String uriString = record.getLocation().toString();
-										IRegion hyperlinkRegion = getHyperlinkRegion(taglibNode);
-										hyperlink = createHyperlink(uriString, hyperlinkRegion, doc, taglibNode);
-									}
-										break;
-									case (ITaglibRecord.JAR) :
-									case (ITaglibRecord.URL) : {
-										IRegion hyperlinkRegion = getHyperlinkRegion(taglibNode);
-										hyperlink = new TaglibJarUriHyperlink(hyperlinkRegion, reference);
-									}
-								}
-							}
-						}
-					}
-				}
-				catch (BadLocationException e) {
-					Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-				}
-			}
-		}
-		if (hyperlink != null)
-			return new IHyperlink[]{hyperlink};
-		return null;
-	}
-
-	/**
-	 * Get the base location from the current model (if within workspace,
-	 * location is relative to workspace, otherwise, file system path)
-	 */
-	private String getBaseLocationForTaglib(IDocument document) {
-		String baseLoc = null;
-
-		// get the base location from the current model
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (sModel != null) {
-				baseLoc = sModel.getBaseLocation();
-			}
-		}
-		finally {
-			if (sModel != null) {
-				sModel.releaseFromRead();
-			}
-		}
-		return baseLoc;
-	}
-
-	// the below methods were copied from URIHyperlinkDetector
-
-	private IRegion getHyperlinkRegion(Node node) {
-		IRegion hyperRegion = null;
-
-		if (node != null) {
-			short nodeType = node.getNodeType();
-			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-				// handle doc type node
-				XMLNode docNode = (XMLNode) node;
-				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
-			}
-			else if (nodeType == Node.ATTRIBUTE_NODE) {
-				// handle attribute nodes
-				XMLAttr att = (XMLAttr) node;
-				// do not include quotes in attribute value region
-				int regOffset = att.getValueRegionStartOffset();
-				int regLength = att.getValueRegion().getTextLength();
-				String attValue = att.getValueRegionText();
-				if (StringUtils.isQuoted(attValue)) {
-					regOffset = ++regOffset;
-					regLength = regLength - 2;
-				}
-				hyperRegion = new Region(regOffset, regLength);
-			}
-		}
-		return hyperRegion;
-	}
-
-	/**
-	 * Returns an IFile from the given uri if possible, null if cannot find
-	 * file from uri.
-	 * 
-	 * @param fileString
-	 *            file system path
-	 * @return returns IFile if fileString exists in the workspace
-	 */
-	private IFile getFile(String fileString) {
-		IFile file = null;
-
-		if (fileString != null) {
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileString));
-			for (int i = 0; i < files.length && file == null; i++)
-				if (files[i].exists())
-					file = files[i];
-		}
-
-		return file;
-	}
-
-	/**
-	 * Create the appropriate hyperlink
-	 * 
-	 * @param uriString
-	 * @param hyperlinkRegion
-	 * @return IHyperlink
-	 */
-	private IHyperlink createHyperlink(String uriString, IRegion hyperlinkRegion, IDocument document, Node node) {
-		IHyperlink link = null;
-
-		if (uriString != null) {
-			String temp = uriString.toLowerCase();
-			if (temp.startsWith(HTTP_PROTOCOL)) {
-				// this is a URLHyperlink since this is a web address
-				link = new URLHyperlink(hyperlinkRegion, uriString);
-			}
-
-			// try to locate the file in the workspace
-			IFile file = getFile(uriString);
-			if (file != null && file.exists()) {
-				// this is a WorkspaceFileHyperlink since file exists in
-				// workspace
-				link = new WorkspaceFileHyperlink(hyperlinkRegion, file);
-			}
-			else {
-				// this is an ExternalFileHyperlink since file does not exist
-				// in workspace
-				File externalFile = new File(uriString);
-				link = new ExternalFileHyperlink(hyperlinkRegion, externalFile);
-			}
-		}
-
-		return link;
-	}
-
-	/**
-	 * Returns the node the cursor is currently on in the document. null if no
-	 * node is selected
-	 * 
-	 * @param offset
-	 * @return Node either element, doctype, text, or null
-	 */
-	private Node getCurrentNode(IDocument document, int offset) {
-		// get the current node at the offset (returns either: element,
-		// doctype, text)
-		IndexedRegion inode = null;
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			inode = sModel.getIndexedRegion(offset);
-			if (inode == null)
-				inode = sModel.getIndexedRegion(offset - 1);
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-
-		if (inode instanceof Node) {
-			return (Node) inode;
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarHyperlink.java
deleted file mode 100644
index f612725..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarHyperlink.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Hyperlink for taglib files in jars.
- */
-class TaglibJarHyperlink implements IHyperlink {
-	static class ZipStorage implements IStorage {
-		File fFile = null;
-		String fEntryName = null;
-
-		ZipStorage(File file, String entryName) {
-			fFile = file;
-			fEntryName = entryName;
-		}
-
-		public InputStream getContents() throws CoreException {
-			InputStream stream = null;
-			try {
-				ZipFile file = new ZipFile(fFile);
-				ZipEntry entry = file.getEntry(fEntryName);
-				stream = file.getInputStream(entry);
-			}
-			catch (Exception e) {
-				throw new CoreException(new Status(IStatus.ERROR, JSPUIPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, getFullPath().toString(), e));
-			}
-			return stream;
-		}
-
-		public IPath getFullPath() {
-			return new Path(fFile.getAbsolutePath() + IPath.SEPARATOR + fEntryName);
-		}
-
-		public String getName() {
-			return fEntryName;
-		}
-
-		public boolean isReadOnly() {
-			return true;
-		}
-
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-	}
-
-	private IRegion fRegion;
-	private IPath fZipFilePath;
-
-	public TaglibJarHyperlink(IRegion region, IPath zipFilePath) {
-		fRegion = region;
-		fZipFilePath = zipFilePath;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		IEditorInput input = new URLFileHyperlink.StorageEditorInput(new ZipStorage(fZipFilePath.toFile(), "META-INF/taglib.tld"));
-		IEditorDescriptor descriptor;
-		try {
-			descriptor = IDE.getEditorDescriptor(input.getName());
-			if (descriptor != null) {
-				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				IDE.openEditor(page, input, descriptor.getId(), true);
-			}
-		}
-		catch (PartInitException e) {
-			Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarUriHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarUriHyperlink.java
deleted file mode 100644
index aab8f40..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibJarUriHyperlink.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.JarRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.URLRecord;
-
-/**
- * Hyperlink for taglib files in jars or specified by urls.
- */
-class TaglibJarUriHyperlink implements IHyperlink {
-	private IRegion fRegion;
-	private ITaglibRecord fTaglibRecord;
-	private IHyperlink fHyperlink;
-
-	public TaglibJarUriHyperlink(IRegion region, ITaglibRecord record) {
-		fRegion = region;
-		fTaglibRecord = record;
-	}
-
-	private IHyperlink getHyperlink() {
-		if (fHyperlink == null && fTaglibRecord != null) {
-			switch (fTaglibRecord.getRecordType()) {
-				case (ITaglibRecord.JAR) : {
-					JarRecord record = (JarRecord) fTaglibRecord;
-					fHyperlink = new TaglibJarHyperlink(fRegion, record.getLocation());
-				}
-					break;
-				case (ITaglibRecord.URL) : {
-					URLRecord record = (URLRecord) fTaglibRecord;
-					fHyperlink = new URLFileHyperlink(fRegion, record.getURL());
-				}
-			}
-		}
-		return fHyperlink;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		IRegion region = null;
-
-		IHyperlink link = getHyperlink();
-		if (link != null) {
-			region = link.getHyperlinkRegion();
-		}
-		return region;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		IHyperlink link = getHyperlink();
-		if (link != null) {
-			link.open();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URIHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URIHyperlinkDetector.java
deleted file mode 100644
index 4f4ac76..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URIHyperlinkDetector.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-/**
- * Detects hyperlinks in tags. Includes detection in DOCTYPE and attribute
- * values. Resolves references to schemas, dtds, href, file, src, etc using the
- * Web Project Resolver.
- * 
- */
-public class URIHyperlinkDetector extends XMLHyperlinkDetector {
-	// copies of this class exist in:
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	private final String SCHEMA_LOCATION = "schemaLocation"; //$NON-NLS-1$
-	private final String XMLNS = "xmlns"; //$NON-NLS-1$
-	private final String XSI_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
-
-	protected String getURIString(Node node, IDocument document) {
-		if (isXMLHandled(node))
-			return super.getURIString(node, document);
-		
-		String resolvedURI = null;
-		if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			// handle attribute node
-			Attr attrNode = (Attr) node;
-			String attrValue = attrNode.getValue();
-			attrValue = StringUtils.strip(attrValue);
-
-			if (attrValue != null && attrValue.length() > 0) {
-				// currently using model's URI resolver until a better resolver is
-				// extended to common extensible URI resolver
-				// future_TODO: should use the new common extensible URI resolver
-				// when
-				// clients start implementing it
-				IStructuredModel sModel = null;
-				try {
-					sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-					if (sModel != null) {
-						URIResolver resolver = sModel.getResolver();
-						resolvedURI = resolver != null ? resolver.getLocationByURI(attrValue, true) : attrValue;
-					}
-				}
-				catch (Exception e) {
-					Logger.logException(e);
-				}
-				finally {
-					if (sModel != null)
-						sModel.releaseFromRead();
-				}
-			}
-		}
-		return resolvedURI;
-	}
-	
-	/**
-	 * Check if this is an xml-related node (schema location, doctype).
-	 * @param node
-	 * @return
-	 */
-	private boolean isXMLHandled(Node node) {
-		short nodeType = node.getNodeType();
-		if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-			return true;
-		} else if (nodeType == Node.ATTRIBUTE_NODE) {
-			Attr attrNode = (Attr) node;
-			String attrName = attrNode.getName();
-
-			// handle schemaLocation attribute
-			String prefix = DOMNamespaceHelper.getPrefix(attrName);
-			String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-			if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName))) {
-				return true;
-			} else if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attrNode))) && (SCHEMA_LOCATION.equals(unprefixedName))) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URLFileHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URLFileHyperlink.java
deleted file mode 100644
index 092f6bd..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/URLFileHyperlink.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Hyperlink for URLs (opens in read-only mode)
- */
-class URLFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	static class StorageEditorInput implements IStorageEditorInput {
-		IStorage fStorage = null;
-
-		StorageEditorInput(IStorage storage) {
-			fStorage = storage;
-		}
-
-		public IStorage getStorage() throws CoreException {
-			return fStorage;
-		}
-
-		public boolean exists() {
-			return fStorage != null;
-		}
-
-		public ImageDescriptor getImageDescriptor() {
-			return null;
-		}
-
-		public String getName() {
-			return fStorage.getName();
-		}
-
-		public IPersistableElement getPersistable() {
-			return null;
-		}
-
-		public String getToolTipText() {
-			return fStorage.getFullPath().toString();
-		}
-
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-	}
-	
-	static class URLStorage implements IStorage {
-		URL fURL = null;
-
-		URLStorage(URL url) {
-			fURL = url;
-		}
-
-		public InputStream getContents() throws CoreException {
-			InputStream stream = null;
-			try {
-				stream = fURL.openStream();
-			}
-			catch (Exception e) {
-				throw new CoreException(new Status(IStatus.ERROR, JSPUIPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, fURL.toString(), e));
-			}
-			return stream;
-		}
-
-		public IPath getFullPath() {
-			return new Path(fURL.toString());
-		}
-
-		public String getName() {
-			return new Path(fURL.getFile()).lastSegment();
-		}
-
-		public boolean isReadOnly() {
-			return true;
-		}
-
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-
-	}
-
-	private IRegion fRegion;
-	private URL fURL;
-
-	public URLFileHyperlink(IRegion region, URL url) {
-		fRegion = region;
-		fURL = url;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#open()
-	 */
-	public void open() {
-		if (fURL != null) {
-			IEditorInput input = new StorageEditorInput(new URLStorage(fURL));
-			IEditorDescriptor descriptor;
-			try {
-				descriptor = IDE.getEditorDescriptor(input.getName());
-				if (descriptor != null) {
-					IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-					IDE.openEditor(page, input, descriptor.getId(), true);
-				}
-			}
-			catch (PartInitException e) {
-				Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/WorkspaceFileHyperlink.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/WorkspaceFileHyperlink.java
deleted file mode 100644
index 66c1725..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/WorkspaceFileHyperlink.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-
-/**
- * Hyperlink for files within the workspace. (As long as there is an IFile,
- * this can be used) Opens the default editor for the file.
- */
-class WorkspaceFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	private IRegion fRegion;
-	private IFile fFile;
-	private IRegion fHighlightRange;
-
-	public WorkspaceFileHyperlink(IRegion region, IFile file) {
-		fRegion = region;
-		fFile = file;
-	}
-
-	public WorkspaceFileHyperlink(IRegion region, IFile file, IRegion range) {
-		fRegion = region;
-		fFile = file;
-		fHighlightRange = range;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		if (fFile != null && fFile.exists()) {
-			try {
-				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				IEditorPart editor = IDE.openEditor(page, fFile, true);
-				// highlight range in editor if possible
-				if (fHighlightRange != null && editor instanceof ITextEditor) {
-					((ITextEditor) editor).setHighlightRange(fHighlightRange.getOffset(), fHighlightRange.getLength(), true);
-				}
-			}
-			catch (PartInitException pie) {
-				Logger.log(Logger.WARNING_DEBUG, pie.getMessage(), pie);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java
deleted file mode 100644
index 98ccf1d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java
+++ /dev/null
@@ -1,467 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.hyperlink;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.hyperlink.URLHyperlink;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.wst.common.uriresolver.URIResolverPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * Detects hyperlinks in XML tags. Includes detection in DOCTYPE and attribute
- * values. Resolves references to schemas, dtds, etc using the Common URI
- * Resolver.
- * 
- */
-class XMLHyperlinkDetector implements IHyperlinkDetector {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	private final String NO_NAMESPACE_SCHEMA_LOCATION = "noNamespaceSchemaLocation"; //$NON-NLS-1$
-	private final String SCHEMA_LOCATION = "schemaLocation"; //$NON-NLS-1$
-	private final String XMLNS = "xmlns"; //$NON-NLS-1$
-	private final String XSI_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
-	private final String HTTP_PROTOCOL = "http://";//$NON-NLS-1$
-
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		// for now, only capable of creating 1 hyperlink
-		List hyperlinks = new ArrayList(0);
-
-		if (region != null && textViewer != null) {
-			IDocument document = textViewer.getDocument();
-			Node currentNode = getCurrentNode(document, region.getOffset());
-			if (currentNode != null) {
-				String uriString = null;
-				if (currentNode.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-					// doctype nodes
-					uriString = getURIString(currentNode, document);
-				}
-				else if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
-					// element nodes
-					Attr currentAttr = getCurrentAttrNode(currentNode, region.getOffset());
-					if (currentAttr != null) {
-						// try to find link for current attribute
-						// resolve attribute value
-						uriString = getURIString(currentAttr, document);
-						// verify validity of uri string
-						if (!isValidURI(uriString))
-							// reset current attribute
-							currentAttr = null;
-					}
-					if (currentAttr == null) {
-						// try to find a linkable attribute within element
-						currentAttr = getLinkableAttr((Element) currentNode);
-						if (currentAttr != null) {
-							uriString = getURIString(currentAttr, document);
-						}
-					}
-					currentNode = currentAttr;
-				}
-				// try to create hyperlink from information gathered
-				if (uriString != null && currentNode != null && isValidURI(uriString)) {
-					IRegion hyperlinkRegion = getHyperlinkRegion(currentNode);
-					IHyperlink hyperlink = createHyperlink(uriString, hyperlinkRegion, document, currentNode);
-					if (hyperlink != null) {
-						hyperlinks.add(hyperlink);
-					}
-				}
-			}
-		}
-		if (hyperlinks.size() == 0)
-			return null;
-		return (IHyperlink[]) hyperlinks.toArray(new IHyperlink[0]);
-	}
-
-	/**
-	 * Create the appropriate hyperlink
-	 * 
-	 * @param uriString
-	 * @param hyperlinkRegion
-	 * @return IHyperlink
-	 */
-	private IHyperlink createHyperlink(String uriString, IRegion hyperlinkRegion, IDocument document, Node node) {
-		IHyperlink link = null;
-
-		if (uriString != null) {
-			String temp = uriString.toLowerCase();
-			if (temp.startsWith(HTTP_PROTOCOL)) {
-				// this is a URLHyperlink since this is a web address
-				link = new URLHyperlink(hyperlinkRegion, uriString);
-			}
-			else {
-				// try to locate the file in the workspace
-				IFile file = getFile(uriString);
-				if (file != null && file.exists()) {
-					// this is a WorkspaceFileHyperlink since file exists in
-					// workspace
-					link = new WorkspaceFileHyperlink(hyperlinkRegion, file);
-				}
-				else {
-					// this is an ExternalFileHyperlink since file does not
-					// exist
-					// in workspace
-					File externalFile = new File(uriString);
-					link = new ExternalFileHyperlink(hyperlinkRegion, externalFile);
-				}
-			}
-		}
-
-		return link;
-	}
-
-	private IRegion getHyperlinkRegion(Node node) {
-		IRegion hyperRegion = null;
-
-		if (node != null) {
-			short nodeType = node.getNodeType();
-			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-				// handle doc type node
-				XMLNode docNode = (XMLNode) node;
-				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
-			}
-			else if (nodeType == Node.ATTRIBUTE_NODE) {
-				// handle attribute nodes
-				XMLAttr att = (XMLAttr) node;
-				// do not include quotes in attribute value region
-				int regOffset = att.getValueRegionStartOffset();
-				int regLength = att.getValueRegion().getTextLength();
-				String attValue = att.getValueRegionText();
-				if (StringUtils.isQuoted(attValue)) {
-					regOffset = ++regOffset;
-					regLength = regLength - 2;
-				}
-				hyperRegion = new Region(regOffset, regLength);
-			}
-		}
-		return hyperRegion;
-	}
-
-	/**
-	 * Returns the URI string
-	 * 
-	 * @param node -
-	 *            assumes not null
-	 */
-	protected String getURIString(Node node, IDocument document) {
-		String resolvedURI = null;
-		// need the base location, publicId, and systemId for URIResolver
-		String baseLoc = null;
-		String publicId = null;
-		String systemId = null;
-
-		short nodeType = node.getNodeType();
-		// handle doc type node
-		if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-			baseLoc = getBaseLocation(document);
-			publicId = ((DocumentType) node).getPublicId();
-			systemId = ((DocumentType) node).getSystemId();
-		}
-		else if (nodeType == Node.ATTRIBUTE_NODE) {
-			// handle attribute node
-			Attr attrNode = (Attr) node;
-			baseLoc = getBaseLocation(document);
-			String attrName = attrNode.getName();
-			String attrValue = attrNode.getValue();
-			attrValue = StringUtils.strip(attrValue);
-
-			// handle schemaLocation attribute
-			String prefix = DOMNamespaceHelper.getPrefix(attrName);
-			String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-			if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName))) {
-				publicId = attrValue;
-				systemId = getLocationHint(attrNode.getOwnerElement(), publicId);
-			}
-			else if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attrNode))) && (SCHEMA_LOCATION.equals(unprefixedName))) {
-				// for now just use the first pair
-				// need to look into being more precise
-				StringTokenizer st = new StringTokenizer(attrValue);
-				publicId = st.hasMoreTokens() ? st.nextToken() : null;
-				systemId = st.hasMoreTokens() ? st.nextToken() : null;
-				// else check if xmlns publicId = value
-			}
-			else {
-				systemId = attrValue;
-			}
-		}
-
-		resolvedURI = resolveURI(baseLoc, publicId, systemId);
-		return resolvedURI;
-	}
-
-	/**
-	 * Returns an IFile from the given uri if possible, null if cannot find
-	 * file from uri.
-	 * 
-	 * @param fileString
-	 *            file system path
-	 * @return returns IFile if fileString exists in the workspace
-	 */
-	private IFile getFile(String fileString) {
-		IFile file = null;
-
-		if (fileString != null) {
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileString));
-			for (int i = 0; i < files.length && file == null; i++)
-				if (files[i].exists())
-					file = files[i];
-		}
-
-		return file;
-	}
-
-	/**
-	 * Checks to see if the given attribute is openable. Attribute is openable
-	 * if it is a namespace declaration attribute or if the attribute value is
-	 * of type URI.
-	 * 
-	 * @param attr
-	 *            cannot be null
-	 * @param cmElement
-	 *            CMElementDeclaration associated with the attribute (can be
-	 *            null)
-	 * @return true if this attribute is "openOn-able" false otherwise
-	 */
-	private boolean isLinkableAttr(Attr attr, CMElementDeclaration cmElement) {
-		String attrName = attr.getName();
-		String prefix = DOMNamespaceHelper.getPrefix(attrName);
-		String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-		// determine if attribute is namespace declaration
-		if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName)))
-			return true;
-
-		// determine if attribute contains schema location
-		if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attr))) && ((SCHEMA_LOCATION.equals(unprefixedName)) || (NO_NAMESPACE_SCHEMA_LOCATION.equals(unprefixedName))))
-			return true;
-
-		// determine if attribute value is of type URI
-		if (cmElement != null) {
-			CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) cmElement.getAttributes().getNamedItem(attrName);
-			if ((attrDecl != null) && (attrDecl.getAttrType() != null) && (CMDataType.URI.equals(attrDecl.getAttrType().getDataTypeName()))) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Attempts to find an attribute within element that is openable.
-	 * 
-	 * @param element -
-	 *            cannot be null
-	 * @return Attr attribute that can be used for open on, null if no
-	 *         attribute could be found
-	 */
-	private Attr getLinkableAttr(Element element) {
-		CMElementDeclaration ed = getCMElementDeclaration(element);
-		// get the list of attributes for this node
-		NamedNodeMap attrs = element.getAttributes();
-		for (int i = 0; i < attrs.getLength(); ++i) {
-			// check if this attribute is "openOn-able"
-			Attr att = (Attr) attrs.item(i);
-			if (isLinkableAttr(att, ed)) {
-				return att;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Get the CMElementDeclaration for an element
-	 * 
-	 * @param element
-	 * @return CMElementDeclaration
-	 */
-	private CMElementDeclaration getCMElementDeclaration(Element element) {
-		CMElementDeclaration ed = null;
-
-		ModelQuery mq = ModelQueryUtil.getModelQuery(element.getOwnerDocument());
-		if (mq != null) {
-			ed = mq.getCMElementDeclaration(element);
-		}
-		return ed;
-	}
-
-	/**
-	 * Returns the attribute node within node at offset
-	 * 
-	 * @param node
-	 * @param offset
-	 * @return Attr
-	 */
-	private Attr getCurrentAttrNode(Node node, int offset) {
-		if ((node instanceof IndexedRegion) && ((IndexedRegion) node).contains(offset) && (node.hasAttributes())) {
-			NamedNodeMap attrs = node.getAttributes();
-			// go through each attribute in node and if attribute contains
-			// offset, return that attribute
-			for (int i = 0; i < attrs.getLength(); ++i) {
-				// assumption that if parent node is of type IndexedRegion,
-				// then its attributes will also be of type IndexedRegion
-				IndexedRegion attRegion = (IndexedRegion) attrs.item(i);
-				if (attRegion.contains(offset)) {
-					return (Attr) attrs.item(i);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the node the cursor is currently on in the document. null if no
-	 * node is selected
-	 * 
-	 * @param offset
-	 * @return Node either element, doctype, text, or null
-	 */
-	private Node getCurrentNode(IDocument document, int offset) {
-		// get the current node at the offset (returns either: element,
-		// doctype, text)
-		IndexedRegion inode = null;
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			inode = sModel.getIndexedRegion(offset);
-			if (inode == null)
-				inode = sModel.getIndexedRegion(offset - 1);
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-
-		if (inode instanceof Node) {
-			return (Node) inode;
-		}
-		return null;
-	}
-
-	/**
-	 * Get the base location from the current model (local file system)
-	 */
-	private String getBaseLocation(IDocument document) {
-		String baseLoc = null;
-
-		// get the base location from the current model
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (sModel != null) {
-				IPath location = new Path(sModel.getBaseLocation());
-				if (location.toFile().exists()) {
-					baseLoc = location.toString();
-				}
-				else {
-					baseLoc = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(sModel.getBaseLocation()).toString();
-				}
-			}
-		}
-		finally {
-			if (sModel != null) {
-				sModel.releaseFromRead();
-			}
-		}
-		return baseLoc;
-	}
-
-	/**
-	 * Checks whether the given uriString is really pointing to a file
-	 * 
-	 * @param uriString
-	 * @return boolean
-	 */
-	private boolean isValidURI(String uriString) {
-		// try to create a uri
-		if (uriString != null) {
-			URI uri = null;
-			try {
-				uri = new URI(uriString);
-			}
-			catch (URISyntaxException e) {
-				// it is okay that this is not a uri
-			}
-
-			File file = null;
-			// create a file from uri if it's not an absolute uri (ex:
-			// http://myfile)
-			if (uri != null && !uri.isAbsolute())
-				file = new File(uri);
-			else
-				// create a file from uriString which is an absolute path (ex:
-				// d:/myfile)
-				file = new File(uriString);
-			// check if the newly created file exists
-			return file.exists();
-		}
-		return false;
-	}
-
-	/**
-	 * Resolves the given URI information
-	 * 
-	 * @param baseLocation
-	 * @param publicId
-	 * @param systemId
-	 * @return String resolved uri.
-	 */
-	private String resolveURI(String baseLocation, String publicId, String systemId) {
-		// dont resolve if there's nothing to resolve
-		if ((baseLocation == null) && (publicId == null) && (systemId == null))
-			return null;
-		return URIResolverPlugin.createResolver().resolve(baseLocation, publicId, systemId);
-	}
-
-	/**
-	 * Find the location hint for the given namespaceURI if it exists
-	 * 
-	 * @param elementNode -
-	 *            cannot be null
-	 * @param namespaceURI -
-	 *            cannot be null
-	 * @return location hint (systemId) if it was found, null otherwise
-	 */
-	private String getLocationHint(Element elementNode, String namespaceURI) {
-		Attr schemaLocNode = elementNode.getAttributeNodeNS(XSI_NAMESPACE_URI, SCHEMA_LOCATION);
-		if (schemaLocNode != null) {
-			StringTokenizer st = new StringTokenizer(schemaLocNode.getValue());
-			while (st.hasMoreTokens()) {
-				String publicId = st.hasMoreTokens() ? st.nextToken() : null;
-				String systemId = st.hasMoreTokens() ? st.nextToken() : null;
-				// found location hint
-				if (namespaceURI.equalsIgnoreCase(publicId))
-					return systemId;
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/BasicRefactorSearchRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/BasicRefactorSearchRequestor.java
deleted file mode 100644
index 4544376..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/BasicRefactorSearchRequestor.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jdt.core.search.SearchRequestor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.common.encoding.CodedStreamCreator;
-import org.eclipse.wst.sse.core.document.DocumentReader;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-/**
- * Creates document change(s) for an IJavaElement rename.
- * Changes are created for every type "match" in the workspace
- * @author pavery
- */
-public class BasicRefactorSearchRequestor extends SearchRequestor {
-	
-	/**
-	 * Workspace operation to perform save on model for updated documents.
-	 * Should only be done on models not open in an editor.
-	 */
-	private class SaveJspFileOp extends WorkspaceModifyOperation {
-		
-		private IDocument fJSPDoc = null;
-		private IFile fJSPFile = null;
-		
-		public SaveJspFileOp(IFile jspFile, IDocument jspDoc) {
-			this.fJSPDoc = jspDoc;
-			this.fJSPFile = jspFile;
-		}
-		
-		protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
-			
-			// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3765
-			// save file w/ no intermediate model creation
-			
-			CodedStreamCreator codedStreamCreator = new CodedStreamCreator();
-			Reader reader = new DocumentReader(this.fJSPDoc);
-			codedStreamCreator.set(this.fJSPFile, reader);
-			
-			ByteArrayOutputStream codedByteStream = null;
-			InputStream codedStream = null;
-			try {
-				codedByteStream = codedStreamCreator.getCodedByteArrayOutputStream();
-				codedStream = new ByteArrayInputStream(codedByteStream.toByteArray());
-				if (this.fJSPFile.exists())
-					this.fJSPFile.setContents(codedStream, true, true, null);
-				else
-					this.fJSPFile.create(codedStream, false, null);
-				
-			} catch (CoreException e) {
-				Logger.logException(e);
-			} catch (IOException e) {
-				Logger.logException(e);
-			}
-			finally {
-				try {
-					if(codedByteStream != null)
-						codedByteStream.close();
-					if(codedStream != null)
-						codedStream.close();
-				}
-				catch (IOException e){
-					// unlikely
-				}
-			}
-		}
-	}
-	// end inner class SaveJspFileOp
-	
-	/**
-	 * Change class that wraps a text edit on the jsp document
-	 */
-	private class RenameChange extends Change {
-
-		private TextEdit fEdit = null;
-		private IFile fJSPFile = null;
-		private IDocument fJSPDoc = null;
-		private String fDescription = JSPUIPlugin.getResourceString("%BasicRefactorSearchRequestor.0"); //$NON-NLS-1$
-		
-		public RenameChange(IFile jspFile, IDocument jspDoc, TextEdit edit, String description) {
-			this.fEdit = edit;
-			this.fJSPFile = jspFile;
-			this.fJSPDoc = jspDoc;
-			this.fDescription = description;
-		}
-		
-		public RefactoringStatus isValid(IProgressMonitor pm)throws CoreException {
-			return new RefactoringStatus();
-		}
-		
-		public Change perform(IProgressMonitor pm) throws CoreException {
-			RenameChange undoChange = null;
-			try {
-				
-				if(!isOpenInEditor(this.fJSPDoc)) {
-					// apply edit to JSP doc AND save model
-					undoChange = new RenameChange(this.fJSPFile, this.fJSPDoc, this.fEdit.apply(fJSPDoc), this.fDescription);
-					saveFile(this.fJSPFile, this.fJSPDoc);
-				}
-				else {
-					// just apply edit to JSP document
-					undoChange = new RenameChange(this.fJSPFile, this.fJSPDoc, this.fEdit.apply(fJSPDoc), this.fDescription);
-				}
-				
-			} catch (MalformedTreeException e) {
-				Logger.logException(e);
-			} catch (BadLocationException e) {
-				Logger.logException(e);
-			}
-			return undoChange;
-		}
-		
-		/**
-		 * Performed in an operation since it modifies resources in the workspace
-		 * @param jspDoc
-		 * @throws CoreException
-		 */
-		private void saveFile(IFile jspFile, IDocument jspDoc) {
-			
-			SaveJspFileOp op  = new SaveJspFileOp(jspFile, jspDoc);
-			
-			try {
-				op.run(JSPSearchSupport.getInstance().getProgressMonitor());
-			} catch (InvocationTargetException e) {
-				Logger.logException(e);
-			} catch (InterruptedException e) {
-				Logger.logException(e);
-			}
-		}
-
-		/**
-		 * Checks if a document is open in an editor
-		 * @param jspDoc
-		 * @return
-		 */
-		private boolean isOpenInEditor(IDocument jspDoc) {
-			
-			IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-			IWorkbenchWindow w = null;
-			for (int i = 0; i < windows.length; i++) {
-				
-				w = windows[i];
-				IWorkbenchPage page = w.getActivePage();
-				if(page != null) {
-					
-					IEditorReference[] references = page.getEditorReferences();
-					IEditorPart editor = null;
-					Object o = null;
-					IDocument doc = null;
-					for (int j = 0; j < references.length; j++) {
-						
-						editor = references[j].getEditor(true);
-						// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3764
-						// use adapter to get ITextEditor (for things like page designer)
-						o = editor.getAdapter(ITextEditor.class);
-						if(o != null && o instanceof StructuredTextEditor) {
-							
-							doc = ((StructuredTextEditor)o).getDocument();
-							if(doc != null && doc.equals(jspDoc)) {
-								return true;
-							}
-						}
-					}
-				}
-			}
-			return false;
-		}
-
-		public void initializeValidationData(IProgressMonitor pm) {
-			// TODO Auto-generated method stub
-		}
-
-		public String getName() {
-			return this.fDescription;
-		}
-		
-		public Object getModifiedElement() {
-			return getElement();
-		}
-	}
-	// end inner class RenameChange
-	
-	
-	/** The type being renamed (the old type)*/
-	IJavaElement fElement = null;
-	/** The new name of the type being renamed*/
-	private String fNewName = ""; //$NON-NLS-1$
-	/** maps a JSPSearchDocument path -> MultiTextEdit for the java file*/
-	private HashMap fSearchDocPath2JavaEditMap = null;
-	
-	public BasicRefactorSearchRequestor(IJavaElement element, String newName) {
-		this.fNewName = newName;
-		this.fElement = element;
-		this.fSearchDocPath2JavaEditMap = new HashMap();
-	}
-	
-	public IJavaElement getElement() {
-		return this.fElement;
-	}
-
-	/**
-	 * @return the new name for the Type
-	 */
-	public String getNewName() {
-		return this.fNewName;
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#acceptSearchMatch(org.eclipse.jdt.core.search.SearchMatch)
-	 */
-	public void acceptSearchMatch(SearchMatch javaMatch) throws CoreException {
-		
-		String matchDocumentPath = javaMatch.getResource().getFullPath().toString();
-		SearchDocument searchDoc = JSPSearchSupport.getInstance().getSearchDocument(matchDocumentPath);
-	
-		if (searchDoc != null && searchDoc instanceof JavaSearchDocumentDelegate) {
-	
-			String renameText = getRenameText((JavaSearchDocumentDelegate)searchDoc, javaMatch);
-			
-			// add it for the correct document
-			addJavaEdit(searchDoc.getPath(), new ReplaceEdit(javaMatch.getOffset(), javaMatch.getLength(), renameText));
-		}
-	}
-	
-	/**
-	 * @param searchDoc
-	 * @return
-	 */
-	protected String getRenameText(JavaSearchDocumentDelegate searchDoc, SearchMatch javaMatch) {
-		return getNewName();
-	}
-
-	/**
-	 * Adds to the multi edit for a give java document.
-	 * @param javaDocument
-	 * @param javaEdit
-	 */
-	private void addJavaEdit(String searchDocPath, ReplaceEdit javaEdit) {
-		
-		Object o = this.fSearchDocPath2JavaEditMap.get(searchDocPath);
-		if(o != null) {
-
-			MultiTextEdit multi = (MultiTextEdit)o;
-			multi.addChild(javaEdit);
-		}
-		else {
-			// use a multi edit so doc position offsets get updated automatically
-			// when adding multiple child edits
-			MultiTextEdit multi = new MultiTextEdit();
-			multi.addChild(javaEdit);
-			this.fSearchDocPath2JavaEditMap.put(searchDocPath, multi);
-		}
-	}
-	
-	/**
-	 * 
-	 * @return all JSP changes for the search matches for the given Type
-	 */
-	public Change[] getChanges() {
-		
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		List changes = new ArrayList();
-		Iterator keys = fSearchDocPath2JavaEditMap.keySet().iterator();
-		String searchDocPath = null;
-		SearchDocument delegate = null;
-		
-		while(keys.hasNext()) {
-			// create on the fly
-			searchDocPath = (String)keys.next();
-			MultiTextEdit javaEdit = (MultiTextEdit)fSearchDocPath2JavaEditMap.get(searchDocPath);
-			delegate = support.getSearchDocument(searchDocPath);
-			
-			if(delegate != null && delegate instanceof JavaSearchDocumentDelegate) {
-				JavaSearchDocumentDelegate javaDelegate = (JavaSearchDocumentDelegate)delegate;
-				changes.add(createChange(javaDelegate, javaDelegate.getJspTranslation().getJspEdit(javaEdit)));
-			}
-		}
-		return (Change[])changes.toArray(new Change[changes.size()]);
-	}
-	
-	private Change createChange(JavaSearchDocumentDelegate searchDoc, TextEdit edit) {
-		
-		IDocument doc = searchDoc.getJspTranslation().getJspDocument();
-		String file = searchDoc.getFile().getName();
-		String description = getDescription();
-		try {
-			// document lines are 0 based
-			String lineNumber = Integer.toString(doc.getLineOfOffset(edit.getOffset()) + 1);
-			description += " " + MessageFormat.format(JSPUIPlugin.getResourceString("%BasicRefactorSearchRequestor.1"), new String[]{file, lineNumber}); //$NON-NLS-1$
-		} 
-		catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-		return new RenameChange(searchDoc.getFile(), doc, edit, description);
-	}
-	
-	// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3205
-	// only relevant for IType refactorings
-	protected boolean isFullyQualified(String matchText) {
-		if(getElement() instanceof IType) {
-			String pkg = ((IType)getElement()).getPackageFragment().getElementName();
-			return matchText.startsWith(pkg);
-		}
-		return false;
-	}
-
-	/**
-	 * Subclasses should override to better describe the change.
-	 * @return
-	 */
-	protected String getDescription() {
-		return ""; //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java
deleted file mode 100644
index 40fb30d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.ui.internal.java.refactoring;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-class JSPJavaSelectionProvider {
-	static IJavaElement[] getSelection(ITextEditor textEditor) {
-		IJavaElement[] elements = null;
-
-		IDocument document = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
-		ISelection selection = textEditor.getSelectionProvider().getSelection();
-		if (selection instanceof ITextSelection) {
-			ITextSelection textSelection = (ITextSelection) selection;
-			// get the JSP translation object for this editor's document
-			XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			try {
-				if (xmlModel != null) {
-					XMLDocument xmlDoc = xmlModel.getDocument();
-
-					JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-					if (adapter != null) {
-						JSPTranslation translation = adapter.getJSPTranslation();
-						elements = translation.getElementsFromJspRange(textSelection.getOffset(), textSelection.getLength());
-					}
-				}
-			}
-			finally {
-				if (xmlModel != null)
-					xmlModel.releaseFromRead();
-			}
-		}
-		if (elements == null) {
-			elements = new IJavaElement[0];
-		}
-		return elements;
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameChange.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameChange.java
deleted file mode 100644
index ac0d947..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameChange.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * @author pavery
- */
-public class JSPMethodRenameChange extends Change {
-
-	public static Change[] createChangesFor(IMethod method, String newName) {
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		
-		// should be handled by JSPIndexManager
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3036
-		// support.indexWorkspaceAndWait();
-		
-		BasicRefactorSearchRequestor requestor = new JSPMethodRenameRequestor(method, newName);
-		support.searchRunnable(method, new JSPSearchScope(), requestor);
-
-		return requestor.getChanges();
-	}
-
-	public String getName() {
-		return JSPUIPlugin.getResourceString("%JSP_changes"); //$NON-NLS-1$
-	}
-
-	public void initializeValidationData(IProgressMonitor pm) {
-		// pa_TODO implement
-		// must be implemented to decide correct value of isValid
-	}
-
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		// pa_TODO implement
-		// This method must ensure that the change object is still valid.
-		// This is in particular interesting when performing an undo change
-		// since the workspace could have changed since the undo change has
-		// been created.
-		return new RefactoringStatus();
-	}
-
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		// pa_TODO return the "undo" change here
-		return null;
-	}
-
-	public Object getModifiedElement() {
-		// pa_TODO Auto-generated method stub
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameParticipant.java
deleted file mode 100644
index 600a74a..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameParticipant.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on May 6, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.jsp.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-/**
- * @author pavery
- */
-public class JSPMethodRenameParticipant extends RenameParticipant {
-	
-	private IMethod fMethod = null;
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		if(element instanceof IMethod) {
-			this.fMethod = (IMethod) element;
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		String name = ""; //$NON-NLS-1$
-		if(this.fMethod != null) {
-			try {
-				name = this.fMethod.getSource();
-			} catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-		return name;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		Change[] changes = JSPMethodRenameChange.createChangesFor(this.fMethod, getArguments().getNewName());
-		CompositeChange multiChange = null; 
-			if(changes.length > 0)
-				multiChange  = new CompositeChange(JSPUIPlugin.getResourceString("%JSP_changes"), changes); //$NON-NLS-1$
-		return multiChange;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameRequestor.java
deleted file mode 100644
index c417700..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMethodRenameRequestor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-
-/**
- * @author pavery
- */
-public class JSPMethodRenameRequestor extends BasicRefactorSearchRequestor {
-	
-	public JSPMethodRenameRequestor(IJavaElement element, String newName) {
-		super(element, newName);
-	}
-	
-	protected String getRenameText(JavaSearchDocumentDelegate searchDoc, SearchMatch javaMatch) {
-		
-		String javaText = searchDoc.getJspTranslation().getJavaText();
-		String methodText = javaText.substring(javaMatch.getOffset(), javaMatch.getOffset() + javaMatch.getLength());
-		String methodSuffix = methodText.substring(methodText.indexOf("(")); //$NON-NLS-1$
-		return getNewName() + methodSuffix;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.BasicRefactorSearchRequestor#getDescription()
-	 */
-	protected String getDescription() {
-		
-		String methodName = getElement().getElementName();
-		String newName = getNewName();
-		String description = MessageFormat.format(JSPUIPlugin.getResourceString("%BasicRefactorSearchRequestor.3"), new String[]{methodName, newName}); //$NON-NLS-1$
-		return description;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMoveElementAction.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMoveElementAction.java
deleted file mode 100644
index ce2c101..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPMoveElementAction.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import java.util.ResourceBundle;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettings;
-import org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor;
-import org.eclipse.jdt.internal.corext.util.CodeFormatterUtil;
-import org.eclipse.jdt.internal.ui.refactoring.RefactoringMessages;
-import org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter;
-import org.eclipse.jdt.internal.ui.refactoring.reorg.CreateTargetQueries;
-import org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveWizard;
-import org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgQueries;
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ltk.core.refactoring.participants.MoveRefactoring;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.ui.util.PlatformStatusLineUtil;
-
-/**
- * A TextEditorAction that launches JDT move element wizard
- * 
- * Still relies heavily on internal API
- * will change post 3.0 with public move support
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817 
- * @author pavery
- */
-public class JSPMoveElementAction extends TextEditorAction {
-
-	public JSPMoveElementAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-
-		super(bundle, prefix, editor);
-	}
-	
-	public boolean isEnabled() {
-		// always enabled, just print appropriate status to window
-		// if for some reason the action can't run (like multiple java elements selected)
-		
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.TextEditorAction#update()
-	 */
-	public void update() {
-		super.update();
-		PlatformStatusLineUtil.clearStatusLine();
-	}
-	
-	private IJavaElement[] getSelectedElements() {
-		
-		IJavaElement[] elements = new IJavaElement[0];
-		if (getTextEditor() != null)
-			elements = JSPJavaSelectionProvider.getSelection(getTextEditor());
-		return elements;
-	}
-	
-	private IResource[] getResources(IJavaElement[] elements) {
-
-		IResource[] resources = new IResource[elements.length];
-		for (int i = 0; i < elements.length; i++) {
-			try {
-				resources[i] = elements[i].getPrimaryElement().getCorrespondingResource();//elements[i].getResource();
-			} catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-		return resources;
-	}
-
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	public void run() {
-		IJavaElement[] elements = getSelectedElements();
-		if(elements.length > 0) {	
-			
-			// need to check if it's movable
-			try {
-				JavaMoveProcessor processor= JavaMoveProcessor.create(getResources(elements), elements/*, getCodeGenerationSettings()*/);
-				Shell parent = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-				
-				MoveRefactoring refactoring= new MoveRefactoring(processor);
-			
-				RefactoringWizard wizard= createWizard(refactoring);
-				
-				
-				/*
-				 * We want to get the shell from the refactoring dialog but it's not
-				 * known at this point, so we pass the wizard and then, once the dialog
-				 * is open, we will have access to its shell.
-				 */
-				
-				processor.setCreateTargetQueries(new CreateTargetQueries(wizard));
-				processor.setReorgQueries(new ReorgQueries(wizard));
-				
-				new RefactoringStarter().activate(refactoring, wizard, parent, 
-					RefactoringMessages.getString("OpenRefactoringWizardAction.refactoring"), //$NON-NLS-1$ 
-					true);
-				
-				PlatformStatusLineUtil.clearStatusLine();
-				
-			} catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-		else  {
-			PlatformStatusLineUtil.displayErrorMessage(JSPUIPlugin.getResourceString("%JSPMoveElementAction.0")); //$NON-NLS-1$
-		}
-	}
-
-	// these methods are copied from internal JDT class org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	public static CodeGenerationSettings getCodeGenerationSettings() {
-		
-		IPreferenceStore store= PreferenceConstants.getPreferenceStore();
-		
-		CodeGenerationSettings res= new CodeGenerationSettings();
-		res.createComments= store.getBoolean(PreferenceConstants.CODEGEN_ADD_COMMENTS);
-		res.useKeywordThis= store.getBoolean(PreferenceConstants.CODEGEN_KEYWORD_THIS);
-		res.importOrder= getImportOrderPreference(store);
-		res.importThreshold= getImportNumberThreshold(store);
-		res.tabWidth= CodeFormatterUtil.getTabWidth();
-		return res;
-	}
-
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	public static int getImportNumberThreshold(IPreferenceStore prefs) {
-		int threshold= prefs.getInt(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD);
-		if (threshold < 0) {
-			threshold= Integer.MAX_VALUE;
-		}
-		return threshold;
-	}
-
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	public static String[] getImportOrderPreference(IPreferenceStore prefs) {
-		String str= prefs.getString(PreferenceConstants.ORGIMPORTS_IMPORTORDER);
-		if (str != null) {
-			return unpackList(str, ";"); //$NON-NLS-1$
-		}
-		return new String[0];
-	}
-
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	private static String[] unpackList(String str, String separator) {
-		StringTokenizer tok= new StringTokenizer(str, separator); //$NON-NLS-1$
-		int nTokens= tok.countTokens();
-		String[] res= new String[nTokens];
-		for (int i= 0; i < nTokens; i++) {
-			res[i]= tok.nextToken().trim();
-		}
-		return res;
-	}
-	
-	/**
-	 * will change post 3.0 with public move support
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=61817
-	 */
-	private RefactoringWizard createWizard(MoveRefactoring refactoring) {
-		return new ReorgMoveWizard(refactoring);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameChange.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameChange.java
deleted file mode 100644
index cc81a7b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameChange.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * @author pavery
- */
-public class JSPPackageRenameChange extends Change {
-
-	public static Change[] createChangesFor(IPackageFragment pkg, String newName) {
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		
-		// should be handled by JSPIndexManager
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3036
-		//support.indexWorkspaceAndWait();
-		
-		BasicRefactorSearchRequestor requestor = new JSPPackageRenameRequestor(pkg, newName);
-		support.searchRunnable(pkg, new JSPSearchScope(), requestor);
-
-		return requestor.getChanges();
-	}
-
-	public String getName() {
-		return JSPUIPlugin.getResourceString("%JSP_changes"); //$NON-NLS-1$
-	}
-
-	public void initializeValidationData(IProgressMonitor pm) {
-		// pa_TODO implement
-		// must be implemented to decide correct value of isValid
-	}
-
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		// pa_TODO implement
-		// This method must ensure that the change object is still valid.
-		// This is in particular interesting when performing an undo change
-		// since the workspace could have changed since the undo change has
-		// been created.
-		return new RefactoringStatus();
-	}
-
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		// TODO return the "undo" change here
-		return null;
-	}
-
-	public Object getModifiedElement() {
-		
-		//return this.pkg;
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameParticipant.java
deleted file mode 100644
index 719c3d7..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameParticipant.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-/**
- * Remember to change the plugin.xml file if the name of this class changes.
- * 
- * @author pavery
- */
-public class JSPPackageRenameParticipant extends RenameParticipant {
-
-	private IPackageFragment fPkg = null;
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		if(element instanceof IPackageFragment) {
-			this.fPkg = (IPackageFragment) element;
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		String name = ""; //$NON-NLS-1$
-		if(this.fPkg != null) {
-			name = this.fPkg.getElementName();
-		}
-		return name;
-	}
-
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		 Change[] changes = JSPPackageRenameChange.createChangesFor(this.fPkg, getArguments().getNewName());
-		 CompositeChange multiChange = null;
-		 if(changes.length > 0)
-			multiChange = new CompositeChange(JSPUIPlugin.getResourceString("%JSP_changes"), changes); //$NON-NLS-1$
-	     return multiChange;
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameRequestor.java
deleted file mode 100644
index 3e79baa..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPPackageRenameRequestor.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-
-/**
- * Overrides get description
- * @author pavery
- */
-public class JSPPackageRenameRequestor extends BasicRefactorSearchRequestor {
-	
-	/**
-	 * Element is the old package.  newName is the new package name.
-	 * @param element
-	 * @param newName
-	 */
-	public JSPPackageRenameRequestor(IJavaElement element, String newName) {
-		super(element, newName);
-	}
-	
-	/*
-	 * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.BasicRefactorSearchRequestor#getDescription()
-	 */
-	protected String getDescription() {
-		String packageName = getElement().getElementName();
-		String newName = getNewName();
-		String description = JSPUIPlugin.getResourceString("%BasicRefactorSearchRequestor.5", new String[]{packageName, newName}); //$NON-NLS-1$
-		return description;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPRenameElementAction.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPRenameElementAction.java
deleted file mode 100644
index e4c772d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPRenameElementAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.ui.refactoring.RenameSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.ui.util.PlatformStatusLineUtil;
-
-/**
- * A TextEditorAction that launches JDT rename element wizard
- * 
- * @author pavery
- */
-public class JSPRenameElementAction extends TextEditorAction {
-
-	public JSPRenameElementAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-
-		super(bundle, prefix, editor);
-	}
-	
-	public boolean isEnabled() {
-		// always enabled, just print appropriate status to window
-		// if for some reason the action can't run (like multiple java elements selected)
-		return true;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.texteditor.TextEditorAction#update()
-	 */
-	public void update() {
-		super.update();
-		PlatformStatusLineUtil.clearStatusLine();
-	}
-	
-	private IJavaElement getSelectedElement() {
-		IJavaElement element = null;
-		if (getTextEditor() != null) {
-			IJavaElement[] elements = JSPJavaSelectionProvider.getSelection(getTextEditor());
-			if (elements.length == 1)
-				element = elements[0];
-		}
-		return element;
-	}
-	
-	public void run() {
-		IJavaElement element = getSelectedElement();
-		if(element != null) {
-			RenameSupport renameSupport = null;
-			try {
-				switch(element.getElementType()) {
-					case IJavaElement.TYPE:
-						renameSupport= RenameSupport.create((IType)element, element.getElementName(), RenameSupport.UPDATE_REFERENCES);
-						break;
-					case IJavaElement.METHOD:
-						renameSupport= RenameSupport.create((IMethod)element, element.getElementName(), RenameSupport.UPDATE_REFERENCES);
-						break;
-					case IJavaElement.PACKAGE_FRAGMENT:
-						renameSupport= RenameSupport.create((IPackageFragment)element, element.getElementName(), RenameSupport.UPDATE_REFERENCES);
-						break;
-				}
-				if(renameSupport != null) {
-					renameSupport.openDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
-					PlatformStatusLineUtil.clearStatusLine();
-				}
-			}
-			catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-		else  {
-			PlatformStatusLineUtil.displayErrorMessage(JSPUIPlugin.getResourceString("%JSPRenameElementAction.0")); //$NON-NLS-1$
-			PlatformStatusLineUtil.addOneTimeClearListener();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveChange.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveChange.java
deleted file mode 100644
index dba8009..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveChange.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * @author pavery
- */
-public class JSPTypeMoveChange extends Change {
-
-	public static Change[] createChangesFor(IType type, String newName) {
-		
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		// should be handled by JSPIndexManager
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3036
-		// support.indexWorkspaceAndWait();
-		
-		JSPTypeMoveRequestor requestor = new JSPTypeMoveRequestor(type, newName);
-		support.searchRunnable(type, new JSPSearchScope(), requestor);
-
-		return requestor.getChanges();
-	}
-
-	public String getName() {
-		return JSPUIPlugin.getResourceString("%JSP_changes"); //$NON-NLS-1$
-	}
-
-	public void initializeValidationData(IProgressMonitor pm) {
-		// pa_TODO implement
-		// must be implemented to decide correct value of isValid
-	}
-
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		// pa_TODO implement
-		// This method must ensure that the change object is still valid.
-		// This is in particular interesting when performing an undo change
-		// since the workspace could have changed since the undo change has
-		// been created.
-		return new RefactoringStatus();
-	}
-
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		// TODO return the "undo" change here
-		return null;
-	}
-
-	public Object getModifiedElement() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveParticipant.java
deleted file mode 100644
index a3322c2..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveParticipant.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.MoveParticipant;
-
-/**
- * @author pavery
- */
-public class JSPTypeMoveParticipant extends MoveParticipant {
-	
-	IType fType = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		
-		if(element instanceof IType) {
-			this.fType = (IType)element;
-			return true;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		
-		String name = ""; //$NON-NLS-1$
-		if(this.fType != null)
-			name = this.fType.getElementName();
-		return name;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		
-		if(pm != null && pm.isCanceled())
-			return null;
-		
-		CompositeChange multiChange = null; 
-		Object dest = getArguments().getDestination();
-		Change[] changes = JSPTypeMoveChange.createChangesFor(fType, ((IPackageFragment)dest).getElementName());
-		
-		if(dest instanceof IPackageFragment && changes.length > 0)
-			multiChange = new CompositeChange(JSPUIPlugin.getResourceString("%JSP_changes"), changes); //$NON-NLS-1$
-		
-		return multiChange;
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveRequestor.java
deleted file mode 100644
index 01aaa31..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeMoveRequestor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-
-/**
- * @author pavery
- */
-public class JSPTypeMoveRequestor extends BasicRefactorSearchRequestor {
-
-	/**
-	 * @param element
-	 * @param newName
-	 */
-	public JSPTypeMoveRequestor(IJavaElement element, String newPackage) {
-		super(element, newPackage);
-	}
-	
-	protected String getRenameText(JavaSearchDocumentDelegate searchDoc, SearchMatch javaMatch) {
-		
-		String renameText = getElement().getElementName();
-
-		JSPTranslation trans = searchDoc.getJspTranslation();
-		String matchText = trans.getJavaText().substring(javaMatch.getOffset(), javaMatch.getOffset() + javaMatch.getLength());
-		
-		// if it's an import or jsp:useBean, we need to add the package name as well
-		if(trans.isImport(javaMatch.getOffset()) || trans.isUseBean(javaMatch.getOffset()) || isFullyQualified(matchText)) {
-			if(!getNewName().equals("")) //$NON-NLS-1$
-				// getNewName() is the pkg name
-				renameText = getNewName() + "." + renameText; //$NON-NLS-1$
-		}
-		return renameText;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.BasicRefactorSearchRequestor#getDescription()
-	 */
-	protected String getDescription() {
-		
-		String typeName = getElement().getElementName();
-		String newName = getNewName();
-		String description = MessageFormat.format(JSPUIPlugin.getResourceString("%BasicRefactorSearchRequestor.2"), new String[]{typeName, newName}); //$NON-NLS-1$
-		return description;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameChange.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameChange.java
deleted file mode 100644
index 802acbf..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameChange.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-
-/**
- * @author pavery
- */
-public class JSPTypeRenameChange extends Change {
-
-	public static Change[] createChangesFor(IType type, String newName) {
-		JSPSearchSupport support = JSPSearchSupport.getInstance();
-		
-		// should be handled by JSPIndexManager
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3036
-		// support.indexWorkspaceAndWait();
-	
-		
-		JSPTypeRenameRequestor requestor = new JSPTypeRenameRequestor(type, newName);
-		support.searchRunnable(type, new JSPSearchScope(), requestor);
-
-		return requestor.getChanges();
-	}
-
-	public String getName() {
-		return JSPUIPlugin.getResourceString("%JSP_changes"); //$NON-NLS-1$
-	}
-
-	public void initializeValidationData(IProgressMonitor pm) {
-		// pa_TODO implement
-		// must be implemented to decide correct value of isValid
-	}
-
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		// pa_TODO implement
-		// This method must ensure that the change object is still valid.
-		// This is in particular interesting when performing an undo change
-		// since the workspace could have changed since the undo change has
-		// been created.
-		return new RefactoringStatus();
-	}
-
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		// TODO return the "undo" change here
-		return null;
-	}
-
-	public Object getModifiedElement() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameParticipant.java
deleted file mode 100644
index 409dd80..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameParticipant.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-/**
- * Remember to change the plugin.xml file if the name of this class changes.
- * 
- * @author pavery
- */
-public class JSPTypeRenameParticipant extends RenameParticipant {
-
-	private IType fType = null;
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		if(element instanceof IType) {
-			this.fType = (IType) element;
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		String name = ""; //$NON-NLS-1$
-		if(this.fType != null) {
-			try {
-				name = this.fType.getSource();
-			} catch (JavaModelException e) {
-				Logger.logException(e);
-			}
-		}
-		return name;
-	}
-
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		Change[] changes =  JSPTypeRenameChange.createChangesFor(fType, getArguments().getNewName());
-		CompositeChange multiChange = null;
-		if(changes.length > 0)
-			multiChange = new CompositeChange(JSPUIPlugin.getResourceString("%JSP_changes"), changes); //$NON-NLS-1$
-		return multiChange;
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameRequestor.java
deleted file mode 100644
index 5566e72..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPTypeRenameRequestor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.refactoring;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-
-/**
- * Creates document change(s) for a type rename.
- * Changes are created for every type "match" in the workspace
- * @author pavery
- */
-public class JSPTypeRenameRequestor extends BasicRefactorSearchRequestor {
-
-	public JSPTypeRenameRequestor(IType type, String newName) {
-		super(type, newName);
-	}
-	
-	private IType getType() {
-		return (IType)getElement();
-	}
-	
-	protected String getRenameText(JavaSearchDocumentDelegate searchDoc, SearchMatch javaMatch) {
-		
-		String renameText = getNewName();
-		
-		String pkg = getType().getPackageFragment().getElementName();
-		JSPTranslation trans = searchDoc.getJspTranslation();
-		String matchText = trans.getJavaText().substring(javaMatch.getOffset(), javaMatch.getOffset() + javaMatch.getLength());
-		
-		// if it's an import or jsp:useBean or fully qualified type, we need to add the package name as well
-		if(trans.isImport(javaMatch.getOffset()) || trans.isUseBean(javaMatch.getOffset()) || isFullyQualified(matchText)) {
-			if(!pkg.equals("")) //$NON-NLS-1$
-				renameText = pkg + "." + renameText; //$NON-NLS-1$
-		}
-		return renameText;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.ui.internal.java.refactoring.BasicRefactorSearchRequestor#getDescription()
-	 */
-	protected String getDescription() {
-		
-		String typeName = getElement().getElementName();
-		String newName = getNewName();
-		String description = MessageFormat.format(JSPUIPlugin.getResourceString("%BasicRefactorSearchRequestor.4"), new String[]{typeName, newName}); //$NON-NLS-1$
-		return description;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/BasicJSPSearchRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/BasicJSPSearchRequestor.java
deleted file mode 100644
index 4744294..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/BasicJSPSearchRequestor.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jdt.core.search.SearchParticipant;
-import org.eclipse.jdt.core.search.SearchRequestor;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.core.internal.java.search.JavaSearchDocumentDelegate;
-
-/**
- * Accepts matches from JSPSearchSupport.search(...) request.
- * Adapts the results from java to JSP and displays in the SearchResultView.
- * 
- * @author pavery
- */
-public class BasicJSPSearchRequestor extends SearchRequestor {
-
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("com.ibm.sse.model.jsp/debug/jspsearch"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Maps java search coordinates to corresponding JSP coordinates.
-	 * Adds the matches to the Search Results view.
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#acceptSearchMatch(org.eclipse.jdt.core.search.SearchMatch)
-	 */
-	public void acceptSearchMatch(SearchMatch match) throws CoreException {
-
-		if(JSPSearchSupport.getInstance().isCanceled())
-			return;
-				
-		String matchDocumentPath = match.getResource().getFullPath().toString();
-		SearchDocument searchDoc = JSPSearchSupport.getInstance().getSearchDocument(matchDocumentPath);
-		
-		if (searchDoc != null && searchDoc instanceof JavaSearchDocumentDelegate) {
-			JavaSearchDocumentDelegate javaSearchDoc = (JavaSearchDocumentDelegate)searchDoc;
-			int jspStart = javaSearchDoc.getJspOffset(match.getOffset());
-			int jspEnd = javaSearchDoc.getJspOffset(match.getOffset() + match.getLength());
-
-			JSPTranslation trans = javaSearchDoc.getJspTranslation();
-			String jspText = trans.getJspText();
-			String javaText = javaSearchDoc.getJavaText();
-
-			if (DEBUG) 
-				displayDebugInfo(match, jspStart, jspEnd, jspText, javaText);
-		
-			if (jspStart > -1 && jspEnd > -1)
-				addSearchMatch(new Document(trans.getJspText()), javaSearchDoc.getFile(), jspStart, jspEnd, jspText);
-		}
-	}
-
-	/**
-	 * @param searchDoc
-	 * @param jspStart
-	 * @param jspEnd
-	 * @param jspTranslation
-	 * @param jspText
-	 * @throws CoreException
-	 */
-	protected void addSearchMatch(IDocument jspDocument, IFile jspFile, int jspStart, int jspEnd, String jspText) {
-		// implement in subclass
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#beginReporting()
-	 */
-	public void beginReporting() {
-
-		if (DEBUG)
-			System.out.println("JSP Search requestor: beginReporting()"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#endReporting()
-	 */
-	public void endReporting() {
-
-		if (DEBUG)
-			System.out.println("JSP Search requestor: endReporting()"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#enterParticipant(org.eclipse.jdt.core.search.SearchParticipant)
-	 */
-	public void enterParticipant(SearchParticipant participant) {
-
-		if (DEBUG)
-			System.out.println("JSP Search requestor: enterParticipant()"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.search.SearchRequestor#exitParticipant(org.eclipse.jdt.core.search.SearchParticipant)
-	 */
-	public void exitParticipant(SearchParticipant participant) {
-
-		if (DEBUG)
-			System.out.println("JSP Search requestor: exitParticipant()"); //$NON-NLS-1$
-	}
-
-	/**
-	 * For debug.
-	 * @param origMatch
-	 * @param jspStart
-	 * @param jspEnd
-	 * @param jspText
-	 * @param javaText
-	 */
-	private void displayDebugInfo(SearchMatch origMatch, int jspStart, int jspEnd, String jspText, String javaText) {
-
-		if (origMatch == null || jspStart == -1 || jspEnd == -1 || jspEnd < jspStart || jspText == null || javaText == null)
-			return;
-
-		System.out.println("+-----------------------------------------+"); //$NON-NLS-1$
-		System.out.println("accept possible match [jspDoc: " + origMatch.getResource().getFullPath().toOSString() + " " + origMatch.getOffset() + ":" + origMatch.getOffset() + origMatch.getLength() + "]?"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		System.out.println("match info:"); //$NON-NLS-1$
-		System.out.println("the java text is:" + javaText.substring(origMatch.getOffset(), origMatch.getOffset() + origMatch.getLength())); //$NON-NLS-1$
-		System.out.println("java search match translates to jsp coords [start: " + jspStart + " end:" + jspEnd + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		System.out.println(" the jsp text is:" + jspText.substring(jspStart, jspEnd)); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java
deleted file mode 100644
index 75e9983..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.search;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.search.BasicFindOccurrencesAction;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-/**
- * <p>
- * Finds occurrences of Java elements in a JSP file using JSPSearchSupport.
- * </p>
- * @author pavery
- */
-public class JSPFindOccurrencesAction extends BasicFindOccurrencesAction implements IJavaSearchConstants {
-
-	private IFile fJSPFile = null;
-
-	public JSPFindOccurrencesAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-
-		super(bundle, prefix, editor);
-	}
-	
-	/**
-	 * @see com.ibm.sse.editor.internal.search.BasicFindOccurrencesAction#getSearchQuery()
-	 */
-	public ISearchQuery getSearchQuery() {
-		return new JSPSearchQuery(getJspFile(), getJavaElement());
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.internal.search.BasicFindOccurrencesAction#update()
-	 */
-	public void update() {
-
-		super.update();
-
-		if (isEnabled()) {
-			// do java element check here...
-			// should already be in a jsp/java partition
-			IJavaElement[] elements = getJavaElementsForCurrentSelection();
-			// we can only find occurrences of one element
-			setEnabled(elements.length == 1);
-		}
-	}
-
-	/**
-	 * uses JSPTranslation to get currently selected Java elements.
-	 * @return currently selected IJavaElements
-	 */
-	public IJavaElement[] getJavaElementsForCurrentSelection() {
-
-		IJavaElement[] elements = new IJavaElement[0];
-		StructuredTextEditor editor = (StructuredTextEditor) getTextEditor();
-		// get JSP translation object for this viewer's document
-		XMLDocument xmlDoc = ((XMLModel) editor.getModel()).getDocument();
-		JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-		if (adapter != null) {
-			JSPTranslation translation = adapter.getJSPTranslation();
-			Point selected = editor.getSelectionRange();
-			elements = translation.getElementsFromJspRange(selected.x, selected.x + selected.y);
-		}
-		return elements;
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.internal.search.BasicFindOccurrencesAction#getPartitionTypes()
-	 */
-	public String[] getPartitionTypes() {
-		return new String[]{StructuredTextPartitionerForJSP.ST_DEFAULT_JSP, StructuredTextPartitionerForJSP.ST_JSP_CONTENT_JAVA};
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.internal.search.BasicFindOccurrencesAction#getRegionTypes()
-	 */
-	public String[] getRegionTypes() {
-		return new String[]{XMLRegionContext.BLOCK_TEXT, XMLJSPRegionContexts.JSP_CONTENT};
-	}
-
-	private IFile getJspFile() {
-		if (this.fJSPFile == null)
-			this.fJSPFile = ((StructuredTextEditor) getTextEditor()).getFileInEditor();
-		return this.fJSPFile;
-	}
-
-	private IJavaElement getJavaElement() {
-		IJavaElement[] elements = getJavaElementsForCurrentSelection();
-		return elements.length > 0 ? elements[0] : null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPOccurrencesSearchResult.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPOccurrencesSearchResult.java
deleted file mode 100644
index f1d4f8e..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPOccurrencesSearchResult.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.search;
-
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.wst.sse.ui.internal.search.OccurrencesSearchResult;
-
-/**
- * @author pavery
- */
-public class JSPOccurrencesSearchResult extends OccurrencesSearchResult {
-	
-	public JSPOccurrencesSearchResult(ISearchQuery query) {
-		super(query);
-	}
-	
-	public Match[] getMatches() {
-		return ((JSPSearchQuery)getQuery()).getMatches();
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchQuery.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchQuery.java
deleted file mode 100644
index 55f0dce..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchQuery.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.SearchDocument;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.search.BasicSearchQuery;
-
-/**
- * Implementation of <code>ISearchQuery</code> for <code>IJavaElement</code>s in JSP files.
- * 
- * @author pavery
- */
-public class JSPSearchQuery extends BasicSearchQuery {
-	
-	private class SingleFileSearch implements IWorkspaceRunnable {
-
-		public void run(IProgressMonitor monitor) throws CoreException {
-
-			if (getFile() != null && getJavaElement() != null) {
-				
-				JSPSearchSupport support = JSPSearchSupport.getInstance();
-				// index the file
-				SearchDocument delegate =  support.addJspFile(getFile());
-				String scopePath = delegate.getPath();
-				JSPSearchScope singleFileScope = new JSPSearchScope(new String[]{getFile().getFullPath().toString(), scopePath});
-				
-				// perform a search
-				// by passing in this jsp search query, requstor can add matches
-				support.searchRunnable(getJavaElement(), singleFileScope, new JSPSingleFileSearchRequestor(getInstance()));
-			}
-		}
-	}
-	
-	/** the IJavaElement we are searching for in the file **/
-	private IJavaElement fElement = null;
-	
-	public JSPSearchQuery(IFile file, IJavaElement element) {
-		super(file);
-		this.fElement = element;
-	}
-	
-	public IJavaElement getJavaElement() {
-		return this.fElement;
-	}
-	
-	// for access by inner class
-	public JSPSearchQuery getInstance() {
-		return this;
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.internal.search.BasicSearchQuery#getRunnable()
-	 */
-	protected IWorkspaceRunnable getRunnable() {
-		return new SingleFileSearch();
-	}
-	
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.internal.search.BasicSearchQuery#doQuery()
-	 */
-	protected IStatus doQuery() {
-		
-		clearMatches();
-		
-		IStatus status = Status.OK_STATUS;
-		try {
-			JSPSearchSupport support = JSPSearchSupport.getInstance();
-			// index the file
-			SearchDocument delegate =  support.addJspFile(getFile());
-			String scopePath = delegate.getPath();
-			JSPSearchScope singleFileScope = new JSPSearchScope(new String[]{getFile().getFullPath().toString(), scopePath});
-			
-			// perform a searchs
-			// by passing in this jsp search query, requstor can add matches
-			support.searchRunnable(getJavaElement(), singleFileScope, new JSPSingleFileSearchRequestor(getInstance()));
-		}
-		catch (Exception e){
-			status = new Status(IStatus.ERROR, "org.eclipse.wst.sse.ui", IStatus.OK, "", null); //$NON-NLS-1$	//$NON-NLS-2$
-		}
-		return status;
-	}
-	
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#getLabel()
-	 */
-	public String getLabel() {
-		String[] args = {getSearchText(), getOccurrencesCountText(), getFilename()};
-		return SSEUIPlugin.getResourceString("%OccurrencesSearchQuery.0", args);
-	}
-
-	private String getFilename() {
-		String filename = SSEUIPlugin.getResourceString("%OccurrencesSearchQuery.2"); //$NON-NLS-1$
-		if(getFile() != null)
-			filename = getFile().getName();
-		return filename;
-	}
-	
-	private String getOccurrencesCountText() {
-		String count = ""; //$NON-NLS-1$
-		// pa_TODO make dynamic
-		return count;
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.internal.search.BasicSearchQuery#getSearchText()
-	 */
-	protected String getSearchText() {
-		return this.fElement.getElementName();
-	}
-	
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#canRerun()
-	 */
-	public boolean canRerun() {
-		
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#canRunInBackground()
-	 */
-	public boolean canRunInBackground() {
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#getSearchResult()
-	 */
-	public ISearchResult getSearchResult() {
-		
-		return new JSPOccurrencesSearchResult(this);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchRequestor.java
deleted file mode 100644
index ddd296a..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSearchRequestor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.search;
-
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.ui.search.ISearchRequestor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.Match;
-
-
-/**
- * @author pavery
- */
-public class JSPSearchRequestor extends BasicJSPSearchRequestor {
-	
-	private ISearchRequestor fJavaRequestor = null;
-	
-	public JSPSearchRequestor() {
-		super();
-	}
-	
-	public JSPSearchRequestor(ISearchRequestor javaRequestor) {
-		// need to report matches to javaRequestor
-		this.fJavaRequestor = javaRequestor;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.jsp.ui.internal.java.search.BasicJSPSearchRequestor#addSearchMatch(com.ibm.sse.model.text.IStructuredDocument, org.eclipse.core.resources.IFile, int, int, java.lang.String)
-	 */
-	protected void addSearchMatch(IDocument jspDocument, IFile jspFile, int jspStart, int jspEnd, String jspText) {
-		
-		if(!jspFile.exists())
-			return;
-
-		int lineNumber = -1;
-		try {
-			lineNumber = jspDocument.getLineOfOffset(jspStart);
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-		createSearchMarker(jspFile, jspStart, jspEnd, lineNumber);
-		
-		if(this.fJavaRequestor != null) {
-			Match match = new Match(jspFile, jspStart, jspEnd - jspStart);
-			this.fJavaRequestor.reportMatch(match);
-		}
-	}
-
-	/**
-	 * @param jspFile
-	 * @param jspStart
-	 * @param jspEnd
-	 */
-	private void createSearchMarker(IFile jspFile, int jspStart, int jspEnd, int lineNumber) {
-		
-		try {
-			IMarker marker = jspFile.createMarker(NewSearchUI.SEARCH_MARKER);
-			HashMap attributes = new HashMap(4);
-			attributes.put(IMarker.CHAR_START, new Integer(jspStart));
-			attributes.put(IMarker.CHAR_END, new Integer(jspEnd));
-			attributes.put(IMarker.LINE_NUMBER, new Integer(lineNumber));
-			marker.setAttributes(attributes);
-			
-		} catch (CoreException e) {
-			Logger.logException(e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSingleFileSearchRequestor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSingleFileSearchRequestor.java
deleted file mode 100644
index c058550..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPSingleFileSearchRequestor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IDocument;
-
-
-/**
- * <p>
- * Special requestor that adds search results for single file search
- * (Used for JSPFindOccurrences action).
- * It groups each match as it's own result.
- * </p>
- * 
- * @author pavery
- */
-public class JSPSingleFileSearchRequestor extends BasicJSPSearchRequestor {
-
-	private JSPSearchQuery fQuery = null;
-	
-	public JSPSingleFileSearchRequestor(JSPSearchQuery query) {
-		this.fQuery = query;
-	}
-	
-	/**
-	 * @see org.eclipse.jst.jsp.ui.internal.java.search.BasicJSPSearchRequestor#addSearchMatch(com.ibm.sse.model.text.IStructuredDocument, org.eclipse.core.resources.IFile, int, int, java.lang.String)
-	 */
-	protected void addSearchMatch(IDocument jspDocument, IFile jspFile, int jspStart, int jspEnd, String jspText) {
-		// add match to JSP query...
-		this.fQuery.addMatch(jspDocument, jspStart, jspEnd);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPMatchPresentation.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPMatchPresentation.java
deleted file mode 100644
index 74b1a26..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPMatchPresentation.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.search.ui;
-
-import org.eclipse.jdt.ui.search.IMatchPresentation;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.wst.sse.ui.internal.search.BasicSearchLabelProvider;
-
-/**
- * @author pavery
- */
-public class JSPMatchPresentation implements IMatchPresentation {
-
-	/**
-	 * @see org.eclipse.jdt.ui.search.IMatchPresentation#createLabelProvider()
-	 */
-	public ILabelProvider createLabelProvider() {
-		return new BasicSearchLabelProvider();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.search.IMatchPresentation#showMatch(org.eclipse.search.ui.text.Match, int, int, boolean)
-	 */
-	public void showMatch(Match match, int currentOffset, int currentLength, boolean activate) throws PartInitException {
-		// pa_TODO implement
-//		Object obj = match.getElement();
-		// show match in JSP editor
-		if(activate) {
-			// use show in target?
-		}
-		else {
-			// just select
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPQueryParticipant.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPQueryParticipant.java
deleted file mode 100644
index 853eae1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/ui/JSPQueryParticipant.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.java.search.ui;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jdt.core.search.SearchRequestor;
-import org.eclipse.jdt.ui.search.ElementQuerySpecification;
-import org.eclipse.jdt.ui.search.IMatchPresentation;
-import org.eclipse.jdt.ui.search.IQueryParticipant;
-import org.eclipse.jdt.ui.search.ISearchRequestor;
-import org.eclipse.jdt.ui.search.PatternQuerySpecification;
-import org.eclipse.jdt.ui.search.QuerySpecification;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchScope;
-import org.eclipse.jst.jsp.core.internal.java.search.JSPSearchSupport;
-import org.eclipse.jst.jsp.ui.internal.java.search.JSPSearchRequestor;
-
-/**
- * @author pavery 
- */
-public class JSPQueryParticipant implements IQueryParticipant {
-
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value= Platform.getDebugOption("com.ibm.sse.model.jsp/debug/jspsearch"); //$NON-NLS-1$
-		DEBUG= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	/**
-	 * @see org.eclipse.jdt.ui.search.IQueryParticipant#search(org.eclipse.jdt.ui.search.ISearchRequestor, org.eclipse.jdt.ui.search.QuerySpecification, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void search(ISearchRequestor requestor, QuerySpecification querySpecification, IProgressMonitor monitor) throws CoreException {
-		
-		//indexIfNeeded();
-		
-		// do search based on the particular Java query
-		if(querySpecification instanceof ElementQuerySpecification) {
-			// element search (eg. from global find references in Java file)
-			ElementQuerySpecification elementQuery = (ElementQuerySpecification)querySpecification;
-			IJavaElement element = elementQuery.getElement();
-			
-			if(DEBUG)
-				System.out.println("JSP Query Participant searching on ELEMENT: " + element); //$NON-NLS-1$
-			
-			SearchRequestor jspRequestor = new JSPSearchRequestor(requestor);
-			
-			// pa_TODO need to adapt JavaSearchScope to a JSPSearchScope
-			JSPSearchSupport.getInstance().search(element, new JSPSearchScope(), jspRequestor);
-			
-		}
-		else if(querySpecification instanceof PatternQuerySpecification) {
-			
-			// pattern search (eg. from Java search page)
-			PatternQuerySpecification patternQuery = (PatternQuerySpecification)querySpecification;
-			String pattern = patternQuery.getPattern();
-			
-			if(DEBUG)
-				System.out.println("JSP Query Participant searching on PATTERN: " + pattern); //$NON-NLS-1$
-			
-			SearchRequestor jspRequestor = new JSPSearchRequestor(requestor);
-			
-			JSPSearchSupport.getInstance().search(pattern, 
-													new JSPSearchScope(), 
-													patternQuery.getSearchFor(), 
-													patternQuery.getLimitTo(), 
-													SearchPattern.R_PATTERN_MATCH, 
-													false, 
-													jspRequestor);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jdt.ui.search.IQueryParticipant#estimateTicks(org.eclipse.jdt.ui.search.QuerySpecification)
-	 */
-	public int estimateTicks(QuerySpecification data) {
-		// pa_TODO use project file counter from JSPSearchSupport...
-		return 0;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.ui.search.IQueryParticipant#getUIParticipant()
-	 */
-	public IMatchPresentation getUIParticipant() {
-		return new JSPMatchPresentation();
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/JSPUIPreferenceInitializer.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/JSPUIPreferenceInitializer.java
deleted file mode 100644
index c623f27..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/preferences/JSPUIPreferenceInitializer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.jst.jsp.ui.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.wst.html.ui.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.ui.ColorHelper;
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-
-/**
- * Sets default values for JSP UI preferences
- */
-public class JSPUIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = JSPUIPlugin.getDefault().getPreferenceStore();
-		
-		// setting the same as HTML
-		store.setDefault(CommonEditorPreferenceNames.CONTENT_ASSIST_SUPPORTED, true);
-		store.setDefault(CommonEditorPreferenceNames.AUTO_PROPOSE, true);
-		store.setDefault(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE, CommonEditorPreferenceNames.LT);
-
-		store.setDefault(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR, true);
-		
-		// JSP Style Preferences
-		String NOBACKGROUNDBOLD = " | null | false";   //$NON-NLS-1$
-		String styleValue = ColorHelper.getColorString(127, 0, 127) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_NAME, styleValue);
-		
-		styleValue = ColorHelper.getColorString(42, 0, 255)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE, styleValue);
-		
-		styleValue = "null" + NOBACKGROUNDBOLD;  //$NON-NLS-1$
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS, styleValue); // specified value is black; leaving as widget default
-		
-		styleValue = ColorHelper.getColorString(63, 95, 191)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.COMMENT_BORDER, styleValue);
-		store.setDefault(IStyleConstantsXML.COMMENT_TEXT, styleValue);
-		
-		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_BORDER, styleValue);
-		
-		styleValue = ColorHelper.getColorString(63, 127, 127)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_NAME, styleValue);
-		
-		styleValue = ColorHelper.getColorString(191, 95, 63)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsHTML.SCRIPT_AREA_BORDER, styleValue);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/JSPTranslationWrapper.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/JSPTranslationWrapper.java
deleted file mode 100644
index a119c2b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/JSPTranslationWrapper.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.reconcile;
-
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-
-/**
- * Wrapper class to make a JSPTranslation into an IReconcilableModel.
- * Translation must be accessed via getTranslation()
- * 
- * @pavery
- */
-public class JSPTranslationWrapper implements IReconcilableModel {
-	private JSPTranslationExtension fTranslation = null;
-
-	public JSPTranslationWrapper(JSPTranslationExtension trans) {
-		fTranslation = trans;
-	}
-
-	public JSPTranslationExtension getTranslation() {
-		return fTranslation;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJava.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJava.java
deleted file mode 100644
index fe0966d..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJava.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.reconcile;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-import org.eclipse.jst.jsp.core.internal.text.rules.StructuredTextPartitionerForJSP;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-
-/**
- * This reconcile step has a Java source document as input model and maintains
- * a Java working copy as its model.
- * 
- * @since 3.0
- */
-public class ReconcileStepForJava extends StructuredReconcileStep {
-
-	/**
-	 * Adapts an <code>ICompilationUnit</code> to the
-	 * <code>ITextModel</code> interface.
-	 */
-	private class CompilationUnitAdapter implements IReconcilableModel {
-
-		private ICompilationUnit fCompilationUnit;
-
-		CompilationUnitAdapter(ICompilationUnit cu) {
-			fCompilationUnit = cu;
-		}
-
-		private ICompilationUnit getCompilationUnit() {
-			return fCompilationUnit;
-		}
-	}
-
-	private JSPTranslation fJspTranslation;
-	private CompilationUnitAdapter fModel;
-	private IStructuredDocument fStructuredDocument = null;
-
-	/**
-	 * Creates the last reconcile step of the pipe.
-	 */
-	public ReconcileStepForJava(IFile jspFile) {
-		// should handle more gracefully
-		Assert.isNotNull(jspFile);
-		initStructuredDocument(jspFile);
-	}
-
-	/**
-	 * Creates an intermediate reconcile step which adds the given step to the
-	 * pipe.
-	 */
-	public ReconcileStepForJava(IReconcileStep step, IFile jspFile) {
-		super(step);
-		Assert.isNotNull(jspFile);
-		initStructuredDocument(jspFile);
-	}
-
-	/**
-	 * Structured Document used to create annotation removal keys
-	 * 
-	 * @param jspFile
-	 */
-	private void initStructuredDocument(IFile jspFile) {
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(jspFile);
-			if (sModel != null)
-				fStructuredDocument = sModel.getStructuredDocument();
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-	}
-
-	/*
-	 * @see AbstractReconcileStep#reconcileModel(DirtyRegion, IRegion)
-	 */
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-		Assert.isTrue(getInputModel() instanceof JSPTranslationWrapper, "wrong model"); //$NON-NLS-1$
-		fJspTranslation = ((JSPTranslationWrapper) getInputModel()).getTranslation();
-		
-        if(DEBUG)
-            System.out.println("[trace reconciler] > reconciling model in JAVA step w/ dirty region: " + dirtyRegion.getText()); //$NON-NLS-1$
-
-		try {
-			fJspTranslation.setProblemCollectingActive(true);
-			fJspTranslation.reconcileCompilationUnit();
-		}
-		finally {
-			if (fJspTranslation != null)
-				fJspTranslation.setProblemCollectingActive(false);
-		}
-
-		List problems = null;
-		// I was frequently seeing null here, especially as editors closed, 
-		// so just gaurding against that. (Not sure why it was null). 
-		if (fJspTranslation != null) {
-			problems = fJspTranslation.getProblems();
-		}
-		IReconcileResult[] results = adaptProblemsToAnnotations(problems);
-		return results;
-	}
-
-	/**
-	 * @return
-	 */
-	private IReconcileResult[] adaptProblemsToAnnotations(List problems) {
-		if (problems == null)
-			return new IReconcileResult[0];
-
-		TemporaryAnnotation[] annotations = new TemporaryAnnotation[problems.size()];
-		IProblem p = null;
-		for (int i = 0; i < problems.size(); i++) {
-			p = (IProblem) problems.get(i);
-			annotations[i] = createTemporaryAnnotationFromProblem(p);
-		}
-		return annotations;
-	}
-
-	/**
-	 * Converts an IProblem to a TemporaryAnnotation.
-	 * 
-	 * @param problem
-	 * @return
-	 */
-	private TemporaryAnnotation createTemporaryAnnotationFromProblem(IProblem problem) {
-		String type = TemporaryAnnotation.ANNOT_ERROR;
-		if (problem.isWarning())
-			type = TemporaryAnnotation.ANNOT_WARNING;
-		Position pos = new Position(problem.getSourceStart(), problem.getSourceEnd() - problem.getSourceStart() + 1);
-		JSPTranslationExtension translation = ((JSPTranslationWrapper) getInputModel()).getTranslation();
-		int jspOffset = translation.getJspOffset(pos.offset);
-
-		ReconcileAnnotationKey key = null;
-		if (jspOffset != -1 && fStructuredDocument != null) {
-			key = createKey(fStructuredDocument.getRegionAtCharacterOffset(jspOffset), ReconcileAnnotationKey.TOTAL);
-		}
-		else {
-			key = createKey(StructuredTextPartitionerForJSP.ST_DEFAULT_JSP, ReconcileAnnotationKey.TOTAL);
-		}
-		TemporaryAnnotation annotation = new TemporaryAnnotation(pos, type, problem.getMessage(), key, problem.getID());
-		annotation.setAdditionalFixInfo(problem);
-
-		return annotation;
-	}
-
-	/*
-	 * @see AbstractReconcileStep#getModel()
-	 */
-	public IReconcilableModel getModel() {
-		if (fModel == null) {
-			fModel = new CompilationUnitAdapter(fJspTranslation.getCompilationUnit());
-		}
-		return fModel;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconcileStep#setInputModel(org.eclipse.jface.text.reconciler.IReconcilableModel)
-	 */
-	public void setInputModel(IReconcilableModel inputModel) {
-		super.setInputModel(inputModel);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java
deleted file mode 100644
index 00c0cb0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.reconcile;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationExtension;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.reconcile.DocumentAdapter;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-/**
- * Creates a JSPTranslation for use w/ the JavaReconcileStep. Adapts Java
- * error positions to the JSP positions.
- * 
- * @author pavery
- */
-public class ReconcileStepForJspTranslation extends StructuredReconcileStep {
-
-	/**
-	 * This contains is the translated java document. We create this here,
-	 * then set it as the model on the next step, ReconcileStepForJava
-	 */
-	private JSPTranslationWrapper fModel = null;
-	private IReconcileResult[] EMPTY_RECONCILE_RESULT_SET = new IReconcileResult[0];
-	private JSPTranslationAdapter fTranslationAdapter = null;
-	private JSPTranslationExtension fJSPTranslation = null;
-	private static final boolean DEBUG = false;
-	
-	public ReconcileStepForJspTranslation(IReconcileStep step) {
-		super(step);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.AbstractReconcileStep#reconcileModel(org.eclipse.jface.text.reconciler.DirtyRegion,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-
-		if(DEBUG)
-            System.out.println("[trace reconciler] > translating JSP in JSP TRANSLATE step"); //$NON-NLS-1$	
-
-		if (isCanceled() || dirtyRegion == null)
-			return EMPTY_RECONCILE_RESULT_SET;
-
-		// create java model for java reconcile
-		JSPTranslationAdapter adapter = getJSPTranslationAdapter();
-		fJSPTranslation = adapter.getJSPTranslation();
-		fModel = new JSPTranslationWrapper(fJSPTranslation);
-
-		if(DEBUG)
-            System.out.println("[trace reconciler] > JSP TRANSLATE step done"); //$NON-NLS-1$	
-
-		// this step doesn't actually produce results, only creates the java
-		// model
-		return EMPTY_RECONCILE_RESULT_SET;
-	}
-
-	/**
-	 * @return
-	 */
-	private JSPTranslationAdapter getJSPTranslationAdapter() {
-		if (fTranslationAdapter == null) {
-			IReconcilableModel reconcilableModel = getInputModel();
-			IDocument doc = null;
-
-			if (reconcilableModel instanceof DocumentAdapter)
-				doc = ((DocumentAdapter) reconcilableModel).getDocument();
-
-			if (doc != null) {
-				IStructuredModel model = null;
-				try {
-					model = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-					if (model != null) {
-						XMLDocument xmlDoc = ((XMLModel) model).getDocument();
-						fTranslationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-					}
-				}
-				finally {
-					if (model != null)
-						model.releaseFromRead();
-				}
-			}
-		}
-		return fTranslationAdapter;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.internal.ui.text.AbstractStructuredReconcileStep#getModel()
-	 */
-	public IReconcilableModel getModel() {
-		return fModel;
-	}
-
-	/*
-	 * @see org.eclipse.text.reconcilerpipe.AbstractReconcilePipeParticipant#convertToInputModel(org.eclipse.text.reconcilerpipe.IReconcileResult[])
-	 */
-	protected IReconcileResult[] convertToInputModel(IReconcileResult[] inputResults) {
-
-		if (inputResults == null)
-			return null;
-
-		HashMap java2jspRanges = fJSPTranslation.getJava2JspMap();
-		for (int i = 0; i < inputResults.length; i++) {
-			if (isCanceled())
-				return EMPTY_RECONCILE_RESULT_SET;
-			if (!(inputResults[i] instanceof TemporaryAnnotation))
-				continue;
-			TemporaryAnnotation result = (TemporaryAnnotation) inputResults[i];
-			adaptJava2JspPosition(result, java2jspRanges);
-		}
-
-		return inputResults;
-	}
-
-	/**
-	 * @param pos
-	 * @param java2jspRanges
-	 */
-	private void adaptJava2JspPosition(TemporaryAnnotation annotation, HashMap java2jspRanges) {
-		Position pos = annotation.getPosition();
-		int javaOffset = pos.offset;
-		int offsetInRange = 0;
-		Position jspPos, javaPos = null;
-		boolean found = false;
-
-		// iterate all mapped java ranges
-		Iterator it = java2jspRanges.keySet().iterator();
-		while (it.hasNext()) {
-			javaPos = (Position) it.next();
-			if (!javaPos.includes(javaOffset))
-				continue;
-
-			offsetInRange = javaOffset - javaPos.offset;
-			jspPos = (Position) java2jspRanges.get(javaPos);
-			if (jspPos != null) {
-				pos.offset = jspPos.offset + offsetInRange;
-				found = true;
-				additionalPositionAdjustment(annotation, jspPos);
-			}
-			break;
-		}
-		// hide unmapped errors
-		if (!found) {
-			pos.offset = -1;
-			pos.length = 0;
-		}
-	}
-
-	/**
-	 * Adjusts java position to JSP position for ranges that don't map
-	 * "exactly". eg. <%@include file=""%>, <jsp:useBean/>, <%@import
-	 * src=""%>...
-	 * 
-	 * @param pos
-	 * @param jspPos
-	 */
-	private void additionalPositionAdjustment(TemporaryAnnotation annotation, Position jspPos) {
-		Position pos = annotation.getPosition();
-		IStructuredDocument sDoc = null;
-		IStructuredDocumentRegion sdRegion = null;
-		// analyze the sdRegion to see if it's import, expression, include
-		ITextRegionList regions = null;
-		ITextRegion r = null;
-		String tagName = ""; //$NON-NLS-1$
-
-		sDoc = (IStructuredDocument) ((DocumentAdapter) getInputModel()).getDocument();
-		sdRegion = sDoc.getRegionAtCharacterOffset(jspPos.offset);
-		// analyze the sdRegion to see if it's import, expression, include,
-		// useBean...
-		regions = sdRegion.getRegions();
-		for (int i = 0; i < regions.size(); i++) {
-			r = regions.get(i);
-			if (r.getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME || r.getType() == XMLRegionContext.XML_TAG_NAME) {
-				tagName = sdRegion.getText(r).trim();
-				if (tagName.equals("include")) { //$NON-NLS-1$
-					adjustForInclude(annotation, pos, sdRegion, regions, i);
-				}
-				else if (tagName.equals("page")) { //$NON-NLS-1$
-					adjustForPage(annotation, pos, sdRegion, regions, i);
-				}
-				else if (tagName.equals("jsp:useBean")) { //$NON-NLS-1$
-					//adjustForUseBean(pos, sdRegion, regions, i);
-					// do nothing for usebean for now...
-					break;
-				}
-                // this can actually cause the WRONG node to be underlined
-                // esp in the case of embedded attr regions
-//				else {
-//					// catch all for all other cases for now, at least we'll
-//					// get
-//					// the squiggle in the general area of the problem instead
-//					// of some random place
-//					pos.offset = sdRegion.getStartOffset(r);
-//					pos.length = 1;
-//					break;
-//				}
-			}
-		}
-	}
-
-	private void adjustForInclude(TemporaryAnnotation annotation, Position pos, IStructuredDocumentRegion sdRegion, ITextRegionList regions, int startingRegionNumber) {
-		ITextRegion r;
-		String tagName;
-		String noQuotes;
-		for (int j = startingRegionNumber; j < regions.size(); j++) {
-			r = regions.get(j);
-			if (r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME && !sdRegion.getText(r).trim().equals("file")) //$NON-NLS-1$
-				// there's only one attribute allowed for <@include
-				break;
-			else if (r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				tagName = sdRegion.getText(r).trim();
-				noQuotes = StringUtils.strip(tagName);
-				pos.offset = sdRegion.getStartOffset(r) + ((tagName.length() - noQuotes.length()) == 2 ? 1 : 0);
-				pos.length = noQuotes.length();
-				annotation.setText(annotation.getText() + " (in file: \"" + noQuotes + "\")"); //$NON-NLS-1$ //$NON-NLS-2$
-				break;
-			}
-		}
-	}
-
-	private void adjustForPage(TemporaryAnnotation annotation, Position pos, IStructuredDocumentRegion sdRegion, ITextRegionList regions, int startingRegionNumber) {
-		ITextRegion r;
-		String value;
-		int size = regions.size();
-
-		for (int j = startingRegionNumber; j < size; j++) {
-			r = regions.get(j);
-			if (r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME && sdRegion.getText(r).trim().equals("import")) { //$NON-NLS-1$
-				if (size > j + 2) {
-					r = regions.get(j + 2);
-					if (r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						value = sdRegion.getText(r);
-						pos.offset = sdRegion.getStartOffset(r);
-						pos.length = value.trim().length();
-						annotation.setText(annotation.getText() + " (in file: \"" + StringUtils.stripQuotes(value) + "\")"); //$NON-NLS-1$ //$NON-NLS-2$
-						break;
-					}
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.xml.reconcile.StructuredReconcileStep#release()
-	 */
-	public void release() {
-		if (fTranslationAdapter != null) {
-			if(DEBUG) {
-				System.out.println("ReconcileStepForJSPTranslation ["+this+"] releasing JSPTranslationAdapter " + fTranslationAdapter);
-			}
-			fTranslationAdapter.release();
-		}
-		super.release();
-	}
-    
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconcileStep#setInputModel(org.eclipse.jface.text.reconciler.IReconcilableModel)
-	 */
-	public void setInputModel(IReconcilableModel inputModel) {
-		// force to rebuild translation
-		fTranslationAdapter = null;
-		if (DEBUG) {
-			System.out.println("======================================"); //$NON-NLS-1$
-			System.out.println("setting input model" + inputModel); //$NON-NLS-1$
-			System.out.println("======================================"); //$NON-NLS-1$
-		}
-		super.setInputModel(inputModel);
-		
-		reinitTranslationAdapter(inputModel);
-	}
-
-	/**
-	 * @param inputModel
-	 */
-	private void reinitTranslationAdapter(IReconcilableModel inputModel) {
-
-		IDocument doc = null;
-		if (inputModel instanceof DocumentAdapter)
-			doc = ((DocumentAdapter) inputModel).getDocument();
-
-		if (doc != null) {
-			IStructuredModel model = null;
-			try {
-				model = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-				if(getJSPTranslationAdapter() != null)
-					getJSPTranslationAdapter().setXMLModel((XMLModel) model);
-			}
-			finally {
-				if (model != null)
-					model.releaseFromRead();
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/StructuredTextReconcilingStrategyForJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/StructuredTextReconcilingStrategyForJSP.java
deleted file mode 100644
index 7c0d7e8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/StructuredTextReconcilingStrategyForJSP.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.reconcile;
-
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.internal.reconcile.AbstractStructuredTextReconcilingStrategy;
-
-/**
- * 
- * @author pavery
- */
-public class StructuredTextReconcilingStrategyForJSP extends AbstractStructuredTextReconcilingStrategy {
-
-	public StructuredTextReconcilingStrategyForJSP(ITextEditor editor) {
-		super(editor);
-	}
-
-	public void createReconcileSteps() {
-
-		// the order is:
-		// 1. translation step
-		// 2. java step
-		if (getFile() != null) {
-			IReconcileStep javaStep = new ReconcileStepForJava(getFile());
-			fFirstStep = new ReconcileStepForJspTranslation(javaStep);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/HTMLPrinter.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/HTMLPrinter.java
deleted file mode 100644
index 0a5716a..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/HTMLPrinter.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.taginfo;
-
-
-import java.io.IOException;
-import java.io.Reader;
-import java.net.URL;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-
-/**
- * Provides a set of convenience methods for creating HTML pages.
- * Copied from org.eclipse.jdt.internal.ui.text.HTMLPrinter
- */
-public class HTMLPrinter {
-	
-	private static RGB BG_COLOR_RGB= null;
-	
-	static {
-		final Display display= Display.getDefault();
-		if (display != null && !display.isDisposed()) {
-			try {
-				display.asyncExec(new Runnable() {
-					/*
-					 * @see java.lang.Runnable#run()
-					 */
-					public void run() {
-						BG_COLOR_RGB= display.getSystemColor(SWT.COLOR_INFO_BACKGROUND).getRGB();
-					}
-				});
-			} catch (SWTError err) {
-				// see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=45294
-				if (err.code != SWT.ERROR_DEVICE_DISPOSED)
-					throw err;
-			}
-		}
-	}
-			
-	private HTMLPrinter() {
-	}
-	
-	private static String replace(String text, char c, String s) {
-				
-		int previous= 0;
-		int current= text.indexOf(c, previous);
-		
-		if (current == -1)
-			return text;
-		
-		StringBuffer buffer= new StringBuffer();	
-		while (current > -1) {
-			buffer.append(text.substring(previous, current));
-			buffer.append(s);
-			previous= current + 1;
-			current= text.indexOf(c, previous);
-		}
-		buffer.append(text.substring(previous));
-		
-		return buffer.toString();
-	}
-	
-	public static String convertToHTMLContent(String content) {
-		content= replace(content, '<', "&lt;"); //$NON-NLS-1$
-		return replace(content, '>', "&gt;"); //$NON-NLS-1$
-	}
-	
-	public static String read(Reader rd) {
-		
-		StringBuffer buffer= new StringBuffer();
-		char[] readBuffer= new char[2048];
-		
-		try {
-			int n= rd.read(readBuffer);
-			while (n > 0) {
-				buffer.append(readBuffer, 0, n);
-				n= rd.read(readBuffer);
-			}
-			return buffer.toString();
-		} catch (IOException x) {
-		}
-		
-		return null;
-	}
-
-	public static void insertPageProlog(StringBuffer buffer, int position, RGB bgRGB, URL styleSheetURL) {
-		
-		if (bgRGB == null)
-			insertPageProlog(buffer, position, styleSheetURL);
-		else {
-			StringBuffer pageProlog= new StringBuffer(300);
-			
-			pageProlog.append("<html>"); //$NON-NLS-1$
-			
-			appendStyleSheetLink(pageProlog, styleSheetURL);
-			
-			pageProlog.append("<body text=\"#000000\" bgcolor=\""); //$NON-NLS-1$
-			appendColor(pageProlog, bgRGB);
-			pageProlog.append("\"><font size=-1>"); //$NON-NLS-1$
-			
-			buffer.insert(position,  pageProlog.toString());
-		}
-	}
-	
-	public static void insertPageProlog(StringBuffer buffer, int position, RGB bgRGB) {
-		if (bgRGB == null)
-			insertPageProlog(buffer, position);
-		else {
-			StringBuffer pageProlog= new StringBuffer(60);
-			pageProlog.append("<html><body text=\"#000000\" bgcolor=\""); //$NON-NLS-1$
-			appendColor(pageProlog, bgRGB);
-			pageProlog.append("\"><font size=-1>"); //$NON-NLS-1$
-			buffer.insert(position,  pageProlog.toString());
-		}
-	}
-	
-	private static void appendStyleSheetLink(StringBuffer buffer, URL styleSheetURL) {
-		if (styleSheetURL == null)
-			return;
-
-		buffer.append("<head>"); //$NON-NLS-1$
-		
-		buffer.append("<LINK REL=\"stylesheet\" HREF= \""); //$NON-NLS-1$
-		buffer.append(styleSheetURL);
-		buffer.append("\" CHARSET=\"ISO-8859-1\" TYPE=\"text/css\">"); //$NON-NLS-1$
-
-		buffer.append("</head>"); //$NON-NLS-1$
-	}
-	
-	private static void appendColor(StringBuffer buffer, RGB rgb) {
-		buffer.append('#');
-		buffer.append(Integer.toHexString(rgb.red));
-		buffer.append(Integer.toHexString(rgb.green));
-		buffer.append(Integer.toHexString(rgb.blue));
-	}
-
-	public static void insertPageProlog(StringBuffer buffer, int position) {
-		insertPageProlog(buffer, position, getBgColor()); //$NON-NLS-1$
-	}
-	
-	public static void insertPageProlog(StringBuffer buffer, int position, URL styleSheetURL) {
-		insertPageProlog(buffer, position, getBgColor(), styleSheetURL); //$NON-NLS-1$
-	}
-	
-	private static RGB getBgColor() {
-		if (BG_COLOR_RGB != null)
-			return BG_COLOR_RGB;
-		else
-			return new RGB(255,255, 225); // RGB value of info bg color on WindowsXP
-		
-	}
-	
-	public static void addPageProlog(StringBuffer buffer) {
-		insertPageProlog(buffer, buffer.length());
-	}
-	
-	public static void addPageEpilog(StringBuffer buffer) {
-		buffer.append("</font></body></html>"); //$NON-NLS-1$
-	}
-	
-	public static void startBulletList(StringBuffer buffer) {
-		buffer.append("<ul>"); //$NON-NLS-1$
-	}
-	
-	public static void endBulletList(StringBuffer buffer) {
-		buffer.append("</ul>"); //$NON-NLS-1$
-	}
-	
-	public static void addBullet(StringBuffer buffer, String bullet) {
-		if (bullet != null) {
-			buffer.append("<li>"); //$NON-NLS-1$
-			buffer.append(bullet);
-			buffer.append("</li>"); //$NON-NLS-1$
-		}
-	}
-	
-	public static void addSmallHeader(StringBuffer buffer, String header) {
-		if (header != null) {
-			buffer.append("<h5>"); //$NON-NLS-1$
-			buffer.append(header);
-			buffer.append("</h5>"); //$NON-NLS-1$
-		}
-	}
-	
-	public static void addParagraph(StringBuffer buffer, String paragraph) {
-		if (paragraph != null) {
-			buffer.append("<p>"); //$NON-NLS-1$
-			buffer.append(paragraph);
-		}
-	}
-	
-	public static void addParagraph(StringBuffer buffer, Reader paragraphReader) {
-		if (paragraphReader != null)
-			addParagraph(buffer, read(paragraphReader));
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java
deleted file mode 100644
index 3528afa..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.taginfo;
-
-import java.io.Reader;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.JavaElementLabels;
-import org.eclipse.jdt.ui.JavadocContentAccess;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-/**
- * Provides javadoc hover help documentation for java code inside JSPs
- */
-public class JSPJavaJavadocHoverProcessor implements ITextHover {
-	private final long LABEL_FLAGS=  JavaElementLabels.ALL_FULLY_QUALIFIED
-	| JavaElementLabels.M_PRE_RETURNTYPE | JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_PARAMETER_NAMES | JavaElementLabels.M_EXCEPTIONS 
-	| JavaElementLabels.F_PRE_TYPE_SIGNATURE;
-	
-	private String getInfoText(IJavaElement member) {
-		String label= JavaElementLabels.getElementLabel(member, LABEL_FLAGS);
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < label.length(); i++) {
-			char ch= label.charAt(i);
-			if (ch == '<') {
-				buf.append("&lt;"); //$NON-NLS-1$
-			} else if (ch == '>') {
-				buf.append("&gt;"); //$NON-NLS-1$
-			} else {
-				buf.append(ch);
-			}
-		}
-		return buf.toString();
-	}
-	
-	private String getHoverInfo(IJavaElement[] result) {
-		StringBuffer buffer= new StringBuffer();
-		int nResults= result.length;
-		if (nResults == 0)
-			return null;
-		
-		if (nResults > 1) {
-			
-			for (int i= 0; i < result.length; i++) {
-				HTMLPrinter.startBulletList(buffer);
-				IJavaElement curr= result[i];
-				if (curr instanceof IMember || curr.getElementType() == IJavaElement.LOCAL_VARIABLE)
-					HTMLPrinter.addBullet(buffer, getInfoText(curr));
-				HTMLPrinter.endBulletList(buffer);
-			}
-			
-		} else {
-			
-			IJavaElement curr= result[0];
-			if (curr instanceof IMember) {
-				IMember member= (IMember) curr;
-				HTMLPrinter.addSmallHeader(buffer, getInfoText(member));
-				Reader reader;
-				try {
-					reader= JavadocContentAccess.getHTMLContentReader(member, true);
-				} catch (JavaModelException ex) {
-					return null;
-				}
-				if (reader != null) {
-					HTMLPrinter.addParagraph(buffer, reader);
-				}
-			} else if (curr.getElementType() == IJavaElement.LOCAL_VARIABLE)
-				HTMLPrinter.addSmallHeader(buffer, getInfoText(curr));
-		}
-		
-		if (buffer.length() > 0) {
-			HTMLPrinter.insertPageProlog(buffer, 0);
-			HTMLPrinter.addPageEpilog(buffer);
-			return buffer.toString();
-		}
-		
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
-		// get JSP translation object for this viewer's document
-		XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(textViewer.getDocument());
-		try {
-			if(xmlModel != null) {
-				XMLDocument xmlDoc = xmlModel.getDocument();
-				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				if (adapter != null) {
-					JSPTranslation translation = adapter.getJSPTranslation();
-					IJavaElement[] result = translation.getElementsFromJspRange(hoverRegion.getOffset(), hoverRegion.getOffset() + hoverRegion.getLength());
-					return getHoverInfo(result);
-				}
-			}
-		}
-		finally {
-			if(xmlModel != null) 
-				xmlModel.releaseFromRead();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		return JavaWordFinder.findWord(textViewer.getDocument(), offset);
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JavaWordFinder.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JavaWordFinder.java
deleted file mode 100644
index 7542ea1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JavaWordFinder.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.ui.internal.taginfo;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-
-/**
- * Copied from org.eclipse.jdt.internal.ui.text.JavaWordFinder
- */
-public class JavaWordFinder {
-	
-	public static IRegion findWord(IDocument document, int offset) {
-		
-		int start= -1;
-		int end= -1;
-		
-		
-		try {
-			
-			int pos= offset;
-			char c;
-			
-			while (pos >= 0) {
-				c= document.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				--pos;
-			}
-			
-			start= pos;
-			
-			pos= offset;
-			int length= document.getLength();
-			
-			while (pos < length) {
-				c= document.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				++pos;
-			}
-			
-			end= pos;
-			
-		} catch (BadLocationException x) {
-		}
-		
-		if (start > -1 && end > -1) {
-			if (start == offset && end == offset)
-				return new Region(offset, 0);
-			else if (start == offset)
-				return new Region(start, end - start);
-			else
-				return new Region(start + 1, end - start - 1);
-		}
-		
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/openon/JSPDirectiveOpenOnJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/openon/JSPDirectiveOpenOnJSP.java
deleted file mode 100644
index 2fcb220..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/openon/JSPDirectiveOpenOnJSP.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * 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.ui.openon;
-
-import java.io.File;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jst.jsp.core.JSP11Namespace;
-import org.eclipse.jst.jsp.core.internal.contentmodel.ITaglibRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.JarRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TLDRecord;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibIndex;
-import org.eclipse.jst.jsp.core.internal.contentmodel.URLRecord;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.html.ui.openon.DefaultOpenOnHTML;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * This action opens classes referenced in JSP directive tags of a JSP page.
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-public class JSPDirectiveOpenOnJSP extends DefaultOpenOnHTML {
-	JSPJavaOpenOnJSP jspJavaOpenOn;
-
-	static class StorageEditorInput implements IStorageEditorInput {
-		IStorage fStorage = null;
-
-		StorageEditorInput(IStorage storage) {
-			fStorage = storage;
-		}
-
-		public IStorage getStorage() throws CoreException {
-			return fStorage;
-		}
-
-		public boolean exists() {
-			return fStorage != null;
-		}
-
-		public ImageDescriptor getImageDescriptor() {
-			return null;
-		}
-
-		public String getName() {
-			return fStorage.getName();
-		}
-
-		public IPersistableElement getPersistable() {
-			return null;
-		}
-
-		public String getToolTipText() {
-			return fStorage.getFullPath().toString();
-		}
-
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-	}
-
-	static class ZipStorage implements IStorage {
-		File fFile = null;
-		String fEntryName = null;
-		String fTitle = null;
-
-		ZipStorage(File file, String entryName, String title) {
-			fFile = file;
-			fEntryName = entryName;
-			fTitle = title;
-		}
-
-		public InputStream getContents() throws CoreException {
-			InputStream stream = null;
-			try {
-				ZipFile file = new ZipFile(fFile);
-				ZipEntry entry = file.getEntry(fEntryName);
-				stream = file.getInputStream(entry);
-			}
-			catch (Exception e) {
-				throw new CoreException(new Status(IStatus.ERROR, JSPUIPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, fTitle, e));
-			}
-			return stream;
-		}
-
-		public IPath getFullPath() {
-			return new Path(fFile.getAbsolutePath() + IPath.SEPARATOR + fEntryName);
-		}
-
-		public String getName() {
-			return fEntryName;
-		}
-
-		public boolean isReadOnly() {
-			return true;
-		}
-
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-	}
-
-	static class URLStorage implements IStorage {
-		URL fURL = null;
-
-		URLStorage(URL url) {
-			fURL = url;
-		}
-
-		public InputStream getContents() throws CoreException {
-			InputStream stream = null;
-			try {
-				stream = fURL.openStream();
-			}
-			catch (Exception e) {
-				throw new CoreException(new Status(IStatus.ERROR, JSPUIPlugin.getDefault().getBundle().getSymbolicName(), IStatus.ERROR, fURL.toString(), e));
-			}
-			return stream;
-		}
-
-		public IPath getFullPath() {
-			return new Path(fURL.toString());
-		}
-
-		public String getName() {
-			return new Path(fURL.getFile()).lastSegment();
-		}
-
-		public boolean isReadOnly() {
-			return true;
-		}
-
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-
-	}
-
-	private JSPJavaOpenOnJSP getJSPJavaOpenOn() {
-		if (jspJavaOpenOn == null) {
-			jspJavaOpenOn = new JSPJavaOpenOnJSP();
-			// set the document to current document
-			jspJavaOpenOn.setDocument(getDocument());
-		}
-		return jspJavaOpenOn;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.openon.AbstractOpenOn#setDocument(org.eclipse.jface.text.IDocument)
-	 */
-	public void setDocument(IDocument doc) {
-		super.setDocument(doc);
-
-		// also set the document for jspJavaOpenOn
-		if (jspJavaOpenOn != null) {
-			jspJavaOpenOn.setDocument(doc);
-		}
-	}
-
-	/**
-	 * Get JSP translation object
-	 * 
-	 * @return JSPTranslation if one exists, null otherwise
-	 */
-	private JSPTranslation getJSPTranslation() {
-		// get JSP translation object for this action's editor's document
-		XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-		if (xmlModel != null) {
-			XMLDocument xmlDoc = xmlModel.getDocument();
-			xmlModel.releaseFromRead();
-			JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-			if (adapter != null) {
-				return adapter.getJSPTranslation();
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.AbstractOpenOn#doOpenOn(org.eclipse.jface.text.IRegion)
-	 */
-	protected void doOpenOn(IRegion region) {
-		boolean opened = false;
-		IRegion newRegion = doGetOpenOnRegion(region.getOffset());
-		// if there is a corresponding Java source offset, then use
-		// JSPJavaOpenOnJSP
-		JSPTranslation jspTranslation = getJSPTranslation();
-		if ((jspTranslation != null) && (newRegion != null) && (jspTranslation.getJavaOffset(newRegion.getOffset()) > -1)) {
-			getJSPJavaOpenOn().doOpenOn(newRegion);
-			opened = true;
-		}
-
-		// check servlet and taglib mappings
-		if (!opened) {
-			Node current = getCurrentNode(newRegion.getOffset());
-			if (current.getNodeType() == Node.ELEMENT_NODE) {
-				Attr attr = getLinkableAttr((Element) current);
-				if (attr != null) {
-					ITaglibRecord reference = TaglibIndex.resolve(getBaseLocation(), attr.getValue(), false);
-					if (reference != null) {
-						try {
-							switch (reference.getRecordType()) {
-								case (ITaglibRecord.TLD) : {
-									TLDRecord record = (TLDRecord) reference;
-									openFileInEditor(record.getLocation().toString());
-									opened = true;
-								}
-									break;
-								case (ITaglibRecord.JAR) : {
-									JarRecord record = (JarRecord) reference;
-									IEditorInput input = new StorageEditorInput(new ZipStorage(record.getLocation().toFile(), "META-INF/taglib.tld", record.getLocation().toString()));
-									IEditorDescriptor editor = IDE.getEditorDescriptor(input.getName());
-									if (editor != null) {
-										IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), input, editor.getId(), true);
-										opened = true;
-									}
-								}
-									break;
-								case (ITaglibRecord.URL) : {
-									URLRecord record = (URLRecord) reference;
-									IEditorInput input = new StorageEditorInput(new URLStorage(record.getURL()));
-									IEditorDescriptor editor = IDE.getEditorDescriptor(input.getName());
-									if (editor != null) {
-										IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), input, editor.getId(), true);
-										opened = true;
-									}
-								}
-							}
-						}
-						catch (Exception e) {
-							openFileFailed();
-						}
-					}
-				}
-			}
-		}
-
-		if (!opened)
-			super.doOpenOn(newRegion);
-	}
-
-	/**
-	 * Return an attr of element that is of type URI if one exists. or if
-	 * element is jsp:usebean return the type or class attribute. null
-	 * otherwise.
-	 * 
-	 * @param element -
-	 *            cannot be null
-	 * @return Attr
-	 */
-	protected Attr getLinkableAttr(Element element) {
-		String tagName = element.getTagName();
-
-		// usebean
-		if (JSP11Namespace.ElementName.USEBEAN.equalsIgnoreCase(tagName)) {
-			// get the list of attributes for this node
-			NamedNodeMap attrs = element.getAttributes();
-			for (int i = 0; i < attrs.getLength(); ++i) {
-				Attr att = (Attr) attrs.item(i);
-				String attName = att.getName();
-				// look for the type or class attribute
-				if ((JSP11Namespace.ATTR_NAME_TYPE.equalsIgnoreCase(attName)) || (JSP11Namespace.ATTR_NAME_CLASS.equalsIgnoreCase(attName))) {
-					return att;
-				}
-			}
-		}
-
-		// otherwise, just look for attribute value of type URI
-		return super.getLinkableAttr(element);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/openon/JSPJavaOpenOnJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/openon/JSPJavaOpenOnJSP.java
deleted file mode 100644
index 54dd288..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/openon/JSPJavaOpenOnJSP.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * 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.ui.openon;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.ILocalVariable;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.ISourceReference;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.Logger;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.openon.AbstractOpenOn;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-/**
- * This action opens classes referenced in JSP Java content of a JSP page.
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-public class JSPJavaOpenOnJSP extends AbstractOpenOn {
-
-	//private final String SSE_MODEL_ID = IModelManagerPlugin.ID; //$NON-NLS-1$
-	private final String SELECT_JAVA_TITLE = JSPUIPlugin.getResourceString("%JSPJavaOpenOnJSP.0"); //$NON-NLS-1$
-	private final String SELECT_JAVA_MESSAGE = JSPUIPlugin.getResourceString("%JSPJavaOpenOnJSP.1"); //$NON-NLS-1$
-
-	/**
-	 * Get JSP translation object
-	 * 
-	 * @return JSPTranslation if one exists, null otherwise
-	 */
-	private JSPTranslation getJSPTranslation() {
-		// get JSP translation object for this action's editor's document
-		XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-		if (xmlModel != null) {
-			XMLDocument xmlDoc = xmlModel.getDocument();
-			xmlModel.releaseFromRead();
-			JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-			if (adapter != null) {
-				return adapter.getJSPTranslation();
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.AbstractOpenOn#doOpenOn(org.eclipse.jface.text.IRegion)
-	 */
-	protected void doOpenOn(IRegion region) {
-		JSPTranslation jspTranslation = getJSPTranslation();
-		if (jspTranslation != null) {
-			IJavaElement element = getJavaElement(region, jspTranslation);
-
-			// open local variable in the JSP file...
-			if (element instanceof ILocalVariable) {
-				// source reference has java text range info
-				if (element instanceof ISourceReference) {
-					try {
-						// get Java range, translate coordinate to JSP
-						ISourceRange range = ((ISourceReference) element).getSourceRange();
-						int jspStart = jspTranslation.getJspOffset(range.getOffset());
-
-						// open the JSP editor
-						IEditorPart jspEditor = openDocumentEditor();
-						// set the cursor to the declaration of the variable
-						if (jspEditor instanceof ITextEditor) {
-							((ITextEditor) jspEditor).setHighlightRange(jspStart, 0, true);
-						}
-					}
-					catch (JavaModelException jme) {
-						Logger.logException("error getting source range from java element (local variable)", jme); //$NON-NLS-1$
-					}
-				}
-			}
-			else {
-				try {
-					IEditorPart part = JavaUI.openInEditor(element);
-					if (part != null) {
-						if (element != null)
-							JavaUI.revealInEditor(part, element);
-					}
-					else {
-						// could not open editor
-						openFileFailed();
-					}
-				}
-				catch (Exception e) {
-					Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-				}
-			}
-		}
-	}
-	
-	private IFile[] getFiles(IStructuredModel model) {
-		String location = model.getBaseLocation();
-		IPath path = new Path(location);
-		if (!path.toFile().exists() && path.segmentCount() > 1) {
-			return new IFile[]{ResourcesPlugin.getWorkspace().getRoot().getFile(path)};
-		}
-		return ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(path);
-	}
-
-	/**
-	 * Determine the one Java element to open file on
-	 * 
-	 * @param region
-	 *            IRegion
-	 * @param translation
-	 *            jsp java translation
-	 * @return the one Java element to open file on
-	 */
-	private IJavaElement getJavaElement(IRegion region, JSPTranslation translation) {
-		if (region == null) {
-			return null;
-		}
-
-		IJavaElement[] elements = translation.getElementsFromJspRange(region.getOffset(), region.getOffset() + region.getLength());
-		if (elements == null || elements.length == 0)
-			return null;
-		IJavaElement candidate = elements[0];
-		// more than one Java element was selected so ask user which element
-		// should open file open
-		if (elements.length > 1) {
-			candidate = selectJavaElement(elements);
-		}
-		return candidate;
-	}
-
-	/**
-	 * Shows a dialog for resolving an ambigous java element. This method was
-	 * copied from org.eclipse.jdt.internal.ui.actions.OpenActionUtil except I
-	 * set the shell, title, message in this method instead of passing it and
-	 * this method is private
-	 */
-	private IJavaElement selectJavaElement(IJavaElement[] elements) {
-
-		int nResults = elements.length;
-		if (nResults == 0)
-			return null;
-		if (nResults == 1)
-			return elements[0];
-		int flags = JavaElementLabelProvider.SHOW_DEFAULT | JavaElementLabelProvider.SHOW_QUALIFIED | JavaElementLabelProvider.SHOW_ROOT;
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(null, new JavaElementLabelProvider(flags));
-		dialog.setTitle(SELECT_JAVA_TITLE);
-		dialog.setMessage(SELECT_JAVA_MESSAGE);
-		dialog.setElements(elements);
-		if (dialog.open() == Window.OK) {
-			Object[] selection = dialog.getResult();
-			if (selection != null && selection.length > 0) {
-				nResults = selection.length;
-				for (int i = 0; i < nResults; i++) {
-					Object current = selection[i];
-					if (current instanceof IJavaElement)
-						return (IJavaElement) current;
-				}
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.AbstractOpenOn#doGetOpenOnRegion(int)
-	 */
-	protected IRegion doGetOpenOnRegion(int offset) {
-		IRegion region;
-
-		// check and make sure this is a valid Java type
-		JSPTranslation jspTranslation = getJSPTranslation();
-		IJavaElement[] elements = jspTranslation.getElementsFromJspRange(offset, offset);
-		// if no Java element found, this is not a valid openable region
-		if (elements == null || elements.length == 0)
-			region = null;
-		else {
-			// return the type region
-			region = selectWord(getDocument(), offset);
-		}
-		return region;
-	}
-
-	/**
-	 * Java always selects word when defining region
-	 * 
-	 * @param document
-	 * @param anchor
-	 * @return IRegion
-	 */
-	private IRegion selectWord(IDocument document, int anchor) {
-
-		try {
-			int offset = anchor;
-			char c;
-
-			while (offset >= 0) {
-				c = document.getChar(offset);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				--offset;
-			}
-
-			int start = offset;
-
-			offset = anchor;
-			int length = document.getLength();
-
-			while (offset < length) {
-				c = document.getChar(offset);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				++offset;
-			}
-
-			int end = offset;
-
-			if (start == end)
-				return new Region(start, 0);
-			else
-				return new Region(start + 1, end - start - 1);
-
-		}
-		catch (BadLocationException x) {
-			return null;
-		}
-	}
-
-	/**
-	 * Open the editor associated with the current document
-	 * 
-	 * @return the editor opened or null if an external editor was opened or
-	 *         no editor was opened
-	 */
-	private IEditorPart openDocumentEditor() {
-		IEditorPart theEditor = null;
-
-		IStructuredModel model = null;
-		IFile file = null;
-		try {
-			model = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-			IFile[] files = getFiles(model);
-			int i = 0;
-			while (i < files.length && file == null) {
-				if (files[i].exists()) {
-					file = files[i];
-				}
-				else {
-					++i;
-				}
-			}
-		}
-		finally {
-			if (model != null) {
-				model.releaseFromRead();
-			}
-		}
-		if (file != null) {
-			theEditor = openFileInEditor(file);
-		}
-		return theEditor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/preferences/ui/JSPColorPage.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/preferences/ui/JSPColorPage.java
deleted file mode 100644
index b7a90ee..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/preferences/ui/JSPColorPage.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * 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.ui.preferences.ui;
-
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsp.core.contenttype.ContentTypeIdForJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.editor.IHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.html.ui.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore.OverlayKey;
-import org.eclipse.wst.sse.ui.preferences.ui.StyledTextColorPicker;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.preferences.XMLColorPage;
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-
-public class JSPColorPage extends XMLColorPage {
-
-	/**
-	 * Set up all the style preference keys in the overlay store
-	 */
-	protected OverlayKey[] createOverlayStoreKeys() {
-		ArrayList overlayKeys = new ArrayList();
-		
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-		Iterator i = styleList.iterator();
-		while (i.hasNext()) {
-			overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, (String)i.next()));	
-		}
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	public String getSampleText() {
-		return JSPUIPlugin.getResourceString("%Sample_JSP_doc"); //$NON-NLS-1$ = "<%@ page \n\tlanguage=\"java\" \n\tcontentType=\"text/html; charset=ISO-8859-1\"\n%>\n<jsp:include flush=\"true\" page=\"titleBar.jsp\"/>\n\n<%-- Use below tags ONLY for JSP 1.1 --%>\n<%\n\tSystem.out.println(\"Welcome!\");\n%>\n<%-- Use below tags ONLY for JSP 1.2 --%>\n<jsp:scriptlet>\n\tSystem.out.println(\"Welcome!\");\n</jsp:scriptlet>"
-	}
-
-	protected void initContextStyleMap(Dictionary contextStyleMap) {
-
-		initCommonContextStyleMap(contextStyleMap);
-		contextStyleMap.remove(XMLRegionContext.XML_CONTENT); // leave content between tags alone
-		contextStyleMap.remove(XMLRegionContext.XML_DECLARATION_OPEN); // xml/html specific
-		contextStyleMap.remove(XMLRegionContext.XML_DECLARATION_CLOSE); // xml/html specific
-		contextStyleMap.remove(XMLRegionContext.XML_ELEMENT_DECLARATION); // xml/html specific
-		contextStyleMap.remove(XMLRegionContext.XML_ELEMENT_DECL_CLOSE); // xml/html specific
-
-		//	contextStyleMap.put(XMLJSPRegionContexts.JSP_CONTENT, HTMLColorManager.SCRIPT_AREA);
-		//	contextStyleMap.put(XMLJSPRegionContexts.BLOCK_TEXT, HTMLColorManager.SCRIPT_AREA);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_DECLARATION_OPEN, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_EXPRESSION_OPEN, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_CLOSE, IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_DIRECTIVE_NAME, IStyleConstantsXML.TAG_NAME);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_ROOT_TAG_NAME, IStyleConstantsXML.TAG_NAME);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_COMMENT_OPEN, IStyleConstantsXML.COMMENT_BORDER);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_COMMENT_TEXT, IStyleConstantsXML.COMMENT_TEXT);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_COMMENT_CLOSE, IStyleConstantsXML.COMMENT_BORDER);
-
-		contextStyleMap.put(XMLJSPRegionContexts.XML_TAG_ATTRIBUTE_VALUE_DQUOTE, IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-		contextStyleMap.put(XMLJSPRegionContexts.XML_TAG_ATTRIBUTE_VALUE_SQUOTE, IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-	}
-
-	protected void initDescriptions(Dictionary descriptions) {
-		initCommonDescriptions(descriptions);
-		descriptions.remove(IStyleConstantsXML.XML_CONTENT); // leave content between tags alone
-		descriptions.remove(IStyleConstantsXML.DECL_BORDER); // xml/html specific
-		descriptions.put(IStyleConstantsHTML.SCRIPT_AREA_BORDER, JSPUIPlugin.getResourceString("%JSP_Delimiters_UI_")); //$NON-NLS-1$ = "JSP Delimiters"
-	}
-
-	protected void initStyleList(ArrayList list) {
-		initCommonStyleList(list);
-		list.remove(IStyleConstantsXML.XML_CONTENT); // leave content between tags alone
-		list.remove(IStyleConstantsXML.DECL_BORDER); // xml/html specific
-		list.add(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-	}
-
-	protected void setupPicker(StyledTextColorPicker picker) {
-		IModelManager mmanager = StructuredModelManager.getModelManager();
-		picker.setParser(mmanager.createStructuredDocumentFor(ContentTypeIdForJSP.ContentTypeID_JSP).getParser());
-
-		// create descriptions for hilighting types
-		Dictionary descriptions = new Hashtable();
-		initDescriptions(descriptions);
-
-		// map region types to hilighting types
-		Dictionary contextStyleMap = new Hashtable();
-		initContextStyleMap(contextStyleMap);
-
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-
-		picker.setContextStyleMap(contextStyleMap);
-		picker.setDescriptions(descriptions);
-		picker.setStyleList(styleList);
-
-		//	updatePickerFont(picker);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control c = super.createContents(parent);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.JSP_PREFWEBX_STYLES_HELPID);
-		return c;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.AbstractColorPage#savePreferences()
-	 */
-	protected void savePreferences() {
-		JSPUIPlugin.getDefault().savePluginPreferences();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/preferences/ui/JSPFilesPreferencePage.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/preferences/ui/JSPFilesPreferencePage.java
deleted file mode 100644
index bd082ea..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/preferences/ui/JSPFilesPreferencePage.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * 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.ui.preferences.ui;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.editor.IHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage;
-
-public class JSPFilesPreferencePage extends HTMLFilesPreferencePage {
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.preferences.ui.AbstractPreferencePage#getModelPreferences()
-	 */
-	protected Preferences getModelPreferences() {
-		return JSPCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#doSavePreferenceStore()
-	 */
-	protected void doSavePreferenceStore() {
-		JSPCorePlugin.getDefault().savePluginPreferences(); // model
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control c = super.createContents(parent);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.JSP_PREFWEBX_FILES_HELPID);
-		return c;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage#createContentsForLoadingGroup(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createContentsForLoadingGroup(Composite parent) {
-		// no loading preferences
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage#initializeValuesForLoadingGroup()
-	 */
-	protected void initializeValuesForLoadingGroup() {
-		// no loading preferences
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage#performDefaultsForLoadingGroup()
-	 */
-	protected void performDefaultsForLoadingGroup() {
-		// no loading preferences
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage#storeValuesForLoadingGroup()
-	 */
-	protected void storeValuesForLoadingGroup() {
-		// no loading preferences
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/preferences/ui/JSPTemplatePreferencePage.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/preferences/ui/JSPTemplatePreferencePage.java
deleted file mode 100644
index 1a1462b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/preferences/ui/JSPTemplatePreferencePage.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.ui.preferences.ui;
-
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.jst.jsp.ui.internal.editor.IHelpContextIds;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.texteditor.templates.TemplatePreferencePage;
-
-
-/**
- * Preference page for JSP templates
- */
-public class JSPTemplatePreferencePage extends TemplatePreferencePage {
-
-	public JSPTemplatePreferencePage() {
-		JSPUIPlugin jspEditorPlugin = JSPUIPlugin.getDefault();
-		
-		setPreferenceStore(jspEditorPlugin.getPreferenceStore());
-		setTemplateStore(jspEditorPlugin.getTemplateStore());
-		setContextTypeRegistry(jspEditorPlugin.getTemplateContextRegistry());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-  	  boolean ok = super.performOk();
-  	  JSPUIPlugin.getDefault().savePluginPreferences();
-	  return ok;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#isShowFormatterSetting()
-	 */
-	protected boolean isShowFormatterSetting() {
-		// template formatting has not been implemented
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite ancestor) {
-		Control c = super.createContents(ancestor);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.JSP_PREFWEBX_TEMPLATES_HELPID);
-		return c;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/registry/AdapterFactoryProviderForJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/registry/AdapterFactoryProviderForJSP.java
deleted file mode 100644
index 79398b8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/registry/AdapterFactoryProviderForJSP.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * 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.ui.registry;
-
-import java.util.Iterator;
-
-import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapterFactory;
-import org.eclipse.jst.jsp.core.modelhandler.ModelHandlerForJSP;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.html.ui.views.contentoutline.JFaceNodeAdapterFactoryForHTML;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.sse.core.modelhandler.IDocumentTypeHandler;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.registry.embedded.EmbeddedAdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.ui.views.properties.XMLPropertySourceAdapterFactory;
-
-/**
- * @author pavery
- */
-public class AdapterFactoryProviderForJSP implements AdapterFactoryProvider {
-
-	/*
-	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
-	 */
-	public void addAdapterFactories(IStructuredModel structuredModel) {
-		// these are the main factories, on model's factory registry
-		addContentBasedFactories(structuredModel);
-		// -------
-		// Must update/add to propagating adapters here too
-		addPropagatingAdapters(structuredModel);
-		// -------
-		// Must update/add to "editor side" embedded adapters here too
-		addEmbeddedContentFactories(structuredModel);
-
-	}
-
-	protected void addContentBasedFactories(IStructuredModel structuredModel) {
-		IFactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
-		Assert.isNotNull(factoryRegistry, "Program Error: client caller must ensure model has factory registry"); //$NON-NLS-1$
-		AdapterFactory factory = null;
-		// == this list came from the previous "HTML only" list
-		//        factory = factoryRegistry.getFactoryFor(ContentAssistAdapter.class);
-		//        if (factory == null) {
-		//            factory = new HTMLContentAssistAdapterFactory(ContentAssistAdapter.class, false);
-		//            factoryRegistry.addFactory(factory);
-		//        }
-		//		factory = factoryRegistry.getFactoryFor(ContentAssistAdapter.class);
-		//		if (factory == null) {
-		//			factory = new JSPContentAssistAdapterFactory();
-		//			factoryRegistry.addFactory(factory);
-		//		}
-		//		factory = factoryRegistry.getFactoryFor(DoubleClickAdapter.class);
-		//		if (factory == null) {
-		//			factory = new DoubleClickAdapterFactory(DoubleClickAdapter.class, true);
-		//			factoryRegistry.addFactory(factory);
-		//		}
-		//		// == New adapter factories for tagInfo
-		//		factory = factoryRegistry.getFactoryFor(HoverHelpAdapter.class);
-		//		if (factory == null) {
-		//			factory = new JSPHoverHelpAdapterFactory(HoverHelpAdapter.class, true);
-		//			factoryRegistry.addFactory(factory);
-		//		}
-		//		factory = factoryRegistry.getFactoryFor(TagInfoProviderAdapter.class);
-		//		if (factory == null) {
-		//			factory = new JSTagInfoProviderAdapterFactory(TagInfoProviderAdapter.class, true);
-		//			factoryRegistry.addFactory(factory);
-		//		}
-		// ==
-		// == this list came from the previous 'for both XML and HTML' list
-		factory = factoryRegistry.getFactoryFor(IPropertySource.class);
-		if (factory == null) {
-			factory = new XMLPropertySourceAdapterFactory();
-			factoryRegistry.addFactory(factory);
-		}
-		factory = factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class);
-		if (factory == null) {
-			factory = new JFaceNodeAdapterFactoryForHTML(IJFaceNodeAdapter.class, true);
-			factoryRegistry.addFactory(factory);
-		}
-
-		factory = factoryRegistry.getFactoryFor(IJSPTranslation.class);
-		if (factory == null) {
-			factory = new JSPTranslationAdapterFactory();
-			factoryRegistry.addFactory(factory);
-		}
-	}
-
-	protected void addEmbeddedContentFactories(IStructuredModel structuredModel) {
-
-		if (structuredModel instanceof XMLModel) {
-			XMLModel xmlModel = (XMLModel) structuredModel;
-			XMLDocument document = xmlModel.getDocument();
-			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
-			if (pageDirectiveAdapter != null) {
-				// made into registry mechanism
-				AdapterFactoryRegistry adapterRegistry = JSPUIPlugin.getDefault().getEmbeddedAdapterFactoryRegistry();
-				Iterator adapterList = adapterRegistry.getAdapterFactories();
-				// And all those appropriate for this particular type of content
-				while (adapterList.hasNext()) {
-					EmbeddedAdapterFactoryProvider provider = (EmbeddedAdapterFactoryProvider) adapterList.next();
-					if (provider.isFor(pageDirectiveAdapter.getEmbeddedType())) {
-						provider.addAdapterFactories(structuredModel);
-					}
-				}
-			}
-		}
-
-	}
-
-	protected void addPropagatingAdapters(IStructuredModel structuredModel) {
-		//		if (structuredModel instanceof XMLModel) {
-		//			AdapterFactory factory = null;
-		//			XMLModel xmlModel = (XMLModel) structuredModel;
-		//			XMLDocument document = xmlModel.getDocument();
-		//			PropagatingAdapter propagatingAdapter = (PropagatingAdapter) document.getAdapterFor(PropagatingAdapter.class);
-		//			if (propagatingAdapter != null) {
-		// DMW: 8/16/2002 removed since this one was no longer needed for page directive 
-		// lanague. It might still be needed for script and meta languages?
-		// but even they were "commented out" in the JSPPageDirectiveLineStyleUpdaterFactory
-		// so not sure what the plan it there.	
-		//				factory = new JSPPageDirectiveLineStyleUpdaterFactory();
-		//				propagatingAdapter.addAdaptOnCreateFactory(factory);
-		//				propagatingAdapter.initializeForFactory(factory, document);
-		//			}
-		//		}
-
-		if (structuredModel instanceof XMLModel) {
-//			AdapterFactory factory = null;
-			XMLModel xmlModel = (XMLModel) structuredModel;
-			XMLDocument document = xmlModel.getDocument();
-			PropagatingAdapter propagatingAdapter = (PropagatingAdapter) document.getAdapterFor(PropagatingAdapter.class);
-			if (propagatingAdapter != null) {
-				//	checking if we should bother adding this factory
-				// if the preference says not to check validity, we don't bother creating this factory
-				// to improve performance...
-				//if(structuredModel.getStructuredPreferenceStore().getPreferenceString(CommonPreferenceNames.EDITOR_VALIDATION_METHOD).equals(CommonPreferenceNames.EDITOR_VALIDATION_CONTENT_MODEL)) {
-				//factory = new ReconcilerAdapterFactoryForXML();
-				//propagatingAdapter.addAdaptOnCreateFactory(factory);
-				// (pa) perf:
-				//propagatingAdapter.initializeForFactory(factory, xmlModel.getDocument());
-				//}
-			}
-		}
-	}
-
-	/*
-	 * @see AdapterFactoryProvider#isFor(ContentTypeDescription)
-	 */
-	public boolean isFor(IDocumentTypeHandler contentTypeDescription) {
-		return (contentTypeDescription instanceof ModelHandlerForJSP);
-	}
-
-	public void reinitializeFactories(IStructuredModel structuredModel) {
-		// assuming the original ones have been removed already
-		// from the page directives registry. The original ones
-		// are removed when the embeddedContentType is set.
-		addEmbeddedContentFactories(structuredModel);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/LineStyleProviderForJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/LineStyleProviderForJSP.java
deleted file mode 100644
index 5101618..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/LineStyleProviderForJSP.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * 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.ui.style;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.wst.html.ui.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-
-public class LineStyleProviderForJSP extends AbstractLineStyleProvider implements LineStyleProvider{
-
-	private String language = null;
-
-	//    private static final String JAVA = "java"; //$NON-NLS-1$
-	//    private static final String[] JAVASCRIPT_LANGUAGE_KEYS = new String[] {
-	// "javascript", "javascript1.0", "javascript1.1_3", "javascript1.2",
-	// "javascript1.3", "javascript1.4", "javascript1.5", "javascript1.6",
-	// "jscript", "sashscript" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	// //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
-	// //$NON-NLS-9$ //$NON-NLS-10$
-
-	public LineStyleProviderForJSP() {
-		super();
-		loadColorsForJSPTags();
-	}
-
-	protected void clearColors() {
-		getTextAttributes().clear();
-	}
-
-	protected TextAttribute getAttributeFor(ITextRegion region) {
-		/**
-		 * a method to centralize all the "sytle rules" for regions
-		 */
-		TextAttribute result = null;
-		// not sure why this is coming through null, but just to catch it
-		if (region == null) {
-			result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.CDATA_TEXT);
-		}
-		else {
-
-			if (result == null) {
-				String type = region.getType();
-				if ((type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN) || (type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN) || (type == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN) || (type == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE) || (type == XMLJSPRegionContexts.JSP_CLOSE)) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-				}
-				else if (type == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME || type == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_NAME);
-				}
-				else if ((type == XMLJSPRegionContexts.JSP_COMMENT_OPEN) || (type == XMLJSPRegionContexts.JSP_COMMENT_CLOSE)) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.COMMENT_BORDER);
-				}
-				else if (type == XMLJSPRegionContexts.JSP_COMMENT_TEXT) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.COMMENT_TEXT);
-				}
-				// ============ These are in common with XML --- (for XML form
-				// of tags)
-				//              Note: this assume's this provider is only called for
-				//              true JSP Nodes. If its called for others, then this will
-				//              cause their tag names to be highlighted too!
-				//              Further checks could be done to prevent that, but doesn't
-				//              seem worth it, since if adpaters factories are working
-				// right,
-				//              then wouldn't be needed.
-				else if (type == XMLRegionContext.XML_TAG_NAME) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_NAME);
-				}
-				else if ((type == XMLRegionContext.XML_TAG_OPEN) || (type == XMLRegionContext.XML_END_TAG_OPEN) || (type == XMLRegionContext.XML_TAG_CLOSE) || (type == XMLRegionContext.XML_EMPTY_TAG_CLOSE)) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_BORDER);
-				}
-				else if (type == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-				}
-				else if ((type == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) || (type == XMLJSPRegionContexts.XML_TAG_ATTRIBUTE_VALUE_DQUOTE) || (type == XMLJSPRegionContexts.XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-				}
-				else if (type == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS);
-				}
-
-				// DMW: added 9/1/2002 Undefined color may need addjustment :)
-				else if (type == XMLRegionContext.UNDEFINED)
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-
-				else if (type == XMLRegionContext.WHITE_SPACE)
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-				// DMW added 8/30/2002 -- should provide JSP specific
-				// preference for "custom tag content" (both tag dependent,
-				// BLOCKED_TEXT, and not, XML CONTENT)
-				else if (type == XMLRegionContext.XML_CONTENT)
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-				else if (type == XMLRegionContext.BLOCK_TEXT)
-					result = (TextAttribute) getTextAttributes().get(IStyleConstantsXML.CDATA_TEXT);
-			}
-		}
-		// default, return null to signal "not handled"
-		// in which case, other factories should be tried
-		return result;
-	}
-
-
-	protected IPreferenceStore getColorPreferences() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected void loadColorsForJSPTags() {
-		clearColors();
-
-		addTextAttribute(IStyleConstantsXML.TAG_NAME);
-		addTextAttribute(IStyleConstantsXML.TAG_BORDER);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS);
-		addTextAttribute(IStyleConstantsXML.COMMENT_BORDER);
-		addTextAttribute(IStyleConstantsXML.COMMENT_TEXT);
-		addTextAttribute(IStyleConstantsXML.CDATA_BORDER);
-		addTextAttribute(IStyleConstantsXML.CDATA_TEXT);
-		addTextAttribute(IStyleConstantsXML.DECL_BORDER);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_NAME);
-		addTextAttribute(IStyleConstantsXML.PI_CONTENT);
-		addTextAttribute(IStyleConstantsXML.PI_BORDER);
-		addTextAttribute(IStyleConstantsXML.XML_CONTENT);
-		addTextAttribute(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		String styleKey = null;
-
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (IStyleConstantsXML.TAG_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_NAME;
-			}
-			else if (IStyleConstantsXML.TAG_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_BORDER;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_NAME;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_VALUE.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_VALUE;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS;
-			}
-			else if (IStyleConstantsXML.COMMENT_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.COMMENT_BORDER;
-			}
-			else if (IStyleConstantsXML.COMMENT_TEXT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.COMMENT_TEXT;
-			}
-			else if (IStyleConstantsXML.CDATA_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.CDATA_BORDER;
-			}
-			else if (IStyleConstantsXML.CDATA_TEXT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.CDATA_TEXT;
-			}
-			else if (IStyleConstantsXML.DECL_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DECL_BORDER;
-			}
-			else if (IStyleConstantsXML.DOCTYPE_EXTERNAL_ID.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID;
-			}
-			else if (IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF;
-			}
-			else if (IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF;
-			}
-			else if (IStyleConstantsXML.DOCTYPE_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_NAME;
-			}
-			else if (IStyleConstantsXML.PI_CONTENT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.PI_CONTENT;
-			}
-			else if (IStyleConstantsXML.PI_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.PI_BORDER;
-			}
-			else if (IStyleConstantsXML.XML_CONTENT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.XML_CONTENT;
-			}
-			else if (IStyleConstantsHTML.SCRIPT_AREA_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsHTML.SCRIPT_AREA_BORDER;
-			}
-		}
-
-		if (styleKey != null) {
-			// overwrite style preference with new value
-			addTextAttribute(styleKey);
-			super.handlePropertyChange(event);
-		}
-	}
-
-	/**
-	 * Returns the language.
-	 * 
-	 * @return String
-	 */
-	public String getLanguage() {
-		return language;
-	}
-
-	/**
-	 * Sets the language.
-	 * 
-	 * @param language
-	 *            The language to set
-	 */
-	public void setLanguage(String language) {
-		this.language = language;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaCodeScanner.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaCodeScanner.java
deleted file mode 100644
index 7936a83..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaCodeScanner.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * 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.ui.style.java;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.EndOfLineRule;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.MultiLineRule;
-import org.eclipse.jface.text.rules.SingleLineRule;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WhitespaceRule;
-import org.eclipse.jface.text.rules.WordRule;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-/**
- * A Java code scanner.
- */
-public class JavaCodeScanner extends org.eclipse.jface.text.rules.RuleBasedScanner {
-
-	private static String[] fgKeywords = {"abstract", //$NON-NLS-1$
-				"break", //$NON-NLS-1$
-				"case", "catch", "class", "continue", //$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"default", "do", //$NON-NLS-2$//$NON-NLS-1$
-				"else", "extends", //$NON-NLS-2$//$NON-NLS-1$
-				"final", "finally", "for", //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"if", "implements", "import", "instanceof", "interface", //$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"native", "new", //$NON-NLS-2$//$NON-NLS-1$
-				"package", "private", "protected", "public", //$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"return", //$NON-NLS-1$
-				"static", "super", "switch", "synchronized", //$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"this", "throw", "throws", "transient", "try", //$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				"volatile", //$NON-NLS-1$
-				"while", //$NON-NLS-1$
-				"strictfp",//$NON-NLS-1$
-	};
-	private static String[] fgTypes = {"void", "boolean", "char", "byte", "short", "int", "long", "float", "double"};//$NON-NLS-9$//$NON-NLS-8$//$NON-NLS-7$//$NON-NLS-6$//$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-	private static String[] fgConstants = {"false", "null", "true"};//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-
-	/**
-	 * Creates a Java code scanner
-	 */
-	public JavaCodeScanner() {
-		// if we use null here, system default will be used
-		Color background = null; //provider.getColor(JavaColorProvider.EDITOR_BACKGROUND);
-		
-		JavaColorProvider.getInstance().loadJavaColors();
-		IToken keyword = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.KEYWORD), background, JavaColorProvider.KEYWORD_BOLD));
-		IToken type = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.TYPE), background, JavaColorProvider.TYPE_BOLD));
-		IToken string = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.STRING), background, JavaColorProvider.STRING_BOLD));
-		IToken comment = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.SINGLE_LINE_COMMENT), background, JavaColorProvider.SINGLE_LINE_COMMENT_BOLD));
-		IToken other = new Token(new TextAttribute(EditorUtility.getColor(JavaColorProvider.DEFAULT), background, JavaColorProvider.DEFAULT_BOLD));
-
-
-		List rules = new ArrayList();
-
-		// Add rule for multiple line comments.
-		rules.add(new MultiLineRule("/*", "*/", comment));//$NON-NLS-1$ //$NON-NLS-2$
-
-		// Add rule for single line comments.
-		rules.add(new EndOfLineRule("//", comment));//$NON-NLS-1$
-
-		// Add rule for strings and character constants.
-		rules.add(new SingleLineRule("\"", "\"", string, '\\'));//$NON-NLS-2$//$NON-NLS-1$
-		rules.add(new SingleLineRule("'", "'", string, '\\'));//$NON-NLS-2$//$NON-NLS-1$
-
-		// Add generic whitespace rule.
-		rules.add(new WhitespaceRule(new JavaWhitespaceDetector()));
-
-		// Add word rule for keywords, types, and constants.
-		WordRule wordRule = new WordRule(new JavaWordDetector(), other);
-		for (int i = 0; i < fgKeywords.length; i++)
-			wordRule.addWord(fgKeywords[i], keyword);
-		for (int i = 0; i < fgTypes.length; i++)
-			wordRule.addWord(fgTypes[i], type);
-		for (int i = 0; i < fgConstants.length; i++)
-			wordRule.addWord(fgConstants[i], type);
-		rules.add(wordRule);
-
-
-		IRule[] result = new IRule[rules.size()];
-		rules.toArray(result);
-		setRules(result);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaColorProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaColorProvider.java
deleted file mode 100644
index 74cccc4..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaColorProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * 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.ui.style.java;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Colors used in the Java editor
- */
-public class JavaColorProvider {
-	
-	// people should not be setting these, even though they are currently not final
-	public static RGB MULTI_LINE_COMMENT = new RGB(128, 0, 0);
-	public static RGB SINGLE_LINE_COMMENT = new RGB(128, 128, 0);
-	public static RGB KEYWORD = new RGB(0, 0, 128);
-	public static RGB TYPE = new RGB(0, 0, 128);
-	public static RGB STRING = new RGB(0, 128, 0);
-	public static RGB DEFAULT = new RGB(0, 0, 0);
-	public static RGB JAVADOC_KEYWORD = new RGB(0, 128, 0);
-	public static RGB JAVADOC_TAG = new RGB(128, 128, 128);
-	public static RGB JAVADOC_LINK = new RGB(128, 128, 128);
-	public static RGB JAVADOC_DEFAULT = new RGB(0, 128, 128);
-	
-	public static int MULTI_LINE_COMMENT_BOLD = SWT.NORMAL;
-	public static int SINGLE_LINE_COMMENT_BOLD = SWT.NORMAL;
-	public static int KEYWORD_BOLD = SWT.BOLD;
-	public static int TYPE_BOLD = SWT.BOLD;
-	public static int STRING_BOLD = SWT.NORMAL;
-	public static int DEFAULT_BOLD = SWT.NORMAL;
-	public static int JAVADOC_KEYWORD_BOLD = SWT.BOLD;
-	public static int JAVADOC_TAG_BOLD = SWT.NORMAL;
-	public static int JAVADOC_LINK_BOLD = SWT.NORMAL;
-	public static int JAVADOC_DEFAULT_BOLD = SWT.NORMAL;
-	
-	/**
-	 * @deprecated all editors use same
-	 */
-	public static RGB EDITOR_BACKGROUND = new RGB(255, 255, 255);
-	/**
-	 * @deprecated all editors use same
-	 */
-	public static boolean EDITOR_CURRENT_LINE = true;
-	/**
-	 * @deprecated all editors use same
-	 */
-	public static RGB EDITOR_CURRENT_LINE_COLOR = new RGB(128, 128, 128);
-	
-	private static JavaColorProvider fInstance = null;
-	
-	public static JavaColorProvider getInstance() {
-		if (fInstance == null) {
-			fInstance = new JavaColorProvider();
-		}
-		return fInstance;
-	}
-	
-	/**
-	 * Use colors from JDT plugin
-	 */
-	public void loadJavaColors() {
-		
-		IPreferenceStore jdtStore = PreferenceConstants.getPreferenceStore();
-		MULTI_LINE_COMMENT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_COLOR);
-		SINGLE_LINE_COMMENT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_COLOR);
-		KEYWORD = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVA_KEYWORD_COLOR);
-		TYPE = KEYWORD;
-		STRING = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_STRING_COLOR);
-		DEFAULT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVA_DEFAULT_COLOR);
-		JAVADOC_KEYWORD = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_KEYWORD_COLOR);
-		JAVADOC_TAG = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_TAG_COLOR);
-		JAVADOC_LINK = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_LINKS_COLOR);
-		JAVADOC_DEFAULT = PreferenceConverter.getColor(jdtStore, PreferenceConstants.EDITOR_JAVADOC_DEFAULT_COLOR);
-		
-		MULTI_LINE_COMMENT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		SINGLE_LINE_COMMENT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		KEYWORD_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		TYPE_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		STRING_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_STRING_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		DEFAULT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		JAVADOC_TAG_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		JAVADOC_LINK_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		JAVADOC_DEFAULT_BOLD = jdtStore.getBoolean(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD) ? SWT.BOLD : SWT.NORMAL;
-		
-//		EDITOR_BACKGROUND = new RGB(255, 255, 255);
-		
-//		IPreferenceStore sseStore = SSEUIPlugin.getDefault().getPreferenceStore();
-//		EDITOR_CURRENT_LINE = sseStore.getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE);
-//		EDITOR_CURRENT_LINE_COLOR = PreferenceConverter.getColor(sseStore, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaWhitespaceDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaWhitespaceDetector.java
deleted file mode 100644
index 3d28ded..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaWhitespaceDetector.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.ui.style.java;
-
-
-
-/**
- * A java aware white space detector.
- */
-public class JavaWhitespaceDetector implements org.eclipse.jface.text.rules.IWhitespaceDetector {
-
-	/**
-	 * @see org.eclipse.jface.text.rules.IWhitespaceDetector#isWhitespace
-	 */
-	public boolean isWhitespace(char c) {
-		return Character.isWhitespace(c);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaWordDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaWordDetector.java
deleted file mode 100644
index 08cd1a1..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/JavaWordDetector.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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.ui.style.java;
-
-
-/**
- * A Java aware word detector.
- */
-public class JavaWordDetector implements org.eclipse.jface.text.rules.IWordDetector {
-
-	/**
-	 * @see org.eclipse.jface.text.rules.IWordDetector#isWordIdentifierPart
-	 */
-	public boolean isWordPart(char c) {
-		return Character.isJavaIdentifierPart(c);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.rules.IWordDetector#isWordIdentifierStart
-	 */
-	public boolean isWordStart(char c) {
-		return Character.isJavaIdentifierStart(c);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/LineStyleProviderForJava.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/LineStyleProviderForJava.java
deleted file mode 100644
index fdbccce..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/style/java/LineStyleProviderForJava.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * 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.ui.style.java;
-
-import java.util.Collection;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.wst.html.ui.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.ui.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-import org.w3c.dom.Node;
-
-// Note: many of the methods in this class were based on (or copied from) those
-// found in the example Java Editor
-public class LineStyleProviderForJava extends AbstractLineStyleProvider implements LineStyleProvider{
-
-	private IDocument fDocument;
-	/** The scanner it uses */
-	protected RuleBasedScanner fScanner;
-	/** The default text attribute if non is returned as data by the current token */
-	protected TextAttribute fDefaultTextAttribute;
-	protected Node targetNode;
-
-	public LineStyleProviderForJava() {
-		super();
-		loadColors();
-		fScanner = new JavaCodeScanner();
-		fDefaultTextAttribute = new TextAttribute(EditorUtility.getColor(JavaColorProvider.DEFAULT));
-
-	}
-
-	/**
-	 * Adds style information to the given text presentation.
-	 *
-	 * @param presentation the text presentation to be extended
-	 * @param offset the offset of the range to be styled
-	 * @param length the length of the range to be styled
-	 * @param attr the attribute describing the style of the range to be styled
-	 */
-	protected void addRange(Collection presentation, int offset, int length, TextAttribute attr) {
-		
-		Point range = getHighlighter().getTextViewer().getSelectedRange();
-		int caret = range.x;
-		int selection = range.y;
-		IDocument doc = getDocument();
-		Color bg = attr.getBackground();
-		// all editors use same background color
-//		// if current line highlight on, use line highlight color for background
-//		if(JavaColorProvider.EDITOR_CURRENT_LINE && selection == 1) {
-//			try {
-//				IRegion lineRegion = doc.getLineInformation(doc.getLineOfOffset(caret));
-//				if(lineRegion.getOffset()<=offset && offset<=lineRegion.getOffset()+lineRegion.getLength())
-//					bg = EditorUtility.getColor(JavaColorProvider.EDITOR_CURRENT_LINE_COLOR);
-//						
-//			} catch (BadLocationException e) {
-//				Logger.logException(e);
-//			}
-//		}
-		
-		presentation.add(new StyleRange(offset, length, attr.getForeground(), bg, attr.getStyle()));
-	}
-
-	protected void clearColors() {
-		getTextAttributes().clear();
-	}
-
-	/**
-	 * Returns a text attribute encoded in the given token. If the token's
-	 * data is not <code>null</code> and a text attribute it is assumed that
-	 * it is the encoded text attribute. It returns the default text attribute
-	 * if there is no encoded text attribute found.
-	 *
-	 * @param token the token whose text attribute is to be determined
-	 * @return the token's text attribute
-	 */
-	protected TextAttribute getTokenTextAttribute(IToken token) {
-		Object data = token.getData();
-		if (data instanceof TextAttribute)
-			return (TextAttribute) data;
-		return fDefaultTextAttribute;
-	}
-
-	protected void loadColors() {
-		clearColors();
-		
-		addTextAttribute(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		String styleKey = null;
-
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (IStyleConstantsHTML.SCRIPT_AREA_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsHTML.SCRIPT_AREA_BORDER;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_NAME;
-			}
-			else if (IStyleConstantsXML.TAG_ATTRIBUTE_VALUE.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_VALUE;
-			}
-		}
-
-		if (styleKey != null) {
-			// overwrite style preference with new value
-			addTextAttribute(styleKey);
-			super.handlePropertyChange(event);
-		}
-	}
-
-	public boolean prepareRegions(ITypedRegion typedRegion, int ssssrequestedStart, int ssssrequestedLength, Collection holdResults) {
-		boolean result = true;
-		try {
-			// ideally, eventually, we'll have a "virtualDocument" we can 
-			// refer to, but for now ... we'll simple rescan the one region.
-			// use simple adjustment (since "sub-content" starts at 0
-			int offsetAdjustment = typedRegion.getOffset();
-			String content = super.getDocument().get(typedRegion.getOffset(), typedRegion.getLength());
-			IDocument document = new Document(content);
-			this.setDocument(document);
-
-			int lastStart = 0;
-			int length = 0;
-			IToken lastToken = Token.UNDEFINED;
-
-			int remainingLength = typedRegion.getLength();
-			fScanner.setRange(fDocument, lastStart, remainingLength);
-
-			while (true) {
-
-				IToken token = fScanner.nextToken();
-
-				if (token.isEOF()) {
-					if (!lastToken.isUndefined() && length != 0)
-						addRange(holdResults, lastStart + offsetAdjustment, length, getTokenTextAttribute(lastToken));
-					break;
-				}
-
-				if (token.isWhitespace()) {
-					length += fScanner.getTokenLength();
-					continue;
-				}
-
-				if (lastToken.isUndefined()) {
-					lastToken = token;
-					length += fScanner.getTokenLength();
-					continue;
-				}
-
-				if (token != lastToken) {
-					addRange(holdResults, lastStart + offsetAdjustment, length, getTokenTextAttribute(lastToken));
-					lastToken = token;
-					lastStart = fScanner.getTokenOffset();
-					length = fScanner.getTokenLength();
-					continue;
-				}
-
-				length += fScanner.getTokenLength();
-			}
-		}
-		catch (BadLocationException e) {
-			// shouldn't happen, but we don't want it to stop other highlighting, if it does.
-			result = false;
-		}
-		return result;
-	}
-	
-	protected IPreferenceStore getColorPreferences() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	protected void setDocument(IDocument document) {
-		fDocument = document;
-	}
-
-	public void setTargetNode(org.w3c.dom.Node newTargetNode) {
-		targetNode = newTargetNode;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPBestMatchHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPBestMatchHoverProcessor.java
deleted file mode 100644
index 7b95115..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPBestMatchHoverProcessor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.ui.taginfo;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.wst.sse.ui.taginfo.AbstractBestMatchHoverProcessor;
-
-/**
- * Provides the best jsp hover help documentation (by using other hover help processors)
- * Priority of hover help processors is:
- * AnnotationHoverProcessor, JSPTagInfoHoverProcessor
- */
-public class JSPBestMatchHoverProcessor extends AbstractBestMatchHoverProcessor {
-	JSPTagInfoHoverProcessor fTagInfoHover;
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.structured.taginfo.AbstractBestMatchHoverProcessor#getTagInfoHover()
-	 */
-	protected ITextHover getTagInfoHover() {
-		if (fTagInfoHover == null) {
-			fTagInfoHover = new JSPTagInfoHoverProcessor();
-		}
-		return fTagInfoHover;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPInformationProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPInformationProvider.java
deleted file mode 100644
index 4fbb9e0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPInformationProvider.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.ui.taginfo;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.information.IInformationProvider;
-import org.eclipse.jface.text.information.IInformationProviderExtension;
-
-/**
- * Provides context information for JSP tags (Shows tooltip description)
- * 
- * @author amywu
- */
-public class JSPInformationProvider implements IInformationProvider, IInformationProviderExtension {
-
-	private JSPBestMatchHoverProcessor fTextHover = null;
-
-	public JSPInformationProvider() {
-		fTextHover = new JSPBestMatchHoverProcessor();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.information.IInformationProvider#getSubject(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IRegion getSubject(ITextViewer textViewer, int offset) {
-		return fTextHover.getHoverRegion(textViewer, offset);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.information.IInformationProvider#getInformation(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public String getInformation(ITextViewer textViewer, IRegion subject) {
-		return (String)getInformation2(textViewer, subject);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.information.IInformationProviderExtension#getInformation2(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public Object getInformation2(ITextViewer textViewer, IRegion subject) {
-		return fTextHover.getHoverInfo(textViewer, subject);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPJavaBestMatchHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPJavaBestMatchHoverProcessor.java
deleted file mode 100644
index 54ac2f8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPJavaBestMatchHoverProcessor.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.ui.taginfo;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jst.jsp.ui.internal.taginfo.JSPJavaJavadocHoverProcessor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.sse.ui.taginfo.AbstractBestMatchHoverProcessor;
-
-/**
- * Provides the best jsp java hover help documentation (by using other hover help processors)
- * Priority of hover help processors is:
- * AnnotationHoverProcessor, JSPJavaJavadocHover
- */
-public class JSPJavaBestMatchHoverProcessor extends AbstractBestMatchHoverProcessor {
-	private JSPJavaJavadocHoverProcessor fTagInfoHover;
-
-	protected ITextHover getTagInfoHover() {
-		if (fTagInfoHover == null) {
-			fTagInfoHover = new JSPJavaJavadocHoverProcessor();
-		}
-		return fTagInfoHover;
-	}
-
-	/**
-	 * @deprecated This method should no longer be needed since it was only added
-	 * for the now deprecated JSPJavaJavadocHover
-	 * @param editor
-	 */
-	public void setEditor(IEditorPart editor) {
-//		// jspjavajavadoc hover requires an editor to be set
-//		((JSPJavaJavadocHover) getTagInfoHover()).setEditor(editor);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPJavaJavadocHover.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPJavaJavadocHover.java
deleted file mode 100644
index 76fe88f..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPJavaJavadocHover.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.ui.taginfo;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jst.jsp.core.internal.java.IJSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
-import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-/**
- * Provides javadoc hover help documentation for java code inside JSPs
- * @deprecated use JSPJavaJavadocHoverProcessor instead
- */
-public class JSPJavaJavadocHover extends JavadocHover {
-	
-	public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
-		// get JSP translation object for this viewer's document
-		XMLModel xmlModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(textViewer.getDocument());
-		try {
-			if(xmlModel != null) {
-				XMLDocument xmlDoc = xmlModel.getDocument();
-				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
-				if (adapter != null) {
-					JSPTranslation translation = adapter.getJSPTranslation();
-					IJavaElement[] result = translation.getElementsFromJspRange(hoverRegion.getOffset(), hoverRegion.getOffset() + hoverRegion.getLength());
-					return getHoverInfo(result);
-				}
-			}
-		}
-		finally {
-			if(xmlModel != null) 
-				xmlModel.releaseFromRead();
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPTagInfoHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPTagInfoHoverProcessor.java
deleted file mode 100644
index 40a96a5..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/taginfo/JSPTagInfoHoverProcessor.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.ui.taginfo;
-
-
-
-import org.eclipse.wst.html.ui.taginfo.HTMLTagInfoHoverProcessor;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-
-/**
- * Provides hover help documentation for JSP tags
- */
-public class JSPTagInfoHoverProcessor extends HTMLTagInfoHoverProcessor {
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sed.structured.taginfo.AbstractTextHoverProcessor#computeRegionHelp(com.ibm.sed.model.IndexedRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.structured.text.IStructuredDocumentRegion, com.ibm.sed.structured.text.ITextRegion)
-	 */
-	protected String computeRegionHelp(IndexedRegion treeNode, XMLNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
-		String result = null;
-
-		if (region == null)
-			return null;
-
-		String regionType = region.getType();
-		if (regionType == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-			result = computeJSPDirHelp((XMLNode) treeNode, parentNode, flatNode, region);
-		}
-		else
-			result = super.computeRegionHelp(treeNode, parentNode, flatNode, region);
-
-		return result;
-	}
-
-	/**
-	 * Computes the hover help for the jsp directive name
-	 * for now, treat jsp directives like any other tag name
-	 */
-	protected String computeJSPDirHelp(XMLNode xmlnode, XMLNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
-		return computeTagNameHelp(xmlnode, parentNode, flatNode, region);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSP.java
deleted file mode 100644
index 971def7..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSP.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.ui.templates;
-
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeXML;
-
-/**
- * Base class for JSP template context types.  Templates of this context
- * type apply to any place within JSP content type.
- */
-public class TemplateContextTypeJSP extends TemplateContextTypeXML {
-	public static final String JSP_PREFIX = "jsp_"; //$NON-NLS-1$
-
-	public TemplateContextTypeJSP() {
-		this(generateContextTypeId(TemplateContextTypeIds.ALL), JSPUIPlugin.getResourceString("%TemplateContextTypeJSP.0")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @param id
-	 * @param name
-	 */
-	public TemplateContextTypeJSP(String id, String name) {
-		super(id, name);
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.templates.TemplateContextTypeXML#generateContextTypeId(java.lang.String)
-	 */
-	public static String generateContextTypeId(String base_contextTypeId) {
-		return JSP_PREFIX+base_contextTypeId;
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSPAttribute.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSPAttribute.java
deleted file mode 100644
index 65d6b87..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSPAttribute.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.ui.templates;
-
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-
-/**
- * Templates of this context type apply to any attributes within JSP content type.
- */
-public class TemplateContextTypeJSPAttribute extends TemplateContextTypeJSP {
-
-	public TemplateContextTypeJSPAttribute() {
-		super(generateContextTypeId(TemplateContextTypeIds.ATTRIBUTE), JSPUIPlugin.getResourceString("%TemplateContextTypeJSPAttribute.0")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSPAttributeValue.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSPAttributeValue.java
deleted file mode 100644
index f408d31..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSPAttributeValue.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * 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.ui.templates;
-
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-
-/**
- * Templates of this context type apply to any attribute values
- * within JSP content type.
- */
-public class TemplateContextTypeJSPAttributeValue extends TemplateContextTypeJSP {
-
-	public TemplateContextTypeJSPAttributeValue() {
-		super(generateContextTypeId(TemplateContextTypeIds.ATTRIBUTEVALUE), JSPUIPlugin.getResourceString("%TemplateContextTypeJSPAttributeValue.0")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSPTag.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSPTag.java
deleted file mode 100644
index 36ecea8..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/templates/TemplateContextTypeJSPTag.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.ui.templates;
-
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-
-/**
- * Templates of this context type apply to any tags within JSP content type.
- */
-public class TemplateContextTypeJSPTag extends TemplateContextTypeJSP {
-
-	public TemplateContextTypeJSPTag() {
-		super(generateContextTypeId(TemplateContextTypeIds.TAG), JSPUIPlugin.getResourceString("%TemplateContextTypeJSPTag.0")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/text/JSPDocumentRegionEdgeMatcher.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/text/JSPDocumentRegionEdgeMatcher.java
deleted file mode 100644
index 5d4d384..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/text/JSPDocumentRegionEdgeMatcher.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.ui.text;
-
-import org.eclipse.jdt.internal.ui.text.JavaPairMatcher;
-import org.eclipse.wst.sse.ui.text.DocumentRegionEdgeMatcher;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-public class JSPDocumentRegionEdgeMatcher extends DocumentRegionEdgeMatcher {
-
-	protected final static char[] BRACKETS = {'{', '}', '(', ')', '[', ']'};
-
-	/**
-	 * @param validContexts
-	 * @param nextMatcher
-	 */
-	public JSPDocumentRegionEdgeMatcher() {
-		super(new String[]{XMLRegionContext.XML_TAG_NAME, XMLRegionContext.XML_COMMENT_TEXT, XMLJSPRegionContexts.JSP_COMMENT_TEXT, XMLJSPRegionContexts.JSP_DIRECTIVE_NAME, XMLJSPRegionContexts.JSP_ROOT_TAG_NAME, XMLRegionContext.XML_CDATA_TEXT, XMLRegionContext.XML_PI_OPEN, XMLRegionContext.XML_PI_CONTENT}, new JavaPairMatcher(BRACKETS));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/views/contentoutline/JSPContentOutlineConfiguration.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/views/contentoutline/JSPContentOutlineConfiguration.java
deleted file mode 100644
index b9e79d5..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/views/contentoutline/JSPContentOutlineConfiguration.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * 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.ui.views.contentoutline;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsp.ui.internal.JSPUIPlugin;
-import org.eclipse.wst.html.ui.views.contentoutline.HTMLContentOutlineConfiguration;
-
-//public class JSPContentOutlineConfiguration extends StructuredContentOutlineConfiguration {
-public class JSPContentOutlineConfiguration extends HTMLContentOutlineConfiguration {
-
-	//	private static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	// TODO: Automate the loading of a real configuration based on the model type at
-	// creation time; clear on unConfigure so that a new embedded configuration can
-	// be used
-	//private StructuredContentOutlineConfiguration fEmbeddedConfiguration = null;
-
-	/**
-	 * @param editor
-	 */
-	public JSPContentOutlineConfiguration() {
-		super();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration#getPreferenceStore()
-	 */
-	protected IPreferenceStore getPreferenceStore() {
-		return JSPUIPlugin.getDefault().getPreferenceStore();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.properties
deleted file mode 100644
index cb4d957..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=JSP scriptlet
-Templates.jspscriptlet.desc=JSP scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP hidden comment
-Templates.jsphiddencomment.desc=JSP hidden comment <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP declaration(s)
-Templates.jspdeclaration.desc=JSP declaration(s) <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP expression
-Templates.jspexpression.desc=JSP expression <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP include directive
-Templates.jspincludedirective.desc=JSP include directive
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP page directive
-Templates.jsppagedirective.desc=JSP page directive
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP taglib directive
-Templates.jsptaglibdirective.desc=JSP taglib directive
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP comment
-Templates.jspcomment.desc=JSP comment <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.xml b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.xml
deleted file mode 100644
index 306317b..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<templates>
-
-<template name="%Templates.jspscriptlet.name" description="%Templates.jspscriptlet.desc" id="com.ibm.sse.editor.jsp.templates.jspscriptlet" context="jsp_tag" enabled="true">%Templates.jspscriptlet.content</template>
-
-<template name="%Templates.jsphiddencomment.name" description="%Templates.jsphiddencomment.desc" id="com.ibm.sse.editor.jsp.templates.jsphiddencomment" context="jsp_tag" enabled="true">%Templates.jsphiddencomment.content</template>
-
-<template name="%Templates.jspdeclaration.name" description="%Templates.jspdeclaration.desc" id="com.ibm.sse.editor.jsp.templates.jspdeclaration" context="jsp_tag" enabled="true">%Templates.jspdeclaration.content</template>
-
-<template name="%Templates.jspexpression.name" description="%Templates.jspexpression.desc" id="com.ibm.sse.editor.jsp.templates.jspexpression" context="jsp_tag" enabled="true">%Templates.jspexpression.content</template>
-
-<template name="%Templates.jspincludedirective.name" description="%Templates.jspincludedirective.desc" id="com.ibm.sse.editor.jsp.templates.jspincludedirective" context="jsp_tag" enabled="true">%Templates.jspincludedirective.content</template>
-
-<template name="%Templates.jsppagedirective.name" description="%Templates.jsppagedirective.desc" id="com.ibm.sse.editor.jsp.templates.jsppagedirective" context="jsp_tag" enabled="true">%Templates.jsppagedirective.content</template>
-
-<template name="%Templates.jsptaglibdirective.name" description="%Templates.jsptaglibdirective.desc" id="com.ibm.sse.editor.jsp.templates.jsptaglibdirective" context="jsp_tag" enabled="true">%Templates.jsptaglibdirective.content</template>
-
-<template name="%Templates.jspcomment.name" description="%Templates.jspcomment.desc" id="com.ibm.sse.editor.jsp.templates.jspcomment" context="jsp_tag" enabled="true">%Templates.jspcomment.content</template>
-
-</templates>
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_de.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_de.properties
deleted file mode 100644
index bf37789..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_de.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=JSP-Scriptlet
-Templates.jspscriptlet.desc=JSP-Scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=ausgeblendeter JSP-Kommentar
-Templates.jsphiddencomment.desc=ausgeblendeter JSP-Kommentar <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP-Deklaration(en)
-Templates.jspdeclaration.desc=JSP-Deklaration(en) <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP-Ausdruck
-Templates.jspexpression.desc=JSP-Ausdruck <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP-Include-Anweisung
-Templates.jspincludedirective.desc=JSP-Include-Anweisung
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP-Seitenanweisung
-Templates.jsppagedirective.desc=JSP-Seitenanweisung
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP-Taglib-Anweisung
-Templates.jsptaglibdirective.desc=JSP-Taglib-Anweisung
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP-Kommentar
-Templates.jspcomment.desc=JSP-Kommentar <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_es.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_es.properties
deleted file mode 100644
index 924fd36..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_es.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=Scriptlet JSP
-Templates.jspscriptlet.desc=Scriptlet JSP <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=Comentario oculto JSP
-Templates.jsphiddencomment.desc=Comentario oculto JSP <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=Declaraci\u00f3n/declaraciones JSP
-Templates.jspdeclaration.desc=Declaraci\u00f3n/declaraciones JSP <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=Expresi\u00f3n JSP
-Templates.jspexpression.desc=Expresi\u00f3n JSP <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=Directiva include JSP
-Templates.jspincludedirective.desc=Directiva include JSP
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=Directiva page JSP
-Templates.jsppagedirective.desc=Directiva page JSP
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=Directiva taglib JSP
-Templates.jsptaglibdirective.desc=Directiva taglib JSP
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=Comentario JSP
-Templates.jspcomment.desc=Comentario JSP <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_fr.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_fr.properties
deleted file mode 100644
index c05b7ad..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_fr.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=Scriplet JSP
-Templates.jspscriptlet.desc=Scriplet JSP <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=Commentaire JSP masqu\u00e9
-Templates.jsphiddencomment.desc=Commentaire JSP masqu\u00e9 <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=D\u00e9claration(s) JSP
-Templates.jspdeclaration.desc=D\u00e9claration(s) JSP <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=Expression JSP
-Templates.jspexpression.desc=Expression JSP <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=Instruction JSP include
-Templates.jspincludedirective.desc=Instruction JSP include
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=Instruction JSP page
-Templates.jsppagedirective.desc=Instruction JSP page
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=Instruction JSP taglib
-Templates.jsptaglibdirective.desc=Instruction JSP taglib
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=Commentaire JSP
-Templates.jspcomment.desc=Commentaire JSP <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_it.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_it.properties
deleted file mode 100644
index 0840403..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_it.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=Scriptlet JSP
-Templates.jspscriptlet.desc=Scriptlet JSP <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=Commento JSP nascosto
-Templates.jsphiddencomment.desc=Commento JSP nascosto <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=Dichiarazioni JSP
-Templates.jspdeclaration.desc=Dichiarazioni JSP <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=Espressione JSP
-Templates.jspexpression.desc=Espressione JSP <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=Istruzione di inclusione JSP
-Templates.jspincludedirective.desc=Istruzione di inclusione JSP
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=Istruzione pagina JSP
-Templates.jsppagedirective.desc=Istruzione pagina JSP
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=Istruzione taglib JSP
-Templates.jsptaglibdirective.desc=Istruzione taglib JSP
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=Commento JSP
-Templates.jspcomment.desc=Commento JSP <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ja.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ja.properties
deleted file mode 100644
index c928ed0..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ja.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=JSP \u30b9\u30af\u30ea\u30d7\u30c8\u30ec\u30c3\u30c8
-Templates.jspscriptlet.desc=JSP \u30b9\u30af\u30ea\u30d7\u30c8\u30ec\u30c3\u30c8 <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP \u96a0\u3057\u30b3\u30e1\u30f3\u30c8
-Templates.jsphiddencomment.desc=JSP \u96a0\u3057\u30b3\u30e1\u30f3\u30c8 <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP \u5ba3\u8a00
-Templates.jspdeclaration.desc=JSP \u5ba3\u8a00 <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP \u5f0f
-Templates.jspexpression.desc=JSP \u5f0f <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP \u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jspincludedirective.desc=JSP \u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP \u30da\u30fc\u30b8\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jsppagedirective.desc=JSP \u30da\u30fc\u30b8\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP taglib \u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jsptaglibdirective.desc=JSP taglib \u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP \u30b3\u30e1\u30f3\u30c8
-Templates.jspcomment.desc=JSP \u30b3\u30e1\u30f3\u30c8 <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ko.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ko.properties
deleted file mode 100644
index 14003ac..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_ko.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=JSP scriptlet
-Templates.jspscriptlet.desc=JSP scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP \uc228\uaca8\uc9c4 \uc8fc\uc11d
-Templates.jsphiddencomment.desc=JSP \uc228\uaca8\uc9c4 \uc8fc\uc11d <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP \uc120\uc5b8
-Templates.jspdeclaration.desc=JSP \uc120\uc5b8 <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP \ud45c\ud604\uc2dd
-Templates.jspexpression.desc=JSP \ud45c\ud604\uc2dd <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP include \uc9c0\uc2dc\ubb38
-Templates.jspincludedirective.desc=JSP include \uc9c0\uc2dc\ubb38
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP page \uc9c0\uc2dc\ubb38
-Templates.jsppagedirective.desc=JSP page \uc9c0\uc2dc\ubb38
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP taglib \uc9c0\uc2dc\ubb38
-Templates.jsptaglibdirective.desc=JSP taglib \uc9c0\uc2dc\ubb38
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP \uc8fc\uc11d
-Templates.jspcomment.desc=JSP \uc8fc\uc11d <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_pt_BR.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_pt_BR.properties
deleted file mode 100644
index 69287de..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_pt_BR.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=Scriptlet JSP
-Templates.jspscriptlet.desc=Scriptlet JSP <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=Coment\u00e1rio oculto JSP
-Templates.jsphiddencomment.desc=Coment\u00e1rio oculto JSP <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=Declara\u00e7\u00e3o(\u00e7\u00f5es) JSP
-Templates.jspdeclaration.desc=Declara\u00e7\u00e3o(\u00e7\u00f5es) JSP <%!..%>
-Templates.jspdeclaration.content=<%!  ${cursor} %>
-Templates.jspexpression.name=Express\u00e3o JSP
-Templates.jspexpression.desc=Express\u00e3o JSP <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=Diretiva de inclus\u00e3o JSP
-Templates.jspincludedirective.desc=Diretiva de inclus\u00e3o JSP
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=Diretiva de p\u00e1gina JSP
-Templates.jsppagedirective.desc=Diretiva de p\u00e1gina JSP
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=Diretiva de taglib JSP
-Templates.jsptaglibdirective.desc=Diretiva de taglib JSP
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=Coment\u00e1rio JSP
-Templates.jspcomment.desc=Coment\u00e1rio JSP <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_CN.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_CN.properties
deleted file mode 100644
index 33f37ef..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_CN.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=JSP scriptlet
-Templates.jspscriptlet.desc=JSP scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP \u9690\u85cf\u6ce8\u91ca
-Templates.jsphiddencomment.desc=JSP \u9690\u85cf\u6ce8\u91ca <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP \u58f0\u660e
-Templates.jspdeclaration.desc=JSP \u58f0\u660e <%!..%>
-Templates.jspdeclaration.content=<%!  ${cursor} %>
-Templates.jspexpression.name=JSP \u8868\u8fbe\u5f0f
-Templates.jspexpression.desc=JSP \u8868\u8fbe\u5f0f <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP include \u4f2a\u6307\u4ee4
-Templates.jspincludedirective.desc=JSP include \u4f2a\u6307\u4ee4
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP page \u4f2a\u6307\u4ee4
-Templates.jsppagedirective.desc=JSP page \u4f2a\u6307\u4ee4
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP taglib \u4f2a\u6307\u4ee4
-Templates.jsptaglibdirective.desc=JSP taglib \u4f2a\u6307\u4ee4
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP \u6ce8\u91ca
-Templates.jspcomment.desc=JSP \u6ce8\u91ca <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_TW.properties b/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_TW.properties
deleted file mode 100644
index 07d7f6c..0000000
--- a/bundles/org.eclipse.jst.jsp.ui/templates/jspdefault-templates_zh_TW.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.jspscriptlet.name=JSP scriptlet
-Templates.jspscriptlet.desc=JSP scriptlet <%..%>
-Templates.jspscriptlet.content=<% ${cursor} %>
-Templates.jsphiddencomment.name=JSP \u96b1\u85cf\u8a3b\u89e3
-Templates.jsphiddencomment.desc=JSP \u96b1\u85cf\u8a3b\u89e3 <%-- --%>
-Templates.jsphiddencomment.content=<%-- ${cursor} --%>
-Templates.jspdeclaration.name=JSP \u5ba3\u544a
-Templates.jspdeclaration.desc=JSP \u5ba3\u544a <%!..%>
-Templates.jspdeclaration.content=<%! ${cursor} %>
-Templates.jspexpression.name=JSP \u8868\u793a\u5f0f
-Templates.jspexpression.desc=JSP \u8868\u793a\u5f0f <%=..%>
-Templates.jspexpression.content=<%= ${cursor} %>
-Templates.jspincludedirective.name=JSP include \u6307\u5f15
-Templates.jspincludedirective.desc=JSP include \u6307\u5f15
-Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
-Templates.jsppagedirective.name=JSP page \u6307\u5f15
-Templates.jsppagedirective.desc=JSP page \u6307\u5f15
-Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
-Templates.jsptaglibdirective.name=JSP taglib \u6307\u5f15
-Templates.jsptaglibdirective.desc=JSP taglib \u6307\u5f15
-Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
-Templates.jspcomment.name=JSP \u8a3b\u89e3
-Templates.jspcomment.desc=JSP \u8a3b\u89e3 <!-- -->
-Templates.jspcomment.content=<!-- ${cursor} -->
diff --git a/bundles/org.eclipse.wst.css.core/.classpath b/bundles/org.eclipse.wst.css.core/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.wst.css.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.css.core/.compatibility b/bundles/org.eclipse.wst.css.core/.compatibility
deleted file mode 100644
index b943e42..0000000
--- a/bundles/org.eclipse.wst.css.core/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=8811

diff --git a/bundles/org.eclipse.wst.css.core/.cvsignore b/bundles/org.eclipse.wst.css.core/.cvsignore
deleted file mode 100644
index 0e7c86b..0000000
--- a/bundles/org.eclipse.wst.css.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-temp.folder
-cssmodel.jar
-build.xml
-dev.properties
diff --git a/bundles/org.eclipse.wst.css.core/.options b/bundles/org.eclipse.wst.css.core/.options
deleted file mode 100644
index 490975b..0000000
--- a/bundles/org.eclipse.wst.css.core/.options
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.wst.css.core/debug=true
-org.eclipse.wst.css.core/debug/tracefilter=
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/.project b/bundles/org.eclipse.wst.css.core/.project
deleted file mode 100644
index bb046e9..0000000
--- a/bundles/org.eclipse.wst.css.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.css.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/bundles/org.eclipse.wst.css.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.css.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 700d744..0000000
--- a/bundles/org.eclipse.wst.css.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,48 +0,0 @@
-#Wed Jan 12 13:24:26 EST 2005
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.wst.css.core/build.properties b/bundles/org.eclipse.wst.css.core/build.properties
deleted file mode 100644
index 78aa1c4..0000000
--- a/bundles/org.eclipse.wst.css.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-bin.includes = plugin.xml,\
-               *.jar,\
-               css.jar,\
-               cssprofile/,\
-               .options,\
-               plugin.properties
-source.cssmodel.jar = src/
-src.includes = plugin.xml,\
-               cssprofile/,\
-               build.xml,\
-               .options,\
-               plugin.properties
diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/css-profile.dtd b/bundles/org.eclipse.wst.css.core/cssprofile/css-profile.dtd
deleted file mode 100644
index 35535a8..0000000
--- a/bundles/org.eclipse.wst.css.core/cssprofile/css-profile.dtd
+++ /dev/null
@@ -1,132 +0,0 @@
-<!-- DTD for CSS Meta Model Profile -->
-
-<!-- Entities -->
-
-<!-- name-definition	: In defining meta model object, object name -->
-<!-- is given by using this attribute. -->
-
-<!ENTITY % name-definition 'name CDATA #REQUIRED' >
-
-<!-- name-reference		: used to refer meta model object that defined -->
-<!-- by name-definition -->
-
-<!ENTITY % name-reference 'name CDATA #REQUIRED' >
-
-<!-- availability		: CSS Meta Model Profile permit importing -->
-<!-- other profile and describe difference for it. -->
-
-<!ENTITY % availability 'enabled (true | false) "true"' >
-<!ENTITY % overwrite 'overwrite (true | false) "false"' >
-
-<!-- ******************** -->
-<!--  elments/attributes  -->
-<!-- ******************** -->
-
-<!ELEMENT css-profile (profile-import? , (stylesheet-def | charset-rule-def | import-rule-def | page-rule-def | media-rule-def | fontface-rule-def | style-rule-def | property-def | descriptor-def | container-def | function-def | number-def | unit-def | keyword-def | category-def | pseudo-element-def | pseudo-class-def)*) >
-
-<!-- a profile can include other profile -->
-
-<!ELEMENT profile-import EMPTY >
-<!ATTLIST profile-import name CDATA #REQUIRED >
-
-<!-- which type of rule can be used? -->
-
-<!ELEMENT stylesheet-def (description? , (charset-rule | import-rule | page-rule | media-rule | fontface-rule | style-rule)*) >
-<!ATTLIST stylesheet-def %overwrite; >
-
-<!ELEMENT charset-rule EMPTY >
-<!ATTLIST charset-rule %availability; >
-<!ELEMENT import-rule EMPTY >
-<!ATTLIST import-rule %availability; >
-<!ELEMENT page-rule EMPTY >
-<!ATTLIST page-rule %availability; >
-<!ELEMENT media-rule EMPTY >
-<!ATTLIST media-rule %availability; >
-<!ELEMENT fontface-rule EMPTY >
-<!ATTLIST fontface-rule %availability; >
-<!ELEMENT style-rule EMPTY >
-<!ATTLIST style-rule %availability; >
-
-<!ELEMENT charset-rule-def (description?) >
-<!ATTLIST charset-rule-def %overwrite; >
-
-<!ELEMENT import-rule-def (description?) >
-<!ATTLIST import-rule-def %overwrite; >
-
-<!ELEMENT page-rule-def (description? , (property | pseudo-class)*) >
-<!ATTLIST page-rule-def %overwrite; >
-
-<!ELEMENT media-rule-def (description?) >
-<!ATTLIST media-rule-def %overwrite; >
-
-<!ELEMENT fontface-rule-def (description? , descriptor*) >
-<!ATTLIST fontface-rule-def %overwrite; >
-
-<!ELEMENT style-rule-def (description? , (property | selector-expression | pseudo-class | pseudo-element)*) >
-<!ATTLIST style-rule-def %overwrite; >
-
-<!ELEMENT selector-expression EMPTY >
-<!ATTLIST selector-expression name (descendant | child | adjacent | universal | attribute) #REQUIRED %availability; >
-
-<!ELEMENT pseudo-class EMPTY >
-<!ATTLIST pseudo-class %name-reference; %availability; >
-
-<!ELEMENT pseudo-element EMPTY >
-<!ATTLIST pseudo-element %name-reference; %availability; >
-
-<!ELEMENT pseudo-class-def (description?, selector-value) >
-<!ATTLIST pseudo-class-def %name-definition; %overwrite; >
-<!ELEMENT selector-value (#PCDATA) >
-
-<!ELEMENT pseudo-element-def (description?, selector-value) >
-<!ATTLIST pseudo-element-def %name-definition; %overwrite; >
-
-<!ELEMENT keyword-def (description? , keyword-value) >
-<!ATTLIST keyword-def %name-definition; %overwrite; >
-<!ELEMENT keyword-value (#PCDATA) >
-<!ELEMENT description (#PCDATA) >
-
-<!ELEMENT function-def (description? , function-value) >
-<!ATTLIST function-def %name-definition; %overwrite; >
-<!ELEMENT function-value (#PCDATA) >
-
-<!ELEMENT number-def (description? , unit*) >
-<!ATTLIST number-def %name-definition; %overwrite; >
-<!ELEMENT unit EMPTY >
-<!ATTLIST unit %name-reference; %availability; >
-
-<!ELEMENT unit-def (description? , unit-value) >
-<!ATTLIST unit-def %name-definition; %overwrite; >
-<!ELEMENT unit-value (#PCDATA) >
-
-<!ELEMENT container-def (description? , (number | keyword | function | container)*) >
-<!ATTLIST container-def %name-definition; %overwrite; >
-
-<!ELEMENT category-def (description?, caption) >
-<!ATTLIST category-def %name-definition; %overwrite; >
-<!ELEMENT caption (#PCDATA) >
-
-<!ELEMENT property-def (description? , (number | keyword | function | container | string | separator | property)*) >
-<!ATTLIST property-def %name-definition; %overwrite;
-					   inherited (yes | no | na) "na"
-					   mediagroup CDATA #IMPLIED
-					   category CDATA #IMPLIED >
-<!ELEMENT descriptor-def (description?, (number | keyword | function | container | string | separator | property)*) >
-<!ATTLIST descriptor-def %name-definition; %overwrite; >
-
-<!ELEMENT number EMPTY >
-<!ATTLIST number %name-reference; %availability; > 
-<!ELEMENT keyword EMPTY >
-<!ATTLIST keyword %name-reference; %availability; > 
-<!ELEMENT function EMPTY >
-<!ATTLIST function %name-reference; %availability; >
-<!ELEMENT container EMPTY >
-<!ATTLIST container %name-reference; %availability; > 
-<!ELEMENT string EMPTY >
-<!ATTLIST string %name-reference; %availability; >
-<!ELEMENT separator EMPTY >
-<!ATTLIST separator name (comma | slash) #REQUIRED %availability; >
-<!ELEMENT property EMPTY >
-<!ATTLIST property %name-reference; %availability; > 
-<!ELEMENT descriptor EMPTY >
-<!ATTLIST descriptor %name-reference; %availability; >
diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css1.xml b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css1.xml
deleted file mode 100644
index 6b0b175..0000000
--- a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css1.xml
+++ /dev/null
@@ -1,826 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--<!DOCTYPE css-profile SYSTEM "css-profile.dtd" >-->
-<css-profile>
-	<stylesheet-def>
-		<description>%css1.stylesheet-def.description</description>
-		<import-rule/>
-		<style-rule/>
-	</stylesheet-def>
-
-	<import-rule-def>
-	</import-rule-def>
-
-	<style-rule-def>
-		<selector-expression name="descendant"/>
-		<pseudo-element name="first-line"/>
-		<pseudo-element name="first-letter"/>
-		<pseudo-class name="link"/>
-		<pseudo-class name="visited"/>
-		<pseudo-class name="active"/>
-		<property name="background"/>
-		<property name="background-attachment"/>
-		<property name="background-color"/>
-		<property name="background-image"/>
-		<property name="background-position"/>
-		<property name="background-repeat"/>
-		<property name="border"/>
-		<property name="border-bottom"/>
-		<property name="border-bottom-width"/>
-		<property name="border-color"/>
-		<property name="border-left"/>
-		<property name="border-left-width"/>
-		<property name="border-right"/>
-		<property name="border-right-width"/>
-		<property name="border-style"/>
-		<property name="border-top"/>
-		<property name="border-top-width"/>
-		<property name="border-width"/>
-		<property name="clear"/>
-		<property name="color"/>
-		<property name="display"/>
-		<property name="float"/>
-		<property name="font"/>
-		<property name="font-family"/>
-		<property name="font-size"/>
-		<property name="font-style"/>
-		<property name="font-variant"/>
-		<property name="font-weight"/>
-		<property name="height"/>
-		<property name="letter-spacing"/>
-		<property name="line-height"/>
-		<property name="list-style"/>
-		<property name="list-style-image"/>
-		<property name="list-style-position"/>
-		<property name="list-style-type"/>
-		<property name="margin"/>
-		<property name="margin-bottom"/>
-		<property name="margin-left"/>
-		<property name="margin-right"/>
-		<property name="margin-top"/>
-		<property name="padding"/>
-		<property name="padding-bottom"/>
-		<property name="padding-left"/>
-		<property name="padding-right"/>
-		<property name="padding-top"/>
-		<property name="text-align"/>
-		<property name="text-decoration"/>
-		<property name="text-indent"/>
-		<property name="text-transform"/>
-		<property name="vertical-align"/>
-		<property name="white-space"/>
-		<property name="width"/>
-		<property name="word-spacing"/>
-	</style-rule-def>
-
-	<pseudo-class-def name="link">
-		<selector-value>link</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="visited">
-		<selector-value>visited</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="active">
-		<selector-value>active</selector-value>
-	</pseudo-class-def>
-
-	<pseudo-element-def name="first-line">
-		<selector-value>first-line</selector-value>
-	</pseudo-element-def>
-	<pseudo-element-def name="first-letter">
-		<selector-value>first-letter</selector-value>
-	</pseudo-element-def>
-
-	<!-- property definition -->
-
-    <property-def name="background" inherited="no" category="colorandbackground">
-        <property name="background-color"/>
-        <property name="background-image"/>
-        <property name="background-repeat"/>
-        <property name="background-attachment"/>
-        <property name="background-position"/>
-    </property-def>
-    <property-def name="background-attachment" inherited="no" category="colorandbackground">
-        <keyword name="scroll"/>
-        <keyword name="fixed"/>
-    </property-def>
-    <property-def name="background-color" inherited="no" category="colorandbackground">
-        <container name="color"/>
-        <keyword name="transparent"/>
-    </property-def>
-    <property-def name="background-image" inherited="no" category="colorandbackground">
-        <function name="uri"/>
-        <keyword name="none"/>
-    </property-def>
-	<property-def name="background-position" inherited="no" category="colorandbackground">
-		<number name="percentage"/>
-		<number name="length"/>
-		<keyword name="top"/>
-		<keyword name="center"/>
-		<keyword name="bottom"/>
-		<keyword name="left"/>
-		<keyword name="right"/>
-	</property-def>
-	<property-def name="background-repeat" inherited="no" category="colorandbackground">
-		<keyword name="repeat"/>
-		<keyword name="repeat-x"/>
-		<keyword name="repeat-y"/>
-		<keyword name="no-repeat"/>
-	</property-def>
-	<property-def name="border" inherited="no" category="box">
-		<property name="border-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-	</property-def>
-	<property-def name="border-color" inherited="no" category="box">
-		<container name="color"/>
-	</property-def>
-	<property-def name="border-style" inherited="no" category="box">
-		<keyword name="none"/>
-		<keyword name="dotted"/>
-		<keyword name="dashed"/>
-		<keyword name="solid"/>
-		<keyword name="double"/>
-		<keyword name="groove"/>
-		<keyword name="ridge"/>
-		<keyword name="inset"/>
-		<keyword name="outset"/>
-	</property-def>
-	<property-def name="border-top" inherited="no" category="box">
-		<property name="border-top-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-	</property-def>
-	<property-def name="border-right" inherited="no" category="box">
-		<property name="border-right-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-	</property-def>
-	<property-def name="border-bottom" inherited="no" category="box">
-		<property name="border-bottom-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-	</property-def>
-	<property-def name="border-left" inherited="no" category="box">
-		<property name="border-left-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-	</property-def>
-	<property-def name="border-top-width" inherited="no" category="box">
-		<keyword name="thin"/>
-		<keyword name="medium"/>
-		<keyword name="thick"/>
-		<number name="length"/>
-	</property-def>
-	<property-def name="border-right-width" inherited="no" category="box">
-		<keyword name="thin"/>
-		<keyword name="medium"/>
-		<keyword name="thick"/>
-		<number name="length"/>
-	</property-def>
-	<property-def name="border-bottom-width" inherited="no" category="box">
-		<keyword name="thin"/>
-		<keyword name="medium"/>
-		<keyword name="thick"/>
-		<number name="length"/>
-	</property-def>
-	<property-def name="border-left-width" inherited="no" category="box">
-		<keyword name="thin"/>
-		<keyword name="medium"/>
-		<keyword name="thick"/>
-		<number name="length"/>
-	</property-def>
-	<property-def name="border-width" inherited="no" category="box">
-		<keyword name="thin"/>
-		<keyword name="medium"/>
-		<keyword name="thick"/>
-		<number name="length"/>
-	</property-def>
-	<property-def name="clear" inherited="no" category="box">
-		<keyword name="none"/>
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="both"/>
-	</property-def>
-	<property-def name="color" inherited="yes" category="colorandbackground">
-		<container name="color"/>
-	</property-def>
-	<property-def name="display" inherited="no" category="classification">
-		<keyword name="block"/>
-		<keyword name="inline"/>
-		<keyword name="list-item"/>
-		<keyword name="none"/>
-	</property-def>
-	<property-def name="float" inherited="no" category="box">
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="none"/>
-	</property-def>
-	<property-def name="font"
-		inherited="yes" category="font">
-		<property name="font-style"/>
-		<property name="font-variant"/>
-		<property name="font-weight"/>
-		<property name="font-size"/>
-		<property name="line-height"/>
-		<property name="font-family"/>
-		<separator name="slash"/>
-	</property-def>
-	<property-def name="font-family" inherited="yes" category="font">
-		<string name="family-name"/>
-		<container name="generic-family"/>
-		<separator name="comma"/>
-	</property-def>
-	<property-def name="font-size" inherited="yes" category="font">
-		<container name="absolute-size"/>
-		<container name="relative-size"/>
-		<number name="length"/>
-		<number name="percentage"/>
-	</property-def>
-	<property-def name="font-style" inherited="yes" category="font">
-		<keyword name="normal"/>
-		<keyword name="italic"/>
-		<keyword name="oblique"/>
-	</property-def>
-	<property-def name="font-variant" inherited="yes" category="font">
-		<keyword name="normal"/>
-		<keyword name="small-caps"/>
-	</property-def>
-	<property-def name="font-weight" inherited="yes" category="font">
-		<keyword name="normal"/>
-		<keyword name="bold"/>
-		<keyword name="bolder"/>
-		<keyword name="lighter"/>
-		<keyword name="100"/>
-		<keyword name="200"/>
-		<keyword name="300"/>
-		<keyword name="400"/>
-		<keyword name="500"/>
-		<keyword name="600"/>
-		<keyword name="700"/>
-		<keyword name="800"/>
-		<keyword name="900"/>
-	</property-def>
-	<property-def name="height" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-	</property-def>
-	<property-def name="letter-spacing" inherited="yes" category="text">
-		<keyword name="normal"/>
-		<number name="length"/>
-	</property-def>
-	<property-def name="line-height" inherited="yes" category="text">
-		<keyword name="normal"/>
-		<number name="number"/>
-		<number name="length"/>
-		<number name="percentage"/>
-	</property-def>
-	<property-def name="list-style" inherited="yes" category="classification">
-		<keyword name="disc"/>
-		<keyword name="circle"/>
-		<keyword name="square"/>
-		<keyword name="decimal"/>
-		<keyword name="lower-roman"/>
-		<keyword name="upper-roman"/>
-		<keyword name="lower-alpha"/>
-		<keyword name="upper-alpha"/>
-		<keyword name="none"/>
-		<keyword name="inside"/>
-		<keyword name="outside"/>
-		<function name="uri"/>
-		<keyword name="none"/>
-	</property-def>
-	<property-def name="list-style-image" inherited="yes" category="classification">
-		<function name="uri"/>
-		<keyword name="none"/>
-	</property-def>
-	<property-def name="list-style-position" inherited="yes" category="classification">
-		<keyword name="inside"/>
-		<keyword name="outside"/>
-	</property-def>
-	<property-def name="list-style-type" inherited="yes" category="classification">
-		<keyword name="disc"/>
-		<keyword name="circle"/>
-		<keyword name="square"/>
-		<keyword name="decimal"/>
-		<keyword name="lower-roman"/>
-		<keyword name="upper-roman"/>
-		<keyword name="lower-alpha"/>
-		<keyword name="upper-alpha"/>
-		<keyword name="none"/>
-	</property-def>
-	<property-def name="margin" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-	</property-def>
-	<property-def name="margin-top" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-	</property-def>
-	<property-def name="margin-right" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-	</property-def>
-	<property-def name="margin-bottom" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-	</property-def>
-	<property-def name="margin-left" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-	</property-def>
-	<property-def name="padding" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-	</property-def>
-	<property-def name="padding-top" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-	</property-def>
-	<property-def name="padding-right" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-	</property-def>
-	<property-def name="padding-bottom" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-	</property-def>
-	<property-def name="padding-left" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-	</property-def>
-	<property-def name="text-align" inherited="yes" category="text">
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="center"/>
-		<keyword name="justify"/>
-	</property-def>
-	<property-def name="text-decoration" inherited="no" category="text">
-		<keyword name="none"/>
-		<keyword name="underline"/>
-		<keyword name="overline"/>
-		<keyword name="line-through"/>
-		<keyword name="blink"/>
-	</property-def>
-	<property-def name="text-indent" inherited="yes" category="text">
-		<number name="length"/>
-		<number name="percentage"/>
-	</property-def>
-	<property-def name="text-transform" inherited="yes" category="text">
-		<keyword name="capitalize"/>
-		<keyword name="uppercase"/>
-		<keyword name="lowercase"/>
-		<keyword name="none"/>
-	</property-def>
-	<property-def name="vertical-align" inherited="no" category="text">
-		<keyword name="baseline"/>
-		<keyword name="sub"/>
-		<keyword name="super"/>
-		<keyword name="top"/>
-		<keyword name="text-top"/>
-		<keyword name="middle"/>
-		<keyword name="bottom"/>
-		<keyword name="text-bottom"/>
-		<number name="percentage"/>
-	</property-def>
-	<property-def name="white-space" inherited="yes" category="classification">
-		<keyword name="normal"/>
-		<keyword name="pre"/>
-		<keyword name="nowrap"/>
-	</property-def>
-	<property-def name="width" inherited="no" category="box">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-	</property-def>
-	<property-def name="word-spacing" inherited="yes" category="text">
-		<keyword name="normal"/>
-		<number name="length"/>
-	</property-def>
-
-	<!-- container definition : Container is the lump of values.
-	It can be used like macros. -->
-    <container-def name="absolute-size">
-        <keyword name="xx-small"/>
-        <keyword name="x-small"/>
-        <keyword name="small"/>
-        <keyword name="medium"/>
-        <keyword name="large"/>
-        <keyword name="x-large"/>
-        <keyword name="xx-large"/>
-    </container-def>
-	<container-def name="color">
-		<keyword name="aqua"/>
-		<keyword name="black"/>
-		<keyword name="blue"/>
-		<keyword name="fuchsia"/>
-		<keyword name="gray"/>
-		<keyword name="green"/>
-		<keyword name="lime"/>
-		<keyword name="maroon"/>
-		<keyword name="navy"/>
-		<keyword name="olive"/>
-		<keyword name="purple"/>
-		<keyword name="red"/>
-		<keyword name="silver"/>
-		<keyword name="teal"/>
-		<keyword name="white"/>
-		<keyword name="yellow"/>
-		<function name="rgb"/>
-		<number name="hash"/>
-	</container-def>
-	<container-def name="generic-family">
-		<keyword name="serif"/>
-		<keyword name="sans-serif"/>
-		<keyword name="cursive"/>
-		<keyword name="fantasy"/>
-		<keyword name="monospace"/>
-	</container-def>
-	<container-def name="relative-size">
-		<keyword name="smaller"/>
-		<keyword name="larger"/>
-	</container-def>
-
-	<!-- category definition : This is used to categorize properties
-	in Properties View. -->
-	<category-def name="box">
-		<caption>%css1.category-def.box.caption</caption>
-	</category-def>
-	<category-def name="colorandbackground">
-		<caption>%css1.category-def.colorandbackground.caption</caption>
-	</category-def>
-	<category-def name="classification">
-		<caption>%css1.category-def.classification.caption</caption>
-	</category-def>
-	<category-def name="font">
-		<caption>%css1.category-def.font.caption</caption>
-	</category-def>
-	<category-def name="text">
-		<caption>%css1.category-def.text.caption</caption>
-	</category-def>
-
-	<function-def name="rgb">
-		<function-value>rgb</function-value>
-	</function-def>
-	<function-def name="uri">
-		<function-value>url</function-value>
-	</function-def>
-	
-	<!-- number definition : What unit types be acceptable for each
-	number type? -->
-    <number-def name="hash">
-        <unit name="hash"/>
-    </number-def>
-    <number-def name="length">
-        <unit name="em"/>
-        <unit name="ex"/>
-        <unit name="px"/>
-        <unit name="in"/>
-        <unit name="cm"/>
-        <unit name="mm"/>
-        <unit name="pt"/>
-        <unit name="pc"/>
-    </number-def>
-	<number-def name="number">
-	</number-def>
-	<number-def name="percentage">
-		<unit name="percentage"/>
-	</number-def>
-
-	<unit-def name="cm">
-		<unit-value>cm</unit-value>
-	</unit-def>
-	<unit-def name="em">
-		<unit-value>em</unit-value>
-	</unit-def>
-	<unit-def name="ex">
-		<unit-value>ex</unit-value>
-	</unit-def>
-	<unit-def name="hash">
-		<unit-value>#</unit-value>
-	</unit-def>
-	<unit-def name="in">
-		<unit-value>in</unit-value>
-	</unit-def>
-	<unit-def name="mm">
-		<unit-value>mm</unit-value>
-	</unit-def>
-	<unit-def name="pc">
-		<unit-value>pc</unit-value>
-	</unit-def>
-	<unit-def name="percentage">
-		<unit-value>%</unit-value>
-	</unit-def>
-	<unit-def name="pt">
-		<unit-value>pt</unit-value>
-	</unit-def>
-	<unit-def name="px">
-		<unit-value>px</unit-value>
-	</unit-def>
-
-    <!-- keywords : string constants (this is last part..) -->
-    <keyword-def name="100">
-        <keyword-value>100</keyword-value>
-    </keyword-def>
-    <keyword-def name="200">
-        <keyword-value>200</keyword-value>
-    </keyword-def>
-    <keyword-def name="300">
-        <keyword-value>300</keyword-value>
-    </keyword-def>
-    <keyword-def name="400">
-        <keyword-value>400</keyword-value>
-    </keyword-def>
-    <keyword-def name="500">
-        <keyword-value>500</keyword-value>
-    </keyword-def>
-    <keyword-def name="600">
-        <keyword-value>600</keyword-value>
-    </keyword-def>
-    <keyword-def name="700">
-        <keyword-value>700</keyword-value>
-    </keyword-def>
-    <keyword-def name="800">
-        <keyword-value>800</keyword-value>
-    </keyword-def>
-    <keyword-def name="900">
-        <keyword-value>900</keyword-value>
-    </keyword-def>
-    <keyword-def name="aqua">
-        <keyword-value>aqua</keyword-value>
-    </keyword-def>
-    <keyword-def name="auto">
-        <keyword-value>auto</keyword-value>
-    </keyword-def>
-    <keyword-def name="baseline">
-        <keyword-value>baseline</keyword-value>
-    </keyword-def>
-    <keyword-def name="black">
-        <keyword-value>black</keyword-value>
-    </keyword-def>
-    <keyword-def name="blink">
-        <keyword-value>blink</keyword-value>
-    </keyword-def>
-    <keyword-def name="block">
-        <keyword-value>block</keyword-value>
-    </keyword-def>
-    <keyword-def name="blue">
-        <keyword-value>blue</keyword-value>
-    </keyword-def>
-    <keyword-def name="bold">
-        <keyword-value>bold</keyword-value>
-    </keyword-def>
-    <keyword-def name="bolder">
-        <keyword-value>bolder</keyword-value>
-    </keyword-def>
-    <keyword-def name="both">
-        <keyword-value>both</keyword-value>
-    </keyword-def>
-    <keyword-def name="bottom">
-        <keyword-value>bottom</keyword-value>
-    </keyword-def>
-    <keyword-def name="capitalize">
-        <keyword-value>capitalize</keyword-value>
-    </keyword-def>
-    <keyword-def name="center">
-        <keyword-value>center</keyword-value>
-    </keyword-def>
-    <keyword-def name="circle">
-        <keyword-value>circle</keyword-value>
-    </keyword-def>
-    <keyword-def name="cursive">
-        <keyword-value>cursive</keyword-value>
-    </keyword-def>
-    <keyword-def name="dashed">
-        <keyword-value>dashed</keyword-value>
-    </keyword-def>
-    <keyword-def name="decimal">
-        <keyword-value>decimal</keyword-value>
-    </keyword-def>
-    <keyword-def name="disc">
-        <keyword-value>disc</keyword-value>
-    </keyword-def>
-    <keyword-def name="dotted">
-        <keyword-value>dotted</keyword-value>
-    </keyword-def>
-    <keyword-def name="double">
-        <keyword-value>double</keyword-value>
-    </keyword-def>
-    <keyword-def name="fantasy">
-        <keyword-value>fantasy</keyword-value>
-    </keyword-def>
-    <keyword-def name="fixed">
-        <keyword-value>fixed</keyword-value>
-    </keyword-def>
-    <keyword-def name="fuchsia">
-        <keyword-value>fuchsia</keyword-value>
-    </keyword-def>
-    <keyword-def name="gray">
-        <keyword-value>gray</keyword-value>
-    </keyword-def>
-    <keyword-def name="green">
-        <keyword-value>green</keyword-value>
-    </keyword-def>
-    <keyword-def name="groove">
-        <keyword-value>groove</keyword-value>
-    </keyword-def>
-    <keyword-def name="inline">
-        <keyword-value>inline</keyword-value>
-    </keyword-def>
-    <keyword-def name="inset">
-        <keyword-value>inset</keyword-value>
-    </keyword-def>
-    <keyword-def name="inside">
-        <keyword-value>inside</keyword-value>
-    </keyword-def>
-    <keyword-def name="italic">
-        <keyword-value>italic</keyword-value>
-    </keyword-def>
-    <keyword-def name="justify">
-        <keyword-value>justify</keyword-value>
-    </keyword-def>
-    <keyword-def name="large">
-        <keyword-value>large</keyword-value>
-    </keyword-def>
-    <keyword-def name="larger">
-        <keyword-value>larger</keyword-value>
-    </keyword-def>
-    <keyword-def name="left">
-        <keyword-value>left</keyword-value>
-    </keyword-def>
-    <keyword-def name="lighter">
-        <keyword-value>lighter</keyword-value>
-    </keyword-def>
-    <keyword-def name="lime">
-        <keyword-value>lime</keyword-value>
-    </keyword-def>
-    <keyword-def name="line-through">
-        <keyword-value>line-through</keyword-value>
-    </keyword-def>
-    <keyword-def name="list-item">
-        <keyword-value>list-item</keyword-value>
-    </keyword-def>
-    <keyword-def name="lower-alpha">
-        <keyword-value>lower-alpha</keyword-value>
-    </keyword-def>
-    <keyword-def name="lower-roman">
-        <keyword-value>lower-roman</keyword-value>
-    </keyword-def>
-    <keyword-def name="lowercase">
-        <keyword-value>lowercase</keyword-value>
-    </keyword-def>
-    <keyword-def name="maroon">
-        <keyword-value>maroon</keyword-value>
-    </keyword-def>
-    <keyword-def name="medium">
-        <keyword-value>medium</keyword-value>
-    </keyword-def>
-    <keyword-def name="middle">
-        <keyword-value>middle</keyword-value>
-    </keyword-def>
-    <keyword-def name="monospace">
-        <keyword-value>monospace</keyword-value>
-    </keyword-def>
-    <keyword-def name="navy">
-        <keyword-value>navy</keyword-value>
-    </keyword-def>
-    <keyword-def name="no-repeat">
-        <keyword-value>no-repeat</keyword-value>
-    </keyword-def>
-    <keyword-def name="none">
-        <keyword-value>none</keyword-value>
-    </keyword-def>
-    <keyword-def name="normal">
-        <keyword-value>normal</keyword-value>
-    </keyword-def>
-    <keyword-def name="nowrap">
-        <keyword-value>nowrap</keyword-value>
-    </keyword-def>
-    <keyword-def name="oblique">
-        <keyword-value>oblique</keyword-value>
-    </keyword-def>
-    <keyword-def name="olive">
-        <keyword-value>olive</keyword-value>
-    </keyword-def>
-    <keyword-def name="outset">
-        <keyword-value>outset</keyword-value>
-    </keyword-def>
-    <keyword-def name="outside">
-        <keyword-value>outside</keyword-value>
-    </keyword-def>
-    <keyword-def name="overline">
-        <keyword-value>overline</keyword-value>
-    </keyword-def>
-    <keyword-def name="pre">
-        <keyword-value>pre</keyword-value>
-    </keyword-def>
-    <keyword-def name="purple">
-        <keyword-value>purple</keyword-value>
-    </keyword-def>
-    <keyword-def name="red">
-        <keyword-value>red</keyword-value>
-    </keyword-def>
-    <keyword-def name="repeat">
-        <keyword-value>repeat</keyword-value>
-    </keyword-def>
-    <keyword-def name="repeat-x">
-        <keyword-value>repeat-x</keyword-value>
-    </keyword-def>
-    <keyword-def name="repeat-y">
-        <keyword-value>repeat-y</keyword-value>
-    </keyword-def>
-    <keyword-def name="ridge">
-        <keyword-value>ridge</keyword-value>
-    </keyword-def>
-    <keyword-def name="right">
-        <keyword-value>right</keyword-value>
-    </keyword-def>
-    <keyword-def name="sans-serif">
-        <keyword-value>sans-serif</keyword-value>
-    </keyword-def>
-    <keyword-def name="scroll">
-        <keyword-value>scroll</keyword-value>
-    </keyword-def>
-    <keyword-def name="serif">
-        <keyword-value>serif</keyword-value>
-    </keyword-def>
-    <keyword-def name="silver">
-        <keyword-value>silver</keyword-value>
-    </keyword-def>
-    <keyword-def name="small">
-        <keyword-value>small</keyword-value>
-    </keyword-def>
-    <keyword-def name="small-caps">
-        <keyword-value>small-caps</keyword-value>
-    </keyword-def>
-    <keyword-def name="smaller">
-        <keyword-value>smaller</keyword-value>
-    </keyword-def>
-    <keyword-def name="solid">
-        <keyword-value>solid</keyword-value>
-    </keyword-def>
-    <keyword-def name="square">
-        <keyword-value>square</keyword-value>
-    </keyword-def>
-    <keyword-def name="sub">
-        <keyword-value>sub</keyword-value>
-    </keyword-def>
-    <keyword-def name="super">
-        <keyword-value>super</keyword-value>
-    </keyword-def>
-    <keyword-def name="teal">
-        <keyword-value>teal</keyword-value>
-    </keyword-def>
-    <keyword-def name="text-top">
-        <keyword-value>text-top</keyword-value>
-    </keyword-def>
-    <keyword-def name="text-bottom">
-        <keyword-value>text-bottom</keyword-value>
-    </keyword-def>
-    <keyword-def name="thick">
-        <keyword-value>thick</keyword-value>
-    </keyword-def>
-    <keyword-def name="thin">
-        <keyword-value>thin</keyword-value>
-    </keyword-def>
-    <keyword-def name="top">
-        <keyword-value>top</keyword-value>
-    </keyword-def>
-    <keyword-def name="transparent">
-        <keyword-value>transparent</keyword-value>
-    </keyword-def>
-    <keyword-def name="underline">
-        <keyword-value>underline</keyword-value>
-    </keyword-def>
-    <keyword-def name="upper-alpha">
-        <keyword-value>upper-alpha</keyword-value>
-    </keyword-def>
-    <keyword-def name="upper-roman">
-        <keyword-value>upper-roman</keyword-value>
-    </keyword-def>
-    <keyword-def name="uppercase">
-        <keyword-value>uppercase</keyword-value>
-    </keyword-def>
-    <keyword-def name="white">
-        <keyword-value>white</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-large">
-        <keyword-value>x-large</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-small">
-        <keyword-value>x-small</keyword-value>
-    </keyword-def>
-    <keyword-def name="xx-small">
-        <keyword-value>xx-small</keyword-value>
-    </keyword-def>
-    <keyword-def name="xx-large">
-        <keyword-value>xx-large</keyword-value>
-    </keyword-def>
-    <keyword-def name="yellow">
-        <keyword-value>yellow</keyword-value>
-    </keyword-def>
-</css-profile>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css2.xml b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css2.xml
deleted file mode 100644
index 4efc084..0000000
--- a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css2.xml
+++ /dev/null
@@ -1,2258 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--<!DOCTYPE css-profile SYSTEM "css-profile.dtd" >-->
-<css-profile>
-	<stylesheet-def>
-		<description>%css2.stylesheet-def.description</description>
-		<charset-rule/>
-		<import-rule/>
-		<page-rule/>
-		<media-rule/>
-		<fontface-rule/>
-		<style-rule/>
-	</stylesheet-def>
-
-	<charset-rule-def>
-	</charset-rule-def>
-	<import-rule-def>
-	</import-rule-def>
-	<media-rule-def>
-	</media-rule-def>
-
-	<page-rule-def>
-		<pseudo-class name="left"/>
-		<pseudo-class name="right"/>
-		<pseudo-class name="first"/>
-		<property name="size"/>
-		<property name="marks"/>
-		<property name="page-break-after"/>
-		<property name="page-break-before"/>
-		<property name="page-break-inside"/>
-		<property name="orphans"/>
-		<property name="widows"/>
-	</page-rule-def>
-
-	<fontface-rule-def>
-		<descriptor name="ascent"/>
-		<descriptor name="baseline"/>
-		<descriptor name="bbox"/>
-		<descriptor name="cap-height"/>
-		<descriptor name="centerline"/>
-		<descriptor name="definition-src"/>
-		<descriptor name="descent"/>
-		<descriptor name="font-family"/>
-		<descriptor name="font-size"/>
-		<descriptor name="font-stretch"/>
-		<descriptor name="font-style"/>
-		<descriptor name="font-variant"/>
-		<descriptor name="font-weight"/>
-		<descriptor name="mathline"/>
-		<descriptor name="panose-1"/>
-		<descriptor name="slope"/>
-		<descriptor name="slope"/>
-		<descriptor name="src"/>
-		<descriptor name="stemh"/>
-		<descriptor name="stemv"/>
-		<descriptor name="topline"/>
-		<descriptor name="unicode-range"/>
-		<descriptor name="units-per-em"/>
-		<descriptor name="widths"/>
-		<descriptor name="x-height"/>
-	</fontface-rule-def>
-
-	<!-- Which properties can style rule include ? -->
-
-	<style-rule-def>
-		<selector-expression name="descendant"/>
-		<selector-expression name="child"/>
-		<selector-expression name="adjacent"/>
-		<selector-expression name="universal"/>
-		<selector-expression name="attribute"/>
-		<pseudo-element name="first-line"/>
-		<pseudo-element name="first-letter"/>
-		<pseudo-element name="before"/>
-		<pseudo-element name="after"/>
-		<pseudo-class name="first-child"/>
-		<pseudo-class name="link"/>
-		<pseudo-class name="visited"/>
-		<pseudo-class name="hover"/>
-		<pseudo-class name="active"/>
-		<pseudo-class name="focus"/>
-		<pseudo-class name="lang"/>
-		<property name="azimuth"/>
-		<property name="background"/>
-		<property name="background-attachment"/>
-		<property name="background-color"/>
-		<property name="background-image"/>
-		<property name="background-position"/>
-		<property name="background-repeat"/>
-		<property name="border"/>
-		<property name="border-collapse"/>
-		<property name="border-color"/>
-		<property name="border-spacing"/>
-		<property name="border-style"/>
-		<property name="border-top"/>
-		<property name="border-right"/>
-		<property name="border-bottom"/>
-		<property name="border-left"/>
-		<property name="border-top-color"/>
-		<property name="border-right-color"/>
-		<property name="border-bottom-color"/>
-		<property name="border-left-color"/>
-		<property name="border-top-style"/>
-		<property name="border-right-style"/>
-		<property name="border-bottom-style"/>
-		<property name="border-left-style"/>
-		<property name="border-top-width"/>
-		<property name="border-right-width"/>
-		<property name="border-bottom-width"/>
-		<property name="border-left-width"/>
-		<property name="border-width"/>
-		<property name="bottom"/>
-		<property name="caption-side"/>
-		<property name="clear"/>
-		<property name="clip"/>
-		<property name="color"/>
-		<property name="content"/>
-		<property name="counter-increment"/>
-		<property name="counter-reset"/>
-		<property name="cue"/>
-		<property name="cue-after"/>
-		<property name="cue-before"/>
-		<property name="cursor"/>
-		<property name="direction"/>
-		<property name="display"/>
-		<property name="elevation"/>
-		<property name="empty-cells"/>
-		<property name="float"/>
-		<property name="font"/>
-		<property name="font-family"/>
-		<property name="font-size"/>
-		<property name="font-size-adjust"/>
-		<property name="font-stretch"/>
-		<property name="font-style"/>
-		<property name="font-variant"/>
-		<property name="font-weight"/>
-		<property name="height"/>
-		<property name="left"/>
-		<property name="letter-spacing"/>
-		<property name="line-height"/>
-		<property name="list-style"/>
-		<property name="list-style-image"/>
-		<property name="list-style-position"/>
-		<property name="list-style-type"/>
-		<property name="margin"/>
-		<property name="margin-top"/>
-		<property name="margin-right"/>
-		<property name="margin-bottom"/>
-		<property name="margin-left"/>
-		<property name="marker-offset"/>
-		<property name="marks"/>
-		<property name="max-height"/>
-		<property name="max-width"/>
-		<property name="min-height"/>
-		<property name="min-width"/>
-		<property name="orphans"/>
-		<property name="outline"/>
-		<property name="outline-color"/>
-		<property name="outline-style"/>
-		<property name="outline-width"/>
-		<property name="overflow"/>
-		<property name="padding"/>
-		<property name="padding-top"/>
-		<property name="padding-right"/>
-		<property name="padding-bottom"/>
-		<property name="padding-left"/>
-		<property name="page"/>
-		<property name="page-break-after"/>
-		<property name="page-break-before"/>
-		<property name="page-break-inside"/>
-		<property name="pause"/>
-		<property name="pause-after"/>
-		<property name="pause-before"/>
-		<property name="pitch"/>
-		<property name="pitch-range"/>
-		<property name="play-during"/>
-		<property name="position"/>
-		<property name="quotes"/>
-		<property name="richness"/>
-		<property name="right"/>
-		<property name="size"/>
-		<property name="speak"/>
-		<property name="speak-header"/>
-		<property name="speak-numeral"/>
-		<property name="speak-punctuation"/>
-		<property name="speech-rate"/>
-		<property name="stress"/>
-		<property name="table-layout"/>
-		<property name="text-align"/>
-		<property name="text-decoration"/>
-		<property name="text-indent"/>
-		<property name="text-shadow"/>
-		<property name="text-transform"/>
-		<property name="top"/>
-		<property name="unicode-bidi"/>
-		<property name="vertical-align"/>
-		<property name="visibility"/>
-		<property name="voice-family"/>
-		<property name="volume"/>
-		<property name="white-space"/>
-		<property name="widows"/>
-		<property name="width"/>
-		<property name="word-spacing"/>
-		<property name="z-index"/>
-	</style-rule-def>
-
-	<pseudo-class-def name="first-child">
-		<selector-value>first-child</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="link">
-		<selector-value>link</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="visited">
-		<selector-value>visited</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="hover">
-		<selector-value>hover</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="active">
-		<selector-value>active</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="focus">
-		<selector-value>focus</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="lang">
-		<selector-value>lang</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="left">
-		<selector-value>left</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="right">
-		<selector-value>right</selector-value>
-	</pseudo-class-def>
-	<pseudo-class-def name="first">
-		<selector-value>first</selector-value>
-	</pseudo-class-def>
-
-	<pseudo-element-def name="first-line">
-		<selector-value>first-line</selector-value>
-	</pseudo-element-def>
-	<pseudo-element-def name="first-letter">
-		<selector-value>first-letter</selector-value>
-	</pseudo-element-def>
-	<pseudo-element-def name="before">
-		<selector-value>before</selector-value>
-	</pseudo-element-def>
-	<pseudo-element-def name="after">
-		<selector-value>after</selector-value>
-	</pseudo-element-def>
-
-	<!-- property definition -->
-
-	<property-def name="azimuth"
-		inherited="yes" mediagroup="aural" category="aural">
-        <description>This provides spatial audio property for aural
-        presentation</description>
-        <number name="angle"/>
-        <keyword name="left-side"/>
-        <keyword name="far-left"/>
-        <keyword name="left"/>
-        <keyword name="center-left"/>
-        <keyword name="center"/>
-        <keyword name="center-right"/>
-        <keyword name="right"/>
-        <keyword name="far-right"/>
-        <keyword name="right-side"/>
-        <keyword name="behind"/>
-        <keyword name="leftwards"/>
-        <keyword name="rightwards"/>
-        <keyword name="inherit"/>
-    </property-def>
-    <property-def name="background"
-		inherited="no" mediagroup="visual" category="colorandbackground">
-        <property name="background-color"/>
-        <property name="background-image"/>
-        <property name="background-repeat"/>
-        <property name="background-attachment"/>
-        <property name="background-position"/>
-        <keyword name="inherit"/>
-    </property-def>
-    <property-def name="background-attachment"
-		inherited="no" mediagroup="visual" category="colorandbackground">
-        <keyword name="scroll"/>
-        <keyword name="fixed"/>
-        <keyword name="inherit"/>
-    </property-def>
-    <property-def name="background-color"
-		inherited="no" mediagroup="visual" category="colorandbackground">
-        <container name="color"/>
-        <keyword name="transparent"/>
-        <keyword name="inherit"/>
-    </property-def>
-    <property-def name="background-image"
-		inherited="no" mediagroup="visual" category="colorandbackground">
-        <function name="uri"/>
-        <keyword name="none"/>
-        <keyword name="inherit"/>
-    </property-def>
-	<property-def name="background-position"
-		inherited="no" mediagroup="visual" category="colorandbackground">
-		<number name="percentage"/>
-		<number name="length"/>
-		<keyword name="top"/>
-		<keyword name="center"/>
-		<keyword name="bottom"/>
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="background-repeat"
-		inherited="no" mediagroup="visual" category="colorandbackground">
-		<keyword name="repeat"/>
-		<keyword name="repeat-x"/>
-		<keyword name="repeat-y"/>
-		<keyword name="no-repeat"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border"
-		inherited="no" mediagroup="visual" category="box">
-		<property name="border-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-collapse"
-		inherited="yes" mediagroup="visual" category="tables">
-		<keyword name="collapse"/>
-		<keyword name="separate"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-color"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="color"/>
-		<keyword name="transparent"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-spacing"
-		inherited="yes" mediagroup="visual" category="tables">
-		<number name="length"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-style"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-style"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-top"
-		inherited="no" mediagroup="visual" category="box">
-		<property name="border-top-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-right"
-		inherited="no" mediagroup="visual" category="box">
-		<property name="border-right-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-bottom"
-		inherited="no" mediagroup="visual" category="box">
-		<property name="border-bottom-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-left"
-		inherited="no" mediagroup="visual" category="box">
-		<property name="border-left-width"/>
-		<property name="border-style"/>
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-top-color"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-right-color"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-bottom-color"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-left-color"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-top-style"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-style"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-right-style"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-style"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-bottom-style"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-style"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-left-style"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-style"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-top-width"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-right-width"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-bottom-width"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-left-width"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="border-width"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="border-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="bottom"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="caption-side"
-		inherited="yes" mediagroup="visual" category="tables">
-		<keyword name="top"/>
-		<keyword name="bottom"/>
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="clear"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="none"/>
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="both"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="clip"
-		inherited="no" mediagroup="visual" category="visual">
-		<container name="shape"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="color"
-		inherited="yes" mediagroup="visual" category="colorandbackground">
-		<container name="color"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="content"
-		inherited="no" mediagroup="all" category="content">
-		<string name="any"/>
-		<function name="uri"/>
-		<function name="counter"/>
-		<function name="attr"/>
-		<keyword name="open-quote"/>
-		<keyword name="close-quote"/>
-		<keyword name="no-open-quote"/>
-		<keyword name="no-close-quote"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="counter-increment"
-		inherited="no" mediagroup="all" category="content">
-		<string name="counter-identifier"/>
-		<number name="integer"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="counter-reset"
-		inherited="no" mediagroup="all" category="content">
-		<string name="counter-identifier"/>
-		<number name="integer"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="cue"
-		inherited="no" mediagroup="aural" category="aural">
-		<property name="cue-before"/>
-		<property name="cue-after"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="cue-after"
-		inherited="no" mediagroup="aural" category="aural">
-		<function name="uri"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="cue-before"
-		inherited="no" mediagroup="aural" category="aural">
-		<function name="uri"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="cursor"
-		inherited="yes" mediagroup="visual,interactive" category="ui">
-		<function name="uri"/>
-		<keyword name="auto"/>
-		<keyword name="crosshair"/>
-		<keyword name="default"/>
-		<keyword name="pointer"/>
-		<keyword name="move"/>
-		<keyword name="e-resize"/>
-		<keyword name="ne-resize"/>
-		<keyword name="nw-resize"/>
-		<keyword name="n-resize"/>
-		<keyword name="se-resize"/>
-		<keyword name="sw-resize"/>
-		<keyword name="s-resize"/>
-		<keyword name="w-resize"/>
-		<keyword name="text"/>
-		<keyword name="wait"/>
-		<keyword name="help"/>
-		<keyword name="inherit"/>
-		<separator name="comma"/>
-	</property-def>
-	<property-def name="direction"
-		inherited="yes" mediagroup="visual" category="visual">
-		<keyword name="ltr"/>
-		<keyword name="rtl"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="display"
-		inherited="no" mediagroup="all" category="visual">
-		<keyword name="inline"/>
-		<keyword name="block"/>
-		<keyword name="list-item"/>
-		<keyword name="run-in"/>
-		<keyword name="compact"/>
-		<keyword name="marker"/>
-		<keyword name="table"/>
-		<keyword name="inline-table"/>
-		<keyword name="table-row-group"/>
-		<keyword name="table-header-group"/>
-		<keyword name="table-footer-group"/>
-		<keyword name="table-row"/>
-		<keyword name="table-column-group"/>
-		<keyword name="table-column"/>
-		<keyword name="table-cell"/>
-		<keyword name="table-caption"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="elevation"
-		inherited="yes" mediagroup="aural" category="aural">
-		<number name="angle"/>
-		<keyword name="below"/>
-		<keyword name="level"/>
-		<keyword name="above"/>
-		<keyword name="higher"/>
-		<keyword name="lower"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="empty-cells"
-		inherited="yes" mediagroup="visual" category="tables">
-		<keyword name="show"/>
-		<keyword name="hide"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="float"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="font"
-		inherited="yes" mediagroup="visual" category="font">
-		<property name="font-style"/>
-		<property name="font-variant"/>
-		<property name="font-weight"/>
-		<property name="font-size"/>
-		<property name="line-height"/>
-		<property name="font-family"/>
-		<keyword name="caption"/>
-		<keyword name="icon"/>
-		<keyword name="menu"/>
-		<keyword name="message-box"/>
-		<keyword name="small-caption"/>
-		<keyword name="status-bar"/>
-		<keyword name="inherit"/>
-		<separator name="slash"/>
-	</property-def>
-	<property-def name="font-family"
-		inherited="yes" mediagroup="visual" category="font">
-		<string name="family-name"/>
-		<container name="generic-family"/>
-		<keyword name="inherit"/>
-		<separator name="comma"/>
-	</property-def>
-	<property-def name="font-size"
-		inherited="yes" mediagroup="visual" category="font">
-		<container name="absolute-size"/>
-		<container name="relative-size"/>
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="font-size-adjust"
-		inherited="yes" mediagroup="visual" category="font">
-		<number name="number"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="font-stretch"
-		inherited="yes" mediagroup="visual" category="font">
-		<keyword name="normal"/>
-		<keyword name="wider"/>
-		<keyword name="narrower"/>
-		<keyword name="ultra-condensed"/>
-		<keyword name="extra-condensed"/>
-		<keyword name="condensed"/>
-		<keyword name="semi-condensed"/>
-		<keyword name="semi-expanded"/>
-		<keyword name="expanded"/>
-		<keyword name="extra-expanded"/>
-		<keyword name="ultra-expanded"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="font-style"
-		inherited="yes" mediagroup="visual" category="font">
-		<keyword name="normal"/>
-		<keyword name="italic"/>
-		<keyword name="oblique"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="font-variant"
-		inherited="yes" mediagroup="visual" category="font">
-		<keyword name="normal"/>
-		<keyword name="small-caps"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="font-weight"
-		inherited="yes" mediagroup="visual" category="font">
-		<keyword name="normal"/>
-		<keyword name="bold"/>
-		<keyword name="bolder"/>
-		<keyword name="lighter"/>
-		<keyword name="100"/>
-		<keyword name="200"/>
-		<keyword name="300"/>
-		<keyword name="400"/>
-		<keyword name="500"/>
-		<keyword name="600"/>
-		<keyword name="700"/>
-		<keyword name="800"/>
-		<keyword name="900"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="height"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="left"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="letter-spacing"
-		inherited="yes" mediagroup="visual" category="text">
-		<keyword name="normal"/>
-		<number name="length"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="line-height"
-		inherited="yes" mediagroup="visual" category="visual">
-		<keyword name="normal"/>
-		<number name="number"/>
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="list-style"
-		inherited="yes" mediagroup="visual" category="content">
-		<property name="list-style-type"/>
-		<property name="list-style-position"/>
-		<property name="list-style-image"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="list-style-image"
-		inherited="yes" mediagroup="visual" category="content">
-		<function name="uri"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="list-style-position"
-		inherited="yes" mediagroup="visual" category="content">
-		<keyword name="inside"/>
-		<keyword name="outside"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="list-style-type"
-		inherited="yes" mediagroup="visual" category="content">
-		<keyword name="disc"/>
-		<keyword name="circle"/>
-		<keyword name="square"/>
-		<keyword name="decimal"/>
-		<keyword name="decimal-leading-zero"/>
-		<keyword name="lower-roman"/>
-		<keyword name="upper-roman"/>
-		<keyword name="lower-greek"/>
-		<keyword name="lower-alpha"/>
-		<keyword name="lower-latin"/>
-		<keyword name="upper-alpha"/>
-		<keyword name="upper-latin"/>
-		<keyword name="hebrew"/>
-		<keyword name="armenian"/>
-		<keyword name="georgian"/>
-		<keyword name="cjk-ideographic"/>
-		<keyword name="hiragana"/>
-		<keyword name="katakana"/>
-		<keyword name="hiragana-iroha"/>
-		<keyword name="katakana-iroha"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="margin"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="margin-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="margin-top"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="margin-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="margin-right"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="margin-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="margin-bottom"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="margin-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="margin-left"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="margin-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="marker-offset"
-		inherited="no" mediagroup="visual" category="content">
-		<number name="length"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="marks"
-		inherited="na" mediagroup="visual,paged" category="page">
-		<keyword name="crop"/>
-		<keyword name="cross"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="max-height"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="max-width"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="min-height"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="min-width"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="orphans"
-		inherited="yes" mediagroup="visual,paged" category="page">
-		<number name="integer"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="outline"
-		inherited="no" mediagroup="visual,interactive" category="ui">
-		<property name="outline-color"/>
-		<property name="outline-style"/>
-		<property name="outline-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="outline-color"
-		inherited="no" mediagroup="visual,interactive" category="ui">
-		<container name="color"/>
-		<keyword name="invert"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="outline-style"
-		inherited="no" mediagroup="visual,interactive" category="ui">
-		<container name="border-style"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="outline-width"
-		inherited="no" mediagroup="visual,interactive" category="ui">
-		<container name="border-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="overflow"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="visible"/>
-		<keyword name="hidden"/>
-		<keyword name="scroll"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="padding"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="padding-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="padding-top"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="padding-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="padding-right"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="padding-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="padding-bottom"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="padding-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="padding-left"
-		inherited="no" mediagroup="visual" category="box">
-		<container name="padding-width"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="page"
-		inherited="yes" mediagroup="visual,paged" category="page">
-		<string name="page-identifier"/>
-		<keyword name="auto"/>
-	</property-def>
-	<property-def name="page-break-after"
-		inherited="no" mediagroup="visual,paged" category="page">
-		<keyword name="auto"/>
-		<keyword name="always"/>
-		<keyword name="avoid"/>
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="page-break-before"
-		inherited="no" mediagroup="visual,paged" category="page">
-		<keyword name="auto"/>
-		<keyword name="always"/>
-		<keyword name="avoid"/>
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="page-break-inside"
-		inherited="yes" mediagroup="visual,paged" category="page">
-		<keyword name="avoid"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="pause"
-		inherited="no" mediagroup="aural" category="aural">
-		<number name="time"/>
-		<number name="percentage"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="pause-after"
-		inherited="no" mediagroup="aural" category="aural">
-		<number name="time"/>
-		<number name="percentage"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="pause-before"
-		inherited="no" mediagroup="aural" category="aural">
-		<number name="time"/>
-		<number name="percentage"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="pitch"
-		inherited="yes" mediagroup="aural" category="aural">
-		<number name="frequency"/>
-		<keyword name="x-low"/>
-		<keyword name="low"/>
-		<keyword name="medium"/>
-		<keyword name="high"/>
-		<keyword name="x-high"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="pitch-range"
-		inherited="yes" mediagroup="aural" category="aural">
-		<number name="number"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="play-during"
-		inherited="no" mediagroup="aural" category="aural">
-		<function name="uri"/>
-		<keyword name="mix"/>
-		<keyword name="repeat"/>
-		<keyword name="auto"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="position"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="static"/>
-		<keyword name="relative"/>
-		<keyword name="absolute"/>
-		<keyword name="fixed"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="quotes"
-		inherited="yes" mediagroup="visual" category="content">
-		<string name="any"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="richness"
-		inherited="yes" mediagroup="aural" category="aural">
-		<number name="number"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="right"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="size"
-		inherited="na" mediagroup="visual,paged" category="page">
-		<number name="length"/>
-		<keyword name="auto"/>
-		<keyword name="portrait"/>
-		<keyword name="landscape"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="speak"
-		inherited="yes" mediagroup="aural" category="aural">
-		<keyword name="normal"/>
-		<keyword name="none"/>
-		<keyword name="spell-out"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="speak-header"
-		inherited="yes" mediagroup="aural" category="tables">
-		<keyword name="once"/>
-		<keyword name="always"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="speak-numeral"
-		inherited="yes" mediagroup="aural" category="aural">
-		<keyword name="digits"/>
-		<keyword name="continuous"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="speak-punctuation"
-		inherited="yes" mediagroup="aural" category="aural">
-		<keyword name="code"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="speech-rate"
-		inherited="yes" mediagroup="aural" category="aural">
-		<number name="number"/>
-		<keyword name="x-slow"/>
-		<keyword name="slow"/>
-		<keyword name="medium"/>
-		<keyword name="fast"/>
-		<keyword name="x-fast"/>
-		<keyword name="faster"/>
-		<keyword name="slower"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="stress"
-		inherited="yes" mediagroup="aural" category="aural">
-		<number name="number"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="table-layout"
-		inherited="no" mediagroup="visual" category="tables">
-		<keyword name="auto"/>
-		<keyword name="fixed"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="text-align"
-		inherited="yes" mediagroup="visual" category="text">
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="center"/>
-		<keyword name="justify"/>
-		<string name="any"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="text-decoration"
-		inherited="no" mediagroup="visual" category="text">
-		<keyword name="none"/>
-		<keyword name="underline"/>
-		<keyword name="overline"/>
-		<keyword name="line-through"/>
-		<keyword name="blink"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="text-indent"
-		inherited="yes" mediagroup="visual" category="text">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="text-shadow"
-		inherited="no" mediagroup="visual" category="text">
-		<keyword name="none"/>
-		<container name="color"/>
-		<number name="length"/>
-		<keyword name="inherit"/>
-		<separator name="comma"/>
-	</property-def>
-	<property-def name="text-transform"
-		inherited="yes" mediagroup="visual" category="text">
-		<keyword name="capitalize"/>
-		<keyword name="uppercase"/>
-		<keyword name="lowercase"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="top"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="unicode-bidi"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="normal"/>
-		<keyword name="embed"/>
-		<keyword name="bidi-override"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="vertical-align"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="baseline"/>
-		<keyword name="sub"/>
-		<keyword name="super"/>
-		<keyword name="top"/>
-		<keyword name="text-top"/>
-		<keyword name="middle"/>
-		<keyword name="bottom"/>
-		<keyword name="text-bottom"/>
-		<number name="percentage"/>
-		<number name="length"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="visibility"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="visible"/>
-		<keyword name="hidden"/>
-		<keyword name="collapse"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="voice-family"
-		inherited="yes" mediagroup="aural" category="aural">
-		<string name="specific-voice"/>
-		<container name="generic-voice"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="volume"
-		inherited="yes" mediagroup="aural" category="aural">
-		<number name="number"/>
-		<number name="percentage"/>
-		<keyword name="silent"/>
-		<keyword name="x-soft"/>
-		<keyword name="soft"/>
-		<keyword name="medium"/>
-		<keyword name="loud"/>
-		<keyword name="x-loud"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="white-space"
-		inherited="yes" mediagroup="visual" category="text">
-		<keyword name="normal"/>
-		<keyword name="pre"/>
-		<keyword name="nowrap"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="widows"
-		inherited="yes" mediagroup="visual,paged" category="page">
-		<number name="integer"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="width"
-		inherited="no" mediagroup="visual" category="visual">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="word-spacing"
-		inherited="yes" mediagroup="visual" category="text">
-		<keyword name="normal"/>
-		<number name="length"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="z-index"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="auto"/>
-		<number name="integer"/>
-		<keyword name="inherit"/>
-	</property-def>
-
-	<!-- descriptor definition : These are for @font-face -->
-
-	<descriptor-def name="ascent">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="baseline">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="bbox">
-		<number name="number"/>
-		<separator name="comma"/>
-	</descriptor-def>
-	<descriptor-def name="cap-height">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="centerline">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="definition-src">
-		<function name="uri"/>
-	</descriptor-def>
-	<descriptor-def name="descent">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="font-family">
-		<string name="family-name"/>
-		<container name="generic-family"/>
-		<separator name="comma"/>
-	</descriptor-def>
-	<descriptor-def name="font-size">
-		<keyword name="all"/>
-		<number name="length"/>
-		<separator name="comma"/>
-	</descriptor-def>
-	<descriptor-def name="font-stretch">
-		<keyword name="all"/>
-		<keyword name="normal"/>
-		<keyword name="ultra-condensed"/>
-		<keyword name="extra-condensed"/>
-		<keyword name="condensed"/>
-		<keyword name="semi-condensed"/>
-		<keyword name="semi-expanded"/>
-		<keyword name="expanded"/>
-		<keyword name="extra-expanded"/>
-		<keyword name="ultra-expanded"/>
-		<separator name="comma"/>
-	</descriptor-def>
-	<descriptor-def name="font-style">
-		<keyword name="all"/>
-		<keyword name="normal"/>
-		<keyword name="italic"/>
-		<keyword name="oblique"/>
-		<separator name="comma"/>
-	</descriptor-def>
-	<descriptor-def name="font-variant">
-		<keyword name="normal"/>
-		<keyword name="small-caps"/>
-		<separator name="comma"/>
-	</descriptor-def>
-	<descriptor-def name="font-weight">
-		<keyword name="all"/>
-		<keyword name="normal"/>
-		<keyword name="bold"/>
-		<keyword name="100"/>
-		<keyword name="200"/>
-		<keyword name="300"/>
-		<keyword name="400"/>
-		<keyword name="500"/>
-		<keyword name="600"/>
-		<keyword name="700"/>
-		<keyword name="800"/>
-		<keyword name="900"/>
-		<separator name="comma"/>
-	</descriptor-def>
-	<descriptor-def name="mathline">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="panose-1">
-		<number name="integer"/>
-	</descriptor-def>
-	<descriptor-def name="slope">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="src">
-		<function name="uri"/>
-		<function name="format"/>
-		<container name="font-face-name"/>
-	</descriptor-def>
-	<descriptor-def name="stemh">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="stemv">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="topline">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="unicode-range">
-		<string name="urange"/>
-	</descriptor-def>
-	<descriptor-def name="units-per-em">
-		<number name="number"/>
-	</descriptor-def>
-	<descriptor-def name="widths">
-		<string name="urange"/>
-		<number name="length"/>
-	</descriptor-def>
-	<descriptor-def name="x-height">
-		<number name="number"/>
-	</descriptor-def>
-
-	<!-- container definition : Container is the lump of values.
-	It can be used like macros. -->
-    <container-def name="absolute-size">
-        <keyword name="xx-small"/>
-        <keyword name="x-small"/>
-        <keyword name="small"/>
-        <keyword name="medium"/>
-        <keyword name="large"/>
-        <keyword name="x-large"/>
-        <keyword name="xx-large"/>
-    </container-def>
-    <container-def name="border-style">
-        <keyword name="none"/>
-        <keyword name="hidden"/>
-        <keyword name="dotted"/>
-        <keyword name="dashed"/>
-        <keyword name="solid"/>
-        <keyword name="double"/>
-        <keyword name="groove"/>
-        <keyword name="ridge"/>
-        <keyword name="inset"/>
-        <keyword name="outset"/>
-    </container-def>
-    <container-def name="border-width">
-        <keyword name="thin"/>
-        <keyword name="medium"/>
-        <keyword name="thick"/>
-        <number name="length"/>
-    </container-def>
-	<container-def name="color">
-		<keyword name="aqua"/>
-		<keyword name="black"/>
-		<keyword name="blue"/>
-		<keyword name="fuchsia"/>
-		<keyword name="gray"/>
-		<keyword name="green"/>
-		<keyword name="lime"/>
-		<keyword name="maroon"/>
-		<keyword name="navy"/>
-		<keyword name="olive"/>
-		<keyword name="purple"/>
-		<keyword name="red"/>
-		<keyword name="silver"/>
-		<keyword name="teal"/>
-		<keyword name="white"/>
-		<keyword name="yellow"/>
-		<container name="system-color"/>
-		<function name="rgb"/>
-		<number name="hash"/>
-	</container-def>
-	<container-def name="generic-family">
-		<keyword name="serif"/>
-		<keyword name="sans-serif"/>
-		<keyword name="cursive"/>
-		<keyword name="fantasy"/>
-		<keyword name="monospace"/>
-	</container-def>
-	<container-def name="font-face-name">
-		<function name="local"/>
-	</container-def>
-	<container-def name="generic-voice">
-		<keyword name="male"/>
-		<keyword name="female"/>
-		<keyword name="child"/>
-	</container-def>
-	<container-def name="margin-width">
-		<number name="length"/>
-		<number name="percentage"/>
-		<keyword name="auto"/>
-	</container-def>
-	<container-def name="padding-width">
-		<number name="length"/>
-		<number name="percentage"/>
-	</container-def>
-	<container-def name="relative-size">
-		<keyword name="smaller"/>
-		<keyword name="larger"/>
-	</container-def>
-	<container-def name="shape">
-		<function name="rect"/>
-	</container-def>
-	<container-def name="system-color">
-		<keyword name="ActiveBorder"/>
-		<keyword name="ActiveCaption"/>
-		<keyword name="AppWorkspace"/>
-		<keyword name="Background"/>
-		<keyword name="ButtonFace"/>
-		<keyword name="ButtonHighlight"/>
-		<keyword name="ButtonShadow"/>
-		<keyword name="ButtonText"/>
-		<keyword name="CaptionText"/>
-		<keyword name="GrayText"/>
-		<keyword name="Highlight"/>
-		<keyword name="HighlightText"/>
-		<keyword name="InactiveBorder"/>
-		<keyword name="InactiveCaption"/>
-		<keyword name="InactiveCaptionText"/>
-		<keyword name="InfoBackground"/>
-		<keyword name="InfoText"/>
-		<keyword name="Menu"/>
-		<keyword name="MenuText"/>
-		<keyword name="Scrollbar"/>
-		<keyword name="ThreeDDarkShadow"/>
-		<keyword name="ThreeDFace"/>
-		<keyword name="ThreeDHighlight"/>
-		<keyword name="ThreeDLightShadow"/>
-		<keyword name="ThreeDShadow"/>
-		<keyword name="Window"/>
-		<keyword name="WindowFrame"/>
-		<keyword name="WindowText"/>
-	</container-def>
-
-	<!-- category definition : This is used to categorize properties
-	in Properties View. -->
-	<category-def name="aural">
-		<caption>%css2.category-def.aural.caption</caption>
-	</category-def>
-	<category-def name="box">
-		<caption>%css2.category-def.box.caption</caption>
-	</category-def>
-	<category-def name="colorandbackground">
-		<caption>%css2.category-def.colorandbackground.caption</caption>
-	</category-def>
-	<category-def name="content">
-		<caption>%css2.category-def.content.caption</caption>
-	</category-def>
-	<category-def name="font">
-		<caption>%css2.category-def.font.caption</caption>
-	</category-def>
-	<category-def name="page">
-		<caption>%css2.category-def.page.caption</caption>
-	</category-def>
-	<category-def name="tables">
-		<caption>%css2.category-def.tables.caption</caption>
-	</category-def>
-	<category-def name="text">
-		<caption>%css2.category-def.text.caption</caption>
-	</category-def>
-	<category-def name="ui">
-		<caption>%css2.category-def.ui.caption</caption>
-	</category-def>
-	<category-def name="visual">
-<!--		<caption>%css2.category-def.visual.caption</caption>-->
-		<caption>%css2.category-def.visual.caption</caption>
-	</category-def>
-	
-	<!-- function definition -->
-	<function-def name="attr">
-		<function-value>attr</function-value>
-	</function-def>
-	<function-def name="counter">
-		<function-value>counter</function-value>
-	</function-def>
-	<function-def name="rect">
-		<function-value>rect</function-value>
-	</function-def>
-	<function-def name="rgb">
-		<function-value>rgb</function-value>
-	</function-def>
-	<function-def name="uri">
-		<function-value>url</function-value>
-	</function-def>
-	<function-def name="format">
-		<function-value>format</function-value>
-	</function-def>
-	<function-def name="local">
-		<function-value>local</function-value>
-	</function-def>
-
-	<!-- number definition : What unit types be acceptable for each
-	number type? -->
-    <number-def name="angle">
-        <unit name="deg"/>
-        <unit name="grad"/>
-        <unit name="rad"/>
-    </number-def>
-    <number-def name="frequency">
-        <unit name="hz"/>
-        <unit name="khz"/>
-    </number-def>
-    <number-def name="hash">
-        <unit name="hash"/>
-    </number-def>
-	<number-def name="integer">
-	</number-def>
-    <number-def name="length">
-        <unit name="em"/>
-        <unit name="ex"/>
-        <unit name="px"/>
-        <unit name="in"/>
-        <unit name="cm"/>
-        <unit name="mm"/>
-        <unit name="pt"/>
-        <unit name="pc"/>
-    </number-def>
-	<number-def name="number">
-	</number-def>
-	<number-def name="percentage">
-		<unit name="percentage"/>
-	</number-def>
-	<number-def name="time">
-		<unit name="ms"/>
-		<unit name="s"/>
-	</number-def>
-
-	<unit-def name="cm">
-		<unit-value>cm</unit-value>
-	</unit-def>
-	<unit-def name="deg">
-		<unit-value>deg</unit-value>
-	</unit-def>
-	<unit-def name="em">
-		<unit-value>em</unit-value>
-	</unit-def>
-	<unit-def name="ex">
-		<unit-value>ex</unit-value>
-	</unit-def>
-	<unit-def name="grad">
-		<unit-value>grad</unit-value>
-	</unit-def>
-	<unit-def name="hash">
-		<unit-value>#</unit-value>
-	</unit-def>
-	<unit-def name="hz">
-		<unit-value>Hz</unit-value>
-	</unit-def>
-	<unit-def name="in">
-		<unit-value>in</unit-value>
-	</unit-def>
-	<unit-def name="khz">
-		<unit-value>kHz</unit-value>
-	</unit-def>
-	<unit-def name="mm">
-		<unit-value>mm</unit-value>
-	</unit-def>
-	<unit-def name="ms">
-		<unit-value>ms</unit-value>
-	</unit-def>
-	<unit-def name="pc">
-		<unit-value>pc</unit-value>
-	</unit-def>
-	<unit-def name="percentage">
-		<unit-value>%</unit-value>
-	</unit-def>
-	<unit-def name="pt">
-		<unit-value>pt</unit-value>
-	</unit-def>
-	<unit-def name="px">
-		<unit-value>px</unit-value>
-	</unit-def>
-	<unit-def name="rad">
-		<unit-value>rad</unit-value>
-	</unit-def>
-	<unit-def name="s">
-		<unit-value>s</unit-value>
-	</unit-def>
-
-    <!-- keywords : string constants (this is last part..) -->
-    <keyword-def name="100">
-        <keyword-value>100</keyword-value>
-    </keyword-def>
-    <keyword-def name="200">
-        <keyword-value>200</keyword-value>
-    </keyword-def>
-    <keyword-def name="300">
-        <keyword-value>300</keyword-value>
-    </keyword-def>
-    <keyword-def name="400">
-        <keyword-value>400</keyword-value>
-    </keyword-def>
-    <keyword-def name="500">
-        <keyword-value>500</keyword-value>
-    </keyword-def>
-    <keyword-def name="600">
-        <keyword-value>600</keyword-value>
-    </keyword-def>
-    <keyword-def name="700">
-        <keyword-value>700</keyword-value>
-    </keyword-def>
-    <keyword-def name="800">
-        <keyword-value>800</keyword-value>
-    </keyword-def>
-    <keyword-def name="900">
-        <keyword-value>900</keyword-value>
-    </keyword-def>
-    <keyword-def name="above">
-        <keyword-value>above</keyword-value>
-    </keyword-def>
-    <keyword-def name="absolute">
-        <keyword-value>absolute</keyword-value>
-    </keyword-def>
-    <keyword-def name="ActiveBorder">
-        <keyword-value>ActiveBorder</keyword-value>
-    </keyword-def>
-    <keyword-def name="ActiveCaption">
-        <keyword-value>ActiveCaption</keyword-value>
-    </keyword-def>
-    <keyword-def name="all">
-        <keyword-value>all</keyword-value>
-    </keyword-def>
-    <keyword-def name="always">
-        <keyword-value>always</keyword-value>
-    </keyword-def>
-    <keyword-def name="AppWorkspace">
-        <keyword-value>AppWorkspace</keyword-value>
-    </keyword-def>
-    <keyword-def name="aqua">
-        <keyword-value>aqua</keyword-value>
-    </keyword-def>
-    <keyword-def name="armenian">
-        <keyword-value>armenian</keyword-value>
-    </keyword-def>
-    <keyword-def name="auto">
-        <keyword-value>auto</keyword-value>
-    </keyword-def>
-    <keyword-def name="avoid">
-        <keyword-value>avoid</keyword-value>
-    </keyword-def>
-    <keyword-def name="Background">
-        <keyword-value>Background</keyword-value>
-    </keyword-def>
-    <keyword-def name="baseline">
-        <keyword-value>baseline</keyword-value>
-    </keyword-def>
-    <keyword-def name="behind">
-        <keyword-value>behind</keyword-value>
-    </keyword-def>
-    <keyword-def name="below">
-        <keyword-value>below</keyword-value>
-    </keyword-def>
-    <keyword-def name="bidi-override">
-        <keyword-value>bidi-override</keyword-value>
-    </keyword-def>
-    <keyword-def name="black">
-        <keyword-value>black</keyword-value>
-    </keyword-def>
-    <keyword-def name="blink">
-        <keyword-value>blink</keyword-value>
-    </keyword-def>
-    <keyword-def name="block">
-        <keyword-value>block</keyword-value>
-    </keyword-def>
-    <keyword-def name="blue">
-        <keyword-value>blue</keyword-value>
-    </keyword-def>
-    <keyword-def name="bold">
-        <keyword-value>bold</keyword-value>
-    </keyword-def>
-    <keyword-def name="bolder">
-        <keyword-value>bolder</keyword-value>
-    </keyword-def>
-    <keyword-def name="both">
-        <keyword-value>both</keyword-value>
-    </keyword-def>
-    <keyword-def name="bottom">
-        <keyword-value>bottom</keyword-value>
-    </keyword-def>
-    <keyword-def name="ButtonFace">
-        <keyword-value>ButtonFace</keyword-value>
-    </keyword-def>
-    <keyword-def name="ButtonHighlight">
-        <keyword-value>ButtonHighlight</keyword-value>
-    </keyword-def>
-    <keyword-def name="ButtonShadow">
-        <keyword-value>ButtonShadow</keyword-value>
-    </keyword-def>
-    <keyword-def name="ButtonText">
-        <keyword-value>ButtonText</keyword-value>
-    </keyword-def>
-    <keyword-def name="capitalize">
-        <keyword-value>capitalize</keyword-value>
-    </keyword-def>
-    <keyword-def name="caption">
-        <keyword-value>caption</keyword-value>
-    </keyword-def>
-    <keyword-def name="CaptionText">
-        <keyword-value>CaptionText</keyword-value>
-    </keyword-def>
-    <keyword-def name="center">
-        <keyword-value>center</keyword-value>
-    </keyword-def>
-    <keyword-def name="center-left">
-        <keyword-value>center-left</keyword-value>
-    </keyword-def>
-    <keyword-def name="center-right">
-        <keyword-value>center-right</keyword-value>
-    </keyword-def>
-    <keyword-def name="child">
-        <keyword-value>child</keyword-value>
-    </keyword-def>
-    <keyword-def name="circle">
-        <keyword-value>circle</keyword-value>
-    </keyword-def>
-    <keyword-def name="cjk-ideographic">
-        <keyword-value>cjk-ideographic</keyword-value>
-    </keyword-def>
-    <keyword-def name="close-quote">
-        <keyword-value>close-quote</keyword-value>
-    </keyword-def>
-    <keyword-def name="code">
-        <keyword-value>code</keyword-value>
-    </keyword-def>
-    <keyword-def name="condensed">
-        <keyword-value>condensed</keyword-value>
-    </keyword-def>
-    <keyword-def name="collapse">
-        <keyword-value>collapse</keyword-value>
-    </keyword-def>
-    <keyword-def name="compact">
-        <keyword-value>compact</keyword-value>
-    </keyword-def>
-    <keyword-def name="continuous">
-        <keyword-value>continuous</keyword-value>
-    </keyword-def>
-    <keyword-def name="crop">
-        <keyword-value>crop</keyword-value>
-    </keyword-def>
-    <keyword-def name="cross">
-        <keyword-value>cross</keyword-value>
-    </keyword-def>
-    <keyword-def name="crosshair">
-        <keyword-value>crosshair</keyword-value>
-    </keyword-def>
-    <keyword-def name="cursive">
-        <keyword-value>cursive</keyword-value>
-    </keyword-def>
-    <keyword-def name="dashed">
-        <keyword-value>dashed</keyword-value>
-    </keyword-def>
-    <keyword-def name="decimal">
-        <keyword-value>decimal</keyword-value>
-    </keyword-def>
-    <keyword-def name="decimal-leading-zero">
-        <keyword-value>decimal-leading-zero</keyword-value>
-    </keyword-def>
-    <keyword-def name="default">
-        <keyword-value>default</keyword-value>
-    </keyword-def>
-    <keyword-def name="digits">
-        <keyword-value>digits</keyword-value>
-    </keyword-def>
-    <keyword-def name="disc">
-        <keyword-value>disc</keyword-value>
-    </keyword-def>
-    <keyword-def name="dotted">
-        <keyword-value>dotted</keyword-value>
-    </keyword-def>
-    <keyword-def name="double">
-        <keyword-value>double</keyword-value>
-    </keyword-def>
-    <keyword-def name="e-resize">
-        <keyword-value>e-resize</keyword-value>
-    </keyword-def>
-    <keyword-def name="embed">
-        <keyword-value>embed</keyword-value>
-    </keyword-def>
-    <keyword-def name="expanded">
-        <keyword-value>expanded</keyword-value>
-    </keyword-def>
-    <keyword-def name="extra-condensed">
-        <keyword-value>extra-condensed</keyword-value>
-    </keyword-def>
-    <keyword-def name="extra-expanded">
-        <keyword-value>extra-expanded</keyword-value>
-    </keyword-def>
-    <keyword-def name="fantasy">
-        <keyword-value>fantasy</keyword-value>
-    </keyword-def>
-    <keyword-def name="far-left">
-        <keyword-value>far-left</keyword-value>
-    </keyword-def>
-    <keyword-def name="far-right">
-        <keyword-value>far-right</keyword-value>
-    </keyword-def>
-    <keyword-def name="fast">
-        <keyword-value>fast</keyword-value>
-    </keyword-def>
-    <keyword-def name="faster">
-        <keyword-value>faster</keyword-value>
-    </keyword-def>
-    <keyword-def name="female">
-        <keyword-value>female</keyword-value>
-    </keyword-def>
-    <keyword-def name="fixed">
-        <keyword-value>fixed</keyword-value>
-    </keyword-def>
-    <keyword-def name="fuchsia">
-        <keyword-value>fuchsia</keyword-value>
-    </keyword-def>
-    <keyword-def name="georgian">
-        <keyword-value>georgian</keyword-value>
-    </keyword-def>
-    <keyword-def name="gray">
-        <keyword-value>gray</keyword-value>
-    </keyword-def>
-    <keyword-def name="GrayText">
-        <keyword-value>GrayText</keyword-value>
-    </keyword-def>
-    <keyword-def name="green">
-        <keyword-value>green</keyword-value>
-    </keyword-def>
-    <keyword-def name="groove">
-        <keyword-value>groove</keyword-value>
-    </keyword-def>
-    <keyword-def name="hebrew">
-        <keyword-value>hebrew</keyword-value>
-    </keyword-def>
-    <keyword-def name="help">
-        <keyword-value>help</keyword-value>
-    </keyword-def>
-    <keyword-def name="hidden">
-        <keyword-value>hidden</keyword-value>
-    </keyword-def>
-    <keyword-def name="hide">
-        <keyword-value>hide</keyword-value>
-    </keyword-def>
-    <keyword-def name="high">
-        <keyword-value>high</keyword-value>
-    </keyword-def>
-    <keyword-def name="Highlight">
-        <keyword-value>Highlight</keyword-value>
-    </keyword-def>
-    <keyword-def name="HighlightText">
-        <keyword-value>HighlightText</keyword-value>
-    </keyword-def>
-    <keyword-def name="higher">
-        <keyword-value>higher</keyword-value>
-    </keyword-def>
-    <keyword-def name="hiragana">
-        <keyword-value>hiragana</keyword-value>
-    </keyword-def>
-    <keyword-def name="hiragana-iroha">
-        <keyword-value>hiragana-iroha</keyword-value>
-    </keyword-def>
-    <keyword-def name="icon">
-        <keyword-value>icon</keyword-value>
-    </keyword-def>
-    <keyword-def name="InactiveBorder">
-        <keyword-value>InactiveBorder</keyword-value>
-    </keyword-def>
-    <keyword-def name="InactiveCaption">
-        <keyword-value>InactiveCaption</keyword-value>
-    </keyword-def>
-    <keyword-def name="InactiveCaptionText">
-        <keyword-value>InactiveCaptionText</keyword-value>
-    </keyword-def>
-    <keyword-def name="InfoBackground">
-        <keyword-value>InfoBackground</keyword-value>
-    </keyword-def>
-    <keyword-def name="InfoText">
-        <keyword-value>InfoText</keyword-value>
-    </keyword-def>
-    <keyword-def name="inherit">
-        <keyword-value>inherit</keyword-value>
-    </keyword-def>
-    <keyword-def name="inline">
-        <keyword-value>inline</keyword-value>
-    </keyword-def>
-    <keyword-def name="inline-table">
-        <keyword-value>inline-table</keyword-value>
-    </keyword-def>
-    <keyword-def name="inset">
-        <keyword-value>inset</keyword-value>
-    </keyword-def>
-    <keyword-def name="inside">
-        <keyword-value>inside</keyword-value>
-    </keyword-def>
-    <keyword-def name="invert">
-        <keyword-value>invert</keyword-value>
-    </keyword-def>
-    <keyword-def name="italic">
-        <keyword-value>italic</keyword-value>
-    </keyword-def>
-    <keyword-def name="justify">
-        <keyword-value>justify</keyword-value>
-    </keyword-def>
-    <keyword-def name="katakana">
-        <keyword-value>katakana</keyword-value>
-    </keyword-def>
-    <keyword-def name="katakana-iroha">
-        <keyword-value>katakana-iroha</keyword-value>
-    </keyword-def>
-    <keyword-def name="landscape">
-        <keyword-value>landscape</keyword-value>
-    </keyword-def>
-    <keyword-def name="large">
-        <keyword-value>large</keyword-value>
-    </keyword-def>
-    <keyword-def name="larger">
-        <keyword-value>larger</keyword-value>
-    </keyword-def>
-    <keyword-def name="left">
-        <keyword-value>left</keyword-value>
-    </keyword-def>
-    <keyword-def name="left-side">
-        <keyword-value>left-side</keyword-value>
-    </keyword-def>
-    <keyword-def name="leftwards">
-        <keyword-value>leftwards</keyword-value>
-    </keyword-def>
-    <keyword-def name="level">
-        <keyword-value>level</keyword-value>
-    </keyword-def>
-    <keyword-def name="lighter">
-        <keyword-value>lighter</keyword-value>
-    </keyword-def>
-    <keyword-def name="lime">
-        <keyword-value>lime</keyword-value>
-    </keyword-def>
-    <keyword-def name="line-through">
-        <keyword-value>line-through</keyword-value>
-    </keyword-def>
-    <keyword-def name="list-item">
-        <keyword-value>list-item</keyword-value>
-    </keyword-def>
-    <keyword-def name="loud">
-        <keyword-value>loud</keyword-value>
-    </keyword-def>
-    <keyword-def name="low">
-        <keyword-value>low</keyword-value>
-    </keyword-def>
-    <keyword-def name="lower">
-        <keyword-value>lower</keyword-value>
-    </keyword-def>
-    <keyword-def name="lower-alpha">
-        <keyword-value>lower-alpha</keyword-value>
-    </keyword-def>
-    <keyword-def name="lower-greek">
-        <keyword-value>lower-greek</keyword-value>
-    </keyword-def>
-    <keyword-def name="lower-latin">
-        <keyword-value>lower-latin</keyword-value>
-    </keyword-def>
-    <keyword-def name="lower-roman">
-        <keyword-value>lower-roman</keyword-value>
-    </keyword-def>
-    <keyword-def name="lowercase">
-        <keyword-value>lowercase</keyword-value>
-    </keyword-def>
-    <keyword-def name="ltr">
-        <keyword-value>ltr</keyword-value>
-    </keyword-def>
-    <keyword-def name="male">
-        <keyword-value>male</keyword-value>
-    </keyword-def>
-    <keyword-def name="marker">
-        <keyword-value>marker</keyword-value>
-    </keyword-def>
-    <keyword-def name="maroon">
-        <keyword-value>maroon</keyword-value>
-    </keyword-def>
-    <keyword-def name="medium">
-        <keyword-value>medium</keyword-value>
-    </keyword-def>
-    <keyword-def name="Menu">
-        <keyword-value>Menu</keyword-value>
-    </keyword-def>
-    <keyword-def name="MenuText">
-        <keyword-value>MenuText</keyword-value>
-    </keyword-def>
-    <keyword-def name="message-box">
-        <keyword-value>message-box</keyword-value>
-    </keyword-def>
-    <keyword-def name="middle">
-        <keyword-value>middle</keyword-value>
-    </keyword-def>
-    <keyword-def name="mix">
-        <keyword-value>mix</keyword-value>
-    </keyword-def>
-    <keyword-def name="monospace">
-        <keyword-value>monospace</keyword-value>
-    </keyword-def>
-    <keyword-def name="move">
-        <keyword-value>move</keyword-value>
-    </keyword-def>
-    <keyword-def name="n-resize">
-        <keyword-value>n-resize</keyword-value>
-    </keyword-def>
-    <keyword-def name="narrower">
-        <keyword-value>narrower</keyword-value>
-    </keyword-def>
-    <keyword-def name="navy">
-        <keyword-value>navy</keyword-value>
-    </keyword-def>
-    <keyword-def name="ne-resize">
-        <keyword-value>ne-resize</keyword-value>
-    </keyword-def>
-    <keyword-def name="no-close-quote">
-        <keyword-value>no-close-quote</keyword-value>
-    </keyword-def>
-    <keyword-def name="no-open-quote">
-        <keyword-value>no-open-quote</keyword-value>
-    </keyword-def>
-    <keyword-def name="no-repeat">
-        <keyword-value>no-repeat</keyword-value>
-    </keyword-def>
-    <keyword-def name="none">
-        <keyword-value>none</keyword-value>
-    </keyword-def>
-    <keyword-def name="normal">
-        <keyword-value>normal</keyword-value>
-    </keyword-def>
-    <keyword-def name="nowrap">
-        <keyword-value>nowrap</keyword-value>
-    </keyword-def>
-    <keyword-def name="nw-resize">
-        <keyword-value>nw-resize</keyword-value>
-    </keyword-def>
-    <keyword-def name="oblique">
-        <keyword-value>oblique</keyword-value>
-    </keyword-def>
-    <keyword-def name="olive">
-        <keyword-value>olive</keyword-value>
-    </keyword-def>
-    <keyword-def name="once">
-        <keyword-value>once</keyword-value>
-    </keyword-def>
-    <keyword-def name="open-quote">
-        <keyword-value>open-quote</keyword-value>
-    </keyword-def>
-    <keyword-def name="outset">
-        <keyword-value>outset</keyword-value>
-    </keyword-def>
-    <keyword-def name="outside">
-        <keyword-value>outside</keyword-value>
-    </keyword-def>
-    <keyword-def name="overline">
-        <keyword-value>overline</keyword-value>
-    </keyword-def>
-    <keyword-def name="pointer">
-        <keyword-value>pointer</keyword-value>
-    </keyword-def>
-    <keyword-def name="portrait">
-        <keyword-value>portrait</keyword-value>
-    </keyword-def>
-    <keyword-def name="pre">
-        <keyword-value>pre</keyword-value>
-    </keyword-def>
-    <keyword-def name="purple">
-        <keyword-value>purple</keyword-value>
-    </keyword-def>
-    <keyword-def name="red">
-        <keyword-value>red</keyword-value>
-    </keyword-def>
-    <keyword-def name="relative">
-        <keyword-value>relative</keyword-value>
-    </keyword-def>
-    <keyword-def name="repeat">
-        <keyword-value>repeat</keyword-value>
-    </keyword-def>
-    <keyword-def name="repeat-x">
-        <keyword-value>repeat-x</keyword-value>
-    </keyword-def>
-    <keyword-def name="repeat-y">
-        <keyword-value>repeat-y</keyword-value>
-    </keyword-def>
-    <keyword-def name="ridge">
-        <keyword-value>ridge</keyword-value>
-    </keyword-def>
-    <keyword-def name="right">
-        <keyword-value>right</keyword-value>
-    </keyword-def>
-    <keyword-def name="right-side">
-        <keyword-value>right-side</keyword-value>
-    </keyword-def>
-    <keyword-def name="rightwards">
-        <keyword-value>rightwards</keyword-value>
-    </keyword-def>
-    <keyword-def name="rtl">
-        <keyword-value>rtl</keyword-value>
-    </keyword-def>
-    <keyword-def name="run-in">
-        <keyword-value>run-in</keyword-value>
-    </keyword-def>
-    <keyword-def name="s-resize">
-        <keyword-value>s-resize</keyword-value>
-    </keyword-def>
-    <keyword-def name="sans-serif">
-        <keyword-value>sans-serif</keyword-value>
-    </keyword-def>
-    <keyword-def name="scroll">
-        <keyword-value>scroll</keyword-value>
-    </keyword-def>
-    <keyword-def name="Scrollbar">
-        <keyword-value>Scrollbar</keyword-value>
-    </keyword-def>
-    <keyword-def name="se-resize">
-        <keyword-value>se-resize</keyword-value>
-    </keyword-def>
-    <keyword-def name="semi-condensed">
-        <keyword-value>semi-condensed</keyword-value>
-    </keyword-def>
-    <keyword-def name="semi-expanded">
-        <keyword-value>semi-expanded</keyword-value>
-    </keyword-def>
-    <keyword-def name="separate">
-        <keyword-value>separate</keyword-value>
-    </keyword-def>
-    <keyword-def name="serif">
-        <keyword-value>serif</keyword-value>
-    </keyword-def>
-    <keyword-def name="show">
-        <keyword-value>show</keyword-value>
-    </keyword-def>
-    <keyword-def name="silent">
-        <keyword-value>silent</keyword-value>
-    </keyword-def>
-    <keyword-def name="silver">
-        <keyword-value>silver</keyword-value>
-    </keyword-def>
-    <keyword-def name="slow">
-        <keyword-value>slow</keyword-value>
-    </keyword-def>
-    <keyword-def name="slower">
-        <keyword-value>slower</keyword-value>
-    </keyword-def>
-    <keyword-def name="small">
-        <keyword-value>small</keyword-value>
-    </keyword-def>
-    <keyword-def name="small-caps">
-        <keyword-value>small-caps</keyword-value>
-    </keyword-def>
-    <keyword-def name="small-caption">
-        <keyword-value>small-caption</keyword-value>
-    </keyword-def>
-    <keyword-def name="smaller">
-        <keyword-value>smaller</keyword-value>
-    </keyword-def>
-    <keyword-def name="soft">
-        <keyword-value>soft</keyword-value>
-    </keyword-def>
-    <keyword-def name="solid">
-        <keyword-value>solid</keyword-value>
-    </keyword-def>
-    <keyword-def name="spell-out">
-        <keyword-value>spell-out</keyword-value>
-    </keyword-def>
-    <keyword-def name="square">
-        <keyword-value>square</keyword-value>
-    </keyword-def>
-    <keyword-def name="static">
-        <keyword-value>static</keyword-value>
-    </keyword-def>
-    <keyword-def name="status-bar">
-        <keyword-value>status-bar</keyword-value>
-    </keyword-def>
-    <keyword-def name="sub">
-        <keyword-value>sub</keyword-value>
-    </keyword-def>
-    <keyword-def name="super">
-        <keyword-value>super</keyword-value>
-    </keyword-def>
-    <keyword-def name="sw-resize">
-        <keyword-value>sw-resize</keyword-value>
-    </keyword-def>
-    <keyword-def name="table">
-        <keyword-value>table</keyword-value>
-    </keyword-def>
-    <keyword-def name="table-caption">
-        <keyword-value>table-caption</keyword-value>
-    </keyword-def>
-    <keyword-def name="table-cell">
-        <keyword-value>table-cell</keyword-value>
-    </keyword-def>
-    <keyword-def name="table-column">
-        <keyword-value>table-column</keyword-value>
-    </keyword-def>
-    <keyword-def name="table-column-group">
-        <keyword-value>table-column-group</keyword-value>
-    </keyword-def>
-    <keyword-def name="table-footer-group">
-        <keyword-value>table-footer-group</keyword-value>
-    </keyword-def>
-    <keyword-def name="table-header-group">
-        <keyword-value>table-header-group</keyword-value>
-    </keyword-def>
-    <keyword-def name="table-row">
-        <keyword-value>table-row</keyword-value>
-    </keyword-def>
-    <keyword-def name="table-row-group">
-        <keyword-value>table-row-group</keyword-value>
-    </keyword-def>
-    <keyword-def name="teal">
-        <keyword-value>teal</keyword-value>
-    </keyword-def>
-    <keyword-def name="text">
-        <keyword-value>text</keyword-value>
-    </keyword-def>
-    <keyword-def name="text-top">
-        <keyword-value>text-top</keyword-value>
-    </keyword-def>
-    <keyword-def name="text-bottom">
-        <keyword-value>text-bottom</keyword-value>
-    </keyword-def>
-    <keyword-def name="thick">
-        <keyword-value>thick</keyword-value>
-    </keyword-def>
-    <keyword-def name="thin">
-        <keyword-value>thin</keyword-value>
-    </keyword-def>
-    <keyword-def name="ThreeDDarkShadow">
-        <keyword-value>ThreeDDarkShadow</keyword-value>
-    </keyword-def>
-    <keyword-def name="ThreeDFace">
-        <keyword-value>ThreeDFace</keyword-value>
-    </keyword-def>
-    <keyword-def name="ThreeDHighlight">
-        <keyword-value>ThreeDHighlight</keyword-value>
-    </keyword-def>
-    <keyword-def name="ThreeDLightShadow">
-        <keyword-value>ThreeDLightShadow</keyword-value>
-    </keyword-def>
-    <keyword-def name="ThreeDShadow">
-        <keyword-value>ThreeDShadow</keyword-value>
-    </keyword-def>
-    <keyword-def name="top">
-        <keyword-value>top</keyword-value>
-    </keyword-def>
-    <keyword-def name="transparent">
-        <keyword-value>transparent</keyword-value>
-    </keyword-def>
-    <keyword-def name="ultra-condensed">
-        <keyword-value>ultra-condensed</keyword-value>
-    </keyword-def>
-    <keyword-def name="ultra-expanded">
-        <keyword-value>ultra-expanded</keyword-value>
-    </keyword-def>
-    <keyword-def name="underline">
-        <keyword-value>underline</keyword-value>
-    </keyword-def>
-    <keyword-def name="upper-alpha">
-        <keyword-value>upper-alpha</keyword-value>
-    </keyword-def>
-    <keyword-def name="upper-latin">
-        <keyword-value>upper-latin</keyword-value>
-    </keyword-def>
-    <keyword-def name="upper-roman">
-        <keyword-value>upper-roman</keyword-value>
-    </keyword-def>
-    <keyword-def name="uppercase">
-        <keyword-value>uppercase</keyword-value>
-    </keyword-def>
-    <keyword-def name="visible">
-        <keyword-value>visible</keyword-value>
-    </keyword-def>
-    <keyword-def name="w-resize">
-        <keyword-value>w-resize</keyword-value>
-    </keyword-def>
-    <keyword-def name="wait">
-        <keyword-value>wait</keyword-value>
-    </keyword-def>
-    <keyword-def name="white">
-        <keyword-value>white</keyword-value>
-    </keyword-def>
-    <keyword-def name="wider">
-        <keyword-value>wider</keyword-value>
-    </keyword-def>
-    <keyword-def name="Window">
-        <keyword-value>Window</keyword-value>
-    </keyword-def>
-    <keyword-def name="WindowFrame">
-        <keyword-value>WindowFrame</keyword-value>
-    </keyword-def>
-    <keyword-def name="WindowText">
-        <keyword-value>WindowText</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-fast">
-        <keyword-value>x-fast</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-high">
-        <keyword-value>x-high</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-large">
-        <keyword-value>x-large</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-loud">
-        <keyword-value>x-loud</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-low">
-        <keyword-value>x-low</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-slow">
-        <keyword-value>x-slow</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-small">
-        <keyword-value>x-small</keyword-value>
-    </keyword-def>
-    <keyword-def name="x-soft">
-        <keyword-value>x-soft</keyword-value>
-    </keyword-def>
-    <keyword-def name="xx-small">
-        <keyword-value>xx-small</keyword-value>
-    </keyword-def>
-    <keyword-def name="xx-large">
-        <keyword-value>xx-large</keyword-value>
-    </keyword-def>
-    <keyword-def name="yellow">
-        <keyword-value>yellow</keyword-value>
-    </keyword-def>
-</css-profile>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-mobile1_0.xml b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-mobile1_0.xml
deleted file mode 100644
index 73b6c12..0000000
--- a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-mobile1_0.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--<!DOCTYPE css-profile SYSTEM "css-profile.dtd" >-->
-<css-profile>
-	<profile-import name="cssprofile-css2.xml"/>
-	<stylesheet-def>
-		<description>%mobile1_0.stylesheet-def.description</description>
-		<charset-rule/>
-		<import-rule/>
-		<media-rule/>
-		<style-rule/>
-	</stylesheet-def>
-
-	<!-- Which properties can style rule include ? -->
-	<!-- using "overwrite" method: only disabled properties are written. -->
-
-	<style-rule-def overwrite="true">
-		<selector-expression name="child" enabled="false"/>
-		<selector-expression name="adjacent" enabled="false"/>
-		<selector-expression name="attribute" enabled="false"/>
-		<pseudo-class name="first-child" enabled="false"/>
-		<pseudo-class name="link" enabled="false"/>
-		<pseudo-class name="active" enabled="false"/>
-		<pseudo-class name="lang" enabled="false"/>
-		<property name="azimuth" enabled="false"/>
-		<property name="border-collapse" enabled="false"/>
-		<property name="border-spacing" enabled="false"/>
-		<property name="bottom" enabled="false"/>
-		<property name="caption-side" enabled="false"/>
-		<property name="clip" enabled="false"/>
-		<property name="content" enabled="false"/>
-		<property name="counter-increment" enabled="false"/>
-		<property name="counter-reset" enabled="false"/>
-		<property name="cue" enabled="false"/>
-		<property name="cue-after" enabled="false"/>
-		<property name="cue-before" enabled="false"/>
-		<property name="cursor" enabled="false"/>
-		<property name="direction" enabled="false"/>
-		<property name="elevation" enabled="false"/>
-		<property name="empty-cells" enabled="false"/>
-		<property name="font-size-adjust" enabled="false"/>
-		<property name="font-stretch" enabled="false"/>
-		<property name="left" enabled="false"/>
-		<property name="letter-spacing" enabled="false"/>
-		<property name="line-height" enabled="false"/>
-		<property name="marker-offset" enabled="false"/>
-		<property name="marks" enabled="false"/>
-		<property name="max-height" enabled="false"/>
-		<property name="max-width" enabled="false"/>
-		<property name="min-height" enabled="false"/>
-		<property name="min-width" enabled="false"/>
-		<property name="orphans" enabled="false"/>
-		<property name="outline" enabled="false"/>
-		<property name="outline-color" enabled="false"/>
-		<property name="outline-style" enabled="false"/>
-		<property name="outline-width" enabled="false"/>
-		<property name="overflow" enabled="false"/>
-		<property name="page" enabled="false"/>
-		<property name="page-break-after" enabled="false"/>
-		<property name="page-break-before" enabled="false"/>
-		<property name="page-break-inside" enabled="false"/>
-		<property name="pause" enabled="false"/>
-		<property name="pause-after" enabled="false"/>
-		<property name="pause-before" enabled="false"/>
-		<property name="pitch" enabled="false"/>
-		<property name="pitch-range" enabled="false"/>
-		<property name="play-during" enabled="false"/>
-		<property name="position" enabled="false"/>
-		<property name="quotes" enabled="false"/>
-		<property name="richness" enabled="false"/>
-		<property name="right" enabled="false"/>
-		<property name="size" enabled="false"/>
-		<property name="speak" enabled="false"/>
-		<property name="speak-header" enabled="false"/>
-		<property name="speak-numeral" enabled="false"/>
-		<property name="speak-punctuation" enabled="false"/>
-		<property name="speech-rate" enabled="false"/>
-		<property name="stress" enabled="false"/>
-		<property name="table-layout" enabled="false"/>
-		<property name="text-shadow" enabled="false"/>
-		<property name="top" enabled="false"/>
-		<property name="unicode-bidi" enabled="false"/>
-		<property name="voice-family" enabled="false"/>
-		<property name="volume" enabled="false"/>
-		<property name="widows" enabled="false"/>
-		<property name="word-spacing" enabled="false"/>
-		<property name="z-index" enabled="false"/>
-	</style-rule-def>
-
-	<!-- property definition -->
-	<!-- using "redifine" method: if "overwrite" attribute is set to
-	"false"	or not set, it means the node is cleanly redifined -->
-
-    <property-def name="background-attachment"
-		inherited="no" mediagroup="visual" category="colorandbackground">
-        <keyword name="scroll"/>
-        <keyword name="inherit"/>
-    </property-def>
-	<property-def name="display"
-		inherited="no" mediagroup="all" category="visual">
-		<keyword name="inline"/>
-		<keyword name="block"/>
-		<keyword name="list-item"/>
-		<keyword name="none"/>
-	</property-def>
-	<property-def name="list-style-type"
-		inherited="yes" mediagroup="visual" category="content">
-		<keyword name="disc"/>
-		<keyword name="circle"/>
-		<keyword name="square"/>
-		<keyword name="decimal"/>
-		<keyword name="lower-roman"/>
-		<keyword name="upper-roman"/>
-		<keyword name="lower-greek"/>
-		<keyword name="lower-alpha"/>
-		<keyword name="upper-alpha"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="text-align"
-		inherited="yes" mediagroup="visual" category="text">
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="center"/>
-		<keyword name="justify"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="text-decoration"
-		inherited="no" mediagroup="visual" category="text">
-		<keyword name="none"/>
-		<keyword name="underline"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="vertical-align"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="baseline"/>
-		<keyword name="sub"/>
-		<keyword name="super"/>
-		<keyword name="inherit"/>
-	</property-def>
-
-	<!-- container definition : Container is the lump of values.
-	It can be used like macros. -->
-	<container-def name="color" overwrite="true">
-		<container name="system-color" enabled="false"/>
-	</container-def>
-</css-profile>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-wap.xml b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-wap.xml
deleted file mode 100644
index d3b2a09..0000000
--- a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-wap.xml
+++ /dev/null
@@ -1,614 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--<!DOCTYPE css-profile SYSTEM "css-profile.dtd" >-->
-<css-profile>
-	<profile-import name="cssprofile-css2.xml"/>
-	<stylesheet-def>
-		<description>%wap.stylesheet-def.description</description>
-		<charset-rule/>
-		<import-rule/>
-		<media-rule/>
-		<style-rule/>
-	</stylesheet-def>
-
-	<!-- Which properties can style rule include ? -->
-	<!-- using "overwrite" method: only disabled properties are written. -->
-
-	<style-rule-def overwrite="true">
-		<property name="azimuth" enabled="false"/>
-		<property name="border-collapse" enabled="false"/>
-		<property name="border-spacing" enabled="false"/>
-		<property name="bottom" enabled="false"/>
-		<property name="caption-side" enabled="false"/>
-		<property name="clip" enabled="false"/>
-		<property name="content" enabled="false"/>
-		<property name="cue" enabled="false"/>
-		<property name="cue-after" enabled="false"/>
-		<property name="cue-before" enabled="false"/>
-		<property name="cursor" enabled="false"/>
-		<property name="direction" enabled="false"/>
-		<property name="elevation" enabled="false"/>
-		<property name="empty-cells" enabled="false"/>
-		<property name="font-size-adjust" enabled="false"/>
-		<property name="font-stretch" enabled="false"/>
-		<property name="left" enabled="false"/>
-		<property name="letter-spacing" enabled="false"/>
-		<property name="line-height" enabled="false"/>
-		<property name="marker-offset" enabled="false"/>
-		<property name="marks" enabled="false"/>
-		<property name="max-height" enabled="false"/>
-		<property name="max-width" enabled="false"/>
-		<property name="min-height" enabled="false"/>
-		<property name="min-width" enabled="false"/>
-		<property name="orphans" enabled="false"/>
-		<property name="outline" enabled="false"/>
-		<property name="outline-color" enabled="false"/>
-		<property name="outline-style" enabled="false"/>
-		<property name="outline-width" enabled="false"/>
-		<property name="overflow" enabled="false"/>
-		<property name="page" enabled="false"/>
-		<property name="page-break-after" enabled="false"/>
-		<property name="page-break-before" enabled="false"/>
-		<property name="page-break-inside" enabled="false"/>
-		<property name="pause" enabled="false"/>
-		<property name="pause-after" enabled="false"/>
-		<property name="pause-before" enabled="false"/>
-		<property name="pitch" enabled="false"/>
-		<property name="pitch-range" enabled="false"/>
-		<property name="play-during" enabled="false"/>
-		<property name="position" enabled="false"/>
-		<property name="quotes" enabled="false"/>
-		<property name="richness" enabled="false"/>
-		<property name="right" enabled="false"/>
-		<property name="size" enabled="false"/>
-		<property name="speak" enabled="false"/>
-		<property name="speak-header" enabled="false"/>
-		<property name="speak-numeral" enabled="false"/>
-		<property name="speak-punctuation" enabled="false"/>
-		<property name="speech-rate" enabled="false"/>
-		<property name="stress" enabled="false"/>
-		<property name="table-layout" enabled="false"/>
-		<property name="text-shadow" enabled="false"/>
-		<property name="top" enabled="false"/>
-		<property name="unicode-bidi" enabled="false"/>
-		<property name="voice-family" enabled="false"/>
-		<property name="volume" enabled="false"/>
-		<property name="widows" enabled="false"/>
-		<property name="word-spacing" enabled="false"/>
-		<property name="z-index" enabled="false"/>
-		<property name="-wap-marquee-style"/>
-		<property name="-wap-marquee-loop"/>
-		<property name="-wap-marquee-dir"/>
-		<property name="-wap-marquee-speed"/>
-		<property name="-wap-accesskey"/>
-		<property name="-wap-input-format"/>
-		<property name="-wap-input-required"/>
-	</style-rule-def>
-
-	<!-- property definition -->
-	<!-- using "redifine" method: if "overwrite" attribute is set to
-	"false"	or not set, it means the node is cleanly redifined -->
-
-	<property-def name="display"
-		inherited="no" mediagroup="all" category="visual">
-		<keyword name="inline"/>
-		<keyword name="block"/>
-		<keyword name="list-item"/>
-		<keyword name="-wap-marquee"/>
-		<keyword name="none"/>
-	</property-def>
-	<property-def name="list-style-type"
-		inherited="yes" mediagroup="visual" category="content">
-		<keyword name="disc"/>
-		<keyword name="circle"/>
-		<keyword name="square"/>
-		<keyword name="decimal"/>
-		<keyword name="lower-roman"/>
-		<keyword name="upper-roman"/>
-		<keyword name="lower-alpha"/>
-		<keyword name="upper-alpha"/>
-		<keyword name="none"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="text-align"
-		inherited="yes" mediagroup="visual" category="text">
-		<keyword name="left"/>
-		<keyword name="right"/>
-		<keyword name="center"/>
-		<keyword name="justify"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="text-decoration"
-		inherited="no" mediagroup="visual" category="text">
-		<keyword name="none"/>
-		<keyword name="underline"/>
-		<keyword name="blink"/>
-		<keyword name="inherit"/>
-	</property-def>
-	<property-def name="vertical-align"
-		inherited="no" mediagroup="visual" category="visual">
-		<keyword name="baseline"/>
-		<keyword name="sub"/>
-		<keyword name="super"/>
-		<keyword name="top"/>
-		<keyword name="middle"/>
-		<keyword name="bottom"/>
-		<keyword name="inherit"/>
-	</property-def>
-    <property-def name="-wap-marquee-style"
-		inherited="no" mediagroup="visual" category="wap">
-		<keyword name="scroll"/>
-		<keyword name="slide"/>
-		<keyword name="alternate"/>
-		<keyword name="inherit"/>
-	</property-def>
-    <property-def name="-wap-marquee-loop"
-		inherited="no" mediagroup="visual" category="wap">
-		<number name="integer"/>
-		<keyword name="infinite"/>
-		<keyword name="inherit"/>
-	</property-def>
-    <property-def name="-wap-marquee-dir"
-		inherited="no" mediagroup="visual" category="wap">
-		<keyword name="ltr"/>
-		<keyword name="rtl"/>
-		<keyword name="inherit"/>
-	</property-def>
-    <property-def name="-wap-marquee-speed"
-		inherited="no" mediagroup="visual" category="wap">
-		<keyword name="slow"/>
-		<keyword name="normal"/>
-		<keyword name="fast"/>
-		<keyword name="inherit"/>
-	</property-def>
-    <property-def name="-wap-accesskey"
-		inherited="no" mediagroup="interactive" category="wap">
-		<container name="keycombination"/>
-		<keyword name="inherit"/>
-	</property-def>
-    <property-def name="-wap-input-format"
-		inherited="no" mediagroup="interactive" category="wap">
-		<container name="format"/>
-		<keyword name="inherit"/>
-	</property-def>
-    <property-def name="-wap-input-required"
-		inherited="no" mediagroup="interactive" category="wap">
-		<keyword name="true"/>
-		<keyword name="false"/>
-		<keyword name="inherit"/>
-	</property-def>
-
-	<!-- container definition : Container is the lump of values.
-	It can be used like macros. -->
-	<container-def name="color" overwrite="true">
-		<container name="system-color" enabled="false"/>
-	</container-def>
-	<container-def name="format">
-		<string name="any"/>
-	</container-def>
-	<container-def name="keycombination">
-		<container name="key"/>
-		<keyword name="-"/>
-	</container-def>
-	<container-def name="key">
-		<keyword name="space"/>
-		<container name="specialkey"/>
-	</container-def>
-	<container-def name="specialkey">
-		<container name="modifierkey"/>
-		<container name="functionkey"/>
-		<container name="navigationkey"/>
-		<container name="editkey"/>
-		<container name="misckey"/>
-		<container name="volumecontrolkey"/>
-		<container name="applicationkey"/>
-		<container name="phonekey"/>
-		<container name="vendorkey"/>
-	</container-def>
-	<container-def name="modifierkey">
-		<keyword name="accesskey"/>
-		<container name="cmdkey"/>
-		<container name="optkey"/>
-		<container name="ctrlkey"/>
-		<container name="shiftkey"/>
-		<container name="altkey"/>
-		<container name="winkey"/>
-		<container name="metakey"/>
-		<keyword name="fn"/>
-		<keyword name="fcn"/>
-		<keyword name="caps"/>
-	</container-def>
-	<container-def name="cmdkey">
-		<keyword name="cmd"/>
-		<keyword name="rcmd"/>
-		<keyword name="lcmd"/>
-	</container-def>
-	<container-def name="optkey">
-		<keyword name="opt"/>
-		<keyword name="ropt"/>
-		<keyword name="lopt"/>
-	</container-def>
-	<container-def name="ctrlkey">
-		<keyword name="ctrl"/>
-		<keyword name="rctrl"/>
-		<keyword name="lctrl"/>
-	</container-def>
-	<container-def name="shiftkey">
-		<keyword name="shift"/>
-		<keyword name="rshift"/>
-		<keyword name="lshift"/>
-	</container-def>
-	<container-def name="altkey">
-		<keyword name="alt"/>
-		<keyword name="ralt"/>
-		<keyword name="lalt"/>
-	</container-def>
-	<container-def name="winkey">
-		<keyword name="win"/>
-		<keyword name="rwin"/>
-		<keyword name="lwin"/>
-	</container-def>
-	<container-def name="metakey">
-		<keyword name="meta"/>
-		<keyword name="rmeta"/>
-		<keyword name="lmeta"/>
-	</container-def>
-	<container-def name="functionkey">
-		<keyword name="f1"/>
-		<keyword name="f2"/>
-		<keyword name="f3"/>
-		<keyword name="f4"/>
-		<keyword name="f5"/>
-		<keyword name="f6"/>
-		<keyword name="f7"/>
-		<keyword name="f8"/>
-		<keyword name="f9"/>
-		<keyword name="f10"/>
-		<keyword name="f11"/>
-		<keyword name="f12"/>
-		<keyword name="f13"/>
-		<keyword name="f14"/>
-		<keyword name="f15"/>
-	</container-def>
-	<container-def name="navigationkey">
-		<keyword name="tab"/>
-		<keyword name="esc"/>
-		<keyword name="enter"/>
-		<keyword name="return"/>
-		<keyword name="menu"/>
-		<keyword name="help"/>
-		<keyword name="namemenu"/>
-		<keyword name="rcl"/>
-		<keyword name="snd"/>
-		<keyword name="arrowkey"/>
-		<keyword name="pagekey"/>
-	</container-def>
-	<container-def name="arrowkey">
-		<keyword name="up"/>
-		<keyword name="down"/>
-		<keyword name="left"/>
-		<keyword name="right"/>
-	</container-def>
-	<container-def name="pagekey">
-		<keyword name="home"/>
-		<keyword name="end"/>
-		<keyword name="pgup"/>
-		<keyword name="pgdn"/>
-	</container-def>
-	<container-def name="editkey">
-		<keyword name="bs"/>
-		<keyword name="del"/>
-		<keyword name="ins"/>
-		<keyword name="undo"/>
-		<keyword name="cut"/>
-		<keyword name="copy"/>
-		<keyword name="paste"/>
-		<keyword name="clr"/>
-		<keyword name="sto"/>
-	</container-def>
-	<container-def name="misckey">
-		<keyword name="prtsc"/>
-		<keyword name="sysrq"/>
-		<keyword name="scrlock"/>
-		<keyword name="pause"/>
-		<keyword name="brk"/>
-		<keyword name="numlock"/>
-		<keyword name="pwr"/>
-	</container-def>
-	<container-def name="volumecontrolkey">
-		<keyword name="volumeup"/>
-		<keyword name="volumedown"/>
-	</container-def>
-	<container-def name="applicationkey">
-		<keyword name="memo"/>
-		<keyword name="todo"/>
-		<keyword name="calendar"/>
-		<keyword name="mail"/>
-		<keyword name="address"/>
-	</container-def>
-	<container-def name="phonekey">
-		<keyword name="phone-send"/>
-		<keyword name="phone-end"/>
-		<keyword name="phone-accept"/>
-	</container-def>
-	<container-def name="vendorkey">
-		<keyword name="vnd."/>
-	</container-def>
-
-	<category-def name="wap">
-		<caption>%wap.category-def.wap.caption</caption>
-	</category-def>
-
-	<number-def name="length">
-        <unit name="em"/>
-        <unit name="ex"/>
-        <unit name="px"/>
-	</number-def>
-
-    <keyword-def name="-wap-marquee">
-        <keyword-value>-wap-marquee</keyword-value>
-    </keyword-def>
-	<keyword-def name="slide">
-		<keyword-value>slide</keyword-value>
-	</keyword-def>
-	<keyword-def name="alternate">
-		<keyword-value>alternate</keyword-value>
-	</keyword-def>
-	<keyword-def name="infinite">
-		<keyword-value>infinite</keyword-value>
-	</keyword-def>
-	<keyword-def name="-">
-		<keyword-value>-</keyword-value>
-	</keyword-def>
-	<keyword-def name="space">
-		<keyword-value>space</keyword-value>
-	</keyword-def>
-	<keyword-def name="accesskey">
-		<keyword-value>accesskey</keyword-value>
-	</keyword-def>
-	<keyword-def name="fn">
-		<keyword-value>fn</keyword-value>
-	</keyword-def>
-	<keyword-def name="fcn">
-		<keyword-value>fcn</keyword-value>
-	</keyword-def>
-	<keyword-def name="caps">
-		<keyword-value>caps</keyword-value>
-	</keyword-def>
-	<keyword-def name="cmd">
-		<keyword-value>cmd</keyword-value>
-	</keyword-def>
-	<keyword-def name="rcmd">
-		<keyword-value>rcmd</keyword-value>
-	</keyword-def>
-	<keyword-def name="lcmd">
-		<keyword-value>lcmd</keyword-value>
-	</keyword-def>
-	<keyword-def name="opt">
-		<keyword-value>opt</keyword-value>
-	</keyword-def>
-	<keyword-def name="ropt">
-		<keyword-value>ropt</keyword-value>
-	</keyword-def>
-	<keyword-def name="lopt">
-		<keyword-value>lopt</keyword-value>
-	</keyword-def>
-	<keyword-def name="ctrl">
-		<keyword-value>ctrl</keyword-value>
-	</keyword-def>
-	<keyword-def name="rctrl">
-		<keyword-value>rctrl</keyword-value>
-	</keyword-def>
-	<keyword-def name="lctrl">
-		<keyword-value>lctrl</keyword-value>
-	</keyword-def>
-	<keyword-def name="shift">
-		<keyword-value>shift</keyword-value>
-	</keyword-def>
-	<keyword-def name="rshift">
-		<keyword-value>rshift</keyword-value>
-	</keyword-def>
-	<keyword-def name="lshift">
-		<keyword-value>lshift</keyword-value>
-	</keyword-def>
-	<keyword-def name="alt">
-		<keyword-value>alt</keyword-value>
-	</keyword-def>
-	<keyword-def name="ralt">
-		<keyword-value>ralt</keyword-value>
-	</keyword-def>
-	<keyword-def name="lalt">
-		<keyword-value>lalt</keyword-value>
-	</keyword-def>
-	<keyword-def name="win">
-		<keyword-value>win</keyword-value>
-	</keyword-def>
-	<keyword-def name="rwin">
-		<keyword-value>rwin</keyword-value>
-	</keyword-def>
-	<keyword-def name="lwin">
-		<keyword-value>lwin</keyword-value>
-	</keyword-def>
-	<keyword-def name="meta">
-		<keyword-value>meta</keyword-value>
-	</keyword-def>
-	<keyword-def name="rmeta">
-		<keyword-value>rmeta</keyword-value>
-	</keyword-def>
-	<keyword-def name="lmeta">
-		<keyword-value>lmeta</keyword-value>
-	</keyword-def>
-	<keyword-def name="f1">
-		<keyword-value>f1</keyword-value>
-	</keyword-def>
-	<keyword-def name="f2">
-		<keyword-value>f2</keyword-value>
-	</keyword-def>
-	<keyword-def name="f3">
-		<keyword-value>f3</keyword-value>
-	</keyword-def>
-	<keyword-def name="f4">
-		<keyword-value>f4</keyword-value>
-	</keyword-def>
-	<keyword-def name="f5">
-		<keyword-value>f5</keyword-value>
-	</keyword-def>
-	<keyword-def name="f6">
-		<keyword-value>f6</keyword-value>
-	</keyword-def>
-	<keyword-def name="f7">
-		<keyword-value>f7</keyword-value>
-	</keyword-def>
-	<keyword-def name="f8">
-		<keyword-value>f8</keyword-value>
-	</keyword-def>
-	<keyword-def name="f9">
-		<keyword-value>f9</keyword-value>
-	</keyword-def>
-	<keyword-def name="f10">
-		<keyword-value>f10</keyword-value>
-	</keyword-def>
-	<keyword-def name="f11">
-		<keyword-value>f11</keyword-value>
-	</keyword-def>
-	<keyword-def name="f12">
-		<keyword-value>f12</keyword-value>
-	</keyword-def>
-	<keyword-def name="f13">
-		<keyword-value>f13</keyword-value>
-	</keyword-def>
-	<keyword-def name="f14">
-		<keyword-value>f14</keyword-value>
-	</keyword-def>
-	<keyword-def name="f15">
-		<keyword-value>f15</keyword-value>
-	</keyword-def>
-	<keyword-def name="tab">
-		<keyword-value>tab</keyword-value>
-	</keyword-def>
-	<keyword-def name="esc">
-		<keyword-value>esc</keyword-value>
-	</keyword-def>
-	<keyword-def name="enter">
-		<keyword-value>enter</keyword-value>
-	</keyword-def>
-	<keyword-def name="return">
-		<keyword-value>return</keyword-value>
-	</keyword-def>
-	<keyword-def name="namemenu">
-		<keyword-value>namemenu</keyword-value>
-	</keyword-def>
-	<keyword-def name="rcl">
-		<keyword-value>rcl</keyword-value>
-	</keyword-def>
-	<keyword-def name="snd">
-		<keyword-value>snd</keyword-value>
-	</keyword-def>
-	<keyword-def name="arrowkey">
-		<keyword-value>arrowkey</keyword-value>
-	</keyword-def>
-	<keyword-def name="pagekey">
-		<keyword-value>pagekey</keyword-value>
-	</keyword-def>
-	<keyword-def name="up">
-		<keyword-value>up</keyword-value>
-	</keyword-def>
-	<keyword-def name="down">
-		<keyword-value>down</keyword-value>
-	</keyword-def>
-	<keyword-def name="home">
-		<keyword-value>home</keyword-value>
-	</keyword-def>
-	<keyword-def name="end">
-		<keyword-value>end</keyword-value>
-	</keyword-def>
-	<keyword-def name="pgup">
-		<keyword-value>pgup</keyword-value>
-	</keyword-def>
-	<keyword-def name="pgdn">
-		<keyword-value>pgdn</keyword-value>
-	</keyword-def>
-	<keyword-def name="bs">
-		<keyword-value>bs</keyword-value>
-	</keyword-def>
-	<keyword-def name="del">
-		<keyword-value>del</keyword-value>
-	</keyword-def>
-	<keyword-def name="ins">
-		<keyword-value>ins</keyword-value>
-	</keyword-def>
-	<keyword-def name="undo">
-		<keyword-value>undo</keyword-value>
-	</keyword-def>
-	<keyword-def name="cut">
-		<keyword-value>cut</keyword-value>
-	</keyword-def>
-	<keyword-def name="copy">
-		<keyword-value>copy</keyword-value>
-	</keyword-def>
-	<keyword-def name="paste">
-		<keyword-value>paste</keyword-value>
-	</keyword-def>
-	<keyword-def name="clr">
-		<keyword-value>clr</keyword-value>
-	</keyword-def>
-	<keyword-def name="sto">
-		<keyword-value>sto</keyword-value>
-	</keyword-def>
-	<keyword-def name="prtsc">
-		<keyword-value>prtsc</keyword-value>
-	</keyword-def>
-	<keyword-def name="sysrq">
-		<keyword-value>sysrq</keyword-value>
-	</keyword-def>
-	<keyword-def name="scrlock">
-		<keyword-value>scrlock</keyword-value>
-	</keyword-def>
-	<keyword-def name="brk">
-		<keyword-value>brk</keyword-value>
-	</keyword-def>
-	<keyword-def name="numlock">
-		<keyword-value>numlock</keyword-value>
-	</keyword-def>
-	<keyword-def name="pwr">
-		<keyword-value>pwr</keyword-value>
-	</keyword-def>
-	<keyword-def name="volumeup">
-		<keyword-value>volumeup</keyword-value>
-	</keyword-def>
-	<keyword-def name="volumedown">
-		<keyword-value>volumedown</keyword-value>
-	</keyword-def>
-	<keyword-def name="memo">
-		<keyword-value>memo</keyword-value>
-	</keyword-def>
-	<keyword-def name="todo">
-		<keyword-value>todo</keyword-value>
-	</keyword-def>
-	<keyword-def name="calendar">
-		<keyword-value>calendar</keyword-value>
-	</keyword-def>
-	<keyword-def name="mail">
-		<keyword-value>mail</keyword-value>
-	</keyword-def>
-	<keyword-def name="address">
-		<keyword-value>address</keyword-value>
-	</keyword-def>
-	<keyword-def name="phone-send">
-		<keyword-value>phone-send</keyword-value>
-	</keyword-def>
-	<keyword-def name="phone-end">
-		<keyword-value>phone-end</keyword-value>
-	</keyword-def>
-	<keyword-def name="phone-accept">
-		<keyword-value>phone-accept</keyword-value>
-	</keyword-def>
-	<keyword-def name="vnd.">
-		<keyword-value>vnd.</keyword-value>
-	</keyword-def>
-	<keyword-def name="true">
-		<keyword-value>true</keyword-value>
-	</keyword-def>
-	<keyword-def name="false">
-		<keyword-value>false</keyword-value>
-	</keyword-def>
-</css-profile>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties
deleted file mode 100644
index dd7e399..0000000
--- a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-# cssprofile-css1.xml
-css1.stylesheet-def.description=Cascading Style Sheets, level 1
-css1.category-def.box.caption=Box model
-css1.category-def.colorandbackground.caption=Colors and Backgrounds
-css1.category-def.classification.caption=Classification
-css1.category-def.font.caption=Font
-css1.category-def.text.caption=Text
-# cssprofile-css2.xml
-css2.stylesheet-def.description=Cascading Style Sheets, level 2
-css2.category-def.aural.caption=Aural
-css2.category-def.box.caption=Box model
-css2.category-def.colorandbackground.caption=Colors and Backgrounds
-css2.category-def.content.caption=Generated content/List
-css2.category-def.font.caption=Fonts
-css2.category-def.page.caption=Paged media
-css2.category-def.tables.caption=Tables
-css2.category-def.text.caption=Text
-css2.category-def.visual.caption=Visual
-css2.category-def.ui.caption=User interface
-# cssprofile-mobile1_0.xml
-mobile1_0.stylesheet-def.description=CSS Mobile Profile 1.0
-# cssprofile-wap.xml
-wap.stylesheet-def.description=WCSS 1.0
-wap.category-def.wap.caption=WCSS Extensions
diff --git a/bundles/org.eclipse.wst.css.core/plugin.properties b/bundles/org.eclipse.wst.css.core/plugin.properties
deleted file mode 100644
index 941ff80..0000000
--- a/bundles/org.eclipse.wst.css.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-providerName=Eclipse.org
-pluginName=Structured Source CSS Model
-nlFeatureName=Structured Source CSS Model NL Support
-cssprofile_css2.name=CSS2: Cascading Style Sheets, level 2
-cssprofile_css1.name=CSS1: Cascading Style Sheets, level 1
-cssprofile_mobile1_0.name=CSS Mobile Profile 1.0
-cssprofile_wap.name=WCSS 1.0
-Structured_CSS_Document_Factory_Extension.name=Structured CSS Document Factory Extension
-CSS_Content_Type_Extension_Element.name=CSS Content Type
diff --git a/bundles/org.eclipse.wst.css.core/plugin.xml b/bundles/org.eclipse.wst.css.core/plugin.xml
deleted file mode 100644
index 13d9f46..0000000
--- a/bundles/org.eclipse.wst.css.core/plugin.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.css.core"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.wst.css.core.internal.CSSCorePlugin">
-
-   <runtime>
-      <library name="cssmodel.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.wst.common.encoding"/>
-      <import plugin="org.eclipse.wst.sse.ui"/>
-      <import plugin="org.eclipse.wst.xml.core"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.wst.sse.core.cssprofile">
-      <profile
-            name="%cssprofile_css2.name"
-            default="true"
-            uri="cssprofile/cssprofile-css2.xml"
-            id="org.eclipse.wst.css.core.cssprofile.css2">
-      </profile>
-      <profile
-            name="%cssprofile_css1.name"
-            uri="cssprofile/cssprofile-css1.xml"
-            id="org.eclipse.wst.css.core.cssprofile.css1">
-      </profile>
-      <profile
-            name="%cssprofile_mobile1_0.name"
-            uri="cssprofile/cssprofile-mobile1_0.xml"
-            id="org.eclipse.wst.css.core.cssprofile.mobile1_0">
-      </profile>
-      <profile
-            name="%cssprofile_wap.name"
-            uri="cssprofile/cssprofile-wap.xml"
-            id="org.eclipse.wst.css.core.cssprofile.wap">
-      </profile>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.core.modelHandler">
-      <modelHandler
-            class="org.eclipse.wst.css.core.modelhandler.ModelHandlerForCSS"
-            associatedContentTypeId="org.eclipse.wst.css.core.csssource"
-            id="org.eclipse.wst.css.core.modelhandler">
-      </modelHandler>
-   </extension>
-   <extension
-         id="org.eclipse.wst.css.core.builderdelegate.todo"
-         point="org.eclipse.wst.sse.core.builderdelegate">
-      <participant
-            class="org.eclipse.wst.css.core.internal.tasks.CSSTaskTagSeeker"
-            contentType="org.eclipse.wst.css.core.csssource">
-      </participant>
-   </extension>
-   <extension point="org.eclipse.core.filebuffers.documentCreation"
-         id="org.eclipse.wst.css.core.documentfactories"
-         name="%Structured_CSS_Document_Factory_Extension.name">
-      <factory
-            contentTypeId="org.eclipse.wst.css.core.csssource"
-            class="org.eclipse.wst.sse.core.filebuffers.BasicStructuredDocumentFactory"/>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            type="text"
-            extension="css">
-      </fileTypes>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.core.formatProcessors">
-      <processor
-            class="org.eclipse.wst.css.core.format.FormatProcessorCSS"
-            contentTypeId="org.eclipse.wst.css.core.csssource">
-      </processor>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.contentTypes">
-         <content-type
-               file-extensions="css"
-               priority="high"
-               name="%CSS_Content_Type_Extension_Element.name"
-               id="csssource"
-               base-type="org.eclipse.core.runtime.text">
-			<describer class="org.eclipse.wst.css.core.internal.content.ContentDescriberForCSS"/>
-		</content-type>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/CSSCorePlugin.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/CSSCorePlugin.java
deleted file mode 100644
index 5896c16..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/CSSCorePlugin.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core;
-
-/**
- * @deprecated use internal CSSCorePlugin class instead if possible
- */
-public class CSSCorePlugin extends
-		org.eclipse.wst.css.core.internal.CSSCorePlugin {
-	// see org.eclipse.wst.css.core.internal.CSSCorePlugin
-}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/ICSSModelAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/ICSSModelAdapter.java
deleted file mode 100644
index c909517..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/ICSSModelAdapter.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.adapters;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.sse.core.INodeAdapter;
-
-
-/**
- */
-public interface ICSSModelAdapter extends INodeAdapter {
-
-	ICSSModel getModel();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IModelProvideAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IModelProvideAdapter.java
deleted file mode 100644
index b40be5e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IModelProvideAdapter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.adapters;
-
-
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-/**
- * 
- */
-public interface IModelProvideAdapter extends INodeAdapter {
-
-	/**
-	 * 
-	 */
-	void modelProvided(IStructuredModel newModel);
-
-	/**
-	 */
-	void modelReleased(IStructuredModel newModel);
-
-	/**
-	 */
-	void modelRemoved(IStructuredModel newModel);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleDeclarationAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleDeclarationAdapter.java
deleted file mode 100644
index 967d8d8..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleDeclarationAdapter.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.adapters;
-
-
-
-import org.w3c.dom.css.CSSStyleDeclaration;
-
-
-/**
- */
-public interface IStyleDeclarationAdapter extends ICSSModelAdapter {
-
-	/**
-	 */
-	public CSSStyleDeclaration getStyle();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleSelectorAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleSelectorAdapter.java
deleted file mode 100644
index b163d27..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleSelectorAdapter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.adapters;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSSimpleSelector;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.w3c.dom.Element;
-
-
-/**
- * 
- */
-public interface IStyleSelectorAdapter extends INodeAdapter {
-
-	/**
-	 * @return boolean
-	 * @param element
-	 *            org.w3c.dom.Element
-	 * @param pseudoName
-	 *            java.lang.String
-	 */
-	boolean match(ICSSSimpleSelector selector, Element element, String pseudoName);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleSheetAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleSheetAdapter.java
deleted file mode 100644
index 33e09d2..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleSheetAdapter.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.adapters;
-
-
-
-import org.w3c.dom.Element;
-import org.w3c.dom.stylesheets.StyleSheet;
-
-/**
- */
-public interface IStyleSheetAdapter extends ICSSModelAdapter {
-
-	/**
-	 * Returns HTML/XML element that is the owner of this adapter
-	 */
-	Element getElement();
-
-	/**
-	 * Returns CSS document that is related to this element
-	 */
-	public StyleSheet getSheet();
-
-	/**
-	 * This is called at the time of releasing HTML/XML model
-	 */
-	public void released();
-
-	/**
-	 * This is called at the time of removing this Element from the document
-	 */
-	public void removed();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleSheetListAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleSheetListAdapter.java
deleted file mode 100644
index 418db30..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/adapters/IStyleSheetListAdapter.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.adapters;
-
-
-
-import java.util.Enumeration;
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSStyleDeclaration;
-import org.w3c.dom.stylesheets.StyleSheetList;
-
-/**
- */
-public interface IStyleSheetListAdapter extends INodeAdapter {
-
-	/**
-	 */
-	Enumeration getClasses();
-
-	/**
-	 */
-	public CSSStyleDeclaration getOverrideStyle(Element element, String pseudoName);
-
-	/**
-	 */
-	public StyleSheetList getStyleSheets();
-
-	/**
-	 */
-	public void releaseStyleSheets();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/cleanup/CSSCleanupStrategy.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/cleanup/CSSCleanupStrategy.java
deleted file mode 100644
index ccbb10c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/cleanup/CSSCleanupStrategy.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.cleanup;
-
-
-
-public interface CSSCleanupStrategy {
-
-	static final short ASIS = 0;
-	static final short LOWER = 1;
-	static final short UPPER = 2;
-
-	/**
-	 * 
-	 * @return short
-	 */
-	short getIdentCase();
-
-	/**
-	 * 
-	 * @return short
-	 */
-	short getPropNameCase();
-
-	/**
-	 * 
-	 * @return short
-	 */
-	short getPropValueCase();
-
-	/**
-	 * 
-	 * @return short
-	 */
-	short getSelectorTagCase();
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	boolean isFormatSource();
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	boolean isQuoteValues();
-
-	/**
-	 * 
-	 * @param formatSource
-	 *            boolean
-	 */
-	void setFormatSource(boolean formatSource);
-
-	/**
-	 * 
-	 * @param identCase
-	 *            short
-	 */
-	void setIdentCase(short identCase);
-
-	/**
-	 * 
-	 * @param propNameCase
-	 *            short
-	 */
-	void setPropNameCase(short propNameCase);
-
-	/**
-	 * 
-	 * @param propValueCase
-	 *            short
-	 */
-	void setPropValueCase(short propValueCase);
-
-	/**
-	 * 
-	 * @param quoteValues
-	 *            boolean
-	 */
-	void setQuoteValues(boolean quoteValues);
-
-	/**
-	 * 
-	 * @param selectorTagCase
-	 *            short
-	 */
-	void setSelectorTagCase(short selectorTagCase);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/cleanup/CSSCleanupStrategyImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/cleanup/CSSCleanupStrategyImpl.java
deleted file mode 100644
index 5907b39..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/cleanup/CSSCleanupStrategyImpl.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.cleanup;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.css.core.internal.CSSCorePlugin;
-import org.eclipse.wst.css.core.preferences.CSSModelPreferenceNames;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-
-
-
-public class CSSCleanupStrategyImpl implements CSSCleanupStrategy {
-
-	static private CSSCleanupStrategy instance = null;
-	// initialize with defaults
-	protected short fIdentCase = ASIS;
-	protected short fPropNameCase = ASIS;
-	protected short fPropValueCase = ASIS;
-	protected short fSelectorTagCase = UPPER;
-	protected boolean fQuoteValues = true;
-	protected boolean fFormatSource = true;
-
-	/**
-	 * CSSCleanupStrategyImpl constructor comment.
-	 */
-	protected CSSCleanupStrategyImpl() {
-		super();
-		initialize();
-	}
-
-	/**
-	 * 
-	 * @return short
-	 */
-	public short getIdentCase() {
-		return fIdentCase;
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy
-	 */
-	public synchronized static CSSCleanupStrategy getInstance() {
-		if (instance == null)
-			instance = new CSSCleanupStrategyImpl();
-		return instance;
-	}
-
-	/**
-	 * 
-	 * @return short
-	 */
-	public short getPropNameCase() {
-		return fPropNameCase;
-	}
-
-	/**
-	 * 
-	 * @return short
-	 */
-	public short getPropValueCase() {
-		return fPropValueCase;
-	}
-
-	/**
-	 * 
-	 * @return short
-	 */
-	public short getSelectorTagCase() {
-		return fSelectorTagCase;
-	}
-
-	/**
-	 * 
-	 */
-	private void initialize() {
-		Preferences prefs = CSSCorePlugin.getDefault().getPluginPreferences();
-		fIdentCase = getCleanupCaseValue(prefs.getInt(CSSModelPreferenceNames.CLEANUP_CASE_IDENTIFIER));
-		fPropNameCase = getCleanupCaseValue(prefs.getInt(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_NAME));
-		fPropValueCase = getCleanupCaseValue(prefs.getInt(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_VALUE));
-		fSelectorTagCase = getCleanupCaseValue(prefs.getInt(CSSModelPreferenceNames.CLEANUP_CASE_SELECTOR));
-		fQuoteValues = prefs.getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES);
-		fFormatSource = prefs.getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE);
-	}
-
-	/**
-	 * Return the CSSCleanupStrategy equivalent case short value when given an
-	 * int
-	 * 
-	 * @param value
-	 * @return equivalent case short or ASIS if cannot be determined
-	 */
-	private short getCleanupCaseValue(int value) {
-		switch (value) {
-			case CommonModelPreferenceNames.LOWER :
-				return LOWER;
-			case CommonModelPreferenceNames.UPPER :
-				return UPPER;
-		}
-		return ASIS;
-	}
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	public boolean isFormatSource() {
-		return fFormatSource;
-	}
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	public boolean isQuoteValues() {
-		return fQuoteValues;
-	}
-
-	/**
-	 * 
-	 * @param formatSource
-	 *            boolean
-	 */
-	public void setFormatSource(boolean formatSource) {
-		fFormatSource = formatSource;
-	}
-
-	/**
-	 * 
-	 * @param identCase
-	 *            short
-	 */
-	public void setIdentCase(short identCase) {
-		fIdentCase = identCase;
-	}
-
-	/**
-	 * 
-	 * @param propNameCase
-	 *            short
-	 */
-	public void setPropNameCase(short propNameCase) {
-		fPropNameCase = propNameCase;
-	}
-
-	/**
-	 * 
-	 * @param propValueCase
-	 *            short
-	 */
-	public void setPropValueCase(short propValueCase) {
-		fPropValueCase = propValueCase;
-	}
-
-	/**
-	 * 
-	 * @param quoteValues
-	 *            boolean
-	 */
-	public void setQuoteValues(boolean quoteValues) {
-		fQuoteValues = quoteValues;
-	}
-
-	/**
-	 * 
-	 * @param selectorTagCase
-	 *            short
-	 */
-	public void setSelectorTagCase(short selectorTagCase) {
-		fSelectorTagCase = selectorTagCase;
-	}
-
-	// TODO: a saveOptions should be added to CSSCleanupStrategy interface
-	public void saveOptions() {
-		CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSModelPreferenceNames.CLEANUP_CASE_IDENTIFIER, fIdentCase);
-		CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_NAME, fPropNameCase);
-		CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_VALUE, fPropValueCase);
-		CSSCorePlugin.getDefault().getPluginPreferences().setValue(CSSModelPreferenceNames.CLEANUP_CASE_SELECTOR, fSelectorTagCase);
-		CSSCorePlugin.getDefault().getPluginPreferences().setValue(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, fQuoteValues);
-		CSSCorePlugin.getDefault().getPluginPreferences().setValue(CommonModelPreferenceNames.FORMAT_SOURCE, fFormatSource);
-		CSSCorePlugin.getDefault().savePluginPreferences();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/cleanup/CleanupProcessorCSS.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/cleanup/CleanupProcessorCSS.java
deleted file mode 100644
index 9a5deac..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/cleanup/CleanupProcessorCSS.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.cleanup;
-
-import java.io.IOException;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.formatter.CSSFormatUtil;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceFormatter;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceFormatterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.cleanup.AbstractStructuredCleanupProcessor;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupHandler;
-import org.eclipse.wst.sse.core.contenttype.ContentTypeIdForCSS;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.Node;
-
-
-public class CleanupProcessorCSS extends AbstractStructuredCleanupProcessor {
-
-	public void cleanupModel(IStructuredModel structuredModel, int start, int length) {
-		CSSFormatUtil formatUtil = CSSFormatUtil.getInstance();
-		if (structuredModel instanceof ICSSModel) {
-			ICSSDocument doc = ((ICSSModel) structuredModel).getDocument();
-			CSSSourceFormatter formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter((INodeNotifier) doc);
-			StringBuffer buf = formatter.cleanup(doc);
-			if (buf != null) {
-				int startOffset = ((IndexedRegion) doc).getStartOffset();
-				int endOffset = ((IndexedRegion) doc).getEndOffset();
-				formatUtil.replaceSource(doc.getModel(), startOffset, endOffset - startOffset, buf.toString());
-			}
-		}
-		else if (structuredModel instanceof XMLModel) {
-			List cssnodes = formatUtil.collectCSSNodes(structuredModel, start, length);
-			if (cssnodes != null && !cssnodes.isEmpty()) {
-				ICSSModel model = null;
-				for (int i = 0; i < cssnodes.size(); i++) {
-					ICSSNode node = (ICSSNode) cssnodes.get(i);
-					CSSSourceFormatter formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter((INodeNotifier) node);
-					StringBuffer buf = formatter.cleanup(node);
-					if (buf != null) {
-						int startOffset = ((IndexedRegion) node).getStartOffset();
-						int endOffset = ((IndexedRegion) node).getEndOffset();
-						if (model == null) {
-							model = node.getOwnerDocument().getModel();
-						}
-						formatUtil.replaceSource(model, startOffset, endOffset - startOffset, buf.toString());
-					}
-				}
-			}
-		}
-	}
-
-	protected String getContentType() {
-		return ContentTypeIdForCSS.ContentTypeID_CSS;
-	}
-
-	public void cleanupModel(IStructuredModel structuredModel) {
-		int start = 0;
-		int length = structuredModel.getStructuredDocument().getLength();
-
-		cleanupModel(structuredModel, start, length);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.cleanup.IStructuredCleanupProcessor#cleanupDocument(org.eclipse.jface.text.IDocument)
-	 */
-	public void cleanupDocument(IDocument document) throws IOException, CoreException {
-		// TODO Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.cleanup.IStructuredCleanupProcessor#cleanupDocument(org.eclipse.jface.text.IDocument,
-	 *      int, int)
-	 */
-	public void cleanupDocument(IDocument document, int start, int length) throws IOException, CoreException {
-		// TODO Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.cleanup.AbstractStructuredCleanupProcessor#getCleanupHandler(org.w3c.dom.Node)
-	 */
-	protected IStructuredCleanupHandler getCleanupHandler(Node node) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.cleanup.AbstractStructuredCleanupProcessor#getFormatProcessor()
-	 */
-	protected IStructuredFormatProcessor getFormatProcessor() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.cleanup.AbstractStructuredCleanupProcessor#refreshCleanupPreferences()
-	 */
-	protected void refreshCleanupPreferences() {
-		// TODO Auto-generated method stub
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSAccess.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSAccess.java
deleted file mode 100644
index f05ef5a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSAccess.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import java.util.Vector;
-
-/**
- * 
- */
-public interface ICSSAccess {
-
-	/**
-	 * @return java.util.Vector
-	 */
-	Vector getClassNames();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSAttr.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSAttr.java
deleted file mode 100644
index 087d93b..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSAttr.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-/**
- * 
- */
-public interface ICSSAttr extends ICSSNode {
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getName();
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 */
-	ICSSNode getOwnerCSSNode();
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getValue();
-
-	/**
-	 * @param newValue
-	 *            java.lang.String
-	 */
-	void setValue(String newValue);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSCharsetRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSCharsetRule.java
deleted file mode 100644
index b861262..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSCharsetRule.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSCharsetRule;
-
-/**
- * 
- */
-public interface ICSSCharsetRule extends ICSSNode, CSSCharsetRule {
-
-	java.lang.String ENCODING = "encoding"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSDocument.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSDocument.java
deleted file mode 100644
index 8d70e3a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSDocument.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSFontFaceRule;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.css.CSSUnknownRule;
-import org.w3c.dom.stylesheets.MediaList;
-
-/**
- * 
- */
-public interface ICSSDocument extends ICSSNode {
-
-	/**
-	 * @return org.w3c.dom.css.CSSCharsetRule
-	 */
-	ICSSCharsetRule createCSSCharsetRule();
-
-	/**
-	 * @return org.w3c.dom.css.CSSFontFaceRule
-	 */
-	CSSFontFaceRule createCSSFontFaceRule();
-
-	/**
-	 * @return org.w3c.dom.css.CSSImportRule
-	 */
-	ICSSImportRule createCSSImportRule();
-
-	/**
-	 * @return org.w3c.dom.css.ICSSMediaRule
-	 */
-	ICSSMediaRule createCSSMediaRule();
-
-	/**
-	 * @return org.w3c.dom.css.CSSPageRule
-	 */
-	ICSSPageRule createCSSPageRule();
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 */
-	ICSSPrimitiveValue createCSSPrimitiveValue(short primitiveType);
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param rule
-	 *            java.lang.String
-	 */
-	CSSRule createCSSRule(String rule);
-
-	/**
-	 * @return org.w3c.dom.css.CSSStyleDeclaration
-	 */
-	ICSSStyleDeclaration createCSSStyleDeclaration();
-
-	/**
-	 * @return com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @param propertyName
-	 *            java.lang.String
-	 */
-	ICSSStyleDeclItem createCSSStyleDeclItem(String propertyName);
-
-	/**
-	 * @return org.w3c.dom.css.CSSStyleRule
-	 */
-	ICSSStyleRule createCSSStyleRule();
-
-	/**
-	 * @return org.w3c.dom.css.CSSUnknownRule
-	 */
-	CSSUnknownRule createCSSUnknownRule();
-
-	/**
-	 * @return org.w3c.dom.stylesheets.MediaList
-	 */
-	MediaList createMediaList();
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSModel
-	 */
-	ICSSModel getModel();
-
-	/**
-	 * @return boolean
-	 */
-	boolean isDocument();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSImportRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSImportRule.java
deleted file mode 100644
index 9818c2f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSImportRule.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSImportRule;
-
-/**
- * 
- */
-public interface ICSSImportRule extends ICSSNode, CSSImportRule {
-
-	java.lang.String HREF = "href"; //$NON-NLS-1$
-
-	/**
-	 * 
-	 */
-	void refreshStyleSheet();
-
-	/**
-	 * @param href
-	 *            java.lang.String
-	 */
-	void setHref(String href);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSMediaRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSMediaRule.java
deleted file mode 100644
index d06f3c5..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSMediaRule.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSMediaRule;
-
-/**
- * 
- */
-public interface ICSSMediaRule extends ICSSNode, ICSSRuleContainer, CSSMediaRule {
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSModel.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSModel.java
deleted file mode 100644
index 15f5f3f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSModel.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.css.core.document;
-
-
-
-import org.eclipse.wst.css.core.event.ICSSStyleNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.w3c.dom.Node;
-
-
-/**
- * 
- */
-public interface ICSSModel extends ICSSStyleNotifier, IStructuredModel {
-
-	public static final String EXTERNAL = "externalCSS"; //$NON-NLS-1$
-	public static final String EMBEDDED = "embeddedCSS"; //$NON-NLS-1$
-	public static final String INLINE = "inlineCSS"; //$NON-NLS-1$
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSDocument
-	 */
-	ICSSDocument getDocument();
-
-	/**
-	 * @return org.w3c.dom.Node
-	 */
-	Node getOwnerDOMNode();
-
-	/**
-	 * 
-	 * @return java.lang.Object
-	 */
-	Object getStyleSheetType();
-
-	/**
-	 * cleanup -> rebuild CSS Nodes This is pre-beta fix for 178176.
-	 */
-	void refreshNodes();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSNamedNodeMap.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSNamedNodeMap.java
deleted file mode 100644
index 321acca..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSNamedNodeMap.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-/**
- * 
- */
-public interface ICSSNamedNodeMap extends ICSSNodeList {
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param name
-	 *            java.lang.String
-	 */
-	ICSSNode getNamedItem(String name);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSNode.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSNode.java
deleted file mode 100644
index f8af0b8..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSNode.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-/**
- * 
- */
-public interface ICSSNode {
-
-	short ATTR_NODE = -1;
-	short UNKNOWNRULE_NODE = 0;
-	short STYLERULE_NODE = 1;
-	short CHARSETRULE_NODE = 2;
-	short IMPORTRULE_NODE = 3;
-	short MEDIARULE_NODE = 4;
-	short FONTFACERULE_NODE = 5;
-	short PAGERULE_NODE = 6;
-	short STYLESHEET_NODE = 7;
-	short STYLEDECLARATION_NODE = 8;
-	short STYLEDECLITEM_NODE = 9;
-	short VALUELIST_NODE = 10;
-	short PRIMITIVEVALUE_NODE = 11;
-	short MEDIALIST_NODE = 12;
-	short DOCUMENTCSSSTYLE_NODE = 13;
-	short LINKSTYLE_NODE = 14;
-	short ELEMENTCSSINLINESTYLE_NODE = 15;
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	ICSSNode cloneNode(boolean deep);
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNamedNodeMap
-	 */
-	ICSSNamedNodeMap getAttributes();
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNodeList
-	 */
-	ICSSNodeList getChildNodes();
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 */
-	ICSSNode getFirstChild();
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 */
-	ICSSNode getLastChild();
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 */
-	ICSSNode getNextSibling();
-
-	/**
-	 * @return short
-	 */
-	short getNodeType();
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSDocument
-	 */
-	ICSSDocument getOwnerDocument();
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 */
-	ICSSNode getParentNode();
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 */
-	ICSSNode getPreviousSibling();
-
-	/**
-	 * @return boolean
-	 */
-	boolean hasChildNodes();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSNodeList.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSNodeList.java
deleted file mode 100644
index 235bfbe..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSNodeList.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-/**
- * 
- */
-public interface ICSSNodeList {
-
-	/**
-	 * @return int
-	 */
-	int getLength();
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 * @param index
-	 *            int
-	 */
-	ICSSNode item(int index);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSPageRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSPageRule.java
deleted file mode 100644
index a182fad..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSPageRule.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSPageRule;
-
-/**
- * 
- */
-public interface ICSSPageRule extends ICSSNode, CSSPageRule {
-
-	java.lang.String SELECTOR = "selector"; //$NON-NLS-1$
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSSelectorList
-	 */
-	ICSSSelectorList getSelectors();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSPrimitiveValue.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSPrimitiveValue.java
deleted file mode 100644
index 0260b69..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSPrimitiveValue.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSPrimitiveValue;
-
-/**
- * 
- */
-public interface ICSSPrimitiveValue extends ICSSNode, ICSSValue, CSSPrimitiveValue {
-
-	short CSS_INTEGER = 26;
-	short CSS_HASH = 27;
-	short CSS_URANGE = 28;
-	short CSS_FORMAT = 29;
-	short CSS_LOCAL = 30;
-	short CSS_SLASH = 31;
-	short CSS_COMMA = 32;
-	short CSS_INHERIT_PRIMITIVE = 33;
-
-	/**
-	 * @param floatValue
-	 *            float
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	void setValue(float floatValue) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @param stringValue
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	void setValue(String stringValue) throws org.w3c.dom.DOMException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSRuleContainer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSRuleContainer.java
deleted file mode 100644
index 61ea7d3..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSRuleContainer.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.css.CSSRule;
-
-/**
- * 
- */
-public interface ICSSRuleContainer {
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param rule
-	 *            org.w3c.dom.css.CSSRule
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	CSSRule appendRule(CSSRule rule) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param newRule
-	 *            org.w3c.dom.css.CSSRule
-	 * @param refRule
-	 *            org.w3c.dom.css.CSSRule
-	 */
-	CSSRule insertRuleBefore(CSSRule newRule, CSSRule refRule) throws DOMException;
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param rule
-	 *            org.w3c.dom.css.CSSRule
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	CSSRule removeRule(CSSRule rule) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param newChild
-	 *            org.w3c.dom.css.CSSRule
-	 * @param oldChild
-	 *            org.w3c.dom.css.CSSRule
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	CSSRule replaceRule(CSSRule newRule, CSSRule oldRule) throws org.w3c.dom.DOMException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelector.java
deleted file mode 100644
index 301ceb9..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelector.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import java.util.Iterator;
-
-import org.w3c.dom.Element;
-
-/**
- * 
- */
-public interface ICSSSelector {
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSSelectorItem
-	 * @param index
-	 *            int
-	 */
-	ICSSSelectorItem getItem(int index);
-
-	/**
-	 * @return java.util.Iterator
-	 */
-	Iterator getIterator();
-
-	/**
-	 * @return int
-	 */
-	int getLength();
-
-	/**
-	 * @return int
-	 */
-	int getSpecificity();
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getString();
-
-	/**
-	 * @return boolean
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	boolean match(Element element, String pseudoName);
-
-	/**
-	 * 
-	 */
-	Iterator getErrors();
-
-	/**
-	 * 
-	 */
-	int getErrorCount();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelectorCombinator.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelectorCombinator.java
deleted file mode 100644
index 62ceac2..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelectorCombinator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-/**
- * 
- */
-public interface ICSSSelectorCombinator extends ICSSSelectorItem {
-
-	public static final char DESCENDANT = ' ';
-	public static final char CHILD = '>';
-	public static final char ADJACENT = '+';
-	public static final char UNKNOWN = '?'; // error case
-
-	/**
-	 * @return int
-	 */
-	char getCombinatorType();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelectorItem.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelectorItem.java
deleted file mode 100644
index 94dae89..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelectorItem.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-/**
- * 
- */
-public interface ICSSSelectorItem {
-
-	public static final int SIMPLE = 1;
-	public static final int COMBINATOR = 2;
-
-	/**
-	 * @return int
-	 */
-	int getItemType();
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getString();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelectorList.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelectorList.java
deleted file mode 100644
index c4608dd..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSelectorList.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import java.util.Iterator;
-
-import org.w3c.dom.Element;
-
-/**
- * 
- */
-public interface ICSSSelectorList {
-
-	/**
-	 * @return java.util.Iterator
-	 */
-	Iterator getIterator();
-
-	/**
-	 * @return int
-	 */
-	int getLength();
-
-	/**
-	 * @return java.util.Vector
-	 * @param index
-	 *            int
-	 */
-	ICSSSelector getSelector(int index);
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getString();
-
-	/**
-	 * 
-	 */
-	int getErrorCount();
-
-	/**
-	 * 
-	 */
-	Iterator getErrors();
-
-	/**
-	 * @return boolean
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	boolean match(Element element, String pseudoName);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSimpleSelector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSimpleSelector.java
deleted file mode 100644
index 4e332e4..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSSimpleSelector.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-/**
- * 
- */
-public interface ICSSSimpleSelector extends ICSSSelectorItem {
-
-	/**
-	 * @return java.lang.String
-	 * @param index
-	 *            int
-	 */
-	String getAttribute(int index);
-
-	/**
-	 * @return java.lang.String
-	 * @param index
-	 *            int
-	 */
-	String getClass(int index);
-
-	/**
-	 * @return java.lang.String
-	 * @param index
-	 *            int
-	 */
-	String getID(int index);
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getName();
-
-	/**
-	 * @return boolean
-	 */
-	int getNumOfAttributes();
-
-	/**
-	 * @return boolean
-	 */
-	int getNumOfClasses();
-
-	/**
-	 * @return boolean
-	 */
-	int getNumOfIDs();
-
-	/**
-	 * @return boolean
-	 */
-	int getNumOfPseudoNames();
-
-	/**
-	 * @return java.lang.String
-	 * @param index
-	 *            int
-	 */
-	String getPseudoName(int index);
-
-	/**
-	 * @return boolean
-	 */
-	boolean isUniversal();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleDeclItem.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleDeclItem.java
deleted file mode 100644
index 6d4b080..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleDeclItem.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSValue;
-
-/**
- * 
- */
-public interface ICSSStyleDeclItem extends ICSSNode, ICSSValueList {
-
-	java.lang.String IMPORTANT = "important"; //$NON-NLS-1$
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 * @param value
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	ICSSPrimitiveValue appendValue(ICSSPrimitiveValue value) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @return org.w3c.dom.css.CSSValue
-	 */
-	CSSValue getCSSValue();
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getPriority();
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getPropertyName();
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 * @param value
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	ICSSPrimitiveValue removeValue(ICSSPrimitiveValue value) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 * @param newValue
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 * @param oldValue
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	ICSSPrimitiveValue replaceValue(ICSSPrimitiveValue newValue, ICSSPrimitiveValue oldValue) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @param priority
-	 *            java.lang.String
-	 */
-	void setPriority(String priority);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleDeclaration.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleDeclaration.java
deleted file mode 100644
index f9aeb80..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleDeclaration.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSStyleDeclaration;
-
-/**
- * 
- */
-public interface ICSSStyleDeclaration extends ICSSDocument, CSSStyleDeclaration {
-
-	/**
-	 * @return com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @param propertyName
-	 *            java.lang.String
-	 */
-	ICSSStyleDeclItem getDeclItemNode(String propertyName);
-
-	/**
-	 * @return com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @param oldDecl
-	 *            com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	ICSSStyleDeclItem removeDeclItemNode(ICSSStyleDeclItem oldDecl) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @return com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @param newDecl
-	 *            com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	ICSSStyleDeclItem setDeclItemNode(ICSSStyleDeclItem newDecl) throws org.w3c.dom.DOMException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleRule.java
deleted file mode 100644
index 95fe26f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleRule.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSStyleRule;
-
-/**
- * 
- */
-public interface ICSSStyleRule extends ICSSNode, CSSStyleRule {
-
-	java.lang.String SELECTOR = "selector"; //$NON-NLS-1$
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSSelectorList
-	 */
-	ICSSSelectorList getSelectors();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleSheet.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleSheet.java
deleted file mode 100644
index 7da1f47..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSStyleSheet.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.css.CSSRuleList;
-import org.w3c.dom.css.CSSStyleSheet;
-import org.w3c.dom.stylesheets.StyleSheetList;
-
-/**
- * 
- */
-public interface ICSSStyleSheet extends ICSSDocument, ICSSRuleContainer, CSSStyleSheet {
-
-	/**
-	 * @return org.w3c.dom.NodeList
-	 */
-	NodeList getOwnerNodes();
-
-	/**
-	 * @return org.w3c.dom.NodeList
-	 * @param doc
-	 *            org.w3c.dom.Document
-	 */
-	NodeList getOwnerNodes(Document doc);
-
-	/**
-	 * @return org.w3c.dom.css.CSSRuleList
-	 */
-	CSSRuleList getOwnerRules();
-
-	/**
-	 * @return org.w3c.dom.stylesheets.StyleSheetList
-	 */
-	StyleSheetList getParentStyleSheets();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSValue.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSValue.java
deleted file mode 100644
index 90715e9..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSValue.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSValue;
-
-/**
- * 
- */
-public interface ICSSValue extends CSSValue {
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getCSSValueText();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSValueList.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSValueList.java
deleted file mode 100644
index 91a5934..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICSSValueList.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.CSSValueList;
-
-/**
- * 
- */
-public interface ICSSValueList extends ICSSValue, CSSValueList {
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 * @param value
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 */
-	ICSSPrimitiveValue appendValue(ICSSPrimitiveValue value);
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 * @param value
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 */
-	ICSSPrimitiveValue removeValue(ICSSPrimitiveValue value);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICounter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICounter.java
deleted file mode 100644
index fc57d59..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/ICounter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.Counter;
-
-/**
- * 
- */
-public interface ICounter extends ICSSNode, Counter {
-
-	java.lang.String IDENTIFIER = "identifier"; //$NON-NLS-1$
-	java.lang.String LISTSTYLE = "liststyle"; //$NON-NLS-1$
-	java.lang.String SEPARATOR = "separator"; //$NON-NLS-1$
-
-	/**
-	 * @param identifier
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	void setIdentifier(String identifier) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @param listStyle
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	void setListStyle(String listStyle) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @param Separator
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	void setSeparator(String separator) throws org.w3c.dom.DOMException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/IDOMImplementationCSS.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/IDOMImplementationCSS.java
deleted file mode 100644
index 81edc69..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/IDOMImplementationCSS.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.css.DOMImplementationCSS;
-
-/**
- * 
- */
-public interface IDOMImplementationCSS extends DOMImplementationCSS {
-
-	/**
-	 * @return com.ibm.sed.treemodel.cei.CSSStyleDeclBlock
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	ICSSStyleDeclaration createCSSStyleDeclaration() throws org.w3c.dom.DOMException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/IDocumentStyle.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/IDocumentStyle.java
deleted file mode 100644
index bed9a86..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/document/IDocumentStyle.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.document;
-
-
-
-import org.w3c.dom.stylesheets.DocumentStyle;
-import org.w3c.dom.stylesheets.StyleSheet;
-
-/**
- * 
- */
-public interface IDocumentStyle extends DocumentStyle {
-
-	/**
-	 * @return org.w3c.dom.stylesheets.StyleSheet
-	 * @param newSheet
-	 *            org.w3c.dom.stylesheets.StyleSheet
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	StyleSheet appendSheet(StyleSheet newSheet) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @return org.w3c.dom.stylesheets.StyleSheet
-	 * @param newSheet
-	 *            org.w3c.dom.stylesheets.StyleSheet
-	 * @param refSheet
-	 *            org.w3c.dom.stylesheets.StyleSheet
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	StyleSheet insertSheetBefore(StyleSheet newSheet, StyleSheet refSheet) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @return org.w3c.dom.stylesheets.StyleSheet
-	 * @param oldSheet
-	 *            org.w3c.dom.stylesheets.StyleSheet
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	StyleSheet removeSheet(StyleSheet oldSheet) throws org.w3c.dom.DOMException;
-
-	/**
-	 * @return org.w3c.dom.stylesheets.StyleSheet
-	 * @param newSheet
-	 *            org.w3c.dom.stylesheets.StyleSheet
-	 * @param oldSheet
-	 *            org.w3c.dom.stylesheets.StyleSheet
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	StyleSheet replaceSheet(StyleSheet newSheet, StyleSheet oldSheet) throws org.w3c.dom.DOMException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/event/ICSSStyleListener.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/event/ICSSStyleListener.java
deleted file mode 100644
index 021394d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/event/ICSSStyleListener.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.event;
-
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-
-
-
-/**
- * 
- */
-public interface ICSSStyleListener {
-
-	/**
-	 * 
-	 */
-	void styleChanged(ICSSModel srcModel, ICSSSelector[] removed, ICSSSelector[] added, String media);
-
-	/**
-	 * 
-	 */
-	void styleUpdate(ICSSModel srcModel);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/event/ICSSStyleNotifier.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/event/ICSSStyleNotifier.java
deleted file mode 100644
index cf82453..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/event/ICSSStyleNotifier.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.event;
-
-
-
-import java.util.List;
-
-/**
- * 
- */
-public interface ICSSStyleNotifier extends ICSSStyleListener {
-
-	/**
-	 * 
-	 */
-	void addStyleListener(ICSSStyleListener listener);
-
-	/**
-	 * 
-	 */
-	List getStyleListeners();
-
-	/**
-	 */
-	boolean isRecording();
-
-	/**
-	 * 
-	 */
-	void removeStyleListener(ICSSStyleListener listener);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/CSSSourceFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/CSSSourceFormatter.java
deleted file mode 100644
index 4ce2309..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/CSSSourceFormatter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.format;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.core.INodeAdapter;
-
-
-/**
- * @deprecated
- */
-public interface CSSSourceFormatter extends INodeAdapter {
-
-	/**
-	 * 
-	 */
-	StringBuffer cleanup(ICSSNode node);
-
-	/**
-	 * 
-	 * @return java.lang.StringBuffer
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param region
-	 *            org.eclipse.jface.text.IRegion
-	 */
-	StringBuffer cleanup(ICSSNode node, IRegion region);
-
-	/**
-	 * 
-	 */
-	StringBuffer format(ICSSNode node);
-
-	/**
-	 * 
-	 */
-	StringBuffer format(ICSSNode node, IRegion region);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/FormatProcessorCSS.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/FormatProcessorCSS.java
deleted file mode 100644
index 8ce3231..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/FormatProcessorCSS.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.format;
-
-import java.util.List;
-
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.formatter.CSSFormatUtil;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceFormatter;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceFormatterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.format.AbstractStructuredFormatProcessor;
-import org.eclipse.wst.sse.core.format.IStructuredFormatPreferences;
-import org.eclipse.wst.sse.core.format.IStructuredFormatter;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.Node;
-
-
-public class FormatProcessorCSS extends AbstractStructuredFormatProcessor {
-	/**
-	 * @deprecated renamed to getFileExtension() TODO will delete in C5
-	 */
-	protected String getContentType() {
-		return "css"; //$NON-NLS-1$
-	}
-
-	protected String getFileExtension() {
-		return "css"; //$NON-NLS-1$
-	}
-
-	public void formatModel(IStructuredModel structuredModel) {
-		int start = 0;
-		int length = structuredModel.getStructuredDocument().getLength();
-
-		formatModel(structuredModel, start, length);
-	}
-
-	public void formatModel(IStructuredModel structuredModel, int start, int length) {
-		CSSFormatUtil formatUtil = CSSFormatUtil.getInstance();
-		if (structuredModel instanceof ICSSModel) {
-			ICSSDocument doc = ((ICSSModel) structuredModel).getDocument();
-			CSSSourceFormatter formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter((INodeNotifier) doc);
-			StringBuffer buf = formatter.format(doc);
-			if (buf != null) {
-				int startOffset = ((IndexedRegion) doc).getStartOffset();
-				int endOffset = ((IndexedRegion) doc).getEndOffset();
-				formatUtil.replaceSource(doc.getModel(), startOffset, endOffset - startOffset, buf.toString());
-			}
-		}
-		else if (structuredModel instanceof XMLModel) {
-			List cssnodes = formatUtil.collectCSSNodes(structuredModel, start, length);
-			if (cssnodes != null && !cssnodes.isEmpty()) {
-				ICSSModel model = null;
-				for (int i = 0; i < cssnodes.size(); i++) {
-					ICSSNode node = (ICSSNode) cssnodes.get(i);
-					CSSSourceFormatter formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter((INodeNotifier) node);
-					StringBuffer buf = formatter.format(node);
-					if (buf != null) {
-						int startOffset = ((IndexedRegion) node).getStartOffset();
-						int endOffset = ((IndexedRegion) node).getEndOffset();
-						if (model == null) {
-							model = node.getOwnerDocument().getModel();
-						}
-						formatUtil.replaceSource(model, startOffset, endOffset - startOffset, buf.toString());
-					}
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.format.AbstractStructuredFormatProcessor#getFormatPreferences()
-	 */
-	public IStructuredFormatPreferences getFormatPreferences() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.format.AbstractStructuredFormatProcessor#getFormatter(org.w3c.dom.Node)
-	 */
-	protected IStructuredFormatter getFormatter(Node node) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.format.AbstractStructuredFormatProcessor#refreshFormatPreferences()
-	 */
-	protected void refreshFormatPreferences() {
-		// TODO Auto-generated method stub
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePlugin.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePlugin.java
deleted file mode 100644
index ee03542..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePlugin.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.common.encoding.CommonCharsetNames;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class CSSCorePlugin extends Plugin {
-	// The shared instance.
-	private static CSSCorePlugin plugin;
-	// Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-
-	/**
-	 * The constructor.
-	 */
-	public CSSCorePlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static CSSCorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
-	 */
-	protected void initializeDefaultPluginPreferences() {
-		Preferences prefs = getDefault().getPluginPreferences();
-
-		CSSPreferenceHelper.createDefaultPreferences(prefs);
-
-		// set model preference defaults
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
-		prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
-		prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
-		prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
-
-		prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
-
-		String defaultEnc = CommonModelPreferenceNames.UTF_8;
-		String systemEnc = System.getProperty("file.encoding"); //$NON-NLS-1$
-		if (systemEnc != null) {
-			defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, CommonModelPreferenceNames.UTF_8);
-		}
-		prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
-
-		prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
-
-		prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, 4);
-
-		prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, true);
-		prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
-		prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
-		prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
-		prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
-
-		prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, false);
-		prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
-		prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
-	}
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.css.core.internal.CSSCorePluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePluginResources.properties b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePluginResources.properties
deleted file mode 100644
index 8b7eabb..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/CSSCorePluginResources.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Please_specify_CSS_file_na=Please specify CSS file name.
-ERROR__Cannot_use_a_static_ERROR_=ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.
-You_cannot_use_CSSStyleShe_UI_=You cannot use CSSStyleSheet.getOwnerRule() because of many referencers of this rule\nPlease use getOnwerRules()
-Missing_return_statement_i_ERROR_=Missing return statement in function
-1concat_ERROR_={0}first flat node is null.
-2concat_ERROR_={0}first flat node is not in model.
-3concat_ERROR_={0}last flat node is null.
-4concat_ERROR_={0}last flat node is not in model.
-25concat_ERROR_={0}first region is null.
-26concat_ERROR_={0}first region is not in model.
-27concat_ERROR_={0}last region is null.
-28concat_ERROR_={0}last region is not in model.
-5concat_ERROR_={0}first region is null.
-6concat_ERROR_={0}first region is not in model.
-7concat_ERROR_={0}last region is null.
-8concat_ERROR_={0}last region is not in model.
-9concat_ERROR_=Invalid escape character at line {0} column {1}.
-12concat_EXC_=Caught Exception: {0}
-13concat_ERROR_=Error: Ignoring invalid lexical state : {0}. State unchanged.
-15concat_ERROR_=Lexical error at line {0}, column {1}.  Encountered:  {2} after :
-ERROR__Cannot_use_a_static_ERROR__ERROR_=ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/Logger.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/Logger.java
deleted file mode 100644
index 78e2fed..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/Logger.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if
- * desired, the console. This class should only be used by classes in this
- * plugin. Other plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.wst.css.core"; //$NON-NLS-1$
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-
-	public static final int OK = IStatus.OK; // 0
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int ERROR = IStatus.ERROR; // 4
-
-	public static final int OK_DEBUG = 200 + OK;
-	public static final int INFO_DEBUG = 200 + INFO;
-	public static final int WARNING_DEBUG = 200 + WARNING;
-	public static final int ERROR_DEBUG = 200 + ERROR;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-	
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/AbstractContentDescriber.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/AbstractContentDescriber.java
deleted file mode 100644
index df2b730..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/AbstractContentDescriber.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.css.core.internal.content;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescriber;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IContentDescriptionExtended;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-public abstract class AbstractContentDescriber implements ITextContentDescriber {
-
-	private final static QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.CHARSET, IContentDescription.BYTE_ORDER_MARK, IContentDescriptionExtended.DETECTED_CHARSET, IContentDescriptionExtended.UNSUPPORTED_CHARSET, IContentDescriptionExtended.APPROPRIATE_DEFAULT};
-
-	private void calculateSupportedOptions(InputStream contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	/**
-	 * @param contents
-	 * @param description
-	 * @throws IOException
-	 */
-	private void calculateSupportedOptions(Reader contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#describe(java.io.InputStream,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(InputStream contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.VALID;
-
-		calculateSupportedOptions(contents, description);
-
-		// assume if we're called at all that we are valid (few types could be
-		// disproved, maybe XML -- or, maybe if exception occurs above?)
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.ITextContentDescriber#describe(java.io.Reader,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(Reader contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.VALID;
-
-		calculateSupportedOptions(contents, description);
-
-		// assume if we're called at all that we are valid (few types could be
-		// disproved, maybe XML -- or, maybe if exception occurs above?)
-		return result;
-	}
-
-	protected abstract IResourceCharsetDetector getDetector();
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#getSupportedOptions()
-	 */
-	public QualifiedName[] getSupportedOptions() {
-
-		return SUPPORTED_OPTIONS;
-	}
-
-	/**
-	 * @param description
-	 * @param detector
-	 * @throws IOException
-	 */
-	protected void handleCalculations(IContentDescription description, IResourceCharsetDetector detector) throws IOException {
-		// note: if we're asked for one, we set them all. I need to be sure if
-		// called
-		// mulitiple times (one for each, say) that we don't waste time
-		// processing same
-		// content again.
-		EncodingMemento encodingMemento = detector.getEncodingMemento();
-		// TODO: I need to verify to see if this BOM work is always done
-		// by text type.
-		Object detectedByteOrderMark = encodingMemento.getUnicodeBOM();
-		if (detectedByteOrderMark != null) {
-			Object existingByteOrderMark = description.getProperty(IContentDescription.BYTE_ORDER_MARK);
-			// not sure why would ever be different, so if is different, may
-			// need to "push" up into base.
-			if (!detectedByteOrderMark.equals(existingByteOrderMark))
-				description.setProperty(IContentDescription.BYTE_ORDER_MARK, detectedByteOrderMark);
-		}
-
-
-		if (!encodingMemento.isValid()) {
-			// note: after setting here, its the mere presence of
-			// IContentDescriptionExtended.UNSUPPORTED_CHARSET
-			// in the resource's description that can be used to determine if
-			// invalid
-			// in those cases, the "detected" property contains an
-			// "appropriate default" to use.
-			description.setProperty(IContentDescriptionExtended.UNSUPPORTED_CHARSET, encodingMemento.getInvalidEncoding());
-			description.setProperty(IContentDescriptionExtended.APPROPRIATE_DEFAULT, encodingMemento.getAppropriateDefault());
-		}
-
-		Object detectedCharset = encodingMemento.getDetectedCharsetName();
-		Object javaCharset = encodingMemento.getJavaCharsetName();
-
-		// we always include detected, if its different than java
-		handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-
-		if (javaCharset != null) {
-			Object existingCharset = description.getProperty(IContentDescription.CHARSET);
-			if (javaCharset.equals(existingCharset)) {
-				handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-			} else {
-				// we may need to add what we found, but only need to add
-				// if different from default.the
-				Object defaultCharset = getDetector().getSpecDefaultEncoding();
-				if (defaultCharset != null) {
-					if (!defaultCharset.equals(javaCharset)) {
-						description.setProperty(IContentDescription.CHARSET, javaCharset);
-					}
-				} else {
-					// assuming if there is no spec default, we always need to
-					// add, I'm assuming
-					description.setProperty(IContentDescription.CHARSET, javaCharset);
-				}
-			}
-		}
-
-		// avoid adding anything if not absolutly needed, since always
-		// "cached" per session
-		//description.setProperty(IContentDescriptionExtended.ENCODING_MEMENTO,
-		// encodingMemento);
-	}
-
-	private void handleDetectedSpecialCase(IContentDescription description, Object detectedCharset, Object javaCharset) {
-		// since equal, we don't need to add, but if our detected version is
-		// different than
-		// javaCharset, then we should add it. This will happen, for example,
-		// if there's
-		// differences in case, or differences due to override properties
-		if (detectedCharset != null) {
-			//			if (!detectedCharset.equals(javaCharset)) {
-			//				description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET,
-			// detectedCharset);
-			//			}
-
-			// Once we detected a charset, we should set the property even
-			// though it's the same as javaCharset
-			// because there are clients that rely on this property to
-			// determine if the charset is actually detected in file or not.
-			description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET, detectedCharset);
-		}
-	}
-
-	/**
-	 * @param description
-	 * @return
-	 */
-	private boolean isRelevent(IContentDescription description) {
-		boolean result = false;
-		if (description == null)
-			result = false;
-		else if (description.isRequested(IContentDescription.BYTE_ORDER_MARK))
-			result = true;
-		else if (description.isRequested(IContentDescription.CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.APPROPRIATE_DEFAULT))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.DETECTED_CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.UNSUPPORTED_CHARSET))
-			result = true;
-		//		else if
-		// (description.isRequested(IContentDescriptionExtended.ENCODING_MEMENTO))
-		//			result = true;
-		return result;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/AbstractResourceEncodingDetector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/AbstractResourceEncodingDetector.java
deleted file mode 100644
index 20d0381..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/AbstractResourceEncodingDetector.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.css.core.internal.content;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.nio.charset.UnsupportedCharsetException;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.common.encoding.internal.ByteReader;
-
-
-public abstract class AbstractResourceEncodingDetector implements IResourceCharsetDetector {
-
-	protected EncodingMemento fEncodingMemento;
-
-	protected boolean fHeaderParsed;
-
-	protected Reader fReader;
-
-	/**
-	 *  
-	 */
-	public AbstractResourceEncodingDetector() {
-		super();
-	}
-
-	/**
-	 * Note: once this instance is created, trace info still needs to be
-	 * appended by caller, depending on the context its created.
-	 */
-	private void createEncodingMemento(String detectedCharsetName) {
-		fEncodingMemento = new EncodingMemento();
-		fEncodingMemento.setJavaCharsetName(getAppropriateJavaCharset(detectedCharsetName));
-		fEncodingMemento.setDetectedCharsetName(detectedCharsetName);
-		// TODO: if detectedCharset and spec default is
-		// null, need to use "work
-		// bench based" defaults.
-		fEncodingMemento.setAppropriateDefault(getSpecDefaultEncoding());
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 * 
-	 * @param detectedCharsetName
-	 * @param reason
-	 */
-	final protected void createEncodingMemento(String detectedCharsetName, String reason) {
-		createEncodingMemento(detectedCharsetName);
-		fEncodingMemento.addTrace(reason);
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 */
-	final protected void ensureInputSet() {
-		if (fReader == null) {
-			throw new IllegalStateException("input must be set before use"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * This method can return null, if invalid charset name (in which case
-	 * "appropriateDefault" should be used, if a name is really need for some
-	 * "save anyway" cases).
-	 * 
-	 * @param detectedCharsetName
-	 * @return
-	 */
-	private String getAppropriateJavaCharset(String detectedCharsetName) {
-		String result = null;
-		// 1. Check explicit mapping overrides from
-		// property file -- its here we pick up "rules" for cases
-		// that are not even in Java
-		result = CodedIO.checkMappingOverrides(detectedCharsetName);
-		// 2. Use the "canonical" name from JRE mappings
-		// Note: see Charset JavaDoc, the name you get one
-		// with can be alias,
-		// the name you get back is "standard" name.
-		Charset javaCharset = null;
-		try {
-			javaCharset = Charset.forName(detectedCharsetName);
-		} catch (UnsupportedCharsetException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		} catch (IllegalCharsetNameException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		}
-		// give priority to java cononical name, if present
-		if (javaCharset != null) {
-			result = javaCharset.name();
-			// but still allow overrides
-			result = CodedIO.checkMappingOverrides(result);
-		}
-		return result;
-	}
-
-	public String getEncoding() throws IOException {
-		return getEncodingMemento().getDetectedCharsetName();
-	}
-
-	// to ensure consist overall rules used, we'll mark as
-	// final,
-	// and require subclasses to provide certain pieces of
-	// the
-	// implementation
-	public EncodingMemento getEncodingMemento() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			// we keep track of if header's already been
-			// parse, so can make
-			// multiple 'get' calls, without causing
-			// reparsing.
-			fHeaderParsed = true;
-			// Note: there is a "hidden assumption" here
-			// that an empty
-			// string in content should be treated same as
-			// not present.
-		}
-		if (fEncodingMemento == null) {
-			handleSpecDefault();
-		}
-		if (fEncodingMemento == null) {
-			// safty net
-			fEncodingMemento = new NullMemento();
-		}
-		return fEncodingMemento;
-	}
-
-	/**
-	 * This is to return a default encoding -- as specified by an industry
-	 * content type spec -- when not present in the stream, for example, XML
-	 * specifies UTF-8, JSP specifies ISO-8859-1. This method should return
-	 * null if there is no such "spec default".
-	 */
-	abstract public String getSpecDefaultEncoding();
-
-	public EncodingMemento getSpecDefaultEncodingMemento() {
-		resetAll();
-		EncodingMemento result = null;
-		String enc = getSpecDefaultEncoding();
-		if (enc != null) {
-			createEncodingMemento(enc, EncodingMemento.DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-			fEncodingMemento.setAppropriateDefault(enc);
-			result = fEncodingMemento;
-		}
-		return result;
-	}
-
-	private void handleSpecDefault() {
-		String encodingName;
-		encodingName = getSpecDefaultEncoding();
-		if (encodingName != null) {
-			//createEncodingMemento(encodingName,
-			// EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-			fEncodingMemento = new EncodingMemento();
-			fEncodingMemento.setJavaCharsetName(encodingName);
-			fEncodingMemento.setAppropriateDefault(encodingName);
-			fEncodingMemento.addTrace(EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-		}
-	}
-
-	/**
-	 * Every subclass must provide a way to parse the input. This method has
-	 * several critical responsibilities:
-	 * <li>set the fEncodingMemento field appropriately, according to the
-	 * results of the parse of fReader.</li>
-	 * <li>set fHarderParsed to true, to avoid wasted re-parsing.</li>
-	 */
-	abstract protected void parseInput() throws IOException;
-
-	/**
-	 *  
-	 */
-	private void resetAll() {
-		fReader = null;
-		fHeaderParsed = false;
-		fEncodingMemento = null;
-	}
-
-	/**
-	 *  
-	 */
-	public void set(InputStream inputStream) {
-		resetAll();
-		fReader = new ByteReader(inputStream);
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossible, since we know ByteReader
-			// supports marking
-			throw new Error(e);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public void set(IStorage iStorage) throws CoreException {
-		resetAll();
-		InputStream inputStream = iStorage.getContents();
-		InputStream resettableStream = new BufferedInputStream(inputStream, CodedIO.MAX_BUF_SIZE);
-		resettableStream.mark(CodedIO.MAX_MARK_SIZE);
-		set(resettableStream);
-		// TODO we'll need to "remember" IFile, or
-		// get its (or its project's) settings, in case
-		// those are needed to handle cases when the
-		// encoding is not in the file stream.
-	}
-
-	/**
-	 * Note: this is not part of interface to help avoid confusion ... it
-	 * expected this Reader is a well formed character reader ... that is, its
-	 * all ready been determined to not be a unicode marked input stream. And,
-	 * its assumed to be in the correct position, at position zero, ready to
-	 * read first character.
-	 */
-	public void set(Reader reader) {
-		resetAll();
-		fReader = reader;
-		if (!fReader.markSupported()) {
-			fReader = new BufferedReader(fReader);
-		}
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossble, since we just checked if markable
-			throw new Error(e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/CSSHeadTokenizer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/CSSHeadTokenizer.java
deleted file mode 100644
index b25ebf7..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/CSSHeadTokenizer.java
+++ /dev/null
@@ -1,1355 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 1/27/04 6:42 PM */
-
-/*nlsXXX*/
-package org.eclipse.wst.css.core.internal.content;
-
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.xml.core.internal.contenttype.EncodingParserConstants;
-import org.eclipse.wst.xml.core.internal.contenttype.XMLHeadTokenizerConstants;
-
-
-/**
- * This class is a scanner generated by <a
- * href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex </a> 1.2.2
- * on 1/27/04 6:42 PM from the specification file
- * <tt>file:/D:/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizer.jflex</tt>
- */
-public class CSSHeadTokenizer {
-
-	/** this character denotes the end of file */
-	final public static int YYEOF = -1;
-
-	/** lexical states */
-	final public static int YYINITIAL = 0;
-	final public static int UnDelimitedString = 12;
-	final public static int DQ_STRING = 8;
-	final public static int SQ_STRING = 10;
-	final public static int ST_XMLDecl = 2;
-	final public static int QuotedAttributeValue = 6;
-	final public static int CHARSET_RULE = 4;
-
-	/**
-	 * YY_LEXSTATE[l] is the state in the DFA for the lexical state l
-	 * YY_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
-	 * beginning of a line l is of the form l = 2*k, k a non negative integer
-	 */
-	private final static int YY_LEXSTATE[] = {0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7};
-
-	/**
-	 * Translates characters to character classes
-	 */
-	final private static String yycmap_packed = "\11\0\1\6\1\11\2\0\1\10\22\0\1\6\1\0\1\36\2\0" + "\1\41\1\0\1\37\7\0\1\40\13\0\1\35\1\12\1\7\1\34" + "\1\13\1\17\1\22\1\0\1\20\1\31\1\25\1\0\1\33\1\21" + "\1\32\2\0\1\16\1\15\1\27\1\30\2\0\1\23\1\24\1\26" + "\3\0\1\14\10\0\1\22\1\0\1\20\1\31\1\25\1\0\1\33" + "\1\21\1\32\2\0\1\16\1\15\1\27\1\30\2\0\1\23\1\24" + "\1\26\3\0\1\14\102\0\1\4\3\0\1\5\17\0\1\3\16\0" + "\1\1\20\0\1\3\16\0\1\1\1\2\170\0\1\2\ufe87\0";
-
-	/**
-	 * Translates characters to character classes
-	 */
-	final private static char[] yycmap = yy_unpack_cmap(yycmap_packed);
-
-
-	/* error codes */
-	final private static int YY_UNKNOWN_ERROR = 0;
-	final private static int YY_ILLEGAL_STATE = 1;
-	final private static int YY_NO_MATCH = 2;
-	final private static int YY_PUSHBACK_2BIG = 3;
-
-	/* error messages for the codes above */
-	final private static String YY_ERROR_MSG[] = {"Unkown internal scanner error", "Internal error: unknown state", "Error: could not match input", "Error: pushback value was too large"};
-
-	/** the input device */
-	private java.io.Reader yy_reader;
-
-	/** the current state of the DFA */
-	private int yy_state;
-
-	/** the current lexical state */
-	private int yy_lexical_state = YYINITIAL;
-
-	/**
-	 * this buffer contains the current text to be matched and is the source
-	 * of the yytext() string
-	 */
-	private char yy_buffer[] = new char[16384];
-
-	/** the textposition at the last accepting state */
-	private int yy_markedPos;
-
-	/** the textposition at the last state to be included in yytext */
-	private int yy_pushbackPos;
-
-	/** the current text position in the buffer */
-	private int yy_currentPos;
-
-	/** startRead marks the beginning of the yytext() string in the buffer */
-	private int yy_startRead;
-
-	/**
-	 * endRead marks the last character in the buffer, that has been read from
-	 * input
-	 */
-	private int yy_endRead;
-
-
-	/** the number of characters up to the start of the matched text */
-	private int yychar;
-
-
-	/**
-	 * yy_atBOL == true <=>the scanner is currently at the beginning of a
-	 * line
-	 */
-	private boolean yy_atBOL;
-
-	/** yy_atEOF == true <=>the scanner has returned a value for EOF */
-	private boolean yy_atEOF;
-
-	/** denotes if the user-EOF-code has already been executed */
-	private boolean yy_eof_done;
-
-	/* user code: */
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-
-
-
-	public CSSHeadTokenizer() {
-		super();
-	}
-
-	public void reset(Reader in) {
-		/* the input device */
-		yy_reader = in;
-
-		/* the current state of the DFA */
-		yy_state = 0;
-
-		/* the current lexical state */
-		yy_lexical_state = YYINITIAL;
-
-		/*
-		 * this buffer contains the current text to be matched and is the
-		 * source of the yytext() string
-		 */
-		java.util.Arrays.fill(yy_buffer, (char) 0);
-
-		/* the textposition at the last accepting state */
-		yy_markedPos = 0;
-
-		/* the textposition at the last state to be included in yytext */
-		yy_pushbackPos = 0;
-
-		/* the current text position in the buffer */
-		yy_currentPos = 0;
-
-		/* startRead marks the beginning of the yytext() string in the buffer */
-		yy_startRead = 0;
-
-		/**
-		 * endRead marks the last character in the buffer, that has been read
-		 * from input
-		 */
-		yy_endRead = 0;
-
-
-		/* the number of characters up to the start of the matched text */
-		yychar = 0;
-
-
-		/**
-		 * yy_atBOL == true <=>the scanner is currently at the beginning of a
-		 * line
-		 */
-		yy_atBOL = false;
-
-		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-		yy_atEOF = false;
-
-		/* denotes if the user-EOF-code has already been executed */
-		yy_eof_done = false;
-
-
-		fStateStack.clear();
-
-		hasMore = true;
-
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-
-
-	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		}
-		else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-
-
-
-	/**
-	 * Creates a new scanner There is also a java.io.InputStream version of
-	 * this constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Reader to read input from.
-	 */
-	public CSSHeadTokenizer(java.io.Reader in) {
-		this.yy_reader = in;
-	}
-
-	/**
-	 * Creates a new scanner. There is also java.io.Reader version of this
-	 * constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Inputstream to read input from.
-	 */
-	public CSSHeadTokenizer(java.io.InputStream in) {
-		this(new java.io.InputStreamReader(in));
-	}
-
-	/**
-	 * Unpacks the compressed character translation table.
-	 * 
-	 * @param packed
-	 *            the packed character translation table
-	 * @return the unpacked character translation table
-	 */
-	private static char[] yy_unpack_cmap(String packed) {
-		char[] map = new char[0x10000];
-		int i = 0; /* index in packed string */
-		int j = 0; /* index in unpacked array */
-		while (i < 158) {
-			int count = packed.charAt(i++);
-			char value = packed.charAt(i++);
-			do
-				map[j++] = value;
-			while (--count > 0);
-		}
-		return map;
-	}
-
-
-	/**
-	 * Gets the next input character.
-	 * 
-	 * @return the next character of the input stream, EOF if the end of the
-	 *         stream is reached.
-	 * @exception IOException
-	 *                if any I/O-Error occurs
-	 */
-	private int yy_advance() throws java.io.IOException {
-
-		/* standard case */
-		if (yy_currentPos < yy_endRead)
-			return yy_buffer[yy_currentPos++];
-
-		/* if the eof is reached, we don't need to work hard */
-		if (yy_atEOF)
-			return YYEOF;
-
-		/* otherwise: need to refill the buffer */
-
-		/* first: make room (if you can) */
-		if (yy_startRead > 0) {
-			System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0, yy_endRead - yy_startRead);
-
-			/* translate stored positions */
-			yy_endRead -= yy_startRead;
-			yy_currentPos -= yy_startRead;
-			yy_markedPos -= yy_startRead;
-			yy_pushbackPos -= yy_startRead;
-			yy_startRead = 0;
-		}
-
-		/* is the buffer big enough? */
-		if (yy_currentPos >= yy_buffer.length) {
-			/* if not: blow it up */
-			char newBuffer[] = new char[yy_currentPos * 2];
-			System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-			yy_buffer = newBuffer;
-		}
-
-		/* finally: fill the buffer with new input */
-		int numRead = yy_reader.read(yy_buffer, yy_endRead, yy_buffer.length - yy_endRead);
-
-		if (numRead == -1)
-			return YYEOF;
-
-		yy_endRead += numRead;
-
-		return yy_buffer[yy_currentPos++];
-	}
-
-
-	/**
-	 * Closes the input stream.
-	 */
-	final public void yyclose() throws java.io.IOException {
-		yy_atEOF = true; /* indicate end of file */
-		yy_endRead = yy_startRead; /* invalidate buffer */
-		yy_reader.close();
-	}
-
-
-	/**
-	 * Returns the current lexical state.
-	 */
-	final public int yystate() {
-		return yy_lexical_state;
-	}
-
-	/**
-	 * Enters a new lexical state
-	 * 
-	 * @param newState
-	 *            the new lexical state
-	 */
-	final public void yybegin(int newState) {
-		yy_lexical_state = newState;
-	}
-
-
-	/**
-	 * Returns the text matched by the current regular expression.
-	 */
-	final public String yytext() {
-		return new String(yy_buffer, yy_startRead, yy_markedPos - yy_startRead);
-	}
-
-	/**
-	 * Returns the length of the matched text region.
-	 */
-	final public int yylength() {
-		return yy_markedPos - yy_startRead;
-	}
-
-
-	/**
-	 * Reports an error that occured while scanning.
-	 * 
-	 * @param errorCode
-	 *            the code of the errormessage to display
-	 */
-	private void yy_ScanError(int errorCode) {
-		try {
-			System.out.println(YY_ERROR_MSG[errorCode]);
-		}
-		catch (ArrayIndexOutOfBoundsException e) {
-			System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-		}
-
-		System.exit(1);
-	}
-
-
-	/**
-	 * Pushes the specified amount of characters back into the input stream.
-	 * 
-	 * They will be read again by then next call of the scanning method
-	 * 
-	 * @param number
-	 *            the number of characters to be read again. This number must
-	 *            not be greater than yylength()!
-	 */
-	private void yypushback(int number) {
-		if (number > yylength())
-			yy_ScanError(YY_PUSHBACK_2BIG);
-
-		yy_markedPos -= number;
-	}
-
-
-	/**
-	 * Contains user EOF-code, which will be executed exactly once, when the
-	 * end of file is reached
-	 */
-	private void yy_do_eof() {
-		if (!yy_eof_done) {
-			yy_eof_done = true;
-			hasMore = false;
-
-		}
-	}
-
-
-	/**
-	 * Resumes scanning until the next regular expression is matched, the end
-	 * of input is encountered or an I/O-Error occurs.
-	 * 
-	 * @return the next token
-	 * @exception IOException
-	 *                if any I/O-Error occurs
-	 */
-	public String primGetNextToken() throws java.io.IOException {
-		int yy_input;
-		int yy_action;
-
-
-		while (true) {
-
-			yychar += yylength();
-
-			yy_atBOL = yy_markedPos <= 0 || yy_buffer[yy_markedPos - 1] == '\n';
-			if (!yy_atBOL && yy_buffer[yy_markedPos - 1] == '\r') {
-				yy_atBOL = yy_advance() != '\n';
-				if (!yy_atEOF)
-					yy_currentPos--;
-			}
-
-			yy_action = -1;
-
-			yy_currentPos = yy_startRead = yy_markedPos;
-
-			if (yy_atBOL)
-				yy_state = YY_LEXSTATE[yy_lexical_state + 1];
-			else
-				yy_state = YY_LEXSTATE[yy_lexical_state];
-
-
-			yy_forAction : {
-				while (true) {
-
-					yy_input = yy_advance();
-
-					if (yy_input == YYEOF)
-						break yy_forAction;
-
-					yy_input = yycmap[yy_input];
-
-					boolean yy_isFinal = false;
-					boolean yy_noLookAhead = false;
-
-					yy_forNext : {
-						switch (yy_state) {
-							case 0 :
-								switch (yy_input) {
-									case 1 :
-										yy_isFinal = true;
-										yy_state = 9;
-										break yy_forNext;
-									case 2 :
-										yy_isFinal = true;
-										yy_state = 10;
-										break yy_forNext;
-									case 3 :
-										yy_isFinal = true;
-										yy_state = 11;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 8;
-										break yy_forNext;
-								}
-
-							case 1 :
-								switch (yy_input) {
-									case 1 :
-										yy_isFinal = true;
-										yy_state = 9;
-										break yy_forNext;
-									case 2 :
-										yy_isFinal = true;
-										yy_state = 10;
-										break yy_forNext;
-									case 3 :
-										yy_isFinal = true;
-										yy_state = 11;
-										break yy_forNext;
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 12;
-										break yy_forNext;
-									case 10 :
-										yy_isFinal = true;
-										yy_state = 13;
-										break yy_forNext;
-									case 15 :
-										yy_isFinal = true;
-										yy_state = 14;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 8;
-										break yy_forNext;
-								}
-
-							case 2 :
-								switch (yy_input) {
-									case 11 :
-										yy_isFinal = true;
-										yy_state = 15;
-										break yy_forNext;
-									case 21 :
-										yy_isFinal = true;
-										yy_state = 16;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 8;
-										break yy_forNext;
-								}
-
-							case 3 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 17;
-										break yy_forNext;
-									case 29 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 18;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 8;
-										break yy_forNext;
-								}
-
-							case 4 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-										yy_isFinal = true;
-										yy_state = 20;
-										break yy_forNext;
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 21;
-										break yy_forNext;
-									case 30 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 22;
-										break yy_forNext;
-									case 31 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 23;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 19;
-										break yy_forNext;
-								}
-
-							case 5 :
-								switch (yy_input) {
-									case 8 :
-									case 9 :
-									case 10 :
-									case 28 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 25;
-										break yy_forNext;
-									case 11 :
-									case 32 :
-										yy_isFinal = true;
-										yy_state = 26;
-										break yy_forNext;
-									case 29 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 27;
-										break yy_forNext;
-									case 30 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 28;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 24;
-										break yy_forNext;
-								}
-
-							case 6 :
-								switch (yy_input) {
-									case 8 :
-									case 9 :
-									case 10 :
-									case 28 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 25;
-										break yy_forNext;
-									case 32 :
-										yy_isFinal = true;
-										yy_state = 26;
-										break yy_forNext;
-									case 29 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 27;
-										break yy_forNext;
-									case 31 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 28;
-										break yy_forNext;
-									case 33 :
-										yy_isFinal = true;
-										yy_state = 29;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 24;
-										break yy_forNext;
-								}
-
-							case 7 :
-								switch (yy_input) {
-									case 10 :
-									case 28 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 25;
-										break yy_forNext;
-									case 32 :
-										yy_isFinal = true;
-										yy_state = 26;
-										break yy_forNext;
-									case 11 :
-										yy_isFinal = true;
-										yy_state = 29;
-										break yy_forNext;
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 30;
-										break yy_forNext;
-									case 29 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 31;
-										break yy_forNext;
-									case 30 :
-									case 31 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 32;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 24;
-										break yy_forNext;
-								}
-
-							case 9 :
-								switch (yy_input) {
-									case 2 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 33;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 10 :
-								switch (yy_input) {
-									case 1 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 34;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 11 :
-								switch (yy_input) {
-									case 4 :
-										yy_state = 35;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 12 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_state = 36;
-										break yy_forNext;
-									case 10 :
-										yy_state = 37;
-										break yy_forNext;
-									case 15 :
-										yy_state = 38;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 13 :
-								switch (yy_input) {
-									case 11 :
-										yy_state = 39;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 14 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 40;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 15 :
-								switch (yy_input) {
-									case 28 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 41;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 16 :
-								switch (yy_input) {
-									case 23 :
-										yy_state = 42;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 17 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 17;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 20 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-										yy_isFinal = true;
-										yy_state = 20;
-										break yy_forNext;
-									case 9 :
-										yy_state = 43;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 19;
-										break yy_forNext;
-								}
-
-							case 21 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-										yy_isFinal = true;
-										yy_state = 20;
-										break yy_forNext;
-									case 9 :
-										yy_state = 43;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 19;
-										break yy_forNext;
-								}
-
-							case 26 :
-								switch (yy_input) {
-									case 28 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 44;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 29 :
-								switch (yy_input) {
-									case 28 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 45;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 35 :
-								switch (yy_input) {
-									case 5 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 46;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 36 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_state = 36;
-										break yy_forNext;
-									case 10 :
-										yy_state = 37;
-										break yy_forNext;
-									case 15 :
-										yy_state = 38;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 37 :
-								switch (yy_input) {
-									case 11 :
-										yy_state = 39;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 38 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 40;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 39 :
-								switch (yy_input) {
-									case 12 :
-										yy_state = 47;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 40 :
-								switch (yy_input) {
-									case 17 :
-										yy_state = 48;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 42 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 49;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 43 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-										yy_isFinal = true;
-										yy_state = 20;
-										break yy_forNext;
-									case 9 :
-										yy_state = 43;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 19;
-										break yy_forNext;
-								}
-
-							case 47 :
-								switch (yy_input) {
-									case 13 :
-										yy_state = 50;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 48 :
-								switch (yy_input) {
-									case 18 :
-										yy_state = 51;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 49 :
-								switch (yy_input) {
-									case 24 :
-										yy_state = 52;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 50 :
-								switch (yy_input) {
-									case 14 :
-										yy_state = 53;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 51 :
-								switch (yy_input) {
-									case 19 :
-										yy_state = 54;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 52 :
-								switch (yy_input) {
-									case 25 :
-										yy_state = 55;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 53 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 56;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 54 :
-								switch (yy_input) {
-									case 20 :
-										yy_state = 57;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 55 :
-								switch (yy_input) {
-									case 26 :
-										yy_state = 58;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 56 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 56;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 57 :
-								switch (yy_input) {
-									case 21 :
-										yy_state = 59;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 58 :
-								switch (yy_input) {
-									case 23 :
-										yy_state = 60;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 59 :
-								switch (yy_input) {
-									case 22 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 61;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 60 :
-								switch (yy_input) {
-									case 27 :
-										yy_state = 62;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 62 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_state = 62;
-										break yy_forNext;
-									case 7 :
-										yy_isFinal = true;
-										yy_state = 63;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 63 :
-								switch (yy_input) {
-									case 6 :
-									case 8 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 63;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							default :
-								yy_ScanError(YY_ILLEGAL_STATE);
-								break;
-						}
-					}
-
-					if (yy_isFinal) {
-						yy_action = yy_state;
-						yy_markedPos = yy_currentPos;
-						if (yy_noLookAhead)
-							break yy_forAction;
-					}
-
-				}
-			}
-
-
-			switch (yy_action) {
-
-				case 45 : {
-					yypushback(2);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.InvalidTerminatedStringValue;
-				}
-				case 65 :
-					break;
-				case 25 : {
-					yypushback(1);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.InvalidTerminatedStringValue;
-				}
-				case 66 :
-					break;
-				case 19 :
-				case 20 : {
-					yypushback(1);
-					yybegin(UnDelimitedString);
-					string.setLength(0);
-				}
-				case 67 :
-					break;
-				case 18 : {
-					yybegin(YYINITIAL);
-					hasMore = false;
-					return CSSHeadTokenizerConstants.RuleEnd;
-				}
-				case 68 :
-					break;
-				case 32 : {
-					yypushback(1);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;
-				}
-				case 69 :
-					break;
-				case 44 : {
-					yypushback(2);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.InvalidTerminatedStringValue;
-				}
-				case 70 :
-					break;
-				case 61 : {
-					if (yychar == 0) {
-						yybegin(CHARSET_RULE);
-						return CSSHeadTokenizerConstants.CHARSET_RULE;
-					}
-				}
-				case 71 :
-					break;
-				case 56 : {
-					if (yychar == 0) {
-						yybegin(ST_XMLDecl);
-						return XMLHeadTokenizerConstants.XMLDeclStart;
-					}
-				}
-				case 72 :
-					break;
-				case 8 :
-				case 9 :
-				case 10 :
-				case 11 :
-				case 12 :
-				case 13 :
-				case 14 :
-				case 15 :
-				case 16 :
-				case 21 : {
-					if (yychar > MAX_TO_SCAN) {
-						hasMore = false;
-						return EncodingParserConstants.MAX_CHARS_REACHED;
-					}
-				}
-				case 73 :
-					break;
-				case 41 : {
-					yybegin(YYINITIAL);
-					return XMLHeadTokenizerConstants.XMLDeclEnd;
-				}
-				case 74 :
-					break;
-				case 63 : {
-					pushCurrentState();
-					yybegin(QuotedAttributeValue);
-					return XMLHeadTokenizerConstants.XMLDelEncoding;
-				}
-				case 75 :
-					break;
-				case 3 :
-				case 17 : {
-					pushCurrentState();
-					yybegin(QuotedAttributeValue);
-				}
-				case 76 :
-					break;
-				case 46 : {
-					hasMore = false;
-					return EncodingParserConstants.UTF83ByteBOM;
-				}
-				case 77 :
-					break;
-				case 33 : {
-					hasMore = false;
-					return EncodingParserConstants.UTF16BE;
-				}
-				case 78 :
-					break;
-				case 34 : {
-					hasMore = false;
-					return EncodingParserConstants.UTF16LE;
-				}
-				case 79 :
-					break;
-				case 24 :
-				case 26 :
-				case 29 : {
-					string.append(yytext());
-				}
-				case 80 :
-					break;
-				case 23 : {
-					yybegin(SQ_STRING);
-					string.setLength(0);
-				}
-				case 81 :
-					break;
-				case 22 : {
-					yybegin(DQ_STRING);
-					string.setLength(0);
-				}
-				case 82 :
-					break;
-				case 27 : {
-					yypushback(1);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.InvalidTerminatedStringValue;
-				}
-				case 83 :
-					break;
-				case 28 : {
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.StringValue;
-				}
-				case 84 :
-					break;
-				case 30 : {
-					yypushback(1);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.UnDelimitedStringValue;
-				}
-				case 85 :
-					break;
-				case 31 : {
-					yypushback(1);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.UnDelimitedStringValue;
-				}
-				case 86 :
-					break;
-				default :
-					if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-						yy_atEOF = true;
-						yy_do_eof();
-						{
-							hasMore = false;
-							return EncodingParserConstants.EOF;
-						}
-					}
-					else {
-						yy_ScanError(YY_NO_MATCH);
-					}
-			}
-		}
-	}
-
-	/**
-	 * Runs the scanner on input files.
-	 * 
-	 * This main method is the debugging routine for the scanner. It prints
-	 * each returned token to System.out until the end of file is reached, or
-	 * an error occured.
-	 * 
-	 * @param argv
-	 *            the command line, contains the filenames to run the scanner
-	 *            on.
-	 */
-	public static void main(String argv[]) {
-		for (int i = 0; i < argv.length; i++) {
-			CSSHeadTokenizer scanner = null;
-			try {
-				scanner = new CSSHeadTokenizer(new java.io.FileReader(argv[i]));
-			}
-			catch (java.io.FileNotFoundException e) {
-				System.out.println("File not found : \"" + argv[i] + "\"");
-				System.exit(1);
-			}
-			catch (ArrayIndexOutOfBoundsException e) {
-				System.out.println("Usage : java CSSHeadTokenizer <inputfile>");
-				System.exit(1);
-			}
-
-			try {
-				do {
-					System.out.println(scanner.primGetNextToken());
-				}
-				while (!scanner.yy_atEOF);
-
-			}
-			catch (java.io.IOException e) {
-				System.out.println("An I/O error occured while scanning :");
-				System.out.println(e);
-				System.exit(1);
-			}
-			catch (Exception e) {
-				e.printStackTrace();
-				System.exit(1);
-			}
-		}
-	}
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/CSSHeadTokenizerConstants.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/CSSHeadTokenizerConstants.java
deleted file mode 100644
index b8ddef7..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/CSSHeadTokenizerConstants.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.content;
-
-
-public interface CSSHeadTokenizerConstants {
-
-	String RuleEnd = "RuleEnd"; //$NON-NLS-1$
-	String CHARSET_RULE = "CHARSET_RULE"; //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/CSSResourceEncodingDetector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/CSSResourceEncodingDetector.java
deleted file mode 100644
index 4a50adc..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/CSSResourceEncodingDetector.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.content;
-
-import java.io.IOException;
-
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.xml.core.internal.contenttype.EncodingParserConstants;
-
-
-
-public class CSSResourceEncodingDetector extends AbstractResourceEncodingDetector implements IResourceCharsetDetector {
-
-	private CSSHeadTokenizer fTokenizer;
-
-	/**
-	 * There is no spec defined encoding for CSS, so Null is returned.
-	 */
-	public String getSpecDefaultEncoding() {
-		// should match what's in plugin.xml (or look it up from there).
-		return null;
-	}
-
-	private boolean canHandleAsUnicodeStream(String tokenType) {
-		boolean canHandleAsUnicodeStream = false;
-		if (tokenType == EncodingParserConstants.UTF83ByteBOM) {
-			canHandleAsUnicodeStream = true;
-			String enc = "UTF-8"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-			fEncodingMemento.setUTF83ByteBOMUsed(true);
-		}
-		else if (tokenType == EncodingParserConstants.UTF16BE) {
-			canHandleAsUnicodeStream = true;
-			String enc = "UTF-16BE"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		}
-		else if (tokenType == EncodingParserConstants.UTF16LE) {
-			canHandleAsUnicodeStream = true;
-			String enc = "UTF-16"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		}
-		return canHandleAsUnicodeStream;
-	}
-
-	/**
-	 * @return Returns the tokenizer.
-	 */
-	private CSSHeadTokenizer getTokenizer() {
-		if (fTokenizer == null) {
-			fTokenizer = new CSSHeadTokenizer();
-		}
-		return fTokenizer;
-	}
-
-	private boolean isLegalString(String valueTokenType) {
-		if (valueTokenType == null)
-			return false;
-		else
-			return valueTokenType.equals(EncodingParserConstants.StringValue) || valueTokenType.equals(EncodingParserConstants.UnDelimitedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTerminatedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue);
-	}
-
-	protected void parseInput() throws IOException {
-		checkInContents();
-		if (fEncodingMemento == null) {
-			checkHeuristics();
-		}
-	}
-
-	private void checkInContents() throws IOException {
-		CSSHeadTokenizer tokenizer = getTokenizer();
-		tokenizer.reset(fReader);
-		HeadParserToken token = null;
-		String tokenType = null;
-		do {
-			token = tokenizer.getNextToken();
-			tokenType = token.getType();
-			if (canHandleAsUnicodeStream(tokenType)) {
-				// side effect of canHandle is to create appropriate memento
-			}
-			else if (tokenType == CSSHeadTokenizerConstants.CHARSET_RULE) {
-				if (tokenizer.hasMoreTokens()) {
-					HeadParserToken valueToken = tokenizer.getNextToken();
-					String valueTokenType = valueToken.getType();
-					if (isLegalString(valueTokenType)) {
-						createEncodingMemento(valueToken.getText(), EncodingMemento.FOUND_ENCODING_IN_CONTENT);
-
-					}
-				}
-			}
-
-		}
-		while (tokenizer.hasMoreTokens());
-	}
-
-	/**
-	 * 
-	 */
-	private void checkHeuristics() throws IOException {
-		boolean noHeuristic = false;
-		String heuristicEncoding = null;
-		try {
-			fReader.reset();
-			byte[] bytes = new byte[3];
-			int nRead = 0;
-			for (int i = 0; i < bytes.length; i++) {
-				if (fReader.ready()) {
-					int oneByte = fReader.read();
-					nRead++;
-					if (oneByte <= 0xFF) {
-						bytes[i] = (byte) oneByte;
-					}
-					else {
-						noHeuristic = true;
-					}
-				}
-				else {
-					noHeuristic = true;
-					break;
-				}
-			}
-			if (!noHeuristic && nRead == 3) {
-				heuristicEncoding = EncodingGuesser.guessEncoding(bytes, 3);
-			}
-		}
-		catch (IOException e) {
-			// if any IO exception, then not a heuristic case
-		}
-		finally {
-			fReader.reset();
-		}
-		if (heuristicEncoding != null) {
-			createEncodingMemento(heuristicEncoding, EncodingMemento.GUESSED_ENCODING_FROM_STREAM);
-		}
-
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/ContentDescriberForCSS.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/ContentDescriberForCSS.java
deleted file mode 100644
index 00a9f9c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/ContentDescriberForCSS.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.content;
-
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-
-public class ContentDescriberForCSS extends AbstractContentDescriber implements ITextContentDescriber {
-
-	protected IResourceCharsetDetector getDetector() {
-		return new CSSResourceEncodingDetector();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/EncodingGuesser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/EncodingGuesser.java
deleted file mode 100644
index bd05a5e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/EncodingGuesser.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.css.core.internal.content;
-
-/**
- * 
- * This is ported from PageDesigner's hpbcom/Kanji.cpp's
- * Kanji::guess_kanji_code(),
- *  
- */
-public class EncodingGuesser {
-	private static final int ASCII = 0; // ASCII
-	// ISO-2022-JP
-	private static final int ASCII_IN = 8; // This is after ISO2022's change
-	// Shift-JIS
-	private static final int EUC_HALFKANA = 6; // This is Half Kana in EUC-JP
-	private static final int EUC_JP = 3; // This is EUC-JP
-	private static final int ISO2022_JP = 4; // This is ISO-2022-JP
-	private static final int JIS_HALFKANA = 7; // THis is Half Kana in
-	private static final byte KT_EUC1 = 0x40;
-	private static final byte KT_EUC2 = (byte) 0x80;
-	// ASCII
-	private static final byte KT_JIN = 0x01;
-	private static final byte KT_JOUT = 0x02;
-	//	private static final byte KT_ESC = 0x04;
-	//	private static final byte KT_JIS = 0x08;
-	private static final byte KT_SFT1 = 0x10;
-	private static final byte KT_SFT2 = 0x20;
-	private static final byte ktype[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00 */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 10 */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x09, 0x08, 0x08, 0x08, /* !"#$%&' *//* " */
-	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, /* ()*+,-./ */
-	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, /* 01234567 */
-	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, /* 89:; <=>? */
-	0x29, 0x28, 0x2b, 0x28, 0x28, 0x28, 0x28, 0x28, /* @ABCDEFG */
-	0x2a, 0x28, 0x2a, 0x28, 0x28, 0x28, 0x28, 0x28, /* HIJKLMNO */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* PQRSTUVW */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* XYZ[\]^_ */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* abcdefg */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* hijklmno */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* pqrstuvw */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x00, /* xyz{|}~ */
-	0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, /* 80 */
-	0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, /* 90 */
-	0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, /* A0 */
-	(byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, /* B0 */
-	(byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, /* C0 */
-	(byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, /* D0 */
-	(byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, /* E0 */
-	(byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, /* F0 */
-	(byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xc0, (byte) 0xc0, 0x00,};
-	//	private static final int ISO8859_1 = 1; // ISO-1
-	private static final int SHIFT_JIS = 2; // This is Shift-JIS
-	private static final int SJIS_HALFKANA = 5; // This is Half Kana in
-
-	/**
-	 * Currently, only Japanese encodings are supported.
-	 */
-	private static final int UNKNOWN = -1; // Unknown
-
-	/**
-	 * @return java.lang.String
-	 * @param code
-	 *            int
-	 * 
-	 * Convert private int to IANA Encoding name.
-	 */
-	private static String convertToIANAEncodingName(int code) {
-		String encoding = null;
-
-		switch (code) {
-			case SHIFT_JIS :
-			case SJIS_HALFKANA :
-				encoding = "Shift_JIS";//$NON-NLS-1$
-				break;
-			case EUC_JP :
-			case EUC_HALFKANA :
-				encoding = "EUC-JP";//$NON-NLS-1$
-				break;
-			case ISO2022_JP :
-			case JIS_HALFKANA :
-				encoding = "ISO-2022-JP";//$NON-NLS-1$
-			default :
-				break;
-		}
-
-		return encoding;
-	}
-
-	/**
-	 * Return guessed Java Encoding name target: bytes to be inspected length:
-	 * length of target
-	 */
-	public static String guessEncoding(byte[] target, int length) {
-		int code = UNKNOWN;
-
-		// Currently, only Japanese is supported.
-		String system_ctype = java.util.Locale.getDefault().getLanguage();
-		String jp_ctype = java.util.Locale.JAPANESE.getLanguage();
-		if (system_ctype.compareTo(jp_ctype) == 0) {
-			// Ok, I'm under ja_JP.
-			code = ASCII;
-			int pos = 0;
-			while ((code == ASCII) && (length > 0)) {
-				int ch1 = target[pos];
-				ch1 = ch1 & 0x000000FF;
-				int ch2 = (length >= 2) ? target[pos + 1] : 0;
-				ch2 = ch2 & 0x000000FF;
-				int ch3 = (length >= 3) ? target[pos + 2] : 0;
-				ch3 = ch3 & 0x000000FF;
-				code = guessJapaneseKanjiCode(ch1, ch2, ch3, 0);
-				pos++;
-				length--;
-			}
-			switch (code) {
-				case ISO2022_JP :
-				case JIS_HALFKANA :
-					code = ISO2022_JP;
-					break;
-				case EUC_JP :
-					code = EUC_JP;
-					break;
-				default :
-					code = SHIFT_JIS;
-			}
-		}
-		return (convertToIANAEncodingName(code));
-	}
-
-	/**
-	 * Guess the encoding. halfkana_flag = 0x01 ( detect SJIS half kana )
-	 * halfkana_flag = 0x02 ( detect EUC half kana )
-	 */
-	private static int guessJapaneseKanjiCode(int ch1, int ch2, int ch3, int halfkana_flag) {
-		boolean sjis_hankaku_flag = ((halfkana_flag & 0x01) != 0) ? true : false;
-		boolean euc_hankaku_flag = ((halfkana_flag & 0x02) != 0) ? true : false;
-
-		if (ch1 == 0)
-			return UNKNOWN;
-		if (sjis_hankaku_flag && ch1 >= 0xa1 && ch1 <= 0xdf)
-			return SJIS_HALFKANA;
-		else if (euc_hankaku_flag && ch1 == 0x8e && ch2 >= 0xa1 && ch2 <= 0xdf)
-			return EUC_HALFKANA;
-		else if (((ktype[ch1] & KT_SFT1) != 0) && ((ktype[ch2] & KT_SFT2) != 0))
-			return SHIFT_JIS;
-		else if (((ktype[ch1] & KT_EUC1) != 0) && ((ktype[ch2] & KT_EUC2) != 0))
-			return EUC_JP;
-		else if (ch1 == 0x1b && ((ktype[ch2] & KT_JIN) != 0))
-			return ISO2022_JP;
-		else if (ch1 >= 0xa1 && ch1 <= 0xdf)
-			return SJIS_HALFKANA;
-		else if (ch1 == 0x1b && ch2 == 0x28/* '(' */&& ch3 == 0x49/* 'I' */)
-			return JIS_HALFKANA;
-		else if (ch1 == 0x1b && ch2 == 0x28/* '(' */&& ((ktype[ch3] & KT_JOUT) != 0))
-			return ASCII_IN;
-
-		return ASCII;
-	}
-
-	public EncodingGuesser() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/HeadParserToken.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/HeadParserToken.java
deleted file mode 100644
index b7d9a53..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/HeadParserToken.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.css.core.internal.content;
-
-public class HeadParserToken {
-	private int fStart;
-
-	private String fText;
-	private String fType;
-
-	protected HeadParserToken() {
-		super();
-	}
-
-	public HeadParserToken(String type, int start, String text) {
-		this();
-		fType = type;
-		fStart = start;
-		fText = text;
-
-	}
-
-	public String getText() {
-		return fText;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return ("text: " + fText + " offset: " + fStart + " type: " + fType); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/IntStack.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/IntStack.java
deleted file mode 100644
index ab95ad5..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/IntStack.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.css.core.internal.content;
-
-/*
- * 
- * A non-resizable class implementing the behavior of java.util.Stack, but
- * directly for the <code> integer </code> primitive.
- */
-import java.util.EmptyStackException;
-
-public class IntStack {
-	private int[] list = null;
-
-	private int size = 0;
-
-	public IntStack() {
-		this(100);
-	}
-
-	public IntStack(int maxdepth) {
-		super();
-		list = new int[maxdepth];
-		initialize();
-	}
-
-	public void clear() {
-		initialize();
-	}
-
-	public boolean empty() {
-		return size == 0;
-	}
-
-	public int get(int slot) {
-		return list[slot];
-	}
-
-	private void initialize() {
-		for (int i = 0; i < list.length; i++)
-			list[i] = -1;
-	}
-
-	/**
-	 * Returns the int at the top of the stack without removing it
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int peek() {
-		if (size == 0)
-			throw new EmptyStackException();
-		return list[size - 1];
-	}
-
-	/**
-	 * Removes and returns the int at the top of the stack
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int pop() {
-		int value = peek();
-		list[size - 1] = -1;
-		size--;
-		return value;
-	}
-
-	/**
-	 * Pushes an item onto the top of this stack.
-	 * 
-	 * @param newValue -
-	 *            the int to be pushed onto this stack.
-	 * @return the <code>newValue</code> argument.
-	 */
-	public int push(int newValue) {
-		if (size == list.length) {
-			throw new StackOverflowError();
-		}
-		list[size++] = newValue;
-		return newValue;
-	}
-
-	public int size() {
-		return list.length;
-	}
-}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/NullMemento.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/NullMemento.java
deleted file mode 100644
index 3c5c734..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/content/NullMemento.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.css.core.internal.content;
-
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.NonContentBasedEncodingRules;
-
-
-
-/**
- * This class can be used in place of an EncodingMemento (its super class),
- * when there is not in fact ANY encoding information. For example, when a
- * structuredDocument is created directly from a String
- */
-public class NullMemento extends EncodingMemento {
-	/**
-	 *  
-	 */
-	public NullMemento() {
-		super();
-		String defaultCharset = NonContentBasedEncodingRules.useDefaultNameRules(null);
-		setJavaCharsetName(defaultCharset);
-		setAppropriateDefault(defaultCharset);
-		setDetectedCharsetName(null);
-		addTrace(DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IMediaGroupID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IMediaGroupID.java
deleted file mode 100644
index 8d02ac8..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IMediaGroupID.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-/**
- * 
- */
-public interface IMediaGroupID {
-
-	public final static String M_CONTINUOUS = "continuous"; //$NON-NLS-1$
-	public final static String M_PAGED = "paged"; //$NON-NLS-1$
-
-	public final static String M_VISUAL = "visual"; //$NON-NLS-1$
-	public final static String M_AURAL = "aural"; //$NON-NLS-1$
-	public final static String M_TACTILE = "tactile"; //$NON-NLS-1$
-
-	public final static String M_GRID = "grid"; //$NON-NLS-1$
-	public final static String M_BITMAP = "bitmap"; //$NON-NLS-1$
-
-	public final static String M_INTERACTIVE = "interactive"; //$NON-NLS-1$
-	public final static String M_STATIC = "static"; //$NON-NLS-1$
-
-	public final static String M_ALL = "all"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java
deleted file mode 100644
index f49c1a1..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-/**
- * 
- */
-public interface IValID {
-
-	public final static String V_100 = "100"; //$NON-NLS-1$
-	public final static String V_200 = "200"; //$NON-NLS-1$
-	public final static String V_300 = "300"; //$NON-NLS-1$
-	public final static String V_400 = "400"; //$NON-NLS-1$
-	public final static String V_500 = "500"; //$NON-NLS-1$
-	public final static String V_600 = "600"; //$NON-NLS-1$
-	public final static String V_700 = "700"; //$NON-NLS-1$
-	public final static String V_800 = "800"; //$NON-NLS-1$
-	public final static String V_900 = "900"; //$NON-NLS-1$
-	public final static String V_ABOVE = "above"; //$NON-NLS-1$
-	public final static String V_ABSOLUTE = "absolute"; //$NON-NLS-1$
-	public final static String V_ACTIVEBORDER = "ActiveBorder"; //$NON-NLS-1$
-	public final static String V_ACTIVECAPTION = "ActiveCaption"; //$NON-NLS-1$
-	public final static String V_ALL = "all"; //$NON-NLS-1$
-	public final static String V_ALWAYS = "always"; //$NON-NLS-1$
-	public final static String V_APPWORKSPACE = "AppWorkspace"; //$NON-NLS-1$
-	public final static String V_AQUA = "aqua"; //$NON-NLS-1$
-	public final static String V_ARMENIAN = "armenian"; //$NON-NLS-1$
-	public final static String V_AUTO = "auto"; //$NON-NLS-1$
-	public final static String V_AVOID = "avoid"; //$NON-NLS-1$
-	public final static String V_BACKGROUND = "Background"; //$NON-NLS-1$
-	public final static String V_BASELINE = "baseline"; //$NON-NLS-1$
-	public final static String V_BEHIND = "behind"; //$NON-NLS-1$
-	public final static String V_BELOW = "below"; //$NON-NLS-1$
-	public final static String V_BIDI_OVERRIDE = "bidi-override"; //$NON-NLS-1$
-	public final static String V_BLACK = "black"; //$NON-NLS-1$
-	public final static String V_BLINK = "blink"; //$NON-NLS-1$
-	public final static String V_BLOCK = "block"; //$NON-NLS-1$
-	public final static String V_BLUE = "blue"; //$NON-NLS-1$
-	public final static String V_BOLD = "bold"; //$NON-NLS-1$
-	public final static String V_BOLDER = "bolder"; //$NON-NLS-1$
-	public final static String V_BOTH = "both"; //$NON-NLS-1$
-	public final static String V_BOTTOM = "bottom"; //$NON-NLS-1$
-	public final static String V_BUTTONFACE = "ButtonFace"; //$NON-NLS-1$
-	public final static String V_BUTTONHIGHLIGHT = "ButtonHighlight"; //$NON-NLS-1$
-	public final static String V_BUTTONSHADOW = "ButtonShadow"; //$NON-NLS-1$
-	public final static String V_BUTTONTEXT = "ButtonText"; //$NON-NLS-1$
-	public final static String V_CAPITALIZE = "capitalize"; //$NON-NLS-1$
-	public final static String V_CAPTION = "caption"; //$NON-NLS-1$
-	public final static String V_CAPTIONTEXT = "CaptionText"; //$NON-NLS-1$
-	public final static String V_CENTER = "center"; //$NON-NLS-1$
-	public final static String V_CENTER_LEFT = "center-left"; //$NON-NLS-1$
-	public final static String V_CENTER_RIGHT = "center-right"; //$NON-NLS-1$
-	public final static String V_CHILD = "child"; //$NON-NLS-1$
-	public final static String V_CIRCLE = "circle"; //$NON-NLS-1$
-	public final static String V_CJK_IDEOGRAPHIC = "cjk-ideographic"; //$NON-NLS-1$
-	public final static String V_CLOSE_QUOTE = "close-quote"; //$NON-NLS-1$
-	public final static String V_CODE = "code"; //$NON-NLS-1$
-	public final static String V_CONDENSED = "condensed"; //$NON-NLS-1$
-	public final static String V_COLLAPSE = "collapse"; //$NON-NLS-1$
-	public final static String V_COMPACT = "compact"; //$NON-NLS-1$
-	public final static String V_CONTINUOUS = "continuous"; //$NON-NLS-1$
-	public final static String V_CROP = "crop"; //$NON-NLS-1$
-	public final static String V_CROSS = "cross"; //$NON-NLS-1$
-	public final static String V_CROSSHAIR = "crosshair"; //$NON-NLS-1$
-	public final static String V_CURSIVE = "cursive"; //$NON-NLS-1$
-	public final static String V_DASHED = "dashed"; //$NON-NLS-1$
-	public final static String V_DECIMAL = "decimal"; //$NON-NLS-1$
-	public final static String V_DECIMAL_LEADING_ZERO = "decimal-leading-zero"; //$NON-NLS-1$
-	public final static String V_DEFAULT = "default"; //$NON-NLS-1$
-	public final static String V_DIGITS = "digits"; //$NON-NLS-1$
-	public final static String V_DISC = "disc"; //$NON-NLS-1$
-	public final static String V_DOTTED = "dotted"; //$NON-NLS-1$
-	public final static String V_DOUBLE = "double"; //$NON-NLS-1$
-	public final static String V_E_RESIZE = "e-resize"; //$NON-NLS-1$
-	public final static String V_EMBED = "embed"; //$NON-NLS-1$
-	public final static String V_EXPANDED = "expanded"; //$NON-NLS-1$
-	public final static String V_EXTRA_CONDENSED = "extra-condensed"; //$NON-NLS-1$
-	public final static String V_EXTRA_EXPANDED = "extra-expanded"; //$NON-NLS-1$
-	public final static String V_FANTASY = "fantasy"; //$NON-NLS-1$
-	public final static String V_FAR_LEFT = "far-left"; //$NON-NLS-1$
-	public final static String V_FAR_RIGHT = "far-right"; //$NON-NLS-1$
-	public final static String V_FAST = "fast"; //$NON-NLS-1$
-	public final static String V_FASTER = "faster"; //$NON-NLS-1$
-	public final static String V_FEMALE = "female"; //$NON-NLS-1$
-	public final static String V_FIXED = "fixed"; //$NON-NLS-1$
-	public final static String V_FUCHSIA = "fuchsia"; //$NON-NLS-1$
-	public final static String V_GEORGIAN = "georgian"; //$NON-NLS-1$
-	public final static String V_GRAY = "gray"; //$NON-NLS-1$
-	public final static String V_GRAYTEXT = "GrayText"; //$NON-NLS-1$
-	public final static String V_GREEN = "green"; //$NON-NLS-1$
-	public final static String V_GROOVE = "groove"; //$NON-NLS-1$
-	public final static String V_HEBREW = "hebrew"; //$NON-NLS-1$
-	public final static String V_HELP = "help"; //$NON-NLS-1$
-	public final static String V_HIDDEN = "hidden"; //$NON-NLS-1$
-	public final static String V_HIDE = "hide"; //$NON-NLS-1$
-	public final static String V_HIGH = "high"; //$NON-NLS-1$
-	public final static String V_HIGHLIGHT = "Highlight"; //$NON-NLS-1$
-	public final static String V_HIGHLIGHTTEXT = "HighlightText"; //$NON-NLS-1$
-	public final static String V_HIGHER = "higher"; //$NON-NLS-1$
-	public final static String V_HIRAGANA = "hiragana"; //$NON-NLS-1$
-	public final static String V_HIRAGANA_IROHA = "hiragana-iroha"; //$NON-NLS-1$
-	public final static String V_ICON = "icon"; //$NON-NLS-1$
-	public final static String V_INACTIVEBORDER = "InactiveBorder"; //$NON-NLS-1$
-	public final static String V_INACTIVECAPTION = "InactiveCaption"; //$NON-NLS-1$
-	public final static String V_INACTIVECAPTIONTEXT = "InactiveCaptionText"; //$NON-NLS-1$
-	public final static String V_INFOBACKGROUND = "InfoBackground"; //$NON-NLS-1$
-	public final static String V_INFOTEXT = "InfoText"; //$NON-NLS-1$
-	public final static String V_INLINE = "inline"; //$NON-NLS-1$
-	public final static String V_INLINE_TABLE = "inline-table"; //$NON-NLS-1$
-	public final static String V_INSET = "inset"; //$NON-NLS-1$
-	public final static String V_INSIDE = "inside"; //$NON-NLS-1$
-	public final static String V_INVERT = "invert"; //$NON-NLS-1$
-	public final static String V_ITALIC = "italic"; //$NON-NLS-1$
-	public final static String V_JUSTIFY = "justify"; //$NON-NLS-1$
-	public final static String V_KATAKANA = "katakana"; //$NON-NLS-1$
-	public final static String V_KATAKANA_IROHA = "katakana-iroha"; //$NON-NLS-1$
-	public final static String V_LANDSCAPE = "landscape"; //$NON-NLS-1$
-	public final static String V_LARGE = "large"; //$NON-NLS-1$
-	public final static String V_LARGER = "larger"; //$NON-NLS-1$
-	public final static String V_LEFT = "left"; //$NON-NLS-1$
-	public final static String V_LEFT_SIDE = "left-side"; //$NON-NLS-1$
-	public final static String V_LEFTWARDS = "leftwards"; //$NON-NLS-1$
-	public final static String V_LEVEL = "level"; //$NON-NLS-1$
-	public final static String V_LIGHTER = "lighter"; //$NON-NLS-1$
-	public final static String V_LIME = "lime"; //$NON-NLS-1$
-	public final static String V_LINE_THROUGH = "line-through"; //$NON-NLS-1$
-	public final static String V_LIST_ITEM = "list-item"; //$NON-NLS-1$
-	public final static String V_LOUD = "loud"; //$NON-NLS-1$
-	public final static String V_LOW = "low"; //$NON-NLS-1$
-	public final static String V_LOWER = "lower"; //$NON-NLS-1$
-	public final static String V_LOWER_ALPHA = "lower-alpha"; //$NON-NLS-1$
-	public final static String V_LOWER_GREEK = "lower-greek"; //$NON-NLS-1$
-	public final static String V_LOWER_LATIN = "lower-latin"; //$NON-NLS-1$
-	public final static String V_LOWER_ROMAN = "lower-roman"; //$NON-NLS-1$
-	public final static String V_LOWERCASE = "lowercase"; //$NON-NLS-1$
-	public final static String V_LTR = "ltr"; //$NON-NLS-1$
-	public final static String V_MALE = "male"; //$NON-NLS-1$
-	public final static String V_MARKER = "marker"; //$NON-NLS-1$
-	public final static String V_MAROON = "maroon"; //$NON-NLS-1$
-	public final static String V_MEDIUM = "medium"; //$NON-NLS-1$
-	public final static String V_MENU = "menu"; //$NON-NLS-1$
-	public final static String V_MENUTEXT = "MenuText"; //$NON-NLS-1$
-	public final static String V_MESSAGE_BOX = "message-box"; //$NON-NLS-1$
-	public final static String V_MIDDLE = "middle"; //$NON-NLS-1$
-	public final static String V_MIX = "mix"; //$NON-NLS-1$
-	public final static String V_MONOSPACE = "monospace"; //$NON-NLS-1$
-	public final static String V_MOVE = "move"; //$NON-NLS-1$
-	public final static String V_N_RESIZE = "n-resize"; //$NON-NLS-1$
-	public final static String V_NARROWER = "narrower"; //$NON-NLS-1$
-	public final static String V_NAVY = "navy"; //$NON-NLS-1$
-	public final static String V_NE_RESIZE = "ne-resize"; //$NON-NLS-1$
-	public final static String V_NO_CLOSE_QUOTE = "no-close-quote"; //$NON-NLS-1$
-	public final static String V_NO_OPEN_QUOTE = "no-open-quote"; //$NON-NLS-1$
-	public final static String V_NO_REPEAT = "no-repeat"; //$NON-NLS-1$
-	public final static String V_NONE = "none"; //$NON-NLS-1$
-	public final static String V_NORMAL = "normal"; //$NON-NLS-1$
-	public final static String V_NOWRAP = "nowrap"; //$NON-NLS-1$
-	public final static String V_NW_RESIZE = "nw-resize"; //$NON-NLS-1$
-	public final static String V_OBLIQUE = "oblique"; //$NON-NLS-1$
-	public final static String V_OLIVE = "olive"; //$NON-NLS-1$
-	public final static String V_ONCE = "once"; //$NON-NLS-1$
-	public final static String V_OPEN_QUOTE = "open-quote"; //$NON-NLS-1$
-	public final static String V_OUTSET = "outset"; //$NON-NLS-1$
-	public final static String V_OUTSIDE = "outside"; //$NON-NLS-1$
-	public final static String V_OVERLINE = "overline"; //$NON-NLS-1$
-	public final static String V_POINTER = "pointer"; //$NON-NLS-1$
-	public final static String V_PORTRAIT = "portrait"; //$NON-NLS-1$
-	public final static String V_PRE = "pre"; //$NON-NLS-1$
-	public final static String V_PURPLE = "purple"; //$NON-NLS-1$
-	public final static String V_RED = "red"; //$NON-NLS-1$
-	public final static String V_RELATIVE = "relative"; //$NON-NLS-1$
-	public final static String V_REPEAT = "repeat"; //$NON-NLS-1$
-	public final static String V_REPEAT_X = "repeat-x"; //$NON-NLS-1$
-	public final static String V_REPEAT_Y = "repeat-y"; //$NON-NLS-1$
-	public final static String V_RIDGE = "ridge"; //$NON-NLS-1$
-	public final static String V_RIGHT = "right"; //$NON-NLS-1$
-	public final static String V_RIGHT_SIDE = "right-side"; //$NON-NLS-1$
-	public final static String V_RIGHTWARDS = "rightwards"; //$NON-NLS-1$
-	public final static String V_RTL = "rtl"; //$NON-NLS-1$
-	public final static String V_RUN_IN = "run-in"; //$NON-NLS-1$
-	public final static String V_S_RESIZE = "s-resize"; //$NON-NLS-1$
-	public final static String V_SANS_SERIF = "sans-serif"; //$NON-NLS-1$
-	public final static String V_SCROLL = "scroll"; //$NON-NLS-1$
-	public final static String V_SCROLLBAR = "Scrollbar"; //$NON-NLS-1$
-	public final static String V_SE_RESIZE = "se-resize"; //$NON-NLS-1$
-	public final static String V_SEMI_CONDENSED = "semi-condensed"; //$NON-NLS-1$
-	public final static String V_SEMI_EXPANDED = "semi-expanded"; //$NON-NLS-1$
-	public final static String V_SEPARATE = "separate"; //$NON-NLS-1$
-	public final static String V_SERIF = "serif"; //$NON-NLS-1$
-	public final static String V_SHOW = "show"; //$NON-NLS-1$
-	public final static String V_SILENT = "silent"; //$NON-NLS-1$
-	public final static String V_SILVER = "silver"; //$NON-NLS-1$
-	public final static String V_SLOW = "slow"; //$NON-NLS-1$
-	public final static String V_SLOWER = "slower"; //$NON-NLS-1$
-	public final static String V_SMALL = "small"; //$NON-NLS-1$
-	public final static String V_SMALL_CAPS = "small-caps"; //$NON-NLS-1$
-	public final static String V_SMALL_CAPTION = "small-caption"; //$NON-NLS-1$
-	public final static String V_SMALLER = "smaller"; //$NON-NLS-1$
-	public final static String V_SOFT = "soft"; //$NON-NLS-1$
-	public final static String V_SOLID = "solid"; //$NON-NLS-1$
-	public final static String V_SPELL_OUT = "spell-out"; //$NON-NLS-1$
-	public final static String V_SQUARE = "square"; //$NON-NLS-1$
-	public final static String V_STATIC = "static"; //$NON-NLS-1$
-	public final static String V_STATUS_BAR = "status-bar"; //$NON-NLS-1$
-	public final static String V_SUB = "sub"; //$NON-NLS-1$
-	public final static String V_SUPER = "super"; //$NON-NLS-1$
-	public final static String V_SW_RESIZE = "sw-resize"; //$NON-NLS-1$
-	public final static String V_TABLE = "table"; //$NON-NLS-1$
-	public final static String V_TABLE_CAPTION = "table-caption"; //$NON-NLS-1$
-	public final static String V_TABLE_CELL = "table-cell"; //$NON-NLS-1$
-	public final static String V_TABLE_COLUMN = "table-column"; //$NON-NLS-1$
-	public final static String V_TABLE_COLUMN_GROUP = "table-column-group"; //$NON-NLS-1$
-	public final static String V_TABLE_FOOTER_GROUP = "table-footer-group"; //$NON-NLS-1$
-	public final static String V_TABLE_HEADER_GROUP = "table-header-group"; //$NON-NLS-1$
-	public final static String V_TABLE_ROW = "table-row"; //$NON-NLS-1$
-	public final static String V_TABLE_ROW_GROUP = "table-row-group"; //$NON-NLS-1$
-	public final static String V_TEAL = "teal"; //$NON-NLS-1$
-	public final static String V_TEXT = "text"; //$NON-NLS-1$
-	public final static String V_TEXT_TOP = "text-top"; //$NON-NLS-1$
-	public final static String V_TEXT_BOTTOM = "text-bottom"; //$NON-NLS-1$
-	public final static String V_THICK = "thick"; //$NON-NLS-1$
-	public final static String V_THIN = "thin"; //$NON-NLS-1$
-	public final static String V_THREEDDARKSHADOW = "ThreeDDarkShadow"; //$NON-NLS-1$
-	public final static String V_THREEDFACE = "ThreeDFace"; //$NON-NLS-1$
-	public final static String V_THREEDHIGHLIGHT = "ThreeDHighlight"; //$NON-NLS-1$
-	public final static String V_THREEDLIGHTSHADOW = "ThreeDLightShadow"; //$NON-NLS-1$
-	public final static String V_THREEDSHADOW = "ThreeDShadow"; //$NON-NLS-1$
-	public final static String V_TOP = "top"; //$NON-NLS-1$
-	public final static String V_TRANSPARENT = "transparent"; //$NON-NLS-1$
-	public final static String V_ULTRA_CONDENSED = "ultra-condensed"; //$NON-NLS-1$
-	public final static String V_ULTRA_EXPANDED = "ultra-expanded"; //$NON-NLS-1$
-	public final static String V_UNDERLINE = "underline"; //$NON-NLS-1$
-	public final static String V_UPPER_ALPHA = "upper-alpha"; //$NON-NLS-1$
-	public final static String V_UPPER_LATIN = "upper-latin"; //$NON-NLS-1$
-	public final static String V_UPPER_ROMAN = "upper-roman"; //$NON-NLS-1$
-	public final static String V_UPPERCASE = "uppercase"; //$NON-NLS-1$
-	public final static String V_VISIBLE = "visible"; //$NON-NLS-1$
-	public final static String V_W_RESIZE = "w-resize"; //$NON-NLS-1$
-	public final static String V_WAIT = "wait"; //$NON-NLS-1$
-	public final static String V_WHITE = "white"; //$NON-NLS-1$
-	public final static String V_WIDER = "wider"; //$NON-NLS-1$
-	public final static String V_WINDOW = "Window"; //$NON-NLS-1$
-	public final static String V_WINDOWFRAME = "WindowFrame"; //$NON-NLS-1$
-	public final static String V_WINDOWTEXT = "WindowText"; //$NON-NLS-1$
-	public final static String V_X_FAST = "x-fast"; //$NON-NLS-1$
-	public final static String V_X_HIGH = "x-high"; //$NON-NLS-1$
-	public final static String V_X_LARGE = "x-large"; //$NON-NLS-1$
-	public final static String V_X_LOUD = "x-loud"; //$NON-NLS-1$
-	public final static String V_X_LOW = "x-low"; //$NON-NLS-1$
-	public final static String V_X_SLOW = "x-slow"; //$NON-NLS-1$
-	public final static String V_X_SMALL = "x-small"; //$NON-NLS-1$
-	public final static String V_X_SOFT = "x-soft"; //$NON-NLS-1$
-	public final static String V_XX_SMALL = "xx-small"; //$NON-NLS-1$
-	public final static String V_XX_LARGE = "xx-large"; //$NON-NLS-1$
-	public final static String V_YELLOW = "yellow"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMContainer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMContainer.java
deleted file mode 100644
index d013f7c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMContainer.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Set;
-import java.util.Vector;
-
-/**
- * 
- */
-public class PropCMContainer extends PropCMNode {
-
-	private java.util.Vector nodes = new Vector();
-	private static java.util.Hashtable instances = null;
-	public final static String VAL_ABSOLUTE_SIZE = "absolute-size";//$NON-NLS-1$
-	public final static String VAL_BORDER_STYLE = "border-style";//$NON-NLS-1$
-	public final static String VAL_BORDER_WIDTH = "border-width";//$NON-NLS-1$
-	public final static String VAL_COLOR = "color";//$NON-NLS-1$
-	public final static String VAL_SYSTEM_COLOR = "system-color";//$NON-NLS-1$
-	public final static String VAL_GENERIC_FAMILY = "generic-family";//$NON-NLS-1$
-	public final static String VAL_GENERIC_VOICE = "generic-voice";//$NON-NLS-1$
-	public final static String VAL_MARGIN_WIDTH = "margin-width";//$NON-NLS-1$
-	public final static String VAL_PADDING_WIDTH = "padding-width";//$NON-NLS-1$
-	public final static String VAL_RELATIVE_SIZE = "relative-size";//$NON-NLS-1$
-
-	/**
-	 * 
-	 */
-	protected PropCMContainer(String name) {
-		super(name);
-	}
-
-	/**
-	 * 
-	 */
-	Object appendChild(Object node) {
-		if (!nodes.contains(node))
-			nodes.add(node);
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	public boolean canHave(String identifier) {
-		int nChild = getNumChild();
-		for (int i = 0; i < nChild; i++) {
-			Object child = getChildAt(i);
-			if (child instanceof String && identifier.equalsIgnoreCase((String) child))
-				return true;
-			if (child instanceof PropCMContainer && ((PropCMContainer) child).canHave(identifier))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	public Object getChildAt(int index) {
-		if (nodes == null || index < 0 || nodes.size() <= index)
-			return null;
-		return nodes.elementAt(index);
-	}
-
-	/**
-	 * 
-	 */
-	static PropCMContainer getContInstanceOf(String name) {
-		if (name == null)
-			return null;
-
-		// initialize
-		if (instances == null)
-			instances = new Hashtable(20);
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// query
-		Object node = instances.get(name);
-		if (node != null)
-			return (PropCMContainer) node;
-
-		if (PropCMNode.isLoading()) {
-			// register
-			node = new PropCMContainer(name);
-			instances.put(name, node);
-		}
-
-		return (PropCMContainer) node;
-	}
-
-	/**
-	 * 
-	 */
-	void getIdentifiers(Set idents) {
-		if (idents == null)
-			return;
-		int nChildren = nodes.size();
-		for (int i = 0; i < nChildren; i++) {
-			Object node = nodes.elementAt(i);
-			if (node instanceof PropCMNode)
-				((PropCMNode) node).getIdentifiers(idents);
-			else if (node instanceof String)
-				idents.add(node);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public int getNumChild() {
-		if (nodes == null)
-			return 0;
-		return nodes.size();
-	}
-
-	/**
-	 * 
-	 */
-	public short getType() {
-		return VAL_CONTAINER;
-	}
-
-	/**
-	 * 
-	 */
-	void getValues(Collection values) {
-		if (values == null)
-			return;
-		int nChildren = nodes.size();
-		for (int i = 0; i < nChildren; i++) {
-			Object node = nodes.elementAt(i);
-			if (node instanceof PropCMNode)
-				((PropCMNode) node).getValues(values);
-			else if (node instanceof String) {
-				if (!values.contains(node))
-					values.add(node);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	Object removeChild(Object node) {
-		nodes.remove(node);
-		return node;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMFontProperty.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMFontProperty.java
deleted file mode 100644
index a28e21d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMFontProperty.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-/**
- * 
- */
-public class PropCMFontProperty extends PropCMProperty {
-
-	// static fields
-	private static java.util.Hashtable instances = null;
-	private static java.util.Hashtable cachedIdMap = null;
-	// selecting properties
-	public final static String PF_FONT_FAMILY = "font-family";//$NON-NLS-1$
-	public final static String PF_FONT_STYLE = "font-style";//$NON-NLS-1$
-	public final static String PF_FONT_VARIANT = "font-variant";//$NON-NLS-1$
-	public final static String PF_FONT_WEIGHT = "font-weight";//$NON-NLS-1$
-	public final static String PF_FONT_STRETCH = "font-stretch";//$NON-NLS-1$
-	public final static String PF_FONT_SIZE = "font-size";//$NON-NLS-1$
-	// qualification properties
-	public final static String PF_UNICODE_RANGE = "unicode-range";//$NON-NLS-1$
-	// numeric properties
-	public final static String PF_UNITS_PER_EM = "units-per-em";//$NON-NLS-1$
-	// referencing properties
-	public final static String PF_SRC = "src";//$NON-NLS-1$
-	// matching properties
-	public final static String PF_PANOSE_1 = "panose-1";//$NON-NLS-1$
-	public final static String PF_STEMV = "stemv";//$NON-NLS-1$
-	public final static String PF_STEMH = "stemh";//$NON-NLS-1$
-	public final static String PF_SLOPE = "slope";//$NON-NLS-1$
-	public final static String PF_CAP_HEIGHT = "cap-height";//$NON-NLS-1$
-	public final static String PF_X_HEIGHT = "x-height";//$NON-NLS-1$
-	public final static String PF_ASCENT = "ascent";//$NON-NLS-1$
-	public final static String PF_DESCENT = "descent";//$NON-NLS-1$
-	// synthesis properties
-	public final static String PF_WIDTHS = "widths";//$NON-NLS-1$
-	public final static String PF_BBOX = "bbox";//$NON-NLS-1$
-	public final static String PF_DEFINITION_SRC = "definition-src";//$NON-NLS-1$
-	// alignment properties
-	public final static String PF_BASELINE = "baseline";//$NON-NLS-1$
-	public final static String PF_CENTERLINE = "centerline";//$NON-NLS-1$
-	public final static String PF_MATHLINE = "mathline";//$NON-NLS-1$
-	public final static String PF_TOPLINE = "topline";//$NON-NLS-1$
-
-	/**
-	 * 
-	 */
-	protected PropCMFontProperty(String name) {
-		super(name);
-	}
-
-	/**
-	 * 
-	 */
-	public static PropCMProperty getInstanceOf(String name) {
-		// initialize
-		if (instances == null)
-			instances = new Hashtable(10);
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// query
-		Object node = instances.get(name);
-		if (node != null)
-			return (PropCMProperty) node;
-
-		// register
-		if (PropCMNode.isLoading()) {
-			node = new PropCMFontProperty(name);
-			instances.put(name, node);
-		}
-
-		return (PropCMProperty) node;
-	}
-
-	/**
-	 * 
-	 */
-	public static Enumeration getNameEnum() {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		return instances.keys();
-	}
-
-	/**
-	 * 
-	 */
-	public static Enumeration getPropertyEnum() {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		return instances.elements();
-	}
-
-	/**
-	 * 
-	 */
-	public short getType() {
-		return VAL_FONTPROPERTY;
-	}
-
-	/**
-	 * 
-	 */
-	public static Vector names() {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		return new Vector(instances.keySet());
-	}
-
-	/**
-	 * 
-	 */
-	public static List names(Object mediaGroup) {
-		if (mediaGroup == null)
-			return names();
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		Vector properties = new Vector();
-
-		Iterator it = instances.values().iterator();
-		while (it.hasNext()) {
-			PropCMProperty prop = (PropCMProperty) it.next();
-			if (prop.getMediaGroups().contains(mediaGroup))
-				properties.add(prop.getName());
-		}
-
-		return properties;
-	}
-
-	/**
-	 * If itentifier is null, get all properties
-	 */
-	public static Vector propertiesFor(String identifier, boolean shorthands) {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// if identifier is null, get all properties
-		if (identifier == null)
-			return new Vector(instances.values());
-
-		if (cachedIdMap == null) {
-			// start cacheing
-			cachedIdMap = new Hashtable();
-		}
-		else {
-			// search cached
-			Object ret = cachedIdMap.get(identifier + String.valueOf(shorthands));
-			if (ret != null)
-				return new Vector((Collection) ret);
-		}
-
-		// create
-		Enumeration properties = getPropertyEnum();
-		HashSet set = new HashSet();
-		while (properties.hasMoreElements()) {
-			PropCMProperty prop = (PropCMProperty) properties.nextElement();
-			if (!shorthands && prop.isShorthand())
-				continue;
-			if (prop.canHave(identifier))
-				set.add(prop);
-		}
-
-		// cache
-		cachedIdMap.put(identifier + String.valueOf(shorthands), set);
-
-		return new Vector(set);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMFunction.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMFunction.java
deleted file mode 100644
index 03efc91..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMFunction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Set;
-
-/**
- * 
- */
-public class PropCMFunction extends PropCMNode {
-
-	private static java.util.Hashtable instances = null;
-	public final static String VAL_ATTR = "attr";//$NON-NLS-1$
-	public final static String VAL_COUNTER = "counter";//$NON-NLS-1$
-	public final static String VAL_RGB = "rgb";//$NON-NLS-1$
-	public final static String VAL_SHAPE = "rect";//$NON-NLS-1$
-	public final static String VAL_URI = "url";//$NON-NLS-1$
-	public final static String VAL_FORMAT = "format";//$NON-NLS-1$
-	public final static String VAL_LOCAL = "local";//$NON-NLS-1$
-
-	/**
-	 * 
-	 */
-	protected PropCMFunction(String name) {
-		super(name);
-	}
-
-	/**
-	 * 
-	 */
-	void getIdentifiers(Set indents) {
-	}
-
-	/**
-	 * 
-	 */
-	static public PropCMFunction getInstanceOf(String name) {
-		if (name == null)
-			return null;
-
-		// initialize
-		if (instances == null)
-			instances = new Hashtable(10);
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// query
-		Object node = instances.get(name);
-		if (node != null)
-			return (PropCMFunction) node;
-
-		// register
-		if (PropCMNode.isLoading()) {
-			node = new PropCMFunction(name);
-			instances.put(name, node);
-		}
-
-		return (PropCMFunction) node;
-	}
-
-	/**
-	 * 
-	 */
-	public short getType() {
-		return VAL_FUNC;
-	}
-
-	/**
-	 * 
-	 */
-	void getValues(Collection values) {
-		if (values != null && !values.contains(this))
-			values.add(this);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java
deleted file mode 100644
index 52a84df..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java
+++ /dev/null
@@ -1,1369 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.Vector;
-
-/**
- * 
- */
-public abstract class PropCMNode {
-
-	public final static short VAL_IDENTIFIER = 0;
-	public final static short VAL_PROPERTY = 1;
-	public final static short VAL_NUMBER = 2;
-	public final static short VAL_STRING = 3;
-	public final static short VAL_FUNC = 4;
-	public final static short VAL_CONTAINER = 5;
-	public final static short VAL_SUBPROPERTY = 6;
-	public final static short VAL_FONTPROPERTY = 7;
-	public final static short VAL_UNICODE_RANGE = 8;
-	protected java.lang.String name = null;
-	private static short LOADING = 0; // 0 : not initialized, 1 : under
-										// initializing, 2 : initialize-done
-										// and fix DB
-
-	/**
-	 * 
-	 */
-	public PropCMNode(String name) {
-		super();
-		this.name = name;
-	}
-
-	/**
-	 * 
-	 */
-	public Set getIdentifiers() {
-		HashSet ids = new HashSet();
-		getIdentifiers(ids);
-		return ids;
-	}
-
-	/**
-	 * 
-	 */
-	abstract void getIdentifiers(Set indents);
-
-	/**
-	 * 
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * 
-	 */
-	public abstract short getType();
-
-	/**
-	 * 
-	 */
-	public Collection getValues() {
-		Vector vals = new Vector();
-		getValues(vals);
-		return vals;
-	}
-
-	/**
-	 * 
-	 */
-	abstract void getValues(Collection values);
-
-	/**
-	 * 
-	 */
-	protected static void initPropertyCM() {
-		if (!isNeedInitialize())
-			return;
-		LOADING = 1;
-
-		PropCMNumber.initNumberCMDim();
-
-		// azimuth
-		PropCMProperty prop = PropCMProperty.getInstanceOf(PropCMProperty.P_AZIMUTH);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_ANGLE));
-		prop.appendChild(IValID.V_LEFT_SIDE);
-		prop.appendChild(IValID.V_FAR_LEFT);
-		prop.appendChild(IValID.V_LEFT);
-		prop.appendChild(IValID.V_CENTER_LEFT);
-		prop.appendChild(IValID.V_CENTER);
-		prop.appendChild(IValID.V_CENTER_RIGHT);
-		prop.appendChild(IValID.V_RIGHT);
-		prop.appendChild(IValID.V_FAR_RIGHT);
-		prop.appendChild(IValID.V_RIGHT_SIDE);
-		prop.appendChild(IValID.V_BEHIND);
-		prop.appendChild(IValID.V_LEFTWARDS);
-		prop.appendChild(IValID.V_RIGHTWARDS);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-		prop.setMaxValueCount(2);
-
-		// background
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_COLOR));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_IMAGE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_REPEAT));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_POSITION));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.setMaxValueCount(6);
-
-		// background-attachment
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT);
-		prop.appendChild(IValID.V_SCROLL);
-		prop.appendChild(IValID.V_FIXED);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// background-color
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_COLOR);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendChild(IValID.V_TRANSPARENT);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// background-image
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_IMAGE);
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_URI));
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// background-position ---- sub-properties horizontal
-		prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_LEFT);
-		prop.appendChild(IValID.V_CENTER);
-		prop.appendChild(IValID.V_RIGHT);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// background-position ---- sub-properties vertical
-		prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_TOP);
-		prop.appendChild(IValID.V_CENTER);
-		prop.appendChild(IValID.V_BOTTOM);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// background-position
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_POSITION);
-		prop.appendChild(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X));
-		prop.appendChild(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y));
-		prop.setMaxValueCount(2);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// background-repeat
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_REPEAT);
-		prop.appendChild(IValID.V_REPEAT);
-		prop.appendChild(IValID.V_REPEAT_X);
-		prop.appendChild(IValID.V_REPEAT_Y);
-		prop.appendChild(IValID.V_NO_REPEAT);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_STYLE));
-		// prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLOR));
-		prop.setMaxValueCount(9);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-collapse
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLLAPSE);
-		prop.appendChild(IValID.V_COLLAPSE);
-		prop.appendChild(IValID.V_SEPARATE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-color
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLOR);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_COLOR));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_COLOR));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_COLOR));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_COLOR));
-		// prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendChild(IValID.V_TRANSPARENT);
-		prop.setMaxValueCount(4);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-spacing
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_SPACING);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.setMaxValueCount(2);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-style
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_STYLE);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_STYLE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_STYLE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_STYLE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_STYLE));
-		// prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE));
-		prop.setMaxValueCount(4);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-top
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_STYLE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_COLOR));
-		prop.setMaxValueCount(3);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-right
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_STYLE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_COLOR));
-		prop.setMaxValueCount(3);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-bottom
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_STYLE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_COLOR));
-		prop.setMaxValueCount(3);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-left
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_STYLE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_COLOR));
-		prop.setMaxValueCount(3);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-top-color
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_COLOR);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-top-style
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_STYLE);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-top-width
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_WIDTH);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-right-color
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_COLOR);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-right-style
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_STYLE);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-right-width
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_WIDTH);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-bottom-color
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_COLOR);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-bottom-style
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_STYLE);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-bottom-width
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_WIDTH);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-left-color
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_COLOR);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-left-style
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_STYLE);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-left-width
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_WIDTH);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// border-width
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH);
-		// prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_WIDTH));
-		prop.setMaxValueCount(4);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// bottom
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOTTOM);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// caption-side
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CAPTION_SIDE);
-		prop.appendChild(IValID.V_TOP);
-		prop.appendChild(IValID.V_BOTTOM);
-		prop.appendChild(IValID.V_LEFT);
-		prop.appendChild(IValID.V_RIGHT);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// clear
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CLEAR);
-		prop.appendChild(IValID.V_LEFT);
-		prop.appendChild(IValID.V_RIGHT);
-		prop.appendChild(IValID.V_BOTH);
-		prop.appendChild(IValID.V_STATIC);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// clip ---- sub-properties top
-		prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_TOP);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(IValID.V_AUTO);
-		((PropCMSubProperty) prop).setContainer(PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// clip ---- sub-properties right
-		prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_RIGHT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(IValID.V_AUTO);
-		((PropCMSubProperty) prop).setContainer(PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// clip ---- sub-properties bottom
-		prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_BOTTOM);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(IValID.V_AUTO);
-		((PropCMSubProperty) prop).setContainer(PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// clip ---- sub-properties left
-		prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_LEFT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(IValID.V_AUTO);
-		((PropCMSubProperty) prop).setContainer(PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// clip
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP);
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_SHAPE));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// color
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLOR);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// content
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CONTENT);
-		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_ANY));
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_URI));
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_COUNTER));
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_ATTR));
-		prop.appendChild(IValID.V_OPEN_QUOTE);
-		prop.appendChild(IValID.V_CLOSE_QUOTE);
-		prop.appendChild(IValID.V_NO_OPEN_QUOTE);
-		prop.appendChild(IValID.V_NO_CLOSE_QUOTE);
-		prop.setMaxValueCount(-1); // infinite
-		prop.appendMediaGroup(IMediaGroupID.M_ALL);
-
-		// counter-increment
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COUNTER_INCREMENT);
-		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_COUNTER_ID));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
-		prop.appendChild(IValID.V_NONE);
-		prop.setMaxValueCount(-1);
-		prop.appendMediaGroup(IMediaGroupID.M_ALL);
-
-		// counter-reset
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COUNTER_RESET);
-		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_COUNTER_ID));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
-		prop.appendChild(IValID.V_NONE);
-		prop.setMaxValueCount(-1);
-		prop.appendMediaGroup(IMediaGroupID.M_ALL);
-
-		// cue
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CUE);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_CUE_BEFORE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_CUE_AFTER));
-		prop.setMaxValueCount(2);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// cue-after
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CUE_AFTER);
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_URI));
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// cue-before
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CUE_BEFORE);
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_URI));
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// cursor
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CURSOR);
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_URI));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendChild(IValID.V_CROSSHAIR);
-		prop.appendChild(IValID.V_DEFAULT);
-		prop.appendChild(IValID.V_POINTER);
-		prop.appendChild(IValID.V_MOVE);
-		prop.appendChild(IValID.V_E_RESIZE);
-		prop.appendChild(IValID.V_NE_RESIZE);
-		prop.appendChild(IValID.V_NW_RESIZE);
-		prop.appendChild(IValID.V_N_RESIZE);
-		prop.appendChild(IValID.V_SE_RESIZE);
-		prop.appendChild(IValID.V_SW_RESIZE);
-		prop.appendChild(IValID.V_S_RESIZE);
-		prop.appendChild(IValID.V_W_RESIZE);
-		prop.appendChild(IValID.V_TEXT);
-		prop.appendChild(IValID.V_WAIT);
-		prop.appendChild(IValID.V_HELP);
-		prop.setMaxValueCount(-1); // infinite
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_INTERACTIVE);
-
-		// direction
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_DIRECTION);
-		prop.appendChild(IValID.V_LTR);
-		prop.appendChild(IValID.V_RTL);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// display
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_DISPLAY);
-		prop.appendChild(IValID.V_INLINE);
-		prop.appendChild(IValID.V_BLOCK);
-		prop.appendChild(IValID.V_LIST_ITEM);
-		prop.appendChild(IValID.V_RUN_IN);
-		prop.appendChild(IValID.V_COMPACT);
-		prop.appendChild(IValID.V_MARKER);
-		prop.appendChild(IValID.V_TABLE);
-		prop.appendChild(IValID.V_INLINE_TABLE);
-		prop.appendChild(IValID.V_TABLE_ROW_GROUP);
-		prop.appendChild(IValID.V_TABLE_HEADER_GROUP);
-		prop.appendChild(IValID.V_TABLE_FOOTER_GROUP);
-		prop.appendChild(IValID.V_TABLE_ROW);
-		prop.appendChild(IValID.V_TABLE_COLUMN_GROUP);
-		prop.appendChild(IValID.V_TABLE_COLUMN);
-		prop.appendChild(IValID.V_TABLE_CELL);
-		prop.appendChild(IValID.V_TABLE_CAPTION);
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_ALL);
-
-		// elevation
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_ELEVATION);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_ANGLE));
-		prop.appendChild(IValID.V_BELOW);
-		prop.appendChild(IValID.V_LEVEL);
-		prop.appendChild(IValID.V_ABOVE);
-		prop.appendChild(IValID.V_HIGHER);
-		prop.appendChild(IValID.V_LOWER);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// empty-cells
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_EMPTY_CELLS);
-		prop.appendChild(IValID.V_SHOW);
-		prop.appendChild(IValID.V_HIDE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// float
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_FLOAT);
-		prop.appendChild(IValID.V_LEFT);
-		prop.appendChild(IValID.V_RIGHT);
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// font
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_STYLE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_VARIANT));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_WEIGHT));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_SIZE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_LINE_HEIGHT));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_FAMILY));
-		prop.appendChild(IValID.V_CAPTION);
-		prop.appendChild(IValID.V_ICON);
-		prop.appendChild(IValID.V_MENU);
-		prop.appendChild(IValID.V_MESSAGE_BOX);
-		prop.appendChild(IValID.V_SMALL_CAPTION);
-		prop.appendChild(IValID.V_STATUS_BAR);
-		prop.setMaxValueCount(-1);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// font-family
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_FAMILY);
-		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_FONT));
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_GENERIC_FAMILY));
-		prop.setMaxValueCount(-1);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// font-size
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_SIZE);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_ABSOLUTE_SIZE));
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_RELATIVE_SIZE));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// font-size-adjust
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_SIZE_ADJUST);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// font-stretch
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_STRETCH);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(IValID.V_WIDER);
-		prop.appendChild(IValID.V_NARROWER);
-		prop.appendChild(IValID.V_ULTRA_CONDENSED);
-		prop.appendChild(IValID.V_EXTRA_CONDENSED);
-		prop.appendChild(IValID.V_CONDENSED);
-		prop.appendChild(IValID.V_SEMI_CONDENSED);
-		prop.appendChild(IValID.V_SEMI_EXPANDED);
-		prop.appendChild(IValID.V_EXPANDED);
-		prop.appendChild(IValID.V_EXTRA_EXPANDED);
-		prop.appendChild(IValID.V_ULTRA_EXPANDED);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// font-style
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_STYLE);
-		prop.appendChild(IValID.V_ITALIC);
-		prop.appendChild(IValID.V_OBLIQUE);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// font-variant
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_VARIANT);
-		prop.appendChild(IValID.V_SMALL_CAPS);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// font-weight
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_WEIGHT);
-		prop.appendChild(IValID.V_BOLD);
-		prop.appendChild(IValID.V_100);
-		prop.appendChild(IValID.V_200);
-		prop.appendChild(IValID.V_300);
-		prop.appendChild(IValID.V_400);
-		prop.appendChild(IValID.V_500);
-		prop.appendChild(IValID.V_600);
-		prop.appendChild(IValID.V_700);
-		prop.appendChild(IValID.V_800);
-		prop.appendChild(IValID.V_900);
-		prop.appendChild(IValID.V_LIGHTER);
-		prop.appendChild(IValID.V_BOLDER);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// height
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_HEIGHT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// leftt
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_LEFT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// letter-spacing
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_LETTER_SPACING);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// line-height
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_LINE_HEIGHT);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// list-style
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_TYPE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_POSITION));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_IMAGE));
-		prop.setMaxValueCount(3);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// list-style-image
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_IMAGE);
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_URI));
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// list-style-position
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_POSITION);
-		prop.appendChild(IValID.V_INSIDE);
-		prop.appendChild(IValID.V_OUTSIDE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// list-style-type
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_TYPE);
-		prop.appendChild(IValID.V_DISC);
-		prop.appendChild(IValID.V_CIRCLE);
-		prop.appendChild(IValID.V_SQUARE);
-		prop.appendChild(IValID.V_DECIMAL);
-		prop.appendChild(IValID.V_DECIMAL_LEADING_ZERO);
-		prop.appendChild(IValID.V_LOWER_ROMAN);
-		prop.appendChild(IValID.V_UPPER_ROMAN);
-		prop.appendChild(IValID.V_LOWER_GREEK);
-		prop.appendChild(IValID.V_LOWER_ALPHA);
-		prop.appendChild(IValID.V_LOWER_LATIN);
-		prop.appendChild(IValID.V_UPPER_ALPHA);
-		prop.appendChild(IValID.V_UPPER_LATIN);
-		prop.appendChild(IValID.V_HEBREW);
-		prop.appendChild(IValID.V_ARMENIAN);
-		prop.appendChild(IValID.V_GEORGIAN);
-		prop.appendChild(IValID.V_CJK_IDEOGRAPHIC);
-		prop.appendChild(IValID.V_HIRAGANA);
-		prop.appendChild(IValID.V_KATAKANA);
-		prop.appendChild(IValID.V_HIRAGANA_IROHA);
-		prop.appendChild(IValID.V_KATAKANA_IROHA);
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// margin
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN);
-		// prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_MARGIN_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_TOP));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_RIGHT));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_BOTTOM));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_LEFT));
-		prop.setMaxValueCount(4);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// margin-top
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_TOP);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_MARGIN_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// margin-right
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_RIGHT);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_MARGIN_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// margin-bottom
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_BOTTOM);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_MARGIN_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// margin-left
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_LEFT);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_MARGIN_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// marker-offset
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MARKER_OFFSET);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// marks
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MARKS);
-		prop.appendChild(IValID.V_CROP);
-		prop.appendChild(IValID.V_CROSS);
-		prop.appendChild(IValID.V_NONE);
-		prop.setMaxValueCount(2);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_PAGED);
-
-		// max-height
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MAX_HEIGHT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// max-width
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MAX_WIDTH);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// min-height
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MIN_HEIGHT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// min-width
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_MIN_WIDTH);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// orphans
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_ORPHANS);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_PAGED);
-
-		// outline
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE);
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_COLOR));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_STYLE));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_WIDTH));
-		prop.setMaxValueCount(3);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_INTERACTIVE);
-
-		// outline-color
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_COLOR);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendChild(IValID.V_INVERT);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_INTERACTIVE);
-
-		// outline-style
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_STYLE);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_INTERACTIVE);
-
-		// outline-width
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_WIDTH);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_INTERACTIVE);
-
-		// overflow
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_OVERFLOW);
-		prop.appendChild(IValID.V_VISIBLE);
-		prop.appendChild(IValID.V_HIDDEN);
-		prop.appendChild(IValID.V_SCROLL);
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// padding
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING);
-		// prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_PADDING_WIDTH));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_TOP));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_RIGHT));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_BOTTOM));
-		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_LEFT));
-		prop.setMaxValueCount(4);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// padding-top
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_TOP);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_PADDING_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// padding-right
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_RIGHT);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_PADDING_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// padding-bottom
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_BOTTOM);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_PADDING_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// padding-left
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_LEFT);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_PADDING_WIDTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// page
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE);
-		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_PAGE_ID));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_PAGED);
-
-		// page-break-after
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE_BREAK_AFTER);
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendChild(IValID.V_ALWAYS);
-		prop.appendChild(IValID.V_AVOID);
-		prop.appendChild(IValID.V_LEFT);
-		prop.appendChild(IValID.V_RIGHT);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_PAGED);
-
-		// page-break-before
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE_BREAK_BEFORE);
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendChild(IValID.V_ALWAYS);
-		prop.appendChild(IValID.V_AVOID);
-		prop.appendChild(IValID.V_LEFT);
-		prop.appendChild(IValID.V_RIGHT);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_PAGED);
-
-		// page-break-inside
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE_BREAK_INSIDE);
-		prop.appendChild(IValID.V_AVOID);
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_PAGED);
-
-		// pause
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PAUSE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_TIME));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.setMaxValueCount(2);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// pause-after
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PAUSE_AFTER);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_TIME));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// pause-before
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PAUSE_BEFORE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_TIME));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// pitch
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PITCH);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_FREQUENCY));
-		prop.appendChild(IValID.V_X_LOW);
-		prop.appendChild(IValID.V_LOW);
-		prop.appendChild(IValID.V_MEDIUM);
-		prop.appendChild(IValID.V_HIGH);
-		prop.appendChild(IValID.V_X_HIGH);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// pitch-range
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PITCH_RANGE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// play-during
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_PLAY_DURING);
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_URI));
-		prop.appendChild(IValID.V_MIX);
-		prop.appendChild(IValID.V_REPEAT);
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendChild(IValID.V_NONE);
-		prop.setMaxValueCount(3);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// position
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_POSITION);
-		prop.appendChild(IValID.V_ABSOLUTE);
-		prop.appendChild(IValID.V_RELATIVE);
-		prop.appendChild(IValID.V_FIXED);
-		prop.appendChild(IValID.V_STATIC);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// quotes
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_QUOTES);
-		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_ANY));
-		prop.appendChild(IValID.V_NONE);
-		prop.setMaxValueCount(-1);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// richness
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_RICHNESS);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// right
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_RIGHT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// size
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_SIZE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendChild(IValID.V_PORTRAIT);
-		prop.appendChild(IValID.V_LANDSCAPE);
-		prop.setMaxValueCount(2);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_PAGED);
-
-		// speak
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(IValID.V_NONE);
-		prop.appendChild(IValID.V_SPELL_OUT);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// speak-header
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK_HEADER);
-		prop.appendChild(IValID.V_ONCE);
-		prop.appendChild(IValID.V_ALWAYS);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// speak-numeral
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK_NUMERAL);
-		prop.appendChild(IValID.V_DIGITS);
-		prop.appendChild(IValID.V_CONTINUOUS);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// speak-punctuation
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK_PUNCTUATION);
-		prop.appendChild(IValID.V_CODE);
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// speech-rate
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_SPEECH_RATE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-		prop.appendChild(IValID.V_X_SLOW);
-		prop.appendChild(IValID.V_SLOW);
-		prop.appendChild(IValID.V_MEDIUM);
-		prop.appendChild(IValID.V_FAST);
-		prop.appendChild(IValID.V_X_FAST);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// stress
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_STRESS);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// table-layout
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TABLE_LAYOUT);
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendChild(IValID.V_FIXED);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// text-align
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_ALIGN);
-		prop.appendChild(IValID.V_LEFT);
-		prop.appendChild(IValID.V_CENTER);
-		prop.appendChild(IValID.V_RIGHT);
-		prop.appendChild(IValID.V_JUSTIFY);
-		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_ANY));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// text-decoration
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_DECORATION);
-		prop.appendChild(IValID.V_UNDERLINE);
-		prop.appendChild(IValID.V_OVERLINE);
-		prop.appendChild(IValID.V_LINE_THROUGH);
-		prop.appendChild(IValID.V_BLINK);
-		prop.appendChild(IValID.V_NONE);
-		prop.setMaxValueCount(4);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// text-indent
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_INDENT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// text-shadow
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_SHADOW);
-		prop.appendChild(IValID.V_NONE);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.setMaxValueCount(-1);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// text-transform
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_TRANSFORM);
-		prop.appendChild(IValID.V_CAPITALIZE);
-		prop.appendChild(IValID.V_UPPERCASE);
-		prop.appendChild(IValID.V_LOWERCASE);
-		prop.appendChild(IValID.V_NONE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// top
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TOP);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// unicode-bidi
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_UNICODE_BIDI);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(IValID.V_EMBED);
-		prop.appendChild(IValID.V_BIDI_OVERRIDE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// vertical-align
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_VERTICAL_ALIGN);
-		prop.appendChild(IValID.V_BOTTOM);
-		prop.appendChild(IValID.V_TEXT_BOTTOM);
-		prop.appendChild(IValID.V_SUB);
-		prop.appendChild(IValID.V_BASELINE);
-		prop.appendChild(IValID.V_MIDDLE);
-		prop.appendChild(IValID.V_SUPER);
-		prop.appendChild(IValID.V_TEXT_TOP);
-		prop.appendChild(IValID.V_TOP);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// visibility
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_VISIBILITY);
-		prop.appendChild(IValID.V_VISIBLE);
-		prop.appendChild(IValID.V_HIDDEN);
-		prop.appendChild(IValID.V_COLLAPSE);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// voice-family
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_VOICE_FAMILY);
-		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_VOICE));
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_GENERIC_VOICE));
-		prop.setMaxValueCount(-1);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// volume
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_VOLUME);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_SILENT);
-		prop.appendChild(IValID.V_X_SOFT);
-		prop.appendChild(IValID.V_SOFT);
-		prop.appendChild(IValID.V_MEDIUM);
-		prop.appendChild(IValID.V_LOUD);
-		prop.appendChild(IValID.V_X_LOUD);
-		prop.appendMediaGroup(IMediaGroupID.M_AURAL);
-
-		// white-space
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_WHITE_SPACE);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(IValID.V_PRE);
-		prop.appendChild(IValID.V_NOWRAP);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// widows
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_WIDOWS);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-		prop.appendMediaGroup(IMediaGroupID.M_PAGED);
-
-		// width
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_WIDTH);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// word-spacing
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_WORD_SPACING);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		// z-index
-		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_Z_INDEX);
-		prop.appendChild(IValID.V_AUTO);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
-		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
-
-		/** ******** font properties ********* */
-		// font-family
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_FONT_FAMILY);
-		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_FONT));
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_GENERIC_FAMILY));
-		prop.setMaxValueCount(-1);
-
-		// font-style
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_FONT_STYLE);
-		prop.appendChild(IValID.V_ITALIC);
-		prop.appendChild(IValID.V_OBLIQUE);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(IValID.V_ALL);
-		prop.setMaxValueCount(-1);
-
-		// font-variant
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_FONT_VARIANT);
-		prop.appendChild(IValID.V_SMALL_CAPS);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.setMaxValueCount(-1);
-
-		// font-weight
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_FONT_WEIGHT);
-		prop.appendChild(IValID.V_BOLD);
-		prop.appendChild(IValID.V_100);
-		prop.appendChild(IValID.V_200);
-		prop.appendChild(IValID.V_300);
-		prop.appendChild(IValID.V_400);
-		prop.appendChild(IValID.V_500);
-		prop.appendChild(IValID.V_600);
-		prop.appendChild(IValID.V_700);
-		prop.appendChild(IValID.V_800);
-		prop.appendChild(IValID.V_900);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(IValID.V_ALL);
-		prop.setMaxValueCount(-1);
-
-		// font-stretch
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_FONT_STRETCH);
-		prop.appendChild(IValID.V_NORMAL);
-		prop.appendChild(IValID.V_ULTRA_CONDENSED);
-		prop.appendChild(IValID.V_EXTRA_CONDENSED);
-		prop.appendChild(IValID.V_CONDENSED);
-		prop.appendChild(IValID.V_SEMI_CONDENSED);
-		prop.appendChild(IValID.V_SEMI_EXPANDED);
-		prop.appendChild(IValID.V_EXPANDED);
-		prop.appendChild(IValID.V_EXTRA_EXPANDED);
-		prop.appendChild(IValID.V_ULTRA_EXPANDED);
-		prop.appendChild(IValID.V_ALL);
-		prop.setMaxValueCount(-1);
-
-		// font-size
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_FONT_SIZE);
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_ABSOLUTE_SIZE));
-		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_RELATIVE_SIZE));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		prop.appendChild(IValID.V_ALL);
-		prop.setMaxValueCount(-1);
-
-		// unicode-range
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_UNICODE_RANGE);
-		prop.appendChild(PropCMURange.getInstanceOf(PropCMURange.VAL_URANGE));
-		prop.setMaxValueCount(-1);
-
-		// units-per-em
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_UNITS_PER_EM);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// src
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_SRC);
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_URI));
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_FORMAT));
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_LOCAL));
-		prop.setMaxValueCount(-1);
-
-		// panose-1
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_PANOSE_1);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
-		prop.setMaxValueCount(10);
-
-		// stemv
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_STEMV);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// stemh
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_STEMH);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// slope
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_SLOPE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// cap-height
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_CAP_HEIGHT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// x-height
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_X_HEIGHT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// ascent
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_ASCENT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// descent
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_DESCENT);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// widths
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_WIDTHS);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-		prop.appendChild(PropCMURange.getInstanceOf(PropCMURange.VAL_URANGE));
-		prop.setMaxValueCount(-1);
-
-		// bbox
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_BBOX);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-		prop.setMaxValueCount(4);
-		prop.setMaxValueCount(4);
-
-		// definition-src
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_DEFINITION_SRC);
-		prop.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_URI));
-
-		// baseline
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_BASELINE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// centerline
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_CENTERLINE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// mathline
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_MATHLINE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		// topline
-		prop = PropCMFontProperty.getInstanceOf(PropCMFontProperty.PF_TOPLINE);
-		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
-
-		/** ******** containers ********* */
-
-		// absolute-size
-		PropCMContainer cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_ABSOLUTE_SIZE);
-		cont.appendChild(IValID.V_XX_SMALL);
-		cont.appendChild(IValID.V_X_SMALL);
-		cont.appendChild(IValID.V_SMALL);
-		cont.appendChild(IValID.V_MEDIUM);
-		cont.appendChild(IValID.V_LARGE);
-		cont.appendChild(IValID.V_X_LARGE);
-		cont.appendChild(IValID.V_XX_LARGE);
-
-		// border-style
-		cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE);
-		cont.appendChild(IValID.V_SOLID);
-		cont.appendChild(IValID.V_DASHED);
-		cont.appendChild(IValID.V_DOTTED);
-		cont.appendChild(IValID.V_DOUBLE);
-		cont.appendChild(IValID.V_GROOVE);
-		cont.appendChild(IValID.V_RIDGE);
-		cont.appendChild(IValID.V_INSET);
-		cont.appendChild(IValID.V_OUTSET);
-		cont.appendChild(IValID.V_HIDDEN);
-		cont.appendChild(IValID.V_NONE);
-
-		// border-width
-		cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH);
-		cont.appendChild(IValID.V_THIN);
-		cont.appendChild(IValID.V_MEDIUM);
-		cont.appendChild(IValID.V_THICK);
-		cont.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-
-		// color
-		cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR);
-		cont.appendChild(IValID.V_AQUA);
-		cont.appendChild(IValID.V_BLACK);
-		cont.appendChild(IValID.V_BLUE);
-		cont.appendChild(IValID.V_FUCHSIA);
-		cont.appendChild(IValID.V_GRAY);
-		cont.appendChild(IValID.V_GREEN);
-		cont.appendChild(IValID.V_LIME);
-		cont.appendChild(IValID.V_MAROON);
-		cont.appendChild(IValID.V_NAVY);
-		cont.appendChild(IValID.V_OLIVE);
-		cont.appendChild(IValID.V_PURPLE);
-		cont.appendChild(IValID.V_RED);
-		cont.appendChild(IValID.V_SILVER);
-		cont.appendChild(IValID.V_TEAL);
-		cont.appendChild(IValID.V_WHITE);
-		cont.appendChild(IValID.V_YELLOW);
-		cont.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_SYSTEM_COLOR));
-		cont.appendChild(PropCMFunction.getInstanceOf(PropCMFunction.VAL_RGB));
-		cont.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_HASH));
-
-		// system color
-		cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_SYSTEM_COLOR);
-		cont.appendChild(IValID.V_ACTIVEBORDER);
-		cont.appendChild(IValID.V_ACTIVECAPTION);
-		cont.appendChild(IValID.V_APPWORKSPACE);
-		cont.appendChild(IValID.V_BACKGROUND);
-		cont.appendChild(IValID.V_BUTTONFACE);
-		cont.appendChild(IValID.V_BUTTONHIGHLIGHT);
-		cont.appendChild(IValID.V_BUTTONSHADOW);
-		cont.appendChild(IValID.V_BUTTONTEXT);
-		cont.appendChild(IValID.V_CAPTIONTEXT);
-		cont.appendChild(IValID.V_GRAYTEXT);
-		cont.appendChild(IValID.V_HIGHLIGHT);
-		cont.appendChild(IValID.V_HIGHLIGHTTEXT);
-		cont.appendChild(IValID.V_INACTIVEBORDER);
-		cont.appendChild(IValID.V_INACTIVECAPTION);
-		cont.appendChild(IValID.V_INACTIVECAPTIONTEXT);
-		cont.appendChild(IValID.V_INFOBACKGROUND);
-		cont.appendChild(IValID.V_INFOTEXT);
-		cont.appendChild(IValID.V_MENU);
-		cont.appendChild(IValID.V_MENUTEXT);
-		cont.appendChild(IValID.V_SCROLLBAR);
-		cont.appendChild(IValID.V_THREEDDARKSHADOW);
-		cont.appendChild(IValID.V_THREEDFACE);
-		cont.appendChild(IValID.V_THREEDHIGHLIGHT);
-		cont.appendChild(IValID.V_THREEDLIGHTSHADOW);
-		cont.appendChild(IValID.V_THREEDSHADOW);
-		cont.appendChild(IValID.V_WINDOW);
-		cont.appendChild(IValID.V_WINDOWFRAME);
-		cont.appendChild(IValID.V_WINDOWTEXT);
-
-		// generic-family
-		cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_GENERIC_FAMILY);
-		cont.appendChild(IValID.V_SERIF);
-		cont.appendChild(IValID.V_SANS_SERIF);
-		cont.appendChild(IValID.V_CURSIVE);
-		cont.appendChild(IValID.V_FANTASY);
-		cont.appendChild(IValID.V_MONOSPACE);
-
-		// generic-voice
-		cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_GENERIC_VOICE);
-		cont.appendChild(IValID.V_MALE);
-		cont.appendChild(IValID.V_FEMALE);
-		cont.appendChild(IValID.V_CHILD);
-
-		// margin-width
-		cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_MARGIN_WIDTH);
-		cont.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		cont.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-		cont.appendChild(IValID.V_AUTO);
-
-		// padding-width
-		cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_PADDING_WIDTH);
-		cont.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
-		cont.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
-
-		// relative-size
-		cont = PropCMContainer.getContInstanceOf(PropCMContainer.VAL_RELATIVE_SIZE);
-		cont.appendChild(IValID.V_SMALLER);
-		cont.appendChild(IValID.V_LARGER);
-
-		LOADING = 2;
-	}
-
-	/**
-	 * 
-	 */
-	protected static boolean isLoading() {
-		return LOADING == 1;
-	}
-
-	/**
-	 * 
-	 */
-	protected static boolean isNeedInitialize() {
-		return LOADING == 0;
-	}
-
-	/**
-	 * 
-	 */
-	public String toString() {
-		return getName();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNumber.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNumber.java
deleted file mode 100644
index 2d13122..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNumber.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.w3c.dom.css.CSSPrimitiveValue;
-
-
-/**
- * 
- */
-public class PropCMNumber extends PropCMNode {
-
-	private static java.util.Hashtable instances = null;
-	public final static java.lang.String VAL_ANGLE = "angle";//$NON-NLS-1$
-	public final static java.lang.String VAL_FREQUENCY = "frequency";//$NON-NLS-1$
-	public final static java.lang.String VAL_INTEGER = "integer";//$NON-NLS-1$
-	public final static java.lang.String VAL_LENGTH = "length";//$NON-NLS-1$
-	public final static java.lang.String VAL_PERCENTAGE = "percentage";//$NON-NLS-1$
-	public final static java.lang.String VAL_TIME = "time";//$NON-NLS-1$
-	public final static java.lang.String VAL_HASH = "hash"; // for
-															// hex-color//$NON-NLS-1$
-	public final static java.lang.String VAL_NUM = "number";//$NON-NLS-1$
-	public final static String DIM_CM = "cm";//$NON-NLS-1$
-	public final static String DIM_DEG = "deg";//$NON-NLS-1$
-	public final static String DIM_EMS = "em";//$NON-NLS-1$
-	public final static String DIM_EXS = "ex";//$NON-NLS-1$
-	public final static String DIM_GRAD = "grad";//$NON-NLS-1$
-	public final static String DIM_HASH = "#";//$NON-NLS-1$
-	public final static String DIM_HZ = "Hz";//$NON-NLS-1$
-	public final static String DIM_IN = "in";//$NON-NLS-1$
-	public final static String DIM_INTEGER = "INTEGER";//$NON-NLS-1$
-	public final static String DIM_KHZ = "kHz";//$NON-NLS-1$
-	public final static String DIM_MM = "mm";//$NON-NLS-1$
-	public final static String DIM_MS = "ms";//$NON-NLS-1$
-	public final static String DIM_NUMBER = "NUMBER";//$NON-NLS-1$
-	public final static String DIM_PC = "pc";//$NON-NLS-1$
-	public final static String DIM_PERCENTAGE = "%";//$NON-NLS-1$
-	public final static String DIM_PT = "pt";//$NON-NLS-1$
-	public final static String DIM_PX = "px";//$NON-NLS-1$
-	public final static String DIM_RAD = "rad";//$NON-NLS-1$
-	public final static String DIM_S = "s";//$NON-NLS-1$
-	private java.util.Vector fDims = new Vector();
-
-	/**
-	 * 
-	 */
-	protected PropCMNumber(String name) {
-		super(name);
-	}
-
-	/**
-	 * 
-	 */
-	public static String getDimension(short primitiveType) {
-		switch (primitiveType) {
-			case CSSPrimitiveValue.CSS_CM :
-				return DIM_CM;
-			case CSSPrimitiveValue.CSS_DEG :
-				return DIM_DEG;
-			case CSSPrimitiveValue.CSS_EMS :
-				return DIM_EMS;
-			case CSSPrimitiveValue.CSS_EXS :
-				return DIM_EXS;
-			case CSSPrimitiveValue.CSS_GRAD :
-				return DIM_GRAD;
-			case ICSSPrimitiveValue.CSS_HASH :
-				return DIM_HASH; // prefix dimension ....
-			case CSSPrimitiveValue.CSS_HZ :
-				return DIM_HZ;
-			case CSSPrimitiveValue.CSS_IN :
-				return DIM_IN;
-			case ICSSPrimitiveValue.CSS_INTEGER :
-				return "";//$NON-NLS-1$
-			case CSSPrimitiveValue.CSS_KHZ :
-				return DIM_KHZ;
-			case CSSPrimitiveValue.CSS_MM :
-				return DIM_MM;
-			case CSSPrimitiveValue.CSS_MS :
-				return DIM_MS;
-			case CSSPrimitiveValue.CSS_NUMBER :
-				return "";//$NON-NLS-1$
-			case CSSPrimitiveValue.CSS_PC :
-				return DIM_PC;
-			case CSSPrimitiveValue.CSS_PERCENTAGE :
-				return DIM_PERCENTAGE;
-			case CSSPrimitiveValue.CSS_PT :
-				return DIM_PT;
-			case CSSPrimitiveValue.CSS_PX :
-				return DIM_PX;
-			case CSSPrimitiveValue.CSS_RAD :
-				return DIM_RAD;
-			case CSSPrimitiveValue.CSS_S :
-				return DIM_S;
-		}
-
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	public Set getDimensions() {
-		HashSet vals = new HashSet();
-		Iterator it = fDims.iterator();
-		while (it.hasNext()) {
-			vals.add(it.next());
-		}
-
-		return vals;
-	}
-
-	/**
-	 * 
-	 */
-	void getIdentifiers(Set indents) {
-	}
-
-	/**
-	 * 
-	 */
-	static public PropCMNumber getInstanceOf(String name) {
-		if (name == null)
-			return null;
-
-		// initialize
-		if (instances == null)
-			instances = new Hashtable(20);
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// query
-		Object node = instances.get(name);
-		if (node != null)
-			return (PropCMNumber) node;
-
-		// register
-		if (PropCMNode.isLoading()) {
-			node = new PropCMNumber(name);
-			instances.put(name, node);
-		}
-
-		return (PropCMNumber) node;
-	}
-
-	/**
-	 * 
-	 */
-	public short getType() {
-		return VAL_NUMBER;
-	}
-
-	/**
-	 * 
-	 */
-	void getValues(Collection values) {
-		if (values != null && !values.contains(this))
-			values.add(this);
-	}
-
-	/**
-	 * 
-	 */
-	static void initNumberCMDim() {
-		PropCMNumber num = getInstanceOf(VAL_ANGLE);
-		num.fDims.add(DIM_DEG);
-		num.fDims.add(DIM_GRAD);
-		num.fDims.add(DIM_RAD);
-
-		num = getInstanceOf(VAL_FREQUENCY);
-		num.fDims.add(DIM_HZ);
-		num.fDims.add(DIM_KHZ);
-
-		num = getInstanceOf(VAL_HASH);
-		num.fDims.add(DIM_HASH);
-
-		// num = getInstanceOf(VAL_INTEGER);
-		// num.fDims.add(DIM_INTEGER);
-
-		num = getInstanceOf(VAL_LENGTH);
-		num.fDims.add(DIM_CM);
-		num.fDims.add(DIM_EMS);
-		num.fDims.add(DIM_EXS);
-		num.fDims.add(DIM_IN);
-		num.fDims.add(DIM_MM);
-		num.fDims.add(DIM_PC);
-		num.fDims.add(DIM_PT);
-		num.fDims.add(DIM_PX);
-
-		// num = getInstanceOf(VAL_NUMBER);
-		// num.fDims.add(DIM_NUMBER);
-
-		num = getInstanceOf(VAL_PERCENTAGE);
-		num.fDims.add(DIM_PERCENTAGE);
-
-		num = getInstanceOf(VAL_TIME);
-		num.fDims.add(DIM_MS);
-		num.fDims.add(DIM_S);
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java
deleted file mode 100644
index bbab38f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-/**
- * 
- */
-public class PropCMProperty extends PropCMContainer {
-
-	// static fields
-	private static java.util.Hashtable instances = null;
-	private static java.util.Hashtable cachedIdMap = null;
-	public final static String P_AZIMUTH = "azimuth";//$NON-NLS-1$
-	public final static String P_BG = "background";//$NON-NLS-1$
-	public final static String P_BG_ATTACHMENT = "background-attachment";//$NON-NLS-1$
-	public final static String P_BG_COLOR = "background-color";//$NON-NLS-1$
-	public final static String P_BG_IMAGE = "background-image";//$NON-NLS-1$
-	public final static String P_BG_POSITION = "background-position";//$NON-NLS-1$
-	public final static String P_BG_REPEAT = "background-repeat";//$NON-NLS-1$
-	public final static String P_BORDER = "border";//$NON-NLS-1$
-	public final static String P_BORDER_COLLAPSE = "border-collapse";//$NON-NLS-1$
-	public final static String P_BORDER_COLOR = "border-color";//$NON-NLS-1$
-	public final static String P_BORDER_SPACING = "border-spacing";//$NON-NLS-1$
-	public final static String P_BORDER_STYLE = "border-style";//$NON-NLS-1$
-	public final static String P_BORDER_TOP = "border-top";//$NON-NLS-1$
-	public final static String P_BORDER_RIGHT = "border-right";//$NON-NLS-1$
-	public final static String P_BORDER_BOTTOM = "border-bottom";//$NON-NLS-1$
-	public final static String P_BORDER_LEFT = "border-left";//$NON-NLS-1$
-	public final static String P_BORDER_TOP_COLOR = "border-top-color";//$NON-NLS-1$
-	public final static String P_BORDER_RIGHT_COLOR = "border-right-color";//$NON-NLS-1$
-	public final static String P_BORDER_BOTTOM_COLOR = "border-bottom-color";//$NON-NLS-1$
-	public final static String P_BORDER_LEFT_COLOR = "border-left-color";//$NON-NLS-1$
-	public final static String P_BORDER_TOP_STYLE = "border-top-style";//$NON-NLS-1$
-	public final static String P_BORDER_RIGHT_STYLE = "border-right-style";//$NON-NLS-1$
-	public final static String P_BORDER_BOTTOM_STYLE = "border-bottom-style";//$NON-NLS-1$
-	public final static String P_BORDER_LEFT_STYLE = "border-left-style";//$NON-NLS-1$
-	public final static String P_BORDER_TOP_WIDTH = "border-top-width";//$NON-NLS-1$
-	public final static String P_BORDER_RIGHT_WIDTH = "border-right-width";//$NON-NLS-1$
-	public final static String P_BORDER_BOTTOM_WIDTH = "border-bottom-width";//$NON-NLS-1$
-	public final static String P_BORDER_LEFT_WIDTH = "border-left-width";//$NON-NLS-1$
-	public final static String P_BORDER_WIDTH = "border-width";//$NON-NLS-1$
-	public final static String P_BOTTOM = "bottom";//$NON-NLS-1$
-	public final static String P_CAPTION_SIDE = "caption-side";//$NON-NLS-1$
-	public final static String P_CLEAR = "clear";//$NON-NLS-1$
-	public final static String P_CLIP = "clip";//$NON-NLS-1$
-	public final static String P_COLOR = "color";//$NON-NLS-1$
-	public final static String P_CONTENT = "content";//$NON-NLS-1$
-	public final static String P_COUNTER_INCREMENT = "counter-increment";//$NON-NLS-1$
-	public final static String P_COUNTER_RESET = "counter-reset";//$NON-NLS-1$
-	public final static String P_CUE = "cue";//$NON-NLS-1$
-	public final static String P_CUE_AFTER = "cue-after";//$NON-NLS-1$
-	public final static String P_CUE_BEFORE = "cue-before";//$NON-NLS-1$
-	public final static String P_CURSOR = "cursor";//$NON-NLS-1$
-	public final static String P_DIRECTION = "direction";//$NON-NLS-1$
-	public final static String P_DISPLAY = "display";//$NON-NLS-1$
-	public final static String P_ELEVATION = "elevation";//$NON-NLS-1$
-	public final static String P_EMPTY_CELLS = "empty-cells";//$NON-NLS-1$
-	public final static String P_FLOAT = "float";//$NON-NLS-1$
-	public final static String P_FONT = "font";//$NON-NLS-1$
-	public final static String P_FONT_FAMILY = "font-family";//$NON-NLS-1$
-	public final static String P_FONT_SIZE = "font-size";//$NON-NLS-1$
-	public final static String P_FONT_SIZE_ADJUST = "font-size-adjust";//$NON-NLS-1$
-	public final static String P_FONT_STRETCH = "font-stretch";//$NON-NLS-1$
-	public final static String P_FONT_STYLE = "font-style";//$NON-NLS-1$
-	public final static String P_FONT_VARIANT = "font-variant";//$NON-NLS-1$
-	public final static String P_FONT_WEIGHT = "font-weight";//$NON-NLS-1$
-	public final static String P_HEIGHT = "height";//$NON-NLS-1$
-	public final static String P_LEFT = "left";//$NON-NLS-1$
-	public final static String P_LETTER_SPACING = "letter-spacing";//$NON-NLS-1$
-	public final static String P_LINE_HEIGHT = "line-height";//$NON-NLS-1$
-	public final static String P_LIST_STYLE = "list-style";//$NON-NLS-1$
-	public final static String P_LIST_STYLE_IMAGE = "list-style-image";//$NON-NLS-1$
-	public final static String P_LIST_STYLE_POSITION = "list-style-position";//$NON-NLS-1$
-	public final static String P_LIST_STYLE_TYPE = "list-style-type";//$NON-NLS-1$
-	public final static String P_MARGIN = "margin";//$NON-NLS-1$
-	public final static String P_MARGIN_TOP = "margin-top";//$NON-NLS-1$
-	public final static String P_MARGIN_RIGHT = "margin-right";//$NON-NLS-1$
-	public final static String P_MARGIN_BOTTOM = "margin-bottom";//$NON-NLS-1$
-	public final static String P_MARGIN_LEFT = "margin-left";//$NON-NLS-1$
-	public final static String P_MARKER_OFFSET = "marker-offset";//$NON-NLS-1$
-	public final static String P_MARKS = "marks";//$NON-NLS-1$
-	public final static String P_MAX_HEIGHT = "max-height";//$NON-NLS-1$
-	public final static String P_MAX_WIDTH = "max-width";//$NON-NLS-1$
-	public final static String P_MIN_HEIGHT = "min-height";//$NON-NLS-1$
-	public final static String P_MIN_WIDTH = "min-width";//$NON-NLS-1$
-	public final static String P_ORPHANS = "orphans";//$NON-NLS-1$
-	public final static String P_OUTLINE = "outline";//$NON-NLS-1$
-	public final static String P_OUTLINE_COLOR = "outline-color";//$NON-NLS-1$
-	public final static String P_OUTLINE_STYLE = "outline-style";//$NON-NLS-1$
-	public final static String P_OUTLINE_WIDTH = "outline-width";//$NON-NLS-1$
-	public final static String P_OVERFLOW = "overflow";//$NON-NLS-1$
-	public final static String P_PADDING = "padding";//$NON-NLS-1$
-	public final static String P_PADDING_TOP = "padding-top";//$NON-NLS-1$
-	public final static String P_PADDING_RIGHT = "padding-right";//$NON-NLS-1$
-	public final static String P_PADDING_BOTTOM = "padding-bottom";//$NON-NLS-1$
-	public final static String P_PADDING_LEFT = "padding-left";//$NON-NLS-1$
-	public final static String P_PAGE = "page";//$NON-NLS-1$
-	public final static String P_PAGE_BREAK_AFTER = "page-break-after";//$NON-NLS-1$
-	public final static String P_PAGE_BREAK_BEFORE = "page-break-before";//$NON-NLS-1$
-	public final static String P_PAGE_BREAK_INSIDE = "page-break-inside";//$NON-NLS-1$
-	public final static String P_PAUSE = "pause";//$NON-NLS-1$
-	public final static String P_PAUSE_AFTER = "pause-after";//$NON-NLS-1$
-	public final static String P_PAUSE_BEFORE = "pause-before";//$NON-NLS-1$
-	public final static String P_PITCH = "pitch";//$NON-NLS-1$
-	public final static String P_PITCH_RANGE = "pitch-range";//$NON-NLS-1$
-	public final static String P_PLAY_DURING = "play-during";//$NON-NLS-1$
-	public final static String P_POSITION = "position";//$NON-NLS-1$
-	public final static String P_QUOTES = "quotes";//$NON-NLS-1$
-	public final static String P_RICHNESS = "richness";//$NON-NLS-1$
-	public final static String P_RIGHT = "right";//$NON-NLS-1$
-	public final static String P_SIZE = "size";//$NON-NLS-1$
-	public final static String P_SPEAK = "speak";//$NON-NLS-1$
-	public final static String P_SPEAK_HEADER = "speak-header";//$NON-NLS-1$
-	public final static String P_SPEAK_NUMERAL = "speak-numeral";//$NON-NLS-1$
-	public final static String P_SPEAK_PUNCTUATION = "speak-punctuation";//$NON-NLS-1$
-	public final static String P_SPEECH_RATE = "speech-rate";//$NON-NLS-1$
-	public final static String P_STRESS = "stress";//$NON-NLS-1$
-	public final static String P_TABLE_LAYOUT = "table-layout";//$NON-NLS-1$
-	public final static String P_TEXT_ALIGN = "text-align";//$NON-NLS-1$
-	public final static String P_TEXT_DECORATION = "text-decoration";//$NON-NLS-1$
-	public final static String P_TEXT_INDENT = "text-indent";//$NON-NLS-1$
-	public final static String P_TEXT_SHADOW = "text-shadow";//$NON-NLS-1$
-	public final static String P_TEXT_TRANSFORM = "text-transform";//$NON-NLS-1$
-	public final static String P_TOP = "top";//$NON-NLS-1$
-	public final static String P_UNICODE_BIDI = "unicode-bidi";//$NON-NLS-1$
-	public final static String P_VERTICAL_ALIGN = "vertical-align";//$NON-NLS-1$
-	public final static String P_VISIBILITY = "visibility";//$NON-NLS-1$
-	public final static String P_VOICE_FAMILY = "voice-family";//$NON-NLS-1$
-	public final static String P_VOLUME = "volume";//$NON-NLS-1$
-	public final static String P_WHITE_SPACE = "white-space";//$NON-NLS-1$
-	public final static String P_WIDOWS = "widows";//$NON-NLS-1$
-	public final static String P_WIDTH = "width";//$NON-NLS-1$
-	public final static String P_WORD_SPACING = "word-spacing";//$NON-NLS-1$
-	public final static String P_Z_INDEX = "z-index";//$NON-NLS-1$
-	// instance fields
-	private int fMinValueCount = 1;
-	private int fMaxValueCount = 1;
-	private Object[] mediaGroups;
-	protected List containers;
-
-	/**
-	 * 
-	 */
-	protected PropCMProperty(String name) {
-		super(name);
-	}
-
-	/**
-	 * 
-	 */
-	Object appendChild(Object node) {
-		Object ret = super.appendChild(node);
-		if (node instanceof PropCMProperty) {
-			// register shorthand container
-			PropCMProperty cm = (PropCMProperty) node;
-			if (cm.containers == null)
-				cm.containers = new Vector();
-			if (!cm.containers.contains(this))
-				cm.containers.add(this);
-		}
-		return ret;
-	}
-
-	/**
-	 * 
-	 */
-	void appendMediaGroup(Object mg) {
-		if (mediaGroups == null)
-			mediaGroups = new Object[1];
-		else {
-			Object[] oldMediaGroups = mediaGroups;
-			mediaGroups = new Object[oldMediaGroups.length + 1];
-			System.arraycopy(oldMediaGroups, 0, mediaGroups, 0, oldMediaGroups.length);
-		}
-		mediaGroups[mediaGroups.length - 1] = mg;
-	}
-
-	/**
-	 * 
-	 */
-	public static PropCMProperty getInstanceOf(String name) {
-		// initialize
-		if (instances == null)
-			instances = new Hashtable(200);
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// query
-		Object node = instances.get(name);
-		if (node != null)
-			return (PropCMProperty) node;
-
-		// register
-		if (PropCMNode.isLoading()) {
-			node = new PropCMProperty(name);
-			instances.put(name, node);
-		}
-
-		return (PropCMProperty) node;
-	}
-
-	/**
-	 * 
-	 */
-	public int getMaxValueCount() {
-		return fMaxValueCount;
-	}
-
-	/**
-	 * 
-	 */
-	public List getMediaGroups() {
-		if (mediaGroups != null)
-			return Arrays.asList(mediaGroups);
-		else
-			return new ArrayList();
-	}
-
-	/**
-	 * 
-	 */
-	public int getMinValueCount() {
-		return fMinValueCount;
-	}
-
-	/**
-	 * 
-	 */
-	public static Enumeration getNameEnum() {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		return instances.keys();
-	}
-
-	/**
-	 * 
-	 */
-	public static Enumeration getPropertyEnum() {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		return instances.elements();
-	}
-
-	/**
-	 * 
-	 */
-	public int getShorthandContainerCount() {
-		return (containers == null) ? 0 : containers.size();
-	}
-
-	/**
-	 * 
-	 */
-	public short getType() {
-		return VAL_PROPERTY;
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isShorthand() {
-		int nChild = getNumChild();
-		for (int i = 0; i < nChild; i++) {
-			Object obj = getChildAt(i);
-			if (obj instanceof PropCMProperty && !(obj instanceof PropCMSubProperty))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	public static Vector names() {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		return new Vector(instances.keySet());
-	}
-
-	/**
-	 * 
-	 */
-	public static List names(Object mediaGroup) {
-		if (mediaGroup == null)
-			return names();
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		Vector properties = new Vector();
-
-		Iterator it = instances.values().iterator();
-		while (it.hasNext()) {
-			PropCMProperty prop = (PropCMProperty) it.next();
-			if (prop.getMediaGroups().contains(mediaGroup))
-				properties.add(prop.getName());
-		}
-
-		return properties;
-	}
-
-	/**
-	 * If identifier is null, get all properties
-	 */
-	public static Vector propertiesFor(String identifier, boolean shorthands) {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// if identifier is null, get all properties
-		if (identifier == null)
-			return new Vector(instances.values());
-
-		if (cachedIdMap == null) {
-			// start cacheing
-			cachedIdMap = new Hashtable();
-		}
-		else {
-			// search cached
-			Object ret = cachedIdMap.get(identifier + String.valueOf(shorthands));
-			if (ret != null)
-				return new Vector((Collection) ret);
-		}
-
-		// create
-		Enumeration propertyEnum = getPropertyEnum();
-		HashSet set = new HashSet();
-		while (propertyEnum.hasMoreElements()) {
-			PropCMProperty prop = (PropCMProperty) propertyEnum.nextElement();
-			if (!shorthands && prop.isShorthand())
-				continue;
-			if (prop.canHave(identifier))
-				set.add(prop);
-		}
-
-		// cache
-		cachedIdMap.put(identifier + String.valueOf(shorthands), set);
-
-		return new Vector(set);
-	}
-
-	/**
-	 * 
-	 */
-	protected void setMaxValueCount(int newMaxValueCount) {
-		fMaxValueCount = newMaxValueCount;
-	}
-
-	/**
-	 * 
-	 */
-	protected void setMinValueCount(int newMinValueCount) {
-		fMinValueCount = newMinValueCount;
-	}
-
-	/**
-	 * 
-	 */
-	public PropCMProperty shorthandContainerAt(int i) {
-		if (containers == null)
-			return null;
-		if (i < 0 || containers.size() <= i)
-			return null;
-		return (PropCMProperty) containers.get(i);
-	}
-
-	/**
-	 * 
-	 */
-	public Iterator shorthandContainerIterator() {
-		if (containers == null) {
-			return new Iterator() {
-				public boolean hasNext() {
-					return false;
-				}
-
-				public Object next() {
-					return null;
-				}
-
-				public void remove() {
-				}
-			};
-		}
-		else
-			return containers.iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMString.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMString.java
deleted file mode 100644
index a60b578..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMString.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Set;
-
-/**
- * 
- */
-public class PropCMString extends PropCMNode {
-
-	private static java.util.Hashtable instances = null;
-	public final static java.lang.String VAL_FONT = "font";//$NON-NLS-1$
-	public final static java.lang.String VAL_COUNTER_ID = "counterId";//$NON-NLS-1$
-	public final static java.lang.String VAL_PAGE_ID = "pageId";//$NON-NLS-1$
-	public final static java.lang.String VAL_VOICE = "voice";//$NON-NLS-1$
-	public final static java.lang.String VAL_ANY = "any"; // reserved
-															// name//$NON-NLS-1$
-
-	/**
-	 * 
-	 */
-	protected PropCMString(String name) {
-		super(name);
-	}
-
-	/**
-	 * 
-	 */
-	void getIdentifiers(Set indents) {
-	}
-
-	/**
-	 * 
-	 */
-	static public PropCMString getInstanceOf(String name) {
-		if (name == null)
-			return null;
-
-		// initialize
-		if (instances == null)
-			instances = new Hashtable(10);
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// query
-		Object node = instances.get(name);
-		if (node != null)
-			return (PropCMString) node;
-
-		// register
-		node = new PropCMString(name);
-		instances.put(name, node);
-
-		return (PropCMString) node;
-	}
-
-	/**
-	 * 
-	 */
-	public short getType() {
-		return VAL_STRING;
-	}
-
-	/**
-	 * 
-	 */
-	void getValues(Collection values) {
-		if (values != null && !values.contains(this))
-			values.add(this);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMSubProperty.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMSubProperty.java
deleted file mode 100644
index 81ebb37..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMSubProperty.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
-/**
- * 
- */
-public class PropCMSubProperty extends PropCMProperty {
-
-	// static fields
-	private static java.util.Hashtable instances = null;
-	public final static String PSUB_BG_POSITION_X = "background-positionH";//$NON-NLS-1$
-	public final static String PSUB_BG_POSITION_Y = "background-positionV";//$NON-NLS-1$
-	public final static String PSUB_CLIP_TOP = "clipTop";//$NON-NLS-1$
-	public final static String PSUB_CLIP_RIGHT = "clipRight";//$NON-NLS-1$
-	public final static String PSUB_CLIP_BOTTOM = "clipBottom";//$NON-NLS-1$
-	public final static String PSUB_CLIP_LEFT = "clipLeft";//$NON-NLS-1$
-
-	/**
-	 * 
-	 */
-	protected PropCMSubProperty(String name) {
-		super(name);
-	}
-
-	/**
-	 * 
-	 */
-	public PropCMProperty getContainer() {
-		return shorthandContainerAt(0);
-	}
-
-	/**
-	 * 
-	 */
-	public static PropCMProperty getInstanceOf(String name) {
-		// initialize
-		if (instances == null)
-			instances = new Hashtable(10);
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// query
-		Object node = instances.get(name);
-		if (node != null)
-			return (PropCMProperty) node;
-
-		// register
-		if (PropCMNode.isLoading()) {
-			node = new PropCMSubProperty(name);
-			instances.put(name, node);
-		}
-
-		return (PropCMProperty) node;
-	}
-
-	/**
-	 * 
-	 */
-	public static Enumeration getNameEnum() {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		return instances.keys();
-	}
-
-	/**
-	 * 
-	 */
-	public static Enumeration getPropertyEnum() {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		return instances.elements();
-	}
-
-	/**
-	 * 
-	 */
-	public short getType() {
-		return VAL_SUBPROPERTY;
-	}
-
-	/**
-	 * 
-	 */
-	public static Vector names() {
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		return new Vector(instances.keySet());
-	}
-
-	/**
-	 * 
-	 */
-	public void setContainer(PropCMProperty prop) {
-		if (containers == null)
-			containers = new Vector();
-		containers.clear();
-		containers.add(prop);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMURange.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMURange.java
deleted file mode 100644
index 3375715..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMURange.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Set;
-
-/**
- * 
- */
-public class PropCMURange extends PropCMNode {
-
-	private static java.util.Hashtable instances = null;
-	public final static String VAL_URANGE = "urange";//$NON-NLS-1$
-
-	/**
-	 * 
-	 */
-	protected PropCMURange(String name) {
-		super(name);
-	}
-
-	/**
-	 * 
-	 */
-	void getIdentifiers(Set indents) {
-	}
-
-	/**
-	 * 
-	 */
-	public static PropCMURange getInstanceOf(String name) {
-		if (name == null)
-			return null;
-
-		// initialize
-		if (instances == null)
-			instances = new Hashtable(10);
-
-		// Initialize of DB
-		if (isNeedInitialize())
-			PropCMNode.initPropertyCM();
-
-		// query
-		Object node = instances.get(name);
-		if (node != null)
-			return (PropCMURange) node;
-
-		// register
-		node = new PropCMURange(name);
-		instances.put(name, node);
-
-		return (PropCMURange) node;
-	}
-
-	/**
-	 * 
-	 */
-	public short getType() {
-		return VAL_UNICODE_RANGE;
-	}
-
-	/**
-	 * 
-	 */
-	void getValues(Collection values) {
-		if (values != null && !values.contains(this))
-			values.add(this);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMUtil.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMUtil.java
deleted file mode 100644
index 816ba37..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMUtil.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.contentmodel;
-
-
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * 
- */
-public class PropCMUtil {
-
-	/**
-	 * 
-	 */
-	public static void minus(Collection src, Collection ref) {
-		Iterator it = ref.iterator();
-		while (it.hasNext()) {
-			Object obj = it.next();
-			if (src.contains(obj))
-				src.remove(obj);
-		}
-		return;
-	}
-
-	/**
-	 * 
-	 */
-	public static void plus(Collection src, Collection ref) {
-		Iterator it = ref.iterator();
-		while (it.hasNext()) {
-			Object obj = it.next();
-			if (!src.contains(obj))
-				src.add(obj);
-		}
-		return;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/AbstractCSSNodeList.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/AbstractCSSNodeList.java
deleted file mode 100644
index eb10e00..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/AbstractCSSNodeList.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-
-
-/**
- * 
- */
-abstract class AbstractCSSNodeList {
-
-	protected Vector nodes = null;
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param ndoe
-	 *            com.ibm.sed.css.interfaces.CSSNode
-	 */
-	ICSSNode appendNode(ICSSNode node) {
-		if (node == null)
-			return null;
-		if (this.nodes == null)
-			this.nodes = new Vector();
-		this.nodes.addElement(node);
-		return node;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getLength() {
-		if (this.nodes == null)
-			return 0;
-		return this.nodes.size();
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param index
-	 *            int
-	 */
-	protected ICSSNode itemImpl(int index) {
-		if (this.nodes == null)
-			return null;
-		if (index < 0 || index >= this.nodes.size())
-			return null;
-		return (ICSSNode) this.nodes.elementAt(index);
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param index
-	 *            com.ibm.sed.css.interfaces.CSSNode
-	 */
-	ICSSNode removeNode(int index) {
-		if (this.nodes == null)
-			return null; // no node
-		if (index < 0 || index >= this.nodes.size())
-			return null; // invalid parameter
-
-		ICSSNode removed = (ICSSNode) this.nodes.elementAt(index);
-		this.nodes.removeElementAt(index);
-		return removed;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSAttrImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSAttrImpl.java
deleted file mode 100644
index 92d03de..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSAttrImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSNamedNodeMap;
-import org.eclipse.wst.css.core.document.ICSSNode;
-
-/**
- * 
- */
-class CSSAttrImpl extends CSSRegionContainer implements ICSSAttr {
-
-	private String fName = null;
-	private String fValue = null;
-	private CSSNodeImpl ownerCSSNode = null;
-
-	/**
-	 * CSSAttrImpl constructor comment.
-	 * 
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSRegionContainer
-	 */
-	CSSAttrImpl(CSSAttrImpl that) {
-		super(that);
-		this.fName = that.fName;
-		this.setValue(that.fValue);
-	}
-
-	/**
-	 * CSSAttr constructor comment.
-	 */
-	CSSAttrImpl(String name) {
-		super();
-		this.fName = name;
-	}
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		return new CSSAttrImpl(this);
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNamedNodeMap
-	 */
-	public ICSSNamedNodeMap getAttributes() {
-		return null;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public java.lang.String getName() {
-		return fName;
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return ATTR_NODE;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	public ICSSNode getOwnerCSSNode() {
-		return ownerCSSNode;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public java.lang.String getValue() {
-		return fValue;
-	}
-
-	/**
-	 * @return boolean
-	 * @param name
-	 *            java.lang.String
-	 */
-	protected boolean matchName(String name) {
-		if (name == null)
-			return /* (this.name == null) */false;
-		if (this.fName == null)
-			return false;
-		return this.fName.equals(name);
-	}
-
-	/**
-	 * 
-	 */
-	protected void notifyValueChanged(String oldValue) {
-		if (this.ownerCSSNode == null)
-			return;
-
-		// for model
-		ICSSDocument doc = ownerCSSNode.getContainerDocument();
-		if (doc == null)
-			return;
-		CSSModelImpl model = (CSSModelImpl) doc.getModel();
-		if (model == null)
-			return;
-		model.valueChanged(this, oldValue);
-
-		// for adapters
-		String value = getValue();
-		this.ownerCSSNode.notify(CHANGE, this, oldValue, value, this.ownerCSSNode.getStartOffset());
-	}
-
-	/**
-	 * @param newName
-	 *            java.lang.String
-	 */
-	protected void setName(java.lang.String newName) {
-		fName = newName;
-	}
-
-	/**
-	 * @param newOwnerCSSNode
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	protected void setOwnerCSSNode(CSSNodeImpl newOwnerCSSNode) {
-		ownerCSSNode = newOwnerCSSNode;
-	}
-
-	/**
-	 * @param newValue
-	 *            java.lang.String
-	 */
-	public void setValue(java.lang.String newValue) {
-		String oldValue = fValue;
-		fValue = newValue;
-
-		notifyValueChanged(oldValue);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSCharsetRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSCharsetRuleImpl.java
deleted file mode 100644
index 6fa8836..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSCharsetRuleImpl.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSCharsetRule;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.CSSUtil;
-
-
-/**
- * 
- */
-class CSSCharsetRuleImpl extends CSSRuleImpl implements ICSSCharsetRule {
-
-	/**
-	 * 
-	 */
-	CSSCharsetRuleImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSCharsetRuleImpl
-	 */
-	CSSCharsetRuleImpl(CSSCharsetRuleImpl that) {
-		super(that);
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSCharsetRuleImpl cloned = new CSSCharsetRuleImpl(this);
-
-		return cloned;
-	}
-
-	/**
-	 * The encoding information used in this <code>@charset</code> rule.
-	 * @exception org.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the specified encoding value has a
-	 *                syntax error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding
-	 *                rule is readonly.
-	 */
-	public String getEncoding() {
-		return CSSUtil.extractStringContents(getAttribute(ENCODING));
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return CHARSETRULE_NODE;
-	}
-
-	/**
-	 * The type of the rule, as defined above. The expectation is that
-	 * binding-specific casting methods can be used to cast down from an
-	 * instance of the <code>CSSRule</code> interface to the specific
-	 * derived interface implied by the <code>type</code>.
-	 */
-	public short getType() {
-		return CHARSET_RULE;
-	}
-
-	/**
-	 * 
-	 */
-	public void setEncoding(String encoding) throws org.w3c.dom.DOMException {
-		// pa_TODO css pref
-		// String quote =
-		// com.ibm.sse.editor.css.preferences.CSSPreferenceHelper.getInstance().getQuoteString((ICSSModel)getOwnerDocument().getModel());
-		String quote = CSSPreferenceHelper.getInstance().getQuoteString(null);
-		String enc = CSSUtil.extractStringContents(encoding);
-		quote = CSSUtil.detectQuote(enc, quote);
-		setAttribute(ENCODING, quote + enc + quote);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDeclarationItemParser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDeclarationItemParser.java
deleted file mode 100644
index aa99414..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDeclarationItemParser.java
+++ /dev/null
@@ -1,1077 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICounter;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.sse.core.internal.text.TextRegionListImpl;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.w3c.dom.css.CSSPrimitiveValue;
-
-
-/**
- * 
- */
-class CSSDeclarationItemParser {
-	/**
-	 * 
-	 */
-	final class FloatInfo {
-		/**
-		 * 
-		 */
-		FloatInfo(String text) {
-			parse(text);
-		}
-
-		/**
-		 * 
-		 */
-		void parse(String text) {
-			StringBuffer bufValue = new StringBuffer();
-			StringBuffer bufIdent = new StringBuffer();
-			boolean bNum = true;
-			int len = text.length();
-			for (int i = 0; i < len; i++) {
-				char c = text.charAt(i);
-				if (bNum) {
-					if ('0' <= c && c <= '9' || c == '.' || c == '+' || c == '-') {
-						bufValue.append(c);
-					}
-					else {
-						bufIdent.append(c);
-						bNum = false;
-					}
-				}
-				else {
-					bufIdent.append(c);
-				}
-			}
-			String valueStr = bufValue.toString();
-			fValue = Float.valueOf(valueStr).floatValue();
-			fIdentifier = bufIdent.toString();
-			fType = getFloatValueType(valueStr, fIdentifier);
-		}
-
-		/**
-		 * 
-		 */
-		float getValue() {
-			return fValue;
-		}
-
-		/**
-		 * 
-		 */
-		String getIdentifier() {
-			return fIdentifier;
-		}
-
-		/**
-		 * 
-		 */
-		short getValueType() {
-			return fType;
-		}
-
-		private float fValue = 0.0f;
-		private String fIdentifier = null;
-		private short fType = CSSPrimitiveValue.CSS_UNKNOWN;
-	}
-
-	final static int S_NORMAL = 0;
-	final static int S_FUNCTION = 1;
-	final static int S_FONT_SLASH = 2;
-	final static int S_COMMA_SEPARATION = 3;
-	private ICSSDocument fDocument = null;
-	private IStructuredDocumentRegion fParentRegion = null;
-	private boolean fTempStructuredDocument = false;
-	private CSSModelUpdateContext fUpdateContext = null;
-
-	/**
-	 * CSSDeclarationItemParser constructor comment.
-	 */
-	CSSDeclarationItemParser(ICSSDocument doc) {
-		super();
-		fDocument = doc;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createAttrValue(ITextRegionList regions) {
-		String funcName = getFunctionName(regions);
-		if (funcName == null || !funcName.toLowerCase().equals("attr")) { //$NON-NLS-1$
-			return null;
-		}
-		String accepts[] = {CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT};
-		ITextRegionList valueRegions = getFunctionParameters(regions, accepts);
-		if (valueRegions.size() != 1) {
-			return null;
-		}
-
-		CSSPrimitiveValueImpl value = getCSSPrimitiveValue(CSSPrimitiveValue.CSS_ATTR);
-		if (value == null) {
-			return null;
-		}
-
-		ITextRegion region = valueRegions.get(0);
-		value.setValue(getText(region));
-
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createCountersValue(ITextRegionList regions) {
-		String funcName = getFunctionName(regions);
-		if (funcName == null || !funcName.toLowerCase().equals("counters")) { //$NON-NLS-1$
-			return null;
-		}
-
-		String accepts[] = {CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT, CSSRegionContexts.CSS_DECLARATION_VALUE_STRING};
-		ITextRegionList valueRegions = getFunctionParameters(regions, accepts);
-		int size = valueRegions.size();
-		if (size != 2 && size != 3) {
-			return null;
-		}
-
-		CounterImpl value = getCounter();
-		if (value == null) {
-			return null;
-		}
-
-		for (int i = 0; i < size; i++) {
-			ITextRegion region = valueRegions.get(i);
-			String text = getText(region);
-			CSSAttrImpl attr = null;
-			switch (i) {
-				case 0 :
-					value.setIdentifier(text);
-					attr = value.getAttributeNode(ICounter.IDENTIFIER);
-					break;
-				case 1 :
-					value.setSeparator(text);
-					attr = value.getAttributeNode(ICounter.SEPARATOR);
-					break;
-				case 2 :
-					value.setListStyle(text);
-					attr = value.getAttributeNode(ICounter.LISTSTYLE);
-					break;
-				default :
-					break;
-			}
-			if (attr != null) {
-				attr.setRangeRegion(fParentRegion, region, region);
-			}
-		}
-
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createCounterValue(ITextRegionList regions) {
-		String funcName = getFunctionName(regions);
-		if (funcName == null || !funcName.toLowerCase().equals("counter")) { //$NON-NLS-1$
-			return null;
-		}
-
-		String accepts[] = {CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT};
-		ITextRegionList valueRegions = getFunctionParameters(regions, accepts);
-		int size = valueRegions.size();
-		if (size != 1 && size != 2) {
-			return null;
-		}
-
-		CounterImpl value = getCounter();
-		if (value == null) {
-			return null;
-		}
-
-		for (int i = 0; i < size; i++) {
-			ITextRegion region = valueRegions.get(i);
-			String text = getText(region);
-			CSSAttrImpl attr = null;
-			switch (i) {
-				case 0 :
-					value.setIdentifier(text);
-					attr = value.getAttributeNode(ICounter.IDENTIFIER);
-					break;
-				case 1 :
-					value.setListStyle(text);
-					attr = value.getAttributeNode(ICounter.LISTSTYLE);
-					break;
-				default :
-					break;
-			}
-			if (attr != null) {
-				attr.setRangeRegion(fParentRegion, region, region);
-			}
-		}
-
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSStyleDeclItemImpl createDeclarationItem(ITextRegionList nodeRegions) {
-		CSSStyleDeclItemImpl item = null;
-		String name = getPropertyName(nodeRegions);
-		if (name != null) {
-			item = getCSSStyleDeclItem(name);
-		}
-		return item;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createFloatValue(String text, String type) {
-		FloatInfo info = new FloatInfo(text);
-		CSSPrimitiveValueImpl value = getCSSPrimitiveValue(info.getValueType());
-		if (value != null) {
-			value.setValue(info.getValue());
-		}
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createFormatValue(ITextRegionList regions) {
-		String funcName = getFunctionName(regions);
-		if (funcName == null || !funcName.toLowerCase().equals("format")) { //$NON-NLS-1$
-			return null;
-		}
-		String accepts[] = {CSSRegionContexts.CSS_DECLARATION_VALUE_STRING};
-		ITextRegionList valueRegions = getFunctionParameters(regions, accepts);
-		// format can take variable args.
-		if (valueRegions.size() == 0) {
-			return null;
-		}
-
-		CSSPrimitiveValueImpl value = getCSSPrimitiveValue(ICSSPrimitiveValue.CSS_FORMAT);
-		if (value == null) {
-			return null;
-		}
-
-		ITextRegion region = valueRegions.get(0);
-		value.setValue(CSSUtil.extractStringContents(getText(region)));
-
-		return value;
-
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createLocalValue(ITextRegionList regions) {
-		String funcName = getFunctionName(regions);
-		if (funcName == null || !funcName.toLowerCase().equals("local")) { //$NON-NLS-1$
-			return null;
-		}
-		String accepts[] = {CSSRegionContexts.CSS_DECLARATION_VALUE_STRING};
-		ITextRegionList valueRegions = getFunctionParameters(regions, accepts);
-		if (valueRegions.size() != 1) {
-			return null;
-		}
-
-		CSSPrimitiveValueImpl value = getCSSPrimitiveValue(ICSSPrimitiveValue.CSS_LOCAL);
-		if (value == null) {
-			return null;
-		}
-
-		ITextRegion region = valueRegions.get(0);
-		value.setValue(CSSUtil.extractStringContents(getText(region)));
-
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createPrimitiveValue(ITextRegion region) {
-		if (region == null) {
-			return null;
-		}
-		CSSPrimitiveValueImpl value = null;
-		String type = region.getType();
-		String text = getText(region);
-		if (isBlank(type)) {
-			value = null;
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || type == CSSRegionContexts.CSS_DECLARATION_VALUE_DIMENSION || type == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE) {
-			value = createFloatValue(text, type);
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_STRING || type == CSSRegionContexts.CSS_DECLARATION_VALUE_URI || type == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT || type == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-			value = createStringValue(text, type);
-		}
-
-		if (value == null) {
-			value = createStringValue(text, type);
-		}
-
-		if (!fTempStructuredDocument && value != null) {
-			value.setRangeRegion(fParentRegion, region, region);
-		}
-
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createPrimitiveValue(ITextRegionList regions) {
-		CSSPrimitiveValueImpl value = null;
-		CSSUtil.stripSurroundingSpace(regions);
-		if (regions.isEmpty()) {
-			return null;
-		}
-		ITextRegion region = regions.get(0);
-		if (region == null) {
-			return null;
-		}
-		String type = region.getType();
-		if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-			String text = getText(region).toLowerCase();
-			if (text.equals("rgb(")) { //$NON-NLS-1$
-				value = createRgbValue(regions);
-			}
-			else if (text.equals("counter(")) { //$NON-NLS-1$
-				value = createCounterValue(regions);
-			}
-			else if (text.equals("counters(")) { //$NON-NLS-1$
-				value = createCountersValue(regions);
-			}
-			else if (text.equals("attr(")) { //$NON-NLS-1$
-				value = createAttrValue(regions);
-			}
-			else if (text.equals("format(")) { //$NON-NLS-1$
-				value = createFormatValue(regions);
-			}
-			else if (text.equals("local(")) { //$NON-NLS-1$
-				value = createLocalValue(regions);
-			}
-			else if (text.equals("rect(")) { //$NON-NLS-1$
-				value = createRectValue(regions);
-			}
-			if (value == null) {
-				value = createStringValue(regions);
-			}
-		}
-		else {
-			value = createStringValue(regions);
-		}
-
-		if (!fTempStructuredDocument && value != null) {
-			value.setRangeRegion(fParentRegion, regions.get(0), regions.get(regions.size() - 1));
-		}
-
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createRectValue(ITextRegionList regions) {
-		String funcName = getFunctionName(regions);
-		if (funcName == null || !funcName.toLowerCase().equals("rect")) { //$NON-NLS-1$
-			return null;
-		}
-		String accepts[] = {CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER, CSSRegionContexts.CSS_DECLARATION_VALUE_DIMENSION, CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT}; // IDENT:
-																																												// for
-																																												// 'auto'
-		ITextRegionList valueRegions = getFunctionParameters(regions, accepts);
-		if (valueRegions.size() != 4) {
-			return null;
-		}
-
-		RectImpl value = getRect();
-		if (value == null) {
-			return null;
-		}
-
-		for (int i = 0; i < 4; i++) {
-			ITextRegion region = valueRegions.get(i);
-			CSSPrimitiveValueImpl childValue = null;
-			switch (i) {
-				case 0 :
-					childValue = (CSSPrimitiveValueImpl) value.getTop();
-					break;
-				case 1 :
-					childValue = (CSSPrimitiveValueImpl) value.getRight();
-					break;
-				case 2 :
-					childValue = (CSSPrimitiveValueImpl) value.getBottom();
-					break;
-				case 3 :
-					childValue = (CSSPrimitiveValueImpl) value.getLeft();
-					break;
-				default :
-					break;
-			}
-			if (childValue == null) {
-				return null;
-			}
-			String text = getText(region);
-			String type = region.getType();
-			if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				setStringValue(childValue, text, type);
-			}
-			else {
-				setFloatValue(childValue, text, type);
-			}
-			if (!fTempStructuredDocument) {
-				childValue.setRangeRegion(fParentRegion, region, region);
-			}
-		}
-
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createRgbValue(ITextRegionList regions) {
-		String funcName = getFunctionName(regions);
-		if (funcName == null || !funcName.toLowerCase().equals("rgb")) { //$NON-NLS-1$
-			return null;
-		}
-		String accepts[] = {CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER, CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE};
-		ITextRegionList valueRegions = getFunctionParameters(regions, accepts);
-		if (valueRegions.size() != 3) {
-			return null;
-		}
-
-		RGBColorImpl value = getRGBColor();
-		if (value == null) {
-			return null;
-		}
-
-		for (int i = 0; i < 3; i++) {
-			ITextRegion region = valueRegions.get(i);
-			CSSPrimitiveValueImpl childValue = null;
-			switch (i) {
-				case 0 :
-					childValue = (CSSPrimitiveValueImpl) value.getRed();
-					break;
-				case 1 :
-					childValue = (CSSPrimitiveValueImpl) value.getGreen();
-					break;
-				case 2 :
-					childValue = (CSSPrimitiveValueImpl) value.getBlue();
-					break;
-				default :
-					break;
-			}
-			if (childValue == null) {
-				return null;
-			}
-			setFloatValue(childValue, getText(region), region.getType());
-			if (!fTempStructuredDocument) {
-				childValue.setRangeRegion(fParentRegion, region, region);
-			}
-		}
-
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createStringValue(String text, String type) {
-		short valueType = getStringValueType(text, type);
-		CSSPrimitiveValueImpl value = getCSSPrimitiveValue(valueType);
-		if (value != null) {
-			if (valueType == CSSPrimitiveValue.CSS_URI) {
-				text = CSSUtil.extractUriContents(text);
-			}
-			else if (valueType == CSSPrimitiveValue.CSS_STRING) {
-				text = CSSUtil.extractStringContents(text);
-			}
-			value.setValue(text);
-		}
-		return value;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl createStringValue(ITextRegionList regions) {
-		String type = CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT;
-		if (regions.size() == 1) {
-			ITextRegion region = regions.get(0);
-			type = region.getType();
-		}
-		return createStringValue(makeString(regions), type);
-	}
-
-	/**
-	 * 
-	 */
-	private CounterImpl getCounter() {
-		CounterImpl node;
-		if (fUpdateContext != null && fUpdateContext.isActive()) {
-			node = fUpdateContext.getCounter();
-		}
-		else {
-			node = (CounterImpl) fDocument.createCSSPrimitiveValue(CSSPrimitiveValue.CSS_COUNTER);
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSPrimitiveValueImpl getCSSPrimitiveValue(short type) {
-		CSSPrimitiveValueImpl node;
-		if (fUpdateContext != null && fUpdateContext.isActive()) {
-			node = fUpdateContext.getCSSPrimitiveValue(type);
-		}
-		else {
-			node = (CSSPrimitiveValueImpl) fDocument.createCSSPrimitiveValue(type);
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSStyleDeclItemImpl getCSSStyleDeclItem(String propertyName) {
-		CSSStyleDeclItemImpl node;
-		if (fUpdateContext != null && fUpdateContext.isActive()) {
-			node = fUpdateContext.getCSSStyleDeclItem(propertyName);
-		}
-		else {
-			node = (CSSStyleDeclItemImpl) fDocument.createCSSStyleDeclItem(propertyName);
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	static short getFloatValueType(String ident) {
-		ident = ident.toLowerCase();
-		short valueType;
-		if (ident.length() == 0) {
-			valueType = CSSPrimitiveValue.CSS_NUMBER;
-		}
-		else if (ident.equals("%")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_PERCENTAGE;
-		}
-		else if (ident.equalsIgnoreCase("em")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_EMS;
-		}
-		else if (ident.equalsIgnoreCase("ex")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_EXS;
-		}
-		else if (ident.equalsIgnoreCase("px")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_PX;
-		}
-		else if (ident.equalsIgnoreCase("cm")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_CM;
-		}
-		else if (ident.equalsIgnoreCase("mm")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_MM;
-		}
-		else if (ident.equalsIgnoreCase("in")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_IN;
-		}
-		else if (ident.equalsIgnoreCase("pt")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_PT;
-		}
-		else if (ident.equalsIgnoreCase("pc")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_PC;
-		}
-		else if (ident.equalsIgnoreCase("deg")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_DEG;
-		}
-		else if (ident.equalsIgnoreCase("rad")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_RAD;
-		}
-		else if (ident.equalsIgnoreCase("grad")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_GRAD;
-		}
-		else if (ident.equalsIgnoreCase("ms")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_MS;
-		}
-		else if (ident.equalsIgnoreCase("s")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_S;
-		}
-		else if (ident.equalsIgnoreCase("hz")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_HZ;
-		}
-		else if (ident.equalsIgnoreCase("khz")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_KHZ;
-		}
-		else {
-			valueType = CSSPrimitiveValue.CSS_DIMENSION;
-		}
-		return valueType;
-	}
-
-	/**
-	 * 
-	 */
-	static short getFloatValueType(String value, String ident) {
-		ident = ident.toLowerCase();
-		short valueType;
-		if (ident.length() == 0) {
-			if (0 <= value.indexOf('.')) {
-				valueType = CSSPrimitiveValue.CSS_NUMBER;
-			}
-			else {
-				valueType = ICSSPrimitiveValue.CSS_INTEGER;
-			}
-		}
-		else if (ident.equals("%")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_PERCENTAGE;
-		}
-		else if (ident.equalsIgnoreCase("em")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_EMS;
-		}
-		else if (ident.equalsIgnoreCase("ex")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_EXS;
-		}
-		else if (ident.equalsIgnoreCase("px")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_PX;
-		}
-		else if (ident.equalsIgnoreCase("cm")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_CM;
-		}
-		else if (ident.equalsIgnoreCase("mm")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_MM;
-		}
-		else if (ident.equalsIgnoreCase("in")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_IN;
-		}
-		else if (ident.equalsIgnoreCase("pt")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_PT;
-		}
-		else if (ident.equalsIgnoreCase("pc")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_PC;
-		}
-		else if (ident.equalsIgnoreCase("deg")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_DEG;
-		}
-		else if (ident.equalsIgnoreCase("rad")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_RAD;
-		}
-		else if (ident.equalsIgnoreCase("grad")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_GRAD;
-		}
-		else if (ident.equalsIgnoreCase("ms")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_MS;
-		}
-		else if (ident.equalsIgnoreCase("s")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_S;
-		}
-		else if (ident.equalsIgnoreCase("hz")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_HZ;
-		}
-		else if (ident.equalsIgnoreCase("khz")) { //$NON-NLS-1$
-			valueType = CSSPrimitiveValue.CSS_KHZ;
-		}
-		else {
-			valueType = CSSPrimitiveValue.CSS_DIMENSION;
-		}
-		return valueType;
-	}
-
-	/**
-	 * 
-	 */
-	private String getFunctionName(ITextRegionList regions) {
-		if (regions == null || regions.size() < 2) {
-			return null;
-		}
-		ITextRegion firstRegion = regions.get(0);
-		if (firstRegion.getType() != CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-			return null;
-		}
-		ITextRegion lastRegion = regions.get(regions.size() - 1);
-		if (lastRegion.getType() != CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE) {
-			return null;
-		}
-		String text = getText(firstRegion);
-		return text.substring(0, text.length() - 1);
-	}
-
-	/**
-	 * this method has no validation check, then regions must be passed
-	 * getFunctionName()...
-	 */
-	private ITextRegionList getFunctionParameters(ITextRegionList regions, String[] accepts) {
-		ITextRegionList newRegions = new TextRegionListImpl();
-		int nAccepts = (accepts != null) ? accepts.length : 0;
-		Iterator i = regions.iterator();
-		i.next(); // skip FUNCTION
-		while (i.hasNext()) {
-			ITextRegion region = (ITextRegion) i.next();
-			if (region == null) {
-				continue;
-			}
-			String type = region.getType();
-			if (isBlank(type)) {
-				continue;
-			}
-			if (nAccepts == 0) {
-				newRegions.add(region);
-			}
-			else {
-				for (int iAccept = 0; iAccept < nAccepts; iAccept++) {
-					if (type == accepts[iAccept]) {
-						newRegions.add(region);
-						break;
-					}
-				}
-			}
-		}
-		return newRegions;
-	}
-
-	/**
-	 * 
-	 */
-	// private String getPropertyName(IStructuredDocumentRegion flatNode) {
-	// Vector nodeRegions = new Vector(flatNode.getRegions());
-	// return getPropertyName(nodeRegions);
-	// }
-	/**
-	 * 
-	 */
-	private String getPropertyName(ITextRegionList nodeRegions) {
-		ITextRegionList nameRegions = new TextRegionListImpl();
-		String name = null;
-		while (!nodeRegions.isEmpty()) {
-			ITextRegion region = nodeRegions.remove(0);
-			if (region == null) {
-				continue;
-			}
-			String type = region.getType();
-			if (type == CSSRegionContexts.CSS_DECLARATION_SEPARATOR) {
-				CSSUtil.stripSurroundingSpace(nameRegions);
-				name = makeString(nameRegions);
-				break;
-			}
-			else {
-				nameRegions.add(region);
-			}
-		}
-		return name;
-	}
-
-	/**
-	 * 
-	 */
-	private RectImpl getRect() {
-		RectImpl node;
-		if (fUpdateContext != null && fUpdateContext.isActive()) {
-			node = fUpdateContext.getRect();
-		}
-		else {
-			node = (RectImpl) fDocument.createCSSPrimitiveValue(CSSPrimitiveValue.CSS_RECT);
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	private RGBColorImpl getRGBColor() {
-		RGBColorImpl node;
-		if (fUpdateContext != null && fUpdateContext.isActive()) {
-			node = fUpdateContext.getRGBColor();
-		}
-		else {
-			node = (RGBColorImpl) fDocument.createCSSPrimitiveValue(CSSPrimitiveValue.CSS_RGBCOLOR);
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	private short getStringValueType(String text, String type) {
-		short valueType;
-		if (text.toLowerCase().equals("inherit")) { //$NON-NLS-1$
-			valueType = ICSSPrimitiveValue.CSS_INHERIT_PRIMITIVE;
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_URI) {
-			valueType = CSSPrimitiveValue.CSS_URI;
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_STRING) {
-			valueType = CSSPrimitiveValue.CSS_STRING;
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-			valueType = ICSSPrimitiveValue.CSS_HASH;
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR && text.equals(",")) { //$NON-NLS-1$
-			valueType = ICSSPrimitiveValue.CSS_COMMA;
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR && text.equals("/")) { //$NON-NLS-1$
-			valueType = ICSSPrimitiveValue.CSS_SLASH;
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_UNICODE_RANGE) {
-			valueType = ICSSPrimitiveValue.CSS_URANGE;
-		}
-		else {
-			valueType = CSSPrimitiveValue.CSS_IDENT;
-		}
-		return valueType;
-	}
-
-	/**
-	 * 
-	 */
-	private String makeString(ITextRegionList regions) {
-		StringBuffer buf = new StringBuffer();
-		boolean bSpace = false;
-		for (Iterator i = regions.iterator(); i.hasNext();) {
-			ITextRegion region = (ITextRegion) i.next();
-			String type = region.getType();
-			if (!bSpace && isBlank(type)) {
-				buf.append(" "); //$NON-NLS-1$
-				bSpace = true;
-			}
-			else {
-				buf.append(getText(region));
-				bSpace = false;
-			}
-		}
-
-		return buf.toString();
-	}
-
-	/**
-	 * 
-	 */
-	void setStructuredDocumentTemporary(boolean bTemp) {
-		fTempStructuredDocument = bTemp;
-	}
-
-	/**
-	 * 
-	 */
-	private void setFloatValue(CSSPrimitiveValueImpl value, String text, String type) {
-		FloatInfo info = new FloatInfo(text);
-		value.setFloatValue(info.getValueType(), info.getValue());
-	}
-
-	/**
-	 * 
-	 */
-	private void setStringValue(CSSPrimitiveValueImpl value, String text, String type) {
-		short valueType = getStringValueType(text, type);
-		value.setStringValue(valueType, text);
-	}
-
-	/**
-	 * @param item
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSStyleDeclItem
-	 * @param nodeRegions
-	 *            java.util.Vector
-	 */
-	private void setupImportantAttribute(ICSSStyleDeclItem item, ITextRegionList nodeRegions) {
-		if (item == null || nodeRegions == null || nodeRegions.isEmpty()) {
-			return;
-		}
-		ITextRegion region = nodeRegions.get(nodeRegions.size() - 1);
-		if (region != null && region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_IMPORTANT) {
-			item.setPriority(getText(region));
-			CSSAttrImpl attr = ((CSSStyleDeclItemImpl) item).getAttributeNode(ICSSStyleDeclItem.IMPORTANT);
-			attr.setRangeRegion(fParentRegion, region, region);
-			nodeRegions.remove(region);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	void setUpdateContext(CSSModelUpdateContext updateContext) {
-		fUpdateContext = updateContext;
-	}
-
-	/**
-	 * 
-	 */
-	public static boolean hasColonSeparator(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null) {
-			return false;
-		}
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null || regions.size() == 0) {
-			return false;
-		}
-
-		for (Iterator i = regions.iterator(); i.hasNext();) {
-			ITextRegion region = (ITextRegion) i.next();
-			if (region == null) {
-				continue;
-			}
-			if (region.getType() == CSSRegionContexts.CSS_DECLARATION_SEPARATOR) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	CSSStyleDeclItemImpl setupDeclarationItem(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null) {
-			return null;
-		}
-		if (!hasColonSeparator(flatNode)) {
-			return null;
-		}
-
-		fParentRegion = flatNode;
-
-		ITextRegionList nodeRegions = new TextRegionListImpl(flatNode.getRegions()); // make
-		// copy
-		CSSStyleDeclItemImpl newItem = createDeclarationItem(nodeRegions);
-		if (newItem == null) {
-			return null;
-		}
-		if (!fTempStructuredDocument && flatNode != null) {
-			newItem.setRangeStructuredDocumentRegion(flatNode, flatNode);
-		}
-
-		CSSUtil.stripSurroundingSpace(nodeRegions);
-		setupImportantAttribute(newItem, nodeRegions);
-		// Now, nodeRegions just has regions for value.
-		setupValues(newItem, nodeRegions);
-		return newItem;
-	}
-
-	void setupValues(ICSSStyleDeclItem item, IStructuredDocumentRegion parentRegion, ITextRegionList nodeRegions) {
-		fParentRegion = parentRegion;
-		setupValues(item, nodeRegions);
-	}
-
-	/**
-	 * nodeRegions must be broken. If you need after, make copy of them.
-	 */
-	private void setupValues(ICSSStyleDeclItem item, ITextRegionList nodeRegions) {
-		if (item == null) {
-			return;
-		}
-
-		ICSSPrimitiveValue value;
-		ITextRegionList regionBuf = new TextRegionListImpl();
-
-		String propertyName = item.getPropertyName().toLowerCase();
-		boolean bFont = (propertyName.equals(PropCMProperty.P_FONT));
-		// (short-hand) font
-		int status = (propertyName.equals(PropCMProperty.P_VOICE_FAMILY) || propertyName.equals(PropCMProperty.P_FONT_FAMILY)) ? S_COMMA_SEPARATION : S_NORMAL;
-		while (!nodeRegions.isEmpty()) {
-			value = null;
-			ITextRegion region = nodeRegions.remove(0);
-			if (region == null) {
-				continue;
-			}
-			String type = region.getType();
-			// if (type == CSSRegionContexts.CSS_DECLARATION_DELIMITER || type
-			// == CSSRegionContexts.CSS_RBRACE) {
-			// break;
-			// }
-			switch (status) {
-				case S_NORMAL :
-					if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-						regionBuf.add(region);
-						status = S_FUNCTION;
-					}
-					else if (bFont && type == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR && fParentRegion.getText(region).equals("/")) { //$NON-NLS-1$
-						value = createPrimitiveValue(region);
-						status = S_FONT_SLASH;
-					}
-					else if (!isBlank(type)) {
-						value = createPrimitiveValue(region);
-					}
-					break;
-				case S_FUNCTION :
-					if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE) {
-						regionBuf.add(region);
-						value = createPrimitiveValue(regionBuf);
-						regionBuf.clear();
-						status = S_NORMAL;
-					}
-					else if (!isBlank(type)) {
-						regionBuf.add(region);
-					}
-					break;
-				case S_FONT_SLASH :
-					if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_DIMENSION) {
-						value = createPrimitiveValue(region);
-						status = S_COMMA_SEPARATION;
-					}
-					else if (!isBlank(type)) {
-						value = createPrimitiveValue(region);
-					}
-					break;
-				case S_COMMA_SEPARATION :
-					if (type == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR && fParentRegion.getText(region).equals(",")) { //$NON-NLS-1$
-						value = createPrimitiveValue(regionBuf);
-						regionBuf.clear();
-						if (value != null) {
-							if (fUpdateContext == null || !fUpdateContext.isActive()) {
-								item.appendValue(value);
-							}
-						}
-						value = createPrimitiveValue(region);
-					}
-					else {
-						regionBuf.add(region);
-					}
-					break;
-				default :
-					break;
-			}
-			if (value != null) {
-				if (fUpdateContext == null || !fUpdateContext.isActive()) {
-					item.appendValue(value);
-				}
-			}
-		}
-		if (!regionBuf.isEmpty()) {
-			value = createPrimitiveValue(regionBuf);
-			if (fUpdateContext == null || !fUpdateContext.isActive()) {
-				item.appendValue(value);
-			}
-		}
-	}
-
-	private String getText(ITextRegion region) {
-		return (fParentRegion != null) ? fParentRegion.getText(region) : ""; //$NON-NLS-1$ 
-	}
-
-	private static boolean isBlank(String type) {
-		return (type == CSSRegionContexts.CSS_S || type == CSSRegionContexts.CSS_COMMENT || type == CSSRegionContexts.CSS_DECLARATION_VALUE_S);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDocumentImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDocumentImpl.java
deleted file mode 100644
index c3bb647..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSDocumentImpl.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSCharsetRule;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSMediaRule;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPageRule;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.w3c.dom.css.CSSFontFaceRule;
-import org.w3c.dom.css.CSSPrimitiveValue;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.css.CSSUnknownRule;
-import org.w3c.dom.stylesheets.MediaList;
-
-
-/**
- * 
- */
-abstract class CSSDocumentImpl extends CSSStructuredDocumentRegionContainer implements ICSSDocument {
-
-	private CSSModelImpl fModel = null;
-
-	/**
-	 * CSSDocumentImpl constructor comment.
-	 */
-	CSSDocumentImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSDocumentImpl
-	 */
-	CSSDocumentImpl(CSSDocumentImpl that) {
-		super(that);
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSNode
-	 * @param name
-	 *            java.lang.String
-	 */
-	ICSSNode createCSSAttr(String name) {
-		CSSAttrImpl attr = new CSSAttrImpl(name);
-		attr.setOwnerDocument(this);
-
-		return attr;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSCharsetRule
-	 */
-	public ICSSCharsetRule createCSSCharsetRule() {
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSFontFaceRule
-	 */
-	public CSSFontFaceRule createCSSFontFaceRule() {
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSImportRule
-	 */
-	public ICSSImportRule createCSSImportRule() {
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.ICSSMediaRule
-	 */
-	public ICSSMediaRule createCSSMediaRule() {
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSPageRule
-	 */
-	public ICSSPageRule createCSSPageRule() {
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 */
-	public ICSSPrimitiveValue createCSSPrimitiveValue(short primitiveType) {
-		CSSPrimitiveValueImpl value = null;
-		if (primitiveType == CSSPrimitiveValue.CSS_COUNTER)
-			value = new CounterImpl();
-		else if (primitiveType == CSSPrimitiveValue.CSS_RECT)
-			value = new RectImpl();
-		else if (primitiveType == CSSPrimitiveValue.CSS_RGBCOLOR)
-			value = new RGBColorImpl();
-		else
-			value = new CSSPrimitiveValueImpl(primitiveType);
-		value.setOwnerDocument(this);
-
-		return value;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param rule
-	 *            java.lang.String
-	 */
-	public CSSRule createCSSRule(String rule) {
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSStyleDeclaration
-	 */
-	public ICSSStyleDeclaration createCSSStyleDeclaration() {
-		return null;
-	}
-
-	/**
-	 * @return com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @param propertyName
-	 *            java.lang.String
-	 */
-	public ICSSStyleDeclItem createCSSStyleDeclItem(String propertyName) {
-		CSSStyleDeclItemImpl item = new CSSStyleDeclItemImpl(propertyName);
-		item.setOwnerDocument(this);
-
-		return item;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSStyleRule
-	 */
-	public ICSSStyleRule createCSSStyleRule() {
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSUnknownRule
-	 */
-	public CSSUnknownRule createCSSUnknownRule() {
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.stylesheets.MediaList
-	 */
-	public MediaList createMediaList() {
-		return null;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSModel
-	 */
-	public ICSSModel getModel() {
-		return fModel;
-	}
-
-	/**
-	 * @param model
-	 *            com.ibm.sed.css.treemodel.CSSModelImpl
-	 */
-	void setModel(CSSModelImpl model) {
-		this.fModel = model;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSFontFaceRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSFontFaceRuleImpl.java
deleted file mode 100644
index c3bdf63..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSFontFaceRuleImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.w3c.dom.css.CSSFontFaceRule;
-
-
-/**
- * 
- */
-class CSSFontFaceRuleImpl extends CSSRuleDeclContainer implements CSSFontFaceRule {
-
-	/**
-	 * 
-	 */
-	CSSFontFaceRuleImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSFontFaceRuleImpl
-	 */
-	CSSFontFaceRuleImpl(CSSFontFaceRuleImpl that) {
-		super(that);
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSFontFaceRuleImpl cloned = new CSSFontFaceRuleImpl(this);
-
-		if (deep)
-			cloneChildNodes(cloned, deep);
-
-		return cloned;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	String extractPreString() {
-		return "@font-face";//$NON-NLS-1$
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return FONTFACERULE_NODE;
-	}
-
-	/**
-	 * The type of the rule, as defined above. The expectation is that
-	 * binding-specific casting methods can be used to cast down from an
-	 * instance of the <code>CSSRule</code> interface to the specific
-	 * derived interface implied by the <code>type</code>.
-	 */
-	public short getType() {
-		return FONT_FACE_RULE;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSImportRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSImportRuleImpl.java
deleted file mode 100644
index bf99f11..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSImportRuleImpl.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.adapters.IModelProvideAdapter;
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleSheet;
-import org.eclipse.wst.css.core.internal.Logger;
-import org.eclipse.wst.css.core.util.CSSLinkConverter;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.css.core.util.URLModelProviderCSS;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.css.CSSStyleSheet;
-import org.w3c.dom.stylesheets.MediaList;
-
-
-/**
- * 
- */
-class CSSImportRuleImpl extends CSSRuleImpl implements ICSSImportRule {
-
-	private boolean fDirty = true;
-	private ICSSStyleSheet fStyleSheet;
-
-	/**
-	 * 
-	 */
-	CSSImportRuleImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSImportRuleImpl
-	 */
-	CSSImportRuleImpl(CSSImportRuleImpl that) {
-		super(that);
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSImportRuleImpl cloned = new CSSImportRuleImpl(this);
-
-		if (deep)
-			cloneChildNodes(cloned, deep);
-
-		return cloned;
-	}
-
-	/**
-	 * 
-	 */
-	void closeStyleSheet() {
-		if (fStyleSheet != null) {
-			ICSSStyleSheet sheet = fStyleSheet;
-			fStyleSheet = null; // to prevent loop, we must reset fStyleSheet
-								// before all closing action
-
-			sheet.getModel().removeStyleListener(getOwnerDocument().getModel());
-			// get ModelProvideAdapter
-			IModelProvideAdapter adapter = (IModelProvideAdapter) getAdapterFor(IModelProvideAdapter.class);
-			// if (getOwnerDocument().getModel().getStyleSheetType() ==
-			// ICSSModel.EMBEDDED) { // case STYLE tag
-			// adapter = (ModelProvideAdapter)
-			// ((INodeNotifier)getOwnerDocument().getModel().getOwnerDOMNode()).getAdapterFor(ModelProvideAdapter.class);
-			// }
-			if (adapter != null)
-				adapter.modelRemoved(sheet.getModel());
-
-			sheet.getModel().releaseFromRead();
-		}
-	}
-
-	/**
-	 * The location of the style sheet to be imported. The attribute will not
-	 * contain the <code>"url(...)"</code> specifier around the URI.
-	 */
-	public String getHref() {
-		return CSSUtil.extractUriContents(getAttribute(HREF));
-	}
-
-	/**
-	 * A list of media types for which this style sheet may be used.
-	 */
-	public org.w3c.dom.stylesheets.MediaList getMedia() {
-		ICSSNode media = getFirstChild();
-		if (media != null) {
-			if (media instanceof MediaList) {
-				return (MediaList) media;
-			}
-		}
-
-		// THIS CASE IS ERROR CASE
-		return null;
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return IMPORTRULE_NODE;
-	}
-
-	/**
-	 * The style sheet referred to by this rule, if it has been loaded. The
-	 * value of this attribute is <code>null</code> if the style sheet has
-	 * not yet been loaded or if it will not be loaded (e.g. if the style
-	 * sheet is for a media type not supported by the user agent).
-	 */
-	public CSSStyleSheet getStyleSheet() {
-
-		if (fDirty) {
-			// NOTE: try/catch block is a TEMP fix to avoid compile errors:
-			try {
-				closeStyleSheet();
-
-				if (getHref() == null || getHref().length() <= 0) {
-					fDirty = false;
-					return null;
-				}
-
-				IStructuredModel baseModel = getOwnerDocument().getModel();
-				if (getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) { // case
-																								// STYLE
-																								// tag
-					baseModel = ((XMLNode) getOwnerDocument().getModel().getOwnerDOMNode()).getModel();
-				}
-				// get ModelProvideAdapter
-				IModelProvideAdapter adapter = (IModelProvideAdapter) getAdapterFor(IModelProvideAdapter.class);
-				// if (getOwnerDocument().getModel().getStyleSheetType() ==
-				// ICSSModel.EMBEDDED) { // case STYLE tag
-				// adapter = (ModelProvideAdapter)
-				// ((INodeNotifier)getOwnerDocument().getModel().getOwnerDOMNode()).getAdapterFor(ModelProvideAdapter.class);
-				// }
-
-				// load model from IModelManager
-				URLModelProviderCSS provider = new URLModelProviderCSS();
-				IStructuredModel newModel = provider.getModelForRead(baseModel, getHref());
-				fDirty = false;
-
-				if (newModel == null)
-					return null;
-				if (!(newModel instanceof ICSSModel)) {
-					newModel.releaseFromRead();
-					return null;
-				}
-
-				// notify adapter
-				if (adapter != null)
-					adapter.modelProvided(newModel);
-
-				fStyleSheet = (ICSSStyleSheet) ((ICSSModel) newModel).getDocument();
-				if (fStyleSheet != null)
-					fStyleSheet.getModel().addStyleListener(getOwnerDocument().getModel());
-			}
-			catch (java.io.IOException e) {
-				Logger.logException(e);
-			}
-		}
-		return fStyleSheet;
-	}
-
-	/**
-	 * The type of the rule, as defined above. The expectation is that
-	 * binding-specific casting methods can be used to cast down from an
-	 * instance of the <code>CSSRule</code> interface to the specific
-	 * derived interface implied by the <code>type</code>.
-	 */
-	public short getType() {
-		return IMPORT_RULE;
-	}
-
-	/**
-	 * 
-	 */
-	public void refreshStyleSheet() {
-		if (!fDirty) {
-			closeStyleSheet();
-			fDirty = true;
-			notify(INodeNotifier.CHANGE, getAttributeNode(HREF), null, null, getStartOffset());
-		}
-	}
-
-	/**
-	 */
-	void releaseRule() {
-		if (fStyleSheet != null) {
-			ICSSStyleSheet sheet = fStyleSheet;
-			fStyleSheet = null; // to prevent loop, we must reset fStyleSheet
-								// before all closing action
-
-			sheet.getModel().removeStyleListener(getOwnerDocument().getModel());
-			// get ModelProvideAdapter
-			IModelProvideAdapter adapter = (IModelProvideAdapter) getAdapterFor(IModelProvideAdapter.class);
-			// if (getOwnerDocument().getModel().getStyleSheetType() ==
-			// ICSSModel.EMBEDDED) { // case STYLE tag
-			// adapter = (ModelProvideAdapter)
-			// ((INodeNotifier)getOwnerDocument().getModel().getOwnerDOMNode()).getAdapterFor(ModelProvideAdapter.class);
-			// }
-			if (adapter != null)
-				adapter.modelReleased(sheet.getModel());
-
-			sheet.getModel().releaseFromRead();
-		}
-	}
-
-	/**
-	 * @param href
-	 *            java.lang.String
-	 */
-	public void setHref(String href) throws DOMException {
-		fDirty = true;
-		setAttribute(HREF, CSSLinkConverter.addFunc(href));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSMediaRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSMediaRuleImpl.java
deleted file mode 100644
index d71bfaf..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSMediaRuleImpl.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSMediaRule;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.css.CSSRuleList;
-import org.w3c.dom.stylesheets.MediaList;
-
-
-/**
- * 
- */
-class CSSMediaRuleImpl extends CSSRuleImpl implements ICSSMediaRule {
-
-	/**
-	 * 
-	 */
-	CSSMediaRuleImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSMediaRuleImpl
-	 */
-	CSSMediaRuleImpl(CSSMediaRuleImpl that) {
-		super(that);
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param rule
-	 *            org.w3c.dom.css.CSSRule
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public org.w3c.dom.css.CSSRule appendRule(org.w3c.dom.css.CSSRule rule) throws org.w3c.dom.DOMException {
-		if (rule == null)
-			return null;
-
-		CSSRule ret = (CSSRule) appendChild((CSSNodeImpl) rule);
-		return ret;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSMediaRuleImpl cloned = new CSSMediaRuleImpl(this);
-
-		if (deep)
-			cloneChildNodes(cloned, deep);
-
-		return cloned;
-	}
-
-	/**
-	 * Used to delete a rule from the media block.
-	 * 
-	 * @param index
-	 *            The index within the media block's rule collection of the
-	 *            rule to remove.
-	 * @exception DOMException
-	 *                INDEX_SIZE_ERR: Raised if the specified index does not
-	 *                correspond to a rule in the media rule list. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule
-	 *                is readonly.
-	 */
-	public void deleteRule(int index) throws DOMException {
-		CSSNodeImpl node = getIndexedRule(index);
-		if (node != null)
-			removeChild(node);
-	}
-
-	/**
-	 * A list of all CSS rules contained within the media block.
-	 */
-	public CSSRuleList getCssRules() {
-		CSSRuleListImpl list = new CSSRuleListImpl();
-
-		for (ICSSNode node = getFirstChild(); node != null; node = node.getNextSibling()) {
-			if (node instanceof CSSRule)
-				list.appendNode(node);
-		}
-
-		return list;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSRuleImpl
-	 * @param index
-	 *            int
-	 */
-	CSSRuleImpl getIndexedRule(int index) {
-		if (index < 0)
-			return null;
-
-		int i = 0;
-		for (ICSSNode node = getFirstChild(); node != null; node = node.getNextSibling()) {
-			if (node instanceof CSSRule) {
-				if (i++ == index)
-					return (CSSRuleImpl) node;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * A list of media types for this rule.
-	 */
-	public MediaList getMedia() {
-		for (ICSSNode node = getFirstChild(); node != null; node = node.getNextSibling()) {
-			if (node instanceof MediaListImpl)
-				return (MediaList) node;
-		}
-
-		return null;
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return MEDIARULE_NODE;
-	}
-
-	/**
-	 * The type of the rule, as defined above. The expectation is that
-	 * binding-specific casting methods can be used to cast down from an
-	 * instance of the <code>CSSRule</code> interface to the specific
-	 * derived interface implied by the <code>type</code>.
-	 */
-	public short getType() {
-		return MEDIA_RULE;
-	}
-
-	/**
-	 * Used to insert a new rule into the media block.
-	 * 
-	 * @param rule
-	 *            The parsable text representing the rule. For rule sets this
-	 *            contains both the selector and the style declaration. For
-	 *            at-rules, this specifies both the at-identifier and the rule
-	 *            content.
-	 * @param index
-	 *            The index within the media block's rule collection of the
-	 *            rule before which to insert the specified rule. If the
-	 *            specified index is equal to the length of the media blocks's
-	 *            rule collection, the rule will be added to the end of the
-	 *            media block.
-	 * @return The index within the media block's rule collection of the newly
-	 *         inserted rule.
-	 * @exception DOMException
-	 *                HIERARCHY_REQUEST_ERR: Raised if the rule cannot be
-	 *                inserted at the specified index, e.g., if an
-	 *                <code>@import</code> rule is inserted after a standard rule set or other
-	 *         at-rule. <br>
-	 *         INDEX_SIZE_ERR: Raised if the specified index is not a valid
-	 *         insertion point. <br>
-	 *         NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is
-	 *         readonly. <br>
-	 *         SYNTAX_ERR: Raised if the specified rule has a syntax error and
-	 *         is unparsable.
-	 */
-	public int insertRule(String rule, int index) throws DOMException {
-		int length = getCssRules().getLength();
-		if (index < 0 || length < index)
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, "");//$NON-NLS-1$
-
-		CSSRuleImpl refRule = (length != index) ? getIndexedRule(index) : null;
-
-		CSSRuleImpl newRule = (CSSRuleImpl) getOwnerDocument().createCSSRule(rule);
-
-		// prevent from nesting @media rule
-		if (newRule.getType() == CSSRule.MEDIA_RULE)
-			throw new DOMException(DOMException.SYNTAX_ERR, "");//$NON-NLS-1$
-
-		insertBefore(newRule, refRule);
-
-		return index;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param newRule
-	 *            org.w3c.dom.css.CSSRule
-	 * @param refRule
-	 *            org.w3c.dom.css.CSSRule
-	 */
-	public org.w3c.dom.css.CSSRule insertRuleBefore(org.w3c.dom.css.CSSRule newRule, org.w3c.dom.css.CSSRule refRule) throws org.w3c.dom.DOMException {
-		if (newRule == null && refRule == null)
-			return null;
-
-		CSSRule ret = (CSSRule) insertBefore((CSSNodeImpl) newRule, (CSSNodeImpl) refRule);
-		return ret;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param rule
-	 *            org.w3c.dom.css.CSSRule
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public org.w3c.dom.css.CSSRule removeRule(org.w3c.dom.css.CSSRule rule) throws org.w3c.dom.DOMException {
-		if (rule == null)
-			return null;
-
-		CSSRule ret = (CSSRule) removeChild((CSSNodeImpl) rule);
-		return ret;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param newChild
-	 *            org.w3c.dom.css.CSSRule
-	 * @param oldChild
-	 *            org.w3c.dom.css.CSSRule
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public org.w3c.dom.css.CSSRule replaceRule(org.w3c.dom.css.CSSRule newRule, org.w3c.dom.css.CSSRule oldRule) throws org.w3c.dom.DOMException {
-		if (newRule == null && oldRule == null)
-			return null;
-
-		CSSRule ret = (CSSRule) replaceChild((CSSNodeImpl) newRule, (CSSNodeImpl) oldRule);
-		return ret;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelCreationContext.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelCreationContext.java
deleted file mode 100644
index bc640da..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelCreationContext.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-/**
- * 
- */
-class CSSModelCreationContext {
-
-	private CSSNodeImpl fRootNode = null;
-	private CSSNodeImpl fTargetNode = null;
-	private CSSNodeImpl fNextNode = null;
-	private int fReparseStart = -1;
-	private int fReparseEnd = -1;
-
-	/**
-	 * CSSModelContext constructor comment.
-	 */
-	CSSModelCreationContext(CSSNodeImpl rootNode) {
-		super();
-
-		fRootNode = rootNode;
-	}
-
-	/**
-	 * 
-	 */
-	void clear() {
-		fNextNode = null;
-		fTargetNode = null;
-		resetReparseRange();
-	}
-
-	/**
-	 * 
-	 */
-	CSSNodeImpl getNextNode() {
-		return fNextNode;
-	}
-
-	/**
-	 * 
-	 */
-	int getReparseEnd() {
-		return fReparseEnd;
-	}
-
-	/**
-	 * 
-	 */
-	int getReparseStart() {
-		return fReparseStart;
-	}
-
-	/**
-	 * 
-	 */
-	CSSNodeImpl getRootNode() {
-		return fRootNode;
-	}
-
-	/**
-	 * 
-	 */
-	CSSNodeImpl getTargetNode() {
-		return fTargetNode;
-	}
-
-	/**
-	 * 
-	 */
-	boolean isToReparse() {
-		return (0 <= getReparseStart() && 0 <= getReparseEnd());
-	}
-
-	/**
-	 * 
-	 */
-	void resetReparseRange() {
-		fReparseStart = fReparseEnd = -1;
-	}
-
-	/**
-	 * 
-	 */
-	void setLast() {
-		fNextNode = null;
-
-		if (!(fRootNode instanceof CSSStructuredDocumentRegionContainer)) {
-			fTargetNode = fRootNode;
-		}
-		else {
-			IStructuredDocumentRegion lastStructuredDocumentRegion = ((CSSStructuredDocumentRegionContainer) fRootNode).getLastStructuredDocumentRegion();
-			CSSNodeImpl node = fRootNode;
-			while (node != null) {
-				ICSSNode lastChild = node.getLastChild();
-				if (lastChild instanceof CSSStructuredDocumentRegionContainer && ((CSSStructuredDocumentRegionContainer) lastChild).getLastStructuredDocumentRegion() == lastStructuredDocumentRegion) {
-					node = (CSSNodeImpl) lastChild;
-				}
-				else {
-					break;
-				}
-			}
-			fTargetNode = node;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	void setNextNode(ICSSNode node) {
-		fNextNode = (CSSNodeImpl) node;
-		if (fNextNode != null) {
-			fTargetNode = (CSSNodeImpl) fNextNode.getParentNode();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	void setReparseEnd(int end) {
-		fReparseEnd = end;
-	}
-
-	/**
-	 * 
-	 */
-	void setReparseStart(int start) {
-		fReparseStart = start;
-	}
-
-	/**
-	 * 
-	 */
-	void setTargetNode(ICSSNode node) {
-		fTargetNode = (CSSNodeImpl) node;
-		if (fNextNode != null && fNextNode.getParentNode() != fTargetNode) {
-			fNextNode = null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelDeletionContext.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelDeletionContext.java
deleted file mode 100644
index ee63966..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelDeletionContext.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-
-
-/**
- * 
- */
-class CSSModelDeletionContext {
-
-	private int fOldStart = -1;
-	private int fOldLength = 0;
-	private int fNewStart = -1;
-	private int fNewLength = 0;
-	private int fLengthDifference = 0;
-	private IStructuredDocumentRegionList fOldStructuredDocumentRegions = null;
-	// private ICSSNode fRootNode = null;
-	private int fRemovedRangeBegin = -1;
-	private int fRemovedRangeEnd = -1;
-	private CSSNodeListImpl fNodesToBeRemoved = new CSSNodeListImpl();
-
-	/**
-	 * CSSModelDeletionContext constructor comment.
-	 */
-	CSSModelDeletionContext(ICSSNode rootNode) {
-		super();
-
-		// fRootNode = rootNode;
-	}
-
-	/**
-	 * 
-	 */
-	boolean addNodeToBeRemoved(ICSSNode node) {
-		int nNodes = fNodesToBeRemoved.getLength();
-		for (int i = 0; i < nNodes; i++) {
-			ICSSNode parent = fNodesToBeRemoved.item(i);
-			if (CSSModelUtil.isParentOf(parent, node)) {
-				return false;
-			}
-		}
-		fNodesToBeRemoved.appendNode(node);
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	void expandRemovedRangeBegin(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null) {
-			return;
-		}
-		int newBegin = flatNode.getStart(); // fOldStart == fNewStart, right??
-		if (fRemovedRangeBegin < 0 || newBegin < fRemovedRangeBegin) {
-			fRemovedRangeBegin = newBegin;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	void expandRemovedRangeEnd(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null) {
-			return;
-		}
-		int newEnd = flatNode.getEnd() + ((isOldNode(flatNode)) ? fLengthDifference : 0);
-		if (fRemovedRangeEnd < 0 || fRemovedRangeEnd < newEnd) {
-			fRemovedRangeEnd = newEnd;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private CSSStructuredDocumentRegionContainer findContainer(CSSNodeImpl parent, IStructuredDocumentRegion flatNode) {
-		if (parent instanceof CSSStructuredDocumentRegionContainer) {
-			// Am i a container of flatNode?
-			IStructuredDocumentRegion firstNode = ((CSSStructuredDocumentRegionContainer) parent).getFirstStructuredDocumentRegion();
-			IStructuredDocumentRegion lastNode = ((CSSStructuredDocumentRegionContainer) parent).getLastStructuredDocumentRegion();
-			int firstStart = getOriginalOffset(firstNode);
-			int lastStart = getOriginalOffset(lastNode);
-			int start = flatNode.getStart();
-
-			if (firstStart <= start && start <= lastStart) {
-				// I am a container, is my child a container ?
-				for (ICSSNode node = parent.getFirstChild(); node != null; node = node.getNextSibling()) {
-					if (node instanceof CSSNodeImpl) {
-						CSSStructuredDocumentRegionContainer container = findContainer((CSSNodeImpl) node, flatNode);
-						if (container != null) {
-							return container;
-						}
-					}
-				}
-				return (CSSStructuredDocumentRegionContainer) parent;
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	CSSStructuredDocumentRegionContainer findDeletionTarget(CSSNodeImpl parent, IStructuredDocumentRegion flatNode) {
-		CSSStructuredDocumentRegionContainer target = findContainer(parent, flatNode);
-		if (target == null) {
-			return null;
-		}
-
-		// System.out.print(flatNode.toString() + ": ");
-
-		// child a(=====)b(=====)c
-		// parent (================) a,c can remove parent, but b cannot.
-
-		ICSSNode child;
-
-		for (child = target.getFirstChild(); child != null && !(child instanceof CSSStructuredDocumentRegionContainer); child = child.getNextSibling()) {
-			// just advancing
-		}
-
-		if (child == null) {
-			// System.out.println("target has no children."); // TESTBYCOZY
-			return target; // has no child containers.
-		}
-		else {
-			IStructuredDocumentRegion firstNode = ((CSSStructuredDocumentRegionContainer) child).getFirstStructuredDocumentRegion();
-			if (flatNode.getStart() < getOriginalOffset(firstNode)) {
-				// System.out.println("flatNode is in front of first child");
-				// // TESTBYCOZY
-				return target; // a
-			}
-		}
-
-		for (child = target.getLastChild(); child != null && !(child instanceof CSSStructuredDocumentRegionContainer); child = child.getPreviousSibling()) {
-			// just advancing
-		}
-
-		if (child == null) {
-			// System.out.println("target has no children."); // TESTBYCOZY
-			return target; // has no child containers.
-		}
-		else {
-			IStructuredDocumentRegion firstNode = ((CSSStructuredDocumentRegionContainer) child).getFirstStructuredDocumentRegion();
-			if (getOriginalOffset(firstNode) < flatNode.getStart()) {
-				// System.out.println("flatNode is in after of last child");
-				// // TESTBYCOZY
-				return target; // c
-			}
-		}
-
-		// System.out.println("flatNode inner of children"); // TESTBYCOZY
-		return null; // b
-	}
-
-	/**
-	 * 
-	 */
-	Iterator getNodesToBeRemoved() {
-		Collection nodes = new ArrayList();
-		int nNodes = fNodesToBeRemoved.getLength();
-		for (int i = 0; i < nNodes; i++) {
-			nodes.add(fNodesToBeRemoved.item(i));
-		}
-		return nodes.iterator();
-	}
-
-	/**
-	 * 
-	 */
-	private int getOriginalOffset(IStructuredDocumentRegion flatNode) {
-		int offset = 0;
-		if (flatNode != null) {
-			offset = flatNode.getStart();
-			if (0 <= fLengthDifference) {
-				if (fNewStart + fNewLength < offset) {
-					offset -= fLengthDifference;
-				}
-			}
-			else {
-				if (fOldStart + fOldLength <= offset || (fNewStart < 0 && fOldStart <= offset && !isOldNode(flatNode)) || (0 <= fNewStart && fNewStart + fNewLength <= offset && !isOldNode(flatNode))) {
-					offset -= fLengthDifference;
-				}
-			}
-		}
-
-		return offset;
-	}
-
-	/**
-	 * 
-	 */
-	int getRemovedRangeBegin() {
-		return fRemovedRangeBegin;
-	}
-
-	/**
-	 * 
-	 */
-	int getRemovedRangeEnd() {
-		return fRemovedRangeEnd;
-	}
-
-	/**
-	 * 
-	 */
-	private boolean isOldNode(IStructuredDocumentRegion flatNode) {
-		if (fOldStructuredDocumentRegions != null) {
-			for (Enumeration e = fOldStructuredDocumentRegions.elements(); e.hasMoreElements();) {
-				if (e.nextElement() == flatNode) {
-					return true;
-				}
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	void setupContext(IStructuredDocumentRegionList newStructuredDocumentRegions, IStructuredDocumentRegionList oldStructuredDocumentRegions) {
-		IStructuredDocumentRegion flatNode = null;
-		fOldLength = CSSUtil.getTextLength(oldStructuredDocumentRegions);
-		if (oldStructuredDocumentRegions != null && 0 < oldStructuredDocumentRegions.getLength() && (flatNode = oldStructuredDocumentRegions.item(0)) != null) {
-			fOldStart = flatNode.getStart();
-		}
-		else {
-			fOldStart = -1;
-		}
-		fNewLength = CSSUtil.getTextLength(newStructuredDocumentRegions);
-		if (newStructuredDocumentRegions != null && 0 < newStructuredDocumentRegions.getLength() && (flatNode = newStructuredDocumentRegions.item(0)) != null) {
-			fNewStart = flatNode.getStart();
-			fRemovedRangeBegin = fNewStart;
-			fRemovedRangeEnd = fNewStart + fNewLength;
-		}
-		else {
-			fNewStart = -1;
-			fRemovedRangeBegin = fRemovedRangeEnd = -1;
-		}
-		fLengthDifference = fNewLength - fOldLength;
-		fOldStructuredDocumentRegions = oldStructuredDocumentRegions;
-
-		// cleanup nodes
-		while (0 < fNodesToBeRemoved.getLength()) {
-			fNodesToBeRemoved.removeNode(0);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelImpl.java
deleted file mode 100644
index 1d98f57..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelImpl.java
+++ /dev/null
@@ -1,677 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.css.core.internal.document;
-
-
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.document.ICSSValue;
-import org.eclipse.wst.css.core.event.ICSSStyleListener;
-import org.eclipse.wst.css.core.internal.event.CSSEmbededStyleNotifyAdapter;
-import org.eclipse.wst.css.core.internal.event.CSSStyleNotifyAdapter;
-import org.eclipse.wst.css.core.internal.parser.CSSSourceParser;
-import org.eclipse.wst.css.core.util.ImportRuleCollector;
-import org.eclipse.wst.css.core.util.ImportedCollector;
-import org.eclipse.wst.css.core.util.SelectorsCollector;
-import org.eclipse.wst.sse.core.AbstractStructuredModel;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-
-public class CSSModelImpl extends AbstractStructuredModel implements ICSSModel, IStructuredDocumentListener {
-
-	private CSSDocumentImpl document = null;
-	private org.w3c.dom.Node ownerNode = null;
-	private CSSStyleNotifyAdapter styleNotifier = null;
-	private CSSModelParser fParser = null;
-	private CSSModelUpdater fUpdater = null;
-	private boolean fStructuredDocumentUpdate = false;
-	private final static String ID_NON_EXTERNAL_CSS = "**_NON_EXTERNAL_CSS_***";//$NON-NLS-1$
-
-	/**
-	 * CSSModelImpl constructor comment.
-	 * 
-	 */
-	public CSSModelImpl() {
-		super();
-	}
-
-	/**
-	 * @param listener
-	 *            org.eclipse.wst.css.core.event.CSSStyleListener
-	 */
-	public void addStyleListener(ICSSStyleListener listener) {
-		getStyleNotifier().addStyleListener(listener);
-	}
-
-	/**
-	 * @param parentNode
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param newAttr
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param oldAttr
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	void attrReplaced(CSSNodeImpl parentNode, CSSNodeImpl newAttr, CSSNodeImpl oldAttr) {
-		if (!fStructuredDocumentUpdate) {
-			CSSModelUpdater updater = getUpdater();
-			updater.attrReplaced(parentNode, newAttr, oldAttr);
-		}
-
-		ICSSSelector removed[] = null, added[] = null;
-		if (oldAttr != null && oldAttr.getNodeType() == ICSSNode.ATTR_NODE && ((CSSAttrImpl) oldAttr).getName().equals(ICSSStyleRule.SELECTOR)) {
-			CSSAttrImpl attr = (CSSAttrImpl) oldAttr;
-			// collect changed selector
-			ICSSSelectorList list = new CSSSelectorListImpl(attr.getValue());
-			removed = new ICSSSelector[list.getLength()];
-			for (int i = 0; i < list.getLength(); i++)
-				removed[i] = list.getSelector(i);
-		}
-		if (newAttr != null && newAttr.getNodeType() == ICSSNode.ATTR_NODE && ((CSSAttrImpl) newAttr).getName().equals(ICSSStyleRule.SELECTOR)) {
-			CSSAttrImpl attr = (CSSAttrImpl) newAttr;
-			// collect changed selector
-			ICSSSelectorList list = new CSSSelectorListImpl(attr.getValue());
-			added = new ICSSSelector[list.getLength()];
-			for (int i = 0; i < list.getLength(); i++)
-				added[i] = list.getSelector(i);
-		}
-		if (removed != null || added != null || getDocument().getNodeType() == ICSSNode.STYLEDECLARATION_NODE) {
-			getStyleNotifier().fire(removed, added, null);
-		}
-		// for href attribute
-		if (getStyleListeners() != null && getStyleListeners().size() > 0) {
-			boolean update = false;
-			if (oldAttr != null && oldAttr.getNodeType() == ICSSNode.ATTR_NODE && ((CSSAttrImpl) oldAttr).getName().equals(ICSSImportRule.HREF)) {
-				update = true;
-			}
-			if (newAttr != null && newAttr.getNodeType() == ICSSNode.ATTR_NODE && ((CSSAttrImpl) newAttr).getName().equals(ICSSImportRule.HREF)) {
-				update = true;
-			}
-			if (update)
-				((ICSSImportRule) parentNode).getStyleSheet();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void beginRecording(Object requester, String label, String description) {
-		getStyleNotifier().beginRecording();
-
-		Node node = getOwnerDOMNode();
-		if (node != null && node instanceof XMLNode) {
-			IStructuredModel model = ((XMLNode) node).getModel();
-			if (model != null) {
-				model.beginRecording(requester, label, description);
-				return;
-			}
-		}
-		super.beginRecording(requester, label, description);
-	}
-
-	/**
-	 * @param parentNode
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param newChild
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param oldChild
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	void childReplaced(CSSNodeImpl parentNode, CSSNodeImpl newChild, CSSNodeImpl oldChild) {
-		if (!fStructuredDocumentUpdate) {
-			CSSModelUpdater updater = getUpdater();
-			updater.childReplaced(parentNode, newChild, oldChild);
-		}
-
-		// always check and send selector event
-		ICSSSelector removed[] = null, added[] = null;
-		if (parentNode.getNodeType() == ICSSNode.STYLESHEET_NODE || parentNode.getNodeType() == ICSSNode.MEDIARULE_NODE) {
-			// collect old selectors
-			SelectorsCollector selTrav = new SelectorsCollector();
-			selTrav.apply(oldChild);
-			int nSel = selTrav.getSelectors().size();
-			if (nSel > 0) {
-				removed = new ICSSSelector[nSel];
-				for (int i = 0; i < nSel; i++)
-					removed[i] = (ICSSSelector) selTrav.getSelectors().get(i);
-			}
-			// collect new selectors
-			selTrav = new SelectorsCollector();
-			selTrav.apply(newChild);
-			nSel = selTrav.getSelectors().size();
-			if (nSel > 0) {
-				added = new ICSSSelector[nSel];
-				for (int i = 0; i < nSel; i++)
-					added[i] = (ICSSSelector) selTrav.getSelectors().get(i);
-			}
-		}
-		else {
-			// modification
-			ICSSNode rule = parentNode;
-			while (rule != null) {
-				if (rule instanceof ICSSStyleRule)
-					break;
-				rule = rule.getParentNode();
-			}
-			if (rule != null) {
-				ICSSSelectorList list = ((ICSSStyleRule) rule).getSelectors();
-				added = new ICSSSelector[list.getLength()];
-				for (int i = 0; i < list.getLength(); i++)
-					added[i] = list.getSelector(i);
-			}
-		}
-		if (removed != null || added != null || getDocument().getNodeType() == ICSSNode.STYLEDECLARATION_NODE) {
-			// send selector changed event
-			getStyleNotifier().fire(removed, added, null);
-		}
-		// close removed import-rule's external style sheets
-		{
-			ImportRuleCollector trav = new ImportRuleCollector();
-			trav.apply(oldChild);
-			Iterator it = trav.getRules().iterator();
-			while (it.hasNext()) {
-				((CSSImportRuleImpl) it.next()).closeStyleSheet();
-			}
-		}
-		// send events to listener for new import-rules
-		if (getStyleListeners() != null && getStyleListeners().size() > 0) {
-			ImportedCollector trav = new ImportedCollector();
-			trav.apply(newChild);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void closeImported() {
-		if (!isShared()) {
-			// release listeners
-			if (getStyleListeners() != null) {
-				Vector toRemove = new Vector(getStyleListeners());
-				Iterator it = toRemove.iterator();
-				while (it.hasNext()) {
-					removeStyleListener((ICSSStyleListener) it.next());
-				}
-			}
-			// close import rules
-			ImportRuleCollector trav = new ImportRuleCollector();
-			trav.apply(getDocument());
-			Iterator it2 = trav.getRules().iterator();
-			while (it2.hasNext()) {
-				((CSSImportRuleImpl) it2.next()).releaseRule();
-			}
-		}
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSDocumentImpl
-	 */
-	private CSSDocumentImpl createDocument() {
-		CSSDocumentImpl doc = null;
-		int parserMode = CSSSourceParser.MODE_STYLESHEET;
-		if (ownerNode == null) {
-			// this case is external CSS file
-			doc = (CSSStyleSheetImpl) DOMCSSImpl.createCSSStyleSheet(null, null); // parameters
-																					// are
-																					// for
-																					// STYLE-tag
-			parserMode = CSSSourceParser.MODE_STYLESHEET;
-		}
-		else if (ownerNode instanceof org.w3c.dom.Element && ((Element) ownerNode).getTagName().toUpperCase().equals("STYLE")) {//$NON-NLS-1$
-			// this case is STYLE-tag
-			Element style = (Element) ownerNode;
-			doc = (CSSStyleSheetImpl) DOMCSSImpl.createCSSStyleSheet(style.getAttribute("TITLE"), //$NON-NLS-1$
-						style.getAttribute("MEDIA"));//$NON-NLS-1$
-			parserMode = CSSSourceParser.MODE_STYLESHEET;
-		}
-		else if (ownerNode instanceof org.w3c.dom.Element || ownerNode instanceof org.w3c.dom.Attr) {
-			// Inline attributes
-			doc = (CSSStyleDeclarationImpl) DOMCSSImpl.createCSSStyleDeclaration();
-			parserMode = CSSSourceParser.MODE_DECLARATION;
-		}
-		RegionParser regionParser = getStructuredDocument().getParser();
-		if (regionParser instanceof CSSSourceParser) {
-			((CSSSourceParser) regionParser).setParserMode(parserMode);
-		}
-		return doc;
-	}
-
-	/**
-	 * 
-	 */
-	public void endRecording(Object requester) {
-		Node node = getOwnerDOMNode();
-		if (node != null && node instanceof XMLNode) {
-			IStructuredModel model = ((XMLNode) node).getModel();
-			if (model != null) {
-				model.endRecording(requester);
-				return;
-			}
-		}
-		super.endRecording(requester);
-
-		getStyleNotifier().endRecording();
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSDocument
-	 */
-	public ICSSDocument getDocument() {
-		if (document == null) {
-			this.document = createDocument();
-			this.document.setModel(this);
-		}
-		return this.document;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocument
-	 */
-	public IStructuredDocument getStructuredDocument() {
-		IStructuredDocument structuredDocument = super.getStructuredDocument();
-		if (structuredDocument != null)
-			return structuredDocument;
-
-		// the first time
-		Assert.isNotNull(getModelHandler());
-		structuredDocument = (IStructuredDocument) getModelHandler().getDocumentLoader().createNewStructuredDocument();
-		// structuredDocument = new
-		// com.ibm.sed.structuredDocument.impl.IStructuredDocument(IStructuredModel.CSS);
-		// CSSStructuredDocumentReParser reParser = new
-		// CSSStructuredDocumentReParser();
-		// reParser.setStructuredDocument(structuredDocument);
-		// ((com.ibm.sed.structuredDocument.impl.IStructuredDocument)structuredDocument).setReParser(reParser);
-
-		setStructuredDocument(structuredDocument);
-
-		return structuredDocument;
-	}
-
-	/**
-	 * getNode method comment.
-	 */
-	public IndexedRegion getIndexedRegion(int offset) {
-		if (getDocument() == null)
-			return null;
-		return ((CSSStructuredDocumentRegionContainer) getDocument()).getContainerNode(offset);
-	}
-
-	/**
-	 * @return org.w3c.dom.Node
-	 */
-	public Node getOwnerDOMNode() {
-		return ownerNode;
-	}
-
-	/**
-	 * @param ownerNode
-	 *            org.w3c.dom.Node if the case of external CSS model, you
-	 *            should set null, else if internal css, you should set
-	 *            STYLE-tag node, else if inline css, you should set the
-	 *            element that is the owner of style-attribute.
-	 */
-	public void setOwnerDOMNode(Node node) {
-		// prohibit owner change
-		Assert.isTrue(ownerNode == null);
-		ownerNode = node;
-		if (ownerNode != null) { // for internal/inline CSS context
-			try {
-				setId(ID_NON_EXTERNAL_CSS);
-			}
-			catch (ResourceInUse e) {
-				// impossible
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private CSSModelParser getParser() {
-		if (fParser == null) {
-			if (getDocument() != null) {
-				fParser = new CSSModelParser(document);
-			}
-		}
-		return fParser;
-	}
-
-	/**
-	 * @return java.util.List
-	 */
-	public List getStyleListeners() {
-		return getStyleNotifier().getStyleListeners();
-	}
-
-	/**
-	 * 
-	 * @return java.lang.Object
-	 */
-	public java.lang.Object getStyleSheetType() {
-		if (getDocument() instanceof ICSSStyleDeclaration)
-			return INLINE;
-		if (getOwnerDOMNode() != null)
-			return EMBEDDED;
-		else
-			return EXTERNAL;
-	}
-
-	private CSSStyleNotifyAdapter getStyleNotifier() {
-		if (styleNotifier == null) {
-			styleNotifier = (ownerNode != null) ? new CSSEmbededStyleNotifyAdapter(this) : new CSSStyleNotifyAdapter(this);
-		}
-		return styleNotifier;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSModelUpdater getUpdater() {
-		if (fUpdater == null) {
-			fUpdater = new CSSModelUpdater(this);
-			fUpdater.setParser(getParser());
-		}
-		return fUpdater;
-	}
-
-	/**
-	 */
-	public boolean isRecording() {
-		return getStyleNotifier().isRecording();
-	}
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 */
-	public boolean isShared() {
-		return (getStyleSheetType() == EXTERNAL) && super.isShared();
-	}
-
-	/**
-	 * @param structuredDocumentEvent
-	 *            com.ibm.sed.structuredDocument.events.NewModelEvent
-	 */
-	public void newModel(NewDocumentEvent structuredDocumentEvent) {
-		if (structuredDocumentEvent == null)
-			return;
-		IStructuredDocument structuredDocument = structuredDocumentEvent.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-		// this should not happen, but for the case
-		if (structuredDocument != getStructuredDocument())
-			setStructuredDocument(structuredDocument);
-		IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList();
-		if (flatNodes == null)
-			return;
-		if (getDocument() == null)
-			return;
-
-		fStructuredDocumentUpdate = true;
-
-		((CSSStructuredDocumentRegionContainer) getDocument()).removeChildNodes();
-
-		CSSModelParser parser = getParser();
-		parser.setStructuredDocumentEvent(structuredDocumentEvent);
-		parser.replaceStructuredDocumentRegions(flatNodes, null);
-
-		fStructuredDocumentUpdate = false;
-	}
-
-	/**
-	 * noChange method comment.
-	 */
-	public void noChange(NoChangeEvent structuredDocumentEvent) {
-		// nop
-	}
-
-	/**
-	 * @param structuredDocumentEvent
-	 *            com.ibm.sed.structuredDocument.events.StructuredDocumentRegionsReplacedEvent
-	 */
-	public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-		if (structuredDocumentEvent == null) {
-			return;
-		}
-		IStructuredDocumentRegionList oldStructuredDocumentRegions = structuredDocumentEvent.getOldStructuredDocumentRegions();
-		IStructuredDocumentRegionList newStructuredDocumentRegions = structuredDocumentEvent.getNewStructuredDocumentRegions();
-		if (oldStructuredDocumentRegions == null && newStructuredDocumentRegions == null) {
-			return;
-		}
-
-		fStructuredDocumentUpdate = true;
-
-		CSSModelParser parser = getParser();
-		parser.setStructuredDocumentEvent(structuredDocumentEvent);
-		parser.replaceStructuredDocumentRegions(newStructuredDocumentRegions, oldStructuredDocumentRegions);
-
-		fStructuredDocumentUpdate = false;
-	}
-
-	/**
-	 * cleanup -> rebuild CSS Nodes This is pre-beta fix for 178176.
-	 */
-	public void refreshNodes() {
-		// cleanup old nodes
-		fStructuredDocumentUpdate = true;
-		((CSSStructuredDocumentRegionContainer) getDocument()).removeChildNodes();
-		fStructuredDocumentUpdate = false;
-
-		getParser().cleanupUpdateContext();
-
-		IStructuredDocument structuredDocument = getStructuredDocument();
-		String source = structuredDocument.getText();
-
-		structuredDocument.replaceText(this, 0, source.length(), null);
-		structuredDocument.replaceText(this, 0, 0, source);
-	}
-
-	/**
-	 * @param structuredDocumentEvent
-	 *            com.ibm.sed.structuredDocument.events.RegionChangedEvent
-	 */
-	public void regionChanged(RegionChangedEvent structuredDocumentEvent) {
-		if (structuredDocumentEvent == null) {
-			return;
-		}
-		IStructuredDocumentRegion flatNode = structuredDocumentEvent.getStructuredDocumentRegion();
-		if (flatNode == null) {
-			return;
-		}
-		ITextRegion region = structuredDocumentEvent.getRegion();
-		if (region == null) {
-			return;
-		}
-
-		fStructuredDocumentUpdate = true;
-
-		CSSModelParser parser = getParser();
-		parser.setStructuredDocumentEvent(structuredDocumentEvent);
-		parser.changeRegion(flatNode, region);
-
-		fStructuredDocumentUpdate = false;
-	}
-
-	/**
-	 * @param structuredDocumentEvent
-	 *            com.ibm.sed.structuredDocument.events.RegionsReplacedEvent
-	 */
-	public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) {
-		if (structuredDocumentEvent == null)
-			return;
-		IStructuredDocumentRegion flatNode = structuredDocumentEvent.getStructuredDocumentRegion();
-		if (flatNode == null)
-			return;
-		ITextRegionList oldRegions = structuredDocumentEvent.getOldRegions();
-		ITextRegionList newRegions = structuredDocumentEvent.getNewRegions();
-		if (oldRegions == null && newRegions == null)
-			return;
-
-		fStructuredDocumentUpdate = true;
-
-		CSSModelParser parser = getParser();
-		parser.setStructuredDocumentEvent(structuredDocumentEvent);
-		parser.replaceRegions(flatNode, newRegions, oldRegions);
-
-		fStructuredDocumentUpdate = false;
-
-	}
-
-	/**
-	 * 
-	 */
-	public void releaseFromEdit() {
-		closeImported();
-		if (getStyleSheetType() == EXTERNAL) {
-			super.releaseFromEdit();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void releaseFromRead() {
-		closeImported();
-		if (getStyleSheetType() == EXTERNAL) {
-			super.releaseFromRead();
-		}
-	}
-
-	/**
-	 * @param listener
-	 *            org.eclipse.wst.css.core.event.CSSStyleListener
-	 */
-	public void removeStyleListener(ICSSStyleListener listener) {
-		getStyleNotifier().removeStyleListener(listener);
-	}
-
-	/**
-	 * @param newStructuredDocument
-	 *            com.ibm.sed.structuredDocument.IStructuredDocument
-	 */
-	public void setStructuredDocument(IStructuredDocument newStructuredDocument) {
-		IStructuredDocument oldStructuredDocument = super.getStructuredDocument();
-		if (newStructuredDocument == oldStructuredDocument)
-			return; // noting to do
-
-		if (oldStructuredDocument != null)
-			oldStructuredDocument.removeDocumentChangingListener(this);
-		super.setStructuredDocument(newStructuredDocument);
-		if (newStructuredDocument.getLength() > 0) {
-			newModel(new NewDocumentEvent(newStructuredDocument, this));
-		}
-		if (newStructuredDocument != null)
-			newStructuredDocument.addDocumentChangingListener(this);
-	}
-
-	/**
-	 * @param srcModel
-	 *            com.imb.sed.css.mode.intefaces.ICSSModel
-	 * @param removed
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSSelector[]
-	 * @param added
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSSelector[]
-	 */
-	public void styleChanged(ICSSModel srcModel, ICSSSelector[] removed, ICSSSelector[] added, String media) {
-		getStyleNotifier().styleChanged(srcModel, removed, added, media);
-	}
-
-	/**
-	 * @param srcModel
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSModel
-	 */
-	public void styleUpdate(ICSSModel srcModel) {
-		getStyleNotifier().styleUpdate(srcModel);
-	}
-
-	/**
-	 * @param node
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	void valueChanged(CSSNodeImpl node, String oldValue) {
-		if (!fStructuredDocumentUpdate) {
-			CSSModelUpdater updater = getUpdater();
-			updater.valueChanged(node, oldValue);
-		}
-
-		ICSSSelector removed[] = null, added[] = null;
-		if (node != null) {
-			if (node.getNodeType() == ICSSNode.ATTR_NODE && ((CSSAttrImpl) node).getName().equals(ICSSStyleRule.SELECTOR)) {
-				CSSAttrImpl attr = (CSSAttrImpl) node;
-				// collect changed selector
-				ICSSSelectorList list = new CSSSelectorListImpl(attr.getValue());
-				added = new ICSSSelector[list.getLength()];
-				for (int i = 0; i < list.getLength(); i++)
-					added[i] = list.getSelector(i);
-
-				// get old value
-				list = new CSSSelectorListImpl(oldValue);
-				removed = new ICSSSelector[list.getLength()];
-				for (int i = 0; i < list.getLength(); i++)
-					removed[i] = list.getSelector(i);
-			}
-			else if (node instanceof ICSSValue) {
-				ICSSNode rule = node;
-				while (rule != null) {
-					if (rule instanceof ICSSStyleRule)
-						break;
-					rule = rule.getParentNode();
-				}
-				if (rule != null) {
-					ICSSSelectorList list = ((ICSSStyleRule) rule).getSelectors();
-					added = new ICSSSelector[list.getLength()];
-					for (int i = 0; i < list.getLength(); i++)
-						added[i] = list.getSelector(i);
-				}
-			}
-		}
-		if (removed != null || added != null || getDocument().getNodeType() == ICSSNode.STYLEDECLARATION_NODE) {
-			// send selector changed event
-			getStyleNotifier().fire(removed, added, null);
-		}
-		// for href attribute
-		if (getStyleListeners() != null && getStyleListeners().size() > 0) {
-			if (node != null && node.getNodeType() == ICSSNode.ATTR_NODE && ((CSSAttrImpl) node).getName().equals(ICSSImportRule.HREF)) {
-				((ICSSImportRule) ((ICSSAttr) node).getOwnerCSSNode()).getStyleSheet();
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelNodeFeeder.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelNodeFeeder.java
deleted file mode 100644
index 0f50a99..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelNodeFeeder.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-/**
- * 
- */
-class CSSModelNodeFeeder {
-
-	CSSDocumentImpl fDocument = null;
-	CSSModelUpdateContext fUpdateContext = null;
-
-	/**
-	 * CSSModelNodeFeeder constructor comment.
-	 */
-	CSSModelNodeFeeder() {
-		super();
-	}
-
-	/**
-	 * CSSModelNodeFeeder constructor comment.
-	 */
-	CSSModelNodeFeeder(CSSDocumentImpl document, CSSModelUpdateContext updateContext) {
-		super();
-		fDocument = document;
-		fUpdateContext = updateContext;
-	}
-
-	/**
-	 * 
-	 */
-	CSSCharsetRuleImpl getCSSCharsetRule() {
-		CSSCharsetRuleImpl node;
-		if (fUpdateContext.isActive()) {
-			node = fUpdateContext.getCSSCharsetRule();
-		}
-		else {
-			node = (CSSCharsetRuleImpl) fDocument.createCSSCharsetRule();
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	CSSFontFaceRuleImpl getCSSFontFaceRule() {
-		CSSFontFaceRuleImpl node;
-		if (fUpdateContext.isActive()) {
-			node = fUpdateContext.getCSSFontFaceRule();
-		}
-		else {
-			node = (CSSFontFaceRuleImpl) fDocument.createCSSFontFaceRule();
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	CSSImportRuleImpl getCSSImportRule() {
-		CSSImportRuleImpl node;
-		if (fUpdateContext.isActive()) {
-			node = fUpdateContext.getCSSImportRule();
-		}
-		else {
-			node = (CSSImportRuleImpl) fDocument.createCSSImportRule();
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	CSSMediaRuleImpl getCSSMediaRule() {
-		CSSMediaRuleImpl node;
-		if (fUpdateContext.isActive()) {
-			node = fUpdateContext.getCSSMediaRule();
-		}
-		else {
-			node = (CSSMediaRuleImpl) fDocument.createCSSMediaRule();
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	CSSPageRuleImpl getCSSPageRule() {
-		CSSPageRuleImpl node;
-		if (fUpdateContext.isActive()) {
-			node = fUpdateContext.getCSSPageRule();
-		}
-		else {
-			node = (CSSPageRuleImpl) fDocument.createCSSPageRule();
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	CSSStyleRuleImpl getCSSStyleRule() {
-		CSSStyleRuleImpl node;
-		if (fUpdateContext.isActive()) {
-			node = fUpdateContext.getCSSStyleRule();
-		}
-		else {
-			node = (CSSStyleRuleImpl) fDocument.createCSSStyleRule();
-		}
-		return node;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelParser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelParser.java
deleted file mode 100644
index c860c50..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelParser.java
+++ /dev/null
@@ -1,1281 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSCharsetRule;
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSMediaRule;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPageRule;
-import org.eclipse.wst.css.core.document.ICSSRuleContainer;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.internal.text.StructuredDocumentWalker;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.text.CoreNodeList;
-import org.eclipse.wst.sse.core.internal.text.TextRegionListImpl;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.w3c.dom.css.CSSFontFaceRule;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.css.CSSStyleDeclaration;
-
-
-/**
- * 
- */
-class CSSModelParser {
-
-	private CSSDocumentImpl fDocument = null;
-	private CSSModelCreationContext fCreationContext = null;
-	private CSSModelDeletionContext fDeletionContext = null;
-	private CSSModelUpdateContext fUpdateContext = null;
-	private CSSModelNodeFeeder fFeeder = null;
-	private StructuredDocumentWalker fStructuredDocumentWalker = null;
-	private boolean fParseFloating = false;
-
-	/**
-	 * CSSModelParser constructor comment.
-	 */
-	private CSSModelParser() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	CSSModelParser(CSSDocumentImpl doc) {
-		super();
-		fDocument = doc;
-		fCreationContext = new CSSModelCreationContext(doc);
-		fDeletionContext = new CSSModelDeletionContext(doc);
-		fUpdateContext = new CSSModelUpdateContext();
-		fFeeder = new CSSModelNodeFeeder(doc, fUpdateContext);
-	}
-
-	/**
-	 * 
-	 */
-	void changeStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		replaceStructuredDocumentRegions(new CoreNodeList(flatNode, flatNode), new CoreNodeList(flatNode, flatNode));
-	}
-
-	/**
-	 * 
-	 */
-	void changeRegion(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		if (flatNode == null || region == null) {
-			return;
-		}
-		if (fDocument == null) {
-			return;
-		}
-
-		changeStructuredDocumentRegion(flatNode);
-	}
-
-	/**
-	 * 
-	 */
-	private void checkNextNode(IStructuredDocumentRegion flatNode, String type) {
-		IStructuredDocumentRegion next = CSSUtil.findNextSignificantNode(flatNode);
-		if (CSSUtil.getStructuredDocumentRegionType(next) == type) {
-			fCreationContext.setReparseStart(flatNode.getEnd());
-			fCreationContext.setReparseEnd(next.getEnd());
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void cleanupDeletionContext() {
-		// setupDeletionContext(null);
-	}
-
-	/**
-	 * 
-	 */
-	boolean cleanupFirstNode(IStructuredDocumentRegion firstNode, CSSStructuredDocumentRegionContainer target) {
-		if (firstNode == null || target == null) {
-			return false;
-		}
-
-		if (firstNode == target.getFirstStructuredDocumentRegion()) {
-			IStructuredDocumentRegion nextNode = fStructuredDocumentWalker.getNextNodeInCurrent(firstNode);
-			IStructuredDocumentRegion lastNode = target.getLastStructuredDocumentRegion();
-			if (lastNode == null || fStructuredDocumentWalker.isOldNode(lastNode) || nextNode == null || lastNode.getStartOffset() < nextNode.getStartOffset()) {
-				target.setRangeStructuredDocumentRegion(null, null);
-			}
-			else {
-				target.setFirstStructuredDocumentRegion(nextNode);
-			}
-			ICSSNode parent = target.getParentNode();
-			if (parent instanceof CSSStructuredDocumentRegionContainer) {
-				cleanupFirstNode(firstNode, (CSSStructuredDocumentRegionContainer) parent);
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	boolean cleanupLastNode(IStructuredDocumentRegion lastNode, CSSStructuredDocumentRegionContainer target) {
-		if (lastNode == null || target == null) {
-			return false;
-		}
-
-		if (lastNode == target.getLastStructuredDocumentRegion()) {
-			IStructuredDocumentRegion prevNode = fStructuredDocumentWalker.getPrevNodeInCurrent(lastNode);
-			IStructuredDocumentRegion firstNode = target.getFirstStructuredDocumentRegion();
-			if (firstNode == null || fStructuredDocumentWalker.isOldNode(firstNode) || prevNode == null || prevNode.getStartOffset() < firstNode.getStartOffset()) {
-				target.setRangeStructuredDocumentRegion(null, null);
-			}
-			else {
-				target.setLastStructuredDocumentRegion(prevNode);
-			}
-			ICSSNode parent = target.getParentNode();
-			if (parent instanceof CSSStructuredDocumentRegionContainer) {
-				cleanupLastNode(lastNode, (CSSStructuredDocumentRegionContainer) parent);
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	int cleanupUpdateContext() {
-		int remains = fUpdateContext.getNodeCount();
-		fUpdateContext.cleanupContext();
-		return remains;
-	}
-
-	/**
-	 * create floating CSS rule (owner document will be set) this is for
-	 * CSSStyleSheet.createCSSRule(String)
-	 * 
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param flatNodes
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegionList
-	 */
-	CSSRule createCSSRule(IStructuredDocumentRegionList flatNodes) {
-		if (flatNodes == null) {
-			return null;
-		}
-
-		fParseFloating = true;
-
-		// setup creation context
-		fCreationContext.clear();
-		fCreationContext.setTargetNode(null);
-		fCreationContext.setNextNode(null);
-		CSSRuleImpl parentRule = null;
-
-		for (Enumeration e = flatNodes.elements(); e.hasMoreElements();) {
-			IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement();
-			if (flatNode == null) {
-				continue;
-			}
-			CSSNodeImpl modified = insertStructuredDocumentRegion(flatNode);
-			if (parentRule == null && modified instanceof CSSRuleImpl) {
-				parentRule = (CSSRuleImpl) modified;
-			}
-		}
-
-		fParseFloating = false;
-
-		if (parentRule != null) {
-			CSSModelUtil.cleanupContainer(parentRule);
-		}
-
-		return parentRule;
-	}
-
-	/**
-	 * 
-	 */
-	private IStructuredDocumentRegion findBraceClose(int depth, IStructuredDocumentRegion start, boolean bBreakSibling) {
-		IStructuredDocumentRegion result = null;
-		int braceLevel = 0;
-		IStructuredDocumentRegion prevNode = null;
-		IStructuredDocumentRegion region = start.getNext();
-		for (; region != null; region = region.getNext()) {
-			int offset = region.getStart();
-			if (offset < 0) {
-				Assert.isTrue(false);
-				break;
-			}
-			CSSNodeImpl node = getNodeAt(offset);
-			int depthHit = (node != null) ? CSSModelUtil.getDepth(node) : -1;
-			if (depth <= depthHit) {
-				// sibling is found before "}"
-				if (bBreakSibling) {
-					CSSNodeImpl parent = (CSSNodeImpl) node.getParentNode();
-					while (depth <= CSSModelUtil.getDepth(parent)) {
-						node = parent;
-						parent = (CSSNodeImpl) parent.getParentNode();
-					}
-					if (parent != null && node != null) {
-						parent.removeChild(node);
-					}
-				}
-				else {
-					result = prevNode;
-					break;
-				}
-			}
-			String type = CSSUtil.getStructuredDocumentRegionType(region);
-			if (type == CSSRegionContexts.CSS_LBRACE) {
-				braceLevel++;
-			}
-			if (type == CSSRegionContexts.CSS_RBRACE) {
-				braceLevel--;
-				if (braceLevel < 0) {
-					result = region;
-					break;
-				}
-			}
-			prevNode = region;
-		}
-
-		if (result == null && region == null) {
-			// reach the end of document
-			result = prevNode;
-		}
-
-		return result;
-	}
-
-	/**
-	 * 
-	 */
-	private IStructuredDocumentRegionList getStructuredDocumentRegionList(int start, int end) {
-		IStructuredDocumentRegionList nodeList = null;
-		if (0 <= start && start <= end) {
-			ICSSModel model = fDocument.getModel();
-			if (model instanceof CSSModelImpl) {
-				IStructuredDocument structuredDocument = ((CSSModelImpl) model).getStructuredDocument();
-				if (structuredDocument != null) {
-					IStructuredDocumentRegion startNode = structuredDocument.getRegionAtCharacterOffset(start);
-					IStructuredDocumentRegion endNode = structuredDocument.getRegionAtCharacterOffset(end - 1);
-					if (startNode != null && endNode != null) {
-						nodeList = new CoreNodeList(startNode, endNode);
-					}
-				}
-			}
-		}
-
-		return nodeList;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl getNodeAt(int offset) {
-		CSSNodeImpl rootNode = fCreationContext.getRootNode();
-		ICSSNode target = rootNode.getNodeAt(offset);
-		if (target instanceof CSSNodeImpl) {
-			return (CSSNodeImpl) target;
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertBraceClose(IStructuredDocumentRegion region) {
-		ICSSNode target = CSSModelUtil.findBraceContainer(fCreationContext.getTargetNode());
-
-		if (!(target instanceof CSSStructuredDocumentRegionContainer)) {
-			return null;
-		}
-
-		CSSStructuredDocumentRegionContainer parent = (CSSStructuredDocumentRegionContainer) target;
-		if (CSSModelUtil.isInterruption(parent, region)) {
-			ICSSNode node = parent.getParentNode();
-			if (node instanceof CSSNodeImpl) {
-				fCreationContext.setReparseStart(parent.getStartOffset());
-				fCreationContext.setReparseEnd(parent.getEndOffset());
-				((CSSNodeImpl) node).removeChild(parent);
-			}
-			return null;
-		}
-
-		if (parent instanceof ICSSPageRule || parent instanceof ICSSMediaRule || parent instanceof CSSFontFaceRule || parent instanceof ICSSStyleRule) {
-			CSSModelUtil.expandStructuredDocumentRegionContainer(parent, region);
-			if (!CSSModelUtil.isBraceClosed(target)) {
-				fCreationContext.setTargetNode(parent.getParentNode());
-				fCreationContext.setNextNode(parent.getNextSibling());
-				return parent;
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertBraceOpen(IStructuredDocumentRegion region) {
-		IStructuredDocumentRegion keyRegion = CSSUtil.findPreviousSignificantNode(region);
-		if (keyRegion == null) {
-			return null;
-		}
-		if (!fParseFloating) {
-			CSSNodeImpl node = getNodeAt(keyRegion.getStartOffset());
-			if (node != null && !(node instanceof ICSSRuleContainer)) {
-				return null;
-			}
-		}
-		String type = CSSUtil.getStructuredDocumentRegionType(keyRegion);
-
-		CSSNodeImpl inserted = null;
-		if (type == CSSRegionContexts.CSS_PAGE) {
-			inserted = insertPageRule(keyRegion, region);
-		}
-		else if (type == CSSRegionContexts.CSS_MEDIA) {
-			inserted = insertMediaRule(keyRegion, region);
-		}
-		else if (type == CSSRegionContexts.CSS_FONT_FACE) {
-			inserted = insertFontFaceRule(keyRegion, region);
-		}
-		else if (CSSUtil.isSelectorText(keyRegion)) {
-			inserted = insertStyleRule(keyRegion, region);
-		}
-
-		if (inserted instanceof CSSStructuredDocumentRegionContainer) {
-			// CSSModelUtil.expandStructuredDocumentRegionContainer((CSSStructuredDocumentRegionContainer)inserted,
-			// flatNode);
-			IStructuredDocumentRegion braceClose = findBraceClose(CSSModelUtil.getDepth(inserted), region, (type == CSSRegionContexts.CSS_MEDIA));
-			if (braceClose != null) {
-				fCreationContext.setReparseStart(region.getEnd());
-				fCreationContext.setReparseEnd(braceClose.getEnd());
-			}
-		}
-
-		return inserted;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertCharsetRule(IStructuredDocumentRegion beginDocRegion, IStructuredDocumentRegion endDocRegion) {
-		CSSNodeImpl parent = fCreationContext.getTargetNode();
-		if (!fParseFloating && !(parent instanceof ICSSRuleContainer)) {
-			return null;
-		}
-
-		ITextRegionList regions = new TextRegionListImpl(beginDocRegion.getRegions());
-		regions.remove(0); // must be "@charset"
-		ITextRegion encodingRegion = null;
-		while (!regions.isEmpty()) {
-			ITextRegion textRegion = regions.remove(0);
-			if (textRegion == null) {
-				continue;
-			}
-			String type = textRegion.getType();
-			if (type == CSSRegionContexts.CSS_S || type == CSSRegionContexts.CSS_COMMENT) {
-				continue;
-			}
-			if (type == CSSRegionContexts.CSS_STRING) {
-				encodingRegion = textRegion;
-				break;
-			}
-			else {
-				break;
-			}
-		}
-		if (encodingRegion == null) {
-			return null;
-		}
-
-		CSSCharsetRuleImpl rule = fFeeder.getCSSCharsetRule();
-		if (rule == null) {
-			return null;
-		}
-
-		if (!fUpdateContext.isActive()) {
-			rule.setAttribute(ICSSCharsetRule.ENCODING, beginDocRegion.getText(encodingRegion));
-		}
-
-		// setup flat container
-		rule.setRangeStructuredDocumentRegion(beginDocRegion, endDocRegion);
-		CSSAttrImpl attr = rule.getAttributeNode(ICSSCharsetRule.ENCODING);
-		if (attr != null) {
-			attr.setRangeRegion(beginDocRegion, encodingRegion, encodingRegion);
-		}
-
-		// insert to tree
-		if (!fUpdateContext.isActive() && parent != null) {
-			propagateRangePreInsert(parent, rule);
-			CSSNodeImpl next = fCreationContext.getNextNode();
-			if (next != null) {
-				parent.insertBefore(rule, next);
-			}
-			else {
-				parent.appendChild(rule);
-			}
-		}
-
-		return rule;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertStructuredDocumentRegion(IStructuredDocumentRegion region) {
-		if (fCreationContext == null || region == null) {
-			return null;
-		}
-
-		String type = ((BasicStructuredDocumentRegion) region).getType();
-		CSSNodeImpl modified = null;
-
-		ICSSNode target = fCreationContext.getTargetNode();
-
-		if ((fParseFloating && target == null) || target instanceof ICSSRuleContainer) {
-			if (type == CSSRegionContexts.CSS_DELIMITER) {
-				modified = insertSemiColonForRule(region);
-			}
-			else if (type == CSSRegionContexts.CSS_LBRACE) {
-				modified = insertBraceOpen(region);
-			}
-			else if (type == CSSRegionContexts.CSS_RBRACE) {
-				modified = insertBraceClose(region);
-			}
-			else if (type == CSSRegionContexts.CSS_MEDIA || type == CSSRegionContexts.CSS_PAGE || type == CSSRegionContexts.CSS_FONT_FACE || CSSUtil.isSelectorText(region)) {
-				checkNextNode(region, CSSRegionContexts.CSS_LBRACE);
-			}
-			else if (type == CSSRegionContexts.CSS_IMPORT || type == CSSRegionContexts.CSS_CHARSET) {
-				checkNextNode(region, CSSRegionContexts.CSS_DELIMITER);
-			}
-		}
-		else if ((target instanceof CSSRuleDeclContainer || target instanceof CSSStyleDeclaration) && type == CSSRegionContexts.CSS_DECLARATION_PROPERTY) {
-			modified = insertStyleDeclarationItem(region);
-		}
-		else if (target instanceof ICSSStyleDeclItem && type == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-			modified = insertSemiColonForStyleDeclarationItem(region);
-		}
-		else if (type == CSSRegionContexts.CSS_RBRACE) {
-			modified = insertBraceClose(region);
-		}
-
-		// post process
-		if (modified != null) {
-			if (modified instanceof CSSStructuredDocumentRegionContainer) {
-				((CSSStructuredDocumentRegionContainer) modified).propagateRangeStructuredDocumentRegion();
-			}
-		}
-
-		return modified;
-	}
-
-	/**
-	 * 
-	 */
-	private void insertStructuredDocumentRegions(IStructuredDocumentRegionList regionList) {
-		for (Enumeration e = regionList.elements(); e.hasMoreElements();) {
-			IStructuredDocumentRegion region = (IStructuredDocumentRegion) e.nextElement();
-			if (region == null) {
-				continue;
-			}
-			insertStructuredDocumentRegion(region);
-			if (fCreationContext.isToReparse()) {
-				int origStart = region.getEnd();
-				int origEnd = regionList.item(regionList.getLength() - 1).getEnd();
-				int newStart = fCreationContext.getReparseStart();
-				int newEnd = fCreationContext.getReparseEnd();
-				if (newStart < origStart || origEnd < newEnd) {
-					IStructuredDocumentRegionList newNodeList = getStructuredDocumentRegionList(newStart, newEnd);
-					setupCreationContext(newNodeList.item(0));
-					insertStructuredDocumentRegions(newNodeList);
-					return;
-				}
-				else {
-					fCreationContext.resetReparseRange();
-				}
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertFontFaceRule(IStructuredDocumentRegion region, IStructuredDocumentRegion braceNode) {
-		CSSNodeImpl parent = fCreationContext.getTargetNode();
-		if (!fParseFloating && !(parent instanceof ICSSRuleContainer)) {
-			return null;
-		}
-
-		CSSFontFaceRuleImpl rule = fFeeder.getCSSFontFaceRule();
-		if (rule == null) {
-			return null;
-		}
-
-		// setup flat container
-		rule.setRangeStructuredDocumentRegion(region, braceNode);
-
-		// insert to tree
-		if (!fUpdateContext.isActive() && parent != null) {
-			propagateRangePreInsert(parent, rule);
-			CSSNodeImpl next = fCreationContext.getNextNode();
-			if (next != null) {
-				parent.insertBefore(rule, next);
-			}
-			else {
-				parent.appendChild(rule);
-			}
-		}
-
-		fCreationContext.setTargetNode(rule);
-		// TargetNext is set to null automatically
-
-		return rule;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertImportRule(IStructuredDocumentRegion beginDocRegion, IStructuredDocumentRegion endDocRegion) {
-		CSSNodeImpl parent = fCreationContext.getTargetNode();
-		if (!fParseFloating && !(parent instanceof ICSSRuleContainer)) {
-			return null;
-		}
-
-		ITextRegionList regions = new TextRegionListImpl(beginDocRegion.getRegions());
-		regions.remove(0); // must be "@import"
-		ITextRegion hrefRegion = null;
-		while (!regions.isEmpty()) {
-			ITextRegion textRegion = regions.remove(0);
-			if (textRegion == null) {
-				continue;
-			}
-			String type = textRegion.getType();
-			if (type == CSSRegionContexts.CSS_S || type == CSSRegionContexts.CSS_COMMENT) {
-				continue;
-			}
-			if (type == CSSRegionContexts.CSS_URI || type == CSSRegionContexts.CSS_STRING) {
-				hrefRegion = textRegion;
-				break;
-			}
-			else {
-				break;
-			}
-		}
-		if (hrefRegion == null) {
-			return null;
-		}
-
-		CSSImportRuleImpl rule = fFeeder.getCSSImportRule();
-		if (rule == null) {
-			return null;
-		}
-
-		CSSUtil.stripSurroundingSpace(regions);
-		MediaListImpl mediaList = (MediaListImpl) rule.getMedia();
-		setMediaList(mediaList, beginDocRegion, regions);
-
-		if (!fUpdateContext.isActive()) {
-			rule.setAttribute(ICSSImportRule.HREF, beginDocRegion.getText(hrefRegion));
-		}
-
-		// setup flat container
-		rule.setRangeStructuredDocumentRegion(beginDocRegion, endDocRegion);
-		CSSAttrImpl attr = rule.getAttributeNode(ICSSImportRule.HREF);
-		if (attr != null) {
-			attr.setRangeRegion(beginDocRegion, hrefRegion, hrefRegion);
-		}
-
-		// insert to tree
-		if (!fUpdateContext.isActive() && parent != null) {
-			propagateRangePreInsert(parent, rule);
-			CSSNodeImpl next = fCreationContext.getNextNode();
-			if (next != null) {
-				parent.insertBefore(rule, next);
-			}
-			else {
-				parent.appendChild(rule);
-			}
-		}
-
-		return rule;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertMediaRule(IStructuredDocumentRegion flatNode, IStructuredDocumentRegion braceNode) {
-		CSSNodeImpl parent = fCreationContext.getTargetNode();
-		if (!fParseFloating && !(parent instanceof ICSSRuleContainer)) {
-			return null;
-		}
-
-		CSSMediaRuleImpl rule = fFeeder.getCSSMediaRule();
-		if (rule == null) {
-			return null;
-		}
-
-		ITextRegionList regions = new TextRegionListImpl(flatNode.getRegions());
-		regions.remove(0); // must be "@media"
-
-		CSSUtil.stripSurroundingSpace(regions);
-		MediaListImpl mediaList = (MediaListImpl) rule.getMedia();
-		setMediaList(mediaList, flatNode, regions);
-
-		// setup flat container
-		rule.setRangeStructuredDocumentRegion(flatNode, braceNode);
-
-		// insert to tree
-		if (!fUpdateContext.isActive() && parent != null) {
-			propagateRangePreInsert(parent, rule);
-			CSSNodeImpl next = fCreationContext.getNextNode();
-			if (next != null) {
-				parent.insertBefore(rule, next);
-			}
-			else {
-				parent.appendChild(rule);
-			}
-		}
-
-		fCreationContext.setTargetNode(rule);
-		// TargetNext is set to null automatically
-
-		return rule;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertPageRule(IStructuredDocumentRegion flatNode, IStructuredDocumentRegion braceNode) {
-		CSSNodeImpl parent = fCreationContext.getTargetNode();
-		if (!fParseFloating && !(parent instanceof ICSSRuleContainer)) {
-			return null;
-		}
-
-		// get selector regions
-		ITextRegionList selectorRegions = new TextRegionListImpl(flatNode.getRegions());
-		selectorRegions.remove(0); // must be "@page"
-		CSSUtil.stripSurroundingSpace(selectorRegions);
-
-		CSSPageRuleImpl rule = fFeeder.getCSSPageRule();
-		if (rule == null) {
-			return null;
-		}
-
-		if (!fUpdateContext.isActive()) {
-			String selectorStr = CSSUtil.getRegionText(flatNode, selectorRegions);
-			if (0 < selectorStr.length()) {
-				rule.setSelectorText(selectorStr);
-			}
-		}
-
-		// setup flat container
-		rule.setRangeStructuredDocumentRegion(flatNode, braceNode);
-		CSSAttrImpl attr = rule.getAttributeNode(ICSSPageRule.SELECTOR);
-		if (attr != null && selectorRegions != null && !selectorRegions.isEmpty()) {
-			attr.setRangeRegion(flatNode, selectorRegions.get(0), selectorRegions.get(selectorRegions.size() - 1));
-		}
-
-		// insert to tree
-		if (!fUpdateContext.isActive() && parent != null) {
-			propagateRangePreInsert(parent, rule);
-			CSSNodeImpl next = fCreationContext.getNextNode();
-			if (next != null) {
-				parent.insertBefore(rule, next);
-			}
-			else {
-				parent.appendChild(rule);
-			}
-		}
-
-		fCreationContext.setTargetNode(rule);
-		// TargetNext is set to null automatically
-
-		return rule;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertSemiColonForRule(IStructuredDocumentRegion region) {
-		IStructuredDocumentRegion keyRegion = CSSUtil.findPreviousSignificantNode(region);
-		String type = CSSUtil.getStructuredDocumentRegionType(keyRegion);
-
-		CSSNodeImpl inserted = null;
-		if (type == CSSRegionContexts.CSS_IMPORT) {
-			inserted = insertImportRule(keyRegion, region);
-		}
-		else if (type == CSSRegionContexts.CSS_CHARSET) {
-			inserted = insertCharsetRule(keyRegion, region);
-		}
-
-		return inserted;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertSemiColonForStyleDeclarationItem(IStructuredDocumentRegion region) {
-		// only target/net node is changed. nothing to do.
-
-		CSSNodeImpl targetNode = fCreationContext.getTargetNode();
-		if (targetNode instanceof ICSSStyleDeclItem) {
-			int offset = targetNode.getStartOffset();
-			// widen document region range
-			// ((CSSStyleDeclItemImpl)targetNode).setLastStructuredDocumentRegion(region);
-			CSSModelUtil.expandStructuredDocumentRegionContainer((CSSStyleDeclItemImpl) targetNode, region);
-			// psStructuredDocumentRegion indicates CSSStyleDeclItem
-			ICSSNode parentNode = targetNode.getParentNode();
-			fCreationContext.setTargetNode(parentNode);
-			ICSSNode next = null;
-			if (parentNode.hasChildNodes()) {
-				for (ICSSNode child = targetNode.getFirstChild(); child != null; child = child.getNextSibling()) {
-					if (child instanceof CSSStructuredDocumentRegionContainer && offset < ((CSSStructuredDocumentRegionContainer) child).getStartOffset()) {
-						next = child;
-						break;
-					}
-				}
-			}
-			fCreationContext.setNextNode(next);
-
-			return targetNode;
-		}
-
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertStyleDeclarationItem(IStructuredDocumentRegion docRegion) {
-		CSSStyleDeclarationImpl parent = null;
-		CSSNodeImpl node = fCreationContext.getTargetNode();
-		if (node instanceof CSSRuleDeclContainer) {
-			CSSRuleDeclContainer declContainer = (CSSRuleDeclContainer) node;
-			parent = (CSSStyleDeclarationImpl) declContainer.getStyle();
-		}
-		else if (node instanceof CSSStyleDeclarationImpl) {
-			parent = (CSSStyleDeclarationImpl) node;
-		}
-
-		CSSDeclarationItemParser itemParser = new CSSDeclarationItemParser(parent.getOwnerDocument());
-		itemParser.setStructuredDocumentTemporary(false);
-		itemParser.setUpdateContext(fUpdateContext);
-		CSSStyleDeclItemImpl declItem = itemParser.setupDeclarationItem(docRegion);
-		if (declItem == null) {
-			return null;
-		}
-
-		// setup flat container
-		declItem.setRangeStructuredDocumentRegion(docRegion, docRegion);
-
-		// insert to tree
-		if (!fUpdateContext.isActive()) {
-			propagateRangePreInsert(parent, declItem);
-			CSSNodeImpl next = fCreationContext.getNextNode();
-			if (next != null) {
-				parent.insertBefore(declItem, next);
-			}
-			else {
-				parent.appendChild(declItem);
-			}
-		}
-
-		fCreationContext.setTargetNode(declItem);
-		// TargetNext is set to null automatically
-
-		return declItem;
-	}
-
-	/**
-	 * 
-	 */
-	private CSSNodeImpl insertStyleRule(IStructuredDocumentRegion flatNode, IStructuredDocumentRegion braceNode) {
-		CSSNodeImpl parent = fCreationContext.getTargetNode();
-		if (!fParseFloating && !(parent instanceof ICSSRuleContainer)) {
-			return null;
-		}
-
-		// get selector regions
-		ITextRegionList selectorRegions = new TextRegionListImpl(flatNode.getRegions());
-		CSSUtil.stripSurroundingSpace(selectorRegions);
-
-		CSSStyleRuleImpl rule = fFeeder.getCSSStyleRule();
-		if (rule == null) {
-			return null;
-		}
-
-		if (!fUpdateContext.isActive()) {
-			String selectorStr = CSSUtil.getRegionText(flatNode, selectorRegions);
-			if (selectorStr != null && 0 < selectorStr.length()) {
-				rule.setSelectorText(selectorStr);
-			}
-		}
-
-		// setup flat container
-		rule.setRangeStructuredDocumentRegion(flatNode, braceNode);
-		CSSAttrImpl attr = rule.getAttributeNode(ICSSPageRule.SELECTOR);
-		if (attr != null && selectorRegions != null && !selectorRegions.isEmpty()) {
-			attr.setRangeRegion(flatNode, selectorRegions.get(0), selectorRegions.get(selectorRegions.size() - 1));
-		}
-
-		// insert to tree
-		if (!fUpdateContext.isActive() && parent != null) {
-			propagateRangePreInsert(parent, rule);
-			CSSNodeImpl next = fCreationContext.getNextNode();
-			if (next != null) {
-				parent.insertBefore(rule, next);
-			}
-			else {
-				parent.appendChild(rule);
-			}
-		}
-
-		fCreationContext.setTargetNode(rule);
-		// TargetNext is set to null automatically
-
-		return rule;
-	}
-
-	/**
-	 * 
-	 */
-	private void pretendRemoveNode() {
-		CSSStructuredDocumentRegionContainer node = (CSSStructuredDocumentRegionContainer) fUpdateContext.getDeletionTarget();
-		if (node == null) {
-			return;
-		}
-
-		IStructuredDocumentRegion firstNode = node.getFirstStructuredDocumentRegion();
-		if (firstNode != null) {
-			fDeletionContext.expandRemovedRangeBegin(firstNode);
-		}
-		IStructuredDocumentRegion lastNode = node.getLastStructuredDocumentRegion();
-		if (lastNode != null) {
-			fDeletionContext.expandRemovedRangeEnd(lastNode);
-		}
-
-		shrinkContainer((CSSStructuredDocumentRegionContainer) fUpdateContext.getDeletionTargetParent(), node);
-	}
-
-	/**
-	 * @param parent
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 * @param child
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 */
-	private void propagateRangePreInsert(CSSNodeImpl parent, CSSNodeImpl child) {
-		if (!(child instanceof CSSStructuredDocumentRegionContainer) || !(parent instanceof CSSStructuredDocumentRegionContainer)) {
-			return;
-		}
-
-		CSSStructuredDocumentRegionContainer parentContainer = (CSSStructuredDocumentRegionContainer) parent;
-		CSSStructuredDocumentRegionContainer childContainer = (CSSStructuredDocumentRegionContainer) child;
-		IStructuredDocumentRegion firstNode = childContainer.getFirstStructuredDocumentRegion();
-		IStructuredDocumentRegion lastNode = childContainer.getLastStructuredDocumentRegion();
-		if (firstNode == null || lastNode == null) {
-			return;
-		}
-
-		boolean bModified = parentContainer.includeRangeStructuredDocumentRegion(firstNode, lastNode);
-		if (bModified) {
-			parentContainer.propagateRangeStructuredDocumentRegion();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void removeStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		String type = CSSUtil.getStructuredDocumentRegionType(flatNode);
-		if (type == CSSRegionContexts.CSS_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-			do {
-				flatNode = fStructuredDocumentWalker.getPrevNode(flatNode);
-				type = (flatNode != null) ? CSSUtil.getStructuredDocumentRegionType(flatNode) : null;
-			}
-			while (type != null && (type == CSSRegionContexts.CSS_S || type == CSSRegionContexts.CSS_COMMENT));
-		}
-		if (flatNode == null) {
-			return;
-		}
-
-		// if (fDeletionContext.isInRemovedRange(flatNode)) { // already
-		// removed
-		// return;
-		// }
-
-		CSSStructuredDocumentRegionContainer node = fDeletionContext.findDeletionTarget(fDocument, flatNode);
-		if (node == null || node == fDocument) {
-			return; // not attached with any treeNode
-		}
-
-		if (node instanceof CSSStyleDeclarationImpl) {
-			ICSSNode rule = node.getParentNode();
-			if (rule instanceof CSSStyleRuleImpl) {
-				node = (CSSStructuredDocumentRegionContainer) rule;
-			}
-			else {
-				return;
-			}
-		}
-
-		// ICSSNode p = node.getParentNode();
-		// if (p == null || ! (p instanceof
-		// CSSStructuredDocumentRegionContainer)) {
-		// return;
-		// }
-		// CSSStructuredDocumentRegionContainer parent =
-		// (CSSStructuredDocumentRegionContainer)p;
-
-		if (fDeletionContext.addNodeToBeRemoved(node)) {
-			IStructuredDocumentRegion firstNode = node.getFirstStructuredDocumentRegion();
-			if (firstNode != null) {
-				fDeletionContext.expandRemovedRangeBegin(firstNode);
-			}
-			IStructuredDocumentRegion lastNode = node.getLastStructuredDocumentRegion();
-			if (lastNode != null) {
-				fDeletionContext.expandRemovedRangeEnd(lastNode);
-			}
-		}
-
-		// shrinkContainer(node);
-		// parent.removeChild(node);
-	}
-
-	/**
-	 * 
-	 */
-	private void removeStructuredDocumentRegions(IStructuredDocumentRegionList flatNodes) {
-		for (Enumeration e = flatNodes.elements(); e.hasMoreElements();) {
-			IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement();
-			if (flatNode == null) {
-				continue;
-			}
-			removeStructuredDocumentRegion(flatNode);
-		}
-
-		Iterator i = fDeletionContext.getNodesToBeRemoved();
-		while (i.hasNext()) {
-			CSSNodeImpl node = (CSSNodeImpl) i.next();
-			if (!(node instanceof CSSStructuredDocumentRegionContainer)) {
-				continue;
-			}
-			CSSNodeImpl parent = (CSSNodeImpl) node.getParentNode();
-			if (!(parent instanceof CSSStructuredDocumentRegionContainer)) {
-				continue;
-			}
-			shrinkContainer((CSSStructuredDocumentRegionContainer) parent, (CSSStructuredDocumentRegionContainer) node);
-			parent.removeChild(node);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	void replaceStructuredDocumentRegions(IStructuredDocumentRegionList newStructuredDocumentRegions, IStructuredDocumentRegionList oldStructuredDocumentRegions) {
-		if (fDocument == null || fCreationContext == null) {
-			return;
-		}
-
-		if (oldStructuredDocumentRegions != null && 0 < oldStructuredDocumentRegions.getLength()) {
-			setupDeletionContext(newStructuredDocumentRegions, oldStructuredDocumentRegions);
-			short updateMode = fUpdateContext.getUpdateMode();
-			if (updateMode == CSSModelUpdateContext.UPDATE_IDLE) {
-				removeStructuredDocumentRegions(oldStructuredDocumentRegions);
-			}
-			else {
-				pretendRemoveNode();
-			}
-			newStructuredDocumentRegions = getStructuredDocumentRegionList(fDeletionContext.getRemovedRangeBegin(), fDeletionContext.getRemovedRangeEnd());
-			cleanupDeletionContext();
-		}
-
-		if (newStructuredDocumentRegions != null && 0 < newStructuredDocumentRegions.getLength()) {
-			setupCreationContext(newStructuredDocumentRegions.item(0));
-			insertStructuredDocumentRegions(newStructuredDocumentRegions);
-		}
-
-		// make document hold whole structuredDocument
-		/*
-		 * boolean bUpdate = false; IStructuredDocumentRegion flatNode;
-		 * flatNode = fDocument.getFirstStructuredDocumentRegion(); bUpdate =
-		 * bUpdate || (flatNode == null ||
-		 * fStructuredDocumentWalker.isOldNode(flatNode) ||
-		 * flatNode.getPrevious() != null); flatNode =
-		 * fDocument.getLastStructuredDocumentRegion(); bUpdate = bUpdate ||
-		 * (flatNode == null || fStructuredDocumentWalker.isOldNode(flatNode) ||
-		 * flatNode.getNext() != null);
-		 */
-		IStructuredDocument structuredDocument = fStructuredDocumentWalker.getStructuredDocument();
-		fDocument.setRangeStructuredDocumentRegion(structuredDocument.getFirstStructuredDocumentRegion(), structuredDocument.getLastStructuredDocumentRegion());
-		/* } */
-
-		// remove in official release
-		// CSSModelUtil.diagnoseTree(fDocument,
-		// fStructuredDocumentWalker.getStructuredDocument());
-	}
-
-	/**
-	 * 
-	 */
-	void replaceRegions(IStructuredDocumentRegion flatNode, ITextRegionList newRegions, ITextRegionList oldRegions) {
-		if (flatNode == null) {
-			return;
-		}
-		if (newRegions == null || oldRegions == null) {
-			return;
-		}
-		if (fDocument == null) {
-			return;
-		}
-
-		changeStructuredDocumentRegion(flatNode);
-	}
-
-	/**
-	 */
-	private void resetCreationTarget(IStructuredDocumentRegion newStructuredDocumentRegion) {
-		if (newStructuredDocumentRegion == null || newStructuredDocumentRegion.getStartOffset() <= 0) {
-			// top of document
-			fCreationContext.setTargetNode(fDocument);
-			fCreationContext.setNextNode(fDocument.getFirstChild());
-			return;
-		}
-
-		int cursorPos = newStructuredDocumentRegion.getStartOffset();
-		CSSNodeImpl cursorNode = getNodeAt(cursorPos);
-		if (cursorNode == null) { // end of document
-			cursorNode = fDocument;
-		}
-
-		// find edge of tree node
-		CSSNodeImpl node = null;
-		// boolean bOverSemiColon = false;
-		boolean bOverOpenBrace = false;
-		IStructuredDocumentRegion flatNode;
-		for (flatNode = newStructuredDocumentRegion; flatNode != null; flatNode = flatNode.getPrevious()) {
-			node = getNodeAt(flatNode.getStartOffset());
-			if (node == null) {
-				node = fDocument;
-			}
-			if (node != cursorNode || node.getStartOffset() == flatNode.getStartOffset()) {
-				break;
-			}
-			if (flatNode != newStructuredDocumentRegion) {
-				String type = CSSUtil.getStructuredDocumentRegionType(flatNode);
-				// if (type == CSSRegionContexts.CSS_DELIMITER ||
-				// type == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-				// bOverSemiColon = true;
-				// } else
-				if (type == CSSRegionContexts.CSS_LBRACE) {
-					bOverOpenBrace = true;
-				}
-			}
-		}
-
-		CSSNodeImpl targetNode = null;
-
-		// if (flatNode == null) {
-		// v<--|
-		// AAAAAA
-		// BBBBBBBBBB cursorNode:A , node:B -> target is A
-		// targetNode = (node == null) ? fDocument : node;
-		// } else
-		if (cursorNode == node) {
-			// v<--|
-			// AAAAAA
-			// BBBBBBBBBB cursorNode:A , node:B -> target is A
-			if (bOverOpenBrace && cursorNode instanceof CSSRuleDeclContainer) {
-				targetNode = (CSSNodeImpl) ((CSSRuleDeclContainer) cursorNode).getStyle();
-			}
-			else {
-				targetNode = cursorNode;
-			}
-		}
-		else {
-			// v<--|
-			// AAA
-			// BBBBBBBBBB cursorNode:B , node:A -> depend on A's node type
-			short nodeType = node.getNodeType();
-			if (nodeType == ICSSNode.STYLEDECLITEM_NODE || nodeType == ICSSNode.CHARSETRULE_NODE || nodeType == ICSSNode.IMPORTRULE_NODE) {
-				// targetNode = (CSSNodeImpl)((bOverSemiColon) ?
-				// node.getParentNode() : node); // NP
-				String regionType = CSSUtil.getStructuredDocumentRegionType(flatNode);
-				if (regionType == CSSRegionContexts.CSS_DELIMITER || regionType == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-					targetNode = (CSSNodeImpl) node.getParentNode();
-				}
-				else {
-					targetNode = node;
-				}
-			}
-			else if (CSSUtil.getStructuredDocumentRegionType(flatNode) == CSSRegionContexts.CSS_RBRACE) {
-				targetNode = (CSSNodeImpl) node.getParentNode();
-			}
-			else {
-				targetNode = node;
-			}
-		}
-
-		fCreationContext.setTargetNode(targetNode);
-		ICSSNode next = null;
-		if (targetNode.hasChildNodes()) {
-			for (ICSSNode child = targetNode.getFirstChild(); child != null; child = child.getNextSibling()) {
-				if (child instanceof CSSStructuredDocumentRegionContainer && cursorPos < ((CSSStructuredDocumentRegionContainer) child).getStartOffset()) {
-					next = child;
-					break;
-				}
-			}
-		}
-		fCreationContext.setNextNode(next);
-
-	}
-
-	/**
-	 */
-	private void resetReparseRange() {
-		fCreationContext.clear();
-	}
-
-	/**
-	 * @param event
-	 *            com.ibm.sed.structuredDocument.events.StructuredDocumentEvent
-	 */
-	void setStructuredDocumentEvent(StructuredDocumentEvent event) {
-		if (fStructuredDocumentWalker == null) {
-			fStructuredDocumentWalker = new StructuredDocumentWalker();
-		}
-		fStructuredDocumentWalker.initialize(event);
-	}
-
-	/**
-	 * regions: surrounding spaces should be removed. Q. Why did you set
-	 * mediaTable ? A. MediaList may have two or more medium that have same
-	 * value, then searcing in MediaList is not perfect. Q.
-	 * fUpdateContext.isActive() is not care. Are you OK? A. OK.
-	 */
-	private void setMediaList(MediaListImpl mediaList, IStructuredDocumentRegion region, ITextRegionList textRegions) {
-		if (mediaList == null || textRegions == null) {
-			return;
-		}
-		Collection mediaTable = new HashSet();
-		CSSNodeListImpl attrs = mediaList.getMedia();
-		for (int i = 0; i != attrs.getLength(); i++) {
-			mediaTable.add(attrs.item(i));
-		}
-
-		ITextRegion start = null;
-		ITextRegion end = null;
-
-		Iterator i = textRegions.iterator();
-		ITextRegion textRegion = (ITextRegion) ((i.hasNext()) ? i.next() : null);
-		while (textRegion != null) {
-			if (textRegion.getType() == CSSRegionContexts.CSS_MEDIUM) {
-				String mediumStr = region.getText(textRegion);
-				if (0 < mediumStr.length()) {
-					CSSAttrImpl attr = null;
-					// is the medium already set ?
-					Iterator iTable = mediaTable.iterator();
-					while (iTable.hasNext()) {
-						CSSAttrImpl cai = (CSSAttrImpl) iTable.next();
-						if (mediumStr.equalsIgnoreCase(cai.getValue())) {
-							attr = cai;
-							mediaTable.remove(cai);
-							break;
-						}
-					}
-					if (attr == null) {
-						// is not set. create new attribute
-						String key = "mediumP" + mediaList.mediumCounter++; //$NON-NLS-1$
-						mediaList.setAttribute(key, mediumStr);
-						attr = mediaList.getAttributeNode(key);
-					}
-					attr.setRangeRegion(region, textRegion, textRegion);
-					if (start == null) {
-						start = textRegion;
-					}
-					end = textRegion;
-				}
-			}
-			textRegion = (ITextRegion) ((i.hasNext()) ? i.next() : null);
-		}
-
-		if (start != null && end != null) {
-			mediaList.setRangeRegion(region, start, end);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void setupCreationContext(IStructuredDocumentRegion region) {
-		resetReparseRange();
-		resetCreationTarget(region);
-	}
-
-	/**
-	 * 
-	 */
-	private void setupDeletionContext(IStructuredDocumentRegionList newStructuredDocumentRegions, IStructuredDocumentRegionList oldStructuredDocumentRegions) {
-		fDeletionContext.setupContext(newStructuredDocumentRegions, oldStructuredDocumentRegions);
-	}
-
-	/**
-	 * 
-	 */
-	void setupUpdateContext(short updateMode, ICSSNode parentNode, ICSSNode targetNode) {
-		fUpdateContext.setupContext(updateMode, parentNode, targetNode);
-	}
-
-	/**
-	 * 
-	 */
-	void shrinkContainer(CSSStructuredDocumentRegionContainer parent, CSSStructuredDocumentRegionContainer child) {
-		if (child == null) {
-			return;
-		}
-
-		boolean bModified = false;
-		bModified = bModified || cleanupLastNode(child.getLastStructuredDocumentRegion(), parent);
-		bModified = bModified || cleanupFirstNode(child.getFirstStructuredDocumentRegion(), parent);
-
-		if (bModified) {
-			if (parent != null) {
-				for (ICSSNode node = parent.getFirstChild(); node != null; node = node.getNextSibling()) {
-					if (child != node && node instanceof CSSStructuredDocumentRegionContainer) {
-						((CSSStructuredDocumentRegionContainer) node).propagateRangeStructuredDocumentRegion();
-					}
-				}
-			}
-		}
-
-		child.setRangeStructuredDocumentRegion(null, null);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelUpdateContext.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelUpdateContext.java
deleted file mode 100644
index 31018fa..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelUpdateContext.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import java.util.LinkedList;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.util.AbstractCssTraverser;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.css.CSSPrimitiveValue;
-
-
-/**
- * 
- */
-class CSSModelUpdateContext {
-
-
-	class CSSNodeUpdateTraverser extends AbstractCssTraverser {
-		public CSSNodeUpdateTraverser() {
-			super();
-			setTraverseImported(false);
-			setTraverseImportFirst(false);
-		}
-
-		public LinkedList getNodeList() {
-			return fTravNodeList;
-		}
-
-		protected void begin(ICSSNode node) {
-			fTravNodeList = new LinkedList();
-		}
-
-		protected short preNode(ICSSNode node) {
-			if (node instanceof CSSStyleDeclarationImpl || node instanceof CSSAttrImpl || node instanceof MediaListImpl) {
-				// skip
-			}
-			else {
-				fTravNodeList.add(node);
-			}
-			if (node instanceof CSSPrimitiveContainer) {
-				return TRAV_PRUNE;
-			}
-			else {
-				return TRAV_CONT;
-			}
-		}
-
-		LinkedList fTravNodeList = null;
-	}
-
-	ICSSNode fLastNode = null;
-	ICSSNode fDeletionTargetParent = null;
-	ICSSNode fDeletionTarget = null;
-	LinkedList fNodeList = null;
-	private short fUpdateMode = UPDATE_IDLE;
-	static final short UPDATE_IDLE = 0;
-	static final short UPDATE_INSERT_FNCONTAINER = 1;
-	static final short UPDATE_INSERT_RCONTAINER = 2;
-	static final short UPDATE_REMOVE_FNCONTAINER = 3;
-	static final short UPDATE_REMOVE_RCONTAINER = 4;
-	static final short UPDATE_CHANGE_RCONTAINER = 5;
-
-	/**
-	 * CSSNodeUpdateQueue constructor comment.
-	 */
-	CSSModelUpdateContext() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	void cleanupContext() {
-		fNodeList = null;
-		fDeletionTarget = null;
-		fDeletionTargetParent = null;
-		fUpdateMode = UPDATE_IDLE;
-	}
-
-	/**
-	 * 
-	 */
-	CounterImpl getCounter() {
-		ICSSNode node = getNode();
-		if (node instanceof CounterImpl) {
-			return (CounterImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("CounterImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	CSSCharsetRuleImpl getCSSCharsetRule() {
-		ICSSNode node = getNode();
-		if (node instanceof CSSCharsetRuleImpl) {
-			return (CSSCharsetRuleImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("CSSCharsetRuleImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	CSSFontFaceRuleImpl getCSSFontFaceRule() {
-		ICSSNode node = getNode();
-		if (node instanceof CSSFontFaceRuleImpl) {
-			return (CSSFontFaceRuleImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("CSSFontFaceRuleImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	CSSImportRuleImpl getCSSImportRule() {
-		ICSSNode node = getNode();
-		if (node instanceof CSSImportRuleImpl) {
-			return (CSSImportRuleImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("CSSImportRuleImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	CSSMediaRuleImpl getCSSMediaRule() {
-		ICSSNode node = getNode();
-		if (node instanceof CSSMediaRuleImpl) {
-			return (CSSMediaRuleImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("CSSMediaRuleImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	CSSPageRuleImpl getCSSPageRule() {
-		ICSSNode node = getNode();
-		if (node instanceof CSSPageRuleImpl) {
-			return (CSSPageRuleImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("CSSPageRuleImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	CSSPrimitiveValueImpl getCSSPrimitiveValue(short type) {
-		ICSSNode node = getNode();
-		if (node instanceof CSSPrimitiveValueImpl) {
-			short nodeType = ((CSSPrimitiveValueImpl) node).getPrimitiveType();
-			if (nodeType == type || ((nodeType == CSSPrimitiveValue.CSS_NUMBER || nodeType == ICSSPrimitiveValue.CSS_INTEGER) && (type == CSSPrimitiveValue.CSS_NUMBER || type == ICSSPrimitiveValue.CSS_INTEGER))) {
-				return (CSSPrimitiveValueImpl) node;
-			}
-		}
-
-		if (node instanceof CSSPrimitiveValueImpl) {
-			CSSPrimitiveValueImpl value = (CSSPrimitiveValueImpl) node;
-			CSSUtil.debugOut("CSSPrimitiveValueImpl [" + type + //$NON-NLS-1$
-						"] is expected, but type is [" + //$NON-NLS-1$
-						value.getPrimitiveType() + "]: \"" + value.generateSource() + "\"");//$NON-NLS-2$//$NON-NLS-1$
-		}
-		else {
-			CSSUtil.debugOut("CSSPrimitiveValueImpl(" + type + //$NON-NLS-1$
-						") is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-		}
-
-		ungetNode();
-		throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	CSSPrimitiveValueImpl getCSSPrimitiveValueAny() {
-		ICSSNode node = getNode();
-		if (node instanceof CSSPrimitiveValueImpl) {
-			return (CSSPrimitiveValueImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("CSSPrimitiveValueImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	CSSStyleDeclItemImpl getCSSStyleDeclItem(String propertyName) {
-		ICSSNode node = getNode();
-		if (node instanceof CSSStyleDeclItemImpl && ((CSSStyleDeclItemImpl) node).getPropertyName().equalsIgnoreCase(propertyName)) {
-			return (CSSStyleDeclItemImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("CSSStyleDeclItemImpl(" + propertyName + //$NON-NLS-1$
-						") is expected, but " + CSSUtil.getClassString(node));//$NON-NLS-1$
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	CSSStyleRuleImpl getCSSStyleRule() {
-		ICSSNode node = getNode();
-		if (node instanceof CSSStyleRuleImpl) {
-			return (CSSStyleRuleImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("CSSStyleRuleImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 */
-	ICSSNode getDeletionTarget() {
-		return fDeletionTarget;
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 */
-	ICSSNode getDeletionTargetParent() {
-		return fDeletionTargetParent;
-	}
-
-	/**
-	 * 
-	 */
-	private ICSSNode getNode() {
-		ICSSNode node = null;
-		if (fNodeList != null && 0 < fNodeList.size()) {
-			node = (ICSSNode) fNodeList.removeFirst();
-		}
-		fLastNode = node;
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	int getNodeCount() {
-		if (fNodeList != null) {
-			return fNodeList.size();
-		}
-		else {
-			return -1;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	// ICSSNode getParentNode() {
-	// return fParentNode;
-	// }
-	/**
-	 * 
-	 */
-	RectImpl getRect() {
-		ICSSNode node = getNode();
-		if (node instanceof RectImpl) {
-			return (RectImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("RectImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	RGBColorImpl getRGBColor() {
-		ICSSNode node = getNode();
-		if (node instanceof RGBColorImpl) {
-			return (RGBColorImpl) node;
-		}
-		else {
-			CSSUtil.debugOut("RGBColorImpl is expected, but " + //$NON-NLS-1$
-						CSSUtil.getClassString(node));
-			ungetNode();
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @return short
-	 */
-	short getUpdateMode() {
-		return fUpdateMode;
-	}
-
-	/**
-	 * 
-	 */
-	boolean isActive() {
-		return (fNodeList != null);
-	}
-
-	/**
-	 * 
-	 */
-	void setupContext(short updateMode, ICSSNode parentNode, ICSSNode targetNode) {
-		fUpdateMode = updateMode;
-
-		ICSSNode traverseRoot;
-		if (updateMode == UPDATE_REMOVE_RCONTAINER || updateMode == UPDATE_INSERT_RCONTAINER || updateMode == UPDATE_CHANGE_RCONTAINER) {
-			traverseRoot = parentNode;
-			while (traverseRoot instanceof CSSRegionContainer) {
-				traverseRoot = traverseRoot.getParentNode();
-			}
-		}
-		else {
-			traverseRoot = targetNode;
-		}
-
-		if (updateMode == UPDATE_REMOVE_RCONTAINER || updateMode == UPDATE_INSERT_RCONTAINER || // region
-																								// insert
-																								// =>
-																								// replace
-																								// flat
-																								// node
-					updateMode == UPDATE_CHANGE_RCONTAINER || updateMode == UPDATE_REMOVE_FNCONTAINER) {
-			fDeletionTarget = traverseRoot;
-			if (fDeletionTarget == targetNode) {
-				fDeletionTargetParent = parentNode;
-			}
-			else {
-				fDeletionTargetParent = fDeletionTarget.getParentNode();
-			}
-		}
-		else {
-			fDeletionTarget = null;
-			fDeletionTargetParent = null;
-		}
-
-		if (updateMode == UPDATE_INSERT_RCONTAINER || updateMode == UPDATE_INSERT_FNCONTAINER || updateMode == UPDATE_REMOVE_RCONTAINER || // region
-																																			// remove
-																																			// =>
-																																			// re-insert
-																																			// flat
-																																			// node
-					updateMode == UPDATE_CHANGE_RCONTAINER) {
-			CSSNodeUpdateTraverser traverser = new CSSNodeUpdateTraverser();
-			traverser.apply(traverseRoot);
-			fNodeList = traverser.getNodeList();
-		}
-		else {
-			fNodeList = null;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void ungetNode() {
-		if (fNodeList != null && fLastNode != null) {
-			fNodeList.addFirst(fLastNode);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelUpdater.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelUpdater.java
deleted file mode 100644
index b8e740b..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelUpdater.java
+++ /dev/null
@@ -1,583 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.formatter.AttrChangeContext;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceFormatterFactory;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceGenerator;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.w3c.dom.DOMException;
-
-
-/**
- * 
- */
-class CSSModelUpdater {
-
-	private CSSModelImpl fModel = null;
-	private CSSModelParser fParser = null;
-
-	/**
-	 * CSSModelUpdater constructor comment.
-	 */
-	CSSModelUpdater() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	CSSModelUpdater(CSSModelImpl model) {
-		super();
-		fModel = model;
-	}
-
-	/**
-	 * @param parentNode
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 */
-	private void attrInserted(CSSNodeImpl parentNode, CSSAttrImpl attr) {
-		CSSSourceGenerator formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter(parentNode);
-
-		if (formatter == null) {
-			CSSUtil.debugOut("Cannot get format adapter : " + parentNode.getClass().toString());//$NON-NLS-1$
-			return;
-		}
-
-		short updateMode = CSSModelUpdateContext.UPDATE_INSERT_RCONTAINER;
-		fParser.setupUpdateContext(updateMode, parentNode, attr);
-
-		// get formatted info
-		AttrChangeContext region = new AttrChangeContext();
-		String text = new String(formatter.formatAttrChanged(parentNode, attr, true, region));
-
-		// set text
-		StructuredDocumentEvent result = insertText(region.start, region.end - region.start, text);
-
-		int nRemains = fParser.cleanupUpdateContext();
-
-		if (0 < nRemains && !(result instanceof NoChangeEvent)) {
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$		
-		}
-	}
-
-	/**
-	 * @param parentNode
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 */
-	private void attrRemoved(CSSNodeImpl parentNode, CSSAttrImpl attr) {
-		CSSSourceGenerator formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter(parentNode);
-
-		if (formatter == null) {
-			CSSUtil.debugOut("Cannot get format adapter : " + parentNode.getClass().toString());//$NON-NLS-1$
-			return;
-		}
-
-		short updateMode = CSSModelUpdateContext.UPDATE_REMOVE_RCONTAINER;
-		fParser.setupUpdateContext(updateMode, parentNode, attr);
-
-		// get formatted info
-		AttrChangeContext region = new AttrChangeContext();
-		String text = new String(formatter.formatAttrChanged(parentNode, attr, false, region));
-
-		// set text
-		StructuredDocumentEvent result = insertText(region.start, region.end - region.start, text);
-
-		int nRemains = fParser.cleanupUpdateContext();
-
-		if (0 < nRemains && !(result instanceof NoChangeEvent)) {
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$		
-		}
-	}
-
-	/**
-	 * 
-	 */
-	void attrReplaced(CSSNodeImpl parentNode, CSSNodeImpl newAttr, CSSNodeImpl oldAttr) {
-		if (parentNode == null) {
-			return;
-		}
-
-		if (oldAttr != null) {
-			attrRemoved(parentNode, (CSSAttrImpl) oldAttr);
-		}
-
-		if (newAttr != null) {
-			attrInserted(parentNode, (CSSAttrImpl) newAttr);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void childInserted(CSSNodeImpl parentNode, CSSNodeImpl node) {
-		short updateMode = CSSModelUpdateContext.UPDATE_IDLE;
-
-		if (node instanceof CSSStructuredDocumentRegionContainer) {
-			updateMode = CSSModelUpdateContext.UPDATE_INSERT_FNCONTAINER;
-		}
-		else if (node instanceof CSSRegionContainer) {
-			updateMode = CSSModelUpdateContext.UPDATE_INSERT_RCONTAINER;
-		}
-		else {
-			CSSUtil.debugOut("What's this node? : " + node.getClass().toString());//$NON-NLS-1$
-			return;
-		}
-
-		fParser.setupUpdateContext(updateMode, parentNode, node);
-
-		StructuredDocumentEvent result = defaultInserted(parentNode, node);
-
-		int nRemains = fParser.cleanupUpdateContext();
-
-		if (0 < nRemains && !(result instanceof NoChangeEvent)) {
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$		
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void childRemoved(CSSNodeImpl parentNode, CSSNodeImpl node) {
-		short updateMode = CSSModelUpdateContext.UPDATE_IDLE;
-
-		if (node instanceof CSSStructuredDocumentRegionContainer) {
-			updateMode = CSSModelUpdateContext.UPDATE_REMOVE_FNCONTAINER;
-		}
-		else if (node instanceof CSSRegionContainer) {
-			updateMode = CSSModelUpdateContext.UPDATE_REMOVE_RCONTAINER;
-		}
-		else {
-			CSSUtil.debugOut("What's this node? : " + node.getClass().toString());//$NON-NLS-1$
-			return;
-		}
-
-		fParser.setupUpdateContext(updateMode, parentNode, node);
-
-		CSSNodeImpl prev = getOldPrevious(parentNode, node);
-		CSSNodeImpl next = getOldNext(parentNode, node);
-		int insertPos = -1, endPos = -1;
-		String source = "";//$NON-NLS-1$
-		if (prev != null) {
-			insertPos = prev.getEndOffset();
-		}
-		else {
-			insertPos = node.getStartOffset();
-			insertPos -= nearestSpaceLengthBefore(parentNode, insertPos);
-		}
-		if (next != null) {
-			endPos = next.getStartOffset();
-		}
-		else {
-			endPos = node.getEndOffset();
-			endPos += nearestSpaceLengthAfter(parentNode, endPos);
-		}
-		source = getSpaceBefore(parentNode, next, node);
-		StructuredDocumentEvent result;
-		if (source.length() > 0) {
-			result = insertText(insertPos, endPos - insertPos, source);
-		}
-		else {
-			result = removeText(insertPos, endPos - insertPos);
-		}
-
-		int nRemains = fParser.cleanupUpdateContext();
-
-		if (0 < nRemains && !(result instanceof NoChangeEvent)) {
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$		
-		}
-
-		/*
-		 * int removeStart = -1; int removeEnd = -1; if (node instanceof
-		 * CSSStructuredDocumentRegionContainer) {
-		 * CSSStructuredDocumentRegionContainer container =
-		 * (CSSStructuredDocumentRegionContainer)node;
-		 * IStructuredDocumentRegion firstNode =
-		 * container.getFirstStructuredDocumentRegion();
-		 * IStructuredDocumentRegion lastNode =
-		 * container.getLastStructuredDocumentRegion(); if (firstNode != null &&
-		 * lastNode != null) { removeStart = firstNode.getStart(); removeEnd =
-		 * lastNode.getEnd(); } } else if (node instanceof CSSRegionContainer) {
-		 * CSSRegionContainer container = (CSSRegionContainer)node;
-		 * ITextRegion firstRegion = container.getFirstRegion(); ITextRegion
-		 * lastRegion = container.getLastRegion(); if (firstRegion != null &&
-		 * lastRegion != null) { removeStart = firstRegion.getStartOffset();
-		 * removeEnd = lastRegion.getEndOffset(); } } if (0 <= removeStart &&
-		 * 0 <= removeEnd) { removeText(removeStart, removeEnd - removeStart +
-		 * 1); }
-		 */
-	}
-
-	/**
-	 * 
-	 */
-	void childReplaced(CSSNodeImpl parentNode, CSSNodeImpl newChild, CSSNodeImpl oldChild) {
-		if (parentNode == null) {
-			return;
-		}
-
-		if (oldChild != null) {
-			childRemoved(parentNode, oldChild);
-		}
-
-		if (newChild != null) {
-			childInserted(parentNode, newChild);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private StructuredDocumentEvent defaultInserted(CSSNodeImpl parentNode, CSSNodeImpl node) {
-		int insertPos = -1;
-		ICSSNode sibling;
-		String preSpace = "", postSpace = "";//$NON-NLS-2$//$NON-NLS-1$
-		int length = 0;
-
-		if (insertPos < 0) {
-			if ((sibling = node.getPreviousSibling()) != null) {
-				// after previous child
-				insertPos = getTextEnd(sibling);
-			}
-		}
-
-		if (insertPos < 0) {
-			if ((sibling = node.getNextSibling()) != null) {
-				// before next child
-				insertPos = getTextStart(sibling);
-			}
-		}
-
-		if (insertPos < 0) {
-			// position of parent
-			insertPos = getChildInsertPos(parentNode);
-		}
-
-		if (insertPos < 0) {
-			// firsttime
-			insertPos = 0;
-		}
-
-		// format previous spaces
-		length = nearestSpaceLengthBefore(parentNode, insertPos);
-		insertPos -= length;
-		preSpace = getSpaceBefore(parentNode, node, null);
-		// format post spaces
-		length += nearestSpaceLengthAfter(parentNode, insertPos + length);
-		postSpace = getSpaceBefore(parentNode, node.getNextSibling(), null);
-
-		// set text
-		String text = preSpace + node.generateSource().trim() + postSpace;
-		return insertText(insertPos, length, text);
-	}
-
-	/**
-	 * @return int
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 */
-	private int getChildInsertPos(CSSNodeImpl node) {
-		CSSSourceGenerator formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter(node);
-		if (formatter != null)
-			return formatter.getChildInsertPos(node);
-		else
-			return node.getEndOffset();
-	}
-
-	/**
-	 * 
-	 */
-	// private int getDocumentEnd() {
-	// int end = -1;
-	// IStructuredDocument structuredDocument =
-	// fModel.getStructuredDocument();
-	// if (structuredDocument != null) {
-	// if (structuredDocument instanceof
-	// com.ibm.sed.structured.text.impl.BasicStructuredDocument) {
-	// end =
-	// ((com.ibm.sed.structured.text.impl.BasicStructuredDocument)structuredDocument).getLength();
-	// }
-	// }
-	// return end;
-	// }
-	/**
-	 * 
-	 */
-	// private IStructuredDocument getStructuredDocument() {
-	// return (fModel != null) ? getStructuredDocument() : null;
-	// }
-	/**
-	 * @return org.eclipse.wst.css.core.model.CSSNodeImpl
-	 * @param parentNode
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 */
-	private CSSNodeImpl getOldNext(CSSNodeImpl parentNode, CSSNodeImpl node) {
-		CSSNodeImpl child = (CSSNodeImpl) parentNode.getLastChild();
-		CSSNodeImpl ret = null;
-		while (child != null) {
-			if (node.getEndOffset() < child.getEndOffset())
-				ret = child;
-			else
-				break;
-			child = (CSSNodeImpl) child.getPreviousSibling();
-		}
-		return ret;
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.CSSNodeImpl
-	 * @param parentNode
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 */
-	private CSSNodeImpl getOldPrevious(CSSNodeImpl parentNode, CSSNodeImpl node) {
-		CSSNodeImpl child = (CSSNodeImpl) parentNode.getFirstChild();
-		CSSNodeImpl ret = null;
-		while (child != null) {
-			if (child.getStartOffset() < node.getStartOffset())
-				ret = child;
-			else
-				break;
-			child = (CSSNodeImpl) child.getNextSibling();
-		}
-		return ret;
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param parentNode
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.CSSNodeImpl
-	 */
-	private String getSpaceBefore(ICSSNode parentNode, ICSSNode node, ICSSNode toRemove) {
-		CSSSourceGenerator formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter((INodeNotifier) parentNode);
-
-		if (formatter != null) {
-			org.eclipse.jface.text.IRegion exceptFor = null;
-			if (toRemove != null) {
-				CSSNodeImpl remove = (CSSNodeImpl) toRemove;
-				exceptFor = new org.eclipse.jface.text.Region(remove.getStartOffset(), remove.getEndOffset() - remove.getStartOffset());
-			}
-			return formatter.formatBefore(parentNode, node, exceptFor).toString();
-		}
-		else
-			return "";//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	private int getTextEnd(ICSSNode node) {
-		int end = -1;
-		if (node != null) {
-			if (node instanceof CSSStructuredDocumentRegionContainer) {
-				end = ((CSSStructuredDocumentRegionContainer) node).getEndOffset();
-			}
-			else if (node instanceof CSSRegionContainer) {
-				end = ((CSSRegionContainer) node).getEndOffset();
-			}
-		}
-		return end;
-	}
-
-	/**
-	 * 
-	 */
-	private int getTextStart(ICSSNode node) {
-		int start = -1;
-		if (node != null) {
-			if (node instanceof CSSStructuredDocumentRegionContainer) {
-				start = ((CSSStructuredDocumentRegionContainer) node).getStartOffset();
-			}
-			else if (node instanceof CSSRegionContainer) {
-				start = ((CSSRegionContainer) node).getStartOffset();
-			}
-		}
-		return start;
-	}
-
-	/**
-	 * 
-	 */
-	private StructuredDocumentEvent insertText(int start, int oldLength, String text) {
-		StructuredDocumentEvent result = null;
-		BasicStructuredDocument structuredDocument = (BasicStructuredDocument) fModel.getStructuredDocument();
-		if (structuredDocument != null) {
-			if (text != null && 0 < oldLength && start + oldLength <= structuredDocument.getLength()) {
-				// minimize text change
-				String delText = structuredDocument.get(start, oldLength);
-				int newLength = text.length();
-				int shorterLen = Math.min(oldLength, newLength);
-				int stMatchLen;
-				for (stMatchLen = 0; stMatchLen < shorterLen && text.charAt(stMatchLen) == delText.charAt(stMatchLen); stMatchLen++) {
-					// 
-				}
-				if (0 < stMatchLen && stMatchLen < shorterLen && text.charAt(stMatchLen - 1) == 0x000d && (text.charAt(stMatchLen) == 0x000a || delText.charAt(stMatchLen) == 0x000a)) {
-					// must not divide 0d->0a sequence
-					stMatchLen--;
-				}
-				if (stMatchLen == shorterLen) {
-					if (oldLength < newLength) { // just insert
-						oldLength = 0;
-						start += stMatchLen;
-						text = text.substring(stMatchLen);
-					}
-					else if (newLength < oldLength) { // just remove
-						oldLength -= stMatchLen;
-						start += stMatchLen;
-						text = null;
-					}
-					else { // nothing to do
-						oldLength = 0;
-						text = null;
-					}
-				}
-				else {
-					int edMatchLen;
-					for (edMatchLen = 0; stMatchLen + edMatchLen < shorterLen && text.charAt(newLength - edMatchLen - 1) == delText.charAt(oldLength - edMatchLen - 1); edMatchLen++) {
-						//
-					}
-					if (0 < edMatchLen && text.charAt(newLength - edMatchLen) == 0x000a && ((edMatchLen < newLength && text.charAt(newLength - edMatchLen - 1) == 0x000d) || (edMatchLen < oldLength && delText.charAt(oldLength - edMatchLen - 1) == 0x000d))) {
-						// must not divide 0d->0a sequence
-						edMatchLen--;
-					}
-					oldLength -= stMatchLen + edMatchLen;
-					start += stMatchLen;
-					if (stMatchLen + edMatchLen < newLength) {
-						text = text.substring(stMatchLen, newLength - edMatchLen);
-					}
-					else {
-						text = null;
-					}
-				}
-			}
-			if (0 < oldLength || text != null) {
-				// String delText = structuredDocument.get(start, oldLength);
-				result = structuredDocument.replaceText(fModel, start, oldLength, text);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * @return int
-	 * @param insertPos
-	 *            int
-	 */
-	private int nearestSpaceLengthAfter(CSSNodeImpl node, int insertPos) {
-		CSSSourceGenerator formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter(node);
-		if (formatter != null) {
-			return formatter.getLengthToReformatAfter(node, insertPos);
-		}
-		else
-			return 0;
-	}
-
-	/**
-	 * @return int
-	 * @param insertPos
-	 *            int
-	 */
-	private int nearestSpaceLengthBefore(CSSNodeImpl node, int insertPos) {
-		CSSSourceGenerator formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter(node);
-		if (formatter != null) {
-			return formatter.getLengthToReformatBefore(node, insertPos);
-		}
-		else
-			return 0;
-	}
-
-	/**
-	 * 
-	 */
-	private StructuredDocumentEvent removeText(int start, int length) {
-		StructuredDocumentEvent result = null;
-		IStructuredDocument structuredDocument = fModel.getStructuredDocument();
-		if (structuredDocument != null) {
-			result = structuredDocument.replaceText(fModel, start, length, new String(""));//$NON-NLS-1$
-		}
-		return result;
-	}
-
-	/**
-	 * 
-	 */
-	void setParser(CSSModelParser parser) {
-		fParser = parser;
-	}
-
-	/**
-	 * 
-	 */
-	void valueChanged(CSSNodeImpl node, String oldValue) {
-		if (!(node instanceof CSSRegionContainer)) {
-			CSSUtil.debugOut("Too Bad.." + //$NON-NLS-1$
-						((node == null) ? "null" : node.getClass().toString()));//$NON-NLS-1$
-			return;
-		}
-
-		int start = node.getStartOffset();
-
-		if (node.getNodeType() == ICSSNode.ATTR_NODE) {
-			ICSSAttr attr = (ICSSAttr) node;
-			CSSSourceGenerator formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter((INodeNotifier) attr.getOwnerCSSNode());
-			if (formatter != null)
-				start = formatter.getAttrInsertPos(attr.getOwnerCSSNode(), attr.getName());
-		}
-
-		int oldLength = (oldValue == null) ? 0 : oldValue.length();
-		// flash old IStructuredDocumentRegion/ITextRegion
-		if (node instanceof CSSStructuredDocumentRegionContainer) {
-			((CSSStructuredDocumentRegionContainer) node).setFirstStructuredDocumentRegion(null);
-			((CSSStructuredDocumentRegionContainer) node).setLastStructuredDocumentRegion(null);
-		}
-		else if (node instanceof CSSRegionContainer) {
-			((CSSRegionContainer) node).setRangeRegion(null, null, null);
-		}
-		// generate new source
-		String newValue = node.generateSource();
-
-		ICSSNode parent;
-		if (node.getNodeType() == ICSSNode.ATTR_NODE) {
-			parent = ((ICSSAttr) node).getOwnerCSSNode();
-		}
-		else {
-			parent = node.getParentNode();
-		}
-
-		fParser.setupUpdateContext(CSSModelUpdateContext.UPDATE_CHANGE_RCONTAINER, parent, node);
-
-		StructuredDocumentEvent result = insertText(start, oldLength, newValue);
-
-		int nRemains = fParser.cleanupUpdateContext();
-
-		if (0 < nRemains && !(result instanceof NoChangeEvent)) {
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$		
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelUtil.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelUtil.java
deleted file mode 100644
index a2efd80..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelUtil.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSNodeList;
-import org.eclipse.wst.css.core.document.ICSSRuleContainer;
-import org.eclipse.wst.css.core.internal.CSSCorePlugin;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-/**
- * 
- */
-class CSSModelUtil {
-
-	/**
-	 * 
-	 */
-	static boolean canContainBrace(ICSSNode node) {
-		return (node != null && (node instanceof ICSSRuleContainer || node instanceof CSSRuleDeclContainer)) ? true : false;
-	}
-
-	/**
-	 * @param parent
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 */
-	static void cleanupContainer(ICSSNode parent) {
-		if (parent == null) {
-			return;
-		}
-		for (ICSSNode child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-			cleanupContainer(child);
-		}
-		if (parent instanceof CSSStructuredDocumentRegionContainer) {
-			((CSSStructuredDocumentRegionContainer) parent).setRangeStructuredDocumentRegion(null, null);
-		}
-		else if (parent instanceof CSSRegionContainer) {
-			((CSSRegionContainer) parent).setRangeRegion(null, null, null);
-		}
-	}
-
-	/**
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param structuredDocument
-	 *            com.ibm.sed.structuredDocument.IStructuredDocument
-	 */
-	static boolean diagnoseNode(ICSSNode parent, IStructuredDocument structuredDocument) {
-		// check this
-		Vector errors = new Vector();
-		if (parent instanceof CSSStructuredDocumentRegionContainer) {
-			CSSStructuredDocumentRegionContainer node = (CSSStructuredDocumentRegionContainer) parent;
-			String nodeText = CSSUtil.getClassString(node) + ": ";//$NON-NLS-1$
-			IStructuredDocumentRegion flatNode = node.getFirstStructuredDocumentRegion();
-			if (flatNode == null && (!(node instanceof CSSStyleDeclarationImpl || node instanceof CSSStyleSheetImpl) || node.getFirstChild() != null)) {
-				errors.add(CSSCorePlugin.getResourceString("%1concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}first flat node is null."
-			}
-			else if (flatNode != null) {
-				IStructuredDocumentRegion modelNode = structuredDocument.getRegionAtCharacterOffset(flatNode.getStart());
-				if (flatNode != modelNode) {
-					errors.add(CSSCorePlugin.getResourceString("%2concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}first flat node is not in model."
-				}
-			}
-			flatNode = node.getLastStructuredDocumentRegion();
-			if (flatNode == null && (!(node instanceof CSSStyleDeclarationImpl || node instanceof CSSStyleSheetImpl) || node.getFirstChild() != null)) {
-				errors.add(CSSCorePlugin.getResourceString("%3concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}last flat node is null."
-			}
-			else if (flatNode != null) {
-				IStructuredDocumentRegion modelNode = structuredDocument.getRegionAtCharacterOffset(flatNode.getStart());
-				if (flatNode != modelNode) {
-					errors.add(CSSCorePlugin.getResourceString("%4concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}last flat node is not in model."
-				}
-			}
-		}
-		else if (parent instanceof CSSRegionContainer) {
-			CSSRegionContainer node = (CSSRegionContainer) parent;
-			String nodeText = CSSUtil.getClassString(node) + ": ";//$NON-NLS-1$
-			ITextRegion region = node.getFirstRegion();
-			IStructuredDocumentRegion parentRegion = node.getDocumentRegion();
-			if (region == null && (!(node instanceof MediaListImpl) || node.getFirstChild() != null)) {
-				errors.add(CSSCorePlugin.getResourceString("%25concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}first region is null."
-			}
-			else if (region != null) {
-				int offset = parentRegion.getStartOffset(region);
-				IStructuredDocumentRegion modelNode = structuredDocument.getRegionAtCharacterOffset(offset);
-				ITextRegion modelRegion = modelNode.getRegionAtCharacterOffset(offset);
-				if (region != modelRegion) {
-					errors.add(CSSCorePlugin.getResourceString("%26concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}first region is not in model."
-				}
-			}
-			region = node.getLastRegion();
-			if (region == null && (!(node instanceof MediaListImpl) || node.getFirstChild() != null)) {
-				errors.add(CSSCorePlugin.getResourceString("%27concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}last region is null."
-			}
-			else if (region != null) {
-				int offset = parentRegion.getStartOffset(region);
-				IStructuredDocumentRegion modelNode = structuredDocument.getRegionAtCharacterOffset(offset);
-				ITextRegion modelRegion = modelNode.getRegionAtCharacterOffset(offset);
-				if (region != modelRegion) {
-					errors.add(CSSCorePlugin.getResourceString("%28concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}last region is not in model."
-				}
-			}
-		}
-
-		ICSSNodeList attrs = parent.getAttributes();
-		int nAttrs = attrs.getLength();
-		for (int i = 0; i < nAttrs; i++) {
-			ICSSAttr attr = (ICSSAttr) attrs.item(i);
-			CSSRegionContainer node = (CSSRegionContainer) attr;
-			String nodeText = CSSUtil.getClassString(node) + "(" + attr.getName() + "): ";//$NON-NLS-2$//$NON-NLS-1$
-			ITextRegion region = node.getFirstRegion();
-			IStructuredDocumentRegion parentRegion = node.getDocumentRegion();
-			if (region == null && 0 < attr.getValue().length()) {
-				errors.add(CSSCorePlugin.getResourceString("%5concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}first region is null."
-			}
-			else if (region != null) {
-				int offset = parentRegion.getStartOffset(region);
-				IStructuredDocumentRegion modelNode = structuredDocument.getRegionAtCharacterOffset(offset);
-				ITextRegion modelRegion = modelNode.getRegionAtCharacterOffset(offset);
-				if (region != modelRegion) {
-					errors.add(CSSCorePlugin.getResourceString("%6concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}first region is not in model."
-				}
-			}
-			region = node.getLastRegion();
-			if (region == null && 0 < attr.getValue().length()) {
-				errors.add(CSSCorePlugin.getResourceString("%7concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}last region is null."
-			}
-			else if (region != null) {
-				int offset = parentRegion.getStartOffset(region);
-				IStructuredDocumentRegion modelNode = structuredDocument.getRegionAtCharacterOffset(offset);
-				ITextRegion modelRegion = modelNode.getRegionAtCharacterOffset(offset);
-				if (region != modelRegion) {
-					errors.add(CSSCorePlugin.getResourceString("%8concat_ERROR_", (new Object[]{nodeText}))); //$NON-NLS-1$ = "{0}last region is not in model."
-				}
-			}
-		}
-
-		if (!errors.isEmpty()) {
-			Iterator i = errors.iterator();
-			while (i.hasNext()) {
-				CSSUtil.debugOut((String) i.next());
-			}
-			return false;
-		}
-		else {
-			return true;
-		}
-	}
-
-	/**
-	 * @return boolean
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 */
-	static boolean diagnoseTree(ICSSNode parent, IStructuredDocument structuredDocument) {
-		if (parent == null) {
-			return false;
-		}
-		// check children
-		for (ICSSNode child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-			diagnoseTree(child, structuredDocument);
-		}
-
-		diagnoseNode(parent, structuredDocument);
-
-		return true;
-	}
-
-	/**
-	 * If needed, modify last flat node
-	 */
-	static void expandStructuredDocumentRegionContainer(CSSStructuredDocumentRegionContainer target, IStructuredDocumentRegion flatNode) {
-		if (target == null || flatNode == null) {
-			return;
-		}
-
-		IStructuredDocumentRegion lastNode = target.getLastStructuredDocumentRegion();
-		if (lastNode == flatNode) {
-			return;
-		}
-		if (lastNode == null || lastNode.getStart() < flatNode.getStart()) {
-			target.setLastStructuredDocumentRegion(flatNode);
-		}
-	}
-
-	/*
-	 * 
-	 */
-	static ICSSNode findBraceContainer(ICSSNode node) {
-		for (ICSSNode i = node; i != null; i = i.getParentNode()) {
-			if (CSSModelUtil.canContainBrace(i)) {
-				return i;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	static int getDepth(ICSSNode node) {
-		int depth = -1;
-		while (node != null) {
-			depth++;
-			node = node.getParentNode();
-		}
-		return depth;
-	}
-
-	/**
-	 * 
-	 */
-	static boolean isBraceClosed(ICSSNode node) {
-		boolean bClosed = true;
-		if (!(node instanceof CSSStructuredDocumentRegionContainer)) {
-			return bClosed;
-		}
-
-		IStructuredDocumentRegion first = ((CSSStructuredDocumentRegionContainer) node).getFirstStructuredDocumentRegion();
-		IStructuredDocumentRegion last = ((CSSStructuredDocumentRegionContainer) node).getLastStructuredDocumentRegion();
-		if (first == null || last == null) {
-			return bClosed;
-		}
-		if (last.getStart() < first.getStart()) {
-			return bClosed;
-		}
-
-		IStructuredDocumentRegion flatNode = first;
-		int nOpen = 0;
-		int nClose = 0;
-		do {
-			String type = CSSUtil.getStructuredDocumentRegionType(flatNode);
-			if (type == CSSRegionContexts.CSS_LBRACE) {
-				nOpen++;
-			}
-			else if (type == CSSRegionContexts.CSS_RBRACE) {
-				nClose++;
-			}
-			flatNode = flatNode.getNext();
-		}
-		while (flatNode != null && flatNode != last);
-
-		if ((nOpen == 0 && nClose == 0) || nClose < nOpen) {
-			bClosed = false;
-		}
-
-		return bClosed;
-	}
-
-	/**
-	 * only for insertion..
-	 */
-	static boolean isInterruption(CSSStructuredDocumentRegionContainer target, IStructuredDocumentRegion flatNode) {
-		if (target == null || flatNode == null) {
-			return false;
-		}
-		int start = flatNode.getStart();
-		IStructuredDocumentRegion firstNode = target.getFirstStructuredDocumentRegion();
-		IStructuredDocumentRegion lastNode = target.getLastStructuredDocumentRegion();
-		if (firstNode != null && firstNode.getStart() < start && lastNode != null && start < lastNode.getStart()) {
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	static boolean isParentOf(ICSSNode parent, ICSSNode child) {
-		if (parent == null || child == null) {
-			return false;
-		}
-
-		for (ICSSNode node = child; node != null; node = node.getParentNode()) {
-			if (parent == node) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSNamedNodeMapImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSNamedNodeMapImpl.java
deleted file mode 100644
index aa5eb3f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSNamedNodeMapImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSNamedNodeMap;
-import org.eclipse.wst.css.core.document.ICSSNode;
-
-
-/**
- * 
- */
-public class CSSNamedNodeMapImpl extends CSSNodeListImpl implements ICSSNamedNodeMap {
-
-	/**
-	 * CSSNamedNodeMapImpl constructor comment.
-	 */
-	CSSNamedNodeMapImpl() {
-		super();
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param name
-	 *            java.lang.String
-	 */
-	public ICSSNode getNamedItem(String name) {
-		Iterator it = nodes.iterator();
-		while (it.hasNext()) {
-			Object obj = it.next();
-			if (obj instanceof CSSAttrImpl && ((CSSAttrImpl) obj).getName().compareToIgnoreCase(name) == 0) {
-				return (ICSSNode) obj;
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSNodeImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSNodeImpl.java
deleted file mode 100644
index 431b460..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSNodeImpl.java
+++ /dev/null
@@ -1,559 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNamedNodeMap;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSNodeList;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceFormatterFactory;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceGenerator;
-import org.eclipse.wst.css.core.util.ImportRuleCollector;
-import org.eclipse.wst.sse.core.AbstractNotifier;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.w3c.dom.DOMException;
-
-
-/**
- * 
- */
-abstract class CSSNodeImpl extends AbstractNotifier implements ICSSNode, IndexedRegion {
-
-	private CSSDocumentImpl fOwnerDocument = null;
-	private CSSNodeImpl fParentNode = null;
-	private CSSNodeImpl fNextSibling = null;
-	private CSSNodeImpl fPreviousSibling = null;
-	private CSSNodeImpl fFirstChild = null;
-	private CSSNodeImpl fLastChild = null;
-	protected CSSNamedNodeMapImpl fAttrs = null;
-
-	/**
-	 * CSSNodeImpl constructor comment.
-	 */
-	CSSNodeImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	CSSNodeImpl(CSSNodeImpl that) {
-		if (that != null) {
-			this.fOwnerDocument = that.fOwnerDocument;
-			if (that.fAttrs != null) {
-				int nAttrs = that.fAttrs.getLength();
-				for (int i = 0; i < nAttrs; i++) {
-					CSSAttrImpl attr = (CSSAttrImpl) that.fAttrs.item(i);
-					setAttribute(attr.getName(), attr.getValue());
-				}
-			}
-		}
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param newChild
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	protected CSSNodeImpl appendChild(CSSNodeImpl newChild) throws org.w3c.dom.DOMException {
-		return insertBefore(newChild, null);
-	}
-
-	/**
-	 * @param newParent
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	void cloneChildNodes(ICSSNode newParent, boolean deep) {
-		if (newParent == null || newParent == this)
-			return;
-
-		CSSNodeImpl container = (CSSNodeImpl) newParent;
-		container.removeChildNodes();
-
-		for (ICSSNode child = getFirstChild(); child != null; child = child.getNextSibling()) {
-			CSSNodeImpl cloned = (CSSNodeImpl) child.cloneNode(deep);
-			if (cloned != null)
-				container.appendChild(cloned);
-		}
-	}
-
-	/**
-	 * @return boolean
-	 * @param offset
-	 *            int
-	 */
-	public boolean contains(int offset) {
-		return (getStartOffset() <= offset && offset < getEndOffset());
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	String generateSource() {
-		CSSSourceGenerator formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter(this);
-		return formatter.format(this).toString();
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param name
-	 *            java.lang.String
-	 */
-	String getAttribute(String name) {
-		CSSAttrImpl attr = getAttributeNode(name);
-		if (attr != null)
-			return attr.getValue();
-		return null;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSAttrImpl
-	 * @param name
-	 *            java.lang.String
-	 */
-	protected CSSAttrImpl getAttributeNode(String name) {
-		if (fAttrs == null)
-			return null;
-
-		int nAttrs = fAttrs.getLength();
-		for (int i = 0; i < nAttrs; i++) {
-			CSSAttrImpl attr = (CSSAttrImpl) fAttrs.item(i);
-			if (attr.matchName(name))
-				return attr;
-		}
-		return null;
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNamedNodeMap
-	 */
-	public ICSSNamedNodeMap getAttributes() {
-		if (fAttrs == null)
-			fAttrs = new CSSNamedNodeMapImpl();
-		return fAttrs;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNodeList
-	 */
-	public ICSSNodeList getChildNodes() {
-		CSSNodeListImpl list = new CSSNodeListImpl();
-		for (ICSSNode node = getFirstChild(); node != null; node = node.getNextSibling()) {
-			list.appendNode(node);
-		}
-		return list;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSNode
-	 * @param node
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	ICSSNode getCommonAncestor(ICSSNode node) {
-		if (node == null)
-			return null;
-
-		for (ICSSNode na = node; na != null; na = na.getParentNode()) {
-			for (ICSSNode ta = this; ta != null; ta = ta.getParentNode()) {
-				if (ta == na)
-					return ta;
-			}
-		}
-
-		return null; // not found
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSDocumentImpl
-	 */
-	CSSDocumentImpl getContainerDocument() {
-		for (ICSSNode node = this; node != null; node = node.getParentNode()) {
-			if (node instanceof CSSDocumentImpl) {
-				CSSDocumentImpl doc = (CSSDocumentImpl) node;
-				if (doc.isDocument())
-					return doc;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param offset
-	 *            int
-	 */
-	CSSNodeImpl getContainerNode(int offset) {
-		if (!contains(offset))
-			return null;
-
-		for (ICSSNode child = getFirstChild(); child != null; child = child.getNextSibling()) {
-			ICSSNode found = ((CSSNodeImpl) child).getContainerNode(offset);
-			if (found != null)
-				return (CSSNodeImpl) found;
-		}
-
-		return this;
-	}
-
-	/**
-	 */
-	public IFactoryRegistry getFactoryRegistry() {
-		ICSSModel model = getOwnerDocument().getModel();
-		if (model != null) {
-			IFactoryRegistry reg = model.getFactoryRegistry();
-			if (reg != null)
-				return reg;
-		}
-		return null;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNode
-	 */
-	public ICSSNode getFirstChild() {
-		return this.fFirstChild;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNode
-	 */
-	public ICSSNode getLastChild() {
-		return this.fLastChild;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNode
-	 */
-	public ICSSNode getNextSibling() {
-		return this.fNextSibling;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSNode
-	 * @param offset
-	 *            int
-	 */
-	ICSSNode getNodeAt(int offset) {
-		// the same as getContainerNode()
-		return getContainerNode(offset);
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSDocument
-	 */
-	public ICSSDocument getOwnerDocument() {
-		return this.fOwnerDocument;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNode
-	 */
-	public ICSSNode getParentNode() {
-		return this.fParentNode;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNode
-	 */
-	public ICSSNode getPreviousSibling() {
-		return this.fPreviousSibling;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSFactory
-	 */
-	ICSSNode getRootNode() {
-		CSSNodeImpl parent = (CSSNodeImpl) getParentNode();
-		if (parent == null)
-			return this;
-		return parent.getRootNode();
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean hasChildNodes() {
-		return (this.fFirstChild != null);
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean hasProperties() {
-		return false;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param newChild
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param refChild
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	protected CSSNodeImpl insertBefore(CSSNodeImpl newChild, CSSNodeImpl refChild) throws org.w3c.dom.DOMException {
-		if (newChild == null)
-			return null;
-
-		CSSNodeImpl child = newChild;
-		CSSNodeImpl next = refChild;
-		CSSNodeImpl prev = null;
-		if (next == null) {
-			prev = this.fLastChild;
-			this.fLastChild = child;
-		}
-		else {
-			prev = (CSSNodeImpl) next.getPreviousSibling();
-			next.setPreviousSibling(child);
-		}
-
-		if (prev == null)
-			this.fFirstChild = child;
-		else
-			prev.setNextSibling(child);
-		child.setPreviousSibling(prev);
-		child.setNextSibling(next);
-		child.setParentNode(this);
-
-		notifyChildReplaced(child, null);
-
-		return newChild;
-	}
-
-	/**
-	 * @param newAttr
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param oldAttr
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	protected void notifyAttrReplaced(CSSNodeImpl newAttr, CSSNodeImpl oldAttr) {
-		// for model
-		ICSSDocument doc = getContainerDocument();
-		if (doc == null)
-			return;
-		CSSModelImpl model = (CSSModelImpl) doc.getModel();
-		if (model == null)
-			return;
-		model.attrReplaced(this, newAttr, oldAttr);
-
-		// for adapters
-		int type = CHANGE;
-		if (newAttr == null)
-			type = REMOVE;
-		else if (oldAttr == null)
-			type = ADD;
-		notify(type, oldAttr, oldAttr, newAttr, getStartOffset());
-	}
-
-	/**
-	 * @param newChild
-	 *            com.ibm.sed.css.treemodel.CSSNode
-	 * @param oldChild
-	 *            com.ibm.sed.css.treemodel.CSSNode
-	 */
-	protected void notifyChildReplaced(CSSNodeImpl newChild, CSSNodeImpl oldChild) {
-		// for model
-		ICSSDocument doc = getContainerDocument();
-		if (doc == null)
-			return;
-		CSSModelImpl model = (CSSModelImpl) doc.getModel();
-		if (model == null)
-			return;
-		model.childReplaced(this, newChild, oldChild);
-
-		// for adapters
-		int type = CHANGE;
-		if (newChild == null)
-			type = REMOVE;
-		else if (oldChild == null)
-			type = ADD;
-		notify(type, oldChild, oldChild, newChild, getStartOffset());
-	}
-
-	/**
-	 * @param attr
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	void removeAttributeNode(CSSNodeImpl attr) {
-		// find
-		int nAttrs = fAttrs.getLength();
-		for (int i = 0; i < nAttrs; i++) {
-			if (fAttrs.item(i) == attr) {
-				fAttrs.removeNode(i);
-				notifyAttrReplaced(null, attr);
-				return;
-			}
-		}
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param newChild
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	protected CSSNodeImpl removeChild(CSSNodeImpl oldChild) throws org.w3c.dom.DOMException {
-		if (oldChild == null)
-			return null;
-		if (oldChild.getParentNode() != this)
-			return null;
-
-		// close import rules
-		ImportRuleCollector trav = new ImportRuleCollector();
-		trav.apply(oldChild);
-		Iterator it = trav.getRules().iterator();
-		while (it.hasNext()) {
-			((CSSImportRuleImpl) it.next()).closeStyleSheet();
-		}
-
-		CSSNodeImpl child = oldChild;
-		CSSNodeImpl prev = (CSSNodeImpl) child.getPreviousSibling();
-		CSSNodeImpl next = (CSSNodeImpl) child.getNextSibling();
-
-		if (prev == null)
-			this.fFirstChild = next;
-		else
-			prev.setNextSibling(next);
-
-		if (next == null)
-			this.fLastChild = prev;
-		else
-			next.setPreviousSibling(prev);
-
-		child.setPreviousSibling(null);
-		child.setNextSibling(null);
-		child.setParentNode(null);
-
-		notifyChildReplaced(null, child);
-
-		return child;
-	}
-
-	/**
-	 * 
-	 */
-	void removeChildNodes() {
-		ICSSNode nextChild = null;
-		for (ICSSNode child = getFirstChild(); child != null; child = nextChild) {
-			nextChild = child.getNextSibling();
-			removeChild((CSSNodeImpl) child);
-		}
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param newChild
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @param oldChild
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	protected CSSNodeImpl replaceChild(CSSNodeImpl newChild, CSSNodeImpl oldChild) throws org.w3c.dom.DOMException {
-		if (oldChild == null)
-			return newChild;
-		if (newChild != null)
-			insertBefore(newChild, oldChild);
-		return removeChild(oldChild);
-	}
-
-	/**
-	 * @param name
-	 *            java.lang.String
-	 * @param value
-	 *            java.lang.String
-	 */
-	void setAttribute(String name, String value) {
-		if (name == null)
-			return;
-
-		CSSAttrImpl attr = getAttributeNode(name);
-		if (attr != null) {
-			String oldValue = attr.getValue();
-			if (value != null && value.equals(oldValue))
-				return;
-			if (value == null) {
-				if (oldValue != null) {
-					removeAttributeNode(attr);
-				}
-				return;
-			}
-		}
-		else {
-			if (value == null)
-				return;
-			if (fAttrs == null)
-				fAttrs = new CSSNamedNodeMapImpl();
-			CSSDocumentImpl doc = (CSSDocumentImpl) getOwnerDocument();
-			if (doc == null)
-				return;
-			attr = (CSSAttrImpl) doc.createCSSAttr(name);
-			attr.setOwnerCSSNode(this);
-			fAttrs.appendNode(attr);
-			notifyAttrReplaced(attr, null);
-		}
-		attr.setValue(value);
-	}
-
-	/**
-	 * @param cssText
-	 *            java.lang.String
-	 */
-	public void setCssText(String cssText) {
-		// TODO : call flat model parser and replace myself with new three!!
-		throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * @param nextSibling
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	private void setNextSibling(ICSSNode nextSibling) {
-		this.fNextSibling = (CSSNodeImpl) nextSibling;
-	}
-
-	/**
-	 * @param ownerDocument
-	 *            com.ibm.sed.css.interfaces.CSSDocument
-	 */
-	void setOwnerDocument(ICSSDocument ownerDocument) {
-		this.fOwnerDocument = (CSSDocumentImpl) ownerDocument;
-	}
-
-	/**
-	 * @param parentNode
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	private void setParentNode(ICSSNode parentNode) {
-		this.fParentNode = (CSSNodeImpl) parentNode;
-	}
-
-	/**
-	 * @param previousSibling
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	private void setPreviousSibling(ICSSNode previousSibling) {
-		this.fPreviousSibling = (CSSNodeImpl) previousSibling;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSNodeListImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSNodeListImpl.java
deleted file mode 100644
index 92c8559..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSNodeListImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSNodeList;
-
-/**
- * 
- */
-class CSSNodeListImpl extends AbstractCSSNodeList implements ICSSNodeList {
-
-	/**
-	 * CSSNodeListImpl constructor comment.
-	 */
-	CSSNodeListImpl() {
-		super();
-	}
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 * @param index
-	 *            int
-	 */
-	public ICSSNode item(int index) {
-		return itemImpl(index);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSPageRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSPageRuleImpl.java
deleted file mode 100644
index c3c7d09..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSPageRuleImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPageRule;
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-
-
-/**
- * 
- */
-class CSSPageRuleImpl extends CSSRuleDeclContainer implements ICSSPageRule {
-
-	ICSSSelectorList fSelectorList = new CSSSelectorListImpl(null);
-
-	/**
-	 * 
-	 */
-	CSSPageRuleImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSPageRuleImpl
-	 */
-	CSSPageRuleImpl(CSSPageRuleImpl that) {
-		super(that);
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSPageRuleImpl cloned = new CSSPageRuleImpl(this);
-
-		if (deep)
-			cloneChildNodes(cloned, deep);
-
-		return cloned;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	String extractPreString() {
-		StringBuffer preStr = new StringBuffer("@page ");//$NON-NLS-1$
-		preStr.append(getSelectorText());
-
-		return preStr.toString();
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return PAGERULE_NODE;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSSelectorList
-	 */
-	public ICSSSelectorList getSelectors() {
-		return fSelectorList;
-	}
-
-	/**
-	 * The parsable textual representation of the page selector for the rule.
-	 * 
-	 * @exception org.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the specified CSS string value has
-	 *                a syntax error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is
-	 *                readonly.
-	 */
-	public String getSelectorText() {
-		return getAttribute(SELECTOR);
-	}
-
-	/**
-	 * The type of the rule, as defined above. The expectation is that
-	 * binding-specific casting methods can be used to cast down from an
-	 * instance of the <code>CSSRule</code> interface to the specific
-	 * derived interface implied by the <code>type</code>.
-	 */
-	public short getType() {
-		return PAGE_RULE;
-	}
-
-	/**
-	 * 
-	 */
-	public void setSelectorText(String selectorText) throws org.w3c.dom.DOMException {
-		setAttribute(SELECTOR, selectorText);
-		fSelectorList = new CSSSelectorListImpl(selectorText);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSPrimitiveContainer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSPrimitiveContainer.java
deleted file mode 100644
index ba20a24..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSPrimitiveContainer.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSDocument;
-
-/**
- * 
- */
-abstract class CSSPrimitiveContainer extends CSSPrimitiveValueImpl {
-
-	/**
-	 * CSSRegionContainer constructor comment.
-	 * 
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSPrimitiveValueImpl
-	 */
-	CSSPrimitiveContainer(CSSPrimitiveContainer that) {
-		super(that);
-	}
-
-	/**
-	 * CSSRegionContainer constructor comment.
-	 * 
-	 * @param primitiveType
-	 *            short
-	 */
-	CSSPrimitiveContainer(short primitiveType) {
-		super(primitiveType);
-	}
-
-	/**
-	 * 
-	 */
-	protected abstract void initPrimitives();
-
-	/**
-	 * @param ownerDocument
-	 *            com.ibm.sed.css.interfaces.ICSSDocument
-	 */
-	void setOwnerDocument(ICSSDocument ownerDocument) {
-		super.setOwnerDocument(ownerDocument);
-
-		initPrimitives();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSPrimitiveValueImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSPrimitiveValueImpl.java
deleted file mode 100644
index 285d4d0..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSPrimitiveValueImpl.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.css.Counter;
-import org.w3c.dom.css.RGBColor;
-import org.w3c.dom.css.Rect;
-
-
-/**
- * 
- */
-class CSSPrimitiveValueImpl extends CSSRegionContainer implements ICSSPrimitiveValue {
-
-	protected short fPrimitiveType = CSS_UNKNOWN;
-	private float fFloatValue = 0.0f;
-	private String fStringValue = null;
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSPrimitiveValueImpl
-	 */
-	CSSPrimitiveValueImpl(CSSPrimitiveValueImpl that) {
-		super(that);
-
-		this.fPrimitiveType = that.fPrimitiveType;
-		this.fFloatValue = that.fFloatValue;
-		this.fStringValue = that.fStringValue;
-	}
-
-	/**
-	 * 
-	 */
-	CSSPrimitiveValueImpl(short primitiveType) {
-		super();
-		fPrimitiveType = primitiveType;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSPrimitiveValueImpl cloned = new CSSPrimitiveValueImpl(this);
-
-		return cloned;
-	}
-
-	/**
-	 * This method is used to get the Counter value. If this CSS value doesn't
-	 * contain a counter value, a <code>DOMException</code> is raised.
-	 * Modification to the corresponding style property can be achieved using
-	 * the <code>Counter</code> interface.
-	 * 
-	 * @return The Counter value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a Counter value (e.g. this is not
-	 *                <code>CSS_COUNTER</code>).
-	 */
-	public Counter getCounterValue() throws DOMException {
-		throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public java.lang.String getCSSValueText() {
-		return getCssText();
-	}
-
-	/**
-	 * A code defining the type of the value as defined above.
-	 */
-	public short getCssValueType() {
-		if (getPrimitiveType() == CSS_INHERIT_PRIMITIVE) {
-			return CSS_INHERIT;
-		}
-		else {
-			return CSS_PRIMITIVE_VALUE;
-		}
-	}
-
-	/**
-	 * This method is used to get a float value in a specified unit. If this
-	 * CSS value doesn't contain a float value or can't be converted into the
-	 * specified unit, a <code>DOMException</code> is raised.
-	 * 
-	 * @param unitType
-	 *            A unit code to get the float value. The unit code can only
-	 *            be a float unit type (i.e. <code>CSS_NUMBER</code>,
-	 *            <code>CSS_PERCENTAGE</code>,<code>CSS_EMS</code>,
-	 *            <code>CSS_EXS</code>,<code>CSS_PX</code>,
-	 *            <code>CSS_CM</code>,<code>CSS_MM</code>,
-	 *            <code>CSS_IN</code>,<code>CSS_PT</code>,
-	 *            <code>CSS_PC</code>,<code>CSS_DEG</code>,
-	 *            <code>CSS_RAD</code>,<code>CSS_GRAD</code>,
-	 *            <code>CSS_MS</code>,<code>CSS_S</code>,
-	 *            <code>CSS_HZ</code>,<code>CSS_KHZ</code>,
-	 *            <code>CSS_DIMENSION</code>).
-	 * @return The float value in the specified unit.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a float value or if the float value can't be
-	 *                converted into the specified unit.
-	 */
-	public float getFloatValue(short unitType) throws DOMException {
-		switch (fPrimitiveType) {
-			case CSS_NUMBER :
-			case CSS_PERCENTAGE :
-			case CSS_EMS :
-			case CSS_EXS :
-			case CSS_PX :
-			case CSS_CM :
-			case CSS_MM :
-			case CSS_IN :
-			case CSS_PT :
-			case CSS_PC :
-			case CSS_DEG :
-			case CSS_RAD :
-			case CSS_GRAD :
-			case CSS_MS :
-			case CSS_S :
-			case CSS_HZ :
-			case CSS_KHZ :
-			case CSS_DIMENSION :
-			case CSS_INTEGER :
-			case CSS_HASH :
-				return fFloatValue;
-			default :
-				throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2001/01/17
-	 * 12:12:18)
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return PRIMITIVEVALUE_NODE;
-	}
-
-	/**
-	 * The type of the value as defined by the constants specified above.
-	 */
-	public short getPrimitiveType() {
-		return fPrimitiveType;
-	}
-
-	/**
-	 * This method is used to get the Rect value. If this CSS value doesn't
-	 * contain a rect value, a <code>DOMException</code> is raised.
-	 * Modification to the corresponding style property can be achieved using
-	 * the <code>Rect</code> interface.
-	 * 
-	 * @return The Rect value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a Rect value. (e.g. this is not
-	 *                <code>CSS_RECT</code>).
-	 */
-	public Rect getRectValue() throws DOMException {
-		throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * This method is used to get the RGB color. If this CSS value doesn't
-	 * contain a RGB color value, a <code>DOMException</code> is raised.
-	 * Modification to the corresponding style property can be achieved using
-	 * the <code>RGBColor</code> interface.
-	 * 
-	 * @return the RGB color value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the attached property
-	 *                can't return a RGB color value (e.g. this is not
-	 *                <code>CSS_RGBCOLOR</code>).
-	 */
-	public RGBColor getRGBColorValue() throws DOMException {
-		throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * This method is used to get the string value. If the CSS value doesn't
-	 * contain a string value, a <code>DOMException</code> is raised. Some
-	 * properties (like 'font-family' or 'voice-family') convert a whitespace
-	 * separated list of idents to a string.
-	 * 
-	 * @return The string value in the current unit. The current
-	 *         <code>primitiveType</code> can only be a string unit type
-	 *         (i.e. <code>CSS_STRING</code>,<code>CSS_URI</code>,
-	 *         <code>CSS_IDENT</code> and <code>CSS_ATTR</code>).
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a string value.
-	 */
-	public String getStringValue() throws DOMException {
-		switch (fPrimitiveType) {
-			case CSS_STRING :
-			case CSS_URI :
-			case CSS_IDENT :
-			case CSS_ATTR :
-			case CSS_URANGE :
-			case CSS_FORMAT :
-			case CSS_LOCAL :
-			case CSS_HASH :
-			case CSS_COMMA :
-			case CSS_SLASH :
-			case CSS_INHERIT_PRIMITIVE :
-				return fStringValue;
-			default :
-				throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void notifyValueChanged(String oldValue) {
-		// for model
-		ICSSDocument doc = getContainerDocument();
-		if (doc == null)
-			return;
-		CSSModelImpl model = (CSSModelImpl) doc.getModel();
-		if (model == null)
-			return;
-		model.valueChanged(this, oldValue);
-
-		// for adapters
-		notify(CHANGE, new Short(fPrimitiveType), null, null, getStartOffset());
-	}
-
-	/**
-	 * A method to set the float value with a specified unit. If the property
-	 * attached with this value can not accept the specified unit or the float
-	 * value, the value will be unchanged and a <code>DOMException</code>
-	 * will be raised.
-	 * 
-	 * @param unitType
-	 *            A unit code as defined above. The unit code can only be a
-	 *            float unit type (i.e. <code>CSS_NUMBER</code>,
-	 *            <code>CSS_PERCENTAGE</code>,<code>CSS_EMS</code>,
-	 *            <code>CSS_EXS</code>,<code>CSS_PX</code>,
-	 *            <code>CSS_CM</code>,<code>CSS_MM</code>,
-	 *            <code>CSS_IN</code>,<code>CSS_PT</code>,
-	 *            <code>CSS_PC</code>,<code>CSS_DEG</code>,
-	 *            <code>CSS_RAD</code>,<code>CSS_GRAD</code>,
-	 *            <code>CSS_MS</code>,<code>CSS_S</code>,
-	 *            <code>CSS_HZ</code>,<code>CSS_KHZ</code>,
-	 *            <code>CSS_DIMENSION</code>).
-	 * @param floatValue
-	 *            The new float value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the attached property
-	 *                doesn't support the float value or the unit type. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public void setFloatValue(short unitType, float floatValue) throws DOMException {
-		switch (unitType) {
-			case CSS_NUMBER :
-			case CSS_PERCENTAGE :
-			case CSS_EMS :
-			case CSS_EXS :
-			case CSS_PX :
-			case CSS_CM :
-			case CSS_MM :
-			case CSS_IN :
-			case CSS_PT :
-			case CSS_PC :
-			case CSS_DEG :
-			case CSS_RAD :
-			case CSS_GRAD :
-			case CSS_MS :
-			case CSS_S :
-			case CSS_HZ :
-			case CSS_KHZ :
-			case CSS_DIMENSION :
-			case CSS_INTEGER :
-				String oldValue = getCSSValueText();
-				fPrimitiveType = unitType;
-				fFloatValue = floatValue;
-				notifyValueChanged(oldValue);
-				break;
-			default :
-				throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * A method to set the string value with the specified unit. If the
-	 * property attached to this value can't accept the specified unit or the
-	 * string value, the value will be unchanged and a
-	 * <code>DOMException</code> will be raised.
-	 * 
-	 * @param stringType
-	 *            A string code as defined above. The string code can only be
-	 *            a string unit type (i.e. <code>CSS_STRING</code>,
-	 *            <code>CSS_URI</code>,<code>CSS_IDENT</code>, and
-	 *            <code>CSS_ATTR</code>).
-	 * @param stringValue
-	 *            The new string value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a string value or if the string value can't be
-	 *                converted into the specified unit. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public void setStringValue(short stringType, String stringValue) throws DOMException {
-		switch (stringType) {
-			case CSS_STRING :
-			case CSS_URI :
-			case CSS_IDENT :
-			case CSS_ATTR :
-			case CSS_URANGE :
-			case CSS_FORMAT :
-			case CSS_LOCAL :
-			case CSS_HASH :
-			case CSS_COMMA :
-			case CSS_SLASH :
-			case CSS_INHERIT_PRIMITIVE :
-				String oldValue = getCSSValueText();
-				fPrimitiveType = stringType;
-				fStringValue = stringValue;
-				notifyValueChanged(oldValue);
-				break;
-			default :
-				throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2001/01/24
-	 * 15:06:25)
-	 * 
-	 * @param floatValue
-	 *            float
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public void setValue(float floatValue) throws org.w3c.dom.DOMException {
-		setFloatValue(getPrimitiveType(), floatValue);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2001/01/24
-	 * 15:06:25)
-	 * 
-	 * @param stringValue
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public void setValue(java.lang.String stringValue) throws org.w3c.dom.DOMException {
-		setStringValue(getPrimitiveType(), stringValue);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRegionContainer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRegionContainer.java
deleted file mode 100644
index e83c8ce..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRegionContainer.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-/**
- * 
- */
-abstract class CSSRegionContainer extends CSSNodeImpl {
-
-	private ITextRegion fFirstRegion = null;
-	private ITextRegion fLastRegion = null;
-	private IStructuredDocumentRegion fParentRegion = null;
-
-	/**
-	 * CSSRegionContainer constructor comment.
-	 */
-	CSSRegionContainer() {
-		super();
-	}
-
-	/**
-	 * CSSRegionContainer constructor comment.
-	 * 
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSRegionContainer
-	 */
-	CSSRegionContainer(CSSRegionContainer that) {
-		super(that);
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getCssText() {
-		if (fFirstRegion == null || fLastRegion == null)
-			return generateSource();
-
-		ITextRegionList regions = fParentRegion.getRegions();
-		StringBuffer source = new StringBuffer();
-		boolean bIn = false;
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion current = regions.get(i);
-			if (bIn) {
-				source.append(fParentRegion.getText(current));
-				if (current == fLastRegion)
-					break;
-			}
-			else {
-				if (current == fFirstRegion) {
-					bIn = true;
-					source.append(fParentRegion.getText(current));
-					if (current == fLastRegion)
-						break;
-				}
-			}
-		}
-
-		return source.toString();
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getEndOffset() {
-		ITextRegion region = getLastRegion();
-		if (region == null || fParentRegion == null) {
-			return -1;
-		}
-		else {
-			return fParentRegion.getEndOffset(region);
-		}
-		/*
-		 * int offset = 0; if (lastRegion != null) offset =
-		 * lastRegion.getEnd();
-		 * 
-		 * CSSStructuredDocumentRegionContainer item = null; ICSSNode node =
-		 * getParentNode(); while (node != null) { if (node instanceof
-		 * CSSStructuredDocumentRegionContainer) item =
-		 * (CSSStructuredDocumentRegionContainer) node; node =
-		 * node.getParentNode(); } if (item != null) { // assumption: regions
-		 * are attached to FIRST node IStructuredDocumentRegion flatNode =
-		 * item.getFirstStructuredDocumentRegion(); if (flatNode != null)
-		 * return (flatNode.getStart() + offset); } return 0;
-		 */
-	}
-
-	IStructuredDocumentRegion getDocumentRegion() {
-		return fParentRegion;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	ITextRegion getFirstRegion() {
-		return fFirstRegion;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	ITextRegion getLastRegion() {
-		return fLastRegion;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 * @param index
-	 *            int
-	 */
-	ITextRegion getRegion(int index) {
-		if (getFirstRegion() == null)
-			return null;
-		ITextRegionList regions = fParentRegion.getRegions();
-
-		for (int i = 0; i < regions.size(); i++) {
-			if (regions.get(i) == getFirstRegion()) {
-				if (i + index < regions.size()) {
-					ITextRegion target = regions.get(i + index);
-					if (target.getStart() <= getLastRegion().getStart())
-						return target;
-				}
-				return null;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @return int
-	 */
-	int getRegionCount() {
-		validateRange();
-
-		if (getFirstRegion() == null)
-			return 0;
-		if (getFirstRegion() == getLastRegion())
-			return 1;
-		ITextRegionList regions = fParentRegion.getRegions();
-
-		int j = 0;
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion current = regions.get(i);
-			if (j != 0 || current == getFirstRegion())
-				j++;
-			if (current == getLastRegion())
-				break;
-		}
-		return j;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getStartOffset() {
-		ITextRegion region = getFirstRegion();
-		if (region == null || fParentRegion == null) {
-			return -1;
-		}
-		else {
-			return fParentRegion.getStartOffset(region);
-		}
-		/*
-		 * int offset = 0; if (firstRegion != null) offset =
-		 * firstRegion.getStart();
-		 * 
-		 * CSSStructuredDocumentRegionContainer item = null; ICSSNode node =
-		 * getParentNode(); while (node != null) { if (node instanceof
-		 * CSSStructuredDocumentRegionContainer) item =
-		 * (CSSStructuredDocumentRegionContainer) node; node =
-		 * node.getParentNode(); } if (item != null) { // assumption: regions
-		 * are attached to FIRST node IStructuredDocumentRegion flatNode =
-		 * item.getFirstStructuredDocumentRegion(); if (flatNode != null)
-		 * return (flatNode.getStart() + offset); } return 0;
-		 */
-	}
-
-	/**
-	 * @param region
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 * @deprecated
-	 */
-	ITextRegion setFirstRegion(ITextRegion region) {
-		this.fFirstRegion = region;
-		return region;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 * @param lastRegion
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 * @deprecated
-	 */
-	ITextRegion setLastRegion(ITextRegion lastRegion) {
-		this.fLastRegion = lastRegion;
-		return lastRegion;
-	}
-
-	/**
-	 * @param firstRegion
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 * @param lastRegion
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	void setRangeRegion(IStructuredDocumentRegion parentRegion, ITextRegion firstRegion, ITextRegion lastRegion) {
-		this.fParentRegion = parentRegion;
-		this.fFirstRegion = firstRegion;
-		this.fLastRegion = lastRegion;
-
-		if (firstRegion == null && lastRegion == null) {
-			setFirstRegion(null);
-			setLastRegion(null);
-		}
-		else { // range validation
-			validateRange();
-		}
-	}
-
-	/**
-	 * @return boolean
-	 */
-	private boolean validateRange() {
-		boolean bModified = false;
-
-		if (this.fFirstRegion != null || this.fLastRegion != null) {
-			if (this.fFirstRegion == null) {
-				this.fFirstRegion = this.fLastRegion;
-				bModified = true;
-			}
-			else if (this.fLastRegion == null) {
-				this.fLastRegion = this.fFirstRegion;
-				bModified = true;
-			}
-			else if (this.fFirstRegion.getStart() > this.fLastRegion.getStart()) {
-				// need to swap first for last
-				ITextRegion reg = fFirstRegion;
-				fFirstRegion = fLastRegion;
-				fLastRegion = reg;
-				bModified = true;
-			}
-		}
-		return bModified;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRuleDeclContainer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRuleDeclContainer.java
deleted file mode 100644
index d983a42..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRuleDeclContainer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.w3c.dom.css.CSSStyleDeclaration;
-
-
-/**
- * 
- */
-abstract class CSSRuleDeclContainer extends CSSRuleImpl {
-
-	/**
-	 * CSSRuleDeclContainer constructor comment.
-	 */
-	CSSRuleDeclContainer() {
-		super();
-	}
-
-	/**
-	 * CSSRuleDeclContainer constructor comment.
-	 * 
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSRuleImpl
-	 */
-	CSSRuleDeclContainer(CSSRuleDeclContainer that) {
-		super(that);
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	abstract String extractPreString();
-
-	/**
-	 * @return org.w3c.dom.css.CSSStyleDeclaration
-	 */
-	public CSSStyleDeclaration getStyle() {
-
-		for (ICSSNode node = getFirstChild(); node != null; node = node.getNextSibling()) {
-			if (node instanceof CSSStyleDeclaration)
-				return (CSSStyleDeclaration) node;
-		}
-
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRuleImpl.java
deleted file mode 100644
index d6cf4aa..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRuleImpl.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.css.CSSStyleSheet;
-
-
-/**
- * 
- */
-abstract class CSSRuleImpl extends CSSStructuredDocumentRegionContainer implements CSSRule {
-
-	/**
-	 * 
-	 */
-	CSSRuleImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSRuleImpl
-	 */
-	CSSRuleImpl(CSSRuleImpl that) {
-		super(that);
-	}
-
-	/**
-	 * If this rule is contained inside another rule (e.g. a style rule inside
-	 * an
-	 * 
-	 * @media block), this is the containing rule. If this rule is not nested
-	 *        inside any other rules, this returns <code>null</code>.
-	 */
-	public CSSRule getParentRule() {
-		ICSSNode rule = getParentNode();
-
-		// parent rule is used only if parent is media rule
-		if (rule instanceof CSSMediaRuleImpl)
-			return (CSSRule) rule;
-
-		return null;
-	}
-
-	/**
-	 * The style sheet that contains this rule.
-	 */
-	public CSSStyleSheet getParentStyleSheet() {
-		ICSSNode parent = getParentNode();
-		while (parent != null) {
-			if (parent instanceof CSSStyleSheetImpl)
-				return (CSSStyleSheet) parent;
-			parent = parent.getParentNode();
-		}
-		return null;
-	}
-
-	/**
-	 * The type of the rule, as defined above. The expectation is that
-	 * binding-specific casting methods can be used to cast down from an
-	 * instance of the <code>CSSRule</code> interface to the specific
-	 * derived interface implied by the <code>type</code>.
-	 */
-	public abstract short getType();
-
-	/**
-	 * @return boolean
-	 */
-	public boolean hasProperties() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRuleListImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRuleListImpl.java
deleted file mode 100644
index 51f15a4..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSRuleListImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.css.CSSRuleList;
-
-/**
- * 
- */
-public class CSSRuleListImpl extends AbstractCSSNodeList implements CSSRuleList {
-
-	/**
-	 * 
-	 */
-	CSSRuleListImpl() {
-		super();
-	}
-
-	/**
-	 * Used to retrieve a CSS rule by ordinal index. The order in this
-	 * collection represents the order of the rules in the CSS style sheet. If
-	 * index is greater than or equal to the number of rules in the list, this
-	 * returns <code>null</code>.
-	 * 
-	 * @param indexIndex
-	 *            into the collection
-	 * @return The style rule at the <code>index</code> position in the
-	 *         <code>CSSRuleList</code>, or <code>null</code> if that is
-	 *         not a valid index.
-	 */
-	public CSSRule item(int index) {
-		return (CSSRule) itemImpl(index);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelector.java
deleted file mode 100644
index e3cdea0..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelector.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.css.core.adapters.IStyleSelectorAdapter;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.document.ICSSSelectorCombinator;
-import org.eclipse.wst.css.core.document.ICSSSelectorItem;
-import org.eclipse.wst.css.core.document.ICSSSimpleSelector;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.NameValidator;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * 
- */
-class CSSSelector implements ICSSSelector {
-
-	private int fSpecificity = -1;
-	private String fCachedString = null;
-	private List fTokens = null;
-	private List fItems = null;
-	private List fParseErrors = null;
-	private List fNameErrors = null;
-
-	CSSSelector(List tokens) {
-		fTokens = new ArrayList(tokens);
-	}
-
-	/**
-	 * @return boolean
-	 * @param obj
-	 *            java.lang.Object
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-
-		if (obj == null || this.getClass() != obj.getClass())
-			return false;
-
-		CSSSelector foreign = (CSSSelector) obj;
-
-		// if (fSpecificity != foreign.fSpecificity) return false;
-
-		if (getLength() != foreign.getLength())
-			return false;
-
-		for (int i = 0; i < getLength(); i++) {
-			if (!getItem(i).equals(foreign.getItem(i)))
-				return false;
-		}
-
-		return true;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSSelectorItem
-	 * @param index
-	 *            int
-	 */
-	public ICSSSelectorItem getItem(int index) {
-		if (fItems == null) {
-			fItems = parseSelector(fTokens);
-		}
-		if (fItems != null && 0 <= index && index < fItems.size()) {
-			return (ICSSSelectorItem) fItems.get(index);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * @return java.util.Iterator
-	 */
-	public Iterator getIterator() {
-		if (fItems == null) {
-			fItems = parseSelector(fTokens);
-		}
-		return (fItems != null) ? fItems.iterator() : null;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getLength() {
-		if (fItems == null) {
-			fItems = parseSelector(fTokens);
-		}
-		return (fItems != null) ? fItems.size() : 0;
-	}
-
-	/**
-	 * @return org.w3c.dom.Element
-	 */
-	private Element getParentElement(Element element) {
-		try {
-			element = (Element) element.getParentNode();
-		}
-		catch (Exception ex) {
-			// cast error or null pointer ...
-			element = null;
-		}
-		return element;
-	}
-
-	/**
-	 * @return org.w3c.dom.Element
-	 */
-	private Element getPreviousElement(Element element) {
-		Element p = null;
-		for (Node node = element.getPreviousSibling(); node != null; node = node.getPreviousSibling()) {
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				p = (Element) node;
-				break;
-			}
-		}
-		return p;
-	}
-
-	/**
-	 * Calculate a selector's specificity a = the number of ID attributes in
-	 * the selector b = the number of other attributes and pseudo-classes in
-	 * the selector c = the number of element names in the selector (ignore
-	 * pseudo-elements) Concatenating the three numbers a-b-c (in a number
-	 * system with a large base) gives the specificity.
-	 * 
-	 * @return int
-	 */
-	public int getSpecificity() {
-		if (fSpecificity < 0) {
-			int nIDs = 0;
-			int nAttributes = 0;
-			int nElements = 0;
-			Iterator i = getIterator();
-			while (i.hasNext()) {
-				ICSSSelectorItem item = (ICSSSelectorItem) i.next();
-				if (item instanceof CSSSimpleSelector) {
-					CSSSimpleSelector selector = (CSSSimpleSelector) item;
-					nIDs += selector.getNumOfIDs();
-					nAttributes += selector.getNumOfAttributes();
-					nAttributes += selector.getNumOfClasses();
-					nAttributes += selector.getNumOfPseudoNames();
-					if (!selector.isUniversal()) {
-						nElements++;
-					}
-				}
-			}
-			fSpecificity = nIDs * 10000 + nAttributes * 100 + nElements;
-		}
-
-		return fSpecificity;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getString() {
-		if (fCachedString == null) {
-			StringBuffer buf = new StringBuffer();
-			Iterator i = getIterator();
-			while (i.hasNext()) {
-				ICSSSelectorItem item = (ICSSSelectorItem) i.next();
-				if (item instanceof CSSSelectorCombinator) {
-					// If item is DESCENDANT combinator, it is just single
-					// space.
-					// Then, you dont have to append string..
-					if (((CSSSelectorCombinator) item).getCombinatorType() != ICSSSelectorCombinator.DESCENDANT) {
-						buf.append(" ");//$NON-NLS-1$
-						buf.append(item.getString());
-					}
-					buf.append(" ");//$NON-NLS-1$
-				}
-				else {
-					buf.append(item.getString());
-				}
-			}
-			fCachedString = buf.toString();
-		}
-
-		return fCachedString;
-	}
-
-	/**
-	 * @return boolean
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	public boolean match(org.w3c.dom.Element element, java.lang.String pseudoName) {
-		Element target = element;
-		char combinatorType = ICSSSelectorCombinator.UNKNOWN;
-		Element chunkStartElement = null; // for CHILD and ADJACENT
-											// combinator
-		int chunkStartItem = -1; // for CHILD and ADJACENT combinator
-		int numItems = getLength();
-		for (int iItem = numItems - 1; iItem >= 0; iItem--) {
-			// Check Selector Items
-			ICSSSelectorItem item = getItem(iItem);
-			if (item instanceof ICSSSimpleSelector) {
-				// Simple Selector
-				if (target == null)
-					return false;
-				if (!matchExactly((ICSSSimpleSelector) item, target, pseudoName)) {
-					switch (combinatorType) {
-						case ICSSSelectorCombinator.DESCENDANT :
-							do {
-								target = getParentElement(target);
-								if (target == null)
-									return false;
-							}
-							while (!matchExactly((ICSSSimpleSelector) item, target, pseudoName));
-							break;
-						case ICSSSelectorCombinator.CHILD :
-						case ICSSSelectorCombinator.ADJACENT :
-							if (chunkStartElement != null && chunkStartElement != element) {
-								// previous conbinator must be DESCENDENT.
-								// goto parent
-								target = getParentElement(chunkStartElement);
-								iItem = chunkStartItem + 1;
-								chunkStartElement = null;
-								chunkStartItem = -1;
-								break;
-							}
-						default :
-							// other combinators are not supported yet.
-							return false;
-					}
-				}
-			}
-			else if (item instanceof ICSSSelectorCombinator) {
-				// Combinator ( "+", ">", " ", ...)
-				if (iItem == numItems - 1)
-					return false; // last item is combinator
-
-				ICSSSelectorCombinator sc = (ICSSSelectorCombinator) item;
-				combinatorType = sc.getCombinatorType();
-				switch (combinatorType) {
-					case ICSSSelectorCombinator.DESCENDANT :
-						target = getParentElement(target);
-						break;
-					case ICSSSelectorCombinator.CHILD :
-					case ICSSSelectorCombinator.ADJACENT :
-						if (chunkStartElement == null) {
-							chunkStartElement = target;
-							chunkStartItem = iItem + 1; // safe because this
-														// is not a last item.
-						}
-						if (combinatorType == ICSSSelectorCombinator.CHILD) {
-							target = getParentElement(target);
-						}
-						else {
-							target = getPreviousElement(target);
-						}
-						break;
-				}
-			}
-			else {
-				// what is this item ???
-				return false;
-			}
-		}
-		// OK this selector maches the element.
-		return true;
-
-	}
-
-	/**
-	 * @return boolean
-	 */
-	private boolean matchExactly(ICSSSimpleSelector selector, Element element, String pseudoName) {
-		IStyleSelectorAdapter adapter = (IStyleSelectorAdapter) ((INodeNotifier) element).getAdapterFor(IStyleSelectorAdapter.class);
-		if (adapter != null) {
-			return adapter.match(selector, element, pseudoName);
-		}
-
-		if (element == null)
-			return false;
-		int i;
-		String key;
-
-		// TODO: PseudoName
-
-		// check tag name
-		if (!selector.isUniversal() && !element.getNodeName().equals(selector.getName()))
-			return false;
-
-		// check id
-		i = selector.getNumOfIDs();
-		if (i > 0) {
-			if (i > 1)
-				return false;
-			key = element.getAttribute("id");//$NON-NLS-1$
-			if (key == null)
-				return false;
-			if (!selector.getID(0).equals(key))
-				return false;
-		}
-
-		// check class
-		i = selector.getNumOfClasses();
-		if (i > 0) {
-			key = element.getAttribute("class");//$NON-NLS-1$
-			if (key == null)
-				return false;
-			StringTokenizer tokenizer = new StringTokenizer(key);
-			for (i = i - 1; i >= 0; i--) {
-				boolean ok = false;
-				while (tokenizer.hasMoreTokens()) {
-					if (selector.getClass(i).equals(tokenizer.nextToken())) {
-						ok = true;
-						break;
-					}
-				}
-				if (!ok)
-					return false;
-			}
-		}
-
-		// check attributes
-		for (i = selector.getNumOfAttributes() - 1; i >= 0; i--) {
-			StringTokenizer tokenizer = new StringTokenizer(selector.getAttribute(i), "=~| \t\r\n\f");//$NON-NLS-1$
-			int countTokens = tokenizer.countTokens();
-			if (countTokens > 0) {
-				String attrValue = element.getAttribute(tokenizer.nextToken());
-				if (attrValue == null)
-					return false;
-				if (countTokens > 1) {
-					String token = tokenizer.nextToken("= \t\r\n\f");//$NON-NLS-1$
-					StringTokenizer attrValueTokenizer = null;
-					if (token.equals("~")) {//$NON-NLS-1$
-						attrValueTokenizer = new StringTokenizer(attrValue);
-					}
-					else if (token.equals("|")) {//$NON-NLS-1$
-						attrValueTokenizer = new StringTokenizer(attrValue, "-");//$NON-NLS-1$
-					}
-					if (attrValueTokenizer != null) {
-						if (tokenizer.hasMoreTokens()) {
-							token = tokenizer.nextToken();
-							boolean ok = false;
-							while (attrValueTokenizer.hasMoreTokens()) {
-								if (token.equals(attrValueTokenizer.nextToken())) {
-									ok = true;
-									break;
-								}
-							}
-							if (!ok)
-								return false;
-						}
-					}
-					else {
-						if (!attrValue.equals(token))
-							return false;
-					}
-				}
-			}
-		}
-
-		return true;
-	}
-
-	private List parseSelector(List tokens) {
-		CSSSelectorParser parser = new CSSSelectorParser(tokens);
-		List selector = parser.getSelector();
-		Iterator i = parser.getErrors();
-		fParseErrors = new ArrayList();
-		while (i.hasNext()) {
-			fParseErrors.add(i.next());
-		}
-		return selector;
-	}
-
-	public Iterator getErrors() {
-		if (fNameErrors == null) {
-			fNameErrors = new ArrayList();
-			Iterator iItem = getIterator();
-			while (iItem.hasNext()) {
-				ICSSSelectorItem item = (ICSSSelectorItem) iItem.next();
-				if (item instanceof ICSSSimpleSelector) {
-					if (!((ICSSSimpleSelector) item).isUniversal()) {
-						String name = ((ICSSSimpleSelector) item).getName();
-						if (!NameValidator.isValid(name)) {
-							fNameErrors.add(item);
-						}
-					}
-				}
-			}
-		}
-		List errors = new ArrayList(fParseErrors);
-		errors.addAll(fNameErrors);
-		return errors.iterator();
-	}
-
-	public String toString() {
-		return getString();
-	}
-
-	/**
-	 * @see ICSSSelector#getErrorCount()
-	 */
-	public int getErrorCount() {
-		int nErrors = 0;
-		Iterator i = getErrors();
-		while (i.hasNext()) {
-			nErrors++;
-			i.next();
-		}
-		return nErrors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorCombinator.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorCombinator.java
deleted file mode 100644
index 895ecb2..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorCombinator.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSSelectorCombinator;
-
-/**
- * 
- */
-class CSSSelectorCombinator extends CSSSelectorItem implements ICSSSelectorCombinator {
-
-	char fType = ICSSSelectorCombinator.UNKNOWN;
-
-	/**
-	 * CSSSelectorCombinator constructor comment.
-	 */
-	public CSSSelectorCombinator(char type) {
-		super();
-		setCombinatorType(type);
-	}
-
-	/**
-	 * @return boolean
-	 * @param obj
-	 *            java.lang.Object
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-
-		if (obj == null || this.getClass() != obj.getClass())
-			return false;
-
-		CSSSelectorCombinator foreign = (CSSSelectorCombinator) obj;
-
-		return (getCombinatorType() == foreign.getCombinatorType());
-
-	}
-
-	/**
-	 * @return int
-	 */
-	public char getCombinatorType() {
-		return fType;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getItemType() {
-		return COMBINATOR;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getString() {
-		StringBuffer buf = new StringBuffer();
-		buf.append(fType);
-		return buf.toString();
-	}
-
-	void setCombinatorType(char type) {
-		fType = type;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorItem.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorItem.java
deleted file mode 100644
index 721b3a3..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorItem.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSSelectorItem;
-
-/**
- * 
- */
-abstract class CSSSelectorItem implements ICSSSelectorItem {
-
-	/**
-	 * CSSSelectorItem constructor comment.
-	 */
-	public CSSSelectorItem() {
-		super();
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getItemType() {
-		return 0;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getString() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorListImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorListImpl.java
deleted file mode 100644
index f6faac4..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorListImpl.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-import org.w3c.dom.Element;
-
-
-/**
- * 
- */
-public class CSSSelectorListImpl implements ICSSSelectorList {
-
-	private String fText = null;
-	private String fCachedString = null; // normalized string
-	private List fSelectors = null;
-
-	public CSSSelectorListImpl(String cssText) {
-		super();
-		fText = cssText;
-		parseSelectorText();
-	}
-
-	/**
-	 * @return boolean
-	 * @param obj
-	 *            java.lang.Object
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-
-		if (obj == null || this.getClass() != obj.getClass())
-			return false;
-
-		CSSSelectorListImpl foreign = (CSSSelectorListImpl) obj;
-
-		if (getLength() != foreign.getLength())
-			return false;
-
-		for (int i = 0; i < getLength(); i++) {
-			if (!getSelector(i).equals(foreign.getSelector(i)))
-				return false;
-		}
-
-		return true;
-	}
-
-	/**
-	 * @return java.util.Iterator
-	 */
-	public Iterator getIterator() {
-		return getSelectors().iterator();
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getLength() {
-		return getSelectors().size();
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSSelector
-	 * @param index
-	 *            int
-	 */
-	public ICSSSelector getSelector(int index) {
-		List selectors = getSelectors();
-		if (0 <= index && index < selectors.size()) {
-			return (ICSSSelector) selectors.get(index);
-		}
-		else {
-			return null;
-		}
-	}
-
-	private List getSelectors() {
-		if (fSelectors == null) {
-			parseSelectorText();
-		}
-		return fSelectors;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getString() {
-		if (fCachedString == null) {
-			StringBuffer buf = new StringBuffer();
-			boolean bFirst = true;
-			// groups is list of comma-separated selectors
-			Iterator i = getSelectors().iterator();
-			while (i.hasNext()) {
-				if (!bFirst) {
-					buf.append(", ");//$NON-NLS-1$
-				}
-				ICSSSelector item = (ICSSSelector) i.next();
-				buf.append(item.getString());
-				bFirst = false;
-			}
-			fCachedString = buf.toString();
-		}
-		return fCachedString;
-	}
-
-	/**
-	 * @return boolean
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	public boolean match(Element element, String pseudoName) {
-		int nSelectors = getLength();
-		selectorListLoop : for (int iSelector = 0; iSelector < nSelectors; iSelector++) {
-			// Check each Selector Lists
-			ICSSSelector selector = getSelector(iSelector);
-			if (selector.match(element, pseudoName))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	private void parseSelectorText() {
-		fSelectors = new ArrayList();
-		if (fText == null) {
-			return;
-		}
-
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_STYLESHEET, fText);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return;
-		}
-
-		List tokenGroup = new ArrayList();
-		for (int i = 0; i < tokens.length; i++) {
-			CSSTextToken token = tokens[i];
-			if (token.kind == CSSRegionContexts.CSS_SELECTOR_SEPARATOR && 0 < tokenGroup.size()) {
-				ICSSSelector selector = new CSSSelector(tokenGroup);
-				if (selector != null) {
-					fSelectors.add(selector);
-				}
-				tokenGroup.clear();
-			}
-			else {
-				tokenGroup.add(tokens[i]);
-			}
-		}
-		if (0 < tokenGroup.size()) {
-			ICSSSelector selector = new CSSSelector(tokenGroup);
-			if (selector != null) {
-				fSelectors.add(selector);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public String toString() {
-		return getString();
-	}
-
-	/**
-	 * 
-	 */
-	public Iterator getErrors() {
-		List errors = new ArrayList();
-		Iterator iSelector = getSelectors().iterator();
-		while (iSelector.hasNext()) {
-			Iterator iError = ((ICSSSelector) iSelector.next()).getErrors();
-			while (iError.hasNext()) {
-				errors.add(iError.next());
-			}
-		}
-		return errors.iterator();
-	}
-
-	/**
-	 * 
-	 */
-	public int getErrorCount() {
-		int nErrors = 0;
-		Iterator i = getErrors();
-		while (i.hasNext()) {
-			nErrors++;
-			i.next();
-		}
-		return nErrors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorParser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorParser.java
deleted file mode 100644
index 1e9117e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorParser.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.css.core.document.ICSSSelectorCombinator;
-import org.eclipse.wst.css.core.document.ICSSSelectorItem;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * 
- */
-public class CSSSelectorParser {
-
-	private final static int IDLE = 0;
-	private final static int ATTRIBUTE = 1;
-	private final static int SIMPLE = 2;
-
-	private List fTokens = null;
-	private List fItems = null;
-	private List fErrors = null;
-
-	/**
-	 * 
-	 */
-	CSSSelectorParser(List tokens) {
-		super();
-		fTokens = new ArrayList(tokens);
-	}
-
-	/**
-	 * 
-	 */
-	List getSelector() {
-		if (fItems == null) {
-			parseSelector();
-		}
-		return fItems;
-	}
-
-	/**
-	 * 
-	 */
-	private void parseSelector() {
-		fItems = new ArrayList();
-
-		List attrBuf = null;
-		CSSSimpleSelector item = null;
-
-		int status = IDLE;
-		Iterator i = fTokens.iterator();
-		while (i.hasNext()) {
-			CSSTextToken token = (CSSTextToken) i.next();
-			if (token == null || token.kind == CSSRegionContexts.CSS_S || token.kind == CSSRegionContexts.CSS_COMMENT) {
-				continue;
-			}
-			switch (status) {
-				case IDLE :
-					if (isTag(token)) {
-						item = createSimple();
-						appendTag(item, token);
-						status = SIMPLE;
-					}
-					else if (isID(token)) {
-						item = createSimple();
-						appendID(item, token);
-						status = SIMPLE;
-					}
-					else if (isClass(token)) {
-						item = createSimple();
-						appendClass(item, token);
-						status = SIMPLE;
-					}
-					else if (isPseudo(token)) {
-						item = createSimple();
-						appendPseudo(item, token);
-						status = SIMPLE;
-					}
-					else if (isAttributeBegin(token)) {
-						item = createSimple();
-						status = ATTRIBUTE;
-					}
-					else {
-						addError(token);
-					}
-					break;
-				case SIMPLE :
-					if (isID(token)) {
-						appendID(item, token);
-					}
-					else if (isClass(token)) {
-						appendClass(item, token);
-					}
-					else if (isPseudo(token)) {
-						appendPseudo(item, token);
-					}
-					else if (isAttributeBegin(token)) {
-						status = ATTRIBUTE;
-					}
-					else if (isCombinator(token)) { // combinator
-						closeItem(item);
-						closeItem(createCombinator(token));
-						status = IDLE;
-					}
-					else {
-						addError(token);
-					}
-					break;
-				case ATTRIBUTE :
-					if (isAttributeEnd(token)) {
-						appendAttribute(item, attrBuf);
-						attrBuf = null;
-						status = SIMPLE;
-					}
-					else {
-						if (attrBuf == null) {
-							attrBuf = new ArrayList();
-						}
-						attrBuf.add(token);
-						if (!isAttributeContent(token)) {
-							addError(token);
-						}
-					}
-					break;
-				default :
-					break;
-			}
-		}
-
-		closeItem(item);
-	}
-
-	/**
-	 * @param token
-	 * @return
-	 */
-	private boolean isAttributeContent(CSSTextToken token) {
-		String type = token.kind;
-		return (type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_NAME || type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_OPERATOR || type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_VALUE);
-	}
-
-	/**
-	 * @param token
-	 * @return
-	 */
-	private boolean isAttributeEnd(CSSTextToken token) {
-		String type = token.kind;
-		return (type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_END);
-	}
-
-	/**
-	 * @param token
-	 * @return
-	 */
-	private boolean isAttributeBegin(CSSTextToken token) {
-		String type = token.kind;
-		return (type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START);
-	}
-
-	/**
-	 * @param token
-	 * @return
-	 */
-	private boolean isCombinator(CSSTextToken token) {
-		String type = token.kind;
-		return (type == CSSRegionContexts.CSS_SELECTOR_COMBINATOR);
-	}
-
-	/**
-	 * @param token
-	 * @return
-	 */
-	private boolean isPseudo(CSSTextToken token) {
-		String type = token.kind;
-		return (type == CSSRegionContexts.CSS_SELECTOR_PSEUDO);
-	}
-
-	/**
-	 * @param token
-	 * @return
-	 */
-	private boolean isClass(CSSTextToken token) {
-		String type = token.kind;
-		return (type == CSSRegionContexts.CSS_SELECTOR_CLASS);
-	}
-
-	/**
-	 * @param token
-	 * @return
-	 */
-	private boolean isID(CSSTextToken token) {
-		String type = token.kind;
-		return (type == CSSRegionContexts.CSS_SELECTOR_ID);
-	}
-
-	/**
-	 * @param token
-	 * @return
-	 */
-	private boolean isTag(CSSTextToken token) {
-		String type = token.kind;
-		return (type == CSSRegionContexts.CSS_SELECTOR_ELEMENT_NAME || type == CSSRegionContexts.CSS_SELECTOR_UNIVERSAL || type == CSSRegionContexts.CSS_UNKNOWN);
-	}
-
-	private CSSSimpleSelector createSimple() {
-		return new CSSSimpleSelector();
-	}
-
-	/**
-	 * if " " or "+" or ">" appeared, close simpleselector and add new
-	 * combinator
-	 */
-	private CSSSelectorCombinator createCombinator(CSSTextToken token) {
-		char type = 0;
-
-		String str = token.image;
-		if (str.trim().length() == 0) { // space
-			type = ICSSSelectorCombinator.DESCENDANT;
-		}
-		else if (str.equals("+")) { //$NON-NLS-1$
-			type = ICSSSelectorCombinator.ADJACENT;
-		}
-		else if (str.equals(">")) { //$NON-NLS-1$
-			type = ICSSSelectorCombinator.CHILD;
-		}
-
-		if (0 < type) {
-			return new CSSSelectorCombinator(type);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void closeItem(ICSSSelectorItem item) {
-		if (item != null) {
-			fItems.add(item);
-		}
-	}
-
-	private void appendTag(CSSSimpleSelector item, CSSTextToken token) {
-		item.setName(token.image);
-		if (token.kind == CSSRegionContexts.CSS_UNKNOWN) {
-			addError(token);
-		}
-	}
-
-	/**
-	 * if "#xxxx" appeared, add ID to current selector
-	 */
-	private void appendID(CSSSimpleSelector item, CSSTextToken token) {
-		String text = token.toString();
-		String idContent = text.substring(1, text.length());
-		item.addID(idContent);
-	}
-
-	/**
-	 * if ".xxxx" appeared, add Class to current selector
-	 */
-	private void appendClass(CSSSimpleSelector item, CSSTextToken token) {
-		String text = token.toString();
-		String classContent = text.substring(1, text.length());
-		item.addClass(classContent);
-		if (Character.isDigit(classContent.charAt(0))) {
-			addError(token);
-		}
-	}
-
-	/**
-	 * if ":xxxx" appeared, add Pseudo(element/class) to current selector
-	 */
-	private void appendPseudo(CSSSimpleSelector item, CSSTextToken token) {
-		String text = token.toString();
-		String pseudoContent = text.substring(1, text.length());
-		item.addPseudoName(pseudoContent);
-	}
-
-	/**
-	 * 
-	 */
-	private void appendAttribute(CSSSimpleSelector item, List tokens) {
-		StringBuffer buf = new StringBuffer();
-
-		CSSTextToken token;
-		Iterator i = tokens.iterator();
-		while (i.hasNext()) {
-			token = (CSSTextToken) i.next();
-			buf.append(token.image);
-		}
-
-		item.addAttribute(buf.toString());
-	}
-
-	/**
-	 * 
-	 */
-	List getSelectorTags() {
-		List tagList = new ArrayList();
-		return tagList;
-	}
-
-	/**
-	 * 
-	 */
-	private void addError(CSSTextToken token) {
-		if (fErrors == null) {
-			fErrors = new ArrayList();
-		}
-		fErrors.add(token);
-	}
-
-	/**
-	 * 
-	 */
-	Iterator getErrors() {
-		return (fErrors == null) ? Collections.EMPTY_LIST.iterator() : fErrors.iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSimpleSelector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSimpleSelector.java
deleted file mode 100644
index b7d3f4e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSimpleSelector.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.css.core.document.ICSSSimpleSelector;
-
-
-/**
- * 
- */
-class CSSSimpleSelector extends CSSSelectorItem implements ICSSSimpleSelector {
-
-	private String fName = null;
-	private String fCachedString = null;
-	private StringBuffer fStringBuf = null;
-	private List fPseudoName = null;
-	private List fAttribute = null;
-	private List fClass = null;
-	private List fID = null;
-
-	/**
-	 * CSSSimpleSelector constructor comment.
-	 */
-	public CSSSimpleSelector() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	void addAttribute(String attribute) {
-		if (fAttribute == null) {
-			fAttribute = new ArrayList();
-		}
-		fAttribute.add(attribute);
-		addToBuf("[");//$NON-NLS-1$
-		addToBuf(attribute);
-		addToBuf("]");//$NON-NLS-1$
-		fCachedString = null;
-	}
-
-	/**
-	 * 
-	 */
-	void addClass(String cls) {
-		if (fClass == null) {
-			fClass = new ArrayList();
-		}
-		fClass.add(cls);
-		addToBuf(".");//$NON-NLS-1$
-		addToBuf(cls);
-		fCachedString = null;
-	}
-
-	/**
-	 * 
-	 */
-	void addID(String id) {
-		if (fID == null) {
-			fID = new ArrayList();
-		}
-		fID.add(id);
-		addToBuf("#");//$NON-NLS-1$
-		addToBuf(id);
-		fCachedString = null;
-	}
-
-	/**
-	 * 
-	 */
-	void addPseudoName(String cls) {
-		if (fPseudoName == null) {
-			fPseudoName = new ArrayList();
-		}
-		fPseudoName.add(cls);
-		addToBuf(":");//$NON-NLS-1$
-		addToBuf(cls);
-		fCachedString = null;
-	}
-
-	/**
-	 * 
-	 */
-	private void addToBuf(String str) {
-		if (fStringBuf == null) {
-			fStringBuf = new StringBuffer();
-		}
-		fStringBuf.append(str);
-	}
-
-	/**
-	 * @return boolean
-	 * @param obj
-	 *            java.lang.Object
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-
-		if (obj == null || this.getClass() != obj.getClass())
-			return false;
-
-		CSSSimpleSelector foreign = (CSSSimpleSelector) obj;
-
-		if (getName().compareToIgnoreCase(foreign.getName()) != 0)
-			return false;
-
-		int i;
-
-		// compare pseudo-classes / pseudo-elements
-		if (getNumOfPseudoNames() != foreign.getNumOfPseudoNames())
-			return false;
-		for (i = 0; i < getNumOfPseudoNames(); i++) {
-			if (getPseudoName(i).compareToIgnoreCase(foreign.getPseudoName(i)) != 0)
-				return false;
-		}
-
-		// compare classes
-		if (getNumOfClasses() != foreign.getNumOfClasses())
-			return false;
-		for (i = 0; i < getNumOfClasses(); i++) {
-			if (getClass(i).compareToIgnoreCase(foreign.getClass(i)) != 0)
-				return false;
-		}
-
-		// compare IDs
-		if (getNumOfIDs() != foreign.getNumOfIDs())
-			return false;
-		for (i = 0; i < getNumOfIDs(); i++) {
-			if (getID(i).compareToIgnoreCase(foreign.getID(i)) != 0)
-				return false;
-		}
-
-		// compare Attributes
-		if (getNumOfAttributes() != foreign.getNumOfAttributes())
-			return false;
-		for (i = 0; i < getNumOfAttributes(); i++) {
-			if (getAttribute(i).compareToIgnoreCase(foreign.getAttribute(i)) != 0)
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param index
-	 *            int
-	 */
-	public String getAttribute(int index) {
-		if (fAttribute != null && 0 <= index && index < fAttribute.size()) {
-			return (String) fAttribute.get(index);
-		}
-		else {
-			return "";//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param index
-	 *            int
-	 */
-	public String getClass(int index) {
-		if (fClass != null && 0 <= index && index < fClass.size()) {
-			return (String) fClass.get(index);
-		}
-		else {
-			return "";//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param index
-	 *            int
-	 */
-	public String getID(int index) {
-		if (fID != null && 0 <= index && index < fID.size()) {
-			return (String) fID.get(index);
-		}
-		else {
-			return "";//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getItemType() {
-		return SIMPLE;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return (fName != null) ? fName : "";//$NON-NLS-1$
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public int getNumOfAttributes() {
-		return (fAttribute != null) ? fAttribute.size() : 0;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public int getNumOfClasses() {
-		return (fClass != null) ? fClass.size() : 0;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public int getNumOfIDs() {
-		return (fID != null) ? fID.size() : 0;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public int getNumOfPseudoNames() {
-		return (fPseudoName != null) ? fPseudoName.size() : 0;
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param index
-	 *            int
-	 */
-	public String getPseudoName(int index) {
-		if (fPseudoName != null && 0 <= index && index < fPseudoName.size()) {
-			return (String) fPseudoName.get(index);
-		}
-		else {
-			return "";//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getString() {
-		if (fCachedString == null) {
-			StringBuffer buf = new StringBuffer(getName());
-			if (fStringBuf != null) {
-				buf.append(fStringBuf.toString());
-			}
-			fCachedString = buf.toString();
-		}
-		return fCachedString;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isUniversal() {
-		return (fName == null || fName.equals("*"));//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	void setName(String name) {
-		fName = name;
-		fCachedString = null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStructuredDocumentRegionContainer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStructuredDocumentRegionContainer.java
deleted file mode 100644
index 946c66a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStructuredDocumentRegionContainer.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-/**
- * 
- */
-abstract class CSSStructuredDocumentRegionContainer extends CSSNodeImpl {
-
-	private IStructuredDocumentRegion firstStructuredDocumentRegion = null;
-	private IStructuredDocumentRegion lastStructuredDocumentRegion = null;
-
-	/**
-	 * CSSContainer constructor comment.
-	 */
-	CSSStructuredDocumentRegionContainer() {
-		super();
-	}
-
-	/**
-	 * CSSContainer constructor comment.
-	 * 
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	CSSStructuredDocumentRegionContainer(CSSStructuredDocumentRegionContainer that) {
-		super(that);
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getCssText() {
-		if (getFirstStructuredDocumentRegion() == null)
-			return generateSource();
-
-		StringBuffer str = new StringBuffer(getFirstStructuredDocumentRegion().getText());
-		IStructuredDocumentRegion node = getFirstStructuredDocumentRegion();
-
-		while (node != getLastStructuredDocumentRegion()) {
-			node = node.getNext();
-			str.append(node.getText());
-		}
-
-		return str.toString();
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getEndOffset() {
-		IStructuredDocumentRegion flatNode = getLastStructuredDocumentRegion();
-		if (flatNode != null)
-			return flatNode.getEnd();
-		return -1;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	IStructuredDocumentRegion getFirstStructuredDocumentRegion() {
-		return firstStructuredDocumentRegion;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 * @param index
-	 *            int
-	 */
-	IStructuredDocumentRegion getStructuredDocumentRegion(int index) {
-		IStructuredDocumentRegion node = firstStructuredDocumentRegion;
-		for (int i = index; i > 0; i--) {
-			if (node == null)
-				return null;
-			node = node.getNext();
-		}
-		return node;
-	}
-
-	/**
-	 * @return int
-	 */
-	int getStructuredDocumentRegionCount() {
-		if (firstStructuredDocumentRegion == null)
-			return 0;
-
-		IStructuredDocumentRegion node = firstStructuredDocumentRegion;
-		int i = 0;
-		for (; node != null; i++)
-			node = node.getNext();
-		return i;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	IStructuredDocumentRegion getLastStructuredDocumentRegion() {
-		return lastStructuredDocumentRegion;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getStartOffset() {
-		IStructuredDocumentRegion flatNode = getFirstStructuredDocumentRegion();
-		if (flatNode != null)
-			return flatNode.getStart();
-		return -1;
-	}
-
-	/**
-	 * @param first
-	 *            com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 * @param last
-	 *            com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 */
-	boolean includeRangeStructuredDocumentRegion(IStructuredDocumentRegion first, IStructuredDocumentRegion last) {
-		boolean bModified = false;
-
-		// validate range of parameters
-		if (first != null && last != null) {
-			if (first.getStart() > last.getStart()) {
-				IStructuredDocumentRegion node = first;
-				first = last;
-				last = node;
-			}
-		}
-
-		// validate mine
-		boolean b = validateRange();
-		bModified = b || bModified;
-
-		if (first != null) {
-			if (getFirstStructuredDocumentRegion() == null || getFirstStructuredDocumentRegion().getStart() > first.getStart()) {
-				setFirstStructuredDocumentRegion(first);
-				bModified = true;
-			}
-		}
-
-		if (last != null) {
-			if (getLastStructuredDocumentRegion() == null || getLastStructuredDocumentRegion().getStart() < last.getStart()) {
-				setLastStructuredDocumentRegion(last);
-				bModified = true;
-			}
-		}
-
-		// re-validate
-		if (bModified)
-			validateRange();
-
-		return bModified;
-	}
-
-	/**
-	 * 
-	 */
-	boolean propagateRangeStructuredDocumentRegion() {
-		boolean bModified = false;
-
-		CSSStructuredDocumentRegionContainer parent = (CSSStructuredDocumentRegionContainer) getParentNode();
-		if (parent == null)
-			return bModified;
-
-		boolean b = parent.includeRangeStructuredDocumentRegion(getFirstStructuredDocumentRegion(), getLastStructuredDocumentRegion());
-		bModified = b || bModified;
-
-		if (b)
-			parent.propagateRangeStructuredDocumentRegion();
-		// else need not update range of ancestors
-
-		return bModified;
-	}
-
-	/**
-	 * @param cssText
-	 *            java.lang.String
-	 */
-	public void setCssText(String cssText) {
-		if (firstStructuredDocumentRegion != null) {
-			getOwnerDocument().getModel().getStructuredDocument().replaceText(this, getStartOffset(), getEndOffset() - getStartOffset(), cssText);
-		}
-		else
-			super.setCssText(cssText);
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 * @param node
-	 *            com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 */
-	IStructuredDocumentRegion setFirstStructuredDocumentRegion(IStructuredDocumentRegion node) {
-		firstStructuredDocumentRegion = node;
-		return node;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 * @param node
-	 *            com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 */
-	IStructuredDocumentRegion setLastStructuredDocumentRegion(IStructuredDocumentRegion node) {
-		lastStructuredDocumentRegion = node;
-		return node;
-	}
-
-	/**
-	 * @param firstNode
-	 *            com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 * @param lastNode
-	 *            com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 */
-	void setRangeStructuredDocumentRegion(IStructuredDocumentRegion firstNode, IStructuredDocumentRegion lastNode) {
-		if (firstNode != null)
-			setFirstStructuredDocumentRegion(firstNode);
-		if (lastNode != null)
-			setLastStructuredDocumentRegion(lastNode);
-
-		if (firstNode == null && lastNode == null) {
-			setFirstStructuredDocumentRegion(null);
-			setLastStructuredDocumentRegion(null);
-		}
-		else { // range validation
-			validateRange();
-		}
-	}
-
-	/**
-	 * @return boolean
-	 */
-	private boolean validateRange() {
-		boolean bModified = false;
-
-		if (firstStructuredDocumentRegion != null || lastStructuredDocumentRegion != null) {
-			if (this.firstStructuredDocumentRegion == null) {
-				this.firstStructuredDocumentRegion = this.lastStructuredDocumentRegion;
-				bModified = true;
-			}
-			else if (this.lastStructuredDocumentRegion == null) {
-				this.lastStructuredDocumentRegion = this.firstStructuredDocumentRegion;
-				bModified = true;
-			}
-			else if (this.firstStructuredDocumentRegion.getStart() > this.lastStructuredDocumentRegion.getStart()) {
-				// need to swap first for last
-				IStructuredDocumentRegion node = firstStructuredDocumentRegion;
-				firstStructuredDocumentRegion = lastStructuredDocumentRegion;
-				lastStructuredDocumentRegion = node;
-				bModified = true;
-			}
-		}
-
-		return bModified;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclItemImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclItemImpl.java
deleted file mode 100644
index 0bd3c4c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclItemImpl.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.internal.encoding.CSSDocumentLoader;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceFormatterFactory;
-import org.eclipse.wst.css.core.internal.formatter.CSSSourceGenerator;
-import org.eclipse.wst.css.core.internal.formatter.StyleDeclItemFormatter;
-import org.eclipse.wst.css.core.internal.parser.CSSSourceParser;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.css.CSSValue;
-
-
-/**
- * 
- */
-class CSSStyleDeclItemImpl extends CSSStructuredDocumentRegionContainer implements ICSSStyleDeclItem {
-
-	private java.lang.String fPropertyName;
-
-	/**
-	 * CSSStyleDeclItemImpl constructor comment.
-	 * 
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSNodeImpl
-	 */
-	CSSStyleDeclItemImpl(CSSStyleDeclItemImpl that) {
-		super(that);
-		this.fPropertyName = that.fPropertyName;
-	}
-
-	/**
-	 * CSSStyleDeclItemImpl constructor comment.
-	 */
-	CSSStyleDeclItemImpl(String propertyName) {
-		super();
-		this.fPropertyName = propertyName;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 * @param value
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 */
-	public ICSSPrimitiveValue appendValue(ICSSPrimitiveValue value) throws DOMException {
-		return insertValueBefore(value, null);
-	}
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSStyleDeclItemImpl cloned = new CSSStyleDeclItemImpl(this);
-
-		if (deep)
-			cloneChildNodes(cloned, deep);
-
-		return cloned;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	String generateValueSource() {
-		CSSSourceGenerator formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter(this);
-		if (formatter != null && formatter instanceof StyleDeclItemFormatter)
-			return ((StyleDeclItemFormatter) formatter).formatValue(this).toString();
-		else
-			return "";//$NON-NLS-1$
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSValue
-	 */
-	public CSSValue getCSSValue() {
-		int nValue = getLength();
-		if (nValue <= 0)
-			return null;
-		else if (nValue == 1)
-			return item(0);
-		else
-			return this;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public java.lang.String getCSSValueText() {
-		if (getFirstChild() == null)
-			return "";//$NON-NLS-1$
-		// check whether children has flatnodes
-		ICSSNode child = getFirstChild();
-		while (child != null) {
-			if (((IndexedRegion) child).getEndOffset() <= 0)
-				return generateValueSource();
-			child = child.getNextSibling();
-		}
-
-		IStructuredDocumentRegion node = getFirstStructuredDocumentRegion();
-		int start = ((IndexedRegion) getFirstChild()).getStartOffset() - node.getStartOffset();
-		int end = ((IndexedRegion) getLastChild()).getEndOffset() - node.getStartOffset();
-		return node.getText().substring(start, end);
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getCssValueType() {
-		return CSS_VALUE_LIST;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getLength() {
-		int i = 0;
-		for (ICSSNode node = getFirstChild(); node != null; node = node.getNextSibling()) {
-			if (node instanceof CSSPrimitiveValueImpl)
-				i++;
-		}
-		return i;
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return STYLEDECLITEM_NODE;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public java.lang.String getPriority() {
-		return getAttribute(IMPORTANT);
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getPropertyName() {
-		return fPropertyName.trim().toLowerCase();
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 * @param newValue
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 * @param refValue
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 */
-	ICSSPrimitiveValue insertValueBefore(ICSSPrimitiveValue newValue, ICSSPrimitiveValue refValue) {
-		ICSSNode node = insertBefore((CSSNodeImpl) newValue, (CSSNodeImpl) refValue);
-		return (ICSSPrimitiveValue) node;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSValue
-	 * @param index
-	 *            int
-	 */
-	public CSSValue item(int index) {
-		int i = 0;
-		for (ICSSNode node = getFirstChild(); node != null; node = node.getNextSibling()) {
-			if (node instanceof CSSPrimitiveValueImpl) {
-				if (i++ == index)
-					return (CSSValue) node;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 * @param value
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 */
-	public ICSSPrimitiveValue removeValue(ICSSPrimitiveValue value) throws DOMException {
-		ICSSNode node = removeChild((CSSNodeImpl) value);
-		return (ICSSPrimitiveValue) node;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSPrimitiveValue
-	 * @param newValue
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 * @param oldValue
-	 *            org.w3c.dom.css.CSSPrimitiveValue
-	 */
-	public ICSSPrimitiveValue replaceValue(ICSSPrimitiveValue newValue, ICSSPrimitiveValue oldValue) throws DOMException {
-		if (oldValue == null)
-			return newValue;
-		if (newValue != null)
-			insertValueBefore(newValue, oldValue);
-		return removeValue(oldValue);
-	}
-
-	/**
-	 * @param value
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public void setCssValueText(String value) throws DOMException {
-		ICSSNode child = getFirstChild();
-		while (child != null) {
-			ICSSNode next = child.getNextSibling();
-			if (child instanceof ICSSPrimitiveValue) {
-				removeChild((CSSNodeImpl) child);
-			}
-			child = next;
-		}
-
-		// use temporary document
-		IDocumentLoader loader = new CSSDocumentLoader();
-		IStructuredDocument structuredDocument = (IStructuredDocument) loader.createNewStructuredDocument();
-		((CSSSourceParser) structuredDocument.getParser()).setParserMode(CSSSourceParser.MODE_DECLARATION_VALUE);
-		structuredDocument.set(value);
-		IStructuredDocumentRegion node = structuredDocument.getFirstStructuredDocumentRegion();
-		if (node == null) {
-			return;
-		}
-		if (node.getNext() != null) {
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, "");//$NON-NLS-1$
-		}
-
-		CSSDeclarationItemParser itemParser = new CSSDeclarationItemParser(getOwnerDocument());
-		itemParser.setStructuredDocumentTemporary(true);
-		itemParser.setupValues(this, node, node.getRegions());
-	}
-
-	/**
-	 * @param newPriority
-	 *            java.lang.String
-	 */
-	public void setPriority(java.lang.String newPriority) throws DOMException {
-		setAttribute(IMPORTANT, newPriority);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationFactoryContext.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationFactoryContext.java
deleted file mode 100644
index bda0b4d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationFactoryContext.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-
-public abstract class CSSStyleDeclarationFactoryContext {
-
-	protected ICSSDocument fOwnerDocument = null;
-
-	/**
-	 * 
-	 */
-	protected void cloneChildNodes(ICSSNode src, ICSSNode dest) {
-		if (fOwnerDocument == null) {
-			return;
-		}
-		if (!(dest instanceof CSSNodeImpl)) {
-			return;
-		}
-
-		CSSNodeImpl container = (CSSNodeImpl) dest;
-		container.removeChildNodes();
-
-		for (ICSSNode child = src.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (child instanceof CSSStyleDeclItemImpl) {
-				// extract shorthand property ..
-				// --> Temp
-				ICSSNode cloned = child.cloneNode(false);
-				if (cloned instanceof CSSNodeImpl) {
-					((CSSNodeImpl) cloned).setOwnerDocument(fOwnerDocument);
-					container.appendChild((CSSNodeImpl) cloned);
-					cloneChildNodes(child, cloned);
-				}
-				// <-- Temp
-			}
-			else {
-				ICSSNode cloned = child.cloneNode(false);
-				if (cloned instanceof CSSNodeImpl) {
-					((CSSNodeImpl) cloned).setOwnerDocument(fOwnerDocument);
-					container.appendChild((CSSNodeImpl) cloned);
-					cloneChildNodes(child, cloned);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSStyleDeclaration
-	 */
-	public ICSSStyleDeclaration createStyleDeclaration() {
-		CSSStyleDeclarationImpl decl = new CSSStyleDeclarationImpl(true);
-		decl.setOwnerDocument(decl);
-		return decl;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationImpl.java
deleted file mode 100644
index 9d2c6db..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationImpl.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSValue;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.css.CSSValue;
-
-
-/**
- * 
- */
-class CSSStyleDeclarationImpl extends CSSDocumentImpl implements ICSSStyleDeclaration {
-
-	private boolean fIsDocument;
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSStyleDeclBlockImpl
-	 */
-	CSSStyleDeclarationImpl(CSSStyleDeclarationImpl that) {
-		super(that);
-		this.fIsDocument = that.fIsDocument;
-		if (fIsDocument) {
-			setOwnerDocument(this);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	CSSStyleDeclarationImpl(boolean isDocument) {
-		super();
-		fIsDocument = isDocument;
-		if (fIsDocument) {
-			setOwnerDocument(this);
-		}
-	}
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSStyleDeclarationImpl cloned = new CSSStyleDeclarationImpl(this);
-
-		if (deep)
-			cloneChildNodes(cloned, deep);
-
-		return cloned;
-	}
-
-	/**
-	 * @return com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @param propertyName
-	 *            java.lang.String
-	 */
-	public ICSSStyleDeclItem getDeclItemNode(String propertyName) {
-		ICSSNode node = getLastChild();
-		propertyName = propertyName.trim();
-		while (node != null) {
-			if (node instanceof CSSStyleDeclItemImpl) {
-				ICSSStyleDeclItem item = (ICSSStyleDeclItem) node;
-				if (propertyName.compareToIgnoreCase(item.getPropertyName().trim()) == 0)
-					return item;
-			}
-			node = node.getPreviousSibling();
-		}
-		return null;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getLength() {
-		int i = 0;
-		ICSSNode node = getFirstChild();
-		while (node != null) {
-			if (node instanceof CSSStyleDeclItemImpl)
-				i++;
-			node = node.getNextSibling();
-		}
-		return i;
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return STYLEDECLARATION_NODE;
-	}
-
-	/**
-	 * The CSS rule that contains this declaration block or <code>null</code>
-	 * if this <code>CSSStyleDeclaration</code> is not attached to a
-	 * <code>CSSRule</code>.
-	 */
-	public CSSRule getParentRule() {
-		ICSSNode parent = getParentNode();
-		if (parent instanceof CSSRule)
-			return (CSSRule) parent;
-		return null;
-	}
-
-	/**
-	 * Used to retrieve the object representation of the value of a CSS
-	 * property if it has been explicitly set within this declaration block.
-	 * This method returns <code>null</code> if the property is a shorthand
-	 * property. Shorthand property values can only be accessed and modified
-	 * as strings, using the <code>getPropertyValue</code> and
-	 * <code>setProperty</code> methods.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @return Returns the value of the property if it has been explicitly set
-	 *         for this declaration block. Returns <code>null</code> if the
-	 *         property has not been set.
-	 */
-	public CSSValue getPropertyCSSValue(String propertyName) {
-		ICSSStyleDeclItem item = getDeclItemNode(propertyName);
-		if (item != null)
-			return item.getCSSValue();
-		return null;
-	}
-
-	/**
-	 * Used to retrieve the priority of a CSS property (e.g. the
-	 * <code>"important"</code> qualifier) if the property has been
-	 * explicitly set in this declaration block.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @return A string representing the priority (e.g.
-	 *         <code>"important"</code>) if one exists. The empty string if
-	 *         none exists.
-	 */
-	public String getPropertyPriority(String propertyName) {
-		ICSSStyleDeclItem item = getDeclItemNode(propertyName);
-		if (item != null)
-			return item.getPriority();
-		return null;
-	}
-
-	/**
-	 * Used to retrieve the value of a CSS property if it has been explicitly
-	 * set within this declaration block.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @return Returns the value of the property if it has been explicitly set
-	 *         for this declaration block. Returns the empty string if the
-	 *         property has not been set.
-	 */
-	public String getPropertyValue(String propertyName) {
-		CSSValue value = getPropertyCSSValue(propertyName);
-		if (value != null)
-			return ((ICSSValue) value).getCSSValueText();
-		return null;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isDocument() {
-		return fIsDocument;
-	}
-
-	/**
-	 * Used to retrieve the properties that have been explicitly set in this
-	 * declaration block. The order of the properties retrieved using this
-	 * method does not have to be the order in which they were set. This
-	 * method can be used to iterate over all properties in this declaration
-	 * block.
-	 * 
-	 * @param index
-	 *            Index of the property name to retrieve.
-	 * @return The name of the property at this ordinal position. The empty
-	 *         string if no property exists at this position.
-	 */
-	public String item(int index) {
-		if (index < 0)
-			return null;
-
-		int i = 0;
-		ICSSNode node = getFirstChild();
-		while (node != null) {
-			if (node instanceof CSSStyleDeclItemImpl) {
-				if (i != index)
-					i++;
-				else {
-					CSSStyleDeclItemImpl item = (CSSStyleDeclItemImpl) node;
-					return item.getPropertyName();
-				}
-			}
-			node = node.getNextSibling();
-		}
-		return null;
-	}
-
-	/**
-	 * @return com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @param oldDecl
-	 *            com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public ICSSStyleDeclItem removeDeclItemNode(ICSSStyleDeclItem oldDecl) throws DOMException {
-		return (ICSSStyleDeclItem) removeChild((CSSNodeImpl) oldDecl);
-	}
-
-	/**
-	 * Used to remove a CSS property if it has been explicitly set within this
-	 * declaration block.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @return Returns the value of the property if it has been explicitly set
-	 *         for this declaration block. Returns the empty string if the
-	 *         property has not been set or the property name does not
-	 *         correspond to a known CSS property.
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration
-	 *                is readonly or the property is readonly.
-	 */
-	public String removeProperty(String propertyName) throws DOMException {
-		ICSSStyleDeclItem item = getDeclItemNode(propertyName);
-		if (item != null) {
-			removeChild((CSSNodeImpl) item);
-			return item.getCssText();
-		}
-		return null;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2001/01/16
-	 * 23:18:51)
-	 * 
-	 * @return com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @param newDecl
-	 *            com.ibm.sed.treemodel.cei.CSSStyleDeclItem
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public ICSSStyleDeclItem setDeclItemNode(ICSSStyleDeclItem newDecl) throws DOMException {
-		if (newDecl == null)
-			return null;
-
-		ICSSStyleDeclItem item = getDeclItemNode(newDecl.getPropertyName());
-		if (item != null)
-			return (ICSSStyleDeclItem) replaceChild((CSSNodeImpl) newDecl, (CSSNodeImpl) item);
-		else
-			return (ICSSStyleDeclItem) appendChild((CSSNodeImpl) newDecl);
-	}
-
-	/**
-	 * Used to set a property value and priority within this declaration
-	 * block.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @param value
-	 *            The new value of the property.
-	 * @param priority
-	 *            The new priority of the property (e.g.
-	 *            <code>"important"</code>).
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified value has a syntax
-	 *                error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration
-	 *                is readonly or the property is readonly.
-	 */
-	public void setProperty(String propertyName, String value, String priority) throws DOMException {
-		if (propertyName.equals("")) //$NON-NLS-1$
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, ""); //$NON-NLS-1$
-
-		// You can use this only if CSSValue.setCssText() is implemented
-		CSSStyleDeclItemImpl item = (CSSStyleDeclItemImpl) getDeclItemNode(propertyName);
-		if (item == null) {
-			item = (CSSStyleDeclItemImpl) getOwnerDocument().createCSSStyleDeclItem(propertyName);
-			appendChild(item);
-		}
-
-		// ICSSNode next = item.getNextSibling();
-		// removeChild(item);
-
-		item.setCssValueText(value);
-		item.setPriority(priority);
-
-		// insertBefore(item, (CSSNodeImpl)next);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleRuleImpl.java
deleted file mode 100644
index 73bbe7f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleRuleImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.w3c.dom.DOMException;
-
-
-/**
- * 
- */
-class CSSStyleRuleImpl extends CSSRuleDeclContainer implements ICSSStyleRule {
-
-	ICSSSelectorList fSelectorList = new CSSSelectorListImpl(null);
-
-	/**
-	 * 
-	 */
-	CSSStyleRuleImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSStyleRuleImpl
-	 */
-	CSSStyleRuleImpl(CSSStyleRuleImpl that) {
-		super(that);
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSStyleRuleImpl cloned = new CSSStyleRuleImpl(this);
-
-		if (deep)
-			cloneChildNodes(cloned, deep);
-
-		return cloned;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	String extractPreString() {
-		return getSelectorText();
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return STYLERULE_NODE;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.ICSSSelectorList
-	 */
-	public ICSSSelectorList getSelectors() {
-		return fSelectorList;
-	}
-
-	/**
-	 * The textual representation of the selector for the rule set. The
-	 * implementation may have stripped out insignificant whitespace while
-	 * parsing the selector.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified CSS string value has
-	 *                a syntax error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is
-	 *                readonly.
-	 */
-	public String getSelectorText() {
-		return getAttribute(SELECTOR);
-	}
-
-	/**
-	 * The type of the rule, as defined above. The expectation is that
-	 * binding-specific casting methods can be used to cast down from an
-	 * instance of the <code>CSSRule</code> interface to the specific
-	 * derived interface implied by the <code>type</code>.
-	 */
-	public short getType() {
-		return STYLE_RULE;
-	}
-
-	/**
-	 * 
-	 */
-	public void setSelectorText(String selectorText) throws DOMException {
-		setAttribute(SELECTOR, selectorText);
-		fSelectorList = new CSSSelectorListImpl(selectorText);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleSheetImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleSheetImpl.java
deleted file mode 100644
index aa4c29a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleSheetImpl.java
+++ /dev/null
@@ -1,625 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.document.ICSSCharsetRule;
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSMediaRule;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPageRule;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.document.ICSSStyleSheet;
-import org.eclipse.wst.css.core.internal.CSSCorePlugin;
-import org.eclipse.wst.css.core.internal.encoding.CSSDocumentLoader;
-import org.eclipse.wst.css.core.util.ImportRuleCollector;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.css.CSSFontFaceRule;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.css.CSSRuleList;
-import org.w3c.dom.css.CSSUnknownRule;
-import org.w3c.dom.stylesheets.MediaList;
-import org.w3c.dom.stylesheets.StyleSheet;
-import org.w3c.dom.stylesheets.StyleSheetList;
-
-/**
- * 
- */
-class CSSStyleSheetImpl extends CSSDocumentImpl implements ICSSStyleSheet {
-
-
-	class InternalNodeList implements NodeList {
-
-		Vector nodes = new Vector();
-
-		public int getLength() {
-			if (nodes == null)
-				return 0;
-			else
-				return nodes.size();
-		}
-
-		public Node item(int i) {
-			if (nodes == null)
-				return null;
-			if (i < 0 || nodes.size() <= i)
-				return null;
-			return (Node) nodes.get(i);
-		}
-	}
-
-	class InternalStyleSheetList extends AbstractCSSNodeList implements StyleSheetList {
-
-		public ICSSNode appendNode(ICSSNode node) {
-			if (nodes == null || !nodes.contains(node))
-				return super.appendNode(node);
-			else
-				return node;
-		}
-
-		public StyleSheet item(int i) {
-			return (StyleSheet) itemImpl(i);
-		}
-	}
-
-	private boolean fDisabled = false;
-
-	/**
-	 * 
-	 */
-	CSSStyleSheetImpl() {
-		super();
-		setOwnerDocument(this);
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSStyleSheetImpl
-	 */
-	CSSStyleSheetImpl(CSSStyleSheetImpl that) {
-		super(that);
-		setOwnerDocument(this);
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param rule
-	 *            org.w3c.dom.css.CSSRule
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public org.w3c.dom.css.CSSRule appendRule(org.w3c.dom.css.CSSRule rule) throws org.w3c.dom.DOMException {
-		if (rule == null)
-			return null;
-
-		CSSRule ret = (CSSRule) appendChild((CSSNodeImpl) rule);
-		return ret;
-	}
-
-	/**
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSStyleSheetImpl cloned = new CSSStyleSheetImpl(this);
-
-		if (deep)
-			cloneChildNodes(cloned, deep);
-
-		return cloned;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSCharsetRule
-	 */
-	public ICSSCharsetRule createCSSCharsetRule() {
-		CSSCharsetRuleImpl rule = new CSSCharsetRuleImpl();
-		rule.setOwnerDocument(this);
-		return rule;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSFontFaceRule
-	 */
-	public CSSFontFaceRule createCSSFontFaceRule() {
-		CSSFontFaceRuleImpl rule = new CSSFontFaceRuleImpl();
-		CSSStyleDeclarationImpl style = (CSSStyleDeclarationImpl) createCSSStyleDeclaration();
-
-		rule.appendChild(style);
-		rule.setOwnerDocument(this);
-
-		return rule;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSImportRule
-	 */
-	public ICSSImportRule createCSSImportRule() {
-		CSSImportRuleImpl rule = new CSSImportRuleImpl();
-		MediaListImpl media = (MediaListImpl) createMediaList();
-
-		rule.appendChild(media);
-		rule.setOwnerDocument(this);
-
-		return rule;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.ICSSMediaRule
-	 */
-	public ICSSMediaRule createCSSMediaRule() {
-		CSSMediaRuleImpl rule = new CSSMediaRuleImpl();
-		MediaListImpl media = (MediaListImpl) createMediaList();
-
-		rule.insertBefore(media, (CSSNodeImpl) rule.getFirstChild()); // media
-																		// must
-																		// be
-																		// the
-																		// top
-																		// of
-																		// children
-																		// list
-		rule.setOwnerDocument(this);
-
-		return rule;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSPageRule
-	 */
-	public ICSSPageRule createCSSPageRule() {
-		CSSPageRuleImpl rule = new CSSPageRuleImpl();
-		CSSStyleDeclarationImpl style = (CSSStyleDeclarationImpl) createCSSStyleDeclaration();
-
-		rule.appendChild(style);
-		rule.setOwnerDocument(this);
-
-		return rule;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param rule
-	 *            java.lang.String
-	 */
-	public CSSRule createCSSRule(String rule) {
-		CSSDocumentLoader loader = new CSSDocumentLoader();
-		IStructuredDocument structuredDocument = (IStructuredDocument) loader.createNewStructuredDocument();
-		structuredDocument.set(rule);
-
-		CSSModelParser modelParser = new CSSModelParser((CSSDocumentImpl) getOwnerDocument());
-		return modelParser.createCSSRule(structuredDocument.getRegionList());
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSStyleDeclaration
-	 */
-	public ICSSStyleDeclaration createCSSStyleDeclaration() {
-		CSSStyleDeclarationImpl decl = new CSSStyleDeclarationImpl(false);
-		decl.setOwnerDocument(this);
-
-		return decl;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSStyleRule
-	 */
-	public ICSSStyleRule createCSSStyleRule() {
-		CSSStyleRuleImpl rule = new CSSStyleRuleImpl();
-		CSSStyleDeclarationImpl style = (CSSStyleDeclarationImpl) createCSSStyleDeclaration();
-
-		rule.appendChild(style);
-		rule.setOwnerDocument(this);
-
-		return rule;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSUnknownRule
-	 */
-	public CSSUnknownRule createCSSUnknownRule() {
-		CSSUnknownRuleImpl rule = new CSSUnknownRuleImpl();
-		rule.setOwnerDocument(this);
-
-		return rule;
-	}
-
-	/**
-	 * @return org.w3c.dom.stylesheets.MediaList
-	 */
-	public MediaList createMediaList() {
-		MediaListImpl media = new MediaListImpl();
-		media.setOwnerDocument(this);
-
-		return media;
-	}
-
-	/**
-	 * Used to delete a rule from the style sheet.
-	 * 
-	 * @param index
-	 *            The index within the style sheet's rule list of the rule to
-	 *            remove.
-	 * @exception DOMException
-	 *                INDEX_SIZE_ERR: Raised if the specified index does not
-	 *                correspond to a rule in the style sheet's rule list.
-	 *                <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet
-	 *                is readonly.
-	 */
-	public void deleteRule(int index) throws DOMException {
-		CSSNodeImpl node = getIndexedRule(index);
-		if (node != null)
-			removeChild(node);
-	}
-
-	/**
-	 * The list of all CSS rules contained within the style sheet. This
-	 * includes both rule sets and at-rules.
-	 */
-	public CSSRuleList getCssRules() {
-		CSSRuleListImpl list = new CSSRuleListImpl();
-
-		for (ICSSNode node = getFirstChild(); node != null; node = node.getNextSibling()) {
-			if (node instanceof CSSRule) {
-				list.appendNode(node);
-			}
-		}
-
-		return list;
-	}
-
-	/**
-	 * <code>false</code> if the style sheet is applied to the document.
-	 * <code>true</code> if it is not. Modifying this attribute may cause a
-	 * new resolution of style for the document. A stylesheet only applies if
-	 * both an appropriate medium definition is present and the disabled
-	 * attribute is false. So, if the media doesn't apply to the current user
-	 * agent, the <code>disabled</code> attribute is ignored.
-	 */
-	public boolean getDisabled() {
-		return fDisabled;
-	}
-
-	/**
-	 * If the style sheet is a linked style sheet, the value of its attribute
-	 * is its location. For inline style sheets, the value of this attribute
-	 * is <code>null</code>. See the href attribute definition for the
-	 * <code>LINK</code> element in HTML 4.0, and the href pseudo-attribute
-	 * for the XML style sheet processing instruction.
-	 */
-	public String getHref() {
-		ICSSModel model = getModel();
-		if (model != null && model.getStyleSheetType() == ICSSModel.EXTERNAL) {
-			return model.getBaseLocation();
-			/*
-			 * Object id = model.getId(); if (id != null) { if (id instanceof
-			 * IResource) { // TODO: need to check whether this is correct or
-			 * not, later. return ((IResource)id).getFullPath().toString(); }
-			 * return id.toString(); }
-			 */}
-		return null;
-	}
-
-	/**
-	 * @return com.ibm.sed.css.treemodel.CSSRuleImpl
-	 * @param index
-	 *            int
-	 */
-	CSSRuleImpl getIndexedRule(int index) {
-		if (index < 0)
-			return null;
-
-		int i = 0;
-		for (ICSSNode node = getFirstChild(); node != null; node = node.getNextSibling()) {
-			if (node instanceof CSSRule) {
-				if (i++ == index)
-					return (CSSRuleImpl) node;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * The intended destination media for style information. The media is
-	 * often specified in the <code>ownerNode</code>. If no media has been
-	 * specified, the <code>MediaList</code> will be empty. See the media
-	 * attribute definition for the <code>LINK</code> element in HTML 4.0,
-	 * and the media pseudo-attribute for the XML style sheet processing
-	 * instruction . Modifying the media list may cause a change to the
-	 * attribute <code>disabled</code>.
-	 */
-	public MediaList getMedia() {
-		return null;
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return STYLESHEET_NODE;
-	}
-
-	/**
-	 * The node that associates this style sheet with the document. For HTML,
-	 * this may be the corresponding <code>LINK</code> or <code>STYLE</code>
-	 * element. For XML, it may be the linking processing instruction. For
-	 * style sheets that are included by other style sheets, the value of this
-	 * attribute is <code>null</code>.
-	 */
-	public Node getOwnerNode() {
-		// for <LINK> tag or <STYLE> tag
-		ICSSModel model = getModel();
-		if (model != null)
-			return model.getOwnerDOMNode();
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.NodeList
-	 */
-	public org.w3c.dom.NodeList getOwnerNodes() {
-		List list = (getModel().getStyleListeners() != null) ? new Vector(getModel().getStyleListeners()) : null;
-		if (list == null)
-			return null;
-		InternalNodeList nodes = new InternalNodeList();
-		Iterator it = list.iterator();
-		while (it.hasNext()) {
-			Object obj = it.next();
-			if (obj instanceof IStyleSheetAdapter) {
-				nodes.nodes.add(((IStyleSheetAdapter) obj).getElement());
-			}
-		}
-		if (nodes.getLength() > 0)
-			return nodes;
-		else
-			return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.NodeList
-	 * @param doc
-	 *            org.w3c.dom.Document
-	 */
-	public NodeList getOwnerNodes(Document doc) {
-		List list = (getModel().getStyleListeners() != null) ? new Vector(getModel().getStyleListeners()) : null;
-		if (list == null)
-			return null;
-		InternalNodeList nodes = new InternalNodeList();
-		Iterator it = list.iterator();
-		while (it.hasNext()) {
-			Object obj = it.next();
-			if (obj instanceof IStyleSheetAdapter) {
-				Element ele = ((IStyleSheetAdapter) obj).getElement();
-				if (ele.getOwnerDocument() == doc)
-					nodes.nodes.add(ele);
-			}
-		}
-		if (nodes.getLength() > 0)
-			return nodes;
-		else
-			return null;
-	}
-
-	/**
-	 * If this style sheet comes from an <code>@import</code> rule, the <code>ownerRule</code> attribute will
-	 *         contain the <code>CSSImportRule</code>. In that case, the
-	 *         <code>ownerNode</code> attribute in the
-	 *         <code>StyleSheet</code> interface will be <code>null</code>.
-	 *         If the style sheet comes from an element or a processing
-	 *         instruction, the <code>ownerRule</code> attribute will be
-	 *         <code>null</code> and the <code>ownerNode</code> attribute
-	 *         will contain the <code>Node</code>.
-	 */
-	public CSSRule getOwnerRule() {
-		Assert.isTrue(false, CSSCorePlugin.getResourceString("%You_cannot_use_CSSStyleShe_UI_")); //$NON-NLS-1$ = "You cannot use CSSStyleSheet.getOwnerRule() because of many referencers of this rule\nPlease use getOnwerRules()"
-		// for @import
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRuleList
-	 */
-	public org.w3c.dom.css.CSSRuleList getOwnerRules() {
-		StyleSheetList list = getParentStyleSheets();
-		if (list == null)
-			return null;
-		CSSRuleListImpl ruleList = new CSSRuleListImpl();
-		for (int i = 0; i < list.getLength(); i++) {
-			ImportRuleCollector trav = new ImportRuleCollector(this);
-			trav.apply((ICSSStyleSheet) list.item(i));
-			ruleList.nodes.addAll(trav.getRules());
-		}
-		return ruleList;
-	}
-
-	/**
-	 * For style sheet languages that support the concept of style sheet
-	 * inclusion, this attribute represents the including style sheet, if one
-	 * exists. If the style sheet is a top-level style sheet, or the style
-	 * sheet language does not support inclusion, the value of this attribute
-	 * is <code>null</code>.
-	 */
-	public StyleSheet getParentStyleSheet() {
-		CSSRule owner = getOwnerRule();
-		if (owner != null)
-			return owner.getParentStyleSheet();
-		return null;
-	}
-
-	/**
-	 * @return org.w3c.dom.stylesheets.StyleSheetList
-	 */
-	public org.w3c.dom.stylesheets.StyleSheetList getParentStyleSheets() {
-		List list = (getModel().getStyleListeners() != null) ? new Vector(getModel().getStyleListeners()) : null;
-		if (list == null)
-			return null;
-		InternalStyleSheetList sheets = new InternalStyleSheetList();
-		Iterator it = list.iterator();
-		while (it.hasNext()) {
-			Object obj = it.next();
-			if (obj instanceof ICSSModel) {
-				sheets.appendNode(((ICSSModel) obj).getDocument());
-			}
-		}
-		if (sheets.getLength() > 0)
-			return sheets;
-		else
-			return null;
-	}
-
-	/**
-	 * The advisory title. The title is often specified in the
-	 * <code>ownerNode</code>. See the title attribute definition for the
-	 * <code>LINK</code> element in HTML 4.0, and the title pseudo-attribute
-	 * for the XML style sheet processing instruction.
-	 */
-	public String getTitle() {
-		Node node = getOwnerNode();
-		if (node instanceof Element) {
-			return ((Element) node).getAttribute("TITLE");//$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * This specifies the style sheet language for this style sheet. The style
-	 * sheet language is specified as a content type (e.g. "text/css"). The
-	 * content type is often specified in the <code>ownerNode</code>. Also
-	 * see the type attribute definition for the <code>LINK</code> element
-	 * in HTML 4.0, and the type pseudo-attribute for the XML style sheet
-	 * processing instruction.
-	 */
-	public String getType() {
-		Node node = getOwnerNode();
-		if (node instanceof Element) {
-			return ((Element) node).getAttribute("TYPE");//$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * Used to insert a new rule into the style sheet. The new rule now
-	 * becomes part of the cascade.
-	 * 
-	 * @param rule
-	 *            The parsable text representing the rule. For rule sets this
-	 *            contains both the selector and the style declaration. For
-	 *            at-rules, this specifies both the at-identifier and the rule
-	 *            content.
-	 * @param index
-	 *            The index within the style sheet's rule list of the rule
-	 *            before which to insert the specified rule. If the specified
-	 *            index is equal to the length of the style sheet's rule
-	 *            collection, the rule will be added to the end of the style
-	 *            sheet.
-	 * @return The index within the style sheet's rule collection of the newly
-	 *         inserted rule.
-	 * @exception DOMException
-	 *                HIERARCHY_REQUEST_ERR: Raised if the rule cannot be
-	 *                inserted at the specified index e.g. if an
-	 *                <code>@import</code> rule is inserted after a standard rule set or other
-	 *         at-rule. <br>
-	 *         INDEX_SIZE_ERR: Raised if the specified index is not a valid
-	 *         insertion point. <br>
-	 *         NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
-	 *         readonly. <br>
-	 *         SYNTAX_ERR: Raised if the specified rule has a syntax error and
-	 *         is unparsable.
-	 */
-	public int insertRule(String rule, int index) throws DOMException {
-		int length = getCssRules().getLength();
-		if (index < 0 || length < index)
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, "");//$NON-NLS-1$
-
-		IStructuredDocument doc = getModel().getStructuredDocument();
-		CSSRuleImpl refRule = (length != index) ? getIndexedRule(index) : null;
-		int offset = (refRule != null) ? refRule.getStartOffset() : doc.getLength();
-		doc.replaceText(this, offset, 0, rule);
-
-		// insertBefore((CSSNodeImpl) createCSSRule(rule),refRule);
-		return index;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param newRule
-	 *            org.w3c.dom.css.CSSRule
-	 * @param refRule
-	 *            org.w3c.dom.css.CSSRule
-	 */
-	public org.w3c.dom.css.CSSRule insertRuleBefore(org.w3c.dom.css.CSSRule newRule, org.w3c.dom.css.CSSRule refRule) throws org.w3c.dom.DOMException {
-		if (newRule == null && refRule == null)
-			return null;
-
-		CSSRule ret = (CSSRule) insertBefore((CSSNodeImpl) newRule, (CSSNodeImpl) refRule);
-		return ret;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isDocument() {
-		return true;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param rule
-	 *            org.w3c.dom.css.CSSRule
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public org.w3c.dom.css.CSSRule removeRule(org.w3c.dom.css.CSSRule rule) throws org.w3c.dom.DOMException {
-		if (rule == null)
-			return null;
-
-		CSSRule ret = (CSSRule) removeChild((CSSNodeImpl) rule);
-		return ret;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSRule
-	 * @param newChild
-	 *            org.w3c.dom.css.CSSRule
-	 * @param oldChild
-	 *            org.w3c.dom.css.CSSRule
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public org.w3c.dom.css.CSSRule replaceRule(org.w3c.dom.css.CSSRule newRule, org.w3c.dom.css.CSSRule oldRule) throws org.w3c.dom.DOMException {
-		if (newRule == null && oldRule == null)
-			return null;
-
-		CSSRule ret = (CSSRule) replaceChild((CSSNodeImpl) newRule, (CSSNodeImpl) oldRule);
-		return ret;
-	}
-
-	/**
-	 * setDisabled method comment.
-	 */
-	public void setDisabled(boolean disabled) {
-		this.fDisabled = disabled;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSUnknownRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSUnknownRuleImpl.java
deleted file mode 100644
index cfbd981..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSUnknownRuleImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.w3c.dom.css.CSSUnknownRule;
-
-
-/**
- * 
- */
-class CSSUnknownRuleImpl extends CSSRuleImpl implements CSSUnknownRule {
-
-	// TODO: This field is never read
-	String fCssText = null;
-
-	/**
-	 * 
-	 */
-	CSSUnknownRuleImpl() {
-		super();
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSUnknownRuleImpl
-	 */
-	CSSUnknownRuleImpl(CSSUnknownRuleImpl that) {
-		super(that);
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CSSUnknownRuleImpl cloned = new CSSUnknownRuleImpl(this);
-
-		return cloned;
-	}
-
-	/**
-	 * @return short
-	 */
-	public short getNodeType() {
-		return UNKNOWNRULE_NODE;
-	}
-
-	/**
-	 * The type of the rule, as defined above. The expectation is that
-	 * binding-specific casting methods can be used to cast down from an
-	 * instance of the <code>CSSRule</code> interface to the specific
-	 * derived interface implied by the <code>type</code>.
-	 */
-	public short getType() {
-		return UNKNOWN_RULE;
-	}
-
-	/**
-	 * @param cssText
-	 *            java.lang.String
-	 */
-	public void setCssText(String cssText) {
-		this.fCssText = cssText;
-
-		super.setCssText(cssText);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CounterImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CounterImpl.java
deleted file mode 100644
index e715cda..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CounterImpl.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICounter;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.css.Counter;
-
-
-/**
- * 
- */
-class CounterImpl extends CSSPrimitiveContainer implements ICounter {
-
-	/**
-	 * 
-	 */
-	CounterImpl() {
-		super(CSS_COUNTER);
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CounterImpl
-	 */
-	CounterImpl(CounterImpl that) {
-		super(that);
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		CounterImpl cloned = new CounterImpl(this);
-
-		if (deep)
-			cloneChildNodes(cloned, deep);
-
-		return cloned;
-	}
-
-	/**
-	 * This method is used to get the Counter value. If this CSS value doesn't
-	 * contain a counter value, a <code>DOMException</code> is raised.
-	 * Modification to the corresponding style property can be achieved using
-	 * the <code>Counter</code> interface.
-	 * 
-	 * @return The Counter value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a Counter value (e.g. this is not
-	 *                <code>CSS_COUNTER</code>).
-	 */
-	public Counter getCounterValue() throws DOMException {
-		return this;
-	}
-
-	/**
-	 * This attribute is used for the identifier of the counter.
-	 */
-	public String getIdentifier() {
-		return getAttribute(IDENTIFIER);
-	}
-
-	/**
-	 * This attribute is used for the style of the list.
-	 */
-	public String getListStyle() {
-		return getAttribute(LISTSTYLE);
-	}
-
-	/**
-	 * This attribute is used for the separator of the nested counters.
-	 */
-	public String getSeparator() {
-		return getAttribute(SEPARATOR);
-	}
-
-	/**
-	 * 
-	 */
-	protected void initPrimitives() {
-		return;
-	}
-
-	/**
-	 * @param identifier
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public void setIdentifier(String identifier) throws DOMException {
-		setAttribute(IDENTIFIER, identifier);
-	}
-
-	/**
-	 * @param listStyle
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public void setListStyle(String listStyle) throws DOMException {
-		setAttribute(LISTSTYLE, listStyle);
-	}
-
-	/**
-	 * @param Separator
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public void setSeparator(String Separator) throws org.w3c.dom.DOMException {
-		setAttribute(SEPARATOR, Separator);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/DOMCSSImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/DOMCSSImpl.java
deleted file mode 100644
index 4b0e3e7..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/DOMCSSImpl.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.w3c.dom.css.CSSStyleSheet;
-
-
-/**
- * 
- */
-public class DOMCSSImpl {
-
-	/**
-	 * DOMCSSImpl constructor comment.
-	 */
-	public DOMCSSImpl() {
-		super();
-	}
-
-	/**
-	 * @return com.ibm.sed.css.interfaces.CSSStyleDeclBlock
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public static ICSSStyleDeclaration createCSSStyleDeclaration() throws org.w3c.dom.DOMException {
-		CSSStyleDeclarationImpl document = new CSSStyleDeclarationImpl(true);
-
-		return document;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.CSSStyleSheet
-	 * @param title
-	 *            java.lang.String
-	 * @param media
-	 *            java.lang.String
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public static CSSStyleSheet createCSSStyleSheet(String title, String media) throws org.w3c.dom.DOMException {
-		return new CSSStyleSheetImpl();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/MediaListImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/MediaListImpl.java
deleted file mode 100644
index c7a30c0..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/MediaListImpl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.stylesheets.MediaList;
-
-
-/**
- * 
- */
-class MediaListImpl extends CSSRegionContainer implements MediaList {
-
-	int mediumCounter;
-
-	/**
-	 * MediaListImpl constructor comment.
-	 */
-	MediaListImpl() {
-		super();
-	}
-
-	/**
-	 * MediaListImpl constructor comment.
-	 * 
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.CSSContainer
-	 */
-	MediaListImpl(MediaListImpl that) {
-		super(that);
-	}
-
-	/**
-	 * Adds the medium <code>newMedium</code> to the end of the list. If the
-	 * <code>newMedium</code> is already used, it is first removed.
-	 * 
-	 * @param newMediumThe
-	 *            new medium to add.
-	 * @exception DOMException
-	 *                INVALID_CHARACTER_ERR: If the medium contains characters
-	 *                that are invalid in the underlying style language. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this list is
-	 *                readonly.
-	 */
-	public void appendMedium(String newMedium) throws DOMException {
-		if (newMedium == null)
-			return;
-
-		CSSNodeListImpl m = getMedia();
-		for (int i = 0; i != m.getLength(); i++) {
-			if (newMedium.equals(item(i)))
-				return;
-		}
-
-		setAttribute("medium" + Integer.toString(mediumCounter++), newMedium);//$NON-NLS-1$
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2001/01/17
-	 * 18:50:29)
-	 * 
-	 * @return com.ibm.sed.treemodel.css.CSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		MediaListImpl cloned = new MediaListImpl(this);
-		return cloned;
-	}
-
-	/**
-	 * Deletes the medium indicated by <code>oldMedium</code> from the list.
-	 * 
-	 * @param oldMediumThe
-	 *            medium to delete in the media list.
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this list is
-	 *                readonly. <br>
-	 *                NOT_FOUND_ERR: Raised if <code>oldMedium</code> is not
-	 *                in the list.
-	 */
-	public void deleteMedium(String oldMedium) throws DOMException {
-		for (int i = 0; i != getLength(); i++) {
-			if (oldMedium.equals(item(i))) {
-				removeAttributeNode((CSSAttrImpl) fAttrs.item(i));
-			}
-		}
-	}
-
-	/**
-	 * The number of media in the list. The range of valid media is
-	 * <code>0</code> to <code>length-1</code> inclusive.
-	 */
-	public int getLength() {
-		return getMedia().getLength();
-	}
-
-	/**
-	 * @return CSSNodeListImpl
-	 */
-	CSSNodeListImpl getMedia() {
-		if (fAttrs == null)
-			fAttrs = new CSSNamedNodeMapImpl();
-		return fAttrs;
-	}
-
-	/**
-	 * The parsable textual representation of the media list. This is a
-	 * comma-separated list of media.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified string value has a
-	 *                syntax error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this media list
-	 *                is readonly.
-	 */
-	public String getMediaText() {
-		return getCssText();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2001/01/17
-	 * 18:50:29)
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return MEDIALIST_NODE;
-	}
-
-	/**
-	 * Returns the <code>index</code> th in the list. If <code>index</code>
-	 * is greater than or equal to the number of media in the list, this
-	 * returns <code>null</code>.
-	 * 
-	 * @param index
-	 *            Index into the collection.
-	 * @return The medium at the <code>index</code> th position in the
-	 *         <code>MediaList</code>, or <code>null</code> if that is
-	 *         not a valid index.
-	 */
-	public String item(int index) {
-		if (index < 0 || getLength() <= index)
-			return null;
-
-		return ((CSSAttrImpl) getMedia().item(index)).getValue();
-	}
-
-	/**
-	 * setMediaText method comment.
-	 */
-	public void setMediaText(String mediaText) throws DOMException {
-		setCssText(mediaText);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/RGBColorImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/RGBColorImpl.java
deleted file mode 100644
index 4120fc2..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/RGBColorImpl.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.w3c.dom.css.CSSPrimitiveValue;
-import org.w3c.dom.css.RGBColor;
-
-
-/**
- * 
- */
-class RGBColorImpl extends CSSPrimitiveContainer implements RGBColor {
-
-	private CSSPrimitiveValueImpl fRed;
-	private CSSPrimitiveValueImpl fGreen;
-	private CSSPrimitiveValueImpl fBlue;
-
-	/**
-	 * 
-	 */
-	RGBColorImpl() {
-		super(CSS_RGBCOLOR);
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.RGBColorImpl
-	 */
-	RGBColorImpl(RGBColorImpl that) {
-		super(that);
-
-		fRed = new CSSPrimitiveValueImpl(that.fRed);
-		appendChild(fRed);
-
-		fGreen = new CSSPrimitiveValueImpl(that.fGreen);
-		appendChild(fGreen);
-
-		fBlue = new CSSPrimitiveValueImpl(that.fBlue);
-		appendChild(fBlue);
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		RGBColorImpl cloned = new RGBColorImpl(this);
-
-		return cloned;
-	}
-
-	/**
-	 * This attribute is used for the blue value of the RGB color.
-	 */
-	public CSSPrimitiveValue getBlue() {
-		return fBlue;
-	}
-
-	/**
-	 * This attribute is used for the green value of the RGB color.
-	 */
-	public CSSPrimitiveValue getGreen() {
-		return fGreen;
-	}
-
-	/**
-	 * This attribute is used for the red value of the RGB color.
-	 */
-	public CSSPrimitiveValue getRed() {
-		return fRed;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.RGBColor
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public RGBColor getRGBColorValue() throws org.w3c.dom.DOMException {
-		return this;
-	}
-
-	/**
-	 * 
-	 */
-	protected void initPrimitives() {
-
-		fRed = (CSSPrimitiveValueImpl) getOwnerDocument().createCSSPrimitiveValue(CSS_NUMBER);
-		appendChild(fRed);
-
-		fGreen = (CSSPrimitiveValueImpl) getOwnerDocument().createCSSPrimitiveValue(CSS_NUMBER);
-		appendChild(fGreen);
-
-		fBlue = (CSSPrimitiveValueImpl) getOwnerDocument().createCSSPrimitiveValue(CSS_NUMBER);
-		appendChild(fBlue);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/RectImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/RectImpl.java
deleted file mode 100644
index 8388027..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/RectImpl.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.w3c.dom.css.CSSPrimitiveValue;
-import org.w3c.dom.css.Rect;
-
-
-/**
- * 
- */
-class RectImpl extends CSSPrimitiveContainer implements Rect {
-
-	private CSSPrimitiveValueImpl fTop;
-	private CSSPrimitiveValueImpl fRight;
-	private CSSPrimitiveValueImpl fBottom;
-	private CSSPrimitiveValueImpl fLeft;
-
-	/**
-	 * 
-	 */
-	RectImpl() {
-		super(CSS_RECT);
-	}
-
-	/**
-	 * @param that
-	 *            com.ibm.sed.css.treemodel.RectImpl
-	 */
-	RectImpl(RectImpl that) {
-		super(that);
-
-		fTop = new CSSPrimitiveValueImpl(that.fTop);
-		appendChild(fTop);
-
-		fRight = new CSSPrimitiveValueImpl(that.fRight);
-		appendChild(fRight);
-
-		fBottom = new CSSPrimitiveValueImpl(that.fBottom);
-		appendChild(fBottom);
-
-		fLeft = new CSSPrimitiveValueImpl(that.fLeft);
-		appendChild(fLeft);
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param deep
-	 *            boolean
-	 */
-	public ICSSNode cloneNode(boolean deep) {
-		RectImpl cloned = new RectImpl(this);
-
-		return cloned;
-	}
-
-	/**
-	 * This attribute is used for the bottom of the rect.
-	 */
-	public CSSPrimitiveValue getBottom() {
-		return fBottom;
-	}
-
-	/**
-	 * This attribute is used for the left of the rect.
-	 */
-	public CSSPrimitiveValue getLeft() {
-		return fLeft;
-	}
-
-	/**
-	 * @return org.w3c.dom.css.Rect
-	 * @exception org.w3c.dom.DOMException
-	 *                The exception description.
-	 */
-	public Rect getRectValue() throws org.w3c.dom.DOMException {
-		return this;
-	}
-
-	/**
-	 * This attribute is used for the right of the rect.
-	 */
-	public CSSPrimitiveValue getRight() {
-		return fRight;
-	}
-
-	/**
-	 * This attribute is used for the top of the rect.
-	 */
-	public CSSPrimitiveValue getTop() {
-		return fTop;
-	}
-
-	/**
-	 * 
-	 */
-	protected void initPrimitives() {
-
-		fTop = (CSSPrimitiveValueImpl) getOwnerDocument().createCSSPrimitiveValue(CSS_NUMBER);
-		appendChild(fTop);
-
-		fRight = (CSSPrimitiveValueImpl) getOwnerDocument().createCSSPrimitiveValue(CSS_NUMBER);
-		appendChild(fRight);
-
-		fBottom = (CSSPrimitiveValueImpl) getOwnerDocument().createCSSPrimitiveValue(CSS_NUMBER);
-		appendChild(fBottom);
-
-		fLeft = (CSSPrimitiveValueImpl) getOwnerDocument().createCSSPrimitiveValue(CSS_NUMBER);
-		appendChild(fLeft);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/StyleSheetListImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/StyleSheetListImpl.java
deleted file mode 100644
index fea1bfc..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/StyleSheetListImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.document;
-
-
-
-import org.w3c.dom.stylesheets.StyleSheet;
-import org.w3c.dom.stylesheets.StyleSheetList;
-
-/**
- * 
- */
-class StyleSheetListImpl extends AbstractCSSNodeList implements StyleSheetList {
-
-	/**
-	 * StyleSheetListImpl constructor comment.
-	 */
-	StyleSheetListImpl() {
-		super();
-	}
-
-	/**
-	 * Used to retrieve a style sheet by ordinal index. If index is greater
-	 * than or equal to the number of style sheets in the list, this returns
-	 * <code>null</code>.
-	 * 
-	 * @param indexIndex
-	 *            into the collection
-	 * @return The style sheet at the <code>index</code> position in the
-	 *         <code>StyleSheetList</code>, or <code>null</code> if that
-	 *         is not a valid index.
-	 */
-	public StyleSheet item(int index) {
-		return (StyleSheet) itemImpl(index);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/encoding/ByteUtil.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/encoding/ByteUtil.java
deleted file mode 100644
index 635e388..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/encoding/ByteUtil.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.encoding;
-
-
-
-public class ByteUtil {
-
-
-	public static void main(String[] args) {
-		String bigString = "\n<@ page\n"; //$NON-NLS-1$
-		String target = "<@ PAGE"; //$NON-NLS-1$
-		int match = findIfMatch(stringToByteArray(bigString), 7, 0, stringToByteArray(target));
-		System.out.println(match);
-	}
-
-	/**
-	 * ByteUtil constructor comment.
-	 */
-	public ByteUtil() {
-		super();
-	}
-
-	/**
-	 * @return int
-	 * @param s1
-	 *            byte[]
-	 * @param s2
-	 *            byte[]
-	 * @param n
-	 *            int
-	 * 
-	 * Compare bytes. If same, return 0. Otherwise non-zero.
-	 */
-	private static int _cmp(byte[] s1, int starts1pos, byte[] s2, int starts2pos, int complen, boolean ignorecase) {
-		if ((s1 == null) || (s2 == null))
-			return 1;
-		int len_s1 = s1.length - starts1pos;
-		int len_s2 = s2.length - starts2pos;
-		if ((len_s1 <= 0) || (len_s2 <= 0))
-			return 1;
-		if ((len_s1 < complen) || (len_s2 < complen))
-			return 1;
-
-		int len = complen;
-		int offset = 0;
-		byte c1 = (byte) 0, c2 = (byte) 0;
-		while (offset < len) {
-			if (ignorecase == true) {
-				c1 = _toUpper(s1[starts1pos + offset]);
-				c2 = _toUpper(s2[starts2pos + offset]);
-			}
-			else {
-				c1 = s1[starts1pos + offset];
-				c2 = s2[starts2pos + offset];
-			}
-			if (c1 == c2) {
-				offset++;
-				continue;
-			}
-			else {
-				break;
-			}
-		}
-
-		return (offset == len ? 0 : (int) (c1 - c2));
-	}
-
-	/**
-	 * @return byte
-	 * @param c1
-	 *            byte
-	 * 
-	 * Convert to upper case letter. It's for ASCII only
-	 */
-	private static byte _toUpper(byte c1) {
-		if ((c1 >= (byte) 0x61) && (c1 <= (byte) 0x7a))
-			c1 -= 0x20;
-		return c1;
-	}
-
-	/**
-	 * @return int
-	 * @param string
-	 *            byte[]
-	 * @param target
-	 *            byte[]
-	 * 
-	 * Look for the index of 2nd byte[] within 1st byte[]. If being found,
-	 * return the pos. Otherwise, return -1. This is case-insensitive. It's
-	 * simlar to String.indexOf().
-	 */
-	public static int findIfMatch(byte[] container, int length, int startpos, byte[] target) {
-		int container_len = length - startpos;
-		int target_len = target.length;
-
-		// Clearly different
-		if ((container_len <= 0) || (target_len <= 0))
-			return -1;
-		if (target_len > container_len)
-			return -1;
-
-		// Look for the same bytes as 'target' in 'container' from startpos
-		int pos;
-		for (pos = startpos; pos < length; pos++) {
-			if (strCaseCmp(container, pos, target, 0, target_len) == 0) {
-				// matched.
-				return pos;
-			}
-		}
-
-		return -1;
-	}
-
-	/**
-	 * Let the conversion be done in code since it's easier to reuse and
-	 * verify than converting them by hand.
-	 */
-	private static byte[] stringToByteArray(String string) {
-		byte[] bytes = new byte[string.length()];
-		for (int i = 0; i < string.length(); i++)
-			bytes[i] = (byte) string.charAt(i); // typecast to number using
-												// lower 8 bits only
-		return bytes;
-	}
-
-	/**
-	 * @return int
-	 * @param container
-	 *            byte[]
-	 * @param startpos
-	 *            int
-	 * @param target
-	 *            byte
-	 * 
-	 * This is case-insensitive.
-	 */
-	public static int findIfMatch(byte[] container, int length, int startpos, byte target) {
-		int container_len = length - startpos;
-
-		if (container_len <= 0)
-			return -1;
-
-		// Look for the same byte as 'target' in 'container' from startpos
-		int pos;
-		for (pos = startpos; pos < length; pos++) {
-			if (_toUpper(container[pos]) == _toUpper(target))
-				return pos;
-		}
-
-		return -1;
-	}
-
-	/**
-	 * @return int
-	 * @param container
-	 *            byte[]
-	 * @param length
-	 *            int
-	 * @param startpos
-	 *            int
-	 * @param target
-	 *            byte
-	 * 
-	 * Skip same bytes as target. Return the position. If goes to end, return
-	 * -1
-	 */
-	public static int skipIfMatch(byte[] container, int length, int startpos, byte target) {
-		int container_len = length - startpos;
-
-		// Clearly error
-		if (container_len <= 0)
-			return -1;
-
-		int pos;
-		for (pos = startpos; pos < length; pos++) {
-			if (container[pos] != target)
-				break;
-		}
-		if (pos == length) {
-			// I found everything is target
-			pos = -1;
-		}
-		return pos;
-	}
-
-	/**
-	 * @return int
-	 * @param s1
-	 *            byte[]
-	 * @param starts1pos
-	 *            int
-	 * @param s2
-	 *            byte[]
-	 * @param starts2pos
-	 *            int
-	 * 
-	 * It's similar to XPG4's strcasecmp()
-	 */
-	public static int strCaseCmp(byte[] s1, int starts1pos, byte[] s2, int starts2pos, int complen) {
-		return _cmp(s1, starts1pos, s2, starts2pos, complen, true);
-	}
-
-	/**
-	 * @return int
-	 * @param s1
-	 *            byte[]
-	 * @param starts1pos
-	 *            int
-	 * @param s2
-	 *            byte[]
-	 * @param starts2pos
-	 *            int
-	 * 
-	 * It's similar to XPG4's strcmp()
-	 */
-	public static int strCmp(byte[] s1, int starts1pos, byte[] s2, int starts2pos, int complen) {
-		return _cmp(s1, starts1pos, s2, starts2pos, complen, false);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/encoding/CSSDocumentCharsetDetector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/encoding/CSSDocumentCharsetDetector.java
deleted file mode 100644
index a726280..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/encoding/CSSDocumentCharsetDetector.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.encoding;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.css.core.internal.content.CSSResourceEncodingDetector;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.sse.core.document.DocumentReader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-
-public class CSSDocumentCharsetDetector extends CSSResourceEncodingDetector implements IDocumentCharsetDetector {
-
-	public String getEncodingName(IStructuredDocument structuredDocument) {
-		String result = null;
-		// if the document is empty, then there will be no nodes,
-		// so no need to continue.
-		IStructuredDocumentRegionList nodes = structuredDocument.getRegionList();
-		if (nodes.getLength() > 0) {
-			IStructuredDocumentRegion node = null;
-			// skip any initial whitespace
-			// Note that @charset "encodingname";
-			// must appear at very beginning of document,
-			// to be valid.
-			// May have to test with "damaged" files (e.g.
-			// beginning EOLs, etc., to verify this works
-			// as expected.
-			for (int i = 0; i < nodes.getLength(); i++) {
-				node = nodes.item(i);
-				if (getType(node) != CSSRegionContexts.CSS_S) {
-					break;
-				}
-			}
-			Iterator regions = node.getRegions().iterator();
-			ITextRegion region = getNextRegionOfType(CSSRegionContexts.CSS_CHARSET, regions);
-			if (region != null) {
-				ITextRegion valueRegion = getNextRegionOfType(CSSRegionContexts.CSS_STRING, regions);
-				if (valueRegion == null) {
-					// if didn't find the region, its probably due to ill
-					// formed input, such as
-					// @charset "ISO-8859-6;
-					// so we'll try again for "unknown" region.
-					// If that fails, we'll give up?
-					regions = node.getRegions().iterator();
-					region = getNextRegionOfType(CSSRegionContexts.CSS_CHARSET, regions);
-					if (region != null) {
-						valueRegion = getNextRegionOfType(CSSRegionContexts.CSS_UNKNOWN, regions);
-						if (valueRegion != null) {
-							result = node.getText(valueRegion);
-						}
-					}
-				}
-				else {
-					result = node.getText(valueRegion);
-				}
-				result = StringUtils.stripNonLetterDigits(result);
-			}
-		}
-		return result;
-	}
-
-	public String getEncodingName(IDocument document) {
-		String enc = null;
-		if (document instanceof IStructuredDocument) {
-			enc = getEncodingName((IStructuredDocument) document);
-		}
-		else {
-			// TODO Important: need to implement some "raw" parser for
-			// IDocument level
-		}
-		return enc;
-	}
-
-	private String getType(IStructuredDocumentRegion node) {
-		if (node == null)
-			return null;
-		ITextRegionList regions = node.getRegions();
-		if (regions == null || regions.size() == 0)
-			return null;
-		ITextRegion region = regions.get(0);
-		String result = region.getType();
-		return result;
-	}
-
-	private ITextRegion getNextRegionOfType(String type, Iterator regions) {
-		if (type == null)
-			return null;
-		if (regions == null)
-			return null;
-		ITextRegion result = null;
-		while (regions.hasNext()) {
-			ITextRegion region = (ITextRegion) regions.next();
-			if (region.getType() == type) {
-				result = region;
-				break;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * 
-	 */
-
-	public void set(IDocument document) {
-		set(new DocumentReader(document, 0));
-
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/encoding/CSSDocumentLoader.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/encoding/CSSDocumentLoader.java
deleted file mode 100644
index 07d4c21..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/encoding/CSSDocumentLoader.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.encoding;
-
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.common.encoding.ContentTypeEncodingPreferences;
-import org.eclipse.wst.css.core.internal.content.EncodingGuesser;
-import org.eclipse.wst.css.core.internal.parser.CSSSourceParser;
-import org.eclipse.wst.css.core.internal.text.CSSStructuredDocumentReParser;
-import org.eclipse.wst.css.core.internal.text.rules.StructuredTextPartitionerForCSS;
-import org.eclipse.wst.sse.core.contenttype.ContentTypeIdForCSS;
-import org.eclipse.wst.sse.core.document.AbstractDocumentLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-public class CSSDocumentLoader extends AbstractDocumentLoader {
-	private final static String CSS_ID = ContentTypeIdForCSS.ContentTypeID_CSS;
-	private IDocumentCharsetDetector documentEncodingDetector;
-
-
-	public CSSDocumentLoader() {
-		super();
-	}
-
-	protected String getEncodingNameByGuess(byte[] string, int length) {
-		String ianaEnc = null;
-		ianaEnc = EncodingGuesser.guessEncoding(string, length);
-		return ianaEnc;
-	}
-
-	/**
-	 * Default encoding. For CSS there is no spec'd default.
-	 */
-	protected String getSpecDefaultEncoding() {
-		return null;
-	}
-
-	protected IEncodedDocument newEncodedDocument() {
-		// DMW: I copied this from CSSModelImple ...
-		// but am not sure its right
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(getParser());
-		CSSStructuredDocumentReParser reParser = new CSSStructuredDocumentReParser();
-		reParser.setStructuredDocument(structuredDocument);
-		((BasicStructuredDocument) structuredDocument).setReParser(reParser);
-		return structuredDocument;
-	}
-
-	public RegionParser getParser() {
-		// return new CSSRegionParser();
-		return new CSSSourceParser();
-	}
-
-	protected String getPreferredNewLineDelimiter() {
-		return ContentTypeEncodingPreferences.getPreferredNewLineDelimiter(CSS_ID);
-	}
-
-	public IDocumentCharsetDetector getDocumentEncodingDetector() {
-		if (documentEncodingDetector == null) {
-			documentEncodingDetector = new CSSDocumentCharsetDetector();
-		}
-		return documentEncodingDetector;
-	}
-
-	public IDocumentPartitioner getDefaultDocumentPartitioner() {
-		return new StructuredTextPartitionerForCSS();
-	}
-
-	public IDocumentLoader newInstance() {
-		return new CSSDocumentLoader();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSEmbededStyleNotifyAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSEmbededStyleNotifyAdapter.java
deleted file mode 100644
index e48e31e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSEmbededStyleNotifyAdapter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.event;
-
-
-
-import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.event.ICSSStyleListener;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.core.document.XMLNode;
-
-
-public class CSSEmbededStyleNotifyAdapter extends CSSStyleNotifyAdapter {
-
-	/**
-	 * CSSEmbeddedStyleNotifyAdapter constructor comment.
-	 * 
-	 * @param model
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSModel
-	 */
-	public CSSEmbededStyleNotifyAdapter(ICSSModel model) {
-		super(model);
-	}
-
-	/**
-	 * 
-	 */
-	public void styleChanged(ICSSModel srcModel, ICSSSelector[] removed, ICSSSelector[] added, String media) {
-		XMLNode node = (XMLNode) model.getOwnerDOMNode();
-		if (node != null)
-			return;
-		INodeAdapter adapter = node.getAdapterFor(IStyleSheetAdapter.class);
-		if (adapter instanceof ICSSStyleListener) {
-			((ICSSStyleListener) adapter).styleChanged(srcModel, removed, added, media);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void styleUpdate(ICSSModel srcModel) {
-		XMLNode node = (XMLNode) model.getOwnerDOMNode();
-		if (node != null)
-			return;
-		INodeAdapter adapter = node.getAdapterFor(IStyleSheetAdapter.class);
-		if (adapter instanceof ICSSStyleListener) {
-			((ICSSStyleListener) adapter).styleUpdate(srcModel);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSStyleEventDeliverer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSStyleEventDeliverer.java
deleted file mode 100644
index 0675a51..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSStyleEventDeliverer.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.event;
-
-
-
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.event.ICSSStyleListener;
-import org.eclipse.wst.css.core.event.ICSSStyleNotifier;
-
-
-/**
- * 
- */
-public class CSSStyleEventDeliverer {
-
-	private Vector fVisited = new Vector();
-	private ICSSModel fSrcModel;
-	private ICSSSelector[] fRemoved;
-	private ICSSSelector[] fAdded;
-	private String fMedia;
-
-	/**
-	 * 
-	 */
-	public CSSStyleEventDeliverer() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public void fire(ICSSModel srcModel, ICSSSelector[] removed, ICSSSelector[] added, String media) {
-		if (srcModel == null || srcModel.getStyleListeners() == null)
-			return;
-
-		this.fSrcModel = srcModel;
-		this.fRemoved = removed;
-		this.fAdded = added;
-		this.fMedia = media;
-
-		// prohibit delivering to srcModel
-		fVisited.clear();
-		fVisited.add(srcModel);
-		Object[] listeners = srcModel.getStyleListeners().toArray();
-		for (int i = 0; i < listeners.length; i++) {
-			visit((ICSSStyleListener) listeners[i]);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void fireTo(ICSSStyleListener listener, ICSSModel srcModel, ICSSSelector[] removed, ICSSSelector[] added, String media) {
-		this.fSrcModel = srcModel;
-		this.fRemoved = removed;
-		this.fAdded = added;
-		this.fMedia = media;
-
-		// prohibit delivering to srcModel
-		fVisited.clear();
-		// visited.add(srcModel); : because looping problem
-		visit(listener);
-	}
-
-	/**
-	 * 
-	 */
-	public void fireUpdate(ICSSModel srcModel) {
-		if (srcModel == null || srcModel.getStyleListeners() == null)
-			return;
-
-		this.fSrcModel = srcModel;
-
-		// prohibit delivering to srcModel
-		fVisited.clear();
-		fVisited.add(srcModel);
-		Object[] listeners = srcModel.getStyleListeners().toArray();
-		for (int i = 0; i < listeners.length; i++) {
-			visitUpdate((ICSSStyleListener) listeners[i]);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void fireUpdateTo(ICSSStyleListener listener, ICSSModel srcModel) {
-		if (srcModel == null || srcModel.getStyleListeners() == null)
-			return;
-
-		this.fSrcModel = srcModel;
-
-		// prohibit delivering to srcModel
-		fVisited.clear();
-		// visited.add(srcModel);
-		visitUpdate(listener);
-	}
-
-	/**
-	 * 
-	 */
-	protected void visit(ICSSStyleListener listener) {
-		if (listener == null || fVisited.contains(listener))
-			return;
-
-		// fire event to listener
-		listener.styleChanged(fSrcModel, fRemoved, fAdded, fMedia);
-		fVisited.add(listener);
-
-		// traverse notifier
-		if (listener instanceof ICSSStyleNotifier) {
-			ICSSStyleNotifier notifier = (ICSSStyleNotifier) listener;
-			if (notifier.getStyleListeners() != null) {
-				Object[] listeners = notifier.getStyleListeners().toArray();
-				for (int i = 0; i < listeners.length; i++) {
-					visit((ICSSStyleListener) listeners[i]);
-				}
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void visitUpdate(ICSSStyleListener listener) {
-		if (listener == null || fVisited.contains(listener))
-			return;
-
-		// fire event to listener
-		listener.styleUpdate(fSrcModel);
-		fVisited.add(listener);
-
-		// traverse notifier
-		if (listener instanceof ICSSStyleNotifier) {
-			ICSSStyleNotifier notifier = (ICSSStyleNotifier) listener;
-			if (notifier.getStyleListeners() != null) {
-				Object[] listeners = notifier.getStyleListeners().toArray();
-				for (int i = 0; i < listeners.length; i++) {
-					visitUpdate((ICSSStyleListener) listeners[i]);
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSStyleNotifyAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSStyleNotifyAdapter.java
deleted file mode 100644
index b1d03be..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSStyleNotifyAdapter.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.event;
-
-
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.document.ICSSStyleSheet;
-import org.eclipse.wst.css.core.event.ICSSStyleListener;
-import org.eclipse.wst.css.core.event.ICSSStyleNotifier;
-import org.eclipse.wst.css.core.util.ImportedCollector;
-import org.eclipse.wst.css.core.util.SelectorsCollector;
-
-
-/**
- * 
- */
-public class CSSStyleNotifyAdapter implements ICSSStyleNotifier {
-
-	protected java.util.Vector listeners;
-	protected final org.eclipse.wst.css.core.document.ICSSModel model;
-	protected boolean recording = false;
-
-	/**
-	 * 
-	 */
-	public CSSStyleNotifyAdapter(ICSSModel model) {
-		super();
-		this.model = model;
-	}
-
-	/**
-	 * 
-	 */
-	public void addStyleListener(ICSSStyleListener listener) {
-		if (listener == null)
-			return;
-
-		if (listeners == null)
-			listeners = new Vector();
-		if (!listeners.contains(listener)) {
-
-			// send new selectors event to listener
-			ImportedCollector trav = new ImportedCollector();
-			trav.apply(model.getDocument());
-			Iterator it = trav.getExternals().iterator();
-			while (it.hasNext()) {
-				ICSSStyleSheet sheet = (ICSSStyleSheet) it.next();
-				// collect selectors
-				SelectorsCollector selTrav = new SelectorsCollector();
-				selTrav.apply(sheet);
-				int nSel = selTrav.getSelectors().size();
-				ICSSSelector[] added = new ICSSSelector[nSel];
-				for (int i = 0; i < nSel; i++)
-					added[i] = (ICSSSelector) selTrav.getSelectors().get(i);
-
-				// fire event
-				CSSStyleEventDeliverer deliverer = new CSSStyleEventDeliverer();
-				deliverer.fireTo(listener, sheet.getModel(), null, added, null/*
-																				 * media
-																				 * will
-																				 * be
-																				 * implemented
-																				 * in
-																				 * the
-																				 * future
-																				 */);
-			}
-
-			// add listener
-			listeners.add(listener);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void beginRecording() {
-		recording = true;
-	}
-
-	/**
-	 * 
-	 */
-	public void endRecording() {
-		recording = false;
-	}
-
-	/**
-	 * 
-	 */
-	public void fire(ICSSSelector[] removed, ICSSSelector[] added, String media) {
-		// send selector changed event
-		CSSStyleEventDeliverer deliv = new CSSStyleEventDeliverer();
-		deliv.fire(model, removed, added, null);
-
-	}
-
-	/**
-	 * 
-	 */
-	public java.util.List getStyleListeners() {
-		return listeners;
-	}
-
-	/**
-	 */
-	public boolean isRecording() {
-		return recording;
-	}
-
-	/**
-	 * 
-	 */
-	public void removeStyleListener(ICSSStyleListener listener) {
-		if (listener == null)
-			return;
-
-		if (listeners.contains(listener)) {
-			listeners.remove(listener);
-
-			// send old selectors event to listener
-			ImportedCollector trav = new ImportedCollector();
-			trav.apply(model.getDocument());
-			Iterator it = trav.getExternals().iterator();
-			while (it.hasNext()) {
-				ICSSStyleSheet sheet = (ICSSStyleSheet) it.next();
-				// collect selectors
-				SelectorsCollector selTrav = new SelectorsCollector();
-				selTrav.apply(sheet);
-				int nSel = selTrav.getSelectors().size();
-				ICSSSelector[] removed = new ICSSSelector[nSel];
-				for (int i = 0; i < nSel; i++)
-					removed[i] = (ICSSSelector) selTrav.getSelectors().get(i);
-
-				// fire event
-				CSSStyleEventDeliverer deliverer = new CSSStyleEventDeliverer();
-				deliverer.fireTo(listener, sheet.getModel(), removed, null, null/*
-																				 * media
-																				 * will
-																				 * be
-																				 * implemented
-																				 * in
-																				 * the
-																				 * future
-																				 */);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void styleChanged(org.eclipse.wst.css.core.document.ICSSModel srcModel, org.eclipse.wst.css.core.document.ICSSSelector[] removed, org.eclipse.wst.css.core.document.ICSSSelector[] added, java.lang.String media) {
-	}
-
-	/**
-	 * 
-	 */
-	public void styleUpdate(org.eclipse.wst.css.core.document.ICSSModel srcModel) {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AbstractCSSSourceFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AbstractCSSSourceFormatter.java
deleted file mode 100644
index bdb74b0..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AbstractCSSSourceFormatter.java
+++ /dev/null
@@ -1,974 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.text.DefaultLineTracker;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategyImpl;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSStyleSheet;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.CSSLinkConverter;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Assert;
-
-/**
- * 
- */
-public abstract class AbstractCSSSourceFormatter implements CSSSourceGenerator {
-
-	protected final static short GENERATE = 0;
-	protected final static short FORMAT = 1;
-	protected final static short CLEANUP = 2;
-	protected static short strategy;
-
-	/**
-	 * 
-	 */
-	AbstractCSSSourceFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void appendDelimBefore(ICSSNode node, CompoundRegion toAppend, StringBuffer source) {
-		if (node == null || source == null)
-			return;
-		if (isCleanup() && !getCleanupStrategy(node).isFormatSource())
-			return; // for not formatting case on cleanup action
-		String delim = getLineDelimiter(node);
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		boolean needIndent = !(node instanceof ICSSStyleSheet);
-		if (toAppend == null) {
-			source.append(delim);
-			source.append(getIndent(node));
-			if (needIndent)
-				source.append(mgr.getIndentString());
-		}
-		else {
-			String type = toAppend.getType();
-			if (type == CSSRegionContexts.CSS_COMMENT) {
-				RegionIterator it = new RegionIterator(toAppend.getDocumentRegion(), toAppend.getTextRegion());
-				it.prev();
-				ITextRegion prev = it.prev();
-				if (prev == null || (prev.getType() == CSSRegionContexts.CSS_S && TextUtilities.indexOf(DefaultLineTracker.DELIMITERS, it.getStructuredDocumentRegion().getText(prev), 0)[0] >= 0)) {
-					source.append(delim);
-					source.append(getIndent(node));
-					if (needIndent)
-						source.append(mgr.getIndentString());
-				}
-				else {
-					appendSpaceBefore(node, toAppend.getText(), source);
-				}
-			}
-			else if (type == CSSRegionContexts.CSS_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-				RegionIterator it = new RegionIterator(toAppend.getDocumentRegion(), toAppend.getTextRegion());
-				it.prev();
-				ITextRegion prev = it.prev();
-				if (prev.getType() == CSSRegionContexts.CSS_S && TextUtilities.indexOf(DefaultLineTracker.DELIMITERS, it.getStructuredDocumentRegion().getText(prev), 0)[0] >= 0) {
-					source.append(delim);
-					source.append(getIndent(node));
-					if (needIndent)
-						source.append(mgr.getIndentString());
-				}
-				else if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
-					int length = getLastLineLength(node, source);
-					int append = 1;
-					if (length + append > mgr.getMaxLineWidth()) {
-						source.append(getLineDelimiter(node));
-						source.append(getIndent(node));
-						if (needIndent)
-							source.append(mgr.getIndentString());
-					}
-				}
-			}
-			else if (type == CSSRegionContexts.CSS_RBRACE || type == CSSRegionContexts.CSS_LBRACE) {
-				source.append(delim);
-				source.append(getIndent(node));
-			}
-			else {
-				source.append(delim);
-				source.append(getIndent(node));
-				if (needIndent)
-					source.append(mgr.getIndentString());
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void appendSpaceBefore(ICSSNode node, CompoundRegion toAppend, StringBuffer source) {
-		if (node == null || toAppend == null || source == null)
-			return;
-		if (isCleanup() && !getCleanupStrategy(node).isFormatSource())
-			return; // for not formatting case on cleanup action
-		String type = toAppend.getType();
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		boolean needIndent = !(node instanceof ICSSStyleSheet);
-		if (type == CSSRegionContexts.CSS_COMMENT) {
-			// check whether previous region is 'S' and has CR-LF
-			String delim = getLineDelimiter(node);
-			RegionIterator it = new RegionIterator(toAppend.getDocumentRegion(), toAppend.getTextRegion());
-			it.prev();
-			ITextRegion prev = it.prev();
-			if (prev.getType() == CSSRegionContexts.CSS_S && TextUtilities.indexOf(DefaultLineTracker.DELIMITERS, it.getStructuredDocumentRegion().getText(prev), 0)[0] >= 0) {
-				source.append(delim);
-				source.append(getIndent(node));
-				if (needIndent)
-					source.append(mgr.getIndentString());
-			}
-			else {
-				appendSpaceBefore(node, toAppend.getText(), source);
-			}
-		}
-		else if (type == CSSRegionContexts.CSS_LBRACE && mgr.isNewLineOnOpenBrace()) {
-			String delim = getLineDelimiter(node);
-			source.append(delim);
-			source.append(getIndent(node));
-			// } else if (type == CSSRegionContexts.CSS_CURLY_BRACE_CLOSE) {
-			// } else if (type == CSSRegionContexts.CSS_INCLUDES || type ==
-			// CSSRegionContexts.CSS_DASHMATCH) {
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_SEPARATOR && node instanceof ICSSStyleDeclItem) {
-			int n = mgr.getSpacesPreDelimiter();
-			if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
-				int length = getLastLineLength(node, source);
-				int append = 1;
-				if (length + n + append > mgr.getMaxLineWidth()) {
-					source.append(getLineDelimiter(node));
-					source.append(getIndent(node));
-					if (needIndent)
-						source.append(mgr.getIndentString());
-					n = 0; // no space is necessary
-				}
-			}
-			// no delimiter case
-			while (n-- > 0)
-				source.append(" ");//$NON-NLS-1$
-		}
-		else if (type == CSSRegionContexts.CSS_DECLARATION_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR || type == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE) {
-			if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
-				int length = getLastLineLength(node, source);
-				int append = 1;
-				if (length + append > mgr.getMaxLineWidth()) {
-					source.append(getLineDelimiter(node));
-					source.append(getIndent(node));
-					if (needIndent)
-						source.append(mgr.getIndentString());
-				}
-			}
-		}
-		else
-			appendSpaceBefore(node, toAppend.getText(), source);
-	}
-
-	/**
-	 * 
-	 */
-	protected void appendSpaceBefore(ICSSNode node, String toAppend, StringBuffer source) {
-		if (node == null || source == null)
-			return;
-		if (isCleanup() && !getCleanupStrategy(node).isFormatSource())
-			return; // for not formatting case on cleanup action
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		if (toAppend != null && toAppend.startsWith("{") && mgr.isNewLineOnOpenBrace()) {//$NON-NLS-1$
-			source.append(getLineDelimiter(node));
-			source.append(getIndent(node));
-			return;
-		}
-		else if (/* ! mgr.isOnePropertyPerLine() && */mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
-			int n = getLastLineLength(node, source);
-			int append = (toAppend != null) ? TextUtilities.indexOf(DefaultLineTracker.DELIMITERS, toAppend, 0)[0] : 0;
-			if (toAppend != null)
-				append = (append < 0) ? toAppend.length() : append;
-			if (n + append + 1 > mgr.getMaxLineWidth()) {
-				source.append(getLineDelimiter(node));
-				source.append(getIndent(node));
-				source.append(mgr.getIndentString());
-				return;
-			}
-		}
-		source.append(" ");//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	public final StringBuffer cleanup(ICSSNode node) {
-		short oldStrategy = strategy;
-		strategy = CLEANUP;
-		StringBuffer source = formatProc(node);
-		strategy = oldStrategy;
-
-		return source;
-	}
-
-	/**
-	 * 
-	 */
-	public final StringBuffer cleanup(ICSSNode node, IRegion region) {
-		short oldStrategy = strategy;
-		strategy = CLEANUP;
-		StringBuffer source = formatProc(node, region);
-		strategy = oldStrategy;
-
-		return source;
-	}
-
-	/**
-	 * 
-	 */
-	protected String decoratedIdentRegion(CompoundRegion region, CSSCleanupStrategy stgy) {
-		if (isFormat())
-			return region.getText();
-
-		String text = region.getText();
-		if (region.getType() == CSSRegionContexts.CSS_STRING || region.getType() == CSSRegionContexts.CSS_URI)
-			return decoratedRegion(region, 0, stgy);
-
-		if (isCleanup()) {
-			if (stgy.getIdentCase() == CSSCleanupStrategy.ASIS || region.getType() == CSSRegionContexts.CSS_COMMENT)
-				return text;
-			else if (stgy.getIdentCase() == CSSCleanupStrategy.UPPER)
-				return text.toUpperCase();
-			else
-				return text.toLowerCase();
-		}
-		else {
-			CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-
-			if (mgr.isPreserveCase() || region.getType() == CSSRegionContexts.CSS_COMMENT)
-				return text;
-			else if (mgr.isIdentUpperCase())
-				return text.toUpperCase();
-			else
-				return text.toLowerCase();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected String decoratedPropNameRegion(CompoundRegion region, CSSCleanupStrategy stgy) {
-		if (isFormat())
-			return region.getText();
-
-		String text = region.getText();
-		if (region.getType() == CSSRegionContexts.CSS_STRING || region.getType() == CSSRegionContexts.CSS_URI)
-			return decoratedRegion(region, 1, stgy);
-		if (isCleanup()) {
-			if (stgy.getPropNameCase() == CSSCleanupStrategy.ASIS || region.getType() != CSSRegionContexts.CSS_DECLARATION_PROPERTY)
-				return text;
-			else if (stgy.getPropNameCase() == CSSCleanupStrategy.UPPER)
-				return text.toUpperCase();
-			else
-				return text.toLowerCase();
-		}
-		else {
-			CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-
-			if (mgr.isPreserveCase() || region.getType() != CSSRegionContexts.CSS_DECLARATION_PROPERTY)
-				return text;
-			else if (mgr.isPropNameUpperCase())
-				return text.toUpperCase();
-			else
-				return text.toLowerCase();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected String decoratedPropValueRegion(CompoundRegion region, CSSCleanupStrategy stgy) {
-		if (isFormat())
-			return region.getText();
-
-		String text = region.getText();
-		String type = region.getType();
-		if (type == CSSRegionContexts.CSS_STRING || type == CSSRegionContexts.CSS_URI)
-			return decoratedRegion(region, 2, stgy);
-		if (isCleanup()) {
-			if (stgy.getPropValueCase() != CSSCleanupStrategy.ASIS) {
-				if (type == CSSRegionContexts.CSS_COMMENT) {
-				}
-				else {
-					if (stgy.getPropValueCase() == CSSCleanupStrategy.UPPER)
-						text = text.toUpperCase();
-					else
-						text = text.toLowerCase();
-				}
-			}
-		}
-		else {
-			CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-
-			if (!mgr.isPreserveCase()) {
-				if (type == CSSRegionContexts.CSS_COMMENT) {
-				}
-				else {
-					if (mgr.isPropValueUpperCase())
-						text = text.toUpperCase();
-					else
-						text = text.toLowerCase();
-				}
-			}
-		}
-		return text;
-	}
-
-	/**
-	 * 
-	 */
-	protected String decoratedRegion(CompoundRegion region, int type, CSSCleanupStrategy stgy) {
-		if (isFormat())
-			return region.getText();
-
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		String text = region.getText();
-		if (region.getType() == CSSRegionContexts.CSS_URI) {
-			String uri = CSSLinkConverter.stripFunc(text);
-			boolean upper = (type == 0) ? mgr.isIdentUpperCase() : ((type == 1) ? mgr.isPropNameUpperCase() : mgr.isPropValueUpperCase());
-			String func = mgr.isPreserveCase() ? text.substring(0, 4) : (upper ? "URL(" : "url(");//$NON-NLS-2$//$NON-NLS-1$
-			if (isCleanup()) {
-				upper = ((type == 0) ? stgy.getIdentCase() : ((type == 1) ? stgy.getPropNameCase() : stgy.getPropValueCase())) == CSSCleanupStrategy.UPPER;
-				func = ((type == 0) ? stgy.getIdentCase() : ((type == 1) ? stgy.getPropNameCase() : stgy.getPropValueCase())) == CSSCleanupStrategy.ASIS ? text.substring(0, 4) : (upper ? "URL(" : "url(");//$NON-NLS-2$//$NON-NLS-1$
-			}
-			if ((!isCleanup() && mgr.isQuoteInURI()) || (isCleanup() && stgy.isQuoteValues())) {
-				String quote = mgr.getQuoteString(null /* reserved parameter */);
-				quote = CSSUtil.detectQuote(uri, quote);
-				text = func + quote + uri + quote + ")";//$NON-NLS-1$
-			}
-			else if (isCleanup() && !stgy.isQuoteValues()) {
-				text = func + CSSLinkConverter.removeFunc(text) + ")";//$NON-NLS-1$
-			}
-			else {
-				text = func + uri + ")";//$NON-NLS-1$
-			}
-		}
-		else if (region.getType() == CSSRegionContexts.CSS_STRING && (!isCleanup() || stgy.isQuoteValues())) {
-			String quote = mgr.getQuoteString(null /* reserved parameter */);
-			// begginning
-			if (!text.startsWith(quote)) {
-				if (text.startsWith("\"") || text.startsWith("\'")) //$NON-NLS-1$ //$NON-NLS-2$
-					text = quote + text.substring(1);
-				else
-					text = quote + text;
-			}
-			// ending
-			if (!text.endsWith(quote)) {
-				if (text.endsWith("\"") || text.endsWith("\'")) //$NON-NLS-1$ //$NON-NLS-2$
-					text = text.substring(0, text.length() - 1) + quote;
-				else
-					text = text + quote;
-			}
-		}
-		return text;
-	}
-
-	/**
-	 * 
-	 */
-	public final StringBuffer format(ICSSNode node) {
-		short oldStrategy = strategy;
-		strategy = FORMAT;
-		StringBuffer source = formatProc(node);
-		strategy = oldStrategy;
-
-		return source;
-	}
-
-	/**
-	 * 
-	 */
-	public final StringBuffer format(ICSSNode node, IRegion region) {
-		short oldStrategy = strategy;
-		strategy = FORMAT;
-		StringBuffer source = formatProc(node, region);
-		strategy = oldStrategy;
-
-		return source;
-	}
-
-	/**
-	 * 
-	 */
-	public StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext context) {
-		return new StringBuffer(insert && (attr != null) ? attr.getValue() : "");//$NON-NLS-1$
-	}
-
-	/**
-	 * Generate or format source between children('child' and its previous
-	 * sibling) and append to string buffer
-	 */
-	abstract protected void formatBefore(ICSSNode node, ICSSNode child, String toAppend, StringBuffer source, IRegion exceptFor);
-
-	/**
-	 * Generate or format source between children('child' and its previous
-	 * sibling) and append to string buffer
-	 */
-	public final StringBuffer formatBefore(ICSSNode node, ICSSNode child, IRegion exceptFor) {
-		Assert.isTrue(child == null || child.getParentNode() == node);
-		StringBuffer buf = new StringBuffer();
-		formatBefore(node, child, /* (child != null) ? (child.getCssText()) : */"", buf, exceptFor);//$NON-NLS-1$
-		return buf;
-	}
-
-	/**
-	 * Generate or format source between children('child' and its previous
-	 * sibling) and append to string buffer
-	 */
-	protected abstract void formatBefore(ICSSNode node, ICSSNode child, IRegion region, String toAppend, StringBuffer source);
-
-	/**
-	 * 
-	 */
-	protected final void formatChildren(ICSSNode node, StringBuffer source) {
-		ICSSNode child = node.getFirstChild();
-		boolean first = true;
-		while (child != null) {
-			// append child
-			CSSSourceFormatter formatter = (CSSSourceFormatter) ((INodeNotifier) child).getAdapterFor(CSSSourceFormatter.class);
-			if (formatter == null) {
-				formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter((INodeNotifier) child);
-			}
-			StringBuffer childSource = ((AbstractCSSSourceFormatter) formatter).formatProc(child);
-			if (!first) {
-				formatBefore(node, child, new String(childSource), source, null);
-			}
-			source.append(childSource);
-			// append between children
-			child = child.getNextSibling();
-			first = false;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected final void formatChildren(ICSSNode node, IRegion region, StringBuffer source) {
-		ICSSNode child = node.getFirstChild();
-		int start = region.getOffset();
-		int end = region.getOffset() + region.getLength();
-		boolean first = true;
-		while (child != null) {
-			int curEnd = ((IndexedRegion) child).getEndOffset();
-			StringBuffer childSource = null;
-			boolean toFinish = false;
-			if (start < curEnd) {
-				int curStart = ((IndexedRegion) child).getStartOffset();
-				if (curStart < end) {
-					// append child
-					CSSSourceFormatter formatter = (CSSSourceFormatter) ((INodeNotifier) child).getAdapterFor(CSSSourceFormatter.class);
-					if (formatter == null) {
-						formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter((INodeNotifier) child);
-					}
-					if (includes(region, curStart, curEnd))
-						childSource = ((AbstractCSSSourceFormatter) formatter).formatProc(child);
-					else
-						childSource = ((AbstractCSSSourceFormatter) formatter).formatProc(child, overlappedRegion(region, curStart, curEnd));
-				}
-				else
-					toFinish = true;
-			}
-			// append between children
-			if (!first) {
-				curEnd = ((IndexedRegion) child).getStartOffset(); // change
-																	// only
-																	// start
-				if (start < curEnd) {
-					int curStart = ((IndexedRegion) child.getPreviousSibling()).getEndOffset();
-					if (curStart < end) {
-						String toAppend = (childSource != null) ? new String(childSource) : "";//$NON-NLS-1$
-						if (includes(region, curStart, curEnd))
-							formatBefore(node, child, toAppend, source, null);
-						else
-							formatBefore(node, child, overlappedRegion(region, curStart, curEnd), toAppend, source);
-					}
-				}
-			}
-			if (childSource != null) {
-				source.append(childSource);
-			}
-			first = false;
-			if (toFinish)
-				break;
-			child = child.getNextSibling();
-		}
-	}
-
-	/**
-	 * Generate or format source after the last child and append to string
-	 * buffer
-	 */
-	protected abstract void formatPost(ICSSNode node, StringBuffer source);
-
-	/**
-	 * Generate or format source after the last child and append to string
-	 * buffer
-	 */
-	protected abstract void formatPost(ICSSNode node, IRegion region, StringBuffer source);
-
-	/**
-	 * Generate or format source before the first child and append to string
-	 * buffer
-	 */
-	protected abstract void formatPre(ICSSNode node, StringBuffer source);
-
-	/**
-	 * Generate or format source before the first child and append to string
-	 * buffer
-	 */
-	abstract protected void formatPre(ICSSNode node, IRegion region, StringBuffer source);
-
-	/**
-	 * 
-	 * @return java.lang.StringBuffer
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 */
-	protected final StringBuffer formatProc(ICSSNode node) {
-		StringBuffer source = new StringBuffer();
-		formatPre(node, source);
-		formatChildren(node, source);
-		formatPost(node, source);
-		return source;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.StringBuffer
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param region
-	 *            org.eclipse.jface.text.IRegion
-	 */
-	protected final StringBuffer formatProc(ICSSNode node, IRegion region) {
-		StringBuffer source = new StringBuffer();
-		int curStart = ((IndexedRegion) node).getStartOffset();
-		int curEnd = ((IndexedRegion) node).getEndOffset();
-		if (node.getChildNodes().getLength() > 0) {
-			curEnd = ((IndexedRegion) node.getFirstChild()).getStartOffset();
-			if (overlaps(region, curStart, curEnd)) {
-				if (includes(region, curStart, curEnd))
-					formatPre(node, source);
-				else
-					formatPre(node, overlappedRegion(region, curStart, curEnd), source);
-			}
-			curStart = curEnd;
-			curEnd = ((IndexedRegion) node.getLastChild()).getEndOffset();
-			if (overlaps(region, curStart, curEnd)) {
-				if (includes(region, curStart, curEnd))
-					formatChildren(node, source);
-				else
-					formatChildren(node, overlappedRegion(region, curStart, curEnd), source);
-			}
-			curStart = curEnd;
-			curEnd = ((IndexedRegion) node).getEndOffset();
-			if (overlaps(region, curStart, curEnd)) {
-				if (includes(region, curStart, curEnd))
-					formatPost(node, source);
-				else
-					formatPost(node, overlappedRegion(region, curStart, curEnd), source);
-			}
-		}
-		else {
-			curEnd = getChildInsertPos(node);
-			if (overlaps(region, curStart, curEnd)) {
-				if (includes(region, curStart, curEnd))
-					formatPre(node, source);
-				else
-					formatPre(node, overlappedRegion(region, curStart, curEnd), source);
-			}
-			curStart = curEnd;
-			curEnd = ((IndexedRegion) node).getEndOffset();
-			if (overlaps(region, curStart, curEnd)) {
-				if (includes(region, curStart, curEnd))
-					formatPost(node, source);
-				else
-					formatPost(node, overlappedRegion(region, curStart, curEnd), source);
-			}
-		}
-		return source;
-	}
-
-	/**
-	 * 
-	 */
-	public int getAttrInsertPos(ICSSNode node, String attrName) {
-		return -1;
-	}
-
-	/**
-	 * Insert the method's description here.
-	 * 
-	 * @return org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 */
-	protected CSSCleanupStrategy getCleanupStrategy(ICSSNode node) {
-		CSSCleanupStrategy strategy = CSSCleanupStrategyImpl.getInstance();
-		ICSSDocument doc = node.getOwnerDocument();
-		if (doc == null)
-			return strategy;
-		ICSSModel model = doc.getModel();
-		if (model == null)
-			return strategy;
-		if (model.getStyleSheetType() != ICSSModel.EXTERNAL) {
-			// TODO - TRANSITION Nakamori-san, or Kit, how can we move to
-			// "HTML" plugin?
-			// can we subclass?
-			// strategy = CSSInHTMLCleanupStrategyImpl.getInstance();
-		}
-		return strategy;
-	}
-
-	/**
-	 * 
-	 */
-	protected String getIndent(ICSSNode node) {
-		if (node == null)
-			return "";//$NON-NLS-1$
-		ICSSNode parent = node.getParentNode();
-		if (node instanceof ICSSAttr)
-			parent = ((ICSSAttr) node).getOwnerCSSNode();
-		if (parent == null)
-			return "";//$NON-NLS-1$
-		if (node instanceof org.w3c.dom.css.CSSStyleDeclaration)
-			parent = parent.getParentNode();
-		if (parent == null)
-			return "";//$NON-NLS-1$
-
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		String parentIndent = getIndent(parent);
-		if (parent instanceof org.w3c.dom.css.CSSRule)
-			return parentIndent + mgr.getIndentString();
-		if (node.getParentNode() instanceof ICSSStyleDeclaration)
-			return parentIndent + mgr.getIndentString();
-		return parentIndent;
-	}
-
-	/**
-	 * 
-	 */
-	protected int getLastLineLength(ICSSNode node, StringBuffer source) {
-		if (node == null || source == null)
-			return 0;
-		String delim = getLineDelimiter(node);
-		String str = new String(source);
-		int n = str.lastIndexOf(delim);
-		if (n < 0)
-			return str.length();
-		else
-			return str.length() - n - delim.length();
-	}
-
-	/**
-	 * 
-	 * @return int
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param insertPos
-	 *            int
-	 */
-	public int getLengthToReformatAfter(ICSSNode node, int insertPos) {
-		if (node == null)
-			return 0;
-		IndexedRegion nnode = (IndexedRegion) node;
-		if (insertPos < 0 || !nnode.contains(insertPos))
-			return 0;
-
-		IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(insertPos);
-		if (flatNode == null)
-			return 0;
-		ITextRegion region = flatNode.getRegionAtCharacterOffset(insertPos);
-		if (region == null)
-			return 0;
-		RegionIterator it = new RegionIterator(flatNode, region);
-		boolean found = false;
-		while (it.hasNext()) {
-			region = it.next();
-			// if (region.getType() != CSSRegionContexts.CSS_S &&
-			// region.getType() != CSSRegionContexts.CSS_DELIMITER &&
-			// region.getType() !=
-			// CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-			if (region.getType() != CSSRegionContexts.CSS_S) {
-				found = true;
-				break;
-			}
-		}
-		int pos = (found ? it.getStructuredDocumentRegion().getStartOffset(region) : it.getStructuredDocumentRegion().getTextEndOffset(region)) - insertPos;
-		return (pos >= 0) ? pos : 0;
-	}
-
-	/**
-	 * 
-	 * @return int
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param insertPos
-	 *            int
-	 */
-	public int getLengthToReformatBefore(ICSSNode node, int insertPos) {
-		if (node == null)
-			return 0;
-		IndexedRegion nnode = (IndexedRegion) node;
-		if (insertPos <= 0 || !nnode.contains(insertPos - 1))
-			return 0;
-
-		IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(insertPos - 1);
-		if (flatNode == null)
-			return 0;
-		ITextRegion region = flatNode.getRegionAtCharacterOffset(insertPos - 1);
-		if (region == null)
-			return 0;
-		RegionIterator it = new RegionIterator(flatNode, region);
-		boolean found = false;
-		while (it.hasPrev()) {
-			region = it.prev();
-			// if (region.getType() != CSSRegionContexts.CSS_S &&
-			// region.getType() != CSSRegionContexts.CSS_DELIMITER &&
-			// region.getType() !=
-			// CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-			if (region.getType() != CSSRegionContexts.CSS_S) {
-				found = true;
-				break;
-			}
-		}
-		int pos = insertPos - (found ? it.getStructuredDocumentRegion().getTextEndOffset(region) : it.getStructuredDocumentRegion().getStartOffset(region));
-		// flatNode = it.getStructuredDocumentRegion();
-		// if (found) {
-		// if (region.getLength() != region.getTextLength()) {
-		// pos = insertPos - flatNode.getTextEndOffset(region);
-		// } else {
-		// pos = insertPos - flatNode.getEndOffset(region);
-		// }
-		// } else {
-		// pos = insertPos - flatNode.getStartOffset(region);
-		// }
-		return (pos >= 0) ? pos : 0;
-	}
-
-	/**
-	 * 
-	 */
-	String getLineDelimiter(ICSSNode node) {
-		ICSSModel model = (node != null) ? node.getOwnerDocument().getModel() : null;
-		return (model != null) ? model.getStructuredDocument().getLineDelimiter() : "\n" /*
-																							 * default
-																							 * delimiter
-																							 */;//$NON-NLS-1$
-
-		// TODO : check whether to use model.getLineDelimiter() or
-		// model.getStructuredDocument().getLineDelimiter()
-	}
-
-	/**
-	 * 
-	 */
-	protected CompoundRegion[] getOutsideRegions(IStructuredDocument model, IRegion reg) {
-		CompoundRegion[] ret = new CompoundRegion[2];
-		RegionIterator it = new RegionIterator(model, reg.getOffset());
-		it.prev();
-		if (it.hasPrev()) {
-			ITextRegion textRegion = it.prev();
-			IStructuredDocumentRegion documentRegion = it.getStructuredDocumentRegion();
-			ret[0] = new CompoundRegion(documentRegion, textRegion);
-		}
-		else {
-			ret[0] = null;
-		}
-		it.reset(model, reg.getOffset() + reg.getLength());
-		if (it.hasNext()) {
-			ITextRegion textRegion = it.next();
-			IStructuredDocumentRegion documentRegion = it.getStructuredDocumentRegion();
-			ret[1] = new CompoundRegion(documentRegion, textRegion);
-		}
-		else {
-			ret[1] = null;
-		}
-		return ret;
-	}
-
-	/**
-	 */
-	protected CSSSourceGenerator getParentFormatter(ICSSNode node) {
-		ICSSNode parent = node.getParentNode();
-		if (parent != null) {
-			CSSSourceGenerator formatter = (CSSSourceGenerator) ((INodeNotifier) parent).getAdapterFor(CSSSourceFormatter.class);
-			if (formatter == null) {
-				formatter = CSSSourceFormatterFactory.getInstance().getSourceFormatter((INodeNotifier) parent);
-			}
-			return formatter;
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	protected CompoundRegion[] getRegions(IStructuredDocument model, IRegion reg, IRegion exceptFor, String pickupType) {
-		int start = reg.getOffset();
-		int end = reg.getOffset() + reg.getLength();
-		int startE = (exceptFor != null) ? exceptFor.getOffset() : -1;
-		int endE = (exceptFor != null) ? exceptFor.getOffset() + exceptFor.getLength() : 0;
-
-		ArrayList list = new ArrayList();
-		IStructuredDocumentRegion flatNode = model.getRegionAtCharacterOffset(start);
-		boolean pickuped = false;
-		while (flatNode != null && flatNode.getStartOffset() < end) {
-			ITextRegionList regionList = flatNode.getRegions();
-			Iterator it = regionList.iterator();
-			while (it.hasNext()) {
-				ITextRegion region = (ITextRegion) it.next();
-				if (flatNode.getStartOffset(region) < start)
-					continue;
-				if (end <= flatNode.getStartOffset(region))
-					break;
-				if (startE >= 0 && startE <= flatNode.getStartOffset(region) && flatNode.getEndOffset(region) <= endE)
-					continue;
-				if (region.getType() == CSSRegionContexts.CSS_COMMENT || region.getType() == CSSRegionContexts.CSS_CDC || region.getType() == CSSRegionContexts.CSS_CDO)
-					list.add(new CompoundRegion(flatNode, region));
-				else if (!pickuped && region.getType() == pickupType) {
-					list.add(new CompoundRegion(flatNode, region));
-					pickuped = true;
-				}
-			}
-			flatNode = flatNode.getNext();
-		}
-		if (list.size() > 0) {
-			CompoundRegion[] regions = new CompoundRegion[list.size()];
-			list.toArray(regions);
-			return regions;
-		}
-		else
-			return new CompoundRegion[0];
-	}
-
-	/**
-	 * 
-	 */
-	protected CompoundRegion[] getRegionsWithoutWhiteSpaces(IStructuredDocument model, IRegion reg, CSSCleanupStrategy stgy) {
-		int start = reg.getOffset();
-		int end = reg.getOffset() + reg.getLength() - 1;
-		ArrayList list = new ArrayList();
-		IStructuredDocumentRegion flatNode = model.getRegionAtCharacterOffset(start);
-		while (flatNode != null && flatNode.getStartOffset() <= end) {
-			ITextRegionList regionList = flatNode.getRegions();
-			Iterator it = regionList.iterator();
-			while (it.hasNext()) {
-				ITextRegion region = (ITextRegion) it.next();
-				if (flatNode.getStartOffset(region) < start)
-					continue;
-				if (end < flatNode.getStartOffset(region))
-					break;
-				if (region.getType() != CSSRegionContexts.CSS_S || (isCleanup() && !stgy.isFormatSource())) // for
-																											// not
-																											// formatting
-																											// case
-																											// on
-																											// cleanup
-																											// action
-					list.add(new CompoundRegion(flatNode, region));
-			}
-			flatNode = flatNode.getNext();
-		}
-		if (list.size() > 0) {
-			CompoundRegion[] regions = new CompoundRegion[list.size()];
-			list.toArray(regions);
-			return regions;
-		}
-		else
-			return new CompoundRegion[0];
-	}
-
-	/**
-	 * 
-	 */
-	public static boolean includes(IRegion region, int start, int end) {
-		if (region == null)
-			return false;
-		else
-			return (region.getOffset() <= start) && (end <= region.getOffset() + region.getLength());
-	}
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	protected static boolean isCleanup() {
-		return strategy == CLEANUP;
-	}
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	protected static boolean isFormat() {
-		return strategy == FORMAT;
-	}
-
-	/**
-	 * 
-	 */
-	protected boolean isIncludesPreEnd(ICSSNode node, IRegion region) {
-		return (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getStartOffset() == (region.getOffset() + region.getLength()));
-	}
-
-	/**
-	 * 
-	 */
-	static protected boolean needS(CompoundRegion region) {
-		return (region != null && region.getType() != CSSRegionContexts.CSS_S);
-	}
-
-	/**
-	 * 
-	 */
-	public static IRegion overlappedRegion(IRegion region, int start, int end) {
-		if (overlaps(region, start, end)) {
-			int offset = (region.getOffset() <= start) ? start : region.getOffset();
-			int length = ((end <= region.getOffset() + region.getLength()) ? end : region.getOffset() + region.getLength()) - offset;
-			return new FormatRegion(offset, length);
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	public static boolean overlaps(IRegion region, int start, int end) {
-		if (region == null)
-			return false;
-		else
-			return (start < region.getOffset() + region.getLength()) && (region.getOffset() < end);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrChangeContext.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrChangeContext.java
deleted file mode 100644
index 924a73e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrChangeContext.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-/**
- * 
- */
-public class AttrChangeContext {
-
-	public int start, end;
-
-	/**
-	 * 
-	 */
-	public AttrChangeContext() {
-		super();
-		start = end = 0;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrFormatter.java
deleted file mode 100644
index b3eab44..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/AttrFormatter.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSCharsetRule;
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPageRule;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-/**
- * 
- */
-public class AttrFormatter extends DefaultCSSSourceFormatter {
-
-	private static AttrFormatter instance;
-
-	/**
-	 * 
-	 */
-	AttrFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		ICSSAttr attr = (ICSSAttr) node;
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int end = ((IndexedRegion) node).getEndOffset();
-		if (end > 0) { // format source
-			int start = ((IndexedRegion) node).getStartOffset();
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-
-			if (attr.getName().equals(ICSSStyleRule.SELECTOR) || attr.getName().equals(ICSSPageRule.SELECTOR)) {
-				for (int i = 0; i < regions.length; i++) {
-					if (i != 0)
-						appendSpaceBetween(node, regions[i - 1], regions[i], source);
-					source.append(decoratedRegion(regions[i], 0, stgy));
-				}
-			}
-			else if (attr.getName().equals(ICSSImportRule.HREF)) {
-				for (int i = 0; i < regions.length; i++) {
-					if (i != 0)
-						appendSpaceBefore(node, regions[i], source);
-					source.append(decoratedPropValueRegion(regions[i], stgy));
-				}
-			}
-			else if (attr.getName().equals(ICSSCharsetRule.ENCODING)) {
-				for (int i = 0; i < regions.length; i++) {
-					if (i != 0)
-						appendSpaceBefore(node, regions[i], source);
-					source.append(decoratedIdentRegion(regions[i], stgy));
-				}
-			}
-			else if (attr.getName().equals(ICSSStyleDeclItem.IMPORTANT)) {
-				for (int i = 0; i < regions.length; i++) {
-					if (i != 0)
-						appendSpaceBefore(node, regions[i], source);
-					source.append(decoratedPropValueRegion(regions[i], stgy));
-				}
-			}
-			else if (attr.getName() == null || attr.getName().length() == 0) {
-				for (int i = 0; i < regions.length; i++) {
-					if (i != 0)
-						appendSpaceBefore(node, regions[i], source);
-					source.append(decoratedIdentRegion(regions[i], stgy));
-				}
-			}
-			else {
-				// counter attributes
-				for (int i = 0; i < regions.length; i++) {
-					if (i != 0)
-						appendSpaceBefore(node, regions[i], source);
-					source.append(decoratedPropValueRegion(regions[i], stgy));
-				}
-			}
-		}
-		else { // generate source
-			CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-			String value = attr.getValue();
-			if (value == null)
-				value = "";//$NON-NLS-1$
-			if (attr.getName().equals(ICSSStyleRule.SELECTOR) || attr.getName().equals(ICSSPageRule.SELECTOR)) {
-			}
-			else if (attr.getName().equals(ICSSImportRule.HREF)) {
-				String uri = org.eclipse.wst.css.core.util.CSSLinkConverter.stripFunc(value);
-				String func = mgr.isPropValueUpperCase() ? "URL(" : "url(";//$NON-NLS-2$//$NON-NLS-1$
-				if (mgr.isQuoteInURI()) {
-					String quote = mgr.getQuoteString(attr.getOwnerDocument().getModel());
-					quote = CSSUtil.detectQuote(uri, quote);
-					value = func + quote + uri + quote + ")";//$NON-NLS-1$
-				}
-				else {
-					value = func + uri + ")";//$NON-NLS-1$
-				}
-			}
-			else if (attr.getName().equals(ICSSCharsetRule.ENCODING)) {
-				String quote = mgr.getQuoteString(attr.getOwnerDocument().getModel());
-				if (!value.startsWith("\"") && !value.startsWith("\'"))//$NON-NLS-2$//$NON-NLS-1$
-					value = quote + value;
-				if (!value.endsWith("\"") && !value.endsWith("\'"))//$NON-NLS-2$//$NON-NLS-1$
-					value = value + quote;
-			}
-			else if (attr.getName().equals(ICSSStyleDeclItem.IMPORTANT)) {
-				if (mgr.isPropValueUpperCase())
-					value = value.toUpperCase();
-				else
-					value = value.toLowerCase();
-			}
-			else if (attr.getName() == null || attr.getName().length() == 0) {
-				if (mgr.isIdentUpperCase())
-					value = value.toUpperCase();
-				else
-					value = value.toLowerCase();
-			}
-			else {
-				if (mgr.isPropValueUpperCase())
-					value = value.toUpperCase();
-				else
-					value = value.toLowerCase();
-			}
-			source.append(value);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		formatPre(node, source);
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static AttrFormatter getInstance() {
-		if (instance == null) {
-			instance = new AttrFormatter();
-		}
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSFormatUtil.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSFormatUtil.java
deleted file mode 100644
index 1dbdc01..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSFormatUtil.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.css.core.adapters.ICSSModelAdapter;
-import org.eclipse.wst.css.core.adapters.IStyleDeclarationAdapter;
-import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-
-public class CSSFormatUtil {
-	public List collectCSSNodes(IStructuredModel model, int start, int length) {
-		List nodes = new ArrayList();
-
-		IndexedRegion startNode = model.getIndexedRegion(start);
-		IndexedRegion endNode = model.getIndexedRegion(start + length - 1);
-
-		if (startNode == null || endNode == null) {
-			return nodes;
-		}
-
-		if (model instanceof ICSSModel && startNode instanceof ICSSNode && endNode instanceof ICSSNode) {
-			// CSS model
-			ICSSNode ca = getCommonAncestor((ICSSNode) startNode, (ICSSNode) endNode);
-			if (ca != null) {
-				for (ICSSNode node = ca.getFirstChild(); node != null && start + length < ((IndexedRegion) node).getStartOffset(); node = node.getNextSibling()) {
-					if (start < ((IndexedRegion) node).getEndOffset()) {
-						nodes.add(node);
-					}
-				}
-			}
-		}
-		else if (model instanceof XMLModel && startNode instanceof XMLNode && endNode instanceof XMLNode) {
-			if (startNode instanceof Text) {
-				startNode = (IndexedRegion) ((Text) startNode).getParentNode();
-			}
-			if (endNode instanceof Text) {
-				endNode = (IndexedRegion) ((Text) endNode).getParentNode();
-			}
-			// HTML model, maybe
-			XMLNode ca = (XMLNode) getCommonAncestor((Node) startNode, (Node) endNode);
-			findCSS(nodes, ca);
-		}
-
-		return nodes;
-	}
-
-	/**
-	 * getCommonAncestor method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	private Node getCommonAncestor(Node node1, Node node2) {
-		if (node1 == null || node2 == null)
-			return null;
-
-		for (Node na = node2; na != null; na = na.getParentNode()) {
-			for (Node ta = node1; ta != null; ta = ta.getParentNode()) {
-				if (ta == na)
-					return ta;
-			}
-		}
-		return null; // not found
-	}
-
-	private void findCSS(List cssNodes, XMLNode node) {
-		ICSSModelAdapter adapter;
-		adapter = (ICSSModelAdapter) node.getAdapterFor(IStyleSheetAdapter.class);
-		if (adapter != null) {
-			ICSSModel model = adapter.getModel();
-			if (model != null && model.getStyleSheetType() == ICSSModel.EMBEDDED) {
-				cssNodes.add(model.getDocument());
-			}
-		}
-		else {
-			adapter = (ICSSModelAdapter) node.getAdapterFor(IStyleDeclarationAdapter.class);
-			if (adapter != null) {
-				ICSSModel model = adapter.getModel();
-				if (model != null && model.getStyleSheetType() == ICSSModel.INLINE) {
-					cssNodes.add(model.getDocument());
-				}
-			}
-		}
-
-		for (XMLNode child = (XMLNode) node.getFirstChild(); child != null; child = (XMLNode) child.getNextSibling()) {
-			findCSS(cssNodes, child);
-		}
-	}
-
-	private ICSSNode getCommonAncestor(ICSSNode nodeA, ICSSNode nodeB) {
-		if (nodeA == null || nodeB == null) {
-			return null;
-		}
-
-		for (ICSSNode na = nodeA; na != null; na = na.getParentNode()) {
-			for (ICSSNode ta = nodeB; ta != null; ta = ta.getParentNode()) {
-				if (ta == na) {
-					return ta;
-				}
-			}
-		}
-
-		return null; // not found
-	}
-
-	/**
-	 */
-	public void replaceSource(IStructuredModel model, int offset, int length, String source) {
-		if (model == null)
-			return;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-		if (offset >= 0 && length >= 0 && offset + length <= structuredDocument.getLength()) {
-			if (structuredDocument.containsReadOnly(offset, length))
-				return;
-			if (source == null)
-				source = new String();
-			// We use 'structuredDocument' as the requester object just so
-			// this and the other
-			// format-related 'repalceText' (in replaceSource) can use the
-			// same requester.
-			// Otherwise, if requester is not identical,
-			// the undo group gets "broken" into multiple pieces based
-			// on the requesters being different. Technically, any unique,
-			// common
-			// requester object would work.
-			structuredDocument.replaceText(structuredDocument, offset, length, source);
-		}
-	}
-
-	public synchronized static CSSFormatUtil getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSFormatUtil();
-		}
-		return fInstance;
-	}
-
-	private CSSFormatUtil() {
-		super();
-	}
-
-	private static CSSFormatUtil fInstance;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSSourceFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSSourceFormatter.java
deleted file mode 100644
index a132fe5..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSSourceFormatter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.document.ICSSNode;
-
-
-/**
- * 
- */
-public interface CSSSourceFormatter {
-
-	/**
-	 * 
-	 */
-	StringBuffer cleanup(ICSSNode node);
-
-	/**
-	 * 
-	 * @return java.lang.StringBuffer
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param region
-	 *            org.eclipse.jface.text.IRegion
-	 */
-	StringBuffer cleanup(ICSSNode node, IRegion region);
-
-	/**
-	 * 
-	 */
-	StringBuffer format(ICSSNode node);
-
-	/**
-	 * 
-	 */
-	StringBuffer format(ICSSNode node, IRegion region);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSSourceFormatterFactory.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSSourceFormatterFactory.java
deleted file mode 100644
index 5d5bca8..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSSourceFormatterFactory.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.sse.core.INodeNotifier;
-
-
-/**
- * 
- */
-public class CSSSourceFormatterFactory {
-	/**
-	 * 
-	 */
-	private CSSSourceFormatterFactory() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public CSSSourceGenerator getSourceFormatter(INodeNotifier target) {
-		ICSSNode node = (ICSSNode) target;
-		short type = node.getNodeType();
-		switch (type) {
-			case ICSSNode.CHARSETRULE_NODE :
-				return CharsetRuleFormatter.getInstance();
-			case ICSSNode.FONTFACERULE_NODE :
-				return FontFaceRuleFormatter.getInstance();
-			case ICSSNode.IMPORTRULE_NODE :
-				return ImportRuleFormatter.getInstance();
-			case ICSSNode.MEDIALIST_NODE :
-				return MediaListFormatter.getInstance();
-			case ICSSNode.MEDIARULE_NODE :
-				return MediaRuleFormatter.getInstance();
-			case ICSSNode.PRIMITIVEVALUE_NODE :
-				ICSSPrimitiveValue value = (ICSSPrimitiveValue) node;
-				if (value.getPrimitiveType() == org.w3c.dom.css.CSSPrimitiveValue.CSS_COUNTER)
-					return CounterFormatter.getInstance();
-				else if (value.getPrimitiveType() == org.w3c.dom.css.CSSPrimitiveValue.CSS_RECT)
-					return RectFormatter.getInstance();
-				else if (value.getPrimitiveType() == org.w3c.dom.css.CSSPrimitiveValue.CSS_RGBCOLOR)
-					return RGBFormatter.getInstance();
-				else
-					return PrimitiveValueFormatter.getInstance();
-			case ICSSNode.PAGERULE_NODE :
-				return PageRuleFormatter.getInstance();
-			case ICSSNode.STYLEDECLARATION_NODE :
-				return StyleDeclarationFormatter.getInstance();
-			case ICSSNode.STYLEDECLITEM_NODE :
-				return StyleDeclItemFormatter.getInstance();
-			case ICSSNode.STYLERULE_NODE :
-				return StyleRuleFormatter.getInstance();
-			case ICSSNode.STYLESHEET_NODE :
-				return StyleSheetFormatter.getInstance();
-			case ICSSNode.ATTR_NODE :
-				return AttrFormatter.getInstance();
-			default :
-				return UnknownRuleFormatter.getInstance();
-		}
-	}
-
-	public synchronized static CSSSourceFormatterFactory getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSSourceFormatterFactory();
-		}
-		return fInstance;
-	}
-
-	private static CSSSourceFormatterFactory fInstance;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSSourceGenerator.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSSourceGenerator.java
deleted file mode 100644
index ed8d124..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSSourceGenerator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSNode;
-
-
-public interface CSSSourceGenerator extends CSSSourceFormatter {
-
-	/**
-	 * 
-	 */
-	StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext region);
-
-	/**
-	 * 
-	 */
-	StringBuffer formatBefore(ICSSNode node, ICSSNode child, IRegion exceptFor);
-
-	/**
-	 * 
-	 */
-	int getAttrInsertPos(ICSSNode node, String attrName);
-
-	/**
-	 * 
-	 */
-	int getChildInsertPos(ICSSNode node);
-
-	/**
-	 * 
-	 * @return int
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param insertPos
-	 *            int
-	 */
-	int getLengthToReformatAfter(ICSSNode node, int insertPos);
-
-	/**
-	 * 
-	 * @return int
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param insertPos
-	 *            int
-	 */
-	int getLengthToReformatBefore(ICSSNode node, int insertPos);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CharsetRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CharsetRuleFormatter.java
deleted file mode 100644
index 2d0605d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CharsetRuleFormatter.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSCharsetRule;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * 
- */
-public class CharsetRuleFormatter extends DefaultCSSSourceFormatter {
-
-	public final static java.lang.String CHARSET = "@charset";//$NON-NLS-1$
-	private static CharsetRuleFormatter instance;
-
-	/**
-	 * 
-	 */
-	CharsetRuleFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext context) {
-		StringBuffer buf = new StringBuffer();
-		if (node == null || attr == null)
-			return buf;
-
-		if (!ICSSCharsetRule.ENCODING.equalsIgnoreCase(attr.getName()))
-			return buf;
-
-		// get region to replace
-		if (context != null && ((IndexedRegion) node).getEndOffset() > 0) {
-			if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0) {
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) attr).getStartOffset());
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) attr).getStartOffset());
-				RegionIterator it = new RegionIterator(flatNode, region);
-				it.prev();
-				if (it.hasPrev()) {
-					ITextRegion prev = it.prev();
-					if (prev.getType() == CSSRegionContexts.CSS_S)
-						context.start = it.getStructuredDocumentRegion().getStartOffset(prev);
-					else
-						context.start = it.getStructuredDocumentRegion().getStartOffset(region);
-				}
-				else
-					context.start = it.getStructuredDocumentRegion().getStartOffset(region);
-				context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-			}
-			else {
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
-				if (region.getType() == CSSRegionContexts.CSS_S) {
-					context.start = flatNode.getStartOffset(region);
-					context.end = flatNode.getStartOffset(region);
-				}
-				else {
-					context.start = flatNode.getEndOffset() + 1;
-					context.end = flatNode.getEndOffset();
-				}
-			}
-		}
-		// generate text
-		if (insert) {
-			appendSpaceBefore(node, attr.getValue(), buf);
-			buf.append(attr.getValue());
-		}
-		return buf;
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		int end = ((IndexedRegion) node).getEndOffset();
-		if (end > 0) { // format source
-			int start = ((IndexedRegion) node).getStartOffset();
-			formatPre(node, new FormatRegion(start, end - start), source);
-		}
-		else { // generate source
-			CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-			String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
-			String str = CHARSET;
-			if (mgr.isIdentUpperCase())
-				str = CHARSET.toUpperCase();
-			source.append(str);
-			String enc = ((ICSSCharsetRule) node).getEncoding();
-			quote = CSSUtil.detectQuote(enc, quote);
-			str = quote + ((enc != null) ? enc : "") + quote;//$NON-NLS-1$
-			appendSpaceBefore(node, str, source);
-			source.append(str);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedIdentRegion(regions[i], stgy));
-		}
-		if (needS(outside[1]) && !isIncludesPreEnd(node, region))
-			appendSpaceBefore(node, outside[1], source);
-	}
-
-	/**
-	 * 
-	 */
-	public int getAttrInsertPos(ICSSNode node, String attrName) {
-		if (node == null || attrName == null || attrName.length() == 0)
-			return -1;
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		if (!ICSSCharsetRule.ENCODING.equalsIgnoreCase(attrName))
-			return -1;
-
-		ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICSSCharsetRule.ENCODING);
-		if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
-			return ((IndexedRegion) attr).getStartOffset();
-		else {
-			IndexedRegion iNode = (IndexedRegion) node;
-			if (iNode.getEndOffset() <= 0)
-				return -1;
-
-			CompoundRegion regions[] = getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(), new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() - iNode.getStartOffset()), stgy);
-			for (int i = regions.length - 1; i >= 0; i--) {
-				if (regions[i].getType() != CSSRegionContexts.CSS_COMMENT)
-					return regions[i].getStartOffset();
-			}
-			return iNode.getEndOffset();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public int getChildInsertPos(ICSSNode node) {
-		int n = ((IndexedRegion) node).getEndOffset();
-		if (n > 0) {
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
-			if (flatNode.getRegionAtCharacterOffset(n - 1).getType() == CSSRegionContexts.CSS_DELIMITER)
-				return n - 1;
-			else
-				return n;
-		}
-		return -1;
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static CharsetRuleFormatter getInstance() {
-		if (instance == null)
-			instance = new CharsetRuleFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CompoundRegion.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CompoundRegion.java
deleted file mode 100644
index 1f75fb5..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CompoundRegion.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-class CompoundRegion {
-
-	CompoundRegion(IStructuredDocumentRegion documentRegion, ITextRegion textRegion) {
-		super();
-		this.fDocumentRegion = documentRegion;
-		this.fTextRegion = textRegion;
-	}
-
-	IStructuredDocumentRegion getDocumentRegion() {
-		return fDocumentRegion;
-	}
-
-	ITextRegion getTextRegion() {
-		return fTextRegion;
-	}
-
-	String getType() {
-		return fTextRegion.getType();
-	}
-
-	String getText() {
-		return fDocumentRegion.getText(fTextRegion);
-	}
-
-	int getStartOffset() {
-		return fDocumentRegion.getStartOffset(fTextRegion);
-	}
-
-	int getEndOffset() {
-		return fDocumentRegion.getEndOffset(fTextRegion);
-	}
-
-
-	private IStructuredDocumentRegion fDocumentRegion;
-	private ITextRegion fTextRegion;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CounterFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CounterFormatter.java
deleted file mode 100644
index acb7749..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CounterFormatter.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICounter;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * 
- */
-public class CounterFormatter extends DefaultCSSSourceFormatter {
-
-	private static CounterFormatter instance;
-
-	/**
-	 * 
-	 */
-	CounterFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext context) {
-		StringBuffer source = new StringBuffer();
-		if (node == null || attr == null)
-			return source;
-
-		if (!ICounter.IDENTIFIER.equalsIgnoreCase(attr.getName()) && !ICounter.LISTSTYLE.equalsIgnoreCase(attr.getName()) && !ICounter.SEPARATOR.equalsIgnoreCase(attr.getName()))
-			return source;
-
-		// get region to replace
-		IndexedRegion iNode = (IndexedRegion) node;
-		context.start = iNode.getStartOffset();
-		context.end = iNode.getEndOffset();
-
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-
-		ICounter counter = (ICounter) node;
-		String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
-		String sep = counter.getSeparator();
-		String ident = counter.getIdentifier();
-		String style = counter.getListStyle();
-
-		if (ICounter.IDENTIFIER.equalsIgnoreCase(attr.getName())) {
-			if (insert)
-				ident = attr.getValue();
-			else
-				ident = "";//$NON-NLS-1$
-		}
-		else if (ICounter.LISTSTYLE.equalsIgnoreCase(attr.getName())) {
-			if (insert)
-				style = attr.getValue();
-			else
-				style = null;
-		}
-		else if (ICounter.SEPARATOR.equalsIgnoreCase(attr.getName())) {
-			if (insert)
-				sep = attr.getValue();
-			else
-				sep = null;
-		}
-
-		quote = CSSUtil.detectQuote(sep, quote);
-		sep = (sep == null || sep.length() == 0) ? null : (quote + sep + quote);
-
-		String func = (sep == null || sep.length() == 0) ? "counter(" : "counters(";//$NON-NLS-2$//$NON-NLS-1$
-		if (mgr.isPropValueUpperCase()) {
-			ident = ident.toUpperCase();
-			style = style.toUpperCase();
-			func = func.toUpperCase();
-		}
-		else {
-			ident = ident.toLowerCase();
-			style = style.toLowerCase();
-		}
-		if (sep == null || sep.length() == 0) {
-			source.append(func);
-			appendSpaceBefore(node, ident, source);
-			source.append(ident);
-		}
-		else {
-			source.append(func);
-			appendSpaceBefore(node, ident, source);
-			source.append(ident);
-			source.append(",");//$NON-NLS-1$
-			appendSpaceBefore(node, sep, source);
-			source.append(sep);
-		}
-
-		if (style != null && style.length() != 0) {
-			source.append(",");//$NON-NLS-1$
-			appendSpaceBefore(node, style, source);
-		}
-		source.append(")");//$NON-NLS-1$
-
-		/*
-		 * IStructuredDocument structuredDocument =
-		 * node.getOwnerDocument().getModel().getStructuredDocument();
-		 * ITextRegion[] regions =
-		 * getRegionsWithoutWhiteSpaces(structuredDocument, new
-		 * FormatRegion(context.start, context.end - context.start + 1)); int
-		 * commas[2]; int numComma = 0; for(int j = 0; j <regions.length; j++) {
-		 * if (regions[j].getType() == CSSRegionContexts.COMMA) {
-		 * commas[numComma++] = j; if (numComma > 1) break; } }
-		 * 
-		 * if (ICounter.IDENTIFIER.equalsIgnoreCase(attr.getName())) { } else
-		 * if (ICounter.LISTSTYLE.equalsIgnoreCase(attr.getName())) { } else
-		 * if (ICounter.SEPARATOR.equalsIgnoreCase(attr.getName())) { boolean
-		 * skipSpace = false; String func = insert ? "counters(" : "counter(";
-		 * if (mgr.isPropValueUpperCase()) func = func.toUpperCase();
-		 * 
-		 * for(int i=0; i <regions.length; i++) { if (regions[i].getType() ==
-		 * CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION)
-		 * source.append(func); else { if (numComma == 2 && commas[1] < i) {
-		 *  } else if (numComma == 1 && commas[0] < i && insert) {
-		 *  } else if (numComma == 1 && commas[0] < i && ! insert) { } else if
-		 * (numComma == 0 && insert && regions[i].getType ==
-		 * CSSRegionContexts.PARENTHESIS_CLOSE) { source.append(",");
-		 * appendSpaceBefore(node,attr.getValue(),source);
-		 * source.append(attr.getValue()); }
-		 * 
-		 * if (i != 0 && !skipSpace)
-		 * appendSpaceBefore(node,regions[i],source);
-		 * source.append(decoratedPropValueRegion(regions[i])); } skipSpace =
-		 * false;
-		 * 
-		 * if (regions[i].getType() ==
-		 * CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) skipSpace = true; } }
-		 */
-		return source;
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = ((IndexedRegion) node).getEndOffset();
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		if (end > 0) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			boolean skipSpace = false;
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0 && !skipSpace)
-					appendSpaceBefore(node, regions[i], source);
-				skipSpace = false;
-				source.append(decoratedPropValueRegion(regions[i], stgy));
-				if (regions[i].getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION)
-					skipSpace = true;
-			}
-		}
-		else { // generate source
-			ICounter counter = (ICounter) node;
-			String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
-			String separator = counter.getSeparator();
-			quote = CSSUtil.detectQuote(separator, quote);
-			String sep = (separator == null || separator.length() == 0) ? null : (quote + separator + quote);
-			String ident = counter.getIdentifier();
-			String style = counter.getListStyle();
-			String func = (sep == null || sep.length() == 0) ? "counter(" : "counters(";//$NON-NLS-2$//$NON-NLS-1$
-			// normalize
-			if (ident == null)
-				ident = "";//$NON-NLS-1$
-			if (style == null)
-				style = "";//$NON-NLS-1$
-
-			if (mgr.isPropValueUpperCase()) {
-				ident = ident.toUpperCase();
-				style = style.toUpperCase();
-				func = func.toUpperCase();
-			}
-			else {
-				ident = ident.toLowerCase();
-				style = style.toLowerCase();
-			}
-			if (sep == null || sep.length() == 0) {
-				source.append(func);
-				appendSpaceBefore(node, ident, source);
-				source.append(ident);
-			}
-			else {
-				source.append(func);
-				appendSpaceBefore(node, ident, source);
-				source.append(ident);
-				source.append(",");//$NON-NLS-1$
-				appendSpaceBefore(node, sep, source);
-				source.append(sep);
-			}
-
-			if (style != null && style.length() != 0) {
-				source.append(",");//$NON-NLS-1$
-				appendSpaceBefore(node, style, source);
-			}
-			source.append(")");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedPropValueRegion(regions[i], stgy));
-		}
-		if (needS(outside[1]) && !isIncludesPreEnd(node, region))
-			appendSpaceBefore(node, outside[1], source);
-	}
-
-	/**
-	 * 
-	 */
-	public int getAttrInsertPos(ICSSNode node, String attrName) {
-		if (node == null || attrName == null || attrName.length() == 0)
-			return -1;
-
-		IndexedRegion iNode = (IndexedRegion) node;
-		if (ICounter.IDENTIFIER.equalsIgnoreCase(attrName)) {
-			ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICounter.IDENTIFIER);
-			if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
-				return ((IndexedRegion) attr).getStartOffset();
-			if (iNode.getEndOffset() <= 0)
-				return -1;
-
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(iNode.getEndOffset() - 1);
-			RegionIterator it = new RegionIterator(flatNode, flatNode.getRegionAtCharacterOffset(iNode.getEndOffset() - 1));
-			while (it.hasPrev()) {
-				ITextRegion region = it.prev();
-				if (region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION)
-					return it.getStructuredDocumentRegion().getEndOffset(region);
-			}
-			return ((IndexedRegion) node).getEndOffset();
-		}
-		else if (ICounter.LISTSTYLE.equalsIgnoreCase(attrName)) {
-			ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICounter.LISTSTYLE);
-			if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
-				return ((IndexedRegion) attr).getStartOffset();
-
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(iNode.getEndOffset() - 1);
-			RegionIterator it = new RegionIterator(flatNode, flatNode.getRegionAtCharacterOffset(iNode.getEndOffset() - 1));
-			while (it.hasPrev()) {
-				ITextRegion region = it.prev();
-				if (region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR)
-					return it.getStructuredDocumentRegion().getEndOffset(region);
-				else if (region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION)
-					return it.getStructuredDocumentRegion().getEndOffset(region);
-			}
-			return ((IndexedRegion) node).getEndOffset();
-		}
-		else if (ICounter.SEPARATOR.equalsIgnoreCase(attrName)) {
-			ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICounter.SEPARATOR);
-			if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
-				return ((IndexedRegion) attr).getStartOffset();
-
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(iNode.getEndOffset() - 1);
-			RegionIterator it = new RegionIterator(flatNode, flatNode.getRegionAtCharacterOffset(iNode.getEndOffset() - 1));
-			boolean hasComma = false;
-			while (it.hasPrev()) {
-				ITextRegion region = it.prev();
-				if (region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR) {
-					if (!hasComma)
-						hasComma = true;
-					else
-						return it.getStructuredDocumentRegion().getEndOffset(region);
-				}
-				else if (region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION)
-					return it.getStructuredDocumentRegion().getEndOffset(region);
-			}
-			return ((IndexedRegion) node).getEndOffset();
-		}
-		else
-			return -1;
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static CounterFormatter getInstance() {
-		if (instance == null)
-			instance = new CounterFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/DeclContainerFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/DeclContainerFormatter.java
deleted file mode 100644
index 8ce5361..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/DeclContainerFormatter.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-/**
- * 
- */
-public class DeclContainerFormatter extends DefaultCSSSourceFormatter {
-
-	/**
-	 * 
-	 */
-	DeclContainerFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 * @param region
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 * @param prevRegion
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	protected String decoratedSelectorRegion(CompoundRegion region, CompoundRegion prevRegion, CSSCleanupStrategy stgy) {
-		String text = region.getText();
-		if (isFormat())
-			return text;
-
-		String type = region.getType();
-		if (type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_NAME || type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_VALUE || type == CSSRegionContexts.CSS_SELECTOR_CLASS || type == CSSRegionContexts.CSS_SELECTOR_ELEMENT_NAME || type == CSSRegionContexts.CSS_SELECTOR_ID || type == CSSRegionContexts.CSS_SELECTOR_PSEUDO) {
-			short selCase = stgy.getSelectorTagCase();
-			if (selCase == org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy.UPPER) {
-				return text.toUpperCase();
-			}
-			else if (selCase == org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy.LOWER) {
-				return text.toLowerCase();
-			}
-			return text;
-		}
-
-		return decoratedRegion(region, 0, stgy);
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int end = ((IndexedRegion) node).getEndOffset();
-		int start = (node.getLastChild() != null && ((IndexedRegion) node.getLastChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getLastChild()).getEndOffset() : getChildInsertPos(node);
-		if (end > 0 && start < end) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				appendDelimBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy));
-			}
-		}
-		else { // generate source
-			String delim = getLineDelimiter(node);
-			source.append(delim);
-			source.append(getIndent(node));
-			source.append("}");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendDelimBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 0, stgy));
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public int getChildInsertPos(ICSSNode node) {
-		int n = ((IndexedRegion) node).getEndOffset();
-		if (n > 0) {
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
-			if (flatNode.getRegionAtCharacterOffset(n - 1).getType() == CSSRegionContexts.CSS_RBRACE)
-				return n - 1;
-			else
-				return n;
-		}
-		return -1;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/DefaultCSSSourceFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/DefaultCSSSourceFormatter.java
deleted file mode 100644
index 7c5fd98..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/DefaultCSSSourceFormatter.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.parser.CSSRegionUtil;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.sse.core.IndexedRegion;
-
-
-/**
- * 
- */
-public class DefaultCSSSourceFormatter extends AbstractCSSSourceFormatter {
-
-	/**
-	 * 
-	 */
-	DefaultCSSSourceFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void appendSpaceBetween(ICSSNode node, CompoundRegion prev, CompoundRegion next, StringBuffer source) {
-		if (isCleanup() && !getCleanupStrategy(node).isFormatSource())
-			return; // for not formatting case on cleanup action
-
-		// in selector
-		String prevType = prev.getType();
-		String nextType = next.getType();
-		if (CSSRegionUtil.isSelectorBegginingType(prevType) && CSSRegionUtil.isSelectorBegginingType(nextType)) {
-			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=73990
-			// Formatting CSS file splits element.class into element . class
-			if ((prevType == CSSRegionContexts.CSS_SELECTOR_ELEMENT_NAME && (nextType == CSSRegionContexts.CSS_SELECTOR_CLASS || nextType == CSSRegionContexts.CSS_SELECTOR_ID)) || ((prevType == CSSRegionContexts.CSS_SELECTOR_ELEMENT_NAME || prevType == CSSRegionContexts.CSS_SELECTOR_CLASS) && nextType == CSSRegionContexts.CSS_SELECTOR_PSEUDO)) {
-				// Individually, SELECTOR_ELEMENT_NAME, SELECTOR_CLASS, and SELECTOR_ID can all be beginning types.
-				// But, we should not insert a space in between when SELECTOR_ELEMENT_NAME is followed by SELECTOR_CLASS, or when
-				// SELECTOR_ELEMENT_NAME is followed by SELECTOR_ID.
-				// For example: H1.pastoral and H1#z98y
-				//
-				// Also, space is now not inserted in between when SELECTOR_ELEMENT_NAME is followed by SELECTOR_PSEUDO, or when
-				// SELECTOR_CLASS is followed by SELECTOR_PSEUDO.
-				// For example: P:first-letter and A.external:visited
-			}
-			else
-				appendSpaceBefore(node, next, source);
-			return;
-		}
-
-		if (prevType == CSSRegionContexts.CSS_PAGE || prevType == CSSRegionContexts.CSS_CHARSET || prevType == CSSRegionContexts.CSS_ATKEYWORD || prevType == CSSRegionContexts.CSS_FONT_FACE || prevType == CSSRegionContexts.CSS_IMPORT || prevType == CSSRegionContexts.CSS_MEDIA) {
-			appendSpaceBefore(node, next, source);
-			return;
-		}
-
-		if (prevType == CSSRegionContexts.CSS_UNKNOWN && nextType != CSSRegionContexts.CSS_COMMENT) {
-			if (prev.getEndOffset() != next.getStartOffset()) { // not
-																// sequential
-				appendSpaceBefore(node, next, source);
-			}
-			return;
-		}
-
-		if (prevType == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR || prevType == CSSRegionContexts.CSS_COMMENT || nextType == CSSRegionContexts.CSS_COMMENT || nextType == CSSRegionContexts.CSS_LBRACE || nextType == CSSRegionContexts.CSS_UNKNOWN) {
-			appendSpaceBefore(node, next, source);
-			return;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, String toAppend, StringBuffer source, IRegion exceptFor) {
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, IRegion region, String toAppend, StringBuffer source) {
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, StringBuffer source) {
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, IRegion region, StringBuffer source) {
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-	}
-
-	/**
-	 * 
-	 */
-	public int getChildInsertPos(ICSSNode node) {
-		int n = ((IndexedRegion) node).getEndOffset();
-		if (n > 0)
-			return n;
-		return -1;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FontFaceRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FontFaceRuleFormatter.java
deleted file mode 100644
index 66eec7d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FontFaceRuleFormatter.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-/**
- * 
- */
-public class FontFaceRuleFormatter extends DeclContainerFormatter {
-
-	public final static java.lang.String FONT_FACE = "@font-face";//$NON-NLS-1$
-	private static FontFaceRuleFormatter instance;
-
-	/**
-	 * 
-	 */
-	FontFaceRuleFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(org.eclipse.wst.css.core.document.ICSSNode node, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
-		if (end > 0) {
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0)
-					appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedIdentRegion(regions[i], stgy));
-			}
-		}
-		else {
-			CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-			String str = FONT_FACE;
-			if (mgr.isIdentUpperCase())
-				str = FONT_FACE.toUpperCase();
-			source.append(str);
-			appendSpaceBefore(node, "{", source);//$NON-NLS-1$
-			source.append("{");//$NON-NLS-1$
-		}
-		appendDelimBefore(node, null, source);
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedIdentRegion(regions[i], stgy));
-		}
-		if (needS(outside[1])) {
-			if (isIncludesPreEnd(node, region))
-				appendDelimBefore(node, null, source);
-			else
-				appendSpaceBefore(node, outside[1], source);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static FontFaceRuleFormatter getInstance() {
-		if (instance == null)
-			instance = new FontFaceRuleFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FormatRegion.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FormatRegion.java
deleted file mode 100644
index ff0c9d3..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FormatRegion.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-
-/**
- * 
- */
-class FormatRegion implements IRegion {
-
-	private int fOffset, fLength;
-
-	/**
-	 * 
-	 */
-	FormatRegion(int offset, int length) {
-		super();
-		set(offset, length);
-	}
-
-	/**
-	 * Returns the length of the region.
-	 * 
-	 * @return the length of the region
-	 */
-	public int getLength() {
-		return fLength;
-	}
-
-	/**
-	 * Returns the offset of the region.
-	 * 
-	 * @return the offset of the region
-	 */
-	public int getOffset() {
-		return fOffset;
-	}
-
-	/**
-	 * 
-	 */
-	void set(int offset, int length) {
-		this.fOffset = offset;
-		this.fLength = length;
-	}
-
-	/**
-	 * 
-	 */
-	void setLength(int newLength) {
-		fLength = newLength;
-	}
-
-	/**
-	 * 
-	 */
-	void setOffset(int newOffset) {
-		fOffset = newOffset;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FunctionFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FunctionFormatter.java
deleted file mode 100644
index 91711d3..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/FunctionFormatter.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-/**
- * 
- */
-abstract public class FunctionFormatter extends AbstractCSSSourceFormatter {
-
-	/**
-	 * 
-	 */
-	FunctionFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, String toAppend, StringBuffer source, IRegion exceptFor) {
-		ICSSNode prev = (child != null) ? child.getPreviousSibling() : node.getLastChild();
-		int start = (prev != null) ? ((IndexedRegion) prev).getEndOffset() : 0;
-		int end = (child != null) ? ((IndexedRegion) child).getStartOffset() : 0;
-		if (start > 0 && start < end) { // format source
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			// get meaning regions
-			CompoundRegion[] regions = null;
-			if (exceptFor == null)
-				regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			else {
-				String pickupType = CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR;
-				if (prev == null || child == null)
-					pickupType = null;
-				regions = getRegions(structuredDocument, new FormatRegion(start, end - start), exceptFor, pickupType);
-			}
-			// extract source
-			for (int i = 0; i < regions.length; i++) {
-				appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 2, stgy));
-			}
-		}
-		else if (prev != null && child != null) { // generate source between
-													// parameters
-			source.append(",");//$NON-NLS-1$
-		}
-		appendSpaceBefore(node, toAppend, source);
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, IRegion region, String toAppend, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 2, stgy));
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(org.eclipse.wst.css.core.document.ICSSNode node, java.lang.StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int end = ((IndexedRegion) node).getEndOffset();
-		int start = (node.getLastChild() != null && ((IndexedRegion) node.getLastChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getLastChild()).getEndOffset() : getChildInsertPos(node);
-		if (end > 0 && start < end) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 2, stgy));
-			}
-		}
-		else { // generate source
-			source.append(")");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 2, stgy));
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		if (end > 0) { // format source
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0)
-					appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedPropValueRegion(regions[i], stgy));
-			}
-		}
-		else { // generate source
-			String func = getFunc();
-			if (mgr.isPropValueUpperCase())
-				func = func.toUpperCase();
-			source.append(func);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedPropValueRegion(regions[i], stgy));
-		}
-		if (needS(outside[1]) && !isIncludesPreEnd(node, region))
-			appendSpaceBefore(node, outside[1], source);
-	}
-
-	/**
-	 * 
-	 */
-	public int getChildInsertPos(ICSSNode node) {
-		int n = ((IndexedRegion) node).getEndOffset();
-		if (n > 0) {
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
-			if (flatNode.getRegionAtCharacterOffset(n - 1).getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-				return n - 1;
-			else
-				return n;
-		}
-		return -1;
-	}
-
-	/**
-	 * 
-	 */
-	protected abstract String getFunc();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/ImportRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/ImportRuleFormatter.java
deleted file mode 100644
index afc1419..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/ImportRuleFormatter.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * 
- */
-public class ImportRuleFormatter extends AbstractCSSSourceFormatter {
-
-	public final static java.lang.String IMPORT = "@import";//$NON-NLS-1$
-	private static ImportRuleFormatter instance;
-
-	/**
-	 * 
-	 */
-	ImportRuleFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext context) {
-		StringBuffer buf = new StringBuffer();
-		if (node == null || attr == null)
-			return buf;
-
-		if (!ICSSImportRule.HREF.equalsIgnoreCase(attr.getName()))
-			return buf;
-
-		// get region to replace
-		if (context != null && ((IndexedRegion) node).getEndOffset() > 0) {
-			if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0) {
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) attr).getStartOffset());
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) attr).getStartOffset());
-				RegionIterator it = new RegionIterator(flatNode, region);
-				it.prev();
-				if (it.hasPrev()) {
-					ITextRegion prev = it.prev();
-					if (prev.getType() == CSSRegionContexts.CSS_S)
-						context.start = it.getStructuredDocumentRegion().getStartOffset(prev);
-					else
-						context.start = it.getStructuredDocumentRegion().getStartOffset(region);
-					it.next();
-				}
-				else
-					context.start = it.getStructuredDocumentRegion().getStartOffset(region);
-				it.next();
-				it.next();
-				if (it.hasNext()) {
-					ITextRegion next = it.next();
-					if (next.getType() == CSSRegionContexts.CSS_S)
-						context.end = it.getStructuredDocumentRegion().getEndOffset(next);
-					else
-						context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-				}
-				else
-					context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-			}
-			else {
-				ICSSNode child = node.getFirstChild();
-				IStructuredDocumentRegion flatNode = null;
-				ITextRegion region = null;
-				if (child == null) {
-					flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
-					region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
-				}
-				else {
-					flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) child).getStartOffset() - 1);
-					region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) child).getStartOffset() - 1);
-				}
-				if (region.getType() == CSSRegionContexts.CSS_S) {
-					context.start = flatNode.getStartOffset(region);
-					context.end = flatNode.getEndOffset(region);
-				}
-				else {
-					context.start = flatNode.getEndOffset();
-					context.end = flatNode.getEndOffset();
-				}
-			}
-		}
-		// generate text
-		if (insert && attr.getValue() != null && attr.getValue().length() > 0) {
-			appendSpaceBefore(node, attr.getValue(), buf);
-			buf.append(attr.getValue());
-			appendSpaceBefore(node, "", buf);//$NON-NLS-1$
-		}
-		return buf;
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, String toAppend, StringBuffer source, IRegion exceptFor) {
-		// for media-type
-		ICSSNode prev = (child != null) ? child.getPreviousSibling() : node.getLastChild();
-		int start = (prev != null) ? ((IndexedRegion) prev).getEndOffset() : 0;
-		int end = (child != null) ? ((IndexedRegion) child).getStartOffset() : 0;
-		if (start > 0 && start < end) { // format source
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			// get meaning regions
-			CompoundRegion[] regions = null;
-			if (exceptFor == null)
-				regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			else {
-				String pickupType = CSSRegionContexts.CSS_MEDIA_SEPARATOR;
-				if (prev == null || child == null)
-					pickupType = null;
-				regions = getRegions(structuredDocument, new FormatRegion(start, end - start), exceptFor, pickupType);
-			}
-			// extract source
-			for (int i = 0; i < regions.length; i++) {
-				appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy)); // must
-																		// be
-																		// comments
-			}
-			appendSpaceBefore(node, toAppend, source);
-		}
-		else if (prev != null && child != null) { // generate source : ????
-			source.append(",");//$NON-NLS-1$
-			appendSpaceBefore(node, toAppend, source);
-		}
-		else if (child != null) { // generate source : between 'url()' and
-									// media types
-			appendSpaceBefore(node, toAppend, source);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, IRegion region, String toAppend, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 0, stgy)); // must be
-																	// comments
-		}
-		if (needS(outside[1])) {
-			if (((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength())
-				appendSpaceBefore(node, toAppend, source);
-			else
-				appendSpaceBefore(node, outside[1], source);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int end = ((IndexedRegion) node).getEndOffset();
-		int start = (node.getLastChild() != null && ((IndexedRegion) node.getLastChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getLastChild()).getEndOffset() : getChildInsertPos(node);
-		if (end > 0 && start < end) {
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				appendDelimBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy));
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendDelimBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 0, stgy));
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		if (end > 0) { // format source
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				String str = regions[i].getText();
-				if (regions[i].getType() == CSSRegionContexts.CSS_IMPORT)
-					str = decoratedIdentRegion(regions[i], stgy);
-				else
-					str = decoratedPropValueRegion(regions[i], stgy);
-				if (i != 0)
-					appendSpaceBefore(node, regions[i], source);
-				source.append(str);
-			}
-		}
-		else { // generate source
-			String str = IMPORT;
-			if (mgr.isIdentUpperCase())
-				str = IMPORT.toUpperCase();
-			String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
-			source.append(str);
-			str = "url(";//$NON-NLS-1$
-			if (mgr.isPropValueUpperCase())
-				str = str.toUpperCase();
-			String href = ((ICSSImportRule) node).getHref();
-			quote = CSSUtil.detectQuote(href, quote);
-			str = str + quote + href + quote + ")";//$NON-NLS-1$
-			appendSpaceBefore(node, str, source);
-			source.append(str);
-		}
-		ICSSNode child = node.getFirstChild();
-		if (child != null && (child instanceof org.w3c.dom.stylesheets.MediaList) && ((org.w3c.dom.stylesheets.MediaList) child).getLength() > 0) {
-			appendSpaceBefore(node, "", source);//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			String str = regions[i].getText();
-			if (regions[i].getType() == CSSRegionContexts.CSS_IMPORT)
-				str = decoratedIdentRegion(regions[i], stgy);
-			else
-				str = decoratedPropValueRegion(regions[i], stgy);
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(str);
-		}
-		if (needS(outside[1]) && !isIncludesPreEnd(node, region))
-			appendSpaceBefore(node, outside[1], source);
-	}
-
-	/**
-	 * 
-	 */
-	public int getAttrInsertPos(ICSSNode node, String attrName) {
-		if (node == null || attrName == null || attrName.length() == 0)
-			return -1;
-
-		if (!ICSSImportRule.HREF.equalsIgnoreCase(attrName))
-			return -1;
-
-		ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICSSImportRule.HREF);
-		if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
-			return ((IndexedRegion) attr).getStartOffset();
-		else {
-			IndexedRegion iNode = (IndexedRegion) node;
-			if (iNode.getEndOffset() <= 0)
-				return -1;
-
-			FormatRegion formatRegion = null;
-			ICSSNode child = node.getFirstChild();
-			if (child != null && ((IndexedRegion) child).getEndOffset() > 0)
-				formatRegion = new FormatRegion(iNode.getStartOffset(), ((IndexedRegion) child).getStartOffset() - iNode.getStartOffset());
-			else
-				formatRegion = new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() - iNode.getStartOffset());
-			CompoundRegion regions[] = getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(), formatRegion, getCleanupStrategy(node));
-
-			boolean atrule = false;
-			for (int i = 0; i < regions.length; i++) {
-				if (regions[i].getType() == CSSRegionContexts.CSS_IMPORT) {
-					atrule = true;
-					continue;
-				}
-				else if (!atrule)
-					continue;
-				if (regions[i].getType() != CSSRegionContexts.CSS_COMMENT)
-					return regions[i].getStartOffset();
-			}
-			return (child != null && ((IndexedRegion) child).getEndOffset() > 0) ? ((IndexedRegion) child).getStartOffset() : iNode.getEndOffset();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public int getChildInsertPos(ICSSNode node) {
-		int n = ((IndexedRegion) node).getEndOffset();
-		if (n > 0) {
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
-			if (flatNode.getRegionAtCharacterOffset(n - 1).getType() == CSSRegionContexts.CSS_DELIMITER)
-				return n - 1;
-			else
-				return n;
-		}
-		return -1;
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static ImportRuleFormatter getInstance() {
-		if (instance == null)
-			instance = new ImportRuleFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaListFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaListFormatter.java
deleted file mode 100644
index 4a8ef60..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaListFormatter.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.w3c.dom.stylesheets.MediaList;
-
-
-/**
- * 
- */
-public class MediaListFormatter extends DefaultCSSSourceFormatter {
-
-	private static MediaListFormatter instance;
-
-	/**
-	 * 
-	 */
-	MediaListFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext context) {
-		StringBuffer buf = new StringBuffer();
-		if (node == null || attr == null)
-			return buf;
-
-		boolean first = false, last = false;
-		// get region to replace
-		if (context != null && ((IndexedRegion) node).getEndOffset() > 0) {
-			if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0) {
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) attr).getStartOffset());
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) attr).getStartOffset());
-				RegionIterator it = new RegionIterator(flatNode, region);
-				it.prev();
-				context.start = it.getStructuredDocumentRegion().getStartOffset(region);
-				while (it.hasPrev()) {
-					ITextRegion prev = it.prev();
-					if (prev.getType() == CSSRegionContexts.CSS_S || prev.getType() == CSSRegionContexts.CSS_MEDIA_SEPARATOR || prev.getType() == CSSRegionContexts.CSS_COMMENT)
-						context.start = it.getStructuredDocumentRegion().getStartOffset(prev);
-					else
-						break;
-				}
-				if (context.start < ((IndexedRegion) node).getStartOffset()) {
-					context.start = ((IndexedRegion) node).getStartOffset();
-					first = true;
-
-				}
-				it.reset(flatNode, region);
-				context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-				while (it.hasNext()) {
-					ITextRegion next = it.next();
-					if (next.getType() == CSSRegionContexts.CSS_S || next.getType() == CSSRegionContexts.CSS_MEDIA_SEPARATOR || next.getType() == CSSRegionContexts.CSS_COMMENT)
-						context.end = it.getStructuredDocumentRegion().getEndOffset(next);
-					else
-						break;
-				}
-				if (((IndexedRegion) node).getEndOffset() < context.end) {
-					context.end = ((IndexedRegion) node).getEndOffset();
-					last = true;
-				}
-			}
-			else {
-				last = true;
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
-				RegionIterator it = new RegionIterator(flatNode, region);
-				context.start = it.getStructuredDocumentRegion().getEndOffset(region);
-				context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-				while (it.hasPrev()) {
-					ITextRegion prev = it.prev();
-					if (prev.getType() == CSSRegionContexts.CSS_S || prev.getType() == CSSRegionContexts.CSS_MEDIA_SEPARATOR || prev.getType() == CSSRegionContexts.CSS_COMMENT)
-						context.start = it.getStructuredDocumentRegion().getStartOffset(prev);
-					else
-						break;
-				}
-				if (context.start < ((IndexedRegion) node).getStartOffset()) {
-					context.start = ((IndexedRegion) node).getStartOffset();
-					first = true;
-				}
-			}
-		}
-		// generate text
-		if (insert && attr.getValue() != null && attr.getValue().length() > 0) {
-			if (!first)
-				buf.append(","); //$NON-NLS-1$
-			appendSpaceBefore(node, attr.getValue(), buf);
-			buf.append(attr.getValue());
-			if (!last) {
-				buf.append(","); //$NON-NLS-1$
-				appendSpaceBefore(node, "", buf); //$NON-NLS-1$
-			}
-		}
-		else if (!first && !last) {
-			buf.append(","); //$NON-NLS-1$
-			appendSpaceBefore(node, "", buf); //$NON-NLS-1$
-		}
-		return buf;
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = ((IndexedRegion) node).getEndOffset();
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		if (end > 0) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0)
-					appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedIdentRegion(regions[i], stgy));
-			}
-		}
-		else { // generate source
-			MediaList list = (MediaList) node;
-			int n = list.getLength();
-			for (int i = 0; i < n; i++) {
-				String medium = list.item(i);
-				if (mgr.isIdentUpperCase())
-					medium = medium.toUpperCase();
-				else
-					medium = medium.toLowerCase();
-
-				if (i != 0) {
-					source.append(","); //$NON-NLS-1$
-					appendSpaceBefore(node, medium, source);
-				}
-				source.append(medium);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedIdentRegion(regions[i], stgy));
-		}
-		if (needS(outside[1]) && !isIncludesPreEnd(node, region))
-			appendSpaceBefore(node, outside[1], source);
-	}
-
-	/**
-	 * 
-	 */
-	public int getAttrInsertPos(ICSSNode node, String attrName) {
-		if (node == null || attrName == null || attrName.length() == 0)
-			return -1;
-
-		ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(attrName);
-
-		if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
-			return ((IndexedRegion) attr).getStartOffset();
-		else {
-			IndexedRegion iNode = (IndexedRegion) node;
-			if (iNode.getEndOffset() <= 0)
-				return -1;
-
-			/*
-			 * ITextRegion regions[] =
-			 * getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(),
-			 * new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() -
-			 * iNode.getStartOffset() + 1)); for(int i=regions.length - 1; i >=
-			 * 0; i--) { if (regions[i].getType() ==
-			 * CSSRegionContexts.IMPORTANT_SYM) return
-			 * regions[i].getStartOffset(); }
-			 */
-			return iNode.getEndOffset();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static MediaListFormatter getInstance() {
-		if (instance == null)
-			instance = new MediaListFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaRuleFormatter.java
deleted file mode 100644
index c46afce..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/MediaRuleFormatter.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * 
- */
-public class MediaRuleFormatter extends AbstractCSSSourceFormatter {
-
-	public final static java.lang.String MEDIA = "@media";//$NON-NLS-1$
-	private static MediaRuleFormatter instance;
-
-	/**
-	 * 
-	 */
-	MediaRuleFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, String toAppend, StringBuffer source, IRegion exceptFor) {
-		ICSSNode prev = (child != null) ? child.getPreviousSibling() : node.getLastChild();
-		int start = (prev != null) ? ((IndexedRegion) prev).getEndOffset() : 0;
-		int end = (child != null) ? ((IndexedRegion) child).getStartOffset() : 0;
-		if (start > 0 && start < end) { // source formatting
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			// get meaning regions
-			CompoundRegion[] regions = null;
-			if (exceptFor == null)
-				regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			else {
-				String pickupType = null;
-				if ((prev != null && prev.getNodeType() == ICSSNode.MEDIALIST_NODE) || (prev == null && (child == null || child.getNodeType() != ICSSNode.MEDIALIST_NODE))) {
-					pickupType = CSSRegionContexts.CSS_LBRACE;
-				}
-				regions = getRegions(structuredDocument, new FormatRegion(start, end - start), exceptFor, pickupType);
-			}
-			// extract source
-			if (child != null && child.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
-																					// "@media"
-																					// and
-																					// mediatype
-				for (int i = 0; i < regions.length; i++) {
-					appendSpaceBefore(node, regions[i], source);
-					source.append(decoratedRegion(regions[i], 0, stgy)); // must
-																			// be
-																			// comments
-				}
-				appendSpaceBefore(node, toAppend, source);
-			}
-			else if (child != null && (child.getPreviousSibling() == null || child.getPreviousSibling().getNodeType() == ICSSNode.MEDIALIST_NODE)) { // between
-																																						// mediatype
-																																						// and
-																																						// the
-																																						// first
-																																						// style
-																																						// rule
-				for (int i = 0; i < regions.length; i++) {
-					appendSpaceBefore(node, regions[i], source);
-					source.append(decoratedRegion(regions[i], 0, stgy)); // must
-																			// be
-																			// comments
-				}
-				appendDelimBefore(node, null, source);
-			}
-			else { // between styles
-				for (int i = 0; i < regions.length; i++) {
-					appendDelimBefore(node, regions[i], source);
-					source.append(decoratedRegion(regions[i], 0, stgy)); // must
-																			// be
-																			// comments
-				}
-				appendDelimBefore(node, null, source);
-			}
-		}
-		else { // source generation
-			if (child == null && prev != null && prev.getNodeType() != ICSSNode.MEDIALIST_NODE) { // after
-																									// the
-																									// last
-																									// style
-																									// rule
-				appendDelimBefore(node.getParentNode(), null, source);
-			}
-			else if (child != null && child.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
-																						// "@media"
-																						// and
-																						// mediatype
-				appendSpaceBefore(node, toAppend, source);
-			}
-			else if (prev != null && prev.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
-																						// mediatype
-																						// and
-																						// the
-																						// first
-																						// style
-																						// rule
-				appendSpaceBefore(node, "{", source);//$NON-NLS-1$
-				source.append("{");//$NON-NLS-1$
-				if (child != null)
-					appendDelimBefore(node, null, source);
-				else
-					appendDelimBefore(node.getParentNode(), null, source);
-			}
-			else { // normal case
-				appendDelimBefore(node, null, source);
-			}
-		}
-
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, IRegion region, String toAppend, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		if (child != null && child.getNodeType() == ICSSNode.MEDIALIST_NODE) { // between
-																				// "@media"
-																				// and
-																				// mediatype
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0 || needS(outside[0]))
-					appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy)); // must
-																		// be
-																		// comments
-			}
-			if (needS(outside[1]) && ((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength()) {
-				appendSpaceBefore(node, toAppend, source);
-			}
-		}
-		else if (child != null && (child.getPreviousSibling() == null || child.getPreviousSibling().getNodeType() == ICSSNode.MEDIALIST_NODE)) { // between
-																																					// mediatype
-																																					// and
-																																					// the
-																																					// first
-																																					// style
-																																					// rule
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0 || needS(outside[0]))
-					appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy)); // must
-																		// be
-																		// comments
-			}
-			if (needS(outside[1]) && ((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength()) {
-				appendDelimBefore(node, null, source);
-			}
-		}
-		else { // between styles
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0 || needS(outside[0]))
-					appendDelimBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy)); // must
-																		// be
-																		// comments
-			}
-			if (needS(outside[1]) && ((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength()) {
-				appendDelimBefore(node, null, source);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, StringBuffer source) {
-		int end = ((IndexedRegion) node).getEndOffset();
-		int start = (node.getLastChild() != null && ((IndexedRegion) node.getLastChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getLastChild()).getEndOffset() : getChildInsertPos(node);
-		if (end > 0 && start < end) { // source formatting
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			if (node.getLastChild() == null || node.getLastChild().getNodeType() != ICSSNode.MEDIALIST_NODE) {
-				for (int i = 0; i < regions.length; i++) {
-					appendDelimBefore(node, regions[i], source);
-					source.append(decoratedRegion(regions[i], 0, stgy));
-				}
-			}
-			else {
-				boolean bInCurlyBrace = false;
-				for (int i = 0; i < regions.length; i++) {
-					if (!bInCurlyBrace)
-						appendSpaceBefore(node, regions[i], source);
-					else
-						appendDelimBefore(node, regions[i], source);
-					source.append(decoratedRegion(regions[i], 0, stgy));
-					if (regions[i].getType() == CSSRegionContexts.CSS_LBRACE)
-						bInCurlyBrace = true;
-				}
-			}
-		}
-		else { // source generation
-			String delim = getLineDelimiter(node);
-			if (node.getLastChild() != null && node.getLastChild().getNodeType() == ICSSNode.MEDIALIST_NODE) {
-				appendSpaceBefore(node, "{", source);//$NON-NLS-1$
-				source.append("{");//$NON-NLS-1$
-			}
-
-			source.append(delim);
-			source.append(getIndent(node));
-			source.append("}");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendDelimBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 0, stgy));
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		if (end > 0) { // source formatting
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0)
-					appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedIdentRegion(regions[i], stgy));
-			}
-		}
-		else { // source generation
-			String str = MEDIA;
-			if (mgr.isIdentUpperCase())
-				str = MEDIA.toUpperCase();
-			source.append(str);
-		}
-		ICSSNode child = node.getFirstChild();
-		if (child != null && (child instanceof org.w3c.dom.stylesheets.MediaList) && ((org.w3c.dom.stylesheets.MediaList) child).getLength() > 0) {
-			appendSpaceBefore(node, "", source);//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedIdentRegion(regions[i], stgy));
-		}
-		if (needS(outside[1]) && !isIncludesPreEnd(node, region))
-			appendSpaceBefore(node, outside[1], source);
-	}
-
-	/**
-	 * 
-	 */
-	public int getChildInsertPos(ICSSNode node) {
-		int n = ((IndexedRegion) node).getEndOffset();
-		if (n > 0) {
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
-			if (flatNode.getRegionAtCharacterOffset(n - 1).getType() == CSSRegionContexts.CSS_LBRACE)
-				return n - 1;
-			else
-				return n;
-		}
-		return -1;
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static MediaRuleFormatter getInstance() {
-		if (instance == null)
-			instance = new MediaRuleFormatter();
-		return instance;
-	}
-
-	/**
-	 * 
-	 * @return int
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param insertPos
-	 *            int
-	 */
-	public int getLengthToReformatAfter(ICSSNode node, int insertPos) {
-		if (node == null)
-			return 0;
-		IndexedRegion nnode = (IndexedRegion) node;
-		if (insertPos <= 0 || !nnode.contains(insertPos - 1))
-			return 0;
-
-		if (node.getFirstChild().getNextSibling() == node.getLastChild()) { // inserted
-																			// first
-																			// style
-																			// rule
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(insertPos);
-			if (flatNode == null)
-				return 0;
-			ITextRegion region = flatNode.getRegionAtCharacterOffset(insertPos);
-			if (region == null)
-				return 0;
-			RegionIterator it = new RegionIterator(flatNode, region);
-			while (it.hasNext()) {
-				region = it.next();
-				if (region.getType() == CSSRegionContexts.CSS_LBRACE)
-					break;
-				if (nnode.getEndOffset() <= it.getStructuredDocumentRegion().getEndOffset(region))
-					break;
-			}
-			int pos = it.getStructuredDocumentRegion().getStartOffset(region) - insertPos;
-			return (pos >= 0) ? pos : 0;
-
-		}
-		return super.getLengthToReformatAfter(node, insertPos);
-	}
-
-	/**
-	 * 
-	 * @return int
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param insertPos
-	 *            int
-	 */
-	public int getLengthToReformatBefore(ICSSNode node, int insertPos) {
-		if (node == null)
-			return 0;
-		IndexedRegion nnode = (IndexedRegion) node;
-		if (insertPos <= 0 || !nnode.contains(insertPos - 1))
-			return 0;
-
-		if (node.getFirstChild().getNextSibling() == node.getLastChild()) { // inserted
-																			// first
-																			// style
-																			// rule
-			int pos = ((IndexedRegion) node.getFirstChild()).getEndOffset();
-			if (pos <= 0)
-				pos = ((IndexedRegion) node).getStartOffset() + 6 /*
-																	 * length
-																	 * of
-																	 * "@media"
-																	 */;
-			return insertPos - pos;
-		}
-		return super.getLengthToReformatBefore(node, insertPos);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PageRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PageRuleFormatter.java
deleted file mode 100644
index 8d199db..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PageRuleFormatter.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPageRule;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * 
- */
-public class PageRuleFormatter extends DeclContainerFormatter {
-
-	public final static java.lang.String PAGE = "@page";//$NON-NLS-1$
-	private static PageRuleFormatter instance;
-
-	/**
-	 * 
-	 */
-	PageRuleFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext context) {
-		StringBuffer buf = new StringBuffer();
-		if (node == null || attr == null)
-			return buf;
-
-		if (!ICSSPageRule.SELECTOR.equalsIgnoreCase(attr.getName()))
-			return buf;
-
-		// get region to replace
-		if (context != null && ((IndexedRegion) node).getEndOffset() > 0) {
-			if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0) {
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) attr).getEndOffset() - 1);
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) attr).getEndOffset() - 1);
-				RegionIterator it = new RegionIterator(flatNode, region);
-				it.next();
-				if (it.hasNext()) {
-					ITextRegion next = it.next();
-					if (next.getType() == CSSRegionContexts.CSS_S)
-						context.end = it.getStructuredDocumentRegion().getEndOffset(next);
-					else
-						context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-				}
-				else
-					context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-				context.start = it.getStructuredDocumentRegion().getStartOffset(region);
-			}
-			else {
-				int pos = getAttrInsertPos(node, attr.getName());
-				context.start = pos;
-				context.end = pos;
-				/*
-				 * IStructuredDocumentRegion flatNode =
-				 * node.getOwnerDocument().getModel().getStructuredDocument().getNodeAtCharacterOffset(((IndexedRegion)node).getStartOffset());
-				 * ITextRegion region =
-				 * flatNode.getRegionAtCharacterOffset(((IndexedRegion)node).getStartOffset());
-				 * if (region.getType() == CSSRegionContexts.S) {
-				 * context.start = region.getStartOffset(); context.end =
-				 * region.getEndOffset(); } else { context.start =
-				 * flatNode.getEndOffset() + 1; context.end =
-				 * flatNode.getEndOffset(); }
-				 */}
-		}
-		// generate text
-		if (insert) {
-			String val = attr.getValue();
-			if (val != null && val.length() > 0) {
-				buf.append(val);
-				appendSpaceBefore(node, "", buf);//$NON-NLS-1$
-			}
-		}
-		return buf;
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		if (end > 0) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0)
-					appendSpaceBetween(node, regions[i - 1], regions[i], source);
-				source.append(decoratedIdentRegion(regions[i], stgy));
-			}
-		}
-		else { // generate source
-			String str = PAGE;
-			if (mgr.isIdentUpperCase())
-				str = PAGE.toUpperCase();
-			source.append(str);
-			str = ((ICSSPageRule) node).getSelectorText();
-			if (str != null && str.length() > 0) {
-				appendSpaceBefore(node, str, source);
-				source.append(str);
-			}
-			appendSpaceBefore(node, "{", source);//$NON-NLS-1$
-			source.append("{");//$NON-NLS-1$
-		}
-		appendDelimBefore(node, null, source);
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBetween(node, (i == 0) ? outside[0] : regions[i - 1], regions[i], source);
-			source.append(decoratedIdentRegion(regions[i], stgy));
-		}
-		if (needS(outside[1])) {
-			if (isIncludesPreEnd(node, region))
-				appendDelimBefore(node, null, source);
-			else
-				appendSpaceBetween(node, regions[regions.length - 1], outside[1], source);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public int getAttrInsertPos(ICSSNode node, String attrName) {
-		if (node == null || attrName == null || attrName.length() == 0)
-			return -1;
-
-		if (!ICSSPageRule.SELECTOR.equalsIgnoreCase(attrName))
-			return -1;
-
-		ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICSSPageRule.SELECTOR);
-		if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
-			return ((IndexedRegion) attr).getStartOffset();
-		else if (((IndexedRegion) node).getEndOffset() > 0) {
-			IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getStartOffset());
-			ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getStartOffset());
-			RegionIterator it = new RegionIterator(flatNode, region);
-			while (it.hasNext()) {
-				region = it.next();
-				if (region.getType() == CSSRegionContexts.CSS_LBRACE) {
-					return it.getStructuredDocumentRegion().getStartOffset(region);
-				}
-				if (it.getStructuredDocumentRegion().getEndOffset(region) >= ((IndexedRegion) node).getEndOffset())
-					break;
-			}
-		}
-		return ((IndexedRegion) node).getStartOffset();
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static PageRuleFormatter getInstance() {
-		if (instance == null)
-			instance = new PageRuleFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PrimitiveValueFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PrimitiveValueFormatter.java
deleted file mode 100644
index d1a1542..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/PrimitiveValueFormatter.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.w3c.dom.css.CSSPrimitiveValue;
-
-
-/**
- * 
- */
-public class PrimitiveValueFormatter extends DefaultCSSSourceFormatter {
-
-	private static PrimitiveValueFormatter instance;
-
-	/**
-	 * 
-	 */
-	PrimitiveValueFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = ((IndexedRegion) node).getEndOffset();
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		if (end > 0) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			boolean appendQuote = regions.length > 1 && node.getParentNode() instanceof ICSSStyleDeclItem && isCleanup() && getCleanupStrategy(node).isQuoteValues() && (((ICSSStyleDeclItem) node.getParentNode()).getPropertyName().equals(PropCMProperty.P_FONT) || ((ICSSStyleDeclItem) node.getParentNode()).getPropertyName().equals(PropCMProperty.P_FONT_FAMILY) || ((ICSSStyleDeclItem) node.getParentNode()).getPropertyName().equals(PropCMProperty.P_VOICE_FAMILY));
-			String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
-
-			StringBuffer strBuf = new StringBuffer();
-			boolean skipSpace = false;
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0 && !skipSpace)
-					appendSpaceBefore(node, regions[i], strBuf);
-				skipSpace = false;
-				strBuf.append(decoratedPropValueRegion(regions[i], stgy));
-				if (regions[i].getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION)
-					skipSpace = true;
-			}
-
-			if (appendQuote) {
-				source.append(quote);
-				String str = strBuf.toString();
-				str = str.replace('\'', ' ');
-				str = str.replace('\"', ' ');
-				str = str.trim();
-				source.append(str);
-				source.append(quote);
-			}
-			else {
-				source.append(strBuf);
-			}
-		}
-		else { // generate source
-			ICSSPrimitiveValue value = (ICSSPrimitiveValue) node;
-			short type = value.getPrimitiveType();
-			String quote = mgr.getQuoteString(node.getOwnerDocument().getModel());
-
-			String str = null;
-			switch (type) {
-				case CSSPrimitiveValue.CSS_NUMBER :
-				case CSSPrimitiveValue.CSS_PERCENTAGE :
-				case CSSPrimitiveValue.CSS_EMS :
-				case CSSPrimitiveValue.CSS_EXS :
-				case CSSPrimitiveValue.CSS_PX :
-				case CSSPrimitiveValue.CSS_CM :
-				case CSSPrimitiveValue.CSS_MM :
-				case CSSPrimitiveValue.CSS_IN :
-				case CSSPrimitiveValue.CSS_PT :
-				case CSSPrimitiveValue.CSS_PC :
-				case CSSPrimitiveValue.CSS_DEG :
-				case CSSPrimitiveValue.CSS_RAD :
-				case CSSPrimitiveValue.CSS_GRAD :
-				case CSSPrimitiveValue.CSS_MS :
-				case CSSPrimitiveValue.CSS_S :
-				case CSSPrimitiveValue.CSS_HZ :
-				case CSSPrimitiveValue.CSS_KHZ :
-				case CSSPrimitiveValue.CSS_DIMENSION :
-				case ICSSPrimitiveValue.CSS_INTEGER :
-					if (value.getFloatValue(type) == ((int) value.getFloatValue(type))) {
-						str = Integer.toString((int) value.getFloatValue(type));
-					}
-					else {
-						str = Float.toString(value.getFloatValue(type));
-					}
-					break;
-				case CSSPrimitiveValue.CSS_IDENT :
-				case ICSSPrimitiveValue.CSS_HASH :
-				case ICSSPrimitiveValue.CSS_INHERIT_PRIMITIVE :
-					str = value.getStringValue();
-					if (str != null) {
-						if (mgr.isPropValueUpperCase())
-							str = str.toUpperCase();
-						else
-							str.toLowerCase();
-					}
-					break;
-				case CSSPrimitiveValue.CSS_STRING :
-				case CSSPrimitiveValue.CSS_URI :
-				case CSSPrimitiveValue.CSS_ATTR :
-				case ICSSPrimitiveValue.CSS_URANGE :
-				case ICSSPrimitiveValue.CSS_FORMAT :
-				case ICSSPrimitiveValue.CSS_LOCAL :
-				case ICSSPrimitiveValue.CSS_COMMA :
-				case ICSSPrimitiveValue.CSS_SLASH :
-					str = value.getStringValue();
-			}
-
-			String preStr = null, postStr = null;
-			switch (type) {
-				case CSSPrimitiveValue.CSS_ATTR :
-					preStr = "attr(";//$NON-NLS-1$
-					postStr = ")";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_CM :
-					postStr = "cm";//$NON-NLS-1$
-					break;
-				// case ICSSPrimitiveValue.CSS_COUNTER:
-				case CSSPrimitiveValue.CSS_DEG :
-					postStr = "deg";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_EMS :
-					postStr = "em";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_EXS :
-					postStr = "ex";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_GRAD :
-					postStr = "grad";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_HZ :
-					postStr = "Hz";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_IN :
-					postStr = "in";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_KHZ :
-					postStr = "kHz";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_MM :
-					postStr = "mm";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_MS :
-					postStr = "ms";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_PC :
-					postStr = "pc";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_PERCENTAGE :
-					postStr = "%";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_PT :
-					postStr = "pt";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_PX :
-					postStr = "px";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_RAD :
-					postStr = "rad";//$NON-NLS-1$
-					break;
-				// case ICSSPrimitiveValue.CSS_RECT:
-				// case ICSSPrimitiveValue.CSS_RGBCOLOR:
-				case CSSPrimitiveValue.CSS_S :
-					postStr = "s";//$NON-NLS-1$
-					break;
-				case CSSPrimitiveValue.CSS_STRING :
-					quote = CSSUtil.detectQuote(str, quote);
-					preStr = quote;
-					postStr = quote;
-					break;
-				case CSSPrimitiveValue.CSS_URI :
-					quote = CSSUtil.detectQuote(str, quote);
-					preStr = "url(" + quote;//$NON-NLS-1$
-					postStr = quote + ")";//$NON-NLS-1$
-					break;
-				// the followings are original primitive values
-				case CSSPrimitiveValue.CSS_IDENT :
-				case CSSPrimitiveValue.CSS_UNKNOWN :
-				// use str
-				case ICSSPrimitiveValue.CSS_INTEGER :
-				case ICSSPrimitiveValue.CSS_HASH :
-				case ICSSPrimitiveValue.CSS_SLASH :
-				case ICSSPrimitiveValue.CSS_COMMA :
-				case CSSPrimitiveValue.CSS_DIMENSION :
-				case CSSPrimitiveValue.CSS_NUMBER :
-				case ICSSPrimitiveValue.CSS_INHERIT_PRIMITIVE :
-					break;
-				case ICSSPrimitiveValue.CSS_URANGE :
-					preStr = "U+";//$NON-NLS-1$
-					break;
-				case ICSSPrimitiveValue.CSS_FORMAT :
-					quote = CSSUtil.detectQuote(str, quote);
-					preStr = "format(" + quote;//$NON-NLS-1$
-					postStr = quote + ")";//$NON-NLS-1$
-					break;
-				case ICSSPrimitiveValue.CSS_LOCAL :
-					quote = CSSUtil.detectQuote(str, quote);
-					preStr = "local(" + quote;//$NON-NLS-1$
-					postStr = quote + ")";//$NON-NLS-1$
-					break;
-			}
-			if (mgr.isPropValueUpperCase()) {
-				if (preStr != null)
-					preStr = preStr.toUpperCase();
-				if (postStr != null)
-					postStr = postStr.toUpperCase();
-			}
-			if (preStr != null)
-				source.append(preStr);
-			if (str != null)
-				source.append(str);
-			if (postStr != null)
-				source.append(postStr);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedPropValueRegion(regions[i], stgy));
-		}
-		if (needS(outside[1]) && !isIncludesPreEnd(node, region))
-			appendSpaceBefore(node, outside[1], source);
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static PrimitiveValueFormatter getInstance() {
-		if (instance == null)
-			instance = new PrimitiveValueFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/RGBFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/RGBFormatter.java
deleted file mode 100644
index a6909db..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/RGBFormatter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-/**
- * 
- */
-public class RGBFormatter extends FunctionFormatter {
-
-	private static RGBFormatter instance;
-
-	/**
-	 * 
-	 */
-	RGBFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected String getFunc() {
-		return "rgb(";//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static RGBFormatter getInstance() {
-		if (instance == null)
-			instance = new RGBFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/RectFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/RectFormatter.java
deleted file mode 100644
index f3ec832..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/RectFormatter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-/**
- * 
- */
-public class RectFormatter extends FunctionFormatter {
-
-	private static RectFormatter instance;
-
-	/**
-	 * 
-	 */
-	RectFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected String getFunc() {
-		return "rect(";//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static RectFormatter getInstance() {
-		if (instance == null)
-			instance = new RectFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclItemFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclItemFormatter.java
deleted file mode 100644
index e85f0b6..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclItemFormatter.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * 
- */
-public class StyleDeclItemFormatter extends DefaultCSSSourceFormatter {
-
-	private static StyleDeclItemFormatter instance;
-
-	/**
-	 * 
-	 */
-	StyleDeclItemFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	private void appendAfterColonSpace(ICSSNode node, StringBuffer source) {
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		int n = mgr.getSpacesPostDelimiter();
-
-		if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
-			int length = getLastLineLength(node, source);
-			int append = getFirstChildRegionLength(node);
-			if (length + n + append > mgr.getMaxLineWidth()) {
-				source.append(getLineDelimiter(node));
-				source.append(getIndent(node));
-				source.append(mgr.getIndentString());
-				n = 0; // no space is necessary
-			}
-		}
-		// no delimiter case
-		while (n-- > 0)
-			source.append(" ");//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	private int getFirstChildRegionLength(ICSSNode node) {
-		ICSSNode firstChild = node.getFirstChild();
-		if (firstChild == null)
-			return 1;
-		int start = ((IndexedRegion) firstChild).getStartOffset();
-		RegionIterator itr = new RegionIterator(node.getOwnerDocument().getModel().getStructuredDocument(), start);
-		while (itr.hasNext()) {
-			ITextRegion reg = itr.next();
-			if (reg != null && reg.getType() != CSSRegionContexts.CSS_S)
-				return reg.getTextLength();
-		}
-		return 1;
-	}
-
-	/**
-	 * 
-	 */
-	public StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext context) {
-		StringBuffer buf = new StringBuffer();
-		if (node == null || attr == null)
-			return buf;
-
-		if (!ICSSStyleDeclItem.IMPORTANT.equalsIgnoreCase(attr.getName()))
-			return buf;
-
-		// get region to replace
-		if (context != null && ((IndexedRegion) node).getEndOffset() > 0) {
-			if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0) {
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) attr).getStartOffset());
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) attr).getStartOffset());
-				RegionIterator it = new RegionIterator(flatNode, region);
-				it.prev();
-				if (it.hasPrev()) {
-					ITextRegion prev = it.prev();
-					if (prev.getType() == CSSRegionContexts.CSS_S)
-						context.start = it.getStructuredDocumentRegion().getStartOffset(prev);
-					else
-						context.start = it.getStructuredDocumentRegion().getStartOffset(region);
-				}
-				else
-					context.start = it.getStructuredDocumentRegion().getStartOffset(region);
-				context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-			}
-			else {
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getEndOffset() - 1);
-				if (region.getType() == CSSRegionContexts.CSS_S) {
-					context.start = flatNode.getStartOffset(region);
-					context.end = flatNode.getEndOffset(region);
-				}
-				else {
-					context.start = flatNode.getEndOffset();
-					context.end = flatNode.getEndOffset();
-				}
-			}
-		}
-		// generate text
-		if (insert && attr.getValue() != null && attr.getValue().length() > 0) {
-			appendSpaceBefore(node, attr.getValue(), buf);
-			buf.append(attr.getValue());
-		}
-		return buf;
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, String toAppend, StringBuffer source, IRegion exceptFor) {
-		ICSSNode prev = (child != null) ? child.getPreviousSibling() : node.getLastChild();
-		int start = (prev != null) ? ((IndexedRegion) prev).getEndOffset() : 0;
-		int end = (child != null) ? ((IndexedRegion) child).getStartOffset() : 0;
-		if (start > 0 && start < end) {
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			// get meaning regions
-			CompoundRegion[] regions = null;
-			if (exceptFor == null)
-				regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			else {
-				regions = getRegions(structuredDocument, new FormatRegion(start, end - start), exceptFor, null);
-			}
-			// generate source
-			for (int i = 0; i < regions.length; i++) {
-				appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 2, stgy)); // must
-																		// be
-																		// comments
-			}
-		}
-		if (child != null && child instanceof ICSSPrimitiveValue) {
-			if (((ICSSPrimitiveValue) child).getPrimitiveType() == ICSSPrimitiveValue.CSS_COMMA)
-				toAppend = ",";//$NON-NLS-1$
-			else if (((ICSSPrimitiveValue) child).getPrimitiveType() == ICSSPrimitiveValue.CSS_SLASH)
-				toAppend = "/";//$NON-NLS-1$
-		}
-		if (child != null && toAppend != null && !toAppend.equals(",") && !toAppend.equals("/")) //$NON-NLS-1$ //$NON-NLS-2$
-			appendSpaceBefore(node, toAppend, source);
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, IRegion region, String toAppend, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 2, stgy)); // must be
-																	// comments
-		}
-		if (needS(outside[1])) {
-			if (((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength()) {
-				if (toAppend != "," && toAppend != "/") //$NON-NLS-1$ //$NON-NLS-2$
-					appendSpaceBefore(node, toAppend, source);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int end = ((IndexedRegion) node).getEndOffset();
-		int start = (node.getLastChild() != null && ((IndexedRegion) node.getLastChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getLastChild()).getEndOffset() : getChildInsertPos(node);
-		if (end > 0 && start < end) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedIdentRegion(regions[i], stgy));
-			}
-		}
-		else { // generate source
-			// append "!important"
-			String priority = ((ICSSStyleDeclItem) node).getPriority();
-			if (priority != null && priority.length() > 0) {
-				CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-				if (!mgr.isPreserveCase()) {
-					if (mgr.isIdentUpperCase())
-						priority = priority.toUpperCase();
-					else
-						priority = priority.toLowerCase();
-				}
-				appendSpaceBefore(node, priority, source);
-				source.append(priority);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedIdentRegion(regions[i], stgy));
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		if (end > 0) { // format source
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0)
-					appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedPropNameRegion(regions[i], stgy));
-			}
-		}
-		else { // generatoe source
-			ICSSStyleDeclItem item = (ICSSStyleDeclItem) node;
-			if (mgr.isPropNameUpperCase())
-				source.append(item.getPropertyName().toUpperCase());
-			else
-				source.append(item.getPropertyName());
-
-			int k = mgr.getSpacesPreDelimiter();
-			if (mgr.getMaxLineWidth() > 0 && (!mgr.isProhibitWrapOnAttr() || node.getOwnerDocument().getNodeType() != ICSSNode.STYLEDECLARATION_NODE)) {
-				int length = getLastLineLength(node, source);
-				int append = 1;
-				if (length + k + append > mgr.getMaxLineWidth()) {
-					source.append(getLineDelimiter(node));
-					source.append(getIndent(node));
-					source.append(mgr.getIndentString());
-					k = 0; // no space is necessary
-				}
-			}
-			// no delimiter case
-			while (k-- > 0)
-				source.append(" ");//$NON-NLS-1$
-			source.append(":");//$NON-NLS-1$
-		}
-		if (!isCleanup() || getCleanupStrategy(node).isFormatSource()) {
-			appendAfterColonSpace(node, source);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedPropNameRegion(regions[i], stgy));
-		}
-		if (needS(outside[1])) {
-			if (isIncludesPreEnd(node, region) && (!isCleanup() || getCleanupStrategy(node).isFormatSource())) {
-				appendAfterColonSpace(node, source);
-			}
-			else
-				appendSpaceBefore(node, outside[1], source);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public StringBuffer formatValue(ICSSNode node) {
-		StringBuffer source = new StringBuffer();
-		formatChildren(node, source);
-
-		return source;
-	}
-
-	/**
-	 * 
-	 */
-	public int getAttrInsertPos(ICSSNode node, String attrName) {
-		if (node == null || attrName == null || attrName.length() == 0)
-			return -1;
-
-		if (!ICSSStyleDeclItem.IMPORTANT.equalsIgnoreCase(attrName))
-			return -1;
-
-		ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICSSStyleDeclItem.IMPORTANT);
-		if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
-			return ((IndexedRegion) attr).getStartOffset();
-		else {
-			IndexedRegion iNode = (IndexedRegion) node;
-			if (iNode.getEndOffset() <= 0)
-				return -1;
-
-			CompoundRegion regions[] = getRegionsWithoutWhiteSpaces(node.getOwnerDocument().getModel().getStructuredDocument(), new FormatRegion(iNode.getStartOffset(), iNode.getEndOffset() - iNode.getStartOffset()), getCleanupStrategy(node));
-			for (int i = regions.length - 1; i >= 0; i--) {
-				if (regions[i].getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_IMPORTANT)
-					return regions[i].getStartOffset();
-			}
-			return iNode.getEndOffset();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public int getChildInsertPos(ICSSNode node) {
-		int n = ((IndexedRegion) node).getEndOffset();
-		if (n < 0) {
-			return -1;
-		}
-		IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
-		if (flatNode != null && flatNode.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-			n -= flatNode.getLength();
-		}
-		if (n > 0) {
-			String important = ((ICSSStyleDeclItem) node).getPriority();
-			if (important != null && important.length() > 0) {
-				// find before "!important" position
-				flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
-				RegionIterator it = new RegionIterator(flatNode, flatNode.getRegionAtCharacterOffset(n - 1));
-				while (it.hasPrev()) {
-					ITextRegion region = it.prev();
-					if (it.getStructuredDocumentRegion() != flatNode)
-						break;
-					if (region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_IMPORTANT)
-						return it.getStructuredDocumentRegion().getStartOffset(region);
-				}
-			}
-			// skip last space
-			flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(n - 1);
-			ITextRegion region = flatNode.getRegionAtCharacterOffset(n - 1);
-			if (region != null) {
-				n -= region.getLength() - region.getTextLength();
-			}
-
-			return n;
-		}
-		else
-			return -1;
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static StyleDeclItemFormatter getInstance() {
-		if (instance == null)
-			instance = new StyleDeclItemFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclarationFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclarationFormatter.java
deleted file mode 100644
index 2278b43..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleDeclarationFormatter.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * 
- */
-public class StyleDeclarationFormatter extends DefaultCSSSourceFormatter {
-
-	private static StyleDeclarationFormatter instance;
-
-	/**
-	 * 
-	 */
-	StyleDeclarationFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, String toAppend, StringBuffer source, IRegion exceptFor) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		ICSSNode prev = (child != null) ? child.getPreviousSibling() : node.getLastChild();
-		int start = (prev != null) ? ((IndexedRegion) prev).getEndOffset() : 0;
-		int end = (child != null) ? ((IndexedRegion) child).getStartOffset() : 0;
-
-		// check no child
-		if (child == null && prev == null)
-			return;
-
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		if (start > 0 && start < end) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			// get meaning regions
-			CompoundRegion[] regions = null;
-			if (exceptFor == null)
-				regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			else {
-				String pickupType = CSSRegionContexts.CSS_DECLARATION_DELIMITER;
-				if (prev == null || child == null)
-					pickupType = null;
-				regions = getRegions(structuredDocument, new FormatRegion(start, end - start), exceptFor, pickupType);
-			}
-			// extract source
-			for (int i = 0; i < regions.length; i++) {
-				appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy)); // must
-																		// be
-																		// comments
-			}
-		}
-		else if (prev != null && child != null) { // generate source :
-													// between two
-													// declarations
-			source.append(";");//$NON-NLS-1$
-		}
-		else if (prev == null) { // generate source : before the first
-									// declaration
-			org.eclipse.wst.css.core.util.RegionIterator it = null;
-			if (end > 0) {
-				IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-				it = new org.eclipse.wst.css.core.util.RegionIterator(structuredDocument, end - 1);
-			}
-			else {
-				int pos = getChildInsertPos(node);
-				if (pos >= 0) {
-					IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-					it = new org.eclipse.wst.css.core.util.RegionIterator(structuredDocument, pos - 1);
-				}
-			}
-			if (it != null) {
-				int limit = ((IndexedRegion) ((node.getParentNode() != null) ? node.getParentNode() : node)).getStartOffset();
-				while (it.hasPrev()) {
-					ITextRegion curReg = it.prev();
-					if (curReg.getType() == CSSRegionContexts.CSS_LBRACE || curReg.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER)
-						break;
-					if (curReg.getType() != CSSRegionContexts.CSS_S && curReg.getType() != CSSRegionContexts.CSS_COMMENT) {
-						source.append(";");//$NON-NLS-1$
-						break;
-					}
-					if (it.getStructuredDocumentRegion().getStartOffset(curReg) <= limit)
-						break;
-				}
-			}
-		}
-		else if (child == null) { // generate source : after the last
-									// declaration
-			org.eclipse.wst.css.core.util.RegionIterator it = null;
-			if (start > 0) {
-				IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-				it = new org.eclipse.wst.css.core.util.RegionIterator(structuredDocument, start);
-			}
-			else {
-				int pos = getChildInsertPos(node);
-				if (pos >= 0) {
-					IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-					it = new org.eclipse.wst.css.core.util.RegionIterator(structuredDocument, pos);
-				}
-			}
-			if (it != null) {
-				int limit = ((IndexedRegion) ((node.getParentNode() != null) ? node.getParentNode() : node)).getEndOffset();
-				while (it.hasNext()) {
-					ITextRegion curReg = it.next();
-					if (curReg.getType() == CSSRegionContexts.CSS_RBRACE || curReg.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER)
-						break;
-					if (curReg.getType() != CSSRegionContexts.CSS_S && curReg.getType() != CSSRegionContexts.CSS_COMMENT) {
-						source.append(";");//$NON-NLS-1$
-						break;
-					}
-					if (limit <= it.getStructuredDocumentRegion().getEndOffset(curReg))
-						break;
-				}
-			}
-		}
-		if (child == null) {
-			if (((IndexedRegion) node).getEndOffset() <= 0) {
-				// get next region
-				int pos = getChildInsertPos(node);
-				CompoundRegion toAppendRegion = null;
-				if (pos >= 0) {
-					IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-					IStructuredDocumentRegion flatNode = structuredDocument.getRegionAtCharacterOffset(pos);
-					toAppendRegion = new CompoundRegion(flatNode, flatNode.getRegionAtCharacterOffset(pos));
-				}
-				appendDelimBefore(node.getParentNode(), toAppendRegion, source);
-			}
-		}
-		else if ((prev != null || ((IndexedRegion) node).getEndOffset() <= 0)) {
-			if (mgr.isOnePropertyPerLine() && (node.getOwnerDocument() != node || !mgr.isProhibitWrapOnAttr()))
-				appendDelimBefore(node, null, source);
-			else if (prev != null || node.getOwnerDocument() != node)
-				appendSpaceBefore(node, toAppend, source);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, IRegion region, String toAppend, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 0, stgy)); // must be
-																	// comments
-		}
-		if (needS(outside[1])) {
-			if (((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength() && mgr.isOnePropertyPerLine() && (node.getOwnerDocument() != node || !mgr.isProhibitWrapOnAttr())) {
-				appendDelimBefore(node, null, source);
-			}
-			else
-				appendSpaceBefore(node, toAppend, source);
-		}
-	}
-
-	/**
-	 * Insert the method's description here.
-	 */
-	public int getChildInsertPos(ICSSNode node) {
-		if (node == null)
-			return -1;
-		int pos = super.getChildInsertPos(node);
-		if (pos < 0) {
-			CSSSourceGenerator formatter = getParentFormatter(node);
-			return (formatter != null) ? formatter.getChildInsertPos(node.getParentNode()) : -1;
-		}
-		else
-			return pos;
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static StyleDeclarationFormatter getInstance() {
-		if (instance == null)
-			instance = new StyleDeclarationFormatter();
-		return instance;
-	}
-
-	/**
-	 * 
-	 * @return int
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param insertPos
-	 *            int
-	 */
-	public int getLengthToReformatAfter(ICSSNode node, int insertPos) {
-		if (node == null)
-			return 0;
-		IndexedRegion nnode = (IndexedRegion) node;
-		if (insertPos < 0 || !nnode.contains(insertPos)) {
-			if (node.getParentNode() != null && nnode.getEndOffset() <= 0) {
-				CSSSourceGenerator pntFormatter = getParentFormatter(node);
-				if (pntFormatter != null)
-					return pntFormatter.getLengthToReformatAfter(node.getParentNode(), insertPos);
-			}
-			return 0;
-		}
-		return super.getLengthToReformatAfter(node, insertPos);
-	}
-
-	/**
-	 * 
-	 * @return int
-	 * @param node
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSNode
-	 * @param insertPos
-	 *            int
-	 */
-	public int getLengthToReformatBefore(ICSSNode node, int insertPos) {
-		if (node == null)
-			return 0;
-		IndexedRegion nnode = (IndexedRegion) node;
-		if (insertPos <= 0 || !nnode.contains(insertPos - 1)) {
-			if (node.getParentNode() != null && nnode.getEndOffset() <= 0) {
-				CSSSourceGenerator pntFormatter = getParentFormatter(node);
-				if (pntFormatter != null)
-					return pntFormatter.getLengthToReformatBefore(node.getParentNode(), insertPos);
-			}
-			return 0;
-		}
-		return super.getLengthToReformatBefore(node, insertPos);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleRuleFormatter.java
deleted file mode 100644
index ac955bd..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleRuleFormatter.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSAttr;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * 
- */
-public class StyleRuleFormatter extends DeclContainerFormatter {
-
-	private static StyleRuleFormatter instance;
-
-	/**
-	 * 
-	 */
-	StyleRuleFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public StringBuffer formatAttrChanged(ICSSNode node, ICSSAttr attr, boolean insert, AttrChangeContext context) {
-		StringBuffer buf = new StringBuffer();
-		if (node == null || attr == null)
-			return buf;
-
-		if (!ICSSStyleRule.SELECTOR.equalsIgnoreCase(attr.getName()))
-			return buf;
-
-		// get region to replace
-		if (context != null && ((IndexedRegion) node).getEndOffset() > 0) {
-			if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0) {
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) attr).getEndOffset() - 1);
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) attr).getEndOffset() - 1);
-				RegionIterator it = new RegionIterator(flatNode, region);
-				it.next();
-				if (it.hasNext()) {
-					ITextRegion next = it.next();
-					if (next.getType() == CSSRegionContexts.CSS_S)
-						context.end = it.getStructuredDocumentRegion().getEndOffset(next);
-					else
-						context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-				}
-				else
-					context.end = it.getStructuredDocumentRegion().getEndOffset(region);
-				context.start = it.getStructuredDocumentRegion().getStartOffset(region);
-			}
-			else {
-				IStructuredDocumentRegion flatNode = node.getOwnerDocument().getModel().getStructuredDocument().getRegionAtCharacterOffset(((IndexedRegion) node).getStartOffset());
-				ITextRegion region = flatNode.getRegionAtCharacterOffset(((IndexedRegion) node).getStartOffset());
-				if (region.getType() == CSSRegionContexts.CSS_S) {
-					context.start = flatNode.getStartOffset(region);
-					context.end = flatNode.getEndOffset(region);
-				}
-				else {
-					context.start = flatNode.getEndOffset();
-					context.end = flatNode.getEndOffset();
-				}
-			}
-		}
-		// generate text
-		if (insert) {
-			buf.append(attr.getValue());
-			appendSpaceBefore(node, "", buf);//$NON-NLS-1$
-		}
-		return buf;
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
-		if (end > 0) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0)
-					appendSpaceBetween(node, regions[i - 1], regions[i], source);
-				source.append(decoratedSelectorRegion(regions[i], (i != 0) ? regions[i - 1] : null, stgy));
-			}
-		}
-		else { // generate source
-			String str = ((ICSSStyleRule) node).getSelectorText();
-			// appendSpaceBefore(node,str,source);
-			source.append(str);
-			appendSpaceBefore(node, "{", source);//$NON-NLS-1$
-			source.append("{");//$NON-NLS-1$
-		}
-		appendDelimBefore(node, null, source);
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBetween(node, (i == 0) ? outside[0] : regions[i - 1], regions[i], source);
-			source.append(decoratedSelectorRegion(regions[i], (i != 0) ? regions[i - 1] : null, stgy));
-		}
-		if (needS(outside[1])) {
-			if (isIncludesPreEnd(node, region))
-				appendDelimBefore(node, null, source);
-			else
-				appendSpaceBetween(node, regions[regions.length - 1], outside[1], source);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public int getAttrInsertPos(ICSSNode node, String attrName) {
-		if (node == null || attrName == null || attrName.length() == 0)
-			return -1;
-
-		if (!ICSSStyleRule.SELECTOR.equalsIgnoreCase(attrName))
-			return -1;
-
-		ICSSAttr attr = (ICSSAttr) node.getAttributes().getNamedItem(ICSSStyleRule.SELECTOR);
-		if (attr != null && ((IndexedRegion) attr).getEndOffset() > 0)
-			return ((IndexedRegion) attr).getStartOffset();
-		else
-			return ((IndexedRegion) node).getStartOffset();
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static StyleRuleFormatter getInstance() {
-		if (instance == null)
-			instance = new StyleRuleFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleSheetFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleSheetFormatter.java
deleted file mode 100644
index c97dfe2..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/StyleSheetFormatter.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * 
- */
-public class StyleSheetFormatter extends AbstractCSSSourceFormatter {
-
-	private static StyleSheetFormatter instance;
-
-	/**
-	 * 
-	 */
-	StyleSheetFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, String toAppend, StringBuffer source, IRegion exceptFor) {
-		String delim = getLineDelimiter(node);
-		ICSSNode prev = (child != null) ? child.getPreviousSibling() : node.getLastChild();
-		if (prev == null && child == null)
-			return;
-		int start = (prev != null) ? ((IndexedRegion) prev).getEndOffset() : 0;
-		int end = (child != null) ? ((IndexedRegion) child).getStartOffset() : 0;
-		if (start > 0 && start < end) {
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			// get meaning regions
-			CompoundRegion[] regions = null;
-			if (exceptFor == null)
-				regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			else {
-				String pickupType = CSSRegionContexts.CSS_DELIMITER;
-				if (prev == null)
-					pickupType = null;
-				regions = getRegions(structuredDocument, new FormatRegion(start, end - start), exceptFor, pickupType);
-			}
-			// generate source
-			if (prev != null) {
-				appendDelimBefore(node, (regions.length > 0) ? regions[0] : null, source);
-			}
-			for (int i = 0; i < regions.length; i++) {
-				appendDelimBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy)); // must
-																		// be
-																		// comments
-																		// or
-																		// semi_colon
-				if (regions[i].getType() == CSSRegionContexts.CSS_DELIMITER) {
-					// append delim after
-					appendDelimBefore(node, null, source);
-				}
-			}
-			if (prev != null)
-				appendDelimBefore(node, null, source);
-		}
-		else if (prev != null && child != null) { // source generation :
-													// between two rules
-			if (prev.getNodeType() == ICSSNode.IMPORTRULE_NODE || prev.getNodeType() == ICSSNode.CHARSETRULE_NODE || prev.getNodeType() == ICSSNode.UNKNOWNRULE_NODE)
-				source.append(";");//$NON-NLS-1$
-			source.append(delim);
-			source.append(delim);
-		}
-		else if (((IndexedRegion) node).getEndOffset() > 0) {
-			if (prev == null) { // source formatting : before the first rule
-				ICSSNode next = child.getNextSibling();
-				int pos = getChildInsertPos(node);
-				if (next != null && ((IndexedRegion) next).getEndOffset() > 0)
-					pos = ((IndexedRegion) next).getStartOffset();
-				if (pos != 0) {
-					IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-					CompoundRegion[] prevRegions = getRegions(structuredDocument, new FormatRegion(0, pos), null, null);
-					if (prevRegions != null && prevRegions.length > 0)
-						appendDelimBefore(node, null, source);
-				}
-			}
-			else if (child == null) { // source formatting : after the last
-										// rule
-				if (prev.getNodeType() == ICSSNode.IMPORTRULE_NODE || prev.getNodeType() == ICSSNode.CHARSETRULE_NODE || prev.getNodeType() == ICSSNode.UNKNOWNRULE_NODE)
-					source.append(";");//$NON-NLS-1$
-				if (start > 0 && start <= ((IndexedRegion) node).getEndOffset()) {
-					appendDelimBefore(node, null, source);
-				}
-				else if (start <= 0) {
-					int pos = getChildInsertPos(node);
-					if (pos < ((IndexedRegion) node).getEndOffset()) {
-						appendDelimBefore(node, null, source);
-					}
-				}
-			}
-		}
-		else if (prev != null && child == null) { // source generation :
-													// after the last rule
-			if (prev.getNodeType() == ICSSNode.IMPORTRULE_NODE || prev.getNodeType() == ICSSNode.CHARSETRULE_NODE || prev.getNodeType() == ICSSNode.UNKNOWNRULE_NODE)
-				source.append(";");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatBefore(ICSSNode node, ICSSNode child, IRegion region, String toAppend, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendDelimBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 0, stgy)); // must be
-																	// comments
-		}
-		if (needS(outside[1])) {
-			if (((IndexedRegion) child).getStartOffset() == region.getOffset() + region.getLength())
-				appendDelimBefore(node, null, source);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, StringBuffer source) {
-		int end = ((IndexedRegion) node).getEndOffset();
-		int start = (node.getLastChild() != null && ((IndexedRegion) node.getLastChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getLastChild()).getEndOffset() : getChildInsertPos(node);
-		if (end > 0 && start < end) {
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				appendDelimBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy));
-			}
-			if ((regions != null && regions.length > 0 && regions[regions.length - 1].getType() == CSSRegionContexts.CSS_CDC) || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED)
-				appendDelimBefore(node, null, source);
-		}
-		else { // source generation
-			ICSSNode lastChild = node.getLastChild();
-			if (lastChild != null && (lastChild.getNodeType() == ICSSNode.CHARSETRULE_NODE || lastChild.getNodeType() == ICSSNode.IMPORTRULE_NODE || lastChild.getNodeType() == ICSSNode.UNKNOWNRULE_NODE)) {
-				source.append(";");//$NON-NLS-1$
-			}
-			if (node.getOwnerDocument().getModel() != null && node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED)
-				appendDelimBefore(node, null, source);
-			return; // nothing
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPost(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendDelimBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 0, stgy));
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(org.eclipse.wst.css.core.document.ICSSNode node, java.lang.StringBuffer source) {
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node);
-		if (end > 0) {
-			CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0 || regions[i].getType() == CSSRegionContexts.CSS_CDO || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED)
-					appendDelimBefore(node, regions[i], source);
-				source.append(decoratedRegion(regions[i], 0, stgy));
-			}
-			if (node.getLastChild() != null && (source.length() > 0 || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED)) {
-				appendDelimBefore(node, null, source);
-			}
-		}
-		else if (node.getOwnerDocument().getModel() != null && node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) {
-			appendDelimBefore(node, null, source);
-			// source.append("<!--");
-			// appendDelimBefore(node,null, source);
-		}
-		else
-			return; // nothing
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, java.lang.StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]) || regions[i].getType() == CSSRegionContexts.CSS_CDO || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED)
-				appendDelimBefore(node, regions[i], source);
-			source.append(decoratedRegion(regions[i], 0, stgy));
-		}
-		if (needS(outside[1])) {
-			if (isIncludesPreEnd(node, region)) {
-				if (source.length() > 0 || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) {
-					String delim = getLineDelimiter(node);
-					source.append(delim);
-				}
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public int getChildInsertPos(ICSSNode node) {
-		int n = ((IndexedRegion) node).getEndOffset();
-		if (n > 0) {
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			IStructuredDocumentRegion flatNode = structuredDocument.getRegionAtCharacterOffset(n - 1);
-			ITextRegion region = flatNode.getRegionAtCharacterOffset(n - 1);
-			RegionIterator it = new RegionIterator(flatNode, region);
-			while (it.hasPrev()) {
-				ITextRegion reg = it.prev();
-				if (reg.getType() == CSSRegionContexts.CSS_CDC)
-					return it.getStructuredDocumentRegion().getStartOffset(reg);
-			}
-			return n;
-		}
-		return -1;
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static StyleSheetFormatter getInstance() {
-		if (instance == null)
-			instance = new StyleSheetFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/UnknownRuleFormatter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/UnknownRuleFormatter.java
deleted file mode 100644
index a3dcad1..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/UnknownRuleFormatter.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.formatter;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.w3c.dom.css.CSSUnknownRule;
-
-
-/**
- * 
- */
-public class UnknownRuleFormatter extends DefaultCSSSourceFormatter {
-
-	private static UnknownRuleFormatter instance;
-
-	/**
-	 * 
-	 */
-	UnknownRuleFormatter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		int start = ((IndexedRegion) node).getStartOffset();
-		int end = ((IndexedRegion) node).getEndOffset();
-		if (end > 0) { // format source
-			IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-			CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy);
-			for (int i = 0; i < regions.length; i++) {
-				if (i != 0)
-					appendSpaceBefore(node, regions[i], source);
-				source.append(decoratedPropValueRegion(regions[i], stgy));
-			}
-		}
-		else { // generate source
-			CSSUnknownRule rule = (CSSUnknownRule) node;
-			source.append(rule.getCssText());
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void formatPre(ICSSNode node, IRegion region, StringBuffer source) {
-		CSSCleanupStrategy stgy = getCleanupStrategy(node);
-
-		IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument();
-		CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy);
-		CompoundRegion[] outside = getOutsideRegions(structuredDocument, region);
-		for (int i = 0; i < regions.length; i++) {
-			if (i != 0 || needS(outside[0]))
-				appendSpaceBefore(node, regions[i], source);
-			source.append(decoratedPropValueRegion(regions[i], stgy));
-		}
-		if (needS(outside[1]) && !isIncludesPreEnd(node, region))
-			appendSpaceBefore(node, outside[1], source);
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static UnknownRuleFormatter getInstance() {
-		if (instance == null)
-			instance = new UnknownRuleFormatter();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMCategoryImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMCategoryImpl.java
deleted file mode 100644
index db07505..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMCategoryImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMCategory;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-class CSSMMCategoryImpl extends CSSMMNodeImpl implements CSSMMCategory {
-
-	public CSSMMCategoryImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_CATEGORY;
-	}
-
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return false;
-	}
-
-	public String getCaption() {
-		return fCaption;
-	}
-
-	void setCaption(String caption) {
-		fCaption = caption;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#getError()
-	 */
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else if (getCaption() == null) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-
-	/*
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return getCaption();
-	}
-
-
-	private String fCaption = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMCharsetRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMCharsetRuleImpl.java
deleted file mode 100644
index 6e11efb..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMCharsetRuleImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMCharsetRule;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-class CSSMMCharsetRuleImpl extends CSSMMNodeImpl implements CSSMMCharsetRule {
-
-
-	public CSSMMCharsetRuleImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_CHARSET_RULE;
-	}
-
-	public String getName() {
-		return NAME_NOT_AVAILABLE;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return false;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#getError()
-	 */
-	short getError() {
-		return MetaModelErrors.NO_ERROR;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMContainerImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMContainerImpl.java
deleted file mode 100644
index 5903c55..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMContainerImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMContainer;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-class CSSMMContainerImpl extends CSSMMNodeImpl implements CSSMMContainer {
-
-
-	public CSSMMContainerImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_CONTAINER;
-	}
-
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		if (child == null) {
-			return false;
-		}
-		String type = child.getType();
-		return (type == TYPE_NUMBER || type == TYPE_KEYWORD || type == TYPE_FUNCTION || type == TYPE_CONTAINER);
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#getError()
-	 */
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else if (getChildCount() == 0) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMDescriptorImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMDescriptorImpl.java
deleted file mode 100644
index b341069..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMDescriptorImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMDescriptor;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-
-class CSSMMDescriptorImpl extends CSSMMNodeImpl implements CSSMMDescriptor {
-
-
-	public CSSMMDescriptorImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_DESCRIPTOR;
-	}
-
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		if (child == null) {
-			return false;
-		}
-		String type = child.getType();
-		return (type == TYPE_NUMBER || type == TYPE_KEYWORD || type == TYPE_FUNCTION || type == TYPE_CONTAINER || type == TYPE_STRING || type == TYPE_SEPARATOR);
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#getError()
-	 */
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else if (getChildCount() == 0) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-
-	/*
-	 * @see CSSMMDescriptor#getValues()
-	 */
-	public Iterator getValues() {
-		ValueCollector collector = new ValueCollector();
-		collector.apply(this);
-		return collector.getNodes();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMFontFaceRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMFontFaceRuleImpl.java
deleted file mode 100644
index 2e1c22f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMFontFaceRuleImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMFontFaceRule;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-class CSSMMFontFaceRuleImpl extends CSSMMNodeImpl implements CSSMMFontFaceRule {
-
-
-	public CSSMMFontFaceRuleImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_FONT_FACE_RULE;
-	}
-
-	public String getName() {
-		return NAME_NOT_AVAILABLE;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return (child != null && child.getType() == TYPE_DESCRIPTOR);
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#getError()
-	 */
-	short getError() {
-		return MetaModelErrors.NO_ERROR;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMFunctionImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMFunctionImpl.java
deleted file mode 100644
index 0be028e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMFunctionImpl.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMFunction;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-class CSSMMFunctionImpl extends CSSMMNodeImpl implements CSSMMFunction {
-
-	public CSSMMFunctionImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_FUNCTION;
-	}
-
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	public String getFunctionString() {
-		return fValue;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return false;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#postSetAttribute()
-	 */
-	// void postSetAttribute() throws BadInitializationException {
-	// super.postSetAttribute();
-	// String name = getName();
-	// if (name == null) { throw new BadInitializationException(); }
-	//
-	// List list = new ArrayList();
-	// list.add(CSSFunctionID.F_ATTR);
-	// list.add(CSSFunctionID.F_COUNTER);
-	// list.add(CSSFunctionID.F_RGB);
-	// list.add(CSSFunctionID.F_RECT);
-	// list.add(CSSFunctionID.F_URI);
-	// list.add(CSSFunctionID.F_FORMAT);
-	// list.add(CSSFunctionID.F_LOCAL);
-	//
-	// if (! list.contains(name.toLowerCase())) {
-	// throw new BadInitializationException();
-	// }
-	// }
-	/*
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return getFunctionString();
-	}
-
-	void setFunctionString(String value) {
-		fValue = value;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#getError()
-	 */
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else if (getFunctionString() == null) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-
-
-	private String fValue = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMImportRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMImportRuleImpl.java
deleted file mode 100644
index 0f40141..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMImportRuleImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMImportRule;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-class CSSMMImportRuleImpl extends CSSMMNodeImpl implements CSSMMImportRule {
-
-
-	public CSSMMImportRuleImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_IMPORT_RULE;
-	}
-
-	public String getName() {
-		return NAME_NOT_AVAILABLE;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return false;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#getError()
-	 */
-	short getError() {
-		return MetaModelErrors.NO_ERROR;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMKeywordImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMKeywordImpl.java
deleted file mode 100644
index f82b67b..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMKeywordImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMKeyword;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-class CSSMMKeywordImpl extends CSSMMNodeImpl implements CSSMMKeyword {
-
-	public CSSMMKeywordImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_KEYWORD;
-	}
-
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return false;
-	}
-
-	/*
-	 * @see CSSMMKeyword#getKeywordString()
-	 */
-	public String getKeywordString() {
-		return fValue;
-	}
-
-	/*
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return getKeywordString();
-	}
-
-	void setKeywordString(String value) {
-		fValue = value;
-	}
-
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else if (getKeywordString() == null) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-
-
-	private String fValue = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMMediaRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMMediaRuleImpl.java
deleted file mode 100644
index 4a60ce6..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMMediaRuleImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMMediaRule;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-class CSSMMMediaRuleImpl extends CSSMMNodeImpl implements CSSMMMediaRule {
-
-
-	public CSSMMMediaRuleImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_MEDIA_RULE;
-	}
-
-	public String getName() {
-		return NAME_NOT_AVAILABLE;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return false;
-	}
-
-	short getError() {
-		return MetaModelErrors.NO_ERROR;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMNodeImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMNodeImpl.java
deleted file mode 100644
index 06c73a6..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMNodeImpl.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-
-abstract class CSSMMNodeImpl implements CSSMMNode {
-
-	public CSSMMNodeImpl() {
-		super();
-	}
-
-	public abstract String getType();
-
-	public String getDescription() {
-		return fDescription;
-	}
-
-	public String getAttribute(String name) {
-		if (fAttributes == null) {
-			return null;
-		}
-		return (String) fAttributes.get(name);
-	}
-
-	public Iterator getChildNodes() {
-		if (fChildNodes == null) {
-			return Collections.EMPTY_LIST.iterator();
-		}
-		else {
-			return Collections.unmodifiableCollection(fChildNodes).iterator();
-		}
-	}
-
-	public Iterator getDescendants() {
-		List descendants = new ArrayList();
-		Iterator iChild = getChildNodes();
-		while (iChild.hasNext()) {
-			CSSMMNode child = (CSSMMNode) iChild.next();
-			Iterator iDescendant = child.getDescendants();
-			if (iDescendant.hasNext()) {
-				while (iDescendant.hasNext()) {
-					CSSMMNode descendant = (CSSMMNode) iDescendant.next();
-					if (!descendants.contains(descendant)) {
-						descendants.add(descendant);
-					}
-				}
-			}
-			else {
-				if (!descendants.contains(child)) {
-					descendants.add(child);
-				}
-			}
-		}
-		return Collections.unmodifiableCollection(descendants).iterator();
-	}
-
-	void appendChild(CSSMMNode child) {
-		if (child == null) {
-			return;
-		}
-		if (fChildNodes == null) {
-			fChildNodes = new ArrayList();
-		}
-		if (!fChildNodes.contains(child)) {
-			fChildNodes.add(child);
-			((CSSMMNodeImpl) child).fRefCount++;
-		}
-	}
-
-	void removeChild(CSSMMNode child) {
-		if (child == null || fChildNodes == null) {
-			return;
-		}
-		Iterator i = fChildNodes.iterator();
-		while (i.hasNext()) {
-			if (i.next() == child) {
-				i.remove();
-				((CSSMMNodeImpl) child).fRefCount--;
-				return;
-			}
-		}
-	}
-
-	void removeAllChildNodes() {
-		if (fChildNodes == null) {
-			return;
-		}
-		Iterator i = fChildNodes.iterator();
-		while (i.hasNext()) {
-			((CSSMMNodeImpl) i.next()).fRefCount--;
-		}
-		fChildNodes.clear();
-	}
-
-	abstract boolean canContain(CSSMMNode child);
-
-	void initializeAttribute(Map attributes) throws IllegalArgumentException {
-		if (fAttributes == null) {
-			fAttributes = new HashMap();
-		}
-		fAttributes.putAll(attributes);
-		postSetAttribute();
-	}
-
-	void setDescription(String description) {
-		fDescription = description;
-	}
-
-	void postSetAttribute() throws IllegalArgumentException {
-		// default : nop
-	}
-
-	abstract short getError();
-
-	int getChildCount() {
-		return (fChildNodes != null) ? fChildNodes.size() : 0;
-	}
-
-	int getReferenceCount() {
-		return fRefCount;
-	}
-
-
-	private List fChildNodes = null;
-	private String fDescription = null;
-	private Map fAttributes = null;
-	private int fRefCount = 0; // for error check
-
-	static final String ATTR_NAME = "name"; //$NON-NLS-1$
-	static final String NAME_NOT_AVAILABLE = ""; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMNumberImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMNumberImpl.java
deleted file mode 100644
index 037c1f6..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMNumberImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMNumber;
-
-class CSSMMNumberImpl extends CSSMMNodeImpl implements CSSMMNumber {
-
-
-	public CSSMMNumberImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_NUMBER;
-	}
-
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return (child != null && child.getType() == TYPE_UNIT);
-	}
-
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPageRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPageRuleImpl.java
deleted file mode 100644
index 3bbe54e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPageRuleImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMPageRule;
-
-class CSSMMPageRuleImpl extends CSSMMNodeImpl implements CSSMMPageRule {
-
-
-	public CSSMMPageRuleImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_PAGE_RULE;
-	}
-
-	public String getName() {
-		return NAME_NOT_AVAILABLE;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		if (child == null) {
-			return false;
-		}
-		String type = child.getType();
-		return (type == TYPE_PROPERTY || type == TYPE_SELECTOR);
-	}
-
-	short getError() {
-		if (getChildCount() == 0) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPropertyImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPropertyImpl.java
deleted file mode 100644
index a9f7c3a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPropertyImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMProperty;
-
-
-class CSSMMPropertyImpl extends CSSMMNodeImpl implements CSSMMProperty {
-	public CSSMMPropertyImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_PROPERTY;
-	}
-
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		if (child == null) {
-			return false;
-		}
-		String type = child.getType();
-		return (type == TYPE_NUMBER || type == TYPE_KEYWORD || type == TYPE_FUNCTION || type == TYPE_CONTAINER || type == TYPE_STRING || type == TYPE_SEPARATOR || type == TYPE_PROPERTY);
-	}
-
-	/*
-	 * @see CSSMMProperty#getCategoryName()
-	 */
-	public String getCategoryName() {
-		return getAttribute(ATTR_CATEGORY);
-	}
-
-	public Iterator getValues() {
-		ValueCollector collector = new ValueCollector();
-		collector.apply(this);
-		return collector.getNodes();
-	}
-
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else if (getChildCount() == 0) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-
-
-	static final String ATTR_CATEGORY = "category"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPseudoClassImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPseudoClassImpl.java
deleted file mode 100644
index ae8f81e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPseudoClassImpl.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-class CSSMMPseudoClassImpl extends CSSMMSelectorImpl {
-
-
-	/**
-	 * Constructor for CSSMMPseudoClassImpl.
-	 */
-	public CSSMMPseudoClassImpl() {
-		super();
-	}
-
-	/*
-	 * @see CSSMMSelector#getSelectorType()
-	 */
-	public String getSelectorType() {
-		return TYPE_PSEUDO_CLASS;
-	}
-
-	void setSelectorString(String value) {
-		fValue = ":" + value; //$NON-NLS-1$		
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPseudoElementImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPseudoElementImpl.java
deleted file mode 100644
index d047156..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMPseudoElementImpl.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-public class CSSMMPseudoElementImpl extends CSSMMSelectorImpl {
-
-
-	/**
-	 * Constructor for CSSMMPseudoElementImpl.
-	 */
-	public CSSMMPseudoElementImpl() {
-		super();
-	}
-
-	/*
-	 * @see CSSMMSelector#getSelectorType()
-	 */
-	public String getSelectorType() {
-		return TYPE_PSEUDO_ELEMENT;
-	}
-
-	void setSelectorString(String value) {
-		fValue = ":" + value; //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMSelectorExpressionImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMSelectorExpressionImpl.java
deleted file mode 100644
index 1d1e11e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMSelectorExpressionImpl.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-class CSSMMSelectorExpressionImpl extends CSSMMSelectorImpl {
-
-	public CSSMMSelectorExpressionImpl() {
-		super();
-	}
-
-	/*
-	 * @see CSSMMSelector#getSelectorType()
-	 */
-	public String getSelectorType() {
-		return TYPE_EXPRESSION;
-	}
-
-	void postSetAttribute() throws IllegalArgumentException {
-		super.postSetAttribute();
-		String name = getName();
-		if (name == null) {
-			throw new IllegalArgumentException();
-		}
-
-		Map map = new HashMap();
-		map.put(EXPRESSION_ADJACENT.toLowerCase(), "+"); //$NON-NLS-1$
-		map.put(EXPRESSION_ATTRIBUTE.toLowerCase(), "[]"); //$NON-NLS-1$
-		map.put(EXPRESSION_CHILD.toLowerCase(), ">"); //$NON-NLS-1$
-		map.put(EXPRESSION_DESCENDANT.toLowerCase(), "' '"); //$NON-NLS-1$
-		map.put(EXPRESSION_UNIVERSAL.toLowerCase(), "*"); //$NON-NLS-1$
-
-		fValue = (String) map.get(name.toLowerCase());
-		if (fValue == null) {
-			throw new IllegalArgumentException();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMSelectorImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMSelectorImpl.java
deleted file mode 100644
index 590b3fe..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMSelectorImpl.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMSelector;
-
-
-abstract class CSSMMSelectorImpl extends CSSMMNodeImpl implements CSSMMSelector {
-
-	/**
-	 * Constructor for CSSMMSelectorImpl.
-	 */
-	public CSSMMSelectorImpl() {
-		super();
-	}
-
-	/*
-	 * @see CSSMMNode#getName()
-	 */
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMMNode#getType()
-	 */
-	public String getType() {
-		return TYPE_SELECTOR;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return false;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#getError()
-	 */
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-
-	/*
-	 * @see CSSMMSelector#getSelectorString()
-	 */
-	public String getSelectorString() {
-		return fValue;
-	}
-
-	/*
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return getSelectorString();
-	}
-
-
-	protected String fValue = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMStringImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMStringImpl.java
deleted file mode 100644
index 39ab26c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMStringImpl.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMString;
-
-class CSSMMStringImpl extends CSSMMNodeImpl implements CSSMMString {
-
-
-	public CSSMMStringImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_STRING;
-	}
-
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return false;
-	}
-
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-	/*
-	 * @see CSSMMNodeImpl#postSetAttribute()
-	 */
-	// void postSetAttribute() throws BadInitializationException {
-	// super.postSetAttribute();
-	// String name = getName();
-	// if (name == null) { throw new BadInitializationException(); }
-	//
-	// Map map = new HashMap();
-	// map.put(CSSStringID.S_ANY.toLowerCase(), "<any>"); //$NON-NLS-1$
-	// map.put(CSSStringID.S_COUNTER_IDENTIFIER.toLowerCase(), "<counter>");
-	// //$NON-NLS-1$
-	// map.put(CSSStringID.S_FAMILY_NAME.toLowerCase(), "<family-name>");
-	// //$NON-NLS-1$
-	// map.put(CSSStringID.S_FONT_FACE_NAME.toLowerCase(),
-	// "<font-face-name>"); //$NON-NLS-1$
-	// map.put(CSSStringID.S_PAGE_IDENTIFIER.toLowerCase(),
-	// "<page-identifier>"); //$NON-NLS-1$
-	// map.put(CSSStringID.S_SPECIFIC_VOICE.toLowerCase(),
-	// "<specific-voice>"); //$NON-NLS-1$
-	// map.put(CSSStringID.S_URANGE.toLowerCase(), "<urange>"); //$NON-NLS-1$
-	//
-	// fValue = (String)map.get(name.toLowerCase());
-	// if (fValue == null) { throw new BadInitializationException(); }
-	// }
-	//
-	// /*
-	// * @see Object#toString()
-	// */
-	// public String toString() {
-	// return fValue;
-	// }
-	//
-	// private String fValue = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMStyleRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMStyleRuleImpl.java
deleted file mode 100644
index f1919ee..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMStyleRuleImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMStyleRule;
-
-class CSSMMStyleRuleImpl extends CSSMMNodeImpl implements CSSMMStyleRule {
-
-
-	public CSSMMStyleRuleImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_STYLE_RULE;
-	}
-
-	public String getName() {
-		return NAME_NOT_AVAILABLE;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		if (child == null) {
-			return false;
-		}
-		String type = child.getType();
-		return (type == TYPE_PROPERTY || type == TYPE_SELECTOR);
-	}
-
-	short getError() {
-		if (getChildCount() == 0) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMStyleSheetImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMStyleSheetImpl.java
deleted file mode 100644
index a276d2d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMStyleSheetImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMStyleSheet;
-
-class CSSMMStyleSheetImpl extends CSSMMNodeImpl implements CSSMMStyleSheet {
-
-
-	public CSSMMStyleSheetImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_STYLE_SHEET;
-	}
-
-	public String getName() {
-		return NAME_NOT_AVAILABLE;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		if (child == null) {
-			return false;
-		}
-		String type = child.getType();
-		return (type == TYPE_CHARSET_RULE || type == TYPE_IMPORT_RULE || type == TYPE_PAGE_RULE || type == TYPE_MEDIA_RULE || type == TYPE_FONT_FACE_RULE || type == TYPE_STYLE_RULE);
-	}
-
-	short getError() {
-		if (getChildCount() == 0) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMUnitImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMUnitImpl.java
deleted file mode 100644
index 7e90766..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMMUnitImpl.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMUnit;
-
-/**
- * CSSMMUnit : embedded type
- */
-class CSSMMUnitImpl extends CSSMMNodeImpl implements CSSMMUnit {
-
-	public CSSMMUnitImpl() {
-		super();
-	}
-
-	public String getType() {
-		return TYPE_UNIT;
-	}
-
-	public String getName() {
-		String name = getAttribute(ATTR_NAME);
-		if (name != null) {
-			return name.toLowerCase();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMMUnit#getUnitString()
-	 */
-	public String getUnitString() {
-		return fValue;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		return false;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#postSetAttribute()
-	 */
-	// void postSetAttribute() throws BadInitializationException {
-	// super.postSetAttribute();
-	// String name = getName();
-	// if (name == null) { throw new BadInitializationException(); }
-	// Map map = new HashMap();
-	// map.put(CSSUnitID.U_CM.toLowerCase(), "cm");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_DEG.toLowerCase(), "deg");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_EMS.toLowerCase(), "em");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_EXS.toLowerCase(), "ex");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_GRAD.toLowerCase(), "grad");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_HASH.toLowerCase(), "#");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_HZ.toLowerCase(), "Hz");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_IN.toLowerCase(), "in");//$NON-NLS-1$
-	// // map.put(CSSUnitID.U_INTEGER.toLowerCase(),
-	// "(integer)");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_KHZ.toLowerCase(), "kHz");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_MM.toLowerCase(), "mm");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_MS.toLowerCase(), "ms");//$NON-NLS-1$
-	// // map.put(CSSUnitID.U_NUMBER.toLowerCase(), "(number)");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_PC.toLowerCase(), "pc");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_PERCENTAGE.toLowerCase(), "%");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_PT.toLowerCase(), "pt");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_PX.toLowerCase(), "px");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_RAD.toLowerCase(), "rad");//$NON-NLS-1$
-	// map.put(CSSUnitID.U_S.toLowerCase(), "s");//$NON-NLS-1$
-	// fValue = (String)map.get(name.toLowerCase());
-	// if (fValue == null) { throw new BadInitializationException(); }
-	// }
-	/*
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return getUnitString();
-	}
-
-	void setUnitString(String value) {
-		fValue = value;
-	}
-
-	short getError() {
-		if (getName() == null) {
-			return MetaModelErrors.ERROR_NOT_DEFINED;
-		}
-		else if (getUnitString() == null) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-
-	private String fValue = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMetaModelImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMetaModelImpl.java
deleted file mode 100644
index 8ae89df..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSMetaModelImpl.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMStyleSheet;
-import org.eclipse.wst.css.core.metamodel.CSSMetaModel;
-
-
-class CSSMetaModelImpl extends CSSMMNodeImpl implements CSSMetaModel {
-	// class CSSMetaModelImpl implements CSSMetaModel {
-	public CSSMetaModelImpl() {
-		super();
-		fNodePool = new NodePool();
-	}
-
-	public String getType() {
-		return TYPE_META_MODEL;
-	}
-
-	public String getName() {
-		return NAME_NOT_AVAILABLE;
-	}
-
-	/*
-	 * @see CSSMMNodeImpl#canContain(CSSMMNode)
-	 */
-	boolean canContain(CSSMMNode child) {
-		if (child == null) {
-			return false;
-		}
-		String type = child.getType();
-		return (type == TYPE_STYLE_SHEET || type == TYPE_CATEGORY);
-	}
-
-	public CSSMMStyleSheet getStyleSheet() {
-		Iterator i = getChildNodes();
-		while (i.hasNext()) {
-			CSSMMNode node = (CSSMMNode) i.next();
-			if (node.getType() == TYPE_STYLE_SHEET) {
-				return (CSSMMStyleSheet) node;
-			}
-		}
-		return null;
-		// return fStyleSheet;
-	}
-
-	public Iterator getCategories() {
-		List categories = new ArrayList();
-		Iterator i = getChildNodes();
-		while (i.hasNext()) {
-			CSSMMNode node = (CSSMMNode) i.next();
-			if (node.getType() == TYPE_CATEGORY) {
-				categories.add(node);
-			}
-		}
-		return categories.iterator();
-	}
-
-	void loadCompleted() {
-		fNodePool = null;
-	}
-
-	// List fCategories = null;
-	/*
-	 * @see CSSMMNodeImpl#isValid()
-	 */
-	short getError() {
-		if (getStyleSheet() != null) {
-			return MetaModelErrors.ERROR_NO_CHILD;
-		}
-		else {
-			return MetaModelErrors.NO_ERROR;
-		}
-	}
-
-	NodePool getNodePool() {
-		return fNodePool;
-	}
-
-
-	private NodePool fNodePool = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSProfileImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSProfileImpl.java
deleted file mode 100644
index 09fdbe7..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSProfileImpl.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.css.core.internal.Logger;
-import org.eclipse.wst.css.core.metamodel.CSSMetaModel;
-import org.eclipse.wst.css.core.metamodel.CSSProfile;
-import org.osgi.framework.Bundle;
-
-
-
-class CSSProfileImpl implements CSSProfile {
-
-	/**
-	 * Constructor for CSSMetaModelProfileInfoImpl.
-	 */
-	private CSSProfileImpl() {
-		super();
-	}
-
-	/**
-	 * Constructor for CSSMetaModelProfileInfoImpl.
-	 */
-	public CSSProfileImpl(String id, URL url) {
-		super();
-		fID = id;
-		fURL = url;
-	}
-
-	/*
-	 * @see CSSMetaModelProfileInfo#getProfileID()
-	 */
-	public String getProfileID() {
-		return fID;
-	}
-
-	/*
-	 * @see CSSMetaModelProfileInfo#getProfileName()
-	 */
-	public String getProfileName() {
-		return (fName == null) ? fID : fName;
-	}
-
-	public CSSMetaModel getMetaModel() {
-		if (fMetaModel == null) {
-			try {
-				InputStream input = getProfileURL().openStream();
-				ProfileLoader loader = new ProfileLoader(getResourceBundle(), getLogging());
-				fMetaModel = loader.loadProfile(input);
-			}
-			catch (IOException e) {
-				Logger.logException("Cannot open stream for profile", e); //$NON-NLS-1$
-			}
-		}
-		return fMetaModel;
-	}
-
-	private ResourceBundle getResourceBundle() {
-		ClassLoader targetLoader = null;
-		String pluginID = getOwnerPluginID();
-		if (pluginID != null) {
-			Bundle bundle = Platform.getBundle(pluginID);
-			if (bundle != null) {
-				targetLoader = bundle.getClass().getClassLoader();
-			}
-		}
-		if (targetLoader == null) {
-			targetLoader = this.getClass().getClassLoader();
-		}
-
-		String profileURLString = getProfileURL().toString();
-		int lastSlashPos = profileURLString.lastIndexOf('/');
-		if (1 < lastSlashPos) {
-			String profileURLBase = profileURLString.substring(0, lastSlashPos + 1);
-			try {
-				URL[] urls = new URL[]{new URL(profileURLBase)};
-				targetLoader = URLClassLoader.newInstance(urls, targetLoader);
-			}
-			catch (MalformedURLException e) {
-			}
-		}
-
-		try {
-			return ResourceBundle.getBundle("cssprofile", //$NON-NLS-1$
-						Locale.getDefault(), targetLoader);
-		}
-		catch (MissingResourceException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see CSSMetaModelProfileInfo#getProfileURL()
-	 */
-	public URL getProfileURL() {
-		return fURL;
-	}
-
-	void setProfileName(String name) {
-		fName = name;
-	}
-
-	public boolean isDefault() {
-		return fDefault;
-	}
-
-	void setDefault(boolean isDefault) {
-		fDefault = isDefault;
-	}
-
-	public String getOwnerPluginID() {
-		return fOwnerPluginID;
-	}
-
-	void setOwnerPluginID(String pluginID) {
-		fOwnerPluginID = pluginID;
-	}
-
-	/**
-	 * hidden option : logging
-	 */
-	void setLogging(boolean logging) {
-		fLogging = logging;
-	}
-
-	boolean getLogging() {
-		return fLogging;
-	}
-
-
-	String fID = null;
-	String fName = null;
-	URL fURL = null;
-	CSSMetaModel fMetaModel = null;
-	String fOwnerPluginID = null;
-	boolean fDefault = false;
-	boolean fLogging = false;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSProfileTest.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSProfileTest.java
deleted file mode 100644
index f1b8777..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/CSSProfileTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.wst.css.core.internal.Logger;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMetaModel;
-import org.eclipse.wst.css.core.metamodel.CSSProfile;
-
-
-class CSSProfileTest {
-
-
-	/**
-	 * Test use only
-	 */
-	public static void main(String[] args) {
-		if (args.length == 0)
-			return;
-		CSSMetaModel metamodel = null;
-		try {
-			CSSProfile profile = new CSSProfileImpl("test", new URL(args[0])); //$NON-NLS-1$
-			metamodel = profile.getMetaModel();
-		}
-		catch (MalformedURLException e) {
-			Logger.logException(e);
-		}
-		if (metamodel == null) {
-			return;
-		}
-		/*
-		 * CSSMMTypeCollector collector = new CSSMMTypeCollector();
-		 * collector.apply(metamodel, CSSMMNode.TYPE_PROPERTY); Iterator
-		 * iProperty = collector.getNodes(); while (iProperty.hasNext()) {
-		 * CSSMMNode node = (CSSMMNode)iProperty.next();
-		 * System.out.println("Property " + node.getName() + " can contain:");
-		 * //$NON-NLS-2$ //$NON-NLS-1$ Iterator iValue =
-		 * node.getDescendants(); while (iValue.hasNext()) {
-		 * debugOut((CSSMMNode)iValue.next(), 0, false); } }
-		 */
-		debugOut(metamodel, 0, true);
-	}
-
-	static void debugOut(CSSMMNode node, int depth, boolean recursive) {
-		String type = node.getType();
-		for (int i = 0; i < depth; i++) {
-			System.out.print("\t"); //$NON-NLS-1$
-		}
-		System.out.print("[ " + node.getName() + "(" + type + ") ]"); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		if (type == CSSMMNode.TYPE_UNIT || type == CSSMMNode.TYPE_KEYWORD || type == CSSMMNode.TYPE_FUNCTION || type == CSSMMNode.TYPE_SELECTOR) {
-			System.out.print(" -> " + node.toString()); //$NON-NLS-1$
-		}
-		System.out.println();
-
-		if (recursive) {
-			java.util.Iterator iNode = node.getChildNodes();
-			while (iNode.hasNext()) {
-				debugOut((CSSMMNode) iNode.next(), depth + 1, true);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/MetaModelErrors.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/MetaModelErrors.java
deleted file mode 100644
index aaae558..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/MetaModelErrors.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-interface MetaModelErrors {
-
-	static final short NO_ERROR = 0;
-
-	// MASK
-	static final short MASK_WARNING = 0x1000;
-	static final short MASK_ERROR = 0x2000;
-
-	// ERROR
-	static final short ERROR_NOT_DEFINED = MASK_ERROR + 0x01;
-	static final short ERROR_INVALID_NAME = MASK_ERROR + 0x04;
-	static final short ERROR_INVAILD_CHILD = MASK_ERROR + 0x02;
-	static final short ERROR_NO_CHILD = MASK_ERROR + 0x08;
-	// static final short ERROR_NO_ESSENTIAL_CHILD = MASK_ERROR + 0x10
-
-	// WARNING
-	static final short WARNING_HAS_NO_CHILD = MASK_WARNING + 0x01;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/NodePool.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/NodePool.java
deleted file mode 100644
index 635bf5b..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/NodePool.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.css.core.internal.Logger;
-
-
-
-class NodePool {
-
-	NodePool() {
-		super();
-		initializeClassNameTable();
-	}
-
-	CSSMMNodeImpl getNode(String tagName, String nodeName) {
-		if (nodeName != null) {
-			nodeName = nodeName.toLowerCase();
-		}
-		String className = (String) classNames.get(tagName);
-		if (className == null) {
-			return null;
-		}
-		Map nodes = (Map) nodeRegistry.get(className);
-		if (nodes == null) {
-			nodes = new HashMap();
-			nodeRegistry.put(className, nodes);
-		}
-		CSSMMNodeImpl node = (CSSMMNodeImpl) nodes.get(nodeName);
-		if (node == null) {
-			node = createNewNode(className);
-			nodes.put(nodeName, node);
-		}
-		return node;
-	}
-
-	private CSSMMNodeImpl createNewNode(String className) {
-		CSSMMNodeImpl node = null;
-		if (className != null) {
-			className = getPackageName() + "." + className; //$NON-NLS-1$
-			try {
-				node = (CSSMMNodeImpl) Class.forName(className).newInstance();
-			}
-			catch (IllegalAccessException e) {
-				Logger.logException(e);
-			}
-			catch (InstantiationException e) {
-				Logger.logException(e);
-			}
-			catch (ClassNotFoundException e) {
-				Logger.logException(e);
-			}
-		}
-		// System.out.println(className + " is Created");
-		return node;
-	}
-
-	/**
-	 * Error check function: find nodes that are not referred by any node
-	 */
-	Iterator getStrayNodes() {
-		List strayNodes = new ArrayList();
-		Iterator iMap = nodeRegistry.values().iterator();
-		while (iMap.hasNext()) {
-			Map nodes = (Map) iMap.next();
-			Iterator iNode = nodes.values().iterator();
-			while (iNode.hasNext()) {
-				CSSMMNodeImpl node = (CSSMMNodeImpl) iNode.next();
-				if (node.getReferenceCount() == 0) {
-					strayNodes.add(node);
-				}
-			}
-		}
-		return strayNodes.iterator();
-	}
-
-	// This class must not be inner class :)
-	private String getPackageName() {
-		if (fPackageName == null) {
-			String className = getClass().getName();
-			int pos = className.lastIndexOf('.');
-			if (0 < pos) {
-				fPackageName = className.substring(0, pos);
-			}
-			else {
-				fPackageName = ""; //$NON-NLS-1$
-			}
-		}
-		return fPackageName;
-	}
-
-	void initializeClassNameTable() {
-		classNames.put(ProfileKeywords.STYLESHEET_DEF, CLASS_STYLE_SHEET);
-		classNames.put(ProfileKeywords.CHARSET_RULE_DEF, CLASS_CHARSET_RULE);
-		classNames.put(ProfileKeywords.CHARSET_RULE, CLASS_CHARSET_RULE);
-		classNames.put(ProfileKeywords.FONTFACE_RULE_DEF, CLASS_FONT_FACE_RULE);
-		classNames.put(ProfileKeywords.FONTFACE_RULE, CLASS_FONT_FACE_RULE);
-		classNames.put(ProfileKeywords.IMPORT_RULE_DEF, CLASS_IMPORT_RULE);
-		classNames.put(ProfileKeywords.IMPORT_RULE, CLASS_IMPORT_RULE);
-		classNames.put(ProfileKeywords.MEDIA_RULE_DEF, CLASS_MEDIA_RULE);
-		classNames.put(ProfileKeywords.MEDIA_RULE, CLASS_MEDIA_RULE);
-		classNames.put(ProfileKeywords.PAGE_RULE_DEF, CLASS_PAGE_RULE);
-		classNames.put(ProfileKeywords.PAGE_RULE, CLASS_PAGE_RULE);
-		classNames.put(ProfileKeywords.STYLE_RULE_DEF, CLASS_STYLE_RULE);
-		classNames.put(ProfileKeywords.STYLE_RULE, CLASS_STYLE_RULE);
-		classNames.put(ProfileKeywords.PROPERTY_DEF, CLASS_PROPERTY);
-		classNames.put(ProfileKeywords.PROPERTY, CLASS_PROPERTY);
-		classNames.put(ProfileKeywords.DESCRIPTOR_DEF, CLASS_DESCRIPTOR);
-		classNames.put(ProfileKeywords.DESCRIPTOR, CLASS_DESCRIPTOR);
-		classNames.put(ProfileKeywords.CONTAINER_DEF, CLASS_CONTAINER);
-		classNames.put(ProfileKeywords.CONTAINER, CLASS_CONTAINER);
-		classNames.put(ProfileKeywords.NUMBER_DEF, CLASS_NUMBER);
-		classNames.put(ProfileKeywords.NUMBER, CLASS_NUMBER);
-		classNames.put(ProfileKeywords.KEYWORD_DEF, CLASS_KEYWORD);
-		classNames.put(ProfileKeywords.KEYWORD, CLASS_KEYWORD);
-		classNames.put(ProfileKeywords.UNIT, CLASS_UNIT);
-		classNames.put(ProfileKeywords.UNIT_DEF, CLASS_UNIT);
-		classNames.put(ProfileKeywords.FUNCTION, CLASS_FUNCTION);
-		classNames.put(ProfileKeywords.FUNCTION_DEF, CLASS_FUNCTION);
-		classNames.put(ProfileKeywords.SELECTOR_EXPRESSION, CLASS_SELECTOR_EXPRESSION);
-		classNames.put(ProfileKeywords.PSEUDO_ELEMENT, CLASS_PSEUDO_ELEMENT);
-		classNames.put(ProfileKeywords.PSEUDO_ELEMENT_DEF, CLASS_PSEUDO_ELEMENT);
-		classNames.put(ProfileKeywords.PSEUDO_CLASS, CLASS_PSEUDO_CLASS);
-		classNames.put(ProfileKeywords.PSEUDO_CLASS_DEF, CLASS_PSEUDO_CLASS);
-		classNames.put(ProfileKeywords.STRING, CLASS_STRING);
-		classNames.put(ProfileKeywords.CATEGORY_DEF, CLASS_CATEGORY);
-	}
-
-
-	private String fPackageName;
-	/*
-	 * Conversion Tables nodeRegistry : class name -> hash of node instances
-	 * classNames : Profile Tag name -> java class name
-	 */
-	private Map nodeRegistry = new HashMap();
-	private Map classNames = new HashMap();
-
-	private final static String CLASS_STYLE_SHEET = "CSSMMStyleSheetImpl"; //$NON-NLS-1$
-	private final static String CLASS_CHARSET_RULE = "CSSMMCharsetRuleImpl"; //$NON-NLS-1$
-	private final static String CLASS_FONT_FACE_RULE = "CSSMMFontFaceRuleImpl"; //$NON-NLS-1$
-	private final static String CLASS_IMPORT_RULE = "CSSMMImportRuleImpl"; //$NON-NLS-1$
-	private final static String CLASS_MEDIA_RULE = "CSSMMMediaRuleImpl"; //$NON-NLS-1$
-	private final static String CLASS_PAGE_RULE = "CSSMMPageRuleImpl"; //$NON-NLS-1$
-	private final static String CLASS_STYLE_RULE = "CSSMMStyleRuleImpl"; //$NON-NLS-1$
-	private final static String CLASS_PROPERTY = "CSSMMPropertyImpl"; //$NON-NLS-1$
-	private final static String CLASS_DESCRIPTOR = "CSSMMDescriptorImpl"; //$NON-NLS-1$
-	private final static String CLASS_CONTAINER = "CSSMMContainerImpl"; //$NON-NLS-1$
-	private final static String CLASS_NUMBER = "CSSMMNumberImpl"; //$NON-NLS-1$
-	private final static String CLASS_KEYWORD = "CSSMMKeywordImpl"; //$NON-NLS-1$
-	private final static String CLASS_UNIT = "CSSMMUnitImpl"; //$NON-NLS-1$
-	private final static String CLASS_FUNCTION = "CSSMMFunctionImpl"; //$NON-NLS-1$
-	private final static String CLASS_STRING = "CSSMMStringImpl"; //$NON-NLS-1$
-	private final static String CLASS_CATEGORY = "CSSMMCategoryImpl"; //$NON-NLS-1$
-	private final static String CLASS_SELECTOR_EXPRESSION = "CSSMMSelectorExpressionImpl"; //$NON-NLS-1$
-	private final static String CLASS_PSEUDO_CLASS = "CSSMMPseudoClassImpl"; //$NON-NLS-1$
-	private final static String CLASS_PSEUDO_ELEMENT = "CSSMMPseudoElementImpl"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ProfileHandler.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ProfileHandler.java
deleted file mode 100644
index c9481a6..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ProfileHandler.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.ResourceBundle;
-import java.util.Stack;
-
-import org.eclipse.wst.css.core.internal.Logger;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMSelector;
-import org.eclipse.wst.css.core.metamodel.CSSProfile;
-import org.eclipse.wst.css.core.metamodel.CSSProfileRegistry;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-
-class ProfileHandler extends DefaultHandler {
-
-	public ProfileHandler(CSSMetaModelImpl metamodel, ResourceBundle resourceBundle, boolean logging) {
-		super();
-		fMetaModel = metamodel;
-		fNodePool = metamodel.getNodePool();
-		fResourceBundle = resourceBundle;
-		fLogging = logging;
-	}
-
-	public ProfileHandler(CSSMetaModelImpl metamodel, ResourceBundle resourceBundle) {
-		super();
-		fMetaModel = metamodel;
-		fNodePool = metamodel.getNodePool();
-		fResourceBundle = resourceBundle;
-		fLogging = false;
-	}
-
-	private String getResourceString(String key) {
-		if (key.equals("%")) { //$NON-NLS-1$
-			return key;
-		}
-		if (!key.startsWith("%")) { //$NON-NLS-1$
-			return key;
-		}
-		if (key.startsWith("%%")) { //$NON-NLS-1$
-			return key.substring(1);
-		}
-
-		if (fResourceBundle != null) {
-			return fResourceBundle.getString(key.substring(1));
-		}
-		else {
-			return key;
-		}
-	}
-
-	public void startDocument() throws SAXException {
-		// System.out.println("startDocument");
-		// fNodeStack.push(metamodel);
-		// fCurrentNode = null;
-	}
-
-	public void endDocument() throws SAXException {
-		new ErrorCorrector().doCorrect(fMetaModel);
-		if (fLogging) {
-			Iterator i = fNodePool.getStrayNodes();
-			while (i.hasNext()) {
-				CSSMMNode node = (CSSMMNode) i.next();
-				String str = "[CSSProfile Warning] " + node.getName(); //$NON-NLS-1$
-				str += "(" + node.getType() + ") is not referred by any node."; //$NON-NLS-1$ //$NON-NLS-2$
-				Logger.log(Logger.WARNING, str);
-				// System.out.println(str);
-			}
-		}
-	}
-
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-		TagNode tagNode = null;
-		CSSMMNodeImpl parentNode = null;
-		if (0 < fNodeStack.size()) {
-			tagNode = (TagNode) fNodeStack.peek();
-			parentNode = tagNode.node;
-		}
-
-		CSSMMNodeImpl node = null;
-		if (qName.equals(ProfileKeywords.PROFILE_IMPORT)) { // import
-			String profileName = attributes.getValue(ATTR_NAME_REFERENCE);
-			importProfile(profileName);
-		}
-		else if (isDefinition(qName)) { // node creation
-			String nodeName = attributes.getValue(ATTR_NAME_DEFINITION);
-			node = fNodePool.getNode(qName, nodeName);
-			if (node != null) {
-				String overwrite = attributes.getValue(ATTR_OVERWRITE);
-				if (overwrite == null || overwrite.equals(ATTR_VALUE_OVERWRITE_FALSE)) {
-					node.removeAllChildNodes();
-				}
-				Map attrMap = new HashMap();
-				for (int i = 0; i < attributes.getLength(); i++) {
-					attrMap.put(attributes.getQName(i), attributes.getValue(i));
-				}
-				try {
-					node.initializeAttribute(attrMap);
-				}
-				catch (IllegalArgumentException e) {
-					Logger.logException(e);
-				}
-			}
-		}
-		else if (node == null) { // node reference
-			String nodeName = attributes.getValue(ATTR_NAME_REFERENCE);
-			node = fNodePool.getNode(qName, nodeName);
-		}
-
-		if (node != null) {
-			if (parentNode != null && parentNode.canContain(node)) {
-				String enabled = attributes.getValue(ATTR_ENABLED);
-				if (enabled != null && enabled.equals(ATTR_VALUE_ENABLED_FALSE)) {
-					parentNode.removeChild(node);
-				}
-				else {
-					parentNode.appendChild(node);
-				}
-			}
-			else if (node.getType() == CSSMMNode.TYPE_STYLE_SHEET || node.getType() == CSSMMNode.TYPE_CATEGORY) {
-				fMetaModel.appendChild(node);
-			}
-			else {
-				if (fLogging && parentNode != null) {
-					Logger.log(Logger.ERROR, parentNode.getType() + " cannot contain " + //$NON-NLS-1$
-								node.getType() + " (" + qName + ")"); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-
-		fNodeStack.push(new TagNode(qName, (node != null) ? node : parentNode));
-	}
-
-	public void endElement(String uri, String localName, String qName) throws SAXException {
-		fNodeStack.pop();
-	}
-
-	public void characters(char[] ch, int start, int length) throws SAXException {
-		TagNode tagNode = (TagNode) fNodeStack.peek();
-		String tagName = tagNode.tag;
-		if (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION)) {
-			StringBuffer buf = new StringBuffer(length);
-			for (int i = 0; i < length; i++) {
-				buf.append(ch[start + i]);
-			}
-			String value = getResourceString(buf.toString().trim());
-			CSSMMNodeImpl node = tagNode.node;
-			if (node != null) {
-				if (node.getType() == CSSMMNode.TYPE_KEYWORD && tagName.equals(ProfileKeywords.KEYWORD_VALUE)) {
-					((CSSMMKeywordImpl) node).setKeywordString(value);
-				}
-				else if (node.getType() == CSSMMNode.TYPE_UNIT && tagName.equals(ProfileKeywords.UNIT_VALUE)) {
-					((CSSMMUnitImpl) node).setUnitString(value);
-				}
-				else if (node.getType() == CSSMMNode.TYPE_FUNCTION && tagName.equals(ProfileKeywords.FUNCTION_VALUE)) {
-					((CSSMMFunctionImpl) node).setFunctionString(value);
-				}
-				else if (node.getType() == CSSMMNode.TYPE_SELECTOR && ((CSSMMSelector) node).getSelectorType() == CSSMMSelector.TYPE_PSEUDO_ELEMENT) {
-					((CSSMMPseudoElementImpl) node).setSelectorString(value);
-				}
-				else if (node.getType() == CSSMMNode.TYPE_SELECTOR && ((CSSMMSelector) node).getSelectorType() == CSSMMSelector.TYPE_PSEUDO_CLASS) {
-					((CSSMMPseudoClassImpl) node).setSelectorString(value);
-				}
-				else if (node.getType() == CSSMMNode.TYPE_CATEGORY && tagName.equals(ProfileKeywords.CAPTION)) {
-					((CSSMMCategoryImpl) node).setCaption(value);
-				}
-				else if (tagName.equals(ProfileKeywords.DESCRIPTION)) {
-					node.setDescription(value);
-				}
-			}
-		}
-	}
-
-	private boolean isDefinition(String tagName) {
-		return (tagName.equals(ProfileKeywords.STYLESHEET_DEF) || tagName.equals(ProfileKeywords.CHARSET_RULE_DEF) || tagName.equals(ProfileKeywords.IMPORT_RULE_DEF) || tagName.equals(ProfileKeywords.PAGE_RULE_DEF) || tagName.equals(ProfileKeywords.MEDIA_RULE_DEF) || tagName.equals(ProfileKeywords.FONTFACE_RULE_DEF) || tagName.equals(ProfileKeywords.STYLE_RULE_DEF) || tagName.equals(ProfileKeywords.KEYWORD_DEF) || tagName.equals(ProfileKeywords.NUMBER_DEF) || tagName.equals(ProfileKeywords.PROPERTY_DEF) || tagName.equals(ProfileKeywords.DESCRIPTOR_DEF) || tagName.equals(ProfileKeywords.CONTAINER_DEF) || tagName.equals(ProfileKeywords.UNIT_DEF) || tagName.equals(ProfileKeywords.FUNCTION_DEF) || tagName.equals(ProfileKeywords.STRING) || tagName.equals(ProfileKeywords.CATEGORY_DEF) || tagName.equals(ProfileKeywords.PSEUDO_CLASS_DEF) || tagName.equals(ProfileKeywords.PSEUDO_ELEMENT_DEF) || tagName.equals(ProfileKeywords.SELECTOR_EXPRESSION) || tagName.equals(ProfileKeywords.SEPARATOR));
-	}
-
-	private void importProfile(String profileName) {
-		URL profileURL = null;
-		CSSProfileRegistry reg = CSSProfileRegistry.getInstance();
-		CSSProfile profile = reg.getProfile(profileName);
-		if (profile != null) {
-			// first: find URL by ID
-			profileURL = profile.getProfileURL();
-		}
-		else {
-			// second: find URL by filename of profile URL
-			Iterator i = reg.getProfiles();
-			while (i.hasNext()) {
-				profile = (CSSProfile) i.next();
-				URL url = profile.getProfileURL();
-				if (url.getFile().endsWith(profileName)) {
-					profileURL = url;
-					break;
-				}
-			}
-		}
-		if (profileURL == null) {
-			// final: it may be url itself
-			try {
-				profileURL = new URL(profileName);
-			}
-			catch (MalformedURLException e) {
-				Logger.logException(e);
-			}
-		}
-		if (profileURL != null) {
-			try {
-				ProfileLoader.loadProfile(fMetaModel, profileURL.openStream(), fResourceBundle, fLogging);
-			}
-			catch (IOException e) {
-				Logger.logException("Cannot open stream for profile", //$NON-NLS-1$
-							e);
-			}
-		}
-	}
-
-	class TagNode {
-
-		String tag = null;
-		CSSMMNodeImpl node = null;
-
-		TagNode(String tag, CSSMMNodeImpl node) {
-			this.tag = tag;
-			this.node = node;
-		}
-	}
-
-	class ErrorCorrector {
-
-		void doCorrect(CSSMMNodeImpl node) {
-			Iterator i = node.getChildNodes();
-			while (i.hasNext()) {
-				CSSMMNodeImpl child = (CSSMMNodeImpl) i.next();
-				doCorrect(child);
-				short error = child.getError();
-				if (error != MetaModelErrors.NO_ERROR) {
-					node.removeChild(child);
-
-					String str = "[CSSProfile Error] " + node.getName(); //$NON-NLS-1$
-					str += "(" + node.getType() + ") contains error node: "; //$NON-NLS-1$ //$NON-NLS-2$
-					str += child.getName() + "(" + child.getType() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-					str += " - error code = " + error; //$NON-NLS-1$
-					if (fLogging) {
-						Logger.log(Logger.ERROR, str);
-						// System.out.println(str);
-					}
-				}
-			}
-		}
-	}
-
-
-	private CSSMetaModelImpl fMetaModel = null;
-	private NodePool fNodePool = null;
-	private Stack fNodeStack = new Stack();
-	private boolean fLogging = false;
-	private ResourceBundle fResourceBundle = null;
-
-	private final static String ATTR_NAME_DEFINITION = "name"; //$NON-NLS-1$
-	private final static String ATTR_NAME_REFERENCE = "name"; //$NON-NLS-1$
-	private final static String ATTR_OVERWRITE = "overwrite"; //$NON-NLS-1$
-	private final static String ATTR_ENABLED = "enabled"; //$NON-NLS-1$
-	private final static String ATTR_VALUE_OVERWRITE_FALSE = "false"; //$NON-NLS-1$
-	private final static String ATTR_VALUE_ENABLED_FALSE = "false"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ProfileKeywords.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ProfileKeywords.java
deleted file mode 100644
index 47f8dee..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ProfileKeywords.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-interface ProfileKeywords {
-
-	final static String CSS_PROFILE = "css-profile"; //$NON-NLS-1$
-	final static String PROFILE_IMPORT = "profile-import"; //$NON-NLS-1$
-	final static String STYLESHEET_DEF = "stylesheet-def"; //$NON-NLS-1$
-	final static String CHARSET_RULE = "charset-rule"; //$NON-NLS-1$
-	final static String IMPORT_RULE = "import-rule"; //$NON-NLS-1$
-	final static String PAGE_RULE = "page-rule"; //$NON-NLS-1$
-	final static String MEDIA_RULE = "media-rule"; //$NON-NLS-1$
-	final static String FONTFACE_RULE = "fontface-rule"; //$NON-NLS-1$
-	final static String STYLE_RULE = "style-rule"; //$NON-NLS-1$
-	final static String CHARSET_RULE_DEF = "charset-rule-def"; //$NON-NLS-1$
-	final static String IMPORT_RULE_DEF = "import-rule-def"; //$NON-NLS-1$
-	final static String PAGE_RULE_DEF = "page-rule-def"; //$NON-NLS-1$
-	final static String MEDIA_RULE_DEF = "media-rule-def"; //$NON-NLS-1$
-	final static String FONTFACE_RULE_DEF = "fontface-rule-def"; //$NON-NLS-1$
-	final static String STYLE_RULE_DEF = "style-rule-def"; //$NON-NLS-1$
-	final static String FUNCTION_DEF = "function-def"; //$NON-NLS-1$
-	final static String FUNCTION_VALUE = "function-value"; //$NON-NLS-1$
-	final static String KEYWORD_DEF = "keyword-def"; //$NON-NLS-1$
-	final static String KEYWORD_VALUE = "keyword-value"; //$NON-NLS-1$
-	final static String DESCRIPTION = "description"; //$NON-NLS-1$
-	final static String NUMBER_DEF = "number-def"; //$NON-NLS-1$
-	final static String UNIT = "unit"; //$NON-NLS-1$
-	final static String UNIT_DEF = "unit-def"; //$NON-NLS-1$
-	final static String UNIT_VALUE = "unit-value"; //$NON-NLS-1$
-	final static String CONTAINER_DEF = "container-def"; //$NON-NLS-1$
-	final static String CATEGORY_DEF = "category-def"; //$NON-NLS-1$
-	final static String CAPTION = "caption"; //$NON-NLS-1$
-	final static String PROPERTY_DEF = "property-def"; //$NON-NLS-1$
-	final static String DESCRIPTOR_DEF = "descriptor-def"; //$NON-NLS-1$
-	final static String SELECTOR_EXPRESSION = "selector-expression"; //$NON-NLS-1$
-	final static String PSEUDO_CLASS = "pseudo-class"; //$NON-NLS-1$
-	final static String PSEUDO_ELEMENT = "pseudo-element"; //$NON-NLS-1$
-	final static String PSEUDO_CLASS_DEF = "pseudo-class-def"; //$NON-NLS-1$
-	final static String PSEUDO_ELEMENT_DEF = "pseudo-element-def"; //$NON-NLS-1$
-	final static String SELECTOR_VALUE = "selector-value"; //$NON-NLS-1$
-	final static String NUMBER = "number"; //$NON-NLS-1$
-	final static String KEYWORD = "keyword"; //$NON-NLS-1$
-	final static String FUNCTION = "function"; //$NON-NLS-1$
-	final static String CONTAINER = "container"; //$NON-NLS-1$
-	final static String STRING = "string"; //$NON-NLS-1$
-	final static String SEPARATOR = "separator"; //$NON-NLS-1$
-	final static String PROPERTY = "property"; //$NON-NLS-1$
-	final static String DESCRIPTOR = "descriptor"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ProfileLoader.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ProfileLoader.java
deleted file mode 100644
index e1b5315..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ProfileLoader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ResourceBundle;
-
-import org.eclipse.wst.css.core.internal.Logger;
-import org.eclipse.wst.css.core.metamodel.CSSMetaModel;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-
-
-
-class ProfileLoader {
-
-
-	/**
-	 * Constructor for ProfileLoader.
-	 */
-	private ProfileLoader() {
-		super();
-	}
-
-	ProfileLoader(ResourceBundle resourceBundle, boolean logging) {
-		super();
-		fResourceBundle = resourceBundle;
-		fLogging = logging;
-	}
-
-	static void loadProfile(CSSMetaModelImpl metamodel, InputStream input, ResourceBundle resourceBundle, boolean logging) {
-		try {
-			XMLReader xmlReader = XMLReaderUtil.createXMLReader(PARSER_NAME);
-			// XMLReaderFactory.createXMLReader(PARSER_NAME);
-			xmlReader.setContentHandler(new ProfileHandler(metamodel, resourceBundle, logging));
-			xmlReader.parse(new InputSource(input));
-		}
-		catch (IOException e) {
-			Logger.logException(e);
-		}
-		catch (SAXException e) {
-			Logger.logException(e);
-		}
-	}
-
-	CSSMetaModel loadProfile(InputStream input) {
-		if (fMetaModel == null) {
-			fMetaModel = new CSSMetaModelImpl();
-		}
-		loadProfile(fMetaModel, input, fResourceBundle, fLogging);
-		fMetaModel.loadCompleted();
-		return fMetaModel;
-	}
-
-
-	CSSMetaModelImpl fMetaModel = null;
-	private final static String PARSER_NAME = "org.apache.xerces.parsers.SAXParser"; //$NON-NLS-1$
-	private ResourceBundle fResourceBundle = null;
-	private boolean fLogging = false;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/RegistryReader.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/RegistryReader.java
deleted file mode 100644
index 489b288..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/RegistryReader.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-
-
-import java.net.URL;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.css.core.internal.Logger;
-import org.eclipse.wst.css.core.metamodel.CSSProfile;
-import org.osgi.framework.Bundle;
-
-
-
-public class RegistryReader {
-
-	//
-	private String PLUGIN_ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-	private String EXTENSION_POINT_ID = "cssprofile"; //$NON-NLS-1$
-	private String TAG_NAME = "profile"; //$NON-NLS-1$
-	private String ATT_ID = "id"; //$NON-NLS-1$
-	private String ATT_NAME = "name"; //$NON-NLS-1$
-	private String ATT_URI = "uri"; //$NON-NLS-1$
-	private String ATT_DEFAULT = "default"; //$NON-NLS-1$
-	private String ATT_LOGGING = "logging"; // Hidden Option //$NON-NLS-1$
-
-	/**
-	 * Constructor for CSSMetaModelRegistryReader.
-	 */
-	public RegistryReader() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected CSSProfile readElement(IConfigurationElement element) {
-		CSSProfileImpl info = null;
-		if (element.getName().equals(TAG_NAME)) {
-			String strID = element.getAttribute(ATT_ID);
-			String strNAME = element.getAttribute(ATT_NAME);
-			String strURI = element.getAttribute(ATT_URI);
-
-			if (strID != null || strURI != null) {
-				Bundle bundle = null;
-				String pluginId = element.getDeclaringExtension().getNamespace();
-				bundle = Platform.getBundle(pluginId);
-				if (bundle != null) {
-					Path path = new Path(strURI);
-					URL url = Platform.find(bundle, path);
-					if (url != null) {
-						try {
-							url = Platform.asLocalURL(url);
-							info = new CSSProfileImpl(strID, url);
-							info.setProfileName(strNAME);
-							info.setDefault((element.getAttribute(ATT_DEFAULT) != null));
-							info.setLogging((element.getAttribute(ATT_LOGGING) != null));
-							info.setOwnerPluginID(pluginId);
-						}
-						catch (java.io.IOException e) {
-							// through
-						}
-					}
-				}
-			}
-
-			if (info == null) {
-				Logger.log(Logger.ERROR, "Error reading CSS Profile: " + strID); //$NON-NLS-1$
-			}
-		}
-		return info;
-	}
-
-	/**
-	 * We simply require an 'add' method, of what ever it is we are to read
-	 * into
-	 */
-	public Iterator enumProfiles() {
-		Set set = new HashSet();
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IExtensionPoint point = registry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				CSSProfile info = readElement(elements[i]);
-				// null can be returned if there's an error reading the
-				// element
-				if (info != null) {
-					set.add(info);
-				}
-			}
-		}
-		return set.iterator();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ValueCollector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ValueCollector.java
deleted file mode 100644
index e92f399..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/ValueCollector.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.util.CSSMetaModelTraverser;
-
-
-
-class ValueCollector extends CSSMetaModelTraverser {
-	public void begin(CSSMMNode node) {
-		fNodes = new ArrayList();
-	}
-
-	protected short preNode(CSSMMNode node) {
-		short rc = TRAV_CONT;
-		if (node != null) {
-			String type = node.getType();
-			if (type == CSSMMNode.TYPE_PROPERTY || type == CSSMMNode.TYPE_DESCRIPTOR || type == CSSMMNode.TYPE_CONTAINER) {
-				rc = TRAV_CONT;
-			}
-			else {
-				if (!fNodes.contains(node)) {
-					fNodes.add(node);
-					rc = TRAV_PRUNE;
-				}
-			}
-		}
-		return rc;
-	}
-
-	public Iterator getNodes() {
-		return fNodes.iterator();
-	}
-
-
-	private List fNodes = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/XMLReaderUtil.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/XMLReaderUtil.java
deleted file mode 100644
index a22aa7c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodel/XMLReaderUtil.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.metamodel;
-
-
-
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.eclipse.wst.css.core.internal.Logger;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-
-
-class XMLReaderUtil {
-
-	static public XMLReader createXMLReader(String className) throws SAXException {
-		try {
-			return SAXParserFactory.newInstance().newSAXParser().getXMLReader();
-		}
-		catch (ParserConfigurationException e) {
-			Logger.logException(e);
-		}
-		catch (FactoryConfigurationError e) {
-			Logger.logException(e);
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSRegionUtil.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSRegionUtil.java
deleted file mode 100644
index ace7fa6..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSRegionUtil.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.parser;
-
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-
-
-public class CSSRegionUtil {
-
-	/**
-	 */
-	public static boolean isDeclarationValueType(String type) {
-		return (type == CSSRegionContexts.CSS_DECLARATION_VALUE_DIMENSION || type == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION || type == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH || type == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT || type == CSSRegionContexts.CSS_DECLARATION_VALUE_IMPORTANT || type == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || type == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR || type == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE || type == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE || type == CSSRegionContexts.CSS_DECLARATION_VALUE_S || type == CSSRegionContexts.CSS_DECLARATION_VALUE_STRING || type == CSSRegionContexts.CSS_DECLARATION_VALUE_UNICODE_RANGE || type == CSSRegionContexts.CSS_DECLARATION_VALUE_URI);
-	}
-
-	/**
-	 * these type can be beggining of selector
-	 */
-	public static boolean isSelectorBegginingType(String type) {
-		return (type == CSSRegionContexts.CSS_SELECTOR_ELEMENT_NAME || type == CSSRegionContexts.CSS_SELECTOR_UNIVERSAL || type == CSSRegionContexts.CSS_SELECTOR_PSEUDO || type == CSSRegionContexts.CSS_SELECTOR_CLASS || type == CSSRegionContexts.CSS_SELECTOR_ID || type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START);
-	}
-
-
-	/**
-	 * 
-	 * @param type
-	 * @return
-	 */
-	public static boolean isDeclarationType(String type) {
-		return (type == CSSRegionContexts.CSS_DECLARATION_PROPERTY || type == CSSRegionContexts.CSS_DECLARATION_SEPARATOR || isDeclarationValueType(type) || type == CSSRegionContexts.CSS_DECLARATION_DELIMITER);
-	}
-
-	/**
-	 * These types consist selector region
-	 * 
-	 * @param type
-	 * @return
-	 */
-	public static boolean isSelectorType(String type) {
-		return (type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_END || type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_NAME || type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_OPERATOR || type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START || type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_VALUE || type == CSSRegionContexts.CSS_SELECTOR_CLASS || type == CSSRegionContexts.CSS_SELECTOR_COMBINATOR || type == CSSRegionContexts.CSS_SELECTOR_ELEMENT_NAME || type == CSSRegionContexts.CSS_SELECTOR_ID || type == CSSRegionContexts.CSS_SELECTOR_PSEUDO || type == CSSRegionContexts.CSS_SELECTOR_SEPARATOR || type == CSSRegionContexts.CSS_SELECTOR_UNIVERSAL);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSSourceParser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSSourceParser.java
deleted file mode 100644
index 1d1337f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSSourceParser.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.parser;
-
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.css.core.internal.Logger;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-
-
-public class CSSSourceParser implements RegionParser {
-	public static final int MODE_STYLESHEET = 0;
-	public static final int MODE_DECLARATION = 1;
-	public static final int MODE_DECLARATION_VALUE = 2;
-
-	private long fStartTime;
-	private long fStopTime;
-	private CSSTokenizer fTokenizer;
-
-	public void setParserMode(int mode) {
-		int initialState;
-		int bufsize;
-		switch (mode) {
-			case MODE_STYLESHEET :
-				initialState = CSSTokenizer.YYINITIAL;
-				bufsize = CSSTokenizer.BUFFER_SIZE_NORMAL;
-				break;
-			case MODE_DECLARATION :
-				initialState = CSSTokenizer.ST_DECLARATION;
-				bufsize = CSSTokenizer.BUFFER_SIZE_NORMAL;
-				break;
-			case MODE_DECLARATION_VALUE :
-				initialState = CSSTokenizer.ST_DECLARATION_PRE_VALUE;
-				bufsize = CSSTokenizer.BUFFER_SIZE_SMALL;
-				break;
-			default :
-				return;
-		}
-		if (0 < initialState) {
-			CSSTokenizer tokenizer = getTokenizer();
-			tokenizer.setInitialState(initialState);
-			tokenizer.setInitialBufferSize(bufsize);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.parser.RegionParser#getNodes()
-	 */
-	public IStructuredDocumentRegion getDocumentRegions() {
-		IStructuredDocumentRegion headnode = null;
-		if (headnode == null) {
-			if (Debug.perfTest) {
-				fStartTime = System.currentTimeMillis();
-			}
-			headnode = parseNodes();
-			if (Debug.perfTest) {
-				fStopTime = System.currentTimeMillis();
-				System.out.println(" -- creating nodes of IStructuredDocument -- "); //$NON-NLS-1$
-				System.out.println(" Time parse and init all regions: " + (fStopTime - fStartTime) + " (msecs)"); //$NON-NLS-2$//$NON-NLS-1$
-				// System.out.println(" for " + fRegions.size() + "
-				// Regions");//$NON-NLS-2$//$NON-NLS-1$
-				System.out.println("      and " + _countNodes(headnode) + " Nodes"); //$NON-NLS-2$//$NON-NLS-1$
-			}
-		}
-		return headnode;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.parser.RegionParser#getRegions()
-	 */
-	public List getRegions() {
-		IStructuredDocumentRegion headNode = null;
-		if (!getTokenizer().isEOF()) {
-			headNode = getDocumentRegions();
-			// throw new IllegalStateException("parsing has not finished");
-		}
-		// for memory recovery, we assume if someone
-		// requests all regions, we can reset our big
-		// memory consuming objects
-		// but the new "getRegions" method is then more expensive.
-		// I don't think its used much, though.
-		List localRegionsList = getRegions(headNode);
-		primReset();
-		return localRegionsList;
-	}
-
-	/**
-	 * Method getRegions.
-	 * 
-	 * @param headNode
-	 * @return List
-	 */
-	protected List getRegions(IStructuredDocumentRegion headNode) {
-		List allRegions = new ArrayList();
-		IStructuredDocumentRegion currentNode = headNode;
-		while (currentNode != null) {
-			ITextRegionList nodeRegions = currentNode.getRegions();
-			for (int i = 0; i < nodeRegions.size(); i++) {
-				allRegions.add(nodeRegions.get(i));
-			}
-			currentNode = currentNode.getNext();
-		}
-		return allRegions;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.parser.RegionParser#reset(java.io.Reader)
-	 */
-	public void reset(Reader reader) {
-		primReset();
-		getTokenizer().reset(reader, 0);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.parser.RegionParser#reset(java.io.Reader, int)
-	 */
-	public void reset(Reader reader, int offset) {
-		reset(reader);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.parser.RegionParser#reset(java.lang.String)
-	 */
-	public void reset(String input) {
-		reset(new StringReader(input));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.parser.RegionParser#reset(java.lang.String, int)
-	 */
-	public void reset(String input, int offset) {
-		reset(input);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.parser.RegionParser#newInstance()
-	 */
-	public RegionParser newInstance() {
-		return new CSSSourceParser();
-	}
-
-	private IStructuredDocumentRegion parseNodes() {
-		// regions are initially reported as complete offsets within the
-		// scanned input
-		// they are adjusted here to be indexes from the currentNode's start
-		// offset
-		IStructuredDocumentRegion headNode = null;
-		IStructuredDocumentRegion lastNode = null;
-		ITextRegion region = null;
-		IStructuredDocumentRegion currentNode = null;
-		String type = null;
-		String currentRegionType = null;
-
-		while ((region = getNextRegion()) != null) {
-			type = region.getType();
-			if (mustBeStart(type, currentRegionType) && currentNode != null) {
-				currentNode.setEnded(true);
-			}
-
-			if ((currentNode != null && currentNode.isEnded()) || currentNode == null) {
-				if (currentNode != null && !currentNode.isEnded()) {
-					currentNode.setEnded(true);
-				}
-				lastNode = currentNode;
-				currentNode = createStructuredDocumentRegion(type);
-				currentRegionType = type;
-				if (lastNode != null) {
-					lastNode.setNext(currentNode);
-				}
-				currentNode.setPrevious(lastNode);
-				currentNode.setStart(region.getStart());
-			}
-
-			currentNode.addRegion(region);
-			currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-			region.adjustStart(-currentNode.getStart());
-
-			if (mustBeEnd(type)) {
-				currentNode.setEnded(true);
-			}
-
-			if (headNode == null && currentNode != null) {
-				headNode = currentNode;
-			}
-		}
-
-		if (currentNode != null && !currentNode.isEnded()) {
-			currentNode.setEnded(true);
-		}
-
-		primReset();
-		return headNode;
-	}
-
-	private IStructuredDocumentRegion createStructuredDocumentRegion(String type) {
-		return CSSStructuredDocumentRegionFactory.createRegion(type);
-	}
-
-	private boolean mustBeStart(String type, String docRegionType) {
-		return ((type == CSSRegionContexts.CSS_DELIMITER || type == CSSRegionContexts.CSS_LBRACE || type == CSSRegionContexts.CSS_RBRACE || type == CSSRegionContexts.CSS_IMPORT || type == CSSRegionContexts.CSS_PAGE || type == CSSRegionContexts.CSS_MEDIA || type == CSSRegionContexts.CSS_FONT_FACE || type == CSSRegionContexts.CSS_CHARSET || type == CSSRegionContexts.CSS_ATKEYWORD || type == CSSRegionContexts.CSS_DECLARATION_PROPERTY || type == CSSRegionContexts.CSS_DECLARATION_DELIMITER) || (docRegionType == CSSRegionContexts.CSS_DECLARATION_PROPERTY && type == CSSRegionContexts.CSS_S) || (!CSSRegionUtil.isSelectorBegginingType(docRegionType) && (type == CSSRegionContexts.CSS_SELECTOR_ELEMENT_NAME || type == CSSRegionContexts.CSS_SELECTOR_UNIVERSAL || type == CSSRegionContexts.CSS_SELECTOR_PSEUDO || type == CSSRegionContexts.CSS_SELECTOR_CLASS || type == CSSRegionContexts.CSS_SELECTOR_ID || type == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START)));
-	}
-
-	private boolean mustBeEnd(String type) {
-		return (type == CSSRegionContexts.CSS_DELIMITER || type == CSSRegionContexts.CSS_LBRACE || type == CSSRegionContexts.CSS_RBRACE || type == CSSRegionContexts.CSS_DECLARATION_DELIMITER);
-	}
-
-	private ITextRegion getNextRegion() {
-		ITextRegion region = null;
-		try {
-			region = getTokenizer().getNextToken();
-			// DMW: 2/12/03 Removed state
-			// if (region != null) {
-			// fRegions.add(region);
-			// }
-			return region;
-		}
-		catch (StackOverflowError e) {
-			Logger.logException(getClass().getName() + ": input could not be parsed correctly at position " + getTokenizer().getOffset(), e); //$NON-NLS-1$
-			throw e;
-		}
-		catch (Exception e) {
-			Logger.logException(getClass().getName() + ": input could not be parsed correctly at position " + getTokenizer().getOffset() + " (" + e.getLocalizedMessage() + ")", e); //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		}
-		return null;
-	}
-
-	private void primReset() {
-
-		getTokenizer().reset(new char[0]);
-	}
-
-	private CSSTokenizer getTokenizer() {
-		if (fTokenizer == null) {
-			fTokenizer = new CSSTokenizer();
-		}
-		return fTokenizer;
-	}
-
-
-	/**
-	 * This is a simple utility to count nodes. Used only for debug
-	 * statements.
-	 */
-	private int _countNodes(IStructuredDocumentRegion nodes) {
-		int result = 0;
-		IStructuredDocumentRegion countNode = nodes;
-		while (countNode != null) {
-			result++;
-			countNode = countNode.getNext();
-		}
-		return result;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSStructuredDocumentRegionFactory.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSStructuredDocumentRegionFactory.java
deleted file mode 100644
index cd90d9f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSStructuredDocumentRegionFactory.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.parser;
-
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-public class CSSStructuredDocumentRegionFactory {
-	public static IStructuredDocumentRegion createRegion(String type) {
-		IStructuredDocumentRegion instance = null;
-		if (type != null) {
-			instance = new BasicStructuredDocumentRegion();
-		}
-		else {
-
-		}
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java
deleted file mode 100644
index c864f79..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java
+++ /dev/null
@@ -1,1221 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 04/10/01 22:53 */
-
-/*nlsXXX*/
-package org.eclipse.wst.css.core.internal.parser;
-
-import java.io.CharArrayReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.css.core.internal.parser.regions.CSSTextRegionFactory;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-
-/**
- * This class is a scanner generated by <a
- * href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex </a> 1.2.2
- */
-public class CSSTokenizer implements CSSRegionContexts {
-
-	/** this character denotes the end of file */
-	final public static int YYEOF = -1;
-
-	/** lexical states */
-	final public static int ST_SELECTOR_ATTRIBUTE_NAME = 11;
-	final public static int ST_IMPORT_DELIMITER = 5;
-	final public static int ST_DECLARATION_PRE_VALUE = 17;
-	final public static int ST_SELECTOR = 0;
-	final public static int ST_CHARSET_DELIMITER = 2;
-	final public static int ST_DECLARATION_VALUE = 18;
-	final public static int ST_PAGE_PSEUDO_PAGE = 8;
-	final public static int ST_IMPORT_URI = 3;
-	final public static int ST_SELECTOR_ATTRIBUTE_END = 14;
-	final public static int ST_SELECTOR_ATTRIBUTE_OPERATOR = 12;
-	final public static int ST_DECLARATION = 15;
-	final public static int ST_PAGE_DELIMITER = 9;
-	final public static int ST_SELECTOR_ATTRIBUTE_VALUE = 13;
-	final public static int ST_MEDIA_MEDIUM = 6;
-	final public static int ST_CHARSET_NAME = 1;
-	final public static int ST_IMPORT_MEDIUM = 4;
-	final public static int ST_DECLARATION_SEPARATOR = 16;
-	final public static int ST_FONT_FACE_DELIMITER = 9;
-	final public static int ST_MEDIA_DELIMITER = 7;
-	final public static int ST_SELECTOR_MODIFIER = 10;
-	final public static int YYINITIAL = 0;
-
-	/**
-	 * Translates characters to character classes
-	 */
-	final private static String yycmap_packed = "\11\0\1\11\1\17\1\0\1\4\1\20\22\0\1\6\1\31\1\10" + "\1\22\1\16\1\72\1\16\1\5\1\26\1\12\1\35\1\14\1\55" + "\1\13\1\15\1\34\12\1\1\62\1\50\1\30\1\67\1\32\1\21" + "\1\36\1\43\1\27\1\40\1\57\1\46\1\64\1\61\1\41\1\51" + "\2\2\1\25\1\52\1\65\1\54\1\53\1\2\1\24\1\44\1\47" + "\1\23\5\2\1\66\1\3\1\71\1\16\1\2\1\16\1\42\1\7" + "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\2\1\25\1\52" + "\1\65\1\54\1\53\1\2\1\24\1\44\1\47\1\23\5\2\1\60" + "\1\70\1\33\1\70\1\0\uff80\2";
-
-	/**
-	 * Translates characters to character classes
-	 */
-	final private static char[] yycmap = yy_unpack_cmap(yycmap_packed);
-
-	/**
-	 * Translates a state to a row index in the transition table
-	 */
-	final private static int yy_rowMap[] = {0, 59, 118, 177, 236, 295, 354, 413, 472, 531, 590, 649, 708, 767, 826, 885, 944, 1003, 1062, 1121, 1180, 1239, 1298, 1357, 1416, 1475, 1534, 1121, 1593, 1121, 1652, 1711, 1121, 1770, 1829, 1888, 1121, 1947, 2006, 2065, 2124, 2183, 2242, 1121, 2301, 2360, 2419, 1121, 1121, 2478, 2537, 2596, 1121, 2655, 2714, 1121, 1121, 2773, 2832, 2891, 1121, 2950, 1121, 3009, 3068, 3127, 3186, 3245, 3304, 3363, 3422, 1121, 1121, 3481, 3540, 3599, 3658, 3717, 1121, 3776, 3835, 3894, 3953, 4012, 4071, 1593, 1121, 4130, 1239, 4189, 4248, 1416, 4307, 1475, 4366, 4425, 4484, 4543, 4602, 4661, 4720, 4779, 4838, 4897, 1770, 4956, 1121, 1829, 5015, 5074, 1947, 5133, 1121, 2006, 5192, 5251, 2183, 5310, 5369, 2360, 5428, 5487, 2537, 5546, 5605, 1121, 2714, 2832, 5664, 5723, 3068, 5782, 3127, 5841, 1121, 3186, 5900, 5959, 3363, 6018, 6077, 6136, 6195, 3894, 1121, 3599, 1121, 6254, 3658, 6313, 1121, 3717, 6372, 6431, 6490, 6549, 3953, 6608, 6667, 6726, 4071, 6785,
-				1121, 4130, 6844, 1121, 6903, 6962, 7021, 7080, 7139, 7198, 7257, 7316, 7375, 7434, 7493, 7552, 1770, 7611, 7670, 1829, 7729, 7788, 1947, 7847, 7906, 2006, 7965, 8024, 8083, 8142, 8201, 8260, 8319, 8378, 3127, 8437, 8496, 3186, 8555, 8614, 8673, 8732, 8791, 3658, 8850, 8909, 3717, 8968, 9027, 9086, 9145, 9204, 9263, 9322, 9381, 1121, 1121, 9440, 9499, 9558, 9617, 9676, 9735, 9794, 9853, 9912, 9971, 10030, 10089, 10148, 10207, 10266, 10325, 10384, 10443, 10502, 10561, 10620, 10679, 10738, 10797, 10856, 10915, 10974, 11033, 11092, 11151, 11210, 11269, 11328, 11387, 11446, 11505, 1121, 11564, 11623, 1121, 11682, 11741, 11800, 11859, 11918, 11977, 12036, 12095, 12154, 12213, 1121, 12272, 12331, 12390, 12449, 12508, 12567, 12626, 12685, 12744, 12803, 12862, 12921, 12980, 13039, 13098, 13157, 13216, 11092, 13275, 13334, 1121, 13393, 13452, 13511, 13570, 13629, 13688, 1121, 13747, 13806, 13865, 13924, 13983, 14042, 14101, 14160, 14219, 12036, 14278, 14337, 14396, 14455,
-				14514, 14573, 14632, 14691, 14750, 14809, 14868, 14927, 14986, 15045, 15104, 15163, 15222, 15281, 15340, 13157, 15399, 15458, 15517, 15576, 15635, 15694, 15753, 1121, 15812, 15871, 15930, 15989, 16048, 16107, 16166, 16225, 16284, 16343, 16402, 16461, 16520, 16579, 16638, 16697, 16756, 16815, 16874, 16933, 16992, 17051, 17110, 17169, 17228, 17287, 17346, 17405, 17464, 17523, 17582, 17641, 17700, 17759, 17818, 17877, 17936, 17995, 18054, 1121, 18113, 18172, 18231, 18290, 18349, 18408, 18467, 18526, 18585, 12154, 18644, 12213, 18703, 18762, 18821, 18880, 18939, 18998, 19057, 19116, 19175, 19234, 13275, 19293, 13334, 19352, 19411, 19470, 19529, 19588, 19647, 19706, 19765, 19824, 19883, 19942, 1121, 20001, 20060, 20119, 20178, 1121, 20237, 20296, 20355, 1121, 20414, 20473, 20532, 20591, 20650, 20709, 20768, 20827, 20886, 20945};
-
-	/**
-	 * The packed transition table of the DFA
-	 */
-	final private static String yy_packed = "\2\24\1\25\1\26\1\27\1\24\1\27\1\25\1\24" + "\1\27\1\24\1\30\1\24\1\31\1\24\2\27\1\24" + "\1\32\3\25\1\24\1\25\1\33\2\24\1\34\1\35" + "\1\36\1\37\11\25\1\24\4\25\1\24\2\25\1\24" + "\1\25\1\40\3\25\1\41\10\24\1\27\1\42\1\27" + "\1\24\1\43\1\27\1\24\1\44\3\24\2\27\7\24" + "\1\33\2\24\1\34\1\35\1\24\1\37\40\24\1\27" + "\1\24\1\27\2\24\1\27\1\24\1\44\3\24\2\27" + "\7\24\1\33\2\24\1\34\1\35\1\24\1\37\11\24" + "\1\45\26\24\1\27\1\46\1\27\1\24\1\47\1\27" + "\1\24\1\44\3\24\2\27\2\24\1\50\4\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\24\24" + "\1\51\1\52\1\27\1\24\1\27\1\51\1\24\1\27" + "\1\24\1\53\3\24\2\27\2\24\3\51\1\24\1\51" + "\1\33\2\24\1\34\1\35\1\24\1\37\11\51\1\45" + "\4\51\1\24\2\51\1\24\1\51\1\24\3\51\11\24" + "\1\27\1\24\1\27\2\24\1\27\1\24\1\44\3\24" + "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37" + "\11\24\1\45\4\24\1\54\17\24\1\55\1\56\1\27" + "\1\24\1\27\1\55\1\24\1\27\1\24\1\57\3\24" + "\2\27\2\24\3\55\1\24\1\55\1\33\2\24\1\34"
-				+ "\1\35\1\24\1\37\11\55\1\24\4\55\1\24\2\55" + "\1\24\1\55\1\24\3\55\11\24\1\27\1\24\1\27" + "\2\24\1\27\1\24\1\44\3\24\2\27\7\24\1\33" + "\2\24\1\34\1\35\1\24\1\37\16\24\1\60\2\24" + "\1\61\14\24\1\62\1\63\1\27\1\24\1\27\1\62" + "\1\24\1\27\1\24\1\64\3\24\2\27\2\24\3\62" + "\1\24\1\62\1\33\2\24\1\34\1\35\1\24\1\37" + "\11\62\1\24\4\62\1\24\2\62\1\65\1\62\1\66" + "\3\62\11\24\1\27\1\24\1\27\2\24\1\27\1\24" + "\1\44\3\24\2\27\7\24\1\33\2\24\1\34\1\35" + "\1\24\1\37\21\24\1\65\16\24\1\67\1\24\1\67" + "\2\24\1\67\1\24\1\44\1\70\1\31\1\24\2\67" + "\1\24\1\32\5\24\1\33\1\24\1\70\1\34\1\35" + "\1\36\1\37\16\24\1\71\2\24\1\65\1\24\1\40" + "\3\24\1\41\6\24\1\72\1\73\1\27\1\24\1\27" + "\1\72\1\24\1\27\1\24\1\74\3\24\2\27\2\24" + "\3\72\1\24\1\72\1\33\2\24\1\34\1\35\1\24" + "\1\37\11\72\1\24\4\72\1\24\2\72\1\24\1\72" + "\1\24\3\72\11\24\1\27\1\24\1\27\2\24\1\27" + "\1\24\1\44\3\24\2\27\7\24\1\33\2\24\1\34" + "\1\35\1\24\1\37\30\24\1\75\1\76\1\77\3\24"
-				+ "\1\100\1\101\1\27\1\102\1\27\1\100\1\103\1\27" + "\1\24\1\104\3\24\2\27\2\24\3\100\1\24\1\100" + "\1\33\2\24\1\34\1\35\1\24\1\37\11\100\1\24" + "\4\100\1\24\2\100\1\24\1\100\1\24\3\100\11\24" + "\1\27\1\24\1\27\2\24\1\27\1\24\1\44\3\24" + "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37" + "\32\24\1\77\3\24\1\105\1\106\1\27\1\24\1\27" + "\1\105\1\24\1\27\1\24\1\107\3\24\2\27\2\24" + "\3\105\1\24\1\105\1\33\2\24\1\34\1\35\1\24" + "\1\37\11\105\1\110\4\105\1\24\2\105\1\24\1\105" + "\1\24\3\105\11\24\1\27\1\24\1\27\2\24\1\27" + "\1\24\1\44\3\24\2\27\7\24\1\33\2\24\1\34" + "\1\35\1\24\1\37\11\24\1\110\11\24\1\111\11\24" + "\1\112\1\113\1\114\1\27\1\115\1\27\1\113\1\116" + "\1\27\1\117\1\120\1\121\1\122\1\24\2\27\1\24" + "\1\123\1\124\2\113\1\24\1\113\1\33\1\125\1\24" + "\1\34\1\126\1\24\1\37\11\113\1\110\4\113\1\127" + "\2\113\1\24\1\113\1\24\3\113\6\24\1\112\1\113" + "\1\114\1\130\1\115\1\130\1\113\1\116\1\130\1\117" + "\1\120\1\121\1\122\1\24\2\130\1\24\1\123\1\124"
-				+ "\2\113\1\24\1\113\1\33\1\125\1\24\1\34\1\126" + "\1\24\1\37\11\113\1\110\4\113\1\127\2\113\1\24" + "\1\113\1\24\3\113\5\24\74\0\2\25\1\131\3\0" + "\1\25\3\0\1\25\7\0\3\25\1\0\1\25\7\0" + "\11\25\1\0\4\25\1\0\2\25\1\0\1\25\1\0" + "\3\25\6\0\1\132\2\25\1\0\2\25\1\132\1\25" + "\1\0\5\25\2\0\16\25\1\132\2\25\1\132\2\25" + "\1\132\10\25\1\132\4\25\1\132\7\25\4\0\1\27" + "\1\0\1\27\2\0\1\27\5\0\2\27\53\0\2\25" + "\1\131\3\0\1\25\3\0\1\133\7\0\3\25\1\0" + "\1\25\7\0\11\25\1\0\4\25\1\0\2\25\1\0" + "\1\25\1\0\3\25\6\0\2\134\1\135\3\0\1\134" + "\3\0\1\134\7\0\3\134\1\0\1\134\7\0\11\134" + "\1\0\4\134\1\0\2\134\1\0\1\134\1\0\3\134" + "\6\0\2\136\1\137\3\0\1\136\3\0\1\136\7\0" + "\3\136\1\0\1\136\7\0\11\136\1\0\4\136\1\0" + "\2\136\1\0\1\136\1\0\3\136\36\0\1\140\76\0" + "\1\141\74\0\2\142\10\0\1\143\1\144\1\145\7\0" + "\2\146\10\0\1\147\1\150\3\0\1\147\3\0\1\147" + "\7\0\3\147\1\0\1\147\7\0\11\147\1\0\4\147" + "\1\0\2\147\1\0\1\147\1\0\3\147\6\0\2\151"
-				+ "\1\152\1\0\1\153\11\151\2\0\52\151\1\0\2\154" + "\1\155\1\0\3\154\1\153\6\154\2\0\52\154\13\0" + "\1\156\60\0\2\157\1\160\1\0\1\161\11\157\2\0" + "\52\157\1\0\2\162\1\163\1\0\3\162\1\161\6\162" + "\2\0\52\162\24\0\1\164\47\0\2\51\1\165\3\0" + "\1\51\3\0\1\51\7\0\3\51\1\0\1\51\7\0" + "\11\51\1\0\4\51\1\0\2\51\1\0\1\51\1\0" + "\3\51\6\0\1\166\2\51\1\0\2\51\1\166\1\51" + "\1\0\5\51\2\0\16\51\1\166\2\51\1\166\2\51" + "\1\166\10\51\1\166\4\51\1\166\7\51\1\0\2\51" + "\1\165\3\0\1\51\3\0\1\167\7\0\3\51\1\0" + "\1\51\7\0\11\51\1\0\4\51\1\0\2\51\1\0" + "\1\51\1\0\3\51\6\0\2\55\1\170\3\0\1\55" + "\3\0\1\55\7\0\3\55\1\0\1\55\7\0\11\55" + "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\3\55" + "\6\0\1\171\2\55\1\0\2\55\1\171\1\55\1\0" + "\5\55\2\0\16\55\1\171\2\55\1\171\2\55\1\171" + "\10\55\1\171\4\55\1\171\7\55\1\0\2\55\1\170" + "\3\0\1\55\3\0\1\172\7\0\3\55\1\0\1\55" + "\7\0\11\55\1\0\4\55\1\0\2\55\1\0\1\55" + "\1\0\3\55\6\0\2\62\1\173\3\0\1\62\3\0"
-				+ "\1\62\7\0\3\62\1\0\1\62\7\0\11\62\1\0" + "\4\62\1\0\2\62\1\0\1\62\1\0\3\62\6\0" + "\1\174\2\62\1\0\2\62\1\174\1\62\1\0\5\62" + "\2\0\16\62\1\174\2\62\1\174\2\62\1\174\10\62" + "\1\174\4\62\1\174\7\62\1\0\2\62\1\173\3\0" + "\1\62\3\0\1\175\7\0\3\62\1\0\1\62\7\0" + "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0" + "\3\62\7\0\1\62\1\173\3\0\1\62\3\0\1\62" + "\7\0\3\62\1\0\1\62\7\0\11\62\1\0\4\62" + "\1\0\2\62\1\0\1\62\1\0\3\62\5\0\4\176" + "\1\177\1\176\1\177\2\176\1\177\2\176\1\0\2\176" + "\2\177\11\176\1\0\25\176\1\0\12\176\1\0\2\72" + "\1\200\3\0\1\72\3\0\1\72\7\0\3\72\1\0" + "\1\72\7\0\11\72\1\0\4\72\1\0\2\72\1\0" + "\1\72\1\0\3\72\6\0\1\201\2\72\1\0\2\72" + "\1\201\1\72\1\0\5\72\2\0\16\72\1\201\2\72" + "\1\201\2\72\1\201\10\72\1\201\4\72\1\201\7\72" + "\1\0\2\72\1\200\3\0\1\72\3\0\1\202\7\0" + "\3\72\1\0\1\72\7\0\11\72\1\0\4\72\1\0" + "\2\72\1\0\1\72\1\0\3\72\74\0\1\75\4\0" + "\2\100\1\203\3\0\1\100\3\0\1\100\7\0\3\100" + "\1\0\1\100\7\0\11\100\1\0\4\100\1\0\2\100"
-				+ "\1\0\1\100\1\0\3\100\6\0\1\204\2\100\1\0" + "\2\100\1\204\1\100\1\0\5\100\2\0\16\100\1\204" + "\2\100\1\204\2\100\1\204\10\100\1\204\4\100\1\204" + "\7\100\1\0\2\205\1\206\1\0\1\207\11\205\2\0" + "\52\205\1\0\2\210\1\211\1\0\3\210\1\207\6\210" + "\2\0\52\210\1\0\2\100\1\203\3\0\1\100\3\0" + "\1\212\7\0\3\100\1\0\1\100\7\0\11\100\1\0" + "\4\100\1\0\2\100\1\0\1\100\1\0\3\100\6\0" + "\2\105\1\213\3\0\1\105\3\0\1\105\7\0\3\105" + "\1\0\1\105\7\0\11\105\1\0\4\105\1\0\2\105" + "\1\0\1\105\1\0\3\105\6\0\1\214\2\105\1\0" + "\2\105\1\214\1\105\1\0\5\105\2\0\16\105\1\214" + "\2\105\1\214\2\105\1\214\10\105\1\214\4\105\1\214" + "\7\105\1\0\2\105\1\213\3\0\1\105\3\0\1\215" + "\7\0\3\105\1\0\1\105\7\0\11\105\1\0\4\105" + "\1\0\2\105\1\0\1\105\1\0\3\105\6\0\1\112" + "\1\216\1\217\3\0\1\216\3\0\1\216\1\0\1\220" + "\5\0\3\216\1\0\1\216\7\0\11\216\1\0\4\216" + "\1\0\2\216\1\0\1\216\1\0\3\216\4\0\1\221" + "\1\0\2\113\1\222\3\0\1\113\3\0\1\113\7\0"
-				+ "\3\113\1\223\1\113\7\0\11\113\1\0\4\113\1\0" + "\2\113\1\0\1\113\1\0\3\113\6\0\1\224\2\113" + "\1\0\2\113\1\224\1\113\1\0\5\113\2\0\16\113" + "\1\224\2\113\1\224\2\113\1\224\10\113\1\224\4\113" + "\1\224\7\113\1\0\2\225\1\226\1\0\1\227\11\225" + "\2\0\52\225\1\0\2\230\1\231\1\0\3\230\1\227" + "\6\230\2\0\52\230\1\0\1\232\1\113\1\222\3\0" + "\1\113\3\0\1\233\1\0\1\220\5\0\3\113\1\223" + "\1\113\7\0\11\113\1\0\4\113\1\0\2\113\1\0" + "\1\113\1\0\3\113\6\0\1\112\13\0\1\220\56\0" + "\1\234\72\0\2\235\1\236\3\0\1\235\3\0\1\235" + "\7\0\3\235\1\0\1\235\7\0\11\235\1\0\4\235" + "\1\0\2\235\1\0\1\235\1\0\3\235\6\0\2\113" + "\1\222\3\0\1\113\3\0\1\113\1\237\6\0\1\113" + "\1\240\1\113\1\223\1\113\7\0\11\113\1\0\4\113" + "\1\0\2\113\1\0\1\113\1\0\3\113\11\0\1\241" + "\1\0\1\241\2\0\1\241\5\0\2\241\30\0\1\242" + "\21\0\4\243\1\244\1\243\1\244\2\243\1\244\5\243" + "\2\244\12\243\1\0\14\243\1\0\22\243\1\0\1\245" + "\1\25\1\131\1\25\1\0\1\25\1\245\1\0\1\25"
-				+ "\1\0\1\25\3\0\2\25\2\0\3\25\1\0\1\25" + "\7\0\1\245\2\25\1\245\2\25\1\245\2\25\1\0" + "\4\25\1\0\1\245\1\25\1\0\1\25\1\0\1\245" + "\2\25\6\0\2\25\1\131\3\0\1\25\3\0\1\25" + "\7\0\3\25\1\0\1\25\2\0\1\246\4\0\11\25" + "\1\0\4\25\1\0\2\25\1\0\1\25\1\0\3\25" + "\6\0\1\247\2\134\1\0\2\134\1\247\1\134\1\0" + "\5\134\2\0\16\134\1\247\2\134\1\247\2\134\1\247" + "\10\134\1\247\4\134\1\247\7\134\1\0\1\250\2\136" + "\1\0\2\136\1\250\1\136\1\0\5\136\2\0\16\136" + "\1\250\2\136\1\250\2\136\1\250\10\136\1\250\4\136" + "\1\250\7\136\13\0\1\251\57\0\35\141\1\252\35\141" + "\41\0\1\253\103\0\1\254\65\0\2\255\66\0\2\256" + "\103\0\1\257\17\0\2\147\1\150\3\0\1\147\3\0" + "\1\147\7\0\3\147\1\260\1\147\7\0\11\147\1\0" + "\4\147\1\0\2\147\1\0\1\147\1\0\3\147\6\0" + "\1\261\2\147\1\0\2\147\1\261\1\147\1\0\5\147" + "\2\0\16\147\1\261\2\147\1\261\2\147\1\261\10\147" + "\1\261\4\147\1\261\7\147\1\0\1\262\1\151\1\152" + "\1\151\1\263\1\151\1\262\10\151\1\264\16\151\1\262"
-				+ "\2\151\1\262\2\151\1\262\10\151\1\262\4\151\1\262" + "\7\151\1\0\1\265\1\154\1\155\3\154\1\265\1\266" + "\7\154\1\267\16\154\1\265\2\154\1\265\2\154\1\265" + "\10\154\1\265\4\154\1\265\7\154\32\0\1\246\41\0" + "\1\270\1\157\1\160\1\157\1\271\1\157\1\270\10\157" + "\1\272\16\157\1\270\2\157\1\270\2\157\1\270\10\157" + "\1\270\4\157\1\270\7\157\1\0\1\273\1\162\1\163" + "\3\162\1\273\1\274\7\162\1\275\16\162\1\273\2\162" + "\1\273\2\162\1\273\10\162\1\273\4\162\1\273\7\162" + "\25\0\1\276\46\0\1\277\1\51\1\165\1\51\1\0" + "\1\51\1\277\1\0\1\51\1\0\1\51\3\0\2\51" + "\2\0\3\51\1\0\1\51\7\0\1\277\2\51\1\277" + "\2\51\1\277\2\51\1\0\4\51\1\0\1\277\1\51" + "\1\0\1\51\1\0\1\277\2\51\6\0\2\51\1\165" + "\3\0\1\51\3\0\1\51\7\0\3\51\1\0\1\51" + "\2\0\1\246\4\0\11\51\1\0\4\51\1\0\2\51" + "\1\0\1\51\1\0\3\51\6\0\1\300\1\55\1\170" + "\1\55\1\0\1\55\1\300\1\0\1\55\1\0\1\55" + "\3\0\2\55\2\0\3\55\1\0\1\55\7\0\1\300" + "\2\55\1\300\2\55\1\300\2\55\1\0\4\55\1\0"
-				+ "\1\300\1\55\1\0\1\55\1\0\1\300\2\55\6\0" + "\2\55\1\170\3\0\1\55\3\0\1\55\7\0\3\55" + "\1\0\1\55\2\0\1\246\4\0\11\55\1\0\4\55" + "\1\0\2\55\1\0\1\55\1\0\3\55\6\0\1\301" + "\1\62\1\173\1\62\1\0\1\62\1\301\1\0\1\62" + "\1\0\1\62\3\0\2\62\2\0\3\62\1\0\1\62" + "\7\0\1\301\2\62\1\301\2\62\1\301\2\62\1\0" + "\4\62\1\0\1\301\1\62\1\0\1\62\1\0\1\301" + "\2\62\6\0\2\62\1\173\3\0\1\62\3\0\1\62" + "\7\0\3\62\1\0\1\62\2\0\1\246\4\0\11\62" + "\1\0\4\62\1\0\2\62\1\0\1\62\1\0\3\62" + "\6\0\1\302\1\72\1\200\1\72\1\0\1\72\1\302" + "\1\0\1\72\1\0\1\72\3\0\2\72\2\0\3\72" + "\1\0\1\72\7\0\1\302\2\72\1\302\2\72\1\302" + "\2\72\1\0\4\72\1\0\1\302\1\72\1\0\1\72" + "\1\0\1\302\2\72\6\0\2\72\1\200\3\0\1\72" + "\3\0\1\72\7\0\3\72\1\0\1\72\2\0\1\246" + "\4\0\11\72\1\0\4\72\1\0\2\72\1\0\1\72" + "\1\0\3\72\6\0\1\303\1\100\1\203\1\100\1\0" + "\1\100\1\303\1\0\1\100\1\0\1\100\3\0\2\100" + "\2\0\3\100\1\0\1\100\7\0\1\303\2\100\1\303" + "\2\100\1\303\2\100\1\0\4\100\1\0\1\303\1\100"
-				+ "\1\0\1\100\1\0\1\303\2\100\6\0\1\304\1\205" + "\1\206\1\205\1\305\1\205\1\304\10\205\1\306\16\205" + "\1\304\2\205\1\304\2\205\1\304\10\205\1\304\4\205" + "\1\304\7\205\1\0\1\307\1\210\1\211\3\210\1\307" + "\1\310\7\210\1\311\16\210\1\307\2\210\1\307\2\210" + "\1\307\10\210\1\307\4\210\1\307\7\210\1\0\2\100" + "\1\203\3\0\1\100\3\0\1\100\7\0\3\100\1\0" + "\1\100\2\0\1\246\4\0\11\100\1\0\4\100\1\0" + "\2\100\1\0\1\100\1\0\3\100\6\0\1\312\1\105" + "\1\213\1\105\1\0\1\105\1\312\1\0\1\105\1\0" + "\1\105\3\0\2\105\2\0\3\105\1\0\1\105\7\0" + "\1\312\2\105\1\312\2\105\1\312\2\105\1\0\4\105" + "\1\0\1\312\1\105\1\0\1\105\1\0\1\312\2\105" + "\6\0\2\105\1\213\3\0\1\105\3\0\1\105\7\0" + "\3\105\1\0\1\105\2\0\1\246\4\0\11\105\1\0" + "\4\105\1\0\2\105\1\0\1\105\1\0\3\105\6\0" + "\2\216\1\217\3\0\1\216\3\0\1\216\7\0\3\216" + "\1\0\1\216\7\0\11\216\1\0\4\216\1\0\2\216" + "\1\0\1\216\1\0\3\216\6\0\1\313\2\216\1\0" + "\2\216\1\313\1\216\1\0\5\216\2\0\16\216\1\313"
-				+ "\2\216\1\313\2\216\1\313\10\216\1\313\4\216\1\313" + "\7\216\1\0\1\314\1\113\1\222\1\113\1\0\1\113" + "\1\314\1\0\1\113\1\0\1\113\3\0\2\113\2\0" + "\3\113\1\223\1\113\7\0\1\314\2\113\1\314\2\113" + "\1\314\2\113\1\0\4\113\1\0\1\314\1\113\1\0" + "\1\113\1\0\1\314\2\113\6\0\1\315\1\225\1\226" + "\1\225\1\316\1\225\1\315\10\225\1\317\16\225\1\315" + "\2\225\1\315\2\225\1\315\10\225\1\315\4\225\1\315" + "\7\225\1\0\1\320\1\230\1\231\3\230\1\320\1\321" + "\7\230\1\322\16\230\1\320\2\230\1\320\2\230\1\320" + "\10\230\1\320\4\230\1\320\7\230\1\0\1\232\1\113" + "\1\222\3\0\1\113\3\0\1\113\1\0\1\220\5\0" + "\3\113\1\223\1\113\7\0\11\113\1\0\4\113\1\0" + "\2\113\1\0\1\113\1\0\3\113\4\0\1\221\1\0" + "\2\113\1\222\3\0\1\113\3\0\1\113\7\0\3\113" + "\1\223\1\113\2\0\1\246\4\0\11\113\1\0\4\113" + "\1\0\2\113\1\0\1\113\1\0\3\113\6\0\1\234" + "\1\216\1\217\3\0\1\216\3\0\1\216\7\0\3\216" + "\1\0\1\216\7\0\11\216\1\0\4\216\1\0\2\216" + "\1\0\1\216\1\0\3\216\4\0\1\221\1\0\1\323"
-				+ "\2\235\1\0\2\235\1\323\1\235\1\0\5\235\2\0" + "\16\235\1\323\2\235\1\323\2\235\1\323\10\235\1\323" + "\4\235\1\323\7\235\1\0\1\324\5\0\1\324\11\0" + "\1\324\5\0\1\324\7\0\2\324\1\0\2\324\1\0" + "\2\324\7\0\2\324\3\0\2\324\7\0\2\113\1\222" + "\3\0\1\113\3\0\1\113\7\0\2\113\1\325\1\223" + "\1\113\7\0\11\113\1\0\4\113\1\0\2\113\1\0" + "\1\113\1\0\3\113\57\0\1\326\21\0\1\327\1\25" + "\1\131\1\25\1\0\1\25\1\327\1\0\1\25\1\0" + "\1\25\3\0\2\25\2\0\3\25\1\0\1\25\7\0" + "\1\327\2\25\1\327\2\25\1\327\2\25\1\0\4\25" + "\1\0\1\327\1\25\1\0\1\25\1\0\1\327\2\25" + "\6\0\1\330\1\134\1\135\1\134\1\0\1\134\1\330" + "\1\0\1\134\1\0\1\134\3\0\2\134\2\0\3\134" + "\1\0\1\134\7\0\1\330\2\134\1\330\2\134\1\330" + "\2\134\1\0\4\134\1\0\1\330\1\134\1\0\1\134" + "\1\0\1\330\2\134\6\0\1\331\1\136\1\137\1\136" + "\1\0\1\136\1\331\1\0\1\136\1\0\1\136\3\0" + "\2\136\2\0\3\136\1\0\1\136\7\0\1\331\2\136" + "\1\331\2\136\1\331\2\136\1\0\4\136\1\0\1\331"
-				+ "\1\136\1\0\1\136\1\0\1\331\2\136\20\0\1\332" + "\57\0\34\141\1\333\1\252\35\141\42\0\2\334\102\0" + "\1\335\75\0\2\336\74\0\1\337\76\0\1\340\7\0" + "\1\341\1\342\1\260\1\0\1\260\1\341\1\0\1\260" + "\1\0\1\341\3\0\2\260\2\0\3\341\1\0\1\341" + "\7\0\11\341\1\0\4\341\1\0\2\341\1\0\1\341" + "\1\0\3\341\6\0\1\343\1\147\1\150\1\147\1\0" + "\1\147\1\343\1\0\1\147\1\0\1\147\3\0\2\147" + "\2\0\3\147\1\260\1\147\7\0\1\343\2\147\1\343" + "\2\147\1\343\2\147\1\0\4\147\1\0\1\343\1\147" + "\1\0\1\147\1\0\1\343\2\147\6\0\1\344\1\151" + "\1\152\1\151\1\153\1\151\1\344\27\151\1\344\2\151" + "\1\344\2\151\1\344\10\151\1\344\4\151\1\344\7\151" + "\1\0\2\151\1\152\1\0\1\153\12\151\1\0\52\151" + "\1\0\1\345\1\154\1\155\3\154\1\345\1\153\26\154" + "\1\345\2\154\1\345\2\154\1\345\10\154\1\345\4\154" + "\1\345\7\154\1\0\2\154\1\155\1\0\3\154\1\153" + "\7\154\1\0\52\154\1\0\1\346\1\157\1\160\1\157" + "\1\161\1\157\1\346\27\157\1\346\2\157\1\346\2\157"
-				+ "\1\346\10\157\1\346\4\157\1\346\7\157\1\0\2\157" + "\1\160\1\0\1\161\12\157\1\0\52\157\1\0\1\347" + "\1\162\1\163\3\162\1\347\1\161\26\162\1\347\2\162" + "\1\347\2\162\1\347\10\162\1\347\4\162\1\347\7\162" + "\1\0\2\162\1\163\1\0\3\162\1\161\7\162\1\0" + "\52\162\26\0\1\350\45\0\1\351\1\51\1\165\1\51" + "\1\0\1\51\1\351\1\0\1\51\1\0\1\51\3\0" + "\2\51\2\0\3\51\1\0\1\51\7\0\1\351\2\51" + "\1\351\2\51\1\351\2\51\1\0\4\51\1\0\1\351" + "\1\51\1\0\1\51\1\0\1\351\2\51\6\0\1\352" + "\1\55\1\170\1\55\1\0\1\55\1\352\1\0\1\55" + "\1\0\1\55\3\0\2\55\2\0\3\55\1\0\1\55" + "\7\0\1\352\2\55\1\352\2\55\1\352\2\55\1\0" + "\4\55\1\0\1\352\1\55\1\0\1\55\1\0\1\352" + "\2\55\6\0\1\353\1\62\1\173\1\62\1\0\1\62" + "\1\353\1\0\1\62\1\0\1\62\3\0\2\62\2\0" + "\3\62\1\0\1\62\7\0\1\353\2\62\1\353\2\62" + "\1\353\2\62\1\0\4\62\1\0\1\353\1\62\1\0" + "\1\62\1\0\1\353\2\62\6\0\1\354\1\72\1\200" + "\1\72\1\0\1\72\1\354\1\0\1\72\1\0\1\72" + "\3\0\2\72\2\0\3\72\1\0\1\72\7\0\1\354"
-				+ "\2\72\1\354\2\72\1\354\2\72\1\0\4\72\1\0" + "\1\354\1\72\1\0\1\72\1\0\1\354\2\72\6\0" + "\1\355\1\100\1\203\1\100\1\0\1\100\1\355\1\0" + "\1\100\1\0\1\100\3\0\2\100\2\0\3\100\1\0" + "\1\100\7\0\1\355\2\100\1\355\2\100\1\355\2\100" + "\1\0\4\100\1\0\1\355\1\100\1\0\1\100\1\0" + "\1\355\2\100\6\0\1\356\1\205\1\206\1\205\1\207" + "\1\205\1\356\27\205\1\356\2\205\1\356\2\205\1\356" + "\10\205\1\356\4\205\1\356\7\205\1\0\2\205\1\206" + "\1\0\1\207\12\205\1\0\52\205\1\0\1\357\1\210" + "\1\211\3\210\1\357\1\207\26\210\1\357\2\210\1\357" + "\2\210\1\357\10\210\1\357\4\210\1\357\7\210\1\0" + "\2\210\1\211\1\0\3\210\1\207\7\210\1\0\52\210" + "\1\0\1\360\1\105\1\213\1\105\1\0\1\105\1\360" + "\1\0\1\105\1\0\1\105\3\0\2\105\2\0\3\105" + "\1\0\1\105\7\0\1\360\2\105\1\360\2\105\1\360" + "\2\105\1\0\4\105\1\0\1\360\1\105\1\0\1\105" + "\1\0\1\360\2\105\6\0\1\361\1\216\1\217\1\216" + "\1\0\1\216\1\361\1\0\1\216\1\0\1\216\3\0" + "\2\216\2\0\3\216\1\0\1\216\7\0\1\361\2\216"
-				+ "\1\361\2\216\1\361\2\216\1\0\4\216\1\0\1\361" + "\1\216\1\0\1\216\1\0\1\361\2\216\6\0\1\362" + "\1\113\1\222\1\113\1\0\1\113\1\362\1\0\1\113" + "\1\0\1\113\3\0\2\113\2\0\3\113\1\223\1\113" + "\7\0\1\362\2\113\1\362\2\113\1\362\2\113\1\0" + "\4\113\1\0\1\362\1\113\1\0\1\113\1\0\1\362" + "\2\113\6\0\1\363\1\225\1\226\1\225\1\227\1\225" + "\1\363\27\225\1\363\2\225\1\363\2\225\1\363\10\225" + "\1\363\4\225\1\363\7\225\1\0\2\225\1\226\1\0" + "\1\227\12\225\1\0\52\225\1\0\1\364\1\230\1\231" + "\3\230\1\364\1\227\26\230\1\364\2\230\1\364\2\230" + "\1\364\10\230\1\364\4\230\1\364\7\230\1\0\2\230" + "\1\231\1\0\3\230\1\227\7\230\1\0\52\230\1\0" + "\1\365\1\235\1\236\1\235\1\0\1\235\1\365\1\0" + "\1\235\1\0\1\235\3\0\2\235\2\0\3\235\1\0" + "\1\235\7\0\1\365\2\235\1\365\2\235\1\365\2\235" + "\1\0\4\235\1\0\1\365\1\235\1\0\1\235\1\0" + "\1\365\2\235\6\0\1\366\5\0\1\366\3\0\1\367" + "\5\0\1\366\5\0\1\366\7\0\2\366\1\0\2\366" + "\1\0\2\366\7\0\2\366\3\0\2\366\7\0\2\113"
-				+ "\1\222\3\0\1\113\3\0\1\113\7\0\3\113\1\370" + "\1\113\7\0\11\113\1\0\4\113\1\0\2\113\1\0" + "\1\113\1\0\3\113\60\0\1\371\20\0\1\372\1\25" + "\1\131\1\25\1\0\1\25\1\372\1\0\1\25\1\0" + "\1\25\3\0\2\25\2\0\3\25\1\0\1\25\7\0" + "\1\372\2\25\1\372\2\25\1\372\2\25\1\0\4\25" + "\1\0\1\372\1\25\1\0\1\25\1\0\1\372\2\25" + "\6\0\1\373\1\134\1\135\1\134\1\0\1\134\1\373" + "\1\0\1\134\1\0\1\134\3\0\2\134\2\0\3\134" + "\1\0\1\134\7\0\1\373\2\134\1\373\2\134\1\373" + "\2\134\1\0\4\134\1\0\1\373\1\134\1\0\1\134" + "\1\0\1\373\2\134\6\0\1\374\1\136\1\137\1\136" + "\1\0\1\136\1\374\1\0\1\136\1\0\1\136\3\0" + "\2\136\2\0\3\136\1\0\1\136\7\0\1\374\2\136" + "\1\374\2\136\1\374\2\136\1\0\4\136\1\0\1\374" + "\1\136\1\0\1\136\1\0\1\374\2\136\31\0\1\375" + "\122\0\1\376\67\0\1\377\66\0\2\u0100\73\0\1\u0101" + "\24\0\2\341\1\342\1\u0102\1\0\1\u0102\1\341\1\0" + "\1\u0102\1\u0103\1\341\3\0\2\u0102\2\0\3\341\1\0" + "\1\341\7\0\11\341\1\0\4\341\1\0\2\341\1\0"
-				+ "\1\341\1\0\3\341\6\0\1\u0104\2\341\1\0\2\341" + "\1\u0104\1\341\1\0\5\341\2\0\16\341\1\u0104\2\341" + "\1\u0104\2\341\1\u0104\10\341\1\u0104\4\341\1\u0104\7\341" + "\1\0\1\u0105\1\147\1\150\1\147\1\0\1\147\1\u0105" + "\1\0\1\147\1\0\1\147\3\0\2\147\2\0\3\147" + "\1\260\1\147\7\0\1\u0105\2\147\1\u0105\2\147\1\u0105" + "\2\147\1\0\4\147\1\0\1\u0105\1\147\1\0\1\147" + "\1\0\1\u0105\2\147\6\0\1\u0106\1\151\1\152\1\151" + "\1\153\1\151\1\u0106\27\151\1\u0106\2\151\1\u0106\2\151" + "\1\u0106\10\151\1\u0106\4\151\1\u0106\7\151\1\0\1\u0107" + "\1\154\1\155\3\154\1\u0107\1\153\26\154\1\u0107\2\154" + "\1\u0107\2\154\1\u0107\10\154\1\u0107\4\154\1\u0107\7\154" + "\1\0\1\u0108\1\157\1\160\1\157\1\161\1\157\1\u0108" + "\27\157\1\u0108\2\157\1\u0108\2\157\1\u0108\10\157\1\u0108" + "\4\157\1\u0108\7\157\1\0\1\u0109\1\162\1\163\3\162" + "\1\u0109\1\161\26\162\1\u0109\2\162\1\u0109\2\162\1\u0109" + "\10\162\1\u0109\4\162\1\u0109\7\162\1\0\2\u010a\1\u010b"
-				+ "\1\350\1\u010c\1\350\1\u010a\1\u010d\1\350\1\u010e\4\u010a" + "\2\350\5\u010a\1\0\44\u010a\1\0\1\u010f\1\51\1\165" + "\1\51\1\0\1\51\1\u010f\1\0\1\51\1\0\1\51" + "\3\0\2\51\2\0\3\51\1\0\1\51\7\0\1\u010f" + "\2\51\1\u010f\2\51\1\u010f\2\51\1\0\4\51\1\0" + "\1\u010f\1\51\1\0\1\51\1\0\1\u010f\2\51\6\0" + "\1\u0110\1\55\1\170\1\55\1\0\1\55\1\u0110\1\0" + "\1\55\1\0\1\55\3\0\2\55\2\0\3\55\1\0" + "\1\55\7\0\1\u0110\2\55\1\u0110\2\55\1\u0110\2\55" + "\1\0\4\55\1\0\1\u0110\1\55\1\0\1\55\1\0" + "\1\u0110\2\55\6\0\1\u0111\1\62\1\173\1\62\1\0" + "\1\62\1\u0111\1\0\1\62\1\0\1\62\3\0\2\62" + "\2\0\3\62\1\0\1\62\7\0\1\u0111\2\62\1\u0111" + "\2\62\1\u0111\2\62\1\0\4\62\1\0\1\u0111\1\62" + "\1\0\1\62\1\0\1\u0111\2\62\6\0\1\u0112\1\72" + "\1\200\1\72\1\0\1\72\1\u0112\1\0\1\72\1\0" + "\1\72\3\0\2\72\2\0\3\72\1\0\1\72\7\0" + "\1\u0112\2\72\1\u0112\2\72\1\u0112\2\72\1\0\4\72" + "\1\0\1\u0112\1\72\1\0\1\72\1\0\1\u0112\2\72" + "\6\0\1\u0113\1\100\1\203\1\100\1\0\1\100\1\u0113"
-				+ "\1\0\1\100\1\0\1\100\3\0\2\100\2\0\3\100" + "\1\0\1\100\7\0\1\u0113\2\100\1\u0113\2\100\1\u0113" + "\2\100\1\0\4\100\1\0\1\u0113\1\100\1\0\1\100" + "\1\0\1\u0113\2\100\6\0\1\u0114\1\205\1\206\1\205" + "\1\207\1\205\1\u0114\27\205\1\u0114\2\205\1\u0114\2\205" + "\1\u0114\10\205\1\u0114\4\205\1\u0114\7\205\1\0\1\u0115" + "\1\210\1\211\3\210\1\u0115\1\207\26\210\1\u0115\2\210" + "\1\u0115\2\210\1\u0115\10\210\1\u0115\4\210\1\u0115\7\210" + "\1\0\1\u0116\1\105\1\213\1\105\1\0\1\105\1\u0116" + "\1\0\1\105\1\0\1\105\3\0\2\105\2\0\3\105" + "\1\0\1\105\7\0\1\u0116\2\105\1\u0116\2\105\1\u0116" + "\2\105\1\0\4\105\1\0\1\u0116\1\105\1\0\1\105" + "\1\0\1\u0116\2\105\6\0\1\u0117\1\216\1\217\1\216" + "\1\0\1\216\1\u0117\1\0\1\216\1\0\1\216\3\0" + "\2\216\2\0\3\216\1\0\1\216\7\0\1\u0117\2\216" + "\1\u0117\2\216\1\u0117\2\216\1\0\4\216\1\0\1\u0117" + "\1\216\1\0\1\216\1\0\1\u0117\2\216\6\0\1\u0118" + "\1\113\1\222\1\113\1\0\1\113\1\u0118\1\0\1\113"
-				+ "\1\0\1\113\3\0\2\113\2\0\3\113\1\223\1\113" + "\7\0\1\u0118\2\113\1\u0118\2\113\1\u0118\2\113\1\0" + "\4\113\1\0\1\u0118\1\113\1\0\1\113\1\0\1\u0118" + "\2\113\6\0\1\u0119\1\225\1\226\1\225\1\227\1\225" + "\1\u0119\27\225\1\u0119\2\225\1\u0119\2\225\1\u0119\10\225" + "\1\u0119\4\225\1\u0119\7\225\1\0\1\u011a\1\230\1\231" + "\3\230\1\u011a\1\227\26\230\1\u011a\2\230\1\u011a\2\230" + "\1\u011a\10\230\1\u011a\4\230\1\u011a\7\230\1\0\1\u011b" + "\1\235\1\236\1\235\1\0\1\235\1\u011b\1\0\1\235" + "\1\0\1\235\3\0\2\235\2\0\3\235\1\0\1\235" + "\7\0\1\u011b\2\235\1\u011b\2\235\1\u011b\2\235\1\0" + "\4\235\1\0\1\u011b\1\235\1\0\1\235\1\0\1\u011b" + "\2\235\6\0\1\u011c\5\0\1\u011c\3\0\1\367\5\0" + "\1\u011c\5\0\1\u011c\7\0\2\u011c\1\0\2\u011c\1\0" + "\2\u011c\7\0\2\u011c\3\0\2\u011c\7\0\1\u011d\5\0" + "\1\u011d\11\0\1\u011d\5\0\1\u011d\7\0\2\u011d\1\0" + "\2\u011d\1\0\2\u011d\7\0\2\u011d\3\0\2\u011d\7\0" + "\2\u011e\1\u011f\1\u0120\1\u0121\1\u0120\1\u011e\1\u0122\1\u0120"
-				+ "\1\u0123\4\u011e\2\u0120\5\u011e\1\0\44\u011e\54\0\1\u0124" + "\17\0\1\u0125\1\25\1\131\1\25\1\0\1\25\1\u0125" + "\1\0\1\25\1\0\1\25\3\0\2\25\2\0\3\25" + "\1\0\1\25\7\0\1\u0125\2\25\1\u0125\2\25\1\u0125" + "\2\25\1\0\4\25\1\0\1\u0125\1\25\1\0\1\25" + "\1\0\1\u0125\2\25\6\0\1\u0126\1\134\1\135\1\134" + "\1\0\1\134\1\u0126\1\0\1\134\1\0\1\134\3\0" + "\2\134\2\0\3\134\1\0\1\134\7\0\1\u0126\2\134" + "\1\u0126\2\134\1\u0126\2\134\1\0\4\134\1\0\1\u0126" + "\1\134\1\0\1\134\1\0\1\u0126\2\134\6\0\1\u0127" + "\1\136\1\137\1\136\1\0\1\136\1\u0127\1\0\1\136" + "\1\0\1\136\3\0\2\136\2\0\3\136\1\0\1\136" + "\7\0\1\u0127\2\136\1\u0127\2\136\1\u0127\2\136\1\0" + "\4\136\1\0\1\u0127\1\136\1\0\1\136\1\0\1\u0127" + "\2\136\51\0\1\u0128\52\0\1\u0129\110\0\2\u012a\42\0" + "\1\u012b\63\0\1\u0102\1\0\1\u0102\2\0\1\u0102\1\u0103" + "\4\0\2\u0102\53\0\1\u012c\1\341\1\342\1\341\1\0" + "\1\341\1\u012c\1\0\1\341\1\u0103\1\341\3\0\2\341" + "\2\0\3\341\1\0\1\341\7\0\1\u012c\2\341\1\u012c"
-				+ "\2\341\1\u012c\2\341\1\0\4\341\1\0\1\u012c\1\341" + "\1\0\1\341\1\0\1\u012c\2\341\6\0\1\u012d\1\147" + "\1\150\1\147\1\0\1\147\1\u012d\1\0\1\147\1\0" + "\1\147\3\0\2\147\2\0\3\147\1\260\1\147\7\0" + "\1\u012d\2\147\1\u012d\2\147\1\u012d\2\147\1\0\4\147" + "\1\0\1\u012d\1\147\1\0\1\147\1\0\1\u012d\2\147" + "\6\0\1\u012e\1\151\1\152\1\151\1\153\1\151\1\u012e" + "\27\151\1\u012e\2\151\1\u012e\2\151\1\u012e\10\151\1\u012e" + "\4\151\1\u012e\7\151\1\0\1\u012f\1\154\1\155\3\154" + "\1\u012f\1\153\26\154\1\u012f\2\154\1\u012f\2\154\1\u012f" + "\10\154\1\u012f\4\154\1\u012f\7\154\1\0\1\u0130\1\157" + "\1\160\1\157\1\161\1\157\1\u0130\27\157\1\u0130\2\157" + "\1\u0130\2\157\1\u0130\10\157\1\u0130\4\157\1\u0130\7\157" + "\1\0\1\u0131\1\162\1\163\3\162\1\u0131\1\161\26\162" + "\1\u0131\2\162\1\u0131\2\162\1\u0131\10\162\1\u0131\4\162" + "\1\u0131\7\162\1\0\2\u010a\1\u010b\1\u0132\1\0\2\u010a" + "\1\0\1\u0132\1\u010e\4\u010a\2\u0132\5\u010a\1\0\44\u010a"
-				+ "\1\0\1\u0133\1\u010a\1\u010b\1\u0132\2\u010a\1\u0133\1\u010a" + "\1\u0132\1\u0134\4\u010a\2\u0132\16\u010a\1\u0133\2\u010a\1\u0133" + "\2\u010a\1\u0133\10\u010a\1\u0133\4\u010a\1\u0133\7\u010a\1\0" + "\2\u010c\1\u0135\1\0\1\u0132\11\u010c\2\0\52\u010c\1\0" + "\2\u010d\1\u0136\1\0\3\u010d\1\u0132\6\u010d\2\0\52\u010d" + "\1\0\1\u0137\1\51\1\165\1\51\1\0\1\51\1\u0137" + "\1\0\1\51\1\0\1\51\3\0\2\51\2\0\3\51" + "\1\0\1\51\7\0\1\u0137\2\51\1\u0137\2\51\1\u0137" + "\2\51\1\0\4\51\1\0\1\u0137\1\51\1\0\1\51" + "\1\0\1\u0137\2\51\6\0\1\u0138\1\55\1\170\1\55" + "\1\0\1\55\1\u0138\1\0\1\55\1\0\1\55\3\0" + "\2\55\2\0\3\55\1\0\1\55\7\0\1\u0138\2\55" + "\1\u0138\2\55\1\u0138\2\55\1\0\4\55\1\0\1\u0138" + "\1\55\1\0\1\55\1\0\1\u0138\2\55\6\0\1\u0139" + "\1\62\1\173\1\62\1\0\1\62\1\u0139\1\0\1\62" + "\1\0\1\62\3\0\2\62\2\0\3\62\1\0\1\62" + "\7\0\1\u0139\2\62\1\u0139\2\62\1\u0139\2\62\1\0" + "\4\62\1\0\1\u0139\1\62\1\0\1\62\1\0\1\u0139"
-				+ "\2\62\6\0\1\u013a\1\72\1\200\1\72\1\0\1\72" + "\1\u013a\1\0\1\72\1\0\1\72\3\0\2\72\2\0" + "\3\72\1\0\1\72\7\0\1\u013a\2\72\1\u013a\2\72" + "\1\u013a\2\72\1\0\4\72\1\0\1\u013a\1\72\1\0" + "\1\72\1\0\1\u013a\2\72\6\0\1\u013b\1\100\1\203" + "\1\100\1\0\1\100\1\u013b\1\0\1\100\1\0\1\100" + "\3\0\2\100\2\0\3\100\1\0\1\100\7\0\1\u013b" + "\2\100\1\u013b\2\100\1\u013b\2\100\1\0\4\100\1\0" + "\1\u013b\1\100\1\0\1\100\1\0\1\u013b\2\100\6\0" + "\1\u013c\1\205\1\206\1\205\1\207\1\205\1\u013c\27\205" + "\1\u013c\2\205\1\u013c\2\205\1\u013c\10\205\1\u013c\4\205" + "\1\u013c\7\205\1\0\1\u013d\1\210\1\211\3\210\1\u013d" + "\1\207\26\210\1\u013d\2\210\1\u013d\2\210\1\u013d\10\210" + "\1\u013d\4\210\1\u013d\7\210\1\0\1\u013e\1\105\1\213" + "\1\105\1\0\1\105\1\u013e\1\0\1\105\1\0\1\105" + "\3\0\2\105\2\0\3\105\1\0\1\105\7\0\1\u013e" + "\2\105\1\u013e\2\105\1\u013e\2\105\1\0\4\105\1\0" + "\1\u013e\1\105\1\0\1\105\1\0\1\u013e\2\105\6\0"
-				+ "\1\u013f\1\216\1\217\1\216\1\0\1\216\1\u013f\1\0" + "\1\216\1\0\1\216\3\0\2\216\2\0\3\216\1\0" + "\1\216\7\0\1\u013f\2\216\1\u013f\2\216\1\u013f\2\216" + "\1\0\4\216\1\0\1\u013f\1\216\1\0\1\216\1\0" + "\1\u013f\2\216\6\0\1\u0140\1\113\1\222\1\113\1\0" + "\1\113\1\u0140\1\0\1\113\1\0\1\113\3\0\2\113" + "\2\0\3\113\1\223\1\113\7\0\1\u0140\2\113\1\u0140" + "\2\113\1\u0140\2\113\1\0\4\113\1\0\1\u0140\1\113" + "\1\0\1\113\1\0\1\u0140\2\113\6\0\1\u0141\1\225" + "\1\226\1\225\1\227\1\225\1\u0141\27\225\1\u0141\2\225" + "\1\u0141\2\225\1\u0141\10\225\1\u0141\4\225\1\u0141\7\225" + "\1\0\1\u0142\1\230\1\231\3\230\1\u0142\1\227\26\230" + "\1\u0142\2\230\1\u0142\2\230\1\u0142\10\230\1\u0142\4\230" + "\1\u0142\7\230\1\0\1\u0143\1\235\1\236\1\235\1\0" + "\1\235\1\u0143\1\0\1\235\1\0\1\235\3\0\2\235" + "\2\0\3\235\1\0\1\235\7\0\1\u0143\2\235\1\u0143" + "\2\235\1\u0143\2\235\1\0\4\235\1\0\1\u0143\1\235" + "\1\0\1\235\1\0\1\u0143\2\235\6\0\1\u0144\5\0"
-				+ "\1\u0144\3\0\1\367\5\0\1\u0144\5\0\1\u0144\7\0" + "\2\u0144\1\0\2\u0144\1\0\2\u0144\7\0\2\u0144\3\0" + "\2\u0144\7\0\1\u0145\5\0\1\u0145\11\0\1\u0145\5\0" + "\1\u0145\7\0\2\u0145\1\0\2\u0145\1\0\2\u0145\7\0" + "\2\u0145\3\0\2\u0145\7\0\2\u011e\1\u011f\1\u0146\1\0" + "\2\u011e\1\0\1\u0146\1\u0123\4\u011e\2\u0146\5\u011e\1\0" + "\44\u011e\1\0\1\u0147\1\u011e\1\u011f\1\u0146\2\u011e\1\u0147" + "\1\u011e\1\u0146\1\u0148\4\u011e\2\u0146\16\u011e\1\u0147\2\u011e" + "\1\u0147\2\u011e\1\u0147\10\u011e\1\u0147\4\u011e\1\u0147\7\u011e" + "\1\0\2\u0121\1\u0149\1\0\1\u0146\11\u0121\2\0\52\u0121" + "\1\0\2\u0122\1\u014a\1\0\3\u0122\1\u0146\6\u0122\2\0" + "\52\u0122\24\0\1\u014b\47\0\1\u014c\1\25\1\131\1\25" + "\1\0\1\25\1\u014c\1\0\1\25\1\0\1\25\3\0" + "\2\25\2\0\3\25\1\0\1\25\7\0\1\u014c\2\25" + "\1\u014c\2\25\1\u014c\2\25\1\0\4\25\1\0\1\u014c" + "\1\25\1\0\1\25\1\0\1\u014c\2\25\6\0\1\u014d" + "\1\134\1\135\1\134\1\0\1\134\1\u014d\1\0\1\134"
-				+ "\1\0\1\134\3\0\2\134\2\0\3\134\1\0\1\134" + "\7\0\1\u014d\2\134\1\u014d\2\134\1\u014d\2\134\1\0" + "\4\134\1\0\1\u014d\1\134\1\0\1\134\1\0\1\u014d" + "\2\134\6\0\1\u014e\1\136\1\137\1\136\1\0\1\136" + "\1\u014e\1\0\1\136\1\0\1\136\3\0\2\136\2\0" + "\3\136\1\0\1\136\7\0\1\u014e\2\136\1\u014e\2\136" + "\1\u014e\2\136\1\0\4\136\1\0\1\u014e\1\136\1\0" + "\1\136\1\0\1\u014e\2\136\52\0\2\u014f\73\0\1\u0150" + "\106\0\2\u0151\7\0\1\u0152\1\341\1\342\1\341\1\0" + "\1\341\1\u0152\1\0\1\341\1\u0103\1\341\3\0\2\341" + "\2\0\3\341\1\0\1\341\7\0\1\u0152\2\341\1\u0152" + "\2\341\1\u0152\2\341\1\0\4\341\1\0\1\u0152\1\341" + "\1\0\1\341\1\0\1\u0152\2\341\6\0\1\u0153\1\147" + "\1\150\1\147\1\0\1\147\1\u0153\1\0\1\147\1\0" + "\1\147\3\0\2\147\2\0\3\147\1\260\1\147\7\0" + "\1\u0153\2\147\1\u0153\2\147\1\u0153\2\147\1\0\4\147" + "\1\0\1\u0153\1\147\1\0\1\147\1\0\1\u0153\2\147" + "\6\0\1\u0154\1\151\1\152\1\151\1\153\1\151\1\u0154"
-				+ "\27\151\1\u0154\2\151\1\u0154\2\151\1\u0154\10\151\1\u0154" + "\4\151\1\u0154\7\151\1\0\1\u0155\1\154\1\155\3\154" + "\1\u0155\1\153\26\154\1\u0155\2\154\1\u0155\2\154\1\u0155" + "\10\154\1\u0155\4\154\1\u0155\7\154\1\0\1\u0156\1\157" + "\1\160\1\157\1\161\1\157\1\u0156\27\157\1\u0156\2\157" + "\1\u0156\2\157\1\u0156\10\157\1\u0156\4\157\1\u0156\7\157" + "\1\0\1\u0157\1\162\1\163\3\162\1\u0157\1\161\26\162" + "\1\u0157\2\162\1\u0157\2\162\1\u0157\10\162\1\u0157\4\162" + "\1\u0157\7\162\4\0\1\u0132\1\0\1\u0132\2\0\1\u0132" + "\1\u010e\4\0\2\u0132\53\0\1\u0158\1\u010a\1\u010b\1\u010a" + "\1\0\1\u010a\1\u0158\1\0\1\u010a\1\u010e\13\u010a\1\0" + "\10\u010a\1\u0158\2\u010a\1\u0158\2\u010a\1\u0158\10\u010a\1\u0158" + "\4\u010a\1\u0158\7\u010a\1\0\1\u0159\1\u010c\1\u0135\1\u010c" + "\1\u015a\1\u010c\1\u0159\10\u010c\1\u015b\16\u010c\1\u0159\2\u010c" + "\1\u0159\2\u010c\1\u0159\10\u010c\1\u0159\4\u010c\1\u0159\7\u010c"
-				+ "\1\0\1\u015c\1\u010d\1\u0136\3\u010d\1\u015c\1\u015d\7\u010d" + "\1\u015e\16\u010d\1\u015c\2\u010d\1\u015c\2\u010d\1\u015c\10\u010d" + "\1\u015c\4\u010d\1\u015c\7\u010d\1\0\1\u015f\1\51\1\165" + "\1\51\1\0\1\51\1\u015f\1\0\1\51\1\0\1\51" + "\3\0\2\51\2\0\3\51\1\0\1\51\7\0\1\u015f" + "\2\51\1\u015f\2\51\1\u015f\2\51\1\0\4\51\1\0" + "\1\u015f\1\51\1\0\1\51\1\0\1\u015f\2\51\6\0" + "\1\u0160\1\55\1\170\1\55\1\0\1\55\1\u0160\1\0" + "\1\55\1\0\1\55\3\0\2\55\2\0\3\55\1\0" + "\1\55\7\0\1\u0160\2\55\1\u0160\2\55\1\u0160\2\55" + "\1\0\4\55\1\0\1\u0160\1\55\1\0\1\55\1\0" + "\1\u0160\2\55\6\0\1\u0161\1\62\1\173\1\62\1\0" + "\1\62\1\u0161\1\0\1\62\1\0\1\62\3\0\2\62" + "\2\0\3\62\1\0\1\62\7\0\1\u0161\2\62\1\u0161" + "\2\62\1\u0161\2\62\1\0\4\62\1\0\1\u0161\1\62" + "\1\0\1\62\1\0\1\u0161\2\62\6\0\1\u0162\1\72" + "\1\200\1\72\1\0\1\72\1\u0162\1\0\1\72\1\0" + "\1\72\3\0\2\72\2\0\3\72\1\0\1\72\7\0" + "\1\u0162\2\72\1\u0162\2\72\1\u0162\2\72\1\0\4\72"
-				+ "\1\0\1\u0162\1\72\1\0\1\72\1\0\1\u0162\2\72" + "\6\0\1\u0163\1\100\1\203\1\100\1\0\1\100\1\u0163" + "\1\0\1\100\1\0\1\100\3\0\2\100\2\0\3\100" + "\1\0\1\100\7\0\1\u0163\2\100\1\u0163\2\100\1\u0163" + "\2\100\1\0\4\100\1\0\1\u0163\1\100\1\0\1\100" + "\1\0\1\u0163\2\100\6\0\1\u0164\1\205\1\206\1\205" + "\1\207\1\205\1\u0164\27\205\1\u0164\2\205\1\u0164\2\205" + "\1\u0164\10\205\1\u0164\4\205\1\u0164\7\205\1\0\1\u0165" + "\1\210\1\211\3\210\1\u0165\1\207\26\210\1\u0165\2\210" + "\1\u0165\2\210\1\u0165\10\210\1\u0165\4\210\1\u0165\7\210" + "\1\0\1\u0166\1\105\1\213\1\105\1\0\1\105\1\u0166" + "\1\0\1\105\1\0\1\105\3\0\2\105\2\0\3\105" + "\1\0\1\105\7\0\1\u0166\2\105\1\u0166\2\105\1\u0166" + "\2\105\1\0\4\105\1\0\1\u0166\1\105\1\0\1\105" + "\1\0\1\u0166\2\105\6\0\1\u0167\1\216\1\217\1\216" + "\1\0\1\216\1\u0167\1\0\1\216\1\0\1\216\3\0" + "\2\216\2\0\3\216\1\0\1\216\7\0\1\u0167\2\216" + "\1\u0167\2\216\1\u0167\2\216\1\0\4\216\1\0\1\u0167"
-				+ "\1\216\1\0\1\216\1\0\1\u0167\2\216\6\0\1\u0168" + "\1\113\1\222\1\113\1\0\1\113\1\u0168\1\0\1\113" + "\1\0\1\113\3\0\2\113\2\0\3\113\1\223\1\113" + "\7\0\1\u0168\2\113\1\u0168\2\113\1\u0168\2\113\1\0" + "\4\113\1\0\1\u0168\1\113\1\0\1\113\1\0\1\u0168" + "\2\113\6\0\1\u0169\1\225\1\226\1\225\1\227\1\225" + "\1\u0169\27\225\1\u0169\2\225\1\u0169\2\225\1\u0169\10\225" + "\1\u0169\4\225\1\u0169\7\225\1\0\1\u016a\1\230\1\231" + "\3\230\1\u016a\1\227\26\230\1\u016a\2\230\1\u016a\2\230" + "\1\u016a\10\230\1\u016a\4\230\1\u016a\7\230\1\0\1\u016b" + "\1\235\1\236\1\235\1\0\1\235\1\u016b\1\0\1\235" + "\1\0\1\235\3\0\2\235\2\0\3\235\1\0\1\235" + "\7\0\1\u016b\2\235\1\u016b\2\235\1\u016b\2\235\1\0" + "\4\235\1\0\1\u016b\1\235\1\0\1\235\1\0\1\u016b" + "\2\235\6\0\1\u016c\5\0\1\u016c\3\0\1\367\5\0" + "\1\u016c\5\0\1\u016c\7\0\2\u016c\1\0\2\u016c\1\0" + "\2\u016c\7\0\2\u016c\3\0\2\u016c\7\0\1\u016d\5\0" + "\1\u016d\11\0\1\u016d\5\0\1\u016d\7\0\2\u016d\1\0"
-				+ "\2\u016d\1\0\2\u016d\7\0\2\u016d\3\0\2\u016d\12\0" + "\1\u0146\1\0\1\u0146\2\0\1\u0146\1\u0123\4\0\2\u0146" + "\53\0\1\u016e\1\u011e\1\u011f\1\u011e\1\0\1\u011e\1\u016e" + "\1\0\1\u011e\1\u0123\13\u011e\1\0\10\u011e\1\u016e\2\u011e" + "\1\u016e\2\u011e\1\u016e\10\u011e\1\u016e\4\u011e\1\u016e\7\u011e" + "\1\0\1\u016f\1\u0121\1\u0149\1\u0121\1\u0170\1\u0121\1\u016f" + "\10\u0121\1\u0171\16\u0121\1\u016f\2\u0121\1\u016f\2\u0121\1\u016f" + "\10\u0121\1\u016f\4\u0121\1\u016f\7\u0121\1\0\1\u0172\1\u0122" + "\1\u014a\3\u0122\1\u0172\1\u0173\7\u0122\1\u0174\16\u0122\1\u0172" + "\2\u0122\1\u0172\2\u0122\1\u0172\10\u0122\1\u0172\4\u0122\1\u0172" + "\7\u0122\47\0\1\u0175\24\0\2\25\1\131\1\25\1\0" + "\2\25\1\0\1\25\1\0\1\25\3\0\2\25\2\0" + "\3\25\1\0\1\25\7\0\11\25\1\0\4\25\1\0" + "\2\25\1\0\1\25\1\0\3\25\6\0\1\u0176\1\134" + "\1\135\1\134\1\0\1\134\1\u0176\1\0\1\134\1\0" + "\1\134\3\0\2\134\2\0\3\134\1\0\1\134\7\0" + "\1\u0176\2\134\1\u0176\2\134\1\u0176\2\134\1\0\4\134"
-				+ "\1\0\1\u0176\1\134\1\0\1\134\1\0\1\u0176\2\134" + "\6\0\1\u0177\1\136\1\137\1\136\1\0\1\136\1\u0177" + "\1\0\1\136\1\0\1\136\3\0\2\136\2\0\3\136" + "\1\0\1\136\7\0\1\u0177\2\136\1\u0177\2\136\1\u0177" + "\2\136\1\0\4\136\1\0\1\u0177\1\136\1\0\1\136" + "\1\0\1\u0177\2\136\54\0\1\u0178\65\0\2\u0179\30\0" + "\1\u017a\1\341\1\342\1\341\1\0\1\341\1\u017a\1\0" + "\1\341\1\u0103\1\341\3\0\2\341\2\0\3\341\1\0" + "\1\341\7\0\1\u017a\2\341\1\u017a\2\341\1\u017a\2\341" + "\1\0\4\341\1\0\1\u017a\1\341\1\0\1\341\1\0" + "\1\u017a\2\341\6\0\1\u017b\1\147\1\150\1\147\1\0" + "\1\147\1\u017b\1\0\1\147\1\0\1\147\3\0\2\147" + "\2\0\3\147\1\260\1\147\7\0\1\u017b\2\147\1\u017b" + "\2\147\1\u017b\2\147\1\0\4\147\1\0\1\u017b\1\147" + "\1\0\1\147\1\0\1\u017b\2\147\6\0\1\u017c\1\151" + "\1\152\1\151\1\153\1\151\1\u017c\27\151\1\u017c\2\151" + "\1\u017c\2\151\1\u017c\10\151\1\u017c\4\151\1\u017c\7\151" + "\1\0\1\u017d\1\154\1\155\3\154\1\u017d\1\153\26\154"
-				+ "\1\u017d\2\154\1\u017d\2\154\1\u017d\10\154\1\u017d\4\154" + "\1\u017d\7\154\1\0\1\u017e\1\157\1\160\1\157\1\161" + "\1\157\1\u017e\27\157\1\u017e\2\157\1\u017e\2\157\1\u017e" + "\10\157\1\u017e\4\157\1\u017e\7\157\1\0\1\u017f\1\162" + "\1\163\3\162\1\u017f\1\161\26\162\1\u017f\2\162\1\u017f" + "\2\162\1\u017f\10\162\1\u017f\4\162\1\u017f\7\162\1\0" + "\1\u0180\1\u010a\1\u010b\1\u010a\1\0\1\u010a\1\u0180\1\0" + "\1\u010a\1\u010e\13\u010a\1\0\10\u010a\1\u0180\2\u010a\1\u0180" + "\2\u010a\1\u0180\10\u010a\1\u0180\4\u010a\1\u0180\7\u010a\1\0" + "\1\u0181\1\u010c\1\u0135\1\u010c\1\u0132\1\u010c\1\u0181\27\u010c" + "\1\u0181\2\u010c\1\u0181\2\u010c\1\u0181\10\u010c\1\u0181\4\u010c" + "\1\u0181\7\u010c\1\0\2\u010c\1\u0135\2\u0132\1\u015a\2\u010c" + "\1\u015a\1\u0182\4\u010c\2\u0132\52\u010c\1\0\2\u010c\1\u0135" + "\1\0\1\u0132\12\u010c\1\0\52\u010c\1\0\1\u0183\1\u010d" + "\1\u0136\3\u010d\1\u0183\1\u0132\26\u010d\1\u0183\2\u010d\1\u0183"
-				+ "\2\u010d\1\u0183\10\u010d\1\u0183\4\u010d\1\u0183\7\u010d\1\0" + "\2\u010d\1\u0136\1\u0132\1\u010d\1\u015d\1\u010d\1\u0132\1\u015d" + "\1\u0184\4\u010d\2\u0132\52\u010d\1\0\2\u010d\1\u0136\1\0" + "\3\u010d\1\u0132\7\u010d\1\0\52\u010d\1\0\2\51\1\165" + "\1\51\1\0\2\51\1\0\1\51\1\0\1\51\3\0" + "\2\51\2\0\3\51\1\0\1\51\7\0\11\51\1\0" + "\4\51\1\0\2\51\1\0\1\51\1\0\3\51\6\0" + "\2\55\1\170\1\55\1\0\2\55\1\0\1\55\1\0" + "\1\55\3\0\2\55\2\0\3\55\1\0\1\55\7\0" + "\11\55\1\0\4\55\1\0\2\55\1\0\1\55\1\0" + "\3\55\6\0\2\62\1\173\1\62\1\0\2\62\1\0" + "\1\62\1\0\1\62\3\0\2\62\2\0\3\62\1\0" + "\1\62\7\0\11\62\1\0\4\62\1\0\2\62\1\0" + "\1\62\1\0\3\62\6\0\2\72\1\200\1\72\1\0" + "\2\72\1\0\1\72\1\0\1\72\3\0\2\72\2\0" + "\3\72\1\0\1\72\7\0\11\72\1\0\4\72\1\0" + "\2\72\1\0\1\72\1\0\3\72\6\0\2\100\1\203" + "\1\100\1\0\2\100\1\0\1\100\1\0\1\100\3\0" + "\2\100\2\0\3\100\1\0\1\100\7\0\11\100\1\0" + "\4\100\1\0\2\100\1\0\1\100\1\0\3\100\6\0"
-				+ "\1\u0185\1\205\1\206\1\205\1\207\1\205\1\u0185\27\205" + "\1\u0185\2\205\1\u0185\2\205\1\u0185\10\205\1\u0185\4\205" + "\1\u0185\7\205\1\0\1\u0186\1\210\1\211\3\210\1\u0186" + "\1\207\26\210\1\u0186\2\210\1\u0186\2\210\1\u0186\10\210" + "\1\u0186\4\210\1\u0186\7\210\1\0\2\105\1\213\1\105" + "\1\0\2\105\1\0\1\105\1\0\1\105\3\0\2\105" + "\2\0\3\105\1\0\1\105\7\0\11\105\1\0\4\105" + "\1\0\2\105\1\0\1\105\1\0\3\105\6\0\1\u0187" + "\1\216\1\217\1\216\1\0\1\216\1\u0187\1\0\1\216" + "\1\0\1\216\3\0\2\216\2\0\3\216\1\0\1\216" + "\7\0\1\u0187\2\216\1\u0187\2\216\1\u0187\2\216\1\0" + "\4\216\1\0\1\u0187\1\216\1\0\1\216\1\0\1\u0187" + "\2\216\6\0\2\113\1\222\1\113\1\0\2\113\1\0" + "\1\113\1\0\1\113\3\0\2\113\2\0\3\113\1\223" + "\1\113\7\0\11\113\1\0\4\113\1\0\2\113\1\0" + "\1\113\1\0\3\113\6\0\1\u0188\1\225\1\226\1\225" + "\1\227\1\225\1\u0188\27\225\1\u0188\2\225\1\u0188\2\225" + "\1\u0188\10\225\1\u0188\4\225\1\u0188\7\225\1\0\1\u0189"
-				+ "\1\230\1\231\3\230\1\u0189\1\227\26\230\1\u0189\2\230" + "\1\u0189\2\230\1\u0189\10\230\1\u0189\4\230\1\u0189\7\230" + "\1\0\1\u018a\1\235\1\236\1\235\1\0\1\235\1\u018a" + "\1\0\1\235\1\0\1\235\3\0\2\235\2\0\3\235" + "\1\0\1\235\7\0\1\u018a\2\235\1\u018a\2\235\1\u018a" + "\2\235\1\0\4\235\1\0\1\u018a\1\235\1\0\1\235" + "\1\0\1\u018a\2\235\6\0\1\u018b\5\0\1\u018b\3\0" + "\1\367\5\0\1\u018b\5\0\1\u018b\7\0\2\u018b\1\0" + "\2\u018b\1\0\2\u018b\7\0\2\u018b\3\0\2\u018b\7\0" + "\1\u018c\5\0\1\u018c\11\0\1\u018c\5\0\1\u018c\7\0" + "\2\u018c\1\0\2\u018c\1\0\2\u018c\7\0\2\u018c\3\0" + "\2\u018c\7\0\1\u018d\1\u011e\1\u011f\1\u011e\1\0\1\u011e" + "\1\u018d\1\0\1\u011e\1\u0123\13\u011e\1\0\10\u011e\1\u018d" + "\2\u011e\1\u018d\2\u011e\1\u018d\10\u011e\1\u018d\4\u011e\1\u018d" + "\7\u011e\1\0\1\u018e\1\u0121\1\u0149\1\u0121\1\u0146\1\u0121" + "\1\u018e\27\u0121\1\u018e\2\u0121\1\u018e\2\u0121\1\u018e\10\u0121" + "\1\u018e\4\u0121\1\u018e\7\u0121\1\0\2\u0121\1\u0149\2\u0146"
-				+ "\1\u0170\2\u0121\1\u0170\1\u018f\4\u0121\2\u0146\52\u0121\1\0" + "\2\u0121\1\u0149\1\0\1\u0146\12\u0121\1\0\52\u0121\1\0" + "\1\u0190\1\u0122\1\u014a\3\u0122\1\u0190\1\u0146\26\u0122\1\u0190" + "\2\u0122\1\u0190\2\u0122\1\u0190\10\u0122\1\u0190\4\u0122\1\u0190" + "\7\u0122\1\0\2\u0122\1\u014a\1\u0146\1\u0122\1\u0173\1\u0122" + "\1\u0146\1\u0173\1\u0191\4\u0122\2\u0146\52\u0122\1\0\2\u0122" + "\1\u014a\1\0\3\u0122\1\u0146\7\u0122\1\0\52\u0122\42\0" + "\2\u0192\30\0\2\134\1\135\1\134\1\0\2\134\1\0" + "\1\134\1\0\1\134\3\0\2\134\2\0\3\134\1\0" + "\1\134\7\0\11\134\1\0\4\134\1\0\2\134\1\0" + "\1\134\1\0\3\134\6\0\2\136\1\137\1\136\1\0" + "\2\136\1\0\1\136\1\0\1\136\3\0\2\136\2\0" + "\3\136\1\0\1\136\7\0\11\136\1\0\4\136\1\0" + "\2\136\1\0\1\136\1\0\3\136\44\0\2\u0193\33\0" + "\1\u0194\1\341\1\342\1\341\1\0\1\341\1\u0194\1\0" + "\1\341\1\u0103\1\341\3\0\2\341\2\0\3\341\1\0" + "\1\341\7\0\1\u0194\2\341\1\u0194\2\341\1\u0194\2\341"
-				+ "\1\0\4\341\1\0\1\u0194\1\341\1\0\1\341\1\0" + "\1\u0194\2\341\6\0\2\147\1\150\1\147\1\0\2\147" + "\1\0\1\147\1\0\1\147\3\0\2\147\2\0\3\147" + "\1\260\1\147\7\0\11\147\1\0\4\147\1\0\2\147" + "\1\0\1\147\1\0\3\147\6\0\2\151\1\152\1\151" + "\1\153\65\151\1\0\2\154\1\155\4\154\1\153\62\154" + "\1\0\2\157\1\160\1\157\1\161\65\157\1\0\2\162" + "\1\163\4\162\1\161\62\162\1\0\1\u0195\1\u010a\1\u010b" + "\1\u010a\1\0\1\u010a\1\u0195\1\0\1\u010a\1\u010e\13\u010a" + "\1\0\10\u010a\1\u0195\2\u010a\1\u0195\2\u010a\1\u0195\10\u010a" + "\1\u0195\4\u010a\1\u0195\7\u010a\1\0\1\u0196\1\u010c\1\u0135" + "\1\u010c\1\u0132\1\u010c\1\u0196\27\u010c\1\u0196\2\u010c\1\u0196" + "\2\u010c\1\u0196\10\u010c\1\u0196\4\u010c\1\u0196\7\u010c\1\0" + "\1\u0197\1\u010d\1\u0136\3\u010d\1\u0197\1\u0132\26\u010d\1\u0197" + "\2\u010d\1\u0197\2\u010d\1\u0197\10\u010d\1\u0197\4\u010d\1\u0197" + "\7\u010d\1\0\2\205\1\206\1\205\1\207\65\205\1\0" + "\2\210\1\211\4\210\1\207\62\210\1\0\2\216\1\217"
-				+ "\1\216\1\0\2\216\1\0\1\216\1\0\1\216\3\0" + "\2\216\2\0\3\216\1\0\1\216\7\0\11\216\1\0" + "\4\216\1\0\2\216\1\0\1\216\1\0\3\216\6\0" + "\2\225\1\226\1\225\1\227\65\225\1\0\2\230\1\231" + "\4\230\1\227\62\230\1\0\2\235\1\236\1\235\1\0" + "\2\235\1\0\1\235\1\0\1\235\3\0\2\235\2\0" + "\3\235\1\0\1\235\7\0\11\235\1\0\4\235\1\0" + "\2\235\1\0\1\235\1\0\3\235\20\0\1\367\60\0" + "\1\u0198\5\0\1\u0198\11\0\1\u0198\5\0\1\u0198\7\0" + "\2\u0198\1\0\2\u0198\1\0\2\u0198\7\0\2\u0198\3\0" + "\2\u0198\7\0\1\u0199\1\u011e\1\u011f\1\u011e\1\0\1\u011e" + "\1\u0199\1\0\1\u011e\1\u0123\13\u011e\1\0\10\u011e\1\u0199" + "\2\u011e\1\u0199\2\u011e\1\u0199\10\u011e\1\u0199\4\u011e\1\u0199" + "\7\u011e\1\0\1\u019a\1\u0121\1\u0149\1\u0121\1\u0146\1\u0121" + "\1\u019a\27\u0121\1\u019a\2\u0121\1\u019a\2\u0121\1\u019a\10\u0121" + "\1\u019a\4\u0121\1\u019a\7\u0121\1\0\1\u019b\1\u0122\1\u014a" + "\3\u0122\1\u019b\1\u0146\26\u0122\1\u019b\2\u0122\1\u019b\2\u0122"
-				+ "\1\u019b\10\u0122\1\u019b\4\u0122\1\u019b\7\u0122\65\0\1\u019c" + "\52\0\2\u019d\25\0\1\u019e\1\341\1\342\1\341\1\0" + "\1\341\1\u019e\1\0\1\341\1\u0103\1\341\3\0\2\341" + "\2\0\3\341\1\0\1\341\7\0\1\u019e\2\341\1\u019e" + "\2\341\1\u019e\2\341\1\0\4\341\1\0\1\u019e\1\341" + "\1\0\1\341\1\0\1\u019e\2\341\6\0\1\u019f\1\u010a" + "\1\u010b\1\u010a\1\0\1\u010a\1\u019f\1\0\1\u010a\1\u010e" + "\13\u010a\1\0\10\u010a\1\u019f\2\u010a\1\u019f\2\u010a\1\u019f" + "\10\u010a\1\u019f\4\u010a\1\u019f\7\u010a\1\0\1\u01a0\1\u010c" + "\1\u0135\1\u010c\1\u0132\1\u010c\1\u01a0\27\u010c\1\u01a0\2\u010c" + "\1\u01a0\2\u010c\1\u01a0\10\u010c\1\u01a0\4\u010c\1\u01a0\7\u010c" + "\1\0\1\u01a1\1\u010d\1\u0136\3\u010d\1\u01a1\1\u0132\26\u010d" + "\1\u01a1\2\u010d\1\u01a1\2\u010d\1\u01a1\10\u010d\1\u01a1\4\u010d" + "\1\u01a1\7\u010d\1\0\1\u01a2\5\0\1\u01a2\11\0\1\u01a2" + "\5\0\1\u01a2\7\0\2\u01a2\1\0\2\u01a2\1\0\2\u01a2" + "\7\0\2\u01a2\3\0\2\u01a2\7\0\1\u01a3\1\u011e\1\u011f"
-				+ "\1\u011e\1\0\1\u011e\1\u01a3\1\0\1\u011e\1\u0123\13\u011e" + "\1\0\10\u011e\1\u01a3\2\u011e\1\u01a3\2\u011e\1\u01a3\10\u011e" + "\1\u01a3\4\u011e\1\u01a3\7\u011e\1\0\1\u01a4\1\u0121\1\u0149" + "\1\u0121\1\u0146\1\u0121\1\u01a4\27\u0121\1\u01a4\2\u0121\1\u01a4" + "\2\u0121\1\u01a4\10\u0121\1\u01a4\4\u0121\1\u01a4\7\u0121\1\0" + "\1\u01a5\1\u0122\1\u014a\3\u0122\1\u01a5\1\u0146\26\u0122\1\u01a5" + "\2\u0122\1\u01a5\2\u0122\1\u01a5\10\u0122\1\u01a5\4\u0122\1\u01a5" + "\7\u0122\47\0\1\u01a6\24\0\2\341\1\342\1\341\1\0" + "\2\341\1\0\1\341\1\u0103\1\341\3\0\2\341\2\0" + "\3\341\1\0\1\341\7\0\11\341\1\0\4\341\1\0" + "\2\341\1\0\1\341\1\0\3\341\6\0\1\u01a7\1\u010a" + "\1\u010b\1\u010a\1\0\1\u010a\1\u01a7\1\0\1\u010a\1\u010e" + "\13\u010a\1\0\10\u010a\1\u01a7\2\u010a\1\u01a7\2\u010a\1\u01a7" + "\10\u010a\1\u01a7\4\u010a\1\u01a7\7\u010a\1\0\1\u01a8\1\u010c" + "\1\u0135\1\u010c\1\u0132\1\u010c\1\u01a8\27\u010c\1\u01a8\2\u010c"
-				+ "\1\u01a8\2\u010c\1\u01a8\10\u010c\1\u01a8\4\u010c\1\u01a8\7\u010c" + "\1\0\1\u01a9\1\u010d\1\u0136\3\u010d\1\u01a9\1\u0132\26\u010d" + "\1\u01a9\2\u010d\1\u01a9\2\u010d\1\u01a9\10\u010d\1\u01a9\4\u010d" + "\1\u01a9\7\u010d\1\0\1\u01aa\1\u011e\1\u011f\1\u011e\1\0" + "\1\u011e\1\u01aa\1\0\1\u011e\1\u0123\13\u011e\1\0\10\u011e" + "\1\u01aa\2\u011e\1\u01aa\2\u011e\1\u01aa\10\u011e\1\u01aa\4\u011e" + "\1\u01aa\7\u011e\1\0\1\u01ab\1\u0121\1\u0149\1\u0121\1\u0146" + "\1\u0121\1\u01ab\27\u0121\1\u01ab\2\u0121\1\u01ab\2\u0121\1\u01ab" + "\10\u0121\1\u01ab\4\u0121\1\u01ab\7\u0121\1\0\1\u01ac\1\u0122" + "\1\u014a\3\u0122\1\u01ac\1\u0146\26\u0122\1\u01ac\2\u0122\1\u01ac" + "\2\u0122\1\u01ac\10\u0122\1\u01ac\4\u0122\1\u01ac\7\u0122\1\0" + "\2\u010a\1\u010b\1\u010a\1\0\2\u010a\1\0\1\u010a\1\u010e" + "\13\u010a\1\0\44\u010a\1\0\1\u01ad\1\u010c\1\u0135\1\u010c" + "\1\u0132\1\u010c\1\u01ad\27\u010c\1\u01ad\2\u010c\1\u01ad\2\u010c"
-				+ "\1\u01ad\10\u010c\1\u01ad\4\u010c\1\u01ad\7\u010c\1\0\1\u01ae" + "\1\u010d\1\u0136\3\u010d\1\u01ae\1\u0132\26\u010d\1\u01ae\2\u010d" + "\1\u01ae\2\u010d\1\u01ae\10\u010d\1\u01ae\4\u010d\1\u01ae\7\u010d" + "\1\0\2\u011e\1\u011f\1\u011e\1\0\2\u011e\1\0\1\u011e" + "\1\u0123\13\u011e\1\0\44\u011e\1\0\1\u01af\1\u0121\1\u0149" + "\1\u0121\1\u0146\1\u0121\1\u01af\27\u0121\1\u01af\2\u0121\1\u01af" + "\2\u0121\1\u01af\10\u0121\1\u01af\4\u0121\1\u01af\7\u0121\1\0" + "\1\u01b0\1\u0122\1\u014a\3\u0122\1\u01b0\1\u0146\26\u0122\1\u01b0" + "\2\u0122\1\u01b0\2\u0122\1\u01b0\10\u0122\1\u01b0\4\u0122\1\u01b0" + "\7\u0122\1\0\2\u010c\1\u0135\1\u010c\1\u0132\65\u010c\1\0" + "\2\u010d\1\u0136\4\u010d\1\u0132\62\u010d\1\0\2\u0121\1\u0149" + "\1\u0121\1\u0146\65\u0121\1\0\2\u0122\1\u014a\4\u0122\1\u0146" + "\62\u0122";
-
-	/**
-	 * The transition table of the DFA
-	 */
-	final private static int yytrans[] = yy_unpack(yy_packed);
-
-
-	/* error codes */
-	final private static int YY_UNKNOWN_ERROR = 0;
-//trivial hand edit to remove "not used" warning	final private static int YY_ILLEGAL_STATE = 1;
-	final private static int YY_NO_MATCH = 2;
-//	trivial hand edit to remove "not used" warning	final private static int YY_PUSHBACK_2BIG = 3;
-
-	/* error messages for the codes above */
-	final private static String YY_ERROR_MSG[] = {"Unkown internal scanner error", "Internal error: unknown state", "Error: could not match input", "Error: pushback value was too large"};
-
-	/**
-	 * YY_ATTRIBUTE[aState] contains the attributes of state
-	 * <code>aState</code>
-	 */
-	private final static byte YY_ATTRIBUTE[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 1, 1, 9, 1, 9, 1, 1, 9, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 9, 9, 1, 1, 1, 9, 1, 3, 9, 9, 1, 1, 1, 9, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 9, 3, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 13, 7, 0, 1, 1, 0, 1, 0, 0, 9, 0, 0, 1, 0, 1, 1, 1, 0, 0, 9, 0, 9, 1, 0, 0, 9, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 13, 7, 1, 9, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 9, 9, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 9, 0, 0, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 9, 0, 1, 1, 1, 0, 0, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0,
-				0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-	/** the input device */
-	private java.io.Reader yy_reader;
-
-	/** the current state of the DFA */
-	private int yy_state;
-
-	/** the current lexical state */
-	private int yy_lexical_state = YYINITIAL;
-
-	/**
-	 * this buffer contains the current text to be matched and is the source
-	 * of the yytext() string
-	 */
-	private char yy_buffer[] = new char[16384];
-
-	/** the textposition at the last accepting state */
-	private int yy_markedPos;
-
-	/** the textposition at the last state to be included in yytext */
-	private int yy_pushbackPos;
-
-	/** the current text position in the buffer */
-	private int yy_currentPos;
-
-	/** startRead marks the beginning of the yytext() string in the buffer */
-	private int yy_startRead;
-
-	/**
-	 * endRead marks the last character in the buffer, that has been read from
-	 * input
-	 */
-	private int yy_endRead;
-
-	/** number of newlines encountered up to the start of the matched text */
-	private int yyline;
-
-	/** the number of characters up to the start of the matched text */
-	private int yychar;
-
-	/**
-	 * the number of characters from the last newline up to the start of the
-	 * matched text
-	 */
-//	trivial hand edit to remove "not used" warning	private int yycolumn;
-
-	/**
-	 * yy_atBOL == true <=>the scanner is currently at the beginning of a
-	 * line
-	 */
-//	trivial hand edit to remove "not used" warning	private boolean yy_atBOL;
-
-	/** yy_atEOF == true <=>the scanner has returned a value for EOF */
-	private boolean yy_atEOF;
-
-	/* user code: */
-	private final static String UNDEFINED = "undefined";
-	private String fBufferedContext = null;
-	private int fBufferedStart;
-	// private int fBufferedTextLength;
-	private int fBufferedLength;
-	// private StringBuffer fBufferedText = null;
-	private CSSTextRegionFactory fRegionFactory = CSSTextRegionFactory.getInstance();
-	private int fInitialState = YYINITIAL;
-	public final static int BUFFER_SIZE_NORMAL = 16384;
-	public final static int BUFFER_SIZE_SMALL = 256;
-	private int fInitialBufferSize = BUFFER_SIZE_NORMAL;
-
-	public void setInitialState(int state) {
-		fInitialState = state;
-	}
-
-	public void setInitialBufferSize(int size) {
-		fInitialBufferSize = size;
-	}
-
-	/* user method */
-	public final ITextRegion getNextToken() throws IOException {
-		String context;
-		String nextTokenType;
-		boolean spaceFollows;
-		// StringBuffer text;
-		int start;
-		int textLength;
-		int length;
-		if (fBufferedContext != null) {
-			context = fBufferedContext;
-			// text = fBufferedText;
-			start = fBufferedStart;
-			textLength = length = fBufferedLength;
-
-			fBufferedContext = null;
-		}
-		else {
-			context = primGetNextToken();
-			// text = new StringBuffer(yytext());
-			start = yychar;
-			textLength = length = yylength();
-		}
-
-		if (context != null) {
-			if (context == UNDEFINED) {
-				// undef -> concatenate undef's
-				nextTokenType = primGetNextToken();
-				while (nextTokenType == UNDEFINED) {
-					// text.append(yytext());
-					textLength += yylength();
-					length = textLength;
-					nextTokenType = primGetNextToken();
-				}
-				fBufferedContext = nextTokenType;
-				// fBufferedText = new StringBuffer(yytext());
-				fBufferedStart = yychar;
-				fBufferedLength = yylength();
-			}
-			else {
-				nextTokenType = null;
-				spaceFollows = false;
-				if (CSSRegionUtil.isDeclarationValueType(context)) { // declaration
-																		// value
-																		// can
-																		// contain
-																		// VALUE_S
-					nextTokenType = primGetNextToken();
-					spaceFollows = (nextTokenType == CSS_DECLARATION_VALUE_S);
-				}
-				else if (canContainSpace(context)) {
-					nextTokenType = primGetNextToken();
-					spaceFollows = (nextTokenType == CSS_S);
-				}
-				if (nextTokenType != null) { // nextToken is retrieved
-					if (spaceFollows) {
-						// next is space -> append
-						// text.append(yytext());
-						length += yylength();
-					}
-					else {
-						// next is NOT space -> push this for next time,
-						// return itself
-						fBufferedContext = nextTokenType;
-						// fBufferedText = new StringBuffer(yytext());
-						fBufferedStart = yychar;
-						fBufferedLength = yylength();
-					}
-				}
-			}
-		}
-
-		if (context != null) {
-			if (context == UNDEFINED) {
-				context = CSS_UNKNOWN;
-			}
-			return fRegionFactory.createRegion(context, start, textLength, length);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/* user method */
-	/* for standalone use */
-	public final List parseText() throws IOException {
-		List tokens = new ArrayList();
-
-		CSSTextToken token;
-		for (String kind = primGetNextToken(); kind != null; kind = primGetNextToken()) {
-			token = new CSSTextToken();
-			token.kind = kind;
-			token.start = yychar;
-			token.length = yylength();
-			token.image = yytext();
-			tokens.add(token);
-		}
-
-		return tokens;
-	}
-
-	/* user method */
-	private boolean canContainSpace(String type) {
-		if (type == CSS_DELIMITER || type == CSS_RBRACE || type == CSS_DECLARATION_DELIMITER) {
-			return false;
-		}
-		else {
-			return true;
-		}
-	}
-
-	/* user method */
-	public final int getOffset() {
-		return yychar;
-	}
-
-	/* user method */
-	public final boolean isEOF() {
-		return yy_atEOF;
-	}
-
-	/* user method */
-	public void reset(char[] charArray) {
-		reset(new CharArrayReader(charArray), 0);
-	}
-
-	/* user method */
-	public final void reset(java.io.Reader in, int newOffset) {
-		/** the input device */
-		yy_reader = in;
-
-		/** the current state of the DFA */
-		yy_state = 0;
-
-		/** the current lexical state */
-		yy_lexical_state = fInitialState; // YYINITIAL;
-
-		/**
-		 * this buffer contains the current text to be matched and is the
-		 * source of the yytext() string
-		 */
-		if (yy_buffer.length != fInitialBufferSize) {
-			yy_buffer = new char[fInitialBufferSize];
-		}
-		java.util.Arrays.fill(yy_buffer, (char) 0);
-
-		/** the textposition at the last accepting state */
-		yy_markedPos = 0;
-
-		/** the textposition at the last state to be included in yytext */
-		yy_pushbackPos = 0;
-
-		/** the current text position in the buffer */
-		yy_currentPos = 0;
-
-		/** startRead marks the beginning of the yytext() string in the buffer */
-		yy_startRead = 0;
-
-		/**
-		 * endRead marks the last character in the buffer, that has been read
-		 * from input
-		 */
-		yy_endRead = 0;
-
-		/** number of newlines encountered up to the start of the matched text */
-		yyline = 0;
-
-		/** the number of characters up to the start of the matched text */
-		yychar = 0;
-
-		/**
-		 * the number of characters from the last newline up to the start of
-		 * the matched text
-		 */
-//		trivial hand edit to remove "not used" warning		yycolumn = 0;
-
-		/**
-		 * yy_atBOL == true <=>the scanner is currently at the beginning of a
-		 * line
-		 */
-//		trivial hand edit to remove "not used" warning		yy_atBOL = false;
-
-		/** yy_atEOF == true <=>the scanner has returned a value for EOF */
-		yy_atEOF = false;
-
-		/* user variables */
-		// fUndefined.delete(0, fUndefined.length());
-	}
-
-	/* user method */
-	public CSSTokenizer() {
-		super();
-	}
-
-
-
-	/**
-	 * Creates a new scanner There is also a java.io.InputStream version of
-	 * this constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Reader to read input from.
-	 */
-	public CSSTokenizer(java.io.Reader in) {
-		this.yy_reader = in;
-	}
-
-	/**
-	 * Creates a new scanner. There is also java.io.Reader version of this
-	 * constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Inputstream to read input from.
-	 */
-	public CSSTokenizer(java.io.InputStream in) {
-		this(new java.io.InputStreamReader(in));
-	}
-
-	/**
-	 * Unpacks the compressed DFA transition table.
-	 * 
-	 * @param packed
-	 *            the packed transition table
-	 * @return the unpacked transition table
-	 */
-	private static int[] yy_unpack(String packed) {
-		int[] trans = new int[21004];
-		int i = 0; /* index in packed string */
-		int j = 0; /* index in unpacked array */
-		while (i < 13906) {
-			int count = packed.charAt(i++);
-			int value = packed.charAt(i++);
-			value--;
-			do
-				trans[j++] = value;
-			while (--count > 0);
-		}
-		return trans;
-	}
-
-	/**
-	 * Unpacks the compressed character translation table.
-	 * 
-	 * @param packed
-	 *            the packed character translation table
-	 * @return the unpacked character translation table
-	 */
-	private static char[] yy_unpack_cmap(String packed) {
-		char[] map = new char[0x10000];
-		int i = 0; /* index in packed string */
-		int j = 0; /* index in unpacked array */
-		while (i < 170) {
-			int count = packed.charAt(i++);
-			char value = packed.charAt(i++);
-			do
-				map[j++] = value;
-			while (--count > 0);
-		}
-		return map;
-	}
-
-
-	/**
-	 * Gets the next input character.
-	 * 
-	 * @return the next character of the input stream, EOF if the end of the
-	 *         stream is reached.
-	 * @exception IOException
-	 *                if any I/O-Error occurs
-	 */
-	private int yy_advance() throws java.io.IOException {
-
-		/* standard case */
-		if (yy_currentPos < yy_endRead)
-			return yy_buffer[yy_currentPos++];
-
-		/* if the eof is reached, we don't need to work hard */
-		if (yy_atEOF)
-			return YYEOF;
-
-		/* otherwise: need to refill the buffer */
-
-		/* first: make room (if you can) */
-		if (yy_startRead > 0) {
-			System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0, yy_endRead - yy_startRead);
-
-			/* translate stored positions */
-			yy_endRead -= yy_startRead;
-			yy_currentPos -= yy_startRead;
-			yy_markedPos -= yy_startRead;
-			yy_pushbackPos -= yy_startRead;
-			yy_startRead = 0;
-		}
-
-		/* is the buffer big enough? */
-		if (yy_currentPos >= yy_buffer.length) {
-			/* if not: blow it up */
-			char newBuffer[] = new char[yy_currentPos * 2];
-			System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-			yy_buffer = newBuffer;
-		}
-
-		/* finally: fill the buffer with new input */
-		int numRead = yy_reader.read(yy_buffer, yy_endRead, yy_buffer.length - yy_endRead);
-
-		if (numRead == -1)
-			return YYEOF;
-
-		yy_endRead += numRead;
-
-		return yy_buffer[yy_currentPos++];
-	}
-
-
-	/**
-	 * Closes the input stream.
-	 */
-	final public void yyclose() throws java.io.IOException {
-		yy_atEOF = true; /* indicate end of file */
-		yy_endRead = yy_startRead; /* invalidate buffer */
-		yy_reader.close();
-	}
-
-
-	/**
-	 * Returns the current lexical state.
-	 */
-	final public int yystate() {
-		return yy_lexical_state;
-	}
-
-	/**
-	 * Enters a new lexical state
-	 * 
-	 * @param newState
-	 *            the new lexical state
-	 */
-	final public void yybegin(int newState) {
-		yy_lexical_state = newState;
-	}
-
-
-	/**
-	 * Returns the text matched by the current regular expression.
-	 */
-	final public String yytext() {
-		return new String(yy_buffer, yy_startRead, yy_markedPos - yy_startRead);
-	}
-
-	/**
-	 * Returns the length of the matched text region.
-	 */
-	final public int yylength() {
-		return yy_markedPos - yy_startRead;
-	}
-
-
-	/**
-	 * Reports an error that occured while scanning.
-	 * 
-	 * @param errorCode
-	 *            the code of the errormessage to display
-	 */
-	private void yy_ScanError(int errorCode) {
-		try {
-			System.out.println(YY_ERROR_MSG[errorCode]);
-		}
-		catch (ArrayIndexOutOfBoundsException e) {
-			System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-			e.printStackTrace();
-
-		}
-
-		// System.exit(1);
-	}
-
-
-	/**
-	 * Pushes the specified amount of characters back into the input stream.
-	 * 
-	 * They will be read again by then next call of the scanning method
-	 * 
-	 * @param number
-	 *            the number of characters to be read again. This number must
-	 *            not be greater than yylength()!
-	 */
-//	trivial hand edit to remove "not used" warning
-//	private void yypushback(int number) {
-//		if (number > yylength())
-//			yy_ScanError(YY_PUSHBACK_2BIG);
-//
-//		yy_markedPos -= number;
-//	}
-
-
-	/**
-	 * Resumes scanning until the next regular expression is matched, the end
-	 * of input is encountered or an I/O-Error occurs.
-	 * 
-	 * @return the next token
-	 * @exception IOException
-	 *                if any I/O-Error occurs
-	 */
-	public String primGetNextToken() throws java.io.IOException {
-		int yy_input;
-		int yy_action;
-
-		yy_pushbackPos = -1;
-		boolean yy_was_pushback;
-
-		while (true) {
-
-			yychar += yylength();
-
-			boolean yy_counted = false;
-			for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos; yy_currentPos++) {
-				switch (yy_buffer[yy_currentPos]) {
-					case '\r' :
-						yyline++;
-						yy_counted = true;
-						break;
-					case '\n' :
-						if (yy_counted)
-							yy_counted = false;
-						else {
-							yyline++;
-						}
-						break;
-					default :
-						yy_counted = false;
-				}
-			}
-
-			if (yy_counted) {
-				if (yy_advance() == '\n')
-					yyline--;
-				if (!yy_atEOF)
-					yy_currentPos--;
-			}
-
-			yy_action = -1;
-
-			yy_currentPos = yy_startRead = yy_markedPos;
-
-			yy_state = yy_lexical_state;
-
-			yy_was_pushback = false;
-
-			yy_forAction : {
-				while (true) {
-
-					yy_input = yy_advance();
-
-					if (yy_input == YYEOF)
-						break yy_forAction;
-
-					int yy_next = yytrans[yy_rowMap[yy_state] + yycmap[yy_input]];
-					if (yy_next == -1)
-						break yy_forAction;
-					yy_state = yy_next;
-
-					int yy_attributes = YY_ATTRIBUTE[yy_state];
-					if ((yy_attributes & 2) > 0)
-						yy_pushbackPos = yy_currentPos;
-
-					if ((yy_attributes & 1) > 0) {
-						yy_was_pushback = (yy_attributes & 4) > 0;
-						yy_action = yy_state;
-						yy_markedPos = yy_currentPos;
-						if ((yy_attributes & 8) > 0)
-							break yy_forAction;
-					}
-
-				}
-			}
-
-			if (yy_was_pushback)
-				yy_markedPos = yy_pushbackPos;
-
-			switch (yy_action) {
-
-				case 421 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_IMPORTANT;
-				}
-				case 433 :
-					break;
-				case 412 : {
-					yybegin(ST_FONT_FACE_DELIMITER);
-					return CSS_FONT_FACE;
-				}
-				case 434 :
-					break;
-				case 375 : {
-					yybegin(ST_CHARSET_NAME);
-					return CSS_CHARSET;
-				}
-				case 435 :
-					break;
-				case 335 : {
-					yybegin(ST_IMPORT_URI);
-					return CSS_IMPORT;
-				}
-				case 436 :
-					break;
-				case 297 : {
-					yybegin(ST_MEDIA_MEDIUM);
-					return CSS_MEDIA;
-				}
-				case 437 :
-					break;
-				case 290 :
-				case 327 :
-				case 398 :
-				case 400 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_URI;
-				}
-				case 438 :
-					break;
-				case 269 :
-				case 307 :
-				case 385 :
-				case 387 : {
-					yybegin(ST_IMPORT_MEDIUM);
-					return CSS_URI;
-				}
-				case 439 :
-					break;
-				case 255 : {
-					yybegin(ST_PAGE_PSEUDO_PAGE);
-					return CSS_PAGE;
-				}
-				case 440 :
-					break;
-				case 218 : {
-					return CSS_COMMENT;
-				}
-				case 441 :
-					break;
-				case 217 : {
-					return CSS_CDO;
-				}
-				case 442 :
-					break;
-				case 211 :
-				case 245 :
-				case 283 :
-				case 284 :
-				case 323 :
-				case 324 :
-				case 363 :
-				case 364 :
-				case 394 :
-				case 395 :
-				case 407 :
-				case 417 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_UNICODE_RANGE;
-				}
-				case 443 :
-					break;
-				case 165 : {
-					return CSS_CDC;
-				}
-				case 444 :
-					break;
-				case 162 : {
-					return CSS_DECLARATION_VALUE_S;
-				}
-				case 445 :
-					break;
-				case 156 :
-				case 210 :
-				case 244 :
-				case 282 :
-				case 322 :
-				case 362 :
-				case 393 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_HASH;
-				}
-				case 446 :
-					break;
-				case 150 :
-				case 205 :
-				case 208 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_STRING;
-				}
-				case 447 :
-					break;
-				case 57 :
-				case 59 :
-				case 128 :
-				case 129 :
-				case 193 :
-				case 235 :
-				case 273 :
-				case 313 :
-				case 353 : {
-					yybegin(ST_SELECTOR_ATTRIBUTE_OPERATOR);
-					return CSS_SELECTOR_ATTRIBUTE_NAME;
-				}
-				case 448 :
-					break;
-				case 56 : {
-					yybegin(ST_SELECTOR);
-					return CSS_SELECTOR_SEPARATOR;
-				}
-				case 449 :
-					break;
-				case 55 :
-				case 125 : {
-					yybegin(ST_SELECTOR);
-					return CSS_SELECTOR_COMBINATOR;
-				}
-				case 450 :
-					break;
-				case 52 : {
-					yybegin(ST_DECLARATION);
-					return CSS_LBRACE;
-				}
-				case 451 :
-					break;
-				case 49 :
-				case 51 :
-				case 123 :
-				case 124 :
-				case 192 :
-				case 234 :
-				case 272 :
-				case 312 :
-				case 352 : {
-					yybegin(ST_PAGE_DELIMITER);
-					return CSS_PAGE_SELECTOR;
-				}
-				case 452 :
-					break;
-				case 48 : {
-					yybegin(YYINITIAL);
-					return CSS_LBRACE;
-				}
-				case 453 :
-					break;
-				case 47 : {
-					yybegin(ST_MEDIA_MEDIUM);
-					return CSS_MEDIA_SEPARATOR;
-				}
-				case 454 :
-					break;
-				case 44 :
-				case 46 :
-				case 120 :
-				case 121 :
-				case 191 :
-				case 233 :
-				case 271 :
-				case 311 :
-				case 351 : {
-					yybegin(ST_MEDIA_DELIMITER);
-					return CSS_MEDIUM;
-				}
-				case 455 :
-					break;
-				case 43 : {
-					yybegin(ST_IMPORT_MEDIUM);
-					return CSS_MEDIA_SEPARATOR;
-				}
-				case 456 :
-					break;
-				case 20 :
-				case 23 :
-				case 89 :
-				case 90 :
-				case 164 :
-				case 214 :
-				case 249 :
-				case 292 :
-				case 331 : {
-					yybegin(ST_SELECTOR_MODIFIER);
-					return CSS_SELECTOR_ELEMENT_NAME;
-				}
-				case 457 :
-					break;
-				case 22 :
-				case 54 :
-				case 87 :
-				case 126 :
-				case 163 : {
-					return CSS_S;
-				}
-				case 458 :
-					break;
-				case 27 : {
-					yybegin(YYINITIAL);
-					return CSS_RBRACE;
-				}
-				case 459 :
-					break;
-				case 29 : {
-					yybegin(ST_SELECTOR_MODIFIER);
-					return CSS_SELECTOR_UNIVERSAL;
-				}
-				case 460 :
-					break;
-				case 32 : {
-					yybegin(ST_SELECTOR_ATTRIBUTE_NAME);
-					return CSS_SELECTOR_ATTRIBUTE_START;
-				}
-				case 461 :
-					break;
-				case 36 : {
-					yybegin(YYINITIAL);
-					return CSS_DELIMITER;
-				}
-				case 462 :
-					break;
-				case 40 :
-				case 42 :
-				case 117 :
-				case 118 :
-				case 190 :
-				case 232 :
-				case 270 :
-				case 310 :
-				case 350 : {
-					yybegin(ST_IMPORT_DELIMITER);
-					return CSS_MEDIUM;
-				}
-				case 463 :
-					break;
-				case 60 : {
-					yybegin(ST_SELECTOR_ATTRIBUTE_VALUE);
-					return CSS_SELECTOR_ATTRIBUTE_OPERATOR;
-				}
-				case 464 :
-					break;
-				case 62 : {
-					yybegin(ST_SELECTOR_MODIFIER);
-					return CSS_SELECTOR_ATTRIBUTE_END;
-				}
-				case 465 :
-					break;
-				case 63 :
-				case 67 :
-				case 131 :
-				case 134 :
-				case 137 :
-				case 194 :
-				case 196 :
-				case 199 :
-				case 236 :
-				case 274 :
-				case 314 :
-				case 354 : {
-					yybegin(ST_SELECTOR_ATTRIBUTE_END);
-					return CSS_SELECTOR_ATTRIBUTE_VALUE;
-				}
-				case 466 :
-					break;
-				case 68 :
-				case 70 :
-				case 139 :
-				case 140 :
-				case 201 :
-				case 239 :
-				case 277 :
-				case 317 :
-				case 357 : {
-					yybegin(ST_DECLARATION_SEPARATOR);
-					return CSS_DECLARATION_PROPERTY;
-				}
-				case 467 :
-					break;
-				case 71 : {
-					yybegin(ST_DECLARATION);
-					return CSS_DECLARATION_DELIMITER;
-				}
-				case 468 :
-					break;
-				case 72 : {
-					yybegin(ST_DECLARATION_PRE_VALUE);
-					return CSS_DECLARATION_SEPARATOR;
-				}
-				case 469 :
-					break;
-				case 73 :
-				case 155 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_NUMBER;
-				}
-				case 470 :
-					break;
-				case 74 :
-				case 79 :
-				case 83 :
-				case 147 :
-				case 153 :
-				case 154 :
-				case 159 :
-				case 203 :
-				case 212 :
-				case 241 :
-				case 279 :
-				case 319 :
-				case 359 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_IDENT;
-				}
-				case 471 :
-					break;
-				case 78 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE;
-				}
-				case 472 :
-					break;
-				case 85 :
-				case 86 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_OPERATOR;
-				}
-				case 473 :
-					break;
-				case 91 :
-				case 166 :
-				case 215 :
-				case 250 :
-				case 293 :
-				case 332 :
-				case 373 : {
-					yybegin(ST_SELECTOR_MODIFIER);
-					return CSS_SELECTOR_CLASS;
-				}
-				case 474 :
-					break;
-				case 93 :
-				case 167 :
-				case 216 :
-				case 251 :
-				case 294 :
-				case 333 :
-				case 374 : {
-					yybegin(ST_SELECTOR_MODIFIER);
-					return CSS_SELECTOR_ID;
-				}
-				case 475 :
-					break;
-				case 102 :
-				case 176 :
-				case 226 :
-				case 258 :
-				case 260 :
-				case 300 :
-				case 338 :
-				case 378 : {
-					yybegin(ST_SELECTOR_MODIFIER);
-					return CSS_SELECTOR_PSEUDO;
-				}
-				case 476 :
-					break;
-				case 106 :
-				case 178 :
-				case 181 : {
-					yybegin(ST_CHARSET_DELIMITER);
-					return CSS_STRING;
-				}
-				case 477 :
-					break;
-				case 112 :
-				case 184 :
-				case 187 : {
-					yybegin(ST_IMPORT_MEDIUM);
-					return CSS_STRING;
-				}
-				case 478 :
-					break;
-				case 141 :
-				case 202 :
-				case 240 :
-				case 278 :
-				case 318 :
-				case 358 :
-				case 390 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_DIMENSION;
-				}
-				case 479 :
-					break;
-				case 144 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_PERCENTAGE;
-				}
-				case 480 :
-					break;
-				case 146 :
-				case 247 : {
-					yybegin(ST_DECLARATION_VALUE);
-					return CSS_DECLARATION_VALUE_FUNCTION;
-				}
-				case 481 :
-					break;
-				case 19 :
-				case 21 :
-				case 24 :
-				case 25 :
-				case 26 :
-				case 28 :
-				case 30 :
-				case 31 :
-				case 33 :
-				case 34 :
-				case 35 :
-				case 37 :
-				case 38 :
-				case 39 :
-				case 41 :
-				case 45 :
-				case 50 :
-				case 53 :
-				case 58 :
-				case 61 :
-				case 64 :
-				case 65 :
-				case 66 :
-				case 69 :
-				case 75 :
-				case 76 :
-				case 77 :
-				case 80 :
-				case 81 :
-				case 82 :
-				case 84 : {
-					return UNDEFINED;
-				}
-				case 482 :
-					break;
-				default :
-					if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-						yy_atEOF = true;
-						return null;
-					}
-					else {
-						yy_ScanError(YY_NO_MATCH);
-					}
-			}
-		}
-	}
-
-	/**
-	 * Runs the scanner on input files.
-	 * 
-	 * This main method is the debugging routine for the scanner. It prints
-	 * each returned token to System.out until the end of file is reached, or
-	 * an error occured.
-	 * 
-	 * @param argv
-	 *            the command line, contains the filenames to run the scanner
-	 *            on.
-	 */
-	public static void main(String argv[]) {
-		for (int i = 0; i < argv.length; i++) {
-			CSSTokenizer scanner = null;
-			try {
-				scanner = new CSSTokenizer(new java.io.FileReader(argv[i]));
-			}
-			catch (java.io.FileNotFoundException e) {
-				System.out.println("File not found : \"" + argv[i] + "\"");
-				System.exit(1);
-			}
-			catch (ArrayIndexOutOfBoundsException e) {
-				System.out.println("Usage : java CSSTokenizer <inputfile>");
-				System.exit(1);
-			}
-
-			try {
-				do {
-					System.out.println(scanner.primGetNextToken());
-				}
-				while (!scanner.yy_atEOF);
-
-			}
-			catch (java.io.IOException e) {
-				System.out.println("An I/O error occured while scanning :");
-				System.out.println(e);
-				System.exit(1);
-			}
-			catch (Exception e) {
-				e.printStackTrace();
-				System.exit(1);
-			}
-		}
-	}
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/regions/CSSContextRegion.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/regions/CSSContextRegion.java
deleted file mode 100644
index 1548f41..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/regions/CSSContextRegion.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.internal.parser.ContextRegion;
-
-public class CSSContextRegion extends ContextRegion {
-	public CSSContextRegion(String context, int start, int textLength, int length) {
-		fType = context;
-		fStart = start;
-		fTextLength = textLength;
-		fLength = length;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/regions/CSSTextRegionFactory.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/regions/CSSTextRegionFactory.java
deleted file mode 100644
index 2fcfa76..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/regions/CSSTextRegionFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-public class CSSTextRegionFactory {
-	public synchronized static CSSTextRegionFactory getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSTextRegionFactory();
-		}
-		return fInstance;
-	}
-
-	public ITextRegion createRegion(String context, int start, int textLength, int length) {
-		ITextRegion region = null;
-		region = new CSSContextRegion(context, start, textLength, length);
-		return region;
-	}
-
-	private CSSTextRegionFactory() {
-		super();
-	}
-
-	private static CSSTextRegionFactory fInstance = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/tasks/CSSTaskTagSeeker.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/tasks/CSSTaskTagSeeker.java
deleted file mode 100644
index 95bb82e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/tasks/CSSTaskTagSeeker.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.tasks;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.sse.core.participants.TaskTagSeeker;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class CSSTaskTagSeeker extends TaskTagSeeker {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.builder.participants.TaskTagSeeker#getCommentedText(org.eclipse.jface.text.IDocument,
-	 *      int, int)
-	 */
-	protected String getCommentedText(IDocument document, int begin, int length) throws BadLocationException {
-		String text = super.getCommentedText(document, begin, length);
-		if (text != null && text.endsWith("*/")) { //$NON-NLS-1$
-			text = text.substring(0, text.length() - 2);
-		}
-		return text;
-	}
-
-	protected boolean isCommentRegion(IStructuredDocumentRegion region, ITextRegion textRegion) {
-		return textRegion.getType().equals(CSSRegionContexts.CSS_COMMENT);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/CSSStructuredDocumentReParser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/CSSStructuredDocumentReParser.java
deleted file mode 100644
index 804b480..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/CSSStructuredDocumentReParser.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.text;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.css.core.internal.Logger;
-import org.eclipse.wst.css.core.internal.parser.CSSRegionUtil;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.internal.text.StructuredDocumentReParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredTextReParser;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * This class provides a centralized place to put "reparsing" logic. This is
- * the logic that reparses the text incrementally, as a user types in new
- * characters, or DOM nodes are inserted or deleted. Note: it is not a thread
- * safe class.
- */
-public class CSSStructuredDocumentReParser extends StructuredDocumentReParser {
-
-	class ReparseRange {
-		ReparseRange() {
-			reset();
-		}
-
-		ReparseRange(int start, int end) {
-			fRangeStart = start;
-			fRangeEnd = end;
-		}
-
-		void setStart(int start) {
-			fRangeStart = start;
-		}
-
-		void setEnd(int end) {
-			fRangeEnd = end;
-		}
-
-		int getStart() {
-			return fRangeStart;
-		}
-
-		int getEnd() {
-			return fRangeEnd;
-		}
-
-		boolean isValid() {
-			return (0 < fRangeEnd - fRangeStart) ? true : false;
-		}
-
-		void reset() {
-			fRangeStart = Integer.MAX_VALUE;
-			fRangeEnd = 0;
-		}
-
-		void expand(ReparseRange range) {
-			if (range == null || !range.isValid()) {
-				return;
-			}
-			int start = range.getStart();
-			if (start < fRangeStart) {
-				fRangeStart = start;
-			}
-			int end = range.getEnd();
-			if (fRangeEnd < end) {
-				fRangeEnd = end;
-			}
-		}
-
-		private int fRangeStart;
-		private int fRangeEnd;
-	}
-
-	/**
-	 * 
-	 */
-	public CSSStructuredDocumentReParser() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	// public StructuredDocumentEvent
-	// checkForCrossStructuredDocumentRegionBoundryCases2() {
-	// StructuredDocumentEvent result = specialPositionUpdate(fStart, fStart +
-	// fLengthToReplace - 1);
-	// if (result == null) {
-	// result = checkInsideBrace();
-	// }
-	// return result;
-	// }
-	protected StructuredDocumentEvent checkForCrossStructuredDocumentRegionSyntax() {
-		int checkStart = fStart;
-		int checkEnd = fStart + fLengthToReplace - 1;
-		IStructuredDocumentRegion endRegion = fStructuredDocument.getRegionAtCharacterOffset(checkEnd);
-		if (endRegion != null) {
-			checkEnd = endRegion.getEndOffset();
-		}
-
-		ReparseRange range = new ReparseRange(checkStart, checkEnd);
-
-		range.expand(getUpdateRangeForDelimiter(range.getStart(), range.getEnd()));
-		range.expand(getUpdateRangeForUnknownRegion(range.getStart(), range.getEnd()));
-
-		range.expand(getUpdateRangeForQuotes(range.getStart(), range.getEnd()));
-		range.expand(getUpdateRangeForComments(range.getStart(), range.getEnd()));
-		range.expand(getUpdateRangeForBraces(range.getStart(), range.getEnd()));
-
-		StructuredDocumentEvent result;
-
-		result = checkInsideBrace(range.getStart(), range.getEnd());
-
-		if (result == null) {
-			result = reparse(range.getStart(), range.getEnd());
-		}
-
-		return result;
-	}
-
-	private ReparseRange getUpdateRangeForUnknownRegion(int start, int end) {
-		int newStart = start;
-		RegionIterator iterator = new RegionIterator(fStructuredDocument, start - 1);
-		if (iterator.hasPrev()) {
-			iterator.prev(); // skip myself
-		}
-		while (iterator.hasPrev()) {
-			ITextRegion region = iterator.prev();
-			if (region != null && region.getType() == CSSRegionContexts.CSS_UNKNOWN) {
-				newStart = iterator.getStructuredDocumentRegion().getStartOffset(region);
-			}
-			else {
-				break;
-			}
-		}
-
-		if (start != newStart) {
-			return new ReparseRange(newStart, end);
-		}
-
-		return null;
-	}
-
-	private ReparseRange getUpdateRangeForDelimiter(int start, int end) {
-		if (dirtyStart != null && dirtyStart.getStart() < start) {
-			start = dirtyStart.getStart();
-		}
-		IStructuredDocumentRegion docRegion = fStructuredDocument.getRegionAtCharacterOffset(start);
-		if (docRegion == null) {
-			return null;
-		}
-		if (docRegion.getType() == CSSRegionContexts.CSS_DELIMITER) {
-			IStructuredDocumentRegion prevRegion = docRegion.getPrevious();
-			if (prevRegion != null) {
-				return new ReparseRange(prevRegion.getStart(), end);
-			}
-		}
-
-		return null;
-	}
-
-	private ReparseRange getUpdateRangeForQuotes(int start, int end) {
-		ReparseRange range = new ReparseRange();
-
-		range.expand(getUpdateRangeForPair(start, end, "\"", "\"")); //$NON-NLS-2$//$NON-NLS-1$
-		range.expand(getUpdateRangeForPair(start, end, "\'", "\'")); //$NON-NLS-2$//$NON-NLS-1$
-
-		return (range.isValid()) ? range : null;
-	}
-
-	private ReparseRange getUpdateRangeForComments(int start, int end) {
-		ReparseRange range = new ReparseRange();
-
-		range.expand(getUpdateRangeForPair(start, end, "/*", "*/")); //$NON-NLS-2$//$NON-NLS-1$
-		range.expand(getUpdateRangeForPair(start, end, "<%", "%>")); //$NON-NLS-2$//$NON-NLS-1$
-
-		return (range.isValid()) ? range : null;
-	}
-
-	private ReparseRange getUpdateRangeForBraces(int start, int end) {
-		ReparseRange range = new ReparseRange();
-
-		range.expand(getUpdateRangeForPair(start, end, "[", "]")); //$NON-NLS-2$//$NON-NLS-1$
-		range.expand(getUpdateRangeForPair(start, end, "(", ")")); //$NON-NLS-2$//$NON-NLS-1$
-		range.expand(getUpdateRangeForPair(start, end, "{", "}")); //$NON-NLS-2$//$NON-NLS-1$
-
-		return (range.isValid()) ? range : null;
-	}
-
-	private StructuredDocumentEvent checkInsideBrace(int start, int end) {
-		StructuredDocumentEvent result = null;
-		IStructuredDocumentRegion region = fStructuredDocument.getRegionAtCharacterOffset(start);
-		if (region == null) {
-			return null;
-		}
-		boolean bDeclaration = false;
-		String type = region.getType();
-		if (CSSRegionUtil.isDeclarationType(type) || type == CSSRegionContexts.CSS_LBRACE || type == CSSRegionContexts.CSS_RBRACE) {
-			bDeclaration = true;
-		}
-		if (!bDeclaration) {
-			IStructuredDocumentRegion prevRegion = CSSUtil.findPreviousSignificantNode(region);
-			if (prevRegion != null) {
-				type = prevRegion.getType();
-				if (CSSRegionUtil.isDeclarationType(type) || type == CSSRegionContexts.CSS_LBRACE) {
-					bDeclaration = true;
-				}
-			}
-		}
-		if (!bDeclaration) {
-			IStructuredDocumentRegion nextRegion = CSSUtil.findNextSignificantNode(region);
-			if (nextRegion != null) {
-				type = nextRegion.getType();
-				if (CSSRegionUtil.isDeclarationType(type) || type == CSSRegionContexts.CSS_RBRACE) {
-					bDeclaration = true;
-				}
-			}
-		}
-
-		if (bDeclaration) {
-			IStructuredDocumentRegion startRegion = findRuleStart(region);
-			if (startRegion != null) {
-				IStructuredDocumentRegion endRegion = fStructuredDocument.getRegionAtCharacterOffset(end);
-				if (endRegion != null) {
-					result = reparse(startRegion, endRegion);
-				}
-			}
-		}
-		return result;
-	}
-
-	private IStructuredDocumentRegion findRuleStart(IStructuredDocumentRegion startRegion) {
-		IStructuredDocumentRegion region = startRegion;
-		// find '{'
-		while (region != null && region.getType() != CSSRegionContexts.CSS_LBRACE) {
-			region = region.getPrevious();
-		}
-		// if (region == startRegion) {
-		// return null;
-		// }
-		// else
-		if (region != null) { // '{' is found
-			region = region.getPrevious();
-			if (isLeadingDeclarationType(region.getType())) {
-				return region;
-			}
-		}
-		return null;
-	}
-
-	private boolean isLeadingDeclarationType(String type) {
-		return (type == CSSRegionContexts.CSS_PAGE || type == CSSRegionContexts.CSS_FONT_FACE || CSSRegionUtil.isSelectorType(type));
-	}
-
-	// public StructuredDocumentEvent
-	// checkForCrossStructuredDocumentRegionBoundryCases() {
-	// return specialPositionUpdate(fStart, fStart + fLengthToReplace - 1);
-	// }
-	/**
-	 * 
-	 */
-	private ReparseRange getUpdateRangeForPair(int start, int end, String opener, String closer) {
-		StringBuffer deletionBuf = new StringBuffer();
-		StringBuffer insertionBuf = new StringBuffer();
-		int quoteLen = Math.max(opener.length(), closer.length());
-		if (1 < quoteLen) {
-			/**
-			 * ex) opener = "ABC", closer = "XYZ" model: ABCDEF.......UVWXYZ
-			 * deletion: CDEF.......UVWX pre/post: AB / YZ
-			 */
-			int addStart = start - (quoteLen - 1);
-			if (0 <= addStart) {
-				String addStr = fStructuredDocument.get(addStart, quoteLen - 1);
-				deletionBuf.append(addStr);
-				insertionBuf.append(addStr);
-			}
-			deletionBuf.append(fDeletedText);
-			insertionBuf.append(fChanges);
-			if (end + (quoteLen - 1) < fStructuredDocument.getLength()) {
-				String addStr = fStructuredDocument.get(end + 1, quoteLen - 1);
-				deletionBuf.append(addStr);
-				insertionBuf.append(addStr);
-			}
-		}
-		else {
-			deletionBuf.append(fDeletedText);
-			insertionBuf.append(fChanges);
-		}
-		String deletion = deletionBuf.toString();
-		String insertion = insertionBuf.toString();
-
-		int rangeStart = start;
-		int rangeEnd = end;
-
-		if (0 <= deletion.indexOf(opener) || 0 <= deletion.indexOf(closer) || 0 <= insertion.indexOf(opener) || 0 <= insertion.indexOf(closer)) {
-			int s, e;
-			try {
-				if (start <= fStructuredDocument.getLength()) {
-					IRegion startRegion = getFindReplaceDocumentAdapter().find(start - 1, opener, false, false, false, false);
-					if (startRegion != null) {
-						s = startRegion.getOffset();
-					}
-					else {
-						s = -1;
-					}
-				}
-				else {
-					s = -1;
-				}
-				if (end < fStructuredDocument.getLength() - 1) {
-					IRegion endRegion = getFindReplaceDocumentAdapter().find(end + 1, closer, true, false, false, false);
-					if (endRegion != null) {
-						e = endRegion.getOffset();
-					}
-					else {
-						e = -1;
-					}
-				}
-				else {
-					e = -1;
-				}
-			}
-			catch (BadLocationException ex) {
-				Logger.logException(ex);
-				return null;
-			}
-			if (0 <= s) {
-				rangeStart = Math.min(rangeStart, s);
-			}
-			if (0 <= e) {
-				rangeEnd = Math.max(rangeEnd, e);
-			}
-		}
-
-		if (rangeStart < start || end < rangeEnd) {
-			return new ReparseRange(rangeStart, rangeEnd);
-		}
-		else {
-			return null;
-		}
-	}
-
-	// /**
-	// * A method to allow any heuristic "quick checks" that might cover many
-	// * many cases, before expending the time on a full reparse.
-	// *
-	// */
-	// public StructuredDocumentEvent quickCheck2() {
-	// StructuredDocumentEvent result = null;
-	// int end = fStart + fLengthToReplace - 1;
-	//		
-	// result = specialNodeUpdate(fStart, end);
-	//
-	// if (result == null) {
-	// result = super.quickCheck();
-	// }
-	//
-	// return result;
-	// }
-
-	// /**
-	// *
-	// */
-	// private StructuredDocumentEvent specialNodeUpdate(int start, int end) {
-	// int reparseStart = start;
-	// int reparseEnd = end;
-	// IStructuredDocumentRegion targetNode;
-	// IStructuredDocumentRegion node;
-	// // targetNode = skipLeadingBlank(node);
-	// // if (targetNode != null && targetNode != node &&
-	// // (targetNode instanceof
-	// // com.ibm.sed.structuredDocument.impl.IStructuredDocumentRegion)) {
-	// node = fStructuredDocument.getRegionAtCharacterOffset(start);
-	// targetNode = CSSUtil.findPreviousSignificantNode(node);
-	// if (targetNode != null && targetNode != node) {
-	// reparseStart = Math.min(reparseStart, targetNode.getStart());
-	// }
-	//
-	// // targetNode = skipTrailingBlank(node);
-	// // if (targetNode != null && targetNode != node &&
-	// // (targetNode instanceof
-	// // com.ibm.sed.structuredDocument.impl.IStructuredDocumentRegion)) {
-	// node = fStructuredDocument.getRegionAtCharacterOffset(end);
-	// targetNode = CSSUtil.findNextSignificantNode(node);
-	// if (targetNode != null && targetNode != node) {
-	// reparseEnd = Math.max(reparseEnd, targetNode.getEnd());
-	// }
-	//
-	// if (reparseStart != start || reparseEnd != end) {
-	// return reparse(reparseStart, reparseEnd);
-	// } else {
-	// return null;
-	// }
-	// }
-	// /**
-	// * If following charater(s) is in changes, It is necessary to parse
-	// nodes
-	// * which are in forward and/or backward.
-	// *
-	// * openers : [, (, \/\* closers : ], ), \*\/ quotes : ", '
-	// */
-	// private StructuredDocumentEvent specialPositionUpdate(int start, int
-	// end) {
-	// String[] openers = { "[", "(", "/*", "\"", "'", "<%" };
-	// //$NON-NLS-6$//$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-	// String[] closers = { "]", ")", "*/", "\"", "'", "%>" };
-	// //$NON-NLS-6$//$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-	//
-	// int rangeStart = Integer.MAX_VALUE;
-	// int rangeEnd = 0;
-	//
-	// for (int i = 0; i < openers.length && i < closers.length; i++) {
-	// ReparseRange range = getUpdateRangeForPair(start, end, openers[i],
-	// closers[i]);
-	// if (range != null) {
-	// rangeStart = Math.min(rangeStart, range.getStart());
-	// rangeEnd = Math.max(rangeEnd, range.getEnd());
-	// break;
-	// }
-	// }
-	//
-	// if (rangeStart < rangeEnd) {
-	// return reparse(rangeStart, rangeEnd);
-	// } else {
-	// return null;
-	// }
-	// }
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.model.internal.text.StructuredDocumentReParser#newInstance()
-	 */
-	public IStructuredTextReParser newInstance() {
-		return new CSSStructuredDocumentReParser();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/CSSStructuredDocumentRegionFactory.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/CSSStructuredDocumentRegionFactory.java
deleted file mode 100644
index ad51596..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/CSSStructuredDocumentRegionFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.text;
-
-
-
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-/**
- * 
- */
-public class CSSStructuredDocumentRegionFactory {
-
-	public static final int CSS_GENERIC = 101109;
-
-	/**
-	 * 
-	 */
-	public static IStructuredDocumentRegion createStructuredDocumentRegion(int type) {
-		IStructuredDocumentRegion instance = null;
-		switch (type) {
-			case CSS_GENERIC :
-				instance = new BasicStructuredDocumentRegion();
-				break;
-			default :
-				break;
-		}
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/StructuredDocumentWalker.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/StructuredDocumentWalker.java
deleted file mode 100644
index bab57dd..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/StructuredDocumentWalker.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.text;
-
-
-
-import java.util.Enumeration;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-public class StructuredDocumentWalker {
-
-	IStructuredDocumentRegionList fOldStructuredDocumentRegionList = null;
-	IStructuredDocument fStructuredDocument = null;
-	String fOriginalChanges = null;
-	int fOriginalOffset = 0;
-	int fOriginalLengthToReplace = 0;
-	int fLengthDifference = 0;
-
-	/**
-	 * 
-	 */
-	public StructuredDocumentWalker() {
-	}
-
-	/**
-	 * 
-	 */
-	public StructuredDocumentWalker(StructuredDocumentEvent event) {
-		initialize(event);
-	}
-
-	/**
-	 * 
-	 */
-	public IStructuredDocument getStructuredDocument() {
-		return fStructuredDocument;
-	}
-
-	/**
-	 * Old Nodes: --[O1]--[O2]--[O3]--- : / \ Current Nodes:
-	 * ---[C1]-----[C2]-----[C3]-----[C4]---
-	 * 
-	 * Input: O1 -> Output: O2 Input: O2 -> Output: O3 Input: O3 -> Output: C4
-	 * Input: Cn -> Output: Cn+1
-	 */
-	public IStructuredDocumentRegion getNextNode(IStructuredDocumentRegion node) {
-		IStructuredDocumentRegion nextNode = null;
-		if (node != null) {
-			nextNode = node.getNext();
-			if (nextNode == null) {
-				if (isOldNode(node)) {
-					// this may be the end of old flatnodes
-					int newStart = node.getEnd() - fLengthDifference;
-					nextNode = fStructuredDocument.getRegionAtCharacterOffset(newStart);
-				}
-			}
-		}
-		return nextNode;
-	}
-
-	/**
-	 * Old Nodes: --[O1]--[O2]--[O3]--- : / \ Current Nodes:
-	 * ---[C1]-----[C2]-----[C3]-----[C4]---
-	 * 
-	 * Input: O* -> Output: C4 Input: Cn -> Output: Cn+1
-	 */
-	public IStructuredDocumentRegion getNextNodeInCurrent(IStructuredDocumentRegion node) {
-		IStructuredDocumentRegion nextNode = null;
-		if (isOldNode(node)) {
-			IStructuredDocumentRegion oldEndNode = fOldStructuredDocumentRegionList.item(fOldStructuredDocumentRegionList.getLength() - 1);
-			int newStart = oldEndNode.getEnd() - fLengthDifference;
-			nextNode = fStructuredDocument.getRegionAtCharacterOffset(newStart);
-		}
-		else if (node != null) {
-			nextNode = node.getNext();
-		}
-		return nextNode;
-	}
-
-	/**
-	 * Old Nodes: --[O1]--[O2]--[O3]--- : / \ Current Nodes:
-	 * ---[C1]-----[C2]-----[C3]-----[C4]---
-	 * 
-	 * Input: O1 -> Output: C1 Input: O2 -> Output: O1 Input: O3 -> Output: O2
-	 * Input: Cn -> Output: Cn-1
-	 */
-	public IStructuredDocumentRegion getPrevNode(IStructuredDocumentRegion node) {
-		IStructuredDocumentRegion prevNode = null;
-		if (node != null) {
-			prevNode = node.getPrevious();
-			if (prevNode == null) {
-				if (isOldNode(node)) {
-					// this may be the start of old flatnodes
-					int newEnd = node.getStart() - 1;
-					prevNode = fStructuredDocument.getRegionAtCharacterOffset(newEnd);
-				}
-			}
-		}
-		return prevNode;
-	}
-
-	/**
-	 * Old Nodes: --[O1]--[O2]--[O3]--- : / \ Current Nodes:
-	 * ---[C1]-----[C2]-----[C3]-----[C4]---
-	 * 
-	 * Input: O* -> Output: C1 Input: Cn -> Output: Cn-1
-	 */
-	public IStructuredDocumentRegion getPrevNodeInCurrent(IStructuredDocumentRegion node) {
-		IStructuredDocumentRegion prevNode = null;
-		if (isOldNode(node)) {
-			IStructuredDocumentRegion oldStartNode = fOldStructuredDocumentRegionList.item(0);
-			int newEnd = oldStartNode.getStart() - 1;
-			prevNode = fStructuredDocument.getRegionAtCharacterOffset(newEnd);
-		}
-		else if (node != null) {
-			prevNode = node.getPrevious();
-		}
-		return prevNode;
-	}
-
-	/**
-	 * 
-	 */
-	public void initialize(StructuredDocumentEvent event) {
-		fStructuredDocument = event.getStructuredDocument();
-		fOriginalChanges = event.getText();
-		fOriginalOffset = event.getOriginalStart();
-		fOriginalLengthToReplace = event.getLength();
-		fLengthDifference = Utilities.calculateLengthDifference(fOriginalChanges, fOriginalLengthToReplace);
-
-		if (event instanceof StructuredDocumentRegionsReplacedEvent) {
-			fOldStructuredDocumentRegionList = ((StructuredDocumentRegionsReplacedEvent) event).getOldStructuredDocumentRegions();
-		}
-		else {
-			fOldStructuredDocumentRegionList = null;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isOldNode(IStructuredDocumentRegion node) {
-		boolean bOld = false;
-		if (fOldStructuredDocumentRegionList != null) {
-			Enumeration e = fOldStructuredDocumentRegionList.elements();
-			while (e.hasMoreElements()) {
-				if (e.nextElement() == node) {
-					bOld = true;
-					break;
-				}
-			}
-		}
-		return bOld;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/rules/StructuredTextPartitionerForCSS.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/rules/StructuredTextPartitionerForCSS.java
deleted file mode 100644
index 7366a21..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/text/rules/StructuredTextPartitionerForCSS.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.internal.text.rules;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-
-public class StructuredTextPartitionerForCSS extends StructuredTextPartitioner {
-	public final static String ST_STYLE = "org.eclipse.wst.css.STYLE"; //$NON-NLS-1$
-	public final static String[] legalTypes = new String[]{ST_STYLE, StructuredTextPartitioner.ST_DEFAULT_PARTITION};
-
-	public StructuredTextPartitionerForCSS() {
-		super();
-	}
-
-	public String getDefault() {
-		return ST_STYLE;
-	}
-
-	public String[] getLegalContentTypes() {
-		return legalTypes;
-	}
-
-	public IDocumentPartitioner newInstance() {
-		return new StructuredTextPartitionerForCSS();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMCategory.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMCategory.java
deleted file mode 100644
index 86a57db..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMCategory.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-public interface CSSMMCategory extends CSSMMNode {
-
-	String getCaption();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMCharsetRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMCharsetRule.java
deleted file mode 100644
index 226f26a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMCharsetRule.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMCharsetRule extends CSSMMNode {
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMContainer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMContainer.java
deleted file mode 100644
index 0dfe14c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMContainer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMContainer extends CSSMMNode {
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMDescriptor.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMDescriptor.java
deleted file mode 100644
index 91364d5..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMDescriptor.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-import java.util.Iterator;
-
-public interface CSSMMDescriptor extends CSSMMNode {
-
-	Iterator getValues();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMFontFaceRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMFontFaceRule.java
deleted file mode 100644
index 6a96552..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMFontFaceRule.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMFontFaceRule extends CSSMMNode {
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMFunction.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMFunction.java
deleted file mode 100644
index 6b79c6c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMFunction.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMFunction extends CSSMMNode {
-
-	String getFunctionString();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMImportRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMImportRule.java
deleted file mode 100644
index ab0a0f3..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMImportRule.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMImportRule extends CSSMMNode {
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMKeyword.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMKeyword.java
deleted file mode 100644
index 143a1de..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMKeyword.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMKeyword extends CSSMMNode {
-
-	String getKeywordString();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMMediaRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMMediaRule.java
deleted file mode 100644
index 637c38b..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMMediaRule.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMMediaRule extends CSSMMNode {
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMNode.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMNode.java
deleted file mode 100644
index 2432fac..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMNode.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-import java.util.Iterator;
-
-public interface CSSMMNode {
-	String getType();
-
-	String getName();
-
-	String getDescription();
-
-	String getAttribute(String name);
-
-	Iterator getChildNodes();
-
-	Iterator getDescendants();
-
-
-	static final String _PREFIX = "CSSMM."; //$NON-NLS-1$
-	static final String TYPE_KEYWORD = _PREFIX + "Keyword"; //$NON-NLS-1$
-	static final String TYPE_UNIT = _PREFIX + "Unit"; //$NON-NLS-1$
-	static final String TYPE_FUNCTION = _PREFIX + "Function"; //$NON-NLS-1$
-	static final String TYPE_STRING = _PREFIX + "String"; //$NON-NLS-1$
-	static final String TYPE_STYLE_SHEET = _PREFIX + "StyleSheet"; //$NON-NLS-1$
-	static final String TYPE_PROPERTY = _PREFIX + "Property"; //$NON-NLS-1$
-	static final String TYPE_DESCRIPTOR = _PREFIX + "Descriptor"; //$NON-NLS-1$
-	static final String TYPE_CONTAINER = _PREFIX + "Container"; //$NON-NLS-1$
-	static final String TYPE_NUMBER = _PREFIX + "Number"; //$NON-NLS-1$
-	static final String TYPE_SEPARATOR = _PREFIX + "Separator"; //$NON-NLS-1$
-	static final String TYPE_CHARSET_RULE = _PREFIX + "CharsetRule"; //$NON-NLS-1$
-	static final String TYPE_IMPORT_RULE = _PREFIX + "ImportRule"; //$NON-NLS-1$
-	static final String TYPE_STYLE_RULE = _PREFIX + "StyleRule"; //$NON-NLS-1$
-	static final String TYPE_MEDIA_RULE = _PREFIX + "MediaRule"; //$NON-NLS-1$
-	static final String TYPE_PAGE_RULE = _PREFIX + "PageRule"; //$NON-NLS-1$
-	static final String TYPE_FONT_FACE_RULE = _PREFIX + "FontFaceRule"; //$NON-NLS-1$
-	static final String TYPE_CATEGORY = _PREFIX + "Category"; //$NON-NLS-1$
-	static final String TYPE_META_MODEL = _PREFIX + "MetaModel"; //$NON-NLS-1$
-	static final String TYPE_SELECTOR = _PREFIX + "Selector"; //$NON-NLS-1$	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMNumber.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMNumber.java
deleted file mode 100644
index ab80143..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMNumber.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMNumber extends CSSMMNode {
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMPageRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMPageRule.java
deleted file mode 100644
index 5018390..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMPageRule.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMPageRule extends CSSMMNode {
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMProperty.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMProperty.java
deleted file mode 100644
index 6b9a6b0..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMProperty.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-import java.util.Iterator;
-
-public interface CSSMMProperty extends CSSMMNode {
-
-	String getCategoryName();
-
-	Iterator getValues();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMSelector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMSelector.java
deleted file mode 100644
index 058c9e8..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMSelector.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-public interface CSSMMSelector extends CSSMMNode {
-	String getSelectorType();
-
-	String getSelectorString();
-
-
-	static final String TYPE_EXPRESSION = "Expression"; //$NON-NLS-1$
-	static final String TYPE_PSEUDO_CLASS = "PseudoClass"; //$NON-NLS-1$
-	static final String TYPE_PSEUDO_ELEMENT = "PseudoElement"; //$NON-NLS-1$
-
-	// embedded expression type
-	static final String EXPRESSION_DESCENDANT = "descendant"; //$NON-NLS-1$
-	static final String EXPRESSION_CHILD = "child"; //$NON-NLS-1$
-	static final String EXPRESSION_ADJACENT = "adjacent"; //$NON-NLS-1$
-	static final String EXPRESSION_UNIVERSAL = "universal"; //$NON-NLS-1$
-	static final String EXPRESSION_ATTRIBUTE = "attribute"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMString.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMString.java
deleted file mode 100644
index 024a98a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMString.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMString extends CSSMMNode {
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMStyleRule.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMStyleRule.java
deleted file mode 100644
index 3257cc2..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMStyleRule.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMStyleRule extends CSSMMNode {
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMStyleSheet.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMStyleSheet.java
deleted file mode 100644
index f37b11c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMStyleSheet.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMStyleSheet extends CSSMMNode {
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMUnit.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMUnit.java
deleted file mode 100644
index 798591f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMMUnit.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-public interface CSSMMUnit extends CSSMMNode {
-
-	String getUnitString();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMetaModel.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMetaModel.java
deleted file mode 100644
index 1ced2a9..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSMetaModel.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-import java.util.Iterator;
-
-public interface CSSMetaModel extends CSSMMNode {
-
-	// public interface CSSMetaModel {
-	CSSMMStyleSheet getStyleSheet();
-
-	/*
-	 * Shortcut to access property node
-	 */
-	// Iterator getProperties();
-	// Iterator getDescriptors();
-	// CSSMMProperty getProperty(String propertyName);
-	/*
-	 * access to category information
-	 */
-	Iterator getCategories();
-
-	/*
-	 * Utilities
-	 */
-	// Iterator collectNodesByType(String type);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSProfile.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSProfile.java
deleted file mode 100644
index 2315042..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSProfile.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-import java.net.URL;
-
-
-public interface CSSProfile {
-
-	String getProfileID();
-
-	String getProfileName();
-
-	URL getProfileURL();
-
-	CSSMetaModel getMetaModel();
-
-	boolean isDefault();
-
-	String getOwnerPluginID();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSProfileRegistry.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSProfileRegistry.java
deleted file mode 100644
index 870b793..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/CSSProfileRegistry.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel;
-
-
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.wst.css.core.internal.metamodel.RegistryReader;
-
-
-
-public class CSSProfileRegistry {
-	public synchronized static CSSProfileRegistry getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSProfileRegistry();
-		}
-		return fInstance;
-	}
-
-	public Iterator getProfiles() {
-		return Collections.unmodifiableCollection(fProfiles.values()).iterator();
-	}
-
-	public CSSProfile getProfile(String profileID) {
-		return (CSSProfile) fProfiles.get(profileID);
-	}
-
-	public CSSProfile getDefaultProfile() {
-		Iterator i = getProfiles();
-		while (i.hasNext()) {
-			CSSProfile profile = (CSSProfile) i.next();
-			if (profile.isDefault()) {
-				return profile;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Constructor for CSSProfileRegistry.
-	 */
-	private CSSProfileRegistry() {
-		super();
-		fProfiles = new HashMap();
-		Iterator i = new RegistryReader().enumProfiles();
-		while (i.hasNext()) {
-			Object profile = i.next();
-			if (profile instanceof CSSProfile) {
-				fProfiles.put(((CSSProfile) profile).getProfileID(), profile);
-			}
-		}
-	}
-
-
-	private static CSSProfileRegistry fInstance = null;
-	private Map fProfiles = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSFunctionID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSFunctionID.java
deleted file mode 100644
index 9adc8da..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSFunctionID.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-public interface CSSFunctionID {
-
-	final static String F_ATTR = "attr"; //$NON-NLS-1$
-	final static String F_COUNTER = "counter"; //$NON-NLS-1$
-	final static String F_RGB = "rgb"; //$NON-NLS-1$
-	final static String F_RECT = "rect"; //$NON-NLS-1$
-	final static String F_URI = "uri"; //$NON-NLS-1$
-	final static String F_FORMAT = "format"; //$NON-NLS-1$
-	final static String F_LOCAL = "local"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSKeywordID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSKeywordID.java
deleted file mode 100644
index f2e1ce1..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSKeywordID.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-public interface CSSKeywordID {
-
-	final static String K_100 = "100"; //$NON-NLS-1$
-	final static String K_200 = "200"; //$NON-NLS-1$
-	final static String K_300 = "300"; //$NON-NLS-1$
-	final static String K_400 = "400"; //$NON-NLS-1$
-	final static String K_500 = "500"; //$NON-NLS-1$
-	final static String K_600 = "600"; //$NON-NLS-1$
-	final static String K_700 = "700"; //$NON-NLS-1$
-	final static String K_800 = "800"; //$NON-NLS-1$
-	final static String K_900 = "900"; //$NON-NLS-1$
-	final static String K_ABOVE = "above"; //$NON-NLS-1$
-	final static String K_ABSOLUTE = "absolute"; //$NON-NLS-1$
-	final static String K_ACTIVEBORDER = "ActiveBorder"; //$NON-NLS-1$
-	final static String K_ACTIVECAPTION = "ActiveCaption"; //$NON-NLS-1$
-	final static String K_ALL = "all"; //$NON-NLS-1$
-	final static String K_ALWAYS = "always"; //$NON-NLS-1$
-	final static String K_APPWORKSPACE = "AppWorkspace"; //$NON-NLS-1$
-	final static String K_AQUA = "aqua"; //$NON-NLS-1$
-	final static String K_ARMENIAN = "armenian"; //$NON-NLS-1$
-	final static String K_AUTO = "auto"; //$NON-NLS-1$
-	final static String K_AVOID = "avoid"; //$NON-NLS-1$
-	final static String K_BACKGROUND = "Background"; //$NON-NLS-1$
-	final static String K_BASELINE = "baseline"; //$NON-NLS-1$
-	final static String K_BEHIND = "behind"; //$NON-NLS-1$
-	final static String K_BELOW = "below"; //$NON-NLS-1$
-	final static String K_BIDI_OVERRIDE = "bidi-override"; //$NON-NLS-1$
-	final static String K_BLACK = "black"; //$NON-NLS-1$
-	final static String K_BLINK = "blink"; //$NON-NLS-1$
-	final static String K_BLOCK = "block"; //$NON-NLS-1$
-	final static String K_BLUE = "blue"; //$NON-NLS-1$
-	final static String K_BOLD = "bold"; //$NON-NLS-1$
-	final static String K_BOLDER = "bolder"; //$NON-NLS-1$
-	final static String K_BOTH = "both"; //$NON-NLS-1$
-	final static String K_BOTTOM = "bottom"; //$NON-NLS-1$
-	final static String K_BUTTONFACE = "ButtonFace"; //$NON-NLS-1$
-	final static String K_BUTTONHIGHLIGHT = "ButtonHighlight"; //$NON-NLS-1$
-	final static String K_BUTTONSHADOW = "ButtonShadow"; //$NON-NLS-1$
-	final static String K_BUTTONTEXT = "ButtonText"; //$NON-NLS-1$
-	final static String K_CAPITALIZE = "capitalize"; //$NON-NLS-1$
-	final static String K_CAPTION = "caption"; //$NON-NLS-1$
-	final static String K_CAPTIONTEXT = "CaptionText"; //$NON-NLS-1$
-	final static String K_CENTER = "center"; //$NON-NLS-1$
-	final static String K_CENTER_LEFT = "center-left"; //$NON-NLS-1$
-	final static String K_CENTER_RIGHT = "center-right"; //$NON-NLS-1$
-	final static String K_CHILD = "child"; //$NON-NLS-1$
-	final static String K_CIRCLE = "circle"; //$NON-NLS-1$
-	final static String K_CJK_IDEOGRAPHIC = "cjk-ideographic"; //$NON-NLS-1$
-	final static String K_CLOSE_QUOTE = "close-quote"; //$NON-NLS-1$
-	final static String K_CODE = "code"; //$NON-NLS-1$
-	final static String K_CONDENSED = "condensed"; //$NON-NLS-1$
-	final static String K_COLLAPSE = "collapse"; //$NON-NLS-1$
-	final static String K_COMPACT = "compact"; //$NON-NLS-1$
-	final static String K_CONTINUOUS = "continuous"; //$NON-NLS-1$
-	final static String K_CROP = "crop"; //$NON-NLS-1$
-	final static String K_CROSS = "cross"; //$NON-NLS-1$
-	final static String K_CROSSHAIR = "crosshair"; //$NON-NLS-1$
-	final static String K_CURSIVE = "cursive"; //$NON-NLS-1$
-	final static String K_DASHED = "dashed"; //$NON-NLS-1$
-	final static String K_DECIMAL = "decimal"; //$NON-NLS-1$
-	final static String K_DECIMAL_LEADING_ZERO = "decimal-leading-zero"; //$NON-NLS-1$
-	final static String K_DEFAULT = "default"; //$NON-NLS-1$
-	final static String K_DIGITS = "digits"; //$NON-NLS-1$
-	final static String K_DISC = "disc"; //$NON-NLS-1$
-	final static String K_DOTTED = "dotted"; //$NON-NLS-1$
-	final static String K_DOUBLE = "double"; //$NON-NLS-1$
-	final static String K_E_RESIZE = "e-resize"; //$NON-NLS-1$
-	final static String K_EMBED = "embed"; //$NON-NLS-1$
-	final static String K_EXPANDED = "expanded"; //$NON-NLS-1$
-	final static String K_EXTRA_CONDENSED = "extra-condensed"; //$NON-NLS-1$
-	final static String K_EXTRA_EXPANDED = "extra-expanded"; //$NON-NLS-1$
-	final static String K_FANTASY = "fantasy"; //$NON-NLS-1$
-	final static String K_FAR_LEFT = "far-left"; //$NON-NLS-1$
-	final static String K_FAR_RIGHT = "far-right"; //$NON-NLS-1$
-	final static String K_FAST = "fast"; //$NON-NLS-1$
-	final static String K_FASTER = "faster"; //$NON-NLS-1$
-	final static String K_FEMALE = "female"; //$NON-NLS-1$
-	final static String K_FIXED = "fixed"; //$NON-NLS-1$
-	final static String K_FUCHSIA = "fuchsia"; //$NON-NLS-1$
-	final static String K_GEORGIAN = "georgian"; //$NON-NLS-1$
-	final static String K_GRAY = "gray"; //$NON-NLS-1$
-	final static String K_GRAYTEXT = "GrayText"; //$NON-NLS-1$
-	final static String K_GREEN = "green"; //$NON-NLS-1$
-	final static String K_GROOVE = "groove"; //$NON-NLS-1$
-	final static String K_HEBREW = "hebrew"; //$NON-NLS-1$
-	final static String K_HELP = "help"; //$NON-NLS-1$
-	final static String K_HIDDEN = "hidden"; //$NON-NLS-1$
-	final static String K_HIDE = "hide"; //$NON-NLS-1$
-	final static String K_HIGH = "high"; //$NON-NLS-1$
-	final static String K_HIGHLIGHT = "Highlight"; //$NON-NLS-1$
-	final static String K_HIGHLIGHTTEXT = "HighlightText"; //$NON-NLS-1$
-	final static String K_HIGHER = "higher"; //$NON-NLS-1$
-	final static String K_HIRAGANA = "hiragana"; //$NON-NLS-1$
-	final static String K_HIRAGANA_IROHA = "hiragana-iroha"; //$NON-NLS-1$
-	final static String K_ICON = "icon"; //$NON-NLS-1$
-	final static String K_INACTIVEBORDER = "InactiveBorder"; //$NON-NLS-1$
-	final static String K_INACTIVECAPTION = "InactiveCaption"; //$NON-NLS-1$
-	final static String K_INACTIVECAPTIONTEXT = "InactiveCaptionText"; //$NON-NLS-1$
-	final static String K_INFOBACKGROUND = "InfoBackground"; //$NON-NLS-1$
-	final static String K_INFOTEXT = "InfoText"; //$NON-NLS-1$
-	final static String K_INLINE = "inline"; //$NON-NLS-1$
-	final static String K_INLINE_TABLE = "inline-table"; //$NON-NLS-1$
-	final static String K_INSET = "inset"; //$NON-NLS-1$
-	final static String K_INSIDE = "inside"; //$NON-NLS-1$
-	final static String K_INVERT = "invert"; //$NON-NLS-1$
-	final static String K_ITALIC = "italic"; //$NON-NLS-1$
-	final static String K_JUSTIFY = "justify"; //$NON-NLS-1$
-	final static String K_KATAKANA = "katakana"; //$NON-NLS-1$
-	final static String K_KATAKANA_IROHA = "katakana-iroha"; //$NON-NLS-1$
-	final static String K_LANDSCAPE = "landscape"; //$NON-NLS-1$
-	final static String K_LARGE = "large"; //$NON-NLS-1$
-	final static String K_LARGER = "larger"; //$NON-NLS-1$
-	final static String K_LEFT = "left"; //$NON-NLS-1$
-	final static String K_LEFT_SIDE = "left-side"; //$NON-NLS-1$
-	final static String K_LEFTWARDS = "leftwards"; //$NON-NLS-1$
-	final static String K_LEVEL = "level"; //$NON-NLS-1$
-	final static String K_LIGHTER = "lighter"; //$NON-NLS-1$
-	final static String K_LIME = "lime"; //$NON-NLS-1$
-	final static String K_LINE_THROUGH = "line-through"; //$NON-NLS-1$
-	final static String K_LIST_ITEM = "list-item"; //$NON-NLS-1$
-	final static String K_LOUD = "loud"; //$NON-NLS-1$
-	final static String K_LOW = "low"; //$NON-NLS-1$
-	final static String K_LOWER = "lower"; //$NON-NLS-1$
-	final static String K_LOWER_ALPHA = "lower-alpha"; //$NON-NLS-1$
-	final static String K_LOWER_GREEK = "lower-greek"; //$NON-NLS-1$
-	final static String K_LOWER_LATIN = "lower-latin"; //$NON-NLS-1$
-	final static String K_LOWER_ROMAN = "lower-roman"; //$NON-NLS-1$
-	final static String K_LOWERCASE = "lowercase"; //$NON-NLS-1$
-	final static String K_LTR = "ltr"; //$NON-NLS-1$
-	final static String K_MALE = "male"; //$NON-NLS-1$
-	final static String K_MARKER = "marker"; //$NON-NLS-1$
-	final static String K_MAROON = "maroon"; //$NON-NLS-1$
-	final static String K_MEDIUM = "medium"; //$NON-NLS-1$
-	final static String K_MENU = "menu"; //$NON-NLS-1$
-	final static String K_MENUTEXT = "MenuText"; //$NON-NLS-1$
-	final static String K_MESSAGE_BOX = "message-box"; //$NON-NLS-1$
-	final static String K_MIDDLE = "middle"; //$NON-NLS-1$
-	final static String K_MIX = "mix"; //$NON-NLS-1$
-	final static String K_MONOSPACE = "monospace"; //$NON-NLS-1$
-	final static String K_MOVE = "move"; //$NON-NLS-1$
-	final static String K_N_RESIZE = "n-resize"; //$NON-NLS-1$
-	final static String K_NARROWER = "narrower"; //$NON-NLS-1$
-	final static String K_NAVY = "navy"; //$NON-NLS-1$
-	final static String K_NE_RESIZE = "ne-resize"; //$NON-NLS-1$
-	final static String K_NO_CLOSE_QUOTE = "no-close-quote"; //$NON-NLS-1$
-	final static String K_NO_OPEN_QUOTE = "no-open-quote"; //$NON-NLS-1$
-	final static String K_NO_REPEAT = "no-repeat"; //$NON-NLS-1$
-	final static String K_NONE = "none"; //$NON-NLS-1$
-	final static String K_NORMAL = "normal"; //$NON-NLS-1$
-	final static String K_NOWRAP = "nowrap"; //$NON-NLS-1$
-	final static String K_NW_RESIZE = "nw-resize"; //$NON-NLS-1$
-	final static String K_OBLIQUE = "oblique"; //$NON-NLS-1$
-	final static String K_OLIVE = "olive"; //$NON-NLS-1$
-	final static String K_ONCE = "once"; //$NON-NLS-1$
-	final static String K_OPEN_QUOTE = "open-quote"; //$NON-NLS-1$
-	final static String K_OUTSET = "outset"; //$NON-NLS-1$
-	final static String K_OUTSIDE = "outside"; //$NON-NLS-1$
-	final static String K_OVERLINE = "overline"; //$NON-NLS-1$
-	final static String K_POINTER = "pointer"; //$NON-NLS-1$
-	final static String K_PORTRAIT = "portrait"; //$NON-NLS-1$
-	final static String K_PRE = "pre"; //$NON-NLS-1$
-	final static String K_PURPLE = "purple"; //$NON-NLS-1$
-	final static String K_RED = "red"; //$NON-NLS-1$
-	final static String K_RELATIVE = "relative"; //$NON-NLS-1$
-	final static String K_REPEAT = "repeat"; //$NON-NLS-1$
-	final static String K_REPEAT_X = "repeat-x"; //$NON-NLS-1$
-	final static String K_REPEAT_Y = "repeat-y"; //$NON-NLS-1$
-	final static String K_RIDGE = "ridge"; //$NON-NLS-1$
-	final static String K_RIGHT = "right"; //$NON-NLS-1$
-	final static String K_RIGHT_SIDE = "right-side"; //$NON-NLS-1$
-	final static String K_RIGHTWARDS = "rightwards"; //$NON-NLS-1$
-	final static String K_RTL = "rtl"; //$NON-NLS-1$
-	final static String K_RUN_IN = "run-in"; //$NON-NLS-1$
-	final static String K_S_RESIZE = "s-resize"; //$NON-NLS-1$
-	final static String K_SANS_SERIF = "sans-serif"; //$NON-NLS-1$
-	final static String K_SCROLL = "scroll"; //$NON-NLS-1$
-	final static String K_SCROLLBAR = "Scrollbar"; //$NON-NLS-1$
-	final static String K_SE_RESIZE = "se-resize"; //$NON-NLS-1$
-	final static String K_SEMI_CONDENSED = "semi-condensed"; //$NON-NLS-1$
-	final static String K_SEMI_EXPANDED = "semi-expanded"; //$NON-NLS-1$
-	final static String K_SEPARATE = "separate"; //$NON-NLS-1$
-	final static String K_SERIF = "serif"; //$NON-NLS-1$
-	final static String K_SHOW = "show"; //$NON-NLS-1$
-	final static String K_SILENT = "silent"; //$NON-NLS-1$
-	final static String K_SILVER = "silver"; //$NON-NLS-1$
-	final static String K_SLOW = "slow"; //$NON-NLS-1$
-	final static String K_SLOWER = "slower"; //$NON-NLS-1$
-	final static String K_SMALL = "small"; //$NON-NLS-1$
-	final static String K_SMALL_CAPS = "small-caps"; //$NON-NLS-1$
-	final static String K_SMALL_CAPTION = "small-caption"; //$NON-NLS-1$
-	final static String K_SMALLER = "smaller"; //$NON-NLS-1$
-	final static String K_SOFT = "soft"; //$NON-NLS-1$
-	final static String K_SOLID = "solid"; //$NON-NLS-1$
-	final static String K_SPELL_OUT = "spell-out"; //$NON-NLS-1$
-	final static String K_SQUARE = "square"; //$NON-NLS-1$
-	final static String K_STATIC = "static"; //$NON-NLS-1$
-	final static String K_STATUS_BAR = "status-bar"; //$NON-NLS-1$
-	final static String K_SUB = "sub"; //$NON-NLS-1$
-	final static String K_SUPER = "super"; //$NON-NLS-1$
-	final static String K_SW_RESIZE = "sw-resize"; //$NON-NLS-1$
-	final static String K_TABLE = "table"; //$NON-NLS-1$
-	final static String K_TABLE_CAPTION = "table-caption"; //$NON-NLS-1$
-	final static String K_TABLE_CELL = "table-cell"; //$NON-NLS-1$
-	final static String K_TABLE_COLUMN = "table-column"; //$NON-NLS-1$
-	final static String K_TABLE_COLUMN_GROUP = "table-column-group"; //$NON-NLS-1$
-	final static String K_TABLE_FOOTER_GROUP = "table-footer-group"; //$NON-NLS-1$
-	final static String K_TABLE_HEADER_GROUP = "table-header-group"; //$NON-NLS-1$
-	final static String K_TABLE_ROW = "table-row"; //$NON-NLS-1$
-	final static String K_TABLE_ROW_GROUP = "table-row-group"; //$NON-NLS-1$
-	final static String K_TEAL = "teal"; //$NON-NLS-1$
-	final static String K_TEXT = "text"; //$NON-NLS-1$
-	final static String K_TEXT_TOP = "text-top"; //$NON-NLS-1$
-	final static String K_TEXT_BOTTOM = "text-bottom"; //$NON-NLS-1$
-	final static String K_THICK = "thick"; //$NON-NLS-1$
-	final static String K_THIN = "thin"; //$NON-NLS-1$
-	final static String K_THREEDDARKSHADOW = "ThreeDDarkShadow"; //$NON-NLS-1$
-	final static String K_THREEDFACE = "ThreeDFace"; //$NON-NLS-1$
-	final static String K_THREEDHIGHLIGHT = "ThreeDHighlight"; //$NON-NLS-1$
-	final static String K_THREEDLIGHTSHADOW = "ThreeDLightShadow"; //$NON-NLS-1$
-	final static String K_THREEDSHADOW = "ThreeDShadow"; //$NON-NLS-1$
-	final static String K_TOP = "top"; //$NON-NLS-1$
-	final static String K_TRANSPARENT = "transparent"; //$NON-NLS-1$
-	final static String K_ULTRA_CONDENSED = "ultra-condensed"; //$NON-NLS-1$
-	final static String K_ULTRA_EXPANDED = "ultra-expanded"; //$NON-NLS-1$
-	final static String K_UNDERLINE = "underline"; //$NON-NLS-1$
-	final static String K_UPPER_ALPHA = "upper-alpha"; //$NON-NLS-1$
-	final static String K_UPPER_LATIN = "upper-latin"; //$NON-NLS-1$
-	final static String K_UPPER_ROMAN = "upper-roman"; //$NON-NLS-1$
-	final static String K_UPPERCASE = "uppercase"; //$NON-NLS-1$
-	final static String K_VISIBLE = "visible"; //$NON-NLS-1$
-	final static String K_W_RESIZE = "w-resize"; //$NON-NLS-1$
-	final static String K_WAIT = "wait"; //$NON-NLS-1$
-	final static String K_WHITE = "white"; //$NON-NLS-1$
-	final static String K_WIDER = "wider"; //$NON-NLS-1$
-	final static String K_WINDOW = "Window"; //$NON-NLS-1$
-	final static String K_WINDOWFRAME = "WindowFrame"; //$NON-NLS-1$
-	final static String K_WINDOWTEXT = "WindowText"; //$NON-NLS-1$
-	final static String K_X_FAST = "x-fast"; //$NON-NLS-1$
-	final static String K_X_HIGH = "x-high"; //$NON-NLS-1$
-	final static String K_X_LARGE = "x-large"; //$NON-NLS-1$
-	final static String K_X_LOUD = "x-loud"; //$NON-NLS-1$
-	final static String K_X_LOW = "x-low"; //$NON-NLS-1$
-	final static String K_X_SLOW = "x-slow"; //$NON-NLS-1$
-	final static String K_X_SMALL = "x-small"; //$NON-NLS-1$
-	final static String K_X_SOFT = "x-soft"; //$NON-NLS-1$
-	final static String K_XX_SMALL = "xx-small"; //$NON-NLS-1$
-	final static String K_XX_LARGE = "xx-large"; //$NON-NLS-1$
-	final static String K_YELLOW = "yellow"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMMTypeCollector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMMTypeCollector.java
deleted file mode 100644
index 881ca87..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMMTypeCollector.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-
-public class CSSMMTypeCollector extends CSSMetaModelTraverser {
-
-	/**
-	 * Constructor for TypeCollector.
-	 */
-	public CSSMMTypeCollector() {
-		super();
-	}
-
-	public void apply(CSSMMNode node, String type) {
-		fType = type;
-		fNodes = new ArrayList();
-		apply(node);
-	}
-
-	public void collectNestedType(boolean nested) {
-		fNested = nested;
-	}
-
-	protected short preNode(CSSMMNode node) {
-		short rc = TRAV_CONT;
-		if (node != null) {
-			if (fType == node.getType()) {
-				if (!fNodes.contains(node)) {
-					fNodes.add(node);
-				}
-				if (!fNested) {
-					rc = TRAV_PRUNE;
-				}
-			}
-		}
-		return rc;
-	}
-
-	public Iterator getNodes() {
-		return fNodes.iterator();
-	}
-
-
-	private boolean fNested = false;
-	private String fType = null;
-	List fNodes = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMediaGroupID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMediaGroupID.java
deleted file mode 100644
index ee42d64..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMediaGroupID.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-public interface CSSMediaGroupID {
-
-	final static String M_CONTINUOUS = "continuous"; //$NON-NLS-1$
-	final static String M_PAGED = "paged"; //$NON-NLS-1$
-
-	final static String M_VISUAL = "visual"; //$NON-NLS-1$
-	final static String M_AURAL = "aural"; //$NON-NLS-1$
-	final static String M_TACTILE = "tactile"; //$NON-NLS-1$
-
-	final static String M_GRID = "grid"; //$NON-NLS-1$
-	final static String M_BITMAP = "bitmap"; //$NON-NLS-1$
-
-	final static String M_INTERACTIVE = "interactive"; //$NON-NLS-1$
-	final static String M_STATIC = "static"; //$NON-NLS-1$
-
-	final static String M_ALL = "all"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMetaModelFinder.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMetaModelFinder.java
deleted file mode 100644
index 934e05e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMetaModelFinder.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.metamodel.CSSMetaModel;
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-
-public class CSSMetaModelFinder {
-	/**
-	 * Constructor for CSSMetaModelFinder.
-	 */
-	private CSSMetaModelFinder() {
-		super();
-	}
-
-	static synchronized public CSSMetaModelFinder getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSMetaModelFinder();
-		}
-		return fInstance;
-	}
-
-	public CSSMetaModel findMetaModelFor(ICSSNode node) {
-		return CSSProfileFinder.getInstance().findProfileFor(node).getMetaModel();
-	}
-
-	public CSSMetaModel findMetaModelFor(IStructuredModel model) {
-		return CSSProfileFinder.getInstance().findProfileFor(model).getMetaModel();
-
-	}
-
-	// findMetaModelFor(Node) is not used.
-	// Even if it is used, it can be replaced with
-	// findMetaModelFor(IStructuredModel) easily
-
-	public CSSMetaModel findMetaModelFor(String baseLocation) {
-		return CSSProfileFinder.getInstance().findProfileFor(baseLocation).getMetaModel();
-	}
-
-	static private CSSMetaModelFinder fInstance = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMetaModelTraverser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMetaModelTraverser.java
deleted file mode 100644
index 4360870..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMetaModelTraverser.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-import java.util.Iterator;
-import java.util.Stack;
-
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-
-
-
-abstract public class CSSMetaModelTraverser {
-
-	/**
-	 * Constructor for Traverser.
-	 */
-	public CSSMetaModelTraverser() {
-		super();
-	}
-
-	public final void apply(CSSMMNode node) {
-		fTravStack = new Stack();
-
-		begin(node);
-		traverse(node);
-		end(node);
-	}
-
-	private final short traverse(CSSMMNode node) {
-		if (node == null) {
-			return TRAV_CONT;
-		}
-
-		fTravStack.push(node);
-
-		short rc;
-		rc = preNode(node);
-
-		if (rc == TRAV_CONT) {
-			Iterator i = node.getChildNodes();
-			while (i.hasNext()) {
-				CSSMMNode child = (CSSMMNode) i.next();
-				short rcChild = traverse(child);
-				if (rcChild == TRAV_STOP) {
-					fTravStack.pop();
-					return TRAV_STOP;
-				}
-			}
-		}
-		else if (rc == TRAV_STOP) {
-			fTravStack.pop();
-			return TRAV_STOP;
-		}
-
-		rc = postNode(node);
-
-		fTravStack.pop();
-		return (rc == TRAV_PRUNE) ? TRAV_CONT : rc;
-	}
-
-	protected void begin(CSSMMNode node) {
-
-	}
-
-	protected void end(CSSMMNode node) {
-
-	}
-
-	protected short preNode(CSSMMNode node) {
-		return TRAV_CONT;
-	}
-
-	protected short postNode(CSSMMNode node) {
-		return TRAV_CONT;
-	}
-
-
-	Stack fTravStack = null;
-
-	protected static final short TRAV_CONT = 0;
-	protected static final short TRAV_STOP = 1;
-	protected static final short TRAV_PRUNE = 2;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMetaModelUtil.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMetaModelUtil.java
deleted file mode 100644
index 901a0cd..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSMetaModelUtil.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.metamodel.CSSMMDescriptor;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMProperty;
-import org.eclipse.wst.css.core.metamodel.CSSMetaModel;
-import org.w3c.dom.css.CSSFontFaceRule;
-
-
-public class CSSMetaModelUtil {
-	public CSSMetaModelUtil(CSSMetaModel metamodel) {
-		super();
-		fMetaModel = metamodel;
-	}
-
-	public Iterator getProperties() {
-		return collectNodesByType(CSSMMNode.TYPE_PROPERTY);
-	}
-
-	public Iterator getDescriptors() {
-		return collectNodesByType(CSSMMNode.TYPE_DESCRIPTOR);
-	}
-
-	public Iterator collectNodesByType(String type) {
-		CSSMMTypeCollector collector = new CSSMMTypeCollector();
-		collector.apply(fMetaModel, type);
-		return collector.getNodes();
-	}
-
-	public CSSMMProperty getProperty(String propertyName) {
-		Iterator iProperty = getProperties();
-		while (iProperty.hasNext()) {
-			CSSMMNode node = (CSSMMNode) iProperty.next();
-			if (node.getName().equalsIgnoreCase(propertyName)) {
-				return (CSSMMProperty) node;
-			}
-		}
-		return null;
-	}
-
-	public CSSMMDescriptor getDescriptor(String descriptorName) {
-		Iterator iDescriptor = getDescriptors();
-		while (iDescriptor.hasNext()) {
-			CSSMMNode node = (CSSMMNode) iDescriptor.next();
-			if (node.getName().equalsIgnoreCase(descriptorName)) {
-				return (CSSMMDescriptor) node;
-			}
-		}
-		return null;
-	}
-
-	public CSSMMNode getMetaModelNodeFor(ICSSNode node) {
-		if (node instanceof ICSSStyleDeclaration) {
-			node = node.getParentNode();
-		}
-		if (node instanceof ICSSStyleDeclItem) {
-			ICSSNode parent = node.getParentNode();
-			if (parent != null) {
-				parent = parent.getParentNode();
-			}
-			if (parent instanceof ICSSStyleRule) {
-				return getProperty(((ICSSStyleDeclItem) node).getPropertyName());
-			}
-			else if (parent instanceof CSSFontFaceRule) {
-				return getDescriptor(((ICSSStyleDeclItem) node).getPropertyName());
-			}
-		}
-		if (node == null) {
-			return null;
-		}
-
-		if (fTypeMap == null) {
-			fTypeMap = new HashMap();
-			fTypeMap.put(new Short(ICSSNode.STYLERULE_NODE), CSSMMNode.TYPE_STYLE_RULE);
-			fTypeMap.put(new Short(ICSSNode.FONTFACERULE_NODE), CSSMMNode.TYPE_FONT_FACE_RULE);
-			fTypeMap.put(new Short(ICSSNode.PAGERULE_NODE), CSSMMNode.TYPE_PAGE_RULE);
-		}
-
-		String nodeType = (String) fTypeMap.get(new Short(node.getNodeType()));
-		if (nodeType == null) {
-			return null;
-		}
-
-		Iterator iNodes = collectNodesByType(nodeType);
-		if (iNodes.hasNext()) {
-			CSSMMNode targetNode = (CSSMMNode) iNodes.next();
-			if (!iNodes.hasNext()) { // it's only one
-				return targetNode;
-			}
-		}
-
-		return null;
-	}
-
-	public CSSMetaModel getMetaModel() {
-		return fMetaModel;
-	}
-
-
-	private CSSMetaModel fMetaModel = null;
-	private Map fTypeMap = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSNumberID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSNumberID.java
deleted file mode 100644
index 5bd9b1e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSNumberID.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-public interface CSSNumberID {
-
-	final static java.lang.String N_ANGLE = "angle";//$NON-NLS-1$
-	final static java.lang.String N_FREQUENCY = "frequency";//$NON-NLS-1$
-	final static java.lang.String N_INTEGER = "integer";//$NON-NLS-1$
-	final static java.lang.String N_LENGTH = "length";//$NON-NLS-1$
-	final static java.lang.String N_PERCENTAGE = "percentage";//$NON-NLS-1$
-	final static java.lang.String N_TIME = "time";//$NON-NLS-1$
-	final static java.lang.String N_HASH = "hash"; //$NON-NLS-1$
-	final static java.lang.String N_NUM = "number";//$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSProfileFinder.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSProfileFinder.java
deleted file mode 100644
index 6d6f926..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSProfileFinder.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.metamodel.CSSProfile;
-import org.eclipse.wst.css.core.metamodel.CSSProfileRegistry;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.contentproperties.ContentSettingsCreator;
-import org.eclipse.wst.sse.ui.contentproperties.IContentSettings;
-
-
-public class CSSProfileFinder {
-
-	final static private String CSS_PROFILE = "css-profile"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for CSSProfileFinder.
-	 */
-	private CSSProfileFinder() {
-		super();
-	}
-
-	static synchronized public CSSProfileFinder getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSProfileFinder();
-		}
-		return fInstance;
-	}
-
-	public CSSProfile findProfileFor(ICSSNode node) {
-		ICSSModel model = null;
-		if (node != null) {
-			ICSSDocument doc = node.getOwnerDocument();
-			if (doc != null) {
-				model = doc.getModel();
-			}
-		}
-		return findProfileFor(model);
-	}
-
-	public CSSProfile findProfileFor(IStructuredModel model) {
-		String baseLocation = null;
-		if (model instanceof ICSSModel) {
-			Object modelType = ((ICSSModel) model).getStyleSheetType();
-			if (modelType == ICSSModel.EXTERNAL) {
-				baseLocation = model.getBaseLocation();
-			}
-			else if (modelType == ICSSModel.EMBEDDED || modelType == ICSSModel.INLINE) {
-				baseLocation = model.getBaseLocation(); // may be null
-			}
-		}
-		else if (model != null) {
-			baseLocation = model.getBaseLocation();
-		}
-		return findProfileFor(baseLocation);
-	}
-
-	public CSSProfile findProfileFor(String baseLocation) {
-		CSSProfileRegistry reg = CSSProfileRegistry.getInstance();
-		CSSProfile profile = null;
-
-		if (baseLocation != null) {
-			IContentSettings cs = ContentSettingsCreator.create();
-			IPath path = new Path(baseLocation);
-			IResource resource = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
-			if (resource == null && path.segmentCount() > 1)
-				resource = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-			if (resource != null) {
-				IProject project = resource.getProject();
-				// at first, initialized with project settings
-				if (project != null) {
-					String profileID = cs.getProperty(project, CSS_PROFILE);
-					if (profileID != null && 0 < profileID.length()) {
-						profile = reg.getProfile(profileID);
-					}
-				}
-				// if resource settings exist, overwrite with project settings
-				String profileID = cs.getProperty(resource, CSS_PROFILE);
-				if (profileID != null && 0 < profileID.length()) {
-					profile = reg.getProfile(profileID);
-				}
-			}
-		}
-
-		return (profile != null) ? profile : reg.getDefaultProfile();
-	}
-
-	static private CSSProfileFinder fInstance = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSPropertyID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSPropertyID.java
deleted file mode 100644
index 252d637..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSPropertyID.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-public interface CSSPropertyID {
-
-	final static String P_AZIMUTH = "azimuth"; //$NON-NLS-1$
-	final static String P_BG = "background"; //$NON-NLS-1$
-	final static String P_BG_ATTACHMENT = "background-attachment"; //$NON-NLS-1$
-	final static String P_BG_COLOR = "background-color"; //$NON-NLS-1$
-	final static String P_BG_IMAGE = "background-image"; //$NON-NLS-1$
-	final static String P_BG_POSITION = "background-position"; //$NON-NLS-1$
-	final static String P_BG_REPEAT = "background-repeat"; //$NON-NLS-1$
-	final static String P_BORDER = "border"; //$NON-NLS-1$
-	final static String P_BORDER_COLLAPSE = "border-collapse"; //$NON-NLS-1$
-	final static String P_BORDER_COLOR = "border-color"; //$NON-NLS-1$
-	final static String P_BORDER_SPACING = "border-spacing"; //$NON-NLS-1$
-	final static String P_BORDER_STYLE = "border-style"; //$NON-NLS-1$
-	final static String P_BORDER_TOP = "border-top"; //$NON-NLS-1$
-	final static String P_BORDER_RIGHT = "border-right"; //$NON-NLS-1$
-	final static String P_BORDER_BOTTOM = "border-bottom"; //$NON-NLS-1$
-	final static String P_BORDER_LEFT = "border-left"; //$NON-NLS-1$
-	final static String P_BORDER_TOP_COLOR = "border-top-color"; //$NON-NLS-1$
-	final static String P_BORDER_RIGHT_COLOR = "border-right-color"; //$NON-NLS-1$
-	final static String P_BORDER_BOTTOM_COLOR = "border-bottom-color"; //$NON-NLS-1$
-	final static String P_BORDER_LEFT_COLOR = "border-left-color"; //$NON-NLS-1$
-	final static String P_BORDER_TOP_STYLE = "border-top-style"; //$NON-NLS-1$
-	final static String P_BORDER_RIGHT_STYLE = "border-right-style"; //$NON-NLS-1$
-	final static String P_BORDER_BOTTOM_STYLE = "border-bottom-style"; //$NON-NLS-1$
-	final static String P_BORDER_LEFT_STYLE = "border-left-style"; //$NON-NLS-1$
-	final static String P_BORDER_TOP_WIDTH = "border-top-width"; //$NON-NLS-1$
-	final static String P_BORDER_RIGHT_WIDTH = "border-right-width"; //$NON-NLS-1$
-	final static String P_BORDER_BOTTOM_WIDTH = "border-bottom-width"; //$NON-NLS-1$
-	final static String P_BORDER_LEFT_WIDTH = "border-left-width"; //$NON-NLS-1$
-	final static String P_BORDER_WIDTH = "border-width"; //$NON-NLS-1$
-	final static String P_BOTTOM = "bottom"; //$NON-NLS-1$
-	final static String P_CAPTION_SIDE = "caption-side"; //$NON-NLS-1$
-	final static String P_CLEAR = "clear"; //$NON-NLS-1$
-	final static String P_CLIP = "clip"; //$NON-NLS-1$
-	final static String P_COLOR = "color"; //$NON-NLS-1$
-	final static String P_CONTENT = "content"; //$NON-NLS-1$
-	final static String P_COUNTER_INCREMENT = "counter-increment"; //$NON-NLS-1$
-	final static String P_COUNTER_RESET = "counter-reset"; //$NON-NLS-1$
-	final static String P_CUE = "cue"; //$NON-NLS-1$
-	final static String P_CUE_AFTER = "cue-after"; //$NON-NLS-1$
-	final static String P_CUE_BEFORE = "cue-before"; //$NON-NLS-1$
-	final static String P_CURSOR = "cursor"; //$NON-NLS-1$
-	final static String P_DIRECTION = "direction"; //$NON-NLS-1$
-	final static String P_DISPLAY = "display"; //$NON-NLS-1$
-	final static String P_ELEVATION = "elevation"; //$NON-NLS-1$
-	final static String P_EMPTY_CELLS = "empty-cells"; //$NON-NLS-1$
-	final static String P_FLOAT = "float"; //$NON-NLS-1$
-	final static String P_FONT = "font"; //$NON-NLS-1$
-	final static String P_FONT_FAMILY = "font-family"; //$NON-NLS-1$
-	final static String P_FONT_SIZE = "font-size"; //$NON-NLS-1$
-	final static String P_FONT_SIZE_ADJUST = "font-size-adjust"; //$NON-NLS-1$
-	final static String P_FONT_STRETCH = "font-stretch"; //$NON-NLS-1$
-	final static String P_FONT_STYLE = "font-style"; //$NON-NLS-1$
-	final static String P_FONT_VARIANT = "font-variant"; //$NON-NLS-1$
-	final static String P_FONT_WEIGHT = "font-weight"; //$NON-NLS-1$
-	final static String P_HEIGHT = "height"; //$NON-NLS-1$
-	final static String P_LEFT = "left"; //$NON-NLS-1$
-	final static String P_LETTER_SPACING = "letter-spacing"; //$NON-NLS-1$
-	final static String P_LINE_HEIGHT = "line-height"; //$NON-NLS-1$
-	final static String P_LIST_STYLE = "list-style"; //$NON-NLS-1$
-	final static String P_LIST_STYLE_IMAGE = "list-style-image"; //$NON-NLS-1$
-	final static String P_LIST_STYLE_POSITION = "list-style-position"; //$NON-NLS-1$
-	final static String P_LIST_STYLE_TYPE = "list-style-type"; //$NON-NLS-1$
-	final static String P_MARGIN = "margin"; //$NON-NLS-1$
-	final static String P_MARGIN_TOP = "margin-top"; //$NON-NLS-1$
-	final static String P_MARGIN_RIGHT = "margin-right"; //$NON-NLS-1$
-	final static String P_MARGIN_BOTTOM = "margin-bottom"; //$NON-NLS-1$
-	final static String P_MARGIN_LEFT = "margin-left"; //$NON-NLS-1$
-	final static String P_MARKER_OFFSET = "marker-offset"; //$NON-NLS-1$
-	final static String P_MARKS = "marks"; //$NON-NLS-1$
-	final static String P_MAX_HEIGHT = "max-height"; //$NON-NLS-1$
-	final static String P_MAX_WIDTH = "max-width"; //$NON-NLS-1$
-	final static String P_MIN_HEIGHT = "min-height"; //$NON-NLS-1$
-	final static String P_MIN_WIDTH = "min-width"; //$NON-NLS-1$
-	final static String P_ORPHANS = "orphans"; //$NON-NLS-1$
-	final static String P_OUTLINE = "outline"; //$NON-NLS-1$
-	final static String P_OUTLINE_COLOR = "outline-color"; //$NON-NLS-1$
-	final static String P_OUTLINE_STYLE = "outline-style"; //$NON-NLS-1$
-	final static String P_OUTLINE_WIDTH = "outline-width"; //$NON-NLS-1$
-	final static String P_OVERFLOW = "overflow"; //$NON-NLS-1$
-	final static String P_PADDING = "padding"; //$NON-NLS-1$
-	final static String P_PADDING_TOP = "padding-top"; //$NON-NLS-1$
-	final static String P_PADDING_RIGHT = "padding-right"; //$NON-NLS-1$
-	final static String P_PADDING_BOTTOM = "padding-bottom"; //$NON-NLS-1$
-	final static String P_PADDING_LEFT = "padding-left"; //$NON-NLS-1$
-	final static String P_PAGE = "page"; //$NON-NLS-1$
-	final static String P_PAGE_BREAK_AFTER = "page-break-after"; //$NON-NLS-1$
-	final static String P_PAGE_BREAK_BEFORE = "page-break-before"; //$NON-NLS-1$
-	final static String P_PAGE_BREAK_INSIDE = "page-break-inside"; //$NON-NLS-1$
-	final static String P_PAUSE = "pause"; //$NON-NLS-1$
-	final static String P_PAUSE_AFTER = "pause-after"; //$NON-NLS-1$
-	final static String P_PAUSE_BEFORE = "pause-before"; //$NON-NLS-1$
-	final static String P_PITCH = "pitch"; //$NON-NLS-1$
-	final static String P_PITCH_RANGE = "pitch-range"; //$NON-NLS-1$
-	final static String P_PLAY_DURING = "play-during"; //$NON-NLS-1$
-	final static String P_POSITION = "position"; //$NON-NLS-1$
-	final static String P_QUOTES = "quotes"; //$NON-NLS-1$
-	final static String P_RICHNESS = "richness"; //$NON-NLS-1$
-	final static String P_RIGHT = "right"; //$NON-NLS-1$
-	final static String P_SIZE = "size"; //$NON-NLS-1$
-	final static String P_SPEAK = "speak"; //$NON-NLS-1$
-	final static String P_SPEAK_HEADER = "speak-header"; //$NON-NLS-1$
-	final static String P_SPEAK_NUMERAL = "speak-numeral"; //$NON-NLS-1$
-	final static String P_SPEAK_PUNCTUATION = "speak-punctuation"; //$NON-NLS-1$
-	final static String P_SPEECH_RATE = "speech-rate"; //$NON-NLS-1$
-	final static String P_STRESS = "stress"; //$NON-NLS-1$
-	final static String P_TABLE_LAYOUT = "table-layout"; //$NON-NLS-1$
-	final static String P_TEXT_ALIGN = "text-align"; //$NON-NLS-1$
-	final static String P_TEXT_DECORATION = "text-decoration"; //$NON-NLS-1$
-	final static String P_TEXT_INDENT = "text-indent"; //$NON-NLS-1$
-	final static String P_TEXT_SHADOW = "text-shadow"; //$NON-NLS-1$
-	final static String P_TEXT_TRANSFORM = "text-transform"; //$NON-NLS-1$
-	final static String P_TOP = "top"; //$NON-NLS-1$
-	final static String P_UNICODE_BIDI = "unicode-bidi"; //$NON-NLS-1$
-	final static String P_VERTICAL_ALIGN = "vertical-align"; //$NON-NLS-1$
-	final static String P_VISIBILITY = "visibility"; //$NON-NLS-1$
-	final static String P_VOICE_FAMILY = "voice-family"; //$NON-NLS-1$
-	final static String P_VOLUME = "volume"; //$NON-NLS-1$
-	final static String P_WHITE_SPACE = "white-space"; //$NON-NLS-1$
-	final static String P_WIDOWS = "widows"; //$NON-NLS-1$
-	final static String P_WIDTH = "width"; //$NON-NLS-1$
-	final static String P_WORD_SPACING = "word-spacing"; //$NON-NLS-1$
-	final static String P_Z_INDEX = "z-index"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSStringID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSStringID.java
deleted file mode 100644
index 6157886..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSStringID.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-public interface CSSStringID {
-
-	final static String S_ANY = "any"; //$NON-NLS-1$
-	final static String S_COUNTER_IDENTIFIER = "counter-identifier"; //$NON-NLS-1$
-	final static String S_FAMILY_NAME = "family-name"; //$NON-NLS-1$
-	final static String S_FONT_FACE_NAME = "font-face-name"; //$NON-NLS-1$
-	final static String S_PAGE_IDENTIFIER = "page-identifier"; //$NON-NLS-1$
-	final static String S_SPECIFIC_VOICE = "specific-voice"; //$NON-NLS-1$
-	final static String S_URANGE = "urange"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSUnitID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSUnitID.java
deleted file mode 100644
index 76cfac9..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/metamodel/util/CSSUnitID.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.metamodel.util;
-
-public interface CSSUnitID {
-
-	final static String U_CM = "cm";//$NON-NLS-1$
-	final static String U_DEG = "deg";//$NON-NLS-1$
-	final static String U_EMS = "em";//$NON-NLS-1$
-	final static String U_EXS = "ex";//$NON-NLS-1$
-	final static String U_GRAD = "grad";//$NON-NLS-1$
-	final static String U_HASH = "#";//$NON-NLS-1$
-	final static String U_HZ = "Hz";//$NON-NLS-1$
-	final static String U_IN = "in";//$NON-NLS-1$
-	// final static String U_INTEGER = "INTEGER";//$NON-NLS-1$
-	final static String U_KHZ = "kHz";//$NON-NLS-1$
-	final static String U_MM = "mm";//$NON-NLS-1$
-	final static String U_MS = "ms";//$NON-NLS-1$
-	// final static String U_NUMBER = "NUMBER";//$NON-NLS-1$
-	final static String U_PC = "pc";//$NON-NLS-1$
-	final static String U_PERCENTAGE = "%";//$NON-NLS-1$
-	final static String U_PT = "pt";//$NON-NLS-1$
-	final static String U_PX = "px";//$NON-NLS-1$
-	final static String U_RAD = "rad";//$NON-NLS-1$
-	final static String U_S = "s";//$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/modelhandler/CSSModelLoader.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/modelhandler/CSSModelLoader.java
deleted file mode 100644
index 476b7b2..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/modelhandler/CSSModelLoader.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.modelhandler;
-
-
-import org.eclipse.wst.css.core.internal.document.CSSModelImpl;
-import org.eclipse.wst.css.core.internal.encoding.CSSDocumentLoader;
-import org.eclipse.wst.sse.core.AbstractModelLoader;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-
-
-/**
- * 
- */
-public class CSSModelLoader extends AbstractModelLoader {
-	/**
-	 * CSSLoader constructor comment.
-	 */
-	public CSSModelLoader() {
-		super();
-	}
-
-	/*
-	 * @see ModelLoader#newModel()
-	 */
-	public IStructuredModel newModel() {
-		IStructuredModel model = new CSSModelImpl();
-		// now done in create
-		// model.setStructuredDocument(createNewStructuredDocument());
-		// model.setFactoryRegistry(defaultFactoryRegistry());
-		return model;
-	}
-
-	public ModelLoader newInstance() {
-		return new CSSModelLoader();
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		if (documentLoaderInstance == null) {
-			documentLoaderInstance = new CSSDocumentLoader();
-		}
-		return documentLoaderInstance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/modelhandler/ModelHandlerForCSS.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/modelhandler/ModelHandlerForCSS.java
deleted file mode 100644
index 27502e3..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/modelhandler/ModelHandlerForCSS.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.modelhandler;
-
-import org.eclipse.wst.css.core.internal.encoding.CSSDocumentCharsetDetector;
-import org.eclipse.wst.css.core.internal.encoding.CSSDocumentLoader;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.modelhandler.AbstractModelHandler;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-
-
-public class ModelHandlerForCSS extends AbstractModelHandler implements IModelHandler {
-
-	/**
-	 * Needs to match what's in plugin registry. In fact, can be overwritten
-	 * at run time with what's in registry! (so should never be 'final')
-	 */
-	static String AssociatedContentTypeID = "org.eclipse.wst.css.core.csssource"; //$NON-NLS-1$
-	/**
-	 * Needs to match what's in plugin registry. In fact, can be overwritten
-	 * at run time with what's in registry! (so should never be 'final')
-	 */
-	private static String ModelHandlerID = "org.eclipse.wst.css.core.modelhandler"; //$NON-NLS-1$
-
-	public ModelHandlerForCSS() {
-		super();
-		setId(ModelHandlerID);
-		setAssociatedContentTypeId(AssociatedContentTypeID);
-	}
-
-	public IDocumentCharsetDetector getEncodingDetector() {
-		return new CSSDocumentCharsetDetector();
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		return new CSSDocumentLoader();
-	}
-
-	/*
-	 * @see ContentTypeDescription#getModelLoader()
-	 */
-	public ModelLoader getModelLoader() {
-		return new CSSModelLoader();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/parser/CSSRegionContexts.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/parser/CSSRegionContexts.java
deleted file mode 100644
index 8b43dfb..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/parser/CSSRegionContexts.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.parser;
-
-/**
- */
-public interface CSSRegionContexts {
-	public static final String CSS_COMMENT = "COMMENT"; //$NON-NLS-1$
-	public static final String CSS_CDO = "CDO"; //$NON-NLS-1$
-	public static final String CSS_CDC = "CDC"; //$NON-NLS-1$
-	public static final String CSS_S = "S"; //$NON-NLS-1$
-
-	public static final String CSS_DELIMITER = "DELIMITER"; //$NON-NLS-1$
-	public static final String CSS_LBRACE = "LBRACE"; //$NON-NLS-1$
-	public static final String CSS_RBRACE = "RBRACE"; //$NON-NLS-1$
-
-	public static final String CSS_IMPORT = "IMPORT"; //$NON-NLS-1$
-	public static final String CSS_PAGE = "PAGE"; //$NON-NLS-1$
-	public static final String CSS_MEDIA = "MEDIA"; //$NON-NLS-1$
-	public static final String CSS_FONT_FACE = "FONT_FACE"; //$NON-NLS-1$
-	public static final String CSS_CHARSET = "CHARSET"; //$NON-NLS-1$
-	public static final String CSS_ATKEYWORD = "ATKEYWORD"; //$NON-NLS-1$
-
-	public static final String CSS_STRING = "STRING"; //$NON-NLS-1$
-	public static final String CSS_URI = "URI"; //$NON-NLS-1$
-	public static final String CSS_MEDIUM = "MEDIUM"; //$NON-NLS-1$
-	public static final String CSS_MEDIA_SEPARATOR = "MEDIA_SEPARATOR"; //$NON-NLS-1$
-
-	public static final String CSS_CHARSET_NAME = "CHARSET_NAME"; //$NON-NLS-1$
-
-	public static final String CSS_PAGE_SELECTOR = "CSS_PAGE_SELECTOR"; //$NON-NLS-1$
-
-	public static final String CSS_SELECTOR_ELEMENT_NAME = "SELECTOR_ELEMENT_NAME"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_UNIVERSAL = "SELECTOR_UNIVERSAL"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_PSEUDO = "SELECTOR_PSEUDO"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_CLASS = "SELECTOR_CLASS"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_ID = "SELECTOR_ID"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_COMBINATOR = "SELECTOR_COMBINATOR"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_SEPARATOR = "SELECTOR_SEPARATOR"; //$NON-NLS-1$
-
-	public static final String CSS_SELECTOR_ATTRIBUTE_START = "SELECTOR_ATTRIBUTE_START"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_ATTRIBUTE_END = "SELECTOR_ATTRIBUTE_END"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_ATTRIBUTE_NAME = "SELECTOR_ATTRIBUTE_NAME"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_ATTRIBUTE_VALUE = "SELECTOR_ATTRIBUTE_VALUE"; //$NON-NLS-1$
-	public static final String CSS_SELECTOR_ATTRIBUTE_OPERATOR = "SELECTOR_ATTRIBUTE_OPERATOR"; //$NON-NLS-1$
-
-	public static final String CSS_DECLARATION_PROPERTY = "DECLARATION_PROPERTY"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_SEPARATOR = "DECLARATION_SEPARATOR"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_DELIMITER = "DECLARATION_DELIMITER"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_IDENT = "DECLARATION_VALUE_IDENT"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_DIMENSION = "DECLARATION_VALUE_DIMENSION"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_PERCENTAGE = "DECLARATION_VALUE_PERCENTAGE"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_NUMBER = "DECLARATION_VALUE_NUMBER"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_FUNCTION = "DECLARATION_VALUE_FUNCTION"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE = "DECLARATION_VALUE_PARENTHESIS_CLOSE"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_STRING = "DECLARATION_VALUE_STRING"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_URI = "DECLARATION_VALUE_URI"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_HASH = "DECLARATION_VALUE_HASH"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_UNICODE_RANGE = "DECLARATION_VALUE_UNICODE_RANGE"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_IMPORTANT = "CSS_DECLARATION_VALUE_IMPORTANT"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_OPERATOR = "DECLARATION_VALUE_OPERATOR"; //$NON-NLS-1$
-	public static final String CSS_DECLARATION_VALUE_S = "DECLARATION_VALUE_S"; //$NON-NLS-1$
-
-	public static final String CSS_UNKNOWN = "UNKNOWN"; //$NON-NLS-1$
-
-	// For null object : CSSTokenizer never set this value
-	public static final String CSS_UNDEFINED = "UNDEFINED"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/parser/CSSTextParser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/parser/CSSTextParser.java
deleted file mode 100644
index 20cba6c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/parser/CSSTextParser.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.parser;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.wst.css.core.internal.parser.CSSTokenizer;
-
-
-
-public class CSSTextParser {
-	public static final int MODE_STYLESHEET = 0;
-	public static final int MODE_DECLARATION = 1;
-	public static final int MODE_DECLARATION_VALUE = 2;
-
-	public CSSTextParser(int parserMode) {
-		initializeParserMode(parserMode);
-	}
-
-	public CSSTextParser(int parserMode, Reader reader) {
-		initializeParserMode(parserMode);
-		reset(reader);
-	}
-
-	public CSSTextParser(int parserMode, String input) {
-		initializeParserMode(parserMode);
-		reset(input);
-	}
-
-	public void reset(Reader reader) {
-		getTokenizer().reset(reader, 0);
-	}
-
-	public void reset(String input) {
-		getTokenizer().reset(new StringReader(input), 0);
-	}
-
-	public CSSTextToken[] getTokens() {
-		List tokenList = getTokenList();
-		CSSTextToken[] tokens = new CSSTextToken[tokenList.size()];
-		return (CSSTextToken[]) tokenList.toArray(tokens);
-	}
-
-	public List getTokenList() {
-		List tokens;
-		try {
-			tokens = getTokenizer().parseText();
-		}
-		catch (IOException e) {
-			tokens = Collections.EMPTY_LIST;
-		}
-		return tokens;
-	}
-
-	private void initializeParserMode(int parserMode) {
-		int initialState;
-		int bufsize;
-		switch (parserMode) {
-			case MODE_STYLESHEET :
-				initialState = CSSTokenizer.YYINITIAL;
-				bufsize = CSSTokenizer.BUFFER_SIZE_NORMAL;
-				break;
-			case MODE_DECLARATION :
-				initialState = CSSTokenizer.ST_DECLARATION;
-				bufsize = CSSTokenizer.BUFFER_SIZE_NORMAL;
-				break;
-			case MODE_DECLARATION_VALUE :
-				initialState = CSSTokenizer.ST_DECLARATION_PRE_VALUE;
-				bufsize = CSSTokenizer.BUFFER_SIZE_SMALL;
-				break;
-			default :
-				return;
-		}
-		if (0 < initialState) {
-			CSSTokenizer tokenizer = getTokenizer();
-			tokenizer.setInitialState(initialState);
-			tokenizer.setInitialBufferSize(bufsize);
-		}
-	}
-
-	private CSSTokenizer getTokenizer() {
-		if (fTokenizer == null) {
-			fTokenizer = new CSSTokenizer();
-		}
-		return fTokenizer;
-	}
-
-	private CSSTokenizer fTokenizer = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/parser/CSSTextToken.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/parser/CSSTextToken.java
deleted file mode 100644
index e68b858..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/parser/CSSTextToken.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.parser;
-
-
-public class CSSTextToken {
-	public String kind;
-	public String image;
-	public int start;
-	public int length;
-
-	public String toString() {
-		return (image != null) ? image : ""; //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/preferences/CSSModelPreferenceNames.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/preferences/CSSModelPreferenceNames.java
deleted file mode 100644
index 69ca736..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/preferences/CSSModelPreferenceNames.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.preferences;
-
-public interface CSSModelPreferenceNames {
-	public static final String CASE_IDENTIFIER = "identifierCase"; //$NON-NLS-1$
-	public static final String CASE_PRESERVE_CASE = "preserveCase"; //$NON-NLS-1$
-	public static final String CASE_PROPERTY_NAME = "propNameCase"; //$NON-NLS-1$
-	public static final String CASE_PROPERTY_VALUE = "propValueCase"; //$NON-NLS-1$
-	public static final String FORMAT_BETWEEN_VALUE = "betweenValue"; //$NON-NLS-1$
-	public static final String FORMAT_PROP_POST_DELIM = "postDelim"; //$NON-NLS-1$
-	public static final String FORMAT_PROP_PRE_DELIM = "preDelim"; //$NON-NLS-1$
-	public static final String FORMAT_QUOTE = "quote"; //$NON-NLS-1$
-	public static final String FORMAT_QUOTE_IN_URI = "quoteInURI"; //$NON-NLS-1$
-	public static final String WRAPPING_NEWLINE_ON_OPEN_BRACE = "newLineOnOpenBrace"; //$NON-NLS-1$
-	public static final String WRAPPING_ONE_PER_LINE = "onePropertyPerLine"; //$NON-NLS-1$
-	public static final String WRAPPING_PROHIBIT_WRAP_ON_ATTR = "prohibitWrapOnAttr"; //$NON-NLS-1$
-
-	// CSS cleanup preference names
-	public static final String CLEANUP_CASE_IDENTIFIER = "cleanupIdentifierCase"; //$NON-NLS-1$
-	public static final String CLEANUP_CASE_PROPERTY_NAME = "cleanupPropNameCase"; //$NON-NLS-1$
-	public static final String CLEANUP_CASE_PROPERTY_VALUE = "cleanupPropValueCase"; //$NON-NLS-1$
-	public static final String CLEANUP_CASE_SELECTOR = "cleanupSelectorCase"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/preferences/CSSPreferenceHelper.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/preferences/CSSPreferenceHelper.java
deleted file mode 100644
index 2db57c4..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/preferences/CSSPreferenceHelper.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.preferences;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.internal.CSSCorePlugin;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-
-/**
- * this a temp dummy class to map to ModelPreferences
- */
-public class CSSPreferenceHelper {
-
-	/**
-	 * 
-	 */
-	public synchronized static CSSPreferenceHelper getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSPreferenceHelper();
-		}
-		return fInstance;
-	}
-
-	/**
-	 * 
-	 */
-	public static void createDefaultPreferences(Preferences prefs) {
-		// setBooleanAttribute(COLOR_ENABLED, true);
-		prefs.setDefault(CSSModelPreferenceNames.FORMAT_PROP_PRE_DELIM, 0);
-		prefs.setDefault(CSSModelPreferenceNames.FORMAT_PROP_POST_DELIM, 1);
-		prefs.setDefault(CSSModelPreferenceNames.FORMAT_QUOTE, "\"");//$NON-NLS-1$
-		prefs.setDefault(CSSModelPreferenceNames.FORMAT_BETWEEN_VALUE, " ");//$NON-NLS-1$
-		prefs.setDefault(CSSModelPreferenceNames.FORMAT_QUOTE_IN_URI, true);
-		prefs.setDefault(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE, true);
-		prefs.setDefault(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR, true);
-		prefs.setDefault(CSSModelPreferenceNames.WRAPPING_NEWLINE_ON_OPEN_BRACE, false);
-		prefs.setDefault(CSSModelPreferenceNames.CASE_IDENTIFIER, CommonModelPreferenceNames.UPPER);
-		prefs.setDefault(CSSModelPreferenceNames.CASE_PROPERTY_NAME, CommonModelPreferenceNames.LOWER);
-		prefs.setDefault(CSSModelPreferenceNames.CASE_PROPERTY_VALUE, CommonModelPreferenceNames.LOWER);
-		prefs.setDefault(CSSModelPreferenceNames.CASE_PRESERVE_CASE, true);
-		// setBooleanAttribute(ASSIST_CATEGORIZE, true);
-
-		// CSS cleanup preferences
-		prefs.setDefault(CSSModelPreferenceNames.CLEANUP_CASE_IDENTIFIER, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_NAME, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CSSModelPreferenceNames.CLEANUP_CASE_PROPERTY_VALUE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CSSModelPreferenceNames.CLEANUP_CASE_SELECTOR, CommonModelPreferenceNames.ASIS);
-	}
-
-	/**
-	 * 
-	 */
-	public String getBetweenValueString() {
-		return getPreferences().getString(CSSModelPreferenceNames.FORMAT_BETWEEN_VALUE);
-	}
-
-	/**
-	 * 
-	 */
-	public String getIndentString() {
-		Preferences prefs = getPreferences();
-		boolean bUseTab = prefs.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS);
-		if (bUseTab) {
-			return "\t"; //$NON-NLS-1$
-		}
-		else {
-			int n = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
-			StringBuffer buf = new StringBuffer();
-			while (0 < n--) {
-				buf.append(" "); //$NON-NLS-1$
-			}
-			return buf.toString();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public int getMaxLineWidth() {
-		Preferences prefs = getPreferences();
-		return prefs.getInt(CommonModelPreferenceNames.LINE_WIDTH);
-	}
-
-	/**
-	 * 
-	 */
-	public String getQuoteString(ICSSModel model) {
-		// nakamori_TODO css pref transition
-		return getPreferences().getString(CSSModelPreferenceNames.FORMAT_QUOTE);
-	}
-
-	/**
-	 * 
-	 */
-	public int getSpacesPostDelimiter() {
-		return getPreferences().getInt(CSSModelPreferenceNames.FORMAT_PROP_POST_DELIM);
-	}
-
-	/**
-	 * 
-	 */
-	public int getSpacesPreDelimiter() {
-		return getPreferences().getInt(CSSModelPreferenceNames.FORMAT_PROP_PRE_DELIM);
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isIdentUpperCase() {
-		if (getPreferences().getInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.UPPER)
-			return true;
-		else
-			return false;
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isNewLineOnOpenBrace() {
-		return getPreferences().getBoolean(CSSModelPreferenceNames.WRAPPING_NEWLINE_ON_OPEN_BRACE);
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isOnePropertyPerLine() {
-		return getPreferences().getBoolean(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE);
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isPreserveCase() {
-		return getPreferences().getBoolean(CSSModelPreferenceNames.CASE_PRESERVE_CASE);
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isProhibitWrapOnAttr() {
-		return getPreferences().getBoolean(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR);
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isPropNameUpperCase() {
-		if (getPreferences().getInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.UPPER)
-			return true;
-		else
-			return false;
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isPropValueUpperCase() {
-		if (getPreferences().getInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.UPPER)
-			return true;
-		else
-			return false;
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isQuoteInURI() {
-		return getPreferences().getBoolean(CSSModelPreferenceNames.FORMAT_QUOTE_IN_URI);
-	}
-
-	/**
-	 * 
-	 */
-	protected void setBetweenValueString(String newBetweenValueString) {
-		getPreferences().setValue(CSSModelPreferenceNames.FORMAT_BETWEEN_VALUE, newBetweenValueString);
-	}
-
-	/**
-	 * 
-	 */
-	protected void setIdentUpperCase(boolean newIdentUpperCase) {
-		int theCase = CommonModelPreferenceNames.LOWER;
-		if (newIdentUpperCase)
-			theCase = CommonModelPreferenceNames.UPPER;
-		getPreferences().setValue(CSSModelPreferenceNames.CASE_IDENTIFIER, theCase);
-	}
-
-	/**
-	 * 
-	 */
-	protected void setOnePropertyPerLine(boolean newOnePropertyPerLine) {
-		getPreferences().setValue(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE, newOnePropertyPerLine);
-	}
-
-	/**
-	 * 
-	 */
-	protected void setPreserveCase(boolean newPreserveCase) {
-		getPreferences().setValue(CSSModelPreferenceNames.CASE_PRESERVE_CASE, newPreserveCase);
-	}
-
-	/**
-	 * 
-	 */
-	protected void setProhibitWrapOnAttr(boolean newProhibitWrapOnAttr) {
-		getPreferences().setValue(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR, newProhibitWrapOnAttr);
-	}
-
-	/**
-	 * 
-	 */
-	protected void setPropNameUpperCase(boolean newPropNameUpperCase) {
-		int theCase = CommonModelPreferenceNames.LOWER;
-		if (newPropNameUpperCase)
-			theCase = CommonModelPreferenceNames.UPPER;
-		getPreferences().setValue(CSSModelPreferenceNames.CASE_PROPERTY_NAME, theCase);
-	}
-
-	/**
-	 * 
-	 */
-	protected void setPropValueUpperCase(boolean newPropValueUpperCase) {
-		int theCase = CommonModelPreferenceNames.LOWER;
-		if (newPropValueUpperCase)
-			theCase = CommonModelPreferenceNames.UPPER;
-		getPreferences().setValue(CSSModelPreferenceNames.CASE_PROPERTY_VALUE, theCase);
-	}
-
-	/**
-	 * 
-	 */
-	public void setQuoteString(String quote) {
-		getPreferences().setValue(CSSModelPreferenceNames.FORMAT_QUOTE, quote);
-	}
-
-	/**
-	 * 
-	 */
-	public void setSpacesPostDelimiter(int num) {
-		getPreferences().setValue(CSSModelPreferenceNames.FORMAT_PROP_POST_DELIM, num);
-	}
-
-	/**
-	 * 
-	 */
-	public void setSpacesPreDelimiter(int num) {
-		getPreferences().setValue(CSSModelPreferenceNames.FORMAT_PROP_PRE_DELIM, num);
-	}
-
-	private Preferences getPreferences() {
-		CSSCorePlugin cssModelPlugin = CSSCorePlugin.getDefault();
-		return cssModelPlugin.getPluginPreferences();
-	}
-
-	private CSSPreferenceHelper() {
-		super();
-	}
-
-	private static CSSPreferenceHelper fInstance = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/AbstractCssTraverser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/AbstractCssTraverser.java
deleted file mode 100644
index b418efe..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/AbstractCssTraverser.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-import java.util.ArrayList;
-import java.util.Stack;
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleSheet;
-
-
-
-/**
- * 
- */
-public abstract class AbstractCssTraverser {
-
-	public static short TRAV_CONT = 0;
-	public static short TRAV_PRUNE = 1;
-	public static short TRAV_STOP = 2;
-	protected java.util.Stack travStack;
-	private boolean fTraverseImported = false;
-	private boolean fTraverseImportFirst = false;
-	private java.util.Vector traversedSheets;
-
-	/**
-	 * CssPropCMNode constructor comment.
-	 */
-	public AbstractCssTraverser() {
-		super();
-	}
-
-	/**
-	 * @param model
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSModel
-	 */
-	public final void apply(ICSSModel model) {
-		apply(model.getDocument());
-	}
-
-	/**
-	 * @param root
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	public final void apply(ICSSNode root) {
-		travStack = new Stack();
-		if (fTraverseImported) {
-			traversedSheets = new Vector();
-			if (root != null && root.getOwnerDocument() != null && root.getOwnerDocument().getNodeType() == ICSSNode.STYLESHEET_NODE) {
-				traversedSheets.add(root.getOwnerDocument());
-			}
-		}
-
-		// first call begin()
-		begin(root);
-
-		// traverse
-		traverse(root);
-
-		// last call end()
-		end(root);
-	}
-
-	/**
-	 * @return short
-	 * @param node
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	protected void begin(ICSSNode node) {
-	}
-
-	/**
-	 * @param node
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	protected void end(ICSSNode node) {
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public final boolean isTraverseImported() {
-		return fTraverseImported;
-	}
-
-	/**
-	 * @return short
-	 * @param node
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	protected short postNode(ICSSNode node) {
-		return (short) 0;
-	}
-
-	/**
-	 * @return short
-	 * @param node
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	protected short preNode(ICSSNode node) {
-		return (short) 0;
-	}
-
-	/**
-	 * @param newTraverseImported
-	 *            boolean
-	 */
-	public final void setTraverseImported(boolean newTraverseImported) {
-		fTraverseImported = newTraverseImported;
-	}
-
-	/**
-	 * @param newTraverseImportFirst
-	 *            boolean
-	 */
-	public final void setTraverseImportFirst(boolean newTraverseImportFirst) {
-		fTraverseImportFirst = newTraverseImportFirst;
-	}
-
-	/**
-	 * @return short
-	 * @param node
-	 *            com.ibm.sed.css.interfaces.ICSSNode
-	 */
-	private final short traverse(ICSSNode node) {
-		if (node == null)
-			return TRAV_CONT;
-
-		travStack.push(node);
-
-		// pre-action
-		short ret = preNode(node);
-
-		if (ret == TRAV_CONT) {
-			if (fTraverseImported && (node.getNodeType() == ICSSNode.IMPORTRULE_NODE)) {
-				ICSSImportRule rule = (ICSSImportRule) node;
-				// traverse external style-sheet
-				ICSSStyleSheet sheet = (ICSSStyleSheet) rule.getStyleSheet();
-				if (sheet != null && !traversedSheets.contains(sheet)) { // prevent
-																			// loop
-					traversedSheets.add(sheet);
-					short retExt = traverse(sheet);
-					if (retExt == TRAV_STOP) {
-						travStack.pop();
-						return retExt;
-					}
-				}
-			}
-
-			// collect children
-			ArrayList children = new ArrayList();
-			ICSSNode child = node.getFirstChild();
-			if (fTraverseImportFirst) {
-				ArrayList others = new ArrayList();
-
-				while (child != null) {
-					if (child.getNodeType() == ICSSNode.IMPORTRULE_NODE)
-						children.add(child);
-					else
-						others.add(child);
-					child = child.getNextSibling();
-				}
-				children.addAll(others);
-			}
-			else {
-				while (child != null) {
-					children.add(child);
-					child = child.getNextSibling();
-				}
-			}
-
-			// traverse children
-			for (int i = 0; i < children.size(); i++) {
-				child = (ICSSNode) children.get(i);
-				short retChild = traverse(child);
-				if (retChild == TRAV_STOP) {
-					travStack.pop();
-					return retChild;
-				}
-			}
-		}
-		else if (ret == TRAV_STOP) {
-			travStack.pop();
-			return ret;
-		}
-
-		// post-action
-		ret = postNode(node);
-
-		travStack.pop();
-		return (ret == TRAV_PRUNE) ? TRAV_CONT : ret;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSClassTraverser.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSClassTraverser.java
deleted file mode 100644
index 042a314..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSClassTraverser.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSMediaRule;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.document.ICSSSelectorItem;
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-import org.eclipse.wst.css.core.document.ICSSSimpleSelector;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.document.ICSSStyleSheet;
-
-
-/**
- * 
- */
-public class CSSClassTraverser extends AbstractCssTraverser {
-
-	ArrayList fClassNames;
-
-	/**
-	 * 
-	 */
-	public CSSClassTraverser() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	private void addClassNames(ICSSStyleRule rule) {
-		ICSSSelectorList selectorList = rule.getSelectors();
-		Iterator iSelector = selectorList.getIterator();
-		while (iSelector.hasNext()) {
-			ICSSSelector selector = (ICSSSelector) iSelector.next();
-			Iterator iItem = selector.getIterator();
-			while (iItem.hasNext()) {
-				ICSSSelectorItem item = (ICSSSelectorItem) iItem.next();
-				if (item.getItemType() == ICSSSelectorItem.SIMPLE) {
-					ICSSSimpleSelector sel = (ICSSSimpleSelector) item;
-					int nClasses = sel.getNumOfClasses();
-					for (int iClass = 0; iClass < nClasses; iClass++) {
-						String className = sel.getClass(iClass);
-						if (!fClassNames.contains(className))
-							fClassNames.add(className);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void begin(ICSSNode node) {
-		if (fClassNames == null)
-			fClassNames = new ArrayList();
-	}
-
-	/**
-	 * 
-	 */
-	protected void end(ICSSNode node) {
-	}
-
-	/**
-	 * 
-	 */
-	public Collection getClassNames() {
-		return (fClassNames != null) ? fClassNames : Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * 
-	 */
-	protected short postNode(ICSSNode node) {
-		return TRAV_CONT;
-	}
-
-	/**
-	 * 
-	 */
-	protected short preNode(ICSSNode node) {
-		short ret;
-		if (node instanceof ICSSStyleRule) {
-			addClassNames((ICSSStyleRule) node);
-			ret = TRAV_PRUNE;
-		}
-		else if (node instanceof ICSSStyleSheet || node instanceof ICSSMediaRule || node instanceof ICSSImportRule) {
-			ret = TRAV_CONT;
-		}
-		else {
-			ret = TRAV_PRUNE;
-		}
-		return ret;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSLinkConverter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSLinkConverter.java
deleted file mode 100644
index 84a8a81..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSLinkConverter.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.css.CSSPrimitiveValue;
-import org.w3c.dom.css.CSSValue;
-
-
-/**
- * 
- */
-public class CSSLinkConverter extends org.eclipse.wst.css.core.util.AbstractCssTraverser {
-	private static final String URL_BEGIN = "url("; //$NON-NLS-1$
-	private static final String URL_END = ")"; //$NON-NLS-1$
-	private static final String EMPTY = ""; //$NON-NLS-1$
-	private static final String D_QUOTE = "\""; //$NON-NLS-1$
-	private static final String S_QUOTE = "\'"; //$NON-NLS-1$
-
-	IStructuredModel baseModel;
-
-	/**
-	 * 
-	 */
-	public CSSLinkConverter(IStructuredModel model) {
-		super();
-		baseModel = model;
-		if (model instanceof ICSSModel && ((ICSSModel) model).getStyleSheetType() != ICSSModel.EXTERNAL) {
-			XMLNode node = (XMLNode) ((ICSSModel) model).getOwnerDOMNode();
-			baseModel = node.getModel();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public static String addFunc(String value) {
-		if (!value.trim().toLowerCase().startsWith(URL_BEGIN)) {
-			// pa_TODO css pref
-			CSSPreferenceHelper mgr = CSSPreferenceHelper.getInstance();
-			String quote = mgr.getQuoteString(null);
-			value = CSSUtil.stripQuotes(value);
-			quote = CSSUtil.detectQuote(value, quote);
-			String str = URL_BEGIN;
-			if (mgr.isPropValueUpperCase())
-				str = str.toUpperCase();
-			StringBuffer buf = new StringBuffer(str);
-			buf.append(quote);
-			buf.append(value);
-			buf.append(quote);
-			buf.append(URL_END);
-			return buf.toString();
-		}
-		else
-			return value;
-	}
-
-
-
-	/**
-	 * 
-	 */
-	protected void begin(ICSSNode node) {
-		if (baseModel == null) {
-			baseModel = node.getOwnerDocument().getModel();
-			if (baseModel instanceof ICSSModel && ((ICSSModel) baseModel).getStyleSheetType() != ICSSModel.EXTERNAL) {
-				XMLNode xmlNode = (XMLNode) ((ICSSModel) baseModel).getOwnerDOMNode();
-				baseModel = xmlNode.getModel();
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private static boolean isUrl(String source) {
-		if (source == null)
-			return false;
-		source = source.trim().toLowerCase();
-		return source.startsWith(URL_BEGIN);
-	}
-
-	/**
-	 * 
-	 */
-	protected short preNode(ICSSNode node) {
-		if (node.getNodeType() == ICSSNode.PRIMITIVEVALUE_NODE) {
-			toAbsolute((CSSValue) node);
-		}
-		else if (node.getNodeType() == ICSSNode.IMPORTRULE_NODE) {
-			ICSSImportRule iRule = (ICSSImportRule) node;
-			iRule.setHref(toAbsolute(addFunc(iRule.getHref())));
-		}
-		return TRAV_CONT;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 * @param value
-	 *            java.lang.String
-	 */
-	public static String removeFunc(String value) {
-		if (value == null)
-			return EMPTY;
-		String field = value.trim();
-		// first : tear "url(....)"
-		if (field.toLowerCase().startsWith(URL_BEGIN)) {
-			int url = field.toLowerCase().indexOf(URL_BEGIN);
-			int endParenthesis = field.lastIndexOf(URL_END);
-			if (endParenthesis > url) {
-				field = field.substring(url + 4, endParenthesis);
-			}
-			else
-				field = field.substring(url + 4);
-		}
-		return field.trim();
-	}
-
-	/**
-	 * 
-	 */
-	public static String stripFunc(String value) {
-		if (value == null)
-			return EMPTY;
-		// first : tear "url(....)"
-		String field = removeFunc(value);
-		// second : tear quotations
-		if (field.toLowerCase().startsWith(D_QUOTE)) {
-			int quote = field.indexOf(D_QUOTE);
-			int end = field.lastIndexOf(D_QUOTE);
-			if (end > quote) {
-				field = field.substring(quote + 1, end);
-			}
-			else
-				field = field.substring(quote + 1);
-		}
-		else if (field.toLowerCase().startsWith(S_QUOTE)) {
-			int quote = field.indexOf(S_QUOTE);
-			int end = field.lastIndexOf(S_QUOTE);
-			if (end > quote) {
-				field = field.substring(quote + 1, end);
-			}
-			else
-				field = field.substring(quote + 1);
-		}
-
-		return field.trim();
-	}
-
-	/**
-	 * 
-	 */
-	public String toAbsolute(String source) {
-		if (isUrl(source)) {
-			String url = CSSPathService.getAbsoluteURL(baseModel, stripFunc(source));
-			return (url != null) ? addFunc(url) : (URL_BEGIN + URL_END);
-		}
-		return source;
-	}
-
-	/**
-	 * 
-	 */
-	public boolean toAbsolute(CSSValue node) {
-		if (node instanceof ICSSPrimitiveValue) {
-			ICSSPrimitiveValue value = (ICSSPrimitiveValue) node;
-			if (value.getPrimitiveType() == CSSPrimitiveValue.CSS_URI) {
-				value.setValue(stripFunc(toAbsolute(URL_BEGIN + value.getStringValue() + URL_END)));
-				return true;
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSPathService.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSPathService.java
deleted file mode 100644
index 4d4af85..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSPathService.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-/**
- * 
- */
-public class CSSPathService {
-
-	// Constants
-	private static final String FILEURLSCHEME = "file";//$NON-NLS-1$
-	private static final String URLCOLON = ":"; //$NON-NLS-1$
-	private static final String FILEURLPREFIX = FILEURLSCHEME + URLCOLON + "//";//$NON-NLS-1$
-	private static final String URLSEPARATOR = "/"; //$NON-NLS-1$
-
-	/**
-	 * @return java.lang.String
-	 * @param baseModel
-	 *            com.ibm.sed.model.IStructuredModel
-	 * @param ref
-	 *            java.lang.String
-	 */
-	public static String getAbsoluteURL(IStructuredModel baseModel, String ref) {
-		String absLink = URLModelProviderCSS.resolveURI(baseModel, ref, true);
-		String url = absLink;
-		if (absLink != null) { // if it has not scheme, we must add "file"
-								// scheme
-			try {
-				new java.net.URL(absLink);
-			}
-			catch (java.net.MalformedURLException e) {
-				IPath path = new Path(absLink);
-				if (path != null)
-					url = toURL(path);
-			}
-		}
-		return url;
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.core.resources.IFile
-	 * @param location
-	 *            java.lang.String
-	 */
-	public static IFile location2File(String location) {
-		Path path = new Path(location);
-		IFile file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
-		if (file == null && path.segmentCount() > 1)
-			file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-		return file;
-	}
-
-	/**
-	 * Gets a file URL for the path.
-	 */
-	private static String toURL(IPath path) {
-		path = new Path(path.toFile().getAbsolutePath());
-		if (path.isUNC() == true) {
-			// it's UNC. return file://host/foo/bar/baz.html
-			return FILEURLSCHEME + URLCOLON + path.toString();
-		}
-		return FILEURLPREFIX + URLSEPARATOR + path.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSSelectorListFactory.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSSelectorListFactory.java
deleted file mode 100644
index 633e1fc..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSSelectorListFactory.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-import org.eclipse.wst.css.core.internal.document.CSSSelectorListImpl;
-
-
-public class CSSSelectorListFactory {
-	static synchronized public CSSSelectorListFactory getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSSelectorListFactory();
-		}
-		return fInstance;
-	}
-
-	public ICSSSelectorList createSelectorList(String selectorString) {
-		return new CSSSelectorListImpl(selectorString);
-	}
-
-
-	private CSSSelectorListFactory() {
-		super();
-	}
-
-	private static CSSSelectorListFactory fInstance;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSStyleDeclarationFactory.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSStyleDeclarationFactory.java
deleted file mode 100644
index 0aec11a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSStyleDeclarationFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.internal.document.CSSStyleDeclarationFactoryContext;
-
-
-/**
- * 
- */
-public class CSSStyleDeclarationFactory extends CSSStyleDeclarationFactoryContext {
-
-	private static CSSStyleDeclarationFactory fInstance = null;
-
-	/**
-	 * CSSStyleDeclarationFactory constructor comment.
-	 */
-	private CSSStyleDeclarationFactory() {
-		super();
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.model.interfaces.ICSSStyleDeclaration
-	 * @param decl
-	 *            org.eclipse.wst.css.core.model.interfaces.ICSSStyleDeclaration
-	 */
-	public ICSSStyleDeclaration createStyleDeclaration(ICSSStyleDeclaration decl) {
-		if (decl == null) {
-			return null;
-		}
-		// 11/22/2004, nsd, nothing's done with this variable
-//		ICSSStyleDeclaration newNode = createStyleDeclaration();
-
-		// 05/11/2004, dmw, unnecessary cast, looks like it was always
-		// returning null!
-		// so something is probably amiss
-		// if (!(newNode instanceof ICSSDocument)) {
-		return null;
-		// }
-		// fOwnerDocument = newNode;
-		// cloneChildNodes(decl, newNode);
-		// return newNode;
-	}
-
-	/**
-	 * 
-	 */
-	public synchronized static CSSStyleDeclarationFactory getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSStyleDeclarationFactory();
-		}
-		return fInstance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSUtil.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSUtil.java
deleted file mode 100644
index 34805ea..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSUtil.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import java.util.Enumeration;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.internal.Logger;
-import org.eclipse.wst.css.core.internal.parser.CSSRegionUtil;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-
-public class CSSUtil {
-
-	/**
-	 * 
-	 */
-	public static void debugOut(String str) {
-		Logger.log(Logger.WARNING, "css warning: " + str); //$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	// public static Vector extractMediaContents(Vector regions) {
-	// Vector media = new Vector();
-	// if (regions == null) { return media; }
-	//
-	// boolean bReady = true;
-	// for (Iterator i = regions.iterator(); i.hasNext(); ) {
-	// ITextRegion region = (ITextRegion)i.next();
-	// if (region == null) { continue; }
-	// String type = region.getType();
-	// if (bReady) {
-	// if (type == IDENT) {
-	// media.addElement(region.getText());
-	// bReady = false;
-	// }
-	// } else {
-	// if (type == COMMA) {
-	// bReady = true;
-	// }
-	// }
-	// }
-	//
-	// return media;
-	// }
-	/**
-	 * 
-	 */
-	public static String extractStringContents(String text) {
-		return stripQuotes(text);
-	}
-
-	/**
-	 * 
-	 */
-	public static String extractUriContents(String text) {
-		String contents = text.trim();
-		if (contents.toLowerCase().startsWith("url(") && //$NON-NLS-1$
-					contents.toLowerCase().endsWith(")")) {//$NON-NLS-1$
-			// strip "url(", ")"
-			contents = contents.substring(4, contents.length() - 1);
-		}
-		contents = stripQuotes(contents);
-
-		return contents;
-	}
-
-	/**
-	 * 
-	 */
-	public static IStructuredDocumentRegion findNextSignificantNode(IStructuredDocumentRegion startNode) {
-		if (startNode == null) {
-			return null;
-		}
-		IStructuredDocumentRegion node = startNode.getNext();
-		while (node != null) {
-			String type = getStructuredDocumentRegionType(node);
-			if (type != CSSRegionContexts.CSS_S && type != CSSRegionContexts.CSS_COMMENT && type != CSSRegionContexts.CSS_CDO && type != CSSRegionContexts.CSS_CDC) {
-				return node;
-			}
-			node = node.getNext();
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	public static IStructuredDocumentRegion findNodeBackward(IStructuredDocumentRegion startNode, IStructuredDocumentRegion endNode, String type) {
-		IStructuredDocumentRegion node;
-		for (node = startNode; node != null; node = node.getPrevious()) {
-			if (node.getStartOffset() < endNode.getStartOffset()) {
-				node = null;
-				break;
-			}
-			else if (getStructuredDocumentRegionType(node) == type) {
-				break;
-			}
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	public static IStructuredDocumentRegion findNodeForward(IStructuredDocumentRegion startNode, IStructuredDocumentRegion endNode, String type) {
-		IStructuredDocumentRegion node;
-		for (node = startNode; node != null; node = node.getNext()) {
-			if (endNode.getStartOffset() < node.getStartOffset()) {
-				node = null;
-				break;
-			}
-			else if (getStructuredDocumentRegionType(node) == type) {
-				break;
-			}
-		}
-		return node;
-	}
-
-	/**
-	 * 
-	 */
-	public static IStructuredDocumentRegion findPreviousSignificantNode(IStructuredDocumentRegion startNode) {
-		if (startNode == null) {
-			return null;
-		}
-		IStructuredDocumentRegion node = startNode.getPrevious();
-		while (node != null) {
-			String type = getStructuredDocumentRegionType(node);
-			if (type != CSSRegionContexts.CSS_S && type != CSSRegionContexts.CSS_COMMENT && type != CSSRegionContexts.CSS_CDO && type != CSSRegionContexts.CSS_CDC) {
-				return node;
-			}
-			node = node.getPrevious();
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 */
-	public static String getClassString(Object object) {
-		if (object == null) {
-			return "null"; //$NON-NLS-1$
-		}
-		else {
-			String name = object.getClass().toString();
-			int lastPeriod = name.lastIndexOf('.');
-			return name.substring(lastPeriod + 1);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public static String getStructuredDocumentRegionType(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null) {
-			return CSSRegionContexts.CSS_UNDEFINED;
-		}
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null || regions.size() == 0) {
-			return CSSRegionContexts.CSS_UNDEFINED;
-		}
-		ITextRegion region = regions.get(0);
-		return region.getType();
-	}
-
-	/**
-	 * 
-	 */
-	public static int getLengthDifference(IStructuredDocumentRegionList newNodes, IStructuredDocumentRegionList oldNodes) {
-		int newLen = getTextLength(newNodes);
-		int oldLen = getTextLength(oldNodes);
-		return newLen - oldLen;
-	}
-
-	/**
-	 * 
-	 */
-	public static String getRegionText(IStructuredDocumentRegion flatNode, ITextRegionList regions) {
-		StringBuffer buf = new StringBuffer();
-		if (regions != null) {
-			for (Iterator i = regions.iterator(); i.hasNext();) {
-				ITextRegion region = (ITextRegion) i.next();
-				if (region == null) {
-					continue;
-				}
-				buf.append(flatNode.getText(region));
-			}
-		}
-
-		return buf.toString();
-	}
-
-	/**
-	 * 
-	 */
-	public static int getTextLength(IStructuredDocumentRegionList nodes) {
-		int length = 0;
-
-		if (nodes != null) {
-			for (Enumeration e = nodes.elements(); e.hasMoreElements();) {
-				IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement();
-				if (flatNode != null) {
-					length += flatNode.getText().length();
-				}
-			}
-		}
-
-		return length;
-	}
-
-	/**
-	 * 
-	 * @param token
-	 * @return
-	 */
-	public static boolean isLength(CSSTextToken token) {
-		if (token == null)
-			return false;
-		if (token.kind == CSSRegionContexts.CSS_DECLARATION_VALUE_DIMENSION)
-			return true;
-		if (token.kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-			double number = Double.parseDouble(token.image);
-			if (number == 0.0)
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	public static boolean isSelectorText(IStructuredDocumentRegion region) {
-		String type = getStructuredDocumentRegionType(region);
-		if (CSSRegionUtil.isSelectorBegginingType(type)) {
-			return true;
-		}
-		else if (type == CSSRegionContexts.CSS_UNKNOWN) {
-			// String text = flatNode.getText();
-			// if (text != null && text.indexOf('.') == 0) {
-			return true;
-			// }
-		}
-
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	public static String stripQuotes(String text) {
-		if (text == null)
-			return null;
-		String contents = text.trim();
-		if (2 <= contents.length()) {
-			char first = contents.charAt(0);
-			char last = contents.charAt(contents.length() - 1);
-			if ((first == '\"' && last == '\"') || (first == '\'' && last == '\'')) {
-				contents = contents.substring(1, contents.length() - 1);
-			}
-		}
-		return contents;
-	}
-
-	public static String detectQuote(String source, String defaultQuote) {
-		if (source == null)
-			return defaultQuote;
-		final String D_QUOTE = "\""; //$NON-NLS-1$
-		final String S_QUOTE = "\'"; //$NON-NLS-1$
-
-		int dIndex = source.indexOf(D_QUOTE);
-		int sIndex = source.indexOf(S_QUOTE);
-		if (dIndex < 0 && sIndex < 0) {
-			return defaultQuote;
-		}
-		else if (dIndex < 0) {
-			return D_QUOTE;
-		}
-		else if (sIndex < 0) {
-			return S_QUOTE;
-		}
-		else if (dIndex < sIndex) {
-			return S_QUOTE;
-		}
-		else {
-			return D_QUOTE;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public static void stripSurroundingSpace(ITextRegionList regions) {
-		if (regions == null) {
-			return;
-		}
-		while (!regions.isEmpty()) {
-			ITextRegion region = regions.get(0);
-			String type = region.getType();
-			if (type == CSSRegionContexts.CSS_S || type == CSSRegionContexts.CSS_COMMENT) {
-				regions.remove(0);
-			}
-			else {
-				break;
-			}
-		}
-		while (!regions.isEmpty()) {
-			ITextRegion region = regions.get(regions.size() - 1);
-			String type = region.getType();
-			if (type == CSSRegionContexts.CSS_S || type == CSSRegionContexts.CSS_COMMENT) {
-				regions.remove(region);
-			}
-			else {
-				break;
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/ImportRuleCollector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/ImportRuleCollector.java
deleted file mode 100644
index 429f892..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/ImportRuleCollector.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleSheet;
-
-
-/**
- * 
- */
-public class ImportRuleCollector extends org.eclipse.wst.css.core.util.AbstractCssTraverser {
-
-	protected java.util.Vector rules = new Vector();
-	protected ICSSStyleSheet target = null;
-
-	/**
-	 * 
-	 */
-	public ImportRuleCollector() {
-		super();
-		setTraverseImported(false);
-	}
-
-	/**
-	 * 
-	 */
-	public ImportRuleCollector(ICSSStyleSheet sheet) {
-		super();
-		target = sheet;
-	}
-
-	/**
-	 * 
-	 */
-	public java.util.Vector getRules() {
-		return rules;
-	}
-
-	/**
-	 * 
-	 */
-	protected short preNode(ICSSNode node) {
-		if (node.getNodeType() == ICSSNode.MEDIARULE_NODE || node.getNodeType() == ICSSNode.STYLESHEET_NODE) {
-			return TRAV_CONT;
-		}
-		if (node.getNodeType() == ICSSNode.IMPORTRULE_NODE) {
-			if (target != null) {
-				ICSSImportRule imp = (ICSSImportRule) node;
-				if (imp.getStyleSheet() != target)
-					return TRAV_PRUNE;
-			}
-			if (!rules.contains(node))
-				rules.add(node);
-		}
-		return TRAV_PRUNE;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/ImportedCollector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/ImportedCollector.java
deleted file mode 100644
index 86dfc67..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/ImportedCollector.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-
-
-/**
- * 
- */
-public class ImportedCollector extends org.eclipse.wst.css.core.util.AbstractCssTraverser {
-
-	protected java.util.Vector externals = new Vector();
-
-	/**
-	 * 
-	 */
-	public ImportedCollector() {
-		super();
-		setTraverseImported(true);
-	}
-
-	/**
-	 * 
-	 */
-	public List getExternals() {
-		return externals;
-	}
-
-	/**
-	 * 
-	 */
-	protected short preNode(ICSSNode node) {
-		if (node.getNodeType() == ICSSNode.MEDIARULE_NODE) {
-			return TRAV_CONT;
-		}
-		if (node.getNodeType() == ICSSNode.STYLESHEET_NODE) {
-			if (!externals.contains(node)) {
-				externals.add(node);
-			}
-			return TRAV_CONT;
-		}
-		if (node.getNodeType() == ICSSNode.IMPORTRULE_NODE) {
-			return TRAV_CONT;
-		}
-		return TRAV_PRUNE;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/RegionIterator.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/RegionIterator.java
deleted file mode 100644
index 572f87d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/RegionIterator.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-/**
- * 
- */
-public class RegionIterator {
-
-	private IStructuredDocumentRegion documentRegion = null;
-	private IStructuredDocumentRegion curDocumentRegion = null;
-	private int current = -1;
-
-	/**
-	 * 
-	 */
-	public RegionIterator(IStructuredDocument structuredDocument, int index) {
-		super();
-
-		reset(structuredDocument, index);
-	}
-
-	/**
-	 * 
-	 */
-	public RegionIterator(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		super();
-		reset(flatNode, region);
-	}
-
-	/**
-	 * 
-	 */
-	public IStructuredDocumentRegion getStructuredDocumentRegion() {
-		return curDocumentRegion;
-	}
-
-	/**
-	 * 
-	 */
-	public boolean hasNext() {
-		if (documentRegion == null)
-			return false;
-		if (current < 0)
-			return false;
-		if (current < documentRegion.getRegions().size())
-			return true;
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	public boolean hasPrev() {
-		// the same as hasNext()
-		return hasNext();
-	}
-
-	/**
-	 * 
-	 */
-	public ITextRegion next() {
-		if (documentRegion == null)
-			return null;
-		if (current < 0 || documentRegion.getRegions() == null || documentRegion.getRegions().size() <= current)
-			return null;
-
-		ITextRegion region = documentRegion.getRegions().get(current);
-		curDocumentRegion = documentRegion;
-
-		if (current >= documentRegion.getRegions().size() - 1) {
-			documentRegion = documentRegion.getNext();
-			current = -1;
-		}
-		current++;
-
-		return region;
-	}
-
-	/**
-	 * 
-	 */
-	public ITextRegion prev() {
-		if (documentRegion == null)
-			return null;
-		if (current < 0 || documentRegion.getRegions() == null || documentRegion.getRegions().size() <= current)
-			return null;
-
-		ITextRegion region = documentRegion.getRegions().get(current);
-		curDocumentRegion = documentRegion;
-
-		if (current == 0) {
-			documentRegion = documentRegion.getPrevious();
-			if (documentRegion != null)
-				current = documentRegion.getRegions().size();
-			else
-				current = 0;
-		}
-		current--;
-
-		return region;
-	}
-
-	/**
-	 * 
-	 */
-	public void reset(IStructuredDocument structuredDocument, int index) {
-		documentRegion = structuredDocument.getRegionAtCharacterOffset(index);
-		curDocumentRegion = documentRegion;
-		if (documentRegion != null) {
-			ITextRegion region = documentRegion.getRegionAtCharacterOffset(index);
-			current = documentRegion.getRegions().indexOf(region);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void reset(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		if (region != null && flatNode != null) {
-			this.documentRegion = flatNode;
-			curDocumentRegion = flatNode;
-			current = flatNode.getRegions().indexOf(region);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/SelectionCollector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/SelectionCollector.java
deleted file mode 100644
index 3f8dee9..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/SelectionCollector.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.core.IndexedRegion;
-
-
-/**
- */
-public class SelectionCollector extends org.eclipse.wst.css.core.util.AbstractCssTraverser {
-
-	int start, end;
-	List selectedNodes;
-
-	/**
-	 * SelectionCollector constructor comment.
-	 */
-	public SelectionCollector() {
-		super();
-	}
-
-	/**
-	 */
-	protected void begin(ICSSNode node) {
-		selectedNodes = new ArrayList();
-	}
-
-	/**
-	 */
-	public List getSelectedNodes() {
-		if (selectedNodes == null)
-			return new ArrayList();
-		else
-			return new ArrayList(selectedNodes);
-	}
-
-	/**
-	 */
-	protected short preNode(ICSSNode node) {
-		IndexedRegion iNode = (IndexedRegion) node;
-		if (iNode.getStartOffset() <= end && start < iNode.getEndOffset()) {
-			if (node.getNodeType() != ICSSNode.STYLESHEET_NODE) {
-				IndexedRegion iFirstChild = (IndexedRegion) node.getFirstChild();
-				IndexedRegion iLastChild = (IndexedRegion) node.getLastChild();
-				if (iFirstChild == null || start < iFirstChild.getStartOffset() || iLastChild.getEndOffset() <= end)
-					selectedNodes.add(node);
-			}
-			return TRAV_CONT;
-		}
-		if (iNode.getStartOffset() > end)
-			return TRAV_STOP;
-		else
-			return TRAV_PRUNE;
-	}
-
-	/**
-	 */
-	public void setRegion(int newStart, int newEnd) {
-		start = newStart;
-		end = newEnd;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/SelectorValidator.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/SelectorValidator.java
deleted file mode 100644
index 80ca477..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/SelectorValidator.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.document.ICSSSelectorItem;
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-import org.eclipse.wst.css.core.document.ICSSSimpleSelector;
-import org.eclipse.wst.css.core.internal.document.CSSSelectorListImpl;
-
-
-public class SelectorValidator {
-
-	/**
-	 * Constructor for SelectorValidator.
-	 */
-	public SelectorValidator(String text) {
-		super();
-		fText = text;
-	}
-
-	/**
-	 * Returns true if the text consists of one CLASS selector. syntax check
-	 * is a little loose (.123 is passed)
-	 * 
-	 * ".class" -> true ".123" -> true ".class , .class2" -> false
-	 * ".class.class2" -> false ".123{}" -> false
-	 */
-	public boolean isClass() {
-		ICSSSimpleSelector selector = getOnlyOneSimpleSelector();
-		if (selector != null) {
-			return (selector.getName().length() == 0 && selector.getNumOfAttributes() == 0 && selector.getNumOfClasses() == 1 && selector.getNumOfIDs() == 0 && selector.getNumOfPseudoNames() == 0);
-		}
-		return false;
-	}
-
-	/**
-	 * Returns true if the text consists of one ID selector.
-	 * 
-	 * "#ID" -> true "H1#myID" -> false "#abc{}" -> false
-	 */
-	public boolean isID() {
-		ICSSSimpleSelector selector = getOnlyOneSimpleSelector();
-		if (selector != null) {
-			return (selector.getName().length() == 0 && selector.getNumOfAttributes() == 0 && selector.getNumOfClasses() == 0 && selector.getNumOfIDs() == 1 && selector.getNumOfPseudoNames() == 0);
-		}
-		return false;
-	}
-
-	/**
-	 * overall check
-	 * 
-	 * "P#hoge98 + *:hover > A:link, A.external:visited" -> true "H1 H2 {}" ->
-	 * false
-	 */
-	public boolean isValid() {
-		parse();
-		return (fSelectorList != null && fSelectorList.getErrorCount() == 0);
-	}
-
-	private ICSSSimpleSelector getOnlyOneSimpleSelector() {
-		parse();
-		if (fSelectorList != null && fSelectorList.getLength() == 1) {
-			ICSSSelector selector = fSelectorList.getSelector(0);
-			int nItem = selector.getLength();
-			if (nItem == 1) {
-				ICSSSelectorItem item = selector.getItem(0);
-				if (item instanceof ICSSSimpleSelector) {
-					return (ICSSSimpleSelector) item;
-				}
-			}
-		}
-		return null;
-	}
-
-	private void parse() {
-		if (fSelectorList == null) {
-			if (fText != null) {
-				fSelectorList = new CSSSelectorListImpl(fText);
-			}
-		}
-	}
-
-
-	private String fText = null;
-	private ICSSSelectorList fSelectorList = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/SelectorsCollector.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/SelectorsCollector.java
deleted file mode 100644
index 26143c0..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/SelectorsCollector.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-
-
-/**
- * 
- */
-public class SelectorsCollector extends AbstractCssTraverser {
-
-	protected Vector selectors = new Vector();
-	protected Vector selectorsToAvoid = null;
-
-	/**
-	 * 
-	 */
-	public SelectorsCollector() {
-		super();
-		setTraverseImported(false);
-	}
-
-	/**
-	 * 
-	 */
-	public void addSelectorToAvoid(ICSSSelector selToAvoid) {
-		if (selToAvoid == null)
-			return;
-		if (selectorsToAvoid == null)
-			selectorsToAvoid = new Vector();
-
-		if (!selectorsToAvoid.contains(selToAvoid))
-			selectorsToAvoid.add(selToAvoid);
-	}
-
-	/**
-	 * 
-	 */
-	public void addSelectorToAvoid(ICSSStyleRule rule) {
-		ICSSSelectorList list = rule.getSelectors();
-		Iterator it = list.getIterator();
-		while (it.hasNext()) {
-			ICSSSelector sel = (ICSSSelector) it.next();
-			addSelectorToAvoid(sel);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public java.util.List getSelectors() {
-		return selectors;
-	}
-
-	/**
-	 * 
-	 */
-	protected short preNode(ICSSNode node) {
-		if (node.getNodeType() == ICSSNode.STYLERULE_NODE) {
-			ICSSStyleRule rule = (ICSSStyleRule) node;
-			ICSSSelectorList list = rule.getSelectors();
-			Iterator it = list.getIterator();
-			while (it.hasNext()) {
-				Object obj = it.next();
-				if (selectorsToAvoid != null && selectorsToAvoid.contains(obj))
-					continue;
-				if (!selectors.contains(obj))
-					selectors.add(obj);
-			}
-			return TRAV_PRUNE;
-		}
-		else if (node.getNodeType() == ICSSNode.STYLESHEET_NODE) {
-			return TRAV_CONT;
-		}
-		return TRAV_PRUNE;
-	}
-
-	/**
-	 * 
-	 */
-	public void setSelectorsToAvoid(java.util.Vector newSelectorsToAvoid) {
-		selectorsToAvoid = newSelectorsToAvoid;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/URLHelper.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/URLHelper.java
deleted file mode 100644
index d4a3a0e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/URLHelper.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.wst.sse.core.util.PathHelper;
-
-/**
- * Hyperlink manager. Proved useful services like link conversion An utility
- * class to help other parsre modules to convert links
- */
-public class URLHelper {
-
-	private static final String FILE_PROTOCOL_SEARCH_SIG = "file:/";//$NON-NLS-1$
-	private static final String FILE_PROTOCOL_SIG = "file:///";//$NON-NLS-1$
-	private static String RELATIVE_PATH_SIG = "..";//$NON-NLS-1$	
-	private static final String FORWARD_SLASH = "/";//$NON-NLS-1$	
-	private URL fBaseUrl = null; // base url. assumed to a absulute url
-	private String fBaseUrlString = null;
-	private URL fDocRoot = null;
-	private String fDocRootString = null;
-
-	public URLHelper(String baseUrl) {
-		initialize(baseUrl, null);
-	}
-
-	public URLHelper(String baseUrl, String docRoot) {
-		initialize(baseUrl, docRoot);
-	}
-
-	/**
-	 * Special adujust for file url
-	 */
-	public String adjustFileProtocolUrl(String url) {
-		if (url.startsWith(FILE_PROTOCOL_SEARCH_SIG)) {
-			url = FILE_PROTOCOL_SIG + url.substring(FILE_PROTOCOL_SEARCH_SIG.length());
-		}
-		return url;
-	}
-
-	private String convert(String url, URL baseUrl, String urlString) {
-		String absUrl = url;
-		if (baseUrl != null) {
-			try {
-				// do special thing file protocol
-				if (baseUrl.getProtocol().equalsIgnoreCase("file")) {//$NON-NLS-1$
-					// remove the fist
-					if (url.startsWith("/"))//$NON-NLS-1$
-						url = url.substring(1);
-					// empty string causes malformed exception
-					String tempUrl = url;
-					if ("".equals(url))//$NON-NLS-1$
-						tempUrl = " ";//$NON-NLS-1$
-					URL newUrl = new URL(baseUrl, tempUrl);
-					// do extra math for file protocol to support ie based
-					absUrl = adjustFileProtocolUrl(newUrl.toString());
-				}
-				else {
-					URL newUrl = new URL(fBaseUrl, url);
-					absUrl = newUrl.toString();
-				}
-			}
-			catch (MalformedURLException me) {
-			}
-			// convert everything to forward slash
-			absUrl = PathHelper.switchToForwardSlashes(absUrl);
-		}
-		else {
-			// the given may be based on file
-			if (urlString != null) {
-				// swich the url to proper direction
-				url = PathHelper.removeLeadingSeparator(url);
-				File fle = new File(urlString, url);
-				absUrl = fle.getPath();
-
-			}
-			// convert everything to forward slash
-			absUrl = PathHelper.switchToForwardSlashes(absUrl);
-
-			// if the path ends with ".." we need to add a terminating slash
-			// or
-			// else the link will not be resolved correctly. (it will look
-			// like
-			// /url/path/to/somewhere/.. instead of /url/path/to/
-			if (absUrl.endsWith(FORWARD_SLASH + RELATIVE_PATH_SIG)) {
-				absUrl += FORWARD_SLASH;
-			}
-		}
-
-		// resolve relative path to absolute
-		absUrl = PathHelper.adjustPath(absUrl);
-		return absUrl;
-	}
-
-	private void initialize(String baseUrl, String docRoot) {
-		//
-		// Find out whether baes url is a url or file name
-		//
-		try {
-			String temp = PathHelper.appendTrailingURLSlash(baseUrl);
-			fBaseUrl = new URL(temp);
-		}
-		catch (MalformedURLException mue) {
-		}
-		if (fBaseUrl == null) {
-			// it is a file based url
-			fBaseUrlString = baseUrl;
-		}
-
-		// do the same for doc root
-		if (docRoot != null) {
-			try {
-				String temp = PathHelper.appendTrailingURLSlash(docRoot);
-				fDocRoot = new URL(temp);
-
-			}
-			catch (MalformedURLException mue) {
-			}
-			if (fDocRoot == null) {
-				// it is a file based url
-				fDocRootString = docRoot;
-			}
-		}
-	}
-
-	/**
-	 * Convert the given url to a abolute url using the base url Input url can
-	 * be of any othe following format Absolute urls -------------- .
-	 * http://www.foo.com/ . http://www.foo.com . http://www.foo.com/folder .
-	 * http://www.foo.com/folder/ . http://www.foo.com/index.html .
-	 * http://www.foo.com/folder/index.html .
-	 * http://www.foo.com/folder/../index.html Url relative on document root
-	 * ------------------------- . / . /folder . /index.html .
-	 * /folder/index.html . /folder/../index.html
-	 * 
-	 * Self relative ------------------------- . index.html . ./index.html .
-	 * ../index.html . folder/index.html . folder/../index.html
-	 * 
-	 * file based url adds another dimension since it doesn't have a document
-	 * root So uses fDocRoot if provided
-	 */
-	public String toAbsolute(String url) {
-		String absUrl = url;
-
-		URL newUrl = null;
-		// try to see it is a absolute url
-		try {
-			newUrl = new URL(url);
-		}
-		catch (MalformedURLException me) {
-		}
-		// if document root is provided
-		// do special case
-		if (newUrl == null) {
-			if (fDocRoot == null && fDocRootString == null) {
-				// try to check relative url
-				absUrl = convert(url, fBaseUrl, fBaseUrlString);
-			}
-			else {
-				// doc root is provided
-				// if the url is a doc root based use doc root
-
-				if (url.startsWith("/"))//$NON-NLS-1$
-					absUrl = convert(url, fDocRoot, fDocRootString);
-				else
-					absUrl = convert(url, fBaseUrl, fBaseUrlString);
-
-			}
-		}
-		return absUrl;
-	}
-
-	/**
-	 * Convert from an absolute url to relative url based on the given url
-	 * Both are assumed to be ablsute url
-	 */
-	public String toRelative(String url, String documentUrl) {
-		String output = url;
-		// assuming both urls are absolute
-		try {
-			URL inputUrl = new URL(url);
-			URL docUrl = new URL(documentUrl);
-			// filter out if the urls are not fro the same domain
-			if (!inputUrl.getProtocol().equals(docUrl.getProtocol()) || !inputUrl.getHost().equals(docUrl.getHost()) || inputUrl.getPort() != docUrl.getPort())
-				return output;
-			// both url are coming form the same place
-			// strip off the domain parts
-			String inputName = inputUrl.getFile();
-			String docName = docUrl.getFile();
-			output = PathHelper.convertToRelative(inputName, docName);
-		}
-		catch (MalformedURLException me) {
-			output = null;
-		}
-		return output;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/URLModelProviderCSS.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/URLModelProviderCSS.java
deleted file mode 100644
index a11952d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/URLModelProviderCSS.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util;
-
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.nio.charset.UnsupportedCharsetException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.exceptions.ResourceAlreadyExists;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.util.PathHelper;
-import org.eclipse.wst.sse.core.util.ProjectResolver;
-import org.eclipse.wst.sse.core.util.URIResolver;
-
-/**
- */
-public class URLModelProviderCSS {
-
-	private static final int GET_MODEL_FOR_READ = 1;
-	// private static final int GET_NEW_MODEL_FOR_READ = 2;
-	private static final int GET_MODEL_FOR_EDIT = 3;
-	// private static final int GET_NEW_MODEL_FOR_EDIT = 4;
-	// private static final int READ_BUFFER_SIZE = 4096;
-	// IModelManager
-	private IModelManager modelManager = null;
-
-	/**
-	 */
-	public URLModelProviderCSS() {
-		super();
-
-		// obtain model manager
-		modelManager = StructuredModelManager.getModelManager();
-	}
-
-	/**
-	 * Calculate ID from a filename. This must be same as
-	 * FileModelProvider.calculateId(IFile)
-	 */
-	private static String calculateId(IPath fullIPath) {
-		return fullIPath.toString();
-	}
-
-	/**
-	 * <code>baseModel</code>: the model containing the link
-	 * <code>ref</code>: the link URL string
-	 */
-	private IStructuredModel getCommonModelFor(final IStructuredModel baseModel, final String ref, final int which) throws IOException {
-		// first, create absolute url
-		String absURL = resolveURI(baseModel, ref, true);
-		if ((absURL == null) || (absURL.length() == 0)) {
-			return null;
-		}
-
-		// need to remove file:// scheme if necessary
-		// see com.ibm.sed.util.ProjectResolver.getLocationByURI()
-		try {
-			final URL aURL = new URL(absURL);
-			// An actual URL was given, only file:/// is supported
-			// resolve it by finding the file it points to
-			if (!aURL.getProtocol().equals("platform")) { //$NON-NLS-1$
-				if (aURL.getProtocol().equals("file") && (aURL.getHost().equals("localhost") || aURL.getHost().length() == 0)) { //$NON-NLS-2$//$NON-NLS-1$
-					absURL = aURL.getFile();
-					final IPath ipath = new Path(absURL);
-					// if path has a device, and if it begins with
-					// IPath.SEPARATOR, remove it
-					final String device = ipath.getDevice();
-					if ((device != null) && (device.length() > 0)) {
-						if (device.charAt(0) == IPath.SEPARATOR) {
-							final String newDevice = device.substring(1);
-							absURL = ipath.setDevice(newDevice).toString();
-						}
-					}
-
-				}
-			}
-		}
-		catch (MalformedURLException mfuExc) {
-		}
-
-		// next, decide project
-		IProject project = null;
-		final IPath fullIPath = new Path(absURL);
-		IWorkspaceRoot workspace = ResourcesPlugin.getWorkspace().getRoot();
-		IContainer container = workspace.getContainerForLocation(fullIPath);
-		if (container != null) {
-			// fullIPath doesn't exist in workspace
-			project = container.getProject();
-		}
-
-		// If HTML document has a link to an extern CSS which is not in
-		// IProject
-		// workspace.getContainerForLoation() may return null. We need to take
-		// care
-		// of this case
-
-		// now, get absURL's IFile
-		if ((project != null) && (project.getLocation().isPrefixOf(fullIPath) == false)) {
-			// it's at outside of Project
-			return null;
-		}
-
-		IStructuredModel model = null;
-		if (project != null) {
-			IPath filePath = fullIPath.removeFirstSegments(project.getLocation().segmentCount());
-			IFile file = (filePath != null && !filePath.isEmpty()) ? project.getFile(filePath) : null;
-			if (file == null) {
-				return null;
-			}
-
-			// obtain model
-			if (which == GET_MODEL_FOR_EDIT) {
-				model = getModelForEdit(file);
-			}
-			else if (which == GET_MODEL_FOR_READ) {
-				model = getModelForRead(file);
-			}
-
-			// setting synchronization stamp is IModelManager's client's
-			// responsibility
-			if (model != null && model.getSynchronizationStamp() == IResource.NULL_STAMP)
-				model.resetSynchronizationStamp(file);
-		}
-		else {
-			String id = null;
-			InputStream inStream = null;
-			// obtain resolver
-			URIResolver resolver = (project != null) ? (URIResolver) project.getAdapter(URIResolver.class) : null;
-			if (resolver == null) {
-				// ProjectResolver can take care of the case if project is
-				// null.
-				resolver = new ProjectResolver(project);
-			}
-			if (resolver == null) {
-				return null;
-			}
-
-			// there is no project. we can't expect IProject help to create
-			// id/inputStream
-			File file = fullIPath.toFile();
-
-			// obatin id
-			id = calculateId(fullIPath);
-
-			// obtain InputStream
-			try {
-				inStream = new FileInputStream(file);
-			}
-			catch (FileNotFoundException fnfe) {
-				// the file does not exist, or we don't have read permission
-				return null;
-			}
-
-			// obtain model
-			try {
-				if (which == GET_MODEL_FOR_EDIT) {
-					model = getModelManager().getModelForEdit(id, inStream, resolver);
-				}
-				else if (which == GET_MODEL_FOR_READ) {
-					model = getModelManager().getModelForRead(id, inStream, resolver);
-				}
-			}
-			catch (UnsupportedEncodingException ue) {
-			}
-			catch (IOException ioe) {
-			}
-			finally {
-				// close now !
-				if (inStream != null) {
-					inStream.close();
-				}
-			}
-		}
-
-		// set locationid
-		if (model != null && model.getBaseLocation() == null) {
-			model.setBaseLocation(fullIPath.toString());
-		}
-
-		return model;
-	}
-
-	/**
-	 * <code>baseModel</code>: the model containing the link
-	 * <code>ref</code>: the link URL string
-	 */
-	public IStructuredModel getModelForEdit(IStructuredModel baseModel, String ref) throws IOException {
-		return getCommonModelFor(baseModel, ref, GET_MODEL_FOR_EDIT);
-	}
-
-	/**
-	 */
-	private IStructuredModel getModelForEdit(IFile file) throws IOException {
-		if (file == null)
-			return null;
-		IModelManager manager = getModelManager();
-
-		// create a fake InputStream
-		IStructuredModel model = null;
-		try {
-			model = manager.getModelForEdit(file);
-		}
-		catch (UnsupportedCharsetException ex) {
-			try {
-				model = manager.getModelForEdit(file, EncodingRule.FORCE_DEFAULT);
-			}
-			catch (IOException ioe) {
-			}
-			catch (CoreException ce) {
-			}
-		}
-		catch (CoreException ce) {
-		}
-		return model;
-	}
-
-	/**
-	 * <code>baseModel</code>: the model containing the link
-	 * <code>ref</code>: the link URL string
-	 */
-	public IStructuredModel getModelForRead(IStructuredModel baseModel, String ref) throws UnsupportedEncodingException, IOException {
-		return getCommonModelFor(baseModel, ref, GET_MODEL_FOR_READ);
-	}
-
-	/**
-	 */
-	private IStructuredModel getModelForRead(IFile file) throws IOException {
-		if (file == null)
-			return null;
-		IModelManager manager = getModelManager();
-
-		// create a fake InputStream
-		IStructuredModel model = null;
-		try {
-			model = manager.getModelForRead(file);
-		}
-		catch (UnsupportedCharsetException ex) {
-			try {
-				model = manager.getModelForRead(file, EncodingRule.FORCE_DEFAULT);
-			}
-			catch (IOException ioe) {
-			}
-			catch (CoreException ce) {
-			}
-		}
-		catch (CoreException ce) {
-		}
-		return model;
-	}
-
-	/**
-	 */
-	private IModelManager getModelManager() {
-		return modelManager;
-	}
-
-	public IStructuredModel getNewModelForEdit(IFile iFile) {
-		if (iFile == null)
-			return null;
-		IModelManager manager = getModelManager();
-		if (manager == null)
-			return null;
-
-		IStructuredModel model = null;
-		try {
-			model = manager.getNewModelForEdit(iFile, false);
-		}
-		catch (IOException ex) {
-		}
-		catch (ResourceInUse riu) {
-		}
-		catch (ResourceAlreadyExists rae) {
-		}
-		catch (CoreException ce) {
-		}
-		return model;
-	}
-
-	public IStructuredModel getNewModelForRead(IFile iFile) {
-		if (iFile == null)
-			return null;
-		IModelManager manager = getModelManager();
-		if (manager == null)
-			return null;
-
-		IStructuredModel model = null;
-		try {
-			model = manager.getNewModelForEdit(iFile, false);
-		}
-		catch (IOException ex) {
-		}
-		catch (ResourceInUse riu) {
-		}
-		catch (ResourceAlreadyExists rae) {
-		}
-		catch (CoreException ce) {
-		}
-		return model;
-	}
-
-	/**
-	 * <code>baseModel</code>: the model containing the link
-	 * <code>ref</code>: the link URL string
-	 * <code>resolveCrossProjectLinks</code>: If resolveCrossProjectLinks
-	 * is set to true, then this method will properly resolve the URI if it is
-	 * a valid URI pointing to another (appropriate) project.
-	 */
-	public static String resolveURI(IStructuredModel baseModel, String ref, boolean resolveCrossProjectLinks) {
-		if (baseModel == null)
-			return null;
-
-		// get resolver in Model
-		final URIResolver resolver = baseModel.getResolver();
-
-		// resolve to absolute url
-		final String absurl = (resolver != null) ? resolver.getLocationByURI(ref, resolveCrossProjectLinks) : null;
-		if ((resolver != null) && (absurl == null) && (ref != null) && (ref.trim().length() > 0) && (ref.trim().charAt(0) == '/')) {
-			// to reach here means :
-			// ref is a Docroot relative
-			// resolver can't resolve ref
-			// so that href is a broken and should not create model
-			return null;
-		}
-		if ((absurl != null) && (absurl.length() > 0)) {
-			return absurl;
-		}
-
-		// maybe ref is at outside of the Project
-		// obtain docroot;
-		final IContainer container = (resolver != null) ? resolver.getRootLocation() : null;
-		String docroot = null;
-		if (container != null) {
-			docroot = container.getLocation().toString();
-		}
-		if (docroot == null) {
-			docroot = baseModel.getBaseLocation();
-		}
-		if (docroot == null) {
-			// should not be
-			return null;
-		}
-
-		// obtain document url
-		String modelBaseLocation = baseModel.getBaseLocation();
-		if ((modelBaseLocation == null) || (modelBaseLocation.length() == 0)) {
-			// fallback...
-			modelBaseLocation = baseModel.getId();
-		}
-		if ((modelBaseLocation == null) || (modelBaseLocation.length() == 0)) {
-			// i can't resolve uri !
-			return null;
-		}
-
-		// resolve url
-		URLHelper helper = new URLHelper(PathHelper.getContainingFolderPath(modelBaseLocation), PathHelper.getContainingFolderPath(PathHelper.appendTrailingURLSlash(docroot)));
-		return helper.toAbsolute(ref);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BackgroundPositionXSubStyleAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BackgroundPositionXSubStyleAdapter.java
deleted file mode 100644
index edf94f0..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BackgroundPositionXSubStyleAdapter.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSValue;
-import org.eclipse.wst.css.core.document.ICSSValueList;
-import org.eclipse.wst.css.core.internal.contentmodel.IValID;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMSubProperty;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMUtil;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-import org.w3c.dom.css.CSSPrimitiveValue;
-import org.w3c.dom.css.CSSValue;
-
-
-/**
- * for horizontal value of 'background-position'
- */
-public class BackgroundPositionXSubStyleAdapter implements ISubPropertyAdapter {
-
-	/**
-	 * 
-	 */
-	public BackgroundPositionXSubStyleAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected CSSTextToken[] correctMeaningToken(CSSTextToken[] src) {
-		java.util.ArrayList list = new java.util.ArrayList();
-		for (int i = 0; i < src.length; i++) {
-			if (src[i].kind != CSSRegionContexts.CSS_S && src[i].kind != CSSRegionContexts.CSS_DECLARATION_VALUE_S && src[i].kind != CSSRegionContexts.CSS_COMMENT)
-				list.add(src[i]);
-		}
-		CSSTextToken[] ret = new CSSTextToken[list.size()];
-		list.toArray(ret);
-		return ret;
-	}
-
-	/**
-	 * 
-	 */
-	public String get(ICSS2Properties properties) {
-		String str = null;
-		Object obj = properties.get(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_POSITION));
-		if (obj != null) {
-			PropCMProperty propX = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X);
-			PropCMProperty propY = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y);
-			if (obj instanceof ICSSValueList) {
-				ICSSValueList list = (ICSSValueList) obj;
-				ICSSValue value = (ICSSValue) list.item(0);
-				if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) {
-					ICSSPrimitiveValue prim = (ICSSPrimitiveValue) value;
-					if (prim.getPrimitiveType() == CSSPrimitiveValue.CSS_IDENT) {
-						// check not top or bottom
-						if (!propX.canHave(prim.getStringValue()) && propY.canHave(prim.getStringValue())) {
-							// case order is vertical -> horizontal
-							value = (ICSSValue) list.item(1);
-						}
-					}
-				}
-				str = value.getCSSValueText();
-			}
-			else if (obj instanceof ICSSValue) {
-				str = ((ICSSValue) obj).getCSSValueText();
-				if (str.equalsIgnoreCase(IValID.V_BOTTOM) || str.equalsIgnoreCase(IValID.V_TOP))
-					str = "";//$NON-NLS-1$
-			}
-			else {
-				str = obj.toString();
-				CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, str);
-				CSSTextToken[] tokens = parser.getTokens();
-
-				tokens = correctMeaningToken(tokens);
-				if (tokens.length == 0)
-					str = "";//$NON-NLS-1$
-				else if (tokens.length == 1 && (tokens[0].image.equalsIgnoreCase(IValID.V_BOTTOM) || tokens[0].image.equalsIgnoreCase(IValID.V_TOP)))
-					str = "";//$NON-NLS-1$
-				else
-					str = tokens[0].image;
-			}
-		}
-		return (str != null) ? str : "";//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	public void set(ICSS2Properties properties, String value) throws org.w3c.dom.DOMException {
-		String newValue = null;
-		String valH = value;
-		String valV = properties.getBackgroundPositionY();
-		if (valV == null || valV.length() == 0)
-			newValue = valH;
-		else if (valH == null || valH.length() == 0) {
-			Collection valX = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X).getValues();
-			Collection valY = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y).getValues();
-			PropCMUtil.minus(valY, valX);
-			Iterator it = valY.iterator();
-			while (it.hasNext()) {
-				Object obj = it.next();
-				if (obj.toString().equals(valV.toLowerCase())) {
-					// need not compensate for ...
-					newValue = valV;
-					break;
-				}
-			}
-			// compensate for Horizontal value
-			if (newValue == null) {
-				// check valV is length or not
-				CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, valV.trim());
-				CSSTextToken[] tokens = parser.getTokens();
-				if (tokens != null && tokens.length > 0 && tokens[0].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-					newValue = IValID.V_LEFT + " " + valV;//$NON-NLS-1$
-				}
-				else
-					newValue = "0% " + valV;//$NON-NLS-1$
-			}
-		}
-		else
-			newValue = valH + " " + valV;//$NON-NLS-1$
-		properties.setBackgroundPosition(newValue);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BackgroundPositionYSubStyleAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BackgroundPositionYSubStyleAdapter.java
deleted file mode 100644
index 4023462..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BackgroundPositionYSubStyleAdapter.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSValue;
-import org.eclipse.wst.css.core.document.ICSSValueList;
-import org.eclipse.wst.css.core.internal.contentmodel.IValID;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMSubProperty;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMUtil;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-import org.w3c.dom.css.CSSPrimitiveValue;
-import org.w3c.dom.css.CSSValue;
-
-
-/**
- * for vertical value of 'background-position'
- */
-public class BackgroundPositionYSubStyleAdapter implements ISubPropertyAdapter {
-
-	/**
-	 * 
-	 */
-	public BackgroundPositionYSubStyleAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected CSSTextToken[] correctMeaningToken(CSSTextToken[] src) {
-		java.util.ArrayList list = new java.util.ArrayList();
-		for (int i = 0; i < src.length; i++) {
-			if (src[i].kind != CSSRegionContexts.CSS_S && src[i].kind != CSSRegionContexts.CSS_DECLARATION_VALUE_S && src[i].kind != CSSRegionContexts.CSS_COMMENT)
-				list.add(src[i]);
-		}
-		CSSTextToken[] ret = new CSSTextToken[list.size()];
-		list.toArray(ret);
-		return ret;
-	}
-
-	/**
-	 * 
-	 */
-	public String get(ICSS2Properties properties) {
-		String str = null;
-		Object obj = properties.get(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_POSITION));
-		if (obj != null) {
-			PropCMProperty propX = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X);
-			PropCMProperty propY = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y);
-			if (obj instanceof ICSSValueList) {
-				ICSSValueList list = (ICSSValueList) obj;
-				int index = 1;
-				ICSSValue value = (ICSSValue) list.item(0);
-				if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) {
-					ICSSPrimitiveValue prim = (ICSSPrimitiveValue) value;
-					if (prim.getPrimitiveType() == CSSPrimitiveValue.CSS_IDENT) {
-						// check not top or bottom
-						if (!propX.canHave(prim.getStringValue()) && propY.canHave(prim.getStringValue())) {
-							// case order is vertical -> horizontal
-							index = 0;
-						}
-					}
-				}
-				str = ((ICSSValue) list.item(index)).getCSSValueText();
-			}
-			else if (obj instanceof ICSSValue) {
-				str = ((ICSSValue) obj).getCSSValueText();
-				if (!str.equalsIgnoreCase(IValID.V_BOTTOM) && !str.equalsIgnoreCase(IValID.V_TOP))
-					str = "";//$NON-NLS-1$
-			}
-			else {
-				str = obj.toString();
-				CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, str);
-				CSSTextToken[] tokens = parser.getTokens();
-
-				tokens = correctMeaningToken(tokens);
-				if (tokens.length == 1 && (tokens[0].image.equalsIgnoreCase(IValID.V_BOTTOM) || tokens[0].image.equalsIgnoreCase(IValID.V_TOP)))
-					str = tokens[0].image;
-				else if (tokens.length > 1)
-					str = tokens[1].image;
-				else
-					str = "";//$NON-NLS-1$
-			}
-		}
-		return (str != null) ? str : "";//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	public void set(ICSS2Properties properties, String value) throws org.w3c.dom.DOMException {
-		String newValue = null;
-		String valH = properties.getBackgroundPositionX();
-		String valV = value;
-		if (valH != null && (valH.trim().equals("0%") /* default value */|| //$NON-NLS-1$
-					valH.trim().equalsIgnoreCase(IValID.V_LEFT) /*
-																 * another
-																 * default
-																 * value
-																 */))
-			valH = null;
-		if (valV == null || valV.length() == 0)
-			newValue = valH;
-		else if (valH == null || valH.length() == 0) {
-			Collection valX = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X).getValues();
-			Collection valY = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y).getValues();
-			PropCMUtil.minus(valY, valX);
-			Iterator it = valY.iterator();
-			while (it.hasNext()) {
-				Object obj = it.next();
-				if (obj.toString().equals(valV.toLowerCase())) {
-					// need not compensate for ...
-					newValue = valV;
-					break;
-				}
-			}
-			// compensate for Horizontal value
-			if (newValue == null) {
-				// check valV is length or not
-				CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, valV.trim());
-				CSSTextToken[] tokens = parser.getTokens();
-				if (tokens != null && tokens.length > 0 && tokens[0].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-					newValue = IValID.V_LEFT + " " + valV;//$NON-NLS-1$
-				}
-				else
-					newValue = "0% " + valV;//$NON-NLS-1$
-			}
-		}
-		else
-			newValue = valH + " " + valV;//$NON-NLS-1$
-		properties.setBackgroundPosition(newValue);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BackgroundShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BackgroundShorthandAdapter.java
deleted file mode 100644
index bc42dd2..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BackgroundShorthandAdapter.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'background' property 'background' will be expanded to
- * 'background-attachment', 'background-color', 'background-image',
- * 'background-position', 'background-repeat',
- */
-public class BackgroundShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public BackgroundShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String color = "", image = "", repeat = "", attach = "", pos = "";//$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_COLOR);
-		PropCMProperty propImage = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_IMAGE);
-		PropCMProperty propRepeat = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_REPEAT);
-		PropCMProperty propAttach = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT);
-		PropCMProperty propPos = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_POSITION);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-				else if (propImage.canHave(tokens[i].image))
-					image = tokens[i].image;
-				else if (propRepeat.canHave(tokens[i].image))
-					repeat = tokens[i].image;
-				else if (propAttach.canHave(tokens[i].image))
-					attach = tokens[i].image;
-				else if (propPos.canHave(tokens[i].image)) {
-					if (pos == null || pos.length() <= 0)
-						pos = tokens[i].image;
-					else
-						pos = pos + " " + tokens[i].image;//$NON-NLS-1$
-				}
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE) {
-				if (pos == null || pos.length() <= 0)
-					pos = tokens[i].image;
-				else
-					pos = pos + " " + tokens[i].image;//$NON-NLS-1$
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_URI) {
-				image = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		dest.set(propColor.getName(), color);
-		dest.set(propImage.getName(), image);
-		dest.set(propRepeat.getName(), repeat);
-		dest.set(propAttach.getName(), attach);
-		dest.set(propPos.getName(), pos);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String color = null, image = null, repeat = null, attach = null, pos = null;
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_COLOR);
-		PropCMProperty propImage = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_IMAGE);
-		PropCMProperty propRepeat = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_REPEAT);
-		PropCMProperty propAttach = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT);
-		PropCMProperty propPos = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_POSITION);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-				else if (propImage.canHave(tokens[i].image))
-					image = tokens[i].image;
-				else if (propRepeat.canHave(tokens[i].image))
-					repeat = tokens[i].image;
-				else if (propAttach.canHave(tokens[i].image))
-					attach = tokens[i].image;
-				else if (propPos.canHave(tokens[i].image)) {
-					if (pos == null)
-						pos = tokens[i].image;
-					else
-						pos = pos + " " + tokens[i].image;//$NON-NLS-1$
-				}
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE) {
-				if (pos == null)
-					pos = tokens[i].image;
-				else
-					pos = pos + " " + tokens[i].image;//$NON-NLS-1$
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_URI) {
-				image = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		if (propColor == propDest)
-			return color;
-		else if (propImage == propDest)
-			return image;
-		else if (propRepeat == propDest)
-			return repeat;
-		else if (propAttach == propDest)
-			return attach;
-		else if (propPos == propDest)
-			return pos;
-		else
-			return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderBottomShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderBottomShorthandAdapter.java
deleted file mode 100644
index 95f851c..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderBottomShorthandAdapter.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'border-bottom' property 'border-bottom' will be expanded to
- * 'border-bottom-color', 'border-bottom-style', 'border-bottom-width',
- */
-public class BorderBottomShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public BorderBottomShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String color = "", style = "", width = "";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		dest.set(propColor.getName(), color);
-		dest.set(propStyle.getName(), style);
-		dest.set(propWidth.getName(), width);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String color = null, style = null, width = null;
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		if (propColor == propDest)
-			return color;
-		else if (propStyle == propDest)
-			return style;
-		else if (propWidth == propDest)
-			return width;
-		else
-			return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderColorShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderColorShorthandAdapter.java
deleted file mode 100644
index fe81a31..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderColorShorthandAdapter.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'border-color' property 'border-color' will be expanded to
- * 'border-top-color', 'border-right-color', 'border-bottom-color',
- * 'border-left-color',
- */
-public class BorderColorShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public BorderColorShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH)
-				idents[j++] = tokens[i].image;
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				idents[j++] = buf.toString();
-			}
-			if (j == 4)
-				break;
-		}
-
-		String[] dests = new String[4];
-		if (j == 0)
-			return true;
-		else if (j == 1) {
-			dests[0] = dests[1] = dests[2] = dests[3] = idents[0];
-		}
-		else if (j == 2) {
-			dests[0] = dests[2] = idents[0];
-			dests[1] = dests[3] = idents[1];
-		}
-		else if (j == 3) {
-			dests[0] = idents[0];
-			dests[1] = dests[3] = idents[1];
-			dests[2] = idents[2];
-		}
-		else {
-			for (int k = 0; k < 4; k++)
-				dests[k] = idents[k];
-		}
-		dest.set(PropCMProperty.P_BORDER_TOP_COLOR, dests[0]);
-		dest.set(PropCMProperty.P_BORDER_RIGHT_COLOR, dests[1]);
-		dest.set(PropCMProperty.P_BORDER_BOTTOM_COLOR, dests[2]);
-		dest.set(PropCMProperty.P_BORDER_LEFT_COLOR, dests[3]);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH)
-				idents[j++] = tokens[i].image;
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				idents[j++] = buf.toString();
-			}
-			if (j == 4)
-				break;
-		}
-
-		if (j == 0)
-			return null;
-		else if (j == 1)
-			return idents[0];
-		else if (j == 2) {
-			if (propDest.getName() == PropCMProperty.P_BORDER_TOP_COLOR || propDest.getName() == PropCMProperty.P_BORDER_BOTTOM_COLOR)
-				return idents[0];
-			else
-				return idents[1];
-		}
-		else if (j == 3) {
-			if (propDest.getName() == PropCMProperty.P_BORDER_TOP_COLOR)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_BOTTOM_COLOR)
-				return idents[2];
-			else
-				return idents[1];
-		}
-		else {
-			if (propDest.getName() == PropCMProperty.P_BORDER_TOP_COLOR)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_RIGHT_COLOR)
-				return idents[1];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_BOTTOM_COLOR)
-				return idents[2];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_LEFT_COLOR)
-				return idents[3];
-			else
-				return null;
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderLeftShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderLeftShorthandAdapter.java
deleted file mode 100644
index 23564e6..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderLeftShorthandAdapter.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'border-left' property 'border-left' will be expanded to
- * 'border-left-color', 'border-left-style', 'border-left-width',
- */
-public class BorderLeftShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public BorderLeftShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String color = "", style = "", width = "";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		dest.set(propColor.getName(), color);
-		dest.set(propStyle.getName(), style);
-		dest.set(propWidth.getName(), width);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String color = null, style = null, width = null;
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		if (propColor == propDest)
-			return color;
-		else if (propStyle == propDest)
-			return style;
-		else if (propWidth == propDest)
-			return width;
-		else
-			return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderRightShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderRightShorthandAdapter.java
deleted file mode 100644
index a62197b..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderRightShorthandAdapter.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'border-right' property 'border-right' will be expanded to
- * 'border-right-color', 'border-right-style', 'border-right-width',
- */
-public class BorderRightShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public BorderRightShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String color = "", style = "", width = "";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		dest.set(propColor.getName(), color);
-		dest.set(propStyle.getName(), style);
-		dest.set(propWidth.getName(), width);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String color = null, style = null, width = null;
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		if (propColor == propDest)
-			return color;
-		else if (propStyle == propDest)
-			return style;
-		else if (propWidth == propDest)
-			return width;
-		else
-			return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderShorthandAdapter.java
deleted file mode 100644
index 6f82189..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderShorthandAdapter.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'border' property 'border' will be expanded to 'border-color',
- * 'border-style', 'border-width',
- */
-public class BorderShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public BorderShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String color = "", style = "", width = "";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		dest.set(propColor.getName(), color);
-		dest.set(propStyle.getName(), style);
-		dest.set(propWidth.getName(), width);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String color = null, style = null, width = null;
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		if (propColor == propDest)
-			return color;
-		else if (propStyle == propDest)
-			return style;
-		else if (propWidth == propDest)
-			return width;
-		else
-			return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderStyleShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderStyleShorthandAdapter.java
deleted file mode 100644
index 337560a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderStyleShorthandAdapter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'border-style' property 'border-style' will be expanded to
- * 'border-top-style', 'border-right-style', 'border-bottom-style',
- * 'border-left-style',
- */
-public class BorderStyleShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public BorderStyleShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT)
-				idents[j++] = tokens[i].image;
-			if (j == 4)
-				break;
-		}
-
-		String[] dests = new String[4];
-		if (j == 0)
-			return true;
-		else if (j == 1) {
-			dests[0] = dests[1] = dests[2] = dests[3] = idents[0];
-		}
-		else if (j == 2) {
-			dests[0] = dests[2] = idents[0];
-			dests[1] = dests[3] = idents[1];
-		}
-		else if (j == 3) {
-			dests[0] = idents[0];
-			dests[1] = dests[3] = idents[1];
-			dests[2] = idents[2];
-		}
-		else {
-			for (int k = 0; k < 4; k++)
-				dests[k] = idents[k];
-		}
-		dest.set(PropCMProperty.P_BORDER_TOP_STYLE, dests[0]);
-		dest.set(PropCMProperty.P_BORDER_RIGHT_STYLE, dests[1]);
-		dest.set(PropCMProperty.P_BORDER_BOTTOM_STYLE, dests[2]);
-		dest.set(PropCMProperty.P_BORDER_LEFT_STYLE, dests[3]);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT)
-				idents[j++] = tokens[i].image;
-			if (j == 4)
-				break;
-		}
-
-		if (j == 0)
-			return null;
-		else if (j == 1)
-			return idents[0];
-		else if (j == 2) {
-			if (propDest.getName() == PropCMProperty.P_BORDER_TOP_STYLE || propDest.getName() == PropCMProperty.P_BORDER_BOTTOM_STYLE)
-				return idents[0];
-			else
-				return idents[1];
-		}
-		else if (j == 3) {
-			if (propDest.getName() == PropCMProperty.P_BORDER_TOP_STYLE)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_BOTTOM_STYLE)
-				return idents[2];
-			else
-				return idents[1];
-		}
-		else {
-			if (propDest.getName() == PropCMProperty.P_BORDER_TOP_STYLE)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_RIGHT_STYLE)
-				return idents[1];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_BOTTOM_STYLE)
-				return idents[2];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_LEFT_STYLE)
-				return idents[3];
-			else
-				return null;
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderTopShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderTopShorthandAdapter.java
deleted file mode 100644
index c619eeb..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderTopShorthandAdapter.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'border-top' property 'border-top' will be expanded to
- * 'border-top-color', 'border-top-style', 'border-top-width',
- */
-public class BorderTopShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public BorderTopShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String color = "", style = "", width = "";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		dest.set(propColor.getName(), color);
-		dest.set(propStyle.getName(), style);
-		dest.set(propWidth.getName(), width);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String color = null, style = null, width = null;
-		PropCMProperty propColor = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_COLOR);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_STYLE);
-		PropCMProperty propWidth = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_WIDTH);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propStyle.canHave(tokens[i].image))
-					style = tokens[i].image;
-				else if (propWidth.canHave(tokens[i].image))
-					width = tokens[i].image;
-				else if (propColor.canHave(tokens[i].image))
-					color = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER) {
-				width = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_HASH) {
-				color = tokens[i].image;
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				StringBuffer buf = new StringBuffer();
-				while (i < tokens.length) {
-					if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT) {
-						i++;
-						continue;
-					}
-					buf.append(tokens[i].image);
-					if (tokens[i++].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-						break;
-				}
-				i--;
-				color = buf.toString();
-			}
-		}
-
-		if (propColor == propDest)
-			return color;
-		else if (propStyle == propDest)
-			return style;
-		else if (propWidth == propDest)
-			return width;
-		else
-			return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderWidthShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderWidthShorthandAdapter.java
deleted file mode 100644
index 8c41ad7..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/BorderWidthShorthandAdapter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'border-width' property 'border-width' will be expanded to
- * 'border-top-width', 'border-right-width', 'border-bottom-width',
- * 'border-left-width',
- */
-public class BorderWidthShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public BorderWidthShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT)
-				idents[j++] = tokens[i].image;
-			if (j == 4)
-				break;
-		}
-
-		String[] dests = new String[4];
-		if (j == 0)
-			return true;
-		else if (j == 1) {
-			dests[0] = dests[1] = dests[2] = dests[3] = idents[0];
-		}
-		else if (j == 2) {
-			dests[0] = dests[2] = idents[0];
-			dests[1] = dests[3] = idents[1];
-		}
-		else if (j == 3) {
-			dests[0] = idents[0];
-			dests[1] = dests[3] = idents[1];
-			dests[2] = idents[2];
-		}
-		else {
-			for (int k = 0; k < 4; k++)
-				dests[k] = idents[k];
-		}
-		dest.set(PropCMProperty.P_BORDER_TOP_WIDTH, dests[0]);
-		dest.set(PropCMProperty.P_BORDER_RIGHT_WIDTH, dests[1]);
-		dest.set(PropCMProperty.P_BORDER_BOTTOM_WIDTH, dests[2]);
-		dest.set(PropCMProperty.P_BORDER_LEFT_WIDTH, dests[3]);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT)
-				idents[j++] = tokens[i].image;
-			if (j == 4)
-				break;
-		}
-
-		if (j == 0)
-			return null;
-		else if (j == 1)
-			return idents[0];
-		else if (j == 2) {
-			if (propDest.getName() == PropCMProperty.P_BORDER_TOP_WIDTH || propDest.getName() == PropCMProperty.P_BORDER_BOTTOM_WIDTH)
-				return idents[0];
-			else
-				return idents[1];
-		}
-		else if (j == 3) {
-			if (propDest.getName() == PropCMProperty.P_BORDER_TOP_WIDTH)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_BOTTOM_WIDTH)
-				return idents[2];
-			else
-				return idents[1];
-		}
-		else {
-			if (propDest.getName() == PropCMProperty.P_BORDER_TOP_WIDTH)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_RIGHT_WIDTH)
-				return idents[1];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_BOTTOM_WIDTH)
-				return idents[2];
-			else if (propDest.getName() == PropCMProperty.P_BORDER_LEFT_WIDTH)
-				return idents[3];
-			else
-				return null;
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/CSSPropertyContext.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/CSSPropertyContext.java
deleted file mode 100644
index b017145..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/CSSPropertyContext.java
+++ /dev/null
@@ -1,2997 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSValue;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMSubProperty;
-import org.w3c.dom.css.CSSValue;
-
-
-/**
- * 
- */
-public class CSSPropertyContext implements ICSS2Properties {
-
-	protected Hashtable fProperties = new Hashtable();
-	HashSet fModified = null;
-	private static java.util.Hashtable subPropertyAdapters;
-	private static java.util.Hashtable shorthandAdapters;
-
-	/**
-	 * 
-	 */
-	public CSSPropertyContext() {
-		super();
-		initShorthandAdapters();
-		initSubPropertyAdapters();
-	}
-
-	/**
-	 * 
-	 */
-	public CSSPropertyContext(ICSSStyleDeclaration decl) {
-		super();
-		initShorthandAdapters();
-		initSubPropertyAdapters();
-		initialize(decl);
-	}
-
-	/**
-	 * This function exports all property/value pairs to 'decl' declaration
-	 */
-	public void applyFull(ICSSStyleDeclaration decl) {
-		if (decl == null)
-			return;
-		Enumeration keys = fProperties.keys();
-		while (keys.hasMoreElements()) {
-			Object key = keys.nextElement();
-			Object val = fProperties.get(key);
-			String value = (val instanceof ICSSValue) ? ((ICSSValue) val).getCSSValueText() : val.toString();
-
-			if (value == null || value.length() <= 0)
-				decl.removeProperty(key.toString());
-			else
-				decl.setProperty(key.toString(), value.trim(), (val instanceof ValueData && ((ValueData) val).important) ? "!important" : "");//$NON-NLS-2$//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * This function exports modified property/value pairs to 'decl'
-	 * declaration
-	 */
-	public void applyModified(ICSSStyleDeclaration decl) {
-		if (decl == null || fModified == null)
-			return;
-		Iterator it = fModified.iterator();
-		while (it.hasNext()) {
-			Object key = it.next();
-			Object val = fProperties.get(key);
-			String value = (val instanceof ICSSValue) ? ((ICSSValue) val).getCSSValueText() : ((val != null) ? val.toString() : null);
-
-			if (value == null || value.length() <= 0)
-				decl.removeProperty(key.toString());
-			else
-				decl.setProperty(key.toString(), value.trim(), (val instanceof ValueData && ((ValueData) val).important) ? "!important" : "");//$NON-NLS-2$//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * create clone of this context
-	 */
-	public Object clone() {
-		CSSPropertyContext clone = new CSSPropertyContext();
-		if (this.fModified != null)
-			clone.fModified = (HashSet) this.fModified.clone();
-		else
-			clone.fModified = null;
-		clone.fProperties = (Hashtable) this.fProperties.clone();
-		return clone;
-	}
-
-	/**
-	 * This function expands a short-hand property's value to each leaf
-	 * property's value and set them to 'foreign'
-	 * 
-	 * For example, given [prop=border-top, value="solid 1px yellow"] will be
-	 * expanded to [border-top-color=yellow, border-top-style=solid,
-	 * border-top-width=1px] and they are stored to 'foreign' context.
-	 * 
-	 * Note that recursively shorthanded property like 'border' will be
-	 * expanded to all descendant leaf properties like
-	 * 'border-[top/right/bottom/left]-[color/style/width]'
-	 * 
-	 * @param prop
-	 *            org.eclipse.wst.css.core.contentmodel.PropCMProperty
-	 * @param value
-	 *            java.lang.String
-	 * @param foreign
-	 *            org.eclipse.wst.css.core.util.declaration.CSSPropertyContext
-	 */
-	protected static void expandToLeaf(PropCMProperty prop, String value, CSSPropertyContext foreign) {
-		// expand shorthand property
-		if (value != null && value.trim().length() > 0) {
-			IShorthandAdapter adapter = (IShorthandAdapter) shorthandAdapters.get(prop);
-			if (adapter != null) {
-				adapter.expand(value, foreign);
-				foreign.set(prop.getName(), "");//$NON-NLS-1$
-				for (int i = 0; i < prop.getNumChild(); i++) {
-					Object obj = prop.getChildAt(i);
-					if (obj instanceof PropCMProperty && !(obj instanceof PropCMSubProperty)) {
-						PropCMProperty expandedProp = (PropCMProperty) obj;
-						value = foreign.get(expandedProp.getName());
-						expandToLeaf(expandedProp, value, foreign);
-					}
-				}
-			}
-			else if (!value.equals(foreign.get(prop.getName()))) {
-				foreign.set(prop.getName(), value);
-			}
-		}
-	}
-
-	/**
-	 * This function returns value of 'prop'. Querying value mechanism checks
-	 * short-hand properties.
-	 * 
-	 * For example, given "background=fixed white" is set in this insatnce and
-	 * param "prop=background-color", the return value will be "white".
-	 * 
-	 */
-	public java.lang.String get(org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty prop) {
-		if (prop instanceof PropCMSubProperty) {
-			ISubPropertyAdapter adapter = (ISubPropertyAdapter) subPropertyAdapters.get(prop.getName());
-			if (adapter != null)
-				return adapter.get(this);
-		}
-		String str = get(prop.getName());
-		if ((str == null || str.length() == 0) && prop.getShorthandContainerCount() > 0) {
-			// get expanded property
-			for (int i = 0; i < prop.getShorthandContainerCount(); i++) {
-				PropCMProperty propParent = prop.shorthandContainerAt(i);
-				String strParent = get(propParent);
-				if (strParent != null && strParent.trim().length() > 0) {
-					IShorthandAdapter adapter = (IShorthandAdapter) shorthandAdapters.get(propParent);
-					if (adapter != null) {
-						String extractedValue = adapter.extract(strParent, prop);
-						return (extractedValue != null) ? extractedValue : "";//$NON-NLS-1$
-					}
-				}
-			}
-		}
-		return str;
-	}
-
-	/**
-	 * This function returns value of 'prop'. Querying value mechanism does
-	 * not care shorthand properties.
-	 */
-	protected String get(String propName) {
-		String str = null;
-		Object obj = fProperties.get(propName);
-		if (obj != null) {
-			if (obj instanceof ICSSValue)
-				str = ((ICSSValue) obj).getCSSValueText();
-			else
-				str = obj.toString();
-		}
-		return (str != null) ? str : "";//$NON-NLS-1$
-	}
-
-	/**
-	 * See the azimuth property definition in CSS2.
-	 * 
-	 * @exception org.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getAzimuth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_AZIMUTH));
-	}
-
-	/**
-	 * See the background property definition in CSS2.
-	 * 
-	 * @exception org.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackground() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BG));
-	}
-
-	/**
-	 * See the background-attachment property definition in CSS2.
-	 * 
-	 * @exception org.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundAttachment() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT));
-	}
-
-	/**
-	 * See the background-color property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundColor() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_COLOR));
-	}
-
-	/**
-	 * See the background-image property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundImage() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_IMAGE));
-	}
-
-	/**
-	 * See the background-position property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundPosition() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_POSITION));
-	}
-
-	/**
-	 * 
-	 */
-	public java.lang.String getBackgroundPositionX() {
-		return get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X));
-		/*
-		 * String str = null; Object obj =
-		 * fProperties.get(PropCMProperty.P_BG_POSITION); if (obj != null) {
-		 * PropCMProperty propX =
-		 * PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X);
-		 * PropCMProperty propY =
-		 * PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y);
-		 * if (obj instanceof ICSSValueList) { ICSSValueList list =
-		 * (ICSSValueList) obj; ICSSValue value = (ICSSValue) list.item(0); if
-		 * (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) {
-		 * ICSSPrimitiveValue prim = (ICSSPrimitiveValue) value; if
-		 * (prim.getPrimitiveType() == CSSPrimitiveValue.CSS_IDENT) { // check
-		 * not top or bottom if (!propX.canHave(prim.getStringValue()) &&
-		 * propY.canHave(prim.getStringValue())) { // case order is vertical ->
-		 * horizontal value = (ICSSValue) list.item(1); } } } str =
-		 * value.getCSSValueText(); } else if (obj instanceof ICSSValue) { str =
-		 * ((ICSSValue)obj).getCSSValueText(); } else str = obj.toString(); }
-		 * return (str != null) ? str : "";
-		 */
-	}
-
-	/**
-	 * 
-	 */
-	public java.lang.String getBackgroundPositionY() {
-		return get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y));
-		/*
-		 * String str = null; Object obj =
-		 * fProperties.get(PropCMProperty.P_BG_POSITION); if (obj != null) {
-		 * PropCMProperty propX =
-		 * PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X);
-		 * PropCMProperty propY =
-		 * PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y);
-		 * if (obj instanceof ICSSValueList) { ICSSValueList list =
-		 * (ICSSValueList) obj; int index = 1; ICSSValue value = (ICSSValue)
-		 * list.item(0); if (value.getCssValueType() ==
-		 * CSSValue.CSS_PRIMITIVE_VALUE) { ICSSPrimitiveValue prim =
-		 * (ICSSPrimitiveValue) value; if (prim.getPrimitiveType() ==
-		 * CSSPrimitiveValue.CSS_IDENT) { // check not top or bottom if
-		 * (!propX.canHave(prim.getStringValue()) &&
-		 * propY.canHave(prim.getStringValue())) { // case order is vertical ->
-		 * horizontal index = 0; } } } str =
-		 * ((ICSSValue)list.item(index)).getCSSValueText(); } else if (obj
-		 * instanceof ICSSValue) { // do nothing --- value is null } else str =
-		 * obj.toString(); } return (str != null) ? str : "";
-		 */
-	}
-
-	/**
-	 * See the background-repeat property definition in CSS2.
-	 * 
-	 * @exception org.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundRepeat() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_REPEAT));
-	}
-
-	/**
-	 * See the border property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorder() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER));
-	}
-
-	/**
-	 * See the border-bottom property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderBottom() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM));
-	}
-
-	/**
-	 * See the border-bottom-color property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderBottomColor() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_COLOR));
-	}
-
-	/**
-	 * See the border-bottom-style property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderBottomStyle() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_STYLE));
-	}
-
-	/**
-	 * See the border-bottom-width property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderBottomWidth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_WIDTH));
-	}
-
-	/**
-	 * See the border-collapse property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderCollapse() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLLAPSE));
-	}
-
-	/**
-	 * See the border-color property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderColor() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLOR));
-	}
-
-	/**
-	 * See the border-left property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderLeft() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT));
-	}
-
-	/**
-	 * See the border-left-color property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderLeftColor() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_COLOR));
-	}
-
-	/**
-	 * See the border-left-style property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderLeftStyle() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_STYLE));
-	}
-
-	/**
-	 * See the border-left-width property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderLeftWidth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_WIDTH));
-	}
-
-	/**
-	 * See the border-right property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderRight() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT));
-	}
-
-	/**
-	 * See the border-right-color property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderRightColor() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_COLOR));
-	}
-
-	/**
-	 * See the border-right-style property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderRightStyle() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_STYLE));
-	}
-
-	/**
-	 * See the border-right-width property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderRightWidth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_WIDTH));
-	}
-
-	/**
-	 * See the border-spacing property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderSpacing() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_SPACING));
-	}
-
-	/**
-	 * See the border-style property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderStyle() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_STYLE));
-	}
-
-	/**
-	 * See the border-top property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderTop() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP));
-	}
-
-	/**
-	 * See the border-top-color property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderTopColor() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_COLOR));
-	}
-
-	/**
-	 * See the border-top-style property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderTopStyle() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_STYLE));
-	}
-
-	/**
-	 * See the border-top-width property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderTopWidth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_WIDTH));
-	}
-
-	/**
-	 * See the border-width property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderWidth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH));
-	}
-
-	/**
-	 * See the bottom property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBottom() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_BOTTOM));
-	}
-
-	/**
-	 * See the caption-side property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCaptionSide() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_CAPTION_SIDE));
-	}
-
-	/**
-	 * See the clear property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getClear() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_CLEAR));
-	}
-
-	/**
-	 * See the clip property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getClip() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP));
-	}
-
-	/**
-	 * 
-	 */
-	public String getClipBottom() {
-		return get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_BOTTOM));
-	}
-
-	/**
-	 * 
-	 */
-	public String getClipLeft() {
-		return get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_LEFT));
-	}
-
-	/**
-	 * 
-	 */
-	public String getClipRight() {
-		return get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_RIGHT));
-	}
-
-	/**
-	 * 
-	 */
-	public String getClipTop() {
-		return get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_TOP));
-	}
-
-	/**
-	 * See the color property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getColor() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_COLOR));
-	}
-
-	/**
-	 * See the content property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getContent() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_CONTENT));
-	}
-
-	/**
-	 * See the counter-increment property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCounterIncrement() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_COUNTER_INCREMENT));
-	}
-
-	/**
-	 * See the counter-reset property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCounterReset() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_COUNTER_RESET));
-	}
-
-	/**
-	 * See the float property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCssFloat() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_FLOAT));
-	}
-
-	/**
-	 * See the cue property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCue() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_CUE));
-	}
-
-	/**
-	 * See the cue-after property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCueAfter() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_CUE_AFTER));
-	}
-
-	/**
-	 * See the cue-before property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCueBefore() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_CUE_BEFORE));
-	}
-
-	/**
-	 * See the cursor property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCursor() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_CURSOR));
-	}
-
-	/**
-	 * See the direction property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getDirection() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_DIRECTION));
-	}
-
-	/**
-	 * See the display property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getDisplay() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_DISPLAY));
-	}
-
-	/**
-	 * See the elevation property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getElevation() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_ELEVATION));
-	}
-
-	/**
-	 * See the empty-cells property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getEmptyCells() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_EMPTY_CELLS));
-	}
-
-	/**
-	 * See the font property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFont() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT));
-	}
-
-	/**
-	 * See the font-family property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontFamily() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_FAMILY));
-	}
-
-	/**
-	 * See the font-size property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontSize() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_SIZE));
-	}
-
-	/**
-	 * See the font-size-adjust property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontSizeAdjust() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_SIZE_ADJUST));
-	}
-
-	/**
-	 * See the font-stretch property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontStretch() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_STRETCH));
-	}
-
-	/**
-	 * See the font-style property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontStyle() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_STYLE));
-	}
-
-	/**
-	 * See the font-variant property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontVariant() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_VARIANT));
-	}
-
-	/**
-	 * See the font-weight property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontWeight() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_WEIGHT));
-	}
-
-	/**
-	 * See the height property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getHeight() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_HEIGHT));
-	}
-
-	/**
-	 * See the left property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getLeft() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_LEFT));
-	}
-
-	/**
-	 * See the letter-spacing property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getLetterSpacing() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_LETTER_SPACING));
-	}
-
-	/**
-	 * See the line-height property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getLineHeight() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_LINE_HEIGHT));
-	}
-
-	/**
-	 * See the list-style property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getListStyle() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE));
-	}
-
-	/**
-	 * See the list-style-image property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getListStyleImage() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_IMAGE));
-	}
-
-	/**
-	 * See the list-style-position property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getListStylePosition() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_POSITION));
-	}
-
-	/**
-	 * See the list-style-type property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getListStyleType() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_TYPE));
-	}
-
-	/**
-	 * See the margin property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMargin() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN));
-	}
-
-	/**
-	 * See the margin-bottom property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarginBottom() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_BOTTOM));
-	}
-
-	/**
-	 * See the margin-left property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarginLeft() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_LEFT));
-	}
-
-	/**
-	 * See the margin-right property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarginRight() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_RIGHT));
-	}
-
-	/**
-	 * See the margin-top property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarginTop() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_TOP));
-	}
-
-	/**
-	 * See the marker-offset property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarkerOffset() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MARKER_OFFSET));
-	}
-
-	/**
-	 * See the marks property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarks() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MARKS));
-	}
-
-	/**
-	 * See the max-height property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMaxHeight() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MAX_HEIGHT));
-	}
-
-	/**
-	 * See the max-width property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMaxWidth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MAX_WIDTH));
-	}
-
-	/**
-	 * See the min-height property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMinHeight() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MIN_HEIGHT));
-	}
-
-	/**
-	 * See the min-width property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMinWidth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_MIN_WIDTH));
-	}
-
-	/**
-	 * See the orphans property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOrphans() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_ORPHANS));
-	}
-
-	/**
-	 * See the outline property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOutline() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE));
-	}
-
-	/**
-	 * See the outline-color property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOutlineColor() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_COLOR));
-	}
-
-	/**
-	 * See the outline-style property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOutlineStyle() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_STYLE));
-	}
-
-	/**
-	 * See the outline-width property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOutlineWidth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_WIDTH));
-	}
-
-	/**
-	 * See the overflow property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOverflow() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_OVERFLOW));
-	}
-
-	/**
-	 * See the padding property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPadding() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING));
-	}
-
-	/**
-	 * See the padding-bottom property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPaddingBottom() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_BOTTOM));
-	}
-
-	/**
-	 * See the padding-left property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPaddingLeft() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_LEFT));
-	}
-
-	/**
-	 * See the padding-right property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPaddingRight() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_RIGHT));
-	}
-
-	/**
-	 * See the padding-top property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPaddingTop() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_TOP));
-	}
-
-	/**
-	 * See the page property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPage() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE));
-	}
-
-	/**
-	 * See the page-break-after property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPageBreakAfter() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE_BREAK_AFTER));
-	}
-
-	/**
-	 * See the page-break-before property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPageBreakBefore() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE_BREAK_BEFORE));
-	}
-
-	/**
-	 * See the page-break-inside property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPageBreakInside() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE_BREAK_INSIDE));
-	}
-
-	/**
-	 * See the pause property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPause() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PAUSE));
-	}
-
-	/**
-	 * See the pause-after property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPauseAfter() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PAUSE_AFTER));
-	}
-
-	/**
-	 * See the pause-before property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPauseBefore() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PAUSE_BEFORE));
-	}
-
-	/**
-	 * See the pitch property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPitch() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PITCH));
-	}
-
-	/**
-	 * See the pitch-range property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPitchRange() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PITCH_RANGE));
-	}
-
-	/**
-	 * See the play-during property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPlayDuring() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_PLAY_DURING));
-	}
-
-	/**
-	 * See the position property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPosition() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_POSITION));
-	}
-
-	/**
-	 * See the quotes property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getQuotes() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_QUOTES));
-	}
-
-	/**
-	 * See the richness property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getRichness() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_RICHNESS));
-	}
-
-	/**
-	 * See the right property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getRight() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_RIGHT));
-	}
-
-	/**
-	 * @return org.eclipse.wst.css.core.util.declaration.IShorthandAdapter
-	 * @param org.eclipse.wst.css.core.contentmodel.PropCMProperty
-	 */
-	public static IShorthandAdapter getShorthandAdapter(PropCMProperty prop) {
-		return (IShorthandAdapter) shorthandAdapters.get(prop);
-	}
-
-	/**
-	 * See the size property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSize() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_SIZE));
-	}
-
-	/**
-	 * See the speak property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeak() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK));
-	}
-
-	/**
-	 * See the speak-header property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeakHeader() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK_HEADER));
-	}
-
-	/**
-	 * See the speak-numeral property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeakNumeral() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK_NUMERAL));
-	}
-
-	/**
-	 * See the speak-punctuation property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeakPunctuation() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK_PUNCTUATION));
-	}
-
-	/**
-	 * See the speech-rate property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeechRate() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEECH_RATE));
-	}
-
-	/**
-	 * See the stress property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getStress() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_STRESS));
-	}
-
-	/**
-	 * See the table-layout property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTableLayout() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_TABLE_LAYOUT));
-	}
-
-	/**
-	 * See the text-align property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextAlign() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_ALIGN));
-	}
-
-	/**
-	 * See the text-decoration property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextDecoration() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_DECORATION));
-	}
-
-	/**
-	 * See the text-indent property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextIndent() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_INDENT));
-	}
-
-	/**
-	 * See the text-shadow property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextShadow() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_SHADOW));
-	}
-
-	/**
-	 * See the text-transform property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextTransform() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_TRANSFORM));
-	}
-
-	/**
-	 * See the top property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTop() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_TOP));
-	}
-
-	/**
-	 * See the unicode-bidi property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getUnicodeBidi() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_UNICODE_BIDI));
-	}
-
-	/**
-	 * See the vertical-align property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getVerticalAlign() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_VERTICAL_ALIGN));
-	}
-
-	/**
-	 * See the visibility property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getVisibility() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_VISIBILITY));
-	}
-
-	/**
-	 * See the voice-family property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getVoiceFamily() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_VOICE_FAMILY));
-	}
-
-	/**
-	 * See the volume property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getVolume() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_VOLUME));
-	}
-
-	/**
-	 * See the white-space property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getWhiteSpace() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_WHITE_SPACE));
-	}
-
-	/**
-	 * See the widows property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getWidows() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_WIDOWS));
-	}
-
-	/**
-	 * See the width property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getWidth() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_WIDTH));
-	}
-
-	/**
-	 * See the word-spacing property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getWordSpacing() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_WORD_SPACING));
-	}
-
-	/**
-	 * See the z-index property definition in CSS2.
-	 * 
-	 * @exceptionorg.w3c.dom.DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getZIndex() {
-		return get(PropCMProperty.getInstanceOf(PropCMProperty.P_Z_INDEX));
-	}
-
-	/**
-	 * 
-	 */
-	public void initialize(ICSSStyleDeclaration decl) {
-		fProperties.clear();
-		if (fModified != null)
-			fModified.clear();
-		if (decl == null)
-			return;
-
-		int nProperties = decl.getLength();
-		for (int i = 0; i < nProperties; i++) {
-			String propName = decl.item(i);
-			if (propName != null) {
-				String propN = propName.trim().toLowerCase();
-				if (propN.length() != 0) {
-					CSSValue val = decl.getPropertyCSSValue(propName);
-					if (val != null)
-						fProperties.put(propN, val);
-				}
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	static void initShorthandAdapters() {
-		if (shorthandAdapters == null) {
-			shorthandAdapters = new Hashtable();
-			// register
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_BG), new BackgroundShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER), new BorderShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLOR), new BorderColorShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_STYLE), new BorderStyleShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH), new BorderWidthShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP), new BorderTopShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT), new BorderRightShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM), new BorderBottomShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT), new BorderLeftShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT), new FontShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE), new ListStyleShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN), new MarginShorthandAdapter());
-			shorthandAdapters.put(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING), new PaddingShorthandAdapter());
-
-		}
-	}
-
-	/**
-	 * 
-	 */
-	static void initSubPropertyAdapters() {
-		if (subPropertyAdapters == null) {
-			subPropertyAdapters = new Hashtable();
-
-			// register
-			subPropertyAdapters.put(PropCMSubProperty.PSUB_BG_POSITION_X, new BackgroundPositionXSubStyleAdapter());
-			subPropertyAdapters.put(PropCMSubProperty.PSUB_BG_POSITION_Y, new BackgroundPositionYSubStyleAdapter());
-			subPropertyAdapters.put(PropCMSubProperty.PSUB_CLIP_TOP, new ClipTopSubStyleAdapter());
-			subPropertyAdapters.put(PropCMSubProperty.PSUB_CLIP_RIGHT, new ClipRightSubStyleAdapter());
-			subPropertyAdapters.put(PropCMSubProperty.PSUB_CLIP_BOTTOM, new ClipBottomSubStyleAdapter());
-			subPropertyAdapters.put(PropCMSubProperty.PSUB_CLIP_LEFT, new ClipLeftSubStyleAdapter());
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public boolean isModified() {
-		return (fModified != null && fModified.size() != 0);
-	}
-
-	/**
-	 * 
-	 */
-	public Enumeration properties() {
-		return fProperties.keys();
-	}
-
-	/**
-	 * 
-	 */
-	public Iterator propertiesModified() {
-		if (fModified != null) {
-			return ((Collection) fModified.clone()).iterator();
-		}
-		else
-			return new Iterator() {
-				public boolean hasNext() {
-					return false;
-				}
-
-				public Object next() {
-					return null;
-				}
-
-				public void remove() {
-				}
-			};
-	}
-
-	/**
-	 * This function expands the value of shorthand 'prop' to 'foreign'
-	 * context. Note that if this has parent shorthand properties of 'prop',
-	 * they are all expanded to 'foreign' context.
-	 */
-	protected void recursiveExtract(PropCMProperty prop, CSSPropertyContext foreign) {
-		// expand shorthand property
-		for (int i = 0; i < prop.getShorthandContainerCount(); i++) {
-			recursiveExtract(prop.shorthandContainerAt(i), foreign);
-		}
-		String str = get(prop.getName());
-		if (str == null || str.trim().length() == 0)
-			str = foreign.get(prop.getName());
-		if (str != null && str.trim().length() > 0) {
-			IShorthandAdapter adapter = (IShorthandAdapter) shorthandAdapters.get(prop);
-			if (adapter != null) {
-				adapter.expand(str, foreign);
-				foreign.set(prop.getName(), "");//$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void removeDescendants(PropCMProperty prop) {
-		if (prop.isShorthand()) {
-			// remove properties
-			int n = prop.getNumChild();
-			for (int i = 0; i < n; i++) {
-				Object obj = prop.getChildAt(i);
-				if (obj instanceof PropCMProperty) {
-					removeDescendants((PropCMProperty) obj);
-
-					String str = get(obj.toString());
-					if (str != null && str.length() > 0)
-						set(obj.toString(), "");//$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public void resetModified() {
-		if (fModified != null)
-			fModified.clear();
-	}
-
-	/**
-	 * This function sets the pair of 'prop'/'value'. If shorthand properties
-	 * related to 'prop' are already defined, they will be expanded to avoid
-	 * property confliction. If descendant properties of 'prop' are already
-	 * defined, they will be removed to avoid property confliction.
-	 * 
-	 */
-	public void set(org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty prop, java.lang.String value) throws org.w3c.dom.DOMException {
-		if (prop instanceof PropCMSubProperty) {
-			ISubPropertyAdapter adapter = (ISubPropertyAdapter) subPropertyAdapters.get(prop.getName());
-			if (adapter != null) {
-				adapter.set(this, value);
-				return;
-			}
-		}
-		if (prop.getShorthandContainerCount() > 0) {
-			// expand shorthand property
-			CSSPropertyContext context = new CSSPropertyContext();
-			for (int i = 0; i < prop.getShorthandContainerCount(); i++) {
-				recursiveExtract(prop.shorthandContainerAt(i), context);
-			}
-			Enumeration properties = context.properties();
-			while (properties.hasMoreElements()) {
-				String propForeign = properties.nextElement().toString();
-				set(propForeign, context.get(propForeign));
-			}
-		}
-
-		removeDescendants(prop);
-
-		set(prop.getName(), value);
-	}
-
-	/**
-	 * This function sets the pair of 'propName'/'value' regardless of its
-	 * shorthand properties.
-	 */
-	protected void set(String propName, String value) throws org.w3c.dom.DOMException {
-		String key = propName;
-		if (value == null)
-			fProperties.remove(key);
-		else
-			fProperties.put(key, value);
-		if (fModified == null)
-			fModified = new HashSet();
-		fModified.add(key);
-	}
-
-	/**
-	 * 
-	 */
-	public void setAzimuth(String azimuth) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_AZIMUTH), azimuth);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBackground(String background) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BG), background);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBackgroundAttachment(String backgroundAttachment) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT), backgroundAttachment);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBackgroundColor(String backgroundColor) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_COLOR), backgroundColor);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBackgroundImage(String backgroundImage) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_IMAGE), backgroundImage);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBackgroundPosition(String backgroundPosition) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_POSITION), backgroundPosition);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBackgroundPositionX(java.lang.String backgroundPositionX) throws org.w3c.dom.DOMException {
-		set(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X), backgroundPositionX);
-		/*
-		 * String newValue = null; String valH = backgroundPositionX; String
-		 * valV = getBackgroundPositionY(); if (valV == null ||
-		 * valV.length()== 0) newValue = valH; else if (valH == null ||
-		 * valH.length() == 0) { Collection valX =
-		 * PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X).getValues();
-		 * Collection valY =
-		 * PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y).getValues();
-		 * PropCMUtil.minus(valY,valX); Iterator it = valY.iterator();
-		 * while(it.hasNext()) { Object obj = it.next(); if
-		 * (obj.toString().equals(valV.toLowerCase())) { // need not
-		 * compensate for ... newValue = valV; break; } } // compensate for
-		 * Horizontal value if (newValue == null) newValue = "0% " + valV; }
-		 * else newValue = valH + " " + valV; setBackgroundPosition(newValue);
-		 */
-	}
-
-	/**
-	 * 
-	 */
-	public void setBackgroundPositionY(java.lang.String backgroundPositionY) throws org.w3c.dom.DOMException {
-		set(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y), backgroundPositionY);
-		/*
-		 * String newValue = null; String valH = getBackgroundPositionX();
-		 * String valV = backgroundPositionY; if (valV == null ||
-		 * valV.length()== 0) newValue = valH; else if (valH == null ||
-		 * valH.length() == 0) { Collection valX =
-		 * PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X).getValues();
-		 * Collection valY =
-		 * PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_Y).getValues();
-		 * PropCMUtil.minus(valY,valX); Iterator it = valY.iterator();
-		 * while(it.hasNext()) { Object obj = it.next(); if
-		 * (obj.toString().equals(valV.toLowerCase())) { // need not
-		 * compensate for ... newValue = valV; break; } } // compensate for
-		 * Horizontal value if (newValue == null) newValue = "0% " + valV; }
-		 * else newValue = valH + " " + valV; setBackgroundPosition(newValue);
-		 */
-	}
-
-	/**
-	 * 
-	 */
-	public void setBackgroundRepeat(String backgroundRepeat) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BG_REPEAT), backgroundRepeat);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorder(String border) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER), border);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderBottom(String borderBottom) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM), borderBottom);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderBottomColor(String borderBottomColor) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_COLOR), borderBottomColor);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderBottomStyle(String borderBottomStyle) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_STYLE), borderBottomStyle);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderBottomWidth(String borderBottomWidth) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_WIDTH), borderBottomWidth);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderCollapse(String borderCollapse) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLLAPSE), borderCollapse);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderColor(String borderColor) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_COLOR), borderColor);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderLeft(String borderLeft) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT), borderLeft);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderLeftColor(String borderLeftColor) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_COLOR), borderLeftColor);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderLeftStyle(String borderLeftStyle) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_STYLE), borderLeftStyle);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderLeftWidth(String borderLeftWidth) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_LEFT_WIDTH), borderLeftWidth);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderRight(String borderRight) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT), borderRight);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderRightColor(String borderRightColor) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_COLOR), borderRightColor);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderRightStyle(String borderRightStyle) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_STYLE), borderRightStyle);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderRightWidth(String borderRightWidth) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RIGHT_WIDTH), borderRightWidth);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderSpacing(String borderSpacing) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_SPACING), borderSpacing);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderStyle(String borderStyle) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_STYLE), borderStyle);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderTop(String borderTop) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP), borderTop);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderTopColor(String borderTopColor) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_COLOR), borderTopColor);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderTopStyle(String borderTopStyle) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_STYLE), borderTopStyle);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderTopWidth(String borderTopWidth) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_WIDTH), borderTopWidth);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBorderWidth(String borderWidth) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH), borderWidth);
-	}
-
-	/**
-	 * 
-	 */
-	public void setBottom(String bottom) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_BOTTOM), bottom);
-	}
-
-	/**
-	 * 
-	 */
-	public void setCaptionSide(String captionSide) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_CAPTION_SIDE), captionSide);
-	}
-
-	/**
-	 * 
-	 */
-	public void setClear(String clear) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_CLEAR), clear);
-	}
-
-	/**
-	 * 
-	 */
-	public void setClip(String clip) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP), clip);
-	}
-
-	/**
-	 * 
-	 */
-	public void setClipBottom(java.lang.String clip) throws org.w3c.dom.DOMException {
-		set(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_BOTTOM), clip);
-	}
-
-	/**
-	 * 
-	 */
-	public void setClipLeft(java.lang.String clip) throws org.w3c.dom.DOMException {
-		set(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_LEFT), clip);
-	}
-
-	/**
-	 * 
-	 */
-	public void setClipRight(java.lang.String clip) throws org.w3c.dom.DOMException {
-		set(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_RIGHT), clip);
-	}
-
-	/**
-	 * 
-	 */
-	public void setClipTop(java.lang.String clip) throws org.w3c.dom.DOMException {
-		set(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_TOP), clip);
-	}
-
-	/**
-	 * 
-	 */
-	public void setColor(String color) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_COLOR), color);
-	}
-
-	/**
-	 * 
-	 */
-	public void setContent(String content) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_CONTENT), content);
-	}
-
-	/**
-	 * 
-	 */
-	public void setCounterIncrement(String counterIncrement) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_COUNTER_INCREMENT), counterIncrement);
-	}
-
-	/**
-	 * 
-	 */
-	public void setCounterReset(String counterReset) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_COUNTER_RESET), counterReset);
-	}
-
-	/**
-	 * 
-	 */
-	public void setCssFloat(String cssFloat) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_FLOAT), cssFloat);
-	}
-
-	/**
-	 * 
-	 */
-	public void setCue(String cue) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_CUE), cue);
-	}
-
-	/**
-	 * 
-	 */
-	public void setCueAfter(String cueAfter) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_CUE_AFTER), cueAfter);
-	}
-
-	/**
-	 * 
-	 */
-	public void setCueBefore(String cueBefore) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_CUE_BEFORE), cueBefore);
-	}
-
-	/**
-	 * 
-	 */
-	public void setCursor(String cursor) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_CURSOR), cursor);
-	}
-
-	/**
-	 * 
-	 */
-	public void setDirection(String direction) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_DIRECTION), direction);
-	}
-
-	/**
-	 * 
-	 */
-	public void setDisplay(String display) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_DISPLAY), display);
-	}
-
-	/**
-	 * 
-	 */
-	public void setElevation(String elevation) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_ELEVATION), elevation);
-	}
-
-	/**
-	 * 
-	 */
-	public void setEmptyCells(String emptyCells) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_EMPTY_CELLS), emptyCells);
-	}
-
-	/**
-	 * 
-	 */
-	public void setFont(String font) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT), font);
-	}
-
-	/**
-	 * 
-	 */
-	public void setFontFamily(String fontFamily) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_FAMILY), fontFamily);
-	}
-
-	/**
-	 * 
-	 */
-	public void setFontSize(String fontSize) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_SIZE), fontSize);
-	}
-
-	/**
-	 * 
-	 */
-	public void setFontSizeAdjust(String fontSizeAdjust) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_SIZE_ADJUST), fontSizeAdjust);
-	}
-
-	/**
-	 * 
-	 */
-	public void setFontStretch(String fontStretch) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_STRETCH), fontStretch);
-	}
-
-	/**
-	 * 
-	 */
-	public void setFontStyle(String fontStyle) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_STYLE), fontStyle);
-	}
-
-	/**
-	 * 
-	 */
-	public void setFontVariant(String fontVariant) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_VARIANT), fontVariant);
-	}
-
-	/**
-	 * 
-	 */
-	public void setFontWeight(String fontWeight) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_WEIGHT), fontWeight);
-	}
-
-	/**
-	 * 
-	 */
-	public void setHeight(String height) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_HEIGHT), height);
-	}
-
-	/**
-	 * 
-	 */
-	public void setLeft(String left) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_LEFT), left);
-	}
-
-	/**
-	 * 
-	 */
-	public void setLetterSpacing(String letterSpacing) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_LETTER_SPACING), letterSpacing);
-	}
-
-	/**
-	 * 
-	 */
-	public void setLineHeight(String lineHeight) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_LINE_HEIGHT), lineHeight);
-	}
-
-	/**
-	 * 
-	 */
-	public void setListStyle(String listStyle) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE), listStyle);
-	}
-
-	/**
-	 * 
-	 */
-	public void setListStyleImage(String listStyleImage) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_IMAGE), listStyleImage);
-	}
-
-	/**
-	 * 
-	 */
-	public void setListStylePosition(String listStylePosition) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_POSITION), listStylePosition);
-	}
-
-	/**
-	 * 
-	 */
-	public void setListStyleType(String listStyleType) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_TYPE), listStyleType);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMargin(String margin) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN), margin);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMarginBottom(String marginBottom) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_BOTTOM), marginBottom);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMarginLeft(String marginLeft) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_LEFT), marginLeft);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMarginRight(String marginRight) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_RIGHT), marginRight);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMarginTop(String marginTop) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MARGIN_TOP), marginTop);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMarkerOffset(String markerOffset) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MARKER_OFFSET), markerOffset);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMarks(String marks) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MARKS), marks);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMaxHeight(String maxHeight) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MAX_HEIGHT), maxHeight);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMaxWidth(String maxWidth) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MAX_WIDTH), maxWidth);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMinHeight(String minHeight) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MIN_HEIGHT), minHeight);
-	}
-
-	/**
-	 * 
-	 */
-	public void setMinWidth(String minWidth) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_MIN_WIDTH), minWidth);
-	}
-
-	/**
-	 * 
-	 */
-	public void setOrphans(String orphans) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_ORPHANS), orphans);
-	}
-
-	/**
-	 * 
-	 */
-	public void setOutline(String outline) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE), outline);
-	}
-
-	/**
-	 * 
-	 */
-	public void setOutlineColor(String outlineColor) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_COLOR), outlineColor);
-	}
-
-	/**
-	 * 
-	 */
-	public void setOutlineStyle(String outlineStyle) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_STYLE), outlineStyle);
-	}
-
-	/**
-	 * 
-	 */
-	public void setOutlineWidth(String outlineWidth) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_OUTLINE_WIDTH), outlineWidth);
-	}
-
-	/**
-	 * 
-	 */
-	public void setOverflow(String overflow) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_OVERFLOW), overflow);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPadding(String padding) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING), padding);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPaddingBottom(String paddingBottom) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_BOTTOM), paddingBottom);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPaddingLeft(String paddingLeft) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_LEFT), paddingLeft);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPaddingRight(String paddingRight) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_RIGHT), paddingRight);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPaddingTop(String paddingTop) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PADDING_TOP), paddingTop);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPage(String page) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE), page);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPageBreakAfter(String pageBreakAfter) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE_BREAK_AFTER), pageBreakAfter);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPageBreakBefore(String pageBreakBefore) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE_BREAK_BEFORE), pageBreakBefore);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPageBreakInside(String pageBreakInside) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PAGE_BREAK_INSIDE), pageBreakInside);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPause(String pause) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PAUSE), pause);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPauseAfter(String pauseAfter) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PAUSE_AFTER), pauseAfter);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPauseBefore(String pauseBefore) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PAUSE_BEFORE), pauseBefore);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPitch(String pitch) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PITCH), pitch);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPitchRange(String pitchRange) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PITCH_RANGE), pitchRange);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPlayDuring(String playDuring) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_PLAY_DURING), playDuring);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPosition(String position) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_POSITION), position);
-	}
-
-	/**
-	 * 
-	 */
-	public void setQuotes(String quotes) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_QUOTES), quotes);
-	}
-
-	/**
-	 * 
-	 */
-	public void setRichness(String richness) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_RICHNESS), richness);
-	}
-
-	/**
-	 * 
-	 */
-	public void setRight(String right) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_RIGHT), right);
-	}
-
-	/**
-	 * 
-	 */
-	public void setSize(String size) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_SIZE), size);
-	}
-
-	/**
-	 * 
-	 */
-	public void setSpeak(String speak) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK), speak);
-	}
-
-	/**
-	 * 
-	 */
-	public void setSpeakHeader(String speakHeader) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK_HEADER), speakHeader);
-	}
-
-	/**
-	 * 
-	 */
-	public void setSpeakNumeral(String speakNumeral) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK_NUMERAL), speakNumeral);
-	}
-
-	/**
-	 * 
-	 */
-	public void setSpeakPunctuation(String speakPunctuation) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEAK_PUNCTUATION), speakPunctuation);
-	}
-
-	/**
-	 * 
-	 */
-	public void setSpeechRate(String speechRate) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_SPEECH_RATE), speechRate);
-	}
-
-	/**
-	 * 
-	 */
-	public void setStress(String stress) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_STRESS), stress);
-	}
-
-	/**
-	 * 
-	 */
-	public void setTableLayout(String tableLayout) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_TABLE_LAYOUT), tableLayout);
-	}
-
-	/**
-	 * 
-	 */
-	public void setTextAlign(String textAlign) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_ALIGN), textAlign);
-	}
-
-	/**
-	 * 
-	 */
-	public void setTextDecoration(String textDecoration) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_DECORATION), textDecoration);
-	}
-
-	/**
-	 * 
-	 */
-	public void setTextIndent(String textIndent) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_INDENT), textIndent);
-	}
-
-	/**
-	 * 
-	 */
-	public void setTextShadow(String textShadow) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_SHADOW), textShadow);
-	}
-
-	/**
-	 * 
-	 */
-	public void setTextTransform(String textTransform) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_TRANSFORM), textTransform);
-	}
-
-	/**
-	 * 
-	 */
-	public void setTop(String top) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_TOP), top);
-	}
-
-	/**
-	 * 
-	 */
-	public void setUnicodeBidi(String unicodeBidi) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_UNICODE_BIDI), unicodeBidi);
-	}
-
-	/**
-	 * 
-	 */
-	public void setVerticalAlign(String verticalAlign) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_VERTICAL_ALIGN), verticalAlign);
-	}
-
-	/**
-	 * 
-	 */
-	public void setVisibility(String visibility) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_VISIBILITY), visibility);
-	}
-
-	/**
-	 * 
-	 */
-	public void setVoiceFamily(String voiceFamily) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_VOICE_FAMILY), voiceFamily);
-	}
-
-	/**
-	 * 
-	 */
-	public void setVolume(String volume) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_VOLUME), volume);
-	}
-
-	/**
-	 * 
-	 */
-	public void setWhiteSpace(String whiteSpace) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_WHITE_SPACE), whiteSpace);
-	}
-
-	/**
-	 * 
-	 */
-	public void setWidows(String widows) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_WIDOWS), widows);
-	}
-
-	/**
-	 * 
-	 */
-	public void setWidth(String width) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_WIDTH), width);
-	}
-
-	/**
-	 * 
-	 */
-	public void setWordSpacing(String wordSpacing) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_WORD_SPACING), wordSpacing);
-	}
-
-	/**
-	 * 
-	 */
-	public void setZIndex(String zIndex) throws org.w3c.dom.DOMException {
-		set(PropCMProperty.getInstanceOf(PropCMProperty.P_Z_INDEX), zIndex);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipBottomSubStyleAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipBottomSubStyleAdapter.java
deleted file mode 100644
index dc3dfcc..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipBottomSubStyleAdapter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMSubProperty;
-
-/**
- * For bottom value of 'clip' property's rect() function
- */
-public class ClipBottomSubStyleAdapter extends ClipSubStyleAdapter {
-
-	/**
-	 * 
-	 */
-	public ClipBottomSubStyleAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	String get(org.w3c.dom.css.Rect rect) {
-		return rect.getBottom().getCssText();
-	}
-
-	/**
-	 * 
-	 */
-	int index() {
-		return 2;
-	}
-
-	/**
-	 * 
-	 */
-	public void set(ICSS2Properties properties, String value) throws org.w3c.dom.DOMException {
-		String top = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_TOP));
-		String right = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_RIGHT));
-		String left = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_LEFT));
-
-		set(properties, top, right, value, left, value == null || value.length() == 0);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipLeftSubStyleAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipLeftSubStyleAdapter.java
deleted file mode 100644
index cf2110d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipLeftSubStyleAdapter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMSubProperty;
-
-/**
- * For left value of 'clip' property's rect() function
- */
-public class ClipLeftSubStyleAdapter extends ClipSubStyleAdapter {
-
-	/**
-	 * 
-	 */
-	public ClipLeftSubStyleAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	String get(org.w3c.dom.css.Rect rect) {
-		return rect.getLeft().getCssText();
-	}
-
-	/**
-	 * 
-	 */
-	int index() {
-		return 3;
-	}
-
-	/**
-	 * 
-	 */
-	public void set(ICSS2Properties properties, String value) throws org.w3c.dom.DOMException {
-		String top = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_TOP));
-		String right = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_RIGHT));
-		String bottom = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_BOTTOM));
-
-		set(properties, top, right, bottom, value, value == null || value.length() == 0);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipRightSubStyleAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipRightSubStyleAdapter.java
deleted file mode 100644
index bd79674..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipRightSubStyleAdapter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMSubProperty;
-
-/**
- * For right value of 'clip' property's rect() function
- */
-public class ClipRightSubStyleAdapter extends ClipSubStyleAdapter {
-
-	/**
-	 * 
-	 */
-	public ClipRightSubStyleAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	String get(org.w3c.dom.css.Rect rect) {
-		return rect.getRight().getCssText();
-	}
-
-	/**
-	 * 
-	 */
-	int index() {
-		return 1;
-	}
-
-	/**
-	 * 
-	 */
-	public void set(ICSS2Properties properties, String value) throws org.w3c.dom.DOMException {
-		String top = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_TOP));
-		String bottom = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_BOTTOM));
-		String left = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_LEFT));
-
-		set(properties, top, value, bottom, left, value == null || value.length() == 0);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipSubStyleAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipSubStyleAdapter.java
deleted file mode 100644
index dc7792f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipSubStyleAdapter.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSValue;
-import org.eclipse.wst.css.core.internal.contentmodel.IValID;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.w3c.dom.css.Rect;
-
-
-/**
- * Abstract class for clip sub-properties
- */
-abstract public class ClipSubStyleAdapter implements ISubPropertyAdapter {
-
-	/**
-	 * 
-	 */
-	public ClipSubStyleAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public String get(ICSS2Properties properties) {
-		String str = null;
-		Object obj = properties.get(PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP));
-		if (obj != null) {
-			if (obj instanceof org.w3c.dom.css.Rect) {
-				str = get((org.w3c.dom.css.Rect) obj);
-			}
-			else {
-				if (obj instanceof ICSSValue) {
-					str = ((ICSSValue) obj).getCSSValueText();
-				}
-				else {
-					str = obj.toString();
-				}
-				str = str.trim().toLowerCase();
-				int pos = str.indexOf("rect(");//$NON-NLS-1$
-				if (pos >= 0) {
-					String subStr = null;
-					pos += 5;
-					int i = 0;
-					do {
-						int posEnd = str.indexOf(",", pos);//$NON-NLS-1$
-						if (posEnd < 0)
-							posEnd = str.indexOf(")", pos);//$NON-NLS-1$
-						if (posEnd < 0 && pos < str.length())
-							posEnd = str.length();
-						if (posEnd >= pos) {
-							subStr = str.substring(pos, posEnd);
-							pos = posEnd + 1;
-						}
-						else
-							pos = -1;
-					}
-					while (i++ < index() && pos > 0);
-
-					if (pos > 0)
-						str = subStr.trim();
-					else
-						str = null;
-				}
-				else
-					str = null;
-			}
-		}
-		return (str != null) ? str : "";//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 */
-	abstract String get(Rect rect);
-
-	/**
-	 * 
-	 */
-	abstract int index();
-
-	/**
-	 * 
-	 */
-	public void set(ICSS2Properties properties, String value) throws org.w3c.dom.DOMException {
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2001/10/04
-	 * 19:25:46)
-	 * 
-	 * @param properties
-	 *            org.eclipse.wst.css.core.util.declaration.ICSS2Properties
-	 * @param top
-	 *            java.lang.String
-	 * @param right
-	 *            java.lang.String
-	 * @param bottom
-	 *            java.lang.String
-	 * @param left
-	 *            java.lang.String
-	 * @param removeCheck
-	 *            boolean
-	 */
-	void set(ICSS2Properties properties, String top, String right, String bottom, String left, boolean removeCheck) {
-		if (top == null || top.length() == 0)
-			top = IValID.V_AUTO;
-		if (right == null || right.length() == 0)
-			right = IValID.V_AUTO;
-		if (bottom == null || bottom.length() == 0)
-			bottom = IValID.V_AUTO;
-		if (left == null || left.length() == 0)
-			left = IValID.V_AUTO;
-
-		if (removeCheck && top.trim().equalsIgnoreCase(IValID.V_AUTO) && right.trim().equalsIgnoreCase(IValID.V_AUTO) && bottom.trim().equalsIgnoreCase(IValID.V_AUTO) && left.trim().equalsIgnoreCase(IValID.V_AUTO)) {
-			properties.set(PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP), null);
-		}
-		else
-			properties.set(PropCMProperty.getInstanceOf(PropCMProperty.P_CLIP), "rect(" + top + ", " + right + ", " + bottom + ", " + left + ")");//$NON-NLS-5$//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipTopSubStyleAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipTopSubStyleAdapter.java
deleted file mode 100644
index 1786db8..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ClipTopSubStyleAdapter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMSubProperty;
-
-/**
- * For top value of 'clip' property's rect() function
- */
-public class ClipTopSubStyleAdapter extends ClipSubStyleAdapter {
-
-	/**
-	 * 
-	 */
-	public ClipTopSubStyleAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	String get(org.w3c.dom.css.Rect rect) {
-		return rect.getTop().getCssText();
-	}
-
-	/**
-	 * 
-	 */
-	int index() {
-		return 0;
-	}
-
-	/**
-	 * 
-	 */
-	public void set(ICSS2Properties properties, String value) throws org.w3c.dom.DOMException {
-		String right = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_RIGHT));
-		String bottom = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_BOTTOM));
-		String left = properties.get(PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_CLIP_LEFT));
-
-		set(properties, value, right, bottom, left, value == null || value.length() == 0);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/FontShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/FontShorthandAdapter.java
deleted file mode 100644
index dbfbebd..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/FontShorthandAdapter.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.IValID;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'font' property 'font' will be expanded to 'font-family', 'font-size',
- * 'font-style', 'font-variant', 'font-weight', 'line-height',
- */
-public class FontShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public FontShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String style = null, variant = null, weight = null, size = null, height = null, family = null;
-		PropCMProperty propFont = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_STYLE);
-		PropCMProperty propVariant = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_VARIANT);
-		PropCMProperty propWeight = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_WEIGHT);
-		PropCMProperty propSize = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_SIZE);
-		boolean bNormalSpecified = false;
-
-		int i = 0;
-		for (; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				// first of all, check font idents
-				if (i == 0) {
-					for (int j = 0; j < propFont.getNumChild(); j++) {
-						Object obj = propFont.getChildAt(i);
-						if (obj instanceof String && tokens[i].image.compareToIgnoreCase(obj.toString()) == 0)
-							return false;
-					}
-				}
-				// value "normal" is shared !!
-				if (tokens[i].image.equalsIgnoreCase(IValID.V_NORMAL)) {
-					bNormalSpecified = true;
-				}
-				else {
-					if (propStyle.canHave(tokens[i].image))
-						style = tokens[i].image;
-					else if (propVariant.canHave(tokens[i].image))
-						variant = tokens[i].image;
-					else if (propWeight.canHave(tokens[i].image))
-						weight = tokens[i].image;
-					else if (propSize.canHave(tokens[i].image)) {
-						size = tokens[i].image;
-						break; // if size found, break loop
-					}
-				}
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER && weight == null && propWeight.canHave(tokens[i].image)) {
-				weight = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE) {
-				size = tokens[i].image;
-				break; // if size found, break loop
-			}
-		}
-
-		if (bNormalSpecified) {
-			if (style == null)
-				style = IValID.V_NORMAL;
-			if (variant == null)
-				variant = IValID.V_NORMAL;
-			if (weight == null)
-				weight = IValID.V_NORMAL;
-		}
-
-		// skip whitespace
-		for (i++; i < tokens.length; i++) {
-			if (tokens[i].kind != CSSRegionContexts.CSS_S || tokens[i].kind != CSSRegionContexts.CSS_DECLARATION_VALUE_S)
-				break;
-		}
-
-		// line-height ?
-		if (i < tokens.length && tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR && tokens[i].image.equals("/")) { //$NON-NLS-1$
-			for (i++; i < tokens.length; i++) {
-				if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-					height = tokens[i++].image;
-					break;
-				}
-			}
-		}
-
-		// font-family
-		StringBuffer buf = new StringBuffer();
-		for (; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT)
-				buf.append(" ");//$NON-NLS-1$
-			else
-				buf.append(tokens[i].image);
-		}
-		family = buf.toString().trim();
-
-		dest.set(PropCMProperty.P_FONT_STYLE, style);
-		dest.set(PropCMProperty.P_FONT_VARIANT, variant);
-		dest.set(PropCMProperty.P_FONT_WEIGHT, weight);
-		dest.set(PropCMProperty.P_FONT_SIZE, size);
-		dest.set(PropCMProperty.P_LINE_HEIGHT, height);
-		dest.set(PropCMProperty.P_FONT_FAMILY, family);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String style = null, variant = null, weight = null, size = null, height = null, family = null;
-		PropCMProperty propFont = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT);
-		PropCMProperty propStyle = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_STYLE);
-		PropCMProperty propVariant = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_VARIANT);
-		PropCMProperty propWeight = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_WEIGHT);
-		PropCMProperty propSize = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_SIZE);
-		PropCMProperty propHeight = PropCMProperty.getInstanceOf(PropCMProperty.P_LINE_HEIGHT);
-		PropCMProperty propFamily = PropCMProperty.getInstanceOf(PropCMProperty.P_FONT_FAMILY);
-		boolean bNormalSpecified = false;
-
-		int i = 0;
-		for (; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				// first of all, check font idents
-				if (i == 0) {
-					for (int j = 0; j < propFont.getNumChild(); j++) {
-						Object obj = propFont.getChildAt(i);
-						if (obj instanceof String && tokens[i].image.compareToIgnoreCase(obj.toString()) == 0)
-							return null;
-					}
-				}
-				// value "normal" is shared !!
-				if (tokens[i].image.equalsIgnoreCase(IValID.V_NORMAL)) {
-					bNormalSpecified = true;
-				}
-				else {
-					if (propStyle.canHave(tokens[i].image))
-						style = tokens[i].image;
-					else if (propVariant.canHave(tokens[i].image))
-						variant = tokens[i].image;
-					else if (propWeight.canHave(tokens[i].image))
-						weight = tokens[i].image;
-					else if (propSize.canHave(tokens[i].image)) {
-						size = tokens[i].image;
-						break; // if size found, break loop
-					}
-				}
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER && weight == null && propWeight.canHave(tokens[i].image)) {
-				weight = tokens[i].image;
-			}
-			else if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE) {
-				size = tokens[i].image;
-				break; // if size found, break loop
-			}
-		}
-
-		if (bNormalSpecified) {
-			if (style == null)
-				style = IValID.V_NORMAL;
-			if (variant == null)
-				variant = IValID.V_NORMAL;
-			if (weight == null)
-				weight = IValID.V_NORMAL;
-		}
-
-		// skip whitespace
-		for (i++; i < tokens.length; i++) {
-			if (tokens[i].kind != CSSRegionContexts.CSS_S || tokens[i].kind != CSSRegionContexts.CSS_DECLARATION_VALUE_S)
-				break;
-		}
-
-		// line-height ?
-		if (i < tokens.length && tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR && tokens[i].image.equals("/")) { //$NON-NLS-1$
-			for (i++; i < tokens.length; i++) {
-				if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-					height = tokens[i++].image;
-					break;
-				}
-			}
-		}
-
-		// font-family
-		StringBuffer buf = new StringBuffer();
-		for (; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_COMMENT)
-				buf.append(" ");//$NON-NLS-1$
-			else
-				buf.append(tokens[i].image);
-		}
-		family = buf.toString().trim();
-
-		if (propStyle == propDest)
-			return style;
-		else if (propVariant == propDest)
-			return variant;
-		else if (propWeight == propDest)
-			return weight;
-		else if (propSize == propDest)
-			return size;
-		else if (propHeight == propDest)
-			return height;
-		else if (propFamily == propDest)
-			return family;
-		else
-			return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ICSS2Properties.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ICSS2Properties.java
deleted file mode 100644
index 743b1c1..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ICSS2Properties.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import java.util.Enumeration;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.w3c.dom.css.CSS2Properties;
-
-
-/**
- * 
- */
-public interface ICSS2Properties extends CSS2Properties {
-
-	/**
-	 * 
-	 */
-	void applyFull(ICSSStyleDeclaration decl);
-
-	/**
-	 * 
-	 */
-	void applyModified(ICSSStyleDeclaration decl);
-
-	/**
-	 * 
-	 */
-	String get(PropCMProperty prop);
-
-	/**
-	 * 
-	 */
-	String getBackgroundPositionX();
-
-	/**
-	 * 
-	 */
-	String getBackgroundPositionY();
-
-	/**
-	 * 
-	 */
-	String getClipBottom();
-
-	/**
-	 * 
-	 */
-	String getClipLeft();
-
-	/**
-	 * 
-	 */
-	String getClipRight();
-
-	/**
-	 * 
-	 */
-	String getClipTop();
-
-	/**
-	 * 
-	 */
-	boolean isModified();
-
-	/**
-	 * 
-	 */
-	Enumeration properties();
-
-	/**
-	 * 
-	 */
-	Iterator propertiesModified();
-
-	/**
-	 * 
-	 */
-	void resetModified();
-
-	/**
-	 * 
-	 */
-	void set(PropCMProperty prop, String value) throws org.w3c.dom.DOMException;
-
-	/**
-	 * 
-	 */
-	void setBackgroundPositionX(String backgroundPosition) throws org.w3c.dom.DOMException;
-
-	/**
-	 * 
-	 */
-	void setBackgroundPositionY(String backgroundPosition) throws org.w3c.dom.DOMException;
-
-	/**
-	 * 
-	 */
-	void setClipBottom(String backgroundPosition) throws org.w3c.dom.DOMException;
-
-	/**
-	 * 
-	 */
-	void setClipLeft(String backgroundPosition) throws org.w3c.dom.DOMException;
-
-	/**
-	 * 
-	 */
-	void setClipRight(String backgroundPosition) throws org.w3c.dom.DOMException;
-
-	/**
-	 * 
-	 */
-	void setClipTop(String backgroundPosition) throws org.w3c.dom.DOMException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/IShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/IShorthandAdapter.java
deleted file mode 100644
index 1a03f2a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/IShorthandAdapter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-
-/**
- * 
- */
-public interface IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	boolean expand(String source, CSSPropertyContext dest);
-
-	/**
-	 * 
-	 */
-	String extract(String source, PropCMProperty propDest);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ISubPropertyAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ISubPropertyAdapter.java
deleted file mode 100644
index 90e19ce..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ISubPropertyAdapter.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-/**
- * 
- */
-public interface ISubPropertyAdapter {
-
-	/**
-	 * 
-	 */
-	String get(ICSS2Properties properties);
-
-	/**
-	 * 
-	 */
-	void set(ICSS2Properties properties, String value) throws org.w3c.dom.DOMException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ListStyleShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ListStyleShorthandAdapter.java
deleted file mode 100644
index dbf2018..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ListStyleShorthandAdapter.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'list-style' property 'list-style' will be expanded to
- * 'list-style-image', 'list-style-position', 'list-style-type',
- */
-public class ListStyleShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public ListStyleShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String image = "", pos = "", type = "";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		PropCMProperty propPos = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_POSITION);
-		PropCMProperty propType = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_TYPE);
-		PropCMProperty propImage = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_IMAGE);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propPos.canHave(tokens[i].image))
-					pos = tokens[i].image;
-				else { // value="none" is shared !!
-					if (propType.canHave(tokens[i].image))
-						type = tokens[i].image;
-					if (propImage.canHave(tokens[i].image))
-						image = tokens[i].image;
-				}
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_URI) {
-				image = tokens[i].image;
-			}
-		}
-
-		dest.set(propPos.getName(), pos);
-		dest.set(propType.getName(), type);
-		dest.set(propImage.getName(), image);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String image = null, pos = null, type = null;
-		PropCMProperty propPos = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_POSITION);
-		PropCMProperty propType = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_TYPE);
-		PropCMProperty propImage = PropCMProperty.getInstanceOf(PropCMProperty.P_LIST_STYLE_IMAGE);
-
-		for (int i = 0; i < tokens.length; i++) {
-			if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT) {
-				if (propPos.canHave(tokens[i].image))
-					pos = tokens[i].image;
-				else { // value="none" is shared !!
-					if (propType.canHave(tokens[i].image))
-						type = tokens[i].image;
-					if (propImage.canHave(tokens[i].image))
-						image = tokens[i].image;
-				}
-			}
-			else if (tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_URI) {
-				image = tokens[i].image;
-			}
-		}
-
-		if (propPos == propDest)
-			return pos;
-		else if (propType == propDest)
-			return type;
-		else if (propImage == propDest)
-			return image;
-		else
-			return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/MarginShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/MarginShorthandAdapter.java
deleted file mode 100644
index 287abb5..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/MarginShorthandAdapter.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'margin' property 'margin' will be expanded to 'margin-top',
- * 'margin-right', 'margin-bottom', 'margin-left',
- */
-public class MarginShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public MarginShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE)
-				idents[j++] = tokens[i].image;
-			if (j == 4)
-				break;
-		}
-
-		String[] dests = new String[4];
-		if (j == 0)
-			return true;
-		else if (j == 1) {
-			dests[0] = dests[1] = dests[2] = dests[3] = idents[0];
-		}
-		else if (j == 2) {
-			dests[0] = dests[2] = idents[0];
-			dests[1] = dests[3] = idents[1];
-		}
-		else if (j == 3) {
-			dests[0] = idents[0];
-			dests[1] = dests[3] = idents[1];
-			dests[2] = idents[2];
-		}
-		else {
-			for (int k = 0; k < 4; k++)
-				dests[k] = idents[k];
-		}
-		dest.set(PropCMProperty.P_MARGIN_TOP, dests[0]);
-		dest.set(PropCMProperty.P_MARGIN_RIGHT, dests[1]);
-		dest.set(PropCMProperty.P_MARGIN_BOTTOM, dests[2]);
-		dest.set(PropCMProperty.P_MARGIN_LEFT, dests[3]);
-
-		return true;
-
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE)
-				idents[j++] = tokens[i].image;
-			if (j == 4)
-				break;
-		}
-
-		if (j == 0)
-			return null;
-		else if (j == 1)
-			return idents[0];
-		else if (j == 2) {
-			if (propDest.getName() == PropCMProperty.P_MARGIN_TOP || propDest.getName() == PropCMProperty.P_MARGIN_BOTTOM)
-				return idents[0];
-			else
-				return idents[1];
-		}
-		else if (j == 3) {
-			if (propDest.getName() == PropCMProperty.P_MARGIN_TOP)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_MARGIN_BOTTOM)
-				return idents[2];
-			else
-				return idents[1];
-		}
-		else {
-			if (propDest.getName() == PropCMProperty.P_MARGIN_TOP)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_MARGIN_RIGHT)
-				return idents[1];
-			else if (propDest.getName() == PropCMProperty.P_MARGIN_BOTTOM)
-				return idents[2];
-			else if (propDest.getName() == PropCMProperty.P_MARGIN_LEFT)
-				return idents[3];
-			else
-				return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/PaddingShorthandAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/PaddingShorthandAdapter.java
deleted file mode 100644
index 7e0dd4d..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/PaddingShorthandAdapter.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-
-
-/**
- * For 'padding' property 'padding' will be expanded to 'padding-top',
- * 'padding-right', 'padding-bottom', 'padding-left',
- */
-public class PaddingShorthandAdapter implements IShorthandAdapter {
-
-	/**
-	 * 
-	 */
-	public PaddingShorthandAdapter() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public boolean expand(String source, CSSPropertyContext dest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return false;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE)
-				idents[j++] = tokens[i].image;
-			if (j == 4)
-				break;
-		}
-
-		String[] dests = new String[4];
-		if (j == 0)
-			return true;
-		else if (j == 1) {
-			dests[0] = dests[1] = dests[2] = dests[3] = idents[0];
-		}
-		else if (j == 2) {
-			dests[0] = dests[2] = idents[0];
-			dests[1] = dests[3] = idents[1];
-		}
-		else if (j == 3) {
-			dests[0] = idents[0];
-			dests[1] = dests[3] = idents[1];
-			dests[2] = idents[2];
-		}
-		else {
-			for (int k = 0; k < 4; k++)
-				dests[k] = idents[k];
-		}
-		dest.set(PropCMProperty.P_PADDING_TOP, dests[0]);
-		dest.set(PropCMProperty.P_PADDING_RIGHT, dests[1]);
-		dest.set(PropCMProperty.P_PADDING_BOTTOM, dests[2]);
-		dest.set(PropCMProperty.P_PADDING_LEFT, dests[3]);
-
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	public String extract(String source, PropCMProperty propDest) {
-		CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_DECLARATION_VALUE, source);
-		CSSTextToken[] tokens = parser.getTokens();
-		if (tokens.length <= 0) {
-			return null;
-		}
-		String[] idents = new String[4];
-		int j = 0;
-		for (int i = 0; i < tokens.length; i++) {
-			if (org.eclipse.wst.css.core.util.CSSUtil.isLength(tokens[i]) || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER || tokens[i].kind == CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE)
-				idents[j++] = tokens[i].image;
-			if (j == 4)
-				break;
-		}
-
-		if (j == 0)
-			return null;
-		else if (j == 1)
-			return idents[0];
-		else if (j == 2) {
-			if (propDest.getName() == PropCMProperty.P_PADDING_TOP || propDest.getName() == PropCMProperty.P_PADDING_BOTTOM)
-				return idents[0];
-			else
-				return idents[1];
-		}
-		else if (j == 3) {
-			if (propDest.getName() == PropCMProperty.P_PADDING_TOP)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_PADDING_BOTTOM)
-				return idents[2];
-			else
-				return idents[1];
-		}
-		else {
-			if (propDest.getName() == PropCMProperty.P_PADDING_TOP)
-				return idents[0];
-			else if (propDest.getName() == PropCMProperty.P_PADDING_RIGHT)
-				return idents[1];
-			else if (propDest.getName() == PropCMProperty.P_PADDING_BOTTOM)
-				return idents[2];
-			else if (propDest.getName() == PropCMProperty.P_PADDING_LEFT)
-				return idents[3];
-			else
-				return null;
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ValueData.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ValueData.java
deleted file mode 100644
index 05a2079..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/declaration/ValueData.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.core.util.declaration;
-
-
-
-/**
- * 
- */
-public class ValueData {
-
-	public String value;
-	public boolean important = false;
-
-	/**
-	 * 
-	 */
-	public ValueData() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	public ValueData(String val, boolean imp) {
-		super();
-		value = val;
-		important = imp;
-	}
-
-	/**
-	 * 
-	 */
-	public String toString() {
-		return value;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSS2Properties.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSS2Properties.java
deleted file mode 100644
index 821e2a9..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSS2Properties.java
+++ /dev/null
@@ -1,1666 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2Properties</code> interface represents a convenience
- * mechanism for retrieving and setting properties within a
- * <code>CSSStyleDeclaration</code>. The attributes of this interface
- * correspond to all the properties specified in CSS2. Getting an attribute of
- * this interface is equivalent to calling the <code>getPropertyValue</code>
- * method of the <code>CSSStyleDeclaration</code> interface. Setting an
- * attribute of this interface is equivalent to calling the
- * <code>setProperty</code> method of the <code>CSSStyleDeclaration</code>
- * interface.
- * <p>
- * A conformant implementation of the CSS module is not required to implement
- * the <code>CSS2Properties</code> interface. If an implementation does
- * implement this interface, the expectation is that language-specific methods
- * can be used to cast from an instance of the
- * <code>CSSStyleDeclaration</code> interface to the
- * <code>CSS2Properties</code> interface.
- * <p>
- * If an implementation does implement this interface, it is expected to
- * understand the specific syntax of the shorthand properties, and apply their
- * semantics; when the <code>margin</code> property is set, for example, the
- * <code>marginTop</code>,<code>marginRight</code>,
- * <code>marginBottom</code> and <code>marginLeft</code> properties are
- * actually being set by the underlying implementation.
- * <p>
- * When dealing with CSS "shorthand" properties, the shorthand properties
- * should be decomposed into their component longhand properties as
- * appropriate, and when querying for their value, the form returned should be
- * the shortest form exactly equivalent to the declarations made in the
- * ruleset. However, if there is no shorthand declaration that could be added
- * to the ruleset without changing in any way the rules already declared in
- * the ruleset (i.e., by adding longhand rules that were previously not
- * declared in the ruleset), then the empty string should be returned for the
- * shorthand property.
- * <p>
- * For example, querying for the <code>font</code> property should not
- * return "normal normal normal 14pt/normal Arial, sans-serif", when "14pt
- * Arial, sans-serif" suffices. (The normals are initial values, and are
- * implied by use of the longhand property.)
- * <p>
- * If the values for all the longhand properties that compose a particular
- * string are the initial values, then a string consisting of all the initial
- * values should be returned (e.g. a <code>border-width</code> value of
- * "medium" should be returned as such, not as "").
- * <p>
- * For some shorthand properties that take missing values from other sides,
- * such as the <code>margin</code>,<code>padding</code>, and
- * <code>border-[width|style|color]</code> properties, the minimum number of
- * sides possible should be used; i.e., "0px 10px" will be returned instead of
- * "0px 10px 0px 10px".
- * <p>
- * If the value of a shorthand property can not be decomposed into its
- * component longhand properties, as is the case for the <code>font</code>
- * property with a value of "menu", querying for the values of the component
- * longhand properties should return the empty string.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSS2Properties {
-	/**
-	 * See the azimuth property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getAzimuth();
-
-	public void setAzimuth(String azimuth) throws DOMException;
-
-	/**
-	 * See the background property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackground();
-
-	public void setBackground(String background) throws DOMException;
-
-	/**
-	 * See the background-attachment property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundAttachment();
-
-	public void setBackgroundAttachment(String backgroundAttachment) throws DOMException;
-
-	/**
-	 * See the background-color property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundColor();
-
-	public void setBackgroundColor(String backgroundColor) throws DOMException;
-
-	/**
-	 * See the background-image property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundImage();
-
-	public void setBackgroundImage(String backgroundImage) throws DOMException;
-
-	/**
-	 * See the background-position property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundPosition();
-
-	public void setBackgroundPosition(String backgroundPosition) throws DOMException;
-
-	/**
-	 * See the background-repeat property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBackgroundRepeat();
-
-	public void setBackgroundRepeat(String backgroundRepeat) throws DOMException;
-
-	/**
-	 * See the border property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorder();
-
-	public void setBorder(String border) throws DOMException;
-
-	/**
-	 * See the border-collapse property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderCollapse();
-
-	public void setBorderCollapse(String borderCollapse) throws DOMException;
-
-	/**
-	 * See the border-color property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderColor();
-
-	public void setBorderColor(String borderColor) throws DOMException;
-
-	/**
-	 * See the border-spacing property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderSpacing();
-
-	public void setBorderSpacing(String borderSpacing) throws DOMException;
-
-	/**
-	 * See the border-style property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderStyle();
-
-	public void setBorderStyle(String borderStyle) throws DOMException;
-
-	/**
-	 * See the border-top property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderTop();
-
-	public void setBorderTop(String borderTop) throws DOMException;
-
-	/**
-	 * See the border-right property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderRight();
-
-	public void setBorderRight(String borderRight) throws DOMException;
-
-	/**
-	 * See the border-bottom property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderBottom();
-
-	public void setBorderBottom(String borderBottom) throws DOMException;
-
-	/**
-	 * See the border-left property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderLeft();
-
-	public void setBorderLeft(String borderLeft) throws DOMException;
-
-	/**
-	 * See the border-top-color property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderTopColor();
-
-	public void setBorderTopColor(String borderTopColor) throws DOMException;
-
-	/**
-	 * See the border-right-color property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderRightColor();
-
-	public void setBorderRightColor(String borderRightColor) throws DOMException;
-
-	/**
-	 * See the border-bottom-color property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderBottomColor();
-
-	public void setBorderBottomColor(String borderBottomColor) throws DOMException;
-
-	/**
-	 * See the border-left-color property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderLeftColor();
-
-	public void setBorderLeftColor(String borderLeftColor) throws DOMException;
-
-	/**
-	 * See the border-top-style property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderTopStyle();
-
-	public void setBorderTopStyle(String borderTopStyle) throws DOMException;
-
-	/**
-	 * See the border-right-style property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderRightStyle();
-
-	public void setBorderRightStyle(String borderRightStyle) throws DOMException;
-
-	/**
-	 * See the border-bottom-style property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderBottomStyle();
-
-	public void setBorderBottomStyle(String borderBottomStyle) throws DOMException;
-
-	/**
-	 * See the border-left-style property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderLeftStyle();
-
-	public void setBorderLeftStyle(String borderLeftStyle) throws DOMException;
-
-	/**
-	 * See the border-top-width property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderTopWidth();
-
-	public void setBorderTopWidth(String borderTopWidth) throws DOMException;
-
-	/**
-	 * See the border-right-width property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderRightWidth();
-
-	public void setBorderRightWidth(String borderRightWidth) throws DOMException;
-
-	/**
-	 * See the border-bottom-width property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderBottomWidth();
-
-	public void setBorderBottomWidth(String borderBottomWidth) throws DOMException;
-
-	/**
-	 * See the border-left-width property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderLeftWidth();
-
-	public void setBorderLeftWidth(String borderLeftWidth) throws DOMException;
-
-	/**
-	 * See the border-width property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBorderWidth();
-
-	public void setBorderWidth(String borderWidth) throws DOMException;
-
-	/**
-	 * See the bottom property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getBottom();
-
-	public void setBottom(String bottom) throws DOMException;
-
-	/**
-	 * See the caption-side property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCaptionSide();
-
-	public void setCaptionSide(String captionSide) throws DOMException;
-
-	/**
-	 * See the clear property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getClear();
-
-	public void setClear(String clear) throws DOMException;
-
-	/**
-	 * See the clip property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getClip();
-
-	public void setClip(String clip) throws DOMException;
-
-	/**
-	 * See the color property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getColor();
-
-	public void setColor(String color) throws DOMException;
-
-	/**
-	 * See the content property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getContent();
-
-	public void setContent(String content) throws DOMException;
-
-	/**
-	 * See the counter-increment property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCounterIncrement();
-
-	public void setCounterIncrement(String counterIncrement) throws DOMException;
-
-	/**
-	 * See the counter-reset property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCounterReset();
-
-	public void setCounterReset(String counterReset) throws DOMException;
-
-	/**
-	 * See the cue property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCue();
-
-	public void setCue(String cue) throws DOMException;
-
-	/**
-	 * See the cue-after property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCueAfter();
-
-	public void setCueAfter(String cueAfter) throws DOMException;
-
-	/**
-	 * See the cue-before property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCueBefore();
-
-	public void setCueBefore(String cueBefore) throws DOMException;
-
-	/**
-	 * See the cursor property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCursor();
-
-	public void setCursor(String cursor) throws DOMException;
-
-	/**
-	 * See the direction property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getDirection();
-
-	public void setDirection(String direction) throws DOMException;
-
-	/**
-	 * See the display property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getDisplay();
-
-	public void setDisplay(String display) throws DOMException;
-
-	/**
-	 * See the elevation property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getElevation();
-
-	public void setElevation(String elevation) throws DOMException;
-
-	/**
-	 * See the empty-cells property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getEmptyCells();
-
-	public void setEmptyCells(String emptyCells) throws DOMException;
-
-	/**
-	 * See the float property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getCssFloat();
-
-	public void setCssFloat(String cssFloat) throws DOMException;
-
-	/**
-	 * See the font property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFont();
-
-	public void setFont(String font) throws DOMException;
-
-	/**
-	 * See the font-family property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontFamily();
-
-	public void setFontFamily(String fontFamily) throws DOMException;
-
-	/**
-	 * See the font-size property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontSize();
-
-	public void setFontSize(String fontSize) throws DOMException;
-
-	/**
-	 * See the font-size-adjust property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontSizeAdjust();
-
-	public void setFontSizeAdjust(String fontSizeAdjust) throws DOMException;
-
-	/**
-	 * See the font-stretch property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontStretch();
-
-	public void setFontStretch(String fontStretch) throws DOMException;
-
-	/**
-	 * See the font-style property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontStyle();
-
-	public void setFontStyle(String fontStyle) throws DOMException;
-
-	/**
-	 * See the font-variant property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontVariant();
-
-	public void setFontVariant(String fontVariant) throws DOMException;
-
-	/**
-	 * See the font-weight property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getFontWeight();
-
-	public void setFontWeight(String fontWeight) throws DOMException;
-
-	/**
-	 * See the height property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getHeight();
-
-	public void setHeight(String height) throws DOMException;
-
-	/**
-	 * See the left property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getLeft();
-
-	public void setLeft(String left) throws DOMException;
-
-	/**
-	 * See the letter-spacing property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getLetterSpacing();
-
-	public void setLetterSpacing(String letterSpacing) throws DOMException;
-
-	/**
-	 * See the line-height property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getLineHeight();
-
-	public void setLineHeight(String lineHeight) throws DOMException;
-
-	/**
-	 * See the list-style property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getListStyle();
-
-	public void setListStyle(String listStyle) throws DOMException;
-
-	/**
-	 * See the list-style-image property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getListStyleImage();
-
-	public void setListStyleImage(String listStyleImage) throws DOMException;
-
-	/**
-	 * See the list-style-position property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getListStylePosition();
-
-	public void setListStylePosition(String listStylePosition) throws DOMException;
-
-	/**
-	 * See the list-style-type property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getListStyleType();
-
-	public void setListStyleType(String listStyleType) throws DOMException;
-
-	/**
-	 * See the margin property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMargin();
-
-	public void setMargin(String margin) throws DOMException;
-
-	/**
-	 * See the margin-top property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarginTop();
-
-	public void setMarginTop(String marginTop) throws DOMException;
-
-	/**
-	 * See the margin-right property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarginRight();
-
-	public void setMarginRight(String marginRight) throws DOMException;
-
-	/**
-	 * See the margin-bottom property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarginBottom();
-
-	public void setMarginBottom(String marginBottom) throws DOMException;
-
-	/**
-	 * See the margin-left property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarginLeft();
-
-	public void setMarginLeft(String marginLeft) throws DOMException;
-
-	/**
-	 * See the marker-offset property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarkerOffset();
-
-	public void setMarkerOffset(String markerOffset) throws DOMException;
-
-	/**
-	 * See the marks property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMarks();
-
-	public void setMarks(String marks) throws DOMException;
-
-	/**
-	 * See the max-height property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMaxHeight();
-
-	public void setMaxHeight(String maxHeight) throws DOMException;
-
-	/**
-	 * See the max-width property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMaxWidth();
-
-	public void setMaxWidth(String maxWidth) throws DOMException;
-
-	/**
-	 * See the min-height property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMinHeight();
-
-	public void setMinHeight(String minHeight) throws DOMException;
-
-	/**
-	 * See the min-width property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getMinWidth();
-
-	public void setMinWidth(String minWidth) throws DOMException;
-
-	/**
-	 * See the orphans property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOrphans();
-
-	public void setOrphans(String orphans) throws DOMException;
-
-	/**
-	 * See the outline property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOutline();
-
-	public void setOutline(String outline) throws DOMException;
-
-	/**
-	 * See the outline-color property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOutlineColor();
-
-	public void setOutlineColor(String outlineColor) throws DOMException;
-
-	/**
-	 * See the outline-style property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOutlineStyle();
-
-	public void setOutlineStyle(String outlineStyle) throws DOMException;
-
-	/**
-	 * See the outline-width property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOutlineWidth();
-
-	public void setOutlineWidth(String outlineWidth) throws DOMException;
-
-	/**
-	 * See the overflow property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getOverflow();
-
-	public void setOverflow(String overflow) throws DOMException;
-
-	/**
-	 * See the padding property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPadding();
-
-	public void setPadding(String padding) throws DOMException;
-
-	/**
-	 * See the padding-top property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPaddingTop();
-
-	public void setPaddingTop(String paddingTop) throws DOMException;
-
-	/**
-	 * See the padding-right property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPaddingRight();
-
-	public void setPaddingRight(String paddingRight) throws DOMException;
-
-	/**
-	 * See the padding-bottom property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPaddingBottom();
-
-	public void setPaddingBottom(String paddingBottom) throws DOMException;
-
-	/**
-	 * See the padding-left property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPaddingLeft();
-
-	public void setPaddingLeft(String paddingLeft) throws DOMException;
-
-	/**
-	 * See the page property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPage();
-
-	public void setPage(String page) throws DOMException;
-
-	/**
-	 * See the page-break-after property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPageBreakAfter();
-
-	public void setPageBreakAfter(String pageBreakAfter) throws DOMException;
-
-	/**
-	 * See the page-break-before property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPageBreakBefore();
-
-	public void setPageBreakBefore(String pageBreakBefore) throws DOMException;
-
-	/**
-	 * See the page-break-inside property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPageBreakInside();
-
-	public void setPageBreakInside(String pageBreakInside) throws DOMException;
-
-	/**
-	 * See the pause property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPause();
-
-	public void setPause(String pause) throws DOMException;
-
-	/**
-	 * See the pause-after property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPauseAfter();
-
-	public void setPauseAfter(String pauseAfter) throws DOMException;
-
-	/**
-	 * See the pause-before property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPauseBefore();
-
-	public void setPauseBefore(String pauseBefore) throws DOMException;
-
-	/**
-	 * See the pitch property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPitch();
-
-	public void setPitch(String pitch) throws DOMException;
-
-	/**
-	 * See the pitch-range property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPitchRange();
-
-	public void setPitchRange(String pitchRange) throws DOMException;
-
-	/**
-	 * See the play-during property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPlayDuring();
-
-	public void setPlayDuring(String playDuring) throws DOMException;
-
-	/**
-	 * See the position property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getPosition();
-
-	public void setPosition(String position) throws DOMException;
-
-	/**
-	 * See the quotes property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getQuotes();
-
-	public void setQuotes(String quotes) throws DOMException;
-
-	/**
-	 * See the richness property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getRichness();
-
-	public void setRichness(String richness) throws DOMException;
-
-	/**
-	 * See the right property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getRight();
-
-	public void setRight(String right) throws DOMException;
-
-	/**
-	 * See the size property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSize();
-
-	public void setSize(String size) throws DOMException;
-
-	/**
-	 * See the speak property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeak();
-
-	public void setSpeak(String speak) throws DOMException;
-
-	/**
-	 * See the speak-header property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeakHeader();
-
-	public void setSpeakHeader(String speakHeader) throws DOMException;
-
-	/**
-	 * See the speak-numeral property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeakNumeral();
-
-	public void setSpeakNumeral(String speakNumeral) throws DOMException;
-
-	/**
-	 * See the speak-punctuation property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeakPunctuation();
-
-	public void setSpeakPunctuation(String speakPunctuation) throws DOMException;
-
-	/**
-	 * See the speech-rate property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getSpeechRate();
-
-	public void setSpeechRate(String speechRate) throws DOMException;
-
-	/**
-	 * See the stress property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getStress();
-
-	public void setStress(String stress) throws DOMException;
-
-	/**
-	 * See the table-layout property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTableLayout();
-
-	public void setTableLayout(String tableLayout) throws DOMException;
-
-	/**
-	 * See the text-align property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextAlign();
-
-	public void setTextAlign(String textAlign) throws DOMException;
-
-	/**
-	 * See the text-decoration property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextDecoration();
-
-	public void setTextDecoration(String textDecoration) throws DOMException;
-
-	/**
-	 * See the text-indent property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextIndent();
-
-	public void setTextIndent(String textIndent) throws DOMException;
-
-	/**
-	 * See the text-shadow property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextShadow();
-
-	public void setTextShadow(String textShadow) throws DOMException;
-
-	/**
-	 * See the text-transform property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTextTransform();
-
-	public void setTextTransform(String textTransform) throws DOMException;
-
-	/**
-	 * See the top property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getTop();
-
-	public void setTop(String top) throws DOMException;
-
-	/**
-	 * See the unicode-bidi property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getUnicodeBidi();
-
-	public void setUnicodeBidi(String unicodeBidi) throws DOMException;
-
-	/**
-	 * See the vertical-align property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getVerticalAlign();
-
-	public void setVerticalAlign(String verticalAlign) throws DOMException;
-
-	/**
-	 * See the visibility property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getVisibility();
-
-	public void setVisibility(String visibility) throws DOMException;
-
-	/**
-	 * See the voice-family property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getVoiceFamily();
-
-	public void setVoiceFamily(String voiceFamily) throws DOMException;
-
-	/**
-	 * See the volume property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getVolume();
-
-	public void setVolume(String volume) throws DOMException;
-
-	/**
-	 * See the white-space property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getWhiteSpace();
-
-	public void setWhiteSpace(String whiteSpace) throws DOMException;
-
-	/**
-	 * See the widows property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getWidows();
-
-	public void setWidows(String widows) throws DOMException;
-
-	/**
-	 * See the width property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getWidth();
-
-	public void setWidth(String width) throws DOMException;
-
-	/**
-	 * See the word-spacing property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getWordSpacing();
-
-	public void setWordSpacing(String wordSpacing) throws DOMException;
-
-	/**
-	 * See the z-index property definition in CSS2.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the new value has a syntax error
-	 *                and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public String getZIndex();
-
-	public void setZIndex(String zIndex) throws DOMException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSCharsetRule.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSCharsetRule.java
deleted file mode 100644
index cc44b30..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSCharsetRule.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSCharsetRule</code> interface represents a
- * 
- * @charset rule in a CSS style sheet. The value of the <code>encoding</code>
- *          attribute does not affect the encoding of text data in the DOM
- *          objects; this encoding is always UTF-16. After a stylesheet is
- *          loaded, the value of the <code>encoding</code> attribute is the
- *          value found in the <code>@charset</code> rule. If there was no <code>@charset</code> in the original document, then no
- *          <code>CSSCharsetRule</code> is created. The value of the
- *          <code>encoding</code> attribute may also be used as a hint for
- *          the encoding used on serialization of the style sheet.
- *          <p>
- *          The value of the
- * @charset rule (and therefore of the <code>CSSCharsetRule</code>) may not
- *          correspond to the encoding the document actually came in;
- *          character encoding information e.g. in an HTTP header, has
- *          priority (see CSS document representation) but this is not
- *          reflected in the <code>CSSCharsetRule</code>.
- *          <p>
- *          See also the <a
- *          href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- *          Object Model (DOM) Level 2 Style Specification </a>.
- * @since DOM Level 2
- */
-public interface CSSCharsetRule extends CSSRule {
-	/**
-	 * The encoding information used in this <code>@charset</code> rule.
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified encoding value has a
-	 *                syntax error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding
-	 *                rule is readonly.
-	 */
-	public String getEncoding();
-
-	public void setEncoding(String encoding) throws DOMException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSFontFaceRule.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSFontFaceRule.java
deleted file mode 100644
index 48aff6e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSFontFaceRule.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSFontFaceRule</code> interface represents a
- * 
- * @font-face rule in a CSS style sheet. The <code>@font-face</code> rule is used to hold a set of font descriptions.
- *            <p>
- *            See also the <a
- *            href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- *            Object Model (DOM) Level 2 Style Specification </a>.
- * @since DOM Level 2
- */
-public interface CSSFontFaceRule extends CSSRule {
-	/**
-	 * The declaration-block of this rule.
-	 */
-	public CSSStyleDeclaration getStyle();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSImportRule.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSImportRule.java
deleted file mode 100644
index 9708d08..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSImportRule.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.stylesheets.MediaList;
-
-/**
- * The <code>CSSImportRule</code> interface represents a
- * 
- * @import rule within a CSS style sheet. The <code>@import</code> rule is used to import style rules from other style sheets.
- *         <p>
- *         See also the <a
- *         href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- *         Object Model (DOM) Level 2 Style Specification </a>.
- * @since DOM Level 2
- */
-public interface CSSImportRule extends CSSRule {
-	/**
-	 * The location of the style sheet to be imported. The attribute will not
-	 * contain the <code>"url(...)"</code> specifier around the URI.
-	 */
-	public String getHref();
-
-	/**
-	 * A list of media types for which this style sheet may be used.
-	 */
-	public MediaList getMedia();
-
-	/**
-	 * The style sheet referred to by this rule, if it has been loaded. The
-	 * value of this attribute is <code>null</code> if the style sheet has
-	 * not yet been loaded or if it will not be loaded (e.g. if the style
-	 * sheet is for a media type not supported by the user agent).
-	 */
-	public CSSStyleSheet getStyleSheet();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSMediaRule.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSMediaRule.java
deleted file mode 100644
index ce1c5aa..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSMediaRule.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.stylesheets.MediaList;
-
-/**
- * The <code>CSSMediaRule</code> interface represents a
- * 
- * @media rule in a CSS style sheet. A <code>@media</code> rule can be used to delimit style rules for specific media
- *        types.
- *        <p>
- *        See also the <a
- *        href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- *        Object Model (DOM) Level 2 Style Specification </a>.
- * @since DOM Level 2
- */
-public interface CSSMediaRule extends CSSRule {
-	/**
-	 * A list of media types for this rule.
-	 */
-	public MediaList getMedia();
-
-	/**
-	 * A list of all CSS rules contained within the media block.
-	 */
-	public CSSRuleList getCssRules();
-
-	/**
-	 * Used to insert a new rule into the media block.
-	 * 
-	 * @param rule
-	 *            The parsable text representing the rule. For rule sets this
-	 *            contains both the selector and the style declaration. For
-	 *            at-rules, this specifies both the at-identifier and the rule
-	 *            content.
-	 * @param index
-	 *            The index within the media block's rule collection of the
-	 *            rule before which to insert the specified rule. If the
-	 *            specified index is equal to the length of the media blocks's
-	 *            rule collection, the rule will be added to the end of the
-	 *            media block.
-	 * @return The index within the media block's rule collection of the newly
-	 *         inserted rule.
-	 * @exception DOMException
-	 *                HIERARCHY_REQUEST_ERR: Raised if the rule cannot be
-	 *                inserted at the specified index, e.g., if an
-	 *                <code>@import</code> rule is inserted after a standard rule set or other
-	 *         at-rule. <br>
-	 *         INDEX_SIZE_ERR: Raised if the specified index is not a valid
-	 *         insertion point. <br>
-	 *         NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is
-	 *         readonly. <br>
-	 *         SYNTAX_ERR: Raised if the specified rule has a syntax error and
-	 *         is unparsable.
-	 */
-	public int insertRule(String rule, int index) throws DOMException;
-
-	/**
-	 * Used to delete a rule from the media block.
-	 * 
-	 * @param index
-	 *            The index within the media block's rule collection of the
-	 *            rule to remove.
-	 * @exception DOMException
-	 *                INDEX_SIZE_ERR: Raised if the specified index does not
-	 *                correspond to a rule in the media rule list. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule
-	 *                is readonly.
-	 */
-	public void deleteRule(int index) throws DOMException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSPageRule.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSPageRule.java
deleted file mode 100644
index 26cda33..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSPageRule.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSPageRule</code> interface represents a
- * 
- * @page rule within a CSS style sheet. The <code>@page</code> rule is used to specify the dimensions, orientation, margins,
- *       etc. of a page box for paged media.
- *       <p>
- *       See also the <a
- *       href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- *       Object Model (DOM) Level 2 Style Specification </a>.
- * @since DOM Level 2
- */
-public interface CSSPageRule extends CSSRule {
-	/**
-	 * The parsable textual representation of the page selector for the rule.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified CSS string value has
-	 *                a syntax error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is
-	 *                readonly.
-	 */
-	public String getSelectorText();
-
-	public void setSelectorText(String selectorText) throws DOMException;
-
-	/**
-	 * The declaration-block of this rule.
-	 */
-	public CSSStyleDeclaration getStyle();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSPrimitiveValue.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSPrimitiveValue.java
deleted file mode 100644
index cf7f4ce..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSPrimitiveValue.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSPrimitiveValue</code> interface represents a single CSS
- * value . This interface may be used to determine the value of a specific
- * style property currently set in a block or to set a specific style property
- * explicitly within the block. An instance of this interface might be
- * obtained from the <code>getPropertyCSSValue</code> method of the
- * <code>CSSStyleDeclaration</code> interface. A
- * <code>CSSPrimitiveValue</code> object only occurs in a context of a CSS
- * property.
- * <p>
- * Conversions are allowed between absolute values (from millimeters to
- * centimeters, from degrees to radians, and so on) but not between relative
- * values. (For example, a pixel value cannot be converted to a centimeter
- * value.) Percentage values can't be converted since they are relative to the
- * parent value (or another property value). There is one exception for color
- * percentage values: since a color percentage value is relative to the range
- * 0-255, a color percentage value can be converted to a number; (see also the
- * <code>RGBColor</code> interface).
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSSPrimitiveValue extends CSSValue {
-	// UnitTypes
-	/**
-	 * The value is not a recognized CSS2 value. The value can only be
-	 * obtained by using the <code>cssText</code> attribute.
-	 */
-	public static final short CSS_UNKNOWN = 0;
-	/**
-	 * The value is a simple number. The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_NUMBER = 1;
-	/**
-	 * The value is a percentage. The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_PERCENTAGE = 2;
-	/**
-	 * The value is a length (ems). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_EMS = 3;
-	/**
-	 * The value is a length (exs). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_EXS = 4;
-	/**
-	 * The value is a length (px). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_PX = 5;
-	/**
-	 * The value is a length (cm). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_CM = 6;
-	/**
-	 * The value is a length (mm). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_MM = 7;
-	/**
-	 * The value is a length (in). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_IN = 8;
-	/**
-	 * The value is a length (pt). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_PT = 9;
-	/**
-	 * The value is a length (pc). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_PC = 10;
-	/**
-	 * The value is an angle (deg). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_DEG = 11;
-	/**
-	 * The value is an angle (rad). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_RAD = 12;
-	/**
-	 * The value is an angle (grad). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_GRAD = 13;
-	/**
-	 * The value is a time (ms). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_MS = 14;
-	/**
-	 * The value is a time (s). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_S = 15;
-	/**
-	 * The value is a frequency (Hz). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_HZ = 16;
-	/**
-	 * The value is a frequency (kHz). The value can be obtained by using the
-	 * <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_KHZ = 17;
-	/**
-	 * The value is a number with an unknown dimension. The value can be
-	 * obtained by using the <code>getFloatValue</code> method.
-	 */
-	public static final short CSS_DIMENSION = 18;
-	/**
-	 * The value is a STRING. The value can be obtained by using the
-	 * <code>getStringValue</code> method.
-	 */
-	public static final short CSS_STRING = 19;
-	/**
-	 * The value is a URI. The value can be obtained by using the
-	 * <code>getStringValue</code> method.
-	 */
-	public static final short CSS_URI = 20;
-	/**
-	 * The value is an identifier. The value can be obtained by using the
-	 * <code>getStringValue</code> method.
-	 */
-	public static final short CSS_IDENT = 21;
-	/**
-	 * The value is a attribute function. The value can be obtained by using
-	 * the <code>getStringValue</code> method.
-	 */
-	public static final short CSS_ATTR = 22;
-	/**
-	 * The value is a counter or counters function. The value can be obtained
-	 * by using the <code>getCounterValue</code> method.
-	 */
-	public static final short CSS_COUNTER = 23;
-	/**
-	 * The value is a rect function. The value can be obtained by using the
-	 * <code>getRectValue</code> method.
-	 */
-	public static final short CSS_RECT = 24;
-	/**
-	 * The value is a RGB color. The value can be obtained by using the
-	 * <code>getRGBColorValue</code> method.
-	 */
-	public static final short CSS_RGBCOLOR = 25;
-
-	/**
-	 * The type of the value as defined by the constants specified above.
-	 */
-	public short getPrimitiveType();
-
-	/**
-	 * A method to set the float value with a specified unit. If the property
-	 * attached with this value can not accept the specified unit or the float
-	 * value, the value will be unchanged and a <code>DOMException</code>
-	 * will be raised.
-	 * 
-	 * @param unitType
-	 *            A unit code as defined above. The unit code can only be a
-	 *            float unit type (i.e. <code>CSS_NUMBER</code>,
-	 *            <code>CSS_PERCENTAGE</code>,<code>CSS_EMS</code>,
-	 *            <code>CSS_EXS</code>,<code>CSS_PX</code>,
-	 *            <code>CSS_CM</code>,<code>CSS_MM</code>,
-	 *            <code>CSS_IN</code>,<code>CSS_PT</code>,
-	 *            <code>CSS_PC</code>,<code>CSS_DEG</code>,
-	 *            <code>CSS_RAD</code>,<code>CSS_GRAD</code>,
-	 *            <code>CSS_MS</code>,<code>CSS_S</code>,
-	 *            <code>CSS_HZ</code>,<code>CSS_KHZ</code>,
-	 *            <code>CSS_DIMENSION</code>).
-	 * @param floatValue
-	 *            The new float value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the attached property
-	 *                doesn't support the float value or the unit type. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public void setFloatValue(short unitType, float floatValue) throws DOMException;
-
-	/**
-	 * This method is used to get a float value in a specified unit. If this
-	 * CSS value doesn't contain a float value or can't be converted into the
-	 * specified unit, a <code>DOMException</code> is raised.
-	 * 
-	 * @param unitType
-	 *            A unit code to get the float value. The unit code can only
-	 *            be a float unit type (i.e. <code>CSS_NUMBER</code>,
-	 *            <code>CSS_PERCENTAGE</code>,<code>CSS_EMS</code>,
-	 *            <code>CSS_EXS</code>,<code>CSS_PX</code>,
-	 *            <code>CSS_CM</code>,<code>CSS_MM</code>,
-	 *            <code>CSS_IN</code>,<code>CSS_PT</code>,
-	 *            <code>CSS_PC</code>,<code>CSS_DEG</code>,
-	 *            <code>CSS_RAD</code>,<code>CSS_GRAD</code>,
-	 *            <code>CSS_MS</code>,<code>CSS_S</code>,
-	 *            <code>CSS_HZ</code>,<code>CSS_KHZ</code>,
-	 *            <code>CSS_DIMENSION</code>).
-	 * @return The float value in the specified unit.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a float value or if the float value can't be
-	 *                converted into the specified unit.
-	 */
-	public float getFloatValue(short unitType) throws DOMException;
-
-	/**
-	 * A method to set the string value with the specified unit. If the
-	 * property attached to this value can't accept the specified unit or the
-	 * string value, the value will be unchanged and a
-	 * <code>DOMException</code> will be raised.
-	 * 
-	 * @param stringType
-	 *            A string code as defined above. The string code can only be
-	 *            a string unit type (i.e. <code>CSS_STRING</code>,
-	 *            <code>CSS_URI</code>,<code>CSS_IDENT</code>, and
-	 *            <code>CSS_ATTR</code>).
-	 * @param stringValue
-	 *            The new string value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a string value or if the string value can't be
-	 *                converted into the specified unit. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
-	 *                readonly.
-	 */
-	public void setStringValue(short stringType, String stringValue) throws DOMException;
-
-	/**
-	 * This method is used to get the string value. If the CSS value doesn't
-	 * contain a string value, a <code>DOMException</code> is raised. Some
-	 * properties (like 'font-family' or 'voice-family') convert a whitespace
-	 * separated list of idents to a string.
-	 * 
-	 * @return The string value in the current unit. The current
-	 *         <code>primitiveType</code> can only be a string unit type
-	 *         (i.e. <code>CSS_STRING</code>,<code>CSS_URI</code>,
-	 *         <code>CSS_IDENT</code> and <code>CSS_ATTR</code>).
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a string value.
-	 */
-	public String getStringValue() throws DOMException;
-
-	/**
-	 * This method is used to get the Counter value. If this CSS value doesn't
-	 * contain a counter value, a <code>DOMException</code> is raised.
-	 * Modification to the corresponding style property can be achieved using
-	 * the <code>Counter</code> interface.
-	 * 
-	 * @return The Counter value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a Counter value (e.g. this is not
-	 *                <code>CSS_COUNTER</code>).
-	 */
-	public Counter getCounterValue() throws DOMException;
-
-	/**
-	 * This method is used to get the Rect value. If this CSS value doesn't
-	 * contain a rect value, a <code>DOMException</code> is raised.
-	 * Modification to the corresponding style property can be achieved using
-	 * the <code>Rect</code> interface.
-	 * 
-	 * @return The Rect value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the CSS value doesn't
-	 *                contain a Rect value. (e.g. this is not
-	 *                <code>CSS_RECT</code>).
-	 */
-	public Rect getRectValue() throws DOMException;
-
-	/**
-	 * This method is used to get the RGB color. If this CSS value doesn't
-	 * contain a RGB color value, a <code>DOMException</code> is raised.
-	 * Modification to the corresponding style property can be achieved using
-	 * the <code>RGBColor</code> interface.
-	 * 
-	 * @return the RGB color value.
-	 * @exception DOMException
-	 *                INVALID_ACCESS_ERR: Raised if the attached property
-	 *                can't return a RGB color value (e.g. this is not
-	 *                <code>CSS_RGBCOLOR</code>).
-	 */
-	public RGBColor getRGBColorValue() throws DOMException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSRule.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSRule.java
deleted file mode 100644
index 18e3b29..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSRule.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSRule</code> interface is the abstract base interface for any
- * type of CSS statement. This includes both rule sets and at-rules. An
- * implementation is expected to preserve all rules specified in a CSS style
- * sheet, even if the rule is not recognized by the parser. Unrecognized rules
- * are represented using the <code>CSSUnknownRule</code> interface.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSSRule {
-	// RuleType
-	/**
-	 * The rule is a <code>CSSUnknownRule</code>.
-	 */
-	public static final short UNKNOWN_RULE = 0;
-	/**
-	 * The rule is a <code>CSSStyleRule</code>.
-	 */
-	public static final short STYLE_RULE = 1;
-	/**
-	 * The rule is a <code>CSSCharsetRule</code>.
-	 */
-	public static final short CHARSET_RULE = 2;
-	/**
-	 * The rule is a <code>CSSImportRule</code>.
-	 */
-	public static final short IMPORT_RULE = 3;
-	/**
-	 * The rule is a <code>CSSMediaRule</code>.
-	 */
-	public static final short MEDIA_RULE = 4;
-	/**
-	 * The rule is a <code>CSSFontFaceRule</code>.
-	 */
-	public static final short FONT_FACE_RULE = 5;
-	/**
-	 * The rule is a <code>CSSPageRule</code>.
-	 */
-	public static final short PAGE_RULE = 6;
-
-	/**
-	 * The type of the rule, as defined above. The expectation is that
-	 * binding-specific casting methods can be used to cast down from an
-	 * instance of the <code>CSSRule</code> interface to the specific
-	 * derived interface implied by the <code>type</code>.
-	 */
-	public short getType();
-
-	/**
-	 * The parsable textual representation of the rule. This reflects the
-	 * current state of the rule and not its initial value.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified CSS string value has
-	 *                a syntax error and is unparsable. <br>
-	 *                INVALID_MODIFICATION_ERR: Raised if the specified CSS
-	 *                string value represents a different type of rule than
-	 *                the current one. <br>
-	 *                HIERARCHY_REQUEST_ERR: Raised if the rule cannot be
-	 *                inserted at this point in the style sheet. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is
-	 *                readonly.
-	 */
-	public String getCssText();
-
-	public void setCssText(String cssText) throws DOMException;
-
-	/**
-	 * The style sheet that contains this rule.
-	 */
-	public CSSStyleSheet getParentStyleSheet();
-
-	/**
-	 * If this rule is contained inside another rule (e.g. a style rule inside
-	 * an
-	 * 
-	 * @media block), this is the containing rule. If this rule is not nested
-	 *        inside any other rules, this returns <code>null</code>.
-	 */
-	public CSSRule getParentRule();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSRuleList.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSRuleList.java
deleted file mode 100644
index 8fed1c3..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSRuleList.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSRuleList</code> interface provides the abstraction of an
- * ordered collection of CSS rules.
- * <p>
- * The items in the <code>CSSRuleList</code> are accessible via an integral
- * index, starting from 0.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSSRuleList {
-	/**
-	 * The number of <code>CSSRules</code> in the list. The range of valid
-	 * child rule indices is <code>0</code> to <code>length-1</code>
-	 * inclusive.
-	 */
-	public int getLength();
-
-	/**
-	 * Used to retrieve a CSS rule by ordinal index. The order in this
-	 * collection represents the order of the rules in the CSS style sheet. If
-	 * index is greater than or equal to the number of rules in the list, this
-	 * returns <code>null</code>.
-	 * 
-	 * @param indexIndex
-	 *            into the collection
-	 * @return The style rule at the <code>index</code> position in the
-	 *         <code>CSSRuleList</code>, or <code>null</code> if that is
-	 *         not a valid index.
-	 */
-	public CSSRule item(int index);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSStyleDeclaration.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSStyleDeclaration.java
deleted file mode 100644
index c2c3b61..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSStyleDeclaration.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSStyleDeclaration</code> interface represents a single CSS
- * declaration block. This interface may be used to determine the style
- * properties currently set in a block or to set style properties explicitly
- * within the block.
- * <p>
- * While an implementation may not recognize all CSS properties within a CSS
- * declaration block, it is expected to provide access to all specified
- * properties in the style sheet through the <code>CSSStyleDeclaration</code>
- * interface. Furthermore, implementations that support a specific level of
- * CSS should correctly handle CSS shorthand properties for that level. For a
- * further discussion of shorthand properties, see the
- * <code>CSS2Properties</code> interface.
- * <p>
- * This interface is also used to provide a read-only access to the computed
- * values of an element. See also the <code>ViewCSS</code> interface. The
- * CSS Object Model doesn't provide an access to the specified or actual
- * values of the CSS cascade.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSSStyleDeclaration {
-	/**
-	 * The parsable textual representation of the declaration block (excluding
-	 * the surrounding curly braces). Setting this attribute will result in
-	 * the parsing of the new value and resetting of all the properties in the
-	 * declaration block including the removal or addition of properties.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified CSS string value has
-	 *                a syntax error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration
-	 *                is readonly or a property is readonly.
-	 */
-	public String getCssText();
-
-	public void setCssText(String cssText) throws DOMException;
-
-	/**
-	 * Used to retrieve the value of a CSS property if it has been explicitly
-	 * set within this declaration block.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @return Returns the value of the property if it has been explicitly set
-	 *         for this declaration block. Returns the empty string if the
-	 *         property has not been set.
-	 */
-	public String getPropertyValue(String propertyName);
-
-	/**
-	 * Used to retrieve the object representation of the value of a CSS
-	 * property if it has been explicitly set within this declaration block.
-	 * This method returns <code>null</code> if the property is a shorthand
-	 * property. Shorthand property values can only be accessed and modified
-	 * as strings, using the <code>getPropertyValue</code> and
-	 * <code>setProperty</code> methods.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @return Returns the value of the property if it has been explicitly set
-	 *         for this declaration block. Returns <code>null</code> if the
-	 *         property has not been set.
-	 */
-	public CSSValue getPropertyCSSValue(String propertyName);
-
-	/**
-	 * Used to remove a CSS property if it has been explicitly set within this
-	 * declaration block.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @return Returns the value of the property if it has been explicitly set
-	 *         for this declaration block. Returns the empty string if the
-	 *         property has not been set or the property name does not
-	 *         correspond to a known CSS property.
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration
-	 *                is readonly or the property is readonly.
-	 */
-	public String removeProperty(String propertyName) throws DOMException;
-
-	/**
-	 * Used to retrieve the priority of a CSS property (e.g. the
-	 * <code>"important"</code> qualifier) if the property has been
-	 * explicitly set in this declaration block.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @return A string representing the priority (e.g.
-	 *         <code>"important"</code>) if one exists. The empty string if
-	 *         none exists.
-	 */
-	public String getPropertyPriority(String propertyName);
-
-	/**
-	 * Used to set a property value and priority within this declaration
-	 * block.
-	 * 
-	 * @param propertyName
-	 *            The name of the CSS property. See the CSS property index.
-	 * @param value
-	 *            The new value of the property.
-	 * @param priority
-	 *            The new priority of the property (e.g.
-	 *            <code>"important"</code>).
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified value has a syntax
-	 *                error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration
-	 *                is readonly or the property is readonly.
-	 */
-	public void setProperty(String propertyName, String value, String priority) throws DOMException;
-
-	/**
-	 * The number of properties that have been explicitly set in this
-	 * declaration block. The range of valid indices is 0 to length-1
-	 * inclusive.
-	 */
-	public int getLength();
-
-	/**
-	 * Used to retrieve the properties that have been explicitly set in this
-	 * declaration block. The order of the properties retrieved using this
-	 * method does not have to be the order in which they were set. This
-	 * method can be used to iterate over all properties in this declaration
-	 * block.
-	 * 
-	 * @param index
-	 *            Index of the property name to retrieve.
-	 * @return The name of the property at this ordinal position. The empty
-	 *         string if no property exists at this position.
-	 */
-	public String item(int index);
-
-	/**
-	 * The CSS rule that contains this declaration block or <code>null</code>
-	 * if this <code>CSSStyleDeclaration</code> is not attached to a
-	 * <code>CSSRule</code>.
-	 */
-	public CSSRule getParentRule();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSStyleRule.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSStyleRule.java
deleted file mode 100644
index df24630..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSStyleRule.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSStyleRule</code> interface represents a single rule set in a
- * CSS style sheet.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSSStyleRule extends CSSRule {
-	/**
-	 * The textual representation of the selector for the rule set. The
-	 * implementation may have stripped out insignificant whitespace while
-	 * parsing the selector.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified CSS string value has
-	 *                a syntax error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is
-	 *                readonly.
-	 */
-	public String getSelectorText();
-
-	public void setSelectorText(String selectorText) throws DOMException;
-
-	/**
-	 * The declaration-block of this rule set.
-	 */
-	public CSSStyleDeclaration getStyle();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSStyleSheet.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSStyleSheet.java
deleted file mode 100644
index 20b593e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSStyleSheet.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.stylesheets.StyleSheet;
-
-/**
- * The <code>CSSStyleSheet</code> interface is a concrete interface used to
- * represent a CSS style sheet i.e., a style sheet whose content type is
- * "text/css".
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSSStyleSheet extends StyleSheet {
-	/**
-	 * If this style sheet comes from an <code>@import</code> rule, the <code>ownerRule</code> attribute will
-	 *         contain the <code>CSSImportRule</code>. In that case, the
-	 *         <code>ownerNode</code> attribute in the
-	 *         <code>StyleSheet</code> interface will be <code>null</code>.
-	 *         If the style sheet comes from an element or a processing
-	 *         instruction, the <code>ownerRule</code> attribute will be
-	 *         <code>null</code> and the <code>ownerNode</code> attribute
-	 *         will contain the <code>Node</code>.
-	 */
-	public CSSRule getOwnerRule();
-
-	/**
-	 * The list of all CSS rules contained within the style sheet. This
-	 * includes both rule sets and at-rules.
-	 */
-	public CSSRuleList getCssRules();
-
-	/**
-	 * Used to insert a new rule into the style sheet. The new rule now
-	 * becomes part of the cascade.
-	 * 
-	 * @param rule
-	 *            The parsable text representing the rule. For rule sets this
-	 *            contains both the selector and the style declaration. For
-	 *            at-rules, this specifies both the at-identifier and the rule
-	 *            content.
-	 * @param index
-	 *            The index within the style sheet's rule list of the rule
-	 *            before which to insert the specified rule. If the specified
-	 *            index is equal to the length of the style sheet's rule
-	 *            collection, the rule will be added to the end of the style
-	 *            sheet.
-	 * @return The index within the style sheet's rule collection of the newly
-	 *         inserted rule.
-	 * @exception DOMException
-	 *                HIERARCHY_REQUEST_ERR: Raised if the rule cannot be
-	 *                inserted at the specified index e.g. if an
-	 *                <code>@import</code> rule is inserted after a standard rule set or other
-	 *         at-rule. <br>
-	 *         INDEX_SIZE_ERR: Raised if the specified index is not a valid
-	 *         insertion point. <br>
-	 *         NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
-	 *         readonly. <br>
-	 *         SYNTAX_ERR: Raised if the specified rule has a syntax error and
-	 *         is unparsable.
-	 */
-	public int insertRule(String rule, int index) throws DOMException;
-
-	/**
-	 * Used to delete a rule from the style sheet.
-	 * 
-	 * @param index
-	 *            The index within the style sheet's rule list of the rule to
-	 *            remove.
-	 * @exception DOMException
-	 *                INDEX_SIZE_ERR: Raised if the specified index does not
-	 *                correspond to a rule in the style sheet's rule list.
-	 *                <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet
-	 *                is readonly.
-	 */
-	public void deleteRule(int index) throws DOMException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSUnknownRule.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSUnknownRule.java
deleted file mode 100644
index c6e20e3..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSUnknownRule.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSUnknownRule</code> interface represents an at-rule not
- * supported by this user agent.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSSUnknownRule extends CSSRule {
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSValue.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSValue.java
deleted file mode 100644
index 6ba0466..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSValue.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSValue</code> interface represents a simple or a complex
- * value. A <code>CSSValue</code> object only occurs in a context of a CSS
- * property.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSSValue {
-	// UnitTypes
-	/**
-	 * The value is inherited and the <code>cssText</code> contains
-	 * "inherit".
-	 */
-	public static final short CSS_INHERIT = 0;
-	/**
-	 * The value is a primitive value and an instance of the
-	 * <code>CSSPrimitiveValue</code> interface can be obtained by using
-	 * binding-specific casting methods on this instance of the
-	 * <code>CSSValue</code> interface.
-	 */
-	public static final short CSS_PRIMITIVE_VALUE = 1;
-	/**
-	 * The value is a <code>CSSValue</code> list and an instance of the
-	 * <code>CSSValueList</code> interface can be obtained by using
-	 * binding-specific casting methods on this instance of the
-	 * <code>CSSValue</code> interface.
-	 */
-	public static final short CSS_VALUE_LIST = 2;
-	/**
-	 * The value is a custom value.
-	 */
-	public static final short CSS_CUSTOM = 3;
-
-	/**
-	 * A string representation of the current value.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified CSS string value has
-	 *                a syntax error (according to the attached property) or
-	 *                is unparsable. <br>
-	 *                INVALID_MODIFICATION_ERR: Raised if the specified CSS
-	 *                string value represents a different type of values than
-	 *                the values allowed by the CSS property. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this value is
-	 *                readonly.
-	 */
-	public String getCssText();
-
-	public void setCssText(String cssText) throws DOMException;
-
-	/**
-	 * A code defining the type of the value as defined above.
-	 */
-	public short getCssValueType();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSValueList.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSValueList.java
deleted file mode 100644
index 1813cc0..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/CSSValueList.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSValueList</code> interface provides the abstraction of an
- * ordered collection of CSS values.
- * <p>
- * Some properties allow an empty list into their syntax. In that case, these
- * properties take the <code>none</code> identifier. So, an empty list means
- * that the property has the value <code>none</code>.
- * <p>
- * The items in the <code>CSSValueList</code> are accessible via an integral
- * index, starting from 0.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface CSSValueList extends CSSValue {
-	/**
-	 * The number of <code>CSSValues</code> in the list. The range of valid
-	 * values of the indices is <code>0</code> to <code>length-1</code>
-	 * inclusive.
-	 */
-	public int getLength();
-
-	/**
-	 * Used to retrieve a <code>CSSValue</code> by ordinal index. The order
-	 * in this collection represents the order of the values in the CSS style
-	 * property. If index is greater than or equal to the number of values in
-	 * the list, this returns <code>null</code>.
-	 * 
-	 * @param indexIndex
-	 *            into the collection.
-	 * @return The <code>CSSValue</code> at the <code>index</code>
-	 *         position in the <code>CSSValueList</code>, or
-	 *         <code>null</code> if that is not a valid index.
-	 */
-	public CSSValue item(int index);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/Counter.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/Counter.java
deleted file mode 100644
index aee88cf..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/Counter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>Counter</code> interface is used to represent any counter or
- * counters function value. This interface reflects the values in the
- * underlying style property.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface Counter {
-	/**
-	 * This attribute is used for the identifier of the counter.
-	 */
-	public String getIdentifier();
-
-	/**
-	 * This attribute is used for the style of the list.
-	 */
-	public String getListStyle();
-
-	/**
-	 * This attribute is used for the separator of the nested counters.
-	 */
-	public String getSeparator();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/DOMImplementationCSS.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/DOMImplementationCSS.java
deleted file mode 100644
index 7cbdf98..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/DOMImplementationCSS.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.DOMImplementation;
-
-/**
- * This interface allows the DOM user to create a <code>CSSStyleSheet</code>
- * outside the context of a document. There is no way to associate the new
- * <code>CSSStyleSheet</code> with a document in DOM Level 2.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface DOMImplementationCSS extends DOMImplementation {
-	/**
-	 * Creates a new <code>CSSStyleSheet</code>.
-	 * 
-	 * @param title
-	 *            The advisory title. See also the section.
-	 * @param media
-	 *            The comma-separated list of media associated with the new
-	 *            style sheet. See also the section.
-	 * @return A new CSS style sheet.
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified media string value
-	 *                has a syntax error and is unparsable.
-	 */
-	public CSSStyleSheet createCSSStyleSheet(String title, String media) throws DOMException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/DocumentCSS.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/DocumentCSS.java
deleted file mode 100644
index 60d3451..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/DocumentCSS.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.stylesheets.DocumentStyle;
-
-/**
- * This interface represents a document with a CSS view.
- * <p>
- * The <code>getOverrideStyle</code> method provides a mechanism through
- * which a DOM author could effect immediate change to the style of an element
- * without modifying the explicitly linked style sheets of a document or the
- * inline style of elements in the style sheets. This style sheet comes after
- * the author style sheet in the cascade algorithm and is called override
- * style sheet. The override style sheet takes precedence over author style
- * sheets. An "!important" declaration still takes precedence over a normal
- * declaration. Override, author, and user style sheets all may contain
- * "!important" declarations. User "!important" rules take precedence over
- * both override and author "!important" rules, and override "!important"
- * rules take precedence over author "!important" rules.
- * <p>
- * The expectation is that an instance of the <code>DocumentCSS</code>
- * interface can be obtained by using binding-specific casting methods on an
- * instance of the <code>Document</code> interface.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface DocumentCSS extends DocumentStyle {
-	/**
-	 * This method is used to retrieve the override style declaration for a
-	 * specified element and a specified pseudo-element.
-	 * 
-	 * @param elt
-	 *            The element whose style is to be modified. This parameter
-	 *            cannot be null.
-	 * @param pseudoElt
-	 *            The pseudo-element or <code>null</code> if none.
-	 * @return The override style declaration.
-	 */
-	public CSSStyleDeclaration getOverrideStyle(Element elt, String pseudoElt);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/ElementCSSInlineStyle.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/ElementCSSInlineStyle.java
deleted file mode 100644
index ba90ee4..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/ElementCSSInlineStyle.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * Inline style information attached to elements is exposed through the
- * <code>style</code> attribute. This represents the contents of the STYLE
- * attribute for HTML elements (or elements in other schemas or DTDs which use
- * the STYLE attribute in the same way). The expectation is that an instance
- * of the ElementCSSInlineStyle interface can be obtained by using
- * binding-specific casting methods on an instance of the Element interface
- * when the element supports inline CSS style informations.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface ElementCSSInlineStyle {
-	/**
-	 * The style attribute.
-	 */
-	public CSSStyleDeclaration getStyle();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/RGBColor.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/RGBColor.java
deleted file mode 100644
index 5766f1a..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/RGBColor.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>RGBColor</code> interface is used to represent any RGB color
- * value. This interface reflects the values in the underlying style property.
- * Hence, modifications made to the <code>CSSPrimitiveValue</code> objects
- * modify the style property.
- * <p>
- * A specified RGB color is not clipped (even if the number is outside the
- * range 0-255 or 0%-100%). A computed RGB color is clipped depending on the
- * device.
- * <p>
- * Even if a style sheet can only contain an integer for a color value, the
- * internal storage of this integer is a float, and this can be used as a
- * float in the specified or the computed style.
- * <p>
- * A color percentage value can always be converted to a number and vice
- * versa.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface RGBColor {
-	/**
-	 * This attribute is used for the red value of the RGB color.
-	 */
-	public CSSPrimitiveValue getRed();
-
-	/**
-	 * This attribute is used for the green value of the RGB color.
-	 */
-	public CSSPrimitiveValue getGreen();
-
-	/**
-	 * This attribute is used for the blue value of the RGB color.
-	 */
-	public CSSPrimitiveValue getBlue();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/Rect.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/Rect.java
deleted file mode 100644
index c745c92..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/Rect.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>Rect</code> interface is used to represent any rect value. This
- * interface reflects the values in the underlying style property. Hence,
- * modifications made to the <code>CSSPrimitiveValue</code> objects modify
- * the style property.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface Rect {
-	/**
-	 * This attribute is used for the top of the rect.
-	 */
-	public CSSPrimitiveValue getTop();
-
-	/**
-	 * This attribute is used for the right of the rect.
-	 */
-	public CSSPrimitiveValue getRight();
-
-	/**
-	 * This attribute is used for the bottom of the rect.
-	 */
-	public CSSPrimitiveValue getBottom();
-
-	/**
-	 * This attribute is used for the left of the rect.
-	 */
-	public CSSPrimitiveValue getLeft();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/ViewCSS.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/ViewCSS.java
deleted file mode 100644
index cf5739f..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/css/ViewCSS.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.views.AbstractView;
-
-/**
- * This interface represents a CSS view. The <code>getComputedStyle</code>
- * method provides a read only access to the computed values of an element.
- * <p>
- * The expectation is that an instance of the <code>ViewCSS</code> interface
- * can be obtained by using binding-specific casting methods on an instance of
- * the <code>AbstractView</code> interface.
- * <p>
- * Since a computed style is related to an <code>Element</code> node, if
- * this element is removed from the document, the associated
- * <code>CSSStyleDeclaration</code> and <code>CSSValue</code> related to
- * this declaration are no longer valid.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface ViewCSS extends AbstractView {
-	/**
-	 * This method is used to get the computed style as it is defined in .
-	 * 
-	 * @param elt
-	 *            The element whose style is to be computed. This parameter
-	 *            cannot be null.
-	 * @param pseudoElt
-	 *            The pseudo-element or <code>null</code> if none.
-	 * @return The computed style. The <code>CSSStyleDeclaration</code> is
-	 *         read-only and contains only absolute values.
-	 */
-	public CSSStyleDeclaration getComputedStyle(Element elt, String pseudoElt);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/DocumentStyle.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/DocumentStyle.java
deleted file mode 100644
index 9cc04d1..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/DocumentStyle.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-/**
- * The <code>DocumentStyle</code> interface provides a mechanism by which
- * the style sheets embedded in a document can be retrieved. The expectation
- * is that an instance of the <code>DocumentStyle</code> interface can be
- * obtained by using binding-specific casting methods on an instance of the
- * <code>Document</code> interface.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface DocumentStyle {
-	/**
-	 * A list containing all the style sheets explicitly linked into or
-	 * embedded in a document. For HTML documents, this includes external
-	 * style sheets, included via the HTML LINK element, and inline STYLE
-	 * elements. In XML, this includes external style sheets, included via
-	 * style sheet processing instructions (see ).
-	 */
-	public StyleSheetList getStyleSheets();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/LinkStyle.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/LinkStyle.java
deleted file mode 100644
index b71119b..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/LinkStyle.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-/**
- * The <code>LinkStyle</code> interface provides a mechanism by which a
- * style sheet can be retrieved from the node responsible for linking it into
- * a document. An instance of the <code>LinkStyle</code> interface can be
- * obtained using binding-specific casting methods on an instance of a linking
- * node (<code>HTMLLinkElement</code>,<code>HTMLStyleElement</code> or
- * <code>ProcessingInstruction</code> in DOM Level 2).
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface LinkStyle {
-	/**
-	 * The style sheet.
-	 */
-	public StyleSheet getSheet();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/MediaList.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/MediaList.java
deleted file mode 100644
index 1df07c2..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/MediaList.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>MediaList</code> interface provides the abstraction of an
- * ordered collection of media, without defining or constraining how this
- * collection is implemented. An empty list is the same as a list that
- * contains the medium <code>"all"</code>.
- * <p>
- * The items in the <code>MediaList</code> are accessible via an integral
- * index, starting from 0.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface MediaList {
-	/**
-	 * The parsable textual representation of the media list. This is a
-	 * comma-separated list of media.
-	 * 
-	 * @exception DOMException
-	 *                SYNTAX_ERR: Raised if the specified string value has a
-	 *                syntax error and is unparsable. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this media list
-	 *                is readonly.
-	 */
-	public String getMediaText();
-
-	public void setMediaText(String mediaText) throws DOMException;
-
-	/**
-	 * The number of media in the list. The range of valid media is
-	 * <code>0</code> to <code>length-1</code> inclusive.
-	 */
-	public int getLength();
-
-	/**
-	 * Returns the <code>index</code> th in the list. If <code>index</code>
-	 * is greater than or equal to the number of media in the list, this
-	 * returns <code>null</code>.
-	 * 
-	 * @param index
-	 *            Index into the collection.
-	 * @return The medium at the <code>index</code> th position in the
-	 *         <code>MediaList</code>, or <code>null</code> if that is
-	 *         not a valid index.
-	 */
-	public String item(int index);
-
-	/**
-	 * Deletes the medium indicated by <code>oldMedium</code> from the list.
-	 * 
-	 * @param oldMediumThe
-	 *            medium to delete in the media list.
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this list is
-	 *                readonly. <br>
-	 *                NOT_FOUND_ERR: Raised if <code>oldMedium</code> is not
-	 *                in the list.
-	 */
-	public void deleteMedium(String oldMedium) throws DOMException;
-
-	/**
-	 * Adds the medium <code>newMedium</code> to the end of the list. If the
-	 * <code>newMedium</code> is already used, it is first removed.
-	 * 
-	 * @param newMediumThe
-	 *            new medium to add.
-	 * @exception DOMException
-	 *                INVALID_CHARACTER_ERR: If the medium contains characters
-	 *                that are invalid in the underlying style language. <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if this list is
-	 *                readonly.
-	 */
-	public void appendMedium(String newMedium) throws DOMException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/StyleSheet.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/StyleSheet.java
deleted file mode 100644
index bccea60..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/StyleSheet.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-import org.w3c.dom.Node;
-
-/**
- * The <code>StyleSheet</code> interface is the abstract base interface for
- * any type of style sheet. It represents a single style sheet associated with
- * a structured document. In HTML, the StyleSheet interface represents either
- * an external style sheet, included via the HTML LINK element, or an inline
- * STYLE element. In XML, this interface represents an external style sheet,
- * included via a style sheet processing instruction.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface StyleSheet {
-	/**
-	 * This specifies the style sheet language for this style sheet. The style
-	 * sheet language is specified as a content type (e.g. "text/css"). The
-	 * content type is often specified in the <code>ownerNode</code>. Also
-	 * see the type attribute definition for the <code>LINK</code> element
-	 * in HTML 4.0, and the type pseudo-attribute for the XML style sheet
-	 * processing instruction.
-	 */
-	public String getType();
-
-	/**
-	 * <code>false</code> if the style sheet is applied to the document.
-	 * <code>true</code> if it is not. Modifying this attribute may cause a
-	 * new resolution of style for the document. A stylesheet only applies if
-	 * both an appropriate medium definition is present and the disabled
-	 * attribute is false. So, if the media doesn't apply to the current user
-	 * agent, the <code>disabled</code> attribute is ignored.
-	 */
-	public boolean getDisabled();
-
-	public void setDisabled(boolean disabled);
-
-	/**
-	 * The node that associates this style sheet with the document. For HTML,
-	 * this may be the corresponding <code>LINK</code> or <code>STYLE</code>
-	 * element. For XML, it may be the linking processing instruction. For
-	 * style sheets that are included by other style sheets, the value of this
-	 * attribute is <code>null</code>.
-	 */
-	public Node getOwnerNode();
-
-	/**
-	 * For style sheet languages that support the concept of style sheet
-	 * inclusion, this attribute represents the including style sheet, if one
-	 * exists. If the style sheet is a top-level style sheet, or the style
-	 * sheet language does not support inclusion, the value of this attribute
-	 * is <code>null</code>.
-	 */
-	public StyleSheet getParentStyleSheet();
-
-	/**
-	 * If the style sheet is a linked style sheet, the value of its attribute
-	 * is its location. For inline style sheets, the value of this attribute
-	 * is <code>null</code>. See the href attribute definition for the
-	 * <code>LINK</code> element in HTML 4.0, and the href pseudo-attribute
-	 * for the XML style sheet processing instruction.
-	 */
-	public String getHref();
-
-	/**
-	 * The advisory title. The title is often specified in the
-	 * <code>ownerNode</code>. See the title attribute definition for the
-	 * <code>LINK</code> element in HTML 4.0, and the title pseudo-attribute
-	 * for the XML style sheet processing instruction.
-	 */
-	public String getTitle();
-
-	/**
-	 * The intended destination media for style information. The media is
-	 * often specified in the <code>ownerNode</code>. If no media has been
-	 * specified, the <code>MediaList</code> will be empty. See the media
-	 * attribute definition for the <code>LINK</code> element in HTML 4.0,
-	 * and the media pseudo-attribute for the XML style sheet processing
-	 * instruction . Modifying the media list may cause a change to the
-	 * attribute <code>disabled</code>.
-	 */
-	public MediaList getMedia();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/StyleSheetList.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/StyleSheetList.java
deleted file mode 100644
index a791de6..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/stylesheets/StyleSheetList.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-/**
- * The <code>StyleSheetList</code> interface provides the abstraction of an
- * ordered collection of style sheets.
- * <p>
- * The items in the <code>StyleSheetList</code> are accessible via an
- * integral index, starting from 0.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document
- * Object Model (DOM) Level 2 Style Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface StyleSheetList {
-	/**
-	 * The number of <code>StyleSheets</code> in the list. The range of
-	 * valid child stylesheet indices is <code>0</code> to
-	 * <code>length-1</code> inclusive.
-	 */
-	public int getLength();
-
-	/**
-	 * Used to retrieve a style sheet by ordinal index. If index is greater
-	 * than or equal to the number of style sheets in the list, this returns
-	 * <code>null</code>.
-	 * 
-	 * @param indexIndex
-	 *            into the collection
-	 * @return The style sheet at the <code>index</code> position in the
-	 *         <code>StyleSheetList</code>, or <code>null</code> if that
-	 *         is not a valid index.
-	 */
-	public StyleSheet item(int index);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/views/AbstractView.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/views/AbstractView.java
deleted file mode 100644
index 799ce7e..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/views/AbstractView.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.views;
-
-/**
- * A base interface that all views shall derive from.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113'>Document
- * Object Model (DOM) Level 2 Views Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface AbstractView {
-	/**
-	 * The source <code>DocumentView</code> of which this is an
-	 * <code>AbstractView</code>.
-	 */
-	public DocumentView getDocument();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/views/DocumentView.java b/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/views/DocumentView.java
deleted file mode 100644
index ce63f7b..0000000
--- a/bundles/org.eclipse.wst.css.core/src/org/w3c/dom/views/DocumentView.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.views;
-
-/**
- * The <code>DocumentView</code> interface is implemented by
- * <code>Document</code> objects in DOM implementations supporting DOM
- * Views. It provides an attribute to retrieve the default view of a document.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113'>Document
- * Object Model (DOM) Level 2 Views Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface DocumentView {
-	/**
-	 * The default <code>AbstractView</code> for this <code>Document</code>,
-	 * or <code>null</code> if none available.
-	 */
-	public AbstractView getDefaultView();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/.classpath b/bundles/org.eclipse.wst.css.ui/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.wst.css.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.css.ui/.compatibility b/bundles/org.eclipse.wst.css.ui/.compatibility
deleted file mode 100644
index 6fcfaf3..0000000
--- a/bundles/org.eclipse.wst.css.ui/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=3769

diff --git a/bundles/org.eclipse.wst.css.ui/.cvsignore b/bundles/org.eclipse.wst.css.ui/.cvsignore
deleted file mode 100644
index 4295133..0000000
--- a/bundles/org.eclipse.wst.css.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-csseditor.jar
-temp.folder
-build.xml
-dev.properties
-bin
diff --git a/bundles/org.eclipse.wst.css.ui/.project b/bundles/org.eclipse.wst.css.ui/.project
deleted file mode 100644
index d42035f..0000000
--- a/bundles/org.eclipse.wst.css.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.css.ui</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/bundles/org.eclipse.wst.css.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.css.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index cf261b5..0000000
--- a/bundles/org.eclipse.wst.css.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,48 +0,0 @@
-#Wed Jan 12 13:25:37 EST 2005
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.wst.css.ui/build.properties b/bundles/org.eclipse.wst.css.ui/build.properties
deleted file mode 100644
index 07de39b..0000000
--- a/bundles/org.eclipse.wst.css.ui/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-bin.includes = plugin.xml,\
-               *.jar,\
-               css.jar,\
-               icons/,\
-               plugin.properties
-src.includes = plugin.xml,\
-               plugin.properties,\
-               icons/,\
-               build.xml,\
-               build.properties,\
-               README.txt
-source.csseditor.jar = src/
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/aural_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/aural_props.gif
deleted file mode 100644
index df1704e..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/aural_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/boxmodel_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/boxmodel_props.gif
deleted file mode 100644
index 7c050f5..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/boxmodel_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/charset_rule.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/charset_rule.gif
deleted file mode 100644
index 0e93844..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/charset_rule.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/class_selector.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/class_selector.gif
deleted file mode 100644
index f924d7a..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/class_selector.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/colback_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/colback_props.gif
deleted file mode 100644
index 5ca230b..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/colback_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/content_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/content_props.gif
deleted file mode 100644
index 2133ded..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/content_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyname.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyname.gif
deleted file mode 100644
index ede58ab..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyname.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyvalue_function.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyvalue_function.gif
deleted file mode 100644
index 6cd12da..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyvalue_function.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyvalue_identifier.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyvalue_identifier.gif
deleted file mode 100644
index 2adbdd8..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyvalue_identifier.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyvalue_unit.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyvalue_unit.gif
deleted file mode 100644
index 308a3ae..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/css_propertyvalue_unit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/font_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/font_props.gif
deleted file mode 100644
index aca5f89..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/font_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/fontface_rule.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/fontface_rule.gif
deleted file mode 100644
index 71f59e8..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/fontface_rule.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/id_selector.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/id_selector.gif
deleted file mode 100644
index f0857d2..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/id_selector.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/link_rule.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/link_rule.gif
deleted file mode 100644
index 94d89cd..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/link_rule.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/link_selector.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/link_selector.gif
deleted file mode 100644
index d85b78f..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/link_selector.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/media_rule.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/media_rule.gif
deleted file mode 100644
index 3391f19..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/media_rule.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/other_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/other_props.gif
deleted file mode 100644
index 920c228..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/other_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/page_rule.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/page_rule.gif
deleted file mode 100644
index 525f64b..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/page_rule.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/pagedmedia_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/pagedmedia_props.gif
deleted file mode 100644
index 6b635b0..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/pagedmedia_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/pseudo.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/pseudo.gif
deleted file mode 100644
index 1b6a6dc..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/pseudo.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/sort.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/sort.gif
deleted file mode 100644
index 23c5d0b..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/sort.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/style_rule.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/style_rule.gif
deleted file mode 100644
index 3176ff8..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/style_rule.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/stylesheet.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/stylesheet.gif
deleted file mode 100644
index d8fde00..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/stylesheet.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/table_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/table_props.gif
deleted file mode 100644
index bcc76cd..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/table_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/tag_selector.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/tag_selector.gif
deleted file mode 100644
index 69850fa..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/tag_selector.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/text_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/text_props.gif
deleted file mode 100644
index abf63f8..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/text_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/ui_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/ui_props.gif
deleted file mode 100644
index 99a8b96..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/ui_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/unknown_rule.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/unknown_rule.gif
deleted file mode 100644
index 857e4e5..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/unknown_rule.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/visual_props.gif b/bundles/org.eclipse.wst.css.ui/icons/full/obj16/visual_props.gif
deleted file mode 100644
index c1a8b34..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/full/obj16/visual_props.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/icons/sourceEditor.gif b/bundles/org.eclipse.wst.css.ui/icons/sourceEditor.gif
deleted file mode 100644
index 75ebdb8..0000000
--- a/bundles/org.eclipse.wst.css.ui/icons/sourceEditor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.css.ui/plugin.properties b/bundles/org.eclipse.wst.css.ui/plugin.properties
deleted file mode 100644
index e5c874c..0000000
--- a/bundles/org.eclipse.wst.css.ui/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-providerName=Eclipse.org
-pluginName=SSE CSS Source Editor
-nlFeatureName=SSE CSS Source Editor NL Support
-CSS_Source_Page_Editor.name=CSS Source Page Editor
-CSS_Files.name=CSS Files
-CSS_Source.name=CSS Source
-CSS_Styles.name=CSS Styles
-WebContentSettings.name=Web Content Settings
-###############################################################################
-# The following property keys maybe unused. Commented out on 12/7/2004. Uncomment if needed.
-#CSS_Annotations.name=CSS Annotations
diff --git a/bundles/org.eclipse.wst.css.ui/plugin.xml b/bundles/org.eclipse.wst.css.ui/plugin.xml
deleted file mode 100644
index c06c8e4..0000000
--- a/bundles/org.eclipse.wst.css.ui/plugin.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.css.ui"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.wst.css.ui.internal.CSSUIPlugin">
-
-   <runtime>
-      <library name="csseditor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.wst.xml.ui"/>
-      <import plugin="org.eclipse.wst.sse.ui"/>
-      <import plugin="org.eclipse.wst.css.core"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.wst.common.contentmodel"/>
-      <import plugin="org.eclipse.wst.html.core"/>
-      <import plugin="org.eclipse.wst.xml.core"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-	  <import plugin="org.eclipse.wst.common.encoding"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%CSS_Source_Page_Editor.name"
-            icon="icons/sourceEditor.gif"
-            extensions="css"
-            contributorClass="org.eclipse.wst.css.ui.ActionContributorCSS"
-            class="org.eclipse.wst.css.ui.StructuredTextEditorCSS"
-            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-            id="org.eclipse.wst.css.ui.StructuredTextEditorCSS">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.extendedconfiguration">
-      <configuration 
-      		type="contentoutlineconfiguration"
-            class="org.eclipse.wst.css.ui.views.contentoutline.CSSContentOutlineConfiguration"
-            target="org.eclipse.wst.css.core.csssource"/>
-      <configuration 
-      		type="textviewerconfiguration"
-            class="org.eclipse.wst.css.ui.StructuredTextViewerConfigurationCSS"
-            target="org.eclipse.wst.css.core.csssource"/>
-      <configuration 
-      		type="propertysheetconfiguration"
-            class="org.eclipse.wst.css.ui.views.properties.CSSPropertySheetConfiguration"
-            target="org.eclipse.wst.css.core.csssource"/>
-      <configuration 
-      		type="characterpairmatcher"
-            class="org.eclipse.wst.css.ui.text.CSSDocumentRegionEdgeMatcher"
-            target="org.eclipse.wst.css.core.csssource"/>
-      <definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.css"
-            target="org.eclipse.wst.css.core.csssource"/>
-      <definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.css.source"
-            target="org.eclipse.wst.css.core.csssource"/>
-      <definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.css.styles"
-            target="org.eclipse.wst.css.core.csssource"/>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
-      <adapterFactoryDescription
-            class="org.eclipse.wst.css.ui.registry.AdapterFactoryProviderCSS">
-            <contentType id="org.eclipse.wst.css.core.csssource"/>
-      </adapterFactoryDescription>
-   </extension>
-   <extension
-      point="org.eclipse.core.filebuffers.annotationModelCreation">
-      <factory
-            contentTypeId="org.eclipse.wst.css.core.csssource"
-            class="org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModelFactory"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%CSS_Files.name"
-            category="org.eclipse.wst.sse.ui.preferences"
-            class="org.eclipse.wst.css.ui.preferences.ui.CSSFilesPreferencePage"
-            id="org.eclipse.wst.sse.ui.preferences.css">
-      </page>
-      <page
-            name="%CSS_Source.name"
-            category="org.eclipse.wst.sse.ui.preferences.css"
-            class="org.eclipse.wst.css.ui.preferences.ui.CSSSourcePreferencePage"
-            id="org.eclipse.wst.sse.ui.preferences.css.source">
-      </page>
-      <page
-            name="%CSS_Styles.name"
-            category="org.eclipse.wst.sse.ui.preferences.css"
-            class="org.eclipse.wst.css.ui.preferences.ui.CSSColorPage"
-            id="org.eclipse.wst.sse.ui.preferences.css.styles">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            nameFilter="*.css"
-            class="org.eclipse.wst.css.ui.contentproperties.ui.CSSContentSettingsPropertyPage"
-            id="org.eclipse.wst.css.ui.csspropertypage">
-      </page>
-   </extension>
-<!-- Editor actionsets -->
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
-         <part
-               id="org.eclipse.wst.css.ui.StructuredTextEditorCSS">
-         </part>
-      </actionSetPartAssociation>
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.NavigateActionSet">
-         <part
-               id="org.eclipse.wst.css.ui.StructuredTextEditorCSS">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-	<!-- initialize css ui preferences -->
-	<extension point="org.eclipse.core.runtime.preferences">
-	   <initializer class="org.eclipse.wst.css.ui.internal.preferences.CSSUIPreferenceInitializer"/>
-	</extension>
-</plugin>
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/ActionContributorCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/ActionContributorCSS.java
deleted file mode 100644
index 9ac7e57..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/ActionContributorCSS.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.RetargetTextEditorAction;
-import org.eclipse.wst.sse.ui.edit.util.ActionContributor;
-import org.eclipse.wst.sse.ui.edit.util.ActionDefinitionIds;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * ActionContributorCSS
- * 
- * This class should not be used inside multi page editor's
- * ActionBarContributor, since cascaded init() call from the
- * ActionBarContributor will causes exception and it leads to lose whole
- * toolbars.
- * 
- * Instead, use SourcePageActionContributor for source page contributor of
- * multi page editor.
- * 
- * Note that this class is still valid for single page editor.
- */
-public class ActionContributorCSS extends ActionContributor {
-	private static final String[] EDITOR_IDS = {"org.eclipse.wst.css.ui.StructuredTextEditorCSS", "org.eclipse.wst.sse.ui.StructuredTextEditor"}; //$NON-NLS-1$ //$NON-NLS-2$
-
-	protected RetargetTextEditorAction fContentAssist = null;
-	protected RetargetTextEditorAction fCleanupDocument = null;
-	protected MenuManager fFormatMenu = null;
-	protected RetargetTextEditorAction fFormatDocument = null;
-	protected RetargetTextEditorAction fFormatActiveElements = null;
-
-	public ActionContributorCSS() {
-		super();
-
-		ResourceBundle resourceBundle = SSEUIPlugin.getDefault().getResourceBundle();
-
-		// edit commands
-		fContentAssist = new RetargetTextEditorAction(resourceBundle, ""); //$NON-NLS-1$
-		fContentAssist.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-
-		// source commands
-		fCleanupDocument = new RetargetTextEditorAction(resourceBundle, ""); //$NON-NLS-1$
-		fCleanupDocument.setActionDefinitionId(ActionDefinitionIds.CLEANUP_DOCUMENT);
-
-		fFormatDocument = new RetargetTextEditorAction(resourceBundle, ""); //$NON-NLS-1$
-		fFormatDocument.setActionDefinitionId(ActionDefinitionIds.FORMAT_DOCUMENT);
-
-		fFormatActiveElements = new RetargetTextEditorAction(resourceBundle, ""); //$NON-NLS-1$
-		fFormatActiveElements.setActionDefinitionId(ActionDefinitionIds.FORMAT_ACTIVE_ELEMENTS);
-
-		fFormatMenu = new MenuManager(SSEUIPlugin.getResourceString("%FormatMenu.label")); //$NON-NLS-1$
-		fFormatMenu.add(fFormatDocument);
-		fFormatMenu.add(fFormatActiveElements);
-	}
-
-	protected String[] getExtensionIDs() {
-		return EDITOR_IDS;
-	}
-
-	protected void addToMenu(IMenuManager menu) {
-		// edit commands
-		IMenuManager editMenu = menu.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
-		if (editMenu != null) {
-			editMenu.add(fCommandsSeparator);
-			editMenu.add(fToggleInsertModeAction);
-			editMenu.add(fCommandsSeparator);
-			editMenu.add(fExpandSelectionToMenu);
-			editMenu.add(fCommandsSeparator);
-			editMenu.add(fContentAssist);
-			editMenu.add(fMenuAdditionsGroupMarker);
-		}
-
-		// source commands
-		String sourceMenuLabel = SSEUIPlugin.getResourceString("%SourceMenu.label"); //$NON-NLS-1$
-		String sourceMenuId = "sourceMenuId"; // This is just a menu id. No
-											  // need to translate.
-											  // //$NON-NLS-1$
-		IMenuManager sourceMenu = new MenuManager(sourceMenuLabel, sourceMenuId);
-		menu.insertAfter(IWorkbenchActionConstants.M_EDIT, sourceMenu);
-		if (sourceMenu != null) {
-			sourceMenu.add(fCommandsSeparator);
-			sourceMenu.add(fShiftRight);
-			sourceMenu.add(fShiftLeft);
-			sourceMenu.add(fCleanupDocument);
-			sourceMenu.add(fFormatMenu);
-			sourceMenu.add(fCommandsSeparator);
-		}
-	}
-
-	public void setActiveEditor(IEditorPart activeEditor) {
-		super.setActiveEditor(activeEditor);
-
-		ITextEditor textEditor = getTextEditor(activeEditor);
-
-		fContentAssist.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_PROPOSALS));
-
-		fCleanupDocument.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT));
-		fFormatDocument.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_DOCUMENT));
-		fFormatActiveElements.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_ACTIVE_ELEMENTS));
-		fCleanupDocument.setEnabled(textEditor != null && textEditor.isEditable());
-		fFormatDocument.setEnabled(textEditor != null && textEditor.isEditable());
-		fFormatActiveElements.setEnabled(textEditor != null && textEditor.isEditable());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/CSSEditorPlugin.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/CSSEditorPlugin.java
deleted file mode 100644
index 87f1a9d..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/CSSEditorPlugin.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui;
-
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-
-
-/**
- * @deprecated use internal CSSUIPlugin class instead if possible
- */
-public class CSSEditorPlugin extends CSSUIPlugin {
-	// see org.eclipse.wst.css.ui.internal.CSSUIPlugin
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/StructuredTextEditorCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/StructuredTextEditorCSS.java
deleted file mode 100644
index b111b02..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/StructuredTextEditorCSS.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2001, 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.wst.css.ui;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.css.ui.edit.ui.CleanupActionCSS;
-import org.eclipse.wst.css.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.css.ui.internal.selection.StructureSelectEnclosingCSSAction;
-import org.eclipse.wst.css.ui.internal.selection.StructureSelectNextCSSAction;
-import org.eclipse.wst.css.ui.internal.selection.StructureSelectPreviousCSSAction;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.edit.util.ActionDefinitionIds;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory;
-import org.eclipse.wst.sse.ui.internal.selection.StructureSelectHistoryAction;
-
-public class StructuredTextEditorCSS extends StructuredTextEditor {
-	protected void createActions() {
-		super.createActions();
-
-		Action action = new CleanupActionCSS(SSEUIPlugin.getDefault().getResourceBundle(), StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.CLEANUP_DOCUMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT, action);
-
-		SelectionHistory selectionHistory = new SelectionHistory(this);
-		action = new StructureSelectEnclosingCSSAction(this, selectionHistory);
-		action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_ENCLOSING);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_ENCLOSING, action);
-
-		action = new StructureSelectNextCSSAction(this, selectionHistory);
-		action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_NEXT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_NEXT, action);
-
-		action = new StructureSelectPreviousCSSAction(this, selectionHistory);
-		action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_PREVIOUS);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_PREVIOUS, action);
-
-		action = new StructureSelectHistoryAction(this, selectionHistory);
-		action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_HISTORY);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_HISTORY, action);
-		selectionHistory.setHistoryAction((StructureSelectHistoryAction) action);
-	}
-
-	protected void initializeEditor() {
-		super.initializeEditor();
-		setHelpContextId(IHelpContextIds.CSS_SOURCEVIEW_HELPID);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/StructuredTextViewerConfigurationCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/StructuredTextViewerConfigurationCSS.java
deleted file mode 100644
index 201bc38..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/StructuredTextViewerConfigurationCSS.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.text.IAutoEditStrategy;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.formatter.IContentFormatter;
-import org.eclipse.jface.text.formatter.MultiPassContentFormatter;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.wst.css.core.format.FormatProcessorCSS;
-import org.eclipse.wst.css.core.internal.text.rules.StructuredTextPartitionerForCSS;
-import org.eclipse.wst.css.ui.autoedit.StructuredAutoEditStrategyCSS;
-import org.eclipse.wst.css.ui.contentassist.CSSContentAssistProcessor;
-import org.eclipse.wst.css.ui.style.LineStyleProviderForCSS;
-import org.eclipse.wst.css.ui.taginfo.CSSBestMatchHoverProcessor;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
-import org.eclipse.wst.sse.ui.format.StructuredFormattingStrategy;
-import org.eclipse.wst.sse.ui.style.IHighlighter;
-import org.eclipse.wst.sse.ui.taginfo.AnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.taginfo.ProblemAnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.taginfo.TextHoverManager;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-public class StructuredTextViewerConfigurationCSS extends StructuredTextViewerConfiguration {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.StructuredTextViewerConfiguration#getAutoEditStrategies(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public Map getAutoEditStrategies(ISourceViewer sourceViewer) {
-		Map result = super.getAutoEditStrategies(sourceViewer);
-
-		if (result.get(StructuredTextPartitionerForCSS.ST_STYLE) == null)
-			result.put(StructuredTextPartitionerForCSS.ST_STYLE, new ArrayList(1));
-
-		IAutoEditStrategy autoEditStrategy = new StructuredAutoEditStrategyCSS();
-		List strategies = (List) result.get(StructuredTextPartitionerForCSS.ST_STYLE);
-		strategies.add(autoEditStrategy);
-
-		return result;
-	}
-
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-		if (configuredContentTypes == null) {
-			configuredContentTypes = new String[]{StructuredTextPartitionerForCSS.ST_STYLE, StructuredTextPartitioner.ST_DEFAULT_PARTITION, StructuredTextPartitioner.ST_UNKNOWN_PARTITION};
-		}
-		return configuredContentTypes;
-	}
-
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		IContentAssistant contentAssistant = super.getContentAssistant(sourceViewer);
-
-		if (contentAssistant != null && contentAssistant instanceof ContentAssistant) {
-			//((ContentAssistant)
-			// contentAssistant).setContentAssistProcessor(new
-			// CSSContentAssistProcessor(),
-			// StructuredTextPartitionerForCSS.ST_STYLE);
-			IContentAssistProcessor cssProcessor = new CSSContentAssistProcessor();
-			setContentAssistProcessor((ContentAssistant) contentAssistant, cssProcessor, StructuredTextPartitionerForCSS.ST_STYLE);
-			setContentAssistProcessor((ContentAssistant) contentAssistant, cssProcessor, StructuredTextPartitioner.ST_UNKNOWN_PARTITION);
-		}
-
-		return contentAssistant;
-	}
-
-	public IContentFormatter getContentFormatter(ISourceViewer sourceViewer) {
-		final MultiPassContentFormatter formatter = new MultiPassContentFormatter(getConfiguredDocumentPartitioning(sourceViewer), StructuredTextPartitionerForCSS.ST_STYLE);
-
-		formatter.setMasterStrategy(new StructuredFormattingStrategy(new FormatProcessorCSS()));
-
-		return formatter;
-	}
-
-	public IHighlighter getHighlighter(ISourceViewer sourceViewer) {
-		IHighlighter highlighter = super.getHighlighter(sourceViewer);
-
-		if (highlighter != null) {
-			highlighter.addProvider(StructuredTextPartitionerForCSS.ST_STYLE, new LineStyleProviderForCSS());
-		}
-
-		return highlighter;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getTextHover(org.eclipse.jface.text.source.ISourceViewer,
-	 *      java.lang.String, int)
-	 */
-	public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType, int stateMask) {
-		// content type does not really matter since only combo, problem,
-		// annotation hover is available
-		TextHoverManager.TextHoverDescriptor[] hoverDescs = getTextHovers();
-		int i = 0;
-		while (i < hoverDescs.length) {
-			if (hoverDescs[i].isEnabled() && EditorUtility.computeStateMask(hoverDescs[i].getModifierString()) == stateMask) {
-				String hoverType = hoverDescs[i].getId();
-				if (TextHoverManager.COMBINATION_HOVER.equalsIgnoreCase(hoverType))
-					return new CSSBestMatchHoverProcessor();
-				else if (TextHoverManager.PROBLEM_HOVER.equalsIgnoreCase(hoverType))
-					return new ProblemAnnotationHoverProcessor();
-				else if (TextHoverManager.ANNOTATION_HOVER.equalsIgnoreCase(hoverType))
-					return new AnnotationHoverProcessor();
-			}
-			i++;
-		}
-		return super.getTextHover(sourceViewer, contentType, stateMask);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/autoedit/StructuredAutoEditStrategyCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/autoedit/StructuredAutoEditStrategyCSS.java
deleted file mode 100644
index de3b808..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/autoedit/StructuredAutoEditStrategyCSS.java
+++ /dev/null
@@ -1,501 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.autoedit;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentCommand;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.texteditor.ITextEditorExtension3;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.css.ui.internal.Logger;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.edit.util.BasicAutoEditStrategy;
-
-public class StructuredAutoEditStrategyCSS extends BasicAutoEditStrategy {
-	protected IStructuredDocument structuredDocument = null;
-
-	class CompoundRegion {
-
-		CompoundRegion(IStructuredDocumentRegion documentRegion, ITextRegion textRegion) {
-			super();
-			this.documentRegion = documentRegion;
-			this.textRegion = textRegion;
-		}
-
-		IStructuredDocumentRegion getDocumentRegion() {
-			return documentRegion;
-		}
-
-		ITextRegion getTextRegion() {
-			return textRegion;
-		}
-
-		int getStart() {
-			return textRegion.getStart();
-		}
-
-		int getEnd() {
-			return textRegion.getEnd();
-		}
-
-		String getType() {
-			return textRegion.getType();
-		}
-
-		String getText() {
-			return documentRegion.getText(textRegion);
-		}
-
-		int getStartOffset() {
-			return documentRegion.getStartOffset(textRegion);
-		}
-
-		int getEndOffset() {
-			return documentRegion.getEndOffset(textRegion);
-		}
-
-		private IStructuredDocumentRegion documentRegion;
-		private ITextRegion textRegion;
-
-	}
-
-	/**
-	 */
-	protected void autoIndentAfterClose(DocumentCommand command, String regionType) {
-		if (!setRangeForClose(command))
-			return;
-
-		int position = command.offset + command.length;
-
-		if (position == -1 || structuredDocument.getLength() == 0) {
-			return;
-		}
-
-		// get open brace region
-		CompoundRegion region = prevCorrespondence(position, regionType);
-
-		// get indentation
-		String str = getIndentFor(region, false);
-
-		// append to input
-		if (str != null)
-			command.text = str + command.text;
-	}
-
-	/**
-	 * Copies the indentation of the previous line.
-	 */
-	protected void autoIndentAfterNewLine(DocumentCommand command) {
-		// select nearest white spaces to replace with new-line
-		setRangeForNewLine(command);
-
-		// get position
-		int position = command.offset;
-
-		if (position == -1 || structuredDocument.getLength() == 0) {
-			return;
-		}
-
-		// get current region
-		CompoundRegion currentRegion = getRegion(command.offset + command.length);
-
-		// get key region
-		CompoundRegion keyRegion = getPrevKeyRegion(position, currentRegion);
-
-		// get indent string
-		String str = getIndentFor(keyRegion, true);
-
-		// check another indentation
-		int shift = needShift(keyRegion, command.offset + command.length);
-
-		// create text to replace
-		StringBuffer buf = new StringBuffer(command.text);
-		if (str != null)
-			buf.append(str);
-		while (shift-- != 0)
-			buf.append(CSSPreferenceHelper.getInstance().getIndentString());
-		command.text = buf.toString();
-
-	}
-
-	/**
-	 */
-	public void customizeDocumentCommand(IDocument document, DocumentCommand command) {
-		Object textEditor = getActiveTextEditor();
-		if (!(textEditor instanceof ITextEditorExtension3 && ((ITextEditorExtension3) textEditor).getInsertMode() == ITextEditorExtension3.SMART_INSERT))
-			return;
-
-		//return;
-		///*
-		structuredDocument = (IStructuredDocument) document;
-
-		if (command.length == 0 && command.text != null) {
-			if (endsWith(document.getLegalLineDelimiters(), command.text) != -1) {
-				autoIndentAfterNewLine(command);
-			} else if (command.text.equals("}")) {//$NON-NLS-1$
-				autoIndentAfterClose(command, CSSRegionContexts.CSS_RBRACE);
-			} else if (command.text.equals("]")) {//$NON-NLS-1$
-				autoIndentAfterClose(command, CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_END);
-			} else if (command.text.equals(")")) {//$NON-NLS-1$
-				autoIndentAfterClose(command, CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE);
-			}
-		}
-		//*/
-	}
-
-	/**
-	 */
-	protected String getIndentFor(CompoundRegion region, boolean indentForNextRegion) {
-		if (region == null)
-			return null;
-		IStructuredDocumentRegion flatNode = region.getDocumentRegion();
-		if (flatNode == null)
-			return null;
-
-		try {
-			if (region.getType() == CSSRegionContexts.CSS_LBRACE || region.getType() == CSSRegionContexts.CSS_DELIMITER || region.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-				// get meanful flat node
-				RegionIterator it = new RegionIterator(flatNode, region.getTextRegion());
-				it.prev();
-				while (it.hasPrev()) {
-					ITextRegion r = it.prev();
-					region = new CompoundRegion(it.getStructuredDocumentRegion(), r);
-					if (region.getType() != CSSRegionContexts.CSS_S)
-						break;
-				}
-				flatNode = region.getDocumentRegion();
-				// get indent string
-				int position = flatNode.getStart();
-				int line = structuredDocument.getLineOfOffset(position);
-				int start = structuredDocument.getLineOffset(line);
-				int end = findEndOfWhiteSpace(structuredDocument, start, position);
-				return structuredDocument.get(start, end - start);
-			} else if (region.getType() == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START ||
-			//region.getType() == CSSRegionContexts.CSS_PARENTHESIS_OPEN ||
-						region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION || region.getType() == CSSRegionContexts.CSS_DECLARATION_SEPARATOR) {
-				int position = flatNode.getStart() + region.getStart();
-				int line = structuredDocument.getLineOfOffset(position);
-				int start = structuredDocument.getLineOffset(line);
-				int end = findEndOfWhiteSpace(structuredDocument, start, position);
-				StringBuffer buf = new StringBuffer(structuredDocument.get(start, end - start));
-				position += region.getText().length();
-				if (indentForNextRegion) {
-					int tokenStart = findEndOfWhiteSpace(structuredDocument, position, structuredDocument.getLineOffset(line) + structuredDocument.getLineLength(line) - 1);
-					if (tokenStart < structuredDocument.getLineOffset(line) + structuredDocument.getLineLength(line) - 1) {
-						position = tokenStart;
-					}
-				}
-				while (position - end > 0) {
-					buf.append(" ");//$NON-NLS-1$
-					end++;
-				}
-				return buf.toString();
-			} else
-				return "";//$NON-NLS-1$
-		} catch (BadLocationException excp) {
-			Logger.logException(excp);
-		}
-		return null;
-	}
-
-	/**
-	 */
-	protected CompoundRegion getPrevKeyRegion(int position, CompoundRegion currentRegion) {
-		if (currentRegion == null) {
-			if (structuredDocument.getLastStructuredDocumentRegion() == null)
-				return null;
-		}
-
-		if (currentRegion != null && (currentRegion.getType() == CSSRegionContexts.CSS_RBRACE || currentRegion.getType() == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_END || currentRegion.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)) {
-			return prevCorrespondence(currentRegion);
-		}
-
-		RegionIterator it = new RegionIterator(structuredDocument, position - 1);
-		while (it.hasPrev()) {
-			ITextRegion r = it.prev();
-			CompoundRegion region = new CompoundRegion(it.getStructuredDocumentRegion(), r);
-			if (region.getType() == CSSRegionContexts.CSS_LBRACE ||
-			//          region.getType() == CSSRegionContexts.CSS_RBRACE ||
-						region.getType() == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START ||
-						//          region.getType() ==
-						// CSSRegionContexts.CSS_BRACKET_CLOSE ||
-						//// region.getType() ==
-						// CSSRegionContexts.CSS_PARENTHESIS_OPEN ||
-						//          region.getType() ==
-						// CSSRegionContexts.CSS_PARENTHESIS_CLOSE ||
-						region.getType() == CSSRegionContexts.CSS_DELIMITER || region.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER ||
-						//          region.getType() == CSSRegionContexts.CSS_COLON ||
-						//          region.getType() == CSSRegionContexts.CSS_COMMENT
-						// ||
-						region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION) {
-				return region;
-			} else if (region.getType() == CSSRegionContexts.CSS_RBRACE || region.getType() == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_END || region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE) {
-				// skip to LBRACE
-				CompoundRegion pc = prevCorrespondence(region);
-				it.reset(pc.getDocumentRegion(), pc.getTextRegion());
-				it.prev();
-			} else if (region.getType() == CSSRegionContexts.CSS_STRING) {
-				RegionIterator itTmp = new RegionIterator(structuredDocument, position);
-				if (region == itTmp.prev())
-					return region; // position is inside of string
-			} else if (region.getType() == CSSRegionContexts.CSS_COMMENT) {
-				RegionIterator itTmp = new RegionIterator(structuredDocument, position);
-				if (region == itTmp.prev())
-					return region; // position is inside of comment
-			} else if (region.getType() == CSSRegionContexts.CSS_UNKNOWN) {
-				String str = region.getText();
-				if (str.charAt(str.length() - 1) == '\\')
-					return region;
-			} else if (region.getType() == CSSRegionContexts.CSS_DECLARATION_SEPARATOR) {
-				RegionIterator itPrev = new RegionIterator(region.getDocumentRegion(), region.getTextRegion());
-				while (itPrev.hasPrev()) {
-					ITextRegion regionPrev = itPrev.prev();
-					if (regionPrev.getType() == CSSRegionContexts.CSS_RBRACE) {
-						break;
-					} else if (regionPrev.getType() == CSSRegionContexts.CSS_DELIMITER || regionPrev.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-						return region;
-					} else if (regionPrev.getType() == CSSRegionContexts.CSS_LBRACE) {
-						while (itPrev.hasPrev()) {
-							regionPrev = itPrev.prev();
-							if (regionPrev.getType() == CSSRegionContexts.CSS_MEDIA)
-								break;
-							if (regionPrev.getType() == CSSRegionContexts.CSS_LBRACE || regionPrev.getType() == CSSRegionContexts.CSS_RBRACE || regionPrev.getType() == CSSRegionContexts.CSS_DELIMITER || regionPrev.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER)
-								return region;
-						}
-						if (regionPrev.getType() == CSSRegionContexts.CSS_MEDIA)
-							break;
-						else
-							return region;
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 */
-	protected CompoundRegion getRegion(int position) {
-		IStructuredDocumentRegion flatNode = structuredDocument.getRegionAtCharacterOffset(position);
-		if (flatNode != null)
-			return new CompoundRegion(flatNode, flatNode.getRegionAtCharacterOffset(position));
-		return null;
-	}
-
-	/**
-	 */
-	protected int needShift(CompoundRegion region, int position) {
-		int shift = 0;
-		if (region == null || region.getType() == CSSRegionContexts.CSS_DELIMITER || region.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER || region.getType() == CSSRegionContexts.CSS_LBRACE) {
-			// get non space region
-			CompoundRegion cr = getRegion(position - 1);
-			RegionIterator it = new RegionIterator(cr.getDocumentRegion(), cr.getTextRegion());
-			ITextRegion nearestRegion = null;
-			while (it.hasPrev()) {
-				nearestRegion = it.prev();
-				if (nearestRegion.getType() != CSSRegionContexts.CSS_S && nearestRegion.getType() != CSSRegionContexts.CSS_COMMENT)
-					break;
-			}
-			if (nearestRegion != null && (nearestRegion.getType() == CSSRegionContexts.CSS_LBRACE || nearestRegion.getType() == CSSRegionContexts.CSS_RBRACE || nearestRegion.getType() == CSSRegionContexts.CSS_DELIMITER || nearestRegion.getType() == CSSRegionContexts.CSS_DECLARATION_DELIMITER))
-				shift--;
-			else if (region == null)
-				shift--;
-			shift++;
-		}
-		if (region != null && region.getType() == CSSRegionContexts.CSS_LBRACE) {
-			RegionIterator it = new RegionIterator(structuredDocument, position);
-			if (!it.hasPrev() || it.prev().getType() != CSSRegionContexts.CSS_RBRACE)
-				shift++;
-			else
-				shift = 0;
-		}
-		return shift;
-	}
-
-	/**
-	 */
-	protected CompoundRegion prevCorrespondence(int position, String regionType) {
-		RegionIterator it = new RegionIterator(structuredDocument, position - 1);
-		ITextRegion region = null;
-		int nest = 1;
-		if (regionType == CSSRegionContexts.CSS_RBRACE) {
-			// skip to LBRACE
-			while (it.hasPrev()) {
-				region = it.prev();
-				if (region.getType() == CSSRegionContexts.CSS_LBRACE)
-					nest--;
-				else if (region.getType() == CSSRegionContexts.CSS_RBRACE)
-					nest++;
-				if (nest <= 0)
-					break;
-			}
-			if (nest == 0)
-				return new CompoundRegion(it.getStructuredDocumentRegion(), region);
-		}
-		if (regionType == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_END) {
-			// skip to BRACKET_OPEN
-			while (it.hasPrev()) {
-				region = it.prev();
-				if (region.getType() == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START)
-					nest--;
-				else if (region.getType() == CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_END)
-					nest++;
-				if (nest <= 0)
-					break;
-			}
-			if (nest == 0)
-				return new CompoundRegion(it.getStructuredDocumentRegion(), region);
-		}
-		if (regionType == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE) {
-			// skip to PARENTHESIS_OPEN
-			while (it.hasPrev()) {
-				region = it.prev();
-				if (//region.getType() ==
-					// CSSRegionContexts.CSS_PARENTHESIS_OPEN ||
-				region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION)
-					nest--;
-				else if (region.getType() == CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE)
-					nest++;
-				if (nest <= 0)
-					break;
-			}
-			if (nest == 0)
-				return new CompoundRegion(it.getStructuredDocumentRegion(), region);
-		}
-		return null;
-	}
-
-	/**
-	 */
-	protected CompoundRegion prevCorrespondence(CompoundRegion region) {
-		if (region == null)
-			return null;
-
-		IStructuredDocumentRegion flatNode = region.getDocumentRegion();
-		int position = flatNode.getStart() + region.getStart();
-		return prevCorrespondence(position, region.getType());
-	}
-
-	/**
-	 * Insert the method's description here.
-	 * 
-	 * @return boolean
-	 * @param command
-	 *            org.eclipse.jface.text.DocumentCommand
-	 */
-	protected boolean setRangeForClose(DocumentCommand command) {
-		int position = command.offset;
-
-		if (position == -1 || structuredDocument.getLength() == 0) {
-			return false;
-		}
-
-		try {
-			// find start of line
-			int p = (position == structuredDocument.getLength() ? position - 1 : position);
-
-			int line = structuredDocument.getLineOfOffset(p);
-			int start = structuredDocument.getLineOffset(line);
-			RegionIterator it = new RegionIterator(structuredDocument, start);
-			boolean allWhiteSpace = false;
-			// check whether the text from lStart to position is white space
-			// or not
-			while (it.hasNext()) {
-				ITextRegion region = it.next();
-				if (region.getType() != CSSRegionContexts.CSS_S)
-					break;
-				if (it.getStructuredDocumentRegion().getEndOffset(region) > p) {
-					allWhiteSpace = true;
-					break;
-				}
-			}
-			if (allWhiteSpace) {
-				command.length = command.length - (start - command.offset);
-				command.offset = start;
-				return true;
-			}
-		} catch (BadLocationException excp) {
-			Logger.logException(excp);
-		}
-		return false;
-	}
-
-	/**
-	 */
-	protected void setRangeForNewLine(DocumentCommand command) {
-		int position = command.offset;
-
-		if (position == -1 || structuredDocument.getLength() == 0) {
-			return;
-		}
-
-		try {
-			// add pre-nearest white spaces to replace target
-			if (position > 0) {
-				IStructuredDocumentRegion flatNode = structuredDocument.getRegionAtCharacterOffset(position - 1);
-				if (flatNode != null) {
-					ITextRegion region = flatNode.getRegionAtCharacterOffset(position - 1);
-					if (region.getType() == CSSRegionContexts.CSS_S) {
-						int end = command.offset + command.length;
-						int nLine = structuredDocument.getLineOfOffset(position);
-						int nStartPos = structuredDocument.getLineOffset(nLine);
-						if (nStartPos < flatNode.getStartOffset(region))
-							nStartPos = flatNode.getStartOffset(region);
-						command.offset = nStartPos;
-						command.length = end - command.offset;
-					}
-				}
-			}
-
-			// add post-nearest white spaces to replace target
-			if (position < structuredDocument.getLength()) {
-				IStructuredDocumentRegion flatNode = structuredDocument.getRegionAtCharacterOffset(position);
-				if (flatNode != null) {
-					ITextRegion region = flatNode.getRegionAtCharacterOffset(position);
-					if (region.getType() == CSSRegionContexts.CSS_S) {
-						int nLine = structuredDocument.getLineOfOffset(position);
-						String currentLineDelim = structuredDocument.getLineDelimiter(nLine);
-						int nEndPos = structuredDocument.getLineOffset(nLine) + structuredDocument.getLineLength(nLine) - ((currentLineDelim != null) ? currentLineDelim.length() : 0);
-						if (nEndPos > flatNode.getEndOffset(region))
-							nEndPos = flatNode.getEndOffset(region);
-						command.length = nEndPos - command.offset;
-					}
-				}
-			}
-		} catch (BadLocationException e) {
-			// do not customize command
-		}
-
-	}
-
-	private static int endsWith(String[] searchStrings, String text) {
-		for (int i = 0; i < searchStrings.length; i++) {
-			if (text.endsWith(searchStrings[i]))
-				return i;
-		}
-		return -1;
-	}
-
-	private static int findEndOfWhiteSpace(IDocument document, int offset, int end) throws BadLocationException {
-		while (offset < end) {
-			char c = document.getChar(offset);
-			if (c != ' ' && c != '\t') {
-				return offset;
-			}
-			offset++;
-		}
-		return end;
-	}
-
-}
-
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSCACandidate.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSCACandidate.java
deleted file mode 100644
index 2987933..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSCACandidate.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-import org.eclipse.wst.css.ui.image.CSSImageType;
-
-class CSSCACandidate {
-
-	private String fReplacementString = null;
-	private int fCursorPosition = 0;
-	private String fDisplayString = null;
-	private CSSImageType fImageType = null;
-
-	/**
-	 * CSSCACandidate constructor comment.
-	 */
-	CSSCACandidate() {
-		super();
-	}
-
-	/**
-	 *  
-	 */
-	int getCursorPosition() {
-		return fCursorPosition;
-	}
-
-	/**
-	 *  
-	 */
-	String getDisplayString() {
-		return fDisplayString;
-	}
-
-	/**
-	 *  
-	 */
-	CSSImageType getImageType() {
-		return fImageType;
-	}
-
-	/**
-	 *  
-	 */
-	String getReplacementString() {
-		return fReplacementString;
-	}
-
-	/**
-	 *  
-	 */
-	void setCursorPosition(int cursorPosition) {
-		fCursorPosition = cursorPosition;
-	}
-
-	/**
-	 *  
-	 */
-	void setDisplayString(String displayString) {
-		fDisplayString = displayString;
-	}
-
-	/**
-	 *  
-	 */
-	void setImageType(CSSImageType imageType) {
-		fImageType = imageType;
-	}
-
-	/**
-	 *  
-	 */
-	void setReplacementString(String replacementString) {
-		fReplacementString = replacementString;
-	}
-
-	/**
-	 * Returns a String that represents the value of this object.
-	 * 
-	 * @return a string representation of the receiver
-	 */
-	public String toString() {
-		StringBuffer buf = new StringBuffer();
-		buf.append(getReplacementString());
-		buf.append("\"");//$NON-NLS-1$
-		buf.append(getDisplayString());
-		buf.append("\"");//$NON-NLS-1$
-		buf.append("(");//$NON-NLS-1$
-		buf.append(getCursorPosition());
-		buf.append(")");//$NON-NLS-1$
-
-		return buf.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistContext.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistContext.java
deleted file mode 100644
index 3d1baed..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistContext.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentassist;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.metamodel.CSSMetaModel;
-import org.eclipse.wst.css.core.metamodel.util.CSSMetaModelFinder;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-class CSSContentAssistContext {
-
-	private int fReplaceBegin = -1;
-	private String fTextToReplace = null;
-	private String fTextToCompare = null;
-	private int fTargetPos = -1;
-	private ICSSNode fTargetNode = null;
-	private int fCursorPos = -1;
-	private IStructuredDocument fStructuredDocument = null;
-	private int fDocumentOffset = 0;
-	private char fQuote = 0;
-	private ICSSModel fModel = null;
-
-	/**
-	 *  
-	 */
-	private CSSContentAssistContext() {
-		super();
-	}
-
-	/**
-	 *  
-	 */
-	CSSContentAssistContext(int documentPosition, ICSSNode node, int documentOffset, char quote) {
-		super();
-		fCursorPos = documentPosition;
-		fDocumentOffset = documentOffset;
-		fQuote = quote;
-		initialize(node.getOwnerDocument());
-	}
-
-	/**
-	 * @return int
-	 */
-	int getCursorPos() {
-		return fCursorPos;
-	}
-
-	/**
-	 * @return int
-	 */
-	int getDocumentOffset() {
-		return fDocumentOffset;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocument
-	 */
-	IStructuredDocument getStructuredDocument() {
-		return fStructuredDocument;
-	}
-
-	/**
-	 * @return com.ibm.sse.model.css.model.ICSSModel
-	 */
-	ICSSModel getModel() {
-		return fModel;
-	}
-
-	private ICSSNode getNodeAt(int offset) {
-		return (ICSSNode) ((fModel != null) ? fModel.getIndexedRegion(offset) : null);
-	}
-
-	/**
-	 * 
-	 * @return char
-	 */
-	char getQuoteOfStyleAttribute() {
-		return fQuote;
-	}
-
-	/**
-	 *  
-	 */
-	ITextRegion getRegionByOffset(int offset) {
-		ITextRegion region = null;
-		if (fStructuredDocument != null) {
-			IStructuredDocumentRegion flatNode = fStructuredDocument.getRegionAtCharacterOffset(offset);
-			if (flatNode != null) {
-				region = flatNode.getRegionAtCharacterOffset(offset);
-			}
-		}
-		return region;
-	}
-
-	/**
-	 *  
-	 */
-	//	String getRegionText() {
-	//		ITextRegion targetRegion = getTargetRegion();
-	//		if (targetRegion != null) {
-	//			return targetRegion.getText();
-	//		} else {
-	//			return ""; //$NON-NLS-1$
-	//		}
-	//	}
-	/**
-	 *  
-	 */
-	int getReplaceBegin() {
-		return fReplaceBegin;
-	}
-
-	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	//	ITextRegion getSignificantTargetRegion() {
-	//		ITextRegion targetRegion = getTargetRegion();
-	//		RegionIterator iterator = null;
-	//		if (targetRegion == null) {
-	//			if (0 < fCursorPos) {
-	//				iterator = new RegionIterator(fStructuredDocument, fCursorPos - 1);
-	//			}
-	//		} else {
-	//			iterator = getRegionIterator();
-	//		}
-	//		if (iterator != null) {
-	//			while (iterator.hasPrev()) {
-	//				ITextRegion region = iterator.prev();
-	//				String type = region.getType();
-	//				if (type != CSSRegionContexts.CSS_S && type !=
-	// CSSRegionContexts.CSS_COMMENT &&
-	//					type != CSSRegionContexts.CSS_CDO && type != CSSRegionContexts.CSS_CDC)
-	// {
-	//					targetRegion = region;
-	//					break;
-	//				}
-	//			}
-	//		}
-	//
-	//		return targetRegion;
-	//	}
-	/**
-	 *  
-	 */
-	ICSSNode getTargetNode() {
-		return fTargetNode;
-	}
-
-	/**
-	 *  
-	 */
-	private int getTargetPos() {
-		return fTargetPos;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	ITextRegion getTargetRegion() {
-		return getRegionByOffset(getTargetPos());
-	}
-
-	private IStructuredDocumentRegion getTargetDocumentRegion() {
-		return getDocumentRegionByOffset(getTargetPos());
-	}
-
-	private IStructuredDocumentRegion getDocumentRegionByOffset(int offset) {
-		return (fStructuredDocument != null) ? fStructuredDocument.getRegionAtCharacterOffset(offset) : null;
-	}
-
-	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	ITextRegion getTargetRegionPrevious() {
-		ITextRegion previousRegion = null;
-		ITextRegion targetRegion = getTargetRegion();
-		RegionIterator iterator = null;
-		if (targetRegion == null) {
-			if (0 < fCursorPos) {
-				iterator = new RegionIterator(fStructuredDocument, fCursorPos - 1);
-			}
-		} else {
-			iterator = getRegionIterator();
-			if (iterator.hasPrev()) {
-				iterator.prev();
-			} else {
-				iterator = null;
-			}
-		}
-		if (iterator != null) {
-			while (iterator.hasPrev()) {
-				ITextRegion region = iterator.prev();
-				String type = region.getType();
-				if (type != CSSRegionContexts.CSS_S && type != CSSRegionContexts.CSS_COMMENT && type != CSSRegionContexts.CSS_CDO && type != CSSRegionContexts.CSS_CDC) {
-					previousRegion = region;
-					break;
-				}
-			}
-		}
-
-		return previousRegion;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	String getTextToCompare() {
-		return fTextToCompare;
-	}
-
-	/**
-	 *  
-	 */
-	String getTextToReplace() {
-		return fTextToReplace;
-	}
-
-	/**
-	 *  
-	 */
-	private void initialize(ICSSDocument doc) {
-		if (doc == null) {
-			return;
-		}
-		ICSSModel model = doc.getModel();
-		fModel = model;
-		fStructuredDocument = model.getStructuredDocument();
-
-		initializeTargetPos();
-		initializeTargetText();
-		initializeTargetNode();
-	}
-
-	/**
-	 *  
-	 */
-	private void initializeTargetNode() {
-		if (fCursorPos == 0) {
-			fTargetNode = fModel.getDocument();
-			return;
-		}
-
-		// find edge of tree node
-		ICSSNode cursorNode = getNodeAt(fCursorPos);
-		if (cursorNode == null) { // end of document
-			cursorNode = fModel.getDocument();
-		}
-		ICSSNode node = null;
-		IStructuredDocumentRegion flatNode = fStructuredDocument.getRegionAtCharacterOffset(fCursorPos - 1);
-		while (flatNode != null && (node = getNodeAt(flatNode.getStartOffset())) == cursorNode && ((IndexedRegion) node).getStartOffset() != flatNode.getStartOffset()) {
-			flatNode = flatNode.getPrevious();
-		}
-		if (flatNode == null) { // top of document
-			fTargetNode = (node == null) ? fModel.getDocument() : node;
-			return;
-		}
-		//   v<--|
-		//   AAAAAA
-		// BBBBBBBBBB cursorNode:A , node:B -> target is A
-		if (cursorNode != null) {
-			for (ICSSNode parent = cursorNode.getParentNode(); parent != null; parent = parent.getParentNode()) {
-				if (parent == cursorNode) {
-					fTargetNode = cursorNode;
-					return;
-				}
-			}
-		}
-		//     v<--|
-		//   AAA
-		// BBBBBBBBBB cursorNode:B , node:A -> depend on A's node type
-		short nodeType = node.getNodeType();
-		if (nodeType == ICSSNode.STYLEDECLITEM_NODE || nodeType == ICSSNode.CHARSETRULE_NODE || nodeType == ICSSNode.IMPORTRULE_NODE) {
-			String type = CSSUtil.getStructuredDocumentRegionType(flatNode);
-			if (type == CSSRegionContexts.CSS_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-				fTargetNode = node.getParentNode();
-			} else {
-				fTargetNode = node;
-			}
-			//			fTargetNode = (bOverSemiColon) ? node.getParentNode() : node;
-		} else if (CSSUtil.getStructuredDocumentRegionType(flatNode) == CSSRegionContexts.CSS_RBRACE) {
-			fTargetNode = node.getParentNode();
-		} else {
-			fTargetNode = node;
-		}
-
-		return;
-	}
-
-	/**
-	 *  
-	 */
-	private void initializeTargetPos() {
-		if (fCursorPos == 0 || isSpecialDelimiterRegion(fCursorPos - 1)) {
-			fTargetPos = fCursorPos;
-		} else {
-			fTargetPos = fCursorPos - 1;
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private void initializeTargetText() {
-		ITextRegion targetRegion = getTargetRegion();
-		IStructuredDocumentRegion documentRegion = getTargetDocumentRegion();
-		if (targetRegion == null) {
-			fReplaceBegin = fCursorPos;
-			fTextToReplace = ""; //$NON-NLS-1$
-			fTextToCompare = ""; //$NON-NLS-1$
-		} else {
-			String regionText = documentRegion.getText(targetRegion);
-			int regionStart = documentRegion.getStartOffset(targetRegion);
-			if (regionStart == fCursorPos || regionText.trim().length() == 0 || regionStart + regionText.length() - 1 < fTargetPos) {
-				// to insertion
-				fReplaceBegin = fCursorPos;
-				fTextToReplace = ""; //$NON-NLS-1$
-				fTextToCompare = ""; //$NON-NLS-1$
-			} else {
-				// to replace
-				fReplaceBegin = regionStart;
-				fTextToReplace = regionText;
-				fTextToCompare = regionText.substring(0, fCursorPos - fReplaceBegin);
-			}
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private boolean isSpecialDelimiterRegion(int pos) {
-		ITextRegion region = getRegionByOffset(pos);
-		String type = region.getType();
-		return (type == CSSRegionContexts.CSS_LBRACE || type == CSSRegionContexts.CSS_RBRACE || type == CSSRegionContexts.CSS_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_SEPARATOR || type == CSSRegionContexts.CSS_DECLARATION_DELIMITER || type == CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR);
-	}
-
-	/**
-	 *  
-	 */
-	boolean isTargetPosAfterOf(String regionType) {
-		int start = ((IndexedRegion) fTargetNode).getStartOffset();
-		if (start < 0 || ((IndexedRegion) fTargetNode).getEndOffset() <= 0) {
-			return false;
-		}
-
-		RegionIterator iRegion = new RegionIterator(fStructuredDocument, start);
-		while (iRegion.hasNext()) {
-			ITextRegion region = iRegion.next();
-			if (fTargetPos < iRegion.getStructuredDocumentRegion().getTextEndOffset(region)) {
-				break;
-			}
-			if (region.getType() == regionType) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 *  
-	 */
-	boolean isTargetPosBeforeOf(String regionType) {
-		return !isTargetPosAfterOf(regionType);
-	}
-
-	/**
-	 * @return boolean
-	 * @param regionType
-	 *            java.lang.String
-	 */
-	boolean targetFollows(String regionType) {
-		RegionIterator iRegion;
-		ITextRegion region = null;
-		if (fStructuredDocument.getLength() <= fTargetPos) {
-			iRegion = new RegionIterator(fStructuredDocument, fStructuredDocument.getLength() - 1);
-		} else {
-			iRegion = new RegionIterator(fStructuredDocument, fTargetPos);
-			try {
-				if (!Character.isWhitespace(fStructuredDocument.getChar(fTargetPos)) && iRegion.hasPrev()) {
-					region = iRegion.prev();
-				}
-			} catch (BadLocationException e) {
-				iRegion = new RegionIterator(fStructuredDocument, fStructuredDocument.getLength() - 1);
-			}
-		}
-		while (iRegion.hasPrev()) {
-			region = iRegion.prev();
-			String type = region.getType();
-			if (type == CSSRegionContexts.CSS_S || type == CSSRegionContexts.CSS_COMMENT) {
-				continue;
-			} else {
-				break;
-			}
-		}
-		if (region != null && region.getType() == regionType) {
-			return true;
-		} else {
-			return false;
-		}
-	}
-
-	/**
-	 *  
-	 */
-	boolean targetHas(String regionType) {
-		int start = ((IndexedRegion) fTargetNode).getStartOffset();
-		int end = ((IndexedRegion) fTargetNode).getEndOffset();
-		if (start < 0 || end <= 0) {
-			return false;
-		}
-		RegionIterator iRegion = new RegionIterator(fStructuredDocument, start);
-		while (iRegion.hasNext()) {
-			ITextRegion region = iRegion.next();
-			if (end <= iRegion.getStructuredDocumentRegion().getStartOffset(region)) {
-				break;
-			}
-			if (region.getType() == regionType) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	RegionIterator getRegionIterator() {
-		return new RegionIterator(getStructuredDocument(), getTargetPos());
-	}
-
-	/**
-	 *  
-	 */
-	CSSMetaModel getMetaModel() {
-		CSSMetaModelFinder finder = CSSMetaModelFinder.getInstance();
-		return finder.findMetaModelFor(getModel());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistProcessor.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistProcessor.java
deleted file mode 100644
index 50f1d6d..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistProcessor.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.wst.css.core.adapters.ICSSModelAdapter;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.html.core.htmlcss.StyleAdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.ui.contentassist.XMLContentAssistUtilities;
-import org.eclipse.wst.xml.ui.util.SharedXMLEditorPluginImageHelper;
-
-public class CSSContentAssistProcessor implements IContentAssistProcessor {
-
-	private int fDocumentOffset = 0;
-	private char fQuote = 0;
-
-	/**
-	 * Return a list of proposed code completions based on the specified
-	 * location within the document that corresponds to the current cursor
-	 * position within the text-editor control.
-	 * 
-	 * @param documentPosition
-	 *            a location within the document
-	 * @return an array of code-assist items
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentPosition) {
-
-		IndexedRegion indexedNode = ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, documentPosition + fDocumentOffset);
-		IndexedRegion keyIndexedNode = null;
-		XMLNode xNode = null;
-		XMLNode parent = null;
-		IStructuredModel cssModel = null;
-		CSSProposalArranger arranger = null;
-
-		// bail if we couldn't get an indexed node
-		//if(indexedNode == null) return new ICompletionProposal[0];
-		if (indexedNode instanceof XMLNode) {
-			xNode = (XMLNode) indexedNode;
-			parent = (XMLNode) xNode.getParentNode();
-		}
-		// need to get in here if there in the no 0 region <style>|</style>
-		// case
-		if (xNode != null && xNode.getNodeName().equalsIgnoreCase(HTML40Namespace.ElementName.STYLE)) {
-			// now we know the cursor is in a <style> tag w/out region
-			cssModel = getCSSModel(xNode);
-			if (cssModel == null)
-				return new ICompletionProposal[0];
-
-			// adjust offsets for embedded style
-			int offset = documentPosition;
-			int pos = 0;
-			keyIndexedNode = cssModel.getIndexedRegion(pos);
-			if (keyIndexedNode == null) {
-				keyIndexedNode = (IndexedRegion) ((ICSSModel) cssModel).getDocument();
-			}
-			arranger = new CSSProposalArranger(pos, (ICSSNode) keyIndexedNode, offset, (char) 0);
-
-		} else if (parent != null && parent.getNodeName().equalsIgnoreCase(HTML40Namespace.ElementName.STYLE)) {
-			// now we know the cursor is in a <style> tag with a region
-			// use the parent because that will be the <style> tag
-			cssModel = getCSSModel(parent);
-			if (cssModel == null)
-				return new ICompletionProposal[0];
-
-			// adjust offsets for embedded style
-			int offset = indexedNode.getStartOffset();
-			int pos = documentPosition - offset;
-			keyIndexedNode = cssModel.getIndexedRegion(pos);
-			if (keyIndexedNode == null) {
-				keyIndexedNode = (IndexedRegion) ((ICSSModel) cssModel).getDocument();
-			}
-			arranger = new CSSProposalArranger(pos, (ICSSNode) keyIndexedNode, offset, (char) 0);
-		} else if (indexedNode instanceof XMLNode) {
-			// get model for node w/ style attribute
-			cssModel = getCSSModel((XMLNode) indexedNode);
-		} else if (indexedNode instanceof ICSSNode) {
-			// when editing external CSS using CSS Designer, ICSSNode is
-			// passed.
-			ICSSDocument cssdoc = ((ICSSNode) indexedNode).getOwnerDocument();
-			if (cssdoc != null) {
-				cssModel = cssdoc.getModel();
-			}
-		} else if (indexedNode == null && isViewerEmpty(viewer) && viewer instanceof StructuredTextViewer) {
-			// the top of empty CSS Document
-			IStructuredModel model = ((StructuredTextViewer) viewer).getModel();
-			if (model instanceof ICSSModel) {
-				cssModel = (ICSSModel) model;
-			}
-		}
-
-		if (cssModel == null)
-			return new ICompletionProposal[0];
-
-		keyIndexedNode = cssModel.getIndexedRegion(documentPosition - fDocumentOffset);
-		if (keyIndexedNode == null) {
-			keyIndexedNode = (IndexedRegion) ((ICSSModel) cssModel).getDocument();
-		}
-
-		if (!(keyIndexedNode instanceof ICSSNode)) {
-			return new ICompletionProposal[0];
-		}
-
-		if (arranger == null) {
-			// if it's null at this point, it must be inline style for a tag,
-			// not embedded
-			arranger = new CSSProposalArranger(documentPosition, (ICSSNode) keyIndexedNode, fDocumentOffset, fQuote);
-		}
-		fDocumentOffset = 0;
-		ICompletionProposal[] temp = arranger.getProposals();
-
-		// add end tag if parent is not closed
-		ICompletionProposal endTag = XMLContentAssistUtilities.computeXMLEndTagProposal(viewer, documentPosition, indexedNode, HTML40Namespace.ElementName.STYLE, SharedXMLEditorPluginImageHelper.IMG_OBJ_TAG_GENERIC); //$NON-NLS-1$
-		if (endTag == null)
-			return temp;
-		else {
-			ICompletionProposal[] plusOne = new ICompletionProposal[temp.length + 1];
-			System.arraycopy(temp, 0, plusOne, 1, temp.length);
-			plusOne[0] = endTag;
-			return plusOne;
-		}
-	}
-
-	/**
-	 * Returns true if there is no text or it's all white space, otherwise
-	 * returns false
-	 * 
-	 * @param treeNode
-	 * @param textViewer
-	 * @return boolean
-	 */
-	private boolean isViewerEmpty(ITextViewer textViewer) {
-		boolean isEmpty = false;
-		String text = textViewer.getTextWidget().getText();
-		if (text == null || (text != null && text.trim().equals(""))) //$NON-NLS-1$
-			isEmpty = true;
-		return isEmpty;
-	}
-
-	/**
-	 * Get CSSModel for an indexed node
-	 * 
-	 * @param indexedNode
-	 * @return IStructuredModel
-	 */
-	//	private IStructuredModel getCSSModel(IndexedRegion indexedNode) {
-	//		if (indexedNode == null) return null;
-	//		Node node = (Node)indexedNode;
-	//		INodeNotifier notifier = (INodeNotifier)node.getParentNode();
-	//		if (notifier == null) return null;
-	//		INodeAdapter adapter =
-	// StyleAdapterFactory.getInstance().adapt(notifier);
-	//		if (adapter == null || !(adapter instanceof CSSModelAdapter)) return
-	// null;
-	//		CSSModelAdapter modelAdapter = (CSSModelAdapter)adapter;
-	//		return modelAdapter.getModel();
-	//	}
-	/**
-	 * Returns the CSSmodel for a given XML node.
-	 * 
-	 * @param element
-	 * @return IStructuredModel
-	 */
-	private IStructuredModel getCSSModel(XMLNode element) {
-		if (element == null)
-			return null;
-		INodeAdapter adapter = StyleAdapterFactory.getInstance().adapt(element);
-		if (adapter == null || !(adapter instanceof ICSSModelAdapter))
-			return null;
-		ICSSModelAdapter modelAdapter = (ICSSModelAdapter) adapter;
-		return modelAdapter.getModel();
-	}
-
-	/**
-	 * Returns information about possible contexts based on the specified
-	 * location within the document that corresponds to the current cursor
-	 * position within the text viewer.
-	 * 
-	 * @param viewer
-	 *            the viewer whose document is used to compute the possible
-	 *            contexts
-	 * @param documentPosition
-	 *            an offset within the document for which context information
-	 *            should be computed
-	 * @return an array of context information objects or <code>null</code>
-	 *         if no context could be found
-	 */
-	public org.eclipse.jface.text.contentassist.IContextInformation[] computeContextInformation(org.eclipse.jface.text.ITextViewer viewer, int documentOffset) {
-		return null;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of possible completions.
-	 * 
-	 * @return the auto activation characters for completion proposal or
-	 *         <code>null</code> if no auto activation is desired
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of context information.
-	 * 
-	 * @return the auto activation characters for presenting context
-	 *         information or <code>null</code> if no auto activation is
-	 *         desired
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return null;
-	}
-
-	/**
-	 * Returns a validator used to determine when displayed context
-	 * information should be dismissed. May only return <code>null</code> if
-	 * the processor is incapable of computing context information.
-	 * 
-	 * @return a context information validator, or <code>null</code> if the
-	 *         processor is incapable of computing context information
-	 */
-	public org.eclipse.jface.text.contentassist.IContextInformationValidator getContextInformationValidator() {
-		return null;
-	}
-
-	/**
-	 * Return the reason why computeProposals was not able to find any
-	 * completions.
-	 * 
-	 * @return an error message or null if no error occurred
-	 */
-	public String getErrorMessage() {
-		return null;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2001/05/22
-	 * 10:37:05)
-	 * 
-	 * @param offset
-	 *            int
-	 */
-	public void setDocumentOffset(int offset) {
-		fDocumentOffset = offset;
-	}
-
-	/**
-	 * 
-	 * @param quote
-	 *            char
-	 */
-	public void setQuoteCharOfStyleAttribute(char quote) {
-		fQuote = quote;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalArranger.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalArranger.java
deleted file mode 100644
index 854e87d..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalArranger.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.contentassist.CompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.wst.css.core.document.ICSSMediaRule;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPageRule;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.document.ICSSStyleSheet;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.w3c.dom.css.CSSFontFaceRule;
-
-class CSSProposalArranger {
-
-	private List fProposals = new ArrayList();
-	private CSSContentAssistContext fContext = null;
-
-	/**
-	 * CSSProposalArranger constructor comment.
-	 */
-	private CSSProposalArranger() {
-		super();
-	}
-
-	/**
-	 * CSSProposalArranger constructor comment.
-	 */
-	CSSProposalArranger(int documentPosition, ICSSNode node, int documentOffset, char quote) {
-		super();
-		fContext = new CSSContentAssistContext(documentPosition, node, documentOffset, quote);
-	}
-
-	/**
-	 *  
-	 */
-	void buildProposals() {
-		fProposals.clear();
-
-		/*
-		 * String text; ICompletionProposal item; text = "---- Test
-		 * Information ----"; item = new CompletionProposal("",
-		 * fContext.getReplaceBegin(), 0, 0, null, text, null, null);
-		 * fProposals.add(item);
-		 * 
-		 * text = "Target: \"" + fContext.getRegionText() + "\"";
-		 * 
-		 * item = new CompletionProposal("", fContext.getReplaceBegin(), 0, 0,
-		 * null, text, null, null); fProposals.add(item);
-		 * 
-		 * text = fContext.getTargetNode().getClass().toString(); int
-		 * lastPeriodPos = text.lastIndexOf('.'); text = "Node: " +
-		 * text.substring(lastPeriodPos + 1); item = new
-		 * CompletionProposal("", fContext.getReplaceBegin(), 0, 0, null,
-		 * text, null, null); fProposals.add(item);
-		 */
-
-		ICSSNode targetNode = fContext.getTargetNode();
-		//int targetPos = fContext.getTargetPos();
-		if (targetNode instanceof ICSSStyleSheet) {
-			buildProposalsForAnyRule();
-		} else if ((targetNode instanceof ICSSMediaRule && fContext.isTargetPosAfterOf(CSSRegionContexts.CSS_LBRACE)) || (targetNode instanceof ICSSStyleRule && fContext.isTargetPosBeforeOf(CSSRegionContexts.CSS_LBRACE))) {
-			buildProposalsForAnyRule();
-			//		buildProposalsForStyleRule();
-		} else if ((targetNode instanceof ICSSPageRule && fContext.isTargetPosBeforeOf(CSSRegionContexts.CSS_LBRACE))) {
-			buildProposalsForPageRulePseudoClass();
-		} else if ((targetNode instanceof ICSSStyleRule || targetNode instanceof CSSFontFaceRule || targetNode instanceof ICSSPageRule || targetNode instanceof ICSSStyleDeclaration) && (targetNode.getOwnerDocument() instanceof ICSSStyleDeclaration || fContext.targetFollows(CSSRegionContexts.CSS_DECLARATION_DELIMITER) || fContext.targetFollows(CSSRegionContexts.CSS_LBRACE))) {
-			buildProposalsForDeclarationName();
-		} else if (targetNode instanceof ICSSStyleDeclItem) {
-			if (fContext.isTargetPosAfterOf(CSSRegionContexts.CSS_DECLARATION_SEPARATOR)) {
-				buildProposalsForDeclarationValue();
-			} else {
-				buildProposalsForDeclarationName();
-			}
-		} else if (targetNode instanceof ICSSPrimitiveValue) {
-			buildProposalsForDeclarationValue();
-		}
-		/*
-		 * else if (targetNode instanceof ICSSPrimitiveValue || ((targetNode
-		 * instanceof ICSSStyleRule || targetNode instanceof CSSFontFaceRule ||
-		 * targetNode instanceof ICSSStyleDeclaration || targetNode instanceof
-		 * ICSSStyleDeclItem) &&
-		 * fContext.isTargetPosAfterOf(CSSRegionContexts.COLON))) {
-		 * buildProposalsForDeclarationValue(); }
-		 */
-
-		// for Test
-	}
-
-	/**
-	 *  
-	 */
-	void buildProposalsForAnyRule() {
-		CSSProposalGenerator generator;
-		generator = new CSSProposalGeneratorForAtmarkRule(fContext);
-		fProposals.addAll(generator.getProposals());
-		generator = new CSSProposalGeneratorForHTMLTag(fContext);
-		fProposals.addAll(generator.getProposals());
-		generator = new CSSProposalGeneratorForPseudoSelector(fContext);
-		fProposals.addAll(generator.getProposals());
-	}
-
-	/**
-	 *  
-	 */
-	void buildProposalsForDeclarationName() {
-		CSSProposalGenerator generator;
-		generator = new CSSProposalGeneratorForDeclarationName(fContext);
-		fProposals.addAll(generator.getProposals());
-	}
-
-	/**
-	 *  
-	 */
-	void buildProposalsForDeclarationValue() {
-		CSSProposalGenerator generator;
-		generator = new CSSProposalGeneratorForDeclarationValue(fContext);
-		fProposals.addAll(generator.getProposals());
-	}
-
-	/**
-	 *  
-	 */
-	void buildProposalsForPageRulePseudoClass() {
-		CSSProposalGenerator generator;
-		generator = new CSSProposalGeneratorForPseudoSelector(fContext);
-		fProposals.addAll(generator.getProposals());
-	}
-
-	/**
-	 *  
-	 */
-	void buildProposalsForStyleRule() {
-		CSSProposalGenerator generator;
-		generator = new CSSProposalGeneratorForHTMLTag(fContext);
-		fProposals.addAll(generator.getProposals());
-		generator = new CSSProposalGeneratorForPseudoSelector(fContext);
-		fProposals.addAll(generator.getProposals());
-	}
-
-	/**
-	 *  
-	 */
-	ICompletionProposal[] getProposals() {
-		buildProposals();
-		ICompletionProposal[] proposalArray = new CompletionProposal[fProposals.size()];
-		Iterator iItem = fProposals.iterator();
-		for (int i = 0; iItem.hasNext(); i++) {
-			proposalArray[i] = (ICompletionProposal) iItem.next();
-		}
-		return proposalArray;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGenerator.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGenerator.java
deleted file mode 100644
index 483645a..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGenerator.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.contentassist.CompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.css.ui.image.CSSImageHelper;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-abstract class CSSProposalGenerator {
-
-
-	protected class StringAndOffset {
-		StringAndOffset(String string, int offset) {
-			this.fString = string;
-			this.fOffset = offset;
-		}
-
-		String fString;
-		int fOffset;
-	}
-
-	protected CSSContentAssistContext fContext = null;
-
-	/**
-	 * CSSProposalGenerator constructor comment.
-	 */
-	private CSSProposalGenerator() {
-		super();
-	}
-
-	CSSProposalGenerator(CSSContentAssistContext context) {
-		super();
-		fContext = context;
-	}
-
-	/**
-	 *  
-	 */
-	protected boolean checkLeadingColon() {
-		boolean hasLeadingColon = false;
-		ITextRegion targetRegion = fContext.getTargetRegion();
-		if (targetRegion == null && 0 < fContext.getCursorPos()) {
-			targetRegion = fContext.getRegionByOffset(fContext.getCursorPos() - 1);
-			if (targetRegion != null && targetRegion.getType() == CSSRegionContexts.CSS_SELECTOR_PSEUDO) {
-				hasLeadingColon = true;
-			}
-		} else if (targetRegion != null) {
-			RegionIterator iterator = fContext.getRegionIterator();
-			if (iterator.hasPrev()) {
-				iterator.prev();
-				if (iterator.hasPrev() && iterator.prev().getType() == CSSRegionContexts.CSS_SELECTOR_PSEUDO) {
-					hasLeadingColon = true;
-				}
-			}
-		}
-		return hasLeadingColon;
-	}
-
-	/**
-	 *  
-	 */
-	protected StringAndOffset generateBraces() {
-		StringBuffer buf = new StringBuffer();
-		String lineDelimiter = fContext.getStructuredDocument().getLineDelimiter();
-		CSSPreferenceHelper prefs = CSSPreferenceHelper.getInstance();
-		String indentStr = prefs.getIndentString();
-		if (prefs.isNewLineOnOpenBrace()) {
-			buf.append(lineDelimiter);
-		}
-		buf.append("{");//$NON-NLS-1$
-		if (prefs.isOnePropertyPerLine()) {
-			buf.append(lineDelimiter);
-			buf.append(indentStr);
-		} else {
-			buf.append(" ");//$NON-NLS-1$
-		}
-		int offset = buf.length();
-		if (prefs.isOnePropertyPerLine()) {
-			buf.append(lineDelimiter);
-		} else {
-			buf.append(" ");//$NON-NLS-1$
-		}
-		buf.append("}");//$NON-NLS-1$
-		return new StringAndOffset(buf.toString(), offset);
-	}
-
-	/**
-	 *  
-	 */
-	protected StringAndOffset generateParenthesis() {
-		StringBuffer buf = new StringBuffer();
-		int offset;
-		buf.append("(");//$NON-NLS-1$
-		offset = 1;
-		buf.append(")");//$NON-NLS-1$
-		return new StringAndOffset(buf.toString(), offset);
-	}
-
-	/**
-	 *  
-	 */
-	protected StringAndOffset generateQuotes() {
-		StringBuffer buf = new StringBuffer();
-		char quoteChar = getQuoteChar();
-		buf.append(quoteChar);
-		buf.append(quoteChar);
-		return new StringAndOffset(buf.toString(), 1);
-	}
-
-	/**
-	 *  
-	 */
-	protected StringAndOffset generateSemicolon() {
-		StringBuffer buf = new StringBuffer();
-		int offset;
-		buf.append(";");//$NON-NLS-1$
-		offset = 0;
-		return new StringAndOffset(buf.toString(), offset);
-	}
-
-	/**
-	 *  
-	 */
-	protected StringAndOffset generateURI() {
-		StringBuffer buf = new StringBuffer();
-		CSSPreferenceHelper prefs = CSSPreferenceHelper.getInstance();
-		char quoteChar = getQuoteChar();
-		buf.append("url(");//$NON-NLS-1$
-		if (prefs.isQuoteInURI()) {
-			buf.append(quoteChar);
-		}
-		int offset = buf.length();
-		if (prefs.isQuoteInURI()) {
-			buf.append(quoteChar);
-		}
-		buf.append(")");//$NON-NLS-1$
-		return new StringAndOffset(buf.toString(), offset);
-	}
-
-	abstract protected Iterator getCandidates();
-
-	List getProposals() {
-		List proposals = new ArrayList();
-
-		CSSImageHelper imageHelper = CSSImageHelper.getInstance();
-		Iterator i = getCandidates();
-		while (i.hasNext()) {
-			CSSCACandidate candidate = (CSSCACandidate) i.next();
-			Image image = imageHelper.getImage(candidate.getImageType());
-			ICompletionProposal item = new CompletionProposal(candidate.getReplacementString(), fContext.getReplaceBegin() + fContext.getDocumentOffset(), fContext.getTextToReplace().length(), candidate.getCursorPosition(), image, candidate.getDisplayString(), null, null);
-			proposals.add(item);
-		}
-
-		return proposals;
-	}
-
-	/**
-	 * 
-	 * @return char
-	 */
-	private char getQuoteChar() {
-		CSSPreferenceHelper prefs = CSSPreferenceHelper.getInstance();
-		String quoteStr = prefs.getQuoteString(fContext.getModel());
-		char quoteChar = (quoteStr != null && 0 < quoteStr.length()) ? quoteStr.charAt(0) : '"';
-		char attrQuote = fContext.getQuoteOfStyleAttribute();
-		if (attrQuote != 0) {
-			if (attrQuote == '"' && quoteChar == '"') {
-				quoteChar = '\'';
-			} else if (attrQuote == '\'' && quoteChar == '\'') {
-				quoteChar = '"';
-			}
-		}
-		return quoteChar;
-	}
-
-	/**
-	 *  
-	 */
-	protected boolean isMatch(String text) {
-		String textToCompare = fContext.getTextToCompare();
-		if (textToCompare.length() == 0) {
-			return true;
-		} else {
-			return (text.toUpperCase().indexOf(textToCompare.toUpperCase()) == 0);
-		}
-		/*
-		 * String textToReplace = fContext.getTextToReplace(); if
-		 * (textToReplace.length() == 0) { return true; } else { return
-		 * (text.toUpperCase().indexOf(textToReplace.toUpperCase()) == 0); }
-		 */
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForAtmarkRule.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForAtmarkRule.java
deleted file mode 100644
index 1539037..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForAtmarkRule.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.css.core.document.ICSSCharsetRule;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.util.CSSMetaModelUtil;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.SelectionCollector;
-import org.eclipse.wst.css.ui.image.CSSImageType;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-class CSSProposalGeneratorForAtmarkRule extends CSSProposalGenerator {
-
-	private boolean fUseUpperCase = false;
-	private static final String CHARSET = "@charset";//$NON-NLS-1$
-	private static final String FONT_FACE = "@font-face";//$NON-NLS-1$
-	private static final String IMPORT = "@import";//$NON-NLS-1$
-	private static final String MEDIA = "@media";//$NON-NLS-1$
-	private static final String PAGE = "@page";//$NON-NLS-1$
-
-	/**
-	 * CSSAtmarkRuleProposalGenerator constructor comment.
-	 * 
-	 * @param context
-	 *            com.ibm.sed.contentassist.old.css.CSSContentAssistContext
-	 */
-	CSSProposalGeneratorForAtmarkRule(CSSContentAssistContext context) {
-		super(context);
-		fUseUpperCase = CSSPreferenceHelper.getInstance().isIdentUpperCase();
-	}
-
-	/**
-	 *  
-	 */
-	private CSSCACandidate getCandidateCharsetRule() {
-		// check content model
-		CSSMetaModelUtil util = new CSSMetaModelUtil(fContext.getMetaModel());
-		if (!util.collectNodesByType(CSSMMNode.TYPE_CHARSET_RULE).hasNext()) {
-			return null;
-		}
-
-		// check if embedded or not
-		if (fContext.getModel().getStyleSheetType() == ICSSModel.EMBEDDED) {
-			return null;
-		}
-
-		// check if caret precede all other rules.
-		int offset = fContext.getCursorPos();
-		if (0 < offset) {
-			SelectionCollector trav = new SelectionCollector();
-			trav.setRegion(0, offset - 1);
-			trav.apply(fContext.getModel().getDocument());
-			Iterator i = trav.getSelectedNodes().iterator();
-			while (i.hasNext()) {
-				Object obj = i.next();
-				if (obj instanceof ICSSNode && !(obj instanceof ICSSDocument)) {
-					return null;
-				}
-			}
-		}
-
-		int cursorPos = 0;
-		String ident = (fUseUpperCase) ? CHARSET.toUpperCase() : CHARSET.toLowerCase();
-		StringBuffer buf = new StringBuffer();
-		buf.append(ident);
-		buf.append(" ");//$NON-NLS-1$
-		cursorPos = buf.length();
-		StringAndOffset sao;
-		sao = generateQuotes();
-		buf.append(sao.fString);
-		cursorPos += sao.fOffset;
-		sao = generateSemicolon();
-		buf.append(sao.fString);
-
-		String text = buf.toString();
-
-		if (isMatch(text)) {
-			CSSCACandidate item = new CSSCACandidate();
-			item.setReplacementString(text);
-			item.setCursorPosition(cursorPos);
-			item.setDisplayString(ident);
-			item.setImageType(CSSImageType.RULE_CHARSET);
-			return item;
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private CSSCACandidate getCandidateFontFaceRule() {
-		CSSMetaModelUtil util = new CSSMetaModelUtil(fContext.getMetaModel());
-		if (!util.collectNodesByType(CSSMMNode.TYPE_FONT_FACE_RULE).hasNext()) {
-			return null;
-		}
-
-		int cursorPos = 0;
-		String ident = (fUseUpperCase) ? FONT_FACE.toUpperCase() : FONT_FACE.toLowerCase();
-		StringBuffer buf = new StringBuffer();
-		buf.append(ident);
-		buf.append(" ");//$NON-NLS-1$
-		cursorPos = buf.length();
-		StringAndOffset sao;
-		sao = generateBraces();
-		buf.append(sao.fString);
-		cursorPos += sao.fOffset;
-
-		String text = buf.toString();
-
-		if (isMatch(text)) {
-			CSSCACandidate item = new CSSCACandidate();
-			item.setReplacementString(buf.toString());
-			item.setCursorPosition(cursorPos);
-			item.setDisplayString(ident);
-			item.setImageType(CSSImageType.RULE_FONTFACE);
-			return item;
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private CSSCACandidate getCandidateImportRule() {
-		// check content model
-		CSSMetaModelUtil util = new CSSMetaModelUtil(fContext.getMetaModel());
-		if (!util.collectNodesByType(CSSMMNode.TYPE_IMPORT_RULE).hasNext()) {
-			return null;
-		}
-
-		// charset and import can precede import rule.
-		int offset = fContext.getCursorPos();
-		if (0 < offset) {
-			SelectionCollector trav = new SelectionCollector();
-			trav.setRegion(0, offset - 1);
-			trav.apply(fContext.getModel().getDocument());
-			Iterator i = trav.getSelectedNodes().iterator();
-			while (i.hasNext()) {
-				Object obj = i.next();
-				if (obj instanceof ICSSNode && !(obj instanceof ICSSDocument || obj instanceof ICSSCharsetRule || obj instanceof ICSSImportRule)) {
-					return null;
-				}
-			}
-		}
-
-		int cursorPos = 0;
-		String ident = (fUseUpperCase) ? IMPORT.toUpperCase() : IMPORT.toLowerCase();
-		StringBuffer buf = new StringBuffer();
-		buf.append(ident);
-		buf.append(" ");//$NON-NLS-1$
-		cursorPos = buf.length();
-		StringAndOffset sao;
-		sao = generateURI();
-		buf.append(sao.fString);
-		cursorPos += sao.fOffset;
-		sao = generateSemicolon();
-		buf.append(sao.fString);
-
-		String text = buf.toString();
-
-		if (isMatch(text)) {
-			CSSCACandidate item = new CSSCACandidate();
-			item.setReplacementString(buf.toString());
-			item.setCursorPosition(cursorPos);
-			item.setDisplayString(ident);
-			item.setImageType(CSSImageType.RULE_IMPORT);
-			return item;
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private CSSCACandidate getCandidateMediaRule() {
-		CSSMetaModelUtil util = new CSSMetaModelUtil(fContext.getMetaModel());
-		if (!util.collectNodesByType(CSSMMNode.TYPE_MEDIA_RULE).hasNext()) {
-			return null;
-		}
-
-		int cursorPos = 0;
-		String ident = (fUseUpperCase) ? MEDIA.toUpperCase() : MEDIA.toLowerCase();
-		StringBuffer buf = new StringBuffer();
-		buf.append(ident);
-		buf.append("  ");//$NON-NLS-1$
-		cursorPos = buf.length() - 1;
-		StringAndOffset sao;
-		sao = generateBraces();
-		buf.append(sao.fString);
-
-		String text = buf.toString();
-
-		if (isMatch(text)) {
-			CSSCACandidate item = new CSSCACandidate();
-			item.setReplacementString(buf.toString());
-			item.setCursorPosition(cursorPos);
-			item.setDisplayString(ident);
-			item.setImageType(CSSImageType.RULE_MEDIA);
-			return item;
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private CSSCACandidate getCandidatePageRule() {
-		CSSMetaModelUtil util = new CSSMetaModelUtil(fContext.getMetaModel());
-		if (!util.collectNodesByType(CSSMMNode.TYPE_PAGE_RULE).hasNext()) {
-			return null;
-		}
-
-		int cursorPos = 0;
-		String ident = (fUseUpperCase) ? PAGE.toUpperCase() : PAGE.toLowerCase();
-		StringBuffer buf = new StringBuffer();
-		buf.append(ident);
-		buf.append(" ");//$NON-NLS-1$
-		cursorPos = buf.length();
-		StringAndOffset sao;
-		sao = generateBraces();
-		buf.append(sao.fString);
-		cursorPos += sao.fOffset;
-
-		String text = buf.toString();
-
-		if (isMatch(text)) {
-			CSSCACandidate item = new CSSCACandidate();
-			item.setReplacementString(buf.toString());
-			item.setCursorPosition(cursorPos);
-			item.setDisplayString(ident);
-			item.setImageType(CSSImageType.RULE_PAGE);
-			return item;
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 * getCandidates method comment.
-	 */
-	protected Iterator getCandidates() {
-		List candidates = new ArrayList();
-
-		ITextRegion region = fContext.getTargetRegionPrevious();
-		//	ITextRegion region = fContext.getSignificantTargetRegion();
-		if (region != null) {
-			String type = region.getType();
-			if (type != CSSRegionContexts.CSS_RBRACE && type != CSSRegionContexts.CSS_DELIMITER) {
-				return candidates.iterator();
-			}
-		}
-
-		CSSCACandidate item;
-		if ((item = getCandidateImportRule()) != null) {
-			candidates.add(item);
-		}
-		if ((item = getCandidateCharsetRule()) != null) {
-			candidates.add(item);
-		}
-		if ((item = getCandidateMediaRule()) != null) {
-			candidates.add(item);
-		}
-		if ((item = getCandidatePageRule()) != null) {
-			candidates.add(item);
-		}
-		if ((item = getCandidateFontFaceRule()) != null) {
-			candidates.add(item);
-		}
-		return candidates.iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForDeclarationName.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForDeclarationName.java
deleted file mode 100644
index 6bf2040..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForDeclarationName.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.util.CSSMetaModelUtil;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.ui.image.CSSImageType;
-import org.eclipse.wst.css.ui.preferences.CSSPreferenceManager;
-
-class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator {
-
-	/**
-	 * CSSProposalGeneratorForDeclaration constructor comment.
-	 * 
-	 * @param context
-	 *            com.ibm.sed.contentassist.old.css.CSSContentAssistContext
-	 */
-	CSSProposalGeneratorForDeclarationName(CSSContentAssistContext context) {
-		super(context);
-	}
-
-	/**
-	 * getCandidates method comment.
-	 */
-	protected Iterator getCandidates() {
-		List candidates = new ArrayList();
-
-		CSSPreferenceHelper prefs = CSSPreferenceHelper.getInstance();
-		String preDelim = "";//$NON-NLS-1$
-		for (int i = 0; i < prefs.getSpacesPreDelimiter(); i++) {
-			preDelim += ' ';//$NON-NLS-1$
-		}
-		String postDelim = "";//$NON-NLS-1$
-		for (int i = 0; i < prefs.getSpacesPostDelimiter(); i++) {
-			postDelim += ' ';//$NON-NLS-1$
-		}
-
-		ICSSNode targetNode = fContext.getTargetNode();
-		boolean bFontRule = false;
-		for (ICSSNode node = targetNode; node != null; node = node.getParentNode()) {
-			if (node instanceof org.w3c.dom.css.CSSFontFaceRule) {
-				bFontRule = true;
-				break;
-			}
-		}
-
-		List names = new ArrayList();
-		CSSMetaModelUtil util = new CSSMetaModelUtil(fContext.getMetaModel());
-		Iterator iNames = util.collectNodesByType((bFontRule) ? CSSMMNode.TYPE_DESCRIPTOR : CSSMMNode.TYPE_PROPERTY);
-		while (iNames.hasNext()) {
-			CSSMMNode node = (CSSMMNode) iNames.next();
-			names.add(node);
-		}
-		sortNames(names);
-		//Collections.sort(names);
-
-		boolean bAddColon = true;
-		if (targetNode instanceof ICSSStyleDeclItem && fContext.targetHas(CSSRegionContexts.CSS_DECLARATION_SEPARATOR)) {
-			bAddColon = false;
-		}
-
-		Iterator i = names.iterator();
-		while (i.hasNext()) {
-			CSSMMNode node = (CSSMMNode) i.next();
-			String text = node.getName();
-			text = (prefs.isPropNameUpperCase()) ? text.toUpperCase() : text.toLowerCase();
-			if (!isMatch(text)) {
-				continue;
-			}
-
-			int cursorPos = 0;
-			StringBuffer buf = new StringBuffer();
-			buf.append(text);
-			buf.append(preDelim);
-			cursorPos = buf.length();
-			if (bAddColon) {
-				buf.append(':');//$NON-NLS-1$
-				buf.append(postDelim);
-				cursorPos += 1 + postDelim.length();
-			}
-			//			if (! (targetNode instanceof ICSSStyleDeclItem)) {
-			//				buf.append(';');//$NON-NLS-1$
-			//			}
-
-			CSSCACandidate item = new CSSCACandidate();
-			item.setReplacementString(buf.toString());
-			item.setCursorPosition(cursorPos);
-			item.setDisplayString(text);
-			item.setImageType(getCategoryImageType(node));
-			candidates.add(item);
-		}
-
-		return candidates.iterator();
-	}
-
-	void sortNames(List names) {
-		CSSPreferenceManager prefMan = CSSPreferenceManager.getInstance();
-		final boolean categorize = prefMan.getContentAssistCategorize();
-
-		Collections.sort(names, new Comparator() {
-			public int compare(Object o1, Object o2) {
-				CSSMMNode node1 = (CSSMMNode) o1;
-				CSSMMNode node2 = (CSSMMNode) o2;
-				if (node1 == null) {
-					return 1;
-				} else if (node2 == null) {
-					return -1;
-				}
-				int diff = 0;
-				if (categorize) {
-					String category1 = node1.getAttribute("category"); //$NON-NLS-1$
-					String category2 = node2.getAttribute("category"); //$NON-NLS-1$
-					if (category1 == null) {
-						if (category2 == null) {
-							diff = 0;
-						} else {
-							return 1;
-						}
-					} else if (category2 == null) {
-						return -1;
-					} else {
-						diff = category1.compareTo(category2);
-					}
-				}
-				if (diff == 0) {
-					String name = node1.getName();
-					if (name == null) {
-						return 1;
-					} else {
-						return name.compareTo(node2.getName());
-					}
-				} else {
-					return diff;
-				}
-			}
-		});
-	}
-
-	/*
-	 * retrieve default category icon name TODO: if node has "icon"(?), use
-	 * it.
-	 */
-	CSSImageType getCategoryImageType(CSSMMNode node) {
-		CSSImageType imageType = null;
-		if (node != null) {
-			String category = node.getAttribute("category"); //$NON-NLS-1$
-			if (category != null) {
-				imageType = CSSImageType.getImageType(category);
-			}
-		}
-		return (imageType == null) ? CSSImageType.CATEGORY_DEFAULT : imageType;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForDeclarationValue.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForDeclarationValue.java
deleted file mode 100644
index f80c0f9..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForDeclarationValue.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.metamodel.CSSMMDescriptor;
-import org.eclipse.wst.css.core.metamodel.CSSMMFunction;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMNumber;
-import org.eclipse.wst.css.core.metamodel.CSSMMProperty;
-import org.eclipse.wst.css.core.metamodel.CSSMMUnit;
-import org.eclipse.wst.css.core.metamodel.util.CSSFunctionID;
-import org.eclipse.wst.css.core.metamodel.util.CSSMetaModelUtil;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.core.util.CSSUtil;
-import org.eclipse.wst.css.core.util.RegionIterator;
-import org.eclipse.wst.css.ui.image.CSSImageType;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.w3c.dom.css.CSSFontFaceRule;
-
-class CSSProposalGeneratorForDeclarationValue extends CSSProposalGenerator {
-
-	private static final String IMPORTANT = "!important"; //$NON-NLS-1$
-	private boolean fUseUpperCase;
-	private boolean fAppendSemiColon;
-
-	/**
-	 * CSSProposalGeneratorForDeclarationValue constructor comment.
-	 * 
-	 * @param context
-	 *            com.ibm.sed.contentassist.old.css.CSSContentAssistContext
-	 */
-	CSSProposalGeneratorForDeclarationValue(CSSContentAssistContext context) {
-		super(context);
-		fUseUpperCase = CSSPreferenceHelper.getInstance().isPropValueUpperCase();
-	}
-
-	/**
-	 *  
-	 */
-	private void addFunction(List candidates, CSSMMFunction prop) {
-		String text = prop.toString();
-		if (!isMatch(text)) {
-			return;
-		}
-
-		int cursorPos = 0;
-		StringBuffer buf = new StringBuffer();
-		if (prop.getName().equals(CSSFunctionID.F_URI)) {
-			StringAndOffset sao = generateURI();
-			buf.append(sao.fString);
-			cursorPos = sao.fOffset;
-		} else {
-			buf.append(prop.toString());
-			cursorPos = buf.length();
-			StringAndOffset sao = generateParenthesis();
-			buf.append(sao.fString);
-			cursorPos += sao.fOffset;
-		}
-
-		text = buf.toString();
-		text = (fUseUpperCase) ? text.toUpperCase() : text.toLowerCase();
-
-		CSSCACandidate item = new CSSCACandidate();
-		item.setReplacementString(text);
-		item.setCursorPosition(cursorPos);
-		item.setDisplayString(text);
-		item.setImageType(CSSImageType.VALUE_FUNCTION);
-		appendSemiColon(item);
-		candidates.add(item);
-	}
-
-	/**
-	 *  
-	 */
-	private void addNumber(List candidates, CSSMMNumber prop) {
-		String fullText = fContext.getTextToReplace();
-		// skip number
-		int unitIndex = -1;
-		for (int i = 0; i < fullText.length(); i++) {
-			if (Character.isDigit(fullText.charAt(i))) {
-				unitIndex = i + 1;
-			} else {
-				break;
-			}
-		}
-
-		String unitSubText = ""; //$NON-NLS-1$
-		String numSubText = ""; //$NON-NLS-1$
-		if (0 <= unitIndex) {
-			numSubText = fullText.substring(0, unitIndex);
-			if (unitIndex < fullText.length()) {
-				unitSubText = fullText.substring(unitIndex);
-			}
-		} else {
-			unitSubText = fullText;
-		}
-
-		Iterator i = prop.getDescendants();
-		while (i.hasNext()) {
-			CSSMMUnit unit = (CSSMMUnit) i.next();
-			String unitString = unit.getUnitString();
-			if ((0 < unitSubText.length() && unitString.indexOf(unitSubText) != 0) || (0 < numSubText.length() && unitString.equals("#"))) { //$NON-NLS-1$
-				continue;
-			}
-
-			String text = numSubText + unitString;
-			text = (fUseUpperCase) ? text.toUpperCase() : text.toLowerCase();
-			CSSCACandidate item = new CSSCACandidate();
-			item.setReplacementString(text);
-			if (0 < numSubText.length() || text.equals("#")) { //$NON-NLS-1$
-				item.setCursorPosition(text.length());
-			} else {
-				item.setCursorPosition(0);
-			}
-			item.setDisplayString(text);
-			item.setImageType(CSSImageType.VALUE_NUMBER);
-			appendSemiColon(item);
-			candidates.add(item);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private void checkSemiColon() {
-		fAppendSemiColon = false;
-
-		ITextRegion targetRegion = fContext.getTargetRegion();
-		if (targetRegion != null && targetRegion.getType() != CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-			// find trailing ":" or ";"
-			// if ":" before ";" is found, add ";"
-			RegionIterator iterator = fContext.getRegionIterator();
-			IStructuredDocumentRegion container = iterator.getStructuredDocumentRegion();
-			while (iterator.hasNext()) {
-				ITextRegion region = iterator.next();
-				if (iterator.getStructuredDocumentRegion() != container) {
-					break;
-				}
-				if (region.getType() == CSSRegionContexts.CSS_DECLARATION_SEPARATOR) {
-					fAppendSemiColon = true;
-					break;
-				}
-			}
-			if (!fAppendSemiColon) {
-				// second chance:
-				// leading IStructuredDocumentRegion is not ";"
-				IStructuredDocumentRegion nextStructuredDocumentRegion = CSSUtil.findNextSignificantNode(container);
-				if (CSSUtil.getStructuredDocumentRegionType(nextStructuredDocumentRegion) != CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-					fAppendSemiColon = true;
-				}
-			}
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private void appendSemiColon(CSSCACandidate item) {
-		if (fAppendSemiColon) {
-			String replacementString = item.getReplacementString();
-			item.setReplacementString(replacementString + ";"); //$NON-NLS-1$
-			int cursorPosition = item.getCursorPosition();
-			if (replacementString.length() <= cursorPosition) {
-				// cursorpos is tail of string
-				cursorPosition++;
-				item.setCursorPosition(cursorPosition);
-			}
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private void addSemiColon(List candidates) {
-		ICSSNode targetNode = fContext.getTargetNode();
-		if (targetNode instanceof ICSSStyleDeclItem) {
-			ICSSNode firstChild = targetNode.getFirstChild();
-			if (firstChild == null) {
-				return;
-			}
-			if (firstChild instanceof IndexedRegion) {
-				int startOffset = ((IndexedRegion) firstChild).getStartOffset();
-				if (fContext.getCursorPos() <= startOffset) {
-					return;
-				}
-			}
-		}
-
-		boolean bAddCloser = false;
-
-		ITextRegion targetRegion = fContext.getTargetRegion();
-		if (targetRegion != null && targetRegion.getType() != CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-			// find trailing ":" or ";"
-			// if ":" before ";" is found, add ";"
-			RegionIterator iterator = fContext.getRegionIterator();
-			IStructuredDocumentRegion container = iterator.getStructuredDocumentRegion();
-			while (iterator.hasNext()) {
-				ITextRegion region = iterator.next();
-				if (iterator.getStructuredDocumentRegion() != container) {
-					break;
-				}
-				if (region.getType() == CSSRegionContexts.CSS_DECLARATION_SEPARATOR) {
-					bAddCloser = true;
-					break;
-				}
-			}
-			if (!bAddCloser) {
-				// second chance:
-				// leading IStructuredDocumentRegion is not ";"
-				IStructuredDocumentRegion nextStructuredDocumentRegion = CSSUtil.findNextSignificantNode(container);
-				if (CSSUtil.getStructuredDocumentRegionType(nextStructuredDocumentRegion) != CSSRegionContexts.CSS_DECLARATION_DELIMITER) {
-					bAddCloser = true;
-				}
-			}
-		}
-
-		if (bAddCloser) {
-			CSSCACandidate item = new CSSCACandidate();
-			String text = fContext.getTextToReplace() + ";";//$NON-NLS-1$
-			item.setReplacementString(text);
-			item.setCursorPosition(text.length());
-			item.setDisplayString(";");//$NON-NLS-1$
-			item.setImageType(null);
-			candidates.add(item);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private void addString(List candidates, String text) {
-		if (!isMatch(text)) {
-			return;
-		}
-
-		text = (fUseUpperCase) ? text.toUpperCase() : text.toLowerCase();
-
-		CSSCACandidate item = new CSSCACandidate();
-		item.setReplacementString(text);
-		item.setCursorPosition(text.length());
-		item.setDisplayString(text);
-		item.setImageType(CSSImageType.VALUE_STRING);
-		appendSemiColon(item);
-		candidates.add(item);
-	}
-
-	private void addImportant(List candidates) {
-		ICSSNode targetNode = fContext.getTargetNode();
-		while (targetNode instanceof ICSSPrimitiveValue) {
-			targetNode = targetNode.getParentNode();
-		}
-		if (!(targetNode instanceof ICSSStyleDeclItem)) {
-			return;
-		}
-		// 1. has no priority region
-		// 2. cursor position is after of last child
-		// 3. normal isMatch method
-		String priority = ((ICSSStyleDeclItem) targetNode).getPriority();
-		if (priority == null || priority.length() == 0) {
-			ICSSNode lastChild = targetNode.getLastChild();
-			if (lastChild instanceof IndexedRegion) {
-				int startOffset = ((IndexedRegion) lastChild).getStartOffset();
-				//	int endOffset = ((IndexedRegion)lastChild).getEndOffset();
-				if (startOffset < fContext.getCursorPos() && isMatch(IMPORTANT)) {
-					CSSCACandidate item = new CSSCACandidate();
-					item.setReplacementString(IMPORTANT);
-					item.setCursorPosition(IMPORTANT.length());
-					item.setDisplayString(IMPORTANT);
-					item.setImageType(CSSImageType.VALUE_STRING);
-					appendSemiColon(item);
-					candidates.add(item);
-				}
-			}
-		}
-	}
-
-	/**
-	 * getCandidates method comment.
-	 */
-	protected Iterator getCandidates() {
-		List candidates = new ArrayList();
-
-		checkSemiColon(); // check should add semi-colon or not
-
-		String name = getPropertyName();
-		if (name != null) {
-			CSSMetaModelUtil util = new CSSMetaModelUtil(fContext.getMetaModel());
-			Iterator i = Collections.EMPTY_LIST.iterator();
-			if (isFontFaceRule()) {
-				CSSMMDescriptor desc = util.getDescriptor(name);
-				if (desc != null) {
-					i = desc.getValues();
-				}
-			} else {
-				CSSMMProperty prop = util.getProperty(name);
-				if (prop != null) {
-					i = prop.getValues();
-				}
-			}
-			while (i.hasNext()) {
-				CSSMMNode val = (CSSMMNode) i.next();
-				String valueType = val.getType();
-				if (valueType == CSSMMNode.TYPE_KEYWORD) {
-					addString(candidates, val.toString());
-				} else if (valueType == CSSMMNode.TYPE_NUMBER) {
-					addNumber(candidates, (CSSMMNumber) val);
-				} else if (valueType == CSSMMNode.TYPE_FUNCTION) {
-					addFunction(candidates, (CSSMMFunction) val);
-				}
-			}
-		}
-
-		addImportant(candidates);
-		addSemiColon(candidates);
-
-		return candidates.iterator();
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	private String getPropertyName() {
-		ICSSNode targetNode = fContext.getTargetNode();
-		while (targetNode instanceof ICSSPrimitiveValue) {
-			targetNode = targetNode.getParentNode();
-		}
-		if (targetNode instanceof ICSSStyleDeclItem) {
-			return ((ICSSStyleDeclItem) targetNode).getPropertyName();
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private boolean isFontFaceRule() {
-		ICSSNode targetNode = fContext.getTargetNode();
-		while (targetNode instanceof ICSSPrimitiveValue) {
-			targetNode = targetNode.getParentNode();
-		}
-		if (targetNode instanceof ICSSStyleDeclItem) {
-			targetNode = targetNode.getParentNode(); // get Declaration
-			if (targetNode != null) {
-				// inline style has no rule node
-				targetNode = targetNode.getParentNode(); // get rule
-			}
-		}
-		return (targetNode instanceof CSSFontFaceRule);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForHTMLTag.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForHTMLTag.java
deleted file mode 100644
index 02f2501..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForHTMLTag.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.ui.image.CSSImageType;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.sse.core.contentmodel.CMDocType;
-import org.eclipse.wst.xml.core.document.DocumentTypeAdapter;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-class CSSProposalGeneratorForHTMLTag extends CSSProposalGenerator {
-
-	/**
-	 * CSSStyleRuleProposalGenerator constructor comment.
-	 * 
-	 * @param context
-	 *            com.ibm.sed.contentassist.old.css.CSSContentAssistContext
-	 */
-	CSSProposalGeneratorForHTMLTag(CSSContentAssistContext context) {
-		super(context);
-
-		if (fHTMLTags == null) {
-			fHTMLTags = setupHTMLTags();
-		}
-	}
-
-	/**
-	 * getCandidates method comment.
-	 */
-	protected Iterator getCandidates() {
-		List candidates = new ArrayList();
-
-		if (checkLeadingColon()) {
-			return candidates.iterator();
-		}
-
-		// XHTML requires lower case
-		boolean bLowerCase = false;
-		if (fContext.getModel().getStyleSheetType() == ICSSModel.EMBEDDED) {
-			Node domNode = fContext.getModel().getOwnerDOMNode();
-			if (domNode != null && !(domNode instanceof Document)) {
-				domNode = domNode.getOwnerDocument();
-				if (domNode instanceof XMLDocument) {
-					DocumentTypeAdapter adapter = (DocumentTypeAdapter) ((XMLDocument) domNode).getAdapterFor(DocumentTypeAdapter.class);
-					if (adapter != null)
-						bLowerCase = (adapter.getTagNameCase() == DocumentTypeAdapter.LOWER_CASE);
-				}
-			}
-		}
-
-
-		int length = fHTMLTags.length;
-		for (int i = 0; i < length; i++) {
-			String tagText = fHTMLTags[i];
-			if (bLowerCase) {
-				tagText = tagText.toLowerCase();
-			}
-			if (!isMatch(tagText)) {
-				continue;
-			}
-
-			int cursorPos = 0;
-			StringBuffer buf = new StringBuffer();
-			buf.append(tagText);
-			cursorPos += tagText.length();
-			boolean inRule = (fContext.getTargetNode() instanceof ICSSStyleRule);
-			if (!inRule || fContext.getTextToReplace().length() == 0) {
-				buf.append(" ");//$NON-NLS-1$
-				cursorPos += 1;
-			}
-			if (!inRule) {
-				StringAndOffset sao = generateBraces();
-				buf.append(sao.fString);
-				cursorPos += sao.fOffset;
-			}
-
-			CSSCACandidate item = new CSSCACandidate();
-			item.setReplacementString(buf.toString());
-			item.setCursorPosition(cursorPos);
-			item.setDisplayString(tagText);
-			item.setImageType(CSSImageType.SELECTOR_TAG);
-			candidates.add(item);
-		}
-
-		return candidates.iterator();
-	}
-
-	/**
-	 *  
-	 */
-	private static String[] setupHTMLTags() {
-		CMDocument cmdoc = HTMLCMDocumentFactory.getCMDocument(CMDocType.HTML_DOC_TYPE);
-		CMNamedNodeMap elements = cmdoc.getElements();
-		Vector names = new Vector();
-		int nElements = elements.getLength();
-		for (int i = 0; i < nElements; i++) {
-			CMElementDeclaration edec = (CMElementDeclaration) elements.item(i);
-			if (isAttrDefined(edec, HTML40Namespace.ATTR_NAME_STYLE)) {
-				names.add(edec.getElementName());
-			}
-		}
-		Collections.sort(names);
-		String[] tags = new String[names.size()];
-		Iterator iNames = names.iterator();
-		for (int i = 0; iNames.hasNext(); i++) {
-			tags[i] = (String) iNames.next();
-		}
-		return tags;
-	}
-
-	/**
-	 *  
-	 */
-	private static boolean isAttrDefined(CMElementDeclaration edec, String attrName) {
-		if (edec == null) {
-			return false;
-		}
-		CMNamedNodeMap attrs = edec.getAttributes();
-		if (attrs == null) {
-			return false;
-		}
-		for (int i = 0; i < attrs.getLength(); i++) {
-			CMAttributeDeclaration attr = (CMAttributeDeclaration) attrs.item(i);
-			if (attr == null) {
-				continue;
-			}
-			if (attr.getAttrName().equalsIgnoreCase(attrName)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private static String[] fHTMLTags = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForPseudoSelector.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForPseudoSelector.java
deleted file mode 100644
index a9c92a5..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForPseudoSelector.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPageRule;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.internal.parser.CSSRegionUtil;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMMSelector;
-import org.eclipse.wst.css.core.metamodel.util.CSSMMTypeCollector;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
-import org.eclipse.wst.css.ui.image.CSSImageType;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-/**
- *  
- */
-class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator {
-
-	/**
-	 * CSSProposalGeneratorForPseudoSelector constructor comment.
-	 * 
-	 * @param context
-	 *            com.ibm.sed.contentassist.old.css.CSSContentAssistContext
-	 */
-	CSSProposalGeneratorForPseudoSelector(CSSContentAssistContext context) {
-		super(context);
-	}
-
-	/**
-	 * getCandidates method comment.
-	 */
-	protected Iterator getCandidates() {
-		List candidates = new ArrayList();
-
-		boolean hasLeadingColon = checkLeadingColon();
-		String textToReplace = fContext.getTextToReplace();
-		if (!hasLeadingColon && 0 < textToReplace.length() && !textToReplace.equals(fContext.getTextToCompare())) {
-			// cursor placed midpoint of the region
-			return candidates.iterator();
-		}
-		ITextRegion region = fContext.getTargetRegion();
-		if (region != null) {
-			String type = region.getType();
-			if (type != CSSRegionContexts.CSS_S && !CSSRegionUtil.isSelectorBegginingType(type)) {
-				return candidates.iterator();
-			}
-		}
-
-		boolean useUpperCase = CSSPreferenceHelper.getInstance().isIdentUpperCase();
-
-		List tags = getSelectorTags();
-		Collections.sort(tags);
-		Iterator i = tags.iterator();
-		while (i.hasNext()) {
-			String text = (String) i.next();
-			if (hasLeadingColon && !isMatch(text)) {
-				continue;
-			}
-			text = (useUpperCase) ? text.toUpperCase() : text.toLowerCase();
-
-			int cursorPos = 0;
-			StringBuffer buf = new StringBuffer();
-			if (hasLeadingColon) {
-				buf.append(text.substring(1));
-			} else {
-				buf.append(textToReplace);
-				buf.append(text);
-			}
-			cursorPos += buf.length();
-
-			if (0 < buf.length()) {
-				boolean inRule = (fContext.getTargetNode() instanceof ICSSStyleRule || fContext.getTargetNode() instanceof ICSSPageRule);
-				if (!inRule || (textToReplace.length() == 0 && !hasLeadingColon)) {
-					buf.append(" ");//$NON-NLS-1$
-					cursorPos += 1;
-				}
-				if (!inRule) {
-					StringAndOffset sao = generateBraces();
-					buf.append(sao.fString);
-					cursorPos += sao.fOffset;
-				}
-				CSSCACandidate item = new CSSCACandidate();
-				item.setReplacementString(buf.toString());
-				item.setCursorPosition(cursorPos);
-				item.setDisplayString(text);
-				item.setImageType(CSSImageType.SELECTOR_PSEUDO);
-				candidates.add(item);
-			}
-		}
-
-		return candidates.iterator();
-	}
-
-	/**
-	 *  
-	 */
-	List getSelectorTags() {
-		List tagList = new ArrayList();
-		ICSSNode targetNode = fContext.getTargetNode();
-		String rootType = (targetNode instanceof ICSSPageRule) ? CSSMMNode.TYPE_PAGE_RULE : CSSMMNode.TYPE_STYLE_RULE;
-
-		CSSMMTypeCollector collector = new CSSMMTypeCollector();
-		collector.collectNestedType(false);
-		collector.apply(fContext.getMetaModel(), rootType);
-		Iterator i;
-		i = collector.getNodes();
-		if (!i.hasNext()) {
-			return tagList;
-		}
-		CSSMMNode node = (CSSMMNode) i.next();
-		i = node.getChildNodes();
-		while (i.hasNext()) {
-			CSSMMNode child = (CSSMMNode) i.next();
-			if (child.getType() == CSSMMNode.TYPE_SELECTOR) {
-				String selType = ((CSSMMSelector) child).getSelectorType();
-				if (selType == CSSMMSelector.TYPE_PSEUDO_CLASS || selType == CSSMMSelector.TYPE_PSEUDO_ELEMENT) {
-					tagList.add(((CSSMMSelector) child).getSelectorString());
-				}
-			}
-		}
-		return tagList;
-	}
-
-	/**
-	 *  
-	 */
-	protected boolean isMatch(String text) {
-		if (!super.isMatch(text)) {
-			ITextRegion region = fContext.getTargetRegion();
-			if (region != null && region.getType() == CSSRegionContexts.CSS_SELECTOR_PSEUDO) {
-				return true;
-			} else {
-				return false;
-			}
-		} else {
-			return true;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/HTML40Namespace.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/HTML40Namespace.java
deleted file mode 100644
index 2d4ce32..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/HTML40Namespace.java
+++ /dev/null
@@ -1,889 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.contentassist;
-
-
-
-/**
- * Provide all names defined in the HTML 4.0? specification.
- */
-public interface HTML40Namespace {
-
-	// Element names
-	public static interface ElementName {
-		public static final String A = "A"; //$NON-NLS-1$
-		public static final String ABBR = "ABBR"; //$NON-NLS-1$
-		public static final String ACRONYM = "ACRONYM"; //$NON-NLS-1$
-		public static final String ADDRESS = "ADDRESS"; //$NON-NLS-1$
-		public static final String APPLET = "APPLET"; //$NON-NLS-1$
-		public static final String AREA = "AREA"; //$NON-NLS-1$
-		public static final String B = "B"; //$NON-NLS-1$
-		public static final String BASE = "BASE"; //$NON-NLS-1$
-		public static final String BASEFONT = "BASEFONT"; //$NON-NLS-1$
-		public static final String BDO = "BDO"; //$NON-NLS-1$
-		public static final String BGSOUND = "BGSOUND"; // D205513
-														// //$NON-NLS-1$
-		public static final String BIG = "BIG"; //$NON-NLS-1$
-		public static final String BLINK = "BLINK"; //$NON-NLS-1$
-		public static final String BLOCKQUOTE = "BLOCKQUOTE"; //$NON-NLS-1$
-		public static final String BODY = "BODY"; //$NON-NLS-1$
-		public static final String BR = "BR"; //$NON-NLS-1$
-		public static final String BUTTON = "BUTTON"; //$NON-NLS-1$
-		public static final String CAPTION = "CAPTION"; //$NON-NLS-1$
-		public static final String CENTER = "CENTER"; //$NON-NLS-1$
-		public static final String CITE = "CITE"; //$NON-NLS-1$
-		public static final String CODE = "CODE"; //$NON-NLS-1$
-		public static final String COL = "COL"; //$NON-NLS-1$
-		public static final String COLGROUP = "COLGROUP"; //$NON-NLS-1$
-		public static final String DD = "DD"; //$NON-NLS-1$
-		public static final String DEL = "DEL"; //$NON-NLS-1$
-		public static final String DFN = "DFN"; //$NON-NLS-1$
-		public static final String DIR = "DIR"; //$NON-NLS-1$
-		public static final String DIV = "DIV"; //$NON-NLS-1$
-		public static final String DL = "DL"; //$NON-NLS-1$
-		public static final String DT = "DT"; //$NON-NLS-1$
-		public static final String EM = "EM"; //$NON-NLS-1$
-		public static final String EMBED = "EMBED"; //$NON-NLS-1$
-		public static final String FIELDSET = "FIELDSET"; //$NON-NLS-1$
-		public static final String FONT = "FONT"; //$NON-NLS-1$
-		public static final String FORM = "FORM"; //$NON-NLS-1$
-		public static final String FRAME = "FRAME"; //$NON-NLS-1$
-		public static final String FRAMESET = "FRAMESET"; //$NON-NLS-1$
-		public static final String H1 = "H1"; //$NON-NLS-1$
-		public static final String H2 = "H2"; //$NON-NLS-1$
-		public static final String H3 = "H3"; //$NON-NLS-1$
-		public static final String H4 = "H4"; //$NON-NLS-1$
-		public static final String H5 = "H5"; //$NON-NLS-1$
-		public static final String H6 = "H6"; //$NON-NLS-1$
-		public static final String HEAD = "HEAD"; //$NON-NLS-1$
-		public static final String HR = "HR"; //$NON-NLS-1$
-		public static final String HTML = "HTML"; //$NON-NLS-1$
-		public static final String I = "I"; //$NON-NLS-1$
-		public static final String IFRAME = "IFRAME"; //$NON-NLS-1$
-		public static final String IMG = "IMG"; //$NON-NLS-1$
-		public static final String INPUT = "INPUT"; //$NON-NLS-1$
-		public static final String INS = "INS"; //$NON-NLS-1$
-		public static final String ISINDEX = "ISINDEX"; //$NON-NLS-1$
-		public static final String KBD = "KBD"; //$NON-NLS-1$
-		public static final String LABEL = "LABEL"; //$NON-NLS-1$
-		public static final String LEGEND = "LEGEND"; //$NON-NLS-1$
-		public static final String LI = "LI"; //$NON-NLS-1$
-		public static final String LINK = "LINK"; //$NON-NLS-1$
-		public static final String MAP = "MAP"; //$NON-NLS-1$
-		public static final String MENU = "MENU"; //$NON-NLS-1$
-		public static final String META = "META"; //$NON-NLS-1$
-		public static final String NOBR = "NOBR"; // D205513 //$NON-NLS-1$
-		public static final String NOEMBED = "NOEMBED"; //$NON-NLS-1$
-		public static final String NOFRAMES = "NOFRAMES"; //$NON-NLS-1$
-		public static final String NOSCRIPT = "NOSCRIPT"; //$NON-NLS-1$
-		public static final String OBJECT = "OBJECT"; //$NON-NLS-1$
-		public static final String OL = "OL"; //$NON-NLS-1$
-		public static final String OPTGROUP = "OPTGROUP"; //$NON-NLS-1$
-		public static final String OPTION = "OPTION"; //$NON-NLS-1$
-		public static final String P = "P"; //$NON-NLS-1$
-		public static final String PARAM = "PARAM"; //$NON-NLS-1$
-		public static final String PRE = "PRE"; //$NON-NLS-1$
-		public static final String Q = "Q"; //$NON-NLS-1$
-		public static final String S = "S"; //$NON-NLS-1$
-		public static final String SAMP = "SAMP"; //$NON-NLS-1$
-		public static final String SCRIPT = "SCRIPT"; //$NON-NLS-1$
-		public static final String SELECT = "SELECT"; //$NON-NLS-1$
-		public static final String SMALL = "SMALL"; //$NON-NLS-1$
-		public static final String SPAN = "SPAN"; //$NON-NLS-1$
-		public static final String STRIKE = "STRIKE"; //$NON-NLS-1$
-		public static final String STRONG = "STRONG"; //$NON-NLS-1$
-		public static final String STYLE = "STYLE"; //$NON-NLS-1$
-		public static final String SUB = "SUB"; //$NON-NLS-1$
-		public static final String SUP = "SUP"; //$NON-NLS-1$
-		public static final String TABLE = "TABLE"; //$NON-NLS-1$
-		public static final String TBODY = "TBODY"; //$NON-NLS-1$
-		public static final String TD = "TD"; //$NON-NLS-1$
-		public static final String TEXTAREA = "TEXTAREA"; //$NON-NLS-1$
-		public static final String TFOOT = "TFOOT"; //$NON-NLS-1$
-		public static final String TH = "TH"; //$NON-NLS-1$
-		public static final String THEAD = "THEAD"; //$NON-NLS-1$
-		public static final String TITLE = "TITLE"; //$NON-NLS-1$
-		public static final String TR = "TR"; //$NON-NLS-1$
-		public static final String TT = "TT"; //$NON-NLS-1$
-		public static final String U = "U"; //$NON-NLS-1$
-		public static final String UL = "UL"; //$NON-NLS-1$
-		public static final String VAR = "VAR"; //$NON-NLS-1$
-		public static final String WBR = "WBR"; // D205513 //$NON-NLS-1$
-		public static final String MARQUEE = "MARQUEE"; //$NON-NLS-1$
-		public static final String SSI_CONFIG = "SSI:CONFIG"; // D210393
-															  // //$NON-NLS-1$
-		public static final String SSI_ECHO = "SSI:ECHO"; //$NON-NLS-1$
-		public static final String SSI_EXEC = "SSI:EXEC"; //$NON-NLS-1$
-		public static final String SSI_FSIZE = "SSI:FSIZE"; //$NON-NLS-1$
-		public static final String SSI_FLASTMOD = "SSI:FLASTMOD"; //$NON-NLS-1$
-		public static final String SSI_INCLUDE = "SSI:INCLUDE"; //$NON-NLS-1$
-		public static final String SSI_PRINTENV = "SSI:PRINTENV"; //$NON-NLS-1$
-		public static final String SSI_SET = "SSI:SET"; //$NON-NLS-1$
-		public static final String WML_WML = "wml"; //$NON-NLS-1$
-		public static final String WML_CARD = "card"; //$NON-NLS-1$
-		public static final String WML_TEMPLATE = "template"; //$NON-NLS-1$
-		public static final String WML_ACCESS = "access"; //$NON-NLS-1$
-		public static final String WML_DO = "do"; //$NON-NLS-1$
-		public static final String WML_ONEVENT = "onevent"; //$NON-NLS-1$
-		public static final String WML_TIMER = "timer"; //$NON-NLS-1$
-		public static final String WML_ANCHOR = "anchor"; //$NON-NLS-1$
-		public static final String WML_PREV = "prev"; //$NON-NLS-1$
-		public static final String WML_REFRESH = "refresh"; //$NON-NLS-1$
-		public static final String WML_GO = "go"; //$NON-NLS-1$
-		public static final String WML_NOOP = "noop"; //$NON-NLS-1$
-		public static final String WML_SETVAR = "setvar"; //$NON-NLS-1$
-		public static final String WML_POSTFIELD = "postfield"; //$NON-NLS-1$
-	}
-
-	// Character Entities
-	public static interface EntityName {
-		public static final String AACUTE_U = "Aacute"; //$NON-NLS-1$
-		public static final String AACUTE_L = "aacute"; //$NON-NLS-1$
-		public static final String ACIRC_U = "Acirc"; //$NON-NLS-1$
-		public static final String ACIRC_L = "acirc"; //$NON-NLS-1$
-		public static final String ACUTE = "acute"; //$NON-NLS-1$
-		public static final String AELIG_U = "AElig"; //$NON-NLS-1$
-		public static final String AELIG_L = "aelig"; //$NON-NLS-1$
-		public static final String AGRAVE_U = "Agrave"; //$NON-NLS-1$
-		public static final String AGRAVE_L = "agrave"; //$NON-NLS-1$
-		public static final String ALEFSYM = "alefsym"; //$NON-NLS-1$
-		public static final String ALPHA_U = "Alpha"; //$NON-NLS-1$
-		public static final String ALPHA_L = "alpha"; //$NON-NLS-1$
-		public static final String AMP = "amp"; //$NON-NLS-1$
-		public static final String AND = "and"; //$NON-NLS-1$
-		public static final String ANG = "ang"; //$NON-NLS-1$
-		public static final String ARING_U = "Aring"; //$NON-NLS-1$
-		public static final String ARING_L = "aring"; //$NON-NLS-1$
-		public static final String ASYMP = "asymp"; //$NON-NLS-1$
-		public static final String ATILDE_U = "Atilde"; //$NON-NLS-1$
-		public static final String ATILDE_L = "atilde"; //$NON-NLS-1$
-		public static final String AUML_U = "Auml"; //$NON-NLS-1$
-		public static final String AUML_L = "auml"; //$NON-NLS-1$
-		public static final String BDQUO = "bdquo"; //$NON-NLS-1$
-		public static final String BETA_U = "Beta"; //$NON-NLS-1$
-		public static final String BETA_L = "beta"; //$NON-NLS-1$
-		public static final String BRVBAR = "brvbar"; //$NON-NLS-1$
-		public static final String BULL = "bull"; //$NON-NLS-1$
-		public static final String CAP = "cap"; //$NON-NLS-1$
-		public static final String CCEDIL_U = "Ccedil"; //$NON-NLS-1$
-		public static final String CCEDIL_L = "ccedil"; //$NON-NLS-1$
-		public static final String CEDIL = "cedil"; //$NON-NLS-1$
-		public static final String CENT = "cent"; //$NON-NLS-1$
-		public static final String CHI_U = "Chi"; //$NON-NLS-1$
-		public static final String CHI_L = "chi"; //$NON-NLS-1$
-		public static final String CIRC = "circ"; //$NON-NLS-1$
-		public static final String CLUBS = "clubs"; //$NON-NLS-1$
-		public static final String CONG = "cong"; //$NON-NLS-1$
-		public static final String COPY = "copy"; //$NON-NLS-1$
-		public static final String CRARR = "crarr"; //$NON-NLS-1$
-		public static final String CUP = "cup"; //$NON-NLS-1$
-		public static final String CURREN = "curren"; //$NON-NLS-1$
-		public static final String DAGGER_U = "Dagger"; //$NON-NLS-1$
-		public static final String DAGGER_L = "dagger"; //$NON-NLS-1$
-		public static final String DARR_U = "dArr"; //$NON-NLS-1$
-		public static final String DARR_L = "darr"; //$NON-NLS-1$
-		public static final String DEG = "deg"; //$NON-NLS-1$
-		public static final String DELTA_U = "Delta"; //$NON-NLS-1$
-		public static final String DELTA_L = "delta"; //$NON-NLS-1$
-		public static final String DIAMS = "diams"; //$NON-NLS-1$
-		public static final String DIVIDE = "divide"; //$NON-NLS-1$
-		public static final String EACUTE_U = "Eacute"; //$NON-NLS-1$
-		public static final String EACUTE_L = "eacute"; //$NON-NLS-1$
-		public static final String ECIRC_U = "Ecirc"; //$NON-NLS-1$
-		public static final String ECIRC_L = "ecirc"; //$NON-NLS-1$
-		public static final String EGRAVE_U = "Egrave"; //$NON-NLS-1$
-		public static final String EGRAVE_L = "egrave"; //$NON-NLS-1$
-		public static final String EMPTY = "empty"; //$NON-NLS-1$
-		public static final String EMSP = "emsp"; //$NON-NLS-1$
-		public static final String ENSP = "ensp"; //$NON-NLS-1$
-		public static final String EPSILON_U = "Epsilon"; //$NON-NLS-1$
-		public static final String EPSILON_L = "epsilon"; //$NON-NLS-1$
-		public static final String EQUIV = "equiv"; //$NON-NLS-1$
-		public static final String ETA_U = "Eta"; //$NON-NLS-1$
-		public static final String ETA_L = "eta"; //$NON-NLS-1$
-		public static final String ETH_U = "ETH"; //$NON-NLS-1$
-		public static final String ETH_L = "eth"; //$NON-NLS-1$
-		public static final String EUML_U = "Euml"; //$NON-NLS-1$
-		public static final String EUML_L = "euml"; //$NON-NLS-1$
-		public static final String EURO = "euro"; //$NON-NLS-1$
-		public static final String EXIST = "exist"; //$NON-NLS-1$
-		public static final String FNOF = "fnof"; //$NON-NLS-1$
-		public static final String FORALL = "forall"; //$NON-NLS-1$
-		public static final String FRAC12 = "frac12"; //$NON-NLS-1$
-		public static final String FRAC14 = "frac14"; //$NON-NLS-1$
-		public static final String FRAC34 = "frac34"; //$NON-NLS-1$
-		public static final String FRASL = "frasl"; //$NON-NLS-1$
-		public static final String GAMMA_U = "Gamma"; //$NON-NLS-1$
-		public static final String GAMMA_L = "gamma"; //$NON-NLS-1$
-		public static final String GE = "ge"; //$NON-NLS-1$
-		public static final String GT = "gt"; //$NON-NLS-1$
-		public static final String HARR_U = "hArr"; //$NON-NLS-1$
-		public static final String HARR_L = "harr"; //$NON-NLS-1$
-		public static final String HEARTS = "hearts"; //$NON-NLS-1$
-		public static final String HELLIP = "hellip"; //$NON-NLS-1$
-		public static final String IACUTE_U = "Iacute"; //$NON-NLS-1$
-		public static final String IACUTE_L = "iacute"; //$NON-NLS-1$
-		public static final String ICIRC_U = "Icirc"; //$NON-NLS-1$
-		public static final String ICIRC_L = "icirc"; //$NON-NLS-1$
-		public static final String IEXCL = "iexcl"; //$NON-NLS-1$
-		public static final String IGRAVE_U = "Igrave"; //$NON-NLS-1$
-		public static final String IGRAVE_L = "igrave"; //$NON-NLS-1$
-		public static final String IMAGE = "image"; //$NON-NLS-1$
-		public static final String INFIN = "infin"; //$NON-NLS-1$
-		public static final String INT = "int"; //$NON-NLS-1$
-		public static final String IOTA_U = "Iota"; //$NON-NLS-1$
-		public static final String IOTA_L = "iota"; //$NON-NLS-1$
-		public static final String IQUEST = "iquest"; //$NON-NLS-1$
-		public static final String ISIN = "isin"; //$NON-NLS-1$
-		public static final String IUML_U = "Iuml"; //$NON-NLS-1$
-		public static final String IUML_L = "iuml"; //$NON-NLS-1$
-		public static final String KAPPA_U = "Kappa"; //$NON-NLS-1$
-		public static final String KAPPA_L = "kappa"; //$NON-NLS-1$
-		public static final String LAMBDA_U = "Lambda"; //$NON-NLS-1$
-		public static final String LAMBDA_L = "lambda"; //$NON-NLS-1$
-		public static final String LANG = "lang"; //$NON-NLS-1$
-		public static final String LAQUO = "laquo"; //$NON-NLS-1$
-		public static final String LARR_U = "lArr"; //$NON-NLS-1$
-		public static final String LARR_L = "larr"; //$NON-NLS-1$
-		public static final String LCEIL = "lceil"; //$NON-NLS-1$
-		public static final String LDQUO = "ldquo"; //$NON-NLS-1$
-		public static final String LE = "le"; //$NON-NLS-1$
-		public static final String LFLOOR = "lfloor"; //$NON-NLS-1$
-		public static final String LOWAST = "lowast"; //$NON-NLS-1$
-		public static final String LOZ = "loz"; //$NON-NLS-1$
-		public static final String LRM = "lrm"; //$NON-NLS-1$
-		public static final String LSAQUO = "lsaquo"; //$NON-NLS-1$
-		public static final String LSQUO = "lsquo"; //$NON-NLS-1$
-		public static final String LT = "lt"; //$NON-NLS-1$
-		public static final String MACR = "macr"; //$NON-NLS-1$
-		public static final String MDASH = "mdash"; //$NON-NLS-1$
-		public static final String MICRO = "micro"; //$NON-NLS-1$
-		public static final String MIDDOT = "middot"; //$NON-NLS-1$
-		public static final String MINUS = "minus"; //$NON-NLS-1$
-		public static final String MU_U = "Mu"; //$NON-NLS-1$
-		public static final String MU_L = "mu"; //$NON-NLS-1$
-		public static final String NABLA = "nabla"; //$NON-NLS-1$
-		public static final String NBSP = "nbsp"; //$NON-NLS-1$
-		public static final String NDASH = "ndash"; //$NON-NLS-1$
-		public static final String NE = "ne"; //$NON-NLS-1$
-		public static final String NI = "ni"; //$NON-NLS-1$
-		public static final String NOT = "not"; //$NON-NLS-1$
-		public static final String NOTIN = "notin"; //$NON-NLS-1$
-		public static final String NSUB = "nsub"; //$NON-NLS-1$
-		public static final String NTILDE_U = "Ntilde"; //$NON-NLS-1$
-		public static final String NTILDE_L = "ntilde"; //$NON-NLS-1$
-		public static final String NU_U = "Nu"; //$NON-NLS-1$
-		public static final String NU_L = "nu"; //$NON-NLS-1$
-		public static final String OACUTE_U = "Oacute"; //$NON-NLS-1$
-		public static final String OACUTE_L = "oacute"; //$NON-NLS-1$
-		public static final String OCIRC_U = "Ocirc"; //$NON-NLS-1$
-		public static final String OCIRC_L = "ocirc"; //$NON-NLS-1$
-		public static final String OELIG_U = "OElig"; //$NON-NLS-1$
-		public static final String OELIG_L = "oelig"; //$NON-NLS-1$
-		public static final String OGRAVE_U = "Ograve"; //$NON-NLS-1$
-		public static final String OGRAVE_L = "ograve"; //$NON-NLS-1$
-		public static final String OLINE = "oline"; //$NON-NLS-1$
-		public static final String OMEGA_U = "Omega"; //$NON-NLS-1$
-		public static final String OMEGA_L = "omega"; //$NON-NLS-1$
-		public static final String OMICRON_U = "Omicron"; //$NON-NLS-1$
-		public static final String OMICRON_L = "omicron"; //$NON-NLS-1$
-		public static final String OPLUS = "oplus"; //$NON-NLS-1$
-		public static final String OR = "or"; //$NON-NLS-1$
-		public static final String ORDF = "ordf"; //$NON-NLS-1$
-		public static final String ORDM = "ordm"; //$NON-NLS-1$
-		public static final String OSLASH_U = "Oslash"; //$NON-NLS-1$
-		public static final String OSLASH_L = "oslash"; //$NON-NLS-1$
-		public static final String OTILDE_U = "Otilde"; //$NON-NLS-1$
-		public static final String OTILDE_L = "otilde"; //$NON-NLS-1$
-		public static final String OTIMES = "otimes"; //$NON-NLS-1$
-		public static final String OUML_U = "Ouml"; //$NON-NLS-1$
-		public static final String OUML_L = "ouml"; //$NON-NLS-1$
-		public static final String PARA = "para"; //$NON-NLS-1$
-		public static final String PART = "part"; //$NON-NLS-1$
-		public static final String PERMIL = "permil"; //$NON-NLS-1$
-		public static final String PERP = "perp"; //$NON-NLS-1$
-		public static final String PHI_U = "Phi"; //$NON-NLS-1$
-		public static final String PHI_L = "phi"; //$NON-NLS-1$
-		public static final String PI_U = "Pi"; //$NON-NLS-1$
-		public static final String PI_L = "pi"; //$NON-NLS-1$
-		public static final String PIV = "piv"; //$NON-NLS-1$
-		public static final String PLUSMN = "plusmn"; //$NON-NLS-1$
-		public static final String POUND = "pound"; //$NON-NLS-1$
-		public static final String PRIME_U = "Prime"; //$NON-NLS-1$
-		public static final String PRIME_L = "prime"; //$NON-NLS-1$
-		public static final String PROD = "prod"; //$NON-NLS-1$
-		public static final String PROP = "prop"; //$NON-NLS-1$
-		public static final String PSI_U = "Psi"; //$NON-NLS-1$
-		public static final String PSI_L = "psi"; //$NON-NLS-1$
-		public static final String QUOT = "quot"; //$NON-NLS-1$
-		public static final String RADIC = "radic"; //$NON-NLS-1$
-		public static final String RANG = "rang"; //$NON-NLS-1$
-		public static final String RAQUO = "raquo"; //$NON-NLS-1$
-		public static final String RARR_U = "rArr"; //$NON-NLS-1$
-		public static final String RARR_L = "rarr"; //$NON-NLS-1$
-		public static final String RCEIL = "rceil"; //$NON-NLS-1$
-		public static final String RDQUO = "rdquo"; //$NON-NLS-1$
-		public static final String REAL = "real"; //$NON-NLS-1$
-		public static final String REG = "reg"; //$NON-NLS-1$
-		public static final String RFLOOR = "rfloor"; //$NON-NLS-1$
-		public static final String RHO_U = "Rho"; //$NON-NLS-1$
-		public static final String RHO_L = "rho"; //$NON-NLS-1$
-		public static final String RLM = "rlm"; //$NON-NLS-1$
-		public static final String RSAQUO = "rsaquo"; //$NON-NLS-1$
-		public static final String RSQUO = "rsquo"; //$NON-NLS-1$
-		public static final String SBQUO = "sbquo"; //$NON-NLS-1$
-		public static final String SCARON_U = "Scaron"; //$NON-NLS-1$
-		public static final String SCARON_L = "scaron"; //$NON-NLS-1$
-		public static final String SDOT = "sdot"; //$NON-NLS-1$
-		public static final String SECT = "sect"; //$NON-NLS-1$
-		public static final String SHY = "shy"; //$NON-NLS-1$
-		public static final String SIGMA_U = "Sigma"; //$NON-NLS-1$
-		public static final String SIGMA_L = "sigma"; //$NON-NLS-1$
-		public static final String SIGMAF = "sigmaf"; //$NON-NLS-1$
-		public static final String SIM = "sim"; //$NON-NLS-1$
-		public static final String SPADES = "spades"; //$NON-NLS-1$
-		public static final String SUB = "sub"; //$NON-NLS-1$
-		public static final String SUBE = "sube"; //$NON-NLS-1$
-		public static final String SUM = "sum"; //$NON-NLS-1$
-		public static final String SUP = "sup"; //$NON-NLS-1$
-		public static final String SUP1 = "sup1"; //$NON-NLS-1$
-		public static final String SUP2 = "sup2"; //$NON-NLS-1$
-		public static final String SUP3 = "sup3"; //$NON-NLS-1$
-		public static final String SUPE = "supe"; //$NON-NLS-1$
-		public static final String SZLIG = "szlig"; //$NON-NLS-1$
-		public static final String TAU_U = "Tau"; //$NON-NLS-1$
-		public static final String TAU_L = "tau"; //$NON-NLS-1$
-		public static final String THERE4 = "there4"; //$NON-NLS-1$
-		public static final String THETA_U = "Theta"; //$NON-NLS-1$
-		public static final String THETA_L = "theta"; //$NON-NLS-1$
-		public static final String THETASYM = "thetasym"; //$NON-NLS-1$
-		public static final String THINSP = "thinsp"; //$NON-NLS-1$
-		public static final String THORN_U = "THORN"; //$NON-NLS-1$
-		public static final String THORN_L = "thorn"; //$NON-NLS-1$
-		public static final String TILDE = "tilde"; //$NON-NLS-1$
-		public static final String TIMES = "times"; //$NON-NLS-1$
-		public static final String TRADE = "trade"; //$NON-NLS-1$
-		public static final String UACUTE_U = "Uacute"; //$NON-NLS-1$
-		public static final String UACUTE_L = "uacute"; //$NON-NLS-1$
-		public static final String UARR_U = "uArr"; //$NON-NLS-1$
-		public static final String UARR_L = "uarr"; //$NON-NLS-1$
-		public static final String UCIRC_U = "Ucirc"; //$NON-NLS-1$
-		public static final String UCIRC_L = "ucirc"; //$NON-NLS-1$
-		public static final String UGRAVE_U = "Ugrave"; //$NON-NLS-1$
-		public static final String UGRAVE_L = "ugrave"; //$NON-NLS-1$
-		public static final String UML = "uml"; //$NON-NLS-1$
-		public static final String UPSIH = "upsih"; //$NON-NLS-1$
-		public static final String UPSILON_U = "Upsilon"; //$NON-NLS-1$
-		public static final String UPSILON_L = "upsilon"; //$NON-NLS-1$
-		public static final String UUML_U = "Uuml"; //$NON-NLS-1$
-		public static final String UUML_L = "uuml"; //$NON-NLS-1$
-		public static final String WEIERP = "weierp"; //$NON-NLS-1$
-		public static final String XI_U = "Xi"; //$NON-NLS-1$
-		public static final String XI_L = "xi"; //$NON-NLS-1$
-		public static final String YACUTE_U = "Yacute"; //$NON-NLS-1$
-		public static final String YACUTE_L = "yacute"; //$NON-NLS-1$
-		public static final String YEN = "yen"; //$NON-NLS-1$
-		public static final String YUML_U = "Yuml"; //$NON-NLS-1$
-		public static final String YUML_L = "yuml"; //$NON-NLS-1$
-		public static final String ZETA_U = "Zeta"; //$NON-NLS-1$
-		public static final String ZETA_L = "zeta"; //$NON-NLS-1$
-		public static final String ZWJ = "zwj"; //$NON-NLS-1$
-		public static final String ZWNJ = "zwnj"; //$NON-NLS-1$
-	}
-
-	public static final String HTML40_URI = "http://www.w3.org/TR/REC-html40/frameset.dtd"; //$NON-NLS-1$
-	public static final String HTML40_TAG_PREFIX = ""; //$NON-NLS-1$
-	// global attribute names
-	public static final String ATTR_NAME_ID = "id"; // %coreattrs;
-													// //$NON-NLS-1$
-	public static final String ATTR_NAME_CLASS = "class"; // %coreattrs;
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_STYLE = "style"; // %coreattrs;
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_TITLE = "title"; // %coreattrs;
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_LANG = "lang"; // %i18n;
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_DIR = "dir"; // %i18n; //$NON-NLS-1$
-	public static final String ATTR_NAME_ONCLICK = "onclick"; // %events;
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONDBLCLICK = "ondblclick"; // %events;
-																	// //$NON-NLS-1$
-	public static final String ATTR_NAME_ONMOUSEDOWN = "onmousedown"; // %events;
-																	  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONMOUSEUP = "onmouseup"; // %events;
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONMOUSEOVER = "onmouseover"; // %events;
-																	  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONMOUSEMOVE = "onmousemove"; // %events;
-																	  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONMOUSEOUT = "onmouseout"; // %events;
-																	// //$NON-NLS-1$
-	public static final String ATTR_NAME_ONKEYPRESS = "onkeypress"; // %events;
-																	// //$NON-NLS-1$
-	public static final String ATTR_NAME_ONKEYDOWN = "onkeydown"; // %events;
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONKEYUP = "onkeyup"; // %events;
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONHELP = "onhelp"; // %events;
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_BGCOLOR = "bgcolor"; // %bodycolor;,
-															  // TABLE
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_TEXT = "text"; // %bodycolor;
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_LINK = "link"; // %bodycolor;
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_VLINK = "vlink"; // %bodycolor;
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ALINK = "alink"; // %bodycolor;
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_VERSION = "version"; // HTML
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_PROFILE = "profile"; // HEAD
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONLOAD = "onload"; // BODY
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_ONUNLOAD = "onunload"; // BODY
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_BACKGROUND = "background"; // BODY,
-																	// TABLE
-																	// //$NON-NLS-1$
-	public static final String ATTR_NAME_SRC = "src"; // IMG //$NON-NLS-1$
-	public static final String ATTR_NAME_ALT = "alt"; // IMG,AREA
-													  // //$NON-NLS-1$
-	public static final String ATTR_NAME_LONGDESC = "longdesc"; // IMG
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_NAME = "name"; // IMG //$NON-NLS-1$
-	public static final String ATTR_NAME_HEIGHT = "height"; // IMG, TABLE
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_WIDTH = "width"; // IMG, TABLE,HR
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_USEMAP = "usemap"; // IMG
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_ISMAP = "ismap"; // IMG //$NON-NLS-1$
-	public static final String ATTR_NAME_ALIGN = "align"; // IMG, TABLE,HR
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_BORDER = "border"; // IMG, TABLE
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_HSPACE = "hspace"; // IMG
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_VSPACE = "vspace"; // IMG
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_MAPFILE = "mapfile"; // IMG
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_SUMMARY = "summary"; // TABLE
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_FRAME = "frame"; // TABLE
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_RULES = "rules"; // TABLE
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_CELLSPACING = "cellspacing"; // TABLE
-																	  // //$NON-NLS-1$
-	public static final String ATTR_NAME_CELLPADDING = "cellpadding"; // TABLE
-																	  // //$NON-NLS-1$
-	public static final String ATTR_NAME_DATAPAGESIZE = "datapagesize"; // TABLE,HR
-																		// //$NON-NLS-1$
-	public static final String ATTR_NAME_COLOR = "color"; // BASEFONT,FONT
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_FACE = "face"; // BASEFONT,FONT
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_SIZE = "size"; // BASEFONT,FONT
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_CLEAR = "clear"; // BR //$NON-NLS-1$
-	public static final String ATTR_NAME_SHAPE = "shape"; // AREA
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_COORDS = "coords"; // AREA
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_HREF = "href"; // AREA //$NON-NLS-1$
-	public static final String ATTR_NAME_TARGET = "target"; // AREA
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_NOHREF = "nohref"; // AREA
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_TABINDEX = "tabindex"; // AREA
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_ACCESSKEY = "accesskey"; // AREA
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONFOCUS = "onfocus"; // AREA
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONBLUR = "onblur"; // AREA
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_CHARSET = "charset"; // LINK
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_HREFLANG = "hreflang"; // LINK
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_TYPE = "type"; // LINK //$NON-NLS-1$
-	public static final String ATTR_NAME_REL = "rel"; // LINK //$NON-NLS-1$
-	public static final String ATTR_NAME_REV = "rev"; // LINK //$NON-NLS-1$
-	public static final String ATTR_NAME_MEDIA = "media"; // LINK
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_VALUE = "value"; // PARAM
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_VALUETYPE = "valuetype"; // PARAM
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_NOSHADE = "noshade"; // HR
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_CHECKED = "checked"; // INPUT
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_DISABLED = "disabled"; // INPUT
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_READONLY = "readonly"; // INPUT
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_MAXLENGTH = "maxlength"; // INPUT
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONSELECT = "onselect"; // INPUT
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_ONCHANGE = "onchange"; // INPUT
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_ACCEPT = "accept"; // INPUT
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_ISTYLE = "istyle"; // INPUT
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_CHAR = "char"; // COL //$NON-NLS-1$
-	public static final String ATTR_NAME_CHAROFF = "charoff"; // COL
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_VALIGN = "valign"; // COL
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_SPAN = "span"; // COL //$NON-NLS-1$
-	public static final String ATTR_NAME_FRAMEBORDER = "frameborder"; // FRAME
-																	  // //$NON-NLS-1$
-	public static final String ATTR_NAME_MARGINWIDTH = "marginwidth"; // FRAME
-																	  // //$NON-NLS-1$
-	public static final String ATTR_NAME_MARGINHEIGHT = "marginheight"; // FRAME
-																		// //$NON-NLS-1$
-	public static final String ATTR_NAME_NORESIZE = "noresize"; // FRAME
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_SCROLLING = "scrolling"; // FRAME
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_PROMPT = "prompt"; // ISINDEX
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_HTTP_EQUIV = "http-equiv"; // META
-																	// //$NON-NLS-1$
-	public static final String ATTR_NAME_CONTENT = "content"; // META
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_SCHEME = "scheme"; // META
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_ERRMSG = "errmsg"; // ssi:config
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_SIZEFMT = "sizefmt"; // ssi:config
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_TIMEFMT = "timefmt"; // ssi:config
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_VAR = "var"; // ssi:echo
-													  // //$NON-NLS-1$
-	public static final String ATTR_NAME_CGI = "cgi"; // ssi:exec
-													  // //$NON-NLS-1$
-	public static final String ATTR_NAME_CMD = "cmd"; // ssi:exec
-													  // //$NON-NLS-1$
-	public static final String ATTR_NAME_FILE = "file"; // ssi:fsize
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_VIRTUAL = "virtual"; // ssi:fsize
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_SELECTED = "selected"; // OPTION
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_LABEL = "label"; // OPTION
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ROWS = "rows"; // TEXTAREA
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_COLS = "cols"; // TEXTAREA
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_LANGUAGE = "language"; // SCRIPT
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_DEFER = "defer"; // SCRIPT
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_EVENT = "event"; // SCRIPT
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_FOR = "for"; // SCRIPT //$NON-NLS-1$
-	public static final String ATTR_NAME_COMPACT = "compact"; // OL/UL
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_START = "start"; // OL/UL
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_DIRECTKEY = "directkey"; // A
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_CODEBASE = "codebase"; // APPLET
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_ARCHIVE = "archive"; // APPLET
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_CODE = "code"; // APPLET
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_OBJECT = "object"; // APPLET
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_MAYSCRIPT = "mayscript"; // APPLET
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_CITE = "cite"; // BLOCKQUOTE
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_MACRO = "macro"; // D2W //$NON-NLS-1$
-	public static final String ATTR_NAME_DATETIME = "datetime"; // INS/DEL
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_LOOP = "loop"; // EMBED //$NON-NLS-1$
-	public static final String ATTR_NAME_HIDDEN = "hidden"; // EMBED
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_VOLUME = "volume"; // EMBED
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_AUTOSTART = "autostart"; // EMBED
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_AUTOPLAY = "autoplay"; // EMBED
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_AUTOSIZE = "autosize"; // EMBED
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_CONTROLLER = "controller";// EMBED
-																   // //$NON-NLS-1$
-	public static final String ATTR_NAME_SCALE = "scale"; // EMBED
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_SHOWCONTROLS = "showcontrols";// EMBED
-																	   // //$NON-NLS-1$
-	public static final String ATTR_NAME_PLAYCOUNT = "playcount"; // EMBED
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_REPEAT = "repeat"; // EMBED
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_PANEL = "panel"; // EMBED
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_PALETTE = "palette"; // EMBED
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_TEXTFOCUS = "textfocus"; // EMBED
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ACTION = "action"; // FORM
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_METHOD = "method"; // FORM
-															// //$NON-NLS-1$
-	public static final String ATTR_NAME_ENCTYPE = "enctype"; // FORM
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ONSUBMIT = "onsubmit"; // FORM
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_ONRESET = "onreset"; // FORM
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ACCEPT_CHARSET = "accept-charset";// FORM
-																		   // //$NON-NLS-1$
-	public static final String ATTR_NAME_BEHAVIOR = "behavior"; // MARQUEE
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_DIRECTION = "direction"; // MARQUEE
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_SCROLLAMOUNT = "scrollamount";// MARQUEE
-																	   // //$NON-NLS-1$
-	public static final String ATTR_NAME_SCROLLDELAY = "scrolldelay";// MARQUEE
-																	 // //$NON-NLS-1$
-	public static final String ATTR_NAME_TRUESPEED = "truespeed"; // MARQUEE
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_DECLARE = "declare"; // OBJECT
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_CLASSID = "classid"; // OBJECT
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_DATA = "data"; // OBJECT
-														// //$NON-NLS-1$
-	public static final String ATTR_NAME_CODETYPE = "codetype"; // OBJECT
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_STANDBY = "standby"; // OBJECT
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_MULTIPLE = "multiple"; // SELECT
-																// //$NON-NLS-1$
-	public static final String ATTR_NAME_ABBR = "abbr"; // TH/TD //$NON-NLS-1$
-	public static final String ATTR_NAME_AXIS = "axis"; // TH/TD //$NON-NLS-1$
-	public static final String ATTR_NAME_HEADERS = "headers"; // TH/TD
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_SCOPE = "scope"; // TH/TD
-														  // //$NON-NLS-1$
-	public static final String ATTR_NAME_ROWSPAN = "rowspan"; // TH/TD
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_COLSPAN = "colspan"; // TH/TD
-															  // //$NON-NLS-1$
-	public static final String ATTR_NAME_NOWRAP = "nowrap"; // TH/TD
-															// //$NON-NLS-1$
-	// <<D205514
-	public static final String ATTR_NAME_TOPMARGIN = "topmargin"; // BODY
-																  // //$NON-NLS-1$
-	public static final String ATTR_NAME_BOTTOMMARGIN = "bottommargin"; // BODY
-																		// //$NON-NLS-1$
-	public static final String ATTR_NAME_LEFTMARGIN = "leftmargin"; // BODY
-																	// //$NON-NLS-1$
-	public static final String ATTR_NAME_RIGHTMARGIN = "rightmargin"; // BODY
-																	  // //$NON-NLS-1$
-	public static final String ATTR_NAME_BORDERCOLOR = "bordercolor"; // TABLE/TR/TH/TD/FRAMESET/FRAME
-																	  // //$NON-NLS-1$
-	// for WML
-	public static final String WML_ATTR_NAME_TITLE = "title"; // card
-															  // //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_DOMAIN = "domain"; // access
-																// //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_PATH = "path"; // access
-															// //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_ONENTERFORWARD = "onenterforward"; // template,card
-																				// //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_ONENTERBACKWARD = "onenterbackward"; // template,card
-																				  // //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_ONPICK = "onpick"; // option
-																// //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_ONTIMER = "ontimer"; // template,card
-																  // //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_NEWCONTEXT = "newcontext"; // card
-																		// //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_ORDERED = "ordered"; // card
-																  // //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_OPTIONAL = "optional"; // do
-																	// //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_CACHE_CONTROL = "cache-control"; // go
-																			  // //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_SENDREFERER = "sendreferer"; // go
-																		  // //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_METHOD = "method"; // go
-																// //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_ENCTYPE = "enctype"; // go
-																  // //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_ACCEPT_CHARSET = "accept-charset"; // go
-																				// //$NON-NLS-1$
-	public static final String WML_ATTR_NAME_COLUMNS = "columns"; // table
-																  // //$NON-NLS-1$
-	// D205514
-	//<<D215684
-	public static final String ATTR_NAME_FRAMESPACING = "framespacing"; // FRAMESET
-																		// //$NON-NLS-1$
-	//D215684
-	// global attribute values; mainly used in enumeration.
-	public static final String ATTR_VALUE_VERSION_TRANSITIONAL = "-//W3C//DTD HTML 4.01 Transitional//EN"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_VERSION_FRAMESET = "-//W3C//DTD HTML 4.01 Frameset//EN"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_LTR = "ltr"; // dir //$NON-NLS-1$
-	public static final String ATTR_VALUE_RTL = "rtl"; // dir //$NON-NLS-1$
-	//   for align (top|middle|bottom|left|right)
-	public static final String ATTR_VALUE_TOP = "top"; // align //$NON-NLS-1$
-	public static final String ATTR_VALUE_MIDDLE = "middle"; // align
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_BOTTOM = "bottom"; // align
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_LEFT = "left"; // align
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_CENTER = "center"; // align
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_RIGHT = "right"; // align
-														   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_JUSTIFY = "justify"; // align
-															   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_CHAR = "char"; // align
-														 // //$NON-NLS-1$
-	//   for valign (baseline)
-	public static final String ATTR_VALUE_BASELINE = "baseline"; // valign
-																 // //$NON-NLS-1$
-	//   for clear (left|all|right|none): left and right are already defined
-	// above.
-	public static final String ATTR_VALUE_ALL = "all"; // clear //$NON-NLS-1$
-	public static final String ATTR_VALUE_NONE = "none"; // clear
-														 // //$NON-NLS-1$
-	//   for shape (rect|circle|poly|default)
-	public static final String ATTR_VALUE_RECT = "rect"; // shape
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_CIRCLE = "circle"; // shape
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_POLY = "poly"; // shape
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_DEFAULT = "default"; // shape
-															   // //$NON-NLS-1$
-	//   for valuetype (data|ref|object)
-	public static final String ATTR_VALUE_DATA = "data"; // valuetype
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_REF = "ref"; // valuetype
-													   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_OBJECT = "object"; // valuetype
-															 // //$NON-NLS-1$
-	//   for type of INPUT
-	//       (text | password | checkbox | radio | submit | reset |
-	//        file | hidden | image | button)
-	public static final String ATTR_VALUE_TEXT = "text"; // INPUT:type
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_PASSWORD = "password"; // INPUT:type
-																 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_CHECKBOX = "checkbox"; // INPUT:type
-																 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_RADIO = "radio"; // INPUT:type
-														   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_SUBMIT = "submit"; // INPUT:type
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_RESET = "reset"; // INPUT:type
-														   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_FILE = "file"; // INPUT:type
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_HIDDEN = "hidden"; // INPUT:type
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_IMAGE = "image"; // INPUT:type
-														   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_BUTTON = "button"; // INPUT:type
-															 // //$NON-NLS-1$
-	//   for span, colspan, rowspan
-	public static final String ATTR_VALUE_1 = "1"; // span //$NON-NLS-1$
-	//   for frameborder
-	public static final String ATTR_VALUE_0 = "0"; // FRAME //$NON-NLS-1$
-	//   for scrolling
-	public static final String ATTR_VALUE_YES = "yes"; // FRAME //$NON-NLS-1$
-	public static final String ATTR_VALUE_NO = "no"; // FRAME //$NON-NLS-1$
-	public static final String ATTR_VALUE_AUTO = "auto"; // FRAME
-														 // //$NON-NLS-1$
-	//   for UL
-	public static final String ATTR_VALUE_DISC = "disc"; // UL:type
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_SQUARE = "square"; // UL:type
-															 // //$NON-NLS-1$
-	//   for frame of TABLE
-	public static final String ATTR_VALUE_VOID = "void"; // TABLE:frame
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_ABOVE = "above"; // TABLE:frame
-														   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_BELOW = "below"; // TABLE:frame
-														   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_HSIDES = "hsides"; // TABLE:frame
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_LHS = "lhs"; // TABLE:frame
-													   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_RHS = "rhs"; // TABLE:frame
-													   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_VSIDES = "vsides"; // TABLE:frame
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_BOX = "box"; // TABLE:frame
-													   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_BORDER = "border"; // TABLE:frame
-															 // //$NON-NLS-1$
-	//   for rules of TABLE
-	public static final String ATTR_VALUE_GROUPS = "groups"; // TABLE:rules
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_ROWS = "rows"; // TEXTAREA
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_COLS = "cols"; // TEXTAREA
-														 // //$NON-NLS-1$
-	//   for method of FORM
-	public static final String ATTR_VALUE_GET = "get"; // FORM //$NON-NLS-1$
-	public static final String ATTR_VALUE_POST = "post"; // FORM //$NON-NLS-1$
-	public static final String ATTR_VALUE_WWW_FORM_URLENCODED = "application/x-www-form-urlencoded"; //$NON-NLS-1$
-	//   for scope of (TH | TD)
-	public static final String ATTR_VALUE_ROW = "row"; // (TH|TD):scope
-													   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_COL = "col"; // (TH|TD):scope
-													   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_ROWGROUP = "rowgroup";// (TH|TD):scope
-																// //$NON-NLS-1$
-	public static final String ATTR_VALUE_COLGROUP = "colgroup";// (TH|TD):scope
-																// //$NON-NLS-1$
-	//   for auto?? of EMBED
-	public static final String ATTR_VALUE_TRUE = "true"; // EMBED
-														 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_FALSE = "false"; // EMBED
-														   // //$NON-NLS-1$
-	//   for behaviro of MARQUEE
-	public static final String ATTR_VALUE_SCROLL = "scroll"; // MARQUEE
-															 // //$NON-NLS-1$
-	public static final String ATTR_VALUE_SLIDE = "slide"; // MARQUEE
-														   // //$NON-NLS-1$
-	public static final String ATTR_VALUE_ALTERNATE = "alternate"; // MARQUEE
-																   // //$NON-NLS-1$
-	//   for direction of MARQUEE
-	public static final String ATTR_VALUE_UP = "up"; // MARQUEE //$NON-NLS-1$
-	public static final String ATTR_VALUE_DOWN = "down"; // MARQUEE
-														 // //$NON-NLS-1$
-	//   for type of LI (D19924)
-	public static final String ATTR_VALUE_NUMBER = "1"; // LI //$NON-NLS-1$
-	public static final String ATTR_VALUE_LOWER_ALPHA = "a"; // LI
-															 // //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentproperties/ContentSettingsRegistry.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentproperties/ContentSettingsRegistry.java
deleted file mode 100644
index 8862b95..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentproperties/ContentSettingsRegistry.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentproperties;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.metamodel.CSSProfile;
-import org.eclipse.wst.css.core.metamodel.CSSProfileRegistry;
-import org.eclipse.wst.sse.ui.contentproperties.ui.ComboList;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public final class ContentSettingsRegistry {
-	private static final String NONE = SSEUIPlugin.getResourceString("%UI_none"); //$NON-NLS-1$
-
-	public static void setCSSMetaModelRegistryInto(ComboList combo) {
-		combo.add(NONE, ""); //$NON-NLS-1$
-		CSSProfileRegistry reg = CSSProfileRegistry.getInstance();
-		Iterator i = reg.getProfiles();
-		while (i.hasNext()) {
-			CSSProfile profile = (CSSProfile) i.next();
-			String id = profile.getProfileID();
-			String name = profile.getProfileName();
-			combo.add(name, id);
-		}
-		combo.sortByKey(1);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentproperties/ui/CSSContentSettingsPropertyPage.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentproperties/ui/CSSContentSettingsPropertyPage.java
deleted file mode 100644
index e2c70ca..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentproperties/ui/CSSContentSettingsPropertyPage.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.contentproperties.ui;
-
-
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.css.ui.contentproperties.ContentSettingsRegistry;
-import org.eclipse.wst.css.ui.internal.Logger;
-import org.eclipse.wst.css.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.contentproperties.IContentSettings;
-import org.eclipse.wst.sse.ui.contentproperties.ui.ComboListOnPropertyPage;
-import org.eclipse.wst.sse.ui.contentproperties.ui.ContentSettingsPropertyPage;
-
-public final class CSSContentSettingsPropertyPage extends ContentSettingsPropertyPage {
-
-	private final int N_CSS_PROFILE = 0;
-
-
-
-	public CSSContentSettingsPropertyPage() {
-		super();
-		numberOfCombo = 1;
-		numCols = 2;
-		numRows = 1;
-		combo = new ComboListOnPropertyPage[super.numberOfCombo];
-
-	}
-
-	protected void createCSSComboBox() {
-		super.combo[N_CSS_PROFILE] = super.createComboBoxOf(CSS_LABEL);
-		ContentSettingsRegistry.setCSSMetaModelRegistryInto(combo[N_CSS_PROFILE]);
-		if (combo[N_CSS_PROFILE].getItemCount() <= 0)
-			return;
-		String initValue = contentSettings.getProperty((IResource) super.getElement(), IContentSettings.CSS_PROFILE);
-		// when either .contentsettings or element doesn't exist
-		// when attribute doesn't exists,getProperty returns empty string.
-		if (initValue == null)
-			initValue = ""; //$NON-NLS-1$
-		// set init selectionItem in Combo
-		super.setSelectionItem(combo[N_CSS_PROFILE], initValue);
-	}
-
-
-
-	protected void createSettingsPageGUI() {
-
-		int type = ((IResource) getElement()).getType();
-		switch (type) {
-			case IResource.FILE :
-				//composite = createComposite(propertyPage,numCols,numRows);
-				createCSSComboBox();
-				WorkbenchHelp.setHelp(propertyPage, IHelpContextIds.CSS_CONTENT_SETTINGS_HELPID);
-				break;
-
-			default :
-				Logger.log(Logger.WARNING, "CSSContentSettingsPropertyPage is instantiated by resource except FILE");//$NON-NLS-1$
-				break;
-		}
-
-	}
-
-
-	protected void putSelectedPropertyInto(Map properties, String valueInCombo, int index) {
-
-		switch (index) {
-			case N_CSS_PROFILE :
-				// css
-				properties.put(IContentSettings.CSS_PROFILE, valueInCombo);
-				break;
-			default :
-				Logger.log(Logger.ERROR, "Index is out of range in putSelectedPropertyInto() in class CSSContentSettingsPropertyPage");//$NON-NLS-1$
-				break;
-		}
-
-	}
-
-	protected void deleteNoneProperty(int index) {
-		switch (index) {
-			case N_CSS_PROFILE :
-				// css
-				contentSettings.deleteProperty((IResource) super.getElement(), IContentSettings.CSS_PROFILE);
-				break;
-
-			default :
-				Logger.log(Logger.ERROR, "Index is out of range in deleteNoneProperty() in class CSSContentSettingsPropertyPage");//$NON-NLS-1$
-				break;
-		}
-	}
-
-}
-
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/edit/ui/CleanupActionCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/edit/ui/CleanupActionCSS.java
deleted file mode 100644
index 529da96..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/edit/ui/CleanupActionCSS.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.edit.ui;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.css.core.cleanup.CleanupProcessorCSS;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupProcessor;
-import org.eclipse.wst.sse.ui.edit.util.CleanupAction;
-
-public class CleanupActionCSS extends CleanupAction {
-	protected IStructuredCleanupProcessor fCleanupProcessor;
-
-	public CleanupActionCSS(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected Dialog getCleanupDialog(Shell shell) {
-		if (fCleanupDialog == null)
-			fCleanupDialog = new CleanupDialogCSS(shell);
-
-		return fCleanupDialog;
-	}
-
-	protected IStructuredCleanupProcessor getCleanupProcessor() {
-		if (fCleanupProcessor == null)
-			fCleanupProcessor = new CleanupProcessorCSS();
-
-		return fCleanupProcessor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/edit/ui/CleanupDialogCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/edit/ui/CleanupDialogCSS.java
deleted file mode 100644
index 6f2a6ae..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/edit/ui/CleanupDialogCSS.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.edit.ui;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategy;
-import org.eclipse.wst.css.core.cleanup.CSSCleanupStrategyImpl;
-import org.eclipse.wst.css.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public class CleanupDialogCSS extends Dialog {
-
-	private boolean embeddedCSS;
-	protected Button fRadioButtonIdentCaseAsis;
-	protected Button fRadioButtonIdentCaseLower;
-	protected Button fRadioButtonIdentCaseUpper;
-	protected Button fRadioButtonPropNameCaseAsis;
-	protected Button fRadioButtonPropNameCaseLower;
-	protected Button fRadioButtonPropNameCaseUpper;
-	protected Button fRadioButtonPropValueCaseAsis;
-	protected Button fRadioButtonPropValueCaseLower;
-	protected Button fRadioButtonPropValueCaseUpper;
-	protected Button fRadioButtonSelectorTagCaseAsis;
-	protected Button fRadioButtonSelectorTagCaseLower;
-	protected Button fRadioButtonSelectorTagCaseUpper;
-	protected Button fCheckBoxQuoteValues;
-	protected Button fCheckBoxFormatSource;
-
-	/**
-	 * CSSCleanupDialog constructor comment.
-	 * 
-	 * @param parentShell
-	 *            org.eclipse.swt.widgets.Shell
-	 */
-	public CleanupDialogCSS(Shell parentShell) {
-		super(parentShell);
-	}
-
-	/**
-	 * 
-	 * @return org.eclipse.swt.widgets.Control
-	 * @param parent
-	 *            org.eclipse.swt.widgets.Composite
-	 */
-	public Control createDialogArea(Composite parent) {
-		if (isEmbeddedCSS())
-			getShell().setText(SSEUIPlugin.getResourceString("%CSS_Cleanup_UI_")); //$NON-NLS-1$ = "CSS Cleanup"
-		else
-			getShell().setText(SSEUIPlugin.getResourceString("%Cleanup_UI_")); //$NON-NLS-1$ = "Cleanup"
-
-		Composite panel = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.makeColumnsEqualWidth = true;
-		panel.setLayout(layout);
-
-		WorkbenchHelp.setHelp(panel, IHelpContextIds.CSS_CLEANUP_HELPID);
-
-		// Convert ident case
-		// ACC: Group radio buttons together so associated label is read
-		//		Label identCaseLabel = new Label(panel, SWT.NULL);
-		//		identCaseLabel.setText(ResourceHandler.getString("Identifier_case__UI_"));
-		// //$NON-NLS-1$ = "Identifier case:"
-		//		Canvas identCase = new Canvas(panel, SWT.NULL);
-		Group identCase = new Group(panel, SWT.NULL);
-		identCase.setText(SSEUIPlugin.getResourceString("%Identifier_case__UI_")); //$NON-NLS-1$ = "Identifier case:"
-		GridLayout hLayout = new GridLayout();
-		hLayout.numColumns = 3;
-		identCase.setLayout(hLayout);
-		fRadioButtonIdentCaseAsis = new Button(identCase, SWT.RADIO);
-		fRadioButtonIdentCaseAsis.setText(SSEUIPlugin.getResourceString("%As-is_UI_")); //$NON-NLS-1$ = "As-is"
-		fRadioButtonIdentCaseLower = new Button(identCase, SWT.RADIO);
-		fRadioButtonIdentCaseLower.setText(SSEUIPlugin.getResourceString("%Lower_UI_")); //$NON-NLS-1$ = "Lower"
-		fRadioButtonIdentCaseUpper = new Button(identCase, SWT.RADIO);
-		fRadioButtonIdentCaseUpper.setText(SSEUIPlugin.getResourceString("%Upper_UI_")); //$NON-NLS-1$ = "Upper"
-
-		// Convert property name case
-		// ACC: Group radio buttons together so associated label is read
-		//		Label propNameCaseLabel = new Label(panel, SWT.NULL);
-		//		propNameCaseLabel.setText(ResourceHandler.getString("Property_name_case__UI_"));
-		// //$NON-NLS-1$ = "Property name case:"
-		//		Canvas propNameCase = new Canvas(panel, SWT.NULL);
-		Group propNameCase = new Group(panel, SWT.NULL);
-		propNameCase.setText(SSEUIPlugin.getResourceString("%Property_name_case__UI_")); //$NON-NLS-1$ = "Property name case:"
-		hLayout = new GridLayout();
-		hLayout.numColumns = 3;
-		propNameCase.setLayout(hLayout);
-		fRadioButtonPropNameCaseAsis = new Button(propNameCase, SWT.RADIO);
-		fRadioButtonPropNameCaseAsis.setText(SSEUIPlugin.getResourceString("%As-is_UI_")); //$NON-NLS-1$ = "As-is"
-		fRadioButtonPropNameCaseLower = new Button(propNameCase, SWT.RADIO);
-		fRadioButtonPropNameCaseLower.setText(SSEUIPlugin.getResourceString("%Lower_UI_")); //$NON-NLS-1$ = "Lower"
-		fRadioButtonPropNameCaseUpper = new Button(propNameCase, SWT.RADIO);
-		fRadioButtonPropNameCaseUpper.setText(SSEUIPlugin.getResourceString("%Upper_UI_")); //$NON-NLS-1$ = "Upper"
-
-		// Convert property Value case
-		// ACC: Group radio buttons together so associated label is read
-		//		Label propValueCaseLabel = new Label(panel, SWT.NULL);
-		//		propValueCaseLabel.setText(ResourceHandler.getString("Property_value_case__UI_"));
-		// //$NON-NLS-1$ = "Property value case:"
-		//		Canvas propValueCase = new Canvas(panel, SWT.NULL);
-		Group propValueCase = new Group(panel, SWT.NULL);
-		propValueCase.setText(SSEUIPlugin.getResourceString("%Property_value_case__UI_")); //$NON-NLS-1$ = "Property value case:"
-		hLayout = new GridLayout();
-		hLayout.numColumns = 3;
-		propValueCase.setLayout(hLayout);
-		fRadioButtonPropValueCaseAsis = new Button(propValueCase, SWT.RADIO);
-		fRadioButtonPropValueCaseAsis.setText(SSEUIPlugin.getResourceString("%As-is_UI_")); //$NON-NLS-1$ = "As-is"
-		fRadioButtonPropValueCaseLower = new Button(propValueCase, SWT.RADIO);
-		fRadioButtonPropValueCaseLower.setText(SSEUIPlugin.getResourceString("%Lower_UI_")); //$NON-NLS-1$ = "Lower"
-		fRadioButtonPropValueCaseUpper = new Button(propValueCase, SWT.RADIO);
-		fRadioButtonPropValueCaseUpper.setText(SSEUIPlugin.getResourceString("%Upper_UI_")); //$NON-NLS-1$ = "Upper"
-
-		if (!isEmbeddedCSS()) {
-			// Convert selector tag case
-			// ACC: Group radio buttons together so associated label is read
-			//			Label selectorTagCaseLabel = new Label(panel, SWT.NULL);
-			//			selectorTagCaseLabel.setText(ResourceHandler.getString("Selector_tag_name_case__UI_"));
-			// //$NON-NLS-1$ = "Selector tag name case:"
-			//			Canvas selectorTagCase = new Canvas(panel, SWT.NULL);
-			Group selectorTagCase = new Group(panel, SWT.NULL);
-			selectorTagCase.setText(SSEUIPlugin.getResourceString("%Selector_tag_name_case__UI_")); //$NON-NLS-1$ = "Selector tag name case:"
-			hLayout = new GridLayout();
-			hLayout.numColumns = 3;
-			selectorTagCase.setLayout(hLayout);
-			fRadioButtonSelectorTagCaseAsis = new Button(selectorTagCase, SWT.RADIO);
-			fRadioButtonSelectorTagCaseAsis.setText(SSEUIPlugin.getResourceString("%As-is_UI_")); //$NON-NLS-1$ = "As-is"
-			fRadioButtonSelectorTagCaseLower = new Button(selectorTagCase, SWT.RADIO);
-			fRadioButtonSelectorTagCaseLower.setText(SSEUIPlugin.getResourceString("%Lower_UI_")); //$NON-NLS-1$ = "Lower"
-			fRadioButtonSelectorTagCaseUpper = new Button(selectorTagCase, SWT.RADIO);
-			fRadioButtonSelectorTagCaseUpper.setText(SSEUIPlugin.getResourceString("%Upper_UI_")); //$NON-NLS-1$ = "Upper"
-		}
-
-		// Quote attribute values
-		fCheckBoxQuoteValues = new Button(panel, SWT.CHECK);
-		fCheckBoxQuoteValues.setText(SSEUIPlugin.getResourceString("%Quote_values_UI_")); //$NON-NLS-1$ = "Quote values"
-
-		if (!isEmbeddedCSS()) {
-			// Format source
-			fCheckBoxFormatSource = new Button(panel, SWT.CHECK);
-			fCheckBoxFormatSource.setText(SSEUIPlugin.getResourceString("%Format_source_UI_")); //$NON-NLS-1$ = "Format source"
-		}
-
-		setCleanupOptions();
-
-		return panel;
-	}
-
-	/**
-	 * Insert the method's description here.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isEmbeddedCSS() {
-		return embeddedCSS;
-	}
-
-	/**
-	 *  
-	 */
-	protected void okPressed() {
-		updateCleanupOptions();
-		super.okPressed();
-	}
-
-	/**
-	 *  
-	 */
-	protected void setCleanupOptions() {
-		CSSCleanupStrategy stgy = CSSCleanupStrategyImpl.getInstance();
-
-		if (fRadioButtonIdentCaseAsis != null) {
-			if (stgy.getIdentCase() == CSSCleanupStrategy.UPPER)
-				fRadioButtonIdentCaseUpper.setSelection(true);
-			else if (stgy.getIdentCase() == CSSCleanupStrategy.LOWER)
-				fRadioButtonIdentCaseLower.setSelection(true);
-			else
-				fRadioButtonIdentCaseAsis.setSelection(true);
-		}
-
-		if (fRadioButtonPropNameCaseAsis != null) {
-			if (stgy.getPropNameCase() == CSSCleanupStrategy.UPPER)
-				fRadioButtonPropNameCaseUpper.setSelection(true);
-			else if (stgy.getPropNameCase() == CSSCleanupStrategy.LOWER)
-				fRadioButtonPropNameCaseLower.setSelection(true);
-			else
-				fRadioButtonPropNameCaseAsis.setSelection(true);
-		}
-
-		if (fRadioButtonPropValueCaseAsis != null) {
-			if (stgy.getPropValueCase() == CSSCleanupStrategy.UPPER)
-				fRadioButtonPropValueCaseUpper.setSelection(true);
-			else if (stgy.getPropValueCase() == CSSCleanupStrategy.LOWER)
-				fRadioButtonPropValueCaseLower.setSelection(true);
-			else
-				fRadioButtonPropValueCaseAsis.setSelection(true);
-		}
-
-		if (fRadioButtonSelectorTagCaseAsis != null) {
-			if (stgy.getSelectorTagCase() == CSSCleanupStrategy.UPPER)
-				fRadioButtonSelectorTagCaseUpper.setSelection(true);
-			else if (stgy.getSelectorTagCase() == CSSCleanupStrategy.LOWER)
-				fRadioButtonSelectorTagCaseLower.setSelection(true);
-			else
-				fRadioButtonSelectorTagCaseAsis.setSelection(true);
-		}
-
-		if (fCheckBoxQuoteValues != null)
-			fCheckBoxQuoteValues.setSelection(stgy.isQuoteValues());
-
-		if (fCheckBoxFormatSource != null)
-			fCheckBoxFormatSource.setSelection(stgy.isFormatSource());
-
-	}
-
-	/**
-	 * Insert the method's description here.
-	 * 
-	 * @param newEmbeddedCSS
-	 *            boolean
-	 */
-	public void setEmbeddedCSS(boolean newEmbeddedCSS) {
-		embeddedCSS = newEmbeddedCSS;
-	}
-
-	/**
-	 *  
-	 */
-	protected void updateCleanupOptions() {
-		CSSCleanupStrategy stgy = CSSCleanupStrategyImpl.getInstance();
-
-		if (fRadioButtonIdentCaseAsis != null) {
-			if (fRadioButtonIdentCaseUpper.getSelection())
-				stgy.setIdentCase(CSSCleanupStrategy.UPPER);
-			else if (fRadioButtonIdentCaseLower.getSelection())
-				stgy.setIdentCase(CSSCleanupStrategy.LOWER);
-			else
-				stgy.setIdentCase(CSSCleanupStrategy.ASIS);
-		}
-
-		if (fRadioButtonPropNameCaseAsis != null) {
-			if (fRadioButtonPropNameCaseUpper.getSelection())
-				stgy.setPropNameCase(CSSCleanupStrategy.UPPER);
-			else if (fRadioButtonPropNameCaseLower.getSelection())
-				stgy.setPropNameCase(CSSCleanupStrategy.LOWER);
-			else
-				stgy.setPropNameCase(CSSCleanupStrategy.ASIS);
-		}
-
-		if (fRadioButtonPropValueCaseAsis != null) {
-			if (fRadioButtonPropValueCaseUpper.getSelection())
-				stgy.setPropValueCase(CSSCleanupStrategy.UPPER);
-			else if (fRadioButtonPropValueCaseLower.getSelection())
-				stgy.setPropValueCase(CSSCleanupStrategy.LOWER);
-			else
-				stgy.setPropValueCase(CSSCleanupStrategy.ASIS);
-		}
-
-		if (fRadioButtonSelectorTagCaseAsis != null) {
-			if (fRadioButtonSelectorTagCaseUpper.getSelection())
-				stgy.setSelectorTagCase(CSSCleanupStrategy.UPPER);
-			else if (fRadioButtonSelectorTagCaseLower.getSelection())
-				stgy.setSelectorTagCase(CSSCleanupStrategy.LOWER);
-			else
-				stgy.setSelectorTagCase(CSSCleanupStrategy.ASIS);
-		}
-
-		if (fCheckBoxQuoteValues != null)
-			stgy.setQuoteValues(fCheckBoxQuoteValues.getSelection());
-
-		if (fCheckBoxFormatSource != null)
-			stgy.setFormatSource(fCheckBoxFormatSource.getSelection());
-
-		// save these values to preferences
-		((CSSCleanupStrategyImpl) stgy).saveOptions();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/image/CSSImageHelper.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/image/CSSImageHelper.java
deleted file mode 100644
index 6706f8d..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/image/CSSImageHelper.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.image;
-
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-import org.eclipse.wst.css.ui.internal.editor.CSSEditorPluginImages;
-
-
-public class CSSImageHelper {
-	/**
-	 * singleton
-	 */
-	public synchronized static CSSImageHelper getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSImageHelper();
-		}
-		return fInstance;
-	}
-
-	/**
-	 * by relative path(from here)
-	 */
-	public Image getImage(String resource) {
-		if (resource == null) {
-			return null;
-		}
-		Image image = getImageRegistry().get(resource);
-		if (image == null) {
-			image = createImage(resource);
-		}
-		return image;
-	}
-
-	/**
-	 * by type
-	 */
-	public Image getImage(CSSImageType type) {
-		if (fTypeMap == null) {
-			fTypeMap = new HashMap();
-			fTypeMap.put(CSSImageType.STYLESHEET, CSSEditorPluginImages.IMG_OBJ_STYLESHEET);
-
-			fTypeMap.put(CSSImageType.RULE_CHARSET, CSSEditorPluginImages.IMG_OBJ_RULE_CHARSET);
-			fTypeMap.put(CSSImageType.RULE_FONTFACE, CSSEditorPluginImages.IMG_OBJ_RULE_FONTFACE);
-			fTypeMap.put(CSSImageType.RULE_IMPORT, CSSEditorPluginImages.IMG_OBJ_RULE_IMPORT);
-			fTypeMap.put(CSSImageType.RULE_MEDIA, CSSEditorPluginImages.IMG_OBJ_RULE_MEDIA);
-			fTypeMap.put(CSSImageType.RULE_PAGE, CSSEditorPluginImages.IMG_OBJ_RULE_PAGE);
-			fTypeMap.put(CSSImageType.RULE_STYLE, CSSEditorPluginImages.IMG_OBJ_RULE_STYLE);
-			fTypeMap.put(CSSImageType.RULE_UNKNOWN, CSSEditorPluginImages.IMG_OBJ_RULE_UNKNOWN);
-
-			fTypeMap.put(CSSImageType.SELECTOR_CLASS, CSSEditorPluginImages.IMG_OBJ_SELECTOR_CLASS);
-			fTypeMap.put(CSSImageType.SELECTOR_ID, CSSEditorPluginImages.IMG_OBJ_SELECTOR_ID);
-			fTypeMap.put(CSSImageType.SELECTOR_PSEUDO, CSSEditorPluginImages.IMG_OBJ_SELECTOR_PSEUDO);
-			fTypeMap.put(CSSImageType.SELECTOR_TAG, CSSEditorPluginImages.IMG_OBJ_SELECTOR_TAG);
-			fTypeMap.put(CSSImageType.SELECTOR_LINK, CSSEditorPluginImages.IMG_OBJ_SELECTOR_LINK);
-			fTypeMap.put(CSSImageType.SELECTOR_DEFAULT, CSSEditorPluginImages.IMG_OBJ_SELECTOR_DEFAULT);
-
-			fTypeMap.put(CSSImageType.VALUE_FUNCTION, CSSEditorPluginImages.IMG_OBJ_VALUE_FUNCTION);
-			fTypeMap.put(CSSImageType.VALUE_NUMBER, CSSEditorPluginImages.IMG_OBJ_VALUE_NUMBER);
-			fTypeMap.put(CSSImageType.VALUE_STRING, CSSEditorPluginImages.IMG_OBJ_VALUE_STRING);
-
-			fTypeMap.put(CSSImageType.CATEGORY_AURAL, CSSEditorPluginImages.IMG_OBJ_CATEGORY_AURAL);
-			fTypeMap.put(CSSImageType.CATEGORY_BOX, CSSEditorPluginImages.IMG_OBJ_CATEGORY_BOX);
-			fTypeMap.put(CSSImageType.CATEGORY_COLORANDBACKGROUND, CSSEditorPluginImages.IMG_OBJ_CATEGORY_COLORANDBACKGROUND);
-			fTypeMap.put(CSSImageType.CATEGORY_CONTENT, CSSEditorPluginImages.IMG_OBJ_CATEGORY_CONTENT);
-			fTypeMap.put(CSSImageType.CATEGORY_FONT, CSSEditorPluginImages.IMG_OBJ_CATEGORY_FONT);
-			fTypeMap.put(CSSImageType.CATEGORY_PAGE, CSSEditorPluginImages.IMG_OBJ_CATEGORY_PAGE);
-			fTypeMap.put(CSSImageType.CATEGORY_TABLES, CSSEditorPluginImages.IMG_OBJ_CATEGORY_TABLES);
-			fTypeMap.put(CSSImageType.CATEGORY_TEXT, CSSEditorPluginImages.IMG_OBJ_CATEGORY_TEXT);
-			fTypeMap.put(CSSImageType.CATEGORY_UI, CSSEditorPluginImages.IMG_OBJ_CATEGORY_UI);
-			fTypeMap.put(CSSImageType.CATEGORY_VISUAL, CSSEditorPluginImages.IMG_OBJ_CATEGORY_VISUAL);
-			fTypeMap.put(CSSImageType.CATEGORY_DEFAULT, CSSEditorPluginImages.IMG_OBJ_CATEGORY_DEFAULT);
-		}
-		return getImage((String) fTypeMap.get(type));
-	}
-
-	/**
-	 *  
-	 */
-	private CSSImageHelper() {
-		super();
-	}
-
-	/**
-	 *  
-	 */
-	private Image createImage(String resource) {
-		ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin(CSSUIPlugin.ID, resource);
-		Image image = null;
-
-		if (desc == null) {
-			desc = ImageDescriptor.getMissingImageDescriptor();
-			image = desc.createImage();
-		} else {
-			image = desc.createImage();
-			getImageRegistry().put(resource, image);
-		}
-
-		return image;
-	}
-
-	private ImageRegistry getImageRegistry() {
-		return JFaceResources.getImageRegistry();
-	}
-
-	private Map fTypeMap = null;
-	private static CSSImageHelper fInstance = null;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/image/CSSImageType.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/image/CSSImageType.java
deleted file mode 100644
index 9efa575..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/image/CSSImageType.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.image;
-
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.document.ICSSSelectorItem;
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-import org.eclipse.wst.css.core.document.ICSSSimpleSelector;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.metamodel.CSSMMProperty;
-import org.eclipse.wst.css.core.metamodel.CSSMetaModel;
-import org.eclipse.wst.css.core.metamodel.util.CSSMetaModelFinder;
-import org.eclipse.wst.css.core.metamodel.util.CSSMetaModelUtil;
-import org.w3c.dom.css.CSSCharsetRule;
-import org.w3c.dom.css.CSSFontFaceRule;
-import org.w3c.dom.css.CSSImportRule;
-import org.w3c.dom.css.CSSMediaRule;
-import org.w3c.dom.css.CSSPageRule;
-import org.w3c.dom.css.CSSPrimitiveValue;
-import org.w3c.dom.css.CSSStyleDeclaration;
-import org.w3c.dom.css.CSSStyleRule;
-import org.w3c.dom.css.CSSValue;
-
-/**
- */
-public class CSSImageType {
-
-	private final String fName;
-
-	private CSSImageType(String name) {
-		this.fName = name;
-	}
-
-	public String toString() {
-		return fName;
-	}
-
-	public static final CSSImageType STYLESHEET = new CSSImageType("STYLESHEET"); //$NON-NLS-1$
-
-	public static final CSSImageType RULE_CHARSET = new CSSImageType("RULE_CHARSET"); //$NON-NLS-1$
-	public static final CSSImageType RULE_FONTFACE = new CSSImageType("RULE_FONTFACE"); //$NON-NLS-1$
-	public static final CSSImageType RULE_IMPORT = new CSSImageType("RULE_IMPORT"); //$NON-NLS-1$
-	public static final CSSImageType RULE_MEDIA = new CSSImageType("RULE_MEDIA"); //$NON-NLS-1$
-	public static final CSSImageType RULE_PAGE = new CSSImageType("RULE_PAGE"); //$NON-NLS-1$
-	public static final CSSImageType RULE_STYLE = new CSSImageType("RULE_STYLE"); //$NON-NLS-1$
-	public static final CSSImageType RULE_UNKNOWN = new CSSImageType("RULE_UNKNOWN"); //$NON-NLS-1$
-
-	public static final CSSImageType SELECTOR_CLASS = new CSSImageType("SELECTOR_CLASS"); //$NON-NLS-1$
-	public static final CSSImageType SELECTOR_ID = new CSSImageType("SELECTOR_ID"); //$NON-NLS-1$
-	public static final CSSImageType SELECTOR_DEFAULT = new CSSImageType("SELECTOR_DEFAULT"); //$NON-NLS-1$
-	public static final CSSImageType SELECTOR_PSEUDO = new CSSImageType("SELECTOR_PSEUDO"); //$NON-NLS-1$
-	public static final CSSImageType SELECTOR_TAG = new CSSImageType("SELECTOR_TAG"); //$NON-NLS-1$
-	public static final CSSImageType SELECTOR_LINK = new CSSImageType("SELECTOR_LINK"); //$NON-NLS-1$
-
-	public static final CSSImageType VALUE_FUNCTION = new CSSImageType("VALUE_FUNCTION"); //$NON-NLS-1$
-	public static final CSSImageType VALUE_NUMBER = new CSSImageType("VALUE_NUMBER"); //$NON-NLS-1$
-	public static final CSSImageType VALUE_STRING = new CSSImageType("VALUE_STRING"); //$NON-NLS-1$
-
-	public static final CSSImageType CATEGORY_AURAL = new CSSImageType("CATEGORY_AURAL"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_BOX = new CSSImageType("CATEGORY_BOX"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_COLORANDBACKGROUND = new CSSImageType("CATEGORY_COLORANDBACKGROUND"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_CONTENT = new CSSImageType("CATEGORY_CONTENT"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_FONT = new CSSImageType("CATEGORY_FONT"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_PAGE = new CSSImageType("CATEGORY_PAGE"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_TABLES = new CSSImageType("CATEGORY_TABLES"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_TEXT = new CSSImageType("CATEGORY_TEXT"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_UI = new CSSImageType("CATEGORY_UI"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_VISUAL = new CSSImageType("CATEGORY_VISUAL"); //$NON-NLS-1$
-	public static final CSSImageType CATEGORY_DEFAULT = new CSSImageType("CATEGORY_DEFAULT"); //$NON-NLS-1$
-
-	/**
-	 * by node
-	 */
-	public static CSSImageType getImageType(ICSSNode node) {
-		CSSImageType imageType = null;
-		if (node instanceof CSSCharsetRule) {
-			imageType = RULE_CHARSET;
-		} else if (node instanceof CSSFontFaceRule) {
-			imageType = RULE_FONTFACE;
-		} else if (node instanceof CSSImportRule) {
-			imageType = RULE_IMPORT;
-		} else if (node instanceof CSSMediaRule) {
-			imageType = RULE_MEDIA;
-		} else if (node instanceof CSSPageRule) {
-			imageType = RULE_PAGE;
-		} else if (node instanceof CSSStyleRule) {
-			imageType = getImageType(((ICSSStyleRule) node).getSelectors());
-		} else if (node instanceof CSSStyleDeclaration) {
-			ICSSNode parent = node.getParentNode();
-			if (parent != null) {
-				return getImageType(parent);
-			}
-		} else if (node instanceof ICSSStyleDeclItem) {
-			String name = ((ICSSStyleDeclItem) node).getPropertyName();
-			ICSSDocument doc = node.getOwnerDocument();
-			ICSSModel model = (doc != null) ? doc.getModel() : null;
-			CSSMetaModelFinder finder = CSSMetaModelFinder.getInstance();
-			CSSMetaModel metaModel = finder.findMetaModelFor(model);
-			// is font-face rule ?
-			ICSSNode parent = node.getParentNode();
-			if (parent != null) {
-				parent = parent.getParentNode();
-				if (parent instanceof CSSFontFaceRule) {
-					imageType = CSSImageType.CATEGORY_FONT;
-				}
-			}
-			if (imageType == null) {
-				CSSMMProperty prop = new CSSMetaModelUtil(metaModel).getProperty(name);
-				if (prop != null) {
-					String category = prop.getAttribute("category"); //$NON-NLS-1$
-					imageType = getImageType(category);
-				}
-				if (imageType == null) {
-					imageType = CSSImageType.CATEGORY_DEFAULT;
-				}
-			}
-		} else if (node instanceof CSSValue) {
-			switch (((CSSValue) node).getCssValueType()) {
-				case CSSPrimitiveValue.CSS_NUMBER :
-				case CSSPrimitiveValue.CSS_PERCENTAGE :
-				case CSSPrimitiveValue.CSS_EMS :
-				case CSSPrimitiveValue.CSS_EXS :
-				case CSSPrimitiveValue.CSS_PX :
-				case CSSPrimitiveValue.CSS_CM :
-				case CSSPrimitiveValue.CSS_MM :
-				case CSSPrimitiveValue.CSS_IN :
-				case CSSPrimitiveValue.CSS_PT :
-				case CSSPrimitiveValue.CSS_PC :
-				case CSSPrimitiveValue.CSS_DEG :
-				case CSSPrimitiveValue.CSS_RAD :
-				case CSSPrimitiveValue.CSS_GRAD :
-				case CSSPrimitiveValue.CSS_MS :
-				case CSSPrimitiveValue.CSS_S :
-				case CSSPrimitiveValue.CSS_HZ :
-				case CSSPrimitiveValue.CSS_KHZ :
-				case CSSPrimitiveValue.CSS_DIMENSION :
-				case ICSSPrimitiveValue.CSS_INTEGER :
-				case ICSSPrimitiveValue.CSS_HASH :
-					imageType = VALUE_NUMBER;
-					break;
-				case CSSPrimitiveValue.CSS_ATTR :
-				case CSSPrimitiveValue.CSS_COUNTER :
-				case CSSPrimitiveValue.CSS_RECT :
-				case CSSPrimitiveValue.CSS_RGBCOLOR :
-				case CSSPrimitiveValue.CSS_URI :
-				case ICSSPrimitiveValue.CSS_FORMAT :
-				case ICSSPrimitiveValue.CSS_LOCAL :
-					imageType = VALUE_FUNCTION;
-					break;
-				default :
-					imageType = VALUE_STRING;
-					break;
-			}
-		}
-		return imageType;
-	}
-
-	public static CSSImageType getImageType(ICSSSelectorList selectorList) {
-		if (selectorList == null || selectorList.getLength() == 0) {
-			return SELECTOR_DEFAULT;
-		}
-		CSSImageType imageType = null;
-		int nSelectors = selectorList.getLength();
-		for (int i = 0; i < nSelectors; i++) {
-			CSSImageType candidate = getImageType(selectorList.getSelector(i));
-			if (imageType == null) {
-				imageType = candidate;
-			} else if (imageType != candidate) {
-				imageType = null;
-				break;
-			}
-		}
-
-		return (imageType == null) ? SELECTOR_DEFAULT : imageType;
-	}
-
-	public static CSSImageType getImageType(ICSSSelector selector) {
-		CSSImageType imageType = SELECTOR_DEFAULT;
-		if (selector == null || selector.getLength() == 0) {
-			return imageType;
-		}
-		ICSSSelectorItem item = selector.getItem(selector.getLength() - 1);
-		if (item.getItemType() == ICSSSelectorItem.SIMPLE) {
-			ICSSSimpleSelector ss = (ICSSSimpleSelector) item;
-			if (0 < ss.getNumOfIDs()) {
-				imageType = SELECTOR_ID;
-			} else if (0 < ss.getNumOfClasses()) {
-				imageType = SELECTOR_CLASS;
-			} else if (0 < ss.getNumOfPseudoNames()) {
-				imageType = SELECTOR_PSEUDO;
-			} else {
-				imageType = SELECTOR_TAG;
-			}
-		}
-		return imageType;
-	}
-
-	public static CSSImageType getImageType(String category) {
-		if (fCategoryMap == null) {
-			fCategoryMap = new HashMap();
-			fCategoryMap.put("aural", CATEGORY_AURAL); //$NON-NLS-1$
-			fCategoryMap.put("box", CATEGORY_BOX); //$NON-NLS-1$
-			fCategoryMap.put("colorandbackground", CATEGORY_COLORANDBACKGROUND); //$NON-NLS-1$
-			fCategoryMap.put("content", CATEGORY_CONTENT); //$NON-NLS-1$
-			fCategoryMap.put("font", CATEGORY_FONT); //$NON-NLS-1$
-			fCategoryMap.put("page", CATEGORY_PAGE); //$NON-NLS-1$
-			fCategoryMap.put("tables", CATEGORY_TABLES); //$NON-NLS-1$
-			fCategoryMap.put("text", CATEGORY_TEXT); //$NON-NLS-1$
-			fCategoryMap.put("ui", CATEGORY_UI); //$NON-NLS-1$
-			fCategoryMap.put("visual", CATEGORY_VISUAL); //$NON-NLS-1$
-		}
-		CSSImageType imageType = (CSSImageType) fCategoryMap.get(category);
-		return (imageType == null) ? CATEGORY_DEFAULT : imageType;
-	}
-
-	private static Map fCategoryMap = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPlugin.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPlugin.java
deleted file mode 100644
index b167722..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPlugin.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class CSSUIPlugin extends AbstractUIPlugin {
-	public final static String ID = "org.eclipse.wst.css.ui"; //$NON-NLS-1$
-	//The shared instance.
-	private static CSSUIPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-
-	/**
-	 * The constructor.
-	 */
-	public CSSUIPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static CSSUIPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.css.ui.internal.CSSUIPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPluginResources.properties b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPluginResources.properties
deleted file mode 100644
index 2fa1626..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/CSSUIPluginResources.properties
+++ /dev/null
@@ -1,50 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-INFO_Not_Categorized_1=Not Categorized
-
-## CSS Preferences -- source ##
-PrefsLabel.WrappingWithoutAttr=Disable wrapping in style &attribute of HTML
-PrefsLabel.WrappingInsertLineBreak=Insert &line break between properties
-
-PrefsLabel.CaseGroup=Capitalization style
-PrefsLabel.CaseIdent=Identifier:
-PrefsLabel.CasePropName=Property name:
-PrefsLabel.CasePropValue=Property value:
-
-PrefsLabel.CaseIdentUpper=&Uppercase
-PrefsLabel.CaseIdentLower=L&owercase
-PrefsLabel.CasePropNameUpper=U&ppercase
-PrefsLabel.CasePropNameLower=Lo&wercase
-PrefsLabel.CasePropValueUpper=Upp&ercase
-PrefsLabel.CasePropValueLower=Lowe&rcase
-
-## CSS Preferences -- color ##
-
-## The following line is a sample CSS document.  Please translate only the following parts:   
-## Sample Styles
-PrefsLabel.ColorSample=@import url("../sample2.css");\n\n/* Sample Styles */\n\nBODY {\n\tcolor : black;\n\tbackground-color : rgb(181, 253, 211);\n\ttext-align : center;\n\tfont-family : "Heisei Mincho W3", serif\n}\n\n@page :left { margin-left : 4cm }\n\n@media aural {\n\tP.heidi {\n\t\tazimuth : center-left;\n\t\televation : 12.3deg;\n\t\tpause : 30ms 1.6s\n\t}\n}\n
-
-PrefsLabel.ColorNormal=Default
-PrefsLabel.ColorAtmarkRule=At-Rule
-PrefsLabel.ColorSelector=Selector
-PrefsLabel.ColorMedia=Media Name
-PrefsLabel.ColorComment=Comment
-PrefsLabel.ColorPropertyName=Property Name
-PrefsLabel.ColorPropertyValue=Property Value
-PrefsLabel.ColorUri=URI
-PrefsLabel.ColorString=Quoted String
-PrefsLabel.ColorColon=Property Delimiter
-PrefsLabel.ColorSemiColon=SemiColon
-PrefsLabel.ColorCurlyBrace=Curly Brace
-PrefsLabel.ColorError=Error
-#
-SortAction.0=Sort
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/Logger.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/Logger.java
deleted file mode 100644
index 5f3336b..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/Logger.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.internal;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if
- * desired, the console. This class should only be used by classes in this
- * plugin. Other plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.wst.css.ui"; //$NON-NLS-1$
-	
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-
-	public static final int OK = IStatus.OK; // 0
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int ERROR = IStatus.ERROR; // 4
-
-	public static final int OK_DEBUG = 200 + OK;
-	public static final int INFO_DEBUG = 200 + INFO;
-	public static final int WARNING_DEBUG = 200 + WARNING;
-	public static final int ERROR_DEBUG = 200 + ERROR;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-	
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/editor/CSSEditorPluginImages.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/editor/CSSEditorPluginImages.java
deleted file mode 100644
index c7d179f..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/editor/CSSEditorPluginImages.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.internal.editor;
-
-
-/**
- * Bundle of most images used by the CSS Source Editor plug-in.
- */
-public class CSSEditorPluginImages {
-	public static final String IMG_OBJ_SORT = "icons/full/obj16/sort.gif"; //$NON-NLS-1$
-
-	public static final String IMG_OBJ_STYLESHEET = "icons/full/obj16/stylesheet.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_RULE_CHARSET = "icons/full/obj16/charset_rule.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_RULE_FONTFACE = "icons/full/obj16/fontface_rule.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_RULE_IMPORT = "icons/full/obj16/link_rule.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_RULE_MEDIA = "icons/full/obj16/media_rule.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_RULE_PAGE = "icons/full/obj16/page_rule.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_RULE_STYLE = "icons/full/obj16/style_rule.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_RULE_UNKNOWN = "icons/full/obj16/unknown_rule.gif"; //$NON-NLS-1$
-
-	public static final String IMG_OBJ_SELECTOR_CLASS = "icons/full/obj16/class_selector.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_SELECTOR_ID = "icons/full/obj16/id_selector.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_SELECTOR_PSEUDO = "icons/full/obj16/pseudo.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_SELECTOR_TAG = "icons/full/obj16/tag_selector.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_SELECTOR_LINK = "icons/full/obj16/link_selector.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_SELECTOR_DEFAULT = "icons/full/obj16/tag_selector.gif"; //$NON-NLS-1$
-
-	public static final String IMG_OBJ_VALUE_FUNCTION = "icons/full/obj16/css_propertyvalue_function.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_VALUE_NUMBER = "icons/full/obj16/css_propertyvalue_unit.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_VALUE_STRING = "icons/full/obj16/css_propertyvalue_identifier.gif"; //$NON-NLS-1$
-
-	public static final String IMG_OBJ_CATEGORY_AURAL = "icons/full/obj16/aural_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_BOX = "icons/full/obj16/boxmodel_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_COLORANDBACKGROUND = "icons/full/obj16/colback_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_CONTENT = "icons/full/obj16/content_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_FONT = "icons/full/obj16/font_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_PAGE = "icons/full/obj16/pagedmedia_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_TABLES = "icons/full/obj16/table_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_TEXT = "icons/full/obj16/text_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_UI = "icons/full/obj16/ui_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_VISUAL = "icons/full/obj16/visual_props.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CATEGORY_DEFAULT = "icons/full/obj16/other_props.gif"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/editor/IHelpContextIds.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/editor/IHelpContextIds.java
deleted file mode 100644
index d6a82a1..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/editor/IHelpContextIds.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.internal.editor;
-
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-
-/**
- * Help context ids for the CSS Source Editor.
- * <p>
- * This interface contains constants only; it is not intended to be
- * implemented.
- * </p>
- *  
- */
-public interface IHelpContextIds {
-	// org.eclipse.wst.css.ui.
-	public static final String PREFIX = CSSUIPlugin.ID + "."; //$NON-NLS-1$
-
-	// CSS Source page editor
-	public static final String CSS_SOURCEVIEW_HELPID = PREFIX + "ecss0000"; //$NON-NLS-1$
-
-	// CSS Files Preference page
-	public static final String CSS_PREFWEBX_FILES_HELPID = PREFIX + "webx0010"; //$NON-NLS-1$
-	// CSS Source Preference page
-	public static final String CSS_PREFWEBX_SOURCE_HELPID = PREFIX + "webx0011"; //$NON-NLS-1$
-	// CSS Styles Preference page
-	public static final String CSS_PREFWEBX_STYLES_HELPID = PREFIX + "webx0012"; //$NON-NLS-1$
-
-	// CSS Cleanup dialog
-	public static final String CSS_CLEANUP_HELPID = PREFIX + "xmlm1300"; //$NON-NLS-1$
-
-	// CSS Content Settings
-	public static final String CSS_CONTENT_SETTINGS_HELPID = PREFIX + "misc0180"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/CSSUIPreferenceInitializer.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/CSSUIPreferenceInitializer.java
deleted file mode 100644
index 3b1c00d..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/preferences/CSSUIPreferenceInitializer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.wst.css.ui.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-import org.eclipse.wst.css.ui.style.IStyleConstantsCSS;
-import org.eclipse.wst.sse.ui.preferences.ui.ColorHelper;
-
-/**
- * Sets default values for CSS UI preferences
- */
-public class CSSUIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = CSSUIPlugin.getDefault().getPreferenceStore();
-		// CSS Style Preferences
-		String NOBACKGROUNDBOLD = " | null | false"; //$NON-NLS-1$
-		String styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-		store.setDefault(IStyleConstantsCSS.NORMAL, styleValue);
-
-		styleValue = ColorHelper.getColorString(63, 127, 127) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsCSS.ATMARK_RULE, styleValue);
-		store.setDefault(IStyleConstantsCSS.SELECTOR, styleValue);
-
-		styleValue = ColorHelper.getColorString(42, 0, 225) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsCSS.MEDIA, styleValue);
-
-		styleValue = ColorHelper.getColorString(63, 95, 191) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsCSS.COMMENT, styleValue);
-
-		styleValue = ColorHelper.getColorString(127, 0, 127) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsCSS.PROPERTY_NAME, styleValue);
-
-		styleValue = ColorHelper.getColorString(42, 0, 225) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsCSS.PROPERTY_VALUE, styleValue);
-		store.setDefault(IStyleConstantsCSS.URI, styleValue);
-		store.setDefault(IStyleConstantsCSS.STRING, styleValue);
-
-		styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-		store.setDefault(IStyleConstantsCSS.COLON, styleValue);
-		store.setDefault(IStyleConstantsCSS.SEMI_COLON, styleValue);
-		store.setDefault(IStyleConstantsCSS.CURLY_BRACE, styleValue);
-
-		styleValue = ColorHelper.getColorString(191, 63, 63) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsCSS.ERROR, styleValue);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectCSSAction.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectCSSAction.java
deleted file mode 100644
index cf318d6..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectCSSAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.internal.selection;
-
-import org.eclipse.jface.text.Region;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory;
-import org.eclipse.wst.sse.ui.internal.selection.StructureSelectAction;
-
-public abstract class StructureSelectCSSAction extends StructureSelectAction {
-	public StructureSelectCSSAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-	}
-
-	public void run() {
-		Region currentRegion = new Region(fViewer.getSelectedRange().x, fViewer.getSelectedRange().y);
-		if (currentRegion.getLength() == fViewer.getDocument().getLength())
-			return;
-
-		IndexedRegion cursorIndexedRegion = getCursorIndexedRegion();
-		if (cursorIndexedRegion instanceof ICSSNode) {
-			ICSSNode cursorNode = (ICSSNode) cursorIndexedRegion;
-
-			Region cursorNodeRegion = new Region(cursorIndexedRegion.getStartOffset(), cursorIndexedRegion.getEndOffset() - cursorIndexedRegion.getStartOffset());
-
-			Region newRegion = null;
-			if (cursorNodeRegion.getOffset() >= currentRegion.getOffset() && cursorNodeRegion.getOffset() <= currentRegion.getOffset() + currentRegion.getLength() && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() >= currentRegion.getOffset() && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() <= currentRegion.getOffset() + currentRegion.getLength())
-				newRegion = getNewSelectionRegion(cursorNode, currentRegion);
-			else
-				newRegion = cursorNodeRegion;
-
-			if (newRegion != null) {
-				fHistory.remember(currentRegion);
-				try {
-					fHistory.ignoreSelectionChanges();
-					fEditor.selectAndReveal(newRegion.getOffset(), newRegion.getLength());
-				} finally {
-					fHistory.listenToSelectionChanges();
-				}
-			}
-		}
-	}
-
-	abstract protected Region getNewSelectionRegion(ICSSNode node, Region region);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectEnclosingCSSAction.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectEnclosingCSSAction.java
deleted file mode 100644
index e6b2dde..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectEnclosingCSSAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.internal.selection;
-
-import org.eclipse.jface.text.Region;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory;
-import org.w3c.dom.Node;
-
-public class StructureSelectEnclosingCSSAction extends StructureSelectCSSAction {
-	public StructureSelectEnclosingCSSAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(SSEUIPlugin.getResourceString("%StructureSelectEnclosing.label")); //$NON-NLS-1$
-		setToolTipText(SSEUIPlugin.getResourceString("%StructureSelectEnclosing.tooltip")); //$NON-NLS-1$
-		setDescription(SSEUIPlugin.getResourceString("%StructureSelectEnclosing.description")); //$NON-NLS-1$
-	}
-
-	protected IndexedRegion getCursorIndexedRegion() {
-		return getIndexedRegion(fViewer.getSelectedRange().x);
-	}
-
-	protected Region getNewSelectionRegion(Node node, Region region) {
-		return null;
-	}
-
-	protected Region getNewSelectionRegion(ICSSNode node, Region region) {
-		Region newRegion = null;
-
-		ICSSNode newNode = node.getParentNode();
-
-		if (newNode instanceof IndexedRegion) {
-			IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-			newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset());
-		}
-
-		return newRegion;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectNextCSSAction.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectNextCSSAction.java
deleted file mode 100644
index acd3715..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectNextCSSAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.internal.selection;
-
-import org.eclipse.jface.text.Region;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory;
-import org.w3c.dom.Node;
-
-public class StructureSelectNextCSSAction extends StructureSelectCSSAction {
-	public StructureSelectNextCSSAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(SSEUIPlugin.getResourceString("%StructureSelectNext.label")); //$NON-NLS-1$
-		setToolTipText(SSEUIPlugin.getResourceString("%StructureSelectNext.tooltip")); //$NON-NLS-1$
-		setDescription(SSEUIPlugin.getResourceString("%StructureSelectNext.description")); //$NON-NLS-1$
-	}
-
-	protected IndexedRegion getCursorIndexedRegion() {
-		int offset = fViewer.getSelectedRange().x + fViewer.getSelectedRange().y - 1;
-
-		if (offset < 0)
-			offset = 0;
-
-		return getIndexedRegion(offset);
-	}
-
-	protected Region getNewSelectionRegion(Node node, Region region) {
-		return null;
-	}
-
-	protected Region getNewSelectionRegion(ICSSNode node, Region region) {
-		Region newRegion = null;
-
-		ICSSNode newNode = node.getNextSibling();
-		if (newNode == null) {
-			newNode = node.getParentNode();
-
-			if (newNode instanceof IndexedRegion) {
-				IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-				newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset());
-			}
-		} else {
-			if (newNode instanceof IndexedRegion) {
-				IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-				newRegion = new Region(region.getOffset(), newIndexedRegion.getEndOffset() - region.getOffset());
-			}
-		}
-
-		return newRegion;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectPreviousCSSAction.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectPreviousCSSAction.java
deleted file mode 100644
index 91b001d..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectPreviousCSSAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.internal.selection;
-
-import org.eclipse.jface.text.Region;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory;
-import org.w3c.dom.Node;
-
-public class StructureSelectPreviousCSSAction extends StructureSelectCSSAction {
-	public StructureSelectPreviousCSSAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(SSEUIPlugin.getResourceString("%StructureSelectPrevious.label")); //$NON-NLS-1$
-		setToolTipText(SSEUIPlugin.getResourceString("%StructureSelectPrevious.tooltip")); //$NON-NLS-1$
-		setDescription(SSEUIPlugin.getResourceString("%StructureSelectPrevious.description")); //$NON-NLS-1$
-	}
-
-	protected IndexedRegion getCursorIndexedRegion() {
-		return getIndexedRegion(fViewer.getSelectedRange().x);
-	}
-
-	protected Region getNewSelectionRegion(Node node, Region region) {
-		return null;
-	}
-
-	protected Region getNewSelectionRegion(ICSSNode node, Region region) {
-		Region newRegion = null;
-
-		ICSSNode newNode = node.getPreviousSibling();
-		if (newNode == null) {
-			newNode = node.getParentNode();
-
-			if (newNode instanceof IndexedRegion) {
-				IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-				newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset());
-			}
-		} else {
-			if (newNode instanceof IndexedRegion) {
-				IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-				newRegion = new Region(newIndexedRegion.getStartOffset(), region.getOffset() + region.getLength() - newIndexedRegion.getStartOffset());
-			}
-		}
-
-		return newRegion;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/CSSPreferenceManager.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/CSSPreferenceManager.java
deleted file mode 100644
index cb46227..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/CSSPreferenceManager.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.preferences;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.ui.preferences.PreferenceManager;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @deprecated preference management has moved to base preferences
- */
-public class CSSPreferenceManager extends PreferenceManager {
-
-	private static CSSPreferenceManager fInstance = null;
-	//
-	private final static String GROUP_COLOR = "color";//$NON-NLS-1$
-	private final static String COLOR_ENABLED = "useColor";//$NON-NLS-1$
-	//
-	private final static String GROUP_ASSIST = "contentAssist"; //$NON-NLS-1$
-	private final static String ASSIST_CATEGORIZE = "categorize"; //$NON-NLS-1$
-
-	protected Document fallbackDocument = null;
-
-	/**
-	 *  
-	 */
-	protected CSSPreferenceManager() {
-		super();
-	}
-
-	/**
-	 *  
-	 */
-	public Document createDefaultPreferences() {
-		Document doc = super.createDefaultPreferences();
-		if (doc == null) {
-			return doc;
-		}
-
-		Node preference = doc.getFirstChild();
-
-		Element color = doc.createElement(GROUP_COLOR);
-		setBooleanAttribute(color, COLOR_ENABLED, true);
-		preference.appendChild(color);
-
-		Element contentAssist = doc.createElement(GROUP_ASSIST);
-		setBooleanAttribute(contentAssist, ASSIST_CATEGORIZE, true);
-		preference.appendChild(contentAssist);
-
-		return doc;
-	}
-
-	public boolean getContentAssistCategorize() {
-		return getBooleanAttribute(getGroupElement(GROUP_ASSIST), ASSIST_CATEGORIZE);
-	}
-
-	public void setContentAssistCategorize(boolean categorize) {
-		setBooleanAttribute(getGroupElement(GROUP_ASSIST), ASSIST_CATEGORIZE, categorize);
-	}
-
-	/**
-	 *  
-	 */
-	protected boolean getBooleanAttribute(Element element, String name) {
-		String str = element.getAttribute(name);
-		if (str == null || str.length() <= 0) {
-			element = getDefaultGroupElement(element.getTagName());
-			if (element != null)
-				str = element.getAttribute(name);
-		}
-		return (str == null) ? false : str.equals(Boolean.TRUE.toString());
-	}
-
-	/**
-	 *  
-	 */
-	public boolean getColorEnabled() {
-		return getBooleanAttribute(getGroupElement(GROUP_COLOR), COLOR_ENABLED);
-	}
-
-	/**
-	 *  
-	 */
-	protected String getFilename() {
-		if (fileName == null) {
-			fileName = Platform.getStateLocation(Platform.getBundle("org.eclipse.wst.sse.core")).toString() + "/cssprefs.xml";//$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return fileName;
-	}
-
-	/**
-	 *  
-	 */
-	protected Element getGroupElement(String name) {
-		Node node = getNamedChild(getRootElement(), name);
-		return (node instanceof Element) ? (Element) node : getDefaultGroupElement(name);
-	}
-
-	/**
-	 *  
-	 */
-	protected Element getDefaultGroupElement(String name) {
-		Node node = getNamedChild(getDefaultRootElement(), name);
-		return (node instanceof Element) ? (Element) node : null;
-	}
-
-	/**
-	 *  
-	 */
-	protected Node getDefaultRootElement() {
-		if (fallbackDocument == null)
-			fallbackDocument = createDefaultPreferences();
-		return getRootElement(fallbackDocument);
-	}
-
-	/**
-	 *  
-	 */
-	public synchronized static CSSPreferenceManager getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSPreferenceManager();
-		}
-		return fInstance;
-	}
-
-	/**
-	 *  
-	 */
-	protected int getIntAttribute(Element element, String name) {
-		int value = 0;
-		try {
-			value = Integer.parseInt(element.getAttribute(name));
-		} catch (NumberFormatException e) {
-			element = getDefaultGroupElement(element.getTagName());
-			try {
-				value = Integer.parseInt(element.getAttribute(name));
-			} catch (NumberFormatException ee) {
-			}
-		}
-		return value;
-	}
-
-	/**
-	 *  
-	 */
-	protected String getStringAttribute(Element element, String name) {
-		if (element.getAttributeNode(name) == null) {
-			element = getDefaultGroupElement(element.getTagName());
-		}
-		return element.getAttribute(name);
-	}
-
-	/**
-	 *  
-	 */
-	protected void setBooleanAttribute(Element element, String name, boolean value) {
-		element.setAttribute(name, new Boolean(value).toString());
-	}
-
-	/**
-	 *  
-	 */
-	public void setColorEnabled(boolean enabled) {
-		setBooleanAttribute(getGroupElement(GROUP_COLOR), COLOR_ENABLED, enabled);
-	}
-
-	/**
-	 *  
-	 */
-	protected void setStringAttribute(Element element, String name, String value) {
-		element.setAttribute(name, value);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSColorManager.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSColorManager.java
deleted file mode 100644
index 2b68638..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSColorManager.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.preferences.ui;
-
-
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.wst.css.ui.internal.Logger;
-import org.eclipse.wst.css.ui.style.IStyleConstantsCSS;
-import org.eclipse.wst.sse.ui.preferences.PreferenceManager;
-import org.eclipse.wst.sse.ui.preferences.ui.ColorNames;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @deprecated color preference management has moved to base preferences
- */
-public class CSSColorManager extends PreferenceManager {
-
-	private static CSSColorManager fInstance = null;
-	// highlighting types
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String NORMAL = "NORMAL";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String ATMARK_RULE = "ATMARK_RULE";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String SELECTOR = "SELECTOR";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String MEDIA = "MEDIA"; //$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String COMMENT = "COMMENT";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String PROPERTY_NAME = "PROPERTY_NAME";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String PROPERTY_VALUE = "PROPERTY_VALUE";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String URI = "URI";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String STRING = "STRING";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String COLON = "COLON";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String SEMI_COLON = "SEMI_COLON";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String CURLY_BRACE = "CURLY_BRACE";//$NON-NLS-1$
-	/** @deprecated use IStyleConstantsCSS instead TODO remove in C5 or earlier */
-	public static final String ERROR = "ERROR";//$NON-NLS-1$
-	// names for preference elements ... non-NLS
-	public static final String FOREGROUND = "foreground";//$NON-NLS-1$
-	public static final String BACKGROUND = "background";//$NON-NLS-1$
-	public static final String BOLD = "bold";//$NON-NLS-1$
-	public static final String ITALIC = "italic";//$NON-NLS-1$
-	public static final String NAME = "name";//$NON-NLS-1$
-	public static final String COLOR = "color";//$NON-NLS-1$
-
-	private CSSColorManager() {
-		super();
-	}
-
-	protected Element addColor(Node colors, String name, String foreground, String background) {
-		Element newColor = newColor(colors.getOwnerDocument(), name, foreground, background);
-		colors.appendChild(newColor);
-		return newColor;
-	}
-
-	/**
-	 * <!ELEMENT colors (color) > <!ELEMENT color EMPTY > <!ATTLIST color name
-	 * CDATA #REQUIRED foreground CDATA #IMPLIED background CDATA #IMPLIED
-	 * bold CDATA #REQUIRED >
-	 *  
-	 */
-	public Document createDefaultPreferences() {
-		Document prefDocument = super.createDefaultPreferences();
-		if (prefDocument == null)
-			return prefDocument;
-
-		while (prefDocument.getChildNodes().getLength() > 0)
-			prefDocument.removeChild(prefDocument.getLastChild());
-		Element colors = prefDocument.createElement(getRootElementName());
-		prefDocument.appendChild(colors);
-
-		// current as of 2001-8-13
-		addColor(colors, IStyleConstantsCSS.NORMAL, null, null);
-		addColor(colors, IStyleConstantsCSS.ATMARK_RULE, getColorString(63, 127, 127), null);
-		addColor(colors, IStyleConstantsCSS.SELECTOR, getColorString(63, 127, 127), null);
-		addColor(colors, IStyleConstantsCSS.MEDIA, getColorString(42, 0, 225), null);
-		addColor(colors, IStyleConstantsCSS.COMMENT, getColorString(63, 95, 191), null);
-		addColor(colors, IStyleConstantsCSS.PROPERTY_NAME, getColorString(127, 0, 127), null);
-		addColor(colors, IStyleConstantsCSS.PROPERTY_VALUE, getColorString(42, 0, 225), null);
-		addColor(colors, IStyleConstantsCSS.URI, getColorString(42, 0, 225), null);
-		addColor(colors, IStyleConstantsCSS.STRING, getColorString(42, 0, 225), null);
-		addColor(colors, IStyleConstantsCSS.COLON, null, null);
-		addColor(colors, IStyleConstantsCSS.SEMI_COLON, null, null);
-		addColor(colors, IStyleConstantsCSS.CURLY_BRACE, null, null);
-		addColor(colors, IStyleConstantsCSS.ERROR, getColorString(191, 63, 63), null);
-
-		return prefDocument;
-	}
-
-	public RGB getBackgroundRGB(String name) {
-		Element element = getColorElement(name);
-		if (element != null) {
-			return getRGB(element.getAttribute(BACKGROUND));
-		} else {
-			return new RGB(255, 255, 255);
-		}
-	}
-
-	private Element getColorElement(String name) {
-		Node colorsElement = getRootElement();
-		NodeList colors = colorsElement.getChildNodes();
-		for (int i = 0; i < colors.getLength(); i++) {
-			Node node = colors.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE && ((Element) node).getAttribute(NAME).equals(name)) {
-				return (Element) node;
-			}
-		}
-		return null;
-	}
-
-	public static String getColorString(int r, int g, int b) {
-		return "#" + getHexString(r, 2) + getHexString(g, 2) + getHexString(b, 2);//$NON-NLS-1$
-	}
-
-	public String getFilename() {
-		if (fileName == null) {
-			fileName = Platform.getStateLocation(Platform.getBundle("org.eclipse.sse.core")).toString() + "/csssourcecolors.xml";//$NON-NLS-1$ //$NON-NLS-2$  
-		}
-		return fileName;
-	}
-
-	public RGB getForegroundRGB(String name) {
-		Element element = getColorElement(name);
-		if (element != null) {
-			return getRGB(element.getAttribute(FOREGROUND));
-		} else {
-			return new RGB(0, 0, 0);
-		}
-	}
-
-	public static String getHexString(int value, int minWidth) {
-		String hexString = Integer.toHexString(value);
-		for (int i = hexString.length(); i < minWidth; i++) {
-			hexString = "0" + hexString;//$NON-NLS-1$
-		}
-		return hexString;
-	}
-
-	public synchronized static CSSColorManager getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSColorManager();
-		}
-		return fInstance;
-	}
-
-	private RGB getRGB(String rgbStr) {
-		RGB result = null;
-		if (6 < rgbStr.length() && rgbStr.charAt(0) == '#') {
-			try {
-				int r = Integer.valueOf(rgbStr.substring(1, 3), 16).intValue();
-				int g = Integer.valueOf(rgbStr.substring(3, 5), 16).intValue();
-				int b = Integer.valueOf(rgbStr.substring(5, 7), 16).intValue();
-				result = new RGB(r, g, b);
-			} catch (NumberFormatException e) {
-				Logger.logException("Invalid color string " + rgbStr, e); //$NON-NLS-1$
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * The intended name for the root Element of the Document; what is also
-	 * listed within the DOCTYPE declaration.
-	 * 
-	 * @return String
-	 */
-	public String getRootElementName() {
-		return ColorNames.COLORS;
-	}
-
-	public int getStyle(String name) {
-		int style = SWT.NORMAL;
-		Element element = getColorElement(name);
-		if (element != null) {
-			if (Boolean.valueOf(element.getAttribute(BOLD)).booleanValue()) {
-				style |= SWT.BOLD;
-			}
-			if (Boolean.valueOf(element.getAttribute(ITALIC)).booleanValue()) {
-				style |= SWT.ITALIC;
-			}
-		}
-		return style;
-	}
-
-	protected Element newColor(Document doc, String name, String foreground, String background) {
-		if (doc == null || name == null || name.length() < 1)
-			return null;
-		Element newColor = doc.createElement(ColorNames.COLOR);
-		newColor.setAttribute(ColorNames.NAME, name);
-		if (foreground != null)
-			newColor.setAttribute(ColorNames.FOREGROUND, foreground);
-		if (background != null)
-			newColor.setAttribute(ColorNames.BACKGROUND, background);
-		return newColor;
-	}
-
-	protected Element newColor(Document doc, String name, String foreground, String background, boolean bold, boolean italic) {
-		Element newColor = newColor(doc, name, foreground, background);
-		if (newColor == null)
-			return null;
-		newColor.setAttribute(ColorNames.BOLD, String.valueOf(bold));
-		newColor.setAttribute(ColorNames.ITALIC, String.valueOf(italic));
-		return newColor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSColorPage.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSColorPage.java
deleted file mode 100644
index f29d059..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSColorPage.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.preferences.ui;
-
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-import org.eclipse.wst.css.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.css.ui.style.IStyleConstantsCSS;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.contenttype.ContentTypeIdForCSS;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore.OverlayKey;
-import org.eclipse.wst.sse.ui.preferences.ui.AbstractColorPage;
-import org.eclipse.wst.sse.ui.preferences.ui.StyledTextColorPicker;
-
-public class CSSColorPage extends AbstractColorPage {
-
-	/**
-	 * Set up all the style preference keys in the overlay store
-	 */
-	protected OverlayKey[] createOverlayStoreKeys() {
-		ArrayList overlayKeys = new ArrayList();
-
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-		Iterator i = styleList.iterator();
-		while (i.hasNext()) {
-			overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, (String) i.next()));
-		}
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	protected Control createContents(Composite parent) {
-		Composite pageComponent = createComposite(parent, 1);
-		((GridData) pageComponent.getLayoutData()).horizontalAlignment = GridData.HORIZONTAL_ALIGN_FILL;
-
-		super.createContents(pageComponent);
-
-		// assigning one help for whole group
-		//		WorkbenchHelp.setHelp(pageComponent,
-		// "com.ibm.etools.webedit.core.cssp2000"); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(pageComponent, IHelpContextIds.CSS_PREFWEBX_STYLES_HELPID);
-
-		return pageComponent;
-	}
-
-	protected Composite createColoringComposite(Composite parent) {
-		Composite coloringComposite = super.createColoringComposite(parent);
-
-		// assigning one help for whole group
-		//		WorkbenchHelp.setHelp(coloringComposite,
-		// "com.ibm.etools.webedit.core.cssp2100"); //$NON-NLS-1$
-
-		return coloringComposite;
-	}
-
-	/**
-	 * getSampleText method comment.
-	 */
-	public String getSampleText() {
-		return CSSUIPlugin.getResourceString("%PrefsLabel.ColorSample"); //$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 * @param contextStyleMap
-	 *            java.util.Dictionary
-	 */
-	protected void initContextStyleMap(Dictionary contextStyleMap) {
-		contextStyleMap.put(CSSRegionContexts.CSS_COMMENT, IStyleConstantsCSS.COMMENT);
-		contextStyleMap.put(CSSRegionContexts.CSS_CDO, IStyleConstantsCSS.COMMENT);
-		contextStyleMap.put(CSSRegionContexts.CSS_CDC, IStyleConstantsCSS.COMMENT);
-		contextStyleMap.put(CSSRegionContexts.CSS_S, IStyleConstantsCSS.NORMAL);
-
-		contextStyleMap.put(CSSRegionContexts.CSS_DELIMITER, IStyleConstantsCSS.SEMI_COLON);
-		contextStyleMap.put(CSSRegionContexts.CSS_LBRACE, IStyleConstantsCSS.CURLY_BRACE);
-		contextStyleMap.put(CSSRegionContexts.CSS_RBRACE, IStyleConstantsCSS.CURLY_BRACE);
-
-		contextStyleMap.put(CSSRegionContexts.CSS_IMPORT, IStyleConstantsCSS.ATMARK_RULE);
-		contextStyleMap.put(CSSRegionContexts.CSS_PAGE, IStyleConstantsCSS.ATMARK_RULE);
-		contextStyleMap.put(CSSRegionContexts.CSS_MEDIA, IStyleConstantsCSS.ATMARK_RULE);
-		contextStyleMap.put(CSSRegionContexts.CSS_FONT_FACE, IStyleConstantsCSS.ATMARK_RULE);
-		contextStyleMap.put(CSSRegionContexts.CSS_CHARSET, IStyleConstantsCSS.ATMARK_RULE);
-		contextStyleMap.put(CSSRegionContexts.CSS_ATKEYWORD, IStyleConstantsCSS.ATMARK_RULE);
-
-		contextStyleMap.put(CSSRegionContexts.CSS_STRING, IStyleConstantsCSS.STRING);
-		contextStyleMap.put(CSSRegionContexts.CSS_URI, IStyleConstantsCSS.URI);
-		contextStyleMap.put(CSSRegionContexts.CSS_MEDIUM, IStyleConstantsCSS.MEDIA);
-		contextStyleMap.put(CSSRegionContexts.CSS_MEDIA_SEPARATOR, IStyleConstantsCSS.MEDIA);
-
-		contextStyleMap.put(CSSRegionContexts.CSS_CHARSET_NAME, IStyleConstantsCSS.STRING);
-
-		contextStyleMap.put(CSSRegionContexts.CSS_PAGE_SELECTOR, IStyleConstantsCSS.MEDIA);
-
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_ELEMENT_NAME, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_UNIVERSAL, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_PSEUDO, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_CLASS, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_ID, IStyleConstantsCSS.SELECTOR);
-
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_COMBINATOR, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_SEPARATOR, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_END, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_NAME, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_VALUE, IStyleConstantsCSS.SELECTOR);
-		contextStyleMap.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_OPERATOR, IStyleConstantsCSS.SELECTOR);
-
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_PROPERTY, IStyleConstantsCSS.PROPERTY_NAME);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_DIMENSION, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_STRING, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_URI, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_HASH, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_UNICODE_RANGE, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_IMPORTANT, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_VALUE_S, IStyleConstantsCSS.PROPERTY_VALUE);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_SEPARATOR, IStyleConstantsCSS.COLON);
-		contextStyleMap.put(CSSRegionContexts.CSS_DECLARATION_DELIMITER, IStyleConstantsCSS.SEMI_COLON);
-
-		contextStyleMap.put(CSSRegionContexts.CSS_UNKNOWN, IStyleConstantsCSS.ERROR);
-	}
-
-	/**
-	 * 
-	 * @param descriptions
-	 *            java.util.Dictionary
-	 */
-	protected void initDescriptions(Dictionary descriptions) {
-		// create descriptions for hilighting types
-		descriptions.put(IStyleConstantsCSS.NORMAL, CSSUIPlugin.getResourceString("%PrefsLabel.ColorNormal"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.ATMARK_RULE, CSSUIPlugin.getResourceString("%PrefsLabel.ColorAtmarkRule"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.SELECTOR, CSSUIPlugin.getResourceString("%PrefsLabel.ColorSelector"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.MEDIA, CSSUIPlugin.getResourceString("%PrefsLabel.ColorMedia"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.COMMENT, CSSUIPlugin.getResourceString("%PrefsLabel.ColorComment"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.PROPERTY_NAME, CSSUIPlugin.getResourceString("%PrefsLabel.ColorPropertyName"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.PROPERTY_VALUE, CSSUIPlugin.getResourceString("%PrefsLabel.ColorPropertyValue"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.URI, CSSUIPlugin.getResourceString("%PrefsLabel.ColorUri"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.STRING, CSSUIPlugin.getResourceString("%PrefsLabel.ColorString"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.COLON, CSSUIPlugin.getResourceString("%PrefsLabel.ColorColon"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.SEMI_COLON, CSSUIPlugin.getResourceString("%PrefsLabel.ColorSemiColon"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.CURLY_BRACE, CSSUIPlugin.getResourceString("%PrefsLabel.ColorCurlyBrace"));//$NON-NLS-1$
-		descriptions.put(IStyleConstantsCSS.ERROR, CSSUIPlugin.getResourceString("%PrefsLabel.ColorError"));//$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 * @param list
-	 *            java.util.ArrayList
-	 */
-	protected void initStyleList(ArrayList list) {
-		list.add(IStyleConstantsCSS.NORMAL);
-		list.add(IStyleConstantsCSS.ATMARK_RULE);
-		list.add(IStyleConstantsCSS.SELECTOR);
-		list.add(IStyleConstantsCSS.MEDIA);
-		list.add(IStyleConstantsCSS.COMMENT);
-		list.add(IStyleConstantsCSS.PROPERTY_NAME);
-		list.add(IStyleConstantsCSS.PROPERTY_VALUE);
-		list.add(IStyleConstantsCSS.URI);
-		list.add(IStyleConstantsCSS.STRING);
-		list.add(IStyleConstantsCSS.COLON);
-		list.add(IStyleConstantsCSS.SEMI_COLON);
-		list.add(IStyleConstantsCSS.CURLY_BRACE);
-		list.add(IStyleConstantsCSS.ERROR);
-	}
-
-	/**
-	 * setupPicker method comment.
-	 */
-	protected void setupPicker(StyledTextColorPicker picker) {
-		IModelManager mmanager = StructuredModelManager.getModelManager();
-		picker.setParser(mmanager.createStructuredDocumentFor(ContentTypeIdForCSS.ContentTypeID_CSS).getParser());
-
-		Dictionary descriptions = new Hashtable();
-		initDescriptions(descriptions);
-
-		Dictionary contextStyleMap = new Hashtable();
-		initContextStyleMap(contextStyleMap);
-
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-
-		picker.setContextStyleMap(contextStyleMap);
-		picker.setDescriptions(descriptions);
-		picker.setStyleList(styleList);
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return CSSUIPlugin.getDefault().getPreferenceStore();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.AbstractColorPage#savePreferences()
-	 */
-	protected void savePreferences() {
-		CSSUIPlugin.getDefault().savePluginPreferences();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSFilesPreferencePage.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSFilesPreferencePage.java
deleted file mode 100644
index dc60382..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSFilesPreferencePage.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.preferences.ui;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.css.core.internal.CSSCorePlugin;
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-import org.eclipse.wst.css.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.xml.ui.preferences.XMLFilesPreferencePage;
-
-public class CSSFilesPreferencePage extends XMLFilesPreferencePage {
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return CSSUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#doSavePreferenceStore()
-	 */
-	protected void doSavePreferenceStore() {
-		CSSCorePlugin.getDefault().savePluginPreferences(); // model
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.preferences.ui.AbstractPreferencePage#getModelPreferences()
-	 */
-	protected Preferences getModelPreferences() {
-		return CSSCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control c = super.createContents(parent);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.CSS_PREFWEBX_FILES_HELPID);
-		return c;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSSourcePreferencePage.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSSourcePreferencePage.java
deleted file mode 100644
index 72e2a22..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/preferences/ui/CSSSourcePreferencePage.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.preferences.ui;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.css.core.internal.CSSCorePlugin;
-import org.eclipse.wst.css.core.preferences.CSSModelPreferenceNames;
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-import org.eclipse.wst.css.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.xml.ui.preferences.XMLSourcePreferencePage;
-
-/**
- */
-public class CSSSourcePreferencePage extends XMLSourcePreferencePage {
-	// Formatting
-	private final static String FORMATTING_GROUP = SSEUIPlugin.getResourceString("%Formatting_UI_"); //$NON-NLS-1$
-	private final static String FORMATTING_LINE_WIDTH = SSEUIPlugin.getResourceString("%Line_width__UI_"); //$NON-NLS-1$; 
-	private final static String FORMATTING_INDENT_USING_TABS = SSEUIPlugin.getResourceString("%&Indent_using_tabs_3"); //$NON-NLS-1$
-	// CSS Formatting
-	private final static String FORMATTING_INSERT_LINE_BREAK = CSSUIPlugin.getResourceString("%PrefsLabel.WrappingInsertLineBreak"); //$NON-NLS-1$
-	private final static String FORMATTING_WRAPPING_WITHOUT_ATTR = CSSUIPlugin.getResourceString("%PrefsLabel.WrappingWithoutAttr");//$NON-NLS-1$
-
-	// Case
-	private final static String CASE_GROUP = CSSUIPlugin.getResourceString("%PrefsLabel.CaseGroup"); //$NON-NLS-1$
-	private final static String CASE_IDENT = CSSUIPlugin.getResourceString("%PrefsLabel.CaseIdent"); //$NON-NLS-1$
-	private final static String CASE_PROP_NAME = CSSUIPlugin.getResourceString("%PrefsLabel.CasePropName"); //$NON-NLS-1$
-	private final static String CASE_PROP_VALUE = CSSUIPlugin.getResourceString("%PrefsLabel.CasePropValue"); //$NON-NLS-1$
-	private final static String CASE_IDENT_UPPER = CSSUIPlugin.getResourceString("%PrefsLabel.CaseIdentUpper"); //$NON-NLS-1$
-	private final static String CASE_IDENT_LOWER = CSSUIPlugin.getResourceString("%PrefsLabel.CaseIdentLower"); //$NON-NLS-1$
-	private final static String CASE_PROP_NAME_UPPER = CSSUIPlugin.getResourceString("%PrefsLabel.CasePropNameUpper"); //$NON-NLS-1$
-	private final static String CASE_PROP_NAME_LOWER = CSSUIPlugin.getResourceString("%PrefsLabel.CasePropNameLower"); //$NON-NLS-1$
-	private final static String CASE_PROP_VALUE_UPPER = CSSUIPlugin.getResourceString("%PrefsLabel.CasePropValueUpper"); //$NON-NLS-1$
-	private final static String CASE_PROP_VALUE_LOWER = CSSUIPlugin.getResourceString("%PrefsLabel.CasePropValueLower"); //$NON-NLS-1$
-
-	// one property per one line
-	protected Button fPropertyPerLine;
-	// prohibit wrapping if style attribute
-	protected Button fNowrapAttr;
-
-	// case of output character
-	// case of identifier
-	protected Button fIdentUpper;
-	protected Button fIdentLower;
-	// case of property name
-	protected Button fPropNameUpper;
-	protected Button fPropNameLower;
-	// case of property value
-	protected Button fPropValueUpper;
-	protected Button fPropValueLower;
-
-	protected void createContentsForFormattingGroup(Composite parent) {
-		Group formattingGroup = createGroup(parent, 2);
-		formattingGroup.setText(FORMATTING_GROUP);
-		//		// assigning one help for whole group
-		//		WorkbenchHelp.setHelp(formattingGroup,
-		// "com.ibm.etools.webedit.core.cssp1200"); //$NON-NLS-1$
-
-		fLineWidthLabel = createLabel(formattingGroup, FORMATTING_LINE_WIDTH);
-		fLineWidthText = new Text(formattingGroup, SWT.SINGLE | SWT.BORDER);
-		GridData gData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.BEGINNING);
-		gData.widthHint = 25;
-		fLineWidthText.setLayoutData(gData);
-		fLineWidthText.addModifyListener(this);
-
-		fPropertyPerLine = createCheckBox(formattingGroup, FORMATTING_INSERT_LINE_BREAK);
-		((GridData) fPropertyPerLine.getLayoutData()).horizontalSpan = 2;
-
-		fIndentUsingTabs = createCheckBox(formattingGroup, FORMATTING_INDENT_USING_TABS);
-		((GridData) fIndentUsingTabs.getLayoutData()).horizontalSpan = 2;
-
-		fNowrapAttr = createCheckBox(formattingGroup, FORMATTING_WRAPPING_WITHOUT_ATTR);
-		((GridData) fNowrapAttr.getLayoutData()).horizontalSpan = 2;
-	}
-
-	protected void performDefaultsForFormattingGroup() {
-		// Formatting
-		Preferences prefs = getModelPreferences();
-		fLineWidthText.setText(prefs.getDefaultString(CommonModelPreferenceNames.LINE_WIDTH));
-		fPropertyPerLine.setSelection(prefs.getDefaultBoolean(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE));
-		fIndentUsingTabs.setSelection(prefs.getDefaultBoolean(CommonModelPreferenceNames.INDENT_USING_TABS));
-		fNowrapAttr.setSelection(prefs.getDefaultBoolean(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR));
-	}
-
-	protected void initializeValuesForFormattingGroup() {
-		// Formatting
-		Preferences prefs = getModelPreferences();
-		fLineWidthText.setText(prefs.getString(CommonModelPreferenceNames.LINE_WIDTH));
-		fPropertyPerLine.setSelection(prefs.getBoolean(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE));
-		fIndentUsingTabs.setSelection(prefs.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS));
-		fNowrapAttr.setSelection(prefs.getBoolean(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR));
-	}
-
-	protected void storeValuesForFormattingGroup() {
-		// Formatting
-		Preferences prefs = getModelPreferences();
-		prefs.setValue(CommonModelPreferenceNames.LINE_WIDTH, fLineWidthText.getText());
-		prefs.setValue(CSSModelPreferenceNames.WRAPPING_ONE_PER_LINE, fPropertyPerLine.getSelection());
-		prefs.setValue(CommonModelPreferenceNames.INDENT_USING_TABS, fIndentUsingTabs.getSelection());
-		prefs.setValue(CSSModelPreferenceNames.WRAPPING_PROHIBIT_WRAP_ON_ATTR, fNowrapAttr.getSelection());
-	}
-
-	protected void createContentsForContentAssistGroup(Composite parent) {
-		// not content assist, but preferred case
-		Group caseGroup = createGroup(parent, 3);
-		caseGroup.setText(CASE_GROUP);
-		//		WorkbenchHelp.setHelp(caseGroup,
-		// "com.ibm.etools.webedit.core.cssp1400"); //$NON-NLS-1$
-
-		//		createLabel(caseGroup, CASE_IDENT);
-		//		createLabel(caseGroup, CASE_PROP_NAME);
-		//		createLabel(caseGroup, CASE_PROP_VALUE);
-
-		// use group for radio buttons so that associated label is read
-		//		Composite identGroup = createComposite(caseGroup, 1);
-		Group identGroup = createGroup(caseGroup, 1);
-		identGroup.setText(CASE_IDENT);
-		fIdentUpper = createRadioButton(identGroup, CASE_IDENT_UPPER);
-		fIdentLower = createRadioButton(identGroup, CASE_IDENT_LOWER);
-
-		// use group for radio buttons so that associated label is read
-		//		Composite propNameGroup = createComposite(caseGroup, 1);
-		Group propNameGroup = createGroup(caseGroup, 1);
-		propNameGroup.setText(CASE_PROP_NAME);
-		fPropNameUpper = createRadioButton(propNameGroup, CASE_PROP_NAME_UPPER);
-		fPropNameLower = createRadioButton(propNameGroup, CASE_PROP_NAME_LOWER);
-
-		// use group for radio buttons so that associated label is read
-		//		Composite propValueGroup = createComposite(caseGroup, 1);
-		Group propValueGroup = createGroup(caseGroup, 1);
-		propValueGroup.setText(CASE_PROP_VALUE);
-		fPropValueUpper = createRadioButton(propValueGroup, CASE_PROP_VALUE_UPPER);
-		fPropValueLower = createRadioButton(propValueGroup, CASE_PROP_VALUE_LOWER);
-	}
-
-	protected void performDefaultsForContentAssistGroup() {
-		// not content assist, but preferred case
-		Preferences prefs = getModelPreferences();
-		fIdentUpper.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.UPPER);
-		fIdentLower.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.LOWER);
-		fPropNameUpper.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.UPPER);
-		fPropNameLower.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.LOWER);
-		fPropValueUpper.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.UPPER);
-		fPropValueLower.setSelection(prefs.getDefaultInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.LOWER);
-	}
-
-	protected void initializeValuesForContentAssistGroup() {
-		// not content assist, but preferred case
-		Preferences prefs = getModelPreferences();
-		fIdentUpper.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.UPPER);
-		fIdentLower.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_IDENTIFIER) == CommonModelPreferenceNames.LOWER);
-		fPropNameUpper.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.UPPER);
-		fPropNameLower.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_PROPERTY_NAME) == CommonModelPreferenceNames.LOWER);
-		fPropValueUpper.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.UPPER);
-		fPropValueLower.setSelection(prefs.getInt(CSSModelPreferenceNames.CASE_PROPERTY_VALUE) == CommonModelPreferenceNames.LOWER);
-	}
-
-	protected void storeValuesForContentAssistGroup() {
-		// not content assist, but preferred case
-		Preferences prefs = getModelPreferences();
-		prefs.setValue(CSSModelPreferenceNames.CASE_IDENTIFIER, (fIdentUpper.getSelection()) ? CommonModelPreferenceNames.UPPER : CommonModelPreferenceNames.LOWER);
-		prefs.setValue(CSSModelPreferenceNames.CASE_PROPERTY_NAME, (fPropNameUpper.getSelection()) ? CommonModelPreferenceNames.UPPER : CommonModelPreferenceNames.LOWER);
-		prefs.setValue(CSSModelPreferenceNames.CASE_PROPERTY_VALUE, (fPropValueUpper.getSelection()) ? CommonModelPreferenceNames.UPPER : CommonModelPreferenceNames.LOWER);
-	}
-
-	protected void createContentsForGrammarConstraintsGroup(Composite parent) {
-		// do nothing
-	}
-
-	protected void performDefaultsForGrammarConstraintsGroup() {
-		// do nothing
-	}
-
-	protected void initializeValuesForGrammarConstraintsGroup() {
-		// do nothing
-	}
-
-	protected void storeValuesForGrammarConstraintsGroup() {
-		// do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	//	protected IPreferenceStore doGetPreferenceStore() {
-	//		return CSSUIPlugin.getDefault().getPreferenceStore();
-	//	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#doSavePreferenceStore()
-	 */
-	protected void doSavePreferenceStore() {
-		CSSUIPlugin.getDefault().savePluginPreferences();
-		CSSCorePlugin.getDefault().savePluginPreferences(); // model
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.preferences.ui.AbstractPreferencePage#getModelPreferences()
-	 */
-	protected Preferences getModelPreferences() {
-		return CSSCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control c = super.createContents(parent);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.CSS_PREFWEBX_SOURCE_HELPID);
-		return c;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return CSSUIPlugin.getDefault().getPreferenceStore();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/registry/AdapterFactoryProviderCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/registry/AdapterFactoryProviderCSS.java
deleted file mode 100644
index f5f854f..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/registry/AdapterFactoryProviderCSS.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.registry;
-
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.css.core.modelhandler.ModelHandlerForCSS;
-import org.eclipse.wst.css.ui.views.contentoutline.JFaceNodeAdapterFactoryCSS;
-import org.eclipse.wst.css.ui.views.properties.CSSPropertySourceAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelhandler.IDocumentTypeHandler;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-
-public class AdapterFactoryProviderCSS implements AdapterFactoryProvider {
-	public boolean isFor(IDocumentTypeHandler contentTypeDescription) {
-		return (contentTypeDescription instanceof ModelHandlerForCSS);
-	}
-
-	public void addAdapterFactories(IStructuredModel structuredModel) {
-		// add the normal content based factories to model's registry
-		addContentBasedFactories(structuredModel);
-	}
-
-	protected void addContentBasedFactories(IStructuredModel structuredModel) {
-		IFactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
-		Assert.isNotNull(factoryRegistry, "Program Error: client caller must ensure model has factory registry"); //$NON-NLS-1$
-		AdapterFactory factory = null;
-
-		factory = factoryRegistry.getFactoryFor(IPropertySource.class);
-		if (factory == null) {
-			factory = new CSSPropertySourceAdapterFactory(IPropertySource.class, true);
-			factoryRegistry.addFactory(factory);
-		}
-
-		factory = factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class);
-		if (factory == null) {
-			factory = new JFaceNodeAdapterFactoryCSS(IJFaceNodeAdapter.class, true);
-			factoryRegistry.addFactory(factory);
-		}
-	}
-
-	public void reinitializeFactories(IStructuredModel structuredModel) {
-
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/CSSTextColors.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/CSSTextColors.java
deleted file mode 100644
index 8bf4594..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/CSSTextColors.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.style;
-
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.wst.css.ui.preferences.CSSPreferenceManager;
-import org.eclipse.wst.css.ui.preferences.ui.CSSColorManager;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-/**
- * @deprecated Most methods and constants moved to LineStyleProviderForCSS or
- *             IStyleConstantsCSS. TODO remove in C5 or earlier
- */
-public class CSSTextColors {
-	class TextColors {
-
-		TextColors() {
-			super();
-		}
-
-		void setTextAttribute(Object key, RGB foreground, RGB background, int style) {
-			TextAttribute attribute = new TextAttribute(EditorUtility.getColor(foreground), EditorUtility.getColor(background), style);
-			setTextAttribute(key, attribute);
-		}
-
-		void setTextAttribute(Object key, TextAttribute attribute) {
-			TextAttribute oldAttribute = (TextAttribute) fAttributeTable.get(key);
-			if (oldAttribute != null) {
-				fAttributeTable.remove(key);
-			}
-			fAttributeTable.put(key, attribute);
-		}
-
-		TextAttribute getTextAttribute(Object key) {
-			return (TextAttribute) fAttributeTable.get(key);
-		}
-
-		private Map fAttributeTable = new HashMap();
-	}
-
-	// color types
-	public static final String NORMAL = "NORMAL"; //$NON-NLS-1$
-	public static final String ATMARK_RULE = "ATMARK_RULE"; //$NON-NLS-1$
-	public static final String SELECTOR = "SELECTOR"; //$NON-NLS-1$
-	public static final String MEDIA = "MEDIA"; //$NON-NLS-1$
-	public static final String COMMENT = "COMMENT"; //$NON-NLS-1$
-	public static final String PROPERTY_NAME = "PROPERTY_NAME"; //$NON-NLS-1$
-	public static final String PROPERTY_VALUE = "PROPERTY_VALUE"; //$NON-NLS-1$
-	public static final String URI = "URI"; //$NON-NLS-1$
-	public static final String STRING = "STRING"; //$NON-NLS-1$
-	public static final String COLON = "COLON"; //$NON-NLS-1$
-	public static final String SEMI_COLON = "SEMI_COLON"; //$NON-NLS-1$
-	public static final String CURLY_BRACE = "CURLY_BRACE"; //$NON-NLS-1$
-	public static final String ERROR = "ERROR"; //$NON-NLS-1$
-	private static CSSTextColors fInstance = null;
-	private TextColors fTextColors = null;
-	private Map fPrefToType = null;
-
-	protected CSSTextColors() {
-		super();
-		applyPreference();
-	}
-
-	public synchronized static CSSTextColors getInstance() {
-		if (fInstance == null) {
-			fInstance = new CSSTextColors();
-		}
-		return fInstance;
-	}
-
-	public void applyPreference() {
-		if (fTextColors == null) {
-			fTextColors = new TextColors();
-		}
-
-		if (fPrefToType == null) {
-			fPrefToType = new HashMap();
-			fPrefToType.put(NORMAL, CSSColorManager.NORMAL);
-			fPrefToType.put(ATMARK_RULE, CSSColorManager.ATMARK_RULE);
-			fPrefToType.put(SELECTOR, CSSColorManager.SELECTOR);
-			fPrefToType.put(MEDIA, CSSColorManager.MEDIA);
-			fPrefToType.put(COMMENT, CSSColorManager.COMMENT);
-			fPrefToType.put(PROPERTY_NAME, CSSColorManager.PROPERTY_NAME);
-			fPrefToType.put(PROPERTY_VALUE, CSSColorManager.PROPERTY_VALUE);
-			fPrefToType.put(URI, CSSColorManager.URI);
-			fPrefToType.put(STRING, CSSColorManager.STRING);
-			fPrefToType.put(COLON, CSSColorManager.COLON);
-			fPrefToType.put(SEMI_COLON, CSSColorManager.SEMI_COLON);
-			fPrefToType.put(CURLY_BRACE, CSSColorManager.CURLY_BRACE);
-			fPrefToType.put(ERROR, CSSColorManager.ERROR);
-		}
-		boolean bEnabled = CSSPreferenceManager.getInstance().getColorEnabled();
-		CSSColorManager pref = CSSColorManager.getInstance();
-
-		Iterator i = fPrefToType.keySet().iterator();
-		while (i.hasNext()) {
-			String key = (String) i.next();
-			if (bEnabled) {
-				String type = (String) fPrefToType.get(key);
-				setTextAttribute(key, pref.getForegroundRGB(type), pref.getBackgroundRGB(type), pref.getStyle(type));
-			} else {
-				setTextAttribute(key, null);
-			}
-		}
-	}
-
-	public void dispose() {
-	}
-
-	public TextAttribute getTextAttribute(String type) {
-		if (fTextColors == null) {
-			applyPreference();
-		}
-		return fTextColors.getTextAttribute(type);
-	}
-
-	private void setTextAttribute(String type, RGB foreground) {
-		setTextAttribute(type, foreground, null, SWT.NORMAL);
-	}
-
-	private void setTextAttribute(String type, RGB foreground, RGB background, int style) {
-		if (fTextColors == null) {
-			return;
-		}
-		fTextColors.setTextAttribute(type, foreground, background, style);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/IStyleConstantsCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/IStyleConstantsCSS.java
deleted file mode 100644
index 31eb84e..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/IStyleConstantsCSS.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.style;
-
-/**
- * Contains the symbolic name of styles used by LineStyleProvider,
- * ColorManager, and any others who may be interested
- */
-public interface IStyleConstantsCSS {
-	public static final String NORMAL = "NORMAL"; //$NON-NLS-1$
-	public static final String ATMARK_RULE = "ATMARK_RULE"; //$NON-NLS-1$
-	public static final String SELECTOR = "SELECTOR"; //$NON-NLS-1$
-	public static final String MEDIA = "MEDIA"; //$NON-NLS-1$
-	public static final String COMMENT = "COMMENT"; //$NON-NLS-1$
-	public static final String PROPERTY_NAME = "PROPERTY_NAME"; //$NON-NLS-1$
-	public static final String PROPERTY_VALUE = "PROPERTY_VALUE"; //$NON-NLS-1$
-	public static final String URI = "URI"; //$NON-NLS-1$
-	public static final String STRING = "STRING"; //$NON-NLS-1$
-	public static final String COLON = "COLON"; //$NON-NLS-1$
-	public static final String SEMI_COLON = "SEMI_COLON"; //$NON-NLS-1$
-	public static final String CURLY_BRACE = "CURLY_BRACE"; //$NON-NLS-1$
-	public static final String ERROR = "ERROR"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/LineStyleProviderForCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/LineStyleProviderForCSS.java
deleted file mode 100644
index a0bbe94..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/LineStyleProviderForCSS.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.style;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-
-/**
- */
-public class LineStyleProviderForCSS extends AbstractLineStyleProvider implements LineStyleProvider {
-	/** Contains region to style mapping */
-	private Map fColorTypes;
-
-	/**
-	 * LineStyleProviderForEmbeddedCSS constructor comment.
-	 */
-	public LineStyleProviderForCSS() {
-		super();
-		initAttributes();
-		loadColors();
-	}
-
-	protected TextAttribute getAttributeFor(ITextRegion region) {
-		if (region != null) {
-			String type = region.getType();
-			if (type != null) {
-				return getAttributeFor(type);
-			}
-		}
-		return (TextAttribute) getTextAttributes().get(IStyleConstantsCSS.NORMAL);
-	}
-
-	/**
-	 * Look up the TextAttribute for the given region context. Might return
-	 * null for unusual text.
-	 * 
-	 * @param type
-	 * @return
-	 */
-	protected TextAttribute getAttributeFor(String type) {
-		return (TextAttribute) getTextAttributes().get(fColorTypes.get(type));
-	}
-
-	private void initAttributes() {
-		if (fColorTypes == null) {
-			fColorTypes = new HashMap();
-		}
-		fColorTypes.put(CSSRegionContexts.CSS_COMMENT, IStyleConstantsCSS.COMMENT);
-		fColorTypes.put(CSSRegionContexts.CSS_CDO, IStyleConstantsCSS.COMMENT);
-		fColorTypes.put(CSSRegionContexts.CSS_CDC, IStyleConstantsCSS.COMMENT);
-		fColorTypes.put(CSSRegionContexts.CSS_S, IStyleConstantsCSS.NORMAL);
-
-		fColorTypes.put(CSSRegionContexts.CSS_DELIMITER, IStyleConstantsCSS.SEMI_COLON);
-		fColorTypes.put(CSSRegionContexts.CSS_LBRACE, IStyleConstantsCSS.CURLY_BRACE);
-		fColorTypes.put(CSSRegionContexts.CSS_RBRACE, IStyleConstantsCSS.CURLY_BRACE);
-
-		fColorTypes.put(CSSRegionContexts.CSS_IMPORT, IStyleConstantsCSS.ATMARK_RULE);
-		fColorTypes.put(CSSRegionContexts.CSS_PAGE, IStyleConstantsCSS.ATMARK_RULE);
-		fColorTypes.put(CSSRegionContexts.CSS_MEDIA, IStyleConstantsCSS.ATMARK_RULE);
-		fColorTypes.put(CSSRegionContexts.CSS_FONT_FACE, IStyleConstantsCSS.ATMARK_RULE);
-		fColorTypes.put(CSSRegionContexts.CSS_CHARSET, IStyleConstantsCSS.ATMARK_RULE);
-		fColorTypes.put(CSSRegionContexts.CSS_ATKEYWORD, IStyleConstantsCSS.ATMARK_RULE);
-
-		fColorTypes.put(CSSRegionContexts.CSS_STRING, IStyleConstantsCSS.STRING);
-		fColorTypes.put(CSSRegionContexts.CSS_URI, IStyleConstantsCSS.URI);
-		fColorTypes.put(CSSRegionContexts.CSS_MEDIUM, IStyleConstantsCSS.MEDIA);
-		fColorTypes.put(CSSRegionContexts.CSS_MEDIA_SEPARATOR, IStyleConstantsCSS.MEDIA);
-
-		fColorTypes.put(CSSRegionContexts.CSS_CHARSET_NAME, IStyleConstantsCSS.STRING);
-
-		fColorTypes.put(CSSRegionContexts.CSS_PAGE_SELECTOR, IStyleConstantsCSS.MEDIA);
-
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_ELEMENT_NAME, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_UNIVERSAL, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_PSEUDO, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_CLASS, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_ID, IStyleConstantsCSS.SELECTOR);
-
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_COMBINATOR, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_SEPARATOR, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_START, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_END, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_NAME, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_VALUE, IStyleConstantsCSS.SELECTOR);
-		fColorTypes.put(CSSRegionContexts.CSS_SELECTOR_ATTRIBUTE_OPERATOR, IStyleConstantsCSS.SELECTOR);
-
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_PROPERTY, IStyleConstantsCSS.PROPERTY_NAME);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_IDENT, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_DIMENSION, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_PERCENTAGE, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_NUMBER, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_FUNCTION, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_STRING, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_URI, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_HASH, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_UNICODE_RANGE, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_IMPORTANT, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_OPERATOR, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_VALUE_S, IStyleConstantsCSS.PROPERTY_VALUE);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_SEPARATOR, IStyleConstantsCSS.COLON);
-		fColorTypes.put(CSSRegionContexts.CSS_DECLARATION_DELIMITER, IStyleConstantsCSS.SEMI_COLON);
-
-		fColorTypes.put(CSSRegionContexts.CSS_UNKNOWN, IStyleConstantsCSS.NORMAL);
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		String styleKey = null;
-
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (IStyleConstantsCSS.ATMARK_RULE.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.ATMARK_RULE;
-			} else if (IStyleConstantsCSS.COLON.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.COLON;
-			} else if (IStyleConstantsCSS.COMMENT.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.COMMENT;
-			} else if (IStyleConstantsCSS.CURLY_BRACE.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.CURLY_BRACE;
-			} else if (IStyleConstantsCSS.ERROR.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.ERROR;
-			} else if (IStyleConstantsCSS.MEDIA.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.MEDIA;
-			} else if (IStyleConstantsCSS.NORMAL.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.NORMAL;
-			} else if (IStyleConstantsCSS.PROPERTY_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.PROPERTY_NAME;
-			} else if (IStyleConstantsCSS.PROPERTY_VALUE.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.PROPERTY_VALUE;
-			} else if (IStyleConstantsCSS.SELECTOR.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.SELECTOR;
-			} else if (IStyleConstantsCSS.SEMI_COLON.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.SEMI_COLON;
-			} else if (IStyleConstantsCSS.STRING.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.STRING;
-			} else if (IStyleConstantsCSS.URI.equals(prefKey)) {
-				styleKey = IStyleConstantsCSS.URI;
-			}
-		} else {
-			// this is around for old deprecated preferencesChanged() method
-			// TODO remove when preferencesChanged() is removed
-			loadColors();
-			super.handlePropertyChange(event);
-		}
-
-		if (styleKey != null) {
-			// overwrite style preference with new value
-			addTextAttribute(styleKey);
-			super.handlePropertyChange(event);
-		}
-	}
-
-	public void release() {
-		if (fColorTypes != null) {
-			fColorTypes.clear();
-		}
-		super.release();
-	}
-
-	public void loadColors() {
-		clearColors();
-		addTextAttribute(IStyleConstantsCSS.ATMARK_RULE);
-		addTextAttribute(IStyleConstantsCSS.COLON);
-		addTextAttribute(IStyleConstantsCSS.COMMENT);
-		addTextAttribute(IStyleConstantsCSS.CURLY_BRACE);
-		addTextAttribute(IStyleConstantsCSS.ERROR);
-		addTextAttribute(IStyleConstantsCSS.MEDIA);
-		addTextAttribute(IStyleConstantsCSS.NORMAL);
-		addTextAttribute(IStyleConstantsCSS.PROPERTY_NAME);
-		addTextAttribute(IStyleConstantsCSS.PROPERTY_VALUE);
-		addTextAttribute(IStyleConstantsCSS.SELECTOR);
-		addTextAttribute(IStyleConstantsCSS.SEMI_COLON);
-		addTextAttribute(IStyleConstantsCSS.STRING);
-		addTextAttribute(IStyleConstantsCSS.URI);
-	}
-
-	protected void clearColors() {
-		getTextAttributes().clear();
-	}
-
-	protected IPreferenceStore getColorPreferences() {
-		return CSSUIPlugin.getDefault().getPreferenceStore();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/LineStyleProviderForEmbeddedCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/LineStyleProviderForEmbeddedCSS.java
deleted file mode 100644
index e1620e1..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/style/LineStyleProviderForEmbeddedCSS.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.style;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.wst.css.core.parser.CSSTextParser;
-import org.eclipse.wst.css.core.parser.CSSTextToken;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-public class LineStyleProviderForEmbeddedCSS extends LineStyleProviderForCSS {
-
-	public boolean prepareRegions(ITypedRegion typedRegion, int lineRequestStart, int lineRequestLength, Collection holdResults) {
-		int regionStart = typedRegion.getOffset();
-		int regionEnd = regionStart + typedRegion.getLength();
-		IStructuredDocumentRegion wholeRegion = getDocument().getRegionAtCharacterOffset(regionStart);
-
-		List tokens;
-		int offset;
-
-		ParserCache cache = getCachedParsingResult(wholeRegion);
-		if (cache == null) {
-			offset = wholeRegion.getStartOffset();
-			String content;
-			content = wholeRegion.getText();
-
-			CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_STYLESHEET, content);
-			tokens = parser.getTokenList();
-			cacheParsingResult(wholeRegion, new ParserCache(offset, tokens));
-		} else {
-			tokens = cache.tokens;
-			offset = cache.offset;
-		}
-
-		boolean result = false;
-
-		if (0 < tokens.size()) {
-			int start = offset;
-			Iterator i = tokens.iterator();
-			while (i.hasNext()) {
-				CSSTextToken token = (CSSTextToken) i.next();
-				if (regionStart <= start && start < regionEnd) {
-					TextAttribute attribute = getAttributeFor(token.kind);
-					if (attribute != null) {
-						holdResults.add(new StyleRange(start, token.length, attribute.getForeground(), attribute.getBackground()));
-					}
-					else {
-						holdResults.add(new StyleRange(start, token.length, null, null));
-					}
-				}
-				start += token.length;
-			}
-			result = true;
-		}
-
-		return result;
-	}
-
-	protected TextAttribute getAttributeFor(ITextRegion region) {
-		return null;
-	}
-
-	private void cleanupCache() {
-		fCacheKey = -1;
-		fCacheResult = null;
-	}
-
-	private ParserCache getCachedParsingResult(IStructuredDocumentRegion region) {
-		if (fCacheKey == region.getText().hashCode()) {
-			return fCacheResult;
-		}
-		return null;
-	}
-
-	private void cacheParsingResult(IStructuredDocumentRegion region, ParserCache result) {
-		fCacheKey = region.getText().hashCode();
-		fCacheResult = result;
-	}
-
-	public void release() {
-		super.release();
-		cleanupCache();
-	}
-
-	private class ParserCache {
-		ParserCache(int newOffset, List newTokens) {
-			offset = newOffset;
-			tokens = newTokens;
-		}
-
-		int offset;
-		List tokens;
-	}
-
-	int fCacheKey = -1;
-	ParserCache fCacheResult = null;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/taginfo/CSSBestMatchHoverProcessor.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/taginfo/CSSBestMatchHoverProcessor.java
deleted file mode 100644
index 2c4a0fe..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/taginfo/CSSBestMatchHoverProcessor.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.taginfo;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.wst.sse.ui.taginfo.AbstractBestMatchHoverProcessor;
-
-/**
- * Provides the best css hover help documentation (by using other hover help
- * processors) Priority of hover help processors is: ProblemHoverProcessor,
- * AnnotationHoverProcessor
- */
-public class CSSBestMatchHoverProcessor extends AbstractBestMatchHoverProcessor {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.taginfo.AbstractBestMatchHoverProcessor#getTagInfoHover()
-	 */
-	protected ITextHover getTagInfoHover() {
-		// CSS has no taginfo hover
-		return null;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/text/CSSDocumentRegionEdgeMatcher.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/text/CSSDocumentRegionEdgeMatcher.java
deleted file mode 100644
index ce975a9..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/text/CSSDocumentRegionEdgeMatcher.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.text;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.source.ICharacterPairMatcher;
-import org.eclipse.wst.css.core.parser.CSSRegionContexts;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-public class CSSDocumentRegionEdgeMatcher implements ICharacterPairMatcher {
-
-	private int fAnchor = ICharacterPairMatcher.LEFT;
-
-	/**
-	 * @param validContexts
-	 * @param nextMatcher
-	 */
-	public CSSDocumentRegionEdgeMatcher() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#clear()
-	 */
-	public void clear() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#getAnchor()
-	 */
-	public int getAnchor() {
-		return fAnchor;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.ui.text.DocumentRegionEdgeMatcher#match(org.eclipse.jface.text.IDocument,
-	 *      int)
-	 */
-
-
-	public IRegion match(IDocument document, int offset) {
-		if (document instanceof IStructuredDocument) {
-			IStructuredDocumentRegion r = ((IStructuredDocument) document).getRegionAtCharacterOffset(offset);
-			if (r != null) {
-				if (r.getPrevious() != null && r.getStartOffset() == offset && r.getPrevious().getType().equals(CSSRegionContexts.CSS_RBRACE)) {
-					r = r.getPrevious();
-				}
-				if (r.getType().equals(CSSRegionContexts.CSS_RBRACE)) {
-					while (r != null && !r.getType().equals(CSSRegionContexts.CSS_LBRACE)) {
-						r = r.getPrevious();
-					}
-					if (r != null) {
-						return new Region(r.getStartOffset(), 1);
-					}
-				} else if (r.getType().equals(CSSRegionContexts.CSS_LBRACE)) {
-					while (r != null && !r.getType().equals(CSSRegionContexts.CSS_RBRACE)) {
-						r = r.getNext();
-					}
-					if (r != null) {
-						return new Region(r.getEndOffset() - 1, 1);
-					}
-				}
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/CSSContentOutlineConfiguration.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/CSSContentOutlineConfiguration.java
deleted file mode 100644
index a984706..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/CSSContentOutlineConfiguration.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.views.contentoutline;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSValue;
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.sse.ui.views.contentoutline.PropertyChangeUpdateActionContributionItem;
-import org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration;
-
-public class CSSContentOutlineConfiguration extends StructuredContentOutlineConfiguration {
-	private final String OUTLINE_SORT_PREF = "outline-sort"; //$NON-NLS-1$
-
-	public CSSContentOutlineConfiguration() {
-		super();
-	}
-
-	public IContributionItem[] createToolbarContributions(TreeViewer viewer) {
-		IContributionItem[] items = super.createToolbarContributions(viewer);
-
-		SortAction sortAction = new SortAction(viewer, CSSUIPlugin.getDefault().getPreferenceStore(), OUTLINE_SORT_PREF);
-		IContributionItem sortItem = new PropertyChangeUpdateActionContributionItem(sortAction);
-
-		if (items == null) {
-			items = new IContributionItem[1];
-			items[0] = sortItem;
-		} else {
-			IContributionItem[] combinedItems = new IContributionItem[items.length + 1];
-			combinedItems[0] = sortItem;
-			System.arraycopy(items, 0, combinedItems, 1, items.length);
-			items = combinedItems;
-		}
-		return items;
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.views.contentoutline.ContentOutlineConfiguration#getContentProvider(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public IContentProvider getContentProvider(TreeViewer viewer) {
-		if (fContentProvider == null && getFactory() != null)
-			fContentProvider = new JFaceNodeContentProviderCSS((AdapterFactory) getFactory());
-		return fContentProvider;
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.views.contentoutline.ContentOutlineConfiguration#getLabelProvider(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public ILabelProvider getLabelProvider(TreeViewer viewer) {
-		if (fLabelProvider == null && getFactory() != null)
-			fLabelProvider = new JFaceNodeLabelProviderCSS((AdapterFactory) getFactory());
-		return fLabelProvider;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.views.contentoutline.ContentOutlineConfiguration#getNodes(java.util.List)
-	 */
-	public List getNodes(List nodes) {
-		List filteredNodes = new ArrayList(nodes);
-
-		List targetNodes = new ArrayList();
-		Iterator i = filteredNodes.iterator();
-		while (i.hasNext()) {
-			Object obj = i.next();
-			if (obj instanceof ICSSNode) {
-				ICSSNode node = (ICSSNode) obj;
-				short nodeType = node.getNodeType();
-				if (node instanceof ICSSValue) {
-					while (node != null && !(node instanceof ICSSStyleDeclItem)) {
-						node = node.getParentNode();
-					}
-				} else if (nodeType == ICSSNode.STYLEDECLARATION_NODE) {
-					node = node.getParentNode();
-				} else if (nodeType == ICSSNode.MEDIALIST_NODE) {
-					node = node.getParentNode();
-				}
-				if (node != null) {
-					obj = node;
-				}
-			}
-			targetNodes.add(obj);
-		}
-
-		return targetNodes;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.views.contentoutline.ContentOutlineConfiguration#getSelectedNodes(com.ibm.sse.editor.view.events.NodeSelectionChangedEvent)
-	 */
-	public List getSelectedNodes(NodeSelectionChangedEvent event) {
-		return getNodes(event.getSelectedNodes());
-	}
-
-	/**
-	 * @deprecated use key directly (no need for generator)
-	 */
-	public String getSortPreferenceKey() {
-//		return PreferenceKeyGenerator.generateKey(OUTLINE_SORT_PREF, getDeclaringID());
-		return OUTLINE_SORT_PREF;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration#getPreferenceStore()
-	 */
-	protected IPreferenceStore getPreferenceStore() {
-		return CSSUIPlugin.getDefault().getPreferenceStore();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/CSSNodeAdapter.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/CSSNodeAdapter.java
deleted file mode 100644
index d012df0..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/CSSNodeAdapter.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.views.contentoutline;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.document.ICSSStyleSheet;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapterFactory;
-
-/**
- * Adapts a DOM node to a JFace viewer.
- */
-//public class CSSNodeAdapter extends JFaceNodeAdapter {
-public class CSSNodeAdapter implements INodeAdapter, Runnable {
-	class NotifyContext {
-		NotifyContext(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-			this.notifier = notifier;
-			this.eventType = eventType;
-			this.changedFeature = changedFeature;
-			this.oldValue = oldValue;
-			this.newValue = newValue;
-			this.pos = pos;
-		}
-
-		void fire() {
-			internalNotifyChanged(notifier, eventType, changedFeature, oldValue, newValue, pos);
-		}
-
-		INodeNotifier notifier;
-		int eventType;
-		Object changedFeature;
-		Object oldValue;
-		Object newValue;
-		int pos;
-	}
-
-	class StyleViewUpdater implements Runnable {
-		public void run() {
-			if (lastUpdater == this) {
-				internalActionPerformed();
-				lastUpdater = null;
-			}
-		}
-	}
-
-	protected AdapterFactory adapterFactory;
-	private Vector notifyQueue;
-	StyleViewUpdater lastUpdater;
-	protected int delayMSecs = 500;
-	final static Class ADAPTER_KEY = IJFaceNodeAdapter.class;
-
-	public CSSNodeAdapter(AdapterFactory adapterFactory) {
-		super();
-		this.adapterFactory = adapterFactory;
-	}
-
-	/**
-	 * Insert the method's description here.
-	 */
-	protected void internalActionPerformed() {
-		if (notifyQueue == null) {
-			return;
-		}
-		boolean refresh_all = false;
-		boolean refresh_rule = false;
-		int pos_all = 0;
-		List targets = new ArrayList();
-		for (int i = 0; i < notifyQueue.size(); i++) {
-			NotifyContext context = (NotifyContext) notifyQueue.get(i);
-			if (context.notifier instanceof ICSSStyleSheet) {
-				refresh_all = true;
-				pos_all = i;
-			}
-			if (context.notifier instanceof ICSSStyleDeclaration) {
-				refresh_rule = true;
-				targets.add(context);
-				//			pos_rule = i;
-			}
-			//		((NotifyContext) notifyQueue.get(i)).fire();
-		}
-		if (refresh_all) {
-			((NotifyContext) notifyQueue.get(pos_all)).fire();
-		} else if (refresh_rule) {
-			Iterator i = targets.iterator();
-			while (i.hasNext()) {
-				((NotifyContext) i.next()).fire();
-			}
-			//	else if (refresh_rule) internalRefreshAll();
-		} else {
-			for (int i = 0; i < notifyQueue.size(); i++) {
-				((NotifyContext) notifyQueue.get(i)).fire();
-			}
-		}
-		notifyQueue.clear();
-	}
-
-	/**
-	 * Called by the object being adapter (the notifier) when something has
-	 * changed.
-	 */
-	public void internalNotifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		Iterator iterator = ((IJFaceNodeAdapterFactory) adapterFactory).getListeners().iterator();
-		while (iterator.hasNext()) {
-			Object listener = iterator.next();
-			if (listener instanceof StructuredViewer) {
-				notifyChangedForStructuredViewer((StructuredViewer) listener, notifier, eventType, changedFeature, oldValue, newValue, pos);
-			} else if (listener instanceof PropertySheetPage) {
-				notifyChangedForPropertySheetPage((PropertySheetPage) listener, notifier, eventType, changedFeature, oldValue, newValue, pos);
-			}
-		}
-	}
-
-	private void notifyChangedForPropertySheetPage(PropertySheetPage page, INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (page.getControl() == null || page.getControl().isDisposed()) {
-			return;
-		}
-		if (eventType == INodeNotifier.CHANGE || eventType == INodeNotifier.ADD || eventType == INodeNotifier.REMOVE) {
-			page.refresh();
-		}
-	}
-
-	private void notifyChangedForStructuredViewer(StructuredViewer viewer, INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (viewer.getControl() == null || viewer.getControl().isDisposed()) {
-			return;
-		}
-		if (eventType == INodeNotifier.CHANGE) {
-			if (notifier instanceof ICSSStyleSheet) {
-				ICSSNode temp = (changedFeature != null) ? (ICSSNode) changedFeature : (ICSSNode) newValue;
-				if (temp instanceof ICSSStyleRule) {
-					viewer.refresh();
-				} else {
-					for (;;) {
-						if (temp instanceof ICSSStyleRule) {
-							break;
-						}
-						temp = temp.getParentNode();
-						if (temp == null) {
-							break;
-						}
-					}
-					if (temp == null || temp instanceof ICSSStyleSheet) {
-						viewer.refresh();
-					} else {
-						viewer.refresh(temp);
-					}
-				}
-			} else {
-				ICSSNode temp = (ICSSNode) notifier;
-				if (temp != null) {
-					temp = temp.getParentNode();
-				}
-				if (temp == null || temp instanceof ICSSStyleSheet) {
-					viewer.refresh();
-				} else {
-					viewer.refresh(temp);
-				}
-			}
-		}
-		if (eventType == INodeNotifier.ADD) {
-			if (notifier instanceof ICSSStyleSheet) {
-				ICSSNode temp = (changedFeature != null) ? (ICSSNode) changedFeature : (ICSSNode) newValue;
-				if (temp instanceof ICSSStyleRule) {
-					viewer.refresh();
-				} else {
-					for (;;) {
-						if (temp instanceof ICSSStyleRule) {
-							break;
-						}
-						temp = temp.getParentNode();
-						if (temp == null) {
-							break;
-						}
-					}
-				}
-				if (temp == null || (temp instanceof ICSSStyleSheet)) {
-					viewer.refresh();
-				} else {
-					viewer.refresh(temp);
-				}
-			} else {
-				if (newValue != null && (newValue instanceof ICSSStyleDeclItem)) {
-					viewer.refresh(((ICSSNode) newValue).getParentNode());
-				} else {
-					ICSSNode temp = (ICSSNode) notifier;
-					if (temp != null) {
-						temp = temp.getParentNode();
-					}
-					if (temp == null || (temp instanceof ICSSStyleSheet)) {
-						viewer.refresh();
-					} else {
-						viewer.refresh(temp);
-					}
-				}
-			}
-		} else if (eventType == INodeNotifier.REMOVE) {
-			if (notifier instanceof ICSSStyleSheet) {
-				ICSSNode temp = (changedFeature != null) ? (ICSSNode) changedFeature : (ICSSNode) newValue;
-				if (temp instanceof ICSSStyleRule) {
-					viewer.refresh();
-				} else {
-					for (;;) {
-						if (temp instanceof ICSSStyleRule) {
-							break;
-						}
-						temp = temp.getParentNode();
-						if (temp == null) {
-							break;
-						}
-					}
-					if (temp == null || (temp instanceof ICSSStyleSheet)) {
-						viewer.refresh();
-					} else {
-						viewer.refresh(temp);
-					}
-				}
-			} else {
-				//							viewer.refresh(notifier);
-				ICSSNode temp = (ICSSNode) notifier;
-				if (temp != null) {
-					temp = temp.getParentNode();
-				}
-				if (temp == null || (temp instanceof ICSSStyleSheet)) {
-					viewer.refresh();
-				} else {
-					viewer.refresh(temp);
-				}
-			}
-		}
-		//				}
-	}
-
-	/**
-	 *  
-	 */
-	public void internalRefreshAll() {
-		Collection listeners = ((JFaceNodeAdapterFactoryCSS) adapterFactory).getListeners();
-		Iterator iterator = listeners.iterator();
-		while (iterator.hasNext()) {
-			Object listener = iterator.next();
-			if (listener instanceof StructuredViewer) {
-				StructuredViewer viewer = (StructuredViewer) listener;
-				if (viewer.getControl() != null && !viewer.getControl().isDisposed()) {
-					viewer.refresh();
-				}
-			} else if (listener instanceof PropertySheetPage) {
-				PropertySheetPage page = (PropertySheetPage) listener;
-				if (page.getControl() != null && !page.getControl().isDisposed()) {
-					page.refresh();
-				}
-			}
-		}
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return type.equals(ADAPTER_KEY);
-	}
-
-	/**
-	 * Called by the object being adapter (the notifier) when something has
-	 * changed.
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (notifyQueue == null)
-			notifyQueue = new Vector();
-		notifyQueue.add(new NotifyContext(notifier, eventType, changedFeature, oldValue, newValue, pos));
-		// TODO-future: there's probably a better way than relying on async
-		// exec
-		if (Thread.currentThread() == getDisplay().getThread())
-			getDisplay().timerExec(delayMSecs, this);
-		else
-			getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					if (getDisplay() != null) {
-						getDisplay().timerExec(delayMSecs, this);
-					}
-				}
-			});
-	}
-
-	Display getDisplay() {
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	/**
-	 * this method is intended only for timerExec()
-	 */
-	public void run() {
-		lastUpdater = new StyleViewUpdater();
-		getDisplay().asyncExec(lastUpdater);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/JFaceNodeAdapterFactoryCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/JFaceNodeAdapterFactoryCSS.java
deleted file mode 100644
index df96b82..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/JFaceNodeAdapterFactoryCSS.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.views.contentoutline;
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.xml.ui.views.contentoutline.JFaceNodeAdapterFactory;
-
-public class JFaceNodeAdapterFactoryCSS extends JFaceNodeAdapterFactory {
-	public JFaceNodeAdapterFactoryCSS() {
-		this(IJFaceNodeAdapter.class, true);
-	}
-
-	public JFaceNodeAdapterFactoryCSS(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-
-	protected void initAdapter(INodeAdapter adapter, INodeNotifier node) {
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier node) {
-		if (singletonAdapter == null) {
-			// create the JFaceNodeAdapter
-			singletonAdapter = new CSSNodeAdapter(this);
-			initAdapter(singletonAdapter, node);
-		}
-		return singletonAdapter;
-	}
-
-	public void release() {
-	}
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/JFaceNodeContentProviderCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/JFaceNodeContentProviderCSS.java
deleted file mode 100644
index 3235b9c..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/JFaceNodeContentProviderCSS.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.views.contentoutline;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.css.core.document.ICSSDocument;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.ui.views.contentoutline.JFaceNodeContentProvider;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.stylesheets.MediaList;
-
-
-/**
- * A Content provider for a JFace viewer used to display DOM nodes. This
- * content provider takes an adapter factory to create JFace adapters for the
- * nodes in the tree.
- */
-public class JFaceNodeContentProviderCSS extends JFaceNodeContentProvider {
-	protected AdapterFactory adapterFactory;
-
-	//protected DomainNotifier domainNotifier;
-	/**
-	 */
-	public JFaceNodeContentProviderCSS(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-		this.adapterFactory = adapterFactory;
-	}
-
-	/**
-	 */
-	protected void adaptElements(Object element) {
-
-		ICSSNode node;
-
-		if (element instanceof ICSSModel) {
-			ICSSDocument doc = ((ICSSModel) element).getDocument();
-			adapterFactory.adapt((INodeNotifier) doc);
-			node = doc.getFirstChild();
-		} else if (element instanceof ICSSNode) {
-			node = ((ICSSNode) element).getFirstChild();
-		} else {
-			return;
-		}
-
-		while (node != null) {
-			//		if (node instanceof CSSRule) {
-			adapterFactory.adapt((INodeNotifier) node);
-			adaptElements(node);
-			//		}
-			//		else{
-			//			adapterFactory.adapt((INodeNotifier) node);
-			//		}
-
-			node = node.getNextSibling();
-		}
-	}
-
-	/**
-	 */
-	protected void addElements(Object element, ArrayList v) {
-
-		ICSSNode node;
-
-		if (element instanceof ICSSModel) {
-			ICSSModel model = (ICSSModel) element;
-			ICSSDocument doc = model.getDocument();
-			//      addAdapter((INodeNotifier) doc);
-			adapterFactory.adapt((INodeNotifier) doc);
-			node = doc.getFirstChild();
-		} else if (element instanceof ICSSNode) {
-			node = ((ICSSNode) element).getFirstChild();
-		} else
-			return;
-
-		while (node != null) {
-			if (node instanceof CSSRule) {
-				v.add(node);
-			}
-
-			node = node.getNextSibling();
-		}
-
-	}
-
-	/**
-	 * The visual part that is using this content provider is about to be
-	 * disposed. Deallocate all allocated SWT resources.
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * Returns an enumeration containing all child nodes of the given element,
-	 * which represents a node in a tree. The difference to
-	 * <code>IStructuredContentProvider.getElements(Object)</code> is as
-	 * follows: <code>getElements</code> is called to obtain the tree
-	 * viewer's root elements. Method <code>getChildren</code> is used to
-	 * obtain the children of a given node in the tree, which can can be a
-	 * root node, too.
-	 */
-	public Object[] getChildren(Object object) {
-		if (object instanceof ICSSNode) {
-			ICSSNode node = (ICSSNode) object;
-			short nodeType = node.getNodeType();
-			if (nodeType == ICSSNode.STYLERULE_NODE || nodeType == ICSSNode.PAGERULE_NODE || nodeType == ICSSNode.FONTFACERULE_NODE) {
-				for (node = node.getFirstChild(); node != null && !(node instanceof ICSSStyleDeclaration); node.getNextSibling()) {
-					// nop
-				}
-			}
-			List children = new ArrayList();
-			ICSSNode child = (node != null) ? node.getFirstChild() : null;
-			while (child != null) {
-				if (!(child instanceof ICSSPrimitiveValue) && !(child instanceof MediaList)) {
-					children.add(child);
-				}
-				child = child.getNextSibling();
-			}
-			return children.toArray();
-		}
-		return new Object[0];
-	}
-
-	/**
-	 * Returns an enumeration with the elements belonging to the passed
-	 * element. These elements can be presented as rows in a table, items in a
-	 * list etc.
-	 */
-	public Object[] getElements(Object object) {
-		// The root is usually an instance of an XMLStructuredModel in
-		// which case we want to extract the document.
-
-		if (object instanceof ICSSModel) {
-			ArrayList v = new ArrayList();
-			//		internalGetElements(object, v);
-			addElements(object, v);
-			adaptElements(object);
-			return v.toArray();
-		}
-		return new Object[0];
-
-	}
-
-	/**
-	 * Returns the parent for the given element. This method can return
-	 * <code>null</code> indicating that the parent can't be computed. In
-	 * this case the tree viewer can't expand a given node correctly if
-	 * requested.
-	 */
-	public Object getParent(Object object) {
-		//  IJFaceNodeAdapter adapter = getAdapter(object);
-		/*
-		 * ICSSNodeAdapter adapter = (ICSSNodeAdapter)getAdapter(object); if
-		 * (adapter != null) return adapter.getParent((ICSSNode) object); else
-		 * return null;
-		 */
-		if (object instanceof ICSSNode) {
-			ICSSNode node = ((ICSSNode) object).getParentNode();
-			if (node != null && node.getNodeType() == ICSSNode.STYLEDECLARATION_NODE) {
-				node = node.getParentNode();
-			}
-			return node;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns <code>true</code> if the given element has children.
-	 * Otherwise <code>false</code> is returned.
-	 */
-	public boolean hasChildren(Object object) {
-		//  return getAdapter(object).hasChildren((ICSSNode) object);
-		if (object instanceof ICSSNode) {
-			if (object instanceof ICSSStyleDeclItem)
-				return false;
-			else
-				return ((ICSSNode) object).hasChildNodes();
-		}
-		return false;
-	}
-
-	/**
-	 * Called when the viewer's input is changing from <code>oldInput</code>
-	 * to <code>newInput</code>. Both <code>newInput</code> and
-	 * <code>oldInput</code> can be <code>null</code>. If
-	 * <code>oldInput</code> is <code>null</code> it is the viewer's first
-	 * connection to the content provider. If <code>newInput</code> is
-	 * <code>null</code> the visual part is disconnected from any input. A
-	 * typical implementation of this methods registers the content provider
-	 * as a listener to changes on the new input, and deregisters the viewer
-	 * from the old input. The content provider then updates the viewer in
-	 * response to change notifications from the input.
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		//// If there was no old input, then we must be providing content for
-		// this part for the first time...
-		//if (oldInput == null) {
-		//// If the part is an IDomainListener then make the part start
-		// listening to us.
-		//if (viewer instanceof IDomainListener)
-		//domainNotifier.addDomainListener((IDomainListener) viewer);
-		//}
-		//// If there is no new input, we must clean ourselves up as if we'd
-		// never seen the viewer.
-		//else
-		//if (newInput == null) {
-		//// If the part is an IDomainListener, then we make it stop
-		// listening to us.
-		//if (viewer instanceof IDomainListener)
-		//domainNotifier.removeDomainListener((IDomainListener) viewer);
-
-		//}
-	}
-
-	/**
-	 */
-	/*
-	 * protected void internalGetElements(Object element, ArrayList v) {
-	 * 
-	 * ICSSNode node;
-	 * 
-	 * if (element instanceof ICSSModel) { ICSSModel model =
-	 * (ICSSModel)element; ICSSDocument doc = model.getDocument();
-	 * adapterFactory.adapt((INodeNotifier)doc); node = doc.getFirstChild(); }
-	 * else if (element instanceof ICSSNode) { node =
-	 * ((ICSSNode)element).getFirstChild(); } else { return; }
-	 * 
-	 * while (node != null) { switch (node.getNodeType()) { case
-	 * ICSSNode.STYLEDECLARATION_NODE: adapterFactory.adapt((INodeNotifier)
-	 * node); break; case ICSSNode.STYLERULE_NODE: case
-	 * ICSSNode.FONTFACERULE_NODE: case ICSSNode.PAGERULE_NODE: case
-	 * ICSSNode.IMPORTRULE_NODE: case ICSSNode.MEDIARULE_NODE: v.add(node);
-	 * adapterFactory.adapt((INodeNotifier) node); break; default:
-	 * adapterFactory.adapt((INodeNotifier) node); break; }
-	 * 
-	 * node = node.getNextSibling(); }
-	 *  }
-	 */
-	/**
-	 * Checks whether the given element is deleted or not.
-	 */
-	public boolean isDeleted(Object element) {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/JFaceNodeLabelProviderCSS.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/JFaceNodeLabelProviderCSS.java
deleted file mode 100644
index 5df2644..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/JFaceNodeLabelProviderCSS.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.views.contentoutline;
-
-
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.document.ICSSMediaRule;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSPageRule;
-import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.ui.image.CSSImageHelper;
-import org.eclipse.wst.css.ui.image.CSSImageType;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.w3c.dom.css.CSSImportRule;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.stylesheets.MediaList;
-
-
-/**
- * A class that uses a JFaceNodeAdapterFactory to provide adapters to provide
- * the labels and images for DOM nodes.
- */
-public class JFaceNodeLabelProviderCSS implements ILabelProvider {
-	protected AdapterFactory fAdapterFactory;
-
-	/**
-	 * JFaceNodeLabelProvider constructor comment.
-	 */
-	public JFaceNodeLabelProviderCSS(AdapterFactory adapterFactory) {
-		super();
-		this.fAdapterFactory = adapterFactory;
-	}
-
-	/**
-	 * Adds a listener to the label provider. A label provider should inform
-	 * its listener about state changes that enforces rendering of the visual
-	 * part that uses this label provider.
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// The label provider state never changes so we do not have
-		// to implement this method.
-	}
-
-	/**
-	 * The visual part that is using this label provider is about to be
-	 * disposed. Deallocate all allocated SWT resources.
-	 */
-	public void dispose() {
-		// Nothing to dispose
-	}
-
-	/**
-	 * Returns the JFace adapter for the specified object.
-	 * 
-	 * @return com.ibm.sed.view.tree.DOMJFaceAdapter The JFace adapter
-	 * @param adaptable
-	 *            java.lang.Object The object to get the adapter for
-	 */
-	//protected IJFaceNodeAdapter getAdapter(Object adaptable) {
-	//  return (IJFaceNodeAdapter) adapterFactory.adapt((INodeNotifier)
-	// adaptable);
-	protected IJFaceNodeAdapter getAdapter(Object adaptable) {
-		return (IJFaceNodeAdapter) fAdapterFactory.adapt((INodeNotifier) adaptable);
-	}
-
-	/**
-	 * Returns the image for the label of the given element, for use in the
-	 * given viewer.
-	 * 
-	 * @param viewer
-	 *            The viewer that displays the element.
-	 * @param element
-	 *            The element for which to provide the label image. Element
-	 *            can be <code>null</code> indicating no input object is set
-	 *            to the viewer.
-	 */
-	public Image getImage(Object element) {
-		//  return getAdapter(element).getLabelImage((Node) element);
-
-
-		if (element instanceof ICSSNode) {
-			CSSImageHelper helper = CSSImageHelper.getInstance();
-			return helper.getImage(CSSImageType.getImageType((ICSSNode) element));
-			//		Image image = getCSSNodeImage(element);
-			//		return image;
-			//      return getAdapter(element).getLabelImage((ICSSNode) element);
-		}
-		return null;
-	}
-
-	/**
-	 * Insert the method's description here.
-	 */
-	public String getLabelText(Viewer viewer, Object element) {
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the text for the label of the given element, for use in the
-	 * given viewer.
-	 * 
-	 * @param viewer
-	 *            The viewer that displays the element.
-	 * @param element
-	 *            The element for which to provide the label text. Element can
-	 *            be <code>null</code> indicating no input object is set to
-	 *            the viewer.
-	 */
-	public String getText(Object element) {
-		// This was returning null, on occasion ... probably should not be,
-		// but
-		// took the quick and easy way out for now. (dmw 3/8/01)
-
-		String result = "";//$NON-NLS-1$
-		String mediaText;
-		if (element instanceof ICSSNode) {
-			switch (((ICSSNode) element).getNodeType()) {
-				case ICSSNode.STYLERULE_NODE :
-					result = ((ICSSStyleRule) element).getSelectors().getString();
-					break;
-				case ICSSNode.FONTFACERULE_NODE :
-					result = "@font-face";//$NON-NLS-1$
-					break;
-				case ICSSNode.IMPORTRULE_NODE :
-					result = ((CSSImportRule) element).getHref();
-					mediaText = getMediaText((CSSImportRule) element);
-					if (mediaText != null && 0 < mediaText.length()) {
-						result += " (" + mediaText + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					break;
-				case ICSSNode.PAGERULE_NODE :
-					result = ((ICSSPageRule) element).getSelectors().getString();
-					break;
-				case ICSSNode.STYLEDECLARATION_NODE :
-					result = "properties";//$NON-NLS-1$
-					break;
-				case ICSSNode.STYLEDECLITEM_NODE :
-					result = ((ICSSStyleDeclItem) element).getPropertyName();
-					break;
-				case ICSSNode.PRIMITIVEVALUE_NODE :
-					result = ((ICSSPrimitiveValue) element).getStringValue();
-					break;
-				case ICSSNode.MEDIARULE_NODE :
-					result = "@media";//$NON-NLS-1$
-					mediaText = getMediaText((ICSSMediaRule) element);
-					if (mediaText != null && 0 < mediaText.length()) {
-						result += " (" + mediaText + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					break;
-				case ICSSNode.CHARSETRULE_NODE :
-					result = "@charset";//$NON-NLS-1$
-					break;
-				case ICSSNode.MEDIALIST_NODE :
-					result = ((MediaList) element).getMediaText();
-					break;
-				default :
-					break;
-			}
-		}
-
-		//  if (element instanceof ICSSNode) {
-		//      ICSSNode node = ((ICSSNode)element);
-		//      result = getAdapter(element).getLabelText((ICSSNode) element);
-		//  }
-		return result;
-	}
-
-	private String getMediaText(CSSRule rule) {
-		String result = ""; //$NON-NLS-1$
-		ICSSNode child = (rule != null) ? ((ICSSNode) rule).getFirstChild() : null;
-		while (child != null) {
-			if (child.getNodeType() == ICSSNode.MEDIALIST_NODE) {
-				result = ((MediaList) child).getMediaText();
-				break;
-			}
-			child = child.getNextSibling();
-		}
-		return result;
-	}
-
-	/**
-	 * Checks whether this label provider is affected by the given domain
-	 * event.
-	 */
-	public boolean isAffected(Object dummy) {//DomainEvent event) {
-		//return event.isModifier(DomainEvent.NON_STRUCTURE_CHANGE);
-		return true;
-
-	}
-
-	/**
-	 * Returns whether the label would be affected by a change to the given
-	 * property of the given element. This can be used to optimize a
-	 * non-structural viewer update. If the property mentioned in the update
-	 * does not affect the label, then the viewer need not update the label.
-	 * 
-	 * @param element
-	 *            the element
-	 * @param property
-	 *            the property
-	 * @return <code>true</code> if the label would be affected, and
-	 *         <code>false</code> if it would be unaffected
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * Removes a listener from the label provider.
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// The label provider state never changes so we do not have
-		// to implement this method.
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/SortAction.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/SortAction.java
deleted file mode 100644
index ea59ec4..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/contentoutline/SortAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Jan 22, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.css.ui.views.contentoutline;
-
-import java.text.Collator;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-import org.eclipse.wst.css.ui.internal.editor.CSSEditorPluginImages;
-import org.eclipse.wst.sse.ui.views.contentoutline.PropertyChangeUpdateAction;
-
-/**
- * Based on com.ibm.etools.dtd.editor.DTDContentOutlinePage#SortAction
- */
-class SortAction extends PropertyChangeUpdateAction {
-	private TreeViewer treeViewer;
-
-	public SortAction(TreeViewer viewer, IPreferenceStore store, String preferenceKey) {
-		super(CSSUIPlugin.getResourceString("%SortAction.0"), store, preferenceKey, false); //$NON-NLS-1$
-		ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin(CSSUIPlugin.ID, CSSEditorPluginImages.IMG_OBJ_SORT);
-		setImageDescriptor(desc);
-		setToolTipText(getText());
-		treeViewer = viewer;
-		if (isChecked()) {
-			treeViewer.setSorter(new ViewerSorter(Collator.getInstance()));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		super.update();
-		treeViewer.getControl().setVisible(false);
-		Object[] expandedElements = treeViewer.getExpandedElements();
-		if (isChecked()) {
-			treeViewer.setSorter(new ViewerSorter(Collator.getInstance()));
-		} else {
-			treeViewer.setSorter(null);
-		}
-		treeViewer.setInput(treeViewer.getInput());
-		treeViewer.setExpandedElements(expandedElements);
-		treeViewer.getControl().setVisible(true);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSPropertySheetConfiguration.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSPropertySheetConfiguration.java
deleted file mode 100644
index 5972406..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSPropertySheetConfiguration.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*****************************************************************************
- * 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
- ****************************************************************************/
-/*
- * Created on Jan 23, 2004
- * 
- * To change the template for this generated file go to Window - Preferences -
- * Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.css.ui.views.properties;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.sse.ui.views.properties.StructuredPropertySheetConfiguration;
-
-public class CSSPropertySheetConfiguration extends StructuredPropertySheetConfiguration {
-	public CSSPropertySheetConfiguration() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.views.properties.StructuredPropertySheetConfiguration#getSelection(org.eclipse.jface.viewers.ISelection,
-	 *      org.eclipse.ui.IWorkbenchPart)
-	 */
-	public ISelection getSelection(IWorkbenchPart selectingPart, ISelection selection) {
-		ISelection preferredSelection = super.getSelection(selectingPart, selection);
-		if (preferredSelection instanceof IStructuredSelection) {
-			Object[] objects = ((IStructuredSelection) preferredSelection).toArray();
-			for (int i = 0; i < objects.length; i++) {
-				if (objects[i] instanceof ICSSNode) {
-					ICSSNode node = (ICSSNode) objects[i];
-					while (node.getNodeType() == ICSSNode.PRIMITIVEVALUE_NODE || node.getNodeType() == ICSSNode.STYLEDECLITEM_NODE) {
-						node = node.getParentNode();
-						objects[i] = node;
-
-					}
-				}
-			}
-			preferredSelection = new StructuredSelection(objects);
-		}
-		return preferredSelection;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSPropertySource.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSPropertySource.java
deleted file mode 100644
index 2249ea5..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSPropertySource.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.views.properties;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSNodeList;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.metamodel.CSSMMCategory;
-import org.eclipse.wst.css.core.metamodel.CSSMMNode;
-import org.eclipse.wst.css.core.metamodel.CSSMetaModel;
-import org.eclipse.wst.css.core.metamodel.util.CSSMetaModelFinder;
-import org.eclipse.wst.css.core.metamodel.util.CSSMetaModelUtil;
-import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.w3c.dom.css.CSSStyleDeclaration;
-
-/**
- * A IPropertySource implementation for a JFace viewer used to display
- * propreties of DOM nodes. This takes an adapter factory to create JFace
- * adapters for the nodes in the tree.
- */
-public class CSSPropertySource implements INodeAdapter, IPropertySource {
-	protected ICSSNode fNode = null;
-	// for performance...
-	final static Class ADAPTER_KEY = IPropertySource.class;
-
-	/**
-	 * DOMPropertySource constructor comment.
-	 */
-	public CSSPropertySource(INodeNotifier target) {
-		super();
-		fNode = (ICSSNode) target;
-	}
-
-	protected IPropertyDescriptor createDefaultPropertyDescriptor(String attributeName) {
-		// the displayName MUST be set
-		IPropertyDescriptor descriptor = new CSSTextPropertyDescriptor(attributeName, attributeName, fNode);
-		//	IPropertyDescriptor descriptor = new
-		// TextPropertyDescriptor(attributeName, attributeName);
-		return descriptor;
-	}
-
-	protected IPropertyDescriptor createPropertyDescriptor(CSSMMNode node, String category) {
-		return createPropertyDescriptor(node.getName(), category);
-	}
-
-	protected IPropertyDescriptor createPropertyDescriptor(String name, String category) {
-		IPropertyDescriptor descriptor = null;
-		if (name != null && 0 < name.length()) {
-			name = name.toLowerCase();
-			if (category == null) {
-				category = CSSUIPlugin.getResourceString("%INFO_Not_Categorized_1"); //$NON-NLS-1$
-			}
-			descriptor = new CSSTextPropertyDescriptor(name, name, fNode, category);
-			//			if (category == null) {
-			//				descriptor = new CSSTextPropertyDescriptor(name, name, fNode);
-			//			} else {
-			//				descriptor = new CSSTextPropertyDescriptor(name, name, fNode,
-			// category);
-			//			}
-		}
-		return descriptor;
-	}
-
-	/**
-	 * Returns a value for this object that can be editted in a property
-	 * sheet.
-	 * 
-	 * @return a value that can be editted
-	 */
-	public Object getEditableValue() {
-		return null;
-	}
-
-	/**
-	 * Returns the current collection of property descriptors.
-	 * 
-	 * @return a vector containing all descriptors.
-	 */
-	public IPropertyDescriptor[] getPropertyDescriptors() {
-		CSSMetaModel metamodel = CSSMetaModelFinder.getInstance().findMetaModelFor(fNode);
-		Iterator iProperties = Collections.EMPTY_LIST.iterator();
-		switch (fNode.getNodeType()) {
-			case ICSSNode.STYLERULE_NODE :
-			case ICSSNode.FONTFACERULE_NODE :
-			case ICSSNode.PAGERULE_NODE :
-			case ICSSNode.STYLEDECLARATION_NODE :
-				CSSMMNode mmParent = new CSSMetaModelUtil(metamodel).getMetaModelNodeFor(fNode);
-				if (mmParent != null) {
-					iProperties = mmParent.getChildNodes();
-				}
-				break;
-			case ICSSNode.STYLEDECLITEM_NODE :
-				CSSMMNode mmNode = new CSSMetaModelUtil(metamodel).getMetaModelNodeFor(fNode);
-				if (mmNode != null) {
-					iProperties = Collections.singletonList(mmNode).iterator();
-				}
-				break;
-			default :
-				break;
-		}
-
-		// setup categories
-		Map categories = new HashMap();
-		Iterator iCategories = metamodel.getCategories();
-		while (iCategories.hasNext()) {
-			CSSMMCategory category = (CSSMMCategory) iCategories.next();
-			categories.put(category.getName(), category.getCaption());
-		}
-
-		// collect property names
-		Set declaredProperties = new HashSet();
-		if (iProperties.hasNext()) {
-			CSSStyleDeclaration declaration = getDeclarationNode();
-			if (declaration != null) {
-				ICSSNodeList nodeList = ((ICSSNode) declaration).getChildNodes();
-				int nProps = (nodeList != null) ? nodeList.getLength() : 0;
-				for (int i = 0; i < nProps; i++) {
-					ICSSNode node = nodeList.item(i);
-					if (node instanceof ICSSStyleDeclItem) {
-						String name = ((ICSSStyleDeclItem) node).getPropertyName();
-						if (name != null && 0 < name.length()) {
-							declaredProperties.add(name.toLowerCase());
-						}
-					}
-				}
-			}
-		}
-
-		List descriptors = new ArrayList();
-
-		// first: properties from content model
-		while (iProperties.hasNext()) {
-			CSSMMNode node = (CSSMMNode) iProperties.next();
-			if (node.getType() == CSSMMNode.TYPE_PROPERTY || node.getType() == CSSMMNode.TYPE_DESCRIPTOR) {
-				String category = (String) categories.get(node.getAttribute("category")); //$NON-NLS-1$
-				String name = node.getName().toLowerCase();
-				if (declaredProperties.contains(name)) {
-					declaredProperties.remove(name);
-				}
-				IPropertyDescriptor descriptor = createPropertyDescriptor(name, category);
-				if (descriptor != null) {
-					descriptors.add(descriptor);
-				}
-			}
-		}
-
-		// second: existing properties but not in content model
-		Iterator iRemains = declaredProperties.iterator();
-		while (iRemains.hasNext()) {
-			IPropertyDescriptor descriptor = createPropertyDescriptor((String) iRemains.next(), null);
-			if (descriptor != null) {
-				descriptors.add(descriptor);
-			}
-		}
-
-		IPropertyDescriptor[] resultArray = new IPropertyDescriptor[descriptors.size()];
-		return (IPropertyDescriptor[]) descriptors.toArray(resultArray);
-	}
-
-	/**
-	 * Returns the current value for the named property.
-	 * 
-	 * @param name
-	 *            the name of the property as named by its property descriptor
-	 * @return the current value of the property
-	 */
-	public Object getPropertyValue(Object name) {
-		if (name == null) {
-			return ""; //$NON-NLS-1$
-		}
-
-		String valueString = null;
-		String nameString = name.toString();
-
-		CSSStyleDeclaration declaration = null;
-
-		switch (fNode.getNodeType()) {
-			case ICSSNode.STYLEDECLITEM_NODE :
-				valueString = ((ICSSStyleDeclItem) fNode).getCSSValueText();
-				break;
-			case ICSSNode.STYLERULE_NODE :
-			case ICSSNode.FONTFACERULE_NODE :
-			case ICSSNode.PAGERULE_NODE :
-				declaration = (CSSStyleDeclaration) fNode.getFirstChild();
-				if (declaration != null) {
-					valueString = declaration.getPropertyValue(nameString);
-				}
-				break;
-			case ICSSNode.STYLEDECLARATION_NODE :
-				valueString = ((CSSStyleDeclaration) fNode).getPropertyValue(nameString);
-				break;
-			case ICSSNode.PRIMITIVEVALUE_NODE :
-				ICSSNode parent = fNode;
-				while (parent != null && !(parent instanceof ICSSStyleDeclItem)) {
-					parent = parent.getParentNode();
-				}
-				if (parent != null) {
-					valueString = ((ICSSStyleDeclItem) parent).getCSSValueText();
-				}
-				break;
-			default :
-				break;
-		}
-
-		if (valueString == null) {
-			valueString = ""; //$NON-NLS-1$
-		}
-
-		return valueString;
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(java.lang.Object type) {
-		return type.equals(ADAPTER_KEY);
-	}
-
-	/**
-	 * Returns whether the property value has changed from the default.
-	 * 
-	 * @return <code>true</code> if the value of the specified property has
-	 *         changed from its original default value; <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isPropertySet(Object property) {
-		if (property == null) {
-			return false;
-		}
-		CSSStyleDeclaration declaration = getDeclarationNode();
-		if (declaration != null) {
-			String value = declaration.getPropertyValue(property.toString());
-			if (value != null && 0 < value.length()) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, java.lang.Object changedFeature, java.lang.Object oldValue, java.lang.Object newValue, int pos) {
-	}
-
-	/**
-	 * Resets the specified property's value to its default value.
-	 * 
-	 * @param property
-	 *            the property to reset
-	 */
-	public void resetPropertyValue(Object str) {
-		if (str == null) {
-			return;
-		}
-		CSSStyleDeclaration declaration = getDeclarationNode();
-		if (declaration != null) {
-			declaration.removeProperty(str.toString());
-		}
-	}
-
-	/**
-	 * Sets the named property to the given value.
-	 * 
-	 * @param name
-	 *            the name of the property being set
-	 * @param value
-	 *            the new value for the property
-	 */
-	public void setPropertyValue(Object name, Object value) {
-		if (name == null) {
-			return;
-		}
-		String valueString = (value != null) ? value.toString() : null;
-		String nameString = name.toString();
-		CSSStyleDeclaration declaration = getDeclarationNode();
-		if (declaration != null) {
-			try {
-				if (valueString == null || valueString.length() <= 0) {
-					declaration.removeProperty(nameString);
-				} else {
-					declaration.setProperty(nameString, valueString, ""); //$NON-NLS-1$
-				}
-			} catch (Exception e) {
-				IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-				String title = CSSUIPlugin.getResourceString("%Title.InvalidValue"); //$NON-NLS-1$
-				String message = CSSUIPlugin.getResourceString("%Message.InvalidValue"); //$NON-NLS-1$
-				MessageDialog.openWarning(window.getShell(), title, message);
-			}
-		}
-	}
-
-	private CSSStyleDeclaration getDeclarationNode() {
-		CSSStyleDeclaration declaration = null;
-
-		switch (fNode.getNodeType()) {
-			case ICSSNode.STYLEDECLITEM_NODE :
-				declaration = (CSSStyleDeclaration) fNode.getParentNode();
-				break;
-			case ICSSNode.STYLERULE_NODE :
-			case ICSSNode.FONTFACERULE_NODE :
-			case ICSSNode.PAGERULE_NODE :
-				declaration = (CSSStyleDeclaration) fNode.getFirstChild();
-				break;
-			case ICSSNode.STYLEDECLARATION_NODE :
-				declaration = (CSSStyleDeclaration) fNode;
-				break;
-			case ICSSNode.PRIMITIVEVALUE_NODE :
-				ICSSNode parent = fNode;
-				while (parent != null && !(parent instanceof CSSStyleDeclaration)) {
-					parent = parent.getParentNode();
-				}
-				if (parent != null) {
-					declaration = (CSSStyleDeclaration) parent;
-				}
-				break;
-			default :
-				break;
-		}
-
-		return declaration;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSPropertySourceAdapterFactory.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSPropertySourceAdapterFactory.java
deleted file mode 100644
index feed515..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSPropertySourceAdapterFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*****************************************************************************
- * 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.wst.css.ui.views.properties;
-
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-
-
-
-//import com.ibm.sed.edit.xml.DOMPropertySource;
-public class CSSPropertySourceAdapterFactory extends AbstractAdapterFactory {
-	/**
-	 * PropertySourceAdapterFactory constructor comment.
-	 */
-	public CSSPropertySourceAdapterFactory() {
-		super();
-	}
-
-	/**
-	 * PropertySourceAdapterFactory constructor comment.
-	 * 
-	 * @param adapterKey
-	 *            java.lang.Object
-	 * @param registerAdapters
-	 *            boolean
-	 */
-	public CSSPropertySourceAdapterFactory(Object newAdapterKey, boolean newRegisterAdapters) {
-		super(newAdapterKey, newRegisterAdapters);
-	}
-
-	/**
-	 * createAdapter method comment.
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		// at the moment, only one implementation exists
-		return new CSSPropertySource(target);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSTextPropertyDescriptor.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSTextPropertyDescriptor.java
deleted file mode 100644
index 366a72e..0000000
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/views/properties/CSSTextPropertyDescriptor.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * 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.wst.css.ui.views.properties;
-
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.util.CSSPathService;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.XMLNode;
-
-/**
- */
-public class CSSTextPropertyDescriptor extends TextPropertyDescriptor {
-	private final ICSSNode fNode;
-
-	/**
-	 * CSSTextPropertyDescriptor constructor comment.
-	 * 
-	 * @param id
-	 *            java.lang.String
-	 * @param displayName
-	 *            java.lang.String
-	 */
-	public CSSTextPropertyDescriptor(String id, String displayName, ICSSNode node) {
-		super(id, displayName);
-		this.fNode = node;
-	}
-
-	public CSSTextPropertyDescriptor(String id, String displayName, ICSSNode node, String category) {
-		super(id, displayName);
-		this.fNode = node;
-		setCategory(category);
-	}
-
-	/**
-	 * @return org.eclipse.jface.viewers.CellEditor
-	 * @param parent
-	 *            org.eclipse.swt.widgets.Composite
-	 */
-	public CellEditor createPropertyEditor(Composite parent) {
-		ICSSModel model = fNode.getOwnerDocument().getModel();
-		if (model == null)
-			return null;
-		if (model.getStyleSheetType() == ICSSModel.EXTERNAL && findEditor(model) == null)
-			return null;
-		// check whether IFile is readonly to prohibit editing before
-		// validateEdit()
-		IStructuredModel structuredModel = model;
-		if (model.getStyleSheetType() != ICSSModel.EXTERNAL) {
-			structuredModel = ((XMLNode) model.getOwnerDOMNode()).getModel();
-			if (structuredModel == null)
-				return null;
-		}
-		IFile file = CSSPathService.location2File(structuredModel.getBaseLocation());
-		if (file == null || file.isReadOnly())
-			return null;
-
-		return super.createPropertyEditor(parent);
-	}
-
-	private static IEditorPart findEditor(ICSSModel model) {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			IWorkbenchPage[] pages = windows[i].getPages();
-			for (int j = 0; j < pages.length; j++) {
-				IEditorReference[] editors = pages[j].getEditorReferences();
-				for (int k = 0; k < editors.length; k++) {
-					IEditorPart editPart = editors[k].getEditor(false);
-					if (editPart != null) {
-						IEditorInput editorInput = editPart.getEditorInput();
-						if (editorInput instanceof IFileEditorInput) {
-							IFile file = ((IFileEditorInput) editorInput).getFile();
-							if (file != null) {
-								//TODO Urgent needs to be fixed
-								// I think we need 'equals' (or 'equivalent'
-								// on model) for cases like this
-								if (StructuredModelManager.getModelManager().calculateId(file).equals(model.getId())) {
-									return editPart;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.dtd.core/.classpath b/bundles/org.eclipse.wst.dtd.core/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.wst.dtd.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.dtd.core/.compatibility b/bundles/org.eclipse.wst.dtd.core/.compatibility
deleted file mode 100644
index d77886b..0000000
--- a/bundles/org.eclipse.wst.dtd.core/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=54098

diff --git a/bundles/org.eclipse.wst.dtd.core/.cvsignore b/bundles/org.eclipse.wst.dtd.core/.cvsignore
deleted file mode 100644
index db54fd1..0000000
--- a/bundles/org.eclipse.wst.dtd.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-dtdmodel.jar
-build.xml
-temp.folder
-org.eclipse.wst.dtd.core_1.0.0.jar
diff --git a/bundles/org.eclipse.wst.dtd.core/.project b/bundles/org.eclipse.wst.dtd.core/.project
deleted file mode 100644
index 76249e5..0000000
--- a/bundles/org.eclipse.wst.dtd.core/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.dtd.core</name>
-	<comment></comment>
-	<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/bundles/org.eclipse.wst.dtd.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.dtd.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7631d59..0000000
--- a/bundles/org.eclipse.wst.dtd.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jan 12 16:12:24 EST 2005

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=enabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/bundles/org.eclipse.wst.dtd.core/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.wst.dtd.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index fe8b7cb..0000000
--- a/bundles/org.eclipse.wst.dtd.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu Dec 16 07:40:58 EST 2004

-compilers.p.unused-element-or-attribute=0

-compilers.p.unresolved-ex-points=0

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=0

-compilers.p.unknown-class=0

-compilers.p.unknown-attribute=0

-compilers.p.no-required-att=0

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/bundles/org.eclipse.wst.dtd.core/README.txt b/bundles/org.eclipse.wst.dtd.core/README.txt
deleted file mode 100644
index 5b71e3e..0000000
--- a/bundles/org.eclipse.wst.dtd.core/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-This plugin extends the core model to implement a dtd specific model.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.dtd.core/build.properties b/bundles/org.eclipse.wst.dtd.core/build.properties
deleted file mode 100644
index 8267abc..0000000
--- a/bundles/org.eclipse.wst.dtd.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-bin.includes = plugin.xml,\
-               *.jar,\
-               dtd.jar,\
-               plugin.properties,\
-               icons/
-src.includes = plugin.xml,\
-               plugin.properties,\
-               build.xml,\
-               icons/
-source.dtdmodel.jar = src/
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/DTDFile.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/DTDFile.gif
deleted file mode 100644
index 64ee536..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/DTDFile.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/any.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/any.gif
deleted file mode 100644
index 7017d91..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/any.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/attribute.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/attribute.gif
deleted file mode 100644
index 00bb7b4..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/attribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/attribute_list.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/attribute_list.gif
deleted file mode 100644
index 795eb5e..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/attribute_list.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/comment.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/comment.gif
deleted file mode 100644
index 28c2ccb..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/comment.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/element.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/element.gif
deleted file mode 100644
index 01f4889..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/element.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/element_ref.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/element_ref.gif
deleted file mode 100644
index 749acfc..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/element_ref.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/emptycontent.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/emptycontent.gif
deleted file mode 100644
index bc8e66c..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/emptycontent.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/entity.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/entity.gif
deleted file mode 100644
index 6a91888..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/entity.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/entity_reference.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/entity_reference.gif
deleted file mode 100644
index d30b26b..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/entity_reference.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_el.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_el.gif
deleted file mode 100644
index 801c133..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_el.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_ent.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_ent.gif
deleted file mode 100644
index 2fb2ca7..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_ent.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_not.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_not.gif
deleted file mode 100644
index 5909668..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_not.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_unrec.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_unrec.gif
deleted file mode 100644
index 6fd82e6..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/fldr_unrec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/folder_attlist_obj.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/folder_attlist_obj.gif
deleted file mode 100644
index f849c75..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/folder_attlist_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/folder_comments_obj.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/folder_comments_obj.gif
deleted file mode 100644
index c9f0945..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/folder_comments_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/genhtmform_wiz.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/genhtmform_wiz.gif
deleted file mode 100644
index 5f54702..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/genhtmform_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/newdtd_wiz.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/newdtd_wiz.gif
deleted file mode 100644
index 2c115ff..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/newdtd_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/notation.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/notation.gif
deleted file mode 100644
index ce9df98..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/notation.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/one.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/one.gif
deleted file mode 100644
index 694c26f..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/one.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/onechoice.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/onechoice.gif
deleted file mode 100644
index d13ba2e..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/onechoice.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/oneormore.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/oneormore.gif
deleted file mode 100644
index 8b2b357..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/oneormore.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/oneormorechoice.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/oneormorechoice.gif
deleted file mode 100644
index 96398c0..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/oneormorechoice.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/oneormoresequence.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/oneormoresequence.gif
deleted file mode 100644
index 041db27..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/oneormoresequence.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/onesequence.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/onesequence.gif
deleted file mode 100644
index 5f9658e..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/onesequence.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/optional.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/optional.gif
deleted file mode 100644
index e7422d7..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/optional.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/optionalchoice.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/optionalchoice.gif
deleted file mode 100644
index fb4f9bd..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/optionalchoice.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/optionalsequence.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/optionalsequence.gif
deleted file mode 100644
index f8d5289..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/optionalsequence.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/txtext.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/txtext.gif
deleted file mode 100644
index efa7a38..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/txtext.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/unrecognized_content.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/unrecognized_content.gif
deleted file mode 100644
index 358997d..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/unrecognized_content.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/zeroormore.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/zeroormore.gif
deleted file mode 100644
index daf514d..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/zeroormore.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/zeroormorechoice.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/zeroormorechoice.gif
deleted file mode 100644
index a1ac131..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/zeroormorechoice.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/zeroormoresequence.gif b/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/zeroormoresequence.gif
deleted file mode 100644
index 8ed4cb7..0000000
--- a/bundles/org.eclipse.wst.dtd.core/icons/full/obj16/zeroormoresequence.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.core/plugin.properties b/bundles/org.eclipse.wst.dtd.core/plugin.properties
deleted file mode 100644
index f1fa737..0000000
--- a/bundles/org.eclipse.wst.dtd.core/plugin.properties
+++ /dev/null
@@ -1,127 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-! Properties file for component: XML tools SSE DTD Model
-! Packaged for translation in:  xml.zip
-
-!plugin.xml
-providerName=Eclipse.org
-pluginName=Structured Source DTD Model
-nlFeatureName=Structured Source DTD Model NL Support
-
-! Strings for DTDBasicTypeImpl type descriptions
-_UI_NONE_DESC=None
-
-!! NOTE TO TRANSLATOR: Do not translate following text in parentheses on following 10 lines i.e.(CDATA)
-_UI_CHARACTER_DATA_DESC=Character Data (CDATA)
-_UI_IDENTIFIER_DESC=Identifier (ID)
-_UI_ID_REFERENCE_DESC=ID Reference (IDREF)
-_UI_ID_REFERENCES_DESC=ID References (IDREFS)
-_UI_ENTITY_NAME_DESC=Entity Name (ENTITY)
-_UI_ENTITY_NAMES_DESC=Entity Names (ENTITIES)
-_UI_NAME_TOKEN_DESC=Name Token (NMTOKEN)
-_UI_NAME_TOKENS_DESC=Name Tokens (NMTOKENS)
-_UI_ENUM_NAME_TOKENS_DESC=Enumerated Name Tokens
-_UI_ENUM_NOTATION_DESC=Enumerated NOTATION
-
-!dtd/util/CreateListItems.java
-_UI_LABEL_NONE=(none)
-
-! Strings from sed/model
-
-! Attribute.java
-_UI_LABEL_ATTR_DEFAULT_VAL=Attribute Default Change Value
-_UI_LABEL_ATTR_DEFAULT_KIND=Change Attribute Default Value
-_UI_LABEL_ATTR_TYPE=Change Attribute Type
-
-! AttributeEnumList
-_UI_LABEL_ATTR_ENUM_ITEMS=Change Attribute Enumeration Value
-
-! AttributeList
-_UI_LABEL_ATTR_LIST_ADD=Add Attribute
-
-! CMGroupNode
-_UI_LABEL_CM_GRP_NODE_CONNECTOR=Change Connector
-_UI_LABEL_CM_GRP_NODE_INSERT_ELEMENT=Insert Element
-_UI_LABEL_CM_GRP_NODE_ADD_GRP=Add Group
-_UI_LABEL_CM_GRP_NODE_ADD_CHILD=Add Child Element
-
-! CMNode
-_UI_LABEL_CM_NODE_MIX_CONTENT=Mixed Content
-_UI_LABEL_CM_NODE_CHILD_CONTENT=Children Content
-_UI_LABEL_CM_NODE_SET_MIX_CONTENT=Set Mixed Content
-_UI_LABEL_CM_NODE_SET_CHILD_CONTENT=Set Children Content
-
-!! NOTE TO TRANSLATOR - USAGE: "Set <variable content> Content"
-_UI_LABEL_CM_NODE_SET=Set
-_UI_LABEL_CM_NODE_CONTENT=Content
-
-!! NOTE TO TRANSLATOR - DO NOT TRANSLATE FOLLOWING 3 LINES
-_UI_LABEL_CM_NODE_PCDATA=(#PCDATA)
-_UI_LABEL_CM_NODE_ANY=ANY
-_UI_LABEL_CM_NODE_EMPTY=EMPTY
-
-! CMRepeatableNode
-_UI_LABEL_CM_REP_NODE_CHG_OCCUR=Change Occurrence
-
-! Comment
-_UI_LABEL_COMMENT_CHG=Comment Change
-
-! DTDFile
-_UI_LABEL_DTD_FILE_ADD_ELEMENT=Add Element
-_UI_LABEL_DTD_FILE_ADD_ENTITY=Add Entity
-_UI_LABEL_DTD_FILE_ADD_COMMENT=Add Comment
-_UI_LABEL_DTD_FILE_ADD_PARM_ENTITY_REF=Add Parameter Entity Reference
-_UI_LABEL_DTD_FILE_ADD_NOTATION=Add Notation
-_UI_LABEL_DTD_FILE_ADD_ATTR_LIST=Add Attribute List
-_UI_LABEL_DTD_FILE_DELETE=Delete
-
-! DTDNode
-_UI_LABEL_DTD_NODE_NAME_CHG=Name Change
-_UI_LABEL_DTD_NODE_DELETE=Delete
-
-! Element
-_UI_LABEL_ELEMENT_ADD_ATTR=Add Attribute
-_UI_LABEL_ELEMENT_ADD_GRP=Add Group
-_UI_LABEL_ELEMENT_ADD_CHILD=Add Child Element
-
-! Entity
-_UI_LABEL_ENTITY_SET_PARM_ENTITY=Set Parameter Entity
-_UI_LABEL_ENTITY_SET_GENERAL_ENTITY=Set General Entity
-_UI_LABEL_ENTITY_SET_EXT_ENTITY=Set External Entity
-_UI_LABEL_ENTITY_SET_INT_ENTITY=Set Internal Entity
-_UI_LABEL_ENTITY_VALUE_CHG=Entity Value Change
-
-!! NOTE TO TRANSLATOR - USAGE: "NDATA Change"
-_UI_LABEL_ENTITY_NDATA_CHANGE=Change
-
-! ExternalNode
-_UI_LABEL_EXT_NODE_PUBLIC_ID_CHG=Public ID Change
-_UI_LABEL_EXT_NODE_SYSTEM_ID_CHG=System ID Change
-
-! NodeList
-_UI_LABEL_NODE_LIST_ELEMENTS=Elements
-_UI_LABEL_NODE_LIST_ENTITIES=Entities
-_UI_LABEL_NODE_LIST_NOTATIONS=Notations
-_UI_LABEL_NODE_LIST_COMMENTS=Comments
-_UI_LABEL_NODE_LIST_OTHER=Other
-_UI_LABEL_NODE_LIST_ATTRIBUTES=Attributes
-
-! ParameterEntityReference
-_UI_LABEL_PARM_ENTITY_REF_CHG_ENTITY_REF=Change Entity Reference
-_UI_LABEL_PARM_ENTITY_REF_COMMENT_CHG=Comment Change
-
-! TopLevelNode
-_UI_LABEL_TOP_LEVEL_NODE_DELETE=Delete
-#
-Structured_DTD_Document_Factory_Extension.name=Structured DTD Document Factory Extension
-DTD_Content_Type_Extension_Element.name=DTD Content Type
diff --git a/bundles/org.eclipse.wst.dtd.core/plugin.xml b/bundles/org.eclipse.wst.dtd.core/plugin.xml
deleted file mode 100644
index 711b572..0000000
--- a/bundles/org.eclipse.wst.dtd.core/plugin.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-	id="org.eclipse.wst.dtd.core"
-	name="%pluginName"
-	version="1.0.0"
-	provider-name="%providerName"
-	class="org.eclipse.wst.dtd.core.internal.DTDCorePlugin">
-
-	<runtime>
-		<library name="dtdmodel.jar">
-			<export name="*" />
-		</library>
-	</runtime>
-	<requires>
-		<import plugin="org.eclipse.ui.ide" />
-		<import plugin="org.eclipse.ui.views" />
-		<import plugin="org.eclipse.jface.text" />
-		<import plugin="org.eclipse.ui.workbench.texteditor" />
-		<import plugin="org.eclipse.ui.editors" />
-		<import plugin="org.eclipse.wst.common.encoding" />
-		<import plugin="org.eclipse.wst.sse.core" />
-		<import plugin="org.eclipse.wst.xml.core" />
-		<import plugin="org.eclipse.core.resources" />
-		<import plugin="org.eclipse.core.runtime" />
-		<import plugin="org.eclipse.ui" />
-	</requires>
-
-
-	<extension point="org.eclipse.wst.sse.core.modelHandler">
-		<modelHandler
-			class="org.eclipse.wst.dtd.core.modelhandler.ModelHandlerForDTD"
-			associatedContentTypeId="org.eclipse.wst.dtd.core.dtdsource"
-			id="org.eclipse.wst.dtd.core.modelhandler">
-		</modelHandler>
-	</extension>
-	<extension
-		point="org.eclipse.wst.sse.core.builderdelegate"
-		id="org.eclipse.wst.dtd.core.builderdelegate.todo">
-		<participant
-			class="org.eclipse.wst.dtd.core.builder.delegates.DTDTaskTagSeeker"
-			contentType="org.eclipse.wst.dtd.core.dtdsource"
-		/>
-	</extension>
-
-   <extension point="org.eclipse.core.filebuffers.documentCreation"
-         id="org.eclipse.wst.dtd.core.documentfactories"
-         name="%Structured_DTD_Document_Factory_Extension.name">
-      <factory
-            contentTypeId="org.eclipse.wst.dtd.core.dtdsource"
-            class="org.eclipse.wst.sse.core.filebuffers.BasicStructuredDocumentFactory"/>
-   </extension>
-
-	<extension point="org.eclipse.team.core.fileTypes">
-		<fileTypes
-			type="text"
-			extension="dtd" />
-		<fileTypes
-			type="text"
-			extension="mod" />
-		<fileTypes
-			type="text"
-			extension="ent" />
-	</extension>
-	
-	   <extension
-         point="org.eclipse.core.runtime.contentTypes">
-         <content-type
-               file-extensions="dtd,mod,ent"
-               priority="normal"
-               name="%DTD_Content_Type_Extension_Element.name"
-               id="dtdsource"
-               base-type="org.eclipse.core.runtime.text"
-			   default-charset="UTF-8">
-			<describer class="org.eclipse.wst.dtd.core.content.ContentDescriberForDTD"/>
-		</content-type>
-   </extension>
-	
-	
-</plugin>
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Attribute.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Attribute.java
deleted file mode 100644
index 3054337..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Attribute.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-// base class for an Element's contentmodel
-public class Attribute extends DTDNode {
-
-	public static final String CDATA = DTDCorePlugin.getDTDString("_UI_CHARACTER_DATA_DESC"); //$NON-NLS-1$
-	public static final String ENTITIES = DTDCorePlugin.getDTDString("_UI_ENTITY_NAMES_DESC"); //$NON-NLS-1$
-	public static final String ENTITY = DTDCorePlugin.getDTDString("_UI_ENTITY_NAME_DESC"); //$NON-NLS-1$
-	public static final String ENUMERATED_NAME = DTDCorePlugin.getDTDString("_UI_ENUM_NAME_TOKENS_DESC"); //$NON-NLS-1$
-	public static final String ENUMERATED_NOTATION = DTDCorePlugin.getDTDString("_UI_ENUM_NOTATION_DESC"); //$NON-NLS-1$
-	public static final String FIXED = "#FIXED"; //$NON-NLS-1$
-	public static final String ID = DTDCorePlugin.getDTDString("_UI_IDENTIFIER_DESC"); //$NON-NLS-1$
-	public static final String IDREF = DTDCorePlugin.getDTDString("_UI_ID_REFERENCE_DESC"); //$NON-NLS-1$
-	public static final String IDREFS = DTDCorePlugin.getDTDString("_UI_ID_REFERENCES_DESC"); //$NON-NLS-1$
-
-	public static final String IMPLIED = "#IMPLIED"; //$NON-NLS-1$
-	public static final String NMTOKEN = DTDCorePlugin.getDTDString("_UI_NAME_TOKEN_DESC"); //$NON-NLS-1$
-	public static final String NMTOKENS = DTDCorePlugin.getDTDString("_UI_NAME_TOKENS_DESC"); //$NON-NLS-1$
-	public static final String REQUIRED = "#REQUIRED"; //$NON-NLS-1$
-
-	protected static Hashtable typeHash = new Hashtable();
-
-	public static final String[] types = {CDATA, ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS, ENUMERATED_NAME, ENUMERATED_NOTATION};
-
-	{
-		typeHash.put(DTDRegionTypes.CDATA_KEYWORD, CDATA);
-		typeHash.put(DTDRegionTypes.ID_KEYWORD, ID);
-		typeHash.put(DTDRegionTypes.IDREF_KEYWORD, IDREF);
-		typeHash.put(DTDRegionTypes.IDREFS_KEYWORD, IDREFS);
-		typeHash.put(DTDRegionTypes.ENTITY_KEYWORD, ENTITY);
-		typeHash.put(DTDRegionTypes.ENTITIES_KEYWORD, ENTITIES);
-		typeHash.put(DTDRegionTypes.NMTOKEN_KEYWORD, NMTOKEN);
-		typeHash.put(DTDRegionTypes.NMTOKENS_KEYWORD, NMTOKENS);
-		typeHash.put(DTDRegionTypes.NOTATION_KEYWORD, ENUMERATED_NOTATION);
-		// this one's a special case since there is no keyword for
-		// enumerated name tokens
-		typeHash.put("()", ENUMERATED_NAME); //$NON-NLS-1$
-
-		// now put the reverse in place. This gives us a 2 way lookup
-		// for when we want to retrieve the value and when we want to set it
-		typeHash.put(CDATA, "CDATA"); //$NON-NLS-1$
-		typeHash.put(ID, "ID"); //$NON-NLS-1$
-		typeHash.put(IDREF, "IDREF"); //$NON-NLS-1$
-		typeHash.put(IDREFS, "IDREFS"); //$NON-NLS-1$
-		typeHash.put(ENTITY, "ENTITY"); //$NON-NLS-1$
-		typeHash.put(ENTITIES, "ENTITIES"); //$NON-NLS-1$
-		typeHash.put(NMTOKEN, "NMTOKEN"); //$NON-NLS-1$
-		typeHash.put(NMTOKENS, "NMTOKENS"); //$NON-NLS-1$
-		typeHash.put(ENUMERATED_NAME, ""); //$NON-NLS-1$
-		typeHash.put(ENUMERATED_NOTATION, "NOTATION"); //$NON-NLS-1$
-	}
-
-	private AttributeEnumList enumList = null;
-
-	//  public static final String IMPLIED = "IMPLIED";
-
-	public Attribute(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode);
-	}
-
-	public String getDefaultKind() {
-		ITextRegion defaultKindRegion = getDefaultKindRegion();
-		if (defaultKindRegion != null) {
-			return getStructuredDTDDocumentRegion().getText(defaultKindRegion);
-		}
-
-		return ""; //$NON-NLS-1$
-	}
-
-	public ITextRegion getDefaultKindRegion() {
-		RegionIterator iter = iterator();
-		while (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			if (region.getType() == DTDRegionTypes.IMPLIED_KEYWORD || region.getType() == DTDRegionTypes.REQUIRED_KEYWORD || region.getType() == DTDRegionTypes.FIXED_KEYWORD) {
-				return region;
-			}
-		}
-		return null;
-	}
-
-	public String getDefaultValue() {
-		ITextRegion defaultValue = getNextQuotedLiteral(iterator());
-		if (defaultValue != null) {
-			return getValueFromQuotedRegion(defaultValue);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public AttributeEnumList getEnumList() {
-		return enumList;
-	}
-
-	public Image getImage() {
-		return DTDCorePlugin.getInstance().getImage(DTDResource.ATTRIBUTEICON);
-	}
-
-	public ITextRegion getNameRegion() {
-		return getNextRegion(iterator(), DTDRegionTypes.ATTRIBUTE_NAME);
-	}
-
-	public ITextRegion getNextQuotedLiteral(RegionIterator iter) {
-		while (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			if (region.getType().equals(DTDRegionTypes.SINGLEQUOTED_LITERAL) || region.getType().equals(DTDRegionTypes.DOUBLEQUOTED_LITERAL)) {
-				return region;
-			}
-		}
-		return null;
-	}
-
-	protected int getOffsetAfterType() {
-		ITextRegion typeRegion = getTypeRegion();
-
-		String type = getType();
-		boolean isEnumeration = type.equals(ENUMERATED_NAME) || type.equals(ENUMERATED_NOTATION);
-		if (isEnumeration) {
-			// now check if maybe this is an enumeration
-			if (getEnumList() != null) {
-				return getEnumList().getEndOffset();
-			}
-		}
-		if (typeRegion != null) {
-			return getStructuredDTDDocumentRegion().getEndOffset(typeRegion);
-		} else {
-			ITextRegion nameRegion = getNameRegion();
-			return getStructuredDTDDocumentRegion().getEndOffset(nameRegion);
-			//        // create one
-			//        typeRegion =
-			// findOrCreateTypeRegion((String)typeHash.get(CDATA));
-		}
-	}
-
-	public String getType() {
-		ITextRegion region = getTypeRegion();
-		if (region != null) {
-			String type = (String) typeHash.get(region.getType());
-			if (type == null) {
-				// just return the text of the type region since this may be
-				// an entity representing the type;
-				return getStructuredDTDDocumentRegion().getText(region);
-			}
-			return type;
-		} else if (getEnumList() != null) {
-			// enumerated name tokens don't have a type keyword. just
-			// the existence of the left paren is enough
-			return (String) typeHash.get("()"); //$NON-NLS-1$
-		}
-
-		return ""; //$NON-NLS-1$
-	}
-
-	public ITextRegion getTypeRegion() {
-		RegionIterator iter = iterator();
-
-		while (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			if (region.getType() == DTDRegionTypes.CDATA_KEYWORD || region.getType() == DTDRegionTypes.ID_KEYWORD || region.getType() == DTDRegionTypes.IDREF_KEYWORD || region.getType() == DTDRegionTypes.IDREFS_KEYWORD || region.getType() == DTDRegionTypes.ENTITY_KEYWORD || region.getType() == DTDRegionTypes.ENTITIES_KEYWORD || region.getType() == DTDRegionTypes.NMTOKEN_KEYWORD || region.getType() == DTDRegionTypes.NMTOKENS_KEYWORD || region.getType() == DTDRegionTypes.NOTATION_KEYWORD || region.getType() == DTDRegionTypes.PARM_ENTITY_TYPE) {
-				return region;
-			}
-		}
-		return null;
-	}
-
-	public String getValueFromQuotedRegion(ITextRegion region) {
-		String type = region.getType();
-		if (type.equals(DTDRegionTypes.SINGLEQUOTED_LITERAL) || type.equals(DTDRegionTypes.DOUBLEQUOTED_LITERAL)) {
-			String text = getStructuredDTDDocumentRegion().getText(region);
-			return text.substring(1, text.length() - 1);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public void resolveRegions() {
-		removeChildNodes();
-		RegionIterator iter = iterator();
-
-		while (iter.hasNext()) {
-			ITextRegion currentRegion = iter.next();
-			if (currentRegion.getType().equals(DTDRegionTypes.LEFT_PAREN)) {
-				enumList = new AttributeEnumList(getDTDFile(), getStructuredDTDDocumentRegion());
-			}
-			if (enumList != null) {
-				enumList.addRegion(currentRegion);
-				if (currentRegion.getType() == DTDRegionTypes.RIGHT_PAREN) {
-					return;
-				}
-			}
-		}
-
-	}
-
-	public void setDefaultKind(Object requestor, String kind) {
-
-		ITextRegion defaultKindRegion = getDefaultKindRegion();
-		String oldDefaultKind = defaultKindRegion == null ? "" : getStructuredDTDDocumentRegion().getText(defaultKindRegion); //$NON-NLS-1$
-		if (!kind.equals(oldDefaultKind)) {
-			String newText = kind;
-			int startOffset = 0;
-			int length = 0;
-			if (defaultKindRegion != null) {
-				startOffset = getStructuredDTDDocumentRegion().getStartOffset(defaultKindRegion);
-				length = getStructuredDTDDocumentRegion().getEndOffset(defaultKindRegion) - startOffset;
-			} else {
-				startOffset = getOffsetAfterType();
-				newText = " " + newText; //$NON-NLS-1$
-			}
-
-			ITextRegion defaultValue = getNextQuotedLiteral(iterator());
-
-			if (kind.equals(Attribute.FIXED) || kind.equals("")) { //$NON-NLS-1$
-				if (defaultValue == null) {
-					// we are changing to fixed and wehave no quoted region.
-					// put in an empty value
-					newText += " \"\""; //$NON-NLS-1$
-				}
-			} else {
-				if (defaultValue != null) {
-					length = getStructuredDTDDocumentRegion().getEndOffset(defaultValue) - startOffset;
-				}
-			}
-			replaceText(requestor, startOffset, length, newText);
-			// do something if there is no "kind" region
-		}
-	}
-
-	public void setDefaultKind(String kind) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_ATTR_DEFAULT_KIND")); //$NON-NLS-1$
-		setDefaultKind(this, kind);
-		endRecording(this);
-	}
-
-	public void setDefaultValue(Object requestor, String value, boolean fixed) {
-		ITextRegion defaultValue = getNextQuotedLiteral(iterator());
-		String quoteChar = value.indexOf("\"") == -1 ? "\"" : "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		int startOffset = 0;
-		int endOffset = 0;
-		String newText = ""; //$NON-NLS-1$
-
-		String oldValue = getDefaultValue();
-		boolean oldKindIsFixed = getDefaultKind().equals(Attribute.FIXED);
-		if (oldValue.equals(value) && fixed == oldKindIsFixed) {
-			// nothing to do
-			return;
-		}
-
-		if (defaultValue != null) {
-			startOffset = getStructuredDTDDocumentRegion().getStartOffset(defaultValue);
-			endOffset = getStructuredDTDDocumentRegion().getEndOffset(defaultValue);
-		}
-
-		ITextRegion defaultKindRegion = getDefaultKindRegion();
-		if (defaultKindRegion != null) {
-			startOffset = getStructuredDTDDocumentRegion().getStartOffset(defaultKindRegion);
-			endOffset = endOffset == 0 ? getStructuredDTDDocumentRegion().getEndOffset(defaultKindRegion) : endOffset;
-		} else {
-			if (startOffset == 0) {
-				endOffset = startOffset = getOffsetAfterType();
-				newText += " "; //$NON-NLS-1$
-			}
-			ITextRegion typeRegion = getTypeRegion();
-			if (typeRegion == null && getEnumList() == null) {
-				// tack on a default type
-				//        newText += "CDATA ";
-			}
-		}
-		if (fixed) {
-			newText += "#FIXED "; //$NON-NLS-1$
-		} else {
-			if (getDefaultKind().equals("") && value.equals("")) { //$NON-NLS-1$ //$NON-NLS-2$
-				// if not fixed and value is "" then reset the default kind to
-				// implied
-				newText += "#IMPLIED"; //$NON-NLS-1$
-			}
-		}
-
-		if (!getType().equals("") && !value.equals("")) { //$NON-NLS-1$ //$NON-NLS-2$
-			newText += quoteChar + value + quoteChar;
-		}
-		replaceText(requestor, startOffset, endOffset - startOffset, newText);
-	}
-
-	public void setDefaultValue(String value, boolean fixed) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_ATTR_DEFAULT_VAL")); //$NON-NLS-1$
-		setDefaultValue(this, value, fixed);
-		endRecording(this);
-	}
-
-	public void setType(Object requestor, String type) {
-		String oldType = getType();
-		if (!type.equals(oldType)) {
-			boolean wasEnumeration = oldType.equals(ENUMERATED_NAME) || oldType.equals(ENUMERATED_NOTATION);
-			boolean isEnumeration = type.equals(ENUMERATED_NAME) || type.equals(ENUMERATED_NOTATION);
-			String newText = ""; //$NON-NLS-1$
-			int startOffset = 0;
-			int endOffset = 0;
-
-			if (wasEnumeration && !isEnumeration) {
-				// get rid of the old enumlist
-				AttributeEnumList enumList = getEnumList();
-				if (enumList != null) {
-					startOffset = enumList.getStartOffset();
-					endOffset = enumList.getEndOffset();
-				}
-			}
-
-			ITextRegion region = getTypeRegion();
-			if (region != null) {
-				startOffset = getStructuredDTDDocumentRegion().getStartOffset(region);
-				if (endOffset == 0) {
-					endOffset = getStructuredDTDDocumentRegion().getEndOffset(region);
-				}
-			} else if (startOffset == 0) {
-				ITextRegion nameRegion = getNameRegion();
-				newText += " "; //$NON-NLS-1$
-				endOffset = startOffset = getStructuredDTDDocumentRegion().getEndOffset(nameRegion);
-			}
-
-			String newTypeWord = (String) typeHash.get(type);
-			if (newTypeWord == null) {
-				// then this must be a parm entity being used in the type
-				// use the type text directly
-				newTypeWord = type;
-			}
-
-			newText += newTypeWord;
-
-			if (isEnumeration && !wasEnumeration) {
-				// put in a new numlist
-				boolean isSpaceNeeded = !type.equals(ENUMERATED_NAME);
-				newText += isSpaceNeeded ? " " : ""; //$NON-NLS-1$ //$NON-NLS-2$
-				newText += "()"; //$NON-NLS-1$
-			}
-			replaceText(requestor, startOffset, endOffset - startOffset, newText);
-			if (newTypeWord.equals("") && !type.equals(ENUMERATED_NAME)) { //$NON-NLS-1$
-				// the set the defaultkind to ""
-				//        setDefaultKind(requestor, "");
-				setDefaultValue(requestor, "", false); //$NON-NLS-1$
-			}
-
-		}
-	}
-
-	public void setType(String type) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_ATTR_TYPE")); //$NON-NLS-1$
-		setType(this, type);
-		endRecording(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/AttributeEnumList.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/AttributeEnumList.java
deleted file mode 100644
index b021f7a..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/AttributeEnumList.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class AttributeEnumList extends DTDNode {
-
-	private ArrayList list = new ArrayList();
-
-	public AttributeEnumList(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode);
-	}
-
-	public Image getImage() {
-		// never exposed in tree
-		return null;
-	}
-
-	// return the items that are in this enumerated list
-	public List getItems() {
-		list.clear();
-		RegionIterator iter = iterator();
-		while (iter.hasNext()) {
-			ITextRegion name = getNextRegion(iter, DTDRegionTypes.NAME);
-			if (name != null) {
-				list.add(getStructuredDTDDocumentRegion().getText(name));
-			}
-		}
-		return list;
-	}
-
-	public void setItems(Object requestor, String[] items) {
-		if (items != null) {
-			String text = "("; //$NON-NLS-1$
-			for (int i = 0; i < items.length; i++) {
-				if (i > 0) {
-					text += " | " + items[i]; //$NON-NLS-1$
-				} else {
-					text += items[i];
-				}
-			}
-			text += ")"; //$NON-NLS-1$
-			replaceText(requestor, getStartOffset(), getNodeLength(), text);
-		}
-	}
-
-	public void setItems(String[] items) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_ATTR_ENUM_ITEMS")); //$NON-NLS-1$
-		setItems(this, items);
-		endRecording(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/AttributeList.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/AttributeList.java
deleted file mode 100644
index 814b9b4..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/AttributeList.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class AttributeList extends NamedTopLevelNode {
-	public AttributeList(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode, DTDRegionTypes.ATTLIST_TAG);
-	}
-
-	public void addAttribute(String name) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_ATTR_LIST_ADD")); //$NON-NLS-1$
-
-		DTDNode lastAttribute = (DTDNode) getLastChild();
-		if (lastAttribute != null) {
-			replaceText(this, lastAttribute.getEndOffset(), 0, "\n\t" + name + " CDATA #IMPLIED"); //$NON-NLS-1$ //$NON-NLS-2$
-		} else {
-			ITextRegion nameRegion = getNameRegion();
-			if (nameRegion != null) {
-				replaceText(this, getStructuredDTDDocumentRegion().getEndOffset(nameRegion), 0, "\n\t" + name + " CDATA #IMPLIED"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-		}
-
-		endRecording(this);
-	}
-
-	public Image getImage() {
-		return DTDCorePlugin.getInstance().getImage(DTDResource.ATTRIBUTELISTICON);
-	}
-
-	public void insertIntoModel(Object requestor, Attribute reference, Attribute node, boolean isAfter) {
-		int offset = 0;
-		String newText = ""; //$NON-NLS-1$
-		String nodeText = node.getFullNodeText();
-		if (!isAfter) {
-			offset = reference.getStartOffset();
-		} else {
-			// try and get next child
-			Attribute attr = (Attribute) reference.getNextSibling();
-			if (attr != null) {
-				offset = attr.getStartOffset();
-			} else {
-				// just use the end offset
-				offset = reference.getWhitespaceEndOffset();
-			}
-		}
-		newText += nodeText;// + (isLastChild ? "\n" : "\n\t");
-		if (!node.hasTrailingWhitespace()) {
-			newText += "\n\t"; //$NON-NLS-1$
-		}
-		replaceText(requestor, offset, 0, newText);
-	}
-
-	public void resolveRegions() {
-		removeChildNodes();
-		RegionIterator iter = iterator();
-
-		if (getNameRegion() != null) {
-			// we skip past the name token is our name
-			skipPastName(iter);
-		}
-
-		ArrayList children = new ArrayList();
-		Attribute attribute = null;
-		boolean trailingWhitespace = false;
-		while (iter.hasNext()) {
-			ITextRegion currentRegion = iter.next();
-			if (currentRegion.getType().equals(DTDRegionTypes.ATTRIBUTE_NAME)) {
-				attribute = new Attribute(getDTDFile(), getStructuredDTDDocumentRegion());
-				children.add(attribute);
-				appendChild(attribute);
-				trailingWhitespace = false;
-			}
-			if (attribute != null && currentRegion.getType() != DTDRegionTypes.END_TAG) {
-				if (!trailingWhitespace) {
-					attribute.addRegion(currentRegion);
-				} else {
-					if (currentRegion.getType() == DTDRegionTypes.WHITESPACE) {
-						attribute.addWhitespaceRegion(currentRegion);
-					}
-				}
-
-				// the following prevents extra whitespace from being picked
-				// up by the attribute
-				if (currentRegion.getType() == DTDRegionTypes.REQUIRED_KEYWORD || currentRegion.getType() == DTDRegionTypes.IMPLIED_KEYWORD || currentRegion.getType() == DTDRegionTypes.SINGLEQUOTED_LITERAL || currentRegion.getType() == DTDRegionTypes.DOUBLEQUOTED_LITERAL) {
-					trailingWhitespace = true;
-				}
-			}
-		}
-		int numKids = children.size();
-		for (int i = 0; i < numKids; i++) {
-			((Attribute) children.get(i)).resolveRegions();
-		} // end of for ()
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMBasicNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMBasicNode.java
deleted file mode 100644
index e5b70f8..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMBasicNode.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/*
- * CMBasicNode combines all the different content types into one. The idea
- * behind this is to allow arbitrary name changes to not require a tree
- * update.
- */
-public class CMBasicNode extends CMRepeatableNode {
-
-	//    static final int EMPTY = 0;
-	//    static final int ANY = 1;
-	//    static final int PCDATA = 2;
-
-	public CMBasicNode(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode);
-	}
-
-	public Image getImage() {
-		final String name = getName();
-		ITextRegion pcdata = getNextRegion(iterator(), DTDRegionTypes.CONTENT_PCDATA);
-		if (pcdata != null) {
-			return DTDCorePlugin.getInstance().getImage(DTDResource.PCDATAICON);
-		}
-
-		if (isRootElementContent()) {
-			if (name.equals(EMPTY)) {
-				return DTDCorePlugin.getInstance().getImage(DTDResource.EMPTYICON);
-			} else if (name.equals(ANY)) {
-				return DTDCorePlugin.getInstance().getImage(DTDResource.ANYICON);
-			}
-		}
-
-		// Otherwise this is just an element reference node. Just return
-		// what CMRepeatableNode would give us
-		return super.getImage();
-	}
-
-	public ITextRegion getNameRegion() {
-		RegionIterator iter = iterator();
-		while (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			if (region.getType() == DTDRegionTypes.NAME || region.getType() == DTDRegionTypes.CONTENT_PCDATA) {
-				return region;
-			}
-		}
-		return null;
-	}
-
-	// returns the occurrencetoken, or the token where the occurrence token
-	// should appear after
-	public ITextRegion getOccurrenceRegion() {
-		RegionIterator iter = iterator();
-		skipPastName(iter);
-		if (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			if (region.getType() == DTDRegionTypes.OCCUR_TYPE) {
-				return region;
-			}
-		}
-		return getNameRegion();
-	}
-
-	public String getType() {
-		ITextRegion pcdata = getNextRegion(iterator(), DTDRegionTypes.CONTENT_PCDATA);
-		if (pcdata != null) {
-			return PCDATA;
-		}
-
-		if (isRootElementContent()) {
-			final String name = getName();
-			if (isRootElementContent()) {
-				if (name.equals(EMPTY)) {
-					return EMPTY;
-				} else if (name.equals(ANY)) {
-					return ANY;
-				} else {
-					// otherwise just return it's name as the type
-					return name;
-				}
-
-			}
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public boolean isEmptyAnyOrPCData() {
-		if (isPCData()) {
-			return true;
-		}
-
-
-		final String name = getName();
-		if (isRootElementContent()) {
-			if (name.equals(EMPTY) || name.equals(ANY)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public boolean isPCData() {
-		ITextRegion pcdata = getNextRegion(iterator(), DTDRegionTypes.CONTENT_PCDATA);
-		if (pcdata != null) {
-			return true;
-		}
-		return false;
-	}
-
-	//    public Node insertRegion(Region token)
-	//    {
-	//      if (!tokenStream.containsToken(token) && token.getType() ==
-	// Token.OCCUR_TYPE)
-	//      {
-	//        // then add it so that our range contains it
-	//        insertIntoTokenStream(token);
-	//      }
-	//      return this;
-	//    }
-
-	public boolean isReference() {
-		return !isEmptyAnyOrPCData();
-	}
-
-	public void setName(Object requestor, String name) {
-		//    beginRecording(requestor, "Name Change");
-
-		super.setName(requestor, name);
-		if (!isReference()) {
-			// if it is no longer a reference node, remove the occurrence
-			// token
-			setOccurrence(requestor, CMRepeatableNode.ONCE);
-		}
-
-		//    endRecording(requestor);
-	}
-
-	/*
-	 * public static String getName(int type) { switch (type) { case EMPTY:
-	 * return emptyString; case ANY: return anyString; case PCDATA: return
-	 * pcdataString; default: break; } // end of switch () return ""; }
-	 */
-
-}// CMBasicNode
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMGroupNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMGroupNode.java
deleted file mode 100644
index a9f13be..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMGroupNode.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.dtd.core.util.DTDUniqueNameHelper;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class CMGroupNode extends CMRepeatableNode {
-
-	public static final char CHOICE = '|';
-	public static final char SEQUENCE = ',';
-
-	protected char connector = SEQUENCE;
-
-	//  protected ArrayList children = new ArrayList();
-
-	public CMGroupNode(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode);
-	}
-
-	public void addChild() {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_CM_GRP_NODE_ADD_CHILD")); //$NON-NLS-1$
-		DTDNode lastNode = (DTDNode) getLastChild();
-		String elementName = DTDUniqueNameHelper.getUniqueName(getChildrenList(), "ChildNode"); //$NON-NLS-1$
-		if (lastNode != null) {
-			replaceText(this, lastNode.getEndOffset(), 0, String.valueOf(getConnector()) + elementName); //$NON-NLS-1$
-		} else {
-			replaceText(this, getStartOffset() + 1, 0, elementName); //$NON-NLS-1$
-		}
-
-		endRecording(this);
-	}
-
-	public void addGroup() {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_CM_GRP_NODE_ADD_GRP")); //$NON-NLS-1$
-		DTDNode lastNode = (DTDNode) getLastChild();
-		if (lastNode != null) {
-			replaceText(this, lastNode.getEndOffset(), 0, String.valueOf(getConnector()) + " ()"); //$NON-NLS-1$
-		} else {
-			replaceText(this, getStartOffset() + 1, 0, "()"); //$NON-NLS-1$
-		}
-
-		endRecording(this);
-	}
-
-	public void delete(Object requestor, DTDNode child) {
-		Object[] children = getChildren();
-
-		if (children.length == 1 && getFirstChild() == child) {
-			replaceText(requestor, child.getStartOffset(), child.getNodeLength(), null);
-			return;
-		}
-
-		for (int i = 0; i < children.length - 1; i++) {
-			DTDNode childA = (DTDNode) children[i];
-			DTDNode childB = (DTDNode) children[i + 1];
-
-			boolean childADeleted = childA == child;
-			boolean childBDeleted = childB == child;
-			if (childADeleted || childBDeleted) {
-				// we found the child
-				int startOffset = childADeleted ? childA.getStartOffset() : childA.getEndOffset();
-				int endOffset = childADeleted ? childB.getStartOffset() : childB.getEndOffset();
-				replaceText(requestor, startOffset, endOffset - startOffset, ""); //$NON-NLS-1$
-				removeChild(child);
-				break;
-			}
-		}
-	}
-
-	/**
-	 * Get the value of connector.
-	 * 
-	 * @return value of connector.
-	 */
-	public char getConnector() {
-		Object[] children = getChildren();
-		for (int i = 0; i < children.length - 1; i++) {
-			DTDNode childA = (DTDNode) children[i];
-			DTDNode childB = (DTDNode) children[i + 1];
-
-			// create a stream between the two siblings and walk it
-			// note that this stream includes the last region of the first
-			// sibling and the first region of the next sibling.
-			// both these should be ignored
-			RegionIterator iter = new RegionIterator(getStructuredDTDDocumentRegion(), childA.getEndOffset(), childB.getStartOffset());
-			//      stream.setFirstRegion(childA.getLastRegion());
-			//      stream.setLastRegion(childB.getFirstRegion());
-			//      Iterator iter = stream.iterator();
-			// skip the first region which is the last region of childA
-			//do we need this now ?
-			//      iter.next();
-			ITextRegion currentRegion = null;
-			while (iter.hasNext() && currentRegion != childB.getStartRegion()) {
-				currentRegion = iter.next();
-				if (currentRegion.getType() == DTDRegionTypes.CONNECTOR) {
-					connector = getStructuredDTDDocumentRegion().getText(currentRegion).charAt(0);
-					return connector;
-				}
-			}
-		}
-		return connector;
-	}
-
-	public Image getImage() {
-		DTDCorePlugin resourcePlugin = DTDCorePlugin.getInstance();
-		switch (getConnector()) {
-			case SEQUENCE :
-				return resourcePlugin.getImage(DTDResource.ONESEQUENCEICON);
-			/*
-			 * switch (getOccurrence()) { case ONCE : return
-			 * resourcePlugin.getImage(DTDResource.ONESEQUENCEICON); case
-			 * OPTIONAL : return
-			 * resourcePlugin.getImage(DTDResource.OPTIONALSEQUENCEICON); case
-			 * ONE_OR_MORE : return
-			 * resourcePlugin.getImage(DTDResource.ONEORMORESEQUENCEICON);
-			 * case ZERO_OR_MORE : return
-			 * resourcePlugin.getImage(DTDResource.ZEROORMORESEQUENCEICON); }
-			 */
-			case CHOICE :
-				return resourcePlugin.getImage(DTDResource.ONECHOICEICON);
-		/*
-		 * switch (getOccurrence()) { case ONCE : return
-		 * resourcePlugin.getImage(DTDResource.ONECHOICEICON); case OPTIONAL :
-		 * return resourcePlugin.getImage(DTDResource.OPTIONALCHOICEICON);
-		 * case ONE_OR_MORE : return
-		 * resourcePlugin.getImage(DTDResource.ONEORMORECHOICEICON); case
-		 * ZERO_OR_MORE : return
-		 * resourcePlugin.getImage(DTDResource.ZEROORMORECHOICEICON); }
-		 */
-		}
-		return null;
-	}
-
-	public String getName() {
-		return ""; //$NON-NLS-1$
-	}
-
-	// returns the occurrenceregion, or the last region where the occurrence
-	// region should appear after
-	public ITextRegion getOccurrenceRegion() {
-		int nesting = 0;
-
-		// we skip past the first left paren we see since that is the
-		// beginning of our own node
-		RegionIterator iter = iterator();
-		// we assume the first region is the '('
-		iter.next();
-		ITextRegion currentRegion = null;
-		while (iter.hasNext() && nesting >= 0) {
-			currentRegion = iter.next();
-			if (currentRegion.getType() == DTDRegionTypes.LEFT_PAREN) {
-				nesting++;
-			}
-			if (currentRegion.getType() == DTDRegionTypes.RIGHT_PAREN) {
-				nesting--;
-			}
-		}
-		if (nesting < 0) {
-			// This means we have passed over the right paren that marks the
-			// end of our grouping.
-			// Look for an occurrence region
-			while (iter.hasNext()) {
-				currentRegion = iter.next();
-				if (currentRegion.getType() == DTDRegionTypes.OCCUR_TYPE) {
-					return currentRegion;
-				}
-			}
-		}
-		// if we're here, this means that there is no occur region. return the
-		// last region
-		return iter.previous();
-	}
-
-	public String getType() {
-		if (isRootElementContent()) {
-			if (getFirstChild() != null) {
-				CMNode node = (CMNode) getFirstChild();
-				if (node.getType().equals(PCDATA)) {
-					return MIXED;
-				} else {
-					return CHILDREN;
-				}
-			}
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public void insertChildNode(Object requestor, String nodeText, int position) {
-		Object[] children = getChildren();
-
-		int startOffset = 0;
-		String newText = ""; //$NON-NLS-1$
-		if (position < children.length) {
-			DTDNode reference = (DTDNode) children[position];
-			startOffset = reference.getStartOffset();
-			newText = nodeText + " " + String.valueOf(getConnector()) + " "; //$NON-NLS-1$ //$NON-NLS-2$
-		} else if (position == children.length) {
-			// add to end
-			DTDNode reference = (DTDNode) children[position - 1];
-			startOffset = reference.getEndOffset();
-			newText = " " + String.valueOf(getConnector()) + " " + nodeText; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		replaceText(requestor, startOffset, 0, newText);
-	}
-
-	public void insertChildNode(String nodeText, int position) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_CM_GRP_NODE_INSERT_ELEMENT")); //$NON-NLS-1$
-		insertChildNode(this, nodeText, position);
-		endRecording(this);
-	}
-
-	public void insertIntoModel(Object requestor, CMNode reference, CMNode node, boolean isAfter) {
-		String nodeText = node.getNodeText();
-		List children = getChildrenList();
-
-		int index = children.indexOf(reference);
-		if (index == -1) {
-			// no reference node, add it to the end??
-			index = children.size();
-		} else {
-			// got an index. if we want to add after, increase by 1
-			index = isAfter ? index + 1 : index;
-		}
-		insertChildNode(requestor, nodeText, index);
-	}
-
-	public void resolveRegions() {
-		int nesting = 0;
-		//    children.clear();
-		removeChildNodes();
-		DTDNode currentGroupNode = null;
-		CMBasicNode currentReferenceNode = null;
-		RegionIterator iter = iterator();
-		// we assume the first region is the '('
-		iter.next();
-		while (iter.hasNext() && nesting >= 0) {
-			ITextRegion currentRegion = iter.next();
-			if (nesting == 0) {
-				if (currentRegion.getType().equals(DTDRegionTypes.CONTENT_PCDATA)) {
-					currentGroupNode = currentReferenceNode = null;
-					DTDNode pcData = new CMBasicNode(getDTDFile(), getStructuredDTDDocumentRegion());
-					pcData.addRegion(currentRegion);
-					appendChild(pcData);
-					//          children.add(pcData);
-				} else if (currentRegion.getType().equals(DTDRegionTypes.NAME)) {
-					// we have hit a new reference node. Make sure we reset
-					// the groupnode var so it doesn't collect more regions
-					currentGroupNode = null;
-					currentReferenceNode = new CMBasicNode(getDTDFile(), getStructuredDTDDocumentRegion());
-					currentReferenceNode.addRegion(currentRegion);
-					appendChild(currentReferenceNode);
-					//          children.add(currentReferenceNode);
-				} else if (currentRegion.getType().equals(DTDRegionTypes.OCCUR_TYPE)) {
-					// we could potentially flag an error here if we hit an
-					// occurrence type and currentRefNode and currentGroupNode
-					// are null
-					if (currentReferenceNode != null) {
-						//           currentReferenceNode.setOccurrence(currentRegion.getText().toCharArray()[0]);
-						currentReferenceNode.addRegion(currentRegion);
-						currentReferenceNode = null;
-					}
-				} else if (currentRegion.getType().equals(DTDRegionTypes.CONNECTOR)) {
-					// note that if connector is already set and it is
-					// different from the current connector region, then we
-					// have an error!
-					//         setConnector(currentRegion.getText().toCharArray()[0]);
-				} else if (currentRegion.getType().equals(DTDRegionTypes.LEFT_PAREN)) {
-					if (currentGroupNode == null) {
-						// we have hit a new group. Make sure we reset the
-						// referencenode var so it doesn't collect any more
-						// regions
-						currentReferenceNode = null;
-						currentGroupNode = new CMGroupNode(getDTDFile(), getStructuredDTDDocumentRegion());
-						appendChild(currentGroupNode);
-						//            children.add(currentGroupNode);
-					}
-				}
-			}
-
-			if (currentRegion.getType().equals(DTDRegionTypes.LEFT_PAREN)) {
-				nesting++;
-			}
-			if (currentRegion.getType().equals(DTDRegionTypes.RIGHT_PAREN)) {
-				nesting--;
-				if (nesting == 0 && currentGroupNode != null) {
-					currentGroupNode.addRegion(currentRegion);
-					// peek at next region to see if it is an occur region. if
-					// so, add it to the groupnode
-					if (iter.hasNext()) {
-						ITextRegion nextRegion = iter.next();
-						if (nextRegion.getType().equals(DTDRegionTypes.OCCUR_TYPE)) {
-							currentGroupNode.addRegion(nextRegion);
-						} else {
-							// Otherwise, push it back as the next item to be
-							// retrieved by a future next() call
-							iter.previous();
-						}
-					}
-					currentGroupNode = null;
-				}
-			}
-			if (currentGroupNode != null) {
-				currentGroupNode.addRegion(currentRegion);
-			}
-		}
-
-		if (nesting < 0) {
-			// This means we have passed over the right paren that marks the
-			// end of our grouping.
-			// Look for an occurrence region
-			while (iter.hasNext()) {
-				ITextRegion currentRegion = iter.next();
-				if (currentRegion.getType().equals(DTDRegionTypes.OCCUR_TYPE)) {
-					//          setOccurrence(currentRegion.getText().toCharArray()[0]);
-				}
-			} // end of while ()
-		}
-
-		//      for (org.w3c.dom.Node child = getFirstChild(); child != null; child
-		// = child.getNextSibling())
-		//      {
-		//        System.out.println("child found = " + child);
-		//      }
-
-		Object[] children = getChildren();
-		//    System.out.println("children legnth = " + children.length);
-
-		for (int i = 0; i < children.length; i++) {
-			DTDNode currentNode = (DTDNode) children[i];
-			currentNode.resolveRegions();
-		} // end of while ()
-
-	}
-
-	/**
-	 * Set the value of connector.
-	 * 
-	 * @param v
-	 *            Value to assign to connector.
-	 */
-	public void setConnector(char v) {
-		if (connector != v) {
-			connector = v;
-			// walk through our kids and see if there is a connector between
-			// each sibling. if not, create one and set the connector. if
-			// there is
-			// then just change the text of the connector
-			Object[] children = getChildren();
-			if (children.length <= 1) {
-				// there won't be any connector existing between the children
-				// just notify a change in the node and return;
-				getDTDFile().notifyNodeChanged(this);
-				return;
-			}
-			beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_CM_GRP_NODE_CONNECTOR")); //$NON-NLS-1$
-			for (int i = 0; i < children.length - 1; i++) {
-				DTDNode childA = (DTDNode) children[i];
-				DTDNode childB = (DTDNode) children[i + 1];
-
-				// create a stream between the two siblings and walk it
-				// note that this stream includes the last region of the first
-				// sibling and the first region of the next sibling.
-				// both these should be ignored
-				RegionIterator iter = new RegionIterator(getStructuredDTDDocumentRegion(), childA.getEndOffset(), childB.getStartOffset());
-				// skip the first region which is the last region of childA
-
-				// do we still need this
-				//        iter.next();
-				ITextRegion currentRegion = null;
-				boolean foundConnector = false;
-				while (iter.hasNext() && currentRegion != childB.getStartRegion()) {
-					currentRegion = iter.next();
-					if (currentRegion.getType() == DTDRegionTypes.CONNECTOR) {
-						foundConnector = true;
-						//            Region oldRegion = currentRegion.createCopy();
-						// found a connector! on to the next sibling pair
-						//            currentRegion.updateText(String.valueOf(v));
-						replaceText(this, getStructuredDTDDocumentRegion().getStartOffset(currentRegion), 1, String.valueOf(connector));
-						//changeStructuredDocument(oldRegion, currentRegion);
-						break;
-					}
-				}
-
-				if (!foundConnector) {
-					//if we're here, that means we need to insert a new
-					// connector region after childA
-					replaceText(this, childA.getEndOffset(), 0, String.valueOf(connector));
-					//          DTDRegion connectorRegion = new
-					// DTDRegion(DTDRegionTypes.CONNECTOR,
-					// childA.getEndOffset(), 1);
-					//          insertIntoStructuredDocument(connectorRegion);
-				}
-			}
-			endRecording(this);
-		}
-	}
-
-	//    public Object[] getChildren()
-	//    {
-	//      return children.toArray();
-	//    }
-}// CMGroupNode
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMNode.java
deleted file mode 100644
index 539dcdf..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMNode.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-// base class for an Element's contentmodel
-public abstract class CMNode extends DTDNode {
-	public static final String ANY = DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_ANY"); //$NON-NLS-1$
-	public static final String CHILDREN = DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_CHILD_CONTENT"); //$NON-NLS-1$
-
-	public static final String EMPTY = DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_EMPTY"); //$NON-NLS-1$
-	public static final String MIXED = DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_MIX_CONTENT"); //$NON-NLS-1$
-	public static final String PCDATA = DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_PCDATA"); //$NON-NLS-1$
-
-
-	boolean rootElementContent;
-
-	public CMNode(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode);
-	}
-
-	// this is only valid to ask if the content is a root element content
-	abstract public String getType();
-
-	/**
-	 * Get the value of rootElementContent. This tells us whether this element
-	 * content's parent is a direct decendent of the containing element
-	 * 
-	 * @return value of rootElementContent.
-	 */
-	public boolean isRootElementContent() {
-		return rootElementContent;
-	}
-
-	// if this is a root element, change the content to children
-	// ie . (child1)
-	public void setChildrenContent(String newChild) {
-		if (isRootElementContent()) {
-			if (!newChild.equals("")) { //$NON-NLS-1$
-				beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_SET_CHILD_CONTENT")); //$NON-NLS-1$
-				replaceText(this, getStartOffset(), getNodeLength(), "(" + newChild + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-				endRecording(this);
-				return;
-			}
-
-			if (!getType().equals(CHILDREN)) {
-				beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_SET_CHILD_CONTENT")); //$NON-NLS-1$
-				if (this instanceof CMBasicNode) {
-					replaceText(this, getStartOffset(), getNodeLength(), "(newChild)"); //$NON-NLS-1$
-				} else {
-					// now must convert from mixed content to this one. must
-					// preserve the remaining children
-					CMGroupNode group = (CMGroupNode) this;
-					CMNode firstChild = (CMNode) group.getFirstChild();
-					if (firstChild.getType().equals(PCDATA)) {
-						group.delete(firstChild);
-					}
-				}
-
-				endRecording(this);
-			}
-		}
-	}
-
-	public void setContent(String content) {
-		if (isRootElementContent()) {
-			beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_SET") + " " + content + " " + DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_CONTENT")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			replaceText(this, getStartOffset(), getNodeLength(), content);
-			endRecording(this);
-		}
-	}
-
-	// if this is a root element, change the content to mixed
-	// ie . (#PCDATA, child1)
-	public void setMixedContent() {
-		if (isRootElementContent()) {
-			if (!getType().equals(MIXED)) {
-				beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_CM_NODE_SET_MIX_CONTENT")); //$NON-NLS-1$
-				if (this instanceof CMBasicNode) {
-					replaceText(this, getStartOffset(), getNodeLength(), "(#PCDATA | newChild)*"); //$NON-NLS-1$
-				} else {
-					// now must convert from children content to this one.
-					// must
-					// preserve the children
-					CMGroupNode group = (CMGroupNode) this;
-					group.setConnector(CMGroupNode.CHOICE);
-					group.setOccurrence(CMRepeatableNode.ZERO_OR_MORE);
-					CMNode firstChild = (CMNode) group.getFirstChild();
-					if (!firstChild.getType().equals(PCDATA)) {
-						group.insertChildNode("#PCDATA", 0); //$NON-NLS-1$
-					}
-				}
-				endRecording(this);
-			}
-		}
-	}
-
-	/**
-	 * Set the value of rootElementContent.
-	 * 
-	 * @param v
-	 *            Value to assign to rootElementContent.
-	 */
-	public void setRootElementContent(boolean v) {
-		this.rootElementContent = v;
-	}
-
-	//    public void delete()
-	//    {
-	//      if (isRootElementContent())
-	//      {
-	//        // then the superclasses delete will be fine
-	//        super.delete();
-	//        return;
-	//      }
-
-	//      CMGroupNode parent = (CMGroupNode) getParentNode();
-	//      parent.removeChildNode(this);
-	//    }
-
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMRepeatableNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMRepeatableNode.java
deleted file mode 100644
index b9155f4..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMRepeatableNode.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public abstract class CMRepeatableNode extends CMNode {
-
-	public static final char ONCE = '1';
-	public static final char ONE_OR_MORE = '+';
-	public static final char OPTIONAL = '?';
-	public static final char ZERO_OR_MORE = '*';
-
-
-	public CMRepeatableNode(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode);
-	}
-
-	public Image getImage() {
-		DTDCorePlugin resourcePlugin = DTDCorePlugin.getInstance();
-		return resourcePlugin.getImage(DTDResource.ELEMENTREFICON);
-	}
-
-	public char getOccurrence() {
-		ITextRegion occurRegion = getOccurrenceRegion();
-		if (occurRegion != null && occurRegion.getType() == DTDRegionTypes.OCCUR_TYPE) {
-			return getStructuredDTDDocumentRegion().getText(occurRegion).charAt(0);
-		}
-		return CMRepeatableNode.ONCE;
-	}
-
-	// returns the occurrenceregion, or the last region where the occurrence
-	// region should appear after
-	abstract public ITextRegion getOccurrenceRegion();
-
-	public void setOccurrence(char occurrence) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_CM_REP_NODE_CHG_OCCUR")); //$NON-NLS-1$
-		setOccurrence(this, occurrence);
-		endRecording(this);
-	}
-
-	public void setOccurrence(Object requestor, char occurrence) {
-		if (getOccurrence() != occurrence) {
-			ITextRegion region = getOccurrenceRegion();
-			if (region != null) {
-				if (region.getType().equals(DTDRegionTypes.OCCUR_TYPE)) {
-					if (occurrence == CMRepeatableNode.ONCE) {
-						// we need to remove the occur region from the flat
-						// model;
-						getDTDFile().getStructuredDocument().replaceText(requestor, getStructuredDTDDocumentRegion().getStartOffset(region), 1, ""); //$NON-NLS-1$
-					} else {
-						//            Region oldOccur = region.createCopy();
-						getDTDFile().getStructuredDocument().replaceText(requestor, getStructuredDTDDocumentRegion().getStartOffset(region), 1, String.valueOf(occurrence));
-						//            changeStructuredDocument(oldOccur, region);
-					}
-				} else if (occurrence != CMRepeatableNode.ONCE) {
-					//          System.out.println(getString());
-					// we need to create an occurrenceRegion
-					replaceText(requestor, getStructuredDTDDocumentRegion().getEndOffset(region), 0, String.valueOf(occurrence));
-				}
-			}
-		}
-	}
-
-}// CMRepeatableNode
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Comment.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Comment.java
deleted file mode 100644
index 4067288..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Comment.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class Comment extends NamedTopLevelNode {
-
-	public class StartEndPair {
-		public int startOffset, endOffset;
-	}
-
-	public Comment(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode, DTDRegionTypes.COMMENT_START);
-	}
-
-	public Image getImage() {
-		return DTDCorePlugin.getInstance().getImage(DTDResource.COMMENTICON);
-	}
-
-	public String getName() {
-		String text = getText();
-		if (text.length() <= 30) {
-			return text;
-		} else {
-			return text.substring(0, 29) + "..."; //$NON-NLS-1$
-		}
-	}
-
-	private void getStartAndEndOffsetForText(StartEndPair pair) {
-		RegionIterator iter = iterator();
-		ITextRegion commentStartTag = getStartTag(iter);
-		ITextRegion endCommentTag = getNextRegion(iter, DTDRegionTypes.COMMENT_END);
-		pair.endOffset = getStructuredDTDDocumentRegion().getEndOffset();
-		if (commentStartTag != null) {
-			pair.startOffset = getStructuredDTDDocumentRegion().getEndOffset(commentStartTag);
-		}
-		if (endCommentTag != null) {
-			pair.endOffset = getStructuredDTDDocumentRegion().getStartOffset(endCommentTag);
-		}
-	}
-
-	public String getText() {
-		String text = getStructuredDTDDocumentRegion().getText();
-		int flatNodeStart = getStructuredDTDDocumentRegion().getStartOffset();
-		StartEndPair pair = new StartEndPair();
-		getStartAndEndOffsetForText(pair);
-		return text.substring(pair.startOffset - flatNodeStart, pair.endOffset - flatNodeStart);
-	}
-
-	public void setText(String newText) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_COMMENT_CHG")); //$NON-NLS-1$
-		StartEndPair pair = new StartEndPair();
-		getStartAndEndOffsetForText(pair);
-		replaceText(this, pair.startOffset, pair.endOffset - pair.startOffset, newText);
-		endRecording(this);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDFile.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDFile.java
deleted file mode 100644
index 62363a2..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDFile.java
+++ /dev/null
@@ -1,649 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.document.DTDModelImpl;
-import org.eclipse.wst.dtd.core.event.IDTDFileListener;
-import org.eclipse.wst.dtd.core.event.NodesEvent;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.dtd.core.util.DTDExternalReferenceRemover;
-import org.eclipse.wst.dtd.core.util.DTDModelUpdater;
-import org.eclipse.wst.dtd.core.util.DTDNotationReferenceRemover;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-
-public class DTDFile implements IndexedRegion {
-	protected NodeList attlistList = new NodeList(this, DTDRegionTypes.ATTLIST_TAG);
-	protected NodeList commentList = new NodeList(this, DTDRegionTypes.COMMENT_START);
-
-	boolean creatingNewModel = false;
-	protected DTDModelImpl dtdModel;
-
-	protected NodeList elementList = new NodeList(this, DTDRegionTypes.ELEMENT_TAG);
-	protected NodeList entityList = new NodeList(this, DTDRegionTypes.ENTITY_TAG);
-
-	protected List folderList = null;
-
-	private boolean isMovingNode = false;
-
-	protected List lists = new ArrayList();
-
-	protected List modelListeners = new ArrayList();
-
-	protected List nodeList = new ArrayList();
-	protected NodeList notationList = new NodeList(this, DTDRegionTypes.NOTATION_TAG);
-	protected NodeList unrecognizedList = new NodeList(this, DTDRegionTypes.UNKNOWN_CONTENT);
-
-	public DTDFile(DTDModelImpl dtdModel) {
-		this.dtdModel = dtdModel;
-	}
-
-	public void addDTDFileListener(IDTDFileListener listener) {
-		modelListeners.add(listener);
-	}
-
-	protected void addNode(DTDNode node) {
-		addNode(nodeList.size(), node);
-	}
-
-	protected void addNode(int index, DTDNode node) {
-		nodeList.add(index, node);
-		/*
-		 * if (index < nodeList.size()) { insertBefore(node, (DTDNode)
-		 * nodeList.get(index)); } else { appendChild(node); }
-		 */
-	}
-
-	public DTDNode buildNode(IStructuredDocumentRegion flatNode) {
-		//    ITextRegionList regions = flatNode.getRegions();
-		DTDNode node = null;
-		if (isElement(flatNode)) {
-			// then this is an element
-			node = new Element(this, flatNode);
-		} else if (isEntity(flatNode)) {
-			node = new Entity(this, flatNode);
-		} else if (isNotation(flatNode)) {
-			node = new Notation(this, flatNode);
-		} else if (isAttributeList(flatNode)) {
-			node = new AttributeList(this, flatNode);
-		} else if (isComment(flatNode)) {
-			node = new Comment(this, flatNode);
-		} else if (isParameterEntityReference(flatNode)) {
-			node = new ParameterEntityReference(this, flatNode);
-		} else if (!flatNode.getText().trim().equals("")) { //$NON-NLS-1$
-			node = new Unrecognized(this, flatNode);
-		}
-		if (node != null) {
-			insertNode(node);
-			node.resolveRegions();
-		}
-		return node;
-	}
-
-	public void buildNodes(IStructuredDocumentRegionList list) {
-		NodesEvent addedDTDNodes = new NodesEvent();
-
-		TopLevelNode previousNode = null;
-		for (int i = 0; i < list.getLength(); i++) {
-			IStructuredDocumentRegion flatNode = list.item(i);
-			TopLevelNode node = (TopLevelNode) buildNode(flatNode);
-			// if we don't create a node, then we assume that the flat
-			// node was whitespace. Tack it on to a previous toplevel
-			// node
-			if (node != null) {
-				previousNode = node;
-				addedDTDNodes.add(node);
-			}
-			else {
-				if (previousNode != null) {
-					previousNode.addWhitespaceStructuredDocumentRegion(flatNode);
-				}
-			}
-		}
-
-		if (addedDTDNodes.getNodes().size() > 0)// &&
-		//        creatingNewModel == false)
-		{
-			// now tell people about the additions
-			notifyNodesAdded(addedDTDNodes);
-		}
-	}
-
-	// Implements IndexedRegion
-
-	public boolean contains(int testPosition) {
-		return getStartOffset() <= testPosition && testPosition <= getEndOffset();
-	}
-
-	public void createAttributeList(DTDNode node, String name, boolean isAfter) {
-		getDTDModel().beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_ATTR_LIST")); //$NON-NLS-1$
-		String newStream = "<!ATTLIST " + name + ">\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		int offset = getInsertOffset(node, isAfter);
-		getStructuredDocument().replaceText(this, offset, 0, newStream);
-		getDTDModel().endRecording(this);
-	}
-
-	public void createComment(DTDNode node, String name, boolean isAfter) {
-		getDTDModel().beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_COMMENT")); //$NON-NLS-1$
-		String newStream = "<!-- " + name + " -->\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		int offset = getInsertOffset(node, isAfter);
-		getStructuredDocument().replaceText(this, offset, 0, newStream);
-		getDTDModel().endRecording(this);
-	}
-
-	public void createElement(DTDNode node, String name, boolean isAfter) {
-		getDTDModel().beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_ELEMENT")); //$NON-NLS-1$
-		String newStream = "<!ELEMENT " + name + " EMPTY>\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		int offset = getInsertOffset(node, isAfter);
-		getStructuredDocument().replaceText(this, offset, 0, newStream);
-		getDTDModel().endRecording(this);
-	}
-
-	public void createEntity(DTDNode node, String name, boolean isAfter) {
-		getDTDModel().beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_ENTITY")); //$NON-NLS-1$
-		String newStream = "<!ENTITY " + name + " \"\">\n"; //$NON-NLS-1$//$NON-NLS-2$
-		int offset = getInsertOffset(node, isAfter);
-		getStructuredDocument().replaceText(this, offset, 0, newStream);
-		getDTDModel().endRecording(this);
-	}
-
-	public void createNotation(DTDNode node, String name, boolean isAfter) {
-		getDTDModel().beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_NOTATION")); //$NON-NLS-1$
-		String newStream = "<!NOTATION " + name + " SYSTEM \"\">\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		int offset = getInsertOffset(node, isAfter);
-		getStructuredDocument().replaceText(this, offset, 0, newStream);
-		getDTDModel().endRecording(this);
-	}
-
-	public void createParameterEntityReference(DTDNode node, String name, boolean isAfter) {
-		getDTDModel().beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_PARM_ENTITY_REF")); //$NON-NLS-1$
-		String newStream = name + "\n"; //$NON-NLS-1$
-		int offset = getInsertOffset(node, isAfter);
-		getStructuredDocument().replaceText(this, offset, 0, newStream);
-		getDTDModel().endRecording(this);
-	}
-
-	public void deleteNode(DTDNode node) {
-		getDTDModel().beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_DTD_FILE_DELETE")); //$NON-NLS-1$
-		deleteNode(this, node);
-		getDTDModel().endRecording(this);
-	}
-
-	public void deleteNode(Object requestor, DTDNode node) {
-		DTDNode parent = (DTDNode) node.getParentNode();
-		if (parent != null) {
-			parent.delete(requestor, node);
-		} else {
-			if (!isMovingNode) {
-				DTDModelUpdater updater = new DTDModelUpdater();
-				updater.objectAboutToBeDeleted(requestor, node);
-				if (node instanceof ParameterEntityReference) {
-					Entity referencedEntity = ((ParameterEntityReference) node).getEntityObject();
-					if (referencedEntity != null) {
-						// remove references to all elements and parm entities
-						// contained in our current model
-						DTDExternalReferenceRemover remover = new DTDExternalReferenceRemover();
-						remover.externalReferenceAboutToChange(requestor, referencedEntity);
-					}
-				} else if (node instanceof Notation) {
-					Notation notation = ((Notation) node);
-					DTDNotationReferenceRemover remover = new DTDNotationReferenceRemover();
-					remover.notationAboutToBeDeleted(requestor, notation);
-				}
-			}
-
-			// no parent? then delete up until the start of the next node
-			// if it is a top level node
-			int startOffset = node.getStartOffset();
-			int endOffset = node.getWhitespaceEndOffset();
-			if (node instanceof TopLevelNode) {
-				endOffset = getInsertOffset(node, true);
-			}
-			getStructuredDocument().replaceText(requestor, startOffset, endOffset - startOffset, ""); //$NON-NLS-1$
-		}
-	}
-
-	public NodeList getComments() {
-		return commentList;
-	}
-
-	public DTDModelImpl getDTDModel() {
-		return dtdModel;
-	}
-
-	public NodeList getElementsAndParameterEntityReferences() {
-		return elementList;
-	}
-
-	public int getEndOffset() {
-		IStructuredDocumentRegion region = getStructuredDocument().getFirstStructuredDocumentRegion();
-		if (region != null)
-			return region.getEndOffset();
-		else
-			return 1;
-	}
-
-	public NodeList getEntities() {
-		return entityList;
-	}
-
-	public Image getImage() {
-		return DTDCorePlugin.getInstance().getImage(DTDResource.DTDFILEICON);
-	}
-
-
-
-	public int getInsertOffset(DTDNode node, boolean isAfter) {
-		int offset = 0;
-		if (node != null) {
-			if (isAfter) {
-				// then get the next node and use it's start offset
-				int index = getNodes().indexOf(getNode(node.getStructuredDTDDocumentRegion()));
-
-				DTDNode afterNode = null;
-				if (index + 1 < getNodes().size()) {
-					afterNode = (DTDNode) getNodes().get(index + 1);
-				}
-				if (afterNode != null) {
-					offset = afterNode.getStructuredDTDDocumentRegion().getStartOffset();
-				} else {
-					// add to end
-					if (getStructuredDocument().getLastStructuredDocumentRegion() != null) {
-						offset = getStructuredDocument().getLastStructuredDocumentRegion().getEndOffset();
-					}
-				}
-			} else {
-				offset = node.getStructuredDTDDocumentRegion().getStartOffset();
-			}
-		} else {
-			// add to end
-			if (getStructuredDocument().getLastStructuredDocumentRegion() != null) {
-				offset = getStructuredDocument().getLastStructuredDocumentRegion().getEndOffset();
-			}
-		}
-		return offset;
-	}
-
-	public String getName() {
-		org.eclipse.core.runtime.Path path = new org.eclipse.core.runtime.Path(getDTDModel().getId().toString());
-		return path.lastSegment();
-	}
-
-	public DTDNode getNode(IStructuredDocumentRegion flatNode) {
-		for (int i = 0; i < nodeList.size(); i++) {
-			DTDNode node = (DTDNode) nodeList.get(i);
-			if (node.getStructuredDTDDocumentRegion() == flatNode) {
-				return node;
-			}
-		}
-		return null;
-	}
-
-	public IndexedRegion getNodeAt(int offset) {
-		DTDNode node = getTopLevelNodeAt(offset);
-		if (node != null) {
-			return node.getDeepestNode(offset);
-		}
-		return null;
-	}
-
-	public IndexedRegion getNodeAt(int startOffset, int endOffset) {
-		DTDNode node = getTopLevelNodeAt(startOffset);
-		if (node != null) {
-			return node.getDeepestNode(startOffset, endOffset);
-		}
-		return null;
-	}
-
-	public List getNodeLists() {
-		if (folderList == null) {
-			folderList = new ArrayList();
-			folderList.add(notationList);
-			folderList.add(entityList);
-			folderList.add(elementList);
-			// http://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4200
-			//folderList.add(attlistList);
-			//folderList.add(commentList);
-			folderList.add(unrecognizedList);
-		}
-		return folderList;
-	}
-
-	public List getNodes() {
-		return nodeList;
-	}
-
-	public NodeList getNotations() {
-		return notationList;
-	}
-
-	public int getStartOffset() {
-		IStructuredDocumentRegion region = getStructuredDocument().getFirstStructuredDocumentRegion();
-		if (region != null)
-			return region.getStartOffset();
-		else
-			return 1;
-	}
-
-	public IStructuredDocument getStructuredDocument() {
-		return dtdModel.getStructuredDocument();
-	}
-
-	public DTDNode getTopLevelNodeAt(int offset) {
-		for (int i = 0; i < nodeList.size(); i++) {
-			DTDNode node = (DTDNode) nodeList.get(i);
-			if (node.contains(offset)) {
-				return node;
-			}
-		}
-		return null;
-	}
-
-	public NodeList getUnrecognized() {
-		return unrecognizedList;
-	}
-
-	public void insertIntoModel(Object requestor, DTDNode reference, DTDNode node, boolean isAfter) {
-		String nodeText = ""; //$NON-NLS-1$
-		if (node instanceof TopLevelNode) {
-			nodeText = ((TopLevelNode) node).getFullText();
-		} else {
-			nodeText = node.getNodeText();
-		}
-		int offset = getInsertOffset(reference, isAfter);
-		getStructuredDocument().replaceText(requestor, offset, 0, nodeText);
-	}
-
-
-	public void insertNode(DTDNode node) {
-		int startOffset = node.getStartOffset();
-		int insertIndex = -1;
-		//    System.out.println("startoffset = " + startOffset);
-		for (int i = 0; i < getNodes().size(); i++) {
-			DTDNode currentNode = (DTDNode) getNodes().get(i);
-			//      System.out.println("currentNode endOffset = "
-			// +currentNode.getEndOffset());
-
-			if (currentNode.getEndOffset() > startOffset) {
-				//        System.out.println("endoffset " +
-				// currentNode.getEndOffset() + " > " + startOffset);
-				insertIndex = i;
-				break;
-			}
-		}
-		if (insertIndex == -1) {
-			insertIndex = getNodes().size();
-		}
-
-
-		//    System.out.println("insert index = " + insertIndex);
-
-		addNode(insertIndex, node);
-	}
-
-	// it is assumed that flatnode contains at least 3 regions
-	public boolean isAttributeList(IStructuredDocumentRegion flatNode) {
-		if (flatNode.getRegions().size() >= 3) {
-			ITextRegion second = flatNode.getRegions().get(1);
-			ITextRegion third = flatNode.getRegions().get(2);
-			if (second.getType().equals(DTDRegionTypes.EXCLAMATION) && third.getType().equals(DTDRegionTypes.ATTLIST_TAG)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	// it is assumed that flatnode contains at least 3 regions
-	public boolean isComment(IStructuredDocumentRegion flatNode) {
-		if (flatNode.getRegions().size() >= 2) {
-			ITextRegion region = flatNode.getRegions().get(1);
-			if (region.getType().equals(DTDRegionTypes.COMMENT_START)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	// it is assumed that flatnode contains at least 3 regions
-	public boolean isElement(IStructuredDocumentRegion flatNode) {
-		if (flatNode.getRegions().size() >= 3) {
-			ITextRegion second = flatNode.getRegions().get(1);
-			ITextRegion third = flatNode.getRegions().get(2);
-			if (second.getType().equals(DTDRegionTypes.EXCLAMATION) && third.getType().equals(DTDRegionTypes.ELEMENT_TAG)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	// it is assumed that flatnode contains at least 3 regions
-	public boolean isEntity(IStructuredDocumentRegion flatNode) {
-		if (flatNode.getRegions().size() >= 3) {
-			ITextRegion second = flatNode.getRegions().get(1);
-			ITextRegion third = flatNode.getRegions().get(2);
-			if (second.getType().equals(DTDRegionTypes.EXCLAMATION) && third.getType().equals(DTDRegionTypes.ENTITY_TAG)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	// it is assumed that flatnode contains at least 3 regions
-	public boolean isNotation(IStructuredDocumentRegion flatNode) {
-		if (flatNode.getRegions().size() >= 3) {
-			ITextRegion second = flatNode.getRegions().get(1);
-			ITextRegion third = flatNode.getRegions().get(2);
-			if (second.getType().equals(DTDRegionTypes.EXCLAMATION) && third.getType().equals(DTDRegionTypes.NOTATION_TAG)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	// it is assumed that flatnode contains at least 3 regions
-	public boolean isParameterEntityReference(IStructuredDocumentRegion flatNode) {
-		if (flatNode.getRegions().size() == 1) {
-			ITextRegion region = flatNode.getRegions().get(0);
-			if (region.getType().equals(DTDRegionTypes.ENTITY_PARM)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	boolean isSameTopLevelType(DTDNode affectedNode) {
-		IStructuredDocumentRegion flatNode = affectedNode.getStructuredDTDDocumentRegion();
-		// return true if the flatnode still matches what the affectedNode
-		// is representing
-		if (affectedNode instanceof Element && isElement(flatNode)) {
-			return true;
-		}
-		if (affectedNode instanceof Entity && isEntity(flatNode)) {
-			return true;
-		}
-		if (affectedNode instanceof Comment && isComment(flatNode)) {
-			return true;
-		}
-		if (affectedNode instanceof AttributeList && isAttributeList(flatNode)) {
-			return true;
-		}
-		if (affectedNode instanceof Notation && isNotation(flatNode)) {
-			return true;
-		}
-		if (affectedNode instanceof Unrecognized && isUnrecognized(flatNode)) {
-			return true;
-		}
-		return false;
-	}
-
-	public boolean isUnrecognized(IStructuredDocumentRegion flatNode) {
-		return !isElement(flatNode) && !isEntity(flatNode) && !isNotation(flatNode) && !isParameterEntityReference(flatNode) && !isAttributeList(flatNode) && !isComment(flatNode);
-	}
-
-	public void moveNode(Object requestor, DTDNode referenceNode, DTDNode nodeToMove, boolean isAfter) {
-		isMovingNode = true;
-
-		deleteNode(requestor, nodeToMove);
-		insertIntoModel(requestor, referenceNode, nodeToMove, isAfter);
-		isMovingNode = false;
-	}
-
-	public void newModel(NewDocumentEvent event) {
-		creatingNewModel = true;
-		nodeList.clear();
-		NodesEvent removeEvent = new NodesEvent();
-		removeEvent.getNodes().addAll(nodeList);
-		notifyNodesRemoved(removeEvent);
-		/* removeChildNodes(); */
-
-		if (event.getStructuredDocument() != null && event.getStructuredDocument().getRegionList() != null) {
-			buildNodes(event.getStructuredDocument().getRegionList());
-		}
-		creatingNewModel = false;
-	}
-
-	public void nodesReplaced(StructuredDocumentRegionsReplacedEvent event) {
-		IStructuredDocumentRegionList oldNodes = event.getOldStructuredDocumentRegions();
-		NodesEvent removedDTDNodes = new NodesEvent();
-		for (int i = 0; i < oldNodes.getLength(); i++) {
-			IStructuredDocumentRegion flatNode = oldNodes.item(i);
-
-			for (Iterator iter = getNodes().iterator(); iter.hasNext();) {
-				DTDNode node = (DTDNode) iter.next();
-				if (node.getStructuredDTDDocumentRegion() == flatNode) {
-					removedDTDNodes.add(node);
-				}
-			}
-		}
-
-		buildNodes(event.getNewStructuredDocumentRegions());
-
-		if (removedDTDNodes.getNodes().size() > 0) {
-			notifyNodesRemoved(removedDTDNodes);
-			removeNodes(removedDTDNodes.getNodes());
-		}
-	}
-
-	public void notifyNodeChanged(DTDNode node) {
-		Iterator iter = modelListeners.iterator();
-		while (iter.hasNext()) {
-			IDTDFileListener listener = (IDTDFileListener) iter.next();
-			listener.nodeChanged(node);
-		}
-	}
-
-	public void notifyNodesAdded(NodesEvent addedNodes) {
-		Iterator iter = modelListeners.iterator();
-		while (iter.hasNext()) {
-			IDTDFileListener listener = (IDTDFileListener) iter.next();
-			listener.nodesAdded(addedNodes);
-		}
-	}
-
-	protected void notifyNodesRemoved(NodesEvent event) {
-		Iterator iter = modelListeners.iterator();
-		while (iter.hasNext()) {
-			IDTDFileListener listener = (IDTDFileListener) iter.next();
-			listener.nodesRemoved(event);
-		}
-	}
-
-	public void rebuildNodes(List nodes) {
-		// remove the old nodes
-		removeNodes(nodes);
-
-		// now rebuild them
-		NodesEvent addedDTDNodes = new NodesEvent();
-		Iterator dtdNodes = nodes.iterator();
-		while (dtdNodes.hasNext()) {
-			DTDNode dtdNode = (DTDNode) dtdNodes.next();
-			//      System.out.println("rebuilding " +
-			// dtdNode.getStructuredDocumentRegion().getText());
-
-			DTDNode node = buildNode(dtdNode.getStructuredDTDDocumentRegion());
-			if (node != null) {
-				addedDTDNodes.add(node);
-			}
-		}
-		if (addedDTDNodes.getNodes().size() > 0) {
-			// now tell people about the additions
-			notifyNodesAdded(addedDTDNodes);
-		}
-	}
-
-	public void regionChanged(RegionChangedEvent event) {
-		ITextRegion changedRegion = event.getRegion();
-		IStructuredDocumentRegion flatNode = event.getStructuredDocumentRegion();
-		DTDNode affectedNode = (DTDNode) getNodeAt(flatNode.getStartOffset(changedRegion), flatNode.getEndOffset(changedRegion));
-		if (affectedNode != null) {
-			// no need to resolve regions as it is just a change
-			//      affectedNode.resolveRegions();
-			notifyNodeChanged(affectedNode);
-		}
-	}
-
-	public void regionsReplaced(RegionsReplacedEvent event) {
-		List nodesToRebuild = new ArrayList();
-		IStructuredDocumentRegion flatNode = event.getStructuredDocumentRegion();
-		DTDNode affectedNode = getNode(flatNode);
-
-		if (!isSameTopLevelType(affectedNode)) {
-			nodesToRebuild.add(affectedNode);
-			rebuildNodes(nodesToRebuild);
-		} else {
-			affectedNode.resolveRegions();
-			notifyNodeChanged(affectedNode);
-			// now try and determine which ones were added
-			NodesEvent addedDTDNodes = new NodesEvent();
-			ITextRegionList newRegions = event.getNewRegions();
-			int size = newRegions.size();
-			for (int i = 0; i < size; i++) {
-				ITextRegion region = newRegions.get(i);
-				DTDNode deepestNode = affectedNode.getDeepestNode(flatNode.getStartOffset(region), flatNode.getEndOffset(region));
-				if (!addedDTDNodes.getNodes().contains(deepestNode)) {
-					addedDTDNodes.add(deepestNode);
-				}
-			}
-			if (addedDTDNodes.getNodes().size() > 0) {
-				notifyNodesAdded(addedDTDNodes);
-			}
-		}
-	}
-
-	public void removeDTDFileListener(IDTDFileListener listener) {
-		modelListeners.remove(listener);
-	}
-
-	protected void removeNodes(List nodes) {
-		getNodes().removeAll(nodes);
-		/*
-		 * for (int i = 0; i < nodes.size(); i++) {
-		 * removeChild((DTDNode)nodes.get(i)); } // end of for ()
-		 */
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDNode.java
deleted file mode 100644
index 134bda7..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDNode.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.document.DTDModelImpl;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.text.TextRegionListImpl;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.internal.document.NodeContainer;
-
-
-public abstract class DTDNode extends NodeContainer implements IndexedRegion {
-
-	// these are characteroffsets
-	protected DTDFile dtdFile;
-
-	// flat node that contains this node
-	protected IStructuredDocumentRegion flatNode;
-
-	protected TextRegionListImpl regions = new TextRegionListImpl();
-
-	protected TextRegionListImpl whitespace = new TextRegionListImpl();
-
-	public DTDNode(DTDFile dtdFile, IStructuredDocumentRegion flatNode) {
-		this.dtdFile = dtdFile;
-		this.flatNode = flatNode;
-	}
-
-	public void addRegion(ITextRegion region) {
-		/*
-		 * if (startRegion == null) { startRegion = region; } endRegion =
-		 * region;
-		 */
-		regions.add(region);
-	}
-
-	public void addWhitespaceRegion(ITextRegion region) {
-		whitespace.add(region);
-	}
-
-	public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild) throws org.w3c.dom.DOMException {
-		// System.out.println("appendchild called with " + newChild);
-		return super.appendChild(newChild);
-	}
-
-	public void beginRecording(Object requestor, String label) {
-		getDTDFile().getDTDModel().beginRecording(requestor, label);
-	}
-
-	public org.w3c.dom.Node cloneNode(boolean deepest) {
-		return null;
-	}
-
-	public boolean contains(int testPosition) {
-		return containsRange(testPosition, testPosition);
-	}
-
-	public boolean containsRange(int start, int end) {
-		return getStartOffset() <= start && end <= getEndOffset();
-	}
-
-	public void delete(DTDNode child) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_DTD_NODE_DELETE")); //$NON-NLS-1$
-		delete(this, child);
-		endRecording(this);
-	}
-
-	public void delete(Object requestor, DTDNode child) {
-		replaceText(requestor, child.getStartOffset(), child.getFullNodeLength(), ""); //$NON-NLS-1$
-	}
-
-	public void endRecording(Object requestor) {
-		getDTDFile().getDTDModel().endRecording(requestor);
-	}
-
-	public Object[] getChildren() {
-		return getChildrenList().toArray();
-	}
-
-	public List getChildrenList() {
-		org.w3c.dom.Node child = getFirstChild();
-		if (child != null) {
-			List children = new ArrayList();
-			for (; child != null; child = child.getNextSibling()) {
-				children.add(child);
-			}
-			return children;
-		} else {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	public DTDNode getDeepestNode(int offset) {
-		if (contains(offset)) {
-			// now see if a child contains this offset
-			Object[] children = getChildren();
-			for (int i = 0; i < children.length; i++) {
-				DTDNode child = (DTDNode) children[i];
-				DTDNode deepest = child.getDeepestNode(offset);
-				if (deepest != null) {
-					return deepest;
-				}
-			} // end of for ()
-			return this;
-		}
-		return null;
-	}
-
-	public DTDNode getDeepestNode(int start, int end) {
-		if (containsRange(start, end)) {
-			// now see if a child contains this offset
-			Object[] children = getChildren();
-			for (int i = 0; i < children.length; i++) {
-				DTDNode child = (DTDNode) children[i];
-				DTDNode deepest = child.getDeepestNode(start, end);
-				if (deepest != null) {
-					return deepest;
-				}
-			} // end of for ()
-			return this;
-		}
-		return null;
-	}
-
-	public DTDFile getDTDFile() {
-		return dtdFile;
-	}
-
-	public int getEndOffset() {
-		return getStructuredDTDDocumentRegion().getEndOffset(getEndRegion());
-	}
-
-	public ITextRegion getEndRegion() {
-		return regions.get(regions.size() - 1);// endRegion;
-	}
-
-	/**
-	 */
-	public IFactoryRegistry getFactoryRegistry() {
-		DTDModelImpl model = dtdFile.getDTDModel();
-		if (model != null) {
-			IFactoryRegistry reg = model.getFactoryRegistry();
-			if (reg != null)
-				return reg;
-		}
-		return null;
-	}
-
-	public int getFullNodeLength() {
-		return getWhitespaceEndOffset() - getStartOffset();
-	}
-
-	public String getFullNodeText() {
-		String text = getNodeText();
-		if (whitespace.size() > 0) {
-			RegionIterator iter = new RegionIterator(whitespace);
-			while (iter.hasNext()) {
-				ITextRegion region = iter.next();
-				text += getStructuredDTDDocumentRegion().getText(region);
-			}
-		}
-		return text;
-	}
-
-	abstract public Image getImage();
-
-	public String getName() {
-		ITextRegion region = getNameRegion();
-		if (region != null) {
-			return getStructuredDTDDocumentRegion().getText(region);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public ITextRegion getNameRegion() {
-		RegionIterator iter = iterator();
-		while (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			if (region.getType() == DTDRegionTypes.NAME) {
-				return region;
-			}
-		}
-		return null;
-	}
-
-	// return the first token containing the specified token type
-	public ITextRegion getNextRegion(RegionIterator iter, String type) {
-		while (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			if (region.getType().equals(type)) {
-				return region;
-			}
-		}
-		return null;
-	}
-
-	public int getNodeLength() {
-		return getEndOffset() - getStartOffset();
-	}
-
-	public String getNodeName() {
-		return getName();
-	}
-
-	public String getNodeText() {
-		StringBuffer sb = new StringBuffer();
-
-		RegionIterator iter = iterator();
-		while (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			sb.append(getStructuredDTDDocumentRegion().getText(region));
-		}
-		return sb.toString();
-	}
-
-	public short getNodeType() {
-		return -1;
-	}
-
-	public int getStartOffset() {
-		return getStructuredDTDDocumentRegion().getStartOffset(getStartRegion());
-	}
-
-	// private Region startRegion,endRegion;
-	public ITextRegion getStartRegion() {
-		return regions.get(0);
-		// return startRegion;
-	}
-
-	/**
-	 * Get the value of flatNode.
-	 * 
-	 * @return value of flatNode.
-	 * 
-	 * ISSUE:named changed not to be confused with default access protected
-	 * super class method, but should re-think if this is correct technique.
-	 * Perhaps getFirstRegion?
-	 */
-	public IStructuredDocumentRegion getStructuredDTDDocumentRegion() {
-		return flatNode;
-	}
-
-	// return end offset including whitespace
-	// or just the end offset if there is no whitespace
-	public int getWhitespaceEndOffset() {
-		if (whitespace.size() > 0) {
-			ITextRegion region = whitespace.get(whitespace.size() - 1);
-			return getStructuredDTDDocumentRegion().getEndOffset(region);
-		}
-
-		return getEndOffset();
-	}
-
-	public boolean hasTrailingWhitespace() {
-		return whitespace.size() > 0;
-	}
-
-	public RegionIterator iterator() {
-		// System.out.println("create region iter " + this.getClass() + " with
-		// start , end = " + getStartOffset() + ", " +getEndOffset());
-		return new RegionIterator(regions);
-	}
-
-	public void replaceText(Object requestor, int start, int length, String newText) {
-		getDTDFile().getStructuredDocument().replaceText(requestor, start, length, newText);
-	}
-
-	public void resolveRegions() {
-	}
-
-	public void setName(Object requestor, String name) {
-		if (!getName().equals(name)) {
-			ITextRegion nameRegion = getNameRegion();
-			if (nameRegion != null) {
-				// nameToken.updateText(name);
-				getDTDFile().getDTDModel().getReferenceUpdater().nameAboutToChange(requestor, this, name);
-				replaceText(requestor, getStructuredDTDDocumentRegion().getStartOffset(nameRegion), nameRegion.getLength(), name);
-			}
-		}
-	}
-
-	public void setName(String name) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_DTD_NODE_NAME_CHG")); //$NON-NLS-1$
-		setName(this, name);
-		endRecording(this);
-	}
-
-	/**
-	 * Set the value of flatNode.
-	 * 
-	 * @param v
-	 *            Value to assign to flatNode. ISSUE:named changed not to be
-	 *            confused with default access protected super class method,
-	 *            but should re-think if this is correct technique
-	 */
-	void setStructuredDTDDocumentRegion(IStructuredDocumentRegion v) {
-		this.flatNode = v;
-	}
-
-	// skips past next name token in the iterator
-	protected void skipPastName(RegionIterator iter) {
-		while (iter.hasNext()) {
-			ITextRegion currentRegion = iter.next();
-			if (currentRegion.getType() == DTDRegionTypes.NAME) {
-				break;
-			}
-		}
-	}
-
-	public boolean supports(java.lang.String feature, java.lang.String version) {
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDPlugin.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDPlugin.java
deleted file mode 100644
index ae9deed..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDPlugin.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-
-/**
- * @deprecated use internal DTDCorePlugin class instead if possible
- */
-public class DTDPlugin extends DTDCorePlugin {
-	// see org.eclipse.wst.dtd.core.internal.DTDCorePlugin
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDResource.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDResource.java
deleted file mode 100644
index 0f1d053..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDResource.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-
-public interface DTDResource {
-	//Enumeration Constants
-	public static final String ANYICON = "icons/full/obj16/any.gif"; //$NON-NLS-1$
-	public static final String ATTRIBUTEICON = "icons/full/obj16/attribute.gif"; //$NON-NLS-1$
-	public static final String ATTRIBUTELISTICON = "icons/full/obj16/attribute_list.gif"; //$NON-NLS-1$
-	public static final String COMMENTICON = "icons/full/obj16/comment.gif"; //$NON-NLS-1$
-
-	public static final String DTDFILEICON = "icons/full/obj16/DTDFile.gif"; //$NON-NLS-1$
-	public static final String ELEMENTICON = "icons/full/obj16/element.gif"; //$NON-NLS-1$
-	public static final String ELEMENTREFICON = "icons/full/obj16/element_ref.gif"; //$NON-NLS-1$
-	public static final String EMPTYICON = "icons/full/obj16/emptycontent.gif"; //$NON-NLS-1$
-	public static final String ENTITYICON = "icons/full/obj16/entity.gif"; //$NON-NLS-1$
-	public static final String ENTITYREFERENCEICON = "icons/full/obj16/entity_reference.gif"; //$NON-NLS-1$
-	public static final String FLDR_ATTLIST = "icons/full/obj16/folder_attlist_obj.gif"; //$NON-NLS-1$
-	public static final String FLDR_COMM = "icons/full/obj16/folder_comments_obj.gif"; //$NON-NLS-1$
-
-	public static final String FLDR_EL = "icons/full/obj16/fldr_el.gif"; //$NON-NLS-1$
-	public static final String FLDR_ENT = "icons/full/obj16/fldr_ent.gif"; //$NON-NLS-1$
-	public static final String FLDR_NOT = "icons/full/obj16/fldr_not.gif"; //$NON-NLS-1$
-	public static final String FLDR_UNREC = "icons/full/obj16/fldr_unrec.gif"; //$NON-NLS-1$
-
-	public static final String NEWDTD = "icons/full/obj16/newdtd_wiz.gif"; //$NON-NLS-1$
-	public static final String NEWHTMLFORM = "icons/full/obj16/genhtmform_wiz.gif"; //$NON-NLS-1$
-	public static final String NOTATIONICON = "icons/full/obj16/notation.gif"; //$NON-NLS-1$
-
-	public static final String ONECHOICEICON = "icons/full/obj16/onechoice.gif"; //$NON-NLS-1$
-
-	public static final String ONEICON = "icons/full/obj16/one.gif"; //$NON-NLS-1$
-	public static final String ONEORMORECHOICEICON = "icons/full/obj16/oneormorechoice.gif"; //$NON-NLS-1$
-	public static final String ONEORMOREICON = "icons/full/obj16/oneormore.gif"; //$NON-NLS-1$
-	public static final String ONEORMORESEQUENCEICON = "icons/full/obj16/oneormoresequence.gif"; //$NON-NLS-1$
-
-	public static final String ONESEQUENCEICON = "icons/full/obj16/onesequence.gif"; //$NON-NLS-1$
-	public static final String OPTIONALCHOICEICON = "icons/full/obj16/optionalchoice.gif"; //$NON-NLS-1$
-	public static final String OPTIONALICON = "icons/full/obj16/optional.gif"; //$NON-NLS-1$
-	public static final String OPTIONALSEQUENCEICON = "icons/full/obj16/optionalsequence.gif"; //$NON-NLS-1$
-	public static final String PCDATAICON = "icons/full/obj16/txtext.gif"; //$NON-NLS-1$
-	public static final String UNRECOGNIZEDICON = "icons/full/obj16/unrecognized_content.gif"; //$NON-NLS-1$
-	public static final String ZEROORMORECHOICEICON = "icons/full/obj16/zeroormorechoice.gif"; //$NON-NLS-1$
-	public static final String ZEROORMOREICON = "icons/full/obj16/zeroormore.gif"; //$NON-NLS-1$
-	public static final String ZEROORMORESEQUENCEICON = "icons/full/obj16/zeroormoresequence.gif"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Element.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Element.java
deleted file mode 100644
index 7347f0b..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Element.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.w3c.dom.Node;
-
-
-public class Element extends NamedTopLevelNode {
-
-	List attListList = new ArrayList();
-
-	List attributes = new ArrayList();
-
-	protected CMNode contentModel;
-
-	public Element(DTDFile dtdFile, IStructuredDocumentRegion flatNode) {
-		super(dtdFile, flatNode, DTDRegionTypes.ELEMENT_TAG);
-	}
-
-	public void addAttribute(String name) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_ELEMENT_ADD_ATTR")); //$NON-NLS-1$
-		List attLists = getAttributeLists();
-		if (attLists.size() == 0) {
-			getDTDFile().createAttributeList(this, getName(), true);
-			attLists = getAttributeLists();
-		}
-		if (attLists.size() > 0) {
-			AttributeList attList = (AttributeList) attLists.get(attLists.size() - 1);
-			attList.addAttribute(name);
-		}
-		endRecording(this);
-	}
-
-	public void addChild() {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_ELEMENT_ADD_CHILD")); //$NON-NLS-1$
-		addContent(this, " EMPTY"); //$NON-NLS-1$
-		endRecording(this);
-	}
-
-	protected void addContent(Object requestor, String content) {
-		ITextRegion whitespace = getWhitespaceAfterName();
-		int startOffset = 0;
-		int length = 0;
-		if (whitespace != null) {
-			startOffset = getStructuredDTDDocumentRegion().getStartOffset(whitespace);
-			length = whitespace.getLength() >= 2 ? 1 : 0;
-		} else {
-			ITextRegion nameRegion = getNameRegion();
-			if (nameRegion != null) {
-				startOffset = getStructuredDTDDocumentRegion().getEndOffset(nameRegion);
-			} else {
-				ITextRegion elementTag = getNextRegion(iterator(), DTDRegionTypes.ELEMENT_TAG);
-				startOffset = getStructuredDTDDocumentRegion().getEndOffset(elementTag);
-			}
-		}
-		replaceText(requestor, startOffset, length, content);
-	}
-
-	public void addGroup() {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_ELEMENT_ADD_GRP")); //$NON-NLS-1$
-		addContent(this, " ()"); //$NON-NLS-1$
-		endRecording(this);
-	}
-
-	public Node cloneNode(boolean deep) {
-		return new Element(dtdFile, flatNode);
-	}
-
-	public List getAttributeLists() {
-		attListList.clear();
-		String elementName = getName();
-		Iterator iter = dtdFile.getNodes().iterator();
-		while (iter.hasNext()) {
-			DTDNode node = (DTDNode) iter.next();
-			if (node instanceof AttributeList && node.getName().equals(elementName)) {
-				attListList.add(node);
-			}
-		}
-		return attListList;
-	}
-
-
-
-	public CMNode getContentModel() {
-		//    Object[] children = getChildren()
-		return (CMNode) getFirstChild();//contentModel;
-	}
-
-	public List getElementAttributes() {
-		attributes.clear();
-		Iterator attLists = getAttributeLists().iterator();
-		while (attLists.hasNext()) {
-			AttributeList attList = (AttributeList) attLists.next();
-
-			Object[] children = attList.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				attributes.add(children[i]);
-			}
-		}
-		return attributes;
-	}
-
-	public Image getImage() {
-		return DTDCorePlugin.getInstance().getImage(DTDResource.ELEMENTICON);
-	}
-
-	public short getNodeType() {
-		return Node.ELEMENT_NODE;
-	}
-
-	public void replaceContentModel(Object requestor, CMNode node) {
-		int offset = 0;
-		int length = 0;
-		String nodeText = node.getNodeText();
-		CMNode contentModel = getContentModel();
-		if (contentModel != null) {
-			offset = contentModel.getStartOffset();
-			length = contentModel.getWhitespaceEndOffset() - offset;
-			replaceText(requestor, offset, length, nodeText);
-		} else {
-			addContent(requestor, nodeText);
-		}
-	}
-
-	public void resolveRegions() {
-		//    System.out.println("element node stream = " +
-		// tokenStream.getString());
-		contentModel = null;
-		removeChildNodes();
-		RegionIterator iter = iterator();
-
-		if (getNameRegion() != null) {
-			// we skip past the name token is our name
-			skipPastName(iter);
-		}
-
-		while (iter.hasNext()) {
-			ITextRegion currentRegion = iter.next();
-
-			if (contentModel == null) {
-				if (currentRegion.getType().equals(DTDRegionTypes.NAME)) {
-					contentModel = new CMBasicNode(getDTDFile(), getStructuredDTDDocumentRegion());
-				} else if (currentRegion.getType().equals(DTDRegionTypes.CONTENT_PCDATA)) {
-					contentModel = new CMBasicNode(getDTDFile(), getStructuredDTDDocumentRegion());
-				} else if (currentRegion.getType().equals(DTDRegionTypes.LEFT_PAREN)) {
-					contentModel = new CMGroupNode(getDTDFile(), getStructuredDTDDocumentRegion());
-				}
-			}
-
-			if (contentModel != null) {
-				if (!currentRegion.getType().equals(DTDRegionTypes.END_TAG)) {
-					// content model gets all regions except for the '>'
-					contentModel.addRegion(currentRegion);
-				} else {
-					// if it is equal to the end tag, then don't add anymore
-					// regions
-					// for the content model
-					break;
-				}
-
-			}
-
-		}
-		if (contentModel != null) {
-			appendChild(contentModel);
-			// this is the root element content so set it true
-			contentModel.setRootElementContent(true);
-			// now tell the content model to resolve it's regions
-			contentModel.resolveRegions();
-
-		}
-	}
-
-	public void setContentModel(CMNode contentModel) {
-		this.contentModel = contentModel;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Entity.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Entity.java
deleted file mode 100644
index 625d22a..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Entity.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-// external node contains code to help set and get public ids
-public class Entity extends ExternalNode {
-
-	private static String setExternalEntity = DTDCorePlugin.getDTDString("_UI_LABEL_ENTITY_SET_EXT_ENTITY"); //$NON-NLS-1$
-	private static String setGeneralEntity = DTDCorePlugin.getDTDString("_UI_LABEL_ENTITY_SET_GENERAL_ENTITY"); //$NON-NLS-1$
-	private static String setInternalEntity = DTDCorePlugin.getDTDString("_UI_LABEL_ENTITY_SET_INT_ENTITY"); //$NON-NLS-1$
-
-	private static String setParameterEntity = DTDCorePlugin.getDTDString("_UI_LABEL_ENTITY_SET_PARM_ENTITY"); //$NON-NLS-1$
-
-	public Entity(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode, DTDRegionTypes.ENTITY_TAG);
-	}
-
-	public Image getImage() {
-		return DTDCorePlugin.getInstance().getImage(DTDResource.ENTITYICON);
-	}
-
-
-	/**
-	 * Get the value of notationName.
-	 * 
-	 * @return value of notationName.
-	 */
-	public String getNotationName() {
-		ITextRegion ndataRegion = getNextRegion(iterator(), DTDRegionTypes.NDATA_VALUE);
-		if (ndataRegion != null) {
-			return getStructuredDTDDocumentRegion().getText(ndataRegion);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public ITextRegion getPercentRegion() {
-		return getNextRegion(iterator(), DTDRegionTypes.PERCENT);
-	}
-
-	/**
-	 * Get the value of value.
-	 * 
-	 * @return value of value.
-	 */
-	public String getValue() {
-		if (!isExternalEntity()) {
-			ITextRegion valueRegion = getNextQuotedLiteral(iterator());
-			if (valueRegion != null) {
-				return getValueFromQuotedRegion(valueRegion);
-			}
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Get the value of externalEntity.
-	 * 
-	 * @return value of externalEntity.
-	 */
-	public boolean isExternalEntity() {
-		return getPublicKeywordRegion(iterator()) != null || getSystemKeywordRegion(iterator()) != null;
-	}
-
-	/**
-	 * Get the value of isParameterEntity.
-	 * 
-	 * @return value of isParameterEntity.
-	 */
-	public boolean isParameterEntity() {
-		return getPercentRegion() != null;
-	}
-
-	private void removeNData(Object requestor) {
-		ITextRegion ndataRegion = null;
-
-		// see if we have an NDATA keyword
-		ndataRegion = getNextRegion(iterator(), DTDRegionTypes.NDATA_KEYWORD);
-		int startOffset = 0, endOffset = 0;
-		if (ndataRegion != null) {
-			startOffset = getStructuredDTDDocumentRegion().getStartOffset(ndataRegion);
-			endOffset = getStructuredDTDDocumentRegion().getEndOffset(ndataRegion);
-		}
-		ITextRegion value = getNextRegion(iterator(), DTDRegionTypes.NDATA_VALUE);
-		if (value != null) {
-			if (startOffset == 0) {
-				startOffset = getStructuredDTDDocumentRegion().getStartOffset(value);
-			}
-			endOffset = getStructuredDTDDocumentRegion().getEndOffset(value);
-		}
-		replaceText(requestor, startOffset, endOffset - startOffset, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Set the value of externalEntity.
-	 * 
-	 * @param v
-	 *            Value to assign to externalEntity.
-	 */
-	public void setExternalEntity(boolean isExternalEntity) {
-		if (isExternalEntity() != isExternalEntity) {
-			//      externalEntity = v;
-			beginRecording(this, isExternalEntity ? setExternalEntity : setInternalEntity);
-			if (isExternalEntity) {
-				// we need to get rid of the value literal
-				ITextRegion quote = getNextRegion(iterator(), DTDRegionTypes.SINGLEQUOTED_LITERAL);
-				if (quote == null) {
-					quote = getNextRegion(iterator(), DTDRegionTypes.DOUBLEQUOTED_LITERAL);
-				}
-				if (quote != null) {
-					replaceText(this, getStructuredDTDDocumentRegion().getStartOffset(quote), quote.getLength(), ""); //$NON-NLS-1$
-				}
-				setSystemID(""); //$NON-NLS-1$
-			} else {
-				// we need to get rid of text between end of name region and
-				// the last double quoted literal
-				RegionIterator iter = iterator();
-				ITextRegion keyword = getSystemKeywordRegion(iter);
-				int startOffset = 0;
-				int length = 0;
-				if (keyword == null) {
-					// reset the iterator
-					iter = iterator();
-					keyword = getPublicKeywordRegion(iter);
-				}
-				if (keyword != null) {
-					startOffset = getStructuredDTDDocumentRegion().getStartOffset(keyword);
-					// start with a length just equal to the keyword for now
-					length = keyword.getLength();
-				} else {
-					// reset the iterator since we didn't find the keyword
-					iter = iterator();
-					// just go from after the name
-					startOffset = getStructuredDTDDocumentRegion().getEndOffset(getNameRegion());
-				}
-
-				// now that we have the start, look for the end
-				ITextRegion lastRegion = null;
-
-				if (lastRegion == null) {
-					// then look for last quoted literal
-					while (iter.hasNext()) {
-						ITextRegion literal = getNextQuotedLiteral(iter);
-						if (literal != null) {
-							lastRegion = literal;
-						}
-					}
-				}
-
-				if (lastRegion != null) {
-					length = getStructuredDTDDocumentRegion().getEndOffset(lastRegion) - startOffset;
-				}
-				replaceText(this, startOffset, length, "\"\""); //$NON-NLS-1$
-				removeNData(this);
-			}
-			endRecording(this);
-		}
-	}
-
-	public void setNotationName(Object requestor, String newNotation) {
-		if (!getNotationName().equals(newNotation)) {
-			if (!newNotation.equals("")) { //$NON-NLS-1$
-				// 
-				ITextRegion ndataRegion = getNextRegion(iterator(), DTDRegionTypes.NDATA_VALUE);
-				if (ndataRegion != null) {
-					replaceText(requestor, getStructuredDTDDocumentRegion().getStartOffset(ndataRegion), ndataRegion.getLength(), newNotation);
-				} else {
-					// time to create one
-					int startOffset = 0;
-					String string = ""; //$NON-NLS-1$
-					RegionIterator iter = iterator();
-					ITextRegion ndataKeyword = getNextRegion(iter, DTDRegionTypes.NDATA_KEYWORD);
-					if (ndataKeyword == null) {
-						// we'll need to create one after the last quoted
-						// literal
-						// Reset iterator
-						string += " NDATA "; //$NON-NLS-1$
-						iter = iterator();
-						ITextRegion lastQuotedLiteral = null;
-						while (iter.hasNext()) {
-							ITextRegion literal = getNextQuotedLiteral(iter);
-							if (literal != null) {
-								lastQuotedLiteral = literal;
-							}
-						}
-						if (lastQuotedLiteral != null) {
-							startOffset = getStructuredDTDDocumentRegion().getEndOffset(lastQuotedLiteral);
-						} else {
-							// created after the system or public keyword
-							ITextRegion keyword = getPublicKeywordRegion(iterator());
-							if (keyword == null) {
-								keyword = getSystemKeywordRegion(iterator());
-							}
-							// we shouldn't be null here since we check if we
-							// were external already
-							startOffset = getStructuredDTDDocumentRegion().getEndOffset(keyword);
-						}
-
-					} else {
-						startOffset = getStructuredDTDDocumentRegion().getEndOffset(ndataKeyword);
-					}
-					replaceText(requestor, startOffset, 0, string + newNotation);
-				}
-			} else {
-				// need to remove the ndata stuff
-				removeNData(requestor);
-			}
-		}
-	}
-
-	/**
-	 * Set the value of notationName.
-	 * 
-	 * @param newNotation
-	 *            Value to assign to notationName.
-	 */
-	public void setNotationName(String newNotation) {
-		beginRecording(this, "NDATA " + DTDCorePlugin.getDTDString("_UI_LABEL_ENTITY_NDATA_CHANGE")); //$NON-NLS-1$ //$NON-NLS-2$
-		setNotationName(this, newNotation);
-		endRecording(this);
-	}
-
-	/**
-	 * Set the value of isParameterEntity.
-	 * 
-	 * @param v
-	 *            Value to assign to isParameterEntity.
-	 */
-	public void setParameterEntity(boolean v) {
-		if (isParameterEntity() != v) {
-			beginRecording(this, v ? setParameterEntity : setGeneralEntity);
-			if (v) {
-				RegionIterator iter = iterator();
-				ITextRegion startTag = getNextRegion(iter, DTDRegionTypes.ENTITY_TAG);
-				int startOffset = 0, length = 0;
-
-				if (iter.hasNext()) {
-					ITextRegion region = iter.next();
-					startOffset = getStructuredDTDDocumentRegion().getStartOffset(region);
-					if (region.getType() == DTDRegionTypes.WHITESPACE && region.getLength() > 1) {
-						length = 1;
-					}
-				} else {
-					startOffset = getStructuredDTDDocumentRegion().getEndOffset(startTag);
-				}
-				replaceText(this, startOffset, length, " %"); //$NON-NLS-1$
-				// now get rid of any NData since it is only allowed if the
-				// entity is a general entity and not a parameter entity
-				removeNData(this);
-			} else {
-				// get rid of percent region
-				ITextRegion percentRegion = getPercentRegion();
-				replaceText(this, getStructuredDTDDocumentRegion().getStartOffset(percentRegion), percentRegion.getLength(), ""); //$NON-NLS-1$
-			}
-
-			endRecording(this);
-		}
-	}
-
-	/**
-	 * Set the value of value.
-	 * 
-	 * @param v
-	 *            Value to assign to value.
-	 */
-	public void setValue(Object requestor, String v) {
-		if (!isExternalEntity()) {
-			if (!getValue().equals(v)) {
-				// then it makes sense to change the value
-				ITextRegion valueRegion = getNextQuotedLiteral(iterator());
-				String quoteChar = v.indexOf("\"") == -1 ? "\"" : "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				if (valueRegion != null) {
-					replaceText(requestor, getStructuredDTDDocumentRegion().getStartOffset(valueRegion), valueRegion.getLength(), quoteChar + v + quoteChar);
-				} else {
-					int startOffset = 0;
-					RegionIterator iter = iterator();
-					ITextRegion region = getNextRegion(iter, DTDRegionTypes.NAME);
-					if (region == null) {
-						// create it after the percent if there is one
-						region = getPercentRegion();
-					}
-					if (region == null) {
-						// if still null, then create it after the element tag
-						region = getStartTag(iterator());
-					}
-
-					if (region != null) {
-						startOffset = getStructuredDTDDocumentRegion().getEndOffset(region);
-						replaceText(requestor, startOffset, 0, quoteChar + v + quoteChar);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Set the value of value.
-	 * 
-	 * @param v
-	 *            Value to assign to value.
-	 */
-	public void setValue(String v) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_ENTITY_VALUE_CHG")); //$NON-NLS-1$
-		setValue(this, v);
-		endRecording(this);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/ExternalNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/ExternalNode.java
deleted file mode 100644
index 1a068c0..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/ExternalNode.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-// base class for nodes that can contain external content
-public abstract class ExternalNode extends NamedTopLevelNode {
-
-	String publicID;
-
-	String systemID;
-
-	public ExternalNode(DTDFile file, IStructuredDocumentRegion flatNode, String tagType) {
-		super(file, flatNode, tagType);
-	}
-
-	public ITextRegion getNextQuotedLiteral(RegionIterator iter) {
-		while (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			if (region.getType().equals(DTDRegionTypes.SINGLEQUOTED_LITERAL) || region.getType().equals(DTDRegionTypes.DOUBLEQUOTED_LITERAL)) {
-				return region;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Get the value of publicID.
-	 * 
-	 * @return value of publicID.
-	 */
-	public String getPublicID() {
-		ITextRegion publicValue = getPublicValueRegion();
-		if (publicValue != null) {
-			return getValueFromQuotedRegion(publicValue);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public ITextRegion getPublicKeywordRegion(RegionIterator iter) {
-		return getNextRegion(iter, DTDRegionTypes.PUBLIC_KEYWORD);
-	}
-
-	public ITextRegion getPublicValueRegion() {
-		RegionIterator iter = iterator();
-
-		ITextRegion publicKeyword = getPublicKeywordRegion(iter);
-
-		if (publicKeyword != null && iter.hasNext()) {
-			ITextRegion quotedLiteral = getNextQuotedLiteral(iter);
-			if (quotedLiteral != null) {
-				return quotedLiteral;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Get the value of systemID.
-	 * 
-	 * @return value of systemID.
-	 */
-	public String getSystemID() {
-		ITextRegion systemValue = getSystemValueRegion();
-		if (systemValue != null) {
-			return getValueFromQuotedRegion(systemValue);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public ITextRegion getSystemKeywordRegion(RegionIterator iter) {
-		return getNextRegion(iter, DTDRegionTypes.SYSTEM_KEYWORD);
-	}
-
-	public ITextRegion getSystemValueRegion() {
-		RegionIterator iter = iterator();
-
-		ITextRegion systemKeyword = getSystemKeywordRegion(iter);
-		if (systemKeyword != null && iter.hasNext()) {
-			ITextRegion quotedLiteral = getNextQuotedLiteral(iter);
-			if (quotedLiteral != null) {
-				return quotedLiteral;
-			}
-		} else {
-			// try and see if there is a second quoted literal after a public
-			// keyword
-			iter = iterator();
-			ITextRegion publicKeyword = getPublicKeywordRegion(iter);
-
-			if (publicKeyword != null && iter.hasNext()) {
-				ITextRegion quotedLiteral = getNextQuotedLiteral(iter);
-				if (quotedLiteral != null && iter.hasNext()) {
-					// now get the second quoted literal
-					quotedLiteral = getNextQuotedLiteral(iter);
-					if (quotedLiteral != null) {
-						// got it!
-						return quotedLiteral;
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	public String getValueFromQuotedRegion(ITextRegion region) {
-		String type = region.getType();
-		if (type.equals(DTDRegionTypes.SINGLEQUOTED_LITERAL) || type.equals(DTDRegionTypes.DOUBLEQUOTED_LITERAL)) {
-			String text = getStructuredDTDDocumentRegion().getText(region);
-			return text.substring(1, text.length() - 1);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Set the value of publicID.
-	 * 
-	 * @param v
-	 *            Value to assign to publicID.
-	 */
-	public void setPublicID(Object requestor, String v) {
-		if (!v.equals(publicID)) {
-			publicID = v;
-			ITextRegion publicValue = getPublicValueRegion();
-			ITextRegion publicKeyword = getPublicKeywordRegion(iterator());
-			ITextRegion systemKeyword = getSystemKeywordRegion(iterator());
-			ITextRegion systemValue = getSystemValueRegion();
-
-			if (v.equals("")) { //$NON-NLS-1$
-				if (publicKeyword != null) {
-					// time to get rid of the public keyword and value
-					// and replace it with the system one
-					int startOffset = getStructuredDTDDocumentRegion().getStartOffset(publicKeyword);
-					String newString = "SYSTEM"; //$NON-NLS-1$
-					if (systemValue == null) {
-						newString += " \"\""; //$NON-NLS-1$
-					}
-					replaceText(requestor, startOffset, getStructuredDTDDocumentRegion().getEndOffset(publicValue) - startOffset, newString);
-				}
-			} else {
-				// here were setting a non empty value
-				String quoteChar = v.indexOf("\"") == -1 ? "\"" : "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				if (publicValue != null) {
-					replaceText(requestor, getStructuredDTDDocumentRegion().getStartOffset(publicValue), publicValue.getLength(), quoteChar + publicID + quoteChar);
-				} else {
-					// time to create stuff
-					if (publicKeyword != null) {
-						// then just put our new value after the keyword
-						replaceText(requestor, getStructuredDTDDocumentRegion().getEndOffset(publicKeyword), 0, " " + quoteChar + v + quoteChar); //$NON-NLS-1$
-					} else {
-						// we need the public keyword as well
-						if (systemKeyword != null) {
-							replaceText(requestor, getStructuredDTDDocumentRegion().getStartOffset(systemKeyword), systemKeyword.getLength(), "PUBLIC " + quoteChar + v + quoteChar); //$NON-NLS-1$
-						} else {
-							ITextRegion nameRegion = getNameRegion();
-							replaceText(requestor, getStructuredDTDDocumentRegion().getEndOffset(nameRegion), 0, " PUBLIC " + quoteChar + v + quoteChar); //$NON-NLS-1$
-						}
-					}
-				}
-			}
-		}
-	}
-
-
-	/**
-	 * Set the value of publicID.
-	 * 
-	 * @param v
-	 *            Value to assign to publicID.
-	 */
-	public void setPublicID(String v) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_EXT_NODE_PUBLIC_ID_CHG")); //$NON-NLS-1$
-		setPublicID(this, v);
-		endRecording(this);
-	}
-
-	/**
-	 * Set the value of systemID.
-	 * 
-	 * @param v
-	 *            Value to assign to systemID.
-	 */
-	public void setSystemID(Object requestor, String v) {
-		if (!v.equals(systemID) || (getPublicKeywordRegion(iterator()) == null && getSystemKeywordRegion(iterator()) == null)) {
-			systemID = v;
-			String quoteChar = v.indexOf("\"") == -1 ? "\"" : "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			ITextRegion systemValue = getSystemValueRegion();
-			if (systemValue != null) {
-				replaceText(requestor, getStructuredDTDDocumentRegion().getStartOffset(systemValue), systemValue.getLength(), quoteChar + systemID + quoteChar);
-			} else {
-				ITextRegion systemKeyword = getSystemKeywordRegion(iterator());
-
-				// time to create stuff
-				if (systemKeyword != null) {
-					// then just put our new value after the keyword
-					replaceText(requestor, getStructuredDTDDocumentRegion().getEndOffset(systemKeyword), 0, " " + quoteChar + v + quoteChar); //$NON-NLS-1$
-				} else {
-					// see if we have a public keyword
-					ITextRegion publicKeyword = getPublicKeywordRegion(iterator());
-					if (publicKeyword == null) {
-						ITextRegion nameRegion = getNameRegion();
-
-						replaceText(requestor, getStructuredDTDDocumentRegion().getEndOffset(nameRegion), 0, " SYSTEM " + quoteChar + v + quoteChar); //$NON-NLS-1$
-					} else {
-						// put it after the public value region
-						ITextRegion publicValueRegion = getPublicValueRegion();
-						replaceText(requestor, getStructuredDTDDocumentRegion().getEndOffset(publicValueRegion), 0, " " + quoteChar + v + quoteChar); //$NON-NLS-1$
-					}
-
-				}
-			}
-
-		}
-	}
-
-
-	/**
-	 * Set the value of systemID.
-	 * 
-	 * @param v
-	 *            Value to assign to systemID.
-	 */
-	public void setSystemID(String v) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_EXT_NODE_SYSTEM_ID_CHG")); //$NON-NLS-1$
-		setSystemID(this, v);
-		endRecording(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Logger.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Logger.java
deleted file mode 100644
index 9bc12a1..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Logger.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * 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.wst.dtd.core;
-
-/**
- * @deprecated moved to internal package because only this plugin should be
- * using this Logger class.
- */
-public class Logger extends org.eclipse.wst.dtd.core.internal.Logger {
-	// see org.eclipse.wst.dtd.core.internal.Logger
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/NamedTopLevelNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/NamedTopLevelNode.java
deleted file mode 100644
index 5967273..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/NamedTopLevelNode.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-// interface for nodes that can exist at the top level in a dtdfile
-// eg. entity, notation, element, comment, attlist, or unrecognized stuff (ie
-// <junk dkfjdl>
-public abstract class NamedTopLevelNode extends TopLevelNode {
-
-	private String tagStartType;
-
-	public NamedTopLevelNode(DTDFile dtdFile, IStructuredDocumentRegion flatNode, String type) {
-		super(dtdFile, flatNode);
-		tagStartType = type;
-	}
-
-	public ITextRegion getNameRegion() {
-		// name region is located after the whitespace (which is after
-		// the elementtag
-		RegionIterator iter = iterator();
-		ITextRegion startTag = getNextRegion(iter, tagStartType);
-
-		if (!iter.hasNext()) {
-			return null;
-		}
-
-		ITextRegion region = iter.next();
-		if (!region.getType().equals(DTDRegionTypes.WHITESPACE)) {
-			return null;
-		}
-
-		if (!iter.hasNext()) {
-			return null;
-		}
-
-		region = iter.next();
-		if (region.getType().equals(DTDRegionTypes.NAME)) {
-			return region;
-		}
-
-		// we normally stop here, but for entities, we have to see if we are
-		// at a '%'. if so, we skip that and find the name after the
-		// whitespace again
-		if (tagStartType == DTDRegionTypes.ENTITY_TAG && region.getType().equals(DTDRegionTypes.PERCENT) && iter.hasNext()) {
-			region = iter.next();
-
-			if (!region.getType().equals(DTDRegionTypes.WHITESPACE)) {
-				return null;
-			}
-
-			if (!iter.hasNext()) {
-				return null;
-			}
-
-			region = iter.next();
-			if (region.getType().equals(DTDRegionTypes.NAME)) {
-				return region;
-			}
-		}
-
-		return null;
-	}
-
-	public ITextRegion getStartTag(RegionIterator iter) {
-		return getNextRegion(iter, tagStartType);
-	}
-
-	public ITextRegion getWhitespaceAfterName() {
-		ITextRegion nameRegion = getNameRegion();
-		RegionIterator iter = iterator();
-		// skip past the element tag region
-		ITextRegion elementTagRegion = getNextRegion(iter, tagStartType);
-		boolean foundName = false;
-		while (iter.hasNext()) {
-			ITextRegion region = iter.next();
-			if (!foundName && nameRegion != null && region == nameRegion) {
-				foundName = true;
-			}
-
-			if (region.getType().equals(DTDRegionTypes.WHITESPACE)) {
-				// there is no name region or we have already passed it
-				if (nameRegion == null || foundName) {
-					return region;
-				}
-			}
-		}
-		return null;
-	}
-
-	public void setName(Object requestor, String name) {
-		ITextRegion nameRegion = getNameRegion();
-		if (nameRegion != null) {
-			super.setName(requestor, name);
-		} else {
-			RegionIterator iter = iterator();
-			ITextRegion elementTagRegion = getNextRegion(iter, tagStartType);
-			int replaceLength = 0;
-			if (iter.hasNext()) {
-				ITextRegion region = iter.next();
-				if (region.getType().equals(DTDRegionTypes.WHITESPACE)) {
-					if (region.getLength() >= 2) {
-						// there are 2 spaces between 'ELEMENT' and the
-						// content
-						// Change replace length to 1 so that the new name and
-						// the content are separated by a single space
-						replaceLength = 1;
-					}
-				}
-			}
-
-			//      beginRecording(requestor, "Name Change");
-			String newText = " " + name; //$NON-NLS-1$
-			replaceText(requestor, getStructuredDTDDocumentRegion().getEndOffset(elementTagRegion), replaceLength, newText);
-			//      endRecording(requestor);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/NodeList.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/NodeList.java
deleted file mode 100644
index 4b4c71f..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/NodeList.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-
-
-public class NodeList {
-	protected DTDFile dtdFile;
-
-	ArrayList listNodes = new ArrayList();
-
-	protected String listType;
-
-	public NodeList(DTDFile dtdFile, String tokenType) {
-		listType = tokenType;
-		this.dtdFile = dtdFile;
-	}
-
-	public Image getImage() {
-		if (listType == DTDRegionTypes.ELEMENT_TAG) {
-			return DTDCorePlugin.getInstance().getImage(DTDResource.FLDR_EL);
-		} else if (listType == DTDRegionTypes.ENTITY_TAG) {
-			return DTDCorePlugin.getInstance().getImage(DTDResource.FLDR_ENT);
-		} else if (listType == DTDRegionTypes.NOTATION_TAG) {
-			return DTDCorePlugin.getInstance().getImage(DTDResource.FLDR_NOT);
-		} else if (listType == DTDRegionTypes.COMMENT_START) {
-			return DTDCorePlugin.getInstance().getImage(DTDResource.FLDR_COMM);
-		} else if (listType == DTDRegionTypes.ATTLIST_TAG) {
-			return DTDCorePlugin.getInstance().getImage(DTDResource.FLDR_ATTLIST);
-		} else if (listType == DTDRegionTypes.UNKNOWN_CONTENT) {
-			return DTDCorePlugin.getInstance().getImage(DTDResource.FLDR_UNREC);
-		} else
-			return null;
-	}
-
-	public String getListType() {
-		return listType;
-	}
-
-	public String getName() {
-		if (listType == DTDRegionTypes.ELEMENT_TAG) {
-			return DTDCorePlugin.getDTDString("_UI_LABEL_NODE_LIST_ELEMENTS"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.ENTITY_TAG) {
-			return DTDCorePlugin.getDTDString("_UI_LABEL_NODE_LIST_ENTITIES"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.NOTATION_TAG) {
-			return DTDCorePlugin.getDTDString("_UI_LABEL_NODE_LIST_NOTATIONS"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.COMMENT_START) {
-			return DTDCorePlugin.getDTDString("_UI_LABEL_NODE_LIST_COMMENTS"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.ATTLIST_TAG) {
-			return DTDCorePlugin.getDTDString("_UI_LABEL_NODE_LIST_ATTRIBUTES"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.UNKNOWN_CONTENT) {
-			return DTDCorePlugin.getDTDString("_UI_LABEL_NODE_LIST_OTHER"); //$NON-NLS-1$
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public ArrayList getNodes() {
-		listNodes.clear();
-		Iterator iter = dtdFile.getNodes().iterator();
-		while (iter.hasNext()) {
-			DTDNode node = (DTDNode) iter.next();
-			if (listType == DTDRegionTypes.ELEMENT_TAG && (node instanceof Element || node instanceof ParameterEntityReference)) {
-				listNodes.add(node);
-			} else if (listType == DTDRegionTypes.ATTLIST_TAG && node instanceof AttributeList) {
-				listNodes.add(node);
-			} else if (listType == DTDRegionTypes.ENTITY_TAG && node instanceof Entity) {
-				listNodes.add(node);
-			} else if (listType == DTDRegionTypes.NOTATION_TAG && node instanceof Notation) {
-				listNodes.add(node);
-			} else if (listType == DTDRegionTypes.COMMENT_START && node instanceof Comment) {
-				listNodes.add(node);
-			} else if (listType == DTDRegionTypes.UNKNOWN_CONTENT && node instanceof Unrecognized) {
-				listNodes.add(node);
-			}
-		}
-		return listNodes;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Notation.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Notation.java
deleted file mode 100644
index 050b5f5..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Notation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-public class Notation extends ExternalNode {
-
-	public Notation(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode, DTDRegionTypes.NOTATION_TAG);
-	}
-
-	public Image getImage() {
-		return DTDCorePlugin.getInstance().getImage(DTDResource.NOTATIONICON);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/ParameterEntityReference.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/ParameterEntityReference.java
deleted file mode 100644
index f954a85..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/ParameterEntityReference.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class ParameterEntityReference extends NamedTopLevelNode {
-
-
-
-	public class StartEndPair {
-		public int startOffset, endOffset;
-	}
-
-	private Entity cachedEntity = null;
-
-	public ParameterEntityReference(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode, DTDRegionTypes.COMMENT_START);
-	}
-
-	public Entity getEntityObject() {
-		if (cachedEntity != null && !cachedEntity.getName().equals(getReferencedEntity())) {
-			// if we have a cached entity, but the name doesnt match,
-			// null it now, so we perform a lookup
-			cachedEntity = null;
-		}
-
-		if (cachedEntity == null) {
-			List nodes = getDTDFile().getNodes();
-			for (int i = 0; i < nodes.size(); i++) {
-				DTDNode node = (DTDNode) nodes.get(i);
-				if (node instanceof Entity) {
-					Entity entity = (Entity) node;
-					if (entity.isParameterEntity() && entity.getName().equals(getReferencedEntity())) {
-						cachedEntity = entity;
-					}
-				}
-			}
-		}
-		return cachedEntity;
-	}
-
-	public Image getImage() {
-		return DTDCorePlugin.getInstance().getImage(DTDResource.ENTITYREFERENCEICON);
-	}
-
-	public String getName() {
-		return getStructuredDTDDocumentRegion().getText();
-	}
-
-	public String getReferencedEntity() {
-		String text = getName();
-		return getName().substring(1, text.length() - 1);
-	}
-
-	private void getStartAndEndOffsetForText(StartEndPair pair) {
-		RegionIterator iter = iterator();
-		ITextRegion commentStartTag = getStartTag(iter);
-		ITextRegion endCommentTag = getNextRegion(iter, DTDRegionTypes.COMMENT_END);
-		pair.endOffset = getStructuredDTDDocumentRegion().getEndOffset();
-		if (commentStartTag != null) {
-			pair.startOffset = getStructuredDTDDocumentRegion().getEndOffset(commentStartTag);
-		}
-		if (endCommentTag != null) {
-			pair.endOffset = getStructuredDTDDocumentRegion().getEndOffset(endCommentTag);
-		}
-	}
-
-	public String getText() {
-		String text = getStructuredDTDDocumentRegion().getText();
-		int flatNodeStart = getStructuredDTDDocumentRegion().getStartOffset();
-		StartEndPair pair = new StartEndPair();
-		getStartAndEndOffsetForText(pair);
-		return text.substring(pair.startOffset - flatNodeStart, pair.endOffset - flatNodeStart);
-	}
-
-	public void setReferencedEntity(Object requestor, String name) {
-		replaceText(requestor, getStructuredDTDDocumentRegion().getStartOffset(), getStructuredDTDDocumentRegion().getLength(), "%" + name + ";"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void setReferencedEntity(String name) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_PARM_ENTITY_REF_CHG_ENTITY_REF")); //$NON-NLS-1$
-		setReferencedEntity(this, name);
-		endRecording(this);
-	}
-
-	public void setText(String newText) {
-		beginRecording(this, DTDCorePlugin.getDTDString("_UI_LABEL_PARM_ENTITY_REF_COMMENT_CHG")); //$NON-NLS-1$
-		StartEndPair pair = new StartEndPair();
-		getStartAndEndOffsetForText(pair);
-		replaceText(this, pair.startOffset, pair.endOffset - pair.startOffset, newText);
-		endRecording(this);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/TopLevelNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/TopLevelNode.java
deleted file mode 100644
index 4d92e0b..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/TopLevelNode.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.dtd.core.internal.text.RegionIterator;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-// interface for nodes that can exist at the top level in a dtdfile
-// eg. entity, notation, element, comment, attlist, or unrecognized stuff (ie
-// <junk dkfjdl>
-public abstract class TopLevelNode extends DTDNode {
-
-	private ArrayList flatNodes = new ArrayList();
-
-	public TopLevelNode(DTDFile dtdFile, IStructuredDocumentRegion flatNode) {
-		super(dtdFile, flatNode);
-		flatNodes.add(flatNode);
-	}
-
-	public void addWhitespaceStructuredDocumentRegion(IStructuredDocumentRegion node) {
-		flatNodes.add(node);
-	}
-
-	// specialize this so we delete the objects flat node range
-	// AND any whitespace
-	public void delete() {
-		beginRecording(getDTDFile(), DTDCorePlugin.getDTDString("_UI_LABEL_TOP_LEVEL_NODE_DELETE")); //$NON-NLS-1$
-		IStructuredDocumentRegion first = (IStructuredDocumentRegion) flatNodes.get(0);
-		IStructuredDocumentRegion last = (IStructuredDocumentRegion) flatNodes.get(flatNodes.size() - 1);
-		int startOffset = first.getStartOffset();
-		int endOffset = last.getEndOffset();
-
-		replaceText(getDTDFile(), startOffset, endOffset - startOffset, ""); //$NON-NLS-1$
-		endRecording(getDTDFile());
-	}
-
-	public ITextRegion getEndRegion() {
-		int size = flatNode.getRegions().size();
-		if (size > 0) {
-			return flatNode.getRegions().get(size - 1);
-		}
-		return null;
-	}
-
-	// includes what gettext gives us plus any whitespace
-	// trailing it
-	public String getFullText() {
-		StringBuffer sb = new StringBuffer();
-		Iterator iter = flatNodes.iterator();
-		while (iter.hasNext()) {
-			IStructuredDocumentRegion fNode = (IStructuredDocumentRegion) iter.next();
-			sb.append(fNode.getText());
-		}
-		return sb.toString();
-	}
-
-	public ITextRegion getStartRegion() {
-		if (flatNode.getRegions().size() > 0) {
-			return flatNode.getRegions().get(0);
-		}
-		return null;
-	}
-
-	public RegionIterator iterator() {
-		//    System.out.println("create region iter " + this.getClass() + " with
-		// start , end = " + getStartOffset() + ", " +getEndOffset());
-		return new RegionIterator(flatNode, getStartOffset(), getEndOffset());
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Unrecognized.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Unrecognized.java
deleted file mode 100644
index 8036eff..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Unrecognized.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.internal.DTDCorePlugin;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-public class Unrecognized extends TopLevelNode {
-
-	public Unrecognized(DTDFile file, IStructuredDocumentRegion flatNode) {
-		super(file, flatNode);
-	}
-
-	public Image getImage() {
-		return DTDCorePlugin.getInstance().getImage(DTDResource.UNRECOGNIZEDICON);
-	}
-
-	public String getName() {
-		String text = getStructuredDTDDocumentRegion().getText();
-		if (text.length() <= 30) {
-			return text;
-		} else {
-			return text.substring(0, 29) + "..."; //$NON-NLS-1$
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/builder/delegates/DTDTaskTagSeeker.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/builder/delegates/DTDTaskTagSeeker.java
deleted file mode 100644
index 558534c..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/builder/delegates/DTDTaskTagSeeker.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.builder.delegates;
-
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.participants.TaskTagSeeker;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class DTDTaskTagSeeker extends TaskTagSeeker {
-	protected boolean isCommentRegion(IStructuredDocumentRegion region, ITextRegion textRegion) {
-		return textRegion.getType().equals(DTDRegionTypes.COMMENT_CONTENT);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/content/AbstractContentDescriber.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/content/AbstractContentDescriber.java
deleted file mode 100644
index db5c3fc..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/content/AbstractContentDescriber.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.content;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescriber;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IContentDescriptionExtended;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-public abstract class AbstractContentDescriber implements ITextContentDescriber {
-
-	private final static QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.CHARSET, IContentDescription.BYTE_ORDER_MARK, IContentDescriptionExtended.DETECTED_CHARSET, IContentDescriptionExtended.UNSUPPORTED_CHARSET, IContentDescriptionExtended.APPROPRIATE_DEFAULT};
-
-	private void calculateSupportedOptions(InputStream contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	/**
-	 * @param contents
-	 * @param description
-	 * @throws IOException
-	 */
-	private void calculateSupportedOptions(Reader contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#describe(java.io.InputStream,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(InputStream contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.VALID;
-
-		calculateSupportedOptions(contents, description);
-
-		// assume if we're called at all that we are valid (few types could be
-		// disproved, maybe XML -- or, maybe if exception occurs above?)
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.ITextContentDescriber#describe(java.io.Reader,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(Reader contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.VALID;
-
-		calculateSupportedOptions(contents, description);
-
-		// assume if we're called at all that we are valid (few types could be
-		// disproved, maybe XML -- or, maybe if exception occurs above?)
-		return result;
-	}
-
-	protected abstract IResourceCharsetDetector getDetector();
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#getSupportedOptions()
-	 */
-	public QualifiedName[] getSupportedOptions() {
-
-		return SUPPORTED_OPTIONS;
-	}
-
-	/**
-	 * @param description
-	 * @param detector
-	 * @throws IOException
-	 */
-	protected void handleCalculations(IContentDescription description, IResourceCharsetDetector detector) throws IOException {
-		// note: if we're asked for one, we set them all. I need to be sure if
-		// called
-		// mulitiple times (one for each, say) that we don't waste time
-		// processing same
-		// content again.
-		EncodingMemento encodingMemento = detector.getEncodingMemento();
-		// TODO: I need to verify to see if this BOM work is always done
-		// by text type.
-		Object detectedByteOrderMark = encodingMemento.getUnicodeBOM();
-		if (detectedByteOrderMark != null) {
-			Object existingByteOrderMark = description.getProperty(IContentDescription.BYTE_ORDER_MARK);
-			// not sure why would ever be different, so if is different, may
-			// need to "push" up into base.
-			if (!detectedByteOrderMark.equals(existingByteOrderMark))
-				description.setProperty(IContentDescription.BYTE_ORDER_MARK, detectedByteOrderMark);
-		}
-
-
-		if (!encodingMemento.isValid()) {
-			// note: after setting here, its the mere presence of
-			// IContentDescriptionExtended.UNSUPPORTED_CHARSET
-			// in the resource's description that can be used to determine if
-			// invalid
-			// in those cases, the "detected" property contains an
-			// "appropriate default" to use.
-			description.setProperty(IContentDescriptionExtended.UNSUPPORTED_CHARSET, encodingMemento.getInvalidEncoding());
-			description.setProperty(IContentDescriptionExtended.APPROPRIATE_DEFAULT, encodingMemento.getAppropriateDefault());
-		}
-
-		Object detectedCharset = encodingMemento.getDetectedCharsetName();
-		Object javaCharset = encodingMemento.getJavaCharsetName();
-
-		// we always include detected, if its different than java
-		handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-
-		if (javaCharset != null) {
-			Object existingCharset = description.getProperty(IContentDescription.CHARSET);
-			if (javaCharset.equals(existingCharset)) {
-				handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-			} else {
-				// we may need to add what we found, but only need to add
-				// if different from default.the
-				Object defaultCharset = getDetector().getSpecDefaultEncoding();
-				if (defaultCharset != null) {
-					if (!defaultCharset.equals(javaCharset)) {
-						description.setProperty(IContentDescription.CHARSET, javaCharset);
-					}
-				} else {
-					// assuming if there is no spec default, we always need to
-					// add, I'm assuming
-					description.setProperty(IContentDescription.CHARSET, javaCharset);
-				}
-			}
-		}
-
-		// avoid adding anything if not absolutly needed, since always
-		// "cached" per session
-		//description.setProperty(IContentDescriptionExtended.ENCODING_MEMENTO,
-		// encodingMemento);
-	}
-
-	private void handleDetectedSpecialCase(IContentDescription description, Object detectedCharset, Object javaCharset) {
-		// since equal, we don't need to add, but if our detected version is
-		// different than
-		// javaCharset, then we should add it. This will happen, for example,
-		// if there's
-		// differences in case, or differences due to override properties
-		if (detectedCharset != null) {
-			//			if (!detectedCharset.equals(javaCharset)) {
-			//				description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET,
-			// detectedCharset);
-			//			}
-
-			// Once we detected a charset, we should set the property even
-			// though it's the same as javaCharset
-			// because there are clients that rely on this property to
-			// determine if the charset is actually detected in file or not.
-			description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET, detectedCharset);
-		}
-	}
-
-	/**
-	 * @param description
-	 * @return
-	 */
-	private boolean isRelevent(IContentDescription description) {
-		boolean result = false;
-		if (description == null)
-			result = false;
-		else if (description.isRequested(IContentDescription.BYTE_ORDER_MARK))
-			result = true;
-		else if (description.isRequested(IContentDescription.CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.APPROPRIATE_DEFAULT))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.DETECTED_CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.UNSUPPORTED_CHARSET))
-			result = true;
-		//		else if
-		// (description.isRequested(IContentDescriptionExtended.ENCODING_MEMENTO))
-		//			result = true;
-		return result;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/content/ContentDescriberForDTD.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/content/ContentDescriberForDTD.java
deleted file mode 100644
index 690885a..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/content/ContentDescriberForDTD.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.content;
-
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.xml.core.internal.contenttype.XMLResourceEncodingDetector;
-
-
-
-
-public class ContentDescriberForDTD extends AbstractContentDescriber implements ITextContentDescriber {
-
-	// same rules as for XML
-	protected IResourceCharsetDetector getDetector() {
-		return new XMLResourceEncodingDetector();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/contenttype/ContentTypeIdForDTD.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/contenttype/ContentTypeIdForDTD.java
deleted file mode 100644
index c1af86d..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/contenttype/ContentTypeIdForDTD.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * 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.wst.dtd.core.contenttype;
-
-/**
- * This class, with its one field, is a convience to provide compile-time
- * safety when refering to a contentType ID. The value of the contenttype id
- * field must match what is specified in plugin.xml file.
- */
-
-public class ContentTypeIdForDTD {
-
-	/*
-	 * The value of the contenttype id field must match what is specified in
-	 * plugin.xml file. Note: this value is intentially not declared as final,
-	 * so it will not be inlined.
-	 */
-	public static String ContentTypeID_DTD = "org.eclipse.wst.dtd.core.dtdsource"; //$NON-NLS-1$
-
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/document/DTDModel.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/document/DTDModel.java
deleted file mode 100644
index b04cf2c..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/document/DTDModel.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/*
- * Created on 28-Aug-03
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.dtd.core.document;
-
-/**
- * @author kboo
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface DTDModel {
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/document/DTDModelImpl.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/document/DTDModelImpl.java
deleted file mode 100644
index 37ec8b7..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/document/DTDModelImpl.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.document;
-
-import java.io.File;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.Entity;
-import org.eclipse.wst.dtd.core.NodeList;
-import org.eclipse.wst.dtd.core.event.IDTDFileListener;
-import org.eclipse.wst.dtd.core.event.NodesEvent;
-import org.eclipse.wst.dtd.core.util.DTDReferenceUpdater;
-import org.eclipse.wst.dtd.core.util.LabelValuePair;
-import org.eclipse.wst.sse.core.AbstractStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-public final class DTDModelImpl extends AbstractStructuredModel implements IStructuredDocumentListener, DTDModel {
-
-	public static boolean deleteFile(String fileName) {
-		boolean result = false;
-
-		// create the temp File object
-		File file = new File(fileName);
-		if (file.exists())
-			result = file.delete();
-		return result;
-	}
-
-	private DTDFile document;
-
-	//private List errorMessages = new ArrayList();
-
-	// entity reference names found in the conditional IGNORE sections
-	private Vector ignoredEntityRefs;
-
-	private boolean refreshRequired = false;
-
-	protected DTDReferenceUpdater refUpdater = new DTDReferenceUpdater();
-
-	public DTDModelImpl() {
-		super();
-		document = new DTDFile(this);
-		document.addDTDFileListener(new IDTDFileListener() {
-
-			public void nodeChanged(DTDNode node) {
-				if (node instanceof Entity) {
-					Entity entity = (Entity) node;
-					if (entity.isParameterEntity() && entity.isExternalEntity()) {
-						// just say they have changed for now
-						setReferencedModelsChanged();
-					}
-				}
-			}
-
-			public void nodesAdded(NodesEvent event) {
-				checkIfExternalReferencesChanged(event);
-			}
-
-			public void nodesRemoved(NodesEvent event) {
-				checkIfExternalReferencesChanged(event);
-			}
-		});
-	}
-
-	public void beginRecording(Object requester, String label) {
-		super.beginRecording(requester, label);
-		// clear reference updater cache
-		getReferenceUpdater().clearCache();
-	}
-
-	private void checkIfExternalReferencesChanged(NodesEvent event) {
-		Iterator iter = event.getNodes().iterator();
-		while (iter.hasNext()) {
-			DTDNode node = (DTDNode) iter.next();
-			if (node instanceof Entity) {
-				Entity entity = (Entity) node;
-				if (entity.isParameterEntity() && entity.isExternalEntity()) {
-					// just say they have changed for now
-					setReferencedModelsChanged();
-				}
-			}
-		}
-	}
-
-	//
-	// The following function helps determine the list of things that
-	// can be used in a parameter entity reference content
-	// Optional parameter is to allow the currently used DTDEntity to
-	// be included in the combobox.
-	//
-	public LabelValuePair[] createParmEntityContentItems(Entity entity) {
-		NodeList entities = getDTDFile().getEntities();
-
-		Vector items = new Vector();
-
-		if (entity != null) {
-			String name = "%" + entity.getName() + ";"; //$NON-NLS-1$ //$NON-NLS-2$
-			items.addElement(new LabelValuePair(name, name));
-		}
-
-		for (Iterator i = entities.getNodes().iterator(); i.hasNext();) {
-			Entity entityAt = (Entity) i.next();
-			if (entityAt.isParameterEntity() && entityAt.isExternalEntity()) {
-				String name = "%" + entityAt.getName() + ";"; //$NON-NLS-1$ //$NON-NLS-2$
-				items.addElement(new LabelValuePair(name, name));
-			}
-		}
-		LabelValuePair[] comboArray = new LabelValuePair[items.size()];
-		items.copyInto(comboArray);
-		return comboArray;
-	}
-
-	public void endRecording(Object requester) {
-		super.endRecording(requester);
-		// clear reference updater cache
-		getReferenceUpdater().clearCache();
-	}
-
-
-	public DTDFile getDTDFile() {
-		return document;
-	}
-
-	// Returns entity reference names that are in
-	// the conditional IGNORE sections.
-	public Vector getIgnoredEntityRefs() {
-		if (ignoredEntityRefs == null)
-			ignoredEntityRefs = new Vector();
-		return ignoredEntityRefs;
-	}
-
-	public IndexedRegion getIndexedRegion(int offset) {
-		if (this.document == null)
-			return null;
-		//    System.out.println("getNode at " + offset + " returning = " +
-		// this.document.getNodeAt(offset));
-
-		return this.document.getNodeAt(offset);
-	}
-
-	public DTDReferenceUpdater getReferenceUpdater() {
-		return refUpdater;
-	}
-
-	public boolean isReferencedModelsChanged() {
-		return refreshRequired;
-	}
-
-	public boolean isRefreshRequired() {
-		return refreshRequired;
-	}
-
-	public void newModel(NewDocumentEvent flatModelEvent) {
-		document.newModel(flatModelEvent);
-		//    System.out.println("\nnewmodel");
-		outputStructuredDocument(flatModelEvent);
-	}
-
-	public void noChange(NoChangeEvent flatModelEvent) {
-		//    System.out.println("\nnochange");
-		outputStructuredDocument(flatModelEvent);
-
-	}
-
-	public void nodesReplaced(StructuredDocumentRegionsReplacedEvent flatModelEvent) {
-		//    System.out.println("\nnodesreplaced");
-		document.nodesReplaced(flatModelEvent);
-		outputStructuredDocument(flatModelEvent);
-
-	}
-
-	public void outputStructuredDocument(StructuredDocumentEvent flatModelEvent) {
-		//      System.out.println("structuredDocument source = '" +
-		// flatModelEvent.getStructuredDocument().getText() + "'");
-		//      System.out.println("new String = '" +
-		// flatModelEvent.getOriginalChanges() +"'");
-		//      System.out.println("deleted String = '" +
-		// flatModelEvent.getDeletedText() +"'");
-		//      Enumeration e =
-		// flatModelEvent.getStructuredDocument().getNodes().elements();
-		//      int i = 0;
-		//      for (; e.hasMoreElements(); i++)
-		//      {
-		//        BasicStructuredDocumentRegion node =
-		// (BasicStructuredDocumentRegion) e.nextElement();
-		//        outputStructuredDocumentRegion(node);
-		//        System.out.println(" " + i +". " + node.hashCode() + " '"
-		// +node.getText() + "'");
-		//        }
-	}
-
-	public void outputStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		//      int size = flatNode.getNumberOfRegions();
-		//      for (int i = 0; i < size; i++)
-		//      {
-		//        Region region = (Region) flatNode.getRegions().get(i);
-		//        System.out.println(i + ". " + region.getType());
-
-		//      } // end of for ()
-
-	}
-
-	public void regionChanged(RegionChangedEvent flatModelEvent) {
-		//    System.out.println("\nregion changed");
-		document.regionChanged(flatModelEvent);
-		//      System.out.println("= " +
-		// flatModelEvent.getStructuredDocumentRegion().getText());
-		//      System.out.println("region changed " +
-		// flatModelEvent.getRegion().hashCode() + " = " +
-		// flatModelEvent.getRegion());
-
-		outputStructuredDocument(flatModelEvent);
-	}
-
-	public void regionsReplaced(RegionsReplacedEvent flatModelEvent) {
-		//    System.out.println("\nregion replaced");
-		document.regionsReplaced(flatModelEvent);
-		outputStructuredDocument(flatModelEvent);
-	}
-
-	public void setReferencedModelsChanged() {
-		refreshRequired = true;
-	}
-
-	public void setRefreshRequired(boolean value) {
-		refreshRequired = value;
-	}
-
-
-	/**
-	 * @param newStructuredDocument
-	 *            org.eclipse.wst.sse.core.text.IStructuredDocument
-	 */
-	public void setStructuredDocument(IStructuredDocument newStructuredDocument) {
-		IStructuredDocument oldStructuredDocument = super.getStructuredDocument();
-		if (newStructuredDocument == oldStructuredDocument)
-			return; // noting to do
-
-		if (oldStructuredDocument != null)
-			oldStructuredDocument.removeDocumentChangingListener(this);
-		super.setStructuredDocument(newStructuredDocument);
-		if (newStructuredDocument.getLength() > 0) {
-			newModel(new NewDocumentEvent(newStructuredDocument, this));
-		}
-		if (newStructuredDocument != null)
-			newStructuredDocument.addDocumentChangingListener(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/AbstractResourceEncodingDetector.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/AbstractResourceEncodingDetector.java
deleted file mode 100644
index 3c2da9f..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/AbstractResourceEncodingDetector.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.encoding;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.nio.charset.UnsupportedCharsetException;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.common.encoding.internal.ByteReader;
-
-
-public abstract class AbstractResourceEncodingDetector implements IResourceCharsetDetector {
-
-	protected EncodingMemento fEncodingMemento;
-
-	protected boolean fHeaderParsed;
-
-	protected Reader fReader;
-
-	/**
-	 *  
-	 */
-	public AbstractResourceEncodingDetector() {
-		super();
-	}
-
-	/**
-	 * Note: once this instance is created, trace info still needs to be
-	 * appended by caller, depending on the context its created.
-	 */
-	private void createEncodingMemento(String detectedCharsetName) {
-		fEncodingMemento = new EncodingMemento();
-		fEncodingMemento.setJavaCharsetName(getAppropriateJavaCharset(detectedCharsetName));
-		fEncodingMemento.setDetectedCharsetName(detectedCharsetName);
-		// TODO: if detectedCharset and spec default is
-		// null, need to use "work
-		// bench based" defaults.
-		fEncodingMemento.setAppropriateDefault(getSpecDefaultEncoding());
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 * 
-	 * @param detectedCharsetName
-	 * @param reason
-	 */
-	final protected void createEncodingMemento(String detectedCharsetName, String reason) {
-		createEncodingMemento(detectedCharsetName);
-		fEncodingMemento.addTrace(reason);
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 */
-	final protected void ensureInputSet() {
-		if (fReader == null) {
-			throw new IllegalStateException("input must be set before use"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * This method can return null, if invalid charset name (in which case
-	 * "appropriateDefault" should be used, if a name is really need for some
-	 * "save anyway" cases).
-	 * 
-	 * @param detectedCharsetName
-	 * @return
-	 */
-	private String getAppropriateJavaCharset(String detectedCharsetName) {
-		String result = null;
-		// 1. Check explicit mapping overrides from
-		// property file -- its here we pick up "rules" for cases
-		// that are not even in Java
-		result = CodedIO.checkMappingOverrides(detectedCharsetName);
-		// 2. Use the "canonical" name from JRE mappings
-		// Note: see Charset JavaDoc, the name you get one
-		// with can be alias,
-		// the name you get back is "standard" name.
-		Charset javaCharset = null;
-		try {
-			javaCharset = Charset.forName(detectedCharsetName);
-		} catch (UnsupportedCharsetException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		} catch (IllegalCharsetNameException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		}
-		// give priority to java cononical name, if present
-		if (javaCharset != null) {
-			result = javaCharset.name();
-			// but still allow overrides
-			result = CodedIO.checkMappingOverrides(result);
-		}
-		return result;
-	}
-
-	public String getEncoding() throws IOException {
-		return getEncodingMemento().getDetectedCharsetName();
-	}
-
-	// to ensure consist overall rules used, we'll mark as
-	// final,
-	// and require subclasses to provide certain pieces of
-	// the
-	// implementation
-	public EncodingMemento getEncodingMemento() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			// we keep track of if header's already been
-			// parse, so can make
-			// multiple 'get' calls, without causing
-			// reparsing.
-			fHeaderParsed = true;
-			// Note: there is a "hidden assumption" here
-			// that an empty
-			// string in content should be treated same as
-			// not present.
-		}
-		if (fEncodingMemento == null) {
-			handleSpecDefault();
-		}
-		if (fEncodingMemento == null) {
-			// safty net
-			fEncodingMemento = new NullMemento();
-		}
-		return fEncodingMemento;
-	}
-
-	/**
-	 * This is to return a default encoding -- as specified by an industry
-	 * content type spec -- when not present in the stream, for example, XML
-	 * specifies UTF-8, JSP specifies ISO-8859-1. This method should return
-	 * null if there is no such "spec default".
-	 */
-	abstract public String getSpecDefaultEncoding();
-
-	public EncodingMemento getSpecDefaultEncodingMemento() {
-		resetAll();
-		EncodingMemento result = null;
-		String enc = getSpecDefaultEncoding();
-		if (enc != null) {
-			createEncodingMemento(enc, EncodingMemento.DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-			fEncodingMemento.setAppropriateDefault(enc);
-			result = fEncodingMemento;
-		}
-		return result;
-	}
-
-	private void handleSpecDefault() {
-		String encodingName;
-		encodingName = getSpecDefaultEncoding();
-		if (encodingName != null) {
-			//createEncodingMemento(encodingName,
-			// EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-			fEncodingMemento = new EncodingMemento();
-			fEncodingMemento.setJavaCharsetName(encodingName);
-			fEncodingMemento.setAppropriateDefault(encodingName);
-			fEncodingMemento.addTrace(EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-		}
-	}
-
-	/**
-	 * Every subclass must provide a way to parse the input. This method has
-	 * several critical responsibilities:
-	 * <li>set the fEncodingMemento field appropriately, according to the
-	 * results of the parse of fReader.</li>
-	 * <li>set fHarderParsed to true, to avoid wasted re-parsing.</li>
-	 */
-	abstract protected void parseInput() throws IOException;
-
-	/**
-	 *  
-	 */
-	private void resetAll() {
-		fReader = null;
-		fHeaderParsed = false;
-		fEncodingMemento = null;
-	}
-
-	/**
-	 *  
-	 */
-	public void set(InputStream inputStream) {
-		resetAll();
-		fReader = new ByteReader(inputStream);
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossible, since we know ByteReader
-			// supports marking
-			throw new Error(e);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public void set(IStorage iStorage) throws CoreException {
-		resetAll();
-		InputStream inputStream = iStorage.getContents();
-		InputStream resettableStream = new BufferedInputStream(inputStream, CodedIO.MAX_BUF_SIZE);
-		resettableStream.mark(CodedIO.MAX_MARK_SIZE);
-		set(resettableStream);
-		// TODO we'll need to "remember" IFile, or
-		// get its (or its project's) settings, in case
-		// those are needed to handle cases when the
-		// encoding is not in the file stream.
-	}
-
-	/**
-	 * Note: this is not part of interface to help avoid confusion ... it
-	 * expected this Reader is a well formed character reader ... that is, its
-	 * all ready been determined to not be a unicode marked input stream. And,
-	 * its assumed to be in the correct position, at position zero, ready to
-	 * read first character.
-	 */
-	public void set(Reader reader) {
-		resetAll();
-		fReader = reader;
-		if (!fReader.markSupported()) {
-			fReader = new BufferedReader(fReader);
-		}
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossble, since we just checked if markable
-			throw new Error(e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/DTDDocumentCharsetDetector.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/DTDDocumentCharsetDetector.java
deleted file mode 100644
index f0a40b0..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/DTDDocumentCharsetDetector.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/*
- * Created on 28-Aug-03
- * 
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.dtd.core.encoding;
-
-import java.io.IOException;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.document.DocumentReader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.xml.core.encoding.XMLDocumentCharsetDetector;
-
-
-/**
- * @author kboo
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public final class DTDDocumentCharsetDetector extends AbstractResourceEncodingDetector implements IDocumentCharsetDetector {
-
-	public String getSpecDefaultEncoding() {
-		// by default, UTF-8 as per XML spec
-		final String enc = "UTF-8"; //$NON-NLS-1$
-		return enc;
-	}
-
-	/**
-	 *  
-	 */
-
-	protected void parseInput() throws IOException {
-		IDocumentCharsetDetector documentEncodingDetector = new XMLDocumentCharsetDetector();
-		documentEncodingDetector.set(fReader);
-		fEncodingMemento = documentEncodingDetector.getEncodingMemento();
-
-	}
-
-	public void set(IDocument document) {
-		set(new DocumentReader(document, 0));
-
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/DTDDocumentLoader.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/DTDDocumentLoader.java
deleted file mode 100644
index 6767d39..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/DTDDocumentLoader.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.encoding;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.dtd.core.internal.text.DTDStructuredDocumentReParser;
-import org.eclipse.wst.dtd.core.parser.DTDRegionParser;
-import org.eclipse.wst.dtd.core.rules.StructuredTextPartitionerForDTD;
-import org.eclipse.wst.sse.core.document.AbstractDocumentLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-public final class DTDDocumentLoader extends AbstractDocumentLoader {
-
-	public DTDDocumentLoader() {
-		super();
-	}
-
-	public IDocumentPartitioner getDefaultDocumentPartitioner() {
-		return new StructuredTextPartitionerForDTD();
-	}
-
-	public IDocumentCharsetDetector getDocumentEncodingDetector() {
-		if (fDocumentEncodingDetector == null) {
-			fDocumentEncodingDetector = new DTDDocumentCharsetDetector();
-		}
-		return fDocumentEncodingDetector;
-	}
-
-	public RegionParser getParser() {
-		return new DTDRegionParser();
-	}
-
-	protected String getSpecDefaultEncoding() {
-		String enc = "UTF-8"; //$NON-NLS-1$
-		return enc;
-	}
-
-	protected IEncodedDocument newEncodedDocument() {
-		IStructuredDocument document = StructuredDocumentFactory.getNewStructuredDocumentInstance(getParser());
-		DTDStructuredDocumentReParser reParser = new DTDStructuredDocumentReParser();
-		reParser.setStructuredDocument(document);
-		if (document instanceof BasicStructuredDocument) {
-			((BasicStructuredDocument) document).setReParser(reParser);
-		}
-		return document;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/NullMemento.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/NullMemento.java
deleted file mode 100644
index 2c6adb0..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/NullMemento.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.encoding;
-
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.NonContentBasedEncodingRules;
-
-
-
-/**
- * This class can be used in place of an EncodingMemento (its super class),
- * when there is not in fact ANY encoding information. For example, when a
- * structuredDocument is created directly from a String
- */
-public class NullMemento extends EncodingMemento {
-	/**
-	 *  
-	 */
-	public NullMemento() {
-		super();
-		String defaultCharset = NonContentBasedEncodingRules.useDefaultNameRules(null);
-		setJavaCharsetName(defaultCharset);
-		setAppropriateDefault(defaultCharset);
-		setDetectedCharsetName(null);
-		addTrace(DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/event/IDTDFileListener.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/event/IDTDFileListener.java
deleted file mode 100644
index 235b60a..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/event/IDTDFileListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.event;
-
-import org.eclipse.wst.dtd.core.DTDNode;
-
-public interface IDTDFileListener {
-
-	public void nodeChanged(DTDNode node);
-
-	public void nodesAdded(NodesEvent event);
-
-	public void nodesRemoved(NodesEvent event);
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/event/NodesEvent.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/event/NodesEvent.java
deleted file mode 100644
index ceaca1f..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/event/NodesEvent.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.event;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.dtd.core.DTDNode;
-
-
-public final class NodesEvent {
-	private ArrayList changedNodes = new ArrayList();
-
-	public void add(DTDNode changedNode) {
-		changedNodes.add(changedNode);
-	}
-
-	public List getNodes() {
-		return changedNodes;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/DTDCorePlugin.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/DTDCorePlugin.java
deleted file mode 100644
index 8a2903b..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/DTDCorePlugin.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.internal;
-
-import java.text.MessageFormat;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class DTDCorePlugin extends AbstractUIPlugin {
-	private static DTDCorePlugin instance;
-
-	public static Image getDTDImage(String iconName) {
-		return getInstance().getImage(iconName);
-	}
-
-	public static ImageDescriptor getDTDImageDescriptor(String iconName) {
-		String thisID = getInstance().getBundle().getSymbolicName();
-		return AbstractUIPlugin.imageDescriptorFromPlugin(thisID, iconName);
-	}
-
-	public static String getDTDString(String key) {
-		// In case it is invoked from a command line
-		if (getInstance() == null) {
-			return ""; //$NON-NLS-1$
-		}
-
-		return getInstance().getString(key);
-	}
-
-	public synchronized static DTDCorePlugin getInstance() {
-		return instance;
-	}
-
-	public static DTDCorePlugin getPlugin() {
-		return instance;
-	}
-
-	private ResourceBundle resourceBundle;
-
-	public DTDCorePlugin() {
-		super();
-		instance = this;
-		try {
-			resourceBundle = Platform.getResourceBundle(Platform
-					.getBundle("org.eclipse.wst.dtd.core")); //$NON-NLS-1$
-		} catch (java.util.MissingResourceException exception) {
-			//B2BUtilPlugin.getPlugin().getMsgLogger().write(B2BUtilPlugin.getGUIString("_WARN_PLUGIN_PROPERTIES_MISSING")
-			// + descriptor.getLabel());
-			resourceBundle = null;
-		}
-	}
-
-	public Image getImage(String iconName) {
-		ImageRegistry imageRegistry = getImageRegistry();
-		Image image = imageRegistry.get(iconName);
-
-		if (image == null) {
-			String thisID = getInstance().getBundle().getSymbolicName();
-			imageRegistry.put(iconName, imageDescriptorFromPlugin(thisID,
-					iconName));
-			image = imageRegistry.get(iconName);
-		}
-
-		return image;
-	}
-
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	/**
-	 * This gets the string resource.
-	 */
-	public String getString(String key) {
-		return getResourceBundle().getString(key);
-	}
-
-	/**
-	 * This gets the string resource and does one substitution.
-	 */
-	public String getString(String key, Object s1) {
-		return MessageFormat.format(getString(key), new Object[] { s1 });
-	}
-
-	/**
-	 * This gets the string resource and does two substitutions.
-	 */
-	public String getString(String key, Object s1, Object s2) {
-		return MessageFormat.format(getString(key), new Object[] { s1, s2 });
-	}
-
-	public void startup() {
-		instance = this;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/Logger.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/Logger.java
deleted file mode 100644
index a0ba793..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/Logger.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.internal;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if
- * desired, the console. This class should only be used by classes in this
- * plugin. Other plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.wst.dtd.core"; //$NON-NLS-1$
-	
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int INFO_DEBUG = 200 + INFO;
-
-	public static final int OK = IStatus.OK; // 0
-
-	public static final int OK_DEBUG = 200 + OK;
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int WARNING_DEBUG = 200 + WARNING;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (!isDebugging())
-			return;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-					Bundle bundle = Platform.getBundle(PLUGIN_ID);
-					if (bundle != null) 
-						Platform.getLog(bundle).log(statusObj);
-					return;
-				}
-			}
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-	
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/text/DTDStructuredDocumentReParser.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/text/DTDStructuredDocumentReParser.java
deleted file mode 100644
index b4d24ea..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/text/DTDStructuredDocumentReParser.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.internal.text;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.internal.text.StructuredDocumentReParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredTextReParser;
-
-
-public class DTDStructuredDocumentReParser extends StructuredDocumentReParser {
-
-	public StructuredDocumentEvent checkForCrossStructuredDocumentRegionBoundryCases() {
-		IStructuredDocumentRegion startNode = fStructuredDocument.getRegionAtCharacterOffset(fStart);
-		IStructuredDocumentRegion endNode = fStructuredDocument.getRegionAtCharacterOffset(fStart + fLengthToReplace - 1);
-		return reparse(startNode.getStart(), endNode.getEnd());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.internal.text.StructuredDocumentReParser#newInstance()
-	 */
-	public IStructuredTextReParser newInstance() {
-		return new DTDStructuredDocumentReParser();
-	}
-
-	protected StructuredDocumentEvent reparse(IStructuredDocumentRegion dirtyStart, IStructuredDocumentRegion dirtyEnd) {
-		return super.reparse(dirtyStart, dirtyEnd);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/text/DTDStructuredDocumentRegionFactory.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/text/DTDStructuredDocumentRegionFactory.java
deleted file mode 100644
index 816ffac..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/text/DTDStructuredDocumentRegionFactory.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.internal.text;
-
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-public class DTDStructuredDocumentRegionFactory {
-	public static final int DTD_GENERIC = 5;
-
-	public static IStructuredDocumentRegion createStructuredDocumentRegion(int type) {
-		IStructuredDocumentRegion instance = null;
-		switch (type) {
-			case DTD_GENERIC :
-				instance = new BasicStructuredDocumentRegion();
-				break;
-			default :
-				break;
-		}
-		return instance;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/text/RegionIterator.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/text/RegionIterator.java
deleted file mode 100644
index c363a21..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/text/RegionIterator.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.internal.text;
-
-import java.util.NoSuchElementException;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-
-public class RegionIterator {
-
-	private int currentIndex;
-
-	//private IStructuredDocumentRegion flatNode;
-	private ITextRegionList regions;
-	//private int startOffset, endOffset;
-	private ITextRegion startRegion, endRegion;
-
-	public RegionIterator(IStructuredDocumentRegion node) {
-		this(node, node.getStart(), node.getEnd());
-	}
-
-	public RegionIterator(IStructuredDocumentRegion node, int startOffset, int endOffset) {
-		regions = node.getRegions();
-		startRegion = node.getRegionAtCharacterOffset(startOffset);
-		endRegion = node.getRegionAtCharacterOffset(endOffset - 1);
-
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion region = regions.get(i);
-			if (startRegion == region) {
-				currentIndex = i;
-				break;
-			}
-		}
-	}
-
-	public RegionIterator(ITextRegionList regions) {
-		this.regions = regions;
-		startRegion = regions.get(0);
-		endRegion = regions.get(regions.size() - 1);
-		currentIndex = 0;
-		//    this(node, node.getStart(), node.getEnd());
-	}
-
-	public boolean hasNext() {
-		if (currentIndex < regions.size()) {
-			return currentIndex <= regions.indexOf(endRegion);
-		}
-		return false;
-	}
-
-	public boolean hasPrevious() {
-		if (currentIndex >= 0) {
-			return currentIndex >= regions.indexOf(startRegion);
-		}
-		return false;
-	}
-
-	public ITextRegion next() {
-		if (hasNext()) {
-			return regions.get(currentIndex++);
-		}
-		throw new NoSuchElementException();
-	}
-
-	public ITextRegion previous() {
-		if (hasPrevious()) {
-			return regions.get(--currentIndex);
-		}
-		throw new NoSuchElementException();
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/modelhandler/DTDModelDumper.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/modelhandler/DTDModelDumper.java
deleted file mode 100644
index abdf741..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/modelhandler/DTDModelDumper.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.modelhandler;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelDumper;
-
-
-public final class DTDModelDumper implements ModelDumper {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.ModelDumper#dump(org.eclipse.wst.sse.core.IStructuredModel,
-	 *      java.io.OutputStream, org.eclipse.wst.common.encoding.EncodingRule,
-	 *      org.eclipse.core.resources.IFile)
-	 */
-	public void dump(IStructuredModel model, OutputStream outputStream, EncodingRule encodingRule, IFile iFile) throws UnsupportedEncodingException, IOException, CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("Implement DTDModelDumper.dump()"); //$NON-NLS-1$
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/modelhandler/DTDModelLoader.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/modelhandler/DTDModelLoader.java
deleted file mode 100644
index 896c24d..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/modelhandler/DTDModelLoader.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.modelhandler;
-
-import org.eclipse.wst.dtd.core.document.DTDModelImpl;
-import org.eclipse.wst.dtd.core.encoding.DTDDocumentLoader;
-import org.eclipse.wst.sse.core.AbstractModelLoader;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-
-
-
-public final class DTDModelLoader extends AbstractModelLoader {
-	public DTDModelLoader() {
-		super();
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		if (documentLoaderInstance == null) {
-			documentLoaderInstance = new DTDDocumentLoader();
-		}
-		return documentLoaderInstance;
-	}
-
-	public ModelLoader newInstance() {
-		return new DTDModelLoader();
-	}
-
-	public IStructuredModel newModel() {
-		IStructuredModel model = new DTDModelImpl();
-		// now done in create
-		//model.setStructuredDocument(createNewStructuredDocument());
-		//model.setFactoryRegistry(defaultFactoryRegistry());
-		return model;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/modelhandler/ModelHandlerForDTD.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/modelhandler/ModelHandlerForDTD.java
deleted file mode 100644
index b1f4dc1..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/modelhandler/ModelHandlerForDTD.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.modelhandler;
-
-import org.eclipse.wst.dtd.core.encoding.DTDDocumentCharsetDetector;
-import org.eclipse.wst.dtd.core.encoding.DTDDocumentLoader;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.modelhandler.AbstractModelHandler;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-
-
-public final class ModelHandlerForDTD extends AbstractModelHandler implements IModelHandler {
-	private static String AssociatedContentTypeId = "org.eclipse.wst.dtd.core.dtdsource"; //$NON-NLS-1$
-	private static String ModelHandlerID = "org.eclipse.wst.dtd.core.modelhandler"; //$NON-NLS-1$
-
-	public ModelHandlerForDTD() {
-		super();
-		setId(ModelHandlerID);
-		setAssociatedContentTypeId(AssociatedContentTypeId);
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		return new DTDDocumentLoader();
-	}
-
-	public IDocumentCharsetDetector getEncodingDetector() {
-		return new DTDDocumentCharsetDetector();
-	}
-
-	public ModelLoader getModelLoader() {
-		return new DTDModelLoader();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegion.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegion.java
deleted file mode 100644
index 69efada..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegion.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.parser;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.internal.parser.ContextRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-
-public class DTDRegion extends ContextRegion {
-
-
-	public DTDRegion(String newContext, int newStart, int newLength) {
-		super(newContext, newStart, newLength, newLength);
-	}
-
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion flatnode, String changes, int requestStart, int requestLength) {
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegionFactory.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegionFactory.java
deleted file mode 100644
index fbcdef4..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegionFactory.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.parser;
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-public class DTDRegionFactory implements DTDRegionTypes {
-	public static ITextRegion createRegion(String tokenKind, int start, int length) {
-		ITextRegion region = null;
-		if (tokenKind != null) {
-			region = new DTDRegion(tokenKind, start, length);
-		}
-		return region;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegionParser.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegionParser.java
deleted file mode 100644
index c6a2b99..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegionParser.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.parser;
-
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Vector;
-
-import org.eclipse.wst.dtd.core.internal.text.DTDStructuredDocumentRegionFactory;
-import org.eclipse.wst.dtd.core.tokenizer.DTDTokenizer;
-import org.eclipse.wst.dtd.core.tokenizer.Token;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class DTDRegionParser implements RegionParser {
-	private Vector cachedRegions = null;
-	private DTDTokenizer tokenizer = null;
-	private IStructuredDocumentRegion cachedNode = null; // top of node chain
-
-	public RegionParser newInstance() {
-		return new DTDRegionParser();
-	}
-
-	private IStructuredDocumentRegion addNewNodes(IStructuredDocumentRegion lastNode, Vector regions) {
-		IStructuredDocumentRegion leadingSpaceNode = null;
-		IStructuredDocumentRegion contentNode = null;
-		IStructuredDocumentRegion trailingSpaceNode = null;
-		LinkedList nodeSeeds = new LinkedList();
-		int nRegions = regions.size();
-		int leadingSpaceEnd = -1;
-		int trailingSpaceBegin = nRegions;
-
-		// find leading space
-		nodeSeeds.clear();
-		for (int i = 0; i < nRegions; i++) {
-			ITextRegion region = (ITextRegion) regions.get(i);
-			String type = region.getType();
-			if (isBlankRegion(type)) {
-				leadingSpaceEnd = i;
-				nodeSeeds.addLast(region);
-			} else {
-				break;
-			}
-		}
-		if (!nodeSeeds.isEmpty()) {
-			leadingSpaceNode = createNode(nodeSeeds);
-			if (lastNode != null) {
-				lastNode.setNext(leadingSpaceNode);
-				leadingSpaceNode.setPrevious(lastNode);
-			}
-			lastNode = leadingSpaceNode;
-		}
-
-		// find trailing space
-		if (leadingSpaceEnd < nRegions - 1) {
-			nodeSeeds.clear();
-			for (int i = nRegions - 1; 0 <= i; i--) {
-				ITextRegion region = (ITextRegion) regions.get(i);
-				String type = ((ITextRegion) regions.get(i)).getType();
-				if (isBlankRegion(type)) {
-					trailingSpaceBegin = i;
-					nodeSeeds.addFirst(region);
-				} else {
-					break;
-				}
-			}
-			if (!nodeSeeds.isEmpty()) {
-				trailingSpaceNode = createNode(nodeSeeds);
-			}
-
-			nodeSeeds.clear();
-			for (int i = leadingSpaceEnd + 1; i < trailingSpaceBegin; i++) {
-				nodeSeeds.addLast(regions.get(i));
-			}
-			if (!nodeSeeds.isEmpty()) {
-				contentNode = createNode(nodeSeeds);
-				if (lastNode != null) {
-					lastNode.setNext(contentNode);
-					contentNode.setPrevious(lastNode);
-				}
-				lastNode = contentNode;
-			}
-			if (trailingSpaceNode != null) {
-				lastNode.setNext(trailingSpaceNode);
-				trailingSpaceNode.setPrevious(lastNode);
-				lastNode = trailingSpaceNode;
-			}
-		}
-
-		return lastNode;
-	}
-
-	private IStructuredDocumentRegion createNode(LinkedList regions) {
-		if (regions.size() == 0) {
-			return null;
-		}
-
-		IStructuredDocumentRegion node = DTDStructuredDocumentRegionFactory.createStructuredDocumentRegion(DTDStructuredDocumentRegionFactory.DTD_GENERIC);
-		int start = ((ITextRegion) regions.getFirst()).getStart();
-		int length = ((ITextRegion) regions.getLast()).getEnd() - start;
-		node.setStart(start);
-		node.setLength(length);
-		for (ListIterator i = regions.listIterator(0); i.hasNext();) {
-			ITextRegion region = (ITextRegion) i.next();
-			node.addRegion(region);
-			region.adjustStart(-start);
-		}
-		node.setEnded(true);
-
-		return node;
-	}
-
-	private IStructuredDocumentRegion createNodeChain(List regions) {
-		IStructuredDocumentRegion headNode = null;
-		IStructuredDocumentRegion lastNode = null;
-		Vector nodeSeeds = new Vector();
-
-		for (Iterator e = regions.iterator(); e.hasNext();) {
-			ITextRegion region = (ITextRegion) e.next();
-			String type = region.getType();
-			// If the following regions appear,
-			// a previous node is closed in front of it.
-			if (!nodeSeeds.isEmpty() && isBeginningRegion(type)) {
-				lastNode = addNewNodes(lastNode, nodeSeeds);
-				nodeSeeds.clear();
-			}
-			nodeSeeds.addElement(region);
-
-			// The following regions close the current node.
-			if (!nodeSeeds.isEmpty() && isEndingRegion(type)) {
-				lastNode = addNewNodes(lastNode, nodeSeeds);
-				nodeSeeds.clear();
-			}
-
-			if (headNode == null && lastNode != null) {
-				headNode = findFirstNode(lastNode);
-			}
-		}
-
-		// close current node forcibly.
-		if (!nodeSeeds.isEmpty()) {
-			lastNode = addNewNodes(lastNode, nodeSeeds);
-			if (headNode == null && lastNode != null) {
-				headNode = findFirstNode(lastNode);
-			}
-		}
-		return headNode;
-	}
-
-	private IStructuredDocumentRegion findFirstNode(IStructuredDocumentRegion node) {
-		IStructuredDocumentRegion firstNode = node;
-		IStructuredDocumentRegion prevNode = null;
-		while ((prevNode = firstNode.getPrevious()) != null) {
-			firstNode = prevNode;
-		}
-		return firstNode;
-	}
-
-	public IStructuredDocumentRegion getDocumentRegions() {
-		if (cachedNode != null) {
-			return cachedNode;
-		}
-
-		List regions = getRegions();
-		IStructuredDocumentRegion headNode = createNodeChain(regions);
-		cachedNode = headNode;
-
-		return headNode;
-	}
-
-	public List getRegions() {
-		if (cachedRegions != null) {
-			return cachedRegions;
-		}
-
-		Vector regions = new Vector();
-		Token currentToken = null;
-		do {
-			try {
-				currentToken = (Token) tokenizer.yylex();
-				if (currentToken != null) {
-					ITextRegion region = DTDRegionFactory.createRegion(currentToken.getType(), currentToken.getStartOffset(), currentToken.getLength());
-					regions.add(region);
-				}
-			} catch (java.io.FileNotFoundException e) {
-				System.out.println("File not found"); //$NON-NLS-1$
-			} catch (java.io.IOException e) {
-				System.out.println("Error opening file"); //$NON-NLS-1$
-			}
-		} while (currentToken != null);
-
-		cachedRegions = regions;
-		return regions;
-	}
-
-	public void reset(Reader reader) {
-		if (tokenizer == null) {
-			try {
-				tokenizer = new DTDTokenizer(reader);
-			} catch (ArrayIndexOutOfBoundsException e) {
-				System.out.println("Usage : java DTDTokenizer <inputfile>"); //$NON-NLS-1$
-			}
-		} else {
-			try {
-				tokenizer.yyreset(reader);
-			} catch (java.io.IOException e) {
-				System.out.println("Error opening file"); //$NON-NLS-1$
-			}
-		}
-
-		cachedNode = null;
-		cachedRegions = null;
-	}
-
-	/**
-	 * An additional offset for use with any position-dependant parsing rules
-	 */
-	public void reset(Reader reader, int offset) {
-		reset(reader);
-	}
-
-	public void reset(String input) {
-		reset(new StringReader(input));
-	}
-
-	public void reset(String input, int offset) {
-		reset(input);
-	}
-
-	// never used
-	 DTDTokenizer getTokenizer() {
-		return tokenizer;
-	}
-
-	private boolean isBeginningRegion(String type) {
-		return (type == DTDRegionTypes.START_TAG) || (type == DTDRegionTypes.ENTITY_PARM);
-	}
-
-	private boolean isBlankRegion(String type) {
-		return (type == DTDRegionTypes.WHITESPACE);
-	}
-
-	private boolean isEndingRegion(String type) {
-		return (type == DTDRegionTypes.END_TAG) || (type == DTDRegionTypes.ENTITY_PARM) || (type == DTDRegionTypes.COMMENT_END);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegionTypes.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegionTypes.java
deleted file mode 100644
index f65e56b..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/parser/DTDRegionTypes.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.parser;
-
-public interface DTDRegionTypes {
-	public static final String regionPrefix = "org.eclipse.wst.dtd.core.util.parser.DTDRegionTypes."; //$NON-NLS-1$
-
-	public static final String NAME = regionPrefix + "NAME"; //$NON-NLS-1$
-	public static final String START_TAG = regionPrefix + "START_TAG"; //$NON-NLS-1$
-	public static final String END_TAG = regionPrefix + "END_TAG"; //$NON-NLS-1$
-	public static final String LEFT_PAREN = regionPrefix + "LEFT_PAREN"; //$NON-NLS-1$
-	public static final String RIGHT_PAREN = regionPrefix + "RIGHT_PAREN"; //$NON-NLS-1$
-	public static final String WHITESPACE = regionPrefix + "WHITESPACE"; //$NON-NLS-1$
-	public static final String CONNECTOR = regionPrefix + "CONNECTOR"; //$NON-NLS-1$
-
-	public static final String OCCUR_TYPE = regionPrefix + "OCCUR_TYPE"; //$NON-NLS-1$
-	public static final String EXCLAMATION = regionPrefix + "EXCLAMATION"; //$NON-NLS-1$
-	public static final String PERCENT = regionPrefix + "PERCENT"; //$NON-NLS-1$
-	public static final String SEMICOLON = regionPrefix + "SEMICOLON"; //$NON-NLS-1$
-	public static final String COMMENT_START = regionPrefix + "COMMENT"; //$NON-NLS-1$
-	public static final String COMMENT_CONTENT = regionPrefix + "COMMENT_CONTENT"; //$NON-NLS-1$
-	public static final String COMMENT_END = regionPrefix + "COMMENT_END"; //$NON-NLS-1$
-
-	public static final String NOTATION_TAG = regionPrefix + "NOTATION_TAG"; //$NON-NLS-1$
-	public static final String NOTATION_CONTENT = regionPrefix + "NOTATION_CONTENT"; //$NON-NLS-1$
-
-	public static final String ENTITY_TAG = regionPrefix + "ENTITY_TAG"; //$NON-NLS-1$
-	public static final String ENTITY_PARM = regionPrefix + "ENTITY_PARM"; //$NON-NLS-1$
-	public static final String ENTITY_CONTENT = regionPrefix + "ENTITY_CONTENT"; //$NON-NLS-1$
-	public static final String NDATA_VALUE = regionPrefix + "NDATA_VALUE"; //$NON-NLS-1$
-
-	public static final String ELEMENT_TAG = regionPrefix + "ELEMENT_TAG"; //$NON-NLS-1$
-	public static final String ELEMENT_CONTENT = regionPrefix + "ELEMENT_CONTENT"; //$NON-NLS-1$
-	public static final String CONTENT_EMPTY = regionPrefix + "CONTENT_EMPTY"; //$NON-NLS-1$
-	public static final String CONTENT_ANY = regionPrefix + "CONTENT_ANY"; //$NON-NLS-1$
-	public static final String CONTENT_PCDATA = regionPrefix + "CONTENT_PCDATA"; //$NON-NLS-1$
-
-	public static final String ATTLIST_TAG = regionPrefix + "ATTLIST_TAG"; //$NON-NLS-1$
-
-	public static final String SYSTEM_KEYWORD = regionPrefix + "SYSTEM_KEYWORD"; //$NON-NLS-1$
-	public static final String PUBLIC_KEYWORD = regionPrefix + "PUBLIC_KEYWORD"; //$NON-NLS-1$
-	public static final String NDATA_KEYWORD = regionPrefix + "NDATA_KEYWORD"; //$NON-NLS-1$
-	public static final String SINGLEQUOTED_LITERAL = regionPrefix + "SINGLEQUOTED_LITERAL"; //$NON-NLS-1$
-	public static final String DOUBLEQUOTED_LITERAL = regionPrefix + "DOUBLEQUOTED_LITERAL"; //$NON-NLS-1$
-	public static final String UNKNOWN_CONTENT = regionPrefix + "UNKNOWN_CONTENT"; //$NON-NLS-1$
-
-	public static final String ATTRIBUTE_NAME = regionPrefix + "ATTRIBUTE_NAME"; //$NON-NLS-1$
-
-	// attribute type keywords
-	public static final String CDATA_KEYWORD = regionPrefix + "CDATA_KEYWORD"; //$NON-NLS-1$
-	public static final String ID_KEYWORD = regionPrefix + "ID_KEYWORD"; //$NON-NLS-1$
-	public static final String IDREF_KEYWORD = regionPrefix + "IDREF_KEYWORD"; //$NON-NLS-1$
-	public static final String IDREFS_KEYWORD = regionPrefix + "IDREFS_KEYWORD"; //$NON-NLS-1$
-	public static final String ENTITY_KEYWORD = regionPrefix + "ENTITY_KEYWORD"; //$NON-NLS-1$
-	public static final String ENTITIES_KEYWORD = regionPrefix + "ENTITIES_KEYWORD"; //$NON-NLS-1$
-	public static final String NMTOKEN_KEYWORD = regionPrefix + "NMTOKEN_KEYWORD"; //$NON-NLS-1$
-	public static final String NMTOKENS_KEYWORD = regionPrefix + "NMTOKENS_KEYWORD"; //$NON-NLS-1$
-	public static final String NOTATION_KEYWORD = regionPrefix + "NOTATION_KEYWORD"; //$NON-NLS-1$
-	public static final String ENUM_CHOICE = regionPrefix + "ENUM_CHOICE"; //$NON-NLS-1$
-	public static final String PARM_ENTITY_TYPE = regionPrefix + "PARM_ENTITY_TYPE"; //$NON-NLS-1$
-
-	// attribute defaults keywords
-	public static final String REQUIRED_KEYWORD = regionPrefix + "REQUIRED_KEYWORD"; //$NON-NLS-1$
-	public static final String IMPLIED_KEYWORD = regionPrefix + "IMPLIED_KEYWORD"; //$NON-NLS-1$
-	public static final String FIXED_KEYWORD = regionPrefix + "FIXED_KEYWORD"; //$NON-NLS-1$
-}// DTDRegionTypes
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/rules/StructuredTextPartitionerForDTD.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/rules/StructuredTextPartitionerForDTD.java
deleted file mode 100644
index 725b371..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/rules/StructuredTextPartitionerForDTD.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.rules;
-
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-
-public class StructuredTextPartitionerForDTD extends StructuredTextPartitioner {
-
-	public static final String ST_DTD_DEFAULT = "org.eclipse.wst.dtd.DEFAULT"; //$NON-NLS-1$
-
-	public StructuredTextPartitionerForDTD() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner#getDefault()
-	 */
-	public String getDefault() {
-		return ST_DTD_DEFAULT;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner#initLegalContentTypes()
-	 */
-	protected void initLegalContentTypes() {
-		fSupportedTypes = new String[]{ST_DTD_DEFAULT, ST_UNKNOWN_PARTITION};
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/DTDTokenizer.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/DTDTokenizer.java
deleted file mode 100644
index 91bde29..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/DTDTokenizer.java
+++ /dev/null
@@ -1,1429 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.tokenizer;
-
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-
-
-
-/**
- * This class is a scanner generated by <a href="http://www.jflex.de/">JFlex
- * </a> 1.3.5 on 05/04/02 11:38 AM from the specification file
- * <tt>dtd.flex</tt>
- */
-public class DTDTokenizer {
-
-	/** This character denotes the end of file */
-	final public static int YYEOF = -1;
-
-	/** initial size of the lookahead buffer */
-	final private static int YY_BUFFERSIZE = 16384;
-	final  static String yy_NL = System.getProperty("line.separator");
-
-	/** lexical states */
-	final public static int ATTRIBUTE_ENUMERATION = 13;
-	final public static int NOTATION_NAME = 6;
-	final public static int ELEMENT_CHILD = 1;
-	final public static int ENTITY_CONTENT = 4;
-	final public static int COMMENT_CONTENT = 8;
-	final public static int ATTLIST_NAME = 9;
-	final public static int EXTERNALID_CONTENT = 7;
-	final public static int ELEMENT_CONTENT = 1;
-	final public static int ELEMENT_MIXED = 1;
-	final public static int ELEMENT_MIXED_OR_CHILD = 1;
-	final public static int ATTRIBUTE_CONTENT = 11;
-	final public static int ENTITY_NAME = 3;
-	final public static int ATTRIBUTE_DEFAULT = 12;
-	final public static int ELEMENT_NAME = 2;
-	final public static int YYINITIAL = 0;
-	final public static int NDATA_CONTENT = 5;
-	final public static int ATTLIST_CONTENT = 10;
-	final public static int NODE = 1;
-
-	/**
-	 * Translates characters to character classes
-	 */
-	final private static String yycmap_packed = "\10\0\1\0\1\5\1\3\1\0\1\0\1\2\22\0\1\5\1\6" + "\1\1\1\37\1\0\1\23\1\0\1\46\1\42\1\43\1\4\1\7" + "\1\45\1\12\1\0\1\0\12\0\1\0\1\10\1\11\1\0\1\13" + "\1\4\1\0\1\25\1\31\1\32\1\33\1\14\1\35\2\0\1\21" + "\1\0\1\36\1\15\1\16\1\17\1\24\1\27\1\40\1\34\1\26" + "\1\20\1\30\2\0\1\41\1\22\1\0\1\0\1\0\2\0\1\0" + "\1\0\32\0\1\0\1\44\uff83\0";
-
-	/**
-	 * Translates characters to character classes
-	 */
-	final private static char[] yycmap = yy_unpack_cmap(yycmap_packed);
-
-	/**
-	 * Translates a state to a row index in the transition table
-	 */
-	final private static int yy_rowMap[] = {0, 39, 78, 117, 156, 195, 234, 273, 312, 351, 390, 429, 468, 507, 546, 585, 624, 39, 39, 39, 663, 702, 741, 780, 819, 39, 39, 858, 897, 39, 39, 936, 936, 975, 1014, 1053, 1092, 1131, 1170, 1209, 1248, 1287, 1326, 1365, 1404, 1443, 39, 1482, 1521, 1560, 1599, 1638, 39, 1677, 1716, 1755, 1794, 1833, 1872, 39, 39, 1911, 1950, 1989, 2028, 2067, 2106, 39, 39, 39, 2145, 2184, 2223, 2262, 2301, 2340, 2379, 897, 2418, 975, 2457, 2496, 2535, 2574, 975, 2613, 2652, 2691, 2730, 1560, 2769, 2808, 2847, 2886, 2925, 2964, 3003, 3042, 3081, 3120, 1950, 3159, 3198, 3237, 3276, 3315, 1950, 39, 3354, 3393, 3432, 39, 3471, 3510, 3549, 39, 3588, 3627, 39, 3666, 3705, 3744, 39, 39, 3783, 3822, 3861, 3900, 3939, 3978, 4017, 4056, 39, 4095, 4134, 4173, 39, 4212, 4251, 4290, 4329, 4368, 4407, 4446, 4485, 4524, 4563, 4602, 4641, 4680, 4719, 4758, 4797, 4836, 4875, 4914, 4953, 4992, 5031, 5070, 5109, 5148, 5187, 5226, 5265, 5304, 5343, 975, 5382, 5421, 5460, 5499,
-				5538, 5577, 1560, 5616, 5655, 5694, 5733, 5772, 5811, 5850, 546, 5889, 5928, 5967, 6006, 975, 975, 975, 6045, 1560, 6084, 6123, 1560, 6162, 6201, 6240, 1950, 546, 6279, 546, 819, 6318, 6357, 6396, 6435, 6474, 6513, 546, 6552, 1560, 1560, 1560, 1950, 6591, 39, 1950};
-
-	/**
-	 * The packed transition table of the DFA (part 0)
-	 */
-	final private static String yy_packed0 = "\2\17\2\20\1\17\1\20\1\21\1\17\1\22\1\23" + "\1\17\1\24\1\25\2\17\1\26\3\17\1\27\1\17" + "\1\30\21\17\47\0\2\31\2\20\1\32\1\20\1\0" + "\1\32\1\31\1\33\1\31\1\33\23\31\1\34\2\31" + "\1\35\1\36\2\37\1\31\2\40\2\20\1\0\1\20" + "\3\40\1\33\1\40\1\33\7\40\1\41\16\40\4\0" + "\1\40\1\42\1\43\2\20\1\42\1\20\3\42\1\33" + "\1\42\1\33\12\42\1\44\1\45\16\42\1\46\2\47" + "\2\20\1\47\1\20\3\47\1\33\1\47\1\33\33\47" + "\2\50\2\20\1\0\1\20\2\0\1\50\1\33\1\50" + "\1\33\26\50\4\0\1\50\1\42\1\43\2\20\1\42" + "\1\20\3\42\1\33\1\42\1\33\3\42\1\51\6\42" + "\1\52\1\53\16\42\1\46\2\54\2\55\1\54\1\55" + "\4\54\1\56\1\57\33\54\2\60\2\20\1\42\1\20" + "\2\42\1\60\1\33\1\60\1\33\26\60\4\42\1\60" + "\2\61\2\20\1\42\1\20\2\42\1\61\1\33\1\61" + "\1\33\26\61\4\42\1\61\1\62\1\63\1\64\1\65" + "\1\62\1\66\3\62\1\33\1\62\1\33\1\67\2\62" + "\1\70\1\62\1\71\10\62\1\72\4\62\1\73\2\62" + "\1\74\2\75\1\62\1\76\1\77\1\100\2\20\1\77" + "\1\20\3\77\1\33\1\77\1\33\23\77\1\101\6\77"
-				+ "\1\102\2\103\2\20\1\103\1\20\3\103\1\33\1\103" + "\1\33\26\103\1\104\1\105\1\106\2\103\2\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\7\17\1\0" + "\23\17\2\0\2\20\1\0\1\20\53\0\1\107\34\0" + "\2\17\2\0\1\17\2\0\1\17\2\0\1\17\1\0" + "\1\17\1\110\1\17\1\111\3\17\1\0\25\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\7\17\1\0" + "\1\112\22\17\2\113\2\0\1\113\2\0\1\113\2\0" + "\1\113\1\0\7\113\1\0\23\113\2\17\2\0\1\17" + "\2\0\1\17\2\0\1\17\1\0\4\17\1\114\2\17" + "\1\0\23\17\2\31\6\0\1\31\1\0\1\31\1\0" + "\26\31\4\0\3\31\6\0\1\31\1\0\1\31\1\0" + "\13\31\1\115\12\31\4\0\1\31\2\0\2\116\1\0" + "\1\116\31\0\1\117\7\0\2\40\4\0\3\40\1\0" + "\1\40\1\0\26\40\4\0\1\40\2\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\33\42\1\43\1\120" + "\2\121\1\43\1\121\3\43\1\121\1\43\1\121\33\43" + "\2\42\2\0\1\42\1\0\3\42\1\0\1\42\1\0" + "\6\42\1\122\26\42\2\0\1\42\1\0\3\42\1\0" + "\1\42\1\0\14\42\1\123\16\42\2\46\2\124\1\46" + "\1\124\3\46\1\124\1\46\1\124\32\46\1\125\2\47"
-				+ "\2\0\1\47\1\0\3\47\1\0\1\47\1\0\33\47" + "\2\50\6\0\1\50\1\0\1\50\1\0\26\50\4\0" + "\1\50\2\42\2\0\1\42\1\0\3\42\1\0\1\42" + "\1\0\17\42\1\126\15\42\2\0\1\42\1\0\3\42" + "\1\0\1\42\1\0\6\42\1\127\26\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\14\42\1\130\16\42" + "\12\54\2\0\35\54\2\55\1\54\1\55\4\54\2\0" + "\33\54\12\0\1\131\34\0\2\60\2\0\1\42\1\0" + "\2\42\1\60\1\0\1\60\1\0\26\60\4\42\1\60" + "\2\61\2\0\1\42\1\0\2\42\1\61\1\0\1\61" + "\1\0\26\61\4\42\1\61\2\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\26\62\3\0\2\62\1\63" + "\1\132\2\133\1\63\1\133\3\63\1\133\1\63\1\133" + "\26\63\3\133\2\63\3\0\1\65\50\0\1\66\41\0" + "\2\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\3\62\1\134\22\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\2\62\1\135\5\62\1\136" + "\15\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\17\62\1\137\6\62\3\0\4\62\2\0" + "\1\62\1\0\3\62\1\0\1\62\1\0\17\62\1\140" + "\6\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\5\62\1\141\12\62\1\142\1\143\4\62"
-				+ "\3\0\2\62\2\76\2\144\1\76\1\144\3\76\1\144" + "\1\76\1\144\26\76\3\144\1\76\1\132\2\77\2\0" + "\1\77\1\0\3\77\1\0\1\77\1\0\33\77\1\100" + "\1\145\2\146\1\100\1\146\3\100\1\146\1\100\1\146" + "\33\100\2\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\5\77\1\147\12\77\1\150\1\151\11\77\2\102" + "\2\152\1\102\1\152\3\102\1\152\1\102\1\152\32\102" + "\1\153\2\103\2\0\1\103\1\0\3\103\1\0\1\103" + "\1\0\26\103\3\0\2\103\12\0\1\154\34\0\2\17" + "\2\0\1\17\2\0\1\17\2\0\1\17\1\0\1\155" + "\6\17\1\0\25\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\4\17\1\156\2\17\1\0\25\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\4\17\1\157" + "\2\17\1\0\23\17\2\113\2\0\1\113\2\0\1\113" + "\1\160\1\0\1\113\1\0\7\113\1\0\23\113\2\17" + "\2\0\1\17\2\0\1\17\2\0\1\17\1\0\4\17" + "\1\161\2\17\1\0\23\17\2\31\6\0\1\31\1\0" + "\1\31\1\0\16\31\1\162\7\31\4\0\1\31\27\0" + "\1\163\17\0\1\121\1\164\45\121\2\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\12\42\1\165\22\42" + "\2\0\1\42\1\0\3\42\1\0\1\42\1\0\15\42"
-				+ "\1\166\15\42\46\124\1\167\2\42\2\0\1\42\1\0" + "\3\42\1\0\1\42\1\0\11\42\1\170\23\42\2\0" + "\1\42\1\0\3\42\1\0\1\42\1\0\12\42\1\171" + "\22\42\2\0\1\42\1\0\3\42\1\0\1\42\1\0" + "\15\42\1\172\15\42\13\0\1\173\33\0\1\133\1\174" + "\45\133\2\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\4\62\1\175\21\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\4\62\1\176\21\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\4\62\1\177\21\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\20\62\1\200\5\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\11\62\1\201\14\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\2\62\1\202\23\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\1\203\25\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\5\62\1\204\20\62\3\0" + "\2\62\46\144\1\174\1\146\1\205\45\146\2\77\2\0" + "\1\77\1\0\3\77\1\0\1\77\1\0\2\77\1\206" + "\32\77\2\0\1\77\1\0\3\77\1\0\1\77\1\0" + "\1\207\34\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\5\77\1\210\25\77\46\152\1\211\2\17\2\0"
-				+ "\1\17\2\0\1\17\2\0\1\17\1\0\2\17\1\212" + "\4\17\1\0\25\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\5\17\1\213\1\17\1\0\25\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\7\17\1\0" + "\1\17\1\214\23\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\1\17\1\215\5\17\1\0\23\17\2\31" + "\6\0\1\31\1\0\1\31\1\0\17\31\1\216\6\31" + "\4\0\1\31\32\0\1\217\14\0\2\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\4\42\1\220\30\42" + "\2\0\1\42\1\0\3\42\1\0\1\42\1\0\1\42" + "\1\221\33\42\2\0\1\42\1\0\3\42\1\0\1\42" + "\1\0\4\42\1\222\30\42\2\0\1\42\1\0\3\42" + "\1\0\1\42\1\0\4\42\1\223\30\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\1\42\1\224\31\42" + "\2\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\5\62\1\225\20\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\10\62\1\226\15\62\3\0" + "\4\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\11\62\1\227\14\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\1\230\25\62\3\0\4\62" + "\2\0\1\62\1\0\3\62\1\0\1\62\1\0\4\62" + "\1\231\21\62\3\0\4\62\2\0\1\62\1\0\3\62"
-				+ "\1\0\1\62\1\0\13\62\1\232\12\62\3\0\4\62" + "\2\0\1\62\1\0\3\62\1\0\1\62\1\0\24\62" + "\1\233\1\62\3\0\4\62\2\0\1\62\1\0\3\62" + "\1\0\1\62\1\0\25\62\1\234\3\0\2\62\2\77" + "\2\0\1\77\1\0\3\77\1\0\1\77\1\0\13\77" + "\1\235\21\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\24\77\1\236\10\77\2\0\1\77\1\0\3\77" + "\1\0\1\77\1\0\25\77\1\237\5\77\2\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\1\240\6\17" + "\1\0\25\17\2\0\1\17\2\0\1\17\2\0\1\17" + "\1\0\4\17\1\241\2\17\1\0\25\17\2\0\1\17" + "\2\0\1\17\2\0\1\17\1\0\4\17\1\242\2\17" + "\1\0\25\17\2\0\1\17\2\0\1\17\2\0\1\17" + "\1\0\5\17\1\243\1\17\1\0\23\17\2\31\6\0" + "\1\31\1\0\1\31\1\0\11\31\1\244\14\31\4\0" + "\1\31\33\0\1\245\13\0\2\42\2\0\1\42\1\0" + "\3\42\1\0\1\42\1\0\1\246\34\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\5\42\1\247\27\42" + "\2\0\1\42\1\0\3\42\1\0\1\42\1\0\11\42" + "\1\250\23\42\2\0\1\42\1\0\3\42\1\0\1\42" + "\1\0\1\251\34\42\2\0\1\42\1\0\3\42\1\0" + "\1\42\1\0\5\42\1\252\25\42\2\62\2\0\1\62"
-				+ "\1\0\3\62\1\0\1\62\1\0\4\62\1\253\21\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\22\62\1\254\3\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\4\62\1\255\21\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\21\62\1\256\4\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\11\62\1\257\14\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\1\62\1\260\24\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\14\62\1\261\11\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\1\262\25\62\3\0\2\62\2\77\2\0\1\77" + "\1\0\3\77\1\0\1\77\1\0\1\77\1\263\33\77" + "\2\0\1\77\1\0\3\77\1\0\1\77\1\0\14\77" + "\1\264\20\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\1\265\32\77\2\17\2\0\1\17\2\0\1\17" + "\2\0\1\17\1\0\3\17\1\266\3\17\1\0\25\17" + "\2\0\1\17\2\0\1\17\2\0\1\17\1\0\6\17" + "\1\267\1\0\25\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\5\17\1\270\1\17\1\0\25\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\7\17\1\0" + "\2\17\1\271\20\17\2\31\6\0\1\31\1\0\1\31"
-				+ "\1\0\4\31\1\272\21\31\4\0\1\31\25\0\1\273" + "\21\0\2\42\2\0\1\42\1\0\3\42\1\0\1\42" + "\1\0\2\42\1\274\32\42\2\0\1\42\1\0\3\42" + "\1\0\1\42\1\0\16\42\1\274\16\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\2\42\1\275\32\42" + "\2\0\1\42\1\0\3\42\1\0\1\42\1\0\16\42" + "\1\276\14\42\2\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\5\62\1\277\1\300\17\62\3\0\4\62" + "\2\0\1\62\1\0\3\62\1\0\1\62\1\0\1\301" + "\25\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\5\62\1\302\20\62\3\0\4\62\2\0" + "\1\62\1\0\3\62\1\0\1\62\1\0\12\62\1\303" + "\13\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\5\62\1\234\20\62\3\0\4\62\2\0" + "\1\62\1\0\3\62\1\0\1\62\1\0\5\62\1\304" + "\20\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\17\62\1\132\6\62\3\0\2\62\2\77" + "\2\0\1\77\1\0\3\77\1\0\1\77\1\0\5\77" + "\1\305\27\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\5\77\1\306\27\77\2\0\1\77\1\0\3\77" + "\1\0\1\77\1\0\17\77\1\307\13\77\2\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\4\17\1\310"
-				+ "\2\17\1\0\25\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\7\17\1\0\1\311\24\17\2\0\1\17" + "\2\0\1\17\2\0\1\17\1\0\4\17\1\312\2\17" + "\1\0\23\17\2\31\6\0\1\31\1\0\1\31\1\0" + "\11\31\1\313\14\31\4\0\1\31\20\0\1\314\26\0" + "\2\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\1\315\25\62\3\0\4\62\2\0\1\62\1\0\3\62" + "\1\0\1\62\1\0\3\62\1\316\22\62\3\0\4\62" + "\2\0\1\62\1\0\3\62\1\0\1\62\1\0\10\62" + "\1\317\15\62\3\0\4\62\2\0\1\62\1\0\3\62" + "\1\0\1\62\1\0\20\62\1\234\5\62\3\0\2\62" + "\2\77\2\0\1\77\1\0\3\77\1\0\1\77\1\0" + "\1\320\34\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\20\77\1\321\12\77\2\17\2\0\1\17\2\0" + "\1\17\2\0\1\17\1\0\3\17\1\322\3\17\1\0" + "\23\17\25\0\1\323\21\0\2\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\12\62\1\324\13\62\3\0" + "\4\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\12\62\1\325\13\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\3\62\1\326\22\62\3\0" + "\2\62\2\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\17\77\1\327\15\77\2\0\1\77\1\0\3\77"
-				+ "\1\0\1\77\1\0\1\330\32\77\2\0\2\323\1\0" + "\1\323\35\0\1\331\3\0\2\77\2\0\1\77\1\0" + "\3\77\1\0\1\77\1\0\17\77\1\332\13\77";
-
-	/**
-	 * The transition table of the DFA
-	 */
-	final private static int yytrans[] = yy_unpack();
-
-
-	/* error codes */
-	final private static int YY_UNKNOWN_ERROR = 0;
-	final  static int YY_ILLEGAL_STATE = 1;
-	final private static int YY_NO_MATCH = 2;
-	final private static int YY_PUSHBACK_2BIG = 3;
-
-	/* error messages for the codes above */
-	final private static String YY_ERROR_MSG[] = {"Unkown internal scanner error", "Internal error: unknown state", "Error: could not match input", "Error: pushback value was too large"};
-
-	/**
-	 * YY_ATTRIBUTE[aState] contains the attributes of state
-	 * <code>aState</code>
-	 */
-	private final static byte YY_ATTRIBUTE[] = {0, 8, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 1, 1, 1, 1, 1, 9, 9, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 9, 9, 9, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 9, 1, 1, 1, 9, 1, 1, 0, 9, 1, 1, 9, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 9, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 9, 1};
-
-	/** the input device */
-	private java.io.Reader yy_reader;
-
-	/** the current state of the DFA */
-	private int yy_state;
-
-	/** the current lexical state */
-	private int yy_lexical_state = YYINITIAL;
-
-	/**
-	 * this buffer contains the current text to be matched and is the source
-	 * of the yytext() string
-	 */
-	private char yy_buffer[] = new char[YY_BUFFERSIZE];
-
-	/** the textposition at the last accepting state */
-	private int yy_markedPos;
-
-	/** the textposition at the last state to be included in yytext */
-	private int yy_pushbackPos;
-
-	/** the current text position in the buffer */
-	private int yy_currentPos;
-
-	/** startRead marks the beginning of the yytext() string in the buffer */
-	private int yy_startRead;
-
-	/**
-	 * endRead marks the last character in the buffer, that has been read from
-	 * input
-	 */
-	private int yy_endRead;
-
-	/** number of newlines encountered up to the start of the matched text */
-	private int yyline;
-
-	/** the number of characters up to the start of the matched text */
-	private int yychar;
-
-	/**
-	 * the number of characters from the last newline up to the start of the
-	 * matched text
-	 */
-	 int yycolumn;
-
-	/**
-	 * yy_atBOL == true <=>the scanner is currently at the beginning of a
-	 * line
-	 */
-	 boolean yy_atBOL = true;
-
-	/** yy_atEOF == true <=>the scanner is at the EOF */
-	private boolean yy_atEOF;
-
-	/* user code: */
-	 int node_count = 0;
-	 String currentString;
-
-	private Token createToken(String type) {
-		return new Token(type, yytext(), yyline, yychar + startOffset, yylength());
-	}
-
-	private int startOffset = 0;
-
-	public void setStartOffset(int startOffset) {
-		this.startOffset = startOffset;
-	}
-
-	public void setLine(int line) {
-		this.yyline = line;
-	}
-
-
-	/**
-	 * Creates a new scanner There is also a java.io.InputStream version of
-	 * this constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Reader to read input from.
-	 */
-	public DTDTokenizer(java.io.Reader in) {
-		this.yy_reader = in;
-	}
-
-	/**
-	 * Creates a new scanner. There is also java.io.Reader version of this
-	 * constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Inputstream to read input from.
-	 */
-	public DTDTokenizer(java.io.InputStream in) {
-		this(new java.io.InputStreamReader(in));
-	}
-
-	/**
-	 * Unpacks the split, compressed DFA transition table.
-	 * 
-	 * @return the unpacked transition table
-	 */
-	private static int[] yy_unpack() {
-		int[] trans = new int[6630];
-		int offset = 0;
-		offset = yy_unpack(yy_packed0, offset, trans);
-		return trans;
-	}
-
-	/**
-	 * Unpacks the compressed DFA transition table.
-	 * 
-	 * @param packed
-	 *            the packed transition table
-	 * @return the index of the last entry
-	 */
-	private static int yy_unpack(String packed, int offset, int[] trans) {
-		int i = 0; /* index in packed string */
-		int j = offset; /* index in unpacked array */
-		int l = packed.length();
-		while (i < l) {
-			int count = packed.charAt(i++);
-			int value = packed.charAt(i++);
-			value--;
-			do
-				trans[j++] = value;
-			while (--count > 0);
-		}
-		return j;
-	}
-
-	/**
-	 * Unpacks the compressed character translation table.
-	 * 
-	 * @param packed
-	 *            the packed character translation table
-	 * @return the unpacked character translation table
-	 */
-	private static char[] yy_unpack_cmap(String packed) {
-		char[] map = new char[0x10000];
-		int i = 0; /* index in packed string */
-		int j = 0; /* index in unpacked array */
-		while (i < 130) {
-			int count = packed.charAt(i++);
-			char value = packed.charAt(i++);
-			do
-				map[j++] = value;
-			while (--count > 0);
-		}
-		return map;
-	}
-
-
-	/**
-	 * Refills the input buffer.
-	 * 
-	 * @return <code>false</code>, iff there was new input.
-	 * 
-	 * @exception java.io.IOException
-	 *                if any I/O-Error occurs
-	 */
-	private boolean yy_refill() throws java.io.IOException {
-
-		/* first: make room (if you can) */
-		if (yy_startRead > 0) {
-			System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0, yy_endRead - yy_startRead);
-
-			/* translate stored positions */
-			yy_endRead -= yy_startRead;
-			yy_currentPos -= yy_startRead;
-			yy_markedPos -= yy_startRead;
-			yy_pushbackPos -= yy_startRead;
-			yy_startRead = 0;
-		}
-
-		/* is the buffer big enough? */
-		if (yy_currentPos >= yy_buffer.length) {
-			/* if not: blow it up */
-			char newBuffer[] = new char[yy_currentPos * 2];
-			System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-			yy_buffer = newBuffer;
-		}
-
-		/* finally: fill the buffer with new input */
-		int numRead = yy_reader.read(yy_buffer, yy_endRead, yy_buffer.length - yy_endRead);
-
-		if (numRead < 0) {
-			return true;
-		} else {
-			yy_endRead += numRead;
-			return false;
-		}
-	}
-
-
-	/**
-	 * Closes the input stream.
-	 */
-	final public void yyclose() throws java.io.IOException {
-		yy_atEOF = true; /* indicate end of file */
-		yy_endRead = yy_startRead; /* invalidate buffer */
-
-		if (yy_reader != null)
-			yy_reader.close();
-	}
-
-
-	/**
-	 * Closes the current stream, and resets the scanner to read from a new
-	 * input stream.
-	 * 
-	 * All internal variables are reset, the old input stream <b>cannot </b>
-	 * be reused (internal buffer is discarded and lost). Lexical state is set
-	 * to <tt>YY_INITIAL</tt>.
-	 * 
-	 * @param reader
-	 *            the new input stream
-	 */
-	final public void yyreset(java.io.Reader reader) throws java.io.IOException {
-		yyclose();
-		yy_reader = reader;
-		yy_atBOL = true;
-		yy_atEOF = false;
-		yy_endRead = yy_startRead = 0;
-		yy_currentPos = yy_markedPos = yy_pushbackPos = 0;
-		yyline = yychar = yycolumn = 0;
-		yy_lexical_state = YYINITIAL;
-	}
-
-
-	/**
-	 * Returns the current lexical state.
-	 */
-	final public int yystate() {
-		return yy_lexical_state;
-	}
-
-
-	/**
-	 * Enters a new lexical state
-	 * 
-	 * @param newState
-	 *            the new lexical state
-	 */
-	final public void yybegin(int newState) {
-		yy_lexical_state = newState;
-	}
-
-
-	/**
-	 * Returns the text matched by the current regular expression.
-	 */
-	final public String yytext() {
-		return new String(yy_buffer, yy_startRead, yy_markedPos - yy_startRead);
-	}
-
-
-	/**
-	 * Returns the character at position <tt>pos</tt> from the matched text.
-	 * 
-	 * It is equivalent to yytext().charAt(pos), but faster
-	 * 
-	 * @param pos
-	 *            the position of the character to fetch. A value from 0 to
-	 *            yylength()-1.
-	 * 
-	 * @return the character at position pos
-	 */
-	final public char yycharat(int pos) {
-		return yy_buffer[yy_startRead + pos];
-	}
-
-
-	/**
-	 * Returns the length of the matched text region.
-	 */
-	final public int yylength() {
-		return yy_markedPos - yy_startRead;
-	}
-
-
-	/**
-	 * Reports an error that occured while scanning.
-	 * 
-	 * In a wellformed scanner (no or only correct usage of yypushback(int)
-	 * and a match-all fallback rule) this method will only be called with
-	 * things that "Can't Possibly Happen". If this method is called,
-	 * something is seriously wrong (e.g. a JFlex bug producing a faulty
-	 * scanner etc.).
-	 * 
-	 * Usual syntax/scanner level error handling should be done in error
-	 * fallback rules.
-	 * 
-	 * @param errorCode
-	 *            the code of the errormessage to display
-	 */
-	private void yy_ScanError(int errorCode) {
-		String message;
-		try {
-			message = YY_ERROR_MSG[errorCode];
-		} catch (ArrayIndexOutOfBoundsException e) {
-			message = YY_ERROR_MSG[YY_UNKNOWN_ERROR];
-		}
-
-		throw new Error(message);
-	}
-
-
-	/**
-	 * Pushes the specified amount of characters back into the input stream.
-	 * 
-	 * They will be read again by then next call of the scanning method
-	 * 
-	 * @param number
-	 *            the number of characters to be read again. This number must
-	 *            not be greater than yylength()!
-	 */
-	private void yypushback(int number) {
-		if (number > yylength())
-			yy_ScanError(YY_PUSHBACK_2BIG);
-
-		yy_markedPos -= number;
-	}
-
-
-	/**
-	 * Resumes scanning until the next regular expression is matched, the end
-	 * of input is encountered or an I/O-Error occurs.
-	 * 
-	 * @return the next token
-	 * @exception IOException
-	 *                if any I/O-Error occurs
-	 */
-	public Yytoken yylex() throws java.io.IOException {
-		int yy_input;
-		int yy_action;
-
-		// cached fields:
-		int yy_currentPos_l;
-// trivial had edit to remove unused code		int yy_startRead_l;
-		int yy_markedPos_l;
-		int yy_endRead_l = yy_endRead;
-		char[] yy_buffer_l = yy_buffer;
-		char[] yycmap_l = yycmap;
-
-		int[] yytrans_l = yytrans;
-		int[] yy_rowMap_l = yy_rowMap;
-		byte[] yy_attr_l = YY_ATTRIBUTE;
-
-		while (true) {
-			yy_markedPos_l = yy_markedPos;
-
-			yychar += yy_markedPos_l - yy_startRead;
-
-			boolean yy_r = false;
-			for (yy_currentPos_l = yy_startRead; yy_currentPos_l < yy_markedPos_l; yy_currentPos_l++) {
-				switch (yy_buffer_l[yy_currentPos_l]) {
-					case '\u000B' :
-					case '\u000C' :
-					case '\u0085' :
-					case '\u2028' :
-					case '\u2029' :
-						yyline++;
-						yy_r = false;
-						break;
-					case '\r' :
-						yyline++;
-						yy_r = true;
-						break;
-					case '\n' :
-						if (yy_r)
-							yy_r = false;
-						else {
-							yyline++;
-						}
-						break;
-					default :
-						yy_r = false;
-				}
-			}
-
-			if (yy_r) {
-				// peek one character ahead if it is \n (if we have counted
-				// one line too much)
-				boolean yy_peek;
-				if (yy_markedPos_l < yy_endRead_l)
-					yy_peek = yy_buffer_l[yy_markedPos_l] == '\n';
-				else if (yy_atEOF)
-					yy_peek = false;
-				else {
-					boolean eof = yy_refill();
-					yy_markedPos_l = yy_markedPos;
-					yy_buffer_l = yy_buffer;
-					if (eof)
-						yy_peek = false;
-					else
-						yy_peek = yy_buffer_l[yy_markedPos_l] == '\n';
-				}
-				if (yy_peek)
-					yyline--;
-			}
-			yy_action = -1;
-
-// trivial hand edit to remove unused code yy_startRead_l = 
-				yy_currentPos_l = yy_currentPos = yy_startRead = yy_markedPos_l;
-
-			yy_state = yy_lexical_state;
-
-
-			yy_forAction : {
-				while (true) {
-
-					if (yy_currentPos_l < yy_endRead_l)
-						yy_input = yy_buffer_l[yy_currentPos_l++];
-					else if (yy_atEOF) {
-						yy_input = YYEOF;
-						break yy_forAction;
-					} else {
-						// store back cached positions
-						yy_currentPos = yy_currentPos_l;
-						yy_markedPos = yy_markedPos_l;
-						boolean eof = yy_refill();
-						// get translated positions and possibly new buffer
-						yy_currentPos_l = yy_currentPos;
-						yy_markedPos_l = yy_markedPos;
-						yy_buffer_l = yy_buffer;
-						yy_endRead_l = yy_endRead;
-						if (eof) {
-							yy_input = YYEOF;
-							break yy_forAction;
-						} else {
-							yy_input = yy_buffer_l[yy_currentPos_l++];
-						}
-					}
-					int yy_next = yytrans_l[yy_rowMap_l[yy_state] + yycmap_l[yy_input]];
-					if (yy_next == -1)
-						break yy_forAction;
-					yy_state = yy_next;
-
-					int yy_attributes = yy_attr_l[yy_state];
-					if ((yy_attributes & 1) == 1) {
-						yy_action = yy_state;
-						yy_markedPos_l = yy_currentPos_l;
-						if ((yy_attributes & 8) == 8)
-							break yy_forAction;
-					}
-
-				}
-			}
-
-			// store back cached position
-			yy_markedPos = yy_markedPos_l;
-
-			switch (yy_action) {
-
-				case 26 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [197] { yypushback(yylength());
-				// yybegin(YYINITIAL); }");
-				{
-					yypushback(yylength());
-					yybegin(YYINITIAL);
-				}
-				case 219 :
-					break;
-				case 89 :
-				case 123 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [231] { yypushback(yylength());
-				// yybegin(ATTRIBUTE_DEFAULT); }");
-				{
-					yypushback(yylength());
-					yybegin(ATTRIBUTE_DEFAULT);
-				}
-				case 220 :
-					break;
-				case 12 :
-				case 62 :
-				case 63 :
-				case 64 :
-				case 65 :
-				case 102 :
-				case 103 :
-				case 104 :
-				case 133 :
-				case 134 :
-				case 135 :
-				case 156 :
-				case 157 :
-				case 158 :
-				case 178 :
-				case 179 :
-				case 180 :
-				case 196 :
-				case 197 :
-				case 207 :
-				case 208 :
-				case 215 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [247] { yypushback(yylength());
-				// yybegin(ATTLIST_CONTENT); }");
-				{
-					yypushback(yylength());
-					yybegin(ATTLIST_CONTENT);
-				}
-				case 221 :
-					break;
-				case 51 :
-				case 52 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [217] { yypushback(yylength());
-				// yybegin(ATTLIST_CONTENT); }");
-				{
-					yypushback(yylength());
-					yybegin(ATTLIST_CONTENT);
-				}
-				case 222 :
-					break;
-				case 205 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [227] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.NMTOKEN_KEYWORD); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.NMTOKEN_KEYWORD);
-				}
-				case 223 :
-					break;
-				case 194 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [224] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.IDREFS_KEYWORD); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.IDREFS_KEYWORD);
-				}
-				case 224 :
-					break;
-				case 191 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [225] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.ENTITY_KEYWORD); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.ENTITY_KEYWORD);
-				}
-				case 225 :
-					break;
-				case 107 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [174] {
-				// yybegin(COMMENT_CONTENT); return
-				// createToken(DTDRegionTypes.COMMENT_START); }");
-				{
-					yybegin(COMMENT_CONTENT);
-					return createToken(DTDRegionTypes.COMMENT_START);
-				}
-				case 226 :
-					break;
-				case 48 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [211] {
-				// yybegin(ATTRIBUTE_CONTENT); return
-				// createToken(DTDRegionTypes.ATTRIBUTE_NAME); }");
-				{
-					yybegin(ATTRIBUTE_CONTENT);
-					return createToken(DTDRegionTypes.ATTRIBUTE_NAME);
-				}
-				case 227 :
-					break;
-				case 39 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [283] {
-				// yybegin(EXTERNALID_CONTENT); return
-				// createToken(DTDRegionTypes.NAME); }");
-				{
-					yybegin(EXTERNALID_CONTENT);
-					return createToken(DTDRegionTypes.NAME);
-				}
-				case 228 :
-					break;
-				case 106 :
-				case 136 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [245] {
-				// yybegin(ATTLIST_CONTENT); return
-				// createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL); }");
-				{
-					yybegin(ATTLIST_CONTENT);
-					return createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL);
-				}
-				case 229 :
-					break;
-				case 100 :
-				case 132 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [246] {
-				// yybegin(ATTLIST_CONTENT); return
-				// createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL); }");
-				{
-					yybegin(ATTLIST_CONTENT);
-					return createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL);
-				}
-				case 230 :
-					break;
-				case 202 :
-				case 216 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [189] { return
-				// createToken(DTDRegionTypes.CONTENT_PCDATA); }");
-				{
-					return createToken(DTDRegionTypes.CONTENT_PCDATA);
-				}
-				case 231 :
-					break;
-				case 189 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [290] { return
-				// createToken(DTDRegionTypes.PUBLIC_KEYWORD); }");
-				{
-					return createToken(DTDRegionTypes.PUBLIC_KEYWORD);
-				}
-				case 232 :
-					break;
-				case 188 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [289] { return
-				// createToken(DTDRegionTypes.SYSTEM_KEYWORD); }");
-				{
-					return createToken(DTDRegionTypes.SYSTEM_KEYWORD);
-				}
-				case 233 :
-					break;
-				case 14 :
-				case 20 :
-				case 21 :
-				case 23 :
-				case 71 :
-				case 72 :
-				case 73 :
-				case 75 :
-				case 108 :
-				case 109 :
-				case 110 :
-				case 112 :
-				case 137 :
-				case 138 :
-				case 139 :
-				case 140 :
-				case 159 :
-				case 160 :
-				case 161 :
-				case 162 :
-				case 181 :
-				case 183 :
-				case 184 :
-				case 200 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [182] { return
-				// createToken(DTDRegionTypes.UNKNOWN_CONTENT); }");
-				{
-					return createToken(DTDRegionTypes.UNKNOWN_CONTENT);
-				}
-				case 234 :
-					break;
-				case 4 :
-				case 33 :
-				case 34 :
-				case 35 :
-				case 36 :
-				case 37 :
-				case 81 :
-				case 82 :
-				case 116 :
-				case 117 :
-				case 143 :
-				case 144 :
-				case 165 :
-				case 166 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [275] { return
-				// createToken(DTDRegionTypes.UNKNOWN_CONTENT); }");
-				{
-					return createToken(DTDRegionTypes.UNKNOWN_CONTENT);
-				}
-				case 235 :
-					break;
-				case 7 :
-				case 40 :
-				case 41 :
-				case 42 :
-				case 85 :
-				case 86 :
-				case 87 :
-				case 119 :
-				case 120 :
-				case 121 :
-				case 145 :
-				case 146 :
-				case 147 :
-				case 168 :
-				case 169 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [294] { return
-				// createToken(DTDRegionTypes.UNKNOWN_CONTENT); }");
-				{
-					return createToken(DTDRegionTypes.UNKNOWN_CONTENT);
-				}
-				case 236 :
-					break;
-				case 9 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [205] { return
-				// createToken(DTDRegionTypes.UNKNOWN_CONTENT); }");
-				{
-					return createToken(DTDRegionTypes.UNKNOWN_CONTENT);
-				}
-				case 237 :
-					break;
-				case 10 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [212] { return
-				// createToken(DTDRegionTypes.UNKNOWN_CONTENT); }");
-				{
-					return createToken(DTDRegionTypes.UNKNOWN_CONTENT);
-				}
-				case 238 :
-					break;
-				case 43 :
-				case 45 :
-				case 46 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [309] { return
-				// createToken(DTDRegionTypes.COMMENT_CONTENT); }");
-				{
-					return createToken(DTDRegionTypes.COMMENT_CONTENT);
-				}
-				case 239 :
-					break;
-				case 60 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [236] { return
-				// createToken(DTDRegionTypes.UNKNOWN_CONTENT); }");
-				{
-					return createToken(DTDRegionTypes.UNKNOWN_CONTENT);
-				}
-				case 240 :
-					break;
-				case 198 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [244] { return
-				// createToken(DTDRegionTypes.FIXED_KEYWORD); }");
-				{
-					return createToken(DTDRegionTypes.FIXED_KEYWORD);
-				}
-				case 241 :
-					break;
-				case 214 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [243] {
-				// yybegin(ATTLIST_CONTENT); return
-				// createToken(DTDRegionTypes.IMPLIED_KEYWORD); }");
-				{
-					yybegin(ATTLIST_CONTENT);
-					return createToken(DTDRegionTypes.IMPLIED_KEYWORD);
-				}
-				case 242 :
-					break;
-				case 212 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [228] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.NMTOKENS_KEYWORD); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.NMTOKENS_KEYWORD);
-				}
-				case 243 :
-					break;
-				case 211 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [226] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.ENTITIES_KEYWORD); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.ENTITIES_KEYWORD);
-				}
-				case 244 :
-					break;
-				case 209 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [176] { yybegin(NOTATION_NAME);
-				// return createToken(DTDRegionTypes.NOTATION_TAG); }");
-				{
-					yybegin(NOTATION_NAME);
-					return createToken(DTDRegionTypes.NOTATION_TAG);
-				}
-				case 245 :
-					break;
-				case 201 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [177] { yybegin(ATTLIST_NAME);
-				// return createToken(DTDRegionTypes.ATTLIST_TAG); }");
-				{
-					yybegin(ATTLIST_NAME);
-					return createToken(DTDRegionTypes.ATTLIST_TAG);
-				}
-				case 246 :
-					break;
-				case 199 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [173] { yybegin(ELEMENT_NAME);
-				// return createToken(DTDRegionTypes.ELEMENT_TAG); }");
-				{
-					yybegin(ELEMENT_NAME);
-					return createToken(DTDRegionTypes.ELEMENT_TAG);
-				}
-				case 247 :
-					break;
-				case 182 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [175] { yybegin(ENTITY_NAME);
-				// return createToken(DTDRegionTypes.ENTITY_TAG); }");
-				{
-					yybegin(ENTITY_NAME);
-					return createToken(DTDRegionTypes.ENTITY_TAG);
-				}
-				case 248 :
-					break;
-				case 167 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [293] { yybegin(NDATA_CONTENT);
-				// return createToken(DTDRegionTypes.NDATA_KEYWORD); }");
-				{
-					yybegin(NDATA_CONTENT);
-					return createToken(DTDRegionTypes.NDATA_KEYWORD);
-				}
-				case 249 :
-					break;
-				case 111 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [179] { return
-				// createToken(DTDRegionTypes.ENTITY_PARM); }");
-				{
-					return createToken(DTDRegionTypes.ENTITY_PARM);
-				}
-				case 250 :
-					break;
-				case 94 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [222] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.ID_KEYWORD); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.ID_KEYWORD);
-				}
-				case 251 :
-					break;
-				case 25 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [194] { return
-				// createToken(DTDRegionTypes.OCCUR_TYPE); }");
-				{
-					return createToken(DTDRegionTypes.OCCUR_TYPE);
-				}
-				case 252 :
-					break;
-				case 16 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [169] { return
-				// createToken(DTDRegionTypes.EXCLAMATION); }");
-				{
-					return createToken(DTDRegionTypes.EXCLAMATION);
-				}
-				case 253 :
-					break;
-				case 15 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [184] { return
-				// createToken(DTDRegionTypes.WHITESPACE); }");
-				{
-					return createToken(DTDRegionTypes.WHITESPACE);
-				}
-				case 254 :
-					break;
-				case 11 :
-				case 49 :
-				case 50 :
-				case 54 :
-				case 55 :
-				case 56 :
-				case 57 :
-				case 58 :
-				case 61 :
-				case 91 :
-				case 92 :
-				case 93 :
-				case 95 :
-				case 96 :
-				case 97 :
-				case 98 :
-				case 124 :
-				case 125 :
-				case 126 :
-				case 127 :
-				case 128 :
-				case 129 :
-				case 130 :
-				case 131 :
-				case 148 :
-				case 149 :
-				case 150 :
-				case 151 :
-				case 152 :
-				case 153 :
-				case 154 :
-				case 155 :
-				case 170 :
-				case 171 :
-				case 172 :
-				case 175 :
-				case 176 :
-				case 177 :
-				case 190 :
-				case 192 :
-				case 193 :
-				case 195 :
-				case 204 :
-				case 206 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [235] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.PARM_ENTITY_TYPE); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.PARM_ENTITY_TYPE);
-				}
-				case 255 :
-					break;
-				case 28 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [192] { return
-				// createToken(DTDRegionTypes.LEFT_PAREN); }");
-				{
-					return createToken(DTDRegionTypes.LEFT_PAREN);
-				}
-				case 256 :
-					break;
-				case 29 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [195] { return
-				// createToken(DTDRegionTypes.RIGHT_PAREN); }");
-				{
-					return createToken(DTDRegionTypes.RIGHT_PAREN);
-				}
-				case 257 :
-					break;
-				case 44 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [308] { return
-				// createToken(DTDRegionTypes.WHITESPACE); }");
-				{
-					return createToken(DTDRegionTypes.WHITESPACE);
-				}
-				case 258 :
-					break;
-				case 53 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [218] { return
-				// createToken(DTDRegionTypes.WHITESPACE); }");
-				{
-					return createToken(DTDRegionTypes.WHITESPACE);
-				}
-				case 259 :
-					break;
-				case 59 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [234] { yypushback(yylength());
-				// yybegin(ATTRIBUTE_ENUMERATION); }");
-				{
-					yypushback(yylength());
-					yybegin(ATTRIBUTE_ENUMERATION);
-				}
-				case 260 :
-					break;
-				case 67 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [253] { return
-				// createToken(DTDRegionTypes.LEFT_PAREN); }");
-				{
-					return createToken(DTDRegionTypes.LEFT_PAREN);
-				}
-				case 261 :
-					break;
-				case 68 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [255] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.RIGHT_PAREN); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.RIGHT_PAREN);
-				}
-				case 262 :
-					break;
-				case 69 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [254] { return
-				// createToken(DTDRegionTypes.ENUM_CHOICE); }");
-				{
-					return createToken(DTDRegionTypes.ENUM_CHOICE);
-				}
-				case 263 :
-					break;
-				case 31 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [265] { yybegin(ENTITY_CONTENT);
-				// return createToken(DTDRegionTypes.NAME); }");
-				{
-					yybegin(ENTITY_CONTENT);
-					return createToken(DTDRegionTypes.NAME);
-				}
-				case 264 :
-					break;
-				case 47 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [204] {
-				// yybegin(ATTLIST_CONTENT); return
-				// createToken(DTDRegionTypes.NAME); }");
-				{
-					yybegin(ATTLIST_CONTENT);
-					return createToken(DTDRegionTypes.NAME);
-				}
-				case 265 :
-					break;
-				case 187 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [272] { yypushback(yylength());
-				// yybegin(EXTERNALID_CONTENT); }");
-				{
-					yypushback(yylength());
-					yybegin(EXTERNALID_CONTENT);
-				}
-				case 266 :
-					break;
-				case 213 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [229] {
-				// yybegin(ATTRIBUTE_ENUMERATION); return
-				// createToken(DTDRegionTypes.NOTATION_KEYWORD); }");
-				{
-					yybegin(ATTRIBUTE_ENUMERATION);
-					return createToken(DTDRegionTypes.NOTATION_KEYWORD);
-				}
-				case 267 :
-					break;
-				case 174 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [220] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.CDATA_KEYWORD); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.CDATA_KEYWORD);
-				}
-				case 268 :
-					break;
-				case 173 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [223] {
-				// yybegin(ATTRIBUTE_DEFAULT); return
-				// createToken(DTDRegionTypes.IDREF_KEYWORD); }");
-				{
-					yybegin(ATTRIBUTE_DEFAULT);
-					return createToken(DTDRegionTypes.IDREF_KEYWORD);
-				}
-				case 269 :
-					break;
-				case 217 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [242] {
-				// yybegin(ATTLIST_CONTENT); return
-				// createToken(DTDRegionTypes.REQUIRED_KEYWORD); }");
-				{
-					yybegin(ATTLIST_CONTENT);
-					return createToken(DTDRegionTypes.REQUIRED_KEYWORD);
-				}
-				case 270 :
-					break;
-				case 122 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [307] { yybegin(YYINITIAL);
-				// return createToken(DTDRegionTypes.COMMENT_END); }");
-				{
-					yybegin(YYINITIAL);
-					return createToken(DTDRegionTypes.COMMENT_END);
-				}
-				case 271 :
-					break;
-				case 84 :
-				case 118 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [273] { return
-				// createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL); }");
-				{
-					return createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL);
-				}
-				case 272 :
-					break;
-				case 79 :
-				case 115 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [274] { return
-				// createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL); }");
-				{
-					return createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL);
-				}
-				case 273 :
-					break;
-				case 24 :
-				case 27 :
-				case 76 :
-				case 113 :
-				case 141 :
-				case 163 :
-				case 185 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [190] { return
-				// createToken(DTDRegionTypes.NAME); }");
-				{
-					return createToken(DTDRegionTypes.NAME);
-				}
-				case 274 :
-					break;
-				case 5 :
-				case 38 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [300] { yybegin(YYINITIAL);
-				// return createToken(DTDRegionTypes.NDATA_VALUE); }");
-				{
-					yybegin(YYINITIAL);
-					return createToken(DTDRegionTypes.NDATA_VALUE);
-				}
-				case 275 :
-					break;
-				case 13 :
-				case 66 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [256] { return
-				// createToken(DTDRegionTypes.NAME); }");
-				{
-					return createToken(DTDRegionTypes.NAME);
-				}
-				case 276 :
-					break;
-				case 18 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [167] { return
-				// createToken(DTDRegionTypes.START_TAG); }");
-				{
-					return createToken(DTDRegionTypes.START_TAG);
-				}
-				case 277 :
-					break;
-				case 17 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [171] { return
-				// createToken(DTDRegionTypes.SEMICOLON); }");
-				{
-					return createToken(DTDRegionTypes.SEMICOLON);
-				}
-				case 278 :
-					break;
-				case 30 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [193] { return
-				// createToken(DTDRegionTypes.CONNECTOR); }");
-				{
-					return createToken(DTDRegionTypes.CONNECTOR);
-				}
-				case 279 :
-					break;
-				case 22 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [170] { return
-				// createToken(DTDRegionTypes.PERCENT); }");
-				{
-					return createToken(DTDRegionTypes.PERCENT);
-				}
-				case 280 :
-					break;
-				case 19 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [168] { return
-				// createToken(DTDRegionTypes.END_TAG); }");
-				{
-					return createToken(DTDRegionTypes.END_TAG);
-				}
-				case 281 :
-					break;
-				case 32 :
-				//System.out.println("line: "+(yyline+1)+" "+"match:
-				// --"+yytext()+"--");
-				//System.out.println("action [264] { return
-				// createToken(DTDRegionTypes.PERCENT); }");
-				{
-					return createToken(DTDRegionTypes.PERCENT);
-				}
-				case 282 :
-					break;
-				default :
-					if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-						yy_atEOF = true;
-						return null;
-					} else {
-						yy_ScanError(YY_NO_MATCH);
-					}
-			}
-		}
-	}
-
-	/**
-	 * Runs the scanner on input files.
-	 * 
-	 * This main method is the debugging routine for the scanner. It prints
-	 * debugging information about each returned token to System.out until the
-	 * end of file is reached, or an error occured.
-	 * 
-	 * @param argv
-	 *            the command line, contains the filenames to run the scanner
-	 *            on.
-	 */
-	public static void main(String argv[]) {
-		if (argv.length == 0) {
-			System.out.println("Usage : java DTDTokenizer <inputfile>");
-		} else {
-			for (int i = 0; i < argv.length; i++) {
-				DTDTokenizer scanner = null;
-				try {
-					scanner = new DTDTokenizer(new java.io.FileReader(argv[i]));
-					do {
-						System.out.println(scanner.yylex());
-					} while (!scanner.yy_atEOF);
-
-				} catch (java.io.FileNotFoundException e) {
-					System.out.println("File not found : \"" + argv[i] + "\"");
-				} catch (java.io.IOException e) {
-					System.out.println("IO error scanning file \"" + argv[i] + "\"");
-					System.out.println(e);
-				} catch (Exception e) {
-					System.out.println("Unexpected exception:");
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/Token.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/Token.java
deleted file mode 100644
index 4c8072d..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/Token.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.tokenizer;
-
-public class Token extends Yytoken {
-	public static final int COMMENT_START = 9;
-	public static final int CONNECTOR = 6;
-	public static final int CONTENT_ANY = 43;
-	public static final int CONTENT_EMPTY = 42;
-	public static final int CONTENT_PCDATA = 44;
-	public static final int ELEMENT_CONTENT = 41;
-
-	public static final int ELEMENT_TAG = 40;
-	public static final int END_TAG = 2;
-	public static final int ENTITY_CONTENT = 32;
-	public static final int ENTITY_PARM = 31;
-
-	public static final int ENTITY_TAG = 30;
-	public static final int EXCLAMATION = 8;
-	public static final int LEFT_PAREN = 3;
-	public static final int NAME = 0;
-	public static final int NOTATION_CONTENT = 21;
-
-
-	public static final int NOTATION_TAG = 20;
-
-	//    public static final int CONNECT_CHOICE = 5;
-	//    public static final int CONNECT_SEQUENCE = 6;
-	//    public static final int OCCUR_OPTIONAL = 7;
-	//    public static final int OCCUR_ONE_OR_MORE = 8;
-	//    public static final int OCCUR_ZERO_OR_MORE = 9;
-	public static final int OCCUR_TYPE = 7;
-	public static final int RIGHT_PAREN = 4;
-	public static final int START_TAG = 1;
-	public static final int WHITESPACE = 5;
-
-
-	public Token(String type) {
-		super(type);
-	}
-
-	public Token(String type, String text, int line, int charBegin, int length) {
-		super(type, text, line, charBegin, length);
-	}
-
-	public Token createCopy() {
-		Token copy = new Token(getType(), getText(), getStartLine(), getStartOffset(), getLength());
-		return copy;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/Yytoken.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/Yytoken.java
deleted file mode 100644
index ceead5f..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/Yytoken.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.tokenizer;
-
-class Yytoken {
-	public int m_charBegin;
-	public int m_length;
-	public int m_line;
-	public String m_text;
-	public String m_type;
-
-	Yytoken(String type) {
-		m_type = type;
-	}
-
-	Yytoken(String type, String text, int line, int charBegin, int length) {
-		m_type = type;
-		m_text = new String(text);
-		m_line = line;
-		m_charBegin = charBegin;
-		m_length = length;
-	}
-
-	public void delete(int start, int length) {
-		int stringStart = start - m_charBegin;
-		String oldString = m_text;
-		m_text = oldString.substring(0, stringStart);
-		m_text += oldString.substring(stringStart + length);
-
-		m_length = m_text.length();
-		System.out.println("new string = " + m_text); //$NON-NLS-1$
-
-	}
-
-	public boolean equals(Yytoken other) {
-		return m_type == other.getType() && m_text.equals(other.getText()) && m_line == other.getStartLine() && m_charBegin == other.getStartOffset() && m_length == other.getLength();
-	}
-
-	public int getEndOffset() {
-		return m_charBegin + m_length;
-	}
-
-	public int getLength() {
-		return m_length;
-	}
-
-	public int getStartLine() {
-		return m_line;
-	}
-
-	public int getStartOffset() {
-		return m_charBegin;
-	}
-
-	public String getText() {
-		return m_text;
-	}
-
-	public String getType() {
-		return m_type;
-	}
-
-	public void setStartOffset(int startOffset) {
-		m_charBegin = startOffset;
-	}
-
-	public String toString() {
-		return "Text   : " + m_text + "\ntype : " + m_type + "\nline  : " + m_line + "\ncBeg. : " + m_charBegin + "\ncEnd. : " + getEndOffset() + "\ncLength. : " + m_length; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-	}
-
-	public void updateOffset(int delta) {
-		m_charBegin += delta;
-	}
-
-	public void updateText(String newText) {
-		m_text = newText;
-		m_length = newText.length();
-	}
-}
-
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/dtd.flex b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/dtd.flex
deleted file mode 100644
index b29b7f8..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/dtd.flex
+++ /dev/null
@@ -1,312 +0,0 @@
-/* this is a scanner for DTD files */

-package org.eclipse.wst.dtd.core.tokenizer;

-

-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;

-

-%%

-

-%{

-  private int node_count = 0;

-  private String currentString;

-

-  private Token createToken(String type)

-  {

-    return new Token(type, yytext(), yyline, yychar + startOffset, yylength());

-  }

-

-  private int startOffset = 0;

-  public void setStartOffset(int startOffset)

-  {

-    this.startOffset = startOffset;

-  }

-

-  public void setLine(int line)

-  {

-    this.yyline = line;

-  }

-%} 

-

-%class DTDTokenizer

-%public

-%unicode

-%debug

-%line

-%char

-%state NODE

-%state ELEMENT_NAME

-%state ELEMENT_CONTENT

-%state ELEMENT_MIXED_OR_CHILD

-%state ELEMENT_MIXED

-%state ELEMENT_CHILD

-%state ENTITY_NAME

-%state ENTITY_CONTENT

-%state NDATA_CONTENT

-

-%state NOTATION_NAME

-%state EXTERNALID_CONTENT

-

-%state COMMENT_CONTENT

-%state ATTLIST_NAME

-%state ATTLIST_CONTENT

-%state ATTRIBUTE_CONTENT

-%state ATTRIBUTE_DEFAULT

-%state ATTRIBUTE_ENUMERATION

-

-

-ALPHA=[A-Za-z]

-DIGIT=[0-9]

-NONNEWLINE_WHITE_SPACE_CHAR=[\ \t\b\012]

-STRING_TEXT=(\\\"|[^\n\r\"]|\\{WHITE_SPACE_CHAR}+\\)*

-COMMENT_TEXT=([^*/\n]|[^*\n]"/"[^*\n]|[^/\n]"*"[^/\n]|"*"[^/\n]|"/"[^*\n])*

-Ident = {ALPHA}({ALPHA}|{DIGIT}|_)*

-InputCharacter = [^\r\n]

-

-LineTerminator = \r|\n|\r\n

-

-/* 3 - White Space */

-S              =    (\x20 | \x09 | \x0D | \x0A)+

-NonLineTerminatorWhitespace = (\x20 | \x09)+

-

-WhiteSpace     = {LineTerminator} | [ \t\f]

-

-/* 84 */

-/*Letter         =    {BaseChar} | {Ideographic}

-

-/* 85 */

-BaseChar       =    [\u0041-\u005A] | [\u0061-\u007A] | [\u00C0-\u00D6] | [\u00D8-\u00F6] | [\u00F8-\u00FF] | [\u0100-\u0131] | [\u0134-\u013E] | [\u0141-\u0148] | [\u014A-\u017E] | [\u0180-\u01C3] | [\u01CD-\u01F0] | [\u01F4-\u01F5] | [\u01FA-\u0217] | [\u0250-\u02A8] | [\u02BB-\u02C1] | \u0386 | [\u0388-\u038A] | \u038C | [\u038E-\u03A1] | [\u03A3-\u03CE] | [\u03D0-\u03D6] | \u03DA | \u03DC | \u03DE | \u03E0 | [\u03E2-\u03F3] | [\u0401-\u040C] | [\u040E-\u044F] | [\u0451-\u045C] | [\u045E-\u0481] | [\u0490-\u04C4] | [\u04C7-\u04C8] | [\u04CB-\u04CC] | [\u04D0-\u04EB] | [\u04EE-\u04F5] | [\u04F8-\u04F9] | [\u0531-\u0556] | \u0559 | [\u0561-\u0586] | [\u05D0-\u05EA] | [\u05F0-\u05F2] | [\u0621-\u063A] | [\u0641-\u064A] | [\u0671-\u06B7] | [\u06BA-\u06BE] | [\u06C0-\u06CE] | [\u06D0-\u06D3] | \u06D5 | [\u06E5-\u06E6] | [\u0905-\u0939] | \u093D | [\u0958-\u0961] | [\u0985-\u098C] | [\u098F-\u0990] | [\u0993-\u09A8] | [\u09AA-\u09B0] | \u09B2 | [\u09B6-\u09B9] | [\u09DC-\u09DD] | [\u09DF-\u09E1] | [\u09F0-\u09F1] | [\u0A05-\u0A0A] | [\u0A0F-\u0A10] | [\u0A13-\u0A28] | [\u0A2A-\u0A30] | [\u0A32-\u0A33] | [\u0A35-\u0A36] | [\u0A38-\u0A39] | [\u0A59-\u0A5C] | \u0A5E | [\u0A72-\u0A74] | [\u0A85-\u0A8B] | \u0A8D | [\u0A8F-\u0A91] | [\u0A93-\u0AA8] | [\u0AAA-\u0AB0] | [\u0AB2-\u0AB3] | [\u0AB5-\u0AB9] | \u0ABD | \u0AE0 | [\u0B05-\u0B0C] | [\u0B0F-\u0B10] | [\u0B13-\u0B28] | [\u0B2A-\u0B30] | [\u0B32-\u0B33] | [\u0B36-\u0B39] | \u0B3D | [\u0B5C-\u0B5D] | [\u0B5F-\u0B61] | [\u0B85-\u0B8A] | [\u0B8E-\u0B90] | [\u0B92-\u0B95] | [\u0B99-\u0B9A] | \u0B9C | [\u0B9E-\u0B9F] | [\u0BA3-\u0BA4] | [\u0BA8-\u0BAA] | [\u0BAE-\u0BB5] | [\u0BB7-\u0BB9] | [\u0C05-\u0C0C] | [\u0C0E-\u0C10] | [\u0C12-\u0C28] | [\u0C2A-\u0C33] | [\u0C35-\u0C39] | [\u0C60-\u0C61] | [\u0C85-\u0C8C] | [\u0C8E-\u0C90] | [\u0C92-\u0CA8] | [\u0CAA-\u0CB3] | [\u0CB5-\u0CB9] | \u0CDE | [\u0CE0-\u0CE1] | [\u0D05-\u0D0C] | [\u0D0E-\u0D10] | [\u0D12-\u0D28] | [\u0D2A-\u0D39] | [\u0D60-\u0D61] | [\u0E01-\u0E2E] | \u0E30 | [\u0E32-\u0E33] | [\u0E40-\u0E45] | [\u0E81-\u0E82] | \u0E84 | [\u0E87-\u0E88] | \u0E8A | \u0E8D | [\u0E94-\u0E97] | [\u0E99-\u0E9F] | [\u0EA1-\u0EA3] | \u0EA5 | \u0EA7 | [\u0EAA-\u0EAB] | [\u0EAD-\u0EAE] | \u0EB0 | [\u0EB2-\u0EB3] | \u0EBD | [\u0EC0-\u0EC4] | [\u0F40-\u0F47] | [\u0F49-\u0F69] | [\u10A0-\u10C5] | [\u10D0-\u10F6] | \u1100 | [\u1102-\u1103] | [\u1105-\u1107] | \u1109 | [\u110B-\u110C] | [\u110E-\u1112] | \u113C | \u113E | \u1140 | \u114C | \u114E | \u1150 | [\u1154-\u1155] | \u1159 | [\u115F-\u1161] | \u1163 | \u1165 | \u1167 | \u1169 | [\u116D-\u116E] | [\u1172-\u1173] | \u1175 | \u119E | \u11A8 | \u11AB | [\u11AE-\u11AF] | [\u11B7-\u11B8] | \u11BA | [\u11BC-\u11C2] | \u11EB | \u11F0 | \u11F9 | [\u1E00-\u1E9B] | [\u1EA0-\u1EF9] | [\u1F00-\u1F15] | [\u1F18-\u1F1D] | [\u1F20-\u1F45] | [\u1F48-\u1F4D] | [\u1F50-\u1F57] | \u1F59 | \u1F5B | \u1F5D | [\u1F5F-\u1F7D] | [\u1F80-\u1FB4] | [\u1FB6-\u1FBC] | \u1FBE | [\u1FC2-\u1FC4] | [\u1FC6-\u1FCC] | [\u1FD0-\u1FD3] | [\u1FD6-\u1FDB] | [\u1FE0-\u1FEC] | [\u1FF2-\u1FF4] | [\u1FF6-\u1FFC] | \u2126 | [\u212A-\u212B] | \u212E | [\u2180-\u2182] | [\u3041-\u3094] | [\u30A1-\u30FA] | [\u3105-\u312C] | [\uAC00-\uD7A3]  

-

-/* 86 */

-Ideographic    =    [\u4E00-\u9FA5] | \u3007 | [\u3021-\u3029]  

-

-/* 4 */  /* is '.' to be escaped?? */

-NameChar       =    {Letter} | {Digit} | . | - | _ | : | {CombiningChar} | {Extender}

-

-/* 5 */

-Name           = ({Letter} | _ | :) {NameChar}* 

-

-/* 87 */

-CombiningChar  =    [\u0300-\u0345] | [\u0360-\u0361] | [\u0483-\u0486] | [\u0591-\u05A1] | [\u05A3-\u05B9] | [\u05BB-\u05BD] | \u05BF | [\u05C1-\u05C2] | \u05C4 | [\u064B-\u0652] | \u0670 | [\u06D6-\u06DC] | [\u06DD-\u06DF] | [\u06E0-\u06E4] | [\u06E7-\u06E8] | [\u06EA-\u06ED] | [\u0901-\u0903] | \u093C | [\u093E-\u094C] | \u094D | [\u0951-\u0954] | [\u0962-\u0963] | [\u0981-\u0983] | \u09BC | \u09BE | \u09BF | [\u09C0-\u09C4] | [\u09C7-\u09C8] | [\u09CB-\u09CD] | \u09D7 | [\u09E2-\u09E3] | \u0A02 | \u0A3C | \u0A3E | \u0A3F | [\u0A40-\u0A42] | [\u0A47-\u0A48] | [\u0A4B-\u0A4D] | [\u0A70-\u0A71] | [\u0A81-\u0A83] | \u0ABC | [\u0ABE-\u0AC5] | [\u0AC7-\u0AC9] | [\u0ACB-\u0ACD] | [\u0B01-\u0B03] | \u0B3C | [\u0B3E-\u0B43] | [\u0B47-\u0B48] | [\u0B4B-\u0B4D] | [\u0B56-\u0B57] | [\u0B82-\u0B83] | [\u0BBE-\u0BC2] | [\u0BC6-\u0BC8] | [\u0BCA-\u0BCD] | \u0BD7 | [\u0C01-\u0C03] | [\u0C3E-\u0C44] | [\u0C46-\u0C48] | [\u0C4A-\u0C4D] | [\u0C55-\u0C56] | [\u0C82-\u0C83] | [\u0CBE-\u0CC4] | [\u0CC6-\u0CC8] | [\u0CCA-\u0CCD] | [\u0CD5-\u0CD6] | [\u0D02-\u0D03] | [\u0D3E-\u0D43] | [\u0D46-\u0D48] | [\u0D4A-\u0D4D] | \u0D57 | \u0E31 | [\u0E34-\u0E3A] | [\u0E47-\u0E4E] | \u0EB1 | [\u0EB4-\u0EB9] | [\u0EBB-\u0EBC] | [\u0EC8-\u0ECD] | [\u0F18-\u0F19] | \u0F35 | \u0F37 | \u0F39 | \u0F3E | \u0F3F | [\u0F71-\u0F84] | [\u0F86-\u0F8B] | [\u0F90-\u0F95] | \u0F97 | [\u0F99-\u0FAD] | [\u0FB1-\u0FB7] | \u0FB9 | [\u20D0-\u20DC] | \u20E1 | [\u302A-\u302F] | \u3099 | \u309A  

-

-/* 88 */

-Digit          =    [\u0030-\u0039] | [\u0660-\u0669] | [\u06F0-\u06F9] | [\u0966-\u096F] | [\u09E6-\u09EF] | [\u0A66-\u0A6F] | [\u0AE6-\u0AEF] | [\u0B66-\u0B6F] | [\u0BE7-\u0BEF] | [\u0C66-\u0C6F] | [\u0CE6-\u0CEF] | [\u0D66-\u0D6F] | [\u0E50-\u0E59] | [\u0ED0-\u0ED9] | [\u0F20-\u0F29]  

-

-/* 89 */

-Extender       =    \u00B7 | \u02D0 | \u02D1 | \u0387 | \u0640 | \u0E46 | \u0EC6 | \u3005 | [\u3031-\u3035] | [\u309D-\u309E] | [\u30FC-\u30FE]  

-*/

-

-Letter         = [a-zA-Z]

-NameChar       = {Letter} | [0-9]

-//Name           = ({Letter} | _ | :) {NameChar}* 

-//Name           = [^\x20\x09\x0D\x0A]+

-Name           = [^\x20\x09\x0D\x0A\|,\!\?\+\*\(\)<>]+

-ElementRefName = [^\x20\x09\x0D\x0A\|,\?\+\*\(\)<>]+

-EntityName     = [^\x20\x09\x0D\x0A\|,\?\*\(\)<>]+

-ParmEntityName = [^\x20\x09\x0D\x0A\!%;<>]+

-

-CommentStart   = \!--

-CommentContent = [^->]+

-CommentEnd     = -->

-ElementStart   = ELEMENT

-ElementContent = [^<>]*

-

-EntityStart    = ENTITY

-Entity_Parm    = %{S}

-EntityContent  = {S}[^<>]*

-

-NotationStart  = NOTATION

-NotationContent = {S}[^<>]*

-AttList        = ATTLIST

-ExternalParmEntityRef = %{ParmEntityName};

-EndTag         = >

-StartTag       = <

-System         = SYSTEM

-Public         = PUBLIC

-NData          = NDATA

-

-// these are attribute type keywords

-//   we reuse NOTATION from NotationStart

-//   we reuse ENTITY from EntityStart

-CData          = CDATA

-ID             = ID

-IDRef          = IDREF

-IDRefs         = IDREFS

-Entities       = ENTITIES

-NMToken        = NMTOKEN

-NMTokens       = NMTOKENS

-

-// these are attribute defaults keywords

-Required       = #REQUIRED

-Implied        = #IMPLIED

-Fixed          = #FIXED

-

-

-Empty          = EMPTY

-Any            = ANY

-PcData         = #PCDATA

-LeftParen      = \(

-RightParen     = \)

-

-Percent        = %

-Semicolon      = ;

-Plus           = \+

-Choice  = \|

-Sequence = ,

-Connector      = {Choice}|{Sequence}

-OccurOptional  = \?

-OccurOneOrMore = \+

-OccurZeroOrMore = \*

-OccurType      = {OccurOptional}|{OccurOneOrMore}|{OccurZeroOrMore}

-Exclamation   = \!

-SingleQuotedLiteral = '[^']*'

-DoubleQuotedLiteral = \"[^\"]*\"

-NonTagContent = [^\x20\x09\x0D\x0A<>]*

-NonEnumContent = [^\x20\x09\x0D\x0A<>\(\)\|]*

-%% 

-

-<YYINITIAL> {

-  {StartTag}       { return createToken(DTDRegionTypes.START_TAG); }

-  {EndTag}         { return createToken(DTDRegionTypes.END_TAG); }

-  {Exclamation}    { return createToken(DTDRegionTypes.EXCLAMATION); }

-  {Percent}        { return createToken(DTDRegionTypes.PERCENT); }

-  {Semicolon}      { return createToken(DTDRegionTypes.SEMICOLON); }

-

-  {ElementStart}   { yybegin(ELEMENT_NAME); return createToken(DTDRegionTypes.ELEMENT_TAG); }

-  {CommentStart}   { yybegin(COMMENT_CONTENT); return createToken(DTDRegionTypes.COMMENT_START); }

-  {EntityStart}    { yybegin(ENTITY_NAME); return createToken(DTDRegionTypes.ENTITY_TAG); }

-  {NotationStart}  { yybegin(NOTATION_NAME); return createToken(DTDRegionTypes.NOTATION_TAG); }

-  {AttList}        { yybegin(ATTLIST_NAME); return createToken(DTDRegionTypes.ATTLIST_TAG); }

-

-  {ExternalParmEntityRef}   { return createToken(DTDRegionTypes.ENTITY_PARM); }

-// just a parmentityname by itself is no good.  we use this

-// to capture garbage content at the top level

-  {ParmEntityName}          { return createToken(DTDRegionTypes.UNKNOWN_CONTENT); }

-

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-}

-

-<ELEMENT_NAME> {

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {PcData}|\({S}*{PcData}{S}*\) { return createToken(DTDRegionTypes.CONTENT_PCDATA); }

-  {Name}           { return createToken(DTDRegionTypes.NAME); }

-

-  {LeftParen}      { return createToken(DTDRegionTypes.LEFT_PAREN); }

-  {Connector}      { return createToken(DTDRegionTypes.CONNECTOR); }    

-  {OccurType}      { return createToken(DTDRegionTypes.OCCUR_TYPE); }

-  {RightParen}     { return createToken(DTDRegionTypes.RIGHT_PAREN); }

-

-  {StartTag}       { yypushback(yylength()); yybegin(YYINITIAL); }

-  {EndTag}         { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-// ******** <!ATTLIST...>

-<ATTLIST_NAME> {

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {Name}           { yybegin(ATTLIST_CONTENT); return createToken(DTDRegionTypes.NAME); }

-  {NonTagContent}  { return createToken(DTDRegionTypes.UNKNOWN_CONTENT); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-<ATTLIST_CONTENT> {

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {Name}           { yybegin(ATTRIBUTE_CONTENT); return createToken(DTDRegionTypes.ATTRIBUTE_NAME); }

-  {NonTagContent}  { return createToken(DTDRegionTypes.UNKNOWN_CONTENT); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-<ATTRIBUTE_CONTENT> {

-  {LineTerminator} { yypushback(yylength()); yybegin(ATTLIST_CONTENT); }

-  {NonLineTerminatorWhitespace}

-                   { return createToken(DTDRegionTypes.WHITESPACE); }

-  {CData}          { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.CDATA_KEYWORD); }  

-

-  {ID}             { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.ID_KEYWORD); }       

-  {IDRef}          { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.IDREF_KEYWORD); }  

-  {IDRefs}         { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.IDREFS_KEYWORD); }  

-  {EntityStart}    { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.ENTITY_KEYWORD); }  

-  {Entities}       { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.ENTITIES_KEYWORD); }  

-  {NMToken}        { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.NMTOKEN_KEYWORD); }  

-  {NMTokens}       { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.NMTOKENS_KEYWORD); }  

-  {NotationStart}  { yybegin(ATTRIBUTE_ENUMERATION); return createToken(DTDRegionTypes.NOTATION_KEYWORD); }  

-

-  {Required} | {Implied} | {Fixed} | {SingleQuotedLiteral} | { DoubleQuotedLiteral}

-                   { yypushback(yylength()); yybegin(ATTRIBUTE_DEFAULT); }

-

-  {LeftParen}      { yypushback(yylength()); yybegin(ATTRIBUTE_ENUMERATION); }  

-  {NonEnumContent} { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.PARM_ENTITY_TYPE); }

-  {NonEnumContent}|{RightParen}|{Choice}  { return createToken(DTDRegionTypes.UNKNOWN_CONTENT); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-<ATTRIBUTE_DEFAULT> {

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {Required}       { yybegin(ATTLIST_CONTENT); return createToken(DTDRegionTypes.REQUIRED_KEYWORD); }

-  {Implied}        { yybegin(ATTLIST_CONTENT); return createToken(DTDRegionTypes.IMPLIED_KEYWORD); }

-  {Fixed}          { return createToken(DTDRegionTypes.FIXED_KEYWORD); }

-  {SingleQuotedLiteral}  { yybegin(ATTLIST_CONTENT); return createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL); }

-  {DoubleQuotedLiteral}  { yybegin(ATTLIST_CONTENT); return createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL); }

-  {NonTagContent}   { yypushback(yylength()); yybegin(ATTLIST_CONTENT); } //return createToken(DTDRegionTypes.UNKNOWN_CONTENT); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-<ATTRIBUTE_ENUMERATION> {

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {LeftParen}      { return createToken(DTDRegionTypes.LEFT_PAREN); }

-  {Choice}         { return createToken(DTDRegionTypes.ENUM_CHOICE); }

-  {RightParen}     { yybegin(ATTRIBUTE_DEFAULT); return createToken(DTDRegionTypes.RIGHT_PAREN); }

-  {NonEnumContent}   { return createToken(DTDRegionTypes.NAME); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-

-// ******** <!ENTITY...>

-<ENTITY_NAME> {

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {Percent}        { return createToken(DTDRegionTypes.PERCENT); }

-  {EntityName}     { yybegin(ENTITY_CONTENT); return createToken(DTDRegionTypes.NAME); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-<ENTITY_CONTENT> {

-//  {EntityContent} { yybegin(YYINITIAL); return createToken(DTDRegionTypes.ENTITY_CONTENT); }

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {System} | {Public} { yypushback(yylength()); yybegin(EXTERNALID_CONTENT); }

-  {SingleQuotedLiteral}  { return createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL); }

-  {DoubleQuotedLiteral}  { return createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL); }

-  {NonTagContent}   { return createToken(DTDRegionTypes.UNKNOWN_CONTENT); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-

-// ******** <!NOTATION...>

-<NOTATION_NAME> {

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {Name}           { yybegin(EXTERNALID_CONTENT); return createToken(DTDRegionTypes.NAME); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-<EXTERNALID_CONTENT> {

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {System}         { return createToken(DTDRegionTypes.SYSTEM_KEYWORD); }  

-  {Public}         { return createToken(DTDRegionTypes.PUBLIC_KEYWORD); }  

-  {SingleQuotedLiteral}  { return createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL); }

-  {DoubleQuotedLiteral}  { return createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL); }

-  {NData}          { yybegin(NDATA_CONTENT); return createToken(DTDRegionTypes.NDATA_KEYWORD); }

-  {NonTagContent}   { return createToken(DTDRegionTypes.UNKNOWN_CONTENT); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-

-<NDATA_CONTENT> {

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {NonTagContent}  { yybegin(YYINITIAL); return createToken(DTDRegionTypes.NDATA_VALUE); }

-  {StartTag} | {EndTag} { yypushback(yylength()); yybegin(YYINITIAL); }

-}

-  

-

-// ******** <!-- ...>

-<COMMENT_CONTENT> {

-  {CommentEnd}  { yybegin(YYINITIAL); return createToken(DTDRegionTypes.COMMENT_END); }

-  {S}              { return createToken(DTDRegionTypes.WHITESPACE); }

-  {CommentContent} | "-" | ">"  { return createToken(DTDRegionTypes.COMMENT_CONTENT); }

-}

-

-

diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDBatchNodeDelete.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDBatchNodeDelete.java
deleted file mode 100644
index 9f7109d..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDBatchNodeDelete.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-
-
-public class DTDBatchNodeDelete {
-	protected DTDFile dtdFile;
-
-	protected List nodes = new ArrayList();
-
-	public DTDBatchNodeDelete(DTDFile dtdFile) {
-		this.dtdFile = dtdFile;
-	}
-
-	public void addNode(DTDNode node) {
-		// first check if the node is contained by anyone
-		for (int i = 0; i < nodes.size(); i++) {
-			DTDNode currentNode = (DTDNode) nodes.get(i);
-
-			if (currentNode.containsRange(node.getStartOffset(), node.getEndOffset())) {
-				// then no need to add the node to the list to be deleted
-				return;
-			}
-
-			if (node.getStartOffset() < currentNode.getStartOffset() && node.getEndOffset() <= currentNode.getStartOffset()) {
-				nodes.add(i, node);
-				return;
-			}
-		}
-		// if we get here, then add it to the end
-		nodes.add(node);
-	}
-
-	public void deleteNodes(Object requestor) {
-		for (int i = nodes.size() - 1; i >= 0; i--) {
-			DTDNode node = (DTDNode) nodes.get(i);
-			dtdFile.deleteNode(requestor, (DTDNode) nodes.get(i));
-		}
-		nodes.clear();
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDExternalReferenceRemover.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDExternalReferenceRemover.java
deleted file mode 100644
index 168cc09..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDExternalReferenceRemover.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.dtd.core.Attribute;
-import org.eclipse.wst.dtd.core.AttributeList;
-import org.eclipse.wst.dtd.core.CMBasicNode;
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.Element;
-import org.eclipse.wst.dtd.core.Entity;
-
-
-/*
- * This class is responsible for updating the model when items are deleted or
- * so that items referenced by it are cleaned up note that top level nodes are
- * queued up for deletion so that iteration over the list of nodes from the
- * dtdfile is not messed up. Note that when an external parmeter entity
- * changes, the client of the model (e.g. editor) must be a DTDFileListener
- * implementing the listener's interface to keep the model's referential
- * integrity (See DTDModelImpl for example).
- */
-
-public class DTDExternalReferenceRemover extends DTDVisitor {
-
-	protected DTDBatchNodeDelete batchDelete;
-	protected List externalElementsAndParmEntities = new ArrayList();
-
-	protected boolean isParmEntity = false;
-
-	protected boolean isUpdating = false;
-	protected DTDNode nodeToDelete;
-	protected String oldRefName = ""; //$NON-NLS-1$
-	protected Object requestor;
-
-	public DTDExternalReferenceRemover() {
-
-	}
-
-	public synchronized void externalReferenceAboutToChange(Object requestor, Entity entity) {
-		if (isUpdating) {
-			return;
-		}
-		if (!entity.isParameterEntity() || !entity.isExternalEntity()) {
-			// if it is not an external parameter entity, ignore as well
-			return;
-		}
-
-		isUpdating = true;
-		this.requestor = requestor;
-
-		DTDFile dtdFile = entity.getDTDFile();
-		if (batchDelete == null) {
-			batchDelete = new DTDBatchNodeDelete(dtdFile);
-		}
-
-		// See the comment at the head of this file regarding
-		// external parameter entities.
-		//externalElementsAndParmEntities =
-		// dtdFile.getDTDModel().getExternalModels().getElementContentNames(entity.getPublicID(),
-		// dtdFile.getDTDModel().resolveID(entity.getPublicID(),
-		// entity.getSystemID()));
-
-		visit(dtdFile);
-
-		batchDelete.deleteNodes(requestor);
-
-		isUpdating = false;
-	}
-
-	public boolean isMatchingName(String name) {
-		return externalElementsAndParmEntities.contains(name);
-	}
-
-	public void visitAttribute(Attribute attr) {
-		super.visitAttribute(attr);
-		String attrName = attr.getName();
-		String attrType = attr.getType();
-
-		if (isParameterEntityRef(attrName)) {
-			if (isMatchingName(attrName)) {
-				attr.setName(requestor, "TempName"); //$NON-NLS-1$
-			}
-		}
-		if (isParameterEntityRef(attrType)) {
-			if (isMatchingName(attrType)) {
-				attr.setType(requestor, Attribute.CDATA);
-			}
-		}
-	}
-
-	public void visitAttributeList(AttributeList attList) {
-		super.visitAttributeList(attList);
-		String attListName = attList.getName();
-		if (isParameterEntityRef(attListName)) {
-			if (isMatchingName(attListName)) {
-				attList.setName(requestor, "TempName"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public void visitElement(Element element) {
-		String elementName = element.getName();
-		if (isParameterEntityRef(elementName)) {
-			if (isMatchingName(elementName)) {
-				element.setName(requestor, "TempName"); //$NON-NLS-1$
-			}
-		}
-		super.visitElement(element);
-	}
-
-	public void visitReference(CMBasicNode node) {
-		super.visitReference(node);
-		String refName = node.getName();
-		if (isMatchingName(refName)) {
-			DTDNode parent = (DTDNode) node.getParentNode();
-			batchDelete.addNode(node);
-			//      parent.delete(requestor, node);
-		}
-	}
-
-	//    public void
-	// visitExternalParameterEntityReference(ParameterEntityReference
-	// parmEntityRef)
-	//    {
-	//      super.visitExternalParameterEntityReference(parmEntityRef);
-	//      if (isParmEntity && parmEntityRef.getName().equals(oldRefName))
-	//      {
-	//        nodesToDelete.add(parmEntityRef);
-	//      }
-	//    }
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDModelUpdater.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDModelUpdater.java
deleted file mode 100644
index fb0e154..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDModelUpdater.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.dtd.core.Attribute;
-import org.eclipse.wst.dtd.core.AttributeList;
-import org.eclipse.wst.dtd.core.CMBasicNode;
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.Element;
-import org.eclipse.wst.dtd.core.Entity;
-import org.eclipse.wst.dtd.core.ParameterEntityReference;
-
-
-// this class is responsible for updating the model when items
-// are deleted or a external parm entity changes so that
-// items referenced by it are cleaned up
-// note that top level nodes are queued up for deletion so that
-// iteration over the list of nodes from the dtdfile is not messed up
-public class DTDModelUpdater extends DTDVisitor {
-
-	protected boolean isParmEntity = false;
-
-	protected boolean isUpdating = false;
-
-	protected List nodesToDelete = new ArrayList();
-	protected DTDNode nodeToDelete;
-	protected String oldRefName = ""; //$NON-NLS-1$
-	protected Object requestor;
-
-	public DTDModelUpdater() {
-
-	}
-
-	public synchronized void objectAboutToBeDeleted(Object requestor, DTDNode node) {
-		if (isUpdating) {
-			return;
-		}
-		if (!(node instanceof Entity || node instanceof Element)) {
-			// just ignore if it is not one of these
-			return;
-		}
-		if (node instanceof Entity && !((Entity) node).isParameterEntity()) {
-			// if it is not a parameter entity, ignore as well
-			return;
-		}
-
-
-		isUpdating = true;
-		this.requestor = requestor;
-		this.nodeToDelete = node;
-		oldRefName = node.getName();
-		isParmEntity = false;
-		nodesToDelete.clear();
-
-		if (node instanceof Entity) {
-			isParmEntity = true;
-			oldRefName = "%" + oldRefName + ";"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		DTDFile dtdFile = node.getDTDFile();
-		visit(dtdFile);
-
-		for (int i = 0; i < nodesToDelete.size(); i++) {
-			dtdFile.deleteNode(requestor, (DTDNode) nodesToDelete.get(i));
-		}
-
-		isUpdating = false;
-	}
-
-	public void visitAttribute(Attribute attr) {
-		super.visitAttribute(attr);
-		if (isParmEntity) {
-			if (attr.getName().equals(oldRefName)) {
-				attr.setName(requestor, "TempName"); //$NON-NLS-1$
-			}
-			if (attr.getType().equals(oldRefName)) {
-				attr.setType(requestor, Attribute.CDATA);
-			}
-		}
-		// check the attr name and the attr type to see if it
-		// needs updating
-	}
-
-	public void visitAttributeList(AttributeList attList) {
-		super.visitAttributeList(attList);
-		if (attList.getName().equals(oldRefName)) {
-			if (isParmEntity) {
-				attList.setName(requestor, "TempName"); //$NON-NLS-1$
-			} else {
-				// save up for later deletion
-				nodesToDelete.add(attList);
-			}
-		}
-	}
-
-	public void visitElement(Element element) {
-		if (isParmEntity) {
-			if (element.getName().equals(oldRefName)) {
-				element.setName(requestor, "TempName"); //$NON-NLS-1$
-			}
-		}
-		super.visitElement(element);
-	}
-
-	public void visitExternalParameterEntityReference(ParameterEntityReference parmEntityRef) {
-		super.visitExternalParameterEntityReference(parmEntityRef);
-		if (isParmEntity && parmEntityRef.getName().equals(oldRefName)) {
-			nodesToDelete.add(parmEntityRef);
-		}
-	}
-
-	public void visitReference(CMBasicNode node) {
-		super.visitReference(node);
-
-		if (node.getName().equals(oldRefName)) {
-			DTDNode parent = (DTDNode) node.getParentNode();
-			parent.delete(requestor, node);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDNotationReferenceRemover.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDNotationReferenceRemover.java
deleted file mode 100644
index cbcb9ed..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDNotationReferenceRemover.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.util;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.dtd.core.Attribute;
-import org.eclipse.wst.dtd.core.AttributeEnumList;
-import org.eclipse.wst.dtd.core.AttributeList;
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.Entity;
-import org.eclipse.wst.dtd.core.Notation;
-
-
-public class DTDNotationReferenceRemover {
-	protected Notation notation;
-	protected String notationName;
-
-	protected Object requestor;
-
-	public DTDNotationReferenceRemover() {
-
-	}
-
-	public void notationAboutToBeDeleted(Object requestor, Notation notation) {
-		this.requestor = requestor;
-		this.notation = notation;
-		notationName = notation.getName();
-
-		visit(notation.getDTDFile());
-	}
-
-	public void visit(DTDFile file) {
-		List nodes = file.getNodes();
-		for (int i = 0; i < nodes.size(); i++) {
-			DTDNode currentNode = (DTDNode) nodes.get(i);
-			if (currentNode instanceof Entity) {
-				visitEntity((Entity) currentNode);
-			} else if (currentNode instanceof AttributeList) {
-				visitAttributeList((AttributeList) currentNode);
-			}
-		}
-	}
-
-	public void visitAttribute(Attribute attr) {
-		if (attr.getType().equals(Attribute.ENUMERATED_NOTATION)) {
-			AttributeEnumList enumList = attr.getEnumList();
-			List notationNames = enumList.getItems();
-			Iterator iter = notationNames.iterator();
-			boolean updateRequired = false;
-			while (iter.hasNext()) {
-				String notation = (String) iter.next();
-				if (notation.equals(notationName)) {
-					updateRequired = true;
-					iter.remove();
-				}
-			}
-			if (updateRequired) {
-				String[] newItems = new String[notationNames.size()];
-				notationNames.toArray(newItems);
-				enumList.setItems(requestor, newItems);
-			}
-		}
-	}
-
-	public void visitAttributeList(AttributeList attList) {
-		Attribute attr = (Attribute) attList.getFirstChild();
-		while (attr != null) {
-			visitAttribute(attr);
-			attr = (Attribute) attr.getNextSibling();
-		}
-	}
-
-	public void visitEntity(Entity entity) {
-		if (entity.getNotationName().equals(notationName)) {
-			entity.setNotationName(requestor, ""); //$NON-NLS-1$
-		}
-	}
-
-}// DTDNotationRemover
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDReferenceUpdater.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDReferenceUpdater.java
deleted file mode 100644
index 4650978..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDReferenceUpdater.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.dtd.core.Attribute;
-import org.eclipse.wst.dtd.core.AttributeEnumList;
-import org.eclipse.wst.dtd.core.AttributeList;
-import org.eclipse.wst.dtd.core.CMBasicNode;
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.Element;
-import org.eclipse.wst.dtd.core.Entity;
-import org.eclipse.wst.dtd.core.Notation;
-import org.eclipse.wst.dtd.core.ParameterEntityReference;
-
-
-// this class is responsible for updating any dtd node in
-// response to a change in the node that they reference
-public class DTDReferenceUpdater extends DTDVisitor {
-	protected boolean isNotation = false;
-
-	protected boolean isParmEntity = false;
-
-	protected boolean isUpdating = false;
-	protected String newName = ""; //$NON-NLS-1$
-	protected String oldRefName = "", newRefName = ""; //$NON-NLS-1$ //$NON-NLS-2$
-	protected DTDNode referencedNode = null;
-
-	// the references List is a cache of the DTDNodes that are changed
-	// as a result of a call to nameAboutToChange(). The idea is that
-	// if a subsequent call comes in that changes the name of the same
-	// object for which this cache exists for, then we optimize the
-	// path by just walking the cache
-	private List references = new ArrayList();
-	protected Object requestor;
-
-	public DTDReferenceUpdater() {
-
-	}
-
-	public void clearCache() {
-		referencedNode = null;
-		references.clear();
-	}
-
-	public synchronized void nameAboutToChange(Object requestor, DTDNode referencedNode, String newName) {
-		if (isUpdating) {
-			return;
-		}
-		if (!(referencedNode instanceof Entity || referencedNode instanceof Element || referencedNode instanceof Notation)) {
-			// just ignore if it is not one of these
-			return;
-		}
-		if (referencedNode instanceof Entity && !((Entity) referencedNode).isParameterEntity()) {
-			// if it is not a parameter entity, ignore as well
-			return;
-		}
-
-		isUpdating = true;
-		this.requestor = requestor;
-		oldRefName = referencedNode.getName();
-		this.newName = newRefName = newName;
-		isParmEntity = false;
-		isNotation = referencedNode instanceof Notation;
-
-		if (referencedNode instanceof Entity) {
-			isParmEntity = true;
-			oldRefName = "%" + oldRefName + ";"; //$NON-NLS-1$ //$NON-NLS-2$
-			newRefName = "%" + newRefName + ";"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		if (this.referencedNode != null) {
-			// check if the previous referenced node that was changed
-			// is the same as the one that is coming in. if so, just
-			// change the previous regions
-			if (this.referencedNode == referencedNode) {
-				quickUpdate();
-				isUpdating = false;
-				return;
-			}
-		}
-
-		// clear the cache if we get here
-		this.referencedNode = referencedNode;
-		references.clear();
-		DTDFile dtdFile = referencedNode.getDTDFile();
-		visit(dtdFile);
-		isUpdating = false;
-	}
-
-	protected void quickUpdate() {
-		for (int i = 0; i < references.size(); i++) {
-			DTDNode node = (DTDNode) references.get(i);
-			if (node instanceof Element) {
-				visitElement((Element) node);
-			} else if (node instanceof AttributeList) {
-				visitAttributeList((AttributeList) node);
-			} else if (node instanceof Attribute) {
-				visitAttribute((Attribute) node);
-			} else if (node instanceof CMBasicNode) {
-				visitReference((CMBasicNode) node);
-			} else if (node instanceof ParameterEntityReference) {
-				visitExternalParameterEntityReference((ParameterEntityReference) node);
-			}
-		}
-	}
-
-	public void visitAttribute(Attribute attr) {
-		super.visitAttribute(attr);
-		if (isParmEntity) {
-			// check the attr name and the attr type to see if it
-			// needs updating
-			if (attr.getName().equals(oldRefName)) {
-				attr.setName(requestor, newRefName);
-				references.add(attr);
-			}
-			if (attr.getType().equals(oldRefName)) {
-				attr.setType(requestor, newRefName);
-				references.add(attr);
-			}
-		} else if (isNotation && attr.getType().equals(Attribute.ENUMERATED_NOTATION)) {
-			AttributeEnumList enumList = attr.getEnumList();
-			List items = enumList.getItems();
-			boolean updateNeeded = false;
-			for (int i = 0; i < items.size(); i++) {
-				String notationName = (String) items.get(i);
-				if (notationName.equals(oldRefName)) {
-					updateNeeded = true;
-					items.set(i, newName);
-				}
-			}
-			if (updateNeeded) {
-				String[] newItems = new String[items.size()];
-
-				enumList.setItems((String[]) items.toArray(newItems));
-			}
-		}
-
-	}
-
-	public void visitAttributeList(AttributeList attList) {
-		if (!isNotation && attList.getName().equals(oldRefName)) {
-			attList.setName(requestor, newRefName);
-			references.add(attList);
-		}
-		super.visitAttributeList(attList);
-	}
-
-	public void visitElement(Element element) {
-		if (isParmEntity) {
-			if (element.getName().equals(oldRefName)) {
-				element.setName(requestor, newRefName);
-				references.add(element);
-			}
-		}
-		super.visitElement(element);
-	}
-
-	public void visitExternalParameterEntityReference(ParameterEntityReference parmEntityRef) {
-		super.visitExternalParameterEntityReference(parmEntityRef);
-		if (parmEntityRef.getName().equals(oldRefName)) {
-			parmEntityRef.setReferencedEntity(requestor, newName);
-			references.add(parmEntityRef);
-		}
-	}
-
-	public void visitReference(CMBasicNode node) {
-		super.visitReference(node);
-		if (isParameterEntityRef(oldRefName) && !isParmEntity) {
-			return;
-		}
-
-		if (node.getName().equals(oldRefName)) {
-			node.setName(requestor, newRefName);
-			references.add(node);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDSAXParser.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDSAXParser.java
deleted file mode 100644
index 04f0971..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDSAXParser.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.SAXParser;
-
-import org.xml.sax.Parser;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-import org.xml.sax.XMLReader;
-
-/**
- * TODO: Kihup and Nitin, reevaluate the use and implementation of this class
- */
-
-//import org.apache.xerces.parsers.SAXParser;
-//import org.apache.xerces.xni.Augmentations;
-//import org.apache.xerces.xni.XMLLocator;
-//import org.apache.xerces.xni.XMLString;
-//import org.apache.xerces.xni.XNIException;
-public class DTDSAXParser extends SAXParser {
-
-	private List ignoredEntityRefs = new ArrayList();
-
-	//  private XMLLocator locator;
-	//
-	public List getIgnoredEntityRefs() {
-		return ignoredEntityRefs;
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.xml.parsers.SAXParser#getParser()
-	 */
-	public Parser getParser() throws SAXException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.xml.parsers.SAXParser#getProperty(java.lang.String)
-	 */
-	public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.xml.parsers.SAXParser#getXMLReader()
-	 */
-	public XMLReader getXMLReader() throws SAXException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	//
-	//  public XMLLocator getLocator()
-	//  {
-	//    return locator;
-	//  }
-	//
-	//  public void startDocument
-	//    (XMLLocator locator,
-	//     String encoding,
-	//     Augmentations augs)
-	//  {
-	//    this.locator = locator;
-	//    super.startDocument(locator,encoding,augs);
-	//  }
-	//
-	//  public void ignoredCharacters(XMLString text, Augmentations augs)
-	//    throws XNIException
-	//  {
-	//    String s =
-	//      text.length > 0 ? new String(text.ch,text.offset,text.length) : "";
-	//    //System.out.println("ignoredCharacters: " + s);
-	//
-	//    StringTokenizer tokenizer = new StringTokenizer(s,";");
-	//    try
-	//    {
-	//      String token = null;
-	//      while (tokenizer.hasMoreTokens())
-	//      {
-	//        token = tokenizer.nextToken();
-	//        if (isEntityRef(token))
-	//          registerEntityRef(token);
-	//      }
-	//    }
-	//    catch (NoSuchElementException e)
-	//    {
-	//      e.printStackTrace();
-	//    }
-	//  }
-	//
-	// TODO: never used
-	 boolean isEntityRef(String token) {
-		// Looking for the pattern "nnnn%nnnnn".
-		if (token.indexOf('%') != -1)
-			return true; // candidate for entity reference
-		else
-			return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.xml.parsers.SAXParser#isNamespaceAware()
-	 */
-	public boolean isNamespaceAware() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.xml.parsers.SAXParser#isValidating()
-	 */
-	public boolean isValidating() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	// TODO: never used
-	 void registerEntityRef(String token) {
-		int index = token.lastIndexOf('%');
-		if (index == -1)
-			return;
-
-		String refName = token.substring(index, token.length());
-		//System.out.println("entity ref name is: " + refName);
-		if (refName.indexOf(' ') != -1 || refName.indexOf('\t') != -1 || refName.indexOf('\n') != -1)
-			return;
-		else
-			// we found entity reference
-			ignoredEntityRefs.add(refName + ";"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.xml.parsers.SAXParser#setProperty(java.lang.String,
-	 *      java.lang.Object)
-	 */
-	public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDUniqueNameHelper.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDUniqueNameHelper.java
deleted file mode 100644
index 1555c24..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDUniqueNameHelper.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.util;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.dtd.core.Attribute;
-import org.eclipse.wst.dtd.core.CMBasicNode;
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.Element;
-import org.eclipse.wst.dtd.core.Entity;
-import org.eclipse.wst.dtd.core.Notation;
-
-
-public class DTDUniqueNameHelper {
-
-	static public String getName(Object obj) {
-		if (obj instanceof Element) {
-			return ((Element) obj).getName();
-		} else if (obj instanceof Entity) {
-			return ((Entity) obj).getName();
-		} else if (obj instanceof Notation) {
-			return ((Notation) obj).getName();
-		} else if (obj instanceof Attribute) {
-			return ((Attribute) obj).getName();
-		} else if (obj instanceof CMBasicNode) // Model Group Content
-		{
-			return ((CMBasicNode) obj).getName();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	static public String getUniqueAttributeName(Element element) {
-		List attrs = element.getElementAttributes();
-		return getUniqueName(attrs, "NewAttribute"); //$NON-NLS-1$
-	}
-
-	static public String getUniqueElementName(DTDFile dtdFile) {
-		List elements = dtdFile.getElementsAndParameterEntityReferences().getNodes();
-		return getUniqueName(elements, "NewElement"); //$NON-NLS-1$
-	}
-
-	static public String getUniqueEntityName(DTDFile dtdFile) {
-		List entities = dtdFile.getEntities().getNodes();
-		return getUniqueName(entities, "NewEntity"); //$NON-NLS-1$
-	}
-
-	static public String getUniqueName(List objs, String token) {
-		int counter = 1;
-
-		boolean uniqueName = false;
-		while (!uniqueName) {
-			String newName = token + new Integer(counter++);
-			uniqueName = true;
-			Iterator iter = objs.iterator();
-			while (iter.hasNext()) {
-				Object obj = iter.next();
-				String objName = getName(obj);
-				if (objName.equals(newName)) {
-					uniqueName = false;
-					break;
-				}
-			}
-			if (uniqueName) {
-				return newName;
-			}
-		}
-		// we shouldn't get here
-		return "No Name found"; //$NON-NLS-1$
-	}
-
-	static public String getUniqueNotationName(DTDFile dtdFile) {
-		List notations = dtdFile.getNotations().getNodes();
-		return getUniqueName(notations, "NewNotation"); //$NON-NLS-1$
-	}
-
-	public DTDUniqueNameHelper() {
-	}
-
-} // DTDUniqueNameHelper
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDVisitor.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDVisitor.java
deleted file mode 100644
index 2544de7..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDVisitor.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.util;
-
-import java.util.List;
-
-import org.eclipse.wst.dtd.core.Attribute;
-import org.eclipse.wst.dtd.core.AttributeList;
-import org.eclipse.wst.dtd.core.CMBasicNode;
-import org.eclipse.wst.dtd.core.CMGroupNode;
-import org.eclipse.wst.dtd.core.CMNode;
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.Element;
-import org.eclipse.wst.dtd.core.ParameterEntityReference;
-
-
-public class DTDVisitor {
-
-	public DTDVisitor() {
-
-	}
-
-	// utility method
-	public boolean isParameterEntityRef(String reference) {
-		if (reference.length() > 0) {
-			return reference.charAt(0) == '%' && reference.charAt(reference.length() - 1) == ';';
-		}
-		return false;
-	}
-
-	public void visit(DTDFile file) {
-		List nodes = file.getNodes();
-		for (int i = 0; i < nodes.size(); i++) {
-			DTDNode currentNode = (DTDNode) nodes.get(i);
-			if (currentNode instanceof Element) {
-				visitElement((Element) currentNode);
-			} else if (currentNode instanceof AttributeList) {
-				visitAttributeList((AttributeList) currentNode);
-			} else if (currentNode instanceof ParameterEntityReference) {
-				visitExternalParameterEntityReference((ParameterEntityReference) currentNode);
-			}
-		}
-	}
-
-	public void visitAttribute(Attribute attr) {
-	}
-
-	public void visitAttributeList(AttributeList attList) {
-		// note that we don't visit attributes here because we
-		// want the element to visit them with it's consolidated list
-		// that it creates by gathering all attribute lists together
-	}
-
-	public void visitAttributes(List attributes) {
-		int size = attributes.size();
-		for (int i = 0; i < size; i++) {
-			Attribute attr = (Attribute) attributes.get(i);
-			visitAttribute(attr);
-		}
-	}
-
-	public void visitContentNode(CMNode content) {
-		if (content instanceof CMBasicNode) {
-			CMBasicNode basicNode = (CMBasicNode) content;
-			if (basicNode.isReference()) {
-				visitReference(basicNode);
-			}
-		} else if (content instanceof CMGroupNode) {
-			visitGroupNode((CMGroupNode) content);
-		}
-	}
-
-	public void visitElement(Element element) {
-		CMNode content = element.getContentModel();
-		visitContentNode(content);
-		visitAttributes(element.getElementAttributes());
-	}
-
-	public void visitExternalParameterEntityReference(ParameterEntityReference parmEntityRef) {
-	}
-
-	public void visitGroupNode(CMGroupNode group) {
-		List children = group.getChildrenList();
-		int size = children.size();
-		for (int i = 0; i < size; i++) {
-			visitContentNode((CMNode) children.get(i));
-		}
-	}
-
-	public void visitReference(CMBasicNode node) {
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/LabelValuePair.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/LabelValuePair.java
deleted file mode 100644
index 5f04ceb..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/LabelValuePair.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core.util;
-
-import org.eclipse.jface.util.Assert;
-
-public class LabelValuePair {
-
-	public String fLabel;
-	public Object fValue;
-
-	/**
-	 * Creates a new name/value item
-	 */
-	public LabelValuePair(String label, Object value) {
-		Assert.isTrue(label != null);
-		fLabel = label;
-		fValue = value;
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.core/.classpath b/bundles/org.eclipse.wst.html.core/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.wst.html.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.html.core/.compatibility b/bundles/org.eclipse.wst.html.core/.compatibility
deleted file mode 100644
index 8c1b1d3..0000000
--- a/bundles/org.eclipse.wst.html.core/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=9968

diff --git a/bundles/org.eclipse.wst.html.core/.cvsignore b/bundles/org.eclipse.wst.html.core/.cvsignore
deleted file mode 100644
index 383b61c..0000000
--- a/bundles/org.eclipse.wst.html.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-htmlmodel.jar
-temp.folder
-dev.properties
-build.xml
diff --git a/bundles/org.eclipse.wst.html.core/.options b/bundles/org.eclipse.wst.html.core/.options
deleted file mode 100644
index e66a59f..0000000
--- a/bundles/org.eclipse.wst.html.core/.options
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.wst.html.core/debug=true
-org.eclipse.wst.html.core/debug/tracefilter=
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/.project b/bundles/org.eclipse.wst.html.core/.project
deleted file mode 100644
index 13a9fac..0000000
--- a/bundles/org.eclipse.wst.html.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.html.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/bundles/org.eclipse.wst.html.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.html.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5ceda24..0000000
--- a/bundles/org.eclipse.wst.html.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,48 +0,0 @@
-#Wed Jan 12 13:46:44 EST 2005
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.wst.html.core/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.wst.html.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index b100a16..0000000
--- a/bundles/org.eclipse.wst.html.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Sat Dec 11 00:48:28 EST 2004

-compilers.p.unused-element-or-attribute=0

-compilers.p.unresolved-ex-points=0

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=0

-compilers.p.unknown-class=0

-compilers.p.unknown-attribute=0

-compilers.p.no-required-att=0

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/bundles/org.eclipse.wst.html.core/build.properties b/bundles/org.eclipse.wst.html.core/build.properties
deleted file mode 100644
index 6c96366..0000000
--- a/bundles/org.eclipse.wst.html.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-bin.includes = plugin.xml,\
-               *.jar,\
-               html.jar,\
-               .options,\
-               data/,\
-               plugin.properties
-src.includes = plugin.xml,\
-               build.xml,\
-               .options,\
-               data/,\
-               plugin.properties
-source.htmlmodel.jar = src/
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref.properties b/bundles/org.eclipse.wst.html.core/data/htmref.properties
deleted file mode 100644
index 9cd460d..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=A link if the href attribute is present, and the target for a link if the name attribute is present
-ABBRTagInfo=An abbreviation (for example, WWW, HTTP)
-ACRONYMTagInfo=An acronym (for example, SCUBA)
-ADDRESSTagInfo=Address information for the author of the page
-APPLETTagInfo=A Java applet
-AREATagInfo=Defines a client-side image map area
-BTagInfo=Displays contained text as bold
-BASETagInfo=The base URI for the page, to be used when calculating relative paths
-BASEFONTTagInfo=The base font size for the page
-BDOTagInfo=Overrides default bidirectional display. For use with bidirectional languages.
-BIGTagInfo=Displays contained text as large
-BGSOUNDTagInfo=Defines a sound file for the page. Not supported by W3C HTML 4.01.
-BLINKTagInfo=Displays text as blinking. Not supported by W3C HTML 4.01.
-BLOCKQUOTETagInfo=A long quotation
-BODYTagInfo=The document body. Contains all the content for the page.
-BRTagInfo=Forces a line break
-BUTTONTagInfo=Defines a push button
-CAPTIONTagInfo=Defines a table caption
-CENTERTagInfo=Displays contained text centered. Equivalent to DIV with align=center.
-CITETagInfo=A citation
-CODETagInfo=A computer code fragment
-COLTagInfo=A table column
-COLGROUPTagInfo=A group of table columns
-DDTagInfo=A definition or description in a definition or description list
-DELTagInfo=Displays text as deleted
-DFNTagInfo=A definition
-DIRTagInfo=A directory listing
-DIVTagInfo=A generic container, which can be used for defining language or style for the contents
-DLTagInfo=A definition or description list
-DTTagInfo=A term or subject in a definition or description list
-EMTagInfo=Displays text emphasized (generally italicized)
-EMBEDTagInfo=Defines an embedded plug-in. Not supported by W3C HTML 4.01.
-FIELDSETTagInfo=Defines a form control group
-FONTTagInfo=Displays text in the given font
-FORMTagInfo=Defines an interactive form
-FRAMETagInfo=Defines a frame within the current window
-FRAMESETTagInfo=Defines a frameset that divides the window into frames
-H1TagInfo=A top-level heading
-H2TagInfo=A second-level heading
-H3TagInfo=A third-level heading
-H4TagInfo=A fourth-level heading
-H5TagInfo=A fifth-level heading
-H6TagInfo=A sixth-level heading
-HEADTagInfo=Contains metadata and window title information for the document
-HRTagInfo=A horizontal rule
-HTMLTagInfo=The root element for the document.
-ITagInfo=Displays text as italic
-IFRAMETagInfo=Defines an inline subwindow
-IMGTagInfo=Displays the referenced image as embedded content
-INPUTTagInfo=Defines a form control for user input
-INSTagInfo=Defines inserted text
-ISINDEXTagInfo=Defines a single line prompt
-KBDTagInfo=Defines text to be entered by the user
-LABELTagInfo=Defines the label for a form field
-LEGENDTagInfo=Defines the label for a set of form fields
-LITagInfo=Defines a list item within a list
-LINKTagInfo=A media-independent link
-MAPTagInfo=Defines a client-side image map
-MARQUEETagInfo=Displays text as scrolling. Not supported by W3C HTML 4.01.
-MENUTagInfo=Defines a menu list
-METATagInfo=Defines metadata information for the document
-NOBRTagInfo=Overrides and prevents line breaks. Not supported by W3C HTML 4.01.
-NOFRAMESTagInfo=Provides information to display if the current browser does not support frames
-NOSCRIPTTagInfo=Provides information to display if the current browser does not support scripting
-OBJECTTagInfo=Defines a generic embedded object
-OLTagInfo=An ordered list
-OPTGROUPTagInfo=An option group
-OPTIONTagInfo=A selectable choice
-PTagInfo=A paragraph
-PARAMTagInfo=A named property value
-PRETagInfo=Preformatted text
-QTagInfo=A short inline quotation
-STagInfo=Display text in strike-through style
-SAMPTagInfo=Sample program output, scripts, etc. Displays in monospace font.
-SCRIPTTagInfo=Script statements
-SELECTTagInfo=An option selector
-SMALLTagInfo=Displays text as small
-SPANTagInfo=A generic container, which can be used for defining language or style for the contents
-STRIKETagInfo=Display text in strike-through style
-STRONGTagInfo=Displays text as strongly emphasized (generally bold)
-STYLETagInfo=Defines a style for the contained information
-SUBTagInfo=Display as subscript
-SUPTagInfo=Display as superscript
-TABLETagInfo=Defines a table
-TBODYTagInfo=The body of the table
-TDTagInfo=A cell within a table
-TEXTAREATagInfo=A multi-line text field
-TFOOTTagInfo=A table footer
-THTagInfo=A table header cell
-THEADTagInfo=A table header
-TITLETagInfo=The document title, displayed in the browser's title bar
-TRTagInfo=A table row
-TTTagInfo=Displays text in teletype or monospaced text style
-UTagInfo=Displays text as underlined
-ULTagInfo=An unordered list
-VARTagInfo=An instance of a variable or program argument
-WBRTagInfo=Allows a line break within <B>&lt;NOBR&gt;</B> tag. Not supported by W3C HTML 4.01.
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref.xml b/bundles/org.eclipse.wst.html.core/data/htmref.xml
deleted file mode 100644
index 9a5b74c..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref.xml
+++ /dev/null
@@ -1,294 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<abstractGrammarAnnotations propertiesLocation="htmref" caseSensitive="false">
-    <annotation spec="A">
-        <property name="tagInfo">%ATagInfo</property>
-    </annotation>
-    <annotation spec="ABBR">
-        <property name="tagInfo">%ABBRTagInfo</property>
-    </annotation>
-    <annotation spec="ACRONYM">
-        <property name="tagInfo">%ACRONYMTagInfo</property>
-    </annotation>
-    <annotation spec="ADDRESS">
-        <property name="tagInfo">%ADDRESSTagInfo</property>
-    </annotation>
-    <annotation spec="APPLET">
-        <property name="tagInfo">%APPLETTagInfo</property>
-    </annotation>
-    <annotation spec="AREA">
-        <property name="tagInfo">%AREATagInfo</property>
-    </annotation>
-    <annotation spec="B">
-        <property name="tagInfo">%BTagInfo</property>
-    </annotation>
-    <annotation spec="BASE">
-        <property name="tagInfo">%BASETagInfo</property>
-    </annotation>
-    <annotation spec="BASEFONT">
-        <property name="tagInfo">%BASEFONTTagInfo</property>
-    </annotation>
-    <annotation spec="BDO">
-        <property name="tagInfo">%BDOTagInfo</property>
-    </annotation>
-    <annotation spec="BGSOUND">
-        <property name="tagInfo">%BGSOUNDTagInfo</property>
-    </annotation>
-    <annotation spec="BIG">
-        <property name="tagInfo">%BIGTagInfo</property>
-    </annotation>
-    <annotation spec="BLINK">
-        <property name="tagInfo">%BLINKTagInfo</property>
-    </annotation>
-    <annotation spec="BLOCKQUOTE">
-        <property name="tagInfo">%BLOCKQUOTETagInfo</property>
-    </annotation>
-    <annotation spec="BODY">
-        <property name="tagInfo">%BODYTagInfo</property>
-    </annotation>
-    <annotation spec="BR">
-        <property name="tagInfo">%BRTagInfo</property>
-    </annotation>
-    <annotation spec="BUTTON">
-        <property name="tagInfo">%BUTTONTagInfo</property>
-    </annotation>
-    <annotation spec="CAPTION">
-        <property name="tagInfo">%CAPTIONTagInfo</property>
-    </annotation>
-    <annotation spec="CENTER">
-        <property name="tagInfo">%CENTERTagInfo</property>
-    </annotation>
-    <annotation spec="CITE">
-        <property name="tagInfo">%CITETagInfo</property>
-    </annotation>
-    <annotation spec="CODE">
-        <property name="tagInfo">%CODETagInfo</property>
-    </annotation>
-    <annotation spec="COL">
-        <property name="tagInfo">%COLTagInfo</property>
-    </annotation>
-    <annotation spec="COLGROUP">
-        <property name="tagInfo">%COLGROUPTagInfo</property>
-    </annotation>
-    <annotation spec="DD">
-        <property name="tagInfo">%DDTagInfo</property>
-    </annotation>
-    <annotation spec="DEL">
-        <property name="tagInfo">%DELTagInfo</property>
-    </annotation>
-    <annotation spec="DFN">
-        <property name="tagInfo">%DFNTagInfo</property>
-    </annotation>
-    <annotation spec="DIR">
-        <property name="tagInfo">%DIRTagInfo</property>
-    </annotation>
-    <annotation spec="DIV">
-        <property name="tagInfo">%DIVTagInfo</property>
-    </annotation>
-    <annotation spec="DL">
-        <property name="tagInfo">%DLTagInfo</property>
-    </annotation>
-    <annotation spec="DT">
-        <property name="tagInfo">%DTTagInfo</property>
-    </annotation>
-    <annotation spec="EM">
-        <property name="tagInfo">%EMTagInfo</property>
-    </annotation>
-    <annotation spec="EMBED">
-        <property name="tagInfo">%EMBEDTagInfo</property>
-    </annotation>
-    <annotation spec="FIELDSET">
-        <property name="tagInfo">%FIELDSETTagInfo</property>
-    </annotation>
-    <annotation spec="FONT">
-        <property name="tagInfo">%FONTTagInfo</property>
-    </annotation>
-    <annotation spec="FORM">
-        <property name="tagInfo">%FORMTagInfo</property>
-    </annotation>
-    <annotation spec="FRAME">
-        <property name="tagInfo">%FRAMETagInfo</property>
-    </annotation>
-    <annotation spec="FRAMESET">
-        <property name="tagInfo">%FRAMESETTagInfo</property>
-    </annotation>
-    <annotation spec="H1">
-        <property name="tagInfo">%H1TagInfo</property>
-    </annotation>
-    <annotation spec="H2">
-        <property name="tagInfo">%H2TagInfo</property>
-    </annotation>
-    <annotation spec="H3">
-        <property name="tagInfo">%H3TagInfo</property>
-    </annotation>
-    <annotation spec="H4">
-        <property name="tagInfo">%H4TagInfo</property>
-    </annotation>
-    <annotation spec="H5">
-        <property name="tagInfo">%H5TagInfo</property>
-    </annotation>
-    <annotation spec="H6">
-        <property name="tagInfo">%H6TagInfo</property>
-    </annotation>
-    <annotation spec="HEAD">
-        <property name="tagInfo">%HEADTagInfo</property>
-    </annotation>
-    <annotation spec="HR">
-        <property name="tagInfo">%HRTagInfo</property>
-    </annotation>
-    <annotation spec="HTML">
-        <property name="tagInfo">%HTMLTagInfo</property>
-    </annotation>
-    <annotation spec="I">
-        <property name="tagInfo">%ITagInfo</property>
-    </annotation>
-    <annotation spec="IFRAME">
-        <property name="tagInfo">%IFRAMETagInfo</property>
-    </annotation>
-    <annotation spec="IMG">
-        <property name="tagInfo">%IMGTagInfo</property>
-    </annotation>
-    <annotation spec="INPUT">
-        <property name="tagInfo">%INPUTTagInfo</property>
-    </annotation>
-    <annotation spec="INS">
-        <property name="tagInfo">%INSTagInfo</property>
-    </annotation>
-    <annotation spec="ISINDEX">
-        <property name="tagInfo">%ISINDEXTagInfo</property>
-    </annotation>
-    <annotation spec="KBD">
-        <property name="tagInfo">%KBDTagInfo</property>
-    </annotation>
-    <annotation spec="LABEL">
-        <property name="tagInfo">%LABELTagInfo</property>
-    </annotation>
-    <annotation spec="LEGEND">
-        <property name="tagInfo">%LEGENDTagInfo</property>
-    </annotation>
-    <annotation spec="LI">
-        <property name="tagInfo">%LITagInfo</property>
-    </annotation>
-    <annotation spec="LINK">
-        <property name="tagInfo">%LINKTagInfo</property>
-    </annotation>
-    <annotation spec="MAP">
-        <property name="tagInfo">%MAPTagInfo</property>
-    </annotation>
-    <annotation spec="MARQUEE">
-        <property name="tagInfo">%MARQUEETagInfo</property>
-    </annotation>
-    <annotation spec="MENU">
-        <property name="tagInfo">%MENUTagInfo</property>
-    </annotation>
-    <annotation spec="META">
-        <property name="tagInfo">%METATagInfo</property>
-    </annotation>
-    <annotation spec="NOBR">
-        <property name="tagInfo">%NOBRTagInfo</property>
-    </annotation>
-    <annotation spec="NOFRAMES">
-        <property name="tagInfo">%NOFRAMESTagInfo</property>
-    </annotation>
-    <annotation spec="NOSCRIPT">
-        <property name="tagInfo">%NOSCRIPTTagInfo</property>
-    </annotation>
-    <annotation spec="OBJECT">
-        <property name="tagInfo">%OBJECTTagInfo</property>
-    </annotation>
-    <annotation spec="OL">
-        <property name="tagInfo">%OLTagInfo</property>
-    </annotation>
-    <annotation spec="OPTGROUP">
-        <property name="tagInfo">%OPTGROUPTagInfo</property>
-    </annotation>
-    <annotation spec="OPTION">
-        <property name="tagInfo">%OPTIONTagInfo</property>
-    </annotation>
-    <annotation spec="P">
-        <property name="tagInfo">%PTagInfo</property>
-    </annotation>
-    <annotation spec="PARAM">
-        <property name="tagInfo">%PARAMTagInfo</property>
-    </annotation>
-    <annotation spec="PRE">
-        <property name="tagInfo">%PRETagInfo</property>
-    </annotation>
-    <annotation spec="Q">
-        <property name="tagInfo">%QTagInfo</property>
-    </annotation>
-    <annotation spec="S">
-        <property name="tagInfo">%STagInfo</property>
-    </annotation>
-    <annotation spec="SAMP">
-        <property name="tagInfo">%SAMPTagInfo</property>
-    </annotation>
-    <annotation spec="SCRIPT">
-        <property name="tagInfo">%SCRIPTTagInfo</property>
-    </annotation>
-    <annotation spec="SELECT">
-        <property name="tagInfo">%SELECTTagInfo</property>
-    </annotation>
-    <annotation spec="SMALL">
-        <property name="tagInfo">%SMALLTagInfo</property>
-    </annotation>
-    <annotation spec="SPAN">
-        <property name="tagInfo">%SPANTagInfo</property>
-    </annotation>
-    <annotation spec="STRIKE">
-        <property name="tagInfo">%STRIKETagInfo</property>
-    </annotation>
-    <annotation spec="STRONG">
-        <property name="tagInfo">%STRONGTagInfo</property>
-    </annotation>
-    <annotation spec="STYLE">
-        <property name="tagInfo">%STYLETagInfo</property>
-    </annotation>
-    <annotation spec="SUB">
-        <property name="tagInfo">%SUBTagInfo</property>
-    </annotation>
-    <annotation spec="SUP">
-        <property name="tagInfo">%SUPTagInfo</property>
-    </annotation>
-    <annotation spec="TABLE">
-        <property name="tagInfo">%TABLETagInfo</property>
-    </annotation>
-    <annotation spec="TBODY">
-        <property name="tagInfo">%TBODYTagInfo</property>
-    </annotation>
-    <annotation spec="TD">
-        <property name="tagInfo">%TDTagInfo</property>
-    </annotation>
-    <annotation spec="TEXTAREA">
-        <property name="tagInfo">%TEXTAREATagInfo</property>
-    </annotation>
-    <annotation spec="TFOOT">
-        <property name="tagInfo">%TFOOTTagInfo</property>
-    </annotation>
-    <annotation spec="TH">
-        <property name="tagInfo">%THTagInfo</property>
-    </annotation>
-    <annotation spec="THEAD">
-        <property name="tagInfo">%THEADTagInfo</property>
-    </annotation>
-    <annotation spec="TITLE">
-        <property name="tagInfo">%TITLETagInfo</property>
-    </annotation>
-    <annotation spec="TR">
-        <property name="tagInfo">%TRTagInfo</property>
-    </annotation>
-    <annotation spec="TT">
-        <property name="tagInfo">%TTTagInfo</property>
-    </annotation>
-    <annotation spec="U">
-        <property name="tagInfo">%UTagInfo</property>
-    </annotation>
-    <annotation spec="UL">
-        <property name="tagInfo">%ULTagInfo</property>
-    </annotation>
-    <annotation spec="VAR">
-        <property name="tagInfo">%VARTagInfo</property>
-    </annotation>
-    <annotation spec="WBR">
-        <property name="tagInfo">%WBRTagInfo</property>
-    </annotation>
-</abstractGrammarAnnotations>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref_de.properties b/bundles/org.eclipse.wst.html.core/data/htmref_de.properties
deleted file mode 100644
index 56cbd6a..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref_de.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=Ein Link, falls das Attribut 'href' vorhanden ist, bzw. das Ziel f\u00fcr einen Link, wenn das Attribut 'name' vorhanden ist
-ABBRTagInfo=Abk\u00fcrzung (z. B. WWW, HTTP)
-ACRONYMTagInfo=Akronym (z. B. SCUBA)
-ADDRESSTagInfo=Adressinformationen f\u00fcr den Autor der Seite
-APPLETTagInfo=Java-Applet
-AREATagInfo=Definiert einen clientseitigen Imagezuordnungsbereich
-BTagInfo=Zeigt enthaltenen Text in Fettformatierung an
-BASETagInfo=Basis-URI f\u00fcr die Seite, wird bei der Berechnung relativer Pfade verwendet
-BASEFONTTagInfo=Basisschriftartgr\u00f6\u00dfe f\u00fcr die Seite
-BDOTagInfo=\u00dcberschreibt Standardanzeige im Bidirektionalformat, wird mit bidirektionalen Sprachen (BIDI-Sprachen) verwendet
-BIGTagInfo=Zeigt enthaltenen Text in gro\u00dfer Schrift an
-BGSOUNDTagInfo=Definiert eine Audiodatei f\u00fcr die Seite. Wird durch W3C HTML 4.01 nicht unterst\u00fctzt.
-BLINKTagInfo=Zeigt Text blinkend an. Wird durch W3C HTML 4.01 nicht unterst\u00fctzt.
-BLOCKQUOTETagInfo=Langes Zitat
-BODYTagInfo=Dokumenthauptteil, der den gesamten Inhalt f\u00fcr die Seite enth\u00e4lt
-BRTagInfo=Erzwingt einen Zeilenumbruch
-BUTTONTagInfo=Definiert eine Schaltfl\u00e4che
-CAPTIONTagInfo=Definiert eine Tabellen\u00fcberschrift
-CENTERTagInfo=Zeigt enthaltenen Text in zentriert an. Ist \u00e4quivalent zu DIV mit 'align=center'.
-CITETagInfo=Zitat
-CODETagInfo=Computer-Codefragment
-COLTagInfo=Tabellenspalte
-COLGROUPTagInfo=Gruppe von Tabellenspalten
-DDTagInfo=Definition oder Beschreibung in einer Definitions- oder Beschreibungsliste
-DELTagInfo=Zeigt Text als gel\u00f6scht an
-DFNTagInfo=Definition
-DIRTagInfo=Verzeichnisliste
-DIVTagInfo=Generischer Container, der zum Definieren von Sprache oder Darstellung f\u00fcr den Inhalt verwendet werden kann
-DLTagInfo=Definitions- oder Beschreibungsliste
-DTTagInfo=Begriff oder Thema in einer Definitions- oder Beschreibungsliste
-EMTagInfo=Zeigt Text hervorgehoben an (normalerweise kursiv)
-EMBEDTagInfo=Definiert ein eingebettetes Plug-in. Wird durch W3C HTML 4.01 nicht unterst\u00fctzt.
-FIELDSETTagInfo=Definiert eine Gruppe von Formularsteuerelementen
-FONTTagInfo=Zeigt Text in der angegebenen Schriftart an
-FORMTagInfo=Definiert ein interaktives Formular
-FRAMETagInfo=Definiert einen Frame im aktuellen Fenster
-FRAMESETTagInfo=Definiert ein Frameset, das das Fenster in zwei Frames unterteilt
-H1TagInfo=\u00dcberschrift der h\u00f6chsten Ebene
-H2TagInfo=\u00dcberschrift der zweiten Ebene
-H3TagInfo=\u00dcberschrift der dritten Ebene
-H4TagInfo=\u00dcberschrift der vierten Ebene
-H5TagInfo=\u00dcberschrift der f\u00fcnften Ebene
-H6TagInfo=\u00dcberschrift der sechsten Ebene
-HEADTagInfo=Enth\u00e4lt Metadaten und Fenstertitelinformationen f\u00fcr das Dokument
-HRTagInfo=Horizontale Skala (Lineal)
-HTMLTagInfo=Stammelement f\u00fcr das Dokument
-ITagInfo=Zeigt Text kursiv an.
-IFRAMETagInfo=Definiert ein Inline-Unterfenster
-IMGTagInfo=Zeigt das Image, auf das verwiesen wird, als eingebetteten Inhalt an
-INPUTTagInfo=Definiert ein Formularsteuerelement f\u00fcr die Benutzereingabe
-INSTagInfo=Definiert eingef\u00fcgten Text
-ISINDEXTagInfo=Definiert eine einzeilige Eingabeaufforderung
-KBDTagInfo=Definiert Text, der durch den Benutzer eingegeben werden muss
-LABELTagInfo=Definiert die Beschriftung f\u00fcr ein Formularfeld
-LEGENDTagInfo=Definiert die Beschriftung f\u00fcr eine Gruppe von Formularfeldern
-LITagInfo=Definiert einen Listeneintrag in einer Liste
-LINKTagInfo=Datentr\u00e4gerunabh\u00e4ngiger Link
-MAPTagInfo=Definiert eine clientseitige Imagezuordnung
-MARQUEETagInfo=Zeigt Text verschiebbar an. Wird durch W3C HTML 4.01 nicht unterst\u00fctzt.
-MENUTagInfo=Definiert eine Men\u00fcliste
-METATagInfo=Definiert Metadateninformationen f\u00fcr das Dokument
-NOBRTagInfo=\u00dcberschreibt und verhindert Zeilenumbr\u00fcche. Wird durch W3C HTML 4.01 nicht unterst\u00fctzt.
-NOFRAMESTagInfo=Stellt Informationen bereit, die angezeigt werden sollen, wenn der aktuelle Browser keine Frames unterst\u00fctzt
-NOSCRIPTTagInfo=Stellt Informationen bereit, die angezeigt werden sollen, wenn der aktuelle Browser keine Scripterstellung unterst\u00fctzt
-OBJECTTagInfo=Definiert ein generisches eingebettetes Objekt
-OLTagInfo=Sortierte Liste
-OPTGROUPTagInfo=Optionsgruppe
-OPTIONTagInfo=Ausw\u00e4hlbare Option
-PTagInfo=Absatz
-PARAMTagInfo=Benannter Eigenschaftswert
-PRETagInfo=Vorformatierter Text
-QTagInfo=Kurzes Inline-Zitat
-STagInfo=Zeigt Text in durchgestrichener Darstellung an
-SAMPTagInfo=Beispielprogrammausgabe, Skripts usw., wird in Monospaceschrift angezeigt
-SCRIPTTagInfo=Scriptanweisungen
-SELECTTagInfo=Optionsselektor
-SMALLTagInfo=Zeigt Text in kleiner Schrift an
-SPANTagInfo=Generischer Container, der zum Definieren von Sprache oder Darstellung f\u00fcr den Inhalt verwendet werden kann
-STRIKETagInfo=Zeigt Text in durchgestrichener Darstellung an
-STRONGTagInfo=Zeigt Text stark hervorgehoben an (normalerweise fett)
-STYLETagInfo=Definiert eine Darstellung f\u00fcr die enthaltenen Informationen
-SUBTagInfo=Zeigt Zeichen tiefgestellt an
-SUPTagInfo=Zeigt Zeichen hochgestellt an
-TABLETagInfo=Definiert eine Tabelle
-TBODYTagInfo=Hauptteil der Tabelle
-TDTagInfo=Zelle in einer Tabelle
-TEXTAREATagInfo=Mehrzeiliges Textfeld
-TFOOTTagInfo=Tabellenfu\u00dfzeile
-THTagInfo=Tabellen\u00fcberschriftszelle
-THEADTagInfo=Tabellen\u00fcberschrift
-TITLETagInfo=Dokumenttitel, der in der Titelleiste des Browsers angezeigt wird
-TRTagInfo=Tabellenzeile
-TTTagInfo=Zeigt Text in Teletype-Schriftart oder Monospaceschrift an
-UTagInfo=Zeigt Text unterstrichen an
-ULTagInfo=Ungeordnete Liste
-VARTagInfo=Exemplar einer Variablen oder eines Programmarguments
-WBRTagInfo=L\u00e4sst einen Zeilenumbruch in Tags <B>&lt;NOBR&gt;</B> zu. Wird durch W3C HTML 4.01 nicht unterst\u00fctzt.
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref_es.properties b/bundles/org.eclipse.wst.html.core/data/htmref_es.properties
deleted file mode 100644
index 2166de9..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref_es.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=Enlace si est\u00e1 presente el atributo href, y destino de un enlace si est\u00e1 presente el atributo name
-ABBRTagInfo=Abreviatura (por ejemplo, WWW, HTTP)
-ACRONYMTagInfo=Acr\u00f3nimo (por ejemplo, SCUBA)
-ADDRESSTagInfo=Informaci\u00f3n de direcci\u00f3n para el autor de la p\u00e1gina
-APPLETTagInfo=Applet Java
-AREATagInfo=Define un \u00e1rea de mapa de imagen del lado del cliente
-BTagInfo=Visualiza texto contenido en negrita
-BASETagInfo=URI base de la p\u00e1gina, que debe utilizarse al calcular v\u00edas de acceso relativas
-BASEFONTTagInfo=Tama\u00f1o de font base de la p\u00e1gina
-BDOTagInfo=Altera temporalmente la visualizaci\u00f3n bidireccional predeterminada. Para utilizarlo con lenguajes bidireccionales.
-BIGTagInfo=Visualiza texto contenido en forma extensa
-BGSOUNDTagInfo=Define un archivo de sonido para la p\u00e1gina. No soportado en W3C HTML 4.01.
-BLINKTagInfo=Visualiza texto parpadeante. No soportado en W3C HTML 4.01.
-BLOCKQUOTETagInfo=Cita larga
-BODYTagInfo=Cuerpo del documento. Contiene todos los elementos de la p\u00e1gina.
-BRTagInfo=Fuerza un salto de l\u00ednea
-BUTTONTagInfo=Define un pulsador
-CAPTIONTagInfo=Define un t\u00edtulo de tabla
-CENTERTagInfo=Visualiza texto centrado. Equivalente a DIV con align=center.
-CITETagInfo=Cita
-CODETagInfo=Fragmento de c\u00f3digo de sistema
-COLTagInfo=Columna de tabla
-COLGROUPTagInfo=Grupo de columnas de tabla
-DDTagInfo=Definici\u00f3n o descripci\u00f3n de una lista de definiciones o descripciones
-DELTagInfo=Visualiza texto suprimido
-DFNTagInfo=Definici\u00f3n
-DIRTagInfo=Lista de directorios
-DIVTagInfo=Contenedor gen\u00e9rico, que puede utilizarse para definir el idioma o el estilo del contenido
-DLTagInfo=Lista de definiciones o descripciones
-DTTagInfo=T\u00e9rmino o tema de una lista de definiciones o descripciones
-EMTagInfo=Visualiza texto enfatizado (generalmente en cursiva)
-EMBEDTagInfo=Define un conector incorporado. No soportado en W3C HTML 4.01.
-FIELDSETTagInfo=Define un grupo de control de formularios
-FONTTagInfo=Visualiza texto en el font dado
-FORMTagInfo=Define un formulario interactivo
-FRAMETagInfo=Define un marco dentro de la ventana actual
-FRAMESETTagInfo=Define un conjunto de marcos que divide la ventana en marcos
-H1TagInfo=Cabecera de alto nivel
-H2TagInfo=Cabecera de segundo nivel
-H3TagInfo=Cabecera de tercer nivel
-H4TagInfo=Cabecera de cuarto nivel
-H5TagInfo=Cabecera de quinto nivel
-H6TagInfo=Cabecera de sexto nivel
-HEADTagInfo=Contiene metadatos e informaci\u00f3n de t\u00edtulo de ventanas para el documento
-HRTagInfo=Regla horizontal
-HTMLTagInfo=Elemento ra\u00edz para el documento
-ITagInfo=Visualiza texto en cursiva
-IFRAMETagInfo=Define una subventana incorporada
-IMGTagInfo=Visualiza la imagen a la que se hace referencia en forma de contenido intercalado
-INPUTTagInfo=Define un control de formulario para la entrada del usuario
-INSTagInfo=Define texto insertado
-ISINDEXTagInfo=Define una solicitud de una sola l\u00ednea
-KBDTagInfo=Define texto que el usuario debe especificar
-LABELTagInfo=Define la etiqueta de un campo de formulario
-LEGENDTagInfo=Define la etiqueta de un conjunto de campos de formulario
-LITagInfo=Define un elemento de lista de una lista
-LINKTagInfo=Enlace independiente de medios
-MAPTagInfo=Define un mapa de imagen del lado del cliente
-MARQUEETagInfo=Visualiza texto en forma desplazable. No soportado en W3C HTML 4.01.
-MENUTagInfo=Define una lista de men\u00fas
-METATagInfo=Define informaci\u00f3n de metadatos para el documento
-NOBRTagInfo=Altera temporalmente e impide los saltos de l\u00ednea. No soportado en W3C HTML 4.01.
-NOFRAMESTagInfo=Proporciona informaci\u00f3n de visualizaci\u00f3n si el navegador actual no da soporte a marcos.
-NOSCRIPTTagInfo=Proporciona informaci\u00f3n de visualizaci\u00f3n si el navegador actual no da soporte a scripts.
-OBJECTTagInfo=Define un objeto gen\u00e9rico incorporado
-OLTagInfo=Lista ordenada
-OPTGROUPTagInfo=Grupo de opciones
-OPTIONTagInfo=Opci\u00f3n seleccionable
-PTagInfo=P\u00e1rrafo
-PARAMTagInfo=Valor de propiedad con nombre
-PRETagInfo=Texto preformateado
-QTagInfo=Cita corta incorporada
-STagInfo=Visualiza texto en estilo tachado
-SAMPTagInfo=Salida de programa de ejemplo, scripts, etc. Se visualiza en font monoespacio.
-SCRIPTTagInfo=Sentencias de script
-SELECTTagInfo=Selector de opciones
-SMALLTagInfo=Visualiza texto en forma reducida
-SPANTagInfo=Contenedor gen\u00e9rico, que puede utilizarse para definir el idioma o el estilo del contenido
-STRIKETagInfo=Visualiza texto en estilo tachado
-STRONGTagInfo=Visualiza texto muy enfatizado (generalmente en negrita)
-STYLETagInfo=Define un estilo para la informaci\u00f3n que contiene
-SUBTagInfo=Visualizar como subscript
-SUPTagInfo=Visualizar como superscript
-TABLETagInfo=Define una tabla
-TBODYTagInfo=Cuerpo de la tabla
-TDTagInfo=Casilla de la tabla
-TEXTAREATagInfo=Campo de texto multil\u00ednea
-TFOOTTagInfo=Pie de de p\u00e1gina de tabla
-THTagInfo=Casilla de cabecera de tabla
-THEADTagInfo=Cabecera de tabla
-TITLETagInfo=T\u00edtulo del documento, visualizado en la barra de t\u00edtulo del navegador
-TRTagInfo=Fila de tabla
-TTTagInfo=Visualiza texto en estilo de texto teletipo o monoespacio
-UTagInfo=Visualiza texto subrayado
-ULTagInfo=Lista desordenada
-VARTagInfo=Instancia de una variable o argumento de programa
-WBRTagInfo=Permite un salto de l\u00ednea dentro del c\u00f3digo <B>&lt;NOBR&gt;</B>. No soportado en W3C HTML 4.01.
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref_fr.properties b/bundles/org.eclipse.wst.html.core/data/htmref_fr.properties
deleted file mode 100644
index b8817bb..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref_fr.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=Lien si l'attribut "href" est indiqu\u00e9. Cible d'un lien si l'attribut "name" est indiqu\u00e9
-ABBRTagInfo=Abr\u00e9viation (par exemple, WWW, HTTP)
-ACRONYMTagInfo=Acronyme (par exemple, SCUBA)
-ADDRESSTagInfo=Informations relatives aux adresses de l'auteur de la page
-APPLETTagInfo=Applet Java
-AREATagInfo=D\u00e9finit la zone d'une image hypertexte c\u00f4t\u00e9 client
-BTagInfo=Affiche en gras le texte indiqu\u00e9
-BASETagInfo=URI de base de la page \u00e0 utiliser lors du calcul des chemins relatifs
-BASEFONTTagInfo=Taille de base de la police dans la page
-BDOTagInfo=Remplace l'affichage bidirectionnel par d\u00e9faut. S'applique aux langues bidirectionnelles
-BIGTagInfo=Affiche le texte en gros caract\u00e8res
-BGSOUNDTagInfo=D\u00e9finit un fichier son pour la page. Pas pris en charge par W3C HTML 4.0.1
-BLINKTagInfo=Affiche un texte qui clignote. Pas pris en charge par W3C HTML 4.0.1
-BLOCKQUOTETagInfo=Longue citation
-BODYTagInfo=Corps du document. Inclut tout le contenu de la page
-BRTagInfo=Force un retour \u00e0 la ligne
-BUTTONTagInfo=D\u00e9finit un bouton de fonction
-CAPTIONTagInfo=D\u00e9finit la l\u00e9gende d'un tableau
-CENTERTagInfo=Centre le texte indiqu\u00e9. Correspond \u00e0 DIV avec align=center
-CITETagInfo=Citation
-CODETagInfo=Fragment de code de l'ordinateur
-COLTagInfo=Colonne d'un tableau
-COLGROUPTagInfo=Groupe de colonnes d'un tableau
-DDTagInfo=D\u00e9finition ou description dans une liste de d\u00e9finitions ou de descriptions
-DELTagInfo=Affiche le texte comme \u00e9tant supprim\u00e9
-DFNTagInfo=D\u00e9finition
-DIRTagInfo=Liste de r\u00e9pertoires
-DIVTagInfo=Conteneur g\u00e9n\u00e9rique permettant de d\u00e9finir la langue ou le style du contenu
-DLTagInfo=Liste de d\u00e9finitions ou de descriptions
-DTTagInfo=Terme ou sujet dans une liste de d\u00e9finitions ou de descriptions
-EMTagInfo=Met le texte en \u00e9vidence (en g\u00e9n\u00e9ral en italique)
-EMBEDTagInfo=D\u00e9finit un plug-in imbriqu\u00e9. Pas pris en charge par W3C HTML 4.0.1
-FIELDSETTagInfo=D\u00e9finit un groupe de contr\u00f4le du formulaire
-FONTTagInfo=Affiche le texte dans la police indiqu\u00e9e
-FORMTagInfo=D\u00e9finit un formulaire interactif
-FRAMETagInfo=D\u00e9finit un cadre dans la fen\u00eatre en cours
-FRAMESETTagInfo=D\u00e9finit un ensemble de cadres qui divisent la fen\u00eatre en plusieurs cadres
-H1TagInfo=Titre de niveau sup\u00e9rieur
-H2TagInfo=Titre de deuxi\u00e8me niveau
-H3TagInfo=Titre de troisi\u00e8me niveau
-H4TagInfo=Titre de quatri\u00e8me niveau
-H5TagInfo=Titre de cinqui\u00e8me niveau
-H6TagInfo=Titre de sixi\u00e8me niveau
-HEADTagInfo=Contient des informations sur les m\u00e9tadonn\u00e9es et le titre de la fen\u00eatre d'un document
-HRTagInfo=R\u00e8gle horizontale
-HTMLTagInfo=El\u00e9ment racine du document
-ITagInfo=Affiche le texte en italique
-IFRAMETagInfo=D\u00e9finit une sous-fen\u00eatre int\u00e9gr\u00e9e
-IMGTagInfo=Affiche l'image r\u00e9f\u00e9renc\u00e9e sous la forme d'un contenu imbriqu\u00e9
-INPUTTagInfo=D\u00e9finit un contr\u00f4le de formulaire pour les donn\u00e9es entr\u00e9es par l'utilisateur
-INSTagInfo=D\u00e9finit le texte ins\u00e9r\u00e9
-ISINDEXTagInfo=D\u00e9finit un message d'une seule ligne
-KBDTagInfo=D\u00e9finit le texte que l'utilisateur doit entrer
-LABELTagInfo=D\u00e9finit le libell\u00e9 d'une zone du formulaire
-LEGENDTagInfo=D\u00e9finit le libell\u00e9 d'un ensemble de zones du formulaire
-LITagInfo=D\u00e9finit un \u00e9l\u00e9ment dans une liste
-LINKTagInfo=Lien ind\u00e9pendant d'un support
-MAPTagInfo=D\u00e9finit une image hypertexte c\u00f4t\u00e9 client
-MARQUEETagInfo=Affiche un texte qui d\u00e9file. Pas pris en charge par W3C HTML 4.0.1
-MENUTagInfo=D\u00e9finit une liste de type menu
-METATagInfo=D\u00e9finit des informations sur les m\u00e9tadonn\u00e9es du document
-NOBRTagInfo=Remplace et emp\u00eache les retours \u00e0 la ligne. Pas pris en charge par W3C HTML 4.0.1
-NOFRAMESTagInfo=Fournit les informations \u00e0 afficher si le navigateur en cours ne prend pas en charge les cadres
-NOSCRIPTTagInfo=Fournit les informations \u00e0 afficher si le navigateur en cours ne prend pas en charge le scriptage
-OBJECTTagInfo=D\u00e9finit un objet imbriqu\u00e9 g\u00e9n\u00e9rique
-OLTagInfo=Liste num\u00e9rot\u00e9e
-OPTGROUPTagInfo=Groupe d'options
-OPTIONTagInfo=Option disponible pour effectuer une s\u00e9lection
-PTagInfo=Paragraphe
-PARAMTagInfo=Valeur de la propri\u00e9t\u00e9 indiqu\u00e9e
-PRETagInfo=Texte pr\u00e9format\u00e9
-QTagInfo=Citation courte et ins\u00e9r\u00e9e
-STagInfo=Affiche un texte barr\u00e9
-SAMPTagInfo=Exemple de donn\u00e9es g\u00e9n\u00e9r\u00e9es par un programme, scripts, etc. Affiche les donn\u00e9es dans une police \u00e0 ch\u00e2sse fixe
-SCRIPTTagInfo=Instructions du script
-SELECTTagInfo=Fonction de s\u00e9lection d'options
-SMALLTagInfo=Affiche le texte en petits caract\u00e8res
-SPANTagInfo=Conteneur g\u00e9n\u00e9rique permettant de d\u00e9finir la langue ou le style du contenu
-STRIKETagInfo=Affiche un texte barr\u00e9
-STRONGTagInfo=Met le texte en \u00e9vidence (en g\u00e9n\u00e9ral en gras)
-STYLETagInfo=D\u00e9finit un style pour les informations indiqu\u00e9es
-SUBTagInfo=Affiche les donn\u00e9es sous la forme d'un indice
-SUPTagInfo=Affiche les donn\u00e9es sous la forme d'un exposant
-TABLETagInfo=D\u00e9finit un tableau
-TBODYTagInfo=Corps d'un tableau
-TDTagInfo=Cellule d'un tableau
-TEXTAREATagInfo=Zone de texte comportant plusieurs lignes
-TFOOTTagInfo=Pied de page d'un tableau
-THTagInfo=Cellule d'en-t\u00eate d'un tableau
-THEADTagInfo=En-t\u00eate d'un tableau
-TITLETagInfo=Titre du document affich\u00e9 dans la barre de titre du navigateur
-TRTagInfo=Ligne d'un tableau
-TTTagInfo=Affiche le texte en mode t\u00e9l\u00e9type ou avec une police \u00e0 ch\u00e2sse fixe
-UTagInfo=Souligne le texte
-ULTagInfo=Liste non num\u00e9rot\u00e9e
-VARTagInfo=Instance d'une variable ou d'un argument de programme
-WBRTagInfo=Permet un retour \u00e0 la ligne \u00e0 l'int\u00e9rieur de la balise <B>&lt;NOBR&gt;</B>. Pas pris en charge par W3C HTML 4.0.1
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref_it.properties b/bundles/org.eclipse.wst.html.core/data/htmref_it.properties
deleted file mode 100644
index 6e6e0da..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref_it.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=Collegamento, se \u00e8 presente l'attributo href, e destinazione per il collegamento, se \u00e8 presente l'attributo nome
-ABBRTagInfo=Abbreviazione (ad esempio, WWW, HTTP)
-ACRONYMTagInfo=Acronimo (ad esempio, SCUBA)
-ADDRESSTagInfo=Informazioni relative all'indirizzo dell'autore della pagina
-APPLETTagInfo=Applet Java
-AREATagInfo=Definisce un'area di mappe immagini sul lato client
-BTagInfo=Visualizza il testo contenuto come grassetto
-BASETagInfo=URI di base della pagina, da utilizzare durante il calcolo dei percorsi relativi
-BASEFONTTagInfo=Dimensione di base del tipo di carattere della pagina
-BDOTagInfo=Sostituisce la visualizzazione bidirezionale predefinita. Per l'utilizzo con linguaggi bidirezionali.
-BIGTagInfo=Visualizza il testo contenuto come grande
-BGSOUNDTagInfo=Definisce un file audio della pagina. Non supportato da W3C HTML 4.01.
-BLINKTagInfo=Visualizza il testo come lampeggiante. Non supportato da W3C HTML 4.01.
-BLOCKQUOTETagInfo=Lunga citazione
-BODYTagInfo=Corpo del documento. Racchiude tutto il contenuto della pagina.
-BRTagInfo=Determina un'interruzione di riga
-BUTTONTagInfo=Definisce un pulsante di comando
-CAPTIONTagInfo=Definisce la didascalia di una tabella
-CENTERTagInfo=Visualizza il testo contenuto come centrato. Equivalente a DIV con align=center.
-CITETagInfo=Citazione
-CODETagInfo=Frammento di codice del computer
-COLTagInfo=Colonna di tabella
-COLGROUPTagInfo=Gruppo di colonne di tabella
-DDTagInfo=Definizione o descrizione in un'elenco di definizioni o descrizioni
-DELTagInfo=Visualizza il testo come eliminato
-DFNTagInfo=Definizione
-DIRTagInfo=Elenco di directory
-DIVTagInfo=Contenitore generico, che pu\u00f2 essere utilizzato per la definizione del linguaggio o dello stile del contenuto
-DLTagInfo=Elenco di definizioni o descrizioni
-DTTagInfo=Termine o argomento in un elenco di definizioni o descrizioni
-EMTagInfo=Visualizza il testo evidenziato (in genere in corsivo)
-EMBEDTagInfo=Definisce un plugin incorporato. Non supportato da W3C HTML 4.01.
-FIELDSETTagInfo=Definisce un gruppo di controllo modulo
-FONTTagInfo=Visualizza il testo nel tipo di carattere dato
-FORMTagInfo=Definisce un form interattivo
-FRAMETagInfo=Definisce un frame all'interni della finestra corrente
-FRAMESETTagInfo=Definisce un frameset che divide la finestra in frame
-H1TagInfo=Intestazione di primo livello
-H2TagInfo=Intestazione di secondo livello
-H3TagInfo=Intestazione di terzo livello
-H4TagInfo=Intestazione di quarto livello
-H5TagInfo=Intestazione di quinto livello
-H6TagInfo=Intestazione di sesto livello
-HEADTagInfo=Contiene metadati e informazioni sul titolo della finestra del documento
-HRTagInfo=Riga orizzontale
-HTMLTagInfo=Elemento principale del documento.
-ITagInfo=Visualizza il testo come corsivo
-IFRAMETagInfo=Definisce una finestra secondaria incorporata
-IMGTagInfo=Visualizza l'immagine di riferimento come contenuto incorporato
-INPUTTagInfo=Definisce un controllo modulo per l'input dell'utente
-INSTagInfo=Definisce un testo inserito
-ISINDEXTagInfo=Definisce un prompt a riga singola
-KBDTagInfo=Definisce il testo che deve essere immesso dall'utente
-LABELTagInfo=Definisce l'etichetta per un campo modulo
-LEGENDTagInfo=Definisce l'etichetta per un insieme di campi modulo
-LITagInfo=Definisce una voce di elenco all'interno di un elenco
-LINKTagInfo=Collegamento indipendente dal supporto
-MAPTagInfo=Definisce una mappa immagini sul lato client
-MARQUEETagInfo=Visualizza il testo in scorrimento. Non supportato da W3C HTML 4.01.
-MENUTagInfo=Definisce un elenco di menu
-METATagInfo=Definisce le informazioni sui metadati del documento
-NOBRTagInfo=Sostituisce ed evita le interruzioni di riga. Non supportato da W3C HTML 4.01.
-NOFRAMESTagInfo=Fornisce informazioni per visualizzare se il browser corrente non supporta frame
-NOSCRIPTTagInfo=Fornisce informazioni per visualizzare se il browser corrente non supporta script
-OBJECTTagInfo=Definisce un oggetto incorporato generico
-OLTagInfo=Elenco ordinato
-OPTGROUPTagInfo=Gruppo di opzioni
-OPTIONTagInfo=Opzione selezionabile
-PTagInfo=Paragrafo
-PARAMTagInfo=Valore propriet\u00e0 denominata
-PRETagInfo=Testo preformattato
-QTagInfo=Breve citazione incorporata
-STagInfo=Visualizza il testo in stile barrato
-SAMPTagInfo=Output di programmi di esempio, script e cos\u00ec via. Viene visualizzato in un tipo di carattere monospazio.
-SCRIPTTagInfo=Istruzioni di script
-SELECTTagInfo=Selettore di opzioni
-SMALLTagInfo=Visualizza il testo come piccolo
-SPANTagInfo=Contenitore generico, che pu\u00f2 essere utilizzato per la definizione del linguaggio o dello stile del contenuto
-STRIKETagInfo=Visualizza il testo in stile barrato
-STRONGTagInfo=Visualizza il testo evidenziato in maniera netta (in genere in grassetto)
-STYLETagInfo=Definisce uno stile per le informazioni contenute
-SUBTagInfo=Visualizza come pedice
-SUPTagInfo=Visualizza come apice
-TABLETagInfo=Definisce una tabella
-TBODYTagInfo=Corpo della tabella
-TDTagInfo=Cella all'interno di una tabella
-TEXTAREATagInfo=Campo di testo a pi\u00f9 righe
-TFOOTTagInfo=Pi\u00e8 di pagina tabella
-THTagInfo=Cella di intestazione di una tabella
-THEADTagInfo=Intestazione tabella
-TITLETagInfo=Titolo del documento, visualizzato nella barra del titolo del browser
-TRTagInfo=Riga di tabella
-TTTagInfo=Visualizza il testo in stile testo telescrivente o monospazio
-UTagInfo=Visualizza il testo come sottolineato
-ULTagInfo=Elenco non ordinato
-VARTagInfo=Istanza di una variabile o di un argomento del programma
-WBRTagInfo=Consente un'interruzione di riga all'interno del tag <B>&lt;NOBR&gt;</B>. Non supportato da W3C HTML 4.01.
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref_ja.properties b/bundles/org.eclipse.wst.html.core/data/htmref_ja.properties
deleted file mode 100644
index b997445..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref_ja.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=href \u5c5e\u6027\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306f\u30ea\u30f3\u30af\u3001\u304a\u3088\u3073 name \u5c5e\u6027\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306f\u30ea\u30f3\u30af\u306e\u30bf\u30fc\u30b2\u30c3\u30c8
-ABBRTagInfo=\u7701\u7565\u5f62 (\u305f\u3068\u3048\u3070 WWW\u3001HTTP \u306a\u3069)
-ACRONYMTagInfo=\u982d\u5b57\u8a9e (\u305f\u3068\u3048\u3070 SCUBA \u306a\u3069)
-ADDRESSTagInfo=\u30da\u30fc\u30b8\u4f5c\u6210\u8005\u306e\u30a2\u30c9\u30ec\u30b9\u60c5\u5831
-APPLETTagInfo=Java \u30a2\u30d7\u30ec\u30c3\u30c8
-AREATagInfo=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30fb\u30b5\u30a4\u30c9\u30fb\u30a4\u30e1\u30fc\u30b8\u30fb\u30de\u30c3\u30d7\u30fb\u30a8\u30ea\u30a2\u3092\u5b9a\u7fa9
-BTagInfo=\u542b\u307e\u308c\u3066\u3044\u308b\u30c6\u30ad\u30b9\u30c8\u3092\u592a\u5b57\u3067\u8868\u793a
-BASETagInfo=\u30da\u30fc\u30b8\u306e\u57fa\u672c URI (\u76f8\u5bfe\u30d1\u30b9\u306e\u8a08\u7b97\u6642\u306b\u4f7f\u7528\u3055\u308c\u308b)
-BASEFONTTagInfo=\u30da\u30fc\u30b8\u306e\u57fa\u672c\u30d5\u30a9\u30f3\u30c8\u30fb\u30b5\u30a4\u30ba
-BDOTagInfo=\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u53cc\u65b9\u5411\u8868\u793a\u3092\u6307\u5b9a\u5909\u66f4\u3002 \u53cc\u65b9\u5411\u8a00\u8a9e\u3068\u5171\u306b\u4f7f\u7528\u3002
-BIGTagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u30e9\u30fc\u30b8\u30fb\u30d5\u30a9\u30f3\u30c8\u3067\u8868\u793a
-BGSOUNDTagInfo=\u30da\u30fc\u30b8\u306e\u30b5\u30a6\u30f3\u30c9\u30fb\u30d5\u30a1\u30a4\u30eb\u3092\u5b9a\u7fa9\u3002 W3C HTML 4.01 \u3067\u306f\u975e\u30b5\u30dd\u30fc\u30c8\u3002
-BLINKTagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u660e\u6ec5\u3067\u8868\u793a\u3002 W3C HTML 4.01 \u3067\u306f\u975e\u30b5\u30dd\u30fc\u30c8\u3002
-BLOCKQUOTETagInfo=\u9577\u3044\u5f15\u7528
-BODYTagInfo=\u6587\u66f8\u672c\u6587\u3002\u30da\u30fc\u30b8\u306e\u3059\u3079\u3066\u306e\u5185\u5bb9\u3092\u542b\u3080\u3002
-BRTagInfo=\u6539\u884c\u3092\u5f37\u5236
-BUTTONTagInfo=\u30d7\u30c3\u30b7\u30e5\u30dc\u30bf\u30f3\u3092\u5b9a\u7fa9
-CAPTIONTagInfo=\u30c6\u30fc\u30d6\u30eb\u8868\u984c\u3092\u5b9a\u7fa9
-CENTERTagInfo=\u542b\u307e\u308c\u3066\u3044\u308b\u30c6\u30ad\u30b9\u30c8\u3092\u4e2d\u592e\u305d\u308d\u3048\u3067\u8868\u793a\u3002 align=center \u3092\u6301\u3064 DIV \u306b\u76f8\u5f53\u3002
-CITETagInfo=\u5f15\u7528
-CODETagInfo=\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc\u30fb\u30b3\u30fc\u30c9\u30fb\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8
-COLTagInfo=\u30c6\u30fc\u30d6\u30eb\u5217
-COLGROUPTagInfo=\u30c6\u30fc\u30d6\u30eb\u5217\u306e\u30b0\u30eb\u30fc\u30d7
-DDTagInfo=\u5b9a\u7fa9\u307e\u305f\u306f\u8a18\u8ff0\u30ea\u30b9\u30c8\u5185\u306e\u5b9a\u7fa9\u3042\u308b\u3044\u306f\u8a18\u8ff0
-DELTagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u524a\u9664\u6e08\u307f\u3068\u3057\u3066\u8868\u793a
-DFNTagInfo=\u5b9a\u7fa9
-DIRTagInfo=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u30fb\u30ea\u30b9\u30c8
-DIVTagInfo=\u6c4e\u7528\u30b3\u30f3\u30c6\u30ca\u30fc (\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u8a00\u8a9e\u307e\u305f\u306f\u30b9\u30bf\u30a4\u30eb\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u308b)
-DLTagInfo=\u5b9a\u7fa9\u307e\u305f\u306f\u8a18\u8ff0\u30ea\u30b9\u30c8
-DTTagInfo=\u5b9a\u7fa9\u307e\u305f\u306f\u8a18\u8ff0\u30ea\u30b9\u30c8\u5185\u306e\u7528\u8a9e\u307e\u305f\u306f\u30b5\u30d6\u30b8\u30a7\u30af\u30c8
-EMTagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u5f37\u8abf\u8868\u793a (\u4e00\u822c\u7684\u306b\u306f\u30a4\u30bf\u30ea\u30c3\u30af\u8868\u793a)
-EMBEDTagInfo=\u7d44\u307f\u8fbc\u307f\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u5b9a\u7fa9\u3002 W3C HTML 4.01 \u3067\u306f\u975e\u30b5\u30dd\u30fc\u30c8\u3002
-FIELDSETTagInfo=\u66f8\u5f0f\u5236\u5fa1\u30b0\u30eb\u30fc\u30d7\u3092\u5b9a\u7fa9
-FONTTagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u6307\u5b9a\u306e\u30d5\u30a9\u30f3\u30c8\u3067\u8868\u793a
-FORMTagInfo=\u5bfe\u8a71\u5f0f\u66f8\u5f0f\u3092\u5b9a\u7fa9
-FRAMETagInfo=\u73fe\u884c\u30a6\u30a3\u30f3\u30c9\u30a6\u5185\u306e\u30d5\u30ec\u30fc\u30e0\u3092\u5b9a\u7fa9
-FRAMESETTagInfo=\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u5206\u5272\u3057\u3066\u30d5\u30ec\u30fc\u30e0\u306b\u3059\u308b\u30d5\u30ec\u30fc\u30e0\u30fb\u30bb\u30c3\u30c8\u3092\u5b9a\u7fa9
-H1TagInfo=\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u898b\u51fa\u3057
-H2TagInfo=2 \u6b21\u30ec\u30d9\u30eb\u898b\u51fa\u3057
-H3TagInfo=3 \u6b21\u30ec\u30d9\u30eb\u898b\u51fa\u3057
-H4TagInfo=4 \u6b21\u30ec\u30d9\u30eb\u898b\u51fa\u3057
-H5TagInfo=5 \u6b21\u30ec\u30d9\u30eb\u898b\u51fa\u3057
-H6TagInfo=6 \u6b21\u30ec\u30d9\u30eb\u898b\u51fa\u3057
-HEADTagInfo=\u6587\u66f8\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3068\u30a6\u30a3\u30f3\u30c9\u30a6\u30fb\u30bf\u30a4\u30c8\u30eb\u306e\u60c5\u5831\u3092\u542b\u3080
-HRTagInfo=\u6c34\u5e73\u3051\u3044\u7dda
-HTMLTagInfo=\u6587\u66f8\u306e\u30eb\u30fc\u30c8\u30fb\u30a8\u30ec\u30e1\u30f3\u30c8
-ITagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u30a4\u30bf\u30ea\u30c3\u30af\u3067\u8868\u793a
-IFRAMETagInfo=\u30a4\u30f3\u30e9\u30a4\u30f3\u30fb\u30b5\u30d6\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u5b9a\u7fa9
-IMGTagInfo=\u7d44\u307f\u8fbc\u307f\u30b3\u30f3\u30c6\u30f3\u30c4\u3068\u3057\u3066\u53c2\u7167\u30a4\u30e1\u30fc\u30b8\u3092\u8868\u793a
-INPUTTagInfo=\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u7528\u306e\u66f8\u5f0f\u5236\u5fa1\u3092\u5b9a\u7fa9
-INSTagInfo=\u633f\u5165\u3055\u308c\u308b\u30c6\u30ad\u30b9\u30c8\u3092\u5b9a\u7fa9
-ISINDEXTagInfo=\u5358\u4e00\u884c\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u5b9a\u7fa9
-KBDTagInfo=\u30e6\u30fc\u30b6\u30fc\u304c\u5165\u529b\u3059\u308b\u30c6\u30ad\u30b9\u30c8\u3092\u5b9a\u7fa9
-LABELTagInfo=\u66f8\u5f0f\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u30e9\u30d9\u30eb\u3092\u5b9a\u7fa9
-LEGENDTagInfo=\u66f8\u5f0f\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u30bb\u30c3\u30c8\u306e\u30e9\u30d9\u30eb\u3092\u5b9a\u7fa9
-LITagInfo=\u30ea\u30b9\u30c8\u5185\u306e\u30ea\u30b9\u30c8\u9805\u76ee\u3092\u5b9a\u7fa9
-LINKTagInfo=\u30e1\u30c7\u30a3\u30a2\u975e\u4f9d\u5b58\u306e\u30ea\u30f3\u30af
-MAPTagInfo=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30fb\u30b5\u30a4\u30c9\u306e\u30a4\u30e1\u30fc\u30b8\u30fb\u30de\u30c3\u30d7\u3092\u5b9a\u7fa9
-MARQUEETagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u30b9\u30af\u30ed\u30fc\u30eb\u8868\u793a\u3002 W3C HTML 4.01 \u3067\u306f\u975e\u30b5\u30dd\u30fc\u30c8\u3002
-MENUTagInfo=\u30e1\u30cb\u30e5\u30fc\u30fb\u30ea\u30b9\u30c8\u3092\u5b9a\u7fa9
-METATagInfo=\u6587\u66f8\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u60c5\u5831\u3092\u5b9a\u7fa9
-NOBRTagInfo=\u6539\u884c\u3092\u6307\u5b9a\u5909\u66f4\u304a\u3088\u3073\u9632\u6b62\u3002 W3C HTML 4.01 \u3067\u306f\u975e\u30b5\u30dd\u30fc\u30c8\u3002
-NOFRAMESTagInfo=\u73fe\u5728\u306e\u30d6\u30e9\u30a6\u30b6\u30fc\u304c\u30d5\u30ec\u30fc\u30e0\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u306a\u3044\u5834\u5408\u306b\u8868\u793a\u3059\u308b\u60c5\u5831\u3092\u63d0\u4f9b
-NOSCRIPTTagInfo=\u73fe\u5728\u306e\u30d6\u30e9\u30a6\u30b6\u30fc\u304c\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u306a\u3044\u5834\u5408\u306b\u8868\u793a\u3059\u308b\u60c5\u5831\u3092\u63d0\u4f9b
-OBJECTTagInfo=\u6c4e\u7528\u7d44\u307f\u8fbc\u307f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u5b9a\u7fa9
-OLTagInfo=\u9806\u5e8f\u4ed8\u304d\u30ea\u30b9\u30c8
-OPTGROUPTagInfo=\u30aa\u30d7\u30b7\u30e7\u30f3\u30fb\u30b0\u30eb\u30fc\u30d7
-OPTIONTagInfo=\u9078\u629e\u53ef\u80fd\u9805\u76ee
-PTagInfo=\u6bb5\u843d
-PARAMTagInfo=\u540d\u524d\u4ed8\u304d\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u5024
-PRETagInfo=\u30d9\u30bf\u66f8\u304d\u30c6\u30ad\u30b9\u30c8
-QTagInfo=\u77ed\u3044\u30a4\u30f3\u30e9\u30a4\u30f3\u5f15\u7528
-STagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u6253\u3061\u6d88\u3057\u7dda\u30b9\u30bf\u30a4\u30eb\u3067\u8868\u793a
-SAMPTagInfo=\u30b5\u30f3\u30d7\u30eb\u30fb\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u51fa\u529b\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u3001\u305d\u306e\u4ed6\u3002 \u30e2\u30ce\u30b9\u30da\u30fc\u30b9\u30fb\u30d5\u30a9\u30f3\u30c8\u3067\u8868\u793a\u3002
-SCRIPTTagInfo=\u30b9\u30af\u30ea\u30d7\u30c8\u30fb\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8
-SELECTTagInfo=\u30aa\u30d7\u30b7\u30e7\u30f3\u30fb\u30bb\u30ec\u30af\u30bf\u30fc
-SMALLTagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u30b9\u30e2\u30fc\u30eb\u30fb\u30d5\u30a9\u30f3\u30c8\u3067\u8868\u793a
-SPANTagInfo=\u6c4e\u7528\u30b3\u30f3\u30c6\u30ca\u30fc (\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u8a00\u8a9e\u307e\u305f\u306f\u30b9\u30bf\u30a4\u30eb\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u308b)
-STRIKETagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u6253\u3061\u6d88\u3057\u7dda\u30b9\u30bf\u30a4\u30eb\u3067\u8868\u793a
-STRONGTagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u5f37\u8abf\u8868\u793a (\u4e00\u822c\u7684\u306b\u306f\u592a\u5b57\u8868\u793a)
-STYLETagInfo=\u542b\u307e\u308c\u3066\u3044\u308b\u60c5\u5831\u306e\u30b9\u30bf\u30a4\u30eb\u3092\u5b9a\u7fa9
-SUBTagInfo=\u4e0b\u4ed8\u304d\u3068\u3057\u3066\u8868\u793a
-SUPTagInfo=\u4e0a\u4ed8\u304d\u3068\u3057\u3066\u8868\u793a
-TABLETagInfo=\u30c6\u30fc\u30d6\u30eb\u3092\u5b9a\u7fa9
-TBODYTagInfo=\u30c6\u30fc\u30d6\u30eb\u306e\u672c\u6587
-TDTagInfo=\u30c6\u30fc\u30d6\u30eb\u5185\u306e\u30bb\u30eb
-TEXTAREATagInfo=\u8907\u6570\u884c\u30c6\u30ad\u30b9\u30c8\u30fb\u30d5\u30a3\u30fc\u30eb\u30c9
-TFOOTTagInfo=\u30c6\u30fc\u30d6\u30eb\u30fb\u30d5\u30c3\u30bf\u30fc
-THTagInfo=\u30c6\u30fc\u30d6\u30eb\u30fb\u30d8\u30c3\u30c0\u30fc\u30fb\u30bb\u30eb
-THEADTagInfo=\u30c6\u30fc\u30d6\u30eb\u30fb\u30d8\u30c3\u30c0\u30fc
-TITLETagInfo=\u6587\u66f8\u30bf\u30a4\u30c8\u30eb (\u30d6\u30e9\u30a6\u30b6\u30fc\u306e\u30bf\u30a4\u30c8\u30eb\u30fb\u30d0\u30fc\u306b\u8868\u793a\u3055\u308c\u308b)
-TRTagInfo=\u30c6\u30fc\u30d6\u30eb\u884c
-TTTagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u30c6\u30ec\u30bf\u30a4\u30d7\u307e\u305f\u306f\u30e2\u30ce\u30b9\u30da\u30fc\u30b9\u30fb\u30c6\u30ad\u30b9\u30c8\u30fb\u30b9\u30bf\u30a4\u30eb\u3067\u8868\u793a
-UTagInfo=\u30c6\u30ad\u30b9\u30c8\u3092\u4e0b\u7dda\u4ed8\u304d\u3067\u8868\u793a
-ULTagInfo=\u9806\u4e0d\u540c\u30ea\u30b9\u30c8
-VARTagInfo=\u5909\u6570\u307e\u305f\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u5f15\u304d\u6570\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9
-WBRTagInfo=<B>&lt;NOBR&gt;</B> \u30bf\u30b0\u5185\u306e\u6539\u884c\u3092\u8a8d\u3081\u308b\u3002 W3C HTML 4.01 \u3067\u306f\u975e\u30b5\u30dd\u30fc\u30c8\u3002
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref_ko.properties b/bundles/org.eclipse.wst.html.core/data/htmref_ko.properties
deleted file mode 100644
index a633613..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref_ko.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=href \uc18d\uc131\uc774 \uc788\ub294 \uacbd\uc6b0, \ub9c1\ud06c \uadf8\ub9ac\uace0 \uc774\ub984 \uc18d\uc131\uc774 \uc788\ub294 \uacbd\uc6b0, \ub9c1\ud06c\uc758 \ub300\uc0c1
-ABBRTagInfo=\uc57d\uc5b4(\uc608: WWW, HTTP)
-ACRONYMTagInfo=\uba38\ub9ac\uae00\uc790(\uc608: SCUBA)
-ADDRESSTagInfo=\ud398\uc774\uc9c0 \uc791\uc131\uc790\uc758 \uc8fc\uc18c \uc815\ubcf4
-APPLETTagInfo=Java \uc560\ud50c\ub9bf
-AREATagInfo=\ud074\ub77c\uc774\uc5b8\ud2b8\uce21 \uc774\ubbf8\uc9c0 \ub9f5 \uc601\uc5ed\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-BTagInfo=\ud3ec\ud568\ub41c \ud14d\uc2a4\ud2b8\ub97c \uad75\uc740\uccb4\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-BASETagInfo=\ud398\uc774\uc9c0\uc758 \uae30\uc900 URI(\uc0c1\ub300 \uacbd\ub85c \uacc4\uc0b0 \uc2dc \uc0ac\uc6a9\ub428)
-BASEFONTTagInfo=\ud398\uc774\uc9c0\uc758 \uae30\uc900 \uae00\uaf34 \ud06c\uae30
-BDOTagInfo=\uae30\ubcf8 \uc591\ubc29\ud5a5 \ud45c\uc2dc\ub97c \ub300\uccb4\ud569\ub2c8\ub2e4. \uc591\ubc29\ud5a5 \uc5b8\uc5b4\uc5d0 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.
-BIGTagInfo=\ud3ec\ud568\ub41c \ud14d\uc2a4\ud2b8\ub97c \ud06c\uac8c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-BGSOUNDTagInfo=\ud398\uc774\uc9c0\uc758 \uc0ac\uc6b4\ub4dc \ud30c\uc77c\uc744 \uc815\uc758\ud569\ub2c8\ub2e4. W3C HTML 4.01\uc5d0\uc11c\ub294 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-BLINKTagInfo=\ud14d\uc2a4\ud2b8\ub97c \uae5c\ubc15\uc784\uc73c\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4. W3C HTML 4.01\uc5d0\uc11c\ub294 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-BLOCKQUOTETagInfo=\uae34 \uc778\uc6a9\ubb38
-BODYTagInfo=\ubb38\uc11c \ubcf8\ubb38. \ud398\uc774\uc9c0\uc758 \ubaa8\ub4e0 \ucee8\ud150\uce20\ub97c \ud3ec\ud568\ud569\ub2c8\ub2e4.
-BRTagInfo=\ud589 \ubc14\uafb8\uae30\ub97c \uac15\uc81c \uc2e4\ud589\ud569\ub2c8\ub2e4.
-BUTTONTagInfo=\ub204\ub984 \ub2e8\ucd94\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.
-CAPTIONTagInfo=\ud14c\uc774\ube14 \ucea1\uc158\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-CENTERTagInfo=\ud3ec\ud568\ub41c \ud14d\uc2a4\ud2b8\uac00 \uac00\uc6b4\ub370\ub85c \uc624\ub3c4\ub85d \ud45c\uc2dc\ud569\ub2c8\ub2e4. align=center\ub97c \uc124\uc815\ud55c DIV \ud0dc\uadf8\uc640 \ub3d9\uc77c\ud569\ub2c8\ub2e4.
-CITETagInfo=\uc778\uc6a9\ubb38
-CODETagInfo=\ucef4\ud4e8\ud130 \ucf54\ub4dc \ub2e8\ud3b8
-COLTagInfo=\ud14c\uc774\ube14 \uc5f4
-COLGROUPTagInfo=\ud14c\uc774\ube14 \uc5f4\uc758 \uadf8\ub8f9
-DDTagInfo=\uc815\uc758 \ub610\ub294 \uc124\uba85 \ubaa9\ub85d\uc758 \uc124\uba85 \ub610\ub294 \uc815\uc758
-DELTagInfo=\ud14d\uc2a4\ud2b8\ub97c \uc0ad\uc81c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-DFNTagInfo=\uc815\uc758
-DIRTagInfo=\ub514\ub809\ud1a0\ub9ac \ubaa9\ub85d
-DIVTagInfo=\ucee8\ud150\uce20\uc758 \uc2a4\ud0c0\uc77c \ub610\ub294 \uc5b8\uc5b4\ub97c \uc815\uc758\ud558\ub294 \ub370 \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc77c\ubc18 \ucee8\ud14c\uc774\ub108
-DLTagInfo=\uc815\uc758 \ub610\ub294 \uc124\uba85 \ubaa9\ub85d
-DTTagInfo=\uc815\uc758 \ub610\ub294 \uc124\uba85 \ubaa9\ub85d\uc758 \uc6a9\uc5b4 \ub610\ub294 \uc8fc\uc81c
-EMTagInfo=\ud14d\uc2a4\ud2b8\ub97c \uac15\uc870\ud45c\uc2dc\ud569\ub2c8\ub2e4(\uc77c\ubc18\uc801\uc73c\ub85c \uae30\uc6b8\uc784\uccb4).
-EMBEDTagInfo=\uc784\ubca0\ub514\ub4dc \ud50c\ub7ec\uadf8\uc778\uc744 \uc815\uc758\ud569\ub2c8\ub2e4. W3C HTML 4.01\uc5d0\uc11c\ub294 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-FIELDSETTagInfo=\uc591\uc2dd \uc81c\uc5b4 \uadf8\ub8f9 \uc815\uc758
-FONTTagInfo=\ud14d\uc2a4\ud2b8\ub97c \uc9c0\uc815\ub41c \uae00\uaf34\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-FORMTagInfo=\ub300\ud654\uc2dd \uc591\uc2dd\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-FRAMETagInfo=\ud604\uc7ac \ucc3d \ub0b4\ubd80\uc758 \ud504\ub808\uc784\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-FRAMESETTagInfo=\ucc3d\uc744 \ud504\ub808\uc784\uc73c\ub85c \ub098\ub204\ub294 \ud504\ub808\uc784\uc138\ud2b8\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.
-H1TagInfo=\ucd5c\uc0c1\uc704 \ub808\ubca8 \ud45c\uc81c
-H2TagInfo=\ub450 \ubc88\uc9f8 \ub808\ubca8 \ud45c\uc81c
-H3TagInfo=\uc138 \ubc88\uc9f8 \ub808\ubca8 \ud45c\uc81c
-H4TagInfo=\ub124 \ubc88\uc9f8 \ub808\ubca8 \ud45c\uc81c
-H5TagInfo=\ub2e4\uc12f \ubc88\uc9f8 \ub808\ubca8 \ud45c\uc81c
-H6TagInfo=\uc5ec\uc12f \ubc88\uc9f8 \ub808\ubca8 \ud45c\uc81c
-HEADTagInfo=\ubb38\uc11c\uc758 \uba54\ud0c0\ub370\uc774\ud130 \ubc0f \ucc3d \uc81c\ubaa9 \uc815\ubcf4\ub97c \ud3ec\ud568\ud569\ub2c8\ub2e4.
-HRTagInfo=\uc218\ud3c9 \uc790
-HTMLTagInfo=\ubb38\uc11c\uc758 \ub8e8\ud2b8 \uc694\uc18c
-ITagInfo=\ud14d\uc2a4\ud2b8\ub97c \uae30\uc6b8\uc784\uaf34\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-IFRAMETagInfo=\uc778\ub77c\uc778 \ud558\uc704 \ucc3d\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-IMGTagInfo=\ucc38\uc870\ub41c \uc774\ubbf8\uc9c0\ub97c \uc784\ubca0\ub514\ub4dc \ucee8\ud150\uce20\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-INPUTTagInfo=\uc0ac\uc6a9\uc790 \uc785\ub825\uc744 \uc704\ud55c \uc591\uc2dd \uc81c\uc5b4\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.
-INSTagInfo=\uc0bd\uc785\ub41c \ud14d\uc2a4\ud2b8\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.
-ISINDEXTagInfo=\ub2e8\uc77c \ud589 \ud504\ub86c\ud504\ud2b8\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.
-KBDTagInfo=\uc0ac\uc6a9\uc790\uac00 \uc785\ub825\ud560 \ud14d\uc2a4\ud2b8\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.
-LABELTagInfo=\uc591\uc2dd \ud544\ub4dc\uc758 \ub808\uc774\ube14\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-LEGENDTagInfo=\uc591\uc2dd \ud544\ub4dc \uc138\ud2b8\uc758 \ub808\uc774\ube14\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-LITagInfo=\ubaa9\ub85d \ub0b4\ubd80\uc758 \ubaa9\ub85d \ud56d\ubaa9\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-LINKTagInfo=\ub9e4\uccb4 \ub3c5\ub9bd\uc801 \ub9c1\ud06c
-MAPTagInfo=\ud074\ub77c\uc774\uc5b8\ud2b8\uce21 \uc774\ubbf8\uc9c0 \ub9f5\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-MARQUEETagInfo=\ud14d\uc2a4\ud2b8\uc5d0 \ud750\ub974\ub294 \ud6a8\uacfc\ub97c \uc90d\ub2c8\ub2e4. W3C HTML 4.01\uc5d0\uc11c\ub294 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-MENUTagInfo=\uba54\ub274 \ubaa9\ub85d\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-METATagInfo=\ubb38\uc11c\uc758 \uba54\ud0c0\ub370\uc774\ud130 \uc815\ubcf4\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.
-NOBRTagInfo=\ud589 \ubc14\uafb8\uae30\ub97c \ub300\uccb4\ud558\uac70\ub098 \ubc29\uc9c0\ud569\ub2c8\ub2e4. W3C HTML 4.01\uc5d0\uc11c\ub294 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-NOFRAMESTagInfo=\ud604\uc7ac \ube0c\ub77c\uc6b0\uc800\uac00 \ud504\ub808\uc784\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0 \ud45c\uc2dc\ud560 \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.
-NOSCRIPTTagInfo=\ud604\uc7ac \ube0c\ub77c\uc6b0\uc800\uac00 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0 \ud45c\uc2dc\ud560 \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.
-OBJECTTagInfo=\uc784\ubca0\ub514\ub4dc \uc77c\ubc18 \uc624\ube0c\uc81d\ud2b8\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.
-OLTagInfo=\uc21c\uc11c\ud654\ub41c \ubaa9\ub85d
-OPTGROUPTagInfo=\uc635\uc158 \uadf8\ub8f9
-OPTIONTagInfo=\uc120\ud0dd \uac00\ub2a5\ud55c \uc120\ud0dd\uc0ac\ud56d
-PTagInfo=\ub2e8\ub77d
-PARAMTagInfo=\uc774\ub984\uc774 \uc9c0\uc815\ub41c \ud2b9\uc131 \uac12
-PRETagInfo=\ubbf8\ub9ac \ud615\uc2dd\ud654\ub41c \ud14d\uc2a4\ud2b8
-QTagInfo=\ucd95\uc57d\ud615 \uc778\ub77c\uc778 \uc778\uc6a9\ubb38
-STagInfo=\ucde8\uc18c\uc120 \uc2a4\ud0c0\uc77c\ub85c \ud14d\uc2a4\ud2b8\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-SAMPTagInfo=\uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8 \ucd9c\ub825, \uc2a4\ud06c\ub9bd\ud2b8 \ub4f1\uc5d0 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ubaa8\ub178\uc2a4\ud398\uc774\uc2a4 \uae00\uaf34\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-SCRIPTTagInfo=\uc2a4\ud06c\ub9bd\ud2b8 \ubb38
-SELECTTagInfo=\uc635\uc158 \uc120\ud0dd\uae30
-SMALLTagInfo=\ud14d\uc2a4\ud2b8\ub97c \uc791\uac8c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-SPANTagInfo=\ucee8\ud150\uce20\uc758 \uc2a4\ud0c0\uc77c \ub610\ub294 \uc5b8\uc5b4\ub97c \uc815\uc758\ud558\ub294 \ub370 \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc77c\ubc18 \ucee8\ud14c\uc774\ub108
-STRIKETagInfo=\ucde8\uc18c\uc120 \uc2a4\ud0c0\uc77c\ub85c \ud14d\uc2a4\ud2b8\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-STRONGTagInfo=\ud14d\uc2a4\ud2b8\ub97c \uac15\uc870\ud45c\uc2dc\ud569\ub2c8\ub2e4(\uc77c\ubc18\uc801\uc73c\ub85c \uad75\uc740\uccb4).
-STYLETagInfo=\ud3ec\ud568\ub41c \uc815\ubcf4\uc758 \uc2a4\ud0c0\uc77c\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-SUBTagInfo=\uc544\ub798 \ucca8\uc790\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-SUPTagInfo=\uc704 \ucca8\uc790\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-TABLETagInfo=\ud14c\uc774\ube14\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.
-TBODYTagInfo=\ud14c\uc774\ube14 \ubcf8\ubb38
-TDTagInfo=\ud14c\uc774\ube14 \ub0b4\uc758 \uc140
-TEXTAREATagInfo=\ub2e4\uc911 \ud589 \ud14d\uc2a4\ud2b8 \ud544\ub4dc
-TFOOTTagInfo=\ud14c\uc774\ube14 \ubc14\ub2e5\uae00
-THTagInfo=\ud14c\uc774\ube14 \ud5e4\ub354 \uc140
-THEADTagInfo=\ud14c\uc774\ube14 \ud5e4\ub354
-TITLETagInfo=\ube0c\ub77c\uc6b0\uc800 \uc81c\ubaa9 \ud45c\uc2dc\uc904\uc5d0 \ud45c\uc2dc\ub418\ub294 \ubb38\uc11c \uc81c\ubaa9
-TRTagInfo=\ud14c\uc774\ube14 \ud589
-TTTagInfo=\ud14d\uc2a4\ud2b8\ub97c \ud154\ub808\ud0c0\uc774\ud504 \ub610\ub294 \ubaa8\ub178\uc2a4\ud398\uc774\uc2a4 \ud14d\uc2a4\ud2b8 \uc2a4\ud0c0\uc77c\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-UTagInfo=\ud14d\uc2a4\ud2b8\uc5d0 \ubc11\uc904\uc744 \uadf8\uc5b4 \ud45c\uc2dc\ud569\ub2c8\ub2e4.
-ULTagInfo=\uc21c\uc11c \uc5c6\ub294 \ubaa9\ub85d
-VARTagInfo=\ubcc0\uc218 \ub610\ub294 \ud504\ub85c\uadf8\ub7a8 \uc778\uc218\uc758 \uc778\uc2a4\ud134\uc2a4
-WBRTagInfo=<B>&lt;NOBR&gt;</B> \ud0dc\uadf8 \ub0b4\uc5d0 \ud589 \ubc14\uafb8\uae30\ub97c \ud5c8\uc6a9\ud569\ub2c8\ub2e4. W3C HTML 4.01\uc5d0\uc11c\ub294 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref_pt_BR.properties b/bundles/org.eclipse.wst.html.core/data/htmref_pt_BR.properties
deleted file mode 100644
index b5e3306..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref_pt_BR.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=Um link se o atributo href estiver presente e o destino de um link se o atributo name estiver presente.
-ABBRTagInfo=Uma abrevia\u00e7\u00e3o (por exemplo, WWW, HTTP)
-ACRONYMTagInfo=Um acr\u00f4nimo (por exemplo, SCUBA)
-ADDRESSTagInfo=Informa\u00e7\u00f5es sobre o endere\u00e7o do autor da p\u00e1gina
-APPLETTagInfo=Um applet Java
-AREATagInfo=Define uma \u00e1rea de mapa de imagem do lado do cliente
-BTagInfo=Exibe o texto contido como negrito
-BASETagInfo=O URI base para a p\u00e1gina a ser utilizado ao calcular caminhos relativos
-BASEFONTTagInfo=O tamanho da fonte base para a p\u00e1gina
-BDOTagInfo=Substitui a exibi\u00e7\u00e3o bidirecional padr\u00e3o. Para ser utilizado com idiomas bidirecionais.
-BIGTagInfo=Exibe o texto contido em tamanho grande
-BGSOUNDTagInfo=Define um arquivo de som para a p\u00e1gina. N\u00e3o suportado pelo W3C HTML 4.01.
-BLINKTagInfo=Exibe o texto piscando. N\u00e3o suportado pelo W3C HTML 4.01.
-BLOCKQUOTETagInfo=Uma cita\u00e7\u00e3o longa
-BODYTagInfo=O corpo do documento. Cont\u00e9m todo o conte\u00fado para a p\u00e1gina.
-BRTagInfo=For\u00e7a uma quebra de linha
-BUTTONTagInfo=Define um bot\u00e3o de comando
-CAPTIONTagInfo=Define uma legenda de tabela
-CENTERTagInfo=Exibe o texto contido centralizado. Equivalente a DIV com align=center.
-CITETagInfo=Uma cita\u00e7\u00e3o
-CODETagInfo=Um fragmento de c\u00f3digo de computador
-COLTagInfo=Uma coluna de tabela
-COLGROUPTagInfo=Um grupo de colunas da tabela
-DDTagInfo=Uma defini\u00e7\u00e3o ou descri\u00e7\u00e3o em uma lista de defini\u00e7\u00f5es ou descri\u00e7\u00f5es
-DELTagInfo=Exibe texto como exclu\u00eddo
-DFNTagInfo=Uma defini\u00e7\u00e3o
-DIRTagInfo=Uma listagem de diret\u00f3rios
-DIVTagInfo=Um cont\u00eainer gen\u00e9rico, que pode ser utilizado para definir idioma ou estilo do conte\u00fado
-DLTagInfo=Uma lista de defini\u00e7\u00f5es ou descri\u00e7\u00f5es
-DTTagInfo=Um termo ou assunto em uma lista de defini\u00e7\u00f5es ou descri\u00e7\u00f5es
-EMTagInfo=Exibe o texto enfatizado (geralmente em it\u00e1lico)
-EMBEDTagInfo=Define um plug-in incorporado. N\u00e3o suportado pelo W3C HTML 4.01.
-FIELDSETTagInfo=Define um grupo de controle de formul\u00e1rio
-FONTTagInfo=Exibe texto na fonte fornecida
-FORMTagInfo=Define um formul\u00e1rio interativo
-FRAMETagInfo=Define um quadro dentro da janela atual
-FRAMESETTagInfo=Define um conjunto de quadros que divide a janela em quadros
-H1TagInfo=Um t\u00edtulo de n\u00edvel superior
-H2TagInfo=Um t\u00edtulo de segundo n\u00edvel
-H3TagInfo=Um t\u00edtulo de terceiro n\u00edvel
-H4TagInfo=Um t\u00edtulo de quarto n\u00edvel
-H5TagInfo=Um t\u00edtulo de quinto n\u00edvel
-H6TagInfo=Um t\u00edtulo de sexto n\u00edvel
-HEADTagInfo=Cont\u00e9m metadados e informa\u00e7\u00f5es sobre o t\u00edtulo da janela para o documento
-HRTagInfo=Uma r\u00e9gua horizontal
-HTMLTagInfo=O elemento raiz do documento.
-ITagInfo=Exibe o texto em it\u00e1lico
-IFRAMETagInfo=Define uma subjanela em linha
-IMGTagInfo=Exibe a imagem referida como conte\u00fado incorporado
-INPUTTagInfo=Define um controle de formul\u00e1rio para entrada do usu\u00e1rio
-INSTagInfo=Define o texto inserido
-ISINDEXTagInfo=Define um prompt de linha \u00fanica
-KBDTagInfo=Define texto a ser inserido pelo usu\u00e1rio
-LABELTagInfo=Define o r\u00f3tulo para um campo de formul\u00e1rio
-LEGENDTagInfo=Define o r\u00f3tulo para um conjunto de campos de formul\u00e1rio
-LITagInfo=Define um item de lista dentro de uma lista
-LINKTagInfo=Um link independente de m\u00eddia
-MAPTagInfo=Define um mapa de imagem do lado do cliente
-MARQUEETagInfo=Exibe texto rolando. N\u00e3o suportado pelo W3C HTML 4.01.
-MENUTagInfo=Define uma lista de menus
-METATagInfo=Define informa\u00e7\u00f5es de metadados para o documento
-NOBRTagInfo=Substitui e impede quebras de linha. N\u00e3o suportado pelo W3C HTML 4.01.
-NOFRAMESTagInfo=Fornece informa\u00e7\u00f5es a serem exibidas se o navegador atual n\u00e3o suportar quadros
-NOSCRIPTTagInfo=Fornece informa\u00e7\u00f5es a serem exibidas se o navegador atual n\u00e3o suportar script
-OBJECTTagInfo=Define um objeto incorporado gen\u00e9rico
-OLTagInfo=Uma lista ordenada
-OPTGROUPTagInfo=Um grupo de op\u00e7\u00f5es
-OPTIONTagInfo=Uma op\u00e7\u00e3o selecion\u00e1vel
-PTagInfo=Um par\u00e1grafo
-PARAMTagInfo=O valor de uma propriedade denominada
-PRETagInfo=Texto pr\u00e9-formatado
-QTagInfo=Uma cita\u00e7\u00e3o curta em linha
-STagInfo=Exibir texto no estilo tachado
-SAMPTagInfo=Sa\u00edda, scripts, etc do programa de amostra. Exibe em fonte de espa\u00e7amento uniforme.
-SCRIPTTagInfo=Instru\u00e7\u00f5es de script
-SELECTTagInfo=Um seletor de op\u00e7\u00f5es
-SMALLTagInfo=Exibe texto em tamanho pequeno
-SPANTagInfo=Um cont\u00eainer gen\u00e9rico, que pode ser utilizado para definir idioma ou estilo do conte\u00fado
-STRIKETagInfo=Exibir texto no estilo tachado
-STRONGTagInfo=Exibe o texto muito enfatizado (geralmente em negrito)
-STYLETagInfo=Define um estilo para as informa\u00e7\u00f5es contidas
-SUBTagInfo=Exibe como subscrito
-SUPTagInfo=Exibe como sobrescrito
-TABLETagInfo=Define uma tabela
-TBODYTagInfo=O corpo da tabela
-TDTagInfo=Uma c\u00e9lula de uma tabela
-TEXTAREATagInfo=Um campo de texto de v\u00e1rias linhas
-TFOOTTagInfo=Um rodap\u00e9 de tabela
-THTagInfo=Uma c\u00e9lula de cabe\u00e7alho de tabela
-THEADTagInfo=Um cabe\u00e7alho de tabela
-TITLETagInfo=O t\u00edtulo do documento, exibido na barra de t\u00edtulo do navegador
-TRTagInfo=Uma linha da tabela
-TTTagInfo=Exibe o texto em teletipo ou em estilo de texto de espa\u00e7amento uniforme
-UTagInfo=Exibe texto como sublinhado
-ULTagInfo=Uma lista desordenada
-VARTagInfo=Uma inst\u00e2ncia de um argumento de vari\u00e1vel ou programa
-WBRTagInfo=Permite uma quebra de linha na marca\u00e7\u00e3o  <B>&lt;NOBR&gt;</B>. N\u00e3o suportado pelo W3C HTML 4.01.
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref_zh_CN.properties b/bundles/org.eclipse.wst.html.core/data/htmref_zh_CN.properties
deleted file mode 100644
index 109f327..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref_zh_CN.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=\u5982\u679c href \u5c5e\u6027\u5b58\u5728\uff0c\u5219\u662f\u4e00\u4e2a\u94fe\u63a5\uff0c\u800c\u5982\u679c\u540d\u79f0\u5c5e\u6027\u5b58\u5728\uff0c\u5219\u662f\u94fe\u63a5\u7684\u76ee\u6807
-ABBRTagInfo=\u7f29\u5199\uff08\u4f8b\u5982\uff0cWWW \u548c HTTP\uff09
-ACRONYMTagInfo=\u9996\u5b57\u6bcd\u7f29\u5199\u8bcd\uff08\u4f8b\u5982\uff0cSCUBA\uff09
-ADDRESSTagInfo=\u9875\u9762\u7684\u4f5c\u8005\u7684\u5730\u5740\u4fe1\u606f
-APPLETTagInfo=Java applet
-AREATagInfo=\u5b9a\u4e49\u5ba2\u6237\u673a\u7aef\u56fe\u50cf\u6620\u5c04\u533a\u57df
-BTagInfo=\u7528\u7c97\u4f53\u5b57\u663e\u793a\u6240\u5305\u542b\u7684\u6587\u672c
-BASETagInfo=\u9875\u9762\u7684\u57fa\u51c6 URI\uff0c\u5728\u8ba1\u7b97\u76f8\u5bf9\u8def\u5f84\u65f6\u4f7f\u7528
-BASEFONTTagInfo=\u9875\u9762\u7684\u57fa\u672c\u5b57\u4f53\u5927\u5c0f
-BDOTagInfo=\u8986\u76d6\u7f3a\u7701\u53cc\u5411\u663e\u793a\u3002\u8981\u4e0e\u53cc\u5411\u8bed\u8a00\u914d\u5408\u4f7f\u7528\u3002
-BIGTagInfo=\u7528\u5927\u5b57\u4f53\u663e\u793a\u6240\u5305\u542b\u7684\u6587\u672c
-BGSOUNDTagInfo=\u4e3a\u9875\u9762\u5b9a\u4e49\u58f0\u97f3\u6587\u4ef6\u3002W3C HTML 4.01 \u4e0d\u652f\u6301\u5b83\u3002
-BLINKTagInfo=\u4ee5\u95ea\u70c1\u65b9\u5f0f\u663e\u793a\u6587\u672c\u3002W3C HTML 4.01 \u4e0d\u652f\u6301\u5b83\u3002
-BLOCKQUOTETagInfo=\u957f\u5f15\u7528
-BODYTagInfo=\u6587\u6863\u4e3b\u4f53\u3002\u5305\u542b\u9875\u9762\u7684\u6240\u6709\u5185\u5bb9\u3002
-BRTagInfo=\u5f3a\u5236\u6362\u884c
-BUTTONTagInfo=\u5b9a\u4e49\u6309\u94ae
-CAPTIONTagInfo=\u5b9a\u4e49\u8868\u6807\u9898
-CENTERTagInfo=\u5c45\u4e2d\u663e\u793a\u6240\u5305\u542b\u7684\u6587\u672c\u3002\u7b49\u4ef7\u4e8e\u8bbe\u7f6e\u4e86 align=center \u7684 DIV\u3002
-CITETagInfo=\u5f15\u7528
-CODETagInfo=\u8ba1\u7b97\u673a\u4ee3\u7801\u6bb5
-COLTagInfo=\u8868\u5217
-COLGROUPTagInfo=\u4e00\u7ec4\u8868\u5217
-DDTagInfo=\u5b9a\u4e49\u6216\u63cf\u8ff0\u5217\u8868\u4e2d\u7684\u5b9a\u4e49\u6216\u63cf\u8ff0
-DELTagInfo=\u5c06\u6587\u672c\u663e\u793a\u4e3a\u5df2\u5220\u9664
-DFNTagInfo=\u5b9a\u4e49
-DIRTagInfo=\u76ee\u5f55\u5217\u8868
-DIVTagInfo=\u4e00\u4e2a\u4e00\u822c\u5bb9\u5668\uff0c\u53ef\u7528\u4e8e\u4e3a\u5185\u5bb9\u5b9a\u4e49\u8bed\u8a00\u6216\u6837\u5f0f
-DLTagInfo=\u5b9a\u4e49\u6216\u63cf\u8ff0\u5217\u8868
-DTTagInfo=\u5b9a\u4e49\u6216\u63cf\u8ff0\u5217\u8868\u4e2d\u7684\u672f\u8bed\u6216\u4e3b\u9898
-EMTagInfo=\u4ee5\u5f3a\u8c03\u65b9\u5f0f\uff08\u901a\u5e38\u91c7\u7528\u659c\u4f53\uff09\u6765\u663e\u793a\u6587\u672c
-EMBEDTagInfo=\u5b9a\u4e49\u5d4c\u5165\u5f0f\u63d2\u4ef6\u3002W3C HTML 4.01 \u4e0d\u652f\u6301\u5b83\u3002
-FIELDSETTagInfo=\u5b9a\u4e49\u8868\u5355\u63a7\u4ef6\u7ec4
-FONTTagInfo=\u6309\u7ed9\u5b9a\u7684\u5b57\u4f53\u6765\u663e\u793a\u6587\u672c
-FORMTagInfo=\u5b9a\u4e49\u4ea4\u4e92\u5f0f\u8868\u5355
-FRAMETagInfo=\u5728\u5f53\u524d\u7a97\u53e3\u4e2d\u5b9a\u4e49\u6846\u67b6
-FRAMESETTagInfo=\u5b9a\u4e49\u5c06\u7a97\u53e3\u5206\u6210\u591a\u4e2a\u6846\u67b6\u7684\u6846\u67b6\u96c6
-H1TagInfo=\u9876\u7ea7\u6807\u9898
-H2TagInfo=\u7b2c\u4e8c\u7ea7\u6807\u9898
-H3TagInfo=\u7b2c\u4e09\u7ea7\u6807\u9898
-H4TagInfo=\u7b2c\u56db\u7ea7\u6807\u9898
-H5TagInfo=\u7b2c\u4e94\u7ea7\u6807\u9898
-H6TagInfo=\u7b2c\u516d\u7ea7\u6807\u9898
-HEADTagInfo=\u5305\u542b\u6587\u6863\u7684\u5143\u6570\u636e\u548c\u7a97\u53e3\u6807\u9898\u4fe1\u606f
-HRTagInfo=\u6c34\u5e73\u7ebf
-HTMLTagInfo=\u6587\u6863\u7684\u6839\u5143\u7d20\u3002
-ITagInfo=\u7528\u659c\u4f53\u663e\u793a\u6587\u672c
-IFRAMETagInfo=\u5b9a\u4e49\u76f4\u63a5\u63d2\u5165\u7684\u5b50\u7a97\u53e3
-IMGTagInfo=\u5c06\u5f15\u7528\u7684\u56fe\u50cf\u4f5c\u4e3a\u5d4c\u5165\u5185\u5bb9\u6765\u663e\u793a
-INPUTTagInfo=\u4e3a\u7528\u6237\u8f93\u5165\u5b9a\u4e49\u8868\u5355\u63a7\u4ef6
-INSTagInfo=\u5b9a\u4e49\u63d2\u5165\u7684\u6587\u672c
-ISINDEXTagInfo=\u5b9a\u4e49\u5355\u884c\u63d0\u793a\u7b26
-KBDTagInfo=\u5b9a\u4e49\u8981\u7531\u7528\u6237\u8f93\u5165\u7684\u6587\u672c
-LABELTagInfo=\u4e3a\u8868\u5355\u5b57\u6bb5\u5b9a\u4e49\u6807\u53f7
-LEGENDTagInfo=\u4e3a\u4e00\u7ec4\u8868\u5355\u5b57\u6bb5\u5b9a\u4e49\u6807\u53f7
-LITagInfo=\u5728\u5217\u8868\u4e2d\u5b9a\u4e49\u5217\u8868\u9879
-LINKTagInfo=\u4e0e\u4ecb\u8d28\u65e0\u5173\u7684\u94fe\u63a5
-MAPTagInfo=\u5b9a\u4e49\u5ba2\u6237\u673a\u7aef\u56fe\u50cf\u6620\u5c04
-MARQUEETagInfo=\u6eda\u52a8\u663e\u793a\u6587\u672c\u3002W3C HTML 4.01 \u4e0d\u652f\u6301\u5b83\u3002
-MENUTagInfo=\u5b9a\u4e49\u83dc\u5355\u5217\u8868
-METATagInfo=\u4e3a\u6587\u6863\u5b9a\u4e49\u5143\u6570\u636e\u4fe1\u606f
-NOBRTagInfo=\u8986\u76d6\u5e76\u9632\u6b62\u6362\u884c\u3002W3C HTML 4.01 \u4e0d\u652f\u6301\u5b83\u3002
-NOFRAMESTagInfo=\u82e5\u5f53\u524d\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u6846\u67b6\uff0c\u63d0\u4f9b\u663e\u793a\u7684\u4fe1\u606f
-NOSCRIPTTagInfo=\u82e5\u5f53\u524d\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u811a\u672c\u7f16\u5236\uff0c\u63d0\u4f9b\u663e\u793a\u7684\u4fe1\u606f
-OBJECTTagInfo=\u5b9a\u4e49\u4e00\u822c\u5d4c\u5165\u5f0f\u5bf9\u8c61
-OLTagInfo=\u6709\u5e8f\u5217\u8868
-OPTGROUPTagInfo=\u9009\u9879\u7ec4
-OPTIONTagInfo=\u53ef\u9009\u62e9\u7684\u9009\u9879
-PTagInfo=\u6bb5\u843d
-PARAMTagInfo=\u5df2\u547d\u540d\u7684\u5c5e\u6027\u503c
-PRETagInfo=\u9884\u5148\u683c\u5f0f\u5316\u7684\u6587\u672c
-QTagInfo=\u77ed\u7684\u76f4\u63a5\u63d2\u5165\u7684\u5f15\u7528
-STagInfo=\u7528\u5220\u9664\u7ebf\u6837\u5f0f\u663e\u793a\u6587\u672c
-SAMPTagInfo=\u6837\u672c\u7a0b\u5e8f\u8f93\u51fa\u548c\u811a\u672c\u7b49\u7b49\u3002\u7528\u7b49\u5bbd\u5b57\u4f53\u663e\u793a\u3002
-SCRIPTTagInfo=\u811a\u672c\u8bed\u53e5
-SELECTTagInfo=\u9009\u9879\u9009\u62e9\u5668
-SMALLTagInfo=\u7528\u5c0f\u5b57\u4f53\u663e\u793a\u6587\u672c
-SPANTagInfo=\u4e00\u4e2a\u4e00\u822c\u5bb9\u5668\uff0c\u53ef\u7528\u4e8e\u4e3a\u5185\u5bb9\u5b9a\u4e49\u8bed\u8a00\u6216\u6837\u5f0f
-STRIKETagInfo=\u7528\u5220\u9664\u7ebf\u6837\u5f0f\u663e\u793a\u6587\u672c
-STRONGTagInfo=\u4ee5\u7279\u522b\u5f3a\u8c03\u65b9\u5f0f\uff08\u901a\u5e38\u91c7\u7528\u7c97\u4f53\u5b57\uff09\u6765\u663e\u793a\u6587\u672c
-STYLETagInfo=\u4e3a\u5305\u542b\u7684\u4fe1\u606f\u5b9a\u4e49\u6837\u5f0f
-SUBTagInfo=\u663e\u793a\u4e3a\u4e0b\u6807
-SUPTagInfo=\u663e\u793a\u4e3a\u4e0a\u6807
-TABLETagInfo=\u5b9a\u4e49\u8868
-TBODYTagInfo=\u8868\u7684\u4e3b\u4f53
-TDTagInfo=\u8868\u4e2d\u7684\u5355\u5143
-TEXTAREATagInfo=\u591a\u884c\u6587\u672c\u5b57\u6bb5
-TFOOTTagInfo=\u8868\u9875\u811a
-THTagInfo=\u8868\u9875\u7709\u5355\u5143
-THEADTagInfo=\u8868\u9875\u7709
-TITLETagInfo=\u663e\u793a\u5728\u6d4f\u89c8\u5668\u7684\u6807\u9898\u680f\u4e2d\u7684\u6587\u6863\u6807\u9898
-TRTagInfo=\u8868\u884c
-TTTagInfo=\u4ee5\u7535\u4f20\u6253\u5b57\u673a\u6216\u7b49\u5bbd\u6587\u672c\u6837\u5f0f\u6765\u663e\u793a\u6587\u672c
-UTagInfo=\u4ee5\u52a0\u4e0b\u5212\u7ebf\u7684\u65b9\u5f0f\u6765\u663e\u793a\u6587\u672c
-ULTagInfo=\u65e0\u5e8f\u5217\u8868
-VARTagInfo=\u53d8\u91cf\u6216\u7a0b\u5e8f\u81ea\u53d8\u91cf\u7684\u5b9e\u4f8b
-WBRTagInfo=<B>&lt;NOBR&gt;</B> \u6807\u8bb0\u4e2d\u5141\u8bb8\u6362\u884c\u3002W3C HTML 4.01 \u4e0d\u652f\u6301\u5b83\u3002
diff --git a/bundles/org.eclipse.wst.html.core/data/htmref_zh_TW.properties b/bundles/org.eclipse.wst.html.core/data/htmref_zh_TW.properties
deleted file mode 100644
index 2d445d9..0000000
--- a/bundles/org.eclipse.wst.html.core/data/htmref_zh_TW.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-
-ATagInfo=\u5982\u679c\u51fa\u73fe href \u5c6c\u6027\u7684\u8a71\uff0c\u5247\u70ba\u4e00\u500b\u93c8\u7d50\uff1b\u5982\u679c\u51fa\u73fe name \u5c6c\u6027\u7684\u8a71\uff0c\u5247\u70ba\u4e00\u500b\u93c8\u7d50\u76ee\u6a19
-ABBRTagInfo=\u7e2e\u5beb\uff08\u5982 WWW\u3001HTTP\uff09
-ACRONYMTagInfo=\u5b57\u9996\u8a9e\uff08\u5982 SCUBA\uff09
-ADDRESSTagInfo=\u9801\u9762\u4f5c\u8005\u7684\u4f4d\u5740\u8cc7\u8a0a
-APPLETTagInfo=Java Applet
-AREATagInfo=\u5b9a\u7fa9\u7528\u6236\u7aef\u5f71\u50cf\u93c8\u7d50\u5716\u5340
-BTagInfo=\u7528\u7c97\u9ad4\u5b57\u986f\u793a\u5167\u542b\u7684\u6587\u5b57
-BASETagInfo=\u8a08\u7b97\u76f8\u5c0d\u8def\u5f91\u6642\u8981\u7528\u7684\u9801\u9762\u57fa\u790e URI
-BASEFONTTagInfo=\u9801\u9762\u57fa\u790e\u5b57\u578b\u5927\u5c0f
-BDOTagInfo=\u7f6e\u63db\u9810\u8a2d\u96d9\u5411\u986f\u793a\u3002\u4f9b\u96d9\u5411\u8a9e\u8a00\u4f7f\u7528\u3002
-BIGTagInfo=\u7528\u5927\u5b57\u578b\u986f\u793a\u5167\u542b\u7684\u6587\u5b57
-BGSOUNDTagInfo=\u5b9a\u7fa9\u9801\u9762\u7684\u97f3\u6548\u6a94\u3002\u4e0d\u53d7 W3C HTML 4.01 \u652f\u63f4\u3002
-BLINKTagInfo=\u7528\u9583\u720d\u65b9\u5f0f\u986f\u793a\u6587\u5b57\u3002\u4e0d\u53d7 W3C HTML 4.01 \u652f\u63f4\u3002
-BLOCKQUOTETagInfo=\u4e0d\u9577\u7684\u5f15\u6587
-BODYTagInfo=\u6587\u4ef6\u4e3b\u9ad4\u3002\u542b\u6709\u9801\u9762\u7684\u6240\u6709\u5167\u5bb9\u3002
-BRTagInfo=\u5f37\u5236\u63db\u884c
-BUTTONTagInfo=\u5b9a\u7fa9\u6309\u9215
-CAPTIONTagInfo=\u5b9a\u7fa9\u8868\u683c\u6a19\u984c
-CENTERTagInfo=\u7f6e\u4e2d\u5c0d\u9f4a\u986f\u793a\u5167\u542b\u7684\u6587\u5b57\u3002\u76f8\u7576\u65bc align=center \u7684 DIV\u3002
-CITETagInfo=\u5f15\u7528
-CODETagInfo=\u8a08\u7b97\u6a5f\u78bc\u7247\u6bb5
-COLTagInfo=\u8868\u683c\u76f4\u6b04
-COLGROUPTagInfo=\u8868\u683c\u76f4\u6b04\u7fa4\u7d44
-DDTagInfo=\u5b9a\u7fa9\u6216\u8aaa\u660e\u6e05\u55ae\u4e2d\u7684\u5b9a\u7fa9\u6216\u8aaa\u660e
-DELTagInfo=\u5c07\u6587\u5b57\u986f\u793a\u70ba\u5df2\u522a\u9664
-DFNTagInfo=\u5b9a\u7fa9
-DIRTagInfo=\u76ee\u9304\u6e05\u55ae
-DIVTagInfo=\u53ef\u7528\u4f86\u5b9a\u7fa9\u5167\u5bb9\u8a9e\u8a00\u6216\u6a23\u5f0f\u7684\u901a\u7528\u5132\u5b58\u5668\u3002
-DLTagInfo=\u5b9a\u7fa9\u6216\u8aaa\u660e\u6e05\u55ae
-DTTagInfo=\u5b9a\u7fa9\u6216\u8aaa\u660e\u6e05\u55ae\u4e2d\u7684\u8a5e\u5f59\u6216\u4e3b\u984c
-EMTagInfo=\u5f37\u8abf\u986f\u793a\u6587\u5b57\uff08\u901a\u5e38\u662f\u659c\u9ad4\uff09
-EMBEDTagInfo=\u5b9a\u7fa9\u5167\u5d4c\u5916\u639b\u7a0b\u5f0f\u3002\u4e0d\u53d7 W3C HTML 4.01 \u652f\u63f4\u3002
-FIELDSETTagInfo=\u5b9a\u7fa9\u8868\u55ae\u63a7\u5236\u9805\u7fa4\u7d44
-FONTTagInfo=\u4ee5\u7d66\u5b9a\u7684\u5b57\u578b\u4f86\u986f\u793a\u6587\u5b57
-FORMTagInfo=\u5b9a\u7fa9\u4e92\u52d5\u5f0f\u8868\u55ae
-FRAMETagInfo=\u5b9a\u7fa9\u73fe\u884c\u8996\u7a97\u5167\u7684\u9801\u6846
-FRAMESETTagInfo=\u5b9a\u7fa9\u5206\u5272\u8996\u7a97\u7684\u9801\u6846\u7d44
-H1TagInfo=\u6700\u4e0a\u5c64\u6a19\u984c
-H2TagInfo=\u7b2c\u4e8c\u5c64\u6a19\u984c
-H3TagInfo=\u7b2c\u4e09\u5c64\u6a19\u984c
-H4TagInfo=\u7b2c\u56db\u5c64\u6a19\u984c
-H5TagInfo=\u7b2c\u4e94\u5c64\u6a19\u984c
-H6TagInfo=\u7b2c\u516d\u5c64\u6a19\u984c
-HEADTagInfo=\u542b\u6709\u6587\u4ef6\u7684 Meta \u8cc7\u6599\u548c\u8996\u7a97\u6a19\u984c\u8cc7\u8a0a
-HRTagInfo=\u6c34\u5e73\u5c3a\u898f
-HTMLTagInfo=\u6587\u4ef6\u7684\u6839\u5143\u7d20\u3002
-ITagInfo=\u7528\u659c\u9ad4\u986f\u793a\u6587\u5b57
-IFRAMETagInfo=\u5b9a\u7fa9\u5217\u5165\u5b50\u8996\u7a97
-IMGTagInfo=\u5c07\u53c3\u7167\u7684\u5f71\u50cf\u986f\u793a\u6210\u5167\u5d4c\u5167\u5bb9
-INPUTTagInfo=\u5b9a\u7fa9\u4f7f\u7528\u8005\u8f38\u5165\u7684\u8868\u55ae\u63a7\u5236
-INSTagInfo=\u5b9a\u7fa9\u63d2\u5165\u7684\u6587\u5b57
-ISINDEXTagInfo=\u5b9a\u7fa9\u55ae\u884c\u63d0\u793a
-KBDTagInfo=\u5b9a\u7fa9\u4f7f\u7528\u8005\u8981\u8f38\u5165\u7684\u6587\u5b57
-LABELTagInfo=\u5b9a\u7fa9\u8868\u55ae\u6b04\u4f4d\u7684\u6a19\u7c64
-LEGENDTagInfo=\u5b9a\u7fa9\u4e00\u7d44\u8868\u55ae\u6b04\u4f4d\u7684\u6a19\u7c64
-LITagInfo=\u5b9a\u7fa9\u6e05\u55ae\u5167\u7684\u6e05\u55ae\u9805\u76ee
-LINKTagInfo=\u5a92\u9ad4\u7368\u7acb\u93c8\u7d50
-MAPTagInfo=\u5b9a\u7fa9\u7528\u6236\u7aef\u5f71\u50cf\u93c8\u7d50\u5716
-MARQUEETagInfo=\u7528\u6372\u52d5\u65b9\u5f0f\u986f\u793a\u6587\u5b57\u3002\u4e0d\u53d7 W3C HTML 4.01 \u652f\u63f4\u3002
-MENUTagInfo=\u5b9a\u7fa9\u529f\u80fd\u8868\u6e05\u55ae
-METATagInfo=\u5b9a\u7fa9\u6587\u4ef6\u7684 Meta \u8cc7\u6599\u8cc7\u8a0a
-NOBRTagInfo=\u7f6e\u63db\u548c\u9632\u6b62\u63db\u884c\u3002\u4e0d\u53d7 W3C HTML 4.01 \u652f\u63f4\u3002
-NOFRAMESTagInfo=\u63d0\u4f9b\u73fe\u884c\u700f\u89bd\u5668\u4e0d\u652f\u63f4\u9801\u6846\u6642\uff0c\u6240\u986f\u793a\u7684\u8cc7\u8a0a
-NOSCRIPTTagInfo=\u63d0\u4f9b\u73fe\u884c\u700f\u89bd\u5668\u4e0d\u652f\u63f4 Scripting \u6642\uff0c\u6240\u986f\u793a\u7684\u8cc7\u8a0a
-OBJECTTagInfo=\u5b9a\u7fa9\u901a\u7528\u5167\u5d4c\u7269\u4ef6
-OLTagInfo=\u6392\u5e8f\u6e05\u55ae
-OPTGROUPTagInfo=\u9078\u9805\u7fa4\u7d44
-OPTIONTagInfo=\u53ef\u9078\u53d6\u7684\u9078\u9805
-PTagInfo=\u6bb5\u843d
-PARAMTagInfo=\u5177\u540d\u5167\u5bb9\u503c
-PRETagInfo=\u9810\u5148\u683c\u5f0f\u5316\u7684\u6587\u5b57
-QTagInfo=\u77ed\u7684\u5217\u5165\u5f15\u6587
-STagInfo=\u7528 strike-through \u6a23\u5f0f\u986f\u793a\u6587\u5b57
-SAMPTagInfo=\u7bc4\u4f8b\u7a0b\u5f0f\u8f38\u51fa\u3001Script \u7b49\u3002\u7528\u55ae\u8ddd\u5b57\u578b\u986f\u793a\u3002
-SCRIPTTagInfo=Script \u9673\u8ff0\u5f0f
-SELECTTagInfo=\u9078\u9805\u9078\u53d6\u5143
-SMALLTagInfo=\u7528\u5c0f\u5b57\u578b\u986f\u793a\u6587\u5b57
-SPANTagInfo=\u53ef\u7528\u4f86\u5b9a\u7fa9\u5167\u5bb9\u8a9e\u8a00\u6216\u6a23\u5f0f\u7684\u901a\u7528\u5132\u5b58\u5668\u3002
-STRIKETagInfo=\u7528 strike-through \u6a23\u5f0f\u986f\u793a\u6587\u5b57
-STRONGTagInfo=\u7279\u5225\u5f37\u8abf\u986f\u793a\u6587\u5b57\uff08\u901a\u5e38\u662f\u7c97\u9ad4\uff09
-STYLETagInfo=\u5b9a\u7fa9\u5167\u542b\u8cc7\u8a0a\u7684\u6a23\u5f0f
-SUBTagInfo=\u986f\u793a\u6210\u4e0b\u6a19
-SUPTagInfo=\u986f\u793a\u6210\u4e0a\u6a19
-TABLETagInfo=\u5b9a\u7fa9\u8868\u683c
-TBODYTagInfo=\u8868\u683c\u4e3b\u9ad4
-TDTagInfo=\u8868\u683c\u5167\u7684\u8cc7\u6599\u683c
-TEXTAREATagInfo=\u591a\u884c\u6587\u5b57\u6b04\u4f4d
-TFOOTTagInfo=\u8868\u683c\u6a19\u5e95
-THTagInfo=\u8868\u683c\u6a19\u982d\u8cc7\u6599\u683c
-THEADTagInfo=\u8868\u683c\u6a19\u982d
-TITLETagInfo=\u986f\u793a\u5728\u700f\u89bd\u5668\u6a19\u984c\u5217\u7684\u6587\u4ef6\u6a19\u984c
-TRTagInfo=\u8868\u683c\u5217
-TTTagInfo=\u7528\u6253\u5b57\u6a5f\u5b57\u9ad4\u6216\u55ae\u8ddd\u6587\u5b57\u6a23\u5f0f\u4f86\u986f\u793a\u6587\u5b57
-UTagInfo=\u7528\u9644\u52a0\u5e95\u7dda\u4f86\u986f\u793a\u6587\u5b57
-ULTagInfo=\u975e\u6392\u5e8f\u6e05\u55ae
-VARTagInfo=\u8b8a\u6578\u6216\u7a0b\u5f0f\u5f15\u6578\u7684\u5be6\u4f8b
-WBRTagInfo=\u5141\u8a31\u5728 <B>&lt;NOBR&gt;</B> \u6a19\u793a\u5167\u63db\u884c\u3002\u4e0d\u53d7 W3C HTML 4.01 \u652f\u63f4\u3002
diff --git a/bundles/org.eclipse.wst.html.core/plugin.properties b/bundles/org.eclipse.wst.html.core/plugin.properties
deleted file mode 100644
index 1d175e1..0000000
--- a/bundles/org.eclipse.wst.html.core/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-providerName=Eclipse.org
-pluginName=Structured Source HTML Model
-nlFeatureName=Structured Source HTML Model NL Support
-Structured_HTML_Document_Factory_Extension.name=Structured HTML Document Factory Extension
-HTML_Content_Type_Extension_Element.name=HTML Content Type
diff --git a/bundles/org.eclipse.wst.html.core/plugin.xml b/bundles/org.eclipse.wst.html.core/plugin.xml
deleted file mode 100644
index 28e811c..0000000
--- a/bundles/org.eclipse.wst.html.core/plugin.xml
+++ /dev/null
@@ -1,216 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.html.core"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.wst.html.core.internal.HTMLCorePlugin">
-
-   <runtime>
-      <library name="htmlmodel.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.wst.css.core"/>
-      <import plugin="org.eclipse.wst.sse.ui"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.wst.common.contentmodel"/>
-      <import plugin="org.eclipse.wst.xml.core"/>
-      <import plugin="org.eclipse.wst.xml.uriresolver"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.wst.common.encoding"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.wst.sse.core.modelHandler">
-      <modelHandler
-            default="no"
-            class="org.eclipse.wst.html.core.modelhandler.ModelHandlerForHTML"
-            associatedContentTypeId="org.eclipse.wst.html.core.htmlsource"
-            id="org.eclipse.wst.html.core.modelhandler">
-      </modelHandler>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.core.embeddedTypeHandler">
-      <embeddedTypeHandler
-            class="org.eclipse.wst.html.core.modelhandler.EmbeddedHTML">
-      </embeddedTypeHandler>
-   </extension>
-   <extension
-         id="org.eclipse.wst.sse.html.core.builderdelegate.todo"
-         point="org.eclipse.wst.sse.core.builderdelegate">
-      <participant
-            class="org.eclipse.wst.xml.core.builder.delegates.XMLTaskTagSeeker"
-            contentType="org.eclipse.wst.html.core.htmlsource">
-      </participant>
-   </extension>
-   <extension point="org.eclipse.core.filebuffers.documentCreation"
-         id="org.eclipse.wst.html.core.documentfactories"
-         name="%Structured_HTML_Document_Factory_Extension.name">
-      <factory
-            contentTypeId="org.eclipse.wst.html.core.htmlsource"
-            class="org.eclipse.wst.sse.core.filebuffers.BasicStructuredDocumentFactory"/>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.core.commentElementHandler">
-      <handler-custom
-            commenttype="xml"
-            class="org.eclipse.wst.html.core.commentelement.handlers.CommentElementHandlerForSSI">
-         <startwith
-               prefix="#">
-         </startwith>
-      </handler-custom>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            type="text"
-            extension="html">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="htm">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="xhtml">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="htpl">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="wml">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="shtml">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="shtm">
-      </fileTypes>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.core.formatProcessors">
-      <processor
-            class="org.eclipse.wst.html.core.format.HTMLFormatProcessorImpl"
-            contentTypeId="org.eclipse.wst.html.core.htmlsource">
-      </processor>
-   </extension>
-<!-- Extension point for taghelp documentation -->
-   <extension
-         point="org.eclipse.wst.common.contentmodel.annotationFiles">
-      <annotationFile
-            location="data/htmref.xml"
-            publicId="-//W3C//DTD XHTML 1.0 Strict//EN">
-      </annotationFile>
-      <annotationFile
-            location="data/htmref.xml"
-            publicId="-//W3C//DTD XHTML 1.0 Transitional//EN">
-      </annotationFile>
-      <annotationFile
-            location="data/htmref.xml"
-            publicId="-//W3C//DTD XHTML 1.0 Frameset//EN">
-      </annotationFile>
-      <annotationFile
-            location="data/htmref.xml"
-            publicId="-//W3C//DTD XHTML Basic 1.0//EN">
-      </annotationFile>
-      <annotationFile
-            location="data/htmref.xml"
-            publicId="-//W3C//DTD XHTML 1.1//EN">
-      </annotationFile>
-      <annotationFile
-            location="data/htmref.xml"
-            publicId="-//WAPFORUM//DTD XHTML Mobile 1.0//EN">
-      </annotationFile>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.contentTypes">
-         <content-type
-               file-extensions="html,htm,xhtml,htpl,wml,shtml,shtm"
-               priority="high"
-               name="%HTML_Content_Type_Extension_Element.name"
-               id="htmlsource"
-               base-type="org.eclipse.core.runtime.text">
-			<!-- note: no default-charset for HTML, should use 'platform' -->
-			<describer class="org.eclipse.wst.html.core.internal.contenttype.ContentDescriberForHTML"/>
-		</content-type>
-   </extension>
-
-
-   <extension
-         point="org.eclipse.wst.sse.core.documentTypes">
-      <documentType
-            elementName="html"
-            displayName="XHTML 1.0 Strict"
-            namespaceURI="http://www.w3.org/1999/xhtml"
-            isXHTML="true"
-            hasFrameset="false"
-            publicID="-//W3C//DTD XHTML 1.0 Strict//EN"
-            systemID="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-      </documentType>
-      <documentType
-            elementName="html"
-            displayName="XHTML 1.0 Transitional"
-            namespaceURI="http://www.w3.org/1999/xhtml"
-            isXHTML="true"
-            hasFrameset="false"
-            publicID="-//W3C//DTD XHTML 1.0 Transitional//EN"
-            defaultXHTML="true"
-            systemID="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-      </documentType>
-      <documentType
-            elementName="html"
-            displayName="XHTML 1.0 Frameset"
-            namespaceURI="http://www.w3.org/1999/xhtml"
-            isXHTML="true"
-            hasFrameset="true"
-            publicID="-//W3C//DTD XHTML 1.0 Frameset//EN"
-            systemID="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
-      </documentType>
-      <documentType
-            elementName="html"
-            displayName="XHTML Basic 1.0"
-            namespaceURI="http://www.w3.org/1999/xhtml"
-            isXHTML="true"
-            hasFrameset="false"
-            publicID="-//W3C//DTD XHTML Basic 1.0//EN"
-            systemID="http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
-      </documentType>
-      <documentType
-            elementName="html"
-            displayName="XHTML 1.1"
-            namespaceURI="http://www.w3.org/1999/xhtml"
-            isXHTML="true"
-            hasFrameset="false"
-            publicID="-//W3C//DTD XHTML 1.1//EN"
-            systemID="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-      </documentType>
-      <documentType
-            elementName="html"
-            displayName="XHTML MP 1.0"
-            namespaceURI="http://www.w3.org/1999/xhtml"
-            isXHTML="true"
-            hasFrameset="false"
-            publicID="-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
-            systemID="http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
-      </documentType>
-      <documentType
-            elementName="wml"
-            displayName="WML 1.3"
-            namespaceURI=""
-            isWML="true"
-            hasFrameset="false"
-            publicID="-//WAPFORUM//DTD WML 1.3//EN"
-            defaultWML="true"
-            systemID="http://www.wapforum.org/DTD/wml13.dtd">
-      </documentType>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTML40Namespace.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTML40Namespace.java
deleted file mode 100644
index 9f5485b..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTML40Namespace.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLCMProperties.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLCMProperties.java
deleted file mode 100644
index 16d4719..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLCMProperties.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core;
-
-
-/**
- * HTMLCMProperties defines all property names and pre-defined values in HTML CM.
- * All of those properties can be retreived from element declarations of HTML CM
- * via CMNode#getProperty(String propName).
- */
-public interface HTMLCMProperties {
-
-	/**
-	 * "shouldIgnoreCase" returns java.lang.Boolean object.
-	 */
-	public static final String SHOULD_IGNORE_CASE = "shouldIgnoreCase";//$NON-NLS-1$
-	/**
-	 * "shouldKeepSpace" returns java.lang.Boolean object.
-	 */
-	public static final String SHOULD_KEEP_SPACE = "shouldKeepSpace";//$NON-NLS-1$
-	/**
-	 * "indentChildSource" returns java.lang.Boolean object.
-	 */
-	public static final String SHOULD_INDENT_CHILD_SOURCE = "shouldIndentChildSource";//$NON-NLS-1$
-	/**
-	 * "terminators" returns java.util.Iterator (an array of String objects).
-	 */
-	public static final String TERMINATORS = "terminators";//$NON-NLS-1$
-	/**
-	 * "contentHint" returns CMElementDeclaration instnace.
-	 */
-	public static final String CONTENT_HINT = "contentHint";//$NON-NLS-1$
-	/**
-	 * "prohibitedAncestors" returns org.eclipse.wst.common.contentmodel.CMNamedNodeMap.
-	 */
-	public static final String PROHIBITED_ANCESTORS = "prohibitedAncestors";//$NON-NLS-1$
-	/**
-	 * "isJSP" returns java.lang.Boolean object.
-	 */
-	public static final String IS_JSP = "isJSP";//$NON-NLS-1$
-	/**
-	 * "isXHTML" returns java.lang.Boolean object.
-	 */
-	public static final String IS_XHTML = "isXHTML";//$NON-NLS-1$
-	/**
-	 * "isSSI" returns java.lang.Boolean object.
-	 */
-	public static final String IS_SSI = "isSSI";//$NON-NLS-1$
-	/**
-	 * "lineBreakHint" returns String (one of pre-defined values in Values).
-	 */
-	public static final String LINE_BREAK_HINT = "lineBreakHint";//$NON-NLS-1$
-	/**
-	 * "layoutType" returns String (one of pre-defined values in Values).
-	 */
-	public static final String LAYOUT_TYPE = "layoutType";//$NON-NLS-1$
-	/**
-	 * "tagInfo" returns String (documentation for this element).
-	 */
-	public static final String TAGINFO = "tagInfo";//$NON-NLS-1$
-	/**
-	 * "omitType" returns String (one of pre-defined values in Values).
-	 */
-	public static final String OMIT_TYPE = "omitType";//$NON-NLS-1$
-	/**
-	 * "inclusion" returns org.eclipse.wst.common.contentmodel.CMContent.
-	 */
-	public static final String INCLUSION = "inclusion";//$NON-NLS-1$
-	/**
-	 * "isScriptable" returns java.lang.Boolean object.
-	 */
-	public static final String IS_SCRIPTABLE = "isScriptable"; //$NON-NLS-1$
-
-	public static interface Values {
-		/*
-		 * for LINE_BREAK_HINT = "lineBreakHint".
-		 */
-		public static final String BREAK_NONE = "breakNone";//$NON-NLS-1$
-		public static final String BREAK_AFTER_START = "breakAfterStart";//$NON-NLS-1$
-		public static final String BREAK_BEFORE_START_AND_AFTER_END = "breakBeforeStartAndAfterEnd";//$NON-NLS-1$
-		/*
-		 * for LAYOUT_TYPE = "layoutType"
-		 */
-		public static final String LAYOUT_BLOCK = "layoutBlock";//$NON-NLS-1$
-		/** BR */
-		public static final String LAYOUT_BREAK = "layoutBreak";//$NON-NLS-1$
-		/** Hidden object; like HTML or HEAD */
-		public static final String LAYOUT_HIDDEN = "layoutHidden";//$NON-NLS-1$
-		public static final String LAYOUT_NONE = "layoutNone";//$NON-NLS-1$
-		/** No wrap object; like IMG, APPLET,... */
-		public static final String LAYOUT_OBJECT = "layoutObject";//$NON-NLS-1$
-		public static final String LAYOUT_WRAP = "layoutWrap";//$NON-NLS-1$
-		/*
-		 * for OMIT_TYPE = "omitType"
-		 */
-		/** Not ommisible. */
-		public static final String OMIT_NONE = "omitNone";//$NON-NLS-1$
-		/** Both tags are ommisible. */
-		public static final String OMIT_BOTH = "omitBoth";//$NON-NLS-1$
-		/** The end tag is ommisible. */
-		public static final String OMIT_END = "omitEnd";//$NON-NLS-1$
-		/** The end tag is ommitted when created. */
-		public static final String OMIT_END_DEFAULT = "omitEndDefault";//$NON-NLS-1$
-		/** The end tag must be omitted. */
-		public static final String OMIT_END_MUST = "omitEndMust";//$NON-NLS-1$
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLCorePlugin.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLCorePlugin.java
deleted file mode 100644
index f8b263f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLCorePlugin.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core;
-
-
-/**
- * @deprecated use internal HTMLCorePlugin class instead if possible
- */
-public class HTMLCorePlugin extends org.eclipse.wst.html.core.internal.HTMLCorePlugin {
-	// see org.eclipse.wst.html.core.internal.HTMLCorePlugin
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLFilesPreferenceNames.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLFilesPreferenceNames.java
deleted file mode 100644
index 6072e0f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLFilesPreferenceNames.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-
-/**
- * Additional preferences for new HTML Files generation
- */
-public interface HTMLFilesPreferenceNames extends CommonModelPreferenceNames {
-
-	static final String DEFAULT_SUFFIX = "defaultSuffix";//$NON-NLS-1$
-	static final String HTML_SUFFIX = "html";//$NON-NLS-1$
-	static final String GENERATE_DOCUMENT_TYPE = "generateDocumentType";//$NON-NLS-1$
-	static final String GENERATE_GENERATOR = "generateGenerator";//$NON-NLS-1$
-	// added this as a potential why to handle changing
-	// product names "up" the stack. Note, not declared final 
-	// to avoid getting 'inlined' by compiler.
-	static IProduct product = Platform.getProduct();
-	static String GENERATOR = product.getName();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLFormatContraints.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLFormatContraints.java
deleted file mode 100644
index 5346737..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/HTMLFormatContraints.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core;
-
-import org.eclipse.wst.sse.core.format.IStructuredFormatContraints;
-
-/**
- * @deprecated
- * Please un-deprecate this if Page Designer thinks they are needed.
- */
-public interface HTMLFormatContraints extends IStructuredFormatContraints {
-	/**
-	 * @deprecated
-	 * 	It's very hard to keep the available line width accurate.
-	 * 	Sometimes a node wants to start on a new line, sometimes it doesn't.
-	 * 	It's best for the node to figure out the available line width on the fly.
-	 */
-	int getAvailableLineWidth();
-
-	/**
-	 * @deprecated
-	 * 	It's very hard to keep the available line width accurate.
-	 * 	Sometimes a node wants to start on a new line, sometimes it doesn't.
-	 * 	It's best for the node to figure out the available line width on the fly.
-	 */
-	void setAvailableLineWidth(int availableLineWidth);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/PreferenceNames.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/PreferenceNames.java
deleted file mode 100644
index 66466e4..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/PreferenceNames.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core;
-
-
-public interface PreferenceNames {
-
-	String TRUE = "true"; //$NON-NLS-1$
-	String FALSE = "false"; //$NON-NLS-1$
-	String YES = "yes"; //$NON-NLS-1$
-	String NO = "no"; //$NON-NLS-1$
-
-
-	String SETTINGS = "settings"; //$NON-NLS-1$
-
-	String TREEVIEW = "treeview"; //$NON-NLS-1$
-	String DEFAULT_DEPTH = "defaultdepth"; //$NON-NLS-1$
-
-	String ASIS = "as-is"; //$NON-NLS-1$
-	String LOWER = "lower"; //$NON-NLS-1$
-	String UPPER = "upper"; //$NON-NLS-1$
-
-	String PREFERRED_CASE = "preferred-case"; //$NON-NLS-1$
-	String TAGNAME = "tagname"; //$NON-NLS-1$
-	String ATTRIBUTENAME = "attributename"; //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/AbstractNodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/AbstractNodeCleanupHandler.java
deleted file mode 100644
index 4a55ff6..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/AbstractNodeCleanupHandler.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.cleanup;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupHandler;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.cleanup.StructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-abstract class AbstractNodeCleanupHandler implements IStructuredCleanupHandler {
-
-	protected IStructuredCleanupPreferences fCleanupPreferences = null;
-	protected IProgressMonitor fProgressMonitor = null;
-
-	public void setCleanupPreferences(IStructuredCleanupPreferences cleanupPreferences) {
-
-		fCleanupPreferences = cleanupPreferences;
-	}
-
-	/**
-	 * @see com.ibm.sed.partitionCleanup.CleanupHandler#getCleanupPreferences()
-	 */
-	public IStructuredCleanupPreferences getCleanupPreferences() {
-		if (fCleanupPreferences == null) {
-			fCleanupPreferences = new StructuredCleanupPreferences();
-	
-			Preferences preferences = getModelPreferences();
-			if (preferences != null) {
-				fCleanupPreferences.setTagNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE));
-				fCleanupPreferences.setAttrNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE));
-				fCleanupPreferences.setCompressEmptyElementTags(preferences.getBoolean(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
-				fCleanupPreferences.setInsertRequiredAttrs(preferences.getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
-				fCleanupPreferences.setInsertMissingTags(preferences.getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
-				fCleanupPreferences.setQuoteAttrValues(preferences.getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
-				fCleanupPreferences.setFormatSource(preferences.getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
-				fCleanupPreferences.setConvertEOLCodes(preferences.getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
-				fCleanupPreferences.setEOLCode(preferences.getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE));
-			}
-		}
-
-		return fCleanupPreferences;
-	}
-
-	/**
-	 * @see com.ibm.sed.partitionCleanup.CleanupHandler#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void setProgressMonitor(IProgressMonitor progressMonitor) {
-
-		fProgressMonitor = progressMonitor;
-	}
-
-	static protected StructuredDocumentEvent replaceSource(XMLModel model, Object requester, int offset, int length, String source) {
-
-		StructuredDocumentEvent result = null;
-		if (model == null)
-			return result;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return result;
-		if (source == null)
-			source = new String();
-		if (structuredDocument.containsReadOnly(offset, length))
-			return result;
-		if (requester == null) {
-			requester = structuredDocument;
-		}
-		return structuredDocument.replaceText(requester, offset, length, source);
-	}
-
-	protected Preferences getModelPreferences() {
-		return HTMLCorePlugin.getDefault().getPluginPreferences();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/CSSTextNodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/CSSTextNodeCleanupHandler.java
deleted file mode 100644
index 491a8bd..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/CSSTextNodeCleanupHandler.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.cleanup;
-
-
-
-import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.format.CSSSourceFormatter;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Node;
-
-// nakamori_TODO: check and remove
-
-public class CSSTextNodeCleanupHandler extends AbstractNodeCleanupHandler {
-
-	public Node cleanup(Node node) {
-		if (node == null)
-			return node;
-		XMLModel model = ((XMLNode) node).getModel();
-		if (model == null)
-			return node;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return node;
-
-		String content = getCSSContent(node);
-		if (content == null)
-			return node;
-
-		int offset = ((XMLNode) node).getStartOffset();
-		int length = ((XMLNode) node).getEndOffset() - offset;
-		replaceSource(model, this, offset, length, content);
-		return (XMLNode) model.getIndexedRegion(offset);
-	}
-
-	/**
-	 */
-	private String getCSSContent(Node text) {
-		ICSSModel model = getCSSModel(text);
-		if (model == null)
-			return null;
-		ICSSNode document = model.getDocument();
-		if (document == null)
-			return null;
-		INodeNotifier notifier = (INodeNotifier) document;
-		INodeAdapter adapter = notifier.getAdapterFor(CSSSourceFormatter.class);
-		if (adapter == null)
-			return null;
-		CSSSourceFormatter formatter = (CSSSourceFormatter) adapter;
-		StringBuffer buffer = formatter.cleanup(document);
-		if (buffer == null)
-			return null;
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	private ICSSModel getCSSModel(Node text) {
-		if (text == null)
-			return null;
-		INodeNotifier notifier = (INodeNotifier) text.getParentNode();
-		if (notifier == null)
-			return null;
-		INodeAdapter adapter = notifier.getAdapterFor(IStyleSheetAdapter.class);
-		if (adapter == null)
-			return null;
-		if (!(adapter instanceof IStyleSheetAdapter))
-			return null;
-		IStyleSheetAdapter styleAdapter = (IStyleSheetAdapter) adapter;
-		return styleAdapter.getModel();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/ElementNodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/ElementNodeCleanupHandler.java
deleted file mode 100644
index f006784..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/ElementNodeCleanupHandler.java
+++ /dev/null
@@ -1,635 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.cleanup;
-
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.css.core.adapters.IStyleDeclarationAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.format.CSSSourceFormatter;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupHandler;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLGenerator;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-// nakamori_TODO: check and remove CSS formatting
-
-public class ElementNodeCleanupHandler extends AbstractNodeCleanupHandler {
-
-	/** Non-NLS strings */
-	protected static final String START_TAG_OPEN = "<"; //$NON-NLS-1$
-	protected static final String END_TAG_OPEN = "</"; //$NON-NLS-1$
-	protected static final String TAG_CLOSE = ">"; //$NON-NLS-1$
-	protected static final String EMPTY_TAG_CLOSE = "/>"; //$NON-NLS-1$
-	protected static final String SINGLE_QUOTES = "''"; //$NON-NLS-1$
-	protected static final String DOUBLE_QUOTES = "\"\""; //$NON-NLS-1$
-	protected static final char SINGLE_QUOTE = '\''; //$NON-NLS-1$
-	protected static final char DOUBLE_QUOTE = '\"'; //$NON-NLS-1$
-
-	public Node cleanup(Node node) {
-		XMLNode renamedNode = (XMLNode) cleanupChildren(node);
-
-		// call quoteAttrValue() first so it will close any unclosed attr
-		// quoteAttrValue() will return the new start tag if there is a structure change
-		renamedNode = quoteAttrValue(renamedNode);
-
-		// insert tag close if missing
-		// if node is not comment tag
-		// and not implicit tag
-		if (!((XMLElement) renamedNode).isCommentTag() && (renamedNode.getStartStructuredDocumentRegion() != null)) {
-			XMLModel structuredModel = renamedNode.getModel();
-
-			// save start offset before insertTagClose()
-			// or else renamedNode.getStartOffset() will be zero if renamedNode replaced by insertTagClose()
-			int startTagStartOffset = renamedNode.getStartOffset();
-
-			// for start tag
-			IStructuredDocumentRegion startTagStructuredDocumentRegion = renamedNode.getStartStructuredDocumentRegion();
-			insertTagClose(structuredModel, startTagStructuredDocumentRegion);
-
-			// update renamedNode and startTagStructuredDocumentRegion after insertTagClose()
-			renamedNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset);
-			startTagStructuredDocumentRegion = renamedNode.getStartStructuredDocumentRegion();
-
-			// for end tag
-			IStructuredDocumentRegion endTagStructuredDocumentRegion = renamedNode.getEndStructuredDocumentRegion();
-			if (endTagStructuredDocumentRegion != startTagStructuredDocumentRegion)
-				insertTagClose(structuredModel, endTagStructuredDocumentRegion);
-		}
-
-		// call insertMissingTags() next, it will generate implicit tags if there are any
-		// insertMissingTags() will return the new missing start tag if one is missing
-		// applyTagNameCase() will return the renamed node.
-		// The renamed/new node will be saved and returned to caller when all cleanup is done.
-		renamedNode = insertMissingTags(renamedNode);
-		renamedNode = insertRequiredAttrs(renamedNode);
-		renamedNode = applyTagNameCase(renamedNode);
-		applyAttrNameCase(renamedNode);
-		cleanupCSSAttrValue(renamedNode);
-
-		return renamedNode;
-	}
-
-	private boolean shouldIgnoreCase(XMLElement element) {
-		// case option can be applied to no namespace tags
-		return element.isGlobalTag();
-		/*
-		 ModelQueryAdapter mqadapter = (ModelQueryAdapter) element.getAdapterFor(ModelQueryAdapter.class);
-		 ModelQuery mq = null;
-		 CMNode nodedecl = null;
-		 if (mqadapter != null)
-		 mq = mqadapter.getModelQuery();
-		 if (mq != null)
-		 nodedecl = mq.getCMNode(node);
-		 // if a Node isn't recognized as HTML or is and cares about case, do not alter it
-		 //	if (nodedecl == null || (nodedecl instanceof HTMLCMNode && ((HTMLCMNode) nodedecl).shouldIgnoreCase()))
-		 if (! nodedecl.supports(HTMLCMProperties.SHOULD_IGNORE_CASE)) return false;
-		 return ((Boolean)cmnode.getProperty(HTMLCMProperties.SHOULD_IGNORE_CASE)).booleanValue();
-		 */
-	}
-
-	protected void applyAttrNameCase(XMLNode node) {
-		XMLElement element = (XMLElement) node;
-		if (element.isCommentTag())
-			return; // do nothing
-
-		int attrNameCase = CommonModelPreferenceNames.ASIS;
-
-		if (shouldIgnoreCase(element))
-			attrNameCase = getCleanupPreferences().getAttrNameCase();
-
-		NamedNodeMap attributes = node.getAttributes();
-		int attributesLength = attributes.getLength();
-
-		for (int i = 0; i < attributesLength; i++) {
-			XMLNode eachAttr = (XMLNode) attributes.item(i);
-			String oldAttrName = eachAttr.getNodeName();
-			String newAttrName = oldAttrName;
-			// 254961 - all HTML tag names and attribute names should be in English
-			//          even for HTML files in other languages like Japanese or Turkish.
-			//          English locale should be used to convert between uppercase and lowercase
-			//          (otherwise "link" would be converted to "LÝNK" in Turkish, where '?' in "LÝNK"
-			//          is the "I Overdot Capital" in Turkish).
-			if (attrNameCase == CommonModelPreferenceNames.LOWER)
-				newAttrName = oldAttrName.toLowerCase(Locale.US);
-			else if (attrNameCase == CommonModelPreferenceNames.UPPER)
-				newAttrName = oldAttrName.toUpperCase(Locale.US);
-
-			if (newAttrName.compareTo(oldAttrName) != 0) {
-				int attrNameStartOffset = eachAttr.getStartOffset();
-				int attrNameLength = oldAttrName.length();
-
-				XMLModel structuredModel = node.getModel();
-				IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-				replaceSource(structuredModel, structuredDocument, attrNameStartOffset, attrNameLength, newAttrName);
-			}
-		}
-	}
-
-	protected XMLNode applyTagNameCase(XMLNode node) {
-		XMLElement element = (XMLElement) node;
-		if (element.isCommentTag())
-			return node; // do nothing
-
-		int tagNameCase = CommonModelPreferenceNames.ASIS;
-
-		if (shouldIgnoreCase(element))
-			tagNameCase = getCleanupPreferences().getTagNameCase();
-
-		String oldTagName = node.getNodeName();
-		String newTagName = oldTagName;
-		XMLNode newNode = node;
-
-		// 254961 - all HTML tag names and attribute names should be in English
-		//          even for HTML files in other languages like Japanese or Turkish.
-		//          English locale should be used to convert between uppercase and lowercase
-		//          (otherwise "link" would be converted to "LÝNK" in Turkish, where '?' in "LÝNK"
-		//          is the "I Overdot Capital" in Turkish).
-		if (tagNameCase == CommonModelPreferenceNames.LOWER)
-			newTagName = oldTagName.toLowerCase(Locale.US);
-		else if (tagNameCase == CommonModelPreferenceNames.UPPER)
-			newTagName = oldTagName.toUpperCase(Locale.US);
-
-		XMLModel structuredModel = node.getModel();
-		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-
-		IStructuredDocumentRegion startTagStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
-		if (startTagStructuredDocumentRegion != null) {
-			ITextRegionList regions = startTagStructuredDocumentRegion.getRegions();
-			if (regions != null && regions.size() > 0) {
-				ITextRegion startTagNameRegion = regions.get(1);
-				int startTagNameStartOffset = startTagStructuredDocumentRegion.getStartOffset(startTagNameRegion);
-				int startTagNameLength = startTagStructuredDocumentRegion.getTextEndOffset(startTagNameRegion) - startTagNameStartOffset;
-
-				replaceSource(structuredModel, structuredDocument, startTagNameStartOffset, startTagNameLength, newTagName);
-				newNode = (XMLNode) structuredModel.getIndexedRegion(startTagNameStartOffset); // save new node
-			}
-		}
-
-		IStructuredDocumentRegion endTagStructuredDocumentRegion = node.getEndStructuredDocumentRegion();
-		if (endTagStructuredDocumentRegion != null) {
-			ITextRegionList regions = endTagStructuredDocumentRegion.getRegions();
-			if (regions != null && regions.size() > 0) {
-				ITextRegion endTagNameRegion = regions.get(1);
-				int endTagNameStartOffset = endTagStructuredDocumentRegion.getStartOffset(endTagNameRegion);
-				int endTagNameLength = endTagStructuredDocumentRegion.getTextEndOffset(endTagNameRegion) - endTagNameStartOffset;
-
-				if (startTagStructuredDocumentRegion != endTagStructuredDocumentRegion)
-					replaceSource(structuredModel, structuredDocument, endTagNameStartOffset, endTagNameLength, newTagName);
-			}
-		}
-
-		return newNode;
-	}
-
-	protected Node cleanupChildren(Node node) {
-		Node parentNode = node;
-
-		if (node != null) {
-			Node childNode = node.getFirstChild();
-			HTMLCleanupHandlerFactory factory = HTMLCleanupHandlerFactory.getInstance();
-			while (childNode != null) {
-				// cleanup this child node
-				IStructuredCleanupHandler cleanupHandler = factory.createHandler(childNode, getCleanupPreferences());
-				childNode = cleanupHandler.cleanup(childNode);
-
-				// get new parent node
-				parentNode = (XMLNode) childNode.getParentNode();
-
-				// get next child node
-				childNode = (XMLNode) childNode.getNextSibling();
-			}
-		}
-
-		return parentNode;
-	}
-
-	/**
-	 */
-	protected void cleanupCSSAttrValue(XMLNode node) {
-		if (node == null || node.getNodeType() != Node.ELEMENT_NODE)
-			return;
-		XMLElement element = (XMLElement) node;
-		if (!element.isGlobalTag())
-			return;
-
-		Attr attr = element.getAttributeNode("style"); //$NON-NLS-1$
-		if (attr == null)
-			return;
-		String value = getCSSValue(attr);
-		if (value == null)
-			return;
-		String oldValue = ((XMLNode) attr).getValueSource();
-		if (oldValue != null && value.equals(oldValue))
-			return;
-		attr.setValue(value);
-	}
-
-	/**
-	 */
-	private ICSSModel getCSSModel(Attr attr) {
-		if (attr == null)
-			return null;
-		INodeNotifier notifier = (INodeNotifier) attr.getOwnerElement();
-		if (notifier == null)
-			return null;
-		INodeAdapter adapter = notifier.getAdapterFor(IStyleDeclarationAdapter.class);
-		if (adapter == null)
-			return null;
-		if (!(adapter instanceof IStyleDeclarationAdapter))
-			return null;
-		IStyleDeclarationAdapter styleAdapter = (IStyleDeclarationAdapter) adapter;
-		return styleAdapter.getModel();
-	}
-
-	/**
-	 */
-	private String getCSSValue(Attr attr) {
-		ICSSModel model = getCSSModel(attr);
-		if (model == null)
-			return null;
-		ICSSNode document = model.getDocument();
-		if (document == null)
-			return null;
-		INodeNotifier notifier = (INodeNotifier) document;
-		INodeAdapter adapter = notifier.getAdapterFor(CSSSourceFormatter.class);
-		if (adapter == null)
-			return null;
-		CSSSourceFormatter formatter = (CSSSourceFormatter) adapter;
-		StringBuffer buffer = formatter.cleanup(document);
-		if (buffer == null)
-			return null;
-		return buffer.toString();
-	}
-
-	private boolean isEmptyElement(XMLElement element) {
-		Document document = element.getOwnerDocument();
-		if (document == null)
-			// undefined tag, return default
-			return false;
-
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-		if (modelQuery == null)
-			// undefined tag, return default
-			return false;
-
-		CMElementDeclaration decl = modelQuery.getCMElementDeclaration(element);
-		if (decl == null)
-			// undefined tag, return default
-			return false;
-
-		return (decl.getContentType() == CMElementDeclaration.EMPTY);
-	}
-
-	protected XMLNode insertEndTag(XMLNode node) {
-		XMLElement element = (XMLElement) node;
-
-		int startTagStartOffset = node.getStartOffset();
-		XMLModel structuredModel = node.getModel();
-		XMLNode newNode = null;
-
-		if (element.isCommentTag()) {
-			// do nothing
-		}
-		else if (isEmptyElement(element)) {
-			IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-			IStructuredDocumentRegion startStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
-			ITextRegionList regions = startStructuredDocumentRegion.getRegions();
-			ITextRegion lastRegion = regions.get(regions.size() - 1);
-			replaceSource(structuredModel, structuredDocument, startStructuredDocumentRegion.getStartOffset(lastRegion), lastRegion.getLength(), EMPTY_TAG_CLOSE);
-
-			if (regions.size() > 1) {
-				ITextRegion regionBeforeTagClose = regions.get(regions.size() - 1 - 1);
-
-				// insert a space separator before tag close if the previous region does not have extra spaces
-				if (regionBeforeTagClose.getTextLength() == regionBeforeTagClose.getLength())
-					replaceSource(structuredModel, structuredDocument, startStructuredDocumentRegion.getStartOffset(lastRegion), 0, " "); //$NON-NLS-1$
-			}
-		}
-		else {
-			String tagName = node.getNodeName();
-			String endTag = END_TAG_OPEN.concat(tagName).concat(TAG_CLOSE);
-
-			XMLNode lastChild = (XMLNode) node.getLastChild();
-			int endTagStartOffset = 0;
-			if (lastChild != null)
-				// if this node has children, insert the end tag after the last child
-				endTagStartOffset = lastChild.getEndOffset();
-			else
-				// if this node does not has children, insert the end tag after the start tag
-				endTagStartOffset = node.getEndOffset();
-
-			IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-			replaceSource(structuredModel, structuredDocument, endTagStartOffset, 0, endTag);
-		}
-
-		newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset); // save new node
-
-		return newNode;
-	}
-
-	protected XMLNode insertMissingTags(XMLNode node) {
-		boolean insertMissingTags = getCleanupPreferences().getInsertMissingTags();
-		XMLNode newNode = node;
-
-		if (insertMissingTags) {
-			IStructuredDocumentRegion startTagStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
-			if (startTagStructuredDocumentRegion == null) {
-				// implicit start tag; generate tag for it
-				newNode = insertStartTag(node);
-				startTagStructuredDocumentRegion = newNode.getStartStructuredDocumentRegion();
-			}
-
-			IStructuredDocumentRegion endTagStructuredDocumentRegion = newNode.getEndStructuredDocumentRegion();
-
-			ITextRegionList regionList = startTagStructuredDocumentRegion.getRegions();
-			if (startTagStructuredDocumentRegion != null && regionList != null && regionList.get(regionList.size() - 1).getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-
-			}
-			else {
-				if (startTagStructuredDocumentRegion == null) {
-					// start tag missing
-					if (isStartTagRequired(newNode))
-						newNode = insertStartTag(newNode);
-				}
-				else if (endTagStructuredDocumentRegion == null) {
-					// end tag missing
-					if (isEndTagRequired(newNode))
-						newNode = insertEndTag(newNode);
-				}
-			}
-		}
-
-		return newNode;
-	}
-
-	protected XMLNode insertStartTag(XMLNode node) {
-		XMLElement element = (XMLElement) node;
-		if (element.isCommentTag())
-			return node; // do nothing
-
-		XMLNode newNode = null;
-
-		String tagName = node.getNodeName();
-		String startTag = START_TAG_OPEN.concat(tagName).concat(TAG_CLOSE);
-		int startTagStartOffset = node.getStartOffset();
-
-		XMLModel structuredModel = node.getModel();
-		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-		replaceSource(structuredModel, structuredDocument, startTagStartOffset, 0, startTag);
-		newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset); // save new node
-
-		return newNode;
-	}
-
-	protected void insertTagClose(XMLModel structuredModel, IStructuredDocumentRegion flatNode) {
-		if ((flatNode != null) && (flatNode.getRegions() != null)) {
-			ITextRegionList regionList = flatNode.getRegions();
-			ITextRegion lastRegion = regionList.get(regionList.size() - 1);
-			if (lastRegion != null) {
-				String regionType = lastRegion.getType();
-				if ((regionType != XMLRegionContext.XML_EMPTY_TAG_CLOSE) && (regionType != XMLRegionContext.XML_TAG_CLOSE)) {
-					IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-
-					// insert ">" after lastRegion of flatNode
-					// as in "<a</a>" if flatNode is for start tag, or in "<a></a" if flatNode is for end tag
-					replaceSource(structuredModel, structuredDocument, flatNode.getTextEndOffset(lastRegion), 0, ">"); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	protected boolean isEndTagRequired(XMLNode node) {
-		if (node == null)
-			return false;
-		return node.isContainer();
-	}
-
-	/**
-	 * The end tags of HTML EMPTY content type, such as IMG,
-	 * and HTML undefined tags are parsed separately from the start tags.
-	 * So inserting the missing start tag is useless and even harmful.
-	 */
-	protected boolean isStartTagRequired(XMLNode node) {
-		if (node == null)
-			return false;
-		return node.isContainer();
-	}
-
-	protected boolean isXMLType(XMLModel structuredModel) {
-		boolean result = false;
-
-		if (structuredModel != null && structuredModel != null) {
-			XMLDocument document = structuredModel.getDocument();
-
-			if (document != null)
-				result = document.isXMLType();
-		}
-
-		return result;
-	}
-
-	protected XMLNode quoteAttrValue(XMLNode node) {
-		XMLElement element = (XMLElement) node;
-		if (element.isCommentTag())
-			return node; // do nothing
-
-		boolean quoteAttrValues = getCleanupPreferences().getQuoteAttrValues();
-		XMLNode newNode = node;
-
-		if (quoteAttrValues) {
-			NamedNodeMap attributes = newNode.getAttributes();
-			int attributesLength = attributes.getLength();
-			XMLGenerator generator = node.getModel().getGenerator();
-
-			for (int i = 0; i < attributesLength; i++) {
-				attributes = newNode.getAttributes();
-				attributesLength = attributes.getLength();
-				XMLAttr eachAttr = (XMLAttr) attributes.item(i);
-				//ITextRegion oldAttrValueRegion = eachAttr.getValueRegion();
-				String oldAttrValue = eachAttr.getValueRegionText();
-				if (oldAttrValue == null) {
-					XMLModel structuredModel = node.getModel();
-					if (isXMLType(structuredModel)) {
-						// TODO: Kit, please check. Is there any way to not rely on getting regions from attributes?
-						String newAttrValue = "=\"" + eachAttr.getNameRegionText() + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-
-						IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-						replaceSource(structuredModel, structuredDocument, eachAttr.getNameRegionEndOffset(), 0, newAttrValue);
-						newNode = (XMLNode) structuredModel.getIndexedRegion(node.getStartOffset()); // save new node
-					}
-				}
-				else {
-
-					char quote = StringUtils.isQuoted(oldAttrValue) ? oldAttrValue.charAt(0) : DOUBLE_QUOTE;
-					String newAttrValue = generator.generateAttrValue(eachAttr, quote);
-
-					// There is a problem in StructuredDocumentRegionUtil.getAttrValue(ITextRegion) when the region is instanceof ContextRegion.
-					// Workaround for now...
-					if (oldAttrValue.length() == 1) {
-						char firstChar = oldAttrValue.charAt(0);
-						if (firstChar == SINGLE_QUOTE)
-							newAttrValue = SINGLE_QUOTES;
-						else if (firstChar == DOUBLE_QUOTE)
-							newAttrValue = DOUBLE_QUOTES;
-					}
-
-					if (newAttrValue != null) {
-						if (newAttrValue.compareTo(oldAttrValue) != 0) {
-							int attrValueStartOffset = eachAttr.getValueRegionStartOffset();
-							int attrValueLength = oldAttrValue.length();
-							int startTagStartOffset = node.getStartOffset();
-
-							XMLModel structuredModel = node.getModel();
-							IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-							replaceSource(structuredModel, structuredDocument, attrValueStartOffset, attrValueLength, newAttrValue);
-							newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset); // save new node
-						}
-					}
-				}
-			}
-		}
-
-		return newNode;
-	}
-
-	private XMLNode insertRequiredAttrs(XMLNode node) {
-		boolean insertRequiredAttrs = getCleanupPreferences().getInsertRequiredAttrs();
-		XMLNode newNode = node;
-
-		if (insertRequiredAttrs) {
-			List requiredAttrs = getRequiredAttrs(newNode);
-			if (requiredAttrs.size() > 0) {
-				NamedNodeMap currentAttrs = node.getAttributes();
-				List insertAttrs = new ArrayList();
-				if (currentAttrs.getLength() == 0)
-					insertAttrs.addAll(requiredAttrs);
-				else {
-					for (int i = 0; i < requiredAttrs.size(); i++) {
-						String requiredAttrName = ((CMAttributeDeclaration) requiredAttrs.get(i)).getAttrName();
-						boolean found = false;
-						for (int j = 0; j < currentAttrs.getLength(); j++) {
-							String currentAttrName = currentAttrs.item(j).getNodeName();
-							if (requiredAttrName.compareToIgnoreCase(currentAttrName) == 0) {
-								found = true;
-								break;
-							}
-						}
-						if (!found)
-							insertAttrs.add(requiredAttrs.get(i));
-					}
-				}
-				if (insertAttrs.size() > 0) {
-					IStructuredDocumentRegion startStructuredDocumentRegion = newNode.getStartStructuredDocumentRegion();
-					int index = startStructuredDocumentRegion.getEndOffset();
-					ITextRegion lastRegion = startStructuredDocumentRegion.getLastRegion(); 
-					if (lastRegion.getType() == XMLRegionContext.XML_TAG_CLOSE) {
-						index--;
-						lastRegion = startStructuredDocumentRegion.getRegionAtCharacterOffset(index - 1);
-					}
-					else if (lastRegion.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-						index = index - 2;
-						lastRegion = startStructuredDocumentRegion.getRegionAtCharacterOffset(index - 1);
-					}
-					MultiTextEdit multiTextEdit = new MultiTextEdit();
-					try {
-						for (int i = insertAttrs.size() - 1; i >= 0; i--) {
-							CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) insertAttrs.get(i);
-							String requiredAttributeName = attrDecl.getAttrName();
-							String defaultValue = attrDecl.getDefaultValue();
-							if (defaultValue == null)
-								defaultValue = ""; //$NON-NLS-1$
-							String nameAndDefaultValue = " "; //$NON-NLS-1$
-							if (i == 0 && lastRegion.getLength() > lastRegion.getTextLength())
-								nameAndDefaultValue = ""; //$NON-NLS-1$
-							nameAndDefaultValue += requiredAttributeName + "=\"" + defaultValue + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-							multiTextEdit.addChild(new InsertEdit(index, nameAndDefaultValue));
-							// BUG3381: MultiTextEdit applies all child TextEdit's basing on offsets
-							//          in the document before the first TextEdit, not after each
-							//          child TextEdit. Therefore, do not need to advance the index.
-							//index += nameAndDefaultValue.length();
-						}
-						multiTextEdit.apply(newNode.getStructuredDocument());
-					}
-					catch (BadLocationException e) {
-						throw new SourceEditingRuntimeException(e);
-					}
-				}
-			}
-		}
-
-		return newNode;
-	}
-
-
-	protected ModelQuery getModelQuery(Node node) {
-		if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			return ModelQueryUtil.getModelQuery((Document) node);
-		}
-		else {
-			return ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-		}
-	}
-
-	protected List getRequiredAttrs(Node node) {
-		List result = new ArrayList();
-
-		ModelQuery modelQuery = getModelQuery(node);
-		if (modelQuery != null) {
-			CMElementDeclaration elementDecl = modelQuery.getCMElementDeclaration((Element) node);
-			if (elementDecl != null) {
-				CMNamedNodeMap attrMap = elementDecl.getAttributes();
-				Iterator it = attrMap.iterator();
-				CMAttributeDeclaration attr = null;
-				while (it.hasNext()) {
-					attr = (CMAttributeDeclaration) it.next();
-					if (attr.getUsage() == CMAttributeDeclaration.REQUIRED) {
-						result.add(attr);
-					}
-				}
-			}
-		}
-
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/HTMLCleanupHandlerFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/HTMLCleanupHandlerFactory.java
deleted file mode 100644
index 0935e7d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/HTMLCleanupHandlerFactory.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.cleanup;
-
-
-
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupHandler;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Node;
-
-// nakamori_TODO: check and remove CSS formatting
-
-class HTMLCleanupHandlerFactory {
-
-	private static HTMLCleanupHandlerFactory fInstance = null;
-
-	static synchronized HTMLCleanupHandlerFactory getInstance() {
-		if (fInstance == null) {
-			fInstance = new HTMLCleanupHandlerFactory();
-		}
-		return fInstance;
-	}
-
-	private HTMLCleanupHandlerFactory() {
-		super();
-	}
-
-	IStructuredCleanupHandler createHandler(Node node, IStructuredCleanupPreferences cleanupPreferences) {
-		short nodeType = node.getNodeType();
-		IStructuredCleanupHandler handler = null;
-		switch (nodeType) {
-			case Node.ELEMENT_NODE :
-				{
-					if (isJSPTag(node))
-						handler = new JSPElementNodeCleanupHandler();
-					else
-						handler = new ElementNodeCleanupHandler();
-					break;
-				}
-			case Node.TEXT_NODE :
-				{
-					if (isParentStyleTag(node))
-						handler = new CSSTextNodeCleanupHandler();
-					else
-						handler = new NodeCleanupHandler();
-					break;
-				}
-			default :
-				{
-					handler = new NodeCleanupHandler();
-				}
-		}
-
-		handler.setCleanupPreferences(cleanupPreferences);
-
-		return handler;
-	}
-
-	private boolean isJSPTag(Node node) {
-		boolean result = false;
-
-		if (node instanceof XMLNode) {
-			IStructuredDocumentRegion flatNode = ((XMLNode) node).getFirstStructuredDocumentRegion();
-			// in some cases, the nodes exists, but hasn't been associated with
-			// a flatnode yet (the screen updates can be initiated on a different thread,
-			// so the request for a flatnode can come in before the node is fully formed.
-			// if the flatnode is null, we'll just allow the defaults to apply.
-			// (html adapter in this case).
-			if (flatNode != null) {
-				String flatNodeType = flatNode.getType();
-				if ((flatNodeType == XMLJSPRegionContexts.JSP_CONTENT) || (flatNodeType == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN) || (flatNodeType == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (flatNodeType == XMLJSPRegionContexts.JSP_DECLARATION_OPEN) || (flatNodeType == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE) || (flatNodeType == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) || (flatNodeType == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN) || (flatNodeType == XMLJSPRegionContexts.JSP_CLOSE)) {
-					result = true;
-				}
-			}
-		}
-
-		return result;
-	}
-
-	private boolean isParentStyleTag(Node node) {
-		if (node == null)
-			return false;
-		if (node.getNodeType() != Node.TEXT_NODE)
-			return false;
-		if (!(node instanceof XMLNode))
-			return false;
-		IStructuredDocumentRegion flatNode = ((XMLNode) node).getFirstStructuredDocumentRegion();
-		if (flatNode == null)
-			return false;
-		if (flatNode.getType() != XMLRegionContext.BLOCK_TEXT)
-			return false;
-
-		// check if the parent is STYLE element
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return false;
-		if (parent.getNodeType() != Node.ELEMENT_NODE)
-			return false;
-		String name = parent.getNodeName();
-		if (name == null)
-			return false;
-		if (!name.equalsIgnoreCase("STYLE"))//$NON-NLS-1$
-			return false;
-		return true;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/HTMLCleanupProcessorImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/HTMLCleanupProcessorImpl.java
deleted file mode 100644
index 8d0f4ea..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/HTMLCleanupProcessorImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.cleanup;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.html.core.contenttype.ContentTypeIdForHTML;
-import org.eclipse.wst.html.core.format.HTMLFormatProcessorImpl;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupHandler;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.cleanup.CleanupProcessorXML;
-import org.w3c.dom.Node;
-
-public class HTMLCleanupProcessorImpl extends CleanupProcessorXML {
-
-	/**
-	 * @see com.ibm.sed.partitionCleanup.AbstractCleanupProcessorImpl#getContentType()
-	 */
-	protected String getContentType() {
-		return ContentTypeIdForHTML.ContentTypeID_HTML;
-	}
-
-	/**
-	 * @see com.ibm.sed.partitionCleanup.AbstractCleanupProcessorImpl#getCleanupHandler(com.ibm.sed.model.xml.XMLNode)
-	 */
-	protected IStructuredCleanupHandler getCleanupHandler(Node node) {
-		return HTMLCleanupHandlerFactory.getInstance().createHandler(node, getCleanupPreferences());
-	}
-
-	protected IStructuredFormatProcessor getFormatProcessor() {
-		return new HTMLFormatProcessorImpl();
-	}
-
-	protected Preferences getModelPreferences() {
-		return HTMLCorePlugin.getDefault().getPluginPreferences();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/JSPElementNodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/JSPElementNodeCleanupHandler.java
deleted file mode 100644
index c4143ad..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/JSPElementNodeCleanupHandler.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.cleanup;
-
-
-
-import org.w3c.dom.Node;
-
-public class JSPElementNodeCleanupHandler extends AbstractNodeCleanupHandler {
-
-	public Node cleanup(Node node) {
-		return node;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/NodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/NodeCleanupHandler.java
deleted file mode 100644
index 1e9c7d2..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/cleanup/NodeCleanupHandler.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.cleanup;
-
-
-
-import org.w3c.dom.Node;
-
-public class NodeCleanupHandler extends AbstractNodeCleanupHandler {
-
-	public Node cleanup(Node node) {
-		return node;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/commentelement/handlers/CommentElementHandlerForSSI.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/commentelement/handlers/CommentElementHandlerForSSI.java
deleted file mode 100644
index f24b108..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/commentelement/handlers/CommentElementHandlerForSSI.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.commentelement.handlers;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
-import org.eclipse.wst.xml.core.commentelement.util.CommentElementFactory;
-import org.eclipse.wst.xml.core.commentelement.util.TagScanner;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLGenerator;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-/**
- */
-public class CommentElementHandlerForSSI implements CommentElementHandler {
-
-	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#createElement(Document, String, boolean)
-	 */
-	public Element createElement(Document document, String data, boolean isJSPTag) {
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-		if (modelQuery == null) {
-			return null;
-		}
-		CMDocument cm = modelQuery.getCorrespondingCMDocument(document);
-		if (cm == null) {
-			return null;
-		}
-		CMNamedNodeMap map = cm.getElements();
-		if (map == null) {
-			return null;
-		}
-
-		TagScanner scanner = new TagScanner(data, 1);
-		String name = scanner.nextName();
-		if (name == null) {
-			return null;
-		}
-		StringBuffer buffer = new StringBuffer(name.length() + 4);
-		buffer.append(SSI_PREFIX);
-		buffer.append(':');
-		buffer.append(name);
-		String tagName = buffer.toString();
-		// check if valid (defined) SSI tag or not
-		if (map.getNamedItem(tagName) == null) {
-			return null;
-		}
-
-		CommentElementFactory factory = new CommentElementFactory(document, isJSPTag, this);
-		Element element = factory.create(tagName, CommentElementFactory.IS_START);
-
-		// set attributes
-		String attrName = scanner.nextName();
-		while (attrName != null) {
-			String attrValue = scanner.nextValue();
-			Attr attr = document.createAttribute(attrName);
-			if (attr != null) {
-				if (attrValue != null)
-					attr.setValue(attrValue);
-				element.setAttributeNode(attr);
-			}
-			attrName = scanner.nextName();
-		}
-		return element;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#generateStartTagContent(XMLElement)
-	 */
-	public String generateStartTagContent(XMLElement element) {
-		XMLGenerator generator = element.getModel().getGenerator();
-		StringBuffer buffer = new StringBuffer();
-
-		buffer.append('#');
-		buffer.append(element.getLocalName());
-
-		NamedNodeMap attributes = element.getAttributes();
-		int length = attributes.getLength();
-		for (int i = 0; i < length; i++) {
-			Attr attr = (Attr) attributes.item(i);
-			if (attr == null) {
-				continue;
-			}
-			buffer.append(' ');
-			String attrName = generator.generateAttrName(attr);
-			if (attrName != null) {
-				buffer.append(attrName);
-			}
-			String attrValue = generator.generateAttrValue(attr);
-			if (attrValue != null) {
-				// attr name only for HTML boolean and JSP
-				buffer.append('=');
-				buffer.append(attrValue);
-			}
-		}
-
-		return buffer.toString();
-	}
-
-	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#generateEndTagContent(XMLElement)
-	 */
-	public String generateEndTagContent(XMLElement element) {
-		return null; // always empty
-	}
-
-	public boolean isEmpty() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#isCommentElement(com.ibm.sed.model.xml.XMLElement)
-	 */
-	public boolean isCommentElement(XMLElement element) {
-		if (element == null) {
-			return false;
-		}
-		Document document = element.getOwnerDocument();
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-		if (modelQuery == null) {
-			return false;
-		}
-		CMDocument cm = modelQuery.getCorrespondingCMDocument(document);
-		if (cm == null) {
-			return false;
-		}
-		CMNamedNodeMap map = cm.getElements();
-		if (map == null) {
-			return false;
-		}
-		String prefix = element.getPrefix();
-		if (prefix == null || !prefix.equals(SSI_PREFIX)) {
-			return false;
-		}
-		String tagName = element.getTagName();
-		if (tagName.length() <= 4) {
-			return false;
-		}
-		if (map.getNamedItem(tagName) == null) {
-			return false;
-		}
-		else {
-			return true;
-		}
-	}
-
-	private static final String SSI_PREFIX = "ssi";//$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/AttributeCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/AttributeCollection.java
deleted file mode 100644
index 435e8cc..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/AttributeCollection.java
+++ /dev/null
@@ -1,1295 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * Factory for attribute declarations.
- */
-final class AttributeCollection extends CMNamedNodeMapImpl implements HTML40Namespace {
-
-	/** bodycolors. */
-	private static final String[] BODYCOLORS = {ATTR_NAME_BGCOLOR, ATTR_NAME_TEXT, ATTR_NAME_LINK, ATTR_NAME_VLINK, HTML40Namespace.ATTR_NAME_ALINK};
-	/** coreattrs. */
-	private static final String[] CORE = {ATTR_NAME_ID, ATTR_NAME_CLASS, ATTR_NAME_STYLE, ATTR_NAME_TITLE};
-	/** events. */
-	private static final String[] EVENTS = {ATTR_NAME_ONCLICK, ATTR_NAME_ONDBLCLICK, ATTR_NAME_ONMOUSEDOWN, ATTR_NAME_ONMOUSEUP, ATTR_NAME_ONMOUSEOVER, ATTR_NAME_ONMOUSEMOVE, ATTR_NAME_ONMOUSEOUT, ATTR_NAME_ONKEYPRESS, ATTR_NAME_ONKEYDOWN, ATTR_NAME_ONKEYUP, ATTR_NAME_ONHELP};
-	/** i18n. lang, dir */
-	private static final String[] I18N = {ATTR_NAME_LANG, ATTR_NAME_DIR};
-	/** cellhaligh. */
-	private static final String[] CELLHALIGN = {ATTR_NAME_CHAR, ATTR_NAME_CHAROFF};
-
-	/**
-	 * constructor.
-	 */
-	public AttributeCollection() {
-		super();
-	}
-
-	/**
-	 * Create an attribute declaration.
-	 * @return com.ibm.sed.contentmodel.html.HTMLAttrDeclImpl
-	 * @param attrName java.lang.String
-	 */
-	private HTMLAttrDeclImpl create(String attrName) {
-		HTMLAttrDeclImpl attr = null;
-		HTMLCMDataTypeImpl atype = null;
-
-		if (attrName.equalsIgnoreCase(ATTR_NAME_ABBR)) {
-			// (abbr %Text; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ABBR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ACCEPT)) {
-			// (accept %ContentTypes; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ACCEPT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ACCEPT_CHARSET)) {
-			// (accept-charset %Charsets;; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARSETS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ACCEPT_CHARSET, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ACTION)) {
-			// (action %URI #REQUIRED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ACTION, atype, CMAttributeDeclaration.REQUIRED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ARCHIVE)) {
-			// (archive CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ARCHIVE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ACCESSKEY)) {
-			// (accesskey %Character; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARACTER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ACCESSKEY, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ALINK)) {
-			// (alink %Color; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ALINK, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ALT)) {
-			// (alt %Text; #REQUIRED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ALT, atype, CMAttributeDeclaration.REQUIRED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_AUTOSTART)) {
-			// (autostart (true|false) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_AUTOSTART, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_AUTOPLAY)) {
-			// (autoplay (true|false) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_AUTOPLAY, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_AUTOSIZE)) {
-			// (autosize (true|false) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_AUTOSIZE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_AXIS)) {
-			// (axis CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_AXIS, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_BACKGROUND)) {
-			// (background %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_BACKGROUND, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_BEHAVIOR)) {
-			// (behavior (scroll|slide|alternate) scroll)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_SCROLL, ATTR_VALUE_SLIDE, ATTR_VALUE_ALTERNATE};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_SCROLL);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_BEHAVIOR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_BGCOLOR)) {
-			// (bgcolor %Color; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_BGCOLOR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_BORDER)) {
-			// (border %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_BORDER, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CELLSPACING)) {
-			// (cellspacing %Length; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CELLSPACING, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CELLPADDING)) {
-			// (cellpadding %Length; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CELLPADDING, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CGI)) {
-			// (cgi %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CGI, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CHAR)) {
-			// (char %Character; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARACTER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CHAR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CHAROFF)) {
-			// (charoff %Length; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CHAROFF, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CHARSET)) {
-			// (charset %Charset; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARSET);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CHARSET, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CITE)) {
-			// (cite %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CITE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CLASS)) {
-			// (class CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CLASS, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CLASSID)) {
-			// (classid %URI #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CLASSID, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CMD)) {
-			// (cmd CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CMD, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CHECKED)) {
-			// (checked (checked) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_CHECKED};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CHECKED, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CLEAR)) {
-			// (clear (left | all | right | none) none)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_ALL, ATTR_VALUE_RIGHT, ATTR_VALUE_NONE};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_NONE);
-
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CLEAR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CODE)) {
-			// (code CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CODE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CODEBASE)) {
-			// (codebase %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CODEBASE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CODETYPE)) {
-			// (codetype %CotentType; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CODETYPE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_COLOR)) {
-			// (color %Color; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_COLOR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_COMPACT)) {
-			// (compact (compact) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_COMPACT};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_COMPACT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_COLS)) {
-			// (cols NUMBER #REQUIRED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_COLS, atype, CMAttributeDeclaration.REQUIRED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_COLSPAN)) {
-			// (colspan NUMBER 1)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_1);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_COLSPAN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CONTENT)) {
-			// (content CDATA #REQUIRED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CONTENT, atype, CMAttributeDeclaration.REQUIRED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CONTROLLER)) {
-			// (controller (true|false) true)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_TRUE);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CONTROLLER, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_COORDS)) {
-			// (coords %Coords; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COORDS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_COORDS, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_DATA)) {
-			// (data %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_DATA, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_DATETIME)) {
-			// (datetime %Datetime; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.DATETIME);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_DATETIME, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_DATAPAGESIZE)) {
-			// (datapagesize CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_DATAPAGESIZE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_DECLARE)) {
-			// (declare (declare) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_DECLARE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_DECLARE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_DEFER)) {
-			// (defer (defer) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_DEFER};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_DEFER, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_DIR)) {
-			// (dir (ltr|rtl) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_LTR, ATTR_VALUE_RTL};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_DIR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_DIRECTION)) {
-			// (direction (left|right|up|down) left)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT, ATTR_VALUE_UP, ATTR_VALUE_DOWN};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_DIRECTION, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_DIRECTKEY)) {
-			// (directkey %Character; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARACTER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_DIRECTKEY, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_DISABLED)) {
-			// (disabled (disabled) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			// boolean attribute must have the same value as its name.
-			String[] values = {ATTR_NAME_DISABLED};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_DISABLED, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ENCTYPE)) {
-			// (enctype %ContentType; "application/x-www-form-urlencoded")
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_WWW_FORM_URLENCODED);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ENCTYPE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ERRMSG)) {
-			// (errmsg CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ERRMSG, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_EVENT)) {
-			// (event CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_EVENT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_FACE)) {
-			// (face CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_FACE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_FILE)) {
-			// (file %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_FILE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_FOR)) {
-			// (for %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_FOR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_FRAME)) {
-			// (frame %TFrame; #IMPLIED)
-			// %TFrame; is (void|above|below|hsides|lhs|rhs|vsides|box|border).
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_VOID, ATTR_VALUE_ABOVE, ATTR_VALUE_BELOW, ATTR_VALUE_HSIDES, ATTR_VALUE_LHS, ATTR_VALUE_RHS, ATTR_VALUE_VSIDES, ATTR_VALUE_BOX, ATTR_VALUE_BORDER};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_FRAME, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_FRAMEBORDER)) {
-			// (frameborder (1|0) 1)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_1, ATTR_VALUE_0};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_1);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_FRAMEBORDER, atype, CMAttributeDeclaration.OPTIONAL);
-
-			//<<D215684
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_FRAMESPACING)) {
-			// (framespacing CDATA; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_FRAMESPACING, atype, CMAttributeDeclaration.OPTIONAL);
-			//D215684
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HEADERS)) {
-			// (HEADERS IDREFS; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.IDREFS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HEADERS, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HEIGHT)) {
-			// (height %Length; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HEIGHT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HIDDEN)) {
-			// (hidden CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HIDDEN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HREF)) {
-			// (href %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HREF, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HREFLANG)) {
-			// (hreflang %LanguageCode; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LANGUAGE_CODE);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HREFLANG, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HSPACE)) {
-			// (hspace %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HSPACE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HTTP_EQUIV)) {
-			// (http-equiv NAME #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.NAME);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HTTP_EQUIV, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ID)) {
-			// (id ID #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ID);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ID, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ISMAP)) {
-			// (ismap (ismap) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_ISMAP};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ISMAP, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ISTYLE)) {
-			// (istyle CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ISTYLE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_LABEL)) {
-			// (label %Text; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_LABEL, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_LANG)) {
-			// (lang %LanguageCode; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LANGUAGE_CODE);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_LANG, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_LANGUAGE)) {
-			// (language %CDATA; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_LANGUAGE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_LINK)) {
-			// (link %Color; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_LINK, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_LONGDESC)) {
-			// (longdesc %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_LONGDESC, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_LOOP)) {
-			// (loop CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_LOOP, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MACRO)) {
-			// (macro CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MACRO, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MAPFILE)) {
-			// (mapfile %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MAPFILE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MARGINWIDTH)) {
-			// (marginwidth %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MARGINWIDTH, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MARGINHEIGHT)) {
-			// (marginheight %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MARGINHEIGHT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MAXLENGTH)) {
-			// (maxlength NUMBER #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MAXLENGTH, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MAYSCRIPT)) {
-			// (mayscript (mayscript) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_MAYSCRIPT};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MAYSCRIPT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MEDIA)) {
-			// (media %MediaDesc; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.MEDIA_DESC);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MEDIA, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_METHOD)) {
-			// (method (GET|POST) GET)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_GET, ATTR_VALUE_POST};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_GET);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_METHOD, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MULTIPLE)) {
-			// (multiple (multiple) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_MULTIPLE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MULTIPLE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_NAME)) {
-			// (name CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_NOHREF)) {
-			// (nohref (nohref) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_NOHREF};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_NOHREF, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_NORESIZE)) {
-			// (noresize (noresize) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_NORESIZE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_NORESIZE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_NOSHADE)) {
-			// (noshade (noshade) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_NOSHADE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_NOSHADE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_NOWRAP)) {
-			// (nowrap (nowrap) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_NOWRAP};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_NOWRAP, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_OBJECT)) {
-			// (object CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_OBJECT};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_OBJECT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONBLUR)) {
-			// (onblur %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONBLUR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONCLICK)) {
-			// (onclick %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONCLICK, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONCHANGE)) {
-			// (onchange %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONCHANGE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDBLCLICK)) {
-			// (ondblclick %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDBLCLICK, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONFOCUS)) {
-			//	(onfocus %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONFOCUS, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONHELP)) {
-			// (onhelp %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONHELP, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONKEYPRESS)) {
-			// (onkeypress %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONKEYPRESS, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONKEYDOWN)) {
-			// (onkeydown %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONKEYDOWN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONKEYUP)) {
-			// (onkyeup %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONKEYUP, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONLOAD)) {
-			// (onload %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONLOAD, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEDOWN)) {
-			// (onmousedown %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEDOWN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEUP)) {
-			// (onmouseup %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEUP, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEOVER)) {
-			// (onmouseover %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEOVER, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEMOVE)) {
-			// (onmousemove %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEMOVE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEOUT)) {
-			// (onmouseout %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEOUT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONRESET)) {
-			// (onreset %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONRESET, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONSELECT)) {
-			// (onselect %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSELECT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONSUBMIT)) {
-			// (onsubmit %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSUBMIT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ONUNLOAD)) {
-			// (onunload %Script; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ONUNLOAD, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_PALETTE)) {
-			// (palette CDATA; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_PALETTE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_PANEL)) {
-			// (panel CDATA; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_PANEL, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_PLAYCOUNT)) {
-			// (playcount NUMBER; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_PLAYCOUNT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_PROFILE)) {
-			// (profile %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_PROFILE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_PROMPT)) {
-			// (prompt %Text; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_PROMPT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_READONLY)) {
-			// (readonly (readonly) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_READONLY};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_READONLY, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_REPEAT)) {
-			// (repeat CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_REPEAT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_REL)) {
-			// (rel %LinkTypes; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LINK_TYPES);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_REL, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_REV)) {
-			// (rev %LinkTypes; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LINK_TYPES);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_REV, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ROWS)) {
-			// (rows NUMBER #REQUIRED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ROWS, atype, CMAttributeDeclaration.REQUIRED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ROWSPAN)) {
-			// (rowspan NUMBER 1)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_1);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ROWSPAN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_RULES)) {
-			// (rules %TRules; #IMPLIED)
-			// %TRules; is (none | groups | rows | cols | all).
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_NONE, ATTR_VALUE_GROUPS, ATTR_VALUE_ROWS, ATTR_VALUE_COLS, ATTR_VALUE_ALL};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_RULES, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SCALE)) {
-			// (scale CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SCALE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SCHEME)) {
-			// (scheme CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SCHEME, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SELECTED)) {
-			// (selected (selected) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_SELECTED};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SELECTED, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SCOPE)) {
-			// (SCOPE %Scope; #IMPLIED)
-			// %Scope; is (row|col|rowgroup|colgroup)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_ROW, ATTR_VALUE_COL, ATTR_VALUE_ROWGROUP, ATTR_VALUE_COLGROUP};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SCOPE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SCROLLAMOUNT)) {
-			// (scrollamount NUMBER #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SCROLLAMOUNT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SCROLLDELAY)) {
-			// (scrolldelay NUMBER #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SCROLLDELAY, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SCROLLING)) {
-			// (scrolling (yes|no|auto) auto)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_YES, ATTR_VALUE_NO, ATTR_VALUE_AUTO};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_AUTO);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SCROLLING, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SHAPE)) {
-			// (shape %Shape; rect): %Shape; is (rect|circle|poly|default).
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_RECT, ATTR_VALUE_CIRCLE, ATTR_VALUE_POLY, ATTR_VALUE_DEFAULT};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_RECT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SHAPE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SHOWCONTROLS)) {
-			// (showcontrols (true|false) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SHOWCONTROLS, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SIZE)) {
-			// (size %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SIZEFMT)) {
-			// (sizefmt CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SIZEFMT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SPAN)) {
-			// (span NUMBER 1)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_1);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SPAN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SRC)) {
-			// (src %URI; #IMPLIED)
-			// NOTE: "src" attributes are defined in several elements.
-			//		 The definition of IMG is different from others.
-			//		 So, it should be locally defined.
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SRC, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_START)) {
-			// (start NUMBER #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_START, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_STANDBY)) {
-			// (standby %Text; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_STANDBY, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_STYLE)) {
-			// (style %StyleSheet; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.STYLE_SHEET);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_STYLE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SUMMARY)) {
-			// (summary %Text; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SUMMARY, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TABINDEX)) {
-			// (tabindex NUMBER #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TABINDEX, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TARGET)) {
-			// (target %FrameTarget; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.FRAME_TARGET);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TARGET, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TEXT)) {
-			// (text CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TEXT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TEXTFOCUS)) {
-			// (textfocus CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TEXTFOCUS, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TITLE)) {
-			// (title %Text; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TITLE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TIMEFMT)) {
-			// (timefmt CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TIMEFMT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TRUESPEED)) {
-			// (truespeed (truespeed) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_TRUESPEED};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TRUESPEED, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TYPE)) {
-			// (type %CotentType; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_USEMAP)) {
-			// (usemap %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_USEMAP, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VALIGN)) {
-			// (valign (top|middle|bottom|baseline) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_MIDDLE, ATTR_VALUE_BOTTOM, ATTR_VALUE_BASELINE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VALUE)) {
-			// (value CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VALUE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VALUETYPE)) {
-			// (valuetype (DATA|REF|OBJECT) DATA)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_DATA, ATTR_VALUE_REF, ATTR_VALUE_OBJECT};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_DATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VALUETYPE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VAR)) {
-			// (var CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VAR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VERSION)) {
-			// (version CDATA #FIXED '%HTML.Version;)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_FIXED, ATTR_VALUE_VERSION_TRANSITIONAL);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VERSION, atype, CMAttributeDeclaration.FIXED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VIRTUAL)) {
-			// (virtual %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VIRTUAL, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VLINK)) {
-			// (vlink %Color; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VLINK, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VOLUME)) {
-			// (volume CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VOLUME, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_WIDTH)) {
-			// (width %Length; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VSPACE)) {
-			// (vspace %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VSPACE, atype, CMAttributeDeclaration.OPTIONAL);
-
-			// <<D205514
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TOPMARGIN)) {
-			// (topmargin, CDATA, #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TOPMARGIN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_BOTTOMMARGIN)) {
-			// (bottommargin, CDATA, #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_BOTTOMMARGIN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_LEFTMARGIN)) {
-			// (leftmargin, CDATA, #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_LEFTMARGIN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_RIGHTMARGIN)) {
-			// (rightmargin, CDATA, #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_RIGHTMARGIN, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_BORDERCOLOR)) {
-			// (bordercolor, %Color; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_BORDERCOLOR, atype, CMAttributeDeclaration.OPTIONAL);
-			// D205514
-
-		}
-		else {
-			// unknown attribute; maybe error.
-			// should warn.
-			attr = null;
-		}
-
-		return attr;
-	}
-
-	/**
-	 * Get align attribute which has %CAlign; as values..
-	 * At this time (4/19/2001), it is identical to %LAlign;.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public static final HTMLAttrDeclImpl createAlignForCaption() {
-		// align (local)
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		// set enum values
-		String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT};
-		atype.setEnumValues(values);
-
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		return attr;
-	}
-
-	/**
-	 * Get align attribute which has %IAlign; as values..
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public static final HTMLAttrDeclImpl createAlignForImage() {
-		// align (local)
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		// set enum values
-		String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_MIDDLE, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT};
-		atype.setEnumValues(values);
-
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		return attr;
-	}
-
-	/**
-	 * Get align attribute which has %LAlign; as values..
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public static final HTMLAttrDeclImpl createAlignForLegend() {
-		// align (local)
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		// set enum values
-		String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT};
-		atype.setEnumValues(values);
-
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		return attr;
-	}
-
-	/**
-	 * Create an attribute declaration for <code>align</code>
-	 * in several elements, like <code>P</code>, <code>DIV</code>.
-	 * The values are different from attributes those have the same name
-	 * in other elements (<code>IMG</code> and <code>TABLE</code>).
-	 * So, it can't treat as global attributes.
-	 * <strong>NOTE: These attribute declaration has
-	 * no owner CMDocument instance.</strong>
-	 * @return com.ibm.sed.contentmodel.html.HTMLAttrDeclImpl
-	 */
-	public static final HTMLAttrDeclImpl createAlignForParagraph() {
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		// set enum values: left|center|right|justify
-		String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_CENTER, ATTR_VALUE_RIGHT, ATTR_VALUE_JUSTIFY};
-		atype.setEnumValues(values);
-
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		return attr;
-	}
-
-	/**
-	 * Get %attrs; declarations.
-	 * %attrs; consists of %coreattrs;, %i18n, and %events;.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getAttrs(CMNamedNodeMapImpl declarations) {
-		// %coreattrs;
-		Iterator names = Arrays.asList(CORE).iterator();
-		getDeclarations(declarations, names);
-		// %i18n;
-		names = Arrays.asList(I18N).iterator();
-		getDeclarations(declarations, names);
-		// %events;
-		names = Arrays.asList(EVENTS).iterator();
-		getDeclarations(declarations, names);
-	}
-
-	/**
-	 * Get %bodycolors; declarations.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getBodycolors(CMNamedNodeMapImpl declarations) {
-		Iterator names = Arrays.asList(BODYCOLORS).iterator();
-		getDeclarations(declarations, names);
-	}
-
-	/**
-	 * Get %cellhalign; declarations.
-	 * %cellhaligh; consists of:
-	 *  - (align (left|center|right|justify|char) #IMPLIED)
-	 *  - (char %Character; #IMPLIED)
-	 *  - (charoff %Length; #IMPLIED)
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getCellhalign(CMNamedNodeMapImpl declarations) {
-		// (align (left|center|right|justify|char) #IMPLIED) should be defined
-		// locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		// set enum values
-		String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_CENTER, ATTR_VALUE_RIGHT, ATTR_VALUE_JUSTIFY, ATTR_VALUE_CHAR};
-		atype.setEnumValues(values);
-
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		declarations.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-
-		// the rest.
-		Iterator names = Arrays.asList(CELLHALIGN).iterator();
-		getDeclarations(declarations, names);
-	}
-
-	/**
-	 * Get %cellvalign; declarations.
-	 * %cellhaligh; is:
-	 *  - (valign (top|middle|bottom|baseline) #IMPLIED)
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getCellvalign(CMNamedNodeMapImpl declarations) {
-		HTMLAttributeDeclaration dec = getDeclaration(HTML40Namespace.ATTR_NAME_VALIGN);
-		if (dec != null)
-			declarations.putNamedItem(HTML40Namespace.ATTR_NAME_VALIGN, dec);
-	}
-
-	/**
-	 * Get %coreattrs; declarations.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getCore(CMNamedNodeMapImpl declarations) {
-		Iterator names = Arrays.asList(CORE).iterator();
-		getDeclarations(declarations, names);
-	}
-
-	/**
-	 * Get a global attribute declaration.
-	 * @return com.ibm.sed.contentmodel.html.HTMLAttrributeDeclaration
-	 * @param attrName java.lang.String
-	 */
-	public HTMLAttributeDeclaration getDeclaration(String attrName) {
-		CMNode cmnode = getNamedItem(attrName);
-		if (cmnode != null)
-			return (HTMLAttributeDeclaration) cmnode; // already exists.
-
-		HTMLAttrDeclImpl dec = create(attrName);
-		if (dec != null)
-			putNamedItem(attrName, dec);
-
-		return dec;
-	}
-
-	/**
-	 * Get declarations which are specified by names.
-	 * @param declarations com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 * @param names java.util.Iterator
-	 */
-	public void getDeclarations(CMNamedNodeMapImpl declarations, Iterator names) {
-		while (names.hasNext()) {
-			String attrName = (String) names.next();
-			HTMLAttributeDeclaration dec = getDeclaration(attrName);
-			if (dec != null)
-				declarations.putNamedItem(attrName, dec);
-		}
-	}
-
-	/**
-	 * Get %events; declarations.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getEvents(CMNamedNodeMapImpl declarations) {
-		Iterator names = Arrays.asList(EVENTS).iterator();
-		getDeclarations(declarations, names);
-	}
-
-	/**
-	 * Get %i18n; declarations.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getI18n(CMNamedNodeMapImpl declarations) {
-		Iterator names = Arrays.asList(I18N).iterator();
-		getDeclarations(declarations, names);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMContentImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMContentImpl.java
deleted file mode 100644
index 20341fb..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMContentImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-
-
-
-/**
- * Implementation of CMContent for HTML CM.
- */
-abstract class CMContentImpl extends CMNodeImpl implements CMContent {
-
-	public static final int UNBOUNDED = -1;
-	/**  -1: it's UNBOUNDED. */
-	private int maxOccur = UNBOUNDED;
-	/**  0: it's OPTIONAL, 1, it's REQUIRED. */
-	private int minOccur = 0;
-
-	/**
-	 * The primary consturctor.
-	 * Use this one for usual cases.<br>
-	 */
-	public CMContentImpl(String name, int min, int max) {
-		super(name);
-		minOccur = min;
-		maxOccur = max;
-	}
-
-	/**
-	 * getMaxOccur method
-	 * @return int
-	 *
-	 * If -1, it's UNBOUNDED.
-	 */
-	public int getMaxOccur() {
-		return maxOccur;
-	}
-
-	/**
-	 * getMinOccur method
-	 * @return int
-	 *
-	 * If 0, it's OPTIONAL.
-	 * If 1, it's REQUIRED.
-	 */
-	public int getMinOccur() {
-		return minOccur;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMGroupImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMGroupImpl.java
deleted file mode 100644
index cbbe37f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMGroupImpl.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-
-/**
- */
-class CMGroupImpl extends CMContentImpl implements CMGroup {
-
-	private int operator = CMGroup.SEQUENCE;
-	private CMNodeListImpl children = null;
-
-	/**
-	 * CMGroupImpl constructor comment.
-	 */
-	public CMGroupImpl(int op, int minOccur, int maxOccur) {
-		super(null, minOccur, maxOccur);
-		switch (op) {
-			case CMGroup.ALL :
-			case CMGroup.CHOICE :
-			case CMGroup.SEQUENCE :
-				operator = op;
-				break;
-			default :
-				// should warn.
-				break;
-		}
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNode
-	 * @param org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	protected CMNode appendChild(CMNode child) {
-		if (child == null)
-			return null;
-		if (children == null)
-			children = new CMNodeListImpl();
-		return children.appendNode(child);
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNodeList
-	 */
-	public CMNodeList getChildNodes() {
-		return children;
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ELEMENT_DECLARATION, ATTRIBUTE_DECLARATION, GROUP, ENTITY_DECLARATION.
-	 */
-	public int getNodeType() {
-		return CMNode.GROUP;
-	}
-
-	/**
-	 * getOperation method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ALONE (a), SEQUENCE (a,b), CHOICE (a|b), ALL (a&b).
-	 */
-	public int getOperator() {
-		return operator;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNamedNodeMapImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNamedNodeMapImpl.java
deleted file mode 100644
index ac775f61..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNamedNodeMapImpl.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * An implementation of the CMNamedNodeMap interface.
- * This class is intented to be used as a container of attribute declarations.
- * If someone wants to use this class for other purpose, he must pay attention
- * to the fact that this class is tolerant of the key name case.  That is, this
- * class does not distinguish "name", "NAME", and "Name" as a key name.
- */
-class CMNamedNodeMapImpl implements CMNamedNodeMap {
-
-	private Hashtable items = null;
-
-	/**
-	 */
-	public CMNamedNodeMapImpl() {
-		super();
-		items = new Hashtable();
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return items.size();
-	}
-
-	/**
-	 * getNamedItem method
-	 * @return CMNode <code>null</code> for unknown keys.
-	 * @param name java.lang.String
-	 */
-	public CMNode getNamedItem(String name) {
-		String cookedName = makeCanonicalForm(name);
-		if (!items.containsKey(cookedName))
-			return null;
-		return (CMNode) items.get(cookedName);
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		Iterator iter = iterator();
-		while (iter.hasNext()) {
-			CMNode node = (CMNode) iter.next();
-			if (--index < 0)
-				return node;
-		}
-		return null;
-	}
-
-	/**
-	 * @return java.util.Iterator
-	 */
-	public Iterator iterator() {
-		return items.values().iterator();
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param rawForm java.lang.String
-	 */
-	private String makeCanonicalForm(String rawForm) {
-		return rawForm.toUpperCase();
-	}
-
-	/**
-	 * @param key java.lang.String
-	 * @param item java.lang.String
-	 */
-	void putNamedItem(String name, CMNode item) {
-		String cookedName = makeCanonicalForm(name);
-		if (items.containsKey(cookedName))
-			return; // already registered.
-		items.put(cookedName, item);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNamespaceImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNamespaceImpl.java
deleted file mode 100644
index f24a601..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNamespaceImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamespace;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * CMNamespace implementation.
- */
-class CMNamespaceImpl extends CMNodeImpl implements CMNamespace {
-
-	private java.lang.String prefix = null;
-
-	/**
-	 * CMNamespaceImpl constructor comment.
-	 */
-	public CMNamespaceImpl(String uri, String pfx) {
-		super(uri);
-		prefix = pfx;
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 *
-	 */
-	public int getNodeType() {
-		return CMNode.NAME_SPACE;
-	}
-
-	/**
-	 * getPrefix method
-	 * @return java.lang.String
-	 */
-	public String getPrefix() {
-		return prefix;
-	}
-
-	/**
-	 * getURI method
-	 * @return java.lang.String
-	 */
-	public String getURI() {
-		return getNodeName();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNodeImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNodeImpl.java
deleted file mode 100644
index 9c45f16..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNodeImpl.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-
-
-
-/**
- */
-abstract class CMNodeImpl implements CMNode {
-
-	private java.lang.String name = null;
-
-	/**
-	 * CMNodeImpl constructor comment.
-	 */
-	public CMNodeImpl(String nm) {
-		super();
-		name = nm;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return name;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.IS_XHTML))
-			return new Boolean(false);
-		return null;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.IS_XHTML))
-			return true;
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNodeListImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNodeListImpl.java
deleted file mode 100644
index a821fc5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CMNodeListImpl.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-
-/**
- * Analog of dom.NodeList for CM.
- * So, the implementation is very similar to
- * {@link com.ibm.sed.model.xml.NodeListImpl}.<br>
- */
-class CMNodeListImpl implements CMNodeList {
-
-	private java.util.Vector nodes = null;
-
-	/**
-	 * CMNodeListImpl constructor comment.
-	 */
-	public CMNodeListImpl() {
-		super();
-		nodes = new java.util.Vector();
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNode
-	 * @param node org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	protected CMNode appendNode(CMNode node) {
-		nodes.addElement(node);
-		return node;
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return nodes.size();
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		if (index < 0 || index >= nodes.size())
-			return null;
-		return (CMNode) nodes.elementAt(index);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ComplexTypeDefinition.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ComplexTypeDefinition.java
deleted file mode 100644
index 8ddb773..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ComplexTypeDefinition.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMGroup;
-
-/**
- * This class is intended to represent a complex type definition
- * in XML Schema.<br>
- */
-abstract class ComplexTypeDefinition {
-
-	protected CMGroupImpl content = null;
-	protected ElementCollection collection = null;
-	protected String primaryCandidateName = null;
-
-	/**
-	 * ComplexTypeDefinition constructor comment.
-	 */
-	public ComplexTypeDefinition(ElementCollection elementCollection) {
-		super();
-		collection = elementCollection;
-		createContent();
-	}
-
-	/**
-	 * Create an actual content model.
-	 * This method should be called once and only once in the constructor.<br>
-	 */
-	protected abstract void createContent();
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMGroup
-	 */
-	public CMGroup getContent() {
-		return content;
-	}
-
-	/**
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	/* NOTE: Do we need LOGICAL type?
-	 * -- 3/7/2001
-	 */
-	public abstract int getContentType();
-
-	/**
-	 * Get content hint.
-	 * @return com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public HTMLElementDeclaration getPrimaryCandidate() {
-		if (primaryCandidateName == null)
-			return null;
-		return (HTMLElementDeclaration) collection.getNamedItem(primaryCandidateName);
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public abstract String getTypeName();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ComplexTypeDefinitionFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ComplexTypeDefinitionFactory.java
deleted file mode 100644
index ecf6f04..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ComplexTypeDefinitionFactory.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-/**
- * Factory of ComplexTypeDefinition.
- */
-final class ComplexTypeDefinitionFactory {
-
-	private static ComplexTypeDefinitionFactory instance = null;
-	private java.util.Hashtable definitions = null;
-	// constants for complex type name
-	/** for ADDRESS. */
-	public final static String CTYPE_ADDRESS = "CTYPE_ADDRESS";//$NON-NLS-1$
-	/** CDATA content. No ComplexTypeDefinition instance shuld be created. */
-	public final static String CTYPE_CDATA = "CTYPE_CDATA";//$NON-NLS-1$
-	/** col group content. COL* */
-	public final static String CTYPE_COLUMN_GROUP = "CTYPE_COLUMN_GROUP";//$NON-NLS-1$
-	/** for DL. */
-	public final static String CTYPE_DEFINITION_LIST = "CTYPE_DEFINITION_LIST";//$NON-NLS-1$
-	/** for EMBED. */
-	public final static String CTYPE_EMBED = "CTYPE_EMBED";//$NON-NLS-1$
-	/** empty content. No ComplexTypeDefinition instance should be created. */
-	public final static String CTYPE_EMPTY = "CTYPE_EMPTY";//$NON-NLS-1$
-	/** for FIELDSET. */
-	public final static String CTYPE_FIELDSET = "CTYPE_FIELDSET";//$NON-NLS-1$
-	/** for FRAMESET. */
-	public final static String CTYPE_FRAMESET = "CTYPE_FRAMESET";//$NON-NLS-1$
-	/** flow content. (%flow;)* */
-	public final static String CTYPE_FLOW_CONTAINER = "CTYPE_FLOW_CONTAINER";//$NON-NLS-1$
-	/** html content. HEAD, (FRAMESET|BODY) */
-	public final static String CTYPE_HTML = "CTYPE_HTML";//$NON-NLS-1$
-	/** head content. TITLE & ISINDEX? & BASE? */
-	public final static String CTYPE_HEAD = "CTYPE_HEAD";//$NON-NLS-1$
-	/** inline content. (%inline;)* */
-	public final static String CTYPE_INLINE_CONTAINER = "CTYPE_INLINE_CONTAINER";//$NON-NLS-1$
-	/** list item container. (LI)+ */
-	public final static String CTYPE_LI_CONTAINER = "CTYPE_LI_CONTAINER";//$NON-NLS-1$
-	/** for MAP. */
-	public final static String CTYPE_MAP = "CTYPE_MAP";//$NON-NLS-1$
-	/** noframes content. */
-	public final static String CTYPE_NOFRAMES_CONTENT = "CTYPE_NOFRAMES_CONTENT";//$NON-NLS-1$
-	/** for OPTGROUP. */
-	public final static String CTYPE_OPTION_CONTAINER = "CTYPE_OPTION_CONTAINER";//$NON-NLS-1$
-	/** param container. For OBJECT/APPLET. */
-	public final static String CTYPE_PARAM_CONTAINER = "CTYPE_PARAM_CONTAINER";//$NON-NLS-1$
-	/** PCDATA content. No ComplexTypeDefinition instance shuld be created. */
-	public final static String CTYPE_PCDATA = "CTYPE_PCDATA";//$NON-NLS-1$
-	/** for SELECT. */
-	public final static String CTYPE_SELECT = "CTYPE_SELECT";//$NON-NLS-1$
-	/** table content. CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+ */
-	public final static String CTYPE_TABLE = "CTYPE_TABLE";//$NON-NLS-1$
-	/** table cell contaier. (TH|TD)+ */
-	public final static String CTYPE_TCELL_CONTAINER = "CTYPE_TCELL_CONTAINER";//$NON-NLS-1$
-	/** table record container. (TR)+ */
-	public final static String CTYPE_TR_CONTAINER = "CTYPE_TR_CONTAINER";//$NON-NLS-1$
-
-	/**
-	 * ComplexTypeDefinitionFactory constructor comment.
-	 */
-	private ComplexTypeDefinitionFactory() {
-		super();
-		definitions = new java.util.Hashtable();
-	}
-
-	/**
-	 * Factory method for ComplexTypeDefinition.
-	 * Each instance created in this method must be registered into
-	 * the map with its name.
-	 * @return com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 * @param definitionName java.lang.String
-	 * @param elementCollection ElementCollection
-	 */
-	public ComplexTypeDefinition createTypeDefinition(String definitionName, ElementCollection elementCollection) {
-		if (definitions.containsKey(definitionName)) {
-			return (ComplexTypeDefinition) definitions.get(definitionName);
-		}
-
-		ComplexTypeDefinition def = null;
-		if (definitionName == CTYPE_ADDRESS) {
-			def = new CtdAddress(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_COLUMN_GROUP) {
-			def = new CtdColumnGroup(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_DEFINITION_LIST) {
-			def = new CtdDl(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_EMBED) {
-			def = new CtdEmbed(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_FIELDSET) {
-			def = new CtdFieldset(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_FLOW_CONTAINER) {
-			def = new CtdFlowContainer(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_FRAMESET) {
-			def = new CtdFrameset(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_HEAD) {
-			def = new CtdHead(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_HTML) {
-			def = new CtdHtml(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_INLINE_CONTAINER) {
-			def = new CtdInlineContainer(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_LI_CONTAINER) {
-			def = new CtdLiContainer(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_MAP) {
-			def = new CtdMap(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_NOFRAMES_CONTENT) {
-			def = new CtdNoframesContent(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_OPTION_CONTAINER) {
-			def = new CtdOptionContainer(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_PARAM_CONTAINER) {
-			def = new CtdParamContainer(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_SELECT) {
-			def = new CtdSelect(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_TABLE) {
-			def = new CtdTable(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_TCELL_CONTAINER) {
-			def = new CtdTableCellContainer(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_TR_CONTAINER) {
-			def = new CtdTrContainer(elementCollection);
-
-		}
-		else {
-			def = null;
-		}
-		if (def == null)
-			return null; // fail to create.
-		definitions.put(definitionName, def);
-		return def;
-	}
-
-	/**
-	 * For singleton.<br>
-	 * @return com.ibm.sed.contentmodel.html.ComplexTypeDefinitionFactory
-	 */
-	public synchronized static ComplexTypeDefinitionFactory getInstance() {
-		if (instance != null)
-			return instance;
-		instance = new ComplexTypeDefinitionFactory();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdAddress.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdAddress.java
deleted file mode 100644
index a524a1c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdAddress.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * for ADDRESS.
- */
-final class CtdAddress extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdAddress(ElementCollection elementCollection) {
-		super(elementCollection);
-	}
-
-	/**
-	 * ((%inline) | P)*.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( | )*
-		content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		// (%inline)
-		CMGroupImpl inlines = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		if (inlines == null)
-			return;
-		collection.getInline(inlines);
-		content.appendChild(inlines);
-		// P
-		CMNode p = collection.getNamedItem(HTML40Namespace.ElementName.P);
-		if (p != null)
-			content.appendChild(p);
-	}
-
-	/**
-	 * ((%inline) | P)*.
-	 * Because %inline; contains #PCDATA, the type is MIXED.
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.MIXED;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_ADDRESS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdColumnGroup.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdColumnGroup.java
deleted file mode 100644
index f3b8e55..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdColumnGroup.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * COL group.
- * (COL)*
- */
-final class CtdColumnGroup extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdColumnGroup(ElementCollection elementCollection) {
-		super(elementCollection);
-	}
-
-	/**
-	 * (COL)*
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( )*
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED);
-		// COL
-		CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.COL);
-		if (dec != null)
-			content.appendChild(dec);
-	}
-
-	/**
-	 * (COL)*
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_COLUMN_GROUP;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdDl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdDl.java
deleted file mode 100644
index abd3dd4..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdDl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * for DL.
- */
-final class CtdDl extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdDl(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.DT;
-	}
-
-	/**
-	 * (DT | DD)+
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( | )+
-		content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED);
-		// DT
-		CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.DT);
-		if (dec != null)
-			content.appendChild(dec);
-		// DD
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.DD);
-		if (dec != null)
-			content.appendChild(dec);
-	}
-
-	/**
-	 * (DT | DD)+.
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_DEFINITION_LIST;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdEmbed.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdEmbed.java
deleted file mode 100644
index f5abdd5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdEmbed.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * for EMBED.
- */
-final class CtdEmbed extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdEmbed(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.NOEMBED;
-	}
-
-	/**
-	 * (NOEMBED).
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( )
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-		// NOEMBED
-		CMNode noembed = collection.getNamedItem(HTML40Namespace.ElementName.NOEMBED);
-		if (noembed != null)
-			content.appendChild(noembed);
-	}
-
-	/**
-	 * (NOEMBED).
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_EMBED;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdFieldset.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdFieldset.java
deleted file mode 100644
index e54e8f5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdFieldset.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * for FIELDSET.
- */
-final class CtdFieldset extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdFieldset(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.LEGEND;
-	}
-
-	/**
-	 * (#PCDATA, LEGEND, (%flow;)*)
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( , , )
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-		// #PCDATA
-		// ...??
-
-		// LEGEND
-		CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.LEGEND);
-		if (dec != null)
-			content.appendChild(dec);
-		// (%flow;)*
-		CMGroupImpl flows = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		if (flows == null)
-			return;
-		collection.getFlow(flows);
-		content.appendChild(flows);
-	}
-
-	/**
-	 * (#PCDATA, LEGEND, (%flow;)*)
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.MIXED;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_FIELDSET;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdFlowContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdFlowContainer.java
deleted file mode 100644
index 7b202be..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdFlowContainer.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-
-/**
- * Complex type definition for containers of <code>%flow;</code>.
- */
-final class CtdFlowContainer extends ComplexTypeDefinition {
-
-	/**
-	 */
-	public CtdFlowContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-	}
-
-	/**
-	 * (%flow;)*
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		collection.getFlow(content);
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.MIXED;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_FLOW_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdFrameset.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdFrameset.java
deleted file mode 100644
index 759d983..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdFrameset.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * for FRAMESET.
- * ((FRAMESET | FRAME)+ & NOFRAMES?)
- */
-final class CtdFrameset extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdFrameset(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.FRAME;
-	}
-
-	/**
-	 * ((FRAMESET | FRAME)+ & NOFRAMES?).
-	 * --> ((FRAMESET | FRAME)+ & (NOFRAMES)?)
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( & )
-		content = new CMGroupImpl(CMGroup.ALL, 1, 1);
-
-		// ( | )+
-		CMGroupImpl group = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED);
-		if (group == null)
-			return;
-		content.appendChild(group);
-
-		// FRAMESET
-		CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.FRAMESET);
-		if (dec != null)
-			group.appendChild(dec);
-		// FRAME
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.FRAME);
-		if (dec != null)
-			group.appendChild(dec);
-
-		// ( )?
-		group = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1);
-		if (group == null)
-			return;
-		content.appendChild(group);
-
-		// NOFRAMES
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.NOFRAMES);
-		if (dec != null)
-			group.appendChild(dec);
-	}
-
-	/**
-	 * ((FRAMESET | FRAME)+ & NOFRAMES?)
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_FRAMESET;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdHead.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdHead.java
deleted file mode 100644
index 684241e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdHead.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * Complex type definition for the head content.
- * Content Model: (TITLE & ISINDEX? & BASE?)
- */
-final class CtdHead extends ComplexTypeDefinition {
-
-	/**
-	 */
-	public CtdHead(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.TITLE;
-	}
-
-	/**
-	 * for HEAD.
-	 * To avoid using inclusion, the content model comes from the XHTML 1.0.
-	 *
-	 * (%head.misc;, ((title, %head.misc;, (base, %head.misc;)?) | (base, %head.misc;, (title, %head.misc;))))
-	 * And %head.misc; is:
-	 * (script|style|meta|link|object|isindex)*
-	 *
-	 * 0: (%head.misc, A)
-	 * A: (B | C)
-	 * B: (title, %head.misc;, D)
-	 * C: (base, %head.misc;, E)
-	 * D: (base, %head.misc;)?
-	 * E: (title, %head.misc;)
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// At 1st, create %head.misc; content.
-		// %head.misc;
-		//   ( | )*
-		CMGroupImpl misc = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		if (misc == null)
-			return;
-		String[] names = {HTML40Namespace.ElementName.SCRIPT, HTML40Namespace.ElementName.STYLE, HTML40Namespace.ElementName.META, HTML40Namespace.ElementName.LINK, HTML40Namespace.ElementName.OBJECT, HTML40Namespace.ElementName.ISINDEX};
-		collection.getDeclarations(misc, Arrays.asList(names).iterator());
-		// 2nd, get a title
-		CMNode title = collection.getNamedItem(HTML40Namespace.ElementName.TITLE);
-		// 3rd, get a base
-		CMNode base = collection.getNamedItem(HTML40Namespace.ElementName.BASE);
-		if (title == null || base == null)
-			return;
-
-		// Top level content is a sequence of %head.misc; and A.
-		// 0: (%head.misc;, A)
-		//   create a sequence
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-		if (content == null)
-			return;
-		//   append %head.misc;
-		content.appendChild(misc);
-		//   create A and append it to the top level.
-		{
-			// A is a choice of B and C.
-			// A: (B | C)
-			//   create a choice
-			CMGroupImpl gA = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-			if (gA == null)
-				return;
-			//   append A to the top level.
-			content.appendChild(gA);
-
-			// create B and append it to A
-			{
-				// B is a sequence of title, %head.misc;, and D.
-				// B: (title, %head.misc;, D)
-				//   create a sequence
-				CMGroupImpl gB = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-				if (gB == null)
-					return;
-				//   append B to A.
-				gA.appendChild(gB);
-
-				//   append title to B
-				gB.appendChild(title);
-				//   append %head.misc; to B
-				gB.appendChild(misc);
-				//   create D and append it to B.
-				{
-					// D is a sequence of base, %head.misc;.
-					// D: (base, %head.misc;)?
-					//   create a sequence
-					CMGroupImpl gD = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1);
-					if (gD == null)
-						return;
-					//   append D to B.
-					gB.appendChild(gD);
-
-					//   append base to D
-					gD.appendChild(base);
-					//   append %head.misc; to D.
-					gD.appendChild(misc);
-				}
-			}
-			// create C and append it to A
-			{
-				// C is a sequence of base, %head.misc;, and E
-				// C: (base, %head.misc;, E)
-				//   create a sequence
-				CMGroupImpl gC = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-				if (gC == null)
-					return;
-				//   append C to A.
-				gA.appendChild(gC);
-
-				//   append base to C
-				gC.appendChild(base);
-				//   append %head.misc; to C
-				gC.appendChild(misc);
-
-				//   create E and append it to C.
-				{
-					// E is a sequence of title and %head.misc;.
-					// E: (title, %head.misc;)
-					//   create a sequence
-					CMGroupImpl gE = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-					if (gE == null)
-						return;
-					//   append E to C.
-					gC.appendChild(gE);
-
-					//   append title to E
-					gE.appendChild(title);
-					//   append %head.misc; to E.
-					gE.appendChild(misc);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Element content.<br>
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_HEAD;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdHtml.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdHtml.java
deleted file mode 100644
index b13ba6b..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdHtml.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * Complex type definition for <code>HTML</code>.<br>
- * Content Model:
- * HEAD, (FRAMESET|BODY)<br>
- */
-final class CtdHtml extends ComplexTypeDefinition {
-
-	/**
-	 */
-	public CtdHtml(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.HEAD;
-	}
-
-	/**
-	 * (%html.content;).
-	 * %html.content; is HEAD, (FRAMESET | BODY).
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( )
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-		if (content == null)
-			return;
-
-		// HEAD
-		CMNode edec = collection.getNamedItem(HTML40Namespace.ElementName.HEAD);
-		if (edec != null)
-			content.appendChild(edec);
-
-		// ( | )
-		CMGroupImpl group = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		content.appendChild(group);
-
-		// FRAMESET, BODY
-		String[] names = {HTML40Namespace.ElementName.FRAMESET, HTML40Namespace.ElementName.BODY};
-		collection.getDeclarations(group, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * Element content.
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_HTML;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdInlineContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdInlineContainer.java
deleted file mode 100644
index 09ee6b8..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdInlineContainer.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-
-/**
- * Complex type definition for (%inline;)*.
- */
-final class CtdInlineContainer extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdInlineContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-	}
-
-	/**
-	 * (%inline)*.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		collection.getInline(content);
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.MIXED;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_INLINE_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdLiContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdLiContainer.java
deleted file mode 100644
index 4f56f0d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdLiContainer.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * List item container.
- * (LI)+
- */
-final class CtdLiContainer extends ComplexTypeDefinition {
-
-	/**
-	 * @param elemenCollection ElementCollection
-	 */
-	public CtdLiContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.LI;
-	}
-
-	/**
-	 * (LI)+.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// (LI)+
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED);
-		CMNode li = collection.getNamedItem(HTML40Namespace.ElementName.LI);
-		if (li != null)
-			content.appendChild(li);
-	}
-
-	/**
-	 * ELEMENT content.<br>
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_LI_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdMap.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdMap.java
deleted file mode 100644
index ac295ec..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdMap.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * for MAP.
- */
-final class CtdMap extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdMap(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.AREA;
-	}
-
-	/**
-	 * ((%block;) | AREA)+.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( | )+
-		content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED);
-		// (%block;)
-		CMGroupImpl blocks = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		if (blocks == null)
-			return;
-		collection.getBlock(blocks);
-		content.appendChild(blocks);
-		// AREA
-		CMNode area = collection.getNamedItem(HTML40Namespace.ElementName.AREA);
-		if (area != null)
-			content.appendChild(area);
-	}
-
-	/**
-	 * ((%block;) | AREA)+.
-	 * Because %block; consists of elements only, the type is ELEMENT.
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_MAP;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdNoframesContent.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdNoframesContent.java
deleted file mode 100644
index 4f220a3..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdNoframesContent.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * for NOFRAMES.
- */
-final class CtdNoframesContent extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdNoframesContent(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.BODY;
-	}
-
-	/**
-	 * (BODY).
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( )
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-		// BODY
-		CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.BODY);
-		if (dec != null)
-			content.appendChild(dec);
-	}
-
-	/**
-	 * (BODY)
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_NOFRAMES_CONTENT;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdOptionContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdOptionContainer.java
deleted file mode 100644
index 05237b3..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdOptionContainer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * OPTION container.
- * (OPTION)+
- */
-final class CtdOptionContainer extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdOptionContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.OPTION;
-	}
-
-	/**
-	 * (OPTION)+.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( )+
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED);
-		// OPTION
-		CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.OPTION);
-		if (dec != null)
-			content.appendChild(dec);
-	}
-
-	/**
-	 * (OPTION)+
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_OPTION_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdParamContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdParamContainer.java
deleted file mode 100644
index 587ec35..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdParamContainer.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * PARAM container.  For OBJECT and APPLET.
- */
-final class CtdParamContainer extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdParamContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-	}
-
-	/**
-	 * (PARAM | %flow;)*.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( | )*
-		content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		// PARAM
-		CMNode param = collection.getNamedItem(HTML40Namespace.ElementName.PARAM);
-		if (param != null)
-			content.appendChild(param);
-		// %flow;
-		CMGroupImpl flows = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		if (flows == null)
-			return;
-		collection.getInline(flows);
-		content.appendChild(flows);
-	}
-
-	/**
-	 * (PARAM | %flow;)*.
-	 * Because %flow; contains #PCDATA, the type is MIXED.
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.MIXED;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_PARAM_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdSelect.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdSelect.java
deleted file mode 100644
index 7f03f22..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdSelect.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * for SELECT.
- */
-final class CtdSelect extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdSelect(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.OPTION;
-	}
-
-	/**
-	 * (OPTGROUP | OPTION)+.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( | )+
-		content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED);
-		// OPTGROUP
-		CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.OPTGROUP);
-		if (dec != null)
-			content.appendChild(dec);
-		// OPTION
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.OPTION);
-		if (dec != null)
-			content.appendChild(dec);
-	}
-
-	/**
-	 * (OPTGROUP | OPTION)+.
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_SELECT;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdTable.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdTable.java
deleted file mode 100644
index 1e5f4b0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdTable.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * for TABLE.
- * (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)
- */
-final class CtdTable extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdTable(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.TBODY;
-	}
-
-	/**
-	 * (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)
-	 * --> ((CAPTION)?, ((COL)* | (COLGROUP)*), (THEAD)?, (TFOOT)?, (TBODY)+)
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( , , , ,)
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-
-		// (CAPTION)?
-		//     ( )?
-		CMGroupImpl wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1);
-		if (wrap == null)
-			return;
-		content.appendChild(wrap);
-		//     CAPTION
-		CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.CAPTION);
-		if (dec != null)
-			wrap.appendChild(dec);
-
-		// ((COL)* | (COLGROUP)*)
-		//     ( | )
-		CMGroupImpl group = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		if (group == null)
-			return;
-		content.appendChild(group);
-		//         (COL)*
-		wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED);
-		if (wrap == null)
-			return;
-		group.appendChild(wrap);
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.COL);
-		if (dec != null)
-			wrap.appendChild(dec);
-		//         (COLGROUP)*
-		wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED);
-		if (wrap == null)
-			return;
-		group.appendChild(wrap);
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.COLGROUP);
-		if (dec != null)
-			wrap.appendChild(dec);
-
-		// (THEAD)?
-		wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1);
-		if (wrap == null)
-			return;
-		content.appendChild(wrap);
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.THEAD);
-		if (dec != null)
-			wrap.appendChild(dec);
-
-		// (TFOOT)?
-		wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1);
-		if (wrap == null)
-			return;
-		content.appendChild(wrap);
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.TFOOT);
-		if (dec != null)
-			wrap.appendChild(dec);
-
-		// (TBODY)+
-		wrap = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED);
-		if (wrap == null)
-			return;
-		content.appendChild(wrap);
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.TBODY);
-		if (dec != null)
-			wrap.appendChild(dec);
-	}
-
-	/**
-	 * ((FRAMESET | FRAME)+ & NOFRAMES?)
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_TABLE;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdTableCellContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdTableCellContainer.java
deleted file mode 100644
index 39221ff..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdTableCellContainer.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * Table cell container.
- * (TH | TD)+
- */
-final class CtdTableCellContainer extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdTableCellContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.TD;
-	}
-
-	/**
-	 * (TH | TD)+.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( )+
-		content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED);
-		// TH
-		CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.TH);
-		if (dec != null)
-			content.appendChild(dec);
-		// TD
-		dec = collection.getNamedItem(HTML40Namespace.ElementName.TD);
-		if (dec != null)
-			content.appendChild(dec);
-	}
-
-	/**
-	 * (TH | TD)+
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_TCELL_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdTrContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdTrContainer.java
deleted file mode 100644
index 4a494bd..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdTrContainer.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * Table record container.
- * (TR)+
- */
-final class CtdTrContainer extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdTrContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = HTML40Namespace.ElementName.TR;
-	}
-
-	/**
-	 * (TR)+.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// (TR)+
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED);
-		CMNode tr = collection.getNamedItem(HTML40Namespace.ElementName.TR);
-		if (tr != null)
-			content.appendChild(tr);
-	}
-
-	/**
-	 * ELEMENT content.<br>
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_TR_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/DeclCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/DeclCollection.java
deleted file mode 100644
index c9449fd..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/DeclCollection.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- */
-abstract class DeclCollection implements CMNamedNodeMap {
-
-
-	protected class DualMap {
-		public DualMap() {
-			super();
-		}
-
-		public DualMap(Object[] objects) {
-			super();
-			initialize(objects);
-		}
-
-		public int size() {
-			return table.length;
-		}
-
-		public Object getValue(int key) {
-			if (!isValidIndex(key))
-				return null;
-			return table[key];
-		}
-
-		public int getKey(Object value) {
-			Integer keyObj = (Integer) map.get(value);
-			if (keyObj == null)
-				return ID_UNKNOWN;
-			return keyObj.intValue();
-		}
-
-		protected void initialize(Object[] objects) {
-			if (objects == null)
-				return;
-			table = objects;
-			map = new HashMap();
-			for (int key = 0; key < objects.length; key++) {
-				Object value = table[key];
-				map.put(value, new Integer(key));
-			}
-		}
-
-		private Object[] table = null;
-		private HashMap map = null;
-
-		private boolean isValidIndex(int index) {
-			return index >= 0 && index < table.length;
-		}
-	}
-
-	protected class TolerantStringDualMap extends DualMap {
-		public TolerantStringDualMap(String[] names) {
-			super();
-			Object[] objects = new Object[names.length];
-			for (int i = 0; i < names.length; i++) {
-				objects[i] = makeCanonicalForm(names[i]);
-			}
-			initialize(objects);
-		}
-
-		public int getKey(Object value) {
-			try {
-				String name = (String) value;
-				return super.getKey(makeCanonicalForm(name));
-			}
-			catch (ClassCastException e) {
-				return ID_UNKNOWN;
-			}
-		}
-
-		private String makeCanonicalForm(String raw) {
-			return raw.toUpperCase();
-		}
-	}
-
-	private class DeclIterator implements Iterator {
-		public DeclIterator() {
-			maxid = fDecls.length - 1;
-		}
-
-		public boolean hasNext() {
-			return id < maxid;
-		}
-
-		public Object next() {
-			if (!hasNext())
-				return null;
-			return item(++id);
-		}
-
-		public void remove() { /* nothing should be done. */
-		}
-
-		private int id = -1;
-		private int maxid = -1;
-	}
-
-	CMNode[] fDecls = null;
-	protected final static boolean STRICT_CASE = false;
-	protected final static boolean TOLERANT_CASE = true;
-	protected final static int ID_UNKNOWN = -1;
-	private DualMap fMap = null;
-
-	/**
-	 */
-	public DeclCollection(String[] names, boolean tolerant) {
-		super();
-		fDecls = new CMNode[names.length];
-		if (tolerant) {
-			fMap = new TolerantStringDualMap(names);
-		}
-		else {
-			fMap = new DualMap(names);
-		}
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNode
-	 * @param id int
-	 */
-	protected abstract CMNode create(String name);
-
-	/**
-	 */
-	public CMNamedNodeMap getDeclarations(String[] names) {
-		CMNamedNodeMapImpl map = new CMNamedNodeMapImpl();
-		for (int i = 0; i < names.length; i++) {
-			String name = names[i];
-			CMNode node = getNamedItem(name);
-			if (node == null)
-				continue;
-			map.putNamedItem(name, node);
-		}
-		return map;
-	}
-
-	/**
-	 * @param declarations com.ibm.sed.contentmodel.html.CMGroupImpl
-	 * @param names java.util.Iterator
-	 */
-	public void getDeclarations(CMGroupImpl group, Iterator names) {
-		while (names.hasNext()) {
-			String entityName = (String) names.next();
-			CMNode dec = getNamedItem(entityName);
-			if (dec != null)
-				group.appendChild(dec);
-		}
-	}
-
-	/**
-	 * Map name to id.
-	 * @return int
-	 * @param name java.lang.String
-	 */
-	protected int getID(String name) {
-		return fMap.getKey(name);
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return fDecls.length;
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param id int
-	 */
-	protected String getName(int id) {
-		return (String) fMap.getValue(id);
-	}
-
-	/**
-	 * getNamedItem method
-	 * @return CMNode
-	 * @param name java.lang.String
-	 */
-	public CMNode getNamedItem(String name) {
-		int id = getID(name);
-		if (!isValidID(id))
-			return null;
-		return item(id);
-	}
-
-	/**
-	 * @return boolean
-	 * @param id int
-	 */
-	private boolean isValidID(int id) {
-		return id >= 0 && id < fDecls.length;
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		if (!isValidID(index))
-			return null;
-		CMNode decl = fDecls[index];
-		if (decl != null)
-			return decl; // already exist.
-
-		decl = create(getName(index));
-		fDecls[index] = decl;
-		return decl;
-	}
-
-	/**
-	 */
-	public Iterator iterator() {
-		return new DeclIterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ElementCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ElementCollection.java
deleted file mode 100644
index 26da026..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ElementCollection.java
+++ /dev/null
@@ -1,886 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.lang.reflect.Field;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * Factory for element declarations.
- */
-final class ElementCollection extends DeclCollection implements org.eclipse.wst.html.core.HTML40Namespace.ElementName {
-
-
-	// Element IDs
-	private static class Ids {
-		public static final int ID_A = 0;
-		public static final int ID_ABBR = 1;
-		public static final int ID_ACRONYM = 2;
-		public static final int ID_ADDRESS = 3;
-		public static final int ID_APPLET = 4;
-		public static final int ID_AREA = 5;
-		public static final int ID_B = 6;
-		public static final int ID_BASE = 7;
-		public static final int ID_BASEFONT = 8;
-		public static final int ID_BDO = 9;
-		public static final int ID_BIG = 10;
-		public static final int ID_BLINK = 11;
-		public static final int ID_BLOCKQUOTE = 12;
-		public static final int ID_BODY = 13;
-		public static final int ID_BR = 14;
-		public static final int ID_BUTTON = 15;
-		public static final int ID_CAPTION = 16;
-		public static final int ID_CENTER = 17;
-		public static final int ID_CITE = 18;
-		public static final int ID_CODE = 19;
-		public static final int ID_COL = 20;
-		public static final int ID_COLGROUP = 21;
-		public static final int ID_DD = 22;
-		public static final int ID_DEL = 23;
-		public static final int ID_DFN = 24;
-		public static final int ID_DIR = 25;
-		public static final int ID_DIV = 26;
-		public static final int ID_DL = 27;
-		public static final int ID_DT = 28;
-		public static final int ID_EM = 29;
-		public static final int ID_EMBED = 30;
-		public static final int ID_FIELDSET = 31;
-		public static final int ID_FONT = 32;
-		public static final int ID_FORM = 33;
-		public static final int ID_FRAME = 34;
-		public static final int ID_FRAMESET = 35;
-		public static final int ID_H1 = 36;
-		public static final int ID_H2 = 37;
-		public static final int ID_H3 = 38;
-		public static final int ID_H4 = 39;
-		public static final int ID_H5 = 40;
-		public static final int ID_H6 = 41;
-		public static final int ID_HEAD = 42;
-		public static final int ID_HR = 43;
-		public static final int ID_HTML = 44;
-		public static final int ID_I = 45;
-		public static final int ID_IFRAME = 46;
-		public static final int ID_IMG = 47;
-		public static final int ID_INPUT = 48;
-		public static final int ID_INS = 49;
-		public static final int ID_ISINDEX = 50;
-		public static final int ID_KBD = 51;
-		public static final int ID_LABEL = 52;
-		public static final int ID_LEGEND = 53;
-		public static final int ID_LI = 54;
-		public static final int ID_LINK = 55;
-		public static final int ID_MAP = 56;
-		public static final int ID_MENU = 57;
-		public static final int ID_META = 58;
-		public static final int ID_NOEMBED = 59;
-		public static final int ID_NOFRAMES = 60;
-		public static final int ID_NOSCRIPT = 61;
-		public static final int ID_OBJECT = 62;
-		public static final int ID_OL = 63;
-		public static final int ID_OPTGROUP = 64;
-		public static final int ID_OPTION = 65;
-		public static final int ID_P = 66;
-		public static final int ID_PARAM = 67;
-		public static final int ID_PRE = 68;
-		public static final int ID_Q = 69;
-		public static final int ID_S = 70;
-		public static final int ID_SAMP = 71;
-		public static final int ID_SCRIPT = 72;
-		public static final int ID_SELECT = 73;
-		public static final int ID_SMALL = 74;
-		public static final int ID_SPAN = 75;
-		public static final int ID_STRIKE = 76;
-		public static final int ID_STRONG = 77;
-		public static final int ID_STYLE = 78;
-		public static final int ID_SUB = 79;
-		public static final int ID_SUP = 80;
-		public static final int ID_TABLE = 81;
-		public static final int ID_TBODY = 82;
-		public static final int ID_TD = 83;
-		public static final int ID_TEXTAREA = 84;
-		public static final int ID_TFOOT = 85;
-		public static final int ID_TH = 86;
-		public static final int ID_THEAD = 87;
-		public static final int ID_TITLE = 88;
-		public static final int ID_TR = 89;
-		public static final int ID_TT = 90;
-		public static final int ID_U = 91;
-		public static final int ID_UL = 92;
-		public static final int ID_VAR = 93;
-		public static final int ID_MARQUEE = 94;
-		public static final int ID_SSI_CONFIG = 95;
-		public static final int ID_SSI_ECHO = 96;
-		public static final int ID_SSI_EXEC = 97;
-		public static final int ID_SSI_FSIZE = 98;
-		public static final int ID_SSI_FLASTMOD = 99;
-		public static final int ID_SSI_INCLUDE = 100;
-		public static final int ID_SSI_PRINTENV = 101;
-		public static final int ID_SSI_SET = 102;
-		// <<D205513
-		public static final int ID_BGSOUND = 103;
-		public static final int ID_NOBR = 104;
-		public static final int ID_WBR = 105;
-
-		// D205513
-
-		public static int getNumOfIds() {
-			if (numofids != -1)
-				return numofids;
-
-			// NOTE: If the reflection is too slow, this method should
-			// just return the literal value, like 105.
-			// -- 5/25/2001
-			Class clazz = Ids.class;
-			Field[] fields = clazz.getFields();
-			numofids = 0;
-			for (int i = 0; i < fields.length; i++) {
-				String name = fields[i].getName();
-				if (name.startsWith("ID_"))//$NON-NLS-1$
-					numofids++;
-			}
-			return numofids;
-		}
-
-		// chache the result of the reflection.
-		private static int numofids = -1;
-	}
-
-	/** %fontstyle;. TT | I | B | U | S | STRIKE | BIG | SMALL | BLINK */
-	private static final String[] FONTSTYLE = {TT, I, B, U, S, STRIKE, BIG, SMALL, BLINK};
-	/** %formctl;. INPUT | SELECT | TEXTAREA | LABEL | BUTTON */
-	private static final String[] FORMCTL = {INPUT, SELECT, TEXTAREA, LABEL, BUTTON};
-	/** %phrase;.
-	 * EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | ABBR | ACRONYM
-	 */
-	private static final String[] PHRASE = {EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR, ACRONYM};
-	/** %special;.
-	 * A | IMG | APPLET | OBJECT | FONT | BASEFONT | BR | SCRIPT |
-	 * MAP | Q | SUB | SUP | SPAN | BDO | IFRAME | EMBED | MARQUEE |
-	 * D2W | SUBMIT
-	 * WBR | NOBR | BGSOUND
-	 */
-	private static final String[] SPECIAL = {A, IMG, APPLET, OBJECT, FONT, BASEFONT, BR, WBR, // D205513
-				SCRIPT, MAP, Q, SUB, SUP, SPAN, BDO, IFRAME, EMBED, BGSOUND, // D205513
-				MARQUEE, NOBR // D205513
-	};
-	/** %heading;. H[1-6] */
-	private static final String[] HEADING = {H1, H2, H3, H4, H5, H6};
-	/** %list;. UL | OL | DIR | MENU */
-	private static final String[] LIST = {UL, OL, DIR, MENU};
-	/** %preformatted;. PRE */
-	private static final String[] PREFORMATTED = {PRE};
-	private AttributeCollection attributeCollection = null;
-	private static String[] fNames = null;
-
-	static {
-		fNames = new String[Ids.getNumOfIds()];
-		fNames[Ids.ID_A] = A;
-		fNames[Ids.ID_ABBR] = ABBR;
-		fNames[Ids.ID_ACRONYM] = ACRONYM;
-		fNames[Ids.ID_ADDRESS] = ADDRESS;
-		fNames[Ids.ID_APPLET] = APPLET;
-		fNames[Ids.ID_AREA] = AREA;
-		fNames[Ids.ID_B] = B;
-		fNames[Ids.ID_BASE] = BASE;
-		fNames[Ids.ID_BASEFONT] = BASEFONT;
-		fNames[Ids.ID_BDO] = BDO;
-		fNames[Ids.ID_BIG] = BIG;
-		fNames[Ids.ID_BLINK] = BLINK;
-		fNames[Ids.ID_BLOCKQUOTE] = BLOCKQUOTE;
-		fNames[Ids.ID_BODY] = BODY;
-		fNames[Ids.ID_BR] = BR;
-		fNames[Ids.ID_BUTTON] = BUTTON;
-		fNames[Ids.ID_CAPTION] = CAPTION;
-		fNames[Ids.ID_CENTER] = CENTER;
-		fNames[Ids.ID_CITE] = CITE;
-		fNames[Ids.ID_CODE] = CODE;
-		fNames[Ids.ID_COL] = COL;
-		fNames[Ids.ID_COLGROUP] = COLGROUP;
-		fNames[Ids.ID_DD] = DD;
-		fNames[Ids.ID_DEL] = DEL;
-		fNames[Ids.ID_DFN] = DFN;
-		fNames[Ids.ID_DIR] = DIR;
-		fNames[Ids.ID_DIV] = DIV;
-		fNames[Ids.ID_DL] = DL;
-		fNames[Ids.ID_DT] = DT;
-		fNames[Ids.ID_EM] = EM;
-		fNames[Ids.ID_EMBED] = EMBED;
-		fNames[Ids.ID_FIELDSET] = FIELDSET;
-		fNames[Ids.ID_FONT] = FONT;
-		fNames[Ids.ID_FORM] = FORM;
-		fNames[Ids.ID_FRAME] = FRAME;
-		fNames[Ids.ID_FRAMESET] = FRAMESET;
-		fNames[Ids.ID_H1] = H1;
-		fNames[Ids.ID_H2] = H2;
-		fNames[Ids.ID_H3] = H3;
-		fNames[Ids.ID_H4] = H4;
-		fNames[Ids.ID_H5] = H5;
-		fNames[Ids.ID_H6] = H6;
-		fNames[Ids.ID_HEAD] = HEAD;
-		fNames[Ids.ID_HR] = HR;
-		fNames[Ids.ID_HTML] = HTML;
-		fNames[Ids.ID_I] = I;
-		fNames[Ids.ID_IFRAME] = IFRAME;
-		fNames[Ids.ID_IMG] = IMG;
-		fNames[Ids.ID_INPUT] = INPUT;
-		fNames[Ids.ID_INS] = INS;
-		fNames[Ids.ID_ISINDEX] = ISINDEX;
-		fNames[Ids.ID_KBD] = KBD;
-		fNames[Ids.ID_LABEL] = LABEL;
-		fNames[Ids.ID_LEGEND] = LEGEND;
-		fNames[Ids.ID_LI] = LI;
-		fNames[Ids.ID_LINK] = LINK;
-		fNames[Ids.ID_MAP] = MAP;
-		fNames[Ids.ID_MENU] = MENU;
-		fNames[Ids.ID_META] = META;
-		fNames[Ids.ID_NOEMBED] = NOEMBED;
-		fNames[Ids.ID_NOFRAMES] = NOFRAMES;
-		fNames[Ids.ID_NOSCRIPT] = NOSCRIPT;
-		fNames[Ids.ID_OBJECT] = OBJECT;
-		fNames[Ids.ID_OL] = OL;
-		fNames[Ids.ID_OPTGROUP] = OPTGROUP;
-		fNames[Ids.ID_OPTION] = OPTION;
-		fNames[Ids.ID_P] = P;
-		fNames[Ids.ID_PARAM] = PARAM;
-		fNames[Ids.ID_PRE] = PRE;
-		fNames[Ids.ID_Q] = Q;
-		fNames[Ids.ID_S] = S;
-		fNames[Ids.ID_SAMP] = SAMP;
-		fNames[Ids.ID_SCRIPT] = SCRIPT;
-		fNames[Ids.ID_SELECT] = SELECT;
-		fNames[Ids.ID_SMALL] = SMALL;
-		fNames[Ids.ID_SPAN] = SPAN;
-		fNames[Ids.ID_STRIKE] = STRIKE;
-		fNames[Ids.ID_STRONG] = STRONG;
-		fNames[Ids.ID_STYLE] = STYLE;
-		fNames[Ids.ID_SUB] = SUB;
-		fNames[Ids.ID_SUP] = SUP;
-		fNames[Ids.ID_TABLE] = TABLE;
-		fNames[Ids.ID_TBODY] = TBODY;
-		fNames[Ids.ID_TD] = TD;
-		fNames[Ids.ID_TEXTAREA] = TEXTAREA;
-		fNames[Ids.ID_TFOOT] = TFOOT;
-		fNames[Ids.ID_TH] = TH;
-		fNames[Ids.ID_THEAD] = THEAD;
-		fNames[Ids.ID_TITLE] = TITLE;
-		fNames[Ids.ID_TR] = TR;
-		fNames[Ids.ID_TT] = TT;
-		fNames[Ids.ID_U] = U;
-		fNames[Ids.ID_UL] = UL;
-		fNames[Ids.ID_VAR] = VAR;
-		fNames[Ids.ID_MARQUEE] = MARQUEE;
-		fNames[Ids.ID_SSI_CONFIG] = SSI_CONFIG;
-		fNames[Ids.ID_SSI_ECHO] = SSI_ECHO;
-		fNames[Ids.ID_SSI_EXEC] = SSI_EXEC;
-		fNames[Ids.ID_SSI_FSIZE] = SSI_FSIZE;
-		fNames[Ids.ID_SSI_FLASTMOD] = SSI_FLASTMOD;
-		fNames[Ids.ID_SSI_INCLUDE] = SSI_INCLUDE;
-		fNames[Ids.ID_SSI_PRINTENV] = SSI_PRINTENV;
-		fNames[Ids.ID_SSI_SET] = SSI_SET;
-		fNames[Ids.ID_BGSOUND] = BGSOUND;
-		fNames[Ids.ID_NOBR] = NOBR;
-		fNames[Ids.ID_WBR] = WBR;
-	}
-
-	/**
-	 */
-	public ElementCollection(AttributeCollection collection) {
-		super(fNames, TOLERANT_CASE);
-		attributeCollection = collection;
-	}
-
-	/**
-	 * Actually creates HTMLElementDeclaration instance.
-	 * @return HTMLElementDeclaration
-	 */
-	protected CMNode create(String elementName) {
-		HTMLElemDeclImpl edec = null;
-
-		if (elementName.equalsIgnoreCase(A)) {
-			edec = new HedA(this);
-		}
-		else if (elementName.equalsIgnoreCase(ABBR)) {
-			edec = new HedPhrase(ABBR, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(ACRONYM)) {
-			edec = new HedPhrase(ACRONYM, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(ADDRESS)) {
-			edec = new HedADDRESS(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(APPLET)) {
-			edec = new HedAPPLET(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(AREA)) {
-			edec = new HedAREA(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(B)) {
-			edec = new HedFontStyle(B, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BASE)) {
-			edec = new HedBASE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BASEFONT)) {
-			edec = new HedBASEFONT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BDO)) {
-			edec = new HedBDO(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BIG)) {
-			edec = new HedFontStyle(BIG, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BLINK)) {
-			edec = new HedFontStyle(BLINK, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BLOCKQUOTE)) {
-			edec = new HedBLOCKQUOTE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BODY)) {
-			edec = new HedBODY(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BR)) {
-			edec = new HedBR(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BUTTON)) {
-			edec = new HedBUTTON(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(CAPTION)) {
-			edec = new HedCAPTION(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(CENTER)) {
-			edec = new HedCENTER(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(CITE)) {
-			edec = new HedPhrase(CITE, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(CODE)) {
-			edec = new HedPhrase(CODE, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(COL)) {
-			edec = new HedCOL(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(COLGROUP)) {
-			edec = new HedCOLGROUP(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DD)) {
-			edec = new HedDD(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DEL)) {
-			edec = new HedMarkChanges(DEL, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DFN)) {
-			edec = new HedPhrase(DFN, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DIR)) {
-			edec = new HedMENU(DIR, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DIV)) {
-			edec = new HedDIV(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DL)) {
-			edec = new HedDL(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DT)) {
-			edec = new HedDT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(EM)) {
-			edec = new HedPhrase(EM, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(EMBED)) {
-			edec = new HedEMBED(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(FIELDSET)) {
-			edec = new HedFIELDSET(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(FONT)) {
-			edec = new HedFONT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(FORM)) {
-			edec = new HedFORM(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(FRAME)) {
-			edec = new HedFRAME(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(FRAMESET)) {
-			edec = new HedFRAMESET(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H1)) {
-			edec = new HedHeading(H1, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H2)) {
-			edec = new HedHeading(H2, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H3)) {
-			edec = new HedHeading(H3, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H4)) {
-			edec = new HedHeading(H4, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H5)) {
-			edec = new HedHeading(H5, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H6)) {
-			edec = new HedHeading(H6, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(HEAD)) {
-			edec = new HedHEAD(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(HR)) {
-			edec = new HedHR(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(HTML)) {
-			edec = new HedHTML(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(I)) {
-			edec = new HedFontStyle(I, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(IFRAME)) {
-			edec = new HedIFRAME(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(IMG)) {
-			edec = new HedIMG(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(INPUT)) {
-			edec = new HedINPUT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(INS)) {
-			edec = new HedMarkChanges(INS, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(ISINDEX)) {
-			edec = new HedISINDEX(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(KBD)) {
-			edec = new HedPhrase(KBD, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(LABEL)) {
-			edec = new HedLABEL(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(LEGEND)) {
-			edec = new HedLEGEND(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(LI)) {
-			edec = new HedLI(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(LINK)) {
-			edec = new HedLINK(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(MAP)) {
-			edec = new HedMAP(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(MARQUEE)) {
-			edec = new HedMARQUEE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(MENU)) {
-			edec = new HedMENU(MENU, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(META)) {
-			edec = new HedMETA(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(NOEMBED)) {
-			edec = new HedNOEMBED(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(NOFRAMES)) {
-			edec = new HedNOFRAMES(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(NOSCRIPT)) {
-			edec = new HedNOSCRIPT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(OBJECT)) {
-			edec = new HedOBJECT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(OL)) {
-			edec = new HedOL(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(OPTGROUP)) {
-			edec = new HedOPTGROUP(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(OPTION)) {
-			edec = new HedOPTION(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(P)) {
-			edec = new HedP(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(PARAM)) {
-			edec = new HedPARAM(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(PRE)) {
-			edec = new HedPRE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(Q)) {
-			edec = new HedQ(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(S)) {
-			edec = new HedFontStyle(S, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SAMP)) {
-			edec = new HedPhrase(SAMP, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SCRIPT)) {
-			edec = new HedSCRIPT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SELECT)) {
-			edec = new HedSELECT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SMALL)) {
-			edec = new HedFontStyle(SMALL, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SPAN)) {
-			edec = new HedSPAN(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(STRIKE)) {
-			edec = new HedFontStyle(STRIKE, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(STRONG)) {
-			edec = new HedPhrase(STRONG, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(STYLE)) {
-			edec = new HedSTYLE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SUB)) {
-			edec = new HedScripts(SUB, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SUP)) {
-			edec = new HedScripts(SUP, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TABLE)) {
-			edec = new HedTABLE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TBODY)) {
-			edec = new HedTableBody(TBODY, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TD)) {
-			edec = new HedTableCell(TD, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TEXTAREA)) {
-			edec = new HedTEXTAREA(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TFOOT)) {
-			edec = new HedTableBody(TFOOT, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TH)) {
-			edec = new HedTableCell(TH, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(THEAD)) {
-			edec = new HedTableBody(THEAD, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TITLE)) {
-			edec = new HedTITLE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TR)) {
-			edec = new HedTR(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TT)) {
-			edec = new HedFontStyle(TT, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(U)) {
-			edec = new HedFontStyle(U, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(UL)) {
-			edec = new HedUL(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(VAR)) {
-			edec = new HedPhrase(VAR, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_CONFIG)) {
-			edec = new HedSSIConfig(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_ECHO)) {
-			edec = new HedSSIEcho(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_EXEC)) {
-			edec = new HedSSIExec(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_FSIZE)) {
-			edec = new HedSSIFsize(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_FLASTMOD)) {
-			edec = new HedSSIFlastmod(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_INCLUDE)) {
-			edec = new HedSSIInclude(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_PRINTENV)) {
-			edec = new HedSSIPrintenv(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_SET)) {
-			edec = new HedSSISet(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BGSOUND)) {
-			edec = new HedBGSOUND(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(NOBR)) {
-			edec = new HedNOBR(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(WBR)) {
-			edec = new HedWBR(this);
-
-		} // unknown
-		else {
-			// NOTE: We don't define the UNKNOWN element declaration.
-			// <code>null</code> for a declaration is a sign of
-			// the target element is unknown.
-			// -- 3/9/2001
-			edec = null;
-		}
-		return edec;
-	}
-
-	/**
-	 * @return com.ibm.sed.contentmodel.html.AttributeCollection
-	 */
-	public AttributeCollection getAttributeCollection() {
-		return attributeCollection;
-	}
-
-	/**
-	 */
-	public final Collection getNamesOfBlock() {
-		// P, DL, DIV, CENTER, NOSCRIPT, NOFRAMES, BLOCKQUOTE, FORM, ISINDEX, HR,
-		// TABLE, FIELDSET, ADDRESS
-		String[] blockMisc = {P, DL, DIV, CENTER, NOSCRIPT, NOFRAMES, BLOCKQUOTE, FORM, ISINDEX, HR, TABLE, FIELDSET, ADDRESS};
-		Vector names = new Vector(Arrays.asList(blockMisc));
-		// %heading;
-		names.addAll(Arrays.asList(HEADING));
-		// %list;
-		names.addAll(Arrays.asList(LIST));
-		// %preformatted;
-		names.addAll(Arrays.asList(PREFORMATTED));
-
-		return names;
-	}
-
-	/**
-	 * %block;.
-	 * %block; is:
-	 * P | %heading; | %list; | %preformatted; | DL | DIV | CENTER |
-	 * NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR |
-	 * TABLE | FIELDSET | ADDRESS.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getBlock(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getDeclarations(group, getNamesOfBlock().iterator());
-	}
-
-	/**
-	 * Create element declarations and store them
-	 * into a <code>CMGroupImpl</code> instance.
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getFlow(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getBlock(group);
-		getInline(group);
-	}
-
-	/**
-	 * Create element declarations and store them into a <code>CMGroupImpl</code>
-	 * instance.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getFontstyle(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getDeclarations(group, Arrays.asList(FONTSTYLE).iterator());
-	}
-
-	/**
-	 * Create element declarations and store them into a <code>CMGroupImpl</code>
-	 * instance.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getFormctrl(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getDeclarations(group, Arrays.asList(FORMCTL).iterator());
-	}
-
-	/**
-	 * %heading;.
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getHeading(CMGroupImpl group) {
-		if (group == null)
-			return;
-
-		getDeclarations(group, Arrays.asList(HEADING).iterator());
-	}
-
-	/**
-	 * Create element declarations and store them
-	 * into a <code>CMGroupImpl</code> instance.
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getInline(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getFontstyle(group);
-		getPhrase(group);
-		getSpecial(group);
-		getFormctrl(group);
-	}
-
-	/**
-	 * %list;.
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getList(CMGroupImpl group) {
-		if (group == null)
-			return;
-
-		getDeclarations(group, Arrays.asList(LIST).iterator());
-	}
-
-	/**
-	 * Create element declarations and store them into a <code>CMGroupImpl</code>
-	 * instance.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getPhrase(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getDeclarations(group, Arrays.asList(PHRASE).iterator());
-	}
-
-	/**
-	 * %preformatted;
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getPreformatted(CMGroupImpl group) {
-		if (group == null)
-			return;
-
-		getDeclarations(group, Arrays.asList(PREFORMATTED).iterator());
-	}
-
-	/**
-	 * Create element declarations and store them into a <code>CMGroupImpl</code>
-	 * instance.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getSpecial(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getDeclarations(group, Arrays.asList(SPECIAL).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/EntityCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/EntityCollection.java
deleted file mode 100644
index dfecba9..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/EntityCollection.java
+++ /dev/null
@@ -1,837 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.lang.reflect.Field;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * Factory for entity declarations.
- */
-final class EntityCollection extends DeclCollection implements org.eclipse.wst.html.core.HTML40Namespace.EntityName {
-
-
-	private static class Ids {
-		public static final int ID_AACUTE_L = 0;
-		public static final int ID_AACUTE_U = 1;
-		public static final int ID_ACIRC_L = 2;
-		public static final int ID_ACIRC_U = 3;
-		public static final int ID_ACUTE = 4;
-		public static final int ID_AELIG_L = 5;
-		public static final int ID_AELIG_U = 6;
-		public static final int ID_AGRAVE_L = 7;
-		public static final int ID_AGRAVE_U = 8;
-		public static final int ID_ALEFSYM = 9;
-		public static final int ID_ALPHA_L = 10;
-		public static final int ID_ALPHA_U = 11;
-		public static final int ID_AMP = 12;
-		public static final int ID_AND = 13;
-		public static final int ID_ANG = 14;
-		public static final int ID_ARING_L = 15;
-		public static final int ID_ARING_U = 16;
-		public static final int ID_ASYMP = 17;
-		public static final int ID_ATILDE_L = 18;
-		public static final int ID_ATILDE_U = 19;
-		public static final int ID_AUML_L = 20;
-		public static final int ID_AUML_U = 21;
-		public static final int ID_BDQUO = 22;
-		public static final int ID_BETA_L = 23;
-		public static final int ID_BETA_U = 24;
-		public static final int ID_BRVBAR = 25;
-		public static final int ID_BULL = 26;
-		public static final int ID_CAP = 27;
-		public static final int ID_CCEDIL_L = 28;
-		public static final int ID_CCEDIL_U = 29;
-		public static final int ID_CEDIL = 30;
-		public static final int ID_CENT = 31;
-		public static final int ID_CHI_L = 32;
-		public static final int ID_CHI_U = 33;
-		public static final int ID_CIRC = 34;
-		public static final int ID_CLUBS = 35;
-		public static final int ID_CONG = 36;
-		public static final int ID_COPY = 37;
-		public static final int ID_CRARR = 38;
-		public static final int ID_CUP = 39;
-		public static final int ID_CURREN = 40;
-		public static final int ID_DAGGER_L = 41;
-		public static final int ID_DAGGER_U = 42;
-		public static final int ID_DARR_L = 43;
-		public static final int ID_DARR_U = 44;
-		public static final int ID_DEG = 45;
-		public static final int ID_DELTA_L = 46;
-		public static final int ID_DELTA_U = 47;
-		public static final int ID_DIAMS = 48;
-		public static final int ID_DIVIDE = 49;
-		public static final int ID_EACUTE_L = 50;
-		public static final int ID_EACUTE_U = 51;
-		public static final int ID_ECIRC_L = 52;
-		public static final int ID_ECIRC_U = 53;
-		public static final int ID_EGRAVE_L = 54;
-		public static final int ID_EGRAVE_U = 55;
-		public static final int ID_EMPTY = 56;
-		public static final int ID_EMSP = 57;
-		public static final int ID_ENSP = 58;
-		public static final int ID_EPSILON_L = 59;
-		public static final int ID_EPSILON_U = 60;
-		public static final int ID_EQUIV = 61;
-		public static final int ID_ETA_L = 62;
-		public static final int ID_ETA_U = 63;
-		public static final int ID_ETH_L = 64;
-		public static final int ID_ETH_U = 65;
-		public static final int ID_EUML_L = 66;
-		public static final int ID_EUML_U = 67;
-		public static final int ID_EURO = 68;
-		public static final int ID_EXIST = 69;
-		public static final int ID_FNOF = 70;
-		public static final int ID_FORALL = 71;
-		public static final int ID_FRAC12 = 72;
-		public static final int ID_FRAC14 = 73;
-		public static final int ID_FRAC34 = 74;
-		public static final int ID_FRASL = 75;
-		public static final int ID_GAMMA_L = 76;
-		public static final int ID_GAMMA_U = 77;
-		public static final int ID_GE = 78;
-		public static final int ID_GT = 79;
-		public static final int ID_HARR_L = 80;
-		public static final int ID_HARR_U = 81;
-		public static final int ID_HEARTS = 82;
-		public static final int ID_HELLIP = 83;
-		public static final int ID_IACUTE_L = 84;
-		public static final int ID_IACUTE_U = 85;
-		public static final int ID_ICIRC_L = 86;
-		public static final int ID_ICIRC_U = 87;
-		public static final int ID_IEXCL = 88;
-		public static final int ID_IGRAVE_L = 89;
-		public static final int ID_IGRAVE_U = 90;
-		public static final int ID_IMAGE = 91;
-		public static final int ID_INFIN = 92;
-		public static final int ID_INT = 93;
-		public static final int ID_IOTA_L = 94;
-		public static final int ID_IOTA_U = 95;
-		public static final int ID_IQUEST = 96;
-		public static final int ID_ISIN = 97;
-		public static final int ID_IUML_L = 98;
-		public static final int ID_IUML_U = 99;
-		public static final int ID_KAPPA_L = 100;
-		public static final int ID_KAPPA_U = 101;
-		public static final int ID_LAMBDA_L = 102;
-		public static final int ID_LAMBDA_U = 103;
-		public static final int ID_LANG = 104;
-		public static final int ID_LAQUO = 105;
-		public static final int ID_LARR_L = 106;
-		public static final int ID_LARR_U = 107;
-		public static final int ID_LCEIL = 108;
-		public static final int ID_LDQUO = 109;
-		public static final int ID_LE = 110;
-		public static final int ID_LFLOOR = 111;
-		public static final int ID_LOWAST = 112;
-		public static final int ID_LOZ = 113;
-		public static final int ID_LRM = 114;
-		public static final int ID_LSAQUO = 115;
-		public static final int ID_LSQUO = 116;
-		public static final int ID_LT = 117;
-		public static final int ID_MACR = 118;
-		public static final int ID_MDASH = 119;
-		public static final int ID_MICRO = 120;
-		public static final int ID_MIDDOT = 121;
-		public static final int ID_MINUS = 122;
-		public static final int ID_MU_L = 123;
-		public static final int ID_MU_U = 124;
-		public static final int ID_NABLA = 125;
-		public static final int ID_NBSP = 126;
-		public static final int ID_NDASH = 127;
-		public static final int ID_NE = 128;
-		public static final int ID_NI = 129;
-		public static final int ID_NOT = 130;
-		public static final int ID_NOTIN = 131;
-		public static final int ID_NSUB = 132;
-		public static final int ID_NTILDE_L = 133;
-		public static final int ID_NTILDE_U = 134;
-		public static final int ID_NU_L = 135;
-		public static final int ID_NU_U = 136;
-		public static final int ID_OACUTE_L = 137;
-		public static final int ID_OACUTE_U = 138;
-		public static final int ID_OCIRC_L = 139;
-		public static final int ID_OCIRC_U = 140;
-		public static final int ID_OELIG_L = 141;
-		public static final int ID_OELIG_U = 142;
-		public static final int ID_OGRAVE_L = 143;
-		public static final int ID_OGRAVE_U = 144;
-		public static final int ID_OLINE = 145;
-		public static final int ID_OMEGA_L = 146;
-		public static final int ID_OMEGA_U = 147;
-		public static final int ID_OMICRON_L = 148;
-		public static final int ID_OMICRON_U = 149;
-		public static final int ID_OPLUS = 150;
-		public static final int ID_OR = 151;
-		public static final int ID_ORDF = 152;
-		public static final int ID_ORDM = 153;
-		public static final int ID_OSLASH_L = 154;
-		public static final int ID_OSLASH_U = 155;
-		public static final int ID_OTILDE_L = 156;
-		public static final int ID_OTILDE_U = 157;
-		public static final int ID_OTIMES = 158;
-		public static final int ID_OUML_L = 159;
-		public static final int ID_OUML_U = 160;
-		public static final int ID_PARA = 161;
-		public static final int ID_PART = 162;
-		public static final int ID_PERMIL = 163;
-		public static final int ID_PERP = 164;
-		public static final int ID_PHI_L = 165;
-		public static final int ID_PHI_U = 166;
-		public static final int ID_PIV = 167;
-		public static final int ID_PI_L = 168;
-		public static final int ID_PI_U = 169;
-		public static final int ID_PLUSMN = 170;
-		public static final int ID_POUND = 171;
-		public static final int ID_PRIME_L = 172;
-		public static final int ID_PRIME_U = 173;
-		public static final int ID_PROD = 174;
-		public static final int ID_PROP = 175;
-		public static final int ID_PSI_L = 176;
-		public static final int ID_PSI_U = 177;
-		public static final int ID_QUOT = 178;
-		public static final int ID_RADIC = 179;
-		public static final int ID_RANG = 180;
-		public static final int ID_RAQUO = 181;
-		public static final int ID_RARR_L = 182;
-		public static final int ID_RARR_U = 183;
-		public static final int ID_RCEIL = 184;
-		public static final int ID_RDQUO = 185;
-		public static final int ID_REAL = 186;
-		public static final int ID_REG = 187;
-		public static final int ID_RFLOOR = 188;
-		public static final int ID_RHO_L = 189;
-		public static final int ID_RHO_U = 190;
-		public static final int ID_RLM = 191;
-		public static final int ID_RSAQUO = 192;
-		public static final int ID_RSQUO = 193;
-		public static final int ID_SBQUO = 194;
-		public static final int ID_SCARON_L = 195;
-		public static final int ID_SCARON_U = 196;
-		public static final int ID_SDOT = 197;
-		public static final int ID_SECT = 198;
-		public static final int ID_SHY = 199;
-		public static final int ID_SIGMAF = 200;
-		public static final int ID_SIGMA_L = 201;
-		public static final int ID_SIGMA_U = 202;
-		public static final int ID_SIM = 203;
-		public static final int ID_SPADES = 204;
-		public static final int ID_SUB = 205;
-		public static final int ID_SUBE = 206;
-		public static final int ID_SUM = 207;
-		public static final int ID_SUP = 208;
-		public static final int ID_SUP1 = 209;
-		public static final int ID_SUP2 = 210;
-		public static final int ID_SUP3 = 211;
-		public static final int ID_SUPE = 212;
-		public static final int ID_SZLIG = 213;
-		public static final int ID_TAU_L = 214;
-		public static final int ID_TAU_U = 215;
-		public static final int ID_THERE4 = 216;
-		public static final int ID_THETASYM = 217;
-		public static final int ID_THETA_L = 218;
-		public static final int ID_THETA_U = 219;
-		public static final int ID_THINSP = 220;
-		public static final int ID_THORN_L = 221;
-		public static final int ID_THORN_U = 222;
-		public static final int ID_TILDE = 223;
-		public static final int ID_TIMES = 224;
-		public static final int ID_TRADE = 225;
-		public static final int ID_UACUTE_L = 226;
-		public static final int ID_UACUTE_U = 227;
-		public static final int ID_UARR_L = 228;
-		public static final int ID_UARR_U = 229;
-		public static final int ID_UCIRC_L = 230;
-		public static final int ID_UCIRC_U = 231;
-		public static final int ID_UGRAVE_L = 232;
-		public static final int ID_UGRAVE_U = 233;
-		public static final int ID_UML = 234;
-		public static final int ID_UPSIH = 235;
-		public static final int ID_UPSILON_L = 236;
-		public static final int ID_UPSILON_U = 237;
-		public static final int ID_UUML_L = 238;
-		public static final int ID_UUML_U = 239;
-		public static final int ID_WEIERP = 240;
-		public static final int ID_XI_L = 241;
-		public static final int ID_XI_U = 242;
-		public static final int ID_YACUTE_L = 243;
-		public static final int ID_YACUTE_U = 244;
-		public static final int ID_YEN = 245;
-		public static final int ID_YUML_L = 246;
-		public static final int ID_YUML_U = 247;
-		public static final int ID_ZETA_L = 248;
-		public static final int ID_ZETA_U = 249;
-		public static final int ID_ZWJ = 250;
-		public static final int ID_ZWNJ = 251;
-
-		public static int getNumOfIds() {
-			if (numofids != -1)
-				return numofids;
-
-			// NOTE: If the reflection is too slow, this method should
-			// just return the literal value, like 252.
-			// -- 5/24/2001
-			Class clazz = Ids.class;
-			Field[] fields = clazz.getFields();
-			numofids = 0;
-			for (int i = 0; i < fields.length; i++) {
-				String name = fields[i].getName();
-				if (name.startsWith("ID_"))//$NON-NLS-1$
-					numofids++;
-			}
-			return numofids;
-		}
-
-		// chache the result of the reflection.
-		private static int numofids = -1;
-	}
-
-	private static String[] names = null;
-
-	static {
-		names = new String[Ids.getNumOfIds()];
-		names[Ids.ID_AACUTE_L] = AACUTE_L;
-		names[Ids.ID_AACUTE_U] = AACUTE_U;
-		names[Ids.ID_ACIRC_L] = ACIRC_L;
-		names[Ids.ID_ACIRC_U] = ACIRC_U;
-		names[Ids.ID_ACUTE] = ACUTE;
-		names[Ids.ID_AELIG_L] = AELIG_L;
-		names[Ids.ID_AELIG_U] = AELIG_U;
-		names[Ids.ID_AGRAVE_L] = AGRAVE_L;
-		names[Ids.ID_AGRAVE_U] = AGRAVE_U;
-		names[Ids.ID_ALEFSYM] = ALEFSYM;
-		names[Ids.ID_ALPHA_L] = ALPHA_L;
-		names[Ids.ID_ALPHA_U] = ALPHA_U;
-		names[Ids.ID_AMP] = AMP;
-		names[Ids.ID_AND] = AND;
-		names[Ids.ID_ANG] = ANG;
-		names[Ids.ID_ARING_L] = ARING_L;
-		names[Ids.ID_ARING_U] = ARING_U;
-		names[Ids.ID_ASYMP] = ASYMP;
-		names[Ids.ID_ATILDE_L] = ATILDE_L;
-		names[Ids.ID_ATILDE_U] = ATILDE_U;
-		names[Ids.ID_AUML_L] = AUML_L;
-		names[Ids.ID_AUML_U] = AUML_U;
-		names[Ids.ID_BDQUO] = BDQUO;
-		names[Ids.ID_BETA_L] = BETA_L;
-		names[Ids.ID_BETA_U] = BETA_U;
-		names[Ids.ID_BRVBAR] = BRVBAR;
-		names[Ids.ID_BULL] = BULL;
-		names[Ids.ID_CAP] = CAP;
-		names[Ids.ID_CCEDIL_L] = CCEDIL_L;
-		names[Ids.ID_CCEDIL_U] = CCEDIL_U;
-		names[Ids.ID_CEDIL] = CEDIL;
-		names[Ids.ID_CENT] = CENT;
-		names[Ids.ID_CHI_L] = CHI_L;
-		names[Ids.ID_CHI_U] = CHI_U;
-		names[Ids.ID_CIRC] = CIRC;
-		names[Ids.ID_CLUBS] = CLUBS;
-		names[Ids.ID_CONG] = CONG;
-		names[Ids.ID_COPY] = COPY;
-		names[Ids.ID_CRARR] = CRARR;
-		names[Ids.ID_CUP] = CUP;
-		names[Ids.ID_CURREN] = CURREN;
-		names[Ids.ID_DAGGER_L] = DAGGER_L;
-		names[Ids.ID_DAGGER_U] = DAGGER_U;
-		names[Ids.ID_DARR_L] = DARR_L;
-		names[Ids.ID_DARR_U] = DARR_U;
-		names[Ids.ID_DEG] = DEG;
-		names[Ids.ID_DELTA_L] = DELTA_L;
-		names[Ids.ID_DELTA_U] = DELTA_U;
-		names[Ids.ID_DIAMS] = DIAMS;
-		names[Ids.ID_DIVIDE] = DIVIDE;
-		names[Ids.ID_EACUTE_L] = EACUTE_L;
-		names[Ids.ID_EACUTE_U] = EACUTE_U;
-		names[Ids.ID_ECIRC_L] = ECIRC_L;
-		names[Ids.ID_ECIRC_U] = ECIRC_U;
-		names[Ids.ID_EGRAVE_L] = EGRAVE_L;
-		names[Ids.ID_EGRAVE_U] = EGRAVE_U;
-		names[Ids.ID_EMPTY] = EMPTY;
-		names[Ids.ID_EMSP] = EMSP;
-		names[Ids.ID_ENSP] = ENSP;
-		names[Ids.ID_EPSILON_L] = EPSILON_L;
-		names[Ids.ID_EPSILON_U] = EPSILON_U;
-		names[Ids.ID_EQUIV] = EQUIV;
-		names[Ids.ID_ETA_L] = ETA_L;
-		names[Ids.ID_ETA_U] = ETA_U;
-		names[Ids.ID_ETH_L] = ETH_L;
-		names[Ids.ID_ETH_U] = ETH_U;
-		names[Ids.ID_EUML_L] = EUML_L;
-		names[Ids.ID_EUML_U] = EUML_U;
-		names[Ids.ID_EURO] = EURO;
-		names[Ids.ID_EXIST] = EXIST;
-		names[Ids.ID_FNOF] = FNOF;
-		names[Ids.ID_FORALL] = FORALL;
-		names[Ids.ID_FRAC12] = FRAC12;
-		names[Ids.ID_FRAC14] = FRAC14;
-		names[Ids.ID_FRAC34] = FRAC34;
-		names[Ids.ID_FRASL] = FRASL;
-		names[Ids.ID_GAMMA_L] = GAMMA_L;
-		names[Ids.ID_GAMMA_U] = GAMMA_U;
-		names[Ids.ID_GE] = GE;
-		names[Ids.ID_GT] = GT;
-		names[Ids.ID_HARR_L] = HARR_L;
-		names[Ids.ID_HARR_U] = HARR_U;
-		names[Ids.ID_HEARTS] = HEARTS;
-		names[Ids.ID_HELLIP] = HELLIP;
-		names[Ids.ID_IACUTE_L] = IACUTE_L;
-		names[Ids.ID_IACUTE_U] = IACUTE_U;
-		names[Ids.ID_ICIRC_L] = ICIRC_L;
-		names[Ids.ID_ICIRC_U] = ICIRC_U;
-		names[Ids.ID_IEXCL] = IEXCL;
-		names[Ids.ID_IGRAVE_L] = IGRAVE_L;
-		names[Ids.ID_IGRAVE_U] = IGRAVE_U;
-		names[Ids.ID_IMAGE] = IMAGE;
-		names[Ids.ID_INFIN] = INFIN;
-		names[Ids.ID_INT] = INT;
-		names[Ids.ID_IOTA_L] = IOTA_L;
-		names[Ids.ID_IOTA_U] = IOTA_U;
-		names[Ids.ID_IQUEST] = IQUEST;
-		names[Ids.ID_ISIN] = ISIN;
-		names[Ids.ID_IUML_L] = IUML_L;
-		names[Ids.ID_IUML_U] = IUML_U;
-		names[Ids.ID_KAPPA_L] = KAPPA_L;
-		names[Ids.ID_KAPPA_U] = KAPPA_U;
-		names[Ids.ID_LAMBDA_L] = LAMBDA_L;
-		names[Ids.ID_LAMBDA_U] = LAMBDA_U;
-		names[Ids.ID_LANG] = LANG;
-		names[Ids.ID_LAQUO] = LAQUO;
-		names[Ids.ID_LARR_L] = LARR_L;
-		names[Ids.ID_LARR_U] = LARR_U;
-		names[Ids.ID_LCEIL] = LCEIL;
-		names[Ids.ID_LDQUO] = LDQUO;
-		names[Ids.ID_LE] = LE;
-		names[Ids.ID_LFLOOR] = LFLOOR;
-		names[Ids.ID_LOWAST] = LOWAST;
-		names[Ids.ID_LOZ] = LOZ;
-		names[Ids.ID_LRM] = LRM;
-		names[Ids.ID_LSAQUO] = LSAQUO;
-		names[Ids.ID_LSQUO] = LSQUO;
-		names[Ids.ID_LT] = LT;
-		names[Ids.ID_MACR] = MACR;
-		names[Ids.ID_MDASH] = MDASH;
-		names[Ids.ID_MICRO] = MICRO;
-		names[Ids.ID_MIDDOT] = MIDDOT;
-		names[Ids.ID_MINUS] = MINUS;
-		names[Ids.ID_MU_L] = MU_L;
-		names[Ids.ID_MU_U] = MU_U;
-		names[Ids.ID_NABLA] = NABLA;
-		names[Ids.ID_NBSP] = NBSP;
-		names[Ids.ID_NDASH] = NDASH;
-		names[Ids.ID_NE] = NE;
-		names[Ids.ID_NI] = NI;
-		names[Ids.ID_NOT] = NOT;
-		names[Ids.ID_NOTIN] = NOTIN;
-		names[Ids.ID_NSUB] = NSUB;
-		names[Ids.ID_NTILDE_L] = NTILDE_L;
-		names[Ids.ID_NTILDE_U] = NTILDE_U;
-		names[Ids.ID_NU_L] = NU_L;
-		names[Ids.ID_NU_U] = NU_U;
-		names[Ids.ID_OACUTE_L] = OACUTE_L;
-		names[Ids.ID_OACUTE_U] = OACUTE_U;
-		names[Ids.ID_OCIRC_L] = OCIRC_L;
-		names[Ids.ID_OCIRC_U] = OCIRC_U;
-		names[Ids.ID_OELIG_L] = OELIG_L;
-		names[Ids.ID_OELIG_U] = OELIG_U;
-		names[Ids.ID_OGRAVE_L] = OGRAVE_L;
-		names[Ids.ID_OGRAVE_U] = OGRAVE_U;
-		names[Ids.ID_OLINE] = OLINE;
-		names[Ids.ID_OMEGA_L] = OMEGA_L;
-		names[Ids.ID_OMEGA_U] = OMEGA_U;
-		names[Ids.ID_OMICRON_L] = OMICRON_L;
-		names[Ids.ID_OMICRON_U] = OMICRON_U;
-		names[Ids.ID_OPLUS] = OPLUS;
-		names[Ids.ID_OR] = OR;
-		names[Ids.ID_ORDF] = ORDF;
-		names[Ids.ID_ORDM] = ORDM;
-		names[Ids.ID_OSLASH_L] = OSLASH_L;
-		names[Ids.ID_OSLASH_U] = OSLASH_U;
-		names[Ids.ID_OTILDE_L] = OTILDE_L;
-		names[Ids.ID_OTILDE_U] = OTILDE_U;
-		names[Ids.ID_OTIMES] = OTIMES;
-		names[Ids.ID_OUML_L] = OUML_L;
-		names[Ids.ID_OUML_U] = OUML_U;
-		names[Ids.ID_PARA] = PARA;
-		names[Ids.ID_PART] = PART;
-		names[Ids.ID_PERMIL] = PERMIL;
-		names[Ids.ID_PERP] = PERP;
-		names[Ids.ID_PHI_L] = PHI_L;
-		names[Ids.ID_PHI_U] = PHI_U;
-		names[Ids.ID_PIV] = PIV;
-		names[Ids.ID_PI_L] = PI_L;
-		names[Ids.ID_PI_U] = PI_U;
-		names[Ids.ID_PLUSMN] = PLUSMN;
-		names[Ids.ID_POUND] = POUND;
-		names[Ids.ID_PRIME_L] = PRIME_L;
-		names[Ids.ID_PRIME_U] = PRIME_U;
-		names[Ids.ID_PROD] = PROD;
-		names[Ids.ID_PROP] = PROP;
-		names[Ids.ID_PSI_L] = PSI_L;
-		names[Ids.ID_PSI_U] = PSI_U;
-		names[Ids.ID_QUOT] = QUOT;
-		names[Ids.ID_RADIC] = RADIC;
-		names[Ids.ID_RANG] = RANG;
-		names[Ids.ID_RAQUO] = RAQUO;
-		names[Ids.ID_RARR_L] = RARR_L;
-		names[Ids.ID_RARR_U] = RARR_U;
-		names[Ids.ID_RCEIL] = RCEIL;
-		names[Ids.ID_RDQUO] = RDQUO;
-		names[Ids.ID_REAL] = REAL;
-		names[Ids.ID_REG] = REG;
-		names[Ids.ID_RFLOOR] = RFLOOR;
-		names[Ids.ID_RHO_L] = RHO_L;
-		names[Ids.ID_RHO_U] = RHO_U;
-		names[Ids.ID_RLM] = RLM;
-		names[Ids.ID_RSAQUO] = RSAQUO;
-		names[Ids.ID_RSQUO] = RSQUO;
-		names[Ids.ID_SBQUO] = SBQUO;
-		names[Ids.ID_SCARON_L] = SCARON_L;
-		names[Ids.ID_SCARON_U] = SCARON_U;
-		names[Ids.ID_SDOT] = SDOT;
-		names[Ids.ID_SECT] = SECT;
-		names[Ids.ID_SHY] = SHY;
-		names[Ids.ID_SIGMAF] = SIGMAF;
-		names[Ids.ID_SIGMA_L] = SIGMA_L;
-		names[Ids.ID_SIGMA_U] = SIGMA_U;
-		names[Ids.ID_SIM] = SIM;
-		names[Ids.ID_SPADES] = SPADES;
-		names[Ids.ID_SUB] = SUB;
-		names[Ids.ID_SUBE] = SUBE;
-		names[Ids.ID_SUM] = SUM;
-		names[Ids.ID_SUP] = SUP;
-		names[Ids.ID_SUP1] = SUP1;
-		names[Ids.ID_SUP2] = SUP2;
-		names[Ids.ID_SUP3] = SUP3;
-		names[Ids.ID_SUPE] = SUPE;
-		names[Ids.ID_SZLIG] = SZLIG;
-		names[Ids.ID_TAU_L] = TAU_L;
-		names[Ids.ID_TAU_U] = TAU_U;
-		names[Ids.ID_THERE4] = THERE4;
-		names[Ids.ID_THETASYM] = THETASYM;
-		names[Ids.ID_THETA_L] = THETA_L;
-		names[Ids.ID_THETA_U] = THETA_U;
-		names[Ids.ID_THINSP] = THINSP;
-		names[Ids.ID_THORN_L] = THORN_L;
-		names[Ids.ID_THORN_U] = THORN_U;
-		names[Ids.ID_TILDE] = TILDE;
-		names[Ids.ID_TIMES] = TIMES;
-		names[Ids.ID_TRADE] = TRADE;
-		names[Ids.ID_UACUTE_L] = UACUTE_L;
-		names[Ids.ID_UACUTE_U] = UACUTE_U;
-		names[Ids.ID_UARR_L] = UARR_L;
-		names[Ids.ID_UARR_U] = UARR_U;
-		names[Ids.ID_UCIRC_L] = UCIRC_L;
-		names[Ids.ID_UCIRC_U] = UCIRC_U;
-		names[Ids.ID_UGRAVE_L] = UGRAVE_L;
-		names[Ids.ID_UGRAVE_U] = UGRAVE_U;
-		names[Ids.ID_UML] = UML;
-		names[Ids.ID_UPSIH] = UPSIH;
-		names[Ids.ID_UPSILON_L] = UPSILON_L;
-		names[Ids.ID_UPSILON_U] = UPSILON_U;
-		names[Ids.ID_UUML_L] = UUML_L;
-		names[Ids.ID_UUML_U] = UUML_U;
-		names[Ids.ID_WEIERP] = WEIERP;
-		names[Ids.ID_XI_L] = XI_L;
-		names[Ids.ID_XI_U] = XI_U;
-		names[Ids.ID_YACUTE_L] = YACUTE_L;
-		names[Ids.ID_YACUTE_U] = YACUTE_U;
-		names[Ids.ID_YEN] = YEN;
-		names[Ids.ID_YUML_L] = YUML_L;
-		names[Ids.ID_YUML_U] = YUML_U;
-		names[Ids.ID_ZETA_L] = ZETA_L;
-		names[Ids.ID_ZETA_U] = ZETA_U;
-		names[Ids.ID_ZWJ] = ZWJ;
-		names[Ids.ID_ZWNJ] = ZWNJ;
-	}
-	private static char[] values = null;
-
-	static {
-		values = new char[Ids.getNumOfIds()];
-		values[Ids.ID_AACUTE_L] = 225;
-		values[Ids.ID_AACUTE_U] = 193;
-		values[Ids.ID_ACIRC_L] = 226;
-		values[Ids.ID_ACIRC_U] = 194;
-		values[Ids.ID_ACUTE] = 180;
-		values[Ids.ID_AELIG_L] = 230;
-		values[Ids.ID_AELIG_U] = 198;
-		values[Ids.ID_AGRAVE_L] = 224;
-		values[Ids.ID_AGRAVE_U] = 192;
-		values[Ids.ID_ALEFSYM] = 8501;
-		values[Ids.ID_ALPHA_L] = 945;
-		values[Ids.ID_ALPHA_U] = 913;
-		values[Ids.ID_AMP] = 38;
-		values[Ids.ID_AND] = 8743;
-		values[Ids.ID_ANG] = 8736;
-		values[Ids.ID_ARING_L] = 229;
-		values[Ids.ID_ARING_U] = 197;
-		values[Ids.ID_ASYMP] = 8776;
-		values[Ids.ID_ATILDE_L] = 227;
-		values[Ids.ID_ATILDE_U] = 195;
-		values[Ids.ID_AUML_L] = 228;
-		values[Ids.ID_AUML_U] = 196;
-		values[Ids.ID_BDQUO] = 8222;
-		values[Ids.ID_BETA_L] = 946;
-		values[Ids.ID_BETA_U] = 914;
-		values[Ids.ID_BRVBAR] = 166;
-		values[Ids.ID_BULL] = 8226;
-		values[Ids.ID_CAP] = 8745;
-		values[Ids.ID_CCEDIL_L] = 231;
-		values[Ids.ID_CCEDIL_U] = 199;
-		values[Ids.ID_CEDIL] = 184;
-		values[Ids.ID_CENT] = 162;
-		values[Ids.ID_CHI_L] = 967;
-		values[Ids.ID_CHI_U] = 935;
-		values[Ids.ID_CIRC] = 710;
-		values[Ids.ID_CLUBS] = 9827;
-		values[Ids.ID_CONG] = 8773;
-		values[Ids.ID_COPY] = 169;
-		values[Ids.ID_CRARR] = 8629;
-		values[Ids.ID_CUP] = 8746;
-		values[Ids.ID_CURREN] = 164;
-		values[Ids.ID_DAGGER_L] = 8224;
-		values[Ids.ID_DAGGER_U] = 8225;
-		values[Ids.ID_DARR_L] = 8595;
-		values[Ids.ID_DARR_U] = 8659;
-		values[Ids.ID_DEG] = 176;
-		values[Ids.ID_DELTA_L] = 948;
-		values[Ids.ID_DELTA_U] = 916;
-		values[Ids.ID_DIAMS] = 9830;
-		values[Ids.ID_DIVIDE] = 247;
-		values[Ids.ID_EACUTE_L] = 233;
-		values[Ids.ID_EACUTE_U] = 201;
-		values[Ids.ID_ECIRC_L] = 234;
-		values[Ids.ID_ECIRC_U] = 202;
-		values[Ids.ID_EGRAVE_L] = 232;
-		values[Ids.ID_EGRAVE_U] = 200;
-		values[Ids.ID_EMPTY] = 8709;
-		values[Ids.ID_EMSP] = 8195;
-		values[Ids.ID_ENSP] = 8194;
-		values[Ids.ID_EPSILON_L] = 949;
-		values[Ids.ID_EPSILON_U] = 917;
-		values[Ids.ID_EQUIV] = 8801;
-		values[Ids.ID_ETA_L] = 951;
-		values[Ids.ID_ETA_U] = 919;
-		values[Ids.ID_ETH_L] = 240;
-		values[Ids.ID_ETH_U] = 208;
-		values[Ids.ID_EUML_L] = 235;
-		values[Ids.ID_EUML_U] = 203;
-		values[Ids.ID_EURO] = 8364;
-		values[Ids.ID_EXIST] = 8707;
-		values[Ids.ID_FNOF] = 402;
-		values[Ids.ID_FORALL] = 8704;
-		values[Ids.ID_FRAC12] = 189;
-		values[Ids.ID_FRAC14] = 188;
-		values[Ids.ID_FRAC34] = 190;
-		values[Ids.ID_FRASL] = 8260;
-		values[Ids.ID_GAMMA_L] = 947;
-		values[Ids.ID_GAMMA_U] = 915;
-		values[Ids.ID_GE] = 8805;
-		values[Ids.ID_GT] = 62;
-		values[Ids.ID_HARR_L] = 8596;
-		values[Ids.ID_HARR_U] = 8660;
-		values[Ids.ID_HEARTS] = 9829;
-		values[Ids.ID_HELLIP] = 8230;
-		values[Ids.ID_IACUTE_L] = 237;
-		values[Ids.ID_IACUTE_U] = 205;
-		values[Ids.ID_ICIRC_L] = 238;
-		values[Ids.ID_ICIRC_U] = 206;
-		values[Ids.ID_IEXCL] = 161;
-		values[Ids.ID_IGRAVE_L] = 236;
-		values[Ids.ID_IGRAVE_U] = 204;
-		values[Ids.ID_IMAGE] = 8465;
-		values[Ids.ID_INFIN] = 8734;
-		values[Ids.ID_INT] = 8747;
-		values[Ids.ID_IOTA_L] = 953;
-		values[Ids.ID_IOTA_U] = 921;
-		values[Ids.ID_IQUEST] = 191;
-		values[Ids.ID_ISIN] = 8712;
-		values[Ids.ID_IUML_L] = 239;
-		values[Ids.ID_IUML_U] = 207;
-		values[Ids.ID_KAPPA_L] = 954;
-		values[Ids.ID_KAPPA_U] = 922;
-		values[Ids.ID_LAMBDA_L] = 955;
-		values[Ids.ID_LAMBDA_U] = 923;
-		values[Ids.ID_LANG] = 9001;
-		values[Ids.ID_LAQUO] = 171;
-		values[Ids.ID_LARR_L] = 8592;
-		values[Ids.ID_LARR_U] = 8656;
-		values[Ids.ID_LCEIL] = 8968;
-		values[Ids.ID_LDQUO] = 8220;
-		values[Ids.ID_LE] = 8804;
-		values[Ids.ID_LFLOOR] = 8970;
-		values[Ids.ID_LOWAST] = 8727;
-		values[Ids.ID_LOZ] = 9674;
-		values[Ids.ID_LRM] = 8206;
-		values[Ids.ID_LSAQUO] = 8249;
-		values[Ids.ID_LSQUO] = 8216;
-		values[Ids.ID_LT] = 60;
-		values[Ids.ID_MACR] = 175;
-		values[Ids.ID_MDASH] = 8212;
-		values[Ids.ID_MICRO] = 181;
-		values[Ids.ID_MIDDOT] = 183;
-		values[Ids.ID_MINUS] = 8722;
-		values[Ids.ID_MU_L] = 956;
-		values[Ids.ID_MU_U] = 924;
-		values[Ids.ID_NABLA] = 8711;
-		values[Ids.ID_NBSP] = 160;
-		values[Ids.ID_NDASH] = 8211;
-		values[Ids.ID_NE] = 8800;
-		values[Ids.ID_NI] = 8715;
-		values[Ids.ID_NOT] = 172;
-		values[Ids.ID_NOTIN] = 8713;
-		values[Ids.ID_NSUB] = 8836;
-		values[Ids.ID_NTILDE_L] = 241;
-		values[Ids.ID_NTILDE_U] = 209;
-		values[Ids.ID_NU_L] = 957;
-		values[Ids.ID_NU_U] = 925;
-		values[Ids.ID_OACUTE_L] = 243;
-		values[Ids.ID_OACUTE_U] = 211;
-		values[Ids.ID_OCIRC_L] = 244;
-		values[Ids.ID_OCIRC_U] = 212;
-		values[Ids.ID_OELIG_L] = 339;
-		values[Ids.ID_OELIG_U] = 338;
-		values[Ids.ID_OGRAVE_L] = 242;
-		values[Ids.ID_OGRAVE_U] = 210;
-		values[Ids.ID_OLINE] = 8254;
-		values[Ids.ID_OMEGA_L] = 969;
-		values[Ids.ID_OMEGA_U] = 937;
-		values[Ids.ID_OMICRON_L] = 959;
-		values[Ids.ID_OMICRON_U] = 927;
-		values[Ids.ID_OPLUS] = 8853;
-		values[Ids.ID_OR] = 8744;
-		values[Ids.ID_ORDF] = 170;
-		values[Ids.ID_ORDM] = 186;
-		values[Ids.ID_OSLASH_L] = 248;
-		values[Ids.ID_OSLASH_U] = 216;
-		values[Ids.ID_OTILDE_L] = 245;
-		values[Ids.ID_OTILDE_U] = 213;
-		values[Ids.ID_OTIMES] = 8855;
-		values[Ids.ID_OUML_L] = 246;
-		values[Ids.ID_OUML_U] = 214;
-		values[Ids.ID_PARA] = 182;
-		values[Ids.ID_PART] = 8706;
-		values[Ids.ID_PERMIL] = 8240;
-		values[Ids.ID_PERP] = 8869;
-		values[Ids.ID_PHI_L] = 966;
-		values[Ids.ID_PHI_U] = 934;
-		values[Ids.ID_PIV] = 982;
-		values[Ids.ID_PI_L] = 960;
-		values[Ids.ID_PI_U] = 928;
-		values[Ids.ID_PLUSMN] = 177;
-		values[Ids.ID_POUND] = 163;
-		values[Ids.ID_PRIME_L] = 8242;
-		values[Ids.ID_PRIME_U] = 8243;
-		values[Ids.ID_PROD] = 8719;
-		values[Ids.ID_PROP] = 8733;
-		values[Ids.ID_PSI_L] = 968;
-		values[Ids.ID_PSI_U] = 936;
-		values[Ids.ID_QUOT] = 34;
-		values[Ids.ID_RADIC] = 8730;
-		values[Ids.ID_RANG] = 9002;
-		values[Ids.ID_RAQUO] = 187;
-		values[Ids.ID_RARR_L] = 8594;
-		values[Ids.ID_RARR_U] = 8658;
-		values[Ids.ID_RCEIL] = 8969;
-		values[Ids.ID_RDQUO] = 8221;
-		values[Ids.ID_REAL] = 8476;
-		values[Ids.ID_REG] = 174;
-		values[Ids.ID_RFLOOR] = 8971;
-		values[Ids.ID_RHO_L] = 961;
-		values[Ids.ID_RHO_U] = 929;
-		values[Ids.ID_RLM] = 8207;
-		values[Ids.ID_RSAQUO] = 8250;
-		values[Ids.ID_RSQUO] = 8217;
-		values[Ids.ID_SBQUO] = 8218;
-		values[Ids.ID_SCARON_L] = 353;
-		values[Ids.ID_SCARON_U] = 352;
-		values[Ids.ID_SDOT] = 8901;
-		values[Ids.ID_SECT] = 167;
-		values[Ids.ID_SHY] = 173;
-		values[Ids.ID_SIGMAF] = 962;
-		values[Ids.ID_SIGMA_L] = 963;
-		values[Ids.ID_SIGMA_U] = 931;
-		values[Ids.ID_SIM] = 8764;
-		values[Ids.ID_SPADES] = 9824;
-		values[Ids.ID_SUB] = 8834;
-		values[Ids.ID_SUBE] = 8838;
-		values[Ids.ID_SUM] = 8721;
-		values[Ids.ID_SUP] = 8835;
-		values[Ids.ID_SUP1] = 185;
-		values[Ids.ID_SUP2] = 178;
-		values[Ids.ID_SUP3] = 179;
-		values[Ids.ID_SUPE] = 8839;
-		values[Ids.ID_SZLIG] = 223;
-		values[Ids.ID_TAU_L] = 964;
-		values[Ids.ID_TAU_U] = 932;
-		values[Ids.ID_THERE4] = 8756;
-		values[Ids.ID_THETASYM] = 977;
-		values[Ids.ID_THETA_L] = 952;
-		values[Ids.ID_THETA_U] = 920;
-		values[Ids.ID_THINSP] = 8201;
-		values[Ids.ID_THORN_L] = 254;
-		values[Ids.ID_THORN_U] = 222;
-		values[Ids.ID_TILDE] = 732;
-		values[Ids.ID_TIMES] = 215;
-		values[Ids.ID_TRADE] = 8482;
-		values[Ids.ID_UACUTE_L] = 250;
-		values[Ids.ID_UACUTE_U] = 218;
-		values[Ids.ID_UARR_L] = 8593;
-		values[Ids.ID_UARR_U] = 8657;
-		values[Ids.ID_UCIRC_L] = 251;
-		values[Ids.ID_UCIRC_U] = 219;
-		values[Ids.ID_UGRAVE_L] = 249;
-		values[Ids.ID_UGRAVE_U] = 217;
-		values[Ids.ID_UML] = 168;
-		values[Ids.ID_UPSIH] = 978;
-		values[Ids.ID_UPSILON_L] = 965;
-		values[Ids.ID_UPSILON_U] = 933;
-		values[Ids.ID_UUML_L] = 252;
-		values[Ids.ID_UUML_U] = 220;
-		values[Ids.ID_WEIERP] = 8472;
-		values[Ids.ID_XI_L] = 958;
-		values[Ids.ID_XI_U] = 926;
-		values[Ids.ID_YACUTE_L] = 253;
-		values[Ids.ID_YACUTE_U] = 221;
-		values[Ids.ID_YEN] = 165;
-		values[Ids.ID_YUML_L] = 255;
-		values[Ids.ID_YUML_U] = 376;
-		values[Ids.ID_ZETA_L] = 950;
-		values[Ids.ID_ZETA_U] = 918;
-		values[Ids.ID_ZWJ] = 8205;
-		values[Ids.ID_ZWNJ] = 8204;
-	}
-
-	/**
-	 */
-	public EntityCollection() {
-		super(names, STRICT_CASE);
-	}
-
-	/**
-	 * Create an entity declaration.
-	 * @return org.eclipse.wst.common.contentmodel.CMNode
-	 * @param attrName java.lang.String
-	 */
-	protected CMNode create(String entityName) {
-		int id = getID(entityName);
-		if (id == ID_UNKNOWN)
-			return null;
-
-		String value = String.valueOf(values[id]);
-		HTMLEntityDeclImpl dec = new HTMLEntityDeclImpl(entityName, value);
-
-		return dec;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HCMDocImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HCMDocImpl.java
deleted file mode 100644
index 2d45089..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HCMDocImpl.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNamespace;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * CMDocument implementation for the HTML.
- */
-class HCMDocImpl extends CMNodeImpl implements HTMLCMDocument {
-
-	/** Namespace for all names of elements, entities and attributes. */
-	private CMNamespaceImpl namespace = null;
-	private ElementCollection elements = null;
-	private EntityCollection entities = null;
-	private AttributeCollection attributes = null;
-
-	/**
-	 */
-	public HCMDocImpl(String docTypeName, CMNamespaceImpl targetNamespace) {
-		super(docTypeName);
-		namespace = targetNamespace;
-		attributes = new AttributeCollection();
-		elements = new ElementCollection(attributes);
-		entities = new EntityCollection();
-	}
-
-	/**
-	 * @return com.ibm.sed.contentmodel.html.AttributeCollection
-	 */
-	AttributeCollection getAttributes() {
-		return attributes;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.HTMLCMDocument
-	 */
-	public HTMLElementDeclaration getElementDeclaration(String elementName) {
-		if (elements == null)
-			return null;
-		return (HTMLElementDeclaration) elements.getNamedItem(elementName);
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public CMNamedNodeMap getElements() {
-		return elements;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public CMNamedNodeMap getEntities() {
-		return entities;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.HTMLCMDocument
-	 */
-	public HTMLEntityDeclaration getEntityDeclaration(String entityName) {
-		if (entities == null)
-			return null;
-		return (HTMLEntityDeclaration) entities.getNamedItem(entityName);
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public CMNamespace getNamespace() {
-		return namespace;
-	}
-
-	/**
-	 * @see CMNode
-	 */
-	public int getNodeType() {
-		return CMNode.DOCUMENT;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLAttrDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLAttrDeclImpl.java
deleted file mode 100644
index f9311ac..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLAttrDeclImpl.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-
-/**
- * Implementation class of {@link <code>HTMLAttributeDeclaration</code>} interface.<br>
- */
-class HTMLAttrDeclImpl extends CMNodeImpl implements HTMLAttributeDeclaration {
-
-	private HTMLCMDataTypeImpl type = null;
-	private int usage = 0;
-
-	/**
-	 */
-	public HTMLAttrDeclImpl(String attrName, HTMLCMDataTypeImpl valueType, int valueUsage) {
-		super(attrName);
-		this.type = valueType;
-
-		switch (valueUsage) {
-			case OPTIONAL :
-			case REQUIRED :
-			case FIXED :
-			case PROHIBITED :
-				this.usage = valueUsage;
-				break;
-			default :
-				// should warn...
-				this.usage = OPTIONAL; // fall back
-				break;
-		}
-	}
-
-	/**
-	 * getAttrName method
-	 * @return java.lang.String
-	 */
-	public String getAttrName() {
-		return getNodeName();
-	}
-
-	/**
-	 * getAttrType method
-	 * @return CMDataType
-	 */
-	public CMDataType getAttrType() {
-		return type;
-	}
-
-	/**
-	 * @deprecated by superinterface
-	 */
-	public String getDefaultValue() {
-		if (type.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_DEFAULT)
-			return null;
-		return type.getImpliedValue();
-	}
-
-	/**
-	 * @deprecated by superinterface
-	 */
-	public Enumeration getEnumAttr() {
-		Vector v = new Vector(Arrays.asList(type.getEnumeratedValues()));
-		return v.elements();
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ELEMENT_DECLARATION, ATTRIBUTE_DECLARATION, GROUP, ENTITY_DECLARATION.
-	 */
-	public int getNodeType() {
-		return CMNode.ATTRIBUTE_DECLARATION;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getUsage() {
-		return usage;
-	}
-
-	/**
-	 */
-	public boolean supports(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return true;
-		else if (propertyName.equals(HTMLCMProperties.IS_SCRIPTABLE))
-			return true;
-		return super.supports(propertyName);
-	}
-
-	/**
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return new Boolean(true);
-		else if (propertyName.equals(HTMLCMProperties.IS_SCRIPTABLE)) {
-			return getAttrType().getDataTypeName() == HTMLCMDataType.SCRIPT ? new Boolean(true) : new Boolean(false);
-		}
-		return super.getProperty(propertyName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLAttributeDeclaration.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLAttributeDeclaration.java
deleted file mode 100644
index 5ea976a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLAttributeDeclaration.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-
-
-
-/**
- * This interface is intended to be a public interface which has
- * interfaces defined in both of {@link <code>CMAttributeDeclaration</code>}
- * and {@link <code>HTMLCMNode</code>}.<br>
- */
-public interface HTMLAttributeDeclaration extends CMAttributeDeclaration {
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDataType.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDataType.java
deleted file mode 100644
index fe0e16e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDataType.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMDataType;
-
-/**
- * HTML extension for data types.
- */
-public interface HTMLCMDataType extends CMDataType {
-
-	/** Boolean; it should be defined in CMDataType. */
-	public static final String BOOLEAN = "BOOLEAN"; //$NON-NLS-1$
-	public static final String COLOR = "COLOR"; //$NON-NLS-1$
-	public static final String EVENT = "EVENT"; //$NON-NLS-1$
-	public static final String IDREFS = "IDREFS"; //$NON-NLS-1$
-	/** Name; it should be defined in CMDataType. */
-	public static final String NAME = "NAME"; //$NON-NLS-1$
-	// Following types are just aliases.
-	/** %Character; == CDATA */
-	public static final String CHARACTER = CMDataType.CDATA;
-	/** %Charset; == CDATA */
-	public static final String CHARSET = CMDataType.CDATA;
-	/** %Charsets; == CDATA */
-	public static final String CHARSETS = CMDataType.CDATA;
-	/** %ContentType; == CDATA */
-	public static final String CONTENT_TYPE = CMDataType.CDATA;
-	/** %Coords; == CDATA */
-	public static final String COORDS = CMDataType.CDATA;
-	/** %Datetime; == CDATA */
-	public static final String DATETIME = CMDataType.CDATA;
-	/** %FrameTarget; == CDATA */
-	public static final String FRAME_TARGET = CMDataType.CDATA;
-	/** %LanguageCode; == NAME */
-	public static final String LANGUAGE_CODE = NAME;
-	/** %Length; == CDATA */
-	public static final String LENGTH = CMDataType.CDATA;
-	/** %LinkTypes; == CDATA */
-	public static final String LINK_TYPES = CMDataType.CDATA;
-	/** %LIStyle; == CDATA */
-	public static final String LI_STYLE = CMDataType.CDATA;
-	/** %MediaDesc; == CDATA */
-	public static final String MEDIA_DESC = CMDataType.CDATA;
-	/** %MultiLength; == CDATA */
-	public static final String MULTI_LENGTH = CMDataType.CDATA;
-	/** %OLStyle; == CDATA */
-	public static final String OL_STYLE = CMDataType.CDATA;
-	/** %Pixles; == CDATA */
-	public static final String PIXELS = CMDataType.CDATA;
-	/** %Script; == EVENT */
-	public static final String SCRIPT = EVENT;
-	/** %StyleSheet; == EVENT */
-	public static final String STYLE_SHEET = CMDataType.CDATA;
-	/** %Text; == CDATA */
-	public static final String TEXT = CMDataType.CDATA;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDataTypeImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDataTypeImpl.java
deleted file mode 100644
index d067478..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDataTypeImpl.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-
-
-/**
- */
-class HTMLCMDataTypeImpl extends CMNodeImpl implements HTMLCMDataType {
-
-	private int impliedValueKind = IMPLIED_VALUE_NONE;
-	private String impliedValue = null;
-	private final static String[] emptyArray = new String[0];
-	private String[] enumValues = emptyArray;
-	private String instanceValue = null;
-
-	/**
-	 * HTMLCMDataTypeImpl constructor comment.
-	 * @param nm java.lang.String
-	 */
-	public HTMLCMDataTypeImpl(String typeName) {
-		super(typeName);
-	}
-
-	/**
-	 * HTMLCMDataTypeImpl constructor comment.
-	 * @param nm java.lang.String
-	 */
-	public HTMLCMDataTypeImpl(String typeName, String instanceValue) {
-		super(typeName);
-		this.instanceValue = instanceValue;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String
-	 *
-	 * This method returns a suitable default value that can be used when an instance of the data type is created.
-	 * This returns null of a suitable default is not available.
-	 */
-	public String generateInstanceValue() {
-		return instanceValue;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDataType
-	 */
-	public String getDataTypeName() {
-		return getNodeName();
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String[]
-	 *
-	 */
-	public String[] getEnumeratedValues() {
-		return enumValues;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String  
-	 *
-	 * Returns the implied value or null if none exists.
-	 */
-	public String getImpliedValue() {
-		return impliedValue;
-	}
-
-	/**
-	 * getImpliedValueKind method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * IMPLIED_VALUE_NONE, IMPLIED_VALUE_FIXED, IMPLIED_VALUE_DEFAULT.
-	 */
-	public int getImpliedValueKind() {
-		return impliedValueKind;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	public int getNodeType() {
-		return CMNode.DATA_TYPE;
-	}
-
-	/**
-	 */
-	void setEnumValues(String[] values) {
-		enumValues = new String[values.length];
-		for (int i = 0; i < values.length; i++) {
-			enumValues[i] = values[i];
-		}
-	}
-
-	/**
-	 * package scope.
-	 */
-	void setImpliedValue(int kind, String value) {
-		switch (kind) {
-			case IMPLIED_VALUE_FIXED :
-			case IMPLIED_VALUE_DEFAULT :
-				impliedValueKind = kind;
-				impliedValue = value;
-				break;
-			case IMPLIED_VALUE_NONE :
-			default :
-				impliedValueKind = IMPLIED_VALUE_NONE;
-				impliedValue = null; // maybe a null string?
-				break;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDocument.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDocument.java
deleted file mode 100644
index 46177cc..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDocument.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-
-
-
-/**
- * HTML extension for CMDocument.
- * This interface provides some short hand methods to get declarations
- * by a name.
- */
-public interface HTMLCMDocument extends CMDocument {
-
-	/**
-	 * A short hand method to get a element declaration for a HTML element.<br>
-	 * @return com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 * @param elementName java.lang.String
-	 */
-	HTMLElementDeclaration getElementDeclaration(String elementName);
-
-	/**
-	 * A short hand method to get a entity declaration of HTML documents.<br>
-	 * @return com.ibm.sed.contentmodel.html.HTMLEntityDeclaration
-	 * @param entityName java.lang.String
-	 */
-	HTMLEntityDeclaration getEntityDeclaration(String entityName);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDocumentFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDocumentFactory.java
deleted file mode 100644
index 4e7ea65..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMDocumentFactory.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Hashtable;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.html.core.contentmodel.chtml.CHCMDocImpl;
-import org.eclipse.wst.sse.core.contentmodel.CMDocType;
-
-/**
- * INodeAdapter factory for HTML and JSP documents.
- */
-public final class HTMLCMDocumentFactory {
-
-	private static Hashtable cmdocs = new Hashtable();
-
-	static {
-		CMNamespaceImpl h40ns = new CMNamespaceImpl(HTML40Namespace.HTML40_URI, HTML40Namespace.HTML40_TAG_PREFIX);
-		CMNamespaceImpl j11ns = new CMNamespaceImpl(JSP11Namespace.JSP11_URI, JSP11Namespace.JSP_TAG_PREFIX);
-
-		HCMDocImpl html40doc = new HCMDocImpl(CMDocType.HTML_DOC_TYPE, h40ns);
-		CHCMDocImpl chtmldoc = new CHCMDocImpl(CMDocType.CHTML_DOC_TYPE, h40ns);
-		JCMDocImpl jsp11doc = new JCMDocImpl(CMDocType.JSP11_DOC_TYPE, j11ns);
-
-		cmdocs.put(CMDocType.HTML_DOC_TYPE, html40doc);
-		cmdocs.put(CMDocType.CHTML_DOC_TYPE, chtmldoc);
-		cmdocs.put(CMDocType.JSP11_DOC_TYPE, jsp11doc);
-	}
-
-	/**
-	 * HTMLCMAdapterFactory constructor.
-	 */
-	private HTMLCMDocumentFactory() {
-		super();
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMDocument
-	 * @param cmtype java.lang.String
-	 */
-	public static CMDocument getCMDocument(String cmtype) {
-		Object obj = cmdocs.get(cmtype);
-		if (obj == null)
-			return null;
-
-		return (CMDocument) obj;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMNode.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMNode.java
deleted file mode 100644
index f7a783d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLCMNode.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-/**
- * In HTML Documents, name and value of an attribute/element/entity
- * should be treated ignoring theirs case.  However, in XML documents,
- * they should be distinguished with sensitiveness of their case.
- * CMNode is basically designed to represent DTDs or Schemas for XML
- * documents.  So, it doesn't have interfaces to retrieve such information.
- * However, declarations in the HTML CM should provide such information.
- * This intermediate interface is intended to provide whether ignore cases
- * or not.<br>
- */
-interface HTMLCMNode extends org.eclipse.wst.common.contentmodel.CMNode {
-
-	/**
-	 * Returns <code>true</code>, if declaration is for HTML attribute/element/entity.
-	 * Otherwise, returns <code>false</code>.
-	 * @return boolean
-	 */
-	boolean shouldIgnoreCase();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLElemDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLElemDeclImpl.java
deleted file mode 100644
index 6814cbe..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLElemDeclImpl.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-
-/**
- * Base class for all Hed???? classes.
- */
-abstract class HTMLElemDeclImpl extends CMContentImpl implements HTMLElementDeclaration, HTMLPropertyDeclaration {
-
-	// DTD
-	protected CMNamedNodeMapImpl attributes = null;
-	protected String typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMPTY;
-	/** Never access this field directly.  Instead, use getComplexTypeDefinition method. */
-	private ComplexTypeDefinition typeDefinition = null;
-	protected CMGroupImpl inclusion = null;
-	protected CMGroupImpl exclusion = null;
-	// advanced information
-	protected CMNamedNodeMap prohibitedAncestors = null;
-	protected int correctionType = CORRECT_NONE;
-	protected int formatType = FORMAT_HTML;
-	protected int layoutType = LAYOUT_NONE;
-	protected int omitType = OMIT_NONE;
-	protected boolean keepSpaces = false;
-	protected boolean indentChild = false;
-	protected ElementCollection elementCollection = null;
-	protected AttributeCollection attributeCollection = null;
-	protected final static CMNamedNodeMap EMPTY_MAP = new CMNamedNodeMap() {
-		public int getLength() {
-			return 0;
-		}
-
-		public CMNode getNamedItem(String name) {
-			return null;
-		}
-
-		public CMNode item(int index) {
-			return null;
-		}
-
-		public Iterator iterator() {
-			return new Iterator() {
-				public boolean hasNext() {
-					return false;
-				}
-
-				public Object next() {
-					return null;
-				}
-
-				public void remove() {
-				}
-			};
-		}
-	};
-
-	/**
-	 * HTMLElemDeclImpl constructor.
-	 * In the HTML DTD, an element declaration has no specification
-	 * for its occurrence.  Occurrence is specifed in content model, like
-	 * <code>(LI)+</code>.  To avoid confusion (and complexity),
-	 * occurrence of an element declaration is always 1 (it means, min = 1 and
-	 * max = 1).  Instead, occurrence of CMGroup represents actual occurrence
-	 * of the content.
-	 * <br>
-	 * @param name java.lang.String
-	 */
-	public HTMLElemDeclImpl(String elementName, ElementCollection collection) {
-		super(elementName, 1, 1);
-		elementCollection = collection;
-		attributeCollection = collection.getAttributeCollection();
-	}
-
-	/**
-	 */
-	protected abstract void createAttributeDeclarations();
-
-	/**
-	 * 
-	 * @return com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	private ComplexTypeDefinition createComplexTypeDefinition() {
-		if (typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_CDATA) || typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_EMPTY) || typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_PCDATA))
-			return null;
-
-		ComplexTypeDefinitionFactory factory = ComplexTypeDefinitionFactory.getInstance();
-		if (factory == null)
-			return null; // fatal error.
-
-		ComplexTypeDefinition def = factory.createTypeDefinition(typeDefinitionName, elementCollection);
-		return def;
-	}
-
-	/**
-	 * Get an attribute declaration.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public HTMLAttributeDeclaration getAttributeDeclaration(String attrName) {
-		if (attributes == null) {
-			createAttributeDeclarations();
-			if (attributes == null)
-				return null; // fail to create
-		}
-
-		CMNode cmnode = attributes.getNamedItem(attrName);
-		if (cmnode == null) {
-			return null;
-		}
-		else {
-			return (HTMLAttributeDeclaration) cmnode; // already exists.
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public CMNamedNodeMap getAttributes() {
-		if (attributes == null)
-			createAttributeDeclarations(); // lazy eval.
-		return attributes;
-	}
-
-	/**
-	 * Get an instance of complex type definition.
-	 * @return com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	private ComplexTypeDefinition getComplexTypeDefinition() {
-		if (typeDefinition == null)
-			typeDefinition = createComplexTypeDefinition();
-		return typeDefinition;
-	}
-
-	/**
-	 * Content.<br>
-	 * Element declarations which type is EMPTY or CDATA (maybe PCDATA)
-	 * <strong>MUST</strong> override this method and always return null.
-	 * This default implementation always tries to create a complex type definition
-	 * instance and access to it.
-	 * <br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public CMContent getContent() {
-		ComplexTypeDefinition def = getComplexTypeDefinition(); // lazy eval.
-		return (def != null) ? def.getContent() : null;
-	}
-
-	/**
-	 * Content type.<br>
-	 * Element declarations which type is EMPTY or CDATA (maybe PCDATA)
-	 * <strong>MUST</strong> override this method and return an appropriate type.
-	 * This default implementation always tries to create a complex type definition
-	 * instance and access to it.
-	 * <br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public int getContentType() {
-		ComplexTypeDefinition def = getComplexTypeDefinition(); // lazy eval.
-		return (def != null) ? def.getContentType() : CMElementDeclaration.CDATA;
-	}
-
-	/**
-	 * @see HTMLElementDeclaration#getCorrectionType
-	 */
-	public int getCorrectionType() {
-		return correctionType;
-	}
-
-	/**
-	 * HTML element doesn't have any data type.  So, this method always
-	 * returns <code>null</code>.<br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public CMDataType getDataType() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public String getElementName() {
-		return getNodeName();
-	}
-
-	/**
-	 * Exclusion.
-	 * Almost elements don't have a exclusion.
-	 * Only classes those have exclusion should override this method.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		return null;
-	}
-
-	/**
-	 * Default format type is <code>FORMAT_HTML</code>.<br>
-	 */
-	public int getFormatType() {
-		return formatType;
-	}
-
-	/**
-	 * Inclusion.
-	 * Almost elements don't have a inclusion.
-	 * Only classes those have inclusion should override this method.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getInclusion() {
-		return null;
-	}
-
-	/**
-	 */
-	public int getLayoutType() {
-		return layoutType;
-	}
-
-	/**
-	 * Line break hint is strongly related to layout type.
-	 * Indeed, in the C++DOM, it is determined from layout type only.
-	 * So, this implementation, as the default implementation for all declarations,
-	 * also determines from layout type only.<br>
-	 * @return int
-	 */
-	public int getLineBreakHint() {
-		switch (getLayoutType()) {
-			case HTMLElementDeclaration.LAYOUT_BLOCK :
-				return HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END;
-			case HTMLElementDeclaration.LAYOUT_BREAK :
-				return HTMLElementDeclaration.BREAK_AFTER_START;
-			case HTMLElementDeclaration.LAYOUT_HIDDEN :
-				return HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END;
-			default :
-				return HTMLElementDeclaration.BREAK_NONE;
-		}
-	}
-
-	/**
-	 * No HTML element has local elements.  So, this method always
-	 * returns an empty map.
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public CMNamedNodeMap getLocalElements() {
-		return EMPTY_MAP;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	public int getNodeType() {
-		return CMNode.ELEMENT_DECLARATION;
-	}
-
-	/**
-	 */
-	public int getOmitType() {
-		return omitType;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		return EMPTY_MAP;
-	}
-
-	/**
-	 */
-	public boolean supports(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) {
-			return true;
-		}
-		else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) {
-			ComplexTypeDefinition def = getComplexTypeDefinition();
-			return (def != null);
-		}
-		else {
-			PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName);
-			if (pp == null)
-				return false;
-			return pp.supports(this);
-		}
-
-	}
-
-	/**
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) {
-			return new Boolean(true);
-		}
-		else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) {
-			ComplexTypeDefinition def = getComplexTypeDefinition();
-			return (def != null) ? def.getPrimaryCandidate() : null;
-		}
-		else {
-			PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName);
-			if (pp == null)
-				return null;
-			return pp.get(this);
-		}
-	}
-
-	/**
-	 * Return element names which terminates this element.<br>
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return null;
-	}
-
-	/**
-	 * return true when the element is a JSP element.
-	 */
-	public boolean isJSP() {
-		return false;
-	}
-
-	/**
-	 * In some elements, such as APPLET, a source generator should indent child
-	 * elements that their parents.  That is, a source generator should generate
-	 * source  of APPLET and PARAMS like this:
-	 * <PRE>
-	 *   &lt;APPLET ...&gt;
-	 *     &lt;PARAM ... &gt;
-	 *     &lt;PARAM ... &gt;
-	 *   &lt;/APPLET&gt;
-	 * <PRE>
-	 * @return boolean
-	 */
-	public boolean shouldIndentChildSource() {
-		return indentChild;
-	}
-
-	/**
-	 * Most of elements can compact spaces in their child text nodes.
-	 * Some special elements should keep them in their source.
-	 * @return boolean
-	 */
-	public boolean shouldKeepSpaces() {
-		return keepSpaces;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean shouldTerminateAt(HTMLElementDeclaration nextElement) {
-		Iterator i = getTerminators();
-		if (i == null)
-			return false;
-		String nextName = nextElement.getElementName();
-		while (i.hasNext()) {
-			if (nextName.equals(i.next()))
-				return true;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLElementDeclaration.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLElementDeclaration.java
deleted file mode 100644
index 99e6735..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLElementDeclaration.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-
-/**
- * This interface is intended to be a public interface which has
- * interfaces defined in both of {@link <code>CMElementDeclaration</code>}
- * and {@link <code>HTMLCMNode</code>}.<br>
- * In addition to this, some interfaces are added to this interface,
- * those are specially to HTML elements.<br>
- */
-public interface HTMLElementDeclaration extends CMElementDeclaration {
-
-	/** Tag ommission; Not ommisible. */
-	int OMIT_NONE = 0;
-	/** Tag ommission; Both tags are ommisible. */
-	int OMIT_BOTH = 1;
-	/** Tag ommission; The end tag is ommisible. */
-	int OMIT_END = 2;
-	/** Tag ommission; The end tag is ommitted when created. */
-	int OMIT_END_DEFAULT = 3;
-	/** Tag ommission; The end tag must be omitted. */
-	int OMIT_END_MUST = 4;
-	/** Line Break; No break. */
-	int BREAK_NONE = 10;
-	/** Line Break; Break after the start tag. */
-	int BREAK_AFTER_START = 11;
-	/** Line Break; Break both before the start tagn and after the end tag. */
-	int BREAK_BEFORE_START_AND_AFTER_END = 12;
-	/* Layout */
-	/** initial value; the value should never returns to client programs. */
-	int LAYOUT_NONE = 100;
-	int LAYOUT_BLOCK = 101;
-	int LAYOUT_WRAP = 102;
-	/** No wrap object; like IMG, APPLET,... */
-	int LAYOUT_OBJECT = 103;
-	/** BR */
-	int LAYOUT_BREAK = 104;
-	/** Hidden object; like HTML or HEAD */
-	int LAYOUT_HIDDEN = 105;
-	/* Correction */
-	/** Correct; No correct. */
-	int CORRECT_NONE = 1000;
-	/** Correct; Meaningless when the content is empty. */
-	int CORRECT_EMPTY = 1001;
-	/** Correct; Meaningless when no attribut is set. */
-	int CORRECT_NEUTRAL = 1002;
-	/** Correct; Meaningless when same element is nested. */
-	int CORRECT_DUPLICATED = 1003;
-	/** Format; HTML */
-	int FORMAT_HTML = 10000;
-	/** Format; SSI */
-	int FORMAT_SSI = 10001;
-	/** Format; JSP script */
-	int FORMAT_JSP_SCRIPT = 10002;
-	/** Format; JSP directive */
-	int FORMAT_JSP_DIRECTIVE = 10003;
-	/** Format; XML */
-	int FORMAT_XML = 10004;
-	/** Format; MW */
-	int FORMAT_MW = 10005;
-
-	/**
-	 * A short hand method to get an attribute declaration of a HTML element.
-	 * @return com.ibm.sed.contentmodel.html.HTMLAttributeDeclaration
-	 * @param attrName java.lang.String
-	 */
-	HTMLAttributeDeclaration getAttributeDeclaration(String attrName);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLEntityDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLEntityDeclImpl.java
deleted file mode 100644
index 3ec7fdb..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLEntityDeclImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-
-
-
-/**
- */
-class HTMLEntityDeclImpl extends CMNodeImpl implements HTMLEntityDeclaration {
-
-	private java.lang.String value = null;
-
-	/**
-	 * CMEntityDeclImpl constructor comment.
-	 * @param entityName java.lang.String; Entity name.
-	 * @param entityValue java.lang.String; Value string.
-	 */
-	public HTMLEntityDeclImpl(String entityName, String entityValue) {
-		super(entityName);
-		value = entityValue;
-	}
-
-	/**
-	 * getName method
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return getNodeName();
-	}
-
-	/**
-	 * Get CMNode type.<br>
-	 * @return int; Always return ENTITY_DECLARATION.
-	 */
-	public int getNodeType() {
-		return CMNode.ENTITY_DECLARATION;
-	}
-
-	/**
-	 * getValue method
-	 * @return java.lang.String
-	 */
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 */
-	public boolean supports(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return true;
-		return super.supports(propertyName);
-	}
-
-	/**
-	 * Entities in HTML documents are always treated with ignoring cases.
-	 * Because no special entities are defined in JSP 1.0, this method
-	 * can always return <code>true</code>.<br>
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return new Boolean(true);
-		return super.getProperty(propertyName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLEntityDeclaration.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLEntityDeclaration.java
deleted file mode 100644
index b1b1014..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLEntityDeclaration.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-/**
- * This interface is intended to be a public interface which has
- * interfaces defined in both of {@link <code>CMEntityDeclaration</code>}
- * and {@link <code>HTMLCMNode</code>}.<br>
- */
-public interface HTMLEntityDeclaration extends org.eclipse.wst.common.contentmodel.CMEntityDeclaration {
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLPropertyDeclaration.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLPropertyDeclaration.java
deleted file mode 100644
index 9ff07f6..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HTMLPropertyDeclaration.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * This interface is commonly used in declaration implementation, and internal use.
- * Use getProperty() method for public use.
- */
-public interface HTMLPropertyDeclaration {
-	/**
-	 * To determin the type, look up the following keywords in C++DOM/DTDParser.cpp:
-	 * <ul>
-	 *   <li>CORRECT_DUPLICATED - <code>GROUP_NODUP</code></li>
-	 *   <li>CORRECT_EMPTY - <code>GROUP_COMPACT</code></li>
-	 *   <li>CORRECT_NEUTRAL - <code>GROUP_NEUTRAL</code></li>
-	 *   <li>CORRECT_NONE - <code>(N/A)</code></li>
-	 * </ul>
-	 * @return int
-	 */
-	int getCorrectionType();
-	/**
-	 * Get the list of declarations those should be excluded from the content.<br>
-	 * @return org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	CMContent getExclusion();
-	/**
-	 * To determin the type, see the following files in the C++DOM:
-	 *   ElementType.cpp - ElementType#setGroup().
-	 *   Element.cpp - Element#getStartTag().
-	 * @return int
-	 */
-	int getFormatType();
-	/**
-	 * Get the list of declarations those should be included into the content.<br>
-	 * @return org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	CMContent getInclusion();
-	/**
-	 * To determin the type, look up the following keywords in C++DOM/DTDParser.cpp:
-	 * <ul>
-	 *   <li>LAYOUT_BLOCK - <code>GROUP_BLOCK</code></li>
-	 *   <li>LAYOUT_BREAK - <code>GROUP_BREAK</code></li>
-	 *   <li>LAYOUT_HIDDEN - <code>GROUP_HIDDEN</code></li>
-	 *   <li>LAYOUT_NONE - <code>(N/A)</code></li>
-	 *   <li>LAYOUT_OBJECT - <code>GROUP_NOWRAP</code></li>
-	 *   <li>LAYOUT_WRAP - <code>(N/A)</code></li>
-	 * </ul>
-	 * @return int
-	 */
-	int getLayoutType();
-	/**
-	 * To determine the type, see <code>Element::isBreakingBeforeElement()</code>
-	 * and <code>Element::isBreakingAfterElement()</code> defined in C++DOM/Element.cpp.<br>
-	 * @return int
-	 */
-	int getLineBreakHint();
-	/**
-	 * To determine the type, Check the HTML DTD.
-	 * And look up <code>GROUP_NOEND</code> in C++DOM/DTDParser.cpp.<br>
-	 * @return int
-	 */
-	int getOmitType();
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNamedNodeMap
-	 */
-	CMNamedNodeMap getProhibitedAncestors();
-	/**
-	 * return true when the element is a JSP element.
-	 */
-	boolean isJSP();
-	/**
-	 * @return boolean
-	 */
-	boolean shouldIndentChildSource();
-	/**
-	 * Some elements should keep spaces in its child text nodes.
-	 * For example, PRE and TEXTAREA.  This method returns true,
-	 * if a target element is one of such elements.
-	 * @return boolean
-	 */
-	boolean shouldKeepSpaces();
-	/**
-	 * Returns <code>true</code>, if <code>nextElement</code> terminates
-	 * the current element.
-	 * Some elements like <code>P</code> terminates other <code>P</code>.
-	 * That is, when <code>&lt;P&gt;</code> appears at the next to <code>P</code>,
-	 * which end tags is omitted, it represents not only the beginning of the
-	 * new <code>P</code> element but also the end of the previous <code>P</code>.
-	 * <br>
-	 * See the C++DOM/HTMLParser#_terminate(Element*) method.
-	 * @param nextElement com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	boolean shouldTerminateAt(HTMLElementDeclaration nextElement);
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedA.java
deleted file mode 100644
index 84cb78b..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedA.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * A.
- */
-final class HedA extends HedInlineContainer {
-
-	/**
-	 */
-	public HedA(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.A, collection);
-		// CORRECT_EMPTY - GROUP_COMPACT
-		correctionType = CORRECT_EMPTY;
-	}
-
-	/**
-	 * %attrs;
-	 * (charset %Charset; #IMPLIED)
-	 * (type %ContentType; #IMPLIED)
-	 * (name CDATA #IMPLIED)
-	 * (href %URI; #IMPLIED)
-	 * (hreflang %LanguageCode; #IMPLIED)
-	 * (target %FrameTarget; #IMPLIED)
-	 * (rel %LinkTypes; #IMPLIED)
-	 * (rev %LinkTypes; #IMPLIED)
-	 * (accesskey %Character; #IMPLIED)
-	 * (directkey %Character; #IMPLIED)
-	 * (shape %Shape; rect)
-	 * (coords %Coords; #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED) 
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_CHARSET, HTML40Namespace.ATTR_NAME_TYPE, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_HREF, HTML40Namespace.ATTR_NAME_HREFLANG, HTML40Namespace.ATTR_NAME_TARGET, HTML40Namespace.ATTR_NAME_REL, HTML40Namespace.ATTR_NAME_REV, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_DIRECTKEY, HTML40Namespace.ATTR_NAME_SHAPE, HTML40Namespace.ATTR_NAME_COORDS, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>A</code> has the exclusion.
-	 * It is <code>A</code> itself.
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		CMNode a = elementCollection.getNamedItem(HTML40Namespace.ElementName.A);
-		if (a != null)
-			exclusion.appendChild(a);
-
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.A, HTML40Namespace.ElementName.BUTTON};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedADDRESS.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedADDRESS.java
deleted file mode 100644
index 3fb721c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedADDRESS.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * ADDRESS.
- */
-final class HedADDRESS extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedADDRESS(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.ADDRESS, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_ADDRESS;
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedAPPLET.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedAPPLET.java
deleted file mode 100644
index 48c420e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedAPPLET.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * APPLET.
- */
-final class HedAPPLET extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedAPPLET(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.APPLET, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_PARAM_CONTAINER;
-		layoutType = LAYOUT_OBJECT;
-		indentChild = true;
-	}
-
-	/**
-	 * %coreattrs;
-	 * (codebase %URI; #IMPLIED)
-	 * (archive CDATA #IMPLIED)
-	 * (code CDATA #IMPLIED)
-	 * (object CDATA #IMPLIED)
-	 * (alt %Text; #IMPLIED) ... should be defined locally.
-	 * (name CDATA #IMPLIED)
-	 * (width %Length; #REQUIRED)
-	 * (height %Length; #REQUIRED)
-	 * (align %IAlign; #IMPLIED)
-	 * (hspace %Pixels; #IMPLIED)
-	 * (vspace %Pixels; #IMPLIED)
-	 * (mayscript (mayscript) #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_CODEBASE, HTML40Namespace.ATTR_NAME_ARCHIVE, HTML40Namespace.ATTR_NAME_CODE, HTML40Namespace.ATTR_NAME_OBJECT, HTML40Namespace.ATTR_NAME_ALT, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_HSPACE, HTML40Namespace.ATTR_NAME_VSPACE, HTML40Namespace.ATTR_NAME_MAYSCRIPT};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// %align; ... should be defined locally.
-		HTMLAttrDeclImpl attr = AttributeCollection.createAlignForImage();
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedAREA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedAREA.java
deleted file mode 100644
index 7014b58..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedAREA.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * AREA.
- */
-final class HedAREA extends HedEmpty {
-
-	/**
-	 */
-	public HedAREA(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.AREA, collection);
-		// LAYOUT_HIDDEN.
-		// Because, AREA is GROUP_HIDDEN in the C++DOM/DTDParser.cpp.
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * AREA.
-	 * %attrs;
-	 * (shape %Shape; rect)
-	 * (coords %Coords; #IMPLIED)
-	 * (href %URI; #IMPLIED)
-	 * (target %FrameTarget; #IMPLIED)
-	 * (nohref (nohref) #IMPLIED)
-	 * (alt %Text; #REQUIRED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (accesskey %Character; #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_SHAPE, HTML40Namespace.ATTR_NAME_COORDS, HTML40Namespace.ATTR_NAME_HREF, HTML40Namespace.ATTR_NAME_TARGET, HTML40Namespace.ATTR_NAME_NOHREF, HTML40Namespace.ATTR_NAME_ALT, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBASE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBASE.java
deleted file mode 100644
index 4b388cc..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBASE.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * BASE.
- */
-final class HedBASE extends HedEmpty {
-
-	/**
-	 */
-	public HedBASE(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.BASE, collection);
-		// LAYOUT_HIDDEN.
-		// Because, BASE is GROUP_HIDDEN in the C++DOM/DTDParser.cpp.
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * BASE.
-	 * (href %URI; #IMPLIED)
-	 * (target %FrameTarget; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_HREF, HTML40Namespace.ATTR_NAME_TARGET};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBASEFONT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBASEFONT.java
deleted file mode 100644
index da1536f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBASEFONT.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * BASEFONT.
- */
-final class HedBASEFONT extends HedEmpty {
-
-	/**
-	 */
-	public HedBASEFONT(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.BASEFONT, collection);
-		// LAYOUT_OBJECT - GROUP_NOWRAP.
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 * BASEFONT.
-	 * (id ID #IMPLIED)
-	 * (size CDATA #REQUIRED) ... should be localy defined.
-	 * (color %Color; #IMPLIED)
-	 * (face CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ID, HTML40Namespace.ATTR_NAME_COLOR, HTML40Namespace.ATTR_NAME_FACE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// (size CDATA #REQUIRED) ... should be localy defined.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SIZE, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBDO.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBDO.java
deleted file mode 100644
index 3cde331..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBDO.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * BDO.
- */
-final class HedBDO extends HedInlineContainer {
-
-	/**
-	 */
-	public HedBDO(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.BDO, collection);
-		// CORRECT_EMPTY - GROUP_COMPACT
-		correctionType = CORRECT_EMPTY;
-	}
-
-	/**
-	 * %coreattrs;
-	 * (lang %LanguageCode; #IMPLIED)
-	 * (dir (ltr|rtl) #REQUIRED) ... should be defined locally.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_LANG};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		//  (dir (ltr|rtl) #REQUIRED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		String[] values = {HTML40Namespace.ATTR_VALUE_LTR, HTML40Namespace.ATTR_VALUE_RTL};
-		atype.setEnumValues(values);
-
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_DIR, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_DIR, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBGSOUND.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBGSOUND.java
deleted file mode 100644
index baa939f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBGSOUND.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-
-final class HedBGSOUND extends HedEmpty {
-
-	public HedBGSOUND(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.BGSOUND, collection);
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 * (src, CDATA, #IMPLIED)
-	 * (loop, CDATA, #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return;
-		if (attributeCollection == null)
-			return; // fatal
-		attributes = new CMNamedNodeMapImpl();
-		// src
-		HTMLAttributeDeclaration attr = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_SRC);
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SRC, attr);
-		// loop
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, HTML40Namespace.ATTR_VALUE_INFINITE);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_LOOP, atype, CMAttributeDeclaration.OPTIONAL);
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_LOOP, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBLOCKQUOTE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBLOCKQUOTE.java
deleted file mode 100644
index dc0fed2..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBLOCKQUOTE.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * BLOCKQUOTE.
- */
-final class HedBLOCKQUOTE extends HedFlowContainer {
-
-	/**
-	 */
-	public HedBLOCKQUOTE(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.BLOCKQUOTE, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 * (cite %URI; #IMPLIED) 
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_CITE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBODY.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBODY.java
deleted file mode 100644
index fdd5b98..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBODY.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * BODY.
- */
-final class HedBODY extends HedFlowContainer {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.HEAD, HTML40Namespace.ElementName.BODY, HTML40Namespace.ElementName.FRAMESET, HTML40Namespace.ElementName.HTML};
-
-	/**
-	 */
-	public HedBODY(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.BODY, collection);
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_BOTH;
-	}
-
-	/**
-	 * %attrs;
-	 * %bodycolors;
-	 * (onload %Script; #IMPLIED)
-	 * (onunload %Script; #IMPLIED)
-	 * (background %URI; #IMPLIED)
-	 * (marginwidth %Pixels; #IMPLIED) ... D205514
-	 * (marginheight %Pixels; #IMPLIED) .. D205514
-	 * (topmargin, CDATA, #IMPLIED) ...... D205514
-	 * (bottommargin, CDATA, #IMPLIED) ... D205514
-	 * (leftmargin, CDATA, #IMPLIED) ..... D205514
-	 * (rightmargin, CDATA, #IMPLIED) .... D205514
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %bodycolors;
-		attributeCollection.getBodycolors(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ONLOAD, HTML40Namespace.ATTR_NAME_ONUNLOAD, HTML40Namespace.ATTR_NAME_BACKGROUND,
-		// <<D205514
-					HTML40Namespace.ATTR_NAME_MARGINWIDTH, HTML40Namespace.ATTR_NAME_MARGINHEIGHT, HTML40Namespace.ATTR_NAME_TOPMARGIN, HTML40Namespace.ATTR_NAME_BOTTOMMARGIN, HTML40Namespace.ATTR_NAME_LEFTMARGIN, HTML40Namespace.ATTR_NAME_RIGHTMARGIN
-		// D205514
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * Inclusion.
-	 * "Lazy eval."<br>
-	 * @return org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	public CMContent getInclusion() {
-		if (inclusion != null)
-			return inclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		// (INS|DEL)
-		inclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		String[] names = {HTML40Namespace.ElementName.INS, HTML40Namespace.ElementName.DEL};
-		elementCollection.getDeclarations(inclusion, Arrays.asList(names).iterator());
-		return inclusion;
-	}
-
-	/**
-	 * BODY has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBR.java
deleted file mode 100644
index d6adcb0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBR.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-
-/**
- * BR.
- */
-final class HedBR extends HedEmpty {
-
-	/**
-	 */
-	public HedBR(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.BR, collection);
-		// LAYOUT_BREAK.
-		// Because, BR is GROUP_BREAK in the C++DOM/DTDParser.cpp.
-		layoutType = LAYOUT_BREAK;
-	}
-
-	/**
-	 * BR.
-	 * %coreattrs;
-	 * (clear (left | all | right | none) none)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-		// clear
-		HTMLAttributeDeclaration attr = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_CLEAR);
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_CLEAR, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBUTTON.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBUTTON.java
deleted file mode 100644
index 7360060..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedBUTTON.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * BUTTON.
- */
-final class HedBUTTON extends HedFlowContainer {
-
-	/**
-	 */
-	public HedBUTTON(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.BUTTON, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 * %reserved; ... empty.
-	 * (name CDATA #IMPLIED)
-	 * (value CDATA #IMPLIED)
-	 * (type (button|submit|reset) submit) ... should be defined locally.
-	 * (disabled (disabled) #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (accesskey %Character; #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_VALUE, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// (type (button|submit|reset) submit) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		String[] values = {HTML40Namespace.ATTR_VALUE_BUTTON, HTML40Namespace.ATTR_VALUE_SUBMIT, HTML40Namespace.ATTR_VALUE_RESET};
-		atype.setEnumValues(values);
-
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr);
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>FORM</code> has the exclusion.
-	 * It is <code>FORM</code> itself.
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null; // fatal
-
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		String[] names = {HTML40Namespace.ElementName.A, HTML40Namespace.ElementName.FORM, HTML40Namespace.ElementName.ISINDEX, HTML40Namespace.ElementName.FIELDSET, HTML40Namespace.ElementName.IFRAME};
-		elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator());
-		elementCollection.getFormctrl(exclusion);
-
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.BUTTON};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCAPTION.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCAPTION.java
deleted file mode 100644
index dbab319..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCAPTION.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-
-/**
- * CAPTION.
- */
-final class HedCAPTION extends HedInlineContainer {
-
-	/**
-	 */
-	public HedCAPTION(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.CAPTION, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 * (align %CAlign; #IMPLIED) ... should be defined locally.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		HTMLAttrDeclImpl attr = AttributeCollection.createAlignForCaption();
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCENTER.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCENTER.java
deleted file mode 100644
index 55e0fbf..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCENTER.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * CENTER.
- */
-final class HedCENTER extends HedFlowContainer {
-
-	/**
-	 */
-	public HedCENTER(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.CENTER, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCOL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCOL.java
deleted file mode 100644
index ba3f1b7..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCOL.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * COL.
- */
-final class HedCOL extends HedEmpty {
-
-	/**
-	 */
-	public HedCOL(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.COL, collection);
-		// LAYOUT_BLOCK.
-		// Because, COL is GROUP_BLOCK in the C++DOM/DTDParser.cpp.
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * COL.
-	 * %attrs;
-	 * (span NUMBER 1)
-	 * (width %MultiLength; #IMPLIED) ... should be defined locally.
-	 * %cellhalign;
-	 * %cellvalign;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (span NUMBER 1)
-		String[] names = {HTML40Namespace.ATTR_NAME_SPAN};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// (width %MultiLength; #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.MULTI_LENGTH);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_WIDTH, attr);
-
-		// %cellhalign;
-		attributeCollection.getCellhalign(attributes);
-		// %cellvalign;
-		attributeCollection.getCellvalign(attributes);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCOLGROUP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCOLGROUP.java
deleted file mode 100644
index 37528e5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedCOLGROUP.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * COLGROUP.
- */
-final class HedCOLGROUP extends HTMLElemDeclImpl {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.COLGROUP, HTML40Namespace.ElementName.CAPTION, HTML40Namespace.ElementName.THEAD, HTML40Namespace.ElementName.TBODY, HTML40Namespace.ElementName.TFOOT, HTML40Namespace.ElementName.TR};
-
-	/**
-	 * @param ownerDocument com.ibm.sed.contentmodel.html.HCMDocImpl
-	 */
-	public HedCOLGROUP(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.COLGROUP, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_COLUMN_GROUP;
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END;
-		indentChild = true;
-	}
-
-	/**
-	 * %attrs;
-	 * (span NUMBER 1)
-	 * (width %MultiLength; #IMPLIED) ... should be defined locally.
-	 * %cellhalign;
-	 * %cellvalign;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %cellhalign;
-		attributeCollection.getCellhalign(attributes);
-		// %cellvalign;
-		attributeCollection.getCellvalign(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_SPAN};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// (width %MultiLength; #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.MULTI_LENGTH);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_WIDTH, attr);
-	}
-
-	/**
-	 * LI has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDD.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDD.java
deleted file mode 100644
index cdb4f6f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDD.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * DD.
- */
-final class HedDD extends HedFlowContainer {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.DT, HTML40Namespace.ElementName.DD};
-
-	/**
-	 */
-	public HedDD(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.DD, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END_DEFAULT;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 * DD has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDIV.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDIV.java
deleted file mode 100644
index 5faaf3c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDIV.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * DIV.
- */
-final class HedDIV extends HedFlowContainer {
-
-	/**
-	 */
-	public HedDIV(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.DIV, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 * %align;
-	 * %reserved;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %align;
-		HTMLAttrDeclImpl attr = AttributeCollection.createAlignForParagraph();
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-		// %reserved; ... empty
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDL.java
deleted file mode 100644
index ff2aba5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDL.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * DL.
- */
-final class HedDL extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedDL(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.DL, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_DEFINITION_LIST;
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		indentChild = true;
-	}
-
-	/**
-	 * %arrays;
-	 * (compact (compact) #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_COMPACT};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDT.java
deleted file mode 100644
index 6c7bd48..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedDT.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * DT.
- */
-final class HedDT extends HedInlineContainer {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.DT, HTML40Namespace.ElementName.DD};
-
-	/**
-	 */
-	public HedDT(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.DT, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END_DEFAULT;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 * DT has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedEMBED.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedEMBED.java
deleted file mode 100644
index 1b94431..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedEMBED.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * EMBED.
- */
-final class HedEMBED extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedEMBED(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.EMBED, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMBED;
-		layoutType = LAYOUT_OBJECT;
-		omitType = OMIT_END_DEFAULT;
-	}
-
-	/**
-	 * %coreattrs;
-	 * %events;
-	 * (src %URI; #REQUIRED) ... should be defined locally.
-	 * (height %Length; #IMPLIED)
-	 * (width %Length; #IMPLIED)
-	 * (align %IAlign; #IMPLIED) ... should be defined locally.
-	 * (hspace %Pixels; #IMPLIED)
-	 * (vspace %Pixels; #IMPLIED)
-	 * (loop CDATA #IMPLIED)
-	 * (hidden CDATA #IMPLIED)
-	 * (volume CDATA #IMPLIED)
-	 * (autostart (true|false) #IMPLIED)
-	 * (autoplay (true|false) #IMPLIED)
-	 * (autosize (true|false) #IMPLIED)
-	 * (controller (true|false) true)
-	 * (scale CDATA #IMPLIED)
-	 * (showcontrols (true|false) #IMPLIED)
-	 * (playcount NUMBER #IMPLIED)
-	 * (repeat CDATA #IMPLIED)
-	 * (panel CDATA #IMPLIED)
-	 * (text CDATA #IMPLIED)
-	 * (palette CDATA #IMPLIED)
-	 * (textfocus CDATA #IMPLIED)
-	 * (type CDATA #IMPLIED) ... should be defined locally.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-		// %events;
-		attributeCollection.getEvents(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_HSPACE, HTML40Namespace.ATTR_NAME_VSPACE, HTML40Namespace.ATTR_NAME_LOOP, HTML40Namespace.ATTR_NAME_HIDDEN, HTML40Namespace.ATTR_NAME_VOLUME, HTML40Namespace.ATTR_NAME_AUTOSTART, HTML40Namespace.ATTR_NAME_AUTOPLAY, HTML40Namespace.ATTR_NAME_AUTOSIZE, HTML40Namespace.ATTR_NAME_CONTROLLER, HTML40Namespace.ATTR_NAME_SCALE, HTML40Namespace.ATTR_NAME_SHOWCONTROLS, HTML40Namespace.ATTR_NAME_PLAYCOUNT, HTML40Namespace.ATTR_NAME_REPEAT, HTML40Namespace.ATTR_NAME_PANEL, HTML40Namespace.ATTR_NAME_TEXT, HTML40Namespace.ATTR_NAME_PALETTE, HTML40Namespace.ATTR_NAME_TEXTFOCUS};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		HTMLCMDataTypeImpl atype = null;
-		HTMLAttrDeclImpl attr = null;
-		// (src %URI; #REQUIRED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SRC, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SRC, attr);
-
-		// (align %IAlign; #IMPLIED) ... should be defined locally.
-		attr = AttributeCollection.createAlignForImage();
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-
-		// (type CDATA #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedEmpty.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedEmpty.java
deleted file mode 100644
index bcf3dce..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedEmpty.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-
-/**
- * Base class for EMPTY type element declarations.
- */
-abstract class HedEmpty extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedEmpty(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMPTY;
-		// EMPTY type has no end tag.
-		omitType = OMIT_END_MUST;
-	}
-
-	/**
-	 * Content.<br>
-	 * EMPTY type always returns <code>null</code>.
-	 * <br>
-	 * @return org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	public CMContent getContent() {
-		return null;
-	}
-
-	/**
-	 * Content type.<br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.EMPTY;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFIELDSET.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFIELDSET.java
deleted file mode 100644
index 16d28c0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFIELDSET.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * FIELDSET.
- */
-final class HedFIELDSET extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedFIELDSET(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.FIELDSET, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_FIELDSET;
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.BUTTON, HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFONT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFONT.java
deleted file mode 100644
index 20ec1a5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFONT.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * FONT.
- */
-final class HedFONT extends HedInlineContainer {
-
-	/**
-	 */
-	public HedFONT(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.FONT, collection);
-		// CORRECT_EMPTY - GROUP_COMPACT
-		correctionType = CORRECT_EMPTY;
-	}
-
-	/**
-	 * %coreattrs;
-	 * %i18n;
-	 * (size CDATA #IMPLIED) ... should be defined locally.
-	 * (color %Color; #IMPLIED)
-	 * (face CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_COLOR, HTML40Namespace.ATTR_NAME_FACE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// (size CDATA #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SIZE, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFORM.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFORM.java
deleted file mode 100644
index e823b0f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFORM.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * FORM.
- */
-final class HedFORM extends HedFlowContainer {
-
-	/**
-	 */
-	public HedFORM(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.FORM, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 * (action %URI; #REQUIRED)
-	 * (method (GET|POST) GET)
-	 * (enctype %ContentType; "application/x-www-form-urlencoded")
-	 * (accept %ContentTypes; #IMPLIED)
-	 * (name CDATA #IMPLIED)
-	 * (onsubmit %Script; #IMPLIED)
-	 * (onreset %Script; #IMPLIED)
-	 * (target %FrameTarget; #IMPLIED)
-	 * (accept-charset %Charsets; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ACTION, HTML40Namespace.ATTR_NAME_METHOD, HTML40Namespace.ATTR_NAME_ENCTYPE, HTML40Namespace.ATTR_NAME_ACCEPT, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_ONSUBMIT, HTML40Namespace.ATTR_NAME_ONRESET, HTML40Namespace.ATTR_NAME_TARGET, HTML40Namespace.ATTR_NAME_ACCEPT_CHARSET};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>FORM</code> has the exclusion.
-	 * It is <code>FORM</code> itself.
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null; // fatal
-
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		CMNode form = elementCollection.getNamedItem(HTML40Namespace.ElementName.FORM);
-		if (form != null)
-			exclusion.appendChild(form);
-
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.BUTTON, HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.FORM, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFRAME.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFRAME.java
deleted file mode 100644
index bb7d373..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFRAME.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * FRAME.
- */
-final class HedFRAME extends HedEmpty {
-
-	/**
-	 */
-	public HedFRAME(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.FRAME, collection);
-		// LAYOUT_HIDDEN.
-		// Because, FRAME is GROUP_HIDDEN in the C++DOM/DTDParser.cpp.
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * FRAME.
-	 * %coreattrs;
-	 * (longdesc %URI; #IMPLIED)
-	 * (name CDATA #IMPLIED)
-	 * (src %URI; #IMPLIED)
-	 * (frameborder (1|0) 1)
-	 * (marginwidth %Pixels; #IMPLIED)
-	 * (marginheight %Pixels; #IMPLIED)
-	 * (noresize (noresize) #IMPLIED)
-	 * (scrolling (yes|no|auto) auto)
-	 * (bordercolor %Color #IMPLIED) ... D205514
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_LONGDESC, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_SRC, HTML40Namespace.ATTR_NAME_FRAMEBORDER, HTML40Namespace.ATTR_NAME_MARGINWIDTH, HTML40Namespace.ATTR_NAME_MARGINHEIGHT, HTML40Namespace.ATTR_NAME_NORESIZE, HTML40Namespace.ATTR_NAME_SCROLLING, HTML40Namespace.ATTR_NAME_BORDERCOLOR // D20554
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFRAMESET.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFRAMESET.java
deleted file mode 100644
index a2ab71f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFRAMESET.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * FRAMESET.
- */
-final class HedFRAMESET extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedFRAMESET(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.FRAMESET, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_FRAMESET;
-		layoutType = LAYOUT_HIDDEN;
-		indentChild = true;
-	}
-
-	/**
-	 * %coreattrs;
-	 * (rows %MultiLengths; #IMPLIED) ... should be defined locally.
-	 * (cols %MultiLengths; #IMPLIED) ... should be defined locally.
-	 * (onload %Script; #IMPLIED)
-	 * (onunload %Script; #IMPLIED)
-	 * (frameborder (yes|no) #IMPLIED) ... should be defined locally.
-	 * (border %Pixels; #IMPLIED)
-	 * (bordercolor %Color #IMPLIED) ... D205514
-	 * (framespacing CDATA #IMPLIED) ... D215684
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getCore(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ONLOAD, HTML40Namespace.ATTR_NAME_ONUNLOAD, HTML40Namespace.ATTR_NAME_BORDER, HTML40Namespace.ATTR_NAME_BORDERCOLOR, // D205514
-					HTML40Namespace.ATTR_NAME_FRAMESPACING // D215684
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		HTMLCMDataTypeImpl atype = null;
-		HTMLAttrDeclImpl attr = null;
-		// (rows %MultiLengths; #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(HTMLCMDataType.MULTI_LENGTH);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_ROWS, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ROWS, attr);
-
-		// (cols %MultiLengths; #IMPLIED) ... should be defined locally.
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_COLS, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_COLS, attr);
-
-		// (frameborder (yes|no) #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		String[] values = {HTML40Namespace.ATTR_VALUE_YES, HTML40Namespace.ATTR_VALUE_NO};
-		atype.setEnumValues(values);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_FRAMEBORDER, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_FRAMEBORDER, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFlowContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFlowContainer.java
deleted file mode 100644
index 6324dee..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFlowContainer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-/**
- * Base class for (%flow;)* containers.
- */
-abstract class HedFlowContainer extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedFlowContainer(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_FLOW_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFontStyle.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFontStyle.java
deleted file mode 100644
index ff06724..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedFontStyle.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * %fontstyle;
- */
-final class HedFontStyle extends HedInlineContainer {
-
-	/**
-	 */
-	public HedFontStyle(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		if (elementName.equalsIgnoreCase(HTML40Namespace.ElementName.BIG) || elementName.equalsIgnoreCase(HTML40Namespace.ElementName.SMALL)) {
-			correctionType = CORRECT_EMPTY;
-		}
-		else { // B, I, U, ...
-			correctionType = CORRECT_DUPLICATED;
-		}
-	}
-
-	/**
-	 * %attrs;
-	 * @see com.ibm.sed.contentmodel.html.HTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		String myName = getElementName();
-		if (!myName.equalsIgnoreCase(HTML40Namespace.ElementName.BIG) && !myName.equalsIgnoreCase(HTML40Namespace.ElementName.SMALL))
-			return EMPTY_MAP;
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.PRE};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHEAD.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHEAD.java
deleted file mode 100644
index df4a365..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHEAD.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * HTML.
- */
-final class HedHEAD extends HTMLElemDeclImpl {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.HEAD, HTML40Namespace.ElementName.BODY, HTML40Namespace.ElementName.FRAMESET, HTML40Namespace.ElementName.HTML};
-
-	/**
-	 */
-	public HedHEAD(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.HEAD, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_HEAD;
-		layoutType = LAYOUT_HIDDEN;
-		omitType = OMIT_BOTH;
-	}
-
-	/**
-	 * Create all attribute declarations.
-	 * This method is called once in the constructor of the super class.
-	 * The <code>HEAD</code> element may have the following attributes:
-	 * <table>
-	 * <tbody>
-	 *   <tr>
-	 *     <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%i18n;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>profile</td><td>URI</td><td>#IMPLIED</td><td>N/A</td><td>-</td>
-	 *   </tr>
-	 * </tbody>
-	 * </table>
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-		// profile
-		HTMLAttributeDeclaration adec = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_PROFILE);
-		if (adec != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_PROFILE, adec);
-	}
-
-	/**
-	 * HEAD has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHR.java
deleted file mode 100644
index 958a1fd..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHR.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * HR.
- */
-final class HedHR extends HedEmpty {
-
-	/**
-	 */
-	public HedHR(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.HR, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs
-	 * (align (left|center|right) #IMPLIED) ... should be defined locally.
-	 * (noshade (noshade) #IMPLIED)
-	 * (size %Pixels; #IMPLIED)
-	 * (width %Length; #IMPLIED)
-	 * (color %Color; #IMPLIED) ... D205514
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (align (left|center|right) #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		String[] values = {HTML40Namespace.ATTR_VALUE_LEFT, HTML40Namespace.ATTR_VALUE_CENTER, HTML40Namespace.ATTR_VALUE_RIGHT};
-		atype.setEnumValues(values);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-
-		// the rest.
-		String[] names = {HTML40Namespace.ATTR_NAME_NOSHADE, HTML40Namespace.ATTR_NAME_SIZE, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_COLOR // D205514
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHTML.java
deleted file mode 100644
index bb0dfb2..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHTML.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * HTML.
- */
-final class HedHTML extends HTMLElemDeclImpl {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.HTML};
-
-	/**
-	 */
-	public HedHTML(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.HTML, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_HTML;
-		layoutType = LAYOUT_HIDDEN;
-		omitType = OMIT_BOTH;
-	}
-
-	/**
-	 * Create all attribute declarations.
-	 * This method is called once in the constructor of the super class.
-	 * The <code>HTML</code> element may have the following attributes:
-	 * <table>
-	 * <tbody>
-	 *   <tr>
-	 *     <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th>
-	 *   </tr>
-	 *   <tr>
-	 *     <td><code>%i18n;</code></td><td>-</td><td>-</td><td>-</td>
-	 *     <td>{@link PDCMDocImpl#getAttrDeclarationsI18n}</td>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>version</td><td>CDATA</td><td>#FIXED</td>
-	 *     <td>{@link HTML_VERSION_TRANSITIONAL}</td><td>deplecated in HTML4.01</td>
-	 *   </tr>
-	 * </tbody>
-	 * </table><br>
-	 * @see com.ibm.sed.contentmodel.html.AbstractHTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-		// version
-		HTMLAttributeDeclaration adec = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_VERSION);
-		if (adec != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_VERSION, adec);
-	}
-
-	/**
-	 * HTML has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHeading.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHeading.java
deleted file mode 100644
index 1e572eb..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedHeading.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * H[1-6].
- */
-final class HedHeading extends HedInlineContainer {
-
-	/**
-	 */
-	public HedHeading(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * Create all attribute declarations.
-	 * This method is called once in the constructor of the super class.
-	 * The <code>H1</code> element may have the following attributes:
-	 * <table>
-	 * <tbody>
-	 *   <tr>
-	 *     <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%attrs;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%align;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 * </tbody>
-	 * </table>
-	 * <p><b>%align;</b> means <code>align (left|center|right|justify) #IMPLIED</code>.
-	 * Unfortunately, this <code>align</code> is different from one in
-	 * <code>IMG</code> or <code>TABLE</code>.  So, the attribute declaration
-	 * of <code>align</code> should be localy created and it shouldn't be registered
-	 * in a <code>HCMDocImpl</code> instance.</p>
-	 * <p>However, %align is used in sevaral times.  I wouldn't write same code
-	 * in many times.  So, I add a new utility method into <code>CMUtil</code>
-	 * to create the attribute declaration.</p>
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// align
-		HTMLAttrDeclImpl attr = AttributeCollection.createAlignForParagraph();
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedIFRAME.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedIFRAME.java
deleted file mode 100644
index a2c592f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedIFRAME.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * IFRAME.
- */
-final class HedIFRAME extends HedFlowContainer {
-
-	/**
-	 */
-	public HedIFRAME(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.IFRAME, collection);
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 * %coreattrs;
-	 * (longdesc %URI; #IMPLIED)
-	 * (name CDATA #IMPLIED)
-	 * (src %URI; #IMPLIED)
-	 * (frameborder (1|0) 1)
-	 * (marginwidth %Pixels; #IMPLIED)
-	 * (marginheight %Pixels; #IMPLIED)
-	 * (scrolling (yes|no|auto) auto)
-	 * (align %IAlign; #IMPLIED) ... should be defined locally.
-	 * (height %Length; #IMPLIED)
-	 * (width %Length; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_LONGDESC, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_SRC, HTML40Namespace.ATTR_NAME_FRAMEBORDER, HTML40Namespace.ATTR_NAME_MARGINWIDTH, HTML40Namespace.ATTR_NAME_MARGINHEIGHT, HTML40Namespace.ATTR_NAME_SCROLLING, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_WIDTH};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// align
-		HTMLAttrDeclImpl attr = AttributeCollection.createAlignForImage();
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.BUTTON};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedIMG.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedIMG.java
deleted file mode 100644
index b2244bd..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedIMG.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * IMG.
- */
-final class HedIMG extends HedEmpty {
-
-	/**
-	 */
-	public HedIMG(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.IMG, collection);
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 * IMG.
-	 * %attrs;
-	 * (src %URI; #REQUIRED): should be defined locally.
-	 * (alt %Text; #REQUIRED)
-	 * (longdesc %URI; #IMPLIED)
-	 * (name CDATA #IMPLIED)
-	 * (height %Length; #IMPLIED)
-	 * (width %Length; #IMPLIED)
-	 * (usemap %URI; #IMPLIED)
-	 * (ismap (ismap) #IMPLIED)
-	 * (align %IAlign; #IMPLIED): should be defined locally.
-	 * (border %Pixels; #IMPLIED)
-	 * (hspace %Pixels; #IMPLIED)
-	 * (vspace %Pixels; #IMPLIED)
-	 * (mapfile %URI; #IMPLIED)
-	 * @see com.ibm.sed.contentmodel.html.AbstractHTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (src %URI; #REQUIRED): should be defined locally.
-		HTMLCMDataTypeImpl atype = null;
-		HTMLAttrDeclImpl attr = null;
-		atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SRC, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SRC, attr);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ALT, HTML40Namespace.ATTR_NAME_LONGDESC, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_USEMAP, HTML40Namespace.ATTR_NAME_ISMAP, HTML40Namespace.ATTR_NAME_BORDER, HTML40Namespace.ATTR_NAME_HSPACE, HTML40Namespace.ATTR_NAME_VSPACE, HTML40Namespace.ATTR_NAME_MAPFILE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// align (local); should be defined locally.
-		attr = AttributeCollection.createAlignForImage();
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.PRE};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedINPUT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedINPUT.java
deleted file mode 100644
index c1dc3d1..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedINPUT.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * INPUT.
- */
-final class HedINPUT extends HedEmpty {
-
-	/**
-	 */
-	public HedINPUT(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.INPUT, collection);
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 * INPUT.
-	 * %attrs;
-	 * (type %InputType; TEXT) ... should be defined locally.
-	 * (name CDATA #IMPLIED)
-	 * (value CDATA #IMPLIED)
-	 * (checked (checked) #IMPLIED)
-	 * (disabled (disabled) #IMPLIED)
-	 * (readonly (readonly) #IMPLIED)
-	 * (size CDATA #IMPLIED) ... should be defined locally.
-	 * (maxlength NUMBER #IMPLIED)
-	 * (src %URI; #IMPLIED)
-	 * (alt CDATA #IMPLIED) ... should be defined locally.
-	 * (usemap %URI; #IMPLIED)
-	 * (ismap (ismap) #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (accesskey %Character; #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED)
-	 * (onselect %Script; #IMPLIED)
-	 * (onchange %Script; #IMPLIED)
-	 * (accept %ContentTypes; #IMPLIED)
-	 * (align %IAlign; #IMPLIED) ... should be defined locally.
-	 * (istyle CDATA #IMPLIED)
-	 * <<D215684
-	 * (width CDATA; #IMPLIED)
-	 * (height CDATA; #IMPLIED)
-	 * (border CDATA; #IMPLIED)
-	 * D215684
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		HTMLCMDataTypeImpl atype = null;
-		HTMLAttrDeclImpl attr = null;
-		// (type %InputType; TEXT) ... should be defined locally.
-		// NOTE: %InputType is ENUM;
-		// (text | password | checkbox | radio | submit | reset |
-		//  file | hidden | image | button)
-		atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		String[] values = {HTML40Namespace.ATTR_VALUE_TEXT, HTML40Namespace.ATTR_VALUE_PASSWORD, HTML40Namespace.ATTR_VALUE_CHECKBOX, HTML40Namespace.ATTR_VALUE_RADIO, HTML40Namespace.ATTR_VALUE_SUBMIT, HTML40Namespace.ATTR_VALUE_RESET, HTML40Namespace.ATTR_VALUE_FILE, HTML40Namespace.ATTR_VALUE_HIDDEN, HTML40Namespace.ATTR_VALUE_IMAGE, HTML40Namespace.ATTR_VALUE_BUTTON};
-		atype.setEnumValues(values);
-		atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, HTML40Namespace.ATTR_VALUE_TEXT);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr);
-
-		// (size CDATA #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SIZE, attr);
-
-		// (alt CDATA #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_ALT, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALT, attr);
-
-		// (align %IAlign; #IMPLIED) ... should be defined locally.
-		attr = AttributeCollection.createAlignForImage();
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-
-		// the rest.
-		String[] names = {HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_VALUE, HTML40Namespace.ATTR_NAME_CHECKED, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_READONLY, HTML40Namespace.ATTR_NAME_SIZE, HTML40Namespace.ATTR_NAME_MAXLENGTH, HTML40Namespace.ATTR_NAME_SRC, HTML40Namespace.ATTR_NAME_ALT, HTML40Namespace.ATTR_NAME_USEMAP, HTML40Namespace.ATTR_NAME_ISMAP, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR, HTML40Namespace.ATTR_NAME_ONSELECT, HTML40Namespace.ATTR_NAME_ONCHANGE, HTML40Namespace.ATTR_NAME_ACCEPT, HTML40Namespace.ATTR_NAME_ALIGN, HTML40Namespace.ATTR_NAME_ISTYLE,
-		//<<D215684
-					HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_BORDER
-		//<D215684
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.BUTTON};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedISINDEX.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedISINDEX.java
deleted file mode 100644
index 7f84d63..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedISINDEX.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * ISINDEX.
- */
-final class HedISINDEX extends HedEmpty {
-
-	/**
-	 */
-	public HedISINDEX(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.ISINDEX, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * ISINDEX.
-	 * %coreattrs;
-	 * %i18n;
-	 * (prompt %Text; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-
-		HTMLAttributeDeclaration attr = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_PROMPT);
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_PROMPT, attr);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.BUTTON, HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedInlineContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedInlineContainer.java
deleted file mode 100644
index eb97a66..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedInlineContainer.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-/**
- * Base class for (%inline;)* containers.
- */
-abstract class HedInlineContainer extends HTMLElemDeclImpl {
-
-	/**
-	 * HedInlineContainer.
-	 * @param elementName java.lang.String
-	 * @param collection ElementCollection
-	 */
-	public HedInlineContainer(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_INLINE_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLABEL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLABEL.java
deleted file mode 100644
index 5251560..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLABEL.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * LABEL.
- */
-final class HedLABEL extends HedInlineContainer {
-
-	/**
-	 */
-	public HedLABEL(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.LABEL, collection);
-	}
-
-	/**
-	 * %attrs;
-	 * (for IDREF #IMPLIED) ... should be defined locally.
-	 * (accesskey %Character; #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (for IDREF #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.IDREF);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_FOR, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_FOR, attr);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>LABEL</code> has the exclusion.
-	 * It is <code>LABEL</code> itself.
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		CMNode label = elementCollection.getNamedItem(HTML40Namespace.ElementName.LABEL);
-		if (label != null)
-			exclusion.appendChild(label);
-
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.BUTTON, HTML40Namespace.ElementName.LABEL};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLEGEND.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLEGEND.java
deleted file mode 100644
index 138f730..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLEGEND.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * LEGEND.
- */
-final class HedLEGEND extends HedInlineContainer {
-
-	/**
-	 */
-	public HedLEGEND(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.LEGEND, collection);
-	}
-
-	/**
-	 * (accesskey %Character; #IMPLIED)
-	 * (align %LAlign; #IMPLIED) ... shuld be defined locally.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ACCESSKEY};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// align
-		HTMLAttrDeclImpl attr = AttributeCollection.createAlignForLegend();
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLI.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLI.java
deleted file mode 100644
index 892af63..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLI.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * LI.
- */
-final class HedLI extends HedFlowContainer {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.LI};
-
-	/**
-	 */
-	public HedLI(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.LI, collection);
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END_DEFAULT;
-	}
-
-	/**
-	 * %attrs;
-	 * (type %LIStyle; #IMPLIED) ... should be defined locally.
-	 * (value NUMBER #IMPLIED) ... should be defined locally.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (type %LIStyle; #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LI_STYLE);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr);
-
-		// (value NUMBER #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_VALUE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_VALUE, attr);
-	}
-
-	/**
-	 * LI has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLINK.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLINK.java
deleted file mode 100644
index 7489b75..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedLINK.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * LINK.
- */
-final class HedLINK extends HedEmpty {
-
-	/**
-	 */
-	public HedLINK(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.LINK, collection);
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * LINK.
-	 * %attrs;
-	 * (charset %Charset; #IMPLIED)
-	 * (href %URI; #IMPLIED)
-	 * (hreflang %LanguageCode; #IMPLIED)
-	 * (type %ContentType; #IMPLIED): should be defined locally.
-	 * (rel %LinkTypes; #IMPLIED)
-	 * (rev %LinkTypes; #IMPLIED)
-	 * (media %MediaDesc; #IMPLIED)
-	 * (target %FrameTarget; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_CHARSET, HTML40Namespace.ATTR_NAME_HREF, HTML40Namespace.ATTR_NAME_HREFLANG, HTML40Namespace.ATTR_NAME_REL, HTML40Namespace.ATTR_NAME_REV, HTML40Namespace.ATTR_NAME_MEDIA, HTML40Namespace.ATTR_NAME_TARGET};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// (type %ContentType; #IMPLIED)
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedListItemContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedListItemContainer.java
deleted file mode 100644
index 875bb60..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedListItemContainer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-/**
- * Base class for list item container declarations.
- * - OL, UL, MENU, DIR.
- */
-abstract class HedListItemContainer extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedListItemContainer(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_LI_CONTAINER;
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		indentChild = true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMAP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMAP.java
deleted file mode 100644
index d167f69..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMAP.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-
-/**
- * MAP.
- */
-final class HedMAP extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedMAP(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.MAP, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_MAP;
-		layoutType = LAYOUT_OBJECT;
-		indentChild = true;
-	}
-
-	/**
-	 * %attrs;
-	 * (name CDATA #REQUIRED) ... should be defined locally
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (name CDATA #REQUIRED) ... should be defined locally
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_NAME, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_NAME, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMARQUEE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMARQUEE.java
deleted file mode 100644
index d9ab01c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMARQUEE.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * MARQUEE.
- */
-final class HedMARQUEE extends HedFlowContainer {
-
-	/**
-	 */
-	public HedMARQUEE(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.MARQUEE, collection);
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 * %attrs;
-	 * (behavior (scroll|slide|alternate) scroll)
-	 * (bgcolor %Color; #IMPLIED)
-	 * (direction (left|right|up|down) left)
-	 * (height CDATA #IMPLIED) ... should be defined locally.
-	 * (hspace NUMBER #IMPLIED) ... should be defined locally.
-	 * (loop CDATA #IMPLIED)
-	 * (scrollamount NUMBER #IMPLIED)
-	 * (scrolldelay NUMBER #IMPLIED)
-	 * (vspace NUMBER #IMPLIED) ... should be defined locally.
-	 * (width CDATA #IMPLIED) ... should be defined locally.
-	 * (truespeed (truespeed) #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_BEHAVIOR, HTML40Namespace.ATTR_NAME_BGCOLOR, HTML40Namespace.ATTR_NAME_DIRECTION, HTML40Namespace.ATTR_NAME_LOOP, HTML40Namespace.ATTR_NAME_SCROLLAMOUNT, HTML40Namespace.ATTR_NAME_SCROLLDELAY, HTML40Namespace.ATTR_NAME_TRUESPEED};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		HTMLCMDataTypeImpl atype = null;
-		HTMLAttrDeclImpl attr = null;
-		// (height CDATA #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_HEIGHT, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_HEIGHT, attr);
-
-		// (width CDATA #IMPLIED) ... should be defined locally.
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_WIDTH, attr);
-
-		// (hspace NUMBER #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_HSPACE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_HSPACE, attr);
-
-		// (vspace NUMBER #IMPLIED) ... should be defined locally.
-		attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_VSPACE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_VSPACE, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMENU.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMENU.java
deleted file mode 100644
index 29f0456..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMENU.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * MENU/DIR.
- */
-final class HedMENU extends HedListItemContainer {
-
-	/**
-	 */
-	public HedMENU(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-	}
-
-	/**
-	 * MENU/DIR.
-	 * (compact (compact) #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_COMPACT};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>MENU/DIR</code> has the exclusion.
-	 * It is <code>%block;</code>.
-	 * %block; is:
-	 * P | %heading; | %list; | %preformatted; | DL | DIV | CENTER |
-	 * NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR |
-	 * TABLE | FIELDSET | ADDRESS.
-	 * %heading; is: H1 | H2 | H3 | H4 | H5 | H6.
-	 * %list; is : UL | OL | DIR | MENU.
-	 * %preformatted; is PRE.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		// %block;
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		String[] names = {HTML40Namespace.ElementName.P, HTML40Namespace.ElementName.H1, HTML40Namespace.ElementName.H2, HTML40Namespace.ElementName.H3, HTML40Namespace.ElementName.H4, HTML40Namespace.ElementName.H5, HTML40Namespace.ElementName.H6, HTML40Namespace.ElementName.UL, HTML40Namespace.ElementName.OL, HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU, HTML40Namespace.ElementName.PRE, HTML40Namespace.ElementName.DL, HTML40Namespace.ElementName.DIV, HTML40Namespace.ElementName.CENTER, HTML40Namespace.ElementName.NOSCRIPT, HTML40Namespace.ElementName.NOFRAMES, HTML40Namespace.ElementName.BLOCKQUOTE, HTML40Namespace.ElementName.FORM, HTML40Namespace.ElementName.ISINDEX, HTML40Namespace.ElementName.HR, HTML40Namespace.ElementName.TABLE, HTML40Namespace.ElementName.FIELDSET, HTML40Namespace.ElementName.ADDRESS};
-		elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator());
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMETA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMETA.java
deleted file mode 100644
index 17f09b4..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMETA.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * META.
- */
-final class HedMETA extends HedEmpty {
-
-	/**
-	 */
-	public HedMETA(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.META, collection);
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * META.
-	 * %i18n;
-	 * (http-equiv NAME #IMPLIED)
-	 * (name NAME #IMPLIED) ... should be defined locally.
-	 * (content CDATA #REQUIRED)
-	 * (scheme CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-
-		// (name NAME #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.NAME);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_NAME, attr);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_HTTP_EQUIV, HTML40Namespace.ATTR_NAME_CONTENT, HTML40Namespace.ATTR_NAME_SCHEME};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMarkChanges.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMarkChanges.java
deleted file mode 100644
index e8bcc19..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedMarkChanges.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * (INS|DEL)
- */
-final class HedMarkChanges extends HedFlowContainer {
-
-	/**
-	 */
-	public HedMarkChanges(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-	}
-
-	/**
-	 * %attrs;
-	 * (cite %URI; #IMPLIED)
-	 * (datetime %Datetime; #IMPLIED) 
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_CITE, HTML40Namespace.ATTR_NAME_DATETIME};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOBR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOBR.java
deleted file mode 100644
index 2b18887..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOBR.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * NOBR -- not standard tag but it is commonly used.
- */
-final class HedNOBR extends HedInlineContainer {
-
-
-	public HedNOBR(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.NOBR, collection);
-		correctionType = HTMLElementDeclaration.CORRECT_DUPLICATED;
-	}
-
-	protected void createAttributeDeclarations() {
-		// No attributes is defined.
-		if (attributes != null)
-			return;
-		attributes = new CMNamedNodeMapImpl();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOEMBED.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOEMBED.java
deleted file mode 100644
index 821a3e5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOEMBED.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-
-/**
- * NOEMBED.
- */
-final class HedNOEMBED extends HedFlowContainer {
-
-	/**
-	 */
-	public HedNOEMBED(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.NOEMBED, collection);
-	}
-
-	/**
-	 * %coreattrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOFRAMES.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOFRAMES.java
deleted file mode 100644
index c780b6d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOFRAMES.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * NOFRAMES.
- */
-final class HedNOFRAMES extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedNOFRAMES(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.NOFRAMES, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_NOFRAMES_CONTENT;
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>NOFRAMES</code> has the exclusion.
-	 * It is <code>NOFRAMES</code> itself.
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		CMNode label = elementCollection.getNamedItem(HTML40Namespace.ElementName.NOFRAMES);
-		if (label != null)
-			exclusion.appendChild(label);
-
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU, HTML40Namespace.ElementName.NOFRAMES};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOSCRIPT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOSCRIPT.java
deleted file mode 100644
index a3d154c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedNOSCRIPT.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * NOSCRIPT.
- */
-final class HedNOSCRIPT extends HedFlowContainer {
-
-	/**
-	 */
-	public HedNOSCRIPT(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.NOSCRIPT, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOBJECT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOBJECT.java
deleted file mode 100644
index a0b3c86..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOBJECT.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * OBJECT.
- */
-final class HedOBJECT extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedOBJECT(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.OBJECT, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_PARAM_CONTAINER;
-		layoutType = LAYOUT_OBJECT;
-		indentChild = true;
-	}
-
-	/**
-	 * %attrs;
-	 * %reserved; ... empty.
-	 * (declare (declare) #IMPLIED)
-	 * (classid %URI; #IMPLIED)
-	 * (codebase %URI; #IMPLIED)
-	 * (data %URI; #IMPLIED)
-	 * (type %ContentType; #IMPLIED)
-	 * (codetype %ContentType; #IMPLIED)
-	 * (archive CDATA #IMPLIED)
-	 * (standby %Text; #IMPLIED)
-	 * (height %Length; #IMPLIED)
-	 * (width %Length; #IMPLIED)
-	 * (usemap %URI; #IMPLIED)
-	 * (name CDATA #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (align %IAlign; #IMPLIED) ... should be defined locally.
-	 * (border %Pixels; #IMPLIED)
-	 * (hspace %Pixels; #IMPLIED)
-	 * (vspace %Pixels; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %reserved; ... empty.
-
-		String[] names = {HTML40Namespace.ATTR_NAME_DECLARE, HTML40Namespace.ATTR_NAME_CLASSID, HTML40Namespace.ATTR_NAME_CODEBASE, HTML40Namespace.ATTR_NAME_DATA, HTML40Namespace.ATTR_NAME_TYPE, HTML40Namespace.ATTR_NAME_CODETYPE, HTML40Namespace.ATTR_NAME_ARCHIVE, HTML40Namespace.ATTR_NAME_STANDBY, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_USEMAP, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_BORDER, HTML40Namespace.ATTR_NAME_HSPACE, HTML40Namespace.ATTR_NAME_VSPACE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-		// %align; ... should be defined locally.
-		HTMLAttrDeclImpl attr = AttributeCollection.createAlignForImage();
-		if (attr != null)
-			attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.PRE};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOL.java
deleted file mode 100644
index 8e4aa25..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOL.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * OL.
- */
-final class HedOL extends HedListItemContainer {
-
-	/**
-	 */
-	public HedOL(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.OL, collection);
-	}
-
-	/**
-	 * OL.
-	 * (type %OLStyle; #IMPLIED) ... should be defined locally.
-	 * (compact (compact) #IMPLIED)
-	 * (start NUMBER #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (type %OLStyle; #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.OL_STYLE);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr);
-
-		// the rest.
-		String[] names = {HTML40Namespace.ATTR_NAME_COMPACT, HTML40Namespace.ATTR_NAME_START};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOPTGROUP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOPTGROUP.java
deleted file mode 100644
index 5ba0019..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOPTGROUP.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * OPTGROUP.
- */
-final class HedOPTGROUP extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedOPTGROUP(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.OPTGROUP, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_OPTION_CONTAINER;
-		layoutType = LAYOUT_HIDDEN;
-		indentChild = true;
-	}
-
-	/**
-	 * %attrs;
-	 * (disabled (disabled) #IMPLIED)
-	 * (label %Text; #REQUIRED) ... should be defined locally.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// (disabled (disabled) #IMPLIED)
-		String[] names = {HTML40Namespace.ATTR_NAME_DISABLED};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// (label %Text; #REQUIRED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_LABEL, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_LABEL, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOPTION.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOPTION.java
deleted file mode 100644
index 9657f5a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedOPTION.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * OPTION.
- */
-final class HedOPTION extends HedPcdata {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.OPTION};
-
-	/**
-	 */
-	public HedOPTION(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.OPTION, collection);
-		layoutType = LAYOUT_HIDDEN;
-		omitType = OMIT_END;
-	}
-
-	/**
-	 * OPTION.
-	 * %attrs;
-	 * (selected (selected) #IMPLIED)
-	 * (disabled (disabled) #IMPLIED)
-	 * (label %Text; #IMPLIED)
-	 * (value CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_SELECTED, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_LABEL, HTML40Namespace.ATTR_NAME_VALUE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * OPTION has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedP.java
deleted file mode 100644
index 492be84..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedP.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * P.
- */
-final class HedP extends HedInlineContainer {
-
-	private static Collection terminators = null;
-
-	/**
-	 */
-	public HedP(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.P, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END;
-	}
-
-	/**
-	 * Create all attribute declarations.
-	 * This method is called once in the constructor of the super class.
-	 * The <code>P</code> element may have the following attributes:
-	 * <table>
-	 * <tbody>
-	 *   <tr>
-	 *     <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%attrs;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%align;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 * </tbody>
-	 * </table>
-	 * <p><b>%align;</b> means <code>align (left|center|right|justify) #IMPLIED</code>.
-	 * Unfortunately, this <code>align</code> is different from one in
-	 * <code>IMG</code> or <code>TABLE</code>.  So, the attribute declaration
-	 * of <code>align</code> should be localy created and it shouldn't be registered
-	 * in a <code>HCMDocImpl</code> instance.</p>
-	 * <p>However, %align is used in sevaral times.  I wouldn't write same code
-	 * in many times.  So, I add a new utility method into <code>CMUtil</code>
-	 * to create the attribute declaration.</p>
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-		attributes = new CMNamedNodeMapImpl();
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// align
-		HTMLAttrDeclImpl adec = AttributeCollection.createAlignForParagraph();
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, adec);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-		return prohibitedAncestors;
-	}
-
-	/**
-	 * Return names of terminators.
-	 * <code>P</code> has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		if (terminators != null)
-			return terminators.iterator();
-		//<<D217982
-		terminators = new Vector();
-		terminators.addAll(elementCollection.getNamesOfBlock());
-		terminators.add(HTML40Namespace.ElementName.LI);
-		terminators.add(HTML40Namespace.ElementName.DT);
-		terminators.add(HTML40Namespace.ElementName.DD);
-		//D217982
-		return terminators.iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPARAM.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPARAM.java
deleted file mode 100644
index 3b6c56b..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPARAM.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * PARAM.
- */
-final class HedPARAM extends HedEmpty {
-
-	/**
-	 */
-	public HedPARAM(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.PARAM, collection);
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * PARAM.
-	 * (id ID #IMPLIED)
-	 * (name CDATA #REQUIRED) ... should be defined locally.
-	 * (value CDATA #IMPLIED)
-	 * (valuetype (DATA|REF|OBJECT) DATA)
-	 * (type %ContentType; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ID, HTML40Namespace.ATTR_NAME_VALUE, HTML40Namespace.ATTR_NAME_VALUETYPE, HTML40Namespace.ATTR_NAME_TYPE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// (name CDATA #REQUIRED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_NAME, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_NAME, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPRE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPRE.java
deleted file mode 100644
index 19c9019..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPRE.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * PRE.
- */
-final class HedPRE extends HedInlineContainer {
-
-	/**
-	 * PRE element should keep spaces in its source.
-	 */
-	public HedPRE(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.PRE, collection);
-		// CORRECT_EMPTY - GROUP_COMPACT
-		correctionType = CORRECT_EMPTY;
-
-		keepSpaces = true;
-	}
-
-	/**
-	 * %attrs;
-	 * (width NUMBER #IMPLIED) ... should be defined locally.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// (width NUMBER #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_WIDTH, attr);
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>PRE</code> has the exclusion.
-	 * It is <code>%pre.exclusion;</code>.
-	 * %pre.exclusion is:
-	 * IMG | OBJECT | APPLET | BIG | SMALL | SUB | SUP | FONT | BASEFONT
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		String[] names = {HTML40Namespace.ElementName.IMG, HTML40Namespace.ElementName.OBJECT, HTML40Namespace.ElementName.APPLET, HTML40Namespace.ElementName.BIG, HTML40Namespace.ElementName.SMALL, HTML40Namespace.ElementName.SUB, HTML40Namespace.ElementName.SUP, HTML40Namespace.ElementName.FONT, HTML40Namespace.ElementName.BASEFONT};
-		elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator());
-
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPcdata.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPcdata.java
deleted file mode 100644
index b9d053d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPcdata.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-
-/**
- * Base class for PCDATA type element declarations.<br>
- */
-abstract class HedPcdata extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedPcdata(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_PCDATA;
-	}
-
-	/**
-	 * Content.<br>
-	 * PCDATA type always returns <code>null</code>.
-	 * <br>
-	 * @return org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	public CMContent getContent() {
-		return null;
-	}
-
-	/**
-	 * Content type.<br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.PCDATA;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPhrase.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPhrase.java
deleted file mode 100644
index e8e6cc1..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedPhrase.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-/**
- * %phrase;
- */
-final class HedPhrase extends HedInlineContainer {
-
-	/**
-	 */
-	public HedPhrase(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		correctionType = HTMLElementDeclaration.CORRECT_DUPLICATED;
-	}
-
-	/**
-	 * %attrs;
-	 * @see com.ibm.sed.contentmodel.html.HTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedQ.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedQ.java
deleted file mode 100644
index 11bd04d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedQ.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * Q.
- */
-final class HedQ extends HedInlineContainer {
-
-	/**
-	 */
-	public HedQ(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.Q, collection);
-		correctionType = CORRECT_DUPLICATED;
-	}
-
-	/**
-	 * %attrs;
-	 * (cite %URI; #IMPLIED) 
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_CITE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSCRIPT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSCRIPT.java
deleted file mode 100644
index 6a0153d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSCRIPT.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * SCRIPT.
- */
-final class HedSCRIPT extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedSCRIPT(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SCRIPT, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_CDATA;
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 * SCRIPT.
-	 * (charset %Charset; #IMPLIED)
-	 * (type %ContentType; #REQUIRED) ... should be defined locally.
-	 * (language CDATA #IMPLIED)
-	 * (src %URI; #IMPLIED)
-	 * (defer (defer) #IMPLIED)
-	 * (event CDATA #IMPLIED)
-	 * (for %URI; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_CHARSET, HTML40Namespace.ATTR_NAME_LANGUAGE, HTML40Namespace.ATTR_NAME_SRC, HTML40Namespace.ATTR_NAME_DEFER, HTML40Namespace.ATTR_NAME_EVENT, HTML40Namespace.ATTR_NAME_FOR};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// (type %ContentType; #REQUIRED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE);
-		atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, "text/javascript"); //$NON-NLS-1$
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr);
-	}
-
-	/**
-	 * <code>SCRIPT</code> is CDATA type.
-	 * So, the method always returns <code>null</code>.
-	 * <br>
-	 * @return org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	public CMContent getContent() {
-		return null;
-	}
-
-	/**
-	 * CDATA content.<br>
-	 * @return int
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.CDATA;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSELECT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSELECT.java
deleted file mode 100644
index 3e7438e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSELECT.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * SELECT.
- */
-final class HedSELECT extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedSELECT(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SELECT, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_SELECT;
-		layoutType = LAYOUT_OBJECT;
-		indentChild = true;
-	}
-
-	/**
-	 * %attrs;
-	 * %reserved;
-	 * (name CDATA #IMPLIED)
-	 * (size NUMBER #IMPLIED) ... should be defined locally.
-	 * (multiple (multiple) #IMPLIED)
-	 * (disabled (disabled) #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED)
-	 * (onchange %Script; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (size NUMBER #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SIZE, attr);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_MULTIPLE, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR, HTML40Namespace.ATTR_NAME_ONCHANGE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.BUTTON};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSPAN.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSPAN.java
deleted file mode 100644
index b1fc4f5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSPAN.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-
-/**
- * SPAN.
- */
-final class HedSPAN extends HedInlineContainer {
-
-	/**
-	 * SPAN.
-	 */
-	public HedSPAN(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SPAN, collection);
-	}
-
-	/**
-	 * %attrs;
-	 * %reserved; ... empty.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIBase.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIBase.java
deleted file mode 100644
index 7a0bee4..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIBase.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.html.core.HTMLCMProperties;
-
-
-
-/**
- * Base class for SSI declarations.
- */
-abstract class HedSSIBase extends HedEmpty {
-
-	/**
-	 */
-	public HedSSIBase(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 */
-	public int getFormatType() {
-		return HTMLElementDeclaration.FORMAT_SSI;
-	}
-
-	/**
-	 */
-	public boolean supports(String propName) {
-		if (propName.equals(HTMLCMProperties.IS_SSI))
-			return true;
-		return super.supports(propName);
-	}
-
-	/*
-	 */
-	public Object getProperty(String propName) {
-		if (propName.equals(HTMLCMProperties.IS_SSI))
-			return new Boolean(true);
-		return super.getProperty(propName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIConfig.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIConfig.java
deleted file mode 100644
index af32153..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIConfig.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * SSI:CONFIG.
- */
-final class HedSSIConfig extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIConfig(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SSI_CONFIG, collection);
-	}
-
-	/**
-	 * SSI:CONFIG.
-	 * (errmsg CDATA #IMPLIED)
-	 * (sizefmt CDATA #IMPLIED)
-	 * (timefmt CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ERRMSG, HTML40Namespace.ATTR_NAME_SIZEFMT, HTML40Namespace.ATTR_NAME_TIMEFMT};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIEcho.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIEcho.java
deleted file mode 100644
index 3e958d1..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIEcho.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * SSI:ECHO.
- */
-final class HedSSIEcho extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIEcho(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SSI_ECHO, collection);
-	}
-
-	/**
-	 * SSI:ECHO
-	 * (var CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_VAR};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIExec.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIExec.java
deleted file mode 100644
index 6d18d97..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIExec.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * SSI:EXEC.
- */
-final class HedSSIExec extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIExec(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SSI_EXEC, collection);
-	}
-
-	/**
-	 * SSI:EXEC
-	 * (cgi %URI; #IMPLIED)
-	 * (cmd CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_CGI, HTML40Namespace.ATTR_NAME_CMD};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIFlastmod.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIFlastmod.java
deleted file mode 100644
index e2092e0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIFlastmod.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * SSI:FLASTMOD.
- */
-final class HedSSIFlastmod extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIFlastmod(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SSI_FLASTMOD, collection);
-	}
-
-	/**
-	 * SSI:FLASTMOD
-	 * (file %URI; #IMPLIED)
-	 * (virtual %URI #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_FILE, HTML40Namespace.ATTR_NAME_VIRTUAL};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIFsize.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIFsize.java
deleted file mode 100644
index bcb7cb4..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIFsize.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * SSI:FSIZE.
- */
-final class HedSSIFsize extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIFsize(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SSI_FSIZE, collection);
-	}
-
-	/**
-	 * SSI:FSIZE
-	 * (file %URI; #IMPLIED)
-	 * (virtual %URI #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_FILE, HTML40Namespace.ATTR_NAME_VIRTUAL};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIInclude.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIInclude.java
deleted file mode 100644
index a14459f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIInclude.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * SSI:INCLUDE.
- */
-final class HedSSIInclude extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIInclude(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SSI_INCLUDE, collection);
-	}
-
-	/**
-	 * SSI:INCLUDE
-	 * (file %URI; #IMPLIED)
-	 * (virtual %URI #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_FILE, HTML40Namespace.ATTR_NAME_VIRTUAL};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIPrintenv.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIPrintenv.java
deleted file mode 100644
index 29b4ed9..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSIPrintenv.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * SSI:PRINTENV.
- */
-final class HedSSIPrintenv extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIPrintenv(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SSI_PRINTENV, collection);
-	}
-
-	/**
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-	}
-
-	/**
-	 * SSI:PRINTENV has no attributes.  So, this method should
-	 * always return <code>null</code>.
-	 * Note: Since somebody doesn't expect null is returned, return the empty attribute
-	 * like a custom tag which doesn't have attributes
-	 */
-	public CMNamedNodeMap getAttributes() {
-		return super.getAttributes();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSISet.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSISet.java
deleted file mode 100644
index 2ac31d4..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSSISet.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * SSI:SET.
- */
-final class HedSSISet extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSISet(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.SSI_SET, collection);
-	}
-
-	/**
-	 * SSI:SET
-	 * (var CDATA #IMPLIED)
-	 * (value CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {HTML40Namespace.ATTR_NAME_VAR, HTML40Namespace.ATTR_NAME_VALUE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSTYLE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSTYLE.java
deleted file mode 100644
index 4288cf7..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedSTYLE.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * STYLE.
- */
-final class HedSTYLE extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedSTYLE(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.STYLE, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_CDATA;
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * STYLE
-	 * %i18n;
-	 * (type %ContentType; #REQUIRED) ... should be defined locally.
-	 * (media %MediaDesc; #IMPLIED)
-	 * (title %Text; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_MEDIA, HTML40Namespace.ATTR_NAME_TITLE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-		// (type %ContentType; #REQUIRED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr);
-	}
-
-	/**
-	 * Content.<br>
-	 * <code>STYLE</code> is CDATA content type.  So, it always returns <code>null</code>.
-	 * @return org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	public CMContent getContent() {
-		return null;
-	}
-
-	/**
-	 * CDATA content.<br>
-	 * @return int
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.CDATA;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedScripts.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedScripts.java
deleted file mode 100644
index f25a804..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedScripts.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * SUB and SUP.
- */
-final class HedScripts extends HedInlineContainer {
-
-	/**
-	 */
-	public HedScripts(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		correctionType = CORRECT_EMPTY;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.PRE};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTABLE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTABLE.java
deleted file mode 100644
index 7a77ff6..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTABLE.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * TABLE.
- */
-final class HedTABLE extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedTABLE(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.TABLE, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_TABLE;
-		layoutType = LAYOUT_BLOCK;
-		indentChild = true;
-	}
-
-	/**
-	 * TABLE.
-	 * %attrs;
-	 * %reserved;
-	 * (summary %Text; #IMPLIED)
-	 * (width %Length; #IMPLIED)
-	 * (border %Pixels; #IMPLIED)
-	 * (frame %TFrame; #IMPLIED)
-	 * (rules %TRules; #IMPLIED)
-	 * (cellspacing %Length; #IMPLIED)
-	 * (cellpadding %Length; #IMPLIED)
-	 * (align %TAlign; #IMPLIED)
-	 * (bgcolor %Color; #IMPLIED)
-	 * (datapagesize CDATA #IMPLIED)
-	 * (height %Pixels; #IMPLIED)
-	 * (background %URI; #IMPLIED)
-	 * (bordercolor %Color #IMPLIED) ... D205514
-	 * @see com.ibm.sed.contentmodel.html.AbstractHTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %reserved;
-		// ... %reserved; is empty in the current DTD.
-
-		String[] names = {HTML40Namespace.ATTR_NAME_SUMMARY, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_BORDER, HTML40Namespace.ATTR_NAME_FRAME, HTML40Namespace.ATTR_NAME_RULES, HTML40Namespace.ATTR_NAME_CELLSPACING, HTML40Namespace.ATTR_NAME_CELLPADDING, HTML40Namespace.ATTR_NAME_BGCOLOR, HTML40Namespace.ATTR_NAME_DATAPAGESIZE, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_BACKGROUND, HTML40Namespace.ATTR_NAME_BORDERCOLOR // D205514
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// align (local)
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		String[] alignValues = {HTML40Namespace.ATTR_VALUE_LEFT, HTML40Namespace.ATTR_VALUE_CENTER, HTML40Namespace.ATTR_VALUE_RIGHT};
-		atype.setEnumValues(alignValues);
-		HTMLAttrDeclImpl adec = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, adec);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTEXTAREA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTEXTAREA.java
deleted file mode 100644
index ad5f71a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTEXTAREA.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * TEXTAREA.
- */
-final class HedTEXTAREA extends HedPcdata {
-
-	/**
-	 * TEXTAREA should keep spaces in its source.
-	 */
-	public HedTEXTAREA(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.TEXTAREA, collection);
-		layoutType = LAYOUT_OBJECT;
-
-		keepSpaces = true;
-	}
-
-	/**
-	 * TEXTAREA.
-	 * %attrs;
-	 * %reserved; ... empty
-	 * (name CDATA #IMPLIED)
-	 * (rows NUMBER #REQUIRED)
-	 * (cols NUMBER #REQUIRED)
-	 * (disabled (disabled) #IMPLIED)
-	 * (readonly (readonly) #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (accesskey %Character; #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED)
-	 * (onselect %Script; #IMPLIED)
-	 * (onchange %Script; #IMPLIED)
-	 * (istyle CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_ROWS, HTML40Namespace.ATTR_NAME_COLS, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_READONLY, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR, HTML40Namespace.ATTR_NAME_ONSELECT, HTML40Namespace.ATTR_NAME_ONCHANGE, HTML40Namespace.ATTR_NAME_ISTYLE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.BUTTON};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTITLE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTITLE.java
deleted file mode 100644
index 23e77ce..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTITLE.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * TITLE.
- */
-final class HedTITLE extends HedPcdata {
-
-	/**
-	 */
-	public HedTITLE(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.TITLE, collection);
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * TITLE.
-	 * %i18n;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>TITLE</code> has the exclusion.
-	 * It is <code>%head.misc;</code>.
-	 * %head.misc; is <code>SCRIPT|STYLE|META|LINK|OBJECT</code>.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		// (SCRIPT|STYLE|META|LINK|OBJECT)
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-
-		String[] names = {HTML40Namespace.ElementName.SCRIPT, HTML40Namespace.ElementName.STYLE, HTML40Namespace.ElementName.META, HTML40Namespace.ElementName.LINK, HTML40Namespace.ElementName.OBJECT};
-		elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator());
-		return exclusion;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTR.java
deleted file mode 100644
index c664236..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTR.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * TR.
- */
-final class HedTR extends HTMLElemDeclImpl {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.TR};
-
-	/**
-	 */
-	public HedTR(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.TR, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_TCELL_CONTAINER;
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END;
-		indentChild = true;
-	}
-
-	/**
-	 * %attrs;
-	 * %cellhalign;
-	 * %cellvalign;
-	 * (bgcolor %Color; #IMPLIED)
-	 * (background %URI; #IMPLIED)
-	 * (bordercolor %Color #IMPLIED) ... D205514
-	 * (height %Length #IMPLIED) bug2246
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %cellhalign;
-		attributeCollection.getCellhalign(attributes);
-		// %cellvalign;
-		attributeCollection.getCellvalign(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_BGCOLOR, HTML40Namespace.ATTR_NAME_BACKGROUND, HTML40Namespace.ATTR_NAME_BORDERCOLOR, HTML40Namespace.ATTR_NAME_HEIGHT // D205514
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * TR has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTableBody.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTableBody.java
deleted file mode 100644
index 3360016..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTableBody.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * THEAD/TFOOT/TBODY
- */
-final class HedTableBody extends HTMLElemDeclImpl {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.CAPTION, HTML40Namespace.ElementName.COL, HTML40Namespace.ElementName.COLGROUP, HTML40Namespace.ElementName.THEAD, HTML40Namespace.ElementName.TBODY, HTML40Namespace.ElementName.TFOOT};
-
-	/**
-	 */
-	public HedTableBody(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_TR_CONTAINER;
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		if (elementName == HTML40Namespace.ElementName.TBODY) {
-			omitType = OMIT_BOTH;
-		}
-		else {
-			omitType = OMIT_END;
-		}
-		indentChild = true;
-	}
-
-	/**
-	 * TBODY/TFOOT/THEAD
-	 * %attrs;
-	 * %cellhalign;
-	 * %cellvalign;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %cellhalign;
-		attributeCollection.getCellhalign(attributes);
-		// %cellvalign;
-		attributeCollection.getCellvalign(attributes);
-	}
-
-	/**
-	 * THEAD, TFOOT and TBODY have terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTableCell.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTableCell.java
deleted file mode 100644
index 1e64193..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedTableCell.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-/**
- * (TH | TD).
- */
-final class HedTableCell extends HedFlowContainer {
-
-	private static String[] terminators = {HTML40Namespace.ElementName.TR, HTML40Namespace.ElementName.TH, HTML40Namespace.ElementName.TD};
-
-	/**
-	 */
-	public HedTableCell(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END;
-	}
-
-	/**
-	 * %attrs;
-	 * (abbr %Text; #IMPLIED)
-	 * (axis CDATA #IMPLIED)
-	 * (headers IDREFS #IMPLIED)
-	 * (scope %Scope; #IMPLIED)
-	 * (rowspan NUMBER 1)
-	 * (colspan NUMBER 1)
-	 * %cellhalign;
-	 * %cellvalign;
-	 * (nowrap (nowrap) #IMPLIED)
-	 * (bgcolor %Color; #IMPLIED)
-	 * (width %Length; #IMPLIED)
-	 * (height %Length; #IMPLIED)
-	 * (background %URI; #IMPLIED)
-	 * (bordercolor %Color #IMPLIED) ... D205514
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %cellhalign;
-		attributeCollection.getCellhalign(attributes);
-		// %cellvalign;
-		attributeCollection.getCellvalign(attributes);
-
-		String[] names = {HTML40Namespace.ATTR_NAME_ABBR, HTML40Namespace.ATTR_NAME_AXIS, HTML40Namespace.ATTR_NAME_HEADERS, HTML40Namespace.ATTR_NAME_SCOPE, HTML40Namespace.ATTR_NAME_ROWSPAN, HTML40Namespace.ATTR_NAME_COLSPAN, HTML40Namespace.ATTR_NAME_NOWRAP, HTML40Namespace.ATTR_NAME_BGCOLOR, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_BACKGROUND, HTML40Namespace.ATTR_NAME_BORDERCOLOR // D205514
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * TH and TD have terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedUL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedUL.java
deleted file mode 100644
index 1bf48d3..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedUL.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-/**
- * UL.
- */
-final class HedUL extends HedListItemContainer {
-
-	/**
-	 */
-	public HedUL(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.UL, collection);
-	}
-
-	/**
-	 * UL.
-	 * (type %ULStyle; #IMPLIED) ... should be defined locally.
-	 * (compact (compact) #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (type %ULStyle; #IMPLIED) ... should be defined locally.
-		// %ULStyle; is (disc|square|circle).
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		String[] values = {HTML40Namespace.ATTR_VALUE_DISC, HTML40Namespace.ATTR_VALUE_SQUARE, HTML40Namespace.ATTR_VALUE_CIRCLE};
-		atype.setEnumValues(values);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr);
-
-		// the rest.
-		String[] names = {HTML40Namespace.ATTR_NAME_COMPACT};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedWBR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedWBR.java
deleted file mode 100644
index 51bedf0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/HedWBR.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-
-final class HedWBR extends HedEmpty {
-
-	public HedWBR(ElementCollection collection) {
-		super(HTML40Namespace.ElementName.WBR, collection);
-		// LAYOUT_BREAK.
-		// same as BR.
-		layoutType = LAYOUT_BREAK;
-	}
-
-	protected void createAttributeDeclarations() {
-		// No attributes is defined.
-		if (attributes != null)
-			return;
-		attributes = new CMNamedNodeMapImpl();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JCMDocImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JCMDocImpl.java
deleted file mode 100644
index 7401ac5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JCMDocImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * Implementation of CMDocument for the JSP 1.1.
- */
-class JCMDocImpl extends CMNodeImpl implements JSPCMDocument {
-
-	/** Namespace for all names of elements, entities and attributes. */
-	private CMNamespaceImpl namespace = null;
-	private JSPElementCollection elements = null;
-
-	/**
-	 * HCMDocImpl constructor comment.
-	 */
-	public JCMDocImpl(String docTypeName, CMNamespaceImpl targetNamespace) {
-		super(docTypeName);
-		namespace = targetNamespace;
-		elements = new JSPElementCollection();
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.HTMLCMDocument
-	 */
-	public HTMLElementDeclaration getElementDeclaration(String elementName) {
-		if (elements == null)
-			return null;
-		return (HTMLElementDeclaration) elements.getNamedItem(elementName);
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public CMNamedNodeMap getElements() {
-		return elements;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public CMNamedNodeMap getEntities() {
-		return null;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.HTMLCMDocument
-	 */
-	public HTMLEntityDeclaration getEntityDeclaration(String entityName) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public org.eclipse.wst.common.contentmodel.CMNamespace getNamespace() {
-		return namespace;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	public int getNodeType() {
-		return CMNode.DOCUMENT;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JSP11Namespace.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JSP11Namespace.java
deleted file mode 100644
index 893c034..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JSP11Namespace.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-/**
- * JSP 1.1 Namespace. Note, this interface was 
- * copied form JSP core packages. One implication 
- * is that extra care is needed in using '==' instead 
- * of '.equals'.
- */
-public interface JSP11Namespace {
-
-	public static interface ElementName {
-		// Element names
-		public static final String SCRIPTLET = "jsp:scriptlet"; //$NON-NLS-1$
-		public static final String EXPRESSION = "jsp:expression"; //$NON-NLS-1$
-		public static final String DECLARATION = "jsp:declaration"; //$NON-NLS-1$
-		public static final String DIRECTIVE_PAGE = "jsp:directive.page"; //$NON-NLS-1$
-		public static final String DIRECTIVE_INCLUDE = "jsp:directive.include"; //$NON-NLS-1$
-		public static final String DIRECTIVE_TAGLIB = "jsp:directive.taglib"; //$NON-NLS-1$
-		public static final String USEBEAN = "jsp:useBean"; //$NON-NLS-1$
-		public static final String SETPROPERTY = "jsp:setProperty"; //$NON-NLS-1$
-		public static final String GETPROPERTY = "jsp:getProperty"; //$NON-NLS-1$
-		public static final String INCLUDE = "jsp:include"; //$NON-NLS-1$
-		public static final String FORWARD = "jsp:forward"; //$NON-NLS-1$
-		public static final String PLUGIN = "jsp:plugin"; //$NON-NLS-1$
-		public static final String PARAMS = "jsp:params"; //$NON-NLS-1$
-		public static final String FALLBACK = "jsp:fallback"; //$NON-NLS-1$
-		public static final String PARAM = "jsp:param"; //$NON-NLS-1$
-		public static final String ROOT = "jsp:root"; //$NON-NLS-1$
-		public static final String TEXT = "jsp:text"; //$NON-NLS-1$
-	}
-
-	public static final String JSP11_URI = ""; //$NON-NLS-1$
-	public static final String JSP_TAG_PREFIX = "jsp"; //$NON-NLS-1$
-	// attribute names
-	//   directive.page
-	public static final String ATTR_NAME_LANGUAGE = "language"; //$NON-NLS-1$
-	public static final String ATTR_NAME_EXTENDS = "extends"; //$NON-NLS-1$
-	public static final String ATTR_NAME_CONTENT_TYPE = "contentType"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IMPORT = "import"; //$NON-NLS-1$
-	public static final String ATTR_NAME_SESSION = "session"; //$NON-NLS-1$
-	public static final String ATTR_NAME_BUFFER = "buffer"; //$NON-NLS-1$
-	public static final String ATTR_NAME_AUTOFLUSH = "autoFlush"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IS_THREAD_SAFE = "isThreadSafe"; //$NON-NLS-1$
-	public static final String ATTR_NAME_INFO = "info"; //$NON-NLS-1$
-	public static final String ATTR_NAME_ERROR_PAGE = "errorPage"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IS_ERROR_PAGE = "isErrorPage"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PAGE_ENCODING = "pageEncoding"; //$NON-NLS-1$
-	//   directive.include
-	public static final String ATTR_NAME_FILE = "file"; //$NON-NLS-1$
-	//   directive.taglib
-	public static final String ATTR_NAME_URI = "uri"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PREFIX = "prefix"; //$NON-NLS-1$
-	//   useBean
-	public static final String ATTR_NAME_ID = "id"; //$NON-NLS-1$
-	public static final String ATTR_NAME_SCOPE = "scope"; //$NON-NLS-1$
-	public static final String ATTR_NAME_CLASS = "class"; //$NON-NLS-1$
-	public static final String ATTR_NAME_BEAN_NAME = "beanName"; //$NON-NLS-1$
-	public static final String ATTR_NAME_TYPE = "type"; //$NON-NLS-1$
-	//   setProperty
-	public static final String ATTR_NAME_NAME = "name"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PROPERTY = "property"; //$NON-NLS-1$
-	public static final String ATTR_NAME_VALUE = "value"; //$NON-NLS-1$
-	public static final String ATTR_NAME_PARAM = "param"; //$NON-NLS-1$
-	//   include
-	public static final String ATTR_NAME_PAGE = "page"; //$NON-NLS-1$
-	public static final String ATTR_NAME_FLUSH = "flush"; //$NON-NLS-1$
-	//   plugin
-	public static final String ATTR_NAME_CODE = "code"; //$NON-NLS-1$
-	public static final String ATTR_NAME_CODEBASE = "codebase"; //$NON-NLS-1$
-	public static final String ATTR_NAME_ALIGN = "align"; //$NON-NLS-1$
-	public static final String ATTR_NAME_ARCHIVE = "archive"; //$NON-NLS-1$
-	public static final String ATTR_NAME_HEIGHT = "height"; //$NON-NLS-1$
-	public static final String ATTR_NAME_HSPACE = "hspace"; //$NON-NLS-1$
-	public static final String ATTR_NAME_JREVERSION = "jreversion"; //$NON-NLS-1$
-	public static final String ATTR_NAME_VSPACE = "vspace"; //$NON-NLS-1$
-	public static final String ATTR_NAME_WIDTH = "width"; //$NON-NLS-1$
-	public static final String ATTR_NAME_NSPLUGINURL = "nspluginurl"; //$NON-NLS-1$
-	public static final String ATTR_NAME_IEPLUGINURL = "iepluginurl"; //$NON-NLS-1$
-	//   root
-	public static final String ATTR_NAME_XMLNS_JSP = "xmlns:jsp"; //$NON-NLS-1$
-	public static final String ATTR_NAME_VERSION = "version"; //$NON-NLS-1$
-	// attribute values
-	public static final String ATTR_VALUE_TRUE = "true"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_FALSE = "false"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_JAVA = "java"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_CT_DEFAULT = "text/html; charset=ISO-8859-1";//D195366 //$NON-NLS-1$
-	public static final String ATTR_VALUE_BUFSIZ_DEFAULT = "8kb"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_PAGE = "page"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_SESSION = "session"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_REQUEST = "request"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_APPLICATION = "application"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_BEAN = "bean"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_APPLET = "applet"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_TOP = "top"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_MIDDLE = "middle"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_BOTTOM = "bottom"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_LEFT = "left"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_RIGHT = "right"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_JVER11 = "1.1"; //$NON-NLS-1$
-	public static final String ATTR_VALUE_XMLNS_JSP = "http://java.sun.com/JSP/Page"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JSPCMDocument.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JSPCMDocument.java
deleted file mode 100644
index e547c93..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JSPCMDocument.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-/**
- * JSP extension for CMDocument.
- * This interface provides some short hand methods to get declarations
- * by a name.
- */
-public interface JSPCMDocument extends org.eclipse.wst.common.contentmodel.CMDocument {
-
-	/**
-	 * A short hand method to get a element declaration for a JSP element.
-	 * JSP declaration class implements HTMLElementDeclaration interface.
-	 * @return com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 * @param elementName java.lang.String
-	 */
-	HTMLElementDeclaration getElementDeclaration(String elementName);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JSPElementCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JSPElementCollection.java
deleted file mode 100644
index 3cd6748..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/JSPElementCollection.java
+++ /dev/null
@@ -1,897 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-
-import java.lang.reflect.Field;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-
-/**
- * Factory for element declarations of the JSP 1.1.
- */
-final class JSPElementCollection extends DeclCollection implements JSP11Namespace.ElementName {
-
-
-	private class TypePacket {
-		public String name = null;
-		public int content = CMElementDeclaration.EMPTY;
-		public int omit = HTMLElementDeclaration.OMIT_NONE;
-		public int lineBreak = HTMLElementDeclaration.BREAK_NONE;
-		public int layout = HTMLElementDeclaration.LAYOUT_NONE;
-		public int correct = HTMLElementDeclaration.CORRECT_NONE;
-		public int format = HTMLElementDeclaration.FORMAT_XML;
-		public boolean indentChild = false;
-
-		public TypePacket() {
-		}
-	}
-
-	/** JSP element declaration. */
-	private class ElemDecl extends CMContentImpl implements HTMLElementDeclaration, HTMLPropertyDeclaration {
-		private TypePacket type = null;
-		private CMGroupImpl content = null;
-		private CMNamedNodeMapImpl attributes = null;
-
-		public ElemDecl(TypePacket t) {
-			super(t.name, 1, 1);
-			type = t;
-		}
-
-		public void setContent(CMGroupImpl group) {
-			content = group;
-		}
-
-		public void setAttributes(CMNamedNodeMapImpl attrs) {
-			attributes = attrs;
-		}
-
-		// implementes CMNode
-		public int getNodeType() {
-			return CMNode.ELEMENT_DECLARATION;
-		}
-
-		public boolean supports(String propertyName) {
-			if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) {
-				return true;
-			}
-			else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) {
-				return true;
-			}
-			else {
-				PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName);
-				if (pp == null)
-					return false;
-				return pp.supports(this);
-			}
-		}
-
-		public Object getProperty(String propertyName) {
-			if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) {
-				return new Boolean(false); //D208839
-			}
-			else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) {
-				String myName = getElementName();
-				if (myName == JSP11Namespace.ElementName.PLUGIN) {
-					return getNamedItem(JSP11Namespace.ElementName.PARAMS); // outer class method.
-				}
-				else if (myName == JSP11Namespace.ElementName.PARAMS) {
-					return getNamedItem(JSP11Namespace.ElementName.PARAM); // outer class method.
-				}
-				else {
-					return null;
-				}
-			}
-			else {
-				PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName);
-				if (pp == null)
-					return null;
-				return pp.get(this);
-			}
-		}
-
-		// implementes CMElementDeclaration
-		public CMNamedNodeMap getAttributes() {
-			return attributes;
-		}
-
-		public CMContent getContent() {
-			return content;
-		}
-
-		public int getContentType() {
-			return type.content;
-		}
-
-		public CMDataType getDataType() {
-			return null;
-		}
-
-		public String getElementName() {
-			return getNodeName();
-		}
-
-		public CMNamedNodeMap getLocalElements() {
-			return null;
-		}
-
-		// implementes HTMLElementDeclaration
-		public HTMLAttributeDeclaration getAttributeDeclaration(String attrName) {
-			if (attributes == null)
-				return null;
-			return (HTMLAttributeDeclaration) attributes.getNamedItem(attrName);
-		}
-
-		public int getCorrectionType() {
-			return type.correct;
-		}
-
-		public CMContent getExclusion() {
-			return null;
-		}
-
-		public CMContent getInclusion() {
-			return null;
-		}
-
-		public CMNamedNodeMap getProhibitedAncestors() {
-			return EMPTY_MAP;
-		}
-
-		public int getFormatType() {
-			return type.format;
-		}
-
-		public int getLayoutType() {
-			return type.layout;
-		}
-
-		public int getLineBreakHint() {
-			return type.lineBreak;
-		}
-
-		public int getOmitType() {
-			return type.omit;
-		}
-
-		public boolean shouldTerminateAt(HTMLElementDeclaration dec) {
-			return false;
-		}
-
-		public boolean shouldKeepSpaces() {
-			return false;
-		}
-
-		public boolean shouldIndentChildSource() {
-			return type.indentChild;
-		}
-
-		public boolean isJSP() {
-			return true;
-		}
-	}
-
-	// element IDs
-	private static class Ids {
-		public static final int ID_SCRIPTLET = 0;
-		public static final int ID_EXPRESSION = 1;
-		public static final int ID_DECLARATION = 2;
-		public static final int ID_DIRECTIVE_PAGE = 3;
-		public static final int ID_DIRECTIVE_INCLUDE = 4;
-		public static final int ID_DIRECTIVE_TAGLIB = 5;
-		public static final int ID_USEBEAN = 6;
-		public static final int ID_SETPROPERTY = 7;
-		public static final int ID_GETPROPERTY = 8;
-		public static final int ID_INCLUDE = 9;
-		public static final int ID_FORWARD = 10;
-		public static final int ID_PLUGIN = 11;
-		public static final int ID_PARAMS = 12;
-		public static final int ID_FALLBACK = 13;
-		public static final int ID_PARAM = 14;
-		public static final int ID_ROOT = 15;
-		public static final int ID_TEXT = 16;
-
-		public static int getNumOfIds() {
-			if (numofids != -1)
-				return numofids;
-
-			// NOTE: If the reflection is too slow, this method should
-			// just return the literal value, like 105.
-			// -- 5/25/2001
-			Class clazz = Ids.class;
-			Field[] fields = clazz.getFields();
-			numofids = 0;
-			for (int i = 0; i < fields.length; i++) {
-				String name = fields[i].getName();
-				if (name.startsWith("ID_"))//$NON-NLS-1$
-					numofids++;
-			}
-			return numofids;
-		}
-
-		// chache the result of the reflection.
-		private static int numofids = -1;
-	}
-
-	// attribute creater
-	private class JACreater implements JSP11Namespace {
-		// attribute declaration
-		private class AttrDecl extends CMNodeImpl implements HTMLAttributeDeclaration {
-			HTMLCMDataTypeImpl type = null;
-			int usage = CMAttributeDeclaration.OPTIONAL;
-
-			// methods
-			public AttrDecl(String attrName) {
-				super(attrName);
-			}
-
-			public String getAttrName() {
-				return getNodeName();
-			}
-
-			public CMDataType getAttrType() {
-				return type;
-			}
-
-			/** @deprecated by superclass */
-			public String getDefaultValue() {
-				if (type.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_DEFAULT)
-					return null;
-				return type.getImpliedValue();
-			}
-
-			/** @deprecated  by superclass */
-			public Enumeration getEnumAttr() {
-				Vector v = new Vector(Arrays.asList(type.getEnumeratedValues()));
-				return v.elements();
-			}
-
-			public int getNodeType() {
-				return CMNode.ATTRIBUTE_DECLARATION;
-			}
-
-			public int getUsage() {
-				return usage;
-			}
-
-			public boolean shouldIgnoreCase() {
-				return false;
-			}
-		}
-
-		private CMNamedNodeMapImpl declarations = null;
-
-		public JACreater() {
-			declarations = new CMNamedNodeMapImpl();
-		}
-
-		public CMNamedNodeMapImpl getDeclarations(int eid) {
-			switch (eid) {
-				case Ids.ID_DIRECTIVE_PAGE :
-					createForDirPage();
-					break;
-				case Ids.ID_DIRECTIVE_INCLUDE :
-					createForDirInclude();
-					break;
-				case Ids.ID_DIRECTIVE_TAGLIB :
-					createForDirTaglib();
-					break;
-				case Ids.ID_USEBEAN :
-					createForUseBean();
-					break;
-				case Ids.ID_SETPROPERTY :
-					createForSetProperty();
-					break;
-				case Ids.ID_GETPROPERTY :
-					createForGetProperty();
-					break;
-				case Ids.ID_INCLUDE :
-					createForInclude();
-					break;
-				case Ids.ID_FORWARD :
-					createForForward();
-					break;
-				case Ids.ID_PLUGIN :
-					createForPlugin();
-					break;
-				case Ids.ID_PARAM :
-					createForParam();
-					break;
-				case Ids.ID_ROOT :
-					createForRoot();
-					break;
-				default :
-					// should warn.
-					break;
-			}
-			return declarations;
-		}
-
-		private AttrDecl createBoolType(String name, String defValue) {
-			AttrDecl adec = new AttrDecl(name);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
-			adec.type.setEnumValues(values);
-			adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, defValue);
-			return adec;
-		}
-
-		private void createForDirPage() {
-			AttrDecl adec = null;
-			// ("language" CDATA DECLARED "java")
-			adec = new AttrDecl(ATTR_NAME_LANGUAGE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_JAVA);
-			declarations.putNamedItem(ATTR_NAME_LANGUAGE, adec);
-
-			// ("extends" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_EXTENDS);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_EXTENDS, adec);
-
-			// ("contentType" CDATA DECLARED "text/html; ISO-8859-1")
-			adec = new AttrDecl(ATTR_NAME_CONTENT_TYPE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_CT_DEFAULT);
-			declarations.putNamedItem(ATTR_NAME_CONTENT_TYPE, adec);
-
-			// ("import" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_IMPORT);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_IMPORT, adec);
-
-			// ("session" ENUM DECLARED (true|false) "true")
-			adec = createBoolType(ATTR_NAME_SESSION, ATTR_VALUE_TRUE);
-			if (adec != null)
-				declarations.putNamedItem(ATTR_NAME_SESSION, adec);
-
-			// ("buffer" CDATA DECLARED "8kb")
-			adec = new AttrDecl(ATTR_NAME_BUFFER);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_BUFSIZ_DEFAULT);
-			declarations.putNamedItem(ATTR_NAME_BUFFER, adec);
-
-			// ("autoFlush" ENUM DECLARED (true|false) "true")
-			adec = createBoolType(ATTR_NAME_AUTOFLUSH, ATTR_VALUE_TRUE);
-			if (adec != null)
-				declarations.putNamedItem(ATTR_NAME_AUTOFLUSH, adec);
-
-			// ("isThreadSafe" ENUM DECLARED (true|false) "true")
-			adec = createBoolType(ATTR_NAME_IS_THREAD_SAFE, ATTR_VALUE_TRUE);
-			if (adec != null)
-				declarations.putNamedItem(ATTR_NAME_IS_THREAD_SAFE, adec);
-
-			// ("info" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_INFO);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_INFO, adec);
-
-			// ("errorPage" URI IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_ERROR_PAGE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
-			declarations.putNamedItem(ATTR_NAME_ERROR_PAGE, adec);
-
-			// ("isErrorPage" ENUM DECLARED (true|false) "false")
-			adec = createBoolType(ATTR_NAME_IS_ERROR_PAGE, ATTR_VALUE_FALSE);
-			if (adec != null)
-				declarations.putNamedItem(ATTR_NAME_IS_ERROR_PAGE, adec);
-
-			// ("pageEncoding" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_PAGE_ENCODING);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_PAGE_ENCODING, adec);
-
-		}
-
-		private void createForDirInclude() {
-			// ("file" URI REQUIRED); Defect TORO:185241
-			AttrDecl adec = new AttrDecl(ATTR_NAME_FILE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_FILE, adec);
-		}
-
-		private void createForDirTaglib() {
-			// ("uri" URI REQUIRED)
-			AttrDecl adec = new AttrDecl(ATTR_NAME_URI);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_URI, adec);
-
-			// ("prefix" CDATA REQUIRED)
-			adec = new AttrDecl(ATTR_NAME_PREFIX);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_PREFIX, adec);
-		}
-
-		private void createForUseBean() {
-			// ("id" ID REQUIRED)
-			AttrDecl adec = new AttrDecl(ATTR_NAME_ID);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.ID);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_ID, adec);
-
-			// ("scope" ENUM DECLARED (page|session|request|application) "page")
-			adec = new AttrDecl(ATTR_NAME_SCOPE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_PAGE, ATTR_VALUE_SESSION, ATTR_VALUE_REQUEST, ATTR_VALUE_APPLICATION};
-			adec.type.setEnumValues(values);
-			adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_PAGE);
-			declarations.putNamedItem(ATTR_NAME_SCOPE, adec);
-
-			// ("class" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_CLASS);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_CLASS, adec);
-
-			// ("beanName" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_BEAN_NAME);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_BEAN_NAME, adec);
-
-			// ("type" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_TYPE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_TYPE, adec);
-		}
-
-		private void createForSetProperty() {
-			// ("name" IDREF REQUIRED)
-			AttrDecl adec = new AttrDecl(ATTR_NAME_NAME);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.IDREF);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_NAME, adec);
-
-			// ("property" CDATA REQUIRED)
-			adec = new AttrDecl(ATTR_NAME_PROPERTY);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_PROPERTY, adec);
-
-			// ("value" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_VALUE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_VALUE, adec);
-
-			// ("param" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_PARAM);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_PARAM, adec);
-
-		}
-
-		private void createForGetProperty() {
-			// ("name" IDREF REQUIRED)
-			AttrDecl adec = new AttrDecl(ATTR_NAME_NAME);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.IDREF);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_NAME, adec);
-
-			// ("property" CDATA REQUIRED)
-			adec = new AttrDecl(ATTR_NAME_PROPERTY);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_PROPERTY, adec);
-
-		}
-
-		private void createForInclude() {
-			AttrDecl adec = null;
-			// ("page" URI REQUIRED)
-			adec = new AttrDecl(ATTR_NAME_PAGE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_PAGE, adec);
-
-			// ("flush" ENUM REQUIRED (true|false)); Defect TORO:185241
-			adec = new AttrDecl(ATTR_NAME_FLUSH);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
-			adec.type.setEnumValues(values);
-			declarations.putNamedItem(ATTR_NAME_FLUSH, adec);
-		}
-
-		private void createForForward() {
-			// ("page" URI REQUIRED)
-			AttrDecl adec = new AttrDecl(ATTR_NAME_PAGE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_PAGE, adec);
-		}
-
-		private void createForPlugin() {
-			// ("type" ENUM REQUIRED (bean|applet))
-			AttrDecl adec = new AttrDecl(ATTR_NAME_TYPE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			String[] values = {ATTR_VALUE_BEAN, ATTR_VALUE_APPLET};
-			adec.type.setEnumValues(values);
-			declarations.putNamedItem(ATTR_NAME_TYPE, adec);
-
-			// ("code" CDATA REQUIRED)
-			adec = new AttrDecl(ATTR_NAME_CODE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_CODE, adec);
-
-			// ("codebase" URI REQUIRED)
-			adec = new AttrDecl(ATTR_NAME_CODEBASE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_CODEBASE, adec);
-
-			// ("align" ENUM IMPLIED (top|middle|bottom|left|right))
-			adec = new AttrDecl(ATTR_NAME_ALIGN);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] aligns = {ATTR_VALUE_TOP, ATTR_VALUE_MIDDLE, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT};
-			adec.type.setEnumValues(aligns);
-			declarations.putNamedItem(ATTR_NAME_ALIGN, adec);
-
-			// ("archive" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_ARCHIVE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_ARCHIVE, adec);
-
-			// ("height" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_HEIGHT);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_HEIGHT, adec);
-
-			// ("hspace" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_HSPACE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_HSPACE, adec);
-
-			// ("jreversion" CDATA DECLARED "1.1")
-			adec = new AttrDecl(ATTR_NAME_JREVERSION);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_JVER11);
-			declarations.putNamedItem(ATTR_NAME_JREVERSION, adec);
-
-			// ("name" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_NAME);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_NAME, adec);
-
-			// ("vspace" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_VSPACE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_VSPACE, adec);
-
-			// ("width" CDATA IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_WIDTH);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			declarations.putNamedItem(ATTR_NAME_WIDTH, adec);
-
-			// ("nspluginurl" URI IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_NSPLUGINURL);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
-			declarations.putNamedItem(ATTR_NAME_NSPLUGINURL, adec);
-
-			// ("iepluginurl" URI IMPLIED)
-			adec = new AttrDecl(ATTR_NAME_IEPLUGINURL);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
-			declarations.putNamedItem(ATTR_NAME_IEPLUGINURL, adec);
-		}
-
-		private void createForParam() {
-			// ("name" CDATA REQUIRED)
-			AttrDecl adec = new AttrDecl(ATTR_NAME_NAME);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_NAME, adec);
-
-			// ("value" CDATA REQUIRED); Defect TORO:185241
-			adec = new AttrDecl(ATTR_NAME_VALUE);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_VALUE, adec);
-
-		}
-
-		private void createForRoot() {
-			// ("xmlns:jsp" CDATA "http://jva.sun.com/JSP/Page")
-			AttrDecl adec = new AttrDecl(ATTR_NAME_XMLNS_JSP);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_XMLNS_JSP);
-			declarations.putNamedItem(ATTR_NAME_XMLNS_JSP, adec);
-			// ("version" CDATA REQUIRED)
-			adec = new AttrDecl(ATTR_NAME_VERSION);
-			adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			adec.usage = CMAttributeDeclaration.REQUIRED;
-			declarations.putNamedItem(ATTR_NAME_VERSION, adec);
-		}
-	}
-
-	private final static CMNamedNodeMap EMPTY_MAP = new CMNamedNodeMap() {
-		public int getLength() {
-			return 0;
-		}
-
-		public CMNode getNamedItem(String name) {
-			return null;
-		}
-
-		public CMNode item(int index) {
-			return null;
-		}
-
-		public Iterator iterator() {
-			return new Iterator() {
-				public boolean hasNext() {
-					return false;
-				}
-
-				public Object next() {
-					return null;
-				}
-
-				public void remove() {
-				}
-			};
-		}
-	};
-	private static String[] names = null;
-
-	static {
-		names = new String[Ids.getNumOfIds()];
-		names[Ids.ID_SCRIPTLET] = SCRIPTLET;
-		names[Ids.ID_EXPRESSION] = EXPRESSION;
-		names[Ids.ID_DECLARATION] = DECLARATION;
-		names[Ids.ID_DIRECTIVE_PAGE] = DIRECTIVE_PAGE;
-		names[Ids.ID_DIRECTIVE_INCLUDE] = DIRECTIVE_INCLUDE;
-		names[Ids.ID_DIRECTIVE_TAGLIB] = DIRECTIVE_TAGLIB;
-		names[Ids.ID_USEBEAN] = USEBEAN;
-		names[Ids.ID_SETPROPERTY] = SETPROPERTY;
-		names[Ids.ID_GETPROPERTY] = GETPROPERTY;
-		names[Ids.ID_INCLUDE] = INCLUDE;
-		names[Ids.ID_FORWARD] = FORWARD;
-		names[Ids.ID_PLUGIN] = PLUGIN;
-		names[Ids.ID_PARAMS] = PARAMS;
-		names[Ids.ID_FALLBACK] = FALLBACK;
-		names[Ids.ID_PARAM] = PARAM;
-		names[Ids.ID_ROOT] = ROOT;
-		names[Ids.ID_TEXT] = TEXT;
-	}
-
-	/**
-	 */
-	public JSPElementCollection() {
-		super(names, TOLERANT_CASE);
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNode
-	 * @param elementName java.lang.String
-	 */
-	protected CMNode create(String elementName) {
-		return createElemDecl(getID(elementName));
-	}
-
-	/**
-	 * @return com.ibm.sed.contentmodel.html.CMGroupImpl
-	 * @param eid int
-	 */
-	private CMGroupImpl createContent(int eid) {
-		if (eid == ID_UNKNOWN)
-			return null;
-
-		CMGroupImpl content = null;
-		CMNode child = null;
-
-		switch (eid) {
-			case Ids.ID_INCLUDE :
-			case Ids.ID_FORWARD :
-				// (jsp:param)*
-				content = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED);
-				child = item(Ids.ID_PARAM);
-				if (child != null)
-					content.appendChild(child);
-				break;
-			case Ids.ID_PLUGIN :
-				// (jsp:params | jsp:fallback)?
-				content = new CMGroupImpl(CMGroup.CHOICE, 0, 1);
-				// jsp:params
-				child = item(Ids.ID_PARAMS);
-				if (child != null)
-					content.appendChild(child);
-				// jsp:fallback
-				child = item(Ids.ID_FALLBACK);
-				if (child != null)
-					content.appendChild(child);
-				break;
-			case Ids.ID_PARAMS :
-				// (jsp:param)+
-				content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED);
-				child = item(Ids.ID_PARAM);
-				if (child != null)
-					content.appendChild(child);
-				break;
-			case Ids.ID_ROOT :
-				// %Body;
-				// --> (jsp:text|%Directives;|%Scripts;|%Actions;)*
-				//     %Directives --> jsp:directive.page|jsp:directive.include
-				//     %Scripts; --> jsp:scriptlet|jsp:declaration|jsp:expression
-				//     %Actions --> jsp:useBean|jsp.setProperty|jsp:getProperty
-				//                  |jsp:include|jsp:forward|jsp:plugin
-				content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-				int validChildren[] = {Ids.ID_TEXT,
-				// %Directves;
-							Ids.ID_DIRECTIVE_PAGE, Ids.ID_DIRECTIVE_INCLUDE,
-							// %Scripts;
-							Ids.ID_SCRIPTLET, Ids.ID_DECLARATION, Ids.ID_EXPRESSION,
-							// %Actions;
-							Ids.ID_USEBEAN, Ids.ID_SETPROPERTY, Ids.ID_GETPROPERTY, Ids.ID_INCLUDE, Ids.ID_FORWARD, Ids.ID_PLUGIN};
-				for (int i = 0; i < validChildren.length; i++) {
-					child = item(validChildren[i]);
-					if (child != null)
-						content.appendChild(child);
-				}
-				break;
-		}
-
-		return content;
-	}
-
-	/**
-	 * @return com.ibm.sed.contentmodel.html.HTMLElemDeclImpl
-	 * @param eid int
-	 */
-	private HTMLElementDeclaration createElemDecl(int eid) {
-		if (eid == ID_UNKNOWN)
-			return null;
-
-		TypePacket packet = new TypePacket();
-		switch (eid) {
-			case Ids.ID_SCRIPTLET :
-				// content, omit, lineBreak, layout, correct, format
-				// scriptlet
-				packet.name = SCRIPTLET;
-				packet.content = CMElementDeclaration.CDATA;
-				packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
-				packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT;
-				break;
-			case Ids.ID_EXPRESSION :
-				// expression
-				packet.name = EXPRESSION;
-				packet.content = CMElementDeclaration.CDATA;
-				packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
-				packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT;
-				break;
-			case Ids.ID_DECLARATION :
-				// declaration
-				packet.name = DECLARATION;
-				packet.content = CMElementDeclaration.CDATA;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
-				packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT;
-				break;
-			case Ids.ID_DIRECTIVE_PAGE :
-				// directive.page
-				packet.name = DIRECTIVE_PAGE;
-				packet.omit = HTMLElementDeclaration.OMIT_END;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
-				packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE;
-				break;
-			case Ids.ID_DIRECTIVE_INCLUDE :
-				// directive.inlcude
-				packet.name = DIRECTIVE_INCLUDE;
-				packet.omit = HTMLElementDeclaration.OMIT_END;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
-				packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE;
-				break;
-			case Ids.ID_DIRECTIVE_TAGLIB :
-				// directive.taglib
-				packet.name = DIRECTIVE_TAGLIB;
-				packet.omit = HTMLElementDeclaration.OMIT_END;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
-				packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE;
-				break;
-			case Ids.ID_USEBEAN :
-				// useBean
-				packet.name = USEBEAN;
-				packet.content = CMElementDeclaration.ANY;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
-				packet.indentChild = true;
-				break;
-			case Ids.ID_SETPROPERTY :
-				// setProperty
-				packet.name = SETPROPERTY;
-				packet.omit = HTMLElementDeclaration.OMIT_END;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
-				break;
-			case Ids.ID_GETPROPERTY :
-				// getProperty
-				packet.name = GETPROPERTY;
-				packet.omit = HTMLElementDeclaration.OMIT_END;
-				packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
-				break;
-			case Ids.ID_INCLUDE :
-				// include
-				packet.name = INCLUDE;
-				packet.content = CMElementDeclaration.ELEMENT;
-				packet.omit = HTMLElementDeclaration.OMIT_END;
-				packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
-				packet.indentChild = true;
-				break;
-			case Ids.ID_FORWARD :
-				// forward
-				packet.name = FORWARD;
-				packet.content = CMElementDeclaration.ELEMENT;
-				packet.omit = HTMLElementDeclaration.OMIT_END;
-				packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
-				packet.indentChild = true;
-				break;
-			case Ids.ID_PLUGIN :
-				// plugin
-				packet.name = PLUGIN;
-				packet.content = CMElementDeclaration.ELEMENT;
-				packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
-				packet.indentChild = true;
-				break;
-			case Ids.ID_PARAMS :
-				// params
-				packet.name = PARAMS;
-				packet.content = CMElementDeclaration.ELEMENT;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
-				packet.indentChild = true;
-				break;
-			case Ids.ID_FALLBACK :
-				// fallback
-				packet.name = FALLBACK;
-				packet.content = CMElementDeclaration.CDATA;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
-				break;
-			case Ids.ID_PARAM :
-				// param
-				packet.name = PARAM;
-				packet.omit = HTMLElementDeclaration.OMIT_END;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
-				break;
-			case Ids.ID_ROOT :
-				packet.name = ROOT;
-				packet.content = CMElementDeclaration.ELEMENT;
-				packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; // same as HTML
-				break;
-			case Ids.ID_TEXT :
-				packet.name = TEXT;
-				packet.content = CMElementDeclaration.PCDATA;
-				break;
-			default :
-				// unknown ID
-				return null;
-		}
-
-		ElemDecl dec = new ElemDecl(packet);
-
-		CMGroupImpl content = createContent(eid);
-		if (content != null)
-			dec.setContent(content);
-
-		JACreater creater = new JACreater();
-		dec.setAttributes(creater.getDeclarations(eid));
-
-		return dec;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/PropertyProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/PropertyProvider.java
deleted file mode 100644
index ebe5e0c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/PropertyProvider.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-
-/**
- * PropertyProvider class.
- * This class is intended to be used in HTMLElementDeclaration instances.
- */
-interface PropertyProvider {
-
-	boolean supports(HTMLElementDeclaration edecl);
-
-	Object get(HTMLElementDeclaration edecl);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/PropertyProviderFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/PropertyProviderFactory.java
deleted file mode 100644
index 3347343..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/PropertyProviderFactory.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel;
-
-import java.util.Hashtable;
-
-import org.eclipse.wst.common.contentmodel.annotation.AnnotationMap;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-
-/**
- * The factory object of PropertyProvider.
- */
-final class PropertyProviderFactory {
-
-
-	/**
-	 * DefaultProvider is intended to be used for unknown properties.
-	 * It always returns null value for any properties.
-	 */
-	class DefaultProvider implements PropertyProvider {
-		public DefaultProvider() {
-			super();
-		}
-
-		public boolean supports(HTMLElementDeclaration edecl) {
-			return false;
-		}
-
-		public Object get(HTMLElementDeclaration edecl) {
-			return null;
-		}
-	}
-
-	abstract class AbstractElementPropertyProvider implements PropertyProvider {
-		protected AbstractElementPropertyProvider() {
-			super();
-		}
-
-		public boolean supports(HTMLElementDeclaration edecl) {
-			return (edecl != null);
-		}
-
-		public Object get(HTMLElementDeclaration edecl) {
-			if (!(edecl instanceof HTMLPropertyDeclaration))
-				return null;
-			return getElementProperty((HTMLPropertyDeclaration)edecl);
-		}
-
-		abstract protected Object getElementProperty(HTMLPropertyDeclaration decl);
-	}
-
-	/*
-	 * "tagInfo"
-	 * gets documentation for the element
-	 */
-	class PPTagInfo extends AbstractElementPropertyProvider {
-		private final static String htmlAnnotationLoc = "platform:/plugin/org.eclipse.wst.html.core/data/htmref.xml"; //$NON-NLS-1$
-		protected AnnotationMap fAnnotationMap = null;
-
-		public PPTagInfo() {
-			super();
-		}
-
-		/**
-		 * Gets the annotationMap.
-		 * @return Returns a AnnotationMap
-		 */
-		protected AnnotationMap getAnnotationMap() {
-			if (fAnnotationMap == null) {
-				fAnnotationMap = new AnnotationMap();
-				try {
-					fAnnotationMap.load(htmlAnnotationLoc);
-				}
-				catch (Exception e) {
-					// no annotation available
-				}
-			}
-			return fAnnotationMap;
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			if (decl instanceof HTMLElementDeclaration) {
-				return getAnnotationMap().getProperty(((HTMLElementDeclaration)decl).getElementName(), "tagInfo"); //$NON-NLS-1$
-			} else {
-				return null;
-			}
-		}
-	}
-
-	/*
-	 * "shouldKeepSpace"
-	 */
-	class PPShouldKeepSpace extends AbstractElementPropertyProvider {
-		public PPShouldKeepSpace() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(decl.shouldKeepSpaces());
-		}
-	}
-
-	/*
-	 * "shouldIndentChildSource"
-	 */
-	class PPShouldIndentChildSource extends AbstractElementPropertyProvider {
-		public PPShouldIndentChildSource() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(decl.shouldIndentChildSource());
-		}
-	}
-
-	/*
-	 * "terminators"
-	 */
-	class PPTerminators extends AbstractElementPropertyProvider {
-		public PPTerminators() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			if (! (decl instanceof HTMLElemDeclImpl)) return null;
-			return ((HTMLElemDeclImpl)decl).getTerminators();
-		}
-	}
-
-	/*
-	 * "prohibitedAncestors"
-	 */
-	class PPProhibitedAncestors extends AbstractElementPropertyProvider {
-		public PPProhibitedAncestors() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return decl.getProhibitedAncestors();
-		}
-	}
-
-	/*
-	 * "isJSP"
-	 */
-	class PPIsJSP extends AbstractElementPropertyProvider {
-		public PPIsJSP() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(decl.isJSP());
-		}
-	}
-
-	/*
-	 * "isXHTML"
-	 * HTMLElementDeclaration itself never represent any XHTML element declaration.
-	 * So, this property must be always false.
-	 */
-	class PPIsXHTML extends AbstractElementPropertyProvider {
-		public PPIsXHTML() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(false);
-		}
-	}
-
-	/*
-	 * "isSSI"
-	 * Each declaration class for SSI elements must provide this property itself,
-	 * and then return true.  Other declaration must always return false.
-	 */
-	class PPIsSSI extends AbstractElementPropertyProvider {
-		public PPIsSSI() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(false);
-		}
-	}
-
-	/*
-	 * "lineBreakHint"
-	 */
-	class PPLineBreakHint extends AbstractElementPropertyProvider {
-		public PPLineBreakHint() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			String hint = HTMLCMProperties.Values.BREAK_NONE;
-			switch (decl.getLineBreakHint()) {
-				case HTMLElementDeclaration.BREAK_AFTER_START :
-					hint = HTMLCMProperties.Values.BREAK_AFTER_START;
-					break;
-				case HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END :
-					hint = HTMLCMProperties.Values.BREAK_BEFORE_START_AND_AFTER_END;
-					break;
-				case HTMLElementDeclaration.BREAK_NONE :
-				// nothing to do
-				default :
-					break;
-			}
-			return hint;
-		}
-	}
-
-	/*
-	 * "layoutType"
-	 */
-	class PPLayoutType extends AbstractElementPropertyProvider {
-		public PPLayoutType() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			String type = HTMLCMProperties.Values.LAYOUT_NONE;
-			switch (decl.getLayoutType()) {
-				case HTMLElementDeclaration.LAYOUT_BLOCK :
-					type = HTMLCMProperties.Values.LAYOUT_BLOCK;
-					break;
-				case HTMLElementDeclaration.LAYOUT_BREAK :
-					type = HTMLCMProperties.Values.LAYOUT_BREAK;
-					break;
-				case HTMLElementDeclaration.LAYOUT_HIDDEN :
-					type = HTMLCMProperties.Values.LAYOUT_HIDDEN;
-					break;
-				case HTMLElementDeclaration.LAYOUT_OBJECT :
-					type = HTMLCMProperties.Values.LAYOUT_OBJECT;
-					break;
-				case HTMLElementDeclaration.LAYOUT_WRAP :
-					type = HTMLCMProperties.Values.LAYOUT_WRAP;
-					break;
-				case HTMLElementDeclaration.LAYOUT_NONE :
-				// nothing to do.
-				default :
-					break;
-			}
-			return type;
-		}
-	}
-
-	/*
-	 * "omitType"
-	 */
-	class PPOmitType extends AbstractElementPropertyProvider {
-		public PPOmitType() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			String type = HTMLCMProperties.Values.OMIT_NONE;
-			switch (decl.getOmitType()) {
-				case HTMLElementDeclaration.OMIT_BOTH :
-					type = HTMLCMProperties.Values.OMIT_BOTH;
-					break;
-				case HTMLElementDeclaration.OMIT_END :
-					type = HTMLCMProperties.Values.OMIT_END;
-					break;
-				case HTMLElementDeclaration.OMIT_END_DEFAULT :
-					type = HTMLCMProperties.Values.OMIT_END_DEFAULT;
-					break;
-				case HTMLElementDeclaration.OMIT_END_MUST :
-					type = HTMLCMProperties.Values.OMIT_END_MUST;
-					break;
-				case HTMLElementDeclaration.OMIT_NONE :
-				// nothing to do.
-				default :
-					break;
-			}
-			return type;
-		}
-	}
-
-	/*
-	 * "inclusion"
-	 */
-	class PPInclusion extends AbstractElementPropertyProvider {
-		public PPInclusion() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return decl.getInclusion();
-		}
-	}
-
-	public static PropertyProvider getProvider(String propName) {
-		PropertyProviderFactory factory = getInstance();
-		PropertyProvider pp = (PropertyProvider) factory.registry.get(propName);
-		if (pp != null)
-			return pp;
-
-		pp = factory.create(propName);
-		if (pp == null)
-			return factory.defaultProvider;
-
-		factory.registry.put(propName, pp);
-		return pp;
-	}
-
-	private static PropertyProviderFactory instance = null;
-
-	private synchronized static PropertyProviderFactory getInstance() {
-		if (instance != null)
-			return instance;
-		instance = new PropertyProviderFactory();
-		return instance;
-	}
-
-	private Hashtable registry = new Hashtable();
-	private PropertyProvider defaultProvider = new DefaultProvider();
-
-	private PropertyProviderFactory() {
-		super();
-	}
-
-	private PropertyProvider create(String propName) {
-		PropertyProvider pp = null;
-		if (propName.equals(HTMLCMProperties.IS_JSP))
-			pp = new PPIsJSP();
-		else if (propName.equals(HTMLCMProperties.IS_XHTML))
-			pp = new PPIsXHTML();
-		else if (propName.equals(HTMLCMProperties.IS_SSI))
-			pp = new PPIsSSI();
-		else if (propName.equals(HTMLCMProperties.LAYOUT_TYPE))
-			pp = new PPLayoutType();
-		else if (propName.equals(HTMLCMProperties.LINE_BREAK_HINT))
-			pp = new PPLineBreakHint();
-		else if (propName.equals(HTMLCMProperties.PROHIBITED_ANCESTORS))
-			pp = new PPProhibitedAncestors();
-		else if (propName.equals(HTMLCMProperties.SHOULD_KEEP_SPACE))
-			pp = new PPShouldKeepSpace();
-		else if (propName.equals(HTMLCMProperties.SHOULD_INDENT_CHILD_SOURCE))
-			pp = new PPShouldIndentChildSource();
-		else if (propName.equals(HTMLCMProperties.TERMINATORS))
-			pp = new PPTerminators();
-		else if (propName.equals(HTMLCMProperties.TAGINFO))
-			pp = new PPTagInfo();
-		else if (propName.equals(HTMLCMProperties.OMIT_TYPE))
-			pp = new PPOmitType();
-		else if (propName.equals(HTMLCMProperties.INCLUSION))
-			pp = new PPInclusion();
-
-		return pp;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/AttributeCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/AttributeCollection.java
deleted file mode 100644
index 8b388bd..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/AttributeCollection.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.contentmodel.HTMLAttributeDeclaration;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDataType;
-
-/**
- * Factory for attribute declarations.
- */
-final class AttributeCollection extends CMNamedNodeMapImpl implements CHTMLNamespace {
-	/**
-	 * constructor.
-	 */
-	public AttributeCollection() {
-		super();
-	}
-
-	/**
-	 * Create an attribute declaration.
-	 * @return com.ibm.sed.contentmodel.html.HTMLAttrDeclImpl
-	 * @param attrName java.lang.String
-	 */
-	private HTMLAttrDeclImpl create(String attrName) {
-		HTMLAttrDeclImpl attr = null;
-		HTMLCMDataTypeImpl atype = null;
-
-		if (attrName.equalsIgnoreCase(ATTR_NAME_ACTION)) {
-			// (action %URI #REQUIRED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ACTION, atype, CMAttributeDeclaration.REQUIRED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ALT)) {
-			// (alt %Text; #REQUIRED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ALT, atype, CMAttributeDeclaration.REQUIRED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_BORDER)) {
-			// (border %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_BORDER, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CHECKED)) {
-			// (checked (checked) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_CHECKED};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CHECKED, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_CLEAR)) {
-			// (clear (left | all | right | none) none)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_ALL, ATTR_VALUE_RIGHT, ATTR_VALUE_NONE};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_NONE);
-
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_CLEAR, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_COLS)) {
-			// (cols NUMBER #REQUIRED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_COLS, atype, CMAttributeDeclaration.REQUIRED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ENCTYPE)) {
-			// (enctype %ContentType; "application/x-www-form-urlencoded")
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_WWW_FORM_URLENCODED);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ENCTYPE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HEIGHT)) {
-			// (height %Length; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HEIGHT, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HREF)) {
-			// (href %URI; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HREF, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HSPACE)) {
-			// (hspace %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HSPACE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_HTTP_EQUIV)) {
-			// (http-equiv NAME #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.NAME);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_HTTP_EQUIV, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MAXLENGTH)) {
-			// (maxlength NUMBER #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MAXLENGTH, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_METHOD)) {
-			// (method (GET|POST) GET)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_VALUE_GET, ATTR_VALUE_POST};
-			atype.setEnumValues(values);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_GET);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_METHOD, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_MULTIPLE)) {
-			// (multiple (multiple) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_MULTIPLE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_MULTIPLE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_NAME)) {
-			// (name CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_NOSHADE)) {
-			// (noshade (noshade) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_NOSHADE};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_NOSHADE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_ROWS)) {
-			// (rows NUMBER #REQUIRED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_ROWS, atype, CMAttributeDeclaration.REQUIRED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SELECTED)) {
-			// (selected (selected) #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-			String[] values = {ATTR_NAME_SELECTED};
-			atype.setEnumValues(values);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SELECTED, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SIZE)) {
-			// (size %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_SRC)) {
-			// (src %URI; #IMPLIED)
-			// NOTE: "src" attributes are defined in several elements.
-			//		 The definition of IMG is different from others.
-			//		 So, it should be locally defined.
-			atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_SRC, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_TYPE)) {
-			// (type %CotentType; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VALUE)) {
-			// (value CDATA #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VALUE, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VERSION)) {
-			// (version CDATA #FIXED '%HTML.Version;)
-			atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-			atype.setImpliedValue(CMDataType.IMPLIED_VALUE_FIXED, ATTR_VALUE_VERSION_TRANSITIONAL);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VERSION, atype, CMAttributeDeclaration.FIXED);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_WIDTH)) {
-			// (width %Length; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL);
-
-		}
-		else if (attrName.equalsIgnoreCase(ATTR_NAME_VSPACE)) {
-			// (vspace %Pixels; #IMPLIED)
-			atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS);
-			attr = new HTMLAttrDeclImpl(ATTR_NAME_VSPACE, atype, CMAttributeDeclaration.OPTIONAL);
-
-			// <<D205514
-		}
-		else {
-			// unknown attribute; maybe error.
-			// should warn.
-			attr = null;
-		}
-
-		return attr;
-	}
-
-	/**
-	 * Get %bodycolors; declarations.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getBodycolors(CMNamedNodeMapImpl declarations) {
-	}
-
-	/**
-	 * Get align attribute which has %IAlign; as values..
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public static final HTMLAttrDeclImpl createAlignForImage() {
-		// align (local)
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		// set enum values
-		String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_MIDDLE, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT};
-		atype.setEnumValues(values);
-
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		return attr;
-	}
-
-	/**
-	 * Create an attribute declaration for <code>align</code>
-	 * in several elements, like <code>P</code>, <code>DIV</code>.
-	 * The values are different from attributes those have the same name
-	 * in other elements (<code>IMG</code> and <code>TABLE</code>).
-	 * So, it can't treat as global attributes.
-	 * <strong>NOTE: These attribute declaration has
-	 * no owner CMDocument instance.</strong>
-	 * @return com.ibm.sed.contentmodel.html.HTMLAttrDeclImpl
-	 */
-	public static final HTMLAttrDeclImpl createAlignForParagraph() {
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		// set enum values: left|center|right|justify
-		String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_CENTER, ATTR_VALUE_RIGHT,};
-		atype.setEnumValues(values);
-
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		return attr;
-	}
-
-	/**
-	 * Get %attrs; declarations.
-	 * %attrs; consists of %coreattrs;, %i18n, and %events;.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getAttrs(CMNamedNodeMapImpl declarations) {
-	}
-
-	/**
-	 * Get %coreattrs; declarations.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getCore(CMNamedNodeMapImpl declarations) {
-	}
-
-	/**
-	 * Get a global attribute declaration.
-	 * @return com.ibm.sed.contentmodel.html.HTMLAttrributeDeclaration
-	 * @param attrName java.lang.String
-	 */
-	public HTMLAttributeDeclaration getDeclaration(String attrName) {
-		CMNode cmnode = getNamedItem(attrName);
-		if (cmnode != null)
-			return (HTMLAttributeDeclaration) cmnode; // already exists.
-
-		HTMLAttrDeclImpl dec = create(attrName);
-		if (dec != null)
-			putNamedItem(attrName, dec);
-
-		return dec;
-	}
-
-	/**
-	 * Get declarations which are specified by names.
-	 * @param declarations com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 * @param names java.util.Iterator
-	 */
-	public void getDeclarations(CMNamedNodeMapImpl declarations, Iterator names) {
-		while (names.hasNext()) {
-			String attrName = (String) names.next();
-			HTMLAttributeDeclaration dec = getDeclaration(attrName);
-			if (dec != null)
-				declarations.putNamedItem(attrName, dec);
-		}
-	}
-
-	/**
-	 * Get %events; declarations.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getEvents(CMNamedNodeMapImpl declarations) {
-	}
-
-	/**
-	 * Get %i18n; declarations.
-	 * @param attributes com.ibm.sed.contentmodel.html.CMNamedNodeMapImpl
-	 */
-	public void getI18n(CMNamedNodeMapImpl declarations) {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CHCMDocImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CHCMDocImpl.java
deleted file mode 100644
index d191f98..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CHCMDocImpl.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNamespace;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDocument;
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.html.core.contentmodel.HTMLEntityDeclaration;
-
-/**
- * CMDocument implementation for the HTML.
- */
-public class CHCMDocImpl extends CMNodeImpl implements HTMLCMDocument {
-
-	/** Namespace for all names of elements, entities and attributes. */
-	private CMNamespace namespace = null;
-	private ElementCollection elements = null;
-	private EntityCollection entities = null;
-	private AttributeCollection attributes = null;
-
-	/**
-	 */
-	public CHCMDocImpl(String docTypeName, CMNamespace targetNamespace) {
-		super(docTypeName);
-		namespace = targetNamespace;
-		attributes = new AttributeCollection();
-		elements = new ElementCollection(attributes);
-		entities = new EntityCollection();
-	}
-
-	/**
-	 * @return com.ibm.sed.contentmodel.html.AttributeCollection
-	 */
-	AttributeCollection getAttributes() {
-		return attributes;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.HTMLCMDocument
-	 */
-	public HTMLElementDeclaration getElementDeclaration(String elementName) {
-		if (elements == null)
-			return null;
-		return (HTMLElementDeclaration) elements.getNamedItem(elementName);
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public CMNamedNodeMap getElements() {
-		return elements;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public CMNamedNodeMap getEntities() {
-		return entities;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.HTMLCMDocument
-	 */
-	public HTMLEntityDeclaration getEntityDeclaration(String entityName) {
-		if (entities == null)
-			return null;
-		return (HTMLEntityDeclaration) entities.getNamedItem(entityName);
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDocument
-	 */
-	public org.eclipse.wst.common.contentmodel.CMNamespace getNamespace() {
-		return namespace;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	public int getNodeType() {
-		return CMNode.DOCUMENT;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CHTMLNamespace.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CHTMLNamespace.java
deleted file mode 100644
index d2d2d8e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CHTMLNamespace.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-import org.eclipse.wst.html.core.HTML40Namespace;
-
-
-
-/**
- * Provide all names defined in the HTML 4.0? specification.
- */
-public interface CHTMLNamespace {
-
-	// Element names
-	public static interface ElementName {
-		public static final String A = HTML40Namespace.ElementName.A;
-		public static final String ADDRESS = HTML40Namespace.ElementName.ADDRESS;
-		public static final String BASE = HTML40Namespace.ElementName.BASE;
-		public static final String BLOCKQUOTE = HTML40Namespace.ElementName.BLOCKQUOTE;
-		public static final String BODY = HTML40Namespace.ElementName.BODY;
-		public static final String BR = HTML40Namespace.ElementName.BR;
-		public static final String CENTER = HTML40Namespace.ElementName.CENTER;
-		public static final String DD = HTML40Namespace.ElementName.DD;
-		public static final String DIR = HTML40Namespace.ElementName.DIR;
-		public static final String DIV = HTML40Namespace.ElementName.DIV;
-		public static final String DL = HTML40Namespace.ElementName.DL;
-		public static final String DT = HTML40Namespace.ElementName.DT;
-		public static final String FORM = HTML40Namespace.ElementName.FORM;
-		public static final String H1 = HTML40Namespace.ElementName.H1;
-		public static final String H2 = HTML40Namespace.ElementName.H2;
-		public static final String H3 = HTML40Namespace.ElementName.H3;
-		public static final String H4 = HTML40Namespace.ElementName.H4;
-		public static final String H5 = HTML40Namespace.ElementName.H5;
-		public static final String H6 = HTML40Namespace.ElementName.H6;
-		public static final String HEAD = HTML40Namespace.ElementName.HEAD;
-		public static final String HR = HTML40Namespace.ElementName.HR;
-		public static final String HTML = HTML40Namespace.ElementName.HTML;
-		public static final String IMG = HTML40Namespace.ElementName.IMG;
-		public static final String INPUT = HTML40Namespace.ElementName.INPUT;
-		public static final String LI = HTML40Namespace.ElementName.LI;
-		public static final String MENU = HTML40Namespace.ElementName.MENU;
-		public static final String META = HTML40Namespace.ElementName.META;
-		public static final String OL = HTML40Namespace.ElementName.OL;
-		public static final String OPTION = HTML40Namespace.ElementName.OPTION;
-		public static final String P = HTML40Namespace.ElementName.P;
-		public static final String PRE = HTML40Namespace.ElementName.PRE;
-		public static final String SELECT = HTML40Namespace.ElementName.SELECT;
-		public static final String TEXTAREA = HTML40Namespace.ElementName.TEXTAREA;
-		public static final String TITLE = HTML40Namespace.ElementName.TITLE;
-		public static final String UL = HTML40Namespace.ElementName.UL;
-		public static final String SSI_CONFIG = HTML40Namespace.ElementName.SSI_CONFIG;
-		public static final String SSI_ECHO = HTML40Namespace.ElementName.SSI_ECHO;
-		public static final String SSI_EXEC = HTML40Namespace.ElementName.SSI_EXEC;
-		public static final String SSI_FSIZE = HTML40Namespace.ElementName.SSI_FSIZE;
-		public static final String SSI_FLASTMOD = HTML40Namespace.ElementName.SSI_FLASTMOD;
-		public static final String SSI_INCLUDE = HTML40Namespace.ElementName.SSI_INCLUDE;
-		public static final String SSI_PRINTENV = HTML40Namespace.ElementName.SSI_PRINTENV;
-		public static final String SSI_SET = HTML40Namespace.ElementName.SSI_SET;
-	}
-
-	// Character Entities
-	public static interface EntityName {
-	}
-
-	// global attribute names
-	public static final String ATTR_NAME_VERSION = HTML40Namespace.ATTR_NAME_VERSION;
-	public static final String ATTR_NAME_SRC = HTML40Namespace.ATTR_NAME_SRC;
-	public static final String ATTR_NAME_ALT = HTML40Namespace.ATTR_NAME_ALT;
-	public static final String ATTR_NAME_HEIGHT = HTML40Namespace.ATTR_NAME_HEIGHT;
-	public static final String ATTR_NAME_WIDTH = HTML40Namespace.ATTR_NAME_WIDTH;
-	public static final String ATTR_NAME_ALIGN = HTML40Namespace.ATTR_NAME_ALIGN;
-	public static final String ATTR_NAME_BORDER = HTML40Namespace.ATTR_NAME_BORDER;
-	public static final String ATTR_NAME_HSPACE = HTML40Namespace.ATTR_NAME_HSPACE;
-	public static final String ATTR_NAME_VSPACE = HTML40Namespace.ATTR_NAME_VSPACE;
-	public static final String ATTR_NAME_NAME = HTML40Namespace.ATTR_NAME_NAME;
-	public static final String ATTR_NAME_CLEAR = HTML40Namespace.ATTR_NAME_CLEAR;
-	public static final String ATTR_NAME_NOSHADE = HTML40Namespace.ATTR_NAME_NOSHADE;
-	public static final String ATTR_NAME_CHECKED = HTML40Namespace.ATTR_NAME_CHECKED;
-	public static final String ATTR_NAME_MAXLENGTH = HTML40Namespace.ATTR_NAME_MAXLENGTH;
-	public static final String ATTR_NAME_ISTYLE = HTML40Namespace.ATTR_NAME_ISTYLE;
-	public static final String ATTR_NAME_HTTP_EQUIV = HTML40Namespace.ATTR_NAME_HTTP_EQUIV;
-	public static final String ATTR_NAME_CONTENT = HTML40Namespace.ATTR_NAME_CONTENT;
-
-	public static final String ATTR_NAME_HREF = HTML40Namespace.ATTR_NAME_HREF;
-	public static final String ATTR_NAME_MULTIPLE = HTML40Namespace.ATTR_NAME_MULTIPLE;
-	public static final String ATTR_NAME_SELECTED = HTML40Namespace.ATTR_NAME_SELECTED;
-	public static final String ATTR_NAME_ROWS = HTML40Namespace.ATTR_NAME_ROWS;
-	public static final String ATTR_NAME_COLS = HTML40Namespace.ATTR_NAME_COLS;
-	public static final String ATTR_NAME_ACTION = HTML40Namespace.ATTR_NAME_ACTION;
-	public static final String ATTR_NAME_METHOD = HTML40Namespace.ATTR_NAME_METHOD;
-	public static final String ATTR_NAME_ENCTYPE = HTML40Namespace.ATTR_NAME_ENCTYPE;
-	public static final String ATTR_NAME_SIZE = HTML40Namespace.ATTR_NAME_SIZE;
-	public static final String ATTR_NAME_TYPE = HTML40Namespace.ATTR_NAME_TYPE;
-	public static final String ATTR_NAME_VALUE = HTML40Namespace.ATTR_NAME_VALUE;
-
-
-
-	public static final String ATTR_NAME_ERRMSG = HTML40Namespace.ATTR_NAME_ERRMSG;
-	public static final String ATTR_NAME_SIZEFMT = HTML40Namespace.ATTR_NAME_SIZEFMT;
-	public static final String ATTR_NAME_TIMEFMT = HTML40Namespace.ATTR_NAME_TIMEFMT;
-	public static final String ATTR_NAME_VAR = HTML40Namespace.ATTR_NAME_VAR;
-	public static final String ATTR_NAME_CGI = HTML40Namespace.ATTR_NAME_CGI;
-	public static final String ATTR_NAME_CMD = HTML40Namespace.ATTR_NAME_CMD;
-	public static final String ATTR_NAME_FILE = HTML40Namespace.ATTR_NAME_FILE;
-	public static final String ATTR_NAME_VIRTUAL = HTML40Namespace.ATTR_NAME_VIRTUAL;
-
-	// global attribute values; mainly used in enumeration.
-	public static final String ATTR_VALUE_VERSION_TRANSITIONAL = "-//W3C//DTD Compact HTML 1.0 Draft//EN"; //$NON-NLS-1$
-	//   for align (top|middle|bottom|left|right)
-	public static final String ATTR_VALUE_TOP = HTML40Namespace.ATTR_VALUE_TOP;
-	public static final String ATTR_VALUE_MIDDLE = HTML40Namespace.ATTR_VALUE_MIDDLE;
-	public static final String ATTR_VALUE_BOTTOM = HTML40Namespace.ATTR_VALUE_BOTTOM;
-	public static final String ATTR_VALUE_LEFT = HTML40Namespace.ATTR_VALUE_LEFT;
-	public static final String ATTR_VALUE_CENTER = HTML40Namespace.ATTR_VALUE_CENTER;
-	public static final String ATTR_VALUE_RIGHT = HTML40Namespace.ATTR_VALUE_RIGHT;
-	//   for clear (left|all|right|none): left and right are already defined above.
-	public static final String ATTR_VALUE_ALL = HTML40Namespace.ATTR_VALUE_ALL;
-	public static final String ATTR_VALUE_NONE = HTML40Namespace.ATTR_VALUE_NONE;
-	//   for type of INPUT
-	//       (text | password | checkbox | radio | submit | reset |
-	//        file | hidden | image | button)
-	public static final String ATTR_VALUE_TEXT = HTML40Namespace.ATTR_VALUE_TEXT;
-	public static final String ATTR_VALUE_PASSWORD = HTML40Namespace.ATTR_VALUE_PASSWORD;
-	public static final String ATTR_VALUE_CHECKBOX = HTML40Namespace.ATTR_VALUE_CHECKBOX;
-	public static final String ATTR_VALUE_RADIO = HTML40Namespace.ATTR_VALUE_RADIO;
-	public static final String ATTR_VALUE_SUBMIT = HTML40Namespace.ATTR_VALUE_SUBMIT;
-	public static final String ATTR_VALUE_RESET = HTML40Namespace.ATTR_VALUE_RESET;
-	public static final String ATTR_VALUE_HIDDEN = HTML40Namespace.ATTR_VALUE_HIDDEN;
-	//   for span, colspan, rowspan
-	public static final String ATTR_VALUE_1 = HTML40Namespace.ATTR_VALUE_1;
-	//   for frameborder
-	public static final String ATTR_VALUE_0 = HTML40Namespace.ATTR_VALUE_0;
-	//   for method of FORM
-	public static final String ATTR_VALUE_GET = HTML40Namespace.ATTR_VALUE_GET;
-	public static final String ATTR_VALUE_POST = HTML40Namespace.ATTR_VALUE_POST;
-	public static final String ATTR_VALUE_WWW_FORM_URLENCODED = HTML40Namespace.ATTR_VALUE_WWW_FORM_URLENCODED;
-	//   for behaviro of MARQUEE
-	public static final String ATTR_VALUE_SCROLL = HTML40Namespace.ATTR_VALUE_SCROLL;
-	public static final String ATTR_VALUE_SLIDE = HTML40Namespace.ATTR_VALUE_SLIDE;
-	public static final String ATTR_VALUE_ALTERNATE = HTML40Namespace.ATTR_VALUE_ALTERNATE;
-	//   for direction of MARQUEE
-	public static final String ATTR_VALUE_UP = HTML40Namespace.ATTR_VALUE_UP;
-	public static final String ATTR_VALUE_DOWN = HTML40Namespace.ATTR_VALUE_DOWN;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMContentImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMContentImpl.java
deleted file mode 100644
index c9f5219..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMContentImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-/**
- * Implementation of CMContent for HTML CM.
- */
-abstract class CMContentImpl extends CMNodeImpl implements org.eclipse.wst.common.contentmodel.CMContent {
-
-	public static final int UNBOUNDED = -1;
-	/**  -1: it's UNBOUNDED. */
-	private int maxOccur = UNBOUNDED;
-	/**  0: it's OPTIONAL, 1, it's REQUIRED. */
-	private int minOccur = 0;
-
-	/**
-	 * The primary consturctor.
-	 * Use this one for usual cases.<br>
-	 */
-	public CMContentImpl(String name, int min, int max) {
-		super(name);
-		minOccur = min;
-		maxOccur = max;
-	}
-
-	/**
-	 * getMaxOccur method
-	 * @return int
-	 *
-	 * If -1, it's UNBOUNDED.
-	 */
-	public int getMaxOccur() {
-		return maxOccur;
-	}
-
-	/**
-	 * getMinOccur method
-	 * @return int
-	 *
-	 * If 0, it's OPTIONAL.
-	 * If 1, it's REQUIRED.
-	 */
-	public int getMinOccur() {
-		return minOccur;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMGroupImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMGroupImpl.java
deleted file mode 100644
index 509bf9e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMGroupImpl.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-
-/**
- */
-class CMGroupImpl extends CMContentImpl implements CMGroup {
-
-	private int operator = CMGroup.SEQUENCE;
-	private CMNodeListImpl children = null;
-
-	/**
-	 * CMGroupImpl constructor comment.
-	 */
-	public CMGroupImpl(int op, int minOccur, int maxOccur) {
-		super(null, minOccur, maxOccur);
-		switch (op) {
-			case CMGroup.ALL :
-			case CMGroup.CHOICE :
-			case CMGroup.SEQUENCE :
-				operator = op;
-				break;
-			default :
-				// should warn.
-				break;
-		}
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNode
-	 * @param org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	protected CMNode appendChild(CMNode child) {
-		if (child == null)
-			return null;
-		if (children == null)
-			children = new CMNodeListImpl();
-		return children.appendNode(child);
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNodeList
-	 */
-	public CMNodeList getChildNodes() {
-		return children;
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ELEMENT_DECLARATION, ATTRIBUTE_DECLARATION, GROUP, ENTITY_DECLARATION.
-	 */
-	public int getNodeType() {
-		return CMNode.GROUP;
-	}
-
-	/**
-	 * getOperation method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ALONE (a), SEQUENCE (a,b), CHOICE (a|b), ALL (a&b).
-	 */
-	public int getOperator() {
-		return operator;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMNamedNodeMapImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMNamedNodeMapImpl.java
deleted file mode 100644
index 39a7ba9..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMNamedNodeMapImpl.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * An implementation of the CMNamedNodeMap interface.
- * This class is intented to be used as a container of attribute declarations.
- * If someone wants to use this class for other purpose, he must pay attention
- * to the fact that this class is tolerant of the key name case.  That is, this
- * class does not distinguish "name", "NAME", and "Name" as a key name.
- */
-class CMNamedNodeMapImpl implements org.eclipse.wst.common.contentmodel.CMNamedNodeMap {
-
-	private java.util.Hashtable items = null;
-
-	/**
-	 */
-	public CMNamedNodeMapImpl() {
-		super();
-		items = new java.util.Hashtable();
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return items.size();
-	}
-
-	/**
-	 * getNamedItem method
-	 * @return CMNode <code>null</code> for unknown keys.
-	 * @param name java.lang.String
-	 */
-	public CMNode getNamedItem(String name) {
-		String cookedName = makeCanonicalForm(name);
-		if (!items.containsKey(cookedName))
-			return null;
-		return (CMNode) items.get(cookedName);
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		Iterator iter = iterator();
-		while (iter.hasNext()) {
-			CMNode node = (CMNode) iter.next();
-			if (--index < 0)
-				return node;
-		}
-		return null;
-	}
-
-	/**
-	 * @return java.util.Iterator
-	 */
-	public Iterator iterator() {
-		return items.values().iterator();
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param rawForm java.lang.String
-	 */
-	private String makeCanonicalForm(String rawForm) {
-		return rawForm.toUpperCase();
-	}
-
-	/**
-	 * @param key java.lang.String
-	 * @param item java.lang.String
-	 */
-	void putNamedItem(String name, CMNode item) {
-		String cookedName = makeCanonicalForm(name);
-		if (items.containsKey(cookedName))
-			return; // already registered.
-		items.put(cookedName, item);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMNodeImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMNodeImpl.java
deleted file mode 100644
index 6970796..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMNodeImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-import org.eclipse.wst.html.core.HTMLCMProperties;
-
-
-
-/**
- */
-abstract class CMNodeImpl implements org.eclipse.wst.common.contentmodel.CMNode {
-
-	private java.lang.String name = null;
-
-	/**
-	 * CMNodeImpl constructor comment.
-	 */
-	public CMNodeImpl(String nm) {
-		super();
-		name = nm;
-	}
-
-	/**
-	 * getNodeName method
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return name;
-	}
-
-	/**
-	 * getProperty method
-	 * @return java.lang.Object
-	 *
-	 * Returns the object property desciped by the propertyName
-	 *
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.IS_XHTML))
-			return new Boolean(false);
-		return null;
-	}
-
-	/**
-	 * supports method
-	 * @return boolean
-	 *
-	 * Returns true if the CMNode supports a specified property
-	 *
-	 */
-	public boolean supports(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.IS_XHTML))
-			return true;
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMNodeListImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMNodeListImpl.java
deleted file mode 100644
index 1aba885..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CMNodeListImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * Analog of dom.NodeList for CM.
- * So, the implementation is very similar to
- * {@link com.ibm.sed.model.xml.NodeListImpl}.<br>
- */
-class CMNodeListImpl implements org.eclipse.wst.common.contentmodel.CMNodeList {
-
-	private java.util.Vector nodes = null;
-
-	/**
-	 * CMNodeListImpl constructor comment.
-	 */
-	public CMNodeListImpl() {
-		super();
-		nodes = new java.util.Vector();
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNode
-	 * @param node org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	protected CMNode appendNode(CMNode node) {
-		nodes.addElement(node);
-		return node;
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return nodes.size();
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		if (index < 0 || index >= nodes.size())
-			return null;
-		return (CMNode) nodes.elementAt(index);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/ComplexTypeDefinition.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/ComplexTypeDefinition.java
deleted file mode 100644
index c3d7304..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/ComplexTypeDefinition.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-
-/**
- * This class is intended to represent a complex type definition
- * in XML Schema.<br>
- */
-abstract class ComplexTypeDefinition {
-
-	protected CMGroupImpl content = null;
-	protected ElementCollection collection = null;
-	protected String primaryCandidateName = null;
-
-	/**
-	 * ComplexTypeDefinition constructor comment.
-	 */
-	public ComplexTypeDefinition(ElementCollection elementCollection) {
-		super();
-		collection = elementCollection;
-		createContent();
-	}
-
-	/**
-	 * Create an actual content model.
-	 * This method should be called once and only once in the constructor.<br>
-	 */
-	protected abstract void createContent();
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMGroup
-	 */
-	public CMGroup getContent() {
-		return content;
-	}
-
-	/**
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	/* NOTE: Do we need LOGICAL type?
-	 * -- 3/7/2001
-	 */
-	public abstract int getContentType();
-
-	/**
-	 * Get content hint.
-	 * @return com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public HTMLElementDeclaration getPrimaryCandidate() {
-		if (primaryCandidateName == null)
-			return null;
-		return (HTMLElementDeclaration) collection.getNamedItem(primaryCandidateName);
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public abstract String getTypeName();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/ComplexTypeDefinitionFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/ComplexTypeDefinitionFactory.java
deleted file mode 100644
index 4d66fb5..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/ComplexTypeDefinitionFactory.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-/**
- * Factory of ComplexTypeDefinition.
- */
-final class ComplexTypeDefinitionFactory {
-
-	private static ComplexTypeDefinitionFactory instance = null;
-	private java.util.Hashtable definitions = null;
-	// constants for complex type name
-	/** for ADDRESS. */
-	public final static String CTYPE_ADDRESS = "CTYPE_ADDRESS";//$NON-NLS-1$
-	/** CDATA content. No ComplexTypeDefinition instance shuld be created. */
-	public final static String CTYPE_CDATA = "CTYPE_CDATA";//$NON-NLS-1$
-	/** col group content. COL* */
-	public final static String CTYPE_COLUMN_GROUP = "CTYPE_COLUMN_GROUP";//$NON-NLS-1$
-	/** for DL. */
-	public final static String CTYPE_DEFINITION_LIST = "CTYPE_DEFINITION_LIST";//$NON-NLS-1$
-	/** for EMBED. */
-	public final static String CTYPE_EMBED = "CTYPE_EMBED";//$NON-NLS-1$
-	/** empty content. No ComplexTypeDefinition instance should be created. */
-	public final static String CTYPE_EMPTY = "CTYPE_EMPTY";//$NON-NLS-1$
-	/** for FIELDSET. */
-	public final static String CTYPE_FIELDSET = "CTYPE_FIELDSET";//$NON-NLS-1$
-	/** for FRAMESET. */
-	public final static String CTYPE_FRAMESET = "CTYPE_FRAMESET";//$NON-NLS-1$
-	/** flow content. (%flow;)* */
-	public final static String CTYPE_FLOW_CONTAINER = "CTYPE_FLOW_CONTAINER";//$NON-NLS-1$
-	/** html content. HEAD, (FRAMESET|BODY) */
-	public final static String CTYPE_HTML = "CTYPE_HTML";//$NON-NLS-1$
-	/** head content. TITLE & ISINDEX? & BASE? */
-	public final static String CTYPE_HEAD = "CTYPE_HEAD";//$NON-NLS-1$
-	/** inline content. (%inline;)* */
-	public final static String CTYPE_INLINE_CONTAINER = "CTYPE_INLINE_CONTAINER";//$NON-NLS-1$
-	/** list item container. (LI)+ */
-	public final static String CTYPE_LI_CONTAINER = "CTYPE_LI_CONTAINER";//$NON-NLS-1$
-	/** for MAP. */
-	public final static String CTYPE_MAP = "CTYPE_MAP";//$NON-NLS-1$
-	/** noframes content. */
-	public final static String CTYPE_NOFRAMES_CONTENT = "CTYPE_NOFRAMES_CONTENT";//$NON-NLS-1$
-	/** for OPTGROUP. */
-	public final static String CTYPE_OPTION_CONTAINER = "CTYPE_OPTION_CONTAINER";//$NON-NLS-1$
-	/** param container. For OBJECT/APPLET. */
-	public final static String CTYPE_PARAM_CONTAINER = "CTYPE_PARAM_CONTAINER";//$NON-NLS-1$
-	/** PCDATA content. No ComplexTypeDefinition instance shuld be created. */
-	public final static String CTYPE_PCDATA = "CTYPE_PCDATA";//$NON-NLS-1$
-	/** for SELECT. */
-	public final static String CTYPE_SELECT = "CTYPE_SELECT";//$NON-NLS-1$
-	/** table content. CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+ */
-	public final static String CTYPE_TABLE = "CTYPE_TABLE";//$NON-NLS-1$
-	/** table cell contaier. (TH|TD)+ */
-	public final static String CTYPE_TCELL_CONTAINER = "CTYPE_TCELL_CONTAINER";//$NON-NLS-1$
-	/** table record container. (TR)+ */
-	public final static String CTYPE_TR_CONTAINER = "CTYPE_TR_CONTAINER";//$NON-NLS-1$
-
-	/**
-	 * ComplexTypeDefinitionFactory constructor comment.
-	 */
-	private ComplexTypeDefinitionFactory() {
-		super();
-		definitions = new java.util.Hashtable();
-	}
-
-	/**
-	 * Factory method for ComplexTypeDefinition.
-	 * Each instance created in this method must be registered into
-	 * the map with its name.
-	 * @return com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 * @param definitionName java.lang.String
-	 * @param elementCollection ElementCollection
-	 */
-	public ComplexTypeDefinition createTypeDefinition(String definitionName, ElementCollection elementCollection) {
-		if (definitions.containsKey(definitionName)) {
-			return (ComplexTypeDefinition) definitions.get(definitionName);
-		}
-
-		ComplexTypeDefinition def = null;
-		if (definitionName == CTYPE_ADDRESS) {
-			def = new CtdAddress(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_DEFINITION_LIST) {
-			def = new CtdDl(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_FLOW_CONTAINER) {
-			def = new CtdFlowContainer(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_HEAD) {
-			def = new CtdHead(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_HTML) {
-			def = new CtdHtml(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_INLINE_CONTAINER) {
-			def = new CtdInlineContainer(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_LI_CONTAINER) {
-			def = new CtdLiContainer(elementCollection);
-
-
-		}
-		else if (definitionName == CTYPE_OPTION_CONTAINER) {
-			def = new CtdOptionContainer(elementCollection);
-
-		}
-		else if (definitionName == CTYPE_SELECT) {
-			def = new CtdSelect(elementCollection);
-
-		}
-		else {
-			def = null;
-		}
-		if (def == null)
-			return null; // fail to create.
-		definitions.put(definitionName, def);
-		return def;
-	}
-
-	/**
-	 * For singleton.<br>
-	 * @return com.ibm.sed.contentmodel.html.ComplexTypeDefinitionFactory
-	 */
-	public synchronized static ComplexTypeDefinitionFactory getInstance() {
-		if (instance != null)
-			return instance;
-		instance = new ComplexTypeDefinitionFactory();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdAddress.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdAddress.java
deleted file mode 100644
index 8b2392e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdAddress.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * for ADDRESS.
- */
-final class CtdAddress extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdAddress(ElementCollection elementCollection) {
-		super(elementCollection);
-	}
-
-	/**
-	 * ((%inline) | P)*.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( | )*
-		content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		// (%inline)
-		CMGroupImpl inlines = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		if (inlines == null)
-			return;
-		collection.getInline(inlines);
-		content.appendChild(inlines);
-		// P
-		CMNode p = collection.getNamedItem(CHTMLNamespace.ElementName.P);
-		if (p != null)
-			content.appendChild(p);
-	}
-
-	/**
-	 * ((%inline) | P)*.
-	 * Because %inline; contains #PCDATA, the type is MIXED.
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.MIXED;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_ADDRESS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdDl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdDl.java
deleted file mode 100644
index 51cd5ad..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdDl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * for DL.
- */
-final class CtdDl extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdDl(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = CHTMLNamespace.ElementName.DT;
-	}
-
-	/**
-	 * (DT | DD)+
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( | )+
-		content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED);
-		// DT
-		CMNode dec = collection.getNamedItem(CHTMLNamespace.ElementName.DT);
-		if (dec != null)
-			content.appendChild(dec);
-		// DD
-		dec = collection.getNamedItem(CHTMLNamespace.ElementName.DD);
-		if (dec != null)
-			content.appendChild(dec);
-	}
-
-	/**
-	 * (DT | DD)+.
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_DEFINITION_LIST;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdFlowContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdFlowContainer.java
deleted file mode 100644
index cbf733a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdFlowContainer.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-
-/**
- * Complex type definition for containers of <code>%flow;</code>.
- */
-final class CtdFlowContainer extends ComplexTypeDefinition {
-
-	/**
-	 */
-	public CtdFlowContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-	}
-
-	/**
-	 * (%flow;)*
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		collection.getFlow(content);
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.MIXED;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_FLOW_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdHead.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdHead.java
deleted file mode 100644
index a317235..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdHead.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * Complex type definition for the head content.
- * Content Model: (TITLE & ISINDEX? & BASE?)
- */
-final class CtdHead extends ComplexTypeDefinition {
-
-	/**
-	 */
-	public CtdHead(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = CHTMLNamespace.ElementName.TITLE;
-	}
-
-	/**
-	 * for HEAD.
-	 * To avoid using inclusion, the content model comes from the XHTML 1.0.
-	 *
-	 * (%head.misc;, ((title, %head.misc;, (base, %head.misc;)?) | (base, %head.misc;, (title, %head.misc;))))
-	 * And %head.misc; is:
-	 * (script|style|meta|link|object|isindex)*
-	 *
-	 * 0: (%head.misc, A)
-	 * A: (B | C)
-	 * B: (title, %head.misc;, D)
-	 * C: (base, %head.misc;, E)
-	 * D: (base, %head.misc;)?
-	 * E: (title, %head.misc;)
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// At 1st, create %head.misc; content.
-		// %head.misc;
-		//   ( | )*
-		CMGroupImpl misc = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		if (misc == null)
-			return;
-		String[] names = {CHTMLNamespace.ElementName.META,};
-		collection.getDeclarations(misc, Arrays.asList(names).iterator());
-		// 2nd, get a title
-		CMNode title = collection.getNamedItem(CHTMLNamespace.ElementName.TITLE);
-		// 3rd, get a base
-		CMNode base = collection.getNamedItem(CHTMLNamespace.ElementName.BASE);
-		if (title == null || base == null)
-			return;
-
-		// Top level content is a sequence of %head.misc; and A.
-		// 0: (%head.misc;, A)
-		//   create a sequence
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-		if (content == null)
-			return;
-		//   append %head.misc;
-		content.appendChild(misc);
-		//   create A and append it to the top level.
-		{
-			// A is a choice of B and C.
-			// A: (B | C)
-			//   create a choice
-			CMGroupImpl gA = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-			if (gA == null)
-				return;
-			//   append A to the top level.
-			content.appendChild(gA);
-
-			// create B and append it to A
-			{
-				// B is a sequence of title, %head.misc;, and D.
-				// B: (title, %head.misc;, D)
-				//   create a sequence
-				CMGroupImpl gB = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-				if (gB == null)
-					return;
-				//   append B to A.
-				gA.appendChild(gB);
-
-				//   append title to B
-				gB.appendChild(title);
-				//   append %head.misc; to B
-				gB.appendChild(misc);
-				//   create D and append it to B.
-				{
-					// D is a sequence of base, %head.misc;.
-					// D: (base, %head.misc;)?
-					//   create a sequence
-					CMGroupImpl gD = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1);
-					if (gD == null)
-						return;
-					//   append D to B.
-					gB.appendChild(gD);
-
-					//   append base to D
-					gD.appendChild(base);
-					//   append %head.misc; to D.
-					gD.appendChild(misc);
-				}
-			}
-			// create C and append it to A
-			{
-				// C is a sequence of base, %head.misc;, and E
-				// C: (base, %head.misc;, E)
-				//   create a sequence
-				CMGroupImpl gC = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-				if (gC == null)
-					return;
-				//   append C to A.
-				gA.appendChild(gC);
-
-				//   append base to C
-				gC.appendChild(base);
-				//   append %head.misc; to C
-				gC.appendChild(misc);
-
-				//   create E and append it to C.
-				{
-					// E is a sequence of title and %head.misc;.
-					// E: (title, %head.misc;)
-					//   create a sequence
-					CMGroupImpl gE = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-					if (gE == null)
-						return;
-					//   append E to C.
-					gC.appendChild(gE);
-
-					//   append title to E
-					gE.appendChild(title);
-					//   append %head.misc; to E.
-					gE.appendChild(misc);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Element content.<br>
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_HEAD;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdHtml.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdHtml.java
deleted file mode 100644
index 34db548..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdHtml.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * Complex type definition for <code>HTML</code>.<br>
- * Content Model:
- * HEAD, (FRAMESET|BODY)<br>
- */
-final class CtdHtml extends ComplexTypeDefinition {
-
-	/**
-	 */
-	public CtdHtml(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = CHTMLNamespace.ElementName.HEAD;
-	}
-
-	/**
-	 * (%html.content;).
-	 * %html.content; is HEAD, (FRAMESET | BODY).
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( )
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1);
-		if (content == null)
-			return;
-
-		// HEAD
-		CMNode edec = collection.getNamedItem(CHTMLNamespace.ElementName.HEAD);
-		if (edec != null)
-			content.appendChild(edec);
-
-		// ( | )
-		CMGroupImpl group = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		content.appendChild(group);
-
-		// FRAMESET, BODY
-		String[] names = {CHTMLNamespace.ElementName.BODY};
-		collection.getDeclarations(group, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * Element content.
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_HTML;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdInlineContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdInlineContainer.java
deleted file mode 100644
index b00c3ac..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdInlineContainer.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-
-/**
- * Complex type definition for (%inline;)*.
- */
-final class CtdInlineContainer extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdInlineContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-	}
-
-	/**
-	 * (%inline)*.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
-		collection.getInline(content);
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.MIXED;
-	}
-
-	/**
-	 * @see com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_INLINE_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdLiContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdLiContainer.java
deleted file mode 100644
index 7b8cb71..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdLiContainer.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * List item container.
- * (LI)+
- */
-final class CtdLiContainer extends ComplexTypeDefinition {
-
-	/**
-	 * @param elemenCollection ElementCollection
-	 */
-	public CtdLiContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = CHTMLNamespace.ElementName.LI;
-	}
-
-	/**
-	 * (LI)+.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// (LI)+
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED);
-		CMNode li = collection.getNamedItem(CHTMLNamespace.ElementName.LI);
-		if (li != null)
-			content.appendChild(li);
-	}
-
-	/**
-	 * ELEMENT content.<br>
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_LI_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdOptionContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdOptionContainer.java
deleted file mode 100644
index 45f8430..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdOptionContainer.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * OPTION container.
- * (OPTION)+
- */
-final class CtdOptionContainer extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdOptionContainer(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = CHTMLNamespace.ElementName.OPTION;
-	}
-
-	/**
-	 * (OPTION)+.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( )+
-		content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED);
-		// OPTION
-		CMNode dec = collection.getNamedItem(CHTMLNamespace.ElementName.OPTION);
-		if (dec != null)
-			content.appendChild(dec);
-	}
-
-	/**
-	 * (OPTION)+
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * Name of complex type definition.
-	 * Each singleton must know its own name.
-	 * All names should be defined in
-	 * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br>
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_OPTION_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdSelect.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdSelect.java
deleted file mode 100644
index ea83c59..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/CtdSelect.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * for SELECT.
- */
-final class CtdSelect extends ComplexTypeDefinition {
-
-	/**
-	 * @param elementCollection ElementCollection
-	 */
-	public CtdSelect(ElementCollection elementCollection) {
-		super(elementCollection);
-		primaryCandidateName = CHTMLNamespace.ElementName.OPTION;
-	}
-
-	/**
-	 * (OPTGROUP | OPTION)+.
-	 */
-	protected void createContent() {
-		if (content != null)
-			return; // already created.
-		if (collection == null)
-			return;
-
-		// ( | )+
-		content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED);
-		// OPTION
-		CMNode dec = collection.getNamedItem(CHTMLNamespace.ElementName.OPTION);
-		if (dec != null)
-			content.appendChild(dec);
-	}
-
-	/**
-	 * (OPTGROUP | OPTION)+.
-	 * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA,
-	 * those are defined in CMElementDeclaration.
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.ELEMENT;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public String getTypeName() {
-		return ComplexTypeDefinitionFactory.CTYPE_SELECT;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/DeclCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/DeclCollection.java
deleted file mode 100644
index 62809a8..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/DeclCollection.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- */
-abstract class DeclCollection implements CMNamedNodeMap {
-
-
-	protected class DualMap {
-		public DualMap() {
-			super();
-		}
-
-		public DualMap(Object[] objects) {
-			super();
-			initialize(objects);
-		}
-
-		public int size() {
-			return table.length;
-		}
-
-		public Object getValue(int key) {
-			if (!isValidIndex(key))
-				return null;
-			return table[key];
-		}
-
-		public int getKey(Object value) {
-			Integer keyObj = (Integer) map.get(value);
-			if (keyObj == null)
-				return ID_UNKNOWN;
-			return keyObj.intValue();
-		}
-
-		protected void initialize(Object[] objects) {
-			if (objects == null)
-				return;
-			table = objects;
-			map = new HashMap();
-			for (int key = 0; key < objects.length; key++) {
-				Object value = table[key];
-				map.put(value, new Integer(key));
-			}
-		}
-
-		private Object[] table = null;
-		private HashMap map = null;
-
-		private boolean isValidIndex(int index) {
-			return index >= 0 && index < table.length;
-		}
-	}
-
-	protected class TolerantStringDualMap extends DualMap {
-		public TolerantStringDualMap(String[] names) {
-			super();
-			Object[] objects = new Object[names.length];
-			for (int i = 0; i < names.length; i++) {
-				objects[i] = makeCanonicalForm(names[i]);
-			}
-			initialize(objects);
-		}
-
-		public int getKey(Object value) {
-			try {
-				String name = (String) value;
-				return super.getKey(makeCanonicalForm(name));
-			}
-			catch (ClassCastException e) {
-				return ID_UNKNOWN;
-			}
-		}
-
-		private String makeCanonicalForm(String raw) {
-			return raw.toUpperCase();
-		}
-	}
-
-	private class DeclIterator implements Iterator {
-		public DeclIterator() {
-			maxid = fDecls.length - 1;
-		}
-
-		public boolean hasNext() {
-			return id < maxid;
-		}
-
-		public Object next() {
-			if (!hasNext())
-				return null;
-			return item(++id);
-		}
-
-		public void remove() { /* nothing should be done. */
-		}
-
-		private int id = -1;
-		private int maxid = -1;
-	}
-
-	CMNode[] fDecls = null;
-	protected final static boolean STRICT_CASE = false;
-	protected final static boolean TOLERANT_CASE = true;
-	protected final static int ID_UNKNOWN = -1;
-	private DualMap fMap = null;
-
-	/**
-	 */
-	public DeclCollection(String[] names, boolean tolerant) {
-		super();
-		fDecls = new CMNode[names.length];
-		if (tolerant) {
-			fMap = new TolerantStringDualMap(names);
-		}
-		else {
-			fMap = new DualMap(names);
-		}
-	}
-
-	/**
-	 * @return org.eclipse.wst.common.contentmodel.CMNode
-	 * @param id int
-	 */
-	protected abstract CMNode create(String name);
-
-	/**
-	 */
-	public CMNamedNodeMap getDeclarations(String[] names) {
-		CMNamedNodeMapImpl map = new CMNamedNodeMapImpl();
-		for (int i = 0; i < names.length; i++) {
-			String name = names[i];
-			CMNode node = getNamedItem(name);
-			if (node == null)
-				continue;
-			map.putNamedItem(name, node);
-		}
-		return map;
-	}
-
-	/**
-	 * @param declarations com.ibm.sed.contentmodel.html.CMGroupImpl
-	 * @param names java.util.Iterator
-	 */
-	public void getDeclarations(CMGroupImpl group, Iterator names) {
-		while (names.hasNext()) {
-			String entityName = (String) names.next();
-			CMNode dec = getNamedItem(entityName);
-			if (dec != null)
-				group.appendChild(dec);
-		}
-	}
-
-	/**
-	 * Map name to id.
-	 * @return int
-	 * @param name java.lang.String
-	 */
-	protected int getID(String name) {
-		return fMap.getKey(name);
-	}
-
-	/**
-	 * getLength method
-	 * @return int
-	 */
-	public int getLength() {
-		return fDecls.length;
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param id int
-	 */
-	protected String getName(int id) {
-		return (String) fMap.getValue(id);
-	}
-
-	/**
-	 * getNamedItem method
-	 * @return CMNode
-	 * @param name java.lang.String
-	 */
-	public CMNode getNamedItem(String name) {
-		int id = getID(name);
-		if (!isValidID(id))
-			return null;
-		return item(id);
-	}
-
-	/**
-	 * @return boolean
-	 * @param id int
-	 */
-	private boolean isValidID(int id) {
-		return id >= 0 && id < fDecls.length;
-	}
-
-	/**
-	 * item method
-	 * @return CMNode
-	 * @param index int
-	 */
-	public CMNode item(int index) {
-		if (!isValidID(index))
-			return null;
-		CMNode decl = fDecls[index];
-		if (decl != null)
-			return decl; // already exist.
-
-		decl = create(getName(index));
-		fDecls[index] = decl;
-		return decl;
-	}
-
-	/**
-	 */
-	public Iterator iterator() {
-		return new DeclIterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/ElementCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/ElementCollection.java
deleted file mode 100644
index 8548064..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/ElementCollection.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.lang.reflect.Field;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * Factory for element declarations.
- */
-final class ElementCollection extends DeclCollection implements org.eclipse.wst.html.core.HTML40Namespace.ElementName {
-
-
-	// Element IDs
-	private static class Ids {
-		public static final int ID_A = 0;
-		public static final int ID_ADDRESS = 1;
-		public static final int ID_BASE = 2;
-		public static final int ID_BLOCKQUOTE = 3;
-		public static final int ID_BODY = 4;
-		public static final int ID_BR = 5;
-		public static final int ID_CENTER = 6;
-		public static final int ID_DD = 7;
-		public static final int ID_DIR = 8;
-		public static final int ID_DIV = 9;
-		public static final int ID_DL = 10;
-		public static final int ID_DT = 11;
-		public static final int ID_FORM = 12;
-		public static final int ID_H1 = 13;
-		public static final int ID_H2 = 14;
-		public static final int ID_H3 = 15;
-		public static final int ID_H4 = 16;
-		public static final int ID_H5 = 17;
-		public static final int ID_H6 = 18;
-		public static final int ID_HEAD = 19;
-		public static final int ID_HR = 20;
-		public static final int ID_HTML = 21;
-		public static final int ID_IMG = 22;
-		public static final int ID_INPUT = 23;
-		public static final int ID_LI = 24;
-		public static final int ID_MENU = 25;
-		public static final int ID_META = 26;
-		public static final int ID_OL = 27;
-		public static final int ID_OPTION = 28;
-		public static final int ID_P = 29;
-		public static final int ID_PRE = 30;
-		public static final int ID_SELECT = 31;
-		public static final int ID_TEXTAREA = 32;
-		public static final int ID_TITLE = 33;
-		public static final int ID_UL = 34;
-		public static final int ID_SSI_CONFIG = 35;
-		public static final int ID_SSI_ECHO = 36;
-		public static final int ID_SSI_EXEC = 37;
-		public static final int ID_SSI_FSIZE = 38;
-		public static final int ID_SSI_FLASTMOD = 39;
-		public static final int ID_SSI_INCLUDE = 40;
-		public static final int ID_SSI_PRINTENV = 41;
-		public static final int ID_SSI_SET = 42;
-
-		public static int getNumOfIds() {
-			if (numofids != -1)
-				return numofids;
-
-			// NOTE: If the reflection is too slow, this method should
-			// just return the literal value, like 105.
-			// -- 5/25/2001
-			Class clazz = Ids.class;
-			Field[] fields = clazz.getFields();
-			numofids = 0;
-			for (int i = 0; i < fields.length; i++) {
-				String name = fields[i].getName();
-				if (name.startsWith("ID_"))//$NON-NLS-1$
-					numofids++;
-			}
-			return numofids;
-		}
-
-		// chache the result of the reflection.
-		private static int numofids = -1;
-	}
-
-	/** %formctl;. INPUT | SELECT | TEXTAREA */
-	private static final String[] FORMCTL = {INPUT, SELECT, TEXTAREA};
-	/** %phrase;.
-	 * DFN
-	 */
-	private static final String[] PHRASE = {DFN};
-	/** %special;.
-	 * A | IMG | BR
-	 */
-	private static final String[] SPECIAL = {A, IMG, BR};
-	/** %heading;. H[1-6] */
-	private static final String[] HEADING = {H1, H2, H3, H4, H5, H6};
-	/** %list;. UL | OL | DIR | MENU */
-	private static final String[] LIST = {UL, OL, DIR, MENU};
-	/** %preformatted;. PRE */
-	private static final String[] PREFORMATTED = {PRE};
-	private AttributeCollection attributeCollection = null;
-	private static String[] names = null;
-
-	static {
-		names = new String[Ids.getNumOfIds()];
-		names[Ids.ID_A] = A;
-		names[Ids.ID_ADDRESS] = ADDRESS;
-		names[Ids.ID_BASE] = BASE;
-		names[Ids.ID_BLOCKQUOTE] = BLOCKQUOTE;
-		names[Ids.ID_BODY] = BODY;
-		names[Ids.ID_BR] = BR;
-		names[Ids.ID_CENTER] = CENTER;
-		names[Ids.ID_DD] = DD;
-		names[Ids.ID_DIR] = DIR;
-		names[Ids.ID_DIV] = DIV;
-		names[Ids.ID_DL] = DL;
-		names[Ids.ID_DT] = DT;
-		names[Ids.ID_FORM] = FORM;
-		names[Ids.ID_H1] = H1;
-		names[Ids.ID_H2] = H2;
-		names[Ids.ID_H3] = H3;
-		names[Ids.ID_H4] = H4;
-		names[Ids.ID_H5] = H5;
-		names[Ids.ID_H6] = H6;
-		names[Ids.ID_HEAD] = HEAD;
-		names[Ids.ID_HR] = HR;
-		names[Ids.ID_HTML] = HTML;
-		names[Ids.ID_IMG] = IMG;
-		names[Ids.ID_INPUT] = INPUT;
-		names[Ids.ID_LI] = LI;
-		names[Ids.ID_MENU] = MENU;
-		names[Ids.ID_META] = META;
-		names[Ids.ID_OL] = OL;
-		names[Ids.ID_OPTION] = OPTION;
-		names[Ids.ID_P] = P;
-		names[Ids.ID_PRE] = PRE;
-		names[Ids.ID_SELECT] = SELECT;
-		names[Ids.ID_TEXTAREA] = TEXTAREA;
-		names[Ids.ID_TITLE] = TITLE;
-		names[Ids.ID_UL] = UL;
-		names[Ids.ID_SSI_CONFIG] = SSI_CONFIG;
-		names[Ids.ID_SSI_ECHO] = SSI_ECHO;
-		names[Ids.ID_SSI_EXEC] = SSI_EXEC;
-		names[Ids.ID_SSI_FSIZE] = SSI_FSIZE;
-		names[Ids.ID_SSI_FLASTMOD] = SSI_FLASTMOD;
-		names[Ids.ID_SSI_INCLUDE] = SSI_INCLUDE;
-		names[Ids.ID_SSI_PRINTENV] = SSI_PRINTENV;
-		names[Ids.ID_SSI_SET] = SSI_SET;
-	}
-
-	/**
-	 */
-	public ElementCollection(AttributeCollection collection) {
-		super(names, TOLERANT_CASE);
-		attributeCollection = collection;
-	}
-
-	/**
-	 * Actually creates HTMLElementDeclaration instance.
-	 * @return HTMLElementDeclaration
-	 */
-	protected CMNode create(String elementName) {
-		HTMLElemDeclImpl edec = null;
-
-		if (elementName.equalsIgnoreCase(A)) {
-			edec = new HedA(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(ADDRESS)) {
-			edec = new HedADDRESS(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BASE)) {
-			edec = new HedBASE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BLOCKQUOTE)) {
-			edec = new HedBLOCKQUOTE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BODY)) {
-			edec = new HedBODY(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(BR)) {
-			edec = new HedBR(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(CENTER)) {
-			edec = new HedCENTER(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DD)) {
-			edec = new HedDD(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DIR)) {
-			edec = new HedMENU(DIR, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DIV)) {
-			edec = new HedDIV(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DL)) {
-			edec = new HedDL(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(DT)) {
-			edec = new HedDT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(FORM)) {
-			edec = new HedFORM(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H1)) {
-			edec = new HedHeading(H1, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H2)) {
-			edec = new HedHeading(H2, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H3)) {
-			edec = new HedHeading(H3, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H4)) {
-			edec = new HedHeading(H4, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H5)) {
-			edec = new HedHeading(H5, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(H6)) {
-			edec = new HedHeading(H6, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(HEAD)) {
-			edec = new HedHEAD(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(HR)) {
-			edec = new HedHR(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(HTML)) {
-			edec = new HedHTML(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(IMG)) {
-			edec = new HedIMG(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(INPUT)) {
-			edec = new HedINPUT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(LI)) {
-			edec = new HedLI(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(MENU)) {
-			edec = new HedMENU(MENU, this);
-
-		}
-		else if (elementName.equalsIgnoreCase(META)) {
-			edec = new HedMETA(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(OL)) {
-			edec = new HedOL(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(OPTION)) {
-			edec = new HedOPTION(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(P)) {
-			edec = new HedP(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(PRE)) {
-			edec = new HedPRE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SELECT)) {
-			edec = new HedSELECT(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TEXTAREA)) {
-			edec = new HedTEXTAREA(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(TITLE)) {
-			edec = new HedTITLE(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(UL)) {
-			edec = new HedUL(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_CONFIG)) {
-			edec = new HedSSIConfig(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_ECHO)) {
-			edec = new HedSSIEcho(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_EXEC)) {
-			edec = new HedSSIExec(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_FSIZE)) {
-			edec = new HedSSIFsize(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_FLASTMOD)) {
-			edec = new HedSSIFlastmod(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_INCLUDE)) {
-			edec = new HedSSIInclude(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_PRINTENV)) {
-			edec = new HedSSIPrintenv(this);
-
-		}
-		else if (elementName.equalsIgnoreCase(SSI_SET)) {
-			edec = new HedSSISet(this);
-
-		} // unknown
-		else {
-			// NOTE: We don't define the UNKNOWN element declaration.
-			// <code>null</code> for a declaration is a sign of
-			// the target element is unknown.
-			// -- 3/9/2001
-			edec = null;
-		}
-		return edec;
-	}
-
-	/**
-	 * @return com.ibm.sed.contentmodel.html.AttributeCollection
-	 */
-	public AttributeCollection getAttributeCollection() {
-		return attributeCollection;
-	}
-
-	/**
-	 */
-	public final Collection getNamesOfBlock() {
-		// P | %list | %preformatted | DL | DIV | CENTER | BLOCKQUOTE | FORM | HR
-		String[] blockMisc = {P, DL, DIV, CENTER, BLOCKQUOTE, FORM, HR,};
-		Vector blockNames = new Vector(Arrays.asList(blockMisc));
-		// %heading;
-		blockNames.addAll(Arrays.asList(HEADING));
-		// %list;
-		blockNames.addAll(Arrays.asList(LIST));
-		// %preformatted;
-		blockNames.addAll(Arrays.asList(PREFORMATTED));
-
-		return blockNames;
-	}
-
-	/**
-	 * %block;.
-	 * %block; is:
-	 * P | %heading; | %list; | %preformatted; | DL | DIV | CENTER |
-	 * NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR |
-	 * TABLE | FIELDSET | ADDRESS.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getBlock(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getDeclarations(group, getNamesOfBlock().iterator());
-	}
-
-	/**
-	 * Create element declarations and store them
-	 * into a <code>CMGroupImpl</code> instance.
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getFlow(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getBlock(group);
-		getInline(group);
-	}
-
-	/**
-	 * Create element declarations and store them into a <code>CMGroupImpl</code>
-	 * instance.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getFontstyle(CMGroupImpl group) {
-		return;
-	}
-
-	/**
-	 * Create element declarations and store them into a <code>CMGroupImpl</code>
-	 * instance.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getFormctrl(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getDeclarations(group, Arrays.asList(FORMCTL).iterator());
-	}
-
-	/**
-	 * %heading;.
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getHeading(CMGroupImpl group) {
-		if (group == null)
-			return;
-
-		getDeclarations(group, Arrays.asList(HEADING).iterator());
-	}
-
-	/**
-	 * Create element declarations and store them
-	 * into a <code>CMGroupImpl</code> instance.
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getInline(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getFontstyle(group);
-		getPhrase(group);
-		getSpecial(group);
-		getFormctrl(group);
-	}
-
-	/**
-	 * %list;.
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getList(CMGroupImpl group) {
-		if (group == null)
-			return;
-
-		getDeclarations(group, Arrays.asList(LIST).iterator());
-	}
-
-	/**
-	 * Create element declarations and store them into a <code>CMGroupImpl</code>
-	 * instance.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getPhrase(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getDeclarations(group, Arrays.asList(PHRASE).iterator());
-	}
-
-	/**
-	 * %preformatted;
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getPreformatted(CMGroupImpl group) {
-		if (group == null)
-			return;
-
-		getDeclarations(group, Arrays.asList(PREFORMATTED).iterator());
-	}
-
-	/**
-	 * Create element declarations and store them into a <code>CMGroupImpl</code>
-	 * instance.<br>
-	 * @param group CMGroupImpl Return values.
-	 */
-	public final void getSpecial(CMGroupImpl group) {
-		if (group == null)
-			return;
-		getDeclarations(group, Arrays.asList(SPECIAL).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/EntityCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/EntityCollection.java
deleted file mode 100644
index 1ae0925..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/EntityCollection.java
+++ /dev/null
@@ -1,837 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.lang.reflect.Field;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * Factory for entity declarations.
- */
-final class EntityCollection extends DeclCollection implements org.eclipse.wst.html.core.HTML40Namespace.EntityName {
-
-
-	private static class Ids {
-		public static final int ID_AACUTE_L = 0;
-		public static final int ID_AACUTE_U = 1;
-		public static final int ID_ACIRC_L = 2;
-		public static final int ID_ACIRC_U = 3;
-		public static final int ID_ACUTE = 4;
-		public static final int ID_AELIG_L = 5;
-		public static final int ID_AELIG_U = 6;
-		public static final int ID_AGRAVE_L = 7;
-		public static final int ID_AGRAVE_U = 8;
-		public static final int ID_ALEFSYM = 9;
-		public static final int ID_ALPHA_L = 10;
-		public static final int ID_ALPHA_U = 11;
-		public static final int ID_AMP = 12;
-		public static final int ID_AND = 13;
-		public static final int ID_ANG = 14;
-		public static final int ID_ARING_L = 15;
-		public static final int ID_ARING_U = 16;
-		public static final int ID_ASYMP = 17;
-		public static final int ID_ATILDE_L = 18;
-		public static final int ID_ATILDE_U = 19;
-		public static final int ID_AUML_L = 20;
-		public static final int ID_AUML_U = 21;
-		public static final int ID_BDQUO = 22;
-		public static final int ID_BETA_L = 23;
-		public static final int ID_BETA_U = 24;
-		public static final int ID_BRVBAR = 25;
-		public static final int ID_BULL = 26;
-		public static final int ID_CAP = 27;
-		public static final int ID_CCEDIL_L = 28;
-		public static final int ID_CCEDIL_U = 29;
-		public static final int ID_CEDIL = 30;
-		public static final int ID_CENT = 31;
-		public static final int ID_CHI_L = 32;
-		public static final int ID_CHI_U = 33;
-		public static final int ID_CIRC = 34;
-		public static final int ID_CLUBS = 35;
-		public static final int ID_CONG = 36;
-		public static final int ID_COPY = 37;
-		public static final int ID_CRARR = 38;
-		public static final int ID_CUP = 39;
-		public static final int ID_CURREN = 40;
-		public static final int ID_DAGGER_L = 41;
-		public static final int ID_DAGGER_U = 42;
-		public static final int ID_DARR_L = 43;
-		public static final int ID_DARR_U = 44;
-		public static final int ID_DEG = 45;
-		public static final int ID_DELTA_L = 46;
-		public static final int ID_DELTA_U = 47;
-		public static final int ID_DIAMS = 48;
-		public static final int ID_DIVIDE = 49;
-		public static final int ID_EACUTE_L = 50;
-		public static final int ID_EACUTE_U = 51;
-		public static final int ID_ECIRC_L = 52;
-		public static final int ID_ECIRC_U = 53;
-		public static final int ID_EGRAVE_L = 54;
-		public static final int ID_EGRAVE_U = 55;
-		public static final int ID_EMPTY = 56;
-		public static final int ID_EMSP = 57;
-		public static final int ID_ENSP = 58;
-		public static final int ID_EPSILON_L = 59;
-		public static final int ID_EPSILON_U = 60;
-		public static final int ID_EQUIV = 61;
-		public static final int ID_ETA_L = 62;
-		public static final int ID_ETA_U = 63;
-		public static final int ID_ETH_L = 64;
-		public static final int ID_ETH_U = 65;
-		public static final int ID_EUML_L = 66;
-		public static final int ID_EUML_U = 67;
-		public static final int ID_EURO = 68;
-		public static final int ID_EXIST = 69;
-		public static final int ID_FNOF = 70;
-		public static final int ID_FORALL = 71;
-		public static final int ID_FRAC12 = 72;
-		public static final int ID_FRAC14 = 73;
-		public static final int ID_FRAC34 = 74;
-		public static final int ID_FRASL = 75;
-		public static final int ID_GAMMA_L = 76;
-		public static final int ID_GAMMA_U = 77;
-		public static final int ID_GE = 78;
-		public static final int ID_GT = 79;
-		public static final int ID_HARR_L = 80;
-		public static final int ID_HARR_U = 81;
-		public static final int ID_HEARTS = 82;
-		public static final int ID_HELLIP = 83;
-		public static final int ID_IACUTE_L = 84;
-		public static final int ID_IACUTE_U = 85;
-		public static final int ID_ICIRC_L = 86;
-		public static final int ID_ICIRC_U = 87;
-		public static final int ID_IEXCL = 88;
-		public static final int ID_IGRAVE_L = 89;
-		public static final int ID_IGRAVE_U = 90;
-		public static final int ID_IMAGE = 91;
-		public static final int ID_INFIN = 92;
-		public static final int ID_INT = 93;
-		public static final int ID_IOTA_L = 94;
-		public static final int ID_IOTA_U = 95;
-		public static final int ID_IQUEST = 96;
-		public static final int ID_ISIN = 97;
-		public static final int ID_IUML_L = 98;
-		public static final int ID_IUML_U = 99;
-		public static final int ID_KAPPA_L = 100;
-		public static final int ID_KAPPA_U = 101;
-		public static final int ID_LAMBDA_L = 102;
-		public static final int ID_LAMBDA_U = 103;
-		public static final int ID_LANG = 104;
-		public static final int ID_LAQUO = 105;
-		public static final int ID_LARR_L = 106;
-		public static final int ID_LARR_U = 107;
-		public static final int ID_LCEIL = 108;
-		public static final int ID_LDQUO = 109;
-		public static final int ID_LE = 110;
-		public static final int ID_LFLOOR = 111;
-		public static final int ID_LOWAST = 112;
-		public static final int ID_LOZ = 113;
-		public static final int ID_LRM = 114;
-		public static final int ID_LSAQUO = 115;
-		public static final int ID_LSQUO = 116;
-		public static final int ID_LT = 117;
-		public static final int ID_MACR = 118;
-		public static final int ID_MDASH = 119;
-		public static final int ID_MICRO = 120;
-		public static final int ID_MIDDOT = 121;
-		public static final int ID_MINUS = 122;
-		public static final int ID_MU_L = 123;
-		public static final int ID_MU_U = 124;
-		public static final int ID_NABLA = 125;
-		public static final int ID_NBSP = 126;
-		public static final int ID_NDASH = 127;
-		public static final int ID_NE = 128;
-		public static final int ID_NI = 129;
-		public static final int ID_NOT = 130;
-		public static final int ID_NOTIN = 131;
-		public static final int ID_NSUB = 132;
-		public static final int ID_NTILDE_L = 133;
-		public static final int ID_NTILDE_U = 134;
-		public static final int ID_NU_L = 135;
-		public static final int ID_NU_U = 136;
-		public static final int ID_OACUTE_L = 137;
-		public static final int ID_OACUTE_U = 138;
-		public static final int ID_OCIRC_L = 139;
-		public static final int ID_OCIRC_U = 140;
-		public static final int ID_OELIG_L = 141;
-		public static final int ID_OELIG_U = 142;
-		public static final int ID_OGRAVE_L = 143;
-		public static final int ID_OGRAVE_U = 144;
-		public static final int ID_OLINE = 145;
-		public static final int ID_OMEGA_L = 146;
-		public static final int ID_OMEGA_U = 147;
-		public static final int ID_OMICRON_L = 148;
-		public static final int ID_OMICRON_U = 149;
-		public static final int ID_OPLUS = 150;
-		public static final int ID_OR = 151;
-		public static final int ID_ORDF = 152;
-		public static final int ID_ORDM = 153;
-		public static final int ID_OSLASH_L = 154;
-		public static final int ID_OSLASH_U = 155;
-		public static final int ID_OTILDE_L = 156;
-		public static final int ID_OTILDE_U = 157;
-		public static final int ID_OTIMES = 158;
-		public static final int ID_OUML_L = 159;
-		public static final int ID_OUML_U = 160;
-		public static final int ID_PARA = 161;
-		public static final int ID_PART = 162;
-		public static final int ID_PERMIL = 163;
-		public static final int ID_PERP = 164;
-		public static final int ID_PHI_L = 165;
-		public static final int ID_PHI_U = 166;
-		public static final int ID_PIV = 167;
-		public static final int ID_PI_L = 168;
-		public static final int ID_PI_U = 169;
-		public static final int ID_PLUSMN = 170;
-		public static final int ID_POUND = 171;
-		public static final int ID_PRIME_L = 172;
-		public static final int ID_PRIME_U = 173;
-		public static final int ID_PROD = 174;
-		public static final int ID_PROP = 175;
-		public static final int ID_PSI_L = 176;
-		public static final int ID_PSI_U = 177;
-		public static final int ID_QUOT = 178;
-		public static final int ID_RADIC = 179;
-		public static final int ID_RANG = 180;
-		public static final int ID_RAQUO = 181;
-		public static final int ID_RARR_L = 182;
-		public static final int ID_RARR_U = 183;
-		public static final int ID_RCEIL = 184;
-		public static final int ID_RDQUO = 185;
-		public static final int ID_REAL = 186;
-		public static final int ID_REG = 187;
-		public static final int ID_RFLOOR = 188;
-		public static final int ID_RHO_L = 189;
-		public static final int ID_RHO_U = 190;
-		public static final int ID_RLM = 191;
-		public static final int ID_RSAQUO = 192;
-		public static final int ID_RSQUO = 193;
-		public static final int ID_SBQUO = 194;
-		public static final int ID_SCARON_L = 195;
-		public static final int ID_SCARON_U = 196;
-		public static final int ID_SDOT = 197;
-		public static final int ID_SECT = 198;
-		public static final int ID_SHY = 199;
-		public static final int ID_SIGMAF = 200;
-		public static final int ID_SIGMA_L = 201;
-		public static final int ID_SIGMA_U = 202;
-		public static final int ID_SIM = 203;
-		public static final int ID_SPADES = 204;
-		public static final int ID_SUB = 205;
-		public static final int ID_SUBE = 206;
-		public static final int ID_SUM = 207;
-		public static final int ID_SUP = 208;
-		public static final int ID_SUP1 = 209;
-		public static final int ID_SUP2 = 210;
-		public static final int ID_SUP3 = 211;
-		public static final int ID_SUPE = 212;
-		public static final int ID_SZLIG = 213;
-		public static final int ID_TAU_L = 214;
-		public static final int ID_TAU_U = 215;
-		public static final int ID_THERE4 = 216;
-		public static final int ID_THETASYM = 217;
-		public static final int ID_THETA_L = 218;
-		public static final int ID_THETA_U = 219;
-		public static final int ID_THINSP = 220;
-		public static final int ID_THORN_L = 221;
-		public static final int ID_THORN_U = 222;
-		public static final int ID_TILDE = 223;
-		public static final int ID_TIMES = 224;
-		public static final int ID_TRADE = 225;
-		public static final int ID_UACUTE_L = 226;
-		public static final int ID_UACUTE_U = 227;
-		public static final int ID_UARR_L = 228;
-		public static final int ID_UARR_U = 229;
-		public static final int ID_UCIRC_L = 230;
-		public static final int ID_UCIRC_U = 231;
-		public static final int ID_UGRAVE_L = 232;
-		public static final int ID_UGRAVE_U = 233;
-		public static final int ID_UML = 234;
-		public static final int ID_UPSIH = 235;
-		public static final int ID_UPSILON_L = 236;
-		public static final int ID_UPSILON_U = 237;
-		public static final int ID_UUML_L = 238;
-		public static final int ID_UUML_U = 239;
-		public static final int ID_WEIERP = 240;
-		public static final int ID_XI_L = 241;
-		public static final int ID_XI_U = 242;
-		public static final int ID_YACUTE_L = 243;
-		public static final int ID_YACUTE_U = 244;
-		public static final int ID_YEN = 245;
-		public static final int ID_YUML_L = 246;
-		public static final int ID_YUML_U = 247;
-		public static final int ID_ZETA_L = 248;
-		public static final int ID_ZETA_U = 249;
-		public static final int ID_ZWJ = 250;
-		public static final int ID_ZWNJ = 251;
-
-		public static int getNumOfIds() {
-			if (numofids != -1)
-				return numofids;
-
-			// NOTE: If the reflection is too slow, this method should
-			// just return the literal value, like 252.
-			// -- 5/24/2001
-			Class clazz = Ids.class;
-			Field[] fields = clazz.getFields();
-			numofids = 0;
-			for (int i = 0; i < fields.length; i++) {
-				String name = fields[i].getName();
-				if (name.startsWith("ID_"))//$NON-NLS-1$
-					numofids++;
-			}
-			return numofids;
-		}
-
-		// chache the result of the reflection.
-		private static int numofids = -1;
-	}
-
-	private static String[] names = null;
-
-	static {
-		names = new String[Ids.getNumOfIds()];
-		names[Ids.ID_AACUTE_L] = AACUTE_L;
-		names[Ids.ID_AACUTE_U] = AACUTE_U;
-		names[Ids.ID_ACIRC_L] = ACIRC_L;
-		names[Ids.ID_ACIRC_U] = ACIRC_U;
-		names[Ids.ID_ACUTE] = ACUTE;
-		names[Ids.ID_AELIG_L] = AELIG_L;
-		names[Ids.ID_AELIG_U] = AELIG_U;
-		names[Ids.ID_AGRAVE_L] = AGRAVE_L;
-		names[Ids.ID_AGRAVE_U] = AGRAVE_U;
-		names[Ids.ID_ALEFSYM] = ALEFSYM;
-		names[Ids.ID_ALPHA_L] = ALPHA_L;
-		names[Ids.ID_ALPHA_U] = ALPHA_U;
-		names[Ids.ID_AMP] = AMP;
-		names[Ids.ID_AND] = AND;
-		names[Ids.ID_ANG] = ANG;
-		names[Ids.ID_ARING_L] = ARING_L;
-		names[Ids.ID_ARING_U] = ARING_U;
-		names[Ids.ID_ASYMP] = ASYMP;
-		names[Ids.ID_ATILDE_L] = ATILDE_L;
-		names[Ids.ID_ATILDE_U] = ATILDE_U;
-		names[Ids.ID_AUML_L] = AUML_L;
-		names[Ids.ID_AUML_U] = AUML_U;
-		names[Ids.ID_BDQUO] = BDQUO;
-		names[Ids.ID_BETA_L] = BETA_L;
-		names[Ids.ID_BETA_U] = BETA_U;
-		names[Ids.ID_BRVBAR] = BRVBAR;
-		names[Ids.ID_BULL] = BULL;
-		names[Ids.ID_CAP] = CAP;
-		names[Ids.ID_CCEDIL_L] = CCEDIL_L;
-		names[Ids.ID_CCEDIL_U] = CCEDIL_U;
-		names[Ids.ID_CEDIL] = CEDIL;
-		names[Ids.ID_CENT] = CENT;
-		names[Ids.ID_CHI_L] = CHI_L;
-		names[Ids.ID_CHI_U] = CHI_U;
-		names[Ids.ID_CIRC] = CIRC;
-		names[Ids.ID_CLUBS] = CLUBS;
-		names[Ids.ID_CONG] = CONG;
-		names[Ids.ID_COPY] = COPY;
-		names[Ids.ID_CRARR] = CRARR;
-		names[Ids.ID_CUP] = CUP;
-		names[Ids.ID_CURREN] = CURREN;
-		names[Ids.ID_DAGGER_L] = DAGGER_L;
-		names[Ids.ID_DAGGER_U] = DAGGER_U;
-		names[Ids.ID_DARR_L] = DARR_L;
-		names[Ids.ID_DARR_U] = DARR_U;
-		names[Ids.ID_DEG] = DEG;
-		names[Ids.ID_DELTA_L] = DELTA_L;
-		names[Ids.ID_DELTA_U] = DELTA_U;
-		names[Ids.ID_DIAMS] = DIAMS;
-		names[Ids.ID_DIVIDE] = DIVIDE;
-		names[Ids.ID_EACUTE_L] = EACUTE_L;
-		names[Ids.ID_EACUTE_U] = EACUTE_U;
-		names[Ids.ID_ECIRC_L] = ECIRC_L;
-		names[Ids.ID_ECIRC_U] = ECIRC_U;
-		names[Ids.ID_EGRAVE_L] = EGRAVE_L;
-		names[Ids.ID_EGRAVE_U] = EGRAVE_U;
-		names[Ids.ID_EMPTY] = EMPTY;
-		names[Ids.ID_EMSP] = EMSP;
-		names[Ids.ID_ENSP] = ENSP;
-		names[Ids.ID_EPSILON_L] = EPSILON_L;
-		names[Ids.ID_EPSILON_U] = EPSILON_U;
-		names[Ids.ID_EQUIV] = EQUIV;
-		names[Ids.ID_ETA_L] = ETA_L;
-		names[Ids.ID_ETA_U] = ETA_U;
-		names[Ids.ID_ETH_L] = ETH_L;
-		names[Ids.ID_ETH_U] = ETH_U;
-		names[Ids.ID_EUML_L] = EUML_L;
-		names[Ids.ID_EUML_U] = EUML_U;
-		names[Ids.ID_EURO] = EURO;
-		names[Ids.ID_EXIST] = EXIST;
-		names[Ids.ID_FNOF] = FNOF;
-		names[Ids.ID_FORALL] = FORALL;
-		names[Ids.ID_FRAC12] = FRAC12;
-		names[Ids.ID_FRAC14] = FRAC14;
-		names[Ids.ID_FRAC34] = FRAC34;
-		names[Ids.ID_FRASL] = FRASL;
-		names[Ids.ID_GAMMA_L] = GAMMA_L;
-		names[Ids.ID_GAMMA_U] = GAMMA_U;
-		names[Ids.ID_GE] = GE;
-		names[Ids.ID_GT] = GT;
-		names[Ids.ID_HARR_L] = HARR_L;
-		names[Ids.ID_HARR_U] = HARR_U;
-		names[Ids.ID_HEARTS] = HEARTS;
-		names[Ids.ID_HELLIP] = HELLIP;
-		names[Ids.ID_IACUTE_L] = IACUTE_L;
-		names[Ids.ID_IACUTE_U] = IACUTE_U;
-		names[Ids.ID_ICIRC_L] = ICIRC_L;
-		names[Ids.ID_ICIRC_U] = ICIRC_U;
-		names[Ids.ID_IEXCL] = IEXCL;
-		names[Ids.ID_IGRAVE_L] = IGRAVE_L;
-		names[Ids.ID_IGRAVE_U] = IGRAVE_U;
-		names[Ids.ID_IMAGE] = IMAGE;
-		names[Ids.ID_INFIN] = INFIN;
-		names[Ids.ID_INT] = INT;
-		names[Ids.ID_IOTA_L] = IOTA_L;
-		names[Ids.ID_IOTA_U] = IOTA_U;
-		names[Ids.ID_IQUEST] = IQUEST;
-		names[Ids.ID_ISIN] = ISIN;
-		names[Ids.ID_IUML_L] = IUML_L;
-		names[Ids.ID_IUML_U] = IUML_U;
-		names[Ids.ID_KAPPA_L] = KAPPA_L;
-		names[Ids.ID_KAPPA_U] = KAPPA_U;
-		names[Ids.ID_LAMBDA_L] = LAMBDA_L;
-		names[Ids.ID_LAMBDA_U] = LAMBDA_U;
-		names[Ids.ID_LANG] = LANG;
-		names[Ids.ID_LAQUO] = LAQUO;
-		names[Ids.ID_LARR_L] = LARR_L;
-		names[Ids.ID_LARR_U] = LARR_U;
-		names[Ids.ID_LCEIL] = LCEIL;
-		names[Ids.ID_LDQUO] = LDQUO;
-		names[Ids.ID_LE] = LE;
-		names[Ids.ID_LFLOOR] = LFLOOR;
-		names[Ids.ID_LOWAST] = LOWAST;
-		names[Ids.ID_LOZ] = LOZ;
-		names[Ids.ID_LRM] = LRM;
-		names[Ids.ID_LSAQUO] = LSAQUO;
-		names[Ids.ID_LSQUO] = LSQUO;
-		names[Ids.ID_LT] = LT;
-		names[Ids.ID_MACR] = MACR;
-		names[Ids.ID_MDASH] = MDASH;
-		names[Ids.ID_MICRO] = MICRO;
-		names[Ids.ID_MIDDOT] = MIDDOT;
-		names[Ids.ID_MINUS] = MINUS;
-		names[Ids.ID_MU_L] = MU_L;
-		names[Ids.ID_MU_U] = MU_U;
-		names[Ids.ID_NABLA] = NABLA;
-		names[Ids.ID_NBSP] = NBSP;
-		names[Ids.ID_NDASH] = NDASH;
-		names[Ids.ID_NE] = NE;
-		names[Ids.ID_NI] = NI;
-		names[Ids.ID_NOT] = NOT;
-		names[Ids.ID_NOTIN] = NOTIN;
-		names[Ids.ID_NSUB] = NSUB;
-		names[Ids.ID_NTILDE_L] = NTILDE_L;
-		names[Ids.ID_NTILDE_U] = NTILDE_U;
-		names[Ids.ID_NU_L] = NU_L;
-		names[Ids.ID_NU_U] = NU_U;
-		names[Ids.ID_OACUTE_L] = OACUTE_L;
-		names[Ids.ID_OACUTE_U] = OACUTE_U;
-		names[Ids.ID_OCIRC_L] = OCIRC_L;
-		names[Ids.ID_OCIRC_U] = OCIRC_U;
-		names[Ids.ID_OELIG_L] = OELIG_L;
-		names[Ids.ID_OELIG_U] = OELIG_U;
-		names[Ids.ID_OGRAVE_L] = OGRAVE_L;
-		names[Ids.ID_OGRAVE_U] = OGRAVE_U;
-		names[Ids.ID_OLINE] = OLINE;
-		names[Ids.ID_OMEGA_L] = OMEGA_L;
-		names[Ids.ID_OMEGA_U] = OMEGA_U;
-		names[Ids.ID_OMICRON_L] = OMICRON_L;
-		names[Ids.ID_OMICRON_U] = OMICRON_U;
-		names[Ids.ID_OPLUS] = OPLUS;
-		names[Ids.ID_OR] = OR;
-		names[Ids.ID_ORDF] = ORDF;
-		names[Ids.ID_ORDM] = ORDM;
-		names[Ids.ID_OSLASH_L] = OSLASH_L;
-		names[Ids.ID_OSLASH_U] = OSLASH_U;
-		names[Ids.ID_OTILDE_L] = OTILDE_L;
-		names[Ids.ID_OTILDE_U] = OTILDE_U;
-		names[Ids.ID_OTIMES] = OTIMES;
-		names[Ids.ID_OUML_L] = OUML_L;
-		names[Ids.ID_OUML_U] = OUML_U;
-		names[Ids.ID_PARA] = PARA;
-		names[Ids.ID_PART] = PART;
-		names[Ids.ID_PERMIL] = PERMIL;
-		names[Ids.ID_PERP] = PERP;
-		names[Ids.ID_PHI_L] = PHI_L;
-		names[Ids.ID_PHI_U] = PHI_U;
-		names[Ids.ID_PIV] = PIV;
-		names[Ids.ID_PI_L] = PI_L;
-		names[Ids.ID_PI_U] = PI_U;
-		names[Ids.ID_PLUSMN] = PLUSMN;
-		names[Ids.ID_POUND] = POUND;
-		names[Ids.ID_PRIME_L] = PRIME_L;
-		names[Ids.ID_PRIME_U] = PRIME_U;
-		names[Ids.ID_PROD] = PROD;
-		names[Ids.ID_PROP] = PROP;
-		names[Ids.ID_PSI_L] = PSI_L;
-		names[Ids.ID_PSI_U] = PSI_U;
-		names[Ids.ID_QUOT] = QUOT;
-		names[Ids.ID_RADIC] = RADIC;
-		names[Ids.ID_RANG] = RANG;
-		names[Ids.ID_RAQUO] = RAQUO;
-		names[Ids.ID_RARR_L] = RARR_L;
-		names[Ids.ID_RARR_U] = RARR_U;
-		names[Ids.ID_RCEIL] = RCEIL;
-		names[Ids.ID_RDQUO] = RDQUO;
-		names[Ids.ID_REAL] = REAL;
-		names[Ids.ID_REG] = REG;
-		names[Ids.ID_RFLOOR] = RFLOOR;
-		names[Ids.ID_RHO_L] = RHO_L;
-		names[Ids.ID_RHO_U] = RHO_U;
-		names[Ids.ID_RLM] = RLM;
-		names[Ids.ID_RSAQUO] = RSAQUO;
-		names[Ids.ID_RSQUO] = RSQUO;
-		names[Ids.ID_SBQUO] = SBQUO;
-		names[Ids.ID_SCARON_L] = SCARON_L;
-		names[Ids.ID_SCARON_U] = SCARON_U;
-		names[Ids.ID_SDOT] = SDOT;
-		names[Ids.ID_SECT] = SECT;
-		names[Ids.ID_SHY] = SHY;
-		names[Ids.ID_SIGMAF] = SIGMAF;
-		names[Ids.ID_SIGMA_L] = SIGMA_L;
-		names[Ids.ID_SIGMA_U] = SIGMA_U;
-		names[Ids.ID_SIM] = SIM;
-		names[Ids.ID_SPADES] = SPADES;
-		names[Ids.ID_SUB] = SUB;
-		names[Ids.ID_SUBE] = SUBE;
-		names[Ids.ID_SUM] = SUM;
-		names[Ids.ID_SUP] = SUP;
-		names[Ids.ID_SUP1] = SUP1;
-		names[Ids.ID_SUP2] = SUP2;
-		names[Ids.ID_SUP3] = SUP3;
-		names[Ids.ID_SUPE] = SUPE;
-		names[Ids.ID_SZLIG] = SZLIG;
-		names[Ids.ID_TAU_L] = TAU_L;
-		names[Ids.ID_TAU_U] = TAU_U;
-		names[Ids.ID_THERE4] = THERE4;
-		names[Ids.ID_THETASYM] = THETASYM;
-		names[Ids.ID_THETA_L] = THETA_L;
-		names[Ids.ID_THETA_U] = THETA_U;
-		names[Ids.ID_THINSP] = THINSP;
-		names[Ids.ID_THORN_L] = THORN_L;
-		names[Ids.ID_THORN_U] = THORN_U;
-		names[Ids.ID_TILDE] = TILDE;
-		names[Ids.ID_TIMES] = TIMES;
-		names[Ids.ID_TRADE] = TRADE;
-		names[Ids.ID_UACUTE_L] = UACUTE_L;
-		names[Ids.ID_UACUTE_U] = UACUTE_U;
-		names[Ids.ID_UARR_L] = UARR_L;
-		names[Ids.ID_UARR_U] = UARR_U;
-		names[Ids.ID_UCIRC_L] = UCIRC_L;
-		names[Ids.ID_UCIRC_U] = UCIRC_U;
-		names[Ids.ID_UGRAVE_L] = UGRAVE_L;
-		names[Ids.ID_UGRAVE_U] = UGRAVE_U;
-		names[Ids.ID_UML] = UML;
-		names[Ids.ID_UPSIH] = UPSIH;
-		names[Ids.ID_UPSILON_L] = UPSILON_L;
-		names[Ids.ID_UPSILON_U] = UPSILON_U;
-		names[Ids.ID_UUML_L] = UUML_L;
-		names[Ids.ID_UUML_U] = UUML_U;
-		names[Ids.ID_WEIERP] = WEIERP;
-		names[Ids.ID_XI_L] = XI_L;
-		names[Ids.ID_XI_U] = XI_U;
-		names[Ids.ID_YACUTE_L] = YACUTE_L;
-		names[Ids.ID_YACUTE_U] = YACUTE_U;
-		names[Ids.ID_YEN] = YEN;
-		names[Ids.ID_YUML_L] = YUML_L;
-		names[Ids.ID_YUML_U] = YUML_U;
-		names[Ids.ID_ZETA_L] = ZETA_L;
-		names[Ids.ID_ZETA_U] = ZETA_U;
-		names[Ids.ID_ZWJ] = ZWJ;
-		names[Ids.ID_ZWNJ] = ZWNJ;
-	}
-	private static char[] values = null;
-
-	static {
-		values = new char[Ids.getNumOfIds()];
-		values[Ids.ID_AACUTE_L] = 225;
-		values[Ids.ID_AACUTE_U] = 193;
-		values[Ids.ID_ACIRC_L] = 226;
-		values[Ids.ID_ACIRC_U] = 194;
-		values[Ids.ID_ACUTE] = 180;
-		values[Ids.ID_AELIG_L] = 230;
-		values[Ids.ID_AELIG_U] = 198;
-		values[Ids.ID_AGRAVE_L] = 224;
-		values[Ids.ID_AGRAVE_U] = 192;
-		values[Ids.ID_ALEFSYM] = 8501;
-		values[Ids.ID_ALPHA_L] = 945;
-		values[Ids.ID_ALPHA_U] = 913;
-		values[Ids.ID_AMP] = 38;
-		values[Ids.ID_AND] = 8743;
-		values[Ids.ID_ANG] = 8736;
-		values[Ids.ID_ARING_L] = 229;
-		values[Ids.ID_ARING_U] = 197;
-		values[Ids.ID_ASYMP] = 8776;
-		values[Ids.ID_ATILDE_L] = 227;
-		values[Ids.ID_ATILDE_U] = 195;
-		values[Ids.ID_AUML_L] = 228;
-		values[Ids.ID_AUML_U] = 196;
-		values[Ids.ID_BDQUO] = 8222;
-		values[Ids.ID_BETA_L] = 946;
-		values[Ids.ID_BETA_U] = 914;
-		values[Ids.ID_BRVBAR] = 166;
-		values[Ids.ID_BULL] = 8226;
-		values[Ids.ID_CAP] = 8745;
-		values[Ids.ID_CCEDIL_L] = 231;
-		values[Ids.ID_CCEDIL_U] = 199;
-		values[Ids.ID_CEDIL] = 184;
-		values[Ids.ID_CENT] = 162;
-		values[Ids.ID_CHI_L] = 967;
-		values[Ids.ID_CHI_U] = 935;
-		values[Ids.ID_CIRC] = 710;
-		values[Ids.ID_CLUBS] = 9827;
-		values[Ids.ID_CONG] = 8773;
-		values[Ids.ID_COPY] = 169;
-		values[Ids.ID_CRARR] = 8629;
-		values[Ids.ID_CUP] = 8746;
-		values[Ids.ID_CURREN] = 164;
-		values[Ids.ID_DAGGER_L] = 8224;
-		values[Ids.ID_DAGGER_U] = 8225;
-		values[Ids.ID_DARR_L] = 8595;
-		values[Ids.ID_DARR_U] = 8659;
-		values[Ids.ID_DEG] = 176;
-		values[Ids.ID_DELTA_L] = 948;
-		values[Ids.ID_DELTA_U] = 916;
-		values[Ids.ID_DIAMS] = 9830;
-		values[Ids.ID_DIVIDE] = 247;
-		values[Ids.ID_EACUTE_L] = 233;
-		values[Ids.ID_EACUTE_U] = 201;
-		values[Ids.ID_ECIRC_L] = 234;
-		values[Ids.ID_ECIRC_U] = 202;
-		values[Ids.ID_EGRAVE_L] = 232;
-		values[Ids.ID_EGRAVE_U] = 200;
-		values[Ids.ID_EMPTY] = 8709;
-		values[Ids.ID_EMSP] = 8195;
-		values[Ids.ID_ENSP] = 8194;
-		values[Ids.ID_EPSILON_L] = 949;
-		values[Ids.ID_EPSILON_U] = 917;
-		values[Ids.ID_EQUIV] = 8801;
-		values[Ids.ID_ETA_L] = 951;
-		values[Ids.ID_ETA_U] = 919;
-		values[Ids.ID_ETH_L] = 240;
-		values[Ids.ID_ETH_U] = 208;
-		values[Ids.ID_EUML_L] = 235;
-		values[Ids.ID_EUML_U] = 203;
-		values[Ids.ID_EURO] = 8364;
-		values[Ids.ID_EXIST] = 8707;
-		values[Ids.ID_FNOF] = 402;
-		values[Ids.ID_FORALL] = 8704;
-		values[Ids.ID_FRAC12] = 189;
-		values[Ids.ID_FRAC14] = 188;
-		values[Ids.ID_FRAC34] = 190;
-		values[Ids.ID_FRASL] = 8260;
-		values[Ids.ID_GAMMA_L] = 947;
-		values[Ids.ID_GAMMA_U] = 915;
-		values[Ids.ID_GE] = 8805;
-		values[Ids.ID_GT] = 62;
-		values[Ids.ID_HARR_L] = 8596;
-		values[Ids.ID_HARR_U] = 8660;
-		values[Ids.ID_HEARTS] = 9829;
-		values[Ids.ID_HELLIP] = 8230;
-		values[Ids.ID_IACUTE_L] = 237;
-		values[Ids.ID_IACUTE_U] = 205;
-		values[Ids.ID_ICIRC_L] = 238;
-		values[Ids.ID_ICIRC_U] = 206;
-		values[Ids.ID_IEXCL] = 161;
-		values[Ids.ID_IGRAVE_L] = 236;
-		values[Ids.ID_IGRAVE_U] = 204;
-		values[Ids.ID_IMAGE] = 8465;
-		values[Ids.ID_INFIN] = 8734;
-		values[Ids.ID_INT] = 8747;
-		values[Ids.ID_IOTA_L] = 953;
-		values[Ids.ID_IOTA_U] = 921;
-		values[Ids.ID_IQUEST] = 191;
-		values[Ids.ID_ISIN] = 8712;
-		values[Ids.ID_IUML_L] = 239;
-		values[Ids.ID_IUML_U] = 207;
-		values[Ids.ID_KAPPA_L] = 954;
-		values[Ids.ID_KAPPA_U] = 922;
-		values[Ids.ID_LAMBDA_L] = 955;
-		values[Ids.ID_LAMBDA_U] = 923;
-		values[Ids.ID_LANG] = 9001;
-		values[Ids.ID_LAQUO] = 171;
-		values[Ids.ID_LARR_L] = 8592;
-		values[Ids.ID_LARR_U] = 8656;
-		values[Ids.ID_LCEIL] = 8968;
-		values[Ids.ID_LDQUO] = 8220;
-		values[Ids.ID_LE] = 8804;
-		values[Ids.ID_LFLOOR] = 8970;
-		values[Ids.ID_LOWAST] = 8727;
-		values[Ids.ID_LOZ] = 9674;
-		values[Ids.ID_LRM] = 8206;
-		values[Ids.ID_LSAQUO] = 8249;
-		values[Ids.ID_LSQUO] = 8216;
-		values[Ids.ID_LT] = 60;
-		values[Ids.ID_MACR] = 175;
-		values[Ids.ID_MDASH] = 8212;
-		values[Ids.ID_MICRO] = 181;
-		values[Ids.ID_MIDDOT] = 183;
-		values[Ids.ID_MINUS] = 8722;
-		values[Ids.ID_MU_L] = 956;
-		values[Ids.ID_MU_U] = 924;
-		values[Ids.ID_NABLA] = 8711;
-		values[Ids.ID_NBSP] = 160;
-		values[Ids.ID_NDASH] = 8211;
-		values[Ids.ID_NE] = 8800;
-		values[Ids.ID_NI] = 8715;
-		values[Ids.ID_NOT] = 172;
-		values[Ids.ID_NOTIN] = 8713;
-		values[Ids.ID_NSUB] = 8836;
-		values[Ids.ID_NTILDE_L] = 241;
-		values[Ids.ID_NTILDE_U] = 209;
-		values[Ids.ID_NU_L] = 957;
-		values[Ids.ID_NU_U] = 925;
-		values[Ids.ID_OACUTE_L] = 243;
-		values[Ids.ID_OACUTE_U] = 211;
-		values[Ids.ID_OCIRC_L] = 244;
-		values[Ids.ID_OCIRC_U] = 212;
-		values[Ids.ID_OELIG_L] = 339;
-		values[Ids.ID_OELIG_U] = 338;
-		values[Ids.ID_OGRAVE_L] = 242;
-		values[Ids.ID_OGRAVE_U] = 210;
-		values[Ids.ID_OLINE] = 8254;
-		values[Ids.ID_OMEGA_L] = 969;
-		values[Ids.ID_OMEGA_U] = 937;
-		values[Ids.ID_OMICRON_L] = 959;
-		values[Ids.ID_OMICRON_U] = 927;
-		values[Ids.ID_OPLUS] = 8853;
-		values[Ids.ID_OR] = 8744;
-		values[Ids.ID_ORDF] = 170;
-		values[Ids.ID_ORDM] = 186;
-		values[Ids.ID_OSLASH_L] = 248;
-		values[Ids.ID_OSLASH_U] = 216;
-		values[Ids.ID_OTILDE_L] = 245;
-		values[Ids.ID_OTILDE_U] = 213;
-		values[Ids.ID_OTIMES] = 8855;
-		values[Ids.ID_OUML_L] = 246;
-		values[Ids.ID_OUML_U] = 214;
-		values[Ids.ID_PARA] = 182;
-		values[Ids.ID_PART] = 8706;
-		values[Ids.ID_PERMIL] = 8240;
-		values[Ids.ID_PERP] = 8869;
-		values[Ids.ID_PHI_L] = 966;
-		values[Ids.ID_PHI_U] = 934;
-		values[Ids.ID_PIV] = 982;
-		values[Ids.ID_PI_L] = 960;
-		values[Ids.ID_PI_U] = 928;
-		values[Ids.ID_PLUSMN] = 177;
-		values[Ids.ID_POUND] = 163;
-		values[Ids.ID_PRIME_L] = 8242;
-		values[Ids.ID_PRIME_U] = 8243;
-		values[Ids.ID_PROD] = 8719;
-		values[Ids.ID_PROP] = 8733;
-		values[Ids.ID_PSI_L] = 968;
-		values[Ids.ID_PSI_U] = 936;
-		values[Ids.ID_QUOT] = 34;
-		values[Ids.ID_RADIC] = 8730;
-		values[Ids.ID_RANG] = 9002;
-		values[Ids.ID_RAQUO] = 187;
-		values[Ids.ID_RARR_L] = 8594;
-		values[Ids.ID_RARR_U] = 8658;
-		values[Ids.ID_RCEIL] = 8969;
-		values[Ids.ID_RDQUO] = 8221;
-		values[Ids.ID_REAL] = 8476;
-		values[Ids.ID_REG] = 174;
-		values[Ids.ID_RFLOOR] = 8971;
-		values[Ids.ID_RHO_L] = 961;
-		values[Ids.ID_RHO_U] = 929;
-		values[Ids.ID_RLM] = 8207;
-		values[Ids.ID_RSAQUO] = 8250;
-		values[Ids.ID_RSQUO] = 8217;
-		values[Ids.ID_SBQUO] = 8218;
-		values[Ids.ID_SCARON_L] = 353;
-		values[Ids.ID_SCARON_U] = 352;
-		values[Ids.ID_SDOT] = 8901;
-		values[Ids.ID_SECT] = 167;
-		values[Ids.ID_SHY] = 173;
-		values[Ids.ID_SIGMAF] = 962;
-		values[Ids.ID_SIGMA_L] = 963;
-		values[Ids.ID_SIGMA_U] = 931;
-		values[Ids.ID_SIM] = 8764;
-		values[Ids.ID_SPADES] = 9824;
-		values[Ids.ID_SUB] = 8834;
-		values[Ids.ID_SUBE] = 8838;
-		values[Ids.ID_SUM] = 8721;
-		values[Ids.ID_SUP] = 8835;
-		values[Ids.ID_SUP1] = 185;
-		values[Ids.ID_SUP2] = 178;
-		values[Ids.ID_SUP3] = 179;
-		values[Ids.ID_SUPE] = 8839;
-		values[Ids.ID_SZLIG] = 223;
-		values[Ids.ID_TAU_L] = 964;
-		values[Ids.ID_TAU_U] = 932;
-		values[Ids.ID_THERE4] = 8756;
-		values[Ids.ID_THETASYM] = 977;
-		values[Ids.ID_THETA_L] = 952;
-		values[Ids.ID_THETA_U] = 920;
-		values[Ids.ID_THINSP] = 8201;
-		values[Ids.ID_THORN_L] = 254;
-		values[Ids.ID_THORN_U] = 222;
-		values[Ids.ID_TILDE] = 732;
-		values[Ids.ID_TIMES] = 215;
-		values[Ids.ID_TRADE] = 8482;
-		values[Ids.ID_UACUTE_L] = 250;
-		values[Ids.ID_UACUTE_U] = 218;
-		values[Ids.ID_UARR_L] = 8593;
-		values[Ids.ID_UARR_U] = 8657;
-		values[Ids.ID_UCIRC_L] = 251;
-		values[Ids.ID_UCIRC_U] = 219;
-		values[Ids.ID_UGRAVE_L] = 249;
-		values[Ids.ID_UGRAVE_U] = 217;
-		values[Ids.ID_UML] = 168;
-		values[Ids.ID_UPSIH] = 978;
-		values[Ids.ID_UPSILON_L] = 965;
-		values[Ids.ID_UPSILON_U] = 933;
-		values[Ids.ID_UUML_L] = 252;
-		values[Ids.ID_UUML_U] = 220;
-		values[Ids.ID_WEIERP] = 8472;
-		values[Ids.ID_XI_L] = 958;
-		values[Ids.ID_XI_U] = 926;
-		values[Ids.ID_YACUTE_L] = 253;
-		values[Ids.ID_YACUTE_U] = 221;
-		values[Ids.ID_YEN] = 165;
-		values[Ids.ID_YUML_L] = 255;
-		values[Ids.ID_YUML_U] = 376;
-		values[Ids.ID_ZETA_L] = 950;
-		values[Ids.ID_ZETA_U] = 918;
-		values[Ids.ID_ZWJ] = 8205;
-		values[Ids.ID_ZWNJ] = 8204;
-	}
-
-	/**
-	 */
-	public EntityCollection() {
-		super(names, STRICT_CASE);
-	}
-
-	/**
-	 * Create an entity declaration.
-	 * @return org.eclipse.wst.common.contentmodel.CMNode
-	 * @param attrName java.lang.String
-	 */
-	protected CMNode create(String entityName) {
-		int id = getID(entityName);
-		if (id == ID_UNKNOWN)
-			return null;
-
-		String value = String.valueOf(values[id]);
-		HTMLEntityDeclImpl dec = new HTMLEntityDeclImpl(entityName, value);
-
-		return dec;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLAttrDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLAttrDeclImpl.java
deleted file mode 100644
index e0fbc52..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLAttrDeclImpl.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLAttributeDeclaration;
-
-/**
- * Implementation class of {@link <code>HTMLAttributeDeclaration</code>} interface.<br>
- */
-class HTMLAttrDeclImpl extends CMNodeImpl implements HTMLAttributeDeclaration {
-
-	private HTMLCMDataTypeImpl type = null;
-	private int usage = 0;
-
-	/**
-	 */
-	public HTMLAttrDeclImpl(String attrName, HTMLCMDataTypeImpl valueType, int valueUsage) {
-		super(attrName);
-		this.type = valueType;
-
-		switch (valueUsage) {
-			case OPTIONAL :
-			case REQUIRED :
-			case FIXED :
-			case PROHIBITED :
-				this.usage = valueUsage;
-				break;
-			default :
-				// should warn...
-				this.usage = OPTIONAL; // fall back
-				break;
-		}
-	}
-
-	/**
-	 * getAttrName method
-	 * @return java.lang.String
-	 */
-	public String getAttrName() {
-		return getNodeName();
-	}
-
-	/**
-	 * getAttrType method
-	 * @return CMDataType
-	 */
-	public CMDataType getAttrType() {
-		return type;
-	}
-
-	/**
-	 * @deprecated in superclass
-	 */
-	public String getDefaultValue() {
-		if (type.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_DEFAULT)
-			return null;
-		return type.getImpliedValue();
-	}
-
-	/**
-	 * @deprecated in superclass
-	 */
-	public Enumeration getEnumAttr() {
-		Vector v = new Vector(Arrays.asList(type.getEnumeratedValues()));
-		return v.elements();
-	}
-
-	/**
-	 * getNodeType method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * ELEMENT_DECLARATION, ATTRIBUTE_DECLARATION, GROUP, ENTITY_DECLARATION.
-	 */
-	public int getNodeType() {
-		return CMNode.ATTRIBUTE_DECLARATION;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getUsage() {
-		return usage;
-	}
-
-	/**
-	 */
-	public boolean supports(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return true;
-		return super.supports(propertyName);
-	}
-
-	/**
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return new Boolean(true);
-		return super.getProperty(propertyName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLCMDataTypeImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLCMDataTypeImpl.java
deleted file mode 100644
index 3757c6e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLCMDataTypeImpl.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDataType;
-
-
-
-/**
- */
-class HTMLCMDataTypeImpl extends CMNodeImpl implements HTMLCMDataType {
-
-	private int impliedValueKind = IMPLIED_VALUE_NONE;
-	private String impliedValue = null;
-	private final static String[] emptyArray = new String[0];
-	private String[] enumValues = emptyArray;
-	private String instanceValue = null;
-
-	/**
-	 * HTMLCMDataTypeImpl constructor comment.
-	 * @param nm java.lang.String
-	 */
-	public HTMLCMDataTypeImpl(String typeName) {
-		super(typeName);
-	}
-
-	/**
-	 * HTMLCMDataTypeImpl constructor comment.
-	 * @param nm java.lang.String
-	 */
-	public HTMLCMDataTypeImpl(String typeName, String instanceValue) {
-		super(typeName);
-		this.instanceValue = instanceValue;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String
-	 *
-	 * This method returns a suitable default value that can be used when an instance of the data type is created.
-	 * This returns null of a suitable default is not available.
-	 */
-	public String generateInstanceValue() {
-		return instanceValue;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMDataType
-	 */
-	public String getDataTypeName() {
-		return getNodeName();
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String[]
-	 *
-	 */
-	public String[] getEnumeratedValues() {
-		return enumValues;
-	}
-
-	/**
-	 * getTypeName method
-	 * @return java.lang.String  
-	 *
-	 * Returns the implied value or null if none exists.
-	 */
-	public String getImpliedValue() {
-		return impliedValue;
-	}
-
-	/**
-	 * getImpliedValueKind method
-	 * @return int
-	 *
-	 * Returns one of :
-	 * IMPLIED_VALUE_NONE, IMPLIED_VALUE_FIXED, IMPLIED_VALUE_DEFAULT.
-	 */
-	public int getImpliedValueKind() {
-		return impliedValueKind;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	public int getNodeType() {
-		return CMNode.DATA_TYPE;
-	}
-
-	/**
-	 */
-	void setEnumValues(String[] values) {
-		enumValues = new String[values.length];
-		for (int i = 0; i < values.length; i++) {
-			enumValues[i] = values[i];
-		}
-	}
-
-	/**
-	 * package scope.
-	 */
-	void setImpliedValue(int kind, String value) {
-		switch (kind) {
-			case IMPLIED_VALUE_FIXED :
-			case IMPLIED_VALUE_DEFAULT :
-				impliedValueKind = kind;
-				impliedValue = value;
-				break;
-			case IMPLIED_VALUE_NONE :
-			default :
-				impliedValueKind = IMPLIED_VALUE_NONE;
-				impliedValue = null; // maybe a null string?
-				break;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLCMNode.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLCMNode.java
deleted file mode 100644
index 2616641..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLCMNode.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-/**
- * In HTML Documents, name and value of an attribute/element/entity
- * should be treated ignoring theirs case.  However, in XML documents,
- * they should be distinguished with sensitiveness of their case.
- * CMNode is basically designed to represent DTDs or Schemas for XML
- * documents.  So, it doesn't have interfaces to retrieve such information.
- * However, declarations in the HTML CM should provide such information.
- * This intermediate interface is intended to provide whether ignore cases
- * or not.<br>
- */
-interface HTMLCMNode extends org.eclipse.wst.common.contentmodel.CMNode {
-
-	/**
-	 * Returns <code>true</code>, if declaration is for HTML attribute/element/entity.
-	 * Otherwise, returns <code>false</code>.
-	 * @return boolean
-	 */
-	boolean shouldIgnoreCase();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLElemDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLElemDeclImpl.java
deleted file mode 100644
index c1fac64..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLElemDeclImpl.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLAttributeDeclaration;
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.html.core.contentmodel.HTMLPropertyDeclaration;
-
-/**
- * Base class for all Hed???? classes.
- */
-abstract class HTMLElemDeclImpl extends CMContentImpl implements HTMLElementDeclaration, HTMLPropertyDeclaration {
-
-	// DTD
-	protected CMNamedNodeMapImpl attributes = null;
-	protected String typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMPTY;
-	/** Never access this field directly.  Instead, use getComplexTypeDefinition method. */
-	private ComplexTypeDefinition typeDefinition = null;
-	protected CMGroupImpl inclusion = null;
-	protected CMGroupImpl exclusion = null;
-	// advanced information
-	protected CMNamedNodeMap prohibitedAncestors = null;
-	protected int correctionType = CORRECT_NONE;
-	protected int formatType = FORMAT_HTML;
-	protected int layoutType = LAYOUT_NONE;
-	protected int omitType = OMIT_NONE;
-	protected boolean keepSpaces = false;
-	protected boolean indentChild = false;
-	protected ElementCollection elementCollection = null;
-	protected AttributeCollection attributeCollection = null;
-	protected final static CMNamedNodeMap EMPTY_MAP = new CMNamedNodeMap() {
-		public int getLength() {
-			return 0;
-		}
-
-		public CMNode getNamedItem(String name) {
-			return null;
-		}
-
-		public CMNode item(int index) {
-			return null;
-		}
-
-		public Iterator iterator() {
-			return new Iterator() {
-				public boolean hasNext() {
-					return false;
-				}
-
-				public Object next() {
-					return null;
-				}
-
-				public void remove() {
-				}
-			};
-		}
-	};
-
-	/**
-	 * HTMLElemDeclImpl constructor.
-	 * In the HTML DTD, an element declaration has no specification
-	 * for its occurrence.  Occurrence is specifed in content model, like
-	 * <code>(LI)+</code>.  To avoid confusion (and complexity),
-	 * occurrence of an element declaration is always 1 (it means, min = 1 and
-	 * max = 1).  Instead, occurrence of CMGroup represents actual occurrence
-	 * of the content.
-	 * <br>
-	 * @param name java.lang.String
-	 */
-	public HTMLElemDeclImpl(String elementName, ElementCollection collection) {
-		super(elementName, 1, 1);
-		elementCollection = collection;
-		attributeCollection = collection.getAttributeCollection();
-	}
-
-	/**
-	 */
-	protected abstract void createAttributeDeclarations();
-
-	/**
-	 * 
-	 * @return com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	private ComplexTypeDefinition createComplexTypeDefinition() {
-		if (typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_CDATA) || typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_EMPTY) || typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_PCDATA))
-			return null;
-
-		ComplexTypeDefinitionFactory factory = ComplexTypeDefinitionFactory.getInstance();
-		if (factory == null)
-			return null; // fatal error.
-
-		ComplexTypeDefinition def = factory.createTypeDefinition(typeDefinitionName, elementCollection);
-		return def;
-	}
-
-	/**
-	 * Get an attribute declaration.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public HTMLAttributeDeclaration getAttributeDeclaration(String attrName) {
-		if (attributes == null) {
-			createAttributeDeclarations();
-			if (attributes == null)
-				return null; // fail to create
-		}
-
-		CMNode cmnode = attributes.getNamedItem(attrName);
-		if (cmnode == null) {
-			return null;
-		}
-		else {
-			return (HTMLAttributeDeclaration) cmnode; // already exists.
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public CMNamedNodeMap getAttributes() {
-		if (attributes == null)
-			createAttributeDeclarations(); // lazy eval.
-		return attributes;
-	}
-
-	/**
-	 * Get an instance of complex type definition.
-	 * @return com.ibm.sed.contentmodel.html.ComplexTypeDefinition
-	 */
-	private ComplexTypeDefinition getComplexTypeDefinition() {
-		if (typeDefinition == null)
-			typeDefinition = createComplexTypeDefinition();
-		return typeDefinition;
-	}
-
-	/**
-	 * Content.<br>
-	 * Element declarations which type is EMPTY or CDATA (maybe PCDATA)
-	 * <strong>MUST</strong> override this method and always return null.
-	 * This default implementation always tries to create a complex type definition
-	 * instance and access to it.
-	 * <br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public CMContent getContent() {
-		ComplexTypeDefinition def = getComplexTypeDefinition(); // lazy eval.
-		return (def != null) ? def.getContent() : null;
-	}
-
-	/**
-	 * Content type.<br>
-	 * Element declarations which type is EMPTY or CDATA (maybe PCDATA)
-	 * <strong>MUST</strong> override this method and return an appropriate type.
-	 * This default implementation always tries to create a complex type definition
-	 * instance and access to it.
-	 * <br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public int getContentType() {
-		ComplexTypeDefinition def = getComplexTypeDefinition(); // lazy eval.
-		return (def != null) ? def.getContentType() : CMElementDeclaration.CDATA;
-	}
-
-	/**
-	 * @see HTMLElementDeclaration#getCorrectionType
-	 */
-	public int getCorrectionType() {
-		return correctionType;
-	}
-
-	/**
-	 * HTML element doesn't have any data type.  So, this method always
-	 * returns <code>null</code>.<br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public CMDataType getDataType() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public String getElementName() {
-		return getNodeName();
-	}
-
-	/**
-	 * Exclusion.
-	 * Almost elements don't have a exclusion.
-	 * Only classes those have exclusion should override this method.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		return null;
-	}
-
-	/**
-	 * Default format type is <code>FORMAT_HTML</code>.<br>
-	 */
-	public int getFormatType() {
-		return formatType;
-	}
-
-	/**
-	 * Inclusion.
-	 * Almost elements don't have a inclusion.
-	 * Only classes those have inclusion should override this method.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getInclusion() {
-		return null;
-	}
-
-	/**
-	 */
-	public int getLayoutType() {
-		return layoutType;
-	}
-
-	/**
-	 * Line break hint is strongly related to layout type.
-	 * Indeed, in the C++DOM, it is determined from layout type only.
-	 * So, this implementation, as the default implementation for all declarations,
-	 * also determines from layout type only.<br>
-	 * @return int
-	 */
-	public int getLineBreakHint() {
-		switch (getLayoutType()) {
-			case HTMLElementDeclaration.LAYOUT_BLOCK :
-				return HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END;
-			case HTMLElementDeclaration.LAYOUT_BREAK :
-				return HTMLElementDeclaration.BREAK_AFTER_START;
-			case HTMLElementDeclaration.LAYOUT_HIDDEN :
-				return HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END;
-			default :
-				return HTMLElementDeclaration.BREAK_NONE;
-		}
-	}
-
-	/**
-	 * No HTML element has local elements.  So, this method always
-	 * returns an empty map.
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public CMNamedNodeMap getLocalElements() {
-		return EMPTY_MAP;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.contentmodel.CMNode
-	 */
-	public int getNodeType() {
-		return CMNode.ELEMENT_DECLARATION;
-	}
-
-	/**
-	 */
-	public int getOmitType() {
-		return omitType;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		return EMPTY_MAP;
-	}
-
-	/**
-	 */
-	public boolean supports(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) {
-			return true;
-		}
-		else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) {
-			ComplexTypeDefinition def = getComplexTypeDefinition();
-			return (def != null);
-		}
-		else {
-			PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName);
-			if (pp == null)
-				return false;
-			return pp.supports(this);
-		}
-
-	}
-
-	/**
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) {
-			return new Boolean(true);
-		}
-		else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) {
-			ComplexTypeDefinition def = getComplexTypeDefinition();
-			return (def != null) ? def.getPrimaryCandidate() : null;
-		}
-		else {
-			PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName);
-			if (pp == null)
-				return null;
-			return pp.get(this);
-		}
-	}
-
-	/**
-	 * Return element names which terminates this element.<br>
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return null;
-	}
-
-	/**
-	 * return true when the element is a JSP element.
-	 */
-	public boolean isJSP() {
-		return false;
-	}
-
-	/**
-	 * In some elements, such as APPLET, a source generator should indent child
-	 * elements that their parents.  That is, a source generator should generate
-	 * source  of APPLET and PARAMS like this:
-	 * <PRE>
-	 *   &lt;APPLET ...&gt;
-	 *     &lt;PARAM ... &gt;
-	 *     &lt;PARAM ... &gt;
-	 *   &lt;/APPLET&gt;
-	 * <PRE>
-	 * @return boolean
-	 */
-	public boolean shouldIndentChildSource() {
-		return indentChild;
-	}
-
-	/**
-	 * Most of elements can compact spaces in their child text nodes.
-	 * Some special elements should keep them in their source.
-	 * @return boolean
-	 */
-	public boolean shouldKeepSpaces() {
-		return keepSpaces;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean shouldTerminateAt(HTMLElementDeclaration nextElement) {
-		Iterator i = getTerminators();
-		if (i == null)
-			return false;
-		String nextName = nextElement.getElementName();
-		while (i.hasNext()) {
-			if (nextName.equals(i.next()))
-				return true;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLEntityDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLEntityDeclImpl.java
deleted file mode 100644
index 5d91c85..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HTMLEntityDeclImpl.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLEntityDeclaration;
-
-
-
-/**
- */
-class HTMLEntityDeclImpl extends CMNodeImpl implements HTMLEntityDeclaration {
-
-	private java.lang.String value = null;
-
-	/**
-	 * CMEntityDeclImpl constructor comment.
-	 * @param entityName java.lang.String; Entity name.
-	 * @param entityValue java.lang.String; Value string.
-	 */
-	public HTMLEntityDeclImpl(String entityName, String entityValue) {
-		super(entityName);
-		value = entityValue;
-	}
-
-	/**
-	 * getName method
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		return getNodeName();
-	}
-
-	/**
-	 * Get CMNode type.<br>
-	 * @return int; Always return ENTITY_DECLARATION.
-	 */
-	public int getNodeType() {
-		return CMNode.ENTITY_DECLARATION;
-	}
-
-	/**
-	 * getValue method
-	 * @return java.lang.String
-	 */
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 */
-	public boolean supports(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return true;
-		return super.supports(propertyName);
-	}
-
-	/**
-	 * Entities in HTML documents are always treated with ignoring cases.
-	 * Because no special entities are defined in JSP 1.0, this method
-	 * can always return <code>true</code>.<br>
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return new Boolean(true);
-		return super.getProperty(propertyName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedA.java
deleted file mode 100644
index 60aa5ba..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedA.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * A.
- */
-final class HedA extends HedInlineContainer {
-
-	/**
-	 */
-	public HedA(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.A, collection);
-		// CORRECT_EMPTY - GROUP_COMPACT
-		correctionType = CORRECT_EMPTY;
-	}
-
-	/**
-	 * %attrs;
-	 * (charset %Charset; #IMPLIED)
-	 * (type %ContentType; #IMPLIED)
-	 * (name CDATA #IMPLIED)
-	 * (href %URI; #IMPLIED)
-	 * (hreflang %LanguageCode; #IMPLIED)
-	 * (target %FrameTarget; #IMPLIED)
-	 * (rel %LinkTypes; #IMPLIED)
-	 * (rev %LinkTypes; #IMPLIED)
-	 * (accesskey %Character; #IMPLIED)
-	 * (directkey %Character; #IMPLIED)
-	 * (shape %Shape; rect)
-	 * (coords %Coords; #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED) 
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_HREF,};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>A</code> has the exclusion.
-	 * It is <code>A</code> itself.
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		CMNode a = elementCollection.getNamedItem(CHTMLNamespace.ElementName.A);
-		if (a != null)
-			exclusion.appendChild(a);
-
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.A,};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedADDRESS.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedADDRESS.java
deleted file mode 100644
index 3126e0d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedADDRESS.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * ADDRESS.
- */
-final class HedADDRESS extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedADDRESS(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.ADDRESS, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_ADDRESS;
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBASE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBASE.java
deleted file mode 100644
index a8564f1..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBASE.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-/**
- * BASE.
- */
-final class HedBASE extends HedEmpty {
-
-	/**
-	 */
-	public HedBASE(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.BASE, collection);
-		// LAYOUT_HIDDEN.
-		// Because, BASE is GROUP_HIDDEN in the C++DOM/DTDParser.cpp.
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * BASE.
-	 * (href %URI; #IMPLIED)
-	 * (target %FrameTarget; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_HREF,};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBLOCKQUOTE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBLOCKQUOTE.java
deleted file mode 100644
index e730d08..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBLOCKQUOTE.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * BLOCKQUOTE.
- */
-final class HedBLOCKQUOTE extends HedFlowContainer {
-
-	/**
-	 */
-	public HedBLOCKQUOTE(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.BLOCKQUOTE, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 * (cite %URI; #IMPLIED) 
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBODY.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBODY.java
deleted file mode 100644
index 7b0b2fd..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBODY.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-/**
- * BODY.
- */
-final class HedBODY extends HedFlowContainer {
-
-	private static String[] terminators = {CHTMLNamespace.ElementName.HEAD, CHTMLNamespace.ElementName.BODY, CHTMLNamespace.ElementName.HTML};
-
-	/**
-	 */
-	public HedBODY(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.BODY, collection);
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_BOTH;
-	}
-
-	/**
-	 * %attrs;
-	 * %bodycolors;
-	 * (onload %Script; #IMPLIED)
-	 * (onunload %Script; #IMPLIED)
-	 * (background %URI; #IMPLIED)
-	 * (marginwidth %Pixels; #IMPLIED) ... D205514
-	 * (marginheight %Pixels; #IMPLIED) .. D205514
-	 * (topmargin, CDATA, #IMPLIED) ...... D205514
-	 * (bottommargin, CDATA, #IMPLIED) ... D205514
-	 * (leftmargin, CDATA, #IMPLIED) ..... D205514
-	 * (rightmargin, CDATA, #IMPLIED) .... D205514
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %bodycolors;
-		attributeCollection.getBodycolors(attributes);
-
-	}
-
-	/**
-	 * BODY has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBR.java
deleted file mode 100644
index 62d1e64..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedBR.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-import org.eclipse.wst.html.core.contentmodel.HTMLAttributeDeclaration;
-
-
-
-/**
- * BR.
- */
-final class HedBR extends HedEmpty {
-
-	/**
-	 */
-	public HedBR(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.BR, collection);
-		// LAYOUT_BREAK.
-		// Because, BR is GROUP_BREAK in the C++DOM/DTDParser.cpp.
-		layoutType = LAYOUT_BREAK;
-	}
-
-	/**
-	 * BR.
-	 * %coreattrs;
-	 * (clear (left | all | right | none) none)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %coreattrs;
-		attributeCollection.getCore(attributes);
-		// clear
-		HTMLAttributeDeclaration attr = attributeCollection.getDeclaration(CHTMLNamespace.ATTR_NAME_CLEAR);
-		if (attr != null)
-			attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_CLEAR, attr);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedCENTER.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedCENTER.java
deleted file mode 100644
index 115f7e2..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedCENTER.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * CENTER.
- */
-final class HedCENTER extends HedFlowContainer {
-
-	/**
-	 */
-	public HedCENTER(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.CENTER, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDD.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDD.java
deleted file mode 100644
index d27bd32..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDD.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-/**
- * DD.
- */
-final class HedDD extends HedFlowContainer {
-
-	private static String[] terminators = {CHTMLNamespace.ElementName.DT, CHTMLNamespace.ElementName.DD};
-
-	/**
-	 */
-	public HedDD(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.DD, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END_DEFAULT;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 * DD has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDIV.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDIV.java
deleted file mode 100644
index 95b6c64..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDIV.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * DIV.
- */
-final class HedDIV extends HedFlowContainer {
-
-	/**
-	 */
-	public HedDIV(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.DIV, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 * %align;
-	 * %reserved;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// %align;
-		HTMLAttrDeclImpl attr = AttributeCollection.createAlignForParagraph();
-		if (attr != null)
-			attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr);
-		// %reserved; ... empty
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDL.java
deleted file mode 100644
index 9274ddf..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDL.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * DL.
- */
-final class HedDL extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedDL(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.DL, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_DEFINITION_LIST;
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		indentChild = true;
-	}
-
-	/**
-	 * %arrays;
-	 * (compact (compact) #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDT.java
deleted file mode 100644
index 6dca71e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedDT.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-/**
- * DT.
- */
-final class HedDT extends HedInlineContainer {
-
-	private static String[] terminators = {CHTMLNamespace.ElementName.DT, CHTMLNamespace.ElementName.DD};
-
-	/**
-	 */
-	public HedDT(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.DT, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END_DEFAULT;
-	}
-
-	/**
-	 * %attrs;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-	}
-
-	/**
-	 * DT has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedEmpty.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedEmpty.java
deleted file mode 100644
index 188c107..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedEmpty.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-
-/**
- * Base class for EMPTY type element declarations.
- */
-abstract class HedEmpty extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedEmpty(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMPTY;
-		// EMPTY type has no end tag.
-		omitType = OMIT_END_MUST;
-	}
-
-	/**
-	 * Content.<br>
-	 * EMPTY type always returns <code>null</code>.
-	 * <br>
-	 * @return org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	public CMContent getContent() {
-		return null;
-	}
-
-	/**
-	 * Content type.<br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.EMPTY;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedFORM.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedFORM.java
deleted file mode 100644
index 3c05641..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedFORM.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * FORM.
- */
-final class HedFORM extends HedFlowContainer {
-
-	/**
-	 */
-	public HedFORM(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.FORM, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs;
-	 * (action %URI; #REQUIRED)
-	 * (method (GET|POST) GET)
-	 * (enctype %ContentType; "application/x-www-form-urlencoded")
-	 * (accept %ContentTypes; #IMPLIED)
-	 * (name CDATA #IMPLIED)
-	 * (onsubmit %Script; #IMPLIED)
-	 * (onreset %Script; #IMPLIED)
-	 * (target %FrameTarget; #IMPLIED)
-	 * (accept-charset %Charsets; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_ACTION, CHTMLNamespace.ATTR_NAME_METHOD, CHTMLNamespace.ATTR_NAME_ENCTYPE, CHTMLNamespace.ATTR_NAME_NAME,};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>FORM</code> has the exclusion.
-	 * It is <code>FORM</code> itself.
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null; // fatal
-
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		CMNode form = elementCollection.getNamedItem(CHTMLNamespace.ElementName.FORM);
-		if (form != null)
-			exclusion.appendChild(form);
-
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.FORM, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedFlowContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedFlowContainer.java
deleted file mode 100644
index 9820507..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedFlowContainer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-/**
- * Base class for (%flow;)* containers.
- */
-abstract class HedFlowContainer extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedFlowContainer(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_FLOW_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHEAD.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHEAD.java
deleted file mode 100644
index f22d4f0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHEAD.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-/**
- * HTML.
- */
-final class HedHEAD extends HTMLElemDeclImpl {
-
-	private static String[] terminators = {CHTMLNamespace.ElementName.HEAD, CHTMLNamespace.ElementName.BODY, CHTMLNamespace.ElementName.HTML};
-
-	/**
-	 */
-	public HedHEAD(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.HEAD, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_HEAD;
-		layoutType = LAYOUT_HIDDEN;
-		omitType = OMIT_BOTH;
-	}
-
-	/**
-	 * Create all attribute declarations.
-	 * This method is called once in the constructor of the super class.
-	 * The <code>HEAD</code> element may have the following attributes:
-	 * <table>
-	 * <tbody>
-	 *   <tr>
-	 *     <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%i18n;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>profile</td><td>URI</td><td>#IMPLIED</td><td>N/A</td><td>-</td>
-	 *   </tr>
-	 * </tbody>
-	 * </table>
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-	}
-
-	/**
-	 * HEAD has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHR.java
deleted file mode 100644
index c94fd0d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHR.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * HR.
- */
-final class HedHR extends HedEmpty {
-
-	/**
-	 */
-	public HedHR(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.HR, collection);
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * %attrs
-	 * (align (left|center|right) #IMPLIED) ... should be defined locally.
-	 * (noshade (noshade) #IMPLIED)
-	 * (size %Pixels; #IMPLIED)
-	 * (width %Length; #IMPLIED)
-	 * (color %Color; #IMPLIED) ... D205514
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (align (left|center|right) #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		String[] values = {CHTMLNamespace.ATTR_VALUE_LEFT, CHTMLNamespace.ATTR_VALUE_CENTER, CHTMLNamespace.ATTR_VALUE_RIGHT};
-		atype.setEnumValues(values);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr);
-
-		// the rest.
-		String[] names = {CHTMLNamespace.ATTR_NAME_NOSHADE, CHTMLNamespace.ATTR_NAME_SIZE, CHTMLNamespace.ATTR_NAME_WIDTH,};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHTML.java
deleted file mode 100644
index c39f666..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHTML.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.wst.html.core.contentmodel.HTMLAttributeDeclaration;
-
-
-/**
- * HTML.
- */
-final class HedHTML extends HTMLElemDeclImpl {
-
-	private static String[] terminators = {CHTMLNamespace.ElementName.HTML};
-
-	/**
-	 */
-	public HedHTML(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.HTML, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_HTML;
-		layoutType = LAYOUT_HIDDEN;
-		omitType = OMIT_BOTH;
-	}
-
-	/**
-	 * Create all attribute declarations.
-	 * This method is called once in the constructor of the super class.
-	 * The <code>HTML</code> element may have the following attributes:
-	 * <table>
-	 * <tbody>
-	 *   <tr>
-	 *     <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th>
-	 *   </tr>
-	 *   <tr>
-	 *     <td><code>%i18n;</code></td><td>-</td><td>-</td><td>-</td>
-	 *     <td>{@link PDCMDocImpl#getAttrDeclarationsI18n}</td>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>version</td><td>CDATA</td><td>#FIXED</td>
-	 *     <td>{@link HTML_VERSION_TRANSITIONAL}</td><td>deplecated in HTML4.01</td>
-	 *   </tr>
-	 * </tbody>
-	 * </table><br>
-	 * @see com.ibm.sed.contentmodel.html.AbstractHTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-		// version
-		HTMLAttributeDeclaration adec = attributeCollection.getDeclaration(CHTMLNamespace.ATTR_NAME_VERSION);
-		if (adec != null)
-			attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_VERSION, adec);
-	}
-
-	/**
-	 * HTML has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHeading.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHeading.java
deleted file mode 100644
index b93ecfa..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedHeading.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * H[1-6].
- */
-final class HedHeading extends HedInlineContainer {
-
-	/**
-	 */
-	public HedHeading(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-	}
-
-	/**
-	 * Create all attribute declarations.
-	 * This method is called once in the constructor of the super class.
-	 * The <code>H1</code> element may have the following attributes:
-	 * <table>
-	 * <tbody>
-	 *   <tr>
-	 *     <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%attrs;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%align;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 * </tbody>
-	 * </table>
-	 * <p><b>%align;</b> means <code>align (left|center|right|justify) #IMPLIED</code>.
-	 * Unfortunately, this <code>align</code> is different from one in
-	 * <code>IMG</code> or <code>TABLE</code>.  So, the attribute declaration
-	 * of <code>align</code> should be localy created and it shouldn't be registered
-	 * in a <code>HCMDocImpl</code> instance.</p>
-	 * <p>However, %align is used in sevaral times.  I wouldn't write same code
-	 * in many times.  So, I add a new utility method into <code>CMUtil</code>
-	 * to create the attribute declaration.</p>
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// align
-		HTMLAttrDeclImpl attr = AttributeCollection.createAlignForParagraph();
-		if (attr != null)
-			attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedIMG.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedIMG.java
deleted file mode 100644
index f6ace06..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedIMG.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * IMG.
- */
-final class HedIMG extends HedEmpty {
-
-	/**
-	 */
-	public HedIMG(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.IMG, collection);
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 * IMG.
-	 * %attrs;
-	 * (src %URI; #REQUIRED): should be defined locally.
-	 * (alt %Text; #REQUIRED)
-	 * (longdesc %URI; #IMPLIED)
-	 * (name CDATA #IMPLIED)
-	 * (height %Length; #IMPLIED)
-	 * (width %Length; #IMPLIED)
-	 * (usemap %URI; #IMPLIED)
-	 * (ismap (ismap) #IMPLIED)
-	 * (align %IAlign; #IMPLIED): should be defined locally.
-	 * (border %Pixels; #IMPLIED)
-	 * (hspace %Pixels; #IMPLIED)
-	 * (vspace %Pixels; #IMPLIED)
-	 * (mapfile %URI; #IMPLIED)
-	 * @see com.ibm.sed.contentmodel.html.AbstractHTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (src %URI; #REQUIRED): should be defined locally.
-		HTMLCMDataTypeImpl atype = null;
-		HTMLAttrDeclImpl attr = null;
-		atype = new HTMLCMDataTypeImpl(CMDataType.URI);
-		attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_SRC, atype, CMAttributeDeclaration.REQUIRED);
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_SRC, attr);
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_ALT, CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_HEIGHT, CHTMLNamespace.ATTR_NAME_WIDTH, CHTMLNamespace.ATTR_NAME_BORDER, CHTMLNamespace.ATTR_NAME_HSPACE, CHTMLNamespace.ATTR_NAME_VSPACE,};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-
-		// align (local); should be defined locally.
-		attr = AttributeCollection.createAlignForImage();
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.PRE};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedINPUT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedINPUT.java
deleted file mode 100644
index a495934..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedINPUT.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-
-/**
- * INPUT.
- */
-final class HedINPUT extends HedEmpty {
-
-	/**
-	 */
-	public HedINPUT(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.INPUT, collection);
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 * INPUT.
-	 * %attrs;
-	 * (type %InputType; TEXT) ... should be defined locally.
-	 * (name CDATA #IMPLIED)
-	 * (value CDATA #IMPLIED)
-	 * (checked (checked) #IMPLIED)
-	 * (disabled (disabled) #IMPLIED)
-	 * (readonly (readonly) #IMPLIED)
-	 * (size CDATA #IMPLIED) ... should be defined locally.
-	 * (maxlength NUMBER #IMPLIED)
-	 * (src %URI; #IMPLIED)
-	 * (alt CDATA #IMPLIED) ... should be defined locally.
-	 * (usemap %URI; #IMPLIED)
-	 * (ismap (ismap) #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (accesskey %Character; #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED)
-	 * (onselect %Script; #IMPLIED)
-	 * (onchange %Script; #IMPLIED)
-	 * (accept %ContentTypes; #IMPLIED)
-	 * (align %IAlign; #IMPLIED) ... should be defined locally.
-	 * (istyle CDATA #IMPLIED)
-	 * <<D215684
-	 * (width CDATA; #IMPLIED)
-	 * (height CDATA; #IMPLIED)
-	 * (border CDATA; #IMPLIED)
-	 * D215684
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		HTMLCMDataTypeImpl atype = null;
-		HTMLAttrDeclImpl attr = null;
-		// (type %InputType; TEXT) ... should be defined locally.
-		// NOTE: %InputType is ENUM;
-		// (text | password | checkbox | radio | submit | reset |
-		//  file | hidden | image | button)
-		atype = new HTMLCMDataTypeImpl(CMDataType.ENUM);
-		String[] values = {CHTMLNamespace.ATTR_VALUE_TEXT, CHTMLNamespace.ATTR_VALUE_PASSWORD, CHTMLNamespace.ATTR_VALUE_CHECKBOX, CHTMLNamespace.ATTR_VALUE_RADIO, CHTMLNamespace.ATTR_VALUE_SUBMIT, CHTMLNamespace.ATTR_VALUE_RESET, CHTMLNamespace.ATTR_VALUE_HIDDEN,};
-		atype.setEnumValues(values);
-		atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, CHTMLNamespace.ATTR_VALUE_TEXT);
-		attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_TYPE, attr);
-
-		// (size CDATA #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_SIZE, attr);
-
-		// (alt CDATA #IMPLIED) ... should be defined locally.
-		atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_ALT, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALT, attr);
-
-		// (align %IAlign; #IMPLIED) ... should be defined locally.
-		attr = AttributeCollection.createAlignForImage();
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr);
-
-		// the rest.
-		String[] names = {CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_VALUE, CHTMLNamespace.ATTR_NAME_CHECKED, CHTMLNamespace.ATTR_NAME_SIZE, CHTMLNamespace.ATTR_NAME_MAXLENGTH, CHTMLNamespace.ATTR_NAME_SRC, CHTMLNamespace.ATTR_NAME_ALT, CHTMLNamespace.ATTR_NAME_ALIGN, CHTMLNamespace.ATTR_NAME_ISTYLE,
-		//<<D215684
-					CHTMLNamespace.ATTR_NAME_WIDTH, CHTMLNamespace.ATTR_NAME_HEIGHT, CHTMLNamespace.ATTR_NAME_BORDER
-		//<D215684
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedInlineContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedInlineContainer.java
deleted file mode 100644
index ba04b66..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedInlineContainer.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-/**
- * Base class for (%inline;)* containers.
- */
-abstract class HedInlineContainer extends HTMLElemDeclImpl {
-
-	/**
-	 * HedInlineContainer.
-	 * @param elementName java.lang.String
-	 * @param collection ElementCollection
-	 */
-	public HedInlineContainer(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_INLINE_CONTAINER;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedLI.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedLI.java
deleted file mode 100644
index bfdb17c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedLI.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-/**
- * LI.
- */
-final class HedLI extends HedFlowContainer {
-
-	private static String[] terminators = {CHTMLNamespace.ElementName.LI};
-
-	/**
-	 */
-	public HedLI(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.LI, collection);
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END_DEFAULT;
-	}
-
-	/**
-	 * %attrs;
-	 * (type %LIStyle; #IMPLIED) ... should be defined locally.
-	 * (value NUMBER #IMPLIED) ... should be defined locally.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-	}
-
-	/**
-	 * LI has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedListItemContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedListItemContainer.java
deleted file mode 100644
index 96343ea..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedListItemContainer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-/**
- * Base class for list item container declarations.
- * - OL, UL, MENU, DIR.
- */
-abstract class HedListItemContainer extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedListItemContainer(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_LI_CONTAINER;
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		indentChild = true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedMENU.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedMENU.java
deleted file mode 100644
index ff8cc21..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedMENU.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * MENU/DIR.
- */
-final class HedMENU extends HedListItemContainer {
-
-	/**
-	 */
-	public HedMENU(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-	}
-
-	/**
-	 * MENU/DIR.
-	 * (compact (compact) #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>MENU/DIR</code> has the exclusion.
-	 * It is <code>%block;</code>.
-	 * %block; is:
-	 * P | %heading; | %list; | %preformatted; | DL | DIV | CENTER |
-	 * NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR |
-	 * TABLE | FIELDSET | ADDRESS.
-	 * %heading; is: H1 | H2 | H3 | H4 | H5 | H6.
-	 * %list; is : UL | OL | DIR | MENU.
-	 * %preformatted; is PRE.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		// %block;
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		String[] names = {CHTMLNamespace.ElementName.P, CHTMLNamespace.ElementName.H1, CHTMLNamespace.ElementName.H2, CHTMLNamespace.ElementName.H3, CHTMLNamespace.ElementName.H4, CHTMLNamespace.ElementName.H5, CHTMLNamespace.ElementName.H6, CHTMLNamespace.ElementName.UL, CHTMLNamespace.ElementName.OL, CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU, CHTMLNamespace.ElementName.PRE, CHTMLNamespace.ElementName.DL, CHTMLNamespace.ElementName.DIV, CHTMLNamespace.ElementName.CENTER, CHTMLNamespace.ElementName.BLOCKQUOTE, CHTMLNamespace.ElementName.FORM, CHTMLNamespace.ElementName.HR, CHTMLNamespace.ElementName.ADDRESS};
-		elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator());
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedMETA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedMETA.java
deleted file mode 100644
index b7eac5d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedMETA.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDataType;
-
-/**
- * META.
- */
-final class HedMETA extends HedEmpty {
-
-	/**
-	 */
-	public HedMETA(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.META, collection);
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * META.
-	 * %i18n;
-	 * (http-equiv NAME #IMPLIED)
-	 * (name NAME #IMPLIED) ... should be defined locally.
-	 * (content CDATA #REQUIRED)
-	 * (scheme CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-
-		// (name NAME #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.NAME);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_NAME, attr);
-
-		// 249493
-		atype = new HTMLCMDataTypeImpl(CMDataType.CDATA);
-		attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_CONTENT, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_CONTENT, attr);
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_HTTP_EQUIV,
-		//		CHTMLNamespace.ATTR_NAME_CONTENT
-		};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedOL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedOL.java
deleted file mode 100644
index 9e0fe9a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedOL.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * OL.
- */
-final class HedOL extends HedListItemContainer {
-
-	/**
-	 */
-	public HedOL(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.OL, collection);
-	}
-
-	/**
-	 * OL.
-	 * (type %OLStyle; #IMPLIED) ... should be defined locally.
-	 * (compact (compact) #IMPLIED)
-	 * (start NUMBER #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedOPTION.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedOPTION.java
deleted file mode 100644
index 6cb7cfb..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedOPTION.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-/**
- * OPTION.
- */
-final class HedOPTION extends HedPcdata {
-
-	private static String[] terminators = {CHTMLNamespace.ElementName.OPTION};
-
-	/**
-	 */
-	public HedOPTION(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.OPTION, collection);
-		layoutType = LAYOUT_HIDDEN;
-		omitType = OMIT_END;
-	}
-
-	/**
-	 * OPTION.
-	 * %attrs;
-	 * (selected (selected) #IMPLIED)
-	 * (disabled (disabled) #IMPLIED)
-	 * (label %Text; #IMPLIED)
-	 * (value CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_SELECTED, CHTMLNamespace.ATTR_NAME_VALUE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-
-	/**
-	 * OPTION has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		return Arrays.asList(terminators).iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedP.java
deleted file mode 100644
index d04ffbc..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedP.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * P.
- */
-final class HedP extends HedInlineContainer {
-
-	private static Collection terminators = null;
-
-	/**
-	 */
-	public HedP(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.P, collection);
-		correctionType = CORRECT_EMPTY;
-		layoutType = LAYOUT_BLOCK;
-		omitType = OMIT_END;
-	}
-
-	/**
-	 * Create all attribute declarations.
-	 * This method is called once in the constructor of the super class.
-	 * The <code>P</code> element may have the following attributes:
-	 * <table>
-	 * <tbody>
-	 *   <tr>
-	 *     <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%attrs;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 *   <tr>
-	 *     <td>%align;</td><td>-</td><td>-</td><td>-</td><td>-</td>
-	 *   </tr>
-	 * </tbody>
-	 * </table>
-	 * <p><b>%align;</b> means <code>align (left|center|right|justify) #IMPLIED</code>.
-	 * Unfortunately, this <code>align</code> is different from one in
-	 * <code>IMG</code> or <code>TABLE</code>.  So, the attribute declaration
-	 * of <code>align</code> should be localy created and it shouldn't be registered
-	 * in a <code>HCMDocImpl</code> instance.</p>
-	 * <p>However, %align is used in sevaral times.  I wouldn't write same code
-	 * in many times.  So, I add a new utility method into <code>CMUtil</code>
-	 * to create the attribute declaration.</p>
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElemDeclImpl
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-		attributes = new CMNamedNodeMapImpl();
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// align
-		HTMLAttrDeclImpl adec = AttributeCollection.createAlignForParagraph();
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, adec);
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-		return prohibitedAncestors;
-	}
-
-	/**
-	 * Return names of terminators.
-	 * <code>P</code> has terminators.
-	 * @return java.util.Iterator
-	 */
-	protected Iterator getTerminators() {
-		if (terminators != null)
-			return terminators.iterator();
-		//<<D217982
-		terminators = new Vector();
-		terminators.addAll(elementCollection.getNamesOfBlock());
-		terminators.add(CHTMLNamespace.ElementName.LI);
-		terminators.add(CHTMLNamespace.ElementName.DT);
-		terminators.add(CHTMLNamespace.ElementName.DD);
-		//D217982
-		return terminators.iterator();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedPRE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedPRE.java
deleted file mode 100644
index f82d15e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedPRE.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * PRE.
- */
-final class HedPRE extends HedInlineContainer {
-
-	/**
-	 * PRE element should keep spaces in its source.
-	 */
-	public HedPRE(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.PRE, collection);
-		// CORRECT_EMPTY - GROUP_COMPACT
-		correctionType = CORRECT_EMPTY;
-
-		keepSpaces = true;
-	}
-
-	/**
-	 * %attrs;
-	 * (width NUMBER #IMPLIED) ... should be defined locally.
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-		// (width NUMBER #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_WIDTH, attr);
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>PRE</code> has the exclusion.
-	 * It is <code>%pre.exclusion;</code>.
-	 * %pre.exclusion is:
-	 * IMG | OBJECT | APPLET | BIG | SMALL | SUB | SUP | FONT | BASEFONT
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-		String[] names = {CHTMLNamespace.ElementName.IMG,};
-		elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator());
-
-		return exclusion;
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedPcdata.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedPcdata.java
deleted file mode 100644
index 0746007..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedPcdata.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-
-/**
- * Base class for PCDATA type element declarations.<br>
- */
-abstract class HedPcdata extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedPcdata(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_PCDATA;
-	}
-
-	/**
-	 * Content.<br>
-	 * PCDATA type always returns <code>null</code>.
-	 * <br>
-	 * @return org.eclipse.wst.common.contentmodel.CMContent
-	 */
-	public CMContent getContent() {
-		return null;
-	}
-
-	/**
-	 * Content type.<br>
-	 * @see org.eclipse.wst.common.contentmodel.CMElementDeclaration
-	 */
-	public int getContentType() {
-		return CMElementDeclaration.PCDATA;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSELECT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSELECT.java
deleted file mode 100644
index cc844f8..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSELECT.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-
-/**
- * SELECT.
- */
-final class HedSELECT extends HTMLElemDeclImpl {
-
-	/**
-	 */
-	public HedSELECT(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.SELECT, collection);
-		typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_SELECT;
-		layoutType = LAYOUT_OBJECT;
-		indentChild = true;
-	}
-
-	/**
-	 * %attrs;
-	 * %reserved;
-	 * (name CDATA #IMPLIED)
-	 * (size NUMBER #IMPLIED) ... should be defined locally.
-	 * (multiple (multiple) #IMPLIED)
-	 * (disabled (disabled) #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED)
-	 * (onchange %Script; #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		// (size NUMBER #IMPLIED) ... should be defined locally.
-		HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER);
-		HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL);
-		attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_SIZE, attr);
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_MULTIPLE,};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIBase.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIBase.java
deleted file mode 100644
index fd64d4a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIBase.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-
-
-
-
-/**
- * Base class for SSI declarations.
- */
-abstract class HedSSIBase extends HedEmpty {
-
-	/**
-	 */
-	public HedSSIBase(String elementName, ElementCollection collection) {
-		super(elementName, collection);
-		layoutType = LAYOUT_OBJECT;
-	}
-
-	/**
-	 */
-	public int getFormatType() {
-		return HTMLElementDeclaration.FORMAT_SSI;
-	}
-
-	/**
-	 */
-	public boolean supports(String propName) {
-		if (propName.equals(HTMLCMProperties.IS_SSI))
-			return true;
-		return super.supports(propName);
-	}
-
-	/*
-	 */
-	public Object getProperty(String propName) {
-		if (propName.equals(HTMLCMProperties.IS_SSI))
-			return new Boolean(true);
-		return super.getProperty(propName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIConfig.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIConfig.java
deleted file mode 100644
index a98fb71..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIConfig.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-/**
- * SSI:CONFIG.
- */
-final class HedSSIConfig extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIConfig(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.SSI_CONFIG, collection);
-	}
-
-	/**
-	 * SSI:CONFIG.
-	 * (errmsg CDATA #IMPLIED)
-	 * (sizefmt CDATA #IMPLIED)
-	 * (timefmt CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_ERRMSG, CHTMLNamespace.ATTR_NAME_SIZEFMT, CHTMLNamespace.ATTR_NAME_TIMEFMT};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIEcho.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIEcho.java
deleted file mode 100644
index 5e58a49..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIEcho.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-/**
- * SSI:ECHO.
- */
-final class HedSSIEcho extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIEcho(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.SSI_ECHO, collection);
-	}
-
-	/**
-	 * SSI:ECHO
-	 * (var CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_VAR};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIExec.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIExec.java
deleted file mode 100644
index 7ddc7c6..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIExec.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-/**
- * SSI:EXEC.
- */
-final class HedSSIExec extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIExec(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.SSI_EXEC, collection);
-	}
-
-	/**
-	 * SSI:EXEC
-	 * (cgi %URI; #IMPLIED)
-	 * (cmd CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_CGI, CHTMLNamespace.ATTR_NAME_CMD};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIFlastmod.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIFlastmod.java
deleted file mode 100644
index 1e5eac9..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIFlastmod.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-/**
- * SSI:FLASTMOD.
- */
-final class HedSSIFlastmod extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIFlastmod(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.SSI_FLASTMOD, collection);
-	}
-
-	/**
-	 * SSI:FLASTMOD
-	 * (file %URI; #IMPLIED)
-	 * (virtual %URI #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_FILE, CHTMLNamespace.ATTR_NAME_VIRTUAL};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIFsize.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIFsize.java
deleted file mode 100644
index b3acb6d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIFsize.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-/**
- * SSI:FSIZE.
- */
-final class HedSSIFsize extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIFsize(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.SSI_FSIZE, collection);
-	}
-
-	/**
-	 * SSI:FSIZE
-	 * (file %URI; #IMPLIED)
-	 * (virtual %URI #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_FILE, CHTMLNamespace.ATTR_NAME_VIRTUAL};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIInclude.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIInclude.java
deleted file mode 100644
index 0a06ca7..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIInclude.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-/**
- * SSI:INCLUDE.
- */
-final class HedSSIInclude extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIInclude(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.SSI_INCLUDE, collection);
-	}
-
-	/**
-	 * SSI:INCLUDE
-	 * (file %URI; #IMPLIED)
-	 * (virtual %URI #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_FILE, CHTMLNamespace.ATTR_NAME_VIRTUAL};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIPrintenv.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIPrintenv.java
deleted file mode 100644
index ff25270..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSIPrintenv.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * SSI:PRINTENV.
- */
-final class HedSSIPrintenv extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSIPrintenv(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.SSI_PRINTENV, collection);
-	}
-
-	/**
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-	}
-
-	/**
-	 * SSI:PRINTENV has no attributes.  So, this method should
-	 * always return <code>null</code>.
-	 * Note: Since somebody doesn't expect null is returned, return the empty attribute
-	 * like a custom tag which doesn't have attributes
-	 */
-	public CMNamedNodeMap getAttributes() {
-		return super.getAttributes();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSISet.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSISet.java
deleted file mode 100644
index 3021091..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedSSISet.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-/**
- * SSI:SET.
- */
-final class HedSSISet extends HedSSIBase {
-
-	/**
-	 */
-	public HedSSISet(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.SSI_SET, collection);
-	}
-
-	/**
-	 * SSI:SET
-	 * (var CDATA #IMPLIED)
-	 * (value CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_VAR, CHTMLNamespace.ATTR_NAME_VALUE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedTEXTAREA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedTEXTAREA.java
deleted file mode 100644
index 229e52b..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedTEXTAREA.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-/**
- * TEXTAREA.
- */
-final class HedTEXTAREA extends HedPcdata {
-
-	/**
-	 * TEXTAREA should keep spaces in its source.
-	 */
-	public HedTEXTAREA(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.TEXTAREA, collection);
-		layoutType = LAYOUT_OBJECT;
-
-		keepSpaces = true;
-	}
-
-	/**
-	 * TEXTAREA.
-	 * %attrs;
-	 * %reserved; ... empty
-	 * (name CDATA #IMPLIED)
-	 * (rows NUMBER #REQUIRED)
-	 * (cols NUMBER #REQUIRED)
-	 * (disabled (disabled) #IMPLIED)
-	 * (readonly (readonly) #IMPLIED)
-	 * (tabindex NUMBER #IMPLIED)
-	 * (accesskey %Character; #IMPLIED)
-	 * (onfocus %Script; #IMPLIED)
-	 * (onblur %Script; #IMPLIED)
-	 * (onselect %Script; #IMPLIED)
-	 * (onchange %Script; #IMPLIED)
-	 * (istyle CDATA #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-		String[] names = {CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_ROWS, CHTMLNamespace.ATTR_NAME_COLS, CHTMLNamespace.ATTR_NAME_ISTYLE};
-		attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedTITLE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedTITLE.java
deleted file mode 100644
index 545848b..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedTITLE.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-
-/**
- * TITLE.
- */
-final class HedTITLE extends HedPcdata {
-
-	/**
-	 */
-	public HedTITLE(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.TITLE, collection);
-		layoutType = LAYOUT_HIDDEN;
-	}
-
-	/**
-	 * TITLE.
-	 * %i18n;
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %i18n;
-		attributeCollection.getI18n(attributes);
-	}
-
-	/**
-	 * Exclusion.
-	 * <code>TITLE</code> has the exclusion.
-	 * It is <code>%head.misc;</code>.
-	 * %head.misc; is <code>SCRIPT|STYLE|META|LINK|OBJECT</code>.
-	 * <br>
-	 * @see com.ibm.sed.contentmodel.html.HTMLElementDeclaration
-	 */
-	public CMContent getExclusion() {
-		if (exclusion != null)
-			return exclusion; // already created.
-		if (elementCollection == null)
-			return null;
-
-		// (SCRIPT|STYLE|META|LINK|OBJECT)
-		exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1);
-
-		String[] names = {CHTMLNamespace.ElementName.META,};
-		elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator());
-		return exclusion;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedUL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedUL.java
deleted file mode 100644
index e7a23c0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/HedUL.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-
-/**
- * UL.
- */
-final class HedUL extends HedListItemContainer {
-
-	/**
-	 */
-	public HedUL(ElementCollection collection) {
-		super(CHTMLNamespace.ElementName.UL, collection);
-	}
-
-	/**
-	 * UL.
-	 * (type %ULStyle; #IMPLIED) ... should be defined locally.
-	 * (compact (compact) #IMPLIED)
-	 */
-	protected void createAttributeDeclarations() {
-		if (attributes != null)
-			return; // already created.
-		if (attributeCollection == null)
-			return; // fatal
-
-		attributes = new CMNamedNodeMapImpl();
-
-		// %attrs;
-		attributeCollection.getAttrs(attributes);
-
-	}
-
-	/**
-	 */
-	public CMNamedNodeMap getProhibitedAncestors() {
-		if (prohibitedAncestors != null)
-			return prohibitedAncestors;
-
-		String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU};
-		prohibitedAncestors = elementCollection.getDeclarations(names);
-
-		return prohibitedAncestors;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/PropertyProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/PropertyProvider.java
deleted file mode 100644
index db31375..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/PropertyProvider.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-
-
-
-/**
- * PropertyProvider class.
- * This class is intended to be used in HTMLElementDeclaration instances.
- */
-interface PropertyProvider {
-
-	boolean supports(HTMLElementDeclaration edecl);
-
-	Object get(HTMLElementDeclaration edecl);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/PropertyProviderFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/PropertyProviderFactory.java
deleted file mode 100644
index 5512025..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/chtml/PropertyProviderFactory.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.chtml;
-
-import java.util.Hashtable;
-
-import org.eclipse.wst.common.contentmodel.annotation.AnnotationMap;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.html.core.contentmodel.HTMLPropertyDeclaration;
-
-/**
- * The factory object of PropertyProvider.
- */
-final class PropertyProviderFactory {
-
-
-	/**
-	 * DefaultProvider is intended to be used for unknown properties.
-	 * It always returns null value for any properties.
-	 */
-	class DefaultProvider implements PropertyProvider {
-		public DefaultProvider() {
-			super();
-		}
-
-		public boolean supports(HTMLElementDeclaration edecl) {
-			return false;
-		}
-
-		public Object get(HTMLElementDeclaration edecl) {
-			return null;
-		}
-	}
-
-	abstract class AbstractElementPropertyProvider implements PropertyProvider {
-		protected AbstractElementPropertyProvider() {
-			super();
-		}
-
-		public boolean supports(HTMLElementDeclaration edecl) {
-			return (edecl != null);
-		}
-
-		public Object get(HTMLElementDeclaration edecl) {
-			if (!(edecl instanceof HTMLPropertyDeclaration))
-				return null;
-			return getElementProperty((HTMLPropertyDeclaration)edecl);
-		}
-
-		abstract protected Object getElementProperty(HTMLPropertyDeclaration decl);
-	}
-
-	/*
-	 * "tagInfo"
-	 * gets documentation for the element
-	 */
-	class PPTagInfo extends AbstractElementPropertyProvider {
-		private final static String htmlAnnotationLoc = "platform:/plugin/org.eclipse.wst.html.core/data/htmref.xml"; //$NON-NLS-1$
-		protected AnnotationMap fAnnotationMap = null;
-
-		public PPTagInfo() {
-			super();
-		}
-
-		/**
-		 * Gets the annotationMap.
-		 * @return Returns a AnnotationMap
-		 */
-		protected AnnotationMap getAnnotationMap() {
-			if (fAnnotationMap == null) {
-				fAnnotationMap = new AnnotationMap();
-				try {
-					fAnnotationMap.load(htmlAnnotationLoc);
-				}
-				catch (Exception e) {
-					// no annotation available
-				}
-			}
-			return fAnnotationMap;
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			if (decl instanceof HTMLElementDeclaration) {
-				return getAnnotationMap().getProperty(((HTMLElementDeclaration)decl).getElementName(), "tagInfo"); //$NON-NLS-1$
-			} else {
-				return null;
-			}
-		}
-	}
-
-	/*
-	 * "shouldKeepSpace"
-	 */
-	class PPShouldKeepSpace extends AbstractElementPropertyProvider {
-		public PPShouldKeepSpace() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(decl.shouldKeepSpaces());
-		}
-	}
-
-	/*
-	 * "shouldIndentChildSource"
-	 */
-	class PPShouldIndentChildSource extends AbstractElementPropertyProvider {
-		public PPShouldIndentChildSource() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(decl.shouldIndentChildSource());
-		}
-	}
-
-	/*
-	 * "terminators"
-	 */
-	class PPTerminators extends AbstractElementPropertyProvider {
-		public PPTerminators() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			if (decl == null)
-				return null;
-			if (! (decl instanceof HTMLElemDeclImpl)) return null;
-			return ((HTMLElemDeclImpl)decl).getTerminators();
-		}
-	}
-
-	/*
-	 * "prohibitedAncestors"
-	 */
-	class PPProhibitedAncestors extends AbstractElementPropertyProvider {
-		public PPProhibitedAncestors() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return decl.getProhibitedAncestors();
-		}
-	}
-
-	/*
-	 * "isJSP"
-	 */
-	class PPIsJSP extends AbstractElementPropertyProvider {
-		public PPIsJSP() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(decl.isJSP());
-		}
-	}
-
-	/*
-	 * "isXHTML"
-	 * HTMLElementDeclaration itself never represent any XHTML element declaration.
-	 * So, this property must be always false.
-	 */
-	class PPIsXHTML extends AbstractElementPropertyProvider {
-		public PPIsXHTML() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(false);
-		}
-	}
-
-	/*
-	 * "isSSI"
-	 * Each declaration class for SSI elements must provide this property itself,
-	 * and then return true.  Other declaration must always return false.
-	 */
-	class PPIsSSI extends AbstractElementPropertyProvider {
-		public PPIsSSI() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return new Boolean(false);
-		}
-	}
-
-	/*
-	 * "lineBreakHint"
-	 */
-	class PPLineBreakHint extends AbstractElementPropertyProvider {
-		public PPLineBreakHint() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			String hint = HTMLCMProperties.Values.BREAK_NONE;
-			switch (decl.getLineBreakHint()) {
-				case HTMLElementDeclaration.BREAK_AFTER_START :
-					hint = HTMLCMProperties.Values.BREAK_AFTER_START;
-					break;
-				case HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END :
-					hint = HTMLCMProperties.Values.BREAK_BEFORE_START_AND_AFTER_END;
-					break;
-				case HTMLElementDeclaration.BREAK_NONE :
-				// nothing to do
-				default :
-					break;
-			}
-			return hint;
-		}
-	}
-
-	/*
-	 * "layoutType"
-	 */
-	class PPLayoutType extends AbstractElementPropertyProvider {
-		public PPLayoutType() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			String type = HTMLCMProperties.Values.LAYOUT_NONE;
-			switch (decl.getLayoutType()) {
-				case HTMLElementDeclaration.LAYOUT_BLOCK :
-					type = HTMLCMProperties.Values.LAYOUT_BLOCK;
-					break;
-				case HTMLElementDeclaration.LAYOUT_BREAK :
-					type = HTMLCMProperties.Values.LAYOUT_BREAK;
-					break;
-				case HTMLElementDeclaration.LAYOUT_HIDDEN :
-					type = HTMLCMProperties.Values.LAYOUT_HIDDEN;
-					break;
-				case HTMLElementDeclaration.LAYOUT_OBJECT :
-					type = HTMLCMProperties.Values.LAYOUT_OBJECT;
-					break;
-				case HTMLElementDeclaration.LAYOUT_WRAP :
-					type = HTMLCMProperties.Values.LAYOUT_WRAP;
-					break;
-				case HTMLElementDeclaration.LAYOUT_NONE :
-				// nothing to do.
-				default :
-					break;
-			}
-			return type;
-		}
-	}
-
-	/*
-	 * "omitType"
-	 */
-	class PPOmitType extends AbstractElementPropertyProvider {
-		public PPOmitType() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			String type = HTMLCMProperties.Values.OMIT_NONE;
-			switch (decl.getOmitType()) {
-				case HTMLElementDeclaration.OMIT_BOTH :
-					type = HTMLCMProperties.Values.OMIT_BOTH;
-					break;
-				case HTMLElementDeclaration.OMIT_END :
-					type = HTMLCMProperties.Values.OMIT_END;
-					break;
-				case HTMLElementDeclaration.OMIT_END_DEFAULT :
-					type = HTMLCMProperties.Values.OMIT_END_DEFAULT;
-					break;
-				case HTMLElementDeclaration.OMIT_END_MUST :
-					type = HTMLCMProperties.Values.OMIT_END_MUST;
-					break;
-				case HTMLElementDeclaration.OMIT_NONE :
-				// nothing to do.
-				default :
-					break;
-			}
-			return type;
-		}
-	}
-
-	/*
-	 * "inclusion"
-	 */
-	class PPInclusion extends AbstractElementPropertyProvider {
-		public PPInclusion() {
-			super();
-		}
-
-		protected Object getElementProperty(HTMLPropertyDeclaration decl) {
-			return decl.getInclusion();
-		}
-	}
-
-	public static PropertyProvider getProvider(String propName) {
-		PropertyProviderFactory factory = getInstance();
-		PropertyProvider pp = (PropertyProvider) factory.registry.get(propName);
-		if (pp != null)
-			return pp;
-
-		pp = factory.create(propName);
-		if (pp == null)
-			return factory.defaultProvider;
-
-		factory.registry.put(propName, pp);
-		return pp;
-	}
-
-	private static PropertyProviderFactory instance = null;
-
-	private synchronized static PropertyProviderFactory getInstance() {
-		if (instance != null)
-			return instance;
-		instance = new PropertyProviderFactory();
-		return instance;
-	}
-
-	private Hashtable registry = new Hashtable();
-	private PropertyProvider defaultProvider = new DefaultProvider();
-
-	private PropertyProviderFactory() {
-		super();
-	}
-
-	private PropertyProvider create(String propName) {
-		PropertyProvider pp = null;
-		if (propName.equals(HTMLCMProperties.IS_JSP))
-			pp = new PPIsJSP();
-		else if (propName.equals(HTMLCMProperties.IS_XHTML))
-			pp = new PPIsXHTML();
-		else if (propName.equals(HTMLCMProperties.IS_SSI))
-			pp = new PPIsSSI();
-		else if (propName.equals(HTMLCMProperties.LAYOUT_TYPE))
-			pp = new PPLayoutType();
-		else if (propName.equals(HTMLCMProperties.LINE_BREAK_HINT))
-			pp = new PPLineBreakHint();
-		else if (propName.equals(HTMLCMProperties.PROHIBITED_ANCESTORS))
-			pp = new PPProhibitedAncestors();
-		else if (propName.equals(HTMLCMProperties.SHOULD_KEEP_SPACE))
-			pp = new PPShouldKeepSpace();
-		else if (propName.equals(HTMLCMProperties.SHOULD_INDENT_CHILD_SOURCE))
-			pp = new PPShouldIndentChildSource();
-		else if (propName.equals(HTMLCMProperties.TERMINATORS))
-			pp = new PPTerminators();
-		else if (propName.equals(HTMLCMProperties.TAGINFO))
-			pp = new PPTagInfo();
-		else if (propName.equals(HTMLCMProperties.OMIT_TYPE))
-			pp = new PPOmitType();
-		else if (propName.equals(HTMLCMProperties.INCLUSION))
-			pp = new PPInclusion();
-
-		return pp;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ssi/SSICMDocumentFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ssi/SSICMDocumentFactory.java
deleted file mode 100644
index 66fbaf1..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/ssi/SSICMDocumentFactory.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contentmodel.ssi;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNamespace;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.sse.core.contentmodel.CMDocType;
-
-/**
- * CMDocument factory for SSI documents.
- */
-public final class SSICMDocumentFactory {
-
-	private final static String PREFIX = "SSI";//$NON-NLS-1$
-	private final static String DOC_TYPE_NAME = "SSI";//$NON-NLS-1$
-
-	static class CMNamespaceImpl implements CMNamespace {
-		public CMNamespaceImpl() {
-			super();
-		}
-
-		public String getPrefix() {
-			return PREFIX;
-		}
-
-		public String getURI() {
-			return ""; //$NON-NLS-1$
-		}
-
-		public String getNodeName() {
-			return DOC_TYPE_NAME;
-		}
-
-		public int getNodeType() {
-			return CMNode.NAME_SPACE;
-		}
-
-		public boolean supports(String propertyName) {
-			return false;
-		}
-
-		public Object getProperty(String propertyName) {
-			return null;
-		}
-
-	}
-
-	static class CMDocImpl implements CMDocument {
-		private static CMDocument hcm = HTMLCMDocumentFactory.getCMDocument(CMDocType.HTML_DOC_TYPE);
-
-		static class Elements implements CMNamedNodeMap {
-			private static String[] names = {HTML40Namespace.ElementName.SSI_CONFIG, HTML40Namespace.ElementName.SSI_ECHO, HTML40Namespace.ElementName.SSI_EXEC, HTML40Namespace.ElementName.SSI_FSIZE, HTML40Namespace.ElementName.SSI_FLASTMOD, HTML40Namespace.ElementName.SSI_INCLUDE, HTML40Namespace.ElementName.SSI_PRINTENV, HTML40Namespace.ElementName.SSI_SET};
-			private Hashtable map = new Hashtable();
-
-			public Elements() {
-				CMNamedNodeMap elems = hcm.getElements();
-				for (int i = 0; i < names.length; i++) {
-					String name = names[i];
-					CMElementDeclaration dec = (CMElementDeclaration) elems.getNamedItem(name);
-					if (dec != null)
-						map.put(name, dec);
-				}
-			}
-
-			public int getLength() {
-				return map.size();
-			}
-
-			public CMNode getNamedItem(String name) {
-				String cooked = getCanonicalName(name);
-				if (!map.containsKey(cooked))
-					return null;
-				return (CMNode) map.get(cooked);
-			}
-
-			public CMNode item(int index) {
-				Iterator iter = iterator();
-				while (iter.hasNext()) {
-					Object node = iter.next();
-					if (--index < 0)
-						return (CMNode) node;
-				}
-				return null;
-			}
-
-			public Iterator iterator() {
-				return map.values().iterator();
-			}
-
-			private String getCanonicalName(String rawName) {
-				return rawName.toUpperCase();
-			}
-		}
-
-		static private Elements elements = new Elements();
-
-
-		public CMDocImpl() {
-			super();
-		}
-
-		public String getNodeName() {
-			return ""; //$NON-NLS-1$
-		}
-
-		public int getNodeType() {
-			return CMNode.DOCUMENT;
-		}
-
-		public CMNamedNodeMap getElements() {
-			return elements;
-		}
-
-		public CMNamedNodeMap getEntities() {
-			return null;
-		}
-
-		public CMNamespace getNamespace() {
-			return ssins;
-		}
-
-		public Object getProperty(String propertyName) {
-			return null;
-		}
-
-		public boolean supports(String propertyName) {
-			return false;
-		}
-	}
-
-	private static CMNamespace ssins = new CMNamespaceImpl();
-	private static CMDocument mycm = new CMDocImpl();
-
-	private SSICMDocumentFactory() {
-		super();
-	}
-
-	public static CMDocument getCMDocument() {
-		return mycm;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contenttype/ContentTypeIdForHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contenttype/ContentTypeIdForHTML.java
deleted file mode 100644
index 42d87cd..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contenttype/ContentTypeIdForHTML.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.contenttype;
-
-/**
- * This class, with its one field, is a convience to provide compile-time
- * safety when refering to a contentType ID. The value of the contenttype id
- * field must match what is specified in plugin.xml file.
- */
-
-public class ContentTypeIdForHTML {
-	/**
-	 * The value of the contenttype id field must match what is specified in
-	 * plugin.xml file. Note: this value is intentially not declared as final,
-	 * so it will not be inlined.
-	 */
-	public static String ContentTypeID_HTML = "org.eclipse.wst.html.core.htmlsource"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/DocumentStyleImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/DocumentStyleImpl.java
deleted file mode 100644
index 77b9001..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/DocumentStyleImpl.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Sep 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.html.core.document;
-
-import org.eclipse.wst.css.core.adapters.IStyleSheetListAdapter;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.css.CSSStyleDeclaration;
-import org.w3c.dom.css.DocumentCSS;
-import org.w3c.dom.stylesheets.StyleSheetList;
-
-/**
- * @author davidw
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class DocumentStyleImpl extends DocumentImpl implements XMLDocument, DocumentCSS {
-	public DocumentStyleImpl() {
-		super();
-	}
-
-	public DocumentStyleImpl(DocumentImpl that) {
-		super(that);
-	}
-
-	public CSSStyleDeclaration getOverrideStyle(Element element, String pseudoName) {
-		INodeAdapter adapter = getAdapterFor(IStyleSheetListAdapter.class);
-		if (adapter == null)
-			return null;
-		return ((IStyleSheetListAdapter) adapter).getOverrideStyle(element, pseudoName);
-	}
-
-	public StyleSheetList getStyleSheets() {
-		INodeAdapter adapter = getAdapterFor(IStyleSheetListAdapter.class);
-		if (adapter == null)
-			return null;
-		return ((IStyleSheetListAdapter) adapter).getStyleSheets();
-	}
-
-	protected void releaseStyleSheets() {
-		INodeAdapter adapter = getExistingAdapter(IStyleSheetListAdapter.class);
-		if (adapter == null)
-			return;
-		((IStyleSheetListAdapter) adapter).releaseStyleSheets();
-	}
-
-	/**
-	 * createElement method
-	 * @return org.w3c.dom.Element
-	 * @param tagName java.lang.String
-	 */
-	public Element createElement(String tagName) throws DOMException {
-		checkTagNameValidity(tagName);
-
-		ElementStyleImpl element = new ElementStyleImpl();
-		element.setOwnerDocument(this);
-		element.setTagName(tagName);
-		return element;
-	}
-
-	/**
-	 * cloneNode method
-	 * @return org.w3c.dom.Node
-	 * @param deep boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		DocumentStyleImpl cloned = new DocumentStyleImpl(this);
-		if (deep)
-			cloned.importChildNodes(this, true);
-		return cloned;
-	}
-
-	protected void setModel(XMLModel model) {
-		super.setModel(model);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/ElementStyleImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/ElementStyleImpl.java
deleted file mode 100644
index 6d97898..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/ElementStyleImpl.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Sep 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.html.core.document;
-
-import org.eclipse.wst.css.core.adapters.IStyleDeclarationAdapter;
-import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.internal.document.ElementImpl;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.css.CSSStyleDeclaration;
-import org.w3c.dom.css.ElementCSSInlineStyle;
-import org.w3c.dom.stylesheets.LinkStyle;
-import org.w3c.dom.stylesheets.StyleSheet;
-
-public class ElementStyleImpl extends ElementImpl implements XMLElement, ElementCSSInlineStyle, LinkStyle {
-	public ElementStyleImpl() {
-		super();
-	}
-
-	public ElementStyleImpl(ElementImpl that) {
-		super(that);
-	}
-
-	public StyleSheet getSheet() {
-		INodeAdapter adapter = getAdapterFor(IStyleSheetAdapter.class);
-		if (adapter == null)
-			return null;
-		if (!(adapter instanceof IStyleSheetAdapter))
-			return null;
-		return ((IStyleSheetAdapter) adapter).getSheet();
-	}
-
-	public CSSStyleDeclaration getStyle() {
-		INodeAdapter adapter = getAdapterFor(IStyleDeclarationAdapter.class);
-		if (adapter == null)
-			return null;
-		if (!(adapter instanceof IStyleDeclarationAdapter))
-			return null;
-		return ((IStyleDeclarationAdapter) adapter).getStyle();
-	}
-
-	protected void setOwnerDocument(Document ownerDocument) {
-		super.setOwnerDocument(ownerDocument);
-	}
-
-	protected void setTagName(String tagName) {
-		super.setTagName(tagName);
-	}
-
-	public Node cloneNode(boolean deep) {
-		ElementImpl cloned = new ElementStyleImpl(this);
-		if (deep)
-			cloneChildNodes(cloned, deep);
-		return cloned;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLConverter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLConverter.java
deleted file mode 100644
index 76fe5c7..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLConverter.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.html.core.cleanup.HTMLCleanupProcessorImpl;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLDocumentType;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-
-/**
- */
-public class HTMLConverter {
-
-	/**
-	 */
-	public HTMLConverter() {
-		super();
-
-	}
-
-	public void cleanupModel(XMLModel model) {
-		if (model == null)
-			return;
-
-		HTMLCleanupProcessorImpl processor = new HTMLCleanupProcessorImpl();
-		IStructuredCleanupPreferences pref = processor.getCleanupPreferences();
-
-		// backup options
-		boolean compressEmptyElementTags = pref.getCompressEmptyElementTags();
-		boolean insertRequiredAttrs = pref.getInsertRequiredAttrs();
-		boolean insertMissingTags = pref.getInsertMissingTags();
-		boolean quoteAttrValues = pref.getQuoteAttrValues();
-		boolean formatSource = pref.getFormatSource();
-		int tagNameCase = pref.getTagNameCase();
-		int attrNameCase = pref.getAttrNameCase();
-
-		// setup options
-		pref.setCompressEmptyElementTags(true);
-		pref.setInsertRequiredAttrs(true);
-		pref.setInsertMissingTags(true);
-		pref.setQuoteAttrValues(true);
-		pref.setFormatSource(false);
-		if (model.getDocument().isXMLType()) { // XHTML
-			pref.setTagNameCase(CommonModelPreferenceNames.LOWER);
-			pref.setAttrNameCase(CommonModelPreferenceNames.LOWER);
-		}
-		else {
-			pref.setTagNameCase(CommonModelPreferenceNames.ASIS);
-			pref.setAttrNameCase(CommonModelPreferenceNames.ASIS);
-		}
-
-		processor.cleanupModel(model);
-
-		// set back options
-		pref.setCompressEmptyElementTags(compressEmptyElementTags);
-		pref.setInsertRequiredAttrs(insertRequiredAttrs);
-		pref.setInsertMissingTags(insertMissingTags);
-		pref.setQuoteAttrValues(quoteAttrValues);
-		pref.setFormatSource(formatSource);
-		pref.setTagNameCase(tagNameCase);
-		pref.setAttrNameCase(attrNameCase);
-	}
-
-	/**
-	 * declaratoin: "data" for XML declaration, such as "version=\"1.0\""
-	 * publicId: publicId for DOCTYPE declaration
-	 */
-	public void convert(XMLModel model, String declaration, String publicId) {
-		if (model == null)
-			return;
-		setDeclaration(model, declaration, publicId);
-		cleanupModel(model);
-	}
-
-	/**
-	 * declaratoin: "data" for XML declaration, such as "version=\"1.0\""
-	 * publicId: publicId for DOCTYPE declaration
-	 */
-	public void convert(InputStream input, OutputStream output, String declaration, String publicId) throws UnsupportedEncodingException, IOException, CoreException {
-		XMLModel model = readModel(input);
-		if (model == null)
-			return;
-		try {
-			convert(model, declaration, publicId);
-			writeModel(model, output);
-		}
-		finally {
-			if (model != null)
-				model.releaseFromEdit();
-		}
-	}
-
-	/**
-	 * declaratoin: "data" for XML declaration, such as "version=\"1.0\""
-	 * publicId: publicId for DOCTYPE declaration
-	 */
-	public void convert(IFile file, String declaration, String publicId) throws IOException, CoreException {
-		XMLModel model = readModel(file);
-		if (model == null)
-			return;
-		try {
-			convert(model, declaration, publicId);
-			writeModel(model, file);
-		}
-		finally {
-			if (model != null)
-				model.releaseFromEdit();
-		}
-	}
-
-	/**
-	 */
-	private static void insertBreak(XMLModel model, Node node) {
-		if (model == null || node == null)
-			return;
-		if (node.getNodeType() == Node.TEXT_NODE)
-			return;
-
-		// get delimiter string
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-		String delim = structuredDocument.getLineDelimiter();
-		if (delim == null || delim.length() == 0)
-			return;
-
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return;
-		Document document = node.getOwnerDocument();
-		if (document == null)
-			return;
-		Text text = document.createTextNode(delim);
-		parent.insertBefore(text, node);
-	}
-
-	/**
-	 */
-	private XMLModel readModel(InputStream input) throws IOException, UnsupportedEncodingException {
-		if (input == null)
-			return null;
-		// create temporary model
-		String id = input.toString() + ".html"; //$NON-NLS-1$
-		IModelManager manager = StructuredModelManager.getModelManager();
-		IStructuredModel model = manager.getModelForEdit(id, input, null);
-		if (!(model instanceof XMLModel)) {
-			if (model == null)
-				model.releaseFromEdit();
-			return null;
-		}
-		return (XMLModel) model;
-	}
-
-	/**
-	 */
-	private XMLModel readModel(IFile file) throws IOException, CoreException {
-		if (file == null)
-			return null;
-		IModelManager manager = StructuredModelManager.getModelManager();
-		IStructuredModel model = manager.getModelForEdit(file);
-		if (!(model instanceof XMLModel)) {
-			if (model != null)
-				model.releaseFromEdit();
-			return null;
-		}
-		return (XMLModel) model;
-	}
-
-	/**
-	 */
-	public void setDeclaration(XMLModel model, String declaration, String publicId) {
-		if (model == null)
-			return;
-		XMLDocument document = model.getDocument();
-		if (document == null)
-			return;
-
-		try {
-			model.aboutToChangeModel();
-
-			ProcessingInstruction pi = null;
-			Node child = document.getFirstChild();
-			if (child != null && child.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
-				String target = child.getNodeName();
-				if (target != null && target.equals("xml")) { //$NON-NLS-1$
-					pi = (ProcessingInstruction) child;
-					child = child.getNextSibling();
-				}
-			}
-			XMLDocumentType docType = (XMLDocumentType) document.getDoctype();
-
-			if (declaration != null) {
-				if (pi != null) {
-					pi.setData(declaration);
-				}
-				else {
-					pi = document.createProcessingInstruction("xml", declaration); //$NON-NLS-1$
-					document.insertBefore(pi, child);
-					insertBreak(model, child);
-				}
-			}
-
-			if (publicId != null) {
-				HTMLDocumentTypeEntry entry = HTMLDocumentTypeRegistry.getInstance().getEntry(publicId);
-				String name = (entry != null ? entry.getName() : null);
-				if (name == null || name.length() == 0)
-					name = "HTML"; // default //$NON-NLS-1$
-				if (docType != null) {
-					if (!name.equals(docType.getName())) { // replace
-						Node parent = docType.getParentNode();
-						child = docType;
-						docType = (XMLDocumentType) document.createDoctype(name);
-						parent.insertBefore(docType, child);
-						parent.removeChild(child);
-					}
-				}
-				else {
-					docType = (XMLDocumentType) document.createDoctype(name);
-					document.insertBefore(docType, child);
-					insertBreak(model, child);
-				}
-				docType.setPublicId(publicId);
-				if (entry != null) {
-					String systemId = entry.getSystemId();
-					if (systemId != null)
-						docType.setSystemId(systemId);
-					String namespaceURI = entry.getNamespaceURI();
-					if (namespaceURI != null) {
-						Element element = document.getDocumentElement();
-						if (element != null) {
-							element.setAttribute("xmlns", namespaceURI); //$NON-NLS-1$
-						}
-					}
-				}
-			}
-		}
-		finally {
-			model.changedModel();
-		}
-	}
-
-	/**
-	 */
-	private void writeModel(XMLModel model, OutputStream output) throws UnsupportedEncodingException, IOException, CoreException {
-		if (model == null || output == null)
-			return;
-		model.save();
-	}
-
-	/**
-	 */
-	private void writeModel(XMLModel model, IFile file) throws IOException, CoreException {
-		if (model == null || file == null)
-			return;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-		//ByteArrayOutputStream output = null;
-		ByteArrayInputStream input = null;
-		try {
-			//output = new
-			// ByteArrayOutputStream(structuredDocument.getLength());
-			model.save();
-			//input = new ByteArrayInputStream(output.toByteArray());
-			//file.setContents(input, true, true, null);
-		}
-		finally {
-			//			if (output != null)
-			//				output.close();
-			if (input != null)
-				input.close();
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapter.java
deleted file mode 100644
index 1b112c2..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapter.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.contentproperties.ContentSettings;
-import org.eclipse.wst.sse.ui.contentproperties.ContentSettingsChangeSubject;
-import org.eclipse.wst.sse.ui.contentproperties.IContentSettings;
-import org.eclipse.wst.sse.ui.contentproperties.IContentSettingsListener;
-import org.eclipse.wst.xml.core.document.DocumentTypeAdapter;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLDocumentType;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.internal.document.DocumentTypeAdapterImpl;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Node;
-
-/**
- */
-public class HTMLDocumentTypeAdapter extends DocumentTypeAdapterImpl implements IContentSettingsListener, HTMLDocumentTypeConstants {
-
-	private HTMLDocumentTypeAdapterFactory factory = null;
-	private HTMLDocumentTypeEntry entry = null;
-	private boolean isXMLType = false;
-	private final static String XML = "xml"; //$NON-NLS-1$
-	private final static String XHTML = "xhtml"; //$NON-NLS-1$
-	private final static String WML = "wml"; //$NON-NLS-1$
-
-
-	/**
-	 */
-	protected HTMLDocumentTypeAdapter() {
-		super();
-	}
-
-	/**
-	 */
-	protected HTMLDocumentTypeAdapter(XMLDocument document, HTMLDocumentTypeAdapterFactory factory) {
-		super(document);
-
-		this.factory = factory;
-
-		// initialize
-		documentTypeChanged();
-
-		ContentSettingsChangeSubject.getSubject().addListener(this);
-	}
-
-	/**
-	 */
-	public void contentSettingsChanged(IResource resource) {
-		if (resource == null)
-			return;
-		XMLDocument document = getDocument();
-		if (document == null)
-			return;
-		XMLModel model = document.getModel();
-		if (model == null)
-			return;
-		IFile file = getFile(model);
-		if (file == null)
-			return;
-		IProject project = file.getProject();
-		if (project == null)
-			return;
-		if (!project.equals(resource.getProject()))
-			return;
-		documentTypeChanged();
-	}
-
-	/**
-	 */
-	private void documentTypeChanged() {
-		XMLDocument document = getDocument();
-		if (document == null)
-			return; // error
-		XMLModel model = document.getModel();
-		if (model == null)
-			return; // error
-
-		IFile file = getFile(model);
-
-		// find DOCTYPE delcaration and Public ID
-		String publicId = null;
-		DocumentType newDocumentType = findDocumentType(document);
-		if (newDocumentType != null) {
-			publicId = newDocumentType.getPublicId();
-		} else {
-			// lookup default set by contentsettings
-			publicId = getDefaultPublicId(file);
-		}
-
-		// lookup DOCTYPE registry
-		HTMLDocumentTypeEntry newEntry = null;
-		if (publicId != null) {
-			newEntry = HTMLDocumentTypeRegistry.getInstance().getEntry(publicId);
-		}
-
-		boolean newXMLType = (newEntry != null ? newEntry.isXMLType() : false);
-		boolean newWMLType = (newEntry != null ? newEntry.isWMLType() : false);
-
-		if (!newXMLType) {
-			// find XML declaration
-			if (findXMLNode(document) != null) {
-				newXMLType = true;
-			}
-
-			// check file extension
-			if (file != null) {
-				String ext = file.getFileExtension();
-				if (ext != null && ext.equalsIgnoreCase(XHTML)) {
-					newXMLType = true;
-				}
-
-				if (ext != null && ext.equalsIgnoreCase(WML)) {
-					newXMLType = true;
-					newWMLType = true;
-				}
-			}
-
-		}
-
-		if (newEntry == null) {
-			// lookup system default
-			if (newXMLType && newDocumentType == null) {
-				// use default XHTML, if it's XML and no document type
-				// declared
-				if (newWMLType)
-					newEntry = HTMLDocumentTypeRegistry.getInstance().getDefaultEntry(HTMLDocumentTypeRegistry.DEFAULT_WML);
-				else
-					newEntry = HTMLDocumentTypeRegistry.getInstance().getDefaultEntry(HTMLDocumentTypeRegistry.DEFAULT_XHTML);
-
-			} else {
-				newEntry = HTMLDocumentTypeRegistry.getInstance().getDefaultEntry(HTMLDocumentTypeRegistry.DEFAULT_HTML);
-			}
-			if (newEntry == null)
-				return; // error
-		}
-
-		if (newDocumentType == null) {
-			DocumentType oldDocumentType = getDocumentType();
-			if (oldDocumentType == null || oldDocumentType.getName() != newEntry.getName()) {
-				// create implicit DocumentType
-				DOMImplementation impl = document.getImplementation();
-				if (impl != null) {
-					String name = newEntry.getName();
-					publicId = newEntry.getPublicId();
-					String systemId = newEntry.getSystemId();
-					newDocumentType = impl.createDocumentType(name, publicId, systemId);
-				}
-			}
-		}
-
-		boolean notify = false;
-		if (this.entry != null) { // do not notify on initialization
-			notify = (newEntry != this.entry || newXMLType != this.isXMLType);
-		}
-
-		if (newDocumentType != null)
-			setDocumentType(newDocumentType);
-		this.entry = newEntry;
-		this.isXMLType = newXMLType;
-
-		if (notify)
-			notifyDocumentTypeChanged();
-	}
-
-	/**
-	 */
-	private XMLDocumentType findDocumentType(XMLDocument document) {
-		XMLDocumentType documentType = (XMLDocumentType) document.getDoctype();
-		if (documentType != null && documentType.getExistingAdapter(DocumentTypeAdapter.class) == null) {
-			// watch future changes
-			documentType.addAdapter(this);
-		}
-		return documentType;
-	}
-
-	/**
-	 */
-	private Node findXMLNode(Document document) {
-		for (Node child = document.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (child.getNodeType() != Node.PROCESSING_INSTRUCTION_NODE)
-				continue;
-			String target = child.getNodeName();
-			if (target != null && target.equals(XML)) {
-				return child;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 */
-	public int getAttrNameCase() {
-		if (isXMLType())
-			return LOWER_CASE; // XHTML
-		return this.factory.getAttrNameCase();
-	}
-
-	/**
-	 */
-	private String getDefaultPublicId(IFile file) {
-		if (file == null)
-			return null;
-		IProject project = file.getProject();
-		if (project == null)
-			return null;
-		IContentSettings settings = ContentSettings.getInstance();
-		if (settings == null)
-			return null;
-		String publicId = settings.getProperty(file, IContentSettings.HTML_DOCUMENT_TYPE);
-		if (publicId == null || publicId.length() == 0) {
-			// look up project default
-			publicId = settings.getProperty(project, IContentSettings.HTML_DOCUMENT_TYPE);
-		}
-		return publicId;
-	}
-
-	private IFile getFile(IStructuredModel model) {
-		IFile result = null;
-		String location = model.getBaseLocation();
-		if (location != null) {
-			IPath path = new Path(location);
-			if (!path.toFile().exists() && path.segmentCount() > 1) {
-				result = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 */
-	public int getTagNameCase() {
-		if (isXMLType())
-			return LOWER_CASE; // XHTML
-		return this.factory.getTagNameCase();
-	}
-
-	/**
-	 */
-	public boolean hasFeature(String feature) {
-		if (feature == null)
-			return false;
-		if (feature.equals(HTML))
-			return true;
-		if (feature.equals(SSI))
-			return true;
-		if (feature.equals(FRAMESET)) {
-			if (this.entry == null)
-				return false;
-			return this.entry.hasFrameset();
-		}
-		return false;
-	}
-
-	/**
-	 */
-	public boolean isXMLType() {
-		return this.isXMLType;
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (notifier == null)
-			return;
-		if (notifier instanceof XMLDocument) {
-			if (eventType != INodeNotifier.STRUCTURE_CHANGED)
-				return;
-		} else {
-			if (eventType != INodeNotifier.CHANGE)
-				return;
-		}
-		documentTypeChanged();
-	}
-
-	/**
-	 */
-	public void release() {
-		ContentSettingsChangeSubject.getSubject().removeListener(this);
-		super.release();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapterFactory.java
deleted file mode 100644
index 72bc75c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapterFactory.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.document.DocumentTypeAdapter;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-
-/**
- */
-public class HTMLDocumentTypeAdapterFactory implements AdapterFactory, Preferences.IPropertyChangeListener, CommonModelPreferenceNames {
-
-	private static HTMLDocumentTypeAdapterFactory instance = null;
-	private int tagNameCase = DocumentTypeAdapter.UPPER_CASE;
-	private int attrNameCase = DocumentTypeAdapter.LOWER_CASE;
-	//private IPreferenceStore store = null;
-	private Preferences preferences = null;
-
-	/**
-	 */
-	private HTMLDocumentTypeAdapterFactory() {
-		super();
-		this.preferences = HTMLCorePlugin.getDefault().getPluginPreferences();
-		//this.store = CommonPreferencesPlugin.getDefault().getPreferenceStore(ContentTypeRegistry.HTML_ID);
-		if (this.preferences != null) {
-			updateCases(); // initialize
-			this.preferences.addPropertyChangeListener(this);
-		}
-	}
-
-	/**
-	 * Method that returns the adapter associated with the given object.
-	 * It may be a singleton or not ... depending on the needs of the INodeAdapter  ...
-	 * but in general it is recommended for an adapter to be stateless, 
-	 * so the efficiencies of a singleton can be gained.
-	 *
-	 * The implementation of this method should call addAdapter on the adapted
-	 * object with the correct instance of the adapter.
-	 */
-	public INodeAdapter adapt(INodeNotifier notifier) {
-		INodeAdapter adapter = notifier.getExistingAdapter(DocumentTypeAdapter.class);
-		if (adapter != null)
-			return adapter;
-		if (!(notifier instanceof XMLDocument))
-			return null;
-		adapter = new HTMLDocumentTypeAdapter((XMLDocument) notifier, this);
-		notifier.addAdapter(adapter);
-		return adapter;
-	}
-
-	/**
-	 */
-	public int getAttrNameCase() {
-		return this.attrNameCase;
-	}
-
-	/**
-	 * Insert the method's description here.
-	 * @return com.ibm.iwt.css.adapters.HTMLStyleSelectorAdapterFactory
-	 */
-	public synchronized static HTMLDocumentTypeAdapterFactory getInstance() {
-		if (instance == null)
-			instance = new HTMLDocumentTypeAdapterFactory();
-		return instance;
-	}
-
-	/**
-	 */
-	public int getTagNameCase() {
-		return this.tagNameCase;
-	}
-
-	/**
-	 */
-	public boolean isFactoryForType(Object type) {
-		return (type == DocumentTypeAdapter.class);
-	}
-
-	/**
-	 */
-	public void propertyChange(Preferences.PropertyChangeEvent event) {
-		if (event == null)
-			return;
-		String property = event.getProperty();
-		if (property == null)
-			return;
-
-		if (property.equals(TAG_NAME_CASE) || property.equals(ATTR_NAME_CASE)) {
-			updateCases();
-		}
-	}
-
-	/**
-	 */
-	private void updateCases() {
-		this.tagNameCase = DocumentTypeAdapter.UPPER_CASE;
-		this.attrNameCase = DocumentTypeAdapter.LOWER_CASE;
-
-		if (this.preferences == null)
-			return;
-
-		if (this.preferences.getInt(TAG_NAME_CASE) == LOWER) {
-			this.tagNameCase = DocumentTypeAdapter.LOWER_CASE;
-		}
-		if (this.preferences.getInt(ATTR_NAME_CASE) == UPPER) {
-			this.attrNameCase = DocumentTypeAdapter.UPPER_CASE;
-		}
-	}
-
-	/**
-	 */
-	public void release() {
-	}
-
-	/**
-	 * Overriding copy method
-	 */
-	public AdapterFactory copy() {
-		return getInstance();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeConstants.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeConstants.java
deleted file mode 100644
index e44e5ec..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeConstants.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-public interface HTMLDocumentTypeConstants {
-
-	public final static String HTML = "HTML"; //$NON-NLS-1$
-	public final static String FRAMESET = "FRAMESET"; //$NON-NLS-1$
-	public final static String SSI = "SSI"; //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeEntry.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeEntry.java
deleted file mode 100644
index 958c11a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeEntry.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-/**
- */
-public class HTMLDocumentTypeEntry {
-
-	private String name;
-	private String publicId;
-	private String systemId;
-	private String namespaceURI;
-	private boolean isXMLType;
-	private boolean isXHTMLType;
-	private boolean isWMLType;
-	private boolean hasFrameset;
-	private String displayName;
-	private boolean isDefaultXHTML;
-	private boolean isDefaultWML;
-	private static String XHTML_NAME = "html"; //$NON-NLS-1$
-	private static String HTML_NAME = "HTML"; //$NON-NLS-1$
-
-	/**
-	 */
-	private HTMLDocumentTypeEntry() {
-		super();
-	}
-
-	/**
-	 */
-	public HTMLDocumentTypeEntry(String name, String publicId, String systemId, String namespaceURI, boolean isXHTMLType, boolean hasFrameset, String displayName, boolean isDefaultXHTML, boolean isDefaultWML, boolean isWMLType) {
-		super();
-
-		if (name != null && name.length() > 0) {
-			this.name = name;
-		}
-		else {
-			if (isXMLType)
-				this.name = XHTML_NAME;// need code for wml?
-			else
-				this.name = HTML_NAME;
-		}
-		this.publicId = publicId;
-		this.systemId = systemId;
-		this.namespaceURI = namespaceURI;
-		this.isXMLType = isXHTMLType | isWMLType;
-		this.hasFrameset = hasFrameset;
-		this.displayName = displayName;
-		this.isDefaultXHTML = isDefaultXHTML;
-		this.isDefaultWML = isDefaultWML;
-		this.isXHTMLType = isXHTMLType;
-		this.isWMLType = isWMLType;
-	}
-
-	/**
-	 */
-	public final String getName() {
-		return this.name;
-	}
-
-	/**
-	 */
-	public final String getNamespaceURI() {
-		return this.namespaceURI;
-	}
-
-	/**
-	 */
-	public final String getPublicId() {
-		return this.publicId;
-	}
-
-	/**
-	 */
-	public final String getSystemId() {
-		return this.systemId;
-	}
-
-	/**
-	 */
-	public final boolean isXMLType() {
-		return this.isXMLType;
-	}
-
-	/**
-	 */
-	public final boolean hasFrameset() {
-		return this.hasFrameset;
-	}
-
-	/**
-	 */
-	public final String getDisplayName() {
-		return this.displayName;
-	}
-
-	/**
-	 */
-	public final boolean isDefaultXHTML() {
-		return this.isDefaultXHTML;
-	}
-
-	public final boolean isDefaultWML() {
-		return this.isDefaultWML;
-	}
-
-
-	public final boolean isXHTMLType() {
-		return isXHTMLType;
-	}
-
-	public final boolean isWMLType() {
-		return isWMLType;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeRegistry.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeRegistry.java
deleted file mode 100644
index 9b18366..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeRegistry.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-/**
- */
-public class HTMLDocumentTypeRegistry {
-
-	private static HTMLDocumentTypeRegistry instance = null;
-	private Hashtable entries = null;
-	private HTMLDocumentTypeEntry defaultEntry = null;
-	private HTMLDocumentTypeEntry defaultXHTMLEntry = null;
-	private HTMLDocumentTypeEntry defaultWMLEntry = null;
-	private HTMLDocumentTypeEntry defaultCHTMLEntry = null;
-
-	final static int DEFAULT_HTML = 0;
-	final static int DEFAULT_XHTML = 1;
-	final static int DEFAULT_WML = 2;
-	final static int DEFAULT_CHTML = 3;
-
-	public static final String CHTML_PUBLIC_ID = "-//W3C//DTD Compact HTML 1.0 Draft//EN";//$NON-NLS-1$
-
-	/**
-	 */
-	private HTMLDocumentTypeRegistry() {
-		super();
-
-		this.entries = new Hashtable();
-		// HTML 4.01
-		String name = "HTML";//$NON-NLS-1$
-		String publicId = "-//W3C//DTD HTML 4.01 Transitional//EN";//$NON-NLS-1$
-		String displayName = "HTML 4.01 Transitional"; //$NON-NLS-1$
-		this.defaultEntry = new HTMLDocumentTypeEntry(name, publicId, null, null, false, false, displayName, false, false, false);
-		this.entries.put(publicId, this.defaultEntry);
-		publicId = "-//W3C//DTD HTML 4.01//EN";//$NON-NLS-1$
-		displayName = "HTML 4.01 Strict"; //$NON-NLS-1$
-		this.entries.put(publicId, new HTMLDocumentTypeEntry(name, publicId, null, null, false, false, displayName, false, false, false));
-		publicId = "-//W3C//DTD HTML 4.01 Frameset//EN";//$NON-NLS-1$
-		displayName = "HTML 4.01 Frameset"; //$NON-NLS-1$
-		this.entries.put(publicId, new HTMLDocumentTypeEntry(name, publicId, null, null, false, true, displayName, false, false, false));
-		// CHTML
-		name = "HTML";//$NON-NLS-1$
-		publicId = CHTML_PUBLIC_ID;
-		displayName = "Compact HTML 1.0 Draft"; //$NON-NLS-1$
-		this.defaultCHTMLEntry = new HTMLDocumentTypeEntry(name, publicId, null, null, false, false, displayName, false, false, false);
-		this.entries.put(publicId, this.defaultCHTMLEntry);
-
-		HTMLDocumentTypeRegistryReader reader = new HTMLDocumentTypeRegistryReader();
-		if (reader != null)
-			reader.readRegistry(this);
-	}
-
-	/**
-	 */
-	void regist(String pid, HTMLDocumentTypeEntry doctype) {
-		if (pid == null || doctype == null)
-			return;
-		this.entries.put(pid, doctype);
-		if (this.defaultXHTMLEntry == null) {
-			if (doctype.isDefaultXHTML())
-				this.defaultXHTMLEntry = doctype;
-		}
-		if (this.defaultWMLEntry == null) {
-			if (doctype.isDefaultWML())
-				this.defaultWMLEntry = doctype;
-		}
-	}
-
-	/**
-	 * 
-	 */
-	public HTMLDocumentTypeEntry getDefaultEntry(int type) {
-		HTMLDocumentTypeEntry entry = null;
-		switch (type) {
-			case DEFAULT_XHTML :
-				entry = this.defaultXHTMLEntry;
-				break;
-			case DEFAULT_WML :
-				entry = this.defaultWMLEntry;
-				break;
-			case DEFAULT_CHTML :
-				entry = this.defaultCHTMLEntry;
-				break;
-			case DEFAULT_HTML :
-			default :
-				entry = this.defaultEntry;
-				break;
-		}
-		return entry;
-	}
-
-	/**
-	 * 
-	 */
-	public HTMLDocumentTypeEntry getDefaultEntry() {
-		return this.defaultEntry;
-	}
-
-	/**
-	 */
-	public HTMLDocumentTypeEntry getXHTMLDefaultEntry() {
-		return this.defaultXHTMLEntry;
-	}
-
-	/**
-	 */
-	public Enumeration getEntries() {
-		return this.entries.elements();
-	}
-
-	/**
-	 */
-	public HTMLDocumentTypeEntry getEntry(String publicId) {
-		if (publicId == null)
-			return null;
-		return (HTMLDocumentTypeEntry) this.entries.get(publicId);
-	}
-
-	/**
-	 */
-	public synchronized static HTMLDocumentTypeRegistry getInstance() {
-		if (instance == null)
-			instance = new HTMLDocumentTypeRegistry();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeRegistryReader.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeRegistryReader.java
deleted file mode 100644
index 4102e8a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeRegistryReader.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-
-/**
- */
-class HTMLDocumentTypeRegistryReader {
-
-	//
-	private final static String PLUGIN_ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-	private final static String EXTENSION_POINT_ID = "documentTypes"; //$NON-NLS-1$
-	private final static String TAG_NAME = "documentType"; //$NON-NLS-1$
-	private final static String ATT_PID = "publicID"; //$NON-NLS-1$
-	private final static String ATT_SID = "systemID"; //$NON-NLS-1$
-	private final static String ATT_IS_XHTML = "isXHTML"; //$NON-NLS-1$
-	private final static String ATT_IS_WML = "isWML"; //$NON-NLS-1$
-	private final static String ATT_HAS_FRAMESET = "hasFrameset"; //$NON-NLS-1$
-	private final static String ATT_NSURI = "namespaceURI"; //$NON-NLS-1$
-	private final static String ATT_ENAME = "elementName"; //$NON-NLS-1$
-	private final static String ATT_DNAME = "displayName"; //$NON-NLS-1$
-	private final static String ATT_IS_DEFAULT_XHTML = "defaultXHTML"; //$NON-NLS-1$
-	private final static String ATT_IS_DEFAULT_WML = "defaultWML"; //$NON-NLS-1$
-	private final static String ATV_TRUE = "true"; //$NON-NLS-1$
-	private final static String ATV_NULL_STRING = ""; //$NON-NLS-1$
-
-	/**
-	 */
-	HTMLDocumentTypeRegistryReader() {
-		super();
-	}
-
-	/**
-	 */
-	void readRegistry(HTMLDocumentTypeRegistry reg) {
-		if (reg == null)
-			return;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IExtensionPoint point = registry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				HTMLDocumentTypeEntry doctype = readElement(elements[i]);
-				// null can be returned if there's an error reading the element
-				if (doctype != null) {
-					reg.regist(doctype.getPublicId(), doctype);
-				}
-			}
-		}
-	}
-
-	/**
-	 */
-	private HTMLDocumentTypeEntry readElement(IConfigurationElement element) {
-		HTMLDocumentTypeEntry doctype = null;
-		String pid = null;
-		String sid = null;
-		String nsuri = null;
-		String root = null;
-		boolean xhtml = true;
-		boolean frameset = false;
-		String dname = null;
-		boolean defaultXhtml = false;
-		boolean defaultWML = false;
-		boolean isWML = false;
-
-		if (element.getName().equals(TAG_NAME)) {
-			pid = element.getAttribute(ATT_PID);
-			// publicID attribute is mandatory.
-			if (pid == null || pid.equals(ATV_NULL_STRING))
-				return null;
-
-			sid = element.getAttribute(ATT_SID);
-			nsuri = element.getAttribute(ATT_NSURI);
-			root = element.getAttribute(ATT_ENAME);
-			xhtml = getBoolean(element, ATT_IS_XHTML);
-			frameset = getBoolean(element, ATT_HAS_FRAMESET);
-			dname = element.getAttribute(ATT_DNAME);
-			defaultXhtml = getBoolean(element, ATT_IS_DEFAULT_XHTML);
-			defaultWML = getBoolean(element, ATT_IS_DEFAULT_WML);
-			isWML = getBoolean(element, ATT_IS_WML);
-			doctype = new HTMLDocumentTypeEntry(root, pid, sid, nsuri, xhtml, frameset, dname, defaultXhtml, defaultWML, isWML);
-		}
-		return doctype;
-	}
-
-	/**
-	 */
-	private boolean getBoolean(IConfigurationElement element, String att) {
-		String value = element.getAttribute(att);
-		if (value != null && value.equals(ATV_TRUE))
-			return true;
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapter.java
deleted file mode 100644
index e8b4fb3..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapter.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.TagAdapter;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLText;
-import org.eclipse.wst.xml.core.internal.document.CMNodeUtil;
-import org.eclipse.wst.xml.core.internal.document.ModelParserAdapter;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * HTMLDocumentImpl class
- */
-public class HTMLModelParserAdapter implements ModelParserAdapter {
-	/**
-	 * note: I made public, temparily, so could be used by JSPLoader
-	 */
-	protected HTMLModelParserAdapter() {
-		super();
-	}
-
-	private boolean shouldTerminateAt(CMElementDeclaration parent, CMElementDeclaration child) {
-		if (!parent.supports(HTMLCMProperties.TERMINATORS))
-			return false;
-		java.util.Iterator i = (java.util.Iterator) parent.getProperty(HTMLCMProperties.TERMINATORS);
-		if (i == null)
-			return false;
-		String nextName = child.getElementName();
-		while (i.hasNext()) {
-			// NOTE: CMElementDeclaration of child is not always HTMLCMElementDeclaration.
-			// It might be one of based on DTD (for XHTML element).  So, comparison must
-			// be performed ignoring case.
-			// -- 3/20/2002
-			String terminator = (String) i.next();
-			if (terminator == null)
-				continue;
-			if (nextName.equalsIgnoreCase(terminator))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 */
-	public boolean canContain(Element element, Node child) {
-		if (element == null || child == null)
-			return false;
-		XMLElement impl = (XMLElement) element;
-
-		if (child.getNodeType() == Node.ELEMENT_NODE) {
-			if (!impl.isGlobalTag())
-				return true; // non HTML tag
-			XMLElement childElement = (XMLElement) child;
-
-			CMElementDeclaration myDec = CMNodeUtil.getElementDeclaration(element);
-			if (myDec == null)
-				return true;
-			//if (!(myDec instanceof HTMLElementDeclaration)) return true;
-			if (myDec.getContentType() == CMElementDeclaration.EMPTY)
-				return false;
-
-			if (!childElement.isGlobalTag())
-				return true; // non HTML tag
-			CMElementDeclaration childDec = CMNodeUtil.getElementDeclaration(childElement);
-			if (childDec == null)
-				return true;
-			//if (!(childDec instanceof HTMLElementDeclaration)) return true;
-
-			if (myDec instanceof HTMLElementDeclaration) {
-				if (((Boolean) ((HTMLElementDeclaration) myDec).getProperty(HTMLCMProperties.IS_JSP)).booleanValue())
-					return true;
-			}
-			if (shouldTerminateAt(myDec, childDec) && !isValidChild(myDec, childDec)) {
-				return false;
-			}
-
-			String tagName = impl.getTagName();
-			if (tagName == null)
-				return true;
-			String childName = childElement.getTagName();
-			if (childName == null)
-				return true;
-			if (!impl.hasStartTag() && !impl.hasEndTag()) {
-				// implicit element
-				if (tagName.equalsIgnoreCase(childElement.getTagName()))
-					return false;
-				if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.HEAD)) {
-					if (!childName.equalsIgnoreCase(HTML40Namespace.ElementName.META) && !childName.equalsIgnoreCase(HTML40Namespace.ElementName.TITLE) && !childName.equalsIgnoreCase(HTML40Namespace.ElementName.LINK) && !childName.equalsIgnoreCase(HTML40Namespace.ElementName.STYLE) && !childName.equalsIgnoreCase(HTML40Namespace.ElementName.BASE) && !childName.equalsIgnoreCase(HTML40Namespace.ElementName.ISINDEX)) {
-						return false;
-					}
-				}
-
-				Node parent = element.getParentNode();
-				if (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
-					XMLElement parentElement = (XMLElement) parent;
-					if (!parentElement.hasStartTag() && !parentElement.hasEndTag()) {
-						if (!canContain(parentElement, child))
-							return false;
-					}
-				}
-				return true;
-			}
-
-			// contexual termination for TABLE content tags
-			boolean isTableContent = false;
-			if (childName.equalsIgnoreCase(HTML40Namespace.ElementName.TBODY) || childName.equalsIgnoreCase(HTML40Namespace.ElementName.THEAD) || childName.equalsIgnoreCase(HTML40Namespace.ElementName.TFOOT)) {
-				if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.TABLE))
-					return true;
-				isTableContent = true;
-			}
-			else if (childName.equalsIgnoreCase(HTML40Namespace.ElementName.TR)) {
-				if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.TBODY) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.THEAD) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.TFOOT) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.TABLE))
-					return true;
-				isTableContent = true;
-			}
-			else if (childName.equalsIgnoreCase(HTML40Namespace.ElementName.TD) || childName.equalsIgnoreCase(HTML40Namespace.ElementName.TH)) {
-				if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.TR) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.TBODY) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.THEAD) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.TFOOT) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.TABLE))
-					return true;
-				isTableContent = true;
-			}
-			if (isTableContent) {
-				// TABLE content tags should terminate non TABLE content tags,
-				// if in TABLE
-				for (Node parent = element.getParentNode(); parent != null; parent = parent.getParentNode()) {
-					if (parent.getNodeType() != Node.ELEMENT_NODE)
-						break;
-					XMLElement parentElement = (XMLElement) parent;
-					String parentName = parentElement.getTagName();
-					if (parentName == null)
-						continue;
-					if (parentName.equalsIgnoreCase(HTML40Namespace.ElementName.TABLE))
-						return false;
-				}
-			}
-			if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.EMBED)) {
-				if (!childName.equalsIgnoreCase(HTML40Namespace.ElementName.NOEMBED))
-					return false;
-			}
-		}
-		else if (child.getNodeType() == Node.TEXT_NODE) {
-			String tagName = impl.getTagName();
-			if (tagName != null && tagName.equalsIgnoreCase(HTML40Namespace.ElementName.EMBED)) {
-				XMLText text = (XMLText) child;
-				if (!text.isWhitespace())
-					return false;
-			}
-		}
-		else if (child.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-			if (impl.isImplicitTag())
-				return false;
-		}
-
-		return true;
-	}
-
-	/**
-	 */
-	public boolean canBeImplicitTag(Element element) {
-		return false;
-	}
-
-	/**
-	 */
-	public boolean canBeImplicitTag(Element element, Node child) {
-		return false;
-	}
-
-	/**
-	 */
-	public Element createCommentElement(Document document, String data, boolean isJSPTag) {
-		if (document == null || data == null || data.length() == 0)
-			return null;
-
-		return createMetaElement(document, data, isJSPTag);
-	}
-
-	/**
-	 * This routine create an implicit Element for given parent and child,
-	 * such as HTML, BODY, HEAD, and TBODY for HTML document.
-	 */
-	public Element createImplicitElement(Document document, Node parent, Node child) {
-		return null;
-	}
-
-	/**
-	 */
-	private Element createMetaElement(Document document, String data, boolean isJSPTag) {
-		if (data == null || data.length() == 0)
-			return null;
-
-		TagScanner scanner = new TagScanner(data, 0, true); // one line
-		String name = scanner.nextName();
-		if (name == null || !name.equalsIgnoreCase(MetaData.METADATA))
-			return null;
-
-		String type = null;
-		boolean isStartSpan = false;
-		boolean isEndSpan = false;
-		name = scanner.nextName();
-		while (name != null) {
-			String value = scanner.nextValue();
-			if (name.equalsIgnoreCase(MetaData.TYPE)) {
-				if (value == null)
-					return null;
-				if (value.equalsIgnoreCase(MetaData.DESIGNER_CONTROL)) {
-					type = MetaData.DESIGNER_CONTROL;
-				}
-				else if (value.equalsIgnoreCase(MetaData.DYNAMIC_DATA)) {
-					type = MetaData.DYNAMIC_DATA;
-				}
-				else if (value.equalsIgnoreCase(MetaData.AUTHOR_TIME_VISUAL)) {
-					type = MetaData.AUTHOR_TIME_VISUAL;
-				}
-				else if (value.equalsIgnoreCase(MetaData.ANNOTATION)) {
-					type = MetaData.ANNOTATION;
-				}
-				else {
-					return null;
-				}
-			}
-			else if (name.equalsIgnoreCase(MetaData.STARTSPAN)) {
-				isStartSpan = true;
-			}
-			else if (name.equalsIgnoreCase(MetaData.ENDSPAN)) {
-				if (!isStartSpan)
-					isEndSpan = true;
-			}
-			name = scanner.nextName();
-		}
-		if (type == null)
-			return null;
-		if (!isStartSpan && !isEndSpan)
-			return null;
-		String metaData = null;
-		int offset = scanner.getNextOffset(); // skip new line
-		if (offset < data.length())
-			metaData = data.substring(offset);
-		if (metaData == null)
-			metaData = new String();
-
-		XMLElement element = (XMLElement) document.createElement(MetaData.PREFIX + type);
-
-		MetaDataAdapter adapter = new MetaDataAdapter(type);
-		if (isStartSpan) {
-			if (metaData != null)
-				adapter.setData(metaData);
-		}
-		else {
-			if (metaData != null)
-				adapter.setEndData(metaData);
-		}
-		element.addAdapter(adapter);
-		adapter.setElement(element);
-		element.setJSPTag(isJSPTag);
-
-		return element;
-	}
-
-	/**
-	 */
-	public String getFindRootName(String tagName) {
-		if (tagName == null)
-			return null;
-		// tag matching should not beyond TABLE tag except BODY tag
-		if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.BODY))
-			return null;
-		return HTML40Namespace.ElementName.TABLE;
-	}
-
-	/**
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == ModelParserAdapter.class);
-	}
-
-	/**
-	 */
-	public boolean isEndTag(XMLElement element) {
-		TagAdapter adapter = (TagAdapter) element.getExistingAdapter(TagAdapter.class);
-		if (adapter != null)
-			return adapter.isEndTag();
-		return element.isEndTag();
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	private static boolean isValidChild(CMElementDeclaration parent, CMElementDeclaration child) {
-		if (parent == null || child == null)
-			return false;
-		CMContent content = parent.getContent();
-		if (content == null)
-			return false;
-		return isChild(content, child);
-	}
-
-	/**
-	 */
-	private static boolean isChild(CMContent content, CMElementDeclaration target) {
-		switch (content.getNodeType()) {
-			case CMNode.ELEMENT_DECLARATION :
-				return isSameDeclaration((CMElementDeclaration) content, target);
-			case CMNode.GROUP :
-				CMNodeList children = ((CMGroup) content).getChildNodes();
-				for (int i = 0; i < children.getLength(); i++) {
-					CMNode child = children.item(i);
-					switch (child.getNodeType()) {
-						case CMNode.ELEMENT_DECLARATION :
-							if (isSameDeclaration((CMElementDeclaration) child, target))
-								return true;
-							continue; // Go next child.
-						case CMNode.GROUP :
-							if (isChild((CMContent) child, target))
-								return true;
-							continue; // Go next child.
-						default :
-							continue; // Go next child.
-					}
-				}
-		}
-		return false;
-	}
-
-	/**
-	 */
-	private static boolean isSameDeclaration(CMElementDeclaration aDec, CMElementDeclaration otherDec) {
-		return aDec.getElementName() == otherDec.getElementName();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapterFactory.java
deleted file mode 100644
index 07a145f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapterFactory.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.document.ModelParserAdapter;
-
-/**
- */
-public class HTMLModelParserAdapterFactory implements AdapterFactory {
-
-	private static HTMLModelParserAdapterFactory instance = null;
-
-	/**
-	 */
-	private HTMLModelParserAdapterFactory() {
-		super();
-	}
-
-	/**
-	 * Method that returns the adapter associated with the given object.
-	 * It may be a singleton or not ... depending on the needs of the INodeAdapter  ...
-	 * but in general it is recommended for an adapter to be stateless, 
-	 * so the efficiencies of a singleton can be gained.
-	 *
-	 * The implementation of this method should call addAdapter on the adapted
-	 * object with the correct instance of the adapter.
-	 */
-	public INodeAdapter adapt(INodeNotifier notifier) {
-		return new HTMLModelParserAdapter();
-	}
-
-	/**
-	 */
-	public synchronized static HTMLModelParserAdapterFactory getInstance() {
-		if (instance == null)
-			instance = new HTMLModelParserAdapterFactory();
-		return instance;
-	}
-
-	/**
-	 */
-	public boolean isFactoryForType(Object type) {
-		return (type == ModelParserAdapter.class);
-	}
-
-	/**
-	 */
-	public void release() {
-	}
-
-	/**
-	 * Overriding copy method
-	 */
-	public AdapterFactory copy() {
-		return getInstance();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaData.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaData.java
deleted file mode 100644
index 31e732e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaData.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-/**
- */
-public interface MetaData {
-
-	static final String METADATA = "METADATA";//$NON-NLS-1$
-	static final String TYPE = "type";//$NON-NLS-1$
-	static final String STARTSPAN = "startspan";//$NON-NLS-1$
-	static final String ENDSPAN = "endspan";//$NON-NLS-1$
-	static final String DESIGNER_CONTROL = "DesignerControl";//$NON-NLS-1$
-	static final String DYNAMIC_DATA = "DynamicData";//$NON-NLS-1$
-	static final String AUTHOR_TIME_VISUAL = "AuthorTimeVisual";//$NON-NLS-1$
-	static final String ANNOTATION = "Annotation";//$NON-NLS-1$
-	static final String PREFIX = "METADATA:";//$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaDataAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaDataAdapter.java
deleted file mode 100644
index a509467..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaDataAdapter.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.TagAdapter;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-/**
- */
-public class MetaDataAdapter implements TagAdapter, MetaData {
-
-	private XMLElement element = null;
-	private String type = null;
-	private String data = null;
-	private String endData = null;
-
-	/**
-	 */
-	public MetaDataAdapter(String type) {
-		super();
-
-		if (type != null) {
-			if (type.equals(ANNOTATION)) {
-				this.type = ANNOTATION;
-			}
-			else if (type.equals(AUTHOR_TIME_VISUAL)) {
-				this.type = AUTHOR_TIME_VISUAL;
-			}
-			else {
-				this.type = type;
-			}
-		}
-	}
-
-	/**
-	 */
-	private String getData(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return null;
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return null;
-
-		String data = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_COMMENT_TEXT || regionType == XMLJSPRegionContexts.JSP_COMMENT_TEXT) {
-				data = flatNode.getText(region);
-				break;
-			}
-		}
-		if (data == null)
-			return null;
-		int length = data.length();
-		int offset = 0;
-		for (; offset < length; offset++) {
-			char c = data.charAt(offset);
-			if (c == '\r' || c == '\n') {
-				offset++;
-				break;
-			}
-		}
-		for (; offset < length; offset++) {
-			char c = data.charAt(offset);
-			if (c != '\r' && c != '\n') {
-				break;
-			}
-		}
-		return data.substring(offset);
-	}
-
-	/**
-	 */
-	public String getData() {
-		if (this.element == null)
-			return null;
-		IStructuredDocumentRegion flatNode = this.element.getStartStructuredDocumentRegion();
-		if (flatNode == null)
-			return null;
-		if (this.data != null)
-			return this.data;
-		return getData(flatNode);
-	}
-
-	/**
-	 */
-	private String getDelimiter(XMLModel model) {
-		String delim = null;
-		if (model != null) {
-			IStructuredDocument structuredDocument = model.getStructuredDocument();
-			if (structuredDocument != null)
-				delim = structuredDocument.getLineDelimiter();
-		}
-		if (delim == null)
-			delim = "\r\n";//$NON-NLS-1$
-		return delim;
-	}
-
-	/**
-	 */
-	public String getEndData() {
-		if (this.element == null)
-			return null;
-		IStructuredDocumentRegion flatNode = this.element.getEndStructuredDocumentRegion();
-		if (flatNode == null)
-			return null;
-		if (this.endData != null)
-			return this.endData;
-		return getData(flatNode);
-	}
-
-	/**
-	 */
-	public String getEndTag(XMLElement element) {
-		StringBuffer buffer = new StringBuffer();
-		if (element.isJSPTag())
-			buffer.append("<%--");//$NON-NLS-1$
-		else
-			buffer.append("<!--");//$NON-NLS-1$
-		buffer.append(METADATA);
-		buffer.append(' ');
-		buffer.append(TYPE);
-		buffer.append("=\"");//$NON-NLS-1$
-		buffer.append(this.type);
-		buffer.append("\" ");//$NON-NLS-1$
-		buffer.append(MetaData.ENDSPAN);
-		String data = getEndData();
-		if (data != null && data.length() > 0) {
-			String delim = getDelimiter(element.getModel());
-			buffer.append(delim);
-			buffer.append(data);
-			buffer.append(delim);
-		}
-		if (element.isJSPTag())
-			buffer.append("--%>");//$NON-NLS-1$
-		else
-			buffer.append("-->");//$NON-NLS-1$
-
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	public String getStartTag(XMLElement element) {
-		StringBuffer buffer = new StringBuffer();
-		if (element.isJSPTag())
-			buffer.append("<%--");//$NON-NLS-1$
-		else
-			buffer.append("<!--");//$NON-NLS-1$
-		buffer.append(METADATA);
-		buffer.append(' ');
-		buffer.append(TYPE);
-		buffer.append("=\"");//$NON-NLS-1$
-		buffer.append(this.type);
-		buffer.append("\" ");//$NON-NLS-1$
-		buffer.append(MetaData.STARTSPAN);
-		String data = getData();
-		if (data != null && data.length() > 0) {
-			String delim = getDelimiter(element.getModel());
-			buffer.append(delim);
-			buffer.append(data);
-			buffer.append(delim);
-		}
-		if (element.isJSPTag())
-			buffer.append("--%>");//$NON-NLS-1$
-		else
-			buffer.append("-->");//$NON-NLS-1$
-
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	public String getType() {
-		return this.type;
-	}
-
-	/**
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == TagAdapter.class || type == MetaDataAdapter.class);
-	}
-
-	/**
-	 */
-	public boolean isEndTag() {
-		if (this.element == null)
-			return false;
-		if (this.element.hasStartTag())
-			return false;
-		if (this.element.hasEndTag())
-			return true;
-		if (this.data != null)
-			return false;
-		return (this.endData != null);
-	}
-
-	/**
-	 */
-	public boolean isRuntimeContainer() {
-		return (this.type == ANNOTATION || this.type == AUTHOR_TIME_VISUAL);
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	/**
-	 */
-	public void setData(String data) {
-		this.data = data;
-
-		if (this.element != null)
-			this.element.notifyStartTagChanged();
-	}
-
-	/**
-	 */
-	public void setEndData(String data) {
-		this.endData = data;
-
-		if (this.element != null)
-			this.element.notifyEndTagChanged();
-	}
-
-	/**
-	 */
-	public void setElement(XMLElement element) {
-		this.element = element;
-
-		if (this.element != null) {
-			this.element.setCommentTag(true);
-			if (this.type != MetaData.ANNOTATION) {
-				this.element.setJSPTag(true);
-			}
-		}
-	}
-
-	/**
-	 */
-	public void setRuntimeSource(String source) {
-		if (source == null)
-			return;
-		if (this.element == null)
-			return;
-		if (isRuntimeContainer())
-			return;
-
-		XMLModel model = this.element.getModel();
-		if (model == null)
-			return;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-		int offset = this.element.getStartEndOffset();
-		int end = this.element.getEndStartOffset();
-		int length = end - offset;
-		structuredDocument.replaceText(model, offset, length, source);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/TagScanner.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/TagScanner.java
deleted file mode 100644
index b099e55..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/TagScanner.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-/**
- */
-class TagScanner {
-
-	private String tag = null;
-	private int offset = 0;
-	private int length = 0;
-	private boolean oneLine = false;
-
-	/**
-	 */
-	TagScanner(String tag, int offset) {
-		super();
-
-		this.tag = tag;
-		this.offset = offset;
-		if (tag != null)
-			this.length = tag.length();
-	}
-
-	/**
-	 */
-	TagScanner(String tag, int offset, boolean oneLine) {
-		this(tag, offset);
-
-		this.oneLine = oneLine;
-	}
-
-	/**
-	 */
-	int getNextOffset() {
-		for (; this.offset < this.length; this.offset++) {
-			char c = this.tag.charAt(this.offset);
-			if (!isEnd(c))
-				break;
-		}
-		return this.offset;
-	}
-
-	/**
-	 */
-	int getOffset() {
-		return this.offset;
-	}
-
-	/**
-	 */
-	private final boolean isEnd(char c) {
-		return (this.oneLine && (c == '\r' || c == '\n'));
-	}
-
-	/**
-	 */
-	private static boolean isEqual(char c) {
-		return (c == '=');
-	}
-
-	/**
-	 */
-	private static boolean isQuote(char c) {
-		return (c == '"' || c == '\'');
-	}
-
-	/**
-	 */
-	private static boolean isSpace(char c) {
-		return Character.isWhitespace(c);
-	}
-
-	/**
-	 */
-	private char nextChar() {
-		for (; this.offset < this.length; this.offset++) {
-			char c = this.tag.charAt(this.offset);
-			if (isEnd(c))
-				break;
-			if (!isSpace(c))
-				return c;
-		}
-		return 0;
-	}
-
-	/**
-	 */
-	String nextName() {
-		if (this.tag == null)
-			return null;
-		if (this.offset >= this.length)
-			return null;
-
-		if (nextChar() == 0)
-			return null;
-
-		int nameOffset = this.offset;
-		for (; this.offset < this.length; this.offset++) {
-			char c = this.tag.charAt(this.offset);
-			if (isEnd(c) || isSpace(c))
-				break;
-			if (isEqual(c) && this.offset > nameOffset)
-				break;
-		}
-		if (this.offset == nameOffset)
-			return null;
-
-		return this.tag.substring(nameOffset, this.offset);
-	}
-
-	/**
-	 */
-	String nextValue() {
-		if (this.tag == null)
-			return null;
-		if (this.offset >= this.length)
-			return null;
-
-		char seperator = nextChar();
-		if (!isEqual(seperator))
-			return null;
-		this.offset++; // skip '='
-		char quote = nextChar();
-		if (quote == 0)
-			return null;
-		if (isQuote(quote))
-			this.offset++;
-		else
-			quote = 0;
-
-		int valueOffset = this.offset;
-		for (; this.offset < this.length; this.offset++) {
-			char c = this.tag.charAt(this.offset);
-			if (isEnd(c)) {
-				quote = 0;
-				break;
-			}
-			if (quote == 0) {
-				if (isSpace(c))
-					break;
-			}
-			else {
-				if (c == quote)
-					break;
-			}
-		}
-		int valueEnd = this.offset;
-		if (quote != 0 && this.offset < this.length)
-			this.offset++;
-		if (valueEnd == valueOffset)
-			return null;
-
-		return this.tag.substring(valueOffset, valueEnd);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/UnknownTagAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/UnknownTagAdapter.java
deleted file mode 100644
index d320ac9..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/UnknownTagAdapter.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.document;
-
-
-
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.TagAdapter;
-import org.eclipse.wst.xml.core.document.XMLElement;
-
-/**
- */
-public class UnknownTagAdapter implements TagAdapter {
-
-	private String startTag = null;
-	private String endTag = null;
-
-	/**
-	 */
-	public UnknownTagAdapter() {
-		super();
-	}
-
-	/**
-	 */
-	public String getEndTag(XMLElement element) {
-		String tag = null;
-		if (this.endTag != null) {
-			tag = this.endTag;
-			this.endTag = null;
-		}
-		return tag;
-	}
-
-	/**
-	 */
-	public String getStartTag(XMLElement element) {
-		String tag = null;
-		if (this.startTag != null) {
-			tag = this.startTag;
-			this.startTag = null;
-		}
-		return tag;
-	}
-
-	/**
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == TagAdapter.class);
-	}
-
-	/**
-	 */
-	public boolean isEndTag() {
-		return false;
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	/**
-	 */
-	public void setEndTag(String endTag) {
-		this.endTag = endTag;
-	}
-
-	/**
-	 */
-	public void setStartTag(String startTag) {
-		this.startTag = startTag;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/XMLStyleModelImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/XMLStyleModelImpl.java
deleted file mode 100644
index 62ea67e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/XMLStyleModelImpl.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-/*
- * Created on Sep 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.html.core.document;
-
-import org.eclipse.wst.xml.core.internal.document.XMLModelImpl;
-import org.w3c.dom.Document;
-
-/**
- * @author davidw
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class XMLStyleModelImpl extends XMLModelImpl {
-	public XMLStyleModelImpl() {
-		// remember, the document is created in super constructor, 
-		// via internalCreateDocument
-		super();
-	}
-
-	public void releaseFromEdit() {
-		releaseStyleSheets();
-		super.releaseFromEdit();
-	}
-
-	/**
-	 */
-	public void releaseFromRead() {
-		releaseStyleSheets();
-		super.releaseFromRead();
-	}
-
-	private void releaseStyleSheets() {
-		if (!isShared()) {
-			Document doc = getDocument();
-			if (doc instanceof DocumentStyleImpl) {
-				((DocumentStyleImpl) doc).releaseStyleSheets();
-			}
-		}
-	}
-
-	/**
-	 * createDocument method
-	 * @return org.w3c.dom.Document
-	 */
-	protected Document internalCreateDocument() {
-		DocumentStyleImpl document = new DocumentStyleImpl();
-		document.setModel(this);
-		return document;
-	}
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentCharsetDetector.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentCharsetDetector.java
deleted file mode 100644
index 01f8808..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentCharsetDetector.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.encoding;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.html.core.internal.contenttype.HTMLResourceEncodingDetector;
-import org.eclipse.wst.sse.core.document.DocumentReader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-
-/**
- * This class parses beginning portion of HTML file to get the encoding value
- * in a META tag. Example:
- * <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- * 
- * Note: even though, technically, a META tag must come in a <HEAD>tag, we
- * don't check for that, under the assumption that whatever, or whereever, the
- * the first <META>tag is, it is the one intended to be used by the user, and
- * they may just be trying to repair the error. The HTML validator will tell
- * them if its in the wrong location.
- *  
- */
-public class HTMLDocumentCharsetDetector extends HTMLResourceEncodingDetector implements IDocumentCharsetDetector {
-
-
-	public HTMLDocumentCharsetDetector() {
-		super();
-	}
-
-	public void set(IDocument document) {
-		set(new DocumentReader(document, 0));
-
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentLoader.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentLoader.java
deleted file mode 100644
index 3d3394f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentLoader.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.common.encoding.ContentTypeEncodingPreferences;
-import org.eclipse.wst.html.core.contenttype.ContentTypeIdForHTML;
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeAdapterFactory;
-import org.eclipse.wst.html.core.document.HTMLModelParserAdapterFactory;
-import org.eclipse.wst.html.core.htmlcss.HTMLStyleSelectorAdapterFactory;
-import org.eclipse.wst.html.core.htmlcss.StyleAdapterFactory;
-import org.eclipse.wst.html.core.internal.contenttype.EncodingGuesser;
-import org.eclipse.wst.html.core.internal.text.rules.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.html.core.modelquery.ModelQueryAdapterFactoryForHTML;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.sse.core.document.AbstractDocumentLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-import org.eclipse.wst.xml.core.internal.parser.XMLStructuredDocumentReParser;
-import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-public class HTMLDocumentLoader extends AbstractDocumentLoader {
-
-	public HTMLDocumentLoader() {
-		super();
-	}
-
-	/**
-	 * Convenience method to add tag names using BlockMarker object
-	 */
-	protected void addHTMLishTag(XMLSourceParser parser, String tagname) {
-		//DMW: Nitin, perhaps we should provide some convenience methods
-		// in the parser itself? e.g. addCaseInsensitiveBlockedTag(tagname)
-		BlockMarker bm = new BlockMarker(tagname, null, XMLRegionContext.BLOCK_TEXT, false);
-		parser.addBlockMarker(bm);
-	}
-
-	/**
-	 * Default encoding. For HTML, there is no spec.
-	 */
-	protected String getSpecDefaultEncoding() {
-		return null;
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param string
-	 *            byte[]
-	 * @param length
-	 *            int
-	 * 
-	 * Do automatic encoding detection by guess
-	 */
-	protected String getEncodingNameByGuess(byte[] string, int length) {
-		final String ianaEnc = EncodingGuesser.guessEncoding(string, length);
-		return ianaEnc;
-	}
-
-	/*
-	 * @see AbstractLoader#createNewStructuredDocument()
-	 */
-	protected IEncodedDocument newEncodedDocument() {
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(getParser());
-		((BasicStructuredDocument) structuredDocument).setReParser(new XMLStructuredDocumentReParser());
-
-		return structuredDocument;
-	}
-
-	/*
-	 * @see ModelLoader#getParser()
-	 */
-	public RegionParser getParser() {
-		XMLSourceParser parser = new XMLSourceParser();
-		// for the "static HTML" case, we need to initialize
-		// Blocktags here.
-		addHTMLishTag(parser, "script"); //$NON-NLS-1$
-		addHTMLishTag(parser, "style"); //$NON-NLS-1$
-		return parser;
-	}
-
-	/**
-	 * This method must return those factories which must be attached to the
-	 * structuredModel before content is applied.
-	 */
-	public List getAdapterFactories() {
-		List result = new ArrayList();
-		AdapterFactory factory = null;
-		factory = StyleAdapterFactory.getInstance();
-		result.add(factory);
-		factory = HTMLStyleSelectorAdapterFactory.getInstance();
-		result.add(factory);
-		factory = HTMLDocumentTypeAdapterFactory.getInstance();
-		result.add(factory);
-		factory = HTMLModelParserAdapterFactory.getInstance();
-		result.add(factory);
-		//
-		factory = new ModelQueryAdapterFactoryForHTML();
-		result.add(factory);
-
-		factory = new PropagatingAdapterFactoryImpl();
-		result.add(factory);
-
-
-		return result;
-	}
-
-	protected String getPreferredNewLineDelimiter() {
-		return ContentTypeEncodingPreferences.getPreferredNewLineDelimiter(ContentTypeIdForHTML.ContentTypeID_HTML);
-	}
-
-	public IDocumentCharsetDetector getDocumentEncodingDetector() {
-		if (fDocumentEncodingDetector == null) {
-			fDocumentEncodingDetector = new HTMLDocumentCharsetDetector();
-		}
-		return fDocumentEncodingDetector;
-	}
-
-	protected void preLoadAdapt(IStructuredModel structuredModel) {
-		//		* TODO - how to best handle model requirements
-		//		* if/when document already loaded?
-		// DMW: just added this preload on 8/16/2002
-		// I noticed the ProagatingAdapterFactory was being added,
-		// that that the ProagatingAdapterAdapter was not being
-		// preload adapted -- I'm assuing it ALWAYS has to be.
-		XMLModel domModel = (XMLModel) structuredModel;
-		// if there is a model in the adapter, this will adapt it to
-		// first node. After that the PropagatingAdater spreads over the
-		// children being
-		// created. Each time that happends, a side effect is to
-		// also "spread" sprecific registered adapters,
-		// they two can propigate is needed.
-		((INodeNotifier) domModel.getDocument()).getAdapterFor(PropagatingAdapter.class);
-	}
-
-	public IDocumentPartitioner getDefaultDocumentPartitioner() {
-		return new StructuredTextPartitionerForHTML();
-	}
-
-	public IDocumentLoader newInstance() {
-		return new HTMLDocumentLoader();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLModelLoader.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLModelLoader.java
deleted file mode 100644
index 8f2cc45..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLModelLoader.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeAdapterFactory;
-import org.eclipse.wst.html.core.document.HTMLModelParserAdapterFactory;
-import org.eclipse.wst.html.core.document.XMLStyleModelImpl;
-import org.eclipse.wst.html.core.htmlcss.HTMLStyleSelectorAdapterFactory;
-import org.eclipse.wst.html.core.htmlcss.StyleAdapterFactory;
-import org.eclipse.wst.html.core.modelquery.ModelQueryAdapterFactoryForHTML;
-import org.eclipse.wst.sse.core.AbstractModelLoader;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.internal.DebugAdapterFactory;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-public class HTMLModelLoader extends AbstractModelLoader {
-
-
-	public HTMLModelLoader() {
-		super();
-	}
-
-	/**
-	 * Convenience method to add tag names using BlockMarker object
-	 */
-	protected void addHTMLishTag(XMLSourceParser parser, String tagname) {
-		//DMW: Nitin, perhaps we should provide some convenience methods
-		// in the parser itself? e.g. addCaseInsensitiveBlockedTag(tagname)
-		BlockMarker bm = new BlockMarker(tagname, null, XMLRegionContext.BLOCK_TEXT, false);
-		parser.addBlockMarker(bm);
-	}
-
-	public IStructuredModel newModel() {
-		XMLStyleModelImpl model = new XMLStyleModelImpl();
-		return model;
-	}
-
-	/**
-	 * This method must return those factories which must be attached to the
-	 * structuredModel before content is applied.
-	 */
-	public List getAdapterFactories() {
-		List result = new ArrayList();
-		AdapterFactory factory = null;
-		factory = StyleAdapterFactory.getInstance();
-		result.add(factory);
-		factory = HTMLStyleSelectorAdapterFactory.getInstance();
-		result.add(factory);
-		factory = HTMLDocumentTypeAdapterFactory.getInstance();
-		result.add(factory);
-		factory = HTMLModelParserAdapterFactory.getInstance();
-		result.add(factory);
-		//
-		factory = new ModelQueryAdapterFactoryForHTML();
-		result.add(factory);
-
-		factory = new PropagatingAdapterFactoryImpl();
-		result.add(factory);
-		
-
-		return result;
-	}
-
-	protected void preLoadAdapt(IStructuredModel structuredModel) {
-		super.preLoadAdapt(structuredModel);
-		// DMW: just added this preload on 8/16/2002
-		// I noticed the ProagatingAdapterFactory was being added,
-		// that that the ProagatingAdapterAdapter was not being
-		// preload adapted -- I'm assuing it ALWAYS has to be.
-		XMLModel domModel = (XMLModel) structuredModel;
-		// if there is a model in the adapter, this will adapt it to
-		// first node. After that the PropagatingAdater spreads over the
-		// children being
-		// created. Each time that happends, a side effect is to
-		// also "spread" sprecific registered adapters,
-		// they two can propigate is needed.
-		((INodeNotifier) domModel.getDocument()).getAdapterFor(PropagatingAdapter.class);
-		if (Debug.debugNotificationAndEvents) {
-			PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) domModel.getDocument()).getAdapterFor(PropagatingAdapter.class);
-			propagatingAdapter.addAdaptOnCreateFactory(new DebugAdapterFactory());
-		}	}
-
-	public ModelLoader newInstance() {
-		return new HTMLModelLoader();
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		if (documentLoaderInstance == null) {
-			documentLoaderInstance = new HTMLDocumentLoader();
-		}
-		return documentLoaderInstance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/EmbeddedCSSFormatter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/EmbeddedCSSFormatter.java
deleted file mode 100644
index 1ed9273..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/EmbeddedCSSFormatter.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.format;
-
-
-
-import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.format.CSSSourceFormatter;
-import org.eclipse.wst.html.core.HTMLFormatContraints;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.document.XMLText;
-
-// nakamori_TODO: check and remove
-
-public class EmbeddedCSSFormatter extends HTMLFormatter {
-
-	//private AdapterFactory factory = new CSSSourceFormatterFactory(CSSSourceFormatter.class, true);
-	/**
-	 */
-	protected EmbeddedCSSFormatter() {
-		super();
-	}
-
-	/**
-	 */
-	protected void formatNode(XMLNode node, HTMLFormatContraints contraints) {
-		if (node == null)
-			return;
-		XMLText text = (XMLText) node;
-
-		String source = getCSSContent(node);
-		if (source == null) { // fallback
-			source = text.getSource();
-		}
-
-		int offset = text.getStartOffset();
-		int length = text.getEndOffset() - offset;
-		replaceSource(text.getModel(), offset, length, source);
-		setWidth(contraints, source);
-	}
-
-	/**
-	 */
-	private String getCSSContent(XMLNode text) {
-		ICSSModel model = getCSSModel(text);
-		if (model == null)
-			return null;
-		ICSSNode document = model.getDocument();
-		if (document == null)
-			return null;
-		INodeNotifier notifier = (INodeNotifier) document;
-		INodeAdapter adapter = notifier.getAdapterFor(CSSSourceFormatter.class);
-		if (adapter == null)
-			return null;
-		CSSSourceFormatter formatter = (CSSSourceFormatter) adapter;
-		StringBuffer buffer = formatter.format(document);
-		if (buffer == null)
-			return null;
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	private ICSSModel getCSSModel(XMLNode text) {
-		if (text == null)
-			return null;
-		INodeNotifier notifier = (INodeNotifier) text.getParentNode();
-		if (notifier == null)
-			return null;
-		INodeAdapter adapter = notifier.getAdapterFor(IStyleSheetAdapter.class);
-		if (adapter == null)
-			return null;
-		if (!(adapter instanceof IStyleSheetAdapter))
-			return null;
-		IStyleSheetAdapter styleAdapter = (IStyleSheetAdapter) adapter;
-		return styleAdapter.getModel();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLElementFormatter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLElementFormatter.java
deleted file mode 100644
index 983ba21..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLElementFormatter.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.format;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.adapters.IStyleDeclarationAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.format.CSSSourceFormatter;
-import org.eclipse.wst.html.core.HTMLFormatContraints;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.IStructuredFormatPreferencesXML;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Attr;
-import org.w3c.dom.NamedNodeMap;
-
-// nakamori_TODO: check and remove CSS formatting
-
-public class HTMLElementFormatter extends HTMLFormatter implements XMLRegionContext, XMLJSPRegionContexts {
-
-	/**
-	 */
-	protected HTMLElementFormatter() {
-		super();
-	}
-
-	/**
-	 */
-	private void compressTailingSpaces(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		int offset = region.getTextEnd();
-		int count = region.getEnd() - offset;
-		if (count == 1) {
-			String source = flatNode.getFullText(region);
-			int start = region.getStart();
-			if (source != null && source.charAt(offset - start) == ' ') {
-				// nothing to do
-				return;
-			}
-		}
-		replaceSource(flatNode, offset, count, " ");//$NON-NLS-1$
-	}
-
-	/**
-	 */
-	private void formatEndTag(XMLElement element, HTMLFormatContraints contraints) {
-		IStructuredDocumentRegion endStructuredDocumentRegion = element.getEndStructuredDocumentRegion();
-		if (endStructuredDocumentRegion == null)
-			return;
-
-		if (element.isJSPTag() || element.isCommentTag()) {
-			String endTag = endStructuredDocumentRegion.getText();
-			if (endTag != null && endTag.length() > 0) {
-				setWidth(contraints, endTag);
-			}
-			return;
-		}
-
-		ITextRegion prevRegion = null;
-		ITextRegionList regions = endStructuredDocumentRegion.getRegions();
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			if (region == null)
-				continue;
-			String regionType = region.getType();
-			if (regionType == XML_TAG_NAME || regionType == JSP_ROOT_TAG_NAME || regionType == JSP_DIRECTIVE_NAME) {
-				if (prevRegion != null && prevRegion.getType() == XML_END_TAG_OPEN) {
-					removeTailingSpaces(endStructuredDocumentRegion, prevRegion);
-				}
-			}
-			else if (regionType == XML_TAG_CLOSE) {
-				if (prevRegion != null && (prevRegion.getType() == XML_TAG_NAME || prevRegion.getType() == JSP_ROOT_TAG_NAME)) {
-					removeTailingSpaces(endStructuredDocumentRegion, prevRegion);
-				}
-			}
-			prevRegion = region;
-		}
-		if (prevRegion != null && (prevRegion.getType() == XML_TAG_NAME || prevRegion.getType() == JSP_ROOT_TAG_NAME)) {
-			removeTailingSpaces(endStructuredDocumentRegion, prevRegion);
-		}
-
-		String newEndTag = endStructuredDocumentRegion.getText();
-		if (newEndTag != null && newEndTag.length() > 0) {
-			setWidth(contraints, newEndTag);
-		}
-	}
-
-	/**
-	 */
-	protected void formatNode(XMLNode node, HTMLFormatContraints contraints) {
-		if (node == null)
-			return;
-		XMLElement element = (XMLElement) node;
-
-		formatStartTag(element, contraints);
-
-		formatChildNodes(element, contraints);
-
-		formatEndTag(element, contraints);
-	}
-
-	/**
-	 */
-	private void formatStartTag(XMLElement element, HTMLFormatContraints contraints) {
-		IStructuredDocumentRegion startStructuredDocumentRegion = element.getStartStructuredDocumentRegion();
-		if (startStructuredDocumentRegion == null)
-			return;
-
-		// We should format attributes in JSPTag?
-		//if (element.isJSPTag() || element.isCommentTag()) {
-		if (element.isCommentTag()) {
-			String startTag = startStructuredDocumentRegion.getText();
-			if (startTag != null && startTag.length() > 0) {
-				setWidth(contraints, startTag);
-			}
-			return;
-		}
-
-		// first process style attribute
-		if (element.isGlobalTag()) {
-			Attr attr = element.getAttributeNode("style");//$NON-NLS-1$
-			if (attr != null)
-				formatStyleAttr(attr);
-		}
-		boolean insertBreak = false;
-		insertBreak = ((IStructuredFormatPreferencesXML) getFormatPreferences()).getSplitMultiAttrs();
-
-		if (insertBreak) {
-			NamedNodeMap attributes = element.getAttributes();
-			if (attributes == null || attributes.getLength() < 2)
-				insertBreak = false;
-		}
-		String breakSpaces = getBreakSpaces(element);
-		String indent = getIndent();
-		if (indent != null && indent.length() > 0) {
-			breakSpaces += indent;
-		}
-		ITextRegion lastBreakRegion = null;
-
-		ITextRegion prevRegion = null;
-		ITextRegionList regions = startStructuredDocumentRegion.getRegions();
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			if (region == null)
-				continue;
-
-			ITextRegion breakRegion = null;
-
-			String regionType = region.getType();
-			if (regionType == XML_TAG_NAME || regionType == JSP_ROOT_TAG_NAME || regionType == JSP_DIRECTIVE_NAME) {
-				if (prevRegion != null && prevRegion.getType() == XML_TAG_OPEN) {
-					removeTailingSpaces(startStructuredDocumentRegion, prevRegion);
-				}
-				breakRegion = region;
-			}
-			else if (regionType == XML_TAG_ATTRIBUTE_NAME) {
-				if (prevRegion != null && (prevRegion.getType() == XML_TAG_ATTRIBUTE_NAME || prevRegion.getType() == XML_TAG_ATTRIBUTE_EQUALS)) {
-					// attribute name without value
-					breakRegion = prevRegion;
-				}
-			}
-			else if (regionType == XML_TAG_ATTRIBUTE_EQUALS) {
-				if (prevRegion != null && prevRegion.getType() == XML_TAG_ATTRIBUTE_NAME) {
-					removeTailingSpaces(startStructuredDocumentRegion, prevRegion);
-				}
-			}
-			else if (regionType == XML_TAG_ATTRIBUTE_VALUE) {
-				if (prevRegion != null && prevRegion.getType() == XML_TAG_ATTRIBUTE_EQUALS) {
-					removeTailingSpaces(startStructuredDocumentRegion, prevRegion);
-				}
-				breakRegion = region;
-			}
-			else if (regionType == XML_TAG_CLOSE || regionType == XML_EMPTY_TAG_CLOSE) {
-				if (prevRegion != null && (prevRegion.getType() == XML_TAG_ATTRIBUTE_NAME || prevRegion.getType() == XML_TAG_ATTRIBUTE_EQUALS)) {
-					// attribute name without value
-					breakRegion = prevRegion;
-				}
-			}
-
-			if (breakRegion != null) {
-				int end = breakRegion.getTextEnd();
-				if (lastBreakRegion != null) {
-					int offset = lastBreakRegion.getEnd();
-					int count = end - offset;
-					if (insertBreak || !isWidthAvailable(contraints, count + 1)) {
-						replaceTailingSpaces(startStructuredDocumentRegion, lastBreakRegion, breakSpaces);
-						setWidth(contraints, breakSpaces);
-					}
-					else {
-						compressTailingSpaces(startStructuredDocumentRegion, lastBreakRegion);
-						addWidth(contraints, 1);
-					}
-					addWidth(contraints, count);
-				}
-				else {
-					addWidth(contraints, end);
-				}
-				lastBreakRegion = breakRegion;
-			}
-
-			prevRegion = region;
-		}
-		if (prevRegion != null && (prevRegion.getType() == XML_TAG_ATTRIBUTE_NAME || prevRegion.getType() == XML_TAG_ATTRIBUTE_EQUALS)) {
-			// attribute name without value
-			int end = prevRegion.getTextEnd();
-			if (lastBreakRegion != null) {
-				int offset = lastBreakRegion.getEnd();
-				int count = end - offset;
-				if (insertBreak || !isWidthAvailable(contraints, count + 1)) {
-					replaceTailingSpaces(startStructuredDocumentRegion, lastBreakRegion, breakSpaces);
-					setWidth(contraints, breakSpaces);
-				}
-				else {
-					compressTailingSpaces(startStructuredDocumentRegion, lastBreakRegion);
-					addWidth(contraints, 1);
-				}
-				addWidth(contraints, count);
-			}
-			else {
-				addWidth(contraints, end);
-			}
-			lastBreakRegion = prevRegion;
-		}
-
-		if (lastBreakRegion != null) {
-			int offset = lastBreakRegion.getTextEnd();
-			int count = startStructuredDocumentRegion.getLength() - offset;
-			if (prevRegion != null && prevRegion.getType() == XML_EMPTY_TAG_CLOSE) {
-				compressTailingSpaces(startStructuredDocumentRegion, lastBreakRegion);
-				count++;
-			}
-			else
-				removeTailingSpaces(startStructuredDocumentRegion, lastBreakRegion);
-			addWidth(contraints, count);
-		}
-		else {
-			addWidth(contraints, startStructuredDocumentRegion.getLength());
-		}
-	}
-
-	/**
-	 */
-	private void formatStyleAttr(Attr attr) {
-		if (attr == null)
-			return;
-		String value = getCSSValue(attr);
-		if (value == null)
-			return;
-		String oldValue = ((XMLNode) attr).getValueSource();
-		if (oldValue != null && value.equals(oldValue))
-			return;
-		attr.setValue(value);
-	}
-
-	/**
-	 */
-	private ICSSModel getCSSModel(Attr attr) {
-		if (attr == null)
-			return null;
-		INodeNotifier notifier = (INodeNotifier) attr.getOwnerElement();
-		if (notifier == null)
-			return null;
-		INodeAdapter adapter = notifier.getAdapterFor(IStyleDeclarationAdapter.class);
-		if (adapter == null)
-			return null;
-		if (!(adapter instanceof IStyleDeclarationAdapter))
-			return null;
-		IStyleDeclarationAdapter styleAdapter = (IStyleDeclarationAdapter) adapter;
-		return styleAdapter.getModel();
-	}
-
-	/**
-	 */
-	private String getCSSValue(Attr attr) {
-		ICSSModel model = getCSSModel(attr);
-		if (model == null)
-			return null;
-		ICSSNode document = model.getDocument();
-		if (document == null)
-			return null;
-		INodeNotifier notifier = (INodeNotifier) document;
-		INodeAdapter adapter = notifier.getAdapterFor(CSSSourceFormatter.class);
-		if (adapter == null)
-			return null;
-		CSSSourceFormatter formatter = (CSSSourceFormatter) adapter;
-		StringBuffer buffer = formatter.format(document);
-		if (buffer == null)
-			return null;
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	private void removeTailingSpaces(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		int offset = region.getTextEnd();
-		int count = region.getEnd() - offset;
-		if (count <= 0)
-			return;
-		replaceSource(flatNode, offset, count, null);
-	}
-
-	/**
-	 */
-	private void replaceTailingSpaces(IStructuredDocumentRegion flatNode, ITextRegion region, String spaces) {
-		int offset = region.getTextEnd();
-		int count = region.getEnd() - offset;
-		if (count == spaces.length()) {
-			String source = flatNode.getFullText(region);
-			if (source != null && source.endsWith(spaces)) {
-				// nothing to do
-				return;
-			}
-		}
-		replaceSource(flatNode, offset, count, spaces);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatContraintsImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatContraintsImpl.java
deleted file mode 100644
index 06c61ca..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatContraintsImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.format;
-
-import org.eclipse.wst.html.core.HTMLFormatContraints;
-import org.eclipse.wst.sse.core.format.StructuredFormatContraints;
-
-/**
- * @deprecated
- * Please un-deprecate this if Page Designer thinks they are needed.
- */
-public class HTMLFormatContraintsImpl extends StructuredFormatContraints implements HTMLFormatContraints {
-	protected int fAvailableLineWidth;
-
-	/**
-	 * @deprecated
-	 * 	It's very hard to keep the available line width accurate.
-	 * 	Sometimes a node wants to start on a new line, sometimes it doesn't.
-	 * 	It's best for the node to figure out the available line width on the fly.
-	 */
-	public int getAvailableLineWidth() {
-		return fAvailableLineWidth;
-	}
-
-	/**
-	 * @deprecated
-	 * 	It's very hard to keep the available line width accurate.
-	 * 	Sometimes a node wants to start on a new line, sometimes it doesn't.
-	 * 	It's best for the node to figure out the available line width on the fly.
-	 */
-	public void setAvailableLineWidth(int availableLineWidth) {
-		fAvailableLineWidth = availableLineWidth;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatProcessorImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatProcessorImpl.java
deleted file mode 100644
index 8e49a51..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatProcessorImpl.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.format;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.format.IStructuredFormatPreferences;
-import org.eclipse.wst.sse.core.format.IStructuredFormatter;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.format.IStructuredFormatPreferencesXML;
-import org.eclipse.wst.xml.core.format.StructuredFormatPreferencesXML;
-import org.w3c.dom.Node;
-
-public class HTMLFormatProcessorImpl extends FormatProcessorXML {
-	protected String getFileExtension() {
-		return "html"; //$NON-NLS-1$
-	}
-
-	protected IStructuredFormatter getFormatter(Node node) {
-		IStructuredFormatter formatter = HTMLFormatterFactory.getInstance().createFormatter(node, getFormatPreferences());
-
-		return formatter;
-	}
-
-	public IStructuredFormatPreferences getFormatPreferences() {
-		if (fFormatPreferences == null) {
-			fFormatPreferences = new StructuredFormatPreferencesXML();
-
-			Preferences preferences = HTMLCorePlugin.getDefault().getPluginPreferences();
-			if (preferences != null) {
-				fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
-				((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
-				fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
-
-				if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
-					fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
-				else {
-					int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
-					String indent = ""; //$NON-NLS-1$
-					for (int i = 0; i < tabWidth; i++) {
-						indent += " "; //$NON-NLS-1$
-					}
-					fFormatPreferences.setIndent(indent);
-				}
-			}
-		}
-
-		return fFormatPreferences;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatter.java
deleted file mode 100644
index f4c55ce..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatter.java
+++ /dev/null
@@ -1,650 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.format;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.HTMLFormatContraints;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.format.IStructuredFormatContraints;
-import org.eclipse.wst.sse.core.format.IStructuredFormatPreferences;
-import org.eclipse.wst.sse.core.format.IStructuredFormatter;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.IStructuredFormatPreferencesXML;
-import org.eclipse.wst.xml.core.format.StructuredFormatPreferencesXML;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class HTMLFormatter implements IStructuredFormatter {
-
-	private static final String HTML_NAME = "html";//$NON-NLS-1$
-	private static final String BODY_NAME = "BODY";//$NON-NLS-1$
-
-	/**
-	 */
-	protected void addWidth(HTMLFormatContraints contraints, int width) {
-		if (contraints == null)
-			return;
-		if (!splitLines() || getLineWidth() < 0)
-			return;
-
-		int availableWidth = contraints.getAvailableLineWidth() - width;
-		if (availableWidth < 0)
-			availableWidth = 0;
-		contraints.setAvailableLineWidth(availableWidth);
-	}
-
-	/**
-	 */
-	protected boolean canFormatChild(Node node) {
-		while (node != null) {
-			if (node.getNodeType() != Node.ELEMENT_NODE)
-				return true;
-			CMElementDeclaration decl = getElementDeclaration((Element) node);
-			if (decl != null) {
-				if (decl.getContentType() == CMElementDeclaration.CDATA)
-					return false;
-				if (decl.supports(HTMLCMProperties.SHOULD_KEEP_SPACE)) {
-					boolean shouldKeepSpace = ((Boolean) decl.getProperty(HTMLCMProperties.SHOULD_KEEP_SPACE)).booleanValue();
-					if (shouldKeepSpace)
-						return false;
-				}
-			}
-			node = node.getParentNode();
-		}
-		return false;
-	}
-
-	/**
-	 */
-	protected boolean canInsertBreakAfter(CMElementDeclaration decl) {
-		if (decl == null)
-			return false;
-		if (!decl.supports(HTMLCMProperties.LINE_BREAK_HINT))
-			return false;
-		String hint = (String) decl.getProperty(HTMLCMProperties.LINE_BREAK_HINT);
-		if (hint == null)
-			return false;
-		return (hint.equals(HTMLCMProperties.Values.BREAK_BEFORE_START_AND_AFTER_END) || hint.equals(HTMLCMProperties.Values.BREAK_AFTER_START));
-	}
-
-	/**
-	 */
-	protected boolean canInsertBreakAfter(Node node) {
-		if (node == null)
-			return false;
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return false;
-		Node next = node.getNextSibling();
-
-		if (parent.getNodeType() == Node.DOCUMENT_NODE) {
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				// do not insert break after unclosed tag
-				if (!((XMLElement) node).isClosed())
-					return false;
-			}
-			return true;
-		}
-		else if (parent.getNodeType() == Node.ELEMENT_NODE) {
-			XMLElement element = (XMLElement) parent;
-			// do not insert break before missing end tag
-			if (next == null && element.getEndStructuredDocumentRegion() == null)
-				return false;
-
-			// insert line break under non-HTML elements including JSP elements
-			if (element.getPrefix() != null)
-				return true;
-
-			CMElementDeclaration decl = getElementDeclaration(element);
-			if (decl != null) {
-				if (decl.getContentType() == CMElementDeclaration.ELEMENT)
-					return true;
-				String tagName = element.getTagName();
-				// special for direct children under BODY
-				if (tagName != null && tagName.equalsIgnoreCase(BODY_NAME))
-					return true;
-			}
-		}
-
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			XMLElement element = (XMLElement) node;
-			CMElementDeclaration decl = getElementDeclaration(element);
-			if (canInsertBreakAfter(decl)) {
-				// spcial for BR
-				return canFormatChild(parent);
-			}
-		}
-		if (next != null && next.getNodeType() == Node.ELEMENT_NODE) {
-			CMElementDeclaration decl = getElementDeclaration((Element) next);
-			if (canInsertBreakBefore(decl))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 */
-	protected boolean canInsertBreakBefore(CMElementDeclaration decl) {
-		if (decl == null)
-			return false;
-		if (!decl.supports(HTMLCMProperties.LINE_BREAK_HINT))
-			return false;
-		String hint = (String) decl.getProperty(HTMLCMProperties.LINE_BREAK_HINT);
-		if (hint == null)
-			return false;
-		return hint.equals(HTMLCMProperties.Values.BREAK_BEFORE_START_AND_AFTER_END);
-	}
-
-	/**
-	 */
-	protected boolean canInsertBreakBefore(Node node) {
-		if (node == null)
-			return false;
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return false;
-		Node prev = node.getPreviousSibling();
-
-		if (parent.getNodeType() == Node.DOCUMENT_NODE) {
-			if (prev == null)
-				return false;
-			return true;
-		}
-		else if (parent.getNodeType() == Node.ELEMENT_NODE) {
-			XMLElement element = (XMLElement) parent;
-			// do not insert break after missing start tag
-			if (prev == null && element.getStartStructuredDocumentRegion() == null)
-				return false;
-
-			// insert line break under non-HTML elements including JSP elements
-			if (element.getPrefix() != null)
-				return true;
-
-			CMElementDeclaration decl = getElementDeclaration(element);
-			if (decl != null) {
-				if (decl.getContentType() == CMElementDeclaration.ELEMENT)
-					return true;
-				String tagName = element.getTagName();
-				// special for direct children under BODY
-				if (tagName != null && tagName.equalsIgnoreCase(BODY_NAME))
-					return true;
-			}
-		}
-
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			CMElementDeclaration decl = getElementDeclaration((Element) node);
-			if (canInsertBreakBefore(decl))
-				return true;
-		}
-		if (prev != null && prev.getNodeType() == Node.ELEMENT_NODE) {
-			CMElementDeclaration decl = getElementDeclaration((Element) prev);
-			if (canInsertBreakAfter(decl)) {
-				// spcial for BR
-				return canFormatChild(parent);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 */
-	public void format(Node node) {
-		format(node, getFormatContraints());
-	}
-
-	/**
-	 */
-	public void format(Node node, IStructuredFormatContraints contraints) {
-		if (node instanceof XMLNode && contraints instanceof HTMLFormatContraints)
-			format((XMLNode) node, (HTMLFormatContraints) contraints);
-	}
-
-	public void format(XMLNode node, HTMLFormatContraints contraints) {
-		if (node == null)
-			return;
-		if (node.getParentNode() == null)
-			return; // do not format removed node
-
-		setWidth(contraints, node);
-
-		if (canInsertBreakBefore(node))
-			insertBreakBefore(node, contraints);
-
-		formatNode(node, contraints);
-
-		if (canInsertBreakAfter(node))
-			insertBreakAfter(node, contraints);
-	}
-
-	/**
-	 */
-	protected void formatChildNodes(XMLNode node, HTMLFormatContraints contraints) {
-		if (node == null)
-			return;
-		if (!node.hasChildNodes())
-			return;
-
-		// concat adjacent texts
-		node.normalize();
-
-		// disable sibling indent during formatting all the children
-		boolean indent = false;
-		if (contraints != null) {
-			indent = contraints.getFormatWithSiblingIndent();
-			contraints.setFormatWithSiblingIndent(false);
-		}
-
-		boolean insertBreak = true;
-		XMLNode child = (XMLNode) node.getFirstChild();
-		while (child != null) {
-			if (child.getParentNode() != node)
-				break;
-			XMLNode next = (XMLNode) child.getNextSibling();
-
-			if (insertBreak && canInsertBreakBefore(child)) {
-				insertBreakBefore(child, contraints);
-			}
-
-			IStructuredFormatter formatter = HTMLFormatterFactory.getInstance().createFormatter(child, getFormatPreferences());
-			if (formatter != null) {
-				if (formatter instanceof HTMLFormatter) {
-					HTMLFormatter htmlFormatter = (HTMLFormatter) formatter;
-					htmlFormatter.formatNode(child, contraints);
-				}
-				else {
-					formatter.format(child);
-				}
-			}
-
-			if (canInsertBreakAfter(child)) {
-				insertBreakAfter(child, contraints);
-				insertBreak = false; // not to insert twice
-			}
-			else {
-				insertBreak = true;
-			}
-
-			child = next;
-		}
-
-		if (contraints != null)
-			contraints.setFormatWithSiblingIndent(indent);
-	}
-
-	/**
-	 */
-	protected void formatNode(XMLNode node, HTMLFormatContraints contraints) {
-		if (node == null)
-			return;
-
-		if (node.hasChildNodes()) { // container
-			formatChildNodes(node, contraints);
-		}
-		else { // leaf
-			IStructuredDocumentRegion flatNode = node.getStartStructuredDocumentRegion();
-			if (flatNode != null) {
-				String source = flatNode.getText();
-				if (source != null && source.length() > 0) {
-					setWidth(contraints, source);
-				}
-			}
-		}
-	}
-
-	/**
-	 */
-	protected String getBreakSpaces(Node node) {
-		if (node == null)
-			return null;
-		StringBuffer buffer = new StringBuffer();
-
-		String delim = ((XMLNode) node).getModel().getStructuredDocument().getLineDelimiter();
-		if (delim != null && delim.length() > 0)
-			buffer.append(delim);
-
-		String indent = getIndent();
-		if (indent != null && indent.length() > 0) {
-			for (Node parent = node.getParentNode(); parent != null; parent = parent.getParentNode()) {
-				if (parent.getNodeType() != Node.ELEMENT_NODE)
-					break;
-				// ignore omitted tag
-				if (((XMLNode) parent).getStartStructuredDocumentRegion() == null)
-					continue;
-
-				XMLElement element = (XMLElement) parent;
-				if (element.getPrefix() != null) {
-					String localName = element.getLocalName();
-					// special for html:html
-					if (localName != null && !localName.equals(HTML_NAME)) {
-						buffer.append(indent);
-					}
-					continue;
-				}
-
-				CMElementDeclaration decl = getElementDeclaration(element);
-				if (decl != null && decl.supports(HTMLCMProperties.SHOULD_INDENT_CHILD_SOURCE)) {
-					boolean shouldIndent = ((Boolean) decl.getProperty(HTMLCMProperties.SHOULD_INDENT_CHILD_SOURCE)).booleanValue();
-					if (shouldIndent)
-						buffer.append(indent);
-				}
-
-			}
-		}
-
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	protected String getIndent() {
-		return getFormatPreferences().getIndent();
-	}
-
-	/**
-	 */
-	protected int getLineWidth() {
-		return getFormatPreferences().getLineWidth();
-	}
-
-	/**
-	 */
-	protected CMElementDeclaration getElementDeclaration(Element element) {
-		if (element == null)
-			return null;
-		Document document = element.getOwnerDocument();
-		if (document == null)
-			return null;
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-		if (modelQuery == null)
-			return null;
-		return modelQuery.getCMElementDeclaration(element);
-	}
-
-	/**
-	 */
-	protected void insertBreakAfter(XMLNode node, HTMLFormatContraints contraints) {
-		if (node == null)
-			return;
-		if (node.getNodeType() == Node.TEXT_NODE)
-			return;
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return;
-		Node next = node.getNextSibling();
-
-		String spaces = null;
-		if (next == null) { // last spaces
-			// use parent indent for the end tag
-			spaces = getBreakSpaces(parent);
-		}
-		else if (next.getNodeType() == Node.TEXT_NODE) {
-			if (contraints != null && contraints.getFormatWithSiblingIndent()) {
-				XMLNode text = (XMLNode) next;
-				IStructuredFormatter formatter = HTMLFormatterFactory.getInstance().createFormatter(text, getFormatPreferences());
-				if (formatter instanceof HTMLTextFormatter) {
-					HTMLTextFormatter textFormatter = (HTMLTextFormatter) formatter;
-					textFormatter.formatText(text, contraints, HTMLTextFormatter.FORMAT_HEAD);
-				}
-			}
-			return;
-		}
-		else {
-			spaces = getBreakSpaces(node);
-		}
-		if (spaces == null || spaces.length() == 0)
-			return;
-
-		replaceSource(node.getModel(), node.getEndOffset(), 0, spaces);
-		setWidth(contraints, spaces);
-	}
-
-	/**
-	 */
-	protected void insertBreakBefore(XMLNode node, HTMLFormatContraints contraints) {
-		if (node == null)
-			return;
-		if (node.getNodeType() == Node.TEXT_NODE)
-			return;
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return;
-		Node prev = node.getPreviousSibling();
-
-		String spaces = null;
-		if (prev != null && prev.getNodeType() == Node.TEXT_NODE) {
-			if (contraints != null && contraints.getFormatWithSiblingIndent()) {
-				XMLNode text = (XMLNode) prev;
-				IStructuredFormatter formatter = HTMLFormatterFactory.getInstance().createFormatter(text, getFormatPreferences());
-				if (formatter instanceof HTMLTextFormatter) {
-					HTMLTextFormatter textFormatter = (HTMLTextFormatter) formatter;
-					textFormatter.formatText(text, contraints, HTMLTextFormatter.FORMAT_TAIL);
-				}
-			}
-			return;
-		}
-		else {
-			spaces = getBreakSpaces(node);
-		}
-		if (spaces == null || spaces.length() == 0)
-			return;
-
-		replaceSource(node.getModel(), node.getStartOffset(), 0, spaces);
-		setWidth(contraints, spaces);
-	}
-
-	/**
-	 */
-	protected boolean isWidthAvailable(HTMLFormatContraints contraints, int width) {
-		if (contraints == null)
-			return true;
-		if (!splitLines() || getLineWidth() < 0)
-			return true;
-		return (contraints.getAvailableLineWidth() >= width);
-	}
-
-	/**
-	 */
-	protected boolean keepBlankLines(HTMLFormatContraints contraints) {
-		if (contraints == null)
-			return true;
-		return (!contraints.getClearAllBlankLines());
-	}
-
-	/**
-	 */
-	protected void replaceSource(IStructuredDocumentRegion flatNode, int offset, int length, String source) {
-		if (flatNode == null)
-			return;
-		IStructuredDocument structuredDocument = flatNode.getParentDocument();
-		if (structuredDocument == null)
-			return;
-		if (source == null)
-			source = new String();
-		int startOffset = flatNode.getStartOffset();
-		if (structuredDocument.containsReadOnly(startOffset + offset, length))
-			return;
-		// We use 'structuredDocument' as the requester object just so this and the other
-		// format-related 'repalceText' (in replaceSource) can use the same requester.
-		// Otherwise, if requester is not identical, 
-		// the undo group gets "broken" into multiple pieces based
-		// on the requesters being different. Technically, any unique, common
-		// requester object would work.
-		structuredDocument.replaceText(structuredDocument, startOffset + offset, length, source);
-	}
-
-	/**
-	 */
-	protected void replaceSource(XMLModel model, int offset, int length, String source) {
-		if (model == null)
-			return;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-		if (source == null)
-			source = new String();
-		if (structuredDocument.containsReadOnly(offset, length))
-			return;
-		// We use 'structuredDocument' as the requester object just so this and the other
-		// format-related 'repalceText' (in replaceSource) can use the same requester.
-		// Otherwise, if requester is not identical, 
-		// the undo group gets "broken" into multiple pieces based
-		// on the requesters being different. Technically, any unique, common
-		// requester object would work. 
-		structuredDocument.replaceText(structuredDocument, offset, length, source);
-	}
-
-	/**
-	 */
-	protected void setWidth(HTMLFormatContraints contraints, String source) {
-		if (contraints == null)
-			return;
-		if (source == null)
-			return;
-		int length = source.length();
-		if (length == 0)
-			return;
-
-		if (!splitLines())
-			return;
-		int lineWidth = getLineWidth();
-		if (lineWidth < 0)
-			return;
-
-		int offset = source.lastIndexOf('\n');
-		int offset2 = source.lastIndexOf('\r');
-		if (offset2 > offset)
-			offset = offset2;
-		if (offset >= 0)
-			offset++;
-
-		int availableWidth = 0;
-		if (offset >= 0) {
-			availableWidth = lineWidth - (length - offset);
-		}
-		else {
-			availableWidth = contraints.getAvailableLineWidth() - length;
-		}
-		if (availableWidth < 0)
-			availableWidth = 0;
-		contraints.setAvailableLineWidth(availableWidth);
-	}
-
-	/**
-	 */
-	protected void setWidth(HTMLFormatContraints contraints, Node node) {
-		if (contraints == null)
-			return;
-		if (node == null)
-			return;
-		IStructuredDocument structuredDocument = ((XMLNode) node).getStructuredDocument();
-		if (structuredDocument == null)
-			return; // error
-
-		if (!splitLines())
-			return;
-		int lineWidth = getLineWidth();
-		if (lineWidth < 0)
-			return;
-
-		int offset = ((XMLNode) node).getStartOffset();
-		int line = structuredDocument.getLineOfOffset(offset);
-		int lineOffset = 0;
-		try {
-			lineOffset = structuredDocument.getLineOffset(line);
-		}
-		catch (BadLocationException ex) {
-			return; // error
-		}
-		if (lineOffset > offset)
-			return; // error
-
-		int availableWidth = lineWidth - (offset - lineOffset);
-		if (availableWidth < 0)
-			availableWidth = 0;
-
-		contraints.setAvailableLineWidth(availableWidth);
-	}
-
-	/**
-	 */
-	protected boolean splitLines() {
-		return true;//getFormatPreferences().getSplitLines();
-	}
-
-	protected IStructuredFormatPreferences fFormatPreferences = null;
-	protected HTMLFormatContraints fFormatContraints = null;
-	protected IProgressMonitor fProgressMonitor = null;
-
-	//public void format(XMLNode node, FormatContraints formatContraints) {
-	//	if (formatContraints.getFormatWithSiblingIndent())
-	//		formatContraints.setCurrentIndent(getSiblingIndent(node));
-	//
-	//	formatNode(node, formatContraints);
-	//}
-
-	public void setFormatPreferences(IStructuredFormatPreferences formatPreferences) {
-		fFormatPreferences = formatPreferences;
-	}
-
-	public IStructuredFormatPreferences getFormatPreferences() {
-		if (fFormatPreferences == null) {
-			fFormatPreferences = new StructuredFormatPreferencesXML();
-
-			Preferences preferences = HTMLCorePlugin.getDefault().getPluginPreferences();
-			if (preferences != null) {
-				fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
-				((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
-				fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
-
-				if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
-					fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
-				else {
-					int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
-					String indent = ""; //$NON-NLS-1$
-					for (int i = 0; i < tabWidth; i++) {
-						indent += " "; //$NON-NLS-1$
-					}
-					fFormatPreferences.setIndent(indent);
-				}
-			}
-		}
-
-		return fFormatPreferences;
-	}
-
-	public IStructuredFormatContraints getFormatContraints() {
-		if (fFormatContraints == null) {
-			fFormatContraints = new HTMLFormatContraintsImpl();
-
-			fFormatContraints.setAvailableLineWidth(getFormatPreferences().getLineWidth());
-			fFormatContraints.setClearAllBlankLines(getFormatPreferences().getClearAllBlankLines());
-		}
-
-		return fFormatContraints;
-	}
-
-	public void setProgressMonitor(IProgressMonitor progressMonitor) {
-		fProgressMonitor = progressMonitor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatterFactory.java
deleted file mode 100644
index 68e11d0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatterFactory.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.format;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.format.IStructuredFormatPreferences;
-import org.eclipse.wst.sse.core.format.IStructuredFormatter;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.format.IStructuredFormatPreferencesXML;
-import org.eclipse.wst.xml.core.format.StructuredFormatPreferencesXML;
-import org.w3c.dom.Node;
-
-// nakamori_TODO: check and remove CSS formatting
-
-class HTMLFormatterFactory {
-	private static HTMLFormatterFactory fInstance = null;
-	protected IStructuredFormatPreferencesXML fFormatPreferences = null;
-
-	static synchronized HTMLFormatterFactory getInstance() {
-		if (fInstance == null) {
-			fInstance = new HTMLFormatterFactory();
-		}
-		return fInstance;
-	}
-
-	protected IStructuredFormatter createFormatter(Node node, IStructuredFormatPreferences formatPreferences) {
-		IStructuredFormatter formatter = null;
-
-		switch (node.getNodeType()) {
-			case Node.ELEMENT_NODE :
-				formatter = new HTMLElementFormatter();
-				break;
-			case Node.TEXT_NODE :
-				if (isEmbeddedCSS(node)) {
-					formatter = new EmbeddedCSSFormatter();
-				}
-				else {
-					formatter = new HTMLTextFormatter();
-				}
-				break;
-			default :
-				formatter = new HTMLFormatter();
-				break;
-		}
-
-		// init FormatPreferences
-		formatter.setFormatPreferences(formatPreferences);
-
-		return formatter;
-	}
-
-	/**
-	 */
-	private boolean isEmbeddedCSS(Node node) {
-		if (node == null)
-			return false;
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return false;
-		if (parent.getNodeType() != Node.ELEMENT_NODE)
-			return false;
-		String name = parent.getNodeName();
-		if (name == null)
-			return false;
-		return name.equalsIgnoreCase("STYLE");//$NON-NLS-1$
-	}
-
-
-	private HTMLFormatterFactory() {
-		super();
-	}
-
-	protected IStructuredFormatPreferencesXML getFormatPreferences() {
-		if (fFormatPreferences == null) {
-			fFormatPreferences = new StructuredFormatPreferencesXML();
-
-			Preferences preferences = HTMLCorePlugin.getDefault().getPluginPreferences();
-			if (preferences != null) {
-				fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
-				fFormatPreferences.setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
-				fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
-
-				if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
-					fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
-				else {
-					int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
-					String indent = ""; //$NON-NLS-1$
-					for (int i = 0; i < tabWidth; i++) {
-						indent += " "; //$NON-NLS-1$
-					}
-					fFormatPreferences.setIndent(indent);
-				}
-			}
-		}
-
-		return fFormatPreferences;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLTextFormatter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLTextFormatter.java
deleted file mode 100644
index dd0650a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLTextFormatter.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.format;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.HTMLFormatContraints;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.document.XMLText;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class HTMLTextFormatter extends HTMLFormatter {
-
-	public static int FORMAT_ALL = 0;
-	public static int FORMAT_HEAD = 1;
-	public static int FORMAT_TAIL = 2;
-
-	/**
-	 */
-	protected HTMLTextFormatter() {
-		super();
-	}
-
-	/**
-	 */
-	private boolean canFormatText(XMLText text) {
-		if (text == null)
-			return false;
-
-		IStructuredDocumentRegion flatNode = text.getFirstStructuredDocumentRegion();
-		if (flatNode != null) {
-			String type = flatNode.getType();
-			if (type == XMLJSPRegionContexts.JSP_CONTENT || type == XMLRegionContext.BLOCK_TEXT)
-				return false;
-		}
-
-		Node parent = text.getParentNode();
-		if (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
-			XMLElement element = (XMLElement) parent;
-			if (!element.isGlobalTag() && !text.isWhitespace())
-				return false;
-		}
-
-		return canFormatChild(parent);
-	}
-
-	/**
-	 */
-	private boolean canRemoveHeadingSpaces(XMLNode node) {
-		if (node == null)
-			return false;
-		if (node.getPreviousSibling() != null)
-			return false;
-		Node parent = node.getParentNode();
-		if (parent == null || parent.getNodeType() != Node.ELEMENT_NODE)
-			return false;
-
-		CMElementDeclaration decl = getElementDeclaration((Element) parent);
-		if (decl == null || (!decl.supports(HTMLCMProperties.LINE_BREAK_HINT)))
-			return false;
-		String hint = (String) decl.getProperty(HTMLCMProperties.LINE_BREAK_HINT);
-		return hint.equals(HTMLCMProperties.Values.BREAK_BEFORE_START_AND_AFTER_END);
-	}
-
-	/**
-	 */
-	private boolean canRemoveTailingSpaces(XMLNode node) {
-		if (node == null)
-			return false;
-		if (node.getNextSibling() != null)
-			return false;
-		Node parent = node.getParentNode();
-		if (parent == null || parent.getNodeType() != Node.ELEMENT_NODE)
-			return false;
-
-		CMElementDeclaration decl = getElementDeclaration((Element) parent);
-		if (decl == null || (!decl.supports(HTMLCMProperties.LINE_BREAK_HINT)))
-			return false;
-		String hint = (String) decl.getProperty(HTMLCMProperties.LINE_BREAK_HINT);
-		return hint.equals(HTMLCMProperties.Values.BREAK_BEFORE_START_AND_AFTER_END);
-	}
-
-	/**
-	 */
-	protected void formatNode(XMLNode node, HTMLFormatContraints contraints) {
-		formatText(node, contraints, FORMAT_ALL); // full format
-	}
-
-	/**
-	 */
-	protected void formatText(XMLNode node, HTMLFormatContraints contraints, int mode) {
-		if (node == null)
-			return;
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return;
-
-		XMLText text = (XMLText) node;
-		String source = text.getSource();
-
-		if (!canFormatText(text)) {
-			setWidth(contraints, source);
-			return;
-		}
-
-		int offset = text.getStartOffset();
-		int length = text.getEndOffset() - offset;
-
-		// format adjacent text at once
-		if (mode == FORMAT_HEAD) {
-			Node next = node.getNextSibling();
-			while (next != null && next.getNodeType() == Node.TEXT_NODE) {
-				XMLText nextText = (XMLText) next;
-				length += (nextText.getEndOffset() - nextText.getStartOffset());
-				String nextSource = nextText.getSource();
-				if (nextSource != null && nextSource.length() > 0) {
-					if (source == null)
-						source = nextSource;
-					else
-						source += nextSource;
-				}
-				next = next.getNextSibling();
-			}
-		}
-		else if (mode == FORMAT_TAIL) {
-			Node prev = node.getPreviousSibling();
-			while (prev != null && prev.getNodeType() == Node.TEXT_NODE) {
-				XMLText prevText = (XMLText) prev;
-				offset = prevText.getStartOffset();
-				length += (prevText.getEndOffset() - offset);
-				String prevSource = prevText.getSource();
-				if (prevSource != null && prevSource.length() > 0) {
-					if (source == null)
-						source = prevSource;
-					else
-						source = prevSource + source;
-				}
-				prev = prev.getPreviousSibling();
-			}
-		}
-
-		SpaceConverter converter = new SpaceConverter(source, keepBlankLines(contraints));
-
-		int wordLength = converter.nextWord();
-		if (wordLength == 0) { // only spaces
-			if (!converter.hasSpaces())
-				return; // empty
-			boolean removeSpaces = false;
-			if (parent.getNodeType() == Node.ELEMENT_NODE) {
-				// check if tags are omitted
-				XMLNode element = (XMLNode) parent;
-				if (node.getPreviousSibling() == null && element.getStartStructuredDocumentRegion() == null) {
-					removeSpaces = true;
-				}
-				else if (node.getNextSibling() == null && element.getEndStructuredDocumentRegion() == null) {
-					removeSpaces = true;
-				}
-			}
-			if (removeSpaces) {
-				converter.replaceSpaces(null);
-			}
-			else if (!isWidthAvailable(contraints, 2) || canInsertBreakAfter(node) || canInsertBreakBefore(node)) {
-				String spaces = null;
-				if (node.getNextSibling() == null) { // last spaces
-					// use parent indent for the end tag
-					spaces = getBreakSpaces(parent);
-				}
-				else {
-					spaces = getBreakSpaces(node);
-				}
-				converter.replaceSpaces(spaces);
-				setWidth(contraints, spaces);
-			}
-			else if (canRemoveHeadingSpaces(node) || canRemoveTailingSpaces(node)) {
-				converter.replaceSpaces(null);
-			}
-			else {
-				converter.compressSpaces();
-				addWidth(contraints, 1);
-			}
-		}
-		else {
-			String breakSpaces = null;
-
-			// format heading spaces
-			boolean hasSpaces = converter.hasSpaces();
-			if (mode == FORMAT_TAIL) {
-				// keep spaces as is
-				addWidth(contraints, converter.getSpaceCount());
-			}
-			else if ((hasSpaces && !isWidthAvailable(contraints, wordLength + 1)) || canInsertBreakBefore(node)) {
-				breakSpaces = getBreakSpaces(node);
-				converter.replaceSpaces(breakSpaces);
-				setWidth(contraints, breakSpaces);
-			}
-			else {
-				if (hasSpaces) {
-					if (canRemoveHeadingSpaces(node)) {
-						converter.replaceSpaces(null);
-					}
-					else {
-						converter.compressSpaces();
-						addWidth(contraints, 1);
-					}
-				}
-			}
-			addWidth(contraints, wordLength);
-
-			// format middle
-			wordLength = converter.nextWord();
-			while (wordLength > 0) {
-				if (mode != FORMAT_ALL) {
-					// keep spaces as is
-					addWidth(contraints, converter.getSpaceCount());
-				}
-				else if (!isWidthAvailable(contraints, wordLength + 1)) {
-					if (breakSpaces == null)
-						breakSpaces = getBreakSpaces(node);
-					converter.replaceSpaces(breakSpaces);
-					setWidth(contraints, breakSpaces);
-				}
-				else {
-					converter.compressSpaces();
-					addWidth(contraints, 1);
-				}
-				addWidth(contraints, wordLength);
-				wordLength = converter.nextWord();
-			}
-
-			// format tailing spaces
-			hasSpaces = converter.hasSpaces();
-			if (mode == FORMAT_HEAD) {
-				// keep spaces as is
-				addWidth(contraints, converter.getSpaceCount());
-			}
-			else if ((hasSpaces && !isWidthAvailable(contraints, 2)) || canInsertBreakAfter(node)) {
-				if (node.getNextSibling() == null) { // last test
-					// use parent indent for the end tag
-					breakSpaces = getBreakSpaces(parent);
-				}
-				else {
-					if (breakSpaces == null)
-						breakSpaces = getBreakSpaces(node);
-				}
-				converter.replaceSpaces(breakSpaces);
-				setWidth(contraints, breakSpaces);
-			}
-			else {
-				if (hasSpaces) {
-					if (canRemoveTailingSpaces(node)) {
-						converter.replaceSpaces(null);
-					}
-					else {
-						converter.compressSpaces();
-						addWidth(contraints, 1);
-					}
-				}
-			}
-		}
-
-		if (converter.isModified()) {
-			source = converter.getSource();
-			replaceSource(text.getModel(), offset, length, source);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/SpaceConverter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/SpaceConverter.java
deleted file mode 100644
index 08b3016..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/SpaceConverter.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.format;
-
-
-
-final class SpaceConverter {
-
-	private String source = null;
-	private int length = 0;
-	private int startOffset = 0;
-	private int endOffset = 0;
-	private int spaceCount = 0;
-	private int wordCount = 0;
-	private StringBuffer buffer = null;
-	private int lastOffset = 0;
-	private boolean keepBlankLines = false;
-
-	/**
-	 */
-	public SpaceConverter(String source) {
-		super();
-
-		if (source == null) {
-			this.source = new String();
-		}
-		else {
-			this.source = source;
-			this.length = source.length();
-		}
-	}
-
-	/**
-	 */
-	public SpaceConverter(String source, boolean keepBlankLines) {
-		super();
-
-		if (source == null) {
-			this.source = new String();
-		}
-		else {
-			this.source = source;
-			this.length = source.length();
-		}
-		this.keepBlankLines = keepBlankLines;
-	}
-
-	/**
-	 */
-	public void compressSpaces() {
-		if (this.spaceCount == 0)
-			return;
-		if (this.spaceCount == 1 && this.source.charAt(this.startOffset) == ' ')
-			return;
-
-		if (this.buffer == null)
-			this.buffer = new StringBuffer();
-		if (this.startOffset > this.lastOffset) {
-			this.buffer.append(this.source.substring(this.lastOffset, this.startOffset));
-		}
-
-		this.buffer.append(' ');
-
-		this.lastOffset = this.startOffset + this.spaceCount;
-	}
-
-	/**
-	 */
-	public String getSource() {
-		if (this.buffer == null)
-			this.buffer = new StringBuffer();
-		if (this.length > this.lastOffset) {
-			this.buffer.append(this.source.substring(this.lastOffset, this.length));
-		}
-		return this.buffer.toString();
-	}
-
-	/**
-	 */
-	public int getSpaceCount() {
-		return this.spaceCount;
-	}
-
-	/**
-	 */
-	public boolean hasSpaces() {
-		return (this.spaceCount > 0);
-	}
-
-	/**
-	 */
-	public boolean isModified() {
-		return (this.buffer != null);
-	}
-
-	/**
-	 * Add number of the old blank lines to new space string
-	 */
-	private static String mergeBlankLines(String newSpaces, String oldSpaces) {
-		if (newSpaces == null || newSpaces.length() == 0)
-			return newSpaces;
-		if (oldSpaces == null)
-			return newSpaces;
-
-		// count old new lines
-		int newLineCount = 0;
-		int oldLength = oldSpaces.length();
-		for (int i = 0; i < oldLength; i++) {
-			char c = oldSpaces.charAt(i);
-			if (c == '\r') {
-				newLineCount++;
-				if (i + 1 < oldLength) {
-					c = oldSpaces.charAt(i + 1);
-					if (c == '\n')
-						i++;
-				}
-			}
-			else {
-				if (c == '\n')
-					newLineCount++;
-			}
-		}
-		if (newLineCount < 2)
-			return newSpaces; // no blank line
-
-		// here assuming newSpaces starts with a new line if any
-		String delim = null;
-		char d = newSpaces.charAt(0);
-		if (d == '\r') {
-			if (newSpaces.length() > 1 && newSpaces.charAt(1) == '\n')
-				delim = "\r\n";//$NON-NLS-1$
-			else
-				delim = "\r";//$NON-NLS-1$
-		}
-		else {
-			if (d == '\n')
-				delim = "\n";//$NON-NLS-1$
-			else
-				return newSpaces; // no new line
-		}
-
-		newLineCount--;
-		StringBuffer buffer = new StringBuffer(newSpaces.length() + newLineCount * 2);
-		while (newLineCount > 0) {
-			buffer.append(delim);
-			newLineCount--;
-		}
-		buffer.append(newSpaces);
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	public int nextWord() {
-		if (this.endOffset == this.length) {
-			this.startOffset = this.endOffset;
-			this.spaceCount = 0;
-			this.wordCount = 0;
-			return 0;
-		}
-
-		this.startOffset = this.endOffset;
-		int i = this.startOffset;
-		for (; i < this.length; i++) {
-			if (!Character.isWhitespace(this.source.charAt(i)))
-				break;
-		}
-		this.spaceCount = i - this.startOffset;
-
-		int wordOffset = i;
-		for (; i < this.length; i++) {
-			if (Character.isWhitespace(this.source.charAt(i)))
-				break;
-		}
-		this.wordCount = i - wordOffset;
-		this.endOffset = i;
-
-		return this.wordCount;
-	}
-
-	/**
-	 */
-	public void replaceSpaces(String spaces) {
-		int spaceLength = (spaces != null ? spaces.length() : 0);
-		String oldSpaces = null;
-		if (spaceLength == this.spaceCount) {
-			if (spaceLength == 0)
-				return;
-			if (this.startOffset == 0) {
-				if (this.source.startsWith(spaces))
-					return;
-			}
-			else if (this.endOffset == this.length) {
-				if (this.source.endsWith(spaces))
-					return;
-			}
-			else {
-				int textOffset = this.startOffset + this.spaceCount;
-				oldSpaces = this.source.substring(this.startOffset, textOffset);
-				if (oldSpaces.equals(spaces))
-					return;
-			}
-		}
-		if (this.keepBlankLines && this.spaceCount > 0) {
-			if (oldSpaces == null) {
-				int textOffset = this.startOffset + this.spaceCount;
-				oldSpaces = this.source.substring(this.startOffset, textOffset);
-			}
-			if (oldSpaces != null) {
-				spaces = mergeBlankLines(spaces, oldSpaces);
-			}
-		}
-
-		if (this.buffer == null)
-			this.buffer = new StringBuffer();
-		if (this.startOffset > this.lastOffset) {
-			this.buffer.append(this.source.substring(this.lastOffset, this.startOffset));
-		}
-
-		if (spaceLength > 0)
-			this.buffer.append(spaces);
-
-		this.lastOffset = this.startOffset + this.spaceCount;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractCSSModelAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractCSSModelAdapter.java
deleted file mode 100644
index f948181..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractCSSModelAdapter.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.adapters.ICSSModelAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.internal.document.CSSModelImpl;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.contenttype.ContentTypeIdForCSS;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Element;
-
-/**
- */
-public abstract class AbstractCSSModelAdapter implements ICSSModelAdapter {
-	private final static String CSS_ID = ContentTypeIdForCSS.ContentTypeID_CSS;
-
-	private Element element = null;
-	private ICSSModel model = null;
-
-	/**
-	 */
-	AbstractCSSModelAdapter() {
-		super();
-	}
-
-	/**
-	 */
-	protected ICSSModel createModel() {
-		// create embedded CSS model (not for external CSS)
-		if (getElement() == null)
-			return null;
-		IStructuredModel baseModel = ((XMLNode) getElement()).getModel();
-		ICSSModel newModel = (ICSSModel) baseModel.getModelManager().createUnManagedStructuredModelFor(CSS_ID);
-		((CSSModelImpl) newModel).setOwnerDOMNode(getElement());
-		return newModel;
-	}
-
-	/**
-	 */
-	public Element getElement() {
-		return this.element;
-	}
-
-	/**
-	 */
-	protected ICSSModel getExistingModel() {
-		return this.model;
-	}
-
-	/**
-	 */
-	protected void notifyStyleChanged(Element target) {
-		INodeNotifier notifier = (INodeNotifier) target;
-		if (notifier == null)
-			return;
-		Collection adapters = notifier.getAdapters();
-		if (adapters == null)
-			return;
-		Iterator it = adapters.iterator();
-		if (it == null)
-			return;
-		while (it.hasNext()) {
-			INodeAdapter adapter = (INodeAdapter) it.next();
-			if (adapter instanceof StyleListener) {
-				StyleListener listener = (StyleListener) adapter;
-				listener.styleChanged();
-			}
-		}
-	}
-
-	/**
-	 */
-	void setElement(Element element) {
-		this.element = element;
-	}
-
-	/**
-	 * check 
-	 * 1. If attributes of element is valid (type,rel ...)
-	 * 2. If content model supports this element / attribute (future ?)
-	 */
-	protected boolean isValidAttribute() {
-		return (getElement() != null);
-	}
-
-	/**
-	 */
-	protected void setModel(ICSSModel model) {
-		this.model = model;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractStyleSheetAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractStyleSheetAdapter.java
deleted file mode 100644
index 6823541..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractStyleSheetAdapter.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.adapters.IModelProvideAdapter;
-import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.event.ICSSStyleListener;
-import org.eclipse.wst.css.core.util.ImportedCollector;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLModelNotifier;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.stylesheets.DocumentStyle;
-import org.w3c.dom.stylesheets.StyleSheet;
-import org.w3c.dom.stylesheets.StyleSheetList;
-import org.w3c.dom.traversal.DocumentTraversal;
-import org.w3c.dom.traversal.NodeFilter;
-import org.w3c.dom.traversal.NodeIterator;
-
-/**
- */
-public abstract class AbstractStyleSheetAdapter extends AbstractCSSModelAdapter implements ICSSStyleListener, IStyleSheetAdapter {
-
-	// this variable to hold the class is just a VAJava trick.
-	// it improves performance in VAJava by minimizing class loading.
-	private final Class StyleSheetAdapterClass = IStyleSheetAdapter.class;
-	private Collection styleChangedNodes;
-
-	/**
-	 */
-	protected AbstractStyleSheetAdapter() {
-		super();
-	}
-
-	/**
-	 */
-	protected ICSSModel createModel() {
-		ICSSModel newModel = super.createModel();
-		if (newModel != null) {
-			// get ModelProvideAdapter
-			IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement()).getAdapterFor(IModelProvideAdapter.class);
-			// notify adapter
-			if (adapter != null)
-				adapter.modelProvided(newModel);
-		}
-		return newModel;
-	}
-
-	/**
-	 */
-	public StyleSheet getSheet() {
-		ICSSModel model = getModel();
-		if (model == null)
-			return null;
-		return (StyleSheet) model.getDocument();
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == StyleSheetAdapterClass);
-	}
-
-	/**
-	 */
-	public void released() {
-		ICSSModel currentModel = getModel();
-
-		// get ModelProvideAdapter
-		IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement()).getAdapterFor(IModelProvideAdapter.class);
-
-		setElement(null);
-		setModel(null);
-
-		if (adapter != null)
-			adapter.modelReleased(currentModel);
-
-		if (currentModel != null)
-			currentModel.releaseFromRead();
-	}
-
-	/**
-	 */
-	public void removed() {
-		ICSSModel currentModel = getModel();
-
-		setModel(null);
-
-		// get ModelProvideAdapter
-		IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement()).getAdapterFor(IModelProvideAdapter.class);
-		if (adapter != null)
-			adapter.modelRemoved(currentModel);
-
-		if (currentModel != null)
-			currentModel.releaseFromRead();
-	}
-
-	/**
-	 * @param srcModel com.ibm.sed.css.model.interfaces.ICSSModel
-	 * @param removed com.ibm.sed.css.model.interfaces.ICSSSelector[]
-	 * @param added com.ibm.sed.css.model.interfaces.ICSSSelector[]
-	 * @param media java.lang.String
-	 */
-	public void styleChanged(ICSSModel srcModel, ICSSSelector[] removed, ICSSSelector[] added, String media) {
-		Element element = getElement();
-		if (element == null)
-			return; // might released
-		Document doc = element.getOwnerDocument();
-		if (doc == null)
-			return; // error
-
-		// to notify GEF tree 
-		if (doc instanceof INodeNotifier) {
-			Collection adapters = ((INodeNotifier) doc).getAdapters();
-			if (adapters == null)
-				return;
-			Iterator it = adapters.iterator();
-			if (it == null)
-				return;
-			while (it.hasNext()) {
-				INodeAdapter adapter = (INodeAdapter) it.next();
-				if (adapter instanceof ICSSStyleListener) {
-					((ICSSStyleListener) adapter).styleChanged(srcModel, removed, added, media);
-				}
-			}
-		}
-		//
-
-		if (styleChangedNodes == null) {
-			styleChangedNodes = new HashSet();
-		}
-
-		try {
-			int removedSelNum = removed != null ? removed.length : 0;
-			int addedSelNum = added != null ? added.length : 0;
-
-			NodeIterator iter = ((DocumentTraversal) doc).createNodeIterator(doc, NodeFilter.SHOW_ELEMENT, null, true);
-			Node node;
-			while ((node = iter.nextNode()) != null) {
-				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					Element elm = (Element) node;
-					boolean match = false;
-					int i;
-					for (i = 0; i < removedSelNum && !match; i++) {
-						match = removed[i].match(elm, null);
-					}
-					for (i = 0; i < addedSelNum && !match; i++) {
-						match = added[i].match(elm, null);
-					}
-					if (match) {
-						if (!styleChangedNodes.contains(elm))
-							styleChangedNodes.add(elm);
-						// notifyStyleChanged(elm);
-					}
-				}
-			}
-		}
-		catch (ClassCastException ex) {
-			// Document doesn't implement DocumentTraversal...
-		}
-
-	}
-
-	/**
-	 * @param srcModel com.ibm.sed.css.model.interfaces.ICSSModel
-	 */
-	public void styleUpdate(ICSSModel srcModel) {
-		XMLNode node = (XMLNode) getElement();
-		if (node == null)
-			return;
-		XMLModel model = node.getModel();
-		if (model == null)
-			return;
-		XMLModelNotifier notifier = model.getModelNotifier();
-		if (notifier == null)
-			return;
-
-		// before updating, all sub-models should be loaded!
-		DocumentStyle document = (DocumentStyle) model.getDocument();
-		StyleSheetList styles = document.getStyleSheets();
-		if (styles != null) {
-			int n = styles.getLength();
-			ImportedCollector trav = new ImportedCollector();
-			for (int i = 0; i < n; i++) {
-				org.w3c.dom.stylesheets.StyleSheet sheet = styles.item(i);
-				if (sheet instanceof ICSSNode)
-					trav.apply((ICSSNode) sheet);
-			}
-		}
-
-		// flash style changed events
-		if (styleChangedNodes != null) {
-			Object[] elements = styleChangedNodes.toArray();
-			for (int i = 0; elements != null && i < elements.length; i++)
-				notifyStyleChanged((Element) elements[i]);
-			styleChangedNodes.clear();
-		}
-
-		// to notify GEF tree 
-		if (document instanceof INodeNotifier) {
-			Collection adapters = ((INodeNotifier) document).getAdapters();
-			if (adapters == null)
-				return;
-			Iterator it = adapters.iterator();
-			if (it == null)
-				return;
-			while (it.hasNext()) {
-				INodeAdapter adapter = (INodeAdapter) it.next();
-				if (adapter instanceof ICSSStyleListener) {
-					((ICSSStyleListener) adapter).styleUpdate(srcModel);
-				}
-			}
-		}
-
-		notifier.propertyChanged(node);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryContext.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryContext.java
deleted file mode 100644
index 2bd84f3..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryContext.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-import java.util.Enumeration;
-
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSValue;
-import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty;
-import org.eclipse.wst.css.core.util.CSSLinkConverter;
-import org.eclipse.wst.css.core.util.declaration.CSSPropertyContext;
-
-/**
- */
-class CSSQueryContext extends CSSPropertyContext {
-
-	/**
-	 */
-	public CSSQueryContext() {
-		super();
-	}
-
-	/**
-	 */
-	public CSSQueryContext(ICSSStyleDeclaration decl) {
-		super(decl);
-	}
-
-	/**
-	 *
-	 */
-	public void applyFull(ICSSStyleDeclaration decl) {
-		if (decl == null)
-			return;
-		Enumeration keys = fProperties.keys();
-		while (keys.hasMoreElements()) {
-			Object key = keys.nextElement();
-			Object val = fProperties.get(key);
-
-			if (val instanceof CSSQueryDeclarationData) {
-				ICSSStyleDeclItem declItem = ((CSSQueryDeclarationData) val).getDeclItem();
-				if (declItem.getLength() <= 0) {
-					ICSSStyleDeclItem itemToRemove = decl.getDeclItemNode(key.toString());
-					if (itemToRemove != null) {
-						decl.removeDeclItemNode(itemToRemove);
-					}
-				}
-				else {
-					decl.setDeclItemNode(declItem);
-				}
-			}
-			else {
-				String value = (val instanceof ICSSValue) ? ((ICSSValue) val).getCSSValueText() : val.toString();
-
-				if (value == null || value.length() <= 0) {
-					ICSSStyleDeclItem itemToRemove = decl.getDeclItemNode(key.toString());
-					if (itemToRemove != null) {
-						decl.removeDeclItemNode(itemToRemove);
-					}
-				}
-				else {
-					decl.setProperty(key.toString(), value, null);
-				}
-			}
-		}
-	}
-
-	/**
-	 */
-	private boolean check(String propName, boolean important, int specificity) {
-		Object current = fProperties.get(propName);
-		if (current != null && current instanceof CSSQueryValueData) {
-			CSSQueryValueData currentValue = (CSSQueryValueData) current;
-			if ((!important && currentValue.important) || (currentValue.getSpecificity() > specificity)) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	/**
-	 */
-	public void overrideWithExpand(ICSSStyleDeclaration decl, int specificity) {
-		if (decl == null)
-			return;
-
-		CSSLinkConverter conv = new CSSLinkConverter(decl.getOwnerDocument().getModel());
-
-		int nProperties = decl.getLength();
-		for (int i = 0; i < nProperties; i++) {
-			String propName = decl.item(i);
-			if (propName != null) {
-				String propN = propName.trim().toLowerCase();
-				if (propN.length() != 0) {
-					PropCMProperty prop = PropCMProperty.getInstanceOf(propN);
-					String priority = decl.getPropertyPriority(propName);
-					boolean important = priority != null && priority.length() > 0;
-					if (prop != null && prop.isShorthand()) {
-						// expand shorthand property
-						CSSQueryContext context = new CSSQueryContext();
-						expandToLeaf(prop, decl.getPropertyValue(propName), context);
-
-						Enumeration properties = context.properties();
-						while (properties.hasMoreElements()) {
-							propN = properties.nextElement().toString();
-							if (check(propN, important, specificity)) {
-								fProperties.put(propN, new CSSQueryValueData(conv.toAbsolute(context.get(propN)), important, specificity));
-							}
-						}
-					}
-					else {
-						if (check(propN, important, specificity)) {
-							ICSSStyleDeclItem declItem = (ICSSStyleDeclItem) decl.getDeclItemNode(propName).cloneNode(true);
-							int nValues = declItem.getLength();
-							for (int j = 0; j < nValues; j++) {
-								conv.toAbsolute(declItem.item(j));
-							}
-							declItem.setPriority(null);
-							fProperties.put(propN, new CSSQueryDeclarationData(declItem, important, specificity));
-						}
-					}
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryDeclarationData.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryDeclarationData.java
deleted file mode 100644
index 2b42b8d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryDeclarationData.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-import org.eclipse.wst.css.core.document.ICSSStyleDeclItem;
-
-
-
-/**
- */
-public class CSSQueryDeclarationData extends CSSQueryValueData {
-
-
-	ICSSStyleDeclItem declItem;
-
-	public CSSQueryDeclarationData(ICSSStyleDeclItem declItem, boolean imp, int specificity) {
-		super(null, imp, specificity);
-		this.declItem = declItem;
-	}
-
-	/**
-	 */
-	ICSSStyleDeclItem getDeclItem() {
-		return declItem;
-	}
-
-	/**
-	 */
-	public String toString() {
-		if (value == null && declItem != null) {
-			value = declItem.getCSSValueText();
-		}
-		return value;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryTraverser.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryTraverser.java
deleted file mode 100644
index 9cddce0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryTraverser.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.document.ICSSSelector;
-import org.eclipse.wst.css.core.document.ICSSSelectorList;
-import org.eclipse.wst.css.core.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.util.AbstractCssTraverser;
-import org.eclipse.wst.css.core.util.CSSStyleDeclarationFactory;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.ElementCSSInlineStyle;
-
-/**
- */
-public class CSSQueryTraverser extends AbstractCssTraverser {
-
-	private Element element;
-	private String pseudoName;
-	private CSSQueryContext context = null;
-	ICSSStyleDeclaration decl = null;
-
-	/**
-	 */
-	public ICSSStyleDeclaration getDeclaration() {
-		try {
-			ICSSStyleDeclaration inlineStyle = (ICSSStyleDeclaration) ((ElementCSSInlineStyle) element).getStyle();
-			if (inlineStyle != null) {
-				if (context == null) {
-					context = new CSSQueryContext();
-				}
-				context.overrideWithExpand(inlineStyle, 10000);
-				// style attribute's specificity is 100 (in CSS2 spec.) and
-				// our implement use 100 as base number (see CSSSelector.java)
-			}
-		}
-		catch (ClassCastException ex) {
-			// element is not ElementCSSInlineStyle ???
-		}
-		if (context == null)
-			return null;
-
-		if (decl == null)
-			decl = CSSStyleDeclarationFactory.getInstance().createStyleDeclaration();
-		context.applyFull(decl);
-		return decl;
-	}
-
-	/**
-	 */
-	private void overwriteDeclaration(ICSSStyleDeclaration d, int specificity) {
-		if (d == null)
-			return;
-		if (context == null)
-			context = new CSSQueryContext();
-		context.overrideWithExpand(d, specificity);
-	}
-
-	/**
-	 */
-	protected short postNode(ICSSNode node) {
-		return TRAV_CONT;
-	}
-
-	/**
-	 */
-	protected short preNode(ICSSNode node) {
-		if (node instanceof ICSSStyleRule) {
-			// style rule
-			ICSSStyleRule style = (ICSSStyleRule) node;
-			ICSSSelectorList list = style.getSelectors();
-			int nSelectors = list.getLength();
-			int maxSpecificity = -1;
-			for (int iSelector = 0; iSelector < nSelectors; iSelector++) {
-				// Check each Selector Lists
-				ICSSSelector selector = list.getSelector(iSelector);
-				int specificity = selector.getSpecificity();
-				if (maxSpecificity < specificity && selector.match(element, pseudoName)) {
-					maxSpecificity = specificity;
-				}
-			}
-			if (maxSpecificity >= 0) {
-				// apply this style to the element
-				overwriteDeclaration((ICSSStyleDeclaration) style.getStyle(), maxSpecificity);
-			}
-			return TRAV_PRUNE;
-		}
-		return TRAV_CONT;
-	}
-
-	/**
-	 */
-	private void resetContext() {
-		context = null;
-	}
-
-	/**
-	 */
-	public void setElement(Element element, String pseudoName) {
-		this.element = element;
-		this.pseudoName = pseudoName;
-		resetContext();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryValueData.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryValueData.java
deleted file mode 100644
index 26f56b7..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/CSSQueryValueData.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-import org.eclipse.wst.css.core.util.declaration.ValueData;
-
-
-
-/**
- */
-class CSSQueryValueData extends ValueData {
-
-	private int specificity;
-
-	/**
-	 */
-	public CSSQueryValueData() {
-		super();
-	}
-
-	/**
-	 */
-	public CSSQueryValueData(String val, boolean imp) {
-		super(val, imp);
-	}
-
-	/**
-	 */
-	public CSSQueryValueData(String val, boolean imp, int specificity) {
-		super(val, imp);
-		this.specificity = specificity;
-	}
-
-	/**
-	 */
-	int getSpecificity() {
-		return specificity;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLDocumentAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLDocumentAdapter.java
deleted file mode 100644
index a2ecc23..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLDocumentAdapter.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.adapters.IStyleSheetListAdapter;
-import org.eclipse.wst.css.core.document.ICSSImportRule;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.document.ICSSNode;
-import org.eclipse.wst.css.core.util.CSSClassTraverser;
-import org.eclipse.wst.css.core.util.ImportRuleCollector;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.html.core.contentmodel.JSP11Namespace;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.css.CSSStyleDeclaration;
-import org.w3c.dom.stylesheets.StyleSheet;
-import org.w3c.dom.stylesheets.StyleSheetList;
-
-
-
-/**
- */
-public class HTMLDocumentAdapter implements IStyleSheetListAdapter, StyleSheetList {
-
-	private Document document = null;
-	private Vector styleAdapters = null;
-	private Vector oldStyleAdapters = null;
-
-	/**
-	 */
-	HTMLDocumentAdapter() {
-		super();
-	}
-
-	/**
-	 */
-	private void addStyleSheet(Element node) {
-		XMLElement element = (XMLElement) node;
-		String tagName = element.getTagName();
-		if (tagName == null)
-			return;
-		boolean isContainer = false;
-		if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.HTML) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.HEAD) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.NOSCRIPT) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.BASE) || tagName.equalsIgnoreCase(JSP11Namespace.ElementName.ROOT) || (!element.isGlobalTag() && element.isContainer())) {
-			isContainer = true;
-		}
-		else if (element.isCommentTag()) {
-			Node parent = element.getParentNode();
-			if (parent == element.getOwnerDocument()) {
-				// This condition is too severe, actually do not work for JSF template.
-				// But above (! globalTag() && isContainer()) cover JSF template + tpl template
-				isContainer = true;
-			}
-			else if (parent.getNodeType() == Node.ELEMENT_NODE) {
-				tagName = ((Element) parent).getTagName();
-				if (tagName != null && tagName.equalsIgnoreCase(HTML40Namespace.ElementName.HEAD)) {
-					isContainer = true;
-				}
-			}
-		}
-
-		else {
-			String localName = element.getLocalName();
-			if (localName != null && localName.equalsIgnoreCase(HTML40Namespace.ElementName.HTML)) {
-				// taglib html tag
-				isContainer = true;
-			}
-			else {
-				INodeNotifier notifier = element;
-				INodeAdapter adapter = notifier.getAdapterFor(IStyleSheetAdapter.class);
-				if (adapter != null && adapter instanceof IStyleSheetAdapter) {
-					this.styleAdapters.addElement(adapter);
-				}
-			}
-		}
-		if (isContainer) {
-			INodeNotifier notifier = element;
-			if (notifier.getExistingAdapter(IStyleSheetListAdapter.class) == null) {
-				notifier.addAdapter(this);
-			}
-			for (Node child = element.getFirstChild(); child != null; child = child.getNextSibling()) {
-				if (child.getNodeType() != Node.ELEMENT_NODE)
-					continue;
-				addStyleSheet((Element) child);
-			}
-		}
-	}
-
-	/**
-	 */
-	void childReplaced() {
-		if (this.styleAdapters == null)
-			return;
-
-		// backup old adapters to be released on updating in getStyleSheets()
-		this.oldStyleAdapters = this.styleAdapters;
-		// invalidate the list
-		this.styleAdapters = null;
-
-		notifyStyleSheetsChanged(this.document);
-	}
-
-	/**
-	 */
-	public Enumeration getClasses() {
-		StyleSheetList sheetList = getStyleSheets();
-		int nSheets = sheetList.getLength();
-
-		final ArrayList classes = new ArrayList();
-
-		CSSClassTraverser traverser = new CSSClassTraverser();
-		traverser.setTraverseImported(true);
-
-		for (int i = 0; i < nSheets; i++) {
-			org.w3c.dom.stylesheets.StyleSheet sheet = sheetList.item(i);
-			if (sheet instanceof ICSSNode) {
-				traverser.apply((ICSSNode) sheet);
-			}
-		}
-		classes.addAll(traverser.getClassNames());
-
-		return new Enumeration() {
-			int i = 0;
-
-			public boolean hasMoreElements() {
-				return i < classes.size();
-			}
-
-			public Object nextElement() {
-				return classes.get(i++);
-			}
-		};
-	}
-
-	/**
-	 */
-	private List getValidAdapters() {
-		Vector validAdapters = new Vector();
-		if (this.styleAdapters != null) {
-			Iterator i = this.styleAdapters.iterator();
-			while (i.hasNext()) {
-				Object obj = i.next();
-				if (obj instanceof AbstractStyleSheetAdapter && ((AbstractStyleSheetAdapter) obj).isValidAttribute()) {
-					validAdapters.add(obj);
-				}
-			}
-		}
-		return validAdapters;
-	}
-
-	/**
-	 */
-	public int getLength() {
-		return getValidAdapters().size();
-	}
-
-	/**
-	 */
-	public CSSStyleDeclaration getOverrideStyle(Element element, String pseudoName) {
-		StyleSheetList ssl = getStyleSheets();
-		int numStyles = ssl.getLength();
-
-		CSSQueryTraverser query = new CSSQueryTraverser();
-		query.setTraverseImported(true);
-		query.setTraverseImportFirst(true);
-		query.setElement(element, pseudoName);
-
-		for (int i = 0; i < numStyles; i++) {
-			// loop for styles (<style> and <link>)
-			org.w3c.dom.stylesheets.StyleSheet ss = ssl.item(i);
-
-			try {
-				query.apply((ICSSNode) ss);
-			}
-			catch (ClassCastException ex) {
-				// I can handle only CSS style
-			}
-		}
-
-		return query.getDeclaration();
-	}
-
-	/**
-	 */
-	public StyleSheetList getStyleSheets() {
-		if (this.styleAdapters == null) {
-			if (this.document == null)
-				return null;
-
-			this.styleAdapters = new Vector();
-			for (Node child = this.document.getFirstChild(); child != null; child = child.getNextSibling()) {
-				if (child.getNodeType() != Node.ELEMENT_NODE)
-					continue;
-				addStyleSheet((Element) child);
-			}
-
-			removeOldStyleSheets();
-		}
-		return this;
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == IStyleSheetListAdapter.class);
-	}
-
-	/**
-	 */
-	public StyleSheet item(int index) {
-		if (this.styleAdapters == null)
-			return null;
-
-		List validAdapters = getValidAdapters();
-
-		if (index < 0 || index >= validAdapters.size())
-			return null;
-		org.w3c.dom.stylesheets.StyleSheet sheet = ((IStyleSheetAdapter) validAdapters.get(index)).getSheet();
-		if (sheet == null) {// for LINK element whose link is broken
-			ICSSModel model = ((AbstractStyleSheetAdapter) this.styleAdapters.elementAt(index)).createModel();
-			sheet = ((model != null) ? (StyleSheet) model.getDocument() : null);
-		}
-		return sheet;
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		Node node = null;
-		switch (eventType) {
-			case INodeNotifier.ADD :
-				node = (Node) newValue;
-				break;
-			case INodeNotifier.REMOVE :
-				node = (Node) oldValue;
-				break;
-			case INodeNotifier.CHANGE :
-				node = (Node) notifier;
-				break;
-			default :
-				break;
-		}
-		if (node == null || node.getNodeType() != Node.ELEMENT_NODE)
-			return;
-		XMLElement element = (XMLElement) node;
-		String tagName = element.getTagName();
-		if (tagName == null)
-			return;
-
-		if (eventType == INodeNotifier.CHANGE) {
-			if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.BASE)) {
-				refreshAdapters();
-			}
-		}
-		else {
-			if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.HTML) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.HEAD) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.STYLE) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.LINK) || tagName.equalsIgnoreCase(HTML40Namespace.ElementName.NOSCRIPT) || tagName.equalsIgnoreCase(JSP11Namespace.ElementName.ROOT) || element.isCommentTag() || (!element.isGlobalTag() && element.isContainer())) {
-				childReplaced();
-			}
-			else if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.BASE)) {
-				refreshAdapters();
-			}
-			else {
-				String localName = element.getLocalName();
-				if (localName != null && localName.equalsIgnoreCase(HTML40Namespace.ElementName.HTML)) {
-					// taglib html tag
-					childReplaced();
-				}
-			}
-		}
-	}
-
-	/**
-	 * reload LINK / @import if BASE changed
-	 */
-	private void refreshAdapters() {
-		Iterator iAdapter = this.styleAdapters.iterator();
-		while (iAdapter.hasNext()) {
-			Object adapter = iAdapter.next();
-			if (adapter instanceof LinkElementAdapter) {
-				((LinkElementAdapter) adapter).refreshSheet();
-			}
-			else if (adapter instanceof StyleElementAdapter) {
-				ICSSModel model = ((StyleElementAdapter) adapter).getModel();
-				ImportRuleCollector trav = new ImportRuleCollector();
-				trav.apply(model);
-				Iterator iRule = trav.getRules().iterator();
-				while (iRule.hasNext()) {
-					ICSSImportRule rule = (ICSSImportRule) iRule.next();
-					rule.refreshStyleSheet();
-				}
-			}
-		}
-	}
-
-	/**
-	 */
-	private void notifyStyleSheetsChanged(Document target) {
-		INodeNotifier notifier = (INodeNotifier) target;
-		if (notifier == null)
-			return;
-		Collection adapters = notifier.getAdapters();
-		if (adapters == null)
-			return;
-		Iterator it = adapters.iterator();
-		if (it == null)
-			return;
-		while (it.hasNext()) {
-			INodeAdapter adapter = (INodeAdapter) it.next();
-			if (adapter instanceof StyleListener) {
-				StyleListener listener = (StyleListener) adapter;
-				listener.styleChanged();
-			}
-		}
-	}
-
-	/**
-	 */
-	private void releaseOldStyleSheets() {
-		if (this.oldStyleAdapters == null)
-			return;
-		Iterator it = this.oldStyleAdapters.iterator();
-		while (it.hasNext()) {
-			IStyleSheetAdapter adapter = (IStyleSheetAdapter) it.next();
-			if (adapter == null)
-				continue;
-			// if the same adapter is in the current list,
-			// do not release
-			if (this.styleAdapters != null && this.styleAdapters.contains(adapter))
-				continue;
-			adapter.released();
-		}
-		this.oldStyleAdapters = null;
-	}
-
-	/**
-	 */
-	public void releaseStyleSheets() {
-		releaseOldStyleSheets();
-
-		if (this.styleAdapters == null)
-			return;
-		Iterator it = this.styleAdapters.iterator();
-		while (it.hasNext()) {
-			IStyleSheetAdapter adapter = (IStyleSheetAdapter) it.next();
-			if (adapter != null)
-				adapter.released();
-		}
-		this.styleAdapters = null;
-	}
-
-	/**
-	 */
-	private void removeOldStyleSheets() {
-		if (this.oldStyleAdapters == null)
-			return;
-		Iterator it = this.oldStyleAdapters.iterator();
-		while (it.hasNext()) {
-			IStyleSheetAdapter adapter = (IStyleSheetAdapter) it.next();
-			if (adapter == null)
-				continue;
-			// if the same adapter is in the current list,
-			// do not release
-			if (this.styleAdapters != null && this.styleAdapters.contains(adapter))
-				continue;
-			adapter.removed();
-		}
-		this.oldStyleAdapters = null;
-	}
-
-	/**
-	 */
-	void setDocument(Document document) {
-		this.document = document;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLStyleSelectorAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLStyleSelectorAdapter.java
deleted file mode 100644
index d7a8426..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLStyleSelectorAdapter.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.css.core.adapters.IStyleSelectorAdapter;
-import org.eclipse.wst.css.core.document.ICSSSimpleSelector;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.w3c.dom.Element;
-
-/**
- * Insert the type's description here.
- */
-public class HTMLStyleSelectorAdapter implements IStyleSelectorAdapter {
-
-	static private HTMLStyleSelectorAdapter instance;
-	private Object toMatch = IStyleSelectorAdapter.class;
-
-	/**
-	 * Insert the method's description here.
-	 * @return com.ibm.sed.model.html.css.HTMLStyleSelectorAdapter
-	 */
-	public synchronized static HTMLStyleSelectorAdapter getInstance() {
-		if (instance == null) {
-			instance = new HTMLStyleSelectorAdapter();
-		}
-		return instance;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.INodeAdapter
-	 */
-	public boolean isAdapterForType(Object type) {
-		return type == toMatch;
-	}
-
-	/**
-	 * @see com.ibm.sed.css.adapters.IStyleSelectorAdapter
-	 */
-	public boolean match(ICSSSimpleSelector selector, Element element, String pseudoName) {
-		if (element == null)
-			return false;
-		int i;
-		String key;
-
-		// PseudoName
-		i = selector.getNumOfPseudoNames();
-		if (i > 0) {
-			if (pseudoName == null || pseudoName.length() == 0)
-				return false;
-			for (i = i - 1; i >= 0; i--) {
-				if (pseudoName.equalsIgnoreCase(selector.getPseudoName(i))) {
-					break;
-				}
-			}
-			if (i < 0)
-				return false;
-		}
-
-		// check tag name
-		if (!selector.isUniversal() && !element.getNodeName().equalsIgnoreCase(selector.getName()))
-			return false;
-
-		// check id
-		i = selector.getNumOfIDs();
-		if (i > 0) {
-			if (i > 1)
-				return false;
-			key = element.getAttribute("id");//$NON-NLS-1$
-			if (key == null)
-				return false;
-			if (!selector.getID(0).equals(key))
-				return false;
-		}
-
-		// check class
-		i = selector.getNumOfClasses();
-		if (i > 0) {
-			key = element.getAttribute("class");//$NON-NLS-1$
-			if (key == null)
-				return false;
-			StringTokenizer tokenizer = new StringTokenizer(key);
-			for (i = i - 1; i >= 0; i--) {
-				boolean ok = false;
-				while (tokenizer.hasMoreTokens()) {
-					if (selector.getClass(i).equals(tokenizer.nextToken())) {
-						ok = true;
-						break;
-					}
-				}
-				if (!ok)
-					return false;
-			}
-		}
-
-		// check attributes
-		for (i = selector.getNumOfAttributes() - 1; i >= 0; i--) {
-			StringTokenizer tokenizer = new StringTokenizer(selector.getAttribute(i), "=~| \t\r\n\f");//$NON-NLS-1$
-			int countTokens = tokenizer.countTokens();
-			if (countTokens > 0) {
-				String attrValue = element.getAttribute(tokenizer.nextToken());
-				if (attrValue == null)
-					return false;
-				if (countTokens > 1) {
-					String token = tokenizer.nextToken("= \t\r\n\f");//$NON-NLS-1$
-					StringTokenizer attrValueTokenizer = null;
-					if (token.equals("~")) {//$NON-NLS-1$
-						attrValueTokenizer = new StringTokenizer(attrValue);
-					}
-					else if (token.equals("|")) {//$NON-NLS-1$
-						attrValueTokenizer = new StringTokenizer(attrValue, "-");//$NON-NLS-1$
-					}
-					if (attrValueTokenizer != null) {
-						if (tokenizer.hasMoreTokens()) {
-							token = tokenizer.nextToken();
-							boolean ok = false;
-							while (attrValueTokenizer.hasMoreTokens()) {
-								if (token.equals(attrValueTokenizer.nextToken())) {
-									ok = true;
-									break;
-								}
-							}
-							if (!ok)
-								return false;
-						}
-					}
-					else {
-						if (!attrValue.equals(token))
-							return false;
-					}
-				}
-			}
-		}
-
-		return true;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.INodeAdapter
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLStyleSelectorAdapterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLStyleSelectorAdapterFactory.java
deleted file mode 100644
index 3829934..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLStyleSelectorAdapterFactory.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-import org.eclipse.wst.css.core.adapters.IStyleSelectorAdapter;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-
-/**
- * Insert the type's description here.
- */
-public class HTMLStyleSelectorAdapterFactory implements AdapterFactory {
-
-	private static HTMLStyleSelectorAdapterFactory instance;
-	private Object toMatch = IStyleSelectorAdapter.class;
-
-	/**
-	 * CSSModelProvideAdapterFactory constructor comment.
-	 */
-	public HTMLStyleSelectorAdapterFactory() {
-		super();
-	}
-
-	/**
-	 * Method that returns the adapter associated with the given object.
-	 * It may be a singleton or not ... depending on the needs of the INodeAdapter  ...
-	 * but in general it is recommended for an adapter to be stateless, 
-	 * so the efficiencies of a singleton can be gained.
-	 *
-	 * The implementation of this method should call addAdapter on the adapted
-	 * object with the correct instance of the adapter.
-	 */
-	public INodeAdapter adapt(INodeNotifier notifier) {
-		INodeAdapter adapter = notifier.getExistingAdapter(IStyleSelectorAdapter.class);
-		if (adapter != null)
-			return adapter;
-		adapter = HTMLStyleSelectorAdapter.getInstance();
-		notifier.addAdapter(adapter);
-		return adapter;
-	}
-
-	/**
-	 * Insert the method's description here.
-	 * @return com.ibm.iwt.css.adapters.HTMLStyleSelectorAdapterFactory
-	 */
-	public synchronized static HTMLStyleSelectorAdapterFactory getInstance() {
-		if (instance == null)
-			instance = new HTMLStyleSelectorAdapterFactory();
-		return instance;
-	}
-
-	/**
-	 * isFactoryForType method comment.
-	 */
-	public boolean isFactoryForType(Object type) {
-		return type == toMatch;
-	}
-
-	public void release() {
-		// default is to do nothing
-	}
-
-	/**
-	 * Overriding copy method
-	 */
-	public AdapterFactory copy() {
-		return getInstance();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/LinkElementAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/LinkElementAdapter.java
deleted file mode 100644
index ab5b520..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/LinkElementAdapter.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.css.core.adapters.IModelProvideAdapter;
-import org.eclipse.wst.css.core.adapters.IStyleSheetListAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.contenttype.ContentTypeIdForCSS;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- */
-public class LinkElementAdapter extends AbstractStyleSheetAdapter {
-
-	private final static String CSS_ID = ContentTypeIdForCSS.ContentTypeID_CSS;
-	private boolean replaceModel = true;
-	// this variable to hold the class is just a VAJava trick.
-	// it improves performance in VAJava by minimizing class loading.
-	private final Class ModelProvideAdapterClass = IModelProvideAdapter.class;
-
-	/**
-	 */
-	protected LinkElementAdapter() {
-		super();
-	}
-
-	/**
-	 */
-	private void attrReplaced() {
-		this.replaceModel = true;
-
-		Element element = getElement();
-		if (element == null)
-			return; // error
-		Document document = element.getOwnerDocument();
-		if (document == null)
-			return; // error
-		INodeNotifier notifier = (INodeNotifier) document;
-		HTMLDocumentAdapter adapter = (HTMLDocumentAdapter) notifier.getAdapterFor(IStyleSheetListAdapter.class);
-		if (adapter == null)
-			return;
-		adapter.childReplaced();
-	}
-
-	/**
-	 * 
-	 * @return com.ibm.sed.css.model.interfaces.ICSSModel
-	 */
-	protected ICSSModel createModel() {
-		// create phantom(broken link) external CSS model
-		if (getElement() == null)
-			return null;
-		IStructuredModel baseModel = ((XMLNode) getElement()).getModel();
-		ICSSModel newModel = (ICSSModel) baseModel.getModelManager().createUnManagedStructuredModelFor(CSS_ID);
-
-		// calculate base location and set
-		// get resolver in Model
-		URIResolver resolver = baseModel.getResolver();
-
-		// resolve to absolute url : this need not exact location of css file. It is important that absurl is not null. 
-		String ref = getElement().getAttribute(org.eclipse.wst.html.core.HTML40Namespace.ATTR_NAME_HREF);
-		String absurl = (resolver != null && ref != null) ? resolver.getLocationByURI(ref, true) : null;
-		if ((absurl == null) || (absurl.length() == 0)) {
-			IPath basePath = new Path(baseModel.getBaseLocation());
-			URLHelper helper = new URLHelper(basePath.removeLastSegments(1).toString());
-			absurl = helper.toAbsolute(ref == null ? "" : ref);//$NON-NLS-1$
-		}
-		if ((absurl == null) || (absurl.length() == 0)) {
-			absurl = ref;
-		}
-		if (absurl == null) {
-			absurl = "";//$NON-NLS-1$
-		}
-		newModel.setBaseLocation(absurl);
-
-		// set style listener
-		newModel.addStyleListener(this);
-
-		return newModel;
-	}
-
-	/**
-	 */
-	public ICSSModel getModel() {
-		ICSSModel model = getExistingModel();
-		if (this.replaceModel) {
-			ICSSModel oldModel = model;
-
-			model = retrieveModel();
-			setModel(model);
-
-			// release old model
-			if (oldModel != null) {
-				// get ModelProvideAdapter
-				IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement()).getAdapterFor(IModelProvideAdapter.class);
-				adapter.modelRemoved(oldModel);
-
-				oldModel.releaseFromRead();
-
-			}
-			this.replaceModel = false;
-		}
-		return model;
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (eventType != INodeNotifier.CHANGE)
-			return;
-		Attr attr = (Attr) changedFeature;
-		if (attr == null)
-			return;
-		String name = attr.getName();
-		if (name.equalsIgnoreCase("rel") || //$NON-NLS-1$
-					name.equalsIgnoreCase("type") || //$NON-NLS-1$	
-					name.equalsIgnoreCase("href")) {//$NON-NLS-1$
-			attrReplaced();
-		}
-	}
-
-	/**
-	 */
-	public void refreshSheet() {
-		if (!replaceModel) {
-			removed();
-			replaceModel = true;
-
-			XMLNode node = (XMLNode) getElement();
-			if (node != null) {
-				node.notify(INodeNotifier.CHANGE, getElement().getAttributeNode(org.eclipse.wst.html.core.HTML40Namespace.ATTR_NAME_HREF), null, null, node.getStartOffset());
-			}
-		}
-	}
-
-	/**
-	 */
-	public void released() {
-		ICSSModel model = getExistingModel();
-		if (model != null) {
-			try {
-				// get ModelProvideAdapter
-				IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement()).getAdapterFor(IModelProvideAdapter.class);
-
-				// set element to null first, so that no document wide updates
-				setElement(null);
-				setModel(null);
-
-				if (adapter != null)
-					adapter.modelReleased(model);
-			}
-			finally {
-				model.releaseFromRead();
-			}
-		}
-		this.replaceModel = false;
-	}
-
-	/**
-	 */
-	public void removed() {
-		ICSSModel model = getExistingModel();
-		if (model != null) {
-			try {
-				setModel(null);
-
-				// get ModelProvideAdapter
-				IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement()).getAdapterFor(IModelProvideAdapter.class);
-				if (adapter != null)
-					adapter.modelRemoved(model);
-			}
-			finally {
-				model.releaseFromRead();
-			}
-		}
-		this.replaceModel = false;
-	}
-
-	/**
-	 */
-	protected boolean isValidAttribute() {
-		Element element = getElement();
-		if (element == null)
-			return false;
-		String rel = element.getAttribute("rel");//$NON-NLS-1$
-		if (rel == null || !rel.equalsIgnoreCase("stylesheet"))//$NON-NLS-1$
-			return false;
-		String type = element.getAttribute("type");//$NON-NLS-1$
-		if (type != null && !type.equalsIgnoreCase("text/css"))//$NON-NLS-1$
-			return false;
-		String href = element.getAttribute("href");//$NON-NLS-1$
-		if (href == null || href.length() == 0)
-			return false;
-		return true;
-	}
-
-	/**
-	 */
-	private ICSSModel retrieveModel() {
-		if (!isValidAttribute()) {
-			return null;
-		}
-
-		// null,attr check is done in isValidAttribute()
-		Element element = getElement();
-		String href = element.getAttribute("href");//$NON-NLS-1$
-
-		XMLModel baseModel = ((XMLNode) element).getModel();
-		if (baseModel == null)
-			return null;
-		Object id = baseModel.getId();
-		if (!(id instanceof String))
-			return null;
-		//String base = (String)id;
-
-		// get ModelProvideAdapter
-		IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement()).getAdapterFor(ModelProvideAdapterClass);
-
-		URLModelProvider provider = new URLModelProvider();
-		try {
-			IStructuredModel newModel = provider.getModelForRead(baseModel, href);
-			if (newModel == null)
-				return null;
-			if (!(newModel instanceof ICSSModel)) {
-				newModel.releaseFromRead();
-				return null;
-			}
-
-			// notify adapter
-			if (adapter != null)
-				adapter.modelProvided(newModel);
-
-			return (ICSSModel) newModel;
-		}
-		catch (UnsupportedEncodingException e) {
-		}
-		catch (IOException e) {
-		}
-
-		return null;
-	}
-
-	/**
-	 */
-	protected void setModel(ICSSModel model) {
-		ICSSModel oldModel = getExistingModel();
-		if (model == oldModel)
-			return;
-		super.setModel(model);
-		if (this.replaceModel)
-			this.replaceModel = false;
-		if (oldModel != null)
-			oldModel.removeStyleListener(this);
-		if (model != null)
-			model.addStyleListener(this);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAdapterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAdapterFactory.java
deleted file mode 100644
index 30d88ad..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAdapterFactory.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.css.core.adapters.IStyleDeclarationAdapter;
-import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.adapters.IStyleSheetListAdapter;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- */
-public class StyleAdapterFactory implements AdapterFactory {
-
-	private static StyleAdapterFactory instance = null;
-
-	//	private static String CSS_CONTENT_TYPE = "text/css";//$NON-NLS-1$
-	/**
-	 */
-	private StyleAdapterFactory() {
-		super();
-	}
-
-	/**
-	 */
-	public INodeAdapter adapt(INodeNotifier notifier) {
-		if (notifier == null)
-			return null;
-
-		Node node = (Node) notifier;
-		short nodeType = node.getNodeType();
-		if (nodeType == Node.DOCUMENT_NODE) {
-			INodeAdapter adapter = notifier.getExistingAdapter(IStyleSheetListAdapter.class);
-			if (adapter != null)
-				return adapter;
-			HTMLDocumentAdapter newAdapter = new HTMLDocumentAdapter();
-			newAdapter.setDocument((Document) node);
-			notifier.addAdapter(newAdapter);
-			return newAdapter;
-		}
-		if (nodeType != Node.ELEMENT_NODE)
-			return null;
-
-		Element element = (Element) node;
-		String tagName = element.getTagName();
-		if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.STYLE)) {
-			if (!isTagAvailable(element.getOwnerDocument(), HTML40Namespace.ElementName.STYLE)) {
-				return null;
-			}
-			//		String type = element.getAttribute(HTML40Namespace.ATTR_NAME_TYPE);
-			//		if (type != null && ! type.equalsIgnoreCase(CSS_CONTENT_TYPE)) {
-			//			return null;
-			//		}
-			INodeAdapter adapter = notifier.getExistingAdapter(IStyleSheetAdapter.class);
-			if (adapter != null)
-				return adapter;
-			StyleElementAdapter newAdapter = new StyleElementAdapter();
-			newAdapter.setElement(element);
-			notifier.addAdapter(newAdapter);
-			return newAdapter;
-		}
-		else if (tagName.equalsIgnoreCase(HTML40Namespace.ElementName.LINK)) {
-			if (!isTagAvailable(element.getOwnerDocument(), HTML40Namespace.ElementName.LINK)) {
-				return null;
-			}
-			INodeAdapter adapter = notifier.getExistingAdapter(IStyleSheetAdapter.class);
-			if (adapter != null)
-				return adapter;
-			LinkElementAdapter newAdapter = new LinkElementAdapter();
-			newAdapter.setElement(element);
-			notifier.addAdapter(newAdapter);
-			return newAdapter;
-		}
-
-		INodeAdapter adapter = notifier.getExistingAdapter(IStyleDeclarationAdapter.class);
-		if (adapter != null)
-			return adapter;
-
-		if (!isAttributeAvailable(element, HTML40Namespace.ATTR_NAME_STYLE)) {
-			return null;
-		}
-		StyleAttrAdapter newAdapter = new StyleAttrAdapter();
-		newAdapter.setElement(element);
-		notifier.addAdapter(newAdapter);
-		return newAdapter;
-	}
-
-	/**
-	 */
-	public synchronized static StyleAdapterFactory getInstance() {
-		if (instance == null)
-			instance = new StyleAdapterFactory();
-		return instance;
-	}
-
-	/**
-	 */
-	public boolean isFactoryForType(Object type) {
-		return (type == IStyleSheetAdapter.class || type == IStyleDeclarationAdapter.class || type == IStyleSheetListAdapter.class);
-	}
-
-	public void release() {
-		// default is to do nothing
-	}
-
-	private static boolean isTagAvailable(Document document, String elementName) {
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-		if (modelQuery != null) {
-			CMDocument cmdoc = modelQuery.getCorrespondingCMDocument(document);
-			CMNamedNodeMap map = cmdoc.getElements();
-			if ((CMElementDeclaration) map.getNamedItem(elementName) != null) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	private static boolean isAttributeAvailable(Element element, String attrName) {
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(element.getOwnerDocument());
-		if (modelQuery != null) {
-			CMElementDeclaration decl = modelQuery.getCMElementDeclaration(element);
-			if (decl != null) {
-				CMNamedNodeMap map = decl.getAttributes();
-				if ((CMAttributeDeclaration) map.getNamedItem(attrName) != null) {
-					return true;
-				}
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * Overriding Object's clone() method
-	 */
-	public AdapterFactory copy() {
-		return getInstance();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAttrAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAttrAdapter.java
deleted file mode 100644
index 145da41..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAttrAdapter.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-import org.eclipse.wst.css.core.adapters.IStyleDeclarationAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.css.core.internal.parser.CSSSourceParser;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSStyleDeclaration;
-
-/**
- */
-public class StyleAttrAdapter extends AbstractCSSModelAdapter implements IStructuredDocumentListener, IStyleDeclarationAdapter {
-
-	private boolean ignoreNotification = false;
-	private final static String STYLE = "style";//$NON-NLS-1$
-
-	/**
-	 */
-	StyleAttrAdapter() {
-		super();
-	}
-
-	/**
-	 */
-	public ICSSModel getModel() {
-		ICSSModel model = getExistingModel();
-		if (model == null && isModelNecessary()) {
-			model = createModel();
-			if (model == null)
-				return null;
-			
-			IStructuredDocument structuredDocument = model.getStructuredDocument();
-			if (structuredDocument == null)
-				return null;
-
-			RegionParser parser = structuredDocument.getParser();
-			if (parser instanceof CSSSourceParser) {
-				((CSSSourceParser)parser).setParserMode(CSSSourceParser.MODE_DECLARATION);
-			} else {
-				return null;
-			}
-			
-			structuredDocument.addDocumentChangedListener(this);
-
-			setModel(model); // need to set before valueChanged()
-			valueChanged();
-		}
-		if (model != null && !isModelNecessary()) {
-			model = null;
-			valueChanged();
-		}
-		return model;
-	}
-
-	/**
-	 */
-	public CSSStyleDeclaration getStyle() {
-		ICSSModel model = getModel();
-		if (model == null)
-			return null;
-		return (CSSStyleDeclaration) model.getDocument();
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == IStyleDeclarationAdapter.class);
-	}
-
-	/**
-	 */
-	public void newModel(NewDocumentEvent event) {
-		if (event == null)
-			return;
-		if (event.getOriginalSource() == this)
-			return;
-
-		setValue();
-	}
-
-	/**
-	 */
-	public void noChange(NoChangeEvent structuredDocumentEvent) {
-	}
-
-	/**
-	 */
-	public void nodesReplaced(StructuredDocumentRegionsReplacedEvent event) {
-		if (event == null)
-			return;
-		if (event.getOriginalSource() == this)
-			return;
-
-		setValue();
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (this.ignoreNotification)
-			return;
-
-		if (eventType != INodeNotifier.CHANGE)
-			return;
-		Attr attr = (Attr) changedFeature;
-		if (attr == null)
-			return;
-		String name = attr.getName();
-		if (name.equalsIgnoreCase(STYLE)) {
-			valueChanged();
-		}
-	}
-
-	/**
-	 */
-	public void regionChanged(RegionChangedEvent event) {
-		if (event == null)
-			return;
-		if (event.getOriginalSource() == this)
-			return;
-
-		setValue();
-	}
-
-	/**
-	 */
-	public void regionsReplaced(RegionsReplacedEvent event) {
-		if (event == null)
-			return;
-		if (event.getOriginalSource() == this)
-			return;
-
-		setValue();
-	}
-
-	/**
-	 */
-	private void setValue() {
-		Element element = getElement();
-		if (element == null)
-			return;
-		ICSSModel model = getExistingModel();
-		if (model == null)
-			return;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-
-		String value = null;
-		IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList();
-		if (flatNodes != null) {
-			int count = flatNodes.getLength();
-			if (count > 0) {
-				StringBuffer buffer = new StringBuffer();
-				for (int i = 0; i < count; i++) {
-					IStructuredDocumentRegion flatNode = flatNodes.item(i);
-					if (flatNode == null)
-						continue;
-					buffer.append(flatNode.getText());
-				}
-				value = buffer.toString();
-			}
-		}
-
-		this.ignoreNotification = true;
-		if (value == null || value.length() == 0) {
-			element.removeAttribute(STYLE);
-		}
-		else {
-			Attr attr = element.getAttributeNode(STYLE);
-			if (attr != null) {
-				((XMLNode) attr).setValueSource(value);
-			}
-			else {
-				Document document = element.getOwnerDocument();
-				attr = document.createAttribute(STYLE);
-				((XMLNode) attr).setValueSource(value);
-				element.setAttributeNode(attr);
-			}
-		}
-		this.ignoreNotification = false;
-
-		notifyStyleChanged(element);
-	}
-
-	/**
-	 */
-	private void valueChanged() {
-		Element element = getElement();
-		if (element == null)
-			return;
-		if (!isModelNecessary()) { // removed
-			setModel(null);
-
-			notifyStyleChanged(element);
-			return;
-		}
-
-		ICSSModel model = getExistingModel();
-		if (model == null)
-			return; // defer
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return; // error
-
-		String value = null;
-		Attr attr = element.getAttributeNode(org.eclipse.wst.html.core.HTML40Namespace.ATTR_NAME_STYLE);
-		if (attr != null)
-			value = ((XMLNode) attr).getValueSource();
-		structuredDocument.setText(this, value);
-
-		notifyStyleChanged(element);
-	}
-
-	/**
-	 * @return boolean
-	 */
-	private boolean isModelNecessary() {
-		return getElement() != null && getElement().getAttributeNode(org.eclipse.wst.html.core.HTML40Namespace.ATTR_NAME_STYLE) != null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleElementAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleElementAdapter.java
deleted file mode 100644
index df70ee9..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleElementAdapter.java
+++ /dev/null
@@ -1,411 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-import org.eclipse.wst.css.core.adapters.IModelProvideAdapter;
-import org.eclipse.wst.css.core.adapters.IStyleSheetListAdapter;
-import org.eclipse.wst.css.core.document.ICSSModel;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- */
-public class StyleElementAdapter extends AbstractStyleSheetAdapter implements IStructuredDocumentListener {
-
-	private boolean replaceModel = true;
-	private boolean ignoreNotification = false;
-
-	/**
-	 */
-	protected StyleElementAdapter() {
-		super();
-	}
-
-	/**
-	 * Preparation of applying changes from CSS sub-model to HTML model
-	 */
-	private void changeStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return;
-		Element element = getElement();
-		if (element == null)
-			return;
-		ICSSModel model = getExistingModel();
-		if (model == null)
-			return;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-
-		// get old content length
-		Node child = element.getFirstChild();
-		if (child == null || child.getNodeType() != Node.TEXT_NODE)
-			return;
-		XMLNode content = (XMLNode) child;
-		int oldLength = content.getEndOffset() - content.getStartOffset();
-
-		// get new content length
-		int newLength = 0;
-		IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList();
-		if (flatNodes != null) {
-			int count = flatNodes.getLength();
-			if (count > 0) {
-				IStructuredDocumentRegion last = flatNodes.item(count - 1);
-				if (last != null)
-					newLength = last.getEnd();
-			}
-		}
-
-		int offset = flatNode.getStart();
-		int end = flatNode.getEnd();
-		int diff = oldLength - newLength;
-		int length = end - offset + diff;
-		String data = flatNode.getText();
-
-		replaceData(offset, length, data);
-	}
-
-	/**
-	 * Apply changes from HTML model to CSS sub-model
-	 */
-	private void contentChanged() {
-		Element element = getElement();
-		if (element == null)
-			return;
-		ICSSModel model = getExistingModel();
-		if (model == null)
-			return;
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-
-		String data = null;
-		Node child = element.getFirstChild();
-		if (child != null && child.getNodeType() == Node.TEXT_NODE && child.getNextSibling() == null) {
-			data = child.getNodeValue();
-		}
-		if (data == null)
-			data = "";//$NON-NLS-1$
-
-		// minimize replace range
-		int start = 0, end = 0;
-		String oldData = structuredDocument.get();
-		if (oldData == null)
-			oldData = "";//$NON-NLS-1$
-
-		// search differenct character position from first
-		for (; start < oldData.length() && start < data.length(); start++)
-			if (oldData.charAt(start) != data.charAt(start))
-				break;
-
-		if (start == oldData.length() && start == data.length())
-			return; // no change
-		else if (start == oldData.length()) {
-			structuredDocument.replaceText(getRequesterH2C(), start, 0, data.substring(start)); // append text to last
-		}
-		else if (start == data.length()) {
-			structuredDocument.replaceText(getRequesterH2C(), start, oldData.length() - start, ""); // remove text of last //$NON-NLS-1$
-		}
-		else {
-			// search differenct character position from last
-			for (; start < oldData.length() - end && start < data.length() - end; end++) {
-				if (oldData.charAt(oldData.length() - end - 1) != data.charAt(data.length() - end - 1))
-					break;
-			}
-			structuredDocument.replaceText(getRequesterH2C(), start, oldData.length() - end - start, data.substring(start, data.length() - end));
-		}
-
-	}
-
-	/**
-	 */
-	public ICSSModel getModel() {
-		ICSSModel model = getExistingModel();
-		if (this.replaceModel) {
-			ICSSModel oldModel = model;
-			model = createModel();
-
-			setModel(model); // need to set before contentChanged()
-			contentChanged();
-
-			if (oldModel != null) {
-				// get ModelProvideAdapter
-				IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement()).getAdapterFor(IModelProvideAdapter.class);
-				if (adapter != null) {
-					adapter.modelRemoved(oldModel);
-				}
-			}
-
-			this.replaceModel = false;
-		}
-		return model;
-	}
-
-	/**
-	 */
-	protected boolean isValidAttribute() {
-		Element element = getElement();
-		if (element == null) {
-			return false;
-		}
-		String type = element.getAttribute(HTML40Namespace.ATTR_NAME_TYPE);
-		if (type != null && type.length() > 0 &&!type.equalsIgnoreCase("text/css")) { //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 */
-	protected ICSSModel createModel() {
-		if (!isValidAttribute()) {
-			return null;
-		}
-
-		ICSSModel model = super.createModel();
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return null;
-		structuredDocument.addDocumentChangedListener(this);
-
-		return model;
-	}
-
-	/**
-	 */
-	//  public ICSSModel getModel() {
-	//  	ICSSModel model = getExistingModel();
-	//  	if (model == null) {
-	//  		model = createModel();
-	//  		if (model == null) return null;
-	//  		IStructuredDocument structuredDocument = model.getStructuredDocument();
-	//  		if (structuredDocument == null) return null;
-	//  		structuredDocument.addModelChangedListener(this);
-	//  		setModel(model); // need to set before contentChanged()
-	//  		contentChanged();
-	//  	}
-	//  	return model;
-	//  }
-	/**
-	 */
-	private Object getRequesterH2C() {
-		return (getElement() != null && ((XMLNode) getElement()).getModel() != null) ? (Object) ((XMLNode) getElement()).getModel() : this;
-	}
-
-	/**
-	 */
-	private Object getRequesterC2H() {
-		return (getModel() != null) ? (Object) getModel() : this;
-	}
-
-	/**
-	 * Implementing IStructuredDocumentListener's method
-	 * Event from CSS Flat Model
-	 */
-	public void newModel(NewDocumentEvent event) {
-		if (event == null)
-			return;
-		if (event.getOriginalSource() == getRequesterH2C())
-			return;
-		IStructuredDocument structuredDocument = event.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-		IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList();
-		if (flatNodes == null)
-			return;
-
-		replaceStructuredDocumentRegions(flatNodes, null);
-	}
-
-	/**
-	 * Implementing IStructuredDocumentListener's method
-	 * Event from CSS Flat Model
-	 */
-	public void noChange(NoChangeEvent structuredDocumentEvent) {
-	}
-
-	/**
-	 * Implementing IStructuredDocumentListener's method
-	 * Event from CSS Flat Model
-	 */
-	public void nodesReplaced(StructuredDocumentRegionsReplacedEvent event) {
-		if (event == null)
-			return;
-		if (event.getOriginalSource() == getRequesterH2C())
-			return;
-		IStructuredDocumentRegionList oldStructuredDocumentRegions = event.getOldStructuredDocumentRegions();
-		IStructuredDocumentRegionList newStructuredDocumentRegions = event.getNewStructuredDocumentRegions();
-		if (oldStructuredDocumentRegions == null && newStructuredDocumentRegions == null)
-			return;
-
-		replaceStructuredDocumentRegions(newStructuredDocumentRegions, oldStructuredDocumentRegions);
-	}
-
-	/**
-	 * Overriding INodeAdapter's method
-	 * Event from <STYLE> element
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (this.ignoreNotification)
-			return;
-
-		if (eventType == INodeNotifier.ADD || eventType == INodeNotifier.REMOVE || eventType == INodeNotifier.CONTENT_CHANGED) {
-			contentChanged();
-		}
-		else if (eventType == INodeNotifier.CHANGE) {
-			Attr attr = (Attr) changedFeature;
-			if (attr == null)
-				return;
-			String name = attr.getName();
-			if (name.equalsIgnoreCase("type")) { //$NON-NLS-1$
-				this.replaceModel = true;
-
-				Element element = getElement();
-				if (element == null) {
-					return;
-				}
-				Document document = element.getOwnerDocument();
-				if (document == null) {
-					return;
-				}
-				HTMLDocumentAdapter adapter = (HTMLDocumentAdapter) ((INodeNotifier) document).getAdapterFor(IStyleSheetListAdapter.class);
-				if (adapter != null) {
-					adapter.childReplaced();
-				}
-			}
-		}
-	}
-
-	/**
-	 * Implementing IStructuredDocumentListener's method
-	 * Event from CSS Flat Model
-	 */
-	public void regionChanged(RegionChangedEvent event) {
-		if (event == null)
-			return;
-		if (event.getOriginalSource() == getRequesterH2C())
-			return;
-		IStructuredDocumentRegion flatNode = event.getStructuredDocumentRegion();
-		if (flatNode == null)
-			return;
-
-		changeStructuredDocumentRegion(flatNode);
-	}
-
-	/**
-	 * Implementing IStructuredDocumentListener's method
-	 * Event from CSS Flat Model
-	 */
-	public void regionsReplaced(RegionsReplacedEvent event) {
-		if (event == null)
-			return;
-		if (event.getOriginalSource() == getRequesterH2C())
-			return;
-		IStructuredDocumentRegion flatNode = event.getStructuredDocumentRegion();
-		if (flatNode == null)
-			return;
-
-		changeStructuredDocumentRegion(flatNode);
-	}
-
-	/**
-	 * Apply changes from CSS sub-model to HTML model
-	 */
-	private void replaceData(int offset, int length, String data) {
-		XMLNode element = (XMLNode) getElement();
-		if (element == null)
-			return;
-		XMLModel ownerModel = element.getModel();
-		if (ownerModel == null)
-			return;
-		IStructuredDocument structuredDocument = ownerModel.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-		IStructuredDocumentRegion flatNode = element.getStartStructuredDocumentRegion();
-		if (flatNode == null)
-			return;
-
-		int contentOffset = flatNode.getEndOffset();
-		if (data == null)
-			data = "";//$NON-NLS-1$
-
-		this.ignoreNotification = true;
-		structuredDocument.replaceText(getRequesterC2H(), contentOffset + offset, length, data);
-		this.ignoreNotification = false;
-	}
-
-	/**
-	 * Preparation of applying changes from CSS sub-model to HTML model
-	 */
-	private void replaceStructuredDocumentRegions(IStructuredDocumentRegionList newStructuredDocumentRegions, IStructuredDocumentRegionList oldStructuredDocumentRegions) {
-		int offset = 0;
-		int length = 0;
-		if (oldStructuredDocumentRegions != null) {
-			int count = oldStructuredDocumentRegions.getLength();
-			if (count > 0) {
-				IStructuredDocumentRegion first = oldStructuredDocumentRegions.item(0);
-				if (first != null)
-					offset = first.getStart();
-				IStructuredDocumentRegion last = oldStructuredDocumentRegions.item(count - 1);
-				if (last != null)
-					length = last.getEnd() - offset;
-			}
-		}
-		String data = null;
-		if (newStructuredDocumentRegions != null) {
-			int count = newStructuredDocumentRegions.getLength();
-			if (count > 0) {
-				StringBuffer buffer = new StringBuffer();
-				for (int i = 0; i < count; i++) {
-					IStructuredDocumentRegion flatNode = newStructuredDocumentRegions.item(i);
-					if (flatNode == null)
-						continue;
-					buffer.append(flatNode.getText());
-					if (i == 0)
-						offset = flatNode.getStart();
-				}
-				data = buffer.toString();
-			}
-		}
-
-		replaceData(offset, length, data);
-	}
-
-	/**
-	 */
-	protected void setModel(ICSSModel model) {
-		ICSSModel oldModel = getExistingModel();
-		if (model == oldModel)
-			return;
-		super.setModel(model);
-		if (oldModel != null)
-			oldModel.removeStyleListener(this);
-		if (model != null)
-			model.addStyleListener(this);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleListener.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleListener.java
deleted file mode 100644
index c6d7832..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-/**
- */
-public interface StyleListener {
-
-	/**
-	 */
-	void styleChanged();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLHelper.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLHelper.java
deleted file mode 100644
index e62dd0d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLHelper.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-/**
- * @deprecated - use com.ibm.sse.model.css.util.URLHelper
- */
-public class URLHelper extends org.eclipse.wst.css.core.util.URLHelper {
-
-	/**
-	 * @param baseUrl
-	 */
-	public URLHelper(String baseUrl) {
-		super(baseUrl);
-	}
-
-	/**
-	 * @param baseUrl
-	 * @param docRoot
-	 */
-	public URLHelper(String baseUrl, String docRoot) {
-		super(baseUrl, docRoot);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLModelProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLModelProvider.java
deleted file mode 100644
index 38906d1..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLModelProvider.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.htmlcss;
-
-
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.UnsupportedCharsetException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeConstants;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.exceptions.ResourceAlreadyExists;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.util.PathHelper;
-import org.eclipse.wst.sse.core.util.ProjectResolver;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.xml.core.document.DocumentTypeAdapter;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-// TODO when this class is removed from .core, PathHelper and URLHelper class
-// also can be removed.
-
-/**
- */
-public class URLModelProvider {
-
-	private static final int GET_MODEL_FOR_READ = 1;
-	//	private static final int GET_NEW_MODEL_FOR_READ = 2;
-	private static final int GET_MODEL_FOR_EDIT = 3;
-	//	private static final int GET_NEW_MODEL_FOR_EDIT = 4;
-	//	private static final int READ_BUFFER_SIZE = 4096;
-	// IModelManager
-	private IModelManager modelManager = null;
-
-	/**
-	 */
-	public URLModelProvider() {
-		super();
-
-		// obtain model manager
-		modelManager = StructuredModelManager.getModelManager();
-	}
-
-	/**
-	 * Calculate ID from a filename. This must be same as
-	 * FileModelProvider.calculateId(IFile)
-	 */
-	private static String calculateId(IPath fullIPath) {
-		return fullIPath.toString();
-	}
-
-	/**
-	 * <code>baseModel</code>: the model containing the link
-	 * <code>ref</code>: the link URL string
-	 */
-	private IStructuredModel getCommonModelFor(final IStructuredModel baseModel, final String ref, final int which) throws IOException {
-		// first, create absolute url
-		String absURL = resolveURI(baseModel, ref, true);
-		if ((absURL == null) || (absURL.length() == 0)) {
-			return null;
-		}
-
-		// need to remove file:// scheme if necessary
-		// see com.ibm.sed.util.ProjectResolver.getLocationByURI()
-		try {
-			final java.net.URL aURL = new java.net.URL(absURL);
-			// An actual URL was given, only file:/// is supported
-			// resolve it by finding the file it points to
-			if (!aURL.getProtocol().equals("platform")) { //$NON-NLS-1$
-				if (aURL.getProtocol().equals("file") && (aURL.getHost().equals("localhost") || aURL.getHost().length() == 0)) {//$NON-NLS-2$//$NON-NLS-1$
-					absURL = aURL.getFile();
-					final IPath ipath = new Path(absURL);
-					//  if path has a device, and if it begins with
-					// IPath.SEPARATOR, remove it
-					final String device = ipath.getDevice();
-					if ((device != null) && (device.length() > 0)) {
-						if (device.charAt(0) == IPath.SEPARATOR) {
-							final String newDevice = device.substring(1);
-							absURL = ipath.setDevice(newDevice).toString();
-						}
-					}
-
-				}
-			}
-		}
-		catch (java.net.MalformedURLException mfuExc) {
-		}
-
-
-		// next, decide project
-		IProject project = null;
-		final IPath fullIPath = new Path(absURL);
-		IWorkspaceRoot workspace = ResourcesPlugin.getWorkspace().getRoot();
-		IContainer container = workspace.getContainerForLocation(fullIPath);
-		if (container != null) {
-			// fullIPath doesn't exist in workspace
-			project = container.getProject();
-		}
-
-		// If HTML document has a link to an extern CSS which is not in
-		// IProject
-		// workspace.getContainerForLoation() may return null. We need to take
-		// care
-		// of this case
-
-		// now, get absURL's IFile
-		if ((project != null) && (project.getLocation().isPrefixOf(fullIPath) == false)) {
-			// it's at outside of Project
-			return null;
-		}
-
-		IStructuredModel model = null;
-		if (project != null) {
-			IPath filePath = fullIPath.removeFirstSegments(project.getLocation().segmentCount());
-			IFile file = (filePath != null && !filePath.isEmpty()) ? project.getFile(filePath) : null;
-			if (file == null) {
-				return null;
-			}
-
-			// obtain model
-			if (which == GET_MODEL_FOR_EDIT) {
-				model = getModelForEdit(file);
-			}
-			else if (which == GET_MODEL_FOR_READ) {
-				model = getModelForRead(file);
-			}
-
-			// setting synchronization stamp is IModelManager's client's
-			// responsibility
-			if (model != null && model.getSynchronizationStamp() == IResource.NULL_STAMP)
-				model.resetSynchronizationStamp(file);
-		}
-		else {
-			String id = null;
-			InputStream inStream = null;
-			// obtain resolver
-			URIResolver resolver = (project != null) ? (URIResolver) project.getAdapter(URIResolver.class) : null;
-			if (resolver == null) {
-				// ProjectResolver can take care of the case if project is
-				// null.
-				resolver = new ProjectResolver(project);
-			}
-			if (resolver == null) {
-				return null;
-			}
-
-			// there is no project. we can't expect IProject help to create
-			// id/inputStream
-			java.io.File file = fullIPath.toFile();
-
-			// obatin id
-			id = calculateId(fullIPath);
-
-			// obtain InputStream
-			try {
-				inStream = new FileInputStream(file);
-			}
-			catch (FileNotFoundException fnfe) {
-				// the file does not exist, or we don't have read permission
-				return null;
-			}
-
-			// obtain model
-			try {
-				if (which == GET_MODEL_FOR_EDIT) {
-					model = getModelManager().getModelForEdit(id, inStream, resolver);
-				}
-				else if (which == GET_MODEL_FOR_READ) {
-					model = getModelManager().getModelForRead(id, inStream, resolver);
-				}
-			}
-			catch (UnsupportedEncodingException ue) {
-			}
-			catch (IOException ioe) {
-			}
-			finally {
-				// close now !
-				if (inStream != null) {
-					inStream.close();
-				}
-			}
-		}
-
-
-		// set locationid
-		if (model != null && model.getBaseLocation() == null) {
-			model.setBaseLocation(fullIPath.toString());
-		}
-
-		return model;
-	}
-
-	/**
-	 * <code>baseModel</code>: the model containing the link
-	 * <code>ref</code>: the link URL string
-	 */
-	public IStructuredModel getModelForEdit(IStructuredModel baseModel, String ref) throws IOException {
-		return getCommonModelFor(baseModel, ref, GET_MODEL_FOR_EDIT);
-	}
-
-	/**
-	 */
-	private IStructuredModel getModelForEdit(IFile file) throws IOException {
-		if (file == null)
-			return null;
-		IModelManager manager = getModelManager();
-
-		// create a fake InputStream
-		IStructuredModel model = null;
-		try {
-			model = manager.getModelForEdit(file);
-		}
-		catch (UnsupportedCharsetException ex) {
-			try {
-				model = manager.getModelForEdit(file, EncodingRule.FORCE_DEFAULT);
-			}
-			catch (IOException ioe) {
-			}
-			catch (CoreException ce) {
-			}
-		}
-		catch (CoreException ce) {
-		}
-		return model;
-	}
-
-	/**
-	 * <code>baseModel</code>: the model containing the link
-	 * <code>ref</code>: the link URL string
-	 */
-	public IStructuredModel getModelForRead(IStructuredModel baseModel, String ref) throws UnsupportedEncodingException, IOException {
-		return getCommonModelFor(baseModel, ref, GET_MODEL_FOR_READ);
-	}
-
-	/**
-	 */
-	private IStructuredModel getModelForRead(IFile file) throws IOException {
-		if (file == null)
-			return null;
-		IModelManager manager = getModelManager();
-
-		// create a fake InputStream
-		IStructuredModel model = null;
-		try {
-			model = manager.getModelForRead(file);
-		}
-		catch (UnsupportedCharsetException ex) {
-			try {
-				model = manager.getModelForRead(file, EncodingRule.FORCE_DEFAULT);
-			}
-			catch (IOException ioe) {
-			}
-			catch (CoreException ce) {
-			}
-		}
-		catch (CoreException ce) {
-		}
-		return model;
-	}
-
-	/**
-	 */
-	private IModelManager getModelManager() {
-		return modelManager;
-	}
-
-	public IStructuredModel getNewModelForEdit(IFile iFile) {
-		if (iFile == null)
-			return null;
-		IModelManager manager = getModelManager();
-		if (manager == null)
-			return null;
-
-		IStructuredModel model = null;
-		try {
-			model = manager.getNewModelForEdit(iFile, false);
-		}
-		catch (IOException ex) {
-		}
-		catch (ResourceInUse riu) {
-		}
-		catch (ResourceAlreadyExists rae) {
-		}
-		catch (CoreException ce) {
-		}
-		return model;
-	}
-
-	public IStructuredModel getNewModelForRead(IFile iFile) {
-		if (iFile == null)
-			return null;
-		IModelManager manager = getModelManager();
-		if (manager == null)
-			return null;
-
-		IStructuredModel model = null;
-		try {
-			model = manager.getNewModelForEdit(iFile, false);
-		}
-		catch (IOException ex) {
-		}
-		catch (ResourceInUse riu) {
-		}
-		catch (ResourceAlreadyExists rae) {
-		}
-		catch (CoreException ce) {
-		}
-		return model;
-	}
-
-	/**
-	 * Utility to check the model is HTML family or not
-	 */
-	static private boolean isHTMLFamily(IStructuredModel model) {
-		if (model instanceof XMLModel) {
-			XMLDocument document = ((XMLModel) model).getDocument();
-			DocumentTypeAdapter adapter = (DocumentTypeAdapter) document.getAdapterFor(DocumentTypeAdapter.class);
-			if (adapter != null)
-				return adapter.hasFeature(HTMLDocumentTypeConstants.HTML);
-		}
-		return false;
-	}
-
-	/**
-	 * <code>baseModel</code>: the model containing the link
-	 * <code>ref</code>: the link URL string
-	 * <code>resolveCrossProjectLinks</code>: If resolveCrossProjectLinks
-	 * is set to true, then this method will properly resolve the URI if it is
-	 * a valid URI pointing to another (appropriate) project.
-	 */
-	public static String resolveURI(IStructuredModel baseModel, String ref, boolean resolveCrossProjectLinks) {
-		if (baseModel == null)
-			return null;
-		// for HTML, 'href' attribute value of BASE element
-		// should be used, if exists any
-		String baseHref = null;
-		// dmw_TODO needs to be changed to handle a content model
-		// of HTML or XHTML
-		if (isHTMLFamily(baseModel)) {
-			final XMLModel xmlmodel = (XMLModel) baseModel;
-			final XMLDocument doc = xmlmodel.getDocument();
-			// look for <BASE> w/ href
-			final NodeList nl = doc.getElementsByTagName("BASE");//$NON-NLS-1$
-			if ((nl != null) && (nl.getLength() > 0)) {
-				// per each <BASE>
-				for (int i = 0; i < nl.getLength(); i++) {
-					final Node baseNode = nl.item(i);
-					if (baseNode != null) {
-						// get all attrs
-						final NamedNodeMap attrNodes = baseNode.getAttributes();
-						if (attrNodes != null) {
-							final Node attrNode = attrNodes.getNamedItem("HREF");//$NON-NLS-1$
-							if (attrNode != null) {
-								// found href=""
-								final String attrValue = attrNode.getNodeValue();
-								if (attrValue != null) {
-									baseHref = attrValue.trim();
-								}
-							}
-						}
-					}
-					// what if there are multiple <BASE> tags ??
-					if (baseHref != null) {
-						break;
-					}
-				}
-			}
-		}
-
-		// get resolver in Model
-		final URIResolver resolver = baseModel.getResolver();
-
-		// resolve to absolute url
-		final String absurl = (resolver != null) ? ((baseHref != null) ? resolver.getLocationByURI(ref, baseHref, resolveCrossProjectLinks) : resolver.getLocationByURI(ref, resolveCrossProjectLinks)) : null;
-		if ((resolver != null) && (absurl == null) && (ref != null) && (ref.trim().length() > 0) && (ref.trim().charAt(0) == '/')) {
-			// to reach here means :
-			//    ref is a Docroot relative
-			//    resolver can't resolve ref
-			// so that href is a broken and should not create model
-			return null;
-		}
-		if ((absurl != null) && (absurl.length() > 0)) {
-			return absurl;
-		}
-
-		// maybe ref is at outside of the Project
-		// obtain docroot;
-		final IContainer container = (resolver != null) ? resolver.getRootLocation() : null;
-		String docroot = null;
-		if (container != null) {
-			docroot = container.getLocation().toString();
-		}
-		if (docroot == null) {
-			docroot = baseModel.getBaseLocation();
-		}
-		if (docroot == null) {
-			// should not be
-			return null;
-		}
-
-		// obtain document url
-		String modelBaseLocation = baseModel.getBaseLocation();
-		if ((modelBaseLocation == null) || (modelBaseLocation.length() == 0)) {
-			// fallback...
-			modelBaseLocation = baseModel.getId();
-		}
-		if ((modelBaseLocation == null) || (modelBaseLocation.length() == 0)) {
-			// i can't resolve uri !
-			return null;
-		}
-
-		// resolve url
-		URLHelper helper = new URLHelper(PathHelper.getContainingFolderPath(modelBaseLocation), PathHelper.getContainingFolderPath(PathHelper.appendTrailingURLSlash(docroot)));
-		return helper.toAbsolute(ref);
-	}
-
-}
-
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePlugin.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePlugin.java
deleted file mode 100644
index 09292d7..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePlugin.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.common.encoding.CommonCharsetNames;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.html.core.HTMLFilesPreferenceNames;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class HTMLCorePlugin extends Plugin {
-	//The shared instance.
-	private static HTMLCorePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-
-	/**
-	 * The constructor.
-	 */
-	public HTMLCorePlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static HTMLCorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
-	 */
-	protected void initializeDefaultPluginPreferences() {
-		Preferences prefs = getDefault().getPluginPreferences();
-		// set model preference defaults
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, true);
-		prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
-		prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
-		prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
-		prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
-
-		prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
-		
-		String defaultEnc = CommonModelPreferenceNames.UTF_8;
-		String systemEnc = System.getProperty("file.encoding");	 //$NON-NLS-1$
-		if (systemEnc != null) {
-			defaultEnc = CommonCharsetNames.getPreferredDefaultIanaName(systemEnc, CommonModelPreferenceNames.UTF_8);
-		}
-		prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, defaultEnc);
-		
-		prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
-		prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, CommonModelPreferenceNames.DEFAULT_TAB_WIDTH);
-
-		prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, true);
-		prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
-		prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
-		prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
-		prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
-
-		prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, true);
-		prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
-		prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
-		
-		prefs.setDefault(HTMLFilesPreferenceNames.DEFAULT_SUFFIX, HTMLFilesPreferenceNames.HTML_SUFFIX);
-		prefs.setDefault(HTMLFilesPreferenceNames.GENERATE_DOCUMENT_TYPE, true);
-		prefs.setDefault(HTMLFilesPreferenceNames.GENERATE_GENERATOR, true);
-	}
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.html.core.internal.HTMLCorePluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePluginResources.properties b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePluginResources.properties
deleted file mode 100644
index 816989e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/HTMLCorePluginResources.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-No_error._UI_=No error.
-Undefined_attribute_name_(_ERROR_=Undefined attribute name ({0}).
-Undefined_attribute_value__ERROR_=Undefined attribute value ({0}).
-Multiple_values_specified__ERROR_=Multiple values specified for an attribute ({0}).
-Attribute_name_({0})_uses__ERROR_=Attribute name ({0}) uses wrong case character.
-Invalid_attribute_name_({0_ERROR_=Invalid attribute name ({0}).
-Invalid_attribute_({0})._ERROR_=Invalid attribute ({0}).
-Invalid_location_of_tag_({_ERROR_=Invalid location of tag ({0}).
-Duplicate_tag_({0})._ERROR_=Duplicate tag ({0}).
-No_start_tag_(<{0}>)._ERROR_=No start tag (<{0}>).
-No_end_tag_(</{0}>)._ERROR_=No end tag (</{0}>).
-End_tag_(</{0}>)_not_neede_ERROR_=End tag (</{0}>) not needed.
-Unknown_tag_({0})._ERROR_=Unknown tag ({0}).
-Tag_name_({0})_uses_wrong__ERROR_=Tag name ({0}) uses wrong case character.
-Invalid_tag_name_({0})._ERROR_=Invalid tag name ({0}).
-Invalid_JSP_directive_({0}_ERROR_=Invalid JSP directive ({0}).
-Invalid_text_string_({0})._ERROR_=Invalid text string ({0}).
-Invalid_character_used_in__ERROR_=Invalid character used in text string ({0}).
-Unknown_error._ERROR_=Unknown error.
-Start_tag_(<{0}>)_not_clos_ERROR_=Start tag (<{0}>) not closed.
-End_tag_(</{0}>)_not_close_ERROR_=End tag (</{0}>) not closed.
-Tag_({0})_not_closed._ERROR_=Tag ({0}) not closed.
-Attribute_value_({0})_uses_ERROR_=Attribute value ({0}) uses wrong case character.
-Comment_not_closed._ERROR_=Comment not closed.
-DOCTYPE_declaration_not_cl_ERROR_=DOCTYPE declaration not closed.
-Processing_instruction_not_ERROR_=Processing instruction not closed.
-CDATA_section_not_closed._ERROR_=CDATA section not closed.
-# From here, the new messages are added for V5
-_ERROR_Tag_({0})_should_be_an_empty-element_tag_1=Tag ({0}) should be an empty-element tag.
-_ERROR_Attribute_value_({0})_not_closed._1=Attribute value ({0}) not closed.
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/Logger.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/Logger.java
deleted file mode 100644
index fc6d82c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/Logger.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.internal;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if desired,
- * the console. This class should only be used by classes in this plugin. Other
- * plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.wst.html.core"; //$NON-NLS-1$
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-
-	public static final int OK = IStatus.OK; // 0
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int ERROR = IStatus.ERROR; // 4
-
-	public static final int OK_DEBUG = 200 + OK;
-	public static final int INFO_DEBUG = 200 + INFO;
-	public static final int WARNING_DEBUG = 200 + WARNING;
-	public static final int ERROR_DEBUG = 200 + ERROR;
-
-	/**
-	 * Adds message to log.
-	 * @param level severity level of the message (OK, INFO, WARNING, ERROR, OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message text to add to the log
-	 * @param exception exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * @param message text to print
-	 * @param category category of the message, to be compared with /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/AbstractContentDescriber.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/AbstractContentDescriber.java
deleted file mode 100644
index 48ba623..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/AbstractContentDescriber.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.html.core.internal.contenttype;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescriber;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IContentDescriptionExtended;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-public abstract class AbstractContentDescriber implements ITextContentDescriber {
-
-	private final static QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.CHARSET, IContentDescription.BYTE_ORDER_MARK, IContentDescriptionExtended.DETECTED_CHARSET, IContentDescriptionExtended.UNSUPPORTED_CHARSET, IContentDescriptionExtended.APPROPRIATE_DEFAULT};
-
-	private void calculateSupportedOptions(InputStream contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	/**
-	 * @param contents
-	 * @param description
-	 * @throws IOException
-	 */
-	private void calculateSupportedOptions(Reader contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#describe(java.io.InputStream,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(InputStream contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.VALID;
-
-		calculateSupportedOptions(contents, description);
-
-		// assume if we're called at all that we are valid (few types could be
-		// disproved, maybe XML -- or, maybe if exception occurs above?)
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.ITextContentDescriber#describe(java.io.Reader,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(Reader contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.VALID;
-
-		calculateSupportedOptions(contents, description);
-
-		// assume if we're called at all that we are valid (few types could be
-		// disproved, maybe XML -- or, maybe if exception occurs above?)
-		return result;
-	}
-
-	protected abstract IResourceCharsetDetector getDetector();
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#getSupportedOptions()
-	 */
-	public QualifiedName[] getSupportedOptions() {
-
-		return SUPPORTED_OPTIONS;
-	}
-
-	/**
-	 * @param description
-	 * @param detector
-	 * @throws IOException
-	 */
-	protected void handleCalculations(IContentDescription description, IResourceCharsetDetector detector) throws IOException {
-		// note: if we're asked for one, we set them all. I need to be sure if
-		// called
-		// mulitiple times (one for each, say) that we don't waste time
-		// processing same
-		// content again.
-		EncodingMemento encodingMemento = detector.getEncodingMemento();
-		// TODO: I need to verify to see if this BOM work is always done
-		// by text type.
-		Object detectedByteOrderMark = encodingMemento.getUnicodeBOM();
-		if (detectedByteOrderMark != null) {
-			Object existingByteOrderMark = description.getProperty(IContentDescription.BYTE_ORDER_MARK);
-			// not sure why would ever be different, so if is different, may
-			// need to "push" up into base.
-			if (!detectedByteOrderMark.equals(existingByteOrderMark))
-				description.setProperty(IContentDescription.BYTE_ORDER_MARK, detectedByteOrderMark);
-		}
-
-
-		if (!encodingMemento.isValid()) {
-			// note: after setting here, its the mere presence of
-			// IContentDescriptionExtended.UNSUPPORTED_CHARSET
-			// in the resource's description that can be used to determine if
-			// invalid
-			// in those cases, the "detected" property contains an
-			// "appropriate default" to use.
-			description.setProperty(IContentDescriptionExtended.UNSUPPORTED_CHARSET, encodingMemento.getInvalidEncoding());
-			description.setProperty(IContentDescriptionExtended.APPROPRIATE_DEFAULT, encodingMemento.getAppropriateDefault());
-		}
-
-		Object detectedCharset = encodingMemento.getDetectedCharsetName();
-		Object javaCharset = encodingMemento.getJavaCharsetName();
-
-		// we always include detected, if its different than java
-		handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-
-		if (javaCharset != null) {
-			Object existingCharset = description.getProperty(IContentDescription.CHARSET);
-			if (javaCharset.equals(existingCharset)) {
-				handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-			} else {
-				// we may need to add what we found, but only need to add
-				// if different from default.the
-				Object defaultCharset = getDetector().getSpecDefaultEncoding();
-				if (defaultCharset != null) {
-					if (!defaultCharset.equals(javaCharset)) {
-						description.setProperty(IContentDescription.CHARSET, javaCharset);
-					}
-				} else {
-					// assuming if there is no spec default, we always need to
-					// add, I'm assuming
-					description.setProperty(IContentDescription.CHARSET, javaCharset);
-				}
-			}
-		}
-
-		// avoid adding anything if not absolutly needed, since always
-		// "cached" per session
-		//description.setProperty(IContentDescriptionExtended.ENCODING_MEMENTO,
-		// encodingMemento);
-	}
-
-	private void handleDetectedSpecialCase(IContentDescription description, Object detectedCharset, Object javaCharset) {
-		// since equal, we don't need to add, but if our detected version is
-		// different than
-		// javaCharset, then we should add it. This will happen, for example,
-		// if there's
-		// differences in case, or differences due to override properties
-		if (detectedCharset != null) {
-			//			if (!detectedCharset.equals(javaCharset)) {
-			//				description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET,
-			// detectedCharset);
-			//			}
-
-			// Once we detected a charset, we should set the property even
-			// though it's the same as javaCharset
-			// because there are clients that rely on this property to
-			// determine if the charset is actually detected in file or not.
-			description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET, detectedCharset);
-		}
-	}
-
-	/**
-	 * @param description
-	 * @return
-	 */
-	private boolean isRelevent(IContentDescription description) {
-		boolean result = false;
-		if (description == null)
-			result = false;
-		else if (description.isRequested(IContentDescription.BYTE_ORDER_MARK))
-			result = true;
-		else if (description.isRequested(IContentDescription.CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.APPROPRIATE_DEFAULT))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.DETECTED_CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.UNSUPPORTED_CHARSET))
-			result = true;
-		//		else if
-		// (description.isRequested(IContentDescriptionExtended.ENCODING_MEMENTO))
-		//			result = true;
-		return result;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/AbstractResourceEncodingDetector.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/AbstractResourceEncodingDetector.java
deleted file mode 100644
index f47721c..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/AbstractResourceEncodingDetector.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.html.core.internal.contenttype;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.nio.charset.UnsupportedCharsetException;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.common.encoding.internal.ByteReader;
-
-
-public abstract class AbstractResourceEncodingDetector implements IResourceCharsetDetector {
-
-	protected EncodingMemento fEncodingMemento;
-
-	protected boolean fHeaderParsed;
-
-	protected Reader fReader;
-
-	/**
-	 *  
-	 */
-	public AbstractResourceEncodingDetector() {
-		super();
-	}
-
-	/**
-	 * Note: once this instance is created, trace info still needs to be
-	 * appended by caller, depending on the context its created.
-	 */
-	private void createEncodingMemento(String detectedCharsetName) {
-		fEncodingMemento = new EncodingMemento();
-		fEncodingMemento.setJavaCharsetName(getAppropriateJavaCharset(detectedCharsetName));
-		fEncodingMemento.setDetectedCharsetName(detectedCharsetName);
-		// TODO: if detectedCharset and spec default is
-		// null, need to use "work
-		// bench based" defaults.
-		fEncodingMemento.setAppropriateDefault(getSpecDefaultEncoding());
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 * 
-	 * @param detectedCharsetName
-	 * @param reason
-	 */
-	final protected void createEncodingMemento(String detectedCharsetName, String reason) {
-		createEncodingMemento(detectedCharsetName);
-		fEncodingMemento.addTrace(reason);
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 */
-	final protected void ensureInputSet() {
-		if (fReader == null) {
-			throw new IllegalStateException("input must be set before use"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * This method can return null, if invalid charset name (in which case
-	 * "appropriateDefault" should be used, if a name is really need for some
-	 * "save anyway" cases).
-	 * 
-	 * @param detectedCharsetName
-	 * @return
-	 */
-	private String getAppropriateJavaCharset(String detectedCharsetName) {
-		String result = null;
-		// 1. Check explicit mapping overrides from
-		// property file -- its here we pick up "rules" for cases
-		// that are not even in Java
-		result = CodedIO.checkMappingOverrides(detectedCharsetName);
-		// 2. Use the "canonical" name from JRE mappings
-		// Note: see Charset JavaDoc, the name you get one
-		// with can be alias,
-		// the name you get back is "standard" name.
-		Charset javaCharset = null;
-		try {
-			javaCharset = Charset.forName(detectedCharsetName);
-		} catch (UnsupportedCharsetException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		} catch (IllegalCharsetNameException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		}
-		// give priority to java cononical name, if present
-		if (javaCharset != null) {
-			result = javaCharset.name();
-			// but still allow overrides
-			result = CodedIO.checkMappingOverrides(result);
-		}
-		return result;
-	}
-
-	public String getEncoding() throws IOException {
-		return getEncodingMemento().getDetectedCharsetName();
-	}
-
-	// to ensure consist overall rules used, we'll mark as
-	// final,
-	// and require subclasses to provide certain pieces of
-	// the
-	// implementation
-	public EncodingMemento getEncodingMemento() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			// we keep track of if header's already been
-			// parse, so can make
-			// multiple 'get' calls, without causing
-			// reparsing.
-			fHeaderParsed = true;
-			// Note: there is a "hidden assumption" here
-			// that an empty
-			// string in content should be treated same as
-			// not present.
-		}
-		if (fEncodingMemento == null) {
-			handleSpecDefault();
-		}
-		if (fEncodingMemento == null) {
-			// safty net
-			fEncodingMemento = new NullMemento();
-		}
-		return fEncodingMemento;
-	}
-
-	/**
-	 * This is to return a default encoding -- as specified by an industry
-	 * content type spec -- when not present in the stream, for example, XML
-	 * specifies UTF-8, JSP specifies ISO-8859-1. This method should return
-	 * null if there is no such "spec default".
-	 */
-	abstract public String getSpecDefaultEncoding();
-
-	public EncodingMemento getSpecDefaultEncodingMemento() {
-		resetAll();
-		EncodingMemento result = null;
-		String enc = getSpecDefaultEncoding();
-		if (enc != null) {
-			createEncodingMemento(enc, EncodingMemento.DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-			fEncodingMemento.setAppropriateDefault(enc);
-			result = fEncodingMemento;
-		}
-		return result;
-	}
-
-	private void handleSpecDefault() {
-		String encodingName;
-		encodingName = getSpecDefaultEncoding();
-		if (encodingName != null) {
-			//createEncodingMemento(encodingName,
-			// EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-			fEncodingMemento = new EncodingMemento();
-			fEncodingMemento.setJavaCharsetName(encodingName);
-			fEncodingMemento.setAppropriateDefault(encodingName);
-			fEncodingMemento.addTrace(EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-		}
-	}
-
-	/**
-	 * Every subclass must provide a way to parse the input. This method has
-	 * several critical responsibilities:
-	 * <li>set the fEncodingMemento field appropriately, according to the
-	 * results of the parse of fReader.</li>
-	 * <li>set fHarderParsed to true, to avoid wasted re-parsing.</li>
-	 */
-	abstract protected void parseInput() throws IOException;
-
-	/**
-	 *  
-	 */
-	private void resetAll() {
-		fReader = null;
-		fHeaderParsed = false;
-		fEncodingMemento = null;
-	}
-
-	/**
-	 *  
-	 */
-	public void set(InputStream inputStream) {
-		resetAll();
-		fReader = new ByteReader(inputStream);
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossible, since we know ByteReader
-			// supports marking
-			throw new Error(e);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public void set(IStorage iStorage) throws CoreException {
-		resetAll();
-		InputStream inputStream = iStorage.getContents();
-		InputStream resettableStream = new BufferedInputStream(inputStream, CodedIO.MAX_BUF_SIZE);
-		resettableStream.mark(CodedIO.MAX_MARK_SIZE);
-		set(resettableStream);
-		// TODO we'll need to "remember" IFile, or
-		// get its (or its project's) settings, in case
-		// those are needed to handle cases when the
-		// encoding is not in the file stream.
-	}
-
-	/**
-	 * Note: this is not part of interface to help avoid confusion ... it
-	 * expected this Reader is a well formed character reader ... that is, its
-	 * all ready been determined to not be a unicode marked input stream. And,
-	 * its assumed to be in the correct position, at position zero, ready to
-	 * read first character.
-	 */
-	public void set(Reader reader) {
-		resetAll();
-		fReader = reader;
-		if (!fReader.markSupported()) {
-			fReader = new BufferedReader(fReader);
-		}
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossble, since we just checked if markable
-			throw new Error(e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/ContentDescriberForHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/ContentDescriberForHTML.java
deleted file mode 100644
index 10c00bc..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/ContentDescriberForHTML.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.internal.contenttype;
-
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-
-public class ContentDescriberForHTML extends AbstractContentDescriber implements ITextContentDescriber {
-
-
-	protected IResourceCharsetDetector getDetector() {
-		return new HTMLResourceEncodingDetector();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/EncodingGuesser.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/EncodingGuesser.java
deleted file mode 100644
index be7f3a0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/EncodingGuesser.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.html.core.internal.contenttype;
-
-/**
- * 
- * This is ported from PageDesigner's hpbcom/Kanji.cpp's
- * Kanji::guess_kanji_code(),
- *  
- */
-public class EncodingGuesser {
-	private static final int ASCII = 0; // ASCII
-	// ISO-2022-JP
-	private static final int ASCII_IN = 8; // This is after ISO2022's change
-	// Shift-JIS
-	private static final int EUC_HALFKANA = 6; // This is Half Kana in EUC-JP
-	private static final int EUC_JP = 3; // This is EUC-JP
-	private static final int ISO2022_JP = 4; // This is ISO-2022-JP
-	private static final int JIS_HALFKANA = 7; // THis is Half Kana in
-	private static final byte KT_EUC1 = 0x40;
-	private static final byte KT_EUC2 = (byte) 0x80;
-	// ASCII
-	private static final byte KT_JIN = 0x01;
-	private static final byte KT_JOUT = 0x02;
-	//	private static final byte KT_ESC = 0x04;
-	//	private static final byte KT_JIS = 0x08;
-	private static final byte KT_SFT1 = 0x10;
-	private static final byte KT_SFT2 = 0x20;
-	private static final byte ktype[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00 */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 10 */
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x09, 0x08, 0x08, 0x08, /* !"#$%&' *//* " */
-	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, /* ()*+,-./ */
-	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, /* 01234567 */
-	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, /* 89:; <=>? */
-	0x29, 0x28, 0x2b, 0x28, 0x28, 0x28, 0x28, 0x28, /* @ABCDEFG */
-	0x2a, 0x28, 0x2a, 0x28, 0x28, 0x28, 0x28, 0x28, /* HIJKLMNO */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* PQRSTUVW */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* XYZ[\]^_ */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* abcdefg */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* hijklmno */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, /* pqrstuvw */
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x00, /* xyz{|}~ */
-	0x20, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, /* 80 */
-	0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, /* 90 */
-	0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, /* A0 */
-	(byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, /* B0 */
-	(byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, /* C0 */
-	(byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, /* D0 */
-	(byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xe0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, /* E0 */
-	(byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, /* F0 */
-	(byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xf0, (byte) 0xc0, (byte) 0xc0, 0x00,};
-	//	private static final int ISO8859_1 = 1; // ISO-1
-	private static final int SHIFT_JIS = 2; // This is Shift-JIS
-	private static final int SJIS_HALFKANA = 5; // This is Half Kana in
-
-	/**
-	 * Currently, only Japanese encodings are supported.
-	 */
-	private static final int UNKNOWN = -1; // Unknown
-
-	/**
-	 * @return java.lang.String
-	 * @param code
-	 *            int
-	 * 
-	 * Convert private int to IANA Encoding name.
-	 */
-	private static String convertToIANAEncodingName(int code) {
-		String encoding = null;
-
-		switch (code) {
-			case SHIFT_JIS :
-			case SJIS_HALFKANA :
-				encoding = "Shift_JIS";//$NON-NLS-1$
-				break;
-			case EUC_JP :
-			case EUC_HALFKANA :
-				encoding = "EUC-JP";//$NON-NLS-1$
-				break;
-			case ISO2022_JP :
-			case JIS_HALFKANA :
-				encoding = "ISO-2022-JP";//$NON-NLS-1$
-			default :
-				break;
-		}
-
-		return encoding;
-	}
-
-	/**
-	 * Return guessed Java Encoding name target: bytes to be inspected length:
-	 * length of target
-	 */
-	public static String guessEncoding(byte[] target, int length) {
-		int code = UNKNOWN;
-
-		// Currently, only Japanese is supported.
-		String system_ctype = java.util.Locale.getDefault().getLanguage();
-		String jp_ctype = java.util.Locale.JAPANESE.getLanguage();
-		if (system_ctype.compareTo(jp_ctype) == 0) {
-			// Ok, I'm under ja_JP.
-			code = ASCII;
-			int pos = 0;
-			while ((code == ASCII) && (length > 0)) {
-				int ch1 = target[pos];
-				ch1 = ch1 & 0x000000FF;
-				int ch2 = (length >= 2) ? target[pos + 1] : 0;
-				ch2 = ch2 & 0x000000FF;
-				int ch3 = (length >= 3) ? target[pos + 2] : 0;
-				ch3 = ch3 & 0x000000FF;
-				code = guessJapaneseKanjiCode(ch1, ch2, ch3, 0);
-				pos++;
-				length--;
-			}
-			switch (code) {
-				case ISO2022_JP :
-				case JIS_HALFKANA :
-					code = ISO2022_JP;
-					break;
-				case EUC_JP :
-					code = EUC_JP;
-					break;
-				default :
-					code = SHIFT_JIS;
-			}
-		}
-		return (convertToIANAEncodingName(code));
-	}
-
-	/**
-	 * Guess the encoding. halfkana_flag = 0x01 ( detect SJIS half kana )
-	 * halfkana_flag = 0x02 ( detect EUC half kana )
-	 */
-	private static int guessJapaneseKanjiCode(int ch1, int ch2, int ch3, int halfkana_flag) {
-		boolean sjis_hankaku_flag = ((halfkana_flag & 0x01) != 0) ? true : false;
-		boolean euc_hankaku_flag = ((halfkana_flag & 0x02) != 0) ? true : false;
-
-		if (ch1 == 0)
-			return UNKNOWN;
-		if (sjis_hankaku_flag && ch1 >= 0xa1 && ch1 <= 0xdf)
-			return SJIS_HALFKANA;
-		else if (euc_hankaku_flag && ch1 == 0x8e && ch2 >= 0xa1 && ch2 <= 0xdf)
-			return EUC_HALFKANA;
-		else if (((ktype[ch1] & KT_SFT1) != 0) && ((ktype[ch2] & KT_SFT2) != 0))
-			return SHIFT_JIS;
-		else if (((ktype[ch1] & KT_EUC1) != 0) && ((ktype[ch2] & KT_EUC2) != 0))
-			return EUC_JP;
-		else if (ch1 == 0x1b && ((ktype[ch2] & KT_JIN) != 0))
-			return ISO2022_JP;
-		else if (ch1 >= 0xa1 && ch1 <= 0xdf)
-			return SJIS_HALFKANA;
-		else if (ch1 == 0x1b && ch2 == 0x28/* '(' */&& ch3 == 0x49/* 'I' */)
-			return JIS_HALFKANA;
-		else if (ch1 == 0x1b && ch2 == 0x28/* '(' */&& ((ktype[ch3] & KT_JOUT) != 0))
-			return ASCII_IN;
-
-		return ASCII;
-	}
-
-	public EncodingGuesser() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HTMLHeadTokenizer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HTMLHeadTokenizer.java
deleted file mode 100644
index a577685..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HTMLHeadTokenizer.java
+++ /dev/null
@@ -1,1690 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 1/27/04 6:41 PM */
-
-/*nlsXXX*/  
-package org.eclipse.wst.html.core.internal.contenttype;
-
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.xml.core.internal.contenttype.EncodingParserConstants;
-import org.eclipse.wst.xml.core.internal.contenttype.XMLHeadTokenizerConstants;
-
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 1/27/04 6:41 PM from the specification file
- * <tt>file:/D:/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizer.jflex</tt>
- */
-public class HTMLHeadTokenizer {
-
-	/** this character denotes the end of file */
-	final public static int YYEOF = -1;
-
-	/** lexical states */
-	final public static int ST_META_TAG = 4;
-	final public static int YYINITIAL = 0;
-	final public static int UnDelimitedString = 12;
-	final public static int DQ_STRING = 8;
-	final public static int SQ_STRING = 10;
-	final public static int ST_XMLDecl = 2;
-	final public static int QuotedAttributeValue = 6;
-
-	/**
-	 * YY_LEXSTATE[l] is the state in the DFA for the lexical state l
-	 * YY_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-	 *                  at the beginning of a line
-	 * l is of the form l = 2*k, k a non negative integer
-	 */
-	private final static int YY_LEXSTATE[] = {0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7};
-
-	/** 
-	 * Translates characters to character classes
-	 */
-	final private static String yycmap_packed = "\11\0\1\6\1\7\2\0\1\11\22\0\1\22\1\0\1\40\2\0" + "\1\44\1\0\1\43\5\0\1\34\1\0\1\42\13\0\1\45\1\12" + "\1\10\1\31\1\13\1\0\1\21\1\0\1\24\1\26\1\17\1\0" + "\1\30\1\32\1\27\2\0\1\16\1\15\1\23\1\25\1\33\1\35" + "\2\0\1\20\1\36\1\37\1\0\1\14\1\41\7\0\1\21\1\0" + "\1\24\1\26\1\17\1\0\1\30\1\32\1\27\2\0\1\16\1\15" + "\1\23\1\25\1\33\1\35\2\0\1\20\1\36\1\37\1\0\1\14" + "\1\41\101\0\1\4\3\0\1\5\17\0\1\3\16\0\1\1\20\0" + "\1\3\16\0\1\1\1\2\170\0\1\2\ufe87\0";
-
-	/** 
-	 * Translates characters to character classes
-	 */
-	final private static char[] yycmap = yy_unpack_cmap(yycmap_packed);
-
-
-	/* error codes */
-	final private static int YY_UNKNOWN_ERROR = 0;
-	final private static int YY_ILLEGAL_STATE = 1;
-	final private static int YY_NO_MATCH = 2;
-	final private static int YY_PUSHBACK_2BIG = 3;
-
-	/* error messages for the codes above */
-	final private static String YY_ERROR_MSG[] = {"Unkown internal scanner error", "Internal error: unknown state", "Error: could not match input", "Error: pushback value was too large"};
-
-	/** the input device */
-	private java.io.Reader yy_reader;
-
-	/** the current state of the DFA */
-	private int yy_state;
-
-	/** the current lexical state */
-	private int yy_lexical_state = YYINITIAL;
-
-	/** this buffer contains the current text to be matched and is
-	 the source of the yytext() string */
-	private char yy_buffer[] = new char[16384];
-
-	/** the textposition at the last accepting state */
-	private int yy_markedPos;
-
-	/** the textposition at the last state to be included in yytext */
-	private int yy_pushbackPos;
-
-	/** the current text position in the buffer */
-	private int yy_currentPos;
-
-	/** startRead marks the beginning of the yytext() string in the buffer */
-	private int yy_startRead;
-
-	/** endRead marks the last character in the buffer, that has been read
-	 from input */
-	private int yy_endRead;
-
-
-	/** the number of characters up to the start of the matched text */
-	private int yychar;
-
-
-	/** 
-	 * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-	 */
-	private boolean yy_atBOL;
-
-	/** yy_atEOF == true <=> the scanner has returned a value for EOF */
-	private boolean yy_atEOF;
-
-	/** denotes if the user-EOF-code has already been executed */
-	private boolean yy_eof_done;
-
-	/* user code: */
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-	boolean foundContentTypeValue = false;
-
-
-
-	public HTMLHeadTokenizer() {
-		super();
-	}
-
-	public void reset(Reader in) {
-		/* the input device */
-		yy_reader = in;
-
-		/* the current state of the DFA */
-		yy_state = 0;
-
-		/* the current lexical state */
-		yy_lexical_state = YYINITIAL;
-
-		/* this buffer contains the current text to be matched and is
-		 the source of the yytext() string */
-		java.util.Arrays.fill(yy_buffer, (char) 0);
-
-		/* the textposition at the last accepting state */
-		yy_markedPos = 0;
-
-		/* the textposition at the last state to be included in yytext */
-		yy_pushbackPos = 0;
-
-		/* the current text position in the buffer */
-		yy_currentPos = 0;
-
-		/* startRead marks the beginning of the yytext() string in the buffer */
-		yy_startRead = 0;
-
-		/** 
-		 * endRead marks the last character in the buffer, that has been read
-		 * from input 
-		 */
-		yy_endRead = 0;
-
-
-		/* the number of characters up to the start of the matched text */
-		yychar = 0;
-
-
-		/** 
-		 * yy_atBOL == true <=> the scanner is currently at the beginning 
-		 * of a line
-		 */
-		yy_atBOL = false;
-
-		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-		yy_atEOF = false;
-
-		/* denotes if the user-EOF-code has already been executed */
-		yy_eof_done = false;
-
-
-		fStateStack.clear();
-
-		hasMore = true;
-
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-
-
-	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		}
-		else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-
-
-
-	/**
-	 * Creates a new scanner
-	 * There is also a java.io.InputStream version of this constructor.
-	 *
-	 * @param   in  the java.io.Reader to read input from.
-	 */
-	public HTMLHeadTokenizer(java.io.Reader in) {
-		this.yy_reader = in;
-	}
-
-	/**
-	 * Creates a new scanner.
-	 * There is also java.io.Reader version of this constructor.
-	 *
-	 * @param   in  the java.io.Inputstream to read input from.
-	 */
-	public HTMLHeadTokenizer(java.io.InputStream in) {
-		this(new java.io.InputStreamReader(in));
-	}
-
-	/** 
-	 * Unpacks the compressed character translation table.
-	 *
-	 * @param packed   the packed character translation table
-	 * @return         the unpacked character translation table
-	 */
-	private static char[] yy_unpack_cmap(String packed) {
-		char[] map = new char[0x10000];
-		int i = 0; /* index in packed string  */
-		int j = 0; /* index in unpacked array */
-		while (i < 174) {
-			int count = packed.charAt(i++);
-			char value = packed.charAt(i++);
-			do
-				map[j++] = value;
-			while (--count > 0);
-		}
-		return map;
-	}
-
-
-	/**
-	 * Gets the next input character.
-	 *
-	 * @return      the next character of the input stream, EOF if the
-	 *              end of the stream is reached.
-	 * @exception   IOException  if any I/O-Error occurs
-	 */
-	private int yy_advance() throws java.io.IOException {
-
-		/* standard case */
-		if (yy_currentPos < yy_endRead)
-			return yy_buffer[yy_currentPos++];
-
-		/* if the eof is reached, we don't need to work hard */
-		if (yy_atEOF)
-			return YYEOF;
-
-		/* otherwise: need to refill the buffer */
-
-		/* first: make room (if you can) */
-		if (yy_startRead > 0) {
-			System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0, yy_endRead - yy_startRead);
-
-			/* translate stored positions */
-			yy_endRead -= yy_startRead;
-			yy_currentPos -= yy_startRead;
-			yy_markedPos -= yy_startRead;
-			yy_pushbackPos -= yy_startRead;
-			yy_startRead = 0;
-		}
-
-		/* is the buffer big enough? */
-		if (yy_currentPos >= yy_buffer.length) {
-			/* if not: blow it up */
-			char newBuffer[] = new char[yy_currentPos * 2];
-			System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-			yy_buffer = newBuffer;
-		}
-
-		/* finally: fill the buffer with new input */
-		int numRead = yy_reader.read(yy_buffer, yy_endRead, yy_buffer.length - yy_endRead);
-
-		if (numRead == -1)
-			return YYEOF;
-
-		yy_endRead += numRead;
-
-		return yy_buffer[yy_currentPos++];
-	}
-
-
-	/**
-	 * Closes the input stream.
-	 */
-	final public void yyclose() throws java.io.IOException {
-		yy_atEOF = true; /* indicate end of file */
-		yy_endRead = yy_startRead; /* invalidate buffer    */
-		yy_reader.close();
-	}
-
-
-	/**
-	 * Returns the current lexical state.
-	 */
-	final public int yystate() {
-		return yy_lexical_state;
-	}
-
-	/**
-	 * Enters a new lexical state
-	 *
-	 * @param newState the new lexical state
-	 */
-	final public void yybegin(int newState) {
-		yy_lexical_state = newState;
-	}
-
-
-	/**
-	 * Returns the text matched by the current regular expression.
-	 */
-	final public String yytext() {
-		return new String(yy_buffer, yy_startRead, yy_markedPos - yy_startRead);
-	}
-
-	/**
-	 * Returns the length of the matched text region.
-	 */
-	final public int yylength() {
-		return yy_markedPos - yy_startRead;
-	}
-
-
-	/**
-	 * Reports an error that occured while scanning.
-	 *
-	 * @param   errorCode  the code of the errormessage to display
-	 */
-	private void yy_ScanError(int errorCode) {
-		try {
-			System.out.println(YY_ERROR_MSG[errorCode]);
-		}
-		catch (ArrayIndexOutOfBoundsException e) {
-			System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-		}
-
-		System.exit(1);
-	}
-
-
-	/**
-	 * Pushes the specified amount of characters back into the input stream.
-	 *
-	 * They will be read again by then next call of the scanning method
-	 *
-	 * @param number  the number of characters to be read again.
-	 *                This number must not be greater than yylength()!
-	 */
-	private void yypushback(int number) {
-		if (number > yylength())
-			yy_ScanError(YY_PUSHBACK_2BIG);
-
-		yy_markedPos -= number;
-	}
-
-
-	/**
-	 * Contains user EOF-code, which will be executed exactly once,
-	 * when the end of file is reached
-	 */
-	private void yy_do_eof() {
-		if (!yy_eof_done) {
-			yy_eof_done = true;
-			hasMore = false;
-
-		}
-	}
-
-
-	/**
-	 * Resumes scanning until the next regular expression is matched,
-	 * the end of input is encountered or an I/O-Error occurs.
-	 *
-	 * @return      the next token
-	 * @exception   IOException  if any I/O-Error occurs
-	 */
-	public String primGetNextToken() throws java.io.IOException {
-		int yy_input;
-		int yy_action;
-
-
-		while (true) {
-
-			yychar += yylength();
-
-			yy_atBOL = yy_markedPos <= 0 || yy_buffer[yy_markedPos - 1] == '\n';
-			if (!yy_atBOL && yy_buffer[yy_markedPos - 1] == '\r') {
-				yy_atBOL = yy_advance() != '\n';
-				if (!yy_atEOF)
-					yy_currentPos--;
-			}
-
-			yy_action = -1;
-
-			yy_currentPos = yy_startRead = yy_markedPos;
-
-			if (yy_atBOL)
-				yy_state = YY_LEXSTATE[yy_lexical_state + 1];
-			else
-				yy_state = YY_LEXSTATE[yy_lexical_state];
-
-
-			yy_forAction : {
-				while (true) {
-
-					yy_input = yy_advance();
-
-					if (yy_input == YYEOF)
-						break yy_forAction;
-
-					yy_input = yycmap[yy_input];
-
-					boolean yy_isFinal = false;
-					boolean yy_noLookAhead = false;
-
-					yy_forNext : {
-						switch (yy_state) {
-							case 0 :
-								switch (yy_input) {
-									case 1 :
-										yy_isFinal = true;
-										yy_state = 9;
-										break yy_forNext;
-									case 2 :
-										yy_isFinal = true;
-										yy_state = 10;
-										break yy_forNext;
-									case 3 :
-										yy_isFinal = true;
-										yy_state = 11;
-										break yy_forNext;
-									case 10 :
-										yy_isFinal = true;
-										yy_state = 12;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 8;
-										break yy_forNext;
-								}
-
-							case 1 :
-								switch (yy_input) {
-									case 1 :
-										yy_isFinal = true;
-										yy_state = 9;
-										break yy_forNext;
-									case 2 :
-										yy_isFinal = true;
-										yy_state = 10;
-										break yy_forNext;
-									case 3 :
-										yy_isFinal = true;
-										yy_state = 11;
-										break yy_forNext;
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 13;
-										break yy_forNext;
-									case 10 :
-										yy_isFinal = true;
-										yy_state = 14;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 8;
-										break yy_forNext;
-								}
-
-							case 2 :
-								switch (yy_input) {
-									case 11 :
-										yy_isFinal = true;
-										yy_state = 15;
-										break yy_forNext;
-									case 15 :
-										yy_isFinal = true;
-										yy_state = 16;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 8;
-										break yy_forNext;
-								}
-
-							case 3 :
-								switch (yy_input) {
-									case 25 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 17;
-										break yy_forNext;
-									case 26 :
-										yy_isFinal = true;
-										yy_state = 18;
-										break yy_forNext;
-									case 34 :
-										yy_isFinal = true;
-										yy_state = 19;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 8;
-										break yy_forNext;
-								}
-
-							case 4 :
-								switch (yy_input) {
-									case 6 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 21;
-										break yy_forNext;
-									case 7 :
-										yy_isFinal = true;
-										yy_state = 22;
-										break yy_forNext;
-									case 32 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 23;
-										break yy_forNext;
-									case 35 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 24;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 20;
-										break yy_forNext;
-								}
-
-							case 5 :
-								switch (yy_input) {
-									case 7 :
-									case 9 :
-									case 10 :
-									case 25 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 26;
-										break yy_forNext;
-									case 11 :
-									case 34 :
-										yy_isFinal = true;
-										yy_state = 27;
-										break yy_forNext;
-									case 32 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 28;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 25;
-										break yy_forNext;
-								}
-
-							case 6 :
-								switch (yy_input) {
-									case 7 :
-									case 9 :
-									case 10 :
-									case 25 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 26;
-										break yy_forNext;
-									case 34 :
-										yy_isFinal = true;
-										yy_state = 27;
-										break yy_forNext;
-									case 35 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 28;
-										break yy_forNext;
-									case 36 :
-										yy_isFinal = true;
-										yy_state = 29;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 25;
-										break yy_forNext;
-								}
-
-							case 7 :
-								switch (yy_input) {
-									case 10 :
-									case 25 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 26;
-										break yy_forNext;
-									case 34 :
-										yy_isFinal = true;
-										yy_state = 27;
-										break yy_forNext;
-									case 11 :
-										yy_isFinal = true;
-										yy_state = 29;
-										break yy_forNext;
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 30;
-										break yy_forNext;
-									case 32 :
-									case 35 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 31;
-										break yy_forNext;
-									case 37 :
-										yy_isFinal = true;
-										yy_state = 32;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 25;
-										break yy_forNext;
-								}
-
-							case 9 :
-								switch (yy_input) {
-									case 2 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 33;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 10 :
-								switch (yy_input) {
-									case 1 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 34;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 11 :
-								switch (yy_input) {
-									case 4 :
-										yy_state = 35;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 12 :
-								switch (yy_input) {
-									case 13 :
-										yy_state = 36;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 13 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_state = 37;
-										break yy_forNext;
-									case 10 :
-										yy_state = 38;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 14 :
-								switch (yy_input) {
-									case 13 :
-										yy_state = 36;
-										break yy_forNext;
-									case 11 :
-										yy_state = 39;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 15 :
-								switch (yy_input) {
-									case 25 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 40;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 16 :
-								switch (yy_input) {
-									case 19 :
-										yy_state = 41;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 18 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 42;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 19 :
-								switch (yy_input) {
-									case 25 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 43;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 21 :
-								switch (yy_input) {
-									case 6 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 21;
-										break yy_forNext;
-									case 7 :
-										yy_state = 44;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 20;
-										break yy_forNext;
-								}
-
-							case 22 :
-								switch (yy_input) {
-									case 6 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 21;
-										break yy_forNext;
-									case 7 :
-										yy_state = 44;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 20;
-										break yy_forNext;
-								}
-
-							case 27 :
-								switch (yy_input) {
-									case 25 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 45;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 29 :
-								switch (yy_input) {
-									case 25 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 46;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 32 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 32;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 35 :
-								switch (yy_input) {
-									case 5 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 47;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 36 :
-								switch (yy_input) {
-									case 15 :
-										yy_state = 48;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 37 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_state = 37;
-										break yy_forNext;
-									case 10 :
-										yy_state = 38;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 38 :
-								switch (yy_input) {
-									case 11 :
-										yy_state = 39;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 39 :
-								switch (yy_input) {
-									case 12 :
-										yy_state = 49;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 41 :
-								switch (yy_input) {
-									case 20 :
-										yy_state = 50;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 42 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 51;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 44 :
-								switch (yy_input) {
-									case 6 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 21;
-										break yy_forNext;
-									case 7 :
-										yy_state = 44;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 20;
-										break yy_forNext;
-								}
-
-							case 48 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 52;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 49 :
-								switch (yy_input) {
-									case 13 :
-										yy_state = 53;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 50 :
-								switch (yy_input) {
-									case 21 :
-										yy_state = 54;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 51 :
-								switch (yy_input) {
-									case 27 :
-										yy_state = 55;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 52 :
-								switch (yy_input) {
-									case 17 :
-										yy_state = 56;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 53 :
-								switch (yy_input) {
-									case 14 :
-										yy_state = 57;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 54 :
-								switch (yy_input) {
-									case 22 :
-										yy_state = 58;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 55 :
-								switch (yy_input) {
-									case 28 :
-										yy_state = 59;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 56 :
-								switch (yy_input) {
-									case 18 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 60;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 57 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 61;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 58 :
-								switch (yy_input) {
-									case 23 :
-										yy_state = 62;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 59 :
-								switch (yy_input) {
-									case 15 :
-										yy_state = 63;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 61 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 61;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 62 :
-								switch (yy_input) {
-									case 19 :
-										yy_state = 64;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 63 :
-								switch (yy_input) {
-									case 29 :
-										yy_state = 65;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 64 :
-								switch (yy_input) {
-									case 24 :
-										yy_state = 66;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 65 :
-								switch (yy_input) {
-									case 30 :
-										yy_state = 67;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 66 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_state = 66;
-										break yy_forNext;
-									case 8 :
-										yy_isFinal = true;
-										yy_state = 68;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 67 :
-								switch (yy_input) {
-									case 23 :
-										yy_state = 69;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 68 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 68;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 69 :
-								switch (yy_input) {
-									case 31 :
-										yy_state = 70;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 70 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_state = 70;
-										break yy_forNext;
-									case 8 :
-										yy_state = 71;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 71 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_state = 71;
-										break yy_forNext;
-									case 20 :
-										yy_state = 72;
-										break yy_forNext;
-									case 32 :
-										yy_state = 73;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 72 :
-								switch (yy_input) {
-									case 21 :
-										yy_state = 74;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 73 :
-								switch (yy_input) {
-									case 20 :
-										yy_state = 72;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 74 :
-								switch (yy_input) {
-									case 19 :
-										yy_state = 75;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 75 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 76;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 76 :
-								switch (yy_input) {
-									case 15 :
-										yy_state = 77;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 77 :
-								switch (yy_input) {
-									case 19 :
-										yy_state = 78;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 78 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 79;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 79 :
-								switch (yy_input) {
-									case 28 :
-										yy_state = 80;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 80 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 81;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 81 :
-								switch (yy_input) {
-									case 33 :
-										yy_state = 82;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 82 :
-								switch (yy_input) {
-									case 27 :
-										yy_state = 83;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 83 :
-								switch (yy_input) {
-									case 15 :
-										yy_state = 84;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 84 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_state = 85;
-										break yy_forNext;
-									case 32 :
-										yy_state = 86;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 85 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_state = 85;
-										break yy_forNext;
-									case 20 :
-										yy_state = 87;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 86 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_state = 85;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 87 :
-								switch (yy_input) {
-									case 21 :
-										yy_state = 88;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 88 :
-								switch (yy_input) {
-									case 19 :
-										yy_state = 89;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 89 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 90;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 90 :
-								switch (yy_input) {
-									case 15 :
-										yy_state = 91;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 91 :
-								switch (yy_input) {
-									case 19 :
-										yy_state = 92;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 92 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 93;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 93 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_state = 93;
-										break yy_forNext;
-									case 8 :
-										yy_isFinal = true;
-										yy_state = 94;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 94 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-									case 18 :
-										yy_isFinal = true;
-										yy_state = 94;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							default :
-								yy_ScanError(YY_ILLEGAL_STATE);
-								break;
-						}
-					}
-
-					if (yy_isFinal) {
-						yy_action = yy_state;
-						yy_markedPos = yy_currentPos;
-						if (yy_noLookAhead)
-							break yy_forAction;
-					}
-
-				}
-			}
-
-
-			switch (yy_action) {
-
-				case 26 :
-					{
-						yypushback(1);
-						popState();
-						valueText = string.toString();
-						return EncodingParserConstants.InvalidTerminatedStringValue;
-					}
-				case 96 :
-					break;
-				case 20 :
-				case 21 :
-					{
-						yypushback(1);
-						yybegin(UnDelimitedString);
-						string.setLength(0);
-					}
-				case 97 :
-					break;
-				case 17 :
-					{
-						yybegin(YYINITIAL);
-						if (foundContentTypeValue)
-							hasMore = false;
-						return HTMLHeadTokenizerConstants.MetaTagEnd;
-					}
-				case 98 :
-					break;
-				case 31 :
-					{
-						yypushback(1);
-						popState();
-						valueText = string.toString();
-						return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;
-					}
-				case 99 :
-					break;
-				case 43 :
-					{
-						yybegin(YYINITIAL);
-						if (foundContentTypeValue)
-							hasMore = false;
-						return HTMLHeadTokenizerConstants.MetaTagEnd;
-					}
-				case 100 :
-					break;
-				case 45 :
-					{
-						yypushback(2);
-						popState();
-						valueText = string.toString();
-						return EncodingParserConstants.InvalidTerminatedStringValue;
-					}
-				case 101 :
-					break;
-				case 46 :
-					{
-						yypushback(2);
-						popState();
-						valueText = string.toString();
-						return EncodingParserConstants.InvalidTerminatedStringValue;
-					}
-				case 102 :
-					break;
-				case 61 :
-					{
-						if (yychar == 0) {
-							yybegin(ST_XMLDecl);
-							return XMLHeadTokenizerConstants.XMLDeclStart;
-						}
-					}
-				case 103 :
-					break;
-				case 8 :
-				case 9 :
-				case 10 :
-				case 11 :
-				case 12 :
-				case 13 :
-				case 14 :
-				case 15 :
-				case 16 :
-				case 18 :
-				case 19 :
-				case 22 :
-					{
-						if (yychar > MAX_TO_SCAN) {
-							hasMore = false;
-							return EncodingParserConstants.MAX_CHARS_REACHED;
-						}
-					}
-				case 104 :
-					break;
-				case 60 :
-					{
-						yybegin(ST_META_TAG);
-						return HTMLHeadTokenizerConstants.MetaTagStart;
-					}
-				case 105 :
-					break;
-				case 40 :
-					{
-						yybegin(YYINITIAL);
-						return XMLHeadTokenizerConstants.XMLDeclEnd;
-					}
-				case 106 :
-					break;
-				case 94 :
-					{
-						pushCurrentState();
-						yybegin(QuotedAttributeValue);
-						foundContentTypeValue = true;
-						return HTMLHeadTokenizerConstants.MetaTagContentType;
-					}
-				case 107 :
-					break;
-				case 68 :
-					{
-						pushCurrentState();
-						yybegin(QuotedAttributeValue);
-						return XMLHeadTokenizerConstants.XMLDelEncoding;
-					}
-				case 108 :
-					break;
-				case 33 :
-					{
-						hasMore = false;
-						return EncodingParserConstants.UTF16BE;
-					}
-				case 109 :
-					break;
-				case 34 :
-					{
-						hasMore = false;
-						return EncodingParserConstants.UTF16LE;
-					}
-				case 110 :
-					break;
-				case 47 :
-					{
-						hasMore = false;
-						return EncodingParserConstants.UTF83ByteBOM;
-					}
-				case 111 :
-					break;
-				case 28 :
-					{
-						popState();
-						valueText = string.toString();
-						return EncodingParserConstants.StringValue;
-					}
-				case 112 :
-					break;
-				case 25 :
-				case 27 :
-				case 29 :
-				case 32 :
-					{
-						string.append(yytext());
-					}
-				case 113 :
-					break;
-				case 24 :
-					{
-						yybegin(SQ_STRING);
-						string.setLength(0);
-					}
-				case 114 :
-					break;
-				case 23 :
-					{
-						yybegin(DQ_STRING);
-						string.setLength(0);
-					}
-				case 115 :
-					break;
-				case 30 :
-					{
-						yypushback(1);
-						popState();
-						valueText = string.toString();
-						return EncodingParserConstants.UnDelimitedStringValue;
-					}
-				case 116 :
-					break;
-				default :
-					if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-						yy_atEOF = true;
-						yy_do_eof();
-						{
-							hasMore = false;
-							return EncodingParserConstants.EOF;
-						}
-					}
-					else {
-						yy_ScanError(YY_NO_MATCH);
-					}
-			}
-		}
-	}
-
-	/**
-	 * Runs the scanner on input files.
-	 *
-	 * This main method is the debugging routine for the scanner.
-	 * It prints each returned token to System.out until the end of
-	 * file is reached, or an error occured.
-	 *
-	 * @param argv   the command line, contains the filenames to run
-	 *               the scanner on.
-	 */
-	public static void main(String argv[]) {
-		for (int i = 0; i < argv.length; i++) {
-			HTMLHeadTokenizer scanner = null;
-			try {
-				scanner = new HTMLHeadTokenizer(new java.io.FileReader(argv[i]));
-			}
-			catch (java.io.FileNotFoundException e) {
-				System.out.println("File not found : \"" + argv[i] + "\"");
-				System.exit(1);
-			}
-			catch (ArrayIndexOutOfBoundsException e) {
-				System.out.println("Usage : java HTMLHeadTokenizer <inputfile>");
-				System.exit(1);
-			}
-
-			try {
-				do {
-					System.out.println(scanner.primGetNextToken());
-				}
-				while (!scanner.yy_atEOF);
-
-			}
-			catch (java.io.IOException e) {
-				System.out.println("An I/O error occured while scanning :");
-				System.out.println(e);
-				System.exit(1);
-			}
-			catch (Exception e) {
-				e.printStackTrace();
-				System.exit(1);
-			}
-		}
-	}
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HTMLHeadTokenizerConstants.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HTMLHeadTokenizerConstants.java
deleted file mode 100644
index 938bcde..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HTMLHeadTokenizerConstants.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.internal.contenttype;
-
-
-public interface HTMLHeadTokenizerConstants {
-
-	String MetaTagEnd = "MetaTagEnd"; //$NON-NLS-1$
-	String MetaTagStart = "MetaTagStart"; //$NON-NLS-1$
-	String MetaTagContentType = "MetaTagContentType"; //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HTMLResourceEncodingDetector.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HTMLResourceEncodingDetector.java
deleted file mode 100644
index 0d83aeb..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HTMLResourceEncodingDetector.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.internal.contenttype;
-
-import java.io.IOException;
-import java.util.regex.Pattern;
-
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.xml.core.internal.contenttype.EncodingParserConstants;
-
-public class HTMLResourceEncodingDetector extends AbstractResourceEncodingDetector implements IResourceCharsetDetector {
-
-	private HTMLHeadTokenizer fTokenizer;
-
-	/**
-	 * There is no spec defined encoding for HTML (historically), so null is
-	 * returned.
-	 */
-	public String getSpecDefaultEncoding() {
-		return null;
-	}
-
-	private boolean canHandleAsUnicodeStream(String tokenType) {
-		boolean canHandleAsUnicodeStream = false;
-		if (tokenType == EncodingParserConstants.UTF83ByteBOM) {
-			canHandleAsUnicodeStream = true;
-			String enc = "UTF-8"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-			fEncodingMemento.setUTF83ByteBOMUsed(true);
-		}
-		else if (tokenType == EncodingParserConstants.UTF16BE) {
-			canHandleAsUnicodeStream = true;
-			String enc = "UTF-16BE"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		}
-		else if (tokenType == EncodingParserConstants.UTF16LE) {
-			canHandleAsUnicodeStream = true;
-			String enc = "UTF-16"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		}
-		return canHandleAsUnicodeStream;
-	}
-
-	/**
-	 * @return Returns the tokenizer.
-	 */
-	private HTMLHeadTokenizer getTokenizer() {
-		// TODO: need to work on 'reset' in tokenizer, so new instance isn't
-		// always needed
-		//if (fTokenizer == null) {
-		fTokenizer = new HTMLHeadTokenizer();
-		//		}
-		return fTokenizer;
-	}
-
-	private boolean isLegalString(String valueTokenType) {
-		if (valueTokenType == null)
-			return false;
-		else
-			return valueTokenType.equals(EncodingParserConstants.StringValue) || valueTokenType.equals(EncodingParserConstants.UnDelimitedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTerminatedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue);
-	}
-
-	protected void parseInput() throws IOException {
-		checkInContent();
-		if (fEncodingMemento == null) {
-			checkHeuristics();
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private void checkHeuristics() throws IOException {
-		boolean noHeuristic = false;
-		String heuristicEncoding = null;
-		try {
-			fReader.reset();
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-			byte[] bytes = new byte[CodedIO.MAX_MARK_SIZE];
-			int nRead = 0;
-			for (int i = 0; i < bytes.length; i++) {
-				if (fReader.ready()) {
-					int oneByte = fReader.read();
-					nRead++;
-					if (oneByte <= 0xFF) {
-						bytes[i] = (byte) oneByte;
-					}
-					else {
-						noHeuristic = true;
-						break;
-					}
-				}
-				else {
-					break;
-				}
-			}
-			if (!noHeuristic) {
-				heuristicEncoding = EncodingGuesser.guessEncoding(bytes, nRead);
-			}
-		}
-		catch (IOException e) {
-			// if any IO exception, then not a heuristic case
-		}
-		finally {
-			fReader.reset();
-		}
-		if (heuristicEncoding != null) {
-			createEncodingMemento(heuristicEncoding, EncodingMemento.GUESSED_ENCODING_FROM_STREAM);
-		}
-
-	}
-
-	private void checkInContent() throws IOException {
-		HTMLHeadTokenizer tokenizer = getTokenizer();
-		tokenizer.reset(fReader);
-		HeadParserToken token = null;
-		String tokenType = null;
-		String contentTypeValue = null;
-		do {
-			token = tokenizer.getNextToken();
-			tokenType = token.getType();
-			if (canHandleAsUnicodeStream(tokenType)) {
-				// side effect of canHandle is to create appropriate
-				// memento
-			}
-			else if (tokenType == HTMLHeadTokenizerConstants.MetaTagContentType) {
-				if (tokenizer.hasMoreTokens()) {
-					HeadParserToken valueToken = tokenizer.getNextToken();
-					String valueTokenType = valueToken.getType();
-					if (isLegalString(valueTokenType)) {
-						contentTypeValue = valueToken.getText();
-
-					}
-				}
-			}
-
-		}
-		while (tokenizer.hasMoreTokens());
-		if (contentTypeValue != null) {
-			parseContentTypeValue(contentTypeValue);
-		}
-	}
-
-	private void parseContentTypeValue(String contentType) {
-		String charset = null;
-		Pattern pattern = Pattern.compile(";\\s*charset\\s*=\\s*"); //$NON-NLS-1$
-		String[] parts = pattern.split(contentType);
-		if (parts.length > 0) {
-			// if only one item, it can still be charset instead of
-			// contentType
-			if (parts.length == 1) {
-				if (parts[0].length() > 6) {
-					String checkForCharset = parts[0].substring(0, 7);
-					if (checkForCharset.equalsIgnoreCase("charset")) { //$NON-NLS-1$
-						int eqpos = parts[0].indexOf('=');
-						eqpos = eqpos + 1;
-						if (eqpos < parts[0].length()) {
-							charset = parts[0].substring(eqpos);
-							charset = charset.trim();
-						}
-					}
-				}
-			}
-			else {
-				//fContentType = parts[0];
-			}
-		}
-		if (parts.length > 1) {
-			charset = parts[1];
-		}
-		
-		if (charset != null && charset.length() > 0) {
-			createEncodingMemento(charset, EncodingMemento.FOUND_ENCODING_IN_CONTENT);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HeadParserToken.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HeadParserToken.java
deleted file mode 100644
index ffd0406..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/HeadParserToken.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.html.core.internal.contenttype;
-
-public class HeadParserToken {
-	private int fStart;
-
-	private String fText;
-	private String fType;
-
-	protected HeadParserToken() {
-		super();
-	}
-
-	public HeadParserToken(String type, int start, String text) {
-		this();
-		fType = type;
-		fStart = start;
-		fText = text;
-
-	}
-
-	public String getText() {
-		return fText;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return ("text: " + fText + " offset: " + fStart + " type: " + fType); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/IntStack.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/IntStack.java
deleted file mode 100644
index 5006745..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/IntStack.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.html.core.internal.contenttype;
-
-/*
- * 
- * A non-resizable class implementing the behavior of java.util.Stack, but
- * directly for the <code> integer </code> primitive.
- */
-import java.util.EmptyStackException;
-
-public class IntStack {
-	private int[] list = null;
-
-	private int size = 0;
-
-	public IntStack() {
-		this(100);
-	}
-
-	public IntStack(int maxdepth) {
-		super();
-		list = new int[maxdepth];
-		initialize();
-	}
-
-	public void clear() {
-		initialize();
-	}
-
-	public boolean empty() {
-		return size == 0;
-	}
-
-	public int get(int slot) {
-		return list[slot];
-	}
-
-	private void initialize() {
-		for (int i = 0; i < list.length; i++)
-			list[i] = -1;
-	}
-
-	/**
-	 * Returns the int at the top of the stack without removing it
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int peek() {
-		if (size == 0)
-			throw new EmptyStackException();
-		return list[size - 1];
-	}
-
-	/**
-	 * Removes and returns the int at the top of the stack
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int pop() {
-		int value = peek();
-		list[size - 1] = -1;
-		size--;
-		return value;
-	}
-
-	/**
-	 * Pushes an item onto the top of this stack.
-	 * 
-	 * @param newValue -
-	 *            the int to be pushed onto this stack.
-	 * @return the <code>newValue</code> argument.
-	 */
-	public int push(int newValue) {
-		if (size == list.length) {
-			throw new StackOverflowError();
-		}
-		list[size++] = newValue;
-		return newValue;
-	}
-
-	public int size() {
-		return list.length;
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/NullMemento.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/NullMemento.java
deleted file mode 100644
index 3ee2e3f..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contenttype/NullMemento.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.html.core.internal.contenttype;
-
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.NonContentBasedEncodingRules;
-
-
-
-/**
- * This class can be used in place of an EncodingMemento (its super class),
- * when there is not in fact ANY encoding information. For example, when a
- * structuredDocument is created directly from a String
- */
-public class NullMemento extends EncodingMemento {
-	/**
-	 *  
-	 */
-	public NullMemento() {
-		super();
-		String defaultCharset = NonContentBasedEncodingRules.useDefaultNameRules(null);
-		setJavaCharsetName(defaultCharset);
-		setAppropriateDefault(defaultCharset);
-		setDetectedCharsetName(null);
-		addTrace(DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/text/rules/StructuredTextPartitionerForHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/text/rules/StructuredTextPartitionerForHTML.java
deleted file mode 100644
index ef10396..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/text/rules/StructuredTextPartitionerForHTML.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.internal.text.rules;
-
-import java.util.Locale;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.css.core.internal.text.rules.StructuredTextPartitionerForCSS;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.sse.core.internal.parser.ForeignRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredTextPartitioner;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.text.StructuredTypedRegion;
-import org.eclipse.wst.sse.core.util.ScriptLanguageKeys;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-
-/**
- * Document partitioner for HTML. Client-side scripts of type JavaScript are
- * reported as ST_SCRIPT, all others for <script language="foo" type="foo2">
- * as SCRIPT.language:FOO and SCRIPT.type:FOO2.
- */
-public class StructuredTextPartitionerForHTML extends StructuredTextPartitionerForXML implements IStructuredTextPartitioner {
-
-	public final static String ST_DEFAULT_HTML = "org.eclipse.wst.html.DEFAULT_HTML"; //$NON-NLS-1$
-	public final static String ST_HTML_DECLARATION = "org.eclipse.wst.html.HTML_DECLARATION"; //$NON-NLS-1$
-	public final static String ST_HTML_COMMENT = "org.eclipse.wst.html.HTML_COMMENT"; //$NON-NLS-1$
-	public final static String ST_SCRIPT = "org.eclipse.wst.html.SCRIPT"; //$NON-NLS-1$
-	private final static String[] configuredContentTypes = new String[]{ST_DEFAULT_HTML, ST_HTML_DECLARATION, ST_HTML_COMMENT, ST_SCRIPT, StructuredTextPartitionerForCSS.ST_STYLE};
-
-	public static final String JAVASCRIPT = "javascript"; //$NON-NLS-1$
-	public static final String JAVASCRIPT_APPLICATION = "application/x-javascript"; //$NON-NLS-1$
-
-
-	/**
-	 * Constructor for JSPDocumentPartioner.
-	 */
-	public StructuredTextPartitionerForHTML() {
-		super();
-	}
-
-	public StructuredTypedRegion createPartition(int offset, int length, String type) {
-		if (type == ST_SCRIPT) {
-			IStructuredDocumentRegion node = structuredDocument.getRegionAtCharacterOffset(offset);
-			if (node != null) {
-				String stype = getScriptingPartitionType(node);
-				return super.createPartition(offset, length, stype);
-			}
-		}
-		return super.createPartition(offset, length, type);
-	}
-
-	/**
-	 * @see com.ibm.sed.structuredDocument.partition.StructuredTextPartitioner#createPartition(int,
-	 *      int, java.lang.String)
-	 */
-	protected void setInternalPartition(int offset, int length, String type) {
-		String localType = type;
-		if (type == ST_SCRIPT) {
-			IStructuredDocumentRegion node = structuredDocument.getRegionAtCharacterOffset(offset);
-			if (node != null) {
-				localType = getScriptingPartitionType(node);
-			}
-		}
-		super.setInternalPartition(offset, length, localType);
-	}
-
-	private String getScriptingPartitionType(IStructuredDocumentRegion coreNode) {
-		String language = null;
-		String type = null;
-		String result = ST_SCRIPT;
-		IStructuredDocumentRegion node = coreNode;
-		ITextRegion attrNameRegion = null;
-		while (node != null && isValidScriptingRegionType(node.getType())) {
-			node = node.getPrevious();
-		}
-
-		ITextRegionList regions = node.getRegions();
-		if (regions.size() > 4 && regions.get(1).getType() == XMLRegionContext.XML_TAG_NAME) {
-			ITextRegion potentialLanguageRegion = regions.get(1);
-			String potentialLanguageString = node.getText(potentialLanguageRegion);
-			if (potentialLanguageString.equalsIgnoreCase(HTML40Namespace.ElementName.SCRIPT)) {
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					String regionType = region.getType();
-					if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-						attrNameRegion = region;
-					else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-						String attrName = node.getText(attrNameRegion);
-						if (attrName.equalsIgnoreCase(HTML40Namespace.ATTR_NAME_LANGUAGE))
-							language = StringUtils.strip(node.getText(region));
-						else if (attrName.equalsIgnoreCase(HTML40Namespace.ATTR_NAME_TYPE)) {
-							type = StringUtils.strip(node.getText(region));
-							break;
-						}
-						attrNameRegion = null;
-					}
-				}
-			}
-		}
-		if (type != null)
-			result = lookupScriptType(type);
-		else if (language != null)
-			result = lookupScriptLanguage(language);
-		return result;
-	}
-
-	private boolean isValidScriptingRegionType(String type) {
-		return type == XMLRegionContext.BLOCK_TEXT || type == XMLRegionContext.XML_CDATA_OPEN || type == XMLRegionContext.XML_CDATA_TEXT || type == XMLRegionContext.XML_CDATA_CLOSE;
-	}
-
-	protected void initLegalContentTypes() {
-		fSupportedTypes = getConfiguredContentTypes();
-	}
-
-	private String lookupScriptType(String type) {
-		for (int i = 0; i < ScriptLanguageKeys.JAVASCRIPT_MIME_TYPE_KEYS.length; i++)
-			if (ScriptLanguageKeys.JAVASCRIPT_MIME_TYPE_KEYS[i].equalsIgnoreCase(type))
-				return ST_SCRIPT;
-		return ST_SCRIPT + ".type." + type.toUpperCase(Locale.ENGLISH); //$NON-NLS-1$
-	}
-
-	private String lookupScriptLanguage(String language) {
-		for (int i = 0; i < ScriptLanguageKeys.JAVASCRIPT_LANGUAGE_KEYS.length; i++)
-			if (ScriptLanguageKeys.JAVASCRIPT_LANGUAGE_KEYS[i].equalsIgnoreCase(language))
-				return ST_SCRIPT;
-		return ST_SCRIPT + ".language." + language.toUpperCase(Locale.ENGLISH); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see com.ibm.sed.model.StructuredTextPartitioner#getPartitionType(com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	public String getPartitionType(ITextRegion region, int offset) {
-		String result = null;
-		if (region.getType() == XMLRegionContext.XML_COMMENT_TEXT || region.getType() == XMLRegionContext.XML_COMMENT_OPEN)
-			result = ST_HTML_COMMENT;
-		else if (region.getType() == XMLRegionContext.XML_DOCTYPE_DECLARATION || region.getType() == XMLRegionContext.XML_DECLARATION_OPEN)
-			result = ST_HTML_DECLARATION;
-		else
-			result = super.getPartitionType(region, offset);
-		return result;
-	}
-
-	/**
-	 * @see com.ibm.sed.structuredDocument.partition.StructuredTextPartitioner#getPartitionTypeBetween(com.ibm.sed.structuredDocument.ITextRegion,
-	 *      com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	public String getPartitionTypeBetween(IStructuredDocumentRegion previousNode, ITextRegion previousStartTagNameRegion, IStructuredDocumentRegion nextNode, ITextRegion nextEndTagNameRegion) {
-		String name1 = previousNode.getText(previousStartTagNameRegion);
-		String name2 = nextNode.getText(nextEndTagNameRegion);
-		if (name1.equalsIgnoreCase(HTML40Namespace.ElementName.SCRIPT) && name2.equalsIgnoreCase(HTML40Namespace.ElementName.SCRIPT))
-			//			return ST_SCRIPT;
-			return getScriptingPartitionType(structuredDocument.getRegionAtCharacterOffset(previousNode.getStartOffset(previousStartTagNameRegion)));
-		else if (name1.equalsIgnoreCase(HTML40Namespace.ElementName.STYLE) && name2.equalsIgnoreCase(HTML40Namespace.ElementName.STYLE))
-			return StructuredTextPartitionerForCSS.ST_STYLE;
-		return super.getPartitionTypeBetween(previousNode, previousStartTagNameRegion, nextNode, nextEndTagNameRegion);
-	}
-
-
-	protected String getPartitionType(ForeignRegion region, int offset) {
-		String tagname = region.getSurroundingTag();
-		String result = null;
-		// tagname should not be null,
-		// but see https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4911
-		if (tagname == null) {
-			result = getUnknown();
-		}
-		else if (tagname.equalsIgnoreCase(HTML40Namespace.ElementName.SCRIPT))
-			result = ST_SCRIPT;
-		else if (tagname.equalsIgnoreCase(HTML40Namespace.ElementName.STYLE))
-			result = StructuredTextPartitionerForCSS.ST_STYLE;
-		else
-			result = super.getPartitionType(region, offset);
-
-		return result;
-	}
-
-	public String getDefault() {
-		return ST_DEFAULT_HTML;
-	}
-
-	public IDocumentPartitioner newInstance() {
-		return new StructuredTextPartitionerForHTML();
-	}
-
-	/**
-	 * @return
-	 */
-	public static String[] getConfiguredContentTypes() {
-		return configuredContentTypes;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelhandler/EmbeddedHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelhandler/EmbeddedHTML.java
deleted file mode 100644
index daeb216..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelhandler/EmbeddedHTML.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelhandler;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeAdapterFactory;
-import org.eclipse.wst.html.core.document.HTMLModelParserAdapterFactory;
-import org.eclipse.wst.html.core.htmlcss.HTMLStyleSelectorAdapterFactory;
-import org.eclipse.wst.html.core.htmlcss.StyleAdapterFactory;
-import org.eclipse.wst.html.core.modelquery.ModelQueryAdapterFactoryForEmbeddedHTML;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.BlockTagParser;
-import org.eclipse.wst.sse.core.parser.JSPCapableParser;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-public class EmbeddedHTML implements EmbeddedTypeHandler {
-	public String ContentTypeID_EmbeddedHTML = "org.eclipse.wst.html.core.internal.contenttype.EmbeddedHTML"; //$NON-NLS-1$
-
-	private List supportedMimeTypes;
-
-	/**
-	 * Constructor for EmbeddedHTML.
-	 */
-	public EmbeddedHTML() {
-		super();
-	}
-
-	/**
-	 * Convenience method to add tag names using BlockMarker object
-	 */
-	protected void addHTMLishTag(BlockTagParser parser, String tagname) {
-		BlockMarker bm = new BlockMarker(tagname, null, XMLRegionContext.BLOCK_TEXT, false);
-		parser.addBlockMarker(bm);
-	}
-
-	/**
-	 * @see EmbeddedContentType#getFamilyId()
-	 */
-	public String getFamilyId() {
-		return ModelHandlerForHTML.AssociatedContentTypeID;
-	}
-
-	/*
-	 * Only "model side" embedded factories can be added here.
-	 */
-	public List getAdapterFactories() {
-		List factories = new ArrayList();
-		factories.add(new ModelQueryAdapterFactoryForEmbeddedHTML());
-		//		factories.addAll(PluginContributedFactoryReader.getInstance().getFactories(this));
-		return factories;
-	}
-
-	/*
-	 * @see EmbeddedContentType#initializeParser(RegionParser)
-	 */
-	public void initializeParser(JSPCapableParser parser) {
-		addHTMLishTag(parser, "script"); //$NON-NLS-1$
-		addHTMLishTag(parser, "style"); //$NON-NLS-1$
-	}
-
-	public List getSupportedMimeTypes() {
-		if (supportedMimeTypes == null) {
-			supportedMimeTypes = new ArrayList();
-			supportedMimeTypes.add("text/html"); //$NON-NLS-1$
-			supportedMimeTypes.add("text/xhtml"); //$NON-NLS-1$
-			supportedMimeTypes.add("application/xhtml+xml"); //$NON-NLS-1$
-			supportedMimeTypes.add("application/xml"); //$NON-NLS-1$
-			supportedMimeTypes.add("text/vnd.wap.wml"); //$NON-NLS-1$
-		}
-		return supportedMimeTypes;
-	}
-
-	public void initializeFactoryRegistry(IFactoryRegistry registry) {
-		Assert.isNotNull(registry);
-		AdapterFactory factory = HTMLDocumentTypeAdapterFactory.getInstance();
-		registry.addFactory(factory);
-		factory = HTMLModelParserAdapterFactory.getInstance();
-		registry.addFactory(factory);
-		factory = StyleAdapterFactory.getInstance();
-		registry.addFactory(factory);
-		factory = HTMLStyleSelectorAdapterFactory.getInstance();
-		registry.addFactory(factory);
-	}
-
-	public void uninitializeFactoryRegistry(IFactoryRegistry registry) {
-		Assert.isNotNull(registry);
-		// note this BIG assumption about factory singletons!
-		// for this particular list, they are, but may not 
-		// be in future.
-
-		AdapterFactory factory = HTMLDocumentTypeAdapterFactory.getInstance();
-		factory.release();
-		registry.removeFactory(factory);
-
-		factory = HTMLModelParserAdapterFactory.getInstance();
-		factory.release();
-		registry.removeFactory(factory);
-
-		factory = StyleAdapterFactory.getInstance();
-		factory.release();
-		registry.removeFactory(factory);
-
-		factory = HTMLStyleSelectorAdapterFactory.getInstance();
-		factory.release();
-		registry.removeFactory(factory);
-	}
-
-	public void uninitializeParser(JSPCapableParser parser) {
-		// I'm assuming block markers are unique based on name only
-		// we add these as full BlockMarkers, but remove based on name alone.
-		parser.removeBlockMarker("script"); //$NON-NLS-1$
-		parser.removeBlockMarker("script"); //$NON-NLS-1$
-	}
-
-	public EmbeddedTypeHandler newInstance() {
-		return new EmbeddedHTML();
-	}
-
-	/**
-	 * will someday be controlled via extension point
-	 */
-	public boolean isDefault() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelhandler/ModelHandlerForHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelhandler/ModelHandlerForHTML.java
deleted file mode 100644
index dd27aec..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelhandler/ModelHandlerForHTML.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelhandler;
-
-import org.eclipse.wst.html.core.encoding.HTMLDocumentCharsetDetector;
-import org.eclipse.wst.html.core.encoding.HTMLDocumentLoader;
-import org.eclipse.wst.html.core.encoding.HTMLModelLoader;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.modelhandler.AbstractModelHandler;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-
-public class ModelHandlerForHTML extends AbstractModelHandler implements IModelHandler {
-	/** 
-	 * Needs to match what's in plugin registry. 
-	 * In fact, can be overwritten at run time with 
-	 * what's in registry! (so should never be 'final')
-	 */
-	static String AssociatedContentTypeID = "org.eclipse.wst.html.core.htmlsource"; //$NON-NLS-1$
-	/**
-	 * Needs to match what's in plugin registry. 
-	 * In fact, can be overwritten at run time with 
-	 * what's in registry! (so should never be 'final')
-	 */
-	private static String ModelHandlerID_HTML = "org.eclipse.wst.html.core.modelhandler"; //$NON-NLS-1$
-
-
-	public ModelHandlerForHTML() {
-		super();
-		setId(ModelHandlerID_HTML);
-		setAssociatedContentTypeId(AssociatedContentTypeID);
-	}
-
-	public ModelLoader getModelLoader() {
-		return new HTMLModelLoader();
-	}
-
-	public IDocumentCharsetDetector getEncodingDetector() {
-		return new HTMLDocumentCharsetDetector();
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		return new HTMLDocumentLoader();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMAttributeDeclarationBuddySystem.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMAttributeDeclarationBuddySystem.java
deleted file mode 100644
index 9d38dad..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMAttributeDeclarationBuddySystem.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-import java.util.Enumeration;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-
-/**
- */
-class CMAttributeDeclarationBuddySystem extends CMNodeBuddySystem implements CMAttributeDeclaration {
-
-
-	public CMAttributeDeclarationBuddySystem(CMAttributeDeclaration self, CMAttributeDeclaration buddy, boolean isXHTML) {
-		super(self, buddy, isXHTML);
-	}
-
-	/*
-	 * @see CMAttributeDeclaration#getAttrName()
-	 */
-	public String getAttrName() {
-		return getSelf().getAttrName();
-	}
-
-	/*
-	 * @see CMAttributeDeclaration#getAttrType()
-	 */
-	public CMDataType getAttrType() {
-		return getSelf().getAttrType();
-	}
-
-	/*
-	 * @see CMAttributeDeclaration#getDefaultValue()
-	 * @deprecated in superclass
-	 */
-	public String getDefaultValue() {
-		return getSelf().getDefaultValue();
-	}
-
-	/*
-	 * @see CMAttributeDeclaration#getEnumAttr()
-	 * @deprecated in superclass
-	 */
-	public Enumeration getEnumAttr() {
-		return getSelf().getEnumAttr();
-	}
-
-	/*
-	 * @see CMAttributeDeclaration#getUsage()
-	 */
-	public int getUsage() {
-		return getSelf().getUsage();
-	}
-
-	private CMAttributeDeclaration getSelf() {
-		return (CMAttributeDeclaration) self;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMDocumentForBuddySystem.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMDocumentForBuddySystem.java
deleted file mode 100644
index b63c6a6..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMDocumentForBuddySystem.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNamespace;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.html.core.contentmodel.ssi.SSICMDocumentFactory;
-import org.eclipse.wst.sse.core.contentmodel.CMDocType;
-
-/**
- */
-class CMDocumentForBuddySystem extends CMNodeBuddySystem implements CMDocument {
-
-
-	private static CMDocument getHTMLCMDocument() {
-		return HTMLCMDocumentFactory.getCMDocument(CMDocType.HTML_DOC_TYPE);
-	}
-
-	class Elements extends CMNamedNodeMapForBuddySystem {
-		public Elements(CMNamedNodeMap elements, boolean isXHTML) {
-			super(isXHTML);
-			makeBuddySystem(elements);
-			addSSIDecls();
-		}
-
-		protected String getKeyName(CMNode original) {
-			CMElementDeclaration edecl = getDecl(original);
-			if (edecl == null)
-				return null;
-			return edecl.getElementName();
-		}
-
-		protected CMNode createBuddySystem(CMNode original) {
-			CMElementDeclaration edecl = getDecl(original);
-			return new CMElementDeclarationBuddySystem(edecl, isXHTML());
-		}
-
-		private CMElementDeclaration getDecl(CMNode cmnode) {
-			if (cmnode == null)
-				return null;
-			if (cmnode.getNodeType() != CMNode.ELEMENT_DECLARATION)
-				return null;
-			return (CMElementDeclaration) cmnode;
-		}
-
-		private void addSSIDecls() {
-			CMDocument ssi = SSICMDocumentFactory.getCMDocument();
-			if (ssi == null)
-				return;
-			CMNamedNodeMap elements = ssi.getElements();
-			Iterator i = elements.iterator();
-			while (i.hasNext()) {
-				CMElementDeclaration decl = (CMElementDeclaration) i.next();
-				if (decl == null)
-					continue;
-				put(decl.getElementName(), decl);
-			}
-		}
-	}
-
-	private Elements elements = null;
-
-	public CMDocumentForBuddySystem(CMDocument self, boolean isXHTML) {
-		super(self, getHTMLCMDocument(), isXHTML);
-	}
-
-	/*
-	 * @see CMDocument#getElements()
-	 */
-	public CMNamedNodeMap getElements() {
-		if (elements != null)
-			return elements;
-		CMDocument cmdoc = getSelf();
-		if (cmdoc == null)
-			return null;
-		elements = new Elements(cmdoc.getElements(), isXHTML);
-		return elements;
-	}
-
-	/*
-	 * @see CMDocument#getEntities()
-	 */
-	public CMNamedNodeMap getEntities() {
-		CMDocument cmdoc = getSelf();
-		if (cmdoc == null)
-			return null;
-		return cmdoc.getEntities();
-	}
-
-	/*
-	 * @see CMDocument#getNamespace()
-	 */
-	public CMNamespace getNamespace() {
-		CMDocument cmdoc = getSelf();
-		if (cmdoc == null)
-			return null;
-		return cmdoc.getNamespace();
-	}
-
-	private CMDocument getSelf() {
-		if (self.getNodeType() != CMNode.DOCUMENT)
-			return null;
-		return (CMDocument) self;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMElementDeclarationBuddySystem.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMElementDeclarationBuddySystem.java
deleted file mode 100644
index 030b4f4..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMElementDeclarationBuddySystem.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.sse.core.contentmodel.CMDocType;
-
-/**
- */
-class CMElementDeclarationBuddySystem extends CMNodeBuddySystem implements CMElementDeclaration {
-
-
-	private static CMDocument htmlcm = HTMLCMDocumentFactory.getCMDocument(CMDocType.HTML_DOC_TYPE);
-
-	private static CMElementDeclaration getHTMLCMElemDecl(CMElementDeclaration original) {
-		CMElementDeclaration buddy = null;
-		if (htmlcm != null) {
-			CMNamedNodeMap elems = htmlcm.getElements();
-			if (elems != null) {
-				buddy = (CMElementDeclaration) elems.getNamedItem(original.getElementName());
-			}
-		}
-		return buddy;
-	}
-
-	private class Attrs extends CMNamedNodeMapForBuddySystem {
-		private CMNamedNodeMap buddyAttrs = null;
-
-		public Attrs(CMNamedNodeMap attrs, CMNamedNodeMap buddyAttrs, boolean isXHTML) {
-			super(isXHTML);
-			this.buddyAttrs = buddyAttrs;
-			makeBuddySystem(attrs);
-		}
-
-		protected String getKeyName(CMNode original) {
-			CMAttributeDeclaration adecl = getDecl(original);
-			if (adecl == null)
-				return null;
-			return adecl.getAttrName();
-		}
-
-		protected CMNode createBuddySystem(CMNode original) {
-			CMAttributeDeclaration adecl = getDecl(original);
-			if (adecl == null)
-				return null;
-			CMAttributeDeclaration buddy = null;
-			if (buddyAttrs != null) {
-				buddy = (CMAttributeDeclaration) buddyAttrs.getNamedItem(adecl.getAttrName());
-			}
-			return new CMAttributeDeclarationBuddySystem(adecl, buddy, isXHTML());
-		}
-
-		private CMAttributeDeclaration getDecl(CMNode cmnode) {
-			if (cmnode == null)
-				return null;
-			if (cmnode.getNodeType() != CMNode.ATTRIBUTE_DECLARATION)
-				return null;
-			return (CMAttributeDeclaration) cmnode;
-		}
-	}
-
-	private Attrs attributes = null;
-
-	public CMElementDeclarationBuddySystem(CMElementDeclaration self, boolean isXHTML) {
-		super(self, getHTMLCMElemDecl(self), isXHTML);
-	}
-
-	/*
-	 * @see CMElementDeclaration#getAttributes()
-	 */
-	public CMNamedNodeMap getAttributes() {
-		if (attributes != null)
-			return attributes;
-		CMElementDeclaration edecl = getSelf();
-		if (edecl == null)
-			return null;
-		CMElementDeclaration htmlDecl = getBuddy();
-		CMNamedNodeMap htmlAttrs = (htmlDecl == null) ? null : htmlDecl.getAttributes();
-		attributes = new Attrs(edecl.getAttributes(), htmlAttrs, isXHTML);
-		return attributes;
-	}
-
-	/*
-	 * @see CMElementDeclaration#getContent()
-	 */
-	public CMContent getContent() {
-		CMElementDeclaration edecl = getSelf();
-		if (edecl == null)
-			return null;
-		return edecl.getContent();
-	}
-
-	/*
-	 * @see CMElementDeclaration#getContentType()
-	 */
-	public int getContentType() {
-		CMElementDeclaration edecl = getSelf();
-		if (edecl == null)
-			return CMElementDeclaration.ANY;
-		return edecl.getContentType();
-	}
-
-	/*
-	 * @see CMElementDeclaration#getElementName()
-	 */
-	public String getElementName() {
-		CMElementDeclaration edecl = getSelf();
-		if (edecl == null)
-			return null;
-		return edecl.getElementName();
-	}
-
-	/*
-	 * @see CMElementDeclaration#getDataType()
-	 */
-	public CMDataType getDataType() {
-		CMElementDeclaration edecl = getSelf();
-		if (edecl == null)
-			return null;
-		return edecl.getDataType();
-	}
-
-	/*
-	 * @see CMElementDeclaration#getLocalElements()
-	 */
-	public CMNamedNodeMap getLocalElements() {
-		CMElementDeclaration edecl = getSelf();
-		if (edecl == null)
-			return null;
-		return edecl.getLocalElements();
-	}
-
-	/*
-	 * @see CMContent#getMaxOccur()
-	 */
-	public int getMaxOccur() {
-		CMElementDeclaration edecl = getSelf();
-		if (edecl == null)
-			return -1;
-		return edecl.getMaxOccur();
-	}
-
-	/*
-	 * @see CMContent#getMinOccur()
-	 */
-	public int getMinOccur() {
-		CMElementDeclaration edecl = getSelf();
-		if (edecl == null)
-			return -1;
-		return edecl.getMinOccur();
-	}
-
-	/*
-	 * @see CMNode#supports(String)
-	 */
-	public boolean supports(String propertyName) {
-		if (isXHTML && propertyName.equals(HTMLCMProperties.OMIT_TYPE))
-			return true;
-		return super.supports(propertyName);
-	}
-
-	/*
-	 * @see CMNode#getProperty(String)
-	 */
-	public Object getProperty(String propertyName) {
-		if (isXHTML && propertyName.equals(HTMLCMProperties.OMIT_TYPE))
-			return HTMLCMProperties.Values.OMIT_NONE;
-		return super.getProperty(propertyName);
-	}
-
-	private CMElementDeclaration getSelf() {
-		if (self.getNodeType() != CMNode.ELEMENT_DECLARATION)
-			return null;
-		return (CMElementDeclaration) self;
-	}
-
-	private CMElementDeclaration getBuddy() {
-		if (buddy == null)
-			return null;
-		if (buddy.getNodeType() != CMNode.ELEMENT_DECLARATION)
-			return null;
-		return (CMElementDeclaration) buddy;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMNamedNodeMapForBuddySystem.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMNamedNodeMapForBuddySystem.java
deleted file mode 100644
index 0969a93..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMNamedNodeMapForBuddySystem.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- */
-abstract class CMNamedNodeMapForBuddySystem implements CMNamedNodeMap {
-
-
-	private boolean isXHTML = false;
-	private Hashtable map = new Hashtable();
-
-	/**
-	 * Constructor of CMNamedNodeMapForBuddySystem.
-	 * CAUTION: Each derived class must call 'makeBuddySystem' method in its
-	 * constructor to build up its contents.
-	 */
-	public CMNamedNodeMapForBuddySystem(boolean isXHTML) {
-		super();
-		this.isXHTML = isXHTML;
-	}
-
-	/*
-	 * @see CMNamedNodeMap#getLength()
-	 */
-	public int getLength() {
-		return map.size();
-	}
-
-	/*
-	 * @see CMNamedNodeMap#getNamedItem(String)
-	 */
-	public CMNode getNamedItem(String name) {
-		String key = canonicalName(name);
-		if (!map.containsKey(key))
-			return null;
-		return (CMNode) map.get(key);
-	}
-
-	/*
-	 * @see CMNamedNodeMap#item(int)
-	 */
-	public CMNode item(int index) {
-		Iterator iter = iterator();
-		while (iter.hasNext()) {
-			Object node = iter.next();
-			if (--index < 0)
-				return (CMNode) node;
-		}
-		return null;
-	}
-
-	/*
-	 * @see CMNamedNodeMap#iterator()
-	 */
-	public Iterator iterator() {
-		return map.values().iterator();
-	}
-
-	/* package scope. */
-	void put(String name, CMNode cmnode) {
-		if (name == null || cmnode == null)
-			return;
-		map.put(canonicalName(name), cmnode);
-	}
-
-	abstract protected String getKeyName(CMNode original);
-
-	abstract protected CMNode createBuddySystem(CMNode original);
-
-	protected boolean isXHTML() {
-		return isXHTML;
-	}
-
-	/**
-	 * Each derived class must call this method in its constructor
-	 * to build up its contents.
-	 */
-	protected void makeBuddySystem(CMNamedNodeMap original) {
-		Iterator i = original.iterator();
-		if (i == null)
-			return;
-		while (i.hasNext()) {
-			CMNode org = (CMNode) i.next();
-			String key = getKeyName(org);
-			CMNode newNode = createBuddySystem(org);
-			put(key, newNode);
-		}
-	}
-
-	private String canonicalName(String name) {
-		return name.toUpperCase();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMNodeBuddySystem.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMNodeBuddySystem.java
deleted file mode 100644
index 908b7e1..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/CMNodeBuddySystem.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-
-/**
- */
-class CMNodeBuddySystem implements CMNode {
-
-
-	protected boolean isXHTML = false;
-	protected CMNode self = null;
-	protected CMNode buddy = null;
-
-	public CMNodeBuddySystem(CMNode self, CMNode buddy, boolean isXHTML) {
-		super();
-		this.self = self;
-		this.buddy = buddy;
-		this.isXHTML = isXHTML;
-	}
-
-	/*
-	 * @see CMNode#getNodeName()
-	 */
-	public String getNodeName() {
-		return self.getNodeName();
-	}
-
-	/*
-	 * @see CMNode#getNodeType()
-	 */
-	public int getNodeType() {
-		return self.getNodeType();
-	}
-
-	/*
-	 * @see CMNode#supports(String)
-	 */
-	public boolean supports(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return true;
-		if (propertyName.equals(HTMLCMProperties.IS_XHTML))
-			return true;
-		if (buddy == null)
-			return false;
-		return buddy.supports(propertyName);
-	}
-
-	/*
-	 * @see CMNode#getProperty(String)
-	 */
-	public Object getProperty(String propertyName) {
-		if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) {
-			return new Boolean(!isXHTML);
-		}
-		if (propertyName.equals(HTMLCMProperties.IS_XHTML)) {
-			return new Boolean(isXHTML);
-		}
-
-		if (buddy == null || (!buddy.supports(propertyName)))
-			return null;
-		return buddy.getProperty(propertyName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/DocumentQuery.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/DocumentQuery.java
deleted file mode 100644
index 4613395..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/DocumentQuery.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.ranges.Range;
-
-/**
- */
-public interface DocumentQuery {
-
-	/**
-	 * isRenderRoot() returns true if - node is BODY element (both explicit
-	 * and implicit) - node is portalhtml:body element - node is Document node
-	 * and the document is treated as fragment (with BODY context) Note that
-	 * in editing a fragment file, Document node should be treated as a
-	 * substitute of BODY element.
-	 */
-	boolean isRenderRoot(Node node);
-
-	/**
-	 * isHeadCorrespondent() returns true if - node is HEAD element (both
-	 * explicit and implicit) - node is portalhtml:head element - node is
-	 * Document node and the document is treated as fragment (with HEAD
-	 * context) Note that in editing a fragment file (with HEAD context),
-	 * Document node should be treated as a substitute of HEAD element.
-	 */
-	boolean isHeadCorrespondent(Node node);
-
-	/**
-	 * Implicit BODY element will be gone in V6 SED model. So page designer
-	 * provides an API to get a range whose content nodes are rendered in
-	 * design view. getRenderRootRange() returns - a range from BODY's first
-	 * to its last (if the document has BODY element) - a range form
-	 * Document's first to its last (if the document is fragment with BODY
-	 * context) - null (if the document is fragment with HEAD context) [The
-	 * following cases will be supported since V6] - a range from a custom
-	 * tag's first to its last (if the document has a custom tag which
-	 * generates BODY element at runtime) - a range from Document's
-	 * appropirate offset to its last (if the document does not have explicit
-	 * BODY/HTML) - a range from HTML element's appropriate offset to its last
-	 * (if the document does not have explicit BODY but have explicit HTML)
-	 * 
-	 * @param doc
-	 * @return
-	 */
-	Range getRenderRootRange(Document doc);
-
-	/**
-	 * Implicit HEAD element will be gone in V6 SED model. So page designer
-	 * provides an API to get a range whose content nodes are treated as HEAD
-	 * element's child. getHeadCorrespondentRange() returns - a range from
-	 * HEAD's first to its last (if the document has HEAD element) - a range
-	 * form Document's first to its last (if the document is fragment with
-	 * HEAD context) - null (if the document is fragment with BODY context)
-	 * [The following cases will be supported since V6] - a range from a
-	 * custom tag's first to its last (if the document has a custom tag which
-	 * generates HEAD element at runtime) - a range from Document's first to
-	 * appropirate offset (if the document does not have explicit HEAD/HTML) -
-	 * a range from HTML element's first to appropriate offset (if the
-	 * document does not have explicit HEAD but have explicit HTML)
-	 * 
-	 * @param doc
-	 * @return
-	 */
-	Range getHeadCorrespondentRange(Document doc);
-
-	/**
-	 * getRenderRootNode() with [create=false] returns - BODY element if this
-	 * document is not fragment and has BODY element - null if this document
-	 * is not fragment and does not have BODY element - Document node if this
-	 * document is fragment with BODY context - null if this document is
-	 * fragment with HEAD context [The following cases will be supported since
-	 * V6] - a custom tag which generates BODY tag at runtime - Document node
-	 * or HTML element if this document is not fragment but does not have
-	 * explicit BODY element getRenderRootNode() with [create=true] returns -
-	 * BODY element if this document is not fragment and has BODY element (no
-	 * modifictation) - newly created BODY element if this document is not
-	 * fragment but does not have BODY element - Document node if this
-	 * document is fragment with BODY context (no modifictation) [The
-	 * following cases will be supported since V6] - a custom tag which
-	 * generates BODY tag at runtime (no modifictation) - newly created BODY
-	 * element if this document is not fragment but does not have explicit
-	 * BODY element getRenderRootNode() throws HTMLCommandException (since V6)
-	 * if - this document is fragment with HEAD context and - "create"
-	 * parameter is true Note that in editing a fragment file, Document node
-	 * should be treated as a substitute of BODY element.
-	 * 
-	 * @param childOrDocument
-	 * @param create
-	 * @return
-	 */
-	Node getRenderRootNode(Node childOrDocument, boolean create);
-
-	/**
-	 * getHeadCorrespondentNode() with [create=false] returns - HEAD element
-	 * if this document is not fragment and has HEAD element - null if this
-	 * document is not fragment and does not have HEAD element - Document node
-	 * if this document is fragment with HEAD context - null if this document
-	 * is fragment with BODY context [The following cases will be supported
-	 * since V6] - a custom tag which generates HEAD tag at runtime - Document
-	 * node or HTML element if this document is not fragment but does not have
-	 * explicit HEAD element getHeadCorrespondentNode() with [create=true]
-	 * returns - HEAD element if this document is not fragment and has HEAD
-	 * element (no modifictation) - newly created HEAD element if this
-	 * document is not fragment but does not have HEAD element - Document node
-	 * if this document is fragment with HEAD context (no modifictation) [The
-	 * following cases will be supported since V6] - a custom tag which
-	 * generates HEAD tag at runtime (no modifictation) - newly created HEAD
-	 * element if this document is not fragment but does not have explicit
-	 * HEAD element getHeadCorrespondentNode() throws HTMLCommandException
-	 * (since V6) if - this document is fragment with BODY context and -
-	 * "create" parameter is true Note that in editing a fragment file,
-	 * Document node should be treated as a substitute of HEAD element.
-	 * 
-	 * @param childOrDocument
-	 * @param create
-	 * @return
-	 */
-	Node getHeadCorrespondentNode(Node childOrDocument, boolean create);
-
-	/**
-	 * getHtmlCorrespondentNode() throws HTMLCommandException (since V6) if -
-	 * this document is fragment and "create" parameter is true
-	 * 
-	 * @param childOrDocument
-	 * @param create
-	 * @return
-	 */
-	Node getHtmlCorrespondentNode(Node childOrDocument, boolean create);
-
-	/**
-	 * This inner class is intended for insertion target. please use this like
-	 * the following : DocumentQuery.InsertionTarget ins;
-	 * ins.getParent().insertBefore(youInsertionNode, ins.getRef());
-	 */
-	public class InsertionTarget {
-		private final Node parent;
-		private final Node ref;
-
-		public InsertionTarget(Node parent, Node ref) {
-			this.parent = parent;
-			this.ref = ref;
-		}
-
-		public Node getParent() {
-			return parent;
-		}
-
-		public Node getRef() {
-			return ref;
-		}
-	}
-
-	/**
-	 * getHeadInsertionTarget() returns appropriate insetion target location
-	 * for HEAD child tags such as <script>, <style>, <meta>etc. Basically
-	 * this function returns <HEAD>tag's the last position. Note that this
-	 * would not create actual <HEAD>tag when the document does not have it.
-	 * <HEAD>is omittable tag so this function returns appropriate position
-	 * to which implicit <HEAD>can be inserted, if the document has no
-	 * <HEAD>.
-	 * 
-	 * @param doc
-	 * @return
-	 */
-	InsertionTarget getHeadInsertionTarget(Document doc);
-
-	/**
-	 * getPageInsertionTarget() returns appropriate insetion target location
-	 * for page-level markups, such as JSP directives, usebean tags or <html>
-	 * tag. Basically this function returns just before <HTML>tag. Note that
-	 * this would not create actual <HTML>tag when the document does not have
-	 * it. In such case, this function returns a position just before the
-	 * meaningful tags such as HTML/JSP elements.
-	 * 
-	 * @param doc
-	 * @return
-	 */
-	InsertionTarget getPageInsertionTarget(Document doc);
-
-	/**
-	 * isFragment() returns whether the document is fragment or complete
-	 * document
-	 * 
-	 * @param doc
-	 * @return
-	 */
-	boolean isFragment(Document doc);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ElementDeclarationAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ElementDeclarationAdapter.java
deleted file mode 100644
index 60545fe..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ElementDeclarationAdapter.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.sse.core.INodeAdapter;
-
-/**
- */
-public interface ElementDeclarationAdapter extends INodeAdapter {
-
-	/**
-	 */
-	CMElementDeclaration getDeclaration();
-
-	/**
-	 */
-	void setDeclaration(CMElementDeclaration declaration);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ElementDeclarationAdapterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ElementDeclarationAdapterFactory.java
deleted file mode 100644
index 992ad77..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ElementDeclarationAdapterFactory.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-
-/**
- */
-public class ElementDeclarationAdapterFactory implements AdapterFactory {
-
-	private static ElementDeclarationAdapterFactory instance = null;
-
-	/**
-	 */
-	private ElementDeclarationAdapterFactory() {
-		super();
-	}
-
-	/**
-	 */
-	public INodeAdapter adapt(INodeNotifier notifier) {
-		if (notifier == null)
-			return null;
-		INodeAdapter adapter = notifier.getExistingAdapter(ElementDeclarationAdapter.class);
-		if (adapter != null)
-			return adapter;
-		adapter = new HTMLElementDeclarationAdapter();
-		notifier.addAdapter(adapter);
-		return adapter;
-	}
-
-	/**
-	 */
-	public synchronized static ElementDeclarationAdapterFactory getInstance() {
-		if (instance == null)
-			instance = new ElementDeclarationAdapterFactory();
-		return instance;
-	}
-
-	/**
-	 */
-	public boolean isFactoryForType(Object type) {
-		return (type == ElementDeclarationAdapter.class);
-	}
-
-	public void release() {
-		// default is to do nothing
-	}
-
-	/**
-	 * Overriding copy method
-	 */
-	public AdapterFactory copy() {
-		return getInstance();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HMQUtil.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HMQUtil.java
deleted file mode 100644
index 38574c3..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HMQUtil.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public final class HMQUtil {
-
-	private final static Vector nullVector = new Vector();
-
-	/* HMQUtil class must not instantiate. */
-	private HMQUtil() {
-		super();
-	}
-
-	/* gather all element declarations in inclusion of each parent of the target. 
-	 * the inclusion of the target is also gathered. */
-	public static Collection getInclusions(Element target) {
-		if (target == null)
-			return nullVector;
-		Collection inclusions = gatherInclusions(getAncestorDeclarations(target));
-
-		Hashtable availables = new Hashtable();
-		Iterator iter = inclusions.iterator();
-		while (iter.hasNext()) {
-			CMContent inclusion = (CMContent) iter.next();
-			switch (inclusion.getNodeType()) {
-				case CMNode.GROUP :
-					extractDeclarations(availables, (CMGroup) inclusion);
-					break;
-				case CMNode.ELEMENT_DECLARATION :
-					addInclusion(availables, (CMElementDeclaration) inclusion);
-					break;
-			}
-		}
-
-		return availables.values();
-	}
-
-	private static Collection getAncestorDeclarations(Element target) {
-		Vector ancestors = new Vector();
-
-		Document doc = target.getOwnerDocument();
-		ModelQuery query = ModelQueryUtil.getModelQuery(doc);
-		CMElementDeclaration decl = query.getCMElementDeclaration(target);
-		ancestors.add(decl);
-
-		Element parent = getParent(target);
-		while (parent != null) {
-			decl = query.getCMElementDeclaration(parent);
-			if (decl != null)
-				ancestors.add(decl);
-			parent = getParent(parent);
-		}
-		return ancestors;
-	}
-
-	private static void addInclusion(Hashtable availables, CMElementDeclaration decl) {
-		String name = decl.getElementName();
-		if (availables.containsKey(name))
-			return;
-		availables.put(name, decl);
-	}
-
-	private static Collection gatherInclusions(Collection ancestors) {
-		Vector inclusions = new Vector();
-		Iterator iter = ancestors.iterator();
-		while (iter.hasNext()) {
-			CMElementDeclaration decl = (CMElementDeclaration) iter.next();
-			if (decl.supports(HTMLCMProperties.INCLUSION)) {
-				CMContent inclusion = (CMContent) decl.getProperty(HTMLCMProperties.INCLUSION);
-				if (inclusion != null)
-					inclusions.add(inclusion);
-			}
-		}
-		return inclusions;
-	}
-
-	private static Element getParent(Node target) {
-		Node parent = target.getParentNode();
-		while (parent != null) {
-			if (parent.getNodeType() == Node.ELEMENT_NODE)
-				return (Element) parent;
-			parent = parent.getParentNode();
-		}
-		return null;
-	}
-
-	private static void extractDeclarations(Hashtable availables, CMGroup group) {
-		CMNodeList content = group.getChildNodes();
-		for (int i = 0; i < content.getLength(); i++) {
-			CMNode cmn = content.item(i);
-			if (cmn == null || cmn.getNodeType() != CMNode.ELEMENT_DECLARATION)
-				continue;
-			addInclusion(availables, (CMElementDeclaration) cmn);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLElementDeclarationAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLElementDeclarationAdapter.java
deleted file mode 100644
index 0774d88..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLElementDeclarationAdapter.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.sse.core.INodeNotifier;
-
-/**
- */
-public class HTMLElementDeclarationAdapter implements ElementDeclarationAdapter {
-
-	private CMElementDeclaration declaration = null;
-
-	/**
-	 */
-	public HTMLElementDeclarationAdapter() {
-		super();
-	}
-
-	/**
-	 */
-	public CMElementDeclaration getDeclaration() {
-		return this.declaration;
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == ElementDeclarationAdapter.class);
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	/**
-	 */
-	public void setDeclaration(CMElementDeclaration declaration) {
-		this.declaration = declaration;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryAssociationProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryAssociationProvider.java
deleted file mode 100644
index 6161a17..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryAssociationProvider.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.SimpleAssociationProvider;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-
-/**
- */
-public class HTMLModelQueryAssociationProvider extends SimpleAssociationProvider {
-
-	/**
-	 * @param modelQueryCMProvider org.eclipse.wst.common.contentmodel.modelquery.ModelQueryCMProvider
-	 */
-	public HTMLModelQueryAssociationProvider(CMDocumentCache cache, IdResolver idResolver) {
-		super(new HTMLModelQueryCMProvider(cache, idResolver));
-	}
-
-	// MIWA: We cannot cache a CMElementDeclaration any more.  Because, when the DOCTYPE
-	// was changed, CMDocument would be changed.  Then, a cached CMElementDeclaration
-	// would be invalid.  If some performance problems occurs, we consider a smarter
-	// cache mechanism.
-	//
-	//	public CMElementDeclaration getCMElementDeclaration(Element element) {
-	//		// check if element declaration is cached
-	//		INodeNotifier notifier = (INodeNotifier) element;
-	//		ElementDeclarationAdapter adapter = (ElementDeclarationAdapter) notifier.getExistingAdapter(ElementDeclarationAdapter.class);
-	//		if (adapter != null)
-	//			return adapter.getDeclaration();
-	//
-	//		CMElementDeclaration decl = super.getCMElementDeclaration(element);
-	//
-	//		// cache HTML element declaration only
-	//		if (decl != null && decl instanceof HTMLElementDeclaration) {
-	//			AdapterFactory factory = ElementDeclarationAdapterFactory.getInstance();
-	//			adapter = (ElementDeclarationAdapter) factory.adapt(notifier);
-	//			if (adapter != null)
-	//				adapter.setDeclaration(decl);
-	//		}
-	//
-	//		return decl;
-	//	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryCMProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryCMProvider.java
deleted file mode 100644
index c5c11ce..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryCMProvider.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-import java.util.Hashtable;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQueryCMProvider;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeEntry;
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeRegistry;
-import org.eclipse.wst.sse.core.contentmodel.CMDocType;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Node;
-
-/**
- * CMDocument provider for HTML and XHTML documents.
- */
-public class HTMLModelQueryCMProvider implements ModelQueryCMProvider {
-
-
-	private static CMDocument staticHTML = HTMLCMDocumentFactory.getCMDocument(CMDocType.HTML_DOC_TYPE);
-	private static CMDocument staticCHTML = HTMLCMDocumentFactory.getCMDocument(CMDocType.CHTML_DOC_TYPE);
-	private static HTMLDocumentTypeRegistry doctypeRegistry = HTMLDocumentTypeRegistry.getInstance();
-	private static Hashtable buddyCache = new Hashtable();
-
-	private XHTMLAssociationProvider xhtmlassoc = null;
-
-	public HTMLModelQueryCMProvider(CMDocumentCache cache, IdResolver idResolver) {
-		super();
-		xhtmlassoc = new XHTMLAssociationProvider(cache, idResolver);
-	}
-
-	/**
-	 * Returns the CMDocument that corresponds to the DOM Node.
-	 * or null if no CMDocument is appropriate for the DOM Node.
-	 */
-	public CMDocument getCorrespondingCMDocument(Node node) {
-		XMLDocument owner = getOwnerXMLDocument(node);
-		if (owner == null)
-			return null;
-
-		String pid = getPublicId(owner);
-		if (pid == null)
-			return staticHTML;
-
-		HTMLDocumentTypeEntry entry = doctypeRegistry.getEntry(pid);
-		if (entry == null)
-			return staticHTML;
-
-		pid = entry.getPublicId();
-		CMDocument dtdcm = xhtmlassoc.getXHTMLCMDocument(pid, entry.getSystemId());
-		if (dtdcm == null) {
-			if (pid != null && pid.equals(HTMLDocumentTypeRegistry.CHTML_PUBLIC_ID)) {
-				return staticCHTML;
-			}
-			return staticHTML;
-		}
-
-		CMDocument buddycm = (CMDocument) buddyCache.get(pid);
-		if (buddycm != null)
-			return buddycm;
-
-		buddycm = new CMDocumentForBuddySystem(dtdcm, entry.isXMLType());
-		buddyCache.put(pid, buddycm);
-		return buddycm;
-	}
-
-	// private methods
-	private XMLDocument getOwnerXMLDocument(Node node) {
-		if (node == null)
-			return null;
-		Document owner = (node.getNodeType() == Node.DOCUMENT_NODE) ? (Document) node : node.getOwnerDocument();
-		if (owner == null)
-			return null;
-		if (!(owner instanceof XMLDocument))
-			return null;
-		return (XMLDocument) owner;
-	}
-
-	private String getPublicId(XMLDocument doc) {
-		if (doc == null)
-			return null;
-		DocumentType doctype = doc.getDoctype();
-		return (doctype != null) ? doctype.getPublicId() : doc.getDocumentTypeId();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryImpl.java
deleted file mode 100644
index 3e3b9a7..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryImpl.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.ModelQueryImpl;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.sse.core.modelquery.MovableModelQuery;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class HTMLModelQueryImpl extends ModelQueryImpl implements MovableModelQuery {
-
-	protected CMDocumentCache fCache = null;
-
-	public HTMLModelQueryImpl(CMDocumentCache cache, IdResolver idResolver) {
-		super(new HTMLModelQueryAssociationProvider(cache, idResolver));
-		fCache = cache;
-	}
-
-	public List getAvailableContent(Element element, CMElementDeclaration ed, int includeOptions) {
-		List originalCandidates = super.getAvailableContent(element, ed, includeOptions);
-		if ((includeOptions & INCLUDE_CHILD_NODES) == 0)
-			return originalCandidates;
-		// When the target document is XHTML, it is waste to find inclusions,
-		// since inclusion is available in HTML only.
-		if (!ed.supports(HTMLCMProperties.IS_XHTML))
-			return originalCandidates;
-		
-		Boolean isXhtml = Boolean.FALSE;
-		isXhtml = (Boolean) ed.getProperty(HTMLCMProperties.IS_XHTML);
-		if (isXhtml != null && isXhtml.booleanValue())
-			return originalCandidates;
-
-		// OK, the target is surely a HTML element, so it may have inclusion.
-		// Try to find it.
-		Vector candidates = new Vector(originalCandidates);
-
-		switch (ed.getContentType()) {
-			case CMElementDeclaration.ANY :
-			case CMElementDeclaration.ELEMENT :
-			case CMElementDeclaration.MIXED :
-				// do enumerate inclusions.
-				candidates.addAll(HMQUtil.getInclusions(element));
-				break;
-			case CMElementDeclaration.EMPTY :
-			case CMElementDeclaration.PCDATA :
-			case CMElementDeclaration.CDATA :
-			default :
-				// should not add any inclusions.
-				// so, nothing to do here.
-				break;
-		}
-		// If the current element does not available, it is impossible
-		// to filter out exclusion.
-		if (element == null)
-			return candidates;
-
-		// Now, the time to check exclusion.
-		Vector content = new Vector(candidates.size());
-		for (int i = 0; i < candidates.size(); i++) {
-			CMElementDeclaration candidate = (CMElementDeclaration) candidates.elementAt(i);
-			if (candidate == null)
-				continue;
-			if (isExcluded(candidate, element))
-				continue;
-			content.add(candidate);
-		}
-
-		return content;
-	}
-
-	/**
-	 * @see MovableModelQuery#setIdResolver(IdResolver)
-	 */
-	public void setIdResolver(IdResolver newIdResolver) {
-		modelQueryAssociationProvider = new HTMLModelQueryAssociationProvider(fCache, newIdResolver);
-	}
-
-	// utilities
-	private static boolean isExcluded(CMElementDeclaration candidate, Element target) {
-		CMNamedNodeMap prohibited = getProhibitedAncestors(candidate);
-		if (prohibited == null)
-			return false;
-		Element parent = target;
-		while (parent != null) {
-			CMNode pdec = prohibited.getNamedItem(parent.getNodeName());
-			if (pdec != null)
-				return true;
-			parent = getExplicitParentElement(parent);
-		}
-		return false;
-	}
-
-	private static CMNamedNodeMap getProhibitedAncestors(CMElementDeclaration dec) {
-		if (!dec.supports(HTMLCMProperties.PROHIBITED_ANCESTORS))
-			return null;
-		return (CMNamedNodeMap) dec.getProperty(HTMLCMProperties.PROHIBITED_ANCESTORS);
-	}
-
-	/* get an ancestor element ignoring implicit ones. */
-	private static Element getExplicitParentElement(Node child) {
-		if (child == null)
-			return null;
-
-		Node p = child.getParentNode();
-		while (p != null) {
-			if (p.getNodeType() == Node.ELEMENT_NODE) {
-				if (p instanceof XMLElement) {
-					if (((XMLElement) p).isImplicitTag()) {
-						p = p.getParentNode();
-						continue;
-					}
-				}
-				return (Element) p;
-			}
-			p = p.getParentNode();
-		}
-		return null;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForEmbeddedHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForEmbeddedHTML.java
deleted file mode 100644
index 241e86d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForEmbeddedHTML.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-
-public class ModelQueryAdapterFactoryForEmbeddedHTML extends ModelQueryAdapterFactoryForHTML {
-
-
-	/**
-	 * Constructor for ModelQueryAdapterFactoryForEmbeddedHTML.
-	 */
-	public ModelQueryAdapterFactoryForEmbeddedHTML() {
-		this(ModelQueryAdapter.class, false);
-	}
-
-	/**
-	 * Constructor for ModelQueryAdapterFactoryForEmbeddedHTML.
-	 * @param adapterKey
-	 * @param registerAdapters
-	 */
-	protected ModelQueryAdapterFactoryForEmbeddedHTML(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.core.AdapterFactory#adapt(INodeNotifier)
-	 */
-	public INodeAdapter adapt(INodeNotifier object) {
-		if (object == null)
-			return null;
-		return adaptNew(object);
-	}
-
-	public Object clone() throws CloneNotSupportedException {
-
-		return new ModelQueryAdapterFactoryForEmbeddedHTML(this.adapterKey, this.shouldRegisterAdapter);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForHTML.java
deleted file mode 100644
index 994e939..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForHTML.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.IModelStateListener;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapterImpl;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.XMLCatalogIdResolver;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-
-/**
- * Creates a ModelQueryAdapter for HTML models
- */
-public class ModelQueryAdapterFactoryForHTML extends AbstractAdapterFactory implements IModelStateListener {
-
-	protected ModelQueryAdapterImpl modelQueryAdapterImpl;
-	protected IStructuredModel stateNotifier = null;
-
-	/**
-	 * ModelQueryAdapterFactoryForHTML constructor comment.
-	 */
-	public ModelQueryAdapterFactoryForHTML() {
-		this(ModelQueryAdapter.class, true);
-	}
-
-	/**
-	 * ModelQueryAdapterFactoryForHTML constructor comment.
-	 * 
-	 * @param adapterKey
-	 *            java.lang.Object
-	 * @param registerAdapters
-	 *            boolean
-	 */
-	public ModelQueryAdapterFactoryForHTML(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	/**
-	 * createAdapter method comment.
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-
-		if (Debug.displayInfo)
-			System.out.println("-----------------------ModelQueryAdapterFactoryForHTML.createAdapter" + target); //$NON-NLS-1$
-		if (modelQueryAdapterImpl == null) {
-			if (target instanceof XMLNode) {
-				XMLNode xmlNode = (XMLNode) target;
-				IStructuredModel model = stateNotifier = xmlNode.getModel();
-				stateNotifier.addModelStateListener(this);
-				String baseLocation = null;
-				String modelsBaseLocation = model.getBaseLocation();
-				if (modelsBaseLocation != null) {
-					File file = new Path(modelsBaseLocation).toFile();
-					if (file.exists()) {
-						baseLocation = file.getAbsolutePath();
-					} else {
-						baseLocation = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(modelsBaseLocation).toString();
-					}
-				}
-				if (Debug.displayInfo)
-					System.out.println("----------------ModelQueryAdapterFactoryForHTML... baseLocation : " + baseLocation); //$NON-NLS-1$
-
-				CMDocumentCache cmDocumentCache = new CMDocumentCache();
-				IdResolver idResolver = new XMLCatalogIdResolver(baseLocation, model.getResolver());
-				ModelQuery modelQuery = new HTMLModelQueryImpl(cmDocumentCache, idResolver);
-				modelQuery.setEditMode(ModelQuery.EDIT_MODE_UNCONSTRAINED);
-				modelQueryAdapterImpl = new ModelQueryAdapterImpl(cmDocumentCache, modelQuery, idResolver);
-			}
-		}
-		return modelQueryAdapterImpl;
-	}
-
-	protected void updateResolver(IStructuredModel model) {
-		String baseLocation = model.getBaseLocation();
-		IFile baseFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(model.getBaseLocation()));
-		if (baseFile != null) {
-			baseLocation = baseFile.getLocation().toString();
-		}
-		modelQueryAdapterImpl.setIdResolver(new XMLCatalogIdResolver(baseLocation, model.getResolver()));
-	}
-
-	/**
-	 * @see IModelStateListener#modelAboutToBeChanged(IStructuredModel)
-	 */
-	public void modelAboutToBeChanged(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelChanged(IStructuredModel)
-	 */
-	public void modelChanged(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelDirtyStateChanged(IStructuredModel,
-	 *      boolean)
-	 */
-	public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelResourceDeleted(IStructuredModel)
-	 */
-	public void modelResourceDeleted(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelResourceMoved(IStructuredModel,
-	 *      IStructuredModel)
-	 */
-	public void modelResourceMoved(IStructuredModel oldModel, IStructuredModel newModel) {
-		stateNotifier.removeModelStateListener(this);
-		stateNotifier = newModel;
-		updateResolver(stateNotifier);
-		stateNotifier.addModelStateListener(this);
-	}
-
-	public void release() {
-		super.release();
-		if (stateNotifier != null)
-			stateNotifier.removeModelStateListener(this);
-		stateNotifier = null;
-		if (modelQueryAdapterImpl != null)
-			modelQueryAdapterImpl.release();
-	}
-
-	public AdapterFactory copy() {
-
-		return new ModelQueryAdapterFactoryForHTML(this.adapterKey, this.shouldRegisterAdapter);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/XHTMLAssociationProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/XHTMLAssociationProvider.java
deleted file mode 100644
index fe331c4..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/XHTMLAssociationProvider.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.modelquery;
-
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.XMLAssociationProvider;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.w3c.dom.Document;
-
-/**
- * A Class to provide an association between XHTML documents and DTDs for
- * XHTML. This class is intended to be used only in HTMLModelQueryCMProvider.
- */
-/*
- * This class closely resemble XMLModelQueryAssociationProvider.
- */
-class XHTMLAssociationProvider extends XMLAssociationProvider {
-
-	protected IdResolver idResolver = null;
-	private String fCachedGrammerURI;
-	private String fCachedPublicID;
-	private String fCachedSystemID;
-	private static final boolean USE_QUICK_CACHE = true;
-
-	public XHTMLAssociationProvider(CMDocumentCache cache, IdResolver idResolver) {
-		super(cache);
-		this.idResolver = idResolver;
-	}
-
-	/**
-	 * 
-	 * @param publicId
-	 * @param systemId
-	 * @return
-	 */
-	public CMDocument getXHTMLCMDocument(String publicId, String systemId) {
-		String grammerURI = null;
-		if (USE_QUICK_CACHE) { 
-			// In parsing a document, we get many identiical requests to this
-			// method, so instead of looking up (resolving) grammerURI each
-			// time,
-			// we'll just return previously cached one. Probably not worth
-			// have a
-			// more complex cache than that.
-			if (fCachedGrammerURI != null && fCachedPublicID.equals(publicId) && fCachedSystemID.equals(systemId)) {
-				grammerURI = fCachedGrammerURI;
-			}
-			else {
-				grammerURI = idResolver.resolveId(publicId, systemId);
-				fCachedGrammerURI = grammerURI;
-				fCachedPublicID = publicId;
-				fCachedSystemID = systemId;
-			}
-		}
-		else {
-			grammerURI = idResolver.resolveId(publicId, systemId);
-		}
-
-		if (grammerURI == null)
-			return null;
-		CMDocument cmDocument = documentManager.getCMDocument(publicId, grammerURI);
-		return cmDocument;
-	}
-
-	/**
-	 */
-	protected String resolveGrammarURI(Document document, String publicId, String systemId) {
-		return idResolver.resolveId(publicId, systemId);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/preferences/HTMLContentBuilder.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/preferences/HTMLContentBuilder.java
deleted file mode 100644
index 9edaa8e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/preferences/HTMLContentBuilder.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.preferences;
-
-
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class HTMLContentBuilder extends org.eclipse.wst.common.contentmodel.util.DOMContentBuilderImpl {
-
-	private int fTagCase;
-	private int fAttrCase;
-
-	/**
-	 * DOMContentBuilder constructor comment.
-	 * @param document org.w3c.dom.Document
-	 */
-	public HTMLContentBuilder(Document document) {
-		super(document);
-		Preferences prefs = HTMLCorePlugin.getDefault().getPluginPreferences();
-		fTagCase = prefs.getInt(CommonModelPreferenceNames.TAG_NAME_CASE);
-		fAttrCase = prefs.getInt(CommonModelPreferenceNames.ATTR_NAME_CASE);
-		//	Element caseSettings = HTMLPreferenceManager.getHTMLInstance().getElement(PreferenceNames.PREFERRED_CASE);
-		//	fTagCase = caseSettings.getAttribute(PreferenceNames.TAGNAME);
-		//	fAttrCase = caseSettings.getAttribute(PreferenceNames.ATTRIBUTENAME);
-	}
-
-	public String computeName(CMNode cmnode, Node parent) {
-		String name = super.computeName(cmnode, parent);
-		// don't change the case unless we're certain it is meaningless
-		//	if (cmnode instanceof HTMLCMNode && ((HTMLCMNode) cmnode).shouldIgnoreCase()) {
-		if (shouldIgnoreCase(cmnode)) {
-			if (cmnode.getNodeType() == CMNode.ELEMENT_DECLARATION) {
-				if (fTagCase == CommonModelPreferenceNames.LOWER)
-					name = name.toLowerCase();
-				else if (fTagCase == CommonModelPreferenceNames.UPPER)
-					name = name.toUpperCase();
-				// else do nothing
-			}
-			else if (cmnode.getNodeType() == CMNode.ATTRIBUTE_DECLARATION) {
-				if (fAttrCase == CommonModelPreferenceNames.LOWER)
-					name = name.toLowerCase();
-				else if (fAttrCase == CommonModelPreferenceNames.UPPER)
-					name = name.toUpperCase();
-				// else do nothing
-			}
-		}
-		return name;
-
-	}
-
-	private boolean shouldIgnoreCase(CMNode cmnode) {
-		if (!cmnode.supports(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return false;
-		return ((Boolean) cmnode.getProperty(HTMLCMProperties.SHOULD_IGNORE_CASE)).booleanValue();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/AbstractErrorInfo.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/AbstractErrorInfo.java
deleted file mode 100644
index 5e6ee85..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/AbstractErrorInfo.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-abstract class AbstractErrorInfo implements ErrorInfo, ErrorState {
-
-
-	private int state = NONE_ERROR;
-	private Segment seg = null;
-
-	public AbstractErrorInfo(int state, Segment seg) {
-		super();
-		this.state = state;
-		this.seg = seg;
-	}
-
-	abstract public String getHint();
-
-	abstract public short getTargetType();
-
-	public int getLength() {
-		return (seg == null) ? 0 : seg.getLength();
-	}
-
-	public int getOffset() {
-		return (seg == null) ? 0 : seg.getOffset();
-	}
-
-	public int getState() {
-		return this.state;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CMUtil.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CMUtil.java
deleted file mode 100644
index 38f351d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CMUtil.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.modelquery.HMQUtil;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-final class CMUtil {
-
-	/**
-	 * Never instantiate!
-	 */
-	private CMUtil() {
-		super();
-	}
-
-	/**
-	 * You cannot always retrieve HTMLElementDeclaration via an Element instance.
-	 * Because, it occasionally a JSP custom tag. -- 9/7/2001
-	 */
-	public static CMElementDeclaration getDeclaration(Element target) {
-		Document doc = target.getOwnerDocument();
-		ModelQuery query = ModelQueryUtil.getModelQuery(doc);
-		return query.getCMElementDeclaration(target);
-	}
-
-	/**
-	 */
-	public static boolean isCaseSensitive(CMElementDeclaration decl) {
-		if (decl == null || (!decl.supports(HTMLCMProperties.SHOULD_IGNORE_CASE)))
-			return false;
-		return !((Boolean) decl.getProperty(HTMLCMProperties.SHOULD_IGNORE_CASE)).booleanValue();
-	}
-
-	/**
-	 */
-	private static boolean isChild(CMContent content, CMElementDeclaration target) {
-		switch (content.getNodeType()) {
-			case CMNode.ELEMENT_DECLARATION :
-				if (isWholeTagOmissible((CMElementDeclaration) content))
-					if (isChild(((CMElementDeclaration) content).getContent(), target))
-						return true;
-				return isSameDeclaration((CMElementDeclaration) content, target);
-			case CMNode.GROUP :
-				CMNodeList children = ((CMGroup) content).getChildNodes();
-				for (int i = 0; i < children.getLength(); i++) {
-					CMNode child = children.item(i);
-					switch (child.getNodeType()) {
-						case CMNode.ELEMENT_DECLARATION :
-							if (isWholeTagOmissible((CMElementDeclaration) child))
-								if (isChild(((CMElementDeclaration) child).getContent(), target))
-									return true;
-							if (isSameDeclaration((CMElementDeclaration) child, target))
-								return true;
-							continue; // Go next child.
-						case CMNode.GROUP :
-							if (isChild((CMContent) child, target))
-								return true;
-							continue; // Go next child.
-						default :
-							continue; // Go next child.
-					}
-				}
-		}
-		return false;
-	}
-
-	/**
-	 */
-	public static boolean isEndTagOmissible(CMElementDeclaration decl) {
-		if (!(decl.supports(HTMLCMProperties.OMIT_TYPE)))
-			return false;
-		String omitType = (String) decl.getProperty(HTMLCMProperties.OMIT_TYPE);
-		return !omitType.equals(HTMLCMProperties.Values.OMIT_NONE);
-	}
-
-	/**
-	 */
-	public static boolean isWholeTagOmissible(CMElementDeclaration decl) {
-		if (!(decl.supports(HTMLCMProperties.OMIT_TYPE)))
-			return false;
-		String omitType = (String) decl.getProperty(HTMLCMProperties.OMIT_TYPE);
-		return omitType.equals(HTMLCMProperties.Values.OMIT_BOTH);
-	}
-	
-	/**
-	 */
-	public static boolean isJSP(CMElementDeclaration decl) {
-		if (!decl.supports(HTMLCMProperties.IS_JSP))
-			return false;
-		return ((Boolean) decl.getProperty(HTMLCMProperties.IS_JSP)).booleanValue();
-	}
-
-	/**
-	 */
-	public static boolean isXHTML(CMElementDeclaration decl) {
-		if (!decl.supports(HTMLCMProperties.IS_XHTML))
-			return false;
-		return ((Boolean) decl.getProperty(HTMLCMProperties.IS_XHTML)).booleanValue();
-	}
-
-	/**
-	 * The method to distinguish HTML and XHTML from other mark up.
-	 * This method returns true if the target is,
-	 * (1) not JSP,
-	 * (2) not SSI.
-	 */
-	public static boolean isHTML(CMElementDeclaration decl) {
-		return (!isJSP(decl)) && (!isSSI(decl));
-	}
-
-	/**
-	 */
-	private static boolean isSameDeclaration(CMElementDeclaration aDec, CMElementDeclaration otherDec) {
-		return aDec.getElementName() == otherDec.getElementName();
-	}
-
-	/**
-	 */
-	public static boolean isSSI(CMElementDeclaration edec) {
-		if (edec == null)
-			return false;
-		if (!edec.supports(HTMLCMProperties.IS_SSI))
-			return false;
-		return ((Boolean) edec.getProperty(HTMLCMProperties.IS_SSI)).booleanValue();
-	}
-
-	/**
-	 * Call this method only when the parent content type is one of
-	 * the following: ANY, ELEMENT, or MIXED.
-	 */
-	public static boolean isValidChild(CMElementDeclaration parent, CMElementDeclaration child) {
-		if (parent == null || child == null)
-			return false;
-		if (isHTML(parent) && (!isHTML(child)))
-			return true;
-		CMContent content = parent.getContent();
-		if (content == null)
-			return false;
-		return isChild(content, child);
-	}
-
-	public static boolean isForeign(Element target) {
-		if (!(target instanceof XMLElement))
-			return true;
-		XMLElement element = (XMLElement) target;
-		return !element.isGlobalTag();
-	}
-
-	/**
-	 * This method returns true if all of the following conditions are met:
-	 * (1) value type is ENUM,
-	 * (2) only one value is defined in the enumeration,
-	 * (3) the value has same name to the attribute name.
-	 */
-	public static boolean isBooleanAttr(CMAttributeDeclaration adec) {
-		CMDataType attrtype = adec.getAttrType();
-		if (attrtype == null)
-			return false;
-		if (attrtype.getDataTypeName() != CMDataType.ENUM)
-			return false;
-		String[] values = attrtype.getEnumeratedValues();
-		if (values.length != 1)
-			return false;
-		return values[0].equals(adec.getAttrName());
-	}
-
-	public static boolean isValidInclusion(CMElementDeclaration decl, Element parent) {
-		Iterator iter = HMQUtil.getInclusions(parent).iterator();
-		while (iter.hasNext()) {
-			CMElementDeclaration inclusion = (CMElementDeclaration) iter.next();
-			if (isSameDeclaration(decl, inclusion))
-				return true;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CompositeValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CompositeValidator.java
deleted file mode 100644
index 1c5a601..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CompositeValidator.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.validate.ValidationAdapter;
-import org.eclipse.wst.sse.core.validate.ValidationReporter;
-import org.eclipse.wst.xml.core.internal.validate.ValidationComponent;
-
-abstract class CompositeValidator extends ValidationComponent {
-
-	protected Vector components = new Vector();
-
-	/**
-	 * CompositeValidator constructor comment.
-	 */
-	public CompositeValidator() {
-		super();
-	}
-
-	/**
-	 */
-	public void setReporter(ValidationReporter reporter) {
-		super.setReporter(reporter);
-
-		Iterator i = components.iterator();
-		while (i.hasNext()) {
-			ValidationAdapter component = (ValidationAdapter) i.next();
-			if (component == null)
-				continue;
-			component.setReporter(reporter);
-		}
-	}
-
-	/**
-	 */
-	public void validate(IndexedRegion node) {
-		Iterator i = components.iterator();
-		while (i.hasNext()) {
-			ValidationComponent component = (ValidationComponent) i.next();
-			if (component == null)
-				continue;
-			component.validate(node);
-		}
-	}
-
-	/**
-	 */
-	void add(ValidationComponent validator) {
-		components.add(validator);
-	}
-
-	/**
-	 * This method registers all components in 'validators'.
-	 * Each derivative must call this methid in its constructor.
-	 */
-	protected void register(ValidationComponent[] validators) {
-		for (int i = 0; i < validators.length; i++) {
-			if (validators[i] != null)
-				add(validators[i]);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/DocumentPropagatingValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/DocumentPropagatingValidator.java
deleted file mode 100644
index 51edfcd..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/DocumentPropagatingValidator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.validate.ValidationAdapter;
-import org.eclipse.wst.sse.core.validate.ValidationReporter;
-import org.eclipse.wst.xml.core.internal.validate.AbstractPropagatingValidator;
-import org.eclipse.wst.xml.core.internal.validate.ValidationComponent;
-
-class DocumentPropagatingValidator extends AbstractPropagatingValidator {
-
-
-	private ValidationComponent validator = new HTMLSimpleDocumentValidator();
-	private ElementPropagatingValidator propagatee = new ElementPropagatingValidator();
-
-	public DocumentPropagatingValidator() {
-		super();
-	}
-
-	public void validate(IndexedRegion node) {
-		getPropagatee().setReporter(this.reporter);
-		super.validate(node);
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return (type == DocumentPropagatingValidator.class || super.isAdapterForType(type));
-	}
-
-	public void setReporter(ValidationReporter reporter) {
-		super.setReporter(reporter);
-		validator.setReporter(reporter);
-		propagatee.setReporter(reporter);
-	}
-
-	/**
-	 * @see com.ibm.sed.validate.html.AbstractPropagatingValidator#getPropagatee()
-	 */
-	protected final ValidationComponent getPropagatee() {
-		return propagatee;
-	}
-
-	/**
-	 * @see com.ibm.sed.validate.html.AbstractPropagatingValidator#getValidator()
-	 */
-	protected final ValidationAdapter getValidator() {
-		return validator;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ElementPropagatingValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ElementPropagatingValidator.java
deleted file mode 100644
index bd10b27..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ElementPropagatingValidator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-import org.eclipse.wst.sse.core.validate.ValidationAdapter;
-import org.eclipse.wst.sse.core.validate.ValidationReporter;
-import org.eclipse.wst.xml.core.internal.validate.AbstractPropagatingValidator;
-import org.eclipse.wst.xml.core.internal.validate.ValidationComponent;
-
-class ElementPropagatingValidator extends AbstractPropagatingValidator {
-
-
-	private ValidationComponent validator = new HTMLSimpleValidator();
-
-	public ElementPropagatingValidator() {
-		super();
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return (type == ElementPropagatingValidator.class || super.isAdapterForType(type));
-	}
-
-	public void setReporter(ValidationReporter reporter) {
-		super.setReporter(reporter);
-		validator.setReporter(reporter);
-	}
-
-	/**
-	 * @see com.ibm.sed.validate.html.AbstractPropagatingValidator#getPropagatee()
-	 */
-	protected ValidationComponent getPropagatee() {
-		return this;
-	}
-
-	/**
-	 * @see com.ibm.sed.validate.html.AbstractPropagatingValidator#getValidator()
-	 */
-	protected ValidationAdapter getValidator() {
-		return validator;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ErrorInfo.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ErrorInfo.java
deleted file mode 100644
index 01ce2c0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ErrorInfo.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-
-interface ErrorInfo {
-
-	public String getHint();
-
-	public int getLength();
-
-	public int getOffset();
-
-	public int getState();
-
-	public short getTargetType();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ErrorInfoImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ErrorInfoImpl.java
deleted file mode 100644
index f10294e..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ErrorInfoImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-final class ErrorInfoImpl extends AbstractErrorInfo {
-
-	private Node target = null;
-
-	//	private Segment seg = null;
-	/**
-	 */
-	public ErrorInfoImpl(int state, Segment errorSeg, Node target) {
-		super(state, errorSeg);
-		this.target = target;
-	}
-
-	/**
-	 */
-	public String getHint() {
-		switch (target.getNodeType()) {
-			case Node.ATTRIBUTE_NODE :
-				switch (getState()) {
-					case UNDEFINED_VALUE_ERROR :
-					case MISMATCHED_VALUE_ERROR :
-					case UNCLOSED_ATTR_VALUE :
-						//D210422
-						return ((Attr) target).getValue();
-					default :
-						return target.getNodeName();
-				}
-			case Node.TEXT_NODE :
-				return ((Text) target).getData();
-			case Node.ELEMENT_NODE :
-			default :
-				return target.getNodeName();
-		}
-	}
-
-	public short getTargetType() {
-		return target.getNodeType();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ErrorState.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ErrorState.java
deleted file mode 100644
index 2c0eb26..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/ErrorState.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-
-interface ErrorState {
-	static final int NONE_ERROR = 0;
-	// generic error
-	static final int UNDEFINED_NAME_ERROR = 11;
-	static final int UNDEFINED_VALUE_ERROR = 12;
-	static final int MISMATCHED_VALUE_ERROR = 13;
-	// format error
-	static final int FORMAT_ERROR_LEVEL = 100;
-	static final int INVALID_NAME_ERROR = 101;
-	static final int INVALID_CHAR_ERROR = 102;
-	static final int MISMATCHED_ERROR = 103;
-	static final int MISMATCHED_END_TAG_ERROR = 104;
-	static final int MISSING_START_TAG_ERROR = 105;
-	static final int MISSING_END_TAG_ERROR = 106;
-	static final int UNNECESSARY_END_TAG_ERROR = 107;
-	static final int INVALID_ATTR_ERROR = 108;
-	static final int INVALID_DIRECTIVE_ERROR = 109;
-	static final int UNCLOSED_TAG_ERROR = 110;
-	static final int UNCLOSED_END_TAG_ERROR = 111;
-	static final int INVALID_EMPTY_ELEMENT_TAG = 112;
-	static final int UNCLOSED_ATTR_VALUE = 113; //D210422
-	// layout error
-	static final int LAYOUT_ERROR_LEVEL = 1000;
-	static final int INVALID_CONTENT_ERROR = 1001;
-	static final int DUPLICATE_ERROR = 1002;
-	static final int COEXISTENCE_ERROR = 1003;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/FMUtil.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/FMUtil.java
deleted file mode 100644
index da4f240..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/FMUtil.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-final class FMUtil {
-
-	public final static int SEG_NONE = 0;
-	public final static int SEG_WHOLE_TAG = 1;
-	public final static int SEG_START_TAG = 2;
-	public final static int SEG_END_TAG = 3;
-
-	/**
-	 */
-	private FMUtil() {
-		super();
-	}
-
-	/**
-	 */
-	public final static Segment getSegment(XMLNode target, int segType) {
-		if (target == null)
-			return new Segment(0, 0);
-		Segment seg = null;
-		IStructuredDocumentRegion startTag = null;
-		IStructuredDocumentRegion endTag = null;
-		switch (segType) {
-			case SEG_WHOLE_TAG :
-				startTag = target.getFirstStructuredDocumentRegion();
-				if (startTag != null) {
-					endTag = target.getLastStructuredDocumentRegion();
-					seg = new Segment(startTag, endTag);
-				}
-				else {
-					int startOffset = target.getStartOffset();
-					int endOffset = target.getEndOffset();
-					seg = new Segment(startOffset, endOffset - startOffset);
-				}
-				break;
-			case SEG_START_TAG :
-				startTag = target.getStartStructuredDocumentRegion();
-				if (startTag != null) {
-					seg = new Segment(startTag);
-				}
-				else {
-					seg = new Segment(target.getStartOffset(), 0);
-				}
-				break;
-			case SEG_END_TAG :
-				endTag = target.getEndStructuredDocumentRegion();
-				if (endTag != null) {
-					seg = new Segment(endTag);
-				}
-				else {
-					seg = new Segment(target.getEndOffset(), 0);
-				}
-				break;
-			case SEG_NONE :
-			default :
-				return new Segment(0, 0);
-		}
-		return seg;
-	}
-
-	/**
-	 */
-	public final static boolean hasJSPRegion(ITextRegion container) {
-		if (!(container instanceof ITextRegionContainer))
-			return false;
-		ITextRegionList regions = ((ITextRegionContainer) container).getRegions();
-		if (regions == null)
-			return false;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			if (region == null)
-				continue;
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_TAG_OPEN || regionType == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN || regionType == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN || regionType == XMLJSPRegionContexts.JSP_DECLARATION_OPEN || regionType == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN)
-				return true;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLAttributeValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLAttributeValidator.java
deleted file mode 100644
index a57a307..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLAttributeValidator.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-public class HTMLAttributeValidator extends PrimeValidator {
-
-	private static final int REGION_NAME = 1;
-	private static final int REGION_VALUE = 2;
-	//<<D210422
-	private static final char SINGLE_QUOTE = '\'';
-	private static final char DOUBLE_QUOTE = '\"';
-
-	//D210422
-	/**
-	 * HTMLAttributeValidator constructor comment.
-	 */
-	public HTMLAttributeValidator() {
-		super();
-	}
-
-	/**
-	 */
-	private Segment getErrorSegment(XMLNode errorNode, int regionType) {
-		ITextRegion rgn = null;
-		switch (regionType) {
-			case REGION_NAME :
-				rgn = errorNode.getNameRegion();
-				break;
-			case REGION_VALUE :
-				rgn = errorNode.getValueRegion();
-				break;
-			default :
-				// nothing to do.
-				break;
-		}
-		if (rgn != null) {
-			if (errorNode instanceof XMLAttr) {
-				XMLElement ownerElement = (XMLElement) ((XMLAttr) errorNode).getOwnerElement();
-				if (ownerElement != null) {
-					int regionStartOffset = ownerElement.getFirstStructuredDocumentRegion().getStartOffset(rgn);
-					int regionLength = rgn.getLength();
-					return new Segment(regionStartOffset, regionLength);
-				}
-			}
-		}
-		return new Segment(errorNode.getStartOffset(), 0);
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return ((type == HTMLAttributeValidator.class) || super.isAdapterForType(type));
-	}
-
-	/**
-	 */
-	public void validate(IndexedRegion node) {
-		Element target = (Element) node;
-		if (CMUtil.isForeign(target))
-			return;
-		CMElementDeclaration edec = CMUtil.getDeclaration(target);
-		if (edec == null)
-			return;
-		CMNamedNodeMap declarations = edec.getAttributes();
-
-		NamedNodeMap attrs = target.getAttributes();
-		for (int i = 0; i < attrs.getLength(); i++) {
-			int rgnType = REGION_NAME;
-			int state = ErrorState.NONE_ERROR;
-			Attr a = (Attr) attrs.item(i);
-			// D203637; If the target attr has prefix, the validator should not
-			// warn about it.  That is, just ignore.  It is able to check whether
-			// an attr has prefix or not by calling XMLAttr#isGlobalAttr().
-			// When a attr has prefix (not global), it returns false.
-			boolean isXMLAttr = a instanceof XMLAttr;
-			if (isXMLAttr) {
-				XMLAttr xmlattr = (XMLAttr) a;
-				if (!xmlattr.isGlobalAttr())
-					continue; // skip futher validation and begin next loop.
-			}
-
-			CMAttributeDeclaration adec = (CMAttributeDeclaration) declarations.getNamedItem(a.getName());
-			if (adec == null) {
-				// No attr declaration was found.  That is, the attr name is undefined.
-				// but not regard it as undefined name if it includes JSP
-				if (!FMUtil.hasJSPRegion(((XMLNode) a).getNameRegion())) {
-					rgnType = REGION_NAME;
-					state = ErrorState.UNDEFINED_NAME_ERROR;
-				}
-			}
-			else {
-				// The attr declaration was found.
-				// At 1st, the name should be checked.
-				if (CMUtil.isHTML(edec) && (!CMUtil.isXHTML(edec))) {
-					// If the target element is pure HTML (not XHTML), some attributes
-					// might be written in boolean format.  It should be check specifically.
-					if (CMUtil.isBooleanAttr(adec) && ((XMLAttr) a).hasNameOnly())
-						continue; // OK, keep going.  No more check is needed against this attr.
-				}
-				else {
-					// If the target is other than pure HTML (JSP or XHTML), the name
-					// must be checked exactly (ie in case sensitive way).
-					String actual = a.getName();
-					String desired = adec.getAttrName();
-					if (!actual.equals(desired)) { // case mismatch
-						rgnType = REGION_NAME;
-						state = ErrorState.MISMATCHED_ERROR;
-					}
-				}
-				// Then, the value must be checked.
-				if (state == ErrorState.NONE_ERROR) { // Need more check.
-					// Now, the value should be checked, if the type is ENUM.
-					CMDataType attrType = adec.getAttrType();
-					String actualValue = a.getValue();
-					if (attrType.getImpliedValueKind() == CMDataType.IMPLIED_VALUE_FIXED) {
-						// Check FIXED value.
-						String validValue = attrType.getImpliedValue();
-						if (!actualValue.equals(validValue)) {
-							rgnType = REGION_VALUE;
-							state = ErrorState.UNDEFINED_VALUE_ERROR;
-						}
-					}
-					else {
-						String[] candidates = attrType.getEnumeratedValues();
-						if (candidates != null && candidates.length > 0) {
-							// several candidates are found.
-							boolean found = false;
-							for (int index = 0; index < candidates.length; index++) {
-								String candidate = candidates[index];
-								// At 1st, compare ignoring case.
-								if (actualValue.equalsIgnoreCase(candidate)) {
-									found = true;
-									if (CMUtil.isCaseSensitive(edec) && (!actualValue.equals(candidate))) {
-										rgnType = REGION_VALUE;
-										state = ErrorState.MISMATCHED_VALUE_ERROR;
-									}
-									break; // exit the loop.
-								}
-							}
-							if (!found) {
-								// No candidate was found.  That is, actualValue is invalid.
-								// but not regard it as undefined value if it includes JSP.
-								if (!FMUtil.hasJSPRegion(((XMLNode) a).getValueRegion())) {
-									rgnType = REGION_VALUE;
-									state = ErrorState.UNDEFINED_VALUE_ERROR;
-								}
-							}
-						}
-					}
-				}
-				//<<D210422
-				if (state == ErrorState.NONE_ERROR) { // Need more check.
-					if (isXMLAttr) {
-						String source = ((XMLAttr) a).getValueRegionText();
-						if (source != null) {
-							char firstChar = source.charAt(0);
-							char lastChar = source.charAt(source.length() - 1);
-							if (isQuote(firstChar) || isQuote(lastChar)) {
-								if (lastChar != firstChar) {
-									rgnType = REGION_VALUE;
-									state = ErrorState.UNCLOSED_ATTR_VALUE;
-								}
-							}
-						}
-					}
-				}
-				//D210422
-			}
-			if (state != ErrorState.NONE_ERROR) {
-				Segment seg = getErrorSegment((XMLNode) a, rgnType);
-				if (seg != null)
-					reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(state, seg, a)));
-			}
-		}
-	}
-
-	//<<D214022
-	private boolean isQuote(char c) {
-		return (c == SINGLE_QUOTE) || (c == DOUBLE_QUOTE);
-	}
-	//D210422
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLDocumentContentValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLDocumentContentValidator.java
deleted file mode 100644
index 14e298a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLDocumentContentValidator.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.core.document.DocumentTypeAdapter;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.document.XMLText;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class HTMLDocumentContentValidator extends PrimeValidator {
-
-
-	private final static class Division {
-		private Vector explicitHtmls = new Vector();
-		private Vector rest = new Vector();
-
-		public Division(Document document, NodeList children) {
-			String rootTagName = getRootTagName(document);
-			for (int i = 0; i < children.getLength(); i++) {
-				Node child = children.item(i);
-				if (isHtmlTag(child, rootTagName)) {
-					explicitHtmls.add(child);
-				}
-				else {
-					rest.add(child);
-				}
-			}
-		}
-
-		public boolean hasExplicitHtmls() {
-			return explicitHtmls.size() > 0;
-		}
-
-		public List getExplicitHtmls() {
-			return explicitHtmls;
-		}
-
-		public Iterator getRestNodes() {
-			return rest.iterator();
-		}
-
-		/* utilities */
-		private static boolean isHtmlTag(Node node, String tagName) {
-			if (node.getNodeType() != Node.ELEMENT_NODE)
-				return false;
-			return ((Element) node).getTagName().equalsIgnoreCase(tagName);
-		}
-
-		private static String getRootTagName(Document document) {
-			DocumentTypeAdapter adapter = (DocumentTypeAdapter) ((XMLDocument) document).getAdapterFor(DocumentTypeAdapter.class);
-			if (adapter != null) {
-				DocumentType docType = adapter.getDocumentType();
-				if (docType != null) {
-					return docType.getName();
-				}
-			}
-
-			return HTML40Namespace.ElementName.HTML;
-		}
-	}
-
-	/**
-	 * HTMLDocumentContentValidator constructor comment.
-	 */
-	public HTMLDocumentContentValidator() {
-		super();
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return ((type == HTMLDocumentContentValidator.class) || super.isAdapterForType(type));
-	}
-
-	/**
-	 */
-	public void validate(IndexedRegion node) {
-		// isFragment check should be more intelligent.
-		boolean isFragment = true;
-		
-		Document target = (Document) node;
-		NodeList children = target.getChildNodes();
-		if (children == null)
-			return;
-
-		Division division = new Division(target, children);
-		if (division.hasExplicitHtmls()) {
-			isFragment = false;
-
-			List explicits = division.getExplicitHtmls();
-			if (explicits.size() > 1) {
-				for (int i = 1; i < explicits.size(); i++) {
-					Element html = (Element) explicits.get(i);
-					// report error (duplicate)
-					Segment errorSeg = FMUtil.getSegment((XMLNode) html, FMUtil.SEG_START_TAG);
-					if (errorSeg != null)
-						reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(ErrorState.DUPLICATE_ERROR, errorSeg, html)));
-				}
-			}
-		}
-		validateContent(division.getRestNodes(), isFragment);
-	}
-
-	/*
-	 * This methods validate nodes other than HTML elements.
-	 */
-	private void validateContent(Iterator children, boolean isFragment) {
-		boolean foundDoctype = false;
-		while (children.hasNext()) {
-			XMLNode child = (XMLNode) children.next();
-
-			int error = ErrorState.NONE_ERROR;
-			int segType = FMUtil.SEG_WHOLE_TAG;
-
-			switch (child.getNodeType()) {
-				case Node.ELEMENT_NODE :
-					if (! isFragment) {
-						Element childElem = (Element) child;
-						CMElementDeclaration ced = CMUtil.getDeclaration(childElem);
-						// Undefined element is valid.
-						if (ced == null)
-							continue;
-						// JSP (includes custom tags) and SSI are valid.
-						if (CMUtil.isForeign(childElem) || CMUtil.isSSI(ced))
-							continue; // Defect 186774
-
-						// report error (invalid content)
-						error = ErrorState.INVALID_CONTENT_ERROR;
-						// mark the whole start tag as error.
-						segType = FMUtil.SEG_START_TAG;
-					}
-					break;
-				case Node.TEXT_NODE :
-					if (! isFragment) {
-						// TEXT node is valid when it contains white space characters only.
-						// Otherwise, it is invalid content.
-						if (((XMLText) child).isWhitespace())
-							continue;
-						error = ErrorState.INVALID_CONTENT_ERROR;
-						segType = FMUtil.SEG_WHOLE_TAG;
-					}
-					break;
-				case Node.DOCUMENT_TYPE_NODE :
-					// DOCTYPE is also valid when it appears once and only once.
-					if (!foundDoctype) {
-						foundDoctype = true;
-						continue;
-					}
-					error = ErrorState.DUPLICATE_ERROR;
-					segType = FMUtil.SEG_WHOLE_TAG;
-					break;
-				case Node.COMMENT_NODE :
-				// always valid.
-				case Node.PROCESSING_INSTRUCTION_NODE :
-					continue;
-				default :
-					if (! isFragment) {
-						error = ErrorState.INVALID_CONTENT_ERROR;
-						segType = FMUtil.SEG_WHOLE_TAG;
-					}
-					break;
-			}
-			if (error != ErrorState.NONE_ERROR) {
-				Segment errorSeg = FMUtil.getSegment(child, segType);
-				if (errorSeg != null)
-					reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(error, errorSeg, child)));
-			}
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementAncestorValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementAncestorValidator.java
deleted file mode 100644
index b4c26b4..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementAncestorValidator.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Element;
-
-public class HTMLElementAncestorValidator extends PrimeValidator {
-
-	/**
-	 * HTMLElementAncestorValidator constructor comment.
-	 */
-	public HTMLElementAncestorValidator() {
-		super();
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return ((type == HTMLElementAncestorValidator.class) || super.isAdapterForType(type));
-	}
-
-	/**
-	 * Check exclusion which is defined in only HTML DTD (SGML).
-	 */
-	public void validate(IndexedRegion node) {
-		Element target = (Element) node;
-		if (CMUtil.isForeign(target))
-			return;
-		CMElementDeclaration dec = CMUtil.getDeclaration(target);
-		if (dec == null)
-			return; // cannot validate.
-		if (!CMUtil.isHTML(dec))
-			return; // no need to validate
-		if (!dec.supports(HTMLCMProperties.PROHIBITED_ANCESTORS))
-			return; // cannot validate.
-		CMNamedNodeMap prohibited = (CMNamedNodeMap) dec.getProperty(HTMLCMProperties.PROHIBITED_ANCESTORS);
-		if (prohibited.getLength() <= 0)
-			return; // no prohibited ancestors.
-
-		Element parent = SMUtil.getParentElement(target);
-		while (parent != null) {
-			CMNode pdec = prohibited.getNamedItem(parent.getNodeName());
-			if (pdec != null) { // prohibited element is found in ancestors.
-				Segment errorSeg = FMUtil.getSegment((XMLNode) node, FMUtil.SEG_START_TAG);
-				if (errorSeg != null)
-					reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(ErrorState.INVALID_CONTENT_ERROR, errorSeg, target)));
-				break; // If one prohibited ancestor is found, it's enough.
-			}
-			parent = SMUtil.getParentElement(parent);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementContentValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementContentValidator.java
deleted file mode 100644
index 007c225..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementContentValidator.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.document.XMLText;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class HTMLElementContentValidator extends PrimeValidator {
-
-	/**
-	 * HTMLElementContentValidator constructor comment.
-	 */
-	public HTMLElementContentValidator() {
-		super();
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return ((type == HTMLElementContentValidator.class) || super.isAdapterForType(type));
-	}
-
-	/**
-	 */
-	public void validate(IndexedRegion node) {
-		Element target = (Element) node;
-		if (CMUtil.isForeign(target))
-			return;
-
-		validateContent(target, target.getChildNodes());
-	}
-
-	private void validateContent(Element parent, NodeList children) {
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child == null)
-				continue;
-
-			// perform actual validation
-			validateNode(parent, child);
-		}
-	}
-
-//	private int countExplicitSiblings(Element parent, String tagName) {
-//		NodeList children = parent.getChildNodes();
-//		int count = 0;
-//		for (int i = 0; i < children.getLength(); i++) {
-//			Node child = children.item(i);
-//			if (child.getNodeType() != Node.ELEMENT_NODE)
-//				continue;
-//			if (tagName.equalsIgnoreCase(((Element) child).getTagName())) {
-//				count++;
-//			}
-//		}
-//		return count;
-//	}
-
-	/* The implementation of the following method is practical but accurate.
-	 * The accurate maximum occurence should be retreive from the content model.
-	 * However, it is useful enough, since almost implicit elements are HTML,
-	 * HEAD, or BODY.
-	 */
-//	private int getMaxOccur(Element parent, String childTag) {
-//		return 1;
-//	}
-
-	private void validateNode(Element target, Node child) {
-		// NOTE: If the target element is 'UNKNOWN', that is, it has no
-		// element declaration, the content type of the element should be
-		// regarded as 'ANY'. -- 9/10/2001
-		int contentType = CMElementDeclaration.ANY;
-		CMElementDeclaration edec = CMUtil.getDeclaration(target);
-		if (edec != null)
-			contentType = edec.getContentType();
-
-		int error = ErrorState.NONE_ERROR;
-		int segType = FMUtil.SEG_WHOLE_TAG;
-
-		switch (child.getNodeType()) {
-			case Node.ELEMENT_NODE :
-				Element childElem = (Element) child;
-				// Defect 200321:
-				// This validator cares only HTML/XHTML elements.  If a child is
-				// an element of foreign markup languages, just ignore it.
-				if (CMUtil.isForeign(childElem))
-					return;
-
-				CMElementDeclaration ced = CMUtil.getDeclaration((Element) child);
-				// Defect 186774: If a child is not one of HTML elements,
-				// it should be regarded as a valid child regardless the
-				// type of the parent content model. -- 10/12/2001
-				if (ced == null || CMUtil.isSSI(ced) || (!CMUtil.isHTML(ced)))
-					return;
-
-				switch (contentType) {
-					case CMElementDeclaration.ANY :
-						// Keep going.
-						return;
-					case CMElementDeclaration.ELEMENT :
-					case CMElementDeclaration.MIXED :
-						if (ced == null)
-							return;
-						if (CMUtil.isValidChild(edec, ced))
-							return;
-						// Now, it is the time to check inclusion, unless the target
-						// document is not a XHTML.
-						if (!CMUtil.isXHTML(edec)) {
-							// pure HTML
-							if (CMUtil.isValidInclusion(ced, target))
-								return;
-						}
-						error = ErrorState.INVALID_CONTENT_ERROR;
-						break;
-					default :
-						error = ErrorState.INVALID_CONTENT_ERROR;
-						break;
-				}
-				// Mark the whole START tag as an error segment.
-				segType = FMUtil.SEG_START_TAG;
-				break;
-			case Node.TEXT_NODE :
-				switch (contentType) {
-					case CMElementDeclaration.ANY :
-					case CMElementDeclaration.MIXED :
-					case CMElementDeclaration.PCDATA :
-					case CMElementDeclaration.CDATA :
-						// D184339
-						// Keep going.
-						return;
-					case CMElementDeclaration.ELEMENT :
-					case CMElementDeclaration.EMPTY :
-						if (((XMLText) child).isWhitespace())
-							return;
-						error = ErrorState.INVALID_CONTENT_ERROR;
-						break;
-					default :
-						error = ErrorState.INVALID_CONTENT_ERROR;
-						break;
-				}
-				// Mark the whole node as an error segment.
-				segType = FMUtil.SEG_WHOLE_TAG;
-				break;
-			case Node.COMMENT_NODE :
-			case Node.PROCESSING_INSTRUCTION_NODE :
-				if (contentType != CMElementDeclaration.EMPTY)
-					return;
-				error = ErrorState.INVALID_CONTENT_ERROR;
-				// Mark the whole node as an error segment.
-				segType = FMUtil.SEG_WHOLE_TAG;
-				break;
-			default :
-				error = ErrorState.INVALID_CONTENT_ERROR;
-				// Mark the whole node as an error segment.
-				segType = FMUtil.SEG_WHOLE_TAG;
-				break;
-		}
-		if (error != ErrorState.NONE_ERROR) {
-			Segment errorSeg = FMUtil.getSegment((XMLNode) child, segType);
-			if (errorSeg != null)
-				reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(error, errorSeg, child)));
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLSimpleDocumentValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLSimpleDocumentValidator.java
deleted file mode 100644
index d3630a3..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLSimpleDocumentValidator.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-import org.eclipse.wst.xml.core.internal.validate.ValidationComponent;
-
-class HTMLSimpleDocumentValidator extends CompositeValidator {
-
-	/**
-	 * HTMLSimpleDocumentValidator constructor comment.
-	 */
-	public HTMLSimpleDocumentValidator() {
-		super();
-
-		ValidationComponent[] validators = new ValidationComponent[2];
-
-		validators[0] = new HTMLDocumentContentValidator();
-		validators[1] = new SyntaxValidator();
-
-		register(validators);
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return ((type == HTMLSimpleDocumentValidator.class) || super.isAdapterForType(type));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLSimpleValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLSimpleValidator.java
deleted file mode 100644
index 47b6ff8..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLSimpleValidator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-import org.eclipse.wst.xml.core.internal.validate.ValidationComponent;
-
-class HTMLSimpleValidator extends CompositeValidator {
-
-	/**
-	 * HTMLSimpleValidator constructor comment.
-	 */
-	public HTMLSimpleValidator() {
-		super();
-
-		ValidationComponent[] validators = new ValidationComponent[5];
-
-		validators[0] = new HTMLAttributeValidator();
-		validators[1] = new HTMLElementContentValidator();
-		validators[2] = new SyntaxValidator();
-		validators[3] = new HTMLElementAncestorValidator();
-		validators[4] = new NamespaceValidator();
-
-		register(validators);
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type
-	 * allows it to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return ((type == HTMLSimpleValidator.class) || super.isAdapterForType(type));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLValidationAdapterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLValidationAdapterFactory.java
deleted file mode 100644
index 68185c3..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLValidationAdapterFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.validate.ValidationAdapter;
-import org.w3c.dom.Node;
-
-public class HTMLValidationAdapterFactory extends AbstractAdapterFactory {
-
-	private static HTMLValidationAdapterFactory instance = null;
-
-	/**
-	 * HTMLValidationAdapterFactory constructor comment.
-	 */
-	public HTMLValidationAdapterFactory() {
-		super(ValidationAdapter.class, true);
-	}
-
-	/**
-	 * HTMLValidationAdapterFactory constructor comment.
-	 * @param adapterKey java.lang.Object
-	 * @param registerAdapters boolean
-	 */
-	public HTMLValidationAdapterFactory(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	/**
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		Node node = (Node) target;
-		switch (node.getNodeType()) {
-			case Node.DOCUMENT_NODE :
-				return new DocumentPropagatingValidator();
-			case Node.ELEMENT_NODE :
-				return new ElementPropagatingValidator();
-			default :
-				return new NullValidator();
-		}
-	}
-
-	/**
-	 */
-	public synchronized static HTMLValidationAdapterFactory getInstance() {
-		if (instance != null)
-			return instance;
-		instance = new HTMLValidationAdapterFactory();
-		return instance;
-	}
-
-	/**
-	 * Overriding Object's clone() method
-	 * This is used in IModelManager's IStructuredModel copying.
-	 */
-	public AdapterFactory copy() {
-		return getInstance();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/MessageFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/MessageFactory.java
deleted file mode 100644
index 32461df..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/MessageFactory.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-import java.text.MessageFormat;
-import java.util.Hashtable;
-
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.html.core.internal.Logger;
-import org.eclipse.wst.sse.core.validate.ValidationMessage;
-import org.w3c.dom.Node;
-
-class MessageFactory implements ErrorState {
-
-
-	private static class ErrorTable {
-		private class Packet {
-			public Packet(String msg, int severity) {
-				this.msg = msg;
-				this.severity = severity;
-			}
-
-			public String getMessage() {
-				return msg;
-			}
-
-			public int getSeverity() {
-				return severity;
-			}
-
-			private String msg = null;
-			private int severity = -1;
-		}
-
-		public ErrorTable() {
-		}
-
-		public void put(int state, String msg, int severity) {
-			Packet packet = new Packet(msg, severity);
-			map.put(new Integer(state), packet);
-		}
-
-		public String getMessage(int state) {
-			return getPacket(state).getMessage();
-		}
-
-		public int getSeverity(int state) {
-			return getPacket(state).getSeverity();
-		}
-
-		private Packet getPacket(int state) {
-			return (Packet) map.get(new Integer(state));
-		}
-
-		private Hashtable map = new Hashtable();
-	}
-
-	private static interface NodeType {
-		static final int ATTRIBUTE = 0;
-		static final int ELEMENT = 1;
-		static final int DOCUMENT_TYPE = 2;
-		static final int TEXT = 3;
-		static final int COMMENT = 4;
-		static final int CDATA_SECTION = 5;
-		static final int PROCESSING_INSTRUCTION = 6;
-		static final int ENTITY_REFERENCE = 7;
-
-		static final int MAX_TYPE = 8;
-	}
-
-	// error messages
-	private static final String MSG_NO_ERROR = HTMLCorePlugin.getResourceString("%No_error._UI_"); //$NON-NLS-1$ = "No error."
-	private static final String MSG_UNDEFINED_ATTR_ERROR = HTMLCorePlugin.getResourceString("%Undefined_attribute_name_(_ERROR_"); //$NON-NLS-1$ = "Undefined attribute name ({0})."
-	private static final String MSG_UNDEFINED_VALUE_ERROR = HTMLCorePlugin.getResourceString("%Undefined_attribute_value__ERROR_"); //$NON-NLS-1$ = "Undefined attribute value ({0})."
-	private static final String MSG_DUPLICATE_ATTR_ERROR = HTMLCorePlugin.getResourceString("%Multiple_values_specified__ERROR_"); //$NON-NLS-1$ = "Multiple values specified for an attribute ({0})."
-	private static final String MSG_MISMATCHED_ATTR_ERROR = HTMLCorePlugin.getResourceString("%Attribute_name_({0})_uses__ERROR_"); //$NON-NLS-1$ = "Attribute name ({0}) uses wrong case character."
-	private static final String MSG_INVALID_ATTR_ERROR = HTMLCorePlugin.getResourceString("%Invalid_attribute_name_({0_ERROR_"); //$NON-NLS-1$ = "Invalid attribute name ({0})."
-	private static final String MSG_ATTR_NO_VALUE_ERROR = HTMLCorePlugin.getResourceString("%Invalid_attribute_({0})._ERROR_"); //$NON-NLS-1$ = "Invalid attribute ({0})."
-	private static final String MSG_INVALID_CONTENT_ERROR = HTMLCorePlugin.getResourceString("%Invalid_location_of_tag_({_ERROR_"); //$NON-NLS-1$ = "Invalid location of tag ({0})."
-	private static final String MSG_DUPLICATE_TAG_ERROR = HTMLCorePlugin.getResourceString("%Duplicate_tag_({0})._ERROR_"); //$NON-NLS-1$ = "Duplicate tag ({0})."
-	private static final String MSG_MISSING_START_TAG_ERROR = HTMLCorePlugin.getResourceString("%No_start_tag_(<{0}>)._ERROR_"); //$NON-NLS-1$ = "No start tag (<{0}>)."
-	private static final String MSG_MISSING_END_TAG_ERROR = HTMLCorePlugin.getResourceString("%No_end_tag_(</{0}>)._ERROR_"); //$NON-NLS-1$ = "No end tag (</{0}>)."
-	private static final String MSG_UNNECESSARY_END_TAG_ERROR = HTMLCorePlugin.getResourceString("%End_tag_(</{0}>)_not_neede_ERROR_"); //$NON-NLS-1$ = "End tag (</{0}>) not needed."
-	private static final String MSG_UNDEFINED_TAG_ERROR = HTMLCorePlugin.getResourceString("%Unknown_tag_({0})._ERROR_"); //$NON-NLS-1$ = "Unknown tag ({0})."
-	private static final String MSG_MISMATCHED_TAG_ERROR = HTMLCorePlugin.getResourceString("%Tag_name_({0})_uses_wrong__ERROR_"); //$NON-NLS-1$ = "Tag name ({0}) uses wrong case character."
-	private static final String MSG_INVALID_TAG_ERROR = HTMLCorePlugin.getResourceString("%Invalid_tag_name_({0})._ERROR_"); //$NON-NLS-1$ = "Invalid tag name ({0})."
-	private static final String MSG_INVALID_DIRECTIVE_ERROR = HTMLCorePlugin.getResourceString("%Invalid_JSP_directive_({0}_ERROR_"); //$NON-NLS-1$ = "Invalid JSP directive ({0})."
-	private static final String MSG_INVALID_TEXT_ERROR = HTMLCorePlugin.getResourceString("%Invalid_text_string_({0})._ERROR_"); //$NON-NLS-1$ = "Invalid text string ({0})."
-	private static final String MSG_INVALID_CHAR_ERROR = HTMLCorePlugin.getResourceString("%Invalid_character_used_in__ERROR_"); //$NON-NLS-1$ = "Invalid character used in text string ({0})."
-	private static final String MSG_UNKNOWN_ERROR = HTMLCorePlugin.getResourceString("%Unknown_error._ERROR_"); //$NON-NLS-1$ = "Unknown error."
-	private static final String MSG_UNCLOSED_START_TAG_ERROR = HTMLCorePlugin.getResourceString("%Start_tag_(<{0}>)_not_clos_ERROR_"); //$NON-NLS-1$ = "Start tag (<{0}>) not closed."
-	private static final String MSG_UNCLOSED_END_TAG_ERROR = HTMLCorePlugin.getResourceString("%End_tag_(</{0}>)_not_close_ERROR_"); //$NON-NLS-1$ = "End tag (</{0}>) not closed."
-	//private static final String MSG_UNCLOSED_TAG_ERROR = HTMLCorePlugin.getResourceString("%Tag_({0})_not_closed._ERROR_"); //$NON-NLS-1$ = "Tag ({0}) not closed."
-	private static final String MSG_MISMATCHED_ATTR_VALUE_ERROR = HTMLCorePlugin.getResourceString("%Attribute_value_({0})_uses_ERROR_"); //$NON-NLS-1$ = "Attribute value ({0}) uses wrong case character."
-	private static final String MSG_UNCLOSED_COMMENT_ERROR = HTMLCorePlugin.getResourceString("%Comment_not_closed._ERROR_"); //$NON-NLS-1$ = "Comment not closed."
-	private static final String MSG_UNCLOSED_DOCTYPE_ERROR = HTMLCorePlugin.getResourceString("%DOCTYPE_declaration_not_cl_ERROR_"); //$NON-NLS-1$ = "DOCTYPE declaration not closed."
-	private static final String MSG_UNCLOSED_PI_ERROR = HTMLCorePlugin.getResourceString("%Processing_instruction_not_ERROR_"); //$NON-NLS-1$ = "Processing instruction not closed."
-	private static final String MSG_UNCLOSED_CDATA_SECTION_ERROR = HTMLCorePlugin.getResourceString("%CDATA_section_not_closed._ERROR_"); //$NON-NLS-1$ = "CDATA section not closed."
-	private static final String MSG_INVALID_EMPTY_ELEMENT_TAG = HTMLCorePlugin.getResourceString("%_ERROR_Tag_({0})_should_be_an_empty-element_tag_1"); //$NON-NLS-1$ = "Tag ({0}) should be an empty-element tag."
-	private static final String MSG_UNCLOSED_ATTR_VALUE_ERROR = HTMLCorePlugin.getResourceString("%_ERROR_Attribute_value_({0})_not_closed._1"); //$NON-NLS-1$ ="Attribute value ({0}) not closed."
-	private static ErrorTable[] errTables = new ErrorTable[NodeType.MAX_TYPE];
-
-	static {
-		for (int i = 0; i < NodeType.MAX_TYPE; i++) {
-			errTables[i] = new ErrorTable();
-		}
-		// NOTE: The severities are just stub.  They must be reviewed.
-		// -- 8/30/2001
-
-		// attribute error map
-		ErrorTable attrTable = errTables[NodeType.ATTRIBUTE];// short hand
-		attrTable.put(NONE_ERROR, MSG_NO_ERROR, 0);
-		attrTable.put(UNDEFINED_NAME_ERROR, MSG_UNDEFINED_ATTR_ERROR, ValidationMessage.WARNING);
-		attrTable.put(UNDEFINED_VALUE_ERROR, MSG_UNDEFINED_VALUE_ERROR, ValidationMessage.WARNING);
-		attrTable.put(MISMATCHED_ERROR, MSG_MISMATCHED_ATTR_ERROR, ValidationMessage.WARNING);
-		attrTable.put(INVALID_NAME_ERROR, MSG_INVALID_ATTR_ERROR, ValidationMessage.WARNING);
-		attrTable.put(INVALID_ATTR_ERROR, MSG_ATTR_NO_VALUE_ERROR, ValidationMessage.WARNING);
-		attrTable.put(DUPLICATE_ERROR, MSG_DUPLICATE_ATTR_ERROR, ValidationMessage.WARNING);
-		attrTable.put(MISMATCHED_VALUE_ERROR, MSG_MISMATCHED_ATTR_VALUE_ERROR, ValidationMessage.ERROR);
-		//<<D210422
-		attrTable.put(UNCLOSED_ATTR_VALUE, MSG_UNCLOSED_ATTR_VALUE_ERROR, ValidationMessage.WARNING);
-		//D210422
-		// element error map
-		ErrorTable elemTable = errTables[NodeType.ELEMENT];// short hand
-		elemTable.put(NONE_ERROR, MSG_NO_ERROR, 0);
-		elemTable.put(UNDEFINED_NAME_ERROR, MSG_UNDEFINED_TAG_ERROR, ValidationMessage.WARNING);
-		elemTable.put(INVALID_NAME_ERROR, MSG_INVALID_TAG_ERROR, ValidationMessage.ERROR);
-		elemTable.put(MISMATCHED_ERROR, MSG_MISMATCHED_TAG_ERROR, ValidationMessage.WARNING);
-		elemTable.put(MISMATCHED_END_TAG_ERROR, MSG_MISMATCHED_TAG_ERROR, ValidationMessage.ERROR);
-		elemTable.put(MISSING_START_TAG_ERROR, MSG_MISSING_START_TAG_ERROR, ValidationMessage.ERROR);
-		elemTable.put(MISSING_END_TAG_ERROR, MSG_MISSING_END_TAG_ERROR, ValidationMessage.WARNING);
-		elemTable.put(UNNECESSARY_END_TAG_ERROR, MSG_UNNECESSARY_END_TAG_ERROR, ValidationMessage.WARNING);
-		elemTable.put(INVALID_DIRECTIVE_ERROR, MSG_INVALID_DIRECTIVE_ERROR, ValidationMessage.ERROR);
-		elemTable.put(INVALID_CONTENT_ERROR, MSG_INVALID_CONTENT_ERROR, ValidationMessage.WARNING);
-		elemTable.put(DUPLICATE_ERROR, MSG_DUPLICATE_TAG_ERROR, ValidationMessage.WARNING);
-		elemTable.put(COEXISTENCE_ERROR, MSG_INVALID_CONTENT_ERROR, ValidationMessage.WARNING);
-		elemTable.put(UNCLOSED_TAG_ERROR, MSG_UNCLOSED_START_TAG_ERROR, ValidationMessage.ERROR);
-		elemTable.put(UNCLOSED_END_TAG_ERROR, MSG_UNCLOSED_END_TAG_ERROR, ValidationMessage.ERROR);
-		elemTable.put(INVALID_EMPTY_ELEMENT_TAG, MSG_INVALID_EMPTY_ELEMENT_TAG, ValidationMessage.WARNING);
-
-		// document type error map
-		ErrorTable docTable = errTables[NodeType.DOCUMENT_TYPE];// short hand
-		docTable.put(NONE_ERROR, MSG_NO_ERROR, 0);
-		docTable.put(DUPLICATE_ERROR, MSG_DUPLICATE_TAG_ERROR, ValidationMessage.ERROR);
-		docTable.put(INVALID_CONTENT_ERROR, MSG_INVALID_CONTENT_ERROR, ValidationMessage.WARNING);
-		docTable.put(UNCLOSED_TAG_ERROR, MSG_UNCLOSED_DOCTYPE_ERROR, ValidationMessage.ERROR);
-
-		// text error map
-		ErrorTable textTable = errTables[NodeType.TEXT];
-		textTable.put(NONE_ERROR, MSG_NO_ERROR, 0);
-		textTable.put(INVALID_CONTENT_ERROR, MSG_INVALID_TEXT_ERROR, ValidationMessage.WARNING);
-		textTable.put(INVALID_CHAR_ERROR, MSG_INVALID_CHAR_ERROR, ValidationMessage.WARNING);
-
-		// comment error map
-		ErrorTable commTable = errTables[NodeType.COMMENT];
-		commTable.put(NONE_ERROR, MSG_NO_ERROR, 0);
-		commTable.put(INVALID_CONTENT_ERROR, MSG_INVALID_CONTENT_ERROR, ValidationMessage.WARNING);
-		commTable.put(UNCLOSED_TAG_ERROR, MSG_UNCLOSED_COMMENT_ERROR, ValidationMessage.ERROR);
-
-		// cdata section error map
-		ErrorTable cdatTable = errTables[NodeType.CDATA_SECTION];
-		cdatTable.put(NONE_ERROR, MSG_NO_ERROR, 0);
-		cdatTable.put(INVALID_CONTENT_ERROR, MSG_INVALID_CONTENT_ERROR, ValidationMessage.WARNING);
-		cdatTable.put(UNCLOSED_TAG_ERROR, MSG_UNCLOSED_CDATA_SECTION_ERROR, ValidationMessage.ERROR);
-
-		// processing instruction error map
-		ErrorTable piTable = errTables[NodeType.PROCESSING_INSTRUCTION];
-		piTable.put(NONE_ERROR, MSG_NO_ERROR, 0);
-		piTable.put(INVALID_CONTENT_ERROR, MSG_INVALID_CONTENT_ERROR, ValidationMessage.WARNING);
-		piTable.put(UNCLOSED_TAG_ERROR, MSG_UNCLOSED_PI_ERROR, ValidationMessage.ERROR);
-
-		// entity reference error map
-		ErrorTable erTable = errTables[NodeType.ENTITY_REFERENCE];
-		erTable.put(NONE_ERROR, MSG_NO_ERROR, 0);
-		erTable.put(UNDEFINED_NAME_ERROR, MSG_UNDEFINED_TAG_ERROR, ValidationMessage.WARNING);
-		erTable.put(INVALID_CONTENT_ERROR, MSG_INVALID_CONTENT_ERROR, ValidationMessage.WARNING);
-	}
-
-	/**
-	 */
-	public static ValidationMessage createMessage(ErrorInfo info) {
-		String errorMsg = getErrorMessage(info);
-		int errorSeverity = getErrorSeverity(info);
-		return new ValidationMessage(errorMsg, info.getOffset(), info.getLength(), errorSeverity);
-	}
-
-	private static String getErrorMessage(ErrorInfo info) {
-		ErrorTable tab = getErrorTable(info.getTargetType());
-		if (tab == null)
-			return MSG_UNKNOWN_ERROR;
-
-		String template = tab.getMessage(info.getState());
-		Object[] arguments = {info.getHint()};
-		String s = null;
-		try {
-			s = MessageFormat.format(template, arguments);
-		}
-		catch (IllegalArgumentException e) {
-			Logger.logException(e);
-			s = template + ":" + arguments.toString(); //$NON-NLS-1$
-		}
-		return s;
-	}
-
-	/**
-	 */
-	private static int getErrorSeverity(ErrorInfo info) {
-		ErrorTable tab = getErrorTable(info.getTargetType());
-		if (tab == null)
-			return 0;
-		return tab.getSeverity(info.getState());
-	}
-
-	private static ErrorTable getErrorTable(short nodetype) {
-		ErrorTable tab = null;
-		switch (nodetype) {
-			case Node.ATTRIBUTE_NODE :
-				tab = errTables[NodeType.ATTRIBUTE];
-				break;
-			case Node.ELEMENT_NODE :
-				tab = errTables[NodeType.ELEMENT];
-				break;
-			case Node.DOCUMENT_TYPE_NODE :
-				tab = errTables[NodeType.DOCUMENT_TYPE];
-				break;
-			case Node.TEXT_NODE :
-				tab = errTables[NodeType.TEXT];
-				break;
-			case Node.COMMENT_NODE :
-				tab = errTables[NodeType.COMMENT];
-				break;
-			case Node.CDATA_SECTION_NODE :
-				tab = errTables[NodeType.CDATA_SECTION];
-				break;
-			case Node.PROCESSING_INSTRUCTION_NODE :
-				tab = errTables[NodeType.PROCESSING_INSTRUCTION];
-				break;
-			case Node.ENTITY_REFERENCE_NODE :
-				tab = errTables[NodeType.ENTITY_REFERENCE];
-				break;
-			default :
-				return null;
-		}
-		return tab;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NamespaceValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NamespaceValidator.java
deleted file mode 100644
index f2e605d..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NamespaceValidator.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-public class NamespaceValidator extends PrimeValidator implements ErrorState {
-
-	private final static String XMLNS_PREFIX = "xmlns";//$NON-NLS-1$
-	private final static String NS_SEPARATOR = ":";//$NON-NLS-1$
-
-	public NamespaceValidator() {
-		super();
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return ((type == NamespaceValidator.class) || super.isAdapterForType(type));
-	}
-
-	public void validate(IndexedRegion node) {
-		Element target = (Element) node;
-		if (isXMLElement(target) && hasUnknownPrefix(target)) {
-			XMLElement e = (XMLElement) target;
-			if (!isValidPrefix(e.getPrefix(), target) && !e.isCommentTag()) {
-				// report unknown tag error.
-				Segment errorSeg = FMUtil.getSegment(e, FMUtil.SEG_START_TAG);
-				if (errorSeg != null)
-					reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(UNDEFINED_NAME_ERROR, errorSeg, e)));
-			}
-		}
-		// (2) check prefix of each attr 
-		NamedNodeMap attrs = target.getAttributes();
-		for (int i = 0; i < attrs.getLength(); i++) {
-			Node n = attrs.item(i);
-			if (!(n instanceof XMLAttr))
-				continue;
-			XMLAttr a = (XMLAttr) n;
-			String prefix = a.getPrefix();
-			if ((prefix != null) && isUnknownAttr(a, target)) {
-				// The attr has unknown prefix.  So, check it.
-				if (!isValidPrefix(prefix, target)) {
-					// report unknown attr error.
-					ITextRegion r = a.getNameRegion();
-					if (r == null)
-						continue;
-					int a_offset = a.getNameRegionStartOffset();
-					int a_length = a.getNameRegion().getLength();
-					reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(UNDEFINED_NAME_ERROR, new Segment(a_offset, a_length), a)));
-				}
-			}
-		}
-	}
-
-	// private methods	
-	private boolean isXMLElement(Element target) {
-		return target instanceof XMLElement;
-	}
-
-	private boolean hasUnknownPrefix(Element target) {
-		return isUnknownElement(target) && CMUtil.isForeign(target);
-	}
-
-	private boolean isUnknownElement(Element target) {
-		CMElementDeclaration dec = CMUtil.getDeclaration(target);
-		return dec == null;
-	}
-
-	private boolean isUnknownAttr(XMLAttr attr, Element target) {
-		CMElementDeclaration dec = CMUtil.getDeclaration(target);
-		if (dec == null)
-			return true; // unknown.
-		CMNamedNodeMap adecls = dec.getAttributes();
-		CMAttributeDeclaration adec = (CMAttributeDeclaration) adecls.getNamedItem(attr.getName());
-		return adec == null;
-	}
-
-	private boolean isValidPrefix(String prefix, Element e) {
-		if (prefix.equals(XMLNS_PREFIX))
-			return true; // "xmlns:foo" attr is always valid.
-
-		// (1) check the element has the namespace definition or not.
-		if (isValidPrefixWithinElement(prefix, e))
-			return true;
-
-		// (2) check ancestors of the element have the namespace definition or not.
-		Element parent = SMUtil.getParentElement(e);
-		while (parent != null) {
-			if (isValidPrefixWithinElement(prefix, parent))
-				return true;
-			parent = SMUtil.getParentElement(parent);
-		}
-		return false;
-	}
-
-	private boolean isValidPrefixWithinElement(String prefix, Element e) {
-		String ns = XMLNS_PREFIX + NS_SEPARATOR + prefix;
-		NamedNodeMap attrs = e.getAttributes();
-		for (int i = 0; i < attrs.getLength(); i++) {
-			Node n = attrs.item(i);
-			if (n == null)
-				continue;
-			if (n.getNodeType() != Node.ATTRIBUTE_NODE)
-				continue;
-			if (ns.equals(((Attr) n).getName()))
-				return true;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NullValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NullValidator.java
deleted file mode 100644
index 1a9cbc0..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NullValidator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.validate.ValidationReporter;
-import org.eclipse.wst.xml.core.internal.validate.ValidationComponent;
-
-/**
- * NullValidator class is intended to be a replacement of null
- * for ValidationComponent type.
- */
-final class NullValidator extends ValidationComponent {
-
-	public NullValidator() {
-		super();
-	}
-
-	public void validate(IndexedRegion node) {
-		return;
-	}
-
-	public void setReporter(ValidationReporter reporter) {
-		return;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/PrimeValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/PrimeValidator.java
deleted file mode 100644
index 6278a3a..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/PrimeValidator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-
-import org.eclipse.wst.xml.core.internal.validate.ValidationComponent;
-
-abstract class PrimeValidator extends ValidationComponent {
-
-	/**
-	 * PrimeValidator constructor comment.
-	 */
-	public PrimeValidator() {
-		super();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SMUtil.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SMUtil.java
deleted file mode 100644
index 97adcf8..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SMUtil.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-final class SMUtil {
-
-	private SMUtil() {
-		super();
-	}
-
-	/* get an ancestor element ignoring implicit ones. */
-	public static Element getParentElement(Node child) {
-		if (child == null)
-			return null;
-
-		Node p = child.getParentNode();
-		while (p != null) {
-			if (p.getNodeType() == Node.ELEMENT_NODE) {
-				return (Element) p;
-			}
-			p = p.getParentNode();
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/Segment.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/Segment.java
deleted file mode 100644
index 2e5db72..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/Segment.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-public class Segment {
-
-	private int offset = 0;
-	private int length = 0;
-
-	/**
-	 */
-	public Segment(int offset, int length) {
-		super();
-		this.offset = offset;
-		this.length = length;
-	}
-
-	public Segment(IStructuredDocumentRegion region) {
-		super();
-		this.offset = region.getStartOffset();
-		this.length = region.getLength();
-	}
-
-	/**
-	 * NOTE: 'start' and 'end' must be the start and end of the contiguous regions.
-	 * Otherwise, this class cannot work correctly.
-	 */
-	public Segment(IStructuredDocumentRegion start, IStructuredDocumentRegion end) {
-		super();
-		this.offset = start.getStartOffset();
-		int endOffset = (end == null) ? start.getEndOffset() : end.getEndOffset();
-		this.length = endOffset - this.offset;
-	}
-
-	//public Segment(ITextRegion start, ITextRegion end) {
-	//	super();
-	//	this.offset = start.getStartOffset();
-	//	int endOffset = (end == null) ? start.getEndOffset() : end.getEndOffset();
-	//	this.length = endOffset - this.offset;
-	//}
-	/**
-	 */
-	public int getLength() {
-		return this.length;
-	}
-
-	/**
-	 */
-	public int getOffset() {
-		return this.offset;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SyntaxValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SyntaxValidator.java
deleted file mode 100644
index 01b2177..0000000
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SyntaxValidator.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.core.validate;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeEntry;
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeRegistry;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.InvalidCharacterException;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.document.SourceValidator;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-class SyntaxValidator extends PrimeValidator implements ErrorState {
-
-
-	static private boolean isValidRegion(ITextRegion rgn) {
-		String type = rgn.getType();
-		if (type == null)
-			return false; // no type is invalid.
-		if (type == XMLRegionContext.XML_END_TAG_OPEN || type == XMLRegionContext.XML_TAG_NAME || type == XMLRegionContext.XML_TAG_CLOSE) {
-			return true;
-		}
-		return false;
-	}
-
-	static private String getTagName(IStructuredDocumentRegion tag) {
-		ITextRegionList regions = tag.getRegions();
-		Iterator iter = regions.iterator();
-		while (iter.hasNext()) {
-			ITextRegion rgn = (ITextRegion) iter.next();
-			if (rgn.getType() == XMLRegionContext.XML_TAG_NAME)
-				return tag.getText(rgn);
-		}
-		return "";//$NON-NLS-1$
-	}
-
-	static private boolean isEmptyContent(CMElementDeclaration decl) {
-		return (decl != null) && (decl.getContentType() == CMElementDeclaration.EMPTY);
-	}
-
-	public SyntaxValidator() {
-		super();
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return ((type == SyntaxValidator.class) || super.isAdapterForType(type));
-	}
-
-	class ElementInfo {
-		public ElementInfo() {
-			super();
-		}
-
-		public XMLElement target = null;
-		public CMElementDeclaration decl = null;
-		public IStructuredDocumentRegion startTag = null;
-		public IStructuredDocumentRegion endTag = null;
-		public boolean hasStartTag = false;
-		public boolean hasEndTag = false;
-		public boolean isXHTML = false;
-	}
-
-	public void validate(IndexedRegion indexedNode) {
-		Node node = (Node) indexedNode;
-		validateChildren(node);
-
-		if (node.getNodeType() != Node.ELEMENT_NODE)
-			return;
-		if (!(node instanceof XMLElement))
-			return;
-
-		ElementInfo info = new ElementInfo();
-		info.target = (XMLElement) node;
-
-		// gather information to validate from target at once.
-		getInfo(info);
-
-		if (info.target.isGlobalTag()) {
-			validateTags(info);
-			validateNames(info);
-			if (info.decl != null && info.isXHTML) {
-				validateTagCase(info);
-			}
-		}
-	}
-
-	private void getInfo(ElementInfo info) {
-		info.decl = CMUtil.getDeclaration(info.target);
-		info.startTag = info.target.getStartStructuredDocumentRegion();
-		info.endTag = info.target.getEndStructuredDocumentRegion();
-
-		info.hasStartTag = (info.startTag != null);
-		info.hasEndTag = (info.endTag != null);
-
-		Document doc = info.target.getOwnerDocument();
-		if (!(doc instanceof XMLDocument))
-			return;
-		String typeid = ((XMLDocument) doc).getDocumentTypeId();
-		if (typeid != null) {
-			HTMLDocumentTypeEntry entry = HTMLDocumentTypeRegistry.getInstance().getEntry(typeid);
-			info.isXHTML = (entry != null && entry.isXMLType());
-		}
-	}
-
-	class TagErrorInfoImpl extends AbstractErrorInfo {
-		private String hint = null;
-
-		public TagErrorInfoImpl(int state, IStructuredDocumentRegion tag, String hint) {
-			super(state, new Segment(tag));
-			this.hint = hint;
-		}
-
-		public String getHint() {
-			return hint;
-		}
-
-		public short getTargetType() {
-			return Node.ELEMENT_NODE;
-		}
-	}
-
-	private boolean isEndTagCorrupted(ElementInfo info) {
-		ITextRegionList regions = info.endTag.getRegions();
-		if (regions == null || regions.isEmpty())
-			return false;
-		Iterator iter = regions.iterator();
-		while (iter.hasNext()) {
-			ITextRegion rgn = (ITextRegion) iter.next();
-			if (!isValidRegion(rgn))
-				return true; // found invalid region type.
-		}
-		return false; // all regions are valid.
-	}
-
-	private String getEndTagFullText(ElementInfo info) {
-		String hint = "";//$NON-NLS-1$
-		ITextRegionList regions = info.endTag.getRegions();
-		Iterator iter = regions.iterator();
-		while (iter.hasNext()) {
-			ITextRegion rgn = (ITextRegion) iter.next();
-			String type = rgn.getType();
-			if (type == null)
-				continue;
-			if (type == XMLRegionContext.XML_END_TAG_OPEN || type == XMLRegionContext.XML_TAG_CLOSE)
-				continue;
-			hint += info.endTag.getFullText(rgn);
-		}
-		return hint;
-	}
-
-	private void reportCorruptedEndTagError(ElementInfo info) {
-		String hint = getEndTagFullText(info);
-		TagErrorInfoImpl error = new TagErrorInfoImpl(UNDEFINED_NAME_ERROR, info.endTag, hint);
-		this.reporter.report(MessageFactory.createMessage(error));
-	}
-
-	private void validateTags(ElementInfo info) {
-		if (info.hasStartTag) {
-			if (!info.target.isStartTagClosed()) {
-				// Mark the whole START tag as an error segment.
-				Segment errorSeg = new Segment(info.startTag);
-				report(UNCLOSED_TAG_ERROR, errorSeg, info.target);
-			}
-		}
-		else {
-			if (info.hasEndTag) {
-				if (info.decl != null) {
-					if (CMUtil.isHTML(info.decl) && !info.target.hasChildNodes()) {
-						if (info.target.isContainer()) {
-							// Set the error mark to the start of the element.
-							Segment errorSeg = new Segment(info.target.getStartOffset(), 0);
-							report(MISSING_START_TAG_ERROR, errorSeg, info.target);
-						}
-						else {
-							// Mark the whole END tag as an error segment.
-							Segment errorSeg = new Segment(info.endTag);
-							report(UNNECESSARY_END_TAG_ERROR, errorSeg, info.target);
-						}
-					}
-					else if (info.isXHTML) {
-						Segment errorSeg = new Segment(info.target.getStartOffset(), 0);
-						report(MISSING_START_TAG_ERROR, errorSeg, info.target);
-					}
-				}
-			}
-		}
-
-		if (info.hasEndTag) {
-			if (!info.target.isClosed()) {
-				// Set the whole END tag as error segment.
-				Segment errorSeg = new Segment(info.endTag);
-				report(UNCLOSED_END_TAG_ERROR, errorSeg, info.target);
-			}
-		}
-		else {
-			if (info.isXHTML) { // XHTML
-				if (!info.target.isEmptyTag()) {
-					if (isEmptyContent(info.decl)) {
-						// EMPTY element should be written in <.../> form.
-						Segment errorSeg = FMUtil.getSegment(info.target, FMUtil.SEG_START_TAG);
-						report(INVALID_EMPTY_ELEMENT_TAG, errorSeg, info.target);
-					}
-					else {
-						// end tag is required.
-						Segment errorSeg = new Segment(info.target.getEndOffset(), 0);
-						report(MISSING_END_TAG_ERROR, errorSeg, info.target);
-					}
-				}
-			}
-			else { // HTML
-				if (info.hasStartTag) {
-					if (info.decl != null && CMUtil.isHTML(info.decl) && !info.target.isEmptyTag() && !CMUtil.isEndTagOmissible(info.decl)) {
-						// Set the error mark to the end of the element.
-						Segment errorSeg = new Segment(info.target.getEndOffset(), 0);
-						report(MISSING_END_TAG_ERROR, errorSeg, info.target);
-					}
-				}
-			}
-		}
-	}
-
-	/* perform validation about tag name definition. */
-	private void validateNames(ElementInfo info) {
-		boolean corrupted = info.hasEndTag && isEndTagCorrupted(info);
-		if (info.decl == null) {
-			// If no declaration is retrieved, the target is really
-			// unknown element.
-			if (!info.hasStartTag && corrupted) {
-				reportCorruptedEndTagError(info);
-			}
-			else {
-				Segment errorSeg = FMUtil.getSegment(info.target, FMUtil.SEG_START_TAG);
-				report(UNDEFINED_NAME_ERROR, errorSeg, info.target);
-			}
-		}
-		else {
-			// Even if a declaration could be retrieved, if the end
-			// tag is corrupted, it should be reported as undefined
-			// name. (D202493)
-			if (corrupted) {
-				reportCorruptedEndTagError(info);
-			}
-		}
-	}
-
-	/* perform validation tag case only for XHTML document */
-	private void validateTagCase(ElementInfo info) {
-		String declared = info.decl.getElementName();
-		String startTagName = "";//$NON-NLS-1$
-		String endTagName = "";//$NON-NLS-1$
-		if (declared == null)
-			return;
-
-		// start tag
-		if (info.hasStartTag) {
-			startTagName = getTagName(info.startTag);
-			if (!declared.equals(startTagName)) {
-				TagErrorInfoImpl error = new TagErrorInfoImpl(MISMATCHED_ERROR, info.startTag, startTagName);
-				this.reporter.report(MessageFactory.createMessage(error));
-			}
-		}
-		// end tag
-		if (info.hasEndTag) {
-			endTagName = getTagName(info.endTag);
-			if (!info.hasStartTag || (!endTagName.equals(startTagName))) {
-				if (!declared.equals(endTagName)) {
-					TagErrorInfoImpl error = new TagErrorInfoImpl(MISMATCHED_ERROR, info.endTag, endTagName);
-					this.reporter.report(MessageFactory.createMessage(error));
-				}
-			}
-		}
-	}
-
-	private void validateChildren(Node target) {
-		if ((target.getNodeType() == Node.ELEMENT_NODE) && CMUtil.isForeign((Element) target))
-			return;
-
-		for (Node child = target.getFirstChild(); child != null; child = child.getNextSibling()) {
-			switch (child.getNodeType()) {
-				case Node.TEXT_NODE :
-					{
-						XMLNode text = (XMLNode) child;
-						int charOffset = validateTextSource(text);
-						if (charOffset >= 0) {
-							charOffset += text.getStartOffset();
-							Segment errorSeg = new Segment(charOffset, 1);
-							if (errorSeg != null)
-								report(INVALID_CHAR_ERROR, errorSeg, text);
-						}
-						break;
-					}
-				case Node.COMMENT_NODE :
-				case Node.DOCUMENT_TYPE_NODE :
-				case Node.PROCESSING_INSTRUCTION_NODE :
-				case Node.CDATA_SECTION_NODE :
-					{
-						XMLNode tag = (XMLNode) child;
-						if (!tag.isClosed()) {
-							Segment errorSeg = FMUtil.getSegment(tag, FMUtil.SEG_WHOLE_TAG);
-							if (errorSeg != null)
-								report(UNCLOSED_TAG_ERROR, errorSeg, tag);
-						}
-						break;
-					}
-				default :
-					break;
-			}
-		}
-	}
-
-	private int validateTextSource(XMLNode text) {
-		try {
-			SourceValidator validator = new SourceValidator(text);
-			validator.validateSource(text.getSource());
-		}
-		catch (InvalidCharacterException ex) {
-			return ex.getOffset();
-		}
-		return -1;
-	}
-
-	private void report(int state, Segment errorSeg, Node node) {
-		ErrorInfo info = new ErrorInfoImpl(state, errorSeg, node);
-		reporter.report(MessageFactory.createMessage(info));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/.classpath b/bundles/org.eclipse.wst.html.ui/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.wst.html.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.html.ui/.compatibility b/bundles/org.eclipse.wst.html.ui/.compatibility
deleted file mode 100644
index 730407f..0000000
--- a/bundles/org.eclipse.wst.html.ui/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=4633

diff --git a/bundles/org.eclipse.wst.html.ui/.cvsignore b/bundles/org.eclipse.wst.html.ui/.cvsignore
deleted file mode 100644
index 2f941d8..0000000
--- a/bundles/org.eclipse.wst.html.ui/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-htmleditor.jar
-temp.folder
-build.xml
diff --git a/bundles/org.eclipse.wst.html.ui/.project b/bundles/org.eclipse.wst.html.ui/.project
deleted file mode 100644
index 38bee73..0000000
--- a/bundles/org.eclipse.wst.html.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.html.ui</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/bundles/org.eclipse.wst.html.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.html.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bf65247..0000000
--- a/bundles/org.eclipse.wst.html.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,48 +0,0 @@
-#Wed Jan 12 13:47:41 EST 2005
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.wst.html.ui/build.properties b/bundles/org.eclipse.wst.html.ui/build.properties
deleted file mode 100644
index fb3c968..0000000
--- a/bundles/org.eclipse.wst.html.ui/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-bin.includes = plugin.xml,\
-               *.jar,\
-               html.jar,\
-               icons/,\
-               plugin.properties,\
-               templates/
-source.htmleditor.jar = src/
-src.includes = plugin.xml,\
-               plugin.properties,\
-               icons/,\
-               build.xml,\
-               templates/
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/table.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/table.gif
deleted file mode 100644
index b99b45c..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/table.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-anchor.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-anchor.gif
deleted file mode 100644
index f58992d..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-anchor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-body.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-body.gif
deleted file mode 100644
index 005fa99..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-body.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-button.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-button.gif
deleted file mode 100644
index d143fcf..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-button.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-font.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-font.gif
deleted file mode 100644
index bbb40cb..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-font.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-form.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-form.gif
deleted file mode 100644
index 3b13958..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-form.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-html.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-html.gif
deleted file mode 100644
index fb39ba6..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-html.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-image-map.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-image-map.gif
deleted file mode 100644
index ef3235d..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-image-map.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-image.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-image.gif
deleted file mode 100644
index a988c1d..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-image.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-jsp.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-jsp.gif
deleted file mode 100644
index 4084602..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-jsp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-title.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-title.gif
deleted file mode 100644
index b129090..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag-title.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag.gif b/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag.gif
deleted file mode 100644
index 5e7fb33..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/full/obj16/tag.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/icons/sourceEditor.gif b/bundles/org.eclipse.wst.html.ui/icons/sourceEditor.gif
deleted file mode 100644
index 75ebdb8..0000000
--- a/bundles/org.eclipse.wst.html.ui/icons/sourceEditor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.html.ui/plugin.properties b/bundles/org.eclipse.wst.html.ui/plugin.properties
deleted file mode 100644
index 883d761..0000000
--- a/bundles/org.eclipse.wst.html.ui/plugin.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-providerName=Eclipse.org
-pluginName=SSE HTML Source Editor
-nlFeatureName=SSE HTML Source Editor NL Support
-HTML_Source_Page_Editor.name=HTML Source Page Editor
-HTML_Files.name=HTML Files
-HTML_Source.name=HTML Source
-HTML_Templates.name=HTML Templates
-HTML_Styles.name=HTML Styles
-WebContentSettings.name=Web Content Settings
-Device_Profile_Entry_Provider_Extension.name=Device Profile Entry Provider Extension
-All_HTML_context_type_Extension_Element.name=All HTML context type
-HTML_Tag_context_type_Extension_Element.name=HTML Tag context type
-HTML_Attribute_context_type_Extension_Element.name=HTML Attribute context type
-HTML_Attribute_value_context_type_Extension_Element.name=HTML Attribute value context type
-###############################################################################
-# The following property keys maybe unused. Commented out on 12/7/2004. Uncomment if needed.
-#HTML_Annotations.name=HTML Annotations
diff --git a/bundles/org.eclipse.wst.html.ui/plugin.xml b/bundles/org.eclipse.wst.html.ui/plugin.xml
deleted file mode 100644
index e42668c..0000000
--- a/bundles/org.eclipse.wst.html.ui/plugin.xml
+++ /dev/null
@@ -1,295 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.html.ui"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.wst.html.ui.internal.HTMLUIPlugin">
-
-   <runtime>
-      <library name="htmleditor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.wst.sse.ui"/>
-      <import plugin="org.eclipse.wst.xml.ui"/>
-      <import plugin="org.eclipse.wst.css.ui"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.wst.css.core"/>
-      <import plugin="org.eclipse.wst.html.core"/>
-      <import plugin="org.eclipse.wst.javascript.common.ui"/>
-      <import plugin="org.eclipse.wst.xml.core"/>
-      <import plugin="org.eclipse.wst.common.contentmodel"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.wst.common.encoding"/>
-      <import plugin="org.eclipse.jdt.ui"/>
-      <import plugin="org.eclipse.wst.common.uriresolver"/>
-   </requires>
-
-
-   <extension-point id="deviceProfileEntryProvider" name="%Device_Profile_Entry_Provider_Extension.name"/>
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%HTML_Source_Page_Editor.name"
-            icon="icons/sourceEditor.gif"
-            extensions="html, htm, xhtml, jhtml, shtml, shtm, html-ss, wml"
-            contributorClass="org.eclipse.wst.html.ui.edit.ui.ActionContributorHTML"
-            class="org.eclipse.wst.html.ui.StructuredTextEditorHTML"
-            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-            id="org.eclipse.wst.html.ui.StructuredTextEditorHTML">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.extendedconfiguration">
-      <configuration
-      		type="textviewerconfiguration"
-            class="org.eclipse.wst.html.ui.StructuredTextViewerConfigurationHTML"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-      <configuration
-      		type="contentoutlineconfiguration"
-            class="org.eclipse.wst.html.ui.views.contentoutline.HTMLContentOutlineConfiguration"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-      <configuration
-      		type="propertysheetconfiguration"
-            class="org.eclipse.wst.xml.ui.views.properties.XMLPropertySheetConfiguration"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-      <configuration
-      		type="spellchecktarget"
-            class="org.eclipse.wst.xml.ui.XMLSpellCheckTarget"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-      <configuration
-      		type="sourceeditingtexttools"
-            class="org.eclipse.wst.xml.ui.extensions.XMLSourceEditingTextTools"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-      <configuration
-      		type="characterpairmatcher"
-            class="org.eclipse.wst.html.ui.text.HTMLDocumentRegionEdgeMatcher"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-      <definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.html.ui.preferences"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-      <definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.html.ui.preferences.source"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-      <definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.html.ui.preferences.templates"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-      <definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.html.ui.preferences.styles"
-            target="org.eclipse.wst.html.core.htmlsource"/>
-   </extension>
-   <extension
-      point="org.eclipse.core.filebuffers.annotationModelCreation">
-      <factory
-            contentTypeId="org.eclipse.wst.html.core.htmlsource"
-            class="org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModelFactory"/>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
-      <adapterFactoryDescription
-            class="org.eclipse.wst.html.ui.registry.AdapterFactoryProviderForHTML">
-            <contentType id="org.eclipse.wst.html.core.htmlsource"/>
-      </adapterFactoryDescription>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.embeddedAdapterFactoryProvider">
-      <embeddedAdapterFactoryProvider
-            class="org.eclipse.wst.html.ui.registry.AdapterFactoryProviderForEmbeddedHTML">
-      </embeddedAdapterFactoryProvider>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-<!-- HTML PREFERENCE PAGES-->
-      <page
-            name="%HTML_Files.name"
-            category="org.eclipse.wst.sse.ui.preferences"
-            class="org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage"
-            id="org.eclipse.wst.html.ui.preferences">
-      </page>
-      <page
-            name="%HTML_Source.name"
-            category="org.eclipse.wst.html.ui.preferences"
-            class="org.eclipse.wst.html.ui.preferences.ui.HTMLSourcePreferencePage"
-            id="org.eclipse.wst.html.ui.preferences.source">
-      </page>
-      <page
-            name="%HTML_Templates.name"
-            category="org.eclipse.wst.html.ui.preferences"
-            class="org.eclipse.wst.html.ui.preferences.ui.HTMLTemplatePreferencePage"
-            id="org.eclipse.wst.html.ui.preferences.templates">
-      </page>
-      <page
-            name="%HTML_Styles.name"
-            category="org.eclipse.wst.html.ui.preferences"
-            class="org.eclipse.wst.html.ui.preferences.ui.HTMLColorPage"
-            id="org.eclipse.wst.html.ui.preferences.styles">
-      </page>
-   </extension>
-<!-- Web content settings -->
-   <extension
-         point="org.eclipse.ui.propertyPages">
-<!-- for j2ee web project -->
-      <page
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.ProjectContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.dynamicprojectpropertypage">
-         <filter
-               name="nature"
-               value="org.eclipse.wst.webproject.WebNature">
-         </filter>
-      </page>
-<!-- for static web project -->
-      <page
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.ProjectContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.staticprojectpropertypage">
-         <filter
-               name="nature"
-               value="org.eclipse.wst.webproject.StaticWebNature">
-         </filter>
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            nameFilter="*.htm*"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.htmlpropertypage">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            nameFilter="*.shtml"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.htmlpropertypage">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            nameFilter="*.xhtml"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.htmlpropertypage">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            nameFilter="*.jhtml"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.htmlpropertypage">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            nameFilter="*.jsp"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.htmlpropertypage">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            nameFilter="*.jspf"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.htmlpropertypage">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            nameFilter="*.jsf"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.htmlpropertypage">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%WebContentSettings.name"
-            nameFilter="*.wml"
-            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
-            id="org.eclipse.wst.html.ui.htmlpropertypage">
-      </page>
-   </extension>
-<!-- Editor actionsets -->
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
-         <part
-               id="org.eclipse.wst.html.ui.StructuredTextEditorHTML">
-         </part>
-      </actionSetPartAssociation>
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.NavigateActionSet">
-         <part
-               id="org.eclipse.wst.html.ui.StructuredTextEditorHTML">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-
-<!-- Templates -->
-   <extension
-         point="org.eclipse.ui.editors.templates">
-      <contextType
-            name="%All_HTML_context_type_Extension_Element.name"
-            class="org.eclipse.wst.html.ui.templates.TemplateContextTypeHTML"
-            id="html_all">
-      </contextType>
-      <contextType
-            name="%HTML_Tag_context_type_Extension_Element.name"
-            class="org.eclipse.wst.html.ui.templates.TemplateContextTypeHTMLTag"
-            id="html_tag">
-      </contextType>
-      <contextType
-            name="%HTML_Attribute_context_type_Extension_Element.name"
-            class="org.eclipse.wst.html.ui.templates.TemplateContextTypeHTMLAttribute"
-            id="html_attribute">
-      </contextType>
-      <contextType
-            name="%HTML_Attribute_value_context_type_Extension_Element.name"
-            class="org.eclipse.wst.html.ui.templates.TemplateContextTypeHTMLAttributeValue"
-            id="html_attribute_value">
-      </contextType>
-      <include
-      		file="templates/htmldefault-templates.xml"
-      		translations="templates/htmldefault-templates.properties">
-      </include>
-   </extension>
-	<!-- initialize html ui preferences -->
-	<extension point="org.eclipse.core.runtime.preferences">
-	   <initializer class="org.eclipse.wst.html.ui.internal.preferences.HTMLUIPreferenceInitializer"/>
-	</extension>
-	
-	<!--======================================================================================-->
-	<!-- Document provider for ExternalFileEditorInput                                        -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.ui.editors.documentProviders"> 
-		<provider 
-			inputTypes="org.eclipse.wst.html.ui.internal.hyperlink.ExternalFileEditorInput" 
-			class="org.eclipse.ui.editors.text.TextFileDocumentProvider" 
-			id="org.eclipse.wst.html.ui.internal.ExternalFileDocumentProvider"> 
-		</provider> 
-	</extension> 
-</plugin>
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/HTMLEditorPlugin.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/HTMLEditorPlugin.java
deleted file mode 100644
index a83a823..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/HTMLEditorPlugin.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui;
-
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-
-/**
- * @deprecated use internal HTMLUIPlugin class instead if possible
- */
-public class HTMLEditorPlugin extends HTMLUIPlugin {
-	// see org.eclipse.wst.html.ui.internal.HTMLUIPlugin
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/StructuredTextEditorHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/StructuredTextEditorHTML.java
deleted file mode 100644
index 23e5266..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/StructuredTextEditorHTML.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.html.ui;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.html.ui.edit.ui.CleanupActionHTML;
-import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.html.ui.internal.search.HTMLFindOccurrencesAction;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.edit.util.ActionDefinitionIds;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.search.FindOccurrencesActionProvider;
-import org.eclipse.wst.xml.ui.actions.AddBlockCommentActionXML;
-import org.eclipse.wst.xml.ui.actions.RemoveBlockCommentActionXML;
-import org.eclipse.wst.xml.ui.actions.ToggleCommentActionXML;
-
-public class StructuredTextEditorHTML extends StructuredTextEditor {
-	protected void createActions() {
-		super.createActions();
-
-		ResourceBundle resourceBundle = SSEUIPlugin.getDefault().getResourceBundle();
-
-		Action action = new CleanupActionHTML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.CLEANUP_DOCUMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT, action);
-
-		action = new ToggleCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.TOGGLE_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT, action);
-
-		action = new AddBlockCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.ADD_BLOCK_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT, action);
-
-		action = new RemoveBlockCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.REMOVE_BLOCK_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT, action);
-		
-		FindOccurrencesActionProvider foAction = new FindOccurrencesActionProvider(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES + DOT, this);
-		foAction.addAction(new HTMLFindOccurrencesAction(resourceBundle, "", this)); //$NON-NLS-1$
-		foAction.setActionDefinitionId(ActionDefinitionIds.FIND_OCCURRENCES);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES, foAction);
-		markAsSelectionDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES, true);
-	}
-	protected void initializeEditor() {
-		super.initializeEditor();
-		setHelpContextId(IHelpContextIds.HTML_SOURCEVIEW_HELPID);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/StructuredTextViewerConfigurationHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/StructuredTextViewerConfigurationHTML.java
deleted file mode 100644
index 5787ed2..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/StructuredTextViewerConfigurationHTML.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IAutoEditStrategy;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextDoubleClickStrategy;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.formatter.IContentFormatter;
-import org.eclipse.jface.text.formatter.MultiPassContentFormatter;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.information.IInformationPresenter;
-import org.eclipse.jface.text.information.IInformationProvider;
-import org.eclipse.jface.text.information.InformationPresenter;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.css.core.internal.text.rules.StructuredTextPartitionerForCSS;
-import org.eclipse.wst.css.ui.contentassist.CSSContentAssistProcessor;
-import org.eclipse.wst.css.ui.style.LineStyleProviderForEmbeddedCSS;
-import org.eclipse.wst.html.core.format.HTMLFormatProcessorImpl;
-import org.eclipse.wst.html.core.internal.text.rules.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.html.ui.internal.contentassist.HTMLContentAssistProcessor;
-import org.eclipse.wst.html.ui.internal.contentassist.NoRegionContentAssistProcessorForHTML;
-import org.eclipse.wst.html.ui.internal.hyperlink.URIHyperlinkDetector;
-import org.eclipse.wst.html.ui.style.LineStyleProviderForHTML;
-import org.eclipse.wst.html.ui.taginfo.HTMLBestMatchHoverProcessor;
-import org.eclipse.wst.html.ui.taginfo.HTMLInformationProvider;
-import org.eclipse.wst.html.ui.taginfo.HTMLTagInfoHoverProcessor;
-import org.eclipse.wst.javascript.common.ui.contentassist.JavaScriptContentAssistProcessor;
-import org.eclipse.wst.javascript.common.ui.style.LineStyleProviderForJavaScript;
-import org.eclipse.wst.javascript.common.ui.taginfo.JavaScriptBestMatchHoverProcessor;
-import org.eclipse.wst.javascript.common.ui.taginfo.JavaScriptInformationProvider;
-import org.eclipse.wst.javascript.common.ui.taginfo.JavaScriptTagInfoHoverProcessor;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
-import org.eclipse.wst.sse.ui.format.StructuredFormattingStrategy;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.style.IHighlighter;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-import org.eclipse.wst.sse.ui.taginfo.AnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.taginfo.ProblemAnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.taginfo.TextHoverManager;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-import org.eclipse.wst.xml.ui.doubleclick.XMLDoubleClickStrategy;
-import org.eclipse.wst.xml.ui.internal.autoedit.StructuredAutoEditStrategyXML;
-import org.eclipse.wst.xml.ui.internal.correction.CorrectionProcessorXML;
-import org.eclipse.wst.xml.ui.reconcile.StructuredTextReconcilingStrategyForMarkup;
-
-public class StructuredTextViewerConfigurationHTML extends StructuredTextViewerConfiguration {
-
-	InformationPresenter fInformationPresenter = null;
-
-	private JavaSourceViewerConfiguration fJavaSourceViewerConfiguration;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.StructuredTextViewerConfiguration#getAutoEditStrategies(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public Map getAutoEditStrategies(ISourceViewer sourceViewer) {
-		Map result = super.getAutoEditStrategies(sourceViewer);
-
-		if (result.get(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML) == null)
-			result.put(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML, new ArrayList(1));
-		if (result.get(StructuredTextPartitionerForHTML.ST_HTML_DECLARATION) == null)
-			result.put(StructuredTextPartitionerForHTML.ST_HTML_DECLARATION, new ArrayList(1));
-
-		IAutoEditStrategy autoEditStrategy = new StructuredAutoEditStrategyXML();
-		List strategies = (List) result.get(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-		strategies.add(autoEditStrategy);
-		strategies = (List) result.get(StructuredTextPartitionerForHTML.ST_HTML_DECLARATION);
-		strategies.add(autoEditStrategy);
-
-		return result;
-	}
-
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-		if (configuredContentTypes == null) {
-			String[] xmlTypes = StructuredTextPartitionerForXML.getConfiguredContentTypes();
-			String[] htmlTypes = StructuredTextPartitionerForHTML.getConfiguredContentTypes();
-			configuredContentTypes = new String[2 + xmlTypes.length + htmlTypes.length];
-
-			configuredContentTypes[0] = StructuredTextPartitioner.ST_DEFAULT_PARTITION;
-			configuredContentTypes[1] = StructuredTextPartitioner.ST_UNKNOWN_PARTITION;
-
-			int index = 0;
-			System.arraycopy(xmlTypes, 0, configuredContentTypes, index += 2, xmlTypes.length);
-			System.arraycopy(htmlTypes, 0, configuredContentTypes, index += xmlTypes.length, htmlTypes.length);
-		}
-
-		return configuredContentTypes;
-	}
-
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		IContentAssistant ca = super.getContentAssistant(sourceViewer);
-
-		if (ca != null && ca instanceof ContentAssistant) {
-			ContentAssistant contentAssistant = (ContentAssistant) ca;
-
-			IContentAssistProcessor htmlContentAssistProcessor = new HTMLContentAssistProcessor();
-			IContentAssistProcessor jsContentAssistProcessor = new JavaScriptContentAssistProcessor();
-			IContentAssistProcessor cssContentAssistProcessor = new CSSContentAssistProcessor();
-			IContentAssistProcessor noRegionProcessorForHTML = new NoRegionContentAssistProcessorForHTML();
-
-			// HTML
-			setContentAssistProcessor(contentAssistant, htmlContentAssistProcessor, StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-			setContentAssistProcessor(contentAssistant, htmlContentAssistProcessor, StructuredTextPartitionerForHTML.ST_HTML_COMMENT);
-
-			// JavaScript
-			setContentAssistProcessor(contentAssistant, jsContentAssistProcessor, StructuredTextPartitionerForHTML.ST_SCRIPT);
-
-			// CSS
-			setContentAssistProcessor(contentAssistant, cssContentAssistProcessor, StructuredTextPartitionerForCSS.ST_STYLE);
-
-			// unknown
-			setContentAssistProcessor(contentAssistant, noRegionProcessorForHTML, StructuredTextPartitioner.ST_UNKNOWN_PARTITION);
-		}
-
-		return ca;
-	}
-
-	public IContentFormatter getContentFormatter(ISourceViewer sourceViewer) {
-		final MultiPassContentFormatter formatter = new MultiPassContentFormatter(getConfiguredDocumentPartitioning(sourceViewer), StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-
-		formatter.setMasterStrategy(new StructuredFormattingStrategy(new HTMLFormatProcessorImpl()));
-
-		return formatter;
-	}
-
-	public IContentAssistant getCorrectionAssistant(ISourceViewer sourceViewer) {
-		IContentAssistant ca = super.getCorrectionAssistant(sourceViewer);
-
-		if (ca != null && ca instanceof ContentAssistant) {
-			ContentAssistant correctionAssistant = (ContentAssistant) ca;
-			ITextEditor editor = getTextEditor();
-			if (editor != null) {
-				IContentAssistProcessor correctionProcessor = new CorrectionProcessorXML(editor);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_XML_CDATA);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_XML_COMMENT);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_XML_DECLARATION);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_XML_PI);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_DTD_SUBSET);
-			}
-		}
-
-		return ca;
-	}
-
-	public ITextDoubleClickStrategy getDoubleClickStrategy(ISourceViewer sourceViewer, String contentType) {
-		if (contentType.compareTo(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML) == 0)
-			// HTML
-			return new XMLDoubleClickStrategy();
-		else if (contentType.compareTo(StructuredTextPartitionerForHTML.ST_SCRIPT) == 0)
-			// JavaScript
-			return getJavaSourceViewerConfiguration(sourceViewer).getDoubleClickStrategy(sourceViewer, contentType);
-		else
-			return super.getDoubleClickStrategy(sourceViewer, contentType);
-	}
-
-	public IHighlighter getHighlighter(ISourceViewer sourceViewer) {
-		IHighlighter highlighter = super.getHighlighter(sourceViewer);
-
-		if (highlighter != null) {
-			// HTML
-			LineStyleProvider htmlLineStyleProvider = new LineStyleProviderForHTML();
-			highlighter.addProvider(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML, htmlLineStyleProvider);
-			highlighter.addProvider(StructuredTextPartitionerForHTML.ST_HTML_COMMENT, htmlLineStyleProvider);
-			highlighter.addProvider(StructuredTextPartitionerForHTML.ST_HTML_DECLARATION, htmlLineStyleProvider);
-
-			// JavaScript
-			LineStyleProvider jsLineStyleProvider = new LineStyleProviderForJavaScript();
-			highlighter.addProvider(StructuredTextPartitionerForHTML.ST_SCRIPT, jsLineStyleProvider);
-
-			// CSS
-			LineStyleProvider cssLineStyleProvider = new LineStyleProviderForEmbeddedCSS();
-			highlighter.addProvider(StructuredTextPartitionerForCSS.ST_STYLE, cssLineStyleProvider);
-		}
-
-		return highlighter;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.editors.text.TextSourceViewerConfiguration#getHyperlinkDetectors(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IHyperlinkDetector[] getHyperlinkDetectors(ISourceViewer sourceViewer) {
-		if (sourceViewer == null || !fPreferenceStore.getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINKS_ENABLED))
-			return null;
-
-		List allDetectors = new ArrayList(0);
-		allDetectors.add(new URIHyperlinkDetector());
-
-		IHyperlinkDetector[] superDetectors = super.getHyperlinkDetectors(sourceViewer);
-		for (int m = 0; m < superDetectors.length; m++) {
-			IHyperlinkDetector detector = superDetectors[m];
-			if (!allDetectors.contains(detector)) {
-				allDetectors.add(detector);
-			}
-		}
-		return (IHyperlinkDetector[]) allDetectors.toArray(new IHyperlinkDetector[0]);
-	}
-
-	public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
-		if (fInformationPresenter == null) {
-			fInformationPresenter = new InformationPresenter(getInformationPresenterControlCreator(sourceViewer));
-
-			// HTML
-			IInformationProvider htmlInformationProvider = new HTMLInformationProvider();
-			fInformationPresenter.setInformationProvider(htmlInformationProvider, StructuredTextPartitionerForHTML.ST_DEFAULT_HTML);
-
-			// JavaScript
-			IInformationProvider javascriptInformationProvider = new JavaScriptInformationProvider();
-			fInformationPresenter.setInformationProvider(javascriptInformationProvider, StructuredTextPartitionerForHTML.ST_SCRIPT);
-
-			fInformationPresenter.setSizeConstraints(60, 10, true, true);
-		}
-
-		return fInformationPresenter;
-	}
-
-	private JavaSourceViewerConfiguration getJavaSourceViewerConfiguration(ISourceViewer viewer) {
-		if (fJavaSourceViewerConfiguration == null) {
-			IPreferenceStore store = PreferenceConstants.getPreferenceStore();
-			JavaTextTools javaTextTools = new JavaTextTools(store);
-			fJavaSourceViewerConfiguration = new JavaSourceViewerConfiguration(javaTextTools.getColorManager(), store, getTextEditor(), getConfiguredDocumentPartitioning(viewer));
-		}
-		return fJavaSourceViewerConfiguration;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getReconcilerg(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IReconciler getReconciler(ISourceViewer sourceViewer) {
-		if (fReconciler != null) {
-			// a reconciler should always either be installed or disposed of
-			if (!fReconciler.isInstalled()) {
-				fReconciler = null;
-			}
-		}
-
-		if (fReconciler == null) {
-			// create one
-			fReconciler = new StructuredRegionProcessor();
-			fReconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-		}
-
-		boolean reconcilingEnabled = fPreferenceStore.getBoolean(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS);
-
-		if (!reconcilingEnabled)
-			return fReconciler;
-
-		if (fReconciler != null) {
-			IDocument doc = ((StructuredTextEditor) editorPart).getDocumentProvider().getDocument(editorPart.getEditorInput());
-			IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-			try {
-				if (sModel != null) {
-
-					String contentTypeId = sModel.getContentTypeIdentifier();
-
-					IReconcilingStrategy markupStrategy = new StructuredTextReconcilingStrategyForMarkup((ITextEditor) editorPart);
-
-					fReconciler.setReconcilingStrategy(markupStrategy, StructuredTextPartitioner.ST_DEFAULT_PARTITION);
-					fReconciler.setReconcilingStrategy(markupStrategy, StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-
-					fReconciler.setDefaultStrategy(markupStrategy);
-
-					if (contentTypeId != null)
-						fReconciler.setValidatorStrategy(createValidatorStrategy(contentTypeId));
-				}
-			}
-			finally {
-				if (sModel != null)
-					sModel.releaseFromRead();
-			}
-		}
-		return fReconciler;
-	}
-
-	public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType, int stateMask) {
-		ITextHover hover = null;
-		TextHoverManager.TextHoverDescriptor[] hoverDescs = getTextHovers();
-		int i = 0;
-		while (i < hoverDescs.length && hover == null) {
-			if (hoverDescs[i].isEnabled() && EditorUtility.computeStateMask(hoverDescs[i].getModifierString()) == stateMask) {
-				String hoverType = hoverDescs[i].getId();
-				if (TextHoverManager.COMBINATION_HOVER.equalsIgnoreCase(hoverType)) {
-					// treat specially if it's JavaScript, HTML otherwise
-					if (contentType.equals(StructuredTextPartitionerForHTML.ST_SCRIPT)) {
-						hover = new JavaScriptBestMatchHoverProcessor();
-					}
-					else {
-						hover = new HTMLBestMatchHoverProcessor();
-					}
-				}
-				else if (TextHoverManager.PROBLEM_HOVER.equalsIgnoreCase(hoverType)) {
-					hover = new ProblemAnnotationHoverProcessor();
-				}
-				else if (TextHoverManager.ANNOTATION_HOVER.equalsIgnoreCase(hoverType)) {
-					hover = new AnnotationHoverProcessor();
-				}
-				else if (TextHoverManager.DOCUMENTATION_HOVER.equalsIgnoreCase(hoverType)) {
-					// treat specially if it's JavaScript, HTML otherwise
-					if (contentType.equals(StructuredTextPartitionerForHTML.ST_SCRIPT)) {
-						hover = new JavaScriptTagInfoHoverProcessor();
-					}
-					else {
-						hover = new HTMLTagInfoHoverProcessor();
-					}
-				}
-			}
-			i++;
-		}
-		if (hover == null) {
-			hover = super.getTextHover(sourceViewer, contentType, stateMask);
-		}
-		return hover;
-	}
-
-	public void unConfigure(ISourceViewer viewer) {
-		super.unConfigure(viewer);
-
-		// InformationPresenters
-		if (fInformationPresenter != null)
-			fInformationPresenter.uninstall();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/AbstractDeviceProfileEntry.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/AbstractDeviceProfileEntry.java
deleted file mode 100644
index b27b15a..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/AbstractDeviceProfileEntry.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.contentproperties.ui;
-
-public class AbstractDeviceProfileEntry implements DeviceProfileEntry {
-
-	public AbstractDeviceProfileEntry() {
-		super();
-	}
-
-	public String getEntryId() {
-		return null;
-	}
-
-	public String getEntryName() {
-		return null;
-	}
-
-	public void release() {
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/AbstractDeviceProfileEntryProvider.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/AbstractDeviceProfileEntryProvider.java
deleted file mode 100644
index 5a21e4f..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/AbstractDeviceProfileEntryProvider.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.contentproperties.ui;
-
-import java.util.Iterator;
-
-public class AbstractDeviceProfileEntryProvider implements
-		DeviceProfileEntryProvider {
-
-	public AbstractDeviceProfileEntryProvider() {
-		super();
-	}
-
-	public Iterator getDeviceProfileEntries() {
-		return null;
-	}
-
-	public void release() {
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/ContentSettingsRegistry.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/ContentSettingsRegistry.java
deleted file mode 100644
index 82aee30..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/ContentSettingsRegistry.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.contentproperties.ui;
-
-import java.util.Enumeration;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.encoding.CommonCharsetNames;
-import org.eclipse.wst.css.core.metamodel.CSSProfile;
-import org.eclipse.wst.css.core.metamodel.CSSProfileRegistry;
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeEntry;
-import org.eclipse.wst.html.core.document.HTMLDocumentTypeRegistry;
-import org.eclipse.wst.sse.ui.contentproperties.ui.ComboList;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public final class ContentSettingsRegistry {
-
-	private static final String NONE = SSEUIPlugin.getResourceString("%UI_none"); //$NON-NLS-1$
-
-	public static String maxLengthStringInHTMLDocumentTypeRegistry = ""; //$NON-NLS-1$
-	public static String maxLengthStringInCharacterCodeRegistry = ""; //$NON-NLS-1$
-
-	private ContentSettingsRegistry() {
-	}
-
-	public static void setHTMLDocumentTypeRegistryInto(ComboList combo) {
-		combo.add(NONE, ""); //$NON-NLS-1$
-		HTMLDocumentTypeRegistry reg = HTMLDocumentTypeRegistry.getInstance();
-		Enumeration e = reg.getEntries();
-		while (e.hasMoreElements()) {
-			HTMLDocumentTypeEntry entry = (HTMLDocumentTypeEntry) e.nextElement();
-			String publicId = entry.getPublicId();
-			String displayName = entry.getDisplayName();
-			if (displayName != null) {
-				combo.add(displayName, publicId);
-				if (displayName.length() > maxLengthStringInHTMLDocumentTypeRegistry.length())
-					maxLengthStringInHTMLDocumentTypeRegistry = displayName;
-			}
-			else
-				combo.add(publicId, publicId);
-			if (publicId.length() > maxLengthStringInHTMLDocumentTypeRegistry.length())
-				maxLengthStringInHTMLDocumentTypeRegistry = publicId;
-			if (entry.getSystemId() == null)
-				continue; // if HTML entry
-			if (entry.getSystemId().length() > maxLengthStringInHTMLDocumentTypeRegistry.length())
-				maxLengthStringInHTMLDocumentTypeRegistry = entry.getSystemId();
-		}
-
-		combo.sortByKey(1);
-	}
-
-	public static void setCSSMetaModelRegistryInto(ComboList combo) {
-		 combo.add(NONE, ""); //$NON-NLS-1$
-		 CSSProfileRegistry reg = CSSProfileRegistry.getInstance();
-		 Iterator i = reg.getProfiles();
-		 while (i.hasNext()) {
-		 	CSSProfile profile = (CSSProfile) i.next();
-		 	String id = profile.getProfileID();
-		 	String name = profile.getProfileName();
-		 	combo.add(name, id);
-		 }
-		 combo.sortByKey(1);
-	}
-
-	public static void setDeviceProfileRegistryInto(ComboList combo) {
-		combo.add(NONE, ""); //$NON-NLS-1$
-		DeviceProfileEntryProvider reg = DeviceProfileEntryProviderBuilder.getEntryProvider();
-		if (reg == null) {
-			return;
-		}
-		Iterator profiles = reg.getDeviceProfileEntries();
-		if (profiles == null) {
-			reg.release();
-			return;
-		}
-		DeviceProfileEntry entry;
-		while (profiles.hasNext()) {
-			entry = (DeviceProfileEntry) profiles.next();
-			combo.add(entry.getEntryName(), entry.getEntryId());
-			entry.release();
-		}
-		reg.release();
-		combo.sortByKey(1);
-	}
-
-	public static String getSystemIdFrom(String publicId) {
-		if (publicId == null || publicId.length() == 0)
-			return null;
-		HTMLDocumentTypeRegistry reg = HTMLDocumentTypeRegistry.getInstance();
-		Enumeration e = reg.getEntries();
-		while (e.hasMoreElements()) {
-			HTMLDocumentTypeEntry entry = (HTMLDocumentTypeEntry) e.nextElement();
-			if (entry.getPublicId().equals(publicId))
-				return entry.getSystemId();
-		}
-		return null;
-	}
-
-	public static void setContentTypeInto(ComboList combo) {
-		String[] type = {"", //$NON-NLS-1$
-					"application/xhtml+xml", //$NON-NLS-1$
-					"application/xml", //$NON-NLS-1$
-					"text/html", //$NON-NLS-1$
-					"text/xml",}; //$NON-NLS-1$
-		String[] displayName = {NONE, "application/xhtml+xml", //$NON-NLS-1$
-		//$NON-NLS-1$
-					"application/xml", //$NON-NLS-1$
-					"text/html", //$NON-NLS-1$
-					"text/xml",}; //$NON-NLS-1$
-		for (int i = 0; i < type.length; i++) {
-			if (displayName[i] != null && displayName[i].length() != 0)
-				combo.add(displayName[i], type[i]);
-			else
-				combo.add(type[i], type[i]);
-		}
-
-	}
-
-	public static void setCharacterCodeInto(ComboList combo) {
-		combo.add(NONE, ""); //$NON-NLS-1$
-		String max = ""; //$NON-NLS-1$
-		//CommonCharsetNames encoding = new CommonCharsetNames();
-		String[] charCode = CommonCharsetNames.getCommonCharsetNames();
-		for (int i = 0; i < charCode.length; i++) {
-			String displayName = CommonCharsetNames.getDisplayString(charCode[i]);
-			if (displayName != null && displayName.length() != 0) {
-				combo.add(displayName, charCode[i]);
-				int n_byte = displayName.getBytes().length;
-				if (max.getBytes().length < n_byte)
-					max = displayName;
-			}
-			else
-				combo.add(charCode[i], charCode[i]);
-		}
-		/*	
-		 charCode = encoding.getSupportedJavaEncodings();
-		 for(int i=0;i<charCode.length;i++){
-		 String displayName = encoding.getDisplayString(charCode[i]);
-		 if (displayName!=null && displayName.length()!=0)
-		 combo.add(displayName,charCode[i]);
-		 else
-		 combo.add(charCode[i],charCode[i]);
-		 }
-		 */
-		//	combo.sortByKey(1);
-		maxLengthStringInCharacterCodeRegistry = max;
-	}
-
-	public static void setLanguageInto(ComboList combo) {
-		String[] lang = {"", //$NON-NLS-1$
-					"java", //$NON-NLS-1$
-					"javascript",}; //$NON-NLS-1$
-		String[] displayName = {NONE, "java", //$NON-NLS-1$
-		//$NON-NLS-1$
-					"javascript",}; //$NON-NLS-1$
-		for (int i = 0; i < lang.length; i++) {
-			if (displayName[i] != null && displayName[i].length() != 0)
-				combo.add(displayName[i], lang[i]);
-			else
-				combo.add(lang[i], lang[i]);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/DeviceProfileEntry.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/DeviceProfileEntry.java
deleted file mode 100644
index 489e257..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/DeviceProfileEntry.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.contentproperties.ui;
-
-/**
- * <p>
- * This interface is not intended to be implemented by clients
- * directly. Instead, please use abstract class(AbstractDeviceProfileEntry) instead.
- * </p>
- */
-public interface DeviceProfileEntry {
-	public String getEntryId();
-	public String getEntryName();
-	public void release();
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/DeviceProfileEntryProvider.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/DeviceProfileEntryProvider.java
deleted file mode 100644
index 5191586..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/DeviceProfileEntryProvider.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.contentproperties.ui;
-
-import java.util.Iterator;
-
-/**
- * <p>
- * This interface is not intended to be implemented by clients
- * directly. Instead, please use abstract class(AbstractDeviceProfileEntryProvider) instead.
- * </p>
- */
-public interface DeviceProfileEntryProvider {
-	public Iterator getDeviceProfileEntries();
-	public void release();
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/DeviceProfileEntryProviderBuilder.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/DeviceProfileEntryProviderBuilder.java
deleted file mode 100644
index 79fb3f6..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/DeviceProfileEntryProviderBuilder.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.contentproperties.ui;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-
-public class DeviceProfileEntryProviderBuilder {
-	private static final String EXTENSION_POINT_PLUGINID = "org.eclipse.wst.html.ui";  //$NON-NLS-1$
-	private static final String EXTENSION_POINT_NAME = "deviceProfileEntryProvider"; //$NON-NLS-1$
-	private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-
-	public DeviceProfileEntryProviderBuilder() {
-		super();
-	}
-	static public DeviceProfileEntryProvider getEntryProvider() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(EXTENSION_POINT_PLUGINID, EXTENSION_POINT_NAME);
-		if (point != null) {
-			IExtension extensions[] = point.getExtensions();
-			if ((extensions != null) && (extensions.length > 0)) {
-				for (int i = 0; i < extensions.length; i++) {
-					IConfigurationElement elements[] = extensions[i].getConfigurationElements();
-					if ((elements != null) && (elements.length > 0)) {
-						for (int j = 0; j < elements.length; j++) {
-							IConfigurationElement config = elements[j];
-							if ((config != null) && (config.getName().equals(EXTENSION_POINT_NAME) == true)) {
-								String className = config.getAttribute(ATTR_CLASS);
-								if (className != null) {
-									try {
-										DeviceProfileEntryProvider provider = (DeviceProfileEntryProvider)config.createExecutableExtension(ATTR_CLASS);
-										if (provider != null) {
-											return provider;
-										}
-									} catch (CoreException ignored) {
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/HTMLContentSettingsPropertyPage.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/HTMLContentSettingsPropertyPage.java
deleted file mode 100644
index 6d6e0dc..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/HTMLContentSettingsPropertyPage.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.contentproperties.ui;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.html.ui.internal.Logger;
-import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.contentproperties.IContentSettings;
-import org.eclipse.wst.sse.ui.contentproperties.ui.ComboListOnPropertyPage;
-import org.eclipse.wst.sse.ui.contentproperties.ui.ContentSettingsPropertyPage;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public final class HTMLContentSettingsPropertyPage extends ContentSettingsPropertyPage implements org.eclipse.swt.events.SelectionListener {
-
-
-	private final int N_DOCUMENT_TYPE = 0;
-	private final int N_CSS_PROFILE = 1;
-	private final int N_TARGET_DEVICE = 2;
-
-	private Text publicIdText;
-	private Text systemIdText;
-
-	public HTMLContentSettingsPropertyPage() {
-		super();
-		numberOfCombo = 3;
-		numCols = 2;
-		numRows = 8;
-		combo = new ComboListOnPropertyPage[super.numberOfCombo];
-
-	}
-
-
-
-	protected void createDocumentTypeComboBox() {
-
-		// create description of implecit DOCTYPE	
-		Label label = new Label(propertyPage, SWT.LEFT);
-		label.setText(SSEUIPlugin.getResourceString("%UI_Description_of_role_of_following_DOCTYPE"));//$NON-NLS-1$
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = numCols;
-		label.setLayoutData(data);
-
-		// create combobox
-		super.combo[N_DOCUMENT_TYPE] = super.createComboBoxOf(DOCUMENT_LABEL);
-		super.combo[this.N_DOCUMENT_TYPE].addSelectionListener(this);
-		// set entry list into Combo
-		ContentSettingsRegistry.setHTMLDocumentTypeRegistryInto(combo[N_DOCUMENT_TYPE]);
-		//	create TextField
-		createIDTextField();
-		if (combo[N_DOCUMENT_TYPE].getItemCount() <= 0)
-			return;
-
-		String initValue = contentSettings.getProperty((IResource) super.getElement(), IContentSettings.HTML_DOCUMENT_TYPE);
-		// when either .contentsettings or element doesn't exist
-		// when attribute doesn't exists,getProperty returns empty string.
-		if (initValue == null)
-			initValue = ""; //$NON-NLS-1$
-		// set init selectionItem in Combo
-		super.setSelectionItem(combo[N_DOCUMENT_TYPE], initValue);
-		this.publicIdText.setText(initValue);
-		if (!initValue.equals("")) {//$NON-NLS-1$
-			// toro D210260
-			if (ContentSettingsRegistry.getSystemIdFrom(initValue) != null)
-				this.systemIdText.setText(ContentSettingsRegistry.getSystemIdFrom(initValue));
-			else
-				this.systemIdText.setText("");//$NON-NLS-1$
-		}
-		else
-			this.systemIdText.setText("");//$NON-NLS-1$
-
-		// create separator
-		label = new Label(propertyPage, SWT.SEPARATOR | SWT.HORIZONTAL);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = numCols;
-		data.verticalSpan = 8;
-		label.setLayoutData(data);
-
-	}
-
-
-
-	protected void createCSSComboBox() {
-		super.combo[N_CSS_PROFILE] = super.createComboBoxOf(CSS_LABEL);
-
-		ContentSettingsRegistry.setCSSMetaModelRegistryInto(combo[N_CSS_PROFILE]);
-		if (combo[N_CSS_PROFILE].getItemCount() <= 0)
-			return;
-		String initValue = contentSettings.getProperty((IResource) super.getElement(), IContentSettings.CSS_PROFILE);
-		// when either .contentsettings or element doesn't exist
-		// when attribute doesn't exists,getProperty returns empty string.
-		if (initValue == null)
-			initValue = ""; //$NON-NLS-1$
-		// set init selectionItem in Combo
-		super.setSelectionItem(combo[N_CSS_PROFILE], initValue);
-	}
-
-
-
-	protected void createDeviceComboBox() {
-		super.combo[N_TARGET_DEVICE] = super.createComboBoxOf(DEVICE_LABEL);
-
-		ContentSettingsRegistry.setDeviceProfileRegistryInto(combo[N_TARGET_DEVICE]);
-		if (combo[N_TARGET_DEVICE].getItemCount() <= 0)
-			return;
-		String initValue = contentSettings.getProperty((IResource) super.getElement(), IContentSettings.DEVICE_PROFILE);
-		// when either .contentsettings or element doesn't exist
-		// when attribute doesn't exists,getProperty returns empty string.
-		if (initValue == null)
-			initValue = ""; //$NON-NLS-1$
-		// set init selectionItem in Combo
-		super.setSelectionItem(combo[N_TARGET_DEVICE], initValue);
-	}
-
-
-	protected void createSettingsPageGUI() {
-		int type = ((IResource) getElement()).getType();
-		switch (type) {
-			case IResource.FILE :
-				//	composite = createComposite(propertyPage,numCols,numRows);
-				createDocumentTypeComboBox();
-				createCSSComboBox();
-				createDeviceComboBox();
-				computeMaxWidthHint();
-				WorkbenchHelp.setHelp(propertyPage, IHelpContextIds.WEB_CONTENT_SETTINGS_HELPID);
-				break;
-
-			default :
-				Logger.log(Logger.WARNING, "HTMLContentSettingsPropertyPage is instantiated by resource except FILE");//$NON-NLS-1$
-				break;
-		}
-
-	}
-
-
-
-	protected void putSelectedPropertyInto(Map properties, String valueInCombo, int index) {
-
-		switch (index) {
-			case N_DOCUMENT_TYPE :
-				// doc type
-				properties.put(IContentSettings.HTML_DOCUMENT_TYPE, valueInCombo);
-				break;
-			case N_CSS_PROFILE :
-				// css
-				properties.put(IContentSettings.CSS_PROFILE, valueInCombo);
-				break;
-			case N_TARGET_DEVICE :
-				// device
-				properties.put(IContentSettings.DEVICE_PROFILE, valueInCombo);
-				break;
-			default :
-				Logger.log(Logger.ERROR, "Index is out of range in putSelectedPropertyInto() in class HTMLContentSettingsPropertyPage");//$NON-NLS-1$
-				break;
-		}
-
-	}
-
-	protected void deleteNoneProperty(int index) {
-		switch (index) {
-			case N_DOCUMENT_TYPE :
-				// doc type
-				contentSettings.deleteProperty((IResource) super.getElement(), IContentSettings.HTML_DOCUMENT_TYPE);
-				break;
-			case N_CSS_PROFILE :
-				// css
-				contentSettings.deleteProperty((IResource) super.getElement(), IContentSettings.CSS_PROFILE);
-				break;
-			case N_TARGET_DEVICE :
-				// device
-				contentSettings.deleteProperty((IResource) super.getElement(), IContentSettings.DEVICE_PROFILE);
-				break;
-			default :
-				Logger.log(Logger.ERROR, "Index is out of range in deleteNoneProperty() in class HTMLContentSettingsPropertyPage");//$NON-NLS-1$
-				break;
-		}
-	}
-
-	private void createIDTextField() {
-		// public ID & System ID
-		Label publicLabel = new Label(super.propertyPage, SWT.NONE);
-		GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
-		data.horizontalIndent = 10;
-		publicLabel.setLayoutData(data);
-		publicLabel.setText(SSEUIPlugin.getResourceString("%UI_Public_ID"));//$NON-NLS-1$
-		publicIdText = new Text(super.propertyPage, SWT.BORDER | SWT.READ_ONLY);
-		data = new GridData();
-
-		publicIdText.setLayoutData(data);
-
-		Label systemLabel = new Label(super.propertyPage, SWT.NONE);
-		data = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
-		data.horizontalIndent = 10;
-		systemLabel.setLayoutData(data);
-		systemLabel.setText(SSEUIPlugin.getResourceString("%UI_System_ID"));//$NON-NLS-1$
-		systemIdText = new Text(super.propertyPage, SWT.BORDER | SWT.READ_ONLY);
-		data = new GridData();
-
-		systemIdText.setLayoutData(data);
-	}
-
-
-
-	private void computeMaxWidthHint() {
-		// maxLengthString was set when HTMLDocumentTypeEntry was set in class ContentSettingsRegistry.
-		String maxLengthString = ContentSettingsRegistry.maxLengthStringInHTMLDocumentTypeRegistry;
-		String backup = this.systemIdText.getText();
-		this.systemIdText.setText(maxLengthString);
-		int maxWidthHint = this.systemIdText.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-		this.systemIdText.setText(backup);
-
-		if (this.combo[this.N_DOCUMENT_TYPE].getLayoutData() != null)
-			((GridData) this.combo[this.N_DOCUMENT_TYPE].getLayoutData()).widthHint = maxWidthHint;
-		if (this.publicIdText.getLayoutData() != null)
-			((GridData) this.publicIdText.getLayoutData()).widthHint = maxWidthHint;
-		if (this.systemIdText.getLayoutData() != null)
-			((GridData) this.systemIdText.getLayoutData()).widthHint = maxWidthHint;
-		if (this.combo[this.N_CSS_PROFILE].getLayoutData() != null)
-			((GridData) this.combo[this.N_CSS_PROFILE].getLayoutData()).widthHint = maxWidthHint;
-		if (this.combo[this.N_TARGET_DEVICE].getLayoutData() != null)
-			((GridData) this.combo[this.N_TARGET_DEVICE].getLayoutData()).widthHint = maxWidthHint;
-
-	}
-
-
-	public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
-	}
-
-	public void widgetSelected(org.eclipse.swt.events.SelectionEvent event) {
-		Widget source = event.widget;
-
-		if (this.combo[this.N_DOCUMENT_TYPE].equals(source)) {
-			ComboListOnPropertyPage combo = this.combo[this.N_DOCUMENT_TYPE];
-			if (combo.getSelectionIndex() < 0)
-				return;
-			if (!combo.getSelectedValue().equals("")) {//$NON-NLS-1$
-				this.publicIdText.setText(combo.getSelectedValue());
-				if (ContentSettingsRegistry.getSystemIdFrom(combo.getSelectedValue()) != null)
-					this.systemIdText.setText(ContentSettingsRegistry.getSystemIdFrom(combo.getSelectedValue()));
-				else
-					this.systemIdText.setText("");//$NON-NLS-1$
-			}
-			else {
-				this.publicIdText.setText("");//$NON-NLS-1$
-				this.systemIdText.setText(""); //$NON-NLS-1$
-			}
-
-		}
-	}
-
-	protected void performDefaults() {
-		super.performDefaults();
-		this.publicIdText.setText("");//$NON-NLS-1$
-		this.systemIdText.setText(""); //$NON-NLS-1$
-
-	}
-
-
-}
-
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/ProjectContentSettingsPropertyPage.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/ProjectContentSettingsPropertyPage.java
deleted file mode 100644
index 0dd50b8..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/contentproperties/ui/ProjectContentSettingsPropertyPage.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.contentproperties.ui;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.html.ui.internal.Logger;
-import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.contentproperties.IContentSettings;
-import org.eclipse.wst.sse.ui.contentproperties.ui.ComboListOnPropertyPage;
-import org.eclipse.wst.sse.ui.contentproperties.ui.ContentSettingsPropertyPage;
-
-public final class ProjectContentSettingsPropertyPage extends ContentSettingsPropertyPage implements org.eclipse.swt.events.SelectionListener {
-
-
-	private final int N_DOCUMENT_TYPE = 0;
-	private final int N_CSS_PROFILE = 1;
-	private final int N_TARGET_DEVICE = 2;
-
-	private Text publicIdText;
-	private Text systemIdText;
-
-	public ProjectContentSettingsPropertyPage() {
-		super();
-		numberOfCombo = 3;
-		numCols = 2;
-		numRows = 8;
-		combo = new ComboListOnPropertyPage[super.numberOfCombo];
-
-	}
-
-
-
-	protected void createDocumentTypeComboBox() {
-
-		// create description of implecit DOCTYPE	
-		Label label = new Label(propertyPage, SWT.LEFT);
-		label.setText(HTMLUIPlugin.getResourceString("%UI_Description_of_role_of_following_DOCTYPE"));//$NON-NLS-1$
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = numCols;
-		label.setLayoutData(data);
-
-		// create combobox
-		super.combo[N_DOCUMENT_TYPE] = super.createComboBoxOf(DOCUMENT_LABEL);
-		super.combo[this.N_DOCUMENT_TYPE].addSelectionListener(this);
-		// set entry list into Combo
-		ContentSettingsRegistry.setHTMLDocumentTypeRegistryInto(combo[N_DOCUMENT_TYPE]);
-		//	create TextField
-		createIDTextField();
-		if (combo[N_DOCUMENT_TYPE].getItemCount() <= 0)
-			return;
-
-		String initValue = contentSettings.getProperty((IResource) super.getElement(), IContentSettings.HTML_DOCUMENT_TYPE);
-		// when either .contentsettings or element doesn't exist
-		// when attribute doesn't exists,getProperty returns empty string.
-		if (initValue == null)
-			initValue = ""; //$NON-NLS-1$
-		// set init selectionItem in Combo
-		super.setSelectionItem(combo[N_DOCUMENT_TYPE], initValue);
-		this.publicIdText.setText(initValue);
-		if (!initValue.equals("")) {//$NON-NLS-1$
-			// toro D210260
-			if (ContentSettingsRegistry.getSystemIdFrom(initValue) != null)
-				this.systemIdText.setText(ContentSettingsRegistry.getSystemIdFrom(initValue));
-			else
-				this.systemIdText.setText("");//$NON-NLS-1$
-		}
-		else
-			this.systemIdText.setText("");//$NON-NLS-1$
-
-		// create separator
-		label = new Label(propertyPage, SWT.SEPARATOR | SWT.HORIZONTAL);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = numCols;
-		data.verticalSpan = 8;
-		label.setLayoutData(data);
-
-	}
-
-
-
-	protected void createCSSComboBox() {
-		super.combo[N_CSS_PROFILE] = super.createComboBoxOf(CSS_LABEL);
-
-		ContentSettingsRegistry.setCSSMetaModelRegistryInto(combo[N_CSS_PROFILE]);
-		if (combo[N_CSS_PROFILE].getItemCount() <= 0)
-			return;
-		String initValue = contentSettings.getProperty((IResource) super.getElement(), IContentSettings.CSS_PROFILE);
-		// when either .contentsettings or element doesn't exist
-		// when attribute doesn't exists,getProperty returns empty string.
-		if (initValue == null)
-			initValue = ""; //$NON-NLS-1$
-		// set init selectionItem in Combo
-		super.setSelectionItem(combo[N_CSS_PROFILE], initValue);
-	}
-
-
-
-	protected void createDeviceComboBox() {
-		super.combo[N_TARGET_DEVICE] = super.createComboBoxOf(DEVICE_LABEL);
-
-		ContentSettingsRegistry.setDeviceProfileRegistryInto(combo[N_TARGET_DEVICE]);
-		if (combo[N_TARGET_DEVICE].getItemCount() <= 0)
-			return;
-		String initValue = contentSettings.getProperty((IResource) super.getElement(), IContentSettings.DEVICE_PROFILE);
-		// when either .contentsettings or element doesn't exist
-		// when attribute doesn't exists,getProperty returns empty string.
-		if (initValue == null)
-			initValue = ""; //$NON-NLS-1$
-		// set init selectionItem in Combo
-		super.setSelectionItem(combo[N_TARGET_DEVICE], initValue);
-	}
-
-
-	protected void createSettingsPageGUI() {
-		int type = ((IResource) getElement()).getType();
-		switch (type) {
-			case IResource.PROJECT :
-				//	composite = createComposite(propertyPage,numCols,numRows);
-				createDocumentTypeComboBox();
-				createCSSComboBox();
-				createDeviceComboBox();
-				computeMaxWidthHint();
-				WorkbenchHelp.setHelp(propertyPage, IHelpContextIds.WEB_CONTENT_SETTINGS_HELPID);
-				break;
-
-			default :
-				Logger.log(Logger.WARNING, "ProjectContentSettingsPropertyPage is instantiated by resource except PROJECT");//$NON-NLS-1$
-				break;
-		}
-
-	}
-
-
-
-	protected void putSelectedPropertyInto(Map properties, String valueInCombo, int index) {
-
-		switch (index) {
-			case N_DOCUMENT_TYPE :
-				// doc type
-				properties.put(IContentSettings.HTML_DOCUMENT_TYPE, valueInCombo);
-				break;
-			case N_CSS_PROFILE :
-				// css
-				properties.put(IContentSettings.CSS_PROFILE, valueInCombo);
-				break;
-			case N_TARGET_DEVICE :
-				// device
-				properties.put(IContentSettings.DEVICE_PROFILE, valueInCombo);
-				break;
-			default :
-				Logger.log(Logger.ERROR, "Index is out of range in putSelectedPropertyInto() in class ProjectContentSettingsPropertyPage");//$NON-NLS-1$
-				break;
-		}
-
-	}
-
-	protected void deleteNoneProperty(int index) {
-		switch (index) {
-			case N_DOCUMENT_TYPE :
-				// doc type
-				contentSettings.deleteProperty((IResource) super.getElement(), IContentSettings.HTML_DOCUMENT_TYPE);
-				break;
-
-			case N_CSS_PROFILE :
-				// css
-				contentSettings.deleteProperty((IResource) super.getElement(), IContentSettings.CSS_PROFILE);
-				break;
-
-			case N_TARGET_DEVICE :
-				// device
-				contentSettings.deleteProperty((IResource) super.getElement(), IContentSettings.DEVICE_PROFILE);
-				break;
-
-			default :
-				Logger.log(Logger.ERROR, "Index is out of range in deleteNoneProperty() in class ProjectContentSettingsPropertyPage");//$NON-NLS-1$
-				break;
-		}
-	}
-
-	private void createIDTextField() {
-		// public ID & System ID
-		Label publicLabel = new Label(super.propertyPage, SWT.NONE);
-		GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
-		data.horizontalIndent = 10;
-		publicLabel.setLayoutData(data);
-		publicLabel.setText(HTMLUIPlugin.getResourceString("%UI_Public_ID"));//$NON-NLS-1$
-		publicIdText = new Text(super.propertyPage, SWT.BORDER | SWT.READ_ONLY);
-		data = new GridData();
-
-		publicIdText.setLayoutData(data);
-
-		Label systemLabel = new Label(super.propertyPage, SWT.NONE);
-		data = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
-		data.horizontalIndent = 10;
-		systemLabel.setLayoutData(data);
-		systemLabel.setText(HTMLUIPlugin.getResourceString("%UI_System_ID"));//$NON-NLS-1$
-		systemIdText = new Text(super.propertyPage, SWT.BORDER | SWT.READ_ONLY);
-		data = new GridData();
-
-		systemIdText.setLayoutData(data);
-	}
-
-
-
-	private void computeMaxWidthHint() {
-		// maxLengthString was set when HTMLDocumentTypeEntry was set in class ContentSettingsRegistry.
-		String maxLengthString = ContentSettingsRegistry.maxLengthStringInHTMLDocumentTypeRegistry;
-		String backup = this.systemIdText.getText();
-		this.systemIdText.setText(maxLengthString);
-		int maxWidthHint = this.systemIdText.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-		this.systemIdText.setText(backup);
-
-		if (this.combo[this.N_DOCUMENT_TYPE].getLayoutData() != null)
-			((GridData) this.combo[this.N_DOCUMENT_TYPE].getLayoutData()).widthHint = maxWidthHint;
-		if (this.publicIdText.getLayoutData() != null)
-			((GridData) this.publicIdText.getLayoutData()).widthHint = maxWidthHint;
-		if (this.systemIdText.getLayoutData() != null)
-			((GridData) this.systemIdText.getLayoutData()).widthHint = maxWidthHint;
-		if (this.combo[this.N_CSS_PROFILE].getLayoutData() != null)
-			((GridData) this.combo[this.N_CSS_PROFILE].getLayoutData()).widthHint = maxWidthHint;
-		if (this.combo[this.N_TARGET_DEVICE].getLayoutData() != null)
-			((GridData) this.combo[this.N_TARGET_DEVICE].getLayoutData()).widthHint = maxWidthHint;
-
-	}
-
-
-	public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
-	}
-
-	public void widgetSelected(org.eclipse.swt.events.SelectionEvent event) {
-		Widget source = event.widget;
-
-		if (this.combo[this.N_DOCUMENT_TYPE].equals(source)) {
-			ComboListOnPropertyPage combo = this.combo[this.N_DOCUMENT_TYPE];
-			if (combo.getSelectionIndex() < 0)
-				return;
-			if (!combo.getSelectedValue().equals("")) {//$NON-NLS-1$
-				this.publicIdText.setText(combo.getSelectedValue());
-				if (ContentSettingsRegistry.getSystemIdFrom(combo.getSelectedValue()) != null)
-					this.systemIdText.setText(ContentSettingsRegistry.getSystemIdFrom(combo.getSelectedValue()));
-				else
-					this.systemIdText.setText("");//$NON-NLS-1$
-			}
-			else {
-				this.publicIdText.setText("");//$NON-NLS-1$
-				this.systemIdText.setText(""); //$NON-NLS-1$
-			}
-
-		}
-	}
-
-	protected void performDefaults() {
-		super.performDefaults();
-		this.publicIdText.setText("");//$NON-NLS-1$
-		this.systemIdText.setText(""); //$NON-NLS-1$
-
-	}
-
-}
-
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/edit/ui/ActionContributorHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/edit/ui/ActionContributorHTML.java
deleted file mode 100644
index 13cdf1e..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/edit/ui/ActionContributorHTML.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.edit.ui;
-
-import org.eclipse.wst.xml.ui.actions.ActionContributorXML;
-
-/**
- *
- * Instead, use SourcePageActionContributor for source page contributor
- * of multi page editor.
- * 
- * Note that this class is still valid for single page editor.
- */
-public class ActionContributorHTML extends ActionContributorXML {
-	private static final String[] EDITOR_IDS = {"org.eclipse.wst.html.ui.StructuredTextEditorHTML", "org.eclipse.wst.sse.ui.StructuredTextEditor"}; //$NON-NLS-1$ //$NON-NLS-2$
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.ui.actions.ActionContributor#getExtensionIDs()
-	 */
-	protected String[] getExtensionIDs() {
-		return EDITOR_IDS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/edit/ui/CleanupActionHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/edit/ui/CleanupActionHTML.java
deleted file mode 100644
index 615d928..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/edit/ui/CleanupActionHTML.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.edit.ui;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.html.core.cleanup.HTMLCleanupProcessorImpl;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupProcessor;
-import org.eclipse.wst.sse.ui.edit.util.CleanupAction;
-
-public class CleanupActionHTML extends CleanupAction {
-	protected IStructuredCleanupProcessor fCleanupProcessor;
-
-	public CleanupActionHTML(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected Dialog getCleanupDialog(Shell shell) {
-		if (fCleanupDialog == null)
-			fCleanupDialog = new CleanupDialogHTML(shell);
-
-		return fCleanupDialog;
-	}
-
-	protected IStructuredCleanupProcessor getCleanupProcessor() {
-		if (fCleanupProcessor == null)
-			fCleanupProcessor = new HTMLCleanupProcessorImpl();
-
-		return fCleanupProcessor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/edit/ui/CleanupDialogHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/edit/ui/CleanupDialogHTML.java
deleted file mode 100644
index 9b429f2..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/edit/ui/CleanupDialogHTML.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.edit.ui;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.html.core.contenttype.ContentTypeIdForHTML;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.xml.core.cleanup.XMLCleanupPreferencesImpl;
-import org.eclipse.wst.xml.core.contenttype.ContentTypeIdForXML;
-
-public class CleanupDialogHTML extends Dialog implements SelectionListener {
-
-	protected Button fRadioButtonTagNameCaseAsis;
-	protected Button fRadioButtonTagNameCaseLower;
-	protected Button fRadioButtonTagNameCaseUpper;
-	protected Button fRadioButtonAttrNameCaseAsis;
-	protected Button fRadioButtonAttrNameCaseLower;
-	protected Button fRadioButtonAttrNameCaseUpper;
-	protected Button fCheckBoxInsertRequiredAttrs;
-	protected Button fCheckBoxInsertMissingTags;
-	protected Button fCheckBoxQuoteAttrValues;
-	protected Button fCheckBoxFormatSource;
-	protected Button fCheckBoxConvertEOLCodes;
-	protected Button fRadioButtonConvertEOLWindows;
-	protected Button fRadioButtonConvertEOLUnix;
-	protected Button fRadioButtonConvertEOLMac;
-	protected IStructuredModel fModel = null;
-	protected Preferences fPreferences = null;
-
-	public CleanupDialogHTML(Shell shell) {
-		super(shell);
-	}
-
-	public Control createDialogArea(Composite parent) {
-		getShell().setText(SSEUIPlugin.getResourceString("%Cleanup_UI_")); //$NON-NLS-1$ = "Cleanup"
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		createDialogAreaInComposite(composite);
-		initializeOptions();
-
-		return composite;
-	}
-
-	protected void createDialogAreaInCompositeForHTML(Composite composite) {
-		// Convert tag name case
-		// d257064 need to associate group w/ radio buttons so radio buttons header can be read
-		Group tagNameCase = new Group(composite, SWT.NONE);
-		tagNameCase.setText(SSEUIPlugin.getResourceString("%Tag_name_case_for_HTML_UI_")); //$NON-NLS-1$ = "Tag name case for HTML:"
-		GridLayout hLayout = new GridLayout();
-		hLayout.numColumns = 3;
-		tagNameCase.setLayout(hLayout);
-		fRadioButtonTagNameCaseAsis = new Button(tagNameCase, SWT.RADIO);
-		fRadioButtonTagNameCaseAsis.setText(SSEUIPlugin.getResourceString("%Tag_name_case_As-is_UI_")); //$NON-NLS-1$ = "&As-is"
-		fRadioButtonTagNameCaseAsis.addSelectionListener(this);
-		fRadioButtonTagNameCaseLower = new Button(tagNameCase, SWT.RADIO);
-		fRadioButtonTagNameCaseLower.setText(SSEUIPlugin.getResourceString("%Tag_name_case_Lower_UI_")); //$NON-NLS-1$ = "&Lower"
-		fRadioButtonTagNameCaseLower.addSelectionListener(this);
-		fRadioButtonTagNameCaseUpper = new Button(tagNameCase, SWT.RADIO);
-		fRadioButtonTagNameCaseUpper.setText(SSEUIPlugin.getResourceString("%Tag_name_case_Upper_UI_")); //$NON-NLS-1$ = "&Upper"
-		fRadioButtonTagNameCaseUpper.addSelectionListener(this);
-
-		// Convert attr name case
-		// d257064 need to associate group w/ radio buttons so radio buttons header can be read
-		Group attrNameCase = new Group(composite, SWT.NONE);
-		attrNameCase.setText(SSEUIPlugin.getResourceString("%Attribute_name_case_for_HTML_UI_")); //$NON-NLS-1$ = "Attribute name case for HTML:"
-		attrNameCase.setLayout(hLayout);
-		fRadioButtonAttrNameCaseAsis = new Button(attrNameCase, SWT.RADIO);
-		fRadioButtonAttrNameCaseAsis.setText(SSEUIPlugin.getResourceString("%Attribute_name_case_As-is_UI_")); //$NON-NLS-1$ = "A&s-is"
-		fRadioButtonAttrNameCaseAsis.addSelectionListener(this);
-		fRadioButtonAttrNameCaseLower = new Button(attrNameCase, SWT.RADIO);
-		fRadioButtonAttrNameCaseLower.setText(SSEUIPlugin.getResourceString("%Attribute_name_case_Lower_UI_")); //$NON-NLS-1$ = "L&ower"
-		fRadioButtonAttrNameCaseLower.addSelectionListener(this);
-		fRadioButtonAttrNameCaseUpper = new Button(attrNameCase, SWT.RADIO);
-		fRadioButtonAttrNameCaseUpper.setText(SSEUIPlugin.getResourceString("%Attribute_name_case_Upper_UI_")); //$NON-NLS-1$ = "U&pper"
-		fRadioButtonAttrNameCaseUpper.addSelectionListener(this);
-	}
-
-	protected void createDialogAreaInComposite(Composite composite) {
-		if (isHTMLType()) {
-			createDialogAreaInCompositeForHTML(composite);
-			WorkbenchHelp.setHelp(composite, IHelpContextIds.CLEANUP_HTML_HELPID); // use HTML specific help
-		}
-		else
-			WorkbenchHelp.setHelp(composite, org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds.CLEANUP_XML_HELPID); // use XML specific help
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.makeColumnsEqualWidth = true;
-		composite.setLayout(layout);
-
-		// Insert missing required attrs
-		fCheckBoxInsertRequiredAttrs = new Button(composite, SWT.CHECK);
-		fCheckBoxInsertRequiredAttrs.setText(SSEUIPlugin.getResourceString("%Insert_required_attributes_UI_")); //$NON-NLS-1$
-		fCheckBoxInsertRequiredAttrs.addSelectionListener(this);
-
-		// Insert missing begin/end tags
-		fCheckBoxInsertMissingTags = new Button(composite, SWT.CHECK);
-		fCheckBoxInsertMissingTags.setText(SSEUIPlugin.getResourceString("%Insert_missing_tags_UI_")); //$NON-NLS-1$ = "Insert missing tags"
-		fCheckBoxInsertMissingTags.addSelectionListener(this);
-
-		// Quote attribute values
-		fCheckBoxQuoteAttrValues = new Button(composite, SWT.CHECK);
-		fCheckBoxQuoteAttrValues.setText(SSEUIPlugin.getResourceString("%Quote_attribute_values_UI_")); //$NON-NLS-1$ = "Quote attribute values"
-		fCheckBoxQuoteAttrValues.addSelectionListener(this);
-
-		// Format source
-		fCheckBoxFormatSource = new Button(composite, SWT.CHECK);
-		fCheckBoxFormatSource.setText(SSEUIPlugin.getResourceString("%Format_source_UI_")); //$NON-NLS-1$ = "Format source"
-		fCheckBoxFormatSource.addSelectionListener(this);
-
-		// Convert EOL code
-		fCheckBoxConvertEOLCodes = new Button(composite, SWT.CHECK);
-		fCheckBoxConvertEOLCodes.setText(SSEUIPlugin.getResourceString("%Convert_EOL_codes_UI_")); //$NON-NLS-1$ = "Convert end-of-line codes"
-		fCheckBoxConvertEOLCodes.addSelectionListener(this);
-		Composite EOLCodes = new Composite(composite, SWT.NULL);
-		GridLayout hLayout = new GridLayout();
-		hLayout.numColumns = 3;
-		EOLCodes.setLayout(hLayout);
-		fRadioButtonConvertEOLWindows = new Button(EOLCodes, SWT.RADIO);
-		fRadioButtonConvertEOLWindows.setText(SSEUIPlugin.getResourceString("%EOL_Windows_UI")); //$NON-NLS-1$ = "Windows"
-		fRadioButtonConvertEOLWindows.addSelectionListener(this);
-		fRadioButtonConvertEOLUnix = new Button(EOLCodes, SWT.RADIO);
-		fRadioButtonConvertEOLUnix.setText(SSEUIPlugin.getResourceString("%EOL_Unix_UI")); //$NON-NLS-1$ = "Unix"
-		fRadioButtonConvertEOLUnix.addSelectionListener(this);
-		fRadioButtonConvertEOLMac = new Button(EOLCodes, SWT.RADIO);
-		fRadioButtonConvertEOLMac.setText(SSEUIPlugin.getResourceString("%EOL_Mac_UI")); //$NON-NLS-1$ = "Mac"
-		fRadioButtonConvertEOLMac.addSelectionListener(this);
-	}
-
-	protected void okPressed() {
-		storeOptions();
-
-		super.okPressed();
-	}
-
-	protected void initializeOptionsForHTML() {
-		int tagNameCase = getModelPreferences().getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE);
-		if (tagNameCase == CommonModelPreferenceNames.UPPER)
-			fRadioButtonTagNameCaseUpper.setSelection(true);
-		else if (tagNameCase == CommonModelPreferenceNames.LOWER)
-			fRadioButtonTagNameCaseLower.setSelection(true);
-		else
-			fRadioButtonTagNameCaseAsis.setSelection(true);
-
-		int attrNameCase = getModelPreferences().getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE);
-		if (attrNameCase == CommonModelPreferenceNames.UPPER)
-			fRadioButtonAttrNameCaseUpper.setSelection(true);
-		else if (attrNameCase == CommonModelPreferenceNames.LOWER)
-			fRadioButtonAttrNameCaseLower.setSelection(true);
-		else
-			fRadioButtonAttrNameCaseAsis.setSelection(true);
-	}
-
-	protected void initializeOptions() {
-		if (isHTMLType())
-			initializeOptionsForHTML();
-
-		fCheckBoxInsertRequiredAttrs.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
-		fCheckBoxInsertMissingTags.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
-		fCheckBoxQuoteAttrValues.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
-		fCheckBoxFormatSource.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
-		fCheckBoxConvertEOLCodes.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
-		if (fCheckBoxConvertEOLCodes.getSelection()) {
-			String EOLCode = getModelPreferences().getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE);
-			if (EOLCode == CommonEncodingPreferenceNames.LF)
-				fRadioButtonConvertEOLUnix.setSelection(true);
-			else if (EOLCode == CommonEncodingPreferenceNames.CR)
-				fRadioButtonConvertEOLMac.setSelection(true);
-			else
-				fRadioButtonConvertEOLWindows.setSelection(true);
-		}
-		enableEOLCodeRadios(fCheckBoxConvertEOLCodes.getSelection());
-	}
-
-	protected void storeOptionsForHTML() {
-		if (fRadioButtonTagNameCaseUpper.getSelection())
-			getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.UPPER);
-		else if (fRadioButtonTagNameCaseLower.getSelection())
-			getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
-		else
-			getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
-
-		if (fRadioButtonAttrNameCaseUpper.getSelection())
-			getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.UPPER);
-		else if (fRadioButtonAttrNameCaseLower.getSelection())
-			getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
-		else
-			getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
-
-		// explicitly save plugin preferences so values are stored
-		HTMLCorePlugin.getDefault().savePluginPreferences();
-	}
-
-	protected void storeOptions() {
-		if (isHTMLType()) {
-			storeOptionsForHTML();
-			XMLCleanupPreferencesImpl.getInstance().setTagNameCase(getModelPreferences().getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE));
-			XMLCleanupPreferencesImpl.getInstance().setAttrNameCase(getModelPreferences().getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE));
-		}
-		else {
-			XMLCleanupPreferencesImpl.getInstance().setTagNameCase(CommonModelPreferenceNames.ASIS);
-			XMLCleanupPreferencesImpl.getInstance().setAttrNameCase(CommonModelPreferenceNames.ASIS);
-		}
-
-		getModelPreferences().setValue(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, fCheckBoxInsertRequiredAttrs.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.INSERT_MISSING_TAGS, fCheckBoxInsertMissingTags.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, fCheckBoxQuoteAttrValues.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.FORMAT_SOURCE, fCheckBoxFormatSource.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.CONVERT_EOL_CODES, fCheckBoxConvertEOLCodes.getSelection());
-		XMLCleanupPreferencesImpl.getInstance().setInsertMissingTags(fCheckBoxInsertMissingTags.getSelection());
-		XMLCleanupPreferencesImpl.getInstance().setQuoteAttrValues(fCheckBoxQuoteAttrValues.getSelection());
-		XMLCleanupPreferencesImpl.getInstance().setFormatSource(fCheckBoxFormatSource.getSelection());
-		XMLCleanupPreferencesImpl.getInstance().setConvertEOLCodes(fCheckBoxConvertEOLCodes.getSelection());
-		if (fCheckBoxConvertEOLCodes.getSelection()) {
-			if (fRadioButtonConvertEOLUnix.getSelection()) {
-				getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.LF);
-				XMLCleanupPreferencesImpl.getInstance().setEOLCode(CommonEncodingPreferenceNames.LF);
-			}
-			else if (fRadioButtonConvertEOLMac.getSelection()) {
-				getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CR);
-				XMLCleanupPreferencesImpl.getInstance().setEOLCode(CommonEncodingPreferenceNames.CR);
-			}
-			else {
-				getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CRLF);
-				XMLCleanupPreferencesImpl.getInstance().setEOLCode(CommonEncodingPreferenceNames.CRLF);
-			}
-		}
-		
-		// explicitly save plugin preferences so values are stored
-		HTMLCorePlugin.getDefault().savePluginPreferences();
-	}
-
-	public void widgetDefaultSelected(SelectionEvent e) {
-		widgetSelected(e);
-	}
-
-	public void widgetSelected(SelectionEvent e) {
-		getButton(OK).setEnabled((fRadioButtonTagNameCaseLower != null && (fRadioButtonTagNameCaseLower.getSelection() || fRadioButtonTagNameCaseUpper.getSelection())) || (fRadioButtonAttrNameCaseLower != null && (fRadioButtonAttrNameCaseLower.getSelection() || fRadioButtonAttrNameCaseUpper.getSelection())) || fCheckBoxInsertMissingTags.getSelection() || fCheckBoxQuoteAttrValues.getSelection() || fCheckBoxFormatSource.getSelection() || fCheckBoxConvertEOLCodes.getSelection() || (fRadioButtonConvertEOLUnix != null && (fRadioButtonConvertEOLUnix.getSelection() || fRadioButtonConvertEOLMac.getSelection() || fRadioButtonConvertEOLWindows.getSelection())));
-		if (e.widget == fCheckBoxConvertEOLCodes)
-			enableEOLCodeRadios(fCheckBoxConvertEOLCodes.getSelection());
-	}
-
-	public void setModel(IStructuredModel model) {
-		fModel = model;
-	}
-
-	protected Preferences getModelPreferences() {
-		return HTMLCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	protected boolean isXMLType() {
-		boolean result = false;
-
-		if (fModel != null) {
-			IModelHandler modelHandler = fModel.getModelHandler();
-			if (modelHandler.getAssociatedContentTypeId().equals(ContentTypeIdForXML.ContentTypeID_XML))
-				result = true;
-		}
-
-		return result;
-	}
-
-	protected boolean isHTMLType() {
-		boolean result = true;
-
-		if (fModel != null) {
-			IModelHandler modelHandler = fModel.getModelHandler();
-			if (modelHandler.getAssociatedContentTypeId().equals(ContentTypeIdForHTML.ContentTypeID_HTML))
-				result = true;
-		}
-
-		return result;
-	}
-
-	protected void enableEOLCodeRadios(boolean enable) {
-		if ((fRadioButtonConvertEOLWindows != null) && (fRadioButtonConvertEOLUnix != null) && (fRadioButtonConvertEOLMac != null)) {
-			fRadioButtonConvertEOLWindows.setEnabled(enable);
-			fRadioButtonConvertEOLUnix.setEnabled(enable);
-			fRadioButtonConvertEOLMac.setEnabled(enable);
-
-			if (!fRadioButtonConvertEOLWindows.getSelection() && !fRadioButtonConvertEOLUnix.getSelection() && !fRadioButtonConvertEOLMac.getSelection())
-				fRadioButtonConvertEOLWindows.setSelection(true);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPlugin.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPlugin.java
deleted file mode 100644
index 291b361..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPlugin.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry;
-import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.html.ui.templates.TemplateContextTypeHTML;
-import org.eclipse.wst.html.ui.templates.TemplateContextTypeHTMLAttribute;
-import org.eclipse.wst.html.ui.templates.TemplateContextTypeHTMLAttributeValue;
-import org.eclipse.wst.html.ui.templates.TemplateContextTypeHTMLTag;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistryImpl;
-import org.eclipse.wst.sse.ui.registry.embedded.EmbeddedAdapterFactoryRegistryImpl;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class HTMLUIPlugin extends AbstractUIPlugin {
-	public final static String ID = "org.eclipse.wst.html.ui"; //$NON-NLS-1$
-
-	protected static HTMLUIPlugin instance = null;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-	
-	/**
-	 * The template store for the html editor. 
-	 */
-	private TemplateStore fTemplateStore;
-	
-	/** 
-	 * The template context type registry for the html editor. 
-	 */
-	private ContextTypeRegistry fContextTypeRegistry;
-
-	public HTMLUIPlugin() {
-		super();
-		instance = this;
-	}
-
-	public static HTMLUIPlugin getDefault() {
-		return instance;
-	}
-
-	public synchronized static HTMLUIPlugin getInstance() {
-		return instance;
-	}
-
-	public AdapterFactoryRegistry getAdapterFactoryRegistry() {
-		return AdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	public AdapterFactoryRegistry getEmbeddedAdapterFactoryRegistry() {
-		return EmbeddedAdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	/**
-	 * @deprecated using HTMLUIPreferenceInitializer instead
-	 */
-	protected void initializeDefaultHTMLPreferences(IPreferenceStore store) {
-//		String ctId = IContentTypeIdentifier.ContentTypeID_HTML;
-//
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.CONTENT_ASSIST_SUPPORTED, ctId), true);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.AUTO_PROPOSE, ctId), true);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE, ctId), CommonEditorPreferenceNames.LT);
-//
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.EDITOR_VALIDATION_METHOD, ctId), CommonEditorPreferenceNames.EDITOR_VALIDATION_WORKBENCH_DEFAULT); //$NON-NLS-1$
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR, ctId), true);
-//		
-//		// HTML Style Preferences
-//		String NOBACKGROUNDBOLD = " | null | false";   //$NON-NLS-1$
-//		String styleValue = ColorHelper.getColorString(127, 0, 127) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_ATTRIBUTE_NAME, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(42, 0, 255)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE, ctId), styleValue);
-//		
-//		styleValue = "null" + NOBACKGROUNDBOLD;  //$NON-NLS-1$
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS, ctId), styleValue); // specified value is black; leaving as widget default
-//		
-//		styleValue = ColorHelper.getColorString(63, 95, 191)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.COMMENT_BORDER, ctId), styleValue);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.COMMENT_TEXT, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DECL_BORDER, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(0, 0, 128)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DOCTYPE_NAME, ctId), styleValue);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(128, 128, 128)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(63, 127, 95)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF, ctId), styleValue);
-//
-//		styleValue = "null" + NOBACKGROUNDBOLD;	//$NON-NLS-1$
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.XML_CONTENT, ctId), styleValue);	// specified value is black; leaving as widget default
-//
-//		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_BORDER, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(63, 127, 127)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_NAME, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.PI_BORDER, ctId), styleValue);
-// 
-//		styleValue = "null" + NOBACKGROUNDBOLD;	//$NON-NLS-1$
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.PI_CONTENT, ctId), styleValue);	// specified value is black; leaving as widget default
-//
-//		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.CDATA_BORDER, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(0, 0, 0)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.CDATA_TEXT, ctId), styleValue);
-//		
-//		styleValue = ColorHelper.getColorString(191, 95, 63)  + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsHTML.SCRIPT_AREA_BORDER, ctId), styleValue);
-	}
-	
-	/**
-	 * Returns the template store for the html editor templates.
-	 * 
-	 * @return the template store for the html editor templates
-	 */
-	public TemplateStore getTemplateStore() {
-		if (fTemplateStore == null) {
-			fTemplateStore= new ContributionTemplateStore(getTemplateContextRegistry(), getPreferenceStore(), CommonEditorPreferenceNames.TEMPLATES_KEY);
-
-			try {
-				fTemplateStore.load();
-			} catch (IOException e) {
-				Logger.logException(e);
-			}
-		}		
-		return fTemplateStore;
-	}
-	
-	/**
-	 * Returns the template context type registry for the html plugin.
-	 * 
-	 * @return the template context type registry for the html plugin
-	 */
-	public ContextTypeRegistry getTemplateContextRegistry() {
-		if (fContextTypeRegistry == null) {
-			fContextTypeRegistry= new ContributionContextTypeRegistry();
-			
-			fContextTypeRegistry.addContextType(new TemplateContextTypeHTML());
-			fContextTypeRegistry.addContextType(new TemplateContextTypeHTMLTag());
-			fContextTypeRegistry.addContextType(new TemplateContextTypeHTMLAttribute());
-			fContextTypeRegistry.addContextType(new TemplateContextTypeHTMLAttributeValue());
-		}
-
-		return fContextTypeRegistry;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.html.ui.internal.HTMLUIPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPluginResources.properties b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPluginResources.properties
deleted file mode 100644
index 47296db..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/HTMLUIPluginResources.properties
+++ /dev/null
@@ -1,159 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-## The following line is a sample HTML document.  Please translate only the following parts:   
-## HTML Highlighting Preferences
-## we need a flaming logo
-Sample_HTML_doc=<!DOCTYPE HTML\n\tPUBLIC \"-//W3C/DTD/ HTML 4.01 Transitional//EN\"\n\t\"http://www.w3.org/TR/html4/loose.dtd\">\n<HTML>\n\t<HEAD>\n\t\t<META content=\"text/html\">\n\t\t<TITLE>HTML Highlighting Preferences</TITLE>\n\t</HEAD>\n<BODY>\n\t<!--\n\t\twe need a flaming logo!\n\t-->\n</BODY>\n</HTML>
-! XML Common UI 
-! Constants for strings
-
-NEW=New
-DELETE=Remove
-ADD_TEXT=Add Text
-ADD_CDATA_SECTION=Add CDATA Section
-ADD_COMMENT=Add Commen&t
-ADD_PROCESSING_INSTRUCTION=Add Processing Instruction
-
-_UI_MENU_ADD_AFTER=Add &After
-_UI_MENU_ADD_ATTRIBUTE=Add A&ttribute
-_UI_MENU_ADD_BEFORE=Add &Before
-_UI_MENU_ADD_CHILD=Add &Child
-_UI_MENU_REMOVE=Re&move
-_UI_MENU_REPLACE_WITH=Re&place With
-_UI_MENU_ADD_DOCTYPE=Add DOCTYPE...
-_UI_MENU_EDIT_DOCTYPE=Edit DOCTYPE...
-_UI_MENU_ADD_GRAMMAR_INFORMATION=Add Grammar Information
-_UI_MENU_VALIDATE_XML=Validate XML File
-_UI_LABEL_UNDO_ADD_DESCRIPTION=Add
-_UI_LABEL_UNDO_REPLACE_DESCRIPTION=Replace
-_UI_LABEL_EDIT_DOCTYPE=Edit DOCTYPE
-_UI_INFO_EXPAND_ALL=Expand All
-_UI_INFO_COLLAPSE_ALL=Collapse All
-
-_UI_MENU_ADD_DTD_INFORMATION=Add DTD Information...
-_UI_MENU_ADD_SCHEMA_INFORMATION=Add Schema Information...
-_UI_MENU_EDIT_SCHEMA_INFORMATION=Edit &Schema Information...
-_UI_MENU_EDIT_PROCESSING_INSTRUCTION=Edit Process&ing Instruction...
-
-_UI_MENU_ADD_DTD_INFORMATION_TITLE=Add DTD Information
-_UI_MENU_EDIT_PROCESSING_INSTRUCTION_TITLE=Edit Processing Instruction
-_UI_MENU_EDIT_SCHEMA_INFORMATION_TITLE=Edit Schema Information
-
-_UI_MENU_NEW_ATTRIBUTE=&New Attribute...
-_UI_MENU_NEW_ATTRIBUTE_TITLE=New Attribute
-_UI_MENU_EDIT_ATTRIBUTE=Edit Attribute...
-_UI_MENU_EDIT_ATTRIBUTE_TITLE=Edit Attribute
-_UI_MENU_NEW_ELEMENT=New &Element...
-_UI_MENU_NEW_ELEMENT_TITLE=New Element
-_UI_MENU_RENAME=R&ename
-_UI_MENU_RENAME_TITLE=Rename
-_UI_LABEL_ELEMENT_NAME=Element name:
-_UI_LABEL_LOADING_GRAMMAR=Loading grammar:
-
-_UI_MENU_ADD_COMMENT=Add Comment
-_UI_MENU_ADD_PROCESSING_INSTRUCTION=Add Processing Instruction
-_UI_MENU_ADD_CDATA_SECTION=Add CDATA Section
-_UI_MENU_ADD_PCDATA=Add #PCDATA;
-
-_UI_MENU_COMMENT=C&omment
-_UI_MENU_PROCESSING_INSTRUCTION=P&rocessing Instruction
-_UI_MENU_CDATA_SECTION=CDATA Section
-_UI_MENU_PCDATA=#PC&DATA;
-
-_UI_MENU_ADD=Add
-
-_UI_COMMENT_VALUE=comment
-_UI_PI_TARGET_VALUE=target
-_UI_PI_DATA_VALUE=data
-_UI_LABEL_ROOT_ELEMENT_VALUE=RootElement
-
-_UI_LABEL_TARGET_COLON=Target:
-_UI_LABEL_DATA_COLON=Data:
-_UI_LABEL_ROOT_ELEMENT_NAME_COLON=Root element name:
-_UI_LABEL_PUBLIC_ID_COLON=Public ID:
-_UI_LABEL_SYSTEM_ID_COLON=System ID:
-_UI_LABEL_BROWSE=Browse...
-_UI_LABEL_SELECT_XML_CATALOG_ENTRY=Select XML Catalog Entry
-_UI_LABEL_SPECIFY_SYSTEM_ID=Specify System ID
-_UI_LABEL_SELECT_FILE=Select File
-
-_UI_LABEL_KEY=Key
-_UI_LABEL_URI=URI:
-_UI_LABEL_XML_CATALOG_COLON=XML Catalog
-_UI_LABEL_NAMESPACE_NAME=Namespace Name
-_UI_LABEL_LOCATION_HINT=Location Hint
-_UI_LABEL_PREFIX=Prefix
-_UI_LABEL_NAMESPACE_NAME_COLON=Namespace Name:
-_UI_LABEL_LOCATION_HINT_COLON=Location Hint:
-_UI_LABEL_PREFIX_COLON=Prefix:
-_UI_NO_NAMESPACE_NAME=<no namespace name>
-_UI_NO_PREFIX=<no prefix>
-
-_UI_LABEL_XML_SCHEMA_INFORMATION=XML Schema Information
-
-_UI_LABEL_NAME_COLON=Name:
-_UI_LABEL_VALUE_COLON=Value:
-
-_UI_BUTTON_DELETE=Delete
-_UI_BUTTON_NEW=New...
-_UI_BUTTON_EDIT=Edit...
-
-_UI_LABEL_NEW_NAMESPACE_INFORMATION=New Namespace Information
-_UI_LABEL_EDIT_NAMESPACE_INFORMATION=Edit Namespace Information
-
-!
-! Assign links to an XML file
-!
-_UI_WORK_BENCH=Workbench Files...
-_UI_FILE_SYSTEM=Import Files...
-_UI_ASSIGN_XSL=Assign An XSL Stylesheet To The XML File
-_UI_ASSIGN_DTD=Assign A DTD file To The XML File
-_UI_ASSIGN_XSD=Assign An XML schema To The XML File
-_UI_SELECT_XSL_TITLE=Select an XSL File
-_UI_SELECT_XSL_DESC=Select an XSL file from the workbench.
-
-_UI_ASSIGN=Assign
-_UI_XSD=XML Schema...
-_UI_DTD=DTD...
-_UI_XSL=XSL Stylesheet...
-
-! XMLValidator.java
-_UI_XML_VALIDATOR=XML Validator
-! SelectFileOrXMLCatalogIdPanel.java
-
-_UI_RADIO_BUTTON_SELECT_FROM_WORKSPACE=Select file from workbench
-_UI_RADIO_BUTTON_SELECT_FROM_CATALOG=Select XML Catalog entry
-
-_UI_WARNING_TITLE_ROOT_ELEMENT_REQUIRED=Root Element Required
-_UI_WARNING_DOCUMENT_REQUIRES_ROOT=The document requires a root element in order to add schema information.
-_UI_WARNING_MORE_THAN_ONE_NS_WITH_NAME=More than one namespace has been specified with the namespace name :
-_UI_WARNING_MORE_THAN_ONE_NS_WITHOUT_NAME=More than one schema has been specified without a namespace name
-_UI_WARNING_MORE_THAN_ONE_NS_WITHOUT_PREFIX=More than one namespace has been specificed without a prefix
-_UI_WARNING_MORE_THAN_ONE_NS_WITH_PREFIX=More than one namespace has been specified with the prefix :
-_UI_WARNING_SCHEMA_CAN_NOT_BE_LOCATED=The specified schema can not be located :
-_UI_WARNING_LOCATION_HINT_NOT_SPECIFIED=A location hint has not been specified for the namespace with name
-_UI_WARNING_NAMESPACE_NAME_NOT_SPECIFIED=A name must be specified for the namespace with prefix :
-_UI_WARNING_PREFIX_NOT_SPECIFIED=A prefix must be specified for the namespace named :
-_UI_WARNING_ROOT_ELEMENT_MUST_BE_SPECIFIED=A root element name must be specified.
-_UI_WARNING_SYSTEM_ID_MUST_BE_SPECIFIED=A system ID must be specified.
-
-_ERROR_XML_ATTRIBUTE_ALREADY_EXISTS=The element already has an attribute with this name.
-
-#
-TemplateContextTypeHTMLTag.0=HTML Tags
-TemplateContextTypeHTML.0=All HTML
-TemplateContextTypeHTMLAttributeValue.0=HTML Attribute Values
-TemplateContextTypeHTMLAttribute.0=HTML Attributes
-
-HTMLFilesPreferencePage.0=Loading files...
-HTMLFilesPreferencePage.1=Add this suffix (if not specified):
-HTMLFilesPreferencePage.2=Insert DOCTYPE declaration
-HTMLFilesPreferencePage.3=Insert GENERATOR with META tag
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/Logger.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/Logger.java
deleted file mode 100644
index 0b872f0..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/Logger.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.html.ui.internal;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if
- * desired, the console. This class should only be used by classes in this
- * plugin. Other plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.wst.html.ui"; //$NON-NLS-1$
-	
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int INFO_DEBUG = 200 + INFO;
-
-	public static final int OK = IStatus.OK; // 0
-
-	public static final int OK_DEBUG = 200 + OK;
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int WARNING_DEBUG = 200 + WARNING;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/SharedHTMLEditorPluginImageHelper.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/SharedHTMLEditorPluginImageHelper.java
deleted file mode 100644
index 68dc842..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/SharedHTMLEditorPluginImageHelper.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.html.ui.internal.editor.HTMLEditorPluginImageHelper;
-import org.eclipse.wst.html.ui.internal.editor.HTMLEditorPluginImages;
-
-
-public class SharedHTMLEditorPluginImageHelper {
-	public static final String IMG_OBJ_TABLE = HTMLEditorPluginImages.IMG_OBJ_TABLE;
-	public static final String IMG_OBJ_TAG_ANCHOR = HTMLEditorPluginImages.IMG_OBJ_TAG_ANCHOR;
-	public static final String IMG_OBJ_TAG_BODY = HTMLEditorPluginImages.IMG_OBJ_TAG_BODY;
-	public static final String IMG_OBJ_TAG_BUTTON = HTMLEditorPluginImages.IMG_OBJ_TAG_BUTTON;
-	public static final String IMG_OBJ_TAG_FONT = HTMLEditorPluginImages.IMG_OBJ_TAG_FONT;
-	public static final String IMG_OBJ_TAG_FORM = HTMLEditorPluginImages.IMG_OBJ_TAG_FORM;
-	public static final String IMG_OBJ_TAG_HTML = HTMLEditorPluginImages.IMG_OBJ_TAG_HTML;
-	public static final String IMG_OBJ_TAG_IMAGE_MAP = HTMLEditorPluginImages.IMG_OBJ_TAG_IMAGE_MAP;
-	public static final String IMG_OBJ_TAG_IMAGE = HTMLEditorPluginImages.IMG_OBJ_TAG_IMAGE;
-	public static final String IMG_OBJ_TAG_JSP = HTMLEditorPluginImages.IMG_OBJ_TAG_JSP;
-	public static final String IMG_OBJ_TAG_TITLE = HTMLEditorPluginImages.IMG_OBJ_TAG_TITLE;
-	public static final String IMG_OBJ_TAG = HTMLEditorPluginImages.IMG_OBJ_TAG;
-	
-	/**
-	 * Retrieves the specified image from the html source editor plugin's image registry.
-	 * Note: The returned <code>Image</code> is managed by the workbench; clients
-	 * must <b>not</b> dispose of the returned image.
-	 *
-	 * @param symbolicName the symbolic name of the image; there are constants
-	 * declared in this class for build-in images that come with the html source editor
-	 * @return the image, or <code>null</code> if not found
-	 */
-	public static Image getImage(String symbolicName) {
-		return HTMLEditorPluginImageHelper.getInstance().getImage(symbolicName);
-	}
-	
-	/**
-	 * Retrieves the image descriptor for specified image from the html source editor plugin's
-	 * image registry. Unlike <code>Image</code>s, image descriptors themselves do
-	 * not need to be disposed.
-	 *
-	 * @param symbolicName the symbolic name of the image; there are constants
-	 * declared in this interface for build-in images that come with the html source editor
-	 * @return the image descriptor, or <code>null</code> if not found
-	 */
-	public static ImageDescriptor getImageDescriptor(String symbolicName) {
-		return HTMLEditorPluginImageHelper.getInstance().getImageDescriptor(symbolicName);
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLContentAssistProcessor.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLContentAssistProcessor.java
deleted file mode 100644
index e07219c..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLContentAssistProcessor.java
+++ /dev/null
@@ -1,423 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal.contentassist;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.css.ui.contentassist.CSSContentAssistProcessor;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLCMDocument;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.javascript.common.ui.contentassist.JavaScriptContentAssistProcessor;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.edit.util.SharedEditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.contentassist.AbstractContentAssistProcessor;
-import org.eclipse.wst.xml.ui.contentassist.AbstractTemplateCompletionProcessor;
-import org.eclipse.wst.xml.ui.contentassist.ContentAssistRequest;
-import org.eclipse.wst.xml.ui.contentassist.XMLContentModelGenerator;
-import org.eclipse.wst.xml.ui.contentassist.XMLRelevanceConstants;
-import org.eclipse.wst.xml.ui.util.SharedXMLEditorPluginImageHelper;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class HTMLContentAssistProcessor extends AbstractContentAssistProcessor implements IPropertyChangeListener {
-	private AdapterFactory factoryForCSS = null;
-	protected IPreferenceStore fPreferenceStore = null;
-	protected AbstractTemplateCompletionProcessor fTemplateProcessor = null;
-	protected boolean isXHTML = false;
-	protected IResource fResource = null;
-
-	public HTMLContentAssistProcessor() {
-
-		super();
-	}
-
-	/**
-	 * @see AbstractContentAssistProcessor#addXMLProposal(ContentAssistRequest)
-	 */
-	protected void addXMLProposal(ContentAssistRequest contentAssistRequest) {
-		if (isXHTML)
-			super.addXMLProposal(contentAssistRequest);
-	}
-
-	/**
-	 * Add the proposals for a completely empty document
-	 */
-	protected void addEmptyDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		//		addMacros(contentAssistRequest, MacroHelper.TAG);
-	}
-
-	protected void addPCDATAProposal(String nodeName, ContentAssistRequest contentAssistRequest) {
-		if (isXHTML)
-			super.addPCDATAProposal(nodeName, contentAssistRequest);
-	}
-
-	protected void addStartDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		if (isXHTML)
-			addEmptyDocumentProposals(contentAssistRequest);
-	}
-
-	protected boolean beginsWith(String aString, String prefix) {
-		if (aString == null || prefix == null || prefix.length() == 0)
-			return true;
-		int minimumLength = Math.min(prefix.length(), aString.length());
-		String beginning = aString.substring(0, minimumLength);
-		return beginning.equalsIgnoreCase(prefix);
-	}
-
-	/**
-	 * Return a list of proposed code completions based on the
-	 * specified location within the document that corresponds
-	 * to the current cursor position within the text-editor control.
-	 *
-	 * @param documentPosition a location within the document
-	 * @return an array of code-assist items
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer textViewer, int documentPosition) {
-
-		IndexedRegion treeNode = ContentAssistUtils.getNodeAt((StructuredTextViewer) textViewer, documentPosition);
-		XMLNode node = (XMLNode) treeNode;
-		setErrorMessage(null);
-
-		// check if it's in a comment node
-		IStructuredDocument structuredDocument = (IStructuredDocument) textViewer.getDocument();
-		IStructuredDocumentRegion fn = structuredDocument.getRegionAtCharacterOffset(documentPosition);
-		if (fn != null && fn.getType() == XMLRegionContext.XML_COMMENT_TEXT && documentPosition != fn.getStartOffset()) {
-			return new ICompletionProposal[0];
-		}
-
-		// CMVC 242695
-		// if it's a </script> tag, bounce back to JS ca processor...
-		if (fn != null && fn.getType() == XMLRegionContext.XML_TAG_NAME && documentPosition == fn.getStartOffset()) {
-			ITextRegionList v = fn.getRegions();
-			if (v.size() > 1) {
-				// determine that it's a close tag
-				if ((v.get(0)).getType() == XMLRegionContext.XML_END_TAG_OPEN) {
-					Iterator it = v.iterator();
-					ITextRegion region = null;
-					// search for script tag name
-					while (it.hasNext()) {
-						region = (ITextRegion) it.next();
-						if (fn.getText(region).equalsIgnoreCase("script")) { //$NON-NLS-1$
-							// return JS content assist...
-							JavaScriptContentAssistProcessor jsProcessor = new JavaScriptContentAssistProcessor();
-							return jsProcessor.computeCompletionProposals(textViewer, documentPosition);
-						}
-					}
-				}
-			}
-		}
-
-		isXHTML = getXHTML(node);
-
-		fGenerator = null; // force reload of content generator
-
-		// handle blank HTML document case
-		if (treeNode == null || isViewerEmpty(textViewer)) {
-			// cursor is at the EOF
-			ICompletionProposal htmlTagProposal = getHTMLTagPropsosal((StructuredTextViewer) textViewer, documentPosition);
-			ICompletionProposal[] superResults = super.computeCompletionProposals(textViewer, documentPosition);
-			if (superResults != null && superResults.length > 0 && htmlTagProposal != null) {
-				ICompletionProposal[] blankHTMLDocResults = new ICompletionProposal[superResults.length + 1];
-				blankHTMLDocResults[0] = htmlTagProposal;
-				System.arraycopy(superResults, 0, blankHTMLDocResults, 1, superResults.length);
-				return blankHTMLDocResults;
-			}
-		}
-
-		if (node != null && node.getNodeType() == Node.ELEMENT_NODE) {
-
-			// check embedded CSS proposals at the beginning of the STYLE end tag
-			Element element = (Element) node;
-			String tagName = element.getTagName();
-			if (tagName != null && tagName.equalsIgnoreCase(HTML40Namespace.ATTR_NAME_STYLE)) {//$NON-NLS-1$
-				IStructuredDocumentRegion endStructuredDocumentRegion = node.getEndStructuredDocumentRegion();
-				if (endStructuredDocumentRegion != null && endStructuredDocumentRegion.getStartOffset() == documentPosition) {
-					IStructuredDocumentRegion startStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
-					if (startStructuredDocumentRegion != null) {
-						int offset = startStructuredDocumentRegion.getEndOffset();
-						int pos = documentPosition - offset;
-						ICompletionProposal[] proposals = getCSSProposals(textViewer, pos, node, offset, (char) 0);
-						if (proposals != null)
-							return proposals;
-					}
-				}
-			}
-
-			// check inline CSS proposals
-			// need to find attr region from sd region
-			IStructuredDocumentRegion sdRegion = ContentAssistUtils.getStructuredDocumentRegion((StructuredTextViewer) textViewer, documentPosition);
-			Iterator regions = sdRegion.getRegions().iterator();
-			ITextRegion styleNameRegion = null;
-			ITextRegion styleValueRegion = null;
-			while (regions.hasNext()) {
-				styleNameRegion = (ITextRegion) regions.next();
-				if (styleNameRegion.getType().equals(XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) && sdRegion.getText(styleNameRegion).equalsIgnoreCase(HTML40Namespace.ATTR_NAME_STYLE)) { //$NON-NLS-1$
-					// the next region should be "="
-					if (regions.hasNext()) {
-						regions.next(); // skip the "="
-						// next region should be attr value region
-						if (regions.hasNext()) {
-							styleValueRegion = (ITextRegion) regions.next();
-							break;
-						}
-					}
-				}
-			}
-
-			if (styleValueRegion != null) {
-				int offset = sdRegion.getStartOffset(styleValueRegion);
-				int end = sdRegion.getTextEndOffset(styleValueRegion);
-				if (documentPosition >= offset && documentPosition <= end) {
-					boolean askCSS = true;
-					char quote = (char) 0;
-					String text = sdRegion.getText(styleValueRegion);
-					int length = (text != null ? text.length() : 0);
-					if (length > 0) {
-						char firstChar = text.charAt(0);
-						if (firstChar == '"' || firstChar == '\'') {
-							if (documentPosition == offset) {
-								// before quote
-								askCSS = false;
-							}
-							else {
-								offset++;
-								quote = firstChar;
-							}
-						}
-						if (documentPosition == end) {
-							if (length > 1 && text.charAt(length - 1) == quote) {
-								// after quote
-								askCSS = false;
-							}
-						}
-					}
-					if (askCSS) {
-						int pos = documentPosition - offset;
-						ICompletionProposal[] proposals = getCSSProposals(textViewer, pos, node, offset, quote);
-						if (proposals != null)
-							return proposals;
-					}
-				}
-			}
-		}
-
-		return super.computeCompletionProposals(textViewer, documentPosition);
-	}
-
-	/**
-	 * Returns true if there is no text or it's all white space, otherwise returns false
-	 * 
-	 * @param treeNode
-	 * @param textViewer
-	 * @return boolean
-	 */
-	private boolean isViewerEmpty(ITextViewer textViewer) {
-		boolean isEmpty = false;
-		String text = textViewer.getTextWidget().getText();
-		if (text == null || (text != null && text.trim().equals(""))) //$NON-NLS-1$
-			isEmpty = true;
-		return isEmpty;
-	}
-
-	/**
-	 * @return ICompletionProposal
-	 */
-	private ICompletionProposal getHTMLTagPropsosal(StructuredTextViewer viewer, int documentPosition) {
-		IModelManager mm = StructuredModelManager.getModelManager();
-		IStructuredModel model = null;
-		try {
-			if (mm != null)
-				model = mm.getExistingModelForRead(viewer.getDocument());
-
-			XMLDocument doc = ((XMLModel) model).getDocument();
-
-			ModelQuery mq = ModelQueryUtil.getModelQuery(doc);
-			// XHTML requires lowercase tagname for lookup
-			CMElementDeclaration htmlDecl = (CMElementDeclaration) mq.getCorrespondingCMDocument(doc).getElements().getNamedItem(HTML40Namespace.ElementName.HTML.toLowerCase());
-			if (htmlDecl != null) {
-				StringBuffer proposedTextBuffer = new StringBuffer();
-				getContentGenerator().generateTag(doc, htmlDecl, proposedTextBuffer);
-
-				String proposedText = proposedTextBuffer.toString();
-				String requiredName = getContentGenerator().getRequiredName(doc, htmlDecl);
-
-				CustomCompletionProposal proposal = new CustomCompletionProposal(proposedText, documentPosition, // start pos
-							0, // replace length
-							requiredName.length() + 2, // cursor position after (relavtive to start)
-							SharedEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_TAG_GENERIC), 
-							requiredName, null, null, XMLRelevanceConstants.R_TAG_NAME);
-				return proposal;
-			}
-		}
-		finally {
-			if (model != null)
-				model.releaseFromRead();
-		}
-		return null;
-	}
-
-	/**
-	 * @see AbstractContentAssistProcessor#getContentGenerator()
-	 */
-	public XMLContentModelGenerator getContentGenerator() {
-		if (fGenerator == null) {
-			if (isXHTML)
-				fGenerator = XHTMLMinimalContentModelGenerator.getInstance();
-			else
-				fGenerator = HTMLMinimalContentModelGenerator.getInstance();
-		}
-		return fGenerator;
-	}
-
-	protected ICompletionProposal[] getCSSProposals(ITextViewer viewer, int pos, XMLNode element, int offset, char quote) {
-
-		CSSContentAssistProcessor cssProcessor = new CSSContentAssistProcessor();
-		cssProcessor.setDocumentOffset(offset);
-		cssProcessor.setQuoteCharOfStyleAttribute(quote);
-
-		return cssProcessor.computeCompletionProposals(viewer, pos);
-	}
-
-	protected String getEmptyTagCloseString() {
-		if (isXHTML)
-			return " />"; //$NON-NLS-1$
-		return ">"; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.contentassist.AbstractContentAssistProcessor#getTemplateCompletionProcessor()
-	 */
-	protected AbstractTemplateCompletionProcessor getTemplateCompletionProcessor() {
-		if (fTemplateProcessor == null) {
-			fTemplateProcessor = new HTMLTemplateCompletionProcessor();
-		}
-		return fTemplateProcessor;
-	}
-
-	/**
-	 * Determine if this Document is an XHTML Document.  Oprates solely
-	 * off of the Document Type declaration
-	 */
-	protected boolean getXHTML(Node node) {
-		if (node == null)
-			return false;
-
-		Document doc = null;
-		if (node.getNodeType() != Node.DOCUMENT_NODE)
-			doc = node.getOwnerDocument();
-		else
-			doc = ((Document) node);
-
-		if (doc instanceof XMLDocument)
-			return ((XMLDocument) doc).isXMLType();
-
-
-		if (doc instanceof INodeNotifier) {
-			ModelQueryAdapter adapter = (ModelQueryAdapter) ((INodeNotifier) doc).getAdapterFor(ModelQueryAdapter.class);
-			CMDocument cmdoc = null;
-			if (adapter != null && adapter.getModelQuery() != null)
-				cmdoc = adapter.getModelQuery().getCorrespondingCMDocument(doc);
-			if (cmdoc != null) {
-				// treat as XHTML unless we've got the in-code HTML content model
-				if (cmdoc instanceof HTMLCMDocument)
-					return false;
-				if (cmdoc.supports(HTMLCMProperties.IS_XHTML))
-					return Boolean.TRUE.equals(cmdoc.getProperty(HTMLCMProperties.IS_XHTML));
-			}
-		}
-		// this should never be reached
-		DocumentType docType = doc.getDoctype();
-		return docType != null && docType.getPublicId() != null && docType.getPublicId().indexOf("-//W3C//DTD XHTML ") == 0; //$NON-NLS-1$
-	}
-
-	protected void init() {
-		getPreferenceStore().addPropertyChangeListener(this);
-		reinit();
-	}
-
-	protected void reinit() {
-		String key = CommonEditorPreferenceNames.AUTO_PROPOSE;
-		boolean doAuto = getPreferenceStore().getBoolean(key);
-		if (doAuto) {
-			key = CommonEditorPreferenceNames.AUTO_PROPOSE_CODE;
-			completionProposalAutoActivationCharacters = getPreferenceStore().getString(key).toCharArray();
-		}
-		else {
-			completionProposalAutoActivationCharacters = null;
-		}
-	}
-
-	public void release() {
-		if (factoryForCSS != null) {
-			factoryForCSS.release();
-		}
-		getPreferenceStore().removePropertyChangeListener(this);
-		super.release();
-	}
-
-	protected boolean stringsEqual(String a, String b) {
-		return a.equalsIgnoreCase(b);
-	}
-
-	public void propertyChange(PropertyChangeEvent event) {
-		String property = event.getProperty();
-
-		if (property.compareTo(CommonEditorPreferenceNames.AUTO_PROPOSE) == 0 || property.compareTo(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE) == 0) {
-			reinit();
-		}
-	}
-
-	protected IPreferenceStore getPreferenceStore() {
-		if (fPreferenceStore == null)
-			fPreferenceStore = HTMLUIPlugin.getDefault().getPreferenceStore();
-
-		return fPreferenceStore;
-	}
-
-	/**
-	 * @see com.ibm.sed.edit.adapters.ExtendedContentAssistAdapter#computeCompletionProposals(ITextViewer, int, IndexedRegion, ITextRegion)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentPosition, IndexedRegion indexedNode, ITextRegion region) {
-		return computeCompletionProposals(viewer, documentPosition);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLMinimalContentModelGenerator.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLMinimalContentModelGenerator.java
deleted file mode 100644
index a056830..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLMinimalContentModelGenerator.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal.contentassist;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.ui.contentassist.XMLContentModelGenerator;
-import org.w3c.dom.Node;
-
-public class HTMLMinimalContentModelGenerator extends XMLContentModelGenerator {
-
-	private static HTMLMinimalContentModelGenerator instance = null;
-	protected int fTagCase;
-	protected int fAttrCase;
-
-	/**
-	 * HTMLMinimalContentModelGenerator constructor comment.
-	 */
-	private HTMLMinimalContentModelGenerator() {
-		super();
-	}
-
-	private void init() {
-		//IPreferenceStore prefs = CommonPreferencesPlugin.getDefault().getPreferenceStore(ContentType.ContentTypeID_HTML);
-		Preferences prefs = HTMLCorePlugin.getDefault().getPluginPreferences();
-		fTagCase = prefs.getInt(CommonModelPreferenceNames.TAG_NAME_CASE);
-		fAttrCase = prefs.getInt(CommonModelPreferenceNames.ATTR_NAME_CASE);
-	}
-
-	protected void generateEndTag(String tagName, Node parentNode, CMElementDeclaration elementDecl, StringBuffer buffer) {
-		if (elementDecl == null)
-			return;
-		if (elementDecl instanceof HTMLElementDeclaration) {
-			if (((Boolean) elementDecl.getProperty(HTMLCMProperties.IS_JSP)).booleanValue()) {
-				if (elementDecl.getContentType() == CMElementDeclaration.EMPTY)
-					return;
-			}
-			else {
-				String ommission = (String) elementDecl.getProperty(HTMLCMProperties.OMIT_TYPE);
-				if (ommission.equals(HTMLCMProperties.Values.OMIT_END) || ommission.equals(HTMLCMProperties.Values.OMIT_END_DEFAULT) || ommission.equals(HTMLCMProperties.Values.OMIT_END_MUST)) {
-					return;
-				}
-			}
-		}
-
-		if (elementDecl.getContentType() == CMElementDeclaration.EMPTY)
-			return;
-		buffer.append("</" + tagName + ">"); //$NON-NLS-2$//$NON-NLS-1$
-		return;
-	}
-
-	private boolean shouldIgnoreCase(CMNode cmnode) {
-		if (!cmnode.supports(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return false;
-		return ((Boolean) cmnode.getProperty(HTMLCMProperties.SHOULD_IGNORE_CASE)).booleanValue();
-	}
-
-	public String getRequiredName(Node ownerNode, CMNode cmnode) {
-		String name = super.getRequiredName(ownerNode, cmnode);
-		// don't change the case unless we're certain it is meaningless
-		if (shouldIgnoreCase(cmnode)) {
-			int caseVal = -1;
-			if (cmnode.getNodeType() == CMNode.ELEMENT_DECLARATION)
-				caseVal = fTagCase;
-			else if (cmnode.getNodeType() == CMNode.ATTRIBUTE_DECLARATION)
-				caseVal = fAttrCase;
-			switch (caseVal) {
-				case CommonModelPreferenceNames.LOWER :
-					{
-						name = name.toLowerCase();
-					}
-					break;
-				case CommonModelPreferenceNames.UPPER :
-					{
-						name = name.toUpperCase();
-					}
-					break;
-			}
-		}
-		return name;
-	}
-
-	public String getStartTagClose(Node parentNode, CMElementDeclaration elementDecl) {
-		String other = getOtherClose(parentNode);
-		if (other != null)
-			return other;
-		if (elementDecl == null)
-			return ">"; //$NON-NLS-1$
-		if (elementDecl instanceof HTMLElementDeclaration) {
-			if (((Boolean) elementDecl.getProperty(HTMLCMProperties.IS_JSP)).booleanValue()) {
-				if (elementDecl.getContentType() == CMElementDeclaration.EMPTY)
-					return "/>"; //$NON-NLS-1$
-			}
-			else {
-				String ommission = (String) elementDecl.getProperty(HTMLCMProperties.OMIT_TYPE);
-				if (ommission.equals(HTMLCMProperties.Values.OMIT_END) || ommission.equals(HTMLCMProperties.Values.OMIT_END_DEFAULT) || ommission.equals(HTMLCMProperties.Values.OMIT_END_MUST)) {
-					return ">"; //$NON-NLS-1$
-				}
-			}
-		}
-
-		return ">"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Gets the instance.
-	 * @return Returns a HTMLMinimalContentModelGenerator
-	 */
-	public synchronized static HTMLMinimalContentModelGenerator getInstance() {
-		if (instance == null)
-			instance = new HTMLMinimalContentModelGenerator();
-		instance.init();
-		return instance;
-	}
-
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLTemplateCompletionProcessor.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLTemplateCompletionProcessor.java
deleted file mode 100644
index 0a1cdda..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLTemplateCompletionProcessor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal.contentassist;
-
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.html.ui.templates.TemplateContextTypeHTML;
-import org.eclipse.wst.xml.ui.contentassist.AbstractTemplateCompletionProcessor;
-
-
-/**
- * Completion processor for HTML Templates
- */
-public class HTMLTemplateCompletionProcessor extends AbstractTemplateCompletionProcessor {
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.contentassist.AbstractTemplateCompletionProcessor#getTemplateStore()
-	 */
-	protected TemplateStore getTemplateStore() {
-		return HTMLUIPlugin.getDefault().getTemplateStore();
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.contentassist.AbstractTemplateCompletionProcessor#getTemplateContextRegistry()
-	 */
-	protected ContextTypeRegistry getTemplateContextRegistry() {
-		return HTMLUIPlugin.getDefault().getTemplateContextRegistry();
-	}
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.contentassist.AbstractTemplateCompletionProcessor#getContextTypeId()
-	 */
-	protected String getContextTypeId() {
-		// turn the context type id into content type specific
-		return TemplateContextTypeHTML.generateContextTypeId(super.getContextTypeId());
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/NoRegionContentAssistProcessorForHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/NoRegionContentAssistProcessorForHTML.java
deleted file mode 100644
index 10bf7fc..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/NoRegionContentAssistProcessorForHTML.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal.contentassist;
-
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.wst.css.core.internal.text.rules.StructuredTextPartitionerForCSS;
-import org.eclipse.wst.css.ui.contentassist.CSSContentAssistProcessor;
-import org.eclipse.wst.html.core.internal.text.rules.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.javascript.common.ui.contentassist.JavaScriptContentAssistProcessor;
-import org.eclipse.wst.xml.ui.contentassist.NoRegionContentAssistProcessor;
-
-/**
- * 
- * @author pavery
- */
-public class NoRegionContentAssistProcessorForHTML extends NoRegionContentAssistProcessor {
-	/*
-	 * @see com.ibm.sse.editor.xml.contentassist.NoRegionContentAssistProcessor#initPartitionToProcessorMap()
-	 */
-	protected void initPartitionToProcessorMap() {
-		super.initPartitionToProcessorMap();
-		IContentAssistProcessor htmlProcessor = new HTMLContentAssistProcessor();
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForHTML.ST_DEFAULT_HTML, htmlProcessor);
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForHTML.ST_HTML_COMMENT, htmlProcessor);
-
-		IContentAssistProcessor jsContentAssistProcessor = new JavaScriptContentAssistProcessor();
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForHTML.ST_SCRIPT, jsContentAssistProcessor);
-
-		IContentAssistProcessor cssContentAssistProcessor = new CSSContentAssistProcessor();
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForCSS.ST_STYLE, cssContentAssistProcessor);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/XHTMLMinimalContentModelGenerator.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/XHTMLMinimalContentModelGenerator.java
deleted file mode 100644
index e64bb1f..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/XHTMLMinimalContentModelGenerator.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal.contentassist;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.xml.ui.contentassist.XMLContentModelGenerator;
-import org.w3c.dom.Node;
-
-public class XHTMLMinimalContentModelGenerator extends XMLContentModelGenerator {
-
-	private static XHTMLMinimalContentModelGenerator instance = null;
-
-	private XHTMLMinimalContentModelGenerator() {
-		super();
-	}
-
-	protected void generateEndTag(String tagName, Node parentNode, CMElementDeclaration elementDecl, StringBuffer buffer) {
-		if (elementDecl == null)
-			return;
-		if (elementDecl instanceof HTMLElementDeclaration) {
-			if (((Boolean) elementDecl.getProperty(HTMLCMProperties.IS_JSP)).booleanValue()) {
-				if (elementDecl.getContentType() == CMElementDeclaration.EMPTY)
-					return;
-			}
-			else {
-				String ommission = (String) elementDecl.getProperty(HTMLCMProperties.OMIT_TYPE);
-				if (ommission.equals(HTMLCMProperties.Values.OMIT_END) || ommission.equals(HTMLCMProperties.Values.OMIT_END_DEFAULT) || ommission.equals(HTMLCMProperties.Values.OMIT_END_MUST)) {
-					return;
-				}
-			}
-		}
-
-		if (elementDecl.getContentType() == CMElementDeclaration.EMPTY)
-			return;
-		buffer.append("</" + tagName + ">"); //$NON-NLS-2$//$NON-NLS-1$
-		return;
-	}
-
-
-	public String getStartTagClose(Node parentNode, CMElementDeclaration elementDecl) {
-		String other = getOtherClose(parentNode);
-		if (other != null)
-			return other;
-		if (elementDecl == null)
-			return ">"; //$NON-NLS-1$
-		// EMPTY tag, do a self-close
-		if (elementDecl.getContentType() == CMElementDeclaration.EMPTY) {
-			// if it's a JSP element, don't add the space since the JSP container doesn't/shouldn't care
-			if (elementDecl instanceof HTMLElementDeclaration && (((Boolean) elementDecl.getProperty(HTMLCMProperties.IS_JSP)).booleanValue()))
-				// if it's not JSP, conform to XHTML guidelines and add the space
-				return "/>"; //$NON-NLS-1$
-			else
-				return " />"; //$NON-NLS-1$
-		}
-		// not defined as EMPTY, but should be treated as such anyway
-		else if (elementDecl instanceof HTMLElementDeclaration) {
-			String ommission = (String) elementDecl.getProperty(HTMLCMProperties.OMIT_TYPE);
-			if (ommission.equals(HTMLCMProperties.Values.OMIT_END) || ommission.equals(HTMLCMProperties.Values.OMIT_END_DEFAULT) || ommission.equals(HTMLCMProperties.Values.OMIT_END_MUST)) {
-				return " />"; //$NON-NLS-1$
-			}
-		}
-
-		return ">"; //$NON-NLS-1$
-	}
-
-	public synchronized static XHTMLMinimalContentModelGenerator getInstance() {
-		if (instance == null)
-			instance = new XHTMLMinimalContentModelGenerator();
-		return instance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/editor/HTMLEditorPluginImageHelper.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/editor/HTMLEditorPluginImageHelper.java
deleted file mode 100644
index e8d0887..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/editor/HTMLEditorPluginImageHelper.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal.editor;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-
-
-/**
- * Helper class to handle images provided by this plug-in.
- * 
- * NOTE: For internal use only. For images used externally, please use the
- * Shared***ImageHelper class instead.
- * 
- * @author amywu
- */
-public class HTMLEditorPluginImageHelper {
-	private final String PLUGINID = HTMLUIPlugin.ID;
-	private static HTMLEditorPluginImageHelper instance = null;
-
-	//	 save a descriptor for each image
-	private HashMap fImageDescRegistry = null;
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a HTMLEditorPluginImageHelper
-	 */
-	public synchronized static HTMLEditorPluginImageHelper getInstance() {
-		if (instance == null)
-			instance = new HTMLEditorPluginImageHelper();
-		return instance;
-	}
-
-	/**
-	 * Retrieves the image associated with resource from the image registry.
-	 * If the image cannot be retrieved, attempt to find and load the image at
-	 * the location specified in resource.
-	 * 
-	 * @param resource
-	 *            the image to retrieve
-	 * @return Image the image associated with resource or null if one could
-	 *         not be found
-	 */
-	public Image getImage(String resource) {
-		Image image = getImageRegistry().get(resource);
-		if (image == null) {
-			// create an image
-			image = createImage(resource);
-		}
-		return image;
-	}
-
-	/**
-	 * Retrieves the image descriptor associated with resource from the image
-	 * descriptor registry. If the image descriptor cannot be retrieved,
-	 * attempt to find and load the image descriptor at the location specified
-	 * in resource.
-	 * 
-	 * @param resource
-	 *            the image descriptor to retrieve
-	 * @return ImageDescriptor the image descriptor assocated with resource or
-	 *         the default "missing" image descriptor if one could not be
-	 *         found
-	 */
-	public ImageDescriptor getImageDescriptor(String resource) {
-		ImageDescriptor imageDescriptor = null;
-		Object o = getImageDescriptorRegistry().get(resource);
-		if (o == null) {
-			//create a descriptor
-			imageDescriptor = createImageDescriptor(resource);
-		}
-		else {
-			imageDescriptor = (ImageDescriptor) o;
-		}
-		return imageDescriptor;
-	}
-
-	/**
-	 * Returns the image descriptor registry for this plugin.
-	 * 
-	 * @return HashMap - image descriptor registry for this plugin
-	 */
-	private HashMap getImageDescriptorRegistry() {
-		if (fImageDescRegistry == null)
-			fImageDescRegistry = new HashMap();
-		return fImageDescRegistry;
-	}
-
-	/**
-	 * Returns the image registry for this plugin.
-	 * 
-	 * @return ImageRegistry - image registry for this plugin
-	 */
-	private ImageRegistry getImageRegistry() {
-		return JFaceResources.getImageRegistry();
-	}
-
-	/**
-	 * Creates an image from the given resource and adds the image to the
-	 * image registry.
-	 * 
-	 * @param resource
-	 * @return Image
-	 */
-	private Image createImage(String resource) {
-		ImageDescriptor desc = getImageDescriptor(resource);
-		Image image = null;
-		
-		if (desc != null) {
-			image = desc.createImage();
-			// dont add the missing image descriptor image to the image registry
-			if (!desc.equals(ImageDescriptor.getMissingImageDescriptor()))
-				getImageRegistry().put(resource, image);
-		}
-		return image;
-	}
-
-	/**
-	 * Creates an image descriptor from the given imageFilePath and adds the
-	 * image descriptor to the image descriptor registry. If an image
-	 * descriptor could not be created, the default "missing" image descriptor
-	 * is returned but not added to the image descriptor registry.
-	 * 
-	 * @param imageFilePath
-	 * @return ImageDescriptor image descriptor for imageFilePath or default
-	 *         "missing" image descriptor if resource could not be found
-	 */
-	private ImageDescriptor createImageDescriptor(String imageFilePath) {
-		ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGINID, imageFilePath);
-		if (imageDescriptor != null) {
-			getImageDescriptorRegistry().put(imageFilePath, imageDescriptor);
-		}
-		else {
-			imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-		}
-
-		return imageDescriptor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/editor/HTMLEditorPluginImages.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/editor/HTMLEditorPluginImages.java
deleted file mode 100644
index fbf3aec..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/editor/HTMLEditorPluginImages.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal.editor;
-
-/**
- * Bundle of most images used by the HTML Editor plug-in.
- */
-public class HTMLEditorPluginImages { 	
-	public static final String IMG_OBJ_TABLE = "icons/full/obj16/table.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_ANCHOR = "icons/full/obj16/tag-anchor.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_BODY = "icons/full/obj16/tag-body.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_BUTTON = "icons/full/obj16/tag-button.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_FONT = "icons/full/obj16/tag-font.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_FORM = "icons/full/obj16/tag-form.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_HTML = "icons/full/obj16/tag-html.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_IMAGE_MAP = "icons/full/obj16/tag-image-map.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_IMAGE = "icons/full/obj16/tag-image.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_JSP = "icons/full/obj16/tag-jsp.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_TITLE = "icons/full/obj16/tag-title.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJ_TAG = "icons/full/obj16/tag.gif";			//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/editor/IHelpContextIds.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/editor/IHelpContextIds.java
deleted file mode 100644
index 77746a3..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/editor/IHelpContextIds.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal.editor;
-
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-
-/**
- * Help context ids for the HTML Source Editor.
- * <p>
- * This interface contains constants only; it is not intended to be implemented.
- * </p>
- * 
- */
-public interface IHelpContextIds {
-	// org.eclipse.wst.html.ui.
-	public static final String PREFIX = HTMLUIPlugin.ID + "."; //$NON-NLS-1$
-
-	// HTML Source page editor
-	public static final String HTML_SOURCEVIEW_HELPID = PREFIX + "ehtm0000"; //$NON-NLS-1$
-	
-	// HTML Files Preference page
-	public static final String HTML_PREFWEBX_FILES_HELPID = PREFIX + "webx0030"; //$NON-NLS-1$
-	// HTML Source Preference page
-	public static final String HTML_PREFWEBX_SOURCE_HELPID = PREFIX + "webx0031"; //$NON-NLS-1$
-	// HTML Styles Preference page
-	public static final String HTML_PREFWEBX_STYLES_HELPID = PREFIX + "webx0032"; //$NON-NLS-1$
-	// HTML Templates Preference page
-	public static final String HTML_PREFWEBX_TEMPLATES_HELPID = PREFIX + "webx0033"; //$NON-NLS-1$
-		
-	// HTML Cleanup dialog
-	public static final String CLEANUP_HTML_HELPID = PREFIX + "xmlm1100"; //$NON-NLS-1$
-	
-	// HTML Content Settings
-	public static final String WEB_CONTENT_SETTINGS_HELPID = PREFIX + "misc0170"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/ExternalFileEditorInput.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/ExternalFileEditorInput.java
deleted file mode 100644
index 016d2dc..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/ExternalFileEditorInput.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.wst.html.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.editors.text.ILocationProvider;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * EditorInput for external files. Copied from
- * org.eclipse.ui.internal.editors.text.JavaFileEditorInput
- */
-class ExternalFileEditorInput implements IEditorInput, ILocationProvider {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	/**
-	 * The workbench adapter which simply provides the label.
-	 * 
-	 * @since 3.1
-	 */
-	private class WorkbenchAdapter implements IWorkbenchAdapter {
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object o) {
-			return null;
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-		 */
-		public ImageDescriptor getImageDescriptor(Object object) {
-			return null;
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-		 */
-		public String getLabel(Object o) {
-			return ((ExternalFileEditorInput) o).getName();
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object o) {
-			return null;
-		}
-	}
-
-	private File fFile;
-	private WorkbenchAdapter fWorkbenchAdapter = new WorkbenchAdapter();
-
-	public ExternalFileEditorInput(File file) {
-		super();
-		fFile = file;
-		fWorkbenchAdapter = new WorkbenchAdapter();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return fFile.exists();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return fFile.getName();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return fFile.getAbsolutePath();
-	}
-
-	/*
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (ILocationProvider.class.equals(adapter))
-			return this;
-		if (IWorkbenchAdapter.class.equals(adapter))
-			return fWorkbenchAdapter;
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/*
-	 * @see org.eclipse.ui.editors.text.ILocationProvider#getPath(java.lang.Object)
-	 */
-	public IPath getPath(Object element) {
-		if (element instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) element;
-			return Path.fromOSString(input.fFile.getAbsolutePath());
-		}
-		return null;
-	}
-
-	/*
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object o) {
-		if (o == this)
-			return true;
-
-		if (o instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) o;
-			return fFile.equals(input.fFile);
-		}
-
-		return false;
-	}
-
-	/*
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fFile.hashCode();
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/ExternalFileHyperlink.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/ExternalFileHyperlink.java
deleted file mode 100644
index a37e44f..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/ExternalFileHyperlink.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.wst.html.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.wst.html.ui.internal.Logger;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Hyperlink for external files.
- */
-class ExternalFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	private IRegion fHyperlinkRegion;
-	private File fHyperlinkFile;
-
-	public ExternalFileHyperlink(IRegion region, File file) {
-		fHyperlinkFile = file;
-		fHyperlinkRegion = region;
-	}
-	
-	public IRegion getHyperlinkRegion() {
-		return fHyperlinkRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		if (fHyperlinkFile != null) {
-			IEditorInput input = new ExternalFileEditorInput(fHyperlinkFile);
-			IEditorDescriptor descriptor;
-			try {
-				descriptor = IDE.getEditorDescriptor(input.getName());
-				if (descriptor != null) {
-					IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-					IDE.openEditor(page, input, descriptor.getId(), true);
-				}
-			}
-			catch (PartInitException e) {
-				Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/URIHyperlinkDetector.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/URIHyperlinkDetector.java
deleted file mode 100644
index 3f1b6b9..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/URIHyperlinkDetector.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.wst.html.ui.internal.hyperlink;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.wst.html.ui.internal.Logger;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-/**
- * Detects hyperlinks in tags. Includes detection in DOCTYPE and attribute
- * values. Resolves references to schemas, dtds, href, file, src, etc using the
- * Web Project Resolver.
- * 
- */
-public class URIHyperlinkDetector extends XMLHyperlinkDetector {
-	// copies of this class exist in:
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	private final String SCHEMA_LOCATION = "schemaLocation"; //$NON-NLS-1$
-	private final String XMLNS = "xmlns"; //$NON-NLS-1$
-	private final String XSI_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
-
-	protected String getURIString(Node node, IDocument document) {
-		if (isXMLHandled(node))
-			return super.getURIString(node, document);
-		
-		String resolvedURI = null;
-		if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			// handle attribute node
-			Attr attrNode = (Attr) node;
-			String attrValue = attrNode.getValue();
-			attrValue = StringUtils.strip(attrValue);
-
-			if (attrValue != null && attrValue.length() > 0) {
-				// currently using model's URI resolver until a better resolver is
-				// extended to common extensible URI resolver
-				// future_TODO: should use the new common extensible URI resolver
-				// when
-				// clients start implementing it
-				IStructuredModel sModel = null;
-				try {
-					sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-					if (sModel != null) {
-						URIResolver resolver = sModel.getResolver();
-						resolvedURI = resolver != null ? resolver.getLocationByURI(attrValue, true) : attrValue;
-					}
-				}
-				catch (Exception e) {
-					Logger.logException(e);
-				}
-				finally {
-					if (sModel != null)
-						sModel.releaseFromRead();
-				}
-			}
-		}
-		return resolvedURI;
-	}
-	
-	/**
-	 * Check if this is an xml-related node (schema location, doctype).
-	 * @param node
-	 * @return
-	 */
-	private boolean isXMLHandled(Node node) {
-		short nodeType = node.getNodeType();
-		if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-			return true;
-		} else if (nodeType == Node.ATTRIBUTE_NODE) {
-			Attr attrNode = (Attr) node;
-			String attrName = attrNode.getName();
-
-			// handle schemaLocation attribute
-			String prefix = DOMNamespaceHelper.getPrefix(attrName);
-			String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-			if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName))) {
-				return true;
-			} else if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attrNode))) && (SCHEMA_LOCATION.equals(unprefixedName))) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/WorkspaceFileHyperlink.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/WorkspaceFileHyperlink.java
deleted file mode 100644
index 8ee3ac1..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/WorkspaceFileHyperlink.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.wst.html.ui.internal.hyperlink;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.html.ui.internal.Logger;
-
-/**
- * Hyperlink for files within the workspace. (As long as there is an IFile,
- * this can be used) Opens the default editor for the file.
- */
-class WorkspaceFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	private IRegion fRegion;
-	private IFile fFile;
-	private IRegion fHighlightRange;
-
-	public WorkspaceFileHyperlink(IRegion region, IFile file) {
-		fRegion = region;
-		fFile = file;
-	}
-
-	public WorkspaceFileHyperlink(IRegion region, IFile file, IRegion range) {
-		fRegion = region;
-		fFile = file;
-		fHighlightRange = range;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		if (fFile != null && fFile.exists()) {
-			try {
-				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				IEditorPart editor = IDE.openEditor(page, fFile, true);
-				// highlight range in editor if possible
-				if (fHighlightRange != null && editor instanceof ITextEditor) {
-					((ITextEditor) editor).setHighlightRange(fHighlightRange.getOffset(), fHighlightRange.getLength(), true);
-				}
-			}
-			catch (PartInitException pie) {
-				Logger.log(Logger.WARNING_DEBUG, pie.getMessage(), pie);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/XMLHyperlinkDetector.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/XMLHyperlinkDetector.java
deleted file mode 100644
index 5186a4e..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/XMLHyperlinkDetector.java
+++ /dev/null
@@ -1,467 +0,0 @@
-package org.eclipse.wst.html.ui.internal.hyperlink;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.hyperlink.URLHyperlink;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.wst.common.uriresolver.URIResolverPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * Detects hyperlinks in XML tags. Includes detection in DOCTYPE and attribute
- * values. Resolves references to schemas, dtds, etc using the Common URI
- * Resolver.
- * 
- */
-class XMLHyperlinkDetector implements IHyperlinkDetector {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	private final String NO_NAMESPACE_SCHEMA_LOCATION = "noNamespaceSchemaLocation"; //$NON-NLS-1$
-	private final String SCHEMA_LOCATION = "schemaLocation"; //$NON-NLS-1$
-	private final String XMLNS = "xmlns"; //$NON-NLS-1$
-	private final String XSI_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
-	private final String HTTP_PROTOCOL = "http://";//$NON-NLS-1$
-
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		// for now, only capable of creating 1 hyperlink
-		List hyperlinks = new ArrayList(0);
-
-		if (region != null && textViewer != null) {
-			IDocument document = textViewer.getDocument();
-			Node currentNode = getCurrentNode(document, region.getOffset());
-			if (currentNode != null) {
-				String uriString = null;
-				if (currentNode.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-					// doctype nodes
-					uriString = getURIString(currentNode, document);
-				}
-				else if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
-					// element nodes
-					Attr currentAttr = getCurrentAttrNode(currentNode, region.getOffset());
-					if (currentAttr != null) {
-						// try to find link for current attribute
-						// resolve attribute value
-						uriString = getURIString(currentAttr, document);
-						// verify validity of uri string
-						if (!isValidURI(uriString))
-							// reset current attribute
-							currentAttr = null;
-					}
-					if (currentAttr == null) {
-						// try to find a linkable attribute within element
-						currentAttr = getLinkableAttr((Element) currentNode);
-						if (currentAttr != null) {
-							uriString = getURIString(currentAttr, document);
-						}
-					}
-					currentNode = currentAttr;
-				}
-				// try to create hyperlink from information gathered
-				if (uriString != null && currentNode != null && isValidURI(uriString)) {
-					IRegion hyperlinkRegion = getHyperlinkRegion(currentNode);
-					IHyperlink hyperlink = createHyperlink(uriString, hyperlinkRegion, document, currentNode);
-					if (hyperlink != null) {
-						hyperlinks.add(hyperlink);
-					}
-				}
-			}
-		}
-		if (hyperlinks.size() == 0)
-			return null;
-		return (IHyperlink[]) hyperlinks.toArray(new IHyperlink[0]);
-	}
-
-	/**
-	 * Create the appropriate hyperlink
-	 * 
-	 * @param uriString
-	 * @param hyperlinkRegion
-	 * @return IHyperlink
-	 */
-	private IHyperlink createHyperlink(String uriString, IRegion hyperlinkRegion, IDocument document, Node node) {
-		IHyperlink link = null;
-
-		if (uriString != null) {
-			String temp = uriString.toLowerCase();
-			if (temp.startsWith(HTTP_PROTOCOL)) {
-				// this is a URLHyperlink since this is a web address
-				link = new URLHyperlink(hyperlinkRegion, uriString);
-			}
-			else {
-				// try to locate the file in the workspace
-				IFile file = getFile(uriString);
-				if (file != null && file.exists()) {
-					// this is a WorkspaceFileHyperlink since file exists in
-					// workspace
-					link = new WorkspaceFileHyperlink(hyperlinkRegion, file);
-				}
-				else {
-					// this is an ExternalFileHyperlink since file does not
-					// exist
-					// in workspace
-					File externalFile = new File(uriString);
-					link = new ExternalFileHyperlink(hyperlinkRegion, externalFile);
-				}
-			}
-		}
-
-		return link;
-	}
-
-	private IRegion getHyperlinkRegion(Node node) {
-		IRegion hyperRegion = null;
-
-		if (node != null) {
-			short nodeType = node.getNodeType();
-			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-				// handle doc type node
-				XMLNode docNode = (XMLNode) node;
-				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
-			}
-			else if (nodeType == Node.ATTRIBUTE_NODE) {
-				// handle attribute nodes
-				XMLAttr att = (XMLAttr) node;
-				// do not include quotes in attribute value region
-				int regOffset = att.getValueRegionStartOffset();
-				int regLength = att.getValueRegion().getTextLength();
-				String attValue = att.getValueRegionText();
-				if (StringUtils.isQuoted(attValue)) {
-					regOffset = ++regOffset;
-					regLength = regLength - 2;
-				}
-				hyperRegion = new Region(regOffset, regLength);
-			}
-		}
-		return hyperRegion;
-	}
-
-	/**
-	 * Returns the URI string
-	 * 
-	 * @param node -
-	 *            assumes not null
-	 */
-	protected String getURIString(Node node, IDocument document) {
-		String resolvedURI = null;
-		// need the base location, publicId, and systemId for URIResolver
-		String baseLoc = null;
-		String publicId = null;
-		String systemId = null;
-
-		short nodeType = node.getNodeType();
-		// handle doc type node
-		if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-			baseLoc = getBaseLocation(document);
-			publicId = ((DocumentType) node).getPublicId();
-			systemId = ((DocumentType) node).getSystemId();
-		}
-		else if (nodeType == Node.ATTRIBUTE_NODE) {
-			// handle attribute node
-			Attr attrNode = (Attr) node;
-			baseLoc = getBaseLocation(document);
-			String attrName = attrNode.getName();
-			String attrValue = attrNode.getValue();
-			attrValue = StringUtils.strip(attrValue);
-
-			// handle schemaLocation attribute
-			String prefix = DOMNamespaceHelper.getPrefix(attrName);
-			String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-			if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName))) {
-				publicId = attrValue;
-				systemId = getLocationHint(attrNode.getOwnerElement(), publicId);
-			}
-			else if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attrNode))) && (SCHEMA_LOCATION.equals(unprefixedName))) {
-				// for now just use the first pair
-				// need to look into being more precise
-				StringTokenizer st = new StringTokenizer(attrValue);
-				publicId = st.hasMoreTokens() ? st.nextToken() : null;
-				systemId = st.hasMoreTokens() ? st.nextToken() : null;
-				// else check if xmlns publicId = value
-			}
-			else {
-				systemId = attrValue;
-			}
-		}
-
-		resolvedURI = resolveURI(baseLoc, publicId, systemId);
-		return resolvedURI;
-	}
-
-	/**
-	 * Returns an IFile from the given uri if possible, null if cannot find
-	 * file from uri.
-	 * 
-	 * @param fileString
-	 *            file system path
-	 * @return returns IFile if fileString exists in the workspace
-	 */
-	private IFile getFile(String fileString) {
-		IFile file = null;
-
-		if (fileString != null) {
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileString));
-			for (int i = 0; i < files.length && file == null; i++)
-				if (files[i].exists())
-					file = files[i];
-		}
-
-		return file;
-	}
-
-	/**
-	 * Checks to see if the given attribute is openable. Attribute is openable
-	 * if it is a namespace declaration attribute or if the attribute value is
-	 * of type URI.
-	 * 
-	 * @param attr
-	 *            cannot be null
-	 * @param cmElement
-	 *            CMElementDeclaration associated with the attribute (can be
-	 *            null)
-	 * @return true if this attribute is "openOn-able" false otherwise
-	 */
-	private boolean isLinkableAttr(Attr attr, CMElementDeclaration cmElement) {
-		String attrName = attr.getName();
-		String prefix = DOMNamespaceHelper.getPrefix(attrName);
-		String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-		// determine if attribute is namespace declaration
-		if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName)))
-			return true;
-
-		// determine if attribute contains schema location
-		if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attr))) && ((SCHEMA_LOCATION.equals(unprefixedName)) || (NO_NAMESPACE_SCHEMA_LOCATION.equals(unprefixedName))))
-			return true;
-
-		// determine if attribute value is of type URI
-		if (cmElement != null) {
-			CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) cmElement.getAttributes().getNamedItem(attrName);
-			if ((attrDecl != null) && (attrDecl.getAttrType() != null) && (CMDataType.URI.equals(attrDecl.getAttrType().getDataTypeName()))) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Attempts to find an attribute within element that is openable.
-	 * 
-	 * @param element -
-	 *            cannot be null
-	 * @return Attr attribute that can be used for open on, null if no
-	 *         attribute could be found
-	 */
-	private Attr getLinkableAttr(Element element) {
-		CMElementDeclaration ed = getCMElementDeclaration(element);
-		// get the list of attributes for this node
-		NamedNodeMap attrs = element.getAttributes();
-		for (int i = 0; i < attrs.getLength(); ++i) {
-			// check if this attribute is "openOn-able"
-			Attr att = (Attr) attrs.item(i);
-			if (isLinkableAttr(att, ed)) {
-				return att;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Get the CMElementDeclaration for an element
-	 * 
-	 * @param element
-	 * @return CMElementDeclaration
-	 */
-	private CMElementDeclaration getCMElementDeclaration(Element element) {
-		CMElementDeclaration ed = null;
-
-		ModelQuery mq = ModelQueryUtil.getModelQuery(element.getOwnerDocument());
-		if (mq != null) {
-			ed = mq.getCMElementDeclaration(element);
-		}
-		return ed;
-	}
-
-	/**
-	 * Returns the attribute node within node at offset
-	 * 
-	 * @param node
-	 * @param offset
-	 * @return Attr
-	 */
-	private Attr getCurrentAttrNode(Node node, int offset) {
-		if ((node instanceof IndexedRegion) && ((IndexedRegion) node).contains(offset) && (node.hasAttributes())) {
-			NamedNodeMap attrs = node.getAttributes();
-			// go through each attribute in node and if attribute contains
-			// offset, return that attribute
-			for (int i = 0; i < attrs.getLength(); ++i) {
-				// assumption that if parent node is of type IndexedRegion,
-				// then its attributes will also be of type IndexedRegion
-				IndexedRegion attRegion = (IndexedRegion) attrs.item(i);
-				if (attRegion.contains(offset)) {
-					return (Attr) attrs.item(i);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the node the cursor is currently on in the document. null if no
-	 * node is selected
-	 * 
-	 * @param offset
-	 * @return Node either element, doctype, text, or null
-	 */
-	private Node getCurrentNode(IDocument document, int offset) {
-		// get the current node at the offset (returns either: element,
-		// doctype, text)
-		IndexedRegion inode = null;
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			inode = sModel.getIndexedRegion(offset);
-			if (inode == null)
-				inode = sModel.getIndexedRegion(offset - 1);
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-
-		if (inode instanceof Node) {
-			return (Node) inode;
-		}
-		return null;
-	}
-
-	/**
-	 * Get the base location from the current model (local file system)
-	 */
-	private String getBaseLocation(IDocument document) {
-		String baseLoc = null;
-
-		// get the base location from the current model
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (sModel != null) {
-				IPath location = new Path(sModel.getBaseLocation());
-				if (location.toFile().exists()) {
-					baseLoc = location.toString();
-				}
-				else {
-					baseLoc = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(sModel.getBaseLocation()).toString();
-				}
-			}
-		}
-		finally {
-			if (sModel != null) {
-				sModel.releaseFromRead();
-			}
-		}
-		return baseLoc;
-	}
-
-	/**
-	 * Checks whether the given uriString is really pointing to a file
-	 * 
-	 * @param uriString
-	 * @return boolean
-	 */
-	private boolean isValidURI(String uriString) {
-		// try to create a uri
-		if (uriString != null) {
-			URI uri = null;
-			try {
-				uri = new URI(uriString);
-			}
-			catch (URISyntaxException e) {
-				// it is okay that this is not a uri
-			}
-
-			File file = null;
-			// create a file from uri if it's not an absolute uri (ex:
-			// http://myfile)
-			if (uri != null && !uri.isAbsolute())
-				file = new File(uri);
-			else
-				// create a file from uriString which is an absolute path (ex:
-				// d:/myfile)
-				file = new File(uriString);
-			// check if the newly created file exists
-			return file.exists();
-		}
-		return false;
-	}
-
-	/**
-	 * Resolves the given URI information
-	 * 
-	 * @param baseLocation
-	 * @param publicId
-	 * @param systemId
-	 * @return String resolved uri.
-	 */
-	private String resolveURI(String baseLocation, String publicId, String systemId) {
-		// dont resolve if there's nothing to resolve
-		if ((baseLocation == null) && (publicId == null) && (systemId == null))
-			return null;
-		return URIResolverPlugin.createResolver().resolve(baseLocation, publicId, systemId);
-	}
-
-	/**
-	 * Find the location hint for the given namespaceURI if it exists
-	 * 
-	 * @param elementNode -
-	 *            cannot be null
-	 * @param namespaceURI -
-	 *            cannot be null
-	 * @return location hint (systemId) if it was found, null otherwise
-	 */
-	private String getLocationHint(Element elementNode, String namespaceURI) {
-		Attr schemaLocNode = elementNode.getAttributeNodeNS(XSI_NAMESPACE_URI, SCHEMA_LOCATION);
-		if (schemaLocNode != null) {
-			StringTokenizer st = new StringTokenizer(schemaLocNode.getValue());
-			while (st.hasMoreTokens()) {
-				String publicId = st.hasMoreTokens() ? st.nextToken() : null;
-				String systemId = st.hasMoreTokens() ? st.nextToken() : null;
-				// found location hint
-				if (namespaceURI.equalsIgnoreCase(publicId))
-					return systemId;
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/HTMLUIPreferenceInitializer.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/HTMLUIPreferenceInitializer.java
deleted file mode 100644
index 9cd4cc1..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/preferences/HTMLUIPreferenceInitializer.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.wst.html.ui.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.html.ui.style.IStyleConstantsHTML;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.ui.ColorHelper;
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-
-/**
- * Sets default values for HTML UI preferences
- */
-public class HTMLUIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = HTMLUIPlugin.getDefault().getPreferenceStore();
-
-		store.setDefault(CommonEditorPreferenceNames.AUTO_PROPOSE, true);
-		store.setDefault(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE, "<");//$NON-NLS-1$
-
-		store.setDefault(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR, true);
-		
-		// HTML Style Preferences
-		String NOBACKGROUNDBOLD = " | null | false";   //$NON-NLS-1$
-		String styleValue = ColorHelper.getColorString(127, 0, 127) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_NAME, styleValue);
-		
-		styleValue = ColorHelper.getColorString(42, 0, 255)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE, styleValue);
-		
-		styleValue = "null" + NOBACKGROUNDBOLD;  //$NON-NLS-1$
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS, styleValue); // specified value is black; leaving as widget default
-		
-		styleValue = ColorHelper.getColorString(63, 95, 191)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.COMMENT_BORDER, styleValue);
-		store.setDefault(IStyleConstantsXML.COMMENT_TEXT, styleValue);
-		
-		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.DECL_BORDER, styleValue);
-
-		styleValue = ColorHelper.getColorString(0, 0, 128)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.DOCTYPE_NAME, styleValue);
-		store.setDefault(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF, styleValue);
-		
-		styleValue = ColorHelper.getColorString(128, 128, 128)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID, styleValue);
-
-		styleValue = ColorHelper.getColorString(63, 127, 95)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF, styleValue);
-
-		styleValue = "null" + NOBACKGROUNDBOLD;	//$NON-NLS-1$
-		store.setDefault(IStyleConstantsXML.XML_CONTENT, styleValue);	// specified value is black; leaving as widget default
-
-		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_BORDER, styleValue);
-		
-		styleValue = ColorHelper.getColorString(63, 127, 127)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_NAME, styleValue);
-		
-		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.PI_BORDER, styleValue);
- 
-		styleValue = "null" + NOBACKGROUNDBOLD;	//$NON-NLS-1$
-		store.setDefault(IStyleConstantsXML.PI_CONTENT, styleValue);	// specified value is black; leaving as widget default
-
-		styleValue = ColorHelper.getColorString(0, 128, 128)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.CDATA_BORDER, styleValue);
-		
-		styleValue = ColorHelper.getColorString(0, 0, 0)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.CDATA_TEXT, styleValue);
-		
-		styleValue = ColorHelper.getColorString(191, 95, 63)  + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsHTML.SCRIPT_AREA_BORDER, styleValue);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/search/HTMLFindOccurrencesAction.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/search/HTMLFindOccurrencesAction.java
deleted file mode 100644
index 5790f76..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/search/HTMLFindOccurrencesAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.internal.search;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.html.core.internal.text.rules.StructuredTextPartitionerForHTML;
-import org.eclipse.wst.sse.ui.internal.search.BasicFindOccurrencesAction;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-
-
-/**
- * Configures a BasicFindOccurrencesAction with HTML partitions and regions
- * 
- * @author pavery
- */
-public class HTMLFindOccurrencesAction extends BasicFindOccurrencesAction {
-
-	public HTMLFindOccurrencesAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.internal.search.BasicFindOccurrencesAction#getPartitionTypes()
-	 */
-	public String[] getPartitionTypes() {
-
-		return new String[]{StructuredTextPartitionerForHTML.ST_DEFAULT_HTML, StructuredTextPartitionerForXML.ST_DEFAULT_XML};
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.internal.search.BasicFindOccurrencesAction#getRegionTypes()
-	 */
-	public String[] getRegionTypes() {
-
-		return new String[]{XMLRegionContext.XML_TAG_NAME, XMLRegionContext.XML_TAG_ATTRIBUTE_NAME, XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE};
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/openon/DefaultOpenOnHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/openon/DefaultOpenOnHTML.java
deleted file mode 100644
index adfe750..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/openon/DefaultOpenOnHTML.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.openon;
-
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.PathHelper;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.xml.ui.openon.DefaultOpenOnXML;
-
-/**
- * This action class retrieves the link/file selected by the cursor and
- * attempts to open the link/file in the default editor or web browser
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-public class DefaultOpenOnHTML extends DefaultOpenOnXML {
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sse.editor.xml.openon.DefaultOpenOnXML#resolveURI(java.lang.String,
-	 *      java.lang.String, java.lang.String)
-	 */
-	protected String resolveURI(String baseLocation, String publicId, String systemId) {
-		// currently using model's URI resolver until a better resolver is
-		// extended to common extensible URI resolver
-		// future_TODO: should use the new common extensible URI resolver when
-		// clients start implementing it
-		String resolvedURI = systemId;
-
-		if (systemId != null) {
-			IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-			try {
-				if (sModel != null) {
-					URIResolver resolver = sModel.getResolver();
-					resolvedURI = resolver != null ? resolver.getLocationByURI(systemId, true) : systemId;
-				}
-			}
-			catch (Exception e) {
-				Logger.logException(e);
-			}
-			finally {
-				if (sModel != null)
-					sModel.releaseFromRead();
-			}
-
-			// special adjustment for file protocol
-			if (systemId.startsWith(FILE_PROTOCOL)) {
-				PathHelper.removeLeadingSeparator(resolvedURI);
-			}
-		}
-		return resolvedURI;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLColorPage.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLColorPage.java
deleted file mode 100644
index 756030e..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLColorPage.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.preferences.ui;
-
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.html.core.contenttype.ContentTypeIdForHTML;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore.OverlayKey;
-import org.eclipse.wst.sse.ui.preferences.ui.StyledTextColorPicker;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.ui.preferences.XMLColorPage;
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-
-public class HTMLColorPage extends XMLColorPage {
-
-	/**
-	 * Set up all the style preference keys in the overlay store
-	 */
-	protected OverlayKey[] createOverlayStoreKeys() {
-		ArrayList overlayKeys = new ArrayList();
-		
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-		Iterator i = styleList.iterator();
-		while (i.hasNext()) {
-			overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, (String)i.next()));	
-		}
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	public String getSampleText() {
-		return HTMLUIPlugin.getResourceString("%Sample_HTML_doc"); //$NON-NLS-1$ = "<!DOCTYPE HTML\n\tPUBLIC \"-//W3C/DTD/ HTML 4.01 Transitional//EN\"\n\t\"http://www.w3.org/TR/html4/loose.dtd\">\n<HTML>\n\t<HEAD>\n\t\t<META content=\"text/html\">\n\t\t<TITLE>HTML Highlighting Preferences</TITLE>\n\t</HEAD>\n<BODY>\n\t<!--\n\t\twe need a flaming logo!\n\t-->\n\t<%\t%>\n</BODY>\n</HTML>"
-
-	}
-
-	protected void initContextStyleMap(Dictionary contextStyleMap) {
-
-		initCommonContextStyleMap(contextStyleMap);
-		initDocTypeContextStyleMap(contextStyleMap);
-		//	contextStyleMap.put(XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN, HTMLColorManager.SCRIPT_AREA_BORDER);
-		//	contextStyleMap.put(XMLJSPRegionContexts.JSP_CONTENT, HTMLColorManager.SCRIPT_AREA);
-		//	contextStyleMap.put(XMLJSPRegionContexts.BLOCK_TEXT, HTMLColorManager.SCRIPT_AREA);
-		//	contextStyleMap.put(XMLJSPRegionContexts.JSP_DECLARATION_OPEN, HTMLColorManager.SCRIPT_AREA_BORDER);
-		//	contextStyleMap.put(XMLJSPRegionContexts.JSP_EXPRESSION_OPEN, HTMLColorManager.SCRIPT_AREA_BORDER);
-		//	contextStyleMap.put(XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN, HTMLColorManager.SCRIPT_AREA_BORDER);
-		//	contextStyleMap.put(XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE, HTMLColorManager.SCRIPT_AREA_BORDER);
-		//	contextStyleMap.put(XMLJSPRegionContexts.JSP_CLOSE, HTMLColorManager.SCRIPT_AREA_BORDER);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_DIRECTIVE_NAME, IStyleConstantsXML.TAG_NAME);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_COMMENT_OPEN, IStyleConstantsXML.COMMENT_BORDER);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_COMMENT_TEXT, IStyleConstantsXML.COMMENT_TEXT);
-		contextStyleMap.put(XMLJSPRegionContexts.JSP_COMMENT_CLOSE, IStyleConstantsXML.COMMENT_BORDER);
-	}
-
-	protected void initDescriptions(Dictionary descriptions) {
-
-		initCommonDescriptions(descriptions);
-		initDocTypeDescriptions(descriptions);
-	}
-
-	protected void initStyleList(ArrayList list) {
-		initCommonStyleList(list);
-		initDocTypeStyleList(list);
-		//	list.add(HTMLColorManager.SCRIPT_AREA_BORDER);
-
-	}
-
-	protected void setupPicker(StyledTextColorPicker picker) {
-		IModelManager mmanager = StructuredModelManager.getModelManager();
-		picker.setParser(mmanager.createStructuredDocumentFor(ContentTypeIdForHTML.ContentTypeID_HTML).getParser());
-
-		// create descriptions for hilighting types
-		Dictionary descriptions = new Hashtable();
-		initDescriptions(descriptions);
-
-		// map region types to hilighting types
-		Dictionary contextStyleMap = new Hashtable();
-		initContextStyleMap(contextStyleMap);
-
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-
-		picker.setContextStyleMap(contextStyleMap);
-		picker.setDescriptions(descriptions);
-		picker.setStyleList(styleList);
-
-		//	updatePickerFont(picker);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control c = super.createContents(parent);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.HTML_PREFWEBX_STYLES_HELPID);
-		return c;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return HTMLUIPlugin.getDefault().getPreferenceStore();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.AbstractColorPage#savePreferences()
-	 */
-	protected void savePreferences() {
-		HTMLUIPlugin.getDefault().savePluginPreferences();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLFilesPreferencePage.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLFilesPreferencePage.java
deleted file mode 100644
index 0b896b7..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLFilesPreferencePage.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.preferences.ui;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.html.core.HTMLFilesPreferenceNames;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.xml.ui.preferences.EncodingSettings;
-import org.eclipse.wst.xml.ui.preferences.WorkbenchDefaultEncodingSettings;
-import org.eclipse.wst.xml.ui.preferences.XMLFilesPreferencePage;
-
-public class HTMLFilesPreferencePage extends XMLFilesPreferencePage {
-	private WorkbenchDefaultEncodingSettings fInputEncodingSettings = null;
-	private Text fHtmlext_Field;
-	private Button fDoctype_Button;
-	private Button fGenerator_Button;
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.preferences.ui.AbstractPreferencePage#getModelPreferences()
-	 */
-	protected Preferences getModelPreferences() {
-		return HTMLCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return HTMLUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#doSavePreferenceStore()
-	 */
-	protected void doSavePreferenceStore() {
-		HTMLCorePlugin.getDefault().savePluginPreferences(); // model
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite scrolledComposite = createScrolledComposite(parent);
-		createContentsForCreatingOrSavingGroup(scrolledComposite);
-		createContentsForCreatingGroup(scrolledComposite);
-		createContentsForLoadingGroup(scrolledComposite);
-		
-		WorkbenchHelp.setHelp(scrolledComposite, IHelpContextIds.HTML_PREFWEBX_FILES_HELPID);
-		
-		setSize(scrolledComposite);
-		loadPreferences();
-		
-		return scrolledComposite;
-	}
-
-	protected void createContentsForLoadingGroup(Composite parent) {
-		Group group = createGroup(parent, 1);
-		group.setText(HTMLUIPlugin.getResourceString("%HTMLFilesPreferencePage.0")); //$NON-NLS-1$
-
-		fInputEncodingSettings = new WorkbenchDefaultEncodingSettings(group);
-	}
-	
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.preferences.ui.AbstractPreferencePage#initializeValues()
-	 */
-	protected void initializeValues() {
-		super.initializeValues();
-		initializeValuesForLoadingGroup();
-	}
-	
-	protected void initializeValuesForLoadingGroup() {
-		String encoding = getModelPreferences().getString(CommonEncodingPreferenceNames.INPUT_CODESET);
-		
-		fInputEncodingSettings.setIANATag(encoding);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-		performDefaultsForLoadingGroup();
-	}
-	
-	protected void performDefaultsForLoadingGroup() {
-		String encoding = getModelPreferences().getDefaultString(CommonEncodingPreferenceNames.INPUT_CODESET);
-
-		fInputEncodingSettings.setIANATag(encoding);
-	}
-	
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.preferences.ui.AbstractPreferencePage#storeValues()
-	 */
-	protected void storeValues() {
-		super.storeValues();
-		storeValuesForLoadingGroup();
-	}
-	
-	protected void storeValuesForLoadingGroup() {
-		getModelPreferences().setValue(CommonEncodingPreferenceNames.INPUT_CODESET, fInputEncodingSettings.getIANATag());		
-	}
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#createContentsForCreatingGroup(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createContentsForCreatingGroup(Composite parent) {
-		Group creatingGroup = createGroup(parent, 2);
-		creatingGroup.setText(SSEUIPlugin.getResourceString("%Creating_files")); //$NON-NLS-1$
-
-		// Add this suffix..
-		createLabel(creatingGroup, HTMLUIPlugin.getResourceString("%HTMLFilesPreferencePage.1"));	//$NON-NLS-1$
-		fHtmlext_Field = createTextField(creatingGroup);
-		
-		// Encoding..
-		Label label = createLabel(creatingGroup, SSEUIPlugin.getResourceString("%Encoding_desc")); //$NON-NLS-1$
-		((GridData)label.getLayoutData()).horizontalSpan = 2;
-		fEncodingSettings = new EncodingSettings(creatingGroup);
-		((GridData)fEncodingSettings.getLayoutData()).horizontalSpan = 2;
-		
-		// Insert DOCTYPE declaration
-		fDoctype_Button = createCheckBox(creatingGroup, HTMLUIPlugin.getResourceString("%HTMLFilesPreferencePage.2"));	//$NON-NLS-1$
-		((GridData)fDoctype_Button.getLayoutData()).horizontalSpan = 2;
-		
-		// Insert GENERATOR with META tag
-		fGenerator_Button = createCheckBox(creatingGroup, HTMLUIPlugin.getResourceString("%HTMLFilesPreferencePage.3"));	//$NON-NLS-1$
-		((GridData)fGenerator_Button.getLayoutData()).horizontalSpan = 2;
-	}
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#initializeValuesForCreatingGroup()
-	 */
-	protected void initializeValuesForCreatingGroup() {
-		super.initializeValuesForCreatingGroup();
-		
-		String defaultSuffix = getModelPreferences().getString(HTMLFilesPreferenceNames.DEFAULT_SUFFIX);
-		if (defaultSuffix.length() > 0) {
-			fHtmlext_Field.setText(defaultSuffix);
-		}
-	
-		boolean bCheck;
-		bCheck = getModelPreferences().getBoolean(HTMLFilesPreferenceNames.GENERATE_DOCUMENT_TYPE);
-		fDoctype_Button.setSelection(bCheck);
-		
-		bCheck = getModelPreferences().getBoolean(HTMLFilesPreferenceNames.GENERATE_GENERATOR);
-		fGenerator_Button.setSelection(bCheck);
-	}
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#performDefaultsForCreatingGroup()
-	 */
-	protected void performDefaultsForCreatingGroup() {
-		super.performDefaultsForCreatingGroup();
-
-		fHtmlext_Field.setText(getModelPreferences().getDefaultString(HTMLFilesPreferenceNames.DEFAULT_SUFFIX));
-		
-		fDoctype_Button.setSelection(getModelPreferences().getDefaultBoolean(HTMLFilesPreferenceNames.GENERATE_DOCUMENT_TYPE));
-		fGenerator_Button.setSelection(getModelPreferences().getDefaultBoolean(HTMLFilesPreferenceNames.GENERATE_GENERATOR));
-	}
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.preferences.ui.XMLFilesPreferencePage#storeValuesForCreatingGroup()
-	 */
-	protected void storeValuesForCreatingGroup() {
-		super.storeValuesForCreatingGroup();
-		
-		String str_ext = fHtmlext_Field.getText();	
-		getModelPreferences().setValue(HTMLFilesPreferenceNames.DEFAULT_SUFFIX, str_ext); 
-
-		getModelPreferences().setValue(HTMLFilesPreferenceNames.GENERATE_DOCUMENT_TYPE, fDoctype_Button.getSelection());
-	
-		getModelPreferences().setValue(HTMLFilesPreferenceNames.GENERATE_GENERATOR, fGenerator_Button.getSelection());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLSourcePreferencePage.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLSourcePreferencePage.java
deleted file mode 100644
index fa2930c..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLSourcePreferencePage.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.preferences.ui;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.html.core.HTMLCorePlugin;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.xml.ui.preferences.XMLSourcePreferencePage;
-
-public class HTMLSourcePreferencePage extends XMLSourcePreferencePage {
-
-	protected Button fTagNameAsIs = null;
-	protected Button fTagNameUpper = null;
-	protected Button fTagNameLower = null;
-	protected Button fAttrNameAsIs = null;
-	protected Button fAttrNameUpper = null;
-	protected Button fAttrNameLower = null;
-
-	protected void createContentsForGrammarConstraintsGroup(Composite parent) {
-		// do nothing
-	}
-
-	protected void performDefaultsForGrammarConstraintsGroup() {
-		// do nothing
-	}
-
-	protected void initializeValuesForGrammarConstraintsGroup() {
-		// do nothing
-	}
-
-	protected void storeValuesForGrammarConstraintsGroup() {
-		// do nothing
-	}
-
-	protected void createContentsForContentAssistGroup(Composite parent) {
-		super.createContentsForContentAssistGroup(parent);
-
-		// add one more group of preferences
-		createContentsForPreferredCaseGroup(parent, 2);
-	}
-
-	protected Composite createContentsForPreferredCaseGroup(Composite parent, int columnSpan) {
-		Group caseGroup = createGroup(parent, columnSpan);
-		caseGroup.setText(SSEUIPlugin.getResourceString("%Preferred_markup_case_UI_")); //$NON-NLS-1$ = "Preferred markup case"
-
-		// d257064 need to associate group w/ radio buttons so radio buttons header can be read
-		Group tagNameGroup = createGroup(caseGroup, 1);
-		tagNameGroup.setText(SSEUIPlugin.getResourceString("%Tag_names__UI_")); //$NON-NLS-1$ = "Tag names:"
-		fTagNameUpper = createRadioButton(tagNameGroup, SSEUIPlugin.getResourceString("%Tag_names_Upper_case_UI_")); //$NON-NLS-1$ = "&Upper case"
-		fTagNameLower = createRadioButton(tagNameGroup, SSEUIPlugin.getResourceString("%Tag_names_Lower_case_UI_")); //$NON-NLS-1$ = "&Lower case"
-
-		// d257064 need to associate group w/ radio buttons so radio buttons header can be read
-		Group attrNameGroup = createGroup(caseGroup, 1);
-		attrNameGroup.setText(SSEUIPlugin.getResourceString("%Attribute_names__UI_")); //$NON-NLS-1$ = "Attribute names:"
-		fAttrNameUpper = createRadioButton(attrNameGroup, SSEUIPlugin.getResourceString("%Attribute_names_Upper_case_UI_")); //$NON-NLS-1$ = "U&pper case"
-		fAttrNameLower = createRadioButton(attrNameGroup, SSEUIPlugin.getResourceString("%Attribute_names_Lower_case_UI_")); //$NON-NLS-1$ = "L&ower case"
-
-		return parent;
-
-	}
-
-	protected void performDefaults() {
-		fTagNameUpper.setSelection(getModelPreferences().getDefaultInt(CommonModelPreferenceNames.TAG_NAME_CASE) == CommonModelPreferenceNames.UPPER);
-		fTagNameLower.setSelection(getModelPreferences().getDefaultInt(CommonModelPreferenceNames.TAG_NAME_CASE) == CommonModelPreferenceNames.LOWER);
-		fAttrNameUpper.setSelection(getModelPreferences().getDefaultInt(CommonModelPreferenceNames.ATTR_NAME_CASE) == CommonModelPreferenceNames.UPPER);
-		fAttrNameLower.setSelection(getModelPreferences().getDefaultInt(CommonModelPreferenceNames.ATTR_NAME_CASE) == CommonModelPreferenceNames.LOWER);
-
-		super.performDefaults();
-	}
-
-	protected void initializeValues() {
-		fTagNameUpper.setSelection(getModelPreferences().getInt(CommonModelPreferenceNames.TAG_NAME_CASE) == CommonModelPreferenceNames.UPPER);
-		fTagNameLower.setSelection(getModelPreferences().getInt(CommonModelPreferenceNames.TAG_NAME_CASE) == CommonModelPreferenceNames.LOWER);
-		fAttrNameUpper.setSelection(getModelPreferences().getInt(CommonModelPreferenceNames.ATTR_NAME_CASE) == CommonModelPreferenceNames.UPPER);
-		fAttrNameLower.setSelection(getModelPreferences().getInt(CommonModelPreferenceNames.ATTR_NAME_CASE) == CommonModelPreferenceNames.LOWER);
-
-		super.initializeValues();
-	}
-
-	protected void storeValues() {
-		if (fTagNameUpper.getSelection())
-			getModelPreferences().setValue(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.UPPER);
-		else
-			getModelPreferences().setValue(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
-		if (fAttrNameUpper.getSelection())
-			getModelPreferences().setValue(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.UPPER);
-		else
-			getModelPreferences().setValue(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
-
-		super.storeValues();
-	}
-
-	public boolean performOk() {
-		boolean result = super.performOk();
-
-		doSavePreferenceStore();
-
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.preferences.ui.xml.XMLSourcePreferencePage#getModelPreferences()
-	 */
-	protected Preferences getModelPreferences() {
-		return HTMLCorePlugin.getDefault().getPluginPreferences();
-	}
-	
-	protected IPreferenceStore doGetPreferenceStore() {
-		return HTMLUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	protected void doSavePreferenceStore() {
-		HTMLUIPlugin.getDefault().savePluginPreferences(); // UI
-		HTMLCorePlugin.getDefault().savePluginPreferences(); // model
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control c = super.createContents(parent);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.HTML_PREFWEBX_SOURCE_HELPID);
-		return c;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLTemplatePreferencePage.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLTemplatePreferencePage.java
deleted file mode 100644
index 5ef2642..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/preferences/ui/HTMLTemplatePreferencePage.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.preferences.ui;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.texteditor.templates.TemplatePreferencePage;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.html.ui.internal.editor.IHelpContextIds;
-
-
-/**
- * Preference page for HTML templates
- */
-public class HTMLTemplatePreferencePage extends TemplatePreferencePage {
-	
-	public HTMLTemplatePreferencePage() {
-		HTMLUIPlugin htmlEditorPlugin = HTMLUIPlugin.getDefault();
-		
-		setPreferenceStore(htmlEditorPlugin.getPreferenceStore());
-		setTemplateStore(htmlEditorPlugin.getTemplateStore());
-		setContextTypeRegistry(htmlEditorPlugin.getTemplateContextRegistry());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-  	  boolean ok = super.performOk();
-  	  HTMLUIPlugin.getDefault().savePluginPreferences();
-	  return ok;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#isShowFormatterSetting()
-	 */
-	protected boolean isShowFormatterSetting() {
-		// template formatting has not been implemented
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite ancestor) {
-		Control c = super.createContents(ancestor);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.HTML_PREFWEBX_TEMPLATES_HELPID);
-		return c;
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForEmbeddedHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForEmbeddedHTML.java
deleted file mode 100644
index 910c2e2..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForEmbeddedHTML.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.registry;
-
-import org.eclipse.wst.html.core.modelhandler.EmbeddedHTML;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.ui.registry.embedded.EmbeddedAdapterFactoryProvider;
-
-public class AdapterFactoryProviderForEmbeddedHTML implements EmbeddedAdapterFactoryProvider {
-
-	/*
-	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
-	 */
-	public void addAdapterFactories(IStructuredModel structuredModel) {
-		//        if (structuredModel instanceof XMLModel) {
-		//            XMLDocument doc = ((XMLModel) structuredModel).getDocument();
-		//        }
-	}
-
-	/*
-	 * @see AdapterFactoryProvider#isFor(ContentTypeDescription)
-	 */
-	public boolean isFor(EmbeddedTypeHandler contentTypeDescription) {
-		return (contentTypeDescription instanceof EmbeddedHTML);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForHTML.java
deleted file mode 100644
index fa35305..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForHTML.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.registry;
-
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.html.core.modelhandler.ModelHandlerForHTML;
-import org.eclipse.wst.html.ui.views.contentoutline.JFaceNodeAdapterFactoryForHTML;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelhandler.IDocumentTypeHandler;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.ui.views.properties.XMLPropertySourceAdapterFactory;
-
-/**
- * 
- */
-public class AdapterFactoryProviderForHTML implements AdapterFactoryProvider {
-
-	/*
-	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
-	 */
-	public void addAdapterFactories(IStructuredModel structuredModel) {
-
-		// these are the normal edit side content based factories		
-		addContentBasedFactories(structuredModel);
-		// ===
-		// Must update/add to propagating adapter here too
-		if (structuredModel instanceof XMLModel) {
-			addPropagatingAdapters(structuredModel);
-		}
-		// ===
-	}
-
-	protected void addContentBasedFactories(IStructuredModel structuredModel) {
-
-		IFactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
-		Assert.isNotNull(factoryRegistry, "Program Error: client caller must ensure model has factory registry"); //$NON-NLS-1$
-		AdapterFactory factory = null;
-		// == this list came from the previous "HTML only" list
-		//		factory = factoryRegistry.getFactoryFor(ContentAssistAdapter.class);
-
-		//		Doc Partion change: no more adapter factories for edit side functions
-
-		//		if (factory == null) {
-		//			factory = new HTMLContentAssistAdapterFactory();
-		//			factoryRegistry.addFactory(factory);
-		//		}
-
-		//		factory = factoryRegistry.getFactoryFor(DoubleClickAdapter.class);
-		//		if (factory == null) {
-		//			factory = new DoubleClickAdapterFactory(DoubleClickAdapter.class, true);
-		//			factoryRegistry.addFactory(factory);
-		//		}
-		//		// == New adapter factories for tagInfo
-		//		factory = factoryRegistry.getFactoryFor(HoverHelpAdapter.class);
-		//		if (factory == null) {
-		//			factory = new HTMLHoverHelpAdapterFactory(HoverHelpAdapter.class, true);
-		//			factoryRegistry.addFactory(factory);
-		//		}
-		//		factory = factoryRegistry.getFactoryFor(TagInfoProviderAdapter.class);
-		//		if (factory == null) {
-		//			factory = new JSTagInfoProviderAdapterFactory(TagInfoProviderAdapter.class, true);
-		//			factoryRegistry.addFactory(factory);
-		//		}
-		// ==
-		// == this list came from the previous 'for both XML and HTML' list
-		factory = factoryRegistry.getFactoryFor(IPropertySource.class);
-		if (factory == null) {
-			factory = new XMLPropertySourceAdapterFactory();
-			factoryRegistry.addFactory(factory);
-		}
-		factory = factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class);
-		if (factory == null) {
-			factory = new JFaceNodeAdapterFactoryForHTML();
-			factoryRegistry.addFactory(factory);
-		}
-		//		factory = factoryRegistry.getFactoryFor(com.ibm.sed.edit.adapters.LineStyleProvider.class);
-		//		if (factory == null) {
-		//			factory = new LineStyleProviderFactoryForHTML();
-		//			factoryRegistry.addFactory(factory);
-		//		}
-
-		//		factory = factoryRegistry.getFactoryFor(ReconcilerAdapter.class);
-		//		if (factory == null) {
-		//			// can't use Propagating system since the Node tree is already built by now
-		//			ReconcilerAdapterFactoryForXML reconcilerFactory = new ReconcilerAdapterFactoryForXML();
-		//			factoryRegistry.addFactory(reconcilerFactory);
-		//			reconcilerFactory.adaptAll((XMLModel) structuredModel);
-		//		}
-	}
-
-	protected void addPropagatingAdapters(IStructuredModel structuredModel) {
-//		XMLModel xmlModel = (XMLModel) structuredModel;
-//		XMLDocument document = xmlModel.getDocument();
-//		PropagatingAdapter propagatingAdapter = (PropagatingAdapter) document.getAdapterFor(PropagatingAdapter.class);
-//		if (propagatingAdapter != null) {
-			// no longer needs?			
-			//			factory = new HTMLLineStyeUpdaterFactory();
-			//			propagatingAdapter.addAdaptOnCreateFactory(factory);
-			//			propagatingAdapter.initializeForFactory(factory, document);
-
-			// checking if we should bother adding this factory
-			// if the preference says not to check validity, we don't bother creating this factory
-			// to improve performance...
-			//if(structuredModel.getStructuredPreferenceStore().getPreferenceString(CommonPreferenceNames.EDITOR_VALIDATION_METHOD).equals(CommonPreferenceNames.EDITOR_VALIDATION_CONTENT_MODEL)) {
-			//factory = new ReconcilerAdapterFactoryForXML();
-			//propagatingAdapter.addAdaptOnCreateFactory(factory);
-			// (pa) perf:
-			//propagatingAdapter.initializeForFactory(factory, xmlModel.getDocument());
-			//}
-
-//		}
-	}
-
-	/*
-	 * @see AdapterFactoryProvider#isFor(ContentTypeDescription)
-	 */
-	public boolean isFor(IDocumentTypeHandler contentTypeDescription) {
-		return (contentTypeDescription instanceof ModelHandlerForHTML);
-	}
-
-	public void reinitializeFactories(IStructuredModel structuredModel) {
-		// nothing to do, since no embedded type
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/style/IStyleConstantsHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/style/IStyleConstantsHTML.java
deleted file mode 100644
index d0df826..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/style/IStyleConstantsHTML.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.style;
-
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-
-/**
- * Contains the symbolic name of styles used by LineStyleProvider, ColorManager, and
- * any others who may be interested
- */
-public interface IStyleConstantsHTML extends IStyleConstantsXML {
-	public static final String SCRIPT_AREA_BORDER = "SCRIPT_AREA_BORDER";//$NON-NLS-1$
-	public static final String SCRIPT_AREA = "SCRIPT_AREA";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/style/LineStyleProviderForHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/style/LineStyleProviderForHTML.java
deleted file mode 100644
index 2f5affc..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/style/LineStyleProviderForHTML.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.style;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-import org.eclipse.wst.xml.ui.style.LineStyleProviderForXML;
-
-public class LineStyleProviderForHTML extends LineStyleProviderForXML implements LineStyleProvider {
-
-	public LineStyleProviderForHTML() {
-		super();
-	}
-
-	/**
-	 * a method to centralize all the "format rules" for regions 
-	 * specifically associated for how to "open" the region.
-	 */
-	// NOTE: this method was just copied down form LineStyleProviderForXML
-	public TextAttribute getAttributeFor(ITextRegion region) {
-		// not sure why this is coming through null, but just to catch it
-		if (region == null) {
-			return (TextAttribute)getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-		}
-		if (region.getType() == XMLRegionContext.BLOCK_TEXT) {
-			return (TextAttribute)getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-		}
-		// first try "standard" tag attributes from super class
-		TextAttribute result = super.getAttributeFor(region);
-		if (result == null) {
-			// the HTML adapter is used for *embedded* JSP code,
-			// so the HTML adapter can decide whether to treat
-			// as HTML, or as JSP code. By *embedded* when mean when
-			// it is postioned as something other than content (e.g. an
-			// attribute value)
-			//			String type = region.getType();
-			//			if ((type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN) //                || (type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN)
-			//				|| (type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN) //                || (type == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN)
-			//				//                || (type == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE)
-			//				|| (type == XMLJSPRegionContexts.JSP_CLOSE)) {
-			//				result = fStructuredTextColors.SCRIPT_AREA_BORDER;
-			//			} else
-			//				// Nitin: do you recall why these were put here? from their name, sounds like
-			//				// they should be in "XML one"?
-			//				if ((type == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE_DQUOTE) || (type == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
-			//					result = fStructuredTextColors.RTF_TAG_ATTRIBUTE_VALUE;
-			//				}
-
-		}
-		return result;
-	}
-
-	protected void loadColors() {
-		super.loadColors();
-
-		addTextAttribute(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-	}
-	
-	
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (IStyleConstantsHTML.SCRIPT_AREA_BORDER.equals(prefKey)) {
-				addTextAttribute(IStyleConstantsHTML.SCRIPT_AREA_BORDER);
-
-				// this is what AbstractLineStyleProvider.propertyChange() does
-				getHighlighter().refreshDisplay();
-			} else {
-				super.handlePropertyChange(event);
-			}
-		} else {
-			super.handlePropertyChange(event);
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.style.AbstractLineStyleProvider#getColorPreferences()
-	 */
-	protected IPreferenceStore getColorPreferences() {
-		return HTMLUIPlugin.getDefault().getPreferenceStore();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/taginfo/HTMLBestMatchHoverProcessor.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/taginfo/HTMLBestMatchHoverProcessor.java
deleted file mode 100644
index 6437dff..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/taginfo/HTMLBestMatchHoverProcessor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.taginfo;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.wst.sse.ui.taginfo.AbstractBestMatchHoverProcessor;
-
-/**
- * Provides the best html hover help documentation (by using other hover help processors)
- * Priority of hover help processors is:
- * ProblemHoverProcessor, HTMLTagInfoHoverProcessor, AnnotationHoverProcessor
- */
-public class HTMLBestMatchHoverProcessor extends AbstractBestMatchHoverProcessor {
-	HTMLTagInfoHoverProcessor fTagInfoHover;
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.structured.taginfo.AbstractBestMatchHoverProcessor#getTagInfoHover()
-	 */
-	protected ITextHover getTagInfoHover() {
-		if (fTagInfoHover == null) {
-			fTagInfoHover = new HTMLTagInfoHoverProcessor();
-		}
-		return fTagInfoHover;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/taginfo/HTMLInformationProvider.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/taginfo/HTMLInformationProvider.java
deleted file mode 100644
index 8f78ff2..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/taginfo/HTMLInformationProvider.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.taginfo;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.information.IInformationProvider;
-import org.eclipse.jface.text.information.IInformationProviderExtension;
-
-/**
- * Provides context information for HTML tags (Shows tooltip description)
- * 
- * @author amywu
- */
-public class HTMLInformationProvider implements IInformationProvider, IInformationProviderExtension {
-
-	private HTMLBestMatchHoverProcessor fTextHover = null;
-
-	public HTMLInformationProvider() {
-		fTextHover = new HTMLBestMatchHoverProcessor();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.information.IInformationProvider#getSubject(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IRegion getSubject(ITextViewer textViewer, int offset) {
-		return fTextHover.getHoverRegion(textViewer, offset);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.information.IInformationProvider#getInformation(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public String getInformation(ITextViewer textViewer, IRegion subject) {
-		return (String)getInformation2(textViewer, subject);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.information.IInformationProviderExtension#getInformation2(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public Object getInformation2(ITextViewer textViewer, IRegion subject) {
-		return fTextHover.getHoverInfo(textViewer, subject);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/taginfo/HTMLTagInfoHoverProcessor.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/taginfo/HTMLTagInfoHoverProcessor.java
deleted file mode 100644
index 7633baa..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/taginfo/HTMLTagInfoHoverProcessor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.taginfo;
-
-
-
-import org.eclipse.wst.xml.ui.taginfo.XMLTagInfoHoverProcessor;
-
-/**
- * Provides hover help documentation for HTML tags
- * 
- * @author amywu
- */
-public class HTMLTagInfoHoverProcessor extends XMLTagInfoHoverProcessor {
-	//	currently empty because XMLTagInfoHoverProcessor handles all cases relevant to HTML
-	public HTMLTagInfoHoverProcessor() {
-		super();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTML.java
deleted file mode 100644
index 3267389..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTML.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.templates;
-
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeXML;
-
-/**
- * Base class for HTML template context types.  Templates of this context
- * type apply to any place within HTML content type.
- */
-public class TemplateContextTypeHTML extends TemplateContextTypeXML {
-	public static final String HTML_PREFIX = "html_"; //$NON-NLS-1$
-	
-	public TemplateContextTypeHTML() {
-		this(generateContextTypeId(TemplateContextTypeIds.ALL), HTMLUIPlugin.getResourceString("%TemplateContextTypeHTML.0")); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @param id
-	 */
-	public TemplateContextTypeHTML(String id) {
-		this(id, null);
-	}
-
-	/**
-	 * @param id
-	 * @param name
-	 */
-	public TemplateContextTypeHTML(String id, String name) {
-		super(id, name);
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.templates.TemplateContextTypeXML#generateContextTypeId(java.lang.String)
-	 */
-	public static String generateContextTypeId(String base_contextTypeId) {
-		return HTML_PREFIX+base_contextTypeId;
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTMLAttribute.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTMLAttribute.java
deleted file mode 100644
index 50f78b8..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTMLAttribute.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.templates;
-
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-
-/**
- * Templates of this context type apply to any attributes within HTML content type.
- */
-public class TemplateContextTypeHTMLAttribute extends TemplateContextTypeHTML {
-
-	public TemplateContextTypeHTMLAttribute() {
-		super(generateContextTypeId(TemplateContextTypeIds.ATTRIBUTE), HTMLUIPlugin.getResourceString("%TemplateContextTypeHTMLAttribute.0")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTMLAttributeValue.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTMLAttributeValue.java
deleted file mode 100644
index 33fb805..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTMLAttributeValue.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.templates;
-
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-
-/**
- * Templates of this context type apply to any attribute values
- * within HTML content type.
- */
-public class TemplateContextTypeHTMLAttributeValue extends TemplateContextTypeHTML {
-
-	public TemplateContextTypeHTMLAttributeValue() {
-		super(generateContextTypeId(TemplateContextTypeIds.ATTRIBUTEVALUE), HTMLUIPlugin.getResourceString("%TemplateContextTypeHTMLAttributeValue.0")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTMLTag.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTMLTag.java
deleted file mode 100644
index 49b8b38..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/templates/TemplateContextTypeHTMLTag.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.templates;
-
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-
-/**
- * Templates of this context type apply to any tags within HTML content type.
- */
-public class TemplateContextTypeHTMLTag extends TemplateContextTypeHTML {
-
-	public TemplateContextTypeHTMLTag() {
-		super(generateContextTypeId(TemplateContextTypeIds.TAG), HTMLUIPlugin.getResourceString("%TemplateContextTypeHTMLTag.0")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/text/HTMLDocumentRegionEdgeMatcher.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/text/HTMLDocumentRegionEdgeMatcher.java
deleted file mode 100644
index 4507f43..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/text/HTMLDocumentRegionEdgeMatcher.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.text;
-
-import org.eclipse.jdt.internal.ui.text.JavaPairMatcher;
-import org.eclipse.wst.sse.ui.text.DocumentRegionEdgeMatcher;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-public class HTMLDocumentRegionEdgeMatcher extends DocumentRegionEdgeMatcher {
-
-	protected final static char[] BRACKETS = {'{', '}', '(', ')', '[', ']'};
-
-	/**
-	 * @param validContexts
-	 * @param nextMatcher
-	 */
-	public HTMLDocumentRegionEdgeMatcher() {
-		super(new String[]{XMLRegionContext.XML_TAG_NAME, XMLRegionContext.XML_COMMENT_TEXT, XMLRegionContext.XML_CDATA_TEXT, XMLRegionContext.XML_PI_OPEN, XMLRegionContext.XML_PI_CONTENT}, new JavaPairMatcher(BRACKETS));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/HTMLContentOutlineConfiguration.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/HTMLContentOutlineConfiguration.java
deleted file mode 100644
index fc5c1ec..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/HTMLContentOutlineConfiguration.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.views.contentoutline;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.wst.html.ui.internal.HTMLUIPlugin;
-import org.eclipse.wst.xml.ui.views.contentoutline.XMLContentOutlineConfiguration;
-import org.eclipse.wst.xml.ui.views.contentoutline.XMLNodeActionManager;
-
-public class HTMLContentOutlineConfiguration extends XMLContentOutlineConfiguration {
-
-	/**
-	 * @param editor
-	 */
-	public HTMLContentOutlineConfiguration() {
-		super();
-	}
-
-	/**
-	 * @see com.ibm.sse.editor.xml.views.contentoutline.XMLContentOutlineConfiguration#createNodeActionManager(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	protected XMLNodeActionManager createNodeActionManager(TreeViewer treeViewer) {
-		return new HTMLNodeActionManager(getEditor().getModel(), treeViewer);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration#getPreferenceStore()
-	 */
-	protected IPreferenceStore getPreferenceStore() {
-		return HTMLUIPlugin.getDefault().getPreferenceStore();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/HTMLNodeActionManager.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/HTMLNodeActionManager.java
deleted file mode 100644
index 373cf18..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/HTMLNodeActionManager.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.views.contentoutline;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.util.DOMContentBuilder;
-import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.html.core.contenttype.ContentTypeIdForHTML;
-import org.eclipse.wst.html.core.format.HTMLFormatProcessorImpl;
-import org.eclipse.wst.html.core.internal.HTMLCorePlugin;
-import org.eclipse.wst.html.core.preferences.HTMLContentBuilder;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.ui.views.contentoutline.XMLNodeActionManager;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * 
- */
-public class HTMLNodeActionManager extends XMLNodeActionManager {
-	protected int fTagCase;
-	protected int fAttrCase;
-
-	public HTMLNodeActionManager(IStructuredModel model, Viewer viewer) {
-		super(model, viewer);
-		updateCase();
-	}
-
-	/**
-	 * If neccessary, employ a DOMContentBuilder that understands how to
-	 * change the case of HTML tags (but NOT taglib derived tags).
-	 */
-	public DOMContentBuilder createDOMContentBuilder(Document document) {
-		DOMContentBuilder builder = null;
-		if (model.getModelHandler().getAssociatedContentTypeId().equals(ContentTypeIdForHTML.ContentTypeID_HTML))
-			builder = new HTMLContentBuilder(document);
-		else
-			builder = super.createDOMContentBuilder(document);
-
-		return builder;
-	}
-
-	private boolean shouldIgnoreCase(CMNode cmnode) {
-		if (!cmnode.supports(HTMLCMProperties.SHOULD_IGNORE_CASE))
-			return false;
-		return ((Boolean) cmnode.getProperty(HTMLCMProperties.SHOULD_IGNORE_CASE)).booleanValue();
-	}
-
-	/**
-	 * Modify the displayed menuitem label to change the case of HTML children
-	 * but neither XML nor taglib-derived children.
-	 */
-	public String getLabel(Node parent, CMNode cmnode) {
-		String result = null;
-		//CMNode cmnode = action.getCMNode();
-		// don't change the case unless we're certain it is meaningless
-		if (shouldIgnoreCase(cmnode)) {
-			String name = cmnode.getNodeName();
-			if (cmnode.getNodeType() == CMNode.ELEMENT_DECLARATION) {
-				if (fTagCase == CommonModelPreferenceNames.LOWER)
-					name = name.toLowerCase();
-				else if (fTagCase == CommonModelPreferenceNames.UPPER)
-					name = name.toUpperCase();
-				// else do nothing
-			}
-			else if (cmnode.getNodeType() == CMNode.ATTRIBUTE_DECLARATION) {
-				if (fAttrCase == CommonModelPreferenceNames.LOWER)
-					name = name.toLowerCase();
-				else if (fAttrCase == CommonModelPreferenceNames.UPPER)
-					name = name.toUpperCase();
-				// else do nothing
-			}
-			result = name;
-		}
-		else {
-			result = super.getLabel(parent, cmnode);
-		}
-
-		return result;
-	}
-
-	/**
-	 * Another HTML specific detail. 
-	 */
-	protected void updateCase() {
-		if (model.getModelHandler().getAssociatedContentTypeId().equals(ContentTypeIdForHTML.ContentTypeID_HTML)) {
-			Preferences prefs = HTMLCorePlugin.getDefault().getPluginPreferences(); //$NON-NLS-1$
-			fTagCase = prefs.getInt(CommonModelPreferenceNames.TAG_NAME_CASE);
-			fAttrCase = prefs.getInt(CommonModelPreferenceNames.ATTR_NAME_CASE);
-			//		Element caseSettings = HTMLPreferenceManager.getHTMLInstance().getElement(PreferenceNames.PREFERRED_CASE);
-			//		fTagCase = caseSettings.getAttribute(PreferenceNames.TAGNAME);
-			//		fAttrCase = caseSettings.getAttribute(PreferenceNames.ATTRIBUTENAME);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see com.ibm.sse.editor.xml.ui.actions.AbstractNodeActionManager#reformat(org.w3c.dom.Node, boolean)
-	 */
-	public void reformat(Node newElement, boolean deep) {
-		try {
-			// tell the model that we are about to make a big model change
-			model.aboutToChangeModel();
-
-			// format selected node
-			IStructuredFormatProcessor formatProcessor = new HTMLFormatProcessorImpl();
-			formatProcessor.formatNode(newElement);
-		}
-		finally {
-			// tell the model that we are done with the big model change
-			model.changedModel();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/JFaceNodeAdapterFactoryForHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/JFaceNodeAdapterFactoryForHTML.java
deleted file mode 100644
index 22c2483..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/JFaceNodeAdapterFactoryForHTML.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.views.contentoutline;
-
-
-
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.xml.ui.views.contentoutline.JFaceNodeAdapterFactory;
-
-/**
- * An adapter factory to create JFaceNodeAdapters.  Use this
- * adapter factory with a JFaceAdapterContentProvider to display
- * DOM nodes in a tree.
- */
-public class JFaceNodeAdapterFactoryForHTML extends JFaceNodeAdapterFactory {
-
-
-	public JFaceNodeAdapterFactoryForHTML() {
-		this(IJFaceNodeAdapter.class, true);
-	}
-
-	public JFaceNodeAdapterFactoryForHTML(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier node) {
-		if (singletonAdapter == null) {
-			// create the JFaceNodeAdapter
-			singletonAdapter = new JFaceNodeAdapterForHTML(this);
-			initAdapter(singletonAdapter, node);
-		}
-		return singletonAdapter;
-	}
-
-	public AdapterFactory copy() {
-		return new JFaceNodeAdapterFactoryForHTML(this.adapterKey, this.shouldRegisterAdapter);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/JFaceNodeAdapterForHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/JFaceNodeAdapterForHTML.java
deleted file mode 100644
index 1dc777e..0000000
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/views/contentoutline/JFaceNodeAdapterForHTML.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * 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.wst.html.ui.views.contentoutline;
-
-
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.html.core.HTML40Namespace;
-import org.eclipse.wst.html.ui.internal.editor.HTMLEditorPluginImageHelper;
-import org.eclipse.wst.html.ui.internal.editor.HTMLEditorPluginImages;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.xml.ui.views.contentoutline.JFaceNodeAdapter;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Adapts a DOM node to a JFace viewer.
- */
-public class JFaceNodeAdapterForHTML extends JFaceNodeAdapter {
-
-	private Image createHTMLImage(String imageResourceName) {
-		ImageDescriptor imageDescriptor = HTMLEditorPluginImageHelper.getInstance().getImageDescriptor(imageResourceName);
-		if (imageDescriptor != null)
-			return imageDescriptor.createImage();
-		return null;
-	}
-	
-	/**
-	 * Constructor for JFaceNodeAdapterForHTML.
-	 * @param adapterFactory
-	 */
-	public JFaceNodeAdapterForHTML(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	protected Image createImage(Node node) {
-		Image image = null;
-
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			if (node.getNodeName().equalsIgnoreCase("table")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TABLE);
-			else if (node.getNodeName().equalsIgnoreCase("a")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG_ANCHOR);
-			else if (node.getNodeName().equalsIgnoreCase("body")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG_BODY);
-			else if (node.getNodeName().equalsIgnoreCase("button")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG_BUTTON);
-			else if (node.getNodeName().equalsIgnoreCase("font")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG_FONT);
-			else if (node.getNodeName().equalsIgnoreCase("form")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG_FORM);
-			else if (node.getNodeName().equalsIgnoreCase("html")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG_HTML);
-			else if (node.getNodeName().equalsIgnoreCase("img")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG_IMAGE);
-			else if (node.getNodeName().equalsIgnoreCase("map")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG_IMAGE_MAP);
-			else if (node.getNodeName().equalsIgnoreCase("title")) //$NON-NLS-1$
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG_TITLE);
-			else
-				image = createHTMLImage(HTMLEditorPluginImages.IMG_OBJ_TAG);
-		}
-		if (image == null) {
-			image = super.createImage(node);
-		}
-		return image;
-	}
-
-	/*
-	 * @see IJFaceNodeAdapter#getLabelText(Node)
-	 */
-	public String getLabelText(Node node) {
-		// TODO (pa) eventually showing ID, NAME, etc..might be a preference 
-		// - like in the package explorer for java.. (along w/ being able to customize delimiters)
-		// - possibly for all (or filtered list of) elements
-		String text = null;
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			if (node.getNodeName().equalsIgnoreCase("table")) { //$NON-NLS-1$
-				// won't update properly as-is
-				// it will only update if you change the attr name, 
-				// delete a ", or add a new element to the tree
-				text = node.getNodeName();
-
-				// get attr values
-				String tableID = null;
-				tableID = ((Element) node).getAttribute(HTML40Namespace.ATTR_NAME_ID);
-				String tableName = null;
-				tableName = ((Element) node).getAttribute(HTML40Namespace.ATTR_NAME_NAME);
-
-				// if there's ID or NAME, add a ">"
-				if ((tableID != null && tableID.length() > 0) || (tableName != null && tableName.length() > 0)) {
-					text += " > "; //$NON-NLS-1$
-				}
-
-				if (tableID != null && tableID.length() > 0)
-					text += " ID:[" + tableID + "]"; //$NON-NLS-1$ //$NON-NLS-2$
-				if (tableName != null && tableName.length() > 0)
-					text += " NAME:[" + tableName + "]"; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		if (text == null)
-			text = super.getLabelText(node);
-		return text;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates.properties
deleted file mode 100644
index 7498861..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=comment
-Templates.comment.desc=comment
-Templates.ul.name=ul
-Templates.ul.desc=ul     (template)
-Templates.ul.content=<ul>\n  <li> Item one </li>\n  <li> Item two </li>\n</ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     (template)
-Templates.dl.content=<dl>\n  <dt> First definition  <dd>  First explanation\n  <dt> Second definition <dd> Second explanation\n</dl>\n
-Templates.table.name=table
-Templates.table.desc=table     (template)
-Templates.table.content=<table border>\n  <tr>\n    <th>Column 1 Heading</th>\n    <th>Column 2 Heading</th>\n  </tr>\n  <tr>\n    <td>Row 1: Col 1</td>\n    <td>Row 1: Col 2</td>\n  </tr>\n</table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     (template)
-Templates.ol.content=<ol>\n  <li> Item one </li>\n  <li> Item two </li>\n</ol>\n
-Templates.html.name=html
-Templates.html.desc=html    (template)
-Templates.html.content=<html>\n<head>\n<title>Insert title here</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=script
-Templates.script.desc=script     (commented)
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=style
-Templates.style.desc=style     (commented)
-Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     (map)
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates.xml b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates.xml
deleted file mode 100644
index 7d145b2..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<templates>
-
-<template name="%Templates.comment.name" description="%Templates.comment.desc" id="com.ibm.sse.editor.html.templates.comment" context="html_tag" enabled="true">&lt;!-- ${cursor} --&gt;</template>
-
-<template name="%Templates.imgmap.name" description="%Templates.imgmap.desc" id="com.ibm.sse.editor.html.templates.imgmap" context="html_tag" enabled="true">&lt;img ismap&gt;</template>
-
-<template name="%Templates.ul.name" description="%Templates.ul.desc" id="com.ibm.sse.editor.html.templates.ul" context="html_tag" enabled="true">%Templates.ul.content</template>
-
-<template name="%Templates.dl.name" description="%Templates.dl.desc" id="com.ibm.sse.editor.html.templates.dl" context="html_tag" enabled="true">%Templates.dl.content</template>
-
-<template name="%Templates.table.name" description="%Templates.table.desc" id="com.ibm.sse.editor.html.templates.table" context="html_tag" enabled="true">%Templates.table.content</template>
-
-<template name="%Templates.ol.name" description="%Templates.ol.desc" id="com.ibm.sse.editor.html.templates.ol" context="html_tag" enabled="true">%Templates.ol.content</template>
-
-<template name="%Templates.html.name" description="%Templates.html.desc" id="com.ibm.sse.editor.html.templates.html" context="html_tag" enabled="true">%Templates.html.content</template>
-
-<template name="%Templates.html.name" description="%Templates.html.desc" id="com.ibm.sse.editor.html.templates.html" context="html_tag" enabled="true">%Templates.html.content</template>
-
-<template name="%Templates.script.name" description="%Templates.script.desc" id="com.ibm.sse.editor.html.templates.script" context="html_tag" enabled="true">%Templates.script.content</template>
-
-<template name="%Templates.style.name" description="%Templates.style.desc" id="com.ibm.sse.editor.html.templates.style" context="html_tag" enabled="true">%Templates.style.content</template>
-
-</templates>
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_de.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_de.properties
deleted file mode 100644
index 58df23f..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_de.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=Kommentar
-Templates.comment.desc=Kommentar
-Templates.ul.name=ul
-Templates.ul.desc=ul     (Schablone)
-Templates.ul.content=<ul>\n  <li> Eintrag 1</li>\n  <li> Eintrag 2</li>\n</ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     (Schablone)
-Templates.dl.content=<dl>\n  <dt> Erste Definition  <dd>  Erste Erl\u00e4uterung\n  <dt> Zweite Definition <dd> Zweite Erl\u00e4uterung\n</dl>\n
-Templates.table.name=Tabelle
-Templates.table.desc=Tabelle   (Schablone)
-Templates.table.content=<table border>\n  <tr>\n    <th>Spalte 1 \u00dcberschrift</th>\n    <th>Spalte 2 \u00dcberschrift</th>\n  </tr>\n  <tr>\n    <td>Zeile 1: Spalte 1</td>\n    <td>Zeile 1: Spalte 2</td>\n  </tr>\n</table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     (Schablone)
-Templates.ol.content=<ol>\n  <li> Eintrag 1</li>\n  <li> Eintrag 2</li>\n </ol>\n
-Templates.html.name=html
-Templates.html.desc=html    (Schablone)
-Templates.html.content=<html>\n<head>\n<title>Hier Titel einf\u00fcgen</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=Script
-Templates.script.desc=Script     (Kommentar)
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=Darstellung
-Templates.style.desc=Darstellung (Kommentar)
-Templates.style.content=<style>\n<!--\n${Cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     (Abbildung)
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_es.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_es.properties
deleted file mode 100644
index 58a3cd6..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_es.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=comment
-Templates.comment.desc=comment
-Templates.ul.name=ul
-Templates.ul.desc=ul     (plantilla)
-Templates.ul.content=<ul>\n  <li> Elemento uno </li>\n  <li> Elemento dos </li>\n</ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     (plantilla)
-Templates.dl.content=<dl>\n  <dt> Primera definici\u00f3n  <dd> Primera explicaci\u00f3n\n  <dt> Segunda definici\u00f3n  <dd> Segunda explicaci\u00f3n\n</dl>\n
-Templates.table.name=table
-Templates.table.desc=table     (plantilla)
-Templates.table.content=<table border>\n  <tr>\n    <th>Cabecera de columna 1</th>\n    <th>Cabecera de columna 2</th>\n  </tr>\n  <tr>\n    <td>Fila 1: Col 1</td>\n    <td>Fila 1: Col 2</td>\n  </tr>\n</table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     (plantilla)
-Templates.ol.content=<ol>\n  <li> Elemento uno </li>\n  <li> Elemento dos </li>\n</ol>\n
-Templates.html.name=html
-Templates.html.desc=html    (plantilla)
-Templates.html.content=<html>\n<head>\n<title>Insertar t\u00edtulo aqu\u00ed</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=script
-Templates.script.desc=script     (comentado)
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=style
-Templates.style.desc=style     (comentado)
-Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     (mapa)
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_fr.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_fr.properties
deleted file mode 100644
index f597326..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_fr.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=commentaire
-Templates.comment.desc=commentaire
-Templates.ul.name=ul
-Templates.ul.desc=ul     (mod\u00e8le)
-Templates.ul.content=<ul>\n  <li> El\u00e9ment un </li>\n  <li> El\u00e9ment deux </li>\n</ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     (mod\u00e8le)
-Templates.dl.content=<dl>\n  <dt> Premi\u00e8re d\u00e9finition  <dd>  Premi\u00e8re explication\n  <dt> Seconde d\u00e9finition <dd> Seconde explication\n</dl>\n
-Templates.table.name=table
-Templates.table.desc=table     (mod\u00e8le)
-Templates.table.content=<table border>\n  <tr>\n    <th>Colonne 1 En-t\u00eate</th>\n    <th>Colonne 2 En-t\u00eate</th>\n  </tr>\n  <tr>\n    <td>Ligne 1 : Col 1</td>\n    <td>Ligne 1 : Col 2</td>\n  </tr>\n</table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     (mod\u00e8le)
-Templates.ol.content=<ol>\n  <li> El\u00e9ment un </li>\n  <li> El\u00e9ment deux </li>\n </ol>\n
-Templates.html.name=html
-Templates.html.desc=html    (mod\u00e8le)
-Templates.html.content=<html>\n<head>\n<title>Ins\u00e9rer le titre ici</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=script
-Templates.script.desc=script     (comment\u00e9)
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=style
-Templates.style.desc=style     (comment\u00e9)
-Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     (mappe)
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_it.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_it.properties
deleted file mode 100644
index 1e159ce..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_it.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=commento
-Templates.comment.desc=commento
-Templates.ul.name=ul
-Templates.ul.desc=ul     (modello)
-Templates.ul.content=<ul>\n  <li> Elemento uno </li>\n  <li> Elemento due </li>\n</ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     (modello)
-Templates.dl.content=<dl>\n  <dt> Prima definizione  <dd>  Prima spiegazione\n  <dt> Seconda definizione <dd> Seconda spiegazione\n</dl>\n
-Templates.table.name=tabella
-Templates.table.desc=tabella     (modello)
-Templates.table.content=<table border>\n  <tr>\n    <th>Intestazione colonna 1</th>\n    <th>Intestazione colonna 2</th>\n  </tr>\n  <tr>\n    <td>Riga 1: Colonna 1</td>\n    <td>Riga 1: Colonna 2</td>\n  </tr>\n</table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     (modello)
-Templates.ol.content=<ol>\n  <li> Elemento uno </li>\n  <li> Elemento due </li>\n</ol>\n
-Templates.html.name=html
-Templates.html.desc=html    (modello)
-Templates.html.content=<html>\n<head>\n<title>Inserire il titolo in questo punto</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=script
-Templates.script.desc=script     (commentato)
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=stile
-Templates.style.desc=stile      (commentato)
-Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     (mappa)
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_ja.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_ja.properties
deleted file mode 100644
index 229ced9..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_ja.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=\u30b3\u30e1\u30f3\u30c8
-Templates.comment.desc=\u30b3\u30e1\u30f3\u30c8
-Templates.ul.name=ul
-Templates.ul.desc=ul     (\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8)
-Templates.ul.content=<ul>\n  <li> \u9805\u76ee 1 </li>\n  <li> \u9805\u76ee 2 </li>\n</ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     (\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8)
-Templates.dl.content=<dl>\n  <dt> 1 \u756a\u76ee\u306e\u5b9a\u7fa9 <dd> 1 \u756a\u76ee\u306e\u8aac\u660e\n  <dt> 2 \u756a\u76ee\u306e\u5b9a\u7fa9 <dd> 2 \u756a\u76ee\u306e\u8aac\u660e\n</dl>\n
-Templates.table.name=table
-Templates.table.desc=\u30c6\u30fc\u30d6\u30eb     (\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8)
-Templates.table.content=<table border>\n  <tr>\n    <th>\u5217 1 \u898b\u51fa\u3057</th>\n    <th>\u5217 2 \u898b\u51fa\u3057</th>\n  </tr>\n  <tr>\n    <td>\u884c 1: \u5217 1</td>\n    <td>\u884c 1: \u5217 2</td>\n  </tr>\n</table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     (\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8)
-Templates.ol.content=<ol>\n  <li> \u9805\u76ee 1 </li>\n  <li> \u9805\u76ee 2 </li>\n</ol>\n
-Templates.html.name=html
-Templates.html.desc=html    (\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8)
-Templates.html.content=<html>\n<head>\n<title>\u3053\u3053\u306b\u30bf\u30a4\u30c8\u30eb\u3092\u633f\u5165</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=script
-Templates.script.desc=\u30b9\u30af\u30ea\u30d7\u30c8     (\u30b3\u30e1\u30f3\u30c8)
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=style
-Templates.style.desc=\u30b9\u30bf\u30a4\u30eb     (\u30b3\u30e1\u30f3\u30c8)
-Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     (\u30de\u30c3\u30d7)
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_ko.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_ko.properties
deleted file mode 100644
index c45f44b..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_ko.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=\uc8fc\uc11d
-Templates.comment.desc=\uc8fc\uc11d
-Templates.ul.name=ul
-Templates.ul.desc=ul     (\ud15c\ud50c\ub9ac\ud2b8)
-Templates.ul.content=<ul>\n<li> \ud56d\ubaa9 1 </li>\n<li> \ud56d\ubaa9 2 </li>\n</ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     (\ud15c\ud50c\ub9ac\ud2b8)
-Templates.dl.content=<dl>\n<dt> \uc81c1 \uc815\uc758 <dd> \uc81c1 \uc124\uba85\n<dt> \uc81c2 \uc815\uc758 <dd> \uc81c2 \uc124\uba85\n</dl>\n
-Templates.table.name=table
-Templates.table.desc=table     (\ud15c\ud50c\ub9ac\ud2b8)
-Templates.table.content=<table border>\n<tr>\n<th>\uc5f4 1 \ud45c\uc81c</th>\n<th>\uc5f4 2 \ud45c\uc81c</th>\n</tr>\n<tr>\n<td>\ud589 1: \uc5f4 1</td>\n<td>\ud589 1: \uc5f4 2</td>\n</tr>\n</table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     (\ud15c\ud50c\ub9ac\ud2b8)
-Templates.ol.content=<ol>\n<li> \ud56d\ubaa9 1 </li>\n<li> \ud56d\ubaa9 2 </li>\n</ol>\n
-Templates.html.name=html
-Templates.html.desc=html    (\ud15c\ud50c\ub9ac\ud2b8)
-Templates.html.content=<html>\n<head>\n<title>\uc5ec\uae30\uc5d0 \uc81c\ubaa9 \uc0bd\uc785</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=script
-Templates.script.desc=script     (\uc8fc\uc11d\ucc98\ub9ac)
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=style
-Templates.style.desc=style     (\uc8fc\uc11d\ucc98\ub9ac)
-Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     (\ub9f5)
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_pt_BR.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_pt_BR.properties
deleted file mode 100644
index 282472b..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_pt_BR.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=coment\u00e1rio
-Templates.comment.desc=coment\u00e1rio
-Templates.ul.name=ul
-Templates.ul.desc=ul     (modelo)
-Templates.ul.content=<ul>\n<li> Item um </li>\n<li> Item dois </li>\n</ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     (modelo)
-Templates.dl.content=<dl>\n<dt> Primeira defini\u00e7\u00e3o  <dd>  Primeira explica\u00e7\u00e3o\n<dt> Segunda defini\u00e7\u00e3o <dd> Segunda explica\u00e7\u00e3o\n</dl>\n
-Templates.table.name=tabela
-Templates.table.desc=tabela    (modelo)
-Templates.table.content=<table border>\n<tr>\n<th>T\u00edtulo da Coluna 1</th>\n<th>T\u00edtulo da Coluna 2</th>\n</tr>\n <tr>\n<td>Linha 1: Col 1</td>\n<td>Linha 1: Col 2</td>\n</tr>\n</table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     (modelo)
-Templates.ol.content=<ol>\n<li> Item um </li>\n<li> Item dois </li>\n</ol>\n
-Templates.html.name=html
-Templates.html.desc=html    (modelo)
-Templates.html.content=<html>\n<head>\n<title>Inserir t\u00edtulo aqui</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=script
-Templates.script.desc=script     (comentado)
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=estilo
-Templates.style.desc=estilo    (comentado)
-Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     (mapa)
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_zh_CN.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_zh_CN.properties
deleted file mode 100644
index 0ccbd24..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_zh_CN.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=\u6ce8\u91ca
-Templates.comment.desc=\u6ce8\u91ca
-Templates.ul.name=ul
-Templates.ul.desc=ul     \uff08\u6a21\u677f\uff09
-Templates.ul.content=<ul>\n <li> \u7b2c\u4e00\u9879 </li>\n <li> \u7b2c\u4e8c\u9879 </li>\n </ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     \uff08\u6a21\u677f\uff09
-Templates.dl.content=<dl>\n <dt> \u7b2c\u4e00\u4e2a\u5b9a\u4e49 <dd> \u7b2c\u4e00\u4e2a\u8bf4\u660e\n <dt> \u7b2c\u4e8c\u4e2a\u5b9a\u4e49 <dd> \u7b2c\u4e8c\u4e2a\u8bf4\u660e\n </dl>\n
-Templates.table.name=\u8868
-Templates.table.desc=\u8868        \uff08\u6a21\u677f\uff09
-Templates.table.content=<table border>\n <tr>\n <th>\u7b2c 1 \u5217\u6807\u9898</th>\n <th>\u7b2c 2 \u5217\u6807\u9898</th>\n </tr>\n <tr>\n <td>\u7b2c 1 \u884c\uff1a\u7b2c 1 \u5217</td>\n <td>\u7b2c 1 \u884c\uff1a\u7b2c 2 \u5217</td>\n </tr>\n </table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     \uff08\u6a21\u677f\uff09
-Templates.ol.content=<ol>\n <li> \u7b2c\u4e00\u9879 </li>\n <li> \u7b2c\u4e8c\u9879 </li>\n </ol>\n
-Templates.html.name=html
-Templates.html.desc=html    \uff08\u6a21\u677f\uff09
-Templates.html.content=<html>\n<head>\n<title>\u5728\u6b64\u5904\u63d2\u5165\u6807\u9898</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=\u811a\u672c
-Templates.script.desc=\u811a\u672c     \uff08\u5df2\u52a0\u6ce8\u91ca\uff09
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=\u6837\u5f0f
-Templates.style.desc=\u6837\u5f0f     \uff08\u5df2\u52a0\u6ce8\u91ca\uff09
-Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     \uff08\u6620\u5c04\uff09
diff --git a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_zh_TW.properties b/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_zh_TW.properties
deleted file mode 100644
index ff35793..0000000
--- a/bundles/org.eclipse.wst.html.ui/templates/htmldefault-templates_zh_TW.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-Templates.comment.name=\u8a3b\u89e3
-Templates.comment.desc=\u8a3b\u89e3
-Templates.ul.name=ul
-Templates.ul.desc=ul     \uff08\u7bc4\u672c\uff09
-Templates.ul.content=<ul>\n  <li> \u9805\u76ee 1 </li>\n  <li> \u9805\u76ee 2 </li>\n </ul>\n
-Templates.dl.name=dl
-Templates.dl.desc=dl     \uff08\u7bc4\u672c\uff09
-Templates.dl.content=<dl>\n  <dt> \u7b2c\u4e00\u500b\u5b9a\u7fa9  <dd>  \u7b2c\u4e00\u500b\u8aaa\u660e\n  <dt> \u7b2c\u4e8c\u500b\u5b9a\u7fa9  <dd> \u7b2c\u4e8c\u500b\u8aaa\u660e\n </dl>\n
-Templates.table.name=table
-Templates.table.desc=table     \uff08\u7bc4\u672c\uff09
-Templates.table.content=<table border>\n  <tr>\n    <th>\u7b2c 1 \u6b04\u6a19\u984c</th>\n    <th>\u7b2c 2 \u6b04\u6a19\u984c</th>\n  </tr>\n  <tr>\n    <td>\u5217 1\uff1a\u76f4\u6b04 1</td>\n    <td>\u5217 1\uff1a\u76f4\u6b04 2</td>\n  </tr>\n </table>\n
-Templates.ol.name=ol
-Templates.ol.desc=ol     \uff08\u7bc4\u672c\uff09
-Templates.ol.content=<ol>\n  <li> \u9805\u76ee 1 </li>\n  <li> \u9805\u76ee 2 </li>\n </ol>\n
-Templates.html.name=html
-Templates.html.desc=html    \uff08\u7bc4\u672c\uff09
-Templates.html.content=<html>\n<head>\n<title>\u5728\u9019\u88e1\u63d2\u5165\u6a19\u984c</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
-Templates.script.name=Script
-Templates.script.desc=script     \uff08\u52a0\u8a3b\uff09
-Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
-Templates.style.name=style
-Templates.style.desc=style     \uff08\u52a0\u8a3b\uff09
-Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
-Templates.imgmap.name=img
-Templates.imgmap.desc=img     \uff08\u5c0d\u6620\uff09
diff --git a/bundles/org.eclipse.wst.sse.core/.classpath b/bundles/org.eclipse.wst.sse.core/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.wst.sse.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.sse.core/.compatibility b/bundles/org.eclipse.wst.sse.core/.compatibility
deleted file mode 100644
index b10de48..0000000
--- a/bundles/org.eclipse.wst.sse.core/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=7955

diff --git a/bundles/org.eclipse.wst.sse.core/.cvsignore b/bundles/org.eclipse.wst.sse.core/.cvsignore
deleted file mode 100644
index 826c644..0000000
--- a/bundles/org.eclipse.wst.sse.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-model.jar
-build.xml
-temp.folder
-org.eclipse.wst.sse.core_1.0.0.jar
diff --git a/bundles/org.eclipse.wst.sse.core/.options b/bundles/org.eclipse.wst.sse.core/.options
deleted file mode 100644
index 08bcfef..0000000
--- a/bundles/org.eclipse.wst.sse.core/.options
+++ /dev/null
@@ -1,15 +0,0 @@
-org.eclipse.wst.sse.core/debug=true
-org.eclipse.wst.sse.core/debug/tracefilter=
-org.eclipse.wst.sse.core/dom/adapter/notification/time=false
-org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria=10
-org.eclipse.wst.sse.core/resourcechangehandling=false
-org.eclipse.wst.sse.core/structuredmodel/lifecycle=false
-org.eclipse.wst.sse.core/structuredmodel/state=false
-org.eclipse.wst.sse.core/builder=false
-org.eclipse.wst.sse.core/builder/detection=false
-org.eclipse.wst.sse.core/builder/time=false
-org.eclipse.wst.sse.core/participantregistry=false
-org.eclipse.wst.sse.core/builder/participant/tasktag=false
-org.eclipse.wst.sse.core/builder/modelprovider=false
-org.eclipse.wst.sse.core/filebuffers/modelmanagement=false
-org.eclipse.wst.sse.core/filebuffers/lifecycle=false
diff --git a/bundles/org.eclipse.wst.sse.core/.project b/bundles/org.eclipse.wst.sse.core/.project
deleted file mode 100644
index 36c5b34..0000000
--- a/bundles/org.eclipse.wst.sse.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.sse.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/bundles/org.eclipse.wst.sse.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.sse.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5348b07..0000000
--- a/bundles/org.eclipse.wst.sse.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jan 12 15:55:38 EST 2005

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=500

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=enabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizer.jFlex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizer.jFlex
deleted file mode 100644
index 00c56b7b..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizer.jFlex
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.wst.common.encoding.contentspecific.css;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.common.encoding.contentspecific.EncodingParserConstants;
-import org.eclipse.wst.common.encoding.contentspecific.HeadParserToken;
-import org.eclipse.wst.common.encoding.contentspecific.IntStack;
-import org.eclipse.wst.common.encoding.contentspecific.xml.XMLHeadTokenizerConstants;
-
-
-
-%%
-
-%{
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-
-
-
-	public CSSHeadTokenizer() {
-		super();
-	}
-
-	  public void reset (Reader in) {
-	  	/* the input device */
-	  	yy_reader = in;
-
-  		/* the current state of the DFA */
-  		yy_state = 0;
-
-  		/* the current lexical state */
-  		yy_lexical_state = YYINITIAL;
-
-  		/* this buffer contains the current text to be matched and is
-  		 the source of the yytext() string */
-  		java.util.Arrays.fill(yy_buffer, (char)0);
-
-  		/* the textposition at the last accepting state */
-  		yy_markedPos = 0;
-
-  		/* the textposition at the last state to be included in yytext */
-  		yy_pushbackPos = 0;
-
-  		/* the current text position in the buffer */
-  		yy_currentPos = 0;
-
-  		/* startRead marks the beginning of the yytext() string in the buffer */
-  		yy_startRead = 0;
-
-  		/** 
-  		 * endRead marks the last character in the buffer, that has been read
-  		 * from input 
-  		 */
-  		yy_endRead = 0;
-
-  		/* number of newlines encountered up to the start of the matched text */
-  		yyline = 0;
-
-  		/* the number of characters up to the start of the matched text */
-  		yychar = 0;
-
-  		/**
-  		 * the number of characters from the last newline up to the start
-  		 * of the matched text
-  		 */
-  		yycolumn = 0; 
-
-  		/** 
-  		 * yy_atBOL == true <=> the scanner is currently at the beginning 
-  		 * of a line
-  		 */
-  		yy_atBOL = false;
-
-  		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-  		yy_atEOF = false;
-
-  		/* denotes if the user-EOF-code has already been executed */
-  		yy_eof_done = false;
-
-
-  		fStateStack.clear();
-  		
-  		hasMore = true;
-  		
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-  		
-
-  	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-	
-
-%}
-
-%eof{
-	hasMore=false;
-%eof}
-
-%public
-%class CSSHeadTokenizer
-%function primGetNextToken
-%type String
-%char
-%unicode
-%ignorecase 
-%debug
-%switch
-
-
-UTF16BE = \xFE\xFF
-UTF16LE = \xFF\xFE
-UTF83ByteBOM = \xEF\xBB\xBF
-
-//SpaceChar = [\x20\x09]
-
-
-
-// [3] S ::= (0x20 | 0x9 | 0xD | 0xA)+
-S = [\x20\x09\x0D\x0A]
-
-BeginAttribeValue = {S}* \= {S}*
-
-LineTerminator = \r|\n
-
-
-%state ST_XMLDecl
-%state CHARSET_RULE
-%state QuotedAttributeValue
-%state DQ_STRING
-%state SQ_STRING
-%state UnDelimitedString
-
-%%
-
-
-<YYINITIAL>  
-{
-	{UTF16BE}   		{hasMore = false; return EncodingParserConstants.UTF16BE;}
-	{UTF16LE}   		{hasMore = false; return EncodingParserConstants.UTF16LE;}
-	{UTF83ByteBOM}   	{hasMore = false; return EncodingParserConstants.UTF83ByteBOM;}
-
-	// force to be started on first line, but we do allow preceeding spaces
-	^ {S}* "<\?xml" {S}+ {if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;}}
-	
-	^ {S}* "@charset"     {if (yychar == 0 )  {yybegin(CHARSET_RULE); return CSSHeadTokenizerConstants.CHARSET_RULE;}}
-	
-
-}	
-
-// I don't think there's really an XML form of CSS files ... but will leave here for consistency	
-<ST_XMLDecl> 
-{
-	//"version" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDeclVersion;}
-	"encoding" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding;}
-	// note this "forced end" once end of XML Declaration found
-	"\?>"    {yybegin(YYINITIAL);  return XMLHeadTokenizerConstants.XMLDeclEnd;}
-}	
-
-<CHARSET_RULE> 
-{
-
-	{S}*  {pushCurrentState(); yybegin(QuotedAttributeValue);}
-	";"    { yybegin(YYINITIAL);  hasMore = false; return CSSHeadTokenizerConstants.RuleEnd;}
-}
-	
-
-<QuotedAttributeValue>
-{
-	\"                      { yybegin(DQ_STRING); string.setLength(0); }
-	\'			{ yybegin(SQ_STRING); string.setLength(0); }
-	// in this state, anything other than a space character can start an undelimited string
-	{S}*.           { yypushback(1); yybegin(UnDelimitedString); string.setLength(0);}
-
-}	
-
-
-<DQ_STRING>
-{
-
-	\"                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue; }
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\?>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"<"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	
-	">"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\/>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	";"                      { yypushback(1); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-	
-	.			{ string.append( yytext() ); }
-
-
-}
-
-<SQ_STRING>
-{
-
-	\'                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;}
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"%>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"<"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	">"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\/>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	";"                      { yypushback(1); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-	.			{ string.append( yytext() ); }
-
-
-}
-
-<UnDelimitedString>
-{
-
-
-	{S}                     { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue; }
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\?>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"<"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	// these are a bit special, since we started an undelimit string, but found a quote ... probably indicates a missing beginning quote
-	\'			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-	\"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-	
-	">"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\/>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	";"                      { yypushback(1); popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue; }
-	.			{ string.append( yytext() ); }
-
-}
-
-// The "match anything" rule should always be in effect except for when looking for end of string
-// (That is, remember to update state list if/when new states added)
-<YYINITIAL, ST_XMLDecl, QuotedAttributeValue, CHARSET_RULE>
-{
-// this is the fallback (match "anything") rule  (for this scanner, input is ignored, and position advanced, if not recognized)
-.|\n              {if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;}}
-}
-
-// this rule always in effect
-<<EOF>>         {hasMore = false; return EncodingParserConstants.EOF;}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizer.java
deleted file mode 100644
index 4dfc385..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizer.java
+++ /dev/null
@@ -1,977 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 1/27/04 6:42 PM */
-
-/*nlsXXX*/
-package org.eclipse.wst.common.encoding.contentspecific.css;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.common.encoding.contentspecific.EncodingParserConstants;
-import org.eclipse.wst.common.encoding.contentspecific.HeadParserToken;
-import org.eclipse.wst.common.encoding.contentspecific.IntStack;
-import org.eclipse.wst.common.encoding.contentspecific.xml.XMLHeadTokenizerConstants;
-
-
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 1/27/04 6:42 PM from the specification file
- * <tt>file:/D:/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizer.jflex</tt>
- */
-public class CSSHeadTokenizer {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int YYINITIAL = 0;
-  final public static int UnDelimitedString = 12;
-  final public static int DQ_STRING = 8;
-  final public static int SQ_STRING = 10;
-  final public static int ST_XMLDecl = 2;
-  final public static int QuotedAttributeValue = 6;
-  final public static int CHARSET_RULE = 4;
-
-  /**
-   * YY_LEXSTATE[l] is the state in the DFA for the lexical state l
-   * YY_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-   *                  at the beginning of a line
-   * l is of the form l = 2*k, k a non negative integer
-   */
-  private final static int YY_LEXSTATE[] = { 
-     0,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7, 7
-  };
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\6\1\11\2\0\1\10\22\0\1\6\1\0\1\36\2\0"+
-    "\1\41\1\0\1\37\7\0\1\40\13\0\1\35\1\12\1\7\1\34"+
-    "\1\13\1\17\1\22\1\0\1\20\1\31\1\25\1\0\1\33\1\21"+
-    "\1\32\2\0\1\16\1\15\1\27\1\30\2\0\1\23\1\24\1\26"+
-    "\3\0\1\14\10\0\1\22\1\0\1\20\1\31\1\25\1\0\1\33"+
-    "\1\21\1\32\2\0\1\16\1\15\1\27\1\30\2\0\1\23\1\24"+
-    "\1\26\3\0\1\14\102\0\1\4\3\0\1\5\17\0\1\3\16\0"+
-    "\1\1\20\0\1\3\16\0\1\1\1\2\170\0\1\2\ufe87\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Internal error: unknown state",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-
-
-
-	public CSSHeadTokenizer() {
-		super();
-	}
-
-	  public void reset (Reader in) {
-	  	/* the input device */
-	  	yy_reader = in;
-
-  		/* the current state of the DFA */
-  		yy_state = 0;
-
-  		/* the current lexical state */
-  		yy_lexical_state = YYINITIAL;
-
-  		/* this buffer contains the current text to be matched and is
-  		 the source of the yytext() string */
-  		java.util.Arrays.fill(yy_buffer, (char)0);
-
-  		/* the textposition at the last accepting state */
-  		yy_markedPos = 0;
-
-  		/* the textposition at the last state to be included in yytext */
-  		yy_pushbackPos = 0;
-
-  		/* the current text position in the buffer */
-  		yy_currentPos = 0;
-
-  		/* startRead marks the beginning of the yytext() string in the buffer */
-  		yy_startRead = 0;
-
-  		/** 
-  		 * endRead marks the last character in the buffer, that has been read
-  		 * from input 
-  		 */
-  		yy_endRead = 0;
-
-  		/* number of newlines encountered up to the start of the matched text */
-  		yyline = 0;
-
-  		/* the number of characters up to the start of the matched text */
-  		yychar = 0;
-
-  		/**
-  		 * the number of characters from the last newline up to the start
-  		 * of the matched text
-  		 */
-  		yycolumn = 0; 
-
-  		/** 
-  		 * yy_atBOL == true <=> the scanner is currently at the beginning 
-  		 * of a line
-  		 */
-  		yy_atBOL = false;
-
-  		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-  		yy_atEOF = false;
-
-  		/* denotes if the user-EOF-code has already been executed */
-  		yy_eof_done = false;
-
-
-  		fStateStack.clear();
-  		
-  		hasMore = true;
-  		
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-  		
-
-  	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-	
-
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public CSSHeadTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public CSSHeadTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 158) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      System.out.println(YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-
-    System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  private void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    	hasMore=false;
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-
-    while (true) {
-
-      yychar+= yylength();
-
-      yy_atBOL = yy_markedPos <= 0 || yy_buffer[yy_markedPos-1] == '\n';
-      if (!yy_atBOL && yy_buffer[yy_markedPos-1] == '\r') {
-        yy_atBOL = yy_advance() != '\n';
-        if (!yy_atEOF) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      if (yy_atBOL)
-        yy_state = YY_LEXSTATE[yy_lexical_state+1];
-      else
-        yy_state = YY_LEXSTATE[yy_lexical_state];
-
-
-      yy_forAction: {
-        while (true) {
-
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          yy_input = yycmap[yy_input];
-
-          boolean yy_isFinal = false;
-          boolean yy_noLookAhead = false;
-
-          yy_forNext: { switch (yy_state) {
-            case 0:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_state = 9; break yy_forNext;
-                case 2: yy_isFinal = true; yy_state = 10; break yy_forNext;
-                case 3: yy_isFinal = true; yy_state = 11; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 1:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_state = 9; break yy_forNext;
-                case 2: yy_isFinal = true; yy_state = 10; break yy_forNext;
-                case 3: yy_isFinal = true; yy_state = 11; break yy_forNext;
-                case 6: 
-                case 8: 
-                case 9: yy_isFinal = true; yy_state = 12; break yy_forNext;
-                case 10: yy_isFinal = true; yy_state = 13; break yy_forNext;
-                case 15: yy_isFinal = true; yy_state = 14; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 2:
-              switch (yy_input) {
-                case 11: yy_isFinal = true; yy_state = 15; break yy_forNext;
-                case 21: yy_isFinal = true; yy_state = 16; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 3:
-              switch (yy_input) {
-                case 6: 
-                case 8: 
-                case 9: yy_isFinal = true; yy_state = 17; break yy_forNext;
-                case 29: yy_isFinal = true; yy_noLookAhead = true; yy_state = 18; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 4:
-              switch (yy_input) {
-                case 6: 
-                case 8: yy_isFinal = true; yy_state = 20; break yy_forNext;
-                case 9: yy_isFinal = true; yy_state = 21; break yy_forNext;
-                case 30: yy_isFinal = true; yy_noLookAhead = true; yy_state = 22; break yy_forNext;
-                case 31: yy_isFinal = true; yy_noLookAhead = true; yy_state = 23; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 19; break yy_forNext;
-              }
-
-            case 5:
-              switch (yy_input) {
-                case 8: 
-                case 9: 
-                case 10: 
-                case 28: yy_isFinal = true; yy_noLookAhead = true; yy_state = 25; break yy_forNext;
-                case 11: 
-                case 32: yy_isFinal = true; yy_state = 26; break yy_forNext;
-                case 29: yy_isFinal = true; yy_noLookAhead = true; yy_state = 27; break yy_forNext;
-                case 30: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 24; break yy_forNext;
-              }
-
-            case 6:
-              switch (yy_input) {
-                case 8: 
-                case 9: 
-                case 10: 
-                case 28: yy_isFinal = true; yy_noLookAhead = true; yy_state = 25; break yy_forNext;
-                case 32: yy_isFinal = true; yy_state = 26; break yy_forNext;
-                case 29: yy_isFinal = true; yy_noLookAhead = true; yy_state = 27; break yy_forNext;
-                case 31: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                case 33: yy_isFinal = true; yy_state = 29; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 24; break yy_forNext;
-              }
-
-            case 7:
-              switch (yy_input) {
-                case 10: 
-                case 28: yy_isFinal = true; yy_noLookAhead = true; yy_state = 25; break yy_forNext;
-                case 32: yy_isFinal = true; yy_state = 26; break yy_forNext;
-                case 11: yy_isFinal = true; yy_state = 29; break yy_forNext;
-                case 6: 
-                case 8: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 30; break yy_forNext;
-                case 29: yy_isFinal = true; yy_noLookAhead = true; yy_state = 31; break yy_forNext;
-                case 30: 
-                case 31: yy_isFinal = true; yy_noLookAhead = true; yy_state = 32; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 24; break yy_forNext;
-              }
-
-            case 9:
-              switch (yy_input) {
-                case 2: yy_isFinal = true; yy_noLookAhead = true; yy_state = 33; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 10:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_noLookAhead = true; yy_state = 34; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 11:
-              switch (yy_input) {
-                case 4: yy_state = 35; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 12:
-              switch (yy_input) {
-                case 6: 
-                case 8: 
-                case 9: yy_state = 36; break yy_forNext;
-                case 10: yy_state = 37; break yy_forNext;
-                case 15: yy_state = 38; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 13:
-              switch (yy_input) {
-                case 11: yy_state = 39; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 14:
-              switch (yy_input) {
-                case 16: yy_state = 40; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 15:
-              switch (yy_input) {
-                case 28: yy_isFinal = true; yy_noLookAhead = true; yy_state = 41; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 16:
-              switch (yy_input) {
-                case 23: yy_state = 42; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 17:
-              switch (yy_input) {
-                case 6: 
-                case 8: 
-                case 9: yy_isFinal = true; yy_state = 17; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 20:
-              switch (yy_input) {
-                case 6: 
-                case 8: yy_isFinal = true; yy_state = 20; break yy_forNext;
-                case 9: yy_state = 43; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 19; break yy_forNext;
-              }
-
-            case 21:
-              switch (yy_input) {
-                case 6: 
-                case 8: yy_isFinal = true; yy_state = 20; break yy_forNext;
-                case 9: yy_state = 43; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 19; break yy_forNext;
-              }
-
-            case 26:
-              switch (yy_input) {
-                case 28: yy_isFinal = true; yy_noLookAhead = true; yy_state = 44; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 29:
-              switch (yy_input) {
-                case 28: yy_isFinal = true; yy_noLookAhead = true; yy_state = 45; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 35:
-              switch (yy_input) {
-                case 5: yy_isFinal = true; yy_noLookAhead = true; yy_state = 46; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 36:
-              switch (yy_input) {
-                case 6: 
-                case 8: 
-                case 9: yy_state = 36; break yy_forNext;
-                case 10: yy_state = 37; break yy_forNext;
-                case 15: yy_state = 38; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 37:
-              switch (yy_input) {
-                case 11: yy_state = 39; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 38:
-              switch (yy_input) {
-                case 16: yy_state = 40; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 39:
-              switch (yy_input) {
-                case 12: yy_state = 47; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 40:
-              switch (yy_input) {
-                case 17: yy_state = 48; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 42:
-              switch (yy_input) {
-                case 16: yy_state = 49; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 43:
-              switch (yy_input) {
-                case 6: 
-                case 8: yy_isFinal = true; yy_state = 20; break yy_forNext;
-                case 9: yy_state = 43; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 19; break yy_forNext;
-              }
-
-            case 47:
-              switch (yy_input) {
-                case 13: yy_state = 50; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 48:
-              switch (yy_input) {
-                case 18: yy_state = 51; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 49:
-              switch (yy_input) {
-                case 24: yy_state = 52; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 50:
-              switch (yy_input) {
-                case 14: yy_state = 53; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 51:
-              switch (yy_input) {
-                case 19: yy_state = 54; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 52:
-              switch (yy_input) {
-                case 25: yy_state = 55; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 53:
-              switch (yy_input) {
-                case 6: 
-                case 8: 
-                case 9: yy_isFinal = true; yy_state = 56; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 54:
-              switch (yy_input) {
-                case 20: yy_state = 57; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 55:
-              switch (yy_input) {
-                case 26: yy_state = 58; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 56:
-              switch (yy_input) {
-                case 6: 
-                case 8: 
-                case 9: yy_isFinal = true; yy_state = 56; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 57:
-              switch (yy_input) {
-                case 21: yy_state = 59; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 58:
-              switch (yy_input) {
-                case 23: yy_state = 60; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 59:
-              switch (yy_input) {
-                case 22: yy_isFinal = true; yy_noLookAhead = true; yy_state = 61; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 60:
-              switch (yy_input) {
-                case 27: yy_state = 62; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 62:
-              switch (yy_input) {
-                case 6: 
-                case 8: 
-                case 9: yy_state = 62; break yy_forNext;
-                case 7: yy_isFinal = true; yy_state = 63; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 63:
-              switch (yy_input) {
-                case 6: 
-                case 8: 
-                case 9: yy_isFinal = true; yy_state = 63; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            default:
-              yy_ScanError(YY_ILLEGAL_STATE);
-              break;
-          } }
-
-          if ( yy_isFinal ) {
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( yy_noLookAhead ) break yy_forAction;
-          }
-
-        }
-      }
-
-
-      switch (yy_action) {    
-
-        case 45: 
-          {  yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 65: break;
-        case 25: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 66: break;
-        case 19: 
-        case 20: 
-          {  yypushback(1); yybegin(UnDelimitedString); string.setLength(0); }
-        case 67: break;
-        case 18: 
-          {  yybegin(YYINITIAL);  hasMore = false; return CSSHeadTokenizerConstants.RuleEnd; }
-        case 68: break;
-        case 32: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue; }
-        case 69: break;
-        case 44: 
-          {  yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 70: break;
-        case 61: 
-          { if (yychar == 0 )  {yybegin(CHARSET_RULE); return CSSHeadTokenizerConstants.CHARSET_RULE;} }
-        case 71: break;
-        case 56: 
-          { if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;} }
-        case 72: break;
-        case 8: 
-        case 9: 
-        case 10: 
-        case 11: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 15: 
-        case 16: 
-        case 21: 
-          { if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;} }
-        case 73: break;
-        case 41: 
-          { yybegin(YYINITIAL);  return XMLHeadTokenizerConstants.XMLDeclEnd; }
-        case 74: break;
-        case 63: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding; }
-        case 75: break;
-        case 3: 
-        case 17: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); }
-        case 76: break;
-        case 46: 
-          { hasMore = false; return EncodingParserConstants.UTF83ByteBOM; }
-        case 77: break;
-        case 33: 
-          { hasMore = false; return EncodingParserConstants.UTF16BE; }
-        case 78: break;
-        case 34: 
-          { hasMore = false; return EncodingParserConstants.UTF16LE; }
-        case 79: break;
-        case 24: 
-        case 26: 
-        case 29: 
-          {  string.append( yytext() );  }
-        case 80: break;
-        case 23: 
-          {  yybegin(SQ_STRING); string.setLength(0);  }
-        case 81: break;
-        case 22: 
-          {  yybegin(DQ_STRING); string.setLength(0);  }
-        case 82: break;
-        case 27: 
-          {  yypushback(1); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;  }
-        case 83: break;
-        case 28: 
-          {  popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;  }
-        case 84: break;
-        case 30: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue;  }
-        case 85: break;
-        case 31: 
-          {  yypushback(1); popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue;  }
-        case 86: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              { hasMore = false; return EncodingParserConstants.EOF; }
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-  /**
-   * Runs the scanner on input files.
-   *
-   * This main method is the debugging routine for the scanner.
-   * It prints each returned token to System.out until the end of
-   * file is reached, or an error occured.
-   *
-   * @param argv   the command line, contains the filenames to run
-   *               the scanner on.
-   */
-  public static void main(String argv[]) {
-    for (int i = 0; i < argv.length; i++) {
-      CSSHeadTokenizer scanner = null;
-      try {
-        scanner = new CSSHeadTokenizer( new java.io.FileReader(argv[i]) );
-      }
-      catch (java.io.FileNotFoundException e) {
-        System.out.println("File not found : \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (java.io.IOException e) {
-        System.out.println("Error opening file \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (ArrayIndexOutOfBoundsException e) {
-        System.out.println("Usage : java CSSHeadTokenizer <inputfile>");
-        System.exit(1);
-      }
-
-      try {
-        do {
-          System.out.println(scanner.primGetNextToken());
-        } while (!scanner.yy_atEOF);
-
-      }
-      catch (java.io.IOException e) {
-        System.out.println("An I/O error occured while scanning :");
-        System.out.println(e);
-        System.exit(1);
-      }
-      catch (Exception e) {
-        e.printStackTrace();
-        System.exit(1);
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizerGenJava.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizerGenJava.cmd
deleted file mode 100644
index 9ef06e9..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/CSSHeadTokenizerGenJava.cmd
+++ /dev/null
@@ -1,23 +0,0 @@
-@echo off

-

-rem The following variables need to be set/specified for each "development machine"

-set PATH=%PATH%;d:jdks\j2sdk1.4.1_02\bin

-set WORKSPACE_LOCATION=D:\builds\Workspaces\PureHeadWorkspace

-set JFLEX_LIB_LOCATION=D:\DevTimeSupport\JFlex\lib

-

-rem The following variables differ from project to project, but should be otherwise constant

-set MAIN_NAME=CSSHeadTokenizer

-set PROJECT_SRC=\org.eclipse.wst.common.encoding.contentspecific\src\

-set PACKAGE_DIR=com\ibm\encoding\resource\contentspecific\css\

-

-rem Given the above "framework" and the command themselves, these variables should never need to be modified

-set JAVA_FILE=%MAIN_NAME%.java

-set JFLEX_RULES=%MAIN_NAME%.jflex

-set SKELETON_FILE=%MAIN_NAME%.skeleton

-

-IF EXIST %JAVA_FILE% del %JAVA_FILE%

-rem java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;. JFlex.Main %JFLEX_RULES% -skel %SKELETON_FILE% 1>jflexout.txt 2>jflexerr.txt

-java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;. JFlex.Main %JFLEX_RULES%  1>jflexout.txt 2>jflexerr.txt

-IF EXIST %JAVA_FILE% copy %JAVA_FILE% %WORKSPACE_LOCATION%%PROJECT_SRC%%PACKAGE_DIR%%JAVA_FILE%

-

-rem pause

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/jflexerr.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/jflexerr.txt
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/jflexerr.txt
+++ /dev/null
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/jflexout.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/jflexout.txt
deleted file mode 100644
index e0743ca..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/CSSHeadTokenizer/jflexout.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Reading "CSSHeadTokenizer.jflex"
-Constructing NFA : 458 states in NFA
-Converting NFA to DFA : 
-........................................................................................
-102 states before minimization, 64 states in minimized DFA
-Writing code to "CSSHeadTokenizer.java"
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizer.jFlex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizer.jFlex
deleted file mode 100644
index eb10921..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizer.jFlex
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.wst.common.encoding.contentspecific.html;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.common.encoding.contentspecific.EncodingParserConstants;
-import org.eclipse.wst.common.encoding.contentspecific.HeadParserToken;
-import org.eclipse.wst.common.encoding.contentspecific.IntStack;
-import org.eclipse.wst.common.encoding.contentspecific.xml.XMLHeadTokenizerConstants;
-
-
-
-%%
-
-%{
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-	boolean foundContentTypeValue = false;
-
-
-
-	public HTMLHeadTokenizer() {
-		super();
-	}
-
-	  public void reset (Reader in) {
-	  	/* the input device */
-	  	yy_reader = in;
-
-  		/* the current state of the DFA */
-  		yy_state = 0;
-
-  		/* the current lexical state */
-  		yy_lexical_state = YYINITIAL;
-
-  		/* this buffer contains the current text to be matched and is
-  		 the source of the yytext() string */
-  		java.util.Arrays.fill(yy_buffer, (char)0);
-
-  		/* the textposition at the last accepting state */
-  		yy_markedPos = 0;
-
-  		/* the textposition at the last state to be included in yytext */
-  		yy_pushbackPos = 0;
-
-  		/* the current text position in the buffer */
-  		yy_currentPos = 0;
-
-  		/* startRead marks the beginning of the yytext() string in the buffer */
-  		yy_startRead = 0;
-
-  		/** 
-  		 * endRead marks the last character in the buffer, that has been read
-  		 * from input 
-  		 */
-  		yy_endRead = 0;
-
-  		/* number of newlines encountered up to the start of the matched text */
-  		yyline = 0;
-
-  		/* the number of characters up to the start of the matched text */
-  		yychar = 0;
-
-  		/**
-  		 * the number of characters from the last newline up to the start
-  		 * of the matched text
-  		 */
-  		yycolumn = 0; 
-
-  		/** 
-  		 * yy_atBOL == true <=> the scanner is currently at the beginning 
-  		 * of a line
-  		 */
-  		yy_atBOL = false;
-
-  		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-  		yy_atEOF = false;
-
-  		/* denotes if the user-EOF-code has already been executed */
-  		yy_eof_done = false;
-
-
-  		fStateStack.clear();
-  		
-  		hasMore = true;
-  		
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-  		
-
-  	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-	
-
-%}
-
-%eof{
-	hasMore=false;
-%eof}
-
-%public
-%class HTMLHeadTokenizer
-%function primGetNextToken
-%type String
-%char
-%unicode
-%ignorecase 
-%debug
-%switch
-
-
-UTF16BE = \xFE\xFF
-UTF16LE = \xFF\xFE
-UTF83ByteBOM = \xEF\xBB\xBF
-
-SpaceChar = [\x20\x09]
-
-
-
-// [3] S ::= (0x20 | 0x9 | 0xD | 0xA)+
-S = [\x20\x09\x0D\x0A]
-
-BeginAttribeValue = {S}* \= {S}*
-
-LineTerminator = \r|\n
-
-
-%state ST_XMLDecl
-%state ST_META_TAG
-%state QuotedAttributeValue
-%state DQ_STRING
-%state SQ_STRING
-%state UnDelimitedString
-
-%%
-
-
-<YYINITIAL>  
-{
-	{UTF16BE}   		{hasMore = false; return EncodingParserConstants.UTF16BE;}
-	{UTF16LE}   		{hasMore = false; return EncodingParserConstants.UTF16LE;}
-	{UTF83ByteBOM}   	{hasMore = false; return EncodingParserConstants.UTF83ByteBOM;}
-
-	// force to be started on first line, but we do allow preceeding spaces
-	^ {S}* "<\?xml" {S}+ {if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;}}
-	
-	"<META "       {yybegin(ST_META_TAG); return HTMLHeadTokenizerConstants.MetaTagStart;}
-	
-
-}	
-	
-<ST_XMLDecl> 
-{
-	//"version" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDeclVersion;}
-	"encoding" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding;}
-	// note this "forced end" once end of XML Declaration found
-	"\?>"    {yybegin(YYINITIAL);  return XMLHeadTokenizerConstants.XMLDeclEnd;}
-}	
-
-<ST_META_TAG> 
-{
-
-	"http-equiv" {S}* \= {S}* \"? "Content-Type" \"? {S}+ "content" {BeginAttribeValue}  {pushCurrentState(); yybegin(QuotedAttributeValue); foundContentTypeValue=true; return HTMLHeadTokenizerConstants.MetaTagContentType;}
-	">"    { yybegin(YYINITIAL);  if (foundContentTypeValue) hasMore = false; return HTMLHeadTokenizerConstants.MetaTagEnd;}
-	"\/>"    { yybegin(YYINITIAL); if (foundContentTypeValue) hasMore = false; return HTMLHeadTokenizerConstants.MetaTagEnd;}
-}
-	
-
-<QuotedAttributeValue>
-{
-	\"                      { yybegin(DQ_STRING); string.setLength(0); }
-	\'			{ yybegin(SQ_STRING); string.setLength(0); }
-	// in this state, anything other than a space character can start an undelimited string
-	{S}*.           { yypushback(1); yybegin(UnDelimitedString); string.setLength(0);}
-
-}	
-
-
-<DQ_STRING>
-{
-
-	\"                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue; }
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\?>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"<"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	
-	">"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\/>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	.			{ string.append( yytext() ); }
-
-
-}
-
-<SQ_STRING>
-{
-
-	\'                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;}
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"%>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"<"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	">"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\/>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	.			{ string.append( yytext() ); }
-
-
-}
-
-<UnDelimitedString>
-{
-
-
-	// note this initial special case for HTTP contenttype values
-	";"{S}*			{ string.append( yytext() ); }
-	{S}                     { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue; }
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\?>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"<"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	// these are a bit special, since we started an undelimit string, but found a quote ... probably indicates a missing beginning quote
-	\'			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-	\"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-	
-	">"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\/>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	.			{ string.append( yytext() ); }
-
-}
-
-// The "match anything" rule should always be in effect except for when looking for end of string
-// (That is, remember to update state list if/when new states added)
-<YYINITIAL, ST_XMLDecl, QuotedAttributeValue, ST_META_TAG>
-{
-// this is the fallback (match "anything") rule  (for this scanner, input is ignored, and position advanced, if not recognized)
-.|\n              {if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;}}
-}
-
-// this rule always in effect
-<<EOF>>         {hasMore = false; return EncodingParserConstants.EOF;}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizer.java
deleted file mode 100644
index 4a78369..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizer.java
+++ /dev/null
@@ -1,1206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 1/27/04 6:41 PM */
-
-/*nlsXXX*/
-package org.eclipse.wst.common.encoding.contentspecific.html;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.common.encoding.contentspecific.EncodingParserConstants;
-import org.eclipse.wst.common.encoding.contentspecific.HeadParserToken;
-import org.eclipse.wst.common.encoding.contentspecific.IntStack;
-import org.eclipse.wst.common.encoding.contentspecific.xml.XMLHeadTokenizerConstants;
-
-
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 1/27/04 6:41 PM from the specification file
- * <tt>file:/D:/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizer.jflex</tt>
- */
-public class HTMLHeadTokenizer {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int ST_META_TAG = 4;
-  final public static int YYINITIAL = 0;
-  final public static int UnDelimitedString = 12;
-  final public static int DQ_STRING = 8;
-  final public static int SQ_STRING = 10;
-  final public static int ST_XMLDecl = 2;
-  final public static int QuotedAttributeValue = 6;
-
-  /**
-   * YY_LEXSTATE[l] is the state in the DFA for the lexical state l
-   * YY_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-   *                  at the beginning of a line
-   * l is of the form l = 2*k, k a non negative integer
-   */
-  private final static int YY_LEXSTATE[] = { 
-     0,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7, 7
-  };
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\6\1\7\2\0\1\11\22\0\1\22\1\0\1\40\2\0"+
-    "\1\44\1\0\1\43\5\0\1\34\1\0\1\42\13\0\1\45\1\12"+
-    "\1\10\1\31\1\13\1\0\1\21\1\0\1\24\1\26\1\17\1\0"+
-    "\1\30\1\32\1\27\2\0\1\16\1\15\1\23\1\25\1\33\1\35"+
-    "\2\0\1\20\1\36\1\37\1\0\1\14\1\41\7\0\1\21\1\0"+
-    "\1\24\1\26\1\17\1\0\1\30\1\32\1\27\2\0\1\16\1\15"+
-    "\1\23\1\25\1\33\1\35\2\0\1\20\1\36\1\37\1\0\1\14"+
-    "\1\41\101\0\1\4\3\0\1\5\17\0\1\3\16\0\1\1\20\0"+
-    "\1\3\16\0\1\1\1\2\170\0\1\2\ufe87\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Internal error: unknown state",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-	boolean foundContentTypeValue = false;
-
-
-
-	public HTMLHeadTokenizer() {
-		super();
-	}
-
-	  public void reset (Reader in) {
-	  	/* the input device */
-	  	yy_reader = in;
-
-  		/* the current state of the DFA */
-  		yy_state = 0;
-
-  		/* the current lexical state */
-  		yy_lexical_state = YYINITIAL;
-
-  		/* this buffer contains the current text to be matched and is
-  		 the source of the yytext() string */
-  		java.util.Arrays.fill(yy_buffer, (char)0);
-
-  		/* the textposition at the last accepting state */
-  		yy_markedPos = 0;
-
-  		/* the textposition at the last state to be included in yytext */
-  		yy_pushbackPos = 0;
-
-  		/* the current text position in the buffer */
-  		yy_currentPos = 0;
-
-  		/* startRead marks the beginning of the yytext() string in the buffer */
-  		yy_startRead = 0;
-
-  		/** 
-  		 * endRead marks the last character in the buffer, that has been read
-  		 * from input 
-  		 */
-  		yy_endRead = 0;
-
-  		/* number of newlines encountered up to the start of the matched text */
-  		yyline = 0;
-
-  		/* the number of characters up to the start of the matched text */
-  		yychar = 0;
-
-  		/**
-  		 * the number of characters from the last newline up to the start
-  		 * of the matched text
-  		 */
-  		yycolumn = 0; 
-
-  		/** 
-  		 * yy_atBOL == true <=> the scanner is currently at the beginning 
-  		 * of a line
-  		 */
-  		yy_atBOL = false;
-
-  		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-  		yy_atEOF = false;
-
-  		/* denotes if the user-EOF-code has already been executed */
-  		yy_eof_done = false;
-
-
-  		fStateStack.clear();
-  		
-  		hasMore = true;
-  		
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-  		
-
-  	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-	
-
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public HTMLHeadTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public HTMLHeadTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 174) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      System.out.println(YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-
-    System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  private void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    	hasMore=false;
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-
-    while (true) {
-
-      yychar+= yylength();
-
-      yy_atBOL = yy_markedPos <= 0 || yy_buffer[yy_markedPos-1] == '\n';
-      if (!yy_atBOL && yy_buffer[yy_markedPos-1] == '\r') {
-        yy_atBOL = yy_advance() != '\n';
-        if (!yy_atEOF) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      if (yy_atBOL)
-        yy_state = YY_LEXSTATE[yy_lexical_state+1];
-      else
-        yy_state = YY_LEXSTATE[yy_lexical_state];
-
-
-      yy_forAction: {
-        while (true) {
-
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          yy_input = yycmap[yy_input];
-
-          boolean yy_isFinal = false;
-          boolean yy_noLookAhead = false;
-
-          yy_forNext: { switch (yy_state) {
-            case 0:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_state = 9; break yy_forNext;
-                case 2: yy_isFinal = true; yy_state = 10; break yy_forNext;
-                case 3: yy_isFinal = true; yy_state = 11; break yy_forNext;
-                case 10: yy_isFinal = true; yy_state = 12; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 1:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_state = 9; break yy_forNext;
-                case 2: yy_isFinal = true; yy_state = 10; break yy_forNext;
-                case 3: yy_isFinal = true; yy_state = 11; break yy_forNext;
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 13; break yy_forNext;
-                case 10: yy_isFinal = true; yy_state = 14; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 2:
-              switch (yy_input) {
-                case 11: yy_isFinal = true; yy_state = 15; break yy_forNext;
-                case 15: yy_isFinal = true; yy_state = 16; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 3:
-              switch (yy_input) {
-                case 25: yy_isFinal = true; yy_noLookAhead = true; yy_state = 17; break yy_forNext;
-                case 26: yy_isFinal = true; yy_state = 18; break yy_forNext;
-                case 34: yy_isFinal = true; yy_state = 19; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 4:
-              switch (yy_input) {
-                case 6: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 21; break yy_forNext;
-                case 7: yy_isFinal = true; yy_state = 22; break yy_forNext;
-                case 32: yy_isFinal = true; yy_noLookAhead = true; yy_state = 23; break yy_forNext;
-                case 35: yy_isFinal = true; yy_noLookAhead = true; yy_state = 24; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 20; break yy_forNext;
-              }
-
-            case 5:
-              switch (yy_input) {
-                case 7: 
-                case 9: 
-                case 10: 
-                case 25: yy_isFinal = true; yy_noLookAhead = true; yy_state = 26; break yy_forNext;
-                case 11: 
-                case 34: yy_isFinal = true; yy_state = 27; break yy_forNext;
-                case 32: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 25; break yy_forNext;
-              }
-
-            case 6:
-              switch (yy_input) {
-                case 7: 
-                case 9: 
-                case 10: 
-                case 25: yy_isFinal = true; yy_noLookAhead = true; yy_state = 26; break yy_forNext;
-                case 34: yy_isFinal = true; yy_state = 27; break yy_forNext;
-                case 35: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                case 36: yy_isFinal = true; yy_state = 29; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 25; break yy_forNext;
-              }
-
-            case 7:
-              switch (yy_input) {
-                case 10: 
-                case 25: yy_isFinal = true; yy_noLookAhead = true; yy_state = 26; break yy_forNext;
-                case 34: yy_isFinal = true; yy_state = 27; break yy_forNext;
-                case 11: yy_isFinal = true; yy_state = 29; break yy_forNext;
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_noLookAhead = true; yy_state = 30; break yy_forNext;
-                case 32: 
-                case 35: yy_isFinal = true; yy_noLookAhead = true; yy_state = 31; break yy_forNext;
-                case 37: yy_isFinal = true; yy_state = 32; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 25; break yy_forNext;
-              }
-
-            case 9:
-              switch (yy_input) {
-                case 2: yy_isFinal = true; yy_noLookAhead = true; yy_state = 33; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 10:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_noLookAhead = true; yy_state = 34; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 11:
-              switch (yy_input) {
-                case 4: yy_state = 35; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 12:
-              switch (yy_input) {
-                case 13: yy_state = 36; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 13:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_state = 37; break yy_forNext;
-                case 10: yy_state = 38; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 14:
-              switch (yy_input) {
-                case 13: yy_state = 36; break yy_forNext;
-                case 11: yy_state = 39; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 15:
-              switch (yy_input) {
-                case 25: yy_isFinal = true; yy_noLookAhead = true; yy_state = 40; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 16:
-              switch (yy_input) {
-                case 19: yy_state = 41; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 18:
-              switch (yy_input) {
-                case 16: yy_state = 42; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 19:
-              switch (yy_input) {
-                case 25: yy_isFinal = true; yy_noLookAhead = true; yy_state = 43; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 21:
-              switch (yy_input) {
-                case 6: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 21; break yy_forNext;
-                case 7: yy_state = 44; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 20; break yy_forNext;
-              }
-
-            case 22:
-              switch (yy_input) {
-                case 6: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 21; break yy_forNext;
-                case 7: yy_state = 44; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 20; break yy_forNext;
-              }
-
-            case 27:
-              switch (yy_input) {
-                case 25: yy_isFinal = true; yy_noLookAhead = true; yy_state = 45; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 29:
-              switch (yy_input) {
-                case 25: yy_isFinal = true; yy_noLookAhead = true; yy_state = 46; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 32:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 32; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 35:
-              switch (yy_input) {
-                case 5: yy_isFinal = true; yy_noLookAhead = true; yy_state = 47; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 36:
-              switch (yy_input) {
-                case 15: yy_state = 48; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 37:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_state = 37; break yy_forNext;
-                case 10: yy_state = 38; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 38:
-              switch (yy_input) {
-                case 11: yy_state = 39; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 39:
-              switch (yy_input) {
-                case 12: yy_state = 49; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 41:
-              switch (yy_input) {
-                case 20: yy_state = 50; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 42:
-              switch (yy_input) {
-                case 16: yy_state = 51; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 44:
-              switch (yy_input) {
-                case 6: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 21; break yy_forNext;
-                case 7: yy_state = 44; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 20; break yy_forNext;
-              }
-
-            case 48:
-              switch (yy_input) {
-                case 16: yy_state = 52; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 49:
-              switch (yy_input) {
-                case 13: yy_state = 53; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 50:
-              switch (yy_input) {
-                case 21: yy_state = 54; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 51:
-              switch (yy_input) {
-                case 27: yy_state = 55; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 52:
-              switch (yy_input) {
-                case 17: yy_state = 56; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 53:
-              switch (yy_input) {
-                case 14: yy_state = 57; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 54:
-              switch (yy_input) {
-                case 22: yy_state = 58; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 55:
-              switch (yy_input) {
-                case 28: yy_state = 59; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 56:
-              switch (yy_input) {
-                case 18: yy_isFinal = true; yy_noLookAhead = true; yy_state = 60; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 57:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 61; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 58:
-              switch (yy_input) {
-                case 23: yy_state = 62; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 59:
-              switch (yy_input) {
-                case 15: yy_state = 63; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 61:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 61; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 62:
-              switch (yy_input) {
-                case 19: yy_state = 64; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 63:
-              switch (yy_input) {
-                case 29: yy_state = 65; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 64:
-              switch (yy_input) {
-                case 24: yy_state = 66; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 65:
-              switch (yy_input) {
-                case 30: yy_state = 67; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 66:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_state = 66; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 68; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 67:
-              switch (yy_input) {
-                case 23: yy_state = 69; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 68:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 68; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 69:
-              switch (yy_input) {
-                case 31: yy_state = 70; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 70:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_state = 70; break yy_forNext;
-                case 8: yy_state = 71; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 71:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_state = 71; break yy_forNext;
-                case 20: yy_state = 72; break yy_forNext;
-                case 32: yy_state = 73; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 72:
-              switch (yy_input) {
-                case 21: yy_state = 74; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 73:
-              switch (yy_input) {
-                case 20: yy_state = 72; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 74:
-              switch (yy_input) {
-                case 19: yy_state = 75; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 75:
-              switch (yy_input) {
-                case 16: yy_state = 76; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 76:
-              switch (yy_input) {
-                case 15: yy_state = 77; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 77:
-              switch (yy_input) {
-                case 19: yy_state = 78; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 78:
-              switch (yy_input) {
-                case 16: yy_state = 79; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 79:
-              switch (yy_input) {
-                case 28: yy_state = 80; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 80:
-              switch (yy_input) {
-                case 16: yy_state = 81; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 81:
-              switch (yy_input) {
-                case 33: yy_state = 82; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 82:
-              switch (yy_input) {
-                case 27: yy_state = 83; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 83:
-              switch (yy_input) {
-                case 15: yy_state = 84; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 84:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_state = 85; break yy_forNext;
-                case 32: yy_state = 86; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 85:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_state = 85; break yy_forNext;
-                case 20: yy_state = 87; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 86:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_state = 85; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 87:
-              switch (yy_input) {
-                case 21: yy_state = 88; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 88:
-              switch (yy_input) {
-                case 19: yy_state = 89; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 89:
-              switch (yy_input) {
-                case 16: yy_state = 90; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 90:
-              switch (yy_input) {
-                case 15: yy_state = 91; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 91:
-              switch (yy_input) {
-                case 19: yy_state = 92; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 92:
-              switch (yy_input) {
-                case 16: yy_state = 93; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 93:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_state = 93; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 94; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 94:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: 
-                case 18: yy_isFinal = true; yy_state = 94; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            default:
-              yy_ScanError(YY_ILLEGAL_STATE);
-              break;
-          } }
-
-          if ( yy_isFinal ) {
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( yy_noLookAhead ) break yy_forAction;
-          }
-
-        }
-      }
-
-
-      switch (yy_action) {    
-
-        case 26: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 96: break;
-        case 20: 
-        case 21: 
-          {  yypushback(1); yybegin(UnDelimitedString); string.setLength(0); }
-        case 97: break;
-        case 17: 
-          {  yybegin(YYINITIAL);  if (foundContentTypeValue) hasMore = false; return HTMLHeadTokenizerConstants.MetaTagEnd; }
-        case 98: break;
-        case 31: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue; }
-        case 99: break;
-        case 43: 
-          {  yybegin(YYINITIAL); if (foundContentTypeValue) hasMore = false; return HTMLHeadTokenizerConstants.MetaTagEnd; }
-        case 100: break;
-        case 45: 
-          {  yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 101: break;
-        case 46: 
-          {  yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 102: break;
-        case 61: 
-          { if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;} }
-        case 103: break;
-        case 8: 
-        case 9: 
-        case 10: 
-        case 11: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 15: 
-        case 16: 
-        case 18: 
-        case 19: 
-        case 22: 
-          { if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;} }
-        case 104: break;
-        case 60: 
-          { yybegin(ST_META_TAG); return HTMLHeadTokenizerConstants.MetaTagStart; }
-        case 105: break;
-        case 40: 
-          { yybegin(YYINITIAL);  return XMLHeadTokenizerConstants.XMLDeclEnd; }
-        case 106: break;
-        case 94: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); foundContentTypeValue=true; return HTMLHeadTokenizerConstants.MetaTagContentType; }
-        case 107: break;
-        case 68: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding; }
-        case 108: break;
-        case 33: 
-          { hasMore = false; return EncodingParserConstants.UTF16BE; }
-        case 109: break;
-        case 34: 
-          { hasMore = false; return EncodingParserConstants.UTF16LE; }
-        case 110: break;
-        case 47: 
-          { hasMore = false; return EncodingParserConstants.UTF83ByteBOM; }
-        case 111: break;
-        case 28: 
-          {  popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;  }
-        case 112: break;
-        case 25: 
-        case 27: 
-        case 29: 
-        case 32: 
-          {  string.append( yytext() );  }
-        case 113: break;
-        case 24: 
-          {  yybegin(SQ_STRING); string.setLength(0);  }
-        case 114: break;
-        case 23: 
-          {  yybegin(DQ_STRING); string.setLength(0);  }
-        case 115: break;
-        case 30: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue;  }
-        case 116: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              { hasMore = false; return EncodingParserConstants.EOF; }
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-  /**
-   * Runs the scanner on input files.
-   *
-   * This main method is the debugging routine for the scanner.
-   * It prints each returned token to System.out until the end of
-   * file is reached, or an error occured.
-   *
-   * @param argv   the command line, contains the filenames to run
-   *               the scanner on.
-   */
-  public static void main(String argv[]) {
-    for (int i = 0; i < argv.length; i++) {
-      HTMLHeadTokenizer scanner = null;
-      try {
-        scanner = new HTMLHeadTokenizer( new java.io.FileReader(argv[i]) );
-      }
-      catch (java.io.FileNotFoundException e) {
-        System.out.println("File not found : \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (java.io.IOException e) {
-        System.out.println("Error opening file \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (ArrayIndexOutOfBoundsException e) {
-        System.out.println("Usage : java HTMLHeadTokenizer <inputfile>");
-        System.exit(1);
-      }
-
-      try {
-        do {
-          System.out.println(scanner.primGetNextToken());
-        } while (!scanner.yy_atEOF);
-
-      }
-      catch (java.io.IOException e) {
-        System.out.println("An I/O error occured while scanning :");
-        System.out.println(e);
-        System.exit(1);
-      }
-      catch (Exception e) {
-        e.printStackTrace();
-        System.exit(1);
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizerGenJava.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizerGenJava.cmd
deleted file mode 100644
index 96f2325..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/HTMLHeadTokenizerGenJava.cmd
+++ /dev/null
@@ -1,23 +0,0 @@
-@echo off

-

-rem The following variables need to be set/specified for each "development machine"

-set PATH=%PATH%;d:jdks\j2sdk1.4.1_02\bin

-set WORKSPACE_LOCATION=D:\builds\Workspaces\PureHeadWorkspace

-set JFLEX_LIB_LOCATION=D:\DevTimeSupport\JFlex\lib

-

-rem The following variables differ from project to project, but should be otherwise constant

-set MAIN_NAME=HTMLHeadTokenizer

-set PROJECT_SRC=\org.eclipse.wst.common.encoding.contentspecific\src\

-set PACKAGE_DIR=com\ibm\encoding\resource\contentspecific\html\

-

-rem Given the above "framework" and the command themselves, these variables should never need to be modified

-set JAVA_FILE=%MAIN_NAME%.java

-set JFLEX_RULES=%MAIN_NAME%.jflex

-set SKELETON_FILE=%MAIN_NAME%.skeleton

-

-IF EXIST %JAVA_FILE% del %JAVA_FILE%

-rem java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;. JFlex.Main %JFLEX_RULES% -skel %SKELETON_FILE% 1>jflexout.txt 2>jflexerr.txt

-java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;. JFlex.Main %JFLEX_RULES%  1>jflexout.txt 2>jflexerr.txt

-IF EXIST %JAVA_FILE% copy %JAVA_FILE% %WORKSPACE_LOCATION%%PROJECT_SRC%%PACKAGE_DIR%%JAVA_FILE%

-

-rem pause

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/jflexerr.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/jflexerr.txt
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/jflexerr.txt
+++ /dev/null
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/jflexout.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/jflexout.txt
deleted file mode 100644
index 1469e9c..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/HTMLHeadTokenizer/jflexout.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Reading "HTMLHeadTokenizer.jflex"
-
-Warning : Macro "SpaceChar" has been declared but never used.
-Constructing NFA : 660 states in NFA
-Converting NFA to DFA : 
-.........................................................................................................................
-135 states before minimization, 95 states in minimized DFA
-Writing code to "HTMLHeadTokenizer.java"
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizer.jFlex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizer.jFlex
deleted file mode 100644
index cd66ce2..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizer.jFlex
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.wst.sse.core.jsp.contenttype;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.common.encoding.EncodingParserConstants;
-import org.eclipse.wst.common.encoding.HeadParserToken;
-import org.eclipse.wst.common.encoding.IntStack;
-import org.eclipse.wst.sse.core.xml.contenttype.XMLHeadTokenizerConstants;
-
-
-
-
-
-%%
-
-%{
-
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-
-
-	public JSPHeadTokenizer() {
-		super();
-	}
-
-	  public void reset (Reader in) {
-	  	/* the input device */
-	  	yy_reader = in;
-
-  		/* the current state of the DFA */
-  		yy_state = 0;
-
-  		/* the current lexical state */
-  		yy_lexical_state = YYINITIAL;
-
-  		/* this buffer contains the current text to be matched and is
-  		 the source of the yytext() string */
-  		java.util.Arrays.fill(yy_buffer, (char)0);
-
-  		/* the textposition at the last accepting state */
-  		yy_markedPos = 0;
-
-  		/* the textposition at the last state to be included in yytext */
-  		yy_pushbackPos = 0;
-
-  		/* the current text position in the buffer */
-  		yy_currentPos = 0;
-
-  		/* startRead marks the beginning of the yytext() string in the buffer */
-  		yy_startRead = 0;
-
-  		/**
-  		 * endRead marks the last character in the buffer, that has been read
-  		 * from input
-  		 */
-  		yy_endRead = 0;
-
-  		/* number of newlines encountered up to the start of the matched text */
-  		yyline = 0;
-
-  		/* the number of characters up to the start of the matched text */
-  		yychar = 0;
-
-  		/**
-  		 * the number of characters from the last newline up to the start
-  		 * of the matched text
-  		 */
-  		yycolumn = 0;
-
-  		/**
-  		 * yy_atBOL == true <=> the scanner is currently at the beginning
-  		 * of a line
-  		 */
-  		yy_atBOL = false;
-
-  		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-  		yy_atEOF = false;
-
-  		/* denotes if the user-EOF-code has already been executed */
-  		yy_eof_done = false;
-
-
-  		fStateStack.clear();
-
-  		hasMore = true;
-
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-
-
-  	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-
-
-%}
-
-%eof{
-	hasMore=false;
-%eof}
-
-%public
-%class JSPHeadTokenizer
-%function primGetNextToken
-%type String
-%char
-%unicode
-%ignorecase
-%debug
-%switch
-
-
-UTF16BE = \xFE\xFF
-UTF16LE = \xFF\xFE
-UTF83ByteBOM = \xEF\xBB\xBF
-
-SpaceChar = [\x20\x09]
-
-
-// [3] S ::= (0x20 | 0x9 | 0xD | 0xA)+
-S = [\x20\x09\x0D\x0A]
-
-BeginAttribeValue = {S}* \= {S}*
-
-LineTerminator = \r|\n
-
-
-%state ST_XMLDecl
-%state ST_PAGE_DIRECTIVE
-%state QuotedAttributeValue
-%state DQ_STRING
-%state SQ_STRING
-%state UnDelimitedString
-
-%%
-
-
-<YYINITIAL>
-{
-	{UTF16BE}   		{hasMore = false; return EncodingParserConstants.UTF16BE;}
-	{UTF16LE}   		{hasMore = false; return EncodingParserConstants.UTF16LE;}
-	{UTF83ByteBOM}   	{hasMore = false; return EncodingParserConstants.UTF83ByteBOM;}
-
-
-	// force to be started on first line, but we do allow preceeding spaces
-	^ {S}* "<\?xml" {S}+ {if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;}}
-
-	"<%" {S}* "@" {S}* "page" {S}+   {yybegin(ST_PAGE_DIRECTIVE); return JSPHeadTokenizerConstants.PageDirectiveStart;}
-	"<jsp:directive.page" {S}+           {yybegin(ST_PAGE_DIRECTIVE); return JSPHeadTokenizerConstants.PageDirectiveStart;}
-
-
-}
-
-<ST_XMLDecl>
-{
-//      commented out 'version' since we don't really use, but could add back in here if needed
-//	"version" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDeclVersion;}
-	"encoding" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding;}
-	// note the "forced end" (via 'hasMore=false') once the end of XML Declaration found
-	// This is since non-ascii chars may follow and may cause IOExceptions which would not occur once stream is
-	// read with incorrect encoding (such as if platform encoding is in effect until true encoding detected).
-	"\?>"    {yybegin(YYINITIAL); hasMore = false; return XMLHeadTokenizerConstants.XMLDeclEnd;}
-}
-
-<ST_PAGE_DIRECTIVE>
-{
-//  removed 'language' since it really can be handled seperately from encoding, but may add it back later for simple re-use.
-	"language"     {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageLanguage;}
-	"contentType" {BeginAttribeValue}  {pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageContentType;}
-	"pageEncoding" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageEncoding;}
-	// note the "forced end" (via 'hasMore=false') once the end of XML Declaration found
-	// This is since non-ascii chars may follow and may cause IOExceptions which would not occur once stream is
-	// read in correct encoding.
-
-	// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4205 demonstrates how we need to keep parsing,
-	// even if come to end of one page directive, so hasMore=false was removed from these rules.
-	"%>"    { yybegin(YYINITIAL);  return JSPHeadTokenizerConstants.PageDirectiveEnd;}
-	"\/>"    { yybegin(YYINITIAL); return JSPHeadTokenizerConstants.PageDirectiveEnd;}
-}
-
-
-<QuotedAttributeValue>
-{
-	\"                      { yybegin(DQ_STRING); string.setLength(0); }
-	\'			{ yybegin(SQ_STRING); string.setLength(0); }
-	// in this state, anything other than a space character can start an undelimited string
-	{S}*.           { yypushback(1); yybegin(UnDelimitedString); string.setLength(0);}
-
-}
-
-
-<DQ_STRING>
-{
-
-	\"                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue; }
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\?>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	'<'			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	.			{ string.append( yytext() ); }
-
-	"%>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-
-
-}
-
-<SQ_STRING>
-{
-
-	\'                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;}
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"%>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	'<'			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	.			{ string.append( yytext() ); }
-	"%>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-
-
-}
-
-<UnDelimitedString>
-{
-
-
-	{S}                     { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue; }
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\?>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	'<'			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	// these are a bit special, since we started an undelimit string, but found a quote ... probably indicates a missing beginning quote
-	\'			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-	\"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-
-	.			{ string.append( yytext() ); }
-	"%>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-
-}
-
-// The "match anything" rule should always be in effect except for when looking for end of string
-// (That is, remember to update state list if/when new states added)
-<YYINITIAL, ST_XMLDecl, QuotedAttributeValue, ST_PAGE_DIRECTIVE>
-{
-// this is the fallback (match "anything") rule  (for this scanner, input is ignored, and position advanced, if not recognized)
-.|\n              {if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;}}
-}
-
-// this rule always in effect
-<<EOF>>         {hasMore = false; return EncodingParserConstants.EOF;}
-
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizer.java
deleted file mode 100644
index 27d3b07..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizer.java
+++ /dev/null
@@ -1,1327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 9/7/04 8:12 AM */
-
-/*nlsXXX*/
-package org.eclipse.wst.sse.core.jsp.contenttype;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.common.encoding.EncodingParserConstants;
-import org.eclipse.wst.common.encoding.HeadParserToken;
-import org.eclipse.wst.common.encoding.IntStack;
-import org.eclipse.wst.sse.core.xml.contenttype.XMLHeadTokenizerConstants;
-
-
-
-
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 9/7/04 8:12 AM from the specification file
- * <tt>file:/D:/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizer.jflex</tt>
- */
-public class JSPHeadTokenizer {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int YYINITIAL = 0;
-  final public static int UnDelimitedString = 12;
-  final public static int DQ_STRING = 8;
-  final public static int SQ_STRING = 10;
-  final public static int ST_XMLDecl = 2;
-  final public static int ST_PAGE_DIRECTIVE = 4;
-  final public static int QuotedAttributeValue = 6;
-
-  /**
-   * YY_LEXSTATE[l] is the state in the DFA for the lexical state l
-   * YY_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-   *                  at the beginning of a line
-   * l is of the form l = 2*k, k a non negative integer
-   */
-  private final static int YY_LEXSTATE[] = { 
-     0,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7, 7
-  };
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\6\1\7\2\0\1\11\22\0\1\6\1\0\1\45\2\0"+
-    "\1\17\1\0\1\46\6\0\1\36\1\44\12\0\1\27\1\0\1\12"+
-    "\1\10\1\41\1\13\1\20\1\22\1\0\1\33\1\30\1\24\1\0"+
-    "\1\23\1\0\1\31\1\25\1\0\1\16\1\15\1\37\1\40\1\21"+
-    "\1\0\1\32\1\26\1\34\1\42\1\35\1\0\1\14\1\43\7\0"+
-    "\1\22\1\0\1\33\1\30\1\24\1\0\1\23\1\0\1\31\1\25"+
-    "\1\0\1\16\1\15\1\37\1\40\1\21\1\0\1\32\1\26\1\34"+
-    "\1\42\1\35\1\0\1\14\1\43\101\0\1\4\3\0\1\5\17\0"+
-    "\1\3\16\0\1\1\20\0\1\3\16\0\1\1\1\2\170\0\1\2"+
-    "\ufe87\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Internal error: unknown state",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-
-
-	public JSPHeadTokenizer() {
-		super();
-	}
-
-	  public void reset (Reader in) {
-	  	/* the input device */
-	  	yy_reader = in;
-
-  		/* the current state of the DFA */
-  		yy_state = 0;
-
-  		/* the current lexical state */
-  		yy_lexical_state = YYINITIAL;
-
-  		/* this buffer contains the current text to be matched and is
-  		 the source of the yytext() string */
-  		java.util.Arrays.fill(yy_buffer, (char)0);
-
-  		/* the textposition at the last accepting state */
-  		yy_markedPos = 0;
-
-  		/* the textposition at the last state to be included in yytext */
-  		yy_pushbackPos = 0;
-
-  		/* the current text position in the buffer */
-  		yy_currentPos = 0;
-
-  		/* startRead marks the beginning of the yytext() string in the buffer */
-  		yy_startRead = 0;
-
-  		/**
-  		 * endRead marks the last character in the buffer, that has been read
-  		 * from input
-  		 */
-  		yy_endRead = 0;
-
-  		/* number of newlines encountered up to the start of the matched text */
-  		yyline = 0;
-
-  		/* the number of characters up to the start of the matched text */
-  		yychar = 0;
-
-  		/**
-  		 * the number of characters from the last newline up to the start
-  		 * of the matched text
-  		 */
-  		yycolumn = 0;
-
-  		/**
-  		 * yy_atBOL == true <=> the scanner is currently at the beginning
-  		 * of a line
-  		 */
-  		yy_atBOL = false;
-
-  		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-  		yy_atEOF = false;
-
-  		/* denotes if the user-EOF-code has already been executed */
-  		yy_eof_done = false;
-
-
-  		fStateStack.clear();
-
-  		hasMore = true;
-
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-
-
-  	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-
-
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public JSPHeadTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public JSPHeadTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 182) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      System.out.println(YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-
-    System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  private void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    	hasMore=false;
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-
-    while (true) {
-
-      yychar+= yylength();
-
-      yy_atBOL = yy_markedPos <= 0 || yy_buffer[yy_markedPos-1] == '\n';
-      if (!yy_atBOL && yy_buffer[yy_markedPos-1] == '\r') {
-        yy_atBOL = yy_advance() != '\n';
-        if (!yy_atEOF) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      if (yy_atBOL)
-        yy_state = YY_LEXSTATE[yy_lexical_state+1];
-      else
-        yy_state = YY_LEXSTATE[yy_lexical_state];
-
-
-      yy_forAction: {
-        while (true) {
-
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          yy_input = yycmap[yy_input];
-
-          boolean yy_isFinal = false;
-          boolean yy_noLookAhead = false;
-
-          yy_forNext: { switch (yy_state) {
-            case 0:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_state = 9; break yy_forNext;
-                case 2: yy_isFinal = true; yy_state = 10; break yy_forNext;
-                case 3: yy_isFinal = true; yy_state = 11; break yy_forNext;
-                case 10: yy_isFinal = true; yy_state = 12; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 1:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_state = 9; break yy_forNext;
-                case 2: yy_isFinal = true; yy_state = 10; break yy_forNext;
-                case 3: yy_isFinal = true; yy_state = 11; break yy_forNext;
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 13; break yy_forNext;
-                case 10: yy_isFinal = true; yy_state = 14; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 2:
-              switch (yy_input) {
-                case 11: yy_isFinal = true; yy_state = 15; break yy_forNext;
-                case 20: yy_isFinal = true; yy_state = 16; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 3:
-              switch (yy_input) {
-                case 14: yy_isFinal = true; yy_state = 17; break yy_forNext;
-                case 15: yy_isFinal = true; yy_state = 18; break yy_forNext;
-                case 17: yy_isFinal = true; yy_state = 19; break yy_forNext;
-                case 27: yy_isFinal = true; yy_state = 20; break yy_forNext;
-                case 36: yy_isFinal = true; yy_state = 21; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 8; break yy_forNext;
-              }
-
-            case 4:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 23; break yy_forNext;
-                case 7: yy_isFinal = true; yy_state = 24; break yy_forNext;
-                case 37: yy_isFinal = true; yy_noLookAhead = true; yy_state = 25; break yy_forNext;
-                case 38: yy_isFinal = true; yy_noLookAhead = true; yy_state = 26; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 22; break yy_forNext;
-              }
-
-            case 5:
-              switch (yy_input) {
-                case 7: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                case 11: yy_isFinal = true; yy_state = 29; break yy_forNext;
-                case 15: yy_isFinal = true; yy_state = 30; break yy_forNext;
-                case 37: yy_isFinal = true; yy_noLookAhead = true; yy_state = 31; break yy_forNext;
-                case 38: yy_isFinal = true; yy_state = 32; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 27; break yy_forNext;
-              }
-
-            case 6:
-              switch (yy_input) {
-                case 7: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                case 15: yy_isFinal = true; yy_state = 30; break yy_forNext;
-                case 38: yy_isFinal = true; yy_state = 33; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 27; break yy_forNext;
-              }
-
-            case 7:
-              switch (yy_input) {
-                case 11: 
-                case 15: yy_isFinal = true; yy_state = 30; break yy_forNext;
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 34; break yy_forNext;
-                case 37: yy_isFinal = true; yy_noLookAhead = true; yy_state = 35; break yy_forNext;
-                case 38: yy_isFinal = true; yy_state = 36; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 27; break yy_forNext;
-              }
-
-            case 9:
-              switch (yy_input) {
-                case 2: yy_isFinal = true; yy_noLookAhead = true; yy_state = 37; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 10:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_noLookAhead = true; yy_state = 38; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 11:
-              switch (yy_input) {
-                case 4: yy_state = 39; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 12:
-              switch (yy_input) {
-                case 15: yy_state = 40; break yy_forNext;
-                case 21: yy_state = 41; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 13:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 42; break yy_forNext;
-                case 10: yy_state = 43; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 14:
-              switch (yy_input) {
-                case 15: yy_state = 40; break yy_forNext;
-                case 21: yy_state = 41; break yy_forNext;
-                case 11: yy_state = 44; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 15:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 45; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 16:
-              switch (yy_input) {
-                case 31: yy_state = 46; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 17:
-              switch (yy_input) {
-                case 18: yy_state = 47; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 18:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 48; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 19:
-              switch (yy_input) {
-                case 18: yy_state = 49; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 20:
-              switch (yy_input) {
-                case 32: yy_state = 50; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 21:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 51; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 23:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 23; break yy_forNext;
-                case 7: yy_state = 52; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 22; break yy_forNext;
-              }
-
-            case 24:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 23; break yy_forNext;
-                case 7: yy_state = 52; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 22; break yy_forNext;
-              }
-
-            case 29:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 53; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 30:
-              switch (yy_input) {
-                case 33: yy_isFinal = true; yy_noLookAhead = true; yy_state = 54; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 32:
-              switch (yy_input) {
-                case 10: yy_state = 55; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 33:
-              switch (yy_input) {
-                case 10: yy_state = 55; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 36:
-              switch (yy_input) {
-                case 10: yy_state = 55; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 39:
-              switch (yy_input) {
-                case 5: yy_isFinal = true; yy_noLookAhead = true; yy_state = 56; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 40:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 40; break yy_forNext;
-                case 16: yy_state = 57; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 41:
-              switch (yy_input) {
-                case 22: yy_state = 58; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 42:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 42; break yy_forNext;
-                case 10: yy_state = 43; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 43:
-              switch (yy_input) {
-                case 11: yy_state = 44; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 44:
-              switch (yy_input) {
-                case 12: yy_state = 59; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 46:
-              switch (yy_input) {
-                case 27: yy_state = 60; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 47:
-              switch (yy_input) {
-                case 31: yy_state = 61; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 49:
-              switch (yy_input) {
-                case 19: yy_state = 62; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 50:
-              switch (yy_input) {
-                case 31: yy_state = 63; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 52:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 23; break yy_forNext;
-                case 7: yy_state = 52; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 22; break yy_forNext;
-              }
-
-            case 55:
-              switch (yy_input) {
-                case 38: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 57:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 57; break yy_forNext;
-                case 17: yy_state = 64; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 58:
-              switch (yy_input) {
-                case 17: yy_state = 65; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 59:
-              switch (yy_input) {
-                case 13: yy_state = 66; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 60:
-              switch (yy_input) {
-                case 32: yy_state = 67; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 61:
-              switch (yy_input) {
-                case 19: yy_state = 68; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 62:
-              switch (yy_input) {
-                case 20: yy_state = 69; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 63:
-              switch (yy_input) {
-                case 28: yy_state = 70; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 64:
-              switch (yy_input) {
-                case 18: yy_state = 71; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 65:
-              switch (yy_input) {
-                case 23: yy_state = 72; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 66:
-              switch (yy_input) {
-                case 14: yy_state = 73; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 67:
-              switch (yy_input) {
-                case 24: yy_state = 74; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 68:
-              switch (yy_input) {
-                case 34: yy_state = 75; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 69:
-              switch (yy_input) {
-                case 20: yy_state = 76; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 70:
-              switch (yy_input) {
-                case 20: yy_state = 77; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 71:
-              switch (yy_input) {
-                case 19: yy_state = 78; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 72:
-              switch (yy_input) {
-                case 24: yy_state = 79; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 73:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 80; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 74:
-              switch (yy_input) {
-                case 25: yy_state = 81; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 75:
-              switch (yy_input) {
-                case 18: yy_state = 82; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 76:
-              switch (yy_input) {
-                case 31: yy_state = 83; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 77:
-              switch (yy_input) {
-                case 31: yy_state = 84; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 78:
-              switch (yy_input) {
-                case 20: yy_state = 85; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 79:
-              switch (yy_input) {
-                case 25: yy_state = 86; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 80:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 80; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 81:
-              switch (yy_input) {
-                case 31: yy_state = 87; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 82:
-              switch (yy_input) {
-                case 19: yy_state = 88; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 83:
-              switch (yy_input) {
-                case 27: yy_state = 89; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 84:
-              switch (yy_input) {
-                case 28: yy_state = 90; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 85:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 91; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 86:
-              switch (yy_input) {
-                case 26: yy_state = 92; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 87:
-              switch (yy_input) {
-                case 19: yy_state = 93; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 88:
-              switch (yy_input) {
-                case 20: yy_state = 94; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 89:
-              switch (yy_input) {
-                case 32: yy_state = 95; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 90:
-              switch (yy_input) {
-                case 28: yy_state = 96; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 91:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 91; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 92:
-              switch (yy_input) {
-                case 20: yy_state = 97; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 93:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 93; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 98; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 94:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 94; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 99; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 95:
-              switch (yy_input) {
-                case 24: yy_state = 100; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 96:
-              switch (yy_input) {
-                case 35: yy_state = 101; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 97:
-              switch (yy_input) {
-                case 27: yy_state = 102; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 98:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 98; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 99:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 99; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 100:
-              switch (yy_input) {
-                case 25: yy_state = 103; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 101:
-              switch (yy_input) {
-                case 17: yy_state = 104; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 102:
-              switch (yy_input) {
-                case 28: yy_state = 105; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 103:
-              switch (yy_input) {
-                case 31: yy_state = 106; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 104:
-              switch (yy_input) {
-                case 20: yy_state = 107; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 105:
-              switch (yy_input) {
-                case 25: yy_state = 108; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 106:
-              switch (yy_input) {
-                case 19: yy_state = 109; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 107:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 107; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 110; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 108:
-              switch (yy_input) {
-                case 29: yy_state = 111; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 109:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 109; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 112; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 110:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 110; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 111:
-              switch (yy_input) {
-                case 20: yy_state = 113; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 112:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 112; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 113:
-              switch (yy_input) {
-                case 30: yy_state = 114; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 114:
-              switch (yy_input) {
-                case 17: yy_state = 64; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            default:
-              yy_ScanError(YY_ILLEGAL_STATE);
-              break;
-          } }
-
-          if ( yy_isFinal ) {
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( yy_noLookAhead ) break yy_forAction;
-          }
-
-        }
-      }
-
-
-      switch (yy_action) {    
-
-        case 33: 
-          {  popState(); valueText = string.toString(); return EncodingParserConstants.StringValue; }
-        case 116: break;
-        case 28: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 117: break;
-        case 22: 
-        case 23: 
-          {  yypushback(1); yybegin(UnDelimitedString); string.setLength(0); }
-        case 118: break;
-        case 35: 
-        case 36: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue; }
-        case 119: break;
-        case 48: 
-          {  yybegin(YYINITIAL);  return JSPHeadTokenizerConstants.PageDirectiveEnd; }
-        case 120: break;
-        case 51: 
-          {  yybegin(YYINITIAL); return JSPHeadTokenizerConstants.PageDirectiveEnd; }
-        case 121: break;
-        case 53: 
-          {  yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 122: break;
-        case 54: 
-          {  yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 123: break;
-        case 80: 
-          { if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;} }
-        case 124: break;
-        case 8: 
-        case 9: 
-        case 10: 
-        case 11: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 15: 
-        case 16: 
-        case 17: 
-        case 18: 
-        case 19: 
-        case 20: 
-        case 21: 
-        case 24: 
-          { if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;} }
-        case 125: break;
-        case 91: 
-          { yybegin(ST_PAGE_DIRECTIVE); return JSPHeadTokenizerConstants.PageDirectiveStart; }
-        case 126: break;
-        case 45: 
-          { yybegin(YYINITIAL); hasMore = false; return XMLHeadTokenizerConstants.XMLDeclEnd; }
-        case 127: break;
-        case 112: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageEncoding; }
-        case 128: break;
-        case 110: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageContentType; }
-        case 129: break;
-        case 99: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return JSPHeadTokenizerConstants.PageLanguage; }
-        case 130: break;
-        case 98: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding; }
-        case 131: break;
-        case 56: 
-          { hasMore = false; return EncodingParserConstants.UTF83ByteBOM; }
-        case 132: break;
-        case 37: 
-          { hasMore = false; return EncodingParserConstants.UTF16BE; }
-        case 133: break;
-        case 38: 
-          { hasMore = false; return EncodingParserConstants.UTF16LE; }
-        case 134: break;
-        case 31: 
-          {  popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;  }
-        case 135: break;
-        case 27: 
-        case 29: 
-        case 30: 
-        case 32: 
-          {  string.append( yytext() );  }
-        case 136: break;
-        case 26: 
-          {  yybegin(SQ_STRING); string.setLength(0);  }
-        case 137: break;
-        case 25: 
-          {  yybegin(DQ_STRING); string.setLength(0);  }
-        case 138: break;
-        case 34: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue;  }
-        case 139: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              { hasMore = false; return EncodingParserConstants.EOF; }
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-  /**
-   * Runs the scanner on input files.
-   *
-   * This main method is the debugging routine for the scanner.
-   * It prints each returned token to System.out until the end of
-   * file is reached, or an error occured.
-   *
-   * @param argv   the command line, contains the filenames to run
-   *               the scanner on.
-   */
-  public static void main(String argv[]) {
-    for (int i = 0; i < argv.length; i++) {
-      JSPHeadTokenizer scanner = null;
-      try {
-        scanner = new JSPHeadTokenizer( new java.io.FileReader(argv[i]) );
-      }
-      catch (java.io.FileNotFoundException e) {
-        System.out.println("File not found : \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (java.io.IOException e) {
-        System.out.println("Error opening file \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (ArrayIndexOutOfBoundsException e) {
-        System.out.println("Usage : java JSPHeadTokenizer <inputfile>");
-        System.exit(1);
-      }
-
-      try {
-        do {
-          System.out.println(scanner.primGetNextToken());
-        } while (!scanner.yy_atEOF);
-
-      }
-      catch (java.io.IOException e) {
-        System.out.println("An I/O error occured while scanning :");
-        System.out.println(e);
-        System.exit(1);
-      }
-      catch (Exception e) {
-        e.printStackTrace();
-        System.exit(1);
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizerGenJava.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizerGenJava.cmd
deleted file mode 100644
index 08aa344..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/JSPHeadTokenizerGenJava.cmd
+++ /dev/null
@@ -1,25 +0,0 @@
-@echo off

-

-rem The following variables need to be set/specified for each "development machine"

-set PATH=%PATH%;d:jdks\j2sdk1.4.1_02\bin

-set WORKSPACE_LOCATION=D:\builds\Workspaces\PureHead

-set JFLEX_LIB_LOCATION=D:\DevTimeSupport\JFlex\lib

-

-rem The following variables differ from project to project, but should be otherwise constant

-set MAIN_NAME=JSPHeadTokenizer

-set PROJECT_SRC=\org.eclipse.wst.sse.core.jsp\src\

-set PACKAGE_DIR=com\ibm\sse\model\jsp\contenttype\

-

-

-rem Given the above "framework" and the command themselves, these variables should never need to be modified

-set JAVA_FILE=%MAIN_NAME%.java

-set JFLEX_RULES=%MAIN_NAME%.jflex

-set SKELETON_FILE=%MAIN_NAME%.skeleton

-

-IF EXIST %JAVA_FILE% del %JAVA_FILE%

-rem java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;.JFlex.Main %JFLEX_RULES% -skel %SKELETON_FILE% 1>jflexout.txt 2> jflexerr.txt

-java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;. JFlex.Main %JFLEX_RULES%  1>jflexout.txt 2>jflexerr.txt

-IF EXIST %JAVA_FILE% copy %JAVA_FILE% %WORKSPACE_LOCATION%%PROJECT_SRC%%PACKAGE_DIR%%JAVA_FILE%

-

-rem pause

-

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/jflexerr.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/jflexerr.txt
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/jflexerr.txt
+++ /dev/null
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/jflexout.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/jflexout.txt
deleted file mode 100644
index efb08a2..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/JSPHeadTokenizer/jflexout.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Reading "JSPHeadTokenizer.jflex"
-
-Warning : Macro "SpaceChar" has been declared but never used.
-Constructing NFA : 820 states in NFA
-Converting NFA to DFA : 
-................................................................................................................................................
-158 states before minimization, 115 states in minimized DFA
-Writing code to "JSPHeadTokenizer.java"
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10Names.jFlex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10Names.jFlex
deleted file mode 100644
index a5dd0f4..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10Names.jFlex
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.wst.sse.core.xml.internal.parser;
-
-
-
-%%
-
-%table
-%public
-%final
-%class XML10Names
-%function isValidXML10Name
-%type boolean
-%unicode
-%ignorecase
-%buffer 2048
-%apiprivate
-
-S = (\x20 | \x09 | \x0D | \x0A)
-
-BaseChar = [\u0041-\u005A\u0061-\u007A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u0131\u0134-\u013E\u0141-\u0148\u014A-\u017E\u0180-\u01C3\u01CD-\u01F0\u01F4-\u01F5\u01FA-\u0217\u0250-\u02A8\u02BB-\u02C1\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03CE\u03D0-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2-\u03F3\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E-\u0481\u0490-\u04C4\u04C7-\u04C8\u04CB-\u04CC\u04D0-\u04EB\u04EE-\u04F5\u04F8-\u04F9\u0531-\u0556\u0559\u0561-\u0586\u05D0-\u05EA\u05F0-\u05F2\u0621-\u063A\u0641-\u064A\u0671-\u06B7\u06BA-\u06BE\u06C0-\u06CE\u06D0-\u06D3\u06D5\u06E5-\u06E6\u0905-\u0939\u093D\u0958-\u0961\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8B\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AE0\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B36-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB5\u0BB7-\u0BB9\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CDE\u0CE0-\u0CE1\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D60-\u0D61\u0E01-\u0E2E\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EAE\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0F40-\u0F47\u0F49-\u0F69\u10A0-\u10C5\u10D0-\u10F6\u1100\u1102-\u1103\u1105-\u1107\u1109\u110B-\u110C\u110E-\u1112\u113C\u113E\u1140\u114C\u114E\u1150\u1154-\u1155\u1159\u115F-\u1161\u1163\u1165\u1167\u1169\u116D-\u116E\u1172-\u1173\u1175\u119E\u11A8\u11AB\u11AE-\u11AF\u11B7-\u11B8\u11BA\u11BC-\u11C2\u11EB\u11F0\u11F9\u1E00-\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A-\u212B\u212E\u2180-\u2182\u3041-\u3094\u30A1-\u30FA\u3105-\u312C\uAC00-\uD7A3]
-
-Ideographic = [\u4E00-\u9FA5\u3007\u3021-\u3029]
-
-CombiningChar = [\u0300-\u0345\u0360-\u0361\u0483-\u0486\u0591-\u05A1\u05A3-\u05B9\u05BB-\u05BD\u05BF\u05C1-\u05C2\u05C4\u064B-\u0652\u0670\u06D6-\u06DC\u06DD-\u06DF\u06E0-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0901-\u0903\u093C\u093E-\u094C\u094D\u0951-\u0954\u0962-\u0963\u0981-\u0983\u09BC\u09BE\u09BF\u09C0-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u0A02\u0A3C\u0A3E\u0A3F\u0A40-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A70-\u0A71\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0B01-\u0B03\u0B3C\u0B3E-\u0B43\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B82-\u0B83\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C01-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C82-\u0C83\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D43\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86-\u0F8B\u0F90-\u0F95\u0F97\u0F99-\u0FAD\u0FB1-\u0FB7\u0FB9\u20D0-\u20DC\u20E1\u302A-\u302F\u3099\u309A]
-
-Digit =  [\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE7-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29]
-
-Extender = [\u00B7\u02D0\u02D1\u0387\u0640\u0E46\u0EC6\u3005\u3031-\u3035\u309D-\u309E\u30FC-\u30FE]
-
-Letter = ({BaseChar} | {Ideographic})
-
-NameChar = ({Letter} | {Digit} | . | - | _ | : | {CombiningChar} | {Extender})
-
-Name = ({Letter} | _ | : ) ({NameChar})*
-
-
-
-%{
-
-	/**
-	 * Creates a new scanner
-	 */
-	public XML10Names() {
-		this.zzReader = null;
-	}
-
-	public boolean isValidXML10Name(String stringToCheck) {
-		boolean result = false;
-		yyreset(new java.io.StringReader(stringToCheck));
-		try {
-			result = isValidXML10Name();
-		}
-		catch (java.io.IOException e) {
-			// should be impossible with strings, but if occurs, just means
-			// "not"
-			result = false;
-		}
-		return result;
-	}
-
-%}
-
-
-
-
-%%
-
-<YYINITIAL>
-{
-
-	// don't match if contains trailing or embedded space
-	{Name} {S}+         {return false;}
-	{Name} {S}+ {Name}  {return false;}
-
-	{Name}              {return true;}
-
-	// match anything should come last
-	.                   {return false;}
-
-}
-
-
-// this rule always in effect
-<<EOF>>
-{
-	{return false;}
-}
-
-
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10Names.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10Names.java
deleted file mode 100644
index 07bdcf2..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10Names.java
+++ /dev/null
@@ -1,594 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/* The following code was generated by JFlex 1.4 on 7/17/04 3:43 AM */
-
-/*nlsXXX*/
-package org.eclipse.wst.sse.core.xml.internal.parser;
-
-
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.jflex.de/">JFlex</a> 1.4
- * on 7/17/04 3:43 AM from the specification file
- * <tt>XML10Names.jflex</tt>
- */
-public final class XML10Names {
-
-  /** This character denotes the end of file */
-  private static final int YYEOF = -1;
-
-  /** initial size of the lookahead buffer */
-  private static final int ZZ_BUFFERSIZE = 2048;
-
-  /** lexical states */
-  private static final int YYINITIAL = 0;
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final String ZZ_CMAP_PACKED = 
-    "\11\0\1\1\1\2\2\0\1\1\22\0\1\1\14\0\1\0\2\0"+
-    "\12\0\1\3\6\0\32\3\4\0\1\3\1\0\32\3\74\0\1\0"+
-    "\10\0\27\3\1\0\37\3\1\0\72\3\2\0\13\3\2\0\10\3"+
-    "\1\0\65\3\1\0\104\3\11\0\44\3\3\0\2\3\4\0\36\3"+
-    "\70\0\131\3\22\0\7\3\16\0\2\0\56\0\106\0\32\0\2\0"+
-    "\44\0\1\3\1\0\3\3\1\0\1\3\1\0\24\3\1\0\54\3"+
-    "\1\0\7\3\3\0\1\3\1\0\1\3\1\0\1\3\1\0\1\3"+
-    "\1\0\22\3\15\0\14\3\1\0\102\3\1\0\14\3\1\0\44\3"+
-    "\1\0\4\0\11\0\65\3\2\0\2\3\2\0\2\3\3\0\34\3"+
-    "\2\0\10\3\2\0\2\3\67\0\46\3\2\0\1\3\7\0\46\3"+
-    "\12\0\21\0\1\0\27\0\1\0\3\0\1\0\1\0\1\0\2\0"+
-    "\1\0\1\0\13\0\33\3\5\0\3\3\56\0\32\3\5\0\1\0"+
-    "\12\3\10\0\15\0\12\0\6\0\1\0\107\3\2\0\5\3\1\0"+
-    "\17\3\1\0\4\3\1\0\1\3\17\0\2\3\2\0\1\0\4\0"+
-    "\2\0\12\0\u0207\0\3\0\1\0\65\3\2\0\1\0\1\3\20\0"+
-    "\3\0\4\0\3\0\12\3\2\0\2\0\12\0\21\0\3\0\1\0"+
-    "\10\3\2\0\2\3\2\0\26\3\1\0\7\3\1\0\1\3\3\0"+
-    "\4\3\2\0\1\0\1\0\7\0\2\0\2\0\2\0\3\0\11\0"+
-    "\1\0\4\0\2\3\1\0\3\3\2\0\2\0\12\0\2\3\20\0"+
-    "\1\0\2\0\6\3\4\0\2\3\2\0\26\3\1\0\7\3\1\0"+
-    "\2\3\1\0\2\3\1\0\2\3\2\0\1\0\1\0\5\0\4\0"+
-    "\2\0\2\0\3\0\13\0\4\3\1\0\1\3\7\0\12\0\2\0"+
-    "\3\3\14\0\3\0\1\0\7\3\1\0\1\3\1\0\3\3\1\0"+
-    "\26\3\1\0\7\3\1\0\2\3\1\0\5\3\2\0\1\0\1\3"+
-    "\10\0\1\0\3\0\1\0\3\0\22\0\1\3\5\0\12\0\21\0"+
-    "\3\0\1\0\10\3\2\0\2\3\2\0\26\3\1\0\7\3\1\0"+
-    "\2\3\2\0\4\3\2\0\1\0\1\3\6\0\3\0\2\0\2\0"+
-    "\3\0\10\0\2\0\4\0\2\3\1\0\3\3\4\0\12\0\22\0"+
-    "\2\0\1\0\6\3\3\0\3\3\1\0\4\3\3\0\2\3\1\0"+
-    "\1\3\1\0\2\3\3\0\2\3\3\0\3\3\3\0\10\3\1\0"+
-    "\3\3\4\0\5\0\3\0\3\0\1\0\4\0\11\0\1\0\17\0"+
-    "\11\0\21\0\3\0\1\0\10\3\1\0\3\3\1\0\27\3\1\0"+
-    "\12\3\1\0\5\3\4\0\7\0\1\0\3\0\1\0\4\0\7\0"+
-    "\2\0\11\0\2\3\4\0\12\0\22\0\2\0\1\0\10\3\1\0"+
-    "\3\3\1\0\27\3\1\0\12\3\1\0\5\3\4\0\7\0\1\0"+
-    "\3\0\1\0\4\0\7\0\2\0\7\0\1\3\1\0\2\3\4\0"+
-    "\12\0\22\0\2\0\1\0\10\3\1\0\3\3\1\0\27\3\1\0"+
-    "\20\3\4\0\6\0\2\0\3\0\1\0\4\0\11\0\1\0\10\0"+
-    "\2\3\4\0\12\0\221\0\56\3\1\0\1\3\1\0\2\3\7\0"+
-    "\5\0\6\3\1\0\10\0\1\0\12\0\47\0\2\3\1\0\1\3"+
-    "\2\0\2\3\1\0\1\3\2\0\1\3\6\0\4\3\1\0\7\3"+
-    "\1\0\3\3\1\0\1\3\1\0\1\3\2\0\2\3\1\0\2\3"+
-    "\1\0\1\3\1\0\2\3\6\0\1\0\2\0\1\3\2\0\5\3"+
-    "\1\0\1\0\1\0\6\0\2\0\12\0\76\0\2\0\6\0\12\0"+
-    "\13\0\1\0\1\0\1\0\1\0\1\0\4\0\2\0\10\3\1\0"+
-    "\41\3\7\0\24\0\1\0\6\0\4\0\6\0\1\0\1\0\1\0"+
-    "\25\0\3\0\7\0\1\0\1\0\346\0\46\3\12\0\47\3\11\0"+
-    "\1\3\1\0\2\3\1\0\3\3\1\0\1\3\1\0\2\3\1\0"+
-    "\5\3\51\0\1\3\1\0\1\3\1\0\1\3\13\0\1\3\1\0"+
-    "\1\3\1\0\1\3\3\0\2\3\3\0\1\3\5\0\3\3\1\0"+
-    "\1\3\1\0\1\3\1\0\1\3\1\0\1\3\3\0\2\3\3\0"+
-    "\2\3\1\0\1\3\50\0\1\3\11\0\1\3\2\0\1\3\2\0"+
-    "\2\3\7\0\2\3\1\0\1\3\1\0\7\3\50\0\1\3\4\0"+
-    "\1\3\10\0\1\3\u0c06\0\234\3\4\0\132\3\6\0\26\3\2\0"+
-    "\6\3\2\0\46\3\2\0\6\3\2\0\10\3\1\0\1\3\1\0"+
-    "\1\3\1\0\1\3\1\0\37\3\2\0\65\3\1\0\7\3\1\0"+
-    "\1\3\3\0\3\3\1\0\7\3\3\0\4\3\2\0\6\3\4\0"+
-    "\15\3\5\0\3\3\1\0\7\3\323\0\15\0\4\0\1\0\104\0"+
-    "\1\3\3\0\2\3\2\0\1\3\121\0\3\3\u0e82\0\1\0\1\0"+
-    "\1\3\31\0\11\3\6\0\1\0\5\0\13\0\124\3\4\0\2\0"+
-    "\2\0\2\0\2\0\132\3\1\0\3\0\6\0\50\3\u1cd3\0\u51a6\3"+
-    "\u0c5a\0\u2ba4\3\u285c\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
-  /** 
-   * Translates DFA states to action switch labels.
-   */
-  private static final int [] ZZ_ACTION = zzUnpackAction();
-
-  private static final String ZZ_ACTION_PACKED_0 =
-    "\1\0\1\1\1\2\4\1";
-
-  private static int [] zzUnpackAction() {
-    int [] result = new int[7];
-    int offset = 0;
-    offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackAction(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
-
-  private static final String ZZ_ROWMAP_PACKED_0 =
-    "\0\0\0\4\0\10\0\14\0\20\0\24\0\30";
-
-  private static int [] zzUnpackRowMap() {
-    int [] result = new int[7];
-    int offset = 0;
-    offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackRowMap(String packed, int offset, int [] result) {
-    int i = 0;  /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int high = packed.charAt(i++) << 16;
-      result[j++] = high | packed.charAt(i++);
-    }
-    return j;
-  }
-
-  /** 
-   * The transition table of the DFA
-   */
-  private static final int ZZ_TRANS [] = {
-    1, 1, -1, 2, -1, -1, -1, -1, 2, 3, 
-    4, 2, 2, 3, 4, 5, -1, 4, 4, 6, 
-    5, 5, 4, 5, 6, 6, -1, 6, 
-  };
-
-  /* error codes */
-  private static final int ZZ_UNKNOWN_ERROR = 0;
-  private static final int ZZ_NO_MATCH = 1;
-  private static final int ZZ_PUSHBACK_2BIG = 2;
-
-  /* error messages for the codes above */
-  private static final String ZZ_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /**
-   * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
-  private static final String ZZ_ATTRIBUTE_PACKED_0 =
-    "\1\0\1\11\5\1";
-
-  private static int [] zzUnpackAttribute() {
-    int [] result = new int[7];
-    int offset = 0;
-    offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackAttribute(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-  /** the input device */
-  private java.io.Reader zzReader;
-
-  /** the current state of the DFA */
-  private int zzState;
-
-  /** the current lexical state */
-  private int zzLexicalState = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
-
-  /** the textposition at the last accepting state */
-  private int zzMarkedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int zzPushbackPos;
-
-  /** the current text position in the buffer */
-  private int zzCurrentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int zzStartRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int zzEndRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn;
-
-  /** 
-   * zzAtBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean zzAtBOL = true;
-
-  /** zzAtEOF == true <=> the scanner is at the EOF */
-  private boolean zzAtEOF;
-
-  /* user code: */
-
-	/**
-	 * Creates a new scanner
-	 */
-	public XML10Names() {
-		this.zzReader = null;
-	}
-
-	public boolean isValidXML10Name(String stringToCheck) {
-		boolean result = false;
-		yyreset(new java.io.StringReader(stringToCheck));
-		try {
-			result = isValidXML10Name();
-		}
-		catch (java.io.IOException e) {
-			// should be impossible with strings, but if occurs, just means
-			// "not"
-			result = false;
-		}
-		return result;
-	}
-
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public XML10Names(java.io.Reader in) {
-    this.zzReader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public XML10Names(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] zzUnpackCMap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 1226) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Refills the input buffer.
-   *
-   * @return      <code>false</code>, iff there was new input.
-   * 
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  private boolean zzRefill() throws java.io.IOException {
-
-    /* first: make room (if you can) */
-    if (zzStartRead > 0) {
-      System.arraycopy(zzBuffer, zzStartRead,
-                       zzBuffer, 0,
-                       zzEndRead-zzStartRead);
-
-      /* translate stored positions */
-      zzEndRead-= zzStartRead;
-      zzCurrentPos-= zzStartRead;
-      zzMarkedPos-= zzStartRead;
-      zzPushbackPos-= zzStartRead;
-      zzStartRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (zzCurrentPos >= zzBuffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[zzCurrentPos*2];
-      System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
-      zzBuffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = zzReader.read(zzBuffer, zzEndRead,
-                                            zzBuffer.length-zzEndRead);
-
-    if (numRead < 0) {
-      return true;
-    }
-    else {
-      zzEndRead+= numRead;
-      return false;
-    }
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  private final void yyclose() throws java.io.IOException {
-    zzAtEOF = true;            /* indicate end of file */
-    zzEndRead = zzStartRead;  /* invalidate buffer    */
-
-    if (zzReader != null)
-      zzReader.close();
-  }
-
-
-  /**
-   * Resets the scanner to read from a new input stream.
-   * Does not close the old reader.
-   *
-   * All internal variables are reset, the old input stream 
-   * <b>cannot</b> be reused (internal buffer is discarded and lost).
-   * Lexical state is set to <tt>ZZ_INITIAL</tt>.
-   *
-   * @param reader   the new input stream 
-   */
-  private final void yyreset(java.io.Reader reader) {
-    zzReader = reader;
-    zzAtBOL  = true;
-    zzAtEOF  = false;
-    zzEndRead = zzStartRead = 0;
-    zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
-    yyline = yychar = yycolumn = 0;
-    zzLexicalState = YYINITIAL;
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  private final int yystate() {
-    return zzLexicalState;
-  }
-
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  private final void yybegin(int newState) {
-    zzLexicalState = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  private final String yytext() {
-    return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
-  }
-
-
-  /**
-   * Returns the character at position <tt>pos</tt> from the 
-   * matched text. 
-   * 
-   * It is equivalent to yytext().charAt(pos), but faster
-   *
-   * @param pos the position of the character to fetch. 
-   *            A value from 0 to yylength()-1.
-   *
-   * @return the character at position pos
-   */
-  private final char yycharat(int pos) {
-    return zzBuffer[zzStartRead+pos];
-  }
-
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  private final int yylength() {
-    return zzMarkedPos-zzStartRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * In a wellformed scanner (no or only correct usage of 
-   * yypushback(int) and a match-all fallback rule) this method 
-   * will only be called with things that "Can't Possibly Happen".
-   * If this method is called, something is seriously wrong
-   * (e.g. a JFlex bug producing a faulty scanner etc.).
-   *
-   * Usual syntax/scanner level error handling should be done
-   * in error fallback rules.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void zzScanError(int errorCode) {
-    String message;
-    try {
-      message = ZZ_ERROR_MSG[errorCode];
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
-    }
-
-    throw new Error(message);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  private void yypushback(int number)  {
-    if ( number > yylength() )
-      zzScanError(ZZ_PUSHBACK_2BIG);
-
-    zzMarkedPos -= number;
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  private boolean isValidXML10Name() throws java.io.IOException {
-    int zzInput;
-    int zzAction;
-
-    // cached fields:
-    int zzCurrentPosL;
-    int zzMarkedPosL;
-    int zzEndReadL = zzEndRead;
-    char [] zzBufferL = zzBuffer;
-    char [] zzCMapL = ZZ_CMAP;
-
-    int [] zzTransL = ZZ_TRANS;
-    int [] zzRowMapL = ZZ_ROWMAP;
-    int [] zzAttrL = ZZ_ATTRIBUTE;
-
-    while (true) {
-      zzMarkedPosL = zzMarkedPos;
-
-      zzAction = -1;
-
-      zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-  
-      zzState = zzLexicalState;
-
-
-      zzForAction: {
-        while (true) {
-    
-          if (zzCurrentPosL < zzEndReadL)
-            zzInput = zzBufferL[zzCurrentPosL++];
-          else if (zzAtEOF) {
-            zzInput = YYEOF;
-            break zzForAction;
-          }
-          else {
-            // store back cached positions
-            zzCurrentPos  = zzCurrentPosL;
-            zzMarkedPos   = zzMarkedPosL;
-            boolean eof = zzRefill();
-            // get translated positions and possibly new buffer
-            zzCurrentPosL  = zzCurrentPos;
-            zzMarkedPosL   = zzMarkedPos;
-            zzBufferL      = zzBuffer;
-            zzEndReadL     = zzEndRead;
-            if (eof) {
-              zzInput = YYEOF;
-              break zzForAction;
-            }
-            else {
-              zzInput = zzBufferL[zzCurrentPosL++];
-            }
-          }
-          int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
-          if (zzNext == -1) break zzForAction;
-          zzState = zzNext;
-
-          int zzAttributes = zzAttrL[zzState];
-          if ( (zzAttributes & 1) == 1 ) {
-            zzAction = zzState;
-            zzMarkedPosL = zzCurrentPosL;
-            if ( (zzAttributes & 8) == 8 ) break zzForAction;
-          }
-
-        }
-      }
-
-      // store back cached position
-      zzMarkedPos = zzMarkedPosL;
-
-      switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
-        case 1: 
-          { return false;
-          }
-        case 3: break;
-        case 2: 
-          { return true;
-          }
-        case 4: break;
-        default: 
-          if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
-            zzAtEOF = true;
-              { {return false;} }
-          } 
-          else {
-            zzScanError(ZZ_NO_MATCH);
-          }
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10NamesGenJava.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10NamesGenJava.cmd
deleted file mode 100644
index 2477d14..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10NamesGenJava.cmd
+++ /dev/null
@@ -1,25 +0,0 @@
-@echo on

-

-rem The following variables need to be set/specified for each "development machine"

-set PATH=%PATH%;D:\JDKs\j2sdk1.4.2_03\bin

-set WORKSPACE_LOCATION=D:\builds\Workspaces\RC2

-set JFLEX_LIB_LOCATION=D:\DevTimeSupport\JFlex-1.4\lib

-

-rem The following variables differ from project to project, but should be otherwise constant

-set MAIN_NAME=XML10Names

-

-set PROJECT_SRC=\org.eclipse.wst.sse.core.xml\src\

-set PACKAGE_DIR=com\ibm\sse\model\xml\internal\parser\

-

-

-rem Given the above "framework" and the command themselves, these variables should never need to be modified

-set JAVA_FILE=%MAIN_NAME%.java

-set JFLEX_RULES=%MAIN_NAME%.jflex

-set SKELETON_FILE=%MAIN_NAME%.skeleton

-

-IF EXIST %JAVA_FILE% del %JAVA_FILE%

-rem java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;. JFlex.Main %JFLEX_RULES% -skel %SKELETON_FILE% 1>jflexout.txt 2>jflexerr.txt

-java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;. JFlex.Main %JFLEX_RULES%  1>jflexout.txt 2>jflexerr.txt

-IF EXIST %JAVA_FILE% copy %JAVA_FILE% %WORKSPACE_LOCATION%%PROJECT_SRC%%PACKAGE_DIR%%JAVA_FILE%

-

-pause

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10NamesGenJavaJFlex14.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10NamesGenJavaJFlex14.cmd
deleted file mode 100644
index aafbf61..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/XML10NamesGenJavaJFlex14.cmd
+++ /dev/null
@@ -1,25 +0,0 @@
-@echo on

-

-rem The following variables need to be set/specified for each "development machine"

-set PATH=%PATH%;D:\JDKs\j2sdk1.4.2_03\bin

-set WORKSPACE_LOCATION=D:\builds\Workspaces\RC2

-set JFLEX_LIB_LOCATION=D:\DevTimeSupport\JFlex-1.4\lib

-

-rem The following variables differ from project to project, but should be otherwise constant

-set MAIN_NAME=XML10Names

-

-set PROJECT_SRC=\org.eclipse.wst.sse.core.xml\src\

-set PACKAGE_DIR=com\ibm\sse\model\xml\internal\parser\

-

-

-rem Given the above "framework" and the command themselves, these variables should never need to be modified

-set JAVA_FILE=%MAIN_NAME%.java

-set JFLEX_RULES=%MAIN_NAME%.jflex

-set SKELETON_FILE=%MAIN_NAME%.skeleton

-

-IF EXIST %JAVA_FILE% del %JAVA_FILE%

-rem java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\Jflex.jar;. JFlex.Main %JFLEX_RULES% -skel %SKELETON_FILE% 1>jflexout.txt 2>jflexerr.txt

-java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\Jflex.jar;. JFlex.Main %JFLEX_RULES%  1>jflexout.txt 2>jflexerr.txt

-IF EXIST %JAVA_FILE% copy %JAVA_FILE% %WORKSPACE_LOCATION%%PROJECT_SRC%%PACKAGE_DIR%%JAVA_FILE%

-

-pause

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/jflexerr.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/jflexerr.txt
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/jflexerr.txt
+++ /dev/null
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/jflexout.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/jflexout.txt
deleted file mode 100644
index 6e960b5..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XML10Names/jflexout.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Reading "XML10Names.jflex"
-Constructing NFA : 36 states in NFA
-Converting NFA to DFA : 
-...........
-13 states before minimization, 7 states in minimized DFA
-Writing code to "XML10Names.java"
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizer.jFlex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizer.jFlex
deleted file mode 100644
index a1944fb..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizer.jFlex
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.wst.common.encoding.contentspecific.xml;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.common.encoding.contentspecific.EncodingParserConstants;
-import org.eclipse.wst.common.encoding.contentspecific.HeadParserToken;
-import org.eclipse.wst.common.encoding.contentspecific.IntStack;
-import org.eclipse.wst.common.encoding.contentspecific.xml.XMLHeadTokenizerConstants;
-
-
-
-
-%%
-
-%{
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-
-
-	public XMLHeadTokenizer() {
-		super();
-	}
-
-	  public void reset (Reader in) {
-	  	/* the input device */
-	  	yy_reader = in;
-
-  		/* the current state of the DFA */
-  		yy_state = 0;
-
-  		/* the current lexical state */
-  		yy_lexical_state = YYINITIAL;
-
-  		/* this buffer contains the current text to be matched and is
-  		 the source of the yytext() string */
-  		java.util.Arrays.fill(yy_buffer, (char)0);
-
-  		/* the textposition at the last accepting state */
-  		yy_markedPos = 0;
-
-  		/* the textposition at the last state to be included in yytext */
-  		yy_pushbackPos = 0;
-
-  		/* the current text position in the buffer */
-  		yy_currentPos = 0;
-
-  		/* startRead marks the beginning of the yytext() string in the buffer */
-  		yy_startRead = 0;
-
-  		/** 
-  		 * endRead marks the last character in the buffer, that has been read
-  		 * from input 
-  		 */
-  		yy_endRead = 0;
-
-  		/* number of newlines encountered up to the start of the matched text */
-  		yyline = 0;
-
-  		/* the number of characters up to the start of the matched text */
-  		yychar = 0;
-
-  		/**
-  		 * the number of characters from the last newline up to the start
-  		 * of the matched text
-  		 */
-  		yycolumn = 0; 
-
-  		/** 
-  		 * yy_atBOL == true <=> the scanner is currently at the beginning 
-  		 * of a line
-  		 */
-  		yy_atBOL = false;
-
-  		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-  		yy_atEOF = false;
-
-  		/* denotes if the user-EOF-code has already been executed */
-  		yy_eof_done = false;
-
-
-  		fStateStack.clear();
-  		
-  		hasMore = true;
-  		
-  		// its a little wasteful to "throw away" first char array generated
-  		// by class init (via auto generated code), but we really do want 
-  		// a small buffer for our head parsers. 
-  		if (yy_buffer.length != MAX_TO_SCAN) {
-  			yy_buffer = new char[MAX_TO_SCAN];
-  		}
-
-
-  	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-	
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}	
-
-%}
-
-%eof{
-	hasMore=false;
-%eof}
-
-%public
-%class XMLHeadTokenizer
-%function primGetNextToken
-%type String
-%char
-%unicode
-%ignorecase 
-%debug
-%switch
-
-UTF16BE = \xFE\xFF
-UTF16LE = \xFF\xFE
-UTF83ByteBOM = \xEF\xBB\xBF
-
-SpaceChar = [\x20\x09]
-
-// [3] S ::= (0x20 | 0x9 | 0xD | 0xA)+
-S = [\x20\x09\x0D\x0A]
-
-BeginAttribeValue = {S}* \= {S}*
-
-LineTerminator = \r|\n
-
-
-%state ST_XMLDecl
-%state QuotedAttributeValue
-%state DQ_STRING
-%state SQ_STRING
-%state UnDelimitedString
-
-%%
-
-
-<YYINITIAL>  
-{
-	// force to start at beginning of line (^) and at beginning of file (yychar == 0)
-	^{UTF16BE}   		{if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF16BE;}}
-	^{UTF16LE}   		{if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF16LE;}}
-	^{UTF83ByteBOM}   	{if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF83ByteBOM;}}
-	
-	// force to be started on first line, but we do allow preceeding spaces
-	^ {S}* "<\?xml" {S}+ {if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;}}
-	
-}	
-	
-<ST_XMLDecl> 
-{
-//      commented out 'version' since we don't really use, but could add back in here if needed
-//	"version" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDeclVersion;}
-	"encoding" {BeginAttribeValue} {pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding;}
-	// note the "forced end" (via 'hasMore=false') once the end of XML Declaration found
-	// This is since non-ascii chars may follow and may cause IOExceptions which would not occur once stream is 
-	// read with incorrect encoding (such as if platform encoding is in effect until true encoding detected). 
-	"\?>"    {yybegin(YYINITIAL); hasMore = false; return XMLHeadTokenizerConstants.XMLDeclEnd;}
-}	
-
-	
-
-<QuotedAttributeValue>
-{
-	\"                      { yybegin(DQ_STRING); string.setLength(0); }
-	\'			{ yybegin(SQ_STRING); string.setLength(0); }
-	// in this state, anything other than a space character can start an undelimited string
-	{S}*.           { yypushback(1); yybegin(UnDelimitedString); string.setLength(0);}
-
-}	
-
-
-<DQ_STRING>
-{
-
-	\"                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue; }
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\?>"			{ yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	'<'			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	.			{ string.append( yytext() ); }
-
-
-}
-
-<SQ_STRING>
-{
-
-	\'                      { popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;}
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"%>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	'<'			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	.			{ string.append( yytext() ); }
-
-
-}
-
-<UnDelimitedString>
-{
-
-	{S}                     { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue; }
-  	{LineTerminator}        { yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	"\?>"			{ yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	'<'	
-	{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue;}
-	// these are a bit special, since we started an undelimit string, but found a quote ... probably indicates a missing beginning quote
-	\'			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-	
-	\"			{ yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;}
-	
-	.			{ string.append( yytext() ); }
-
-}
-
-// The "match anything" rule should always be in effect except for when looking for end of string
-// (That is, remember to update state list if/when new states added)
-<YYINITIAL, ST_XMLDecl, QuotedAttributeValue>
-{
-// this is the fallback (match "anything") rule  (for this scanner, input is ignored, and position advanced, if not recognized)
-.|\n              {if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;}}
-}
-
-// this rule always in effect
-<<EOF>>         {hasMore = false; return EncodingParserConstants.EOF;}
-
-	
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizer.java
deleted file mode 100644
index 196594c..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizer.java
+++ /dev/null
@@ -1,905 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 4/6/04 11:13 PM */
-
-/*nlsXXX*/
-package org.eclipse.wst.common.encoding.contentspecific.xml;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.wst.common.encoding.contentspecific.EncodingParserConstants;
-import org.eclipse.wst.common.encoding.contentspecific.HeadParserToken;
-import org.eclipse.wst.common.encoding.contentspecific.IntStack;
-import org.eclipse.wst.common.encoding.contentspecific.xml.XMLHeadTokenizerConstants;
-
-
-
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 4/6/04 11:13 PM from the specification file
- * <tt>file:/D:/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizer.jflex</tt>
- */
-public class XMLHeadTokenizer {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int YYINITIAL = 0;
-  final public static int UnDelimitedString = 10;
-  final public static int DQ_STRING = 6;
-  final public static int SQ_STRING = 8;
-  final public static int ST_XMLDecl = 2;
-  final public static int QuotedAttributeValue = 4;
-
-  /**
-   * YY_LEXSTATE[l] is the state in the DFA for the lexical state l
-   * YY_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-   *                  at the beginning of a line
-   * l is of the form l = 2*k, k a non negative integer
-   */
-  private final static int YY_LEXSTATE[] = { 
-     0,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6, 6
-  };
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\6\1\7\2\0\1\11\22\0\1\6\1\0\1\27\2\0"+
-    "\1\31\1\0\1\30\24\0\1\12\1\10\1\26\1\13\3\0\1\21"+
-    "\1\23\1\17\1\0\1\25\1\0\1\24\2\0\1\16\1\15\1\20"+
-    "\1\22\10\0\1\14\12\0\1\21\1\23\1\17\1\0\1\25\1\0"+
-    "\1\24\2\0\1\16\1\15\1\20\1\22\10\0\1\14\102\0\1\4"+
-    "\3\0\1\5\17\0\1\3\16\0\1\1\20\0\1\3\16\0\1\1"+
-    "\1\2\170\0\1\2\ufe87\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Internal error: unknown state",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-
-
-	public XMLHeadTokenizer() {
-		super();
-	}
-
-	  public void reset (Reader in) {
-	  	/* the input device */
-	  	yy_reader = in;
-
-  		/* the current state of the DFA */
-  		yy_state = 0;
-
-  		/* the current lexical state */
-  		yy_lexical_state = YYINITIAL;
-
-  		/* this buffer contains the current text to be matched and is
-  		 the source of the yytext() string */
-  		java.util.Arrays.fill(yy_buffer, (char)0);
-
-  		/* the textposition at the last accepting state */
-  		yy_markedPos = 0;
-
-  		/* the textposition at the last state to be included in yytext */
-  		yy_pushbackPos = 0;
-
-  		/* the current text position in the buffer */
-  		yy_currentPos = 0;
-
-  		/* startRead marks the beginning of the yytext() string in the buffer */
-  		yy_startRead = 0;
-
-  		/** 
-  		 * endRead marks the last character in the buffer, that has been read
-  		 * from input 
-  		 */
-  		yy_endRead = 0;
-
-  		/* number of newlines encountered up to the start of the matched text */
-  		yyline = 0;
-
-  		/* the number of characters up to the start of the matched text */
-  		yychar = 0;
-
-  		/**
-  		 * the number of characters from the last newline up to the start
-  		 * of the matched text
-  		 */
-  		yycolumn = 0; 
-
-  		/** 
-  		 * yy_atBOL == true <=> the scanner is currently at the beginning 
-  		 * of a line
-  		 */
-  		yy_atBOL = false;
-
-  		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-  		yy_atEOF = false;
-
-  		/* denotes if the user-EOF-code has already been executed */
-  		yy_eof_done = false;
-
-
-  		fStateStack.clear();
-  		
-  		hasMore = true;
-  		
-  		// its a little wasteful to "throw away" first char array generated
-  		// by class init (via auto generated code), but we really do want 
-  		// a small buffer for our head parsers. 
-  		if (yy_buffer.length != MAX_TO_SCAN) {
-  			yy_buffer = new char[MAX_TO_SCAN];
-  		}
-
-
-  	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-	
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}	
-
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public XMLHeadTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public XMLHeadTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 128) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      System.out.println(YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-
-    System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  private void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    	hasMore=false;
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-
-    while (true) {
-
-      yychar+= yylength();
-
-      yy_atBOL = yy_markedPos <= 0 || yy_buffer[yy_markedPos-1] == '\n';
-      if (!yy_atBOL && yy_buffer[yy_markedPos-1] == '\r') {
-        yy_atBOL = yy_advance() != '\n';
-        if (!yy_atEOF) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      if (yy_atBOL)
-        yy_state = YY_LEXSTATE[yy_lexical_state+1];
-      else
-        yy_state = YY_LEXSTATE[yy_lexical_state];
-
-
-      yy_forAction: {
-        while (true) {
-
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          yy_input = yycmap[yy_input];
-
-          boolean yy_isFinal = false;
-          boolean yy_noLookAhead = false;
-
-          yy_forNext: { switch (yy_state) {
-            case 0:
-              switch (yy_input) {
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 7; break yy_forNext;
-              }
-
-            case 1:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_state = 8; break yy_forNext;
-                case 2: yy_isFinal = true; yy_state = 9; break yy_forNext;
-                case 3: yy_isFinal = true; yy_state = 10; break yy_forNext;
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 11; break yy_forNext;
-                case 10: yy_isFinal = true; yy_state = 12; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 7; break yy_forNext;
-              }
-
-            case 2:
-              switch (yy_input) {
-                case 11: yy_isFinal = true; yy_state = 13; break yy_forNext;
-                case 15: yy_isFinal = true; yy_state = 14; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 7; break yy_forNext;
-              }
-
-            case 3:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 16; break yy_forNext;
-                case 7: yy_isFinal = true; yy_state = 17; break yy_forNext;
-                case 23: yy_isFinal = true; yy_noLookAhead = true; yy_state = 18; break yy_forNext;
-                case 24: yy_isFinal = true; yy_noLookAhead = true; yy_state = 19; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 15; break yy_forNext;
-              }
-
-            case 4:
-              switch (yy_input) {
-                case 7: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 21; break yy_forNext;
-                case 11: yy_isFinal = true; yy_state = 22; break yy_forNext;
-                case 23: yy_isFinal = true; yy_noLookAhead = true; yy_state = 23; break yy_forNext;
-                case 24: yy_isFinal = true; yy_state = 24; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 20; break yy_forNext;
-              }
-
-            case 5:
-              switch (yy_input) {
-                case 7: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 21; break yy_forNext;
-                case 24: yy_isFinal = true; yy_state = 25; break yy_forNext;
-                case 25: yy_isFinal = true; yy_state = 26; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 20; break yy_forNext;
-              }
-
-            case 6:
-              switch (yy_input) {
-                case 11: yy_isFinal = true; yy_state = 26; break yy_forNext;
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_noLookAhead = true; yy_state = 27; break yy_forNext;
-                case 23: yy_isFinal = true; yy_noLookAhead = true; yy_state = 28; break yy_forNext;
-                case 24: yy_isFinal = true; yy_state = 29; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 20; break yy_forNext;
-              }
-
-            case 8:
-              switch (yy_input) {
-                case 2: yy_isFinal = true; yy_noLookAhead = true; yy_state = 30; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 9:
-              switch (yy_input) {
-                case 1: yy_isFinal = true; yy_noLookAhead = true; yy_state = 31; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 10:
-              switch (yy_input) {
-                case 4: yy_state = 32; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 11:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 33; break yy_forNext;
-                case 10: yy_state = 34; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 12:
-              switch (yy_input) {
-                case 11: yy_state = 35; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 13:
-              switch (yy_input) {
-                case 22: yy_isFinal = true; yy_noLookAhead = true; yy_state = 36; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 14:
-              switch (yy_input) {
-                case 16: yy_state = 37; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 16:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 16; break yy_forNext;
-                case 7: yy_state = 38; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 15; break yy_forNext;
-              }
-
-            case 17:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 16; break yy_forNext;
-                case 7: yy_state = 38; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 15; break yy_forNext;
-              }
-
-            case 22:
-              switch (yy_input) {
-                case 22: yy_isFinal = true; yy_noLookAhead = true; yy_state = 39; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 24:
-              switch (yy_input) {
-                case 10: yy_state = 40; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 25:
-              switch (yy_input) {
-                case 10: yy_state = 40; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 26:
-              switch (yy_input) {
-                case 22: yy_isFinal = true; yy_noLookAhead = true; yy_state = 41; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 29:
-              switch (yy_input) {
-                case 10: yy_state = 40; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 32:
-              switch (yy_input) {
-                case 5: yy_isFinal = true; yy_noLookAhead = true; yy_state = 42; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 33:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 33; break yy_forNext;
-                case 10: yy_state = 34; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 34:
-              switch (yy_input) {
-                case 11: yy_state = 35; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 35:
-              switch (yy_input) {
-                case 12: yy_state = 43; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 37:
-              switch (yy_input) {
-                case 17: yy_state = 44; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 38:
-              switch (yy_input) {
-                case 6: 
-                case 9: yy_isFinal = true; yy_state = 16; break yy_forNext;
-                case 7: yy_state = 38; break yy_forNext;
-                default: yy_isFinal = true; yy_noLookAhead = true; yy_state = 15; break yy_forNext;
-              }
-
-            case 40:
-              switch (yy_input) {
-                case 24: yy_isFinal = true; yy_noLookAhead = true; yy_state = 21; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 43:
-              switch (yy_input) {
-                case 13: yy_state = 45; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 44:
-              switch (yy_input) {
-                case 18: yy_state = 46; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 45:
-              switch (yy_input) {
-                case 14: yy_state = 47; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 46:
-              switch (yy_input) {
-                case 19: yy_state = 48; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 47:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 49; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 48:
-              switch (yy_input) {
-                case 20: yy_state = 50; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 49:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 49; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 50:
-              switch (yy_input) {
-                case 16: yy_state = 51; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 51:
-              switch (yy_input) {
-                case 21: yy_state = 52; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 52:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_state = 52; break yy_forNext;
-                case 8: yy_isFinal = true; yy_state = 53; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            case 53:
-              switch (yy_input) {
-                case 6: 
-                case 7: 
-                case 9: yy_isFinal = true; yy_state = 53; break yy_forNext;
-                default: break yy_forAction;
-              }
-
-            default:
-              yy_ScanError(YY_ILLEGAL_STATE);
-              break;
-          } }
-
-          if ( yy_isFinal ) {
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( yy_noLookAhead ) break yy_forAction;
-          }
-
-        }
-      }
-
-
-      switch (yy_action) {    
-
-        case 25: 
-          {  popState(); valueText = string.toString(); return EncodingParserConstants.StringValue; }
-        case 55: break;
-        case 21: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 56: break;
-        case 15: 
-        case 16: 
-          {  yypushback(1); yybegin(UnDelimitedString); string.setLength(0); }
-        case 57: break;
-        case 28: 
-        case 29: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue; }
-        case 58: break;
-        case 39: 
-          {  yypushback(2); popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 59: break;
-        case 41: 
-          {  yypushback(2);popState(); valueText = string.toString(); return EncodingParserConstants.InvalidTerminatedStringValue; }
-        case 60: break;
-        case 7: 
-        case 8: 
-        case 9: 
-        case 10: 
-        case 11: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 17: 
-          { if (yychar > MAX_TO_SCAN) {hasMore=false; return EncodingParserConstants.MAX_CHARS_REACHED;} }
-        case 61: break;
-        case 30: 
-          { if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF16BE;} }
-        case 62: break;
-        case 31: 
-          { if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF16LE;} }
-        case 63: break;
-        case 42: 
-          { if (yychar == 0 ) {hasMore = false; return EncodingParserConstants.UTF83ByteBOM;} }
-        case 64: break;
-        case 49: 
-          { if (yychar == 0 ) {yybegin(ST_XMLDecl); return XMLHeadTokenizerConstants.XMLDeclStart;} }
-        case 65: break;
-        case 36: 
-          { yybegin(YYINITIAL); hasMore = false; return XMLHeadTokenizerConstants.XMLDeclEnd; }
-        case 66: break;
-        case 53: 
-          { pushCurrentState(); yybegin(QuotedAttributeValue); return XMLHeadTokenizerConstants.XMLDelEncoding; }
-        case 67: break;
-        case 23: 
-          {  popState(); valueText = string.toString(); return EncodingParserConstants.StringValue;  }
-        case 68: break;
-        case 20: 
-        case 22: 
-        case 24: 
-        case 26: 
-          {  string.append( yytext() );  }
-        case 69: break;
-        case 19: 
-          {  yybegin(SQ_STRING); string.setLength(0);  }
-        case 70: break;
-        case 18: 
-          {  yybegin(DQ_STRING); string.setLength(0);  }
-        case 71: break;
-        case 27: 
-          {  yypushback(1);popState(); valueText = string.toString(); return EncodingParserConstants.UnDelimitedStringValue;  }
-        case 72: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              { hasMore = false; return EncodingParserConstants.EOF; }
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-  /**
-   * Runs the scanner on input files.
-   *
-   * This main method is the debugging routine for the scanner.
-   * It prints each returned token to System.out until the end of
-   * file is reached, or an error occured.
-   *
-   * @param argv   the command line, contains the filenames to run
-   *               the scanner on.
-   */
-  public static void main(String argv[]) {
-    for (int i = 0; i < argv.length; i++) {
-      XMLHeadTokenizer scanner = null;
-      try {
-        scanner = new XMLHeadTokenizer( new java.io.FileReader(argv[i]) );
-      }
-      catch (java.io.FileNotFoundException e) {
-        System.out.println("File not found : \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (java.io.IOException e) {
-        System.out.println("Error opening file \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (ArrayIndexOutOfBoundsException e) {
-        System.out.println("Usage : java XMLHeadTokenizer <inputfile>");
-        System.exit(1);
-      }
-
-      try {
-        do {
-          System.out.println(scanner.primGetNextToken());
-        } while (!scanner.yy_atEOF);
-
-      }
-      catch (java.io.IOException e) {
-        System.out.println("An I/O error occured while scanning :");
-        System.out.println(e);
-        System.exit(1);
-      }
-      catch (Exception e) {
-        e.printStackTrace();
-        System.exit(1);
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizerGenJava.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizerGenJava.cmd
deleted file mode 100644
index 7ec1c7b..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizerGenJava.cmd
+++ /dev/null
@@ -1,28 +0,0 @@
-@echo on

-

-rem The following variables need to be set/specified for each "development machine"

-set PATH=%PATH%;D:\JDKs\j2sdk1.4.2_03\bin

-set WORKSPACE_LOCATION=D:\builds\Workspaces\WSWBM8

-set JFLEX_LIB_LOCATION=D:\DevTimeSupport\JFlex\lib

-

-rem The following variables differ from project to project, but should be otherwise constant

-set MAIN_NAME=XMLHeadTokenizer

-

-rem set PROJECT_SRC=\org.eclipse.wst.sse.core.xml\src\

-rem set PACKAGE_DIR=com\ibm\sse\model\xml\encoding\

-

-set PROJECT_SRC=\org.eclipse.wst.common.encoding.contentspecific\src\

-set PACKAGE_DIR=com\ibm\encoding\resource\contentspecific\xml\

-

-

-rem Given the above "framework" and the command themselves, these variables should never need to be modified

-set JAVA_FILE=%MAIN_NAME%.java

-set JFLEX_RULES=%MAIN_NAME%.jflex

-set SKELETON_FILE=%MAIN_NAME%.skeleton

-

-IF EXIST %JAVA_FILE% del %JAVA_FILE%

-rem java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;. JFlex.Main %JFLEX_RULES% -skel %SKELETON_FILE% 1>jflexout.txt 2>jflexerr.txt

-java -Xmx470000000 -cp %JFLEX_LIB_LOCATION%\sed-jflex.jar;. JFlex.Main %JFLEX_RULES%  1>jflexout.txt 2>jflexerr.txt

-IF EXIST %JAVA_FILE% copy %JAVA_FILE% %WORKSPACE_LOCATION%%PROJECT_SRC%%PACKAGE_DIR%%JAVA_FILE%

-

-pause

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/jflexerr.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/jflexerr.txt
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/jflexerr.txt
+++ /dev/null
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/jflexout.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/jflexout.txt
deleted file mode 100644
index 316c32e..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/jflexout.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Reading "XMLHeadTokenizer.jflex"
-
-Warning : Macro "SpaceChar" has been declared but never used.
-Constructing NFA : 358 states in NFA
-Converting NFA to DFA : 
-...................................................................
-79 states before minimization, 54 states in minimized DFA
-Writing code to "XMLHeadTokenizer.java"
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/oldXMLHeadTokenizer.skeleton b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/oldXMLHeadTokenizer.skeleton
deleted file mode 100644
index 9809602..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/HeadParsers/XMLHeadTokenizer/oldXMLHeadTokenizer.skeleton
+++ /dev/null
@@ -1,263 +0,0 @@
-

-  /** this character denotes the end of file */

-  final public static int YYEOF = -1;

-

-  /** lexical states */

----  lexical states, charmap

-

-  /* error codes */

-  final private static int YY_UNKNOWN_ERROR = 0;

-  final private static int YY_ILLEGAL_STATE = 1;

-  final private static int YY_NO_MATCH = 2;

-  final private static int YY_PUSHBACK_2BIG = 3;

-

-  /* error messages for the codes above */

-  final private static String YY_ERROR_MSG[] = {

-    "Unkown internal scanner error",		//$NON-NLS-1$

-    "Internal error: unknown state",		//$NON-NLS-1$

-    "Error: could not match input",		//$NON-NLS-1$

-    "Error: pushback value was too large"	//$NON-NLS-1$

-  };

-

---- isFinal list

-  /** the input device */

-  private java.io.Reader yy_reader;

-

-  /** the current state of the DFA */

-  private int yy_state;

-

-  /** the current lexical state */

-  private int yy_lexical_state = YYINITIAL;

-

-  /** this buffer contains the current text to be matched and is

-      the source of the yytext() string */

-  private char yy_buffer[] = new char[16384];

-

-  /** the textposition at the last accepting state */

-  private int yy_markedPos;

-

-  /** the textposition at the last state to be included in yytext */

-  private int yy_pushbackPos;

-

-  /** the current text position in the buffer */

-  private int yy_currentPos;

-

-  /** startRead marks the beginning of the yytext() string in the buffer */

-  private int yy_startRead;

-

-  /** endRead marks the last character in the buffer, that has been read

-      from input */

-  private int yy_endRead;

-

-  /** number of newlines encountered up to the start of the matched text */

-  private int yyline;

-

-  /** the number of characters up to the start of the matched text */

-  private int yychar;

-

-  

-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */

-  private boolean yy_atEOF;

-

-	// state stack for handling embedded regions

-	private IntStack fStateStack = new IntStack();

-

-

---- user class code

-

-  /**

-   * Creates a new scanner

-   * There is also a java.io.InputStream version of this constructor.

-   *

-   * @param   in  the java.io.Reader to read input from.

-   */

---- constructor declaration

-

-

-  /**

-   * Gets the next input character.

-   *

-   * @return      the next character of the input stream, EOF if the

-   *              end of the stream is reached.

-   * @exception   IOException  if any I/O-Error occurs

-   */

-  private int yy_advance() throws java.io.IOException {

-

-    /* standard case */

-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];

-

-    /* if the eof is reached, we don't need to work hard */ 

-    if (yy_atEOF) return YYEOF;

-

-    /* otherwise: need to refill the buffer */

-

-    /* first: make room (if you can) */

-    if (yy_startRead > 0) {

-      System.arraycopy(yy_buffer, yy_startRead, 

-                       yy_buffer, 0, 

-                       yy_endRead-yy_startRead);

-

-      /* translate stored positions */

-      yy_endRead-= yy_startRead;

-      yy_currentPos-= yy_startRead;

-      yy_markedPos-= yy_startRead;

-      yy_pushbackPos-= yy_startRead;

-      yy_startRead = 0;

-    }

-

-    /* is the buffer big enough? */

-    if (yy_currentPos >= yy_buffer.length) {

-      /* if not: blow it up */

-      char newBuffer[] = new char[yy_currentPos*2];

-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);

-      yy_buffer = newBuffer;

-    }

-

-    /* finally: fill the buffer with new input */

-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 

-                                            yy_buffer.length-yy_endRead);

-

-    if ( numRead == -1 ) return YYEOF;

-

-    yy_endRead+= numRead;

-

-    return yy_buffer[yy_currentPos++];

-  }

-

-    

-  /**

-   * Closes the input stream.

-   */

-  final public void yyclose() throws java.io.IOException {

-    yy_atEOF = true;            /* indicate end of file */

-    yy_endRead = yy_startRead;  /* invalidate buffer    */

-    yy_reader.close();

-  }

-

-

-  /**

-   * Returns the current lexical state.

-   */

-  final public int yystate() {

-    return yy_lexical_state;

-  }

-

-  /**

-   * Enters a new lexical state

-   *

-   * @param newState the new lexical state

-   */

-  final public void yybegin(int newState) {

-    yy_lexical_state = newState;

-  }

-

-

-  /**

-   * Returns the text matched by the current regular expression.

-   */

-  final public String yytext() {

-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );

-  }

-

-  /**

-   * Returns the length of the matched text region.

-   */

-  final public int yylength() {

-    return yy_markedPos-yy_startRead;

-  }

-

-

-  /**

-   * Reports an error that occured while scanning - from the SED JFlex skeleton

-   *

-   * @param   errorCode  the code of the errormessage to display

-   */

-  private void yy_ScanError(int errorCode) {

-    try {

-      //Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);

-	System.out.println("ScanError: " + errorCode + ": " + YY_ERROR_MSG[errorCode]);

-    }

-    catch (ArrayIndexOutOfBoundsException e) {

-      //Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);

-	System.out.println("ScanError: " + errorCode + ": " + YY_ERROR_MSG[YY_UNKNOWN_ERROR]);

-   }

-    // DO NOT EXIT the VM on an error

-    // System.exit(1);

-  } 

-

-

-  /**

-   * Pushes the specified amount of characters back into the input stream.

-   *

-   * They will be read again by then next call of the scanning method

-   *

-   * @param number  the number of characters to be read again.

-   *                This number must not be greater than yylength()!

-   */

-  private void yypushback(int number) {

-    if ( number > yylength() )

-      yy_ScanError(YY_PUSHBACK_2BIG);

-

-    yy_markedPos -= number;

-  }

-

-

---- yy_doEof

-  /**

-   * Resumes scanning until the next regular expression is matched,

-   * the end of input is encountered or an I/O-Error occurs.

-   *

-   * @return      the next token

-   * @exception   IOException  if any I/O-Error occurs

-   */

---- yylex declaration

-    int yy_input;

-    int yy_action;

-

---- local declarations

-

-    while (true) {

-

---- start admin (line, char, col count)

-      yy_action = -1;

-

-      yy_currentPos = yy_startRead = yy_markedPos;

-

---- start admin (lexstate etc)

-

-      yy_forAction: {

-        while (true) {

-    

-          yy_input = yy_advance();

-

-          if ( yy_input == YYEOF ) break yy_forAction;

-

---- line, col, char count, next transition, isFinal action

-            yy_action = yy_state; 

-            yy_markedPos = yy_currentPos; 

---- line count update

-          }

-

-        }

-      }

-

---- char count update

-

-      switch (yy_action) {    

-

---- actions

-        default: 

-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {

-            yy_atEOF = true;

---- eofvalue

-          } 

-          else {

---- no match

-          }

-      }

-    }

-  }    

-

---- main

-

-}

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/build.txt b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/build.txt
deleted file mode 100644
index 789cf67..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/build.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Do not check in classes generated by sablecc.  The classes already checked in are enhanced by hand in several ways and rebuilding from the grammar will cause the those hand made changes to be lost.   If you need to rebuild from the grammar, you'll need to *merge* the generated classes with the classes we already have checked in.  I suggest you build first without any grammar changes so that you can see what was generated before we made our changes.  This will allow you to do a three way merge.
-
-I've included the sablecc build that I used here.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/ecmalexeronly.sablegrammar b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/ecmalexeronly.sablegrammar
deleted file mode 100644
index bf0b685..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/ecmalexeronly.sablegrammar
+++ /dev/null
@@ -1,676 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

- * This file is part of Scriptonite.                               *

- * See the file "Scriptonite-LICENSE" for Copyright information    *

- * and the terms and conditions for copying, distribution and      *

- * modification of Scriptonite.                                    *

- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

-

-/**

- * Throughout this file reference is made to [ECMA-262]. This is the Standard

- * ECMA-262, ECMAScript Language Specification, 3rd Edition dated December 99.

- * A Portable Document Format (PDF) version is included in the Scriptonite

- * distribution (in scriptonite/docs/).

- *

- * [ECMA-262] refers to the UNICODE character chart. This implementation uses

- * the UNICODE 3.0 Character Chart, available from www.unicode.org at

- * <ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData-Latest.txt>.

- */

-Package com.ibm.sed.jsparser;

-

-Helpers

-   /**

-    * 6. Source Text. [ECMA-262] p. 10.

-    */

-   source_character = [0x0000..0xFFFF];

-

-   /**

-    * 7.2. White Space. [ECMA-262] pp. 11-12.

-    */

-   tab =  0x0009;

-   vt =   0x000B;

-   ff =   0x000C;

-   sp =   0x0020;

-   nbsp = 0x00A0;

-   usp =  0x1680  // OGHAM SPACE MARK

-      |   0x2000  // EN QUAD

-      |   0x2001  // EM QUAD

-      |   0x2002  // EN SPACE

-      |   0x2003  // EM SPACE

-      |   0x2004  // THREE-PER-EM SPACE

-      |   0x2005  // FOUR-PER-EM SPACE

-      |   0x2006  // SIX-PER-EM SPACE

-      |   0x2007  // FIGURE SPACE

-      |   0x2008  // PUNCTUATION SPACE

-      |   0x2009  // THIN SPACE

-      |   0x200A  // HAIR SPACE

-      |   0x200B  // ZERO WIDTH SPACE

-      |   0x202F  // NARROW NO-BREAK SPACE

-      |   0x3000  // IDEOGRAPHIC SPACE

-      ;

-

-   simple_white_space = tab | vt | ff | sp | nbsp | usp;

-

-   /**

-    *  7.3. Line Terminators. [ECMA-262] p. 12.

-    */

-   lf = 0x000A; // Line Feed

-   cr = 0x000D; // Carriage Return

-   ls = 0x2028; // Line separator

-   ps = 0x2029; // Paragraph separator

-   

-   line_terminator = [lf + [cr + [ls + ps]]];

-

-   non_terminator = [source_character - line_terminator];

-

-   /**

-    * 7.2. Comments. [ECMA-262] pp. 12-13.

-    */

-/**

-redone below by jlc

-   multi_line_comment =

-        '/*' '*'* ([source_character - ['/' + '*']] [source_character - '*']* '*'*)* '*' '/';

-

-   multi_line_comment_no_lt =

-        '/*' '*'* ([non_terminator - ['/' + '*']] [non_terminator - '*']* '*'*)* '*' '/';

-*/        

-   multi_line_comment =

-        '/*' '*'* ([source_character - ['/' + '*']] [source_character - '*']* '*'*)* '*' '/'

-       | '/**' '/'

-       ; 

-

-   multi_line_comment_no_lt =

-        '/*' '*'* ([non_terminator - ['/' + '*']] [non_terminator - '*']* '*'*)* '*/'

-       | '/**' '/'

-       ; 

-

-   multi_line_comment_unterminated =

-        '/*' '*'* ([source_character - ['/' + '*']] [source_character - '*']* '*'*)* 

-        ;

-

-   single_line_comment = '//' non_terminator*;

-

-   comment =

-        multi_line_comment_no_lt

-      | multi_line_comment

-      | single_line_comment

-      ;

-

-   /**

-    * UnicodeLetter. [ECMA-262] p. 15.

-    * any character in the Unicode categories "Uppercase letter (Lu)",

-    * "Lowercase letter (Ll)", "Titlecase letter (Lt)", "Modifier letter

-    * (Lm)", "Other letter (Lo)", or "Letter number (Nl)".

-    */

-   unicode_letter =

-        [0x0041..0x005A] | [0x0061..0x007A] |  0x00AA          |  0x00B5

-      |  0x00BA          | [0x00C0..0x00D6] | [0x00D8..0x00F6] | [0x00F8..0x021F]

-      | [0x0222..0x0233] | [0x0250..0x02AD] | [0x02B0..0x02B8] | [0x02BB..0x02C1]

-      | [0x02D0..0x02D1] | [0x02E0..0x02E4] |  0x02EE          |  0x037A

-      |  0x0386          | [0x0388..0x038A] |  0x038C          | [0x038E..0x03A1]

-      | [0x03A3..0x03CE] | [0x03D0..0x03D7] | [0x03DA..0x03F3] | [0x0400..0x0481]

-      | [0x048C..0x04C4] | [0x04C7..0x04C8] | [0x04CB..0x04CC] | [0x04D0..0x04F5]

-      | [0x04F8..0x04F9] | [0x0531..0x0556] |  0x0559          | [0x0561..0x0587]

-      | [0x05D0..0x05EA] | [0x05F0..0x05F2] | [0x0621..0x063A] | [0x0640..0x064A]

-      | [0x0671..0x06D3] |  0x06D5          | [0x06E5..0x06E6] | [0x06FA..0x06FC]

-      |  0x0710          | [0x0712..0x072C] | [0x0780..0x07A5] | [0x0905..0x0939]

-      |  0x093D          |  0x0950          | [0x0958..0x0961] | [0x0985..0x098C]

-      | [0x098F..0x0990] | [0x0993..0x09A8] | [0x09AA..0x09B0] |  0x09B2

-      | [0x09B6..0x09B9] | [0x09DC..0x09DD] | [0x09DF..0x09E1] | [0x09F0..0x09F1]

-      | [0x0A05..0x0A0A] | [0x0A0F..0x0A10] | [0x0A13..0x0A28] | [0x0A2A..0x0A30]

-      | [0x0A32..0x0A33] | [0x0A35..0x0A36] | [0x0A38..0x0A39] | [0x0A59..0x0A5C]

-      |  0x0A5E          | [0x0A72..0x0A74] | [0x0A85..0x0A8B] |  0x0A8D

-      | [0x0A8F..0x0A91] | [0x0A93..0x0AA8] | [0x0AAA..0x0AB0] | [0x0AB2..0x0AB3]

-      | [0x0AB5..0x0AB9] |  0x0ABD          |  0x0AD0          |  0x0AE0

-      | [0x0B05..0x0B0C] | [0x0B0F..0x0B10] | [0x0B13..0x0B28] | [0x0B2A..0x0B30]

-      | [0x0B32..0x0B33] | [0x0B36..0x0B39] |  0x0B3D          | [0x0B5C..0x0B5D]

-      | [0x0B5F..0x0B61] | [0x0B85..0x0B8A] | [0x0B8E..0x0B90] | [0x0B92..0x0B95]

-      | [0x0B99..0x0B9A] |  0x0B9C          | [0x0B9E..0x0B9F] | [0x0BA3..0x0BA4]

-      | [0x0BA8..0x0BAA] | [0x0BAE..0x0BB5] | [0x0BB7..0x0BB9] | [0x0C05..0x0C0C]

-      | [0x0C0E..0x0C10] | [0x0C12..0x0C28] | [0x0C2A..0x0C33] | [0x0C35..0x0C39]

-      | [0x0C60..0x0C61] | [0x0C85..0x0C8C] | [0x0C8E..0x0C90] | [0x0C92..0x0CA8]

-      | [0x0CAA..0x0CB3] | [0x0CB5..0x0CB9] |  0x0CDE          | [0x0CE0..0x0CE1]

-      | [0x0D05..0x0D0C] | [0x0D0E..0x0D10] | [0x0D12..0x0D28] | [0x0D2A..0x0D39]

-      | [0x0D60..0x0D61] | [0x0D85..0x0D96] | [0x0D9A..0x0DB1] | [0x0DB3..0x0DBB]

-      |  0x0DBD          | [0x0DC0..0x0DC6] | [0x0E01..0x0E30] | [0x0E32..0x0E33]

-      | [0x0E40..0x0E46] | [0x0E81..0x0E82] |  0x0E84          | [0x0E87..0x0E88]

-      |  0x0E8A          |  0x0E8D          | [0x0E94..0x0E97] | [0x0E99..0x0E9F]

-      | [0x0EA1..0x0EA3] |  0x0EA5          |  0x0EA7          | [0x0EAA..0x0EAB]

-      | [0x0EAD..0x0EB0] | [0x0EB2..0x0EB3] | [0x0EBD..0x0EC4] |  0x0EC6

-      | [0x0EDC..0x0EDD] |  0x0F00          | [0x0F40..0x0F6A] | [0x0F88..0x0F8B]

-      | [0x1000..0x1021] | [0x1023..0x1027] | [0x1029..0x102A] | [0x1050..0x1055]

-      | [0x10A0..0x10C5] | [0x10D0..0x10F6] | [0x1100..0x1159] | [0x115F..0x11A2]

-      | [0x11A8..0x11F9] | [0x1200..0x1206] | [0x1208..0x1246] |  0x1248

-      | [0x124A..0x124D] | [0x1250..0x1256] |  0x1258          | [0x125A..0x125D]

-      | [0x1260..0x1286] |  0x1288          | [0x128A..0x128D] | [0x1290..0x12AE]

-      |  0x12B0          | [0x12B2..0x12B5] | [0x12B8..0x12BE] |  0x12C0

-      | [0x12C2..0x12C5] | [0x12C8..0x12CE] | [0x12D0..0x12D6] | [0x12D8..0x12EE]

-      | [0x12F0..0x130E] |  0x1310          | [0x1312..0x1315] | [0x1318..0x131E]

-      | [0x1320..0x1346] | [0x1348..0x135A] | [0x13A0..0x13B0] | [0x13B1..0x13F4]

-      | [0x1401..0x1676] | [0x1681..0x169A] | [0x16A0..0x16EA] | [0x1780..0x17B3]

-      | [0x1820..0x1877] | [0x1880..0x18A8] | [0x1E00..0x1E9B] | [0x1EA0..0x1EE0]

-      | [0x1EE1..0x1EF9] | [0x1F00..0x1F15] | [0x1F18..0x1F1D] | [0x1F20..0x1F39]

-      | [0x1F3A..0x1F45] | [0x1F48..0x1F4D] | [0x1F50..0x1F57] |  0x1F59

-      |  0x1F5B          |  0x1F5D          | [0x1F5F..0x1F7D] | [0x1F80..0x1FB4]

-      | [0x1FB6..0x1FBC] |  0x1FBE          | [0x1FC2..0x1FC4] | [0x1FC6..0x1FCC]

-      | [0x1FD0..0x1FD3] | [0x1FD6..0x1FDB] | [0x1FE0..0x1FEC] | [0x1FF2..0x1FF4]

-      | [0x1FF6..0x1FFC] |  0x207F          |  0x2102          |  0x2107

-      | [0x210A..0x2113] |  0x2115          | [0x2119..0x211D] |  0x2124

-      |  0x2126          |  0x2128          | [0x212A..0x212D] | [0x212F..0x2131]

-      | [0x2133..0x2139] | [0x2160..0x2183] | [0x3005..0x3007] | [0x3021..0x3029]

-      | [0x3031..0x3035] | [0x3038..0x303A] | [0x3041..0x3094] | [0x309D..0x309E]

-      | [0x30A1..0x30FA] | [0x30FC..0x30FE] | [0x3105..0x312C] | [0x3131..0x318E]

-      | [0x31A0..0x31B7] |  0x3400          |  0x4DB5          |  0x4E00

-      |  0x9FA5          | [0xA000..0xA48C] |  0xAC00          |  0xD7A3

-      | [0xF900..0xFA2D] | [0xFB00..0xFB06] | [0xFB13..0xFB17] |  0xFB1D

-      | [0xFB1F..0xFB28] | [0xFB2A..0xFB36] | [0xFB38..0xFB3C] |  0xFB3E

-      | [0xFB40..0xFB41] | [0xFB43..0xFB44] | [0xFB46..0xFBB1] | [0xFBD3..0xFD3D]

-      | [0xFD50..0xFD8F] | [0xFD92..0xFDC7] | [0xFDF0..0xFDFB] | [0xFE70..0xFE72]

-      |  0xFE74          | [0xFE76..0xFEFC] | [0xFF21..0xFF3A] | [0xFF41..0xFF5A]

-      | [0xFF66..0xFFBE] | [0xFFC2..0xFFC7] | [0xFFCA..0xFFCF] | [0xFFD2..0xFFD7]

-      | [0xFFDA..0xFFDC]

-      ;

-

-   /**

-    * UnicodeCombiningMark. [ECMA-262] p. 15.

-    * any character in the Unicode categories "Non-spacing mark (Mn)" or

-    * "Combining spacing mark (Mc)".

-    */

-   unicode_combining_mark =

-        [0x0300..0x034E] | [0x0360..0x0362] | [0x0483..0x0486] | [0x0591..0x05A1]

-      | [0x05A3..0x05B9] | [0x05BB..0x05BD] |  0x05BF          | [0x05C1..0x05C2]

-      |  0x05C4          | [0x064B..0x0655] |  0x0670          | [0x06D6..0x06DC]

-      | [0x06DF..0x06E4] | [0x06E7..0x06E8] | [0x06EA..0x06ED] |  0x0711

-      | [0x0730..0x074A] | [0x07A6..0x07B0] | [0x0901..0x0903] |  0x093C

-      | [0x093E..0x094D] | [0x0951..0x0954] | [0x0962..0x0963] | [0x0981..0x0983]

-      | [0x09BC..0x09C4] | [0x09C7..0x09C8] | [0x09CB..0x09CD] |  0x09D7

-      | [0x09E2..0x09E3] |  0x0A02          |  0x0A3C          | [0x0A3E..0x0A42]

-      | [0x0A47..0x0A48] | [0x0A4B..0x0A4D] | [0x0A70..0x0A71] | [0x0A81..0x0A83]

-      |  0x0ABC          | [0x0ABE..0x0AC5] | [0x0AC7..0x0AC9] | [0x0ACB..0x0ACD]

-      | [0x0B01..0x0B03] |  0x0B3C          | [0x0B3E..0x0B43] | [0x0B47..0x0B48]

-      | [0x0B4B..0x0B4D] | [0x0B56..0x0B57] | [0x0B82..0x0B83] | [0x0BBE..0x0BC2]

-      | [0x0BC6..0x0BC8] | [0x0BCA..0x0BCD] |  0x0BD7          | [0x0C01..0x0C03]

-      | [0x0C3E..0x0C44] | [0x0C46..0x0C48] | [0x0C4A..0x0C4D] | [0x0C55..0x0C56]

-      | [0x0C82..0x0C83] | [0x0CBE..0x0CC4] | [0x0CC6..0x0CC8] | [0x0CCA..0x0CCD]

-      | [0x0CD5..0x0CD6] | [0x0D02..0x0D03] | [0x0D3E..0x0D43] | [0x0D46..0x0D48]

-      | [0x0D4A..0x0D4D] |  0x0D57          | [0x0D82..0x0D83] |  0x0DCA

-      | [0x0DCF..0x0DD4] |  0x0DD6          | [0x0DD8..0x0DDF] | [0x0DF2..0x0DF3]

-      |  0x0E31          | [0x0E34..0x0E3A] | [0x0E47..0x0E4E] |  0x0EB1

-      | [0x0EB4..0x0EB9] | [0x0EBB..0x0EBC] | [0x0EC8..0x0ECD] | [0x0F18..0x0F19]

-      |  0x0F35          |  0x0F37          |  0x0F39          | [0x0F3E..0x0F3F]

-      | [0x0F71..0x0F84] | [0x0F86..0x0F87] | [0x0F90..0x0F97] | [0x0F99..0x0FBC]

-      |  0x0FC6          | [0x102C..0x1032] | [0x1036..0x1039] | [0x1056..0x1059]

-      | [0x17B4..0x17D3] |  0x18A9          | [0x20D0..0x20DC] |  0x20E1

-      | [0x302A..0x302F] | [0x3099..0x309A] |  0xFB1E          | [0xFE20..0xFE23]

-      ;

-

-   /**

-    * UnicodeDigit. [ECMA-262] p. 15.

-    * any character in the Unicode category "Decimal number (Nd)".

-    */

-   unicode_digit =

-        [0x0030..0x0039] | [0x0660..0x0669] | [0x06F0..0x06F9] | [0x0966..0x096F]

-      | [0x09E6..0x09EF] | [0x0A66..0x0A6F] | [0x0AE6..0x0AEF] | [0x0B66..0x0B6F]

-      | [0x0BE7..0x0BEF] | [0x0C66..0x0C6F] | [0x0CE6..0x0CEF] | [0x0D66..0x0D6F]

-      | [0x0E50..0x0E59] | [0x0ED0..0x0ED9] | [0x0F20..0x0F29] | [0x1040..0x1049]

-      | [0x1369..0x1371] | [0x17E0..0x17E9] | [0x1810..0x1819] | [0xFF10..0xFF19]

-      ;

-

-   /**

-    * UnicodeConnectorPunctuation. [ECMA-262] p. 15.

-    * any character in the Unicode category "Connector punctuation (Pc)"

-    */

-   unicode_connector_punctuation =

-         0x005F          | [0x203F..0x2040] |  0x30FB          | [0xFE33..0xFE34]

-      | [0xFE4D..0xFE4F] |  0xFF3F          |  0xFF65

-      ;

-

-   /**

-    * UnicodeEscapeSequence. [ECMA-262] p. 19.

-    */

-   hex_digit = [['0'..'9'] + [['a'..'f'] + ['A'..'F']]];

-

-   unicode_escape_sequence = 'u' hex_digit hex_digit hex_digit hex_digit;

-

-   /**

-    * 7.6. Identifier. [ECMA-262] pp. 14-15.

-    */

-   identifier_start =

-        unicode_letter

-      | '$'

-      | '_'

-      | '\' unicode_escape_sequence

-      ;

-

-   identifier_part =

-        identifier_start

-      | unicode_combining_mark

-      | unicode_digit

-      | unicode_connector_punctuation

-      | '\' unicode_escape_sequence

-      ;

-

-   /**

-    * 7.8.3. Numeric Literals. [ECMA-262] pp. 16-17.

-    */

-   decimal_digit = ['0'..'9'];

-

-   non_zero_digit = ['1'..'9'];

-

-   exponent_part = ('e' | 'E') ('+' | '-')? ['0'..'9']+;

-

-   decimal_integer_literal = '0' | ['1'..'9'] ['0'..'9']*;

-    

-   /**

-    * String Literals. [ECMA-262] pp. 18-19.

-    */

-   single_escape_character =

-        [''' + ['"' + ['\' + ['b' + ['f' + ['n' + ['r' + ['t' + 'v']]]]]]]];

-

-   escape_character =

-        [single_escape_character + [decimal_digit + ['x' + 'u']]];

-

-   non_escape_character =

-        [source_character - [escape_character + line_terminator]];

-

-   character_escape_sequence =

-        single_escape_character

-      | non_escape_character

-      ;

-

-   escape_sequence =

-        character_escape_sequence

-      | '0' // TODO: [lookahead not a DecimalDigit]

-      | 'x' hex_digit hex_digit

-      | unicode_escape_sequence

-      ;

-

-   double_string_character =

-        [source_character - ['"' + ['\' + line_terminator]]]

-      | '\' escape_sequence

-      ;

-

-   single_string_character =

-        [source_character - [''' + ['\' + line_terminator]]]

-      | '\' escape_sequence

-      ;

-

-   /**

-    * 7.8.5. Regular Expression Literals. [ECMA-262] pp. 20-21.

-    */

-   regular_expression_char =

-        [non_terminator - ['\' + '/']]

-      | '\' non_terminator

-      ;

-

-   regular_expression_first_char =

-        [non_terminator - ['*' + ['\' + '/']]]

-      | '\' non_terminator

-      ;

-

-   regular_expression_body =

-        regular_expression_first_char regular_expression_char*;

-

-

-//   white_space_no_lt = (simple_white_space | single_line_comment | multi_line_comment_no_lt)+;

-//   white_space =       (simple_white_space | comment | line_terminator)+;

-   white_space =       (simple_white_space | line_terminator)+;

-

-

-//States

-//   normal,

-//   nolt;

-

-

-Tokens

-//          blank_no_lt = (simple_white_space | single_line_comment | multi_line_comment_no_lt)+;

-//   blank =       (simple_white_space | comment | line_terminator)+;

-

-   blank =       (simple_white_space | line_terminator)+;

-   commenttok = comment;

-   

-/* infinitecomment must appear after commmenttok to insure that actual comments are recognized

-in preferentially.

-*/

-   unterminated_comment = multi_line_comment_unterminated;

-

-   /**

-    * 7.5.2. Keywords. [ECMA-262] p.12-13.

-    *

-    * The tokens "continue", "break", "return" and "throw" should trigger

-    * a state change. In this new state, a line terminator shouldn't be

-    * considered a white space. All other tokens are parsed as usual.

-    *

-    * A custom lexer should change the state back to normal as soon as a

-    * non white space token is matched.

-    */

-   /**

-    * 7.5.3. Future Reserved Words. [ECMA-262] p. 14.

-    */

-/**    

-   abstract =     'abstract';

-   enum =         'enum';

-   int =          'int';

-   short =        'short';

-   boolean =      'boolean';

-   export =       'export';

-   interface =    'interface';

-   static =       'static';

-   byte =         'byte';

-   extends =      'extends';

-   long =         'long';

-   super =        'super';

-   char =         'char';

-   final =        'final';

-   native =       'native';

-   synchronized = 'synchronized';

-   clazz =        'class';

-   float =        'float';

-   package =      'package';

-   throws =       'throws';

-   const =        'const';

-   goto =         'goto';

-   private =      'private';

-   transient =    'transient';

-   debugger =     'debugger';

-   implements =   'implements';

-   protected =    'protected';

-   volatile =     'volatile';

-   double =       'double';

-   import =       'import';

-   public =       'public';

-*/

-   

-   /**

-    * 7.8.3. Numeric Literals. [ECMA-262] pp. 16-17.

-    */

-   decimal_literal =

-        ('0' | ['1'..'9'] ['0'..'9']*) '.' ['0'..'9']* exponent_part?

-      | '.' ['0'..'9']+ exponent_part?

-      | ('0' | ['1'..'9'] ['0'..'9']*) exponent_part?

-      ;

-

-   hex_integer_literal = ('0x' | '0X') hex_digit+;

-

-   /**

-    * 7.7. Punctuators. [ECMA-262] p. 15.

-    *

-    * Punctuator.

-    */

-

-   punctuator1 =    

-   '{' |

-   '}' |

-   '(' |

-   ')' |

-   '[' |

-   ']' |

-   '.' |

-   ';' |

-   ',' |

-   '<' |

-   '>' |

-   '<=' |

-   '>=' |

-   '==' |

-   '!=' |

-   '===' |

-   '!==' |

-   '+' |

-   '-' |

-   '*' |

-   '%' |

-   '++' |

-   '--' |

-   '<<' |

-   '>>' |

-   '>>>' |

-   '&' |

-   '|' |

-   '^' |

-   '!' |

-   '~' |

-   '&&' |

-   '||' |

-   '?' |

-   ':' |

-   '=' |

-   '+=' |

-   '-=' |

-   '*=' |

-   '%=' |

-   '<<=' |

-   '>>=' |

-   '>>>=' |

-   '&=' |

-   '|=' |

-   '^=' |

-   '/=' |

-   '/';

-

-/* Trick to handle the special grammar case where incr and decr shouldn't

-be preceeded by a line terminator.  

-

-As blanks are normally ignored, we write a regular expression that will 

-contain the preceeding blanks as part of the token.  Remember that 

-the lexer returns the longest match; a blank followed by ++ or -- is 

-longer than a strait blank.

-

-incr_no_lt is listed first so that it gets precedence over incr, when the

-preceeding whitespace does not contain a line terminator.

-

-a custom lexer will break these tokens in two: 

-blank and [incr/decr][/_no_lt]

-

-*/

-/*

-   incr_no_lt = white_space_no_lt '++';

-   decr_no_lt = white_space_no_lt '--';

-   

-   incr =       white_space '++';

-   decr =       white_space '--';

-*/

-

-/*

-   lshift =               '<<';

-   rsignedshift =         '>>';

-   runsignedshift =       '>>>';

-   bit_and =              '&';

-   bit_or =               '|';

-   xor =                  '^';

-   bang =                 '!';

-   tilde =                '~';

-   sc_and =               '&&';

-   sc_or =                '||';

-   hook =                 '?';

-   colon =                ':';

-   assign =               '=';

-   plusassign =           '+=';

-   minusassign =          '-=';

-   starassign =           '*=';

-   remassign =            '%=';

-   lshiftassign =         '<<=';

-   rsignedshiftassign =   '>>=';

-   runsignedshiftassign = '>>>=';

-   andassign =            '&=';

-   orassign =             '|=';

-   xorassign =            '^=';

-   

-   //

-   // DivPunctuator.

-   //

-   slashassign = '/=';

-   slash =       '/';

-*/ 

-    

-   /**

-    * 7.8.4. String Literals. [ECMA-262] pp. 18-19.

-    */

-   string_literal =

-        '"' double_string_character* '"'

-      | ''' single_string_character* '''

-      ;

-

-   unterminated_string_literal =

-        '"' double_string_character* 

-      | ''' single_string_character*

-      ;

-

-   /**

-    * 7.8.5. Regular Expression Literals. [ECMA-262] pp. 20-21.

-    */

-   regular_expression_literal =

-        '/' regular_expression_body '/' identifier_part*;

-

-   /**

-    * 7.6. Identifier. [ECMA-262] pp. 14-15.

-    */

-   identifier = identifier_start identifier_part*;

-   

-   error_char = source_character;

-

-

-Ignored Tokens

-//   blank_no_lt,

-   blank;

-

-

-/*

-   // -----------------------------------------------------------------------

-   // for testing the Lexer only.

-   // -----------------------------------------------------------------------

-

-   script = script_token*;

-

-   script_token =

-        {res} reserved_word

-      | {id}  identifier

-      | {op}  punctuator

-      | {num} numeric_literal

-      | {str} string_literal

-      ;

-

-   reserved_word =

-        {keyword} keyword

-      | {future}  future_reserved_word

-      | {null}    null

-      | {boolean} boolean_literal

-      ;

-

-   keyword =

-        {break}      break

-      | {else}       else

-      | {new}        new

-      | {var}        var

-      | {case}       case

-      | {finally}    finally

-      | {return}     return

-      | {void}       void

-      | {catch}      catch

-      | {for}        for

-      | {switch}     switch

-      | {while}      while

-      | {continue}   continue

-      | {function}   function

-      | {this}       this

-      | {with}       with

-      | {default}    default

-      | {if}         if

-      | {throw}      throw

-      | {delete}     delete

-      | {in}         in

-      | {try}        try

-      | {do}         do

-      | {instanceof} instanceof

-      | {typeof}     typeof

-      ;

-   

-   future_reserved_word =

-        {abstract}     abstract

-      | {enum}         enum

-      | {int}          int

-      | {short}        short

-      | {boolean}      boolean

-      | {export}       export

-      | {interface}    interface

-      | {static}       static

-      | {byte}         byte

-      | {extends}      extends

-      | {long}         long

-      | {super}        super

-      | {char}         char

-      | {final}        final

-      | {native}       native

-      | {synchronized} synchronized

-      | {class}        clazz

-      | {float}        float

-      | {package}      package

-      | {throws}       throws

-      | {const}        const

-      | {goto}         goto

-      | {private}      private

-      | {transient}    transient

-      | {debugger}     debugger

-      | {implements}   implements

-      | {protected}    protected

-      | {volatile}     volatile

-      | {double}       double

-      | {import}       import

-      | {public}       public

-      ;

-

-   punctuator =

-        {lbrace}    lbrace

-      | {rbrace}    rbrace

-      | {lparen}    lparen

-      | {rparen}    rparen

-      | {lbracket}  lbracket

-      | {rbracket}  rbracket

-      | {dot}       dot

-      | {semicolon} semicolon

-      | {comma}     comma

-      | {lt}        lt

-      | {gt}        gt

-      | {le}        le

-      | {ge}        ge

-      | {eq}        eq

-      | {ne}        ne

-      | {eqq}       eqq

-      | {neq}       neq

-      | {plus}      plus

-      | {minus}     minus

-      | {star}      star

-      | {rem}       rem

-      |

-        {incr1} incr_no_lt

-      | {decr1} decr_no_lt

-      | {incr2} incr

-      | {decr2} decr

-      |

-        {lshift}    lshift

-      | {rsshift}   rsignedshift

-      | {rushift}   runsignedshift

-      | {band}      bit_and

-      | {bor}       bit_or

-      | {xor}       xor

-      | {bang}      bang

-      | {bno}       tilde

-      | {sand}      sc_and

-      | {sor}       sc_or

-      | {hook}      hook

-      | {colon}     colon

-      | {assign}    assign

-      | {passign}   plusassign

-      | {massign}   minusassign

-      | {aasign}    starassign

-      | {rassign}   remassign

-      | {lsassign}  lshiftassign

-      | {rssassign} rsignedshiftassign

-      | {rusassign} runsignedshiftassign

-      | {andassign} andassign

-      | {orassign}  orassign

-      | {xorassign} xorassign

-      |

-        {slashassign} slashassign

-      | {slash}       slash

-      ;

-*/
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/sablecc-2.16.2.zip b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/sablecc-2.16.2.zip
deleted file mode 100644
index ebaa26d..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/sablecc-2.16.2.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/sableccgrammars-1.2.1.jar b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/sableccgrammars-1.2.1.jar
deleted file mode 100644
index 1cd8fa4..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/JSModel/sableccgrammars-1.2.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.java
deleted file mode 100644
index b30ce69..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.java
+++ /dev/null
@@ -1,1948 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 04/10/01 22:53 */
-
-/*nlsXXX*/
-package org.eclipse.wst.sse.core.css.internal.parser;
-
-import java.io.CharArrayReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.css.internal.parser.regions.CSSTextRegionFactory;
-import org.eclipse.wst.sse.core.css.parser.CSSRegionContexts;
-import org.eclipse.wst.sse.core.css.parser.CSSTextToken;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- */
-public class CSSTokenizer implements CSSRegionContexts {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int ST_SELECTOR_ATTRIBUTE_NAME = 11;
-  final public static int ST_IMPORT_DELIMITER = 5;
-  final public static int ST_DECLARATION_PRE_VALUE = 17;
-  final public static int ST_SELECTOR = 0;
-  final public static int ST_CHARSET_DELIMITER = 2;
-  final public static int ST_DECLARATION_VALUE = 18;
-  final public static int ST_PAGE_PSEUDO_PAGE = 8;
-  final public static int ST_IMPORT_URI = 3;
-  final public static int ST_SELECTOR_ATTRIBUTE_END = 14;
-  final public static int ST_SELECTOR_ATTRIBUTE_OPERATOR = 12;
-  final public static int ST_DECLARATION = 15;
-  final public static int ST_PAGE_DELIMITER = 9;
-  final public static int ST_SELECTOR_ATTRIBUTE_VALUE = 13;
-  final public static int ST_MEDIA_MEDIUM = 6;
-  final public static int ST_CHARSET_NAME = 1;
-  final public static int ST_IMPORT_MEDIUM = 4;
-  final public static int ST_DECLARATION_SEPARATOR = 16;
-  final public static int ST_FONT_FACE_DELIMITER = 9;
-  final public static int ST_MEDIA_DELIMITER = 7;
-  final public static int ST_SELECTOR_MODIFIER = 10;
-  final public static int YYINITIAL = 0;
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\11\1\17\1\0\1\4\1\20\22\0\1\6\1\31\1\10"+
-    "\1\22\1\16\1\72\1\16\1\5\1\26\1\12\1\35\1\14\1\55"+
-    "\1\13\1\15\1\34\12\1\1\62\1\50\1\30\1\67\1\32\1\21"+
-    "\1\36\1\43\1\27\1\40\1\57\1\46\1\64\1\61\1\41\1\51"+
-    "\2\2\1\25\1\52\1\65\1\54\1\53\1\2\1\24\1\44\1\47"+
-    "\1\23\5\2\1\66\1\3\1\71\1\16\1\2\1\16\1\42\1\7"+
-    "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\2\1\25\1\52"+
-    "\1\65\1\54\1\53\1\2\1\24\1\44\1\47\1\23\5\2\1\60"+
-    "\1\70\1\33\1\70\1\0\uff80\2";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  final private static int yy_rowMap [] = { 
-        0,    59,   118,   177,   236,   295,   354,   413,   472,   531, 
-      590,   649,   708,   767,   826,   885,   944,  1003,  1062,  1121, 
-     1180,  1239,  1298,  1357,  1416,  1475,  1534,  1121,  1593,  1121, 
-     1652,  1711,  1121,  1770,  1829,  1888,  1121,  1947,  2006,  2065, 
-     2124,  2183,  2242,  1121,  2301,  2360,  2419,  1121,  1121,  2478, 
-     2537,  2596,  1121,  2655,  2714,  1121,  1121,  2773,  2832,  2891, 
-     1121,  2950,  1121,  3009,  3068,  3127,  3186,  3245,  3304,  3363, 
-     3422,  1121,  1121,  3481,  3540,  3599,  3658,  3717,  1121,  3776, 
-     3835,  3894,  3953,  4012,  4071,  1593,  1121,  4130,  1239,  4189, 
-     4248,  1416,  4307,  1475,  4366,  4425,  4484,  4543,  4602,  4661, 
-     4720,  4779,  4838,  4897,  1770,  4956,  1121,  1829,  5015,  5074, 
-     1947,  5133,  1121,  2006,  5192,  5251,  2183,  5310,  5369,  2360, 
-     5428,  5487,  2537,  5546,  5605,  1121,  2714,  2832,  5664,  5723, 
-     3068,  5782,  3127,  5841,  1121,  3186,  5900,  5959,  3363,  6018, 
-     6077,  6136,  6195,  3894,  1121,  3599,  1121,  6254,  3658,  6313, 
-     1121,  3717,  6372,  6431,  6490,  6549,  3953,  6608,  6667,  6726, 
-     4071,  6785,  1121,  4130,  6844,  1121,  6903,  6962,  7021,  7080, 
-     7139,  7198,  7257,  7316,  7375,  7434,  7493,  7552,  1770,  7611, 
-     7670,  1829,  7729,  7788,  1947,  7847,  7906,  2006,  7965,  8024, 
-     8083,  8142,  8201,  8260,  8319,  8378,  3127,  8437,  8496,  3186, 
-     8555,  8614,  8673,  8732,  8791,  3658,  8850,  8909,  3717,  8968, 
-     9027,  9086,  9145,  9204,  9263,  9322,  9381,  1121,  1121,  9440, 
-     9499,  9558,  9617,  9676,  9735,  9794,  9853,  9912,  9971, 10030, 
-    10089, 10148, 10207, 10266, 10325, 10384, 10443, 10502, 10561, 10620, 
-    10679, 10738, 10797, 10856, 10915, 10974, 11033, 11092, 11151, 11210, 
-    11269, 11328, 11387, 11446, 11505,  1121, 11564, 11623,  1121, 11682, 
-    11741, 11800, 11859, 11918, 11977, 12036, 12095, 12154, 12213,  1121, 
-    12272, 12331, 12390, 12449, 12508, 12567, 12626, 12685, 12744, 12803, 
-    12862, 12921, 12980, 13039, 13098, 13157, 13216, 11092, 13275, 13334, 
-     1121, 13393, 13452, 13511, 13570, 13629, 13688,  1121, 13747, 13806, 
-    13865, 13924, 13983, 14042, 14101, 14160, 14219, 12036, 14278, 14337, 
-    14396, 14455, 14514, 14573, 14632, 14691, 14750, 14809, 14868, 14927, 
-    14986, 15045, 15104, 15163, 15222, 15281, 15340, 13157, 15399, 15458, 
-    15517, 15576, 15635, 15694, 15753,  1121, 15812, 15871, 15930, 15989, 
-    16048, 16107, 16166, 16225, 16284, 16343, 16402, 16461, 16520, 16579, 
-    16638, 16697, 16756, 16815, 16874, 16933, 16992, 17051, 17110, 17169, 
-    17228, 17287, 17346, 17405, 17464, 17523, 17582, 17641, 17700, 17759, 
-    17818, 17877, 17936, 17995, 18054,  1121, 18113, 18172, 18231, 18290, 
-    18349, 18408, 18467, 18526, 18585, 12154, 18644, 12213, 18703, 18762, 
-    18821, 18880, 18939, 18998, 19057, 19116, 19175, 19234, 13275, 19293, 
-    13334, 19352, 19411, 19470, 19529, 19588, 19647, 19706, 19765, 19824, 
-    19883, 19942,  1121, 20001, 20060, 20119, 20178,  1121, 20237, 20296, 
-    20355,  1121, 20414, 20473, 20532, 20591, 20650, 20709, 20768, 20827, 
-    20886, 20945
-  };
-
-  /** 
-   * The packed transition table of the DFA
-   */
-  final private static String yy_packed = 
-    "\2\24\1\25\1\26\1\27\1\24\1\27\1\25\1\24"+
-    "\1\27\1\24\1\30\1\24\1\31\1\24\2\27\1\24"+
-    "\1\32\3\25\1\24\1\25\1\33\2\24\1\34\1\35"+
-    "\1\36\1\37\11\25\1\24\4\25\1\24\2\25\1\24"+
-    "\1\25\1\40\3\25\1\41\10\24\1\27\1\42\1\27"+
-    "\1\24\1\43\1\27\1\24\1\44\3\24\2\27\7\24"+
-    "\1\33\2\24\1\34\1\35\1\24\1\37\40\24\1\27"+
-    "\1\24\1\27\2\24\1\27\1\24\1\44\3\24\2\27"+
-    "\7\24\1\33\2\24\1\34\1\35\1\24\1\37\11\24"+
-    "\1\45\26\24\1\27\1\46\1\27\1\24\1\47\1\27"+
-    "\1\24\1\44\3\24\2\27\2\24\1\50\4\24\1\33"+
-    "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\24\24"+
-    "\1\51\1\52\1\27\1\24\1\27\1\51\1\24\1\27"+
-    "\1\24\1\53\3\24\2\27\2\24\3\51\1\24\1\51"+
-    "\1\33\2\24\1\34\1\35\1\24\1\37\11\51\1\45"+
-    "\4\51\1\24\2\51\1\24\1\51\1\24\3\51\11\24"+
-    "\1\27\1\24\1\27\2\24\1\27\1\24\1\44\3\24"+
-    "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+
-    "\11\24\1\45\4\24\1\54\17\24\1\55\1\56\1\27"+
-    "\1\24\1\27\1\55\1\24\1\27\1\24\1\57\3\24"+
-    "\2\27\2\24\3\55\1\24\1\55\1\33\2\24\1\34"+
-    "\1\35\1\24\1\37\11\55\1\24\4\55\1\24\2\55"+
-    "\1\24\1\55\1\24\3\55\11\24\1\27\1\24\1\27"+
-    "\2\24\1\27\1\24\1\44\3\24\2\27\7\24\1\33"+
-    "\2\24\1\34\1\35\1\24\1\37\16\24\1\60\2\24"+
-    "\1\61\14\24\1\62\1\63\1\27\1\24\1\27\1\62"+
-    "\1\24\1\27\1\24\1\64\3\24\2\27\2\24\3\62"+
-    "\1\24\1\62\1\33\2\24\1\34\1\35\1\24\1\37"+
-    "\11\62\1\24\4\62\1\24\2\62\1\65\1\62\1\66"+
-    "\3\62\11\24\1\27\1\24\1\27\2\24\1\27\1\24"+
-    "\1\44\3\24\2\27\7\24\1\33\2\24\1\34\1\35"+
-    "\1\24\1\37\21\24\1\65\16\24\1\67\1\24\1\67"+
-    "\2\24\1\67\1\24\1\44\1\70\1\31\1\24\2\67"+
-    "\1\24\1\32\5\24\1\33\1\24\1\70\1\34\1\35"+
-    "\1\36\1\37\16\24\1\71\2\24\1\65\1\24\1\40"+
-    "\3\24\1\41\6\24\1\72\1\73\1\27\1\24\1\27"+
-    "\1\72\1\24\1\27\1\24\1\74\3\24\2\27\2\24"+
-    "\3\72\1\24\1\72\1\33\2\24\1\34\1\35\1\24"+
-    "\1\37\11\72\1\24\4\72\1\24\2\72\1\24\1\72"+
-    "\1\24\3\72\11\24\1\27\1\24\1\27\2\24\1\27"+
-    "\1\24\1\44\3\24\2\27\7\24\1\33\2\24\1\34"+
-    "\1\35\1\24\1\37\30\24\1\75\1\76\1\77\3\24"+
-    "\1\100\1\101\1\27\1\102\1\27\1\100\1\103\1\27"+
-    "\1\24\1\104\3\24\2\27\2\24\3\100\1\24\1\100"+
-    "\1\33\2\24\1\34\1\35\1\24\1\37\11\100\1\24"+
-    "\4\100\1\24\2\100\1\24\1\100\1\24\3\100\11\24"+
-    "\1\27\1\24\1\27\2\24\1\27\1\24\1\44\3\24"+
-    "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+
-    "\32\24\1\77\3\24\1\105\1\106\1\27\1\24\1\27"+
-    "\1\105\1\24\1\27\1\24\1\107\3\24\2\27\2\24"+
-    "\3\105\1\24\1\105\1\33\2\24\1\34\1\35\1\24"+
-    "\1\37\11\105\1\110\4\105\1\24\2\105\1\24\1\105"+
-    "\1\24\3\105\11\24\1\27\1\24\1\27\2\24\1\27"+
-    "\1\24\1\44\3\24\2\27\7\24\1\33\2\24\1\34"+
-    "\1\35\1\24\1\37\11\24\1\110\11\24\1\111\11\24"+
-    "\1\112\1\113\1\114\1\27\1\115\1\27\1\113\1\116"+
-    "\1\27\1\117\1\120\1\121\1\122\1\24\2\27\1\24"+
-    "\1\123\1\124\2\113\1\24\1\113\1\33\1\125\1\24"+
-    "\1\34\1\126\1\24\1\37\11\113\1\110\4\113\1\127"+
-    "\2\113\1\24\1\113\1\24\3\113\6\24\1\112\1\113"+
-    "\1\114\1\130\1\115\1\130\1\113\1\116\1\130\1\117"+
-    "\1\120\1\121\1\122\1\24\2\130\1\24\1\123\1\124"+
-    "\2\113\1\24\1\113\1\33\1\125\1\24\1\34\1\126"+
-    "\1\24\1\37\11\113\1\110\4\113\1\127\2\113\1\24"+
-    "\1\113\1\24\3\113\5\24\74\0\2\25\1\131\3\0"+
-    "\1\25\3\0\1\25\7\0\3\25\1\0\1\25\7\0"+
-    "\11\25\1\0\4\25\1\0\2\25\1\0\1\25\1\0"+
-    "\3\25\6\0\1\132\2\25\1\0\2\25\1\132\1\25"+
-    "\1\0\5\25\2\0\16\25\1\132\2\25\1\132\2\25"+
-    "\1\132\10\25\1\132\4\25\1\132\7\25\4\0\1\27"+
-    "\1\0\1\27\2\0\1\27\5\0\2\27\53\0\2\25"+
-    "\1\131\3\0\1\25\3\0\1\133\7\0\3\25\1\0"+
-    "\1\25\7\0\11\25\1\0\4\25\1\0\2\25\1\0"+
-    "\1\25\1\0\3\25\6\0\2\134\1\135\3\0\1\134"+
-    "\3\0\1\134\7\0\3\134\1\0\1\134\7\0\11\134"+
-    "\1\0\4\134\1\0\2\134\1\0\1\134\1\0\3\134"+
-    "\6\0\2\136\1\137\3\0\1\136\3\0\1\136\7\0"+
-    "\3\136\1\0\1\136\7\0\11\136\1\0\4\136\1\0"+
-    "\2\136\1\0\1\136\1\0\3\136\36\0\1\140\76\0"+
-    "\1\141\74\0\2\142\10\0\1\143\1\144\1\145\7\0"+
-    "\2\146\10\0\1\147\1\150\3\0\1\147\3\0\1\147"+
-    "\7\0\3\147\1\0\1\147\7\0\11\147\1\0\4\147"+
-    "\1\0\2\147\1\0\1\147\1\0\3\147\6\0\2\151"+
-    "\1\152\1\0\1\153\11\151\2\0\52\151\1\0\2\154"+
-    "\1\155\1\0\3\154\1\153\6\154\2\0\52\154\13\0"+
-    "\1\156\60\0\2\157\1\160\1\0\1\161\11\157\2\0"+
-    "\52\157\1\0\2\162\1\163\1\0\3\162\1\161\6\162"+
-    "\2\0\52\162\24\0\1\164\47\0\2\51\1\165\3\0"+
-    "\1\51\3\0\1\51\7\0\3\51\1\0\1\51\7\0"+
-    "\11\51\1\0\4\51\1\0\2\51\1\0\1\51\1\0"+
-    "\3\51\6\0\1\166\2\51\1\0\2\51\1\166\1\51"+
-    "\1\0\5\51\2\0\16\51\1\166\2\51\1\166\2\51"+
-    "\1\166\10\51\1\166\4\51\1\166\7\51\1\0\2\51"+
-    "\1\165\3\0\1\51\3\0\1\167\7\0\3\51\1\0"+
-    "\1\51\7\0\11\51\1\0\4\51\1\0\2\51\1\0"+
-    "\1\51\1\0\3\51\6\0\2\55\1\170\3\0\1\55"+
-    "\3\0\1\55\7\0\3\55\1\0\1\55\7\0\11\55"+
-    "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\3\55"+
-    "\6\0\1\171\2\55\1\0\2\55\1\171\1\55\1\0"+
-    "\5\55\2\0\16\55\1\171\2\55\1\171\2\55\1\171"+
-    "\10\55\1\171\4\55\1\171\7\55\1\0\2\55\1\170"+
-    "\3\0\1\55\3\0\1\172\7\0\3\55\1\0\1\55"+
-    "\7\0\11\55\1\0\4\55\1\0\2\55\1\0\1\55"+
-    "\1\0\3\55\6\0\2\62\1\173\3\0\1\62\3\0"+
-    "\1\62\7\0\3\62\1\0\1\62\7\0\11\62\1\0"+
-    "\4\62\1\0\2\62\1\0\1\62\1\0\3\62\6\0"+
-    "\1\174\2\62\1\0\2\62\1\174\1\62\1\0\5\62"+
-    "\2\0\16\62\1\174\2\62\1\174\2\62\1\174\10\62"+
-    "\1\174\4\62\1\174\7\62\1\0\2\62\1\173\3\0"+
-    "\1\62\3\0\1\175\7\0\3\62\1\0\1\62\7\0"+
-    "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0"+
-    "\3\62\7\0\1\62\1\173\3\0\1\62\3\0\1\62"+
-    "\7\0\3\62\1\0\1\62\7\0\11\62\1\0\4\62"+
-    "\1\0\2\62\1\0\1\62\1\0\3\62\5\0\4\176"+
-    "\1\177\1\176\1\177\2\176\1\177\2\176\1\0\2\176"+
-    "\2\177\11\176\1\0\25\176\1\0\12\176\1\0\2\72"+
-    "\1\200\3\0\1\72\3\0\1\72\7\0\3\72\1\0"+
-    "\1\72\7\0\11\72\1\0\4\72\1\0\2\72\1\0"+
-    "\1\72\1\0\3\72\6\0\1\201\2\72\1\0\2\72"+
-    "\1\201\1\72\1\0\5\72\2\0\16\72\1\201\2\72"+
-    "\1\201\2\72\1\201\10\72\1\201\4\72\1\201\7\72"+
-    "\1\0\2\72\1\200\3\0\1\72\3\0\1\202\7\0"+
-    "\3\72\1\0\1\72\7\0\11\72\1\0\4\72\1\0"+
-    "\2\72\1\0\1\72\1\0\3\72\74\0\1\75\4\0"+
-    "\2\100\1\203\3\0\1\100\3\0\1\100\7\0\3\100"+
-    "\1\0\1\100\7\0\11\100\1\0\4\100\1\0\2\100"+
-    "\1\0\1\100\1\0\3\100\6\0\1\204\2\100\1\0"+
-    "\2\100\1\204\1\100\1\0\5\100\2\0\16\100\1\204"+
-    "\2\100\1\204\2\100\1\204\10\100\1\204\4\100\1\204"+
-    "\7\100\1\0\2\205\1\206\1\0\1\207\11\205\2\0"+
-    "\52\205\1\0\2\210\1\211\1\0\3\210\1\207\6\210"+
-    "\2\0\52\210\1\0\2\100\1\203\3\0\1\100\3\0"+
-    "\1\212\7\0\3\100\1\0\1\100\7\0\11\100\1\0"+
-    "\4\100\1\0\2\100\1\0\1\100\1\0\3\100\6\0"+
-    "\2\105\1\213\3\0\1\105\3\0\1\105\7\0\3\105"+
-    "\1\0\1\105\7\0\11\105\1\0\4\105\1\0\2\105"+
-    "\1\0\1\105\1\0\3\105\6\0\1\214\2\105\1\0"+
-    "\2\105\1\214\1\105\1\0\5\105\2\0\16\105\1\214"+
-    "\2\105\1\214\2\105\1\214\10\105\1\214\4\105\1\214"+
-    "\7\105\1\0\2\105\1\213\3\0\1\105\3\0\1\215"+
-    "\7\0\3\105\1\0\1\105\7\0\11\105\1\0\4\105"+
-    "\1\0\2\105\1\0\1\105\1\0\3\105\6\0\1\112"+
-    "\1\216\1\217\3\0\1\216\3\0\1\216\1\0\1\220"+
-    "\5\0\3\216\1\0\1\216\7\0\11\216\1\0\4\216"+
-    "\1\0\2\216\1\0\1\216\1\0\3\216\4\0\1\221"+
-    "\1\0\2\113\1\222\3\0\1\113\3\0\1\113\7\0"+
-    "\3\113\1\223\1\113\7\0\11\113\1\0\4\113\1\0"+
-    "\2\113\1\0\1\113\1\0\3\113\6\0\1\224\2\113"+
-    "\1\0\2\113\1\224\1\113\1\0\5\113\2\0\16\113"+
-    "\1\224\2\113\1\224\2\113\1\224\10\113\1\224\4\113"+
-    "\1\224\7\113\1\0\2\225\1\226\1\0\1\227\11\225"+
-    "\2\0\52\225\1\0\2\230\1\231\1\0\3\230\1\227"+
-    "\6\230\2\0\52\230\1\0\1\232\1\113\1\222\3\0"+
-    "\1\113\3\0\1\233\1\0\1\220\5\0\3\113\1\223"+
-    "\1\113\7\0\11\113\1\0\4\113\1\0\2\113\1\0"+
-    "\1\113\1\0\3\113\6\0\1\112\13\0\1\220\56\0"+
-    "\1\234\72\0\2\235\1\236\3\0\1\235\3\0\1\235"+
-    "\7\0\3\235\1\0\1\235\7\0\11\235\1\0\4\235"+
-    "\1\0\2\235\1\0\1\235\1\0\3\235\6\0\2\113"+
-    "\1\222\3\0\1\113\3\0\1\113\1\237\6\0\1\113"+
-    "\1\240\1\113\1\223\1\113\7\0\11\113\1\0\4\113"+
-    "\1\0\2\113\1\0\1\113\1\0\3\113\11\0\1\241"+
-    "\1\0\1\241\2\0\1\241\5\0\2\241\30\0\1\242"+
-    "\21\0\4\243\1\244\1\243\1\244\2\243\1\244\5\243"+
-    "\2\244\12\243\1\0\14\243\1\0\22\243\1\0\1\245"+
-    "\1\25\1\131\1\25\1\0\1\25\1\245\1\0\1\25"+
-    "\1\0\1\25\3\0\2\25\2\0\3\25\1\0\1\25"+
-    "\7\0\1\245\2\25\1\245\2\25\1\245\2\25\1\0"+
-    "\4\25\1\0\1\245\1\25\1\0\1\25\1\0\1\245"+
-    "\2\25\6\0\2\25\1\131\3\0\1\25\3\0\1\25"+
-    "\7\0\3\25\1\0\1\25\2\0\1\246\4\0\11\25"+
-    "\1\0\4\25\1\0\2\25\1\0\1\25\1\0\3\25"+
-    "\6\0\1\247\2\134\1\0\2\134\1\247\1\134\1\0"+
-    "\5\134\2\0\16\134\1\247\2\134\1\247\2\134\1\247"+
-    "\10\134\1\247\4\134\1\247\7\134\1\0\1\250\2\136"+
-    "\1\0\2\136\1\250\1\136\1\0\5\136\2\0\16\136"+
-    "\1\250\2\136\1\250\2\136\1\250\10\136\1\250\4\136"+
-    "\1\250\7\136\13\0\1\251\57\0\35\141\1\252\35\141"+
-    "\41\0\1\253\103\0\1\254\65\0\2\255\66\0\2\256"+
-    "\103\0\1\257\17\0\2\147\1\150\3\0\1\147\3\0"+
-    "\1\147\7\0\3\147\1\260\1\147\7\0\11\147\1\0"+
-    "\4\147\1\0\2\147\1\0\1\147\1\0\3\147\6\0"+
-    "\1\261\2\147\1\0\2\147\1\261\1\147\1\0\5\147"+
-    "\2\0\16\147\1\261\2\147\1\261\2\147\1\261\10\147"+
-    "\1\261\4\147\1\261\7\147\1\0\1\262\1\151\1\152"+
-    "\1\151\1\263\1\151\1\262\10\151\1\264\16\151\1\262"+
-    "\2\151\1\262\2\151\1\262\10\151\1\262\4\151\1\262"+
-    "\7\151\1\0\1\265\1\154\1\155\3\154\1\265\1\266"+
-    "\7\154\1\267\16\154\1\265\2\154\1\265\2\154\1\265"+
-    "\10\154\1\265\4\154\1\265\7\154\32\0\1\246\41\0"+
-    "\1\270\1\157\1\160\1\157\1\271\1\157\1\270\10\157"+
-    "\1\272\16\157\1\270\2\157\1\270\2\157\1\270\10\157"+
-    "\1\270\4\157\1\270\7\157\1\0\1\273\1\162\1\163"+
-    "\3\162\1\273\1\274\7\162\1\275\16\162\1\273\2\162"+
-    "\1\273\2\162\1\273\10\162\1\273\4\162\1\273\7\162"+
-    "\25\0\1\276\46\0\1\277\1\51\1\165\1\51\1\0"+
-    "\1\51\1\277\1\0\1\51\1\0\1\51\3\0\2\51"+
-    "\2\0\3\51\1\0\1\51\7\0\1\277\2\51\1\277"+
-    "\2\51\1\277\2\51\1\0\4\51\1\0\1\277\1\51"+
-    "\1\0\1\51\1\0\1\277\2\51\6\0\2\51\1\165"+
-    "\3\0\1\51\3\0\1\51\7\0\3\51\1\0\1\51"+
-    "\2\0\1\246\4\0\11\51\1\0\4\51\1\0\2\51"+
-    "\1\0\1\51\1\0\3\51\6\0\1\300\1\55\1\170"+
-    "\1\55\1\0\1\55\1\300\1\0\1\55\1\0\1\55"+
-    "\3\0\2\55\2\0\3\55\1\0\1\55\7\0\1\300"+
-    "\2\55\1\300\2\55\1\300\2\55\1\0\4\55\1\0"+
-    "\1\300\1\55\1\0\1\55\1\0\1\300\2\55\6\0"+
-    "\2\55\1\170\3\0\1\55\3\0\1\55\7\0\3\55"+
-    "\1\0\1\55\2\0\1\246\4\0\11\55\1\0\4\55"+
-    "\1\0\2\55\1\0\1\55\1\0\3\55\6\0\1\301"+
-    "\1\62\1\173\1\62\1\0\1\62\1\301\1\0\1\62"+
-    "\1\0\1\62\3\0\2\62\2\0\3\62\1\0\1\62"+
-    "\7\0\1\301\2\62\1\301\2\62\1\301\2\62\1\0"+
-    "\4\62\1\0\1\301\1\62\1\0\1\62\1\0\1\301"+
-    "\2\62\6\0\2\62\1\173\3\0\1\62\3\0\1\62"+
-    "\7\0\3\62\1\0\1\62\2\0\1\246\4\0\11\62"+
-    "\1\0\4\62\1\0\2\62\1\0\1\62\1\0\3\62"+
-    "\6\0\1\302\1\72\1\200\1\72\1\0\1\72\1\302"+
-    "\1\0\1\72\1\0\1\72\3\0\2\72\2\0\3\72"+
-    "\1\0\1\72\7\0\1\302\2\72\1\302\2\72\1\302"+
-    "\2\72\1\0\4\72\1\0\1\302\1\72\1\0\1\72"+
-    "\1\0\1\302\2\72\6\0\2\72\1\200\3\0\1\72"+
-    "\3\0\1\72\7\0\3\72\1\0\1\72\2\0\1\246"+
-    "\4\0\11\72\1\0\4\72\1\0\2\72\1\0\1\72"+
-    "\1\0\3\72\6\0\1\303\1\100\1\203\1\100\1\0"+
-    "\1\100\1\303\1\0\1\100\1\0\1\100\3\0\2\100"+
-    "\2\0\3\100\1\0\1\100\7\0\1\303\2\100\1\303"+
-    "\2\100\1\303\2\100\1\0\4\100\1\0\1\303\1\100"+
-    "\1\0\1\100\1\0\1\303\2\100\6\0\1\304\1\205"+
-    "\1\206\1\205\1\305\1\205\1\304\10\205\1\306\16\205"+
-    "\1\304\2\205\1\304\2\205\1\304\10\205\1\304\4\205"+
-    "\1\304\7\205\1\0\1\307\1\210\1\211\3\210\1\307"+
-    "\1\310\7\210\1\311\16\210\1\307\2\210\1\307\2\210"+
-    "\1\307\10\210\1\307\4\210\1\307\7\210\1\0\2\100"+
-    "\1\203\3\0\1\100\3\0\1\100\7\0\3\100\1\0"+
-    "\1\100\2\0\1\246\4\0\11\100\1\0\4\100\1\0"+
-    "\2\100\1\0\1\100\1\0\3\100\6\0\1\312\1\105"+
-    "\1\213\1\105\1\0\1\105\1\312\1\0\1\105\1\0"+
-    "\1\105\3\0\2\105\2\0\3\105\1\0\1\105\7\0"+
-    "\1\312\2\105\1\312\2\105\1\312\2\105\1\0\4\105"+
-    "\1\0\1\312\1\105\1\0\1\105\1\0\1\312\2\105"+
-    "\6\0\2\105\1\213\3\0\1\105\3\0\1\105\7\0"+
-    "\3\105\1\0\1\105\2\0\1\246\4\0\11\105\1\0"+
-    "\4\105\1\0\2\105\1\0\1\105\1\0\3\105\6\0"+
-    "\2\216\1\217\3\0\1\216\3\0\1\216\7\0\3\216"+
-    "\1\0\1\216\7\0\11\216\1\0\4\216\1\0\2\216"+
-    "\1\0\1\216\1\0\3\216\6\0\1\313\2\216\1\0"+
-    "\2\216\1\313\1\216\1\0\5\216\2\0\16\216\1\313"+
-    "\2\216\1\313\2\216\1\313\10\216\1\313\4\216\1\313"+
-    "\7\216\1\0\1\314\1\113\1\222\1\113\1\0\1\113"+
-    "\1\314\1\0\1\113\1\0\1\113\3\0\2\113\2\0"+
-    "\3\113\1\223\1\113\7\0\1\314\2\113\1\314\2\113"+
-    "\1\314\2\113\1\0\4\113\1\0\1\314\1\113\1\0"+
-    "\1\113\1\0\1\314\2\113\6\0\1\315\1\225\1\226"+
-    "\1\225\1\316\1\225\1\315\10\225\1\317\16\225\1\315"+
-    "\2\225\1\315\2\225\1\315\10\225\1\315\4\225\1\315"+
-    "\7\225\1\0\1\320\1\230\1\231\3\230\1\320\1\321"+
-    "\7\230\1\322\16\230\1\320\2\230\1\320\2\230\1\320"+
-    "\10\230\1\320\4\230\1\320\7\230\1\0\1\232\1\113"+
-    "\1\222\3\0\1\113\3\0\1\113\1\0\1\220\5\0"+
-    "\3\113\1\223\1\113\7\0\11\113\1\0\4\113\1\0"+
-    "\2\113\1\0\1\113\1\0\3\113\4\0\1\221\1\0"+
-    "\2\113\1\222\3\0\1\113\3\0\1\113\7\0\3\113"+
-    "\1\223\1\113\2\0\1\246\4\0\11\113\1\0\4\113"+
-    "\1\0\2\113\1\0\1\113\1\0\3\113\6\0\1\234"+
-    "\1\216\1\217\3\0\1\216\3\0\1\216\7\0\3\216"+
-    "\1\0\1\216\7\0\11\216\1\0\4\216\1\0\2\216"+
-    "\1\0\1\216\1\0\3\216\4\0\1\221\1\0\1\323"+
-    "\2\235\1\0\2\235\1\323\1\235\1\0\5\235\2\0"+
-    "\16\235\1\323\2\235\1\323\2\235\1\323\10\235\1\323"+
-    "\4\235\1\323\7\235\1\0\1\324\5\0\1\324\11\0"+
-    "\1\324\5\0\1\324\7\0\2\324\1\0\2\324\1\0"+
-    "\2\324\7\0\2\324\3\0\2\324\7\0\2\113\1\222"+
-    "\3\0\1\113\3\0\1\113\7\0\2\113\1\325\1\223"+
-    "\1\113\7\0\11\113\1\0\4\113\1\0\2\113\1\0"+
-    "\1\113\1\0\3\113\57\0\1\326\21\0\1\327\1\25"+
-    "\1\131\1\25\1\0\1\25\1\327\1\0\1\25\1\0"+
-    "\1\25\3\0\2\25\2\0\3\25\1\0\1\25\7\0"+
-    "\1\327\2\25\1\327\2\25\1\327\2\25\1\0\4\25"+
-    "\1\0\1\327\1\25\1\0\1\25\1\0\1\327\2\25"+
-    "\6\0\1\330\1\134\1\135\1\134\1\0\1\134\1\330"+
-    "\1\0\1\134\1\0\1\134\3\0\2\134\2\0\3\134"+
-    "\1\0\1\134\7\0\1\330\2\134\1\330\2\134\1\330"+
-    "\2\134\1\0\4\134\1\0\1\330\1\134\1\0\1\134"+
-    "\1\0\1\330\2\134\6\0\1\331\1\136\1\137\1\136"+
-    "\1\0\1\136\1\331\1\0\1\136\1\0\1\136\3\0"+
-    "\2\136\2\0\3\136\1\0\1\136\7\0\1\331\2\136"+
-    "\1\331\2\136\1\331\2\136\1\0\4\136\1\0\1\331"+
-    "\1\136\1\0\1\136\1\0\1\331\2\136\20\0\1\332"+
-    "\57\0\34\141\1\333\1\252\35\141\42\0\2\334\102\0"+
-    "\1\335\75\0\2\336\74\0\1\337\76\0\1\340\7\0"+
-    "\1\341\1\342\1\260\1\0\1\260\1\341\1\0\1\260"+
-    "\1\0\1\341\3\0\2\260\2\0\3\341\1\0\1\341"+
-    "\7\0\11\341\1\0\4\341\1\0\2\341\1\0\1\341"+
-    "\1\0\3\341\6\0\1\343\1\147\1\150\1\147\1\0"+
-    "\1\147\1\343\1\0\1\147\1\0\1\147\3\0\2\147"+
-    "\2\0\3\147\1\260\1\147\7\0\1\343\2\147\1\343"+
-    "\2\147\1\343\2\147\1\0\4\147\1\0\1\343\1\147"+
-    "\1\0\1\147\1\0\1\343\2\147\6\0\1\344\1\151"+
-    "\1\152\1\151\1\153\1\151\1\344\27\151\1\344\2\151"+
-    "\1\344\2\151\1\344\10\151\1\344\4\151\1\344\7\151"+
-    "\1\0\2\151\1\152\1\0\1\153\12\151\1\0\52\151"+
-    "\1\0\1\345\1\154\1\155\3\154\1\345\1\153\26\154"+
-    "\1\345\2\154\1\345\2\154\1\345\10\154\1\345\4\154"+
-    "\1\345\7\154\1\0\2\154\1\155\1\0\3\154\1\153"+
-    "\7\154\1\0\52\154\1\0\1\346\1\157\1\160\1\157"+
-    "\1\161\1\157\1\346\27\157\1\346\2\157\1\346\2\157"+
-    "\1\346\10\157\1\346\4\157\1\346\7\157\1\0\2\157"+
-    "\1\160\1\0\1\161\12\157\1\0\52\157\1\0\1\347"+
-    "\1\162\1\163\3\162\1\347\1\161\26\162\1\347\2\162"+
-    "\1\347\2\162\1\347\10\162\1\347\4\162\1\347\7\162"+
-    "\1\0\2\162\1\163\1\0\3\162\1\161\7\162\1\0"+
-    "\52\162\26\0\1\350\45\0\1\351\1\51\1\165\1\51"+
-    "\1\0\1\51\1\351\1\0\1\51\1\0\1\51\3\0"+
-    "\2\51\2\0\3\51\1\0\1\51\7\0\1\351\2\51"+
-    "\1\351\2\51\1\351\2\51\1\0\4\51\1\0\1\351"+
-    "\1\51\1\0\1\51\1\0\1\351\2\51\6\0\1\352"+
-    "\1\55\1\170\1\55\1\0\1\55\1\352\1\0\1\55"+
-    "\1\0\1\55\3\0\2\55\2\0\3\55\1\0\1\55"+
-    "\7\0\1\352\2\55\1\352\2\55\1\352\2\55\1\0"+
-    "\4\55\1\0\1\352\1\55\1\0\1\55\1\0\1\352"+
-    "\2\55\6\0\1\353\1\62\1\173\1\62\1\0\1\62"+
-    "\1\353\1\0\1\62\1\0\1\62\3\0\2\62\2\0"+
-    "\3\62\1\0\1\62\7\0\1\353\2\62\1\353\2\62"+
-    "\1\353\2\62\1\0\4\62\1\0\1\353\1\62\1\0"+
-    "\1\62\1\0\1\353\2\62\6\0\1\354\1\72\1\200"+
-    "\1\72\1\0\1\72\1\354\1\0\1\72\1\0\1\72"+
-    "\3\0\2\72\2\0\3\72\1\0\1\72\7\0\1\354"+
-    "\2\72\1\354\2\72\1\354\2\72\1\0\4\72\1\0"+
-    "\1\354\1\72\1\0\1\72\1\0\1\354\2\72\6\0"+
-    "\1\355\1\100\1\203\1\100\1\0\1\100\1\355\1\0"+
-    "\1\100\1\0\1\100\3\0\2\100\2\0\3\100\1\0"+
-    "\1\100\7\0\1\355\2\100\1\355\2\100\1\355\2\100"+
-    "\1\0\4\100\1\0\1\355\1\100\1\0\1\100\1\0"+
-    "\1\355\2\100\6\0\1\356\1\205\1\206\1\205\1\207"+
-    "\1\205\1\356\27\205\1\356\2\205\1\356\2\205\1\356"+
-    "\10\205\1\356\4\205\1\356\7\205\1\0\2\205\1\206"+
-    "\1\0\1\207\12\205\1\0\52\205\1\0\1\357\1\210"+
-    "\1\211\3\210\1\357\1\207\26\210\1\357\2\210\1\357"+
-    "\2\210\1\357\10\210\1\357\4\210\1\357\7\210\1\0"+
-    "\2\210\1\211\1\0\3\210\1\207\7\210\1\0\52\210"+
-    "\1\0\1\360\1\105\1\213\1\105\1\0\1\105\1\360"+
-    "\1\0\1\105\1\0\1\105\3\0\2\105\2\0\3\105"+
-    "\1\0\1\105\7\0\1\360\2\105\1\360\2\105\1\360"+
-    "\2\105\1\0\4\105\1\0\1\360\1\105\1\0\1\105"+
-    "\1\0\1\360\2\105\6\0\1\361\1\216\1\217\1\216"+
-    "\1\0\1\216\1\361\1\0\1\216\1\0\1\216\3\0"+
-    "\2\216\2\0\3\216\1\0\1\216\7\0\1\361\2\216"+
-    "\1\361\2\216\1\361\2\216\1\0\4\216\1\0\1\361"+
-    "\1\216\1\0\1\216\1\0\1\361\2\216\6\0\1\362"+
-    "\1\113\1\222\1\113\1\0\1\113\1\362\1\0\1\113"+
-    "\1\0\1\113\3\0\2\113\2\0\3\113\1\223\1\113"+
-    "\7\0\1\362\2\113\1\362\2\113\1\362\2\113\1\0"+
-    "\4\113\1\0\1\362\1\113\1\0\1\113\1\0\1\362"+
-    "\2\113\6\0\1\363\1\225\1\226\1\225\1\227\1\225"+
-    "\1\363\27\225\1\363\2\225\1\363\2\225\1\363\10\225"+
-    "\1\363\4\225\1\363\7\225\1\0\2\225\1\226\1\0"+
-    "\1\227\12\225\1\0\52\225\1\0\1\364\1\230\1\231"+
-    "\3\230\1\364\1\227\26\230\1\364\2\230\1\364\2\230"+
-    "\1\364\10\230\1\364\4\230\1\364\7\230\1\0\2\230"+
-    "\1\231\1\0\3\230\1\227\7\230\1\0\52\230\1\0"+
-    "\1\365\1\235\1\236\1\235\1\0\1\235\1\365\1\0"+
-    "\1\235\1\0\1\235\3\0\2\235\2\0\3\235\1\0"+
-    "\1\235\7\0\1\365\2\235\1\365\2\235\1\365\2\235"+
-    "\1\0\4\235\1\0\1\365\1\235\1\0\1\235\1\0"+
-    "\1\365\2\235\6\0\1\366\5\0\1\366\3\0\1\367"+
-    "\5\0\1\366\5\0\1\366\7\0\2\366\1\0\2\366"+
-    "\1\0\2\366\7\0\2\366\3\0\2\366\7\0\2\113"+
-    "\1\222\3\0\1\113\3\0\1\113\7\0\3\113\1\370"+
-    "\1\113\7\0\11\113\1\0\4\113\1\0\2\113\1\0"+
-    "\1\113\1\0\3\113\60\0\1\371\20\0\1\372\1\25"+
-    "\1\131\1\25\1\0\1\25\1\372\1\0\1\25\1\0"+
-    "\1\25\3\0\2\25\2\0\3\25\1\0\1\25\7\0"+
-    "\1\372\2\25\1\372\2\25\1\372\2\25\1\0\4\25"+
-    "\1\0\1\372\1\25\1\0\1\25\1\0\1\372\2\25"+
-    "\6\0\1\373\1\134\1\135\1\134\1\0\1\134\1\373"+
-    "\1\0\1\134\1\0\1\134\3\0\2\134\2\0\3\134"+
-    "\1\0\1\134\7\0\1\373\2\134\1\373\2\134\1\373"+
-    "\2\134\1\0\4\134\1\0\1\373\1\134\1\0\1\134"+
-    "\1\0\1\373\2\134\6\0\1\374\1\136\1\137\1\136"+
-    "\1\0\1\136\1\374\1\0\1\136\1\0\1\136\3\0"+
-    "\2\136\2\0\3\136\1\0\1\136\7\0\1\374\2\136"+
-    "\1\374\2\136\1\374\2\136\1\0\4\136\1\0\1\374"+
-    "\1\136\1\0\1\136\1\0\1\374\2\136\31\0\1\375"+
-    "\122\0\1\376\67\0\1\377\66\0\2\u0100\73\0\1\u0101"+
-    "\24\0\2\341\1\342\1\u0102\1\0\1\u0102\1\341\1\0"+
-    "\1\u0102\1\u0103\1\341\3\0\2\u0102\2\0\3\341\1\0"+
-    "\1\341\7\0\11\341\1\0\4\341\1\0\2\341\1\0"+
-    "\1\341\1\0\3\341\6\0\1\u0104\2\341\1\0\2\341"+
-    "\1\u0104\1\341\1\0\5\341\2\0\16\341\1\u0104\2\341"+
-    "\1\u0104\2\341\1\u0104\10\341\1\u0104\4\341\1\u0104\7\341"+
-    "\1\0\1\u0105\1\147\1\150\1\147\1\0\1\147\1\u0105"+
-    "\1\0\1\147\1\0\1\147\3\0\2\147\2\0\3\147"+
-    "\1\260\1\147\7\0\1\u0105\2\147\1\u0105\2\147\1\u0105"+
-    "\2\147\1\0\4\147\1\0\1\u0105\1\147\1\0\1\147"+
-    "\1\0\1\u0105\2\147\6\0\1\u0106\1\151\1\152\1\151"+
-    "\1\153\1\151\1\u0106\27\151\1\u0106\2\151\1\u0106\2\151"+
-    "\1\u0106\10\151\1\u0106\4\151\1\u0106\7\151\1\0\1\u0107"+
-    "\1\154\1\155\3\154\1\u0107\1\153\26\154\1\u0107\2\154"+
-    "\1\u0107\2\154\1\u0107\10\154\1\u0107\4\154\1\u0107\7\154"+
-    "\1\0\1\u0108\1\157\1\160\1\157\1\161\1\157\1\u0108"+
-    "\27\157\1\u0108\2\157\1\u0108\2\157\1\u0108\10\157\1\u0108"+
-    "\4\157\1\u0108\7\157\1\0\1\u0109\1\162\1\163\3\162"+
-    "\1\u0109\1\161\26\162\1\u0109\2\162\1\u0109\2\162\1\u0109"+
-    "\10\162\1\u0109\4\162\1\u0109\7\162\1\0\2\u010a\1\u010b"+
-    "\1\350\1\u010c\1\350\1\u010a\1\u010d\1\350\1\u010e\4\u010a"+
-    "\2\350\5\u010a\1\0\44\u010a\1\0\1\u010f\1\51\1\165"+
-    "\1\51\1\0\1\51\1\u010f\1\0\1\51\1\0\1\51"+
-    "\3\0\2\51\2\0\3\51\1\0\1\51\7\0\1\u010f"+
-    "\2\51\1\u010f\2\51\1\u010f\2\51\1\0\4\51\1\0"+
-    "\1\u010f\1\51\1\0\1\51\1\0\1\u010f\2\51\6\0"+
-    "\1\u0110\1\55\1\170\1\55\1\0\1\55\1\u0110\1\0"+
-    "\1\55\1\0\1\55\3\0\2\55\2\0\3\55\1\0"+
-    "\1\55\7\0\1\u0110\2\55\1\u0110\2\55\1\u0110\2\55"+
-    "\1\0\4\55\1\0\1\u0110\1\55\1\0\1\55\1\0"+
-    "\1\u0110\2\55\6\0\1\u0111\1\62\1\173\1\62\1\0"+
-    "\1\62\1\u0111\1\0\1\62\1\0\1\62\3\0\2\62"+
-    "\2\0\3\62\1\0\1\62\7\0\1\u0111\2\62\1\u0111"+
-    "\2\62\1\u0111\2\62\1\0\4\62\1\0\1\u0111\1\62"+
-    "\1\0\1\62\1\0\1\u0111\2\62\6\0\1\u0112\1\72"+
-    "\1\200\1\72\1\0\1\72\1\u0112\1\0\1\72\1\0"+
-    "\1\72\3\0\2\72\2\0\3\72\1\0\1\72\7\0"+
-    "\1\u0112\2\72\1\u0112\2\72\1\u0112\2\72\1\0\4\72"+
-    "\1\0\1\u0112\1\72\1\0\1\72\1\0\1\u0112\2\72"+
-    "\6\0\1\u0113\1\100\1\203\1\100\1\0\1\100\1\u0113"+
-    "\1\0\1\100\1\0\1\100\3\0\2\100\2\0\3\100"+
-    "\1\0\1\100\7\0\1\u0113\2\100\1\u0113\2\100\1\u0113"+
-    "\2\100\1\0\4\100\1\0\1\u0113\1\100\1\0\1\100"+
-    "\1\0\1\u0113\2\100\6\0\1\u0114\1\205\1\206\1\205"+
-    "\1\207\1\205\1\u0114\27\205\1\u0114\2\205\1\u0114\2\205"+
-    "\1\u0114\10\205\1\u0114\4\205\1\u0114\7\205\1\0\1\u0115"+
-    "\1\210\1\211\3\210\1\u0115\1\207\26\210\1\u0115\2\210"+
-    "\1\u0115\2\210\1\u0115\10\210\1\u0115\4\210\1\u0115\7\210"+
-    "\1\0\1\u0116\1\105\1\213\1\105\1\0\1\105\1\u0116"+
-    "\1\0\1\105\1\0\1\105\3\0\2\105\2\0\3\105"+
-    "\1\0\1\105\7\0\1\u0116\2\105\1\u0116\2\105\1\u0116"+
-    "\2\105\1\0\4\105\1\0\1\u0116\1\105\1\0\1\105"+
-    "\1\0\1\u0116\2\105\6\0\1\u0117\1\216\1\217\1\216"+
-    "\1\0\1\216\1\u0117\1\0\1\216\1\0\1\216\3\0"+
-    "\2\216\2\0\3\216\1\0\1\216\7\0\1\u0117\2\216"+
-    "\1\u0117\2\216\1\u0117\2\216\1\0\4\216\1\0\1\u0117"+
-    "\1\216\1\0\1\216\1\0\1\u0117\2\216\6\0\1\u0118"+
-    "\1\113\1\222\1\113\1\0\1\113\1\u0118\1\0\1\113"+
-    "\1\0\1\113\3\0\2\113\2\0\3\113\1\223\1\113"+
-    "\7\0\1\u0118\2\113\1\u0118\2\113\1\u0118\2\113\1\0"+
-    "\4\113\1\0\1\u0118\1\113\1\0\1\113\1\0\1\u0118"+
-    "\2\113\6\0\1\u0119\1\225\1\226\1\225\1\227\1\225"+
-    "\1\u0119\27\225\1\u0119\2\225\1\u0119\2\225\1\u0119\10\225"+
-    "\1\u0119\4\225\1\u0119\7\225\1\0\1\u011a\1\230\1\231"+
-    "\3\230\1\u011a\1\227\26\230\1\u011a\2\230\1\u011a\2\230"+
-    "\1\u011a\10\230\1\u011a\4\230\1\u011a\7\230\1\0\1\u011b"+
-    "\1\235\1\236\1\235\1\0\1\235\1\u011b\1\0\1\235"+
-    "\1\0\1\235\3\0\2\235\2\0\3\235\1\0\1\235"+
-    "\7\0\1\u011b\2\235\1\u011b\2\235\1\u011b\2\235\1\0"+
-    "\4\235\1\0\1\u011b\1\235\1\0\1\235\1\0\1\u011b"+
-    "\2\235\6\0\1\u011c\5\0\1\u011c\3\0\1\367\5\0"+
-    "\1\u011c\5\0\1\u011c\7\0\2\u011c\1\0\2\u011c\1\0"+
-    "\2\u011c\7\0\2\u011c\3\0\2\u011c\7\0\1\u011d\5\0"+
-    "\1\u011d\11\0\1\u011d\5\0\1\u011d\7\0\2\u011d\1\0"+
-    "\2\u011d\1\0\2\u011d\7\0\2\u011d\3\0\2\u011d\7\0"+
-    "\2\u011e\1\u011f\1\u0120\1\u0121\1\u0120\1\u011e\1\u0122\1\u0120"+
-    "\1\u0123\4\u011e\2\u0120\5\u011e\1\0\44\u011e\54\0\1\u0124"+
-    "\17\0\1\u0125\1\25\1\131\1\25\1\0\1\25\1\u0125"+
-    "\1\0\1\25\1\0\1\25\3\0\2\25\2\0\3\25"+
-    "\1\0\1\25\7\0\1\u0125\2\25\1\u0125\2\25\1\u0125"+
-    "\2\25\1\0\4\25\1\0\1\u0125\1\25\1\0\1\25"+
-    "\1\0\1\u0125\2\25\6\0\1\u0126\1\134\1\135\1\134"+
-    "\1\0\1\134\1\u0126\1\0\1\134\1\0\1\134\3\0"+
-    "\2\134\2\0\3\134\1\0\1\134\7\0\1\u0126\2\134"+
-    "\1\u0126\2\134\1\u0126\2\134\1\0\4\134\1\0\1\u0126"+
-    "\1\134\1\0\1\134\1\0\1\u0126\2\134\6\0\1\u0127"+
-    "\1\136\1\137\1\136\1\0\1\136\1\u0127\1\0\1\136"+
-    "\1\0\1\136\3\0\2\136\2\0\3\136\1\0\1\136"+
-    "\7\0\1\u0127\2\136\1\u0127\2\136\1\u0127\2\136\1\0"+
-    "\4\136\1\0\1\u0127\1\136\1\0\1\136\1\0\1\u0127"+
-    "\2\136\51\0\1\u0128\52\0\1\u0129\110\0\2\u012a\42\0"+
-    "\1\u012b\63\0\1\u0102\1\0\1\u0102\2\0\1\u0102\1\u0103"+
-    "\4\0\2\u0102\53\0\1\u012c\1\341\1\342\1\341\1\0"+
-    "\1\341\1\u012c\1\0\1\341\1\u0103\1\341\3\0\2\341"+
-    "\2\0\3\341\1\0\1\341\7\0\1\u012c\2\341\1\u012c"+
-    "\2\341\1\u012c\2\341\1\0\4\341\1\0\1\u012c\1\341"+
-    "\1\0\1\341\1\0\1\u012c\2\341\6\0\1\u012d\1\147"+
-    "\1\150\1\147\1\0\1\147\1\u012d\1\0\1\147\1\0"+
-    "\1\147\3\0\2\147\2\0\3\147\1\260\1\147\7\0"+
-    "\1\u012d\2\147\1\u012d\2\147\1\u012d\2\147\1\0\4\147"+
-    "\1\0\1\u012d\1\147\1\0\1\147\1\0\1\u012d\2\147"+
-    "\6\0\1\u012e\1\151\1\152\1\151\1\153\1\151\1\u012e"+
-    "\27\151\1\u012e\2\151\1\u012e\2\151\1\u012e\10\151\1\u012e"+
-    "\4\151\1\u012e\7\151\1\0\1\u012f\1\154\1\155\3\154"+
-    "\1\u012f\1\153\26\154\1\u012f\2\154\1\u012f\2\154\1\u012f"+
-    "\10\154\1\u012f\4\154\1\u012f\7\154\1\0\1\u0130\1\157"+
-    "\1\160\1\157\1\161\1\157\1\u0130\27\157\1\u0130\2\157"+
-    "\1\u0130\2\157\1\u0130\10\157\1\u0130\4\157\1\u0130\7\157"+
-    "\1\0\1\u0131\1\162\1\163\3\162\1\u0131\1\161\26\162"+
-    "\1\u0131\2\162\1\u0131\2\162\1\u0131\10\162\1\u0131\4\162"+
-    "\1\u0131\7\162\1\0\2\u010a\1\u010b\1\u0132\1\0\2\u010a"+
-    "\1\0\1\u0132\1\u010e\4\u010a\2\u0132\5\u010a\1\0\44\u010a"+
-    "\1\0\1\u0133\1\u010a\1\u010b\1\u0132\2\u010a\1\u0133\1\u010a"+
-    "\1\u0132\1\u0134\4\u010a\2\u0132\16\u010a\1\u0133\2\u010a\1\u0133"+
-    "\2\u010a\1\u0133\10\u010a\1\u0133\4\u010a\1\u0133\7\u010a\1\0"+
-    "\2\u010c\1\u0135\1\0\1\u0132\11\u010c\2\0\52\u010c\1\0"+
-    "\2\u010d\1\u0136\1\0\3\u010d\1\u0132\6\u010d\2\0\52\u010d"+
-    "\1\0\1\u0137\1\51\1\165\1\51\1\0\1\51\1\u0137"+
-    "\1\0\1\51\1\0\1\51\3\0\2\51\2\0\3\51"+
-    "\1\0\1\51\7\0\1\u0137\2\51\1\u0137\2\51\1\u0137"+
-    "\2\51\1\0\4\51\1\0\1\u0137\1\51\1\0\1\51"+
-    "\1\0\1\u0137\2\51\6\0\1\u0138\1\55\1\170\1\55"+
-    "\1\0\1\55\1\u0138\1\0\1\55\1\0\1\55\3\0"+
-    "\2\55\2\0\3\55\1\0\1\55\7\0\1\u0138\2\55"+
-    "\1\u0138\2\55\1\u0138\2\55\1\0\4\55\1\0\1\u0138"+
-    "\1\55\1\0\1\55\1\0\1\u0138\2\55\6\0\1\u0139"+
-    "\1\62\1\173\1\62\1\0\1\62\1\u0139\1\0\1\62"+
-    "\1\0\1\62\3\0\2\62\2\0\3\62\1\0\1\62"+
-    "\7\0\1\u0139\2\62\1\u0139\2\62\1\u0139\2\62\1\0"+
-    "\4\62\1\0\1\u0139\1\62\1\0\1\62\1\0\1\u0139"+
-    "\2\62\6\0\1\u013a\1\72\1\200\1\72\1\0\1\72"+
-    "\1\u013a\1\0\1\72\1\0\1\72\3\0\2\72\2\0"+
-    "\3\72\1\0\1\72\7\0\1\u013a\2\72\1\u013a\2\72"+
-    "\1\u013a\2\72\1\0\4\72\1\0\1\u013a\1\72\1\0"+
-    "\1\72\1\0\1\u013a\2\72\6\0\1\u013b\1\100\1\203"+
-    "\1\100\1\0\1\100\1\u013b\1\0\1\100\1\0\1\100"+
-    "\3\0\2\100\2\0\3\100\1\0\1\100\7\0\1\u013b"+
-    "\2\100\1\u013b\2\100\1\u013b\2\100\1\0\4\100\1\0"+
-    "\1\u013b\1\100\1\0\1\100\1\0\1\u013b\2\100\6\0"+
-    "\1\u013c\1\205\1\206\1\205\1\207\1\205\1\u013c\27\205"+
-    "\1\u013c\2\205\1\u013c\2\205\1\u013c\10\205\1\u013c\4\205"+
-    "\1\u013c\7\205\1\0\1\u013d\1\210\1\211\3\210\1\u013d"+
-    "\1\207\26\210\1\u013d\2\210\1\u013d\2\210\1\u013d\10\210"+
-    "\1\u013d\4\210\1\u013d\7\210\1\0\1\u013e\1\105\1\213"+
-    "\1\105\1\0\1\105\1\u013e\1\0\1\105\1\0\1\105"+
-    "\3\0\2\105\2\0\3\105\1\0\1\105\7\0\1\u013e"+
-    "\2\105\1\u013e\2\105\1\u013e\2\105\1\0\4\105\1\0"+
-    "\1\u013e\1\105\1\0\1\105\1\0\1\u013e\2\105\6\0"+
-    "\1\u013f\1\216\1\217\1\216\1\0\1\216\1\u013f\1\0"+
-    "\1\216\1\0\1\216\3\0\2\216\2\0\3\216\1\0"+
-    "\1\216\7\0\1\u013f\2\216\1\u013f\2\216\1\u013f\2\216"+
-    "\1\0\4\216\1\0\1\u013f\1\216\1\0\1\216\1\0"+
-    "\1\u013f\2\216\6\0\1\u0140\1\113\1\222\1\113\1\0"+
-    "\1\113\1\u0140\1\0\1\113\1\0\1\113\3\0\2\113"+
-    "\2\0\3\113\1\223\1\113\7\0\1\u0140\2\113\1\u0140"+
-    "\2\113\1\u0140\2\113\1\0\4\113\1\0\1\u0140\1\113"+
-    "\1\0\1\113\1\0\1\u0140\2\113\6\0\1\u0141\1\225"+
-    "\1\226\1\225\1\227\1\225\1\u0141\27\225\1\u0141\2\225"+
-    "\1\u0141\2\225\1\u0141\10\225\1\u0141\4\225\1\u0141\7\225"+
-    "\1\0\1\u0142\1\230\1\231\3\230\1\u0142\1\227\26\230"+
-    "\1\u0142\2\230\1\u0142\2\230\1\u0142\10\230\1\u0142\4\230"+
-    "\1\u0142\7\230\1\0\1\u0143\1\235\1\236\1\235\1\0"+
-    "\1\235\1\u0143\1\0\1\235\1\0\1\235\3\0\2\235"+
-    "\2\0\3\235\1\0\1\235\7\0\1\u0143\2\235\1\u0143"+
-    "\2\235\1\u0143\2\235\1\0\4\235\1\0\1\u0143\1\235"+
-    "\1\0\1\235\1\0\1\u0143\2\235\6\0\1\u0144\5\0"+
-    "\1\u0144\3\0\1\367\5\0\1\u0144\5\0\1\u0144\7\0"+
-    "\2\u0144\1\0\2\u0144\1\0\2\u0144\7\0\2\u0144\3\0"+
-    "\2\u0144\7\0\1\u0145\5\0\1\u0145\11\0\1\u0145\5\0"+
-    "\1\u0145\7\0\2\u0145\1\0\2\u0145\1\0\2\u0145\7\0"+
-    "\2\u0145\3\0\2\u0145\7\0\2\u011e\1\u011f\1\u0146\1\0"+
-    "\2\u011e\1\0\1\u0146\1\u0123\4\u011e\2\u0146\5\u011e\1\0"+
-    "\44\u011e\1\0\1\u0147\1\u011e\1\u011f\1\u0146\2\u011e\1\u0147"+
-    "\1\u011e\1\u0146\1\u0148\4\u011e\2\u0146\16\u011e\1\u0147\2\u011e"+
-    "\1\u0147\2\u011e\1\u0147\10\u011e\1\u0147\4\u011e\1\u0147\7\u011e"+
-    "\1\0\2\u0121\1\u0149\1\0\1\u0146\11\u0121\2\0\52\u0121"+
-    "\1\0\2\u0122\1\u014a\1\0\3\u0122\1\u0146\6\u0122\2\0"+
-    "\52\u0122\24\0\1\u014b\47\0\1\u014c\1\25\1\131\1\25"+
-    "\1\0\1\25\1\u014c\1\0\1\25\1\0\1\25\3\0"+
-    "\2\25\2\0\3\25\1\0\1\25\7\0\1\u014c\2\25"+
-    "\1\u014c\2\25\1\u014c\2\25\1\0\4\25\1\0\1\u014c"+
-    "\1\25\1\0\1\25\1\0\1\u014c\2\25\6\0\1\u014d"+
-    "\1\134\1\135\1\134\1\0\1\134\1\u014d\1\0\1\134"+
-    "\1\0\1\134\3\0\2\134\2\0\3\134\1\0\1\134"+
-    "\7\0\1\u014d\2\134\1\u014d\2\134\1\u014d\2\134\1\0"+
-    "\4\134\1\0\1\u014d\1\134\1\0\1\134\1\0\1\u014d"+
-    "\2\134\6\0\1\u014e\1\136\1\137\1\136\1\0\1\136"+
-    "\1\u014e\1\0\1\136\1\0\1\136\3\0\2\136\2\0"+
-    "\3\136\1\0\1\136\7\0\1\u014e\2\136\1\u014e\2\136"+
-    "\1\u014e\2\136\1\0\4\136\1\0\1\u014e\1\136\1\0"+
-    "\1\136\1\0\1\u014e\2\136\52\0\2\u014f\73\0\1\u0150"+
-    "\106\0\2\u0151\7\0\1\u0152\1\341\1\342\1\341\1\0"+
-    "\1\341\1\u0152\1\0\1\341\1\u0103\1\341\3\0\2\341"+
-    "\2\0\3\341\1\0\1\341\7\0\1\u0152\2\341\1\u0152"+
-    "\2\341\1\u0152\2\341\1\0\4\341\1\0\1\u0152\1\341"+
-    "\1\0\1\341\1\0\1\u0152\2\341\6\0\1\u0153\1\147"+
-    "\1\150\1\147\1\0\1\147\1\u0153\1\0\1\147\1\0"+
-    "\1\147\3\0\2\147\2\0\3\147\1\260\1\147\7\0"+
-    "\1\u0153\2\147\1\u0153\2\147\1\u0153\2\147\1\0\4\147"+
-    "\1\0\1\u0153\1\147\1\0\1\147\1\0\1\u0153\2\147"+
-    "\6\0\1\u0154\1\151\1\152\1\151\1\153\1\151\1\u0154"+
-    "\27\151\1\u0154\2\151\1\u0154\2\151\1\u0154\10\151\1\u0154"+
-    "\4\151\1\u0154\7\151\1\0\1\u0155\1\154\1\155\3\154"+
-    "\1\u0155\1\153\26\154\1\u0155\2\154\1\u0155\2\154\1\u0155"+
-    "\10\154\1\u0155\4\154\1\u0155\7\154\1\0\1\u0156\1\157"+
-    "\1\160\1\157\1\161\1\157\1\u0156\27\157\1\u0156\2\157"+
-    "\1\u0156\2\157\1\u0156\10\157\1\u0156\4\157\1\u0156\7\157"+
-    "\1\0\1\u0157\1\162\1\163\3\162\1\u0157\1\161\26\162"+
-    "\1\u0157\2\162\1\u0157\2\162\1\u0157\10\162\1\u0157\4\162"+
-    "\1\u0157\7\162\4\0\1\u0132\1\0\1\u0132\2\0\1\u0132"+
-    "\1\u010e\4\0\2\u0132\53\0\1\u0158\1\u010a\1\u010b\1\u010a"+
-    "\1\0\1\u010a\1\u0158\1\0\1\u010a\1\u010e\13\u010a\1\0"+
-    "\10\u010a\1\u0158\2\u010a\1\u0158\2\u010a\1\u0158\10\u010a\1\u0158"+
-    "\4\u010a\1\u0158\7\u010a\1\0\1\u0159\1\u010c\1\u0135\1\u010c"+
-    "\1\u015a\1\u010c\1\u0159\10\u010c\1\u015b\16\u010c\1\u0159\2\u010c"+
-    "\1\u0159\2\u010c\1\u0159\10\u010c\1\u0159\4\u010c\1\u0159\7\u010c"+
-    "\1\0\1\u015c\1\u010d\1\u0136\3\u010d\1\u015c\1\u015d\7\u010d"+
-    "\1\u015e\16\u010d\1\u015c\2\u010d\1\u015c\2\u010d\1\u015c\10\u010d"+
-    "\1\u015c\4\u010d\1\u015c\7\u010d\1\0\1\u015f\1\51\1\165"+
-    "\1\51\1\0\1\51\1\u015f\1\0\1\51\1\0\1\51"+
-    "\3\0\2\51\2\0\3\51\1\0\1\51\7\0\1\u015f"+
-    "\2\51\1\u015f\2\51\1\u015f\2\51\1\0\4\51\1\0"+
-    "\1\u015f\1\51\1\0\1\51\1\0\1\u015f\2\51\6\0"+
-    "\1\u0160\1\55\1\170\1\55\1\0\1\55\1\u0160\1\0"+
-    "\1\55\1\0\1\55\3\0\2\55\2\0\3\55\1\0"+
-    "\1\55\7\0\1\u0160\2\55\1\u0160\2\55\1\u0160\2\55"+
-    "\1\0\4\55\1\0\1\u0160\1\55\1\0\1\55\1\0"+
-    "\1\u0160\2\55\6\0\1\u0161\1\62\1\173\1\62\1\0"+
-    "\1\62\1\u0161\1\0\1\62\1\0\1\62\3\0\2\62"+
-    "\2\0\3\62\1\0\1\62\7\0\1\u0161\2\62\1\u0161"+
-    "\2\62\1\u0161\2\62\1\0\4\62\1\0\1\u0161\1\62"+
-    "\1\0\1\62\1\0\1\u0161\2\62\6\0\1\u0162\1\72"+
-    "\1\200\1\72\1\0\1\72\1\u0162\1\0\1\72\1\0"+
-    "\1\72\3\0\2\72\2\0\3\72\1\0\1\72\7\0"+
-    "\1\u0162\2\72\1\u0162\2\72\1\u0162\2\72\1\0\4\72"+
-    "\1\0\1\u0162\1\72\1\0\1\72\1\0\1\u0162\2\72"+
-    "\6\0\1\u0163\1\100\1\203\1\100\1\0\1\100\1\u0163"+
-    "\1\0\1\100\1\0\1\100\3\0\2\100\2\0\3\100"+
-    "\1\0\1\100\7\0\1\u0163\2\100\1\u0163\2\100\1\u0163"+
-    "\2\100\1\0\4\100\1\0\1\u0163\1\100\1\0\1\100"+
-    "\1\0\1\u0163\2\100\6\0\1\u0164\1\205\1\206\1\205"+
-    "\1\207\1\205\1\u0164\27\205\1\u0164\2\205\1\u0164\2\205"+
-    "\1\u0164\10\205\1\u0164\4\205\1\u0164\7\205\1\0\1\u0165"+
-    "\1\210\1\211\3\210\1\u0165\1\207\26\210\1\u0165\2\210"+
-    "\1\u0165\2\210\1\u0165\10\210\1\u0165\4\210\1\u0165\7\210"+
-    "\1\0\1\u0166\1\105\1\213\1\105\1\0\1\105\1\u0166"+
-    "\1\0\1\105\1\0\1\105\3\0\2\105\2\0\3\105"+
-    "\1\0\1\105\7\0\1\u0166\2\105\1\u0166\2\105\1\u0166"+
-    "\2\105\1\0\4\105\1\0\1\u0166\1\105\1\0\1\105"+
-    "\1\0\1\u0166\2\105\6\0\1\u0167\1\216\1\217\1\216"+
-    "\1\0\1\216\1\u0167\1\0\1\216\1\0\1\216\3\0"+
-    "\2\216\2\0\3\216\1\0\1\216\7\0\1\u0167\2\216"+
-    "\1\u0167\2\216\1\u0167\2\216\1\0\4\216\1\0\1\u0167"+
-    "\1\216\1\0\1\216\1\0\1\u0167\2\216\6\0\1\u0168"+
-    "\1\113\1\222\1\113\1\0\1\113\1\u0168\1\0\1\113"+
-    "\1\0\1\113\3\0\2\113\2\0\3\113\1\223\1\113"+
-    "\7\0\1\u0168\2\113\1\u0168\2\113\1\u0168\2\113\1\0"+
-    "\4\113\1\0\1\u0168\1\113\1\0\1\113\1\0\1\u0168"+
-    "\2\113\6\0\1\u0169\1\225\1\226\1\225\1\227\1\225"+
-    "\1\u0169\27\225\1\u0169\2\225\1\u0169\2\225\1\u0169\10\225"+
-    "\1\u0169\4\225\1\u0169\7\225\1\0\1\u016a\1\230\1\231"+
-    "\3\230\1\u016a\1\227\26\230\1\u016a\2\230\1\u016a\2\230"+
-    "\1\u016a\10\230\1\u016a\4\230\1\u016a\7\230\1\0\1\u016b"+
-    "\1\235\1\236\1\235\1\0\1\235\1\u016b\1\0\1\235"+
-    "\1\0\1\235\3\0\2\235\2\0\3\235\1\0\1\235"+
-    "\7\0\1\u016b\2\235\1\u016b\2\235\1\u016b\2\235\1\0"+
-    "\4\235\1\0\1\u016b\1\235\1\0\1\235\1\0\1\u016b"+
-    "\2\235\6\0\1\u016c\5\0\1\u016c\3\0\1\367\5\0"+
-    "\1\u016c\5\0\1\u016c\7\0\2\u016c\1\0\2\u016c\1\0"+
-    "\2\u016c\7\0\2\u016c\3\0\2\u016c\7\0\1\u016d\5\0"+
-    "\1\u016d\11\0\1\u016d\5\0\1\u016d\7\0\2\u016d\1\0"+
-    "\2\u016d\1\0\2\u016d\7\0\2\u016d\3\0\2\u016d\12\0"+
-    "\1\u0146\1\0\1\u0146\2\0\1\u0146\1\u0123\4\0\2\u0146"+
-    "\53\0\1\u016e\1\u011e\1\u011f\1\u011e\1\0\1\u011e\1\u016e"+
-    "\1\0\1\u011e\1\u0123\13\u011e\1\0\10\u011e\1\u016e\2\u011e"+
-    "\1\u016e\2\u011e\1\u016e\10\u011e\1\u016e\4\u011e\1\u016e\7\u011e"+
-    "\1\0\1\u016f\1\u0121\1\u0149\1\u0121\1\u0170\1\u0121\1\u016f"+
-    "\10\u0121\1\u0171\16\u0121\1\u016f\2\u0121\1\u016f\2\u0121\1\u016f"+
-    "\10\u0121\1\u016f\4\u0121\1\u016f\7\u0121\1\0\1\u0172\1\u0122"+
-    "\1\u014a\3\u0122\1\u0172\1\u0173\7\u0122\1\u0174\16\u0122\1\u0172"+
-    "\2\u0122\1\u0172\2\u0122\1\u0172\10\u0122\1\u0172\4\u0122\1\u0172"+
-    "\7\u0122\47\0\1\u0175\24\0\2\25\1\131\1\25\1\0"+
-    "\2\25\1\0\1\25\1\0\1\25\3\0\2\25\2\0"+
-    "\3\25\1\0\1\25\7\0\11\25\1\0\4\25\1\0"+
-    "\2\25\1\0\1\25\1\0\3\25\6\0\1\u0176\1\134"+
-    "\1\135\1\134\1\0\1\134\1\u0176\1\0\1\134\1\0"+
-    "\1\134\3\0\2\134\2\0\3\134\1\0\1\134\7\0"+
-    "\1\u0176\2\134\1\u0176\2\134\1\u0176\2\134\1\0\4\134"+
-    "\1\0\1\u0176\1\134\1\0\1\134\1\0\1\u0176\2\134"+
-    "\6\0\1\u0177\1\136\1\137\1\136\1\0\1\136\1\u0177"+
-    "\1\0\1\136\1\0\1\136\3\0\2\136\2\0\3\136"+
-    "\1\0\1\136\7\0\1\u0177\2\136\1\u0177\2\136\1\u0177"+
-    "\2\136\1\0\4\136\1\0\1\u0177\1\136\1\0\1\136"+
-    "\1\0\1\u0177\2\136\54\0\1\u0178\65\0\2\u0179\30\0"+
-    "\1\u017a\1\341\1\342\1\341\1\0\1\341\1\u017a\1\0"+
-    "\1\341\1\u0103\1\341\3\0\2\341\2\0\3\341\1\0"+
-    "\1\341\7\0\1\u017a\2\341\1\u017a\2\341\1\u017a\2\341"+
-    "\1\0\4\341\1\0\1\u017a\1\341\1\0\1\341\1\0"+
-    "\1\u017a\2\341\6\0\1\u017b\1\147\1\150\1\147\1\0"+
-    "\1\147\1\u017b\1\0\1\147\1\0\1\147\3\0\2\147"+
-    "\2\0\3\147\1\260\1\147\7\0\1\u017b\2\147\1\u017b"+
-    "\2\147\1\u017b\2\147\1\0\4\147\1\0\1\u017b\1\147"+
-    "\1\0\1\147\1\0\1\u017b\2\147\6\0\1\u017c\1\151"+
-    "\1\152\1\151\1\153\1\151\1\u017c\27\151\1\u017c\2\151"+
-    "\1\u017c\2\151\1\u017c\10\151\1\u017c\4\151\1\u017c\7\151"+
-    "\1\0\1\u017d\1\154\1\155\3\154\1\u017d\1\153\26\154"+
-    "\1\u017d\2\154\1\u017d\2\154\1\u017d\10\154\1\u017d\4\154"+
-    "\1\u017d\7\154\1\0\1\u017e\1\157\1\160\1\157\1\161"+
-    "\1\157\1\u017e\27\157\1\u017e\2\157\1\u017e\2\157\1\u017e"+
-    "\10\157\1\u017e\4\157\1\u017e\7\157\1\0\1\u017f\1\162"+
-    "\1\163\3\162\1\u017f\1\161\26\162\1\u017f\2\162\1\u017f"+
-    "\2\162\1\u017f\10\162\1\u017f\4\162\1\u017f\7\162\1\0"+
-    "\1\u0180\1\u010a\1\u010b\1\u010a\1\0\1\u010a\1\u0180\1\0"+
-    "\1\u010a\1\u010e\13\u010a\1\0\10\u010a\1\u0180\2\u010a\1\u0180"+
-    "\2\u010a\1\u0180\10\u010a\1\u0180\4\u010a\1\u0180\7\u010a\1\0"+
-    "\1\u0181\1\u010c\1\u0135\1\u010c\1\u0132\1\u010c\1\u0181\27\u010c"+
-    "\1\u0181\2\u010c\1\u0181\2\u010c\1\u0181\10\u010c\1\u0181\4\u010c"+
-    "\1\u0181\7\u010c\1\0\2\u010c\1\u0135\2\u0132\1\u015a\2\u010c"+
-    "\1\u015a\1\u0182\4\u010c\2\u0132\52\u010c\1\0\2\u010c\1\u0135"+
-    "\1\0\1\u0132\12\u010c\1\0\52\u010c\1\0\1\u0183\1\u010d"+
-    "\1\u0136\3\u010d\1\u0183\1\u0132\26\u010d\1\u0183\2\u010d\1\u0183"+
-    "\2\u010d\1\u0183\10\u010d\1\u0183\4\u010d\1\u0183\7\u010d\1\0"+
-    "\2\u010d\1\u0136\1\u0132\1\u010d\1\u015d\1\u010d\1\u0132\1\u015d"+
-    "\1\u0184\4\u010d\2\u0132\52\u010d\1\0\2\u010d\1\u0136\1\0"+
-    "\3\u010d\1\u0132\7\u010d\1\0\52\u010d\1\0\2\51\1\165"+
-    "\1\51\1\0\2\51\1\0\1\51\1\0\1\51\3\0"+
-    "\2\51\2\0\3\51\1\0\1\51\7\0\11\51\1\0"+
-    "\4\51\1\0\2\51\1\0\1\51\1\0\3\51\6\0"+
-    "\2\55\1\170\1\55\1\0\2\55\1\0\1\55\1\0"+
-    "\1\55\3\0\2\55\2\0\3\55\1\0\1\55\7\0"+
-    "\11\55\1\0\4\55\1\0\2\55\1\0\1\55\1\0"+
-    "\3\55\6\0\2\62\1\173\1\62\1\0\2\62\1\0"+
-    "\1\62\1\0\1\62\3\0\2\62\2\0\3\62\1\0"+
-    "\1\62\7\0\11\62\1\0\4\62\1\0\2\62\1\0"+
-    "\1\62\1\0\3\62\6\0\2\72\1\200\1\72\1\0"+
-    "\2\72\1\0\1\72\1\0\1\72\3\0\2\72\2\0"+
-    "\3\72\1\0\1\72\7\0\11\72\1\0\4\72\1\0"+
-    "\2\72\1\0\1\72\1\0\3\72\6\0\2\100\1\203"+
-    "\1\100\1\0\2\100\1\0\1\100\1\0\1\100\3\0"+
-    "\2\100\2\0\3\100\1\0\1\100\7\0\11\100\1\0"+
-    "\4\100\1\0\2\100\1\0\1\100\1\0\3\100\6\0"+
-    "\1\u0185\1\205\1\206\1\205\1\207\1\205\1\u0185\27\205"+
-    "\1\u0185\2\205\1\u0185\2\205\1\u0185\10\205\1\u0185\4\205"+
-    "\1\u0185\7\205\1\0\1\u0186\1\210\1\211\3\210\1\u0186"+
-    "\1\207\26\210\1\u0186\2\210\1\u0186\2\210\1\u0186\10\210"+
-    "\1\u0186\4\210\1\u0186\7\210\1\0\2\105\1\213\1\105"+
-    "\1\0\2\105\1\0\1\105\1\0\1\105\3\0\2\105"+
-    "\2\0\3\105\1\0\1\105\7\0\11\105\1\0\4\105"+
-    "\1\0\2\105\1\0\1\105\1\0\3\105\6\0\1\u0187"+
-    "\1\216\1\217\1\216\1\0\1\216\1\u0187\1\0\1\216"+
-    "\1\0\1\216\3\0\2\216\2\0\3\216\1\0\1\216"+
-    "\7\0\1\u0187\2\216\1\u0187\2\216\1\u0187\2\216\1\0"+
-    "\4\216\1\0\1\u0187\1\216\1\0\1\216\1\0\1\u0187"+
-    "\2\216\6\0\2\113\1\222\1\113\1\0\2\113\1\0"+
-    "\1\113\1\0\1\113\3\0\2\113\2\0\3\113\1\223"+
-    "\1\113\7\0\11\113\1\0\4\113\1\0\2\113\1\0"+
-    "\1\113\1\0\3\113\6\0\1\u0188\1\225\1\226\1\225"+
-    "\1\227\1\225\1\u0188\27\225\1\u0188\2\225\1\u0188\2\225"+
-    "\1\u0188\10\225\1\u0188\4\225\1\u0188\7\225\1\0\1\u0189"+
-    "\1\230\1\231\3\230\1\u0189\1\227\26\230\1\u0189\2\230"+
-    "\1\u0189\2\230\1\u0189\10\230\1\u0189\4\230\1\u0189\7\230"+
-    "\1\0\1\u018a\1\235\1\236\1\235\1\0\1\235\1\u018a"+
-    "\1\0\1\235\1\0\1\235\3\0\2\235\2\0\3\235"+
-    "\1\0\1\235\7\0\1\u018a\2\235\1\u018a\2\235\1\u018a"+
-    "\2\235\1\0\4\235\1\0\1\u018a\1\235\1\0\1\235"+
-    "\1\0\1\u018a\2\235\6\0\1\u018b\5\0\1\u018b\3\0"+
-    "\1\367\5\0\1\u018b\5\0\1\u018b\7\0\2\u018b\1\0"+
-    "\2\u018b\1\0\2\u018b\7\0\2\u018b\3\0\2\u018b\7\0"+
-    "\1\u018c\5\0\1\u018c\11\0\1\u018c\5\0\1\u018c\7\0"+
-    "\2\u018c\1\0\2\u018c\1\0\2\u018c\7\0\2\u018c\3\0"+
-    "\2\u018c\7\0\1\u018d\1\u011e\1\u011f\1\u011e\1\0\1\u011e"+
-    "\1\u018d\1\0\1\u011e\1\u0123\13\u011e\1\0\10\u011e\1\u018d"+
-    "\2\u011e\1\u018d\2\u011e\1\u018d\10\u011e\1\u018d\4\u011e\1\u018d"+
-    "\7\u011e\1\0\1\u018e\1\u0121\1\u0149\1\u0121\1\u0146\1\u0121"+
-    "\1\u018e\27\u0121\1\u018e\2\u0121\1\u018e\2\u0121\1\u018e\10\u0121"+
-    "\1\u018e\4\u0121\1\u018e\7\u0121\1\0\2\u0121\1\u0149\2\u0146"+
-    "\1\u0170\2\u0121\1\u0170\1\u018f\4\u0121\2\u0146\52\u0121\1\0"+
-    "\2\u0121\1\u0149\1\0\1\u0146\12\u0121\1\0\52\u0121\1\0"+
-    "\1\u0190\1\u0122\1\u014a\3\u0122\1\u0190\1\u0146\26\u0122\1\u0190"+
-    "\2\u0122\1\u0190\2\u0122\1\u0190\10\u0122\1\u0190\4\u0122\1\u0190"+
-    "\7\u0122\1\0\2\u0122\1\u014a\1\u0146\1\u0122\1\u0173\1\u0122"+
-    "\1\u0146\1\u0173\1\u0191\4\u0122\2\u0146\52\u0122\1\0\2\u0122"+
-    "\1\u014a\1\0\3\u0122\1\u0146\7\u0122\1\0\52\u0122\42\0"+
-    "\2\u0192\30\0\2\134\1\135\1\134\1\0\2\134\1\0"+
-    "\1\134\1\0\1\134\3\0\2\134\2\0\3\134\1\0"+
-    "\1\134\7\0\11\134\1\0\4\134\1\0\2\134\1\0"+
-    "\1\134\1\0\3\134\6\0\2\136\1\137\1\136\1\0"+
-    "\2\136\1\0\1\136\1\0\1\136\3\0\2\136\2\0"+
-    "\3\136\1\0\1\136\7\0\11\136\1\0\4\136\1\0"+
-    "\2\136\1\0\1\136\1\0\3\136\44\0\2\u0193\33\0"+
-    "\1\u0194\1\341\1\342\1\341\1\0\1\341\1\u0194\1\0"+
-    "\1\341\1\u0103\1\341\3\0\2\341\2\0\3\341\1\0"+
-    "\1\341\7\0\1\u0194\2\341\1\u0194\2\341\1\u0194\2\341"+
-    "\1\0\4\341\1\0\1\u0194\1\341\1\0\1\341\1\0"+
-    "\1\u0194\2\341\6\0\2\147\1\150\1\147\1\0\2\147"+
-    "\1\0\1\147\1\0\1\147\3\0\2\147\2\0\3\147"+
-    "\1\260\1\147\7\0\11\147\1\0\4\147\1\0\2\147"+
-    "\1\0\1\147\1\0\3\147\6\0\2\151\1\152\1\151"+
-    "\1\153\65\151\1\0\2\154\1\155\4\154\1\153\62\154"+
-    "\1\0\2\157\1\160\1\157\1\161\65\157\1\0\2\162"+
-    "\1\163\4\162\1\161\62\162\1\0\1\u0195\1\u010a\1\u010b"+
-    "\1\u010a\1\0\1\u010a\1\u0195\1\0\1\u010a\1\u010e\13\u010a"+
-    "\1\0\10\u010a\1\u0195\2\u010a\1\u0195\2\u010a\1\u0195\10\u010a"+
-    "\1\u0195\4\u010a\1\u0195\7\u010a\1\0\1\u0196\1\u010c\1\u0135"+
-    "\1\u010c\1\u0132\1\u010c\1\u0196\27\u010c\1\u0196\2\u010c\1\u0196"+
-    "\2\u010c\1\u0196\10\u010c\1\u0196\4\u010c\1\u0196\7\u010c\1\0"+
-    "\1\u0197\1\u010d\1\u0136\3\u010d\1\u0197\1\u0132\26\u010d\1\u0197"+
-    "\2\u010d\1\u0197\2\u010d\1\u0197\10\u010d\1\u0197\4\u010d\1\u0197"+
-    "\7\u010d\1\0\2\205\1\206\1\205\1\207\65\205\1\0"+
-    "\2\210\1\211\4\210\1\207\62\210\1\0\2\216\1\217"+
-    "\1\216\1\0\2\216\1\0\1\216\1\0\1\216\3\0"+
-    "\2\216\2\0\3\216\1\0\1\216\7\0\11\216\1\0"+
-    "\4\216\1\0\2\216\1\0\1\216\1\0\3\216\6\0"+
-    "\2\225\1\226\1\225\1\227\65\225\1\0\2\230\1\231"+
-    "\4\230\1\227\62\230\1\0\2\235\1\236\1\235\1\0"+
-    "\2\235\1\0\1\235\1\0\1\235\3\0\2\235\2\0"+
-    "\3\235\1\0\1\235\7\0\11\235\1\0\4\235\1\0"+
-    "\2\235\1\0\1\235\1\0\3\235\20\0\1\367\60\0"+
-    "\1\u0198\5\0\1\u0198\11\0\1\u0198\5\0\1\u0198\7\0"+
-    "\2\u0198\1\0\2\u0198\1\0\2\u0198\7\0\2\u0198\3\0"+
-    "\2\u0198\7\0\1\u0199\1\u011e\1\u011f\1\u011e\1\0\1\u011e"+
-    "\1\u0199\1\0\1\u011e\1\u0123\13\u011e\1\0\10\u011e\1\u0199"+
-    "\2\u011e\1\u0199\2\u011e\1\u0199\10\u011e\1\u0199\4\u011e\1\u0199"+
-    "\7\u011e\1\0\1\u019a\1\u0121\1\u0149\1\u0121\1\u0146\1\u0121"+
-    "\1\u019a\27\u0121\1\u019a\2\u0121\1\u019a\2\u0121\1\u019a\10\u0121"+
-    "\1\u019a\4\u0121\1\u019a\7\u0121\1\0\1\u019b\1\u0122\1\u014a"+
-    "\3\u0122\1\u019b\1\u0146\26\u0122\1\u019b\2\u0122\1\u019b\2\u0122"+
-    "\1\u019b\10\u0122\1\u019b\4\u0122\1\u019b\7\u0122\65\0\1\u019c"+
-    "\52\0\2\u019d\25\0\1\u019e\1\341\1\342\1\341\1\0"+
-    "\1\341\1\u019e\1\0\1\341\1\u0103\1\341\3\0\2\341"+
-    "\2\0\3\341\1\0\1\341\7\0\1\u019e\2\341\1\u019e"+
-    "\2\341\1\u019e\2\341\1\0\4\341\1\0\1\u019e\1\341"+
-    "\1\0\1\341\1\0\1\u019e\2\341\6\0\1\u019f\1\u010a"+
-    "\1\u010b\1\u010a\1\0\1\u010a\1\u019f\1\0\1\u010a\1\u010e"+
-    "\13\u010a\1\0\10\u010a\1\u019f\2\u010a\1\u019f\2\u010a\1\u019f"+
-    "\10\u010a\1\u019f\4\u010a\1\u019f\7\u010a\1\0\1\u01a0\1\u010c"+
-    "\1\u0135\1\u010c\1\u0132\1\u010c\1\u01a0\27\u010c\1\u01a0\2\u010c"+
-    "\1\u01a0\2\u010c\1\u01a0\10\u010c\1\u01a0\4\u010c\1\u01a0\7\u010c"+
-    "\1\0\1\u01a1\1\u010d\1\u0136\3\u010d\1\u01a1\1\u0132\26\u010d"+
-    "\1\u01a1\2\u010d\1\u01a1\2\u010d\1\u01a1\10\u010d\1\u01a1\4\u010d"+
-    "\1\u01a1\7\u010d\1\0\1\u01a2\5\0\1\u01a2\11\0\1\u01a2"+
-    "\5\0\1\u01a2\7\0\2\u01a2\1\0\2\u01a2\1\0\2\u01a2"+
-    "\7\0\2\u01a2\3\0\2\u01a2\7\0\1\u01a3\1\u011e\1\u011f"+
-    "\1\u011e\1\0\1\u011e\1\u01a3\1\0\1\u011e\1\u0123\13\u011e"+
-    "\1\0\10\u011e\1\u01a3\2\u011e\1\u01a3\2\u011e\1\u01a3\10\u011e"+
-    "\1\u01a3\4\u011e\1\u01a3\7\u011e\1\0\1\u01a4\1\u0121\1\u0149"+
-    "\1\u0121\1\u0146\1\u0121\1\u01a4\27\u0121\1\u01a4\2\u0121\1\u01a4"+
-    "\2\u0121\1\u01a4\10\u0121\1\u01a4\4\u0121\1\u01a4\7\u0121\1\0"+
-    "\1\u01a5\1\u0122\1\u014a\3\u0122\1\u01a5\1\u0146\26\u0122\1\u01a5"+
-    "\2\u0122\1\u01a5\2\u0122\1\u01a5\10\u0122\1\u01a5\4\u0122\1\u01a5"+
-    "\7\u0122\47\0\1\u01a6\24\0\2\341\1\342\1\341\1\0"+
-    "\2\341\1\0\1\341\1\u0103\1\341\3\0\2\341\2\0"+
-    "\3\341\1\0\1\341\7\0\11\341\1\0\4\341\1\0"+
-    "\2\341\1\0\1\341\1\0\3\341\6\0\1\u01a7\1\u010a"+
-    "\1\u010b\1\u010a\1\0\1\u010a\1\u01a7\1\0\1\u010a\1\u010e"+
-    "\13\u010a\1\0\10\u010a\1\u01a7\2\u010a\1\u01a7\2\u010a\1\u01a7"+
-    "\10\u010a\1\u01a7\4\u010a\1\u01a7\7\u010a\1\0\1\u01a8\1\u010c"+
-    "\1\u0135\1\u010c\1\u0132\1\u010c\1\u01a8\27\u010c\1\u01a8\2\u010c"+
-    "\1\u01a8\2\u010c\1\u01a8\10\u010c\1\u01a8\4\u010c\1\u01a8\7\u010c"+
-    "\1\0\1\u01a9\1\u010d\1\u0136\3\u010d\1\u01a9\1\u0132\26\u010d"+
-    "\1\u01a9\2\u010d\1\u01a9\2\u010d\1\u01a9\10\u010d\1\u01a9\4\u010d"+
-    "\1\u01a9\7\u010d\1\0\1\u01aa\1\u011e\1\u011f\1\u011e\1\0"+
-    "\1\u011e\1\u01aa\1\0\1\u011e\1\u0123\13\u011e\1\0\10\u011e"+
-    "\1\u01aa\2\u011e\1\u01aa\2\u011e\1\u01aa\10\u011e\1\u01aa\4\u011e"+
-    "\1\u01aa\7\u011e\1\0\1\u01ab\1\u0121\1\u0149\1\u0121\1\u0146"+
-    "\1\u0121\1\u01ab\27\u0121\1\u01ab\2\u0121\1\u01ab\2\u0121\1\u01ab"+
-    "\10\u0121\1\u01ab\4\u0121\1\u01ab\7\u0121\1\0\1\u01ac\1\u0122"+
-    "\1\u014a\3\u0122\1\u01ac\1\u0146\26\u0122\1\u01ac\2\u0122\1\u01ac"+
-    "\2\u0122\1\u01ac\10\u0122\1\u01ac\4\u0122\1\u01ac\7\u0122\1\0"+
-    "\2\u010a\1\u010b\1\u010a\1\0\2\u010a\1\0\1\u010a\1\u010e"+
-    "\13\u010a\1\0\44\u010a\1\0\1\u01ad\1\u010c\1\u0135\1\u010c"+
-    "\1\u0132\1\u010c\1\u01ad\27\u010c\1\u01ad\2\u010c\1\u01ad\2\u010c"+
-    "\1\u01ad\10\u010c\1\u01ad\4\u010c\1\u01ad\7\u010c\1\0\1\u01ae"+
-    "\1\u010d\1\u0136\3\u010d\1\u01ae\1\u0132\26\u010d\1\u01ae\2\u010d"+
-    "\1\u01ae\2\u010d\1\u01ae\10\u010d\1\u01ae\4\u010d\1\u01ae\7\u010d"+
-    "\1\0\2\u011e\1\u011f\1\u011e\1\0\2\u011e\1\0\1\u011e"+
-    "\1\u0123\13\u011e\1\0\44\u011e\1\0\1\u01af\1\u0121\1\u0149"+
-    "\1\u0121\1\u0146\1\u0121\1\u01af\27\u0121\1\u01af\2\u0121\1\u01af"+
-    "\2\u0121\1\u01af\10\u0121\1\u01af\4\u0121\1\u01af\7\u0121\1\0"+
-    "\1\u01b0\1\u0122\1\u014a\3\u0122\1\u01b0\1\u0146\26\u0122\1\u01b0"+
-    "\2\u0122\1\u01b0\2\u0122\1\u01b0\10\u0122\1\u01b0\4\u0122\1\u01b0"+
-    "\7\u0122\1\0\2\u010c\1\u0135\1\u010c\1\u0132\65\u010c\1\0"+
-    "\2\u010d\1\u0136\4\u010d\1\u0132\62\u010d\1\0\2\u0121\1\u0149"+
-    "\1\u0121\1\u0146\65\u0121\1\0\2\u0122\1\u014a\4\u0122\1\u0146"+
-    "\62\u0122";
-
-  /** 
-   * The transition table of the DFA
-   */
-  final private static int yytrans [] = yy_unpack(yy_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Internal error: unknown state",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /**
-   * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private final static byte YY_ATTRIBUTE[] = {
-     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-     0,  0,  0,  9,  1,  1,  1,  1,  1,  1,  1,  9,  1,  9,  1,  1, 
-     9,  1,  1,  1,  9,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  9, 
-     9,  1,  1,  1,  9,  1,  3,  9,  9,  1,  1,  1,  9,  1,  9,  1, 
-     1,  1,  1,  1,  1,  1,  1,  9,  9,  1,  1,  1,  1,  1,  9,  1, 
-     1,  1,  1,  1,  1,  1,  9,  3,  0,  1,  1,  1,  0,  1,  0,  0, 
-     0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  9,  0,  0,  0,  0,  0, 
-     9,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  1,  1, 13,  7,  0, 
-     1,  1,  0,  1,  0,  0,  9,  0,  0,  1,  0,  1,  1,  1,  0,  0, 
-     9,  0,  9,  1,  0,  0,  9,  0,  0,  1,  1,  1,  1,  0,  0,  1, 
-     0,  0, 13,  7,  1,  9,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0, 
-     1,  0,  1,  0,  0,  1,  0,  0,  1,  0,  0,  1,  0,  0,  1,  1, 
-     1,  1,  1,  0,  1,  0,  0,  1,  0,  1,  1,  1,  0,  1,  0,  0, 
-     1,  0,  1,  1,  1,  0,  1,  1,  1,  9,  9,  0,  0,  0,  0,  0, 
-     0,  0,  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  1, 
-     1,  1,  0,  0,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0,  0,  9, 
-     0,  0,  9,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  9,  1,  1, 
-     1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  0, 
-     0,  0,  9,  0,  1,  1,  1,  0,  0,  9,  0,  0,  1,  0,  0,  0, 
-     0,  0,  0,  1,  0,  0,  1,  1,  1,  1,  1,  0,  0,  1,  1,  1, 
-     0,  0,  1,  1,  1,  0,  0,  1,  0,  0,  0,  1,  1,  1,  0,  9, 
-     0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1, 
-     1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  1,  1,  1,  0,  0,  0, 
-     0,  0,  0,  0,  0,  1,  1,  9,  0,  0,  1,  0,  0,  0,  0,  0, 
-     0,  1,  0,  1,  0,  0,  1,  0,  0,  1,  1,  1,  0,  0,  1,  0, 
-     1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  9,  0,  0,  0, 
-     0,  9,  0,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /* user code: */
-	private final static String UNDEFINED = "undefined";
-	private String fBufferedContext = null;
-	private int fBufferedStart;
-//	private int fBufferedTextLength;
-	private int fBufferedLength;
-//	private StringBuffer fBufferedText = null;
-	private CSSTextRegionFactory fRegionFactory = CSSTextRegionFactory.getInstance();
-	private int fInitialState = YYINITIAL;
-	public final static int BUFFER_SIZE_NORMAL = 16384;
-	public final static int BUFFER_SIZE_SMALL = 256;
-	private int fInitialBufferSize = BUFFER_SIZE_NORMAL;
-
-	public void setInitialState(int state) {
-		fInitialState = state;
-	}
-	
-	public void setInitialBufferSize(int size) {
-		fInitialBufferSize = size;
-	}
-
-	/* user method */
-  	public final ITextRegion getNextToken() throws IOException {
-		String context;
-		String nextTokenType;
-		boolean spaceFollows;
-//		StringBuffer text;
-		int start;
-		int textLength;
-		int length;
-		if (fBufferedContext != null) {
-			context = fBufferedContext;
-//			text = fBufferedText;
-			start = fBufferedStart;
-			textLength = length = fBufferedLength;
-
-			fBufferedContext = null;
-		} else {
-			context = primGetNextToken();
-//			text = new StringBuffer(yytext());
-			start = yychar;
-			textLength = length = yylength();
-		}
-
-		if (context != null) {
-			if (context == UNDEFINED) {
-				// undef -> concatenate undef's
-				nextTokenType = primGetNextToken();
-				while (nextTokenType == UNDEFINED) {
-//					text.append(yytext());
-					textLength += yylength();
-					length = textLength;
-					nextTokenType = primGetNextToken();
-				}
-				fBufferedContext = nextTokenType;
-//				fBufferedText = new StringBuffer(yytext());
-				fBufferedStart = yychar;
-				fBufferedLength = yylength();
-			} else {
-				nextTokenType = null;
-				spaceFollows = false;
-				if (CSSRegionUtil.isDeclarationValueType(context)) { // declaration value can contain VALUE_S
-					nextTokenType = primGetNextToken();
-					spaceFollows = (nextTokenType == CSS_DECLARATION_VALUE_S);
-				} else if (canContainSpace(context)) {
-					nextTokenType = primGetNextToken();
-					spaceFollows = (nextTokenType == CSS_S);
-				}
-				if (nextTokenType != null) { // nextToken is retrieved
-					if (spaceFollows) {
-						// next is space -> append
-//						text.append(yytext());
-						length += yylength();
-					} else {
-						// next is NOT space -> push this for next time, return itself
-						fBufferedContext = nextTokenType;
-//						fBufferedText = new StringBuffer(yytext());
-						fBufferedStart = yychar;
-						fBufferedLength = yylength();
-					}
-				}
-			}
-		}
-
-		if (context != null) {
-			if (context == UNDEFINED) {
-				context = CSS_UNKNOWN;
-			}
-			return fRegionFactory.createRegion(context, start, textLength, length);
-		} else {
-			return null;
-		}
-  	}
-
-	/* user method */
-	/* for standalone use */
-  	public final List parseText() throws IOException {
-  		List tokens = new ArrayList();
-
-  		CSSTextToken token;
-		for (String kind = primGetNextToken(); kind != null; kind = primGetNextToken()) {
-			token = new CSSTextToken();
-			token.kind = kind;  				
-			token.start = yychar;
-			token.length = yylength();
-			token.image = yytext();
-			tokens.add(token);
-		}
-
-  		return tokens;
-  	}
-  	
-  	/* user method */
-  	private boolean canContainSpace(String type) {
-  		if (type == CSS_DELIMITER || type == CSS_RBRACE || type == CSS_DECLARATION_DELIMITER) {
-  			return false;
-  		} else {
-  			return true;
-  		}
-  	}
-
-	/* user method */
-	public final int getOffset() {
-		return yychar;
-	}
-	
-	/* user method */
-	public final boolean isEOF() {
-		return yy_atEOF;
-	}
-
-	/* user method */
-	public void reset(char[] charArray) {
-		reset(new CharArrayReader(charArray), 0);
-	}
-
-	/* user method */
-	public final void reset(java.io.Reader in, int newOffset) {
-		/** the input device */
-		yy_reader = in;
-
-		/** the current state of the DFA */
-		yy_state = 0;
-
-		/** the current lexical state */
-		yy_lexical_state = fInitialState; //YYINITIAL;
-
-		/** this buffer contains the current text to be matched and is
-			the source of the yytext() string */
-		if (yy_buffer.length != fInitialBufferSize) {
-			yy_buffer = new char[fInitialBufferSize];
-		}
-		java.util.Arrays.fill(yy_buffer, (char)0);
-
-		/** the textposition at the last accepting state */
-		yy_markedPos = 0;
-
-		/** the textposition at the last state to be included in yytext */
-		yy_pushbackPos = 0;
-
-		/** the current text position in the buffer */
-		yy_currentPos = 0;
-
-		/** startRead marks the beginning of the yytext() string in the buffer */
-		yy_startRead = 0;
-
-		/** endRead marks the last character in the buffer, that has been read
-			from input */
-		yy_endRead = 0;
-
-		/** number of newlines encountered up to the start of the matched text */
-		yyline = 0;
-
-		/** the number of characters up to the start of the matched text */
-		yychar = 0;
-
-		/**
-		 * the number of characters from the last newline up to the start of the 
-		 * matched text
-		 */
-		yycolumn = 0; 
-
-		/** 
-		 * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-		 */
-		yy_atBOL = false;
-		
-		/** yy_atEOF == true <=> the scanner has returned a value for EOF */
-		yy_atEOF = false;
-
-		/* user variables */
-		//		fUndefined.delete(0, fUndefined.length());
-	}
-
-	/* user method */
-	public CSSTokenizer() {
-		super();
-	}
-
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public CSSTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public CSSTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed DFA transition table.
-   *
-   * @param packed   the packed transition table
-   * @return         the unpacked transition table
-   */
-  private static int [] yy_unpack(String packed) {
-    int [] trans = new int[21004];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 13906) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      value--;
-      do trans[j++] = value; while (--count > 0);
-    }
-    return trans;
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 170) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      System.out.println(YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-
-    System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  private void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-    yy_pushbackPos = -1;
-    boolean yy_was_pushback;
-
-    while (true) {
-
-      yychar+= yylength();
-
-      boolean yy_counted = false;
-      for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
-                                                      yy_currentPos++) {
-        switch (yy_buffer[yy_currentPos]) {
-        case '\r':
-          yyline++;
-          yy_counted = true;
-          break;
-        case '\n':
-          if (yy_counted)
-            yy_counted = false;
-          else {
-            yyline++;
-          }
-          break;
-        default:
-          yy_counted = false;
-        }
-      }
-
-      if (yy_counted) {
-        if ( yy_advance() == '\n' ) yyline--;
-        if ( !yy_atEOF ) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      yy_state = yy_lexical_state;
-
-      yy_was_pushback = false;
-
-      yy_forAction: {
-        while (true) {
-
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ];
-          if (yy_next == -1) break yy_forAction;
-          yy_state = yy_next;
-
-          int yy_attributes = YY_ATTRIBUTE[yy_state];
-          if ( (yy_attributes & 2) > 0 )
-            yy_pushbackPos = yy_currentPos;
-
-          if ( (yy_attributes & 1) > 0 ) {
-            yy_was_pushback = (yy_attributes & 4) > 0;
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( (yy_attributes & 8) > 0 ) break yy_forAction;
-          }
-
-        }
-      }
-
-      if (yy_was_pushback)
-        yy_markedPos = yy_pushbackPos;
-
-      switch (yy_action) {    
-
-        case 421: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_IMPORTANT;  }
-        case 433: break;
-        case 412: 
-          {  yybegin(ST_FONT_FACE_DELIMITER); return CSS_FONT_FACE;  }
-        case 434: break;
-        case 375: 
-          {  yybegin(ST_CHARSET_NAME); return CSS_CHARSET;  }
-        case 435: break;
-        case 335: 
-          {  yybegin(ST_IMPORT_URI); return CSS_IMPORT;  }
-        case 436: break;
-        case 297: 
-          {  yybegin(ST_MEDIA_MEDIUM); return CSS_MEDIA;  }
-        case 437: break;
-        case 290: 
-        case 327: 
-        case 398: 
-        case 400: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_URI;  }
-        case 438: break;
-        case 269: 
-        case 307: 
-        case 385: 
-        case 387: 
-          {  yybegin(ST_IMPORT_MEDIUM); return CSS_URI;  }
-        case 439: break;
-        case 255: 
-          {  yybegin(ST_PAGE_PSEUDO_PAGE); return CSS_PAGE;  }
-        case 440: break;
-        case 218: 
-          {  return CSS_COMMENT;  }
-        case 441: break;
-        case 217: 
-          {  return CSS_CDO;  }
-        case 442: break;
-        case 211: 
-        case 245: 
-        case 283: 
-        case 284: 
-        case 323: 
-        case 324: 
-        case 363: 
-        case 364: 
-        case 394: 
-        case 395: 
-        case 407: 
-        case 417: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_UNICODE_RANGE;  }
-        case 443: break;
-        case 165: 
-          {  return CSS_CDC;  }
-        case 444: break;
-        case 162: 
-          {  return CSS_DECLARATION_VALUE_S;  }
-        case 445: break;
-        case 156: 
-        case 210: 
-        case 244: 
-        case 282: 
-        case 322: 
-        case 362: 
-        case 393: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_HASH;  }
-        case 446: break;
-        case 150: 
-        case 205: 
-        case 208: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_STRING;  }
-        case 447: break;
-        case 57: 
-        case 59: 
-        case 128: 
-        case 129: 
-        case 193: 
-        case 235: 
-        case 273: 
-        case 313: 
-        case 353: 
-          {  yybegin(ST_SELECTOR_ATTRIBUTE_OPERATOR); return CSS_SELECTOR_ATTRIBUTE_NAME;  }
-        case 448: break;
-        case 56: 
-          {  yybegin(ST_SELECTOR); return CSS_SELECTOR_SEPARATOR;  }
-        case 449: break;
-        case 55: 
-        case 125: 
-          {  yybegin(ST_SELECTOR); return CSS_SELECTOR_COMBINATOR;  }
-        case 450: break;
-        case 52: 
-          {  yybegin(ST_DECLARATION); return CSS_LBRACE;  }
-        case 451: break;
-        case 49: 
-        case 51: 
-        case 123: 
-        case 124: 
-        case 192: 
-        case 234: 
-        case 272: 
-        case 312: 
-        case 352: 
-          {  yybegin(ST_PAGE_DELIMITER); return CSS_PAGE_SELECTOR;  }
-        case 452: break;
-        case 48: 
-          {  yybegin(YYINITIAL); return CSS_LBRACE;  }
-        case 453: break;
-        case 47: 
-          {  yybegin(ST_MEDIA_MEDIUM); return CSS_MEDIA_SEPARATOR;  }
-        case 454: break;
-        case 44: 
-        case 46: 
-        case 120: 
-        case 121: 
-        case 191: 
-        case 233: 
-        case 271: 
-        case 311: 
-        case 351: 
-          {  yybegin(ST_MEDIA_DELIMITER); return CSS_MEDIUM;  }
-        case 455: break;
-        case 43: 
-          {  yybegin(ST_IMPORT_MEDIUM); return CSS_MEDIA_SEPARATOR;  }
-        case 456: break;
-        case 20: 
-        case 23: 
-        case 89: 
-        case 90: 
-        case 164: 
-        case 214: 
-        case 249: 
-        case 292: 
-        case 331: 
-          {  yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ELEMENT_NAME;  }
-        case 457: break;
-        case 22: 
-        case 54: 
-        case 87: 
-        case 126: 
-        case 163: 
-          {  return CSS_S;  }
-        case 458: break;
-        case 27: 
-          {  yybegin(YYINITIAL); return CSS_RBRACE;  }
-        case 459: break;
-        case 29: 
-          {  yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_UNIVERSAL;  }
-        case 460: break;
-        case 32: 
-          {  yybegin(ST_SELECTOR_ATTRIBUTE_NAME); return CSS_SELECTOR_ATTRIBUTE_START;  }
-        case 461: break;
-        case 36: 
-          {  yybegin(YYINITIAL); return CSS_DELIMITER;  }
-        case 462: break;
-        case 40: 
-        case 42: 
-        case 117: 
-        case 118: 
-        case 190: 
-        case 232: 
-        case 270: 
-        case 310: 
-        case 350: 
-          {  yybegin(ST_IMPORT_DELIMITER); return CSS_MEDIUM;  }
-        case 463: break;
-        case 60: 
-          {  yybegin(ST_SELECTOR_ATTRIBUTE_VALUE); return CSS_SELECTOR_ATTRIBUTE_OPERATOR;  }
-        case 464: break;
-        case 62: 
-          {  yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ATTRIBUTE_END;  }
-        case 465: break;
-        case 63: 
-        case 67: 
-        case 131: 
-        case 134: 
-        case 137: 
-        case 194: 
-        case 196: 
-        case 199: 
-        case 236: 
-        case 274: 
-        case 314: 
-        case 354: 
-          {  yybegin(ST_SELECTOR_ATTRIBUTE_END); return CSS_SELECTOR_ATTRIBUTE_VALUE;  }
-        case 466: break;
-        case 68: 
-        case 70: 
-        case 139: 
-        case 140: 
-        case 201: 
-        case 239: 
-        case 277: 
-        case 317: 
-        case 357: 
-          {  yybegin(ST_DECLARATION_SEPARATOR); return CSS_DECLARATION_PROPERTY;  }
-        case 467: break;
-        case 71: 
-          {  yybegin(ST_DECLARATION); return CSS_DECLARATION_DELIMITER;  }
-        case 468: break;
-        case 72: 
-          {  yybegin(ST_DECLARATION_PRE_VALUE); return CSS_DECLARATION_SEPARATOR;  }
-        case 469: break;
-        case 73: 
-        case 155: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_NUMBER;  }
-        case 470: break;
-        case 74: 
-        case 79: 
-        case 83: 
-        case 147: 
-        case 153: 
-        case 154: 
-        case 159: 
-        case 203: 
-        case 212: 
-        case 241: 
-        case 279: 
-        case 319: 
-        case 359: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_IDENT;  }
-        case 471: break;
-        case 78: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE;  }
-        case 472: break;
-        case 85: 
-        case 86: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_OPERATOR;  }
-        case 473: break;
-        case 91: 
-        case 166: 
-        case 215: 
-        case 250: 
-        case 293: 
-        case 332: 
-        case 373: 
-          {  yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_CLASS;  }
-        case 474: break;
-        case 93: 
-        case 167: 
-        case 216: 
-        case 251: 
-        case 294: 
-        case 333: 
-        case 374: 
-          {  yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ID;  }
-        case 475: break;
-        case 102: 
-        case 176: 
-        case 226: 
-        case 258: 
-        case 260: 
-        case 300: 
-        case 338: 
-        case 378: 
-          {  yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO;  }
-        case 476: break;
-        case 106: 
-        case 178: 
-        case 181: 
-          {  yybegin(ST_CHARSET_DELIMITER); return CSS_STRING;  }
-        case 477: break;
-        case 112: 
-        case 184: 
-        case 187: 
-          {  yybegin(ST_IMPORT_MEDIUM); return CSS_STRING;  }
-        case 478: break;
-        case 141: 
-        case 202: 
-        case 240: 
-        case 278: 
-        case 318: 
-        case 358: 
-        case 390: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_DIMENSION;  }
-        case 479: break;
-        case 144: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_PERCENTAGE;  }
-        case 480: break;
-        case 146: 
-        case 247: 
-          {  yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_FUNCTION;  }
-        case 481: break;
-        case 19: 
-        case 21: 
-        case 24: 
-        case 25: 
-        case 26: 
-        case 28: 
-        case 30: 
-        case 31: 
-        case 33: 
-        case 34: 
-        case 35: 
-        case 37: 
-        case 38: 
-        case 39: 
-        case 41: 
-        case 45: 
-        case 50: 
-        case 53: 
-        case 58: 
-        case 61: 
-        case 64: 
-        case 65: 
-        case 66: 
-        case 69: 
-        case 75: 
-        case 76: 
-        case 77: 
-        case 80: 
-        case 81: 
-        case 82: 
-        case 84: 
-          { 
-	return UNDEFINED;
- }
-        case 482: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-              return null;
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-  /**
-   * Runs the scanner on input files.
-   *
-   * This main method is the debugging routine for the scanner.
-   * It prints each returned token to System.out until the end of
-   * file is reached, or an error occured.
-   *
-   * @param argv   the command line, contains the filenames to run
-   *               the scanner on.
-   */
-  public static void main(String argv[]) {
-    for (int i = 0; i < argv.length; i++) {
-      CSSTokenizer scanner = null;
-      try {
-        scanner = new CSSTokenizer( new java.io.FileReader(argv[i]) );
-      }
-      catch (java.io.FileNotFoundException e) {
-        System.out.println("File not found : \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (java.io.IOException e) {
-        System.out.println("Error opening file \""+argv[i]+"\"");
-        System.exit(1);
-      }
-      catch (ArrayIndexOutOfBoundsException e) {
-        System.out.println("Usage : java CSSTokenizer <inputfile>");
-        System.exit(1);
-      }
-
-      try {
-        do {
-          System.out.println(scanner.primGetNextToken());
-        } while (!scanner.yy_atEOF);
-
-      }
-      catch (java.io.IOException e) {
-        System.out.println("An I/O error occured while scanning :");
-        System.out.println(e);
-        System.exit(1);
-      }
-      catch (Exception e) {
-        e.printStackTrace();
-        System.exit(1);
-      }
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex
deleted file mode 100644
index f6cac38..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex
+++ /dev/null
@@ -1,495 +0,0 @@
-/*******************************************************************************

- * 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

- *******************************************************************************/

-/*nlsXXX*/

-package org.eclipse.wst.sse.core.css.internal.parser;

-

-import java.io.CharArrayReader;

-import java.io.IOException;

-import java.util.ArrayList;

-import java.util.List;

-

-import org.eclipse.wst.sse.core.css.internal.parser.regions.CSSTextRegionFactory;

-import org.eclipse.wst.sse.core.css.parser.CSSRegionContexts;

-import org.eclipse.wst.sse.core.css.parser.CSSTextToken;

-import org.eclipse.wst.sse.core.text.ITextRegion;

-

-%%

-

-%public

-%class CSSTokenizer

-%implements CSSRegionContexts

-%function primGetNextToken

-%type String

-%char

-%line

-%unicode

-%caseless

-%debug

-%pack

-

-%{

-	private final static String UNDEFINED = "undefined";

-	private String fBufferedContext = null;

-	private int fBufferedStart;

-//	private int fBufferedTextLength;

-	private int fBufferedLength;

-//	private StringBuffer fBufferedText = null;

-	private CSSTextRegionFactory fRegionFactory = CSSTextRegionFactory.getInstance();

-	private int fInitialState = YYINITIAL;

-	public final static int BUFFER_SIZE_NORMAL = 16384;

-	public final static int BUFFER_SIZE_SMALL = 256;

-	private int fInitialBufferSize = BUFFER_SIZE_NORMAL;

-

-	public void setInitialState(int state) {

-		fInitialState = state;

-	}

-	

-	public void setInitialBufferSize(int size) {

-		fInitialBufferSize = size;

-	}

-

-	/* user method */

-  	public final ITextRegion getNextToken() throws IOException {

-		String context;

-		String nextTokenType;

-		boolean spaceFollows;

-//		StringBuffer text;

-		int start;

-		int textLength;

-		int length;

-		if (fBufferedContext != null) {

-			context = fBufferedContext;

-//			text = fBufferedText;

-			start = fBufferedStart;

-			textLength = length = fBufferedLength;

-

-			fBufferedContext = null;

-		} else {

-			context = primGetNextToken();

-//			text = new StringBuffer(yytext());

-			start = yychar;

-			textLength = length = yylength();

-		}

-

-		if (context != null) {

-			if (context == UNDEFINED) {

-				// undef -> concatenate undef's

-				nextTokenType = primGetNextToken();

-				while (nextTokenType == UNDEFINED) {

-//					text.append(yytext());

-					textLength += yylength();

-					length = textLength;

-					nextTokenType = primGetNextToken();

-				}

-				fBufferedContext = nextTokenType;

-//				fBufferedText = new StringBuffer(yytext());

-				fBufferedStart = yychar;

-				fBufferedLength = yylength();

-			} else {

-				nextTokenType = null;

-				spaceFollows = false;

-				if (CSSRegionUtil.isDeclarationValueType(context)) { // declaration value can contain VALUE_S

-					nextTokenType = primGetNextToken();

-					spaceFollows = (nextTokenType == CSS_DECLARATION_VALUE_S);

-				} else if (canContainSpace(context)) {

-					nextTokenType = primGetNextToken();

-					spaceFollows = (nextTokenType == CSS_S);

-				}

-				if (nextTokenType != null) { // nextToken is retrieved

-					if (spaceFollows) {

-						// next is space -> append

-//						text.append(yytext());

-						length += yylength();

-					} else {

-						// next is NOT space -> push this for next time, return itself

-						fBufferedContext = nextTokenType;

-//						fBufferedText = new StringBuffer(yytext());

-						fBufferedStart = yychar;

-						fBufferedLength = yylength();

-					}

-				}

-			}

-		}

-

-		if (context != null) {

-			if (context == UNDEFINED) {

-				context = CSS_UNKNOWN;

-			}

-			return fRegionFactory.createRegion(context, start, textLength, length);

-		} else {

-			return null;

-		}

-  	}

-

-	/* user method */

-	/* for standalone use */

-  	public final List parseText() throws IOException {

-  		List tokens = new ArrayList();

-

-  		CSSTextToken token;

-		for (String kind = primGetNextToken(); kind != null; kind = primGetNextToken()) {

-			token = new CSSTextToken();

-			token.kind = kind;  				

-			token.start = yychar;

-			token.length = yylength();

-			token.image = yytext();

-			tokens.add(token);

-		}

-

-  		return tokens;

-  	}

-  	

-  	/* user method */

-  	private boolean canContainSpace(String type) {

-  		if (type == CSS_DELIMITER || type == CSS_RBRACE || type == CSS_DECLARATION_DELIMITER) {

-  			return false;

-  		} else {

-  			return true;

-  		}

-  	}

-

-	/* user method */

-	public final int getOffset() {

-		return yychar;

-	}

-	

-	/* user method */

-	public final boolean isEOF() {

-		return yy_atEOF;

-	}

-

-	/* user method */

-	public void reset(char[] charArray) {

-		reset(new CharArrayReader(charArray), 0);

-	}

-

-	/* user method */

-	public final void reset(java.io.Reader in, int newOffset) {

-		/** the input device */

-		yy_reader = in;

-

-		/** the current state of the DFA */

-		yy_state = 0;

-

-		/** the current lexical state */

-		yy_lexical_state = fInitialState; //YYINITIAL;

-

-		/** this buffer contains the current text to be matched and is

-			the source of the yytext() string */

-		if (yy_buffer.length != fInitialBufferSize) {

-			yy_buffer = new char[fInitialBufferSize];

-		}

-		java.util.Arrays.fill(yy_buffer, (char)0);

-

-		/** the textposition at the last accepting state */

-		yy_markedPos = 0;

-

-		/** the textposition at the last state to be included in yytext */

-		yy_pushbackPos = 0;

-

-		/** the current text position in the buffer */

-		yy_currentPos = 0;

-

-		/** startRead marks the beginning of the yytext() string in the buffer */

-		yy_startRead = 0;

-

-		/** endRead marks the last character in the buffer, that has been read

-			from input */

-		yy_endRead = 0;

-

-		/** number of newlines encountered up to the start of the matched text */

-		yyline = 0;

-

-		/** the number of characters up to the start of the matched text */

-		yychar = 0;

-

-		/**

-		 * the number of characters from the last newline up to the start of the 

-		 * matched text

-		 */

-		yycolumn = 0; 

-

-		/** 

-		 * yy_atBOL == true <=> the scanner is currently at the beginning of a line

-		 */

-		yy_atBOL = false;

-		

-		/** yy_atEOF == true <=> the scanner has returned a value for EOF */

-		yy_atEOF = false;

-

-		/* user variables */

-		//		fUndefined.delete(0, fUndefined.length());

-	}

-

-	/* user method */

-	public CSSTokenizer() {

-		super();

-	}

-

-%}

-

-%state ST_CHARSET_NAME

-%state ST_CHARSET_DELIMITER

-%state ST_IMPORT_URI

-%state ST_IMPORT_MEDIUM

-%state ST_IMPORT_DELIMITER

-%state ST_MEDIA_MEDIUM

-%state ST_MEDIA_DELIMITER

-%state ST_PAGE_PSEUDO_PAGE

-%state ST_PAGE_DELIMITER

-%state ST_FONT_FACE_DELIMITER

-%state ST_SELECTOR

-%state ST_SELECTOR_MODIFIER

-%state ST_SELECTOR_ATTRIBUTE_NAME

-%state ST_SELECTOR_ATTRIBUTE_OPERATOR

-%state ST_SELECTOR_ATTRIBUTE_VALUE

-%state ST_SELECTOR_ATTRIBUTE_END

-%state ST_DECLARATION

-%state ST_DECLARATION_SEPARATOR

-%state ST_DECLARATION_PRE_VALUE

-%state ST_DECLARATION_VALUE

-

-h = [0-9a-f]

-nonascii = [\u0080-\uffff]

-unicode = \\{h}{1,6}[ \t\r\n\f]?

-escape = {unicode}|\\[ -~\u0080-\uffff]

-nmstart = [_a-zA-Z-]|{nonascii}|{escape}

-nmchar = [_a-zA-Z0-9-]|{nonascii}|{escape}

-string1 = \"([\t !#$%&(-~]|\\{nl}|\'|{nonascii}|{escape})*\"

-string2 = \'([\t !#$%&(-~]|\\{nl}|\"|{nonascii}|{escape})*\'

-

-ident = {nmstart}{nmchar}*

-name = {nmchar}+

-num = [+-]?([0-9]+|[0-9]*"."[0-9]+)

-string = {string1}|{string2}

-url = ([ !#$%&*-~]|{nonascii}|{escape})*

-s = [ \t\r\n\f]

-w = {s}*

-nl = \n|\r\n|\r|\f

-range = \?{1,6}|{h}(\?{0,5}|{h}(\?{0,4}|{h}(\?{0,3}|{h}(\?{0,2}|{h}(\??|{h})))))

-

-hash = "#"{name}

-uri = ("url("{w}{string}{w}")"|"url("{w}{url}{w}")")

-function = {ident}"("

-unicode_range = "U"\+[0-9a-fA-F?]{1,6}("-"[0-9a-fA-F?]{1,6})?

-

-%%

-

-/*

- * *** global ***

- */

-

-{s}+ { return CSS_S; }

-"<!--" { return CSS_CDO; }

-"-->" { return CSS_CDC; }

-"}" { yybegin(YYINITIAL); return CSS_RBRACE; }

-\/\*[^*]*\*+([^/*][^*]*\*+)*\/ { return CSS_COMMENT; }

-

-//<YYINITIAL> {

-//	"@import" {	yybegin(ST_IMPORT_URI); return CSS_IMPORT; }

-//}

-

-/*

- * *** charset rule ***

- * CHARSET_SYM S* STRING S* ';'

- */

-

-"@charset" { yybegin(ST_CHARSET_NAME); return CSS_CHARSET; }

-

-<ST_CHARSET_NAME> {

-	{string} { yybegin(ST_CHARSET_DELIMITER); return CSS_STRING; }

-}

-

-<ST_CHARSET_DELIMITER> {

-	";" { yybegin(YYINITIAL); return CSS_DELIMITER; }

-}

-

-/*

- * *** import rule ***

- * IMPORT_SYM S* [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S*

- */

-

-"@import" { yybegin(ST_IMPORT_URI); return CSS_IMPORT; }

-

-<ST_IMPORT_URI> {

-	{string} { yybegin(ST_IMPORT_MEDIUM); return CSS_STRING; }

-	//	"url("{w}{string}{w}")" { yybegin(ST_IMPORT_MEDIUM); return CSS_URI; }

-	//	"url("{w}{url}{w}")" { yybegin(ST_IMPORT_MEDIUM); return CSS_URI; }

-	{uri} { yybegin(ST_IMPORT_MEDIUM); return CSS_URI; }

-	";" { yybegin(YYINITIAL); return CSS_DELIMITER; }

-}

-

-<ST_IMPORT_MEDIUM> {

-	{ident} { yybegin(ST_IMPORT_DELIMITER); return CSS_MEDIUM; }

-	";" { yybegin(YYINITIAL); return CSS_DELIMITER; }

-}

-

-<ST_IMPORT_DELIMITER> {

-	";" { yybegin(YYINITIAL); return CSS_DELIMITER; }

-	"," { yybegin(ST_IMPORT_MEDIUM); return CSS_MEDIA_SEPARATOR; }

-}

-

-/*

- * *** media rule ***

- * MEDIA_SYM S* medium [ COMMA S* medium ]* LBRACE S* ruleset* '}' S*

- */

-

-"@media" { yybegin(ST_MEDIA_MEDIUM); return CSS_MEDIA; }

-

-/* 

- * medium

- * IDENT S*

- */

-<ST_MEDIA_MEDIUM> {

-	{ident} { yybegin(ST_MEDIA_DELIMITER); return CSS_MEDIUM; }

-}

-

-<ST_MEDIA_DELIMITER> {

-	"{" { yybegin(YYINITIAL); return CSS_LBRACE; }

-	"," { yybegin(ST_MEDIA_MEDIUM); return CSS_MEDIA_SEPARATOR; }

-}

-

-/*

- * *** page rule **

- * PAGE_SYM S* pseudo_page? S* LBRACE S* declaration [ ';' S* declaration ]* '}' S*

- */

-

-"@page" { yybegin(ST_PAGE_PSEUDO_PAGE); return CSS_PAGE; }

- 

-/*

- * pseudo_page

- * ':' IDENT

- */

-

-<ST_PAGE_PSEUDO_PAGE> {

-	":"?{ident} { yybegin(ST_PAGE_DELIMITER); return CSS_PAGE_SELECTOR; }

-	"{" { yybegin(ST_DECLARATION); return CSS_LBRACE; }

-}

-

-<ST_PAGE_DELIMITER> {

-	"{" { yybegin(ST_DECLARATION); return CSS_LBRACE; }

-}

-

-/*

- * font-face

- * FONT_FACE_SYM S* '{' S* declaration [ ';' S* declaration '* '}' S*

- */

-

-"@font-face" { yybegin(ST_FONT_FACE_DELIMITER); return CSS_FONT_FACE; }

-

-<ST_FONT_FACE_DELIMITER> {

-	"{" { yybegin(ST_DECLARATION); return CSS_LBRACE; }

-}

-

-/*

- * selector

- * simple_selector [ combinator simple_selector ]*

- */

-

-/*

- * simple_selector

- * element_name [ HASH | class | attrib | pseudo ]* | [ HASH | class | attrib | pseudo ]+

- */

-

-<YYINITIAL, ST_SELECTOR_MODIFIER, ST_SELECTOR> {

-	"*" { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_UNIVERSAL; }

-	{hash} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ID; }

-//	":"{ident} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }

-	":"{ident}("("{s}*{ident}{s}*")")? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }

-	"."{name} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_CLASS; }

-	"[" { yybegin(ST_SELECTOR_ATTRIBUTE_NAME); return CSS_SELECTOR_ATTRIBUTE_START; }

-}

-

-<YYINITIAL, ST_SELECTOR> {

-	{ident} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ELEMENT_NAME; }

-}

-

-<ST_SELECTOR_MODIFIER> {

-	"," { yybegin(ST_SELECTOR); return CSS_SELECTOR_SEPARATOR; }

-	// using LOOKAHEAD

-	{s}+/[^+>\{] { yybegin(ST_SELECTOR); return CSS_SELECTOR_COMBINATOR; }

-	"+"|">" { yybegin(ST_SELECTOR); return CSS_SELECTOR_COMBINATOR; }

-	"{" { yybegin(ST_DECLARATION); return CSS_LBRACE; }

-}

-

-/*

- * attrib

- * '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH ] S* [ IDENT | STRING ] S* ]? ']'

- */

-

-<ST_SELECTOR_ATTRIBUTE_NAME> {

-	{ident} { yybegin(ST_SELECTOR_ATTRIBUTE_OPERATOR); return CSS_SELECTOR_ATTRIBUTE_NAME; }

-}

-

-<ST_SELECTOR_ATTRIBUTE_OPERATOR> {

-	"="|"~="|"|=" { yybegin(ST_SELECTOR_ATTRIBUTE_VALUE); return CSS_SELECTOR_ATTRIBUTE_OPERATOR; }

-	"]" { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ATTRIBUTE_END; }

-}

-

-<ST_SELECTOR_ATTRIBUTE_VALUE> {

-	{ident}|{string} { yybegin(ST_SELECTOR_ATTRIBUTE_END); return CSS_SELECTOR_ATTRIBUTE_VALUE; }

-}

-

-<ST_SELECTOR_ATTRIBUTE_END> {

-	"]" { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ATTRIBUTE_END; }

-}

-

-/*

- * declaration

- * property ':' S* expr prio? | // empty //

- */

-

-<ST_DECLARATION> {

-	{ident} { yybegin(ST_DECLARATION_SEPARATOR); return CSS_DECLARATION_PROPERTY; }

-}

-

-<ST_DECLARATION_SEPARATOR> {

-	":" { yybegin(ST_DECLARATION_PRE_VALUE); return CSS_DECLARATION_SEPARATOR; }

-}

-

-<ST_DECLARATION_PRE_VALUE, ST_DECLARATION_VALUE> {

-	"!"{s}*"important" { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_IMPORTANT; }

-	{ident} { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_IDENT; }

-	")" { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_PARENTHESIS_CLOSE; }

-	{num}{ident} { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_DIMENSION; }

-	{num}"%" { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_PERCENTAGE; }

-	{num} { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_NUMBER; }

-	{function} { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_FUNCTION; }

-	{string} { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_STRING; }

-	{uri} { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_URI; }

-	"#"{name} { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_HASH; }

-	{unicode_range} { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_UNICODE_RANGE; }

-	[,/] { yybegin(ST_DECLARATION_VALUE); return CSS_DECLARATION_VALUE_OPERATOR; }

-}

-

-<ST_DECLARATION_VALUE> {

-	{s}+/[^;}] { return CSS_DECLARATION_VALUE_S; }

-}

-

-<ST_DECLARATION, ST_DECLARATION_SEPARATOR, ST_DECLARATION_PRE_VALUE, ST_DECLARATION_VALUE> {

-	";" { yybegin(ST_DECLARATION); return CSS_DECLARATION_DELIMITER; }

-	//	"}" { yybegin(YYINITIAL); return CSS_RBRACE; }

-}

-

-

-//<YYINITIAL, ST_IMPORT_URI, ST_IMPORT_MEDIUM, ST_IMPORT_DELIMITER> {

-//	\/\*[^*]*\*+([^/*][^*]*\*+)*\/ { return CSS_COMMENT; }

-//	{s}+ { return CSS_S; }

-//	. { return UNDEFINED; }

-//}

-

-//<YYINITIAL, ST_IMPORT_URI, ST_IMPORT_MEDIUM, ST_IMPORT_DELIMITER> {

-//	[^ \t\r\n\f]+ { return CSS_UNKNOWN; }

-//}

-

-. {

-	return UNDEFINED;

-}

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/flex.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/flex.cmd
deleted file mode 100644
index 30fce78..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/flex.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@echo off

-set PATH=%PATH%;c:\jdk1.4\bin

-java -Xmx470000000 -cp JFlex\lib\sed-jflex.jar;. JFlex.Main JSPTokenizer -skel skeleton.sed

-java -Xmx470000000 -cp JFlex\lib\sed-jflex.jar;. JFlex.Main XMLTokenizer -skel skeleton.sed

-rm -f JSPTokenizer.java~ JSPTokenizer~ XMLTokenizer.java~ XMLTokenizer~

-copy XMLTokenizer.java ..\..\..\..\sedmodel\com\ibm\sed\parser\internal

-copy JSPTokenizer.java ..\..\..\..\sedmodel\com\ibm\sed\parser\internal

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/flex.sh b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/flex.sh
deleted file mode 100644
index f7872f3..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/flex.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh

-

-JAVADIR=C:/App/IBM/Java141/bin

-JAVAOPT=-Xmx470000000

-CLASSPATH=../../HTMLTokenizer/devel/JFlex/lib/sed-jflex.jar\;.

-DESTDIR=../../../../../org.eclipse.wst.sse.core.css/src/com/ibm/sse/model/css/internal/parser

-

-#export PATH=$PATH:/opt/IBMJava2-131/bin/:/opt/IBMJava2-13/bin/:/opt/jdk1.4

-#java -Xmx470000000 -cp JFlex/lib/sed-jflex.jar;. JFlex.Main CSSTokenizer -skel skeleton.sse

-

-$JAVADIR/java $JAVAOPT -cp $CLASSPATH JFlex.Main CSSTokenizer.jflex

-

-rm -f CSSTokenizer.java~ CSSTokenizer.jflex~

-cp -v CSSTokenizer.java $DESTDIR

-#$JAVADIR/javac $DESTDIR/*.java

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/README b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/README
deleted file mode 100644
index 8bbbc73..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/README
+++ /dev/null
@@ -1,11 +0,0 @@
-devel     - the active development environment (sans JDK)

-            - latest version of HTMLTokenizer specification and generated code

-            - slightly updated JAR file to avoid any possible as-shipped

-              compilation errors

-            - modified skeleton to prevent VM exits on unmatched input

-            - "flex" scripts to run JFlex with modified skeleton and updated JAR

-            - active RCS archive

-resources - backup/pristine resources

-            - Unmodified JFlex 1.2.2 download

-            - Separate modifications to the JFlex skeleton

-            - W3C XML recommendation used for several of the HTMLTokenizer rules

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JFlex/COPYRIGHT b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JFlex/COPYRIGHT
deleted file mode 100644
index aad1dec..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JFlex/COPYRIGHT
+++ /dev/null
@@ -1,303 +0,0 @@
-JFlex - Copying, Warranty & License

-

-  

-

-JFlex is free software, published under the terms of the GNU General Public License. 

-

-There is absolutely NO WARRANTY for JFlex, its code and its documentation. 

-  

-The code generated by JFlex inherits the copyright of the specification it

-was produced from. If it was your specification, you may use the generated 

-code without restriction.

-

-  

-

-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

-

-

-

-0.

- This License applies to any program or other work which contains

-a notice placed by the copyright holder saying it may be distributed

-under the terms of this General Public License.  The "Program", below,

-refers to any such program or work, and a "work based on the Program"

-means either the Program or any derivative work under copyright law:

-that is to say, a work containing the Program or a portion of it,

-either verbatim or with modifications and/or translated into another

-language.  (Hereinafter, translation is included without limitation in

-the term "modification".)  Each licensee is addressed as "you".

-

-

-Activities other than copying, distribution and modification are not

-covered by this License; they are outside its scope.  The act of

-running the Program is not restricted, and the output from the Program

-is covered only if its contents constitute a work based on the

-Program (independent of having been made by running the Program).

-Whether that is true depends on what the Program does.

-

-

-

-1.

- You may copy and distribute verbatim copies of the Program's

-source code as you receive it, in any medium, provided that you

-conspicuously and appropriately publish on each copy an appropriate

-copyright notice and disclaimer of warranty; keep intact all the

-notices that refer to this License and to the absence of any warranty;

-and give any other recipients of the Program a copy of this License

-along with the Program.

-

-

-You may charge a fee for the physical act of transferring a copy, and

-you may at your option offer warranty protection in exchange for a fee.

-

-

-2.

- You may modify your copy or copies of the Program or any portion

-of it, thus forming a work based on the Program, and copy and

-distribute such modifications or work under the terms of Section 1

-above, provided that you also meet all of these conditions:

-

-

-

-     a)

-     You must cause the modified files to carry prominent notices

-     stating that you changed the files and the date of any change.

-

-

-     b)

-     You must cause any work that you distribute or publish, that in

-     whole or in part contains or is derived from the Program or any

-     part thereof, to be licensed as a whole at no charge to all third

-     parties under the terms of this License.

-

-

-     c)

-     If the modified program normally reads commands interactively

-     when run, you must cause it, when started running for such

-     interactive use in the most ordinary way, to print or display an

-     announcement including an appropriate copyright notice and a

-     notice that there is no warranty (or else, saying that you provide

-     a warranty) and that users may redistribute the program under

-     these conditions, and telling the user how to view a copy of this

-     License.  (Exception: if the Program itself is interactive but

-     does not normally print such an announcement, your work based on

-     the Program is not required to print an announcement.)

-

-

-These requirements apply to the modified work as a whole.  If

-identifiable sections of that work are not derived from the Program,

-and can be reasonably considered independent and separate works in

-themselves, then this License, and its terms, do not apply to those

-sections when you distribute them as separate works.  But when you

-distribute the same sections as part of a whole which is a work based

-on the Program, the distribution of the whole must be on the terms of

-this License, whose permissions for other licensees extend to the

-entire whole, and thus to each and every part regardless of who wrote it.

-

-

-Thus, it is not the intent of this section to claim rights or contest

-your rights to work written entirely by you; rather, the intent is to

-exercise the right to control the distribution of derivative or

-collective works based on the Program.

-

-

-In addition, mere aggregation of another work not based on the Program

-with the Program (or with a work based on the Program) on a volume of

-a storage or distribution medium does not bring the other work under

-the scope of this License.

-

-

-

-3.

- You may copy and distribute the Program (or a work based on it,

-under Section 2) in object code or executable form under the terms of

-Sections 1 and 2 above provided that you also do one of the following:

-

-

-

-     a)

-     Accompany it with the complete corresponding machine-readable

-     source code, which must be distributed under the terms of Sections

-     1 and 2 above on a medium customarily used for software interchange; or,

-

-

-     b)

-     Accompany it with a written offer, valid for at least three

-     years, to give any third party, for a charge no more than your

-     cost of physically performing source distribution, a complete

-     machine-readable copy of the corresponding source code, to be

-     distributed under the terms of Sections 1 and 2 above on a medium

-     customarily used for software interchange; or,

-

-

-     c)

-     Accompany it with the information you received as to the offer

-     to distribute corresponding source code.  (This alternative is

-     allowed only for noncommercial distribution and only if you

-     received the program in object code or executable form with such

-     an offer, in accord with Subsection b above.)

-

-

-The source code for a work means the preferred form of the work for

-making modifications to it.  For an executable work, complete source

-code means all the source code for all modules it contains, plus any

-associated interface definition files, plus the scripts used to

-control compilation and installation of the executable.  However, as a

-special exception, the source code distributed need not include

-anything that is normally distributed (in either source or binary

-form) with the major components (compiler, kernel, and so on) of the

-operating system on which the executable runs, unless that component

-itself accompanies the executable.

-

-

-If distribution of executable or object code is made by offering

-access to copy from a designated place, then offering equivalent

-access to copy the source code from the same place counts as

-distribution of the source code, even though third parties are not

-compelled to copy the source along with the object code.

-

-

-4.

- You may not copy, modify, sublicense, or distribute the Program

-except as expressly provided under this License.  Any attempt

-otherwise to copy, modify, sublicense or distribute the Program is

-void, and will automatically terminate your rights under this License.

-However, parties who have received copies, or rights, from you under

-this License will not have their licenses terminated so long as such

-parties remain in full compliance.

-

-

-

-5.

- You are not required to accept this License, since you have not

-signed it.  However, nothing else grants you permission to modify or

-distribute the Program or its derivative works.  These actions are

-prohibited by law if you do not accept this License.  Therefore, by

-modifying or distributing the Program (or any work based on the

-Program), you indicate your acceptance of this License to do so, and

-all its terms and conditions for copying, distributing or modifying

-the Program or works based on it.

-

-

-

-6.

- Each time you redistribute the Program (or any work based on the

-Program), the recipient automatically receives a license from the

-original licensor to copy, distribute or modify the Program subject to

-these terms and conditions.  You may not impose any further

-restrictions on the recipients' exercise of the rights granted herein.

-You are not responsible for enforcing compliance by third parties to

-this License.

-

-

-

-7.

- If, as a consequence of a court judgment or allegation of patent

-infringement or for any other reason (not limited to patent issues),

-conditions are imposed on you (whether by court order, agreement or

-otherwise) that contradict the conditions of this License, they do not

-excuse you from the conditions of this License.  If you cannot

-distribute so as to satisfy simultaneously your obligations under this

-License and any other pertinent obligations, then as a consequence you

-may not distribute the Program at all.  For example, if a patent

-license would not permit royalty-free redistribution of the Program by

-all those who receive copies directly or indirectly through you, then

-the only way you could satisfy both it and this License would be to

-refrain entirely from distribution of the Program.

-

-

-If any portion of this section is held invalid or unenforceable under

-any particular circumstance, the balance of the section is intended to

-apply and the section as a whole is intended to apply in other

-circumstances.

-

-

-It is not the purpose of this section to induce you to infringe any

-patents or other property right claims or to contest validity of any

-such claims; this section has the sole purpose of protecting the

-integrity of the free software distribution system, which is

-implemented by public license practices.  Many people have made

-generous contributions to the wide range of software distributed

-through that system in reliance on consistent application of that

-system; it is up to the author/donor to decide if he or she is willing

-to distribute software through any other system and a licensee cannot

-impose that choice.

-

-

-This section is intended to make thoroughly clear what is believed to

-be a consequence of the rest of this License.

-

-

-

-8.

- If the distribution and/or use of the Program is restricted in

-certain countries either by patents or by copyrighted interfaces, the

-original copyright holder who places the Program under this License

-may add an explicit geographical distribution limitation excluding

-those countries, so that distribution is permitted only in or among

-countries not thus excluded.  In such case, this License incorporates

-the limitation as if written in the body of this License.

-

-

-

-9.

- The Free Software Foundation may publish revised and/or new versions

-of the General Public License from time to time.  Such new versions will

-be similar in spirit to the present version, but may differ in detail to

-address new problems or concerns.

-

-

-Each version is given a distinguishing version number.  If the Program

-specifies a version number of this License which applies to it and "any

-later version", you have the option of following the terms and conditions

-either of that version or of any later version published by the Free

-Software Foundation.  If the Program does not specify a version number of

-this License, you may choose any version ever published by the Free Software

-Foundation.

-

-

-

-

-10.

- If you wish to incorporate parts of the Program into other free

-programs whose distribution conditions are different, write to the author

-to ask for permission.  For software which is copyrighted by the Free

-Software Foundation, write to the Free Software Foundation; we sometimes

-make exceptions for this.  Our decision will be guided by the two goals

-of preserving the free status of all derivatives of our free software and

-of promoting the sharing and reuse of software generally.

-

-

-

-NO WARRANTY

-

-

-

-11.

- BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY

-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN

-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES

-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED

-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS

-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE

-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,

-REPAIR OR CORRECTION.

-

-

-

-12.

- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING

-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR

-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,

-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING

-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED

-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY

-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER

-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE

-POSSIBILITY OF SUCH DAMAGES.

-

-

-

-

-END OF TERMS AND CONDITIONS

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JFlex/README.sed b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JFlex/README.sed
deleted file mode 100644
index 0a58bc9..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JFlex/README.sed
+++ /dev/null
@@ -1,5 +0,0 @@
-This directory contains the contents of jflex-2.2.zip

-

-MINUS the JFlex/lib/JFlex.jar file and JFlex/bin, JFlex/doc, and 

-      JFlex/examples directories

-PLUS: sources rebuilt under a v1.3 JDK into JFlex/lib/sed-jflex.jar

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java
deleted file mode 100644
index cb25445..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java
+++ /dev/null
@@ -1,3599 +0,0 @@
-/* The following code was generated by JFlex 1.2.2 on 1/27/05 4:49 PM */
-
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.jst.jsp.core.internal.parser.internal;
-
-import java.io.CharArrayReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.BlockTokenizer;
-import org.eclipse.wst.sse.core.parser.TagMarker;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.parser.ContextRegionContainer;
-import org.eclipse.wst.xml.core.internal.parser.IntStack;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 1/27/05 4:49 PM from the specification file
- * <tt>file:/D:/eclipse.wtp/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex</tt>
- */
-public class JSPTokenizer implements BlockTokenizer, XMLJSPRegionContexts {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int ST_JSP_VBL_DQUOTES = 52;
-  final public static int ST_JSP_VBL_SQUOTES = 51;
-  final public static int ST_JSP_VBL_SQUOTES_END = 53;
-  final public static int ST_XML_COMMENT_END = 4;
-  final public static int ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE = 21;
-  final public static int ST_JSP_EL_SQUOTES_END = 46;
-  final public static int ST_JSP_EL_DQUOTES = 45;
-  final public static int ST_JSP_EL = 43;
-  final public static int ST_BLOCK_TAG_SCAN = 36;
-  final public static int ST_JSP_EL_SQUOTES = 44;
-  final public static int ST_DHTML_ATTRIBUTE_VALUE = 14;
-  final public static int ST_XML_PI_ATTRIBUTE_NAME = 8;
-  final public static int ST_DHTML_TAG_CLOSE = 15;
-  final public static int ST_XML_ATTRIBUTE_VALUE_DQUOTED = 41;
-  final public static int ST_DHTML_EQUALS = 13;
-  final public static int ST_XML_PI_ATTRIBUTE_VALUE = 10;
-  final public static int ST_XML_ATTRIBUTE_VALUE = 25;
-  final public static int ST_JSP_VBL = 50;
-  final public static int ST_JSP_SQUOTED_VBL = 56;
-  final public static int ST_XML_ATTRIBUTE_VALUE_SQUOTED = 40;
-  final public static int ST_XML_ATTRIBUTE_NAME = 23;
-  final public static int ST_XML_EQUALS = 24;
-  final public static int YYINITIAL = 0;
-  final public static int ST_JSP_DIRECTIVE_ATTRIBUTE_NAME = 19;
-  final public static int ST_JSP_CONTENT = 16;
-  final public static int ST_XML_DOCTYPE_ID_SYSTEM = 31;
-  final public static int ST_XML_ELEMENT_DECLARATION = 32;
-  final public static int ST_XML_DECLARATION_CLOSE = 27;
-  final public static int ST_JSP_DIRECTIVE_EQUALS = 20;
-  final public static int ST_JSP_VBL_DQUOTES_END = 54;
-  final public static int ST_JSP_DQUOTED_EL = 48;
-  final public static int ST_XML_DOCTYPE_DECLARATION = 28;
-  final public static int ST_CDATA_END = 2;
-  final public static int ST_PI_WS = 6;
-  final public static int ST_CDATA_TEXT = 1;
-  final public static int ST_JSP_DIRECTIVE_NAME_WHITESPACE = 18;
-  final public static int ST_XML_ELEMENT_DECLARATION_CONTENT = 33;
-  final public static int ST_XML_ATTLIST_DECLARATION = 34;
-  final public static int ST_JSP_EL_DQUOTES_END = 47;
-  final public static int ST_JSP_SQUOTED_EL = 49;
-  final public static int ST_JSP_COMMENT_END = 39;
-  final public static int ST_XML_PI_EQUALS = 9;
-  final public static int ST_XML_ATTLIST_DECLARATION_CONTENT = 35;
-  final public static int ST_XML_DOCTYPE_ID_PUBLIC = 30;
-  final public static int ST_JSP_DQUOTED_VBL = 55;
-  final public static int ST_DHTML_ATTRIBUTE_NAME = 12;
-  final public static int ST_ABORT_EMBEDDED = 42;
-  final public static int ST_XML_DOCTYPE_EXTERNAL_ID = 29;
-  final public static int ST_JSP_COMMENT = 38;
-  final public static int ST_PI_CONTENT = 7;
-  final public static int ST_BLOCK_TAG_INTERNAL_SCAN = 37;
-  final public static int ST_PI = 5;
-  final public static int ST_XML_DECLARATION = 26;
-  final public static int ST_JSP_DIRECTIVE_NAME = 17;
-  final public static int ST_XML_TAG_NAME = 22;
-  final public static int ST_XML_PI_TAG_CLOSE = 11;
-  final public static int ST_XML_COMMENT = 3;
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\5\1\26\2\0\1\17\22\0\1\17\1\25\1\12\1\63"+
-    "\1\15\1\22\1\13\1\14\1\24\1\24\1\24\1\24\1\24\1\7"+
-    "\1\6\1\3\12\20\1\11\1\70\1\1\1\50\1\2\1\4\1\21"+
-    "\1\37\1\71\1\35\1\36\1\54\1\66\1\60\1\60\1\61\1\60"+
-    "\1\60\1\32\1\31\1\62\1\51\1\53\1\60\1\65\1\64\1\40"+
-    "\1\67\2\60\1\27\1\52\1\60\1\34\1\102\1\23\1\0\1\10"+
-    "\1\0\1\56\1\101\1\72\1\57\1\42\1\66\1\73\1\60\1\45"+
-    "\1\76\1\60\1\33\1\31\1\47\1\46\1\77\1\60\1\43\1\44"+
-    "\1\55\1\100\1\41\1\60\1\30\1\52\1\60\1\16\1\0\1\103"+
-    "\71\0\1\75\10\0\27\74\1\0\37\74\1\0\72\74\2\0\13\74"+
-    "\2\0\10\74\1\0\65\74\1\0\104\74\11\0\44\74\3\0\2\74"+
-    "\4\0\36\74\70\0\131\74\22\0\7\74\16\0\2\75\56\0\106\75"+
-    "\32\0\2\75\44\0\1\74\1\75\3\74\1\0\1\74\1\0\24\74"+
-    "\1\0\54\74\1\0\7\74\3\0\1\74\1\0\1\74\1\0\1\74"+
-    "\1\0\1\74\1\0\22\74\15\0\14\74\1\0\102\74\1\0\14\74"+
-    "\1\0\44\74\1\0\4\75\11\0\65\74\2\0\2\74\2\0\2\74"+
-    "\3\0\34\74\2\0\10\74\2\0\2\74\67\0\46\74\2\0\1\74"+
-    "\7\0\46\74\12\0\21\75\1\0\27\75\1\0\3\75\1\0\1\75"+
-    "\1\0\2\75\1\0\1\75\13\0\33\74\5\0\3\74\56\0\32\74"+
-    "\5\0\1\75\12\74\10\75\15\0\12\75\6\0\1\75\107\74\2\0"+
-    "\5\74\1\0\17\74\1\0\4\74\1\0\1\74\17\75\2\74\2\75"+
-    "\1\0\4\75\2\0\12\75\u0207\0\3\75\1\0\65\74\2\0\1\75"+
-    "\1\74\20\75\3\0\4\75\3\0\12\74\2\75\2\0\12\75\21\0"+
-    "\3\75\1\0\10\74\2\0\2\74\2\0\26\74\1\0\7\74\1\0"+
-    "\1\74\3\0\4\74\2\0\1\75\1\0\7\75\2\0\2\75\2\0"+
-    "\3\75\11\0\1\75\4\0\2\74\1\0\3\74\2\75\2\0\12\75"+
-    "\2\74\20\0\1\75\2\0\6\74\4\0\2\74\2\0\26\74\1\0"+
-    "\7\74\1\0\2\74\1\0\2\74\1\0\2\74\2\0\1\75\1\0"+
-    "\5\75\4\0\2\75\2\0\3\75\13\0\4\74\1\0\1\74\7\0"+
-    "\12\75\2\75\3\74\14\0\3\75\1\0\7\74\1\0\1\74\1\0"+
-    "\3\74\1\0\26\74\1\0\7\74\1\0\2\74\1\0\5\74\2\0"+
-    "\1\75\1\74\10\75\1\0\3\75\1\0\3\75\22\0\1\74\5\0"+
-    "\12\75\21\0\3\75\1\0\10\74\2\0\2\74\2\0\26\74\1\0"+
-    "\7\74\1\0\2\74\2\0\4\74\2\0\1\75\1\74\6\75\3\0"+
-    "\2\75\2\0\3\75\10\0\2\75\4\0\2\74\1\0\3\74\4\0"+
-    "\12\75\22\0\2\75\1\0\6\74\3\0\3\74\1\0\4\74\3\0"+
-    "\2\74\1\0\1\74\1\0\2\74\3\0\2\74\3\0\3\74\3\0"+
-    "\10\74\1\0\3\74\4\0\5\75\3\0\3\75\1\0\4\75\11\0"+
-    "\1\75\17\0\11\75\21\0\3\75\1\0\10\74\1\0\3\74\1\0"+
-    "\27\74\1\0\12\74\1\0\5\74\4\0\7\75\1\0\3\75\1\0"+
-    "\4\75\7\0\2\75\11\0\2\74\4\0\12\75\22\0\2\75\1\0"+
-    "\10\74\1\0\3\74\1\0\27\74\1\0\12\74\1\0\5\74\4\0"+
-    "\7\75\1\0\3\75\1\0\4\75\7\0\2\75\7\0\1\74\1\0"+
-    "\2\74\4\0\12\75\22\0\2\75\1\0\10\74\1\0\3\74\1\0"+
-    "\27\74\1\0\20\74\4\0\6\75\2\0\3\75\1\0\4\75\11\0"+
-    "\1\75\10\0\2\74\4\0\12\75\221\0\56\74\1\0\1\74\1\75"+
-    "\2\74\7\75\5\0\6\74\1\75\10\75\1\0\12\75\47\0\2\74"+
-    "\1\0\1\74\2\0\2\74\1\0\1\74\2\0\1\74\6\0\4\74"+
-    "\1\0\7\74\1\0\3\74\1\0\1\74\1\0\1\74\2\0\2\74"+
-    "\1\0\2\74\1\0\1\74\1\75\2\74\6\75\1\0\2\75\1\74"+
-    "\2\0\5\74\1\0\1\75\1\0\6\75\2\0\12\75\76\0\2\75"+
-    "\6\0\12\75\13\0\1\75\1\0\1\75\1\0\1\75\4\0\2\75"+
-    "\10\74\1\0\41\74\7\0\24\75\1\0\6\75\4\0\6\75\1\0"+
-    "\1\75\1\0\25\75\3\0\7\75\1\0\1\75\346\0\46\74\12\0"+
-    "\47\74\11\0\1\74\1\0\2\74\1\0\3\74\1\0\1\74\1\0"+
-    "\2\74\1\0\5\74\51\0\1\74\1\0\1\74\1\0\1\74\13\0"+
-    "\1\74\1\0\1\74\1\0\1\74\3\0\2\74\3\0\1\74\5\0"+
-    "\3\74\1\0\1\74\1\0\1\74\1\0\1\74\1\0\1\74\3\0"+
-    "\2\74\3\0\2\74\1\0\1\74\50\0\1\74\11\0\1\74\2\0"+
-    "\1\74\2\0\2\74\7\0\2\74\1\0\1\74\1\0\7\74\50\0"+
-    "\1\74\4\0\1\74\10\0\1\74\u0c06\0\234\74\4\0\132\74\6\0"+
-    "\26\74\2\0\6\74\2\0\46\74\2\0\6\74\2\0\10\74\1\0"+
-    "\1\74\1\0\1\74\1\0\1\74\1\0\37\74\2\0\65\74\1\0"+
-    "\7\74\1\0\1\74\3\0\3\74\1\0\7\74\3\0\4\74\2\0"+
-    "\6\74\4\0\15\74\5\0\3\74\1\0\7\74\323\0\15\75\4\0"+
-    "\1\75\104\0\1\74\3\0\2\74\2\0\1\74\121\0\3\74\u0e82\0"+
-    "\1\75\1\0\1\74\31\0\11\74\6\75\1\0\5\75\13\0\124\74"+
-    "\4\0\2\75\2\0\2\75\2\0\132\74\1\0\3\75\6\0\50\74"+
-    "\u1cd3\0\u51a6\74\u0c5a\0\u2ba4\74\134\0\u0800\0\u1ffe\0\2\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  final private static int yy_rowMap [] = { 
-        0,    68,   136,   204,   272,   340,   408,   476,   544,   612, 
-      680,   748,   816,   884,   952,  1020,  1088,  1156,  1224,  1292, 
-     1360,  1428,  1496,  1564,  1632,  1700,  1768,  1836,  1904,  1972, 
-     2040,  2108,  2176,  2244,  2312,  2380,  2448,  2516,  2584,  2652, 
-     2720,  2788,  2856,  2924,  2992,  3060,  3128,  3196,  3264,  3332, 
-     3400,  3468,  3536,  3604,  3672,  3740,  3808,  3876,  3944,  4012, 
-     4080,  4148,  4216,  4284,  4352,  4284,  4352,  4420,  4284,  4284, 
-     4352,  4488,  4556,  4624,  4692,  4760,  4828,  4896,  4284,  4352, 
-     4964,  5032,  5100,  4284,  5168,  5168,  5236,  5304,  5372,  4964, 
-     4284,  5440,  5508,  4284,  5576,  5644,  5712,  5780,  4284,  4352, 
-     5848,  5916,  5984,  6052,  6120,  6188,  4284,  6256,  6256,  6324, 
-     6392,  6460,  6528,  6596,  4284,  6664,  6732,  6800,  6868,  6936, 
-     7004,  4284,  7072,  7140,  7208,  7276,  7344,  7412,  7480,  7548, 
-     4284,  7616,  7684,  7752,  7820,  7888,  7956,  8024,  8092,  8092, 
-     8160,  8228,  8296,  8364,  8364,  8432,  8500,  8568,  8636,  8636, 
-     8704,  8772,  8840,  8908,  4284,  8976,  8976,  9044,  9112,  9180, 
-     9248,  4284,  4284,  4352,  9316,  4284,  4352,  9384,  9452,  9520, 
-     9588,  4284,  9656,  9724,  9792,  9860,  4284,  9928,  9996, 10064, 
-    10132,  4284,  4284, 10200,  4284, 10268, 10336, 10268, 10404, 10472, 
-    10404,  4284,  4284, 10540, 10608, 10676,  4284, 10744, 10812, 10880, 
-    10948, 11016,  4284,  4284, 11084,  4284, 11152, 11220, 11152, 11288, 
-    11356, 11288,  4284,  4284, 11424, 11492, 11560,  4284, 11628, 11696, 
-    11764,  4284,  4284, 11832, 11900, 11968, 12036, 12104,  4284, 12172, 
-    12240, 12308, 12376, 12444, 12512, 12580, 12648, 12716,  4284, 12784, 
-    12852,  4284,  4284,  5168,  5304,  4284, 12920,  5372, 12988,  5440, 
-     5576,  5644, 13056,  5712,  4284, 13124, 13192,  5780, 13260,  4284, 
-    11900,  4284,  6256,  6324,  4284, 13328,  6392, 13396,  4284, 13464, 
-    13532,  7072, 13600,  7276,  4284, 13668,  7344, 13736, 13804, 13872, 
-    13940, 14008, 14076,  7820,  4284, 14144, 14212,  8092,  8160,  4284, 
-    14280, 14348, 14416, 14484, 14552,  8296,  8092,  8364,  8432,  4284, 
-     8500,  8568,  8364,  8636,  8704,  4284, 14620, 14688, 14756, 14824, 
-    14892, 14960, 15028,  8976,  9044,  4284, 15096, 15164, 15232, 15300, 
-    15368, 15436, 15504, 15572, 15640, 15708,  4284,  4284,  4284, 15776, 
-     4284,  4284, 15844, 15912, 15980, 16048, 10268,  4284, 16116, 16184, 
-    10404,  4284, 16252, 16320, 16388, 16456, 16524, 16592, 16660, 16728, 
-    16796, 10948, 11152,  4284, 16864, 16932, 11288,  4284, 17000, 17068, 
-    17136, 17204, 17272, 17340, 17408, 17476, 17544,  4284,  4284,  4284, 
-    17612, 17680, 17748, 17816, 17884,  4284, 17952, 18020,  4284,  4284, 
-     4284,  4284,  4284,  4692, 18088, 18156, 18224, 18292, 18360, 18428, 
-    18360, 18496, 18564, 18496, 18632, 18700, 18768, 18836, 18904, 18972, 
-    19040, 19040, 19108, 19176, 19176,  8840,  8840, 19244, 19312, 19380, 
-    19380,  9180,  9180, 19448, 19516, 19584, 15980, 10064, 10064, 19652, 
-    10268, 10268, 19720, 10404, 10404, 19788, 10540, 10540, 16524, 19856, 
-    10744, 10744, 16728, 19924, 10948, 10948, 11152, 11152, 19992, 11288, 
-    11288, 20060, 11424, 11424, 17272, 20128, 11628, 11628, 17476, 20196, 
-     4284,  4284, 20264, 20332,  4284, 20400, 20468, 20536,  7072,  4284, 
-     4284, 20604, 20672, 20740, 20808, 20876, 14484, 14824, 20944, 15300, 
-    21012,  4284,  4284, 21080, 21148, 21216,  4284, 21284, 21352, 21420, 
-    21488,  4284, 21556, 21624, 21692, 21760, 21828, 21896, 21964, 22032, 
-    22100, 22168, 22236, 22304, 22372, 22440, 22508, 22576, 22644, 22712, 
-    22780, 22848, 22916,  4692, 22984, 23052, 23120, 23188, 23256,  4284, 
-     4284, 23324, 23392, 23460, 23528, 16524, 16728, 23596, 23664, 17272, 
-    17476, 23732, 23800, 23868,  4284,  4284,  4284, 23936, 24004, 24072, 
-    24140, 24208, 24276, 24344,  6800, 24412, 24480, 24548, 24616, 24684, 
-    24752, 24820,  4284, 24888,  8840,  9180, 10268, 10404, 11152, 11288, 
-    24956, 25024, 25092, 25160, 25228, 25296, 25364, 25432, 25500, 25568, 
-    25636, 25704, 25772, 25840, 25908, 25976, 26044, 26112, 26180, 26248, 
-    26316, 26384, 26452, 26520, 26588, 26656, 26724, 26792, 26860, 26928, 
-    26996, 27064, 27132, 27200, 27268, 27336, 27404, 27472, 27540, 27608, 
-     4284, 27676, 27744, 27812, 27880,  6800, 27948, 28016, 28084, 28152, 
-    28220, 28288, 28356, 28424, 28492, 28560, 28628, 28696, 28764, 28832
-  };
-
-  /** 
-   * The packed transition table of the DFA
-   */
-  final private static String yy_packed = 
-    "\1\72\1\73\11\72\1\74\1\72\1\75\4\72\1\76"+
-    "\40\72\1\77\20\72\1\100\1\101\102\100\1\102\1\103"+
-    "\21\102\1\104\2\102\1\105\55\102\1\106\1\107\102\106"+
-    "\1\102\1\103\5\102\1\110\16\102\1\105\56\102\1\103"+
-    "\2\102\1\111\1\112\2\102\2\113\5\102\1\112\6\102"+
-    "\1\112\2\114\3\113\1\102\10\113\1\115\2\113\1\102"+
-    "\10\113\1\115\1\113\1\102\4\113\1\102\4\113\1\102"+
-    "\4\113\3\102\1\103\2\102\1\111\1\116\11\102\1\116"+
-    "\6\102\1\116\55\102\1\117\1\120\2\117\1\121\21\117"+
-    "\1\105\55\117\1\102\1\103\2\102\1\122\1\112\2\102"+
-    "\2\123\5\102\1\112\6\102\1\112\5\123\1\102\13\123"+
-    "\1\102\12\123\1\102\4\123\1\102\4\123\1\102\4\123"+
-    "\3\102\1\103\2\102\1\122\1\112\2\102\2\123\5\102"+
-    "\1\112\6\102\1\112\5\123\1\102\13\123\1\124\12\123"+
-    "\1\102\4\123\1\102\4\123\1\102\4\123\2\102\1\125"+
-    "\1\103\1\102\1\126\1\127\1\112\4\125\1\130\1\125"+
-    "\1\131\2\125\1\112\6\125\1\112\55\125\1\102\1\103"+
-    "\2\102\1\132\21\102\1\105\56\102\1\103\1\133\1\134"+
-    "\1\102\1\112\2\102\2\135\5\102\1\112\6\102\1\112"+
-    "\5\135\1\102\13\135\1\102\12\135\1\102\4\135\1\102"+
-    "\4\135\1\102\4\135\3\102\1\103\1\133\1\134\1\102"+
-    "\1\112\2\102\2\135\5\102\1\112\6\102\1\112\5\135"+
-    "\1\102\13\135\1\136\12\135\1\102\4\135\1\102\4\135"+
-    "\1\102\4\135\2\102\1\137\1\103\1\133\1\140\1\137"+
-    "\1\112\4\137\1\141\1\137\1\142\2\137\1\112\6\137"+
-    "\1\112\55\137\1\102\1\103\3\102\1\112\11\102\1\112"+
-    "\6\102\1\112\55\102\1\143\1\144\20\143\1\145\3\143"+
-    "\1\105\55\143\1\102\1\146\3\102\1\112\2\102\2\147"+
-    "\5\102\1\112\2\102\1\150\3\102\1\112\5\147\1\102"+
-    "\13\147\1\102\12\147\1\102\4\147\1\102\4\147\1\102"+
-    "\4\147\3\102\1\146\3\102\1\151\11\102\1\151\2\102"+
-    "\1\150\3\102\1\151\56\102\1\146\3\102\1\112\2\102"+
-    "\2\152\5\102\1\112\2\102\1\150\3\102\1\112\5\152"+
-    "\1\102\13\152\1\102\12\152\1\102\4\152\1\102\4\152"+
-    "\1\102\4\152\3\102\1\146\3\102\1\112\2\102\2\152"+
-    "\5\102\1\112\2\102\1\150\3\102\1\112\5\152\1\102"+
-    "\13\152\1\153\12\152\1\102\4\152\1\102\4\152\1\102"+
-    "\4\152\2\102\1\154\1\146\1\102\1\155\1\154\1\112"+
-    "\4\154\1\156\1\154\1\157\2\154\1\112\2\154\1\160"+
-    "\3\154\1\112\55\154\1\161\1\162\1\163\1\164\4\161"+
-    "\2\165\15\161\5\166\1\161\13\166\1\161\12\166\1\161"+
-    "\4\166\1\161\4\166\1\161\1\167\3\166\2\161\1\102"+
-    "\1\170\1\163\1\164\1\102\1\112\2\102\2\171\5\102"+
-    "\1\112\6\102\1\112\5\171\1\102\13\171\1\102\12\171"+
-    "\1\102\4\171\1\102\4\171\1\102\4\171\3\102\1\170"+
-    "\1\163\1\164\1\102\1\112\2\102\2\171\5\102\1\112"+
-    "\6\102\1\112\5\171\1\102\13\171\1\172\12\171\1\102"+
-    "\4\171\1\102\4\171\1\102\4\171\2\102\1\173\1\174"+
-    "\1\163\1\175\1\173\1\112\4\173\1\176\1\173\1\177"+
-    "\1\200\1\173\1\112\6\173\1\112\34\173\1\201\20\173"+
-    "\1\102\1\202\1\203\2\102\1\112\11\102\1\112\6\102"+
-    "\1\112\7\102\1\204\1\205\2\102\1\206\11\102\1\206"+
-    "\1\102\1\205\1\204\25\102\1\103\1\203\2\102\1\112"+
-    "\11\102\1\112\6\102\1\112\5\102\1\207\50\102\1\103"+
-    "\1\203\2\102\1\112\2\102\2\210\5\102\1\112\6\102"+
-    "\1\112\5\210\1\207\13\210\1\102\12\210\1\102\4\210"+
-    "\1\102\4\210\1\102\4\210\3\102\1\103\1\203\2\102"+
-    "\1\112\11\102\1\112\6\102\1\112\5\102\1\207\7\102"+
-    "\1\211\6\102\1\212\10\102\1\211\12\102\1\212\4\102"+
-    "\1\213\1\103\1\203\1\214\1\213\1\112\4\213\1\215"+
-    "\1\213\1\216\2\213\1\112\6\213\1\112\5\213\1\217"+
-    "\47\213\1\220\1\103\1\203\1\221\1\220\1\112\4\220"+
-    "\1\222\1\220\1\223\2\220\1\112\6\220\1\112\5\220"+
-    "\1\224\47\220\1\225\1\103\1\203\1\226\1\225\1\112"+
-    "\4\225\1\227\1\225\1\230\2\225\1\112\6\225\1\112"+
-    "\55\225\1\231\1\232\1\233\101\231\1\234\1\103\1\203"+
-    "\1\235\1\234\1\112\4\234\1\236\1\234\1\237\2\234"+
-    "\1\112\6\234\1\112\55\234\1\240\1\241\1\242\101\240"+
-    "\1\243\1\244\102\243\1\102\1\245\24\102\1\105\55\102"+
-    "\1\246\1\247\102\246\1\102\1\103\5\102\1\250\16\102"+
-    "\1\105\55\102\1\251\1\252\3\251\1\253\6\251\1\254"+
-    "\1\255\1\251\1\253\6\251\1\253\34\251\1\256\20\251"+
-    "\1\257\1\252\3\257\1\260\4\257\1\261\2\257\1\262"+
-    "\1\257\1\260\6\257\1\260\34\257\1\263\20\257\1\102"+
-    "\1\103\24\102\1\105\55\102\1\264\1\265\10\264\1\266"+
-    "\1\264\1\267\1\270\65\264\1\271\1\272\1\273\12\272"+
-    "\1\102\11\272\1\274\55\272\1\275\1\276\10\275\1\102"+
-    "\13\275\1\277\55\275\1\102\1\103\12\102\1\300\11\102"+
-    "\1\105\56\102\1\103\10\102\1\301\13\102\1\105\55\102"+
-    "\1\302\1\303\10\302\1\261\67\302\1\304\1\305\1\306"+
-    "\1\307\12\306\1\254\65\306\1\310\1\305\1\311\1\312"+
-    "\10\311\1\313\1\311\1\314\46\311\1\315\17\311\1\316"+
-    "\1\317\1\320\12\317\1\102\11\317\1\321\55\317\1\322"+
-    "\1\323\10\322\1\102\13\322\1\324\55\322\1\102\1\103"+
-    "\12\102\1\325\11\102\1\105\56\102\1\103\10\102\1\326"+
-    "\13\102\1\105\55\102\1\327\1\330\10\327\1\261\67\327"+
-    "\1\331\1\332\1\333\1\334\12\333\1\254\65\333\1\335"+
-    "\1\332\1\72\1\0\11\72\1\0\1\72\1\0\4\72"+
-    "\1\0\40\72\1\0\20\72\3\0\1\336\1\337\15\0"+
-    "\1\340\2\0\1\341\63\0\1\342\2\0\2\343\5\0"+
-    "\1\342\6\0\1\342\5\343\1\0\13\343\1\0\12\343"+
-    "\1\344\4\343\1\0\4\343\1\0\4\343\2\0\1\345"+
-    "\1\0\11\345\1\0\1\345\1\346\1\347\3\345\1\0"+
-    "\61\345\5\0\1\342\2\0\2\350\5\0\1\342\6\0"+
-    "\1\342\5\350\1\0\13\350\1\0\12\350\1\0\4\350"+
-    "\1\0\4\350\1\0\4\350\2\0\1\345\1\0\11\345"+
-    "\1\0\2\345\1\351\3\345\1\0\40\345\1\352\20\345"+
-    "\126\0\1\353\2\0\1\354\101\0\1\355\67\0\1\356"+
-    "\76\0\1\357\106\0\1\112\11\0\1\112\6\0\1\112"+
-    "\63\0\4\113\6\0\1\113\6\0\5\113\1\0\13\113"+
-    "\1\0\12\113\1\0\4\113\1\0\11\113\10\0\4\113"+
-    "\6\0\1\113\6\0\2\113\1\360\2\113\1\0\13\113"+
-    "\1\0\12\113\1\0\4\113\1\0\11\113\10\0\4\113"+
-    "\6\0\1\113\6\0\2\113\1\361\2\113\1\0\13\113"+
-    "\1\0\12\113\1\0\4\113\1\0\11\113\7\0\1\116"+
-    "\11\0\1\116\6\0\1\116\57\0\1\362\103\0\1\363"+
-    "\107\0\4\123\6\0\1\123\6\0\5\123\1\0\13\123"+
-    "\1\0\12\123\1\0\4\123\1\0\11\123\2\0\1\125"+
-    "\2\0\1\364\1\125\1\0\4\125\1\0\1\125\1\0"+
-    "\2\125\1\0\6\125\1\0\56\125\1\0\1\363\1\364"+
-    "\1\125\1\0\4\125\1\0\1\125\1\0\2\125\1\0"+
-    "\6\125\1\0\55\125\1\365\1\0\10\365\1\366\2\365"+
-    "\1\367\45\365\1\367\20\365\1\370\1\0\12\370\1\366"+
-    "\1\371\45\370\1\371\20\370\2\0\1\133\1\372\106\0"+
-    "\4\135\6\0\1\135\6\0\5\135\1\0\13\135\1\0"+
-    "\12\135\1\0\4\135\1\0\11\135\2\0\1\137\2\0"+
-    "\1\373\1\137\1\0\4\137\1\0\1\137\1\0\2\137"+
-    "\1\0\6\137\1\0\56\137\1\0\1\133\1\374\1\137"+
-    "\1\0\4\137\1\0\1\137\1\0\2\137\1\0\6\137"+
-    "\1\0\55\137\1\141\1\0\1\375\1\376\1\141\1\375"+
-    "\4\141\1\377\1\141\1\375\1\u0100\1\141\1\375\6\141"+
-    "\1\375\34\141\1\u0100\20\141\1\142\1\0\1\u0101\1\u0102"+
-    "\1\142\1\u0101\4\142\1\u0101\1\142\1\377\1\u0103\1\142"+
-    "\1\u0101\6\142\1\u0101\34\142\1\u0103\20\142\2\0\1\u0104"+
-    "\123\0\1\353\2\0\1\u0105\64\0\4\147\6\0\1\147"+
-    "\6\0\5\147\1\0\13\147\1\0\12\147\1\0\4\147"+
-    "\1\0\11\147\4\0\1\u0106\106\0\1\151\11\0\1\151"+
-    "\6\0\1\151\63\0\4\152\6\0\1\152\6\0\5\152"+
-    "\1\0\13\152\1\0\12\152\1\0\4\152\1\0\11\152"+
-    "\2\0\1\154\2\0\1\u0107\1\154\1\0\4\154\1\0"+
-    "\1\154\1\0\2\154\1\0\6\154\1\0\55\154\1\u0108"+
-    "\1\0\10\u0108\1\u0109\2\u0108\1\u010a\45\u0108\1\u010a\20\u0108"+
-    "\1\u010b\1\0\12\u010b\1\u0109\1\u010c\45\u010b\1\u010c\20\u010b"+
-    "\1\154\1\0\1\u0106\1\u0107\1\154\1\0\4\154\1\0"+
-    "\1\154\1\0\2\154\1\0\6\154\1\0\55\154\1\161"+
-    "\3\0\23\161\5\0\1\161\13\0\1\161\12\0\1\161"+
-    "\4\0\1\161\4\0\1\161\4\0\2\161\3\0\1\336"+
-    "\16\0\1\353\2\0\1\341\60\0\1\u010d\101\0\1\161"+
-    "\3\0\2\161\4\165\6\161\1\165\6\161\5\166\1\161"+
-    "\13\166\1\161\12\166\1\161\4\166\1\161\4\166\1\165"+
-    "\4\166\2\161\6\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\12\166\1\0\4\166\1\0\11\166"+
-    "\10\0\4\166\6\0\1\166\6\0\5\166\1\0\7\166"+
-    "\1\u010e\3\166\1\0\12\166\1\0\4\166\1\0\11\166"+
-    "\5\0\1\336\4\0\2\u010f\10\0\1\353\2\0\1\341"+
-    "\1\0\5\u010f\1\0\13\u010f\1\0\12\u010f\1\0\4\u010f"+
-    "\1\0\4\u010f\1\0\4\u010f\10\0\4\171\6\0\1\171"+
-    "\6\0\5\171\1\0\13\171\1\0\12\171\1\0\4\171"+
-    "\1\0\11\171\2\0\1\173\2\0\1\u0110\1\173\1\0"+
-    "\4\173\1\0\1\173\1\0\2\173\1\0\6\173\1\0"+
-    "\55\173\3\0\1\336\4\0\2\u0111\10\0\1\353\2\0"+
-    "\1\341\1\0\5\u0111\1\0\13\u0111\1\0\12\u0111\1\0"+
-    "\4\u0111\1\0\4\u0111\1\0\4\u0111\2\0\1\173\1\0"+
-    "\1\u010d\1\u0110\1\173\1\0\4\173\1\0\1\173\1\0"+
-    "\2\173\1\0\6\173\1\0\55\173\1\u0112\1\0\10\u0112"+
-    "\1\u0113\2\u0112\1\u0114\45\u0112\1\u0114\20\u0112\1\u0115\1\0"+
-    "\12\u0115\1\u0113\1\u0116\45\u0115\1\u0116\20\u0115\1\173\2\0"+
-    "\1\u0110\1\173\1\0\4\173\1\0\1\173\1\0\1\173"+
-    "\1\u0117\1\0\6\173\1\0\56\173\2\0\1\u0110\1\173"+
-    "\1\0\4\173\1\0\1\173\1\0\1\173\1\u0118\1\0"+
-    "\6\173\1\0\55\173\3\0\1\336\16\0\1\353\2\0"+
-    "\1\u0105\124\0\1\u0119\2\0\1\u0119\72\0\1\u011a\14\0"+
-    "\1\u011a\60\0\2\u011b\50\0\23\u011c\1\u011d\60\u011c\6\0"+
-    "\4\210\6\0\1\210\6\0\5\210\1\0\13\210\1\0"+
-    "\12\210\1\0\4\210\1\0\11\210\54\0\1\u011e\120\0"+
-    "\1\u011f\10\0\1\u011f\3\0\1\213\2\0\1\u0120\1\213"+
-    "\1\0\4\213\1\0\1\213\1\0\2\213\1\0\6\213"+
-    "\1\0\55\213\1\u0121\1\0\10\u0121\1\u0122\2\u0121\1\u0123"+
-    "\45\u0121\1\u0123\20\u0121\1\u0124\1\0\1\u0124\2\u0125\1\u0124"+
-    "\4\u0125\2\u0124\1\u0126\1\u0127\1\u0124\4\u0125\1\u0124\10\u0125"+
-    "\1\u0124\26\u0125\1\u0127\10\u0125\2\u0124\4\u0125\2\u0124\1\217"+
-    "\2\u011c\1\u0128\1\217\1\u011c\4\217\1\u011c\1\217\1\u011c"+
-    "\2\217\1\u011c\3\217\1\u0129\2\217\1\u011c\55\217\1\220"+
-    "\2\0\1\u012a\1\220\1\0\4\220\1\0\1\220\1\0"+
-    "\2\220\1\0\6\220\1\0\55\220\12\u012b\1\u012c\71\u012b"+
-    "\14\u012d\1\u012c\67\u012d\1\224\2\u011c\1\u012e\1\224\1\u011c"+
-    "\4\224\1\u011c\1\224\1\u011c\2\224\1\u011c\3\224\1\u012f"+
-    "\2\224\1\u011c\55\224\1\225\2\0\1\u0130\1\225\1\0"+
-    "\4\225\1\0\1\225\1\0\2\225\1\0\6\225\1\0"+
-    "\55\225\1\u0131\1\0\10\u0131\1\u0132\2\u0131\1\u0133\45\u0131"+
-    "\1\u0133\20\u0131\1\u0134\1\0\1\u0134\2\u0135\1\u0134\4\u0135"+
-    "\2\u0134\1\u0136\1\u0137\1\u0134\4\u0135\1\u0134\10\u0135\1\u0134"+
-    "\26\u0135\1\u0137\10\u0135\2\u0134\4\u0135\2\u0134\2\231\1\0"+
-    "\103\231\1\0\17\231\1\u0138\2\231\1\u0139\56\231\1\234"+
-    "\2\0\1\u013a\1\234\1\0\4\234\1\0\1\234\1\0"+
-    "\2\234\1\0\6\234\1\0\55\234\1\u013b\1\0\10\u013b"+
-    "\1\u013c\2\u013b\1\u013d\45\u013b\1\u013d\20\u013b\1\u013e\1\0"+
-    "\1\u013e\2\u013f\1\u013e\4\u013f\2\u013e\1\u0140\1\u0141\1\u013e"+
-    "\4\u013f\1\u013e\10\u013f\1\u013e\26\u013f\1\u0141\10\u013f\2\u013e"+
-    "\4\u013f\2\u013e\2\240\1\0\103\240\1\0\17\240\1\u0142"+
-    "\2\240\1\u0143\56\240\22\0\1\u0144\2\0\1\354\65\0"+
-    "\1\u0145\74\0\1\251\1\0\12\251\1\0\1\u0146\45\251"+
-    "\1\u0146\20\251\3\0\1\u0147\16\0\1\353\2\0\1\354"+
-    "\56\0\1\251\1\0\3\251\1\253\6\251\1\0\1\u0146"+
-    "\1\251\1\253\6\251\1\253\34\251\1\u0146\36\251\1\u0148"+
-    "\103\251\1\u0149\65\251\1\257\1\0\10\257\1\0\2\257"+
-    "\1\u014a\45\257\1\u014a\21\257\1\0\3\257\1\260\4\257"+
-    "\1\0\2\257\1\u014a\1\257\1\260\6\257\1\260\34\257"+
-    "\1\u014a\36\257\1\u014b\103\257\1\u014c\65\257\12\264\1\0"+
-    "\1\264\1\0\1\u014d\65\264\1\0\12\264\1\0\1\264"+
-    "\1\0\1\u014d\4\264\1\u014e\60\264\1\0\12\264\1\0"+
-    "\1\264\1\0\1\264\1\u014f\64\264\1\u0150\14\u0151\1\u0152"+
-    "\103\u0151\1\u0152\5\u0151\1\u0153\2\u0151\1\u0154\56\u0151\12\u0155"+
-    "\1\u0156\103\u0155\1\u0156\7\u0155\1\u0157\2\u0155\1\u0158\56\u0155"+
-    "\12\302\1\0\67\302\1\u0159\1\0\12\302\1\0\7\302"+
-    "\1\u015a\57\302\1\u0159\1\0\12\302\1\u015b\71\302\14\306"+
-    "\1\0\65\306\1\u015c\1\0\14\306\1\0\5\306\1\u015d"+
-    "\57\306\1\u015c\1\0\14\306\1\u015e\67\306\12\311\1\0"+
-    "\1\311\1\0\66\311\1\0\12\311\1\0\1\311\1\0"+
-    "\5\311\1\u015f\60\311\1\0\12\311\1\0\1\311\1\0"+
-    "\1\311\1\u0160\64\311\1\0\14\u0161\1\u0162\103\u0161\1\u0162"+
-    "\5\u0161\1\u0163\2\u0161\1\u0164\56\u0161\12\u0165\1\u0166\103\u0165"+
-    "\1\u0166\7\u0165\1\u0167\2\u0165\1\u0168\56\u0165\12\327\1\0"+
-    "\67\327\1\u0169\1\0\12\327\1\0\7\327\1\u016a\57\327"+
-    "\1\u0169\1\0\12\327\1\u016b\71\327\14\333\1\0\65\333"+
-    "\1\u016c\1\0\14\333\1\0\5\333\1\u016d\57\333\1\u016c"+
-    "\1\0\14\333\1\u016e\67\333\7\0\1\u016f\11\0\1\u0170"+
-    "\3\0\1\u0171\22\0\1\u0172\42\0\1\u0173\24\0\1\u0174"+
-    "\54\0\1\342\2\0\2\u0175\5\0\1\342\6\0\1\342"+
-    "\5\u0175\1\0\13\u0175\1\0\12\u0175\1\0\4\u0175\1\0"+
-    "\4\u0175\1\0\4\u0175\2\0\1\u0176\1\0\3\u0176\1\u0177"+
-    "\4\343\1\u0176\1\0\3\u0176\1\u0177\1\343\1\u0176\1\0"+
-    "\3\u0176\1\u0177\5\343\1\u0176\13\343\1\u0176\12\343\1\u0176"+
-    "\4\343\1\u0178\11\343\2\u0176\20\0\1\u0179\7\0\1\u017a"+
-    "\70\0\1\346\66\0\103\347\1\u017b\1\u0176\1\0\3\u0176"+
-    "\1\u0177\4\350\1\u0176\1\0\3\u0176\1\u0177\1\350\1\u0176"+
-    "\1\0\3\u0176\1\u0177\5\350\1\u0176\13\350\1\u0176\12\350"+
-    "\1\u0176\4\350\1\u017c\11\350\2\u0176\103\351\1\u017d\63\0"+
-    "\1\352\45\0\1\u0171\22\0\1\u0172\67\0\1\u0174\51\0"+
-    "\1\u017e\103\0\1\u017f\107\0\4\113\6\0\1\113\6\0"+
-    "\3\113\2\u0180\1\0\13\113\1\0\12\113\1\0\4\113"+
-    "\1\0\11\113\10\0\4\113\6\0\1\113\6\0\5\113"+
-    "\1\0\13\113\1\0\2\113\1\u0181\7\113\1\0\4\113"+
-    "\1\0\6\113\1\u0181\2\113\2\0\12\365\1\366\3\365"+
-    "\1\0\65\365\14\370\1\366\1\370\1\0\65\370\1\375"+
-    "\1\0\10\375\1\377\2\375\1\u0182\45\375\1\u0182\20\375"+
-    "\1\141\2\375\1\376\1\141\1\375\4\141\1\377\1\141"+
-    "\1\375\1\141\1\137\1\375\6\141\1\375\55\141\1\u0101"+
-    "\1\0\12\u0101\1\377\1\u0183\45\u0101\1\u0183\20\u0101\1\142"+
-    "\2\u0101\1\u0102\1\142\1\u0101\4\142\1\u0101\1\142\1\377"+
-    "\1\142\1\137\1\u0101\6\142\1\u0101\55\142\12\u0108\1\u0109"+
-    "\3\u0108\1\0\65\u0108\14\u010b\1\u0109\1\u010b\1\0\65\u010b"+
-    "\6\0\4\166\6\0\1\166\6\0\5\166\1\0\13\166"+
-    "\1\0\12\166\1\0\4\166\1\0\6\166\1\u0184\2\166"+
-    "\10\0\4\u010f\6\0\1\u010f\6\0\5\u010f\1\0\13\u010f"+
-    "\1\0\12\u010f\1\0\4\u010f\1\0\11\u010f\10\0\4\u0111"+
-    "\6\0\1\u0111\6\0\5\u0111\1\0\13\u0111\1\0\12\u0111"+
-    "\1\0\4\u0111\1\0\11\u0111\2\0\12\u0112\1\u0113\3\u0112"+
-    "\1\0\65\u0112\14\u0115\1\u0113\1\u0115\1\0\65\u0115\1\u0185"+
-    "\2\u0186\1\u0187\1\u0185\1\u0186\4\u0185\1\u0186\1\u0185\1\u0186"+
-    "\2\u0185\1\u0186\6\u0185\1\u0186\54\u0185\1\173\1\u0188\2\u0189"+
-    "\1\u018a\1\u0188\1\u0189\4\u0188\1\u0189\1\u0188\1\u0189\2\u0188"+
-    "\1\u0189\6\u0188\1\u0189\54\u0188\1\173\35\0\1\u018b\34\0"+
-    "\1\u018b\51\0\1\u018c\14\0\1\u018c\70\0\1\u018d\11\0"+
-    "\1\u018d\73\0\1\u018e\17\0\1\u018e\110\0\1\u018f\7\0"+
-    "\1\u018f\2\0\12\u0121\1\u0122\3\u0121\1\0\65\u0121\1\u0124"+
-    "\1\0\12\u0124\1\u0122\1\u0190\45\u0124\1\u0190\21\u0124\1\0"+
-    "\12\u0124\1\u0191\1\u0190\45\u0124\1\u0190\20\u0124\14\0\1\u0192"+
-    "\67\0\14\u0124\1\u0191\1\u0124\1\0\65\u0124\12\u0131\1\u0132"+
-    "\3\u0131\1\0\65\u0131\1\u0134\1\0\12\u0134\1\u0132\1\u0193"+
-    "\45\u0134\1\u0193\21\u0134\1\0\12\u0134\1\u0194\1\u0193\45\u0134"+
-    "\1\u0193\20\u0134\14\0\1\u0195\67\0\14\u0134\1\u0194\1\u0134"+
-    "\1\0\65\u0134\2\231\1\0\22\231\1\u0196\22\231\1\u0197"+
-    "\35\231\1\0\31\231\1\u0198\47\231\12\u013b\1\u013c\3\u013b"+
-    "\1\0\65\u013b\1\u013e\1\0\12\u013e\1\u013c\1\u0199\45\u013e"+
-    "\1\u0199\21\u013e\1\0\12\u013e\1\u019a\1\u0199\45\u013e\1\u0199"+
-    "\20\u013e\14\0\1\u019b\67\0\14\u013e\1\u019a\1\u013e\1\0"+
-    "\65\u013e\2\240\1\0\22\240\1\u019c\22\240\1\u019d\35\240"+
-    "\1\0\31\240\1\u019e\47\240\7\0\1\u019f\11\0\1\u0170"+
-    "\3\0\1\u0171\22\0\1\u0172\55\0\1\u01a0\61\0\16\251"+
-    "\1\0\65\251\16\257\1\0\65\257\12\264\1\0\1\264"+
-    "\1\0\1\264\1\u01a1\64\264\1\u0150\12\264\1\0\1\264"+
-    "\1\0\1\u014d\7\264\1\u01a2\22\264\1\u01a3\32\264\1\0"+
-    "\12\u01a1\1\0\1\u01a1\1\0\66\u01a1\1\0\12\u0150\1\0"+
-    "\1\u0150\1\0\1\u01a4\65\u0150\1\0\14\u0151\1\u0152\10\u0151"+
-    "\1\u01a5\22\u0151\1\u01a6\47\u0151\1\u0152\17\u0151\1\u01a7\47\u0151"+
-    "\12\u0155\1\u0156\12\u0155\1\u01a8\22\u0155\1\u01a9\45\u0155\1\u0156"+
-    "\21\u0155\1\u01aa\47\u0155\12\302\1\0\103\302\1\0\12\302"+
-    "\1\u01ab\22\302\1\u01ac\31\302\1\u0159\1\0\102\u01ad\1\u01ae"+
-    "\1\u01ad\14\306\1\0\103\306\1\0\10\306\1\u01af\22\306"+
-    "\1\u01b0\31\306\1\u015c\1\0\102\u01b1\1\u01b2\1\u01b1\12\311"+
-    "\1\0\1\311\1\0\10\311\1\u01b3\22\311\1\u01b4\32\311"+
-    "\1\0\14\u0161\1\u0162\10\u0161\1\u01b5\22\u0161\1\u01b6\47\u0161"+
-    "\1\u0162\17\u0161\1\u01b7\47\u0161\12\u0165\1\u0166\12\u0165\1\u01b8"+
-    "\22\u0165\1\u01b9\45\u0165\1\u0166\21\u0165\1\u01ba\47\u0165\12\327"+
-    "\1\0\103\327\1\0\12\327\1\u01bb\22\327\1\u01bc\31\327"+
-    "\1\u0169\1\0\102\u01bd\1\u01be\1\u01bd\14\333\1\0\103\333"+
-    "\1\0\10\333\1\u01bf\22\333\1\u01c0\31\333\1\u016c\1\0"+
-    "\102\u01c1\1\u01c2\1\u01c1\7\0\1\u01c3\103\0\1\u01c4\131\0"+
-    "\1\u01c5\46\0\1\u0175\1\0\11\u0175\1\0\6\u0175\1\0"+
-    "\61\u0175\1\u0176\1\0\11\u0176\1\0\6\u0176\1\0\45\u0176"+
-    "\1\0\14\u0176\1\0\3\u0176\1\u0177\5\u0176\1\0\3\u0176"+
-    "\1\u0177\2\u0176\1\0\3\u0176\1\u0177\41\u0176\1\u01c6\13\u0176"+
-    "\20\0\1\u0179\47\0\1\u01c7\33\0\1\u01c8\14\0\3\u01c8"+
-    "\2\0\1\u01c8\11\0\1\u01c8\1\0\2\u01c8\6\0\1\u01c8"+
-    "\2\0\2\u01c8\6\0\1\u01c8\10\0\4\113\6\0\1\113"+
-    "\6\0\5\113\1\0\11\113\1\u01c9\1\113\1\0\1\u01c9"+
-    "\11\113\1\0\4\113\1\0\11\113\2\0\12\375\1\377"+
-    "\3\375\1\0\65\375\14\u0101\1\377\1\u0101\1\0\65\u0101"+
-    "\6\0\3\166\1\u01ca\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+
-    "\1\u0185\2\u0186\1\u0187\1\u0185\1\u0186\4\u0185\1\u0186\1\u0185"+
-    "\1\u0186\2\u0185\1\u0186\6\u0185\1\u0186\54\u0185\1\u01cb\103\u0186"+
-    "\1\u01cc\1\u0188\2\u0189\1\u018a\1\u0188\1\u0189\4\u0188\1\u0189"+
-    "\1\u0188\1\u0189\2\u0188\1\u0189\6\u0188\1\u0189\54\u0188\1\u01cb"+
-    "\103\u0189\1\u01cd\40\0\1\u01ce\14\0\1\u01ce\60\0\2\u01cf"+
-    "\101\0\1\u01d0\112\0\1\u01d1\14\0\1\u01d1\60\0\2\u01d2"+
-    "\50\0\14\u0124\1\u0122\1\u0124\1\0\65\u0124\3\0\2\u01d3"+
-    "\1\0\4\u01d3\2\0\1\u0126\1\u01d3\1\0\4\u01d3\1\0"+
-    "\10\u01d3\1\0\37\u01d3\2\0\4\u01d3\2\0\14\u0134\1\u0132"+
-    "\1\u0134\1\0\65\u0134\3\0\2\u01d4\1\0\4\u01d4\2\0"+
-    "\1\u0136\1\u01d4\1\0\4\u01d4\1\0\10\u01d4\1\0\37\u01d4"+
-    "\2\0\4\u01d4\2\0\2\231\1\0\32\231\1\u01d5\46\231"+
-    "\14\u013e\1\u013c\1\u013e\1\0\65\u013e\3\0\2\u01d6\1\0"+
-    "\4\u01d6\2\0\1\u0140\1\u01d6\1\0\4\u01d6\1\0\10\u01d6"+
-    "\1\0\37\u01d6\2\0\4\u01d6\2\0\2\240\1\0\32\240"+
-    "\1\u01d7\46\240\7\0\1\u01d8\76\0\1\u01d9\101\0\12\u0150"+
-    "\1\0\1\u0150\1\0\1\u0150\1\0\65\u0150\14\u0151\1\u0152"+
-    "\20\u0151\1\u01da\46\u0151\12\u0155\1\u0156\22\u0155\1\u01db\46\u0155"+
-    "\12\u01dc\1\u01dd\70\u01dc\1\0\14\u01de\1\u01dd\66\u01de\1\0"+
-    "\14\u0161\1\u0162\20\u0161\1\u01df\46\u0161\12\u0165\1\u0166\22\u0165"+
-    "\1\u01e0\46\u0165\12\u01e1\1\u01e2\70\u01e1\1\0\14\u01e3\1\u01e2"+
-    "\66\u01e3\37\0\1\u01e4\135\0\1\u01c6\33\0\1\u01c8\14\0"+
-    "\3\u01c8\2\0\1\u01c8\11\0\1\u01c8\1\0\2\u01c8\6\0"+
-    "\1\u01c8\1\0\1\u01c7\2\u01c8\6\0\1\u01c8\10\0\4\113"+
-    "\6\0\1\113\6\0\5\113\1\0\6\113\1\u01e5\4\113"+
-    "\1\0\12\113\1\0\1\113\1\u01e5\2\113\1\0\11\113"+
-    "\10\0\4\166\6\0\1\166\6\0\5\166\1\0\6\166"+
-    "\1\u01e6\4\166\1\0\6\166\1\u01e7\3\166\1\0\4\166"+
-    "\1\0\11\166\54\0\1\u01e8\76\0\1\u01e9\13\0\1\u01e9"+
-    "\64\0\1\u01ea\11\0\1\u01ea\71\0\1\u01eb\11\0\1\u01eb"+
-    "\74\0\1\u01ec\13\0\1\u01ec\22\0\2\231\1\0\33\231"+
-    "\1\u01ed\45\231\2\240\1\0\33\240\1\u01ee\45\240\14\u0151"+
-    "\1\u0152\21\u0151\1\u01ef\45\u0151\12\u0155\1\u0156\23\u0155\1\u01f0"+
-    "\45\u0155\12\u01dc\1\u01ad\67\u01dc\1\u01f1\1\u01ad\14\u01de\1\u01b1"+
-    "\65\u01de\1\u01f2\1\u01b1\14\u0161\1\u0162\21\u0161\1\u01f3\45\u0161"+
-    "\12\u0165\1\u0166\23\u0165\1\u01f4\45\u0165\12\u01e1\1\u01bd\67\u01e1"+
-    "\1\u01f5\1\u01bd\14\u01e3\1\u01c1\65\u01e3\1\u01f6\1\u01c1\37\0"+
-    "\1\u01f7\52\0\4\113\6\0\1\113\6\0\5\113\1\0"+
-    "\3\113\1\u01f8\7\113\1\0\4\113\1\u01f8\5\113\1\0"+
-    "\4\113\1\0\11\113\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\11\166\1\u01f9\1\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\10\166\1\u01fa\2\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\55\0\1\u01fb\23\0\1\u01fb\50\0"+
-    "\1\u01fc\17\0\1\u01fc\66\0\1\u01fd\12\0\1\u01fd\52\0"+
-    "\1\u01fe\107\0\1\u01ff\34\0\1\u01ff\11\0\2\231\1\0"+
-    "\34\231\1\u0200\44\231\2\240\1\0\34\240\1\u0201\44\240"+
-    "\14\u0151\1\u0152\22\u0151\1\u0202\44\u0151\12\u0155\1\u0156\24\u0155"+
-    "\1\u0203\44\u0155\12\u01dc\1\u0204\67\u01dc\1\u01f1\1\u01ad\14\u01de"+
-    "\1\u0205\65\u01de\1\u01f2\1\u01b1\14\u0161\1\u0162\22\u0161\1\u0206"+
-    "\44\u0161\12\u0165\1\u0166\24\u0165\1\u0207\44\u0165\12\u01e1\1\u0208"+
-    "\67\u01e1\1\u01f5\1\u01bd\14\u01e3\1\u0209\65\u01e3\1\u01f6\1\u01c1"+
-    "\40\0\1\u020a\51\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\11\166\1\u020b\1\166\1\0\12\166\1\0\4\166"+
-    "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\6\166\1\u020c\4\166\1\0\12\166\1\0\4\166"+
-    "\1\0\11\166\44\0\1\u020d\11\0\1\u020d\67\0\1\u020e"+
-    "\14\0\1\u020e\66\0\1\u020f\14\0\1\u020f\26\0\2\231"+
-    "\1\0\35\231\1\u0210\43\231\2\240\1\0\35\240\1\u0211"+
-    "\43\240\14\u0151\1\u0152\23\u0151\1\u0212\43\u0151\12\u0155\1\u0156"+
-    "\25\u0155\1\u0213\43\u0155\14\u0161\1\u0162\23\u0161\1\u0214\43\u0161"+
-    "\12\u0165\1\u0166\25\u0165\1\u0215\43\u0165\37\0\1\u0216\52\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\13\166\1\0"+
-    "\4\166\1\u0217\5\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\5\166\1\u0218"+
-    "\5\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+
-    "\2\231\1\0\34\231\1\u0219\44\231\2\240\1\0\34\240"+
-    "\1\u021a\44\240\14\u0151\1\u0152\22\u0151\1\u021b\44\u0151\12\u0155"+
-    "\1\u0156\24\u0155\1\u021c\44\u0155\14\u0161\1\u0162\22\u0161\1\u021d"+
-    "\44\u0161\12\u0165\1\u0166\24\u0165\1\u021e\44\u0165\34\0\1\u021f"+
-    "\55\0\4\166\6\0\1\166\6\0\5\166\1\0\13\166"+
-    "\1\0\12\166\1\0\4\166\1\0\1\166\1\u0220\7\166"+
-    "\2\0\2\231\1\0\31\231\1\u0221\47\231\2\240\1\0"+
-    "\31\240\1\u0222\47\240\14\u0151\1\u0152\17\u0151\1\u0223\47\u0151"+
-    "\12\u0155\1\u0156\21\u0155\1\u0224\47\u0155\14\u0161\1\u0162\17\u0161"+
-    "\1\u0225\47\u0161\12\u0165\1\u0166\21\u0165\1\u0226\47\u0165\6\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\13\166\1\0"+
-    "\4\166\1\u0227\5\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\10\166\1\u0228"+
-    "\2\166\1\0\12\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\4\166\1\u0229"+
-    "\6\166\1\0\12\166\1\0\4\166\1\0\11\166\10\0"+
-    "\4\166\6\0\1\166\6\0\5\166\1\0\5\166\1\u022a"+
-    "\5\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+
-    "\6\u022b\4\u022c\6\u022b\1\u022c\5\u022b\1\0\5\u022c\1\u022b"+
-    "\13\u022c\1\u022b\12\u022c\1\u022b\4\u022c\1\u022b\11\u022c\2\u022b"+
-    "\41\0\1\u022d\3\0\1\u022e\7\0\1\u022f\1\u0230\20\0"+
-    "\1\u0231\12\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\4\166\1\u0232\3\166\1\u0233\2\166\1\0\4\166\1\u0234"+
-    "\1\u0235\4\166\1\0\4\166\1\0\6\166\1\u0236\2\166"+
-    "\60\0\1\u0237\74\0\1\u0238\112\0\1\u0239\102\0\1\u023a"+
-    "\104\0\1\u023b\33\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\5\166\1\u023c\4\166\1\0\4\166"+
-    "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\12\166\1\u023d\1\0\12\166\1\0\4\166\1\0"+
-    "\11\166\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\5\166\1\u023e\4\166\1\0\4\166\1\0"+
-    "\11\166\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\4\166\1\u023f\5\166\1\0\4\166\1\0"+
-    "\11\166\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\5\166\1\u0240\4\166\1\0\4\166\1\0"+
-    "\11\166\45\0\1\u0241\132\0\1\u0242\104\0\1\u0243\65\0"+
-    "\1\u0244\121\0\1\u0245\16\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\6\166\1\u0246\4\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\1\166\1\u0247\7\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\2\166\1\u0248\6\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\4\166\1\u0249\5\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\2\166\1\u024a\6\166\47\0\1\u024b\71\0\1\u024c\103\0"+
-    "\1\u024d\113\0\1\u024e\102\0\1\u024f\47\0\4\166\6\0"+
-    "\1\166\6\0\5\166\1\0\10\166\1\u0250\2\166\1\0"+
-    "\12\166\1\0\4\166\1\0\11\166\10\0\4\166\6\0"+
-    "\1\166\6\0\4\166\1\u0251\1\0\13\166\1\0\12\166"+
-    "\1\0\4\166\1\0\11\166\10\0\4\166\6\0\1\166"+
-    "\6\0\4\166\1\u0252\1\0\13\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\6\166\1\u0253\4\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\5\166\1\u0254\5\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\60\0\1\u0255\125\0\1\u0256\50\0"+
-    "\1\u0257\103\0\1\u0258\44\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\5\166\1\u0259\4\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\7\166\1\u025a\1\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\10\166\1\u025b\2\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\10\166\1\u025c\2\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\103\0\1\u025d\61\0\1\u0245\125\0"+
-    "\1\u024f\103\0\1\u025e\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\10\166\1\u025f\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\6\166\1\u024a\3\166\1\0\4\166"+
-    "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+
-    "\1\0\13\166\1\0\12\166\1\0\4\166\1\0\10\166"+
-    "\1\u0254\10\0\4\166\6\0\1\166\6\0\5\166\1\0"+
-    "\13\166\1\0\12\166\1\0\4\166\1\0\10\166\1\u0260"+
-    "\35\0\1\u0245\150\0\1\u0261\11\0\4\166\6\0\1\166"+
-    "\6\0\4\166\1\u024a\1\0\13\166\1\0\12\166\1\0"+
-    "\4\166\1\0\11\166\10\0\4\166\6\0\1\166\6\0"+
-    "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+
-    "\7\166\1\u0262\1\166\57\0\1\u0245\34\0\4\166\6\0"+
-    "\1\166\6\0\5\166\1\0\13\166\1\0\4\166\1\u024a"+
-    "\5\166\1\0\4\166\1\0\11\166\2\0";
-
-  /** 
-   * The transition table of the DFA
-   */
-  final private static int yytrans [] = yy_unpack(yy_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  // final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",		//$NON-NLS-1$
-    "Internal error: unknown state",		//$NON-NLS-1$
-    "Error: could not match input",		//$NON-NLS-1$
-    "Error: pushback value was too large"	//$NON-NLS-1$
-  };
-
-  /**
-   * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private final static byte YY_ATTRIBUTE[] = {
-     1,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  0,  1,  1,  1,  1, 
-     0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
-     1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  0,  1,  0,  0,  0,  0, 
-     0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  9, 
-     1,  9,  1,  1,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  9,  1, 
-     1,  1,  1,  9,  1,  1,  1,  1,  1,  1,  9,  1,  1,  9,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
-     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1, 
-     1,  9,  9,  1,  1,  9,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1, 
-     9,  1,  1,  1,  1,  9,  9,  1,  9,  3,  3,  3,  3,  3,  3,  9, 
-     9,  1,  1,  1,  9,  1,  1,  1,  1,  1,  9,  9,  1,  9,  3,  3, 
-     3,  3,  3,  3,  9,  9,  1,  1,  1,  9,  1,  1,  1,  9,  9,  1, 
-     1,  0,  1,  0,  9,  1,  2,  1,  2,  1,  1,  0,  0,  0,  9,  1, 
-     1,  9,  9,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,  0,  9,  1, 
-     0,  0,  1,  9,  0,  9,  0,  0,  9,  0,  0,  0,  9,  1,  1,  0, 
-     1,  0,  9,  0,  0,  0,  1,  1,  0,  0,  0,  0,  9,  0,  0,  0, 
-     0,  9,  0,  0,  0,  1,  0,  0,  1,  0,  0,  9,  0,  0,  1,  0, 
-     0,  9,  0,  0,  0,  1,  0,  1,  1,  0,  0,  9,  0,  0,  0,  1, 
-     0,  1,  1,  1,  0,  0,  9,  9,  9,  0,  9,  9,  1,  1,  1,  1, 
-     2, 13,  3,  2,  2, 13,  3,  2,  0,  1,  1,  0,  1,  1,  1,  1, 
-     2, 13,  3,  2,  2, 13,  3,  2,  0,  1,  1,  0,  1,  1,  0,  9, 
-     9,  9,  0,  0,  1,  1,  1,  9,  0,  0, 13,  9, 13,  9,  9,  1, 
-     1,  0,  0,  1,  3,  2,  2,  3,  2,  2,  0,  0,  0,  0,  0,  0, 
-     1,  0,  0,  1,  0,  1,  1,  1,  0,  1,  0,  1,  1,  1,  0,  0, 
-     1,  1,  1,  0,  3,  3,  2,  3,  3,  2,  1,  1,  0,  0,  1,  1, 
-     0,  0,  1,  1,  3,  3,  2,  3,  3,  2,  1,  1,  0,  0,  1,  1, 
-     0,  0,  9,  9,  0,  1,  9,  0,  1,  1,  5, 13, 13,  0,  0,  0, 
-     0,  0,  0,  0,  1,  0,  1,  9,  9,  2,  2,  0,  9,  0,  2,  2, 
-     0,  9,  0,  0,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  2,  2, 
-     0,  0,  2,  2,  0,  0,  0,  1,  1,  1,  0,  0,  0,  9,  9,  1, 
-     1,  2,  2,  1,  1,  2,  2,  1,  1,  0,  1,  1,  9,  9,  9,  1, 
-     1,  2,  2,  2,  2,  0,  1,  1,  1,  1,  2,  2,  2,  2,  9,  1, 
-     1,  1,  3,  3,  3,  3,  1,  1,  1,  1,  0,  1,  0,  0,  0,  0, 
-     0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1, 
-     0,  0,  1,  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,  0,  9,  1, 
-     1,  1,  1,  1,  0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  1,  1, 
-     0,  1
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  // private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  // private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-	private int fTokenCount = 0;
- 
-	// required holders for white-space compacting
-	private boolean fShouldLoadBuffered = false;
-	private String fBufferedContext = null;
-	private int fBufferedStart = 1;
-	private int fBufferedLength = 0;
-	private ContextRegionContainer fBufferedEmbeddedContainer = null;
-	private String f_context = null;
-
-	// state stack for handling embedded regions
-	private IntStack fStateStack = new IntStack();
-	// a "hint" as to what an embedded region should be evaluated
-	private String fEmbeddedHint = UNDEFINED;
-	// a "hint" as to what state to enter once an embedded region has
-	//   been completed
-	private int fEmbeddedPostState = YYINITIAL;
-	// the container used to create embedded regions
-	private ContextRegionContainer fEmbeddedContainer = null;
-	private static final String PROXY_CONTEXT = "PROXY_CONTEXT";
-
-	private String context = null;
-	private int start = 0;
-	private int textLength = 0;
-	private int length = 0;
-
-	// offset for tracking position specific block tags
-	private int fOffset = 0;
-	
-	// the name of the current tag being opened
-	private String fCurrentTagName = null;
-
-	// the name of the current tag inside of an embedded region
-	private String internalTagName = null;
-	private String internalContext = null;
-
-	// the list of tag name BlockMarkers
-	private List fBlockMarkers = new ArrayList(0);
-	private List fNestablePrefixes = new ArrayList(1);
-	
-	// where the last internal container block was found
-	private int fLastInternalBlockStart = -1;
-
-	// required to not seek text blocks on an end tag
-	private boolean fIsBlockingEnabled = false;
-	private boolean fIsCaseSensitiveBlocking = true;
-
-	private static final boolean fForbidJSP = false;
-	
-	private int fELlevel = 0;
-
-	private JSPParserRegionFactory fRegionFactory = new JSPParserRegionFactory();
-
-	private static final String rcsver = "$Id: JSPTokenizer.java,v 1.2 2005/01/27 21:53:12 nitind Exp $";//$NON-NLS-1$
-
-	/**
-	 * user method 
-	 */
-	public final void addBlockMarker(BlockMarker marker) {
-		if(containsTagName(marker.getTagName()))
-			return;
-		fBlockMarkers.add(marker);
-	}
-	/**
-	 * user method
-	 */
-	public final void addNestablePrefix(TagMarker marker) {
-		fNestablePrefixes.add(marker);
-	}
-	/* user method */
-	public List getNestablePrefixes() {
-		return fNestablePrefixes;
-	}
-	/**
-	 * user method
-	 */
-	private boolean isNestable(String tagName) {
-		//Iterator blocks = fNestablePrefixes.iterator();
-		//while(blocks.hasNext()) {
-		//	TagMarker marker = (TagMarker)blocks.next();
-		//	String markerName = marker.getTagName();
-		//	if(tagName.length() > markerName.length() + 1 && tagName.startsWith(markerName) && tagName.charAt(markerName.length()) == ':') {
-		//		return marker.isGlobal() || getOffset() >= marker.getMarker().getStart();
-		//	}
-		//}
-		//return false;
-		return true;
-	}
-	/**
-	 * user method 
-	 */
-	public final void removeNestablePrefix(String name) {
-		if (fNestablePrefixes != null) {
-			Iterator nestables = fNestablePrefixes.iterator();
-			while (nestables.hasNext()) {
-				if (((TagMarker) nestables.next()).getTagName().equalsIgnoreCase(name))
-					nestables.remove();
-			}
-		}
-	}
-	/**
-	 * user method 
-	 */
-	public final void removeBlockMarker(BlockMarker marker) {
-		fBlockMarkers.remove(marker);
-	}
-	/**
-	 * user method 
-	 */
-	public final void removeBlockMarker(String tagname) {
-		if (fBlockMarkers != null) {
-			Iterator blocks = fBlockMarkers.iterator();
-			while (blocks.hasNext()) {
-				if (((BlockMarker) blocks.next()).getTagName().equals(tagname))
-					blocks.remove();
-			}
-		}
-	}
-	/* user method */
-	private final void assembleEmbeddedTagSequence(String startType, String endTagName) {
-		assembleEmbeddedContainer(startType, null, endTagName);
-	}
-	/* user method */
-	private final void assembleEmbeddedContainer(String startType, String[] endTypes) {
-		assembleEmbeddedContainer(startType, endTypes, null);
-	}
-	/* user method */
-	private final void assembleEmbeddedContainer(String startType, String endType) {
-		assembleEmbeddedContainer(startType, new String[]{endType}, null);
-	}
-	/**
-	 *  user method 
-	 * 
-	 * Assembles an embedded container beginning with the given startType as
-	 * the first ContextRegion within it and of the type fEmbeddedHint.  The
-	 * endTypes[] array contains the context types that will cause a successful
-	 * exit.  Use of the endTagName parameter alters this behavior to force an
-	 * exit on an XML_TAG_CLOSE after seeing an XML_TAG_NAME whose significant
-	 * text matches the endTagName String.  All contents in between are
-	 * insignificant, and yes, this means comments are allowed inside.
-	 **/
-	private final void assembleEmbeddedContainer(String startType, String[] endTypes, String endTagName) {
-		// the context of the region being added to the embedded container
-		internalContext = startType;
-		// keep track of where this container began; to provide relative indeces for the regions
-		int containerStart = yychar;
-		boolean notFinished = true;
-		// keep track of where we seem to be so that the endTagName can be checked
-		boolean isInEndTag = false;
-		boolean isInFirstTag = true;
-		// create the embedded container and setup its "type"
-		if (fEmbeddedContainer == null) {
-			fEmbeddedContainer = new ContextRegionContainer();
-			fEmbeddedContainer.setType(fEmbeddedHint);
-			fEmbeddedContainer.setStart(containerStart);
-			// TODO: parent region needs to be set .... but not sure where to get it from 
-			//		fEmbeddedContainer.setParent(parentRegion);
-		}
-		containerStart = fEmbeddedContainer.getStart();
-		while (notFinished) {
-			// add the region to the container
-			if (internalContext != null && internalContext != PROXY_CONTEXT) {
-				ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());
-				fEmbeddedContainer.getRegions().add(newToken);
-				fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
-				fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
-				// DW, 4/16/2003 token regions no longer have parents
-				//newToken.setParent(fEmbeddedContainer);
-			}
-			try {
-				// longscan determines whether to attempt a blockTagScan within the embedded container
-				boolean longscan = false;
-				// save the tokenizer state in case of a block tag scan
-				int previousState = yystate();
-				String previousCurrentTagName = fCurrentTagName;
-				int previousPostState = fEmbeddedPostState;
-				String previousEmbeddedHint = fEmbeddedHint;
-				// determine if a block tag scan is necessary
-				if (internalContext == XML_TAG_NAME) {
-					internalTagName = yytext();
-					if(!isNestable(internalTagName)) {
-						internalTagName = null;
-						// snagged a tag name we shouldn't have
-						fEmbeddedPostState = ST_ABORT_EMBEDDED;
-						notFinished = false;
-					}
-				}
-				else if (internalContext == XML_TAG_OPEN || internalContext == XML_END_TAG_OPEN) {
-					internalTagName = null;
-				}
-				// do upkeep for endTagName usage; must be here since the next token could be the close
-				if (internalContext == XML_END_TAG_OPEN) {
-					isInEndTag = true;
-				} else if (internalContext == XML_TAG_CLOSE) {
-					isInFirstTag = isInEndTag = false;
-				} else {
-				 	ITextRegionList embeddedRegions = fEmbeddedContainer.getRegions();
-					if (embeddedRegions.size() > 2 && (embeddedRegions.get(embeddedRegions.size()-1)).getType() == XML_TAG_CLOSE && (embeddedRegions.get(embeddedRegions.size() - 3)).getType() == XML_TAG_OPEN && internalTagName != null) {
-						if (containsTagName(internalTagName)) {
-							longscan = true;
-							yybegin(ST_BLOCK_TAG_SCAN);
-						}
-					}
-				}
-				if (longscan)
-					fCurrentTagName = internalTagName;
-				// read the next region and context
-				internalContext = primGetNextToken();
-				if (longscan) {
-					// Returning from a block tag scan requires restoring some state variables
-					// as well as handling the block region and setting up for normal scanning
-					// inside the embedded container
-					ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());
-					fEmbeddedContainer.getRegions().add(newToken);
-					fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
-					fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
-					// DW, 4/16/2003 token regions no longer have parents
-					// newToken.setParent(fEmbeddedContainer);
-					longscan = false;
-					fEmbeddedPostState = previousPostState;
-					fEmbeddedHint = previousEmbeddedHint;
-					fCurrentTagName = previousCurrentTagName;
-					yybegin(previousState);
-					internalContext = primGetNextToken();
-				}
-			} catch (IOException e) {
-				// primGetNextToken() calls may throw an IOException
-				// catch and do nothing since the isEOF check below
-				// will properly exit if the input was too short
-			} catch (Exception f) {
-				// some other exception happened; never should
-				Logger.logException(f);
-			}
-			boolean isEndingType = yystate() == ST_ABORT_EMBEDDED;
-			if(!isEndingType) {
-				// check for ending context
-				if (endTagName == null) {
-					for (int i = 0; i < endTypes.length; i++) {
-						isEndingType = isEndingType || (internalContext == endTypes[i]);
-					}
-				}
-				else {
-					isEndingType = ((isInEndTag && internalContext == XML_TAG_CLOSE) || (isInFirstTag && internalContext == XML_EMPTY_TAG_CLOSE)) && internalTagName != null && internalTagName.equals(endTagName);
-				}
-			}
-			ITextRegionList embeddedList = fEmbeddedContainer.getRegions();
-			notFinished = notFinished && ((!isEndingType) && !isEOF() && (endTagName != null || internalContext != UNDEFINED) && !(internalContext == PROXY_CONTEXT && (embeddedList.get(embeddedList.size()-1)).getType() == UNDEFINED));
-		}
-		// finish adding the last context
-		if (internalContext != null && internalContext != PROXY_CONTEXT) {
-			ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());
-			fEmbeddedContainer.getRegions().add(newToken);
-			// DW, 4/16/2003 token regions no longer have parents
-			//newToken.setParent(fEmbeddedContainer);
-			fEmbeddedContainer.setLength(yychar - containerStart + yylength());
-			fEmbeddedContainer.setTextLength(yychar - containerStart + yylength());
-		}
-		yybegin(fEmbeddedPostState);
-	}
-	/* user method */
-	public final boolean isCaseSensitiveBlocking() {
-		return fIsCaseSensitiveBlocking;
-	}
-	/* user method */
-	public final void setCaseSensitiveBlocking(boolean newValue) {
-		fIsCaseSensitiveBlocking = newValue;
-	}
-	/* user method */
-	public boolean getBlockMarkerAllowsJSP() {
-		return getBlockMarkerAllowsJSP(fCurrentTagName);
-	}
-	/* user method */
-	public boolean getBlockMarkerAllowsJSP(String name) {
-		Iterator iterator = fBlockMarkers.iterator();
-		while(iterator.hasNext()) {
-			BlockMarker marker = (BlockMarker)iterator.next();
-			boolean casesensitive = marker.isCaseSensitive();
-			if(casesensitive && marker.getTagName().equals(name))
-				return marker.allowsJSP();
-			else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))
-				return marker.allowsJSP();
-		}
-		return true;
-	}
-	/* user method */
-	public boolean getBlockMarkerCaseSensitivity() {
-		return getBlockMarkerCaseSensitivity(fCurrentTagName);
-	}
-	public boolean getBlockMarkerCaseSensitivity(String name) {
-		Iterator iterator = fBlockMarkers.iterator();
-		while(iterator.hasNext()) {
-			BlockMarker marker = (BlockMarker)iterator.next();
-			boolean casesensitive = marker.isCaseSensitive();
-			if(casesensitive && marker.getTagName().equals(name))
-				return casesensitive;
-			else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))
-				return casesensitive;
-		}
-		return true;
-	}
-	/* user method */
-	public String getBlockMarkerContext() {
-		return getBlockMarkerContext(fCurrentTagName);
-	}
-	/* user method */
-	public String getBlockMarkerContext(String name) {
-		Iterator iterator = fBlockMarkers.iterator();
-		while(iterator.hasNext()) {
-			BlockMarker marker = (BlockMarker)iterator.next();
-			if(marker.getTagName().equals(name))
-				return marker.getContext();
-		}
-		return BLOCK_TEXT;
-	}
-	/* user method */
-	public List getBlockMarkers() {
-		return fBlockMarkers;
-	}
-	/* user method */
-	public final int getOffset() {
-		return fOffset + yychar;
-	}
-	private final boolean isBlockMarker() {
-		return isBlockMarker(fCurrentTagName);
-	}
-	private final boolean isBlockMarker(String tagName) {
-		if (!fIsBlockingEnabled)
-			return false;
-		return containsTagName(tagName);
-	}
-	/**
-	 * user method
-	 */
-	public final void beginBlockTagScan(String newTagName) {
-		beginBlockMarkerScan(newTagName, BLOCK_TEXT);
-	}
-	/**
-	 * user method
-	 *
-	 * Special tokenizer setup.  Allows tokenization to be initiated at the
-	 * start of a text block within a "newTagName" tag.
-	 *
-	 * Example: 
-	 *	Tokenizer toker = new Tokenizer();
-	 *	toker.setCaseSensitiveBlocking(false);
-	 *	toker.reset(new java.io.StringReader("afiuhqwkejhtasihgalkwhtq</scripter></scr></script>asgdasga"));
-	 *	toker.beginBlockMarkerScan("script", BLOCK_TEXT);
-	 *	toker.getRegions(); 
-	 *
-	 * Returns:
-	 *	BLOCK_TEXT: 0-40
-	 *	XML_END_TAG_OPEN: 41-42
-	 *	XML_TAG_NAME: 43-48
-	 *	XML_TAG_CLOSE: 49-49
-	 *	XML_CONTENT: 50-57
-	 *
-	 */
-	public final void beginBlockMarkerScan(String newTagName, String blockcontext) {
-		yybegin(ST_BLOCK_TAG_SCAN);
-		fCurrentTagName = newTagName;
-	}
-
-/**
- * Method doScan.
- * 
- * Returns a context region for all of the text from the current position upto the end of input or
- * to right *before* the first occurence of searchString
- * 
- * @param searchString - target string to search for ex.: "-->", "</tagname"
- * @param requireTailSeparator - whether the target must be immediately followed by whitespace or '>'
- * @param allowJSP - check for and allow for JSP markup <%%>
- * @param context - the context of the scanned region if non-zero length
- * @param exitState - the state to go to if the region was of non-zero length
- * @param abortState - the state to go to if the searchString was found immediately
- * @return String - the context found: the desired context on a non-zero length match, the abortContext on immediate success
- * @throws IOException
- */
-private final String doScan(String searchString, boolean requireTailSeparator, boolean allowJSP, boolean allowCDATA, String searchContext, int exitState, int immediateFallbackState) throws IOException {
-	boolean stillSearching = true;
-	// Disable further block (probably)
-	fIsBlockingEnabled = false;
-	int searchStringLength = searchString.length();
-	int n = 0;
-	char lastCheckChar;
-	int i;
-	boolean same = false;
-	// Check for JSP starts ("<%") if the tag is global like SCRIPT or STYLE
-	boolean checkJSPs = allowJSP && !fForbidJSP;
-	boolean checkedForJSPsOnce = !checkJSPs;
-	boolean checkedJSPsAtStartOnce = false;
-	
-	while (stillSearching) {
-		n = 0;
-		// Ensure that enough data from the input exists to compare against the search String.
-		n = yy_advance();
-		while(n != YYEOF && yy_currentPos < searchStringLength)
-			n = yy_advance();
-//		c = (char) n;
-		// If the input was too short or we've exhausted the input, stop immediately.
-		if (n == YYEOF && checkedForJSPsOnce) {
-			stillSearching = false;
-		}
-		else {
-			/**
-			 * Look for starting JSPs "<%"
-			 */
-			checkedForJSPsOnce = true;
-			// 1) yy_currentPos - searchStringLength : There's at least searchStringLength of input available; once that's read, check for JSPs
-			// ---
-			// Look for a JSP beginning at current-searchStringLength; if so, backup and switch scanner states to handle it.
-			// Ensure that we've not encountered a complete block (<%%>) that was *shorter* than the closeTagString and
-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].
-			if(checkJSPs && yy_currentPos > searchStringLength && yy_currentPos - searchStringLength != fLastInternalBlockStart && 
-				yy_buffer[yy_currentPos - searchStringLength] == '<' && yy_buffer[yy_currentPos - searchStringLength + 1] == '%') {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-			// 2) yy_currentPos - jspstarter.length : There's not searchStringLength of input available; check for a JSP 2 spots back in what we could read
-			// ---
-			// Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section
-			// since it relies upon *having* closeTagStringLength amount of input to work as designed.  Must be sure we don't
-			// spill over the end of the buffer while checking.
-			else if(checkJSPs && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 &&
-					yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-			// 3) yy_currentPos..(yy_currentPos+jspStartlength-1) : Check at the start of the block one time
-			// ---
-			// Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section
-			// since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed.
-			else if(checkJSPs && !checkedJSPsAtStartOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 &&
-					yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') {
-				checkedJSPsAtStartOnce = true;
-				fLastInternalBlockStart = yy_markedPos = yy_startRead;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-
-
-			/**
-			 * Look for starting CDATA "<![CDATA["
-			 */
-			// 1) yy_currentPos - searchStringLength: There's at least searchStringLength of input available; once that's read, check for CDATA
-			// ---
-			// Look for a CDATA beginning at current-searchStringLength; if so, backup and switch scanner states to handle it.
-			// Ensure that we've not encountered a complete block (<[!CDATA[]]>) that was *shorter* than the closeTagString and
-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].
-/*			if(checkCDATA && yy_currentPos > searchStringLength && yy_currentPos + searchStringLength < yy_buffer.length && yy_currentPos - searchStringLength != fLastInternalBlockStart && 
-				charsMatch(cdataStarter, yy_buffer, 0, yy_currentPos - searchStringLength)) {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				// go to a state where CDATA can be found
-				if (fEmbeddedContainer == null) {
-					fEmbeddedContainer = new ContextRegionContainer();
-					fEmbeddedContainer.setType(searchContext);
-					fEmbeddedContainer.setStart(yychar);
-				}
-				ITextRegion newToken = fRegionFactory.createToken(searchContext, yychar, yylength(), yylength());
-				fEmbeddedContainer.getRegions().add(newToken);
-				fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());
-				fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());
-				yybegin(YYINITIAL);
-				String context = primGetNextToken();
-				if(context.equals(XMLRegionContexts.XML_CDATA_OPEN)) {
-					assembleEmbeddedContainer(XMLRegionContexts.XML_CDATA_OPEN, XMLRegionContexts.XML_CDATA_CLOSE);
-				}
-				yybegin(resumeState);
-				return searchContext;
-			}
-*//*
-			// 2) yy_currentPos - cdataStarter.length: There's not searchStringLength of input available; check for a CDATA right here spots back in what we could read
-			// ---
-			// Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section
-			// since it relies upon *having* closeTagStringLength amount of input to work as designed.  Must be sure we don't
-			// spill over the end of the buffer while checking.
-			else if(checkCDATA && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 &&
-					yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') {
-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-			// 3) yy_currentPos : Check at the start of the block one time
-			// ---
-			// Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section
-			// since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed.
-			else if(checkCDATA && !checkedForCDATAOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 &&
-					yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') {
-				checkedForCDATAOnce = true;
-				fLastInternalBlockStart = yy_markedPos = yy_startRead;
-				yy_currentPos = yy_markedPos + 1;
-				int resumeState = yystate();
-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);
-				if(yy_markedPos == yy_startRead) {
-					String jspContext = primGetNextToken();
-					yybegin(resumeState);
-					return jspContext;
-				}
-				return searchContext;
-			}
-*/
-			// Check the characters in the target versus the last targetLength characters read from the buffer
-			// and see if it matches
-			if (n == YYEOF) {
-				stillSearching = false;
-			}
-			else {
-				same = true;
-				// safety check for array accesses
-				if(yy_currentPos >= searchStringLength && yy_currentPos <= yy_buffer.length) {
-					for(i = 0; i < searchStringLength; i++) {
-						if(same && fIsCaseSensitiveBlocking)
-							same = yy_buffer[i + yy_currentPos - searchStringLength] == searchString.charAt(i);
-						else if(same && !fIsCaseSensitiveBlocking)
-							same = Character.toLowerCase(yy_buffer[i + yy_currentPos - searchStringLength]) == Character.toLowerCase(searchString.charAt(i));
-					}
-				}
-				// safety check failed; no match is possible right now
-				else {
-					same = false;
-				}
-			}
-			if (same && requireTailSeparator && yy_currentPos < yy_buffer.length) {
-				// Additional check for close tags to ensure that targetString="</script" doesn't match
-				// "</scriptS"
-				lastCheckChar = yy_buffer[yy_currentPos];
-				// Succeed on "</script>" and "</script "
-				if(lastCheckChar == '>' || Character.isWhitespace(lastCheckChar))
-					stillSearching = false;
-			}
-			else {
-				stillSearching = !same || (yy_currentPos < yy_startRead + searchStringLength);
-			}
-		}
-	}
-	if (n != YYEOF || same) {
-		// We've stopped short of the end or definitely found a match
-		yy_markedPos = yy_currentPos - searchStringLength;
-		yy_currentPos = yy_markedPos + 1;
-		// If the searchString occurs at the very beginning of what would have
-		// been a Block, resume scanning normally immediately
-		if (yy_markedPos == yy_startRead) {
-			yybegin(immediateFallbackState);
-			return primGetNextToken();
-		}
-	}
-	else {
-		// We ran through the rest of the input
-		yy_markedPos = yy_currentPos;
-		yy_currentPos++;
-	}
-	yybegin(exitState);
-	// If the ending occurs at the very beginning of what would have
-	// been a Block, resume scanning normally immediately
-	if(yy_markedPos == yy_startRead)
-		return primGetNextToken();
-	return searchContext;
-}
-/**
- * user method 
- * does a lookahead for the current tag name
- */
-private final String doBlockTagScan() throws IOException {
-	fIsCaseSensitiveBlocking = getBlockMarkerCaseSensitivity();
-	return doScan("</" + fCurrentTagName, true, getBlockMarkerAllowsJSP(), true, getBlockMarkerContext(fCurrentTagName), YYINITIAL, YYINITIAL);
-}
-	/**
-	 * user method
-	 *
-	 * Converts the raw context String returned by the primGetNextToken()
-	 * method into a full ITextRegion by pulling in values for the
-	 * current offset within the scanning text.
-	 *
-	 * Returns null when EOF is encountered and attaches intermittently
-	 * discovered whitespace onto the end of useful regions.
-	 *
-	 * Note that this algorithm caches the token following the one being returned
-	 * so that whitespace can be collapsed.
-	 */
-	public final ITextRegion getNextToken() throws IOException {
-		fEmbeddedContainer = null;
-		// load the starting non-whitespace token (assume that it is so)
-		if (fShouldLoadBuffered) {
-			if (fBufferedEmbeddedContainer != null) {
-				ITextRegion container = fBufferedEmbeddedContainer;
-				fBufferedEmbeddedContainer = null;
-				fShouldLoadBuffered = false;
-				return container;
-			}
-			context = fBufferedContext;
-			start = fBufferedStart;
-			textLength = length = fBufferedLength;
-			fShouldLoadBuffered = false;
-		} else {
-			context = primGetNextToken();
-			if (context == PROXY_CONTEXT) {
-				return fEmbeddedContainer;
-			} else if (context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {
-				if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-					fCurrentTagName = yytext();
-				else
-					fCurrentTagName = null;
-			} else if (context == XML_TAG_OPEN) {
-				fIsBlockingEnabled = true;
-			} else if (context == XML_END_TAG_OPEN) {
-				fIsBlockingEnabled = false;
-			}
-			start = yychar;
-			textLength = length = yylength();
-			if (yy_atEOF) {
-				fTokenCount++;
-				return null;
-			}
-		}
-		// store the next token
-		f_context = primGetNextToken();
-		if (f_context == PROXY_CONTEXT) {
-			fBufferedEmbeddedContainer = fEmbeddedContainer;
-			fShouldLoadBuffered = true;
-		} else if (f_context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {
-			if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-				fCurrentTagName = yytext();
-			else
-				fCurrentTagName = null;
-		} else if (f_context == XML_TAG_OPEN) {
-			fIsBlockingEnabled = true;
-		} else if (f_context == XML_END_TAG_OPEN) {
-			fIsBlockingEnabled = false;
-		}
-		fBufferedContext = f_context;
-		fBufferedStart = yychar;
-		fBufferedLength = yylength();
-		fShouldLoadBuffered = true;
-		if (fBufferedContext == WHITE_SPACE) {
-			fShouldLoadBuffered = false;
-			length += fBufferedLength;
-		}
-		if (context == null) {
-			// EOF
-			if (Debug.debugTokenizer) {
-				System.out.println(getClass().getName() + " discovered " + fTokenCount + " tokens."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			return null;
-		}
-		fTokenCount++;
-		return fRegionFactory.createToken(context, start, textLength, length, null, fCurrentTagName);
-	}
-	/* user method */
-	public JSPTokenizer(){
-		super();
-	}
-	/* user method */
-	public JSPTokenizer(char[] charArray){
-			this(new CharArrayReader(charArray));
-	}
-	/* user method */
-	public void reset(char[] charArray) {
-		reset(new CharArrayReader(charArray), 0);
-	}
-	/* user method */
-	public void reset(char[] charArray, int newOffset) {
-		reset(new CharArrayReader(charArray), newOffset);
-	}
-	/* user method */
-	public void reset(java.io.InputStream in) {
-		reset(new java.io.InputStreamReader(in), 0);
-	}
-	/* user method */
-	public void reset(java.io.InputStream in, int newOffset) {
-		reset(new java.io.InputStreamReader(in), newOffset);
-	}
-	/* user method */
-	public void reset(java.io.Reader in) {
-		reset(in, 0);
-	}
-	/**
-	 * user method *
-	 *
-	 * Reset internal counters and vars to "newly created" values, in the hopes
-	 * that resetting a pre-existing tokenizer is faster than creating a new one.
-	 *
-	 * This method contains code blocks that were essentially duplicated from the
-	 * <em>generated</em> output of this specification before this method was
-	 * added.  Those code blocks were under the above copyright.
-	 */
-	public void reset(java.io.Reader in, int newOffset) {
-		if (Debug.debugTokenizer) {
-			System.out.println("resetting tokenizer");//$NON-NLS-1$
-		}
-		fOffset = newOffset;
-	
-		/* the input device */
-		yy_reader = in;
-	
-		/* the current state of the DFA */
-		yy_state = 0;
-	
-		/* the current lexical state */
-		yy_lexical_state = YYINITIAL;
-	
-		/* this buffer contains the current text to be matched and is
-		the source of the yytext() string */
-		java.util.Arrays.fill(yy_buffer, (char)0);
-	
-		/* the textposition at the last accepting state */
-		yy_markedPos = 0;
-	
-		/* the textposition at the last state to be included in yytext */
-		yy_pushbackPos = 0;
-	
-		/* the current text position in the buffer */
-		yy_currentPos = 0;
-	
-		/* startRead marks the beginning of the yytext() string in the buffer */
-		yy_startRead = 0;
-	
-		/** 
-		 * endRead marks the last character in the buffer, that has been read
-		 * from input 
-		 */
-		yy_endRead = 0;
-	
-		/* number of newlines encountered up to the start of the matched text */
-		yyline = 0;
-	
-		/* the number of characters up to the start of the matched text */
-		yychar = 0;
-	
-		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-		yy_atEOF = false;
-	
-		/* denotes if the user-EOF-code has already been executed */
-		yy_eof_done = false;
-	
-	
-		/* user vars: */
-		fTokenCount = 0;
-	 
-		fShouldLoadBuffered = false;
-		fBufferedContext = null;
-		fBufferedStart = 1;
-		fBufferedLength = 0;
-		fStateStack = new IntStack();
-	
-		fLastInternalBlockStart = -1;
-	
-		context = null;
-		start = 0;
-		textLength = 0;
-		length = 0;
-	
-		fEmbeddedContainer = null;
-		
-		fELlevel = 0;
-	}
-	/**
-	 * user method
-	 *
-	 * @see com.ibm.sed.parser.BlockTokenizer#newInstance()
-	 */
-	public BlockTokenizer newInstance() {
-		JSPTokenizer newInstance = new JSPTokenizer();
-		// global tagmarkers can be shared; they have no state and 
-		// are never destroyed (e.g. 'release')
-		for(int i = 0; i < fBlockMarkers.size(); i++) {
-			BlockMarker blockMarker = (BlockMarker) fBlockMarkers.get(i);
-			if(blockMarker.isGlobal())
-				newInstance.addBlockMarker(blockMarker);
-		}
-		for(int i = 0; i < fNestablePrefixes.size(); i++) {
-			TagMarker marker = (TagMarker) fNestablePrefixes.get(i);
-			if(marker.isGlobal())
-				newInstance.addNestablePrefix(marker);
-		}
-		return newInstance;
-	}
-	/* user method */
-	private final String scanXMLCommentText() throws IOException {
-		// Scan for '-->' and return the text up to that point as
-		//   XML_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which
-		//  case change to the ST_XML_COMMENT_END state and return the next
-		//  context as usual.
-		return doScan("-->", false, true, true, XML_COMMENT_TEXT, ST_XML_COMMENT_END, ST_XML_COMMENT_END);
-	}
-	/* user method */
-	private final String scanJSPCommentText() throws IOException {
-		// Scan for '--%>' and return the text up to that point as
-		//   JSP_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which
-		//  case change to the ST_JSP_COMMENT_END state and return the next
-		//  context as usual.
-		return doScan("--%>", false, false, true, JSP_COMMENT_TEXT, ST_JSP_COMMENT_END, ST_JSP_COMMENT_END);
-	}
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public JSPTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public JSPTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed DFA transition table.
-   *
-   * @param packed   the packed transition table
-   * @return         the unpacked transition table
-   */
-  private static int [] yy_unpack(String packed) {
-    int [] trans = new int[28900];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 7180) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      value--;
-      do trans[j++] = value; while (--count > 0);
-    }
-    return trans;
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 1376) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning - from the SED JFlex skeleton
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-    // DO NOT EXIT the VM on an error
-    // System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-	/**
-	 * user method - skeleton.sed
-	 */
-	protected final boolean containsTagName(char[] markerTagName, int offset, int tagnameLength) {
-		for(int j = 0; j < fBlockMarkers.size(); j++) {
-			BlockMarker marker = (BlockMarker)fBlockMarkers.get(j);
-			if(marker.getTagName().length() == tagnameLength) {
-				boolean matchesSoFar = true;
-				for(int i = 0; i < tagnameLength && matchesSoFar; i++) {
-					if(marker.isCaseSensitive()) {
-						if(marker.getTagName().charAt(i) != markerTagName[i + offset])
-							matchesSoFar = false;
-					}
-					else {
-						if(Character.toLowerCase(marker.getTagName().charAt(i)) != Character.toLowerCase(markerTagName[i + offset]))
-							matchesSoFar = false;
-					}
-				}
-				if(matchesSoFar)
-					return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * user method - skeleton.sed
-	 *
-	 * Return ALL of the regions scannable within the remaining text
-	 * Note: for verification use
-	 */
-	public final List getRegions() {
-		List tokens = new ArrayList();
-		ITextRegion region = null;
-		try {
-			region = getNextToken();
-			while(region != null) {
-				if (region != null) {
-					tokens.add(region);
-				}
-				region = getNextToken();
-			}
-		}
-		catch (StackOverflowError e) {
-			Logger.logException(getClass().getName()+": input could not be tokenized correctly at position " + getOffset(), e);//$NON-NLS-1$
-			throw e;
-		}
-		catch (Exception e) {
-			// Since this is convenience method and NOT the recommended 
-			// way of getting tokens, many errors are simply hidden
-			Logger.logException("Exception not handled retrieving regions: " + e.getLocalizedMessage(), e);//$NON-NLS-1$
-		}
-		return tokens;
-	}
-	/**
-	 * user method - skeleton.sed
-	 */
-	private final void dump(String s) {
-		if (Debug.debugTokenizer) {
-			System.out.println(s + " (" + yychar + "-" + //$NON-NLS-2$//$NON-NLS-1$
-				(yylength() + yychar) + "):\'" +//$NON-NLS-1$
-					StringUtils.escape(yytext()) + "\'");//$NON-NLS-1$
-		}
-	}
-	/* user method  - skeleton.sed */
-	public final boolean isEOF() {
-		return yy_atEOF;
-	}
-/* user method - skeleton.sed */
-protected final boolean containsTagName(String markerTagName) {
-	Iterator blocks = fBlockMarkers.iterator();
-	while(blocks.hasNext()) {
-		BlockMarker marker = (BlockMarker)blocks.next();
-		if(marker.isCaseSensitive()) {
-			if(marker.getTagName().equals(markerTagName))
-				return true;
-		}
-		else {
-			if(marker.getTagName().equalsIgnoreCase(markerTagName))
-				return true;
-		}
-	}
-	return false;
-}
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    // do nothing, this is the downstream parser's job
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-    yy_pushbackPos = -1;
-    boolean yy_was_pushback;
-
-    while (true) {
-
-      yychar+= yylength();
-
-      boolean yy_counted = false;
-      for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
-                                                      yy_currentPos++) {
-        switch (yy_buffer[yy_currentPos]) {
-        case '\r':
-          yyline++;
-          yy_counted = true;
-          break;
-        case '\n':
-          if (yy_counted)
-            yy_counted = false;
-          else {
-            yyline++;
-          }
-          break;
-        default:
-          yy_counted = false;
-        }
-      }
-
-      if (yy_counted) {
-        if ( yy_advance() == '\n' ) yyline--;
-        if ( !yy_atEOF ) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      yy_state = yy_lexical_state;
-
-      yy_was_pushback = false;
-
-      yy_forAction: {
-        while (true) {
-    
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ];
-          if (yy_next == -1) break yy_forAction;
-          yy_state = yy_next;
-
-          int yy_attributes = YY_ATTRIBUTE[yy_state];
-          if ( (yy_attributes & 2) > 0 )
-            yy_pushbackPos = yy_currentPos;
-
-          if ( (yy_attributes & 1) > 0 ) {
-            yy_was_pushback = (yy_attributes & 4) > 0;
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( (yy_attributes & 8) > 0 ) break yy_forAction;
-          }
-
-        }
-      }
-
-      if (yy_was_pushback)
-        yy_markedPos = yy_pushbackPos;
-
-      switch (yy_action) {    
-
-        case 578: 
-        case 583: 
-        case 590: 
-        case 595: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("jsp directive tag name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return JSP_DIRECTIVE_NAME;
- }
-        case 611: break;
-        case 542: 
-        case 544: 
-        case 545: 
-        case 546: 
-        case 547: 
-        case 548: 
-        case 549: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCDATA start");//$NON-NLS-1$
-	fStateStack.push(yystate());
-	yybegin(ST_CDATA_TEXT);
-	return XML_CDATA_OPEN;
- }
-        case 612: break;
-        case 534: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("jsp:root tag name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return JSP_ROOT_TAG_NAME;
- }
-        case 613: break;
-        case 526: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("element");//$NON-NLS-1$
-	yybegin(ST_XML_ELEMENT_DECLARATION);
-	return XML_ELEMENT_DECLARATION;
- }
-        case 614: break;
-        case 525: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist");//$NON-NLS-1$
-	yybegin(ST_XML_ATTLIST_DECLARATION);
-	return XML_ATTLIST_DECLARATION;
- }
-        case 615: break;
-        case 524: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_DECLARATION);
-	return XML_DOCTYPE_DECLARATION;
- }
-        case 616: break;
-        case 510: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_PUBREF;
-	yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
- }
-        case 617: break;
-        case 509: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_SYSREF;
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
- }
-        case 618: break;
-        case 503: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction target");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 619: break;
-        case 481: 
-        case 519: 
-        case 520: 
-          { 
-	return JSP_VBL_QUOTED_CONTENT;
- }
-        case 620: break;
-        case 476: 
-        case 515: 
-        case 516: 
-          { 
-	return JSP_EL_QUOTED_CONTENT;
- }
-        case 621: break;
-        case 472: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nJSP comment close");//$NON-NLS-1$
-	yybegin(YYINITIAL);
-	return JSP_COMMENT_CLOSE;
- }
-        case 622: break;
-        case 471: 
-          { 
-	yybegin(ST_JSP_COMMENT);
-	assembleEmbeddedContainer(JSP_COMMENT_OPEN, JSP_COMMENT_CLOSE);
-	if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN)
-		yybegin(ST_BLOCK_TAG_SCAN);
-	return PROXY_CONTEXT;
- }
-        case 623: break;
-        case 460: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	if(yylength() > 2)
-		yypushback(yylength() -2);
-	if(Debug.debugTokenizer)
-		dump("VBL in attr value");//$NON-NLS-1$
-	yybegin(ST_JSP_VBL);
-	fELlevel++;
-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE});
-	fStateStack.pop();
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	return PROXY_CONTEXT;
- }
-        case 624: break;
-        case 459: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	if(yylength() > 2)
-		yypushback(yylength() -2);
-	if(Debug.debugTokenizer)
-		dump("EL in attr value");//$NON-NLS-1$
-	yybegin(ST_JSP_EL);
-	fELlevel++;
-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE});
-	fStateStack.pop();
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	return PROXY_CONTEXT;
- }
-        case 625: break;
-        case 454: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCharRef");//$NON-NLS-1$
-	return XML_CHAR_REFERENCE;
- }
-        case 626: break;
-        case 451: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\ncomment start");//$NON-NLS-1$
-	fEmbeddedHint = XML_COMMENT_TEXT;
-	fEmbeddedPostState = ST_XML_COMMENT;
-	yybegin(ST_XML_COMMENT);
-	return XML_COMMENT_OPEN;
- }
-        case 627: break;
-        case 450: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nJSP comment start");//$NON-NLS-1$
-	yybegin(ST_JSP_COMMENT);
-	return JSP_COMMENT_OPEN;
- }
-        case 628: break;
-        case 383: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction target");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 629: break;
-        case 382: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	yybegin(YYINITIAL);
-	return XML_COMMENT_CLOSE;
- }
-        case 630: break;
-        case 381: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA end");//$NON-NLS-1$
-	yybegin(fStateStack.pop());
-	return XML_CDATA_CLOSE;
- }
-        case 631: break;
-        case 380: 
-          { 
-	yybegin(ST_JSP_VBL);
-	if(yylength() > 2)
-		yypushback(yylength() - 2);
-	fELlevel++;
-	fEmbeddedHint = XML_CONTENT;
-	fEmbeddedPostState = YYINITIAL;
-	assembleEmbeddedContainer(JSP_VBL_OPEN, JSP_VBL_CLOSE);
-	fEmbeddedHint = XML_CONTENT;
-	yybegin(YYINITIAL);
-	return PROXY_CONTEXT;
- }
-        case 632: break;
-        case 379: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nPEReference");//$NON-NLS-1$
-	return XML_PE_REFERENCE;
- }
-        case 633: break;
-        case 378: 
-          { 
-	yybegin(ST_JSP_EL);
-	if(yylength() > 2)
-		yypushback(yylength() - 2);
-	fELlevel++;
-	fEmbeddedHint = XML_CONTENT;
-	fEmbeddedPostState = YYINITIAL;
-	assembleEmbeddedContainer(JSP_EL_OPEN, JSP_EL_CLOSE);
-	fEmbeddedHint = XML_CONTENT;
-	yybegin(YYINITIAL);
-	return PROXY_CONTEXT;
- }
-        case 634: break;
-        case 375: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nEntityRef");//$NON-NLS-1$
-	return XML_ENTITY_REFERENCE;
- }
-        case 635: break;
-        case 369: 
-        case 406: 
-        case 412: 
-        case 418: 
-        case 421: 
-        case 424: 
-        case 427: 
-        case 431: 
-        case 435: 
-        case 437: 
-        case 440: 
-        case 443: 
-        case 447: 
-          { 
-	/* JSP expression begun (anywhere)
-	 * A consequence of the start anywhere possibility is that the
-	 *  incoming state must be checked to see if it's erroneous
-	 *  due to the order of precedence generated
-	 */
-	// begin sanity checks
-	if(yystate() == ST_JSP_CONTENT) {
-		// at the beginning?!
-		yypushback(2);
-		return JSP_CONTENT;
-	}
-	else if(yystate() == ST_BLOCK_TAG_SCAN) {
-		yypushback(3);
-		return doBlockTagScan();
-	}
-	else if(yystate() == ST_XML_COMMENT) {
-		yypushback(3);
-		return scanXMLCommentText();
-	}
-	else if(yystate() == ST_JSP_COMMENT) {
-		yypushback(3);
-		return scanJSPCommentText();
-	}
-	// end sanity checks
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		// the simple case, just an expression out in content
-		if(Debug.debugTokenizer)
-			dump("\nJSP expression start");//$NON-NLS-1$
-		yybegin(ST_JSP_CONTENT);
-		return JSP_EXPRESSION_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP expression start");//$NON-NLS-1$
-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-		else if(yystate() == ST_CDATA_TEXT) {
-			fEmbeddedPostState = ST_CDATA_TEXT;
-			fEmbeddedHint = XML_CDATA_TEXT;
-		}
-		yybegin(ST_JSP_CONTENT);
-		assembleEmbeddedContainer(JSP_EXPRESSION_OPEN, JSP_CLOSE);
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		// required help for successive embedded regions
-		if(yystate() == ST_XML_TAG_NAME) {
-			fEmbeddedHint = XML_TAG_NAME;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-			fEmbeddedPostState = ST_XML_EQUALS;
-		}
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 636: break;
-        case 368: 
-        case 405: 
-        case 411: 
-        case 417: 
-        case 420: 
-        case 423: 
-        case 426: 
-        case 430: 
-        case 434: 
-        case 436: 
-        case 439: 
-        case 442: 
-        case 446: 
-          { 
-	/* JSP declaration begun (anywhere)
-	 * A consequence of the start anywhere possibility is that the
-	 *  incoming state must be checked to see if it's erroneous
-	 *  due to the order of precedence generated
-	 */
-	// begin sanity checks
-	if(yystate() == ST_JSP_CONTENT) {
-		// at the beginning?!
-		yypushback(2);
-		return JSP_CONTENT;
-	}
-	else if(yystate() == ST_BLOCK_TAG_SCAN) {
-		yypushback(3);
-		return doBlockTagScan();
-	}
-	else if(yystate() == ST_XML_COMMENT) {
-		yypushback(3);
-		return scanXMLCommentText();
-	}
-	else if(yystate() == ST_JSP_COMMENT) {
-		yypushback(3);
-		return scanJSPCommentText();
-	}
-	// end sanity checks
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		// the simple case, just a declaration out in content
-		if(Debug.debugTokenizer)
-			dump("\nJSP declaration start");//$NON-NLS-1$
-		yybegin(ST_JSP_CONTENT);
-		return JSP_DECLARATION_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP declaration start");//$NON-NLS-1$
-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-		else if(yystate() == ST_CDATA_TEXT) {
-			fEmbeddedPostState = ST_CDATA_TEXT;
-			fEmbeddedHint = XML_CDATA_TEXT;
-		}
-		yybegin(ST_JSP_CONTENT);
-		assembleEmbeddedContainer(JSP_DECLARATION_OPEN, JSP_CLOSE);
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		// required help for successive embedded regions
-		if(yystate() == ST_XML_TAG_NAME) {
-			fEmbeddedHint = XML_TAG_NAME;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-			fEmbeddedPostState = ST_XML_EQUALS;
-		}
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 637: break;
-        case 367: 
-          { 
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		if(Debug.debugTokenizer)
-			dump("\nJSP directive start");//$NON-NLS-1$
-		yybegin(ST_JSP_DIRECTIVE_NAME);
-		return JSP_DIRECTIVE_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP directive start");//$NON-NLS-1$
-		yybegin(ST_JSP_DIRECTIVE_NAME);
-		assembleEmbeddedContainer(JSP_DIRECTIVE_OPEN, new String[]{JSP_DIRECTIVE_CLOSE, JSP_CLOSE});
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 638: break;
-        case 357: 
-          { 
-	yybegin(ST_JSP_VBL_DQUOTES_END);
-	return JSP_VBL_QUOTED_CONTENT;
- }
-        case 639: break;
-        case 353: 
-          { 
-	yybegin(ST_JSP_VBL_SQUOTES_END);
-	return JSP_VBL_QUOTED_CONTENT;
- }
-        case 640: break;
-        case 351: 
-          { 
-	fELlevel++;
-	if(fELlevel == 1) {
-		return JSP_VBL_OPEN;
-	}
- }
-        case 641: break;
-        case 341: 
-          { 
-	yybegin(ST_JSP_EL_DQUOTES_END);
-	return JSP_EL_QUOTED_CONTENT;
- }
-        case 642: break;
-        case 337: 
-          { 
-	yybegin(ST_JSP_EL_SQUOTES_END);
-	return JSP_EL_QUOTED_CONTENT;
- }
-        case 643: break;
-        case 335: 
-          { 
-	//System.out.println(JSP_EL_CONTENT+ ":[" + yytext() + "]");
-	return JSP_EL_CONTENT;
- }
-        case 644: break;
-        case 334: 
-          { 
-	fELlevel++;
-	if(fELlevel == 1) {
-		return JSP_EL_OPEN;
-	}
- }
-        case 645: break;
-        case 331: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_DQUOTED_VBL);
-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});
-	// abort early when an unescaped double quote is found in the VBL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 646: break;
-        case 330: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_DQUOTED_EL);
-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});
-	// abort early when an unescaped double quote is found in the EL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 647: break;
-        case 328: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_SQUOTED_VBL);
-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});
-	// abort early when an unescaped single quote is found in the VBL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 648: break;
-        case 327: 
-          { 
-	int enterState = yystate();
-	yybegin(ST_JSP_SQUOTED_EL);
-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});
-	// abort early when an unescaped single quote is found in the EL
-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	}
-	else {
-		yybegin(enterState);
-	}
-	return PROXY_CONTEXT;
- }
-        case 649: break;
-        case 326: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	int incomingState = yystate();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	if(Debug.debugTokenizer)
-		dump("JSP attribute value start - end tag");//$NON-NLS-1$
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedContainer(XML_END_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});
-	if(yystate() != ST_ABORT_EMBEDDED)
-        yybegin(incomingState);
-	return PROXY_CONTEXT;
- }
-        case 650: break;
-        case 284: 
-        case 296: 
-        case 302: 
-          { 
-	return XML_DOCTYPE_INTERNAL_SUBSET;
- }
-        case 651: break;
-        case 272: 
-          { 
-	String tagName = yytext().substring(1);
-	// pushback to just after the opening bracket
-	yypushback(yylength() - 1);
-	if(!isNestable(tagName)) {
-		yybegin(ST_XML_TAG_NAME);
-		return XML_TAG_OPEN;
-	}
-	if(Debug.debugTokenizer)
-		dump("tag in place of attr value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	// embedded container should be looking for the name (again) next
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ?
-	fStateStack.pop();
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	return PROXY_CONTEXT;
- }
-        case 652: break;
-        case 270: 
-          { 
-	String tagName = yytext().substring(1);
-	// pushback to just after the opening bracket
-	yypushback(yylength() - 1);
-	if(!isNestable(tagName)) {
-		yybegin(ST_XML_TAG_NAME);
-		return XML_TAG_OPEN;
-	}
-	if(Debug.debugTokenizer)
-		dump("tag in place of attr name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	// embedded container should be looking for the name (again) next
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ?
-	fStateStack.pop();
-	yybegin(ST_XML_EQUALS);
-	return PROXY_CONTEXT;
- }
-        case 653: break;
-        case 268: 
-          { 
-        yybegin(YYINITIAL);
-	fEmbeddedHint = UNDEFINED;
-	if(Debug.debugTokenizer)
-		dump("empty tag close");//$NON-NLS-1$
-        return XML_EMPTY_TAG_CLOSE;
- }
-        case 654: break;
-        case 125: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-	yybegin(ST_XML_ATTRIBUTE_VALUE_DQUOTED);
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("JSP attribute value start - complex double quoted");//$NON-NLS-1$
-	assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_DQUOTE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE);
-	fStateStack.pop();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	yybegin(ST_XML_ATTRIBUTE_NAME);
-	return PROXY_CONTEXT;
- }
-        case 655: break;
-        case 123: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("JSP tag embedded name start - start tag");//$NON-NLS-1$
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});
-	fStateStack.pop();
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-	return PROXY_CONTEXT;
- }
-        case 656: break;
-        case 122: 
-        case 127: 
-        case 128: 
-        case 274: 
-        case 278: 
-        case 279: 
-        case 388: 
-        case 391: 
-        case 458: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 657: break;
-        case 121: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("equals");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 658: break;
-        case 120: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 659: break;
-        case 116: 
-        case 117: 
-        case 118: 
-        case 269: 
-        case 387: 
-        case 457: 
-        case 485: 
-        case 486: 
-        case 504: 
-        case 505: 
-        case 522: 
-        case 523: 
-        case 535: 
-        case 543: 
-        case 550: 
-        case 551: 
-        case 552: 
-        case 553: 
-        case 555: 
-        case 561: 
-        case 562: 
-        case 563: 
-        case 564: 
-        case 565: 
-        case 571: 
-        case 572: 
-        case 573: 
-        case 574: 
-        case 575: 
-        case 581: 
-        case 582: 
-        case 584: 
-        case 585: 
-        case 591: 
-        case 592: 
-        case 593: 
-        case 594: 
-        case 600: 
-        case 601: 
-        case 602: 
-        case 603: 
-        case 606: 
-        case 607: 
-        case 609: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag name");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 660: break;
-        case 114: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag close");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	if(isBlockMarker()) {
-		fEmbeddedHint = getBlockMarkerContext();
-		fEmbeddedPostState = ST_BLOCK_TAG_SCAN;
-        	yybegin(ST_BLOCK_TAG_SCAN);
-	}
-	else
-        	yybegin(YYINITIAL);
-        return XML_TAG_CLOSE;
- }
-        case 661: break;
-        case 107: 
-        case 111: 
-        case 264: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr value");//$NON-NLS-1$
-        yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 662: break;
-        case 106: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("equals");//$NON-NLS-1$
-        yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 663: break;
-        case 105: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr name");//$NON-NLS-1$
-        yybegin(ST_JSP_DIRECTIVE_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 664: break;
-        case 102: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP directive name");//$NON-NLS-1$
-	yybegin(ST_JSP_DIRECTIVE_NAME_WHITESPACE);
-	return JSP_DIRECTIVE_NAME;
- }
-        case 665: break;
-        case 98: 
-        case 99: 
-        case 100: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP code content");//$NON-NLS-1$
-	return doScan("%>", false, false, false, JSP_CONTENT, ST_JSP_CONTENT, ST_JSP_CONTENT);
- }
-        case 666: break;
-        case 94: 
-        case 96: 
-        case 97: 
-        case 254: 
-        case 255: 
-        case 258: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 667: break;
-        case 93: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction '='");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_DHTML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 668: break;
-        case 92: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_DHTML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 669: break;
-        case 90: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 670: break;
-        case 84: 
-        case 86: 
-        case 245: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute value");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 671: break;
-        case 83: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction '='");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 672: break;
-        case 50: 
-        case 200: 
-        case 201: 
-        case 204: 
-        case 214: 
-        case 215: 
-        case 218: 
-        case 219: 
-        case 362: 
-        case 365: 
-          { 
-	return JSP_VBL_CONTENT;
- }
-        case 673: break;
-        case 43: 
-        case 179: 
-        case 180: 
-        case 183: 
-        case 193: 
-        case 194: 
-        case 197: 
-        case 198: 
-        case 332: 
-        case 346: 
-        case 349: 
-        case 416: 
-          { 
-	return JSP_EL_CONTENT;
- }
-        case 674: break;
-        case 35: 
-        case 159: 
-        case 160: 
-        case 322: 
-        case 413: 
-        case 470: 
-        case 493: 
-        case 512: 
-        case 528: 
-        case 537: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist contentspec");//$NON-NLS-1$
-	return XML_ATTLIST_DECL_CONTENT;
- }
-        case 675: break;
-        case 33: 
-        case 152: 
-        case 153: 
-        case 312: 
-        case 407: 
-        case 468: 
-        case 492: 
-        case 511: 
-        case 527: 
-        case 536: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl contentspec");//$NON-NLS-1$
-	return XML_ELEMENT_DECL_CONTENT;
- }
-        case 676: break;
-        case 22: 
-        case 112: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("inappropriate tag name");//$NON-NLS-1$
-	if(!fStateStack.empty() && (fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_SQUOTED||fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_DQUOTED)) {
-		yybegin(ST_ABORT_EMBEDDED);
-		yypushback(yylength()-1);
-		return XML_TAG_ATTRIBUTE_VALUE;
-	}
-	yybegin(YYINITIAL);
-        return XML_CONTENT;
- }
-        case 677: break;
-        case 18: 
-        case 104: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("white space");//$NON-NLS-1$
-	yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);
-	return WHITE_SPACE;
- }
-        case 678: break;
-        case 5: 
-        case 8: 
-        case 9: 
-        case 10: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 15: 
-        case 17: 
-        case 19: 
-        case 20: 
-        case 21: 
-        case 23: 
-        case 24: 
-        case 25: 
-        case 26: 
-        case 27: 
-        case 28: 
-        case 29: 
-        case 30: 
-        case 31: 
-        case 32: 
-        case 34: 
-        case 40: 
-        case 41: 
-        case 73: 
-        case 170: 
-        case 175: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("white space");//$NON-NLS-1$
-        return WHITE_SPACE;
- }
-        case 679: break;
-        case 0: 
-        case 57: 
-        case 60: 
-        case 62: 
-        case 226: 
-        case 228: 
-        case 229: 
-        case 231: 
-        case 233: 
-        case 372: 
-        case 373: 
-        case 374: 
-        case 453: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nXML content");//$NON-NLS-1$
-	return XML_CONTENT;
- }
-        case 680: break;
-        case 58: 
-        case 101: 
-        case 113: 
-        case 119: 
-        case 129: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nstart tag open");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_TAG_NAME);
-        return XML_TAG_OPEN;
- }
-        case 681: break;
-        case 59: 
-        case 61: 
-        case 65: 
-        case 66: 
-        case 67: 
-        case 71: 
-        case 72: 
-        case 81: 
-        case 85: 
-        case 87: 
-        case 88: 
-        case 89: 
-        case 91: 
-        case 95: 
-        case 103: 
-        case 108: 
-        case 109: 
-        case 110: 
-        case 115: 
-        case 124: 
-        case 131: 
-        case 132: 
-        case 133: 
-        case 134: 
-        case 136: 
-        case 137: 
-        case 139: 
-        case 140: 
-        case 141: 
-        case 144: 
-        case 145: 
-        case 146: 
-        case 149: 
-        case 150: 
-        case 151: 
-        case 156: 
-        case 157: 
-        case 158: 
-        case 164: 
-        case 167: 
-        case 172: 
-        case 173: 
-        case 177: 
-        case 178: 
-        case 185: 
-        case 186: 
-        case 188: 
-        case 189: 
-        case 195: 
-        case 199: 
-        case 206: 
-        case 207: 
-        case 209: 
-        case 210: 
-        case 216: 
-        case 220: 
-          { 
-	if (Debug.debugTokenizer)
-		System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
-			yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
-	return UNDEFINED;
- }
-        case 682: break;
-        case 63: 
-        case 64: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA text");//$NON-NLS-1$
-	fEmbeddedPostState = ST_CDATA_TEXT;
-	fEmbeddedHint = XML_CDATA_TEXT;
-	String returnedContext = doScan("]]>", false, true, true, XML_CDATA_TEXT, ST_CDATA_END,  ST_CDATA_END);//$NON-NLS-1$
-	if(returnedContext == XML_CDATA_TEXT)
-		yybegin(ST_CDATA_END);
-	return returnedContext;
- }
-        case 683: break;
-        case 68: 
-        case 187: 
-        case 190: 
-        case 208: 
-        case 211: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("LINE FEED");//$NON-NLS-1$
-	return WHITE_SPACE;
- }
-        case 684: break;
-        case 69: 
-        case 70: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment content");//$NON-NLS-1$
-	return scanXMLCommentText();
- }
-        case 685: break;
-        case 74: 
-        case 75: 
-        case 76: 
-        case 239: 
-        case 240: 
-        case 384: 
-        case 456: 
-        case 484: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction target");//$NON-NLS-1$
-	fEmbeddedHint = XML_CONTENT;
-        yybegin(ST_PI_WS);
-        return XML_TAG_NAME;
- }
-        case 686: break;
-        case 77: 
-          { 
-        yybegin(ST_PI_CONTENT);
-        return WHITE_SPACE;
- }
-        case 687: break;
-        case 78: 
-        case 79: 
-        case 80: 
-          { 
-		// block scan until close is found
-	return doScan("?>", false, false, false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
- }
-        case 688: break;
-        case 82: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_XML_PI_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 689: break;
-        case 126: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-	yybegin(ST_XML_ATTRIBUTE_VALUE_SQUOTED);
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("JSP attribute value start - complex single quoted");//$NON-NLS-1$
-	assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_SQUOTE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE);
-	fStateStack.pop();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-	fEmbeddedPostState = ST_XML_EQUALS;
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-	return PROXY_CONTEXT;
- }
-        case 690: break;
-        case 130: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("declaration end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 691: break;
-        case 135: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype type");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
-	return XML_DOCTYPE_NAME;
- }
-        case 692: break;
-        case 138: 
-        case 142: 
-        case 289: 
-        case 293: 
-        case 400: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype public reference");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
- }
-        case 693: break;
-        case 143: 
-        case 147: 
-        case 299: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype system reference");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_DECLARATION_CLOSE);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
- }
-        case 694: break;
-        case 148: 
-        case 305: 
-        case 309: 
-        case 403: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl name");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
-	return XML_ELEMENT_DECL_NAME;
- }
-        case 695: break;
-        case 154: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 696: break;
-        case 155: 
-        case 315: 
-        case 319: 
-        case 409: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist name");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-	fEmbeddedPostState = YYINITIAL;
-	yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
-	return XML_ATTLIST_DECL_NAME;
- }
-        case 697: break;
-        case 161: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 698: break;
-        case 165: 
-        case 166: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nJSP comment text");//$NON-NLS-1$
-	return scanJSPCommentText();
- }
-        case 699: break;
-        case 168: 
-        case 174: 
-          { 
-	return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 700: break;
-        case 169: 
-          { 
-	if (Debug.debugTokenizer) {
-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-	}
-	int incomingState = yystate();
-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-	if(Debug.debugTokenizer)
-		dump("tag inside of JSP attribute value start");//$NON-NLS-1$
-	yybegin(ST_XML_TAG_NAME);
-	assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});
-	if(yystate() != ST_ABORT_EMBEDDED)
-        yybegin(incomingState);
-	return PROXY_CONTEXT;
- }
-        case 701: break;
-        case 171: 
-          { 
-	return XML_TAG_ATTRIBUTE_VALUE_SQUOTE;
- }
-        case 702: break;
-        case 176: 
-          { 
-	return XML_TAG_ATTRIBUTE_VALUE_DQUOTE;
- }
-        case 703: break;
-        case 181: 
-          { 
-	yybegin(ST_JSP_EL_DQUOTES);
-	return JSP_EL_DQUOTE;
- }
-        case 704: break;
-        case 182: 
-          { 
-	yybegin(ST_JSP_EL_SQUOTES);
-	return JSP_EL_SQUOTE;
- }
-        case 705: break;
-        case 184: 
-          { 
-	fELlevel--;
-	if(fELlevel == 0) {
-		yybegin(YYINITIAL);
-		return JSP_EL_CLOSE;
-	}
-	return JSP_EL_CONTENT;
- }
-        case 706: break;
-        case 191: 
-          { 
-	yybegin(ST_JSP_EL);
-	return JSP_EL_SQUOTE;
- }
-        case 707: break;
-        case 192: 
-          { 
-	yybegin(ST_JSP_EL);
-	return JSP_EL_DQUOTE;
- }
-        case 708: break;
-        case 196: 
-          { 
-	return JSP_EL_CLOSE;
- }
-        case 709: break;
-        case 202: 
-          { 
-	yybegin(ST_JSP_VBL_DQUOTES);
-	return JSP_VBL_DQUOTE;
- }
-        case 710: break;
-        case 203: 
-          { 
-	yybegin(ST_JSP_VBL_SQUOTES);
-	return JSP_VBL_SQUOTE;
- }
-        case 711: break;
-        case 205: 
-          { 
-	fELlevel--;
-	if(fELlevel == 0) {
-		yybegin(YYINITIAL);
-		return JSP_VBL_CLOSE;
-	}
-	return JSP_VBL_CONTENT;
- }
-        case 712: break;
-        case 212: 
-          { 
-	yybegin(ST_JSP_VBL);
-	return JSP_VBL_SQUOTE;
- }
-        case 713: break;
-        case 213: 
-          { 
-	yybegin(ST_JSP_VBL);
-	return JSP_VBL_DQUOTE;
- }
-        case 714: break;
-        case 217: 
-          { 
-	return JSP_VBL_CLOSE;
- }
-        case 715: break;
-        case 221: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nend tag open");//$NON-NLS-1$
-	fEmbeddedHint = XML_TAG_NAME;
-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-        yybegin(ST_XML_TAG_NAME);
-        return XML_END_TAG_OPEN;
- }
-        case 716: break;
-        case 222: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nprocessing instruction start");//$NON-NLS-1$
-	yybegin(ST_PI);
-        return XML_PI_OPEN;
- }
-        case 717: break;
-        case 223: 
-        case 234: 
-        case 311: 
-        case 321: 
-        case 323: 
-        case 333: 
-        case 338: 
-        case 342: 
-        case 345: 
-        case 348: 
-        case 350: 
-        case 354: 
-        case 358: 
-        case 361: 
-        case 364: 
-          { 
-	/* JSP scriptlet begun (anywhere)
-	 * A consequence of the start anywhere possibility is that the
-	 *  incoming state must be checked to see if it's erroneous
-	 *  due to the order of precedence generated
-	 */
-	// begin sanity checks
-	if(yystate() == ST_JSP_CONTENT) {
-		// at the beginning?!
-		yypushback(1);
-		return JSP_CONTENT;
-	}
-	else if(yystate() == ST_BLOCK_TAG_SCAN) {
-		yypushback(2);
-		return doBlockTagScan();
-	}
-	else if(yystate() == ST_XML_COMMENT) {
-		yypushback(2);
-		return scanXMLCommentText();
-	}
-	else if(yystate() == ST_JSP_COMMENT) {
-		yypushback(2);
-		return scanJSPCommentText();
-	}
-	// finished sanity checks
-	fStateStack.push(yystate());
-	if(fStateStack.peek()==YYINITIAL) {
-		// the simple case, just a regular scriptlet out in content
-		if(Debug.debugTokenizer)
-			dump("\nJSP scriptlet start");//$NON-NLS-1$
-		yybegin(ST_JSP_CONTENT);
-		return JSP_SCRIPTLET_OPEN;
-	}
-	else {
-		if (Debug.debugTokenizer) {
-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$
-		}
-		if(Debug.debugTokenizer)
-			dump("JSP scriptlet start");//$NON-NLS-1$
-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;
-		else if(yystate() == ST_CDATA_TEXT) {
-			fEmbeddedPostState = ST_CDATA_TEXT;
-			fEmbeddedHint = XML_CDATA_TEXT;
-		}
-		yybegin(ST_JSP_CONTENT);
-		assembleEmbeddedContainer(JSP_SCRIPTLET_OPEN, JSP_CLOSE);
-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {
-			yybegin(ST_BLOCK_TAG_SCAN);
-			return BLOCK_TEXT;
-		}
-		// required help for successive embedded regions
-		if(yystate() == ST_XML_TAG_NAME) {
-			fEmbeddedHint = XML_TAG_NAME;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;
-			fEmbeddedPostState = ST_XML_EQUALS;
-		}
-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {
-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;
-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;
-		}
-		return PROXY_CONTEXT;
-	}
- }
-        case 718: break;
-        case 224: 
-          { 
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("\ndeclaration start");//$NON-NLS-1$
-        yybegin(ST_XML_DECLARATION);
-	return XML_DECLARATION_OPEN;
- }
-        case 719: break;
-        case 238: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 720: break;
-        case 241: 
-          { 
-		// ended with nothing inside
-		fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 721: break;
-        case 242: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction end");//$NON-NLS-1$
-	fEmbeddedHint = UNDEFINED;
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 722: break;
-        case 259: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return JSP_CLOSE;
- }
-        case 723: break;
-        case 261: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("JSP end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return JSP_DIRECTIVE_CLOSE;
- }
-        case 724: break;
-        case 162: 
-        case 163: 
-          { 
-		return doBlockTagScan();
-	 }
-        case 725: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              return null;
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex
deleted file mode 100644
index 2878335..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex
+++ /dev/null
@@ -1,2558 +0,0 @@
-/*******************************************************************************

- * 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

- *******************************************************************************/

-/*nlsXXX*/

-package org.eclipse.jst.jsp.core.internal.parser.internal;

-

-import java.io.CharArrayReader;

-import java.io.IOException;

-import java.util.ArrayList;

-import java.util.Iterator;

-import java.util.List;

-

-import org.eclipse.jst.jsp.core.internal.Logger;

-import org.eclipse.wst.sse.core.parser.BlockMarker;

-import org.eclipse.wst.sse.core.parser.BlockTokenizer;

-import org.eclipse.wst.sse.core.parser.TagMarker;

-import org.eclipse.wst.sse.core.text.ITextRegion;

-import org.eclipse.wst.sse.core.text.ITextRegionList;

-import org.eclipse.wst.sse.core.util.Debug;

-import org.eclipse.wst.sse.core.util.StringUtils;

-import org.eclipse.wst.xml.core.internal.parser.ContextRegionContainer;

-import org.eclipse.wst.xml.core.internal.parser.IntStack;

-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;

-

-%%

-

-%{

-	private int fTokenCount = 0;

- 

-	// required holders for white-space compacting

-	private boolean fShouldLoadBuffered = false;

-	private String fBufferedContext = null;

-	private int fBufferedStart = 1;

-	private int fBufferedLength = 0;

-	private ContextRegionContainer fBufferedEmbeddedContainer = null;

-	private String f_context = null;

-

-	// state stack for handling embedded regions

-	private IntStack fStateStack = new IntStack();

-	// a "hint" as to what an embedded region should be evaluated

-	private String fEmbeddedHint = UNDEFINED;

-	// a "hint" as to what state to enter once an embedded region has

-	//   been completed

-	private int fEmbeddedPostState = YYINITIAL;

-	// the container used to create embedded regions

-	private ContextRegionContainer fEmbeddedContainer = null;

-	private static final String PROXY_CONTEXT = "PROXY_CONTEXT";

-

-	private String context = null;

-	private int start = 0;

-	private int textLength = 0;

-	private int length = 0;

-

-	// offset for tracking position specific block tags

-	private int fOffset = 0;

-	

-	// the name of the current tag being opened

-	private String fCurrentTagName = null;

-

-	// the name of the current tag inside of an embedded region

-	private String internalTagName = null;

-	private String internalContext = null;

-

-	// the list of tag name BlockMarkers

-	private List fBlockMarkers = new ArrayList(0);

-	private List fNestablePrefixes = new ArrayList(1);

-	

-	// where the last internal container block was found

-	private int fLastInternalBlockStart = -1;

-

-	// required to not seek text blocks on an end tag

-	private boolean fIsBlockingEnabled = false;

-	private boolean fIsCaseSensitiveBlocking = true;

-

-	private static final boolean fForbidJSP = false;

-	

-	private int fELlevel = 0;

-

-	private JSPParserRegionFactory fRegionFactory = new JSPParserRegionFactory();

-

-	private static final String rcsver = "$Id: JSPTokenizer.jflex,v 1.4.2.1 2004/10/20 15:21:33 kitlo Exp $";//$NON-NLS-1$

-

-	/**

-	 * user method 

-	 */

-	public final void addBlockMarker(BlockMarker marker) {

-		if(containsTagName(marker.getTagName()))

-			return;

-		fBlockMarkers.add(marker);

-	}

-	/**

-	 * user method

-	 */

-	public final void addNestablePrefix(TagMarker marker) {

-		fNestablePrefixes.add(marker);

-	}

-	/* user method */

-	public List getNestablePrefixes() {

-		return fNestablePrefixes;

-	}

-	/**

-	 * user method

-	 */

-	private boolean isNestable(String tagName) {

-		//Iterator blocks = fNestablePrefixes.iterator();

-		//while(blocks.hasNext()) {

-		//	TagMarker marker = (TagMarker)blocks.next();

-		//	String markerName = marker.getTagName();

-		//	if(tagName.length() > markerName.length() + 1 && tagName.startsWith(markerName) && tagName.charAt(markerName.length()) == ':') {

-		//		return marker.isGlobal() || getOffset() >= marker.getMarker().getStart();

-		//	}

-		//}

-		//return false;

-		return true;

-	}

-	/**

-	 * user method 

-	 */

-	public final void removeNestablePrefix(String name) {

-		if (fNestablePrefixes != null) {

-			Iterator nestables = fNestablePrefixes.iterator();

-			while (nestables.hasNext()) {

-				if (((TagMarker) nestables.next()).getTagName().equalsIgnoreCase(name))

-					nestables.remove();

-			}

-		}

-	}

-	/**

-	 * user method 

-	 */

-	public final void removeBlockMarker(BlockMarker marker) {

-		fBlockMarkers.remove(marker);

-	}

-	/**

-	 * user method 

-	 */

-	public final void removeBlockMarker(String tagname) {

-		if (fBlockMarkers != null) {

-			Iterator blocks = fBlockMarkers.iterator();

-			while (blocks.hasNext()) {

-				if (((BlockMarker) blocks.next()).getTagName().equals(tagname))

-					blocks.remove();

-			}

-		}

-	}

-	/* user method */

-	private final void assembleEmbeddedTagSequence(String startType, String endTagName) {

-		assembleEmbeddedContainer(startType, null, endTagName);

-	}

-	/* user method */

-	private final void assembleEmbeddedContainer(String startType, String[] endTypes) {

-		assembleEmbeddedContainer(startType, endTypes, null);

-	}

-	/* user method */

-	private final void assembleEmbeddedContainer(String startType, String endType) {

-		assembleEmbeddedContainer(startType, new String[]{endType}, null);

-	}

-	/**

-	 *  user method 

-	 * 

-	 * Assembles an embedded container beginning with the given startType as

-	 * the first ContextRegion within it and of the type fEmbeddedHint.  The

-	 * endTypes[] array contains the context types that will cause a successful

-	 * exit.  Use of the endTagName parameter alters this behavior to force an

-	 * exit on an XML_TAG_CLOSE after seeing an XML_TAG_NAME whose significant

-	 * text matches the endTagName String.  All contents in between are

-	 * insignificant, and yes, this means comments are allowed inside.

-	 **/

-	private final void assembleEmbeddedContainer(String startType, String[] endTypes, String endTagName) {

-		// the context of the region being added to the embedded container

-		internalContext = startType;

-		// keep track of where this container began; to provide relative indeces for the regions

-		int containerStart = yychar;

-		boolean notFinished = true;

-		// keep track of where we seem to be so that the endTagName can be checked

-		boolean isInEndTag = false;

-		boolean isInFirstTag = true;

-		// create the embedded container and setup its "type"

-		if (fEmbeddedContainer == null) {

-			fEmbeddedContainer = new ContextRegionContainer();

-			fEmbeddedContainer.setType(fEmbeddedHint);

-			fEmbeddedContainer.setStart(containerStart);

-			// TODO: parent region needs to be set .... but not sure where to get it from 

-			//		fEmbeddedContainer.setParent(parentRegion);

-		}

-		containerStart = fEmbeddedContainer.getStart();

-		while (notFinished) {

-			// add the region to the container

-			if (internalContext != null && internalContext != PROXY_CONTEXT) {

-				ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());

-				fEmbeddedContainer.getRegions().add(newToken);

-				fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());

-				fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());

-				// DW, 4/16/2003 token regions no longer have parents

-				//newToken.setParent(fEmbeddedContainer);

-			}

-			try {

-				// longscan determines whether to attempt a blockTagScan within the embedded container

-				boolean longscan = false;

-				// save the tokenizer state in case of a block tag scan

-				int previousState = yystate();

-				String previousCurrentTagName = fCurrentTagName;

-				int previousPostState = fEmbeddedPostState;

-				String previousEmbeddedHint = fEmbeddedHint;

-				// determine if a block tag scan is necessary

-				if (internalContext == XML_TAG_NAME) {

-					internalTagName = yytext();

-					if(!isNestable(internalTagName)) {

-						internalTagName = null;

-						// snagged a tag name we shouldn't have

-						fEmbeddedPostState = ST_ABORT_EMBEDDED;

-						notFinished = false;

-					}

-				}

-				else if (internalContext == XML_TAG_OPEN || internalContext == XML_END_TAG_OPEN) {

-					internalTagName = null;

-				}

-				// do upkeep for endTagName usage; must be here since the next token could be the close

-				if (internalContext == XML_END_TAG_OPEN) {

-					isInEndTag = true;

-				} else if (internalContext == XML_TAG_CLOSE) {

-					isInFirstTag = isInEndTag = false;

-				} else {

-				 	ITextRegionList embeddedRegions = fEmbeddedContainer.getRegions();

-					if (embeddedRegions.size() > 2 && (embeddedRegions.get(embeddedRegions.size()-1)).getType() == XML_TAG_CLOSE && (embeddedRegions.get(embeddedRegions.size() - 3)).getType() == XML_TAG_OPEN && internalTagName != null) {

-						if (containsTagName(internalTagName)) {

-							longscan = true;

-							yybegin(ST_BLOCK_TAG_SCAN);

-						}

-					}

-				}

-				if (longscan)

-					fCurrentTagName = internalTagName;

-				// read the next region and context

-				internalContext = primGetNextToken();

-				if (longscan) {

-					// Returning from a block tag scan requires restoring some state variables

-					// as well as handling the block region and setting up for normal scanning

-					// inside the embedded container

-					ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());

-					fEmbeddedContainer.getRegions().add(newToken);

-					fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());

-					fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());

-					// DW, 4/16/2003 token regions no longer have parents

-					// newToken.setParent(fEmbeddedContainer);

-					longscan = false;

-					fEmbeddedPostState = previousPostState;

-					fEmbeddedHint = previousEmbeddedHint;

-					fCurrentTagName = previousCurrentTagName;

-					yybegin(previousState);

-					internalContext = primGetNextToken();

-				}

-			} catch (IOException e) {

-				// primGetNextToken() calls may throw an IOException

-				// catch and do nothing since the isEOF check below

-				// will properly exit if the input was too short

-			} catch (Exception f) {

-				// some other exception happened; never should

-				Logger.logException(f);

-			}

-			boolean isEndingType = yystate() == ST_ABORT_EMBEDDED;

-			if(!isEndingType) {

-				// check for ending context

-				if (endTagName == null) {

-					for (int i = 0; i < endTypes.length; i++) {

-						isEndingType = isEndingType || (internalContext == endTypes[i]);

-					}

-				}

-				else {

-					isEndingType = ((isInEndTag && internalContext == XML_TAG_CLOSE) || (isInFirstTag && internalContext == XML_EMPTY_TAG_CLOSE)) && internalTagName != null && internalTagName.equals(endTagName);

-				}

-			}

-			ITextRegionList embeddedList = fEmbeddedContainer.getRegions();

-			notFinished = notFinished && ((!isEndingType) && !isEOF() && (endTagName != null || internalContext != UNDEFINED) && !(internalContext == PROXY_CONTEXT && (embeddedList.get(embeddedList.size()-1)).getType() == UNDEFINED));

-		}

-		// finish adding the last context

-		if (internalContext != null && internalContext != PROXY_CONTEXT) {

-			ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength());

-			fEmbeddedContainer.getRegions().add(newToken);

-			// DW, 4/16/2003 token regions no longer have parents

-			//newToken.setParent(fEmbeddedContainer);

-			fEmbeddedContainer.setLength(yychar - containerStart + yylength());

-			fEmbeddedContainer.setTextLength(yychar - containerStart + yylength());

-		}

-		yybegin(fEmbeddedPostState);

-	}

-	/* user method */

-	public final boolean isCaseSensitiveBlocking() {

-		return fIsCaseSensitiveBlocking;

-	}

-	/* user method */

-	public final void setCaseSensitiveBlocking(boolean newValue) {

-		fIsCaseSensitiveBlocking = newValue;

-	}

-	/* user method */

-	public boolean getBlockMarkerAllowsJSP() {

-		return getBlockMarkerAllowsJSP(fCurrentTagName);

-	}

-	/* user method */

-	public boolean getBlockMarkerAllowsJSP(String name) {

-		Iterator iterator = fBlockMarkers.iterator();

-		while(iterator.hasNext()) {

-			BlockMarker marker = (BlockMarker)iterator.next();

-			boolean casesensitive = marker.isCaseSensitive();

-			if(casesensitive && marker.getTagName().equals(name))

-				return marker.allowsJSP();

-			else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))

-				return marker.allowsJSP();

-		}

-		return true;

-	}

-	/* user method */

-	public boolean getBlockMarkerCaseSensitivity() {

-		return getBlockMarkerCaseSensitivity(fCurrentTagName);

-	}

-	public boolean getBlockMarkerCaseSensitivity(String name) {

-		Iterator iterator = fBlockMarkers.iterator();

-		while(iterator.hasNext()) {

-			BlockMarker marker = (BlockMarker)iterator.next();

-			boolean casesensitive = marker.isCaseSensitive();

-			if(casesensitive && marker.getTagName().equals(name))

-				return casesensitive;

-			else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))

-				return casesensitive;

-		}

-		return true;

-	}

-	/* user method */

-	public String getBlockMarkerContext() {

-		return getBlockMarkerContext(fCurrentTagName);

-	}

-	/* user method */

-	public String getBlockMarkerContext(String name) {

-		Iterator iterator = fBlockMarkers.iterator();

-		while(iterator.hasNext()) {

-			BlockMarker marker = (BlockMarker)iterator.next();

-			if(marker.getTagName().equals(name))

-				return marker.getContext();

-		}

-		return BLOCK_TEXT;

-	}

-	/* user method */

-	public List getBlockMarkers() {

-		return fBlockMarkers;

-	}

-	/* user method */

-	public final int getOffset() {

-		return fOffset + yychar;

-	}

-	private final boolean isBlockMarker() {

-		return isBlockMarker(fCurrentTagName);

-	}

-	private final boolean isBlockMarker(String tagName) {

-		if (!fIsBlockingEnabled)

-			return false;

-		return containsTagName(tagName);

-	}

-	/**

-	 * user method

-	 */

-	public final void beginBlockTagScan(String newTagName) {

-		beginBlockMarkerScan(newTagName, BLOCK_TEXT);

-	}

-	/**

-	 * user method

-	 *

-	 * Special tokenizer setup.  Allows tokenization to be initiated at the

-	 * start of a text block within a "newTagName" tag.

-	 *

-	 * Example: 

-	 *	Tokenizer toker = new Tokenizer();

-	 *	toker.setCaseSensitiveBlocking(false);

-	 *	toker.reset(new java.io.StringReader("afiuhqwkejhtasihgalkwhtq</scripter></scr></script>asgdasga"));

-	 *	toker.beginBlockMarkerScan("script", BLOCK_TEXT);

-	 *	toker.getRegions(); 

-	 *

-	 * Returns:

-	 *	BLOCK_TEXT: 0-40

-	 *	XML_END_TAG_OPEN: 41-42

-	 *	XML_TAG_NAME: 43-48

-	 *	XML_TAG_CLOSE: 49-49

-	 *	XML_CONTENT: 50-57

-	 *

-	 */

-	public final void beginBlockMarkerScan(String newTagName, String blockcontext) {

-		yybegin(ST_BLOCK_TAG_SCAN);

-		fCurrentTagName = newTagName;

-	}

-

-/**

- * Method doScan.

- * 

- * Returns a context region for all of the text from the current position upto the end of input or

- * to right *before* the first occurence of searchString

- * 

- * @param searchString - target string to search for ex.: "-->", "</tagname"

- * @param requireTailSeparator - whether the target must be immediately followed by whitespace or '>'

- * @param allowJSP - check for and allow for JSP markup <%%>

- * @param context - the context of the scanned region if non-zero length

- * @param exitState - the state to go to if the region was of non-zero length

- * @param abortState - the state to go to if the searchString was found immediately

- * @return String - the context found: the desired context on a non-zero length match, the abortContext on immediate success

- * @throws IOException

- */

-private final String doScan(String searchString, boolean requireTailSeparator, boolean allowJSP, boolean allowCDATA, String searchContext, int exitState, int immediateFallbackState) throws IOException {

-	boolean stillSearching = true;

-	// Disable further block (probably)

-	fIsBlockingEnabled = false;

-	int searchStringLength = searchString.length();

-	int n = 0;

-	char lastCheckChar;

-	int i;

-	boolean same = false;

-	// Check for JSP starts ("<%") if the tag is global like SCRIPT or STYLE

-	boolean checkJSPs = allowJSP && !fForbidJSP;

-	boolean checkedForJSPsOnce = !checkJSPs;

-	boolean checkedJSPsAtStartOnce = false;

-	

-	while (stillSearching) {

-		n = 0;

-		// Ensure that enough data from the input exists to compare against the search String.

-		n = yy_advance();

-		while(n != YYEOF && yy_currentPos < searchStringLength)

-			n = yy_advance();

-//		c = (char) n;

-		// If the input was too short or we've exhausted the input, stop immediately.

-		if (n == YYEOF && checkedForJSPsOnce) {

-			stillSearching = false;

-		}

-		else {

-			/**

-			 * Look for starting JSPs "<%"

-			 */

-			checkedForJSPsOnce = true;

-			// 1) yy_currentPos - searchStringLength : There's at least searchStringLength of input available; once that's read, check for JSPs

-			// ---

-			// Look for a JSP beginning at current-searchStringLength; if so, backup and switch scanner states to handle it.

-			// Ensure that we've not encountered a complete block (<%%>) that was *shorter* than the closeTagString and

-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].

-			if(checkJSPs && yy_currentPos > searchStringLength && yy_currentPos - searchStringLength != fLastInternalBlockStart && 

-				yy_buffer[yy_currentPos - searchStringLength] == '<' && yy_buffer[yy_currentPos - searchStringLength + 1] == '%') {

-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength;

-				yy_currentPos = yy_markedPos + 1;

-				int resumeState = yystate();

-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);

-				if(yy_markedPos == yy_startRead) {

-					String jspContext = primGetNextToken();

-					yybegin(resumeState);

-					return jspContext;

-				}

-				return searchContext;

-			}

-			// 2) yy_currentPos - jspstarter.length : There's not searchStringLength of input available; check for a JSP 2 spots back in what we could read

-			// ---

-			// Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section

-			// since it relies upon *having* closeTagStringLength amount of input to work as designed.  Must be sure we don't

-			// spill over the end of the buffer while checking.

-			else if(checkJSPs && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 &&

-					yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') {

-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1;

-				yy_currentPos = yy_markedPos + 1;

-				int resumeState = yystate();

-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);

-				if(yy_markedPos == yy_startRead) {

-					String jspContext = primGetNextToken();

-					yybegin(resumeState);

-					return jspContext;

-				}

-				return searchContext;

-			}

-			// 3) yy_currentPos..(yy_currentPos+jspStartlength-1) : Check at the start of the block one time

-			// ---

-			// Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section

-			// since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed.

-			else if(checkJSPs && !checkedJSPsAtStartOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 &&

-					yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') {

-				checkedJSPsAtStartOnce = true;

-				fLastInternalBlockStart = yy_markedPos = yy_startRead;

-				yy_currentPos = yy_markedPos + 1;

-				int resumeState = yystate();

-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);

-				if(yy_markedPos == yy_startRead) {

-					String jspContext = primGetNextToken();

-					yybegin(resumeState);

-					return jspContext;

-				}

-				return searchContext;

-			}

-

-

-			/**

-			 * Look for starting CDATA "<![CDATA["

-			 */

-			// 1) yy_currentPos - searchStringLength: There's at least searchStringLength of input available; once that's read, check for CDATA

-			// ---

-			// Look for a CDATA beginning at current-searchStringLength; if so, backup and switch scanner states to handle it.

-			// Ensure that we've not encountered a complete block (<[!CDATA[]]>) that was *shorter* than the closeTagString and

-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].

-/*			if(checkCDATA && yy_currentPos > searchStringLength && yy_currentPos + searchStringLength < yy_buffer.length && yy_currentPos - searchStringLength != fLastInternalBlockStart && 

-				charsMatch(cdataStarter, yy_buffer, 0, yy_currentPos - searchStringLength)) {

-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength;

-				yy_currentPos = yy_markedPos + 1;

-				int resumeState = yystate();

-				// go to a state where CDATA can be found

-				if (fEmbeddedContainer == null) {

-					fEmbeddedContainer = new ContextRegionContainer();

-					fEmbeddedContainer.setType(searchContext);

-					fEmbeddedContainer.setStart(yychar);

-				}

-				ITextRegion newToken = fRegionFactory.createToken(searchContext, yychar, yylength(), yylength());

-				fEmbeddedContainer.getRegions().add(newToken);

-				fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength());

-				fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength());

-				yybegin(YYINITIAL);

-				String context = primGetNextToken();

-				if(context.equals(XMLRegionContexts.XML_CDATA_OPEN)) {

-					assembleEmbeddedContainer(XMLRegionContexts.XML_CDATA_OPEN, XMLRegionContexts.XML_CDATA_CLOSE);

-				}

-				yybegin(resumeState);

-				return searchContext;

-			}

-*//*

-			// 2) yy_currentPos - cdataStarter.length: There's not searchStringLength of input available; check for a CDATA right here spots back in what we could read

-			// ---

-			// Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section

-			// since it relies upon *having* closeTagStringLength amount of input to work as designed.  Must be sure we don't

-			// spill over the end of the buffer while checking.

-			else if(checkCDATA && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 &&

-					yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') {

-				fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1;

-				yy_currentPos = yy_markedPos + 1;

-				int resumeState = yystate();

-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);

-				if(yy_markedPos == yy_startRead) {

-					String jspContext = primGetNextToken();

-					yybegin(resumeState);

-					return jspContext;

-				}

-				return searchContext;

-			}

-			// 3) yy_currentPos : Check at the start of the block one time

-			// ---

-			// Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section

-			// since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed.

-			else if(checkCDATA && !checkedForCDATAOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 &&

-					yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') {

-				checkedForCDATAOnce = true;

-				fLastInternalBlockStart = yy_markedPos = yy_startRead;

-				yy_currentPos = yy_markedPos + 1;

-				int resumeState = yystate();

-				yybegin(ST_BLOCK_TAG_INTERNAL_SCAN);

-				if(yy_markedPos == yy_startRead) {

-					String jspContext = primGetNextToken();

-					yybegin(resumeState);

-					return jspContext;

-				}

-				return searchContext;

-			}

-*/

-			// Check the characters in the target versus the last targetLength characters read from the buffer

-			// and see if it matches

-			if (n == YYEOF) {

-				stillSearching = false;

-			}

-			else {

-				same = true;

-				// safety check for array accesses

-				if(yy_currentPos >= searchStringLength && yy_currentPos <= yy_buffer.length) {

-					for(i = 0; i < searchStringLength; i++) {

-						if(same && fIsCaseSensitiveBlocking)

-							same = yy_buffer[i + yy_currentPos - searchStringLength] == searchString.charAt(i);

-						else if(same && !fIsCaseSensitiveBlocking)

-							same = Character.toLowerCase(yy_buffer[i + yy_currentPos - searchStringLength]) == Character.toLowerCase(searchString.charAt(i));

-					}

-				}

-				// safety check failed; no match is possible right now

-				else {

-					same = false;

-				}

-			}

-			if (same && requireTailSeparator && yy_currentPos < yy_buffer.length) {

-				// Additional check for close tags to ensure that targetString="</script" doesn't match

-				// "</scriptS"

-				lastCheckChar = yy_buffer[yy_currentPos];

-				// Succeed on "</script>" and "</script "

-				if(lastCheckChar == '>' || Character.isWhitespace(lastCheckChar))

-					stillSearching = false;

-			}

-			else {

-				stillSearching = !same || (yy_currentPos < yy_startRead + searchStringLength);

-			}

-		}

-	}

-	if (n != YYEOF || same) {

-		// We've stopped short of the end or definitely found a match

-		yy_markedPos = yy_currentPos - searchStringLength;

-		yy_currentPos = yy_markedPos + 1;

-		// If the searchString occurs at the very beginning of what would have

-		// been a Block, resume scanning normally immediately

-		if (yy_markedPos == yy_startRead) {

-			yybegin(immediateFallbackState);

-			return primGetNextToken();

-		}

-	}

-	else {

-		// We ran through the rest of the input

-		yy_markedPos = yy_currentPos;

-		yy_currentPos++;

-	}

-	yybegin(exitState);

-	// If the ending occurs at the very beginning of what would have

-	// been a Block, resume scanning normally immediately

-	if(yy_markedPos == yy_startRead)

-		return primGetNextToken();

-	return searchContext;

-}

-/**

- * user method 

- * does a lookahead for the current tag name

- */

-private final String doBlockTagScan() throws IOException {

-	fIsCaseSensitiveBlocking = getBlockMarkerCaseSensitivity();

-	return doScan("</" + fCurrentTagName, true, getBlockMarkerAllowsJSP(), true, getBlockMarkerContext(fCurrentTagName), YYINITIAL, YYINITIAL);

-}

-	/**

-	 * user method

-	 *

-	 * Converts the raw context String returned by the primGetNextToken()

-	 * method into a full ITextRegion by pulling in values for the

-	 * current offset within the scanning text.

-	 *

-	 * Returns null when EOF is encountered and attaches intermittently

-	 * discovered whitespace onto the end of useful regions.

-	 *

-	 * Note that this algorithm caches the token following the one being returned

-	 * so that whitespace can be collapsed.

-	 */

-	public final ITextRegion getNextToken() throws IOException {

-		fEmbeddedContainer = null;

-		// load the starting non-whitespace token (assume that it is so)

-		if (fShouldLoadBuffered) {

-			if (fBufferedEmbeddedContainer != null) {

-				ITextRegion container = fBufferedEmbeddedContainer;

-				fBufferedEmbeddedContainer = null;

-				fShouldLoadBuffered = false;

-				return container;

-			}

-			context = fBufferedContext;

-			start = fBufferedStart;

-			textLength = length = fBufferedLength;

-			fShouldLoadBuffered = false;

-		} else {

-			context = primGetNextToken();

-			if (context == PROXY_CONTEXT) {

-				return fEmbeddedContainer;

-			} else if (context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {

-				if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))

-					fCurrentTagName = yytext();

-				else

-					fCurrentTagName = null;

-			} else if (context == XML_TAG_OPEN) {

-				fIsBlockingEnabled = true;

-			} else if (context == XML_END_TAG_OPEN) {

-				fIsBlockingEnabled = false;

-			}

-			start = yychar;

-			textLength = length = yylength();

-			if (yy_atEOF) {

-				fTokenCount++;

-				return null;

-			}

-		}

-		// store the next token

-		f_context = primGetNextToken();

-		if (f_context == PROXY_CONTEXT) {

-			fBufferedEmbeddedContainer = fEmbeddedContainer;

-			fShouldLoadBuffered = true;

-		} else if (f_context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) {

-			if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))

-				fCurrentTagName = yytext();

-			else

-				fCurrentTagName = null;

-		} else if (f_context == XML_TAG_OPEN) {

-			fIsBlockingEnabled = true;

-		} else if (f_context == XML_END_TAG_OPEN) {

-			fIsBlockingEnabled = false;

-		}

-		fBufferedContext = f_context;

-		fBufferedStart = yychar;

-		fBufferedLength = yylength();

-		fShouldLoadBuffered = true;

-		if (fBufferedContext == WHITE_SPACE) {

-			fShouldLoadBuffered = false;

-			length += fBufferedLength;

-		}

-		if (context == null) {

-			// EOF

-			if (Debug.debugTokenizer) {

-				System.out.println(getClass().getName() + " discovered " + fTokenCount + " tokens."); //$NON-NLS-2$//$NON-NLS-1$

-			}

-			return null;

-		}

-		fTokenCount++;

-		return fRegionFactory.createToken(context, start, textLength, length, null, fCurrentTagName);

-	}

-	/* user method */

-	public JSPTokenizer(){

-		super();

-	}

-	/* user method */

-	public JSPTokenizer(char[] charArray){

-			this(new CharArrayReader(charArray));

-	}

-	/* user method */

-	public void reset(char[] charArray) {

-		reset(new CharArrayReader(charArray), 0);

-	}

-	/* user method */

-	public void reset(char[] charArray, int newOffset) {

-		reset(new CharArrayReader(charArray), newOffset);

-	}

-	/* user method */

-	public void reset(java.io.InputStream in) {

-		reset(new java.io.InputStreamReader(in), 0);

-	}

-	/* user method */

-	public void reset(java.io.InputStream in, int newOffset) {

-		reset(new java.io.InputStreamReader(in), newOffset);

-	}

-	/* user method */

-	public void reset(java.io.Reader in) {

-		reset(in, 0);

-	}

-	/**

-	 * user method *

-	 *

-	 * Reset internal counters and vars to "newly created" values, in the hopes

-	 * that resetting a pre-existing tokenizer is faster than creating a new one.

-	 *

-	 * This method contains code blocks that were essentially duplicated from the

-	 * <em>generated</em> output of this specification before this method was

-	 * added.  Those code blocks were under the above copyright.

-	 */

-	public void reset(java.io.Reader in, int newOffset) {

-		if (Debug.debugTokenizer) {

-			System.out.println("resetting tokenizer");//$NON-NLS-1$

-		}

-		fOffset = newOffset;

-	

-		/* the input device */

-		yy_reader = in;

-	

-		/* the current state of the DFA */

-		yy_state = 0;

-	

-		/* the current lexical state */

-		yy_lexical_state = YYINITIAL;

-	

-		/* this buffer contains the current text to be matched and is

-		the source of the yytext() string */

-		java.util.Arrays.fill(yy_buffer, (char)0);

-	

-		/* the textposition at the last accepting state */

-		yy_markedPos = 0;

-	

-		/* the textposition at the last state to be included in yytext */

-		yy_pushbackPos = 0;

-	

-		/* the current text position in the buffer */

-		yy_currentPos = 0;

-	

-		/* startRead marks the beginning of the yytext() string in the buffer */

-		yy_startRead = 0;

-	

-		/** 

-		 * endRead marks the last character in the buffer, that has been read

-		 * from input 

-		 */

-		yy_endRead = 0;

-	

-		/* number of newlines encountered up to the start of the matched text */

-		yyline = 0;

-	

-		/* the number of characters up to the start of the matched text */

-		yychar = 0;

-	

-		/* yy_atEOF == true <=> the scanner has returned a value for EOF */

-		yy_atEOF = false;

-	

-		/* denotes if the user-EOF-code has already been executed */

-		yy_eof_done = false;

-	

-	

-		/* user vars: */

-		fTokenCount = 0;

-	 

-		fShouldLoadBuffered = false;

-		fBufferedContext = null;

-		fBufferedStart = 1;

-		fBufferedLength = 0;

-		fStateStack = new IntStack();

-	

-		fLastInternalBlockStart = -1;

-	

-		context = null;

-		start = 0;

-		textLength = 0;

-		length = 0;

-	

-		fEmbeddedContainer = null;

-		

-		fELlevel = 0;

-	}

-	/**

-	 * user method

-	 *

-	 * @see com.ibm.sed.parser.BlockTokenizer#newInstance()

-	 */

-	public BlockTokenizer newInstance() {

-		JSPTokenizer newInstance = new JSPTokenizer();

-		// global tagmarkers can be shared; they have no state and 

-		// are never destroyed (e.g. 'release')

-		for(int i = 0; i < fBlockMarkers.size(); i++) {

-			BlockMarker blockMarker = (BlockMarker) fBlockMarkers.get(i);

-			if(blockMarker.isGlobal())

-				newInstance.addBlockMarker(blockMarker);

-		}

-		for(int i = 0; i < fNestablePrefixes.size(); i++) {

-			TagMarker marker = (TagMarker) fNestablePrefixes.get(i);

-			if(marker.isGlobal())

-				newInstance.addNestablePrefix(marker);

-		}

-		return newInstance;

-	}

-	/* user method */

-	private final String scanXMLCommentText() throws IOException {

-		// Scan for '-->' and return the text up to that point as

-		//   XML_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which

-		//  case change to the ST_XML_COMMENT_END state and return the next

-		//  context as usual.

-		return doScan("-->", false, true, true, XML_COMMENT_TEXT, ST_XML_COMMENT_END, ST_XML_COMMENT_END);

-	}

-	/* user method */

-	private final String scanJSPCommentText() throws IOException {

-		// Scan for '--%>' and return the text up to that point as

-		//   JSP_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which

-		//  case change to the ST_JSP_COMMENT_END state and return the next

-		//  context as usual.

-		return doScan("--%>", false, false, true, JSP_COMMENT_TEXT, ST_JSP_COMMENT_END, ST_JSP_COMMENT_END);

-	}

-%}

-

-%eof{

-// do nothing, this is the downstream parser's job

-%eof}

-

-%public

-%class JSPTokenizer

-%implements BlockTokenizer, XMLJSPRegionContexts

-%function primGetNextToken

-%type String

-%char

-%line

-%unicode

-%pack

-

-%state ST_CDATA_TEXT

-%state ST_CDATA_END

-%state ST_XML_COMMENT

-%state ST_XML_COMMENT_END

-%state ST_PI

-%state ST_PI_WS

-%state ST_PI_CONTENT

-%state ST_XML_PI_ATTRIBUTE_NAME

-%state ST_XML_PI_EQUALS

-%state ST_XML_PI_ATTRIBUTE_VALUE

-%state ST_XML_PI_TAG_CLOSE

-%state ST_DHTML_ATTRIBUTE_NAME

-%state ST_DHTML_EQUALS

-%state ST_DHTML_ATTRIBUTE_VALUE

-%state ST_DHTML_TAG_CLOSE

-

-// scriptlet state(s)

-%state ST_JSP_CONTENT

-%state ST_JSP_DIRECTIVE_NAME

-%state ST_JSP_DIRECTIVE_NAME_WHITESPACE

-%state ST_JSP_DIRECTIVE_ATTRIBUTE_NAME

-%state ST_JSP_DIRECTIVE_EQUALS

-%state ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE

-

-// normal tag states

-%state ST_XML_TAG_NAME

-%state ST_XML_ATTRIBUTE_NAME

-%state ST_XML_EQUALS

-%state ST_XML_ATTRIBUTE_VALUE

-

-// declaration (DTD) states

-%state ST_XML_DECLARATION

-%state ST_XML_DECLARATION_CLOSE

-

-%state ST_XML_DOCTYPE_DECLARATION

-%state ST_XML_DOCTYPE_EXTERNAL_ID

-%state ST_XML_DOCTYPE_ID_PUBLIC

-%state ST_XML_DOCTYPE_ID_SYSTEM

-

-%state ST_XML_ELEMENT_DECLARATION

-%state ST_XML_ELEMENT_DECLARATION_CONTENT

-

-%state ST_XML_ATTLIST_DECLARATION

-%state ST_XML_ATTLIST_DECLARATION_CONTENT

-

-

-%state ST_BLOCK_TAG_SCAN

-%state ST_BLOCK_TAG_INTERNAL_SCAN

-

-%state ST_JSP_COMMENT

-%state ST_JSP_COMMENT_END

-

-%state ST_XML_ATTRIBUTE_VALUE_SQUOTED

-%state ST_XML_ATTRIBUTE_VALUE_DQUOTED

-

-%state ST_ABORT_EMBEDDED

-

-%state ST_JSP_EL

-%state ST_JSP_EL_SQUOTES

-%state ST_JSP_EL_DQUOTES

-%state ST_JSP_EL_SQUOTES_END

-%state ST_JSP_EL_DQUOTES_END

-

-%state ST_JSP_DQUOTED_EL

-%state ST_JSP_SQUOTED_EL

-

-%state ST_JSP_VBL

-%state ST_JSP_VBL_SQUOTES

-%state ST_JSP_VBL_DQUOTES

-%state ST_JSP_VBL_SQUOTES_END

-%state ST_JSP_VBL_DQUOTES_END

-

-%state ST_JSP_DQUOTED_VBL

-%state ST_JSP_SQUOTED_VBL

-

-// Letter = ([A-Za-z])

-// Digit = ([0-9])

-

-/**

- * smaller tokens

- */

-genericTagOpen       = <

-genericTagClose      = >

-genericEndTagOpen    = <\/

-genericEmptyTagClose = \/>

-

-PIstart = <\?

-PIend   = \?>

-

-

-// [1] document ::= prolog element Misc*

-document = ({prolog} {element} {Misc}*)

-

-// [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

- //Char = (.)

-Char = [\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD] 

-

-// [3] S ::= (0x20 | 0x9 | 0xD | 0xA)+

-S = [\x20\x09\x0D\x0A]+

-

-// [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender

-NameChar = ({Letter} | {Digit} | \. | \- | _ | : | {CombiningChar} | {Extender})

-

-// [5] Name ::= (Letter | '_' | ':') NameChar*

-//Name = ({NameChar}{NameChar}*)

-Name = ({Letter} | _ | :){NameChar}*

-

-// [6] Names ::= {Name} ({S} {Name})*

-Names = ({Name} ({S} {Name})*)

-

-// [7] Nmtoken ::= (NameChar)+

-Nmtoken = ({NameChar}+)

-

-// [8] Nmtokens ::= Nmtoken (S Nmtoken)*

-Nmtokens = ({Nmtoken} ({S} {Nmtoken})*)

-

-// [9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' |  "'" ([^%&'] | PEReference | Reference)* "'"

-EntityValue = (\" ([^%&\"] | {PEReference} | {Reference})* \" |  \' ([^%&\'] | {PEReference} | {Reference})* \')

-

-// \x24 = '$', \x7b = '{', \x23 = '#'

-// [10] AttValue ::= '"' ([^<&"] | Reference)* '"' |  "'" ([^<&'] | Reference)* "'"

-AttValue = ( \"([^<"\x24\x23] | [\x24\x23][^\x7b"] | {Reference})*[\x24\x23]*\" | \'([^<'\x24\x23] | [\x24\x23][^\x7b'] | {Reference})*[\x24\x23]*\'  | ([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )*)

-

-// [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'") 

-SystemLiteral = ((\" [^\"]* \") | (\' [^\']* \')) 

-

-// [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"

-PubidLiteral = (\" {PubidChar}* \" | \' ({PubidChar}\')* "'")

-

-// [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]

-PubidChar = ([\040\015\012] | [a-zA-Z0-9] | [\-\'()\+,.\/:=?;!\*#@\$_%])

-

-// [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)

-// implement lookahead behavior during action definition

-CharData = ([^<&(\]\]>)]*)

-

-// [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

-CommentStart = (<!\-\-)

-CommentEnd   = (\-\->)

-Comment = ({CommentStart}.*{CommentEnd})

-

-// [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'

-PI = (<\?{PITarget} {Char}* \?>)

-

-// [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))

-PITarget = ({Name}((X|x)(M|m)(L|l)))

-

-// [18] CDSect ::= CDStart CData CDEnd

-CDSect = ({CDStart}{CData}{CDEnd})

-

-// [19] CDStart ::= '<![CDATA['

-CDStart = <!\[CDATA\[

-

-// [20] CData ::= (Char* - (Char* ']]>' Char*)) 

-// implement lookahead behavior during action definition

-CData = ([^(\]\]>)]*)

-

-// [21] CDEnd ::= ']]>'

-CDEnd = (\]\]>)

-

-// [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?

-prolog = ({XMLDecl}? {Misc}* ({doctypedecl} {Misc}*)?)

-

-// [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'

-XMLDecl = (<\?xml {VersionInfo} {EncodingDecl}? {SDDecl}? {S}? \?>)

-

-// [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ")

-VersionInfo = ({S}version{Eq}(\'{VersionNum}\' | \"{VersionNum}\"))

-

-// [25] Eq ::= S? '=' S?

-Eq = (\=)

-

-// [26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+

-VersionNum = (([a-zA-Z0-9_.:]|\-)+)

-

-// [27] Misc ::= Comment | PI |  S

-Misc = ({Comment} | {PI} | {S})

-

-// [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)?  S? ('[' (markupdecl | PEReference | S)* ']' S?)? '>'

-doctypedecl = (<\!DOCTYPE{S}{Name} ({S}{ExternalID})? {S}? (\[ ({markupdecl}|{PEReference}|{S})* \]{S}?)?>)

-

-// [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment

-markupdecl = ({elementdecl} | {AttlistDecl} | {EntityDecl} | {NotationDecl} | {PI} | {Comment})

-

-// [30] extSubset ::= TextDecl? extSubsetDecl

-extSubset = ({TextDecl}? {extSubsetDecl})

-

-// [31] extSubsetDecl ::= ( markupdecl | conditionalSect | PEReference | S )*

-extSubsetDecl = (( {markupdecl} | {conditionalSect} | {PEReference} | {S} )*)

-

-// [32]  SDDecl  ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))

-SDDecl  = ({S}standalone{Eq}{S}*((\'(yes|no)\')|(\"(yes|no)\")))

-

-// [33]  LanguageID  ::= Langcode ('-' Subcode)*

-LanguageID  = ({Langcode}(\-{Subcode})*)

-

-// [34]  Langcode ::= ISO639Code |  IanaCode |  UserCode

-Langcode = ({ISO639Code} |  {IanaCode} |  {UserCode})

-

-// [35]  ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z])

-ISO639Code = (([a-z]|[A-Z])([a-z]|[A-Z]))

-

-// [36]  IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+

-IanaCode = ((i|I)\-([a-z]|[A-Z])+)

-

-// [37]  UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+

-UserCode = ((x|X)\-([a-z]|[A-Z])+)

-

-// [38]  Subcode ::= ([a-z] | [A-Z])+

-Subcode = (([a-z]|[A-Z])+)

-

-// [39]  element  ::= EmptyElemTag | STag content ETag

-element  = ({EmptyElemTag} | {STag} {content} {ETag})

-

-// [40]  STag  ::= '<' Name (S Attribute)* S? '>'

-STag = (<{Name}({S}{Attribute})*{S}?>)

-

-// [41]  Attribute ::= Name Eq AttValue

-Attribute = ({Name}{S}*{Eq}{S}*{AttValue})

-

-// [42]  ETag  ::= 'Name S? '>'

-ETag = (<\/{Name}{S}?>)

-

-// [43]  content  ::= (element | CharData | Reference | CDSect | PI | Comment)*

-content = (({element} | {CharData} | {Reference} | {CDSect} | {PI} | {Comment})*)

-

-// [44]  EmptyElemTag  ::= '<' Name (S Attribute)* S? '/>'

-EmptyElemTag = (<{Name}({S}{Attribute})*{S}?\/>)

-

-// [45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>'

-elementdecl = (<\!ELEMENT{S}{Name}{S}{contentspec}{S}?>)

-

-// [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children

-contentspec = (EMPTY|ANY|{Mixed}|{children})

-

-// [47] children ::= (choice | seq) ('?' | '*' | '+')?

-children = (({choice}|{seq})(\?|\*|\+)?)

-

-// CAUSES LOOP THROUGH DEFS OF CHOICE AND SEQ

-// [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')?

-cp = (({Name} | {choice} | {seq}) (\?|\*|\+)?)

-

-// [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')'

-// choice = \({S}?{cp}({S}?\|{S}?{cp})*{S}?\)

-choice = \({S}?{Name}({S}?\|{S}?{Name})*{S}?\)

-

-// [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')'

-// seq = (\({S}?{cp}({S}?\,{S}?{cp})*{S}?\))

-seq = (\({S}?{Name}({S}?\,{S}?{Name})*{S}?\))

-

-// [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S?  ')*' | '(' S? '#PCDATA' S? ')'

-Mixed = ({S}?\#PCDATA({S}?\|{S}?{Name})*{S}?)*\|({S}?\#PCDATA{S}?)

-

-// [52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'

-AttlistDecl = (<\!ATTLIST{S}{Name}{AttDef}*{S}?>)

-

-// [53] AttDef ::= S Name S AttType S DefaultDecl

-AttDef = ({S}{Name}{S}{AttType}{S}{DefaultDecl})

-

-// [54] AttType ::= StringType | TokenizedType | EnumeratedType 

-AttType = ({StringType} | {TokenizedType} | {EnumeratedType})

-

-// [55] StringType ::= 'CDATA'

-StringType = (CDATA)

-

-// [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS'

-TokenizedType = (ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS)

-

-// [57] EnumeratedType ::= NotationType | Enumeration 

-EnumeratedType = ({NotationType} | {Enumeration})

-

-// [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' 

-NotationType = (NOTATION{S}\({S}?{Name}({S}?\|{S}?{Name})*{S}?\))

-

-// [59] Enumeration ::= '(' S? Nmtoken (S? '|' S?  Nmtoken)* S? ')'

-Enumeration = (\({S}?{Nmtoken}({S}?\|{S}?{Nmtoken})*{S}?\))

-

-// [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue)

-DefaultDecl = (\#REQUIRED|\#IMPLIED|((\#FIXED{S})?{AttValue}))

-

-// [61] conditionalSect ::= includeSect | ignoreSect 

-conditionalSect = ({includeSect} | {ignoreSect})

-

-// [62] includeSect ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>' 

-includeSect = (<\!\[{S}?INCLUDE{S}?\[{extSubsetDecl}\]\]>)

-

-// [63] ignoreSect ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>'

-ignoreSect = (<\!\[{S}?IGNORE{S}?\[{ignoreSectContents}*\]\]>)

-

-// [64] ignoreSectContents ::= Ignore ('<![' ignoreSectContents ']]>' Ignore)*

-ignoreSectContents = ({Ignore}(<\!\[{ignoreSectContents}\]\]>{Ignore})*)

-

-// [65] Ignore ::= Char* - (Char* ('<![' | ']]>') Char*)

-Ignore =  ([^(\<\!\[|\]\]\>)]*)

-

-// [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'

-CharRef = (&#[0-9]+;|&#x[0-9a-fA-F]+;)

-

-// [67] Reference ::= EntityRef | CharRef

-Reference = ({EntityRef} | {CharRef})

-

-// [68] EntityRef = '&' Name ';'

-EntityRef = (&{Name};)

-

-// [69] PEReference ::= '%' Name ';'

-PEReference = (%{Name};)

-

-// [70] EntityDecl ::= GEDecl | PEDecl

-EntityDecl = ({GEDecl} | {PEDecl})

-

-// [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>'

-GEDecl = (<\!ENTITY{S}{Name}{S}{EntityDef}{S}?>)

-

-// [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'

-PEDecl = (<\!ENTITY{S}\%{S}{Name}{S}{PEDef}{S}?>)

-

-// [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)

-EntityDef = ({EntityValue} | ({ExternalID}{NDataDecl}?))

-

-// [74] PEDef ::= EntityValue | ExternalID

-PEDef = ({EntityValue} | {ExternalID})

-

-// [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral 

-ExternalID = (SYSTEM{S}{SystemLiteral}|PUBLIC{S}{PubidLiteral}{S}{SystemLiteral} )

-

-// [76] NDataDecl ::= S 'NDATA' S Name

-NDataDecl = ({S}NDATA{S}{Name})

-

-// [77] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>'

-TextDecl = (<\?xml{VersionInfo}?{EncodingDecl}{S}?\?>)

-

-// [78] extParsedEnt ::= TextDecl? content

-extParsedEnt = ({TextDecl}?{content})

-

-// [79] extPE ::= TextDecl? extSubsetDecl

-extPE = ({TextDecl}?{extSubsetDecl})

-

-// [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' |  "'" EncName "'" ) 

-EncodingDecl = ({S}encoding{S}*{Eq}{S}*(\"{EncName}\"|\'{EncName}\'))

-

-// [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*

-EncName = ([A-Za-z]([A-Za-z0-9._]|\-)*)

-

-// [82] NotationDecl ::= '<!NOTATION' S Name S (ExternalID |  PublicID) S? '>'

-NotationDecl = (<\!NOTATION{S}{Name}{S}({ExternalID}|{PublicID}){S}?>)

-

-// [83] PublicID ::= 'PUBLIC' S PubidLiteral

-PublicID = (PUBLIC{S}{PubidLiteral})

-

-// [84]  Letter ::= BaseChar | Ideographic

-Letter = ({BaseChar} | {Ideographic})

-

-// [85]  BaseChar ::= [#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6]

-// | [#x00D8-#x00F6] | [#x00F8-#x00FF] | [#x0100-#x0131]

-// | [#x0134-#x013E] | [#x0141-#x0148] | [#x014A-#x017E]

-// | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5]

-// | [#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386

-// | [#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE]

-// | [#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0

-// | [#x03E2-#x03F3] | [#x0401-#x040C] | [#x040E-#x044F]

-// | [#x0451-#x045C] | [#x045E-#x0481] | [#x0490-#x04C4]

-// | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB]

-// | [#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559

-// | [#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2]

-// | [#x0621-#x063A] | [#x0641-#x064A] | [#x0671-#x06B7]

-// | [#x06BA-#x06BE] | [#x06C0-#x06CE] | [#x06D0-#x06D3] | #x06D5

-// | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D | [#x0958-#x0961]

-// | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8]

-// | [#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD]

-// | [#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A]

-// | [#x0A0F-#x0A10] | [#x0A13-#x0A28] | [#x0A2A-#x0A30]

-// | [#x0A32-#x0A33] | [#x0A35-#x0A36] | [#x0A38-#x0A39]

-// | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74] | [#x0A85-#x0A8B]

-// | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] | [#x0AAA-#x0AB0]

-// | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0

-// | [#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28]

-// | [#x0B2A-#x0B30] | [#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D

-// | [#x0B5C-#x0B5D] | [#x0B5F-#x0B61] | [#x0B85-#x0B8A]

-// | [#x0B8E-#x0B90] | [#x0B92-#x0B95] | [#x0B99-#x0B9A] | #x0B9C

-// | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] | [#x0BA8-#x0BAA]

-// | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C]

-// | [#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33]

-// | [#x0C35-#x0C39] | [#x0C60-#x0C61] | [#x0C85-#x0C8C]

-// | [#x0C8E-#x0C90] | [#x0C92-#x0CA8] | [#x0CAA-#x0CB3]

-// | [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | [#x0D05-#x0D0C]

-// | [#x0D0E-#x0D10] | [#x0D12-#x0D28] | [#x0D2A-#x0D39]

-// | [#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33]

-// | [#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88]

-// | #x0E8A | #x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F]

-// | [#x0EA1-#x0EA3] | #x0EA5 | #x0EA7 | [#x0EAA-#x0EAB]

-// | [#x0EAD-#x0EAE] | #x0EB0 | [#x0EB2-#x0EB3] | #x0EBD

-// | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] | [#x0F49-#x0F69]

-// | [#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 | [#x1102-#x1103]

-// | [#x1105-#x1107] | #x1109 | [#x110B-#x110C] | [#x110E-#x1112]

-// | #x113C | #x113E | #x1140 | #x114C | #x114E | #x1150

-// | [#x1154-#x1155] | #x1159 | [#x115F-#x1161] | #x1163 | #x1165

-// | #x1167 | #x1169 | [#x116D-#x116E] | [#x1172-#x1173] | #x1175

-// | #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | [#x11B7-#x11B8]

-// | #x11BA | [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9

-// | [#x1E00-#x1E9B] | [#x1EA0-#x1EF9] | [#x1F00-#x1F15]

-// | [#x1F18-#x1F1D] | [#x1F20-#x1F45] | [#x1F48-#x1F4D]

-// | [#x1F50-#x1F57] | #x1F59 | #x1F5B | #x1F5D | [#x1F5F-#x1F7D]

-// | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | [#x1FC2-#x1FC4]

-// | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB]

-// | [#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126

-// | [#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094]

-// | [#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]

-BaseChar = [\u0041-\u005A\u0061-\u007A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u0131\u0134-\u013E\u0141-\u0148\u014A-\u017E\u0180-\u01C3\u01CD-\u01F0\u01F4-\u01F5\u01FA-\u0217\u0250-\u02A8\u02BB-\u02C1\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03CE\u03D0-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2-\u03F3\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E-\u0481\u0490-\u04C4\u04C7-\u04C8\u04CB-\u04CC\u04D0-\u04EB\u04EE-\u04F5\u04F8-\u04F9\u0531-\u0556\u0559\u0561-\u0586\u05D0-\u05EA\u05F0-\u05F2\u0621-\u063A\u0641-\u064A\u0671-\u06B7\u06BA-\u06BE\u06C0-\u06CE\u06D0-\u06D3\u06D5\u06E5-\u06E6\u0905-\u0939\u093D\u0958-\u0961\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8B\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AE0\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B36-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB5\u0BB7-\u0BB9\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CDE\u0CE0-\u0CE1\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D60-\u0D61\u0E01-\u0E2E\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EAE\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0F40-\u0F47\u0F49-\u0F69\u10A0-\u10C5\u10D0-\u10F6\u1100\u1102-\u1103\u1105-\u1107\u1109\u110B-\u110C\u110E-\u1112\u113C\u113E\u1140\u114C\u114E\u1150\u1154-\u1155\u1159\u115F-\u1161\u1163\u1165\u1167\u1169\u116D-\u116E\u1172-\u1173\u1175\u119E\u11A8\u11AB\u11AE-\u11AF\u11B7-\u11B8\u11BA\u11BC-\u11C2\u11EB\u11F0\u11F9\u1E00-\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A-\u212B\u212E\u2180-\u2182\u3041-\u3094\u30A1-\u30FA\u3105-\u312C\uAC00-\uD7A3]

-

-// [86]  Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]

-Ideographic = [\u4E00-\u9FA5\u3007\u3021-\u3029]

-

-// [87]      CombiningChar    ::=    [#x0300-#x0345]    | [#x0360-#x0361]

-// | [#x0483-#x0486]          | [#x0591-#x05A1]         | [#x05A3-#x05B9]

-// | [#x05BB-#x05BD]       | #x05BF       | [#x05C1-#x05C2]	 | #x05C4

-// | [#x064B-#x0652]    | #x0670    | [#x06D6-#x06DC]   | [#x06DD-#x06DF]

-// | [#x06E0-#x06E4]          | [#x06E7-#x06E8]         | [#x06EA-#x06ED]

-// | [#x0901-#x0903]       | #x093C       | [#x093E-#x094C]      | #x094D

-// | [#x0951-#x0954]    | [#x0962-#x0963]    | [#x0981-#x0983]   | #x09BC

-// | #x09BE       | #x09BF       | [#x09C0-#x09C4]      | [#x09C7-#x09C8]

-// | [#x09CB-#x09CD]   | #x09D7   | [#x09E2-#x09E3]   | #x0A02   | #x0A3C

-// | #x0A3E       | #x0A3F       | [#x0A40-#x0A42]      | [#x0A47-#x0A48]

-// | [#x0A4B-#x0A4D]    | [#x0A70-#x0A71]    | [#x0A81-#x0A83]   | #x0ABC

-// | [#x0ABE-#x0AC5]          | [#x0AC7-#x0AC9]         | [#x0ACB-#x0ACD]

-// | [#x0B01-#x0B03]    | #x0B3C    | [#x0B3E-#x0B43]   | [#x0B47-#x0B48]

-// | [#x0B4B-#x0B4D]          | [#x0B56-#x0B57]         | [#x0B82-#x0B83]

-// | [#x0BBE-#x0BC2]    | [#x0BC6-#x0BC8]    | [#x0BCA-#x0BCD]   | #x0BD7

-// | [#x0C01-#x0C03]          | [#x0C3E-#x0C44]         | [#x0C46-#x0C48]

-// | [#x0C4A-#x0C4D]          | [#x0C55-#x0C56]         | [#x0C82-#x0C83]

-// | [#x0CBE-#x0CC4]          | [#x0CC6-#x0CC8]         | [#x0CCA-#x0CCD]

-// | [#x0CD5-#x0CD6]          | [#x0D02-#x0D03]         | [#x0D3E-#x0D43]

-// | [#x0D46-#x0D48]       | [#x0D4A-#x0D4D]       | #x0D57      | #x0E31

-// | [#x0E34-#x0E3A]    | [#x0E47-#x0E4E]    | #x0EB1   | [#x0EB4-#x0EB9]

-// | [#x0EBB-#x0EBC]    | [#x0EC8-#x0ECD]    | [#x0F18-#x0F19]   | #x0F35

-// | #x0F37      | #x0F39     | #x0F3E     | #x0F3F     | [#x0F71-#x0F84]

-// | [#x0F86-#x0F8B]    | [#x0F90-#x0F95]    | #x0F97   | [#x0F99-#x0FAD]

-// | [#x0FB1-#x0FB7]       | #x0FB9       | [#x20D0-#x20DC]      | #x20E1

-// | [#x302A-#x302F] | #x3099 | #x309A

-CombiningChar =    [\u0300-\u0345\u0360-\u0361\u0483-\u0486\u0591-\u05A1\u05A3-\u05B9\u05BB-\u05BD\u05BF\u05C1-\u05C2\u05C4\u064B-\u0652\u0670\u06D6-\u06DC\u06DD-\u06DF\u06E0-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0901-\u0903\u093C\u093E-\u094C\u094D\u0951-\u0954\u0962-\u0963\u0981-\u0983\u09BC\u09BE\u09BF\u09C0-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u0A02\u0A3C\u0A3E\u0A3F\u0A40-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A70-\u0A71\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0B01-\u0B03\u0B3C\u0B3E-\u0B43\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B82-\u0B83\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C01-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C82-\u0C83\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D43\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86-\u0F8B\u0F90-\u0F95\u0F97\u0F99-\u0FAD\u0FB1-\u0FB7\u0FB9\u20D0-\u20DC\u20E1\u302A-\u302F\u3099\u309A]

-

-// [88]   Digit  ::=  [#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9]

-// | [#x0966-#x096F]          | [#x09E6-#x09EF]         | [#x0A66-#x0A6F]

-// | [#x0AE6-#x0AEF]          | [#x0B66-#x0B6F]         | [#x0BE7-#x0BEF]

-// | [#x0C66-#x0C6F]          | [#x0CE6-#x0CEF]         | [#x0D66-#x0D6F]

-// | [#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]

-Digit =  [\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE7-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29]

-

-// [89]  Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46

-// | #x0EC6       | #x3005       | [#x3031-#x3035]      | [#x309D-#x309E]

-// | [#x30FC-#x30FE]

-Extender = [\u00B7\u02D0\u02D1\u0387\u0640\u0E46\u0EC6\u3005\u3031-\u3035\u309D-\u309E\u30FC-\u30FE]

-

-

-

-/**

- * JSP and scripting marker allowances

- */

-

-jspCommentStart = <%--

-jspCommentEnd   = --%>

-

-jspScriptletStart        = <%

-jspExpressionStart       = {jspScriptletStart}=

-jspDeclarationStart      = {jspScriptletStart}\!

-jspScriptletEnd          = %>

-jspDirectiveStart        = {jspScriptletStart}@

-

-%%

-

-/* white space within a tag */

-<ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE, ST_PI, ST_XML_PI_EQUALS, ST_XML_PI_ATTRIBUTE_NAME, ST_XML_PI_ATTRIBUTE_VALUE, ST_XML_DECLARATION, ST_XML_DOCTYPE_DECLARATION, ST_XML_ELEMENT_DECLARATION, ST_XML_ATTLIST_DECLARATION, ST_XML_DECLARATION_CLOSE, ST_XML_DOCTYPE_ID_PUBLIC, ST_XML_DOCTYPE_ID_SYSTEM, ST_XML_DOCTYPE_EXTERNAL_ID, ST_JSP_DIRECTIVE_NAME, ST_JSP_DIRECTIVE_ATTRIBUTE_NAME, ST_JSP_DIRECTIVE_EQUALS, ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE,ST_XML_ATTRIBUTE_VALUE_DQUOTED,ST_XML_ATTRIBUTE_VALUE_SQUOTED,ST_DHTML_ATTRIBUTE_NAME,ST_DHTML_EQUALS,ST_DHTML_ATTRIBUTE_VALUE,ST_DHTML_TAG_CLOSE> {S}* {

-	if(Debug.debugTokenizer)

-		dump("white space");//$NON-NLS-1$

-        return WHITE_SPACE;

-}

-

-// BEGIN REGULAR XML

-/* handle opening a new tag almost anywhere */

-

-

-<YYINITIAL, ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_DECLARATION, ST_JSP_DIRECTIVE_NAME, ST_JSP_DIRECTIVE_NAME_WHITESPACE, ST_JSP_DIRECTIVE_ATTRIBUTE_NAME, ST_JSP_DIRECTIVE_EQUALS, ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE> {genericTagOpen} {

-	if(Debug.debugTokenizer)

-		dump("\nstart tag open");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_NAME;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-        yybegin(ST_XML_TAG_NAME);

-        return XML_TAG_OPEN;

-}

-/* VERY special cases for tags as values */

-/* quoted JSP */

-<ST_XML_ATTRIBUTE_VALUE_DQUOTED> ["] {

-	return XML_TAG_ATTRIBUTE_VALUE_DQUOTE;

-}

-<ST_XML_ATTRIBUTE_VALUE_SQUOTED> ['] {

-	return XML_TAG_ATTRIBUTE_VALUE_SQUOTE;

-}

-<ST_XML_ATTRIBUTE_VALUE> ["] {

-	if (Debug.debugTokenizer) {

-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-	}

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;

-	yybegin(ST_XML_ATTRIBUTE_VALUE_DQUOTED);

-	fStateStack.push(yystate());

-	if(Debug.debugTokenizer)

-		dump("JSP attribute value start - complex double quoted");//$NON-NLS-1$

-	assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_DQUOTE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE);

-	fStateStack.pop();

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-	yybegin(ST_XML_ATTRIBUTE_NAME);

-	return PROXY_CONTEXT;

-}

-<ST_XML_ATTRIBUTE_VALUE> ['] {

-	if (Debug.debugTokenizer) {

-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-	}

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;

-	yybegin(ST_XML_ATTRIBUTE_VALUE_SQUOTED);

-	fStateStack.push(yystate());

-	if(Debug.debugTokenizer)

-		dump("JSP attribute value start - complex single quoted");//$NON-NLS-1$

-	assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_SQUOTE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE);

-	fStateStack.pop();

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-        yybegin(ST_XML_ATTRIBUTE_NAME);

-	return PROXY_CONTEXT;

-}

-

-<ST_XML_ATTRIBUTE_VALUE_DQUOTED> ([^<"\x24\x23]|[\x24\x23][^\x7b])+ {

-	return XML_TAG_ATTRIBUTE_VALUE;

-}

-<ST_XML_ATTRIBUTE_VALUE_SQUOTED> ([^<'\x24\x23]|[\x24\x23][^\x7b])+ {

-	return XML_TAG_ATTRIBUTE_VALUE;

-}

-

-<ST_XML_ATTRIBUTE_VALUE_DQUOTED,ST_XML_ATTRIBUTE_VALUE_SQUOTED> {genericTagOpen} {

-	if (Debug.debugTokenizer) {

-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-	}

-	int incomingState = yystate();

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	if(Debug.debugTokenizer)

-		dump("tag inside of JSP attribute value start");//$NON-NLS-1$

-	yybegin(ST_XML_TAG_NAME);

-	assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});

-	if(yystate() != ST_ABORT_EMBEDDED)

-        yybegin(incomingState);

-	return PROXY_CONTEXT;

-}

-<ST_XML_ATTRIBUTE_VALUE_DQUOTED,ST_XML_ATTRIBUTE_VALUE_SQUOTED> {genericEndTagOpen} {

-	if (Debug.debugTokenizer) {

-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-	}

-	int incomingState = yystate();

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	if(Debug.debugTokenizer)

-		dump("JSP attribute value start - end tag");//$NON-NLS-1$

-	yybegin(ST_XML_TAG_NAME);

-	assembleEmbeddedContainer(XML_END_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});

-	if(yystate() != ST_ABORT_EMBEDDED)

-        yybegin(incomingState);

-	return PROXY_CONTEXT;

-}

-

-/* unquoted */

-<ST_XML_ATTRIBUTE_VALUE> {genericTagOpen} {

-	if (Debug.debugTokenizer) {

-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-	}

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	fStateStack.push(yystate());

-	if(Debug.debugTokenizer)

-		dump("JSP tag embedded name start - start tag");//$NON-NLS-1$

-	yybegin(ST_XML_TAG_NAME);

-	assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE});

-	fStateStack.pop();

-        yybegin(ST_XML_ATTRIBUTE_NAME);

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-	return PROXY_CONTEXT;

-}

-

-<YYINITIAL, ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE, ST_XML_DECLARATION> {genericEndTagOpen} {

-	if(Debug.debugTokenizer)

-		dump("\nend tag open");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_NAME;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-        yybegin(ST_XML_TAG_NAME);

-        return XML_END_TAG_OPEN;

-}

-/* specially treated JSP tag names */

-<ST_XML_TAG_NAME> jsp:root {

-	if(Debug.debugTokenizer)

-		dump("jsp:root tag name");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-        yybegin(ST_XML_ATTRIBUTE_NAME);

-        return JSP_ROOT_TAG_NAME;

-}

-<ST_XML_TAG_NAME> jsp:directive.(page|include|tag|taglib|attribute|variable) {

-	if(Debug.debugTokenizer)

-		dump("jsp directive tag name");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-        yybegin(ST_XML_ATTRIBUTE_NAME);

-        return JSP_DIRECTIVE_NAME;

-}

-/* the tag's name was found, start scanning for attributes */

-<ST_XML_TAG_NAME> {Name} {

-	if(Debug.debugTokenizer)

-		dump("tag name");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-        yybegin(ST_XML_ATTRIBUTE_NAME);

-        return XML_TAG_NAME;

-}

-

-/* another attribute name was found, resume looking for the equals sign */

-<ST_XML_ATTRIBUTE_NAME, ST_XML_EQUALS> {Name} {

-	if(Debug.debugTokenizer)

-		dump("attr name");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-        yybegin(ST_XML_EQUALS);

-        return XML_TAG_ATTRIBUTE_NAME;

-}

-/* an equal sign was found, what's next is the value */

-<ST_XML_EQUALS> {Eq} {

-	if(Debug.debugTokenizer)

-		dump("equals");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-        yybegin(ST_XML_ATTRIBUTE_VALUE);

-        return XML_TAG_ATTRIBUTE_EQUALS;

-}

-/* the value was found, look for the next name */

-<ST_XML_ATTRIBUTE_VALUE> {AttValue} {

-	if(Debug.debugTokenizer)

-		dump("attr value");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-        yybegin(ST_XML_ATTRIBUTE_NAME);

-        return XML_TAG_ATTRIBUTE_VALUE;

-}

-/* the tag's close was found */

-<ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE> {genericTagClose} {

-	if(Debug.debugTokenizer)

-		dump("tag close");//$NON-NLS-1$

-	fEmbeddedHint = UNDEFINED;

-	if(isBlockMarker()) {

-		fEmbeddedHint = getBlockMarkerContext();

-		fEmbeddedPostState = ST_BLOCK_TAG_SCAN;

-        	yybegin(ST_BLOCK_TAG_SCAN);

-	}

-	else

-        	yybegin(YYINITIAL);

-        return XML_TAG_CLOSE;

-}

-/* the tag's close was found, but the tag doesn't need a matching end tag */

-<ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE> {genericEmptyTagClose} {

-        yybegin(YYINITIAL);

-	fEmbeddedHint = UNDEFINED;

-	if(Debug.debugTokenizer)

-		dump("empty tag close");//$NON-NLS-1$

-        return XML_EMPTY_TAG_CLOSE;

-}

-

-<ST_XML_TAG_NAME> [^</>\u0041-\u005A\u0061-\u007A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u0131\u0134-\u013E\u0141-\u0148\u014A-\u017E\u0180-\u01C3\u01CD-\u01F0\u01F4-\u01F5\u01FA-\u0217\u0250-\u02A8\u02BB-\u02C1\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03CE\u03D0-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2-\u03F3\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E-\u0481\u0490-\u04C4\u04C7-\u04C8\u04CB-\u04CC\u04D0-\u04EB\u04EE-\u04F5\u04F8-\u04F9\u0531-\u0556\u0559\u0561-\u0586\u05D0-\u05EA\u05F0-\u05F2\u0621-\u063A\u0641-\u064A\u0671-\u06B7\u06BA-\u06BE\u06C0-\u06CE\u06D0-\u06D3\u06D5\u06E5-\u06E6\u0905-\u0939\u093D\u0958-\u0961\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8B\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AE0\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B36-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB5\u0BB7-\u0BB9\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CDE\u0CE0-\u0CE1\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D60-\u0D61\u0E01-\u0E2E\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EAE\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0F40-\u0F47\u0F49-\u0F69\u10A0-\u10C5\u10D0-\u10F6\u1100\u1102-\u1103\u1105-\u1107\u1109\u110B-\u110C\u110E-\u1112\u113C\u113E\u1140\u114C\u114E\u1150\u1154-\u1155\u1159\u115F-\u1161\u1163\u1165\u1167\u1169\u116D-\u116E\u1172-\u1173\u1175\u119E\u11A8\u11AB\u11AE-\u11AF\u11B7-\u11B8\u11BA\u11BC-\u11C2\u11EB\u11F0\u11F9\u1E00-\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A-\u212B\u212E\u2180-\u2182\u3041-\u3094\u30A1-\u30FA\u3105-\u312C\uAC00-\uD7A3\u4E00-\u9FA5\u3007\u3021-\u3029]* {

-	if(Debug.debugTokenizer)

-		dump("inappropriate tag name");//$NON-NLS-1$

-	if(!fStateStack.empty() && (fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_SQUOTED||fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_DQUOTED)) {

-		yybegin(ST_ABORT_EMBEDDED);

-		yypushback(yylength()-1);

-		return XML_TAG_ATTRIBUTE_VALUE;

-	}

-	yybegin(YYINITIAL);

-        return XML_CONTENT;

-}

-

-// END REGULAR XML

-

-// BEGIN NESTED XML TAGS

-<ST_XML_ATTRIBUTE_NAME, ST_XML_EQUALS> <{Name} {

-	String tagName = yytext().substring(1);

-	// pushback to just after the opening bracket

-	yypushback(yylength() - 1);

-	if(!isNestable(tagName)) {

-		yybegin(ST_XML_TAG_NAME);

-		return XML_TAG_OPEN;

-	}

-	if(Debug.debugTokenizer)

-		dump("tag in place of attr name");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	fStateStack.push(yystate());

-	// embedded container should be looking for the name (again) next

-	yybegin(ST_XML_TAG_NAME);

-	assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ?

-	fStateStack.pop();

-	yybegin(ST_XML_EQUALS);

-	return PROXY_CONTEXT;

-}

-<ST_XML_ATTRIBUTE_VALUE> <{Name} {

-	String tagName = yytext().substring(1);

-	// pushback to just after the opening bracket

-	yypushback(yylength() - 1);

-	if(!isNestable(tagName)) {

-		yybegin(ST_XML_TAG_NAME);

-		return XML_TAG_OPEN;

-	}

-	if(Debug.debugTokenizer)

-		dump("tag in place of attr value");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	fStateStack.push(yystate());

-	// embedded container should be looking for the name (again) next

-	yybegin(ST_XML_TAG_NAME);

-	assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ?

-	fStateStack.pop();

-	yybegin(ST_XML_ATTRIBUTE_NAME);

-	return PROXY_CONTEXT;

-}

-// END NESTED XML

-

-// XML & JSP Comments

-

-<YYINITIAL, ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE, ST_XML_DECLARATION, ST_JSP_DIRECTIVE_NAME, ST_JSP_DIRECTIVE_NAME_WHITESPACE, ST_JSP_DIRECTIVE_ATTRIBUTE_NAME, ST_JSP_DIRECTIVE_EQUALS, ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE> {CommentStart} {

-	if(Debug.debugTokenizer)

-		dump("\ncomment start");//$NON-NLS-1$

-	fEmbeddedHint = XML_COMMENT_TEXT;

-	fEmbeddedPostState = ST_XML_COMMENT;

-	yybegin(ST_XML_COMMENT);

-	return XML_COMMENT_OPEN;

-}

-<ST_XML_COMMENT> .|\r|\n {

-	if(Debug.debugTokenizer)

-		dump("comment content");//$NON-NLS-1$

-	return scanXMLCommentText();

-}

-

-<ST_XML_COMMENT_END> {CommentEnd} {

-	if(Debug.debugTokenizer)

-		dump("comment end");//$NON-NLS-1$

-	fEmbeddedHint = UNDEFINED;

-	yybegin(YYINITIAL);

-	return XML_COMMENT_CLOSE;

-}

-

-<ST_JSP_CONTENT> {jspScriptletEnd} {

-	if(Debug.debugTokenizer)

-		dump("JSP end");//$NON-NLS-1$

-	if (Debug.debugTokenizer) {

-		if(fStateStack.peek()!=YYINITIAL)

-			System.out.println("end embedded region");//$NON-NLS-1$

-	}

-	yybegin(fStateStack.pop());

-	return JSP_CLOSE;

-}

-<ST_JSP_CONTENT> . {

-	if(Debug.debugTokenizer)

-		dump("JSP code content");//$NON-NLS-1$

-	return doScan("%>", false, false, false, JSP_CONTENT, ST_JSP_CONTENT, ST_JSP_CONTENT);

-}

-{jspScriptletStart} {

-	/* JSP scriptlet begun (anywhere)

-	 * A consequence of the start anywhere possibility is that the

-	 *  incoming state must be checked to see if it's erroneous

-	 *  due to the order of precedence generated

-	 */

-	// begin sanity checks

-	if(yystate() == ST_JSP_CONTENT) {

-		// at the beginning?!

-		yypushback(1);

-		return JSP_CONTENT;

-	}

-	else if(yystate() == ST_BLOCK_TAG_SCAN) {

-		yypushback(2);

-		return doBlockTagScan();

-	}

-	else if(yystate() == ST_XML_COMMENT) {

-		yypushback(2);

-		return scanXMLCommentText();

-	}

-	else if(yystate() == ST_JSP_COMMENT) {

-		yypushback(2);

-		return scanJSPCommentText();

-	}

-	// finished sanity checks

-	fStateStack.push(yystate());

-	if(fStateStack.peek()==YYINITIAL) {

-		// the simple case, just a regular scriptlet out in content

-		if(Debug.debugTokenizer)

-			dump("\nJSP scriptlet start");//$NON-NLS-1$

-		yybegin(ST_JSP_CONTENT);

-		return JSP_SCRIPTLET_OPEN;

-	}

-	else {

-		if (Debug.debugTokenizer) {

-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-		}

-		if(Debug.debugTokenizer)

-			dump("JSP scriptlet start");//$NON-NLS-1$

-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;

-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;

-		else if(yystate() == ST_CDATA_TEXT) {

-			fEmbeddedPostState = ST_CDATA_TEXT;

-			fEmbeddedHint = XML_CDATA_TEXT;

-		}

-		yybegin(ST_JSP_CONTENT);

-		assembleEmbeddedContainer(JSP_SCRIPTLET_OPEN, JSP_CLOSE);

-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {

-			yybegin(ST_BLOCK_TAG_SCAN);

-			return BLOCK_TEXT;

-		}

-		// required help for successive embedded regions

-		if(yystate() == ST_XML_TAG_NAME) {

-			fEmbeddedHint = XML_TAG_NAME;

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-		}

-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {

-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-			fEmbeddedPostState = ST_XML_EQUALS;

-		}

-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {

-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-		}

-		return PROXY_CONTEXT;

-	}

-}

-{jspExpressionStart} {

-	/* JSP expression begun (anywhere)

-	 * A consequence of the start anywhere possibility is that the

-	 *  incoming state must be checked to see if it's erroneous

-	 *  due to the order of precedence generated

-	 */

-	// begin sanity checks

-	if(yystate() == ST_JSP_CONTENT) {

-		// at the beginning?!

-		yypushback(2);

-		return JSP_CONTENT;

-	}

-	else if(yystate() == ST_BLOCK_TAG_SCAN) {

-		yypushback(3);

-		return doBlockTagScan();

-	}

-	else if(yystate() == ST_XML_COMMENT) {

-		yypushback(3);

-		return scanXMLCommentText();

-	}

-	else if(yystate() == ST_JSP_COMMENT) {

-		yypushback(3);

-		return scanJSPCommentText();

-	}

-	// end sanity checks

-	fStateStack.push(yystate());

-	if(fStateStack.peek()==YYINITIAL) {

-		// the simple case, just an expression out in content

-		if(Debug.debugTokenizer)

-			dump("\nJSP expression start");//$NON-NLS-1$

-		yybegin(ST_JSP_CONTENT);

-		return JSP_EXPRESSION_OPEN;

-	}

-	else {

-		if (Debug.debugTokenizer) {

-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-		}

-		if(Debug.debugTokenizer)

-			dump("JSP expression start");//$NON-NLS-1$

-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;

-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;

-		else if(yystate() == ST_CDATA_TEXT) {

-			fEmbeddedPostState = ST_CDATA_TEXT;

-			fEmbeddedHint = XML_CDATA_TEXT;

-		}

-		yybegin(ST_JSP_CONTENT);

-		assembleEmbeddedContainer(JSP_EXPRESSION_OPEN, JSP_CLOSE);

-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {

-			yybegin(ST_BLOCK_TAG_SCAN);

-			return BLOCK_TEXT;

-		}

-		// required help for successive embedded regions

-		if(yystate() == ST_XML_TAG_NAME) {

-			fEmbeddedHint = XML_TAG_NAME;

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-		}

-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {

-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-			fEmbeddedPostState = ST_XML_EQUALS;

-		}

-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {

-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-		}

-		return PROXY_CONTEXT;

-	}

-}

-{jspDeclarationStart} {

-	/* JSP declaration begun (anywhere)

-	 * A consequence of the start anywhere possibility is that the

-	 *  incoming state must be checked to see if it's erroneous

-	 *  due to the order of precedence generated

-	 */

-	// begin sanity checks

-	if(yystate() == ST_JSP_CONTENT) {

-		// at the beginning?!

-		yypushback(2);

-		return JSP_CONTENT;

-	}

-	else if(yystate() == ST_BLOCK_TAG_SCAN) {

-		yypushback(3);

-		return doBlockTagScan();

-	}

-	else if(yystate() == ST_XML_COMMENT) {

-		yypushback(3);

-		return scanXMLCommentText();

-	}

-	else if(yystate() == ST_JSP_COMMENT) {

-		yypushback(3);

-		return scanJSPCommentText();

-	}

-	// end sanity checks

-	fStateStack.push(yystate());

-	if(fStateStack.peek()==YYINITIAL) {

-		// the simple case, just a declaration out in content

-		if(Debug.debugTokenizer)

-			dump("\nJSP declaration start");//$NON-NLS-1$

-		yybegin(ST_JSP_CONTENT);

-		return JSP_DECLARATION_OPEN;

-	}

-	else {

-		if (Debug.debugTokenizer) {

-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-		}

-		if(Debug.debugTokenizer)

-			dump("JSP declaration start");//$NON-NLS-1$

-		if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED)

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED;

-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED)

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED;

-		else if(yystate() == ST_CDATA_TEXT) {

-			fEmbeddedPostState = ST_CDATA_TEXT;

-			fEmbeddedHint = XML_CDATA_TEXT;

-		}

-		yybegin(ST_JSP_CONTENT);

-		assembleEmbeddedContainer(JSP_DECLARATION_OPEN, JSP_CLOSE);

-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {

-			yybegin(ST_BLOCK_TAG_SCAN);

-			return BLOCK_TEXT;

-		}

-		// required help for successive embedded regions

-		if(yystate() == ST_XML_TAG_NAME) {

-			fEmbeddedHint = XML_TAG_NAME;

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-		}

-		else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) {

-			fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-			fEmbeddedPostState = ST_XML_EQUALS;

-		}

-		else if(yystate() == ST_XML_ATTRIBUTE_VALUE) {

-			fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-			fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-		}

-		return PROXY_CONTEXT;

-	}

-}

-<ST_BLOCK_TAG_INTERNAL_SCAN> {jspCommentStart}  {

-	yybegin(ST_JSP_COMMENT);

-	assembleEmbeddedContainer(JSP_COMMENT_OPEN, JSP_COMMENT_CLOSE);

-	if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN)

-		yybegin(ST_BLOCK_TAG_SCAN);

-	return PROXY_CONTEXT;

-}

-<YYINITIAL,ST_BLOCK_TAG_INTERNAL_SCAN> {jspDirectiveStart}  {

-	fStateStack.push(yystate());

-	if(fStateStack.peek()==YYINITIAL) {

-		if(Debug.debugTokenizer)

-			dump("\nJSP directive start");//$NON-NLS-1$

-		yybegin(ST_JSP_DIRECTIVE_NAME);

-		return JSP_DIRECTIVE_OPEN;

-	}

-	else {

-		if (Debug.debugTokenizer) {

-			System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-		}

-		if(Debug.debugTokenizer)

-			dump("JSP directive start");//$NON-NLS-1$

-		yybegin(ST_JSP_DIRECTIVE_NAME);

-		assembleEmbeddedContainer(JSP_DIRECTIVE_OPEN, new String[]{JSP_DIRECTIVE_CLOSE, JSP_CLOSE});

-		if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) {

-			yybegin(ST_BLOCK_TAG_SCAN);

-			return BLOCK_TEXT;

-		}

-		return PROXY_CONTEXT;

-	}

-}

-<ST_JSP_DIRECTIVE_NAME> {Name} {

-	if(Debug.debugTokenizer)

-		dump("JSP directive name");//$NON-NLS-1$

-	yybegin(ST_JSP_DIRECTIVE_NAME_WHITESPACE);

-	return JSP_DIRECTIVE_NAME;

-}

-<ST_JSP_DIRECTIVE_NAME_WHITESPACE> {S}? {

-	if(Debug.debugTokenizer)

-		dump("white space");//$NON-NLS-1$

-	yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);

-	return WHITE_SPACE;

-}

-<ST_JSP_DIRECTIVE_ATTRIBUTE_NAME, ST_JSP_DIRECTIVE_EQUALS> {Name} {

-	if(Debug.debugTokenizer)

-		dump("attr name");//$NON-NLS-1$

-        yybegin(ST_JSP_DIRECTIVE_EQUALS);

-        return XML_TAG_ATTRIBUTE_NAME;

-}

-<ST_JSP_DIRECTIVE_EQUALS> {Eq} {

-	if(Debug.debugTokenizer)

-		dump("equals");//$NON-NLS-1$

-        yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE);

-        return XML_TAG_ATTRIBUTE_EQUALS;

-}

-<ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE> {AttValue} {

-	if(Debug.debugTokenizer)

-		dump("attr value");//$NON-NLS-1$

-        yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME);

-        return XML_TAG_ATTRIBUTE_VALUE;

-}

-<ST_JSP_DIRECTIVE_NAME, ST_JSP_DIRECTIVE_NAME_WHITESPACE, ST_JSP_DIRECTIVE_ATTRIBUTE_NAME, ST_JSP_DIRECTIVE_EQUALS, ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE> {jspScriptletEnd} {

-	if(Debug.debugTokenizer)

-		dump("JSP end");//$NON-NLS-1$

-	if (Debug.debugTokenizer) {

-		if(fStateStack.peek()!=YYINITIAL)

-			System.out.println("end embedded region");//$NON-NLS-1$

-	}

-	yybegin(fStateStack.pop());

-	return JSP_DIRECTIVE_CLOSE;

-}

-

-<YYINITIAL> {jspCommentStart} {

-	if(Debug.debugTokenizer)

-		dump("\nJSP comment start");//$NON-NLS-1$

-	yybegin(ST_JSP_COMMENT);

-	return JSP_COMMENT_OPEN;

-}

-

-<ST_XML_ATTRIBUTE_VALUE_DQUOTED> \x24\x7b {

-	int enterState = yystate();

-	yybegin(ST_JSP_DQUOTED_EL);

-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});

-	// abort early when an unescaped double quote is found in the EL

-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {

-		yybegin(ST_ABORT_EMBEDDED);

-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	}

-	else {

-		yybegin(enterState);

-	}

-	return PROXY_CONTEXT;

-}

-<ST_XML_ATTRIBUTE_VALUE_DQUOTED> \x23\x7b {

-	int enterState = yystate();

-	yybegin(ST_JSP_DQUOTED_VBL);

-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE});

-	// abort early when an unescaped double quote is found in the VBL

-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) {

-		yybegin(ST_ABORT_EMBEDDED);

-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	}

-	else {

-		yybegin(enterState);

-	}

-	return PROXY_CONTEXT;

-}

-<ST_XML_ATTRIBUTE_VALUE_SQUOTED> \x24\x7b {

-	int enterState = yystate();

-	yybegin(ST_JSP_SQUOTED_EL);

-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});

-	// abort early when an unescaped single quote is found in the EL

-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {

-		yybegin(ST_ABORT_EMBEDDED);

-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	}

-	else {

-		yybegin(enterState);

-	}

-	return PROXY_CONTEXT;

-}

-<ST_XML_ATTRIBUTE_VALUE_SQUOTED> \x23\x7b {

-	int enterState = yystate();

-	yybegin(ST_JSP_SQUOTED_VBL);

-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE});

-	// abort early when an unescaped single quote is found in the VBL

-	if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) {

-		yybegin(ST_ABORT_EMBEDDED);

-		fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	}

-	else {

-		yybegin(enterState);

-	}

-	return PROXY_CONTEXT;

-}

-

-// unescaped double quote, return as ending region

-<ST_JSP_DQUOTED_EL,ST_JSP_DQUOTED_VBL> ["] {

-	return XML_TAG_ATTRIBUTE_VALUE_DQUOTE;

-}

-// unescaped single quote, return as ending region

-<ST_JSP_SQUOTED_EL,ST_JSP_SQUOTED_VBL> ['] {

-	return XML_TAG_ATTRIBUTE_VALUE_SQUOTE;

-}

-

-

-// paired escaped double quotes

-<ST_JSP_DQUOTED_EL> \\\" ([^\\]|\\[^"}]+)* \\\" {

-	return JSP_EL_QUOTED_CONTENT;

-}

-// everything else EL

-<ST_JSP_DQUOTED_EL> ([^\\}"]|\\[^"])+ {

-	return JSP_EL_CONTENT;

-}

-<ST_JSP_DQUOTED_EL> \\\" {

-	return JSP_EL_CONTENT;

-}

-// paired escaped quotes

-<ST_JSP_SQUOTED_EL> \\\' ([^\\]|\\[^'}]+)* \\\' {

-	return JSP_EL_QUOTED_CONTENT;

-}

-// everything else EL

-<ST_JSP_SQUOTED_EL> ([^\\}']|\\[^'])+ {

-	return JSP_EL_CONTENT;

-}

-<ST_JSP_SQUOTED_EL> \\\' {

-	return JSP_EL_CONTENT;

-}

-<ST_JSP_DQUOTED_EL,ST_JSP_SQUOTED_EL> } {

-	return JSP_EL_CLOSE;

-}

-

-

-// paired escaped quotes

-<ST_JSP_DQUOTED_VBL> \\\" ([^\\]|\\[^"}]+)* \\\" {

-	return JSP_VBL_QUOTED_CONTENT;

-}

-// everything else VBL

-<ST_JSP_DQUOTED_VBL> ([^\\}"]|\\[^"])+ {

-	return JSP_VBL_CONTENT;

-}

-<ST_JSP_DQUOTED_VBL> \\\" {

-	return JSP_VBL_CONTENT;

-}

-// paired escaped quotes

-<ST_JSP_SQUOTED_VBL> \\\' ([^\\]|\\[^'}]+)* \\\' {

-	return JSP_VBL_QUOTED_CONTENT;

-}

-// everything else VBL

-<ST_JSP_SQUOTED_VBL> ([^\\}']|\\[^'])+ {

-	return JSP_VBL_CONTENT;

-}

-<ST_JSP_SQUOTED_VBL> \\\' {

-	return JSP_VBL_CONTENT;

-}

-

-<ST_JSP_DQUOTED_VBL,ST_JSP_SQUOTED_VBL> } {

-	return JSP_VBL_CLOSE;

-}

-

-

-// XML content area EL

-<YYINITIAL> \x24\x7b[^\x7d]*/\x7d {

-	yybegin(ST_JSP_EL);

-	if(yylength() > 2)

-		yypushback(yylength() - 2);

-	fELlevel++;

-	fEmbeddedHint = XML_CONTENT;

-	fEmbeddedPostState = YYINITIAL;

-	assembleEmbeddedContainer(JSP_EL_OPEN, JSP_EL_CLOSE);

-	fEmbeddedHint = XML_CONTENT;

-	yybegin(YYINITIAL);

-	return PROXY_CONTEXT;

-}

-<ST_JSP_EL> \x24\x7b {

-	fELlevel++;

-	if(fELlevel == 1) {

-		return JSP_EL_OPEN;

-	}

-}

-// XML content area VBL

-<YYINITIAL> \x23\x7b[^\x7d]*/\x7d {

-	yybegin(ST_JSP_VBL);

-	if(yylength() > 2)

-		yypushback(yylength() - 2);

-	fELlevel++;

-	fEmbeddedHint = XML_CONTENT;

-	fEmbeddedPostState = YYINITIAL;

-	assembleEmbeddedContainer(JSP_VBL_OPEN, JSP_VBL_CLOSE);

-	fEmbeddedHint = XML_CONTENT;

-	yybegin(YYINITIAL);

-	return PROXY_CONTEXT;

-}

-<ST_JSP_VBL> \x23\x7b {

-	fELlevel++;

-	if(fELlevel == 1) {

-		return JSP_VBL_OPEN;

-	}

-}

-// return anything not starting quotes or ending the VBL as content

-<ST_JSP_VBL> [^\x7d\x22\x27]* {

-	return JSP_VBL_CONTENT;

-}

-// return anything not starting quotes or ending the EL as content

-<ST_JSP_EL> [^\x7d\x22\x27]* {

-	return JSP_EL_CONTENT;

-}

-

-

-// quotes

-<ST_JSP_EL> \x22 {

-	yybegin(ST_JSP_EL_DQUOTES);

-	return JSP_EL_DQUOTE;

-}

-<ST_JSP_EL_DQUOTES> [^\x22]+/\x22 {

-	yybegin(ST_JSP_EL_DQUOTES_END);

-	return JSP_EL_QUOTED_CONTENT;

-}

-<ST_JSP_EL_DQUOTES_END> \x22 {

-	yybegin(ST_JSP_EL);

-	return JSP_EL_DQUOTE;

-}

-<ST_JSP_EL> \x27 {

-	yybegin(ST_JSP_EL_SQUOTES);

-	return JSP_EL_SQUOTE;

-}

-<ST_JSP_EL_SQUOTES> [^\x27]+/\x27 {

-	yybegin(ST_JSP_EL_SQUOTES_END);

-	return JSP_EL_QUOTED_CONTENT;

-}

-<ST_JSP_EL_SQUOTES_END> \x27 {

-	yybegin(ST_JSP_EL);

-	return JSP_EL_SQUOTE;

-}

-// quotes

-<ST_JSP_VBL> \x22 {

-	yybegin(ST_JSP_VBL_DQUOTES);

-	return JSP_VBL_DQUOTE;

-}

-<ST_JSP_VBL_DQUOTES> [^\x22]+/\x22 {

-	yybegin(ST_JSP_VBL_DQUOTES_END);

-	return JSP_VBL_QUOTED_CONTENT;

-}

-<ST_JSP_VBL_DQUOTES_END> \x22 {

-	yybegin(ST_JSP_VBL);

-	return JSP_VBL_DQUOTE;

-}

-<ST_JSP_VBL> \x27 {

-	yybegin(ST_JSP_VBL_SQUOTES);

-	return JSP_VBL_SQUOTE;

-}

-<ST_JSP_VBL_SQUOTES> [^\x27]+/\x27 {

-	yybegin(ST_JSP_VBL_SQUOTES_END);

-	return JSP_VBL_QUOTED_CONTENT;

-}

-<ST_JSP_VBL_SQUOTES_END> \x27 {

-	yybegin(ST_JSP_VBL);

-	return JSP_VBL_SQUOTE;

-}

-

-// unquoted content

-<ST_JSP_EL> ([^}\x27\x22\x24]|\x24[^\x7b\x27\x22])+ {

-	//System.out.println(JSP_EL_CONTENT+ ":[" + yytext() + "]");

-	return JSP_EL_CONTENT;

-}

-<ST_JSP_EL> } {

-	fELlevel--;

-	if(fELlevel == 0) {

-		yybegin(YYINITIAL);

-		return JSP_EL_CLOSE;

-	}

-	return JSP_EL_CONTENT;

-}

-<ST_JSP_VBL> } {

-	fELlevel--;

-	if(fELlevel == 0) {

-		yybegin(YYINITIAL);

-		return JSP_VBL_CLOSE;

-	}

-	return JSP_VBL_CONTENT;

-}

-// EL unquoted in tag (section 2.1 declares it as valid in template text (XML_CONTENT) or attribute values

-<ST_XML_ATTRIBUTE_VALUE> \x24\x7b[^\x7d]+/\x7d {

-	if (Debug.debugTokenizer) {

-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-	}

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	fStateStack.push(yystate());

-	if(yylength() > 2)

-		yypushback(yylength() -2);

-	if(Debug.debugTokenizer)

-		dump("EL in attr value");//$NON-NLS-1$

-	yybegin(ST_JSP_EL);

-	fELlevel++;

-	assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE});

-	fStateStack.pop();

-	yybegin(ST_XML_ATTRIBUTE_NAME);

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-	return PROXY_CONTEXT;

-}

-// VBL unquoted in tag or attribute values

-<ST_XML_ATTRIBUTE_VALUE> \x23\x7b[^\x7d]+/\x7d {

-	if (Debug.debugTokenizer) {

-		System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$

-	}

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-	fStateStack.push(yystate());

-	if(yylength() > 2)

-		yypushback(yylength() -2);

-	if(Debug.debugTokenizer)

-		dump("VBL in attr value");//$NON-NLS-1$

-	yybegin(ST_JSP_VBL);

-	fELlevel++;

-	assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE});

-	fStateStack.pop();

-	yybegin(ST_XML_ATTRIBUTE_NAME);

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-	return PROXY_CONTEXT;

-}

-

-<ST_JSP_COMMENT> .|\r|\n {

-	if(Debug.debugTokenizer)

-		dump("\nJSP comment text");//$NON-NLS-1$

-	return scanJSPCommentText();

-}

-<ST_JSP_COMMENT_END> {jspCommentEnd} {

-	if(Debug.debugTokenizer)

-		dump("\nJSP comment close");//$NON-NLS-1$

-	yybegin(YYINITIAL);

-	return JSP_COMMENT_CLOSE;

-}

-

-// XML misc

-

-{CDStart} {

-	if(Debug.debugTokenizer)

-		dump("\nCDATA start");//$NON-NLS-1$

-	fStateStack.push(yystate());

-	yybegin(ST_CDATA_TEXT);

-	return XML_CDATA_OPEN;

-}

-<ST_CDATA_TEXT> .|\r|\n {

-	if(Debug.debugTokenizer)

-		dump("CDATA text");//$NON-NLS-1$

-	fEmbeddedPostState = ST_CDATA_TEXT;

-	fEmbeddedHint = XML_CDATA_TEXT;

-	String returnedContext = doScan("]]>", false, true, true, XML_CDATA_TEXT, ST_CDATA_END,  ST_CDATA_END);//$NON-NLS-1$

-	if(returnedContext == XML_CDATA_TEXT)

-		yybegin(ST_CDATA_END);

-	return returnedContext;

-}

-<ST_CDATA_END> {CDEnd} {

-	if(Debug.debugTokenizer)

-		dump("CDATA end");//$NON-NLS-1$

-	yybegin(fStateStack.pop());

-	return XML_CDATA_CLOSE;

-}

-

-<YYINITIAL> {PEReference} {

-	if(Debug.debugTokenizer)

-		dump("\nPEReference");//$NON-NLS-1$

-	return XML_PE_REFERENCE;

-}

-<YYINITIAL> {CharRef} {

-	if(Debug.debugTokenizer)

-		dump("\nCharRef");//$NON-NLS-1$

-	return XML_CHAR_REFERENCE;

-}

-<YYINITIAL> {EntityRef} {

-	if(Debug.debugTokenizer)

-		dump("\nEntityRef");//$NON-NLS-1$

-	return XML_ENTITY_REFERENCE;

-}

-

-<YYINITIAL> {PIstart} {

-	if(Debug.debugTokenizer)

-		dump("\nprocessing instruction start");//$NON-NLS-1$

-	yybegin(ST_PI);

-        return XML_PI_OPEN;

-}

-// the next three are order dependent

-<ST_PI> ((X|x)(M|m)(L|l)) {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction target");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);

-        return XML_TAG_NAME;

-}

-<ST_PI> ([iI][mM][pP][oO][rR][tT]) {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction target");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-        yybegin(ST_DHTML_ATTRIBUTE_NAME);

-        return XML_TAG_NAME;

-}

-<ST_PI> {Name} {

-	if(Debug.debugTokenizer)

-		dump("processing instruction target");//$NON-NLS-1$

-	fEmbeddedHint = XML_CONTENT;

-        yybegin(ST_PI_WS);

-        return XML_TAG_NAME;

-}

-<ST_PI_WS> {S}+ {

-        yybegin(ST_PI_CONTENT);

-        return WHITE_SPACE;

-}

-<ST_PI, ST_PI_WS> \?> {

-	if(Debug.debugTokenizer)

-		dump("processing instruction end");//$NON-NLS-1$

-	fEmbeddedHint = UNDEFINED;

-        yybegin(YYINITIAL);

-        return XML_PI_CLOSE;

-}

-<ST_PI_CONTENT> . {

-		// block scan until close is found

-	return doScan("?>", false, false, false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);

-}

-<ST_PI_CONTENT,ST_XML_PI_TAG_CLOSE> \?> {

-		// ended with nothing inside

-		fEmbeddedHint = UNDEFINED;

-        yybegin(YYINITIAL);

-        return XML_PI_CLOSE;

-}

-

-<ST_XML_PI_ATTRIBUTE_NAME, ST_XML_PI_EQUALS> {Name} {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction attribute name");//$NON-NLS-1$

-        yybegin(ST_XML_PI_EQUALS);

-        return XML_TAG_ATTRIBUTE_NAME;

-}

-<ST_XML_PI_EQUALS> {Eq} {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction '='");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-        yybegin(ST_XML_PI_ATTRIBUTE_VALUE);

-        return XML_TAG_ATTRIBUTE_EQUALS;

-}

-/* the value was found, look for the next name */

-<ST_XML_PI_ATTRIBUTE_VALUE> {AttValue} {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction attribute value");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);

-        return XML_TAG_ATTRIBUTE_VALUE;

-}

-/* the PI's close was found */

-<ST_XML_PI_EQUALS, ST_XML_PI_ATTRIBUTE_NAME, ST_XML_PI_ATTRIBUTE_VALUE> {PIend} {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction end");//$NON-NLS-1$

-	fEmbeddedHint = UNDEFINED;

-        yybegin(YYINITIAL);

-        return XML_PI_CLOSE;

-}

-// DHTML

-<ST_DHTML_ATTRIBUTE_NAME, ST_DHTML_EQUALS> {Name} {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction attribute name");//$NON-NLS-1$

-        yybegin(ST_DHTML_EQUALS);

-        return XML_TAG_ATTRIBUTE_NAME;

-}

-<ST_DHTML_EQUALS> {Eq} {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction '='");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE;

-	fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME;

-        yybegin(ST_DHTML_ATTRIBUTE_VALUE);

-        return XML_TAG_ATTRIBUTE_EQUALS;

-}

-/* the value was found, look for the next name */

-<ST_DHTML_ATTRIBUTE_VALUE> {AttValue} | ([\'\"]([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )* ) {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction attribute value");//$NON-NLS-1$

-	fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME;

-	fEmbeddedPostState = ST_XML_EQUALS;

-        yybegin(ST_DHTML_ATTRIBUTE_NAME);

-        return XML_TAG_ATTRIBUTE_VALUE;

-}

-/* The DHTML PI's close was found */

-<ST_DHTML_EQUALS, ST_DHTML_ATTRIBUTE_NAME, ST_DHTML_ATTRIBUTE_VALUE> [/]*> {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction end");//$NON-NLS-1$

-	fEmbeddedHint = UNDEFINED;

-        yybegin(YYINITIAL);

-        return XML_PI_CLOSE;

-}

-

-// XML declarations

-

-<YYINITIAL, ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE> {genericTagOpen}! {

-	fStateStack.push(yystate());

-	if(Debug.debugTokenizer)

-		dump("\ndeclaration start");//$NON-NLS-1$

-        yybegin(ST_XML_DECLARATION);

-	return XML_DECLARATION_OPEN;

-}

-<ST_XML_DECLARATION> [Ee][Ll][Ee][Mm][Ee][Nn][Tt] {

-	if(Debug.debugTokenizer)

-		dump("element");//$NON-NLS-1$

-	yybegin(ST_XML_ELEMENT_DECLARATION);

-	return XML_ELEMENT_DECLARATION;

-}

-<ST_XML_DECLARATION> [Dd][Oo][Cc][Tt][Yy][Pp][Ee] {

-	if(Debug.debugTokenizer)

-		dump("doctype");//$NON-NLS-1$

-	yybegin(ST_XML_DOCTYPE_DECLARATION);

-	return XML_DOCTYPE_DECLARATION;

-}

-<ST_XML_DECLARATION> [Aa][Tt][Tt][Ll][Ii][Ss][Tt] {

-	if(Debug.debugTokenizer)

-		dump("attlist");//$NON-NLS-1$

-	yybegin(ST_XML_ATTLIST_DECLARATION);

-	return XML_ATTLIST_DECLARATION;

-}

-

-// begin DOCTYPE handling procedure

-<ST_XML_DOCTYPE_DECLARATION, ST_XML_DOCTYPE_EXTERNAL_ID, ST_XML_DOCTYPE_ID_SYSTEM, ST_XML_DOCTYPE_ID_PUBLIC, ST_XML_DECLARATION_CLOSE> \[[^\]]*\] {

-	return XML_DOCTYPE_INTERNAL_SUBSET;

-}

-

-<ST_XML_DOCTYPE_DECLARATION> {Name} {

-	if(Debug.debugTokenizer)

-		dump("doctype type");//$NON-NLS-1$

-	yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);

-	return XML_DOCTYPE_NAME;

-}

-<ST_XML_DOCTYPE_EXTERNAL_ID> [Pp][Uu][Bb][Ll][Ii][Cc] {

-	if(Debug.debugTokenizer)

-		dump("doctype external id");//$NON-NLS-1$

-	fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_PUBREF;

-	yybegin(ST_XML_DOCTYPE_ID_PUBLIC);

-	return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;

-}

-<ST_XML_DOCTYPE_EXTERNAL_ID> [Ss][Yy][Ss][Tt][Ee][Mm] {

-	if(Debug.debugTokenizer)

-		dump("doctype external id");//$NON-NLS-1$

-	fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_SYSREF;

-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);

-	return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;

-}

-<ST_XML_DOCTYPE_ID_PUBLIC> {AttValue}|{PubidLiteral} {

-	if(Debug.debugTokenizer)

-		dump("doctype public reference");//$NON-NLS-1$

-	fEmbeddedHint = UNDEFINED;

-	fEmbeddedPostState = YYINITIAL;

-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);

-	return XML_DOCTYPE_EXTERNAL_ID_PUBREF;

-}

-<ST_XML_DOCTYPE_ID_SYSTEM> {AttValue}|{SystemLiteral} {

-	if(Debug.debugTokenizer)

-		dump("doctype system reference");//$NON-NLS-1$

-	fEmbeddedHint = UNDEFINED;

-	fEmbeddedPostState = YYINITIAL;

-	yybegin(ST_XML_DECLARATION_CLOSE);

-	return XML_DOCTYPE_EXTERNAL_ID_SYSREF;

-}

-// end DOCTYPE handling

-

-// begin ELEMENT handling procedure

-<ST_XML_ELEMENT_DECLARATION> {AttValue}|{PubidLiteral} {

-	if(Debug.debugTokenizer)

-		dump("elementdecl name");//$NON-NLS-1$

-	fEmbeddedHint = UNDEFINED;

-	fEmbeddedPostState = YYINITIAL;

-	yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);

-	return XML_ELEMENT_DECL_NAME;

-}

-<ST_XML_ELEMENT_DECLARATION_CONTENT> [^>]* {

-	if(Debug.debugTokenizer)

-		dump("elementdecl contentspec");//$NON-NLS-1$

-	return XML_ELEMENT_DECL_CONTENT;

-}

-

-<ST_XML_ELEMENT_DECLARATION_CONTENT> {genericTagClose} {

-	if(Debug.debugTokenizer)

-		dump("elementdecl close");//$NON-NLS-1$

-	if (Debug.debugTokenizer) {

-		if(fStateStack.peek()!=YYINITIAL)

-			System.out.println("end embedded region");//$NON-NLS-1$

-	}

-	yybegin(fStateStack.pop());

-	return XML_DECLARATION_CLOSE;

-}

-// end ELEMENT handling

-

-// begin ATTLIST handling procedure

-<ST_XML_ATTLIST_DECLARATION> {AttValue}|{PubidLiteral} {

-	if(Debug.debugTokenizer)

-		dump("attlist name");//$NON-NLS-1$

-	fEmbeddedHint = UNDEFINED;

-	fEmbeddedPostState = YYINITIAL;

-	yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);

-	return XML_ATTLIST_DECL_NAME;

-}

-<ST_XML_ATTLIST_DECLARATION_CONTENT> [^>]* {

-	if(Debug.debugTokenizer)

-		dump("attlist contentspec");//$NON-NLS-1$

-	return XML_ATTLIST_DECL_CONTENT;

-}

-

-<ST_XML_ATTLIST_DECLARATION_CONTENT> {genericTagClose} {

-	if(Debug.debugTokenizer)

-		dump("attlist close");//$NON-NLS-1$

-	if (Debug.debugTokenizer) {

-		if(fStateStack.peek()!=YYINITIAL)

-			System.out.println("end embedded region");//$NON-NLS-1$

-	}

-	yybegin(fStateStack.pop());

-	return XML_DECLARATION_CLOSE;

-}

-// end ATTLIST handling

-

-<ST_XML_DECLARATION, ST_XML_DOCTYPE_DECLARATION, ST_XML_DOCTYPE_EXTERNAL_ID, ST_XML_ATTLIST_DECLARATION, ST_XML_ELEMENT_DECLARATION, ST_XML_DECLARATION_CLOSE, ST_XML_DOCTYPE_ID_PUBLIC, ST_XML_DOCTYPE_ID_SYSTEM, ST_XML_DOCTYPE_EXTERNAL_ID> {genericTagClose} {

-	if(Debug.debugTokenizer)

-		dump("declaration end");//$NON-NLS-1$

-	if (Debug.debugTokenizer) {

-		if(fStateStack.peek()!=YYINITIAL)

-			System.out.println("end embedded region");//$NON-NLS-1$

-	}

-	yybegin(fStateStack.pop());

-	return XML_DECLARATION_CLOSE;

-}

-// end DECLARATION handling

-

-<YYINITIAL> ([^<&%\x24\x23]*|\x23+|\x24+|[&%]{S}+{Name}[^&%<]*|[\x24\x23][^\x7b<&%]|[&%]{Name}([^;&%<]*|{S}+;*)) {

-	if(Debug.debugTokenizer)

-		dump("\nXML content");//$NON-NLS-1$

-	return XML_CONTENT;

-}

-

-

-<ST_BLOCK_TAG_SCAN> .|\r|\n {

-		return doBlockTagScan();

-	}

-

-. {

-	if (Debug.debugTokenizer)

-		System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$

-			yychar + "-" + (yychar + yylength()));//$NON-NLS-1$

-	return UNDEFINED;

-}

-

-\040 {

-	if(Debug.debugTokenizer)

-		dump("SPACE");//$NON-NLS-1$

-	return WHITE_SPACE;

-}

-\011 {

-	if(Debug.debugTokenizer)

-		dump("0x9");//$NON-NLS-1$

-	return WHITE_SPACE;

-}

-\015 

-{

-	if(Debug.debugTokenizer)

-		dump("CARRIAGE RETURN");//$NON-NLS-1$

-	return WHITE_SPACE;

-}

-\012 {

-	if(Debug.debugTokenizer)

-		dump("LINE FEED");//$NON-NLS-1$

-	return WHITE_SPACE;

-}

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.java
deleted file mode 100644
index 0943d20..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.java
+++ /dev/null
@@ -1,1882 +0,0 @@
-/* The following code was generated by JFlex 1.2.2 on 1/27/05 4:48 PM */
-
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.wst.xml.core.internal.parser;
-
-import java.io.CharArrayReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.BlockTokenizer;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.Logger;
-import org.eclipse.wst.xml.core.internal.parser.regions.XMLParserRegionFactory;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 1/27/05 4:48 PM from the specification file
- * <tt>file:/D:/eclipse.wtp/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex</tt>
- */
-public class XMLTokenizer implements BlockTokenizer, XMLRegionContext {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int ST_XML_DOCTYPE_EXTERNAL_ID = 23;
-  final public static int ST_XML_ELEMENT_DECLARATION_CONTENT = 27;
-  final public static int ST_DHTML_ATTRIBUTE_NAME = 12;
-  final public static int ST_XML_PI_TAG_CLOSE = 11;
-  final public static int ST_XML_DECLARATION_CLOSE = 21;
-  final public static int ST_XML_PI_ATTRIBUTE_VALUE = 10;
-  final public static int ST_DHTML_EQUALS = 13;
-  final public static int ST_XML_TAG_NAME = 16;
-  final public static int ST_XML_ATTRIBUTE_VALUE = 19;
-  final public static int ST_DHTML_ATTRIBUTE_VALUE = 14;
-  final public static int ST_XML_DOCTYPE_ID_SYSTEM = 25;
-  final public static int ST_XML_ATTRIBUTE_NAME = 17;
-  final public static int ST_XML_ELEMENT_DECLARATION = 26;
-  final public static int ST_XML_DOCTYPE_DECLARATION = 22;
-  final public static int ST_XML_ATTLIST_DECLARATION = 28;
-  final public static int ST_XML_COMMENT_END = 4;
-  final public static int ST_CDATA_TEXT = 1;
-  final public static int ST_DHTML_TAG_CLOSE = 15;
-  final public static int ST_XML_COMMENT = 3;
-  final public static int ST_PI_CONTENT = 7;
-  final public static int ST_PI_WS = 6;
-  final public static int ST_CDATA_END = 2;
-  final public static int ST_XML_ATTLIST_DECLARATION_CONTENT = 29;
-  final public static int ST_BLOCK_TAG_SCAN = 30;
-  final public static int ST_XML_PI_EQUALS = 9;
-  final public static int ST_XML_DECLARATION = 20;
-  final public static int YYINITIAL = 0;
-  final public static int ST_XML_DOCTYPE_ID_PUBLIC = 24;
-  final public static int ST_XML_EQUALS = 18;
-  final public static int ST_PI = 5;
-  final public static int ST_XML_PI_ATTRIBUTE_NAME = 8;
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\5\1\22\2\0\1\14\22\0\1\14\1\21\1\11\1\51"+
-    "\1\16\1\17\1\12\1\13\1\16\1\16\1\16\1\16\1\16\1\7"+
-    "\1\6\1\3\12\15\1\10\1\54\1\1\1\43\1\2\1\4\1\16"+
-    "\1\32\1\55\1\30\1\31\1\35\1\52\1\34\1\34\1\40\1\34"+
-    "\1\34\1\26\1\25\1\42\1\41\1\45\1\34\1\36\1\37\1\33"+
-    "\1\53\2\34\1\23\1\44\1\34\1\27\1\0\1\20\1\0\1\10"+
-    "\1\0\1\47\1\55\1\56\1\50\1\35\1\52\1\34\1\34\1\40"+
-    "\2\34\1\26\1\25\1\42\1\41\1\45\1\34\1\36\1\37\1\46"+
-    "\1\53\1\34\1\34\1\24\1\44\1\34\1\0\1\0\72\0\1\60"+
-    "\10\0\27\57\1\0\37\57\1\0\72\57\2\0\13\57\2\0\10\57"+
-    "\1\0\65\57\1\0\104\57\11\0\44\57\3\0\2\57\4\0\36\57"+
-    "\70\0\131\57\22\0\7\57\16\0\2\60\56\0\106\60\32\0\2\60"+
-    "\44\0\1\57\1\60\3\57\1\0\1\57\1\0\24\57\1\0\54\57"+
-    "\1\0\7\57\3\0\1\57\1\0\1\57\1\0\1\57\1\0\1\57"+
-    "\1\0\22\57\15\0\14\57\1\0\102\57\1\0\14\57\1\0\44\57"+
-    "\1\0\4\60\11\0\65\57\2\0\2\57\2\0\2\57\3\0\34\57"+
-    "\2\0\10\57\2\0\2\57\67\0\46\57\2\0\1\57\7\0\46\57"+
-    "\12\0\21\60\1\0\27\60\1\0\3\60\1\0\1\60\1\0\2\60"+
-    "\1\0\1\60\13\0\33\57\5\0\3\57\56\0\32\57\5\0\1\60"+
-    "\12\57\10\60\15\0\12\60\6\0\1\60\107\57\2\0\5\57\1\0"+
-    "\17\57\1\0\4\57\1\0\1\57\17\60\2\57\2\60\1\0\4\60"+
-    "\2\0\12\60\u0207\0\3\60\1\0\65\57\2\0\1\60\1\57\20\60"+
-    "\3\0\4\60\3\0\12\57\2\60\2\0\12\60\21\0\3\60\1\0"+
-    "\10\57\2\0\2\57\2\0\26\57\1\0\7\57\1\0\1\57\3\0"+
-    "\4\57\2\0\1\60\1\0\7\60\2\0\2\60\2\0\3\60\11\0"+
-    "\1\60\4\0\2\57\1\0\3\57\2\60\2\0\12\60\2\57\20\0"+
-    "\1\60\2\0\6\57\4\0\2\57\2\0\26\57\1\0\7\57\1\0"+
-    "\2\57\1\0\2\57\1\0\2\57\2\0\1\60\1\0\5\60\4\0"+
-    "\2\60\2\0\3\60\13\0\4\57\1\0\1\57\7\0\12\60\2\60"+
-    "\3\57\14\0\3\60\1\0\7\57\1\0\1\57\1\0\3\57\1\0"+
-    "\26\57\1\0\7\57\1\0\2\57\1\0\5\57\2\0\1\60\1\57"+
-    "\10\60\1\0\3\60\1\0\3\60\22\0\1\57\5\0\12\60\21\0"+
-    "\3\60\1\0\10\57\2\0\2\57\2\0\26\57\1\0\7\57\1\0"+
-    "\2\57\2\0\4\57\2\0\1\60\1\57\6\60\3\0\2\60\2\0"+
-    "\3\60\10\0\2\60\4\0\2\57\1\0\3\57\4\0\12\60\22\0"+
-    "\2\60\1\0\6\57\3\0\3\57\1\0\4\57\3\0\2\57\1\0"+
-    "\1\57\1\0\2\57\3\0\2\57\3\0\3\57\3\0\10\57\1\0"+
-    "\3\57\4\0\5\60\3\0\3\60\1\0\4\60\11\0\1\60\17\0"+
-    "\11\60\21\0\3\60\1\0\10\57\1\0\3\57\1\0\27\57\1\0"+
-    "\12\57\1\0\5\57\4\0\7\60\1\0\3\60\1\0\4\60\7\0"+
-    "\2\60\11\0\2\57\4\0\12\60\22\0\2\60\1\0\10\57\1\0"+
-    "\3\57\1\0\27\57\1\0\12\57\1\0\5\57\4\0\7\60\1\0"+
-    "\3\60\1\0\4\60\7\0\2\60\7\0\1\57\1\0\2\57\4\0"+
-    "\12\60\22\0\2\60\1\0\10\57\1\0\3\57\1\0\27\57\1\0"+
-    "\20\57\4\0\6\60\2\0\3\60\1\0\4\60\11\0\1\60\10\0"+
-    "\2\57\4\0\12\60\221\0\56\57\1\0\1\57\1\60\2\57\7\60"+
-    "\5\0\6\57\1\60\10\60\1\0\12\60\47\0\2\57\1\0\1\57"+
-    "\2\0\2\57\1\0\1\57\2\0\1\57\6\0\4\57\1\0\7\57"+
-    "\1\0\3\57\1\0\1\57\1\0\1\57\2\0\2\57\1\0\2\57"+
-    "\1\0\1\57\1\60\2\57\6\60\1\0\2\60\1\57\2\0\5\57"+
-    "\1\0\1\60\1\0\6\60\2\0\12\60\76\0\2\60\6\0\12\60"+
-    "\13\0\1\60\1\0\1\60\1\0\1\60\4\0\2\60\10\57\1\0"+
-    "\41\57\7\0\24\60\1\0\6\60\4\0\6\60\1\0\1\60\1\0"+
-    "\25\60\3\0\7\60\1\0\1\60\346\0\46\57\12\0\47\57\11\0"+
-    "\1\57\1\0\2\57\1\0\3\57\1\0\1\57\1\0\2\57\1\0"+
-    "\5\57\51\0\1\57\1\0\1\57\1\0\1\57\13\0\1\57\1\0"+
-    "\1\57\1\0\1\57\3\0\2\57\3\0\1\57\5\0\3\57\1\0"+
-    "\1\57\1\0\1\57\1\0\1\57\1\0\1\57\3\0\2\57\3\0"+
-    "\2\57\1\0\1\57\50\0\1\57\11\0\1\57\2\0\1\57\2\0"+
-    "\2\57\7\0\2\57\1\0\1\57\1\0\7\57\50\0\1\57\4\0"+
-    "\1\57\10\0\1\57\u0c06\0\234\57\4\0\132\57\6\0\26\57\2\0"+
-    "\6\57\2\0\46\57\2\0\6\57\2\0\10\57\1\0\1\57\1\0"+
-    "\1\57\1\0\1\57\1\0\37\57\2\0\65\57\1\0\7\57\1\0"+
-    "\1\57\3\0\3\57\1\0\7\57\3\0\4\57\2\0\6\57\4\0"+
-    "\15\57\5\0\3\57\1\0\7\57\323\0\15\60\4\0\1\60\104\0"+
-    "\1\57\3\0\2\57\2\0\1\57\121\0\3\57\u0e82\0\1\60\1\0"+
-    "\1\57\31\0\11\57\6\60\1\0\5\60\13\0\124\57\4\0\2\60"+
-    "\2\0\2\60\2\0\132\57\1\0\3\60\6\0\50\57\u1cd3\0\u51a6\57"+
-    "\u0c5a\0\u2ba4\57\134\0\u0800\0\u1ffe\0\2\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  final private static int yy_rowMap [] = { 
-        0,    49,    98,   147,   196,   245,   294,   343,   392,   441, 
-      490,   539,   588,   637,   686,   735,   784,   833,   882,   931, 
-      980,  1029,  1078,  1127,  1176,  1225,  1274,  1323,  1372,  1421, 
-     1470,  1519,  1568,  1617,  1666,  1715,  1764,  1715,  1764,  1813, 
-     1715,  1715,  1764,  1862,  1911,  1960,  2009,  2058,  2107,  2156, 
-     1715,  1764,  2205,  2254,  2303,  1715,  2352,  2352,  2401,  2450, 
-     2499,  2205,  1715,  2548,  2597,  1715,  2646,  2695,  2744,  2793, 
-     2842,  2891,  1715,  2940,  2989,  3038,  3087,  1715,  3136,  3185, 
-     3234,  3283,  3332,  1715,  3381,  3430,  3479,  3528,  3577,  3626, 
-     3675,  3724,  3724,  3773,  3822,  3871,  3920,  3920,  3969,  4018, 
-     4067,  4116,  4116,  4165,  4214,  4263,  4312,  1715,  4361,  4361, 
-     4410,  4459,  4508,  4557,  1715,  1715,  1764,  1715,  1715,  4606, 
-     4655,  4704,  4753,  4802,  4851,  4900,  4949,  1715,  4998,  5047, 
-     1715,  1715,  2352,  5096,  2450,  1715,  5145,  2499,  2548,  2646, 
-     2695,  5194,  2744,  1715,  5243,  2793,  1715,  3136,  5292,  3234, 
-     1715,  5341,  3283,  4606,  5390,  5439,  5488,  3528,  1715,  5537, 
-     5586,  3724,  5635,  3773,  1715,  5684,  5733,  5782,  5782,  5831, 
-     5880,  3871,  3724,  3920,  5929,  3969,  1715,  5978,  4018,  4067, 
-     3920,  4116,  6027,  4165,  1715,  6076,  6125,  6174,  6174,  6223, 
-     6272,  6321,  4361,  6370,  4410,  1715,  6419,  6468,  6517,  6517, 
-     6566,  6615,  6664,  6713,  6762,  6811,  6860,  1715,  6909,  6958, 
-     1715,  1715,  1715,  2009,  7007,  7056,  7105,  7154,  7203,  7252, 
-     5684,  7301,  7301,  6076,  7350,  7350,  7399,  6419,  7448,  7448, 
-     7497,  1715,  7546,  7595,  1715,  7644,  7693,  7742,  7791,  7840, 
-     7889,  7938,  5831,  6223,  7987,  6566,  8036,  8085,  8134,  8183, 
-     8232,  8281,  8330,  8379,  8428,  8477,  8526,  8575,  8624,  8673, 
-     8722,  1715,  1715,  8771,  8820,  8869,  8918,  1715,  1715,  1715, 
-     8967,  9016,  9065,  9114,  9163,  1715,  4263,  4508
-  };
-
-  /** 
-   * The packed transition table of the DFA
-   */
-  final private static String yy_packed = 
-    "\1\40\1\41\10\40\1\42\4\40\1\43\41\40\1\44"+
-    "\1\45\57\44\1\46\1\47\16\46\1\50\1\46\1\51"+
-    "\36\46\1\52\1\53\57\52\1\46\1\47\5\46\1\54"+
-    "\12\46\1\51\37\46\1\47\2\46\1\55\1\56\2\46"+
-    "\1\57\3\46\1\56\5\46\1\56\2\60\2\57\1\46"+
-    "\10\57\1\61\2\57\1\46\5\57\1\46\2\57\1\46"+
-    "\3\57\2\46\1\47\2\46\1\55\1\62\6\46\1\62"+
-    "\5\46\1\62\36\46\1\63\1\64\2\63\1\65\15\63"+
-    "\1\51\36\63\1\46\1\47\2\46\1\66\1\56\2\46"+
-    "\1\67\3\46\1\56\5\46\1\56\4\67\1\46\13\67"+
-    "\1\46\5\67\1\46\2\67\1\46\3\67\2\46\1\47"+
-    "\2\46\1\66\1\56\2\46\1\67\3\46\1\56\5\46"+
-    "\1\56\4\67\1\46\13\67\1\70\5\67\1\46\2\67"+
-    "\1\46\3\67\1\46\1\71\1\47\1\46\1\72\1\73"+
-    "\1\56\3\71\1\74\1\71\1\75\1\56\5\71\1\56"+
-    "\36\71\1\46\1\47\2\46\1\76\15\46\1\51\37\46"+
-    "\1\47\1\77\1\100\1\46\1\56\2\46\1\101\3\46"+
-    "\1\56\5\46\1\56\4\101\1\46\13\101\1\46\5\101"+
-    "\1\46\2\101\1\46\3\101\2\46\1\47\1\77\1\100"+
-    "\1\46\1\56\2\46\1\101\3\46\1\56\5\46\1\56"+
-    "\4\101\1\46\13\101\1\102\5\101\1\46\2\101\1\46"+
-    "\3\101\1\46\1\103\1\47\1\77\1\104\1\103\1\56"+
-    "\3\103\1\105\1\103\1\106\1\56\5\103\1\56\36\103"+
-    "\1\46\1\47\3\46\1\56\6\46\1\56\5\46\1\56"+
-    "\36\46\1\107\1\110\1\111\1\112\4\107\1\113\12\107"+
-    "\4\114\1\107\13\114\1\107\5\114\1\107\2\114\1\107"+
-    "\3\114\1\107\1\46\1\110\1\111\1\112\1\46\1\56"+
-    "\2\46\1\115\3\46\1\56\5\46\1\56\4\115\1\46"+
-    "\13\115\1\46\5\115\1\46\2\115\1\46\3\115\2\46"+
-    "\1\110\1\111\1\112\1\46\1\56\2\46\1\115\3\46"+
-    "\1\56\5\46\1\56\4\115\1\46\13\115\1\116\5\115"+
-    "\1\46\2\115\1\46\3\115\1\46\1\117\1\110\1\111"+
-    "\1\120\1\117\1\56\3\117\1\121\1\117\1\122\1\56"+
-    "\5\117\1\56\36\117\1\46\1\123\1\124\2\46\1\56"+
-    "\6\46\1\56\5\46\1\56\6\46\1\125\1\126\2\46"+
-    "\1\127\11\46\1\126\1\125\11\46\1\47\1\124\2\46"+
-    "\1\56\6\46\1\56\5\46\1\56\4\46\1\130\32\46"+
-    "\1\47\1\124\2\46\1\56\2\46\1\131\3\46\1\56"+
-    "\5\46\1\56\4\131\1\130\13\131\1\46\5\131\1\46"+
-    "\2\131\1\46\3\131\2\46\1\47\1\124\2\46\1\56"+
-    "\6\46\1\56\5\46\1\56\4\46\1\130\7\46\1\132"+
-    "\5\46\1\133\13\46\1\134\1\47\1\124\1\135\1\134"+
-    "\1\56\3\134\1\136\1\134\1\137\1\56\5\134\1\56"+
-    "\4\134\1\140\31\134\1\141\1\47\1\124\1\142\1\141"+
-    "\1\56\3\141\1\143\1\141\1\144\1\56\5\141\1\56"+
-    "\4\141\1\145\31\141\1\146\1\47\1\124\1\147\1\146"+
-    "\1\56\3\146\1\150\1\146\1\151\1\56\5\146\1\56"+
-    "\36\146\1\152\1\153\1\154\56\152\1\155\1\47\1\124"+
-    "\1\156\1\155\1\56\3\155\1\157\1\155\1\160\1\56"+
-    "\5\155\1\56\36\155\1\161\1\162\1\163\56\161\1\164"+
-    "\1\165\57\164\1\40\1\0\10\40\1\0\4\40\1\0"+
-    "\41\40\3\0\1\166\1\167\14\0\1\170\44\0\1\171"+
-    "\2\0\1\172\3\0\1\171\5\0\1\171\4\172\1\0"+
-    "\13\172\1\0\5\172\1\173\2\172\1\0\3\172\6\0"+
-    "\1\171\2\0\1\174\3\0\1\171\5\0\1\171\4\174"+
-    "\1\0\13\174\1\0\5\174\1\0\2\174\1\0\3\174"+
-    "\103\0\1\175\57\0\1\176\47\0\1\177\53\0\1\200"+
-    "\63\0\1\56\6\0\1\56\5\0\1\56\44\0\3\57"+
-    "\4\0\1\57\5\0\4\57\1\0\13\57\1\0\5\57"+
-    "\1\0\2\57\1\0\4\57\6\0\3\57\4\0\1\57"+
-    "\5\0\2\57\1\201\1\57\1\0\13\57\1\0\5\57"+
-    "\1\0\2\57\1\0\4\57\6\0\3\57\4\0\1\57"+
-    "\5\0\2\57\1\202\1\57\1\0\13\57\1\0\5\57"+
-    "\1\0\2\57\1\0\4\57\5\0\1\62\6\0\1\62"+
-    "\5\0\1\62\40\0\1\203\60\0\1\204\64\0\3\67"+
-    "\4\0\1\67\5\0\4\67\1\0\13\67\1\0\5\67"+
-    "\1\0\2\67\1\0\4\67\1\71\2\0\1\205\1\71"+
-    "\1\0\3\71\1\0\1\71\2\0\5\71\1\0\37\71"+
-    "\1\0\1\204\1\205\1\71\1\0\3\71\1\0\1\71"+
-    "\2\0\5\71\1\0\36\71\1\74\1\0\1\206\1\207"+
-    "\1\74\1\206\3\74\1\210\1\74\2\206\5\74\1\206"+
-    "\36\74\1\75\1\0\1\211\1\212\1\75\1\211\3\75"+
-    "\1\211\1\75\1\210\1\211\5\75\1\211\36\75\2\0"+
-    "\1\77\1\213\63\0\3\101\4\0\1\101\5\0\4\101"+
-    "\1\0\13\101\1\0\5\101\1\0\2\101\1\0\4\101"+
-    "\1\103\2\0\1\214\1\103\1\0\3\103\1\0\1\103"+
-    "\2\0\5\103\1\0\37\103\1\0\1\77\1\215\1\103"+
-    "\1\0\3\103\1\0\1\103\2\0\5\103\1\0\36\103"+
-    "\1\105\1\0\1\216\1\217\1\105\1\216\3\105\1\220"+
-    "\1\105\2\216\5\105\1\216\36\105\1\106\1\0\1\221"+
-    "\1\222\1\106\1\221\3\106\1\221\1\106\1\220\1\221"+
-    "\5\106\1\221\36\106\1\107\3\0\17\107\4\0\1\107"+
-    "\13\0\1\107\5\0\1\107\2\0\1\107\3\0\1\107"+
-    "\3\0\1\166\15\0\1\170\41\0\1\223\56\0\1\107"+
-    "\3\0\2\107\3\113\4\107\1\113\5\107\4\114\1\107"+
-    "\13\114\1\107\5\114\1\107\2\114\1\107\3\114\1\113"+
-    "\6\0\3\114\4\0\1\114\5\0\4\114\1\0\13\114"+
-    "\1\0\5\114\1\0\2\114\1\0\4\114\6\0\3\115"+
-    "\4\0\1\115\5\0\4\115\1\0\13\115\1\0\5\115"+
-    "\1\0\2\115\1\0\4\115\1\117\2\0\1\224\1\117"+
-    "\1\0\3\117\1\0\1\117\2\0\5\117\1\0\37\117"+
-    "\1\0\1\223\1\224\1\117\1\0\3\117\1\0\1\117"+
-    "\2\0\5\117\1\0\36\117\1\121\1\0\1\225\1\226"+
-    "\1\121\1\225\3\121\1\227\1\121\2\225\5\121\1\225"+
-    "\36\121\1\122\1\0\1\230\1\231\1\122\1\230\3\122"+
-    "\1\230\1\122\1\227\1\230\5\122\1\230\36\122\3\0"+
-    "\1\166\15\0\1\232\100\0\1\233\52\0\1\234\12\0"+
-    "\1\234\40\0\1\235\32\0\20\236\1\237\40\236\6\0"+
-    "\3\131\4\0\1\131\5\0\4\131\1\0\13\131\1\0"+
-    "\5\131\1\0\2\131\1\0\4\131\44\0\1\240\67\0"+
-    "\1\241\5\0\1\134\2\0\1\242\1\134\1\0\3\134"+
-    "\1\0\1\134\2\0\5\134\1\0\36\134\1\136\1\0"+
-    "\1\243\1\244\1\136\1\243\3\136\1\245\1\136\2\243"+
-    "\5\136\1\243\36\136\1\246\1\0\1\247\1\250\1\251"+
-    "\1\247\3\251\1\247\1\246\1\252\1\253\3\251\1\246"+
-    "\1\251\1\253\4\251\1\246\27\251\2\246\1\140\2\236"+
-    "\1\254\1\140\1\236\3\140\1\236\1\140\2\236\3\140"+
-    "\1\255\1\140\1\236\36\140\1\141\2\0\1\256\1\141"+
-    "\1\0\3\141\1\0\1\141\2\0\5\141\1\0\36\141"+
-    "\1\143\2\257\1\260\1\143\1\257\3\143\1\261\1\143"+
-    "\2\257\5\143\1\257\36\143\1\144\2\262\1\263\1\144"+
-    "\1\262\3\144\1\262\1\144\1\261\1\262\5\144\1\262"+
-    "\36\144\1\145\2\236\1\264\1\145\1\236\3\145\1\236"+
-    "\1\145\2\236\3\145\1\265\1\145\1\236\36\145\1\146"+
-    "\2\0\1\266\1\146\1\0\3\146\1\0\1\146\2\0"+
-    "\5\146\1\0\36\146\1\150\1\0\1\267\1\270\1\150"+
-    "\1\267\3\150\1\271\1\150\2\267\5\150\1\267\36\150"+
-    "\1\272\1\0\1\273\1\274\1\275\1\273\3\275\1\273"+
-    "\1\272\1\276\1\277\3\275\1\272\1\275\1\277\4\275"+
-    "\1\272\27\275\2\272\2\152\1\0\60\152\1\0\16\152"+
-    "\1\300\37\152\1\155\2\0\1\301\1\155\1\0\3\155"+
-    "\1\0\1\155\2\0\5\155\1\0\36\155\1\157\1\0"+
-    "\1\302\1\303\1\157\1\302\3\157\1\304\1\157\2\302"+
-    "\5\157\1\302\36\157\1\305\1\0\1\306\1\307\1\310"+
-    "\1\306\3\310\1\306\1\305\1\311\1\312\3\310\1\305"+
-    "\1\310\1\312\4\310\1\305\27\310\2\305\2\161\1\0"+
-    "\60\161\1\0\16\161\1\313\37\161\7\0\1\314\17\0"+
-    "\1\315\36\0\1\171\2\0\1\40\3\0\1\171\5\0"+
-    "\1\171\4\40\1\0\13\40\1\0\5\40\1\0\2\40"+
-    "\1\0\3\40\1\0\1\316\1\0\3\316\1\317\3\172"+
-    "\1\316\1\0\1\316\1\317\1\172\1\316\1\0\2\316"+
-    "\1\317\4\172\1\316\13\172\1\316\5\172\1\316\2\172"+
-    "\1\320\4\172\15\0\1\321\6\0\1\322\34\0\1\316"+
-    "\1\0\3\316\1\317\3\174\1\316\1\0\1\316\1\317"+
-    "\1\174\1\316\1\0\2\316\1\317\4\174\1\316\13\174"+
-    "\1\316\5\174\1\316\2\174\1\323\4\174\27\0\1\315"+
-    "\33\0\1\324\60\0\1\325\64\0\3\57\4\0\1\57"+
-    "\5\0\3\57\1\326\1\0\13\57\1\0\5\57\1\0"+
-    "\2\57\1\0\4\57\6\0\3\57\4\0\1\57\5\0"+
-    "\4\57\1\0\13\57\1\0\1\57\1\327\3\57\1\0"+
-    "\2\57\1\0\4\57\1\206\1\0\7\206\1\210\47\206"+
-    "\1\211\1\0\11\211\1\210\45\211\1\216\1\0\7\216"+
-    "\1\220\47\216\1\221\1\0\11\221\1\220\45\221\1\225"+
-    "\1\0\7\225\1\227\47\225\1\230\1\0\11\230\1\227"+
-    "\45\230\30\0\1\330\25\0\1\330\35\0\1\331\12\0"+
-    "\1\331\47\0\1\332\62\0\1\333\76\0\1\334\3\0"+
-    "\1\243\1\0\7\243\1\245\47\243\1\246\1\0\1\247"+
-    "\1\335\1\246\1\247\3\246\1\247\1\246\1\245\1\247"+
-    "\5\246\1\247\36\246\1\247\1\0\11\247\1\245\45\247"+
-    "\1\246\1\0\1\247\1\335\1\246\1\247\3\246\1\247"+
-    "\1\246\1\336\1\247\5\246\1\247\36\246\13\0\1\337"+
-    "\45\0\1\247\1\0\11\247\1\336\45\247\11\257\1\261"+
-    "\47\257\13\262\1\261\45\262\1\267\1\0\7\267\1\271"+
-    "\47\267\1\272\1\0\1\273\1\340\1\272\1\273\3\272"+
-    "\1\273\1\272\1\271\1\273\5\272\1\273\36\272\1\273"+
-    "\1\0\11\273\1\271\45\273\1\272\1\0\1\273\1\340"+
-    "\1\272\1\273\3\272\1\273\1\272\1\341\1\273\5\272"+
-    "\1\273\36\272\13\0\1\342\45\0\1\273\1\0\11\273"+
-    "\1\341\45\273\2\152\1\0\24\152\1\343\31\152\1\302"+
-    "\1\0\7\302\1\304\47\302\1\305\1\0\1\306\1\344"+
-    "\1\305\1\306\3\305\1\306\1\305\1\304\1\306\5\305"+
-    "\1\306\36\305\1\306\1\0\11\306\1\304\45\306\1\305"+
-    "\1\0\1\306\1\344\1\305\1\306\3\305\1\306\1\305"+
-    "\1\345\1\306\5\305\1\306\36\305\13\0\1\346\45\0"+
-    "\1\306\1\0\11\306\1\345\45\306\2\161\1\0\24\161"+
-    "\1\347\31\161\7\0\1\350\101\0\1\351\30\0\1\316"+
-    "\1\0\10\316\1\0\4\316\1\0\34\316\1\0\5\316"+
-    "\1\0\3\316\1\317\4\316\1\0\1\316\1\317\2\316"+
-    "\1\0\2\316\1\317\31\316\1\352\4\316\15\0\1\321"+
-    "\36\0\1\353\21\0\1\354\12\0\3\354\2\0\1\354"+
-    "\11\0\2\354\1\0\1\354\2\0\2\354\10\0\3\57"+
-    "\4\0\1\57\5\0\4\57\1\0\11\57\1\355\1\57"+
-    "\1\0\5\57\1\0\2\57\1\0\4\57\33\0\1\356"+
-    "\12\0\1\356\40\0\1\357\57\0\1\360\66\0\1\361"+
-    "\12\0\1\361\40\0\1\362\35\0\2\363\1\0\3\363"+
-    "\2\0\1\252\4\363\1\0\6\363\1\0\27\363\5\0"+
-    "\2\364\1\0\3\364\2\0\1\276\4\364\1\0\6\364"+
-    "\1\0\27\364\2\0\2\152\1\0\25\152\1\365\30\152"+
-    "\3\0\2\366\1\0\3\366\2\0\1\311\4\366\1\0"+
-    "\6\366\1\0\27\366\2\0\2\161\1\0\25\161\1\367"+
-    "\30\161\31\0\1\370\103\0\1\352\21\0\1\354\12\0"+
-    "\3\354\2\0\1\354\11\0\2\354\1\0\1\354\1\0"+
-    "\1\353\2\354\10\0\3\57\4\0\1\57\5\0\4\57"+
-    "\1\0\6\57\1\371\4\57\1\0\5\57\1\0\2\57"+
-    "\1\0\4\57\44\0\1\372\54\0\1\373\55\0\1\374"+
-    "\60\0\1\375\63\0\1\376\20\0\2\152\1\0\26\152"+
-    "\1\377\27\152\2\161\1\0\26\161\1\u0100\27\161\32\0"+
-    "\1\u0101\34\0\3\57\4\0\1\57\5\0\4\57\1\0"+
-    "\3\57\1\u0102\7\57\1\0\2\57\1\u0102\2\57\1\0"+
-    "\2\57\1\0\4\57\45\0\1\u0103\52\0\1\u0104\63\0"+
-    "\1\u0105\43\0\1\u0106\63\0\1\u0107\25\0\1\u0107\2\0"+
-    "\2\152\1\0\27\152\1\u0108\26\152\2\161\1\0\27\161"+
-    "\1\u0109\26\161\33\0\1\u010a\32\0\1\u010b\3\57\3\0"+
-    "\1\u010b\1\57\4\0\1\u010b\4\57\1\0\13\57\1\0"+
-    "\5\57\1\0\2\57\1\0\4\57\35\0\1\u010c\56\0"+
-    "\1\u010d\12\0\1\u010d\45\0\1\u010e\12\0\1\u010e\12\0"+
-    "\2\152\1\0\30\152\1\u010f\25\152\2\161\1\0\30\161"+
-    "\1\u0110\25\161\32\0\1\u0111\33\0\1\u010b\6\0\1\u010b"+
-    "\5\0\1\u010b\36\0\2\152\1\0\27\152\1\u0112\26\152"+
-    "\2\161\1\0\27\161\1\u0113\26\161\27\0\1\u0114\31\0"+
-    "\2\152\1\0\24\152\1\u0115\31\152\2\161\1\0\24\161"+
-    "\1\u0116\31\161";
-
-  /** 
-   * The transition table of the DFA
-   */
-  final private static int yytrans [] = yy_unpack(yy_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  // final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",		//$NON-NLS-1$
-    "Internal error: unknown state",		//$NON-NLS-1$
-    "Error: could not match input",		//$NON-NLS-1$
-    "Error: pushback value was too large"	//$NON-NLS-1$
-  };
-
-  /**
-   * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private final static byte YY_ATTRIBUTE[] = {
-     1,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  0,  1,  1,  1,  1, 
-     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1, 
-     1,  1,  1,  9,  1,  9,  1,  1,  9,  9,  1,  1,  1,  1,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1,  1,  9,  1, 
-     1,  9,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  9,  1,  1, 
-     1,  1,  1,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
-     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1, 
-     1,  1,  9,  9,  1,  9,  9,  1,  0,  1,  0,  1,  0,  0,  0,  9, 
-     1,  1,  9,  9,  0,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,  9, 
-     0,  0,  9,  0,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,  9,  0, 
-     0,  0,  0,  0,  9,  1,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0, 
-     9,  0,  0,  0,  1,  0,  0,  0,  9,  1,  0,  0,  1,  1,  0,  1, 
-     0,  0,  0,  9,  1,  0,  0,  1,  1,  0,  1,  0,  0,  1,  1,  9, 
-     0,  0,  9,  9,  9,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0, 
-     1,  0,  1,  0,  1,  0,  1,  9,  0,  1,  9,  0,  1,  0,  0,  0, 
-     0,  0,  0,  0,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  1, 
-     0,  1,  0,  0,  0,  9,  9,  1,  1,  0,  1,  9,  9,  9,  1,  1, 
-     0,  1,  1,  9,  1,  1
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  // private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  // private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-	private int fTokenCount = 0;
- 
-	// required holders for white-space compacting
-	private boolean fShouldLoadBuffered = false;
-	private String fBufferedContext = null;
-	private int fBufferedStart = 1;
-	private int fBufferedLength = 0;
-	private String f_context = null;
-
-	// state stack for handling embedded regions
-	private IntStack fStateStack = new IntStack();
-
-	private String context = null;
-	private int start = 0;
-	private int textLength = 0;
-	private int length = 0;
-
-	// offset for tracking position specific block tags
-	private int fOffset = 0;
-	
-	// the name of the current tag being opened
-	private String fCurrentTagName = null;
-
-	// the list of tag name BlockMarkers
-	private List fBlockMarkers = new ArrayList();
-
-	// required to not seek text blocks on an end tag
-	private boolean fIsBlockingEnabled = false;
-	private boolean fIsCaseSensitiveBlocking = true;
-
-	private XMLParserRegionFactory fRegionFactory = new XMLParserRegionFactory();
-/**
- * user method 
- */
-public final void addBlockMarker(BlockMarker marker) {
-	if(containsTagName(marker.getTagName()))
-		return;
-	fBlockMarkers.add(marker);
-}
-/**
- * user method 
- */
-public final void removeBlockMarker(BlockMarker marker) {
-	fBlockMarkers.remove(marker);
-}
-/**
- * user method 
- */
-public final void removeBlockMarker(String tagname) {
-	if (fBlockMarkers != null) {
-		Iterator blocks = fBlockMarkers.iterator();
-		while (blocks.hasNext()) {
-			if (((BlockMarker) blocks.next()).getTagName().equals(tagname))
-				blocks.remove();
-		}
-	}
-}
-/* user method */
-public final boolean isCaseSensitiveBlocking() {
-	return fIsCaseSensitiveBlocking;
-}
-/* user method */
-public final void setCaseSensitiveBlocking(boolean newValue) {
-	fIsCaseSensitiveBlocking = newValue;
-}
-/* user method */
-public boolean getBlockMarkerCaseSensitivity() {
-        return getBlockMarkerCaseSensitivity(fCurrentTagName);
-}
-/* user method */
-public boolean getBlockMarkerCaseSensitivity(String name) {
-	Iterator iterator = fBlockMarkers.iterator();
-	while(iterator.hasNext()) {
-		BlockMarker marker = (BlockMarker)iterator.next();
-		boolean casesensitive = marker.isCaseSensitive();
-		if(casesensitive && marker.getTagName().equals(name))
-			return casesensitive;
-		else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))
-			return casesensitive;
-	}
-	return true;
-}
-/* user method */
-public String getBlockMarkerContext() {
-	return getBlockMarkerContext(fCurrentTagName);
-}
-/* user method */
-public String getBlockMarkerContext(String name) {
-	Iterator iterator = fBlockMarkers.iterator();
-	while(iterator.hasNext()) {
-		BlockMarker marker = (BlockMarker)iterator.next();
-		if(marker.getTagName().equals(name))
-			return marker.getContext();
-	}
-	return BLOCK_TEXT;
-}
-/* user method */
-public List getBlockMarkers() {
-	return fBlockMarkers;
-}
-/* user method */
-public final int getOffset() {
-	return fOffset + yychar;
-}
-private final boolean isBlockMarker() {
-	return isBlockMarker(fCurrentTagName);
-}
-private final boolean isBlockMarker(String tagName) {
-	if (!fIsBlockingEnabled)
-		return false;
-	return containsTagName(tagName);
-}
-/**
- * user method
- */
-public final void beginBlockTagScan(String newTagName) {
-	beginBlockMarkerScan(newTagName, BLOCK_TEXT);
-}
-/**
- * user method
- *
- * Special tokenizer setup.  Allows tokenization to be initiated at the
- * start of a text block within a "newTagName" tag.
- *
- * Example: 
- *	Tokenizer toker = new Tokenizer();
- *	toker.setCaseSensitiveBlocking(false);
- *	toker.reset(new java.io.StringReader("afiuhqwkejhtasihgalkwhtq</scripter></scr></script>asgdasga"));
- *	toker.beginBlockMarkerScan("script", BLOCK_TEXT);
- *	toker.getRegions(); 
- *
- * Returns:
- *	BLOCK_TEXT: 0-40
- *	XML_END_TAG_OPEN: 41-42
- *	XML_TAG_NAME: 43-48
- *	XML_TAG_CLOSE: 49-49
- *	XML_CONTENT: 50-57
- *
- */
-public final void beginBlockMarkerScan(String newTagName, String blockcontext) {
-	yybegin(ST_BLOCK_TAG_SCAN);
-	fCurrentTagName = newTagName;
-}
-/**
- * Method doScan.
- * 
- * Returns a context region for all of the text from the current position upto the end of input or
- * to right *before* the first occurence of searchString
- * 
- * @param searchString - target string to search for ex.: "-->", "</tagname"
- * @param requireTailSeparator - whether the target must be immediately followed by whitespace or '>'
- * @param context - the context of the scanned region if non-zero length
- * @param exitState - the state to go to if the region was of non-zero length
- * @param abortState - the state to go to if the searchString was found immediately
- * @return String - the context found: the desired context on a non-zero length match, the abortContext on immediate success
- * @throws IOException
- */
-private final String doScan(String searchString, boolean requireTailSeparator, String searchContext, int exitState, int immediateFallbackState) throws IOException {
-	boolean stillSearching = true;
-	// Disable further block (probably)
-	fIsBlockingEnabled = false;
-	int searchStringLength = searchString.length();
-	int n = 0;
-	char lastCheckChar;
-	int i;
-	boolean same = false;
-	while (stillSearching) {
-		n = 0;
-		// Ensure that enough data from the input exists to compare against the search String.
-		n = yy_advance();
-		while(n != YYEOF && yy_currentPos < searchStringLength)
-			n = yy_advance();
-		// If the input was too short or we've exhausted the input, stop immediately.
-		if (n == YYEOF) {
-			stillSearching = false;
-		}
-		else {
-			same = true;
-			// Ensure that we've not encountered a complete block (<%%>) that was *shorter* than the closeTagString and
-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].
-			// Check the characters in the target versus the last targetLength characters read from the buffer
-			// and see if it matches
-			
-			// safety check for array accesses (yy_currentPos is the *last* character we can check against)
-			if(yy_currentPos >= searchStringLength && yy_currentPos <= yy_buffer.length) {
-				for(i = 0; i < searchStringLength; i++) {
-					if(same && fIsCaseSensitiveBlocking)
-						same = yy_buffer[i + yy_currentPos - searchStringLength] == searchString.charAt(i);
-					else if(same && !fIsCaseSensitiveBlocking)
-						same = Character.toLowerCase(yy_buffer[i + yy_currentPos - searchStringLength]) == Character.toLowerCase(searchString.charAt(i));
-				}
-			}
-			// safety check failed; no match is possible right now
-			else {
-				same = false;
-			}
-			if (same && requireTailSeparator && yy_currentPos < yy_buffer.length) {
-				// Additional check for close tags to ensure that targetString="</script" doesn't match
-				// "</scriptS"
-				lastCheckChar = yy_buffer[yy_currentPos];
-				// Succeed on "</script>" and "</script "
-				if(lastCheckChar == '>' || Character.isWhitespace(lastCheckChar))
-					stillSearching = false;
-			}
-			else {
-				stillSearching = !same || (yy_currentPos < yy_startRead + searchStringLength);
-			}
-		}
-	}
-	if (n != YYEOF || same) {
-		// We've stopped short of the end or definitely found a match
-		yy_markedPos = yy_currentPos - searchStringLength;
-		yy_currentPos = yy_markedPos + 1;
-		// If the searchString occurs at the very beginning of what would have
-		// been a Block, resume scanning normally immediately
-		if (yy_markedPos == yy_startRead) {
-			yybegin(immediateFallbackState);
-			return primGetNextToken();
-		}
-	}
-	else {
-		// We ran through the rest of the input
-		yy_markedPos = yy_currentPos;
-		yy_currentPos++;
-	}
-	yybegin(exitState);
-	// If the ending occurs at the very beginning of what would have
-	// been a Block, resume scanning normally immediately
-	if(yy_markedPos == yy_startRead)
-		return primGetNextToken();
-	return searchContext;
-}
-/**
- * user method
- *
- * A generic lookahead-like operation
- */
-private final String doBlockScan(String target, String targetContext, int immediateFallbackState) throws IOException {
-	return doScan(target, false, targetContext, immediateFallbackState, immediateFallbackState);
-}
-/**
- * user method 
- * does a lookahead for the current tag name
- */
-private final String doBlockTagScan() throws IOException {
-        fIsCaseSensitiveBlocking = getBlockMarkerCaseSensitivity();
-	return doScan("</" + fCurrentTagName, true, getBlockMarkerContext(fCurrentTagName), YYINITIAL, YYINITIAL);
-}
-/**
- * user method
- *
- * Converts the raw context String returned by the primGetNextToken()
- * method into a full ITextRegion by pulling in values for the
- * current offset within the scanning text.
- *
- * Returns null when EOF is encountered and attaches intermittently
- * discovered whitespace onto the end of useful regions.
- *
- * Note that this algorithm caches the token following the one being returned
- * so that whitespace can be collapsed.
- */
-public final ITextRegion getNextToken() throws IOException {
-	// load the starting non-whitespace token (assume that it is so)
-	if (fShouldLoadBuffered) {
-		context = fBufferedContext;
-		start = fBufferedStart;
-		textLength = length = fBufferedLength;
-		fShouldLoadBuffered = false;
-	}
-	else {
-		context = primGetNextToken();
-		if (context == XML_TAG_NAME) {
-			if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-				fCurrentTagName = yytext();
-			else
-				fCurrentTagName = null;
-		}
-		else if (context == XML_TAG_OPEN) {
-			fIsBlockingEnabled = true;
-		}
-		else if (context == XML_END_TAG_OPEN) {
-			fIsBlockingEnabled = false;
-		}
-		start = yychar;
-		textLength = length = yylength();
-		if (yy_atEOF) {
-			fTokenCount++;
-			return null;
-		}
-	}
-	// store the next token
-	f_context = primGetNextToken();
-	if (f_context == XML_TAG_NAME) {
-		if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-			fCurrentTagName = yytext();
-		else
-			fCurrentTagName = null;
-	}
-	else if (f_context == XML_TAG_OPEN) {
-		fIsBlockingEnabled = true;
-	}
-	else if (f_context == XML_END_TAG_OPEN) {
-		fIsBlockingEnabled = false;
-	}
-	fBufferedContext = f_context;
-	fBufferedStart = yychar;
-	fBufferedLength = yylength();
-	fShouldLoadBuffered = true;
-	if (fBufferedContext == WHITE_SPACE) {
-		fShouldLoadBuffered = false;
-		length += fBufferedLength;
-	}
-	if (context == null) {
-		// EOF
-		if (Debug.debugTokenizer) {
-			System.out.println(getClass().getName() + " discovered " + fTokenCount + " tokens."); //$NON-NLS-2$//$NON-NLS-1$
-		}
-		return null;
-	}
-	fTokenCount++;
-	return fRegionFactory.createToken(context, start, textLength, length, null, fCurrentTagName);
-}
-/* user method */
-public XMLTokenizer(){
-	super();
-}
-/* user method */
-public XMLTokenizer(char[] charArray){
-		this(new CharArrayReader(charArray));
-}
-/* user method */
-public void reset(char[] charArray) {
-	reset(new CharArrayReader(charArray), 0);
-}
-/* user method */
-public void reset(char[] charArray, int newOffset) {
-	reset(new CharArrayReader(charArray), newOffset);
-}
-/* user method */
-public void reset(java.io.InputStream in) {
-	reset(new java.io.InputStreamReader(in), 0);
-}
-/* user method */
-public void reset(java.io.InputStream in, int newOffset) {
-	reset(new java.io.InputStreamReader(in), newOffset);
-}
-/* user method */
-public void reset(java.io.Reader in) {
-	reset(in, 0);
-}
-/**
- * user method *
- *
- * Reset internal counters and vars to "newly created" values, in the hopes
- * that resetting a pre-existing tokenizer is faster than creating a new one.
- *
- * This method contains code blocks that were essentially duplicated from the
- * <em>generated</em> output of this specification before this method was
- * added.  Those code blocks were under the above copyright.
- */
-public void reset(java.io.Reader in, int newOffset) {
-	if (Debug.debugTokenizer) {
-		System.out.println("resetting tokenizer");//$NON-NLS-1$
-	}
-	fOffset = newOffset;
-
-	/* the input device */
-	yy_reader = in;
-
-	/* the current state of the DFA */
-	yy_state = 0;
-
-	/* the current lexical state */
-	yy_lexical_state = YYINITIAL;
-
-	/* this buffer contains the current text to be matched and is
-	the source of the yytext() string */
-	java.util.Arrays.fill(yy_buffer, (char)0);
-
-	/* the textposition at the last accepting state */
-	yy_markedPos = 0;
-
-	/* the textposition at the last state to be included in yytext */
-	yy_pushbackPos = 0;
-
-	/* the current text position in the buffer */
-	yy_currentPos = 0;
-
-	/* startRead marks the beginning of the yytext() string in the buffer */
-	yy_startRead = 0;
-
-	/** 
-	 * endRead marks the last character in the buffer, that has been read
-	 * from input 
-	 */
-	yy_endRead = 0;
-
-	/* number of newlines encountered up to the start of the matched text */
-	yyline = 0;
-
-	/* the number of characters up to the start of the matched text */
-	yychar = 0;
-
-	/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-	yy_atEOF = false;
-
-	/* denotes if the user-EOF-code has already been executed */
-	yy_eof_done = false;
-
-
-	/* user vars: */
-	fTokenCount = 0;
- 
-	fShouldLoadBuffered = false;
-	fBufferedContext = null;
-	fBufferedStart = 1;
-	fBufferedLength = 0;
-	fStateStack = new IntStack();
-
-	context = null;
-	start = 0;
-	textLength = 0;
-	length = 0;
-}
-
-	/**
-	 * user method
-	 *
-	 * @see com.ibm.sed.parser.BlockTokenizer#newInstance()
-	 */
-	public BlockTokenizer newInstance() {
-		XMLTokenizer newInstance = new XMLTokenizer();
-		// global tagmarkers can be shared; they have no state and 
-		// are never destroyed (e.g. 'release')
-		for(int i = 0; i < fBlockMarkers.size(); i++) {
-			BlockMarker blockMarker = (BlockMarker) fBlockMarkers.get(i);
-			if(blockMarker.isGlobal())
-				newInstance.addBlockMarker(blockMarker);
-		}
-		return newInstance;
-	}
-/* user method */
-private final String scanXMLCommentText() throws IOException {
-	// Scan for '-->' and return the text up to that point as
-	//   XML_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which
-	//  case change to the ST_XML_COMMENT_END state and return the next
-	//  context as usual.
-	return doScan("-->", false, XML_COMMENT_TEXT, ST_XML_COMMENT_END, ST_XML_COMMENT_END);
-}
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public XMLTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public XMLTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed DFA transition table.
-   *
-   * @param packed   the packed transition table
-   * @return         the unpacked transition table
-   */
-  private static int [] yy_unpack(String packed) {
-    int [] trans = new int[9212];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 3220) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      value--;
-      do trans[j++] = value; while (--count > 0);
-    }
-    return trans;
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 1372) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning - from the SED JFlex skeleton
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-    // DO NOT EXIT the VM on an error
-    // System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-	/**
-	 * user method - skeleton.sed
-	 */
-	protected final boolean containsTagName(char[] markerTagName, int offset, int tagnameLength) {
-		for(int j = 0; j < fBlockMarkers.size(); j++) {
-			BlockMarker marker = (BlockMarker)fBlockMarkers.get(j);
-			if(marker.getTagName().length() == tagnameLength) {
-				boolean matchesSoFar = true;
-				for(int i = 0; i < tagnameLength && matchesSoFar; i++) {
-					if(marker.isCaseSensitive()) {
-						if(marker.getTagName().charAt(i) != markerTagName[i + offset])
-							matchesSoFar = false;
-					}
-					else {
-						if(Character.toLowerCase(marker.getTagName().charAt(i)) != Character.toLowerCase(markerTagName[i + offset]))
-							matchesSoFar = false;
-					}
-				}
-				if(matchesSoFar)
-					return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * user method - skeleton.sed
-	 *
-	 * Return ALL of the regions scannable within the remaining text
-	 * Note: for verification use
-	 */
-	public final List getRegions() {
-		List tokens = new ArrayList();
-		ITextRegion region = null;
-		try {
-			region = getNextToken();
-			while(region != null) {
-				if (region != null) {
-					tokens.add(region);
-				}
-				region = getNextToken();
-			}
-		}
-		catch (StackOverflowError e) {
-			Logger.logException(getClass().getName()+": input could not be tokenized correctly at position " + getOffset(), e);//$NON-NLS-1$
-			throw e;
-		}
-		catch (Exception e) {
-			// Since this is convenience method and NOT the recommended 
-			// way of getting tokens, many errors are simply hidden
-			Logger.logException("Exception not handled retrieving regions: " + e.getLocalizedMessage(), e);//$NON-NLS-1$
-		}
-		return tokens;
-	}
-	/**
-	 * user method - skeleton.sed
-	 */
-	private final void dump(String s) {
-		if (Debug.debugTokenizer) {
-			System.out.println(s + " (" + yychar + "-" + //$NON-NLS-2$//$NON-NLS-1$
-				(yylength() + yychar) + "):\'" +//$NON-NLS-1$
-					StringUtils.escape(yytext()) + "\'");//$NON-NLS-1$
-		}
-	}
-	/* user method  - skeleton.sed */
-	public final boolean isEOF() {
-		return yy_atEOF;
-	}
-/* user method - skeleton.sed */
-protected final boolean containsTagName(String markerTagName) {
-	Iterator blocks = fBlockMarkers.iterator();
-	while(blocks.hasNext()) {
-		BlockMarker marker = (BlockMarker)blocks.next();
-		if(marker.isCaseSensitive()) {
-			if(marker.getTagName().equals(markerTagName))
-				return true;
-		}
-		else {
-			if(marker.getTagName().equalsIgnoreCase(markerTagName))
-				return true;
-		}
-	}
-	return false;
-}
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    // do nothing, this is the downstream parser's job
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-
-    while (true) {
-
-      yychar+= yylength();
-
-      boolean yy_counted = false;
-      for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
-                                                      yy_currentPos++) {
-        switch (yy_buffer[yy_currentPos]) {
-        case '\r':
-          yyline++;
-          yy_counted = true;
-          break;
-        case '\n':
-          if (yy_counted)
-            yy_counted = false;
-          else {
-            yyline++;
-          }
-          break;
-        default:
-          yy_counted = false;
-        }
-      }
-
-      if (yy_counted) {
-        if ( yy_advance() == '\n' ) yyline--;
-        if ( !yy_atEOF ) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      yy_state = yy_lexical_state;
-
-
-      yy_forAction: {
-        while (true) {
-    
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ];
-          if (yy_next == -1) break yy_forAction;
-          yy_state = yy_next;
-
-          int yy_attributes = YY_ATTRIBUTE[yy_state];
-          if ( (yy_attributes & 1) > 0 ) {
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( (yy_attributes & 8) > 0 ) break yy_forAction;
-          }
-
-        }
-      }
-
-
-      switch (yy_action) {    
-
-        case 275: 
-        case 276: 
-        case 277: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCDATA start");//$NON-NLS-1$
-	fStateStack.push(yystate());
-	yybegin(ST_CDATA_TEXT);
-	return XML_CDATA_OPEN;
- }
-        case 279: break;
-        case 269: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("element");//$NON-NLS-1$
-	yybegin(ST_XML_ELEMENT_DECLARATION);
-	return XML_ELEMENT_DECLARATION;
- }
-        case 280: break;
-        case 268: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist");//$NON-NLS-1$
-	yybegin(ST_XML_ATTLIST_DECLARATION);
-	return XML_ATTLIST_DECLARATION;
- }
-        case 281: break;
-        case 267: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_DECLARATION);
-	return XML_DOCTYPE_DECLARATION;
- }
-        case 282: break;
-        case 262: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
- }
-        case 283: break;
-        case 261: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
- }
-        case 284: break;
-        case 257: 
-        case 266: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction target");//$NON-NLS-1$
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 285: break;
-        case 234: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCharRef");//$NON-NLS-1$
-	return XML_CHAR_REFERENCE;
- }
-        case 286: break;
-        case 231: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\ncomment start");//$NON-NLS-1$
-	yybegin(ST_XML_COMMENT);
-	return XML_COMMENT_OPEN;
- }
-        case 287: break;
-        case 213: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction target");//$NON-NLS-1$
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 288: break;
-        case 212: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment end");//$NON-NLS-1$
-	yybegin(YYINITIAL);
-	return XML_COMMENT_CLOSE;
- }
-        case 289: break;
-        case 211: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA end");//$NON-NLS-1$
-	yybegin(fStateStack.pop());
-	return XML_CDATA_CLOSE;
- }
-        case 290: break;
-        case 210: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nPEReference");//$NON-NLS-1$
-	return XML_PE_REFERENCE;
- }
-        case 291: break;
-        case 207: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nEntityRef");//$NON-NLS-1$
-	return XML_ENTITY_REFERENCE;
- }
-        case 292: break;
-        case 158: 
-        case 172: 
-        case 180: 
-          { 
-	return XML_DOCTYPE_INTERNAL_SUBSET;
- }
-        case 293: break;
-        case 146: 
-          { 
-        yybegin(YYINITIAL);
-	if(Debug.debugTokenizer)
-		dump("empty tag close");//$NON-NLS-1$
-        return XML_EMPTY_TAG_CLOSE;
- }
-        case 294: break;
-        case 131: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction end");//$NON-NLS-1$
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 295: break;
-        case 130: 
-          { 
-		// ended with nothing inside
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 296: break;
-        case 127: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction end");//$NON-NLS-1$
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 297: break;
-        case 119: 
-          { 
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("\ndeclaration start");//$NON-NLS-1$
-        yybegin(ST_XML_DECLARATION);
-	return XML_DECLARATION_OPEN;
- }
-        case 298: break;
-        case 118: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nprocessing instruction start");//$NON-NLS-1$
-	yybegin(ST_PI);
-        return XML_PI_OPEN;
- }
-        case 299: break;
-        case 62: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction end");//$NON-NLS-1$
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 300: break;
-        case 56: 
-        case 58: 
-        case 59: 
-        case 60: 
-        case 135: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute value");//$NON-NLS-1$
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 301: break;
-        case 55: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction '='");//$NON-NLS-1$
-        yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 302: break;
-        case 54: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_XML_PI_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 303: break;
-        case 50: 
-        case 51: 
-        case 52: 
-          { 
-	// block scan until close is found
-	return doScan("?>", false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
- }
-        case 304: break;
-        case 49: 
-          { 
-        yybegin(ST_PI_CONTENT);
-        return WHITE_SPACE;
- }
-        case 305: break;
-        case 46: 
-        case 47: 
-        case 48: 
-        case 128: 
-        case 129: 
-        case 214: 
-        case 236: 
-        case 248: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction target");//$NON-NLS-1$
-        yybegin(ST_PI_WS);
-        return XML_TAG_NAME;
- }
-        case 306: break;
-        case 41: 
-        case 42: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment content");//$NON-NLS-1$
-	return scanXMLCommentText();
- }
-        case 307: break;
-        case 40: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("LINE FEED");//$NON-NLS-1$
-	return WHITE_SPACE;
- }
-        case 308: break;
-        case 0: 
-        case 31: 
-        case 121: 
-        case 123: 
-        case 205: 
-        case 206: 
-        case 233: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nXML content");//$NON-NLS-1$
-	return XML_CONTENT;
- }
-        case 309: break;
-        case 5: 
-        case 8: 
-        case 9: 
-        case 10: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 15: 
-        case 17: 
-        case 18: 
-        case 19: 
-        case 20: 
-        case 21: 
-        case 22: 
-        case 23: 
-        case 24: 
-        case 25: 
-        case 26: 
-        case 28: 
-        case 45: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("white space");//$NON-NLS-1$
-        return WHITE_SPACE;
- }
-        case 310: break;
-        case 16: 
-        case 70: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("inappropriate tag name");//$NON-NLS-1$
-	yybegin(YYINITIAL);
-        return XML_CONTENT;
- }
-        case 311: break;
-        case 27: 
-        case 105: 
-        case 106: 
-        case 191: 
-        case 226: 
-        case 244: 
-        case 254: 
-        case 263: 
-        case 270: 
-        case 273: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl contentspec");//$NON-NLS-1$
-	return XML_ELEMENT_DECL_CONTENT;
- }
-        case 312: break;
-        case 29: 
-        case 112: 
-        case 113: 
-        case 202: 
-        case 230: 
-        case 246: 
-        case 255: 
-        case 264: 
-        case 271: 
-        case 274: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist contentspec");//$NON-NLS-1$
-	return XML_ATTLIST_DECL_CONTENT;
- }
-        case 313: break;
-        case 32: 
-        case 71: 
-        case 82: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nstart tag open");//$NON-NLS-1$
-        yybegin(ST_XML_TAG_NAME);
-        return XML_TAG_OPEN;
- }
-        case 314: break;
-        case 33: 
-        case 34: 
-        case 37: 
-        case 38: 
-        case 39: 
-        case 43: 
-        case 44: 
-        case 53: 
-        case 57: 
-        case 61: 
-        case 63: 
-        case 67: 
-        case 73: 
-        case 79: 
-        case 84: 
-        case 85: 
-        case 86: 
-        case 87: 
-        case 89: 
-        case 90: 
-        case 92: 
-        case 97: 
-        case 102: 
-        case 109: 
-          { 
-	if (Debug.debugTokenizer)
-		System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
-			yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
-	return UNDEFINED;
- }
-        case 315: break;
-        case 35: 
-        case 36: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA text");//$NON-NLS-1$
-	String blockContext = doBlockScan("]]>", XML_CDATA_TEXT, ST_CDATA_END);//$NON-NLS-1$
-	if(blockContext == XML_CDATA_TEXT)
-		yybegin(ST_CDATA_END);
-	return blockContext;
- }
-        case 316: break;
-        case 64: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_DHTML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 317: break;
-        case 65: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction '='");//$NON-NLS-1$
-        yybegin(ST_DHTML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 318: break;
-        case 66: 
-        case 68: 
-        case 69: 
-        case 143: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute value");//$NON-NLS-1$
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 319: break;
-        case 72: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag close");//$NON-NLS-1$
-	if(isBlockMarker()) {
-        	yybegin(ST_BLOCK_TAG_SCAN);
-	}
-	else
-        	yybegin(YYINITIAL);
-        return XML_TAG_CLOSE;
- }
-        case 320: break;
-        case 74: 
-        case 75: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag name");//$NON-NLS-1$
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 321: break;
-        case 76: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr name");//$NON-NLS-1$
-        yybegin(ST_XML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 322: break;
-        case 77: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("equals");//$NON-NLS-1$
-        yybegin(ST_XML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 323: break;
-        case 78: 
-        case 80: 
-        case 81: 
-        case 150: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr value");//$NON-NLS-1$
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 324: break;
-        case 83: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("declaration end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 325: break;
-        case 88: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype type");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
-	return XML_DOCTYPE_NAME;
- }
-        case 326: break;
-        case 91: 
-        case 93: 
-        case 94: 
-        case 95: 
-        case 164: 
-        case 165: 
-        case 168: 
-        case 169: 
-        case 221: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype public reference");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
- }
-        case 327: break;
-        case 96: 
-        case 98: 
-        case 99: 
-        case 100: 
-        case 176: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype system reference");//$NON-NLS-1$
-	yybegin(ST_XML_DECLARATION_CLOSE);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
- }
-        case 328: break;
-        case 101: 
-        case 103: 
-        case 104: 
-        case 184: 
-        case 185: 
-        case 188: 
-        case 189: 
-        case 224: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl name");//$NON-NLS-1$
-	yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
-	return XML_ELEMENT_DECL_NAME;
- }
-        case 329: break;
-        case 107: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 330: break;
-        case 108: 
-        case 110: 
-        case 111: 
-        case 195: 
-        case 196: 
-        case 199: 
-        case 200: 
-        case 228: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist name");//$NON-NLS-1$
-	yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
-	return XML_ATTLIST_DECL_NAME;
- }
-        case 331: break;
-        case 114: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 332: break;
-        case 117: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nend tag open");//$NON-NLS-1$
-        yybegin(ST_XML_TAG_NAME);
-        return XML_END_TAG_OPEN;
- }
-        case 333: break;
-        case 115: 
-        case 116: 
-          { 
-		return doBlockTagScan();
-	 }
-        case 334: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              return null;
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex
deleted file mode 100644
index 28bca89..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex
+++ /dev/null
@@ -1,1323 +0,0 @@
-/*******************************************************************************

- * 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

- *******************************************************************************/

-/*nlsXXX*/

-package org.eclipse.wst.xml.core.internal.parser;

-

-import java.io.CharArrayReader;

-import java.io.IOException;

-import java.util.ArrayList;

-import java.util.Iterator;

-import java.util.List;

-

-import org.eclipse.wst.sse.core.parser.BlockMarker;

-import org.eclipse.wst.sse.core.parser.BlockTokenizer;

-import org.eclipse.wst.sse.core.text.ITextRegion;

-import org.eclipse.wst.sse.core.util.Debug;

-import org.eclipse.wst.sse.core.util.StringUtils;

-import org.eclipse.wst.xml.core.internal.Logger;

-import org.eclipse.wst.xml.core.internal.parser.regions.XMLParserRegionFactory;

-import org.eclipse.wst.xml.core.parser.XMLRegionContext;

-

-%%

-

-%{

-	private int fTokenCount = 0;

- 

-	// required holders for white-space compacting

-	private boolean fShouldLoadBuffered = false;

-	private String fBufferedContext = null;

-	private int fBufferedStart = 1;

-	private int fBufferedLength = 0;

-	private String f_context = null;

-

-	// state stack for handling embedded regions

-	private IntStack fStateStack = new IntStack();

-

-	private String context = null;

-	private int start = 0;

-	private int textLength = 0;

-	private int length = 0;

-

-	// offset for tracking position specific block tags

-	private int fOffset = 0;

-	

-	// the name of the current tag being opened

-	private String fCurrentTagName = null;

-

-	// the list of tag name BlockMarkers

-	private List fBlockMarkers = new ArrayList();

-

-	// required to not seek text blocks on an end tag

-	private boolean fIsBlockingEnabled = false;

-	private boolean fIsCaseSensitiveBlocking = true;

-

-	private XMLParserRegionFactory fRegionFactory = new XMLParserRegionFactory();

-/**

- * user method 

- */

-public final void addBlockMarker(BlockMarker marker) {

-	if(containsTagName(marker.getTagName()))

-		return;

-	fBlockMarkers.add(marker);

-}

-/**

- * user method 

- */

-public final void removeBlockMarker(BlockMarker marker) {

-	fBlockMarkers.remove(marker);

-}

-/**

- * user method 

- */

-public final void removeBlockMarker(String tagname) {

-	if (fBlockMarkers != null) {

-		Iterator blocks = fBlockMarkers.iterator();

-		while (blocks.hasNext()) {

-			if (((BlockMarker) blocks.next()).getTagName().equals(tagname))

-				blocks.remove();

-		}

-	}

-}

-/* user method */

-public final boolean isCaseSensitiveBlocking() {

-	return fIsCaseSensitiveBlocking;

-}

-/* user method */

-public final void setCaseSensitiveBlocking(boolean newValue) {

-	fIsCaseSensitiveBlocking = newValue;

-}

-/* user method */

-public boolean getBlockMarkerCaseSensitivity() {

-        return getBlockMarkerCaseSensitivity(fCurrentTagName);

-}

-/* user method */

-public boolean getBlockMarkerCaseSensitivity(String name) {

-	Iterator iterator = fBlockMarkers.iterator();

-	while(iterator.hasNext()) {

-		BlockMarker marker = (BlockMarker)iterator.next();

-		boolean casesensitive = marker.isCaseSensitive();

-		if(casesensitive && marker.getTagName().equals(name))

-			return casesensitive;

-		else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))

-			return casesensitive;

-	}

-	return true;

-}

-/* user method */

-public String getBlockMarkerContext() {

-	return getBlockMarkerContext(fCurrentTagName);

-}

-/* user method */

-public String getBlockMarkerContext(String name) {

-	Iterator iterator = fBlockMarkers.iterator();

-	while(iterator.hasNext()) {

-		BlockMarker marker = (BlockMarker)iterator.next();

-		if(marker.getTagName().equals(name))

-			return marker.getContext();

-	}

-	return BLOCK_TEXT;

-}

-/* user method */

-public List getBlockMarkers() {

-	return fBlockMarkers;

-}

-/* user method */

-public final int getOffset() {

-	return fOffset + yychar;

-}

-private final boolean isBlockMarker() {

-	return isBlockMarker(fCurrentTagName);

-}

-private final boolean isBlockMarker(String tagName) {

-	if (!fIsBlockingEnabled)

-		return false;

-	return containsTagName(tagName);

-}

-/**

- * user method

- */

-public final void beginBlockTagScan(String newTagName) {

-	beginBlockMarkerScan(newTagName, BLOCK_TEXT);

-}

-/**

- * user method

- *

- * Special tokenizer setup.  Allows tokenization to be initiated at the

- * start of a text block within a "newTagName" tag.

- *

- * Example: 

- *	Tokenizer toker = new Tokenizer();

- *	toker.setCaseSensitiveBlocking(false);

- *	toker.reset(new java.io.StringReader("afiuhqwkejhtasihgalkwhtq</scripter></scr></script>asgdasga"));

- *	toker.beginBlockMarkerScan("script", BLOCK_TEXT);

- *	toker.getRegions(); 

- *

- * Returns:

- *	BLOCK_TEXT: 0-40

- *	XML_END_TAG_OPEN: 41-42

- *	XML_TAG_NAME: 43-48

- *	XML_TAG_CLOSE: 49-49

- *	XML_CONTENT: 50-57

- *

- */

-public final void beginBlockMarkerScan(String newTagName, String blockcontext) {

-	yybegin(ST_BLOCK_TAG_SCAN);

-	fCurrentTagName = newTagName;

-}

-/**

- * Method doScan.

- * 

- * Returns a context region for all of the text from the current position upto the end of input or

- * to right *before* the first occurence of searchString

- * 

- * @param searchString - target string to search for ex.: "-->", "</tagname"

- * @param requireTailSeparator - whether the target must be immediately followed by whitespace or '>'

- * @param context - the context of the scanned region if non-zero length

- * @param exitState - the state to go to if the region was of non-zero length

- * @param abortState - the state to go to if the searchString was found immediately

- * @return String - the context found: the desired context on a non-zero length match, the abortContext on immediate success

- * @throws IOException

- */

-private final String doScan(String searchString, boolean requireTailSeparator, String searchContext, int exitState, int immediateFallbackState) throws IOException {

-	boolean stillSearching = true;

-	// Disable further block (probably)

-	fIsBlockingEnabled = false;

-	int searchStringLength = searchString.length();

-	int n = 0;

-	char lastCheckChar;

-	int i;

-	boolean same = false;

-	while (stillSearching) {

-		n = 0;

-		// Ensure that enough data from the input exists to compare against the search String.

-		n = yy_advance();

-		while(n != YYEOF && yy_currentPos < searchStringLength)

-			n = yy_advance();

-		// If the input was too short or we've exhausted the input, stop immediately.

-		if (n == YYEOF) {

-			stillSearching = false;

-		}

-		else {

-			same = true;

-			// Ensure that we've not encountered a complete block (<%%>) that was *shorter* than the closeTagString and

-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].

-			// Check the characters in the target versus the last targetLength characters read from the buffer

-			// and see if it matches

-			

-			// safety check for array accesses (yy_currentPos is the *last* character we can check against)

-			if(yy_currentPos >= searchStringLength && yy_currentPos <= yy_buffer.length) {

-				for(i = 0; i < searchStringLength; i++) {

-					if(same && fIsCaseSensitiveBlocking)

-						same = yy_buffer[i + yy_currentPos - searchStringLength] == searchString.charAt(i);

-					else if(same && !fIsCaseSensitiveBlocking)

-						same = Character.toLowerCase(yy_buffer[i + yy_currentPos - searchStringLength]) == Character.toLowerCase(searchString.charAt(i));

-				}

-			}

-			// safety check failed; no match is possible right now

-			else {

-				same = false;

-			}

-			if (same && requireTailSeparator && yy_currentPos < yy_buffer.length) {

-				// Additional check for close tags to ensure that targetString="</script" doesn't match

-				// "</scriptS"

-				lastCheckChar = yy_buffer[yy_currentPos];

-				// Succeed on "</script>" and "</script "

-				if(lastCheckChar == '>' || Character.isWhitespace(lastCheckChar))

-					stillSearching = false;

-			}

-			else {

-				stillSearching = !same || (yy_currentPos < yy_startRead + searchStringLength);

-			}

-		}

-	}

-	if (n != YYEOF || same) {

-		// We've stopped short of the end or definitely found a match

-		yy_markedPos = yy_currentPos - searchStringLength;

-		yy_currentPos = yy_markedPos + 1;

-		// If the searchString occurs at the very beginning of what would have

-		// been a Block, resume scanning normally immediately

-		if (yy_markedPos == yy_startRead) {

-			yybegin(immediateFallbackState);

-			return primGetNextToken();

-		}

-	}

-	else {

-		// We ran through the rest of the input

-		yy_markedPos = yy_currentPos;

-		yy_currentPos++;

-	}

-	yybegin(exitState);

-	// If the ending occurs at the very beginning of what would have

-	// been a Block, resume scanning normally immediately

-	if(yy_markedPos == yy_startRead)

-		return primGetNextToken();

-	return searchContext;

-}

-/**

- * user method

- *

- * A generic lookahead-like operation

- */

-private final String doBlockScan(String target, String targetContext, int immediateFallbackState) throws IOException {

-	return doScan(target, false, targetContext, immediateFallbackState, immediateFallbackState);

-}

-/**

- * user method 

- * does a lookahead for the current tag name

- */

-private final String doBlockTagScan() throws IOException {

-        fIsCaseSensitiveBlocking = getBlockMarkerCaseSensitivity();

-	return doScan("</" + fCurrentTagName, true, getBlockMarkerContext(fCurrentTagName), YYINITIAL, YYINITIAL);

-}

-/**

- * user method

- *

- * Converts the raw context String returned by the primGetNextToken()

- * method into a full ITextRegion by pulling in values for the

- * current offset within the scanning text.

- *

- * Returns null when EOF is encountered and attaches intermittently

- * discovered whitespace onto the end of useful regions.

- *

- * Note that this algorithm caches the token following the one being returned

- * so that whitespace can be collapsed.

- */

-public final ITextRegion getNextToken() throws IOException {

-	// load the starting non-whitespace token (assume that it is so)

-	if (fShouldLoadBuffered) {

-		context = fBufferedContext;

-		start = fBufferedStart;

-		textLength = length = fBufferedLength;

-		fShouldLoadBuffered = false;

-	}

-	else {

-		context = primGetNextToken();

-		if (context == XML_TAG_NAME) {

-			if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))

-				fCurrentTagName = yytext();

-			else

-				fCurrentTagName = null;

-		}

-		else if (context == XML_TAG_OPEN) {

-			fIsBlockingEnabled = true;

-		}

-		else if (context == XML_END_TAG_OPEN) {

-			fIsBlockingEnabled = false;

-		}

-		start = yychar;

-		textLength = length = yylength();

-		if (yy_atEOF) {

-			fTokenCount++;

-			return null;

-		}

-	}

-	// store the next token

-	f_context = primGetNextToken();

-	if (f_context == XML_TAG_NAME) {

-		if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))

-			fCurrentTagName = yytext();

-		else

-			fCurrentTagName = null;

-	}

-	else if (f_context == XML_TAG_OPEN) {

-		fIsBlockingEnabled = true;

-	}

-	else if (f_context == XML_END_TAG_OPEN) {

-		fIsBlockingEnabled = false;

-	}

-	fBufferedContext = f_context;

-	fBufferedStart = yychar;

-	fBufferedLength = yylength();

-	fShouldLoadBuffered = true;

-	if (fBufferedContext == WHITE_SPACE) {

-		fShouldLoadBuffered = false;

-		length += fBufferedLength;

-	}

-	if (context == null) {

-		// EOF

-		if (Debug.debugTokenizer) {

-			System.out.println(getClass().getName() + " discovered " + fTokenCount + " tokens."); //$NON-NLS-2$//$NON-NLS-1$

-		}

-		return null;

-	}

-	fTokenCount++;

-	return fRegionFactory.createToken(context, start, textLength, length, null, fCurrentTagName);

-}

-/* user method */

-public XMLTokenizer(){

-	super();

-}

-/* user method */

-public XMLTokenizer(char[] charArray){

-		this(new CharArrayReader(charArray));

-}

-/* user method */

-public void reset(char[] charArray) {

-	reset(new CharArrayReader(charArray), 0);

-}

-/* user method */

-public void reset(char[] charArray, int newOffset) {

-	reset(new CharArrayReader(charArray), newOffset);

-}

-/* user method */

-public void reset(java.io.InputStream in) {

-	reset(new java.io.InputStreamReader(in), 0);

-}

-/* user method */

-public void reset(java.io.InputStream in, int newOffset) {

-	reset(new java.io.InputStreamReader(in), newOffset);

-}

-/* user method */

-public void reset(java.io.Reader in) {

-	reset(in, 0);

-}

-/**

- * user method *

- *

- * Reset internal counters and vars to "newly created" values, in the hopes

- * that resetting a pre-existing tokenizer is faster than creating a new one.

- *

- * This method contains code blocks that were essentially duplicated from the

- * <em>generated</em> output of this specification before this method was

- * added.  Those code blocks were under the above copyright.

- */

-public void reset(java.io.Reader in, int newOffset) {

-	if (Debug.debugTokenizer) {

-		System.out.println("resetting tokenizer");//$NON-NLS-1$

-	}

-	fOffset = newOffset;

-

-	/* the input device */

-	yy_reader = in;

-

-	/* the current state of the DFA */

-	yy_state = 0;

-

-	/* the current lexical state */

-	yy_lexical_state = YYINITIAL;

-

-	/* this buffer contains the current text to be matched and is

-	the source of the yytext() string */

-	java.util.Arrays.fill(yy_buffer, (char)0);

-

-	/* the textposition at the last accepting state */

-	yy_markedPos = 0;

-

-	/* the textposition at the last state to be included in yytext */

-	yy_pushbackPos = 0;

-

-	/* the current text position in the buffer */

-	yy_currentPos = 0;

-

-	/* startRead marks the beginning of the yytext() string in the buffer */

-	yy_startRead = 0;

-

-	/** 

-	 * endRead marks the last character in the buffer, that has been read

-	 * from input 

-	 */

-	yy_endRead = 0;

-

-	/* number of newlines encountered up to the start of the matched text */

-	yyline = 0;

-

-	/* the number of characters up to the start of the matched text */

-	yychar = 0;

-

-	/* yy_atEOF == true <=> the scanner has returned a value for EOF */

-	yy_atEOF = false;

-

-	/* denotes if the user-EOF-code has already been executed */

-	yy_eof_done = false;

-

-

-	/* user vars: */

-	fTokenCount = 0;

- 

-	fShouldLoadBuffered = false;

-	fBufferedContext = null;

-	fBufferedStart = 1;

-	fBufferedLength = 0;

-	fStateStack = new IntStack();

-

-	context = null;

-	start = 0;

-	textLength = 0;

-	length = 0;

-}

-

-	/**

-	 * user method

-	 *

-	 * @see com.ibm.sed.parser.BlockTokenizer#newInstance()

-	 */

-	public BlockTokenizer newInstance() {

-		XMLTokenizer newInstance = new XMLTokenizer();

-		// global tagmarkers can be shared; they have no state and 

-		// are never destroyed (e.g. 'release')

-		for(int i = 0; i < fBlockMarkers.size(); i++) {

-			BlockMarker blockMarker = (BlockMarker) fBlockMarkers.get(i);

-			if(blockMarker.isGlobal())

-				newInstance.addBlockMarker(blockMarker);

-		}

-		return newInstance;

-	}

-/* user method */

-private final String scanXMLCommentText() throws IOException {

-	// Scan for '-->' and return the text up to that point as

-	//   XML_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which

-	//  case change to the ST_XML_COMMENT_END state and return the next

-	//  context as usual.

-	return doScan("-->", false, XML_COMMENT_TEXT, ST_XML_COMMENT_END, ST_XML_COMMENT_END);

-}

-%}

-

-%eof{

-// do nothing, this is the downstream parser's job

-%eof}

-

-%public

-%class XMLTokenizer

-%implements BlockTokenizer, XMLRegionContext

-%function primGetNextToken

-%type String

-%char

-%line

-%unicode

-%pack

-

-%state ST_CDATA_TEXT

-%state ST_CDATA_END

-%state ST_XML_COMMENT

-%state ST_XML_COMMENT_END

-%state ST_PI

-%state ST_PI_WS

-%state ST_PI_CONTENT

-%state ST_XML_PI_ATTRIBUTE_NAME

-%state ST_XML_PI_EQUALS

-%state ST_XML_PI_ATTRIBUTE_VALUE

-%state ST_XML_PI_TAG_CLOSE

-%state ST_DHTML_ATTRIBUTE_NAME

-%state ST_DHTML_EQUALS

-%state ST_DHTML_ATTRIBUTE_VALUE

-%state ST_DHTML_TAG_CLOSE

-

-// normal tag states

-%state ST_XML_TAG_NAME

-%state ST_XML_ATTRIBUTE_NAME

-%state ST_XML_EQUALS

-%state ST_XML_ATTRIBUTE_VALUE

-

-// declaration (DTD) states

-%state ST_XML_DECLARATION

-%state ST_XML_DECLARATION_CLOSE

-

-%state ST_XML_DOCTYPE_DECLARATION

-%state ST_XML_DOCTYPE_EXTERNAL_ID

-%state ST_XML_DOCTYPE_ID_PUBLIC

-%state ST_XML_DOCTYPE_ID_SYSTEM

-

-%state ST_XML_ELEMENT_DECLARATION

-%state ST_XML_ELEMENT_DECLARATION_CONTENT

-

-%state ST_XML_ATTLIST_DECLARATION

-%state ST_XML_ATTLIST_DECLARATION_CONTENT

-

-%state ST_BLOCK_TAG_SCAN

-

-// Letter = ([A-Za-z])

-// Digit = ([0-9])

-

-/**

- * smaller tokens

- */

-genericTagOpen       = <

-genericTagClose      = >

-genericEndTagOpen    = <\/

-genericEmptyTagClose = \/>

-

-PIstart = <\?

-PIend   = \?>

-

-

-// [1] document ::= prolog element Misc*

-document = ({prolog} {element} {Misc}*)

-

-// [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

- //Char = (.)

-Char = [\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD] 

-

-// [3] S ::= (0x20 | 0x9 | 0xD | 0xA)+

-S = [\x20\x09\x0D\x0A]+

-

-// [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender

-NameChar = ({Letter} | {Digit} | \. | \- | _ | : | {CombiningChar} | {Extender})

-

-// [5] Name ::= (Letter | '_' | ':') NameChar*

-//Name = ({NameChar}{NameChar}*)

-Name = ({Letter} | _ | :){NameChar}*

-

-// [6] Names ::= {Name} ({S} {Name})*

-Names = ({Name} ({S} {Name})*)

-

-// [7] Nmtoken ::= (NameChar)+

-Nmtoken = ({NameChar}+)

-

-// [8] Nmtokens ::= Nmtoken (S Nmtoken)*

-Nmtokens = ({Nmtoken} ({S} {Nmtoken})*)

-

-// [9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' |  "'" ([^%&'] | PEReference | Reference)* "'"

-EntityValue = (\" ([^%&\"] | {PEReference} | {Reference})* \" |  \' ([^%&\'] | {PEReference} | {Reference})* \')

-

-// [10] AttValue ::= '"' ([^<&"] | Reference)* '"' |  "'" ([^<&'] | Reference)* "'"

-AttValue = ( \" ([^<\"] | {Reference})* \" | \' ([^<\'] | {Reference})* \'  | ([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )* )

-

-// [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'") 

-SystemLiteral = ((\" [^\"]* \") | (\' [^\']* \')) 

-

-// [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"

-PubidLiteral = (\" {PubidChar}* \" | \' ({PubidChar}\')* "'")

-

-// [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]

-PubidChar = ([\040\015\012] | [a-zA-Z0-9] | [\-\'()\+,.\/:=?;!\*#@\$_%])

-

-// [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)

-// implement lookahead behavior during action definition

-CharData = ([^<&(\]\]>)]*)

-

-// [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

-CommentStart = (<!\-\-)

-CommentEnd   = (\-\->)

-Comment = ({CommentStart}.*{CommentEnd})

-

-// [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'

-PI = (<\?{PITarget} {Char}* \?>)

-

-// [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))

-PITarget = ({Name}((X|x)(M|m)(L|l)))

-

-// [18] CDSect ::= CDStart CData CDEnd

-CDSect = ({CDStart}{CData}{CDEnd})

-

-// [19] CDStart ::= '<![CDATA['

-CDStart = <!\[CDATA\[

-

-// [20] CData ::= (Char* - (Char* ']]>' Char*)) 

-// implement lookahead behavior during action definition

-CData = ([^(\]\]>)]*)

-

-// [21] CDEnd ::= ']]>'

-CDEnd = (\]\]>)

-

-// [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?

-prolog = ({XMLDecl}? {Misc}* ({doctypedecl} {Misc}*)?)

-

-// [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'

-XMLDecl = (<\?xml {VersionInfo} {EncodingDecl}? {SDDecl}? {S}? \?>)

-

-// [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ")

-VersionInfo = ({S}version{Eq}(\'{VersionNum}\' | \"{VersionNum}\"))

-

-// [25] Eq ::= S? '=' S?

-Eq = (\=)

-

-// [26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+

-VersionNum = (([a-zA-Z0-9_.:]|\-)+)

-

-// [27] Misc ::= Comment | PI |  S

-Misc = ({Comment} | {PI} | {S})

-

-// [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)?  S? ('[' (markupdecl | PEReference | S)* ']' S?)? '>'

-doctypedecl = (<\!DOCTYPE{S}{Name} ({S}{ExternalID})? {S}? (\[ ({markupdecl}|{PEReference}|{S})* \]{S}?)?>)

-

-// [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment

-markupdecl = ({elementdecl} | {AttlistDecl} | {EntityDecl} | {NotationDecl} | {PI} | {Comment})

-

-// [30] extSubset ::= TextDecl? extSubsetDecl

-extSubset = ({TextDecl}? {extSubsetDecl})

-

-// [31] extSubsetDecl ::= ( markupdecl | conditionalSect | PEReference | S )*

-extSubsetDecl = (( {markupdecl} | {conditionalSect} | {PEReference} | {S} )*)

-

-// [32]  SDDecl  ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))

-SDDecl  = ({S}standalone{Eq}{S}*((\'(yes|no)\')|(\"(yes|no)\")))

-

-// [33]  LanguageID  ::= Langcode ('-' Subcode)*

-LanguageID  = ({Langcode}(\-{Subcode})*)

-

-// [34]  Langcode ::= ISO639Code |  IanaCode |  UserCode

-Langcode = ({ISO639Code} |  {IanaCode} |  {UserCode})

-

-// [35]  ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z])

-ISO639Code = (([a-z]|[A-Z])([a-z]|[A-Z]))

-

-// [36]  IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+

-IanaCode = ((i|I)\-([a-z]|[A-Z])+)

-

-// [37]  UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+

-UserCode = ((x|X)\-([a-z]|[A-Z])+)

-

-// [38]  Subcode ::= ([a-z] | [A-Z])+

-Subcode = (([a-z]|[A-Z])+)

-

-// [39]  element  ::= EmptyElemTag | STag content ETag

-element  = ({EmptyElemTag} | {STag} {content} {ETag})

-

-// [40]  STag  ::= '<' Name (S Attribute)* S? '>'

-STag = (<{Name}({S}{Attribute})*{S}?>)

-

-// [41]  Attribute ::= Name Eq AttValue

-Attribute = ({Name}{S}*{Eq}{S}*{AttValue})

-

-// [42]  ETag  ::= 'Name S? '>'

-ETag = (<\/{Name}{S}?>)

-

-// [43]  content  ::= (element | CharData | Reference | CDSect | PI | Comment)*

-content = (({element} | {CharData} | {Reference} | {CDSect} | {PI} | {Comment})*)

-

-// [44]  EmptyElemTag  ::= '<' Name (S Attribute)* S? '/>'

-EmptyElemTag = (<{Name}({S}{Attribute})*{S}?\/>)

-

-// [45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>'

-elementdecl = (<\!ELEMENT{S}{Name}{S}{contentspec}{S}?>)

-

-// [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children

-contentspec = (EMPTY|ANY|{Mixed}|{children})

-

-// [47] children ::= (choice | seq) ('?' | '*' | '+')?

-children = (({choice}|{seq})(\?|\*|\+)?)

-

-// CAUSES LOOP THROUGH DEFS OF CHOICE AND SEQ

-// [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')?

-cp = (({Name} | {choice} | {seq}) (\?|\*|\+)?)

-

-// [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')'

-// choice = \({S}?{cp}({S}?\|{S}?{cp})*{S}?\)

-choice = \({S}?{Name}({S}?\|{S}?{Name})*{S}?\)

-

-// [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')'

-// seq = (\({S}?{cp}({S}?\,{S}?{cp})*{S}?\))

-seq = (\({S}?{Name}({S}?\,{S}?{Name})*{S}?\))

-

-// [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S?  ')*' | '(' S? '#PCDATA' S? ')'

-Mixed = ({S}?\#PCDATA({S}?\|{S}?{Name})*{S}?)*\|({S}?\#PCDATA{S}?)

-

-// [52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'

-AttlistDecl = (<\!ATTLIST{S}{Name}{AttDef}*{S}?>)

-

-// [53] AttDef ::= S Name S AttType S DefaultDecl

-AttDef = ({S}{Name}{S}{AttType}{S}{DefaultDecl})

-

-// [54] AttType ::= StringType | TokenizedType | EnumeratedType 

-AttType = ({StringType} | {TokenizedType} | {EnumeratedType})

-

-// [55] StringType ::= 'CDATA'

-StringType = (CDATA)

-

-// [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS'

-TokenizedType = (ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS)

-

-// [57] EnumeratedType ::= NotationType | Enumeration 

-EnumeratedType = ({NotationType} | {Enumeration})

-

-// [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' 

-NotationType = (NOTATION{S}\({S}?{Name}({S}?\|{S}?{Name})*{S}?\))

-

-// [59] Enumeration ::= '(' S? Nmtoken (S? '|' S?  Nmtoken)* S? ')'

-Enumeration = (\({S}?{Nmtoken}({S}?\|{S}?{Nmtoken})*{S}?\))

-

-// [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue)

-DefaultDecl = (\#REQUIRED|\#IMPLIED|((\#FIXED{S})?{AttValue}))

-

-// [61] conditionalSect ::= includeSect | ignoreSect 

-conditionalSect = ({includeSect} | {ignoreSect})

-

-// [62] includeSect ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>' 

-includeSect = (<\!\[{S}?INCLUDE{S}?\[{extSubsetDecl}\]\]>)

-

-// [63] ignoreSect ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>'

-ignoreSect = (<\!\[{S}?IGNORE{S}?\[{ignoreSectContents}*\]\]>)

-

-// [64] ignoreSectContents ::= Ignore ('<![' ignoreSectContents ']]>' Ignore)*

-ignoreSectContents = ({Ignore}(<\!\[{ignoreSectContents}\]\]>{Ignore})*)

-

-// [65] Ignore ::= Char* - (Char* ('<![' | ']]>') Char*)

-Ignore =  ([^(\<\!\[|\]\]\>)]*)

-

-// [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'

-CharRef = (&#[0-9]+;|&#x[0-9a-fA-F]+;)

-

-// [67] Reference ::= EntityRef | CharRef

-Reference = ({EntityRef} | {CharRef})

-

-// [68] EntityRef = '&' Name ';'

-EntityRef = (&{Name};)

-

-// [69] PEReference ::= '%' Name ';'

-PEReference = (%{Name};)

-

-// [70] EntityDecl ::= GEDecl | PEDecl

-EntityDecl = ({GEDecl} | {PEDecl})

-

-// [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>'

-GEDecl = (<\!ENTITY{S}{Name}{S}{EntityDef}{S}?>)

-

-// [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'

-PEDecl = (<\!ENTITY{S}\%{S}{Name}{S}{PEDef}{S}?>)

-

-// [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)

-EntityDef = ({EntityValue} | ({ExternalID}{NDataDecl}?))

-

-// [74] PEDef ::= EntityValue | ExternalID

-PEDef = ({EntityValue} | {ExternalID})

-

-// [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral 

-ExternalID = (SYSTEM{S}{SystemLiteral}|PUBLIC{S}{PubidLiteral}{S}{SystemLiteral} )

-

-// [76] NDataDecl ::= S 'NDATA' S Name

-NDataDecl = ({S}NDATA{S}{Name})

-

-// [77] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>'

-TextDecl = (<\?xml{VersionInfo}?{EncodingDecl}{S}?\?>)

-

-// [78] extParsedEnt ::= TextDecl? content

-extParsedEnt = ({TextDecl}?{content})

-

-// [79] extPE ::= TextDecl? extSubsetDecl

-extPE = ({TextDecl}?{extSubsetDecl})

-

-// [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' |  "'" EncName "'" ) 

-EncodingDecl = ({S}encoding{S}*{Eq}{S}*(\"{EncName}\"|\'{EncName}\'))

-

-// [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*

-EncName = ([A-Za-z]([A-Za-z0-9._]|\-)*)

-

-// [82] NotationDecl ::= '<!NOTATION' S Name S (ExternalID |  PublicID) S? '>'

-NotationDecl = (<\!NOTATION{S}{Name}{S}({ExternalID}|{PublicID}){S}?>)

-

-// [83] PublicID ::= 'PUBLIC' S PubidLiteral

-PublicID = (PUBLIC{S}{PubidLiteral})

-

-// [84]  Letter ::= BaseChar | Ideographic

-Letter = ({BaseChar} | {Ideographic})

-

-// [85]  BaseChar ::= [#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6]

-// | [#x00D8-#x00F6] | [#x00F8-#x00FF] | [#x0100-#x0131]

-// | [#x0134-#x013E] | [#x0141-#x0148] | [#x014A-#x017E]

-// | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5]

-// | [#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386

-// | [#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE]

-// | [#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0

-// | [#x03E2-#x03F3] | [#x0401-#x040C] | [#x040E-#x044F]

-// | [#x0451-#x045C] | [#x045E-#x0481] | [#x0490-#x04C4]

-// | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB]

-// | [#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559

-// | [#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2]

-// | [#x0621-#x063A] | [#x0641-#x064A] | [#x0671-#x06B7]

-// | [#x06BA-#x06BE] | [#x06C0-#x06CE] | [#x06D0-#x06D3] | #x06D5

-// | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D | [#x0958-#x0961]

-// | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8]

-// | [#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD]

-// | [#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A]

-// | [#x0A0F-#x0A10] | [#x0A13-#x0A28] | [#x0A2A-#x0A30]

-// | [#x0A32-#x0A33] | [#x0A35-#x0A36] | [#x0A38-#x0A39]

-// | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74] | [#x0A85-#x0A8B]

-// | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] | [#x0AAA-#x0AB0]

-// | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0

-// | [#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28]

-// | [#x0B2A-#x0B30] | [#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D

-// | [#x0B5C-#x0B5D] | [#x0B5F-#x0B61] | [#x0B85-#x0B8A]

-// | [#x0B8E-#x0B90] | [#x0B92-#x0B95] | [#x0B99-#x0B9A] | #x0B9C

-// | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] | [#x0BA8-#x0BAA]

-// | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C]

-// | [#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33]

-// | [#x0C35-#x0C39] | [#x0C60-#x0C61] | [#x0C85-#x0C8C]

-// | [#x0C8E-#x0C90] | [#x0C92-#x0CA8] | [#x0CAA-#x0CB3]

-// | [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | [#x0D05-#x0D0C]

-// | [#x0D0E-#x0D10] | [#x0D12-#x0D28] | [#x0D2A-#x0D39]

-// | [#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33]

-// | [#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88]

-// | #x0E8A | #x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F]

-// | [#x0EA1-#x0EA3] | #x0EA5 | #x0EA7 | [#x0EAA-#x0EAB]

-// | [#x0EAD-#x0EAE] | #x0EB0 | [#x0EB2-#x0EB3] | #x0EBD

-// | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] | [#x0F49-#x0F69]

-// | [#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 | [#x1102-#x1103]

-// | [#x1105-#x1107] | #x1109 | [#x110B-#x110C] | [#x110E-#x1112]

-// | #x113C | #x113E | #x1140 | #x114C | #x114E | #x1150

-// | [#x1154-#x1155] | #x1159 | [#x115F-#x1161] | #x1163 | #x1165

-// | #x1167 | #x1169 | [#x116D-#x116E] | [#x1172-#x1173] | #x1175

-// | #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | [#x11B7-#x11B8]

-// | #x11BA | [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9

-// | [#x1E00-#x1E9B] | [#x1EA0-#x1EF9] | [#x1F00-#x1F15]

-// | [#x1F18-#x1F1D] | [#x1F20-#x1F45] | [#x1F48-#x1F4D]

-// | [#x1F50-#x1F57] | #x1F59 | #x1F5B | #x1F5D | [#x1F5F-#x1F7D]

-// | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | [#x1FC2-#x1FC4]

-// | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB]

-// | [#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126

-// | [#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094]

-// | [#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]

-BaseChar = [\u0041-\u005A\u0061-\u007A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u0131\u0134-\u013E\u0141-\u0148\u014A-\u017E\u0180-\u01C3\u01CD-\u01F0\u01F4-\u01F5\u01FA-\u0217\u0250-\u02A8\u02BB-\u02C1\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03CE\u03D0-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2-\u03F3\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E-\u0481\u0490-\u04C4\u04C7-\u04C8\u04CB-\u04CC\u04D0-\u04EB\u04EE-\u04F5\u04F8-\u04F9\u0531-\u0556\u0559\u0561-\u0586\u05D0-\u05EA\u05F0-\u05F2\u0621-\u063A\u0641-\u064A\u0671-\u06B7\u06BA-\u06BE\u06C0-\u06CE\u06D0-\u06D3\u06D5\u06E5-\u06E6\u0905-\u0939\u093D\u0958-\u0961\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8B\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AE0\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B36-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB5\u0BB7-\u0BB9\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CDE\u0CE0-\u0CE1\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D60-\u0D61\u0E01-\u0E2E\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EAE\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0F40-\u0F47\u0F49-\u0F69\u10A0-\u10C5\u10D0-\u10F6\u1100\u1102-\u1103\u1105-\u1107\u1109\u110B-\u110C\u110E-\u1112\u113C\u113E\u1140\u114C\u114E\u1150\u1154-\u1155\u1159\u115F-\u1161\u1163\u1165\u1167\u1169\u116D-\u116E\u1172-\u1173\u1175\u119E\u11A8\u11AB\u11AE-\u11AF\u11B7-\u11B8\u11BA\u11BC-\u11C2\u11EB\u11F0\u11F9\u1E00-\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A-\u212B\u212E\u2180-\u2182\u3041-\u3094\u30A1-\u30FA\u3105-\u312C\uAC00-\uD7A3]

-

-// [86]  Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]

-Ideographic = [\u4E00-\u9FA5\u3007\u3021-\u3029]

-

-// [87]      CombiningChar    ::=    [#x0300-#x0345]    | [#x0360-#x0361]

-// | [#x0483-#x0486]          | [#x0591-#x05A1]         | [#x05A3-#x05B9]

-// | [#x05BB-#x05BD]       | #x05BF       | [#x05C1-#x05C2]	 | #x05C4

-// | [#x064B-#x0652]    | #x0670    | [#x06D6-#x06DC]   | [#x06DD-#x06DF]

-// | [#x06E0-#x06E4]          | [#x06E7-#x06E8]         | [#x06EA-#x06ED]

-// | [#x0901-#x0903]       | #x093C       | [#x093E-#x094C]      | #x094D

-// | [#x0951-#x0954]    | [#x0962-#x0963]    | [#x0981-#x0983]   | #x09BC

-// | #x09BE       | #x09BF       | [#x09C0-#x09C4]      | [#x09C7-#x09C8]

-// | [#x09CB-#x09CD]   | #x09D7   | [#x09E2-#x09E3]   | #x0A02   | #x0A3C

-// | #x0A3E       | #x0A3F       | [#x0A40-#x0A42]      | [#x0A47-#x0A48]

-// | [#x0A4B-#x0A4D]    | [#x0A70-#x0A71]    | [#x0A81-#x0A83]   | #x0ABC

-// | [#x0ABE-#x0AC5]          | [#x0AC7-#x0AC9]         | [#x0ACB-#x0ACD]

-// | [#x0B01-#x0B03]    | #x0B3C    | [#x0B3E-#x0B43]   | [#x0B47-#x0B48]

-// | [#x0B4B-#x0B4D]          | [#x0B56-#x0B57]         | [#x0B82-#x0B83]

-// | [#x0BBE-#x0BC2]    | [#x0BC6-#x0BC8]    | [#x0BCA-#x0BCD]   | #x0BD7

-// | [#x0C01-#x0C03]          | [#x0C3E-#x0C44]         | [#x0C46-#x0C48]

-// | [#x0C4A-#x0C4D]          | [#x0C55-#x0C56]         | [#x0C82-#x0C83]

-// | [#x0CBE-#x0CC4]          | [#x0CC6-#x0CC8]         | [#x0CCA-#x0CCD]

-// | [#x0CD5-#x0CD6]          | [#x0D02-#x0D03]         | [#x0D3E-#x0D43]

-// | [#x0D46-#x0D48]       | [#x0D4A-#x0D4D]       | #x0D57      | #x0E31

-// | [#x0E34-#x0E3A]    | [#x0E47-#x0E4E]    | #x0EB1   | [#x0EB4-#x0EB9]

-// | [#x0EBB-#x0EBC]    | [#x0EC8-#x0ECD]    | [#x0F18-#x0F19]   | #x0F35

-// | #x0F37      | #x0F39     | #x0F3E     | #x0F3F     | [#x0F71-#x0F84]

-// | [#x0F86-#x0F8B]    | [#x0F90-#x0F95]    | #x0F97   | [#x0F99-#x0FAD]

-// | [#x0FB1-#x0FB7]       | #x0FB9       | [#x20D0-#x20DC]      | #x20E1

-// | [#x302A-#x302F] | #x3099 | #x309A

-CombiningChar =    [\u0300-\u0345\u0360-\u0361\u0483-\u0486\u0591-\u05A1\u05A3-\u05B9\u05BB-\u05BD\u05BF\u05C1-\u05C2\u05C4\u064B-\u0652\u0670\u06D6-\u06DC\u06DD-\u06DF\u06E0-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0901-\u0903\u093C\u093E-\u094C\u094D\u0951-\u0954\u0962-\u0963\u0981-\u0983\u09BC\u09BE\u09BF\u09C0-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u0A02\u0A3C\u0A3E\u0A3F\u0A40-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A70-\u0A71\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0B01-\u0B03\u0B3C\u0B3E-\u0B43\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B82-\u0B83\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C01-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C82-\u0C83\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D43\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86-\u0F8B\u0F90-\u0F95\u0F97\u0F99-\u0FAD\u0FB1-\u0FB7\u0FB9\u20D0-\u20DC\u20E1\u302A-\u302F\u3099\u309A]

-

-// [88]   Digit  ::=  [#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9]

-// | [#x0966-#x096F]          | [#x09E6-#x09EF]         | [#x0A66-#x0A6F]

-// | [#x0AE6-#x0AEF]          | [#x0B66-#x0B6F]         | [#x0BE7-#x0BEF]

-// | [#x0C66-#x0C6F]          | [#x0CE6-#x0CEF]         | [#x0D66-#x0D6F]

-// | [#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]

-Digit =  [\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE7-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29]

-

-// [89]  Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46

-// | #x0EC6       | #x3005       | [#x3031-#x3035]      | [#x309D-#x309E]

-// | [#x30FC-#x30FE]

-Extender = [\u00B7\u02D0\u02D1\u0387\u0640\u0E46\u0EC6\u3005\u3031-\u3035\u309D-\u309E\u30FC-\u30FE]

-

-%%

-

-

-/* white space within a tag */

-<ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE, ST_PI, ST_XML_PI_EQUALS, ST_XML_PI_ATTRIBUTE_NAME, ST_XML_PI_ATTRIBUTE_VALUE, ST_XML_DECLARATION, ST_XML_DOCTYPE_DECLARATION, ST_XML_ELEMENT_DECLARATION, ST_XML_ATTLIST_DECLARATION, ST_XML_DECLARATION_CLOSE, ST_XML_DOCTYPE_ID_PUBLIC, ST_XML_DOCTYPE_ID_SYSTEM, ST_XML_DOCTYPE_EXTERNAL_ID,ST_DHTML_ATTRIBUTE_NAME,ST_DHTML_EQUALS,ST_DHTML_ATTRIBUTE_VALUE,ST_DHTML_TAG_CLOSE> {S}* {

-	if(Debug.debugTokenizer)

-		dump("white space");//$NON-NLS-1$

-        return WHITE_SPACE;

-}

-

-// BEGIN REGULAR XML

-/* handle opening a new tag almost anywhere */

-<YYINITIAL, ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_DECLARATION, ST_XML_ATTRIBUTE_VALUE> {genericTagOpen} {

-	if(Debug.debugTokenizer)

-		dump("\nstart tag open");//$NON-NLS-1$

-        yybegin(ST_XML_TAG_NAME);

-        return XML_TAG_OPEN;

-}

-

-/* unquoted */

-

-<YYINITIAL, ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE, ST_XML_DECLARATION> {genericEndTagOpen} {

-	if(Debug.debugTokenizer)

-		dump("\nend tag open");//$NON-NLS-1$

-        yybegin(ST_XML_TAG_NAME);

-        return XML_END_TAG_OPEN;

-}

-/* the tag's name was found, start scanning for attributes */

-<ST_XML_TAG_NAME> {Name} {

-	if(Debug.debugTokenizer)

-		dump("tag name");//$NON-NLS-1$

-        yybegin(ST_XML_ATTRIBUTE_NAME);

-        return XML_TAG_NAME;

-}

-/* another attribute name was found, resume looking for the equals sign */

-<ST_XML_ATTRIBUTE_NAME, ST_XML_EQUALS> {Name} {

-	if(Debug.debugTokenizer)

-		dump("attr name");//$NON-NLS-1$

-        yybegin(ST_XML_EQUALS);

-        return XML_TAG_ATTRIBUTE_NAME;

-}

-/* an equal sign was found, what's next is the value */

-<ST_XML_EQUALS> {Eq} {

-	if(Debug.debugTokenizer)

-		dump("equals");//$NON-NLS-1$

-        yybegin(ST_XML_ATTRIBUTE_VALUE);

-        return XML_TAG_ATTRIBUTE_EQUALS;

-}

-/* the value was found, look for the next name */

-/* allow for unbalanced quotes, mostly a duplicate of the AttValue rule */

-<ST_XML_ATTRIBUTE_VALUE> {AttValue} | ([\'\"]([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )* ) {

-	if(Debug.debugTokenizer)

-		dump("attr value");//$NON-NLS-1$

-        yybegin(ST_XML_ATTRIBUTE_NAME);

-        return XML_TAG_ATTRIBUTE_VALUE;

-}

-

-

-/* the tag's close was found */

-<ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE> {genericTagClose} {

-	if(Debug.debugTokenizer)

-		dump("tag close");//$NON-NLS-1$

-	if(isBlockMarker()) {

-        	yybegin(ST_BLOCK_TAG_SCAN);

-	}

-	else

-        	yybegin(YYINITIAL);

-        return XML_TAG_CLOSE;

-}

-/* the tag's close was found, but the tag doesn't need a matching end tag */

-<ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE> {genericEmptyTagClose} {

-        yybegin(YYINITIAL);

-	if(Debug.debugTokenizer)

-		dump("empty tag close");//$NON-NLS-1$

-        return XML_EMPTY_TAG_CLOSE;

-}

-

-<ST_XML_TAG_NAME> [^</>\u0041-\u005A\u0061-\u007A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u0131\u0134-\u013E\u0141-\u0148\u014A-\u017E\u0180-\u01C3\u01CD-\u01F0\u01F4-\u01F5\u01FA-\u0217\u0250-\u02A8\u02BB-\u02C1\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03CE\u03D0-\u03D6\u03DA\u03DC\u03DE\u03E0\u03E2-\u03F3\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E-\u0481\u0490-\u04C4\u04C7-\u04C8\u04CB-\u04CC\u04D0-\u04EB\u04EE-\u04F5\u04F8-\u04F9\u0531-\u0556\u0559\u0561-\u0586\u05D0-\u05EA\u05F0-\u05F2\u0621-\u063A\u0641-\u064A\u0671-\u06B7\u06BA-\u06BE\u06C0-\u06CE\u06D0-\u06D3\u06D5\u06E5-\u06E6\u0905-\u0939\u093D\u0958-\u0961\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8B\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AE0\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B36-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB5\u0BB7-\u0BB9\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CDE\u0CE0-\u0CE1\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D60-\u0D61\u0E01-\u0E2E\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EAE\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0F40-\u0F47\u0F49-\u0F69\u10A0-\u10C5\u10D0-\u10F6\u1100\u1102-\u1103\u1105-\u1107\u1109\u110B-\u110C\u110E-\u1112\u113C\u113E\u1140\u114C\u114E\u1150\u1154-\u1155\u1159\u115F-\u1161\u1163\u1165\u1167\u1169\u116D-\u116E\u1172-\u1173\u1175\u119E\u11A8\u11AB\u11AE-\u11AF\u11B7-\u11B8\u11BA\u11BC-\u11C2\u11EB\u11F0\u11F9\u1E00-\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A-\u212B\u212E\u2180-\u2182\u3041-\u3094\u30A1-\u30FA\u3105-\u312C\uAC00-\uD7A3\u4E00-\u9FA5\u3007\u3021-\u3029]* {

-	if(Debug.debugTokenizer)

-		dump("inappropriate tag name");//$NON-NLS-1$

-	yybegin(YYINITIAL);

-        return XML_CONTENT;

-}

-

-// END REGULAR XML

-

-

-// XML Comments

-

-<YYINITIAL, ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE, ST_XML_DECLARATION> {CommentStart} {

-	if(Debug.debugTokenizer)

-		dump("\ncomment start");//$NON-NLS-1$

-	yybegin(ST_XML_COMMENT);

-	return XML_COMMENT_OPEN;

-}

-<ST_XML_COMMENT> .|\r|\n {

-	if(Debug.debugTokenizer)

-		dump("comment content");//$NON-NLS-1$

-	return scanXMLCommentText();

-}

-

-<ST_XML_COMMENT_END> {CommentEnd} {

-	if(Debug.debugTokenizer)

-		dump("comment end");//$NON-NLS-1$

-	yybegin(YYINITIAL);

-	return XML_COMMENT_CLOSE;

-}

-

-// XML misc

-

-{CDStart} {

-	if(Debug.debugTokenizer)

-		dump("\nCDATA start");//$NON-NLS-1$

-	fStateStack.push(yystate());

-	yybegin(ST_CDATA_TEXT);

-	return XML_CDATA_OPEN;

-}

-<ST_CDATA_TEXT> .|\r|\n {

-	if(Debug.debugTokenizer)

-		dump("CDATA text");//$NON-NLS-1$

-	String blockContext = doBlockScan("]]>", XML_CDATA_TEXT, ST_CDATA_END);//$NON-NLS-1$

-	if(blockContext == XML_CDATA_TEXT)

-		yybegin(ST_CDATA_END);

-	return blockContext;

-}

-<ST_CDATA_END> {CDEnd} {

-	if(Debug.debugTokenizer)

-		dump("CDATA end");//$NON-NLS-1$

-	yybegin(fStateStack.pop());

-	return XML_CDATA_CLOSE;

-}

-

-<YYINITIAL> {PEReference} {

-	if(Debug.debugTokenizer)

-		dump("\nPEReference");//$NON-NLS-1$

-	return XML_PE_REFERENCE;

-}

-<YYINITIAL> {CharRef} {

-	if(Debug.debugTokenizer)

-		dump("\nCharRef");//$NON-NLS-1$

-	return XML_CHAR_REFERENCE;

-}

-<YYINITIAL> {EntityRef} {

-	if(Debug.debugTokenizer)

-		dump("\nEntityRef");//$NON-NLS-1$

-	return XML_ENTITY_REFERENCE;

-}

-

-<YYINITIAL> {PIstart} {

-	if(Debug.debugTokenizer)

-		dump("\nprocessing instruction start");//$NON-NLS-1$

-	yybegin(ST_PI);

-        return XML_PI_OPEN;

-}

-// the next three are order dependent

-<ST_PI> ((X|x)(M|m)(L|l)) {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction target");//$NON-NLS-1$

-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);

-        return XML_TAG_NAME;

-}

-<ST_PI> ([iI][mM][pP][oO][rR][tT]{S}*) {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction target");//$NON-NLS-1$

-        yybegin(ST_DHTML_ATTRIBUTE_NAME);

-        return XML_TAG_NAME;

-}

-<ST_PI> {Name} {

-	if(Debug.debugTokenizer)

-		dump("processing instruction target");//$NON-NLS-1$

-        yybegin(ST_PI_WS);

-        return XML_TAG_NAME;

-}

-<ST_PI_WS> {S}+ {

-        yybegin(ST_PI_CONTENT);

-        return WHITE_SPACE;

-}

-<ST_PI, ST_PI_WS> \?> {

-	if(Debug.debugTokenizer)

-		dump("processing instruction end");//$NON-NLS-1$

-        yybegin(YYINITIAL);

-        return XML_PI_CLOSE;

-}

-<ST_PI_CONTENT> . {

-	// block scan until close is found

-	return doScan("?>", false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);

-}

-<ST_PI_CONTENT,ST_XML_PI_TAG_CLOSE> \?> {

-		// ended with nothing inside

-        yybegin(YYINITIAL);

-        return XML_PI_CLOSE;

-}

-<ST_XML_PI_ATTRIBUTE_NAME, ST_XML_PI_EQUALS> {Name} {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction attribute name");//$NON-NLS-1$

-        yybegin(ST_XML_PI_EQUALS);

-        return XML_TAG_ATTRIBUTE_NAME;

-}

-<ST_XML_PI_EQUALS> {Eq} {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction '='");//$NON-NLS-1$

-        yybegin(ST_XML_PI_ATTRIBUTE_VALUE);

-        return XML_TAG_ATTRIBUTE_EQUALS;

-}

-/* the value was found, look for the next name */

-<ST_XML_PI_ATTRIBUTE_VALUE> {AttValue} | ([\'\"]([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )* ) {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction attribute value");//$NON-NLS-1$

-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);

-        return XML_TAG_ATTRIBUTE_VALUE;

-}

-/* the PI's close was found */

-<ST_XML_PI_EQUALS, ST_XML_PI_ATTRIBUTE_NAME, ST_XML_PI_ATTRIBUTE_VALUE> {PIend} {

-	if(Debug.debugTokenizer)

-		dump("XML processing instruction end");//$NON-NLS-1$

-        yybegin(YYINITIAL);

-        return XML_PI_CLOSE;

-}

-// DHTML

-<ST_DHTML_ATTRIBUTE_NAME, ST_DHTML_EQUALS> {Name} {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction attribute name");//$NON-NLS-1$

-        yybegin(ST_DHTML_EQUALS);

-        return XML_TAG_ATTRIBUTE_NAME;

-}

-<ST_DHTML_EQUALS> {Eq} {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction '='");//$NON-NLS-1$

-        yybegin(ST_DHTML_ATTRIBUTE_VALUE);

-        return XML_TAG_ATTRIBUTE_EQUALS;

-}

-/* the value was found, look for the next name */

-<ST_DHTML_ATTRIBUTE_VALUE> {AttValue} | ([\'\"]([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )* ) {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction attribute value");//$NON-NLS-1$

-        yybegin(ST_DHTML_ATTRIBUTE_NAME);

-        return XML_TAG_ATTRIBUTE_VALUE;

-}

-/* The DHTML PI's close was found */

-<ST_DHTML_EQUALS, ST_DHTML_ATTRIBUTE_NAME, ST_DHTML_ATTRIBUTE_VALUE> [/]*> {

-	if(Debug.debugTokenizer)

-		dump("DHTML processing instruction end");//$NON-NLS-1$

-        yybegin(YYINITIAL);

-        return XML_PI_CLOSE;

-}

-

-// XML declarations

-

-<YYINITIAL, ST_XML_TAG_NAME, ST_XML_EQUALS, ST_XML_ATTRIBUTE_NAME, ST_XML_ATTRIBUTE_VALUE> {genericTagOpen}! {

-	fStateStack.push(yystate());

-	if(Debug.debugTokenizer)

-		dump("\ndeclaration start");//$NON-NLS-1$

-        yybegin(ST_XML_DECLARATION);

-	return XML_DECLARATION_OPEN;

-}

-<ST_XML_DECLARATION> [Ee][Ll][Ee][Mm][Ee][Nn][Tt] {

-	if(Debug.debugTokenizer)

-		dump("element");//$NON-NLS-1$

-	yybegin(ST_XML_ELEMENT_DECLARATION);

-	return XML_ELEMENT_DECLARATION;

-}

-<ST_XML_DECLARATION> [Dd][Oo][Cc][Tt][Yy][Pp][Ee] {

-	if(Debug.debugTokenizer)

-		dump("doctype");//$NON-NLS-1$

-	yybegin(ST_XML_DOCTYPE_DECLARATION);

-	return XML_DOCTYPE_DECLARATION;

-}

-<ST_XML_DECLARATION> [Aa][Tt][Tt][Ll][Ii][Ss][Tt] {

-	if(Debug.debugTokenizer)

-		dump("attlist");//$NON-NLS-1$

-	yybegin(ST_XML_ATTLIST_DECLARATION);

-	return XML_ATTLIST_DECLARATION;

-}

-

-// begin DOCTYPE handling procedure

-<ST_XML_DOCTYPE_DECLARATION, ST_XML_DOCTYPE_EXTERNAL_ID, ST_XML_DOCTYPE_ID_SYSTEM, ST_XML_DOCTYPE_ID_PUBLIC, ST_XML_DECLARATION_CLOSE> \[[^\]]*\] {

-	return XML_DOCTYPE_INTERNAL_SUBSET;

-}

-

-<ST_XML_DOCTYPE_DECLARATION> {Name} {

-	if(Debug.debugTokenizer)

-		dump("doctype type");//$NON-NLS-1$

-	yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);

-	return XML_DOCTYPE_NAME;

-}

-<ST_XML_DOCTYPE_EXTERNAL_ID> [Pp][Uu][Bb][Ll][Ii][Cc] {

-	if(Debug.debugTokenizer)

-		dump("doctype external id");//$NON-NLS-1$

-	yybegin(ST_XML_DOCTYPE_ID_PUBLIC);

-	return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;

-}

-<ST_XML_DOCTYPE_EXTERNAL_ID> [Ss][Yy][Ss][Tt][Ee][Mm] {

-	if(Debug.debugTokenizer)

-		dump("doctype external id");//$NON-NLS-1$

-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);

-	return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;

-}

-<ST_XML_DOCTYPE_ID_PUBLIC> {AttValue}|{PubidLiteral}|([\'\"]([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )* ) {

-	if(Debug.debugTokenizer)

-		dump("doctype public reference");//$NON-NLS-1$

-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);

-	return XML_DOCTYPE_EXTERNAL_ID_PUBREF;

-}

-<ST_XML_DOCTYPE_ID_SYSTEM> {AttValue}|{SystemLiteral}|([\'\"]([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )* ) {

-	if(Debug.debugTokenizer)

-		dump("doctype system reference");//$NON-NLS-1$

-	yybegin(ST_XML_DECLARATION_CLOSE);

-	return XML_DOCTYPE_EXTERNAL_ID_SYSREF;

-}

-// end DOCTYPE handling

-

-// begin ELEMENT handling procedure

-<ST_XML_ELEMENT_DECLARATION> {AttValue}|{PubidLiteral}|([\'\"]([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )* ) {

-	if(Debug.debugTokenizer)

-		dump("elementdecl name");//$NON-NLS-1$

-	yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);

-	return XML_ELEMENT_DECL_NAME;

-}

-<ST_XML_ELEMENT_DECLARATION_CONTENT> [^>]* {

-	if(Debug.debugTokenizer)

-		dump("elementdecl contentspec");//$NON-NLS-1$

-	return XML_ELEMENT_DECL_CONTENT;

-}

-

-<ST_XML_ELEMENT_DECLARATION_CONTENT> {genericTagClose} {

-	if(Debug.debugTokenizer)

-		dump("elementdecl close");//$NON-NLS-1$

-	if (Debug.debugTokenizer) {

-		if(fStateStack.peek()!=YYINITIAL)

-			System.out.println("end embedded region");//$NON-NLS-1$

-	}

-	yybegin(fStateStack.pop());

-	return XML_DECLARATION_CLOSE;

-}

-// end ELEMENT handling

-

-// begin ATTLIST handling procedure

-<ST_XML_ATTLIST_DECLARATION> {AttValue}|{PubidLiteral}|([\'\"]([^\'\"\040\011\012\015<>/]|\/+[^\'\"\040\011\012\015<>/] )* ) {

-	if(Debug.debugTokenizer)

-		dump("attlist name");//$NON-NLS-1$

-	yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);

-	return XML_ATTLIST_DECL_NAME;

-}

-<ST_XML_ATTLIST_DECLARATION_CONTENT> [^>]* {

-	if(Debug.debugTokenizer)

-		dump("attlist contentspec");//$NON-NLS-1$

-	return XML_ATTLIST_DECL_CONTENT;

-}

-

-<ST_XML_ATTLIST_DECLARATION_CONTENT> {genericTagClose} {

-	if(Debug.debugTokenizer)

-		dump("attlist close");//$NON-NLS-1$

-	if (Debug.debugTokenizer) {

-		if(fStateStack.peek()!=YYINITIAL)

-			System.out.println("end embedded region");//$NON-NLS-1$

-	}

-	yybegin(fStateStack.pop());

-	return XML_DECLARATION_CLOSE;

-}

-// end ATTLIST handling

-

-<ST_XML_DECLARATION, ST_XML_DOCTYPE_DECLARATION, ST_XML_DOCTYPE_EXTERNAL_ID, ST_XML_ATTLIST_DECLARATION, ST_XML_ELEMENT_DECLARATION, ST_XML_DECLARATION_CLOSE, ST_XML_DOCTYPE_ID_PUBLIC, ST_XML_DOCTYPE_ID_SYSTEM, ST_XML_DOCTYPE_EXTERNAL_ID> {genericTagClose} {

-	if(Debug.debugTokenizer)

-		dump("declaration end");//$NON-NLS-1$

-	if (Debug.debugTokenizer) {

-		if(fStateStack.peek()!=YYINITIAL)

-			System.out.println("end embedded region");//$NON-NLS-1$

-	}

-	yybegin(fStateStack.pop());

-	return XML_DECLARATION_CLOSE;

-}

-// end DECLARATION handling

-

-<YYINITIAL> [^<&%]*|[&%]{S}+{Name}[^&%<]*|[&%]{Name}([^;&%<]*|{S}+;*) {

-	if(Debug.debugTokenizer)

-		dump("\nXML content");//$NON-NLS-1$

-	return XML_CONTENT;

-}

-

-

-<ST_BLOCK_TAG_SCAN> .|\r|\n {

-		return doBlockTagScan();

-	}

-

-. {

-	if (Debug.debugTokenizer)

-		System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$

-			yychar + "-" + (yychar + yylength()));//$NON-NLS-1$

-	return UNDEFINED;

-}

-

-\040 {

-	if(Debug.debugTokenizer)

-		dump("SPACE");//$NON-NLS-1$

-	return WHITE_SPACE;

-}

-\011 {

-	if(Debug.debugTokenizer)

-		dump("0x9");//$NON-NLS-1$

-	return WHITE_SPACE;

-}

-\015 

-{

-	if(Debug.debugTokenizer)

-		dump("CARRIAGE RETURN");//$NON-NLS-1$

-	return WHITE_SPACE;

-}

-\012 {

-	if(Debug.debugTokenizer)

-		dump("LINE FEED");//$NON-NLS-1$

-	return WHITE_SPACE;

-}

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flex.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flex.cmd
deleted file mode 100644
index 59e811c..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flex.cmd
+++ /dev/null
@@ -1,3 +0,0 @@
-@echo off

-cmd /c flexx.cmd

-cmd /c flexj.cmd

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flex.sh b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flex.sh
deleted file mode 100644
index 5cb6e3b..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flex.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh

-export PATH=$PATH:/opt/IBMJava2-131/bin/:/opt/IBMJava2-13/bin/:/opt/jdk1.4

-java -Xmx470000000 -cp JFlex/lib/sed-jflex.jar;. JFlex.Main JSPTokenizer.jflex -skel skeleton.sse

-java -Xmx470000000 -cp JFlex/lib/sed-jflex.jar;. JFlex.Main XMLTokenizer.jflex -skel skeleton.sse

-rm -f JSPTokenizer.java~ JSPTokenizer~ XMLTokenizer.java~ XMLTokenizer~

-cp -v XMLTokenizer.java ../../../../sedmodel/com/ibm/sed/parser/internal

-cp -v JSPTokenizer.java ../../../../sedmodel/com/ibm/sed/parser/internal

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexj.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexj.cmd
deleted file mode 100644
index 236ba6a..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexj.cmd
+++ /dev/null
@@ -1,3 +0,0 @@
-@echo off

-PATH=%PATH%;c:\jdk1.4.2_05\bin

-java -Xmx470000000 -cp d:\JFlex\1.2.2\lib\JFlex.jar;. JFlex.Main JSPTokenizer.jflex -skel skeleton.sse && rm -f JSPTokenizer.java~ JSPTokenizer~ && copy JSPTokenizer.java ..\..\..\..\..\org.eclipse.jst.jsp.core\src\org\eclipse\jst\jsp\core\internal\parser\\internal\JSPTokenizer.java

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexx.cmd b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexx.cmd
deleted file mode 100644
index 6142cd3..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/flexx.cmd
+++ /dev/null
@@ -1,3 +0,0 @@
-@echo off

-PATH=%PATH%;c:\jdk1.4.2_05\bin

-java -Xmx470000000 -cp d:\JFlex\1.2.2\lib\JFlex.jar;. JFlex.Main XMLTokenizer.jflex -skel skeleton.sse && rm -f XMLTokenizer.java~ XMLTokenizer~ && copy XMLTokenizer.java ..\..\..\..\..\org.eclipse.wst.xml.core\src\org\eclipse\wst\xml\core\internal\parser\XMLTokenizer.java

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse
deleted file mode 100644
index 92b7634..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse
+++ /dev/null
@@ -1,351 +0,0 @@
-

-  /** this character denotes the end of file */

-  final public static int YYEOF = -1;

-

-  /** lexical states */

----  lexical states, charmap

-

-  /* error codes */

-  final private static int YY_UNKNOWN_ERROR = 0;

-  // final private static int YY_ILLEGAL_STATE = 1;

-  final private static int YY_NO_MATCH = 2;

-  final private static int YY_PUSHBACK_2BIG = 3;

-

-  /* error messages for the codes above */

-  final private static String YY_ERROR_MSG[] = {

-    "Unkown internal scanner error",		//$NON-NLS-1$

-    "Internal error: unknown state",		//$NON-NLS-1$

-    "Error: could not match input",		//$NON-NLS-1$

-    "Error: pushback value was too large"	//$NON-NLS-1$

-  };

-

---- isFinal list

-  /** the input device */

-  private java.io.Reader yy_reader;

-

-  /** the current state of the DFA */

-  private int yy_state;

-

-  /** the current lexical state */

-  private int yy_lexical_state = YYINITIAL;

-

-  /** this buffer contains the current text to be matched and is

-      the source of the yytext() string */

-  private char yy_buffer[] = new char[16384];

-

-  /** the textposition at the last accepting state */

-  private int yy_markedPos;

-

-  /** the textposition at the last state to be included in yytext */

-  private int yy_pushbackPos;

-

-  /** the current text position in the buffer */

-  private int yy_currentPos;

-

-  /** startRead marks the beginning of the yytext() string in the buffer */

-  private int yy_startRead;

-

-  /** endRead marks the last character in the buffer, that has been read

-      from input */

-  private int yy_endRead;

-

-  /** number of newlines encountered up to the start of the matched text */

-  private int yyline;

-

-  /** the number of characters up to the start of the matched text */

-  private int yychar;

-

-  /**

-   * the number of characters from the last newline up to the start of the 

-   * matched text

-   */

-  // private int yycolumn; 

-

-  /** 

-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line

-   */

-  // private boolean yy_atBOL;

-

-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */

-  private boolean yy_atEOF;

-

---- user class code

-

-  /**

-   * Creates a new scanner

-   * There is also a java.io.InputStream version of this constructor.

-   *

-   * @param   in  the java.io.Reader to read input from.

-   */

---- constructor declaration

-

-

-  /**

-   * Gets the next input character.

-   *

-   * @return      the next character of the input stream, EOF if the

-   *              end of the stream is reached.

-   * @exception   IOException  if any I/O-Error occurs

-   */

-  private int yy_advance() throws java.io.IOException {

-

-    /* standard case */

-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];

-

-    /* if the eof is reached, we don't need to work hard */ 

-    if (yy_atEOF) return YYEOF;

-

-    /* otherwise: need to refill the buffer */

-

-    /* first: make room (if you can) */

-    if (yy_startRead > 0) {

-      System.arraycopy(yy_buffer, yy_startRead, 

-                       yy_buffer, 0, 

-                       yy_endRead-yy_startRead);

-

-      /* translate stored positions */

-      yy_endRead-= yy_startRead;

-      yy_currentPos-= yy_startRead;

-      yy_markedPos-= yy_startRead;

-      yy_pushbackPos-= yy_startRead;

-      yy_startRead = 0;

-    }

-

-    /* is the buffer big enough? */

-    if (yy_currentPos >= yy_buffer.length) {

-      /* if not: blow it up */

-      char newBuffer[] = new char[yy_currentPos*2];

-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);

-      yy_buffer = newBuffer;

-    }

-

-    /* finally: fill the buffer with new input */

-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 

-                                            yy_buffer.length-yy_endRead);

-

-    if ( numRead == -1 ) return YYEOF;

-

-    yy_endRead+= numRead;

-

-    return yy_buffer[yy_currentPos++];

-  }

-

-    

-  /**

-   * Closes the input stream.

-   */

-  final public void yyclose() throws java.io.IOException {

-    yy_atEOF = true;            /* indicate end of file */

-    yy_endRead = yy_startRead;  /* invalidate buffer    */

-    yy_reader.close();

-  }

-

-

-  /**

-   * Returns the current lexical state.

-   */

-  final public int yystate() {

-    return yy_lexical_state;

-  }

-

-  /**

-   * Enters a new lexical state

-   *

-   * @param newState the new lexical state

-   */

-  final public void yybegin(int newState) {

-    yy_lexical_state = newState;

-  }

-

-

-  /**

-   * Returns the text matched by the current regular expression.

-   */

-  final public String yytext() {

-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );

-  }

-

-  /**

-   * Returns the length of the matched text region.

-   */

-  final public int yylength() {

-    return yy_markedPos-yy_startRead;

-  }

-

-

-  /**

-   * Reports an error that occured while scanning - from the SED JFlex skeleton

-   *

-   * @param   errorCode  the code of the errormessage to display

-   */

-  private void yy_ScanError(int errorCode) {

-    try {

-      Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);

-    }

-    catch (ArrayIndexOutOfBoundsException e) {

-      Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);

-    }

-    // DO NOT EXIT the VM on an error

-    // System.exit(1);

-  } 

-

-

-  /**

-   * Pushes the specified amount of characters back into the input stream.

-   *

-   * They will be read again by then next call of the scanning method

-   *

-   * @param number  the number of characters to be read again.

-   *                This number must not be greater than yylength()!

-   */

-  void yypushback(int number) {

-    if ( number > yylength() )

-      yy_ScanError(YY_PUSHBACK_2BIG);

-

-    yy_markedPos -= number;

-  }

-

-	/**

-	 * user method - skeleton.sed

-	 */

-	protected final boolean containsTagName(char[] markerTagName, int offset, int tagnameLength) {

-		for(int j = 0; j < fBlockMarkers.size(); j++) {

-			BlockMarker marker = (BlockMarker)fBlockMarkers.get(j);

-			if(marker.getTagName().length() == tagnameLength) {

-				boolean matchesSoFar = true;

-				for(int i = 0; i < tagnameLength && matchesSoFar; i++) {

-					if(marker.isCaseSensitive()) {

-						if(marker.getTagName().charAt(i) != markerTagName[i + offset])

-							matchesSoFar = false;

-					}

-					else {

-						if(Character.toLowerCase(marker.getTagName().charAt(i)) != Character.toLowerCase(markerTagName[i + offset]))

-							matchesSoFar = false;

-					}

-				}

-				if(matchesSoFar)

-					return true;

-			}

-		}

-		return false;

-	}

-

-	/**

-	 * user method - skeleton.sed

-	 *

-	 * Return ALL of the regions scannable within the remaining text

-	 * Note: for verification use

-	 */

-	public final List getRegions() {

-		List tokens = new ArrayList();

-		ITextRegion region = null;

-		try {

-			region = getNextToken();

-			while(region != null) {

-				if (region != null) {

-					tokens.add(region);

-				}

-				region = getNextToken();

-			}

-		}

-		catch (StackOverflowError e) {

-			Logger.logException(getClass().getName()+": input could not be tokenized correctly at position " + getOffset(), e);//$NON-NLS-1$

-			throw e;

-		}

-		catch (Exception e) {

-			// Since this is convenience method and NOT the recommended 

-			// way of getting tokens, many errors are simply hidden

-			Logger.logException("Exception not handled retrieving regions: " + e.getLocalizedMessage(), e);//$NON-NLS-1$

-		}

-		return tokens;

-	}

-	/**

-	 * user method - skeleton.sed

-	 */

-	private final void dump(String s) {

-		if (Debug.debugTokenizer) {

-			System.out.println(s + " (" + yychar + "-" + //$NON-NLS-2$//$NON-NLS-1$

-				(yylength() + yychar) + "):\'" +//$NON-NLS-1$

-					StringUtils.escape(yytext()) + "\'");//$NON-NLS-1$

-		}

-	}

-	/* user method  - skeleton.sed */

-	public final boolean isEOF() {

-		return yy_atEOF;

-	}

-/* user method - skeleton.sed */

-protected final boolean containsTagName(String markerTagName) {

-	Iterator blocks = fBlockMarkers.iterator();

-	while(blocks.hasNext()) {

-		BlockMarker marker = (BlockMarker)blocks.next();

-		if(marker.isCaseSensitive()) {

-			if(marker.getTagName().equals(markerTagName))

-				return true;

-		}

-		else {

-			if(marker.getTagName().equalsIgnoreCase(markerTagName))

-				return true;

-		}

-	}

-	return false;

-}

-

---- yy_doEof

-  /**

-   * Resumes scanning until the next regular expression is matched,

-   * the end of input is encountered or an I/O-Error occurs.

-   *

-   * @return      the next token

-   * @exception   IOException  if any I/O-Error occurs

-   */

---- yylex declaration

-    int yy_input;

-    int yy_action;

-

---- local declarations

-

-    while (true) {

-

---- start admin (line, char, col count)

-      yy_action = -1;

-

-      yy_currentPos = yy_startRead = yy_markedPos;

-

---- start admin (lexstate etc)

-

-      yy_forAction: {

-        while (true) {

-    

-          yy_input = yy_advance();

-

-          if ( yy_input == YYEOF ) break yy_forAction;

-

---- line, col, char count, next transition, isFinal action

-            yy_action = yy_state; 

-            yy_markedPos = yy_currentPos; 

---- line count update

-          }

-

-        }

-      }

-

---- char count update

-

-      switch (yy_action) {    

-

---- actions

-        default: 

-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {

-            yy_atEOF = true;

---- eofvalue

-          } 

-          else {

---- no match

-          }

-      }

-    }

-  }    

-

---- main

-

-}

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse.readme b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse.readme
deleted file mode 100644
index eb89700..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/skeleton.sse.readme
+++ /dev/null
@@ -1,6 +0,0 @@
-The skeleton.sed file contains the modified JFlex 1.2.2 skeleton file with

-changes for use with the tokenizers within the org.eclipse.wst.sse.core.xml and

-org.eclipse.wst.sse.core.jsp plugins.

-

-The skeleton file's method definitions are copied into the generated output

-directly.

diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/build.xml b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/build.xml
deleted file mode 100644
index 03fc4fe..0000000
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="tokenizer" default="CSSTokenizer">
-	<target name="init" depends="properties">
-		<property name="workspace.dir" value="../.."/>
-		<property name="jflex.jar" value="SedModel/HTMLTokenizer/devel/JFlex/lib/sed-jflex.jar"/>
-		<property name="jflex.maxmemory" value="470000000"/>
-		<property name="jflex.opt" value="-skel SedModel/HTMLTokenizer/devel/skeleton.sse"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-
-	<target name="CSSTokenizer" depends="init">
-		<property name="src.dir" value="SedModel/CSSTokenizer/devel"/>
-		<property name="src.file" value="CSSTokenizer.jflex"/>			
-		<property name="dest.dir" value="org.eclipse.wst.sse.core.css/src/com/ibm/sse/model/css/internal/parser"/>
-		<antcall target="build-tokenizer">
-			<param name="jflex.opt" value=""/>
-		</antcall>
-	</target>
-
-	<target name="XMLTokenizer" depends="init">
-		<property name="src.dir" value="SedModel/HTMLTokenizer/devel"/>
-		<property name="src.file" value="XMLTokenizer"/>			
-		<property name="dest.dir" value="org.eclipse.wst.sse.core.xml/src/com/ibm/sse/model/xml/internal/parser"/>
-		<antcall target="build-tokenizer"/>
-	</target>
-
-	<target name="JSPTokenizer" depends="init">
-		<property name="src.dir" value="SedModel/HTMLTokenizer/devel"/>
-		<property name="src.file" value="JSPTokenizer.jflex"/>			
-		<property name="dest.dir" value="org.eclipse.wst.sse.core.jsp/src/com/ibm/sse/model/jsp/parser/internal"/>
-		<antcall target="build-tokenizer"/>
-	</target>
-
-	<target name="build-tokenizer" depends="init">
-		<antcall target="run-jflex"/>
-		<antcall target="copy"/>
-		<antcall target="clean"/>
-	</target>
-
-	<target name="run-jflex" depends="init">
-		<java classname="JFlex.Main" maxmemory="${jflex.maxmemory}" fork="yes" >
-			<arg line="${src.dir}/${src.file} ${jflex.opt}"/>
-			<classpath>
-				<pathelement location="${jflex.jar}"/>
-			</classpath>
-		</java>
-	</target>
-	
-	<target name="copy" depends="init">
-		<copy todir="${workspace.dir}/${dest.dir}" overwrite="true" verbose="true">
-			<fileset dir="${src.dir}">
-				<include name="*.java"/>
-			</fileset>
-		</copy>
-	</target>
-	
-	<target name="clean" depends="init">
-		<delete verbose="true">
-			<fileset dir="${src.dir}" defaultexcludes="no">
-				<include name="*~"/>
-			</fileset>
-		</delete>
-	</target>
-	
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.core/README.txt b/bundles/org.eclipse.wst.sse.core/README.txt
deleted file mode 100644
index 4eb3ccf..0000000
--- a/bundles/org.eclipse.wst.sse.core/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-The core model of the sse framework. It provides the base document classes,
-builders and parsers.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.core/build.properties b/bundles/org.eclipse.wst.sse.core/build.properties
deleted file mode 100644
index b57b1fe..0000000
--- a/bundles/org.eclipse.wst.sse.core/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-source.model.jar = src/
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               model.jar,\
-               .options
-src.includes = DevTimeSupport/,\
-               plugin.properties,\
-               plugin.xml,\
-               model.jar,\
-               .options
diff --git a/bundles/org.eclipse.wst.sse.core/doc/book.css b/bundles/org.eclipse.wst.sse.core/doc/book.css
deleted file mode 100644
index 9278cd8..0000000
--- a/bundles/org.eclipse.wst.sse.core/doc/book.css
+++ /dev/null
@@ -1,106 +0,0 @@
-P.Code {

-	display: block;

-	text-align: left;

-	text-indent: 0.00pt;

-	margin-top: 0.000000pt;

-	margin-bottom: 0.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 15pt;

-	font-size: 10.000000pt;

-	font-weight: medium;

-	font-style: Regular;

-	color: #4444CC;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-	font-family: "Courier New";

-}

-H6.CaptionFigColumn {

-	display: block;

-	text-align: left;

-	text-indent: 0.000000pt;

-	margin-top: 3.000000pt;

-	margin-bottom: 11.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 0.000000pt;

-	font-size: 9.000000pt;

-	font-weight: medium;

-	font-style: Italic;

-	color: #000000;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-	font-family: "Arial";

-}

-P.Note {

-	display: block;

-	text-align: left;

-	text-indent: 0pt;

-	margin-top: 19.500000pt;

-	margin-bottom: 19.500000pt;

-	margin-right: 0.000000pt;

-	margin-left: 30pt;

-	font-size: 11.000000pt;

-	font-weight: medium;

-	font-style: Italic;

-	color: #000000;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-	font-family: "Arial";

-}

-EM.UILabel {

-	font-weight: Bold;

-	font-style: Regular;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-}

-EM.CodeName {

-	font-weight: Bold;

-	font-style: Regular;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-	font-family:"Courier New";

-}

-

-

-

-

-/* following font face declarations need to be removed for DBCS */

-

-body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, Helvetica, sans-serif; color: #000000}

-pre				{ font-family: Courier, monospace}

-

-/* end font face declarations */

-

-/* following font size declarations should be OK for DBCS */

-body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 10pt; }

-pre				{ font-size: 10pt}

-

-/* end font size declarations */

-

-body	     { background: #FFFFFF}

-h1           { font-size: 18pt; margin-top: 5; margin-bottom: 1 }	

-h2           { font-size: 14pt; margin-top: 25; margin-bottom: 3 }

-h3           { font-size: 11pt; margin-top: 20; margin-bottom: 3 }

-h4           { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }

-p            { margin-top: 10px; margin-bottom: 10px }

-pre	     { margin-left: 6; font-size: 9pt }

-a:link	     { color: #0000FF }

-a:hover	     { color: #000080 }

-a:visited    { text-decoration: underline }

-ul	     { margin-top: 0; margin-bottom: 10 }

-li	     { margin-top: 0; margin-bottom: 0 } 

-li p	     { margin-top: 0; margin-bottom: 0 } 

-ol	     { margin-top: 0; margin-bottom: 10 }

-dl	     { margin-top: 0; margin-bottom: 10 }

-dt	     { margin-top: 0; margin-bottom: 0; font-weight: bold }

-dd	     { margin-top: 0; margin-bottom: 0 }

-strong	     { font-weight: bold}

-em	     { font-style: italic}

-var	     { font-style: italic}

-div.revision { border-left-style: solid; border-left-width: thin; 

-				   border-left-color: #7B68EE; padding-left:5 }

-th	     { font-weight: bold }

diff --git a/bundles/org.eclipse.wst.sse.core/doc/com_ibm_sse_model_builderparticipant.html b/bundles/org.eclipse.wst.sse.core/doc/com_ibm_sse_model_builderparticipant.html
deleted file mode 100644
index 75ad54f..0000000
--- a/bundles/org.eclipse.wst.sse.core/doc/com_ibm_sse_model_builderparticipant.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!-- default platform documentation stylesheets -->
-<style>@import url("book.css");</style>
-<!-- default schema documentation stylesheets -->
-<style>@import url("schema.css");</style>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Structured Builder Participant</CENTER></H1>
-<p></p>
-<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.wst.sse.core.builderparticipant<p></p>
-<h6 class=CaptionFigColumn id=header>Since: </h6>3.0
-<p></p>
-
-<p>
-<h6 class=CaptionFigColumn id=header>Description: </h6>Allows for the contribution of participants to the Structured building process.</p>
-<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
-<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST extension</p>
-<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-</ul>
-<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.participant">participant</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST participant</p>
-<p class=code id=dtdAttlist>class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>contentType&nbsp;CDATA #REQUIRED&gt;</p>
-<p></p>
-<p class=ConfigMarkup id=elementDesc>
-A participant to be called during the build process.  Participants are notified before and after the Structured Builder runs on a project, given the resource deltas during incremental builds and told which resources to build during a full rebuild.</p>
-<br>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>class</b> - Classname of the participant.  Must implement org.eclipse.wst.sse.core.builder.IBuilderParticipant.</li>
-<li><b>contentType</b> - A Content Type Identifier ID.  The participant will only be called for resources and deltas with this content type.  More than one may be specified per element, but there is no guarantee about the relationship between the number of instances and the content types.</li>
-</ul>
-<br><h6 class=CaptionFigColumn id=header>Examples: </h6><pre>
-<p class=code id=tag>&lt;extension point=<p class=code id=cstring>&quot;org.eclipse.wst.sse.core.builderparticipant&quot;</p><p class=code id=tag> id=<p class=code id=cstring>&quot;com.example.doctypeFinder&quot;</p><p class=code id=tag> name=<p class=code id=cstring>&quot;XML DOCTYPE reference tracker&quot;</p><p class=code id=tag> &gt;</p>
- <p class=code id=tag>&lt;participant contentType=<p class=code id=cstring>&quot;contenttype.xml&quot;</p><p class=code id=tag> class=<p class=code id=cstring>&quot;com.example.builder.DoctypeParticipant&quot;</p><p class=code id=tag>/&gt;</p>
-<p class=code id=tag>&lt;/extension&gt;</p>
-</pre>
-<p></p>
-
-<br>
-<p class=note id=copyright>
-</p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.wst.sse.core/doc/schema.css b/bundles/org.eclipse.wst.sse.core/doc/schema.css
deleted file mode 100644
index 4efbf26..0000000
--- a/bundles/org.eclipse.wst.sse.core/doc/schema.css
+++ /dev/null
@@ -1,66 +0,0 @@
-H6.CaptionFigColumn#header {

-	font-size:16px; 

-	display:inline

-}

-

-P.Note#copyright {

-	font-size: smaller; 

-	font-style: normal;

-	color: #336699; 

-	display:inline;

-	margin-top: 3.000000pt;

-	margin-bottom: 11.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 0.000000pt;

-}

-

-P.Code#dtd {

-	color: #800000; 

-	margin-top: 0.000000pt;

-	margin-bottom: 0.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 10.000000pt;

-}

-

-P.Code#dtdAttlist {

-	color: #800000; 

-	margin-top: 0.000000pt;

-	margin-bottom: 0.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 20.000000pt;

-}

-

-P.Code#tag {

-	color: #000080; 

-	display:inline;

-	margin-top: 0.000000pt;

-	margin-bottom: 0.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 0.000000pt;

-}

-

-P.Code#cstring {

-	color: #008000; 

-	display:inline;

-	margin-top: 0.000000pt;

-	margin-bottom: 0.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 0.000000pt;	

-}

-

-.ConfigMarkup#elementDesc {

-	color: black;

-	margin-top: 0.000000pt;

-	margin-bottom: 0.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 10.000000pt;

-}

-

-.ConfigMarkup#attlistDesc {

-	color: black;

-	margin-top: 0.000000pt;

-	margin-bottom: 0.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 32.000000pt;

-}

-

diff --git a/bundles/org.eclipse.wst.sse.core/plugin.properties b/bundles/org.eclipse.wst.sse.core/plugin.properties
deleted file mode 100644
index 5ea54cc..0000000
--- a/bundles/org.eclipse.wst.sse.core/plugin.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-providerName=Eclipse.org
-pluginName=Structured Text Model
-nlFeatureName=Structured Text Model NL Support
-# extension names
-Adapt_On_Create_Factory_Extension.name=Adapt On Create Factory Extension
-Document_Types_Extension.name=Document Types Extension
-JSP_Embedded_Content_Type_Handler_Extension.name=JSP Embedded Content Type Handler Extension
-Content_Type_Factory_Contribution_Extension.name=Content Type Factory Contribution Extension
-CSS_Profile_Extension.name=CSS Profile Extension
-Comment_Element_Handler_Extension.name=Comment Element Handler Extension
-Model_Handler_Extension.name=Model Handler Extension
-SDMB.name=Structured Document and Model Builder
-Format_Processors_Extension_Point.name=Format Processors Extension Point
-Structured_Builder_Delegate_Extension_Point.name=Structured Builder Delegate Extension Point
-Structured_Sources_Task_Extension.name=Structured Sources Task
-###############################################################################
-# The following property keys maybe unused. Commented out on 12/7/2004. Uncomment if needed.
-#JSP_Embedded_Content_Type_Handler_Extension_Point.name=JSP Embedded Content Type Handler Extension Point
-#Structured_Builder_Participant_Extension.name=Structured Builder Participant Extension
diff --git a/bundles/org.eclipse.wst.sse.core/plugin.xml b/bundles/org.eclipse.wst.sse.core/plugin.xml
deleted file mode 100644
index 418820c..0000000
--- a/bundles/org.eclipse.wst.sse.core/plugin.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.sse.core"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.wst.sse.core.internal.SSECorePlugin">
-
-   <runtime>
-      <library name="model.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-      
-		<!-- need to re-export org.eclipse.text since our API depends on it, 
-			such as IStructuredDocument extends IDocument 
-		-->
-      <import plugin="org.eclipse.text" export="true"/>
-
-		<!-- need to re-export emf.common since our API depends on it, 
-			such as StructuredTextUndoManager's getCommmand method returns an 
-			emf.common.Command
-		-->
-      <import plugin="org.eclipse.emf.common" export="true"/>
-      
-      <import plugin="org.eclipse.wst.common.contentmodel"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.wst.common.encoding"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-      <import plugin="org.eclipse.wst.xml.uriresolver"/>
-   </requires>
-
-
-<!-- deprecated -->
-   <extension-point id="adaptOnCreateFactory" name="%Adapt_On_Create_Factory_Extension.name"/>
-   <extension-point id="documentTypes" name="%Document_Types_Extension.name"/>
-   <extension-point id="embeddedTypeHandler" name="%JSP_Embedded_Content_Type_Handler_Extension.name"/>
-   <extension-point id="contentTypeFactoryContribution" name="%Content_Type_Factory_Contribution_Extension.name"/>
-<!-- I commented out ... clients should just use the normal platform way of registering these 
-		adapterFactories. At worst, they'd need a small plugin with 'startup' specified ... but that's 
-		better than us getting hit with the performance impact (of loading plugins and pre-reqs, etc.). 
-		<extension-point id="uriResolverAdapterFactory" name="Resource Adapter Factory for Creating URIResolvers"/>
-	-->
-   <extension-point id="cssprofile" name="%CSS_Profile_Extension.name"/>
-   <extension-point id="commentElementHandler" name="%Comment_Element_Handler_Extension.name"/>
-<!-- this plug-in provides support for this extension point -->
-   <extension-point id="modelHandler" name="%Model_Handler_Extension.name"/>
-   <extension-point id="formatProcessors" name="%Format_Processors_Extension_Point.name" schema="schema/formatProcessors.exsd"/>
-
-<!-- not for use by clients -->
-   <extension-point id="builderdelegate" name="%Structured_Builder_Delegate_Extension_Point.name"/>
-
-<!-- define our task marker type -->
-	<extension id="task" name="%Structured_Sources_Task_Extension.name" point="org.eclipse.core.resources.markers">
-    	<super type="org.eclipse.core.resources.taskmarker"/> 
-    	<persistent value="true"/>
-	</extension>
-</plugin>
diff --git a/bundles/org.eclipse.wst.sse.core/schema/builderparticipant.exsd b/bundles/org.eclipse.wst.sse.core/schema/builderparticipant.exsd
deleted file mode 100644
index 80635dd..0000000
--- a/bundles/org.eclipse.wst.sse.core/schema/builderparticipant.exsd
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.wst.sse.core">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.sse.core" id="builderparticipant" name="Structured Builder Participant"/>

-      </appInfo>

-      <documentation>

-         Allows for the contribution of participants to the Structured building process.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="participant"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="participant">

-      <annotation>

-         <documentation>

-            A participant to be called during the build process.  Participants are notified before and after the Structured Builder runs on a project, given the resource deltas during incremental builds and told which resources to build during a full rebuild.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  Classname of the participant.  Must implement org.eclipse.wst.sse.core.builder.IBuilderParticipant.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="contentType" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A Content Type Identifier ID.  The participant will only be called for resources and deltas with this content type.  More than one may be specified per element, but there is no guarantee about the relationship between the number of instances and the content types.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         &lt;pre&gt;

-&lt;extension point=&quot;org.eclipse.wst.sse.core.builderparticipant&quot; id=&quot;com.example.doctypeFinder&quot; name=&quot;XML DOCTYPE reference tracker&quot; &gt;

- &lt;participant contentType=&quot;contenttype.xml&quot; class=&quot;com.example.builder.DoctypeParticipant&quot;/&gt;

-&lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.wst.sse.core/schema/formatProcessors.exsd b/bundles/org.eclipse.wst.sse.core/schema/formatProcessors.exsd
deleted file mode 100644
index 9756416..0000000
--- a/bundles/org.eclipse.wst.sse.core/schema/formatProcessors.exsd
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.wst.sse.core">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.sse.core" id="formatProcessors" name="%Format_Processors_Extension.name"/>

-      </appInfo>

-      <documentation>

-         This extension point is for defining the format processsor for a content type.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="processor"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="processor">

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="contentTypeId" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         [Enter the first release in which this extension point appears.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         &lt;extension point=&quot;org.eclipse.wst.sse.core.formatProcessors&quot;&gt;

-    &lt;processor

-        class=&quot;org.eclipse.wst.sse.core.xml.format.FormatProcessorXML&quot;

-        contentTypeId=&quot;org.eclipse.core.runtime.xml&quot;&gt;

-    &lt;/processor&gt;

-&lt;/extension&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         [Enter API information here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         [Enter information about supplied implementation of this extension point.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractAdapterFactory.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractAdapterFactory.java
deleted file mode 100644
index 4aa3d3e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractAdapterFactory.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-/**
- * An abstract implementation of AdapterFactory that uses itself as the key.
- * Subclass to override behavior.
- */
-abstract public class AbstractAdapterFactory implements AdapterFactory {
-
-	protected Object adapterKey;
-	protected boolean shouldRegisterAdapter = true;
-
-	public AbstractAdapterFactory() {
-		// default constructor sets the adapterKey to the adapter factory
-		// itself (i.e. "this")
-		adapterKey = this;
-	}
-
-	public AbstractAdapterFactory(Object adapterKey, boolean registerAdapters) {
-		this.adapterKey = adapterKey;
-		this.shouldRegisterAdapter = registerAdapters;
-	}
-
-	public INodeAdapter adapt(INodeNotifier target) {
-		// target was null when all text deleted?
-		if (target == null)
-			return null;
-		INodeAdapter adapter = target.getExistingAdapter(adapterKey);
-		return adapter != null ? adapter : adaptNew(target);
-	}
-
-	public INodeAdapter adaptNew(INodeNotifier target) {
-		INodeAdapter adapter = createAdapter(target);
-		if (adapter == null)
-			return adapter;
-		if (shouldRegisterAdapter)
-			target.addAdapter(adapter);
-		return adapter;
-	}
-
-	/**
-	 * Subclasses should normally implement their own 'copy' method. By
-	 * default, we'll return the same instance, for convenience of those using
-	 * singleton factories.
-	 */
-	public AdapterFactory copy() {
-		return this;
-	}
-
-	abstract protected INodeAdapter createAdapter(INodeNotifier target);
-
-	public boolean isFactoryForType(Object type) {
-		return type.equals(adapterKey);
-	}
-
-	public void release() {
-		// default is to do nothing
-	}
-
-	public void setAdapterKey(Object key) {
-		if (adapterKey != null)
-			throw new IllegalAccessError("INodeAdapter Key cannot be set more than once."); //$NON-NLS-1$
-		adapterKey = key;
-	}
-
-	public void setRegisterAdapters(boolean flag) {
-		shouldRegisterAdapter = flag;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractModelLoader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractModelLoader.java
deleted file mode 100644
index 01cfed6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractModelLoader.java
+++ /dev/null
@@ -1,499 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.BlockTagParser;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandlerExtension;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionParser;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionParserExtension;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.core.util.Assert;
-
-
-/**
- * This class reads a file and creates an Structured Model.
- */
-public abstract class AbstractModelLoader implements ModelLoader, IModelLoaderExtension {
-	protected static final int encodingNameSearchLimit = 1000;
-
-	private static long computeMem() {
-		for (int i = 0; i < 5; i++) {
-			System.gc();
-			System.runFinalization();
-		}
-		return Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
-	}
-
-	private boolean DEBUG = false;
-	protected IDocumentLoader documentLoaderInstance;
-
-	/**
-	 * AbstractLoader constructor also initializes encoding converter/mapper
-	 */
-	public AbstractModelLoader() {
-		super();
-	}
-
-	protected void addFactories(IStructuredModel model, List factoryList) {
-		Assert.isNotNull(model);
-		IFactoryRegistry registry = model.getFactoryRegistry();
-		Assert.isNotNull(registry, "IStructuredModel " + model.getId() + " has a null IFactoryRegistry");
-		if (factoryList != null) {
-			Iterator iterator = factoryList.iterator();
-			while (iterator.hasNext()) {
-				AdapterFactory factory = (AdapterFactory) iterator.next();
-				registry.addFactory(factory);
-			}
-		}
-	}
-
-	/**
-	 * This method should perform all the model initialization required before
-	 * it contains content, namely, it should call newModel, the
-	 * createNewStructuredDocument(), then add those adapter factories which
-	 * must be set before content is applied. This method should be called by
-	 * "load" method. (this is tentative API)
-	 */
-	public IStructuredModel createModel() {
-		documentLoaderInstance = null;
-		IStructuredModel model = newModel();
-		IEncodedDocument structuredDocument = getDocumentLoader().createNewStructuredDocument();
-		if (structuredDocument instanceof IStructuredDocument) {
-			model.setStructuredDocument((IStructuredDocument) structuredDocument);
-			addFactories(model, getAdapterFactories());
-			//
-			initEmbeddedType(model);
-			// For types with propagating adapters, its important
-			// that the propagating adapter be in place before the contents
-			// are set.
-			preLoadAdapt(model);
-		}
-		return model;
-	}
-
-	public IStructuredModel createModel(IStructuredDocument structuredDocument, String baseLocation) {
-		documentLoaderInstance = null;
-		IStructuredModel model = newModel();
-		model.setBaseLocation(baseLocation);
-		
-		addFactories(model, getAdapterFactories());
-		// For types with propagating adapters, it's important
-		// that the propagating adapter be in place before the contents
-		// are set.
-		preLoadAdapt(model);
-
-		model.setStructuredDocument(structuredDocument);
-		//
-		initEmbeddedType(model);
-
-		return model;
-	}
-
-	/**
-	 * This method is used for cloning models.
-	 */
-	public IStructuredModel createModel(IStructuredModel oldModel) {
-		documentLoaderInstance = null;
-		IStructuredModel newModel = newModel();
-		IStructuredDocument oldStructuredDocument = oldModel.getStructuredDocument();
-		IStructuredDocument newStructuredDocument = oldStructuredDocument.newInstance();
-		newModel.setStructuredDocument(newStructuredDocument);
-		// NOTE: we DO NOT simply add the standard ones to the new model
-		// addFactories(newModel, getAdapterFactories());
-		// Now, we take the opportunity to add Factories from the oldModel's
-		// registry to the new model's registry .. if they do not already
-		// exist there.
-		duplicateFactoryRegistry(newModel, oldModel);
-		if (newModel instanceof AbstractStructuredModel) {
-			((AbstractStructuredModel) newModel).setContentTypeIdentifier(oldModel.getContentTypeIdentifier());
-		}
-		//addFactories(newModel, oldModel);
-		initEmbeddedType(oldModel, newModel);
-		// For types with propagating adapters, its important
-		// that the propagating adapter be in place before the contents
-		// are set.
-		preLoadAdapt(newModel);
-		return newModel;
-	}
-
-	private void duplicateFactoryRegistry(IStructuredModel newModel, IStructuredModel oldModel) {
-		List oldAdapterFactories = oldModel.getFactoryRegistry().getFactories();
-		List newAdapterFactories = new ArrayList();
-		Iterator oldListIterator = oldAdapterFactories.iterator();
-		while (oldListIterator.hasNext()) {
-			AdapterFactory oldAdapterFactory = (AdapterFactory) oldListIterator.next();
-			// now "clone" the adapterfactory
-			newAdapterFactories.add(oldAdapterFactory.copy());
-		}
-		// now that we have the "cloned" list, add to new model
-		addFactories(newModel, newAdapterFactories);
-	}
-
-	/**
-	 * This method must return those factories which must be attached to the
-	 * structuredModel before content is applied.
-	 */
-	public List getAdapterFactories() {
-		// abstract method returns none
-		return new ArrayList(0);
-	}
-
-	abstract public IDocumentLoader getDocumentLoader();
-
-	/**
-	 * Method initEmbeddedType. Nothing to do here in super class.
-	 * 
-	 * @param model
-	 */
-	protected void initEmbeddedType(IStructuredModel model) {
-	}
-
-	/**
-	 * Method initEmbeddedType. Nothing to do here in super class.
-	 * 
-	 * @param oldModel
-	 * @param newModel
-	 */
-	protected void initEmbeddedType(IStructuredModel oldModel, IStructuredModel newModel) {
-	}
-
-	public void load(IFile file, IStructuredModel model) throws IOException, CoreException {
-		IEncodedDocument structuredDocument = model.getStructuredDocument();
-		if (file == null)
-			structuredDocument = getDocumentLoader().createNewStructuredDocument();
-		else
-			structuredDocument = getDocumentLoader().createNewStructuredDocument(file);
-
-		// TODO: need to straighten out IEncodedDocument mess
-		if (structuredDocument instanceof IStructuredDocument)
-			transformInstance(model.getStructuredDocument(), (IStructuredDocument) structuredDocument);
-		else
-			model.getStructuredDocument().set(structuredDocument.get());
-
-		// original hack
-		//model.setStructuredDocument((IStructuredDocument)
-		// structuredDocument);
-		//((IStructuredDocument) structuredDocument).fireNewDocument(this);
-		documentLoaderInstance = null;
-		//technicq of future
-		//model.setStructuredDocument((IStructuredDocument)
-		// structuredDocument);
-		//documentLoaderInstance = null;
-	}
-
-	public void load(InputStream inputStream, IStructuredModel model, EncodingRule encodingRule) throws UnsupportedEncodingException, java.io.IOException {
-		// note we don't open the stream, so we don't close it
-		IEncodedDocument structuredDocument = model.getStructuredDocument();
-		if (inputStream == null) {
-			structuredDocument = getDocumentLoader().createNewStructuredDocument();
-		} else {
-			// assume's model has been initialized already with base location
-			structuredDocument = getDocumentLoader().createNewStructuredDocument(model.getBaseLocation(), inputStream, encodingRule);
-			// TODO: model's not designed for this!
-			// we want to move to this "set" method, but the 'fire' was needed
-			// as
-			// a work around for strucutredModel not handling 'set' right, but
-			// that 'fireNewDocument' method was causing unbalance
-			// "aboutToChange" and "changed"
-			// events.
-			//			model.setStructuredDocument((IStructuredDocument)
-			// structuredDocument);
-			//			((IStructuredDocument)
-			// structuredDocument).fireNewDocument(this);
-			model.getStructuredDocument().set(structuredDocument.get());
-
-		}
-		documentLoaderInstance = null;
-
-	}
-
-	/**
-	 * deprecated -- use EncodingRule form
-	 */
-	synchronized public void load(InputStream inputStream, IStructuredModel model, String encodingName, String lineDelimiter) throws UnsupportedEncodingException, java.io.IOException {
-		// note we don't open the stream, so we don't close it
-		// TEMP work around to maintain previous function,
-		// until everyone can change to EncodingRule.FORCE_DEFAULT
-		if (encodingName != null && encodingName.trim().length() == 0) {
-			// redirect to new method
-			load(inputStream, model, EncodingRule.FORCE_DEFAULT);
-		} else {
-			load(inputStream, model, EncodingRule.CONTENT_BASED);
-		}
-	}
-
-	public void load(String filename, InputStream inputStream, IStructuredModel model, String junk, String dummy) throws UnsupportedEncodingException, java.io.IOException {
-
-		long memoryUsed = 0;
-		if (DEBUG) {
-			memoryUsed = computeMem();
-			System.out.println("measuring heap memory for " + filename);
-			//System.out.println("heap memory used before load: " +
-			// memoryUsed);
-		}
-
-		// during an initial load, we expect the olddocument to be empty
-		// during re-load, however, it would be full.
-		IEncodedDocument newstructuredDocument = null;
-		IEncodedDocument oldStructuredDocument = model.getStructuredDocument();
-
-		// get new document
-		if (inputStream == null) {
-			newstructuredDocument = getDocumentLoader().createNewStructuredDocument();
-		} else {
-			newstructuredDocument = getDocumentLoader().createNewStructuredDocument(filename, inputStream);
-		}
-		if (DEBUG) {
-			long memoryAtEnd = computeMem();
-			//System.out.println("heap memory used after loading new
-			// document: " + memoryAtEnd);
-			System.out.println("    heap memory implied used by document: " + (memoryAtEnd - memoryUsed));
-		}
-
-
-		// TODO: need to straighten out IEncodedDocument mess
-		if (newstructuredDocument instanceof IStructuredDocument) {
-			transformInstance((IStructuredDocument) oldStructuredDocument, (IStructuredDocument) newstructuredDocument);
-		} else {
-			// we don't really expect this case, just included for safety
-			oldStructuredDocument.set(newstructuredDocument.get());
-		}
-		// original hack
-		//model.setStructuredDocument((IStructuredDocument)
-		// structuredDocument);
-		//((IStructuredDocument) structuredDocument).fireNewDocument(this);
-		documentLoaderInstance = null;
-		//technicq of future
-		//model.setStructuredDocument((IStructuredDocument)
-		// structuredDocument);
-		//documentLoaderInstance = null;
-		if (DEBUG) {
-			long memoryAtEnd = computeMem();
-			//System.out.println("heap memory used after setting to model: "
-			// + memoryAtEnd);
-			System.out.println("    heap memory implied used by document and model: " + (memoryAtEnd - memoryUsed));
-		}
-
-	}
-
-	/**
-	 * required by interface, being declared here abstractly just as another
-	 * reminder.
-	 */
-	abstract public IStructuredModel newModel();
-
-	/**
-	 * There's nothing to do here in abstract class for initializing adapters.
-	 * Subclasses can and should override this method and provide proper
-	 * intialization (For example, to get DOM document and 'getAdapter' on it,
-	 * so that the first node/notifier has the adapter on it.)
-	 */
-	protected void preLoadAdapt(IStructuredModel structuredModel) {
-
-
-	}
-
-	/**
-	 * Normally, here in the abstact class, there's nothing to do, but we will
-	 * reset text, since this MIGHT end up being called to recover from error
-	 * conditions (e.g. IStructuredDocument exceptions) And, can be called by
-	 * subclasses.
-	 */
-	public IStructuredModel reinitialize(IStructuredModel model) {
-		// Note: the "minimumization" routines
-		// of 'replaceText' allow many old nodes to pass through, when
-		// really its assumed they are created anew.
-		// so we need to use 'setText' (I think "setText' ends up
-		// throwing a 'newModel' event though, that may have some
-		// implications.
-		model.getStructuredDocument().setText(this, model.getStructuredDocument().get());
-		return model;
-	}
-
-	/**
-	 * This method gets a fresh copy of the data, and repopulates the models
-	 * ... by a call to setText on the structuredDocument. This method is
-	 * needed in some cases where clients are sharing a model and then changes
-	 * canceled. Say for example, one editor and several "displays" are
-	 * sharing a model, if the editor is closed without saving changes, then
-	 * the displays still need a model, but they should revert to the original
-	 * unsaved version.
-	 */
-	synchronized public void reload(InputStream inputStream, IStructuredModel structuredModel) {
-		documentLoaderInstance = null;
-		try {
-			// temp solution ... we should be able to do better (more
-			// efficient) in future.
-			// Adapters will (probably) need to be sensitive to the fact that
-			// the document instance changed
-			// (by being life cycle listeners)
-			load(inputStream, structuredModel, EncodingRule.CONTENT_BASED);
-
-			//			// Note: we apparently read the data (and encoding) correctly
-			//			// before, we just need to make sure we followed the same rule
-			// as
-			//			// before.
-			//			EncodingMemento previousMemento =
-			// structuredModel.getStructuredDocument().getEncodingMemento();
-			//			EncodingRule previousRule = previousMemento.getEncodingRule();
-			//			//IFile file = ResourceUtil.getFileFor(structuredModel);
-			//			// Note: there's opportunity here for some odd behavior, if the
-			//			// settings have changed from the first load to the reload.
-			// But,
-			//			// hopefully,
-			//			// will result in the intended behavior.
-			//			Reader allTextReader =
-			// getDocumentLoader().readInputStream(inputStream, previousRule);
-			//
-			//			// TODO: avoid use of String instance
-			//			getDocumentLoader().reload(structuredModel.getStructuredDocument(),
-			// allTextReader);
-			//			// and now "reset" encoding memento to keep it current with the
-			//			// one
-			//			// that was just determined.
-			//			structuredModel.getStructuredDocument().setEncodingMemento(getDocumentLoader().getEncodingMemento());
-			//			structuredModel.setDirtyState(false);
-			//			StructuredTextUndoManager undoMgr =
-			// structuredModel.getUndoManager();
-			//			if (undoMgr != null) {
-			//				undoMgr.reset();
-			//			}
-		} catch (UnsupportedEncodingException e) {
-			// couldn't happen. The program has apparently
-			// read the model once, and there'd be no reason the encoding
-			// could not be used again.
-			Logger.logException("Warning:  XMLLoader::reload.  This exception really should not have happened!! But will attemp to continue after dumping stack trace", e); //$NON-NLS-1$
-			throw new Error("Program Error", e); //$NON-NLS-1$
-		} catch (IOException e) {
-			// couldn't happen. The program has apparently
-			// read the model once, and there'd be no (common) reason it
-			// couldn't be loaded again.
-			Logger.logException("Warning:  XMLLoader::reload.  This exception really should not have happened!! But will attemp to continue after dumping stack trace", e); //$NON-NLS-1$
-			throw new Error("Program Error", e); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * this work is done better elsewhere, but done here for this version to
-	 * reduce changes. especially since the need for it should go away once we
-	 * no longer need to re-use old document instance.
-	 */
-	private void transformInstance(IStructuredDocument oldInstance, IStructuredDocument newInstance) {
-		/**
-		 * https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4920
-		 * 
-		 * JSP taglib support broken, correct by duplicating extended setup
-		 * information (BlockTagParser extension,
-		 * StructuredDocumentRegionParser extensions)
-		 */
-		RegionParser oldParser = oldInstance.getParser();
-		RegionParser newParser = newInstance.getParser().newInstance();
-		// Register all of the old StructuredDocumentRegionHandlers on the new
-		// parser
-		if (oldParser instanceof StructuredDocumentRegionParserExtension && newParser instanceof StructuredDocumentRegionParserExtension) {
-			List oldHandlers = ((StructuredDocumentRegionParserExtension) oldParser).getStructuredDocumentRegionHandlers();
-			for (int i = 0; i < oldHandlers.size(); i++) {
-				StructuredDocumentRegionHandler handler = ((StructuredDocumentRegionHandler) oldHandlers.get(i));
-				if (handler instanceof StructuredDocumentRegionHandlerExtension) {
-					/**
-					 * Skip the transferring here, the handler will do this
-					 * after everything else but the source is transferred.
-					 */
-				} else {
-					((StructuredDocumentRegionParser) oldParser).removeStructuredDocumentRegionHandler(handler);
-					((StructuredDocumentRegionParser) newParser).addStructuredDocumentRegionHandler(handler);
-					handler.resetNodes();
-				}
-			}
-		}
-		// Add any global BlockMarkers to the new parser
-		if (oldParser instanceof BlockTagParser && newParser instanceof BlockTagParser) {
-			List oldBlockMarkers = ((BlockTagParser) oldParser).getBlockMarkers();
-			for (int i = 0; i < oldBlockMarkers.size(); i++) {
-				BlockMarker blockMarker = ((BlockMarker) oldBlockMarkers.get(i));
-				if (blockMarker.isGlobal()) {
-					((BlockTagParser) newParser).addBlockMarker(blockMarker);
-				}
-			}
-		}
-
-		((BasicStructuredDocument) oldInstance).setParser(newParser);
-
-		((BasicStructuredDocument) oldInstance).setReParser(newInstance.getReParser().newInstance());
-		
-		if (newInstance.getDocumentPartitioner() instanceof StructuredTextPartitioner) {
-			StructuredTextPartitioner partitioner = null;
-			if (oldInstance instanceof IDocumentExtension3 && newInstance instanceof IDocumentExtension3) {
-				partitioner = ((StructuredTextPartitioner) ((IDocumentExtension3) newInstance).getDocumentPartitioner(IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING));
-				if (partitioner != null) {
-					partitioner = (StructuredTextPartitioner) partitioner.newInstance();
-				}
-				((IDocumentExtension3) oldInstance).setDocumentPartitioner(IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING, partitioner);
-			}
-			if (partitioner == null) {
-				partitioner = (StructuredTextPartitioner) ((StructuredTextPartitioner) newInstance.getDocumentPartitioner()).newInstance();
-				oldInstance.setDocumentPartitioner(partitioner);
-			}
-			if (partitioner != null) {
-				partitioner.connect(oldInstance);
-			}
-		}
-
-		oldInstance.setLineDelimiter(newInstance.getLineDelimiter());
-		if (newInstance.getEncodingMemento() != null) {
-			oldInstance.setEncodingMemento((EncodingMemento) newInstance.getEncodingMemento().clone());
-		}
-
-		/**
-		 * https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4920
-		 * 
-		 * JSP taglib support broken, correct by duplicating extended setup
-		 * information (BlockTagParser extension,
-		 * StructuredDocumentRegionParser extensions)
-		 */
-		if (oldParser instanceof StructuredDocumentRegionParserExtension && newParser instanceof StructuredDocumentRegionParserExtension) {
-			List oldHandlers = ((StructuredDocumentRegionParserExtension) oldParser).getStructuredDocumentRegionHandlers();
-			for (int i = 0; i < oldHandlers.size(); i++) {
-				StructuredDocumentRegionHandler handler = ((StructuredDocumentRegionHandler) oldHandlers.get(i));
-				if (handler instanceof StructuredDocumentRegionHandlerExtension) {
-					StructuredDocumentRegionHandlerExtension handlerExtension = (StructuredDocumentRegionHandlerExtension) handler;
-					handlerExtension.setStructuredDocument(oldInstance);
-				}
-			}
-		}
-		String holdString = newInstance.get();
-		newInstance = null;
-		oldInstance.set(holdString);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractNotifier.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractNotifier.java
deleted file mode 100644
index b8a691e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractNotifier.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.internal.Logger;
-
-
-
-/**
- * AbstractNotifier is similar to (and based on) the EMF NotifierImpl class.
- * This class is simpler (that is, not as many functions).
- */
-public abstract class AbstractNotifier implements INodeNotifier {
-	private final static boolean debugAdapterNotificationTime = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/dom/adapter/notification/time")); //$NON-NLS-1$ //$NON-NLS-2$
-	private final static int growthConstant = 3;
-	private int adapterCount = 0;
-
-	private INodeAdapter[] fAdapters;
-
-	/**
-	 * AbstractNotifier constructor comment.
-	 */
-	public AbstractNotifier() {
-		super();
-	}
-
-	/**
-	 * addAdapter method comment.
-	 */
-	public synchronized void addAdapter(INodeAdapter adapter) {
-
-		if (adapter == null)
-			return;
-		ensureCapacity(adapterCount + 1);
-		fAdapters[adapterCount++] = adapter;
-	}
-
-	private void ensureCapacity(int needed) {
-		if (fAdapters == null) {
-			// first time
-			fAdapters = new INodeAdapter[needed + growthConstant];
-			return;
-		}
-		int oldLength = fAdapters.length;
-		if (oldLength < needed) {
-			INodeAdapter[] oldAdapters = fAdapters;
-			INodeAdapter[] newAdapters = new INodeAdapter[needed + growthConstant];
-			System.arraycopy(oldAdapters, 0, newAdapters, 0, adapterCount);
-			fAdapters = newAdapters;
-		}
-	}
-
-	/**
-	 * Returns the adapterCount. Equivilent to, but faster than,
-	 * getAdapters().size();
-	 * 
-	 * @return int
-	 */
-	public int getAdapterCount() {
-		return adapterCount;
-	}
-
-	/**
-	 * Default behavior for getting an adapter.
-	 */
-	public INodeAdapter getAdapterFor(Object type) {
-		// first, we'll see if we already have one
-		INodeAdapter result = getExistingAdapter(type);
-		// if we didn't find one in our list already,
-		// let's create it
-		if (result == null) {
-			IFactoryRegistry reg = getFactoryRegistry();
-			if (reg != null) {
-				AdapterFactory factory = reg.getFactoryFor(type);
-				if (factory != null) {
-					result = factory.adapt(this);
-				}
-			}
-			// We won't prevent null from being returned, but it would be
-			// unusual.
-			// It might be because Factory is not working correctly, or
-			// not installed, so we'll allow warning message.
-			if ((result == null) && (org.eclipse.wst.sse.core.util.Debug.displayWarnings)) {
-				System.out.println("Warning: no adapter was found or created for " + type); //$NON-NLS-1$
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Returns a shallow clone of list, since clients should not manipulate
-	 * our list directly. Instead, they should use add/removeAdapter.
-	 */
-	public Collection getAdapters() {
-		if (fAdapters != null) {
-			if (adapterCount == 0) {
-				fAdapters = null;
-				return Collections.EMPTY_LIST;
-			} else {
-				// we need to make a new array, to be sure
-				// it doesn't contain nulls at end, which may be
-				// present there for "growth".
-				INodeAdapter[] tempAdapters = new INodeAdapter[adapterCount];
-				System.arraycopy(fAdapters, 0, tempAdapters, 0, adapterCount);
-				// EMF uses the unmodifiableCollection. Its a bit of a
-				// performance
-				// drain, but may want to leave in since
-				// it would "fail fast" if someone was trying to modify the
-				// list.
-				return Collections.unmodifiableCollection(Arrays.asList(tempAdapters));
-				//return Arrays.asList(newAdapters);
-			}
-		} else
-			return Collections.EMPTY_LIST;
-	}
-
-	private long getAdapterTimeCriteria() {
-		// to "re-get" the property each time is a little awkward, but we
-		// do it that way to avoid adding instance variable just for
-		// debugging.
-		// This method should only be called if debugAdapterNotifcationTime
-		// is true.
-		final String criteriaStr = Platform.getDebugOption("org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria"); //$NON-NLS-1$
-		long criteria = -1;
-		if (criteriaStr != null) {
-			try {
-				criteria = Long.parseLong(criteriaStr);
-			} catch (NumberFormatException e) {
-				// catch to be sure we don't burb in notification loop,
-				// but ignore, since just a debug aid
-			}
-		}
-		return criteria;
-	}
-
-	public INodeAdapter getExistingAdapter(Object type) {
-		INodeAdapter result = null;
-		for (int i = 0; i < adapterCount; i++) {
-			INodeAdapter a = fAdapters[i];
-			if (a.isAdapterForType(type)) {
-				result = a;
-				break;
-			}
-		}
-		// if we didn't find one in our list,
-		// return the null result
-		return result;
-	}
-
-	abstract public IFactoryRegistry getFactoryRegistry();
-
-	public void notify(int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-
-		if (fAdapters != null) {
-			int localAdapterCount = 0;
-			INodeAdapter[] localAdapters = null;
-
-			// lock object while making local assignments
-			synchronized (this) {
-				localAdapterCount = adapterCount;
-				localAdapters = new INodeAdapter[localAdapterCount];
-				System.arraycopy(fAdapters, 0, localAdapters, 0, localAdapterCount);
-			}
-
-			for (int i = 0; i < localAdapterCount; i++) {
-				INodeAdapter a = localAdapters[i];
-
-				if (debugAdapterNotificationTime) {
-					long getAdapterTimeCriteria = getAdapterTimeCriteria();
-					long startTime = System.currentTimeMillis();
-					// ** keep this line identical with non-debug version!!
-					a.notifyChanged(this, eventType, changedFeature, oldValue, newValue, pos);
-					long notifyDuration = System.currentTimeMillis() - startTime;
-					if (getAdapterTimeCriteria >= 0 && notifyDuration > getAdapterTimeCriteria) {
-						System.out.println("adapter notifyDuration: " + notifyDuration + "  class: " + a.getClass()); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-				} else {
-					try {
-						// ** keep this line identical with debug version!!
-						a.notifyChanged(this, eventType, changedFeature, oldValue, newValue, pos);
-					} catch (Exception e) {
-						// Its important to "keep going", since notifications
-						// occur between an
-						// aboutToChange event and a changed event -- the
-						// changed event typically being require
-						// to restore state, etc. So, we just log message, do
-						// not re-throw it, but
-						// typically the exception does indicate a serious
-						// program error.
-						Logger.logException("A structured model client, " + a + " threw following exception during adapter notification (" + INodeNotifier.EVENT_TYPE_STRINGS[eventType] + " )", e); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-				}
-
-			}
-		}
-	}
-
-	public synchronized void removeAdapter(INodeAdapter a) {
-		if (fAdapters == null || a == null)
-			return;
-		int newIndex = 0;
-		INodeAdapter[] newAdapters = new INodeAdapter[fAdapters.length];
-		int oldAdapterCount = adapterCount;
-		boolean found = false;
-		for (int oldIndex = 0; oldIndex < oldAdapterCount; oldIndex++) {
-			INodeAdapter candidate = fAdapters[oldIndex];
-			if (a == candidate) {
-				adapterCount--;
-				found = true;
-			} else
-				newAdapters[newIndex++] = fAdapters[oldIndex];
-		}
-		if (found)
-			fAdapters = newAdapters;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractStructuredModel.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractStructuredModel.java
deleted file mode 100644
index 7a3b465..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AbstractStructuredModel.java
+++ /dev/null
@@ -1,1595 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.document.ILockable;
-import org.eclipse.wst.sse.core.events.AboutToBeChangeEvent;
-import org.eclipse.wst.sse.core.events.IModelAboutToBeChangedListener;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-
-public abstract class AbstractStructuredModel implements IStructuredModel {
-
-	class DirtyStateWatcher implements IStructuredDocumentListener {
-
-		public void newModel(NewDocumentEvent structuredDocumentEvent) {
-
-			// I don't think its safe to assume a new model
-			// is always "fresh", so we'll leave dirty state
-			// unchanged;
-			// but we'll tell everyone about it.
-			setDirtyState(fDirtyState);
-		}
-
-		public void noChange(NoChangeEvent structuredDocumentEvent) {
-
-			// don't change dirty state
-		}
-
-		public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-
-			setDirtyState(true);
-			// no need to listen any more
-			if (fStructuredDocument != null) {
-				fStructuredDocument.removeDocumentChangedListener(fDirtyStateWatcher);
-			}
-		}
-
-		public void regionChanged(RegionChangedEvent structuredDocumentEvent) {
-
-			setDirtyState(true);
-			// no need to listen any more
-			if (fStructuredDocument != null) {
-				fStructuredDocument.removeDocumentChangedListener(fDirtyStateWatcher);
-			}
-		}
-
-		public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) {
-
-			setDirtyState(true);
-			// no need to listen any more
-			if (fStructuredDocument != null) {
-				fStructuredDocument.removeDocumentChangedListener(fDirtyStateWatcher);
-			}
-		}
-	}
-
-	class DocumentToModelNotifier implements IStructuredDocumentListener, IModelAboutToBeChangedListener {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IModelAboutToBeChangedListener#modelAboutToBeChanged(org.eclipse.wst.sse.core.events.AboutToBeChangeEvent)
-		 */
-		public void modelAboutToBeChanged(AboutToBeChangeEvent structuredDocumentEvent) {
-			// If we didn't originate the change, take note we are about to
-			// change based on our underlying document changing.
-			// If we did originate the change, we, or client, should have
-			// already called aboutToChangeModel.
-			if (structuredDocumentEvent.getOriginalSource() != this) {
-				aboutToChangeModel();
-			}
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#newModel(org.eclipse.wst.sse.core.events.NewDocumentEvent)
-		 */
-		public void newModel(NewDocumentEvent structuredDocumentEvent) {
-			// if we didn't originate the change, take note we have changed
-			if (structuredDocumentEvent.getOriginalSource() != this) {
-				changedModel();
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#noChange(org.eclipse.wst.sse.core.events.NoChangeEvent)
-		 */
-		public void noChange(NoChangeEvent structuredDocumentEvent) {
-			// if we didn't originate the change, take note we have changed
-			if (structuredDocumentEvent.getOriginalSource() != this) {
-				changedModel();
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#nodesReplaced(org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent)
-		 */
-		public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-			// if we didn't originate the change, take note we have changed
-			if (structuredDocumentEvent.getOriginalSource() != this) {
-				changedModel();
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#regionChanged(org.eclipse.wst.sse.core.events.RegionChangedEvent)
-		 */
-		public void regionChanged(RegionChangedEvent structuredDocumentEvent) {
-			// if we didn't originate the change, take note we have changed
-			if (structuredDocumentEvent.getOriginalSource() != this) {
-				changedModel();
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#regionsReplaced(org.eclipse.wst.sse.core.events.RegionsReplacedEvent)
-		 */
-		public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) {
-			// if we didn't originate the change, take note we have changed
-			if (structuredDocumentEvent.getOriginalSource() != this) {
-				changedModel();
-			}
-		}
-
-	}
-
-	static final String DEBUG_STATE_TRACE_CATEGORY = "org.eclipse.wst.sse.core/structuredmodel/state";
-	static final boolean DEBUG_STATE = "true".equalsIgnoreCase(Platform.getDebugOption(DEBUG_STATE_TRACE_CATEGORY));
-
-	private IFactoryRegistry factoryRegistry;
-	private String fBaseLocation;
-	boolean fDirtyState;
-	DirtyStateWatcher fDirtyStateWatcher;
-	DocumentToModelNotifier fDocumentToModelNotifier;
-	private String fExplicitContentTypeIdentifier;
-	private String fId;
-
-	private LifecycleNotificationManager fLifecycleNotificationManager;
-
-	private final Object fListenerLock = new byte[0];
-	private ILock fLockObject;
-	//	private String fLineDelimiter;
-	//	private Object fType;
-	private IModelHandler fModelHandler;
-	private IModelManager fModelManager;
-	private int fModelStateChanging;
-	private Object[] fModelStateListeners;
-	private boolean fNewState = false;
-	private URIResolver fResolver;
-	IStructuredDocument fStructuredDocument;
-	/**
-	 * The time stamp of the underlying resource's modification date, at the
-	 * time this model was created, or the last time it was saved. Note: for
-	 * this version, this variable is not set automatically, be needs to be
-	 * managed by client. The FileModelProvider does this for most cases, but
-	 * if client do not use FileModelProvider, they must set this variable
-	 */
-	public long fSynchronizationStamp = IResource.NULL_STAMP;
-	private boolean reinitializationNeeded;
-	private Object reinitializeStateData;
-
-	/**
-	 * AbstractStructuredModel constructor comment.
-	 */
-	public AbstractStructuredModel() {
-
-		super();
-		fDirtyStateWatcher = new DirtyStateWatcher();
-		fDocumentToModelNotifier = new DocumentToModelNotifier();
-	}
-
-
-	private void _commonRelease() {
-
-		if (factoryRegistry != null) {
-			factoryRegistry.release();
-		}
-		// if document as not been changed, we'll still be listening for
-		// first change. This is not a critical clean up, since presumanly
-		// whole model and document are "going away", but can make
-		// other memory leaks harder to find if we stay attached.
-		// (Note: my first thought was to set fStructuredDocument to null
-		// also,
-		// but there's others in shutdown process that still need to
-		// get it, in order to disconnect from it.)
-		if (fStructuredDocument != null) {
-			fStructuredDocument.removeDocumentChangedListener(fDirtyStateWatcher);
-		}
-	}
-
-	/**
-	 * This method is just for getting an instance of the model manager of the
-	 * right Impl type, to be used "internally" for making protected calls
-	 * directly to the impl class.
-	 */
-	private ModelManagerImpl _getModelManager() {
-		// TODO_future: redesign so we don't need this 'Impl' version
-		if (fModelManager == null) {
-			fModelManager = StructuredModelManager.getModelManager();
-		}
-
-		return (ModelManagerImpl) fModelManager;
-	}
-
-	/**
-	 * This API allows clients to declare that they are about to make a
-	 * "large" change to the model. This change might be in terms of content
-	 * or it might be in terms of the model id or base location. Note that in
-	 * the case of embedded calls, notification to listners is sent only once.
-	 * Note that the client who is making these changes has the responsibility
-	 * to restore the models state once finished with the changes. See
-	 * getMemento and restoreState. The method isModelStateChanging can be
-	 * used by a client to determine if the model is already in a change
-	 * sequence.
-	 */
-	public void aboutToChangeModel() {
-
-
-		// notice this is just a public avenue to our protected method
-		internalAboutToBeChanged();
-	}
-
-
-	public void aboutToReinitializeModel() {
-
-
-
-		// notice this is just a public avenue to our protected method
-		fireModelAboutToBeReinitialized();
-	}
-
-
-	public void addModelLifecycleListener(IModelLifecycleListener listener) {
-
-		synchronized (fListenerLock) {
-
-			if (fLifecycleNotificationManager == null) {
-				fLifecycleNotificationManager = new LifecycleNotificationManager();
-			}
-			fLifecycleNotificationManager.addListener(listener);
-		}
-	}
-
-	public void addModelStateListener(IModelStateListener listener) {
-
-		synchronized (fListenerLock) {
-
-			if (!Utilities.contains(fModelStateListeners, listener)) {
-				int oldSize = 0;
-				if (fModelStateListeners != null) {
-					// normally won't be null, but we need to be sure, for
-					// first
-					// time through
-					oldSize = fModelStateListeners.length;
-				}
-				int newSize = oldSize + 1;
-				Object[] newListeners = new Object[newSize];
-				if (fModelStateListeners != null) {
-					System.arraycopy(fModelStateListeners, 0, newListeners, 0, oldSize);
-				}
-				// add listener to last position
-				newListeners[newSize - 1] = listener;
-				//
-				// now switch new for old
-				fModelStateListeners = newListeners;
-			}
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private void beginLock() {
-		fLockObject = getLockObject();
-		if (fLockObject != null)
-			fLockObject.acquire();
-	}
-
-	public void beginRecording(Object requester) {
-
-		beginRecording(requester, null, null);
-	}
-
-	public void beginRecording(Object requester, int cursorPosition, int selectionLength) {
-
-		beginRecording(requester, null, null, cursorPosition, selectionLength);
-	}
-
-	public void beginRecording(Object requester, String label) {
-
-		beginRecording(requester, label, null);
-	}
-
-	public void beginRecording(Object requester, String label, int cursorPosition, int selectionLength) {
-
-		beginRecording(requester, label, null, cursorPosition, selectionLength);
-	}
-
-	public void beginRecording(Object requester, String label, String description) {
-
-		if (getUndoManager() != null)
-			getUndoManager().beginRecording(requester, label, description);
-	}
-
-	public void beginRecording(Object requester, String label, String description, int cursorPosition, int selectionLength) {
-
-		if (getUndoManager() != null)
-			getUndoManager().beginRecording(requester, label, description, cursorPosition, selectionLength);
-	}
-
-	/**
-	 * This API allows a client controlled way of notifying all ModelEvent
-	 * listners that the model has been changed. This method is a matched pair
-	 * to aboutToChangeModel, and *must* be called after aboutToChangeModel
-	 * ... or some listeners could be left waiting indefinitely for the
-	 * changed event. So, its suggested that changedModel always be in a
-	 * finally clause. Likewise, a client should never call changedModel
-	 * without calling aboutToChangeModel first. In the case of embedded
-	 * calls, the notification is just sent once.
-	 */
-	public void changedModel() {
-
-
-		// notice this is just a public avenue to our protected method
-		internalModelChanged();
-		// also note!
-		// if we've been "changed" by a client, we might still need
-		// to be re-initialized, so we'll check and handle that here.
-		// Note only does this provide a solution to some "missed"
-		// re-inits, in provides a built in way for clients to
-		// "force" the model to handle itself, by bracketing any
-		// changes with aboutToChange and changed, the model itself
-		// will check. But only call re-init if all other pending
-		// modelChanged states have been handled.
-		if (fModelStateChanging == 0 && isReinitializationNeeded()) {
-			reinit();
-		}
-	}
-
-
-	/**
-	 * Based on similar method in FileDocumentProvider. It will provide what
-	 * the modificationStamp would be if resetSynchronzationStamp(resource)
-	 * were used, although for this 'compute' API, no changes to the instance
-	 * are made.
-	 */
-	public long computeModificationStamp(IResource resource) {
-
-
-		long modificationStamp = resource.getModificationStamp();
-		IPath path = resource.getLocation();
-		if (path == null) {
-			return modificationStamp;
-		}
-		// Note: checking existence of file is a little different than
-		// impl in
-		// the FileDocumentProvider. See defect number 223790.
-		File file = path.toFile();
-		if (!file.exists()) {
-			return modificationStamp;
-		}
-		modificationStamp = file.lastModified();
-		return modificationStamp;
-	}
-
-
-	/**
-	 * Provides a copy of the model, but a new ID must be provided. The
-	 * principle of this copy is not to copy fields, etc., as is typically
-	 * done in a clone method, but to return a model with the same content in
-	 * the structuredDocument. Note: It is the callers responsibility to
-	 * setBaseLocation, listners, etc., as appropriate. Type and Encoding are
-	 * the only fields set by this method. If the newId provided already exist
-	 * in the model manager, a ResourceInUse exception is thrown.
-	 */
-	public IStructuredModel copy(String newId) throws ResourceInUse {
-
-
-		IStructuredModel newModel = null;
-		// this first one should fail, if not, its treated as an error
-		// If the caller wants to use an existing one, they can call
-		// getExisting
-		// after this failure
-		newModel = getModelManager().getExistingModelForEdit(newId);
-		if (newModel != null) {
-			// be sure to release the reference we got "by accident" (and
-			// no
-			// longer need)
-			newModel.releaseFromEdit();
-			throw new ResourceInUse();
-		}
-		newModel = getModelManager().copyModelForEdit(getId(), newId);
-		return newModel;
-	}
-
-
-	/**
-	 * Disable undo management.
-	 */
-	public void disableUndoManagement() {
-
-		if (getUndoManager() != null)
-			getUndoManager().disableUndoManagement();
-	}
-
-	/**
-	 * Enable undo management.
-	 */
-	public void enableUndoManagement() {
-
-		if (getUndoManager() != null)
-			getUndoManager().enableUndoManagement();
-	}
-
-	/**
-	 * endLock is protected only for a very special purpose. So subclasses can
-	 * call it to end the lock after updates have been made, but before
-	 * notifications are sent
-	 *  
-	 */
-	protected final void endLock() {
-		if (fLockObject != null) {
-			fLockObject.release();
-		}
-		// fLock being null is used as an indicator that
-		// we are not locked (and used in logic to decide
-		// acquire/release.
-		fLockObject = null;
-
-	}
-
-	public void endRecording(Object requester) {
-
-		if (getUndoManager() != null)
-			getUndoManager().endRecording(requester);
-	}
-
-	public void endRecording(Object requester, int cursorPosition, int selectionLength) {
-
-		if (getUndoManager() != null)
-			getUndoManager().endRecording(requester, cursorPosition, selectionLength);
-	}
-
-	/**
-	 * Informs all registered model state listeners that the the model is
-	 * about to under go a change. This change might be in terms of contents
-	 * or might be in terms of the model's id or base location.
-	 */
-	private void fireModelAboutToBeChanged() {
-
-		// we must assign listeners to local variable, since the add and
-		// remove listner
-		// methods can change the actual instance of the listener array
-		// from another thread
-		if (fModelStateListeners != null) {
-			Object[] holdListeners = fModelStateListeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				((IModelStateListener) holdListeners[i]).modelAboutToBeChanged(this);
-			}
-		}
-
-	}
-
-	protected void fireModelAboutToBeReinitialized() {
-
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (fModelStateListeners != null) {
-			if (DEBUG_STATE) {
-				System.out.println("IModelStateListener event for " + getId() + " : modelAboutToBeReinitialized");
-			}
-			Object[] holdListeners = fModelStateListeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				// NOTE: trick for transition. We actual use the same
-				// listeners
-				// as modelState, but only send this to those that have
-				// implemented ModelStateExtended.
-				IModelStateListener listener = (IModelStateListener) holdListeners[i];
-				if (listener instanceof IModelStateListenerExtended) {
-					IModelStateListenerExtended extendedListner = (IModelStateListenerExtended) listener;
-					extendedListner.modelAboutToBeReinitialized(this);
-				}
-			}
-		}
-	}
-
-	private void fireModelChanged() {
-		// we must assign listeners
-		// to local variable, since the add
-		// and remove listner
-		// methods can change the actual instance of the listener
-		// array from another thread
-		if (fModelStateListeners != null) {
-			Object[] holdListeners = fModelStateListeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				try {
-					((IModelStateListener) holdListeners[i]).modelChanged(this);
-				}
-				// its so criticial that the begin/end arrive in
-				// pairs,
-				// if there happends to be an error in one of the
-				// modelChanged,
-				// they we want to be sure rest complete ok.
-				catch (Exception e) {
-					Logger.logException(e);
-				}
-			}
-
-		}
-	}
-
-	/**
-	 * Informs all registered model state listeners about a change in the
-	 * dirty state of the model. The dirty state is entirely about changes in
-	 * the content of the model (not, for example, about changes to id, or
-	 * base location -- see modelMoved).
-	 */
-	protected void fireModelDirtyStateChanged(IStructuredModel element, boolean isDirty) {
-
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (fModelStateListeners != null) {
-			if (DEBUG_STATE) {
-				System.out.println("IModelStateListener event for " + getId() + " : modelDirtyStateChanged");
-			}
-			Object[] holdListeners = fModelStateListeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				((IModelStateListener) holdListeners[i]).modelDirtyStateChanged(element, isDirty);
-			}
-		}
-	}
-
-	protected void fireModelReinitialized() {
-
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (fModelStateListeners != null) {
-			if (DEBUG_STATE) {
-				System.out.println("IModelStateListener event for " + getId() + " : modelReinitialized");
-			}
-			Object[] holdListeners = fModelStateListeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				// NOTE: trick for transition. We actual use the same
-				// listeners
-				// as modelState, but only send this to those that have
-				// implemented ModelStateExtended.
-				IModelStateListener listener = (IModelStateListener) holdListeners[i];
-				if (listener instanceof IModelStateListenerExtended) {
-					IModelStateListenerExtended extendedListner = (IModelStateListenerExtended) listener;
-					extendedListner.modelReinitialized(this);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Informs all registered model state listeners about the deletion of a
-	 * model's underlying resource.
-	 */
-	protected void fireModelResourceDeleted(IStructuredModel element) {
-
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (fModelStateListeners != null) {
-			if (DEBUG_STATE) {
-				System.out.println("IModelStateListener event for " + getId() + " : modelResourceDeleted");
-			}
-			Object[] holdListeners = fModelStateListeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				((IModelStateListener) holdListeners[i]).modelResourceDeleted(element);
-			}
-		}
-	}
-
-	/**
-	 * Informs all registered model state listeners that the resource
-	 * underlying a model has been moved. This is typically reflected in a
-	 * change to the id, baseLocation, or both.
-	 */
-	protected void fireModelResourceMoved(IStructuredModel originalElement, IStructuredModel movedElement) {
-
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (fModelStateListeners != null) {
-			if (DEBUG_STATE) {
-				System.out.println("IModelStateListener event for " + getId() + " : modelResourceMoved");
-			}
-			Object[] holdListeners = fModelStateListeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				((IModelStateListener) holdListeners[i]).modelResourceMoved(originalElement, movedElement);
-			}
-		}
-	}
-
-	public Object getAdapter(Class adapter) {
-
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public java.lang.String getBaseLocation() {
-
-		return fBaseLocation;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.core.IStructuredModel#getContentTypeIdentifier()
-	 */
-	public String getContentTypeIdentifier() {
-		if (fExplicitContentTypeIdentifier != null)
-			return fExplicitContentTypeIdentifier;
-		return fModelHandler.getAssociatedContentTypeId();
-	}
-
-	/**
-	 *  
-	 */
-	public IFactoryRegistry getFactoryRegistry() {
-		if (factoryRegistry == null) {
-			factoryRegistry = new FactoryRegistry();
-		}
-		return factoryRegistry;
-	}
-
-	/**
-	 * The id is the id that the model manager uses to identify this model
-	 */
-	public String getId() {
-
-
-		return fId;
-	}
-
-	public abstract IndexedRegion getIndexedRegion(int offset);
-
-	/**
-	 * @return
-	 */
-	private ILock getLockObject() {
-
-		// we always "get afresh" the lock object from our document,
-		// just in case the instance of the document changes.
-		ILock result = null;
-		IStructuredDocument doc = getStructuredDocument();
-		if (doc instanceof ILockable) {
-			// remember, more than one client can get the
-			// lock object, its during the aquire that the
-			// lock on the thread is obtained.
-			result = ((ILockable) doc).getLockObject();
-		}
-		return result;
-	}
-
-
-	/**
-	 * This method returns a mememto that can later be used to restore the
-	 * state at this point. A model's state, in this sense, does not relate to
-	 * its content, or Ids, etc., just its dirty state, and its
-	 * synchronization state with its underlying resource. The 'resource'
-	 * argument must be the resource that underlies the instance of the model
-	 * this method is sent to. Note: this parameter will not be required in
-	 * future versions of 'strucutured model'.
-	 */
-	public IStateMemento getMemento(IResource resource) {
-
-		ModelStateMemento memento = new ModelStateMemento();
-		memento.setUnderlyingResource(resource);
-		memento.setDirtyState(isDirty());
-		long modDate = computeModificationStamp(resource);
-		memento.setDatesInSync(fSynchronizationStamp == modDate);
-		return memento;
-	}
-
-	/**
-	 * Gets the contentTypeDescription.
-	 * 
-	 * @return Returns a ContentTypeDescription
-	 */
-	public IModelHandler getModelHandler() {
-
-		return fModelHandler;
-	}
-
-	/**
-	 * @return com.ibm.sed.model.IModelManager
-	 */
-	public IModelManager getModelManager() {
-
-		return _getModelManager();
-	}
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 */
-	// TODO: try to refine the design not to use this function
-	public int getReferenceCount() {
-
-
-		if (getModelManager() == null)
-			return 0;
-		return getModelManager().getReferenceCount(getId());
-	}
-
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 */
-	// TODO: try to refine the design not to use this function
-	public int getReferenceCountForEdit() {
-
-
-
-		if (getModelManager() == null)
-			return 0;
-		return getModelManager().getReferenceCountForEdit(getId());
-	}
-
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 */
-	// TODO: try to refine the design not to use this function
-	public int getReferenceCountForRead() {
-
-
-
-		if (getModelManager() == null)
-			return 0;
-		return getModelManager().getReferenceCountForRead(getId());
-	}
-
-	public Object getReinitializeStateData() {
-
-		return reinitializeStateData;
-	}
-
-
-	/**
-	 * @return com.ibm.sed.util.URIResolver
-	 */
-	public URIResolver getResolver() {
-
-		return fResolver;
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocument
-	 */
-	public IStructuredDocument getStructuredDocument() {
-
-		return fStructuredDocument;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (9/7/2001 2:30:26
-	 * PM)
-	 * 
-	 * @return long
-	 */
-	public long getSynchronizationStamp() {
-
-		return fSynchronizationStamp;
-	}
-
-	public IStructuredTextUndoManager getUndoManager() {
-
-		IStructuredTextUndoManager structuredTextUndoManager = null;
-		IStructuredDocument structuredDocument = getStructuredDocument();
-		if (structuredDocument == null) {
-			structuredTextUndoManager = null;
-		} else {
-			structuredTextUndoManager = structuredDocument.getUndoManager();
-		}
-		return structuredTextUndoManager;
-	}
-
-	public void initId(String id) {
-		fId = id;
-	}
-
-	protected void internalAboutToBeChanged() {
-
-		// notice we only fire this event if we are not
-		// already in a model state changing sequence
-		if (fModelStateChanging == 0) {
-
-			if (DEBUG_STATE) {
-				System.out.println("IModelStateListener event for " + getId() + " : modelAboutToBeChanged"); //$NON-NLS-1$
-			}
-
-			fireModelAboutToBeChanged();
-			// begin lock after listeners notified, otherwise
-			// deadlock could occur if they call us back.
-			beginLock();
-
-		}
-		// we always increment counter, for every request (so *must* receive
-		// corresponding number of 'changedModel' requests)
-		fModelStateChanging++;
-	}
-
-	/**
-	 * Informs all registered model state listeners that an impending change
-	 * is now complete. This method must only be called by 'modelChanged'
-	 * since it keeps track of counts.
-	 */
-	protected void internalModelChanged() {
-
-		// always decrement
-		fModelStateChanging--;
-
-
-		// Check integrity
-		// to be less than zero is a programming error,
-		// but we'll reset to zero
-		// and try to continue
-		if (fModelStateChanging < 0) {
-			fModelStateChanging = 0;
-			Logger.log(Logger.ERROR, "Program Error: modelStateChanging was less than zero");
-		}
-
-
-		// We only fire this event if all pending requests are done.
-		// That is, if we've received the same number of modelChanged as
-		// we have aboutToChangeModel.
-		if (fModelStateChanging == 0) {
-			if (DEBUG_STATE) {
-				System.out.println("IModelStateListener event for " + getId() + " : modelChanged"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			endLock();
-			// notifify listeners outline locked state (or deadlock
-			// can occur if one of them calls us back.
-			fireModelChanged();
-		}
-	}
-
-	public boolean isDirty() {
-
-		return fDirtyState;
-	}
-
-	/**
-	 * This method has very special purpose, its used in subclass
-	 * 'changedModel' to know when to do "ending" sorts of things, right
-	 * before a call to super.ChangedModel would in deed put the model in
-	 * 'end' state. Put another way, at the beginning of the subclasses's
-	 * changedModel, the isModelStateChanging is true, but at end, it will be
-	 * false. So, this method allows a small "peek ahead".
-	 */
-	protected boolean isModelChangeStateOnVergeOfEnding() {
-
-
-		return fModelStateChanging == 1;
-	}
-
-	/**
-	 * This method can be called to determine if the model is within a
-	 * "aboutToChange" and "changed" sequence.
-	 */
-	public boolean isModelStateChanging() {
-
-
-		return fModelStateChanging > 0;
-	}
-
-	public boolean isNew() {
-
-		return fNewState;
-	}
-
-	public boolean isReinitializationNeeded() {
-
-		return reinitializationNeeded;
-	}
-
-	public boolean isSaveNeeded() {
-
-
-		if (!isSharedForEdit())
-			return isDirty();
-		else
-			return false;
-	}
-
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 */
-	public boolean isShared() {
-		if (getModelManager() == null)
-			return false;
-		return getModelManager().isShared(getId());
-	}
-
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 */
-	public boolean isSharedForEdit() {
-
-
-		if (getModelManager() == null)
-			return false;
-		return getModelManager().isSharedForEdit(getId());
-	}
-
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 */
-	public boolean isSharedForRead() {
-
-
-		if (getModelManager() == null)
-			return false;
-		return getModelManager().isSharedForRead(getId());
-	}
-
-
-	public void modelReinitialized() {
-
-
-		// notice this is just a public avenue to our protected method
-		fireModelReinitialized();
-	}
-
-	public IStructuredModel newInstance() throws IOException {
-
-		IStructuredModel newModel = null;
-		// we delegate to the model manager, so loader, etc., can be
-		// used.
-		newModel = getModelManager().createNewInstance(this);
-		return newModel;
-	}
-
-	public IStructuredModel reinit() {
-
-
-		IStructuredModel result = null;
-		if (fModelStateChanging == 0) {
-			try {
-				aboutToChangeModel();
-				aboutToReinitializeModel();
-				result = _getModelManager().reinitialize(this);
-			} finally {
-				setReinitializeNeeded(false);
-				setReinitializeStateData(null);
-				modelReinitialized();
-				changedModel();
-			}
-		} else {
-			System.out.println("indeed!!!"); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-
-	/**
-	 * This function allows the model to free up any resources it might be
-	 * using. In particular, itself, as stored in the IModelManager.
-	 */
-	public void releaseFromEdit() {
-
-
-		if (getModelManager() == null) {
-			throw new SourceEditingRuntimeException("Warning: AbstractStructuredModel::close:  model manager was null during a close of a model (which should be impossible)"); //$NON-NLS-1$
-		} else {
-			// be sure to check the shared state before releasing. (Since
-			// isShared assumes a count
-			// of 1 means not shared ... and we want our '1' to be that
-			// one.)
-			boolean isShared = isShared();
-
-			if (!isShared) {
-				signalPreLifeCycleEventRelease(this);
-			}
-
-			_getModelManager().releaseFromEdit(getId());
-			// if no one else is using us, free up
-			// an resources
-			if (!isShared) {
-				_commonRelease();
-				signalPostLifeCycleListenerRelease(this);
-			}
-		}
-	}
-
-	/**
-	 * This function allows the model to free up any resources it might be
-	 * using. In particular, itself, as stored in the IModelManager.
-	 */
-	public void releaseFromRead() {
-
-
-		if (getModelManager() == null) {
-			throw new SourceEditingRuntimeException("Warning: AbstractStructuredModel::close:  model manager was null during a close of a model (which should be impossible)"); //$NON-NLS-1$
-		} else {
-			// be sure to check the shared state before
-			// releasing. (Since isShared assumes a count
-			// of 1 means not shared ... and we want
-			// our '1' to be that one.)
-			boolean isShared = isShared();
-
-			if (!isShared) {
-				signalPreLifeCycleEventRelease(this);
-			}
-
-			_getModelManager().releaseFromRead(getId());
-			// if no one else is using us, free up
-			// an resources
-			if (!isShared) {
-				// factoryRegistry.release();
-				_commonRelease();
-				signalPostLifeCycleListenerRelease(this);
-			}
-		}
-	}
-
-
-	/**
-	 * This function replenishes the model with the resource without saving
-	 * any possible changes. It is used when one editor may be closing, and
-	 * specifially says not to save the model, but another "display" of the
-	 * model still needs to hang on to some model, so needs a fresh copy.
-	 */
-	public IStructuredModel reload(InputStream inputStream) throws IOException {
-		IStructuredModel result = null;
-		try {
-			aboutToChangeModel();
-			result = _getModelManager().reloadModel(getId(), inputStream);
-		} catch (UnsupportedEncodingException e) {
-			// its a very serious error to get an unsupported encoding
-			// exception,
-			// since we've presumable loaded it once already, so won't
-			// bother
-			// with a checked exception.
-			throw new SourceEditingRuntimeException(e);
-		} finally {
-			changedModel();
-		}
-		return result;
-	}
-
-	public void removeModelLifecycleListener(IModelLifecycleListener listener) {
-
-		// if manager is null, then none have been added, so
-		// no need to remove it.
-		if (fLifecycleNotificationManager == null)
-			return;
-		synchronized (fListenerLock) {
-			fLifecycleNotificationManager.removeListener(listener);
-		}
-	}
-
-
-	public void removeModelStateListener(IModelStateListener listener) {
-
-		if (listener == null)
-			return;
-		if (fModelStateListeners == null)
-			return;
-		// if its not in the listeners, we'll ignore the request
-		synchronized (fListenerLock) {
-			if (Utilities.contains(fModelStateListeners, listener)) {
-				int oldSize = fModelStateListeners.length;
-				int newSize = oldSize - 1;
-				Object[] newListeners = new Object[newSize];
-				int index = 0;
-				for (int i = 0; i < oldSize; i++) {
-					if (fModelStateListeners[i] == listener) { // ignore
-					} else {
-						// copy old to new if its not the one we are
-						// removing
-						newListeners[index++] = fModelStateListeners[i];
-					}
-				}
-				// now that we have a new array, let's switch it for the
-				// old
-				// one
-				fModelStateListeners = newListeners;
-			}
-		}
-	}
-
-
-	/**
-	 * A method that modififies the model's synchonization stamp to match the
-	 * resource. Turns out there's several ways of doing it, so this ensures a
-	 * common algorithm.
-	 */
-	public void resetSynchronizationStamp(IResource resource) {
-
-
-		setSynchronizationStamp(computeModificationStamp(resource));
-	}
-
-
-	/**
-	 * This API allows a client to initiate notification to all interested
-	 * parties that a model's underlying resource has been deleted.
-	 */
-	public void resourceDeleted() {
-
-
-		// notice this is just a public avenue to our protected method
-		fireModelResourceDeleted(this);
-	}
-
-
-	/**
-	 * This method allows a model client to initiate notification to all
-	 * interested parties that a model's underlying resource location has
-	 * changed. Note: we assume caller has already changed baseLocation, Id,
-	 * etc., since its really up to the client to determine what's "new" about
-	 * a moved model. Caution: 'this' and 'newModel' may be the same object.
-	 * This is the case for current working with FileModelProvider, but have
-	 * left the dual argument for future possiblities.
-	 */
-	public void resourceMoved(IStructuredModel newModel) {
-
-
-		// notice this is just a public avenue to our protected method
-		fireModelResourceMoved(this, newModel);
-	}
-
-
-	public void restoreState(IStateMemento memento) {
-
-
-		ModelStateMemento mMemento = (ModelStateMemento) memento;
-		// be sure to use setter, so side effects take place.
-		setDirtyState(mMemento.isDirtyState());
-		if (mMemento.isDatesInSync()) {
-			IResource resource = mMemento.getUnderlyingResource();
-			setSynchronizationStamp(computeModificationStamp(resource));
-		}
-	}
-
-
-	public void save() throws UnsupportedEncodingException, IOException, CoreException {
-
-		int type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.PRE_EVENT;
-		ModelLifecycleEvent modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-		signalLifecycleEvent(modelLifecycleEvent);
-
-		try {
-			String stringId = getId();
-			_getModelManager().saveModel(stringId, EncodingRule.CONTENT_BASED);
-		}
-
-		finally {
-			// we put end notificatin in finally block, so even if
-			// error occurs during save, listeners are still notified,
-			// since their code could depend on receiving, to clean up
-			// some state, or coordinate other resources.
-			type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.POST_EVENT;
-			modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-			signalLifecycleEvent(modelLifecycleEvent);
-		}
-	}
-
-
-	public void save(EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-
-		int type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.PRE_EVENT;
-		ModelLifecycleEvent modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-		signalLifecycleEvent(modelLifecycleEvent);
-
-		try {
-			String stringId = getId();
-			_getModelManager().saveModel(stringId, encodingRule);
-		} finally {
-			// we put end notificatin in finally block, so even if
-			// error occurs during save, listeners are still notified,
-			// since their code could depend on receiving, to clean up
-			// some state, or coordinate other resources.
-			type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.POST_EVENT;
-			modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-			signalLifecycleEvent(modelLifecycleEvent);
-		}
-	}
-
-
-	public void save(IFile iFile) throws UnsupportedEncodingException, IOException, CoreException {
-
-		int type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.PRE_EVENT;
-		ModelLifecycleEvent modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-		signalLifecycleEvent(modelLifecycleEvent);
-
-		try {
-			String stringId = getId();
-			_getModelManager().saveModel(iFile, stringId, EncodingRule.CONTENT_BASED);
-		}
-
-		finally {
-			// we put end notificatin in finally block, so even if
-			// error occurs during save, listeners are still notified,
-			// since their code could depend on receiving, to clean up
-			// some state, or coordinate other resources.
-			type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.POST_EVENT;
-			modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-			signalLifecycleEvent(modelLifecycleEvent);
-		}
-	}
-
-
-	public void save(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-
-		int type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.PRE_EVENT;
-		ModelLifecycleEvent modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-		signalLifecycleEvent(modelLifecycleEvent);
-
-		try {
-			String stringId = getId();
-			_getModelManager().saveModel(iFile, stringId, encodingRule);
-		} finally {
-			// we put end notificatin in finally block, so even if
-			// error occurs during save, listeners are still notified,
-			// since their code could depend on receiving, to clean up
-			// some state, or coordinate other resources.
-			type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.POST_EVENT;
-			modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-			signalLifecycleEvent(modelLifecycleEvent);
-		}
-	}
-
-
-	public void save(OutputStream outputStream) throws UnsupportedEncodingException, CoreException, IOException {
-
-		int type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.PRE_EVENT;
-		ModelLifecycleEvent modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-		signalLifecycleEvent(modelLifecycleEvent);
-
-		try {
-			String stringId = getId();
-			_getModelManager().saveModel(stringId, outputStream, EncodingRule.CONTENT_BASED);
-		}
-
-		finally {
-			// we put end notificatin in finally block, so even if
-			// error occurs during save, listeners are still notified,
-			// since their code could depend on receiving, to clean up
-			// some state, or coordinate other resources.
-			type = ModelLifecycleEvent.MODEL_SAVED | ModelLifecycleEvent.POST_EVENT;
-			modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-			signalLifecycleEvent(modelLifecycleEvent);
-		}
-	}
-
-
-	/**
-	 * This attribute is typically used to denote the model's underlying
-	 * resource.
-	 */
-	public void setBaseLocation(java.lang.String newBaseLocation) {
-
-		fBaseLocation = newBaseLocation;
-	}
-
-	public void setContentTypeIdentifier(String contentTypeIdentifier) {
-		fExplicitContentTypeIdentifier = contentTypeIdentifier;
-	}
-
-	/**
-	 *  
-	 */
-	public void setDirtyState(boolean dirtyState) {
-
-		// no need to process (set or fire event), if same value
-		if (fDirtyState != dirtyState) {
-			// prechange notificaiton
-			int type = ModelLifecycleEvent.MODEL_DIRTY_STATE | ModelLifecycleEvent.PRE_EVENT;
-			ModelLifecycleEvent modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-			signalLifecycleEvent(modelLifecycleEvent);
-
-
-			// the actual change
-			fDirtyState = dirtyState;
-
-			// old notification
-			// TODO: C3 remove old notification
-			if (fDirtyState == false) {
-				// if we are being set to not dirty (such as just been saved)
-				// then we need to start listening for changes
-				// again to know when to set state to true;
-				getStructuredDocument().addDocumentChangedListener(fDirtyStateWatcher);
-			}
-			fireModelDirtyStateChanged(this, dirtyState);
-
-
-			// post change notification
-			type = ModelLifecycleEvent.MODEL_DIRTY_STATE | ModelLifecycleEvent.POST_EVENT;
-			modelLifecycleEvent = new ModelLifecycleEvent(this, type);
-			signalLifecycleEvent(modelLifecycleEvent);
-		}
-	}
-
-	/**
-	 * @deprecated - will likely be deprecated soon, in favor of direct 'adds'
-	 *             ... but takes some redesign.
-	 */
-	public void setFactoryRegistry(IFactoryRegistry factoryRegistry) {
-		this.factoryRegistry = factoryRegistry;
-	}
-
-	/**
-	 * The id is the id that the model manager uses to identify this model. If
-	 * it is being set here, it means the model manger is already managing the
-	 * model with another id, so we have to keep it in sync. This method calls
-	 * notifies listners, if they haven't been notified already, that a "model
-	 * state change" is about to occur.
-	 */
-	public void setId(String newId) throws ResourceInUse {
-
-
-		// It makes no sense, I don't think, to have an id of null, so
-		// we'll throw an illegal argument exception if someone trys. Note:
-		// the IModelManager could not manage a model with an id of null,
-		// since it uses hashtables, and you can't have a null id for a
-		// hashtable.
-		if (newId == null)
-			throw new IllegalArgumentException(SSECorePlugin.getResourceString("%A_model's_id_can_not_be_nu_EXC_")); //$NON-NLS-1$ = "A model's id can not be null"
-		// To gaurd againt throwing a spurious ResourceInUse exception,
-		// which can occur when two pieces of code both want to change the id,
-		// so the second request is spurious, we'll ignore any requests that
-		// attempt to change the id to what it already is ... note, we use
-		// 'equals', not identity ('==') so that things like
-		// strings can be used. This is the same criteria that ids are
-		// found in model manager -- well, actually, I just checked, and for
-		// the hashtable impl, the criteria uses .equals AND the condition
-		// that the hash values be identical (I'm assuming this is always
-		// true, if equals is true, for now, I'm not sure
-		// we can assume that hashtable will always be used, but in
-		// general, should match.)
-		//
-		if (newId.equals(fId))
-			return;
-		// we must gaurd against reassigning an id to one that we already
-		// are managing.
-		if (getModelManager() != null) {
-			IStructuredModel newModel = getModelManager().getExistingModelForEdit(newId);
-			if (newModel != null) {
-				// be sure to release the reference we got unexepectantly
-				// (and no longer need)
-				newModel.releaseFromEdit();
-				throw new ResourceInUse();
-			}
-		}
-		try {
-			// normal code path
-			aboutToChangeModel();
-			String oldId = fId;
-			fId = newId;
-			if (getModelManager() != null) {
-				// if managed and the id has changed, notify to
-				// IModelManager
-				// TODO: try to refine the design not to do that
-				if (oldId != null && newId != null && !newId.equals(oldId)) {
-					getModelManager().moveModel(oldId, newId);
-				}
-			}
-		} finally {
-			// make sure this finally is only executed if 'about to Change
-			// model' has
-			// ben executed.
-			changedModel();
-		}
-	}
-
-	/**
-	 * Sets the contentTypeDescription.
-	 * 
-	 * @param contentTypeDescription
-	 *            The contentTypeDescription to set
-	 */
-	public void setModelHandler(IModelHandler modelHandler) {
-
-		// no need to fire events if modelHandler has been null
-		// for this model --
-		// this is an attempt at initialization optimization and may need
-		// to change in future.
-		boolean trueChange = false;
-		if (fModelHandler != null)
-			trueChange = true;
-		if (trueChange) {
-			internalAboutToBeChanged();
-		}
-		fModelHandler = modelHandler;
-		if (trueChange) {
-			internalModelChanged();
-		}
-	}
-
-
-
-	/**
-	 * @param newModelManager
-	 *            com.ibm.sed.model.IModelManager
-	 */
-	public void setModelManager(IModelManager newModelManager) {
-
-		fModelManager = newModelManager;
-	}
-
-	/**
-	 *  
-	 */
-	public void setNewState(boolean newState) {
-
-		fNewState = newState;
-	}
-
-	/**
-	 * Sets a "flag" that reinitialization is needed.
-	 */
-	public void setReinitializeNeeded(boolean needed) {
-
-		reinitializationNeeded = needed;
-	}
-
-	/**
-	 * Holds any data that the reinit procedure might find useful in
-	 * reinitializing the model. This is handy, since the reinitialization may
-	 * not take place at once, and some "old" data may be needed to properly
-	 * undo previous settings. Note: the parameter was intentially made to be
-	 * of type 'Object' so different models can use in different ways.
-	 */
-	public void setReinitializeStateData(Object object) {
-
-		reinitializeStateData = object;
-	}
-
-	/**
-	 * @param newResolver
-	 *            com.ibm.sed.util.URIResolver
-	 */
-	public void setResolver(URIResolver newResolver) {
-
-		fResolver = newResolver;
-	}
-
-	/**
-	 * @param newStructuredDocument
-	 *            com.ibm.sed.structuredDocument.IStructuredDocument
-	 */
-	public void setStructuredDocument(IStructuredDocument newStructuredDocument) {
-
-		boolean lifeCycleNotification = false;
-		if (fStructuredDocument != null) {
-			fStructuredDocument.removeDocumentChangedListener(fDirtyStateWatcher);
-			fStructuredDocument.removeDocumentAboutToChangeListener(fDocumentToModelNotifier);
-			fStructuredDocument.removeDocumentChangedListener(fDocumentToModelNotifier);
-			// prechange notificaiton
-			lifeCycleNotification = true;
-			ModelLifecycleEvent modelLifecycleEvent = new DocumentChanged(ModelLifecycleEvent.PRE_EVENT, this, fStructuredDocument, newStructuredDocument);
-			signalLifecycleEvent(modelLifecycleEvent);
-		}
-
-		// hold for life cycle notification
-		IStructuredDocument previousDocument = fStructuredDocument;
-		// the actual change
-		fStructuredDocument = newStructuredDocument;
-
-
-		// at the super class level, we'll listen for structuredDocument
-		// changes
-		// so we can set our dirty state flag
-		if (fStructuredDocument != null) {
-			fStructuredDocument.addDocumentChangedListener(fDirtyStateWatcher);
-			fStructuredDocument.addDocumentAboutToChangeListener(fDocumentToModelNotifier);
-			fStructuredDocument.addDocumentChangedListener(fDocumentToModelNotifier);
-		}
-
-		if (lifeCycleNotification) {
-			// post change notification
-			ModelLifecycleEvent modelLifecycleEvent = new DocumentChanged(ModelLifecycleEvent.POST_EVENT, this, previousDocument, newStructuredDocument);
-			signalLifecycleEvent(modelLifecycleEvent);
-		}
-
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (9/7/2001 2:30:26
-	 * PM)
-	 * 
-	 * @param newSynchronizationStamp
-	 *            long
-	 */
-	protected void setSynchronizationStamp(long newSynchronizationStamp) {
-
-		fSynchronizationStamp = newSynchronizationStamp;
-	}
-
-	public void setUndoManager(IStructuredTextUndoManager undoManager) {
-
-		IStructuredDocument structuredDocument = getStructuredDocument();
-		if (structuredDocument == null) {
-			throw new IllegalStateException("document was null when undo manager set on model"); //$NON-NLS-1$
-		}
-		structuredDocument.setUndoManager(undoManager);
-	}
-
-	/**
-	 * to be called only be "friendly" classes, such as ModelManger, and
-	 * subclasses.
-	 */
-	protected void signalLifecycleEvent(ModelLifecycleEvent event) {
-
-		if (fLifecycleNotificationManager == null)
-			return;
-		fLifecycleNotificationManager.signalLifecycleEvent(event);
-	}
-
-	private void signalPostLifeCycleListenerRelease(IStructuredModel structuredModel) {
-		int type = ModelLifecycleEvent.MODEL_RELEASED | ModelLifecycleEvent.POST_EVENT;
-		// what's wrong with this design that a cast is needed here!?
-		ModelLifecycleEvent event = new ModelLifecycleEvent(structuredModel, type);
-		((AbstractStructuredModel) structuredModel).signalLifecycleEvent(event);
-	}
-
-	private void signalPreLifeCycleEventRelease(IStructuredModel structuredModel) {
-		int type = ModelLifecycleEvent.MODEL_RELEASED | ModelLifecycleEvent.PRE_EVENT;
-		// what's wrong with this design that a cast is needed here!?
-		ModelLifecycleEvent event = new ModelLifecycleEvent(structuredModel, type);
-		((AbstractStructuredModel) structuredModel).signalLifecycleEvent(event);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AdapterFactory.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AdapterFactory.java
deleted file mode 100644
index 720f5e7..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/AdapterFactory.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-public interface AdapterFactory {
-
-	/**
-	 * Method that returns the adapter associated with the given object. It
-	 * may be a singleton or not ... depending on the needs of the
-	 * INodeAdapter ... but in general it is recommended for an adapter to be
-	 * stateless, so the efficiencies of a singleton can be gained.
-	 * 
-	 * The implementation of this method should call addAdapter on the adapted
-	 * object with the correct instance of the adapter.
-	 */
-	INodeAdapter adapt(INodeNotifier object);
-
-	/**
-	 * returns an instance of the adapter factory. Unlike clone, this method
-	 * may return the same instance, such as in the case where the
-	 * AdapterFactory is intended to be a singleton.
-	 */
-	public AdapterFactory copy();
-
-	boolean isFactoryForType(Object type);
-
-	/**
-	 *  
-	 */
-	public void release();
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/DocumentChanged.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/DocumentChanged.java
deleted file mode 100644
index 4a61dfa..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/DocumentChanged.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-public class DocumentChanged extends ModelLifecycleEvent {
-	private IStructuredDocument fNewDocument;
-
-	private IStructuredDocument fOldDocument;
-
-	protected DocumentChanged() {
-
-		super(ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED);
-
-	}
-
-	protected DocumentChanged(int additionalType, IStructuredModel model) {
-
-		super(model, ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED | additionalType);
-
-	}
-
-	public DocumentChanged(int additionalType, IStructuredModel model, IStructuredDocument oldDocument, IStructuredDocument newDocument) {
-
-		this(additionalType, model);
-		fOldDocument = oldDocument;
-		fNewDocument = newDocument;
-	}
-
-	public IStructuredDocument getNewDocument() {
-
-		return fNewDocument;
-	}
-
-	public IStructuredDocument getOldDocument() {
-
-		return fOldDocument;
-	}
-
-	void setNewDocument(IStructuredDocument newDocument) {
-
-		fNewDocument = newDocument;
-	}
-
-	void setOldDocument(IStructuredDocument oldDocument) {
-
-		fOldDocument = oldDocument;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/FactoryRegistry.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/FactoryRegistry.java
deleted file mode 100644
index f7e745e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/FactoryRegistry.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.internal.Logger;
-
-
-/**
- * This class simply maintains the list of factories and returns singleton
- * instances of them. Some "built in" types are automatically created form
- * FactoryConfig, if not found registerd, but normally clients can/should
- * register their own factories.
- *  
- */
-public class FactoryRegistry implements IFactoryRegistry {
-
-	private List factories;
-
-	/**
-	 *  
-	 */
-	public FactoryRegistry() {
-		super();
-
-	}
-
-	protected List _getFactories() {
-
-		if (factories == null) {
-			// may need to use java.util.Collections.synchronizedList() if
-			// syncronization becomes
-			// necessary (and if so, remember to synchronize on factories)
-			factories = new ArrayList();
-		}
-		return factories;
-
-	}
-
-	public void addFactory(AdapterFactory factory) {
-		_getFactories().add(factory);
-	}
-
-	public void clearFactories() {
-		factories.clear();
-	}
-
-	/*
-	 * @see IFactoryRegistry#contains(Object)
-	 */
-	public boolean contains(Object type) {
-		boolean result = false;
-		// note: we're not using cloned list, so strictly speaking
-		// is not thread safe.
-		List internalList = _getFactories();
-		for (int i = 0; i < internalList.size(); i++) {
-			AdapterFactory factory = (AdapterFactory) internalList.get(i);
-			if (factory.isFactoryForType(type)) {
-				result = true;
-				break;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Returns a shallow copy of the list of factories in the registry. Note:
-	 * this can not be used to add/remove factories. Its primarily provided
-	 * for those few cases where a list of factories must be copied from one
-	 * model and added to another.
-	 */
-	public List getFactories() {
-		// note: for object integrity, we don't let anyone get
-		// our main list (so they have to add through addFactory),
-		// but we will return a shallow "cloned" list.
-		List factoryList = new ArrayList(_getFactories());
-		return factoryList;
-	}
-
-	/**
-	 * This method is a not a pure resistry. Factories retrieved based on
-	 * their response to "isFactoryForType(type)". Note that if there is more
-	 * than one factory that can answer 'true' that the most recently added
-	 * factory is used.
-	 */
-	public AdapterFactory getFactoryFor(Object type) {
-
-		AdapterFactory result = null;
-		if (factories == null)
-			return null;
-		int listSize = factories.size();
-		for (int i = listSize - 1; i >= 0; i--) {
-			// It is the adapter factories responsibility to answer
-			// isFactoryForType so it gets choosen.
-			// Notice we are going through the list backwards to get the
-			// factory added last.
-			AdapterFactory a = (AdapterFactory) factories.get(i);
-			if (a.isFactoryForType(type)) {
-				result = a;
-				break;
-			}
-		}
-		return result;
-
-	}
-
-	/**
-	 *  
-	 */
-	public void release() {
-		// modified to work on copy of list, for V5PTF1
-		// send release to local copy of list
-		// of factories, since some factories, during
-		// their release function, may remove
-		// themselves from the registry.
-		List localList = getFactories();
-		for (int i = 0; i < localList.size(); i++) {
-			AdapterFactory a = (AdapterFactory) localList.get(i);
-			// To help bullet proof code, we'll catch and log
-			// any messages thrown by factories during release,
-			// but we'll attempt to keep going.
-			// In nearly all cases, though, such errors are
-			// severe for product/client, and need to be fixed.
-			try {
-				a.release();
-			} catch (Exception e) {
-				Logger.logException("Program problem releasing factory" + a, e); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * Removes a factory if it can be retrieved by getFactoryFor(type). If
-	 * there is more than one, all are removed. If there is none, the call
-	 * simply returns (that is, it is not considered an error).
-	 */
-	public void removeFactoriesFor(java.lang.Object type) {
-		if (factories != null) {
-			int listSize = factories.size();
-			// we'll go backwards through list, since we're removing, so
-			// 'size' change won't matter.
-			// Note: I'm assuming other items in the collection do not change
-			// position
-			// simply because another was removed.
-			for (int i = listSize - 1; i >= 0; i--) {
-				// It is the adapter factories responsibility to answer
-				// isFactoryForType so it gets choosen.
-				AdapterFactory a = (AdapterFactory) factories.get(i);
-				if (a.isFactoryForType(type)) {
-					factories.remove(a);
-				}
-			}
-		}
-	}
-
-	public void removeFactory(AdapterFactory factory) {
-		_getFactories().remove(factory);
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IFactoryRegistry.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IFactoryRegistry.java
deleted file mode 100644
index 2bf4052..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IFactoryRegistry.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-import java.util.List;
-
-public interface IFactoryRegistry {
-
-	void addFactory(AdapterFactory factory);
-
-	void clearFactories();
-
-	/**
-	 * returns true if already contains a factory for the given type. This is
-	 * purely a convenience method for those few cases that want to avoid
-	 * adding a factory if it is already in the registry.
-	 */
-	boolean contains(Object type);
-
-	/**
-	 * Returns a shallow cloned list of the factories in the registry.
-	 */
-	List getFactories();
-
-	/**
-	 * This method is a not a pure resistry. Factories retrieved based on
-	 * their response to "isFactoryForType(type)". Note that if there is more
-	 * than one factory that can answer 'true' that the most recently added
-	 * factory is used.
-	 */
-	AdapterFactory getFactoryFor(Object type);
-
-	/**
-	 *  
-	 */
-	void release();
-
-	/**
-	 * Removes a factory if it can be retrieved by getFactoryFor(type). If
-	 * there is more than one, all are removed. If there is none, the call
-	 * simply returns (that is, it is not considered an error).
-	 */
-	void removeFactoriesFor(Object type);
-
-	void removeFactory(AdapterFactory factory);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelLifecycleListener.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelLifecycleListener.java
deleted file mode 100644
index 1be20b7..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelLifecycleListener.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-/**
- * This is an early version of a class that may change over the next few
- * milestones.
- */
-
-public interface IModelLifecycleListener {
-
-	void processPostModelEvent(ModelLifecycleEvent event);
-
-	void processPreModelEvent(ModelLifecycleEvent event);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelLoaderExtension.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelLoaderExtension.java
deleted file mode 100644
index 2d6e2be..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelLoaderExtension.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-/**
- * @author nsd
- */
-public interface IModelLoaderExtension {
-	/**
-	 * Create a Structured Model with the given StructuredDocument instance as
-	 * its document (instead of a new document instance as well)
-	 */
-	IStructuredModel createModel(IStructuredDocument document, String baseLocation);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelManager.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelManager.java
deleted file mode 100644
index 31c83e2..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelManager.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Enumeration;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.exceptions.ResourceAlreadyExists;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.URIResolver;
-
-
-/**
- * Responsible for providing a set of APIs for creating a new model manager,
- * for managing (add or remove) model loaders and model dumpers, and for
- * managing (get, release, save, and save as) models.
- * 
- * Clients should not implement.
- */
-public interface IModelManager {
-
-	public final static String DUPLICATED_MODEL = "org.eclipse.wst.sse.core.IModelManager.DUPLICATED_MODEL"; //$NON-NLS-1$
-	public final static String UNMANAGED_MODEL = "org.eclipse.wst.sse.core.IModelManager.UNMANAGED_MODEL"; //$NON-NLS-1$
-
-	/**
-	 * This API allows clients to declare that they are about to make a
-	 * "large" change to the model. This change might be in terms of content
-	 * or it might be in terms of the model id or base location.
-	 * 
-	 * Note that in the case of embedded calls, notification to listners is
-	 * sent only once.
-	 * 
-	 * The method isModelStateChanging can be used by a client to determin if
-	 * the model is already in a change sequence.
-	 */
-	void aboutToChangeModels();
-
-	void addModelManagerListener(IModelManagerListener listener);
-
-	/**
-	 * Calculate id provides a common way to determine the id from the input
-	 * ... needed to get and save the model. It is a simple class utility, but
-	 * is an instance method so can be accessed via interface.
-	 */
-	public String calculateId(IFile file);
-
-	/**
-	 * This API allows a client controlled way of notifying all ModelEvent
-	 * listners that the model has been changed. This method is a matched pair
-	 * to aboutToChangeModel, and must be called after aboutToChangeModel ...
-	 * or some listeners could be left waiting indefinitely for the changed
-	 * event. So, its suggested that changedModel always be in a finally
-	 * clause. Likewise, a client should never call changedModel without
-	 * calling aboutToChangeModel first.
-	 * 
-	 * In the case of embedded calls, the notification is just sent once.
-	 *  
-	 */
-	void changedModels();
-
-	IStructuredModel copyModelForEdit(String oldId, String newId) throws ResourceInUse;
-
-	/**
-	 * createNewInstance is similar to clone, except the new instance has no
-	 * content. Note: this produces an unmanaged model, for temporary use. If
-	 * a true shared model is desired, use "copy".
-	 */
-	public IStructuredModel createNewInstance(IStructuredModel model) throws IOException;
-
-	/**
-	 * Factory method, since a proper IStructuredDocument must have a proper
-	 * parser assigned. Note: its assume that IFile does not actually exist as
-	 * a resource yet. If it does, ResourceAlreadyExists exception is thrown.
-	 * If the resource does already exist, then createStructuredDocumentFor is
-	 * the right API to use.
-	 *  
-	 */
-	IStructuredDocument createNewStructuredDocumentFor(IFile iFile) throws ResourceAlreadyExists, IOException, CoreException;
-
-	/**
-	 * Factory method, since a proper IStructuredDocument must have a proper
-	 * parser assigned. Note: clients should verify IFile exists before using
-	 * this method. If this IFile does not exist, then
-	 * createNewStructuredDocument is the correct API to use.
-	 */
-	IStructuredDocument createStructuredDocumentFor(IFile iFile) throws IOException, CoreException;
-
-	/**
-	 * Conveience method, since a proper IStructuredDocument must have a
-	 * proper parser assigned. It should only be used when an empty
-	 * structuredDocument is needed. Otherwise, use IFile form.
-	 */
-	IStructuredDocument createStructuredDocumentFor(String contentTypeId);
-
-	/**
-	 * @deprecated -- I marked as deprecated to discouage use of this method.
-	 *             It does not really work for JSP fragments, since JSP
-	 *             Fragments need an IFile to correctly look up the content
-	 *             settings. Use IFile form instead. Note: some confustion
-	 *             with it and the form for HTPP encoding, so once a null arg
-	 *             is allowed in that API ... we can remove this one. (after
-	 *             verifying again with Tom/Linksbuild)
-	 */
-	IStructuredDocument createStructuredDocumentFor(String filename, InputStream inputStream, URIResolver resolver) throws IOException;
-
-	IStructuredDocument createStructuredDocumentFor(String filename, InputStream inputStream, URIResolver resolver, String ianaEncodingName) throws IOException;
-
-	IStructuredDocument createStructuredDocumentFor(String filename, String content, URIResolver resolver) throws IOException;
-
-	/**
-	 * Conveience method. It depends on the loaders newModel method to return
-	 * an appropriate StrucuturedModel appropriately initialized.
-	 */
-	IStructuredModel createUnManagedStructuredModelFor(IFile iFile) throws IOException, CoreException;
-
-	/**
-	 * Conveience method. It depends on the loaders newModel method to return
-	 * an appropriate StrucuturedModel appropriately initialized.
-	 */
-	IStructuredModel createUnManagedStructuredModelFor(String contentTypeId);
-
-	IStructuredModel createUnManagedStructuredModelFor(String contentTypeId, URIResolver resolver);
-
-	/**
-	 * Note: users of this 'model' must still release it when finished.
-	 * Returns null if there's not a model corresponding to document.
-	 */
-	IStructuredModel getExistingModelForEdit(IDocument document);
-
-	public IStructuredModel getExistingModelForEdit(IFile iFile);
-
-	/**
-	 * This is similar to the getModel method, except this method does not
-	 * create a model. This method does increment the reference count (if it
-	 * exists). If the model does not already exist in the cache of models,
-	 * null is returned.
-	 */
-	public IStructuredModel getExistingModelForEdit(Object id);
-
-	/**
-	 * Note: users of this 'model' must still release it when finished.
-	 * Returns null if there's not a model corresponding to document.
-	 */
-	IStructuredModel getExistingModelForRead(IDocument document);
-
-	public IStructuredModel getExistingModelForRead(IFile iFile);
-
-	/**
-	 * This is similar to the getModel method, except this method does not
-	 * create a model. This method does increment the reference count (if it
-	 * exists). If the model does not already exist in the cache of models,
-	 * null is returned.
-	 */
-	public IStructuredModel getExistingModelForRead(Object id);
-
-	public Enumeration getExistingModelIds();
-
-	public IStructuredModel getModelForEdit(IFile iFile) throws IOException, CoreException;
-
-	/*
-	 * @deprecated - encoding is handled automatically
-	 */
-	public IStructuredModel getModelForEdit(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException;
-
-	public IStructuredModel getModelForEdit(IFile iFile, String encoding, String lineDelimiter) throws UnsupportedEncodingException, IOException, CoreException;
-
-	public IStructuredModel getModelForEdit(IStructuredDocument textFileBufferDocument);
-
-	/*
-	 * @deprecated - a URI resolver should be automatically created when
-	 *             needed
-	 */
-	public IStructuredModel getModelForEdit(String id, InputStream inStream, URIResolver resolver) throws UnsupportedEncodingException, IOException;
-
-	public IStructuredModel getModelForRead(IFile iFile) throws IOException, CoreException;
-
-	/*
-	 * @deprecated - encoding is handled automatically
-	 */
-	public IStructuredModel getModelForRead(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException;
-
-	/*
-	 * @deprecated - encoding and line delimiters are handled automatically
-	 */
-	public IStructuredModel getModelForRead(IFile iFile, String encoding, String lineDelimiter) throws UnsupportedEncodingException, IOException, CoreException;
-
-	public IStructuredModel getModelForRead(IStructuredDocument textFileBufferDocument);
-
-	/*
-	 * @deprecated - a URI resolver should be automatically created when
-	 *             needed
-	 */
-	public IStructuredModel getModelForRead(String filename, InputStream inStream, URIResolver resolver) throws UnsupportedEncodingException, IOException;
-
-	/**
-	 * This method will not create a new model if it already exists ... if
-	 * force is false. The idea is that a client should call this method once
-	 * with force set to false. If the exception is thrown, then prompt client
-	 * if they want to overwrite.
-	 */
-	IStructuredModel getNewModelForEdit(IFile iFile, boolean force) throws ResourceAlreadyExists, ResourceInUse, IOException, CoreException;
-
-	/**
-	 * This method will not create a new model if it already exists ... if
-	 * force is false. The idea is that a client should call this method once
-	 * with force set to false. If the exception is thrown, then prompt client
-	 * if they want to overwrite.
-	 */
-	IStructuredModel getNewModelForRead(IFile iFile, boolean force) throws ResourceAlreadyExists, ResourceInUse, IOException, CoreException;
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model TODO: try to refine the design
-	 *            not to use this function
-	 * @deprecated
-	 */
-	int getReferenceCount(Object id);
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model TODO: try to refine the design
-	 *            not to use this function
-	 * @deprecated
-	 */
-	int getReferenceCountForEdit(Object id);
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model TODO: try to refine the design
-	 *            not to use this function
-	 * @deprecated
-	 */
-	int getReferenceCountForRead(Object id);
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model
-	 */
-	boolean isShared(Object id);
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model
-	 */
-	boolean isSharedForEdit(Object id);
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model
-	 */
-	boolean isSharedForRead(Object id);
-
-	/**
-	 * This method can be called to determine if the model manager is within a
-	 * "aboutToChange" and "changed" sequence.
-	 */
-	public boolean isStateChanging();
-
-	/**
-	 * This method changes the id of the model. TODO: try to refine the design
-	 * not to use this function
-	 * 
-	 * @deprecated
-	 */
-	void moveModel(Object oldId, Object newId);
-
-	/**
-	 * This method can be called when the content type of a model changes. Its
-	 * assumed the contentType has already been changed, and this method uses
-	 * the text of the old one, to repopulate the text of the new one. In
-	 * theory, the actual instance could change, (e.g. using 'saveAs' to go
-	 * from xml to dtd), but in practice, the intent of this API is to return
-	 * the same instance, just using different handlers, adapter factories,
-	 * etc.
-	 */
-	IStructuredModel reinitialize(IStructuredModel model) throws IOException;
-
-	/**
-	 * This is similar to the getModel method, except this method does not use
-	 * the cached version, but forces the cached version to be replaced with a
-	 * fresh, unchanged version. Note: this method does not change any
-	 * reference counts. Also, if there is not already a cached version of the
-	 * model, then this call is essentially ignored (that is, it does not put
-	 * a model in the cache) and returns null.
-	 * 
-	 * @deprecated
-	 */
-	IStructuredModel reloadModel(Object id, InputStream inStream) throws UnsupportedEncodingException;
-
-	void removeModelManagerListener(IModelManagerListener listener);
-
-	void saveStructuredDocument(IStructuredDocument structuredDocument, IFile iFile) throws UnsupportedEncodingException, IOException, CoreException;
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelManagerListener.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelManagerListener.java
deleted file mode 100644
index bb7a3ee..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelManagerListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-/**
- * Interface for those wanting to listen to events fired by the model manager.
- */
-public interface IModelManagerListener {
-
-	/**
-	 * One or more models are about to be changed. This typically is initiated
-	 * by one client of the model (such as LinksBuilder), to signal that
-	 * several models are about to be changed. These models might be
-	 * interrelated, so a listener (such as FrameManger) will know to a
-	 * "massive" change is about to take place.
-	 */
-	void modelsAboutToBeChanged();
-
-	/**
-	 * Signals that the changes foretold by modelsAboutToBeChanged have been
-	 * made. A typical use might be to refresh, or to resume processing that
-	 * was suspended as a result of modelsAboutToBeChanged.
-	 */
-	void modelsChanged();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelManagerPlugin.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelManagerPlugin.java
deleted file mode 100644
index 7df2c0c..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelManagerPlugin.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.eclipse.wst.sse.core;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.sse.core.internal.modelhandler.ModelHandlerRegistry;
-
-
-/**
- * @deprecated use StructuredModelManager instead
- */
-public interface IModelManagerPlugin {
-	//  private static ModelManagerPlugin instance;
-	public final static String ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-
-	/**
-	 * @deprecated use ModelHandlerRegistry.getInstance() instead
-	 */
-	public abstract ModelHandlerRegistry getModelHandlerRegistry();
-
-	/**
-	 * @deprecated use StructuredModelManager.getInstance().getModelManager() instead
-	 */
-	public abstract IModelManager getModelManager();
-
-	public Preferences getPluginPreferences();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelStateListener.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelStateListener.java
deleted file mode 100644
index 0659752..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelStateListener.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-/**
- * Interface for those wanting to listen to a model's state changing.
- */
-public interface IModelStateListener {
-
-	/**
-	 * A model is about to be changed. This typically is initiated by one
-	 * client of the model, to signal a large change and/or a change to the
-	 * model's ID or base Location. A typical use might be if a client might
-	 * want to suspend processing until all changes have been made.
-	 */
-	void modelAboutToBeChanged(IStructuredModel model);
-
-	/**
-	 * Signals that the changes foretold by modelAboutToBeChanged have been
-	 * made. A typical use might be to refresh, or to resume processing that
-	 * was suspended as a result of modelAboutToBeChanged.
-	 */
-	void modelChanged(IStructuredModel model);
-
-	/**
-	 * Notifies that a model's dirty state has changed, and passes that state
-	 * in isDirty. A model becomes dirty when any change is made, and becomes
-	 * not-dirty when the model is saved.
-	 */
-	void modelDirtyStateChanged(IStructuredModel model, boolean isDirty);
-
-	/**
-	 * A modelDeleted means the underlying resource has been deleted. The
-	 * model itself is not removed from model management until all have
-	 * released it. Note: baseLocation is not (necessarily) changed in this
-	 * event, but may not be accurate.
-	 */
-	void modelResourceDeleted(IStructuredModel model);
-
-	/**
-	 * A model has been renamed or copied (as in saveAs..). In the renamed
-	 * case, the two paramenters are the same instance, and only contain the
-	 * new info for id and base location.
-	 */
-	void modelResourceMoved(IStructuredModel oldModel, IStructuredModel newModel);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelStateListenerExtended.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelStateListenerExtended.java
deleted file mode 100644
index 4d5e026..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IModelStateListenerExtended.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-/**
- * This interface defines two new model level events. In order to avoid
- * unnecessary last minute changes from clients, this interface was created as
- * a "stop gap" measure. Eventually, it will become part of the normal
- * ModelStateListener interface.
- */
-public interface IModelStateListenerExtended extends IModelStateListener {
-
-
-	void modelAboutToBeReinitialized(IStructuredModel structuredModel);
-
-	void modelReinitialized(IStructuredModel structuredModel);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/INodeAdapter.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/INodeAdapter.java
deleted file mode 100644
index 644f46c..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/INodeAdapter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-public interface INodeAdapter {
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	boolean isAdapterForType(Object type);
-
-	/**
-	 */
-	void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/INodeNotifier.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/INodeNotifier.java
deleted file mode 100644
index 0900799..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/INodeNotifier.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-import java.util.Collection;
-
-public interface INodeNotifier {
-	static final int ADD = 2;
-
-	// Possible values for eventType
-	static final int CHANGE = 1; // update - non structural
-	// removed
-	// when large changes are made to a sub-tree
-	static final int CONTENT_CHANGED = 5; // sent to the parent notifier
-	// these strings are for printing, such as during debuging
-	static final String[] EVENT_TYPE_STRINGS = new String[]{"undefined", "CHANGE", "ADD", "REMOVE", "STRUCUTRED_CHANGED", "CONTENT_CHANGED"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-	static final int REMOVE = 3;
-	static final int STRUCTURE_CHANGED = 4; // sent in addition to adds and
-
-	// when the child value changed
-
-	/**
-	 * Add an adapter of this notifier.
-	 * 
-	 * @param o
-	 *            com.ibm.etools.emf.notify.INodeAdapter
-	 */
-	void addAdapter(INodeAdapter o);
-
-	/**
-	 * Return an exisiting adapter of type "type" or if none found create a
-	 * new adapter using a registered adapter factory
-	 */
-	INodeAdapter getAdapterFor(Object type);
-
-	/**
-	 * Return a read-only Collection of the Adapters to this notifier.
-	 * 
-	 * @return com.ibm.etools.emf.notify.INodeAdapter
-	 */
-	Collection getAdapters();
-
-	/**
-	 * Return an exisiting adapter of type "type" or null if none found
-	 */
-	INodeAdapter getExistingAdapter(Object type);
-
-	/**
-	 */
-	void notify(int eventType, Object changedFeature, Object oldValue, Object newValue, int pos);
-
-	/**
-	 * Remove an adapter of this notifier.
-	 * 
-	 * @param o
-	 *            com.ibm.etools.emf.notify.INodeAdapter
-	 */
-	void removeAdapter(INodeAdapter o);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IStateMemento.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IStateMemento.java
deleted file mode 100644
index ae5373e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IStateMemento.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-/**
- * Marker-only interface, at this point.
- */
-public interface IStateMemento {
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IStructuredModel.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IStructuredModel.java
deleted file mode 100644
index 90ea167..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IStructuredModel.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.exceptions.ResourceAlreadyExists;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.core.util.URIResolver;
-
-
-/**
- */
-public interface IStructuredModel extends IAdaptable {
-
-
-	/**
-	 * This API allows clients to declare that they are about to make a
-	 * "large" change to the model. This change might be in terms of content
-	 * or it might be in terms of the model id or base location.
-	 * 
-	 * Note that in the case of embedded calls, notification to listeners is
-	 * sent only once.
-	 * 
-	 * Note that the client who is making these changes has the responsibility
-	 * to restore the model's state once finished with the changes. See
-	 * getMemento and restoreState.
-	 * 
-	 * The method isModelStateChanging can be used by a client to determine if
-	 * the model is already in a change sequence.
-	 * 
-	 * This method is a matched pair to changedModel, and must be called
-	 * before changedModel. A client should never call changedModel without
-	 * calling aboutToChangeModel first nor call aboutToChangeModel without
-	 * calling changedModel later from the same Thread.
-	 */
-	void aboutToChangeModel();
-
-	void addModelLifecycleListener(IModelLifecycleListener listener);
-
-	void addModelStateListener(IModelStateListener listener);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, int cursorPosition, int selectionLength);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, String label);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, String label, int cursorPosition, int selectionLength);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, String label, String description);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, String label, String description, int cursorPosition, int selectionLength);
-
-	/**
-	 * This API allows a client controlled way of notifying all ModelEvent
-	 * listners that the model has been changed. This method is a matched pair
-	 * to aboutToChangeModel, and must be called after aboutToChangeModel ...
-	 * or some listeners could be left waiting indefinitely for the changed
-	 * event. So, its suggested that changedModel always be in a finally
-	 * clause. Likewise, a client should never call changedModel without
-	 * calling aboutToChangeModel first.
-	 * 
-	 * In the case of embedded calls, the notification is just sent once.
-	 *  
-	 */
-	void changedModel();
-
-	long computeModificationStamp(IResource resource);
-
-	/**
-	 * @deprecated
-	 * @return com.ibm.sed.model.IStructuredModel
-	 */
-	IStructuredModel copy(String id) throws ResourceInUse, ResourceAlreadyExists;
-
-	/**
-	 * Disable undo management.
-	 */
-	void disableUndoManagement();
-
-	/**
-	 * Enable undo management.
-	 */
-	void enableUndoManagement();
-
-	/**
-	 * End recording undo transactions.
-	 */
-	void endRecording(Object requester);
-
-	/**
-	 * End recording undo transactions.
-	 */
-	void endRecording(Object requester, int cursorPosition, int selectionLength);
-
-	/**
-	 * This is a client-defined value for what that client (and/or loader)
-	 * considers the "base" of the structured model. Frequently the location
-	 * is either a workspace root-relative path of a workspace resource or an
-	 * absolute path in the local file system.
-	 */
-	String getBaseLocation();
-
-	/**
-	 * @return The associated content type identifier (String) for this model.
-	 */
-	String getContentTypeIdentifier();
-
-	/**
-	 * 
-	 * @return The model's IFactoryRegistry. A model is not valid without one.
-	 */
-	IFactoryRegistry getFactoryRegistry();
-
-	/**
-	 * The id is the id that the model manager uses to identify this model
-	 */
-	String getId();
-
-	/**
-	 *  
-	 */
-	IndexedRegion getIndexedRegion(int offset);
-
-	/**
-	 * This method returns a mememto that can later be used to restore the
-	 * state at this point. A model's state, in this sense, does not relate to
-	 * its content, or Ids, etc., just its dirty state, and its
-	 * synchronization state with its underlying resource.
-	 * 
-	 * The 'resource' argument must be the resource that underlies the
-	 * instance of the model this method is sent to. Note: this parameter will
-	 * not be required in future versions of 'strucutured model'.
-	 */
-	IStateMemento getMemento(IResource resource);
-
-	/**
-	 * ContentTypeDescription provides an object that describes what the
-	 * content of the file is, e.g. HTML, XML, etc. Compare with
-	 * getExternalFileTypeDescription. Though they both return objects of type
-	 * ContentTypeDescription, the external file type is intended to denote
-	 * JSP, regardless of what the content of that JSP file is. Even for a JSP
-	 * file, the ContentTypeDescription will be set according to that file's
-	 * "internal" contents.
-	 * 
-	 * @return ContentTypeDescription
-	 */
-	IModelHandler getModelHandler();
-
-	IModelManager getModelManager();
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model TODO: try to refine the design
-	 *            not to use this function
-	 */
-	int getReferenceCount();
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model TODO: try to refine the design
-	 *            not to use this function
-	 */
-	int getReferenceCountForEdit();
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model TODO: try to refine the design
-	 *            not to use this function
-	 */
-	int getReferenceCountForRead();
-
-	Object getReinitializeStateData();
-
-	/**
-	 * Get URI resolution helper
-	 */
-	URIResolver getResolver();
-
-	IStructuredDocument getStructuredDocument();
-
-	/**
-	 * modification date of underlying resource, when this model was open, or
-	 * last saved. (Note: for this version, the client must manage the
-	 * accuracy of this data)
-	 */
-	long getSynchronizationStamp();
-
-	/**
-	 * Get undo manager.
-	 */
-	IStructuredTextUndoManager getUndoManager();
-
-	/**
-	 *  
-	 */
-	boolean isDirty();
-
-	/**
-	 * This method can be called to determine if the model is within a
-	 * "aboutToChange" and "changed" sequence.
-	 */
-	public boolean isModelStateChanging();
-
-	/**
-	 *  
-	 */
-	boolean isNew();
-
-	boolean isReinitializationNeeded();
-
-	/**
-	 * This is a combination of if the model is dirty and if the model is
-	 * shared for write access. The last writer as the responsibility to be
-	 * sure the user is prompted to save.
-	 */
-	public boolean isSaveNeeded();
-
-	/**
-	 * This function returns true if either isSharedForRead or isSharedForEdit
-	 * is true.
-	 */
-	boolean isShared();
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 */
-	boolean isSharedForEdit();
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 */
-	boolean isSharedForRead();
-
-	/**
-	 * newInstance is similar to clone, except that the newInstance contains
-	 * no content. Its purpose is so clients can get a temporary, unmanaged,
-	 * model of the same "type" as the original. Note: the client may still
-	 * need to do some intialization of the model returned by newInstance,
-	 * depending on desired use. For example, the only factories in the
-	 * newInstance are those that would be normally be created for a model of
-	 * the given contentType. Others are not copied automatically, and if
-	 * desired, should be added by client.
-	 */
-	IStructuredModel newInstance() throws IOException;
-
-	/**
-	 * Performs a reinit procedure. For this model. Note for future: there may
-	 * be a day where the model returned from this method is a different
-	 * instance than the instance it was called on. This will occur when there
-	 * is full support for "save as" type functions, where the model could
-	 * theoretically change completely.
-	 */
-	IStructuredModel reinit() throws IOException;
-
-	/**
-	 * This function allows the model to free up any resources it might be
-	 * using. In particular, itself, as stored in the IModelManager.
-	 *  
-	 */
-	void releaseFromEdit();
-
-	/**
-	 * This function allows the model to free up any resources it might be
-	 * using. In particular, itself, as stored in the IModelManager.
-	 *  
-	 */
-	void releaseFromRead();
-
-	/**
-	 * This function replenishes the model with the resource without saving
-	 * any possible changes. It is used when one editor may be closing, and
-	 * specifially says not to save the model, but another "display" of the
-	 * model still needs to hang on to some model, so needs a fresh copy.
-	 * 
-	 * Only valid for use with managed models.
-	 */
-	IStructuredModel reload(InputStream inputStream) throws IOException;
-
-	void removeModelLifecycleListener(IModelLifecycleListener listener);
-
-	void removeModelStateListener(IModelStateListener listener);
-
-	/**
-	 * A method that modififies the model's synchonization stamp to match the
-	 * resource. Turns out there's several ways of doing it, so this ensures a
-	 * common algorithm.
-	 */
-	void resetSynchronizationStamp(IResource resource);
-
-	void resourceDeleted();
-
-	void resourceMoved(IStructuredModel newModel);
-
-	void restoreState(IStateMemento memento);
-
-	void save() throws UnsupportedEncodingException, IOException, CoreException;
-
-	void save(EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException;
-
-	void save(IFile iFile) throws UnsupportedEncodingException, IOException, CoreException;
-
-	void save(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException;
-
-	void save(OutputStream outputStream) throws UnsupportedEncodingException, IOException, CoreException;
-
-	void setBaseLocation(String newBaseLocation);
-
-	public void setDirtyState(boolean dirtyState);
-
-	void setFactoryRegistry(IFactoryRegistry registry);
-
-	/**
-	 * The id is the id that the model manager uses to identify this model
-	 */
-	void setId(String id) throws ResourceInUse;
-
-	void setModelHandler(IModelHandler modelHandler);
-
-	void setModelManager(IModelManager modelManager);
-
-	public void setNewState(boolean newState);
-
-	/**
-	 * Sets a "flag" that reinitialization is needed.
-	 */
-	void setReinitializeNeeded(boolean b);
-
-	/**
-	 * Holds any data that the reinit procedure might find useful in
-	 * reinitializing the model. This is handy, since the reinitialization may
-	 * not take place at once, and some "old" data may be needed to properly
-	 * undo previous settings. Note: the parameter was intentially made to be
-	 * of type 'Object' so different models can use in different ways.
-	 */
-	void setReinitializeStateData(Object object);
-
-	/**
-	 * Set the URI resolution helper
-	 */
-	void setResolver(URIResolver uriResolver);
-
-	void setStructuredDocument(IStructuredDocument structuredDocument);
-
-	/**
-	 * Set undo manager.
-	 */
-	void setUndoManager(IStructuredTextUndoManager undoManager);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IndexedRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IndexedRegion.java
deleted file mode 100644
index 6785a0b..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/IndexedRegion.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-/**
- * These are APIs found to be needed in our tree outline viewer, that go
- * beyond the standard DOM Node Interface.
- */
-public interface IndexedRegion {
-
-	boolean contains(int testPosition);
-
-	int getEndOffset();
-
-	int getStartOffset();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/LifecycleNotificationManager.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/LifecycleNotificationManager.java
deleted file mode 100644
index 5976905..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/LifecycleNotificationManager.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-
-/**
- * For "internal use" only by AbstractStructuredModel
- */
-
-class LifecycleNotificationManager {
-	static final String DEFAULT_TRACE_CATEGORY = "org.eclipse.wst.sse.core/structuredmodel/lifecycle";
-	static final boolean DEBUG = "true".equalsIgnoreCase(Platform.getDebugOption(DEFAULT_TRACE_CATEGORY));
-
-
-	private Object[] fListeners;
-
-	LifecycleNotificationManager() {
-		super();
-	}
-
-	/**
-	 * Adds a new copy of the given listener to the list of Life Cycle
-	 * Listeners.
-	 * 
-	 * Multiple copies of the same listener are allowed. This is required to
-	 * support threaded listener management properly and for model-driven move
-	 * to work. For example, two adds and a single remove should result in the
-	 * listener still listening for events.
-	 * 
-	 * @param listener
-	 */
-	void addListener(IModelLifecycleListener listener) {
-		if (Utilities.contains(fListeners, listener)) {
-			Logger.log(Logger.WARNING_DEBUG, "IModelLifecycleListener " + listener + " listening more than once");
-		}
-		int oldSize = 0;
-		if (fListeners != null) {
-			// normally won't be null, but we need to be sure, for first
-			// time through
-			oldSize = fListeners.length;
-		}
-		int newSize = oldSize + 1;
-		Object[] newListeners = new Object[newSize];
-		if (fListeners != null) {
-			System.arraycopy(fListeners, 0, newListeners, 0, oldSize);
-		}
-		// add listener to last position
-		newListeners[newSize - 1] = listener;
-		//
-		// now switch new for old
-		fListeners = newListeners;
-	}
-
-	/**
-	 * Removes a single copy of the given listener from the list of Life Cycle
-	 * Listeners.
-	 * 
-	 * @param listener
-	 */
-	void removeListener(IModelLifecycleListener listener) {
-		if (Utilities.contains(fListeners, listener)) {
-			// if its not in the listeners, we'll ignore the request
-			int oldSize = fListeners.length;
-			int newSize = oldSize - 1;
-			Object[] newListeners = new Object[newSize];
-			int index = 0;
-			boolean removedOnce = false;
-			for (int i = 0; i < oldSize; i++) {
-				if (fListeners[i] == listener && !removedOnce) {
-					// ignore on the first match
-					removedOnce = true;
-				} else {
-					// copy old to new if it's not the one we are removing
-					newListeners[index++] = fListeners[i];
-				}
-			}
-			// now that we have a new array, let's switch it for the old
-			// one
-			fListeners = newListeners;
-		}
-		if (Utilities.contains(fListeners, listener)) {
-			Logger.log(Logger.WARNING_DEBUG, "IModelLifecycleListener " + listener + " removed once but still listening");
-		}
-	}
-
-	void signalLifecycleEvent(ModelLifecycleEvent event) {
-		if (DEBUG) {
-			Logger.trace(DEFAULT_TRACE_CATEGORY, "ModelLifecycleEvent fired for " + event.getModel().getId() + ": " + event.toString());
-			System.out.println("ModelLifecycleEvent fired for " + event.getModel().getId() + ": " + event.toString());
-		}
-		// We must assign listeners to local variable, since the add and
-		// remove listener methods can change the actual instance of the
-		// listener array from another thread
-		if (fListeners != null) {
-			Object[] holdListeners = fListeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				IModelLifecycleListener listener = (IModelLifecycleListener) holdListeners[i];
-				// only one type of listener for now ... this could become
-				// more complex
-				if ((event.getInternalType() & ModelLifecycleEvent.PRE_EVENT) == ModelLifecycleEvent.PRE_EVENT) {
-					listener.processPreModelEvent(event);
-				}
-				if ((event.getInternalType() & ModelLifecycleEvent.POST_EVENT) == ModelLifecycleEvent.POST_EVENT) {
-					listener.processPostModelEvent(event);
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelDumper.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelDumper.java
deleted file mode 100644
index 7cf9cae..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelDumper.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.encoding.EncodingRule;
-
-
-/**
- * Classes that implement this interface are responsible for saving the model
- * to the file system (or wherever the dumpter wants).
- *  
- */
-public interface ModelDumper {
-
-	void dump(IStructuredModel model, OutputStream outputStream, EncodingRule encodingRule, IFile iFile) throws UnsupportedEncodingException, IOException, CoreException;
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelLifecycleEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelLifecycleEvent.java
deleted file mode 100644
index 82e2e11..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelLifecycleEvent.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-/**
- * This is an early version of a class that may change over the next few
- * milestones.
- */
-
-
-public class ModelLifecycleEvent {
-
-
-	private final static int MASK = 0x00FF;
-	public static final int MODEL_DIRTY_STATE = 0x0004;
-	public static final int MODEL_DOCUMENT_CHANGED = 0x0003;
-	public static final int MODEL_RELEASED = 0x00002;
-	// this list is for "public" consumption
-	public static final int MODEL_SAVED = 0x0001;
-	protected static final int POST_EVENT = 0x0200;
-
-	// TODO: finish support for these
-	// following not implemented yet
-	//public static final int MODEL_REINITIALIZED = 0x0005;
-	//public static final int MODEL_RELOADED = 0x0006;
-	//public static final int ADAPTERS_NOTIFIED = 0x0007;
-	//public static final int MODEL_RESOURCE_MOVED = 0x0008;
-	//public static final int MODEL_RESOURCE_DELETED = 0x0009;
-
-	// This list (upper two bytes) is for only internal mechanisms and
-	// subclasses
-	// For simplicity they are "masked out" when client calls getType()
-	protected static final int PRE_EVENT = 0x0100;
-
-
-	private IStructuredModel fModel;
-	private int fType;
-
-	public ModelLifecycleEvent() {
-		super();
-	}
-
-	public ModelLifecycleEvent(int type) {
-		this();
-		fType = type;
-	}
-
-	public ModelLifecycleEvent(IStructuredModel structuredModel, int type) {
-		this(type);
-		fModel = structuredModel;
-	}
-
-	private String debugString(int type) {
-		String result = null;
-		switch (type & MASK) {
-			case MODEL_SAVED :
-				result = "MODEL_SAVED"; //$NON-NLS-1$
-				break;
-			case MODEL_RELEASED :
-				result = "MODEL_RELEASED"; //$NON-NLS-1$
-				break;
-			case MODEL_DOCUMENT_CHANGED :
-				result = "MODEL_DOCUMENT_CHANGED"; //$NON-NLS-1$
-				break;
-			case MODEL_DIRTY_STATE :
-				result = "MODEL_DIRTY_STATE"; //$NON-NLS-1$
-				break;
-			/*
-			 * case MODEL_REINITIALIZED : result = "MODEL_REINITIALIZED";
-			 * break; case MODEL_RELOADED : result = "MODEL_RELOADED"; break;
-			 * case ADAPTERS_NOTIFIED : result = "ADAPTERS_NOTIFIED"; break;
-			 * case MODEL_RESOURCE_MOVED : result = "MODEL_RESOURCE_MOVED";
-			 * break; case MODEL_RESOURCE_DELETED : result =
-			 * "MODEL_RESOURCE_DELETED"; break;
-			 */
-			default :
-				throw new IllegalStateException("ModelLifecycleEvent did not have valid type"); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	protected int getInternalType() {
-
-		return fType;
-	}
-
-	public IStructuredModel getModel() {
-
-		return fModel;
-	}
-
-	public int getType() {
-
-		// for now, we'll mask type to "public" ones this easy
-		// way ... but I know there must be a better way
-		return fType & MASK;
-	}
-
-	public String toString() {
-		String result = null;
-		result = "ModelLifecycleEvent: " + debugString(fType); //$NON-NLS-1$
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelLoader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelLoader.java
deleted file mode 100644
index b44c521..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelLoader.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.encoding.EncodingRule;
-
-
-/**
- * Responsible for creating a new Model from a resource, or as a new, empty
- * instance.
- *  
- */
-public interface ModelLoader {
-	/**
-	 * This method should perform all the model initialization required before
-	 * it contains content, namely, it should call newModel, the
-	 * createNewStructuredDocument(), then setAdapterFactories. (this is
-	 * tentative)
-	 */
-	IStructuredModel createModel();
-
-	/**
-	 * Method createModel. Creates a new model based on old one.
-	 * 
-	 * @param oldModel
-	 * @return IStructuredModel
-	 */
-	IStructuredModel createModel(IStructuredModel oldModel);
-
-	/**
-	 * This method must return those factories which must be attached to the
-	 * structuredModel before content is applied.
-	 */
-	List getAdapterFactories();
-
-	void load(IFile file, IStructuredModel model) throws IOException, CoreException;
-
-	void load(InputStream inputStream, IStructuredModel model, EncodingRule encodingRule) throws IOException;
-
-	void load(InputStream inputStream, IStructuredModel model, String encodingName, String lineDelimiter) throws IOException;
-
-	void load(String filename, InputStream inputStream, IStructuredModel model, String encodingName, String lineDelimiter) throws IOException;
-
-	ModelLoader newInstance();
-
-	/**
-	 * This method should always return an new, empty Structured Model
-	 * appropriate for itself.
-	 */
-	IStructuredModel newModel();
-
-	IStructuredModel reinitialize(IStructuredModel model);
-
-	/**
-	 * This method should get a fresh copy of the data, and repopulate the
-	 * models ... normally by a call to setText on the structuredDocument, for
-	 * StructuredModels. This method is needed in some cases where clients are
-	 * sharing a model and then changes canceled. Say for example, one editor
-	 * and several "displays" are sharing a model, if the editor is closed
-	 * without saving changes, then the displays still need a model, but they
-	 * should revert to the original unsaved version.
-	 */
-	void reload(InputStream inputStream, IStructuredModel model);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelManagerImpl.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelManagerImpl.java
deleted file mode 100644
index 2000ffe..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelManagerImpl.java
+++ /dev/null
@@ -1,1748 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.util.Dictionary;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.NoSuchElementException;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-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.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.CodedStreamCreator;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.common.encoding.ContentBasedPreferenceGateway;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.common.encoding.exceptions.MalformedOutputExceptionWithDetail;
-import org.eclipse.wst.sse.core.document.DocumentReader;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.exceptions.ResourceAlreadyExists;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.FileBufferModelManager;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.NullMemento;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.internal.modelhandler.ModelHandlerRegistry;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.core.util.ProjectResolver;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-/**
- * Not intended to be subclassed.
- * 
- * This class is responsible for creating, retriving, and caching
- * StructuredModels It retrieves the cached objects by an id which is
- * typically a String representing the resources URI. Note: Its important that
- * all clients that share a resource do so using <b>identical </b>
- * identifiers, or else different instances will be created and retrieved,
- * even if they all technically point to the same resource on the file system.
- * This class also provides a convenient place to register Model Loaders and
- * Dumpers based on 'type'.
- */
-class ModelManagerImpl implements IModelManager {
-
-	static class EnumeratedModelIds implements Enumeration {
-
-		Enumeration fSharedObjectKeys;
-
-		protected EnumeratedModelIds(Dictionary sharedObjects) {
-
-			if (sharedObjects == null) {
-				// if no shared objects yet, return empty enumeration
-				fSharedObjectKeys = null;
-			}
-			else {
-				fSharedObjectKeys = sharedObjects.keys();
-			}
-		}
-
-		public boolean hasMoreElements() {
-
-			boolean result = false;
-			if (fSharedObjectKeys != null)
-				result = fSharedObjectKeys.hasMoreElements();
-			return result;
-		}
-
-		public Object nextElement() {
-
-			if (fSharedObjectKeys == null)
-				throw new NoSuchElementException();
-			return fSharedObjectKeys.nextElement();
-		}
-	}
-
-	static class ReadEditType {
-		ReadEditType(String type) {
-		}
-	}
-
-	/**
-	 * A Data class to track our shared objects
-	 */
-	static class SharedObject {
-		int referenceCountForEdit;
-		int referenceCountForRead;
-		IStructuredModel theSharedModel;
-
-		SharedObject(IStructuredModel sharedModel) {
-			theSharedModel = sharedModel;
-			referenceCountForRead = 0;
-			referenceCountForEdit = 0;
-		}
-	}
-
-	private static final String IMODELMANAGER_TRACE_CATEGORY = "IModelManager"; //$NON-NLS-1$
-
-	/**
-	 * Our singleton instance
-	 */
-	private static ModelManagerImpl instance;
-	private final static int READ_BUFFER_SIZE = 4096;
-
-	synchronized static IModelManager getInstance() {
-
-		if (instance == null) {
-			instance = new ModelManagerImpl();
-		}
-		return instance;
-	}
-
-	private final ReadEditType EDIT = new ReadEditType("edit"); //$NON-NLS-1$
-	/**
-	 * Our cache of managed objects
-	 */
-	private Dictionary fManagedObjects;
-
-	private ModelHandlerRegistry fModelHandlerRegistry;
-	private Object[] fModelManagerListeners;
-	private int modelManagerStateChanging;
-	private final ReadEditType READ = new ReadEditType("read"); //$NON-NLS-1$
-
-	ModelManagerImpl() {
-
-		super();
-		fManagedObjects = new Hashtable();
-	}
-
-	private IStructuredModel _commonCreateModel(InputStream inputStream, String id, IModelHandler handler, URIResolver resolver, ReadEditType rwType, EncodingRule encodingRule) throws IOException {
-
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		IStructuredModel model = null;
-		if (sharedObject == null) {
-			try {
-				model = _commonCreateModel(id, handler, resolver);
-				ModelLoader loader = handler.getModelLoader();
-				loader.load(Utilities.getMarkSupportedStream(inputStream), model, encodingRule);
-			}
-			catch (ResourceInUse e) {
-				// impossible, since we've already found
-				handleProgramError(e);
-			}
-			if (model != null) {
-				// add to our cache
-				sharedObject = new SharedObject(model);
-				_initCount(sharedObject, rwType);
-				fManagedObjects.put(id, sharedObject);
-			}
-		}
-		else {
-			// if shared object is initially in our cache, then simply
-			// increment its ref count,
-			// and return the object.
-			_incrCount(sharedObject, rwType);
-		}
-		// we expect to always return something
-		Assert.isNotNull(sharedObject, "Program Error: no model recorded for id " + id); //$NON-NLS-1$
-		// note: clients must call release for each time they call get.
-		return sharedObject.theSharedModel;
-	}
-
-	private IStructuredModel _commonCreateModel(InputStream inputStream, String id, IModelHandler handler, URIResolver resolver, ReadEditType rwType, String encoding, String lineDelimiter) throws IOException {
-
-		if (id == null) {
-			throw new IllegalArgumentException("Program Error: id may not be null"); //$NON-NLS-1$
-		}
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		IStructuredModel model = null;
-		if (sharedObject == null) {
-			try {
-				model = _commonCreateModel(id, handler, resolver);
-				ModelLoader loader = handler.getModelLoader();
-				if (inputStream == null) {
-					Logger.log(Logger.WARNING, "model was requested for id " + id + " without a content InputStream");
-				}
-				loader.load(id, Utilities.getMarkSupportedStream(inputStream), model, encoding, lineDelimiter);
-			}
-			catch (ResourceInUse e) {
-				// impossible, since we've already found
-				handleProgramError(e);
-			}
-			if (model != null) {
-				// add to our cache
-				sharedObject = new SharedObject(model);
-				_initCount(sharedObject, rwType);
-				fManagedObjects.put(id, sharedObject);
-			}
-		}
-		else {
-			// if shared object is initially in our cache, then simply
-			// increment its ref count,
-			// and return the object.
-			_incrCount(sharedObject, rwType);
-		}
-		// we expect to always return something
-		Assert.isNotNull(sharedObject, "Program Error: no model recorded for id " + id); //$NON-NLS-1$
-		// note: clients must call release for each time they call get.
-		return sharedObject.theSharedModel;
-	}
-
-	private IStructuredModel _commonCreateModel(String id, IModelHandler handler, URIResolver resolver) throws ResourceInUse {
-
-		Assert.isNotNull(handler, "model handler can not be null"); //$NON-NLS-1$
-		ModelLoader loader = handler.getModelLoader();
-		IStructuredModel result = loader.createModel();
-		// in the past, id was null for "unmanaged" case, so we won't
-		// try and set it
-		if (id != null) {
-			result.setId(id);
-		}
-		result.setModelHandler(handler);
-		result.setResolver(resolver);
-		// some obvious redunancy here that maybe could be improved
-		// in future, but is necessary for now
-		result.setBaseLocation(id);
-		if (resolver != null) {
-			resolver.setFileBaseLocation(id);
-		}
-		addFactories(result, handler);
-		return result;
-	}
-
-	private IStructuredModel _commonGetModel(IFile iFile, ReadEditType rwType, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-		IStructuredModel model = null;
-
-		if (iFile != null && iFile.exists()) {
-			String id = calculateId(iFile);
-			IModelHandler handler = calculateType(iFile);
-			URIResolver resolver = calculateURIResolver(iFile);
-			InputStream inputStream = Utilities.getMarkSupportedStream(iFile.getContents(true));
-			try {
-				model = _commonCreateModel(inputStream, id, handler, resolver, rwType, encodingRule);
-			}
-			finally {
-				if (inputStream != null) {
-					inputStream.close();
-				}
-			}
-		}
-
-		return model;
-	}
-
-	private IStructuredModel _commonGetModel(IFile iFile, ReadEditType rwType, String encoding, String lineDelimiter) throws UnsupportedEncodingException, IOException, CoreException {
-		String id = calculateId(iFile);
-		IModelHandler handler = calculateType(iFile);
-		URIResolver resolver = calculateURIResolver(iFile);
-		IStructuredModel model = _commonGetModel(iFile, id, handler, resolver, rwType, encoding, lineDelimiter);
-
-		return model;
-	}
-
-	private IStructuredModel _commonGetModel(IFile file, String id, IModelHandler handler, URIResolver resolver, ReadEditType rwType, String encoding, String lineDelimiter) throws IOException, CoreException {
-		if (id == null)
-			throw new IllegalArgumentException("Program Error: id may not be null"); //$NON-NLS-1$
-
-		IStructuredModel model = null;
-
-		if (file != null && file.exists()) {
-			SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-			if (sharedObject == null) {
-				model = FileBufferModelManager.getInstance().getModel(file);
-				if (model != null) {
-					// add to our cache
-					sharedObject = new SharedObject(model);
-					_initCount(sharedObject, rwType);
-					fManagedObjects.put(id, sharedObject);
-				}
-			}
-			else {
-				// if shared object is initially in our cache, then simply
-				// increment its ref count,
-				// and return the object.
-				_incrCount(sharedObject, rwType);
-			}
-
-			// we expect to always return something
-			Assert.isNotNull(sharedObject, "Program Error: no model recorded for id " + id); //$NON-NLS-1$
-
-			// note: clients must call release for each time they call get.
-			model = sharedObject.theSharedModel;
-		}
-
-		return model;
-	}
-
-	private SharedObject _commonNewModel(IFile iFile, boolean force) throws ResourceAlreadyExists, ResourceInUse, IOException, CoreException {
-		// let's check to see if resource already exists, either in our cache,
-		// or on the system
-		String id = calculateId(iFile);
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		IStructuredModel aSharedModel = null;
-		// if shared object is null, then we do not have it already, which is
-		// as normally expected.
-		if (sharedObject == null) {
-			// if not in cache, see if we can retrieve it
-			aSharedModel = FileBufferModelManager.getInstance().getModel(iFile);
-		}
-		else {
-			// if sharedObject is not null, then
-			// someone has asked us to create a new model for a given id, but
-			// it in fact
-			// is already in our cache with that id. In this case we will
-			// throw
-			// an "in use" exception,
-			// (unless force is set to true). Because, to do otherwise we will
-			// basically be
-			// over writing a model that another client is already using. Not
-			// nice.
-			if (!force) {
-				throw new ResourceInUse();
-			}
-		}
-		// if we get here, and result (and shared object) are still null,
-		// then all is ok, and we can create it,
-		if (aSharedModel == null) {
-			aSharedModel = FileBufferModelManager.getInstance().getModel(iFile);
-			// rembember, don't set 'true' in model init, since that's always
-			// used,
-			// even when not new. 'new' is intended to mean "there is not yet
-			// a
-			// file" for the model.
-			aSharedModel.setNewState(true);
-			sharedObject = addToCache(id, aSharedModel);
-			// when resource is provided, we can set
-			// synchronization stamp ... otherwise client should
-			// Note: one client which does this is FileModelProvider.
-			aSharedModel.resetSynchronizationStamp(iFile);
-		}
-		else {
-			// if result is not null, then we have to check
-			// if 'force' was false before deciding to
-			// throw an already exists exception.
-			if (force) {
-				sharedObject = addToCache(id, aSharedModel);
-				// when resource is provided, we can set
-				// synchronization stamp ... otherwise client should
-				// Note: one client which does this is FileModelProvider.
-				aSharedModel.resetSynchronizationStamp(iFile);
-			}
-			else {
-				throw new ResourceAlreadyExists();
-			}
-		}
-		return sharedObject;
-	}
-
-	public IStructuredModel _getModelFor(IStructuredDocument document, ReadEditType accessType) {
-		IStructuredModel model = null;
-		String id = FileBufferModelManager.getInstance().calculateId(document);
-		Assert.isNotNull(id, "unknown IStructuredDocument " + document);
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject != null) {
-			sharedObject = (SharedObject) fManagedObjects.get(id);
-			_incrCount(sharedObject, accessType);
-			model = sharedObject.theSharedModel;
-		}
-		else {
-			model = FileBufferModelManager.getInstance().getModel(document);
-			sharedObject = new SharedObject(model);
-			_initCount(sharedObject, accessType);
-			fManagedObjects.put(id, sharedObject);
-		}
-		return model;
-	}
-
-	private void _incrCount(SharedObject sharedObject, ReadEditType type) {
-		if (type == READ) {
-			sharedObject.referenceCountForRead++;
-		}
-		else if (type == EDIT) {
-			sharedObject.referenceCountForEdit++;
-		}
-		else
-			throw new IllegalArgumentException();
-	}
-
-	private void _initCount(SharedObject sharedObject, ReadEditType type) {
-		if (type == READ) {
-			sharedObject.referenceCountForRead = 1;
-		}
-		else if (type == EDIT) {
-			sharedObject.referenceCountForEdit = 1;
-		}
-		else
-			throw new IllegalArgumentException();
-	}
-
-	/**
-	 * This API allows clients to declare that they are about to make a
-	 * "massive" change one or more models. This change might be in terms of
-	 * content or it might be in terms of the model id or base location. Note
-	 * that in the case of embedded calls, notification to listners is sent
-	 * only once. The method isModelStateChanging can be used by a client to
-	 * determine if the model is already in a change sequence.
-	 */
-	public synchronized void aboutToChangeModels() {
-		// notice this is just a public avenue to our protected method
-		fireModelsAboutToBeChanged();
-	}
-
-	protected void addFactories(IStructuredModel model, IModelHandler handler) {
-		Assert.isNotNull(model, "model can not be null"); //$NON-NLS-1$
-		Assert.isNotNull(handler, "model handler can not be null"); //$NON-NLS-1$
-		IFactoryRegistry registry = model.getFactoryRegistry();
-		Assert.isNotNull(registry, "Factory Registry can not be null"); //$NON-NLS-1$
-		List factoryList = handler.getAdapterFactories();
-		addFactories(model, factoryList);
-	}
-
-	protected void addFactories(IStructuredModel model, List factoryList) {
-		Assert.isNotNull(model, "model can not be null"); //$NON-NLS-1$
-		IFactoryRegistry registry = model.getFactoryRegistry();
-		Assert.isNotNull(registry, "Factory Registry can not be null"); //$NON-NLS-1$
-		// Note: we add all of them from handler, even if
-		// already exists. May need to reconsider this.
-		if (factoryList != null) {
-			Iterator iterator = factoryList.iterator();
-			while (iterator.hasNext()) {
-				AdapterFactory factory = (AdapterFactory) iterator.next();
-				registry.addFactory(factory);
-			}
-		}
-	}
-
-	public synchronized void addModelManagerListener(IModelManagerListener listener) {
-		if (!Utilities.contains(fModelManagerListeners, listener)) {
-			int oldSize = 0;
-			if (fModelManagerListeners != null) {
-				// normally won't be null, but we need to be sure, for first
-				// time through
-				oldSize = fModelManagerListeners.length;
-			}
-			int newSize = oldSize + 1;
-			Object[] newListeners = new Object[newSize];
-			if (fModelManagerListeners != null) {
-				System.arraycopy(fModelManagerListeners, 0, newListeners, 0, oldSize);
-			}
-			// add listener to last position
-			newListeners[newSize - 1] = listener;
-			//
-			// now switch new for old
-			fModelManagerListeners = newListeners;
-			//
-		}
-	}
-
-	private SharedObject addToCache(String id, IStructuredModel aSharedModel) {
-		SharedObject sharedObject;
-		sharedObject = new SharedObject(aSharedModel);
-		fManagedObjects.put(id, sharedObject);
-		return sharedObject;
-	}
-
-	/**
-	 * Calculate id provides a common way to determine the id from the input
-	 * ... needed to get and save the model. It is a simple class utility, but
-	 * is an instance method so can be accessed via interface.
-	 */
-	public String calculateId(IFile file) {
-		return FileBufferModelManager.getInstance().calculateId(file);
-	}
-
-	/**
-	 * CalculateId provides a common way to determine the id from the provided
-	 * filename.
-	 */
-	public String calculateId(String filename) {
-		// providing common method for consistency.
-		// May eventually need to "clean up"
-		// any initial "file://" protocols, etc., but currently don't
-		// know of anyone doing that.
-		String id = filename;
-		return id;
-	}
-
-	protected IModelHandler calculateType(IFile iFile) throws CoreException {
-		// IModelManager mm = ((ModelManagerPlugin)
-		// Platform.getPlugin(ModelManagerPlugin.ID)).getModelManager();
-		ModelHandlerRegistry cr = getModelHandlerRegistry();
-		IModelHandler cd = cr.getHandlerFor(iFile);
-		return cd;
-	}
-
-	private IModelHandler calculateType(String filename, InputStream inputStream) throws IOException {
-		ModelHandlerRegistry cr = getModelHandlerRegistry();
-		IModelHandler cd = cr.getHandlerFor(filename, inputStream);
-		return cd;
-	}
-
-	/**
-	 * 
-	 */
-	private URIResolver calculateURIResolver(IFile file) {
-		// Note: see comment in plugin.xml for potentially
-		// breaking change in behavior.
-
-		IProject project = file.getProject();
-		URIResolver resolver = (URIResolver) project.getAdapter(URIResolver.class);
-		if (resolver == null)
-			resolver = new ProjectResolver(project);
-		resolver.setFileBaseLocation(file.getLocation().toString());
-		return resolver;
-	}
-
-	/**
-	 * This API allows a client controlled way of notifying all
-	 * IModelManagerEvent listners that several models have changed. This
-	 * method is a matched pair to aboutToChangeModels, and must be called
-	 * after aboutToChangeModel ... or some listeners could be left waiting
-	 * indefinitely for the changed event. So, its suggested that
-	 * changedModels always be in a finally clause. Likewise, a client should
-	 * never call changedModel without calling aboutToChangeModel first. In
-	 * the case of embedded calls, the notification is just sent once.
-	 */
-	public synchronized void changedModels() {
-		// notice this is just a public avenue to our protected method
-		fireModelsChanged();
-	}
-
-	/*
-	 * Note: This method appears in both ModelManagerImpl and JSEditor (with
-	 * just a minor difference). They should be kept the same.
-	 * 
-	 * @deprecated - handled by platform
-	 */
-	private void convertLineDelimiters(IDocument document, IFile iFile) throws CoreException {
-		// Note: calculateType(iFile) returns a default xml model handler if
-		// content type is null.
-		String contentTypeId = calculateType(iFile).getAssociatedContentTypeId();
-		String endOfLineCode = ContentBasedPreferenceGateway.getPreferencesString(contentTypeId, CommonEncodingPreferenceNames.END_OF_LINE_CODE);
-		// endOfLineCode == null means the content type does not support this
-		// function (e.g. DTD)
-		// endOfLineCode == "" means no translation
-		if (endOfLineCode != null && endOfLineCode.length() > 0) {
-			String lineDelimiterToUse = System.getProperty("line.separator"); //$NON-NLS-1$
-			if (endOfLineCode.equals(CommonEncodingPreferenceNames.CR))
-				lineDelimiterToUse = CommonEncodingPreferenceNames.STRING_CR;
-			else if (endOfLineCode.equals(CommonEncodingPreferenceNames.LF))
-				lineDelimiterToUse = CommonEncodingPreferenceNames.STRING_LF;
-			else if (endOfLineCode.equals(CommonEncodingPreferenceNames.CRLF))
-				lineDelimiterToUse = CommonEncodingPreferenceNames.STRING_CRLF;
-
-			TextEdit multiTextEdit = new MultiTextEdit();
-			int lineCount = document.getNumberOfLines();
-			try {
-				for (int i = 0; i < lineCount; i++) {
-					IRegion lineInfo = document.getLineInformation(i);
-					int lineStartOffset = lineInfo.getOffset();
-					int lineLength = lineInfo.getLength();
-					int lineEndOffset = lineStartOffset + lineLength;
-
-					if (i < lineCount - 1) {
-						String currentLineDelimiter = document.getLineDelimiter(i);
-						if (currentLineDelimiter != null && currentLineDelimiter.compareTo(lineDelimiterToUse) != 0)
-							multiTextEdit.addChild(new ReplaceEdit(lineEndOffset, currentLineDelimiter.length(), lineDelimiterToUse));
-					}
-				}
-
-				if (multiTextEdit.getChildrenSize() > 0)
-					multiTextEdit.apply(document);
-			}
-			catch (BadLocationException exception) {
-				throw new SourceEditingRuntimeException(exception);
-			}
-		}
-	}
-
-	/**
-	 * this used to be in loader, but has been moved here
-	 */
-	protected IStructuredModel copy(IStructuredModel model, String newId) throws ResourceInUse {
-		IStructuredModel newModel = null;
-		IStructuredModel oldModel = model;
-		IModelHandler modelHandler = oldModel.getModelHandler();
-		ModelLoader loader = modelHandler.getModelLoader();
-		// newModel = loader.newModel();
-		newModel = loader.createModel(oldModel);
-		// newId, oldModel.getResolver(), oldModel.getModelManager());
-		newModel.setModelHandler(modelHandler);
-		// IStructuredDocument oldStructuredDocument =
-		// oldModel.getStructuredDocument();
-		// IStructuredDocument newStructuredDocument =
-		// oldStructuredDocument.newInstance();
-		// newModel.setStructuredDocument(newStructuredDocument);
-		newModel.setResolver(oldModel.getResolver());
-		newModel.setModelManager(oldModel.getModelManager());
-		// duplicateFactoryRegistry(newModel, oldModel);
-		newModel.setId(newId);
-		// set text of new one after all initialization is done
-		String contents = oldModel.getStructuredDocument().getText();
-		newModel.getStructuredDocument().setText(this, contents);
-		return newModel;
-	}
-
-	/**
-	 */
-	public synchronized IStructuredModel copyModelForEdit(String oldId, String newId) throws ResourceInUse {
-		IStructuredModel newModel = null;
-		// get the existing model associated with this id
-		IStructuredModel model = getExistingModel(oldId);
-		// if it doesn't exist, ignore request (though this would normally
-		// be a programming error.
-		if (model == null)
-			return null;
-		// now be sure newModel does not exist
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(newId);
-		if (sharedObject != null) {
-			throw new ResourceInUse();
-		}
-		// get loader based on existing type (note the type assumption)
-		// Object type = ((IStructuredModel) model).getType();
-		// IModelHandler type = model.getModelHandler();
-		// ModelLoader loader = (ModelLoader) getModelLoaders().get(type);
-		// ModelLoader loader = (ModelLoader) getModelLoaders().get(type);
-		// ask the loader to copy
-		newModel = copy(model, newId);
-		if (newModel != null) {
-			// add to our cache
-			sharedObject = new SharedObject(newModel);
-			sharedObject.referenceCountForEdit = 1;
-			fManagedObjects.put(newId, sharedObject);
-			trace("copied model", newId, sharedObject.referenceCountForEdit); //$NON-NLS-1$
-		}
-		return newModel;
-	}
-
-	/**
-	 * Similar to clone, except the new instance has no content. Note: this
-	 * produces an unmanaged model, for temporary use. If a true shared model
-	 * is desired, use "copy".
-	 */
-	public synchronized IStructuredModel createNewInstance(IStructuredModel oldModel) throws IOException {
-		IModelHandler handler = oldModel.getModelHandler();
-		ModelLoader loader = handler.getModelLoader();
-		IStructuredModel newModel = loader.createModel(oldModel);
-		newModel.setModelHandler(handler);
-		if (newModel instanceof AbstractStructuredModel) {
-			((AbstractStructuredModel) newModel).setContentTypeIdentifier(oldModel.getContentTypeIdentifier());
-		}
-		URIResolver oldResolver = oldModel.getResolver();
-		newModel.setResolver(oldResolver);
-		try {
-			newModel.setId(DUPLICATED_MODEL);
-		}
-		catch (ResourceInUse e) {
-			// impossible, since this is an unmanaged model
-		}
-		// base location should be null, but we'll set to
-		// null to be sure.
-		newModel.setBaseLocation(null);
-		return newModel;
-	}
-
-	/**
-	 * Factory method, since a proper IStructuredDocument must have a proper
-	 * parser assigned. Note: its assume that IFile does not actually exist as
-	 * a resource yet. If it does, ResourceAlreadyExists exception is thrown.
-	 * If the resource does already exist, then createStructuredDocumentFor is
-	 * the right API to use.
-	 * 
-	 * @throws ResourceInUse
-	 * 
-	 */
-	public synchronized IStructuredDocument createNewStructuredDocumentFor(IFile iFile) throws ResourceAlreadyExists, IOException, CoreException {
-		if (iFile.exists()) {
-			throw new ResourceAlreadyExists(iFile.getFullPath().toOSString());
-		}
-		// Will reconsider in future version
-		// String id = calculateId(iFile);
-		// if (isResourceInUse(id)) {
-		// throw new ResourceInUse(iFile.getFullPath().toOSString());
-		// }
-		IDocumentLoader loader = null;
-		IModelHandler handler = calculateType(iFile);
-		loader = handler.getDocumentLoader();
-		// for this API, "createNew" we assume the IFile does not exist yet
-		// as checked above, so just create empty document.
-		IStructuredDocument result = (IStructuredDocument) loader.createNewStructuredDocument();
-		return result;
-	}
-
-	/**
-	 * Factory method, since a proper IStructuredDocument must have a proper
-	 * parser assigned. Note: clients should verify IFile exists before using
-	 * this method. If this IFile does not exist, then
-	 * createNewStructuredDocument is the correct API to use.
-	 * 
-	 * @throws ResourceInUse
-	 */
-	public synchronized IStructuredDocument createStructuredDocumentFor(IFile iFile) throws IOException, CoreException {
-		if (!iFile.exists()) {
-			throw new FileNotFoundException(iFile.getFullPath().toOSString());
-		}
-		// Will reconsider in future version
-		// String id = calculateId(iFile);
-		// if (isResourceInUse(id)) {
-		// throw new ResourceInUse(iFile.getFullPath().toOSString());
-		// }
-		IDocumentLoader loader = null;
-		IModelHandler handler = calculateType(iFile);
-		loader = handler.getDocumentLoader();
-		IStructuredDocument result = (IStructuredDocument) loader.createNewStructuredDocument(iFile);
-		return result;
-	}
-
-	/**
-	 * Conveience method, since a proper IStructuredDocument must have a
-	 * proper parser assigned. It should only be used when an empty
-	 * structuredDocument is needed. Otherwise, use IFile form.
-	 * 
-	 * @deprecated - TODO: to be removed by C4 do we really need this? I
-	 *             recommend to - use createStructuredDocumentFor(filename,
-	 *             null, null) - the filename does not need to represent a
-	 *             real - file, but can take for form of dummy.jsp, test.xml,
-	 *             etc. - That way we don't hard code the handler, but specify
-	 *             we - want the handler that "goes with" a certain type of -
-	 *             file.
-	 */
-	public synchronized IStructuredDocument createStructuredDocumentFor(String contentTypeId) {
-		IDocumentLoader loader = null;
-		ModelHandlerRegistry cr = getModelHandlerRegistry();
-		IModelHandler handler = cr.getHandlerForContentTypeId(contentTypeId);
-		if (handler == null)
-			Logger.log(Logger.ERROR, "Program error: no model handler found for " + contentTypeId);
-		loader = handler.getDocumentLoader();
-		IStructuredDocument result = (IStructuredDocument) loader.createNewStructuredDocument();
-		return result;
-	}
-
-	/**
-	 * Conveience method, since a proper IStructuredDocument must have a
-	 * proper parser assigned.
-	 * 
-	 * @deprecated -- - TODO: to be removed by C4 I marked as deprecated to
-	 *             discouage use of this method. It does not really work for
-	 *             JSP fragments, since JSP Fragments need an IFile to
-	 *             correctly look up the content settings. Use IFile form
-	 *             instead.
-	 */
-	public IStructuredDocument createStructuredDocumentFor(String filename, InputStream inputStream, URIResolver resolver) throws IOException {
-		IDocumentLoader loader = null;
-		InputStream istream = Utilities.getMarkSupportedStream(inputStream);
-		if (istream != null) {
-			istream.reset();
-		}
-		IModelHandler handler = calculateType(filename, istream);
-		loader = handler.getDocumentLoader();
-		IStructuredDocument result = null;
-		if (inputStream == null) {
-			result = (IStructuredDocument) loader.createNewStructuredDocument();
-		}
-		else {
-			result = (IStructuredDocument) loader.createNewStructuredDocument(filename, istream);
-		}
-		return result;
-	}
-
-	/**
-	 * Special case method. This method was created for the special case where
-	 * there is an encoding for input stream that should override all the
-	 * normal rules for encoding. For example, if there is an encoding
-	 * (charset) specified in HTTP response header, then that encoding is used
-	 * to translate the input stream to a string, but then the normal encoding
-	 * rules are ignored, so that the string is not translated twice (for
-	 * example, if its an HTML "file", then even if it contains a charset in
-	 * meta tag, its ignored since its assumed its all correctly decoded by
-	 * the HTTP charset.
-	 */
-	public synchronized IStructuredDocument createStructuredDocumentFor(String filename, InputStream inputStream, URIResolver resolver, String encoding) throws IOException {
-		String content = readInputStream(inputStream, encoding);
-		IStructuredDocument result = createStructuredDocumentFor(filename, content, resolver);
-		return result;
-	}
-
-	/**
-	 * Convenience method. This method can be used when the resource does not
-	 * really exist (e.g. when content is being created, but hasn't been
-	 * written to disk yet). Note that since the content is being provided as
-	 * a String, it is assumed to already be decoded correctly so no
-	 * transformation is done.
-	 */
-	public synchronized IStructuredDocument createStructuredDocumentFor(String filename, String content, URIResolver resolver) throws IOException {
-		// TODO: avoid all these String instances
-		StringBuffer contentBuffer = new StringBuffer(content);
-		IDocumentLoader loader = null;
-		IModelHandler handler = calculateType(filename, null);
-		loader = handler.getDocumentLoader();
-		IStructuredDocument result = (IStructuredDocument) loader.createNewStructuredDocument();
-		StringBuffer convertedContent = loader.handleLineDelimiter(contentBuffer, result);
-		result.setEncodingMemento(new NullMemento());
-		result.setText(this, convertedContent.toString());
-		return result;
-	}
-
-	/**
-	 * @param iFile
-	 * @param result
-	 * @return
-	 * @throws CoreException
-	 */
-	private IStructuredModel createUnManagedEmptyModelFor(IFile iFile) throws CoreException {
-		IStructuredModel result = null;
-		IModelHandler handler = calculateType(iFile);
-		String id = calculateId(iFile);
-		URIResolver resolver = calculateURIResolver(iFile);
-
-		try {
-			result = _commonCreateModel(id, handler, resolver);
-		}
-		catch (ResourceInUse e) {
-			// impossible, since we're not sharing
-			// (even if it really is in use ... we don't care)
-			// this may need to be re-examined.
-			Logger.trace(IMODELMANAGER_TRACE_CATEGORY, "ModelMangerImpl::createUnManagedStructuredModelFor. Model unexpectedly in use."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		return result;
-	}
-
-	/**
-	 * Conveience method. It depends on the loaders newModel method to return
-	 * an appropriate StrucuturedModel appropriately initialized.
-	 */
-	public synchronized IStructuredModel createUnManagedStructuredModelFor(IFile iFile) throws IOException, CoreException {
-		IStructuredModel result = null;
-		result = createUnManagedEmptyModelFor(iFile);
-
-		IDocumentLoader loader = result.getModelHandler().getDocumentLoader();
-		IEncodedDocument document = loader.createNewStructuredDocument(iFile);
-
-		result.getStructuredDocument().setText(this, document.get());
-
-		return result;
-	}
-
-	/**
-	 * Conveience method. It depends on the loaders newModel method to return
-	 * an appropriate StrucuturedModel appropriately initialized.
-	 */
-	public synchronized IStructuredModel createUnManagedStructuredModelFor(String contentTypeId) {
-		return createUnManagedStructuredModelFor(contentTypeId, null);
-	}
-
-	/**
-	 * Conveience method. It depends on the loaders newModel method to return
-	 * an appropriate StrucuturedModel appropriately initialized.
-	 */
-	public synchronized IStructuredModel createUnManagedStructuredModelFor(String contentTypeId, URIResolver resolver) {
-		IStructuredModel result = null;
-		ModelHandlerRegistry cr = getModelHandlerRegistry();
-		IModelHandler handler = cr.getHandlerForContentTypeId(contentTypeId);
-		try {
-			result = _commonCreateModel(UNMANAGED_MODEL, handler, resolver); //$NON-NLS-1$
-		}
-		catch (ResourceInUse e) {
-			// impossible, since we're not sharing
-			// (even if it really is in use ... we don't care)
-			// this may need to be re-examined.
-			Logger.trace(IMODELMANAGER_TRACE_CATEGORY, "ModelMangerImpl::createUnManagedStructuredModelFor. Model unexpectedly in use."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return result;
-	}
-
-	void dump(IStructuredModel model, OutputStream outputStream, EncodingRule encodingRule, IFile iFile) throws UnsupportedEncodingException, IOException, CoreException {
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		CodedStreamCreator codedStreamCreator = new CodedStreamCreator();
-		Reader reader = new DocumentReader(structuredDocument);
-		codedStreamCreator.set(iFile, reader);
-		codedStreamCreator.setPreviousEncodingMemento(structuredDocument.getEncodingMemento());
-		ByteArrayOutputStream codedByteStream = codedStreamCreator.getCodedByteArrayOutputStream(EncodingRule.CONTENT_BASED);
-		InputStream codedStream = new ByteArrayInputStream(codedByteStream.toByteArray());
-		iFile.setContents(codedStream, true, true, null);
-
-		// getDocumentDumper().dump(outputStream, structuredDocument,
-		// encodingRule, use3ByteBOM, file);
-		model.setDirtyState(false);
-		model.setNewState(false);
-	}
-
-	/**
-	 * Informs all registered model state listeners that the the model is
-	 * about to under go a "large" change. This change might be interms of
-	 * contents, in might be in terms of the model id or base location.
-	 */
-	protected void fireModelsAboutToBeChanged() {
-		// notice we only fire this event if we are not already in a model
-		// state changing sequence
-		if (modelManagerStateChanging == 0) {
-			// we must assign listeners to local variable, since the add and
-			// remove listner
-			// methods can change the actual instance of the listener array
-			// from another thread
-			if (fModelManagerListeners != null) {
-				Object[] holdListeners = fModelManagerListeners;
-				for (int i = 0; i < holdListeners.length; i++) {
-					((IModelManagerListener) holdListeners[i]).modelsAboutToBeChanged();
-				}
-			}
-		}
-		// we always increment counter, for every request (so must receive
-		// corresponding number of 'changedModel' requests)
-		modelManagerStateChanging++;
-	}
-
-	/**
-	 * Informs all registered model state listeners that an impending change
-	 * is now complete. This method must only be called by 'modelChanged'
-	 * since it keeps track of counts.
-	 */
-	protected void fireModelsChanged() {
-		// always decrement
-		modelManagerStateChanging--;
-		// to be less than zero is a programming error, but we'll reset to
-		// zero
-		// with no error messages.
-		if (modelManagerStateChanging < 0)
-			modelManagerStateChanging = 0;
-		// We only fire this event if all pending requests are done.
-		// That is, if we've received the same number of fireModelChanged as
-		// we
-		// have fireModelAboutToBeChanged.
-		if (modelManagerStateChanging == 0) {
-			// we must assign listeners to local variable, since the add and
-			// remove listner
-			// methods can change the actual instance of the listener array
-			// from another thread
-			if (fModelManagerListeners != null) {
-				Object[] holdListeners = fModelManagerListeners;
-				for (int i = 0; i < holdListeners.length; i++) {
-					((IModelManagerListener) holdListeners[i]).modelsChanged();
-				}
-			}
-		}
-	}
-
-	private EnumeratedModelIds getEnumeratedModelIds() {
-		// return new instance each time so will "act like" proper enumeration
-		// to client
-		// (if we cached, may not be at beginning).
-		return new EnumeratedModelIds(fManagedObjects);
-	}
-
-	private IStructuredModel getExistingModel(Object id) {
-
-		IStructuredModel result = null;
-		// let's see if we already have it in our cache
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		// if not, then we'll simply return null
-		if (sharedObject != null) {
-			result = sharedObject.theSharedModel;
-		}
-		return result;
-	}
-
-	/**
-	 * Note: users of this 'model' must still release it when finished.
-	 * Returns null if there's not a model corresponding to document.
-	 */
-	public synchronized IStructuredModel getExistingModelForEdit(IDocument document) {
-		IStructuredModel result = null;
-		Enumeration ids = getEnumeratedModelIds();
-		while (ids.hasMoreElements()) {
-			Object potentialId = ids.nextElement();
-			IStructuredModel tempResult = getExistingModel(potentialId);
-			if (document == tempResult.getStructuredDocument()) {
-				result = getExistingModelForEdit(potentialId);
-				break;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * This is similar to the getModel method, except this method does not
-	 * create a model. This method does increment the reference count (if it
-	 * exists). If the model does not already exist in the cache of models,
-	 * null is returned.
-	 */
-	public synchronized IStructuredModel getExistingModelForEdit(IFile iFile) {
-
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		Object id = calculateId(iFile);
-		IStructuredModel result = getExistingModelForEdit(id);
-		return result;
-	}
-
-	/**
-	 * This is similar to the getModel method, except this method does not
-	 * create a model. This method does increment the reference count (if it
-	 * exists). If the model does not already exist in the cache of models,
-	 * null is returned.
-	 * 
-	 * @deprecated use IFile form - this one will become protected or private
-	 */
-	public synchronized IStructuredModel getExistingModelForEdit(Object id) {
-
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		IStructuredModel result = null;
-		// let's see if we already have it in our cache
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		// if not, then we'll simply return null
-		if (sharedObject != null) {
-			// if shared object is in our cache, then simply increment its ref
-			// count,
-			// and return the object.
-			sharedObject.referenceCountForEdit++;
-			result = sharedObject.theSharedModel;
-			trace("got existing model for Edit: ", id); //$NON-NLS-1$
-			trace("   incremented referenceCountForEdit ", id, sharedObject.referenceCountForEdit); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	/**
-	 * Note: users of this 'model' must still release it when finished.
-	 * Returns null if there's not a model corresponding to document.
-	 */
-	public synchronized IStructuredModel getExistingModelForRead(IDocument document) {
-		IStructuredModel result = null;
-		Enumeration ids = getEnumeratedModelIds();
-		while (ids.hasMoreElements()) {
-			Object potentialId = ids.nextElement();
-			IStructuredModel tempResult = getExistingModel(potentialId);
-			if (document == tempResult.getStructuredDocument()) {
-				result = getExistingModelForRead(potentialId);
-				break;
-			}
-		}
-		return result;
-	}
-
-	public synchronized IStructuredModel getExistingModelForRead(IFile iFile) {
-
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		Object id = calculateId(iFile);
-		IStructuredModel result = getExistingModelForRead(id);
-		return result;
-	}
-
-	/**
-	 * This is similar to the getModel method, except this method does not
-	 * create a model. This method does increment the reference count (if it
-	 * exists). If the model does not already exist in the cache of models,
-	 * null is returned.
-	 * 
-	 * @deprecated use IFile form - this one will become protected or private
-	 */
-	public synchronized IStructuredModel getExistingModelForRead(Object id) {
-
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		IStructuredModel result = null;
-		// let's see if we already have it in our cache
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		// if not, then we'll simply return null
-		if (sharedObject != null) {
-			// if shared object is in our cache, then simply increment its ref
-			// count,
-			// and return the object.
-			sharedObject.referenceCountForRead++;
-			result = sharedObject.theSharedModel;
-		}
-		return result;
-	}
-
-	/**
-	 * @deprecated DMW: Tom, this is "special" for links builder Assuming its
-	 *             still needed, wouldn't it be better to change to
-	 *             getExistingModels()? -- will be removed. Its not thread
-	 *             safe for one thread to get the Enumeration, when underlying
-	 *             data could be changed in another thread.
-	 */
-	public synchronized Enumeration getExistingModelIds() {
-
-		Enumeration result = getEnumeratedModelIds();
-		return result;
-	}
-
-	// TODO: replace (or supplement) this is a "model info" association to the
-	// IFile that created the model
-	protected IFile getFileFor(IStructuredModel model) {
-		if (model == null)
-			return null;
-		String path = model.getBaseLocation();
-		if (path == null || path.length() == 0) {
-			Object id = model.getId();
-			if (id == null)
-				return null;
-			path = id.toString();
-		}
-		// TOODO needs rework for linked resources
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IFile file = root.getFileForLocation(new Path(path));
-		return file;
-	}
-
-	/**
-	 * One of the primary forms to get a managed model
-	 */
-	public synchronized IStructuredModel getModelForEdit(IFile iFile) throws IOException, CoreException {
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		return _commonGetModel(iFile, EDIT, null, null);
-	}
-
-	/**
-	 * @see com.ibm.sed.model.IModelManager#getModelForEdit(IFile,
-	 *      EncodingRule)
-	 */
-	public synchronized IStructuredModel getModelForEdit(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		return _commonGetModel(iFile, EDIT, encodingRule);
-	}
-
-	public synchronized IStructuredModel getModelForEdit(IFile iFile, String encoding, String lineDelimiter) throws java.io.UnsupportedEncodingException, IOException, CoreException {
-
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		return _commonGetModel(iFile, EDIT, encoding, lineDelimiter);
-	}
-
-	public synchronized IStructuredModel getModelForEdit(IStructuredDocument document) {
-		return _getModelFor(document, EDIT);
-	}
-
-	/**
-	 * @see IModelManager
-	 * @deprecated use IFile or String form
-	 */
-	public synchronized IStructuredModel getModelForEdit(Object id, InputStream inputStream, URIResolver resolver) throws java.io.UnsupportedEncodingException, IOException {
-
-		Assert.isNotNull(id, "IFile parameter can not be null"); //$NON-NLS-1$
-		String stringId = id.toString();
-		return getModelForEdit(stringId, Utilities.getMarkSupportedStream(inputStream), resolver);
-	}
-
-	/**
-	 * @see IModelManager
-	 * @deprecated - use IFile or String form
-	 */
-	public synchronized IStructuredModel getModelForEdit(Object id, Object modelType, String encodingName, String lineDelimiter, InputStream inputStream, URIResolver resolver) throws java.io.UnsupportedEncodingException, IOException {
-
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		String stringId = id.toString();
-		return getModelForEdit(stringId, Utilities.getMarkSupportedStream(inputStream), resolver);
-	}
-
-	public synchronized IStructuredModel getModelForEdit(String id, InputStream inputStream, URIResolver resolver) throws IOException {
-		if (id == null) {
-			throw new IllegalArgumentException("Program Error: id may not be null"); //$NON-NLS-1$
-		}
-
-		InputStream istream = Utilities.getMarkSupportedStream(inputStream);
-		IModelHandler handler = calculateType(id, istream);
-		Assert.isNotNull(handler, "model handler can not be null"); //$NON-NLS-1$
-		IStructuredModel result = null;
-		result = _commonCreateModel(istream, id, handler, resolver, EDIT, null, null);
-		return result;
-	}
-
-	/**
-	 * One of the primary forms to get a managed model
-	 */
-	public synchronized IStructuredModel getModelForRead(IFile iFile) throws IOException, CoreException {
-
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		return _commonGetModel(iFile, READ, null, null);
-	}
-
-	public synchronized IStructuredModel getModelForRead(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		return _commonGetModel(iFile, READ, encodingRule);
-	}
-
-	public synchronized IStructuredModel getModelForRead(IFile iFile, String encodingName, String lineDelimiter) throws java.io.UnsupportedEncodingException, IOException, CoreException {
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		return _commonGetModel(iFile, READ, encodingName, lineDelimiter);
-	}
-
-	public synchronized IStructuredModel getModelForRead(IStructuredDocument document) {
-		return _getModelFor(document, READ);
-	}
-
-	/**
-	 * @see IModelManager
-	 * @deprecated use IFile or String form
-	 */
-	public synchronized IStructuredModel getModelForRead(Object id, InputStream inputStream, URIResolver resolver) throws java.io.UnsupportedEncodingException, IOException {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		String stringId = id.toString();
-		return getModelForRead(stringId, Utilities.getMarkSupportedStream(inputStream), resolver);
-	}
-
-	/**
-	 * @see IModelManager
-	 * @deprecated use IFile form
-	 */
-	public synchronized IStructuredModel getModelForRead(Object id, Object modelType, String encodingName, String lineDelimiter, InputStream inputStream, URIResolver resolver) throws java.io.UnsupportedEncodingException, IOException {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		String stringId = id.toString();
-		return getModelForRead(stringId, Utilities.getMarkSupportedStream(inputStream), resolver);
-	}
-
-	public synchronized IStructuredModel getModelForRead(String id, InputStream inputStream, URIResolver resolver) throws IOException {
-		InputStream istream = Utilities.getMarkSupportedStream(inputStream);
-		IModelHandler handler = calculateType(id, istream);
-		IStructuredModel result = null;
-		result = _commonCreateModel(istream, id, handler, resolver, READ, null, null);
-		return result;
-	}
-
-	/**
-	 * @deprecated - only temporarily visible
-	 */
-	public ModelHandlerRegistry getModelHandlerRegistry() {
-		if (fModelHandlerRegistry == null) {
-			fModelHandlerRegistry = ModelHandlerRegistry.getInstance();
-		}
-		return fModelHandlerRegistry;
-	}
-
-	/**
-	 * @see IModelManager#getNewModelForEdit(IFile, boolean)
-	 */
-	public synchronized IStructuredModel getNewModelForEdit(IFile iFile, boolean force) throws ResourceAlreadyExists, ResourceInUse, IOException, CoreException {
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		SharedObject sharedObject = _commonNewModel(iFile, force);
-		sharedObject.referenceCountForEdit = 1;
-		return sharedObject.theSharedModel;
-	}
-
-	/**
-	 * @see IModelManager#getNewModelForRead(IFile, boolean)
-	 */
-	public synchronized IStructuredModel getNewModelForRead(IFile iFile, boolean force) throws ResourceAlreadyExists, ResourceInUse, IOException, CoreException {
-
-		Assert.isNotNull(iFile, "IFile parameter can not be null"); //$NON-NLS-1$
-		SharedObject sharedObject = _commonNewModel(iFile, force);
-		sharedObject.referenceCountForRead = 1;
-		return sharedObject.theSharedModel;
-	}
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model TODO: try to refine the design
-	 *            not to use this function
-	 */
-	public synchronized int getReferenceCount(Object id) {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		int count = 0;
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject != null)
-			count = sharedObject.referenceCountForRead + sharedObject.referenceCountForEdit;
-		return count;
-	}
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model TODO: try to refine the design
-	 *            not to use this function
-	 */
-	public synchronized int getReferenceCountForEdit(Object id) {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		int count = 0;
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject != null)
-			count = sharedObject.referenceCountForEdit;
-		return count;
-	}
-
-	/**
-	 * This function returns the reference count of underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model TODO: try to refine the design
-	 *            not to use this function
-	 */
-	public synchronized int getReferenceCountForRead(Object id) {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		int count = 0;
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject != null)
-			count = sharedObject.referenceCountForRead;
-		return count;
-	}
-
-	private void handleConvertLineDelimiters(IStructuredDocument structuredDocument, IFile iFile, EncodingRule encodingRule, EncodingMemento encodingMemento) throws CoreException, MalformedOutputExceptionWithDetail, UnsupportedEncodingException {
-		if (structuredDocument.getNumberOfLines() > 1) {
-			String originalText = structuredDocument.get();
-			convertLineDelimiters(structuredDocument, iFile);
-		}
-	}
-
-	private void handleProgramError(Throwable t) {
-
-		Logger.logException("Impossible Program Error", t); //$NON-NLS-1$
-	}
-
-	/**
-	 * Register adapters for resources using an extension point. Required to
-	 * ensure that calculateURIResolver has the necessary factories registered
-	 * before any models are loaded.
-	 * 
-	 * @deprecated - wrong place to do this
-	 */
-	protected void initResourceAdapters() {
-
-		// Note: see comment in plugin.xml for potentially
-		// breaking change in behavior.
-
-		// new URIResolverAdapterFactoryRegistryReader().loadRegistry();
-	}
-
-	// private boolean isResourceInUse(String id) {
-	//
-	// boolean result = false;
-	// IStructuredModel model = null;
-	// Enumeration ids = getEnumeratedModelIds();
-	// while (ids.hasMoreElements()) {
-	// Object inUseID = ids.nextElement();
-	// if (id.equals(inUseID)) {
-	// result = true;
-	// break;
-	// }
-	// }
-	// return result;
-	// }
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 */
-	public synchronized boolean isShared(Object id) {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		int count = 0;
-		boolean result = false;
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject != null)
-			count = sharedObject.referenceCountForRead + sharedObject.referenceCountForEdit;
-		result = count > 1;
-		return result;
-	}
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model
-	 */
-	public synchronized boolean isSharedForEdit(Object id) {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		int count = 0;
-		boolean result = false;
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject != null)
-			count = sharedObject.referenceCountForEdit;
-		result = count > 1;
-		return result;
-	}
-
-	/**
-	 * This function returns true if there are other references to the
-	 * underlying model.
-	 * 
-	 * @param id
-	 *            Object The id of the model
-	 */
-	public synchronized boolean isSharedForRead(Object id) {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		int count = 0;
-		boolean result = false;
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject != null)
-			count = sharedObject.referenceCountForRead;
-		result = count > 1;
-		return result;
-	}
-
-	/**
-	 * This method can be called to determine if the model manager is within a
-	 * "aboutToChange" and "changed" sequence.
-	 */
-	public synchronized boolean isStateChanging() {
-
-		return modelManagerStateChanging > 0;
-	}
-
-	/**
-	 * This method changes the id of the model. TODO: try to refine the design
-	 * not to use this function
-	 */
-	public synchronized void moveModel(Object oldId, Object newId) {
-		org.eclipse.wst.sse.core.util.Assert.isNotNull(oldId, "id parameter can not be null"); //$NON-NLS-1$
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(oldId);
-		// if not found in cache, ignore request.
-		// this would normally be a program error
-		if (sharedObject != null) {
-			fManagedObjects.remove(oldId);
-			fManagedObjects.put(newId, sharedObject);
-		}
-	}
-
-	private String readInputStream(InputStream inputStream, String ianaEncodingName) throws UnsupportedEncodingException, IOException {
-
-		String allText = null;
-		if ((ianaEncodingName != null) && (ianaEncodingName.length() != 0)) {
-			String enc = CodedIO.getAppropriateJavaCharset(ianaEncodingName);
-			if (enc == null) {
-				// if no conversion was possible, let's assume that
-				// the encoding is already a java encoding name, so we'll
-				// proceed with that assumption. This is the case, for
-				// example,
-				// for the reload() procedure.
-				// If in fact it is not a valid java encoding, then
-				// the "allText=" line will cause an
-				// UnsupportedEncodingException
-				enc = ianaEncodingName;
-			}
-			allText = readInputStream(new InputStreamReader(inputStream, enc));
-		}
-		else {
-			// we normally assume encoding is provided for this method, but if
-			// not,
-			// we'll use platform default
-			allText = readInputStream(new InputStreamReader(inputStream));
-		}
-		return allText;
-	}
-
-	private String readInputStream(InputStreamReader inputStream) throws IOException {
-
-		int numRead = 0;
-		StringBuffer buffer = new StringBuffer();
-		char tBuff[] = new char[READ_BUFFER_SIZE];
-		while ((numRead = inputStream.read(tBuff, 0, tBuff.length)) != -1) {
-			buffer.append(tBuff, 0, numRead);
-		}
-		// remember -- we didn't open stream ... so we don't close it
-		return buffer.toString();
-	}
-
-	/*
-	 * @see IModelManager#reinitialize(IStructuredModel)
-	 */
-	public synchronized IStructuredModel reinitialize(IStructuredModel model) {
-
-		// getHandler (assume its the "new one")
-		IModelHandler handler = model.getModelHandler();
-		// getLoader for that new one
-		ModelLoader loader = handler.getModelLoader();
-		// ask it to reinitialize
-		model = loader.reinitialize(model);
-		// the loader should check to see if the one it received
-		// is the same type it would normally create.
-		// if not, it must "start from scratch" and create a whole
-		// new one.
-		// if it is of the same type, it should just 'replace text'
-		// replacing all the existing text with the new text.
-		// the important one is the JSP loader ... it should go through
-		// its embedded content checking and initialization
-		return model;
-	}
-
-	/**
-	 * protected for use in same package, not subclasses
-	 * 
-	 */
-	protected synchronized void releaseFromEdit(Object id) {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		SharedObject sharedObject = null;
-
-		sharedObject = (SharedObject) fManagedObjects.get(id);
-		Assert.isNotNull(sharedObject);
-		if (sharedObject != null) {
-			sharedObject.referenceCountForEdit--;
-			if ((sharedObject.referenceCountForRead == 0) && (sharedObject.referenceCountForEdit == 0)) {
-				fManagedObjects.remove(id);
-				FileBufferModelManager.getInstance().releaseModel(sharedObject.theSharedModel.getStructuredDocument());
-			}
-		}
-	}
-
-	/**
-	 * protected for use in same package, not subclasses
-	 * 
-	 */
-	protected synchronized void releaseFromRead(Object id) {
-		Assert.isNotNull(id, "id parameter can not be null"); //$NON-NLS-1$
-		SharedObject sharedObject = null;
-
-		sharedObject = (SharedObject) fManagedObjects.get(id);
-		Assert.isNotNull(sharedObject);
-		if (sharedObject != null) {
-			sharedObject.referenceCountForRead--;
-			if ((sharedObject.referenceCountForRead == 0) && (sharedObject.referenceCountForEdit == 0)) {
-				fManagedObjects.remove(id);
-				FileBufferModelManager.getInstance().releaseModel(sharedObject.theSharedModel.getStructuredDocument());
-			}
-		}
-	}
-
-	/**
-	 * This is similar to the getModel method, except this method does not use
-	 * the cached version, but forces the cached version to be replaced with a
-	 * fresh, unchanged version. Note: this method does not change any
-	 * reference counts. Also, if there is not already a cached version of the
-	 * model, then this call is essentially ignored (that is, it does not put
-	 * a model in the cache) and returns null.
-	 * 
-	 * @deprecated - will become protected, use reload directly on model
-	 */
-	public synchronized IStructuredModel reloadModel(Object id, java.io.InputStream inputStream) throws java.io.UnsupportedEncodingException {
-
-		// get the existing model associated with this id
-		IStructuredModel structuredModel = getExistingModel(id);
-		// for the model to be null is probably an error (that is,
-		// reload should not have been called, but we'll guard against
-		// a null pointer example and return null if we are no longer managing
-		// that model.
-		if (structuredModel != null) {
-			// get loader based on existing type
-			// dmwTODO evaluate when reload should occur
-			// with potentially new type (e.g. html 'save as' jsp).
-			IModelHandler handler = structuredModel.getModelHandler();
-			ModelLoader loader = handler.getModelLoader();
-			// ask the loader to re-load
-			loader.reload(Utilities.getMarkSupportedStream(inputStream), structuredModel);
-			trace("re-loading model", id); //$NON-NLS-1$
-		}
-		return structuredModel;
-	}
-
-	public synchronized void removeModelManagerListener(IModelManagerListener listener) {
-
-		if ((fModelManagerListeners != null) && (listener != null)) {
-			// if its not in the listeners, we'll ignore the request
-			if (Utilities.contains(fModelManagerListeners, listener)) {
-				int oldSize = fModelManagerListeners.length;
-				int newSize = oldSize - 1;
-				Object[] newListeners = new Object[newSize];
-				int index = 0;
-				for (int i = 0; i < oldSize; i++) {
-					if (fModelManagerListeners[i] == listener) { // ignore
-					}
-					else {
-						// copy old to new if its not the one we are removing
-						newListeners[index++] = fModelManagerListeners[i];
-					}
-				}
-				// now that we have a new array, let's switch it for the old
-				// one
-				fModelManagerListeners = newListeners;
-			}
-		}
-	}
-
-	public void saveModel(IFile iFile, String id, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-		// let's see if we already have it in our cache
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject == null || sharedObject.theSharedModel == null) {
-			throw new SourceEditingRuntimeException(SSECorePlugin.getResourceString("%Program_Error__ModelManage_EXC_")); //$NON-NLS-1$ = "Program Error: ModelManagerImpl::saveModel. Model should be in the cache"
-		}
-		else {
-			boolean saved = false;
-			// if this model was based on a File Buffer and we're writing back
-			// to the same location, use the buffer to do the writing
-			if (FileBufferModelManager.getInstance().isExistingBuffer(sharedObject.theSharedModel.getStructuredDocument())) {
-				ITextFileBuffer buffer = FileBufferModelManager.getInstance().getBuffer(sharedObject.theSharedModel.getStructuredDocument());
-				IPath fileLocation = FileBuffers.normalizeLocation(iFile.getFullPath());
-				if (fileLocation.equals(buffer.getLocation())) {
-					buffer.commit(new NullProgressMonitor(), true);
-					saved = true;
-				}
-			}
-			if (!saved) {
-				IStructuredModel model = sharedObject.theSharedModel;
-				IStructuredDocument document = model.getStructuredDocument();
-				saveStructuredDocument(document, iFile, encodingRule);
-				trace("saving model", id); //$NON-NLS-1$
-			}
-			sharedObject.theSharedModel.setDirtyState(false);
-			sharedObject.theSharedModel.setNewState(false);
-		}
-	}
-
-	/**
-	 * Saving the model really just means to save it's structured document.
-	 * 
-	 * @param id
-	 * @param outputStream
-	 * @param encodingRule
-	 * @throws UnsupportedEncodingException
-	 * @throws IOException
-	 * @throws CoreException
-	 */
-	public void saveModel(String id, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-		// let's see if we already have it in our cache
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject == null) {
-			throw new SourceEditingRuntimeException(SSECorePlugin.getResourceString("%Program_Error__ModelManage_EXC_")); //$NON-NLS-1$ = "Program Error: ModelManagerImpl::saveModel. Model should be in the cache"
-		}
-		else {
-			// if this model was based on a File Buffer and we're writing back
-			// to the same location, use the buffer to do the writing
-			if (FileBufferModelManager.getInstance().isExistingBuffer(sharedObject.theSharedModel.getStructuredDocument())) {
-				ITextFileBuffer buffer = FileBufferModelManager.getInstance().getBuffer(sharedObject.theSharedModel.getStructuredDocument());
-				buffer.commit(new NullProgressMonitor(), true);
-			}
-			else {
-				IFile iFile = getFileFor(sharedObject.theSharedModel);
-				IStructuredModel model = sharedObject.theSharedModel;
-				IStructuredDocument document = model.getStructuredDocument();
-				saveStructuredDocument(document, iFile);
-				trace("saving model", id); //$NON-NLS-1$
-			}
-		}
-		sharedObject.theSharedModel.setDirtyState(false);
-		sharedObject.theSharedModel.setNewState(false);
-	}
-
-	/**
-	 * @deprecated - this method is less efficient than IFile form, since it
-	 *             requires an extra "copy" of byte array, and should be avoid
-	 *             in favor of the IFile form.
-	 */
-	public void saveModel(String id, OutputStream outputStream, EncodingRule encodingRule) throws UnsupportedEncodingException, CoreException, IOException {
-
-		// let's see if we already have it in our cache
-		SharedObject sharedObject = (SharedObject) fManagedObjects.get(id);
-		if (sharedObject == null) {
-			throw new SourceEditingRuntimeException(SSECorePlugin.getResourceString("%Program_Error__ModelManage_EXC_")); //$NON-NLS-1$ = "Program Error: ModelManagerImpl::saveModel. Model should be in the cache"
-		}
-		else {
-			CodedStreamCreator codedStreamCreator = new CodedStreamCreator();
-			codedStreamCreator.set(sharedObject.theSharedModel.getId(), new DocumentReader(sharedObject.theSharedModel.getStructuredDocument()));
-			codedStreamCreator.setPreviousEncodingMemento(sharedObject.theSharedModel.getStructuredDocument().getEncodingMemento());
-			ByteArrayOutputStream byteArrayOutputStream = codedStreamCreator.getCodedByteArrayOutputStream(encodingRule);
-			byte[] outputBytes = byteArrayOutputStream.toByteArray();
-			outputStream.write(outputBytes);
-			trace("saving model", id); //$NON-NLS-1$
-		}
-		sharedObject.theSharedModel.setDirtyState(false);
-		sharedObject.theSharedModel.setNewState(false);
-	}
-
-	public void saveStructuredDocument(IStructuredDocument structuredDocument, IFile iFile) throws UnsupportedEncodingException, CoreException, IOException {
-		saveStructuredDocument(structuredDocument, iFile, EncodingRule.CONTENT_BASED);
-	}
-
-	public void saveStructuredDocument(IStructuredDocument structuredDocument, IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, CoreException, IOException {
-		if (FileBufferModelManager.getInstance().isExistingBuffer(structuredDocument)) {
-			ITextFileBuffer buffer = FileBufferModelManager.getInstance().getBuffer(structuredDocument);
-			if (iFile.getLocation().equals(buffer.getLocation())) {
-				buffer.commit(new NullProgressMonitor(), true);
-			}
-		}
-		else {
-			// IModelHandler handler = calculateType(iFile);
-			// IDocumentDumper dumper = handler.getDocumentDumper();
-			CodedStreamCreator codedStreamCreator = new CodedStreamCreator();
-			Reader reader = new DocumentReader(structuredDocument);
-			codedStreamCreator.set(iFile, reader);
-			codedStreamCreator.setPreviousEncodingMemento(structuredDocument.getEncodingMemento());
-			EncodingMemento encodingMemento = codedStreamCreator.getCurrentEncodingMemento();
-
-			// be sure document's is updated, in case exception is thrown in
-			// getCodedByteArrayOutputStream
-			structuredDocument.setEncodingMemento(encodingMemento);
-
-			// Convert line delimiters after encoding memento is figured out,
-			// but
-			// before writing to output stream.
-			handleConvertLineDelimiters(structuredDocument, iFile, encodingRule, encodingMemento);
-
-			ByteArrayOutputStream codedByteStream = codedStreamCreator.getCodedByteArrayOutputStream(encodingRule);
-			InputStream codedStream = new ByteArrayInputStream(codedByteStream.toByteArray());
-			if (iFile.exists())
-				iFile.setContents(codedStream, true, true, null);
-			else
-				iFile.create(codedStream, false, null);
-			codedByteStream.close();
-			codedStream.close();
-		}
-	}
-
-	/**
-	 * Common trace method
-	 */
-	private void trace(String msg, Object id) {
-		if (Logger.isTracing(IMODELMANAGER_TRACE_CATEGORY)) {
-			Logger.trace(IMODELMANAGER_TRACE_CATEGORY, msg + " " + Utilities.makeShortId(id)); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * Common trace method
-	 */
-	private void trace(String msg, Object id, int value) {
-		if (Logger.isTracing(IMODELMANAGER_TRACE_CATEGORY)) {
-			Logger.trace(IMODELMANAGER_TRACE_CATEGORY, msg + Utilities.makeShortId(id) + " (" + value + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelPlugin.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelPlugin.java
deleted file mode 100644
index 51d1faa..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelPlugin.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-
-
-/**
- * @deprecated use internal SSECorePlugin class or StructuredModelManager instead
- */
-public class ModelPlugin extends SSECorePlugin {
-
-	public ModelPlugin() {
-		super();
-	}
-
-	public static String getID() {
-		return SSECorePlugin.ID;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelStateMemento.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelStateMemento.java
deleted file mode 100644
index 108be07..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/ModelStateMemento.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Used my AbstractStructuredModel to keep track of what state it should be
- * in, when restoreState(memento) is called. See also getMemento.
- */
-class ModelStateMemento implements IStateMemento {
-	/**
-	 * datesInSynch records whether or not the resource modification date, and
-	 * synchronization date are the same when getMemento is called. If so,
-	 * they should be forced to be the same in restoreState
-	 */
-	private boolean datesInSync;
-	/**
-	 * dirty State when 'getMemento' called. restoreState should set it back
-	 * to this value.
-	 */
-	private boolean dirtyState;
-
-	/**
-	 * the resource used in 'getMemento'. Eventually (V2) will be part of the
-	 * Model itself
-	 */
-	private IResource underlyingResource;
-
-	/**
-	 * ModelStateMemento constructor comment.
-	 */
-	ModelStateMemento() {
-		super();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (9/7/2001 1:15:06
-	 * PM)
-	 * 
-	 * @return org.eclipse.core.resources.IResource
-	 */
-	org.eclipse.core.resources.IResource getUnderlyingResource() {
-		return underlyingResource;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (9/7/2001 2:18:03
-	 * PM)
-	 * 
-	 * @return boolean
-	 */
-	boolean isDatesInSync() {
-		return datesInSync;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (9/7/2001 1:15:06
-	 * PM)
-	 * 
-	 * @return boolean
-	 */
-	boolean isDirtyState() {
-		return dirtyState;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (9/7/2001 2:18:03
-	 * PM)
-	 * 
-	 * @param newDatesInSync
-	 *            boolean
-	 */
-	void setDatesInSync(boolean newDatesInSync) {
-		datesInSync = newDatesInSync;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (9/7/2001 1:15:06
-	 * PM)
-	 * 
-	 * @param newDirtyState
-	 *            boolean
-	 */
-	void setDirtyState(boolean newDirtyState) {
-		dirtyState = newDirtyState;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (9/7/2001 1:15:06
-	 * PM)
-	 * 
-	 * @param newUnderlyingResource
-	 *            org.eclipse.core.resources.IResource
-	 */
-	void setUnderlyingResource(org.eclipse.core.resources.IResource newUnderlyingResource) {
-		underlyingResource = newUnderlyingResource;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/NullModelManager.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/NullModelManager.java
deleted file mode 100644
index 5be0556..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/NullModelManager.java
+++ /dev/null
@@ -1,504 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Enumeration;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.exceptions.ResourceAlreadyExists;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.URIResolver;
-
-
-/**
- * Simple "null" implementation, entirely to more easily handle case where
- * model manager can't be retrieved due to workspace shutting down. Its intent
- * is to help minimize null checks (especially new null checks :)
- */
-public class NullModelManager extends ModelManagerImpl implements IModelManager {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#aboutToChangeModels()
-	 */
-	public void aboutToChangeModels() {
-
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#addModelManagerListener(org.eclipse.wst.sse.core.IModelManagerListener)
-	 */
-	public void addModelManagerListener(IModelManagerListener listener) {
-
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#calculateBaseLocation(org.eclipse.core.resources.IFile)
-	 */
-	public String calculateBaseLocation(IFile file) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#calculateId(org.eclipse.core.resources.IFile)
-	 */
-	public String calculateId(IFile file) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#changedModels()
-	 */
-	public void changedModels() {
-
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#copyModelForEdit(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public IStructuredModel copyModelForEdit(String oldId, String newId) throws ResourceInUse {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createNewInstance(org.eclipse.wst.sse.core.IStructuredModel)
-	 */
-	public IStructuredModel createNewInstance(IStructuredModel model) throws IOException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createNewStructuredDocumentFor(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredDocument createNewStructuredDocumentFor(IFile iFile) throws ResourceAlreadyExists, IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createStructuredDocumentFor(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(IFile iFile) throws IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createStructuredDocumentFor(java.lang.String)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(String contentTypeId) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createStructuredDocumentFor(java.lang.String,
-	 *      java.io.InputStream, org.eclipse.wst.sse.core.util.URIResolver)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(String filename, InputStream inputStream, URIResolver resolver) throws IOException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createStructuredDocumentFor(java.lang.String,
-	 *      java.io.InputStream, org.eclipse.wst.sse.core.util.URIResolver,
-	 *      java.lang.String)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(String filename, InputStream inputStream, URIResolver resolver, String ianaEncodingName) throws IOException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createStructuredDocumentFor(java.lang.String,
-	 *      java.lang.String, org.eclipse.wst.sse.core.util.URIResolver)
-	 */
-	public IStructuredDocument createStructuredDocumentFor(String filename, String content, URIResolver resolver) throws IOException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createUnManagedStructuredModelFor(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel createUnManagedStructuredModelFor(IFile iFile) throws IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createUnManagedStructuredModelFor(java.lang.String)
-	 */
-	public IStructuredModel createUnManagedStructuredModelFor(String contentTypeId) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#createUnManagedStructuredModelFor(java.lang.String,
-	 *      org.eclipse.wst.sse.core.util.URIResolver)
-	 */
-	public IStructuredModel createUnManagedStructuredModelFor(String contentTypeId, URIResolver resolver) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getExistingModelForEdit(org.eclipse.jface.text.IDocument)
-	 */
-	public IStructuredModel getExistingModelForEdit(IDocument document) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getExistingModelForEdit(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel getExistingModelForEdit(IFile iFile) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getExistingModelForEdit(java.lang.Object)
-	 */
-	public IStructuredModel getExistingModelForEdit(Object id) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getExistingModelForRead(org.eclipse.jface.text.IDocument)
-	 */
-	public IStructuredModel getExistingModelForRead(IDocument document) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getExistingModelForRead(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel getExistingModelForRead(IFile iFile) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getExistingModelForRead(java.lang.Object)
-	 */
-	public IStructuredModel getExistingModelForRead(Object id) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getExistingModelIds()
-	 */
-	public Enumeration getExistingModelIds() {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getModelForEdit(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel getModelForEdit(IFile iFile) throws IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getModelForEdit(org.eclipse.core.resources.IFile,
-	 *      org.eclipse.wst.common.encoding.EncodingRule)
-	 */
-	public IStructuredModel getModelForEdit(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getModelForEdit(org.eclipse.core.resources.IFile,
-	 *      java.lang.String, java.lang.String)
-	 */
-	public IStructuredModel getModelForEdit(IFile iFile, String encoding, String lineDelimiter) throws UnsupportedEncodingException, IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getModelForEdit(java.lang.String,
-	 *      java.io.InputStream, org.eclipse.wst.sse.core.util.URIResolver)
-	 */
-	public IStructuredModel getModelForEdit(String filename, InputStream inStream, URIResolver resolver) throws UnsupportedEncodingException, IOException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getModelForRead(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel getModelForRead(IFile iFile) throws IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getModelForRead(org.eclipse.core.resources.IFile,
-	 *      org.eclipse.wst.common.encoding.EncodingRule)
-	 */
-	public IStructuredModel getModelForRead(IFile iFile, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getModelForRead(org.eclipse.core.resources.IFile,
-	 *      java.lang.String, java.lang.String)
-	 */
-	public IStructuredModel getModelForRead(IFile iFile, String encoding, String lineDelimiter) throws UnsupportedEncodingException, IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getModelForRead(java.lang.String,
-	 *      java.io.InputStream, org.eclipse.wst.sse.core.util.URIResolver)
-	 */
-	public IStructuredModel getModelForRead(String filename, InputStream inStream, URIResolver resolver) throws UnsupportedEncodingException, IOException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getNewModelForEdit(org.eclipse.core.resources.IFile,
-	 *      boolean)
-	 */
-	public IStructuredModel getNewModelForEdit(IFile iFile, boolean force) throws ResourceAlreadyExists, ResourceInUse, IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getNewModelForRead(org.eclipse.core.resources.IFile,
-	 *      boolean)
-	 */
-	public IStructuredModel getNewModelForRead(IFile iFile, boolean force) throws ResourceAlreadyExists, ResourceInUse, IOException, CoreException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getReferenceCount(java.lang.Object)
-	 */
-	public int getReferenceCount(Object id) {
-
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getReferenceCountForEdit(java.lang.Object)
-	 */
-	public int getReferenceCountForEdit(Object id) {
-
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#getReferenceCountForRead(java.lang.Object)
-	 */
-	public int getReferenceCountForRead(Object id) {
-
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#isShared(java.lang.Object)
-	 */
-	public boolean isShared(Object id) {
-
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#isSharedForEdit(java.lang.Object)
-	 */
-	public boolean isSharedForEdit(Object id) {
-
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#isSharedForRead(java.lang.Object)
-	 */
-	public boolean isSharedForRead(Object id) {
-
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#isStateChanging()
-	 */
-	public boolean isStateChanging() {
-
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#moveModel(java.lang.Object,
-	 *      java.lang.Object)
-	 */
-	public void moveModel(Object oldId, Object newId) {
-
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#reinitialize(org.eclipse.wst.sse.core.IStructuredModel)
-	 */
-	public IStructuredModel reinitialize(IStructuredModel model) {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#reloadModel(java.lang.Object,
-	 *      java.io.InputStream)
-	 */
-	public IStructuredModel reloadModel(Object id, InputStream inStream) throws UnsupportedEncodingException {
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#removeModelManagerListener(org.eclipse.wst.sse.core.IModelManagerListener)
-	 */
-	public void removeModelManagerListener(IModelManagerListener listener) {
-
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.IModelManager#saveStructuredDocument(org.eclipse.wst.sse.core.text.IStructuredDocument,
-	 *      org.eclipse.core.resources.IFile)
-	 */
-	public void saveStructuredDocument(IStructuredDocument structuredDocument, IFile iFile) throws UnsupportedEncodingException, IOException, CoreException {
-
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/PropagatingAdapter.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/PropagatingAdapter.java
deleted file mode 100644
index bece75e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/PropagatingAdapter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-import java.util.List;
-
-public interface PropagatingAdapter extends INodeAdapter {
-
-	void addAdaptOnCreateFactory(AdapterFactory factory);
-
-	List getAdaptOnCreateFactories();
-
-	/**
-	 * This method should be called immediately after adding a factory,
-	 * typically on the document (top level) node, so all nodes can be
-	 * adapted, if needed. This is needed for those occasions when a factory
-	 * is addeded after some nodes may have already been created at the time
-	 * the factory is added.
-	 */
-	void initializeForFactory(AdapterFactory factory, INodeNotifier node);
-
-	// dmw: should have getFactoryFor?
-	void release();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/PropagatingAdapterFactory.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/PropagatingAdapterFactory.java
deleted file mode 100644
index 7e53a13..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/PropagatingAdapterFactory.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core;
-
-
-
-import java.util.ArrayList;
-
-
-
-public interface PropagatingAdapterFactory extends AdapterFactory {
-
-	void addContributedFactories(AdapterFactory factory);
-
-	void setContributedFactories(ArrayList list);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/StructuredModelManager.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/StructuredModelManager.java
deleted file mode 100644
index 4055a41..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/StructuredModelManager.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * 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.wst.sse.core;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.osgi.framework.Bundle;
-
-public class StructuredModelManager {
-	/**
-	 * @deprecated - call getModelManager directly
-	 * @return
-	 */
-	public static StructuredModelManager getInstance() {
-		return new StructuredModelManager();
-	}
-
-	public static IModelManager getModelManager() {
-		boolean isReady = false;
-		IModelManager modelManager = null;
-		while (!isReady) {
-			Bundle localBundle = Platform.getBundle(SSECorePlugin.ID);
-			int state = localBundle.getState();
-			if (state == Bundle.ACTIVE) {
-				isReady = true;
-				// getInstance is a synchronized static method.
-				modelManager = ModelManagerImpl.getInstance();
-			}
-			else if (state == Bundle.STARTING) {
-				try {
-					Thread.sleep(100);
-				}
-				catch (InterruptedException e) {
-					// ignore, just loop again
-				}
-			}
-			else if (state == Bundle.STOPPING || state == Bundle.UNINSTALLED) {
-				isReady = true;
-				modelManager = new NullModelManager();
-			}
-			else {
-				// not sure about other states, 'resolved', 'installed'
-				isReady = true;
-			}
-		}
-		return modelManager;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/builder/IBuilderDelegate.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/builder/IBuilderDelegate.java
deleted file mode 100644
index 86379ec..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/builder/IBuilderDelegate.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.builder;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Delegates for the Structured Builder. Delegates may be contributed using
- * the org.eclipse.wst.sse.core.builderdelegate extension point. For resources and
- * resource deltas with matching content types, the builder will first call
- * the startup() method, build(), and shutdown in sequence. Participant
- * instances will be reused across projects but are not shared per content
- * type. Participants should not hold on to references to models or resources
- * after shutdown().
- */
-public interface IBuilderDelegate {
-	IStatus build(IFile file, int kind, Map args, IProgressMonitor monitor);
-
-	/**
-	 * Notifies the participant that building is done for now. Resources held
-	 * from startup should now be released.
-	 */
-	void shutdown(IProject project);
-
-	/**
-	 * Notifies the participant that a sequence of builds is about to be
-	 * called. Ideally the time to load preferences and perform any expensive
-	 * configuration for the given project.
-	 * 
-	 * @param project -
-	 *            the project that's about to be built
-	 * @param kind -
-	 *            the kind of build being done; possible values are
-	 *            IncrementalProjectBuilder.AUTO_BUILD,
-	 *            IncrementalProjectBuilder.FULL_BUILD, or
-	 *            IncrementalProjectBuilder.INCREMENTAL_BUILD
-	 * @param args
-	 *            the table of builder-specific arguments sent to the
-	 *            Structured Document Builder, keyed by argument name (key
-	 *            type: <code>String</code>, value type:
-	 *            <code>String</code>);<code>null</code> is equivalent
-	 *            to an empty map
-	 */
-	void startup(IProject project, int kind, Map args);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/builder/IBuilderModelProvider.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/builder/IBuilderModelProvider.java
deleted file mode 100644
index e1c3f91..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/builder/IBuilderModelProvider.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.builder;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-/**
- * Model provider for IBuilderParticipants - provides Structured Documents and
- * Models to participants. Clients should not implement. Models for any
- * resource may be requested, not just for the current delta. The same
- * document and model instances are NOT guaranteed to be returned with each
- * call.
- */
-
-public interface IBuilderModelProvider {
-	/**
-	 * @param file
-	 * @return an IStructuredDocument with the file's contents if the file's
-	 *         Content Type is supported, null if not
-	 */
-	IStructuredDocument getDocument(IFile file);
-
-	/**
-	 * @param file
-	 * @return an IStructuredModel with the file's contents if the file's
-	 *         Content Type is supported, null if not
-	 */
-	IStructuredModel getModel(IFile file);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/builder/IBuilderParticipant.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/builder/IBuilderParticipant.java
deleted file mode 100644
index fbc4316..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/builder/IBuilderParticipant.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.builder;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Participants in the Structured building process. Participants may be
- * contributed using the org.eclipse.wst.sse.core.builderparticipant extension point.
- * For resources and resource deltas with matching content types, the builder
- * will first call the build() method and then the cleanup() method in
- * sequence. Participant instances will be reused across projects but are not
- * shared per content type. Participants should not hold on to references to
- * models or resources after cleanup().
- * 
- * @deprecated
- */
-public interface IBuilderParticipant {
-
-
-	/**
-	 * Perform a build for the given resources within this project. May be
-	 * called multiple times between startup and shutdown.
-	 * 
-	 * @param resources -
-	 *            an IResource list of resources in this project with the
-	 *            correct content type
-	 * @param project -
-	 *            the project on which this participant is operating
-	 * @param provider -
-	 *            a model provider for this project
-	 * @param monitor
-	 * @return
-	 */
-	boolean build(IResource[] resources, IProject project, IBuilderModelProvider provider, IProgressMonitor monitor);
-
-	/**
-	 * Perform an incremental build. May be called multiple times between
-	 * startup and shutdown.
-	 * 
-	 * @param delta -
-	 *            the IResourceDelta to examine for building
-	 * @param project -
-	 *            the project on which this participant is operating
-	 * @param provider -
-	 *            a model provider for this delta's resource
-	 * @param monitor
-	 * @return
-	 */
-	boolean build(IResourceDelta delta, IProject project, IBuilderModelProvider provider, IProgressMonitor monitor);
-
-	/**
-	 * Do any post-build cleanup from a full build for a project. Called once
-	 * for every matching build() call.
-	 * 
-	 * @param resources -
-	 *            the IResource list of resources in this project with the
-	 *            correct content type
-	 * @param project -
-	 *            the project on which this participant is operating
-	 * @param provider -
-	 *            a model provider for this delta's resource
-	 * @param monitor
-	 * @return
-	 */
-	boolean cleanup(IResource[] resources, IProject project, IBuilderModelProvider provider, IProgressMonitor monitor);
-
-	/**
-	 * Do any post-build cleanup from building a resource delta. Called once
-	 * for every matching build() call.
-	 * 
-	 * @param delta -
-	 *            the IResourceDelta to examine for building
-	 * @param project -
-	 *            the project on which this participant is operating
-	 * @param provider -
-	 *            a model provider for this delta's resource
-	 * @param monitor
-	 * @return
-	 */
-	boolean cleanup(IResourceDelta delta, IProject project, IBuilderModelProvider provider, IProgressMonitor monitor);
-
-	/**
-	 * Notifies the participant that building is done for now. Resources held
-	 * from startup should now be released.
-	 */
-	void shutdown(IProject project);
-
-	/**
-	 * Notifies the participant that a sequence of builds is about to be
-	 * called. Ideally the time to load preferences and perform any expensive
-	 * configuration for the given project.
-	 * 
-	 * @param project -
-	 *            the project that's about to be built
-	 * @param kind -
-	 *            the kind of build being done; possible values are
-	 *            IncrementalProjectBuilder.AUTO_BUILD,
-	 *            IncrementalProjectBuilder.FULL_BUILD, or
-	 *            IncrementalProjectBuilder.INCREMENTAL_BUILD
-	 * @param args
-	 *            the table of builder-specific arguments sent to the
-	 *            Structured Document Builder, keyed by argument name (key
-	 *            type: <code>String</code>, value type:
-	 *            <code>String</code>);<code>null</code> is equivalent
-	 *            to an empty map
-	 */
-	void startup(IProject project, int kind, Map args);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/AbstractCleanupProcessor.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/AbstractCleanupProcessor.java
deleted file mode 100644
index 0590b28..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/AbstractCleanupProcessor.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.cleanup;
-
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.Logger;
-
-
-/**
- * @deprecated renamed to AbstractStructuredCleanupProcessor
- * 
- * TODO will delete in C5
- */
-abstract public class AbstractCleanupProcessor implements CleanupProcessor {
-	public String cleanupContent(String input) {
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		try {
-			// setup structuredModel
-			inputStream = new ByteArrayInputStream(input.getBytes("UTF8")); //$NON-NLS-1$
-			String id = inputStream.toString() + getContentType();
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(id, inputStream, null);
-
-			// cleanup
-			cleanupModel(structuredModel, 0, structuredModel.getStructuredDocument().getLength());
-
-			// return output
-			return structuredModel.getStructuredDocument().get();
-		} catch (UnsupportedEncodingException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (IOException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} finally {
-			ensureClosed(null, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public String cleanupContent(String input, int start, int length) {
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		try {
-			// setup structuredModel
-			inputStream = new ByteArrayInputStream(input.getBytes("UTF8")); //$NON-NLS-1$
-			String id = inputStream.toString() + getContentType();
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(id, inputStream, null);
-
-			// cleanup
-			cleanupModel(structuredModel, start, length);
-
-			// return output
-			return structuredModel.getStructuredDocument().get();
-		} catch (UnsupportedEncodingException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (IOException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} finally {
-			ensureClosed(null, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public void cleanupFile(IFile file) {
-		IStructuredModel structuredModel = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(file);
-
-			// cleanup
-			cleanupModel(structuredModel, 0, structuredModel.getStructuredDocument().getLength());
-
-			// save output to file
-			//outputStream = new
-			// FileOutputStream(file.getLocation().toString());
-			structuredModel.save(file);
-		} catch (CoreException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (IOException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} finally {
-			//ensureClosed(outputStream, null);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public void cleanupFile(IFile file, int start, int length) {
-		IStructuredModel structuredModel = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(file);
-
-			// cleanup
-			cleanupModel(structuredModel, start, length);
-
-			// save output to file
-			//outputStream = new
-			// FileOutputStream(file.getLocation().toString());
-			structuredModel.save(file);
-		} catch (CoreException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (IOException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} finally {
-			//ensureClosed(outputStream, null);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public void cleanupFileName(String fileName) {
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			inputStream = new FileInputStream(fileName);
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(fileName, inputStream, null);
-
-			// cleanup
-			cleanupModel(structuredModel, 0, structuredModel.getStructuredDocument().getLength());
-
-			// save output to file
-			//outputStream = new FileOutputStream(fileName);
-			structuredModel.save();
-		}
-		//TODO I don't think we should be turning any of these into runtime
-		// exceptions
-		catch (CoreException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (FileNotFoundException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (UnsupportedEncodingException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (IOException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} finally {
-			//ensureClosed(outputStream, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public void cleanupFileName(String fileName, int start, int length) {
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			inputStream = new FileInputStream(fileName);
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(fileName, inputStream, null);
-
-			// cleanup
-			cleanupModel(structuredModel, start, length);
-
-			// save output to file
-			//outputStream = new FileOutputStream(fileName);
-			structuredModel.save();
-		}
-		//TODO I don't think we should be turning any of these into runtime
-		// exceptions
-
-		catch (CoreException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (FileNotFoundException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (UnsupportedEncodingException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} catch (IOException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		} finally {
-			//ensureClosed(outputStream, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	abstract public void cleanupModel(IStructuredModel structuredModel);
-
-	abstract public void cleanupModel(IStructuredModel structuredModel, int start, int length);
-
-	protected void ensureClosed(OutputStream outputStream, InputStream inputStream) {
-		try {
-			if (inputStream != null) {
-				inputStream.close();
-			}
-		} catch (IOException e) {
-			Logger.logException(e); // hopeless
-		}
-		try {
-			if (outputStream != null) {
-				outputStream.close();
-			}
-		} catch (IOException e) {
-			Logger.logException(e); // hopeless
-		}
-	}
-
-	/**
-	 * The content type string is case insensitive. It may be "XML" for XML,
-	 * "CSS" for CSS, and "HTML", "JSP", "JHTML", "SHTML", "SHTM", "HTML-SS",
-	 * "XHTML", "HTM" for HTML.
-	 * <p>
-	 * This is needed for creating a temporary model when the
-	 * cleanupContent(String input) form of CleanupProcessor is called.
-	 */
-	protected abstract String getContentType();
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/AbstractStructuredCleanupProcessor.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/AbstractStructuredCleanupProcessor.java
deleted file mode 100644
index 1d30f96..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/AbstractStructuredCleanupProcessor.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.cleanup;
-
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-
-public abstract class AbstractStructuredCleanupProcessor implements IStructuredCleanupProcessor {
-	public boolean refreshCleanupPreferences = true; // special flag for JUnit
-
-	// tests to skip refresh
-	// of cleanup preferences
-	// when it's set to false
-
-	public String cleanupContent(String input) throws IOException, CoreException {
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		try {
-			// setup structuredModel
-			inputStream = new ByteArrayInputStream(input.getBytes("UTF8")); //$NON-NLS-1$
-			String id = inputStream.toString() + getContentType();
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(id, inputStream, null);
-
-			// cleanup
-			cleanupModel(structuredModel, 0, structuredModel.getStructuredDocument().getLength());
-
-			// return output
-			return structuredModel.getStructuredDocument().get();
-		} finally {
-			ensureClosed(null, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public String cleanupContent(String input, int start, int length) throws IOException, CoreException {
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		try {
-			// setup structuredModel
-			inputStream = new ByteArrayInputStream(input.getBytes("UTF8")); //$NON-NLS-1$
-			String id = inputStream.toString() + getContentType();
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(id, inputStream, null);
-
-			// cleanup
-			cleanupModel(structuredModel, start, length);
-
-			// return output
-			return structuredModel.getStructuredDocument().get();
-		} finally {
-			ensureClosed(null, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public void cleanupDocument(IDocument document) throws IOException, CoreException {
-		if (document == null)
-			return;
-
-		IStructuredModel structuredModel = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			// Note: We are getting model for edit. Will save model if model
-			// changed.
-			structuredModel = StructuredModelManager.getModelManager().getExistingModelForEdit(document);
-
-			// cleanup
-			cleanupModel(structuredModel);
-
-			// save model if needed
-			if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded())
-				structuredModel.save();
-		} finally {
-			//ensureClosed(outputStream, null);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromEdit();
-		}
-	}
-
-	public void cleanupDocument(IDocument document, int start, int length) throws IOException, CoreException {
-		if (document == null)
-			return;
-
-		if (start >= 0 && length >= 0 && start + length <= document.getLength()) {
-			IStructuredModel structuredModel = null;
-			//OutputStream outputStream = null;
-			try {
-				// setup structuredModel
-				// Note: We are getting model for edit. Will save model if
-				// model changed.
-				structuredModel = StructuredModelManager.getModelManager().getExistingModelForEdit(document);
-
-				// cleanup
-				cleanupModel(structuredModel, start, length);
-
-				// save model if needed
-				if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded())
-					structuredModel.save();
-			} finally {
-				//ensureClosed(outputStream, null);
-				// release from model manager
-				if (structuredModel != null)
-					structuredModel.releaseFromEdit();
-			}
-		}
-	}
-
-	public void cleanupFile(IFile file) throws IOException, CoreException {
-		IStructuredModel structuredModel = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(file);
-
-			// cleanup
-			cleanupModel(structuredModel, 0, structuredModel.getStructuredDocument().getLength());
-
-			// save output to file
-			//outputStream = new
-			// FileOutputStream(file.getLocation().toString());
-			structuredModel.save(file);
-		} finally {
-			//ensureClosed(outputStream, null);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public void cleanupFile(IFile file, int start, int length) throws IOException, CoreException {
-		IStructuredModel structuredModel = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(file);
-
-			// cleanup
-			cleanupModel(structuredModel, start, length);
-
-			// save output to file
-			//outputStream = new
-			// FileOutputStream(file.getLocation().toString());
-			structuredModel.save(file);
-		} finally {
-			//ensureClosed(outputStream, null);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public void cleanupFileName(String fileName) throws IOException, CoreException {
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			inputStream = new FileInputStream(fileName);
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(fileName, inputStream, null);
-
-			// cleanup
-			cleanupModel(structuredModel, 0, structuredModel.getStructuredDocument().getLength());
-
-			// save output to file
-			//outputStream = new FileOutputStream(fileName);
-			structuredModel.save();
-		} finally {
-			//ensureClosed(outputStream, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public void cleanupFileName(String fileName, int start, int length) throws IOException, CoreException {
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			inputStream = new FileInputStream(fileName);
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(fileName, inputStream, null);
-
-			// cleanup
-			cleanupModel(structuredModel, start, length);
-
-			// save output to file
-			//outputStream = new FileOutputStream(fileName);
-			structuredModel.save();
-		} finally {
-			//ensureClosed(outputStream, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public void cleanupModel(IStructuredModel structuredModel) {
-
-		int start = 0;
-		int length = structuredModel.getStructuredDocument().getLength();
-		cleanupModel(structuredModel, start, length);
-	}
-
-	public void cleanupModel(IStructuredModel structuredModel, int start, int length) {
-
-		if (structuredModel != null) {
-			if ((start >= 0) && (length <= structuredModel.getStructuredDocument().getLength())) {
-				Vector activeNodes = getActiveNodes(structuredModel, start, length);
-				if (activeNodes.size() > 0) {
-					Node firstNode = (Node) activeNodes.firstElement();
-					Node lastNode = (Node) activeNodes.lastElement();
-					boolean done = false;
-					Node eachNode = firstNode;
-					Node nextNode = null;
-					while (!done) {
-						// update "done"
-						done = (eachNode == lastNode);
-
-						// get next sibling before cleanup because eachNode
-						// may
-						// be deleted,
-						// for example when it's an empty text node
-						nextNode = eachNode.getNextSibling();
-
-						// cleanup selected node(s)
-						cleanupNode(eachNode);
-
-						// update each node
-						if (nextNode != null && nextNode.getParentNode() == null)
-							// nextNode is deleted during cleanup
-							eachNode = eachNode.getNextSibling();
-						else
-							eachNode = nextNode;
-
-						// This should not be needed, but just in case
-						// something went wrong with with eachNode.
-						// We don't want an infinite loop here.
-						if (eachNode == null)
-							done = true;
-					}
-
-					// format source
-					if (getFormatSourcePreference(structuredModel)) {
-						// format the document
-						IStructuredFormatProcessor formatProcessor = getFormatProcessor();
-						formatProcessor.formatModel(structuredModel);
-					}
-
-					// convert EOL codes
-					if (getConvertEOLCodesPreference(structuredModel)) {
-						IDocument document = structuredModel.getStructuredDocument();
-						String endOfLineCode = getEOLCodePreference(structuredModel);
-						String endOfLineCodeString = null;
-						if (endOfLineCode.compareTo(CommonEncodingPreferenceNames.LF) == 0)
-							endOfLineCodeString = CommonEncodingPreferenceNames.STRING_LF;
-						else if (endOfLineCode.compareTo(CommonEncodingPreferenceNames.CR) == 0)
-							endOfLineCodeString = CommonEncodingPreferenceNames.STRING_CR;
-						else if (endOfLineCode.compareTo(CommonEncodingPreferenceNames.CRLF) == 0)
-							endOfLineCodeString = CommonEncodingPreferenceNames.STRING_CRLF;
-						if (endOfLineCodeString != null) {
-							convertLineDelimiters(document, endOfLineCodeString);
-							// DMW: 8/24/2002 setting line delimiter in
-							// document allows
-							// subsequent editing to insert the same line
-							// delimiter.
-							if (document instanceof IStructuredDocument) {
-								((IStructuredDocument) document).setLineDelimiter(endOfLineCodeString);
-							}
-							structuredModel.setDirtyState(true);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	public void cleanupNode(Node node) {
-		if (node != null) {
-			Node cleanupNode = node;
-
-			// cleanup the owner node if it's an attribute node
-			if (cleanupNode.getNodeType() == Node.ATTRIBUTE_NODE)
-				cleanupNode = ((Attr) cleanupNode).getOwnerElement();
-
-			// refresh cleanup preferences before getting cleanup handler
-			if (refreshCleanupPreferences)
-				refreshCleanupPreferences();
-
-			// get cleanup handler
-			IStructuredCleanupHandler cleanupHandler = getCleanupHandler(cleanupNode);
-			if (cleanupHandler != null) {
-				// cleanup each node
-				cleanupHandler.cleanup(cleanupNode);
-			}
-		}
-	}
-
-	protected void convertLineDelimiters(IDocument document, String newDelimiter) {
-		final int lineCount = document.getNumberOfLines();
-		Map partitioners = TextUtilities.removeDocumentPartitioners(document);		
-		try {
-			for (int i = 0; i < lineCount; i++) {
-				final String delimiter = document.getLineDelimiter(i);
-				if (delimiter != null && delimiter.length() > 0 && !delimiter.equals(newDelimiter)) {
-					IRegion region = document.getLineInformation(i);
-					document.replace(region.getOffset() + region.getLength(), delimiter.length(), newDelimiter);
-				}
-			}
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		} finally {
-			TextUtilities.addDocumentPartitioners(document, partitioners);
-		}
-	}
-
-	protected void ensureClosed(OutputStream outputStream, InputStream inputStream) {
-		try {
-			if (inputStream != null) {
-				inputStream.close();
-			}
-		} catch (IOException e) {
-			Logger.logException(e); // hopeless
-		}
-		try {
-			if (outputStream != null) {
-				outputStream.close();
-			}
-		} catch (IOException e) {
-			Logger.logException(e); // hopeless
-		}
-	}
-
-	protected Vector getActiveNodes(IStructuredModel structuredModel, int startNodeOffset, int length) {
-		Vector activeNodes = new Vector();
-
-		if (structuredModel != null) {
-			Node startNode = (Node) structuredModel.getIndexedRegion(startNodeOffset);
-			Node endNode = (Node) structuredModel.getIndexedRegion(startNodeOffset + length);
-
-			// make sure it's an non-empty document
-			if (startNode != null) {
-				while (isSiblingOf(startNode, endNode) == false) {
-					if (endNode != null)
-						endNode = endNode.getParentNode();
-					if (endNode == null) {
-						startNode = startNode.getParentNode();
-						endNode = (Node) structuredModel.getIndexedRegion(startNodeOffset + length);
-					}
-				}
-
-				while (startNode != endNode) {
-					activeNodes.addElement(startNode);
-					startNode = startNode.getNextSibling();
-				}
-				if (startNode != null)
-					activeNodes.addElement(startNode);
-			}
-		}
-
-		return activeNodes;
-	}
-
-	abstract protected IStructuredCleanupHandler getCleanupHandler(Node node);
-
-	abstract protected String getContentType();
-
-	protected boolean getConvertEOLCodesPreference(IStructuredModel structuredModel) {
-
-		boolean convertEOLCodes = true;
-		IStructuredCleanupHandler cleanupHandler = getCleanupHandler((Node) structuredModel.getIndexedRegion(0));
-		if (cleanupHandler != null) {
-			IStructuredCleanupPreferences cleanupPreferences = cleanupHandler.getCleanupPreferences();
-			convertEOLCodes = cleanupPreferences.getConvertEOLCodes();
-		}
-		return convertEOLCodes;
-	}
-
-	protected String getEOLCodePreference(IStructuredModel structuredModel) {
-
-		String eolCode = System.getProperty("line.separator"); //$NON-NLS-1$
-
-		IStructuredCleanupHandler cleanupHandler = getCleanupHandler((Node) structuredModel.getIndexedRegion(0));
-		if (cleanupHandler != null) {
-			IStructuredCleanupPreferences cleanupPreferences = cleanupHandler.getCleanupPreferences();
-			eolCode = cleanupPreferences.getEOLCode();
-		}
-		return eolCode;
-	}
-
-	abstract protected IStructuredFormatProcessor getFormatProcessor();
-
-	protected boolean getFormatSourcePreference(IStructuredModel structuredModel) {
-
-		boolean formatSource = true;
-		IStructuredCleanupHandler cleanupHandler = getCleanupHandler((Node) structuredModel.getIndexedRegion(0));
-		if (cleanupHandler != null) {
-			IStructuredCleanupPreferences cleanupPreferences = cleanupHandler.getCleanupPreferences();
-			formatSource = cleanupPreferences.getFormatSource();
-		}
-		return formatSource;
-	}
-
-	protected boolean isSiblingOf(Node node, Node endNode) {
-		if (endNode == null) {
-			return true;
-		} else {
-			Node siblingNode = node;
-			while (siblingNode != null) {
-				if (siblingNode == endNode)
-					return true;
-				else
-					siblingNode = siblingNode.getNextSibling();
-			}
-			return false;
-		}
-	}
-
-	abstract protected void refreshCleanupPreferences();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/CleanupProcessor.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/CleanupProcessor.java
deleted file mode 100644
index 6db0d68..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/CleanupProcessor.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.cleanup;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-
-/**
- * @deprecated renamed to IStructuredCleanupProcessor
- * 
- * TODO will delete in C5
- */
-public interface CleanupProcessor {
-	/**
-	 * This form of the CleanupProcessor takes an input string as input,
-	 * creates an InputStream from the input string, create a temporary model
-	 * of the content type specified, cleanups the whole model, then returns
-	 * the cleaned up input string.
-	 */
-	String cleanupContent(String content);
-
-	/**
-	 * This form of the CleanupProcessor takes an input string as input,
-	 * creates an InputStream from the input string, create a temporary model
-	 * of the content type specified, cleanups the model within start and
-	 * length, then returns the cleaned up input string.
-	 */
-	String cleanupContent(String content, int start, int length);
-
-	/**
-	 * This form of the CleanupProcessor takes an IFile as input, creates a
-	 * temporary model of content type calculated using the IFile's file
-	 * extension, cleanups the whole model, then releases the model. The IFile
-	 * is updated when the last reference of the model is released in the
-	 * model manager.
-	 */
-	void cleanupFile(IFile file);
-
-	/**
-	 * This form of the CleanupProcessor takes an IFile as input, creates a
-	 * temporary model of content type calculated using the IFile's file
-	 * extension, cleanups the model within start and length, then releases
-	 * the model. The IFile is updated when the last reference of the model is
-	 * released in the model manager.
-	 */
-	void cleanupFile(IFile file, int start, int length);
-
-	/**
-	 * This form of the CleanupProcessor takes a file name as input,creates an
-	 * InputStream from the file, create a temporary model of content type
-	 * calculated using the file name's file extension, cleanups the whole
-	 * model, then releases the model. The file is updated when the last
-	 * reference of the model is released in the model manager.
-	 */
-	void cleanupFileName(String fileName);
-
-	/**
-	 * This form of the CleanupProcessor takes a file name as input,creates an
-	 * InputStream from the file, create a temporary model of content type
-	 * calculated using the file name's file extension, cleanups the model
-	 * within start and length, then releases the model. The file is updated
-	 * when the last reference of the model is released in the model manager.
-	 */
-	void cleanupFileName(String fileName, int start, int length);
-
-	/**
-	 * This form of the CleanupProcessor takes a model as input, and cleanups
-	 * the whole model.
-	 */
-	void cleanupModel(IStructuredModel structuredModel);
-
-	/**
-	 * This form of the CleanupProcessor takes a model as input, and cleanups
-	 * the model within start and length.
-	 */
-	void cleanupModel(IStructuredModel structuredModel, int start, int length);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/IStructuredCleanupHandler.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/IStructuredCleanupHandler.java
deleted file mode 100644
index 6b80eec..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/IStructuredCleanupHandler.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.cleanup;
-
-import org.w3c.dom.Node;
-
-public interface IStructuredCleanupHandler {
-	Node cleanup(Node node);
-
-	IStructuredCleanupPreferences getCleanupPreferences();
-
-	void setCleanupPreferences(IStructuredCleanupPreferences cleanupPreferences);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/IStructuredCleanupPreferences.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/IStructuredCleanupPreferences.java
deleted file mode 100644
index 3581499..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/IStructuredCleanupPreferences.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.cleanup;
-
-import org.eclipse.core.runtime.Preferences;
-
-public interface IStructuredCleanupPreferences {
-
-	int getAttrNameCase();
-
-	boolean getCompressEmptyElementTags();
-
-	boolean getConvertEOLCodes();
-
-	String getEOLCode();
-
-	boolean getFormatSource();
-
-	boolean getInsertMissingTags();
-
-	boolean getInsertRequiredAttrs();
-
-	boolean getQuoteAttrValues();
-
-	int getTagNameCase();
-
-	void setAttrNameCase(int attrNameCase);
-
-	void setCompressEmptyElementTags(boolean compressEmptyElementTags);
-
-	void setConvertEOLCodes(boolean convertEOLCodes);
-
-	void setEOLCode(String EOLCode);
-
-	void setFormatSource(boolean formatSource);
-
-	void setInsertMissingTags(boolean insertMissingTags);
-
-	void setInsertRequiredAttrs(boolean insertRequiredAttrs);
-
-	void setPreferences(Preferences preferences);
-
-	void setQuoteAttrValues(boolean quoteAttrValues);
-
-	void setTagNameCase(int tagNameCase);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/IStructuredCleanupProcessor.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/IStructuredCleanupProcessor.java
deleted file mode 100644
index e7a5c95..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/IStructuredCleanupProcessor.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.cleanup;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.w3c.dom.Node;
-
-
-public interface IStructuredCleanupProcessor {
-	/**
-	 * This form of the CleanupProcessor takes an input string as input,
-	 * creates an InputStream from the input string, create a temporary model
-	 * of the content type specified, cleanups the whole model, then returns
-	 * the cleaned up input string.
-	 */
-	String cleanupContent(String content) throws IOException, CoreException;
-
-	/**
-	 * This form of the CleanupProcessor takes an input string as input,
-	 * creates an InputStream from the input string, create a temporary model
-	 * of the content type specified, cleanups the model within start and
-	 * length, then returns the cleaned up input string.
-	 */
-	String cleanupContent(String content, int start, int length) throws IOException, CoreException;
-
-	/**
-	 * This form of the CleanupProcessor takes an IDocument as input, creates
-	 * a temporary model of content type calculated using the IDocument's file
-	 * extension, cleanups the whole model, then releases the model.
-	 */
-	void cleanupDocument(IDocument document) throws IOException, CoreException;
-
-	/**
-	 * This form of the CleanupProcessor takes an IDocument as input, creates
-	 * a temporary model of content type calculated using the IDocument's file
-	 * extension, cleanups the model within start and length, then releases
-	 * the model.
-	 */
-	void cleanupDocument(IDocument document, int start, int length) throws IOException, CoreException;
-
-	/**
-	 * This form of the CleanupProcessor takes an IFile as input, creates a
-	 * temporary model of content type calculated using the IFile's file
-	 * extension, cleanups the whole model, then releases the model. The IFile
-	 * is updated when the last reference of the model is released in the
-	 * model manager.
-	 */
-	void cleanupFile(IFile file) throws IOException, CoreException;
-
-	/**
-	 * This form of the CleanupProcessor takes an IFile as input, creates a
-	 * temporary model of content type calculated using the IFile's file
-	 * extension, cleanups the model within start and length, then releases
-	 * the model. The IFile is updated when the last reference of the model is
-	 * released in the model manager.
-	 */
-	void cleanupFile(IFile file, int start, int length) throws IOException, CoreException;
-
-	/**
-	 * This form of the CleanupProcessor takes a file name as input,creates an
-	 * InputStream from the file, create a temporary model of content type
-	 * calculated using the file name's file extension, cleanups the whole
-	 * model, then releases the model. The file is updated when the last
-	 * reference of the model is released in the model manager.
-	 */
-	void cleanupFileName(String fileName) throws IOException, CoreException;
-
-	/**
-	 * This form of the CleanupProcessor takes a file name as input,creates an
-	 * InputStream from the file, create a temporary model of content type
-	 * calculated using the file name's file extension, cleanups the model
-	 * within start and length, then releases the model. The file is updated
-	 * when the last reference of the model is released in the model manager.
-	 */
-	void cleanupFileName(String fileName, int start, int length) throws IOException, CoreException;
-
-	/**
-	 * This form of the CleanupProcessor takes a model as input, and cleanups
-	 * the whole model.
-	 */
-	void cleanupModel(IStructuredModel structuredModel);
-
-	/**
-	 * This form of the CleanupProcessor takes a model as input, and cleanups
-	 * the model within start and length.
-	 */
-	void cleanupModel(IStructuredModel structuredModel, int start, int length);
-
-	/**
-	 * This form of the CleanupProcessor takes a node as input, and formats
-	 * the node and all its children.
-	 */
-	void cleanupNode(Node node);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/StructuredCleanupPreferences.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/StructuredCleanupPreferences.java
deleted file mode 100644
index b236b69..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/StructuredCleanupPreferences.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.cleanup;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-
-
-public class StructuredCleanupPreferences implements IStructuredCleanupPreferences {
-	private int fAttrNameCase;
-	private boolean fCompressEmptyElementTags;
-	private boolean fConvertEOLCodes;
-	private String fEOLCode;
-	private boolean fFormatSource;
-	private boolean fInsertMissingTags;
-	private boolean fInsertRequiredAttrs;
-	//private IPreferenceStore fPreferenceStore = null;
-	private Preferences fPreferences = null;
-	private boolean fQuoteAttrValues;
-
-	private int fTagNameCase;
-
-	public int getAttrNameCase() {
-
-		return fAttrNameCase;
-	}
-
-	public boolean getCompressEmptyElementTags() {
-
-		return fCompressEmptyElementTags;
-	}
-
-	public boolean getConvertEOLCodes() {
-
-		return fConvertEOLCodes;
-	}
-
-	public String getEOLCode() {
-
-		return fEOLCode;
-	}
-
-	public boolean getFormatSource() {
-
-		return fFormatSource;
-	}
-
-	public boolean getInsertMissingTags() {
-
-		return fInsertMissingTags;
-	}
-
-	public boolean getInsertRequiredAttrs() {
-
-		return fInsertRequiredAttrs;
-	}
-
-	public Preferences getPreferences() {
-
-		if (fPreferences == null) {
-			fPreferences = SSECorePlugin.getDefault().getPluginPreferences();
-		}
-		return fPreferences;
-	}
-
-	public boolean getQuoteAttrValues() {
-
-		return fQuoteAttrValues;
-	}
-
-	public int getTagNameCase() {
-
-		return fTagNameCase;
-	}
-
-	public void setAttrNameCase(int attrNameCase) {
-
-		fAttrNameCase = attrNameCase;
-	}
-
-	public void setCompressEmptyElementTags(boolean compressEmptyElementTags) {
-
-		fCompressEmptyElementTags = compressEmptyElementTags;
-	}
-
-	public void setConvertEOLCodes(boolean convertEOLCodes) {
-
-		fConvertEOLCodes = convertEOLCodes;
-	}
-
-	public void setEOLCode(String EOLCode) {
-
-		fEOLCode = EOLCode;
-	}
-
-	public void setFormatSource(boolean formatSource) {
-
-		fFormatSource = formatSource;
-	}
-
-	public void setInsertMissingTags(boolean insertMissingTags) {
-
-		fInsertMissingTags = insertMissingTags;
-	}
-
-	public void setInsertRequiredAttrs(boolean insertRequiredAttrs) {
-
-		fInsertRequiredAttrs = insertRequiredAttrs;
-	}
-
-	public void setPreferences(Preferences prefs) {
-
-		fPreferences = prefs;
-	}
-
-	public void setQuoteAttrValues(boolean quoteAttrValues) {
-
-		fQuoteAttrValues = quoteAttrValues;
-	}
-
-	public void setTagNameCase(int tagNameCase) {
-
-		fTagNameCase = tagNameCase;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/StructuredContentCleanupHandler.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/StructuredContentCleanupHandler.java
deleted file mode 100644
index f55b7d6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/StructuredContentCleanupHandler.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.cleanup;
-
-public interface StructuredContentCleanupHandler {
-
-	IStructuredCleanupProcessor getCleanupProcessor(String contentType);
-
-	void setCleanupProcessor(IStructuredCleanupProcessor cleanupProcessor, String contentType);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/StructuredContentCleanupHandlerImpl.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/StructuredContentCleanupHandlerImpl.java
deleted file mode 100644
index e9a7f5e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/cleanup/StructuredContentCleanupHandlerImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.cleanup;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.text.Assert;
-
-public class StructuredContentCleanupHandlerImpl implements StructuredContentCleanupHandler {
-	protected Map fCleanupProcessors;
-
-	/**
-	 * @see com.ibm.sed.partitionCleanup.StructuredContentCleanupHandler#getCleanupProcessor(java.lang.String)
-	 */
-	public IStructuredCleanupProcessor getCleanupProcessor(String contentType) {
-		Assert.isNotNull(contentType);
-
-		if (fCleanupProcessors == null)
-			return null;
-
-		return (IStructuredCleanupProcessor) fCleanupProcessors.get(contentType);
-	}
-
-	/**
-	 * @see com.ibm.sed.partitionCleanup.StructuredContentCleanupHandler#setCleanupProcessor(com.ibm.sed.partitionCleanup.CleanupProcessor,
-	 *      java.lang.String)
-	 */
-	public void setCleanupProcessor(IStructuredCleanupProcessor cleanupProcessor, String contentType) {
-		Assert.isNotNull(contentType);
-
-		if (fCleanupProcessors == null)
-			fCleanupProcessors = new HashMap();
-
-		if (fCleanupProcessors == null)
-			fCleanupProcessors.remove(contentType);
-		else
-			fCleanupProcessors.put(contentType, cleanupProcessor);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/CMDocType.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/CMDocType.java
deleted file mode 100644
index 07bd3ab..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/CMDocType.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.contentmodel;
-
-
-public interface CMDocType {
-	public final static String CHTML_DOC_TYPE = "CHTML";//$NON-NLS-1$
-	public final static String HTML_DOC_TYPE = "HTML";//$NON-NLS-1$
-	public final static String JSP11_DOC_TYPE = "JSP11";//$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/CMDocumentTracker.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/CMDocumentTracker.java
deleted file mode 100644
index 8b862bb..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/CMDocumentTracker.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-/**
- * Position dependent CMDocument tracker. A tracker matches a
- * IStructuredDocumentRegion with a CMDocument that it enables allowing for
- * position-dependent content models
- */
-public interface CMDocumentTracker {
-
-	CMDocument getDocument();
-
-	IStructuredDocumentRegion getStructuredDocumentRegion();
-}
-
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/CMNodeWrapper.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/CMNodeWrapper.java
deleted file mode 100644
index 1e36639..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/CMNodeWrapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-public interface CMNodeWrapper extends CMNode {
-	CMNode getOriginNode();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/ContentModelAdapter.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/ContentModelAdapter.java
deleted file mode 100644
index f8b968b..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/ContentModelAdapter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.contentmodel;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-/**
- * ContentModelAdapter interface
- */
-public interface ContentModelAdapter extends org.eclipse.wst.sse.core.INodeAdapter {
-
-	/**
-	 * getCMDocument method
-	 * 
-	 * @return CMDocument
-	 * @param notifer
-	 *            com.ibm.sed.model.INodeNotifier
-	 * 
-	 * Returns CMDocument associated to the adapting node. For exampl : HTML
-	 * CMDocument is associated to HTML Document node, DTD CMDocument is
-	 * associated to DocumentType node, DTD/Schema CMDocument is associated to
-	 * Element node (sometime with namespace), and taglib CMDocument is
-	 * associated to taglib directive Element node.
-	 * 
-	 * INodeNotifier is passed for stateless (singleton) INodeAdapter
-	 * implementation.
-	 */
-	CMDocument getCMDocument(org.eclipse.wst.sse.core.INodeNotifier notifier);
-
-	/**
-	 * getDeclaration method
-	 * 
-	 * @return CMNode
-	 * @param notifer
-	 *            com.ibm.sed.model.INodeNotifier
-	 * 
-	 * Returns ElementDefinition or AttributeDefinition for the adapting node.
-	 * 
-	 * INodeNotifier is passed for stateless (singleton) INodeAdapter
-	 * implementation.
-	 */
-	CMNode getDeclaration(org.eclipse.wst.sse.core.INodeNotifier notifier);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/NullContentModel.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/NullContentModel.java
deleted file mode 100644
index 9a72bf5..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contentmodel/NullContentModel.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.contentmodel;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNamespace;
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-
-/**
- * This class can be used to intialize specific variables that need a content
- * model, until the true content model is available. This prevents having to
- * do lots of null checks.
- */
-public class NullContentModel implements CMDocument {
-
-	private static class NullCMNamedNodeMap implements CMNamedNodeMap {
-		public int getLength() {
-			return 0;
-		}
-
-		public CMNode getNamedItem(String name) {
-			return null;
-		}
-
-		public CMNode item(int index) {
-			return null;
-		}
-
-		public Iterator iterator() {
-			return new NullIterator();
-		}
-
-	}
-
-	private static class NullIterator implements Iterator {
-		public NullIterator() {
-		}
-
-		public boolean hasNext() {
-			return false;
-		}
-
-		public Object next() {
-			throw new NoSuchElementException();
-		}
-
-		public void remove() {
-			throw new UnsupportedOperationException("can not remove regions via iterator"); //$NON-NLS-1$
-
-		}
-
-	}
-
-	public NullContentModel() {
-		super();
-	}
-
-	public CMNamedNodeMap getElements() {
-		return new NullCMNamedNodeMap();
-	}
-
-	public CMNamedNodeMap getEntities() {
-		return new NullCMNamedNodeMap();
-	}
-
-	public CMNamespace getNamespace() {
-		return null;
-	}
-
-	public String getNodeName() {
-		return null;
-	}
-
-	public int getNodeType() {
-		return 0;
-	}
-
-	public Object getProperty(String propertyName) {
-		return null;
-	}
-
-	public boolean supports(String propertyName) {
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contenttype/ContentTypeIdForCSS.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contenttype/ContentTypeIdForCSS.java
deleted file mode 100644
index 03e02cb..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/contenttype/ContentTypeIdForCSS.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.sse.core.contenttype;
-
-/**
- * This class, with its one field, is a convience to provide compile-time
- * safety when refering to a contentType ID. The value of the contenttype id
- * field must match what is specified in plugin.xml file.
- */
-
-public class ContentTypeIdForCSS {
-	/**
-	 * The value of the contenttype id field must match what is specified in
-	 * plugin.xml file. Note: this value is intentially not declared as final,
-	 * so it will not be inlined.
-	 */
-	public static String ContentTypeID_CSS = "org.eclipse.wst.css.core.csssource"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/AbstractDocumentLoader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/AbstractDocumentLoader.java
deleted file mode 100644
index 87997df..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/AbstractDocumentLoader.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.document;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.CodedReaderCreator;
-import org.eclipse.wst.common.encoding.ContentTypeEncodingPreferences;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.common.encoding.exceptions.MalformedInputExceptionWithDetail;
-import org.eclipse.wst.sse.core.internal.document.NullStructuredDocumentPartitioner;
-import org.eclipse.wst.sse.core.internal.document.TextUtilities;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-
-/**
- * This class reads a file and creates an Structured Model.
- */
-public abstract class AbstractDocumentLoader implements IDocumentLoader {
-
-	private CodedReaderCreator fCodedReaderCreator;
-	protected IDocumentCharsetDetector fDocumentEncodingDetector;
-	//private boolean fPropertiesObtained;
-
-	protected EncodingMemento fEncodingMemento;
-	protected Reader fFullPreparedReader;
-
-	/**
-	 * AbstractLoader constructor also initializes encoding converter/mapper
-	 */
-	public AbstractDocumentLoader() {
-		super();
-	}
-
-	protected final StringBuffer convertLineDelimiters(StringBuffer allTextBuffer, String lineDelimiterToUse) {
-		// TODO: avoid use of String instance
-		String allText = allTextBuffer.toString();
-		IDocument tempDoc = new Document(allText);
-		if (lineDelimiterToUse == null)
-			lineDelimiterToUse = System.getProperty("line.separator"); //$NON-NLS-1$
-		StringBuffer newText = new StringBuffer();
-		int lineCount = tempDoc.getNumberOfLines();
-		for (int i = 0; i < lineCount; i++) {
-			try {
-				org.eclipse.jface.text.IRegion lineInfo = tempDoc.getLineInformation(i);
-				int lineStartOffset = lineInfo.getOffset();
-				int lineLength = lineInfo.getLength();
-				int lineEndOffset = lineStartOffset + lineLength;
-				newText.append(allText.substring(lineStartOffset, lineEndOffset));
-				if ((i < lineCount - 1) && (tempDoc.getLineDelimiter(i) != null))
-					newText.append(lineDelimiterToUse);
-			} catch (org.eclipse.jface.text.BadLocationException exception) {
-				// should fix up to either throw nothing, or the right thing,
-				// but
-				// in the course of refactoring, this was easiest "quick fix".
-				throw new RuntimeException(exception);
-			}
-		}
-		return newText;
-	}
-
-	/**
-	 * This method must return a new instance of IEncodedDocument, that has
-	 * been initialized with appropriate parser. For many loaders, the
-	 * (default) parser used is known for any input. For others, the correct
-	 * parser (and its initialization) is normally dependent on the content of
-	 * the file. This no-argument method should assume "empty input" and would
-	 * therefore return the default parser for the default contentType.
-	 */
-	public IEncodedDocument createNewStructuredDocument() {
-		IEncodedDocument structuredDocument = newEncodedDocument();
-		// Make sure every structuredDocument has an Encoding Memento,
-		// which is the default one for "empty" structuredDocuments
-		String charset = ContentTypeEncodingPreferences.useDefaultNameRules(getDocumentEncodingDetector());
-		String specDefaultCharset = getDocumentEncodingDetector().getSpecDefaultEncoding();
-		structuredDocument.setEncodingMemento(CodedIO.createEncodingMemento(charset, EncodingMemento.DEFAULTS_ASSUMED_FOR_EMPTY_INPUT, specDefaultCharset));
-
-		IDocumentPartitioner defaultPartitioner = getDefaultDocumentPartitioner();
-		if (structuredDocument instanceof IDocumentExtension3) {
-			((IDocumentExtension3) structuredDocument).setDocumentPartitioner(IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING, defaultPartitioner);
-		}
-		else {
-			structuredDocument.setDocumentPartitioner(defaultPartitioner);
-		}
-		defaultPartitioner.connect(structuredDocument);
-		
-		return structuredDocument;
-	}
-
-	/**
-	 * This abstract version should handle most cases, but won't if
-	 * contentType is sensitive to encoding, and/or embedded types
-	 */
-	public IEncodedDocument createNewStructuredDocument(IFile iFile) throws IOException, CoreException {
-		IEncodedDocument structuredDocument = createNewStructuredDocument();
-		try {
-
-			CodedReaderCreator creator = getCodedReaderCreator();
-			creator.set(iFile);
-			fEncodingMemento = creator.getEncodingMemento();
-			structuredDocument.setEncodingMemento(fEncodingMemento);
-			fFullPreparedReader = getCodedReaderCreator().getCodedReader();
-
-			setDocumentContentsFromReader(structuredDocument, fFullPreparedReader);
-		} finally {
-			if (fFullPreparedReader != null) {
-				fFullPreparedReader.close();
-			}
-		}
-		return structuredDocument;
-	}
-
-	public IEncodedDocument createNewStructuredDocument(Reader reader) throws UnsupportedEncodingException, IOException {
-		IEncodedDocument structuredDocument = createNewStructuredDocument();
-		StringBuffer allText = readInputStream(fFullPreparedReader);
-		structuredDocument.set(allText.toString());
-		return structuredDocument;
-	}
-
-	public IEncodedDocument createNewStructuredDocument(String filename, InputStream inputStream) throws UnsupportedEncodingException, IOException {
-		return createNewStructuredDocument(filename, inputStream, EncodingRule.CONTENT_BASED);
-	}
-
-	public IEncodedDocument createNewStructuredDocument(String filename, InputStream inputStream, EncodingRule encodingRule) throws UnsupportedEncodingException, IOException {
-		if (filename == null && inputStream == null) {
-			throw new IllegalArgumentException("can not have both null filename and inputstream"); //$NON-NLS-1$
-		}
-		IEncodedDocument structuredDocument = createNewStructuredDocument();
-		CodedReaderCreator codedReaderCreator = getCodedReaderCreator();
-		try {
-			codedReaderCreator.set(filename, inputStream);
-			codedReaderCreator.setEncodingRule(encodingRule);
-			fEncodingMemento = codedReaderCreator.getEncodingMemento();
-			fFullPreparedReader = codedReaderCreator.getCodedReader();
-			structuredDocument.setEncodingMemento(fEncodingMemento);
-			setDocumentContentsFromReader(structuredDocument, fFullPreparedReader);
-		} catch (CoreException e) {
-			// impossible in this context
-			throw new Error(e);
-		} finally {
-			if (fFullPreparedReader != null) {
-				fFullPreparedReader.close();
-			}
-		}
-
-		return structuredDocument;
-	}
-
-	private int getCharPostionOfFailure(BufferedReader inputStream) {
-		int charPosition = 1;
-		int charRead = -1;
-		boolean errorFound = false;
-		do {
-			try {
-				charRead = inputStream.read();
-				charPosition++;
-			} catch (IOException e) {
-				// this is expected, since we're expecting failure,
-				// so no need to do anything.
-				errorFound = true;
-				break;
-			}
-		} while (!(charRead == -1 || errorFound));
-
-		if (errorFound)
-			// dmw, blindly modified to +1 to get unit tests to work, moving
-			// from Java 1.3, to 1.4
-			// not sure how/why this behavior would have changed. (Its as if
-			// 'read' is reporting error
-			// one character early).
-			return charPosition + 1;
-		else
-			return -1;
-	}
-
-	/**
-	 * @return Returns the codedReaderCreator.
-	 */
-	protected CodedReaderCreator getCodedReaderCreator() {
-		if (fCodedReaderCreator == null) {
-			fCodedReaderCreator = new CodedReaderCreator();
-		}
-		return fCodedReaderCreator;
-	}
-
-	/**
-	 * Method getDefaultDocumentPartitioner.
-	 * 
-	 * @return IDocumentPartitioner
-	 */
-	public IDocumentPartitioner getDefaultDocumentPartitioner() {
-		// be default, we'll provide XML (though could be NOOP?
-		// 7/2003 .... changed during re-org ... to be Null instead of XML,
-		// so there would be no minor dependancies from higher plugins.
-		return new NullStructuredDocumentPartitioner();
-	}
-
-	/**
-	 * Returns the encodingMemento.
-	 * 
-	 * @return EncodingMemento
-	 */
-	public EncodingMemento getEncodingMemento() {
-		if (fEncodingMemento == null) {
-			throw new IllegalStateException("Program Error: encodingMemento was accessed before it was set"); //$NON-NLS-1$
-		}
-		return fEncodingMemento;
-	}
-
-	/**
-	 * @return Returns the fullPreparedReader.
-	 */
-	protected Reader getFullPreparedReader() throws UnsupportedEncodingException, CoreException, IOException {
-		if (fFullPreparedReader == null) {
-			fFullPreparedReader = getCodedReaderCreator().getCodedReader();
-		}
-		return fFullPreparedReader;
-	}
-
-	/**
-	 * If subclass doesn't implement, return null
-	 */
-	protected String getPreferredNewLineDelimiter() {
-		return null;
-	}
-
-	/**
-	 * A utility method, but depends on subclasses to impliment the preferred
-	 * end of line for a particular content type. Note: subclasses should not
-	 * re-implement this method (there's no reason to, even though its part of
-	 * interface). This method not only converts end-of-line characters, if
-	 * needed, but sets the correct end-of-line delimiter in
-	 * structuredDocument. Minor note: can't use this exact method in dumpers,
-	 * since the decision to change or not is a little different, and since
-	 * there we have to change text of structuredDocument if found to need
-	 * conversion. (Where as for loading, we assume we haven't yet set text in
-	 * structuredDocument, but will be done by other method just a tiny biy
-	 * later). Needs to be public to handle interface. It is in the interface
-	 * just so ModelManagerImpl can use it in a special circumstance.
-	 */
-	public StringBuffer handleLineDelimiter(StringBuffer originalString, IEncodedDocument theFlatModel) {
-		// TODO: need to handle line delimiters so Marker Positions are
-		// updated
-		StringBuffer convertedText = null;
-		// based on text, make a guess on what's being used as
-		// line delimiter
-		String probableLineDelimiter = TextUtilities.determineLineDelimiter(originalString, theFlatModel.getLegalLineDelimiters(), System.getProperty("line.separator")); //$NON-NLS-1$
-		String preferredLineDelimiter = getPreferredNewLineDelimiter();
-		if (preferredLineDelimiter == null) {
-			// when preferredLineDelimiter is null, it means "leave alone"
-			// so no conversion needed.
-			// set here, only if null (should already be set, but if not,
-			// we'll set so any subsequent editing inserts what we're
-			// assuming)
-			if (!theFlatModel.getLineDelimiter().equals(probableLineDelimiter)) {
-				theFlatModel.setLineDelimiter(probableLineDelimiter);
-			}
-			convertedText = originalString;
-		} else {
-			if (!preferredLineDelimiter.equals(probableLineDelimiter)) {
-				// technically, wouldn't have to convert line delimiters
-				// here at beginning, but when we save, if the preferred
-				// line delimter is "leave alone" then we do leave alone,
-				// so best to be right from beginning.
-				convertedText = convertLineDelimiters(originalString, preferredLineDelimiter);
-				theFlatModel.setLineDelimiter(preferredLineDelimiter);
-			} else {
-				// they are already the same, no conversion needed
-				theFlatModel.setLineDelimiter(preferredLineDelimiter);
-				convertedText = originalString;
-			}
-		}
-		return convertedText;
-	}
-
-	protected abstract IEncodedDocument newEncodedDocument();
-
-	/**
-	 * Very mechanical method, just to read the characters, once the reader is
-	 * correctly created. Can throw MalFormedInputException.
-	 */
-	private StringBuffer readInputStream(Reader reader) throws IOException {
-
-		int fBlocksRead = 0;
-		StringBuffer buffer = new StringBuffer();
-		int numRead = 0;
-		try {
-			char tBuff[] = new char[CodedIO.MAX_BUF_SIZE];
-			while (numRead != -1) {
-				numRead = reader.read(tBuff, 0, tBuff.length);
-				if (numRead > 0) {
-					buffer.append(tBuff, 0, numRead);
-					fBlocksRead++;
-				}
-			}
-		} catch (MalformedInputException e) {
-			throw new MalformedInputExceptionWithDetail(fEncodingMemento.getJavaCharsetName(), fBlocksRead * CodedIO.MAX_BUF_SIZE + numRead + e.getInputLength());
-		} catch (UnmappableCharacterException e) {
-			throw new MalformedInputExceptionWithDetail(fEncodingMemento.getJavaCharsetName(), fBlocksRead * CodedIO.MAX_BUF_SIZE + numRead + e.getInputLength());
-
-		}
-		return buffer;
-	}
-
-	public void reload(IEncodedDocument encodedDocument, Reader inputStreamReader) throws IOException {
-		if (inputStreamReader == null) {
-			throw new IllegalArgumentException("stream reader can not be null"); //$NON-NLS-1$
-		}
-		int READ_BUFFER_SIZE = 8192;
-		int MAX_BUFFERED_SIZE_FOR_RESET_MARK = 200000;
-		// temp .... eventually we'lll only read as needed
-		BufferedReader bufferedReader = new BufferedReader(inputStreamReader, MAX_BUFFERED_SIZE_FOR_RESET_MARK);
-		bufferedReader.mark(MAX_BUFFERED_SIZE_FOR_RESET_MARK);
-		StringBuffer buffer = new StringBuffer();
-		try {
-			int numRead = 0;
-			char tBuff[] = new char[READ_BUFFER_SIZE];
-			while ((numRead = bufferedReader.read(tBuff, 0, tBuff.length)) != -1) {
-				buffer.append(tBuff, 0, numRead);
-			}
-			// remember -- we didn't open stream ... so we don't close it
-		} catch (MalformedInputException e) {
-//			int pos = e.getInputLength();
-			EncodingMemento localEncodingMemento = getEncodingMemento();
-			boolean couldReset = true;
-			String encodingNameInError = localEncodingMemento.getJavaCharsetName();
-			if (encodingNameInError == null) {
-				encodingNameInError = localEncodingMemento.getDetectedCharsetName();
-			}
-			try {
-				bufferedReader.reset();
-			} catch (IOException resetException) {
-				// the only errro that can occur during reset is an
-				// IOException
-				// due to already being past the rest mark. In that case, we
-				// throw more generic message
-				couldReset = false;
-			}
-			// -1 can be used by UI layer as a code that "position could not
-			// be
-			// determined"
-			int charPostion = -1;
-			if (couldReset) {
-
-				charPostion = getCharPostionOfFailure(bufferedReader);
-				//getCharPostionOfFailure(new InputStreamReader(inStream,
-				// javaEncodingNameInError));
-			}
-			// all of that just to throw more accurate error
-			// note: we do the conversion to ianaName, instead of using the
-			// local
-			// variable,
-			// because this is ultimately only for the user error message
-			// (that
-			// is,
-			// the error occurred
-			// in context of javaEncodingName no matter what ianaEncodingName
-			// is
-			throw new MalformedInputExceptionWithDetail(encodingNameInError, CodedIO.getAppropriateJavaCharset(encodingNameInError), charPostion, !couldReset, MAX_BUFFERED_SIZE_FOR_RESET_MARK);
-		}
-		StringBuffer stringbuffer = buffer;
-		encodedDocument.set(stringbuffer.toString());
-
-	}
-
-	protected void setDocumentContentsFromReader(IEncodedDocument structuredDocument, Reader reader) throws IOException {
-
-		StringBuffer allText = readInputStream(reader);
-		structuredDocument.set(allText.toString());
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/DocumentReader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/DocumentReader.java
deleted file mode 100644
index 75071b5..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/DocumentReader.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.document;
-
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.jface.text.IDocument;
-
-/**
- * A java.io.Reader that can operate off of an IDocument.
- */
-public class DocumentReader extends Reader {
-	private IDocument fDocument = null;
-	private int mark = 0;
-	private int position = 0;
-
-	public DocumentReader() {
-		super();
-	}
-
-	public DocumentReader(IDocument document) {
-		this(document, 0);
-	}
-
-	public DocumentReader(IDocument document, int initialPosition) {
-		super();
-		fDocument = document;
-		position = initialPosition;
-	}
-
-	public void close() throws IOException {
-		// do nothing
-	}
-
-	/**
-	 * @return
-	 */
-	public IDocument getDocument() {
-		return fDocument;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.Reader#mark(int)
-	 */
-	public void mark(int readAheadLimit) throws IOException {
-		mark = position;
-	}
-
-	public boolean markSupported() {
-		return true;
-	}
-
-	public int read(char[] cbuf, int off, int len) throws IOException {
-		char[] readChars = null;
-		try {
-			if (position >= fDocument.getLength())
-				return -1;
-			// the IDocument is likely using a GapTextStore, so we can't
-			// retrieve a char[] directly
-			if (position + len > fDocument.getLength())
-				readChars = fDocument.get(position, fDocument.getLength() - position).toCharArray();
-			else
-				readChars = fDocument.get(position, len).toCharArray();
-			System.arraycopy(readChars, 0, cbuf, off, readChars.length);
-			//				System.out.println("" + position + ":" + readChars.length + " "
-			// + StringUtils.escape(new String(readChars)));
-			position += readChars.length;
-			return readChars.length;
-		} catch (Exception e) {
-			throw new IOException("Exception while reading from IDocument: " + e); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.Reader#reset()
-	 */
-	public void reset() throws IOException {
-		position = mark;
-	}
-
-	public void reset(IDocument document, int initialPosition) {
-		fDocument = document;
-		position = initialPosition;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.Reader#reset()
-	 */
-	public void reset(int pos) throws IOException {
-		position = pos;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.Reader#skip(long)
-	 */
-	public long skip(long n) throws IOException {
-		long skipped = n;
-		if (position + n > fDocument.getLength()) {
-			skipped = fDocument.getLength() - position;
-			position = fDocument.getLength();
-		} else {
-			position += n;
-		}
-		return skipped;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IDocumentCharsetDetector.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IDocumentCharsetDetector.java
deleted file mode 100644
index fcd1ce6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IDocumentCharsetDetector.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.document;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-
-
-public interface IDocumentCharsetDetector extends IResourceCharsetDetector {
-	void set(IDocument document);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IDocumentLoader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IDocumentLoader.java
deleted file mode 100644
index 3d73a04..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IDocumentLoader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.document;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.common.encoding.EncodingRule;
-
-
-public interface IDocumentLoader {
-
-	IEncodedDocument createNewStructuredDocument();
-
-	/**
-	 * This API is like createNewStructuredDocument, except it should populate
-	 * the structuredDocument with the contents of IFile. Also, those
-	 * StructuredDocuments which are sensitive to the input (that is, the
-	 * parser or parser initialization my require the input) should
-	 * additionally initialize the parser, etc., appropriate to the input.
-	 * 
-	 * As always, the appropriate decoding should be used.
-	 */
-	IEncodedDocument createNewStructuredDocument(IFile iFile) throws java.io.IOException, CoreException;
-
-	IEncodedDocument createNewStructuredDocument(Reader reader) throws UnsupportedEncodingException, IOException;
-
-	/**
-	 * This method must return a new instance of IEncodedDocument, that has
-	 * been initialized with appropriate parser. For many loaders, the
-	 * (default) parser used is known for any input. For others, the correct
-	 * parser (and its initialization) is normally dependent on the content of
-	 * the file. This no-argument method should assume "empty input" and would
-	 * therefore return the default parser for the default contentType.
-	 */
-	IEncodedDocument createNewStructuredDocument(String filename, InputStream istream) throws java.io.IOException;
-
-	IEncodedDocument createNewStructuredDocument(String filename, InputStream istream, EncodingRule encodingRule) throws java.io.IOException;
-
-	IDocumentPartitioner getDefaultDocumentPartitioner();
-
-	IDocumentCharsetDetector getDocumentEncodingDetector();
-
-	/**
-	 * A utility method, but depends on subclasses to impliment the preferred
-	 * end of line for a particular content type. Note: subclasses should not
-	 * re-implement this method (there's no reason to, even though its part of
-	 * interface). This method not only converts end-of-line characters, if
-	 * needed, but sets the correct end-of-line delimiter in
-	 * structuredDocument. The returned value is either the original string,
-	 * if no conversion is needed, or a new string with end-of-lines
-	 * converted.
-	 */
-	StringBuffer handleLineDelimiter(StringBuffer originalString, IEncodedDocument theStructuredDocument);
-
-	void reload(IEncodedDocument document, Reader reader) throws IOException;
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IDocumentLoaderForFileBuffers.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IDocumentLoaderForFileBuffers.java
deleted file mode 100644
index 1eff6e2..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IDocumentLoaderForFileBuffers.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.document;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-public interface IDocumentLoaderForFileBuffers extends IDocumentLoader {
-
-	IEncodedDocument createNewStructuredDocument(IFile iFile, IProgressMonitor monitor) throws IOException, CoreException;
-
-
-	void release(IFile iFile, IProgressMonitor monitor) throws CoreException;
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IEncodedDocument.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IEncodedDocument.java
deleted file mode 100644
index 95da1bb..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IEncodedDocument.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.document;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-
-
-
-
-public interface IEncodedDocument extends IDocument {
-
-	EncodingMemento getEncodingMemento();
-
-	String getLineDelimiter();
-
-	void setEncodingMemento(EncodingMemento localEncodingMemento);
-
-	void setLineDelimiter(String probableLineDelimiter);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IExecutionDelegate.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IExecutionDelegate.java
deleted file mode 100644
index c18fe9b..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/IExecutionDelegate.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.eclipse.wst.sse.core.document;
-
-
-public interface IExecutionDelegate {
-
-	void execute(Runnable runnable);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/ILockable.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/ILockable.java
deleted file mode 100644
index 01957b5..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/ILockable.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.eclipse.wst.sse.core.document;
-
-import org.eclipse.core.runtime.jobs.ILock;
-
-/**
- * 
- * Not API: not to be used or implemented by clients. This is a special
- * purpose interface to help guard some threading issues betweeen model and
- * document. Will be changed soon.
- *  
- */
-
-public interface ILockable {
-
-	ILock getLockObject();
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/StructuredDocumentFactory.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/StructuredDocumentFactory.java
deleted file mode 100644
index 437512e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/StructuredDocumentFactory.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.document;
-
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-/**
- * At the moment, this is primarily intended as a convenience to help switch
- * between various types of threading models in the document, all in a central
- * piece of code.
- */
-public class StructuredDocumentFactory {
-	public static final int WRITE_SYNCHRONIZED = 3;
-	public static final int DEFAULT = WRITE_SYNCHRONIZED;
-	public static final int UNSYNCHRONIZED = 1;
-
-	public static IStructuredDocument getNewStructuredDocumentInstance() {
-		// be default, use thread safe one
-		return getNewStructuredDocumentInstance(DEFAULT);
-	}
-
-	public static IStructuredDocument getNewStructuredDocumentInstance(int type) {
-		IStructuredDocument result = null;
-		switch (type) {
-			case UNSYNCHRONIZED :
-				result = new BasicStructuredDocument();
-				break;
-
-			case WRITE_SYNCHRONIZED :
-				result = new JobSafeStructuredDocument();
-				break;
-
-			default :
-				throw new IllegalArgumentException("request document type was not known");
-
-		}
-		return result;
-	}
-
-	public static IStructuredDocument getNewStructuredDocumentInstance(int type, RegionParser parser) {
-		IStructuredDocument result = null;
-		switch (type) {
-			case UNSYNCHRONIZED :
-				result = new BasicStructuredDocument(parser);
-				break;
-			case WRITE_SYNCHRONIZED :
-				result = new JobSafeStructuredDocument(parser);
-				break;
-
-			default :
-				throw new IllegalArgumentException("request document type was not known");
-
-		}
-		return result;
-	}
-
-	public static IStructuredDocument getNewStructuredDocumentInstance(RegionParser parser) {
-		// be default, use thread safe one
-		return getNewStructuredDocumentInstance(DEFAULT, parser);
-	}
-
-	/**
-	 * Not intended to be instantiated
-	 *  
-	 */
-	protected StructuredDocumentFactory() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/StructuredDocumentLoader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/StructuredDocumentLoader.java
deleted file mode 100644
index 25e5a73..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/document/StructuredDocumentLoader.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.eclipse.wst.sse.core.document;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.nio.charset.MalformedInputException;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.IContentDescriptionExtended;
-import org.eclipse.wst.common.encoding.exceptions.MalformedInputExceptionWithDetail;
-
-
-public class StructuredDocumentLoader {
-
-	private ITextFileBufferManager fBufferManager;
-
-	/**
-	 * @see org.eclipse.wst.sse.core.document.IDocumentLoader#createNewStructuredDocument(org.eclipse.core.resources.IFile)
-	 * @deprecated - use form with progress monitor
-	 */
-	public IEncodedDocument createNewStructuredDocument(IFile iFile) throws IOException, CoreException {
-		return createNewStructuredDocument(iFile, null);
-	}
-
-	public IEncodedDocument createNewStructuredDocument(IFile iFile, IProgressMonitor monitor) throws IOException, CoreException {
-		IDocument document = null;
-		IPath locationPath = iFile.getFullPath();
-
-		if (iFile.exists()) {
-
-			getBufferManager().connect(locationPath, monitor);
-			ITextFileBuffer buffer = getBufferManager().getTextFileBuffer(locationPath);
-			document = buffer.getDocument();
-		} else {
-			document = getBufferManager().createEmptyDocument(locationPath);
-		}
-
-		return (IEncodedDocument) document;
-	}
-
-	public IEncodedDocument createNewStructuredDocument(IPath locationPath, IProgressMonitor monitor) throws IOException, CoreException {
-		IDocument document = null;
-		File file = null;
-		file = FileBuffers.getSystemFileAtLocation(locationPath);
-		if (file.exists()) {
-			getBufferManager().connect(locationPath, monitor);
-			ITextFileBuffer buffer = getBufferManager().getTextFileBuffer(locationPath);
-			document = buffer.getDocument();
-		} else {
-			document = getBufferManager().createEmptyDocument(locationPath);
-		}
-		return (IEncodedDocument) document;
-	}
-
-	/**
-	 * @return
-	 */
-	protected ITextFileBufferManager getBufferManager() {
-		if (fBufferManager == null) {
-			fBufferManager = FileBuffers.getTextFileBufferManager();
-		}
-		return fBufferManager;
-	}
-
-	private String getCharset(Reader reader) throws IOException {
-		String result = null;
-		IContentDescription description = Platform.getContentTypeManager().getDescriptionFor(reader, null, new QualifiedName[]{IContentDescription.CHARSET, IContentDescriptionExtended.DETECTED_CHARSET});
-		String javaCharset = (String) description.getProperty(IContentDescription.CHARSET);
-		String detectedCharset = (String) description.getProperty(IContentDescriptionExtended.DETECTED_CHARSET);
-		if (javaCharset != null) {
-			result = javaCharset;
-		} else {
-			result = detectedCharset;
-		}
-		return result;
-	}
-
-	/**
-	 * Very mechanical method, just to read the characters, once the reader is
-	 * correctly created. Can throw MalFormedInputException.
-	 */
-	protected StringBuffer readInputStream(Reader reader) throws IOException {
-
-		int fBlocksRead = 0;
-		StringBuffer buffer = new StringBuffer();
-		int numRead = 0;
-		try {
-			char tBuff[] = new char[CodedIO.MAX_BUF_SIZE];
-			while ((numRead = reader.read(tBuff, 0, tBuff.length)) != -1) {
-				buffer.append(tBuff, 0, numRead);
-				fBlocksRead++;
-			}
-		} catch (MalformedInputException e) {
-			String charset = getCharset(reader);
-			throw new MalformedInputExceptionWithDetail(charset, fBlocksRead * CodedIO.MAX_BUF_SIZE + e.getInputLength());
-		}
-		return buffer;
-	}
-
-	public void release(IFile iFile, IProgressMonitor monitor) throws CoreException {
-		IPath locationPath = iFile.getFullPath();
-		getBufferManager().disconnect(locationPath, monitor);
-
-	}
-
-	public void reload(IEncodedDocument document, Reader reader) throws IOException {
-		setDocumentContentsFromReader(document, reader);
-
-	}
-
-	protected void setDocumentContentsFromReader(IEncodedDocument structuredDocument, Reader reader) throws IOException {
-
-		StringBuffer allText = readInputStream(reader);
-		structuredDocument.set(allText.toString());
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/AboutToBeChangeEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/AboutToBeChangeEvent.java
deleted file mode 100644
index ad41aa5..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/AboutToBeChangeEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-/**
- * This event is send to "StructuredDocumentAboutToChange listners". Its
- * perfectly analagous to the jface DocumentEvent and is provided simply to
- * allow clients to take a pure model point of view, instead of using the
- * document event.
- */
-public class AboutToBeChangeEvent extends StructuredDocumentEvent {
-
-
-	public AboutToBeChangeEvent(IStructuredDocument source, Object originalSource, String changes, int offset, int lengthToReplace) {
-		super(source, originalSource, changes, offset, lengthToReplace);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/IModelAboutToBeChangedListener.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/IModelAboutToBeChangedListener.java
deleted file mode 100644
index 8306e4e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/IModelAboutToBeChangedListener.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-
-
-/**
- * Clients can implement this interface, and register with the
- * structuredDocument using addAboutToBeChangedListner to be notified that the
- * structuredDocument is about to be changed, but hasn't been changed at the
- * time this event is fired.
- */
-public interface IModelAboutToBeChangedListener {
-
-	void modelAboutToBeChanged(AboutToBeChangeEvent structuredDocumentEvent);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/IStructuredDocumentListener.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/IStructuredDocumentListener.java
deleted file mode 100644
index e1d9a5c..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/IStructuredDocumentListener.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-
-
-public interface IStructuredDocumentListener {
-
-	public void newModel(NewDocumentEvent structuredDocumentEvent);
-
-	public void noChange(NoChangeEvent structuredDocumentEvent);
-
-	public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent);
-
-	public void regionChanged(RegionChangedEvent structuredDocumentEvent);
-
-	public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NewDocumentContentEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NewDocumentContentEvent.java
deleted file mode 100644
index 8500b85..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NewDocumentContentEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-/**
- * The NewModelEvent is fired when an instance of a IStructuredDocument sets
- * or replaces all of its text. So, in the case of replacement, its a new
- * model, conceptually and practically, even though it is technically the same
- * instance of the IStructuredDocument.
- */
-public class NewDocumentContentEvent extends NewDocumentEvent {
-	public NewDocumentContentEvent(IStructuredDocument source, Object originalSource) {
-		super(source, originalSource);
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NewDocumentEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NewDocumentEvent.java
deleted file mode 100644
index 25dfd03..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NewDocumentEvent.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-public class NewDocumentEvent extends NewModelEvent {
-
-	/**
-	 * @param source
-	 * @param originalSource
-	 */
-	public NewDocumentEvent(IStructuredDocument source, Object originalSource) {
-		super(source, originalSource);
-	}
-
-	/**
-	 * This doesn't mean quite the same thing as the IStructuredDocument
-	 * Events in the super class.
-	 */
-	public int getLength() {
-		return fLength;
-	}
-
-	/**
-	 * This doesn't mean quite the same thing as the IStructuredDocument
-	 * Events in the super class. It always will return zero.
-	 */
-	public int getOffset() {
-		return 0;
-	}
-
-	/**
-	 * This doesn't mean quite the same thing as the IStructuredDocument
-	 * Events in the super class. All the text of the new model is returned.
-	 * 
-	 * @deprecated - use getText()
-	 */
-	public String getOriginalChanges() {
-		String results = null;
-		results = getStructuredDocument().getText();
-		return results;
-	}
-
-	/**
-	 * This doesn't mean quite the same thing as the IStructuredDocument
-	 * Events in the super class. Since we have, basically no knowledge of
-	 * what we are replacing ... so we'll return zero.
-	 * 
-	 * @deprecated
-	 */
-	public int getOriginalLength() {
-		return fLength;
-	}
-
-	/**
-	 * This doesn't mean quite the same thing as the IStructuredDocument
-	 * Events in the super class. It always will return zero.
-	 * 
-	 * @deprecated
-	 */
-	public int getOriginalStart() {
-		return 0;
-	}
-
-	public String getText() {
-		String results = getStructuredDocument().getText();
-		return results;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NewModelEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NewModelEvent.java
deleted file mode 100644
index d408042..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NewModelEvent.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-/**
- * @deprecated - use NewDocumentEvent or NewDocumentContentEvent (this class
- *             will simply be deleted in next version, moving its subclass
- *             "up" to take its place.
- */
-public class NewModelEvent extends StructuredDocumentEvent {
-	public NewModelEvent(IStructuredDocument source, Object originalSource) {
-		super(source, originalSource);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NoChangeEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NoChangeEvent.java
deleted file mode 100644
index 22bafe5..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/NoChangeEvent.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-/**
- * this event is thrown if, after analysis, it is found there is no reason to
- * change the structuredDocument. This might occur, for example, if someone
- * pastes in the exact same text that they are replacing, or if someone tries
- * to change a read-only region.
- * 
- * This might be important, for example, if some state variables are set on an
- * "about the change" event. then if there is no change (i.e.no other event is
- * fired), those state variables could reset, or whatever, upon receiving this
- * event.
- */
-public class NoChangeEvent extends StructuredDocumentEvent {
-	/**
-	 * NO_CONTENT_CHANGE means that a some text was requested to be replaced
-	 * with identical text, so no change is actually done.
-	 */
-	public final static int NO_CONTENT_CHANGE = 2;
-	/**
-	 * NO_EVENT is used in rare error conditions, when, basically, a request
-	 * to change the document is made before the previous request has
-	 * completed. This event to used so aboutToChange/Changed cycles can
-	 * complete as required, but the document is most likely not modified as
-	 * expected.
-	 */
-	public final static int NO_EVENT = 8;
-	/**
-	 * READ_ONLY_STATE_CHANGE means that the "read only" state of the text was
-	 * changed, not the content itself.
-	 */
-	public final static int READ_ONLY_STATE_CHANGE = 4;
-
-	/**
-	 * set to one of the above detailed reasons for why no change was done.
-	 */
-	public int reason = 0;
-
-	/**
-	 * NoChangeEvent constructor comment. This event can occur if there was a
-	 * request to modify a document or its properties, but there as not really
-	 * is no change to a document's content.
-	 * 
-	 * @param source
-	 *            com.ibm.sed.structuredDocument.IStructuredDocument
-	 * @param originalSource
-	 *            java.lang.Object
-	 * @param changes
-	 *            java.lang.String
-	 * @param offset
-	 *            int
-	 * @param lengthToReplace
-	 *            int
-	 */
-	public NoChangeEvent(IStructuredDocument source, Object originalSource, String changes, int offset, int lengthToReplace) {
-		super(source, originalSource, changes, offset, lengthToReplace);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/RegionChangedEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/RegionChangedEvent.java
deleted file mode 100644
index b663fdd..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/RegionChangedEvent.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-/**
- * This event is used when a node changes in a non-structural way.
- * Non-structural, that is, as far as the IStructuredDocument is concerned.
- * The whole node, along with the new text is sent, just in case a listener
- * (e.g. a tree model) might make its own determination of what to do, and
- * need the whole node to act appropriately.
- * 
- * Note: users should not make assumptions about whether the node is literally
- * the same instance or not -- it is currently a different instance that is
- * identical to the old except for the changed region, but this implementation
- * may change.
- */
-public class RegionChangedEvent extends StructuredDocumentEvent {
-	private ITextRegion fChangedRegion;
-	private IStructuredDocumentRegion fStructuredDocumentRegion;
-
-	public RegionChangedEvent(IStructuredDocument source, Object originalSource, IStructuredDocumentRegion flatNode, ITextRegion changedRegion, String changes, int offset, int lengthToReplace) {
-		super(source, originalSource, changes, offset, lengthToReplace);
-		fStructuredDocumentRegion = flatNode;
-		fChangedRegion = changedRegion;
-	}
-
-	public ITextRegion getRegion() {
-		return fChangedRegion;
-	}
-
-	public IStructuredDocumentRegion getStructuredDocumentRegion() {
-		return fStructuredDocumentRegion;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/RegionsReplacedEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/RegionsReplacedEvent.java
deleted file mode 100644
index 7954b25..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/RegionsReplacedEvent.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-/**
- * This event is used when a node's regions change, but the node itself
- * doesn't. This says nothing about the semantics of the node, that may still
- * have changed. Also, its assumed/required that ALL the regions are replaced
- * (even those that may not have changed).
- */
-public class RegionsReplacedEvent extends StructuredDocumentEvent {
-	private ITextRegionList fNewRegions;
-	private ITextRegionList fOldRegions;
-	private IStructuredDocumentRegion fStructuredDocumentRegion;
-
-	public RegionsReplacedEvent(IStructuredDocument source, Object originalSource, IStructuredDocumentRegion flatNode, ITextRegionList oldRegions, ITextRegionList newRegions, String changes, int offset, int lengthToReplace) {
-		super(source, originalSource, changes, offset, lengthToReplace);
-		fStructuredDocumentRegion = flatNode;
-		fOldRegions = oldRegions;
-		fNewRegions = newRegions;
-	}
-
-	public ITextRegionList getNewRegions() {
-		return fNewRegions;
-	}
-
-	public ITextRegionList getOldRegions() {
-		return fOldRegions;
-	}
-
-	public IStructuredDocumentRegion getStructuredDocumentRegion() {
-		return fStructuredDocumentRegion;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/StructuredDocumentEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/StructuredDocumentEvent.java
deleted file mode 100644
index f6f643a..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/StructuredDocumentEvent.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-/**
- * IStructuredDocument events are generated by the IStructuredDocument, after
- * the IStructuredDocument acts on a request.
- */
-public abstract class StructuredDocumentEvent extends DocumentEvent {
-	protected String fDeletedText;
-	protected Object fOriginalRequester;
-
-	public IStructuredDocument fStructuredDocument;
-
-	//public int fOffset;
-	//public int fLength;
-	//public String fText;
-	/**
-	 * We assume that IStructuredDocument's are ALWAYS the source of
-	 * IStructuredDocument events
-	 */
-	protected StructuredDocumentEvent(IStructuredDocument source) {
-		super();
-		if (source == null)
-			throw new IllegalArgumentException("null source"); //$NON-NLS-1$
-		fDocument = source;
-		fStructuredDocument = source;
-	}
-
-	protected StructuredDocumentEvent(IStructuredDocument source, Object originalSource) {
-		this(source);
-		fOriginalRequester = originalSource;
-	}
-
-	protected StructuredDocumentEvent(IStructuredDocument source, Object originalSource, String changes, int offset, int lengthToReplace) {
-		this(source);
-		fOriginalRequester = originalSource;
-		fText = changes;
-		fOffset = offset;
-		fLength = lengthToReplace;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public java.lang.String getDeletedText() {
-		return fDeletedText;
-	}
-
-	public IDocument getDocument() {
-
-		return fStructuredDocument;
-	}
-
-	public int getLength() {
-
-		return fLength;
-	}
-
-	public int getOffset() {
-
-		return getOriginalStart();
-	}
-
-	/**
-	 * This method returns the object that originally caused the event to
-	 * fire. This is typically not the object that created the event (the
-	 * IStructuredDocument) but instead the object object that made a request
-	 * to the IStructuredDocument.
-	 * 
-	 * @return java.lang.Object
-	 */
-	public java.lang.Object getOriginalSource() {
-		return fOriginalRequester;
-	}
-
-	public int getOriginalStart() {
-		return fOffset;
-	}
-
-	/**
-	 * This method is equivalent to 'getSource' except it returns an object of
-	 * the appropriate type (namely, a IStructuredDocument, instead of
-	 * Object).
-	 */
-	public IStructuredDocument getStructuredDocument() {
-		// a safe case, since constructor can only be called with a
-		// IStructuredDocument
-		return fStructuredDocument;
-	}
-
-	public String getText() {
-
-		return fText;
-	}
-
-	/**
-	 * @param newDeletedText
-	 *            java.lang.String
-	 */
-	public void setDeletedText(java.lang.String newDeletedText) {
-		fDeletedText = newDeletedText;
-	}
-
-	/**
-	 * returns the classname, but not the 'source=' (as super does).
-	 */
-	public String toString() {
-		//return getClass().getName() + "[source=" + source + "]";
-		return getClass().getName();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/StructuredDocumentRegionsReplacedEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/StructuredDocumentRegionsReplacedEvent.java
deleted file mode 100644
index 59969b6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/events/StructuredDocumentRegionsReplacedEvent.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.events;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-
-/**
- * This event is used when a IStructuredDocumentRegion is deleted, or replaced
- * with more than one IStructuredDocumentRegion, or when simply more than one
- * IStructuredDocumentRegion changes.
- */
-
-public class StructuredDocumentRegionsReplacedEvent extends StructuredDocumentEvent {
-
-	private IStructuredDocumentRegionList fNewStructuredDocumentRegions;
-	private IStructuredDocumentRegionList fOldStructuredDocumentRegions;
-
-	public StructuredDocumentRegionsReplacedEvent(IStructuredDocument source, Object originalSource, IStructuredDocumentRegionList oldStructuredDocumentRegions, IStructuredDocumentRegionList newStructuredDocumentRegions, String changes, int offset, int lengthToReplace) {
-		super(source, originalSource, changes, offset, lengthToReplace);
-		fOldStructuredDocumentRegions = oldStructuredDocumentRegions;
-		fNewStructuredDocumentRegions = newStructuredDocumentRegions;
-	}
-
-	public IStructuredDocumentRegionList getNewStructuredDocumentRegions() {
-		return fNewStructuredDocumentRegions;
-	}
-
-	public IStructuredDocumentRegionList getOldStructuredDocumentRegions() {
-		return fOldStructuredDocumentRegions;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/ResourceAlreadyExists.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/ResourceAlreadyExists.java
deleted file mode 100644
index a48bb02..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/ResourceAlreadyExists.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.exceptions;
-
-
-
-public class ResourceAlreadyExists extends Exception {
-
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * ResourceAlreadyExists constructor comment.
-	 */
-	public ResourceAlreadyExists() {
-		super();
-	}
-
-	/**
-	 * ResourceAlreadyExists constructor comment.
-	 * 
-	 * @param s
-	 *            java.lang.String
-	 */
-	public ResourceAlreadyExists(String s) {
-		super(s);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/ResourceInUse.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/ResourceInUse.java
deleted file mode 100644
index 24f1c8c..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/ResourceInUse.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.exceptions;
-
-
-
-public class ResourceInUse extends Exception {
-
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * ResourceAlreadyExists constructor comment.
-	 */
-	public ResourceInUse() {
-		super();
-	}
-
-	/**
-	 * ResourceAlreadyExists constructor comment.
-	 * 
-	 * @param s
-	 *            java.lang.String
-	 */
-	public ResourceInUse(String s) {
-		super(s);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/SourceEditingException.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/SourceEditingException.java
deleted file mode 100644
index 4f14749..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/SourceEditingException.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.exceptions;
-
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-
-/**
- * The SourceEditingException is often thrown by Source Editor methods in
- * order to have a predictable, uniform interface to the Source Editing APIs.
- * If the OriginalException is not null, then it must be examined to determine
- * the true cause of the exception.
- */
-public class SourceEditingException extends Exception {
-
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-	private Throwable originalException;
-
-	public SourceEditingException() {
-		super();
-	}
-
-	public SourceEditingException(String s) {
-		super(s);
-	}
-
-	/**
-	 * This form of the constructor is used to wrapper another exception.
-	 */
-	public SourceEditingException(Throwable t) {
-		super();
-		originalException = t;
-	}
-
-	/**
-	 * This form of the constructor is used to wrapper another exception, but
-	 * still provide a new descriptive message.
-	 */
-	public SourceEditingException(Throwable t, String s) {
-		super(s);
-		originalException = t;
-	}
-
-	/**
-	 * The message depends on if this is a case that has an embedded
-	 * exception.
-	 */
-	public String getMessage() {
-		String result = null;
-		if (originalException != null) {
-			result = originalException.getMessage();
-		} else {
-			result = super.getMessage();
-		}
-		return result;
-	}
-
-	public Throwable getOriginalException() {
-		return originalException;
-	}
-
-	public String toString() {
-		// we don't put super.toString to "hide" that it was a
-		// sourceEditing exception
-		String s = null; //super.toString();
-		String originalError = SSECorePlugin.getResourceString("%Original_Error__UI_"); //$NON-NLS-1$ = "Original Error:"
-
-		if (originalException != null) {
-			s = originalError + " " + originalException.toString(); //$NON-NLS-1$ 
-		}
-		return s;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/SourceEditingRuntimeException.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/SourceEditingRuntimeException.java
deleted file mode 100644
index 8b09a61..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/exceptions/SourceEditingRuntimeException.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.exceptions;
-
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-
-/**
- * The SourceEditingRuntimeException is often thrown by Source Editor methods
- * when a service we use throws a checked exception, but we want to convert
- * and treat as a runtime exception. (Such as BadLocationException is a common
- * example).
- */
-public class SourceEditingRuntimeException extends RuntimeException {
-
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-	private Throwable originalException;
-
-	public SourceEditingRuntimeException() {
-		super();
-	}
-
-	public SourceEditingRuntimeException(String s) {
-		super(s);
-	}
-
-	/**
-	 * This form of the constructor is used to wrapper another exception.
-	 */
-	public SourceEditingRuntimeException(Throwable t) {
-		super();
-		originalException = t;
-	}
-
-	/**
-	 * This form of the constructor is used to wrapper another exception, but
-	 * still provide a new descriptive message.
-	 */
-	public SourceEditingRuntimeException(Throwable t, String s) {
-		super(s);
-		originalException = t;
-	}
-
-	public String getMessage() {
-		String result = super.getMessage();
-		if ((result != null) && (!result.endsWith("."))) //$NON-NLS-1$
-			result = result + "."; //$NON-NLS-1$
-		if (originalException != null) {
-			String embeddedMessage = originalException.getMessage();
-			embeddedMessage = originalException.getClass().getName() + ": " + originalException.getMessage(); //$NON-NLS-1$
-			// not all exceptions have messages (e.g. many
-			// NullPointerException)
-			String originalError = SSECorePlugin.getResourceString("%Original_Error__UI_"); //$NON-NLS-1$ = "Original Error:"
-			if (result == null)
-				result = ""; //$NON-NLS-1$
-			if (embeddedMessage != null)
-				result = result + "  " + originalError + " " + embeddedMessage;//$NON-NLS-2$//$NON-NLS-1$
-			else
-				result = result + "  " + originalError + " " + originalException.toString();//$NON-NLS-2$//$NON-NLS-1$
-		}
-		return result;
-	}
-
-	public Throwable getOriginalException() {
-		return originalException;
-	}
-
-	public String toString() {
-		// we don't put super.toString or getClass to "hide" that it was a
-		// SourceEditing exception (otherwise, focus goes on that,
-		// instead of original exception.
-		String message = getMessage();
-		// message should never be null ... but just in case
-		return (message != null) ? message : super.toString();
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/filebuffers/BasicStructuredDocumentFactory.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/filebuffers/BasicStructuredDocumentFactory.java
deleted file mode 100644
index e00caa2..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/filebuffers/BasicStructuredDocumentFactory.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.filebuffers;
-
-import org.eclipse.core.filebuffers.IDocumentFactory;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.sse.core.internal.document.NullStructuredDocumentPartitioner;
-import org.eclipse.wst.sse.core.internal.modelhandler.ModelHandlerRegistry;
-import org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-
-
-public class BasicStructuredDocumentFactory implements IDocumentFactory, IExecutableExtension {
-
-	// The content type ID used to declare this factory; it is used to find
-	// the corresponding ModelHandler
-	private String fContentTypeIdentifier = null;
-
-	public BasicStructuredDocumentFactory() {
-		super();
-	}
-
-	public IDocument createDocument() {
-		IDocument document = null;
-		IContentType contentType = Platform.getContentTypeManager().getContentType(getContentTypeIdentifier());
-		IModelHandler handler = null;
-		while (handler == null && !IContentTypeManager.CT_TEXT.equals(contentType.getId())) {
-			handler = ModelHandlerRegistry.getInstance().getHandlerForContentTypeId(contentType.getId());
-			contentType = contentType.getBaseType();
-		}
-		if (handler != null) {
-			document = handler.getDocumentLoader().createNewStructuredDocument();
-		}
-		else {
-			document = new JobSafeStructuredDocument();
-		}
-
-		if (document.getDocumentPartitioner() == null) {
-			IDocumentPartitioner defaultPartitioner = new NullStructuredDocumentPartitioner();
-			document.setDocumentPartitioner(defaultPartitioner);
-			defaultPartitioner.connect(document);
-		}
-		return document;
-	}
-
-	protected String getContentTypeIdentifier() {
-		return fContentTypeIdentifier;
-	}
-
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-		fContentTypeIdentifier = config.getAttribute("contentTypeId");
-		if (data != null) {
-			if (data instanceof String && data.toString().length() > 0) {
-				fContentTypeIdentifier = (String) data;
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/AbstractStructuredFormatProcessor.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/AbstractStructuredFormatProcessor.java
deleted file mode 100644
index d2c990f..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/AbstractStructuredFormatProcessor.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.format;
-
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-
-public abstract class AbstractStructuredFormatProcessor implements IStructuredFormatProcessor {
-	protected IStructuredFormatContraints fFormatContraints = null;
-	protected IProgressMonitor fProgressMonitor = null;
-	public boolean refreshFormatPreferences = true; // special flag for JUnit
-
-	protected void ensureClosed(OutputStream outputStream, InputStream inputStream) {
-
-		try {
-			if (inputStream != null) {
-				inputStream.close();
-			}
-		} catch (IOException e) {
-			Logger.logException(e); // hopeless
-		}
-		try {
-			if (outputStream != null) {
-				outputStream.close();
-			}
-		} catch (IOException e) {
-			Logger.logException(e); // hopeless
-		}
-	}
-
-	public String formatContent(String input) throws IOException, CoreException {
-		if (input == null)
-			return input;
-
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		try {
-			// setup structuredModel
-			// Note: We are getting model for read. Will return formatted
-			// string and NOT save model.
-			inputStream = new ByteArrayInputStream(input.getBytes("UTF8")); //$NON-NLS-1$
-			String id = inputStream.toString() + "." + getFileExtension(); //$NON-NLS-1$
-			structuredModel = StructuredModelManager.getModelManager().getModelForRead(id, inputStream, null);
-
-			// format
-			formatModel(structuredModel);
-
-			// return output
-			return structuredModel.getStructuredDocument().get();
-		} finally {
-			ensureClosed(null, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromRead();
-		}
-	}
-
-	public String formatContent(String input, int start, int length) throws IOException, CoreException {
-		if (input == null)
-			return input;
-
-		if (start >= 0 && length >= 0 && start + length <= input.length()) {
-			IStructuredModel structuredModel = null;
-			InputStream inputStream = null;
-			try {
-				// setup structuredModel
-				// Note: We are getting model for read. Will return formatted
-				// string and NOT save model.
-				inputStream = new ByteArrayInputStream(input.getBytes("UTF8")); //$NON-NLS-1$
-				String id = inputStream.toString() + "." + getFileExtension(); //$NON-NLS-1$
-				structuredModel = StructuredModelManager.getModelManager().getModelForRead(id, inputStream, null);
-
-				// format
-				formatModel(structuredModel, start, length);
-
-				// return output
-				return structuredModel.getStructuredDocument().get();
-			} finally {
-				ensureClosed(null, inputStream);
-				// release from model manager
-				if (structuredModel != null)
-					structuredModel.releaseFromRead();
-			}
-		} else
-			return input;
-	}
-
-	public void formatDocument(IDocument document) throws IOException, CoreException {
-		if (document == null)
-			return;
-
-		IStructuredModel structuredModel = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			// Note: We are getting model for edit. Will save model if model
-			// changed.
-			structuredModel = StructuredModelManager.getModelManager().getExistingModelForEdit(document);
-
-			// format
-			formatModel(structuredModel);
-
-			// save model if needed
-			if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded())
-				structuredModel.save();
-		} finally {
-			//ensureClosed(outputStream, null);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromEdit();
-		}
-	}
-
-	public void formatDocument(IDocument document, int start, int length) throws IOException, CoreException {
-		if (document == null)
-			return;
-
-		if (start >= 0 && length >= 0 && start + length <= document.getLength()) {
-			IStructuredModel structuredModel = null;
-			//OutputStream outputStream = null;
-			try {
-				// setup structuredModel
-				// Note: We are getting model for edit. Will save model if
-				// model changed.
-				structuredModel = StructuredModelManager.getModelManager().getExistingModelForEdit(document);
-
-				// format
-				formatModel(structuredModel, start, length);
-
-				// save model if needed
-				if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded())
-					structuredModel.save();
-			} finally {
-				//ensureClosed(outputStream, null);
-				// release from model manager
-				if (structuredModel != null)
-					structuredModel.releaseFromEdit();
-			}
-		}
-	}
-
-	public void formatFile(IFile file) throws IOException, CoreException {
-		if (file == null)
-			return;
-
-		IStructuredModel structuredModel = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			// Note: We are getting model for edit. Will save model if model
-			// changed.
-			structuredModel = StructuredModelManager.getModelManager().getModelForEdit(file);
-
-			structuredModel.aboutToChangeModel();
-
-			// format
-			formatModel(structuredModel);
-
-			// save model if needed
-			if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded())
-				structuredModel.save();
-		} finally {
-			//ensureClosed(outputStream, null);
-			// release from model manager
-			structuredModel.changedModel();
-			if (structuredModel != null) {
-				structuredModel.releaseFromEdit();
-			}
-
-		}
-	}
-
-	public void formatFile(IFile file, int start, int length) throws IOException, CoreException {
-		if (file == null)
-			return;
-
-		IStructuredModel structuredModel = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			// Note: We are getting model for edit. Will save model if model
-			// changed.
-			structuredModel = StructuredModelManager.getModelManager().getModelForEdit(file);
-
-			// format
-			formatModel(structuredModel, start, length);
-
-			// save model if needed
-			if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded())
-				structuredModel.save();
-		} finally {
-			//ensureClosed(outputStream, null);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromEdit();
-		}
-	}
-
-	public void formatFileName(String fileName) throws IOException, CoreException {
-		if (fileName == null)
-			return;
-
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			// Note: We are getting model for edit. Will save model if model
-			// changed.
-			inputStream = new FileInputStream(fileName);
-			structuredModel = StructuredModelManager.getModelManager().getModelForEdit(fileName, inputStream, null);
-
-			// format
-			formatModel(structuredModel);
-
-			// save model if needed
-			if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded())
-				structuredModel.save();
-		} finally {
-			//ensureClosed(outputStream, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromEdit();
-		}
-	}
-
-	public void formatFileName(String fileName, int start, int length) throws IOException, CoreException {
-		if (fileName == null)
-			return;
-
-		IStructuredModel structuredModel = null;
-		InputStream inputStream = null;
-		//OutputStream outputStream = null;
-		try {
-			// setup structuredModel
-			// Note: We are getting model for edit. Will save model if model
-			// changed.
-			inputStream = new FileInputStream(fileName);
-			structuredModel = StructuredModelManager.getModelManager().getModelForEdit(fileName, inputStream, null);
-
-			// format
-			formatModel(structuredModel, start, length);
-
-			// save model if needed
-			if (!structuredModel.isSharedForEdit() && structuredModel.isSaveNeeded())
-				structuredModel.save();
-		} finally {
-			//ensureClosed(outputStream, inputStream);
-			// release from model manager
-			if (structuredModel != null)
-				structuredModel.releaseFromEdit();
-		}
-	}
-
-	public void formatModel(IStructuredModel structuredModel) {
-		int start = 0;
-		int length = structuredModel.getStructuredDocument().getLength();
-
-		formatModel(structuredModel, start, length);
-	}
-
-	public void formatModel(IStructuredModel structuredModel, int start, int length) {
-		if (structuredModel != null) {
-			if (start == 0 && length == structuredModel.getStructuredDocument().getLength())
-				setFormatWithSiblingIndent(structuredModel, false);
-			else
-				setFormatWithSiblingIndent(structuredModel, true);
-
-			if (start >= 0 && length >= 0 && start + length <= structuredModel.getStructuredDocument().getLength()) {
-				Vector activeNodes = getActiveNodes(structuredModel, start, length);
-				if (activeNodes.size() > 0) {
-					Node firstNode = (Node) activeNodes.firstElement();
-					Node lastNode = (Node) activeNodes.lastElement();
-
-					boolean done = false;
-					Node eachNode = firstNode;
-					Node nextNode = null;
-					// TODO: we should be able to call something like
-					// sequentialRewrite, but
-					// doesn't work for
-					// our case, since we do "gets" during reparsing, so makes
-					// sequential rewrite
-					// store actually
-					// less efficient than gap store. Someday we need our own
-					// gap store, that
-					// handles
-					// structured text more efficiently. I thought I'd leave
-					// this commented out
-					// code here
-					// as a reminder.
-					//					try {
-					//						structuredModel.getStructuredDocument().startSequentialRewrite(false);
-					while (!done) {
-						// update "done"
-						done = (eachNode == lastNode);
-
-						// get next sibling before format because eachNode
-						// may
-						// be deleted,
-						// for example when it's an empty text node
-						nextNode = eachNode.getNextSibling();
-
-						// format each node
-						formatNode(eachNode);
-
-						// update each node
-						if (nextNode != null && nextNode.getParentNode() == null)
-							// nextNode is deleted during format
-							eachNode = eachNode.getNextSibling();
-						else
-							eachNode = nextNode;
-
-						// This should not be needed, but just in case
-						// something went wrong with with eachNode.
-						// We don't want an infinite loop here.
-						if (eachNode == null)
-							done = true;
-					}
-					//					}
-					//					finally {
-					//						structuredModel.getStructuredDocument().stopSequentialRewrite();
-					//					}
-				}
-			}
-		}
-	}
-
-	public void formatNode(Node node) {
-		if (node != null) {
-			Node newNode = node;
-
-			// format the owner node if it's an attribute node
-			if (node.getNodeType() == Node.ATTRIBUTE_NODE)
-				newNode = ((Attr) node).getOwnerElement();
-
-			// refresh format preferences before getting formatter
-			if (refreshFormatPreferences)
-				refreshFormatPreferences();
-
-			// get formatter and format contraints
-			IStructuredFormatter formatter = getFormatter(newNode);
-			// TODO_future: added assert to replace "redundant null check".
-			// if formatter is ever null, we should provide some
-			// default formatter to serve as place holder.
-			Assert.isNotNull(formatter, "formatter was null for a node, "); //$NON-NLS-1$
-			IStructuredFormatContraints formatContraints = formatter.getFormatContraints();
-			formatContraints.setFormatWithSiblingIndent(true);
-			// format each node
-			formatter.format(newNode, formatContraints);
-		}
-	}
-
-	protected Vector getActiveNodes(IStructuredModel structuredModel, int startNodeOffset, int length) {
-		Vector activeNodes = new Vector();
-
-		if (structuredModel != null) {
-			Node startNode = (Node) structuredModel.getIndexedRegion(startNodeOffset);
-			// see https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4711
-			//
-			// We have to watch for selection boundary conditions. Use this as
-			// an example: <a>text</a><b>text</b>,
-			// If the whole <a> node is selected, like:
-			// |<a>text</a>|<b>text</b>, we need to substract the length by 1
-			// to find
-			// the node at the end of the selection:
-			// structuredModel.getIndexedRegion(startNodeOffset + length - 1),
-			// or else
-			// we'd find the next adjacent node.
-			//
-			// However, when the selection length is 0 (meaning no text is
-			// selected), the cursor is at the beginning
-			// of the node we want to format: |<a>text</a><b>text</b>, the
-			// node at the end of the selection is:
-			// structuredModel.getIndexedRegion(startNodeOffset + length).
-			int endNodeOffset = length > 0 ? startNodeOffset + length - 1 : startNodeOffset + length;
-			Node endNode = (Node) structuredModel.getIndexedRegion(endNodeOffset);
-
-			// make sure it's an non-empty document
-			if (startNode != null) {
-				while (isSiblingOf(startNode, endNode) == false) {
-					if (endNode != null)
-						endNode = endNode.getParentNode();
-					if (endNode == null) {
-						startNode = startNode.getParentNode();
-						// see
-						// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4711
-						// and notes above
-						endNodeOffset = length > 0 ? startNodeOffset + length - 1 : startNodeOffset + length;
-						endNode = (Node) structuredModel.getIndexedRegion(endNodeOffset);
-					}
-				}
-
-				while (startNode != endNode) {
-					activeNodes.addElement(startNode);
-					startNode = startNode.getNextSibling();
-				}
-				if (startNode != null)
-					activeNodes.addElement(startNode);
-			}
-		}
-
-		return activeNodes;
-	}
-
-	abstract protected String getFileExtension();
-
-	protected IStructuredFormatContraints getFormatContraints(IStructuredModel structuredModel) {
-		// 262135 - NPE during format of empty document
-		if (fFormatContraints == null && structuredModel != null) {
-			Node node = (Node) structuredModel.getIndexedRegion(0);
-
-			if (node != null) {
-				IStructuredFormatter formatter = getFormatter(node);
-				if (formatter != null) {
-					fFormatContraints = formatter.getFormatContraints();
-				}
-			}
-		}
-
-		return fFormatContraints;
-	}
-
-	abstract protected IStructuredFormatter getFormatter(Node node);
-
-	protected boolean isSiblingOf(Node node, Node endNode) {
-		if (endNode == null) {
-			return true;
-		} else {
-			Node siblingNode = node;
-			while (siblingNode != null) {
-				if (siblingNode == endNode)
-					return true;
-				else
-					siblingNode = siblingNode.getNextSibling();
-			}
-			return false;
-		}
-	}
-
-	abstract protected void refreshFormatPreferences();
-
-	protected void setFormatWithSiblingIndent(IStructuredModel structuredModel, boolean formatWithSiblingIndent) {
-		// 262135 - NPE during format of empty document
-		IStructuredFormatContraints formatContraints = getFormatContraints(structuredModel);
-
-		if (formatContraints != null)
-			formatContraints.setFormatWithSiblingIndent(formatWithSiblingIndent);
-	}
-
-	public void setProgressMonitor(IProgressMonitor monitor) {
-		fProgressMonitor = monitor;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredContentFormatter.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredContentFormatter.java
deleted file mode 100644
index 729b416..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredContentFormatter.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.format;
-
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-public interface IStructuredContentFormatter {
-	void setModel(IStructuredModel model);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatContraints.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatContraints.java
deleted file mode 100644
index f3bcbd6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatContraints.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.format;
-
-public interface IStructuredFormatContraints {
-	boolean getClearAllBlankLines();
-
-	String getCurrentIndent();
-
-	boolean getFormatWithSiblingIndent();
-
-	void setClearAllBlankLines(boolean clearAllBlankLines);
-
-	void setCurrentIndent(String currentIndent);
-
-	void setFormatWithSiblingIndent(boolean formatWithSiblingIndent);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatPreferences.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatPreferences.java
deleted file mode 100644
index 3329cb6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatPreferences.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.format;
-
-public interface IStructuredFormatPreferences {
-	boolean getClearAllBlankLines();
-
-	String getIndent();
-
-	int getLineWidth();
-
-	void setClearAllBlankLines(boolean clearAllBlankLines);
-
-	void setIndent(String indent);
-
-	void setLineWidth(int lineWidth);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatProcessor.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatProcessor.java
deleted file mode 100644
index e279a67..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatProcessor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.format;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.w3c.dom.Node;
-
-
-public interface IStructuredFormatProcessor {
-	/**
-	 * This form of the FormatProcessor takes an input string as input,
-	 * creates an InputStream from the input string, create a temporary model
-	 * of the content type specified, formats the whole model, then returns
-	 * the formatted input string.
-	 */
-	String formatContent(String content) throws IOException, CoreException;
-
-	/**
-	 * This form of the FormatProcessor takes an input string as input,
-	 * creates an InputStream from the input string, create a temporary model
-	 * of the content type specified, formats the model within start and
-	 * length, then returns the formatted input string.
-	 */
-	String formatContent(String content, int start, int length) throws IOException, CoreException;
-
-	/**
-	 * This form of the FormatProcessor takes an IDocument as input, creates a
-	 * temporary model of content type calculated using the IDocument's file
-	 * extension, formats the whole model, then releases the model.
-	 */
-	void formatDocument(IDocument document) throws IOException, CoreException;
-
-	/**
-	 * This form of the FormatProcessor takes an IDocument as input, creates a
-	 * temporary model of content type calculated using the IDocument's file
-	 * extension, formats the model within start and length, then releases the
-	 * model.
-	 */
-	void formatDocument(IDocument document, int start, int length) throws IOException, CoreException;
-
-	/**
-	 * This form of the FormatProcessor takes an IFile as input, creates a
-	 * temporary model of content type calculated using the IFile's file
-	 * extension, formats the whole model, then releases the model.
-	 */
-	void formatFile(IFile file) throws IOException, CoreException;
-
-	/**
-	 * This form of the FormatProcessor takes an IFile as input, creates a
-	 * temporary model of content type calculated using the IFile's file
-	 * extension, formats the model within start and length, then releases the
-	 * model.
-	 */
-	void formatFile(IFile file, int start, int length) throws IOException, CoreException;
-
-	/**
-	 * This form of the FormatProcessor takes a file name as input,creates an
-	 * InputStream from the file, create a temporary model of content type
-	 * calculated using the file name's file extension, formats the whole
-	 * model, then releases the model.
-	 */
-	void formatFileName(String fileName) throws IOException, CoreException;
-
-	/**
-	 * This form of the FormatProcessor takes a file name as input,creates an
-	 * InputStream from the file, create a temporary model of content type
-	 * calculated using the file name's file extension, formats the model
-	 * within start and length, then releases the model.
-	 */
-	void formatFileName(String fileName, int start, int length) throws IOException, CoreException;
-
-	/**
-	 * This form of the FormatProcessor takes a model as input, and formats
-	 * the whole model.
-	 */
-	void formatModel(IStructuredModel structuredModel);
-
-	/**
-	 * This form of the FormatProcessor takes a model as input, and formats
-	 * the model within start and length.
-	 */
-	void formatModel(IStructuredModel structuredModel, int start, int length);
-
-	/**
-	 * This form of the FormatProcessor takes a node as input, and formats the
-	 * node and all its children.
-	 */
-	void formatNode(Node node);
-
-	void setProgressMonitor(IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatter.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatter.java
deleted file mode 100644
index 59cb989..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/IStructuredFormatter.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.format;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.w3c.dom.Node;
-
-public interface IStructuredFormatter {
-	void format(Node node);
-
-	void format(Node node, IStructuredFormatContraints formatContraints);
-
-	IStructuredFormatContraints getFormatContraints();
-
-	IStructuredFormatPreferences getFormatPreferences();
-
-	void setFormatPreferences(IStructuredFormatPreferences formatPreferences);
-
-	void setProgressMonitor(IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/StructuredFormatContraints.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/StructuredFormatContraints.java
deleted file mode 100644
index 8dcf98c..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/StructuredFormatContraints.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.format;
-
-public class StructuredFormatContraints implements IStructuredFormatContraints {
-	protected int fAvailableLineWidth;
-	protected boolean fClearAllBlankLines;
-	protected String fCurrentIndent = ""; //$NON-NLS-1$
-	protected boolean fFormatWithSiblingIndent = false;
-
-	public boolean getClearAllBlankLines() {
-		return fClearAllBlankLines;
-	}
-
-	public String getCurrentIndent() {
-		return fCurrentIndent;
-	}
-
-	public boolean getFormatWithSiblingIndent() {
-		return fFormatWithSiblingIndent;
-	}
-
-	public void setClearAllBlankLines(boolean clearAllBlankLines) {
-		fClearAllBlankLines = clearAllBlankLines;
-	}
-
-	public void setCurrentIndent(String currentIndent) {
-		fCurrentIndent = currentIndent;
-	}
-
-	public void setFormatWithSiblingIndent(boolean formatWithSiblingIndent) {
-		fFormatWithSiblingIndent = formatWithSiblingIndent;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/StructuredFormatPreferences.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/StructuredFormatPreferences.java
deleted file mode 100644
index b41d11b..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/format/StructuredFormatPreferences.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.format;
-
-public class StructuredFormatPreferences implements IStructuredFormatPreferences {
-	private boolean fClearAllBlankLines;
-	private String fIndent;
-	private int fLineWidth;
-
-	public boolean getClearAllBlankLines() {
-		return fClearAllBlankLines;
-	}
-
-	public String getIndent() {
-		return fIndent;
-	}
-
-	public int getLineWidth() {
-		return fLineWidth;
-	}
-
-	public void setClearAllBlankLines(boolean clearAllBlankLines) {
-		fClearAllBlankLines = clearAllBlankLines;
-	}
-
-	public void setIndent(String indent) {
-		fIndent = indent;
-	}
-
-	public void setLineWidth(int lineWidth) {
-		fLineWidth = lineWidth;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/FileBufferModelManager.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/FileBufferModelManager.java
deleted file mode 100644
index 1fb5deb..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/FileBufferModelManager.java
+++ /dev/null
@@ -1,513 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.IFileBuffer;
-import org.eclipse.core.filebuffers.IFileBufferListener;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-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.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.AbstractStructuredModel;
-import org.eclipse.wst.sse.core.IModelLoaderExtension;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.exceptions.ResourceInUse;
-import org.eclipse.wst.sse.core.internal.modelhandler.ModelHandlerRegistry;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.ProjectResolver;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-
-public class FileBufferModelManager {
-
-	static class DocumentInfo {
-		ITextFileBuffer buffer = null;
-		String contentTypeID = null;
-		IStructuredModel model = null;
-		boolean selfConnected = false;
-		int bufferReferenceCount = 0;
-		int modelReferenceCount = 0;
-	}
-
-	/**
-	 * A URIResolver instance of models built on java.io.Files
-	 */
-	class ExternalURIResolver implements URIResolver {
-		IPath fLocation;
-
-		ExternalURIResolver(IPath location) {
-			fLocation = location;
-		}
-
-		public String getFileBaseLocation() {
-			return fLocation.toString();
-		}
-
-		public String getLocationByURI(String uri) {
-			return getLocationByURI(uri, getFileBaseLocation(), false);
-		}
-
-		public String getLocationByURI(String uri, boolean resolveCrossProjectLinks) {
-			return getLocationByURI(uri, getFileBaseLocation(), resolveCrossProjectLinks);
-		}
-
-		public String getLocationByURI(String uri, String baseReference) {
-			return getLocationByURI(uri, baseReference, false);
-		}
-
-		public String getLocationByURI(String uri, String baseReference, boolean resolveCrossProjectLinks) {
-			// ignore resolveCrossProjectLinks value
-			if (uri == null)
-				return null;
-			if (uri.startsWith("file:")) {
-				try {
-					URL url = new URL(uri);
-					return url.getFile();
-				}
-				catch (MalformedURLException e) {
-				}
-			}
-			return URIHelper.normalize(uri, baseReference, Path.ROOT.toString());
-		}
-
-		public IProject getProject() {
-			return null;
-		}
-
-		public IContainer getRootLocation() {
-			return ResourcesPlugin.getWorkspace().getRoot();
-		}
-
-		public InputStream getURIStream(String uri) {
-			return null;
-		}
-
-		public void setFileBaseLocation(String newLocation) {
-		}
-
-		public void setProject(IProject newProject) {
-		}
-	}
-
-	/**
-	 * Maps interesting documents in file buffers to those file buffers.
-	 * Required to allows us to go from documents to complete models.
-	 */
-	class FileBufferMapper implements IFileBufferListener {
-		public void bufferContentAboutToBeReplaced(IFileBuffer buffer) {
-		}
-
-		public void bufferContentReplaced(IFileBuffer buffer) {
-		}
-
-		public void bufferCreated(IFileBuffer buffer) {
-			if (buffer instanceof ITextFileBuffer) {
-				ITextFileBuffer textBuffer = (ITextFileBuffer) buffer;
-				if (!(textBuffer.getDocument() instanceof IStructuredDocument))
-					return;
-				if (debugTextBufferLifeCycle) {
-					System.out.println("Learned new buffer: " + buffer.getLocation().toString() + " " + buffer + " " + ((ITextFileBuffer) buffer).getDocument());
-				}
-				DocumentInfo info = new DocumentInfo();
-				info.buffer = textBuffer;
-				info.contentTypeID = detectContentType(buffer.getLocation()).getId();
-				info.bufferReferenceCount++;
-				fDocumentMap.put(textBuffer.getDocument(), info);
-			}
-		}
-
-		public void bufferDisposed(IFileBuffer buffer) {
-			if (buffer instanceof ITextFileBuffer) {
-				ITextFileBuffer textBuffer = (ITextFileBuffer) buffer;
-				if (!(textBuffer.getDocument() instanceof IStructuredDocument))
-					return;
-				if (debugTextBufferLifeCycle) {
-					System.out.println("Discarded buffer: " + buffer.getLocation().toString() + " " + buffer + " " + ((ITextFileBuffer) buffer).getDocument());
-				}
-				DocumentInfo info = (DocumentInfo) fDocumentMap.get(textBuffer.getDocument());
-				if (info != null) {
-					info.bufferReferenceCount--;
-					if (info.bufferReferenceCount == 0 && info.modelReferenceCount == 0)
-						fDocumentMap.remove(textBuffer.getDocument());
-				}
-			}
-		}
-
-		public void dirtyStateChanged(IFileBuffer buffer, boolean isDirty) {
-			if (buffer instanceof ITextFileBuffer) {
-				if (debugTextBufferLifeCycle) {
-					System.out.println("Buffer dirty state changed: (" + isDirty + ") " + buffer.getLocation().toString() + " " + buffer + " " + ((ITextFileBuffer) buffer).getDocument());
-				}
-				ITextFileBuffer textBuffer = (ITextFileBuffer) buffer;
-				if (!(textBuffer.getDocument() instanceof IStructuredDocument))
-					return;
-				DocumentInfo info = (DocumentInfo) fDocumentMap.get(textBuffer.getDocument());
-				if (info != null && info.model != null) {
-					String msg = "Updating model dirty state for" + info.buffer.getLocation();
-					if (debugFileBufferModelManagement || debugTextBufferLifeCycle) {
-						System.out.println(msg);
-					}
-					info.model.setDirtyState(isDirty);
-
-					IFile workspaceFile = FileBuffers.getWorkspaceFileAtLocation(info.buffer.getLocation());
-					if (!isDirty && workspaceFile != null) {
-						info.model.resetSynchronizationStamp(workspaceFile);
-					}
-				}
-			}
-		}
-
-		public void stateChangeFailed(IFileBuffer buffer) {
-		}
-
-		public void stateChanging(IFileBuffer buffer) {
-		}
-
-		public void stateValidationChanged(IFileBuffer buffer, boolean isStateValidated) {
-		}
-
-		public void underlyingFileDeleted(IFileBuffer buffer) {
-			if (buffer instanceof ITextFileBuffer) {
-				if (debugTextBufferLifeCycle) {
-					System.out.println("Deleted buffer: " + buffer.getLocation().toOSString() + " " + buffer);
-				}
-			}
-		}
-
-		public void underlyingFileMoved(IFileBuffer buffer, IPath path) {
-			if (buffer instanceof ITextFileBuffer) {
-				if (debugTextBufferLifeCycle) {
-					System.out.println("Moved buffer from: " + buffer.getLocation().toOSString() + " " + buffer);
-					System.out.println("Moved buffer to: " + path.toOSString() + " " + buffer);
-				}
-			}
-		}
-	}
-
-	static final boolean debugFileBufferModelManagement = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/filebuffers/modelmanagement"));
-
-	static final boolean debugTextBufferLifeCycle = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/filebuffers/lifecycle"));
-
-	private static FileBufferModelManager instance;
-
-	public static FileBufferModelManager getInstance() {
-		if (instance == null) {
-			instance = new FileBufferModelManager();
-		}
-		return instance;
-	}
-
-	static final void shutdown() {
-		if (instance != null) {
-			if (debugFileBufferModelManagement) {
-				IDocument[] danglingDocuments = (IDocument[]) instance.fDocumentMap.keySet().toArray(new IDocument[0]);
-				for (int i = 0; i < danglingDocuments.length; i++) {
-					DocumentInfo info = (DocumentInfo) instance.fDocumentMap.get(danglingDocuments[i]);
-					if (info.modelReferenceCount > 0)
-						System.err.println("LEAKED MODEL: " + info.buffer.getLocation() + " " + (info.model != null ? info.model.getId() : null));
-					if (info.bufferReferenceCount > 0)
-						System.err.println("LEAKED BUFFER: " + info.buffer.getLocation() + " " + info.buffer.getDocument());
-				}
-			}
-			FileBuffers.getTextFileBufferManager().removeFileBufferListener(instance.fFileBufferListener);
-			instance = null;
-		}
-	}
-
-	static final void startup() {
-		getInstance();
-	}
-
-	// a map of IStructuredDocuments to DocumentInfo objects
-	Map fDocumentMap = null;
-
-	IFileBufferListener fFileBufferListener = null;
-
-	FileBufferModelManager() {
-		super();
-		fDocumentMap = new Hashtable(4);
-		FileBuffers.getTextFileBufferManager().addFileBufferListener(fFileBufferListener = new FileBufferMapper());
-	}
-
-	public String calculateId(IFile file) {
-		String id = null;
-		IPath path = file.getLocation();
-		if (path != null) {
-			/*
-			 * The ID of models must be the same as the normalized paths
-			 * stored in the underlying FileBuffers to retrieve them by common
-			 * ID later on. We chose the FileBuffer normalized path over the
-			 * previously used absolute IFile path because the buffers should
-			 * already exist before we build a model and we can't retrieve a
-			 * FileBuffer using the ID of a model that doesn't yet exist.
-			 */
-			id = FileBuffers.normalizeLocation(path).toString();
-		}
-		return id;
-
-	}
-
-	public String calculateId(IStructuredDocument document) {
-		String id = null;
-		ITextFileBuffer buffer = getBuffer(document);
-		if (buffer != null) {
-			id = buffer.getLocation().toString();
-		}
-		return id;
-	}
-
-	URIResolver createURIResolver(ITextFileBuffer buffer) {
-		IPath location = buffer.getLocation();
-		IFile workspaceFile = FileBuffers.getWorkspaceFileAtLocation(location);
-		URIResolver resolver = null;
-		if (workspaceFile != null) {
-			IProject project = workspaceFile.getProject();
-			resolver = (URIResolver) project.getAdapter(URIResolver.class);
-			if (resolver == null) {
-				resolver = new ProjectResolver(project);
-			}
-			resolver.setFileBaseLocation(workspaceFile.getLocation().toString());
-		}
-		else {
-			resolver = new ExternalURIResolver(location);
-		}
-		return resolver;
-	}
-
-
-	IContentType detectContentType(IPath location) {
-		IContentType type = null;
-
-		IResource resource = FileBuffers.getWorkspaceFileAtLocation(location);
-		if (resource != null) {
-			if (resource.getType() == IResource.FILE && resource.isAccessible()) {
-				IContentDescription d = null;
-				try {
-					// Optimized description lookup, might not succeed
-					d = ((IFile) resource).getContentDescription();
-					if (d != null) {
-						type = d.getContentType();
-					}
-				}
-				catch (CoreException e) {
-					// Should not be possible given the accessible and file
-					// type check above
-				}
-				if (type == null) {
-					type = Platform.getContentTypeManager().findContentTypeFor(resource.getName());
-				}
-			}
-		}
-		else {
-			File file = FileBuffers.getSystemFileAtLocation(location);
-			if (file != null) {
-				InputStream input = null;
-				try {
-					input = new FileInputStream(file);
-					type = Platform.getContentTypeManager().findContentTypeFor(input, location.toOSString());
-				}
-				catch (FileNotFoundException e) {
-				}
-				catch (IOException e) {
-				}
-				finally {
-					if (input != null) {
-						try {
-							input.close();
-						}
-						catch (IOException e1) {
-						}
-					}
-				}
-				if (type == null) {
-					type = Platform.getContentTypeManager().findContentTypeFor(file.getName());
-				}
-			}
-		}
-		if (type == null) {
-			type = Platform.getContentTypeManager().getContentType(IContentTypeManager.CT_TEXT);
-		}
-		return type;
-	}
-
-	public ITextFileBuffer getBuffer(IDocument document) {
-		DocumentInfo info = (DocumentInfo) fDocumentMap.get(document);
-		if (info != null)
-			return info.buffer;
-		return null;
-	}
-
-	String getContentTypeID(IDocument document) {
-		DocumentInfo info = (DocumentInfo) fDocumentMap.get(document);
-		if (info != null)
-			return info.contentTypeID;
-		return null;
-	}
-
-	IStructuredModel getModel(File file) {
-		IStructuredModel model = null;
-		ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager();
-		try {
-			IPath location = new Path(file.getAbsolutePath());
-			if (debugFileBufferModelManagement) {
-				System.out.println("FileBufferModelManager connecting to File " + location);
-			}
-			bufferManager.connect(location, getProgressMonitor());
-			ITextFileBuffer buffer = bufferManager.getTextFileBuffer(location);
-			if (buffer != null) {
-				DocumentInfo info = (DocumentInfo) fDocumentMap.get(buffer.getDocument());
-				info.selfConnected = true;
-				model = getModel((IStructuredDocument) buffer.getDocument());
-			}
-		}
-		catch (CoreException e) {
-			Logger.log(Logger.ERROR, "Error getting model for " + file.getPath(), e);
-		}
-		return model;
-	}
-
-	public IStructuredModel getModel(IFile file) {
-		IStructuredModel model = null;
-		ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager();
-		try {
-			if (debugFileBufferModelManagement) {
-				System.out.println("FileBufferModelManager connecting to IFile " + file.getLocation());
-			}
-			bufferManager.connect(file.getLocation(), getProgressMonitor());
-			ITextFileBuffer buffer = bufferManager.getTextFileBuffer(file.getLocation());
-			if (buffer != null) {
-				DocumentInfo info = (DocumentInfo) fDocumentMap.get(buffer.getDocument());
-				info.selfConnected = true;
-				model = getModel((IStructuredDocument) buffer.getDocument());
-			}
-		}
-		catch (CoreException e) {
-			Logger.log(Logger.ERROR, "Error getting model for " + file.getLocation(), e);
-		}
-		return model;
-	}
-
-	public IStructuredModel getModel(IStructuredDocument document) {
-		if (document == null)
-			return null;
-
-		DocumentInfo info = (DocumentInfo) fDocumentMap.get(document);
-		if (info != null && info.model == null) {
-			if (debugFileBufferModelManagement) {
-				System.out.println("FileBufferModelManager creating model for " + info.buffer.getLocation() + " " + info.buffer.getDocument());
-			}
-			info.modelReferenceCount++;
-
-			IStructuredModel model = null;
-			IModelHandler handler = ModelHandlerRegistry.getInstance().getHandlerForContentTypeId(info.contentTypeID);
-			ModelLoader loader = handler.getModelLoader();
-			boolean mustSetDocument = true;
-			if (loader instanceof IModelLoaderExtension) {
-				mustSetDocument = false;
-				model = ((IModelLoaderExtension) loader).createModel(document, info.buffer.getLocation().toString());
-			}
-			else {
-				model = loader.createModel();
-				model.setBaseLocation(info.buffer.getLocation().toString());
-			}
-			try {
-				info.model = model;
-				model.setId(info.buffer.getLocation().toString());
-				model.setModelHandler(handler);
-				if (model instanceof AbstractStructuredModel) {
-					((AbstractStructuredModel) model).setContentTypeIdentifier(info.contentTypeID);
-				}
-				model.setResolver(createURIResolver(getBuffer(document)));
-				if (mustSetDocument) {
-					model.setStructuredDocument(document);
-				}
-				if (info.buffer.isDirty()) {
-					model.setDirtyState(true);
-				}
-			}
-			catch (ResourceInUse e) {
-				Logger.log(Logger.ERROR, "attempted to create new model with existing ID", e);
-				model = null;
-			}
-		}
-		if (info != null) {
-			return info.model;
-		}
-		return null;
-	}
-
-	/**
-	 * @return
-	 */
-	private IProgressMonitor getProgressMonitor() {
-		return new NullProgressMonitor();
-	}
-
-	public boolean isExistingBuffer(IDocument document) {
-		if (document == null)
-			return false;
-
-		DocumentInfo info = (DocumentInfo) fDocumentMap.get(document);
-		return info != null;
-	}
-
-	public void releaseModel(IStructuredDocument document) {
-		DocumentInfo info = (DocumentInfo) fDocumentMap.get(document);
-		if (info != null) {
-			if (debugFileBufferModelManagement) {
-				System.out.println("FileBufferModelManager noticed full release of model for " + info.buffer.getLocation() + " " + info.buffer.getDocument());
-			}
-			info.model = null;
-			info.modelReferenceCount--;
-			if (info.selfConnected) {
-				if (debugFileBufferModelManagement) {
-					System.out.println("FileBufferModelManager disconnecting from " + info.buffer.getLocation() + " " + info.buffer.getDocument());
-				}
-				IPath location = info.buffer.getLocation();
-				try {
-					FileBuffers.getTextFileBufferManager().disconnect(info.buffer.getLocation(), getProgressMonitor());
-				}
-				catch (CoreException e) {
-					Logger.log(Logger.ERROR, "Error releasing model for " + location, e);
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/JSPAwareAdapterFactory.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/JSPAwareAdapterFactory.java
deleted file mode 100644
index 0f9efdb..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/JSPAwareAdapterFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal;
-
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-
-
-public interface JSPAwareAdapterFactory extends AdapterFactory {
-
-	void initializeWith(EmbeddedTypeHandler embeddedContentType);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/Logger.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/Logger.java
deleted file mode 100644
index 064a37f..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/Logger.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if
- * desired, the console. This class should only be used by classes in this
- * plugin. Other plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int INFO_DEBUG = 200 + INFO;
-
-	public static final int OK = IStatus.OK; // 0
-
-	public static final int OK_DEBUG = 200 + OK;
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int WARNING_DEBUG = 200 + WARNING;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @deprecated Logger is not responsible for returning plugin
-	 */
-	public static Plugin getPlugin() {
-		return SSECorePlugin.getDefault();
-	}
-
-	/**
-	 * @deprecated Logger is not responsible for returning plugin id
-	 * @return
-	 */
-	public static String getPluginId() {
-		return PLUGIN_ID;
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/ModelManagerPluginRegistryReader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/ModelManagerPluginRegistryReader.java
deleted file mode 100644
index da7d491..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/ModelManagerPluginRegistryReader.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.modelhandler.IDocumentTypeHandler;
-import org.osgi.framework.Bundle;
-
-
-public class ModelManagerPluginRegistryReader {
-	private static ModelManagerPluginRegistryReader reader = null;
-
-	public synchronized static ModelManagerPluginRegistryReader getInstance() {
-		if (reader == null) {
-			reader = new ModelManagerPluginRegistryReader();
-		}
-		return reader;
-	}
-
-	protected final String ATTR_ADAPTERKEY = "adapterKeyClass"; //$NON-NLS-1$
-	protected final String ATTR_CLASS = "class"; //$NON-NLS-1$
-	protected final String ATTR_CONTENTTYPE = "type"; //$NON-NLS-1$
-	protected final String ATTR_REGISTERADAPTER = "registerAdapters"; //$NON-NLS-1$
-
-	protected final String EXTENSION_POINT_ID = "adaptOnCreateFactory"; //$NON-NLS-1$
-	protected final String TAG_NAME = "AdaptOnCreateFactory"; //$NON-NLS-1$
-
-	/**
-	 * XMLEditorPluginRegistryReader constructor comment.
-	 */
-	protected ModelManagerPluginRegistryReader() {
-		super();
-	}
-
-	public List getFactories(IDocumentTypeHandler handler) {
-		return loadRegistry(handler.getId());
-	}
-
-	public List getFactories(String type) {
-		return loadRegistry(type);
-	}
-
-	protected AdapterFactory loadFactoryFromConfigurationElement(IConfigurationElement element, Object requesterType) {
-		AdapterFactory factory = null;
-		if (element.getName().equals(TAG_NAME)) {
-			String contentType = element.getAttribute(ATTR_CONTENTTYPE);
-			if (!contentType.equals(requesterType))
-				return null;
-			String className = element.getAttribute(ATTR_CLASS);
-			String adapterKeyClass = element.getAttribute(ATTR_ADAPTERKEY);
-			String registerAdapters = element.getAttribute(ATTR_REGISTERADAPTER);
-
-			// if className is null, then no one defined the extension point
-			// for adapter factories
-			if (className != null) {
-				String name = element.getDeclaringExtension().getNamespace();
-				Bundle bundle = null;
-				try {
-					bundle = Platform.getBundle(name);
-				} catch (Exception e) {
-					// if an error occurs here, its probably that the plugin
-					// could not be found/loaded
-					Logger.logException("Could not find bundle: " + name, e); //$NON-NLS-1$
-
-				}
-				if (bundle != null) {
-					boolean useExtendedConstructor = false;
-					boolean doRegisterAdapters = false;
-					Object adapterKey = null;
-
-					if (registerAdapters != null && registerAdapters.length() > 0 && Boolean.valueOf(registerAdapters).booleanValue()) {
-						doRegisterAdapters = true;
-					}
-					if (adapterKeyClass != null) {
-						try {
-							Class aClass = null;
-//							aClass = classLoader != null ? classLoader.loadClass(adapterKeyClass) : Class.forName(adapterKeyClass);
-							if (bundle.getState() != Bundle.UNINSTALLED) {
-								aClass = bundle.loadClass(adapterKeyClass);
-							} else {
-								aClass = Class.forName(adapterKeyClass);
-							}
-							if (aClass != null) {
-								useExtendedConstructor = true;
-								adapterKey = aClass;
-							} else {
-								adapterKey = adapterKeyClass;
-							}
-						} catch (Exception anyErrors) {
-							adapterKey = adapterKeyClass;
-						}
-					}
-
-					try {
-						Class theClass = null;
-//						Class theClass = classLoader != null ? classLoader.loadClass(className) : Class.forName(className);
-						if (bundle.getState() != Bundle.UNINSTALLED) {
-							theClass = bundle.loadClass(className);
-						} else {
-							theClass = Class.forName(className);
-						}
-						if (useExtendedConstructor) {
-							java.lang.reflect.Constructor[] ctors = theClass.getConstructors();
-							for (int i = 0; i < ctors.length; i++) {
-								Class[] paramTypes = ctors[i].getParameterTypes();
-								if (ctors[i].isAccessible() && paramTypes.length == 2 && paramTypes[0].equals(Object.class) && paramTypes[1].equals(boolean.class)) {
-									try {
-										factory = (AdapterFactory) ctors[i].newInstance(new Object[]{adapterKey, new Boolean(doRegisterAdapters)});
-									} catch (IllegalAccessException e) {
-										throw new org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException(e);
-									} catch (IllegalArgumentException e) {
-										throw new org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException(e);
-									} catch (InstantiationException e) {
-										throw new org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException(e);
-									} catch (InvocationTargetException e) {
-										throw new org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException(e);
-									} catch (ExceptionInInitializerError e) {
-										throw new org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException(e);
-									}
-								}
-							}
-						}
-						if (factory == null) {
-							factory = (AdapterFactory) element.createExecutableExtension(ATTR_CLASS);
-						}
-					} catch (ClassNotFoundException e) {
-						throw new org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException(e);
-					} catch (CoreException e) {
-						throw new org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException(e);
-					}
-				}
-			}
-		}
-		return factory;
-	}
-
-	protected List loadRegistry(Object contentType) {
-		List factoryList = new Vector();
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		IExtensionPoint point = extensionRegistry.getExtensionPoint(SSECorePlugin.ID, EXTENSION_POINT_ID);
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				AdapterFactory factory = loadFactoryFromConfigurationElement(elements[i], contentType);
-				if (factory != null)
-					factoryList.add(factory);
-			}
-		}
-		return factoryList;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/NoCancelProgressMonitor.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/NoCancelProgressMonitor.java
deleted file mode 100644
index c9f129f..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/NoCancelProgressMonitor.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.eclipse.wst.sse.core.internal;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-
-public class NoCancelProgressMonitor extends NullProgressMonitor {
-
-
-	public NoCancelProgressMonitor() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IProgressMonitor#isCanceled()
-	 */
-	public boolean isCanceled() {
-
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/NotImplementedException.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/NotImplementedException.java
deleted file mode 100644
index 3a0b985..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/NotImplementedException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal;
-
-
-public class NotImplementedException extends RuntimeException {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-
-	public NotImplementedException() {
-		super();
-	}
-
-	public NotImplementedException(String message) {
-		super(message);
-	}
-
-	public NotImplementedException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-	public NotImplementedException(Throwable cause) {
-		super(cause);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/NullMemento.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/NullMemento.java
deleted file mode 100644
index 827f2a2..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/NullMemento.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal;
-
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.NonContentBasedEncodingRules;
-
-
-
-/**
- * This class can be used in place of an EncodingMemento (its super class),
- * when there is not in fact ANY encoding information. For example, when a
- * structuredDocument is created directly from a String
- */
-public class NullMemento extends EncodingMemento {
-	/**
-	 *  
-	 */
-	public NullMemento() {
-		super();
-		String defaultCharset = NonContentBasedEncodingRules.useDefaultNameRules(null);
-		setJavaCharsetName(defaultCharset);
-		setAppropriateDefault(defaultCharset);
-		setDetectedCharsetName(null);
-		addTrace(DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePlugin.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePlugin.java
deleted file mode 100644
index cf9dae5..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePlugin.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.builder.StructuredDocumentBuilder;
-import org.eclipse.wst.sse.core.internal.modelhandler.ModelHandlerRegistry;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.osgi.framework.BundleContext;
-
-
-/**
- * This model manager plugin helper is used to return the model manager
- * desired to be used for creating a new model manager, for managing (add or
- * remove) model loaders and model dumpers, and for managing (get, release,
- * save, and save as) models. Here is an example on on how to use it. Under
- * the subdirectory named after your package which contains your
- * implementation of the model manager (e.g. "org.eclipse.wst.sse.core") in
- * the "project_resources\plugins" directory, create a "plugin.xml" file. In
- * this file ("projectproject_resources\plugins\com.ibm.sed.model\plugin.xml")
- * enter: <?xml version="1.0"?> <plugin name="IBM Web Tooling Model Manager
- * Plugin" id="org.eclipse.wst.sse.core" version="1.0" vendor-name="RTP"
- * class="org.eclipse.wst.sse.core.ModelManagerPlugin"> <!-- The XML package:
- * com.ibm.etools.b2bxmlrt, is required before the others to give precedence
- * to DOM2 APIs, instead of the DOM1 (used by others, such as the desktop
- * ("com.ibm.eclipse.*")) --> <requires><import
- * plugin="com.ibm.etools.b2bxmlrt" export="true"/> <import
- * plugin="org.eclipse.wst.common.contentmodel" export="true"/> </requires>
- * <runtime><library name="runtime/sedmodel.jar"> <export name="*"/>
- * </library> </runtime> </plugin> to tell the workbench the model manager
- * plugin ID and where to find this model manager plugin class. Then in the
- * getModelManager method of this model manager plugin class, create and
- * return the model manager desired to be used. In the client code that
- * requests the model manager, the following code should be used to access the
- * model manager 
- * // get the model manager from the StructuredModelManager
- * StructuredModelManager.getModelManager();
- */
-public class SSECorePlugin extends Plugin implements IModelManagerPlugin {
-	static SSECorePlugin instance = null;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-
-	private static final String OFF = "off"; //$NON-NLS-1$
-	public static final String STRUCTURED_BUILDER = "org.eclipse.wst.sse.core.structuredbuilder"; //$NON-NLS-1$
-	public static final String ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-	
-	public static SSECorePlugin getDefault() {
-		return instance;
-	}
-
-	public SSECorePlugin() {
-		super();
-		instance = this;
-	}
-
-	/**
-	 * Set default non-UI
-	 */
-	protected void initializeDefaultPluginPreferences() {
-		Preferences prefs = getDefault().getPluginPreferences();
-		// set model preference defaults
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS, true);
-		prefs.setDefault(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, true);
-		prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
-		prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
-		prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
-		prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
-		prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
-		prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, CommonModelPreferenceNames.UTF_8);
-		prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
-		prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, CommonModelPreferenceNames.DEFAULT_TAB_WIDTH);
-		prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, false);
-		prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
-		prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
-		prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
-		prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
-		prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, false);
-		prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.UPPER);
-		prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
-		prefs.setDefault(CommonModelPreferenceNames.TASK_TAG_ENABLE, false);
-		prefs.setDefault(CommonModelPreferenceNames.TASK_TAG_TAGS, "TODO,FIXME,XXX"); //$NON-NLS-1$
-		prefs.setDefault(CommonModelPreferenceNames.TASK_TAG_PRIORITIES, "1,2,1"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		savePluginPreferences();
-		StructuredDocumentBuilder.shutdown();
-		FileBufferModelManager.shutdown();
-		
-		super.stop(context);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		
-		String build = System.getProperty(STRUCTURED_BUILDER);
-		if (build == null || !build.equalsIgnoreCase(OFF)) {
-			StructuredDocumentBuilder.startup();
-		}
-		// initialize FileBuffer handling
-		FileBufferModelManager.startup();
-	}
-
-	/**
-	 * @deprecated
-	 */
-	public ModelHandlerRegistry getModelHandlerRegistry() {
-		return ModelHandlerRegistry.getInstance();
-	}
-
-	/**
-	 * @deprecated - use StructuredModelManager.getModelManager();
-	 */
-	public IModelManager getModelManager() {
-		return StructuredModelManager.getModelManager();
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.sse.core.internal.SSECorePluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePluginResources.properties b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePluginResources.properties
deleted file mode 100644
index a956704..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/SSECorePluginResources.properties
+++ /dev/null
@@ -1,69 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-A_model's_id_can_not_be_nu_EXC_=A model's id can not be null
-Program_Error__ModelManage_EXC_=Program Error: ModelManagerImpl::saveModel. Model should be in the cache
-Original_Error__UI_=Original Error:
-ModelPlugin.0=Structured Builder
-StructuredDocumentBuilder.0=Updating builders
-Text_Change_UI_=Text Change
-###############################################################################
-Unkown_internal_scanner_er_ERROR_=Unkown internal scanner error
-Internal_error__unknown_st_ERROR_=Internal error: unknown state
-Error__could_not_match_inp_ERROR_=Error: could not match input
-Error__pushback_value_was__ERROR_=Error: pushback value was too large
-An_I/O_error_occured_while_EXC_=An I/O error occured while scanning :
-3concat=File not found : \"{0}\"
-5concat=Error opening file \"{0}\"
-ul_____(template)_UI_=ul     (template)
-<ul>_n__<li>_Item_one_</li_UI_=<ul>\n  <li> Item one </li>\n  <li> Item two </li>\n</ul>\n
-dl_____(template)_UI_=dl     (template)
-<dl>_n__<dt>_First_definit_UI_=<dl>\n  <dt> First definition  <dd>  First explanation\n  <dt> Second definition <dd> Second explanation\n</dl>\n
-table_____(template)_UI_=table     (template)
-<table_border>_n__<tr>_n___UI_=<table border>\n  <tr>\n    <th>Column 1 Heading</th>\n    <th>Column 2 Heading</th>\n  </tr>\n  <tr>\n    <td>Row 1: Col 1</td>\n    <td>Row 1: Col 2</td>\n  </tr>\n</table>\n
-ol_____(template)_UI_=ol     (template)
-<ol>_n__<li>_Item_one_</li_UI_=<ol>\n  <li> Item one </li>\n  <li> Item two </li>\n</ol>\n
-html____(template)_UI_=html    (template)
-<html>_n<head>_n<title>Ins_UI_=<html>\n<head>\n<title>Insert title here</title>\n</head>\n<body>\n<|c>\n</body>\n</html>
-script_____(commented)_UI_=script     (commented)
-style_____(commented)_UI_=style     (commented)
-img_____(map)_UI=img     (map)
-Usage___java_HTMLTokenizer_EXC_=Usage : java HTMLTokenizer <inputfile>
-## on the following line, just translate: "place title here" and "place content here"
-__>_n_t_t<TITLE><|c>place__UI_=\">\n\t\t<TITLE><|c>place title here</TITLE>\n\t</HEAD>\n\t<BODY>\n\t\tplace content here\n\t</BODY>\n</HTML>
-Flatmodel_constructor_doesn__t_know_how_to_deal_with_non-string_4=Flatmodel constructor doesn\'t know how to deal with non-string
-unexpected_ModelManager_Impl_1=unexpected ModelManager Impl
-continuous_1=continuous
-paged_2=paged
-visual_3=visual
-aural_4=aural
-tactile_5=tactile
-grid_6=grid
-bitmap_7=bitmap
-interactive_8=interactive
-static_9=static
-all_10=all
-Cleaning_up_element_{0}=Cleaning up element \"{0}\"
-Uppercasing_attribute_name_{0}=Uppercasing attribute name \"{0}\"
-Lowercasing_attribute_name_{0}=Lowercasing attribute name \"{0}\"
-Uppercasing_tag_name_{0}=Uppercasing tag name \"{0}\"
-Lowercasing_tag_name_{0}=Lowercasing tag name \"{0}\"
-Inserting_missing_end_tag_{0}=Inserting missing end tag \"{0}\"
-Inserting_missing_start_tag_{0}=Inserting missing start tag \"{0}\"
-Inserting_default_attribute_value_{0}=Inserting default attribute value \"{0}\"
-Quoting_attribute_value_{0}=Quoting attribute value \"{0}\"
-Formatting_start_tag_of_element_{0}=Formatting start tag of element \"{0}\"
-Formatting_end_tag_of_element_{0}=Formatting end tag of element \"{0}\"
-Formatting_element_{0}=Formatting element \"{0}\"
-Formatting_indentation_before_element_{0}=Formatting indentation before element \"{0}\"
-Formatting_indentation_after_element_{0}=Formatting indentation after element \"{0}\"
-Formatting_element_{0}=Formatting element \"{0}\"
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/builder/BuilderModelProvider.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/builder/BuilderModelProvider.java
deleted file mode 100644
index d6f24e2..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/builder/BuilderModelProvider.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.builder;
-
-import java.util.Map;
-import java.util.WeakHashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.builder.IBuilderModelProvider;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-public class BuilderModelProvider implements IBuilderModelProvider {
-	private static final boolean _debug = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/builder/modelprovider")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	private Map fDocuments = null;
-	private IModelManager fModelManager;
-	private Map fModels = null;
-
-	public BuilderModelProvider(IModelManager manager) {
-
-		super();
-		fModelManager = manager;
-	}
-
-	/**
-	 * Creates the document for this file; current done by retrieving it from
-	 * an IStructuredModel
-	 * 
-	 * @param file
-	 * @return
-	 * @todo Generated comment
-	 */
-	private IStructuredDocument createDocument(IFile file) {
-
-		// For now, we have to retrieve the IStructuredDocument from the
-		// IStructuredModel.
-		IStructuredModel model = getModel(file);
-		if (model != null) {
-			if (_debug) {
-				System.out.println(getClass().getName() + " created IStructuredDocument for " + file.getFullPath().toString()); //$NON-NLS-1$
-			}
-			return model.getStructuredDocument();
-		}
-		return null;
-	}
-
-
-	/**
-	 * Creates the model for this file. Currently, does it using the
-	 * IModelManager from scratch. TODO: C4, create the model using the
-	 * document (creating the document if needed, first)
-	 * 
-	 * @param file
-	 * @return
-	 * @todo Generated comment
-	 */
-	private IStructuredModel createModel(IFile file) {
-		try {
-			IStructuredModel model = null;
-			if (_debug) {
-				System.out.println(getClass().getName() + " created IStructuredModel for " + file.getFullPath().toString()); //$NON-NLS-1$
-			}
-			model = getModelManager().getExistingModelForRead(file);
-			if (model != null) {
-				// we have our reference, allow the
-				// IModelManager to dispose if needed
-				model.releaseFromRead();
-			} else {
-				model = getModelManager().createUnManagedStructuredModelFor(file);
-			}
-			return model;
-		}
-		// catch 'em all
-		catch (Exception t) {
-			Logger.log(Logger.WARNING, "Exception caught creating IStructuredModel for file " + file.getFullPath().toOSString() + ":" + t); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderModelProvider#getDocument(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredDocument getDocument(IFile file) {
-
-		if (file == null) {
-			return null;
-		}
-		IStructuredDocument document = (IStructuredDocument) getDocuments().get(file);
-		if (document == null) {
-			document = createDocument(file);
-			if (document != null) {
-				getDocuments().put(file, document);
-			}
-		}
-		return document;
-	}
-
-	/**
-	 * @return Returns the documents.
-	 */
-	public Map getDocuments() {
-
-		if (fDocuments == null) {
-			fDocuments = new WeakHashMap();
-		}
-		return fDocuments;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderModelProvider#getModel(org.eclipse.core.resources.IFile)
-	 */
-	public IStructuredModel getModel(IFile file) {
-
-		if (file == null) {
-			return null;
-		}
-		IStructuredModel model = (IStructuredModel) getModels().get(file);
-		if (model == null) {
-			model = createModel(file);
-			if (model != null) {
-				getModels().put(file, model);
-			}
-		}
-		return model;
-	}
-
-	protected IModelManager getModelManager() {
-
-		return fModelManager;
-	}
-
-	/**
-	 * @return Returns the models.
-	 */
-	public Map getModels() {
-
-		if (fModels == null) {
-			fModels = new WeakHashMap();
-		}
-		return fModels;
-	}
-
-	public void release(IFile file) {
-
-		if (_debug) {
-			System.out.println(getClass().getName() + " released resources for " + file.getProjectRelativePath().toString()); //$NON-NLS-1$
-		}
-		getDocuments().remove(file);
-		getModels().remove(file);
-	}
-
-	public void releaseAll() {
-
-		if (_debug) {
-			System.out.println(getClass().getName() + " released all resources"); //$NON-NLS-1$
-		}
-		getDocuments().clear();
-		getModels().clear();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/builder/BuilderParticipantRegistryReader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/builder/BuilderParticipantRegistryReader.java
deleted file mode 100644
index e4e19c1..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/builder/BuilderParticipantRegistryReader.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.builder;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.builder.IBuilderDelegate;
-import org.eclipse.wst.sse.core.builder.IBuilderParticipant;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-
-class BuilderParticipantRegistryReader {
-
-	private static final boolean _debugReader = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/participantregistry")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	private final static String CONTENTTYPE_WILDCARD = "*"; //$NON-NLS-1$
-	private String ATT_CLASS = "class"; //$NON-NLS-1$
-	private String ATT_CONTENT_TYPE = "contentType"; //$NON-NLS-1$
-
-	private String DELEGATE_EXTENSION_POINT_ID = SSECorePlugin.ID + ".builderdelegate"; //$NON-NLS-1$
-	private IConfigurationElement[] fDelegateElements;
-	// a mapping of content types to IBuilderDelegate instances
-	private Map fDelegateMap = null;
-
-	// all of the configuration elements for our extension point
-	private IConfigurationElement[] fParticipantElements;
-
-	// a mapping of content types to IBuilderParticipant instances
-	private Map fParticipantMap = null;
-
-	private String PARTICIPANT_EXTENSION_POINT_ID = SSECorePlugin.ID + ".builderparticipant"; //$NON-NLS-1$
-
-	BuilderParticipantRegistryReader() {
-		super();
-	}
-
-	public IBuilderDelegate[] getBuilderDelegates(Object contentTypeID) {
-		if (fDelegateElements == null) {
-			readRegistry();
-		}
-		IBuilderDelegate[] delegates = (IBuilderDelegate[]) fDelegateMap.get(contentTypeID);
-		if (delegates == null) {
-			// fine the relevant extensions
-			List elements = new ArrayList(0);
-			IConfigurationElement[] delegateElements = fDelegateElements;
-			for (int j = 0; j < delegateElements.length; j++) {
-				String contentTypes = delegateElements[j].getAttribute(ATT_CONTENT_TYPE);
-				String[] contentType = StringUtils.unpack(contentTypes);
-				for (int k = 0; k < contentType.length; k++) {
-					// allow wildcards to be returned as well
-					if (contentType[k].equals(contentTypeID)) {
-						elements.add(delegateElements[j]);
-					}
-				}
-			}
-			// instantiate and save them
-			List delegateList = new ArrayList(elements.size());
-			for (int i = 0; i < elements.size(); i++) {
-				try {
-					IBuilderDelegate delegate = (IBuilderDelegate) ((IConfigurationElement) elements.get(i)).createExecutableExtension(ATT_CLASS);
-					if (delegate != null) {
-						delegateList.add(delegate);
-					}
-				} catch (CoreException e) {
-					Logger.logException("Exception creating builder participant for " + contentTypeID, e); //$NON-NLS-1$
-				}
-			}
-			delegates = (IBuilderDelegate[]) delegateList.toArray(new IBuilderDelegate[0]);
-			fDelegateMap.put(contentTypeID, delegates);
-			if (_debugReader) {
-				System.out.println("Created " + delegates.length + " build participants for " + contentTypeID); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return delegates;
-	}
-
-	public IBuilderParticipant[] getBuildParticipants(Object contentTypeID) {
-		if (fParticipantElements == null) {
-			readRegistry();
-		}
-		IBuilderParticipant[] participants = (IBuilderParticipant[]) fParticipantMap.get(contentTypeID);
-		if (participants == null) {
-			// fine the relevant extensions
-			List elements = new ArrayList(0);
-			IConfigurationElement[] participantElements = fParticipantElements;
-			for (int j = 0; j < participantElements.length; j++) {
-				String participantContentTypes = participantElements[j].getAttribute(ATT_CONTENT_TYPE);
-				String[] participantContentType = StringUtils.unpack(participantContentTypes);
-				for (int k = 0; k < participantContentType.length; k++) {
-					// allow wildcards to be returned as well
-					if (participantContentType[k].equals(contentTypeID) || CONTENTTYPE_WILDCARD.equals(participantContentType[k])) {
-						elements.add(participantElements[j]);
-					}
-				}
-			}
-			// instantiate and save them
-			List participantsList = new ArrayList(elements.size());
-			for (int i = 0; i < elements.size(); i++) {
-				try {
-					IBuilderParticipant participant = (IBuilderParticipant) ((IConfigurationElement) elements.get(i)).createExecutableExtension(ATT_CLASS);
-					if (participant != null) {
-						participantsList.add(participant);
-					}
-				} catch (CoreException e) {
-					Logger.logException("Exception creating builder participant for " + contentTypeID, e); //$NON-NLS-1$
-				}
-			}
-			participants = (IBuilderParticipant[]) participantsList.toArray(new IBuilderParticipant[0]);
-			fParticipantMap.put(contentTypeID, participants);
-			if (_debugReader) {
-				System.out.println("Created " + participants.length + " build participants for " + contentTypeID); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return participants;
-	}
-
-	private void readRegistry() {
-		fParticipantMap = new HashMap();
-		fDelegateMap = new HashMap();
-		// Just remember the elements, so plugins don't have to be activated,
-		// unless extension attributes match those of interest
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(PARTICIPANT_EXTENSION_POINT_ID);
-		if (point != null) {
-			fParticipantElements = point.getConfigurationElements();
-		}
-		point = Platform.getExtensionRegistry().getExtensionPoint(DELEGATE_EXTENSION_POINT_ID);
-		if (point != null) {
-			fDelegateElements = point.getConfigurationElements();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/builder/StructuredDocumentBuilder.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/builder/StructuredDocumentBuilder.java
deleted file mode 100644
index 84cd0e2..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/builder/StructuredDocumentBuilder.java
+++ /dev/null
@@ -1,575 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.builder;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.wst.sse.core.builder.IBuilderDelegate;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-
-public class StructuredDocumentBuilder extends IncrementalProjectBuilder implements IExecutableExtension {
-
-	protected static final boolean _debugBuilder = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/builder")); //$NON-NLS-1$ //$NON-NLS-2$
-	protected static final boolean _debugBuilderContentTypeDetection = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/builder/detection")); //$NON-NLS-1$ //$NON-NLS-2$
-	protected static final boolean _debugBuilderPerf = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/builder/time")); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final boolean performValidateEdit = false;
-
-	private static boolean isGloballyEnabled = true;
-	private static final String OFF = "off"; //$NON-NLS-1$
-	static final boolean _debugResourceChangeListener = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/resourcechangehandling")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	protected static class ProjectChangeListener implements IResourceChangeListener, IResourceDeltaVisitor {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			IResourceDelta delta = event.getDelta();
-			if (delta.getResource() != null) {
-				int resourceType = delta.getResource().getType();
-				if (resourceType == IResource.PROJECT || resourceType == IResource.ROOT) {
-					try {
-						delta.accept(this);
-					}
-					catch (CoreException e) {
-						Logger.logException("Exception managing buildspec list", e); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			IResource resource = delta.getResource();
-			if (resource != null) {
-				if (resource.getType() == IResource.ROOT)
-					return true;
-				else if (resource.getType() == IResource.PROJECT) {
-					if (delta.getKind() == IResourceDelta.ADDED) {
-						if (_debugResourceChangeListener) {
-							System.out.println("Project " + delta.getResource().getName() + " added to workspace and registering with SDMB");//$NON-NLS-2$//$NON-NLS-1$
-						}
-						add(new NullProgressMonitor(), (IProject) resource, null);
-					}
-					return false;
-				}
-			}
-			return false;
-		}
-	}
-
-	static {
-		String build = System.getProperty(SSECorePlugin.STRUCTURED_BUILDER);
-		isGloballyEnabled = (build == null || !build.equalsIgnoreCase(OFF));
-	}
-
-	/**
-	 * Add the StructuredBuilder to the build spec of a single IProject
-	 * 
-	 * @param project -
-	 *            the IProject to add to, when needed
-	 */
-	public static void add(IProgressMonitor monitor, IProject project, Object validateEditContext) {
-		if (project == null || !project.isAccessible()) {
-			return;
-		}
-		boolean isBuilderPresent = false;
-		try {
-			IFile descriptionFile = project.getFile(IProjectDescription.DESCRIPTION_FILE_NAME);
-			if (descriptionFile.exists() && descriptionFile.isAccessible()) {
-				IProjectDescription description = project.getDescription();
-				ICommand[] commands = description.getBuildSpec();
-				if (commands != null) {
-					for (int i = 0; i < commands.length; i++) {
-						String builderName = commands[i].getBuilderName();
-						// builder name will be null if it has not been set
-						if (builderName != null && builderName.equals(getBuilderId())) {
-							isBuilderPresent = true;
-							break;
-						}
-					}
-				}
-				if (!isBuilderPresent && !monitor.isCanceled()) {
-					// validate for edit
-					IStatus status = null;
-					if (performValidateEdit) {
-						ISchedulingRule validateEditRule = null;
-						try {
-							if (_debugBuilder) {
-								System.out.println("Attempting validateEdit for " + descriptionFile.getFullPath().toString()); //$NON-NLS-1$
-							}
-							IFile[] validateFiles = new IFile[]{descriptionFile};
-							IWorkspace workspace = descriptionFile.getWorkspace();
-							validateEditRule = workspace.getRuleFactory().validateEditRule(validateFiles);
-							Platform.getJobManager().beginRule(validateEditRule, monitor);
-							status = workspace.validateEdit(validateFiles, null);
-							if (_debugBuilder) {
-								if (status.isOK()) {
-									System.out.println("ValidateEdit completed for " + descriptionFile.getFullPath().toString()); //$NON-NLS-1$
-								}
-								else {
-									System.out.println("ValidateEdit failed for " + descriptionFile.getFullPath().toString() + " " + status.getMessage()); //$NON-NLS-2$//$NON-NLS-1$
-								}
-							}
-						}
-						finally {
-							if (validateEditRule != null) {
-								Platform.getJobManager().endRule(validateEditRule);
-							}
-						}
-					}
-					if (status == null || status.isOK()) {
-						// add the builder
-						ICommand newCommand = description.newCommand();
-						newCommand.setBuilderName(getBuilderId());
-						ICommand[] newCommands = null;
-						if (commands != null) {
-							newCommands = new ICommand[commands.length + 1];
-							System.arraycopy(commands, 0, newCommands, 0, commands.length);
-							newCommands[commands.length] = newCommand;
-						}
-						else {
-							newCommands = new ICommand[1];
-							newCommands[0] = newCommand;
-						}
-						description.setBuildSpec(newCommands);
-						/*
-						 * This 'refresh' was added since unit tests were
-						 * throwing exceptions about being out of sync. That
-						 * may indicate a "deeper" problem such as needing to
-						 * use scheduling rules, (although there don't appear
-						 * to be examples of that) or something similar.
-						 */
-						// project.refreshLocal(IResource.DEPTH_ZERO,
-						// subMonitorFor(monitor, 1,
-						// IProgressMonitor.UNKNOWN));
-						try {
-							project.setDescription(description, subMonitorFor(monitor, 1, IProgressMonitor.UNKNOWN));
-						}
-						catch (CoreException e) {
-							if (_debugBuilder) {
-								if (performValidateEdit) {
-									System.out.println("Description for project \"" + project.getName() + "\" could not be updated despite successful validateEdit"); //$NON-NLS-2$//$NON-NLS-1$
-								}
-								else {
-									System.out.println("Description for project \"" + project.getName() + "\" could not be updated"); //$NON-NLS-2$//$NON-NLS-1$
-								}
-							}
-							if (performValidateEdit) {
-								Logger.log(Logger.WARNING, "Description for project \"" + project.getName() + "\" could not be updated despite successful validateEdit"); //$NON-NLS-2$//$NON-NLS-1$					
-							}
-							else {
-								Logger.log(Logger.WARNING, "Description for project \"" + project.getName() + "\" could not be updated"); //$NON-NLS-2$//$NON-NLS-1$					
-							}
-						}
-					}
-				}
-			}
-			else {
-				if (_debugBuilder) {
-					System.out.println("Description for project \"" + project.getName() + "\" could not be updated"); //$NON-NLS-2$//$NON-NLS-1$
-				}
-				Logger.log(Logger.WARNING, "Description for project \"" + project.getName() + "\" could not be updated"); //$NON-NLS-2$//$NON-NLS-1$
-			}
-		}
-		catch (Exception e) {
-			// if we can't read the information, the project isn't open,
-			// so it can't run auto-validate
-			Logger.logException("Exception caught when adding Model Builder", e); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Adds the StructuredBuilder to every project in the Workspace
-	 * 
-	 * @param root
-	 */
-	public synchronized static void add(IProgressMonitor monitor, IWorkspaceRoot root, Object validateEditContext) {
-		if (!isGloballyEnabled) {
-			return;
-		}
-		IProject[] allProjects = root.getProjects();
-		IProgressMonitor localMonitor = subMonitorFor(monitor, allProjects.length);
-		localMonitor.beginTask(SSECorePlugin.getResourceString("%StructuredDocumentBuilder.0"), 1); //$NON-NLS-1$
-		for (int i = 0; i < allProjects.length && !monitor.isCanceled(); i++) {
-			add(localMonitor, allProjects[i], validateEditContext);
-			localMonitor.worked(1);
-		}
-		localMonitor.done();
-	}
-
-	private static String getBuilderId() {
-		return "org.eclipse.wst.sse.core.structuredbuilder"; //$NON-NLS-1$
-	}
-
-	public static IProgressMonitor monitorFor(IProgressMonitor monitor) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		return monitor;
-	}
-
-	public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks);
-	}
-
-	public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks, int style) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks, style);
-	}
-
-	protected List fActiveDelegates = null;
-	private String fName = "Structured Document Builder"; //$NON-NLS-1$
-	protected BuilderParticipantRegistryReader registry = null;
-
-	private long time0;
-	private IResourceChangeListener changeListener;
-
-	/**
-	 * 
-	 */
-	public StructuredDocumentBuilder() {
-		super();
-		if (isGloballyEnabled) {
-			registry = new BuilderParticipantRegistryReader();
-			fActiveDelegates = new ArrayList();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.internal.events.InternalBuilder#build(int,
-	 *      java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
-		IProject currentProject = getProject();
-		// Currently, just use the Task Tags preference
-		boolean locallyEnabled = isGloballyEnabled && SSECorePlugin.getDefault().getPluginPreferences().getBoolean(CommonModelPreferenceNames.TASK_TAG_ENABLE);
-		if (!locallyEnabled || currentProject == null || !currentProject.isAccessible()) {
-			if (_debugBuilderPerf || _debugBuilder) {
-				System.out.println(getClass().getName() + " skipping build of " + currentProject.getName()); //$NON-NLS-1$
-			}
-			return new IProject[]{currentProject};
-		}
-
-		if (_debugBuilderPerf || _debugBuilder) {
-			time0 = System.currentTimeMillis();
-		}
-		IResourceDelta delta = getDelta(currentProject);
-		IProgressMonitor localMonitor = subMonitorFor(monitor, 1);
-		localMonitor.beginTask(getDisplayName(), 1);
-
-		if (!localMonitor.isCanceled()) {
-			// check the kind of delta if one was given
-			if (kind == FULL_BUILD || kind == CLEAN_BUILD || delta == null) {
-				doFullBuild(kind, args, localMonitor, getProject());
-			}
-			else {
-				doIncrementalBuild(kind, args, localMonitor);
-			}
-		}
-		localMonitor.worked(1);
-		shutdownDelegates();
-		localMonitor.done();
-		if (_debugBuilderPerf || _debugBuilder) {
-			if (kind == FULL_BUILD || delta == null) {
-				System.out.println(getClass().getName() + " finished FULL build of " + currentProject.getName() //$NON-NLS-1$
-							+ " in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			else {
-				System.out.println(getClass().getName() + " finished INCREMENTAL/CLEAN/AUTO build of " + currentProject.getName() //$NON-NLS-1$
-							+ " in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return new IProject[]{getProject()};
-	}
-
-	void build(int kind, Map args, IResource resource, IContentType[] types, IProgressMonitor monitor) {
-		if (!monitor.isCanceled() && resource.getType() == IResource.FILE) {
-			IBuilderDelegate[] delegates = null;
-			List allDelegates = new ArrayList();
-			for (int i = 0; i < types.length; i++) {
-				IBuilderDelegate[] typeDelegates = registry.getBuilderDelegates(types[i].getId());
-				if (typeDelegates != null && typeDelegates.length > 0) {
-					allDelegates.addAll(Arrays.asList(typeDelegates));
-				}
-			}
-			delegates = (IBuilderDelegate[]) allDelegates.toArray(new IBuilderDelegate[0]);
-			for (int j = 0; delegates != null && j < delegates.length; j++) {
-				if (kind != IncrementalProjectBuilder.CLEAN_BUILD) {
-					monitor.subTask(getDisplayName() + " building " + resource.getFullPath()); //$NON-NLS-1$
-				}
-				try {
-					if (!fActiveDelegates.contains(delegates[j]) && !monitor.isCanceled()) {
-						delegates[j].startup(getProject(), kind, args);
-						fActiveDelegates.add(delegates[j]);
-					}
-					delegates[j].build((IFile) resource, kind, args, subMonitorFor(monitor, 100));
-				}
-				catch (Exception e) {
-					Logger.logException(e);
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.resources.IncrementalProjectBuilder#clean(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void clean(IProgressMonitor monitor) throws CoreException {
-		if (_debugBuilderPerf || _debugBuilder) {
-			time0 = System.currentTimeMillis();
-		}
-		super.clean(monitor);
-		IProject currentProject = getProject();
-		if (!isGloballyEnabled || currentProject == null || !currentProject.isAccessible()) {
-			return;
-		}
-		doFullBuild(IncrementalProjectBuilder.CLEAN_BUILD, new HashMap(0), monitor, getProject());
-		if (_debugBuilderPerf || _debugBuilder) {
-			System.out.println(getClass().getName() + " finished CLEAN build of " + currentProject.getName() //$NON-NLS-1$
-						+ " in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	IContentType[] detectContentTypes(IResource resource) {
-		IContentType[] types = null;
-		if (resource.getType() == IResource.FILE && resource.isAccessible()) {
-			IContentDescription d = null;
-			try {
-				// optimized description lookup, might not succeed
-				d = ((IFile) resource).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(resource.getName());
-			}
-			if (_debugBuilderContentTypeDetection) {
-				if (types.length > 0) {
-					if (types.length > 1) {
-						System.out.println(resource.getFullPath() + ": " + "multiple based on name (probably hierarchical)"); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					for (int i = 0; i < types.length; i++) {
-						System.out.println(resource.getFullPath() + " matched: " + types[i].getId()); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-		return types;
-	}
-
-	/**
-	 * Iterate through the list of resources and build each one
-	 * 
-	 * @param monitor
-	 * @param resources
-	 */
-	protected void doFullBuild(int kind, Map args, IProgressMonitor monitor, IProject project) {
-		if (_debugBuilder) {
-			System.out.println(getClass().getName() + " building project " + project.getName()); //$NON-NLS-1$
-		}
-
-		final IProgressMonitor subMonitor = subMonitorFor(monitor, IProgressMonitor.UNKNOWN);
-		final int localKind = kind;
-		final Map localArgs = args;
-
-		final IProgressMonitor visitorMonitor = monitor;
-		IResourceVisitor internalBuilder = new IResourceVisitor() {
-			public boolean visit(IResource resource) throws CoreException {
-				if (resource.getType() == IResource.FILE) {
-					// for any supported file type, record the resource
-					IContentType[] contentTypes = detectContentTypes(resource);
-					if (contentTypes != null) {
-						build(localKind, localArgs, resource, contentTypes, subMonitor);
-						visitorMonitor.worked(1);
-					}
-					return false;
-				}
-				else {
-					return true;
-				}
-			}
-
-		};
-		try {
-			project.accept(internalBuilder);
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void doIncrementalBuild(int kind, Map args, IProgressMonitor monitor) {
-		IResourceDelta projectDelta = getDelta(getProject());
-		if (projectDelta == null) {
-			throw new IllegalArgumentException("delta is null, should do a full build"); //$NON-NLS-1$
-		}
-		if (_debugBuilder) {
-			if (projectDelta != null && projectDelta.getResource() != null) {
-				System.out.println(getClass().getName() + " building " + projectDelta.getResource().getFullPath()); //$NON-NLS-1$
-			}
-			else {
-				System.out.println(getClass().getName() + " building project " + getProject().getName()); //$NON-NLS-1$
-			}
-		}
-
-		final Map localArgs = args;
-		final int localKind = kind;
-		final IProgressMonitor localMonitor = subMonitorFor(monitor, IProgressMonitor.UNKNOWN, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
-		IResourceDeltaVisitor participantVisitor = new IResourceDeltaVisitor() {
-			public boolean visit(IResourceDelta delta) throws CoreException {
-				if (!localMonitor.isCanceled() && delta.getResource().getType() == IResource.FILE) {
-					IContentType[] contentTypes = detectContentTypes(delta.getResource());
-					if (contentTypes != null)
-						build(localKind, localArgs, delta.getResource(), contentTypes, localMonitor);
-				}
-				return delta.getAffectedChildren().length > 0;
-			}
-		};
-		try {
-			projectDelta.accept(participantVisitor);
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-		monitor.worked(1);
-	}
-
-	private String getDisplayName() {
-		return fName;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement,
-	 *      java.lang.String, java.lang.Object)
-	 */
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-		if (config != null) {
-			fName = config.getDeclaringExtension().getLabel();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void shutdownDelegates() {
-		for (int j = 0; j < fActiveDelegates.size(); j++) {
-			try {
-				((IBuilderDelegate) fActiveDelegates.get(j)).shutdown(getProject());
-			}
-			catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-		fActiveDelegates = new ArrayList(1);
-	}
-
-	// make private if ever used again
-	void doTaskTagProcessing() {
-		// Must make sure the builder is registered for projects which may
-		// have been created before this plugin was activated.
-		Job adder = new WorkspaceJob(SSECorePlugin.getResourceString("%ModelPlugin.0")) { //$NON-NLS-1$
-			public IStatus runInWorkspace(IProgressMonitor monitor) {
-				add(monitor, ResourcesPlugin.getWorkspace().getRoot(), null);
-				return Status.OK_STATUS;
-			}
-		};
-		adder.setSystem(true);
-		// use SHORT, since once executing, this job should be quick
-		adder.setPriority(Job.SHORT);
-		// since we have potential to change several .project files,
-		// we should wait until we can get exclusive access to
-		// whole workspace.
-		// TODO: future re-design should not require this.
-		adder.setRule(ResourcesPlugin.getWorkspace().getRoot());
-		adder.schedule();
-
-		// Register the ProjectChangeListener so that it can add the
-		// builder
-		// to projects as needed
-		changeListener = new ProjectChangeListener();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(changeListener, IResourceChangeEvent.PRE_BUILD);
-	}
-
-	/**
-	 * Only for use by ModelPlugin class
-	 */
-	public static void shutdown() {
-	}
-
-	/**
-	 * Only for use by ModelPlugin class
-	 */
-	public static void startup() {
-		// TODO:disabled for now
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/NullStructuredDocumentPartitioner.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/NullStructuredDocumentPartitioner.java
deleted file mode 100644
index 79a22b6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/NullStructuredDocumentPartitioner.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.document;
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TypedRegion;
-
-/**
- * To be used when no known partitioner is available. Always returns the
- * unknown type.
- */
-public class NullStructuredDocumentPartitioner implements IDocumentPartitioner {
-
-	public class NullStructuredTypedRegion implements ITypedRegion {
-
-		private int fLength;
-
-		private int fOffset;
-
-		private String fType;
-
-		public int getLength() {
-			return fLength;
-		}
-
-		public int getOffset() {
-			return fOffset;
-		}
-
-		public String getType() {
-			return fType;
-		}
-
-		public void setLength(int length) {
-			fLength = length;
-
-		}
-
-		public void setOffset(int offset) {
-			fOffset = offset;
-		}
-
-		public void setType(String type) {
-			fType = type;
-		}
-
-	}
-
-	public final static String ST_UNKNOWN_PARTITION = "org.eclipse.wst.sse.core.UNKNOWN_PARTITION_TYPE"; //$NON-NLS-1$
-	private final String[] legalTypes = new String[]{ST_UNKNOWN_PARTITION};
-
-	public NullStructuredDocumentPartitioner() {
-		super();
-	}
-
-	public ITypedRegion[] computePartitioning(int offset, int length) {
-		ITypedRegion[] alwaysOne = new ITypedRegion[]{createPartition(offset, length, ST_UNKNOWN_PARTITION)};
-		return alwaysOne;
-	}
-
-	public void connect(IDocument document) {
-		// nothing to do
-	}
-
-	public ITypedRegion createPartition(int offset, int length, String type) {
-		ITypedRegion result = new TypedRegion(offset, length, type);
-		return result;
-	}
-
-	public void disconnect() {
-		// nothing to do
-	}
-
-	public void documentAboutToBeChanged(DocumentEvent event) {
-	}
-
-	public boolean documentChanged(DocumentEvent event) {
-		return false;
-	}
-
-	public String getContentType(int offset) {
-		return getDefault();
-	}
-
-	public String getDefault() {
-		return ST_UNKNOWN_PARTITION;
-	}
-
-	public String[] getLegalContentTypes() {
-		return legalTypes;
-	}
-
-	public ITypedRegion getPartition(int offset) {
-		return createPartition(offset, 1, getDefault());
-	}
-
-	public String getPartitionType(IRegion region, int offset) {
-		return ST_UNKNOWN_PARTITION;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/TextUtilities.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/TextUtilities.java
deleted file mode 100644
index 91ec598..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/document/TextUtilities.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.document;
-
-
-/**
- * Collection of text functions.
- * 
- * @deprecated - marked as deprecated to remind us to phase this out (and/or
- *             move to "finished" version).
- */
-public class TextUtilities {
-
-	/**
-	 * @deprecated if possible, its best to use
-	 *             IDocument.getLegalLineDelimiters()
-	 */
-	public final static String[] fgDelimiters = new String[]{"\n", "\r", "\r\n"};//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-
-	/**
-	 * Determines which one of fgDelimiters appears first in the text. If none
-	 * of them the hint is returned.
-	 */
-	public static String determineLineDelimiter(StringBuffer textBuffer, String[] possibles, String hint) {
-		try {
-			// TODO: avoid use of String instance
-			String text = textBuffer.toString();
-			int[] info = indexOf(possibles, text, 0);
-			return possibles[info[1]];
-		} catch (ArrayIndexOutOfBoundsException x) {
-		}
-		return hint;
-	}
-
-	/**
-	 * Returns the position in the string greater than offset of the longest
-	 * matching search string.
-	 */
-	private static int[] indexOf(String[] searchStrings, String text, int offset) {
-
-		int[] result = {-1, -1};
-
-		for (int i = 0; i < searchStrings.length; i++) {
-			int index = text.indexOf(searchStrings[i], offset);
-			if (index >= 0) {
-
-				if (result[0] == -1) {
-					result[0] = index;
-					result[1] = i;
-				} else if (index < result[0]) {
-					result[0] = index;
-					result[1] = i;
-				} else if (index == result[0] && searchStrings[i].length() > searchStrings[result[1]].length()) {
-					result[0] = index;
-					result[1] = i;
-				}
-			}
-		}
-
-		return result;
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistry.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistry.java
deleted file mode 100644
index 8fab43b..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistry.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.modelhandler;
-
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-
-/**
- * The entries in this registry are, conceptually, singleton's Since only one
- * instance is created in the registry, and then that instance returned when
- * required.
- * 
- * Note that there is intentionally no 'remove' method, Since the registry
- * itself is read it when once, from the platform's plugin registry, and is
- * not intended to be modified after that. A change in an extenstion in a
- * plugin.xml will only take effect when the workbench is re-started.
- *  
- */
-public interface EmbeddedTypeRegistry {
-
-	/**
-	 * Method to return the specific type for the specific mimetype.
-	 */
-	public EmbeddedTypeHandler getTypeFor(String mimeType);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryImpl.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryImpl.java
deleted file mode 100644
index f8d6426..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.modelhandler;
-
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.modelhandler.IDocumentTypeHandler;
-
-
-/**
- *  
- */
-public class EmbeddedTypeRegistryImpl implements EmbeddedTypeRegistry {
-
-	private static EmbeddedTypeRegistry instance = null;
-
-	public synchronized static EmbeddedTypeRegistry getInstance() {
-		if (instance == null) {
-			instance = new EmbeddedTypeRegistryImpl();
-		}
-		return instance;
-	}
-
-	private HashSet hashSet = null;
-	private EmbeddedTypeHandler registryDefaultHandler = null;
-
-	/*
-	 * @see ContentTypeRegistry#getTypeFor(String)
-	 */
-	/**
-	 * Constructor for ContentTypeRegistryImpl.
-	 */
-	private EmbeddedTypeRegistryImpl() {
-		super();
-		hashSet = new HashSet();
-		new EmbeddedTypeRegistryReader().readRegistry(hashSet);
-	}
-
-	/**
-	 * @see ContentTypeRegistry#add(ContentTypeDescription)
-	 */
-	void add(IDocumentTypeHandler contentTypeDescription) {
-		hashSet.add(contentTypeDescription);
-	}
-
-	private EmbeddedTypeHandler getJSPDefaultEmbeddedType() {
-		return getTypeFor("text/html"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Method getRegistryDefault. We cache the default handler, since can't
-	 * change once plugin descriptors are loaded.
-	 * 
-	 * @return EmbeddedTypeHandler
-	 */
-	private EmbeddedTypeHandler getRegistryDefault() {
-		if (registryDefaultHandler == null) {
-			Iterator it = hashSet.iterator();
-			while ((registryDefaultHandler == null) && (it.hasNext())) { // safe
-				// cast
-				// since
-				// 'add'
-				// requires
-				// EmbeddedContentTypeDescription
-				EmbeddedTypeHandler item = (EmbeddedTypeHandler) it.next();
-				if ((item != null) && (item.isDefault())) {
-					registryDefaultHandler = item;
-					break;
-				}
-			}
-		}
-		return registryDefaultHandler;
-	}
-
-	/**
-	 * Finds the contentTypeDescription based on literal id. Its basically a
-	 * "first found first returned". Note the order is fairly unpredictable,
-	 * so non-unique ids would cause problems.
-	 */
-	public EmbeddedTypeHandler getTypeFor(String mimeType) {
-		// Note: the reason we have this precondition is that the
-		// default is different inside the registry than when called,
-		// for example, from the JSPLoader. For the JSPLoader, if there
-		// is no mimetype, the default should be HTML. Here, if there is
-		// some mimetype, but it is not recognized, we return a default
-		// for XML. This is required for various voice xml types, etc.
-		EmbeddedTypeHandler found = null;
-		if (mimeType == null || mimeType.trim().length() == 0) {
-			found = getJSPDefaultEmbeddedType();
-		} else {
-			Iterator it = hashSet.iterator();
-			while ((found == null) && (it.hasNext())) { // safe cast since
-				// 'add' requires
-				// EmbeddedContentTypeDescription
-				EmbeddedTypeHandler item = (EmbeddedTypeHandler) it.next();
-				if ((item != null) && (item.getSupportedMimeTypes().contains(mimeType))) {
-					found = item;
-					break;
-				}
-			}
-		}
-		if (found == null) {
-			found = getRegistryDefault();
-		}
-		return found;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryReader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryReader.java
deleted file mode 100644
index 6d6c1f9..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/EmbeddedTypeRegistryReader.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.modelhandler;
-
-import java.util.Set;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.util.Assert;
-
-
-public class EmbeddedTypeRegistryReader {
-	protected String ATT_CLASS = "class"; //$NON-NLS-1$
-	protected String EXTENSION_POINT_ID = "embeddedTypeHandler"; //$NON-NLS-1$
-
-
-	protected String PLUGIN_ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-	protected String TAG_NAME = "embeddedTypeHandler"; //$NON-NLS-1$
-
-	EmbeddedTypeRegistryReader() {
-		super();
-	}
-
-	protected EmbeddedTypeHandler readElement(IConfigurationElement element) {
-
-		EmbeddedTypeHandler contentTypeDescription = null;
-		if (element.getName().equals(TAG_NAME)) {
-			try {
-				contentTypeDescription = (EmbeddedTypeHandler) element.createExecutableExtension(ATT_CLASS);
-			} catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-		Assert.isNotNull(contentTypeDescription, "Error reading content type description"); //$NON-NLS-1$
-		return contentTypeDescription;
-	}
-
-	/**
-	 * We simply require an 'add' method, of what ever it is we are to read
-	 * into
-	 */
-	void readRegistry(Set set) {
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		IExtensionPoint point = extensionRegistry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				EmbeddedTypeHandler embeddedContentType = readElement(elements[i]);
-				// null can be returned if there's an error reading the
-				// element
-				if (embeddedContentType != null) {
-					set.add(embeddedContentType);
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistry.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistry.java
deleted file mode 100644
index 383af34..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistry.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.modelhandler;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-
-public class ModelHandlerRegistry {
-	private static ModelHandlerRegistry instance = null;
-
-	private static IContentTypeManager getContentTypeRegistry() {
-		IContentTypeManager registry = Platform.getContentTypeManager();
-		return registry;
-	}
-
-	/**
-	 */
-	public synchronized static ModelHandlerRegistry getInstance() {
-		if (instance == null) {
-			instance = new ModelHandlerRegistry();
-		}
-		return instance;
-	}
-
-	private IModelHandler defaultHandler = null;
-	private ModelHandlerRegistryReader reader = new ModelHandlerRegistryReader();
-
-	/*
-	 * @see ContentTypeRegistry#getTypeFor(String)
-	 */
-	/**
-	 * Constructor for ContentTypeRegistryImpl.
-	 */
-	protected ModelHandlerRegistry() {
-		super();
-		reader = new ModelHandlerRegistryReader().readRegistry();
-	}
-
-	/**
-	 * Finds the default model handler. Note: we still go through the registry
-	 * to be sure to get the existing instance, but then we do remember it, so
-	 * subsequent requests will be faster. The first time through, we do check
-	 * the whole list, to be sure there is only one.
-	 *  
-	 */
-	final public IModelHandler getDefault() {
-		if (defaultHandler == null) {
-			IConfigurationElement[] elements = reader.elements;
-			for (int i = 0; i < elements.length; i++) {
-				boolean ofInterest = reader.isElementDefault(elements[i]);
-				if (ofInterest) {
-					// if, here within the search loop we've already found
-					// one defaultHandler, then something is wrong!
-					if (defaultHandler == null) {
-						defaultHandler = reader.getInstance(elements[i]);
-					} else {
-						String errorString = "Program or configuration error. More than one default content handler found"; //$NON-NLS-1$
-						Logger.log(Logger.ERROR, errorString);
-						throw new IllegalStateException(errorString);
-					}
-				}
-			}
-		}
-		if (defaultHandler == null) {
-			String errorString = "Program or configuration error. No default content type handler found."; //$NON-NLS-1$
-			Logger.log(Logger.ERROR, errorString);
-			throw new IllegalStateException(errorString);
-		}
-		return defaultHandler;
-	}
-
-	/**
-	 * Finds the contentTypeDescription based on outcome of the
-	 * ContentTypeDescription's canHandle(IResource) method.
-	 * 
-	 * @throws CoreException
-	 */
-	public IModelHandler getHandlerFor(IFile iFile) throws CoreException {
-		IModelHandler modelHandler = null;
-		IContentDescription contentDescription = null;
-		IContentType contentType = null;
-		boolean exists = iFile.exists();
-		if (exists) {
-			// try the optimized method first as the description may be cached
-			contentDescription = iFile.getContentDescription();
-			if (contentDescription != null) {
-				// use the provided description
-				contentType = contentDescription.getContentType();
-			} else {
-				// use the more thorough discovery method to get a description
-				InputStream contents = null;
-				try {
-					contents = iFile.getContents(true);
-					contentDescription = Platform.getContentTypeManager().getDescriptionFor(contents, iFile.getName(), IContentDescription.ALL);
-					if (contentDescription != null) {
-						contentType = contentDescription.getContentType();
-					}
-				} catch (IOException e) {
-					// nothing further can be done, but will log for debugging
-					Logger.logException(e);
-				} finally {
-					if (contents != null) {
-						try {
-							contents.close();
-						} catch (IOException e1) {
-							// nothing can be done
-						}
-					}
-				}
-			}
-		}
-
-		// if we couldn't get the content type from a description, try basing
-		// it on the filename
-		if (contentType == null) {
-			contentType = Platform.getContentTypeManager().findContentTypeFor(iFile.getName());
-		}
-
-		if (contentType != null) {
-			modelHandler = getHandlerForContentType(contentType);
-		} else {
-			// temp hard coding for null content type
-			modelHandler = getHandlerForID("org.eclipse.wst.sse.core.handler.xml"); //$NON-NLS-1$
-		}
-
-		return modelHandler;
-	}
-
-	/**
-	 * @see ContentTypeRegistry#add(ContentTypeDescription)
-	 */
-	//	void add(IModelHandler contentTypeDescription) {
-	//		arrayList.add(contentTypeDescription);
-	//	}
-	/*
-	 * @see ContentTypeRegistry#getModelFor(String)
-	 */
-	/**
-	 * @throws IOException
-	 * @see ContentTypeRegistry#getTypeFor(String, InputStream)
-	 */
-	public IModelHandler getHandlerFor(String filename, InputStream inputStream) throws IOException {
-		InputStream iStream = Utilities.getMarkSupportedStream(inputStream);
-		IModelHandler modelHandler = null;
-		IContentType contentType = null;
-		if (inputStream != null) {
-			try {
-				iStream.mark(CodedIO.MAX_MARK_SIZE);
-				contentType = getContentTypeRegistry().findContentTypeFor(Utilities.getLimitedStream(iStream), filename);
-			}
-			// XXX: Remove when we build with the fix for Eclipse bug #63625
-			catch (FileNotFoundException fnfe) {
-				Logger.logException(fnfe);
-			} finally {
-				if (iStream != null && iStream.markSupported()) {
-					iStream.reset();
-				}
-			}
-
-		}
-		if (contentType == null) {
-			contentType = getContentTypeRegistry().findContentTypeFor(filename);
-		}
-		// if all else failed, try to detect solely on contents; done last for performance reasons
-		if (contentType == null) {
-			contentType = getContentTypeRegistry().findContentTypeFor(Utilities.getLimitedStream(iStream), null);
-		}
-		modelHandler = getHandlerForContentType(contentType);
-		return modelHandler;
-	}
-
-
-	/**
-	 * Gets registered modelHandlers for given content type. TODO: eventually
-	 * need to look at contentType's parent types to see if more general type
-	 * can handle (e.g. if we got xsl which was a subtype of xml).
-	 * 
-	 * @param contentType
-	 * @return
-	 */
-	private IModelHandler getHandlerForContentType(IContentType contentType) {
-
-		IModelHandler found = null;
-		// temp hard coding for null content type
-		if (contentType == null) {
-			found = getHandlerForID("org.eclipse.wst.sse.core.handler.xml"); //$NON-NLS-1$
-		} else {
-			//String associatedContentTypeId = contentType.getId();
-			IConfigurationElement[] elements = reader.elements;
-			if (elements != null) {
-				for (int i = 0; i < elements.length; i++) {
-					String currentId = reader.getAssociatedContentTypeId(elements[i]);
-					IContentType modelContentType = Platform.getContentTypeManager().getContentType(currentId);
-					if (contentType.isKindOf(modelContentType)) {
-						IModelHandler item = reader.getInstance(elements[i]);
-						found = item;
-					}
-				}
-			} else {
-				Logger.log(Logger.WARNING_DEBUG, "There were no Model Handler found in registry"); //$NON-NLS-1$
-			}
-		}
-		return found;
-	}
-
-	/**
-	 * Finds the ModelHandler based on literal content type id. This should
-	 * not normally be needed, in is in cases when a model needs to be
-	 * created, and there is no resource. Its basically a "first found first
-	 * returned". Note the order is fairly unpredictable, so non-unique ids
-	 * would cause problems, and are not checked.
-	 */
-	public IModelHandler getHandlerForContentTypeId(String contentTypeId) {
-		IContentType contentType = Platform.getContentTypeManager().getContentType(contentTypeId);
-		return getHandlerForContentType(contentType);
-		//		IModelHandler found = null;
-		//		IConfigurationElement[] elements = reader.elements;
-		//		if (elements != null) {
-		//			for (int i = 0; i < elements.length; i++) {
-		//				String currentId = reader.getAssociatedContentTypeId(elements[i]);
-		//				if (contentTypeId.equals(currentId)) {
-		//					IModelHandler item = reader.getInstance(elements[i]);
-		//					found = item;
-		//				}
-		//			}
-		//		}
-		//		else {
-		//			Logger.log(Logger.WARNING_DEBUG, "There were no Model Handler found
-		// in registry");
-		//		}
-		//		return found;
-	}
-
-	/**
-	 * Finds the ModelHandler based on literal id. Its basically a "first
-	 * found first returned". Note the order is fairly unpredictable, so
-	 * non-unique ids would cause problems, and are not checked.
-	 */
-	private IModelHandler getHandlerForID(String modelId) {
-		IModelHandler found = null;
-		IConfigurationElement[] elements = reader.elements;
-		if (elements != null) {
-			for (int i = 0; i < elements.length; i++) {
-				String currentId = reader.getId(elements[i]);
-				if (modelId.equals(currentId)) {
-					IModelHandler item = reader.getInstance(elements[i]);
-					found = item;
-				}
-			}
-		} else {
-			Logger.log(Logger.WARNING_DEBUG, "There were no Model Handler found in registry"); //$NON-NLS-1$
-		}
-		return found;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistryReader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistryReader.java
deleted file mode 100644
index c2c49d5..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerRegistryReader.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.modelhandler;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.modelhandler.AbstractModelHandler;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-
-
-/**
- * This class just converts what's in the plugins registry into a form more
- * easily useable by others, the ContentTypeRegistry.
- */
-class ModelHandlerRegistryReader {
-	private HashMap allReadyCreateInstances = new HashMap();
-	protected String ATT_ASSOCIATED_CONTENT_TYPE = "associatedContentTypeId"; //$NON-NLS-1$
-	protected String ATT_CLASS = "class"; //$NON-NLS-1$
-	protected String ATT_DEFAULT = "default"; //$NON-NLS-1$
-	protected String ATT_ID = "id"; //$NON-NLS-1$
-	IConfigurationElement[] elements;
-	protected String EXTENSION_POINT_ID = "modelHandler"; //$NON-NLS-1$
-	//
-	protected String PLUGIN_ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-	protected String TAG_NAME = "modelHandler"; //$NON-NLS-1$
-
-	//
-	/**
-	 * ContentTypeRegistryReader constructor comment.
-	 */
-	ModelHandlerRegistryReader() {
-		super();
-	}
-
-	String getAssociatedContentTypeId(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_ASSOCIATED_CONTENT_TYPE);
-		return value;
-	}
-
-	String getId(IConfigurationElement element) {
-		String idValue = element.getAttribute(ATT_ID);
-		return idValue;
-	}
-
-	synchronized IModelHandler getInstance(IConfigurationElement element) {
-		// May need to reconsider, but for now, we'll assume all clients must
-		// subclass AbstractContentTypeIdentifier. Its easier and safer, for
-		// this
-		// low level "system" object. (That is, we can check and set "package
-		// protected"
-		// attributes.
-		AbstractModelHandler modelHandler = (AbstractModelHandler) allReadyCreateInstances.get(getId(element));
-		if (modelHandler == null) {
-			try {
-				modelHandler = (AbstractModelHandler) element.createExecutableExtension(ATT_CLASS);
-				if (modelHandler != null) {
-					allReadyCreateInstances.put(getId(element), modelHandler);
-					String defaultValue = element.getAttribute(ATT_DEFAULT);
-					if (defaultValue != null && "true".equals(defaultValue)) //$NON-NLS-1$
-						modelHandler.setDefault(true);
-					else
-						modelHandler.setDefault(false);
-					// TODO -- set and check attributes vs. created instance
-					//contentTypeIdentifier.setOrCheckId(element.getAttribute(ATT_ID));
-				}
-			} catch (CoreException e) {
-				org.eclipse.wst.sse.core.internal.Logger.logException(e);
-			}
-		}
-		return modelHandler;
-	}
-
-	public boolean isElementDefault(IConfigurationElement element) {
-		String defaultValue = element.getAttribute(ATT_DEFAULT);
-		if (defaultValue != null && "true".equals(defaultValue)) //$NON-NLS-1$
-			return true;
-		else
-			return false;
-	}
-
-	ModelHandlerRegistryReader readRegistry() {
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		IExtensionPoint point = extensionRegistry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-		if (point != null) {
-			// just remember the elements, so plugins don't have to
-			// be activated, unless extension matches those "of interest".
-			elements = point.getConfigurationElements();
-		}
-		return this;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerUtility.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerUtility.java
deleted file mode 100644
index 58fb94f..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/ModelHandlerUtility.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.modelhandler;
-
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.modelhandler.IDocumentTypeHandler;
-
-/**
- * 
- * Likely a temporary class to be replaced by plugin, eventually.
- */
-public class ModelHandlerUtility {
-
-	private static ModelHandlerRegistry contentTypeRegistry;
-
-	public static IDocumentTypeHandler getContentTypeFor(String string) {
-		return getContentTypeRegistry().getHandlerForContentTypeId(string);
-	}
-
-	private static ModelHandlerRegistry getContentTypeRegistry() {
-		if (contentTypeRegistry == null) {
-			contentTypeRegistry = ModelHandlerRegistry.getInstance();
-		}
-		return contentTypeRegistry;
-	}
-
-	public static EmbeddedTypeHandler getDefaultEmbeddedType() {
-		return getEmbeddedContentTypeFor("text/html"); //$NON-NLS-1$
-	}
-
-	public static EmbeddedTypeHandler getEmbeddedContentTypeFor(String string) {
-		EmbeddedTypeHandler instance = null;
-		instance = EmbeddedTypeRegistryImpl.getInstance().getTypeFor(string);
-		return instance;
-	}
-
-	public ModelHandlerUtility() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/PluginContributedFactoryReader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/PluginContributedFactoryReader.java
deleted file mode 100644
index 475cbd6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/modelhandler/PluginContributedFactoryReader.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.modelhandler;
-
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.modelhandler.IDocumentTypeHandler;
-
-
-/**
- * 
- * Clients can make use of IExecutableExtension to handle the optional adapter
- * class and key. Typically, many clients use a typical pattern of providing
- * an adapter class and key in their null argument constructor anyway, so
- * they'd only have to use IExecutableExtension if the factory was for more
- * than one.
- */
-public class PluginContributedFactoryReader {
-	//	protected final String ATTR_ADAPTERKEY = "adapterKeyClass";
-	// //$NON-NLS-1$
-	//	protected final String ATTR_REGISTERADAPTER = "registerAdapters";
-	// //$NON-NLS-1$
-	private static PluginContributedFactoryReader reader = null;
-
-	public synchronized static PluginContributedFactoryReader getInstance() {
-		if (reader == null) {
-			reader = new PluginContributedFactoryReader();
-		}
-		return reader;
-	}
-
-	protected final String ATTR_CLASS = "class"; //$NON-NLS-1$
-	protected final String ATTR_CONTENTTYPE = "contentTypeIdentiferId"; //$NON-NLS-1$
-
-	protected final String EXTENSION_POINT_ID = "contentTypeFactoryContribution"; //$NON-NLS-1$
-	protected final String TAG_NAME = "factory"; //$NON-NLS-1$
-
-	protected PluginContributedFactoryReader() {
-		super();
-	}
-
-	public List getFactories(IDocumentTypeHandler handler) {
-		return loadRegistry(handler.getId());
-	}
-
-	public List getFactories(String type) {
-		return loadRegistry(type);
-	}
-
-	protected AdapterFactory loadFactoryFromConfigurationElement(IConfigurationElement element, Object requesterType) {
-		AdapterFactory factory = null;
-		if (element.getName().equals(TAG_NAME)) {
-			String contentType = element.getAttribute(ATTR_CONTENTTYPE);
-			if (!requesterType.equals(contentType))
-				return null;
-			String className = element.getAttribute(ATTR_CLASS);
-			//			String adapterKeyClass = element.getAttribute(ATTR_ADAPTERKEY);
-			//			String registerAdapters =
-			// element.getAttribute(ATTR_REGISTERADAPTER);
-
-			// if className is null, then no one defined the extension point
-			// for adapter factories
-			if (className != null) {
-				try {
-					factory = (AdapterFactory) element.createExecutableExtension(ATTR_CLASS);
-				} catch (CoreException e) {
-					// if an error occurs here, its probably that the plugin
-					// could not be found/loaded
-					org.eclipse.wst.sse.core.internal.Logger.logException("Could not find class: " + className, e); //$NON-NLS-1$
-				} catch (Exception e) {
-					// if an error occurs here, its probably that the plugin
-					// could not be found/loaded -- but in any case we just
-					// want
-					// to log the error and continue running and best we can.
-					org.eclipse.wst.sse.core.internal.Logger.logException("Could not find class: " + className, e); //$NON-NLS-1$
-				}
-				//				if (plugin != null) {
-				//					factory = oldAttributesCode(element, factory, className,
-				// plugin);
-				//
-			}
-		}
-
-		return factory;
-	}
-
-	protected List loadRegistry(Object contentType) {
-		List factoryList = null; // new Vector();
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		IExtensionPoint point = extensionRegistry.getExtensionPoint(SSECorePlugin.ID, EXTENSION_POINT_ID);
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			if (elements.length > 0) {
-				// this is called a lot, so don't create vector unless really
-				// needed
-				// TODO: could eventually cache in a hashtable, or something,
-				// to avoid repeat processing
-				factoryList = new Vector();
-				for (int i = 0; i < elements.length; i++) {
-					AdapterFactory factory = loadFactoryFromConfigurationElement(elements[i], contentType);
-					if (factory != null)
-						factoryList.add(factory);
-				}
-			}
-		}
-		return factoryList;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ContextRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ContextRegion.java
deleted file mode 100644
index 7fc2641..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ContextRegion.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.parser;
-
-
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-/**
- * Regions of this class are intended specifically for XML/HTML/JSPs. Other
- * languages may need their own subclasses. (See the updateModel method).
- */
-public class ContextRegion implements ITextRegion {
-	protected int fLength;
-
-	protected int fStart;
-	protected int fTextLength;
-	protected String fType;
-
-	protected ContextRegion() {
-		super();
-	}
-
-	public ContextRegion(String newContext, int newStart, int newTextLength, int newLength) {
-		fType = newContext;
-		fStart = newStart;
-		fTextLength = newTextLength;
-		fLength = newLength;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.core.ITextRegionCore#adjust(int)
-	 */
-	public void adjust(int i) {
-		fStart += i;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.core.ITextRegionCore#adjustLengthWith(int)
-	 */
-	public void adjustLengthWith(int i) {
-		fLength += i;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.core.ITextRegionCore#adjustStart(int)
-	 */
-	public void adjustStart(int i) {
-		fStart += i;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		fTextLength += i;
-
-	}
-
-	protected boolean allLetterOrDigit(String changes) {
-		boolean result = true;
-		for (int i = 0; i < changes.length(); i++) {
-			// TO_DO_FUTURE: check that a Java Letter or Digit is
-			// the same thing as an XML letter or digit
-			if (!(Character.isLetterOrDigit(changes.charAt(i)))) {
-				result = false;
-				break;
-			}
-		}
-		return result;
-	}
-
-	protected boolean allWhiteSpace(String changes) {
-		boolean result = true;
-		for (int i = 0; i < changes.length(); i++) {
-			if (!Character.isWhitespace(changes.charAt(i))) {
-				result = false;
-				break;
-			}
-		}
-
-		return result;
-	}
-
-	protected boolean canHandleAsLetterOrDigit(String changes, int requestStart, int lengthToReplace) {
-		boolean result = false;
-		// Make sure we are in a non-white space area
-		if ((requestStart <= (getTextEnd())) && (allLetterOrDigit(changes))) {
-			result = true;
-		}
-		return result;
-	}
-
-	protected boolean canHandleAsWhiteSpace(String changes, int requestStart, int lengthToReplace) {
-		boolean result = false;
-		// if we are in the "white space" area of a region, then
-		// we don't want to handle, a reparse is needed.
-		// the white space region is consider anywhere that would
-		// leave whitespace between this character and the text part.
-		// and of course, we can insert whitespace in whitespace region
-		//
-		// if there is no whitespace in this region, no need to look further
-		if (getEnd() > getTextEnd()) {
-			// no need to add one to end of text, as we used to, since we
-			// change definition of length to equate to offset plus one.
-			if (requestStart > getTextEnd()) {
-				// ok, we are in the whitespace region, so we can't handle,
-				// unless
-				// we are just inserting whitespace.
-				if (allWhiteSpace(changes)) {
-					result = true;
-				} else {
-					result = false;
-				}
-
-			}
-		}
-
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.core.ITextRegionCore#contains(int)
-	 */
-	public boolean contains(int position) {
-
-		return fStart <= position && position < fStart + fLength;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.core.ITextRegionCore#equatePositions(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = region.getLength();
-		fTextLength = region.getTextLength();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#getEnd()
-	 */
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#getTextEnd()
-	 */
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public void setLength(int i) {
-		fLength = i;
-	}
-
-	public void setStart(int i) {
-		fStart = i;
-	}
-
-	public void setTextLength(int i) {
-		fTextLength = i;
-	}
-
-	public void setType(String string) {
-		fType = string;
-	}
-
-	public String toString() {
-		String className = getClass().getName();
-		String shortClassName = className.substring(className.lastIndexOf(".") + 1); //$NON-NLS-1$
-		// ==> // String resultText = null;
-		String result = shortClassName + "--> " + getType() + ": " + getStart() + "-" + getTextEnd() + (getTextEnd() != getEnd() ? ("/" + getEnd()) : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		// NOTE: if the document held by any region has been updated and the
-		// region offsets have not
-		// yet been updated, the output from this method invalid.
-		//return com.ibm.sed.util.StringUtils.escape("('"+(getFirstRegion()
-		// == null || document == null? "" :
-		// getText(getFirstRegion()))+"'"+getStart()+" -
-		// "+getEnd()+"'"+(getClose() == null || document == null ||
-		// getRegions().size()<2 ? "" : getText(getClose()))+"')
-		// "+getRegions());
-		return result;
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// the four types we used to handle here, have all been moved to
-		// specific region classes.
-		// XML_TAG_ATTRIBUTE_VALUE
-		// XML_TAG_ATTRIBUTE_NAME
-		// XML_CONTENT
-		// XML_CDATA_TEXT
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ForeignRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ForeignRegion.java
deleted file mode 100644
index 57233dc..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ForeignRegion.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.parser;
-
-
-
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-public class ForeignRegion extends ContextRegion {
-
-	protected String language = null;
-	protected String surroundingTag = null;
-
-	/**
-	 * ForeignRegion constructor comment.
-	 */
-	public ForeignRegion() {
-		super();
-	}
-
-	public ForeignRegion(String newContext, int newStart, int newTextLength, int newLength) {
-		super(newContext, newStart, newTextLength, newLength);
-	}
-
-	public ForeignRegion(String newContext, int newStart, int newTextLength, int newLength, String newLanguage) {
-		super(newContext, newStart, newTextLength, newLength);
-		setLanguage(newLanguage);
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getLanguage() {
-		return language;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public java.lang.String getSurroundingTag() {
-		return surroundingTag;
-	}
-
-	/**
-	 * 
-	 * @param newLanguage
-	 *            java.lang.String
-	 */
-	public void setLanguage(java.lang.String newLanguage) {
-		language = newLanguage;
-	}
-
-	/**
-	 * @param newSurroundingTag
-	 *            java.lang.String
-	 */
-	public void setSurroundingTag(java.lang.String newSurroundingTag) {
-		surroundingTag = newSurroundingTag;
-	}
-
-	public String toString() {
-		return "FOREIGN: " + super.toString();//$NON-NLS-1$
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion flatnode, String changes, int requestStart, int lengthToReplace) {
-		org.eclipse.wst.sse.core.events.RegionChangedEvent result = null;
-		int lengthDifference = org.eclipse.wst.sse.core.util.Utilities.calculateLengthDifference(changes, lengthToReplace);
-		fLength += lengthDifference;
-		fTextLength += lengthDifference;
-		result = new RegionChangedEvent(flatnode.getParentDocument(), requester, flatnode, this, changes, requestStart, lengthToReplace);
-
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocument.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocument.java
deleted file mode 100644
index bf8081a..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocument.java
+++ /dev/null
@@ -1,2614 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPartitioningException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DefaultLineTracker;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.DocumentPartitioningChangedEvent;
-import org.eclipse.jface.text.FindReplaceDocumentAdapter;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentExtension;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.IDocumentPartitionerExtension2;
-import org.eclipse.jface.text.IDocumentPartitioningListener;
-import org.eclipse.jface.text.IDocumentPartitioningListenerExtension;
-import org.eclipse.jface.text.IDocumentPartitioningListenerExtension2;
-import org.eclipse.jface.text.ILineTracker;
-import org.eclipse.jface.text.IPositionUpdater;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextStore;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.SequentialRewriteTextStore;
-import org.eclipse.jface.text.TypedRegion;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.sse.core.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.events.AboutToBeChangeEvent;
-import org.eclipse.wst.sse.core.events.IModelAboutToBeChangedListener;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NewModelEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.undo.StructuredTextUndoManager;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.DeleteEqualPositionUpdater;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.IStructuredTextReParser;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-
-/**
- * The standard implementation of structured document.
- */
-public class BasicStructuredDocument implements IStructuredDocument, IDocumentExtension, IDocumentExtension3, CharSequence, IRegionComparible {
-
-	/**
-	 * This ThreadLocal construct is used so each thread can maintain its only
-	 * pointer to the double linked list that manages the documents regions.
-	 * The only thing we "gaurd" for is that a previously cached region has
-	 * been deleted.
-	 * 
-	 * The object that is kept in the thread local's map, is just a pointer to
-	 * an array position. That's because the object there needs to be "free"
-	 * from references to other objects, or it will not be garbage collected.
-	 */
-	private class CurrentDocumentRegionCache {
-		// I'm assuming for now there would never be so many threads that
-		// this arrayList needs to be bounded, or 'cleaned up'.
-		// this assumption should be tested in practice and long running
-		// jobs -- found not to be a good assumption. See below.
-		private List cachedRegionPositionArray = Collections.synchronizedList(new ArrayList());
-		private final boolean DEBUG = false;
-		private final int MAX_SIZE = 50;
-
-
-		private ThreadLocal threadLocalCachePosition = new ThreadLocal();
-
-		IStructuredDocumentRegion get() {
-			IStructuredDocumentRegion region = null;
-			int pos = getThreadLocalPosition();
-			try {
-				region = (IStructuredDocumentRegion) cachedRegionPositionArray.get(pos);
-			} catch (IndexOutOfBoundsException e) {
-				// even though the cachedRegionPosition is synchronized,
-				// that just means each access is syncronized, its
-				// still possible for another thread to cause it to
-				// be cleared, after this thread gets it position.
-				// So, if that happens, all we can do is reset to beginning.
-				// This should be extremely rare (in other words, probably
-				// not worth using synchronized blocks
-				// to access cachedRegionPositionArray.
-				reinitThreadLocalPosition();
-				resetToInitialState();
-			}
-			if (region == null) {
-				region = resetToInitialState();
-			} else
-			// region not null
-			if (region.isDeleted()) {
-				region = resetToInitialState();
-			}
-			return region;
-		}
-
-		private int getThreadLocalPosition() {
-			Object threadLocalObject = threadLocalCachePosition.get();
-			int pos = -1;
-			if (threadLocalObject == null) {
-
-				pos = reinitThreadLocalPosition();
-			} else {
-				pos = ((Integer) threadLocalObject).intValue();
-			}
-			return pos;
-		}
-
-		/**
-		 * @return
-		 */
-		private int reinitThreadLocalPosition() {
-			Integer position;
-			int pos;
-			// TODO_future: think of a better solution that doesn't
-			// require this kludge. This is especially required because
-			// some infrasture, such as reconciler, actually null out
-			// their thread object and recreate it, 500 msecs later
-			// (approximately).
-			// Note: the likely solution in future is to clear after every
-			// heavy use of getCachedRegion, such as in creating node
-			// lists, or reparsing or partioning.
-			if (cachedRegionPositionArray.size() > MAX_SIZE) {
-				cachedRegionPositionArray.clear();
-				if (DEBUG) {
-					System.out.println("cachedRegionPositionArray cleared at size " + MAX_SIZE);
-				}
-			}
-			position = new Integer(cachedRegionPositionArray.size());
-			threadLocalCachePosition.set(position);
-			cachedRegionPositionArray.add(position.intValue(), null);
-			pos = position.intValue();
-			return pos;
-		}
-
-		private IStructuredDocumentRegion resetToInitialState() {
-			IStructuredDocumentRegion region;
-			region = getFirstStructuredDocumentRegion();
-			set(region);
-			return region;
-		}
-
-		// TODO: make privite if used, else delete
-		void set(int pos, IStructuredDocumentRegion region) {
-			cachedRegionPositionArray.set(pos, region);
-		}
-
-		void set(IStructuredDocumentRegion region) {
-			try {
-				int pos = getThreadLocalPosition();
-				cachedRegionPositionArray.set(pos, region);
-			} catch (IndexOutOfBoundsException e) {
-				// even though the cachedRegionPosition is synchronized,
-				// that just means each access is syncronized, its
-				// still possible for another thread to cause it to
-				// be cleared, after this thread gets it position.
-				// So, if that happens, all we can do is reset to beginning.
-				// This should be extremely rare (in other words, probably
-				// not worth using synchronized blocks
-				// to access cachedRegionPositionArray.
-				reinitThreadLocalPosition();
-				resetToInitialState();
-			}
-		}
-	}
-
-	/**
-	 * This NullDocumentEvent is used to complete the "aboutToChange" and
-	 * "changed" cycle, when in fact the original change is no longer valid.
-	 * The only known (valid) case of this is when a model re-initialize takes
-	 * place, which causes setText to be called in the middle of some previous
-	 * change. [This architecture will be improved in future].
-	 */
-	public class NullDocumentEvent extends DocumentEvent {
-		public NullDocumentEvent() {
-			this(BasicStructuredDocument.this, 0, 0, ""); //$NON-NLS-1$
-		}
-
-		private NullDocumentEvent(IDocument doc, int offset, int length, String text) {
-			super(doc, offset, length, text);
-		}
-	}
-
-	class RegisteredReplace {
-		/** The owner of this replace operation. */
-		IDocumentListener fOwner;
-		/** The replace operation */
-		IDocumentExtension.IReplace fReplace;
-
-		/**
-		 * Creates a new bundle object.
-		 * 
-		 * @param owner
-		 *            the document listener owning the replace operation
-		 * @param replace
-		 *            the replace operation
-		 */
-		RegisteredReplace(IDocumentListener owner, IDocumentExtension.IReplace replace) {
-			fOwner = owner;
-			fReplace = replace;
-		}
-	}
-
-	/**
-	 * these control variable isn't mark as 'final' since there's some unit
-	 * tests that manipulate it. For final product, it should be.
-	 */
-
-	private static boolean USE_LOCAL_THREAD = true;
-
-	/**
-	 * purely for debugging/performance measurements In practice, would always
-	 * be 'true'. (and should never be called by called by clients). Its not
-	 * 'final' or private just so it can be varied during
-	 * debugging/performance measurement runs.
-	 * 
-	 * @param use_local_thread
-	 */
-	public static void setUSE_LOCAL_THREAD(final boolean use_local_thread) {
-		USE_LOCAL_THREAD = use_local_thread;
-	}
-
-	private IStructuredDocumentRegion cachedDocumentRegion;
-	private EncodingMemento encodingMemento;
-	private boolean fAcceptPostNotificationReplaces = true;
-	private CurrentDocumentRegionCache fCurrentDocumnetRegionCache;
-	private DocumentEvent fDocumentEvent;
-	private IDocumentListener[] fDocumentListeners;
-
-	/**
-	 * The registered document partitioners.
-	 * 
-	 * @since 3.0
-	 */
-	private Map fDocumentPartitioners;
-	/** The registered document partitioning listeners */
-	private List fDocumentPartitioningListeners;
-	private IStructuredDocumentRegion firstDocumentRegion;
-	private RegionParser fParser;
-	private GenericPositionManager fPositionManager;
-	private List fPostNotificationChanges;
-	private IDocumentListener[] fPrenotifiedDocumentListeners;
-	private int fReentranceCount = 0;
-	private IStructuredTextReParser fReParser;
-	private int fStoppedCount = 0;
-
-	private ITextStore fStore;
-	private Object[] fStructuredDocumentAboutToChangeListeners;
-	private Object[] fStructuredDocumentChangedListeners;
-	private Object[] fStructuredDocumentChangingListeners;
-
-	private ILineTracker fTracker;
-	private IStructuredTextUndoManager fUndoManager;
-	private IStructuredDocumentRegion lastDocumentRegion;
-
-	private byte[] listenerLock = new byte[0];
-	private NullDocumentEvent NULL_DOCUMENT_EVENT;
-
-	//
-	/**
-	 * in case preferred delimiter is not set, we'll assume the platform
-	 * default Note: it is not final static to make sure it won't be inlined
-	 * by compiler.
-	 */
-	private final String PlatformLineDelimiter = System.getProperty("line.separator"); //$NON-NLS-1$
-	/**
-	 * theoretically, a document can contain mixed line delimiters
-	 */
-	private String preferedDelimiter;
-	private final String READ_ONLY_REGIONS_CATEGORY = "_READ_ONLY_REGIONS_CATEGORY_"; //$NON-NLS-1$
-	/**
-	 * debug variable only
-	 * 
-	 * @param parser
-	 */
-	private long startStreamTime;
-	/**
-	 * debug variable only
-	 * 
-	 * @param parser
-	 */
-	private long startTime;
-
-	public BasicStructuredDocument() {
-		super();
-		fCurrentDocumnetRegionCache = new CurrentDocumentRegionCache();
-		fStore = new StructuredDocumentTextStore(50, 300);
-		setLineTracker(new DefaultLineTracker());
-		NULL_DOCUMENT_EVENT = new NullDocumentEvent();
-
-		internal_addPositionCategory(READ_ONLY_REGIONS_CATEGORY);
-		internal_addPositionUpdater(new DeleteEqualPositionUpdater(READ_ONLY_REGIONS_CATEGORY));
-
-	}
-
-	/**
-	 * This is the primary way to get a new structuredDocument. Its best to
-	 * use the factory methods in ModelManger to create a new
-	 * IStructuredDocument, since it will get and initialize the parser
-	 * according to the desired content type.
-	 */
-	public BasicStructuredDocument(RegionParser parser) {
-		this();
-		Assert.isNotNull(parser, "Program Error: IStructuredDocument can not be created with null parser"); //$NON-NLS-1$
-		// go through setter in case there is side effects
-		internal_setParser(parser);
-	}
-
-	private void _clearDocumentEvent() {
-		// no hard and fast requirement to null out ... just seems like
-		// a good idea, since we are done with it.
-		fDocumentEvent = null;
-	}
-
-	private void _fireDocumentAboutToChange(Object[] listeners) {
-		// most DocumentAboutToBeChanged listeners do not anticipate
-		// DocumentEvent == null. So make sure documentEvent is not
-		// null. (this should never happen, yet it does sometimes)
-		if (fDocumentEvent == null) {
-			fDocumentEvent = new NullDocumentEvent();
-		}
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (listeners != null) {
-			Object[] holdListeners = listeners;
-			// Note: the docEvent is created in replaceText API
-			// fire
-			for (int i = 0; i < holdListeners.length; i++) {
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					startTime = System.currentTimeMillis();
-				}
-				// safeguard from listeners that throw exceptions
-				try {
-					// this is a safe cast, since addListners requires a
-					// IStructuredDocumentListener
-					((IDocumentListener) holdListeners[i]).documentAboutToBeChanged(fDocumentEvent);
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					long stopTime = System.currentTimeMillis();
-					System.out.println("\n\t\t\t\t IStructuredDocument::fireStructuredDocumentEvent. Time was " + (stopTime - startTime) + " msecs to fire NewModelEvent to instance of " + holdListeners[i].getClass()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	private void notifyDocumentPartitionersAboutToChange(DocumentEvent documentEvent) {
-		if (fDocumentPartitioners != null) {
-			Iterator e = fDocumentPartitioners.values().iterator();
-			while (e.hasNext()) {
-				IDocumentPartitioner p = (IDocumentPartitioner) e.next();
-				// safeguard from listeners that throw exceptions
-				try {
-					p.documentAboutToBeChanged(documentEvent);
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-			}
-		}
-	}
-
-	private void _fireDocumentChanged(Object[] listeners, StructuredDocumentEvent event) {
-
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (listeners != null) {
-			Object[] holdListeners = listeners;
-			// NOTE: document event is created in replace Text API and setText
-			// API
-			// now fire
-			for (int i = 0; i < holdListeners.length; i++) {
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					startTime = System.currentTimeMillis();
-				}
-
-				// safeguard from listeners that throw exceptions
-				try {
-					// this is a safe cast, since addListners requires a
-					// IStructuredDocumentListener
-					// Notes: fDocumentEvent can be "suddenly" null, if one of
-					// the
-					// previous changes
-					// caused a "setText" to be called. The only known case of
-					// this
-					// is a model reset
-					// due to page directive changing. Eventually we should
-					// change
-					// archetecture to have
-					// event que and be able to "cancel" pending events, but
-					// for
-					// now, we'll just pass a
-					// NullDocumentEvent. By the way, it is important to send
-					// something, since clients might
-					// have indeterminant state due to "aboutToChange" being
-					// sent
-					// earlier.
-					if (fDocumentEvent == null) {
-						((IDocumentListener) holdListeners[i]).documentChanged(NULL_DOCUMENT_EVENT);
-					} else {
-						((IDocumentListener) holdListeners[i]).documentChanged(fDocumentEvent);
-					}
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					long stopTime = System.currentTimeMillis();
-					System.out.println("\n\t\t\t\t IStructuredDocument::fireStructuredDocumentEvent. Time was " + (stopTime - startTime) + " msecs to fire NewModelEvent to instance of " + holdListeners[i].getClass()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	private void notifyDocumentPartitionersDocumentChanged(DocumentEvent documentEvent) {
-		if (fDocumentPartitioners != null) {
-			Iterator e = fDocumentPartitioners.values().iterator();
-			while (e.hasNext()) {
-				IDocumentPartitioner p = (IDocumentPartitioner) e.next();
-				// safeguard from listeners that throw exceptions
-				try {
-					p.documentChanged(documentEvent);
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-			}
-		}
-	}
-
-	private void _fireEvent(Object[] listeners, NewDocumentEvent event) {
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (listeners != null) {
-			Object[] holdListeners = listeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					startTime = System.currentTimeMillis();
-				}
-				// safeguard from listeners that throw exceptions
-				try {
-					// this is a safe cast, since addListners requires a
-					// IStructuredDocumentListener
-					((IStructuredDocumentListener) holdListeners[i]).newModel(event);
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					long stopTime = System.currentTimeMillis();
-					System.out.println("\n\t\t\t\t IStructuredDocument::fireStructuredDocumentEvent. Time was " + (stopTime - startTime) + " msecs to fire NewModelEvent to instance of " + holdListeners[i].getClass()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	private void _fireEvent(Object[] listeners, NoChangeEvent event) {
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (listeners != null) {
-			Object[] holdListeners = listeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					startTime = System.currentTimeMillis();
-				}
-				// safeguard from listeners that throw exceptions
-				try {
-					// this is a safe cast, since addListners requires a
-					// IStructuredDocumentListener
-					((IStructuredDocumentListener) holdListeners[i]).noChange(event);
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					long stopTime = System.currentTimeMillis();
-					System.out.println("\n\t\t\t\t IStructuredDocument::fireStructuredDocumentEvent. Time was " + (stopTime - startTime) + " msecs to fire NewModelEvent to instance of " + holdListeners[i].getClass()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	private void _fireEvent(Object[] listeners, RegionChangedEvent event) {
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (listeners != null) {
-			Object[] holdListeners = listeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					startTime = System.currentTimeMillis();
-				}
-				// safeguard from listeners that throw exceptions
-				try {
-					// this is a safe cast, since addListners requires a
-					// IStructuredDocumentListener
-					((IStructuredDocumentListener) holdListeners[i]).regionChanged(event);
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					long stopTime = System.currentTimeMillis();
-					System.out.println("\n\t\t\t\t IStructuredDocument::fireStructuredDocumentEvent. Time was " + (stopTime - startTime) + " msecs to fire NewModelEvent to instance of " + holdListeners[i].getClass()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	private void _fireEvent(Object[] listeners, RegionsReplacedEvent event) {
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (listeners != null) {
-			Object[] holdListeners = listeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					startTime = System.currentTimeMillis();
-				}
-				// safeguard from listeners that throw exceptions
-				try {
-					// this is a safe cast, since addListners requires a
-					// IStructuredDocumentListener
-					((IStructuredDocumentListener) holdListeners[i]).regionsReplaced(event);
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					long stopTime = System.currentTimeMillis();
-					System.out.println("\n\t\t\t\t IStructuredDocument::fireStructuredDocumentEvent. Time was " + (stopTime - startTime) + " msecs to fire NewModelEvent to instance of " + holdListeners[i].getClass()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	private void _fireEvent(Object[] listeners, StructuredDocumentRegionsReplacedEvent event) {
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (listeners != null) {
-			Object[] holdListeners = listeners;
-			for (int i = 0; i < holdListeners.length; i++) {
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					startTime = System.currentTimeMillis();
-				}
-				// safeguard from listeners that throw exceptions
-				try {
-					// this is a safe cast, since addListners requires a
-					// IStructuredDocumentListener
-					((IStructuredDocumentListener) holdListeners[i]).nodesReplaced(event);
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					long stopTime = System.currentTimeMillis();
-					System.out.println("\n\t\t\t\t IStructuredDocument::fireStructuredDocumentEvent. Time was " + (stopTime - startTime) + " msecs to fire NewModelEvent to instance of " + holdListeners[i].getClass()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	private void _fireStructuredDocumentAboutToChange(Object[] listeners) {
-		// we must assign listeners to local variable, since the add and
-		// remove
-		// listner
-		// methods can change the actual instance of the listener array from
-		// another thread
-		if (listeners != null) {
-			Object[] holdListeners = listeners;
-			// Note: the docEvent is created in replaceText API
-			// fire
-			for (int i = 0; i < holdListeners.length; i++) {
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					startTime = System.currentTimeMillis();
-				}
-				// safeguard from listeners that throw exceptions
-				try {
-					// notice the AboutToBeChangedEvent is created from the
-					// DocumentEvent, since it is (nearly)
-					// the same information. ?What to do about
-					// originalRequester?
-					if (fDocumentEvent == null) {
-						fDocumentEvent = new NullDocumentEvent();
-					}
-					AboutToBeChangeEvent aboutToBeChangedEvent = new AboutToBeChangeEvent(this, null, fDocumentEvent.getText(), fDocumentEvent.getOffset(), fDocumentEvent.getLength());
-					// this is a safe cast, since addListners requires a
-					// IStructuredDocumentListener
-					((IModelAboutToBeChangedListener) holdListeners[i]).modelAboutToBeChanged(aboutToBeChangedEvent);
-				} catch (Exception exception) {
-					Logger.logException(exception);
-				}
-				if (Debug.perfTest || Debug.perfTestStructuredDocumentEventOnly) {
-					long stopTime = System.currentTimeMillis();
-					System.out.println("\n\t\t\t\t IStructuredDocument::fireStructuredDocumentEvent. Time was " + (stopTime - startTime) + " msecs to fire NewModelEvent to instance of " + holdListeners[i].getClass()); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	protected void acquireLock() {
-		// do nothing here in super class
-	}
-
-	/**
-	 * addModelAboutToBeChangedListener method comment.
-	 */
-	public void addDocumentAboutToChangeListener(IModelAboutToBeChangedListener listener) {
-		synchronized (listenerLock) {
-
-			// make sure listener is not already in listening
-			// (and if it is, print a warning to aid debugging, if needed)
-			if (!Utilities.contains(fStructuredDocumentAboutToChangeListeners, listener)) {
-				int oldSize = 0;
-				if (fStructuredDocumentAboutToChangeListeners != null) {
-					// normally won't be null, but we need to be sure, for
-					// first
-					// time through
-					oldSize = fStructuredDocumentAboutToChangeListeners.length;
-				}
-				int newSize = oldSize + 1;
-				Object[] newListeners = new Object[newSize];
-				if (fStructuredDocumentAboutToChangeListeners != null) {
-					System.arraycopy(fStructuredDocumentAboutToChangeListeners, 0, newListeners, 0, oldSize);
-				}
-				// add listener to last position
-				newListeners[newSize - 1] = listener;
-				//
-				// now switch new for old
-				fStructuredDocumentAboutToChangeListeners = newListeners;
-				//
-			}
-		}
-	}
-
-	/**
-	 * The StructuredDocumentListners and ModelChagnedListeners are very
-	 * similar. They both receive identical events. The difference is the
-	 * timing. The "pure" StructuredDocumentListners are notified after the
-	 * structuredDocument has been changed, but before other, related models
-	 * may have been changed such as the Structural Model. The Structural
-	 * model is in fact itself a "pure" StructuredDocumentListner. The
-	 * ModelChangedListeners can rest assured that all models and data have
-	 * been updated from the change by the tiem they are notified. This is
-	 * especially important for the text widget, for example, which may rely
-	 * on both structuredDocument and structural model information.
-	 */
-	public void addDocumentChangedListener(IStructuredDocumentListener listener) {
-		synchronized (listenerLock) {
-
-			if (Debug.debugStructuredDocument) {
-				System.out.println("IStructuredDocument::addModelChangedListener. Request to add an instance of " + listener.getClass() + " as a listener on structuredDocument."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			// make sure listener is not already in listening
-			// (and if it is, print a warning to aid debugging, if needed)
-			if (Utilities.contains(fStructuredDocumentChangedListeners, listener)) {
-				if (Debug.displayWarnings) {
-					System.out.println("IStructuredDocument::addModelChangedListener. listener " + listener + " was addeded more than once. "); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			} else {
-				if (Debug.debugStructuredDocument) {
-					System.out.println("IStructuredDocument::addModelChangedListener. Adding an instance of " + listener.getClass() + " as a listener on structuredDocument."); //$NON-NLS-2$//$NON-NLS-1$
-				}
-				int oldSize = 0;
-				if (fStructuredDocumentChangedListeners != null) {
-					// normally won't be null, but we need to be sure, for
-					// first
-					// time through
-					oldSize = fStructuredDocumentChangedListeners.length;
-				}
-				int newSize = oldSize + 1;
-				Object[] newListeners = new Object[newSize];
-				if (fStructuredDocumentChangedListeners != null) {
-					System.arraycopy(fStructuredDocumentChangedListeners, 0, newListeners, 0, oldSize);
-				}
-				// add listener to last position
-				newListeners[newSize - 1] = listener;
-				//
-				// now switch new for old
-				fStructuredDocumentChangedListeners = newListeners;
-				//
-				// when a listener is added,
-				// send the new model event to that one particular listener,
-				// so it
-				// can initialize itself with the current state of the model
-				// listener.newModel(new NewModelEvent(this, listener));
-			}
-		}
-	}
-
-	public void addDocumentChangingListener(IStructuredDocumentListener listener) {
-		synchronized (listenerLock) {
-
-			if (Debug.debugStructuredDocument) {
-				System.out.println("IStructuredDocument::addStructuredDocumentListener. Request to add an instance of " + listener.getClass() + " as a listener on structuredDocument."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			// make sure listener is not already in listening
-			// (and if it is, print a warning to aid debugging, if needed)
-			if (Utilities.contains(fStructuredDocumentChangingListeners, listener)) {
-				if (Debug.displayWarnings) {
-					System.out.println("IStructuredDocument::addStructuredDocumentListener. listener " + listener + " was addeded more than once. "); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			} else {
-				if (Debug.debugStructuredDocument) {
-					System.out.println("IStructuredDocument::addStructuredDocumentListener. Adding an instance of " + listener.getClass() + " as a listener on structuredDocument."); //$NON-NLS-2$//$NON-NLS-1$
-				}
-				int oldSize = 0;
-				if (fStructuredDocumentChangingListeners != null) {
-					// normally won't be null, but we need to be sure, for
-					// first
-					// time through
-					oldSize = fStructuredDocumentChangingListeners.length;
-				}
-				int newSize = oldSize + 1;
-				Object[] newListeners = new Object[newSize];
-				if (fStructuredDocumentChangingListeners != null) {
-					System.arraycopy(fStructuredDocumentChangingListeners, 0, newListeners, 0, oldSize);
-				}
-				// add listener to last position
-				newListeners[newSize - 1] = listener;
-				//
-				// now switch new for old
-				fStructuredDocumentChangingListeners = newListeners;
-				//
-				// when a listener is added,
-				// send the new model event to that one particular listener,
-				// so it
-				// can initialize itself with the current state of the model
-				// listener.newModel(new NewModelEvent(this, listener));
-			}
-		}
-	}
-
-	/**
-	 * We manage our own document listners, instead of delegating to our
-	 * parentDocument, so we can fire at very end (and not when the
-	 * parentDocument changes).
-	 * 
-	 */
-	public void addDocumentListener(IDocumentListener listener) {
-		synchronized (listenerLock) {
-
-			// make sure listener is not already in listening
-			// (and if it is, print a warning to aid debugging, if needed)
-			if (!Utilities.contains(fDocumentListeners, listener)) {
-				int oldSize = 0;
-				if (fDocumentListeners != null) {
-					// normally won't be null, but we need to be sure, for
-					// first
-					// time through
-					oldSize = fDocumentListeners.length;
-				}
-				int newSize = oldSize + 1;
-				IDocumentListener[] newListeners = null;
-				newListeners = new IDocumentListener[newSize];
-				if (fDocumentListeners != null) {
-					System.arraycopy(fDocumentListeners, 0, newListeners, 0, oldSize);
-				}
-				// add listener to last position
-				newListeners[newSize - 1] = listener;
-				// now switch new for old
-				fDocumentListeners = newListeners;
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#addDocumentPartitioningListener(org.eclipse.jface.text.IDocumentPartitioningListener)
-	 * 
-	 * Registers the document partitioning listener with the document. After
-	 * registration the IDocumentPartitioningListener is informed about each
-	 * partition change cause by a document manipulation. If a document
-	 * partitioning listener is also a document listener, the following
-	 * notification sequence is guaranteed if a document manipulation changes
-	 * the document partitioning: 1)
-	 * listener.documentAboutToBeChanged(DocumentEvent); 2)
-	 * listener.documentPartitioningChanged(); 3)
-	 * listener.documentChanged(DocumentEvent); If the listener is already
-	 * registered nothing happens.
-	 * 
-	 * @see IDocumentPartitioningListener
-	 */
-
-	public void addDocumentPartitioningListener(IDocumentPartitioningListener listener) {
-		synchronized (listenerLock) {
-
-			Assert.isNotNull(listener);
-			if (fDocumentPartitioningListeners == null) {
-				fDocumentPartitioningListeners = new ArrayList(1);
-			}
-			if (!fDocumentPartitioningListeners.contains(listener))
-				fDocumentPartitioningListeners.add(listener);
-		}
-	}
-
-	/**
-	 * Adds the position to the document's default position category. The
-	 * default category must be specified by the implementer. A position that
-	 * has been added to a position category is updated at each change applied
-	 * to the document.
-	 * 
-	 * @exception BadLocationException
-	 *                If position is not a valid range in the document
-	 */
-	public void addPosition(Position position) throws BadLocationException {
-		getPositionManager().addPosition(position);
-	}
-
-	/**
-	 * @see IDocument#addPosition
-	 * @exception BadLocationException
-	 *                If position is not a valid range in the document
-	 * @exception BadPositionCategoryException
-	 *                If the category is not defined for the document
-	 */
-	public void addPosition(String category, Position position) throws BadLocationException, BadPositionCategoryException {
-		getPositionManager().addPosition(category, position);
-	}
-
-	/**
-	 * @see IDocument#addPositionCategory
-	 */
-	public void addPositionCategory(String category) {
-		internal_addPositionCategory(category);
-	}
-
-	/**
-	 * @see IDocument#addPositionUpdater
-	 */
-	public void addPositionUpdater(IPositionUpdater updater) {
-		internal_addPositionUpdater(updater);
-	}
-
-	/**
-	 * Adds the given document listener as one which is notified before those
-	 * document listeners added with <code>addDocumentListener</code> are
-	 * notified. If the given listener is also registered using
-	 * <code>addDocumentListener</code> it will be notified twice. If the
-	 * listener is already registered nothing happens.
-	 * <p>
-	 * 
-	 * This method is not for public use, it may only be called by
-	 * implementers of <code>IDocumentAdapter</code> and only if those
-	 * implementers need to implement <code>IDocumentListener</code>.
-	 * 
-	 * @param documentAdapter
-	 *            the listener to be added as prenotified document listener
-	 */
-	public void addPrenotifiedDocumentListener(IDocumentListener documentAdapter) {
-		synchronized (listenerLock) {
-
-			if (fPrenotifiedDocumentListeners != null) {
-				int previousSize = fPrenotifiedDocumentListeners.length;
-				IDocumentListener[] listeners = new IDocumentListener[previousSize + 1];
-				System.arraycopy(fPrenotifiedDocumentListeners, 0, listeners, 0, previousSize);
-				listeners[previousSize] = documentAdapter;
-				fPrenotifiedDocumentListeners = listeners;
-			} else {
-				fPrenotifiedDocumentListeners = new IDocumentListener[1];
-				fPrenotifiedDocumentListeners[0] = documentAdapter;
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.CharSequence#charAt(int)
-	 */
-	public char charAt(int arg0) {
-		try {
-			return getChar(0);
-		} catch (BadLocationException e) {
-			throw new IndexOutOfBoundsException();
-		}
-	}
-
-	/**
-	 * This form of the API removes all read only positions, as should be done
-	 * we 'setText' is called. Note: an alternative algorithm may simply
-	 * remove the category (and it would get added back in later, if/when
-	 * readonly regions added.
-	 */
-	private void clearReadOnly() {
-		Position[] positions = null;
-		try {
-			positions = getPositions(READ_ONLY_REGIONS_CATEGORY);
-		} catch (BadPositionCategoryException e) {
-			Logger.logException("program error: should never occur", e); //$NON-NLS-1$
-		}
-		for (int i = 0; i < positions.length; i++) {
-			Position position = positions[i];
-			// note we don't fire the "about to change" or "changed" events,
-			// since presumably, text is all going away and being replaced
-			// anyway.
-			position.delete();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocument#clearReadOnly(int,
-	 *      int)
-	 */
-	public void clearReadOnly(int startOffset, int length) {
-		// TODO DW I still need to implement smarter algorithm that
-		// adust existing RO regions, if needed. For now, I'll just
-		// remove any that overlap.
-		try {
-			Position[] positions = getPositions(READ_ONLY_REGIONS_CATEGORY);
-			for (int i = 0; i < positions.length; i++) {
-				Position position = positions[i];
-				if (position.overlapsWith(startOffset, length)) {
-					String effectedText = this.get(startOffset, length);
-					// fDocumentEvent = new DocumentEvent(this, startOffset,
-					// length, effectedText);
-					fireReadOnlyAboutToBeChanged();
-					position.delete();
-					NoChangeEvent noChangeEvent = new NoChangeEvent(this, null, effectedText, startOffset, length);
-					noChangeEvent.reason = NoChangeEvent.READ_ONLY_STATE_CHANGE;
-					fireReadOnlyStructuredDocumentEvent(noChangeEvent);
-				}
-			}
-		} catch (BadPositionCategoryException e) {
-			// just means no readonly regions been defined yet
-			// so nothing to do.
-		}
-	}
-
-	/**
-	 * Computes the index at which a <code>Position</code> with the
-	 * specified offset would be inserted into the given category. As the
-	 * ordering inside a category only depends on the offset, the index must
-	 * be choosen to be the first of all positions with the same offset.
-	 * 
-	 * @param category
-	 *            the category in which would be added
-	 * @param offset
-	 *            the position offset to be considered
-	 * @return the index into the category
-	 * @exception BadLocationException
-	 *                if offset is invalid in this document
-	 * @exception BadPositionCategoryException
-	 *                if category is undefined in this document
-	 */
-	public int computeIndexInCategory(String category, int offset) throws org.eclipse.jface.text.BadPositionCategoryException, org.eclipse.jface.text.BadLocationException {
-		return getPositionManager().computeIndexInCategory(category, offset);
-	}
-
-	/**
-	 * Computes the number of lines in the given text. For a given implementer
-	 * of this interface this method returns the same result as
-	 * <code>set(text); getNumberOfLines()</code>.
-	 * 
-	 * @param text
-	 *            the text whose number of lines should be computed
-	 * @return the number of lines in the given text
-	 */
-	public int computeNumberOfLines(String text) {
-		return getTracker().computeNumberOfLines(text);
-	}
-
-	/**
-	 * Computes the partitioning of the given document range using the
-	 * document's partitioner.
-	 * 
-	 * @param offset
-	 *            the document offset at which the range starts
-	 * @param length
-	 *            the length of the document range
-	 * @return a specification of the range's partitioning
-	 * @throws BadLocationException
-	 * @throws BadPartitioningException
-	 */
-	public ITypedRegion[] computePartitioning(int offset, int length) throws BadLocationException {
-		ITypedRegion[] typedRegions = null;
-		try {
-			typedRegions = computePartitioning(IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING, offset, length, false);
-		} catch (BadPartitioningException e) {
-			// impossible in this context
-			throw new Error(e);
-		}
-		if (typedRegions == null) {
-			typedRegions = new ITypedRegion[0];
-		}
-		return typedRegions;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentExtension3#computeZeroLengthPartitioning(java.lang.String,
-	 *      int, int)
-	 * @since 3.0
-	 */
-	public ITypedRegion[] computePartitioning(String partitioning, int offset, int length, boolean includeZeroLengthPartitions) throws BadLocationException, BadPartitioningException {
-		if ((0 > offset) || (0 > length) || (offset + length > getLength()))
-			throw new BadLocationException();
-
-		IDocumentPartitioner partitioner = getDocumentPartitioner(partitioning);
-
-		if (partitioner instanceof IDocumentPartitionerExtension2)
-			return ((IDocumentPartitionerExtension2) partitioner).computePartitioning(offset, length, includeZeroLengthPartitions);
-		else if (partitioner != null)
-			return partitioner.computePartitioning(offset, length);
-		else if (IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING.equals(partitioning))
-			return new TypedRegion[]{new TypedRegion(offset, length, DEFAULT_CONTENT_TYPE)};
-		else
-			throw new BadPartitioningException();
-	}
-
-	/**
-	 * @see IDocument#containsPosition
-	 */
-	public boolean containsPosition(String category, int offset, int length) {
-		return getPositionManager().containsPosition(category, offset, length);
-	}
-
-	/**
-	 * @see IDocument#containsPositionCategory
-	 */
-	public boolean containsPositionCategory(String category) {
-		return getPositionManager().containsPositionCategory(category);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocument#containsReadOnly(int,
-	 *      int)
-	 */
-	public boolean containsReadOnly(int startOffset, int length) {
-		boolean result = false;
-		try {
-			Position[] positions = getPositions(READ_ONLY_REGIONS_CATEGORY);
-			for (int i = 0; i < positions.length; i++) {
-				Position position = positions[i];
-				if (position.overlapsWith(startOffset, length)) {
-					result = true;
-					break;
-				}
-			}
-		} catch (BadPositionCategoryException e) {
-			// just means no readonly regions been defined yet
-			// so obviously false
-			result = false;
-		}
-		return result;
-	}
-
-	private void executePostNotificationChanges() {
-		if (fStoppedCount > 0)
-			return;
-		while (fPostNotificationChanges != null) {
-			List changes = fPostNotificationChanges;
-			fPostNotificationChanges = null;
-			Iterator e = changes.iterator();
-			while (e.hasNext()) {
-				RegisteredReplace replace = (RegisteredReplace) e.next();
-				replace.fReplace.perform(this, replace.fOwner);
-			}
-		}
-	}
-
-	private void fireDocumentAboutToChanged() {
-		// most DocumentAboutToBeChanged listeners do not anticipate
-		// DocumentEvent == null. So make sure documentEvent is not
-		// null. (this should never happen, yet it does sometimes)
-		if (fDocumentEvent == null) {
-			fDocumentEvent = new NullDocumentEvent();
-		}
-		
-		_fireStructuredDocumentAboutToChange(fStructuredDocumentAboutToChangeListeners);
-		// Note: the docEvent is created in replaceText API! (or set Text)
-		_fireDocumentAboutToChange(fPrenotifiedDocumentListeners);
-		notifyDocumentPartitionersAboutToChange(fDocumentEvent);
-		_fireDocumentAboutToChange(fDocumentListeners);
-	}
-
-	/**
-	 * Fires the document partitioning changed notification to all registered
-	 * document partitioning listeners. Uses a robust iterator.
-	 * 
-	 * @param event
-	 *            the document partitioning changed event
-	 * 
-	 * @see IDocumentPartitioningListenerExtension2
-	 * @since 3.0
-	 */
-	protected void fireDocumentPartitioningChanged(DocumentPartitioningChangedEvent event) {
-		if (fDocumentPartitioningListeners == null || fDocumentPartitioningListeners.size() == 0)
-			return;
-
-		List list = new ArrayList(fDocumentPartitioningListeners);
-		Iterator e = list.iterator();
-		while (e.hasNext()) {
-			IDocumentPartitioningListener l = (IDocumentPartitioningListener) e.next();
-			if (l instanceof IDocumentPartitioningListenerExtension2) {
-				IDocumentPartitioningListenerExtension2 extension2 = (IDocumentPartitioningListenerExtension2) l;
-				extension2.documentPartitioningChanged(event);
-			} else if (l instanceof IDocumentPartitioningListenerExtension) {
-				IDocumentPartitioningListenerExtension extension = (IDocumentPartitioningListenerExtension) l;
-				extension.documentPartitioningChanged(this, event.getCoverage());
-			} else {
-				l.documentPartitioningChanged(this);
-			}
-		}
-
-	}
-
-	private void fireReadOnlyAboutToBeChanged() {
-		_fireStructuredDocumentAboutToChange(fStructuredDocumentAboutToChangeListeners);
-		// Note: the docEvent is created in replaceText API! (or set Text)
-		// _fireDocumentAboutToChange(fPrenotifiedDocumentListeners);
-		// _fireDocumentAboutToChange(fDocumentListeners);
-	}
-
-	private void fireReadOnlyStructuredDocumentEvent(NoChangeEvent event) {
-		_fireEvent(fStructuredDocumentChangingListeners, event);
-		_fireEvent(fStructuredDocumentChangedListeners, event);
-		// _fireDocumentChanged(fPrenotifiedDocumentListeners, event);
-		// _fireDocumentChanged(fDocumentListeners, event);
-		// _clearDocumentEvent();
-	}
-
-	private void fireStructuredDocumentEvent(NewDocumentEvent event) {
-		_fireEvent(fStructuredDocumentChangingListeners, event);
-		_fireEvent(fStructuredDocumentChangedListeners, event);
-		_fireDocumentChanged(fPrenotifiedDocumentListeners, event);
-		notifyDocumentPartitionersDocumentChanged(event);
-		_fireDocumentChanged(fDocumentListeners, event);
-		_clearDocumentEvent();
-	}
-
-	private void fireStructuredDocumentEvent(NoChangeEvent event) {
-		_fireEvent(fStructuredDocumentChangingListeners, event);
-		_fireEvent(fStructuredDocumentChangedListeners, event);
-		_fireDocumentChanged(fPrenotifiedDocumentListeners, event);
-		notifyDocumentPartitionersDocumentChanged(event);
-		_fireDocumentChanged(fDocumentListeners, event);
-		_clearDocumentEvent();
-	}
-
-	private void fireStructuredDocumentEvent(RegionChangedEvent event) {
-		_fireEvent(fStructuredDocumentChangingListeners, event);
-		_fireEvent(fStructuredDocumentChangedListeners, event);
-		_fireDocumentChanged(fPrenotifiedDocumentListeners, event);
-		notifyDocumentPartitionersDocumentChanged(event);
-		_fireDocumentChanged(fDocumentListeners, event);
-		_clearDocumentEvent();
-	}
-
-	private void fireStructuredDocumentEvent(RegionsReplacedEvent event) {
-		_fireEvent(fStructuredDocumentChangingListeners, event);
-		_fireEvent(fStructuredDocumentChangedListeners, event);
-		_fireDocumentChanged(fPrenotifiedDocumentListeners, event);
-		notifyDocumentPartitionersDocumentChanged(event);
-		_fireDocumentChanged(fDocumentListeners, event);
-		_clearDocumentEvent();
-	}
-
-	private void fireStructuredDocumentEvent(StructuredDocumentRegionsReplacedEvent event) {
-		_fireEvent(fStructuredDocumentChangingListeners, event);
-		_fireEvent(fStructuredDocumentChangedListeners, event);
-		_fireDocumentChanged(fPrenotifiedDocumentListeners, event);
-		notifyDocumentPartitionersDocumentChanged(event);
-		_fireDocumentChanged(fDocumentListeners, event);
-		_clearDocumentEvent();
-	}
-
-	/**
-	 * Returns the document's complete text.
-	 */
-	public String get() {
-		return getStore().get(0, getLength());
-	}
-
-	/**
-	 * Returns length characters from the document's text starting from the
-	 * specified position.
-	 * 
-	 * @throws BadLocationException
-	 * 
-	 * @exception BadLocationException
-	 *                If the range is not valid in the document
-	 */
-	public String get(int offset, int length) {
-		String result = null;
-		int myLength = getLength();
-		if (0 > offset)
-			offset = 0;
-		if (0 > length)
-			length = 0;
-		if (offset + length > myLength) {
-			// first try adjusting length to fit
-			int lessLength = myLength - offset;
-			if ((lessLength >= 0) && (offset + lessLength == myLength)) {
-				length = lessLength;
-			} else {
-				// second, try offset
-				int moreOffset = myLength - length;
-				if ((moreOffset >= 0) && (moreOffset + length == myLength)) {
-					offset = moreOffset;
-				} else {
-					// should never happen
-					throw new Error();
-				}
-			}
-
-		}
-		// if ((0 > offset) || (0 > length) || (offset + length > myLength))
-		// throw new BadLocationException();
-		result = getStore().get(offset, length);
-		return result;
-	}
-
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 */
-	IStructuredDocumentRegion getCachedDocumentRegion() {
-		IStructuredDocumentRegion result = null;
-		if (USE_LOCAL_THREAD) {
-			result = fCurrentDocumnetRegionCache.get();
-		} else {
-			result = cachedDocumentRegion;
-		}
-		return result;
-	}
-
-	/**
-	 * @see IDocument#getChar
-	 * @exception BadLocationException
-	 *                If position is not a valid range in the document
-	 */
-	public char getChar(int pos) throws BadLocationException {
-		char result = 0x00;
-		try {
-			result = getStore().get(pos);
-		} catch (IndexOutOfBoundsException e) {
-			throw new BadLocationException(e.getLocalizedMessage());
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the type of the document partition containing the given
-	 * character position.
-	 */
-	public String getContentType(int offset) throws BadLocationException {
-		return getDocumentPartitioner().getContentType(offset);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentExtension3#getZeroLengthContentType(java.lang.String,
-	 *      int)
-	 * @since 3.0
-	 */
-	public String getContentType(String partitioning, int offset, boolean preferOpenPartitions) throws BadLocationException, BadPartitioningException {
-		if ((0 > offset) || (offset > getLength()))
-			throw new BadLocationException();
-
-		IDocumentPartitioner partitioner = getDocumentPartitioner(partitioning);
-
-		if (partitioner instanceof IDocumentPartitionerExtension2)
-			return ((IDocumentPartitionerExtension2) partitioner).getContentType(offset, preferOpenPartitions);
-		else if (partitioner != null)
-			return partitioner.getContentType(offset);
-		else if (IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING.equals(partitioning))
-			return DEFAULT_CONTENT_TYPE;
-		else
-			throw new BadPartitioningException();
-	}
-
-	/**
-	 * Returns the document's partitioner.
-	 * 
-	 * @see IDocumentPartitioner
-	 */
-	public IDocumentPartitioner getDocumentPartitioner() {
-		return getDocumentPartitioner(IDocumentExtension3.DEFAULT_PARTITIONING);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentExtension3#getDocumentPartitioner(java.lang.String)
-	 * @since 3.0
-	 */
-	public IDocumentPartitioner getDocumentPartitioner(String partitioning) {
-
-		IDocumentPartitioner documentPartitioner = null;
-		if (fDocumentPartitioners != null) {
-			documentPartitioner = (IDocumentPartitioner) fDocumentPartitioners.get(partitioning);
-		}
-		return documentPartitioner;
-	}
-
-	/**
-	 * @see com.ibm.sed.structuredDocument.IStructuredDocument#getEncodingMemento()
-	 */
-	public EncodingMemento getEncodingMemento() {
-		return encodingMemento;
-	}
-
-	public IStructuredDocumentRegion getFirstStructuredDocumentRegion() {
-		// should we update cachedNode?
-		// We should to keep consistent philosophy of remembering last
-		// requested position,
-		// for efficiency.
-		setCachedDocumentRegion(firstDocumentRegion);
-		return firstDocumentRegion;
-	}
-
-	public IStructuredDocumentRegion getLastStructuredDocumentRegion() {
-		// should we update cachedNode?
-		// We should to keep consistent philosophy of remembering last
-		// requested position,
-		// for efficiency.
-		setCachedDocumentRegion(lastDocumentRegion);
-		return lastDocumentRegion;
-	}
-
-	/*
-	 * -------------------------- partitions
-	 * ----------------------------------
-	 */
-	public String[] getLegalContentTypes() {
-		String[] result = null;
-		try {
-			result = getLegalContentTypes(IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING);
-		} catch (BadPartitioningException e) {
-			// impossible in this context
-			throw new Error(e);
-		}
-		return result;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentExtension3#getLegalContentTypes(java.lang.String)
-	 * @since 3.0
-	 */
-	public String[] getLegalContentTypes(String partitioning) throws BadPartitioningException {
-		IDocumentPartitioner partitioner = getDocumentPartitioner(partitioning);
-		if (partitioner != null)
-			return partitioner.getLegalContentTypes();
-		if (IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING.equals(partitioning))
-			return new String[]{DEFAULT_CONTENT_TYPE};
-		throw new BadPartitioningException();
-	}
-
-	/*
-	 * ------------------ line delimiter conversion
-	 * ---------------------------
-	 */
-	public String[] getLegalLineDelimiters() {
-		return getTracker().getLegalLineDelimiters();
-	}
-
-	/**
-	 * @see IDocument#getLength
-	 */
-	public int getLength() {
-		return getStore().getLength();
-	}
-
-	public String getLineDelimiter() {
-		if (preferedDelimiter == null) {
-			preferedDelimiter = PlatformLineDelimiter;
-		}
-		return preferedDelimiter;
-	}
-
-	/**
-	 * Returns the line delimiter of that line
-	 * 
-	 * @exception BadLocationException
-	 *                If the line number is invalid in the document
-	 */
-	public String getLineDelimiter(int line) throws org.eclipse.jface.text.BadLocationException {
-		return getTracker().getLineDelimiter(line);
-	}
-
-	/**
-	 * Returns a description of the specified line. The line is described by
-	 * its offset and its length excluding the line's delimiter.
-	 * 
-	 * @param line
-	 *            the line of interest
-	 * @return a line description
-	 * @exception BadLocationException
-	 *                if the line number is invalid in this document
-	 */
-	public org.eclipse.jface.text.IRegion getLineInformation(int line) throws org.eclipse.jface.text.BadLocationException {
-		return getTracker().getLineInformation(line);
-	}
-
-	/**
-	 * Returns a description of the line at the given offset. The description
-	 * contains the offset and the length of the line excluding the line's
-	 * delimiter.
-	 * 
-	 * @param offset
-	 *            the offset whose line should be described
-	 * @return a region describing the line
-	 * @exception BadLocationException
-	 *                if offset is invalid in this document
-	 */
-	public org.eclipse.jface.text.IRegion getLineInformationOfOffset(int offset) throws org.eclipse.jface.text.BadLocationException {
-		return getTracker().getLineInformationOfOffset(offset);
-	}
-
-	/*
-	 * ---------------------- line information
-	 * --------------------------------
-	 */
-	public int getLineLength(int line) throws org.eclipse.jface.text.BadLocationException {
-		return getTracker().getLineLength(line);
-	}
-
-	/**
-	 * Determines the offset of the first character of the given line.
-	 * 
-	 * @param line
-	 *            the line of interest
-	 * @return the document offset
-	 * @exception BadLocationException
-	 *                if the line number is invalid in this document
-	 */
-	public int getLineOffset(int line) throws org.eclipse.jface.text.BadLocationException {
-		return getTracker().getLineOffset(line);
-	}
-
-	public int getLineOfOffset(int offset) {
-		int result = -1;
-		try {
-			result = getTracker().getLineNumberOfOffset(offset);
-		} catch (BadLocationException e) {
-			Logger.traceException("IStructuredDocument", "Dev. Program Info Only: IStructuredDocument::getLineOfOffset: offset out of range, zero assumed. offset = " + offset, e); //$NON-NLS-1$ //$NON-NLS-2$
-			result = 0;
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the number of lines in this document
-	 * 
-	 * @return the number of lines in this document
-	 */
-	public int getNumberOfLines() {
-		return getTracker().getNumberOfLines();
-	}
-
-	/**
-	 * Returns the number of lines which are occupied by a given text range.
-	 * 
-	 * @param offset
-	 *            the offset of the specified text range
-	 * @param length
-	 *            the length of the specified text range
-	 * @return the number of lines occupied by the specified range
-	 * @exception BadLocationException
-	 *                if specified range is invalid in this tracker
-	 */
-	public int getNumberOfLines(int offset, int length) throws org.eclipse.jface.text.BadLocationException {
-		return getTracker().getNumberOfLines(offset, length);
-	}
-
-	/**
-	 * This is public, for use by tag lib classes.
-	 */
-	public RegionParser getParser() {
-		if (fParser == null) {
-			throw new SourceEditingRuntimeException("IStructuredDocument::getParser. Parser needs to be set before use"); //$NON-NLS-1$
-			// fParser = getParserFactory().createParser(fType);
-			// System.out.println("Information:
-			// IStructuredDocument::getParser.
-			// XML Parser assumed.");
-			// fParser = new XMLSourceParser();
-		}
-		return fParser;
-	}
-
-	/**
-	 * Returns the document partition in which the position is located. The
-	 * partition is specified as typed region.
-	 */
-	public ITypedRegion getPartition(int offset) throws BadLocationException {
-		ITypedRegion partition = null;
-		try {
-			partition = getPartition(IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING, offset, false);
-		} catch (BadPartitioningException e) {
-			throw new Error(e);
-		}
-		if (partition == null) {
-			throw new Error();
-		}
-		return partition;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentExtension3#getZeroLengthPartition(java.lang.String,
-	 *      int)
-	 * @since 3.0
-	 */
-	public ITypedRegion getPartition(String partitioning, int offset, boolean preferOpenPartitions) throws BadLocationException, BadPartitioningException {
-		if ((0 > offset) || (offset > getLength()))
-			throw new BadLocationException();
-		ITypedRegion result = null;
-
-		IDocumentPartitioner partitioner = getDocumentPartitioner(partitioning);
-
-		if (partitioner instanceof IDocumentPartitionerExtension2) {
-			result = ((IDocumentPartitionerExtension2) partitioner).getPartition(offset, preferOpenPartitions);
-		} else if (partitioner != null) {
-			result = partitioner.getPartition(offset);
-		} else if (IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING.equals(partitioning)) {
-			result = new TypedRegion(0, getLength(), DEFAULT_CONTENT_TYPE);
-		} else
-			throw new BadPartitioningException();
-		return result;
-	}
-
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentExtension3#getPartitionings()
-	 * @since 3.0
-	 */
-	public String[] getPartitionings() {
-		if (fDocumentPartitioners == null)
-			return new String[0];
-		String[] partitionings = new String[fDocumentPartitioners.size()];
-		fDocumentPartitioners.keySet().toArray(partitionings);
-		return partitionings;
-	}
-
-	/**
-	 * Returns all position categories added to this document.
-	 */
-	public String[] getPositionCategories() {
-		return getPositionManager().getPositionCategories();
-	}
-
-	/**
-	 * @return Returns the positionManager.
-	 */
-	private GenericPositionManager getPositionManager() {
-		if (fPositionManager == null) {
-			fPositionManager = new GenericPositionManager(this);
-		}
-		return fPositionManager;
-	}
-
-	/**
-	 * Returns all Positions of the given position category.
-	 * 
-	 * @exception BadPositionCategoryException
-	 *                If category is not defined for the document
-	 */
-	public Position[] getPositions(String category) throws org.eclipse.jface.text.BadPositionCategoryException {
-		return getPositionManager().getPositions(category);
-	}
-
-	/**
-	 * @see IDocument#getPositionUpdaters
-	 */
-	public IPositionUpdater[] getPositionUpdaters() {
-		return getPositionManager().getPositionUpdaters();
-	}
-
-	/**
-	 * This method can return null, which is the case if the offset is just
-	 * before or just after the existing text. Compare with
-	 * getNodeAtCharacterOffset.
-	 */
-	public IStructuredDocumentRegion getRegionAtCharacterOffset(int offset) {
-		IStructuredDocumentRegion result = null;
-
-		// FIXME: need to synch on 'cachedRegion' (but since that's a
-		// constantly changing object, we
-		// can't, so need to add a "region_lock" object, and use it here, and
-		// in re-parser.
-		// Oh, and need to make sure, after synch, that the region is not
-		// deleted, and if so, I guess go back
-		// to the beginning!
-
-		// cached node can be null when document is empty
-		IStructuredDocumentRegion potentialCachedRegion = getCachedDocumentRegion();
-		if (potentialCachedRegion != null) {
-
-			// 
-
-			// if we already have the right node, return that.
-			if (potentialCachedRegion.containsOffset(offset)) {
-				result = potentialCachedRegion;
-			} else {
-				// first, find out what direction to go, relative to
-				// cachedNode.
-				// negative means "towards the front" of the file,
-				// postitive
-				// means
-				// towards the end.
-				int direction = offset - potentialCachedRegion.getStart();
-				if (direction < 0) {
-					// search towards beginning
-					while (!potentialCachedRegion.containsOffset(offset)) {
-						IStructuredDocumentRegion tempNode = potentialCachedRegion.getPrevious();
-						if (tempNode == null) {
-							break;
-						} else {
-							potentialCachedRegion = tempNode;
-						}
-					}
-				} else {
-					// search towards end
-					// There is a legitamat condition where the
-					// offset will not be contained in any node,
-					// which is if the offset is just past the last
-					// character of text.
-					// And, we must gaurd against setting cachedNode to
-					// null!
-					while (!potentialCachedRegion.containsOffset(offset)) {
-						IStructuredDocumentRegion tempNode = potentialCachedRegion.getNext();
-						if (tempNode == null)
-							break;
-						else
-							potentialCachedRegion = tempNode;
-					}
-				}
-			}
-			result = potentialCachedRegion;
-		}
-		// just to be doubly sure we never assign null to an already valid
-		// cachedRegion.
-		// I believe any time 'result' is null at this point, that just means
-		// we have an
-		// empty document, and the cachedRegion is already null, but we check
-		// and print
-		// warning, just so during development we be sure we never accidently
-		// break this assumption.
-		if (result != null)
-			setCachedDocumentRegion(result);
-		else if (getCachedDocumentRegion() != null) {
-			throw new IllegalStateException("Program Error: no region could be found to cache, but cache was non null. Indicates corrupted model or region list"); //$NON-NLS-1$
-		}
-
-		return result;
-	}
-
-	public IStructuredDocumentRegionList getRegionList() {
-		CoreNodeList result = null;
-		if (getCachedDocumentRegion() == null)
-			result = new CoreNodeList(null);
-		else
-			result = new CoreNodeList(getFirstStructuredDocumentRegion());
-
-		return result;
-	}
-
-	/**
-	 * was made public for easier testing. Normally should never be used by
-	 * client codes.
-	 */
-	public IStructuredTextReParser getReParser() {
-		if (fReParser == null) {
-			fReParser = new StructuredDocumentReParser();
-			fReParser.setStructuredDocument(this);
-		}
-		return fReParser;
-	}
-
-	private ITextStore getStore() {
-		Assert.isNotNull(fStore);
-		return fStore;
-	}
-
-	public String getText() {
-		String result = get();
-		return result;
-	}
-
-	/**
-	 * Returns the document's line tracker. Assumes that the document has been
-	 * initialized with a line tracker.
-	 * 
-	 * @return the document's line tracker
-	 */
-	private ILineTracker getTracker() {
-		Assert.isNotNull(fTracker);
-		return fTracker;
-	}
-
-	public IStructuredTextUndoManager getUndoManager() {
-		if (fUndoManager == null) {
-			fUndoManager = new StructuredTextUndoManager();
-		}
-		return fUndoManager;
-	}
-
-	void initializeFirstAndLastDocumentRegion() {
-		// cached Node must also be first, at the initial point. Only
-		// valid
-		// to call this method right after the first parse.
-		// 
-		// when starting afresh, our cachedNode should be our firstNode,
-		// so be sure to initialize the firstNode
-		firstDocumentRegion = getCachedDocumentRegion();
-		// be sure to use 'getNext' for this initial finding of the last
-		// node,
-		// since the implementation of node.getLastNode may simply call
-		// structuredDocument.getLastStructuredDocumentRegion!
-		IStructuredDocumentRegion aNode = firstDocumentRegion;
-		if (aNode == null) {
-			// defect 254607: to handle empty documents right, if
-			// firstnode is
-			// null, make sure last node is null too
-			lastDocumentRegion = null;
-		} else {
-			while (aNode != null) {
-				lastDocumentRegion = aNode;
-				aNode = aNode.getNext();
-			}
-		}
-	}
-
-	/**
-	 * @see IDocument#insertPositionUpdater
-	 */
-	public void insertPositionUpdater(IPositionUpdater updater, int index) {
-		getPositionManager().insertPositionUpdater(updater, index);
-	}
-
-	private void internal_addPositionCategory(String category) {
-		getPositionManager().addPositionCategory(category);
-	}
-
-	private void internal_addPositionUpdater(IPositionUpdater updater) {
-		getPositionManager().addPositionUpdater(updater);
-	}
-
-	private void internal_setParser(RegionParser newParser) {
-		fParser = newParser;
-	}
-
-	String internalGet(int offset, int length) {
-		String result = null;
-		int myLength = getLength();
-		// if ((0 > offset) || (0 > length) || (offset + length > myLength))
-		// throw new BadLocationException();
-		result = getStore().get(offset, length);
-		return result;
-	}
-
-	/**
-	 * @param requester
-	 * @param start
-	 * @param replacementLength
-	 * @param changes
-	 * @return
-	 */
-	private StructuredDocumentEvent internalReplaceText(Object requester, int start, int replacementLength, String changes, boolean ignoreReadOnlySettings) {
-		StructuredDocumentEvent result = null;
-
-		stopPostNotificationProcessing();
-		if (changes == null)
-			changes = ""; //$NON-NLS-1$
-		// 
-		if (Debug.debugStructuredDocument)
-			System.out.println(getClass().getName() + "::replaceText(" + start + "," + replacementLength + "," + changes + ")"); //$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		if (Debug.perfTestStructuredDocumentOnly || Debug.perfTest || Debug.perfTestRawStructuredDocumentOnly) {
-			startStreamTime = System.currentTimeMillis();
-		}
-		try {
-			// Note: event must be computed before 'fire' method called
-			fDocumentEvent = new DocumentEvent(this, start, replacementLength, changes);
-			fireDocumentAboutToChanged();
-
-			try {
-				acquireLock();
-
-				if (!ignoreReadOnlySettings && (containsReadOnly(start, replacementLength))) {
-					NoChangeEvent noChangeEvent = new NoChangeEvent(this, requester, changes, start, replacementLength);
-					noChangeEvent.reason = NoChangeEvent.READ_ONLY_STATE_CHANGE;
-					result = noChangeEvent;
-				} else {
-					result = updateModel(requester, start, replacementLength, changes);
-				}
-			} finally {
-				releaseLock();
-			}
-
-
-			if (Debug.perfTestRawStructuredDocumentOnly || Debug.perfTest) {
-				long stopStreamTime = System.currentTimeMillis();
-				System.out.println("\n\t\t\t\t Time for IStructuredDocument raw replaceText: " + (stopStreamTime - startStreamTime)); //$NON-NLS-1$
-			}
-			if (Debug.debugStructuredDocument) {
-				System.out.println("event type returned by replaceTextWithNoDebuggingThread: " + result); //$NON-NLS-1$
-			}
-		} finally {
-			// FUTURE_TO_DO: implement callback mechanism? to avoid instanceof
-			// and casting
-			// fireStructuredDocumentEvent must be called in order to end
-			// documentAboutToBeChanged state
-			if (result == null) {
-				// result should not be null, but if an exception was thrown,
-				// it will be
-				// so send a noChangeEvent and log the problem
-				NoChangeEvent noChangeEvent = new NoChangeEvent(this, requester, changes, start, replacementLength);
-				noChangeEvent.reason = NoChangeEvent.NO_EVENT;
-				fireStructuredDocumentEvent(noChangeEvent);
-				Logger.log(Logger.ERROR, "Program Error: invalid structured document event"); //$NON-NLS-1$
-			} else {
-				if (result instanceof RegionChangedEvent) {
-					fireStructuredDocumentEvent((RegionChangedEvent) result);
-				} else {
-					if (result instanceof RegionsReplacedEvent) {
-						fireStructuredDocumentEvent((RegionsReplacedEvent) result);
-					} else {
-						if (result instanceof StructuredDocumentRegionsReplacedEvent) {
-							// probably more efficient to mark old regions as
-							// 'deleted' at the time
-							// that are determined to be deleted, but I'll do
-							// here
-							// in then central spot
-							// for programming ease.
-							updateDeletedFields((StructuredDocumentRegionsReplacedEvent) result);
-							fireStructuredDocumentEvent((StructuredDocumentRegionsReplacedEvent) result);
-						} else {
-							if (result instanceof NoChangeEvent) {
-								fireStructuredDocumentEvent((NoChangeEvent) result);
-							} else {
-								// if here, this means a new event was created
-								// and not handled here
-								// just send a no event until this issue is
-								// resolved.
-								NoChangeEvent noChangeEvent = new NoChangeEvent(this, requester, changes, start, replacementLength);
-								noChangeEvent.reason = NoChangeEvent.NO_EVENT;
-								fireStructuredDocumentEvent(noChangeEvent);
-								throw new SourceEditingRuntimeException("Program Error: unexpected structured document event: " + result); //$NON-NLS-1$
-							}
-						}
-					}
-				}
-			}
-			if (Debug.perfTest || Debug.perfTestStructuredDocumentOnly) {
-				long stopStreamTime = System.currentTimeMillis();
-				System.out.println("\n\t\t\t\t Total Time for IStructuredDocument event signaling/processing in replaceText: " + (stopStreamTime - startStreamTime)); //$NON-NLS-1$
-			}
-			resumePostNotificationProcessing();
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.CharSequence#length()
-	 */
-	public int length() {
-
-		return getLength();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocument#makeReadOnly(int,
-	 *      int)
-	 */
-	public void makeReadOnly(int startOffset, int length) {
-
-		// doesn't make sense to have a readonly region of 0 length,
-		// so we'll ignore those requests
-		if (length <= 0)
-			return;
-		String affectedText = this.get(startOffset, length);
-		// a document event for "read only" change ... must
-		// be followed by "no change" structuredDocument event
-		// fDocumentEvent = new DocumentEvent(this, startOffset, length,
-		// affectedText);
-		fireReadOnlyAboutToBeChanged();
-		// if (containsReadOnly(startOffset, length)) {
-		// adjustReadOnlyRegions(startOffset, length);
-		// } else {
-		// we can blindly add category, since no harm done if already
-		// exists.
-		addPositionCategory(READ_ONLY_REGIONS_CATEGORY);
-		Position newPosition = new Position(startOffset, length);
-		try {
-			addPosition(READ_ONLY_REGIONS_CATEGORY, newPosition);
-			// FIXME: need to change API to pass in requester, so this event
-			// can be
-			// created correctly, instead of using null.
-			NoChangeEvent noChangeEvent = new NoChangeEvent(this, null, affectedText, startOffset, length);
-			noChangeEvent.reason = NoChangeEvent.READ_ONLY_STATE_CHANGE;
-			fireReadOnlyStructuredDocumentEvent(noChangeEvent);
-		} catch (BadLocationException e) {
-			// for now, log and ignore. Perhaps later we
-			// could adjust to handle some cases?
-			Logger.logException(("could not create readonly region at " + startOffset + " to " + length), e); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (BadPositionCategoryException e) {
-			// should never occur, since we add category
-			Logger.logException(e);
-		}
-	}
-
-	/**
-	 * @see com.ibm.sed.structuredDocument.IStructuredDocument#newInstance()
-	 */
-	public IStructuredDocument newInstance() {
-		IStructuredDocument newInstance = StructuredDocumentFactory.getNewStructuredDocumentInstance(getParser().newInstance());
-		((BasicStructuredDocument) newInstance).setReParser(getReParser().newInstance());
-		if (getDocumentPartitioner() instanceof StructuredTextPartitioner) {
-			newInstance.setDocumentPartitioner(((StructuredTextPartitioner) getDocumentPartitioner()).newInstance());
-			newInstance.getDocumentPartitioner().connect(newInstance);
-		}
-		newInstance.setLineDelimiter(getLineDelimiter());
-		if (getEncodingMemento() != null) {
-			newInstance.setEncodingMemento((EncodingMemento) getEncodingMemento().clone());
-		}
-		return newInstance;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.internal.text.IRegionComparible#regionMatches(int,
-	 *      int, java.lang.String)
-	 */
-	public boolean regionMatches(int offset, int length, String stringToCompare) {
-		boolean result = false;
-		ITextStore store = getStore();
-		if (store instanceof IRegionComparible) {
-			result = ((IRegionComparible) store).regionMatches(offset, length, stringToCompare);
-		} else {
-			result = get(offset, length).equals(stringToCompare);
-		}
-		return result;
-	}
-
-	public boolean regionMatchesIgnoreCase(int offset, int length, String stringToCompare) {
-		boolean result = false;
-		ITextStore store = getStore();
-		if (store instanceof IRegionComparible) {
-			result = ((IRegionComparible) store).regionMatchesIgnoreCase(offset, length, stringToCompare);
-		} else {
-			result = get(offset, length).equalsIgnoreCase(stringToCompare);
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentExtension#registerPostNotificationReplace(org.eclipse.jface.text.IDocumentListener,
-	 *      org.eclipse.jface.text.IDocumentExtension.IReplace)
-	 */
-	public void registerPostNotificationReplace(IDocumentListener owner, IDocumentExtension.IReplace replace) {
-		if (fAcceptPostNotificationReplaces) {
-			if (fPostNotificationChanges == null)
-				fPostNotificationChanges = new ArrayList(1);
-			fPostNotificationChanges.add(new RegisteredReplace(owner, replace));
-		}
-	}
-
-	protected void releaseLock() {
-		// do nothing here in super class
-	}
-
-	public void removeDocumentAboutToChangeListener(IModelAboutToBeChangedListener listener) {
-		synchronized (listenerLock) {
-
-			if ((fStructuredDocumentAboutToChangeListeners != null) && (listener != null)) {
-				// if its not in the listeners, we'll ignore the request
-				if (Utilities.contains(fStructuredDocumentAboutToChangeListeners, listener)) {
-					int oldSize = fStructuredDocumentAboutToChangeListeners.length;
-					int newSize = oldSize - 1;
-					Object[] newListeners = new Object[newSize];
-					int index = 0;
-					for (int i = 0; i < oldSize; i++) {
-						if (fStructuredDocumentAboutToChangeListeners[i] == listener) { // ignore
-						} else {
-							// copy old to new if its not the one we are
-							// removing
-							newListeners[index++] = fStructuredDocumentAboutToChangeListeners[i];
-						}
-					}
-					// now that we have a new array, let's switch it for the
-					// old
-					// one
-					fStructuredDocumentAboutToChangeListeners = newListeners;
-				}
-			}
-		}
-	}
-
-	/**
-	 * removeModelChangedListener method comment.
-	 */
-	public void removeDocumentChangedListener(IStructuredDocumentListener listener) {
-		synchronized (listenerLock) {
-
-			if ((fStructuredDocumentChangedListeners != null) && (listener != null)) {
-				// if its not in the listeners, we'll ignore the request
-				if (Utilities.contains(fStructuredDocumentChangedListeners, listener)) {
-					int oldSize = fStructuredDocumentChangedListeners.length;
-					int newSize = oldSize - 1;
-					Object[] newListeners = new Object[newSize];
-					int index = 0;
-					for (int i = 0; i < oldSize; i++) {
-						if (fStructuredDocumentChangedListeners[i] == listener) { // ignore
-						} else {
-							// copy old to new if its not the one we are
-							// removing
-							newListeners[index++] = fStructuredDocumentChangedListeners[i];
-						}
-					}
-					// now that we have a new array, let's switch it for the
-					// old
-					// one
-					fStructuredDocumentChangedListeners = newListeners;
-				}
-			}
-		}
-	}
-
-	public void removeDocumentChangingListener(IStructuredDocumentListener listener) {
-		synchronized (listenerLock) {
-
-			if ((fStructuredDocumentChangingListeners != null) && (listener != null)) {
-				// if its not in the listeners, we'll ignore the request
-				if (Utilities.contains(fStructuredDocumentChangingListeners, listener)) {
-					int oldSize = fStructuredDocumentChangingListeners.length;
-					int newSize = oldSize - 1;
-					Object[] newListeners = new Object[newSize];
-					int index = 0;
-					for (int i = 0; i < oldSize; i++) {
-						if (fStructuredDocumentChangingListeners[i] == listener) { // ignore
-						} else {
-							// copy old to new if its not the one we are
-							// removing
-							newListeners[index++] = fStructuredDocumentChangingListeners[i];
-						}
-					}
-					// now that we have a new array, let's switch it for the
-					// old
-					// one
-					fStructuredDocumentChangingListeners = newListeners;
-				}
-			}
-		}
-	}
-
-	public void removeDocumentListener(IDocumentListener listener) {
-		synchronized (listenerLock) {
-
-			if ((fDocumentListeners != null) && (listener != null)) {
-				// if its not in the listeners, we'll ignore the request
-				if (Utilities.contains(fDocumentListeners, listener)) {
-					int oldSize = fDocumentListeners.length;
-					int newSize = oldSize - 1;
-					IDocumentListener[] newListeners = new IDocumentListener[newSize];
-					int index = 0;
-					for (int i = 0; i < oldSize; i++) {
-						if (fDocumentListeners[i] == listener) { // ignore
-						} else {
-							// copy old to new if its not the one we are
-							// removing
-							newListeners[index++] = fDocumentListeners[i];
-						}
-					}
-					// now that we have a new array, let's switch it for the
-					// old
-					// one
-					fDocumentListeners = newListeners;
-				}
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#removeDocumentPartitioningListener(org.eclipse.jface.text.IDocumentPartitioningListener)
-	 */
-	public void removeDocumentPartitioningListener(IDocumentPartitioningListener listener) {
-		synchronized (listenerLock) {
-
-			Assert.isNotNull(listener);
-			if (fDocumentPartitioningListeners != null)
-				fDocumentPartitioningListeners.remove(listener);
-		}
-	}
-
-	/**
-	 * Removes the given <code>Position</code> from the document's default
-	 * position category. The default position category is to be defined by
-	 * the implementers. If the position is not part of the document's default
-	 * category nothing happens.
-	 */
-	public void removePosition(Position position) {
-		getPositionManager().removePosition(position);
-	}
-
-	/**
-	 * @see IDocument#removePosition
-	 * @exception BadPositionCategoryException
-	 *                If the category is not defined for the document
-	 */
-	public void removePosition(String category, Position position) throws BadPositionCategoryException {
-		getPositionManager().removePosition(category, position);
-	}
-
-	/**
-	 * @see IDocument#removePositionCategory
-	 * @exception BadPositionCategoryException
-	 *                If the category is not defined for the document
-	 */
-	public void removePositionCategory(String category) throws BadPositionCategoryException {
-		getPositionManager().removePositionCategory(category);
-	}
-
-	/**
-	 * @see IDocument#removePositionUpdater
-	 */
-	public void removePositionUpdater(IPositionUpdater updater) {
-		getPositionManager().removePositionUpdater(updater);
-	}
-
-	/**
-	 * Removes the given document listener from teh document's list of
-	 * prenotified document listeners. If the listener is not registered with
-	 * the document nothing happens.
-	 * <p>
-	 * 
-	 * This method is not for public use, it may only be called by
-	 * implementers of <code>IDocumentAdapter</code> and only if those
-	 * implementers need to implement <code>IDocumentListener</code>.
-	 * 
-	 * @param documentAdapter
-	 *            the listener to be removed
-	 * 
-	 * @see #addPrenotifiedDocumentListener(IDocumentListener)
-	 */
-	public void removePrenotifiedDocumentListener(org.eclipse.jface.text.IDocumentListener documentAdapter) {
-		synchronized (listenerLock) {
-
-			if (Utilities.contains(fPrenotifiedDocumentListeners, documentAdapter)) {
-				int previousSize = fPrenotifiedDocumentListeners.length;
-				if (previousSize > 1) {
-					IDocumentListener[] listeners = new IDocumentListener[previousSize - 1];
-					int previousIndex = 0;
-					int newIndex = 0;
-					while (previousIndex < previousSize) {
-						if (fPrenotifiedDocumentListeners[previousIndex] != documentAdapter)
-							listeners[newIndex++] = fPrenotifiedDocumentListeners[previousIndex];
-						previousIndex++;
-					}
-					fPrenotifiedDocumentListeners = listeners;
-				} else {
-					fPrenotifiedDocumentListeners = null;
-				}
-			}
-		}
-	}
-
-	/**
-	 * This method is for INTERNAL USE ONLY and is NOT API.
-	 * 
-	 * Rebuilds the StructuredDocumentRegion chain from the existing text.
-	 * FileBuffer support does not allow clients to know the document's
-	 * location before the text contents are set.
-	 * 
-	 * @see set(String)
-	 */
-	public void reparse(Object requester) {
-		NewDocumentEvent result = null;
-		stopPostNotificationProcessing();
-		clearReadOnly();
-
-		acquireLock();
-		try {
-			CharSequenceReader subSetTextStoreReader = new CharSequenceReader((CharSequence) getStore(), 0, getStore().getLength());
-			resetParser(subSetTextStoreReader, 0);
-			//
-			setCachedDocumentRegion(getParser().getDocumentRegions());
-			// when starting afresh, our cachedNode should be our firstNode,
-			// so be sure to initialize the firstNode and lastNode
-			initializeFirstAndLastDocumentRegion();
-			StructuredDocumentRegionIterator.setParentDocument(getCachedDocumentRegion(), this);
-		} finally {
-			releaseLock();
-		}
-
-		resumePostNotificationProcessing();
-	}
-
-	/**
-	 * @see IDocument#replace
-	 * @exception BadLocationException
-	 *                If position is not a valid range in the document
-	 */
-	public void replace(int pos, int length, String string) throws BadLocationException {
-		if (Debug.displayWarnings) {
-			System.out.println("Note: IStructuredDocument::replace(int, int, String) .... its better to use replaceText(source, string, int, int) API for structuredDocument updates"); //$NON-NLS-1$
-		}
-		replaceText(this, pos, length, string);
-	}
-
-	/**
-	 * Replace the text with "newText" starting at position "start" for a
-	 * length of "replaceLength".
-	 * <p>
-	 * 
-	 * @param start
-	 *            start offset of text to replace None of the offsets include
-	 *            delimiters of preceeding lines. Offset 0 is the first
-	 *            character of the document.
-	 * @param replaceLength
-	 *            start offset of text to replace
-	 * @param newText
-	 *            start offset of text to replace
-	 *            <p>
-	 *            Implementors have to notify TextChanged listeners after the
-	 *            content has been updated. The TextChangedEvent should be set
-	 *            as follows:
-	 * 
-	 * event.type = SWT.TextReplaced event.start = start of the replaced text
-	 * event.numReplacedLines = number of replaced lines event.numNewLines =
-	 * number of new lines event.replacedLength = length of the replaced text
-	 * event.newLength = length of the new text
-	 * 
-	 * NOTE: numNewLines is the number of inserted lines and numReplacedLines
-	 * is the number of deleted lines based on the change that occurs
-	 * visually. For example:
-	 * 
-	 * replacedText newText numReplacedLines numNewLines "" "\n" 0 1 "\n\n"
-	 * "a" 2 0 "a" "\n\n" 0 2
-	 */
-	/**
-	 * One of the APIs to manipulate the IStructuredDocument in terms of text.
-	 */
-	public StructuredDocumentEvent replaceText(Object requester, int start, int replacementLength, String changes) {
-		return replaceText(requester, start, replacementLength, changes, false);
-	}
-
-	public StructuredDocumentEvent replaceText(Object requester, int start, int replacementLength, String changes, boolean ignoreReadOnlySettings) {
-		return internalReplaceText(requester, start, replacementLength, changes, ignoreReadOnlySettings);
-	}
-
-	void resetParser(int startOffset, int endOffset) {
-
-		RegionParser parser = getParser();
-		ITextStore textStore = getStore();
-		if (textStore instanceof CharSequence) {
-			CharSequenceReader subSetTextStoreReader = new CharSequenceReader((CharSequence) textStore, startOffset, endOffset - startOffset);
-			parser.reset(subSetTextStoreReader, startOffset);
-		} else {
-			String newNodeText = get(startOffset, endOffset - startOffset);
-			parser.reset(newNodeText, startOffset);
-
-		}
-
-	}
-
-	void resetParser(Reader reader, int startOffset) {
-		RegionParser parser = getParser();
-		parser.reset(reader, startOffset);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentExtension#resumePostNotificationProcessing()
-	 */
-	public void resumePostNotificationProcessing() {
-		--fStoppedCount;
-		if (fStoppedCount == 0 && fReentranceCount == 0)
-			executePostNotificationChanges();
-	}
-
-	/**
-	 * @deprecated in superclass in 3.0 - use a FindReplaceDocumentAdapter
-	 *             directly
-	 * @see IDocument#search
-	 */
-	public int search(int startPosition, String findString, boolean forwardSearch, boolean caseSensitive, boolean wholeWord) throws BadLocationException {
-		// (dmw) I added this warning, to know if still being used. I'm not
-		// sure it
-		// works as expected any longer.
-		// but the warning should be removed, once know.
-		Logger.log(Logger.INFO, "WARNING: using unsupported deprecated method 'search'"); //$NON-NLS-1$
-		int offset = -1;
-		IRegion match = new FindReplaceDocumentAdapter(this).find(startPosition, findString, forwardSearch, caseSensitive, wholeWord, false);
-		if (match != null) {
-			offset = match.getOffset();
-		}
-		return offset;
-	}
-
-	/**
-	 * @see IDocument#setText
-	 */
-	public void set(String string) {
-		if (Debug.displayInfo) {
-			System.out.println("Note: IStructuredDocument::setText(String) .... its better to use setText(source, string) API for structuredDocument updates"); //$NON-NLS-1$
-		}
-		setText(null, string);
-	}
-
-	/**
-	 * This may be marked public, but should be packaged protected, once
-	 * refactoring is complete (in other words, not for client use).
-	 */
-	public void setCachedDocumentRegion(IStructuredDocumentRegion structuredRegion) {
-		if (USE_LOCAL_THREAD) {
-			fCurrentDocumnetRegionCache.set(structuredRegion);
-		} else {
-			cachedDocumentRegion = structuredRegion;
-		}
-	}
-
-	/**
-	 * Sets the document's partitioner.
-	 * 
-	 * @see IDocumentPartitioner
-	 */
-	public void setDocumentPartitioner(IDocumentPartitioner partitioner) {
-		setDocumentPartitioner(IDocumentExtension3.DEFAULT_PARTITIONING, partitioner);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentExtension3#setDocumentPartitioner(java.lang.String,
-	 *      org.eclipse.jface.text.IDocumentPartitioner)
-	 * @since 3.0
-	 */
-	public void setDocumentPartitioner(String partitioning, IDocumentPartitioner partitioner) {
-		if (partitioner == null) {
-			if (fDocumentPartitioners != null) {
-				fDocumentPartitioners.remove(partitioning);
-				if (fDocumentPartitioners.size() == 0)
-					fDocumentPartitioners = null;
-			}
-		} else {
-			if (fDocumentPartitioners == null)
-				fDocumentPartitioners = new HashMap();
-			fDocumentPartitioners.put(partitioning, partitioner);
-		}
-		DocumentPartitioningChangedEvent event = new DocumentPartitioningChangedEvent(this);
-		event.setPartitionChange(partitioning, 0, getLength());
-		fireDocumentPartitioningChanged(event);
-	}
-
-	/**
-	 * @see com.ibm.sed.structuredDocument.IStructuredDocument#setEncodingMemento(EncodingMemento)
-	 */
-	public void setEncodingMemento(EncodingMemento encodingMemento) {
-		this.encodingMemento = encodingMemento;
-	}
-
-	void setFirstDocumentRegion(IStructuredDocumentRegion region) {
-		firstDocumentRegion = region;
-
-	}
-
-	void setLastDocumentRegion(IStructuredDocumentRegion region) {
-		lastDocumentRegion = region;
-
-	}
-
-	/**
-	 * @see IStructuredDocument#setLineDelimiter(String)
-	 */
-	public void setLineDelimiter(String delimiter) {
-		// make sure our preferred delimiter is
-		// one of the legal ones
-		if (Utilities.containsString(getLegalLineDelimiters(), delimiter)) {
-			preferedDelimiter = delimiter;
-		} else {
-			Logger.trace("IStructuredDocument", "Attempt to set linedelimiter to non-legal delimiter"); //$NON-NLS-1$ //$NON-NLS-2$
-			preferedDelimiter = PlatformLineDelimiter;
-		}
-	}
-
-	/**
-	 * Sets the document's line tracker. Must be called at the beginning of
-	 * the constructor.
-	 * 
-	 * @param tracker
-	 *            the document's line tracker
-	 */
-	private void setLineTracker(ILineTracker tracker) {
-		fTracker = tracker;
-	}
-
-	public void setParser(RegionParser newParser) {
-		internal_setParser(newParser);
-	}
-
-	/**
-	 * @param positionManager
-	 *            The positionManager to set.
-	 */
-	// TODO: make private is needed, else remove
-	void setPositionManager(GenericPositionManager positionManager) {
-		fPositionManager = positionManager;
-	}
-
-	/**
-	 * 
-	 */
-	public void setReParser(IStructuredTextReParser newReParser) {
-		fReParser = newReParser;
-		if (fReParser != null) {
-			fReParser.setStructuredDocument(this);
-		}
-	}
-
-	/**
-	 * One of the APIs to manipulate the IStructuredDocument in terms of text.
-	 */
-	public NewModelEvent setText(Object requester, String theString) {
-
-		NewDocumentEvent result = null;
-		stopPostNotificationProcessing();
-		clearReadOnly();
-		// Note: event must be computed before 'fire' method called
-		// Note: judging from code in AbstractDocument, apparently the
-		// length in this event is the current length of 
-		// the document.
-		fDocumentEvent = new DocumentEvent(this, 0, length(), theString);
-		fireDocumentAboutToChanged();
-
-		acquireLock();
-
-		try {
-			getStore().set(theString);
-			getTracker().set(theString);
-			//
-			CharSequenceReader subSetTextStoreReader = new CharSequenceReader((CharSequence) getStore(), 0, getStore().getLength());
-			resetParser(subSetTextStoreReader, 0);
-			//
-			setCachedDocumentRegion(getParser().getDocumentRegions());
-			// when starting afresh, our cachedNode should be our firstNode,
-			// so be sure to initialize the firstNode and lastNode
-			initializeFirstAndLastDocumentRegion();
-			StructuredDocumentRegionIterator.setParentDocument(getCachedDocumentRegion(), this);
-		} finally {
-			releaseLock();
-		}
-
-		result = new NewDocumentEvent(this, requester);
-		fireStructuredDocumentEvent(result);
-		resumePostNotificationProcessing();
-		return result;
-	}
-
-	/**
-	 * Sets the document's text store. Must be called at the beginning of the
-	 * constructor.
-	 * 
-	 * @param store
-	 *            the document's text store
-	 */
-	private void setTextStore(ITextStore store) {
-		fStore = store;
-	}
-
-	public void setUndoManager(IStructuredTextUndoManager undoManager) {
-
-		// if the undo manager has already been set, then
-		// fail fast, since changing the undo manager will lead
-		// to unusual results (or at least loss of undo stack).
-		if (fUndoManager != null && fUndoManager != undoManager) {
-			throw new IllegalArgumentException("can not change undo manager once its been set"); //$NON-NLS-1$
-		} else {
-			fUndoManager = undoManager;
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentExtension#startSequentialRewrite(boolean)
-	 * @since 2.0
-	 */
-	public void startSequentialRewrite(boolean normalized) {
-		ITextStore store = new SequentialRewriteTextStore(getStore());
-		setTextStore(store);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentExtension#stopPostNotificationProcessing()
-	 */
-	public void stopPostNotificationProcessing() {
-		++fStoppedCount;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentExtension#stopSequentialRewrite()
-	 * @since 2.0
-	 */
-	public void stopSequentialRewrite() {
-		if (getStore() instanceof SequentialRewriteTextStore) {
-			SequentialRewriteTextStore srws = (SequentialRewriteTextStore) getStore();
-			ITextStore source = srws.getSourceStore();
-			setTextStore(source);
-			srws.dispose();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.CharSequence#subSequence(int, int)
-	 */
-	public CharSequence subSequence(int arg0, int arg1) {
-		return get(arg0, arg1);
-	}
-
-	/**
-	 * @param result
-	 */
-	private void updateDeletedFields(StructuredDocumentRegionsReplacedEvent event) {
-		IStructuredDocumentRegionList oldRegions = event.getOldStructuredDocumentRegions();
-		for (int i = 0; i < oldRegions.getLength(); i++) {
-			IStructuredDocumentRegion structuredDocumentRegion = oldRegions.item(i);
-			structuredDocumentRegion.setDeleted(true);
-		}
-
-	}
-
-	/**
-	 * Called by re-parser. Note: this method may be "public" but should only
-	 * be called by re-parsers in the right circumstances.
-	 */
-	public void updateDocumentData(int start, int lengthToReplace, String changes) {
-		stopPostNotificationProcessing();
-		getStore().replace(start, lengthToReplace, changes);
-		try {
-			getTracker().replace(start, lengthToReplace, changes);
-		}
-
-		catch (BadLocationException e) {
-			// should be impossible here, but will log for now
-			Logger.logException(e);
-		}
-		if (fPositionManager != null) {
-			fPositionManager.updatePositions(new DocumentEvent(this, start, lengthToReplace, changes));
-		}
-		resumePostNotificationProcessing();
-	}
-
-	private StructuredDocumentEvent updateModel(Object requester, int start, int lengthToReplace, String changes) {
-		StructuredDocumentEvent result = null;
-		IStructuredTextReParser reParser = getReParser();
-		// initialize the IStructuredTextReParser with the standard data
-		// that's
-		// always needed
-		reParser.initialize(requester, start, lengthToReplace, changes);
-		result = reParser.reparse();
-		// if result is null at this point, then there must be an error, since
-		// even if there
-		// was no change (either disallow due to readonly, or a person pasted
-		// the same thing
-		// they had selected) then a "NoChange" event should have been fired.
-		Assert.isNotNull(result, "no structuredDocument event was created in IStructuredDocument::updateStructuredDocument"); //$NON-NLS-1$
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocumentRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocumentRegion.java
deleted file mode 100644
index a31192c..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/BasicStructuredDocumentRegion.java
+++ /dev/null
@@ -1,688 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-
-public class BasicStructuredDocumentRegion extends Object implements IStructuredDocumentRegion {
-	private static final String TEXT_STORE_NOT_ASSIGNED = "text store not assigned yet"; //$NON-NLS-1$
-	private static final String UNDEFINED = "org.eclipse.wst.sse.core.structuredDocument.UNDEFINED"; //$NON-NLS-1$
-
-	private ITextRegionList _regions;
-	private boolean fIsDeleted = false;
-	//private String fType;
-	/**
-	 * allow a pointer back to this nodes model
-	 */
-	private IStructuredDocument fParentDocument;
-	/**
-	 * was this node terminated normally
-	 */
-	// 0 == false, 1 == true
-	private byte hasEnd = 0;
-	protected int length;
-	private IStructuredDocumentRegion next = null;
-	private IStructuredDocumentRegion previous = null;
-	protected int start;
-
-	public BasicStructuredDocumentRegion() {
-		super();
-		_regions = new TextRegionListImpl();
-
-	}
-
-	/**
-	 * Even inside-this class uses of 'regions' should use this method, as
-	 * this is where (soft) memory management/reparsing, etc., will be
-	 * centralized.
-	 */
-	private ITextRegionList _getRegions() {
-
-		return _regions;
-	}
-
-	public void addRegion(ITextRegion aRegion) {
-		_getRegions().add(aRegion);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjust(int)
-	 */
-	public void adjust(int i) {
-		start += i;
-	}
-
-	public void adjustLengthWith(int i) {
-		length += i;
-	}
-
-	public void adjustStart(int i) {
-		start += i;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		// not supported
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#containsOffset(int)
-	 */
-	public boolean containsOffset(int i) {
-
-		return getStartOffset() <= i && i < getEndOffset();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#containsOffset(com.ibm.sed.structured.text.ITextRegion,
-	 *      int)
-	 */
-	public boolean containsOffset(ITextRegion containedRegion, int offset) {
-		return getStartOffset(containedRegion) <= offset && offset < getEndOffset(containedRegion);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#equatePositions(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public void equatePositions(ITextRegion region) {
-		start = region.getStart();
-		length = region.getLength();
-		//textLength = region.getTextLength();
-
-	}
-
-	/**
-	 * getEnd and getEndOffset are the same only for
-	 * IStructuredDocumentRegions
-	 */
-	public int getEnd() {
-		return start + length;
-	}
-
-	/**
-	 * getEnd and getEndOffset are the same only for
-	 * IStructuredDocumentRegions
-	 */
-	public int getEndOffset() {
-		return getEnd();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getEndOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getEndOffset(ITextRegion containedRegion) {
-		return getStartOffset(containedRegion) + containedRegion.getLength();
-	}
-
-	//	public IStructuredDocumentRegion getFirstNode() {
-	//		IStructuredDocumentRegion aNode = (IStructuredDocumentRegion)
-	// fOwningDocument.getFirstStructuredDocumentRegion();
-	//		return aNode;
-	//	}
-	public ITextRegion getFirstRegion() {
-		if (_getRegions() == null)
-			return null;
-		return _getRegions().get(0);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getFullText()
-	 */
-	public String getFullText() {
-		try {
-			return getParentDocument().get(start, length);
-		} catch (BadLocationException e) {
-			// program error
-			throw new SourceEditingRuntimeException(e);
-		}
-	}
-
-	public String getFullText(ITextRegion aRegion) {
-		String result = null;
-		try {
-			int regionStart = aRegion.getStart();
-			int regionLength = aRegion.getLength();
-			result = fParentDocument.get(start + regionStart, regionLength);
-		} catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException(e);
-		}
-		return result;
-	}
-
-	public String getFullText(String context) {
-		// DMW: looping is faster than enumeration,
-		// so switched around 2/12/03
-		//Enumeration e = getRegions().elements();
-		ITextRegion region = null;
-		String result = ""; //$NON-NLS-1$
-		int length = getRegions().size();
-		for (int i = 0; i < length; i++) {
-			region = getRegions().get(i);
-			if (region.getType() == context)
-				result += getFullText(region);
-		}
-		return result;
-	}
-
-	public ITextRegion getLastRegion() {
-		if (_getRegions() == null)
-			return null;
-		return _getRegions().get(_getRegions().size() - 1);
-	}
-
-	public int getLength() {
-		return length;
-	}
-
-	public IStructuredDocumentRegion getNext() {
-		return next;
-	}
-
-	public int getNumberOfRegions() {
-		return _getRegions().size();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#getDocument()
-	 */
-	public IStructuredDocument getParentDocument() {
-
-		return fParentDocument;
-	}
-
-	public IStructuredDocumentRegion getPrevious() {
-		return previous;
-	}
-
-	/**
-	 * The parameter offset refers to the overall offset in the document.
-	 */
-	public ITextRegion getRegionAtCharacterOffset(int offset) {
-		ITextRegion result = null;
-		if (_getRegions() != null) {
-			// transform the requested offset to the "scale" that
-			// regions are stored in, which are all relative to the
-			// start point.
-			//int transformedOffset = offset - getStartOffset();
-			//
-			int length = getRegions().size();
-			for (int i = 0; i < length; i++) {
-				ITextRegion region = getRegions().get(i);
-				if (Debug.debugStructuredDocument) {
-					System.out.println("region(s) in IStructuredDocumentRegion::getRegionAtCharacterOffset: " + region); //$NON-NLS-1$
-					System.out.println("       requested offset: " + offset); //$NON-NLS-1$
-					//System.out.println(" transformedOffset: " +
-					// transformedOffset); //$NON-NLS-1$
-					System.out.println("       region start: " + region.getStart()); //$NON-NLS-1$
-					System.out.println("       region end: " + region.getEnd()); //$NON-NLS-1$
-					System.out.println("       region type: " + region.getType()); //$NON-NLS-1$
-					System.out.println("       region class: " + region.getClass()); //$NON-NLS-1$
-
-				}
-				if ((getStartOffset(region) <= offset) && (offset < getEndOffset(region))) {
-					result = region;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	public ITextRegionList getRegions() {
-		return _getRegions();
-	}
-
-	/**
-	 * getStart and getStartOffset are the same only for
-	 * IStrucutredDocumentRegions
-	 */
-	public int getStart() {
-		return start;
-	}
-
-	/**
-	 * getStart and getStartOffset are the same only for
-	 * IStrucutredDocumentRegions
-	 */
-	public int getStartOffset() {
-		return getStart();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getStartOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getStartOffset(ITextRegion containedRegion) {
-		// assert: containedRegion can not be null
-		// (might be performance hit if literally put in assert call,
-		// but containedRegion can not be null). Needs to be checked
-		// by calling code.
-		return getStartOffset() + containedRegion.getStart();
-	}
-
-	public String getText() {
-		String result = null;
-		try {
-			if (fParentDocument == null) {
-				// likely to happen during inspecting
-				result = TEXT_STORE_NOT_ASSIGNED;
-			} else {
-				result = fParentDocument.get(start, length);
-			}
-		} catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException(e);
-		}
-		return result;
-	}
-
-	public String getText(ITextRegion aRegion) {
-		// assert: aRegion can not be null
-		// (might be performance hit if literally put in assert call,
-		// but aRegion can not be null). Needs to be checked
-		// by calling code.
-		try {
-			return fParentDocument.get(this.getStartOffset(aRegion), aRegion.getTextLength());
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the text of the first region with the matching context type
-	 */
-	public String getText(String context) {
-		// DMW: looping is faster than enumeration,
-		// so switched around 2/12/03
-		//Enumeration e = getRegions().elements();
-		ITextRegion region = null;
-		String result = ""; //$NON-NLS-1$
-		int length = getRegions().size();
-		for (int i = 0; i < length; i++) {
-			region = getRegions().get(i);
-			if (region.getType() == context) {
-				result = getText(region);
-				break;
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#getTextEnd()
-	 */
-	public int getTextEnd() {
-
-		//return start + textLength;
-		return start + length;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getTextEndOffset() {
-		ITextRegion region = _getRegions().get(_getRegions().size() - 1);
-		return getStartOffset() + region.getTextEnd();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getTextEndOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getTextEndOffset(ITextRegion containedRegion) {
-		return getStartOffset(containedRegion) + containedRegion.getTextLength();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#getTextLength()
-	 */
-	public int getTextLength() {
-		//return textLength;
-		return length;
-	}
-
-	/**
-	 * Provides the type of IStructuredDocumentRegion ... not to be confused
-	 * with type of XML node!
-	 */
-	// For now return a String.
-	public String getType() {
-		// for a "named" XML node (e.g. start tag), but type of
-		// flatnode is "named xml node" (which is always the second region).
-		// Therefore, if there's two or more regions, the type for the
-		// flatnode
-		// will be the type of the second region. Otherwise it will be the
-		// type
-		// of the first region.
-		// Note: this can be refined as needed.
-		String result = UNDEFINED; //"IStructuredDocumentRegion.UNDEFINED";
-		// //$NON-NLS-1$
-		// we are assume there is always at least one region in a flatnode!
-		result = getRegions().get(0).getType();
-		// typcially subclassed, if something other than first region is
-		// desired
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.text.IStructuredDocumentRegion#isDeleted()
-	 */
-	public boolean isDeleted() {
-		return fIsDeleted;
-	}
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	public boolean isEnded() {
-		return (hasEnd == 1);
-	}
-
-	public boolean sameAs(IStructuredDocumentRegion region, int shift) {
-		boolean result = false;
-		// if region == null, we return false;
-		if (region != null) {
-			// if the regions are the same instance, they are equal
-			if (this == region) {
-				result = true;
-			} else {
-				// this is the non-trivial part
-				// note: we change for type first, then start offset and end
-				// offset,
-				// since that would decide many cases right away and avoid the
-				// text comparison
-				if (getType() == region.getType()) {
-					if (sameOffsetsAs(region, shift) && sameTextAs(region, shift)) {
-						result = true;
-					}
-				}
-
-			}
-		}
-		return result;
-	}
-
-	public boolean sameAs(ITextRegion oldRegion, IStructuredDocumentRegion newDocumentRegion, ITextRegion newRegion, int shift) {
-		boolean result = false;
-		// if any region is null, we return false (even if both are!)
-		if ((oldRegion != null) && (newRegion != null)) {
-			// if the regions are the same instance, they are equal
-			if (oldRegion == newRegion) {
-				result = true;
-			} else {
-				// this is the non-trivial part
-				// note: we change for type first, then start offset and end
-				// offset,
-				// since that would decide many cases right away and avoid the
-				// text comparison
-				if (oldRegion.getType() == newRegion.getType()) {
-					if (sameOffsetsAs(oldRegion, newDocumentRegion, newRegion, shift)) {
-						if (sameTextAs(oldRegion, newDocumentRegion, newRegion, shift)) {
-							result = true;
-						}
-					}
-				}
-			}
-
-		}
-
-		return result;
-	}
-
-	private boolean sameOffsetsAs(IStructuredDocumentRegion region, int shift) {
-		if (getStartOffset() == region.getStartOffset() - shift) {
-			if (getEndOffset() == region.getEndOffset() - shift) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private boolean sameOffsetsAs(ITextRegion oldRegion, IStructuredDocumentRegion documentRegion, ITextRegion newRegion, int shift) {
-		if (getStartOffset(oldRegion) == documentRegion.getStartOffset(newRegion) - shift) {
-			if (getEndOffset(oldRegion) == documentRegion.getEndOffset(newRegion) - shift) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private boolean sameTextAs(IStructuredDocumentRegion region, int shift) {
-		boolean result = false;
-		try {
-			if (getText().equals(region.getText())) {
-				result = true;
-			}
-		} catch (SourceEditingRuntimeException e) {
-			if (e.getOriginalException() instanceof BadLocationException || e.getOriginalException() instanceof StringIndexOutOfBoundsException) {
-				// this happens normally if document has been deleted from
-				// and therefore regions are not equal
-				result = false;
-			} else {
-				throw e;
-			}
-		}
-
-		return result;
-	}
-
-	private boolean sameTextAs(ITextRegion oldRegion, IStructuredDocumentRegion documentRegion, ITextRegion newRegion, int shift) {
-		boolean result = false;
-		try {
-			if (getText(oldRegion).equals(documentRegion.getText(newRegion))) {
-				result = true;
-			}
-		} catch (SourceEditingRuntimeException e) {
-			if (e.getOriginalException() instanceof BadLocationException) {
-				// this happens normally if document has been deleted from
-				// and therefore regions are not equal
-				result = false;
-			} else {
-				throw e;
-			}
-		}
-
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.text.IStructuredDocumentRegion#setDelete(boolean)
-	 */
-	public void setDeleted(boolean isDeleted) {
-		fIsDeleted = isDeleted;
-
-	}
-
-	/**
-	 * 
-	 * @param newHasEnd
-	 *            boolean
-	 */
-	public void setEnded(boolean newHasEnd) {
-		if (newHasEnd) {
-			hasEnd = 1;
-		} else {
-			hasEnd = 0;
-		}
-	}
-
-	public void setLength(int newLength) {
-		//textLength = newLength;
-		length = newLength;
-	}
-
-	public void setNext(IStructuredDocumentRegion newNext) {
-		next = newNext;
-	}
-
-	public void setParentDocument(IStructuredDocument document) {
-		fParentDocument = document;
-
-	}
-
-	public void setPrevious(IStructuredDocumentRegion newPrevious) {
-		previous = newPrevious;
-	}
-
-	public void setRegions(ITextRegionList containedRegions) {
-		_regions = containedRegions;
-	}
-
-	public void setStart(int newStart) {
-		start = newStart;
-	}
-
-	public String toString() {
-		// NOTE: if the document held by any region has been updated and the
-		// region offsets have not
-		// yet been updated, the output from this method invalid.
-		// Also note, this method can not be changed, without "breaking"
-		// unit tests, since some of them compare current results to previous
-		// results.
-		String result = null;
-		result = "[" + getStart() + ", " + getEnd() + "] (" + getText() + ")"; //$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		return result;
-	}
-
-	private void updateDownStreamRegions(ITextRegion changedRegion, int lengthDifference) {
-		int listLength = _getRegions().size();
-		int startIndex = 0;
-		// first, loop through to find index of where to start
-		for (int i = 0; i < listLength; i++) {
-			ITextRegion region = _getRegions().get(i);
-			if (region == changedRegion) {
-				startIndex = i;
-				break;
-			}
-		}
-		// now, beginning one past the one that was changed, loop
-		// through to end of list, adjusting the start postions.
-		startIndex++;
-		for (int j = startIndex; j < listLength; j++) {
-			ITextRegion region = _getRegions().get(j);
-			region.adjustStart(lengthDifference);
-		}
-	}
-
-	// This is a language specific method (e.g. HTML, Java, Prolog, etc.) so
-	// could/should be made configurable.
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#updateModel(java.lang.Object,
-	 *      com.ibm.sed.structured.text.IStructuredDocumentRegion,
-	 *      java.lang.String, int, int)
-	 */
-	//	public StructuredDocumentEvent updateModel(Object requester, String
-	// changes, int start, int end, IStructuredDocumentRegion flatnode) {
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion structuredDocumentRegion, String changes, int requestStart, int lengthToReplace) {
-		StructuredDocumentEvent result = null;
-		int lengthDifference = Utilities.calculateLengthDifference(changes, lengthToReplace);
-		// Get the region pointed to by the requestStart postion, and give
-		// that region a chance to effect
-		// the update.
-		ITextRegion region = getRegionAtCharacterOffset(requestStart);
-		// if there is no region, then the requested changes must come right
-		// after the
-		// node (and right after the last region). This happens, for example,
-		// when someone
-		// types something at the end of the document, or more commonly, when
-		// they are right
-		// at the beginning of one node, and the dirty start is therefore
-		// calculated to be the
-		// previous node.
-		// So, in this case, we'll give the last region a chance to see if it
-		// wants to
-		// swallow the requested changes -- but only for inserts -- deletes
-		// and "replaces"
-		// should be reparsed if they are in these border regions, and only if
-		// the
-		if ((region == null) && (lengthToReplace == 0)) {
-			region = _getRegions().get(_getRegions().size() - 1);
-			// make sure the region is contiguous
-			if (getEndOffset(region) == requestStart) {
-				result = region.updateModel(requester, this, changes, requestStart, lengthToReplace);
-			}
-		} else {
-			if (region != null) {
-				//
-				// If the requested change spans more than one region, then
-				// we don't give the region a chance to update.
-				if ((containsOffset(region, requestStart)) && (containsOffset(region, requestStart + lengthToReplace))) {
-					result = region.updateModel(requester, this, changes, requestStart, lengthToReplace);
-				}
-			}
-		}
-		// if result is not null, then we need to update the start and end
-		// postions of the regions that follow this one
-		// if result is null, then apply the flatnode specific checks on what
-		// it can change
-		// (i.e. more than one region, but no change to the node itself)
-		if (result != null) {
-			// That is, a region decided it could handle the change and
-			// created
-			// a region changed event.
-			Assert.isTrue(result instanceof RegionChangedEvent, "Program Error"); //$NON-NLS-1$
-			updateDownStreamRegions(((RegionChangedEvent) result).getRegion(), lengthDifference);
-			// PLUS, we need to update our own node end point (length)
-			setLength(getLength() + lengthDifference);
-		}
-
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/CharSequenceReader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/CharSequenceReader.java
deleted file mode 100644
index 081f630..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/CharSequenceReader.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-import java.io.IOException;
-import java.io.Reader;
-
-public class CharSequenceReader extends Reader {
-	private int fCurrentPosition;
-	private int fMaximumReadOffset;
-
-	private CharSequence fOriginalSource;
-
-	/**
-	 *  
-	 */
-	CharSequenceReader() {
-		super();
-	}
-
-
-	public CharSequenceReader(CharSequence originalSource, int offset, int length) {
-		// ISSUE: should we "fail fast" if requested length is more than there
-		// is?
-		fOriginalSource = originalSource;
-		int startOffset = offset;
-		int maxRequestedOffset = startOffset + length;
-		int maxPossibleOffset = 0 + originalSource.length();
-		fMaximumReadOffset = Math.min(maxRequestedOffset, maxPossibleOffset);
-
-		fCurrentPosition = startOffset;
-
-	}
-
-	/**
-	 * @param lock
-	 */
-	CharSequenceReader(Object lock) {
-		super(lock);
-		// for thread safety, may need to add back locking mechanism
-		// in our custom constructor. This constructor left here just
-		// for a reminder.
-	}
-
-	public void close() throws IOException {
-		// nothing to do when we close
-		// (may be to eventually "unlock" or null out some varibles
-		// just for hygene.
-		// or, perhaps if already closed once throw IOException? for
-		// consistency?
-	}
-
-	/**
-	 * @return Returns the originalSource.
-	 * @deprecated - only temporarily public, should be 'default' eventually
-	 *             or go away altogether.
-	 */
-	public CharSequence getOriginalSource() {
-		return fOriginalSource;
-	}
-
-	public int read() {
-		int result = -1;
-		if (fCurrentPosition < fMaximumReadOffset) {
-			result = fOriginalSource.charAt(fCurrentPosition++);
-		}
-		return result;
-	}
-
-	/**
-	 * Read characters into a portion of an array. This method will block
-	 * until some input is available, an I/O error occurs, or the end of the
-	 * stream is reached.
-	 * 
-	 * @param cbuf
-	 *            Destination buffer
-	 * @param off
-	 *            Offset at which to start storing characters
-	 * @param len
-	 *            Maximum number of characters to read
-	 * 
-	 * @return The number of characters read, or -1 if the end of the stream
-	 *         has been reached
-	 * 
-	 * @exception IOException
-	 *                If an I/O error occurs
-	 */
-
-	public int read(char[] cbuf, int off, int len) throws IOException {
-		int charsToRead = -1;
-		// if already over max, just return -1
-		// remember, currentPosition is what is getting ready to be read
-		// (that is, its already been incremented in read()).
-		if (fCurrentPosition < fMaximumReadOffset) {
-
-
-			int buffMaxToRead = cbuf.length - off;
-			int minRequested = Math.min(buffMaxToRead, len);
-			int lengthRemaining = fMaximumReadOffset - fCurrentPosition;
-			charsToRead = Math.min(minRequested, lengthRemaining);
-
-
-			CharSequence seq = fOriginalSource.subSequence(fCurrentPosition, fCurrentPosition + charsToRead);
-			// for now, hard assumption that original is a String since source
-			// is assumed to be document, or text store
-			String seqString = (String) seq;
-			seqString.getChars(0, seqString.length(), cbuf, off);
-
-
-
-			fCurrentPosition = fCurrentPosition + charsToRead;
-
-
-		}
-		return charsToRead;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/CoreNodeList.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/CoreNodeList.java
deleted file mode 100644
index c7b40e6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/CoreNodeList.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-
-
-import java.util.Enumeration;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-
-
-public class CoreNodeList implements IStructuredDocumentRegionList {
-	int countedLength;
-	int currentIndex = -1;
-
-	//com.ibm.sed.interfaces.core.Core
-	IStructuredDocumentRegion[] flatNodes;
-	//com.ibm.sed.interfaces.core.Core
-	IStructuredDocumentRegion head;
-
-	/**
-	 * CoreNodeList constructor comment.
-	 */
-	public CoreNodeList() {
-		super();
-		// create an array, even if zero length
-		flatNodes = new IStructuredDocumentRegion[0];
-	}
-
-	public CoreNodeList(IStructuredDocumentRegion newHead) {
-		super();
-		// save head
-		head = newHead;
-		int count = 0;
-		IStructuredDocumentRegion countNode = newHead;
-		// we have to go through the list once, to get its
-		// length in order to create the array
-		while (countNode != null) {
-			count++;
-			countNode = countNode.getNext();
-		}
-		// create an array, even if zero length
-		flatNodes = new IStructuredDocumentRegion[count];
-		// start countNode over again, so to speak.
-		countNode = newHead;
-		count = 0;
-		while (countNode != null) {
-			flatNodes[count++] = countNode;
-			countNode = countNode.getNext();
-		}
-		if (count > 0) {
-			currentIndex = 0;
-			// else it stays at -1 initialized at object creation
-			//
-			// save length
-			countedLength = count;
-		}
-	}
-
-	public CoreNodeList(IStructuredDocumentRegion start, IStructuredDocumentRegion end) {
-		super();
-		// save head
-		head = start;
-		int count = 0;
-		IStructuredDocumentRegion countNode = start;
-		if ((start == null) || (end == null)) {
-			// error condition
-			//throw new IllegalArgumentException("Must provide start and end
-			// nodes to construct CoreNodeList");
-		} else {
-			count = 1;
-			while ((countNode != null) && (countNode != end)) {
-				count++;
-				countNode = countNode.getNext();
-			}
-		}
-		// if we ended because the last one was null,
-		// backup one.
-		if (countNode == null)
-			count--;
-		if (count < 0) {
-			count = 0;
-		}
-		flatNodes = new IStructuredDocumentRegion[count];
-		if (count > 0) {
-			flatNodes[0] = countNode = start;
-			for (int i = 1; i < count; i++) {
-				flatNodes[i] = flatNodes[i - 1].getNext();
-			}
-
-		}
-		currentIndex = 0;
-		countedLength = count;
-	}
-
-	public Enumeration elements() {
-		StructuredDocumentRegionEnumeration result = null;
-		if ((flatNodes != null) && (flatNodes.length > 0))
-			result = new StructuredDocumentRegionEnumeration(flatNodes[0], flatNodes[flatNodes.length - 1]);
-		else
-			result = new StructuredDocumentRegionEnumeration(null);
-		return result;
-	}
-
-	public int getLength() {
-		return flatNodes.length;
-	}
-
-	public boolean includes(Object o) {
-		if (flatNodes == null)
-			return false;
-		for (int i = 0; i < flatNodes.length; i++)
-			if (flatNodes[i] == o)
-				return true;
-		return false;
-	}
-
-	public IStructuredDocumentRegion item(int i) {
-		return flatNodes[i];
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/DocumentInternalStateRule.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/DocumentInternalStateRule.java
deleted file mode 100644
index 76c4759..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/DocumentInternalStateRule.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.eclipse.wst.sse.core.internal.text;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-
-public class DocumentInternalStateRule implements ISchedulingRule {
-
-	private final static int READ_STATE = 2;
-	public final static DocumentInternalStateRule READ_RULE = new DocumentInternalStateRule(READ_STATE);
-
-	private final static int WRITE_STATE = 1;
-	public final static DocumentInternalStateRule WRITE_RULE = new DocumentInternalStateRule(WRITE_STATE);
-	private int fState;
-
-	/**
-	 *  
-	 */
-	public DocumentInternalStateRule(int state) {
-		super();
-		fState = state;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#contains(org.eclipse.core.runtime.jobs.ISchedulingRule)
-	 */
-	public boolean contains(ISchedulingRule rule) {
-		boolean result = (rule instanceof DocumentInternalStateRule);
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#isConflicting(org.eclipse.core.runtime.jobs.ISchedulingRule)
-	 */
-	public boolean isConflicting(ISchedulingRule rule) {
-		boolean result = (fState == WRITE_STATE) && (rule instanceof DocumentInternalStateRule);
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/GenericPositionManager.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/GenericPositionManager.java
deleted file mode 100644
index da26c4c..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/GenericPositionManager.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.eclipse.wst.sse.core.internal.text;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DefaultPositionUpdater;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IPositionUpdater;
-import org.eclipse.jface.text.Position;
-import org.eclipse.wst.sse.core.util.Assert;
-
-
-
-public class GenericPositionManager {
-	private CharSequence fCharSequence;
-
-
-
-	private Map fPositions;
-	/** All registered document position updaters */
-	private List fPositionUpdaters;
-
-	/**
-	 * don't allow instantiation with out document pointer
-	 *  
-	 */
-	private GenericPositionManager() {
-		super();
-	}
-
-	/**
-	 *  
-	 */
-	public GenericPositionManager(CharSequence charSequence) {
-		this();
-		// we only use charSequence for "length", to
-		// made more generic than "document" even "text store"
-		fCharSequence = charSequence;
-		completeInitialization();
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#addPosition(org.eclipse.jface.text.Position)
-	 */
-	public void addPosition(Position position) throws BadLocationException {
-		try {
-			addPosition(IDocument.DEFAULT_CATEGORY, position);
-		} catch (BadPositionCategoryException e) {
-		}
-	}
-
-
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#addPosition(java.lang.String,
-	 *      org.eclipse.jface.text.Position)
-	 */
-	public void addPosition(String category, Position position) throws BadLocationException, BadPositionCategoryException {
-
-		if ((0 > position.offset) || (0 > position.length) || (position.offset + position.length > getDocumentLength()))
-			throw new BadLocationException();
-
-		if (category == null)
-			throw new BadPositionCategoryException();
-
-		List list = (List) fPositions.get(category);
-		if (list == null)
-			throw new BadPositionCategoryException();
-
-		list.add(computeIndexInPositionList(list, position.offset), position);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#addPositionCategory(java.lang.String)
-	 */
-	public void addPositionCategory(String category) {
-
-		if (category == null)
-			return;
-
-		if (!containsPositionCategory(category))
-			fPositions.put(category, new ArrayList());
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#addPositionUpdater(org.eclipse.jface.text.IPositionUpdater)
-	 */
-	public void addPositionUpdater(IPositionUpdater updater) {
-		insertPositionUpdater(updater, fPositionUpdaters.size());
-	}
-
-
-	/**
-	 * Initializes document listeners, positions, and position updaters. Must
-	 * be called inside the constructor after the implementation plug-ins have
-	 * been set.
-	 */
-	protected void completeInitialization() {
-
-		fPositions = new HashMap();
-		fPositionUpdaters = new ArrayList();
-
-		addPositionCategory(IDocument.DEFAULT_CATEGORY);
-		addPositionUpdater(new DefaultPositionUpdater(IDocument.DEFAULT_CATEGORY));
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#computeIndexInCategory(java.lang.String,
-	 *      int)
-	 */
-	public int computeIndexInCategory(String category, int offset) throws BadLocationException, BadPositionCategoryException {
-
-		if (0 > offset || offset > getDocumentLength())
-			throw new BadLocationException();
-
-		List c = (List) fPositions.get(category);
-		if (c == null)
-			throw new BadPositionCategoryException();
-
-		return computeIndexInPositionList(c, offset);
-	}
-
-
-	/**
-	 * Computes the index in the list of positions at which a position with
-	 * the given offset would be inserted. The position is supposed to become
-	 * the first in this list of all positions with the same offset.
-	 * 
-	 * @param positions
-	 *            the list in which the index is computed
-	 * @param offset
-	 *            the offset for which the index is computed
-	 * @return the computed index
-	 * 
-	 * @see IDocument#computeIndexInCategory(String, int)
-	 */
-	protected int computeIndexInPositionList(List positions, int offset) {
-
-		if (positions.size() == 0)
-			return 0;
-
-		int left = 0;
-		int right = positions.size() - 1;
-		int mid = 0;
-		Position p = null;
-
-		while (left < right) {
-
-			mid = (left + right) / 2;
-
-			p = (Position) positions.get(mid);
-			if (offset < p.getOffset()) {
-				if (left == mid)
-					right = left;
-				else
-					right = mid - 1;
-			} else if (offset > p.getOffset()) {
-				if (right == mid)
-					left = right;
-				else
-					left = mid + 1;
-			} else if (offset == p.getOffset()) {
-				left = right = mid;
-			}
-
-		}
-
-		int pos = left;
-		p = (Position) positions.get(pos);
-		if (offset > p.getOffset()) {
-			// append to the end
-			pos++;
-		} else {
-			// entry will became the first of all entries with the same
-			// offset
-			do {
-				--pos;
-				if (pos < 0)
-					break;
-				p = (Position) positions.get(pos);
-			} while (offset == p.getOffset());
-			++pos;
-		}
-
-		Assert.isTrue(0 <= pos && pos <= positions.size());
-
-		return pos;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#containsPosition(java.lang.String,
-	 *      int, int)
-	 */
-	public boolean containsPosition(String category, int offset, int length) {
-
-		if (category == null)
-			return false;
-
-		List list = (List) fPositions.get(category);
-		if (list == null)
-			return false;
-
-		int size = list.size();
-		if (size == 0)
-			return false;
-
-		int index = computeIndexInPositionList(list, offset);
-		if (index < size) {
-			Position p = (Position) list.get(index);
-			while (p != null && p.offset == offset) {
-				if (p.length == length)
-					return true;
-				++index;
-				p = (index < size) ? (Position) list.get(index) : null;
-			}
-		}
-
-		return false;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#containsPositionCategory(java.lang.String)
-	 */
-	public boolean containsPositionCategory(String category) {
-		if (category != null)
-			return fPositions.containsKey(category);
-		return false;
-	}
-
-
-
-	public int getDocumentLength() {
-		return fCharSequence.length();
-	}
-
-	/**
-	 * Returns all positions managed by the document grouped by category.
-	 * 
-	 * @return the document's positions
-	 */
-	protected Map getDocumentManagedPositions() {
-		return fPositions;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#getPositionCategories()
-	 */
-	public String[] getPositionCategories() {
-		String[] categories = new String[fPositions.size()];
-		Iterator keys = fPositions.keySet().iterator();
-		for (int i = 0; i < categories.length; i++)
-			categories[i] = (String) keys.next();
-		return categories;
-	}
-
-
-	public Position[] getPositions(String category) throws BadPositionCategoryException {
-
-		if (category == null)
-			throw new BadPositionCategoryException();
-
-		List c = (List) fPositions.get(category);
-		if (c == null)
-			throw new BadPositionCategoryException();
-
-		Position[] positions = new Position[c.size()];
-		c.toArray(positions);
-		return positions;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#getPositionUpdaters()
-	 */
-	public IPositionUpdater[] getPositionUpdaters() {
-		IPositionUpdater[] updaters = new IPositionUpdater[fPositionUpdaters.size()];
-		fPositionUpdaters.toArray(updaters);
-		return updaters;
-	}
-
-
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#insertPositionUpdater(org.eclipse.jface.text.IPositionUpdater,
-	 *      int)
-	 */
-	public void insertPositionUpdater(IPositionUpdater updater, int index) {
-
-		for (int i = fPositionUpdaters.size() - 1; i >= 0; i--) {
-			if (fPositionUpdaters.get(i) == updater)
-				return;
-		}
-
-		if (index == fPositionUpdaters.size())
-			fPositionUpdaters.add(updater);
-		else
-			fPositionUpdaters.add(index, updater);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#removePosition(org.eclipse.jface.text.Position)
-	 */
-	public void removePosition(Position position) {
-		try {
-			removePosition(IDocument.DEFAULT_CATEGORY, position);
-		} catch (BadPositionCategoryException e) {
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#removePosition(java.lang.String,
-	 *      org.eclipse.jface.text.Position)
-	 */
-	public void removePosition(String category, Position position) throws BadPositionCategoryException {
-
-		if (position == null)
-			return;
-
-		if (category == null)
-			throw new BadPositionCategoryException();
-
-		List c = (List) fPositions.get(category);
-		if (c == null)
-			throw new BadPositionCategoryException();
-
-		// remove based on identity not equality
-		int size = c.size();
-		for (int i = 0; i < size; i++) {
-			if (position == c.get(i)) {
-				c.remove(i);
-				return;
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#removePositionCategory(java.lang.String)
-	 */
-	public void removePositionCategory(String category) throws BadPositionCategoryException {
-
-		if (category == null)
-			return;
-
-		if (!containsPositionCategory(category))
-			throw new BadPositionCategoryException();
-
-		fPositions.remove(category);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocument#removePositionUpdater(org.eclipse.jface.text.IPositionUpdater)
-	 */
-	public void removePositionUpdater(IPositionUpdater updater) {
-		for (int i = fPositionUpdaters.size() - 1; i >= 0; i--) {
-			if (fPositionUpdaters.get(i) == updater) {
-				fPositionUpdaters.remove(i);
-				return;
-			}
-		}
-	}
-
-
-	/**
-	 * Updates all positions of all categories to the change described by the
-	 * document event. All registered document updaters are called in the
-	 * sequence they have been arranged. Uses a robust iterator.
-	 * 
-	 * @param event
-	 *            the document event describing the change to which to adapt
-	 *            the positions
-	 */
-	protected void updatePositions(DocumentEvent event) {
-		List list = new ArrayList(fPositionUpdaters);
-		Iterator e = list.iterator();
-		while (e.hasNext()) {
-			IPositionUpdater u = (IPositionUpdater) e.next();
-			u.update(event);
-		}
-	}
-
-
-}
-
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/IExecutionDelegatable.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/IExecutionDelegatable.java
deleted file mode 100644
index 5e31410..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/IExecutionDelegatable.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-import org.eclipse.wst.sse.core.document.IExecutionDelegate;
-
-public interface IExecutionDelegatable {
-
-	void setExecutionDelegate(IExecutionDelegate executionDelegate);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/IRegionComparible.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/IRegionComparible.java
deleted file mode 100644
index 3230439..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/IRegionComparible.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-public interface IRegionComparible {
-	boolean regionMatches(int offset, int length, String stringToCompare);
-
-	boolean regionMatchesIgnoreCase(int offset, int length, String stringToCompare);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/JobSafeStructuredDocument.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/JobSafeStructuredDocument.java
deleted file mode 100644
index 18bc4d2..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/JobSafeStructuredDocument.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.wst.sse.core.document.IExecutionDelegate;
-import org.eclipse.wst.sse.core.document.ILockable;
-import org.eclipse.wst.sse.core.events.NewModelEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-
-
-
-public class JobSafeStructuredDocument extends BasicStructuredDocument implements IExecutionDelegatable, ILockable {
-
-	private IExecutionDelegate fExecutionDelegate;
-	private ILock fLockable = null;
-
-	public JobSafeStructuredDocument() {
-		super();
-	}
-
-
-	public JobSafeStructuredDocument(RegionParser parser) {
-		super(parser);
-	}
-
-
-	/**
-	 *  
-	 */
-	protected final void acquireLock() {
-		getLockObject().acquire();
-	}
-
-	private IExecutionDelegate getExecutionDelegate() {
-		return fExecutionDelegate;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.ILockable#getLock()
-	 */
-
-	public ILock getLockObject() {
-		if (fLockable == null) {
-			fLockable = Platform.getJobManager().newLock();
-		}
-		return fLockable;
-	}
-
-
-	/**
-	 *  
-	 */
-	protected final void releaseLock() {
-		getLockObject().release();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.text.IStructuredDocument#replaceText(java.lang.Object,
-	 *      int, int, java.lang.String, boolean)
-	 */
-	public StructuredDocumentEvent replaceText(final Object requester, final int start, final int replacementLength, final String changes, final boolean ignoreReadOnlySettings) {
-		Object threadResult = null;
-		StructuredDocumentEvent event = null;
-		if (getExecutionDelegate() == null) {
-			// if the delegate has not been set, we execute on current
-			// thread, like "normal". This is the case for normal
-			// non-editor
-			// use (which should still, ultimately, be protected by
-			// a scheduling rule).
-			event = super.replaceText(requester, start, replacementLength, changes, ignoreReadOnlySettings);
-		} else {
-			// If document is being used by an editor, a runnable is
-			// created,
-			// even if later (in the execution delegate instance) it is
-			// decided
-			// nothing special is needed (that is, in fact being called
-			// from
-			// editor's display thread, in which case its just executed)
-			final Object[] resultSlot = new Object[1];
-			Runnable runnable = new Runnable() {
-				public void run() {
-					try {
-						resultSlot[0] = JobSafeStructuredDocument.super.replaceText(requester, start, replacementLength, changes, ignoreReadOnlySettings);
-					} catch (Throwable e) {
-						resultSlot[0] = e;
-					}
-				}
-			};
-			// strongly assumes synchronous call, to "wait" for
-			// results
-			// basically just routes to Display.synchExec(runnable),
-			// if not already running on display thread.
-			getExecutionDelegate().execute(runnable);
-
-			// this remembering and re-throwing of exception is just to
-			// get an
-			// exception that occurred on one thread, to be thrown on
-			// callers
-			// thread.
-			if (resultSlot[0] instanceof Throwable) {
-				throw new RuntimeException((Throwable) resultSlot[0]);
-			} else {
-				event = (StructuredDocumentEvent) resultSlot[0];
-			}
-		}
-		return event;
-	}
-
-	public void setExecutionDelegate(IExecutionDelegate delegate) {
-		fExecutionDelegate = delegate;
-	}
-
-
-	public NewModelEvent setText(final Object requester, final String theString) {
-		NewModelEvent event = null;
-		Object threadResult = null;
-		if (getExecutionDelegate() == null) {
-			// if the delegate has not been set, we execute on current
-			// thread, like "normal". This is the case for normal
-			// non-editor
-			// use (which should still, ultimately, be protected by
-			// a scheduling rule).
-			event = super.setText(requester, theString);
-		} else {
-			// If document is being used by an editor, a runnable is
-			// created,
-			// even if later (in the execution delegate instance) it is
-			// decided
-			// nothing special is needed (that is, in fact being called
-			// from
-			// editor's display thread, in which case its just executed)
-			final Object[] resultSlot = new Object[1];
-			Runnable runnable = new Runnable() {
-				public void run() {
-					try {
-						resultSlot[0] = JobSafeStructuredDocument.super.setText(requester, theString);
-					} catch (Throwable e) {
-						resultSlot[0] = e;
-					}
-				}
-			};
-			// strongly assumes synchronous call, to "wait" for
-			// results
-			// basically just routes to Display.synchExec(runnable),
-			// if not already running on display thread.
-			getExecutionDelegate().execute(runnable);
-
-			// this remembering and re-throwing of exception is just to
-			// get an
-			// exception that occurred on one thread, to be thrown on
-			// callers
-			// thread.
-			if (resultSlot[0] instanceof Throwable) {
-				throw new RuntimeException((Throwable) resultSlot[0]);
-			} else {
-				event = (NewModelEvent) resultSlot[0];
-			}
-		}
-		return event;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/MinimalDocument.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/MinimalDocument.java
deleted file mode 100644
index 87a1fe8..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/MinimalDocument.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.IDocumentPartitioningListener;
-import org.eclipse.jface.text.IPositionUpdater;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.TypedRegion;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.sse.core.events.IModelAboutToBeChangedListener;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewModelEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.NotImplementedException;
-import org.eclipse.wst.sse.core.internal.document.NullStructuredDocumentPartitioner;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.IStructuredTextReParser;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-
-
-/**
- * Purely a dummy "marker" instance for StructuredDocumentRegions which are
- * created temorarily in the course of re-parsing. Primarily a place holder,
- * but can be needed to get text from.
- */
-public class MinimalDocument implements IStructuredDocument {
-	private SubSetTextStore data;
-
-	/**
-	 * Marked private to be sure never created without data being initialized.
-	 *  
-	 */
-	private MinimalDocument() {
-		super();
-	}
-
-	public MinimalDocument(SubSetTextStore initialContents) {
-		this();
-		data = initialContents;
-	}
-
-	public void addDocumentAboutToChangeListener(IModelAboutToBeChangedListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void addDocumentChangedListener(IStructuredDocumentListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void addDocumentChangingListener(IStructuredDocumentListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void addDocumentListener(IDocumentListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void addDocumentPartitioningListener(IDocumentPartitioningListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void addPosition(Position position) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void addPosition(String category, Position position) throws BadLocationException, BadPositionCategoryException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void addPositionCategory(String category) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void addPositionUpdater(IPositionUpdater updater) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void addPrenotifiedDocumentListener(IDocumentListener documentAdapter) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void clearReadOnly(int startOffset, int length) {
-		// TODO: this is called from notifier loop inappropriately
-		//	throw new NotImplementedException("intentionally not implemented");
-	}
-
-	public int computeIndexInCategory(String category, int offset) throws BadLocationException, BadPositionCategoryException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public int computeNumberOfLines(String text) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public ITypedRegion[] computePartitioning(int offset, int length) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public boolean containsPosition(String category, int offset, int length) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public boolean containsPositionCategory(String category) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public boolean containsReadOnly(int startOffset, int length) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void fireNewDocument(Object requester) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public String get() {
-		String result = null;
-		result = data.get(0, data.getLength());
-		return result;
-	}
-
-	public String get(int offset, int length) throws BadLocationException {
-		String result = null;
-		try {
-			result = data.get(offset, length);
-		} catch (StringIndexOutOfBoundsException e) {
-			throw new BadLocationException();
-		}
-		return result;
-	}
-
-	public Object getAdapter(Class adapter) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public char getChar(int offset) throws BadLocationException {
-		return data.get(offset);
-	}
-
-	public String getContentType(int offset) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public IDocumentPartitioner getDocumentPartitioner() {
-		// temp fix
-		return new NullStructuredDocumentPartitioner();
-		//		throw new NotImplementedException("intentionally not implemented");
-	}
-
-	public EncodingMemento getEncodingMemento() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public IStructuredDocumentRegion getFirstStructuredDocumentRegion() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public IStructuredDocumentRegion getLastStructuredDocumentRegion() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public String[] getLegalContentTypes() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public String[] getLegalLineDelimiters() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public int getLength() {
-		return data.getLength();
-	}
-
-	public String getLineDelimiter() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public String getLineDelimiter(int line) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public IRegion getLineInformation(int line) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public IRegion getLineInformationOfOffset(int offset) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public int getLineLength(int line) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public int getLineOffset(int line) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public int getLineOfOffset(int offset) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public int getNumberOfLines() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public int getNumberOfLines(int offset, int length) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public RegionParser getParser() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public ITypedRegion getPartition(int offset) throws BadLocationException {
-		Logger.log(Logger.WARNING, "An instance of MinimalDocument was asked for its partition, sometime indicating a deleted region was being accessed.");
-		return new TypedRegion(0,0, "undefined");
-		//throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public String[] getPositionCategories() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public Position[] getPositions(String category) throws BadPositionCategoryException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public IPositionUpdater[] getPositionUpdaters() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public IStructuredDocumentRegion getRegionAtCharacterOffset(int offset) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public IStructuredDocumentRegionList getRegionList() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public IStructuredTextReParser getReParser() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public String getText() {
-		return data.get(0, data.getLength());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.text.IStructuredDocument#getUndoManager()
-	 */
-	public IStructuredTextUndoManager getUndoManager() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void insertPositionUpdater(IPositionUpdater updater, int index) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void makeReadOnly(int startOffset, int length) {
-		// TODO: this is called from notifier loop inappropriately
-		//	throw new NotImplementedException("intentionally not implemented");
-	}
-
-	public IStructuredDocument newInstance() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentExtension#registerPostNotificationReplace(org.eclipse.jface.text.IDocumentListener,
-	 *      org.eclipse.jface.text.IDocumentExtension.IReplace)
-	 */
-	public void registerPostNotificationReplace(IDocumentListener owner, IReplace replace) throws UnsupportedOperationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$		
-	}
-
-	public void removeDocumentAboutToChangeListener(IModelAboutToBeChangedListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void removeDocumentChangedListener(IStructuredDocumentListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void removeDocumentChangingListener(IStructuredDocumentListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void removeDocumentListener(IDocumentListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void removeDocumentPartitioningListener(IDocumentPartitioningListener listener) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void removePosition(Position position) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void removePosition(String category, Position position) throws BadPositionCategoryException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void removePositionCategory(String category) throws BadPositionCategoryException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void removePositionUpdater(IPositionUpdater updater) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void removePrenotifiedDocumentListener(IDocumentListener documentAdapter) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void replace(int offset, int length, String text) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-		//		data.replace(offset, length, text);
-	}
-
-	public StructuredDocumentEvent replaceText(Object source, int oldStart, int replacementLength, String requestedChange) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.text.IStructuredDocument#replaceText(java.lang.Object,
-	 *      int, int, java.lang.String, boolean)
-	 */
-	public StructuredDocumentEvent replaceText(Object source, int oldStart, int replacementLength, String requestedChange, boolean ignoreReadOnlySetting) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentExtension#resumePostNotificationProcessing()
-	 */
-	public void resumePostNotificationProcessing() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public int search(int startOffset, String findString, boolean forwardSearch, boolean caseSensitive, boolean wholeWord) throws BadLocationException {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void set(String text) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-		//		data.set(text);
-	}
-
-	public void setDocumentPartitioner(IDocumentPartitioner partitioner) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void setEncodingMemento(EncodingMemento encodingMemento) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public void setLineDelimiter(String delimiter) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	public NewModelEvent setText(Object requester, String allText) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.text.IStructuredDocument#setUndoManager(org.eclipse.wst.sse.core.undo.StructuredTextUndoManager)
-	 */
-	public void setUndoManager(IStructuredTextUndoManager undoManager) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentExtension#startSequentialRewrite(boolean)
-	 */
-	public void startSequentialRewrite(boolean normalize) {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentExtension#stopPostNotificationProcessing()
-	 */
-	public void stopPostNotificationProcessing() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentExtension#stopSequentialRewrite()
-	 */
-	public void stopSequentialRewrite() {
-		throw new NotImplementedException("intentionally not implemented"); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentReParser.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentReParser.java
deleted file mode 100644
index fba1d08..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentReParser.java
+++ /dev/null
@@ -1,1660 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.FindReplaceDocumentAdapter;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.parser.BlockTagParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredTextReParser;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-
-/**
- * This class provides a centralized place to put "reparsing" logic. This is
- * the logic that reparses the text incrementally, as a user types in new
- * characters, or DOM nodes are inserted or deleted. Note: it is not a thread
- * safe class.
- */
-public class StructuredDocumentReParser implements IStructuredTextReParser {
-	protected IStructuredDocumentRegion dirtyEnd = null;
-	protected IStructuredDocumentRegion dirtyStart = null;
-	final private String doubleQuote = new String(new char[]{'\"'});
-	protected final CoreNodeList EMPTY_LIST = new CoreNodeList();
-	protected String fChanges;
-	protected String fDeletedText;
-
-	private FindReplaceDocumentAdapter fFindReplaceDocumentAdapter = null;
-	protected int fLengthDifference;
-	protected int fLengthToReplace;
-	protected Object fRequester;
-	protected int fStart;
-	// note: this is the impl class of IStructuredDocument, not the interface
-	// FUTURE_TO_DO: I believe some of these can be made private now.?
-	protected BasicStructuredDocument fStructuredDocument;
-
-	/**
-	 * variable used in anticiapation of multithreading
-	 */
-	protected boolean isParsing;
-	final private String singleQuote = new String(new char[]{'\''});
-
-	public StructuredDocumentReParser() {
-		super();
-	}
-
-	public StructuredDocumentEvent _checkBlockNodeList(List blockTagList) {
-		StructuredDocumentEvent result = null;
-		if (blockTagList != null) {
-			for (int i = 0; i < blockTagList.size(); i++) {
-				org.eclipse.wst.sse.core.parser.BlockMarker blockTag = (org.eclipse.wst.sse.core.parser.BlockMarker) blockTagList.get(i);
-				String tagName = blockTag.getTagName();
-				result = checkForCriticalName("<" + tagName); //$NON-NLS-1$
-				if (result != null)
-					break;
-				result = checkForCriticalName("</" + tagName); //$NON-NLS-1$
-				if (result != null)
-					break;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Common utility for checking for critical word such as " <SCRIPT>"
-	 */
-	private StructuredDocumentEvent _checkForCriticalWord(String criticalTarget, boolean checkEnd) {
-		StructuredDocumentEvent result = null;
-		int documentLength = fStructuredDocument.getLength();
-		int propLen = fLengthToReplace;
-		if (propLen > documentLength)
-			propLen = documentLength;
-		int startNeighborhood = fStart - criticalTarget.length();
-		int adjustInsert = 0;
-		if (startNeighborhood < 0) {
-			adjustInsert = 0 - startNeighborhood;
-			startNeighborhood = 0;
-		}
-		int endNeighborhood = fStart + fLengthToReplace + criticalTarget.length() - 1;
-		if (endNeighborhood > documentLength)
-			endNeighborhood = documentLength - 1;
-		int oldlen = endNeighborhood - startNeighborhood; // + 1;
-		if (oldlen + startNeighborhood > documentLength) {
-			oldlen = documentLength - startNeighborhood;
-		}
-		String oldText = fStructuredDocument.get(startNeighborhood, oldlen);
-		String peek = StringUtils.paste(oldText, fChanges, criticalTarget.length() - adjustInsert, fLengthToReplace);
-		boolean isCriticalString = checkTagNames(oldText, criticalTarget, checkEnd);
-		boolean toBeCriticalString = checkTagNames(peek, criticalTarget, checkEnd);
-		if ((isCriticalString != toBeCriticalString) || // OR if both are
-					// critical and there's
-					// a change in the end
-					// tag ('>')
-					((isCriticalString && toBeCriticalString) && (changeInIsEndedState(oldText, peek)))) {
-			// if it involves a change of a critical string (making one where
-			// there wasn't, or removing
-			// one where there was one) then reparse everthing.
-			result = reparse(0, documentLength - 1);
-		}
-		return result;
-	}
-
-	private int _computeStartOfDifferences(CoreNodeList oldNodes, CoreNodeList newNodes) {
-		int startOfDifferences = -1;
-		int newNodesLength = newNodes.getLength();
-		boolean foundDifference = false;
-		boolean done = false;
-		// we'll control our loop based on the old List length
-		int oldNodesLength = oldNodes.getLength();
-		// be sure to check 'done' first, so startOfDifferences isn't
-		// icremented if done is true
-		done : while ((!done) && (++startOfDifferences < oldNodesLength)) {
-			IStructuredDocumentRegion oldNode = oldNodes.item(startOfDifferences);
-			// this lessThanEffectedRegion is to check to be sure the node is
-			// infact a candidate
-			// to be considered as "old". This check is important for the case
-			// where some
-			// text is replaceing text that
-			// appears identical, but is a different instance. For example, if
-			// the text
-			// is <P><B></B></P> and <B></B> is inserted at postion 3,
-			// resulting in <P><B></B><B></B></P>
-			// we do not want the
-			// first <B> to be considered old ... it is the new one, the
-			// second
-			// <B> is the old one.
-			if (_lessThanEffectedRegion(oldNode)) {
-				// be sure to check that we have new nodes to compare against.
-				if (startOfDifferences > newNodesLength) {
-					foundDifference = false;
-					done = true;
-					continue done;
-				} else {
-					//
-					IStructuredDocumentRegion newNode = newNodes.item(startOfDifferences);
-					// note: shift is 0 while at beginning of list, before the
-					// insertion (or deletion) point. After that, it is
-					// fStart+fLengthDifference
-					if (!(oldNode.sameAs(newNode, 0))) {
-						foundDifference = true;
-						done = true;
-						continue done;
-					} else { // if they are equal, then we will be keeping the
-						// old one, so
-						// we need to be sure its parentDocument is set back
-						// to
-						// the right instance
-						oldNode.setParentDocument(fStructuredDocument);
-					}
-				}
-			} else {
-				// we didn't literally find a difference, but we count it as
-				// such by implication
-				foundDifference = true;
-				done = true;
-				continue done;
-			}
-		}
-		// if we literally found a difference, then all is ok and we can
-		// return
-		// it.
-		// if we did not literally find one, then we have to decide why.
-		if (!foundDifference) {
-			if (newNodesLength == oldNodesLength) { // then lists are
-				// identical
-				// (and may be of zero
-				// length)
-				startOfDifferences = -1;
-			} else {
-				if (newNodesLength > oldNodesLength) { // then lists are
-					// identical except for
-					// newNodes added
-					startOfDifferences = oldNodesLength;
-				} else {
-					if (newNodesLength < oldNodesLength) { // then lists are
-						// identical except
-						// for old Nodes
-						// deleted
-						startOfDifferences = newNodesLength;
-					}
-				}
-			}
-		}
-		return startOfDifferences;
-	}
-
-	private int _computeStartOfDifferences(IStructuredDocumentRegion oldNodeParam, ITextRegionList oldRegions, IStructuredDocumentRegion newNodeParam, ITextRegionList newRegions) {
-		int startOfDifferences = -1;
-		int newRegionsLength = newRegions.size();
-		boolean foundDifference = false;
-		boolean done = false;
-		// we'll control our loop based on the old List length
-		int oldRegionsLength = oldRegions.size();
-		// be sure to check 'done' first, so startOfDifferences isn't
-		// icremented if done is true
-		done : while ((!done) && (++startOfDifferences < oldRegionsLength)) {
-			ITextRegion oldRegion = oldRegions.get(startOfDifferences);
-			// this lessThanEffectedRegion is to check to be sure the node is
-			// infact a candidate
-			// to be considered as "old". This check is important for the case
-			// where some
-			// text is replaceing text that
-			// appears identical, but is a different instance. For example, if
-			// the text
-			// is <P><B></B></P> and <B></B> is inserted at postion 3,
-			// resulting in <P><B></B><B></B></P>
-			// we do not want the
-			// first <B> to be considered old ... it is the new one, the
-			// second
-			// <B> is the old one.
-			if (_lessThanEffectedRegion(oldNodeParam, oldRegion)) {
-				// be sure to check that we have new nodes to compare against.
-				if (startOfDifferences > newRegionsLength) {
-					foundDifference = false;
-					done = true;
-					continue done;
-				} else {
-					//
-					ITextRegion newRegion = newRegions.get(startOfDifferences);
-					// note: shift is 0 while at beginning of list, before the
-					// insertion (or deletion) point. After that, it is
-					// fStart+fLengthDifference
-					if (!(oldNodeParam.sameAs(oldRegion, newNodeParam, newRegion, 0))) {
-						foundDifference = true;
-						done = true;
-						continue done;
-					} else {
-						// if they are equal, then we will be keeping the old
-						// one.
-						// unlike the flatnode case, there is no reason to
-						// update
-						// the textstore, since its the same text store in
-						// either case
-						// (since its the same flatnode)
-						//oldRegion.setTextStore(fStructuredDocument.parentDocument);
-					}
-				}
-			} else {
-				// we didn't literally find a difference, but we count it as
-				// such by implication
-				foundDifference = true;
-				done = true;
-				continue done;
-			}
-		}
-		// if we literally found a difference, then all is ok and we can
-		// return
-		// it.
-		// if we did not literally find one, then we have to decide why.
-		if (!foundDifference) {
-			if (newRegionsLength == oldRegionsLength) { // then lists are
-				// identical (and may
-				// be of zero length)
-				startOfDifferences = -1;
-			} else {
-				if (newRegionsLength > oldRegionsLength) { // then lists are
-					// identical except
-					// for newRegions
-					// added
-					startOfDifferences = oldRegionsLength;
-				} else {
-					if (newRegionsLength < oldRegionsLength) { // then lists
-						// are identical
-						// except for
-						// old Nodes
-						// deleted
-						startOfDifferences = newRegionsLength;
-					}
-				}
-			}
-		}
-		return startOfDifferences;
-	}
-
-	/**
-	 * Part 1 of 2 steps to do a core_reparse
-	 * 
-	 * Parses a portion of the current text in the IStructuredDocument and
-	 * returns the raw result
-	 */
-	private IStructuredDocumentRegion _core_reparse_text(int rescanStart, int rescanEnd) {
-		fStructuredDocument.resetParser(rescanStart, rescanEnd);
-		return fStructuredDocument.getParser().getDocumentRegions();
-	}
-
-	/**
-	 * Part 2 of 2 steps to do a core_reparse
-	 * 
-	 * Integrates a list of StructuredDocumentRegions based on the current
-	 * text contents of the IStructuredDocument into the IStructuredDocument
-	 * data structure
-	 */
-	private StructuredDocumentEvent _core_reparse_update_model(IStructuredDocumentRegion newNodesHead, int rescanStart, int rescanEnd, CoreNodeList oldNodes, boolean firstTime) {
-		StructuredDocumentEvent result = null;
-		CoreNodeList newNodes = null;
-		// rescan
-		newNodes = new CoreNodeList(newNodesHead);
-		// adjust our newNode chain so the offset positions match
-		// our text store (not the simple string of text reparsed)
-		StructuredDocumentRegionIterator.adjustStart(newNodesHead, rescanStart);
-		// initialize the parentDocument variable of each instance in the new
-		// chain
-		StructuredDocumentRegionIterator.setParentDocument(newNodesHead, fStructuredDocument);
-		// initialize the structuredDocument variable of each instance in the
-		// new chain
-		//StructuredDocumentRegionIterator.setStructuredDocument(newNodesHead,
-		// fStructuredDocument);
-		//
-		if (firstTime) {
-			fStructuredDocument.setCachedDocumentRegion(newNodesHead);
-			fStructuredDocument.initializeFirstAndLastDocumentRegion();
-			// note: since we are inserting nodes, for the first time, there
-			// is
-			// no adjustments
-			// to downstream stuff necessary.
-			result = new StructuredDocumentRegionsReplacedEvent(fStructuredDocument, fRequester, oldNodes, newNodes, fChanges, fStart, fLengthToReplace);
-		} else {
-			// note: integrates changes into model as a side effect
-			result = minimumEvent(oldNodes, newNodes);
-		}
-		result.setDeletedText(fDeletedText);
-		return result;
-	}
-
-	private CoreNodeList _formMinimumList(CoreNodeList flatnodes, int startOfDifferences, int endOfDifferences) {
-		CoreNodeList minimalNodes = null;
-		// if startOfDifferces is still its initial value, then we have an
-		// empty document
-		if (startOfDifferences == -1) {
-			minimalNodes = EMPTY_LIST;
-		} else {
-			// if we do not have any flatnode in our flatnode list, then
-			// simply
-			// return our standard empty list
-			if (flatnodes.getLength() == 0) {
-				minimalNodes = EMPTY_LIST;
-			} else {
-				// if startOfDifferences is greater than endOfDifferences,
-				// then
-				// that means the calculations "crossed" each other, and
-				// hence,
-				// there really is no differences, so, again, return the empty
-				// list
-				if (startOfDifferences > endOfDifferences) {
-					minimalNodes = EMPTY_LIST;
-				} else {
-					// the last check be sure we have some differnces
-					if ((endOfDifferences > -1)) {
-						minimalNodes = new CoreNodeList(flatnodes.item(startOfDifferences), flatnodes.item(endOfDifferences));
-					} else {
-						// there were no differences, the list wasn't
-						// minimized, so simply return it.
-						minimalNodes = flatnodes;
-					}
-				}
-			}
-		}
-		return minimalNodes;
-	}
-
-	private boolean _greaterThanEffectedRegion(IStructuredDocumentRegion oldNode) {
-		boolean result = false;
-		int nodeStart = oldNode.getStartOffset();
-		int changedRegionEnd = fStart + fLengthToReplace - 1;
-		result = nodeStart > changedRegionEnd;
-		return result;
-	}
-
-	private boolean _greaterThanEffectedRegion(IStructuredDocumentRegion oldNode, ITextRegion oldRegion) {
-		boolean result = false;
-		int regionStartOffset = oldNode.getStartOffset(oldRegion);
-		int effectedRegionEnd = fStart + fLengthToReplace - 1;
-		result = regionStartOffset > effectedRegionEnd;
-		return result;
-	}
-
-	private boolean _lessThanEffectedRegion(IStructuredDocumentRegion oldNode) {
-		boolean result = false;
-		int nodeEnd = oldNode.getEndOffset() - 1;
-		result = nodeEnd < fStart;
-		return result;
-	}
-
-	private boolean _lessThanEffectedRegion(IStructuredDocumentRegion oldNode, ITextRegion oldRegion) {
-		boolean result = false;
-		int nodeEnd = oldNode.getEndOffset(oldRegion) - 1;
-		result = nodeEnd < fStart;
-		return result;
-	}
-
-	private boolean _regionsSameKind(ITextRegion newRegion, ITextRegion oldRegion) {
-		boolean result = false;
-		// if one region is a container region, and the other not, always
-		// return false
-		// else, just check their type.
-		//      DW druing refactoring, looks like a "typo" here, using 'old' in
-		// both.
-		//		if (isContainerRegion(oldRegion) != isContainerRegion(oldRegion))
-		if (isCollectionRegion(oldRegion) != isCollectionRegion(newRegion))
-			result = false;
-		else if (oldRegion.getType() == newRegion.getType())
-			result = true;
-		return result;
-	}
-
-	//	private boolean hasCollectionRegions(ITextRegion aRegion) {
-	//		boolean result = false;
-	//		if (aRegion instanceof ITextRegionCollection) {
-	//			ITextRegionCollection regionContainter = (ITextRegionCollection)
-	// aRegion;
-	//			ITextRegionList regions = regionContainter.getRegions();
-	//			Iterator iterator = regions.iterator();
-	//			while (iterator.hasNext()) {
-	//				if (aRegion instanceof ITextRegionCollection) {
-	//					result = true;
-	//					break;
-	//				}
-	//			}
-	//		}
-	//		return result;
-	//	}
-	/**
-	 * This method is specifically to detect changes in 'isEnded' state,
-	 * although it still does so with heuristics. If number of '>' changes,
-	 * assume the isEnded state has changed.
-	 */
-	private boolean changeInIsEndedState(String oldText, String newText) {
-		int nOld = StringUtils.occurrencesOf(oldText, '>');
-		int nNew = StringUtils.occurrencesOf(newText, '>');
-		return !(nOld == nNew);
-	}
-
-	private void checkAndAssignParent(IStructuredDocumentRegion oldNode, ITextRegion region) {
-		if (region instanceof ITextRegionContainer) {
-			((ITextRegionContainer) region).setParent(oldNode);
-			return;
-		}
-		if (region instanceof ITextRegionCollection) {
-			ITextRegionCollection textRegionCollection = (ITextRegionCollection) region;
-			ITextRegionList regionList = textRegionCollection.getRegions();
-			for (int i = 0; i < regionList.size(); i++) {
-				ITextRegion innerRegion = regionList.get(i);
-				checkAndAssignParent(oldNode, innerRegion);
-			}
-		}
-	}
-
-	/**
-	 * A change to a CDATA tag can result in all being reparsed.
-	 */
-	private StructuredDocumentEvent checkForCDATA() {
-		StructuredDocumentEvent result = null;
-		result = checkForCriticalKey("<![CDATA["); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("]]>"); //$NON-NLS-1$
-		return result;
-	}
-
-	/**
-	 * If a comment start or end tag is being added or deleted, we'll rescan
-	 * the whole document. The reason is that content that is revealed or
-	 * commented out can effect the interpretation of the rest of the
-	 * document. Note: for now this is very XML specific, can refactor/improve
-	 * later.
-	 */
-	protected StructuredDocumentEvent checkForComments() {
-		StructuredDocumentEvent result = null;
-		result = checkForCriticalKey("<!--"); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("-->"); //$NON-NLS-1$
-		// we'll also check for these degenerate cases
-		if (result == null)
-			result = checkForCriticalKey("<!--->"); //$NON-NLS-1$
-		return result;
-	}
-
-	/**
-	 * Common utility for checking for critical word such as " <SCRIPT>"
-	 */
-	protected StructuredDocumentEvent checkForCriticalKey(String criticalTarget) {
-		return _checkForCriticalWord(criticalTarget, false);
-	}
-
-	/**
-	 * Common utility for checking for critical word such as " <SCRIPT>"
-	 */
-	private StructuredDocumentEvent checkForCriticalName(String criticalTarget) {
-		return _checkForCriticalWord(criticalTarget, true);
-	}
-
-	//	/**
-	//	 * Currently this method is pretty specific to ?ML
-	//	 * @deprecated - not really deprecated, but plan to make
-	//	 * protected ... I'm not sure why its public or misspelled?
-	//	 */
-	protected StructuredDocumentEvent checkForCrossStructuredDocumentRegionBoundryCases() {
-		StructuredDocumentEvent result = null;
-		// Case 1: See if the language's syntax requires that multiple
-		// StructuredDocumentRegions be rescanned
-		if (result == null) {
-			result = checkForCrossStructuredDocumentRegionSyntax();
-		}
-		// Case 2: "block tags" whose content is left unparsed
-		if (result == null) {
-			Object parser = fStructuredDocument.getParser();
-			if (parser instanceof BlockTagParser) {
-				List blockTags = ((BlockTagParser) parser).getBlockMarkers();
-				result = _checkBlockNodeList(blockTags);
-			}
-		}
-		// FUTURE_TO_DO: is there a better place to do this?
-		// or! do we already do it some other more central place?
-		if (result != null) {
-			result.setDeletedText(fDeletedText);
-		}
-		return result;
-	}
-
-	/**
-	 * Allow a reparser to check for extra syntactic cases that require
-	 * parsing beyond the flatNode boundary.
-	 * 
-	 * This implementation is very XML-centric.
-	 */
-	protected StructuredDocumentEvent checkForCrossStructuredDocumentRegionSyntax() {
-		StructuredDocumentEvent result;
-		// Case 1: Quote characters are involved
-		result = checkForQuotes();
-		if (result == null) {
-			// Case 2: The input forms or undoes a comment beginning or
-			// comment
-			// end
-			result = checkForComments();
-		}
-		if (result == null) {
-			// Case 3: The input forms or undoes a processing instruction
-			result = checkForPI();
-		}
-		if (result == null) {
-			// Case 4: The input forms or undoes a CDATA section
-			result = checkForCDATA();
-		}
-		return result;
-	}
-
-	/**
-	 * Checks to see if change request exactly matches the text it would be
-	 * replacing. (In future, this, or similar method is where to check for
-	 * "read only" attempted change.)
-	 */
-	private StructuredDocumentEvent checkForNoChange() {
-		StructuredDocumentEvent result = null;
-		// don't check equals unless lengths match
-		// should be a tiny bit faster, since usually not
-		// of equal lengths (I'm surprised String's equals method
-		// doesn't do this.)
-		if ((fChanges != null) && (fDeletedText != null) && (fChanges.length() == fDeletedText.length()) && (fChanges.equals(fDeletedText))) {
-			result = new NoChangeEvent(fStructuredDocument, fRequester, fChanges, fStart, fLengthToReplace);
-		}
-		return result;
-	}
-
-	/**
-	 * A change to a PI tag can result in all being reparsed.
-	 */
-	private StructuredDocumentEvent checkForPI() {
-		StructuredDocumentEvent result = null;
-		result = checkForCriticalKey("<?"); //$NON-NLS-1$
-		if (result == null)
-			result = checkForCriticalKey("?>"); //$NON-NLS-1$
-		return result;
-	}
-
-	//  For simplicity, if either text to be deleted, or text to be inserted
-	// contains at least
-	//  one quote, we'll search for previous quote in document, if any, and use
-	// that flatnode as
-	//  a dirty start, and we'll use end of document as dirty end. We need to
-	// assume either \" or
-	//  \' is an exceptable quote. (NOTE: this is, loosely, an XML assumption
-	// --
-	// other languages
-	//  would differ, but we'll "hard code" for XML for now.
-	// future_TODO: this is a really bad heuristic ... we should be looking
-	// for
-	// odd number of quotes
-	// within a structuredDocumentRegion (or something!) This causes way too
-	// much reparsing on
-	// simple cases, like deleting a tag with a quoted attribute!
-	private StructuredDocumentEvent checkForQuotes() {
-		// routine is supported with null or empty string meaning the same
-		// thing: deletion
-		if (fChanges == null)
-			fChanges = ""; //$NON-NLS-1$
-		//
-		StructuredDocumentEvent result = null;
-		try {
-			int dirtyStartPos = -1;
-			String proposedDeletion = fStructuredDocument.get(fStart, fLengthToReplace);
-			if (fStart < fStructuredDocument.getLength()) {
-				if ((fChanges.indexOf(singleQuote) > -1) || (proposedDeletion.indexOf(singleQuote) > -1)) {
-					IRegion singleQuoteRegion = getFindReplaceDocumentAdapter().find(fStart, singleQuote, false, false, false, false);
-					if (singleQuoteRegion != null) {
-						dirtyStartPos = singleQuoteRegion.getOffset();
-					}
-				} else if ((fChanges.indexOf(doubleQuote) > -1) || (proposedDeletion.indexOf(doubleQuote) > -1)) {
-					IRegion doubleQuoteRegion = getFindReplaceDocumentAdapter().find(fStart, doubleQuote, false, false, false, false);
-					if (doubleQuoteRegion != null) {
-						dirtyStartPos = doubleQuoteRegion.getOffset();
-					}
-				}
-			}
-			if (dirtyStartPos > -1) {
-				// then we found one, do create new structuredDocument event
-				// based on the previous quote to end of document
-				// except, we need to be positive that the previous quote is
-				// in a "safe start" region (e.g. if in JSP content, we need
-				// to
-				// backup till we include the whole JSP region, in order for
-				// it
-				// to be correctly re-parsed. The backing up is done in the
-				// reparse/find dirty start from hint
-				// method.
-				result = reparse(dirtyStartPos, fStructuredDocument.getLength() - 1);
-			}
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-		if (result != null) {
-			result.setDeletedText(fDeletedText);
-		}
-		return result;
-	}
-
-	private StructuredDocumentEvent checkHeuristics() {
-		StructuredDocumentEvent result = null;
-		result = checkForNoChange();
-		if (result == null) {
-			result = checkForCrossStructuredDocumentRegionBoundryCases();
-			if (result == null) {
-				result = quickCheck();
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Takes into account "tag name" rules for comparisons; case-insensitive.
-	 */
-	private boolean checkTagNames(String compareText, String criticalTarget, boolean checkEnd) {
-		boolean result = false;
-		if ((compareText == null) || (criticalTarget == null))
-			return false;
-		int posOfCriticalWord = compareText.toLowerCase().indexOf(criticalTarget.toLowerCase());
-		result = posOfCriticalWord > -1;
-		if (checkEnd && result) {
-			// instead of returning true right away, we'll only return true
-			// the
-			// potentially matched tag is indeed a tag, for example, if
-			// <SCRIPT
-			// becomes <SCRIPTS we don't want to say the latter is a critical
-			// tag
-			int lastPos = posOfCriticalWord + criticalTarget.length();
-			if (lastPos < compareText.length()) {
-				char lastChar = compareText.charAt(lastPos);
-				// Future: check formal definition of this java method, vs.
-				// XML
-				// parsing rules
-				result = (!Character.isLetterOrDigit(lastChar));
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * The core reparsing method ... after the dirty start and dirty end have
-	 * been calculated elsewhere, and the text updated.
-	 */
-	protected StructuredDocumentEvent core_reparse(int rescanStart, int rescanEnd, CoreNodeList oldNodes, boolean firstTime) {
-		IStructuredDocumentRegion newNodesHead = null;
-		StructuredDocumentEvent result = null;
-		newNodesHead = _core_reparse_text(rescanStart, rescanEnd);
-		result = _core_reparse_update_model(newNodesHead, rescanStart, rescanEnd, oldNodes, firstTime);
-		return result;
-	}
-
-	/**
-	 * Resets state to "not parsing"
-	 */
-	private synchronized void endReParse() {
-		isParsing = false;
-		dirtyStart = null;
-		dirtyEnd = null;
-	}
-
-	protected IStructuredDocumentRegion findDirtyEnd(int end) {
-		// Caution: here's one place we have to cast
-		IStructuredDocumentRegion result = fStructuredDocument.getRegionAtCharacterOffset(end);
-		// if not well formed, get one past, if there is something there
-		if ((result != null) && (!result.isEnded())) {
-			if (result.getNext() != null) {
-				result = result.getNext();
-			}
-		}
-		// also, get one past if exactly equal to the end (this was needed
-		// as a simple fix to when a whole exact region is deleted.
-		// there's probably a better way.
-		if ((result != null) && (end == result.getEnd())) {
-			if (result.getNext() != null) {
-				result = result.getNext();
-			}
-		}
-		// moved to subclass for quick transition
-		// 12/6/2001 - Since we've changed the parser/scanner to allow a lone
-		// '<' without
-		// always interpretting it as start of a tag name, we need to be a
-		// little fancier, in order
-		// to "skip" over any plain 'ol content between the lone '<' and any
-		// potential meating
-		// regions past plain 'ol content.
-		//		if (isLoneOpenFollowedByContent(result) && (result.getNext() !=
-		// null)) {
-		//			result = result.getNext();
-		//		}
-		if (result != null)
-			fStructuredDocument.setCachedDocumentRegion(result);
-		dirtyEnd = result;
-		return dirtyEnd;
-	}
-
-	protected void findDirtyStart(int start) {
-		IStructuredDocumentRegion result = fStructuredDocument.getRegionAtCharacterOffset(start);
-		// heuristic: if the postion is exactly equal to the start, then
-		// go back one more, if it exists. This prevents problems with
-		// insertions
-		// of text that should be merged with the previous node instead of
-		// simply hung
-		// off of it as a separate node (ex.: XML content inserted right
-		// before
-		// an open
-		// bracket should become part of the previous content node)
-		if (result != null) {
-			IStructuredDocumentRegion previous = result.getPrevious();
-			if ((previous != null) && ((!(previous.isEnded())) || (start == result.getStart()))) {
-				result = previous;
-			}
-			// If we are now at the end of a "tag dependent" content area (or
-			// JSP area)
-			// then we need to back up all the way to the beginning of that.
-			IStructuredDocumentRegion potential = result;
-			// moved to subclass to speed transition
-			//			while (isPartOfBlockRegion(potential)) {
-			//				potential = potential.getPrevious();
-			//			}
-			if (potential != null) {
-				result = potential;
-				fStructuredDocument.setCachedDocumentRegion(result);
-			}
-		}
-		dirtyStart = result;
-	}
-
-	protected CoreNodeList formOldNodes(IStructuredDocumentRegion dirtyStart, IStructuredDocumentRegion dirtyEnd) {
-		CoreNodeList oldNodes = new CoreNodeList(dirtyStart, dirtyEnd);
-		// Now save the old text, that "goes with" the old nodes and regions.
-		// Notice we are getting it directly from the text store
-		String oldText = null;
-		int oldStart = -1;
-		int oldEnd = -1;
-		// make sure there is some text, if not, use empty string
-		// (if one node is not null, the other should ALWAYS be not null too,
-		// since it
-		// would at least be equal to it.)
-		if (dirtyStart != null) {
-			oldStart = dirtyStart.getStart();
-			oldEnd = dirtyEnd.getEnd();
-			oldText = fStructuredDocument.get(oldStart, oldEnd - oldStart);
-		} else {
-			oldStart = 0;
-			oldEnd = 0;
-			oldText = ""; //$NON-NLS-1$
-		}
-		// create a temporary text store for this text
-		SubSetTextStore subTextStore = new SubSetTextStore(oldText, oldStart, oldEnd, fStructuredDocument.getLength());
-		// Now update the text store of the oldNodes
-		StructuredDocumentRegionIterator.setParentDocument(oldNodes, new MinimalDocument(subTextStore));
-		return oldNodes;
-	}
-
-	/**
-	 * @return Returns the findReplaceDocumentAdapter.
-	 */
-	public FindReplaceDocumentAdapter getFindReplaceDocumentAdapter() {
-		if (fFindReplaceDocumentAdapter == null) {
-			fFindReplaceDocumentAdapter = new FindReplaceDocumentAdapter(fStructuredDocument);
-		}
-		return fFindReplaceDocumentAdapter;
-	}
-
-	// Note: if thead safety is needed, this and all the other public methods
-	// of this class
-	// should be synchronized.
-	public void initialize(Object requester, int start, int lengthToReplace, String changes) {
-		isParsing = true;
-		fRequester = requester;
-		fStart = start;
-		fLengthToReplace = lengthToReplace;
-		fChanges = changes;
-		// notice this one is derived
-		fLengthDifference = Utilities.calculateLengthDifference(fChanges, fLengthToReplace);
-		fDeletedText = fStructuredDocument.get(fStart, fLengthToReplace);
-	}
-
-	protected void insertNodes(IStructuredDocumentRegion previousOldNode, IStructuredDocumentRegion nextOldNode, CoreNodeList newNodes) {
-		//
-		IStructuredDocumentRegion firstNew = null;
-		IStructuredDocumentRegion lastNew = null;
-		//
-		IStructuredDocumentRegion oldPrevious = previousOldNode;
-		IStructuredDocumentRegion oldNext = nextOldNode;
-		//
-		if (newNodes.getLength() > 0) {
-			// get pointers
-			firstNew = newNodes.item(0);
-			lastNew = newNodes.item(newNodes.getLength() - 1);
-			// switch surrounding StructuredDocumentRegions' references to
-			// lists
-			if (oldPrevious != null)
-				oldPrevious.setNext(firstNew);
-			if (oldNext != null) {
-				oldNext.setPrevious(lastNew);
-			} else {
-				// SIDE EFFECT
-				// if oldNext is null, that means we are replaceing the
-				// lastNode in the chain,
-				// so we need to update the structuredDocuments lastNode as
-				// the
-				// last of the new nodes.
-				fStructuredDocument.setLastDocumentRegion(newNodes.item(newNodes.getLength() - 1));
-			}
-			if (firstNew != null)
-				firstNew.setPrevious(oldPrevious);
-			if (lastNew != null)
-				lastNew.setNext(oldNext);
-		}
-		// else nothing to insert
-	}
-
-	/**
-	 * @param oldRegion
-	 */
-	private boolean isCollectionRegion(ITextRegion aRegion) {
-		return (aRegion instanceof ITextRegionCollection);
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isParsing() {
-		return isParsing;
-	}
-
-	/**
-	 * The minimization algorithm simply checks the old nodes to see if any of
-	 * them "survived" the rescan and are unchanged. If so, the instance of
-	 * the old node is used instead of the new node. Before the requested
-	 * change, need to check type, offsets, and text to determine if the same.
-	 * After the requested change, need to check type and text, but adjust the
-	 * offsets to what ever the change was.
-	 */
-	protected StructuredDocumentEvent minimumEvent(CoreNodeList oldNodes, CoreNodeList newNodes) {
-		StructuredDocumentEvent event = null;
-		CoreNodeList minimalOldNodes = null;
-		CoreNodeList minimalNewNodes = null;
-		// To minimize nodes, we'll collect all those
-		// that are not equal into old and new lists
-		// Note: we assume that old and new nodes
-		// are basically contiguous -- and we force it to be so,
-		// by starting at the beginning to
-		// find first difference, and then starting at the end to find
-		// last difference. Everything in between we assume is different.
-		//
-		//
-		//
-		// startOfDifferences is the index into the core node list where the
-		// first difference
-		// occurs. But it may point into the old or the new list.
-		int startOfDifferences = _computeStartOfDifferences(oldNodes, newNodes);
-		int endOfDifferencesOld = -1;
-		int endOfDifferencesNew = -1;
-		// if one of the lists are shorter than where the differences start,
-		// then
-		// then some portion of the lists are identical
-		if ((startOfDifferences >= oldNodes.getLength()) || (startOfDifferences >= newNodes.getLength())) {
-			if (oldNodes.getLength() < newNodes.getLength()) {
-				// Then there are new regions to add
-				//     these lengths will cause the vector of old ones to not
-				//     have any elements, and the vector of new regions to have
-				//     just the new ones not in common with the old ones
-				//startOfDifferences should equal oldNodes.getLength(),
-				// calculated above on _computeStartOfDifferences
-				minimalOldNodes = EMPTY_LIST;
-				endOfDifferencesNew = newNodes.getLength() - 1;
-				minimalNewNodes = _formMinimumList(newNodes, startOfDifferences, endOfDifferencesNew);
-			} else {
-				if (oldNodes.getLength() > newNodes.getLength()) {
-					// delete old
-					// then there are old regions to delete
-					//    these lengths will cause the vector of old regions to
-					//    contain the ones to delete, and the vector of new
-					// regions
-					//    not have any elements
-					//startOfDifferences should equal newNodes.getLength(),
-					// calculated above on _computeStartOfDifferences
-					endOfDifferencesOld = oldNodes.getLength() - 1;
-					minimalOldNodes = _formMinimumList(oldNodes, startOfDifferences, endOfDifferencesOld);
-					minimalNewNodes = EMPTY_LIST;
-				} else
-					// unlikely event
-					event = new NoChangeEvent(fStructuredDocument, fRequester, fChanges, fStart, fLengthToReplace);
-			}
-		} else {
-			// We found a normal startOfDiffernces, but have not yet found the
-			// ends.
-			// We'll look for the end of differences by going backwards down
-			// the two lists.
-			// Here we need a seperate index for each array, since they may be
-			// (and
-			// probably are) of different lengths.
-			int indexOld = oldNodes.getLength() - 1;
-			int indexNew = newNodes.getLength() - 1;
-			// The greaterThanEffectedRegion is important to gaurd against
-			// incorrect counting
-			// when something identical is inserted to what's already there
-			// (see minimization test case 5)
-			// Note: the indexOld > startOfDifferences keeps indexOld from
-			// getting too small,
-			// so that the subsequent oldNodes.item(indexOld) is always valid.
-			while ((indexOld >= startOfDifferences) && (_greaterThanEffectedRegion(oldNodes.item(indexOld)))) {
-				if (!(oldNodes.item(indexOld).sameAs(newNodes.item(indexNew), fLengthDifference))) {
-					break;
-				} else {
-					// if they are equal, then we will be keeping the old one,
-					// so
-					// we need to be sure its parentDocument is set back to
-					// the
-					// right instance
-					oldNodes.item(indexOld).setParentDocument(fStructuredDocument);
-				}
-				indexOld--;
-				indexNew--;
-			}
-			endOfDifferencesOld = indexOld;
-			endOfDifferencesNew = indexNew;
-			minimalOldNodes = _formMinimumList(oldNodes, startOfDifferences, endOfDifferencesOld);
-			minimalNewNodes = _formMinimumList(newNodes, startOfDifferences, endOfDifferencesNew);
-		} /////////////////////////////////////////
-		//
-		IStructuredDocumentRegion firstDownStreamNode = null;
-		event = regionCheck(minimalOldNodes, minimalNewNodes);
-		if (event != null) {
-			firstDownStreamNode = minimalOldNodes.item(0).getNext();
-			if (firstDownStreamNode != null && fLengthDifference != 0) { // if
-				// firstDownStream
-				// is
-				// null,
-				// then
-				// we're
-				// at
-				// the
-				// end
-				// of
-				// the
-				// document
-				StructuredDocumentRegionIterator.adjustStart(firstDownStreamNode, fLengthDifference);
-			} //
-		} else {
-			event = nodesReplacedCheck(minimalOldNodes, minimalNewNodes);
-			// now splice the new chain of nodes to where the old chain is (or
-			// was)
-			// the firstDownStreamNode (the first of those after the new
-			// nodes)
-			// is
-			// remembered as a tiny optimization.
-			if (minimalOldNodes.getLength() == 0 && minimalNewNodes.getLength() > 0) {
-				// if no old nodes are being deleted, then use the
-				// the newNodes offset (minus one) to find the point to
-				// update downstream nodes, and after updating downstream
-				// nodes postions, insert the new ones.
-				int insertOffset = minimalNewNodes.item(0).getStartOffset();
-				IStructuredDocumentRegion lastOldUnchangedNode = null;
-				if (insertOffset > 0) {
-					lastOldUnchangedNode = fStructuredDocument.getRegionAtCharacterOffset(insertOffset - 1);
-					firstDownStreamNode = lastOldUnchangedNode.getNext();
-				} else {
-					// we're inserting at very beginning
-					firstDownStreamNode = fStructuredDocument.getFirstStructuredDocumentRegion();
-					// SIDE EFFECT: change the firstNode pointer if we're
-					// inserting at beginning
-					fStructuredDocument.setFirstDocumentRegion(minimalNewNodes.item(0));
-				}
-				StructuredDocumentRegionIterator.adjustStart(firstDownStreamNode, fLengthDifference);
-				insertNodes(lastOldUnchangedNode, firstDownStreamNode, minimalNewNodes);
-				// this (nodes replaced) is the only case where we need to
-				// update the cached Node
-				reSetCachedNode(minimalOldNodes, minimalNewNodes);
-			} else {
-				firstDownStreamNode = switchNodeLists(minimalOldNodes, minimalNewNodes);
-				// no need to adjust the length of the new nodes themselves,
-				// they
-				// are already correct, but we do need to
-				// adjust all "down stream" nodes with the length of the
-				// insertion or deletion
-				// --- adjustment moved to calling method.
-				if (firstDownStreamNode != null) {
-					// && event != null
-					StructuredDocumentRegionIterator.adjustStart(firstDownStreamNode, fLengthDifference);
-				} //
-				// this (nodes replaced) is the only case where we need to
-				// update the cached Node
-				reSetCachedNode(minimalOldNodes, minimalNewNodes);
-			}
-		}
-		return event;
-	}
-
-	// TODO: This should be abstract.
-	public IStructuredTextReParser newInstance() {
-		return new StructuredDocumentReParser();
-	}
-
-	protected StructuredDocumentEvent nodesReplacedCheck(CoreNodeList oldNodes, CoreNodeList newNodes) {
-		// actually, nothing to check here, since (and assuming) we've already
-		// minimized the number of nodes, and ruled out mere region changes
-		StructuredDocumentEvent result = new StructuredDocumentRegionsReplacedEvent(fStructuredDocument, fRequester, oldNodes, newNodes, fChanges, fStart, fLengthToReplace);
-		return result;
-	}
-
-	/**
-	 * A method to allow any heuristic "quick checks" that might cover many
-	 * many cases, before expending the time on a full reparse.
-	 *  
-	 */
-	public StructuredDocumentEvent quickCheck() {
-		StructuredDocumentEvent result = null;
-		// if the dirty start is null, then we have an empty document.
-		// in which case we'll return null so everything can be
-		// reparsed "from scratch" . If its not null, we'll give the flatnode
-		// a
-		// chance
-		// to handle, but only if there is one flatnode involved.
-		if (dirtyStart != null && dirtyStart == dirtyEnd) {
-			IStructuredDocumentRegion targetNode = dirtyStart;
-			result = dirtyStart.updateModel(fRequester, targetNode, fChanges, fStart, fLengthToReplace);
-			if (result != null) {
-				// at this point only, we need to update the text store and
-				// and downstream nodes.
-				// FUTURE_TO_DO: can this dependency on structuredDocument
-				// method be eliminated?
-				fStructuredDocument.updateDocumentData(fStart, fLengthToReplace, fChanges);
-				IStructuredDocumentRegion firstDownStreamNode = targetNode.getNext();
-				// then flatnode must have been the last one, so need to
-				// update
-				// any downstream ones
-				if (firstDownStreamNode != null) {
-					StructuredDocumentRegionIterator.adjustStart(firstDownStreamNode, fLengthDifference);
-				}
-			}
-		}
-		if (result != null) {
-			result.setDeletedText(fDeletedText);
-		}
-		return result;
-	}
-
-	/**
-	 * If only one node is involved, sees how many regions are changed. If
-	 * only one, then its a 'regionChanged' event ... if more than one, its a
-	 * 'regionsReplaced' event.
-	 */
-	protected StructuredDocumentEvent regionCheck(CoreNodeList oldNodes, CoreNodeList newNodes) {
-		if (Debug.debugStructuredDocument)
-			System.out.println("IStructuredDocument::regionsReplacedCheck"); //$NON-NLS-1$
-		//$NON-NLS-1$
-		//$NON-NLS-1$
-		// the "regionsReplaced" event could only be true if and only if the
-		// nodelists
-		// are each only "1" in length.
-		StructuredDocumentEvent result = null;
-		int oldLength = oldNodes.getLength();
-		int newLength = newNodes.getLength();
-		if ((oldLength != 1) || (newLength != 1)) {
-			result = null;
-		} else {
-			IStructuredDocumentRegion oldNode = oldNodes.item(0);
-			IStructuredDocumentRegion newNode = newNodes.item(0);
-			result = regionCheck(oldNode, newNode);
-		}
-		return result;
-	}
-
-	/**
-	 * If only one node is involved, sees how many regions are changed. If
-	 * only one, then its a 'regionChanged' event ... if more than one, its a
-	 * 'regionsReplaced' event.
-	 */
-	protected StructuredDocumentEvent regionCheck(IStructuredDocumentRegion oldNode, IStructuredDocumentRegion newNode) {
-		//
-		StructuredDocumentEvent result = null;
-		ITextRegionList oldRegions = oldNode.getRegions();
-		ITextRegionList newRegions = newNode.getRegions();
-		// Also causes ArrayStoreExceptions when we encounter a container
-		//      ITextRegion[] oldRegionsArray = new
-		// com.ibm.sed.parser.ContextRegion[oldRegions.size()];
-		//      ITextRegion[] newRegionsArray = new
-		// com.ibm.sed.parser.ContextRegion[newRegions.size()];
-		ITextRegion[] oldRegionsArray = oldRegions.toArray();
-		ITextRegion[] newRegionsArray = newRegions.toArray();
-		//
-		// for the 'regionsReplaced' event, we don't care if
-		// the regions changed due to type, or text,
-		// we'll just collect all those that are not equal
-		// into the old and new region lists.
-		// Note: we, of course, assume that old and new regions
-		// are basically contiguous -- and we force it to be so,
-		// even if not literally so, by starting at beginning to
-		// find first difference, and then starting at end to find
-		// last difference. Everything in between we assume is different.
-		//
-		// going up is easy, we start at zero in each, and continue
-		// till regions are not the same.
-		int startOfDifferences = _computeStartOfDifferences(oldNode, oldRegions, newNode, newRegions);
-		int endOfDifferencesOld = -1;
-		int endOfDifferencesNew = -1;
-		//
-		//
-		// if one of the lists are shorter than where the differences start,
-		// then
-		// then some portion of the lists are identical
-		if ((startOfDifferences >= oldRegions.size()) || (startOfDifferences >= newRegions.size())) {
-			if (oldRegions.size() < newRegions.size()) {
-				// INSERT CASE
-				// then there are new regions to add
-				//     these lengths will cause the vector of old ones to not
-				//     have any elements, and the vector of new regions to have
-				//     just the new ones.
-				startOfDifferences = oldRegionsArray.length;
-				endOfDifferencesOld = oldRegionsArray.length - 1;
-				endOfDifferencesNew = newRegionsArray.length - 1;
-			} else {
-				if (oldRegions.size() > newRegions.size()) {
-					// DELETE CASE
-					// then there are old regions to delete
-					//    these lengths will cause the vector of old regions to
-					//    contain the ones to delete, and the vector of new
-					// regions
-					//    not have any elements
-					startOfDifferences = newRegionsArray.length;
-					endOfDifferencesOld = oldRegionsArray.length - 1;
-					endOfDifferencesNew = newRegionsArray.length - 1;
-				} else {
-					// else the lists are identical!
-					// unlikely event, probably error in current design, since
-					// we check for identity at the very beginning of
-					// reparsing.
-					result = new NoChangeEvent(fStructuredDocument, fRequester, fChanges, fStart, fLengthToReplace);
-				}
-			}
-		} else {
-			if ((startOfDifferences > -1) && (endOfDifferencesOld < 0) && (endOfDifferencesNew < 0)) {
-				// We found a normal startOfDiffernces, but have not yet found
-				// the ends.
-				// We'll look for the end of differences by going backwards
-				// down the two lists.
-				// Here we need a seperate index for each array, since they
-				// may
-				// be (and
-				// probably are) of different lengths.
-				int indexOld = oldRegionsArray.length - 1;
-				int indexNew = newRegionsArray.length - 1;
-				while ((indexOld >= startOfDifferences) && (_greaterThanEffectedRegion(oldNode, oldRegionsArray[indexOld]))) {
-					if ((!(oldNode.sameAs(oldRegionsArray[indexOld], newNode, newRegionsArray[indexNew], fLengthDifference)))) {
-						//endOfDifferencesOld = indexOne;
-						//endOfDifferencesNew = indexTwo;
-						break;
-					}
-					indexOld--;
-					indexNew--;
-				}
-				endOfDifferencesOld = indexOld;
-				endOfDifferencesNew = indexNew;
-			}
-		}
-		//
-		// result != null means the impossible case above occurred
-		if (result == null) {
-			// Now form the two vectors of different regions
-			ITextRegionList holdOldRegions = new TextRegionListImpl();
-			ITextRegionList holdNewRegions = new TextRegionListImpl();
-			if (startOfDifferences > -1 && endOfDifferencesOld > -1) {
-				for (int i = startOfDifferences; i <= endOfDifferencesOld; i++) {
-					holdOldRegions.add(oldRegionsArray[i]);
-				}
-			}
-			if (startOfDifferences > -1 && endOfDifferencesNew > -1) {
-				for (int i = startOfDifferences; i <= endOfDifferencesNew; i++) {
-					holdNewRegions.add(newRegionsArray[i]);
-				}
-			}
-			if (holdOldRegions.size() == 0 && holdNewRegions.size() == 0) {
-				// then this means the regions were identical, which means
-				// someone
-				// pasted exactly the same thing they had selected, or !!!
-				// someone deleted the end bracket of the tag. !!!?
-				result = new NoChangeEvent(fStructuredDocument, fRequester, fChanges, fStart, fLengthToReplace);
-			} else {
-				//If both holdOldRegions and holdNewRegions are of length 1,
-				// then its
-				// a "region changed" event, else a "regions replaced" event.
-				// so we want the new instance of region to become part of the
-				// old instance of old node
-				if ((holdOldRegions.size() == 1) && (holdNewRegions.size() == 1) && _regionsSameKind((holdNewRegions.get(0)), (holdOldRegions.get(0)))) {
-					ITextRegion newOldRegion = swapNewForOldRegion(oldNode, holdOldRegions.get(0), newNode, holdNewRegions.get(0));
-					// -- need to update any down stream regions, within this
-					// 'oldNode'
-					updateDownStreamRegions(oldNode, newOldRegion);
-					result = new RegionChangedEvent(fStructuredDocument, fRequester, oldNode, newOldRegion, fChanges, fStart, fLengthToReplace);
-				} else {
-					replaceRegions(oldNode, holdOldRegions, newNode, holdNewRegions);
-					// -- need to update any down stream regions, within this
-					// 'oldNode'
-					// don't need with the way replaceRegions is implemented.
-					// It handles.
-					//if(holdNewRegions.size() > 0)
-					//updateDownStreamRegions(oldNode, (ITextRegion)
-					// holdNewRegions.lastElement());
-					result = new RegionsReplacedEvent(fStructuredDocument, fRequester, oldNode, holdOldRegions, holdNewRegions, fChanges, fStart, fLengthToReplace);
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * An entry point for reparsing. It calculates the dirty start and dirty
-	 * end flatnodes based on the start point and length of the changes.
-	 *  
-	 */
-	public StructuredDocumentEvent reparse() {
-		StructuredDocumentEvent result = null;
-		// if we do not have a cachedNode, then the document
-		// must be empty, so simply use 'null' as the dirtyStart and dirtyEnd
-		// otherwise, find them.
-		if (fStructuredDocument.getCachedDocumentRegion() != null) {
-			findDirtyStart(fStart);
-			int end = fStart + fLengthToReplace;
-			findDirtyEnd(end);
-		}
-		if (fStructuredDocument.getCachedDocumentRegion() != null) {
-			result = checkHeuristics();
-		}
-		if (result == null) {
-			result = reparse(dirtyStart, dirtyEnd);
-		}
-		endReParse();
-		return result;
-	}
-
-	/**
-	 * An entry point for reparsing. It calculates the dirty start and dirty
-	 * end flatnodes based on suggested positions to begin and end. This is
-	 * needed for cases where parsing must go beyond the immediate node and
-	 * its direct neighbors.
-	 *  
-	 */
-	protected StructuredDocumentEvent reparse(int reScanStartHint, int reScanEndHint) {
-		StructuredDocumentEvent result = null;
-		// if we do not have a cachedNode, then the document
-		// must be empty, so simply use 'null' as the dirtyStart and dirtyEnd
-		if (fStructuredDocument.getCachedDocumentRegion() != null) {
-			findDirtyStart(reScanStartHint);
-			findDirtyEnd(reScanEndHint);
-		}
-		result = reparse(dirtyStart, dirtyEnd);
-		isParsing = false;
-		// debug
-		//verifyStructured(result);
-		return result;
-	}
-
-	/**
-	 * The core reparsing method ... after the dirty start and dirty end have
-	 * been calculated elsewhere.
-	 */
-	protected StructuredDocumentEvent reparse(IStructuredDocumentRegion dirtyStart, IStructuredDocumentRegion dirtyEnd) {
-		StructuredDocumentEvent result = null;
-		int rescanStart = -1;
-		int rescanEnd = -1;
-		boolean firstTime = false;
-		//
-		// "save" the oldNodes (that may be replaced) in a list
-		CoreNodeList oldNodes = formOldNodes(dirtyStart, dirtyEnd);
-		if (dirtyStart == null || dirtyEnd == null) {
-			// dirtyStart or dirty end are null, then that means we didn't
-			// have
-			// a
-			// cached node, which means we have an empty document, so we
-			// just need to rescan the changes
-			rescanStart = 0;
-			rescanEnd = fChanges.length();
-			firstTime = true;
-		} else {
-			// set the start of the text to rescan
-			rescanStart = dirtyStart.getStart();
-			//
-			// set the end of the text to rescan
-			// notice we use the same rationale as for the rescanStart,
-			// with the added caveat that length has to be added to it,
-			// to compensate for the new text which has been added or deleted.
-			// If changes has zero length, then "length" will be negative,
-			// since
-			// we are deleting text. Otherwise, use the difference between
-			// what's selected to be replaced and the length of the new text.
-			rescanEnd = dirtyEnd.getEnd() + fLengthDifference;
-		}
-		// now that we have the old stuff "saved" away, update the document
-		// with the changes.
-		// FUTURE_TO_DO -- don't fire "document changed" event till later
-		fStructuredDocument.updateDocumentData(fStart, fLengthToReplace, fChanges);
-		// ------------------ now the real work
-		result = core_reparse(rescanStart, rescanEnd, oldNodes, firstTime);
-		//
-		// event is returned to the caller, incase there is
-		// some opitmization they can do
-		return result;
-	}
-
-	protected void replaceRegions(IStructuredDocumentRegion oldNode, ITextRegionList oldRegions, IStructuredDocumentRegion newNode, ITextRegionList newRegions) {
-		int insertPos = -1;
-		ITextRegionList regions = oldNode.getRegions();
-		// make a fake flatnode to be new parent of oldRegions, so their text
-		// will be right.
-		//IStructuredDocumentRegion holdOldStructuredDocumentRegion = new
-		// BasicStructuredDocumentRegion(oldNode);
-		//
-		// need to reset the parent of the new to-be-inserted regions to be
-		// the
-		// same oldNode that is the one having its regions changed
-		// DW, 4/16/2003, removed since ITextRegion no longer has parent.
-		// 		ITextRegionContainer oldParent = oldNode;
-		//		for (int i = 0; i < newRegions.size(); i++) {
-		//			AbstractRegion region = (AbstractRegion) newRegions.elementAt(i);
-		//			region.setParent(oldParent);
-		//		}
-		// if there are no old regions, insert the new regions according to
-		// offset
-		if (oldRegions.size() == 0) {
-			ITextRegion firstNewRegion = newRegions.get(0);
-			int firstOffset = newNode.getStartOffset(firstNewRegion);
-			// if at beginning, insert there
-			if (firstOffset == 0) {
-				insertPos = 0;
-			} else {
-				//
-				ITextRegion regionAtOffset = oldNode.getRegionAtCharacterOffset(firstOffset);
-				if (regionAtOffset == null)
-					insertPos = regions.size();
-				else
-					insertPos = regions.indexOf(regionAtOffset);
-			}
-		} else {
-			// else, delete old ones before inserting new ones in their place
-			ITextRegion firstOldRegion = oldRegions.get(0);
-			insertPos = regions.indexOf(firstOldRegion);
-			regions.removeAll(oldRegions);
-		}
-		regions.addAll(insertPos, newRegions);
-		// now regions vector of each node should be of equal length,
-		// so go through each, and make sure the old regions
-		// offsets matches the new regions offsets
-		// (we'll just assign them all, but could be slightly more effiecient)
-		ITextRegionList allNewRegions = newNode.getRegions();
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion nextOldishRegion = regions.get(i);
-			ITextRegion nextNewRegion = allNewRegions.get(i);
-			nextOldishRegion.equatePositions(nextNewRegion);
-			checkAndAssignParent(oldNode, nextOldishRegion);
-		}
-		oldNode.setLength(newNode.getLength());
-		oldNode.setEnded(newNode.isEnded());
-		oldNode.setParentDocument(newNode.getParentDocument());
-		// removed concept of part of these regions, so no longer need to do.
-		//		for (int i = 0; i < oldRegions.size(); i++) {
-		//			ITextRegion region = (ITextRegion) oldRegions.elementAt(i);
-		//			region.setParent(holdOldStructuredDocumentRegion);
-		//		}
-	}
-
-	private void reSetCachedNode(CoreNodeList oldNodes, CoreNodeList newNodes) {
-		// use the last newNode as the new cachedNode postion, unless its null
-		// (e.g. when nodes are deleted) in which case, assign
-		// it to a "safe" node so we don't lose reference to the
-		// structuredDocument!
-		if (newNodes.getLength() > 0) {
-			// use last new node as the cache
-			fStructuredDocument.setCachedDocumentRegion(newNodes.item(newNodes.getLength() - 1));
-		} else {
-			// if cachedNode is an old node, then we're in trouble:
-			// we can't leave it as the cached node! and its already
-			// been disconnected from the model, so we can't do getNext
-			// or getPrevious, so we'll get one that is right before
-			// (or right after) the offset of the old nodes that are being
-			// deleted.
-			// 
-			// if newNodesHead and cachedNode are both null, then
-			// it means we were asked to insert an empty string into
-			// an empty document. So we have nothing to do here
-			// (that is, we have no node to cache)
-			// similarly if there are no new nodes and no old nodes then
-			// nothing to do (but that should never happen ... we shouldn't
-			// get there if there is no event to generate).
-			if ((fStructuredDocument.getCachedDocumentRegion() != null) && (oldNodes.getLength() > 0)) {
-				// note: we can't simple use nodeAtCharacterOffset, since it
-				// depends on cachedNode.
-				if (oldNodes.includes(fStructuredDocument.getCachedDocumentRegion()))
-					fStructuredDocument.setCachedDocumentRegion(fStructuredDocument.getFirstStructuredDocumentRegion());
-			}
-			if ((fStructuredDocument.getCachedDocumentRegion() == null) && (Debug.displayWarnings)) {
-				// this will happen now legitamately when all text is deleted
-				// from a document
-				System.out.println("Warning: StructuredDocumentReParser::reSetCachedNode: could not find a node to cache! (its ok if all text deleted)"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * @param newstructuredDocument
-	 *            com.ibm.sed.structuredDocument.impl.IStructuredDocument
-	 */
-	public void setStructuredDocument(IStructuredDocument newStructuredDocument) {
-		// NOTE: this method (and class) depend on being able to
-		// do the following cast (i.e. references some fields directly)
-		fStructuredDocument = (BasicStructuredDocument) newStructuredDocument;
-		fFindReplaceDocumentAdapter = null;
-	}
-
-	private IStructuredDocumentRegion splice(CoreNodeList oldNodes, CoreNodeList newNodes) {
-		//
-		IStructuredDocumentRegion firstOld = null;
-		IStructuredDocumentRegion firstNew = null;
-		IStructuredDocumentRegion lastOld = null;
-		IStructuredDocumentRegion lastNew = null;
-		//
-		IStructuredDocumentRegion oldPrevious = null;
-		IStructuredDocumentRegion oldNext = null;
-		IStructuredDocumentRegion newPrevious = null;
-		IStructuredDocumentRegion newNext = null;
-		//
-		// if called with both arguments empty lists, we can disregard.
-		// this happens, for example, when some text is replaced with the
-		// identical text.
-		if ((oldNodes.getLength() == 0) && (newNodes.getLength() == 0)) {
-			return null;
-		}
-		// get pointers
-		if (newNodes.getLength() > 0) {
-			firstNew = newNodes.item(0);
-			lastNew = newNodes.item(newNodes.getLength() - 1);
-		}
-		//
-		if (oldNodes.getLength() > 0) {
-			firstOld = oldNodes.item(0);
-			lastOld = oldNodes.item(oldNodes.getLength() - 1);
-			if (firstOld != null)
-				oldPrevious = firstOld.getPrevious();
-			if (lastOld != null)
-				oldNext = lastOld.getNext();
-		}
-		// handle switch
-		if (newNodes.getLength() > 0) {
-			// switch surrounding StructuredDocumentRegions' references to
-			// lists
-			if (oldPrevious != null)
-				oldPrevious.setNext(firstNew);
-			if (newPrevious != null)
-				newPrevious.setNext(firstOld);
-			if (oldNext != null)
-				oldNext.setPrevious(lastNew);
-			if (newNext != null)
-				newNext.setPrevious(lastOld);
-			// switch list pointers to surrounding StructuredDocumentRegions
-			if (firstOld != null)
-				firstOld.setPrevious(newPrevious);
-			if (lastOld != null)
-				lastOld.setNext(newNext);
-			if (firstNew != null)
-				firstNew.setPrevious(oldPrevious);
-			if (lastNew != null)
-				lastNew.setNext(oldNext);
-		} else {
-			// short circuit when there are no new nodes
-			if (oldPrevious != null)
-				oldPrevious.setNext(oldNext);
-			if (oldNext != null)
-				oldNext.setPrevious(oldPrevious);
-		}
-		//
-		// SIDE EFFECTs
-		// if we have oldNodes, and if oldNext or oldPrevious is null,
-		// that means we are replacing
-		// the lastNode or firstNode the structuredDocuments's chain of nodes,
-		// so we need to update the structuredDocuments last or first Node
-		// as the last or first of the new nodes.
-		// (and sometimes even these will be null! such as when deleting all
-		// text in a document).
-		if ((oldNext == null) && (oldNodes.getLength() > 0)) {
-			if (newNodes.getLength() > 0) {
-				fStructuredDocument.setLastDocumentRegion(lastNew);
-			} else {
-				// in this case, the last node is being deleted, but not
-				// replaced
-				// with anything. In this case, we can just back up one
-				// from the first old node
-				fStructuredDocument.setLastDocumentRegion(firstOld.getPrevious());
-			}
-		}
-		if ((oldPrevious == null) && (oldNodes.getLength() > 0)) {
-			if (newNodes.getLength() > 0) {
-				fStructuredDocument.setFirstDocumentRegion(firstNew);
-			} else {
-				// in this case the first node is being deleted, but not
-				// replaced
-				// with anything. So, we just go one forward past the last old
-				// node.
-				fStructuredDocument.setFirstDocumentRegion(lastOld.getNext());
-			}
-		}
-		// as a tiny optimization, we return the first of the downstream
-		// nodes,
-		// if any
-		return oldNext;
-	}
-
-	/**
-	 * The purpose of this method is to "reuse" the old container region, when
-	 * found to be same (so same instance doesn't change). The goal is to
-	 * "transform" the old region, so its equivelent to the newly parsed one.
-	 *  
-	 */
-	private ITextRegion swapNewForOldRegion(IStructuredDocumentRegion oldNode, ITextRegion oldRegion, IStructuredDocumentRegion newNode, ITextRegion newRegion) {
-		// makes the old region instance the correct size.
-		oldRegion.equatePositions(newRegion);
-		// adjusts old node instance appropriately
-		oldNode.setLength(newNode.getLength());
-		oldNode.setEnded(newNode.isEnded());
-		// we do have to set the parent document, since the oldNode's
-		// were set to a temporary one, then newNode's have the
-		// right one.
-		oldNode.setParentDocument(newNode.getParentDocument());
-		// if we're transforming a container region, we need to be sure to
-		// transfer the new embedded regions, to the old parent
-		// Note: if oldRegion hasEmbeddedRegions, then we know the
-		// newRegion does too, since we got here because they were the
-		// same type.
-		if (isCollectionRegion(oldRegion)) { // ||
-			// hasContainerRegions(oldRegion))
-			// {
-			transferEmbeddedRegions(oldNode, (ITextRegionContainer) oldRegion, (ITextRegionContainer) newRegion);
-		}
-		return oldRegion;
-	}
-
-	private IStructuredDocumentRegion switchNodeLists(CoreNodeList oldNodes, CoreNodeList newNodes) {
-		IStructuredDocumentRegion result = splice(oldNodes, newNodes);
-		// ensure that the old nodes hold no references to the existing model
-		if (oldNodes.getLength() > 0) {
-			IStructuredDocumentRegion firstItem = oldNodes.item(0);
-			firstItem.setPrevious(null);
-			IStructuredDocumentRegion lastItem = oldNodes.item(oldNodes.getLength() - 1);
-			lastItem.setNext(null);
-		}
-		return result;
-	}
-
-	/**
-	 * The purpose of this method is to "reuse" the old container region, when
-	 * found to be same (so same instance doesn't change). The goal is to
-	 * "transform" the old region, so its equivelent to the newly parsed one.
-	 *  
-	 */
-	private void transferEmbeddedRegions(IStructuredDocumentRegion oldNode, ITextRegionContainer oldRegion, ITextRegionContainer newRegion) {
-		// the oldRegion should already have the right parent, since
-		// we got here because all's equivelent except the region
-		// postions have changed.
-		//oldRegion.setParent(newRegion.getParent());
-		// but we should check if there's "nested" embedded regions, and if
-		// so, we can just move them over. setting their parent as this old
-		// region.
-		ITextRegionList newRegionsToTransfer = newRegion.getRegions();
-		oldRegion.setRegions(newRegionsToTransfer);
-		Iterator newRegionsInOldOne = newRegionsToTransfer.iterator();
-		while (newRegionsInOldOne.hasNext()) {
-			ITextRegion newOne = (ITextRegion) newRegionsInOldOne.next();
-			if (isCollectionRegion(newOne)) { // ||
-				// hasContainerRegions(newOne)) {
-				//((ITextRegionContainer) newOne).setParent(oldRegion);
-				oldRegion.setRegions(newRegion.getRegions());
-			}
-		}
-	}
-
-	private void updateDownStreamRegions(IStructuredDocumentRegion flatNode, ITextRegion lastKnownRegion) {
-		// so all regions after the last known region (last known to be ok)
-		// have to have their start and end values adjusted.
-		ITextRegionList regions = flatNode.getRegions();
-		int listLength = regions.size();
-		int startIndex = 0;
-		// first, loop through to find where to start
-		for (int i = 0; i < listLength; i++) {
-			ITextRegion region = regions.get(i);
-			if (region == lastKnownRegion) {
-				startIndex = i;
-				break;
-			}
-		}
-		// now, beginning one past the last known one, loop
-		// through to end of list, adjusting the start and end postions.
-		startIndex++;
-		for (int j = startIndex; j < listLength; j++) {
-			ITextRegion region = regions.get(j);
-			region.adjustStart(fLengthDifference);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentRegionEnumeration.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentRegionEnumeration.java
deleted file mode 100644
index ee75e6a..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentRegionEnumeration.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-
-
-import java.util.Enumeration;
-import java.util.NoSuchElementException;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-
-
-public class StructuredDocumentRegionEnumeration implements Enumeration {
-
-	private int count;
-	private IStructuredDocumentRegion head;
-	private IStructuredDocumentRegion oldHead;
-
-	/**
-	 * StructuredDocumentRegionEnumeration constructor comment.
-	 */
-	public StructuredDocumentRegionEnumeration(IStructuredDocumentRegion newHead) {
-		super();
-		IStructuredDocumentRegion countNode = head = newHead;
-		while (countNode != null) {
-			count++;
-			countNode = countNode.getNext();
-		}
-		if (Debug.DEBUG > 5) {
-			System.out.println("N Nodes in StructuredDocumentRegionEnumeration Contructor: " + count); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * StructuredDocumentRegionEnumeration constructor comment.
-	 */
-	public StructuredDocumentRegionEnumeration(IStructuredDocumentRegion start, IStructuredDocumentRegion end) {
-		super();
-		IStructuredDocumentRegion countNode = head = start;
-		if ((start == null) || (end == null)) {
-			// error condition
-			count = 0;
-			return;
-		}
-		//If both nodes are non-null, we assume there is always at least one
-		// item
-		count = 1;
-		while (countNode != end) {
-			count++;
-			countNode = countNode.getNext();
-		}
-		if (org.eclipse.wst.sse.core.util.Debug.DEBUG > 5) {
-			System.out.println("N Nodes in StructuredDocumentRegionEnumeration Contructor: " + count); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * hasMoreElements method comment.
-	 */
-	public synchronized boolean hasMoreElements() {
-		return count > 0;
-	}
-
-	/**
-	 * nextElement method comment.
-	 */
-	public synchronized Object nextElement() {
-		if (count > 0) {
-			count--;
-			oldHead = head;
-			head = head.getNext();
-			return oldHead;
-		}
-		throw new NoSuchElementException("StructuredDocumentRegionEnumeration"); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentRegionIterator.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentRegionIterator.java
deleted file mode 100644
index 6f1707e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentRegionIterator.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-
-
-import java.util.Vector;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.util.Assert;
-
-
-public class StructuredDocumentRegionIterator {
-
-	public final static IStructuredDocumentRegion adjustStart(IStructuredDocumentRegion headNode, int adjustment) {
-		IStructuredDocumentRegion aNode = headNode;
-		while (aNode != null) {
-			aNode.adjustStart(adjustment);
-			aNode = aNode.getNext();
-		}
-		return headNode;
-	}
-
-	public final static int countRegions(IStructuredDocumentRegionList flatNodes) {
-		int result = 0;
-		if (flatNodes != null) {
-			int length = flatNodes.getLength();
-			for (int i = 0; i < length; i++) {
-				IStructuredDocumentRegion node = flatNodes.item(i);
-				// don't know why, but we're getting null pointer exceptions
-				// in this method
-				if (node != null) {
-					result = result + node.getNumberOfRegions();
-				}
-			}
-		}
-		return result;
-	}
-
-	public final static String getText(CoreNodeList flatNodes) {
-		String result = null;
-		if (flatNodes == null) {
-			result = ""; //$NON-NLS-1$
-		} else {
-			StringBuffer buff = new StringBuffer();
-			//IStructuredDocumentRegion aNode = null;
-			int length = flatNodes.getLength();
-			for (int i = 0; i < length; i++) {
-				buff.append(flatNodes.item(i).getText());
-			}
-			result = buff.toString();
-		}
-		return result;
-	}
-
-	public final static CoreNodeList setParentDocument(CoreNodeList nodelist, IStructuredDocument textStore) {
-		Assert.isNotNull(nodelist, "nodelist was null in CoreNodeList::setTextStore(CoreNodeList, StructuredTextStore)"); //$NON-NLS-1$
-		int len = nodelist.getLength();
-		for (int i = 0; i < len; i++) {
-			IStructuredDocumentRegion node = nodelist.item(i);
-			//Assert.isNotNull(node, "who's putting null in the node list? in
-			// CoreNodeList::setTextStore(CoreNodeList,
-			// StructuredTextStore)"); //$NON-NLS-1$
-			node.setParentDocument(textStore);
-		}
-		return nodelist;
-	}
-
-	//	public final static IStructuredDocumentRegion
-	// setStructuredDocument(IStructuredDocumentRegion headNode,
-	// BasicStructuredDocument structuredDocument) {
-	//		IStructuredDocumentRegion aNode = headNode;
-	//		while (aNode != null) {
-	//			aNode.setParentDocument(structuredDocument);
-	//			aNode = (IStructuredDocumentRegion) aNode.getNext();
-	//		}
-	//		return headNode;
-	//	}
-	public final static IStructuredDocumentRegion setParentDocument(IStructuredDocumentRegion headNode, IStructuredDocument document) {
-		IStructuredDocumentRegion aNode = headNode;
-		while (aNode != null) {
-			aNode.setParentDocument(document);
-			aNode = aNode.getNext();
-		}
-		return headNode;
-	}
-
-	public final static Vector toVector(IStructuredDocumentRegion headNode) {
-		IStructuredDocumentRegion aNode = headNode;
-		Vector v = new Vector();
-		while (aNode != null) {
-			v.addElement(aNode);
-			aNode = aNode.getNext();
-		}
-		return v;
-	}
-
-	/**
-	 *  
-	 */
-	private StructuredDocumentRegionIterator() {
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentSequentialRewriteTextStore.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentSequentialRewriteTextStore.java
deleted file mode 100644
index 5c31aa8..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentSequentialRewriteTextStore.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-import org.eclipse.jface.text.ITextStore;
-import org.eclipse.jface.text.SequentialRewriteTextStore;
-
-public class StructuredDocumentSequentialRewriteTextStore extends SequentialRewriteTextStore implements CharSequence, IRegionComparible {
-
-	/**
-	 * @param source
-	 */
-	public StructuredDocumentSequentialRewriteTextStore(ITextStore source) {
-		super(source);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.CharSequence#charAt(int)
-	 */
-	public char charAt(int index) {
-		return get(index);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.CharSequence#length()
-	 */
-	public int length() {
-		return getLength();
-	}
-
-	/**
-	 * @param c
-	 * @param d
-	 * @return
-	 */
-	private boolean matchesIgnoreCase(char c1, char c2) {
-		// we check both case conversions to handle those few cases,
-		// in languages such as Turkish, which have some characters
-		// which sort of have 3 cases.
-		boolean result = false;
-		if (Character.toUpperCase(c1) == Character.toUpperCase(c2))
-			result = true;
-		else if (Character.toLowerCase(c1) == Character.toLowerCase(c2))
-			result = true;
-		return result;
-	}
-
-	public boolean regionMatches(int offset, int length, String stringToCompare) {
-		boolean result = false;
-		int compareLength = stringToCompare.length();
-		if (compareLength == length) {
-			int endOffset = offset + length;
-			if (endOffset <= length()) {
-				result = regionMatches(offset, stringToCompare);
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * This method assumes all lengths have been checked and fall withint
-	 * exceptable limits
-	 * 
-	 * @param offset
-	 * @param stringToCompare
-	 * @return
-	 */
-	private boolean regionMatches(int offset, String stringToCompare) {
-		boolean result = true;
-		int stringOffset = 0;
-		int len = stringToCompare.length();
-		for (int i = offset; i < len; i++) {
-			if (charAt(i) != stringToCompare.charAt(stringOffset++)) {
-				result = false;
-				break;
-			}
-		}
-		return result;
-	}
-
-	public boolean regionMatchesIgnoreCase(int offset, int length, String stringToCompare) {
-		boolean result = false;
-		int compareLength = stringToCompare.length();
-		if (compareLength == length) {
-			int endOffset = offset + length;
-			if (endOffset <= length()) {
-				result = regionMatchesIgnoreCase(offset, stringToCompare);
-			}
-		}
-
-		return result;
-	}
-
-	private boolean regionMatchesIgnoreCase(int offset, String stringToCompare) {
-		boolean result = true;
-		int stringOffset = 0;
-		int len = stringToCompare.length();
-		for (int i = offset; i < len; i++) {
-			if (!matchesIgnoreCase(charAt(i), stringToCompare.charAt(stringOffset++))) {
-				result = false;
-				break;
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.CharSequence#subSequence(int, int)
-	 */
-	public CharSequence subSequence(int start, int end) {
-
-		return get(start, end - start);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentTextStore.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentTextStore.java
deleted file mode 100644
index 2751cae..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/StructuredDocumentTextStore.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-import org.eclipse.jface.text.GapTextStore;
-import org.eclipse.jface.text.ITextStore;
-
-public class StructuredDocumentTextStore implements ITextStore, CharSequence, IRegionComparible {
-
-	private GapTextStore fInternalStore;
-
-	/**
-	 *  
-	 */
-	public StructuredDocumentTextStore() {
-		this(50, 300);
-	}
-
-	/**
-	 * @param lowWatermark
-	 * @param highWatermark
-	 */
-	public StructuredDocumentTextStore(int lowWatermark, int highWatermark) {
-		super();
-		fInternalStore = new GapTextStore(lowWatermark, highWatermark);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.CharSequence#charAt(int)
-	 */
-	public char charAt(int index) {
-		return fInternalStore.get(index);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextStore#get(int)
-	 */
-	public char get(int offset) {
-
-		return fInternalStore.get(offset);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextStore#get(int, int)
-	 */
-	public String get(int offset, int length) {
-
-		return fInternalStore.get(offset, length);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextStore#getLength()
-	 */
-	public int getLength() {
-
-		return fInternalStore.getLength();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.CharSequence#length()
-	 */
-	public int length() {
-
-		return fInternalStore.getLength();
-	}
-
-	private boolean matchesIgnoreCase(char c1, char c2) {
-		// we check both case conversions to handle those few cases,
-		// in languages such as Turkish, which have some characters
-		// which sort of have 3 cases.
-		boolean result = false;
-		if (Character.toUpperCase(c1) == Character.toUpperCase(c2))
-			result = true;
-		else if (Character.toLowerCase(c1) == Character.toLowerCase(c2))
-			result = true;
-		return result;
-	}
-
-	public boolean regionMatches(int offset, int length, String stringToCompare) {
-		boolean result = false;
-		int compareLength = stringToCompare.length();
-		if (compareLength == length) {
-			int endOffset = offset + length;
-			if (endOffset <= length()) {
-				result = regionMatches(offset, stringToCompare);
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * This method assumes all lengths have been checked and fall withint
-	 * exceptable limits
-	 * 
-	 * @param offset
-	 * @param stringToCompare
-	 * @return
-	 */
-	private boolean regionMatches(int offset, String stringToCompare) {
-		boolean result = true;
-		int stringOffset = 0;
-		int len = stringToCompare.length();
-		for (int i = offset; i < len; i++) {
-			if (charAt(i) != stringToCompare.charAt(stringOffset++)) {
-				result = false;
-				break;
-			}
-		}
-		return result;
-	}
-
-	public boolean regionMatchesIgnoreCase(int offset, int length, String stringToCompare) {
-		boolean result = false;
-		int compareLength = stringToCompare.length();
-		if (compareLength == length) {
-			int endOffset = offset + length;
-			if (endOffset <= length()) {
-				result = regionMatchesIgnoreCase(offset, stringToCompare);
-			}
-		}
-
-		return result;
-	}
-
-	private boolean regionMatchesIgnoreCase(int offset, String stringToCompare) {
-		boolean result = true;
-		int stringOffset = 0;
-		int len = stringToCompare.length();
-		for (int i = offset; i < len; i++) {
-			if (!matchesIgnoreCase(charAt(i), stringToCompare.charAt(stringOffset++))) {
-				result = false;
-				break;
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextStore#replace(int, int,
-	 *      java.lang.String)
-	 */
-	public void replace(int offset, int length, String text) {
-		fInternalStore.replace(offset, length, text);
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextStore#set(java.lang.String)
-	 */
-	public void set(String text) {
-		fInternalStore.set(text);
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.CharSequence#subSequence(int, int)
-	 */
-	public CharSequence subSequence(int start, int end) {
-		// convert 'end' to 'length'
-		return fInternalStore.get(start, end - start);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/SubSetTextStore.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/SubSetTextStore.java
deleted file mode 100644
index caca8b9..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/SubSetTextStore.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-/**
- * This is a convience or utility class that allows you to make a copy of a
- * part of a larger text store, but have the copy behave as if it was the
- * larger text store.
- * 
- * In other words, it provides a subset of a larger document, that "looks like"
- * the orginal document. That is, "looks like" in terms of offsets and lengths.
- * Valid access can only be made to data between the orignal offsets, even
- * though those offsets are in the same units at the original, and even though
- * the length appears to be long.
- * 
- * For example, if a subsettext store is created for the def part of abcdefgh,
- * then get(3,5) is valid, getLength is 8. Any other access, such as
- * getChar(2), would be invalid.
- */
-import org.eclipse.jface.text.ITextStore;
-
-/**
- * Similar to basics of IDocument, but the offsets are mapped from coordinates
- * of underlying storage to a "virtual" document.
- */
-public class SubSetTextStore implements ITextStore {
-	private int pseudoBeginOffset; // maps to "zero" postion of new text
-	//private int pseudoEndOffset;
-	private int pseudoLength; // length of old/original document
-	private StringBuffer stringBuffer = new StringBuffer();
-
-	/**
-	 * SubSetTextStore constructor comment.
-	 * 
-	 * @param initialContent
-	 *            java.lang.String
-	 */
-	public SubSetTextStore(String initialContent, int beginOffset, int endOffset, int originalDocumentLength) {
-		super();
-		pseudoBeginOffset = beginOffset;
-		//pseudoEndOffset = endOffset;
-		// used to be originalDocument.getLength ... not sure if used, or
-		// which
-		// is right
-		pseudoLength = originalDocumentLength;
-		stringBuffer = new StringBuffer(initialContent);
-		//set(initialContent);
-	}
-
-	// this is our "private" get, which methods in this class should
-	// use to get using "real" coordinates of underlying representation.
-	private String _get(int begin, int length) {
-		char[] chars = new char[length];
-		int srcEnd = begin + length;
-		stringBuffer.getChars(begin, srcEnd, chars, 0);
-		return new String(chars);
-	}
-
-	public char get(int offset) {
-		return stringBuffer.charAt(offset - pseudoBeginOffset);
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param begin
-	 *            int
-	 * @param end
-	 *            int
-	 */
-	public String get(int begin, int length) {
-		// remap the begin and end to "appear" to be in the
-		// same coordinates of the original parentDocument
-		return _get(begin - pseudoBeginOffset, length);
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param begin
-	 *            int
-	 * @param end
-	 *            int
-	 */
-	public char getChar(int pos) {
-		// remap the begin and end to "appear" to be in the
-		// same coordinates of the original parentDocument
-		return get(pos - pseudoBeginOffset);
-	}
-
-	/**
-	 * We redefine getLength so its not the true length of this sub-set
-	 * document, but the length of the original. This is needed, as a simple
-	 * example, if you want to see if the pseudo end is equal the last
-	 * position of the original document.
-	 */
-	public int getLength() {
-		return pseudoLength;
-	}
-
-	/**
-	 * Returns the length as if considered a true, standalone document
-	 */
-	public int getTrueLength() {
-		return stringBuffer.length();
-	}
-
-	public void replace(int begin, int length, String changes) {
-		// remap the begin and end to "appear" to be in the
-		// same coordinates of the original parentDocument
-		int end = begin + length;
-		stringBuffer.replace(begin - pseudoBeginOffset, end, changes);
-	}
-
-	public void set(String text) {
-		stringBuffer.setLength(0);
-		stringBuffer.append(text);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/TextRegionListImpl.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/TextRegionListImpl.java
deleted file mode 100644
index 1985ede..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/TextRegionListImpl.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.text;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-
-public class TextRegionListImpl implements ITextRegionList {
-
-	private class NullIterator implements Iterator {
-		public NullIterator() {
-		}
-
-		public boolean hasNext() {
-			return false;
-		}
-
-		public Object next() {
-			throw new NoSuchElementException();
-		}
-
-		public void remove() {
-			throw new UnsupportedOperationException("can not remove regions via iterator"); //$NON-NLS-1$
-
-		}
-
-	}
-
-	private class RegionIterator implements Iterator {
-		private ITextRegion[] fIteratorRegions;
-		private int index = -1;
-		private int maxindex = -1;
-
-		public RegionIterator() {
-			fIteratorRegions = toArray();
-			maxindex = fIteratorRegions.length - 1;
-		}
-
-		public boolean hasNext() {
-			return index < maxindex;
-		}
-
-		public Object next() {
-			if (!(index < maxindex))
-				throw new NoSuchElementException();
-			return fIteratorRegions[++index];
-		}
-
-		public void remove() {
-			throw new UnsupportedOperationException("can not remove regions via iterator"); //$NON-NLS-1$
-
-		}
-
-	}
-
-	private final static int growthConstant = 2;
-
-	private ITextRegion[] fRegions;
-	private int fRegionsCount = 0;
-
-	public TextRegionListImpl() {
-		super();
-	}
-
-	public TextRegionListImpl(ITextRegionList regionList) {
-		this();
-		fRegions = (ITextRegion[]) regionList.toArray().clone();
-		fRegionsCount = fRegions.length;
-	}
-
-	public boolean add(ITextRegion region) {
-
-		if (region == null)
-			return false;
-		ensureCapacity(fRegionsCount + 1);
-		fRegions[fRegionsCount++] = region;
-		return true;
-	}
-
-	public boolean addAll(int insertPos, ITextRegionList newRegions) {
-		// beginning of list is 0 to insertPos-1
-		// remainder of list is insertPos to fRegionsCount
-		// resulting total will be be fRegionsCount + newRegions.size()
-		if (insertPos < 0 || insertPos > fRegionsCount) {
-			throw new ArrayIndexOutOfBoundsException(insertPos);
-		}
-
-		int newRegionsSize = newRegions.size();
-
-		ensureCapacity(fRegionsCount + newRegionsSize);
-
-		int numMoved = fRegionsCount - insertPos;
-		if (numMoved > 0)
-			System.arraycopy(fRegions, insertPos, fRegions, insertPos + newRegionsSize, numMoved);
-
-		for (int i = 0; i < newRegionsSize; i++)
-			fRegions[insertPos++] = newRegions.get(i);
-
-		fRegionsCount += newRegionsSize;
-		return newRegionsSize != 0;
-
-	}
-
-	public void clear() {
-		// note: size of array is not reduced!
-		fRegionsCount = 0;
-	}
-
-	private void ensureCapacity(int needed) {
-		if (fRegions == null) {
-			// first time
-			fRegions = new ITextRegion[needed];
-			return;
-		}
-		int oldLength = fRegions.length;
-		if (oldLength < needed) {
-			ITextRegion[] oldAdapters = fRegions;
-			ITextRegion[] newAdapters = new ITextRegion[needed + growthConstant];
-			System.arraycopy(oldAdapters, 0, newAdapters, 0, fRegionsCount);
-			fRegions = newAdapters;
-		}
-	}
-
-	public ITextRegion get(int index) {
-		if (index < 0 || index > fRegionsCount) {
-			throw new ArrayIndexOutOfBoundsException(index);
-		}
-		ITextRegion result = fRegions[index];
-		return result;
-	}
-
-	public int indexOf(ITextRegion region) {
-
-		int result = -1;
-		if (region != null) {
-			if (fRegions != null) {
-				for (int i = 0; i < fRegions.length; i++) {
-					if (region.equals(fRegions[i])) {
-						result = i;
-						break;
-					}
-				}
-			}
-		}
-		return result;
-	}
-
-	public boolean isEmpty() {
-		return fRegionsCount == 0;
-	}
-
-	public Iterator iterator() {
-		if (size() == 0) {
-			return new NullIterator();
-		} else {
-			return new RegionIterator();
-		}
-	}
-
-	public ITextRegion remove(int index) {
-		// much more efficient ways to implement this, but
-		// I doubt if called often
-		ITextRegion oneToRemove = get(index);
-		remove(oneToRemove);
-		return oneToRemove;
-	}
-
-	public void remove(ITextRegion a) {
-		if (fRegions == null || a == null)
-			return;
-		int newIndex = 0;
-		ITextRegion[] newRegions = new ITextRegion[fRegionsCount];
-		int oldRegionCount = fRegionsCount;
-		boolean found = false;
-		for (int oldIndex = 0; oldIndex < oldRegionCount; oldIndex++) {
-			ITextRegion candidate = fRegions[oldIndex];
-			if (a == candidate) {
-				fRegionsCount--;
-				found = true;
-			} else
-				newRegions[newIndex++] = fRegions[oldIndex];
-		}
-		if (found)
-			fRegions = newRegions;
-	}
-
-	public void removeAll(ITextRegionList regionList) {
-		// much more efficient ways to implement this, but
-		// I doubt if called often
-		if (regionList != null) {
-			for (int i = 0; i < regionList.size(); i++) {
-				this.remove(regionList.get(i));
-			}
-		}
-
-	}
-
-	public int size() {
-		return fRegionsCount;
-	}
-
-	public ITextRegion[] toArray() {
-		// return "clone" of internal array
-		ITextRegion[] newArray = new ITextRegion[fRegionsCount];
-		System.arraycopy(fRegions, 0, newArray, 0, fRegionsCount);
-		return newArray;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/undo/StructuredTextCommandImpl.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/undo/StructuredTextCommandImpl.java
deleted file mode 100644
index 00e0f4e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/undo/StructuredTextCommandImpl.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.undo;
-
-
-
-import org.eclipse.emf.common.command.AbstractCommand;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.undo.StructuredTextCommand;
-
-
-public class StructuredTextCommandImpl extends AbstractCommand implements StructuredTextCommand {
-
-	protected IDocument fDocument = null; // needed for updating the text
-	protected String fTextDeleted = null;
-	protected int fTextEnd = -1;
-	protected String fTextInserted = null;
-	protected int fTextStart = -1;
-
-	/**
-	 * We have no-arg constructor non-public to force document to be specfied.
-	 *  
-	 */
-	protected StructuredTextCommandImpl() {
-		super();
-	}
-
-	public StructuredTextCommandImpl(IDocument document) {
-		this();
-		fDocument = document; // needed for updating the text
-	}
-
-	public void execute() {
-	}
-
-	/**
-	 * getTextDeleted method comment.
-	 */
-	public java.lang.String getTextDeleted() {
-		return fTextDeleted;
-	}
-
-	/**
-	 * textEnd is the same as (textStart + textInserted.length())
-	 */
-	public int getTextEnd() {
-		return fTextEnd;
-	}
-
-	/**
-	 * getTextInserted method comment.
-	 */
-	public java.lang.String getTextInserted() {
-		return fTextInserted;
-	}
-
-	/**
-	 * getTextStart method comment.
-	 */
-	public int getTextStart() {
-		return fTextStart;
-	}
-
-	protected boolean prepare() {
-		return true;
-	}
-
-	public void redo() {
-		if (fDocument instanceof IStructuredDocument) {
-			// note: one of the few places we programatically ignore read-only
-			// settings
-			((IStructuredDocument) fDocument).replaceText(this, fTextStart, fTextDeleted.length(), fTextInserted, true);
-		} else {
-			try {
-				fDocument.replace(fTextStart, fTextDeleted.length(), fTextInserted);
-			} catch (BadLocationException e) {
-				// assumed impossible, for now
-				Logger.logException(e);
-			}
-		}
-	}
-
-	/**
-	 * setTextDeleted method comment.
-	 */
-	public void setTextDeleted(java.lang.String textDeleted) {
-		fTextDeleted = textDeleted;
-	}
-
-	/**
-	 * setTextEnd method comment.
-	 */
-	public void setTextEnd(int textEnd) {
-		fTextEnd = textEnd;
-	}
-
-	/**
-	 * setTextInserted method comment.
-	 */
-	public void setTextInserted(java.lang.String textInserted) {
-		fTextInserted = textInserted;
-	}
-
-	/**
-	 * setTextStart method comment.
-	 */
-	public void setTextStart(int textStart) {
-		fTextStart = textStart;
-	}
-
-	public void undo() {
-		if (fDocument instanceof IStructuredDocument) {
-			// note: one of the few places we programatically ignore read-only
-			// settings
-			((IStructuredDocument) fDocument).replaceText(this, fTextStart, fTextInserted.length(), fTextDeleted, true);
-		} else {
-			try {
-				fDocument.replace(fTextStart, fTextInserted.length(), fTextDeleted);
-			} catch (BadLocationException e) {
-				// assumed impossible, for now
-				Logger.logException(e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/undo/StructuredTextCompoundCommandImpl.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/undo/StructuredTextCompoundCommandImpl.java
deleted file mode 100644
index bb8856a..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/undo/StructuredTextCompoundCommandImpl.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.undo;
-
-
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.wst.sse.core.undo.CommandCursorPosition;
-
-
-
-public class StructuredTextCompoundCommandImpl extends CompoundCommand implements CommandCursorPosition {
-	protected int fRedoCursorPosition = -1;
-	protected int fRedoSelectionLength = 0;
-
-	protected int fUndoCursorPosition = -1;
-	protected int fUndoSelectionLength = 0;
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 */
-	public StructuredTextCompoundCommandImpl() {
-		super();
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 */
-	public StructuredTextCompoundCommandImpl(int resultIndex) {
-		super(resultIndex);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public StructuredTextCompoundCommandImpl(int resultIndex, java.util.List commandList) {
-		super(resultIndex, commandList);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param label
-	 *            java.lang.String
-	 */
-	public StructuredTextCompoundCommandImpl(int resultIndex, String label) {
-		super(resultIndex, label);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param label
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public StructuredTextCompoundCommandImpl(int resultIndex, String label, java.util.List commandList) {
-		super(resultIndex, label, commandList);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 */
-	public StructuredTextCompoundCommandImpl(int resultIndex, String label, String description) {
-		super(resultIndex, label, description);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public StructuredTextCompoundCommandImpl(int resultIndex, String label, String description, java.util.List commandList) {
-		super(resultIndex, label, description, commandList);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public StructuredTextCompoundCommandImpl(java.util.List commandList) {
-		super(commandList);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 */
-	public StructuredTextCompoundCommandImpl(String label) {
-		super(label);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public StructuredTextCompoundCommandImpl(String label, java.util.List commandList) {
-		super(label, commandList);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 */
-	public StructuredTextCompoundCommandImpl(String label, String description) {
-		super(label, description);
-	}
-
-	/**
-	 * StructuredTextCompoundCommandImpl constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public StructuredTextCompoundCommandImpl(String label, String description, java.util.List commandList) {
-		super(label, description, commandList);
-	}
-
-	/**
-	 * Returns the cursor position to be set to after this command is redone.
-	 * 
-	 * @return int
-	 */
-	public int getRedoCursorPosition() {
-		int cursorPosition = -1;
-
-		if (fRedoCursorPosition != -1)
-			cursorPosition = fRedoCursorPosition;
-		else if (!commandList.isEmpty()) {
-			int commandListSize = commandList.size();
-			Command lastCommand = (Command) commandList.get(commandListSize - 1);
-
-			if (lastCommand instanceof CommandCursorPosition)
-				cursorPosition = ((CommandCursorPosition) lastCommand).getRedoCursorPosition();
-		}
-
-		return cursorPosition;
-	}
-
-	/**
-	 * Returns the length of text to be selected after this command is redone.
-	 * 
-	 * @return int
-	 */
-	public int getRedoSelectionLength() {
-		return fRedoSelectionLength;
-	}
-
-	/**
-	 * Returns the cursor position to be set to after this command is undone.
-	 * 
-	 * @return int
-	 */
-	public int getUndoCursorPosition() {
-		int cursorPosition = -1;
-
-		if (fUndoCursorPosition != -1)
-			cursorPosition = fUndoCursorPosition;
-		else if (!commandList.isEmpty()) {
-			// never used
-			//int commandListSize = commandList.size();
-			Command firstCommand = (Command) commandList.get(0);
-
-			if (firstCommand instanceof CommandCursorPosition)
-				cursorPosition = ((CommandCursorPosition) firstCommand).getUndoCursorPosition();
-		}
-
-		return cursorPosition;
-	}
-
-	/**
-	 * Returns the length of text to be selected after this command is undone.
-	 * 
-	 * @return int
-	 */
-	public int getUndoSelectionLength() {
-		return fUndoSelectionLength;
-	}
-
-	/**
-	 * Sets the cursor position to be used after this command is redone.
-	 */
-	public void setRedoCursorPosition(int cursorPosition) {
-		fRedoCursorPosition = cursorPosition;
-	}
-
-	/**
-	 * Sets the length of text to be selected after this command is redone.
-	 */
-	public void setRedoSelectionLength(int selectionLength) {
-		fRedoSelectionLength = selectionLength;
-	}
-
-	/**
-	 * Sets the cursor position to be used after this command is undone.
-	 */
-	public void setUndoCursorPosition(int cursorPosition) {
-		fUndoCursorPosition = cursorPosition;
-	}
-
-	/**
-	 * Sets the length of text to be selected after this command is undone.
-	 */
-	public void setUndoSelectionLength(int selectionLength) {
-		fUndoSelectionLength = selectionLength;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/undo/StructuredTextUndoManager.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/undo/StructuredTextUndoManager.java
deleted file mode 100644
index 04df924..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/undo/StructuredTextUndoManager.java
+++ /dev/null
@@ -1,617 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal.undo;
-
-import java.util.EventObject;
-
-import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandStack;
-import org.eclipse.emf.common.command.CommandStackListener;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.undo.CommandCursorPosition;
-import org.eclipse.wst.sse.core.undo.IDocumentSelectionMediator;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.core.undo.StructuredTextCommand;
-import org.eclipse.wst.sse.core.undo.UndoDocumentEvent;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-public class StructuredTextUndoManager implements IStructuredTextUndoManager {
-
-	class InternalCommandStackListener implements CommandStackListener {
-		public void commandStackChanged(EventObject event) {
-			resetInternalCommands();
-		}
-	}
-
-	class InternalStructuredDocumentListener implements IStructuredDocumentListener {
-
-		public void newModel(NewDocumentEvent structuredDocumentEvent) {
-			// Do nothing. Do not push the new model's structuredDocument
-			// changes
-			// onto the undo command stack, or else the user may be able to
-			// undo
-			// an existing file to an empty file.
-		}
-
-		public void noChange(NoChangeEvent structuredDocumentEvent) {
-			// Since "no change", do nothing.
-		}
-
-		public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-			processStructuredDocumentEvent(structuredDocumentEvent);
-		}
-
-		private void processStructuredDocumentEvent(String textDeleted, String textInserted, int textStart, int textEnd) {
-			if (fTextCommand != null && textStart == fTextCommand.getTextEnd()) {
-				// append to the text command
-				fTextCommand.setTextDeleted(fTextCommand.getTextDeleted().concat(textDeleted));
-				fTextCommand.setTextInserted(fTextCommand.getTextInserted().concat(textInserted));
-				fTextCommand.setTextEnd(textEnd);
-			} else if (fTextCommand != null && textStart == fTextCommand.getTextStart() - (textEnd - textStart + 1) && textEnd <= fTextCommand.getTextEnd() - (textEnd - textStart + 1) && textDeleted.length() == 1 && textInserted.length() == 0) {
-				// backspace pressed
-
-				// erase a character just inserted
-				if (fTextCommand.getTextInserted().length() > 0) {
-					fTextCommand.setTextInserted(fTextCommand.getTextInserted().substring(0, fTextCommand.getTextEnd() - fTextCommand.getTextStart() - 1));
-					fTextCommand.setTextEnd(textEnd);
-				}
-				// erase a character in the file
-				else {
-					fTextCommand.setTextDeleted(textDeleted.concat(fTextCommand.getTextDeleted()));
-					fTextCommand.setTextStart(textStart);
-				}
-			} else {
-				createNewTextCommand(textDeleted, textInserted, textStart, textEnd);
-			}
-
-			// save cursor position
-			fCursorPosition = textEnd;
-		}
-
-		private void processStructuredDocumentEvent(StructuredDocumentEvent structuredDocumentEvent) {
-			// Note: fListening tells us if we should listen to the
-			// StructuredDocumentEvent.
-			// fListening is set to false right before the undo/redo process
-			// and
-			// then set to true again
-			// right after the undo/redo process to block out and ignore all
-			// StructuredDocumentEvents generated
-			// by the undo/redo process.
-
-			// Process StructuredDocumentEvent if fListening is true.
-			//
-			// We are executing a command from the command stack if the
-			// requester
-			// is a command (for example, undo/redo).
-			// We should not process the flat model event when we are
-			// executing a
-			// command from the command stack.
-			if (fUndoManagementEnabled && !(structuredDocumentEvent.getOriginalSource() instanceof Command)) {
-				// check requester if not recording
-				if (!fRecording)
-					checkRequester(structuredDocumentEvent.getOriginalSource());
-
-				// process the structuredDocumentEvent
-				String textDeleted = structuredDocumentEvent.getDeletedText();
-				String textInserted = structuredDocumentEvent.getText();
-				int textStart = structuredDocumentEvent.getOriginalStart();
-				int textEnd = textStart + textInserted.length();
-				processStructuredDocumentEvent(textDeleted, textInserted, textStart, textEnd);
-			}
-		}
-
-		public void regionChanged(RegionChangedEvent structuredDocumentEvent) {
-			processStructuredDocumentEvent(structuredDocumentEvent);
-		}
-
-		public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) {
-			processStructuredDocumentEvent(structuredDocumentEvent);
-		}
-
-	}
-
-	private static final String TEXT_CHANGE_TEXT = SSECorePlugin.getResourceString("%Text_Change_UI_"); //$NON-NLS-1$
-	private CommandStack fCommandStack = null;
-	private StructuredTextCompoundCommandImpl fCompoundCommand = null;
-	private String fCompoundCommandDescription = null;
-	private String fCompoundCommandLabel = null;
-	int fCursorPosition = 0;
-	//private IStructuredModel fStructuredModel = null;
-	private IDocument fDocument;
-	private InternalCommandStackListener fInternalCommandStackListener;
-	//private Map fTextViewerToListenerMap = new HashMap();
-	private IStructuredDocumentListener fInternalStructuredDocumentListener;
-	private IDocumentSelectionMediator[] fMediators = null;
-	private boolean fRecording = false;
-	private int fRecordingCount = 0;
-	private Object fRequester;
-	StructuredTextCommandImpl fTextCommand = null;
-	private int fUndoCursorPosition = -1;
-	boolean fUndoManagementEnabled = true;
-	private int fUndoSelectionLength = 0;
-
-	public StructuredTextUndoManager() {
-		this(new BasicCommandStack());
-	}
-
-	public StructuredTextUndoManager(CommandStack commandStack) {
-		setCommandStack(commandStack);
-	}
-
-	private void addDocumentSelectionMediator(IDocumentSelectionMediator mediator) {
-		if (!Utilities.contains(fMediators, mediator)) {
-			int oldSize = 0;
-
-			if (fMediators != null) {
-				// normally won't be null, but we need to be sure, for first
-				// time through
-				oldSize = fMediators.length;
-			}
-
-			int newSize = oldSize + 1;
-			IDocumentSelectionMediator[] newMediators = new IDocumentSelectionMediator[newSize];
-			if (fMediators != null) {
-				System.arraycopy(fMediators, 0, newMediators, 0, oldSize);
-			}
-
-			// add the new undo mediator to last position
-			newMediators[newSize - 1] = mediator;
-
-			// now switch new for old
-			fMediators = newMediators;
-		} else {
-			removeDocumentSelectionMediator(mediator);
-			addDocumentSelectionMediator(mediator);
-		}
-	}
-
-	public void beginRecording(Object requester) {
-		beginRecording(requester, null, null);
-	}
-
-	public void beginRecording(Object requester, int cursorPosition, int selectionLength) {
-		beginRecording(requester, null, null);
-
-		fUndoCursorPosition = cursorPosition;
-		fUndoSelectionLength = selectionLength;
-	}
-
-	public void beginRecording(Object requester, String label) {
-		beginRecording(requester, label, null);
-	}
-
-	public void beginRecording(Object requester, String label, int cursorPosition, int selectionLength) {
-		beginRecording(requester, label, null);
-
-		fUndoCursorPosition = cursorPosition;
-		fUndoSelectionLength = selectionLength;
-	}
-
-	public void beginRecording(Object requester, String label, String description) {
-		// save the requester
-		fRequester = requester;
-
-		// update label and desc only on the first level when recording is
-		// nested
-		if (fRecordingCount == 0) {
-			fCompoundCommandLabel = label;
-			if (fCompoundCommandLabel == null)
-				fCompoundCommandLabel = TEXT_CHANGE_TEXT;
-
-			fCompoundCommandDescription = description;
-			if (fCompoundCommandDescription == null)
-				fCompoundCommandDescription = TEXT_CHANGE_TEXT;
-
-			// clear commands
-			fTextCommand = null;
-			fCompoundCommand = null;
-		}
-
-		// update counter and flag
-		fRecordingCount++;
-		fRecording = true;
-
-		// no undo cursor position and undo selection length specified
-		// reset undo cursor position and undo selection length
-		fUndoCursorPosition = -1;
-		fUndoSelectionLength = 0;
-	}
-
-	public void beginRecording(Object requester, String label, String description, int cursorPosition, int selectionLength) {
-		beginRecording(requester, label, description);
-
-		fUndoCursorPosition = cursorPosition;
-		fUndoSelectionLength = selectionLength;
-	}
-
-	void checkRequester(Object requester) {
-		if (fRequester != null && !fRequester.equals(requester)) {
-			// Force restart of recording so the last compound command is
-			// closed.
-			//
-			// However, we should not force restart of recording when the
-			// request came from StructuredDocumentToTextAdapter or
-			// XMLModelImpl
-			// because cut/paste requests and character inserts to the
-			// textViewer are from StructuredDocumentToTextAdapter,
-			// and requests to delete a node in the XMLTableTreeViewer are
-			// from XMLModelImpl (which implements IStructuredModel).
-
-			if (!(requester instanceof IStructuredModel || requester instanceof IStructuredDocument)) {
-				resetInternalCommands();
-			}
-		}
-	}
-
-
-
-	public void connect(IDocumentSelectionMediator mediator) {
-		Assert.isNotNull(mediator);
-		if (fDocument == null) {
-			// add this undo manager as structured document listener
-			fDocument = mediator.getDocument();
-			// future_TODO: eventually we want to refactor or allow either
-			// type of document, but for now, we'll do instanceof check, and
-			// fail
-			// if not right type
-			if (fDocument instanceof IStructuredDocument) {
-				((IStructuredDocument) fDocument).addDocumentChangedListener(getInternalStructuredDocumentListener());
-			} else {
-				throw new IllegalArgumentException("only meditator with structured documents currently handled"); //$NON-NLS-1$
-			}
-		} else {
-			// if we've already had our document set, we'll just do this fail
-			// fast integrity check
-			if (!fDocument.equals(mediator.getDocument()))
-				throw new IllegalStateException("Connection to undo manager failed. Document for document selection mediator inconistent with undo manager."); //$NON-NLS-1$
-		}
-
-		addDocumentSelectionMediator(mediator);
-	}
-
-	void createNewTextCommand(String textDeleted, String textInserted, int textStart, int textEnd) {
-		StructuredTextCommandImpl textCommand = new StructuredTextCommandImpl(fDocument);
-		textCommand.setLabel(TEXT_CHANGE_TEXT);
-		textCommand.setDescription(TEXT_CHANGE_TEXT);
-		textCommand.setTextStart(textStart);
-		textCommand.setTextEnd(textEnd);
-		textCommand.setTextDeleted(textDeleted);
-		textCommand.setTextInserted(textInserted);
-
-		if (fRecording) {
-			if (fCompoundCommand == null) {
-				StructuredTextCompoundCommandImpl compoundCommand = new StructuredTextCompoundCommandImpl();
-				compoundCommand.setUndoCursorPosition(fUndoCursorPosition);
-				compoundCommand.setUndoSelectionLength(fUndoSelectionLength);
-
-				compoundCommand.setLabel(fCompoundCommandLabel);
-				compoundCommand.setDescription(fCompoundCommandDescription);
-				compoundCommand.append(textCommand);
-				fCommandStack.execute(compoundCommand);
-
-				fCompoundCommand = compoundCommand;
-			} else {
-				fCompoundCommand.append(textCommand);
-			}
-		} else {
-			fCommandStack.execute(textCommand);
-		}
-
-		fTextCommand = textCommand;
-	}
-
-	/**
-	 * Disable undo management.
-	 */
-	public void disableUndoManagement() {
-		fUndoManagementEnabled = false;
-	}
-
-	public void disconnect(IDocumentSelectionMediator mediator) {
-		removeDocumentSelectionMediator(mediator);
-
-		if (fMediators != null && fMediators.length == 0 && fDocument != null) {
-			// remove this undo manager as structured document listener
-			// future_TODO: eventually we want to refactor or allow either
-			// type of document, but for now, we'll do instanceof check, and
-			// fail
-			// if not right type
-			if (fDocument instanceof IStructuredDocument) {
-				((IStructuredDocument) fDocument).removeDocumentChangedListener(getInternalStructuredDocumentListener());
-			} else {
-				throw new IllegalArgumentException("only meditator with structured documents currently handled"); //$NON-NLS-1$
-			}
-			// if no longer listening to document, then dont even track it
-			// anymore
-			// (this allows connect to reconnect to document again)
-			fDocument = null;
-		}
-	}
-
-	public void enableUndoManagement() {
-		fUndoManagementEnabled = true;
-	}
-
-	public void endRecording(Object requester) {
-		int cursorPosition = (fTextCommand != null) ? fTextCommand.getTextEnd() : -1;
-		int selectionLength = 0;
-
-		endRecording(requester, cursorPosition, selectionLength);
-	}
-
-	public void endRecording(Object requester, int cursorPosition, int selectionLength) {
-		// Recording could be stopped by forceEndOfPendingCommand(). Make sure
-		// we are still recording before proceeding, or else fRecordingCount
-		// may not be balanced.
-		if (fRecording) {
-			if (fCompoundCommand != null) {
-				fCompoundCommand.setRedoCursorPosition(cursorPosition);
-				fCompoundCommand.setRedoSelectionLength(selectionLength);
-			}
-
-			// end recording is a logical stopping point for text command,
-			// even when fRecordingCount > 0 (in nested beginRecording)
-			fTextCommand = null;
-
-			// update counter and flag
-			if (fRecordingCount > 0)
-				fRecordingCount--;
-			if (fRecordingCount == 0) {
-				fRecording = false;
-
-				// reset compound command only when fRecordingCount ==
-				// 0
-				fCompoundCommand = null;
-				fCompoundCommandLabel = null;
-				fCompoundCommandDescription = null;
-
-				// Also reset fRequester
-				fRequester = null;
-			}
-		}
-	}
-
-	/**
-	 * Utility method to find model given document
-	 */
-	private IStructuredModel findStructuredModel(IDocument document) {
-		IModelManager modelManager = StructuredModelManager.getModelManager();
-		IStructuredModel structuredModel = modelManager.getExistingModelForRead(document);
-		return structuredModel;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager#forceEndOfPendingCommand(java.lang.Object,
-	 *      int, int)
-	 */
-	public void forceEndOfPendingCommand(Object requester, int currentPosition, int length) {
-		if (fRecording)
-			endRecording(requester, currentPosition, length);
-		else
-			resetInternalCommands();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager#getCommandStack()
-	 */
-	public CommandStack getCommandStack() {
-		return fCommandStack;
-	}
-
-	/**
-	 * @return
-	 */
-	private CommandStackListener getInternalCommandStackListener() {
-		if (fInternalCommandStackListener == null) {
-			fInternalCommandStackListener = new InternalCommandStackListener();
-		}
-		return fInternalCommandStackListener;
-	}
-
-	/**
-	 * @return
-	 */
-	private IStructuredDocumentListener getInternalStructuredDocumentListener() {
-		if (fInternalStructuredDocumentListener == null) {
-			fInternalStructuredDocumentListener = new InternalStructuredDocumentListener();
-		}
-		return fInternalStructuredDocumentListener;
-	}
-
-	public Command getRedoCommand() {
-		return fCommandStack.getRedoCommand();
-	}
-
-	public Command getUndoCommand() {
-		return fCommandStack.getUndoCommand();
-	}
-
-	public void redo() {
-		redo(null);
-	}
-
-	public void redo(IDocumentSelectionMediator requester) {
-		IStructuredModel model = findStructuredModel(fDocument);
-		if (redoable()) {
-			try {
-				if (model != null)
-					model.aboutToChangeModel();
-
-				Command redoCommand = getRedoCommand();
-
-				// make sure to redo before setting document selection
-				fCommandStack.redo();
-
-				// set document selection
-				setRedoDocumentSelection(requester, redoCommand);
-			} finally {
-				if (model != null) {
-					model.changedModel();
-					model.releaseFromRead();
-				}
-			}
-		}
-	}
-
-	public boolean redoable() {
-		return fCommandStack.canRedo();
-	}
-
-	private void removeDocumentSelectionMediator(IDocumentSelectionMediator mediator) {
-		if (fMediators != null && mediator != null) {
-			// if its not in the array, we'll ignore the request
-			if (Utilities.contains(fMediators, mediator)) {
-				int oldSize = fMediators.length;
-				int newSize = oldSize - 1;
-				IDocumentSelectionMediator[] newMediators = new IDocumentSelectionMediator[newSize];
-				int index = 0;
-				for (int i = 0; i < oldSize; i++) {
-					if (fMediators[i] == mediator) { // ignore
-					} else {
-						// copy old to new if its not the one we are removing
-						newMediators[index++] = fMediators[i];
-					}
-				}
-				// now that we have a new array, let's switch it for the old
-				// one
-				fMediators = newMediators;
-			}
-		}
-	}
-
-	void resetInternalCommands() {
-		// Either the requester of the structured document change event is
-		// changed, or the command stack is changed. Need to reset internal
-		// commands so we won't continue to append changes.
-		fCompoundCommand = null;
-		fTextCommand = null;
-
-		// Also reset fRequester
-		fRequester = null;
-	}
-
-	public void setCommandStack(CommandStack commandStack) {
-		if (fCommandStack != null)
-			fCommandStack.removeCommandStackListener(getInternalCommandStackListener());
-
-		fCommandStack = commandStack;
-
-		if (fCommandStack != null)
-			fCommandStack.addCommandStackListener(getInternalCommandStackListener());
-	}
-
-	private void setRedoDocumentSelection(IDocumentSelectionMediator requester, Command command) {
-		int cursorPosition = -1;
-		int selectionLength = 0;
-
-		if (command instanceof CommandCursorPosition) {
-			CommandCursorPosition commandCursorPosition = (CommandCursorPosition) command;
-			cursorPosition = commandCursorPosition.getRedoCursorPosition();
-			selectionLength = commandCursorPosition.getRedoSelectionLength();
-		} else if (command instanceof StructuredTextCommand) {
-			StructuredTextCommand structuredTextCommand = (StructuredTextCommand) command;
-			cursorPosition = structuredTextCommand.getTextStart();
-			selectionLength = structuredTextCommand.getTextInserted().length();
-		}
-
-		if (cursorPosition > -1 && fMediators != null && fMediators.length > 0) {
-			for (int i = 0; i < fMediators.length; i++) {
-				IDocument document = fMediators[i].getDocument();
-				fMediators[i].undoOperationSelectionChanged(new UndoDocumentEvent(requester, document, cursorPosition, selectionLength));
-			}
-		}
-	}
-
-	private void setUndoDocumentSelection(IDocumentSelectionMediator requester, Command command) {
-		int cursorPosition = -1;
-		int selectionLength = 0;
-
-		if (command instanceof CommandCursorPosition) {
-			CommandCursorPosition commandCursorPosition = (CommandCursorPosition) command;
-			cursorPosition = commandCursorPosition.getUndoCursorPosition();
-			selectionLength = commandCursorPosition.getUndoSelectionLength();
-		} else if (command instanceof StructuredTextCommand) {
-			StructuredTextCommand structuredTextCommand = (StructuredTextCommand) command;
-			cursorPosition = structuredTextCommand.getTextStart();
-			selectionLength = structuredTextCommand.getTextDeleted().length();
-		}
-
-		if (cursorPosition > -1 && fMediators != null && fMediators.length > 0) {
-			for (int i = 0; i < fMediators.length; i++) {
-				IDocument document = fMediators[i].getDocument();
-				fMediators[i].undoOperationSelectionChanged(new UndoDocumentEvent(requester, document, cursorPosition, selectionLength));
-			}
-		}
-	}
-
-	public void undo() {
-		undo(null);
-	}
-
-	public void undo(IDocumentSelectionMediator requester) {
-		// Force an endRecording before undo.
-		//
-		// For example, recording was turned on on the Design Page of
-		// PageDesigner.
-		// Then undo is invoked on the Source Page. Recording should be
-		// stopped before we undo.
-		// Note that redo should not be available when we switch to the Source
-		// Page.
-		// Therefore, this force ending of recording is not needed in redo.
-		if (fRecording)
-			endRecording(this);
-
-		if (undoable()) {
-			IStructuredModel model = findStructuredModel(fDocument);
-			try {
-				if (model != null)
-					model.aboutToChangeModel();
-
-				Command undoCommand = getUndoCommand();
-
-				// make sure to undo before setting document selection
-				fCommandStack.undo();
-
-				// set document selection
-				setUndoDocumentSelection(requester, undoCommand);
-			} finally {
-				if (model != null) {
-					model.changedModel();
-					model.releaseFromRead();
-				}
-			}
-		}
-	}
-
-	public boolean undoable() {
-		return fCommandStack.canUndo();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/AbstractModelHandler.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/AbstractModelHandler.java
deleted file mode 100644
index b5faa21..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/AbstractModelHandler.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.modelhandler;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.internal.modelhandler.PluginContributedFactoryReader;
-
-
-public abstract class AbstractModelHandler implements IModelHandler {
-	private String associatedContentTypeId;
-	private boolean defaultSetting;
-	private String modelHandlerID;
-
-	// XXX: can be removed once we transition completely
-	protected boolean USE_FILE_BUFFERS = false;
-
-	public AbstractModelHandler() {
-		super();
-	}
-
-	/**
-	 * These factories are added automatically by model manager
-	 */
-	public List getAdapterFactories() {
-		List result = new ArrayList();
-		Collection holdFactories = PluginContributedFactoryReader.getInstance().getFactories(this);
-		if (holdFactories != null) {
-			result.addAll(holdFactories);
-		}
-		return result;
-	}
-
-	public String getAssociatedContentTypeId() {
-		return associatedContentTypeId;
-	}
-
-	public abstract IDocumentCharsetDetector getEncodingDetector();
-
-	public String getId() {
-		return modelHandlerID;
-	}
-
-	public boolean isDefault() {
-		return defaultSetting;
-	}
-
-	protected void setAssociatedContentTypeId(String contentTypeId) {
-		associatedContentTypeId = contentTypeId;
-	}
-
-	public void setDefault(boolean defaultParam) {
-		defaultSetting = defaultParam;
-	}
-
-	protected void setId(String id) {
-		modelHandlerID = id;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/EmbeddedTypeHandler.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/EmbeddedTypeHandler.java
deleted file mode 100644
index a71c586..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/EmbeddedTypeHandler.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.modelhandler;
-
-import java.util.List;
-
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.parser.JSPCapableParser;
-
-
-/**
- */
-public interface EmbeddedTypeHandler {
-
-	/**
-	 * These AdapterFactories are NOT added to IStructuredModel's
-	 * AdapterFactory Registry ... they are for use by "JSP Aware
-	 * AdapterFactories" The are added to the "registry" in the
-	 * PageDirectiveAdapter.
-	 */
-	List getAdapterFactories();
-
-	/**
-	 * Returns the unique identifier for the content type family this
-	 * ContentTypeDescription belongs to.
-	 */
-	public String getFamilyId();
-
-	/**
-	 * Returns a list of mime tyeps (as Strings) this handler is appropriate
-	 * for
-	 */
-	List getSupportedMimeTypes();
-
-	/**
-	 * This method is to give the EmbeddedContentType an opportunity to add
-	 * factories directly to the IStructuredModel's AdapterFactory registry.
-	 */
-	void initializeFactoryRegistry(IFactoryRegistry registry);
-
-	/**
-	 * initializeParser Its purpose is to setBlockTags
-	 */
-	void initializeParser(JSPCapableParser parser);
-
-	boolean isDefault();
-
-	public EmbeddedTypeHandler newInstance();
-
-	void uninitializeFactoryRegistry(IFactoryRegistry registry);
-
-	void uninitializeParser(JSPCapableParser parser);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/IDocumentTypeHandler.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/IDocumentTypeHandler.java
deleted file mode 100644
index 9958966..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/IDocumentTypeHandler.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.modelhandler;
-
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-
-/**
- * Interface to allow custom content types to be defined as extension points
- * in plugins.
- */
-public interface IDocumentTypeHandler {
-
-	/**
-	 * The Loader is reponsible for decoding the Resource,
-	 */
-	IDocumentLoader getDocumentLoader();
-
-	/**
-	 * @deprecated - likely to go away, so I marked as deprecated to
-	 *             discoursage use
-	 */
-	IDocumentCharsetDetector getEncodingDetector();
-
-	/**
-	 * Must return unique ID that is the same as identified in plugin registry
-	 */
-	String getId();
-
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/IModelHandler.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/IModelHandler.java
deleted file mode 100644
index 0b41cae..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelhandler/IModelHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.modelhandler;
-
-import java.util.List;
-
-import org.eclipse.wst.sse.core.ModelLoader;
-
-
-public interface IModelHandler extends IDocumentTypeHandler {
-	/**
-	 * This method should return Factories which are added automatically by
-	 * IModelManager. This can and will often be an empty List (or null),
-	 * since some AdapterFactories must be added by Loader directly, and most
-	 * should be added by Editors. FormatAdapterFactory is an example of one
-	 * that can be returned here, since the timing of adding it is not
-	 * critical, but it may be needed even when an editor is not being used.
-	 */
-	List getAdapterFactories();
-
-	/**
-	 * Returns the ID for the associated ContentTypeHandler But is needed for
-	 * now.
-	 */
-	String getAssociatedContentTypeId();
-
-	/**
-	 * The Loader is reponsible for decoding the Resource,
-	 */
-	ModelLoader getModelLoader();
-
-	boolean isDefault();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelquery/ModelQueryAdapter.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelquery/ModelQueryAdapter.java
deleted file mode 100644
index 76339f2..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelquery/ModelQueryAdapter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.modelquery;
-
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-
-
-public interface ModelQueryAdapter extends INodeAdapter {
-
-	public CMDocumentCache getCMDocumentCache();
-
-	public IdResolver getIdResolver();
-
-	public ModelQuery getModelQuery();
-
-	void release();
-
-	void setIdResolver(IdResolver newIdResolver);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelquery/ModelQueryAdapterImpl.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelquery/ModelQueryAdapterImpl.java
deleted file mode 100644
index d42c559..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelquery/ModelQueryAdapterImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-
-
-public class ModelQueryAdapterImpl implements ModelQueryAdapter {
-	protected CMDocumentCache cmDocumentCache;
-	protected IdResolver idResolver;
-
-	protected ModelQuery modelQuery;
-
-	public ModelQueryAdapterImpl(CMDocumentCache cmDocumentCache, ModelQuery modelQuery, IdResolver idResolver) {
-		this.cmDocumentCache = cmDocumentCache;
-		this.modelQuery = modelQuery;
-		this.idResolver = idResolver;
-	}
-
-	public CMDocumentCache getCMDocumentCache() {
-		return cmDocumentCache;
-	}
-
-	public IdResolver getIdResolver() {
-		return idResolver;
-	}
-
-	public ModelQuery getModelQuery() {
-		return modelQuery;
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return type.equals(ModelQueryAdapter.class);
-	}
-
-	/**
-	 */
-
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	/**
-	 * @see ModelQueryAdapter#release()
-	 */
-	public void release() {
-	}
-
-	/**
-	 * @see ModelQueryAdapter#setIdResolver(IdResolver)
-	 */
-
-	public void setIdResolver(IdResolver newIdResolver) {
-		idResolver = newIdResolver;
-		if (modelQuery instanceof MovableModelQuery)
-			((MovableModelQuery) modelQuery).setIdResolver(newIdResolver);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelquery/MovableModelQuery.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelquery/MovableModelQuery.java
deleted file mode 100644
index c713c5e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/modelquery/MovableModelQuery.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-
-public interface MovableModelQuery extends ModelQuery {
-
-	void setIdResolver(IdResolver newIdResolver);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/BlockMarker.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/BlockMarker.java
deleted file mode 100644
index e63adbf..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/BlockMarker.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-public class BlockMarker extends TagMarker {
-
-	// allow for JSP expressions within the block
-	protected boolean fAllowJSP = true;
-
-	protected boolean fCaseSensitive = false;
-
-	// the context for the contents of this tag (BLOCK_TEXT, JSP_CONTENT,
-	// etc.)
-	protected String fContext;
-
-	/**
-	 * It's not appropriate to make "empty" BlockMarker, so we'll mark as
-	 * private.
-	 */
-	private BlockMarker() {
-		super();
-	}
-
-	public BlockMarker(String tagName, ITextRegion marker, String context) {
-		this(tagName, marker, context, true);
-	}
-
-	public BlockMarker(String tagName, ITextRegion marker, String context, boolean caseSensitive) {
-		this(tagName, marker, context, caseSensitive, true);
-	}
-
-	public BlockMarker(String tagName, ITextRegion marker, String context, boolean caseSensitive, boolean allowJSP) {
-		super(tagName, marker);
-		setContext(context);
-		setCaseSensitive(caseSensitive);
-		setAllowJSP(allowJSP);
-	}
-
-	public BlockMarker(String tagName, String regionContext, boolean caseSensitive) {
-		this(tagName, null, regionContext, caseSensitive, false);
-	}
-
-	/**
-	 * Gets the allowJSP.
-	 * 
-	 * @return Returns a boolean
-	 */
-	public boolean allowsJSP() {
-		return fAllowJSP;
-	}
-
-	/**
-	 * Gets the context.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getContext() {
-		return fContext;
-	}
-
-	/**
-	 * 
-	 * @return boolean
-	 */
-	public final boolean isCaseSensitive() {
-		return fCaseSensitive;
-	}
-
-	/**
-	 * Sets the allowJSP.
-	 * 
-	 * @param allowJSP
-	 *            The allowJSP to set
-	 */
-	public void setAllowJSP(boolean allowJSP) {
-		fAllowJSP = allowJSP;
-	}
-
-	public final void setCaseSensitive(boolean sensitive) {
-		fCaseSensitive = sensitive;
-	}
-
-	/**
-	 * Sets the context.
-	 * 
-	 * @param context
-	 *            The context to set
-	 */
-	public void setContext(String context) {
-		fContext = context;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/BlockTagParser.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/BlockTagParser.java
deleted file mode 100644
index 205323f..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/BlockTagParser.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-
-
-import java.util.List;
-
-public interface BlockTagParser {
-
-	void addBlockMarker(BlockMarker marker);
-
-	void beginBlockScan(String tagName);
-
-	BlockMarker getBlockMarker(String tagName);
-
-	List getBlockMarkers();
-
-	void removeBlockMarker(BlockMarker marker);
-
-	void removeBlockMarker(String tagName);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/BlockTokenizer.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/BlockTokenizer.java
deleted file mode 100644
index 048f9fe..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/BlockTokenizer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public interface BlockTokenizer {
-
-	void addBlockMarker(BlockMarker marker);
-
-	void beginBlockMarkerScan(String newTagName, String context);
-
-	void beginBlockTagScan(String newTagName);
-
-	List getBlockMarkers();
-
-	ITextRegion getNextToken() throws IOException;
-
-	int getOffset();
-
-	boolean isEOF();
-
-	BlockTokenizer newInstance();
-
-	void removeBlockMarker(BlockMarker marker);
-
-	void removeBlockMarker(String tagname);
-
-	void reset(char[] charArray);
-
-	void reset(char[] charArray, int newOffset);
-
-	void reset(InputStream in);
-
-	void reset(InputStream in, int newOffset);
-
-	void reset(Reader in);
-
-	void reset(Reader in, int newOffset);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/IBlockedStructuredDocumentRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/IBlockedStructuredDocumentRegion.java
deleted file mode 100644
index df2bc6e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/IBlockedStructuredDocumentRegion.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-/**
- *  
- */
-public interface IBlockedStructuredDocumentRegion extends IStructuredDocumentRegion {
-	String getPartitionType();
-
-	void setPartitionType(String partitionType);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/JSPCapableParser.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/JSPCapableParser.java
deleted file mode 100644
index 048394f..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/JSPCapableParser.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-import java.util.List;
-
-public interface JSPCapableParser extends RegionParser, BlockTagParser {
-	void addNestablePrefix(TagMarker marker);
-
-	/**
-	 * returns the TagMarkers for prefixes that are allowed to be nestable
-	 * 
-	 * @return
-	 */
-	List getNestablePrefixes();
-
-	void removeNestablePrefix(String tagName);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/RegionParser.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/RegionParser.java
deleted file mode 100644
index 935fba1..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/RegionParser.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-
-
-import java.io.Reader;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-public interface RegionParser {
-
-	IStructuredDocumentRegion getDocumentRegions();
-
-	List getRegions();
-
-	/**
-	 * The 'newInstance' method is similar to 'clone', but does not include
-	 * the copying of any content. For a pure RegionParser itself, there would
-	 * be little state to "clone", but for some subtypes, such as
-	 * StructuredDocumentRegionParser and JSPCapableParser, there could the
-	 * more internal data to "clone", such as the internal tokenizer should be
-	 * cloned (including block tags, etc).
-	 */
-	RegionParser newInstance();
-
-	void reset(Reader reader);
-
-	/**
-	 * An additional offset for use with any position-dependant parsing rules
-	 */
-	void reset(Reader reader, int offset);
-
-	void reset(String input);
-
-	/**
-	 * An additional offset for use with any position-dependant parsing rules
-	 */
-	void reset(String input, int offset);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionHandler.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionHandler.java
deleted file mode 100644
index b9f098c..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-public interface StructuredDocumentRegionHandler {
-
-	// Sent when a IStructuredDocumentRegion is first parsed
-	public void nodeParsed(IStructuredDocumentRegion aCoreStructuredDocumentRegion);
-
-	// Sent when the calling parser's model undergoes a full reset
-	//   and any information based upon the old model should be
-	//   cleared
-	public void resetNodes();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionHandlerExtension.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionHandlerExtension.java
deleted file mode 100644
index 0e6b9bb..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionHandlerExtension.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-public interface StructuredDocumentRegionHandlerExtension extends StructuredDocumentRegionHandler {
-	void setStructuredDocument(IStructuredDocument newDocument);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionParser.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionParser.java
deleted file mode 100644
index d8e280d..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionParser.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-
-
-public interface StructuredDocumentRegionParser extends RegionParser {
-
-	void addStructuredDocumentRegionHandler(StructuredDocumentRegionHandler handler);
-
-	void removeStructuredDocumentRegionHandler(StructuredDocumentRegionHandler handler);
-
-	void resetHandlers();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionParserExtension.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionParserExtension.java
deleted file mode 100644
index 561b64d..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/StructuredDocumentRegionParserExtension.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-import java.util.List;
-
-
-
-public interface StructuredDocumentRegionParserExtension extends StructuredDocumentRegionParser {
-	/**
-	 * Returns the current list of StructuredDocumentRegionHandlers listening
-	 * to this parser.
-	 * 
-	 * @return List - the list of listeners, the list may not be null and each
-	 *         element in it must implement StructuredDocumentRegionHandler
-	 */
-	List getStructuredDocumentRegionHandlers();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/TagMarker.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/TagMarker.java
deleted file mode 100644
index f5dca4f..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/parser/TagMarker.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.parser;
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-public class TagMarker {
-
-	// a ITextRegion (meant to be updated with the model) marking the position
-	// where this tagname becomes effective
-	protected ITextRegion fMarker = null;
-
-	// the tagname
-	protected String fTagName = null;
-
-	/**
-	 *  
-	 */
-	public TagMarker() {
-		super();
-	}
-
-	public TagMarker(String tagname) {
-		super();
-		setTagName(tagname);
-	}
-
-	public TagMarker(String tagname, ITextRegion marker) {
-		super();
-		setTagName(tagname);
-		setMarker(marker);
-	}
-
-	/**
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	public final ITextRegion getMarker() {
-		return fMarker;
-	}
-
-	/**
-	 * @return java.lang.String
-	 */
-	public final String getTagName() {
-		return fTagName;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isGlobal() {
-		return fMarker == null;
-	}
-
-	/**
-	 * @param newMarker
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	public final void setMarker(ITextRegion newMarker) {
-		fMarker = newMarker;
-	}
-
-	/**
-	 * @param newTagname
-	 *            java.lang.String
-	 */
-	public final void setTagName(String newTagName) {
-		fTagName = newTagName;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/participants/AbstractBuilderParticipant.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/participants/AbstractBuilderParticipant.java
deleted file mode 100644
index e6c68ed..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/participants/AbstractBuilderParticipant.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.participants;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.sse.core.builder.IBuilderModelProvider;
-import org.eclipse.wst.sse.core.builder.IBuilderParticipant;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-
-/**
- * Publically usable implementor of IBuilderParticipant. Includes pre- and
- * post-build hooks and iteration through the Structured Document
- */
-
-public class AbstractBuilderParticipant implements IBuilderParticipant {
-
-	private IFile fCurrentFile;
-	private IBuilderModelProvider fModelProvider;
-
-	public AbstractBuilderParticipant() {
-		super();
-	}
-
-	protected boolean build(IFile file, IProject project, IBuilderModelProvider provider, IProgressMonitor monitor) {
-		preBuild(file, provider, monitor);
-		if (getCurrentFile().isAccessible() && !monitor.isCanceled()) {
-			IStructuredDocument document = provider.getDocument(getCurrentFile());
-			if (document != null) {
-				IStructuredDocumentRegion region = document.getFirstStructuredDocumentRegion();
-				while (region != null && !monitor.isCanceled()) {
-					build(region);
-					region = region.getNext();
-				}
-			}
-		}
-		postBuild(file, provider, monitor);
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderParticipant#build(org.eclipse.core.resources.IResource[],
-	 *      org.eclipse.core.resources.IProject,
-	 *      org.eclipse.wst.sse.core.builder.IBuilderModelProvider,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean build(IResource[] resources, IProject project, IBuilderModelProvider provider, IProgressMonitor monitor) {
-		for (int i = 0; i < resources.length; i++) {
-			if (!monitor.isCanceled()) {
-				build((IFile) resources[i], project, provider, monitor);
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderParticipant#build(org.eclipse.core.resources.IResourceDelta,
-	 *      org.eclipse.core.resources.IProject,
-	 *      org.eclipse.wst.sse.core.builder.IBuilderModelProvider,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean build(IResourceDelta delta, IProject project, IBuilderModelProvider provider, IProgressMonitor monitor) {
-		return build((IFile) delta.getResource(), project, provider, monitor);
-	}
-
-	protected void build(IStructuredDocumentRegion region) {
-		doBuildFor(region);
-		ITextRegionList list = region.getRegions();
-		for (int i = 0; i < list.size(); i++) {
-			doBuildFor(region, list.get(i));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderParticipant#cleanup(org.eclipse.core.resources.IResource[],
-	 *      org.eclipse.core.resources.IProject,
-	 *      org.eclipse.wst.sse.core.builder.IBuilderModelProvider,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean cleanup(IResource[] resources, IProject project, IBuilderModelProvider provider, IProgressMonitor monitor) {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderParticipant#cleanup(org.eclipse.core.resources.IResourceDelta,
-	 *      org.eclipse.core.resources.IProject,
-	 *      org.eclipse.wst.sse.core.builder.IBuilderModelProvider,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean cleanup(IResourceDelta delta, IProject project, IBuilderModelProvider provider, IProgressMonitor monitor) {
-		return false;
-	}
-
-	protected void doBuildFor(IStructuredDocumentRegion region) {
-	}
-
-	protected void doBuildFor(IStructuredDocumentRegion region, ITextRegion textRegion) {
-	}
-
-	/**
-	 * @return Returns the currentFile.
-	 */
-	public IFile getCurrentFile() {
-		return fCurrentFile;
-	}
-
-	/**
-	 * @return Returns the modelProvider.
-	 */
-	public IBuilderModelProvider getModelProvider() {
-		return fModelProvider;
-	}
-
-	protected void postBuild(IFile file, IBuilderModelProvider provider, IProgressMonitor monitor) {
-		setCurrentFile(null);
-		setModelProvider(null);
-	}
-
-	protected void preBuild(IFile file, IBuilderModelProvider provider, IProgressMonitor monitor) {
-		setCurrentFile(file);
-		setModelProvider(provider);
-	}
-
-	/**
-	 * @param currentFile
-	 *            The currentFile to set.
-	 */
-	protected void setCurrentFile(IFile currentFile) {
-		fCurrentFile = currentFile;
-	}
-
-	/**
-	 * @param modelProvider
-	 *            The modelProvider to set.
-	 */
-	protected void setModelProvider(IBuilderModelProvider modelProvider) {
-		fModelProvider = modelProvider;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderParticipant#shutdown(org.eclipse.core.resources.IProject)
-	 */
-	public void shutdown(IProject project) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderParticipant#startup(org.eclipse.core.resources.IProject,
-	 *      int, java.util.Map)
-	 */
-	public void startup(IProject project, int kind, Map args) {
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/participants/TaskTagSeeker.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/participants/TaskTagSeeker.java
deleted file mode 100644
index 2b2fe5d..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/participants/TaskTagSeeker.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.participants;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.nio.charset.CharacterCodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.sse.core.builder.IBuilderDelegate;
-import org.eclipse.wst.sse.core.document.DocumentReader;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.internal.Logger;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.internal.modelhandler.ModelHandlerRegistry;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionParser;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-
-
-/**
- * A participant to create IMarker.TASKs for "todos" and similiar comments.
- * Clients should not subclass.
- */
-public abstract class TaskTagSeeker implements IBuilderDelegate {
-
-	public static class TaskTag {
-		public int priority;
-		public String text;
-
-		public TaskTag(String taskText, int taskPriority) {
-			this.text = taskText;
-			this.priority = taskPriority;
-		}
-	}
-
-	private static final boolean _debug = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/builder/participant/tasktag")); //$NON-NLS-1$ //$NON-NLS-2$
-	protected static final boolean _debugBuilderPerf = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/builder/time")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	public static String getTaskMarkerType() {
-		return SSECorePlugin.ID + ".task"; //$NON-NLS-1$
-	}
-
-	// TODO: implement per-project enablement according to
-	// http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-core-home/documents/user_settings/faq.html
-	boolean fEnabled = true;
-
-	// the list of attributes for the new tasks for the current file
-	protected List fNewMarkerAttributes = null;
-
-	private TaskTag[] fTaskTags = null;
-	List oldMarkers = null;
-	private long time0;
-
-	public TaskTagSeeker() {
-		super();
-		fNewMarkerAttributes = new ArrayList();
-		if (_debug) {
-			System.out.println(getClass().getName() + " instance created"); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderDelegate#build(org.eclipse.core.resources.IFile,
-	 *      int, java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus build(IFile file, int kind, Map args, IProgressMonitor monitor) {
-		if (monitor.isCanceled() || !isShouldBuild(file)) {
-			return Status.OK_STATUS;
-		}
-		if (_debugBuilderPerf) {
-			time0 = System.currentTimeMillis();
-		}
-		if (fTaskTags.length > 0) {
-			try {
-				// Delete old Task markers
-				file.deleteMarkers(getMarkerType(), true, IResource.DEPTH_ZERO);
-			} catch (CoreException e) {
-				Logger.logException("exception deleting old tasks", e); //$NON-NLS-1$ 
-			}
-			// on a clean build, don't add new Tasks
-			if (kind != IncrementalProjectBuilder.CLEAN_BUILD && fEnabled) {
-				findTasks(file, monitor);
-				createNewMarkers(file, monitor);
-			}
-		}
-		if (_debugBuilderPerf) {
-			System.out.println("" + (System.currentTimeMillis() - time0) + "ms for " + file.getLocation()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Returns the attributes with which a newly created marker will be
-	 * initialized. Modified from the method in MarkerRulerAction
-	 * 
-	 * @return the initial marker attributes
-	 */
-	protected Map createInitialMarkerAttributes(String text, int documentLine, int startOffset, int length, int priority) {
-		Map attributes = new HashMap(6);
-		// marker line numbers are 1-based
-		attributes.put(IMarker.LINE_NUMBER, new Integer(documentLine + 1));
-		attributes.put(IMarker.CHAR_START, new Integer(startOffset));
-		attributes.put(IMarker.CHAR_END, new Integer(startOffset + length));
-		attributes.put(IMarker.MESSAGE, text);
-		attributes.put(IMarker.USER_EDITABLE, Boolean.FALSE);
-
-		switch (priority) {
-			case IMarker.PRIORITY_HIGH : {
-				attributes.put(IMarker.PRIORITY, new Integer(IMarker.PRIORITY_HIGH));
-			}
-				break;
-			case IMarker.PRIORITY_LOW : {
-				attributes.put(IMarker.PRIORITY, new Integer(IMarker.PRIORITY_LOW));
-			}
-				break;
-			default : {
-				attributes.put(IMarker.PRIORITY, new Integer(IMarker.PRIORITY_NORMAL));
-			}
-		}
-
-		return attributes;
-	}
-
-	protected void createNewMarkers(IFile file, IProgressMonitor monitor) {
-		final IFile finalFile = file;
-		if (file.isAccessible() && fNewMarkerAttributes.size() > 0) {
-			if (_debug) {
-				System.out.println("" + fNewMarkerAttributes.size() + " tasks for " + file.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			try {
-				IWorkspaceRunnable r = new IWorkspaceRunnable() {
-					public void run(IProgressMonitor progressMonitor) throws CoreException {
-						for (int i = 0; i < fNewMarkerAttributes.size(); i++) {
-							IMarker marker = finalFile.createMarker(getMarkerType());
-							marker.setAttributes((Map) fNewMarkerAttributes.get(i));
-						}
-					}
-				};
-				finalFile.getWorkspace().run(r, null, IWorkspace.AVOID_UPDATE, monitor);
-				fNewMarkerAttributes.clear();
-			} catch (CoreException e1) {
-				Logger.logException(e1);
-			}
-		}
-	}
-
-	private String detectCharset(IFile file) {
-		if (file.getType() == IResource.FILE && file.isAccessible()) {
-			IContentDescription d = null;
-			try {
-				// optimized description lookup, might not succeed
-				d = file.getContentDescription();
-				if (d != null)
-					return d.getCharset();
-			} catch (CoreException e) {
-				// should not be possible given the accessible and file type
-				// check above
-			}
-			InputStream contents = null;
-			try {
-				contents = file.getContents();
-				IContentDescription description = Platform.getContentTypeManager().getDescriptionFor(contents, file.getName(), new QualifiedName[]{IContentDescription.CHARSET});
-				if (description != null) {
-					return description.getCharset();
-				}
-			} catch (IOException e) {
-				// will try to cleanup in finally
-			} catch (CoreException e) {
-				Logger.logException(e);
-			} finally {
-				if (contents != null) {
-					try {
-						contents.close();
-					} catch (Exception e) {
-						// not sure how to recover at this point
-					}
-				}
-			}
-		}
-		return ResourcesPlugin.getEncoding();
-	}
-
-	/**
-	 * @param document
-	 * @param documentRegion
-	 * @param comment
-	 */
-	protected void findTasks(IDocument document, IStructuredDocumentRegion documentRegion, ITextRegion comment) {
-		if (isCommentRegion(documentRegion, comment)) {
-			int startOffset = documentRegion.getStartOffset(comment);
-			int endOffset = documentRegion.getTextEndOffset(comment);
-			try {
-				int startLine = document.getLineOfOffset(startOffset);
-				int endLine = document.getLineOfOffset(endOffset);
-				for (int lineNumber = startLine; lineNumber <= endLine; lineNumber++) {
-					IRegion line = document.getLineInformation(lineNumber);
-					int begin = Math.max(startOffset, line.getOffset());
-					int end = Math.min(endOffset, line.getOffset() + line.getLength());
-					int length = end - begin;
-
-					// TODO: improve our search algorithm; use search or
-					// regionMatch?
-
-					String commentedText = getCommentedText(document, begin, length);
-
-					for (int i = 0; i < fTaskTags.length; i++) {
-						int tagIndex = commentedText.indexOf(fTaskTags[i].text);
-						if (tagIndex >= 0) {
-							String markerDescription = commentedText.substring(tagIndex);
-							int markerOffset = begin + tagIndex;
-							int markerLength = end - markerOffset;
-							fNewMarkerAttributes.add(createInitialMarkerAttributes(markerDescription, lineNumber, markerOffset, markerLength, fTaskTags[i].priority));
-							break;
-						}
-					}
-				}
-			} catch (BadLocationException e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-	private void findTasks(IFile file, IProgressMonitor monitor) {
-		try {
-			IModelHandler handler = ModelHandlerRegistry.getInstance().getHandlerFor(file);
-
-			// records if the optimized streamish parse was possible
-			boolean didStreamParse = false;
-			final IProgressMonitor progressMonitor = monitor;
-			final IEncodedDocument defaultDocument = handler.getDocumentLoader().createNewStructuredDocument();
-			if (defaultDocument instanceof IStructuredDocument) {
-				RegionParser parser = ((IStructuredDocument) defaultDocument).getParser();
-				if (parser instanceof StructuredDocumentRegionParser) {
-					didStreamParse = true;
-					String charset = detectCharset(file);
-					StructuredDocumentRegionParser documentParser = (StructuredDocumentRegionParser) parser;
-					final IDocument textDocument = new Document();
-					setDocumentContent(textDocument, file.getContents(true), charset);
-					documentParser.reset(new DocumentReader(textDocument));
-					documentParser.addStructuredDocumentRegionHandler(new StructuredDocumentRegionHandler() {
-						/**
-						 * @see org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandler#nodeParsed(org.eclipse.wst.sse.core.text.IStructuredDocumentRegion)
-						 */
-						public void nodeParsed(IStructuredDocumentRegion documentRegion) {
-							ITextRegionList regions = documentRegion.getRegions();
-							for (int j = 0; j < regions.size(); j++) {
-								ITextRegion comment = regions.get(j);
-								findTasks(textDocument, documentRegion, comment);
-							}
-							// disconnect the document regions
-							if (documentRegion.getPrevious() != null) {
-								documentRegion.getPrevious().setPrevious(null);
-								documentRegion.getPrevious().setNext(null);
-							}
-							if (progressMonitor.isCanceled()) {
-								textDocument.set(""); //$NON-NLS-1$
-							}
-						}
-
-						/**
-						 * @see org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandler#resetNodes()
-						 */
-						public void resetNodes() {
-						}
-					});
-					documentParser.getDocumentRegions();
-				}
-			}
-			if (!didStreamParse) {
-				// Use a StructuredDocument
-				IEncodedDocument document = handler.getDocumentLoader().createNewStructuredDocument(file);
-				if (document instanceof IStructuredDocument) {
-					IStructuredDocumentRegion documentRegion = ((IStructuredDocument) document).getFirstStructuredDocumentRegion();
-					while (documentRegion != null) {
-						ITextRegionList regions = documentRegion.getRegions();
-						for (int j = 0; j < regions.size(); j++) {
-							ITextRegion comment = regions.get(j);
-							findTasks(document, documentRegion, comment);
-						}
-						documentRegion = documentRegion.getNext();
-					}
-				}
-			}
-		} catch (CoreException e) {
-			Logger.logException("Exception with " + file.getFullPath().toString(), e);
-		} catch (CharacterCodingException e) {
-			Logger.log(Logger.INFO, "TaskTagSeeker encountered CharacterCodingException reading " + file.getFullPath().toOSString());
-		} catch (IOException e) {
-			Logger.logException(e);
-		}
-	}
-
-
-	/**
-	 * @param document
-	 * @param begin
-	 * @param length
-	 * @return
-	 * @throws BadLocationException
-	 */
-	protected String getCommentedText(IDocument document, int begin, int length) throws BadLocationException {
-		return document.get(begin, length);
-	}
-
-	final protected String getMarkerType() {
-		return SSECorePlugin.ID + ".task"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @param region2
-	 * @return
-	 */
-	protected abstract boolean isCommentRegion(IStructuredDocumentRegion region, ITextRegion textRegion);
-
-	boolean isShouldBuild(IResource r) {
-		// skip "dot" files
-		String s = r.getName();
-		return s.length() == 0 || s.charAt(0) != '.';
-	}
-
-	private void loadPreference() {
-		if (_debug) {
-			System.out.println(this + " loadPreference()"); //$NON-NLS-1$
-		}
-		fEnabled = SSECorePlugin.getDefault().getPluginPreferences().getBoolean(CommonModelPreferenceNames.TASK_TAG_ENABLE);
-		String tagsString = SSECorePlugin.getDefault().getPluginPreferences().getString(CommonModelPreferenceNames.TASK_TAG_TAGS);
-		String prioritiesString = SSECorePlugin.getDefault().getPluginPreferences().getString(CommonModelPreferenceNames.TASK_TAG_PRIORITIES);
-
-		List list = new ArrayList();
-		StringTokenizer toker = null;
-		if (tagsString.length() > 0) {
-			toker = new StringTokenizer(tagsString, ","); //$NON-NLS-1$
-			while (toker.hasMoreTokens()) {
-				// since we're separating the values with ',', escape ',' in
-				// the
-				// values
-				list.add(StringUtils.replace(toker.nextToken(), "&comma;", ",").trim()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		String[] tags = (String[]) list.toArray(new String[0]);
-		list.clear();
-
-		if (prioritiesString.length() > 0) {
-			toker = new StringTokenizer(prioritiesString, ","); //$NON-NLS-1$
-			int i = 0;
-			while (toker.hasMoreTokens() && i < tags.length) {
-				Integer number = null;
-				try {
-					number = Integer.valueOf(toker.nextToken().trim());
-				} catch (NumberFormatException e) {
-					number = new Integer(IMarker.PRIORITY_NORMAL);
-				}
-				if (i < tags.length) {
-					list.add(new TaskTag(tags[i++], number.intValue()));
-				}
-			}
-		}
-		fTaskTags = (TaskTag[]) list.toArray(new TaskTag[0]);
-	}
-
-	/**
-	 * Sets the document content from this stream, closing the stream when
-	 * done
-	 * 
-	 * @param document
-	 * @param contentStream
-	 * @param charset
-	 */
-	protected void setDocumentContent(IDocument document, InputStream contentStream, String charset) {
-		Reader in = null;
-		try {
-			in = new BufferedReader(new InputStreamReader(contentStream, charset), 2048);
-			StringBuffer buffer = new StringBuffer(2048);
-			char[] readBuffer = new char[2048];
-			int n = in.read(readBuffer);
-			while (n > 0) {
-				buffer.append(readBuffer, 0, n);
-				n = in.read(readBuffer);
-			}
-			document.set(buffer.toString());
-		} catch (IOException x) {
-		} finally {
-			if (in != null) {
-				try {
-					in.close();
-				} catch (IOException x) {
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderParticipant#shutdown(org.eclipse.core.resources.IProject)
-	 */
-	public void shutdown(IProject project) {
-		if (_debug) {
-			System.out.println(this + " shutdown for " + project.getName()); //$NON-NLS-1$
-		}
-		fTaskTags = null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.builder.IBuilderParticipant#startup(org.eclipse.core.resources.IProject,
-	 *      int, java.util.Map)
-	 */
-	public void startup(IProject project, int kind, Map args) {
-		if (_debug) {
-			System.out.println(this + " startup for " + project.getName()); //$NON-NLS-1$
-		}
-		if (_debugBuilderPerf) {
-			time0 = System.currentTimeMillis();
-		}
-		loadPreference();
-		if (_debugBuilderPerf) {
-			System.out.println("" + (System.currentTimeMillis() - time0) + "ms loading prefs for " + project.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/preferences/CommonModelPreferenceNames.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/preferences/CommonModelPreferenceNames.java
deleted file mode 100644
index 13f15f3..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/preferences/CommonModelPreferenceNames.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.preferences;
-
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-
-/**
- * Here is a description of how each common model file preference is used.
- * 
- * tabWidth The number of spaces representing a tab. This number is also used
- * as number of spaces to indent during formatting when indentUsingTabs is
- * false.
- * 
- * splitLines Indicates if long lines should be splitted.
- * 
- * splitLinesUsingEditorsWidth Indicates if long lines should be splitted
- * using the editor's current width. The editor's current width will be used
- * when splitting long lines if splitLinesUsingEditorWidth is true. lineWidth
- * will be used when splitting long lines if splitLinesUsingEditorWidth is
- * false.
- * 
- * lineWidth The maximum width of a line before a line split is needed. This
- * number is only used when lineSplitting is true, otherwise it's ignored.
- * 
- * splitMultiAttrs Indicates if tags with multiple attributes should be
- * formatted (splitting each attr on a new line).
- * 
- * indentUsingTabs Indicates if tabs should be used for indentation during
- * formatting. The same number of spaces specified by tabWidth will be used
- * for indentation if indentUsingTabs is false.
- * 
- * clearAllBlankLines Indicates if all blanks lines should be cleared during
- * formatting. Blanks lines will be kept when clearAllBlankLines is false.
- * 
- * formattingSupported Indicates if the current content type supports
- * formatting. The splitLines, splitLinesUsingEditorsWidth, lineWidth,
- * splitMultiAttrs, and indentUsingTabs preferences will be meaningless if
- * formattingSupported is false.
- * 
- * contentAssistSupported Indicates if the current content type supports
- * content assist. The autoPropose, and autoProposeCode preferences will be
- * meaningless if contentAssistSupported is false.
- * 
- * preferredMarkupCaseSupported Indicates if the current content type supports
- * "preferred markup case for content assist, and code generation". The
- * tagNameCase, and attrNameCase preferences will be meaningless if
- * preferredMarkupCaseSupported is false.
- *  
- */
-public interface CommonModelPreferenceNames {
-	String TAB_WIDTH = "tabWidth";//$NON-NLS-1$
-	String LINE_WIDTH = "lineWidth";//$NON-NLS-1$
-	String SPLIT_MULTI_ATTRS = "splitMultiAttrs";//$NON-NLS-1$
-	String INDENT_USING_TABS = "indentUsingTabs";//$NON-NLS-1$
-	String CLEAR_ALL_BLANK_LINES = "clearAllBlankLines";//$NON-NLS-1$
-
-	String TAG_NAME_CASE = "tagNameCase";//$NON-NLS-1$
-	String ATTR_NAME_CASE = "attrNameCase";//$NON-NLS-1$
-
-	String FORMATTING_SUPPORTED = "formattingSupported";//$NON-NLS-1$
-
-	String PREFERRED_MARKUP_CASE_SUPPORTED = "preferredMarkupCaseSupported";//$NON-NLS-1$
-
-	String TASK_TAG_TAGS = "task-tag-tags"; //$NON-NLS-1$
-	String TASK_TAG_PRIORITIES = "task-tag-priorities"; //$NON-NLS-1$
-	String TASK_TAG_ENABLE = "task-tags"; //$NON-NLS-1$
-
-	/*
-	 * @deprecated - use from CommonEncodingPreferenceNames
-	 */
-	String OUTPUT_CODESET = CommonEncodingPreferenceNames.OUTPUT_CODESET;
-
-	/**
-	 * these are preferences that should be inherited from the "embedded
-	 * preference store" for example: if you ask for th OVERVIEW_RULER
-	 * preference for JSP, you will automatically get the preference from the
-	 * HTML preference store.
-	 */
-	String EMBEDDED_CONTENT_TYPE_PREFERENCES[] = {TAB_WIDTH, LINE_WIDTH, SPLIT_MULTI_ATTRS, INDENT_USING_TABS, CLEAR_ALL_BLANK_LINES, TAG_NAME_CASE, ATTR_NAME_CASE,};
-
-	String FORMATTING_PREFERENCES[] = {TAB_WIDTH, LINE_WIDTH, SPLIT_MULTI_ATTRS, INDENT_USING_TABS, CLEAR_ALL_BLANK_LINES,};
-
-	String AUTO = "Auto";//$NON-NLS-1$
-	String UTF_8 = "UTF-8";//$NON-NLS-1$
-	String ISO_8859_1 = "ISO-8859-1";//$NON-NLS-1$
-
-	int ASIS = 0;
-	int LOWER = 1;
-	int UPPER = 2;
-
-	// cleanup preference names
-	String CLEANUP_TAG_NAME_CASE = "cleanupTagNameCase";//$NON-NLS-1$
-	String CLEANUP_ATTR_NAME_CASE = "cleanupAttrNameCase";//$NON-NLS-1$
-	String COMPRESS_EMPTY_ELEMENT_TAGS = "compressEmptyElementTags";//$NON-NLS-1$
-	String INSERT_REQUIRED_ATTRS = "insertRequiredAttrs";//$NON-NLS-1$
-	String INSERT_MISSING_TAGS = "insertMissingTags";//$NON-NLS-1$
-	String QUOTE_ATTR_VALUES = "quoteAttrValues";//$NON-NLS-1$
-	String FORMAT_SOURCE = "formatSource";//$NON-NLS-1$
-	String CONVERT_EOL_CODES = "convertEOLCodes";//$NON-NLS-1$
-	String CLEANUP_EOL_CODE = "cleanupEOLCode";//$NON-NLS-1$
-
-	String LAST_ACTIVE_PAGE = "lastActivePage";//$NON-NLS-1$	
-
-	// need to put default tab width preference here so it is accessible by
-	// both model and editor
-	// this way, editor does not need to query model's default tab width
-	// preference
-	int DEFAULT_TAB_WIDTH = 4;
-	/**
-	 * @deprecated use CommonEncodingPreferenceNames.END_OF_LINE_CODE instead
-	 *             TODO remove
-	 */
-	String END_OF_LINE_CODE = CommonEncodingPreferenceNames.END_OF_LINE_CODE;
-	/**
-	 * @deprecated use CommonEncodingPreferenceNames.NO_TRANSLATION instead
-	 *             TODO remove
-	 */
-	String NO_TRANSLATION = CommonEncodingPreferenceNames.NO_TRANSLATION;
-	/**
-	 * @deprecated use CommonEncodingPreferenceNames.INPUT_CODESET instead
-	 *             TODO remove
-	 */
-	String INPUT_CODESET = CommonEncodingPreferenceNames.INPUT_CODESET;
-	/**
-	 * @deprecated use CommonEncodingPreferenceNames.STRING_CRLF instead TODO
-	 *             remove
-	 */
-	String STRING_CRLF = CommonEncodingPreferenceNames.STRING_CRLF;
-	/**
-	 * @deprecated use CommonEncodingPreferenceNames.STRING_CR instead TODO
-	 *             remove
-	 */
-	String STRING_CR = CommonEncodingPreferenceNames.STRING_CR;
-	/**
-	 * @deprecated use CommonEncodingPreferenceNames.STRING_LF instead TODO
-	 *             remove
-	 */
-	String STRING_LF = CommonEncodingPreferenceNames.STRING_LF;
-	/**
-	 * @deprecated use CommonEncodingPreferenceNames.CRLF instead TODO remove
-	 */
-	String CRLF = CommonEncodingPreferenceNames.CRLF;
-	/**
-	 * @deprecated use CommonEncodingPreferenceNames.LF instead TODO remove
-	 */
-	String LF = CommonEncodingPreferenceNames.LF;
-	/**
-	 * @deprecated use CommonEncodingPreferenceNames.CR instead TODO remove
-	 */
-	String CR = CommonEncodingPreferenceNames.CR;
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/preferences/PreferenceChangeListener.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/preferences/PreferenceChangeListener.java
deleted file mode 100644
index e571116..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/preferences/PreferenceChangeListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.preferences;
-
-/**
- * @deprecated This used to be used by our own PreferenceManager but since
- *             that class is no longer needed, this class should also no
- *             longer be needed. Use the base's IPreferenceChangeListener or
- *             IPropertyChangeListener instead.
- */
-public interface PreferenceChangeListener {
-
-	void preferencesChanged();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/DeleteEqualPositionUpdater.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/DeleteEqualPositionUpdater.java
deleted file mode 100644
index b5b9d72..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/DeleteEqualPositionUpdater.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DefaultPositionUpdater;
-
-/**
- * Follows the behavior of DefaultPositionUpdater except in addition to
- * deleting/overwriting text which completely contains the position deletes
- * the position, deleting text that equals the text in position also deletes
- * the position.
- * 
- * @see org.eclipse.jface.text.DefaultPositionUpdater
- */
-public class DeleteEqualPositionUpdater extends DefaultPositionUpdater {
-
-	/**
-	 * @param category
-	 */
-	public DeleteEqualPositionUpdater(String category) {
-		super(category);
-	}
-
-	/**
-	 * Determines whether the currently investigated position has been deleted
-	 * by the replace operation specified in the current event. If so, it
-	 * deletes the position and removes it from the document's position
-	 * category.
-	 * 
-	 * NOTE: position is deleted if current event completely overwrites
-	 * position OR if current event deletes the area surrounding/including the
-	 * position
-	 * 
-	 * @return <code>true</code> if position has been deleted
-	 */
-	protected boolean notDeleted() {
-		// position is deleted if current event completely overwrites position
-		// OR if
-		// current event deletes the area surrounding/including the position
-		if ((fOffset < fPosition.offset && (fPosition.offset + fPosition.length < fOffset + fLength)) || (fOffset <= fPosition.offset && (fPosition.offset + fPosition.length <= fOffset + fLength) && fReplaceLength == 0)) {
-
-			fPosition.delete();
-
-			try {
-				fDocument.removePosition(getCategory(), fPosition);
-			} catch (BadPositionCategoryException x) {
-			}
-
-			return false;
-		}
-
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredDocument.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredDocument.java
deleted file mode 100644
index 7e2cb01..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredDocument.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.text.IDocumentExtension;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.events.IModelAboutToBeChangedListener;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewModelEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-
-
-/**
- * A IStructuredDocument is a collection of StructuredDocumentRegions. It's
- * often called "flat" because its contents by design do not contain much
- * structural information beyond containment. Clients should not implement.
- */
-public interface IStructuredDocument extends IEncodedDocument, IDocumentExtension, IAdaptable {
-
-	String DEFAULT_STRUCTURED_PARTITIONING = "org.eclipse.wst.sse.core.default_structured_text_partitioning";
-
-	void addDocumentAboutToChangeListener(IModelAboutToBeChangedListener listener);
-
-	/**
-	 * The StructuredDocumentListeners and ModelChangedListeners are very
-	 * similar. They both receive identical events. The difference is the
-	 * timing. The "pure" StructuredDocumentListeners are notified after the
-	 * structuredDocument has been changed, but before other, related models
-	 * may have been changed such as the Structural Model. The Structural
-	 * model is in fact itself a "pure" StructuredDocumentListner. The
-	 * ModelChangedListeners can rest assured that all models and data have
-	 * been updated from the change by the tiem they are notified. This is
-	 * especially important for the text widget, for example, which may rely
-	 * on both structuredDocument and structural model information.
-	 */
-	void addDocumentChangedListener(IStructuredDocumentListener listener);
-
-	/**
-	 * The StructuredDocumentListeners and ModelChangedListeners are very
-	 * similar. They both receive identical events. The difference is the
-	 * timing. The "pure" StructuredDocumentListeners are notified after the
-	 * structuredDocument has been changed, but before other, related models
-	 * may have been changed such as the Structural Model. The Structural
-	 * model is in fact itself a "pure" StructuredDocumentListner. The
-	 * ModelChangedListeners can rest assured that all models and data have
-	 * been updated from the change by the tiem they are notified. This is
-	 * especially important for the text widget, for example, which may rely
-	 * on both structuredDocument and structural model information.
-	 */
-	void addDocumentChangingListener(IStructuredDocumentListener listener);
-
-	/**
-	 * this API ensures that any portion of the document within startOff to
-	 * length is not readonly (that is, that its editable). Note that if the
-	 * range overlaps with other readonly regions, those other readonly
-	 * regions will be adjusted.
-	 * 
-	 * @param startOffset
-	 * @param length
-	 */
-	void clearReadOnly(int startOffset, int length);
-
-	/**
-	 * returns true if any portion of startOffset to length is readonly
-	 * 
-	 * @param startOffset
-	 * @param length
-	 * @return
-	 */
-	boolean containsReadOnly(int startOffset, int length);
-
-	/**
-	 * This method is to remember info about the encoding When the resource
-	 * was last loaded or saved. Note: it is not kept "current", that is, can
-	 * not be depended on blindly to reflect what encoding to use. For that,
-	 * must go through the normal rules expressed in Loaders and Dumpers.
-	 */
-
-	EncodingMemento getEncodingMemento();
-
-	org.eclipse.wst.sse.core.text.IStructuredDocumentRegion getFirstStructuredDocumentRegion();
-
-	org.eclipse.wst.sse.core.text.IStructuredDocumentRegion getLastStructuredDocumentRegion();
-
-	/**
-	 * This can be considered the preferred delimiter.
-	 */
-	public String getLineDelimiter();
-
-	int getLineOfOffset(int offset); // throws SourceEditingException;
-
-	/**
-	 * The parser is now required on constructor, so there are occasions it
-	 * needs to be retrieved, such as to be initialized by EmbeddedContentType
-	 */
-	RegionParser getParser();
-
-	IStructuredDocumentRegion getRegionAtCharacterOffset(int offset);
-
-	IStructuredDocumentRegionList getRegionList();
-
-
-	/**
-	 * Note: this method was made public, and part of the interface, for
-	 * easier testing. Clients normally never manipulate the reparser directly
-	 * (nor should they need to).
-	 */
-	IStructuredTextReParser getReParser();
-
-	String getText();
-
-	IStructuredTextUndoManager getUndoManager();
-
-	/**
-	 * causes that portion of the document from startOffset to length to be
-	 * marked as readonly. Note that if this range overlaps with some other
-	 * region with is readonly, the regions are effectivly combined.
-	 * 
-	 * @param startOffset
-	 * @param length
-	 */
-	void makeReadOnly(int startOffset, int length);
-
-	/**
-	 * newInstance is similar to clone, except it contains no data. One
-	 * important thing to duplicate is the parser, with the parser correctly
-	 * "cloned", including its tokeninzer, block tags, etc.
-	 * 
-	 * NOTE: even after obtaining a 'newInstance' the client may have to do
-	 * some initialization, for example, it may need to add its own model
-	 * listeners. Or, as another example, if the IStructuredDocument has a
-	 * parser of type StructuredDocumentRegionParser, then the client may need
-	 * to add its own StructuredDocumentRegionHandler to that parser, if it is
-	 * in fact needed.
-	 */
-	IStructuredDocument newInstance();
-
-	void removeDocumentAboutToChangeListener(IModelAboutToBeChangedListener listener);
-
-	void removeDocumentChangedListener(IStructuredDocumentListener listener);
-
-	void removeDocumentChangingListener(IStructuredDocumentListener listener);
-
-	/**
-	 * One of the APIs to manipulate the IStructuredDocument.
-	 * 
-	 * replaceText replaces the text from oldStart to oldEnd with the new text
-	 * found in the requestedChange string. If oldStart and oldEnd are equal,
-	 * it is an insertion request. If requestedChange is null (or empty) it is
-	 * a delete request. Otherwise it is a replace request.
-	 */
-	StructuredDocumentEvent replaceText(Object source, int oldStart, int replacementLength, String requestedChange);
-
-	/**
-	 * Note, same as replaceText API, but will allow readonly areas to be
-	 * replaced. This should seldom be called with a value of "true" for
-	 * ignoreReadOnlySetting. One case where its ok is with undo operations
-	 * (since, presumably, if user just did something that happended to
-	 * involve some inserting readonly text, they should normally be allowed
-	 * to still undo that operation. Otherwise, I can't think of a single
-	 * example, unless its to give the user a choice, e.g. "you are about to
-	 * overwrite read only portions, do you want to continue".
-	 */
-	StructuredDocumentEvent replaceText(Object source, int oldStart, int replacementLength, String requestedChange, boolean ignoreReadOnlySetting);
-
-	/**
-	 * This method is to remember info about the encoding When the resource
-	 * was last loaded or saved. Note: it is not kept "current", that is, can
-	 * not be depended on blindly to reflect what encoding to use. For that,
-	 * must go through the normal rules expressed in Loaders and Dumpers.
-	 */
-	void setEncodingMemento(EncodingMemento encodingMemento);
-
-	public void setLineDelimiter(String delimiter);
-
-	/**
-	 * One of the APIs to manipulate the IStructuredDocument in terms of Text.
-	 * 
-	 * The setText method replaces all text in the model.
-	 */
-	NewModelEvent setText(Object requester, String allText);
-
-	void setUndoManager(IStructuredTextUndoManager undoManager);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredDocumentRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredDocumentRegion.java
deleted file mode 100644
index 752f403..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredDocumentRegion.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-
-
-
-/**
- * A ITextRegionCollection is a collection of ITextRegions. It is a structural
- * unit, but a minimal one. For example, in might consist of a "start tag" but
- * not a whole XML node.
- */
-public interface IStructuredDocumentRegion extends ITextRegionCollection {
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void addRegion(ITextRegion aRegion);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void adjustLengthWith(int i);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void adjustStart(int i);
-
-
-
-	IStructuredDocumentRegion getNext();
-
-	IStructuredDocument getParentDocument();
-
-	IStructuredDocumentRegion getPrevious();
-
-	boolean isDeleted();
-
-	boolean isEnded();
-
-	boolean sameAs(IStructuredDocumentRegion region, int shift);
-
-	boolean sameAs(ITextRegion oldRegion, IStructuredDocumentRegion documentRegion, ITextRegion newRegion, int shift);
-
-	void setDeleted(boolean deleted);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void setEnded(boolean hasEnd);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void setLength(int newLength);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void setNext(IStructuredDocumentRegion newNext);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void setParentDocument(IStructuredDocument document);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void setPrevious(IStructuredDocumentRegion newPrevious);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void setStart(int newStart);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion flatnode, String changes, int start, int end);
-
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredDocumentRegionList.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredDocumentRegionList.java
deleted file mode 100644
index 6e906cd..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredDocumentRegionList.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-
-
-import java.util.Enumeration;
-
-/**
- * This is a class used to provide a list of StructuredDocumentRegions, so the
- * implementation of how the list is formed can be hidden (encapsulated by
- * this class).
- */
-public interface IStructuredDocumentRegionList {
-
-	Enumeration elements();
-
-	int getLength();
-
-	IStructuredDocumentRegion item(int i);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredTextPartitioner.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredTextPartitioner.java
deleted file mode 100644
index 17a70a4..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredTextPartitioner.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-
-
-/**
- * A partitioner interface required by the StructuredTextPartitionerForJSP for
- * handling the embedded content type properly. This has not yet been
- * finalized.
- */
-
-public interface IStructuredTextPartitioner extends IDocumentPartitioner {
-	void connect(IDocument document);
-
-	/**
-	 * @deprecated - (dmw) not sure why we needed to make this part of
-	 *             interface ... but probably shouldn't be.
-	 * 
-	 * (nsd) Used by JSP partitioner to ensure that the partitioner of the
-	 * embedded content type gets to create the partition in case the specific
-	 * classes are important.
-	 */
-	StructuredTypedRegion createPartition(int offset, int length, String type);
-
-	void disconnect();
-
-	String getDefault();
-
-	String[] getLegalContentTypes();
-
-	String getPartitionType(ITextRegion region, int offset);
-
-	String getPartitionTypeBetween(IStructuredDocumentRegion previousNode, ITextRegion previousStartTagNameRegion, IStructuredDocumentRegion nextNode, ITextRegion nextEndTagNameRegion);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredTextReParser.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredTextReParser.java
deleted file mode 100644
index acd0c11..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/IStructuredTextReParser.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-
-public interface IStructuredTextReParser {
-
-	void initialize(Object requester, int start, int lengthToReplace, String changes);
-
-	/**
-	 * This method is provided in anticipation of eventual multithreading.
-	 * This is needed since the intialize method sets state variables that
-	 * must be "in sync" with the structuredDocument.
-	 */
-	public boolean isParsing();
-
-	public IStructuredTextReParser newInstance();
-
-	/**
-	 * An entry point for reparsing. It calculates the dirty start and dirty
-	 * end flatnodes based on the start point and length of the changes, which
-	 * are provided by the initialize method.
-	 *  
-	 */
-	public StructuredDocumentEvent reparse();
-
-	public void setStructuredDocument(IStructuredDocument newStructuredDocument);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegion.java
deleted file mode 100644
index 4a61fe9..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegion.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-
-
-
-/**
- * A simple description of a bit of text (technically, a bit of a text buffer)
- * than has a "type" associated with it. For example, for the XML text
- * "&LT;IMG&GT;", the ' <' might form a region of type "open bracket" where as
- * the text "IMG" might form a region of type "tag name".
- * 
- * Note that there are three positions associated with a region, the start,
- * the end, and the end of the text. The end of the region should always be
- * greater than or equal to the end of the text, because the end of the text
- * simply includes any white space that might follow the non-whitespace
- * portion of the region. This whitespace is assumed to be ignorable except
- * for reasons of maintaining it in the original document for formatting,
- * appearance, etc.
- *  
- */
-public interface ITextRegion {
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void adjustLengthWith(int i);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void adjustStart(int i);
-
-	/**
-	 * 
-	 * For use by parsers and reparsers only.
-	 */
-	void adjustTextLength(int i);
-
-	void equatePositions(ITextRegion region);
-
-	int getEnd();
-
-	int getLength();
-
-	int getStart();
-
-	/**
-	 * In some implementations, the "end" of the region (accessible via
-	 * getEnd()) also contains any and all white space that may or may not be
-	 * present after the "token" (read: relevant) part of the region. This
-	 * method, getTextEnd(), is specific for the "token" part of the region,
-	 * without the whitespace.
-	 */
-	int getTextEnd();
-
-	/**
-	 * The text length is equal to length if there is no white space at the
-	 * end of a region. Otherwise it is smaller than length.
-	 */
-	int getTextLength();
-
-	String getType();
-
-	/**
-	 * @deprecated - few implement this in a meaningful way.
-	 */
-	StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegionCollection.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegionCollection.java
deleted file mode 100644
index 5d933ae..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegionCollection.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-public interface ITextRegionCollection extends ITextRegion {
-
-	boolean containsOffset(int i);
-
-	boolean containsOffset(ITextRegion region, int i);
-
-	void equatePositions(ITextRegion region);
-
-	int getEndOffset();
-
-	int getEndOffset(ITextRegion containedRegion);
-
-	ITextRegion getFirstRegion();
-
-	String getFullText();
-
-	String getFullText(ITextRegion containedRegion);
-
-	ITextRegion getLastRegion();
-
-	int getLength();
-
-	int getNumberOfRegions();
-
-	ITextRegion getRegionAtCharacterOffset(int offset);
-
-	ITextRegionList getRegions();
-
-	int getStartOffset();
-
-	int getStartOffset(ITextRegion containedRegion);
-
-	String getText();
-
-	String getText(ITextRegion containedRegion);
-
-	int getTextEndOffset();
-
-	int getTextEndOffset(ITextRegion containedRegion);
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-	void setRegions(ITextRegionList embeddedRegions);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegionContainer.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegionContainer.java
deleted file mode 100644
index f720a45..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegionContainer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-/**
- *  
- */
-public interface ITextRegionContainer extends ITextRegionCollection {
-
-	ITextRegionCollection getParent();
-
-	/**
-	 * For use by parsers and reparsers only.
-	 */
-
-	void setParent(ITextRegionCollection parent);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegionList.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegionList.java
deleted file mode 100644
index d38d3f2..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/ITextRegionList.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-import java.util.Iterator;
-
-
-public interface ITextRegionList {
-	public boolean add(ITextRegion region);
-
-	public boolean addAll(int insertPos, ITextRegionList newRegions);
-
-	public void clear();
-
-	public ITextRegion get(int index);
-
-	public int indexOf(ITextRegion region);
-
-	public boolean isEmpty();
-
-	public Iterator iterator();
-
-	public ITextRegion remove(int index);
-
-	public void remove(ITextRegion region);
-
-	public void removeAll(ITextRegionList regionList);
-
-	public int size();
-
-	public ITextRegion[] toArray();
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/SimpleStructuredRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/SimpleStructuredRegion.java
deleted file mode 100644
index 4ab5c4a..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/SimpleStructuredRegion.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-import org.eclipse.jface.text.IRegion;
-
-
-
-/**
- * Similar to jface region except we wanted a setting on length
- */
-public class SimpleStructuredRegion implements StructuredRegion {
-	/** The region length */
-	private int fLength;
-
-	/** The region offset */
-	private int fOffset;
-
-	/**
-	 * Create a new region.
-	 * 
-	 * @param offset
-	 *            the offset of the region
-	 * @param length
-	 *            the length of the region
-	 */
-	public SimpleStructuredRegion(int offset, int length) {
-		fOffset = offset;
-		fLength = length;
-	}
-
-	/**
-	 * Two regions are equal if they have the same offset and length.
-	 * 
-	 * @see Object#equals
-	 */
-	public boolean equals(Object o) {
-		if (o instanceof IRegion) {
-			IRegion r = (IRegion) o;
-			return r.getOffset() == fOffset && r.getLength() == fLength;
-		}
-		return false;
-	}
-
-	/*
-	 * @see IRegion#getLength
-	 */
-	public int getLength() {
-		return fLength;
-	}
-
-	/*
-	 * @see IRegion#getOffset
-	 */
-	public int getOffset() {
-		return fOffset;
-	}
-
-	/**
-	 * @see Object#hashCode hascode is overridden since we provide our own
-	 *      equals.
-	 */
-	public int hashCode() {
-		return (fOffset << 24) | (fLength << 16);
-	}
-
-	/**
-	 * Sets the length.
-	 * 
-	 * @param length
-	 *            The length to set
-	 */
-	public void setLength(int length) {
-		fLength = length;
-	}
-
-	public void setOffset(int offset) {
-		fOffset = offset;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/SimpleStructuredTypedRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/SimpleStructuredTypedRegion.java
deleted file mode 100644
index f4f1117..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/SimpleStructuredTypedRegion.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-
-
-/**
- * Similar jace TypedRegion, but had to subclass our version which allowed
- * length to be set.
- */
-public class SimpleStructuredTypedRegion extends SimpleStructuredRegion implements StructuredTypedRegion {
-
-	/** The region's type */
-	private String fType;
-
-	/**
-	 * Creates a typed region based on the given specification.
-	 * 
-	 * @param offset
-	 *            the region's offset
-	 * @param length
-	 *            the region's length
-	 * @param type
-	 *            the region's type
-	 */
-	public SimpleStructuredTypedRegion(int offset, int length, String type) {
-		super(offset, length);
-		fType = type;
-	}
-
-	/**
-	 * Two typed positions are equal if they have the same offset, length, and
-	 * type.
-	 * 
-	 * @see Object#equals
-	 */
-	public boolean equals(Object o) {
-		if (o instanceof SimpleStructuredTypedRegion) {
-			SimpleStructuredTypedRegion r = (SimpleStructuredTypedRegion) o;
-			return super.equals(r) && ((fType == null && r.getType() == null) || fType.equals(r.getType()));
-		}
-		return false;
-	}
-
-	/*
-	 * @see ITypedRegion#getType()
-	 */
-	public String getType() {
-		return fType;
-	}
-
-	/*
-	 * @see Object#hashCode
-	 */
-	public int hashCode() {
-		int type = fType == null ? 0 : fType.hashCode();
-		return super.hashCode() | type;
-	}
-
-	public void setType(String type) {
-		fType = type;
-	}
-
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer s = new StringBuffer();
-		s.append(getOffset());
-		s.append(":"); //$NON-NLS-1$
-		s.append(getLength());
-		s.append(" - "); //$NON-NLS-1$
-		s.append(getType());
-		return s.toString();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/StructuredRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/StructuredRegion.java
deleted file mode 100644
index b1face6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/StructuredRegion.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-import org.eclipse.jface.text.IRegion;
-
-/**
- * Like super class except allows length and offset to be modified. This is
- * convenient for some algorithms, and allows region objects to be reused.
- * Note: There MIGHT be some code that assumes regions are immutable. This
- * class would not be appropriate for those uses.
- */
-public interface StructuredRegion extends IRegion {
-	void setLength(int length);
-
-	void setOffset(int offset);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/StructuredTypedRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/StructuredTypedRegion.java
deleted file mode 100644
index e4aee00..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/StructuredTypedRegion.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text;
-
-import org.eclipse.jface.text.ITypedRegion;
-
-/**
- * Similar to extended interface, except it allows the length, offset, and
- * type to be set. This is useful when iterating through a number of "small"
- * regions, that all map to the the same partion regions.
- */
-public interface StructuredTypedRegion extends StructuredRegion, ITypedRegion {
-	void setType(String type);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/rules/StructuredTextPartitioner.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/rules/StructuredTextPartitioner.java
deleted file mode 100644
index 9935668..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/text/rules/StructuredTextPartitioner.java
+++ /dev/null
@@ -1,609 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.text.rules;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.internal.parser.ForeignRegion;
-import org.eclipse.wst.sse.core.parser.IBlockedStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.text.SimpleStructuredTypedRegion;
-import org.eclipse.wst.sse.core.text.StructuredRegion;
-import org.eclipse.wst.sse.core.text.StructuredTypedRegion;
-
-
-/**
- * Base Document partitioner for StructuredDocuments. BLOCK_TEXT ITextRegions
- * have a partition type of BLOCK or BLOCK:TAGNAME if a surrounding tagname
- * was recorded.
- */
-public class StructuredTextPartitioner implements IDocumentPartitioner {
-
-	static class CachedComputedPartitions {
-		int fLength;
-		int fOffset;
-		ITypedRegion[] fPartitions;
-		boolean isInValid;
-
-		CachedComputedPartitions(int offset, int length, ITypedRegion[] partitions) {
-			fOffset = offset;
-			fLength = length;
-			fPartitions = partitions;
-			isInValid = true;
-		}
-	}
-
-	public final static String ST_DEFAULT_PARTITION = "org.eclipse.wst.sse.ST_DEFAULT"; //$NON-NLS-1$
-	public final static String ST_UNKNOWN_PARTITION = "org.eclipse.wst.sse.UNKNOWN_PARTITION_TYPE"; //$NON-NLS-1$
-	private CachedComputedPartitions cachedPartitions = new CachedComputedPartitions(-1, -1, null);
-	protected String[] fSupportedTypes = null;
-	protected StructuredTypedRegion internalReusedTempInstance = new SimpleStructuredTypedRegion(0, 0, ST_DEFAULT_PARTITION);
-	protected IStructuredDocument structuredDocument;
-
-	/**
-	 * StructuredTextPartitioner constructor comment.
-	 */
-	public StructuredTextPartitioner() {
-		super();
-	}
-
-	/**
-	 * Returns the partitioning of the given range of the connected document.
-	 * There must be a document connected to this partitioner.
-	 * 
-	 * Note: this shouldn't be called dirctly by clients, unless they control
-	 * the threading that includes modifications to the document. Otherwise
-	 * the document could be modified while partitions are being computed. We
-	 * advise that clients use the computePartions API directly from the
-	 * document, so they won't have to worry about that.
-	 * 
-	 * @param offset
-	 *            the offset of the range of interest
-	 * @param length
-	 *            the length of the range of interest
-	 * @return the partitioning of the range
-	 */
-	public ITypedRegion[] computePartitioning(int offset, int length) {
-		if (structuredDocument == null) {
-			throw new IllegalStateException("document partitioner is not connected"); //$NON-NLS-1$
-		}
-		ITypedRegion[] results = null;
-
-
-
-		if ((!cachedPartitions.isInValid) && (offset == cachedPartitions.fOffset) && (length == cachedPartitions.fLength)) {
-			results = cachedPartitions.fPartitions;
-		} else {
-
-			if (length == 0) {
-				results = new ITypedRegion[]{getPartition(offset)};
-			} else {
-				List list = new ArrayList();
-				int endPos = offset + length;
-				if (endPos > structuredDocument.getLength()) {
-					// This can occur if the model instance is being
-					// changed
-					// and everyone's not yet up to date
-					return new ITypedRegion[]{createPartition(offset, length, getUnknown())};
-				}
-				int currentPos = offset;
-				StructuredTypedRegion previousPartition = null;
-				while (currentPos < endPos) {
-					internalGetPartition(currentPos, false);
-					currentPos += internalReusedTempInstance.getLength();
-					// check if this partition just continues last one
-					// (type is the same),
-					// if so, just extend length of last one, not need to
-					// create new
-					// instance.
-					if (previousPartition != null && internalReusedTempInstance.getType().equals(previousPartition.getType())) {
-						// same partition type
-						previousPartition.setLength(previousPartition.getLength() + internalReusedTempInstance.getLength());
-					} else {
-						// not the same, so add to list
-						StructuredTypedRegion partition = createNewPartitionInstance();
-						list.add(partition);
-						// and make current, previous
-						previousPartition = partition;
-					}
-				}
-				results = new ITypedRegion[list.size()];
-				list.toArray(results);
-			}
-			if (results.length > 0) {
-				// truncate returned results to requested range
-				if (results[0].getOffset() < offset && results[0] instanceof StructuredRegion) {
-					((StructuredRegion) results[0]).setOffset(offset);
-				}
-				int lastEnd = results[results.length - 1].getOffset() + results[results.length - 1].getLength();
-				if (lastEnd > offset + length && results[results.length - 1] instanceof StructuredRegion) {
-					((StructuredRegion) results[results.length - 1]).setLength(offset + length - results[results.length - 1].getOffset());
-				}
-			}
-			cachedPartitions.fLength = length;
-			cachedPartitions.fOffset = offset;
-			cachedPartitions.fPartitions = results;
-			cachedPartitions.isInValid = false;
-		}
-		return results;
-	}
-
-
-
-	/**
-	 * Connects the document to the partitioner, i.e. indicates the begin of
-	 * the usage of the receiver as partitioner of the given document.
-	 */
-	public synchronized void connect(IDocument document) {
-		if (document instanceof IStructuredDocument) {
-			cachedPartitions.isInValid = true;
-			this.structuredDocument = (IStructuredDocument) document;
-		} else {
-			throw new IllegalArgumentException("This class and API are for Structured Documents only"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Determines if the given ITextRegionContainer itself contains another
-	 * ITextRegionContainer
-	 * 
-	 * @param ITextRegionContainer
-	 * @return boolean
-	 */
-	protected boolean containsEmbeddedRegion(IStructuredDocumentRegion container) {
-		boolean containsEmbeddedRegion = false;
-
-		ITextRegionList regions = container.getRegions();
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion region = regions.get(i);
-			if (region instanceof ITextRegionContainer) {
-				containsEmbeddedRegion = true;
-				break;
-			}
-		}
-		return containsEmbeddedRegion;
-	}
-
-	private StructuredTypedRegion createNewPartitionInstance() {
-		return new SimpleStructuredTypedRegion(internalReusedTempInstance.getOffset(), internalReusedTempInstance.getLength(), internalReusedTempInstance.getType());
-	}
-
-	/**
-	 * Creates the concrete partition from the given values. Returns a new
-	 * instance for each call.
-	 * 
-	 * Subclasses may override.
-	 * 
-	 * @param offset
-	 * @param length
-	 * @param type
-	 * @return ITypedRegion
-	 * 
-	 * TODO: should be protected
-	 */
-	public StructuredTypedRegion createPartition(int offset, int length, String type) {
-		return new SimpleStructuredTypedRegion(offset, length, type);
-	}
-
-	/**
-	 * Disconnects the document from the partitioner, i.e. indicates the end
-	 * of the usage of the receiver as partitioner of the given document.
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
-	 */
-	public synchronized void disconnect() {
-		cachedPartitions.isInValid = true;
-		this.structuredDocument = null;
-	}
-
-	/**
-	 * Informs about a forthcoming document change.
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentAboutToBeChanged(DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent event) {
-		cachedPartitions.isInValid = true;
-	}
-
-	/**
-	 * The document has been changed. The partitioner updates the set of
-	 * regions and returns whether the structure of the document partitioning
-	 * has been changed, i.e. whether partitions have been added or removed.
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentChanged(DocumentEvent)
-	 */
-	public boolean documentChanged(DocumentEvent event) {
-		boolean result = false;
-		if (event instanceof StructuredDocumentRegionsReplacedEvent) {
-			// partitions don't always change while document regions do,
-			// but that's the only "quick check" we have.
-			// I'm not sure if something more sophisticated will be needed
-			// in the future. (dmw, 02/18/04).
-			result = true;
-		}
-		return result;
-	}
-
-	protected boolean doParserSpecificCheck(int offset, boolean partitionFound, IStructuredDocumentRegion sdRegion, IStructuredDocumentRegion previousStructuredDocumentRegion, ITextRegion next, ITextRegion previousStart) {
-		// this (conceptually) abstract method is not concerned with
-		// specific region types
-		return false;
-	}
-
-	/**
-	 * Returns the content type of the partition containing the given
-	 * character position of the given document. The document has previously
-	 * been connected to the partitioner.
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getContentType(int)
-	 */
-	public String getContentType(int offset) {
-		return getPartition(offset).getType();
-	}
-
-	/**
-	 * To be used by default!
-	 */
-	public String getDefault() {
-
-		return ST_DEFAULT_PARTITION;
-	}
-
-	/**
-	 * Returns the set of all possible content types the partitoner supports.
-	 * I.e. Any result delivered by this partitioner may not contain a content
-	 * type which would not be included in this method's result.
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getLegalContentTypes()
-	 */
-	public java.lang.String[] getLegalContentTypes() {
-		if (fSupportedTypes == null) {
-			initLegalContentTypes();
-		}
-		return fSupportedTypes;
-	}
-
-	/**
-	 * Returns the partition containing the given character position of the
-	 * given document. The document has previously been connected to the
-	 * partitioner.
-	 * 
-	 * Note: this shouldn't be called dirctly by clients, unless they control
-	 * the threading that includes modifications to the document. Otherwise
-	 * the document could be modified while partitions are being computed. We
-	 * advise that clients use the getPartition API directly from the
-	 * document, so they won't have to worry about that.
-	 * 
-	 * 
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getPartition(int)
-	 */
-	public ITypedRegion getPartition(int offset) {
-		internalGetPartition(offset, true);
-		return createNewPartitionInstance();
-	}
-
-	protected String getPartitionFromBlockedText(ITextRegion region, int offset, String result) {
-		// parser sensitive code was moved to subclass for quick transition
-		// this (conceptually) abstract version isn't concerned with blocked
-		// text
-
-		return result;
-	}
-
-	protected String getPartitionType(ForeignRegion region, int offset) {
-		String tagname = region.getSurroundingTag();
-		String result = null;
-		if (tagname != null) {
-			result = "BLOCK:" + tagname.toUpperCase(Locale.ENGLISH); //$NON-NLS-1$
-		} else {
-			result = "BLOCK"; //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.StructuredTextPartitioner#getPartitionType(com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	protected String getPartitionType(IBlockedStructuredDocumentRegion blockedStructuredDocumentRegion, int offset) {
-		String result = null;
-		ITextRegionList regions = blockedStructuredDocumentRegion.getRegions();
-
-		// regions should never be null, or hold zero regions, but just in
-		// case...
-		if (regions != null && regions.size() > 0) {
-			if (regions.size() == 1) {
-				// if only one, then its a "pure" blocked note.
-				// if more than one, then must contain some embedded region
-				// container
-				ITextRegion blockedRegion = regions.get(0);
-				// double check for code safefy, though should always be true
-				if (blockedRegion instanceof ForeignRegion) {
-					result = getPartitionType((ForeignRegion) blockedRegion, offset);
-				}
-			} else {
-				// must have some embedded region container, so we'll make
-				// sure we'll get the appropriate one
-				result = getReleventRegionType(blockedStructuredDocumentRegion, offset);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Method getPartitionType.
-	 * 
-	 * @param region
-	 * @return String
-	 */
-	private String getPartitionType(ITextRegion region) {
-		// if it get's to this "raw" level, then
-		// must be default.
-		return getDefault();
-	}
-
-	/**
-	 * Returns the partition based on region type. This basically maps from
-	 * one region-type space to another, higher level, region-type space.
-	 * 
-	 * @param region
-	 * @param offset
-	 * @return String
-	 */
-	protected String getPartitionType(ITextRegion region, int offset) {
-		String result = getDefault();
-		//		if (region instanceof ContextRegionContainer) {
-		//			result = getPartitionType((ITextRegionContainer) region, offset);
-		//		} else {
-		if (region instanceof ITextRegionContainer) {
-			result = getPartitionType((ITextRegionContainer) region, offset);
-		}
-
-		result = getPartitionFromBlockedText(region, offset, result);
-
-		return result;
-
-	}
-
-	/**
-	 * Similar to method with 'ITextRegion' as argument, except for
-	 * RegionContainers, if it has embedded regions, then we need to drill
-	 * down and return DocumentPartition based on "lowest level" region type.
-	 * For example, in <body id=" <%= object.getID() %>" > The text between
-	 * <%= and %> would be a "java region" not an "HTML region".
-	 */
-	protected String getPartitionType(ITextRegionContainer region, int offset) {
-		// TODO this method needs to be 'cleaned up' after refactoring
-		// its instanceof logic seems messed up now.
-		String result = null;
-		if (region != null) {
-			ITextRegion coreRegion = region;
-			if (coreRegion instanceof ITextRegionContainer) {
-				result = getPartitionType((ITextRegionContainer) coreRegion, ((ITextRegionContainer) coreRegion).getRegions(), offset);
-			} else {
-				result = getPartitionType(region);
-			}
-		} else {
-			result = getPartitionType((ITextRegion) region, offset);
-		}
-
-		return result;
-	}
-
-	private String getPartitionType(ITextRegionContainer coreRegion, ITextRegionList regions, int offset) {
-		String result = null;
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion region = regions.get(i);
-			if (coreRegion.containsOffset(region, offset)) {
-				result = getPartitionType(region, offset);
-				break;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Computes the partition type for the zero-length partition between a
-	 * start tag and end tag with the given name regions.
-	 * 
-	 * @param previousStartTagNameRegion
-	 * @param nextEndTagNameRegion
-	 * @return String
-	 */
-	protected String getPartitionTypeBetween(IStructuredDocumentRegion previousNode, ITextRegion previousStartTagNameRegion, IStructuredDocumentRegion nextNode, ITextRegion nextEndTagNameRegion) {
-		return getDefault();
-	}
-
-	/**
-	 * Return the ITextRegion at the given offset. For most cases, this will
-	 * be the flatNode itself. Should it contain an embedded
-	 * ITextRegionContainer, will return the internal region at the offset
-	 * 
-	 * 
-	 * @param flatNode
-	 * @param offset
-	 * @return ITextRegion
-	 */
-	private String getReleventRegionType(IStructuredDocumentRegion flatNode, int offset) {
-		//		* Note: the original form of this method -- which returned "deep"
-		// region, isn't that
-		//		* useful, after doing parent elimination refactoring,
-		//		* since once the deep region is returned, its hard to get its text
-		// or offset without
-		//		* proper parent.
-		ITextRegion resultRegion = null;
-		if (containsEmbeddedRegion(flatNode)) {
-			resultRegion = flatNode.getRegionAtCharacterOffset(offset);
-			if (resultRegion instanceof ITextRegionContainer) {
-				resultRegion = flatNode.getRegionAtCharacterOffset(offset);
-				ITextRegionList regions = ((ITextRegionContainer) resultRegion).getRegions();
-				for (int i = 0; i < regions.size(); i++) {
-					ITextRegion region = regions.get(i);
-					if (flatNode.getStartOffset(region) <= offset && offset < flatNode.getEndOffset(region)) {
-						resultRegion = region;
-						break;
-					}
-				}
-			}
-		} else {
-			resultRegion = flatNode;
-		}
-		return resultRegion.getType();
-	}
-
-	/**
-	 * To be used, instead of default, when there is some thing surprising
-	 * about are attempt to partition
-	 */
-	protected String getUnknown() {
-		return ST_UNKNOWN_PARTITION;
-	}
-
-	/**
-	 * to be abstract eventually
-	 */
-	protected void initLegalContentTypes() {
-		fSupportedTypes = new String[]{ST_DEFAULT_PARTITION, ST_UNKNOWN_PARTITION};
-	}
-
-	/**
-	 * Returns the partition containing the given character position of the
-	 * given document. The document has previously been connected to the
-	 * partitioner. If the checkBetween parameter is true, an offset between a
-	 * start and end tag will return a zero-length region.
-	 */
-	private void internalGetPartition(int offset, boolean checkBetween) {
-		if (structuredDocument == null) {
-			throw new IllegalStateException("document partitioner is not connected"); //$NON-NLS-1$
-		}
-
-		boolean partitionFound = false;
-		int docLength = structuredDocument.getLength();
-		// get document region type and map to partition type :
-		// Note: a partion can be smaller than a flatnode, if that flatnode
-		// contains a region container.
-		// That's why we need to get "relevent region".
-		IStructuredDocumentRegion structuredDocumentRegion = structuredDocument.getRegionAtCharacterOffset(offset);
-		// flatNode is null if empty document
-		// this is king of a "normal case" for empty document
-		if (structuredDocumentRegion == null && docLength == 0) {
-			// In order to prevent infinite error loops, this partition must
-			// never have a zero length
-			// unless the document is also zero length
-			setInternalPartition(offset, 0, getDefault());
-			partitionFound = true;
-		} else if (structuredDocumentRegion == null && docLength != 0) {
-			// this case is "unusual". When would region be null, and document
-			// longer
-			// than 0. I think this means somethings "out of sync". And we may
-			// want
-			// to "flag" that fact and just return one big region of
-			// 'unknown', instead
-			// of one character at a time.
-			setInternalPartition(offset, 1, getUnknown());
-			partitionFound = true;
-		} else if (checkBetween) {
-			// dmw: minimizes out to the first if test above
-			//			if (structuredDocumentRegion == null && docLength == 0) {
-			//				// known special case for an empty document
-			//				setInternalPartition(offset, 0, getDefault());
-			//				partitionFound = true;
-			//			}
-			//			else
-			if (structuredDocumentRegion.getStartOffset() == offset) {
-				IStructuredDocumentRegion previousStructuredDocumentRegion = structuredDocumentRegion.getPrevious();
-				if (previousStructuredDocumentRegion != null) {
-					ITextRegion next = structuredDocumentRegion.getRegionAtCharacterOffset(offset);
-					ITextRegion previousStart = previousStructuredDocumentRegion.getRegionAtCharacterOffset(previousStructuredDocumentRegion.getStartOffset());
-					partitionFound = doParserSpecificCheck(offset, partitionFound, structuredDocumentRegion, previousStructuredDocumentRegion, next, previousStart);
-				}
-			}
-		}
-		// dmw: Given the first two tests above minimize to this, this block
-		// can never run, right?
-		//		else if (structuredDocumentRegion == null) {
-		//			setInternalPartition(offset, 0, getDefault());
-		//			partitionFound = true;
-		//		}
-
-		if (!partitionFound) {
-			ITextRegion resultRegion = structuredDocumentRegion.getRegionAtCharacterOffset(offset);
-			partitionFound = isDocumentRegionBasedPartition(structuredDocumentRegion, resultRegion, offset);
-			if (!partitionFound) {
-				// Note: this new logic doesn't handle container regions
-				// inside of
-				// container regions ... may need to make this first clause
-				// a recursive method
-				if (resultRegion != null && resultRegion instanceof ITextRegionContainer) {
-					ITextRegionContainer containerRegion = (ITextRegionContainer) resultRegion;
-					// then need to "drill down" for relevent region and
-					// relevent offset
-					ITextRegion deepRegion = containerRegion.getRegionAtCharacterOffset(offset);
-					int endOffset = containerRegion.getEndOffset(deepRegion);
-					String type = getPartitionType(deepRegion, endOffset);
-					setInternalPartition(offset, endOffset - offset, type);
-				} else {
-					if (resultRegion != null) {
-						String type = getPartitionType(resultRegion, offset);
-						setInternalPartition(offset, structuredDocumentRegion.getEndOffset(resultRegion) - offset, type);
-					} else {
-						// can happen at EOF
-						setInternalPartition(offset, 1, getUnknown());
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Provides for a per-StructuredDocumentRegion override selecting the
-	 * partition type using more than just a single ITextRegion.
-	 * 
-	 * @param structuredDocumentRegion
-	 *            the StructuredDocumentRegion
-	 * @param containedChildRegion
-	 *            an ITextRegion within the given StructuredDocumentRegion
-	 *            that would normally determine the partition type by itself
-	 * @param offset
-	 *            the document offset
-	 * @return true if the partition type will be overridden, false to
-	 *         continue normal processing
-	 */
-	protected boolean isDocumentRegionBasedPartition(IStructuredDocumentRegion structuredDocumentRegion, ITextRegion containedChildRegion, int offset) {
-		return false;
-	}
-
-	public IDocumentPartitioner newInstance() {
-		return new StructuredTextPartitioner();
-	}
-
-	protected void setInternalPartition(int offset, int length, String type) {
-		internalReusedTempInstance.setOffset(offset);
-		internalReusedTempInstance.setLength(length);
-		internalReusedTempInstance.setType(type);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/CommandCursorPosition.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/CommandCursorPosition.java
deleted file mode 100644
index 1591ae0..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/CommandCursorPosition.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.undo;
-
-
-
-public interface CommandCursorPosition {
-
-	/**
-	 * Returns the cursor position to be set to after this command is redone.
-	 * 
-	 * @return int
-	 */
-	int getRedoCursorPosition();
-
-	/**
-	 * Returns the length of text to be selected after this command is redone.
-	 * 
-	 * @return int
-	 */
-	int getRedoSelectionLength();
-
-	/**
-	 * Returns the cursor position to be set to after this command is undone.
-	 * 
-	 * @return int
-	 */
-	int getUndoCursorPosition();
-
-	/**
-	 * Returns the length of text to be selected after this command is undone.
-	 * 
-	 * @return int
-	 */
-	int getUndoSelectionLength();
-
-	/**
-	 * Sets the cursor position to be used after this command is redone.
-	 */
-	void setRedoCursorPosition(int cursorPosition);
-
-	/**
-	 * Sets the length of text to be selected after this command is redone.
-	 */
-	void setRedoSelectionLength(int selectionLength);
-
-	/**
-	 * Sets the cursor position to be used after this command is undone.
-	 */
-	void setUndoCursorPosition(int cursorPosition);
-
-	/**
-	 * Sets the length of text to be selected after this command is undone.
-	 */
-	void setUndoSelectionLength(int selectionLength);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/IDocumentSelectionMediator.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/IDocumentSelectionMediator.java
deleted file mode 100644
index f321c38..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/IDocumentSelectionMediator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.undo;
-
-import org.eclipse.jface.text.IDocument;
-
-
-public interface IDocumentSelectionMediator {
-	/**
-	 * Returns the document selection mediator's input document.
-	 * 
-	 * @return the document selection mediator's input document
-	 */
-	IDocument getDocument();
-
-	/**
-	 * Sets a new selection in the document as a result of an undo operation.
-	 * 
-	 * UndoDocumentEvent contains the requester of the undo operation, and the
-	 * offset and length of the new selection. Implementation of
-	 * IDocumentSelectionMediator can check if it's the requester that caused
-	 * the new selection, and decide if the new selection should be applied.
-	 */
-	void undoOperationSelectionChanged(UndoDocumentEvent event);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/IStructuredTextUndoManager.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/IStructuredTextUndoManager.java
deleted file mode 100644
index 5f65824..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/IStructuredTextUndoManager.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.undo;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandStack;
-
-public interface IStructuredTextUndoManager {
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, int cursorPosition, int selectionLength);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, String label);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, String label, int cursorPosition, int selectionLength);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, String label, String description);
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, String label, String description, int cursorPosition, int selectionLength);
-
-	/**
-	 * Connect the mediator to the undo manager.
-	 */
-	void connect(IDocumentSelectionMediator mediator);
-
-	/**
-	 * Disable undo management.
-	 */
-	void disableUndoManagement();
-
-	/**
-	 * Disconnect the mediator from the undo manager.
-	 */
-	void disconnect(IDocumentSelectionMediator mediator);
-
-	/**
-	 * Enable undo management.
-	 */
-	void enableUndoManagement();
-
-	/**
-	 * End recording undo transactions.
-	 */
-	void endRecording(Object requester);
-
-	/**
-	 * End recording undo transactions.
-	 */
-	void endRecording(Object requester, int cursorPosition, int selectionLength);
-
-	/**
-	 * <p>
-	 * Normally, the undo manager can figure out the best times when to end a
-	 * pending command and begin a new one ... to the structure of a structued
-	 * document. There are times, however, when clients may wish to override
-	 * those algorithms and end one earlier than normal. The one known case is
-	 * for multipage editors. If a user is on one page, and type '123' as
-	 * attribute value, then click around to other parts of page, or different
-	 * pages, then return to '123|' and type 456, then "undo" they typically
-	 * expect the undo to just undo what they just typed, the 456, not the
-	 * whole attribute value.
-	 * <p>
-	 * If there is no pending command, the request is ignored.
-	 */
-	public void forceEndOfPendingCommand(Object requester, int currentPosition, int length);
-
-	/**
-	 * Some clients need to do complicated things with undo stack. Plus, in
-	 * some cases, if clients setCommandStack temporarily, they have
-	 * reponsibility to set back to original one when finished.
-	 */
-	public CommandStack getCommandStack();
-
-	/**
-	 * Get the redo command even if it's not committed yet.
-	 */
-	Command getRedoCommand();
-
-	/**
-	 * Get the undo command even if it's not committed yet.
-	 */
-	Command getUndoCommand();
-
-	/**
-	 * Redo the last command in the undo manager.
-	 */
-	void redo();
-
-	/**
-	 * Redo the last command in the undo manager and notify the requester
-	 * about the new selection.
-	 */
-	void redo(IDocumentSelectionMediator requester);
-
-	/**
-	 * Returns whether at least one text change can be repeated. A text change
-	 * can be repeated only if it was executed and rolled back.
-	 * 
-	 * @return <code>true</code> if at least on text change can be repeated
-	 */
-	boolean redoable();
-
-	/**
-	 * Set the command stack.
-	 */
-	void setCommandStack(CommandStack commandStack);
-
-	/**
-	 * Undo the last command in the undo manager.
-	 */
-	void undo();
-
-	/**
-	 * Undo the last command in the undo manager and notify the requester
-	 * about the new selection.
-	 */
-	void undo(IDocumentSelectionMediator requester);
-
-	/**
-	 * Returns whether at least one text change can be rolled back.
-	 * 
-	 * @return <code>true</code> if at least one text change can be rolled
-	 *         back
-	 */
-	boolean undoable();
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/StructuredTextCommand.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/StructuredTextCommand.java
deleted file mode 100644
index cb0e44b..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/StructuredTextCommand.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.undo;
-
-
-
-public interface StructuredTextCommand {
-
-	String getTextDeleted();
-
-	int getTextEnd();
-
-	String getTextInserted();
-
-	int getTextStart();
-
-	void setTextDeleted(String textDeleted);
-
-	void setTextEnd(int textEnd);
-
-	void setTextInserted(String textInserted);
-
-	void setTextStart(int textStart);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/UndoDocumentEvent.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/UndoDocumentEvent.java
deleted file mode 100644
index f608829..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/undo/UndoDocumentEvent.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.undo;
-
-import org.eclipse.jface.text.IDocument;
-
-public class UndoDocumentEvent {
-	private IDocument fDocument;
-	private int fLength;
-	private int fOffset;
-	private IDocumentSelectionMediator fRequester;
-
-	public UndoDocumentEvent(IDocumentSelectionMediator requester, IDocument document, int offset, int length) {
-		fRequester = requester;
-		fDocument = document;
-		fOffset = offset;
-		fLength = length;
-	}
-
-	public IDocument getDocument() {
-		return fDocument;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getOffset() {
-		return fOffset;
-	}
-
-	public IDocumentSelectionMediator getRequester() {
-		return fRequester;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/Assert.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/Assert.java
deleted file mode 100644
index 5fb1d0d..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/Assert.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-import org.eclipse.wst.sse.core.internal.Logger;
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks in
- * code. The predicate methods all test a condition and throw some type of
- * unchecked exception if the condition does not hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are thrown when
- * something is misbehaving. Assertion failures are invariably unspecified
- * behavior; consequently, clients should never rely on these being thrown
- * (and certainly should not being catching them specifically).
- * </p>
- */
-public final class Assert {
-
-	/**
-	 * <code>AssertionFailedException</code> is a runtime exception thrown
-	 * by some of the methods in <code>Assert</code>.
-	 * <p>
-	 * This class is not declared public to prevent some misuses; programs
-	 * that catch or otherwise depend on assertion failures are susceptible to
-	 * unexpected breakage when assertions in the code are added or removed.
-	 * </p>
-	 */
-	class AssertionFailedException extends RuntimeException {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 */
-		private static final long serialVersionUID = 1L;
-
-		/**
-		 * Constructs a new exception.
-		 */
-		public AssertionFailedException() {
-			super();
-		}
-
-		/**
-		 * Constructs a new exception with the given message.
-		 */
-		public AssertionFailedException(String detail) {
-			super(detail);
-		}
-	}
-
-	/**
-	 * Asserts that an argument is legal. If the given boolean is not
-	 * <code>true</code>, an <code>IllegalArgumentException</code> is
-	 * thrown.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 * @exception IllegalArgumentException
-	 *                if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression) {
-		return isLegal(expression, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that an argument is legal. If the given boolean is not
-	 * <code>true</code>, an <code>IllegalArgumentException</code> is
-	 * thrown. The given message is included in that exception, to aid
-	 * debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 * @exception IllegalArgumentException
-	 *                if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression, String message) {
-		if (!expression)
-			throw new IllegalArgumentException();
-		return expression;
-	}
-
-	/**
-	 * Asserts that the given object is not <code>null</code>. If this is
-	 * not the case, some kind of unchecked exception is thrown.
-	 * 
-	 * @param object
-	 *            the value to test
-	 * @exception IllegalArgumentException
-	 *                if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object) {
-		isNotNull(object, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given object is not <code>null</code>. If this is
-	 * not the case, some kind of unchecked exception is thrown. The given
-	 * message is included in that exception, to aid debugging.
-	 * 
-	 * @param object
-	 *            the value to test
-	 * @param message
-	 *            the message to include in the exception
-	 * @exception IllegalArgumentException
-	 *                if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object, String message) {
-		if (object == null) {
-			Logger.log(Logger.ERROR, "null_argument: " + message); //$NON-NLS-1$
-			throw new Assert().new AssertionFailedException();
-		}
-	}
-
-	/**
-	 * Asserts that the given boolean is <code>true</code>. If this is not
-	 * the case, some kind of unchecked exception is thrown.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 */
-	public static boolean isTrue(boolean expression) {
-		return isTrue(expression, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given boolean is <code>true</code>. If this is not
-	 * the case, some kind of unchecked exception is thrown. The given message
-	 * is included in that exception, to aid debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 */
-	public static boolean isTrue(boolean expression, String message) {
-		if (!expression) {
-			Logger.log(Logger.ERROR, "assertion failed: " + message); //$NON-NLS-1$
-			throw new Assert().new AssertionFailedException();
-		}
-		return expression;
-	}
-
-	/* This class is not intended to be instantiated. */
-	private Assert() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/Debug.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/Debug.java
deleted file mode 100644
index 56f40af..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/Debug.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-
-
-import java.util.Enumeration;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-
-public final class Debug {
-	public static final boolean checkForMemoryLeaks = false;
-
-	public static final boolean collectStats = false;
-
-	public static final int DEBUG = 0;
-
-	public static final boolean DEBUG_THREADLOCAL = false;
-
-	public static final boolean debugBreakpoints = false;
-	public static final boolean debugCaretMediator = false;
-	public static final boolean debugDisplayTreePositions = false;
-	//
-	public static final boolean debugMediator = false;
-	//
-	public static final boolean debugNotification = false;
-	public static final boolean debugNotificationAndEvents = false;
-
-	public static final boolean debugNotifyDeferred = false;
-	public static final boolean debugReconciling = false;
-	//
-	public static final boolean debugRtfFormatProvider = false;
-	//
-	public static final boolean debugStructuredDocument = false;
-	public static final boolean debugTaglibs = false;
-	//
-	public static final boolean debugTokenizer = false;
-	//
-	public static final boolean debugTreeModel = false;
-	public static final boolean debugUpdateTreePositions = false;
-	public static final boolean displayInfo = false;
-
-	/** effects output of Logger */
-	public static final boolean displayToConsole = true;
-	public static final boolean displayWarnings = false;
-	//
-	public static final boolean failedTests = false;
-	public static final boolean headParsing = false;
-	public static final boolean jsDebugContextAssist = false;
-	//
-	public static final boolean jsDebugSyntaxColoring = false;
-
-	public static final boolean LOCKS = false;
-	// 
-	public static final boolean perfTest = false;
-	public static final boolean perfTestAdapterClassLoading = false;
-	public static final boolean perfTestFormat = false;
-	public static final boolean perfTestRawStructuredDocumentOnly = false;
-	public static final boolean perfTestStructuredDocumentEventOnly = false;
-	public static final boolean perfTestStructuredDocumentOnly = false;
-
-	//
-	public static final boolean syntaxHighlighting = false;
-	//
-	public static final boolean useStandardEolInWidget = false;
-
-	/**
-	 * For tests and debug only
-	 */
-
-	public static final void dump(IStructuredDocument structuredDocument) {
-		dump(structuredDocument, false);
-	}
-
-	public static final void dump(IStructuredDocument structuredDocument, boolean verbose) {
-		ITextRegionCollection flatNode = null;
-		System.out.println("Dump of structuredDocument:"); //$NON-NLS-1$
-		IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList();
-		Enumeration structuredDocumentRegions = flatNodes.elements();
-		while (structuredDocumentRegions.hasMoreElements()) {
-			flatNode = (ITextRegionCollection) structuredDocumentRegions.nextElement();
-			if (!verbose) {
-				String outString = flatNode.toString();
-				outString = org.eclipse.wst.sse.core.util.StringUtils.escape(outString);
-				System.out.println(outString);
-			} else {
-				dump(flatNode, verbose);
-			}
-		}
-		System.out.println();
-		System.out.println("= = = = = ="); //$NON-NLS-1$
-		System.out.println();
-	}
-
-	/**
-	 * @param flatNode
-	 * @param verbose
-	 */
-	public static final void dump(ITextRegionCollection region, boolean verbose) {
-		if (region == null)
-			return;
-		if (verbose) {
-			printParent(region);
-		}
-		printChildRegions(region, 0);
-	}
-
-	private static void printChildRegions(ITextRegionCollection region, int depth) {
-		if (region != null) {
-			// ==> // ITextRegionCollection regionCollection = region;
-			System.out.println(region);
-			ITextRegionList regionList = region.getRegions();
-			for (int i = 0; i < regionList.size(); i++) {
-				ITextRegion r = regionList.get(i);
-				if (r instanceof ITextRegionCollection) {
-					ITextRegionCollection rc = (ITextRegionCollection) r;
-					printChildRegions(rc, depth++);
-				} else {
-					System.out.println(space(depth) + r);
-					depth--;
-				}
-			}
-		}
-	}
-
-	/**
-	 * Simple utility to make sure println's are some what in order
-	 */
-	public static final synchronized void println(String msg) {
-		System.out.println(System.currentTimeMillis() + "\t" + msg); //$NON-NLS-1$
-	}
-
-	private static void printParent(IStructuredDocumentRegion region) {
-		System.out.println("    [parent document: " + toStringUtil(region.getParentDocument()) + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	private static void printParent(ITextRegionCollection region) {
-		if (region instanceof IStructuredDocumentRegion) {
-			printParent((IStructuredDocumentRegion) region);
-		} else if (region instanceof ITextRegionContainer) {
-			printParent((ITextRegionContainer) region);
-		} else
-			System.out.println("    [parent document: " + "(na)" + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	private static void printParent(ITextRegionContainer region) {
-		System.out.println("    [parent document: " + toStringUtil(region.getParent()) + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * @param depth
-	 * @return
-	 */
-	private static String space(int depth) {
-		String result = "  "; //$NON-NLS-1$
-		for (int i = 0; i < depth; i++) {
-			result += "  "; //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	public static final String toStringUtil(IStructuredDocument object) {
-		String className = object.getClass().getName();
-		String shortClassName = className.substring(className.lastIndexOf(".") + 1); //$NON-NLS-1$
-		// ==> // String resultText = null;
-		String result = shortClassName;
-		// NOTE: if the document held by any region has been updated and the
-		// region offsets have not
-		// yet been updated, the output from this method invalid.
-		//return com.ibm.sed.util.StringUtils.escape("('"+(getFirstRegion()
-		// == null || document == null? "" :
-		// getText(getFirstRegion()))+"'"+getStart()+" -
-		// "+getEnd()+"'"+(getClose() == null || document == null ||
-		// getRegions().size()<2 ? "" : getText(getClose()))+"')
-		// "+getRegions());
-		return result;
-
-	}
-
-	public static final String toStringUtil(ITextRegionCollection object) {
-		String className = object.getClass().getName();
-		String shortClassName = className.substring(className.lastIndexOf(".") + 1); //$NON-NLS-1$
-		// ==> // String resultText = null;
-		String result = shortClassName;
-		// NOTE: if the document held by any region has been updated and the
-		// region offsets have not
-		// yet been updated, the output from this method invalid.
-		//return com.ibm.sed.util.StringUtils.escape("('"+(getFirstRegion()
-		// == null || document == null? "" :
-		// getText(getFirstRegion()))+"'"+getStart()+" -
-		// "+getEnd()+"'"+(getClose() == null || document == null ||
-		// getRegions().size()<2 ? "" : getText(getClose()))+"')
-		// "+getRegions());
-		return result;
-
-	}
-
-	/**
-	 * Debug constructor comment.
-	 */
-	public Debug() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/DocumentInputStream.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/DocumentInputStream.java
deleted file mode 100644
index e36b217..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/DocumentInputStream.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-
-public class DocumentInputStream extends InputStream {
-	private IDocument fDocument;
-	private int fMark = -1;
-	private int fPosition = 0;
-
-	public DocumentInputStream(IDocument source) {
-		super();
-		fDocument = source;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.InputStream#available()
-	 */
-	public int available() throws IOException {
-		return fDocument.getLength() - fPosition;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.InputStream#close()
-	 */
-	public void close() throws IOException {
-		this.fDocument = null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.InputStream#mark(int)
-	 */
-	public synchronized void mark(int readlimit) {
-		fMark = fPosition;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.InputStream#markSupported()
-	 */
-	public boolean markSupported() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.InputStream#read()
-	 */
-	public int read() throws IOException {
-		try {
-			if (fPosition < fDocument.getLength())
-				return fDocument.getChar(fPosition++);
-			else
-				return -1;
-		} catch (BadLocationException e) {
-			throw new IOException(e.getMessage());
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.InputStream#reset()
-	 */
-	public synchronized void reset() throws IOException {
-		fPosition = fMark;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.InputStream#skip(long)
-	 */
-	public long skip(long n) throws IOException {
-		long skipped = n;
-		if (n < fDocument.getLength() - fPosition) {
-			skipped = n;
-			fPosition += skipped;
-		} else {
-			skipped = fDocument.getLength() - fPosition;
-			fPosition = fDocument.getLength();
-		}
-		return skipped;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/JarUtilities.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/JarUtilities.java
deleted file mode 100644
index 6240989..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/JarUtilities.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.sse.core.internal.Logger;
-
-
-public class JarUtilities {
-
-	/**
-	 * @see http://java.sun.com/products/jsp/errata_1_1_a_042800.html, Issues
-	 *      8 & 9
-	 * 
-	 * "There are two cases. In both cases the TLD_URI is to be interpreted
-	 * relative to the root of the Web Application. In the first case the
-	 * TLD_URI refers to a TLD file directly. In the second case, the TLD_URI
-	 * refers to a JAR file. If so, that JAR file should have a TLD at
-	 * location META-INF/taglib.tld."
-	 */
-	public static final String JSP11_TAGLIB = "META-INF/taglib.tld"; //$NON-NLS-1$
-
-	public static void closeJarFile(JarFile file) {
-		if (file == null)
-			return;
-		try {
-			file.close();
-		}
-		catch (IOException ioe) {
-			// no cleanup can be done
-			Logger.log(Logger.ERROR, "Could not close file " + file.getName()); //$NON-NLS-1$
-		}
-		finally {
-			file = null;
-		}
-	}
-
-	/**
-	 * Provides a stream to a local copy of the input or null if not possible
-	 */
-	protected static InputStream getCachedInputStream(String jarFilename, String entryName) {
-		File testFile = new File(jarFilename);
-		if (!testFile.exists())
-			return null;
-
-		JarFile jarfile = null;
-		try {
-			jarfile = new JarFile(jarFilename);
-		}
-		catch (IOException ioExc) {
-			Logger.logException(ioExc);
-			closeJarFile(jarfile);
-			return null;
-		}
-
-		ZipEntry zentry = jarfile.getEntry(entryName);
-		if (zentry == null) {
-			closeJarFile(jarfile);
-			return null;
-		}
-
-		InputStream entryInputStream = null;
-		try {
-			entryInputStream = jarfile.getInputStream(zentry);
-		}
-		catch (IOException ioExc) {
-			Logger.logException(ioExc);
-			return null;
-		}
-
-		byte bytes[] = null;
-		InputStream cache = null;
-		if (entryInputStream != null) {
-			int c;
-			ByteArrayOutputStream buffer = null;
-			if (zentry.getSize() > 0) {
-				buffer = new ByteArrayOutputStream((int) zentry.getSize());
-			}
-			else {
-				buffer = new ByteArrayOutputStream();
-			}
-			// array dim restriction?
-			bytes = new byte[2048];
-			try {
-				while ((c = entryInputStream.read(bytes)) >= 0) {
-					buffer.write(bytes, 0, c);
-				}
-				cache = new ByteArrayInputStream(buffer.toByteArray());
-			}
-			catch (IOException ioe) {
-				// no cleanup can be done
-			}
-			finally {
-				try {
-					entryInputStream.close();
-				}
-				catch (IOException e) {
-				}
-			}
-		}
-		// }
-
-		closeJarFile(jarfile);
-
-		return cache;
-	}
-
-	public static String[] getEntryNames(IResource jarResource) {
-		if (jarResource == null)
-			return new String[0];
-		return getEntryNames(jarResource.getLocation().toString());
-	}
-
-	public static String[] getEntryNames(String jarFilename) {
-		return getEntryNames(jarFilename, true);
-	}
-
-	public static String[] getEntryNames(String jarFilename, boolean excludeDirectories) {
-		JarFile jarfile = null;
-		List entryNames = new ArrayList();
-		try {
-			jarfile = new JarFile(jarFilename);
-			Enumeration entries = jarfile.entries();
-			while (entries.hasMoreElements()) {
-				ZipEntry z = (ZipEntry) entries.nextElement();
-				if (!(z.isDirectory() && excludeDirectories))
-					entryNames.add(z.getName());
-			}
-		}
-		catch (IOException ioExc) {
-			Logger.log(Logger.WARNING, "JarUtilities: " + ioExc.getMessage());
-		}
-		finally {
-			try {
-				if (jarfile != null) {
-					jarfile.close();
-				}
-			}
-			catch (IOException e) {
-				// nothing can be done
-			}
-		}
-		String[] names = (String[]) entryNames.toArray(new String[0]);
-		return names;
-	}
-
-	public static InputStream getInputStream(IResource jarResource, String entryName) {
-		if (jarResource == null)
-			return null;
-		return getInputStream(jarResource.getLocation().toString(), entryName);
-	}
-
-	public static InputStream getInputStream(String jarFilename, String entryName) {
-		// check sanity
-		if (jarFilename == null || jarFilename.length() < 1 || entryName == null || entryName.length() < 1)
-			return null;
-
-		// JAR files are not allowed to have leading '/' in member names
-		String internalName = null;
-		if (entryName.startsWith("/")) //$NON-NLS-1$
-			internalName = entryName.substring(1);
-		else
-			internalName = entryName;
-
-		return getCachedInputStream(jarFilename, internalName);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/PathHelper.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/PathHelper.java
deleted file mode 100644
index 94a66be..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/PathHelper.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-
-
-import java.io.File;
-import java.util.StringTokenizer;
-
-/**
- * Collection of helper methods to manage and convert links Originally part of
- * the LinksManager (com.ibm.iwt.parser.util)
- */
-public class PathHelper {
-	public static final String BACKWARD_SLASH = "\\";//$NON-NLS-1$
-
-	public static final String FORWARD_SLASH = "/";//$NON-NLS-1$
-	public static final String RELATIVE_PATH_SIG = "../";//$NON-NLS-1$
-
-	/**
-	 * adjust relative path isside the absolute path
-	 */
-	public static String adjustPath(String path) {
-		int i = 0;
-		while ((i = path.indexOf(RELATIVE_PATH_SIG)) > 0) {
-			// split the string into two
-			String part1 = path.substring(0, i - 1);
-			String part2 = path.substring(i + RELATIVE_PATH_SIG.length() - 1);
-			// strip one path seg from part1
-			int j = part1.lastIndexOf(FORWARD_SLASH);
-			if (j == -1) {
-				// can't resolve. passed path is like
-				// E:/eclipseproject/../../sample.css.
-				return "";//$NON-NLS-1$
-			}
-			part1 = part1.substring(0, j);
-			path = part1 + part2;
-		}
-		return path;
-	}
-
-	/**
-	 * Append trailing url slash if needed
-	 */
-	public static String appendTrailingURLSlash(String input) {
-		// check to see already a slash
-		if (!input.endsWith(FORWARD_SLASH)) {
-			input += FORWARD_SLASH;
-		}
-		return input;
-	}
-
-	/**
-	 * Convert to relative url based on base
-	 */
-	public static String convertToRelative(String input, String base) {
-		// tokenize the strings
-		StringTokenizer inputTokenizer = new StringTokenizer(input, FORWARD_SLASH);
-		StringTokenizer baseTokenizer = new StringTokenizer(base, FORWARD_SLASH);
-		String token1 = "", token2 = "";//$NON-NLS-2$//$NON-NLS-1$
-		//
-		// Go through until equls
-		while (true) {
-			if (!inputTokenizer.hasMoreTokens() || !baseTokenizer.hasMoreTokens())
-				break;
-			token1 = baseTokenizer.nextToken();
-			token2 = inputTokenizer.nextToken();
-			if (!token1.equals(token2))
-				break;
-		}
-		// now generate the backs
-		String output = "";//$NON-NLS-1$
-		while (baseTokenizer.hasMoreTokens()) {
-			baseTokenizer.nextToken();
-			output += "../"; //$NON-NLS-1$
-		}
-		output += token2;
-		// generate the rest
-		while (inputTokenizer.hasMoreTokens()) {
-			output = output + FORWARD_SLASH + inputTokenizer.nextToken();
-		}
-		return output;
-	}
-
-	/**
-	 * Return the containing folder path. Will handle both url and file path
-	 */
-	public static String getContainingFolderPath(String path) {
-		String retValue = path;
-
-		int urlSlashIndex = path.lastIndexOf(FORWARD_SLASH);
-		int filePathSlashIndex = path.lastIndexOf(File.separator);
-		int index = filePathSlashIndex;
-		if (urlSlashIndex > filePathSlashIndex)
-			index = urlSlashIndex;
-		if (index >= 0)
-			retValue = path.substring(0, index);
-		return retValue;
-	}
-
-	/**
-	 * Remove leading path separator
-	 */
-	public static String removeLeadingPathSeparator(String path) {
-		if (path.startsWith(File.separator))
-			path = path.substring(File.separator.length());
-		return path;
-	}
-
-	/**
-	 * Remove leading path separator
-	 */
-	public static String removeLeadingSeparator(String path) {
-		if (path.startsWith(File.separator))
-			path = path.substring(File.separator.length());
-		else if (path.startsWith(FORWARD_SLASH) || path.startsWith(BACKWARD_SLASH))
-			path = path.substring(FORWARD_SLASH.length());
-		return path;
-	}
-
-	/**
-	 * Switch to file path slashes
-	 */
-	public static String switchToFilePathSlashes(String path) {
-		path = path.replace(FORWARD_SLASH.charAt(0), File.separatorChar);
-		path = path.replace(BACKWARD_SLASH.charAt(0), File.separatorChar);
-		return path;
-	}
-
-	/**
-	 * Switch to file path slashes
-	 */
-	public static String switchToForwardSlashes(String path) {
-		path = path.replace(File.separatorChar, FORWARD_SLASH.charAt(0));
-		path = path.replace(BACKWARD_SLASH.charAt(0), FORWARD_SLASH.charAt(0));
-		return path;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/ProjectResolver.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/ProjectResolver.java
deleted file mode 100644
index f73f86a..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/ProjectResolver.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-public class ProjectResolver implements URIResolver {
-	private String fFileBaseLocation = null;
-	private IProject fProject = null;
-
-	/**
-	 * It is strongly recommended that clients use
-	 * project.getAdapter(URIResolver.class) to obtain a URIResolver aware of
-	 * the Project's special requirements. Note that a URIResolver may not be
-	 * returned at all so manually creating this object may still be required.
-	 */
-	public ProjectResolver(IProject project) {
-		super();
-		fProject = project;
-	}
-
-	public String getFileBaseLocation() {
-		return fFileBaseLocation;
-	}
-
-	public String getLocationByURI(String uri) {
-		return getLocationByURI(uri, getFileBaseLocation());
-	}
-
-	//	defect 244817 end
-	/**
-	 * Resolve the (possibly relative) URI acording to RFC1808 using the
-	 * default file base location. Resolves resource references into absolute
-	 * resource locations without ensuring that the resource actually exists.
-	 * 
-	 * Note: currently resolveCrossProjectLinks is ignored in this
-	 * implementation.
-	 */
-	public String getLocationByURI(String uri, boolean resolveCrossProjectLinks) {
-		return getLocationByURI(uri, getFileBaseLocation(), resolveCrossProjectLinks);
-	}
-
-	public String getLocationByURI(String uri, String baseReference) {
-		if (uri == null)
-			return null;
-		/*
-		 * defect 244817 try { URL aURL = new URL(uri);
-		 */
-		/**
-		 * An actual URL was given, but only the "file:///" protocol is
-		 * supported. Resolve the URI by finding the file to which it points.
-		 */
-		/*
-		 * defect 244817 if (!aURL.getProtocol().equals("platform")) {
-		 * //$NON-NLS-1$ if (aURL.getProtocol().equals("file") &&
-		 * (aURL.getHost().equals("localhost") || aURL.getHost().length() ==
-		 * 0)) { //$NON-NLS-2$//$NON-NLS-1$ return aURL.getFile(); } return
-		 * uri; } } catch (MalformedURLException mfuExc) { }
-		 */
-		// defect 244817 start
-		if (isFileURL(uri)) {
-			try {
-				URL url = new URL(uri);
-				return getPath(url);
-			} catch (MalformedURLException e) {
-			}
-		}
-		// defect 244817 end
-		
-		// which of the serveral are we suppose to use here?
-		//
-        
-        // https://bugs.eclipse.org/bugs/show_bug.cgi?id=71223
-        // Workaround for problem in URIHelper; uris starting with '/' are
-        // returned as-is.
-        String location = uri;
-        if (uri.startsWith("/")) {
-            IProject p = getProject();
-            if(p != null && p.exists())
-                location = p.getLocation().toString() + uri;
-        }
-        else {
-            location = URIHelper.normalize(uri, baseReference, getRootLocationString());
-        }
-		return location;
-	}
-
-	/**
-	 * Perform the getLocationByURI action using the baseReference as the
-	 * point of reference instead of the default for this resolver
-	 * 
-	 * Note: currently resolveCrossProjectLinks is ignored in this
-	 * implementation.
-	 */
-	public String getLocationByURI(String uri, String baseReference, boolean resolveCrossProjectLinks) {
-		return getLocationByURI(uri, baseReference);
-	}
-
-	/**
-	 * 
-	 * @param path
-	 * @param host
-	 * @return String
-	 */
-	private String getPath(IPath path, String host) {
-		IPath newPath = path;
-		// They are potentially for only Windows operating system.
-		//  a.) if path has a device, and if it begins with IPath.SEPARATOR,
-		// remove it
-		final String device = path.getDevice();
-		if ((device != null) && (device.length() > 0)) {
-			if (device.charAt(0) == IPath.SEPARATOR) {
-				final String newDevice = device.substring(1);
-				newPath = path.setDevice(newDevice);
-			}
-		}
-		// b.) if it has a hostname, it is UNC name... Any java or eclipse api
-		// helps it ??
-		if (path != null && host != null && host.length() != 0) {
-			IPath uncPath = new Path(host);
-			uncPath = uncPath.append(path);
-			newPath = uncPath.makeUNC(true);
-		}
-		return newPath.toString();
-	}
-
-	/**
-	 * 
-	 * @param url
-	 * @return String
-	 */
-	private String getPath(URL url) {
-		String ref = url.getRef() == null ? "" : "#" + url.getRef(); //$NON-NLS-1$ //$NON-NLS-2$
-		String strPath = url.getFile() + ref;
-		IPath path;
-		if (strPath.length() == 0) {
-			path = Path.ROOT;
-		} else {
-			path = new Path(strPath);
-			String query = null;
-			StringTokenizer parser = new StringTokenizer(strPath, "?"); //$NON-NLS-1$
-			int tokenCount = parser.countTokens();
-			if (tokenCount == 2) {
-				path = new Path((String) parser.nextElement());
-				query = (String) parser.nextElement();
-			}
-			if (query == null) {
-				parser = new StringTokenizer(path.toString(), "#"); //$NON-NLS-1$
-				tokenCount = parser.countTokens();
-				if (tokenCount == 2) {
-					path = new Path((String) parser.nextElement());
-				}
-			}
-		}
-		return getPath(path, url.getHost());
-	}
-
-	public org.eclipse.core.resources.IProject getProject() {
-		return fProject;
-	}
-
-	public org.eclipse.core.resources.IContainer getRootLocation() {
-		return fProject;
-	}
-
-	protected String getRootLocationString() {
-		return fProject.getLocation().toString();
-	}
-
-	public InputStream getURIStream(String uri) {
-		return null;
-	}
-
-	//	defect 244817 start
-	/**
-	 * 
-	 * @param passedSpec
-	 * @return boolean
-	 */
-	private boolean isFileURL(String passedSpec) {
-		if (passedSpec == null) {
-			return false;
-		}
-		final String spec = passedSpec.trim();
-		if (spec.length() == 0) {
-			return false;
-		}
-		final int limit = spec.length();
-		String newProtocol = null;
-		for (int index = 0; index < limit; index++) {
-			final char p = spec.charAt(index);
-			if (p == '/') { //$NON-NLS-1$
-				break;
-			}
-			if (p == ':') { //$NON-NLS-1$
-				newProtocol = spec.substring(0, index);
-				break;
-			}
-		}
-		return (newProtocol != null && newProtocol.compareToIgnoreCase("file") == 0); //$NON-NLS-1$
-	}
-
-	public void setFileBaseLocation(String newFileBaseLocation) {
-		fFileBaseLocation = newFileBaseLocation;
-	}
-
-	public void setProject(IProject newProject) {
-		fProject = newProject;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/ResourceUtil.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/ResourceUtil.java
deleted file mode 100644
index b507cf7..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/ResourceUtil.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-
-/**
- * @deprecated - incorrect and not updated for M3 changes
- */
-public class ResourceUtil {
-
-	/**
-	 * Obtain IFile from IStructuredModel
-	 */
-	public static IFile getFileFor(IStructuredModel model) {
-		if (model == null)
-			return null;
-		String path = model.getBaseLocation();
-		if (path == null || path.length() == 0) {
-			Object id = model.getId();
-			if (id == null)
-				return null;
-			path = id.toString();
-		}
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IFile file = root.getFileForLocation(new Path(path));
-		return file;
-	}
-
-	/**
-	 * Obtain IFiles from IStructuredModel (includes linkedResources)
-	 * 
-	 * @return the corresponding files in the workspace, or an empty array if
-	 *         none
-	 */
-	public static IFile[] getFilesFor(IStructuredModel model) {
-		IFile[] files = new IFile[0];
-
-		if (model != null) {
-			String path = model.getBaseLocation();
-			if (path == null || path.length() == 0) {
-				Object id = model.getId();
-				if (id == null)
-					return files;
-				path = id.toString();
-			}
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			files = root.findFilesForLocation(new Path(path));
-		}
-		return files;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/ScriptLanguageKeys.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/ScriptLanguageKeys.java
deleted file mode 100644
index b8ee24f..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/ScriptLanguageKeys.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-/**
- * Contains list of script languages and mime types
- */
-public interface ScriptLanguageKeys {
-
-	public static final String JAVA = "java"; //$NON-NLS-1$
-
-	public static final String[] JAVA_LANGUAGE_KEYS = new String[]{"java"}; //$NON-NLS-1$
-
-	public static final String JAVASCRIPT = "javascript"; //$NON-NLS-1$
-	public static final String[] JAVASCRIPT_LANGUAGE_KEYS = {"javascript", //$NON-NLS-1$
-				"javascript1.0", //$NON-NLS-1$
-				"javascript1.1", //$NON-NLS-1$
-				"javascript1.2", //$NON-NLS-1$
-				"javascript1.3", //$NON-NLS-1$
-				"javascript1.4", //$NON-NLS-1$
-				"javascript1.5", //$NON-NLS-1$
-				"javascript1.6", //$NON-NLS-1$
-				"jscript", //$NON-NLS-1$
-				"sashscript"}; //$NON-NLS-1$
-
-	public static final String[] JAVASCRIPT_MIME_TYPE_KEYS = {"text/javascript", //$NON-NLS-1$
-				"text/jscript", //$NON-NLS-1$
-				"text/sashscript"}; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/StringUtils.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/StringUtils.java
deleted file mode 100644
index f80097e..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/StringUtils.java
+++ /dev/null
@@ -1,742 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-
-
-public class StringUtils {
-	protected static final String AMPERSTAND = "&"; //$NON-NLS-1$
-	protected static final String AMPERSTAND_ENTITY = "&&;"; //$NON-NLS-1$
-	protected static final String CARRIAGE_RETURN = "\r"; //$NON-NLS-1$
-	protected static final String CARRIAGE_RETURN_ENTITY = "\\r"; //$NON-NLS-1$
-	protected static final String CR = "\r"; //$NON-NLS-1$
-	protected static final String CRLF = "\r\n"; //$NON-NLS-1$
-	protected static final String DELIMITERS = " \t\n\r\f"; //$NON-NLS-1$
-	protected static final String DOUBLE_QUOTE = "\""; //$NON-NLS-1$
-	protected static final char DOUBLE_QUOTE_CHAR = '\"'; //$NON-NLS-1$
-	protected static final String DOUBLE_QUOTE_ENTITY = "&quot;"; //$NON-NLS-1$
-
-	protected static final String EQUAL_SIGN = "="; //$NON-NLS-1$
-	protected static final String EQUAL_SIGN_ENTITY = "&#61;"; //$NON-NLS-1$
-	private static final String FALSE = "false"; //$NON-NLS-1$
-	protected static final String GREATER_THAN = ">"; //$NON-NLS-1$
-	protected static final String GREATER_THAN_ENTITY = "&gt;"; //$NON-NLS-1$
-	protected static final String LESS_THAN = "<"; //$NON-NLS-1$
-	protected static final String LESS_THAN_ENTITY = "&lt;"; //$NON-NLS-1$
-	protected static final String LF = "\n"; //$NON-NLS-1$
-	protected static final String LINE_FEED = "\n"; //$NON-NLS-1$
-	protected static final String LINE_FEED_ENTITY = "\\n"; //$NON-NLS-1$
-	protected static final String LINE_FEED_TAG = "<dl>"; //$NON-NLS-1$
-	protected static final String LINE_TAB = "\t"; //$NON-NLS-1$
-	protected static final String LINE_TAB_ENTITY = "\\t"; //$NON-NLS-1$
-	protected static final String LINE_TAB_TAG = "<dd>"; //$NON-NLS-1$
-	protected static final String SINGLE_QUOTE = "'"; //$NON-NLS-1$
-	protected static final char SINGLE_QUOTE_CHAR = '\''; //$NON-NLS-1$
-	protected static final String SINGLE_QUOTE_ENTITY = "&#039;"; //$NON-NLS-1$
-	protected static final String SPACE = " "; //$NON-NLS-1$
-	protected static final String SPACE_ENTITY = "&nbsp;"; //$NON-NLS-1$
-	private static final String TRUE = "true"; //$NON-NLS-1$
-
-	/**
-	 * Append appendString to the end of aString only if aString does not end
-	 * with the insertString.
-	 */
-	public static String appendIfNotEndWith(String aString, String appendString) {
-		if ((aString != null) && (appendString != null))
-			if (aString.endsWith(appendString))
-				return aString;
-			else
-				return aString + appendString;
-		else
-			return aString;
-	}
-
-	/**
-	 * Breaks out space-separated words into an array of words. For example:
-	 * <code>"no comment"</code> into an array <code>a[0]="no"</code> and
-	 * <code>a[1]= "comment"</code>.
-	 * 
-	 * @param value
-	 *            the string to be converted
-	 * @return the list of words
-	 */
-	public static String[] asArray(String value) {
-		ArrayList list = new ArrayList();
-		StringTokenizer stok = new StringTokenizer(value);
-		while (stok.hasMoreTokens()) {
-			list.add(stok.nextToken());
-		}
-		String result[] = new String[list.size()];
-		list.toArray(result);
-		return result;
-	}
-
-	/**
-	 * Breaks out delim-separated words into an array of words. For example:
-	 * <code>"no comment"</code> into an array <code>a[0]="no"</code> and
-	 * <code>a[1]= "comment"</code>.
-	 * 
-	 * @param value
-	 *            the string to be converted
-	 * @return the list of words
-	 */
-	public static String[] asArray(String value, String delim) {
-		return asArray(value, delim, false);
-	}
-
-	/**
-	 * Breaks out delim-separated words into an array of words. For example:
-	 * <code>"no comment"</code> into an array <code>a[0]="no"</code> and
-	 * <code>a[1]= "comment"</code>.
-	 * 
-	 * @param value
-	 *            the string to be converted
-	 * @return the list of words
-	 */
-	public static String[] asArray(String value, String delim, boolean returnTokens) {
-		ArrayList list = new ArrayList();
-		StringTokenizer stok = new StringTokenizer(value, delim, returnTokens);
-		while (stok.hasMoreTokens()) {
-			list.add(stok.nextToken());
-		}
-		String result[] = new String[list.size()];
-		list.toArray(result);
-		return result;
-	}
-
-	/**
-	 * Breaks out delim-separated words into an array of words. For example:
-	 * <code>"abc,,def"</code> into an array <code>a[0]="abc"</code>,
-	 * <code>a[1]=null</code>, and <code>a[2]= "def"</code> where "," is
-	 * the delim.
-	 * 
-	 * @param value
-	 *            the string to be converted
-	 * @return the list of words
-	 */
-	public static String[] asFixedArray(String value, String delim) {
-		String array[] = asArray(value, delim, true);
-		int arrayLength = array.length;
-		boolean stringFound = false;
-		ArrayList list = new ArrayList();
-
-		for (int i = 0; i < arrayLength; i++) {
-			String token = array[i];
-			if (token.compareTo(delim) == 0) {
-				if (!stringFound)
-					list.add(null);
-				stringFound = false;
-			}
-			else {
-				list.add(token);
-				stringFound = true;
-			}
-		}
-		// add one more null if last token is the delim
-		if (!stringFound)
-			list.add(null);
-
-		String result[] = new String[list.size()];
-		list.toArray(result);
-		return result;
-	}
-
-	public static String chop(String source) {
-		return chop(source, "/"); //$NON-NLS-1$
-	}
-
-	public static String chop(String source, String delimiter) {
-		return source.substring(0, source.lastIndexOf(delimiter));
-	}
-
-	public static boolean contains(String[] arrayOfStrings, String needle, boolean caseSensitive) {
-		boolean result = false;
-		if (needle == null)
-			return false;
-		if (arrayOfStrings == null)
-			return false;
-
-		if (caseSensitive) {
-			for (int i = 0; i < arrayOfStrings.length; i++) {
-				if (needle.equals(arrayOfStrings[i])) {
-					result = true;
-					break;
-				}
-			}
-		}
-		else {
-			for (int i = 0; i < arrayOfStrings.length; i++) {
-				if (needle.equalsIgnoreCase(arrayOfStrings[i])) {
-					result = true;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	public static boolean containsLetters(String fullValue) {
-
-		if (fullValue == null || fullValue.length() == 0)
-			return false;
-
-		char[] chars = fullValue.toCharArray();
-		for (int i = 0; i < fullValue.length(); i++)
-			if (Character.isLetter(chars[i]))
-				return true;
-
-		return false;
-	}
-
-	public static boolean containsLineDelimiter(String aString) {
-		return indexOfLineDelimiter(aString) != -1;
-	}
-
-	public static String convertLineDelimiters(String allText, String lineDelimiterToUse) {
-		IDocument tempDoc = new Document(allText);
-
-		if (lineDelimiterToUse == null)
-			lineDelimiterToUse = System.getProperty("line.separator"); //$NON-NLS-1$
-
-		String newText = ""; //$NON-NLS-1$
-		int lineCount = tempDoc.getNumberOfLines();
-		for (int i = 0; i < lineCount; i++) {
-			try {
-				org.eclipse.jface.text.IRegion lineInfo = tempDoc.getLineInformation(i);
-				int lineStartOffset = lineInfo.getOffset();
-				int lineLength = lineInfo.getLength();
-				int lineEndOffset = lineStartOffset + lineLength;
-				newText += allText.substring(lineStartOffset, lineEndOffset);
-
-				if ((i < lineCount - 1) && (tempDoc.getLineDelimiter(i) != null))
-					newText += lineDelimiterToUse;
-			}
-			catch (BadLocationException exception) {
-				throw new SourceEditingRuntimeException(exception);
-			}
-		}
-
-		return newText;
-	}
-
-	/**
-	 * Replaces all instances of special HTML characters with the appropriate
-	 * HTML entity equivalent. WARNING only use this method for strings that
-	 * dont already have HTML-specific items such as tags and entities.
-	 * 
-	 * @param String
-	 *            content String to convert
-	 * 
-	 * @return String the converted string
-	 * @see HTMLPrinter#convertToHTMLContent(String content)
-	 */
-	public static String convertToHTMLContent(String content) {
-		content = replace(content, AMPERSTAND, AMPERSTAND_ENTITY);
-		content = replace(content, LESS_THAN, LESS_THAN_ENTITY);
-		content = replace(content, GREATER_THAN, GREATER_THAN_ENTITY);
-		content = replace(content, LINE_FEED, LINE_FEED_TAG);
-		content = replace(content, LINE_TAB, LINE_TAB_TAG);
-		content = replace(content, SINGLE_QUOTE, SINGLE_QUOTE_ENTITY);
-		content = replace(content, DOUBLE_QUOTE, DOUBLE_QUOTE_ENTITY);
-		content = replace(content, SPACE + SPACE, SPACE_ENTITY + SPACE_ENTITY); // replacing
-		// every
-		// space
-		// would
-		// be
-		// too
-		// much
-		return content;
-	}
-
-	/**
-	 * Converts a string into a form that will not conflict with saving it
-	 * into an INI file
-	 */
-	public static String escape(String normalString) {
-		if (normalString == null)
-			return null;
-		StringBuffer escapedBuffer = new StringBuffer();
-		StringTokenizer toker = new StringTokenizer(normalString, EQUAL_SIGN + LINE_FEED + CARRIAGE_RETURN + LINE_TAB, true);
-		String chunk = null;
-		while (toker.hasMoreTokens()) {
-			chunk = toker.nextToken();
-			if (chunk.equals(EQUAL_SIGN)) {
-				escapedBuffer.append(EQUAL_SIGN_ENTITY);
-			}
-			else if (chunk.equals(LINE_FEED)) {
-				escapedBuffer.append(LINE_FEED_ENTITY);
-			}
-			else if (chunk.equals(CARRIAGE_RETURN)) {
-				escapedBuffer.append(CARRIAGE_RETURN_ENTITY);
-			}
-			else if (chunk.equals(LINE_TAB)) {
-				escapedBuffer.append(LINE_TAB_ENTITY);
-			}
-			else {
-				escapedBuffer.append(chunk);
-			}
-		}
-		return escapedBuffer.toString();
-	}
-
-	/**
-	 * Returns the first line of the given text without a trailing delimiter
-	 * 
-	 * @param text
-	 * @return
-	 */
-	public static String firstLineOf(String text) {
-		if (text == null || text.length() < 1) {
-			return text;
-		}
-		IDocument doc = new Document(text);
-		try {
-			int lineNumber = doc.getLineOfOffset(0);
-			IRegion line = doc.getLineInformation(lineNumber);
-			return doc.get(line.getOffset(), line.getLength());
-		}
-		catch (BadLocationException e) {
-			// do nothing
-		}
-		return text;
-	}
-
-	public static int indexOfLastLineDelimiter(String aString) {
-		return indexOfLastLineDelimiter(aString, aString.length());
-	}
-
-	public static int indexOfLastLineDelimiter(String aString, int offset) {
-		int index = -1;
-
-		if (aString != null && aString.length() > 0) {
-			index = aString.lastIndexOf(CRLF, offset);
-			if (index == -1) {
-				index = aString.lastIndexOf(CR, offset);
-				if (index == -1)
-					index = aString.lastIndexOf(LF, offset);
-			}
-		}
-
-		return index;
-	}
-
-	public static int indexOfLineDelimiter(String aString) {
-		return indexOfLineDelimiter(aString, 0);
-	}
-
-	public static int indexOfLineDelimiter(String aString, int offset) {
-		int index = -1;
-
-		if (aString != null && aString.length() > 0) {
-			index = aString.indexOf(CRLF, offset);
-			if (index == -1) {
-				index = aString.indexOf(CR, offset);
-				if (index == -1)
-					index = aString.indexOf(LF, offset);
-			}
-		}
-
-		return index;
-	}
-
-	public static int indexOfNonblank(String aString) {
-		return indexOfNonblank(aString, 0);
-	}
-
-	public static int indexOfNonblank(String aString, int offset) {
-		int index = -1;
-
-		if (aString != null && aString.length() > 0) {
-			for (int i = offset; i < aString.length(); i++) {
-				if (DELIMITERS.indexOf(aString.substring(i, i + 1)) == -1) {
-					index = i;
-					break;
-				}
-			}
-		}
-
-		return index;
-	}
-
-	/**
-	 * Insert insertString to the beginning of aString only if aString does
-	 * not start with the insertString.
-	 */
-	public static String insertIfNotStartWith(String aString, String insertString) {
-		if ((aString != null) && (insertString != null))
-			if (aString.startsWith(insertString))
-				return aString;
-			else
-				return insertString + aString;
-		else
-			return aString;
-	}
-
-	public static boolean isQuoted(String string) {
-		if ((string == null) || (string.length() < 2))
-			return false;
-
-		int lastIndex = string.length() - 1;
-		char firstChar = string.charAt(0);
-		char lastChar = string.charAt(lastIndex);
-
-		return (((firstChar == SINGLE_QUOTE_CHAR) && (lastChar == SINGLE_QUOTE_CHAR)) || ((firstChar == DOUBLE_QUOTE_CHAR) && (lastChar == DOUBLE_QUOTE_CHAR)));
-	}
-
-	/**
-	 * Unit tests.
-	 * 
-	 * @param args
-	 *            java.lang.String[]
-	 */
-	public static void main(String[] args) {
-		// testPaste();
-		testStripNonLetterDigits();
-	}
-
-	/*
-	 * Returns the merged form of both strings
-	 */
-	public static String merge(String newStart, String newEnd) {
-		String[] regions = overlapRegions(newStart, newEnd);
-		return regions[0] + regions[1] + regions[2];
-	}
-
-	public static int occurrencesOf(String searchString, char targetChar) {
-		int result = 0;
-		int len = searchString.length();
-		for (int i = 0; i < len; i++) {
-			if (targetChar == searchString.charAt(i))
-				result++;
-		}
-		return result;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String[]
-	 * @param start
-	 *            java.lang.String
-	 * @param end
-	 *            java.lang.String
-	 * 
-	 * Returns a 3 String array containing unique text from the start,
-	 * duplicated text that overlaps the start and end, and the unique text
-	 * from the end.
-	 */
-	private static String[] overlapRegions(String start, String end) {
-		String[] results = null;
-		if (start != null && end == null) {
-			results = new String[]{start, "", ""}; //$NON-NLS-2$//$NON-NLS-1$
-		}
-		else if (start == null && end != null) {
-			results = new String[]{"", "", end}; //$NON-NLS-2$//$NON-NLS-1$
-		}
-		else if (start == null && end == null) {
-			results = new String[]{"", "", ""}; //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		}
-		else if (start != null && end != null) {
-
-			int startLength = start.length();
-			int endLength = end.length();
-
-			if (startLength == 0 || endLength == 0) {
-				results = new String[]{"", "", ""}; //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-			}
-			else {
-				results = new String[3];
-				String testStart = ""; //$NON-NLS-1$
-				String testEnd = ""; //$NON-NLS-1$
-				int mergeLength = Math.min(startLength, endLength);
-				boolean finished = false;
-				while (mergeLength > 0 && !finished) {
-					testStart = start.substring(startLength - mergeLength);
-					testEnd = end.substring(0, mergeLength);
-					// case sensitive
-					if (testStart.equals(testEnd)) {
-						finished = true;
-						results[0] = start.substring(0, startLength - mergeLength);
-						results[1] = start.substring(startLength - mergeLength);
-						results[2] = end.substring(mergeLength);
-					}
-					mergeLength--;
-				}
-				if (!finished) {
-					results[0] = start;
-					results[1] = ""; //$NON-NLS-1$
-					results[2] = end;
-				}
-			}
-		}
-		return results;
-	}
-
-	/**
-	 * Packs an array of Strings into a single comma delimited String.
-	 * 
-	 * @param strings
-	 * @return
-	 * @todo Generated comment
-	 */
-	public static String pack(String[] strings) {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < strings.length; i++) {
-			buf.append(StringUtils.replace(strings[i], ",", "&comma;")); //$NON-NLS-1$ //$NON-NLS-2$
-			if (i < strings.length - 1)
-				buf.append(","); //$NON-NLS-1$
-		}
-		return buf.toString();
-	}
-
-	/*
-	 * Pastes the new text into the old at the start position, replacing text
-	 * implied by length.
-	 */
-	public static String paste(String oldText, String newText, int start, int length) {
-		String result = null;
-		StringBuffer sb = new StringBuffer();
-		int startIndex = start;
-		int endIndex = start + length;
-		if (startIndex > oldText.length()) {
-			startIndex = oldText.length();
-		}
-		sb.append(oldText.substring(0, startIndex));
-		// null or empty new text accompliches a delete
-		if (newText != null) {
-			sb.append(newText);
-		}
-		if (endIndex < oldText.length()) {
-
-			sb.append(oldText.substring(endIndex));
-		}
-		result = sb.toString();
-		return result;
-	}
-
-	/**
-	 * Replace matching literal portions of a string with another string
-	 */
-	public static String replace(String aString, String source, String target) {
-		if (aString == null)
-			return null;
-		String normalString = ""; //$NON-NLS-1$
-		int length = aString.length();
-		int position = 0;
-		int previous = 0;
-		int spacer = source.length();
-		while (position + spacer - 1 < length && aString.indexOf(source, position) > -1) {
-			position = aString.indexOf(source, previous);
-			normalString = normalString + aString.substring(previous, position) + target;
-			position += spacer;
-			previous = position;
-		}
-		normalString = normalString + aString.substring(position, aString.length());
-
-		return normalString;
-	}
-
-	/**
-	 * Restore the entity references for markup delimiters in text where they
-	 * have been replaced by the proper Unicode values through a DOM text
-	 * parser.
-	 */
-	public static String restoreMarkers(String text) {
-		String content = text;
-		content = replace(content, AMPERSTAND, AMPERSTAND_ENTITY);
-		content = replace(content, LESS_THAN, LESS_THAN_ENTITY);
-		content = replace(content, GREATER_THAN, GREATER_THAN_ENTITY);
-		return content;
-	}
-
-	/**
-	 * Removes extra whitespace characters and quotes
-	 */
-	public static String strip(String quotedString) {
-		if (quotedString == null || quotedString.length() == 0)
-			return quotedString;
-		String trimmed = quotedString.trim();
-		if (trimmed.length() < 2)
-			return quotedString;
-
-		char first = trimmed.charAt(0);
-		char nextToLast = trimmed.charAt(trimmed.length() - 2);
-		char last = trimmed.charAt(trimmed.length() - 1);
-
-		if ((first == '\"' && last == '\"' && nextToLast != '\\') || (first == '\'' && last == '\'' && nextToLast != '\\')) {
-			return trimmed.substring(1, trimmed.length() - 1);
-		}
-		return trimmed;
-	}
-
-	/**
-	 * This method strips anything from the beginning and end of a string that
-	 * is not a letter or digit. It is used by some encoding detectors to come
-	 * up with the encoding name from illformed input (e.g in <?xml
-	 * encoding="abc?> -- where final quote is left off, the '>' is returned
-	 * with the rest of the attribute value 'abc').
-	 */
-	public static String stripNonLetterDigits(String fullValue) {
-		if (fullValue == null || fullValue.length() == 0)
-			return fullValue;
-		int fullValueLength = fullValue.length();
-		int firstPos = 0;
-		while (firstPos < fullValueLength && !Character.isLetterOrDigit(fullValue.charAt(firstPos))) {
-			firstPos++;
-		}
-		int lastPos = fullValueLength - 1;
-		while (lastPos > firstPos && !Character.isLetterOrDigit(fullValue.charAt(lastPos))) {
-			lastPos--;
-		}
-		String result = fullValue;
-		if (firstPos != 0 || lastPos != fullValueLength) {
-			result = fullValue.substring(firstPos, lastPos + 1);
-		}
-		return result;
-	}
-
-	/**
-	 * Similar to strip, except quotes don't need to match such as "UTF' is
-	 * still stripped of both quotes. (Plus, this one does not detect escaped
-	 * quotes)
-	 */
-	public static String stripQuotes(String quotedValue) {
-		if (quotedValue == null)
-			return null;
-		// normally will never have leading or trailing blanks,
-		// but if it does, we'll do lenient interpretation
-		return stripQuotesLeaveInsideSpace(quotedValue).trim();
-	}
-
-	/**
-	 * Like strip quotes, except leaves the start and end space inside the
-	 * quotes
-	 * 
-	 * @param quotedValue
-	 * @return
-	 */
-	public static String stripQuotesLeaveInsideSpace(String quotedValue) {
-		if (quotedValue == null)
-			return null;
-		// nomally will never have leading or trailing blanks ... but just in
-		// case.
-		String result = quotedValue.trim();
-		int len = result.length();
-		if (len > 0) {
-			char firstChar = result.charAt(0);
-			if ((firstChar == SINGLE_QUOTE_CHAR) || (firstChar == DOUBLE_QUOTE_CHAR)) {
-				result = result.substring(1, len);
-			}
-			len = result.length();
-			if (len > 0) {
-				char lastChar = result.charAt(len - 1);
-				if ((lastChar == SINGLE_QUOTE_CHAR) || (lastChar == DOUBLE_QUOTE_CHAR)) {
-					result = result.substring(0, len - 1);
-				}
-			}
-		}
-		return result;
-	}
-
-	public static void testPaste() {
-		String testString = "The quick brown fox ..."; //$NON-NLS-1$
-		System.out.println(paste(testString, null, 4, 5));
-		System.out.println(paste(testString, null, 4, 6));
-		System.out.println(paste(testString, "", 4, 6)); //$NON-NLS-1$
-		System.out.println(paste(testString, "fast", 4, 6)); //$NON-NLS-1$
-		System.out.println(paste(testString, "fast ", 4, 6)); //$NON-NLS-1$
-		System.out.println(paste(testString, "But ", 0, 0)); //$NON-NLS-1$
-		System.out.println(paste("", "burp", 4, 6)); //$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	public static void testStripNonLetterDigits() {
-		String testString = "abc"; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = ""; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "\"abc\""; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "\"ab-c1?"; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "+++"; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "abc="; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-		testString = "abc "; //$NON-NLS-1$
-		System.out.println(testString + " -->" + stripNonLetterDigits(testString) + "<--"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	}
-
-	public static String toString(boolean booleanValue) {
-		if (booleanValue)
-			return TRUE;
-		else
-			return FALSE;
-	}
-
-	/**
-	 * Remove "escaped" chars from a string.
-	 */
-	public static String unescape(String aString) {
-		if (aString == null)
-			return null;
-		String normalString = replace(aString, EQUAL_SIGN_ENTITY, EQUAL_SIGN);
-		normalString = replace(normalString, LINE_FEED_ENTITY, LINE_FEED);
-		normalString = replace(normalString, CARRIAGE_RETURN_ENTITY, CARRIAGE_RETURN);
-		normalString = replace(normalString, LINE_TAB_ENTITY, LINE_TAB);
-		return normalString;
-	}
-
-	public static String uniqueEndOf(String newStart, String newEnd) {
-		String[] regions = overlapRegions(newStart, newEnd);
-		return regions[2];
-	}
-
-	/**
-	 * Unpacks a comma delimited String into an array of Strings
-	 * 
-	 * @param s
-	 * @return
-	 * @todo Generated comment
-	 */
-	public static String[] unpack(String s) {
-		if (s == null)
-			return new String[0];
-		StringTokenizer toker = new StringTokenizer(s, ","); //$NON-NLS-1$
-		List list = new ArrayList();
-		while (toker.hasMoreTokens()) {
-			// since we're separating the values with ',', escape ',' in the
-			// values
-			list.add(StringUtils.replace(toker.nextToken(), "&comma;", ",").trim()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return (String[]) list.toArray(new String[0]);
-	}
-
-	/**
-	 * StringUtils constructor comment.
-	 */
-	private StringUtils() {
-		super();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/TextUtilities.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/TextUtilities.java
deleted file mode 100644
index 544d2c7..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/TextUtilities.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-
-
-/**
- * Collection of text functions.
- * @deprecated - the JFace class is public in 3.1
- */
-// This class was originally copied from org.eclipse.jface.text, and made
-// public
-public class TextUtilities {
-	/**
-	 * Returns whether the text ends with one of the given search strings.
-	 */
-	public static boolean endsWith(String[] searchStrings, String text) {
-		for (int i = 0; i < searchStrings.length; i++) {
-			if (text.endsWith(searchStrings[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the position in the string greater than offset of the longest
-	 * matching search string.
-	 */
-	public static int[] indexOf(String[] searchStrings, String text, int offset) {
-
-		int[] result = {-1, -1};
-
-		for (int i = 0; i < searchStrings.length; i++) {
-			int index = text.indexOf(searchStrings[i], offset);
-			if (index >= 0) {
-
-				if (result[0] == -1) {
-					result[0] = index;
-					result[1] = i;
-				} else if (index < result[0]) {
-					result[0] = index;
-					result[1] = i;
-				} else if (index == result[0] && searchStrings[i].length() > searchStrings[result[1]].length()) {
-					result[0] = index;
-					result[1] = i;
-				}
-			}
-		}
-
-		return result;
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/URIResolver.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/URIResolver.java
deleted file mode 100644
index d2e28d0..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/URIResolver.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-
-
-/**
- * @deprecated
- * 
- * @author nsd
- *
- * Will be removed in M4 and replaced with Flexible Project support
- */
-
-public interface URIResolver {
-
-	String getFileBaseLocation();
-
-	/**
-	 * Resolve the (possibly relative) URI acording to RFC1808 using the
-	 * default file base location. Resolves resource references into absolute
-	 * resource locations without ensuring that the resource actually exists.
-	 */
-	String getLocationByURI(String uri);
-
-	/**
-	 * Resolve the (possibly relative) URI acording to RFC1808 using the
-	 * default file base location. Resolves resource references into absolute
-	 * resource locations without ensuring that the resource actually exists.
-	 * 
-	 * If resolveCrossProjectLinks is set to true, then this method will
-	 * properly resolve the URI if it is a valid URI to another (appropriate)
-	 * project.
-	 */
-	String getLocationByURI(String uri, boolean resolveCrossProjectLinks);
-
-	/**
-	 * Perform the getLocationByURI action using the baseReference as the
-	 * point of reference instead of the default for this resolver
-	 */
-	String getLocationByURI(String uri, String baseReference);
-
-	/**
-	 * Perform the getLocationByURI action using the baseReference as the
-	 * point of reference instead of the default for this resolver
-	 * 
-	 * If resolveCrossProjectLinks is set to true, then this method will
-	 * properly resolve the URI if it is a valid URI to another (appropriate)
-	 * project.
-	 */
-	String getLocationByURI(String uri, String baseReference, boolean resolveCrossProjectLinks);
-
-	IProject getProject();
-
-	IContainer getRootLocation();
-
-	/**
-	 * Attempts to return a direct inputstream to the given URI which must be
-	 * relative to the default point of reference.
-     * @deprecated
-	 */
-	InputStream getURIStream(String uri);
-
-	void setFileBaseLocation(String newLocation);
-
-	void setProject(IProject newProject);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/Utilities.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/Utilities.java
deleted file mode 100644
index c3c6a3d..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/util/Utilities.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.util;
-
-
-
-import java.io.BufferedInputStream;
-import java.io.InputStream;
-
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.internal.BufferedLimitedStream;
-
-
-
-public class Utilities {
-
-	/**
-	 * a common calculation in some of the parsing methods (e.g. in
-	 * ContextRegion and IStructuredDocumentRegion)
-	 */
-	public static int calculateLengthDifference(String changes, int lengthToReplace) {
-		// determine the length by the text itself, or, if there is no text to
-		// insert (i.e. we are doing a delete) then calculate the length as
-		// a negative number to denote the amount to delete.
-		// For a straight insert, the selection Length will be zero.
-		int lengthDifference = 0;
-		if (changes == null) {
-			// the delete case
-			lengthDifference = 0 - lengthToReplace;
-		} else {
-			lengthDifference = changes.length() - lengthToReplace;
-		}
-		if (Debug.debugStructuredDocument) {
-			System.out.println("lengthDifference: " + lengthDifference);//$NON-NLS-1$
-		}
-		return lengthDifference;
-	}
-
-	/**
-	 * Returns true iff both parameters are not null and the object is within
-	 * the array. Careful, this uses identity. Not good for basic strings.
-	 */
-	public static boolean contains(Object[] objectArray, Object object) {
-		boolean result = false;
-		// if object or objectArray is null, return false
-		if ((objectArray != null) && (object != null)) {
-			for (int i = 0; i < objectArray.length; i++) {
-				if (objectArray[i] == object) {
-					result = true;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	public static boolean containsString(String[] objectArray, String object) {
-		boolean result = false;
-		// if object or objectArray is null, return false
-		if ((objectArray != null) && (object != null)) {
-			for (int i = 0; i < objectArray.length; i++) {
-				if (objectArray[i].equals(object)) {
-					result = true;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Ensures that an InputStream has mark/reset support, is readlimit is
-	 * set, and that the stream is "limitable" (that is, reports "end of
-	 * input" rather than allow going past mark). This is very specialized
-	 * stream introduced to overcome
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=67211. See also
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=68565
-	 */
-	public static InputStream getLimitedStream(InputStream original) {
-		if (original == null)
-			return null;
-		if (original instanceof BufferedLimitedStream)
-			return original;
-		return new BufferedLimitedStream(original, CodedIO.MAX_BUF_SIZE);
-	}
-
-	/**
-	 * Ensures that an InputStream has mark/reset support.
-	 */
-	public static InputStream getMarkSupportedStream(InputStream original) {
-		if (original == null)
-			return null;
-		if (original.markSupported())
-			return original;
-		InputStream buffered = new BufferedInputStream(original, CodedIO.MAX_BUF_SIZE);
-		buffered.mark(CodedIO.MAX_MARK_SIZE);
-		return buffered;
-	}
-
-	/**
-	 * Used for log/trace messages. Id is assumed to be some form of a
-	 * filename. See IModelManager.
-	 */
-	public static String makeShortId(Object id) {
-		if (id == null)
-			id = "NOID"; //com.ibm.sed.util.Assert.isNotNull(id);
-		// //$NON-NLS-1$
-		String whole = id.toString();
-		String part = whole.substring(whole.lastIndexOf("/") + 1); //$NON-NLS-1$
-		return "..." + part; //$NON-NLS-1$
-	}
-
-
-	/**
-	 * Utilities constructor comment.
-	 */
-	public Utilities() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/validate/ValidationAdapter.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/validate/ValidationAdapter.java
deleted file mode 100644
index 29316d1..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/validate/ValidationAdapter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.validate;
-
-
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.IndexedRegion;
-
-/**
- */
-public interface ValidationAdapter extends INodeAdapter {
-
-	/**
-	 */
-	void setReporter(ValidationReporter reporter);
-
-	/**
-	 */
-	void validate(IndexedRegion node);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/validate/ValidationMessage.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/validate/ValidationMessage.java
deleted file mode 100644
index 46c38b6..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/validate/ValidationMessage.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.validate;
-
-
-
-/**
- */
-public class ValidationMessage {
-	public static final int ERROR = 1;
-	public static final int INFORMATION = 3;
-	public static final int WARNING = 2;
-	private int length;
-
-	private String message;
-	private int offset;
-	private int severity;
-
-	/**
-	 */
-	public ValidationMessage(String message, int offset, int severity) {
-		this(message, offset, 0, severity);
-	}
-
-	/**
-	 */
-	public ValidationMessage(String message, int offset, int length, int severity) {
-		super();
-
-		this.message = message;
-		this.offset = offset;
-		this.length = length;
-		this.severity = severity;
-	}
-
-	/**
-	 */
-	public int getLength() {
-		return this.length;
-	}
-
-	/**
-	 */
-	public String getMessage() {
-		return this.message;
-	}
-
-	/**
-	 */
-	public int getOffset() {
-		return this.offset;
-	}
-
-	/**
-	 */
-	public int getSeverity() {
-		return this.severity;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/validate/ValidationReporter.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/validate/ValidationReporter.java
deleted file mode 100644
index 67ed09c..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/validate/ValidationReporter.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.core.validate;
-
-
-
-/**
- */
-public interface ValidationReporter {
-
-	/**
-	 */
-	void report(ValidationMessage message);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/.classpath b/bundles/org.eclipse.wst.sse.ui/.classpath
deleted file mode 100644
index 7188900..0000000
--- a/bundles/org.eclipse.wst.sse.ui/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-extensions"/>
-	<classpathentry kind="src" path="src-contentproperties"/>
-	<classpathentry excluding="org/eclipse/**/internal/**" kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.sse.ui/.compatibility b/bundles/org.eclipse.wst.sse.ui/.compatibility
deleted file mode 100644
index 787bad3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=2582

diff --git a/bundles/org.eclipse.wst.sse.ui/.cvsignore b/bundles/org.eclipse.wst.sse.ui/.cvsignore
deleted file mode 100644
index 938fee1..0000000
--- a/bundles/org.eclipse.wst.sse.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-editor.jar
-build.xml
-temp.folder
-org.eclipse.wst.sse.ui_1.0.0.jar
diff --git a/bundles/org.eclipse.wst.sse.ui/.options b/bundles/org.eclipse.wst.sse.ui/.options
deleted file mode 100644
index 19a33c9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/.options
+++ /dev/null
@@ -1,56 +0,0 @@
-org.eclipse.wst.sse.ui/debug=true
-org.eclipse.wst.sse.ui/debug/tracefilter=
-
-#org.eclipse.wst.sse.ui.edit.util.ActionContributer._showDebugStatus
-org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields=false
-
-
-#org.eclipse.wst.sse.ui.extension.TransferBuilder.debugTime
-org.eclipse.wst.sse.ui/transferbuilder/time=false
-
-org.eclipse.wst.sse.ui/extendedconfigurationbuilder=true
-#org.eclipse.wst.sse.ui.extension.ExtendedConfigurationBuilder.debugTime
-org.eclipse.wst.sse.ui/extendedconfigurationbuilder/time=false
-
-
-org.eclipse.wst.sse.ui/extendededitoractionbuilder=true
-
-#org.eclipse.wst.sse.ui.extension.ExtendedEditorActionBuilder.debugReadTime
-org.eclipse.wst.sse.ui/extendededitoractionbuilder/readtime=false
-
-#org.eclipse.wst.sse.ui.extension.ExtendedEditorActionBuilder.debugContributeTime
-org.eclipse.wst.sse.ui/extendededitoractionbuilder/contributetime=false
-
-
-#org.eclipse.wst.sse.ui.extension.ExtendedEditorActionBuilder.debugMenu
-org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugmenu=false
-
-#org.eclipse.wst.sse.ui.extension.ExtendedEditorActionBuilder.debugPopup
-org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugpopup=false
-
-#org.eclipse.wst.sse.ui.extension.ExtendedEditorActionBuilder.debugToolbar
-org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugtoolbar=false
-
-
-#org.eclipse.wst.sse.ui.FileModelProvider.debugOperations
-org.eclipse.wst.sse.ui/filemodelprovider/operations=false
-
-#org.eclipse.wst.sse.ui.FileModelProvider.debugLifecyclelistener
-org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener=false
-
-#org.eclipse.wst.sse.ui.FileModelProvider.debugModelStatelistener
-org.eclipse.wst.sse.ui/filemodelprovider/modelstatelistener=false
-
-
-#org.eclipse.wst.sse.ui.StorageModelProvider.debugOperations
-org.eclipse.wst.sse.ui/storagemodelprovider/operations=false
-
-#org.eclipse.wst.sse.ui.StorageModelProvider.debugElementStatelistener
-org.eclipse.wst.sse.ui/storagemodelprovider/elementstatelistener=false
-
-org.eclipse.wst.sse.ui/debug/outline=false
-
-#org.eclipse.wst.sse.ui.views.contentoutline.PropertyChangeUpdateActionContributionItem.debug
-org.eclipse.wst.sse.ui/propertyChangeUpdateActionContributionItem=false
-
-org.eclipse.wst.sse.ui/debug/reconcilerjob=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/.project b/bundles/org.eclipse.wst.sse.ui/.project
deleted file mode 100644
index 78bd94c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.sse.ui</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/bundles/org.eclipse.wst.sse.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.sse.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f28e4f8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jan 12 12:44:48 EST 2005

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=error

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=ignore

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=enabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/bundles/org.eclipse.wst.sse.ui/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.wst.sse.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 78e486f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Dec 07 15:37:06 EST 2004

-compilers.p.unused-element-or-attribute=0

-compilers.p.unresolved-ex-points=0

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=0

-compilers.p.unknown-class=0

-compilers.p.unknown-attribute=0

-compilers.p.no-required-att=0

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/JSEditor/MakeJavaReflectFCRecs.java b/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/JSEditor/MakeJavaReflectFCRecs.java
deleted file mode 100644
index 01a39ac..0000000
--- a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/JSEditor/MakeJavaReflectFCRecs.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-import java.util.Hashtable;
-import java.io.FileWriter;
-
-class MakeJavaReflectFCRecs {
-    static Hashtable htClassNames = new Hashtable();
-
-    private static String getShortClassName(Class cls) {
-        String retval = cls.toString();
-        if (cls.isArray()) retval = cls.getComponentType().toString();
-        int i = retval.lastIndexOf('.');
-        if (i>0) retval = retval.substring(i+1);
-        if (cls.isArray()) retval += "[]";
-        return retval;
-    }
-
-    static void doClass( Class cls ) throws java.io.IOException {
-        String strClassName = cls.getName();
-        if (htClassNames.get(strClassName)!=null) return;
-        htClassNames.put(strClassName,"8");
-
-        FileWriter fw = new FileWriter( "fc/javaclassreflect."+strClassName+".fcrec" );
-        java.lang.reflect.Field fields[] = cls.getFields();
-        for (int i=0; i<fields.length; i++) {
-            java.lang.reflect.Field field = fields[i];
-            int mods = field.getModifiers();
-            if (java.lang.reflect.Modifier.isPublic(mods)) {
-                fw.write( "#/------------------------------------------\n" );
-                fw.write( "#!"+field.getName()+"\n" );
-                fw.write( "#@type=field\n" );
-                fw.write( "#@wasjspsupport=y\n" );
-                String dt = field.getName()+" ";
-                Class fcls = field.getType();
-                dt += getShortClassName(fcls); 
-                // todo: we could designate if it's static
-                fw.write( "#@displaytext="+dt+"\n");
-                fw.write( "#@fc=javaclassreflect."+field.getType().getName()+"\n" );
-                doClass(field.getType());
-            }
-        }
-        java.lang.reflect.Method methods[] = cls.getMethods();
-        for (int i=0; i<methods.length; i++) {
-            java.lang.reflect.Method method = methods[i];
-            int mods = method.getModifiers();
-            if (java.lang.reflect.Modifier.isPublic(mods)) {
-                fw.write( "#/------------------------------------------\n" );
-                fw.write( "#!"+method.getName()+"()\n" );
-                fw.write( "#@type=method\n" );
-                fw.write( "#@wasjspsupport=y\n");
-                String dt = method.getName()+"(";
-                Class pclasses[] = method.getParameterTypes();
-                if (pclasses.length>0) {
-                    for (int j=0; j<pclasses.length;j++) {
-                        dt += getShortClassName(pclasses[j])+",";
-                    }
-                    dt = dt.substring(0,dt.length()-1);
-                }
-                dt += ") ";
-                // todo: we could designate if it's static
-                Class fcls = method.getReturnType();
-                dt += getShortClassName(fcls); 
-                fw.write( "#@displaytext="+dt+"\n" );
-                // todo: bug? "getDeclaringClass" ?
-                fw.write( "#@fc=javaclassreflect."+method.getReturnType().getName()+"\n");
-                doClass(method.getReturnType());
-            }
-        }
-        if (cls.isInterface()) {
-            Class interfaces[] = cls.getInterfaces();
-            for (int i=interfaces.length; i>0;) {
-                Class iface = interfaces[--i];
-                fw.write( "#/------------------------------------------\n" );
-                fw.write( "#!#isa\n" );
-                fw.write( "#@wasjspsupport=y\n" );
-                fw.write( "#@fc=javaclassreflect."+iface.getName()+"\n" );
-                doClass(iface);
-            }
-        } else {
-            if (cls.isArray()) {
-                fw.write( "#/------------------------------------------\n" );
-                fw.write( "#!length\n" );
-                fw.write( "#@type=field\n" );
-                fw.write( "#@wasjspsupport=y\n" );
-                fw.write( "#@displaytext=length int\n");
-                fw.write( "#@fc=javaclassreflect.int\n" );
-                fw.write( "#/------------------------------------------\n" );
-                fw.write( "#!/number/\n" );
-                fw.write( "#@type=arrayindex\n" );
-                fw.write( "#@wasjspsupport=y\n" );
-                //fw.write( "#@displaytext=length int\n");
-                fw.write( "#@fc=javaclassreflect."+cls.getComponentType().getName()+"\n" );
-                doClass(cls.getComponentType());
-
-            } else {
-                Class clsUp = cls.getSuperclass();
-                if (clsUp!=null) {
-                    fw.write( "#/------------------------------------------\n" );
-                    fw.write( "#!#isa\n" );
-                    fw.write( "#@wasjspsupport=y\n" );
-                    fw.write( "#@fc=javaclassreflect."+clsUp.getName()+"\n" );
-                    doClass(clsUp);
-                }
-            }
-        }   
-        // todo: check exceptions
-        fw.close();
-        
-    }
-    public static void main (String args[]) {
-        try {
-            doClass( javax.servlet.http.HttpServletRequest.class );
-            doClass( javax.servlet.http.HttpServletResponse.class );
-            doClass( javax.servlet.jsp.JspWriter.class );
-            doClass( javax.servlet.http.HttpServletRequest.class );
-            doClass( java.lang.Throwable.class );
-            doClass( javax.servlet.jsp.PageContext.class );
-            doClass( javax.servlet.ServletConfig.class );
-            doClass( javax.servlet.ServletContext.class );
-            doClass( javax.servlet.http.HttpSession.class );
-        } catch (java.io.IOException exc) {
-            System.out.println( "exception encountered" );
-            exc.printStackTrace();
-        }
-    }
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/JSEditor/build.bat b/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/JSEditor/build.bat
deleted file mode 100644
index 728c2c9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/JSEditor/build.bat
+++ /dev/null
@@ -1,4 +0,0 @@
-javac -g -classpath C:\java\j2sdkee1.2.1\lib\j2ee.jar  *.java
-@if ERRORLEVEL 1 goto done
-java  -Djava.compiler= -classpath .;C:\java\j2sdkee1.2.1\lib\j2ee.jar MakeJavaReflectFCRecs
-:done
diff --git a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/nl/README.2TC.RME b/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/nl/README.2TC.RME
deleted file mode 100644
index 84b2b43..0000000
--- a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/nl/README.2TC.RME
+++ /dev/null
@@ -1,9 +0,0 @@
-==============================

-TPMS: WSAD6                                   

-Product: IBM WebSphere Studio Application Developer v6

-Information Unit: SEDIT

-Package Type: PII   

-Package Name: SEDIT.zip

-Drop Date:    <07/27/2004>

-Return date:  <08/03/2004>

-==============================

diff --git a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/nl/preparePIIDrop.xml b/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/nl/preparePIIDrop.xml
deleted file mode 100644
index e7b8a59..0000000
--- a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/nl/preparePIIDrop.xml
+++ /dev/null
@@ -1,431 +0,0 @@
-<project name="preparePIIDrop" default="PreparePIIDrop" basedir=".">
-
-	<target name="init">
-		<property name="editor" value="org.eclipse.wst.sse.ui" />
-		<property name="editor_extensions" value="org.eclipse.wst.sse.ui.extensions" />
-		<property name="editor_css" value="org.eclipse.wst.sse.ui.css" />
-		<property name="editor_dtd" value="org.eclipse.wst.sse.ui.dtd" />
-		<property name="editor_html" value="org.eclipse.wst.sse.ui.html" />
-		<property name="editor_js" value="org.eclipse.wst.sse.ui.javascript" />
-		<property name="editor_jsp" value="org.eclipse.wst.sse.ui.jsp" />
-		<property name="editor_xml" value="org.eclipse.wst.sse.ui.xml" />
-		<property name="qev" value="com.ibm.etools.qev" />
-		<property name="snippets" value="org.eclipse.wst.sse.snippets" />
-		<property name="js_common_ui" value="org.eclipse.wst.sse.javascript.common.ui" />
-		<property name="model" value="org.eclipse.wst.sse.core" />
-		<property name="model_css" value="org.eclipse.wst.sse.core.css" />
-		<property name="model_dtd" value="org.eclipse.wst.sse.core.dtd" />
-		<property name="model_html" value="org.eclipse.wst.sse.core.html" />
-		<property name="model_js" value="org.eclipse.wst.sse.core.javascript" />
-		<property name="model_jsp" value="org.eclipse.wst.sse.core.jsp" />
-		<property name="model_xml" value="org.eclipse.wst.sse.core.xml" />
-		<property name="encoding_resource" value="org.eclipse.wst.common.encoding" />
-		<property name="content_properties" value="org.eclipse.wst.sse.ui.contentproperties" />
-		<property name="validation_html" value="org.eclipse.wst.validation.core.html" />
-		<property name="system_dtds" value="com.ibm.webtooling.system.dtds" />
-		<property name="xmleditor" value="com.ibm.xmleditor" />
-
-		<property name="dropsDir" value="E:/builds/piibuilds/drops/en" />
-	</target>
-
-	<target name="CleanDrive" depends="init">
-		<echo message="Deleting previous drop files." />
-		<delete dir="${dropsDir}" />
-	</target>
-
-	<target name="CopyFiles" depends="init">
-		<echo message="Copying files from workspace to build directory." />
-		<mkdir dir="${dropsDir}" />
-
-		<mkdir dir="${dropsDir}/${editor}.nl1" />
-		<mkdir dir="${dropsDir}/${editor}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${editor_extensions}.nl1" />
-		<!-- no src/*.properties for ${editor_extensions} -->
-
-		<mkdir dir="${dropsDir}/${editor_css}.nl1" />
-		<mkdir dir="${dropsDir}/${editor_css}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${editor_dtd}.nl1" />
-		<!-- no src/*.properties for ${editor_dtd} -->
-
-		<mkdir dir="${dropsDir}/${editor_html}.nl1" />
-		<mkdir dir="${dropsDir}/${editor_html}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${editor_js}.nl1" />
-		<mkdir dir="${dropsDir}/${editor_js}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${editor_jsp}.nl1" />
-		<mkdir dir="${dropsDir}/${editor_jsp}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${editor_xml}.nl1" />
-		<mkdir dir="${dropsDir}/${editor_xml}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${qev}.nl1" />
-		<mkdir dir="${dropsDir}/${qev}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${snippets}.nl1" />
-		<mkdir dir="${dropsDir}/${snippets}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${js_common_ui}.nl1" />
-		<mkdir dir="${dropsDir}/${js_common_ui}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${model}.nl1" />
-		<mkdir dir="${dropsDir}/${model}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${model_css}.nl1" />
-		<mkdir dir="${dropsDir}/${model_css}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${model_dtd}.nl1" />
-		<!-- no src/*.properties for ${model_dtd} -->
-
-		<mkdir dir="${dropsDir}/${model_html}.nl1" />
-		<mkdir dir="${dropsDir}/${model_html}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${model_js}.nl1" />
-		<mkdir dir="${dropsDir}/${model_js}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${model_jsp}.nl1" />
-		<mkdir dir="${dropsDir}/${model_jsp}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${model_xml}.nl1" />
-		<!-- no src/*.properties for ${model_xml} -->
-
-		<mkdir dir="${dropsDir}/${encoding_resource}.nl1" />
-		<mkdir dir="${dropsDir}/${encoding_resource}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${content_properties}.nl1" />
-		<!-- no src/*.properties for ${content_properties} -->
-
-		<mkdir dir="${dropsDir}/${validation_html}.nl1" />
-		<mkdir dir="${dropsDir}/${validation_html}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${system_dtds}.nl1" />
-		<!-- no src/*.properties for ${system_dtds} -->
-
-		<mkdir dir="${dropsDir}/${xmleditor}.nl1" />
-		<mkdir dir="${dropsDir}/${xmleditor}.nl1/src" />
-
-		<mkdir dir="${dropsDir}/${editor_html}" />
-		<mkdir dir="${dropsDir}/${editor_html}/templates" />
-
-		<mkdir dir="${dropsDir}/${editor_jsp}" />
-		<mkdir dir="${dropsDir}/${editor_jsp}/templates" />
-
-		<mkdir dir="${dropsDir}/${editor_xml}" />
-		<mkdir dir="${dropsDir}/${editor_xml}/templates" />
-
-		<mkdir dir="${dropsDir}/${model_html}" />
-		<mkdir dir="${dropsDir}/${model_html}/data" />
-
-		<mkdir dir="${dropsDir}/${js_common_ui}" />
-		<mkdir dir="${dropsDir}/${js_common_ui}/data" />
-
-		<mkdir dir="${dropsDir}/${encoding_resource}" />
-		<mkdir dir="${dropsDir}/${encoding_resource}/config" />
-
-		<copy toDir="${dropsDir}/${editor}.nl1">
-			<fileset dir="../../../${editor}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor}.nl1/src">
-			<fileset dir="../../../${editor}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_extensions}.nl1">
-			<fileset dir="../../../${editor_extensions}" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${editor_extensions} -->
-		<copy toDir="${dropsDir}/${editor_css}.nl1">
-			<fileset dir="../../../${editor_css}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_css}.nl1/src">
-			<fileset dir="../../../${editor_css}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_dtd}.nl1">
-			<fileset dir="../../../${editor_dtd}" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${editor_dtd} -->
-		<copy toDir="${dropsDir}/${editor_html}.nl1">
-			<fileset dir="../../../${editor_html}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_html}.nl1/src">
-			<fileset dir="../../../${editor_html}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_js}.nl1">
-			<fileset dir="../../../${editor_js}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_js}.nl1/src">
-			<fileset dir="../../../${editor_js}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_jsp}.nl1">
-			<fileset dir="../../../${editor_jsp}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_jsp}.nl1/src">
-			<fileset dir="../../../${editor_jsp}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_xml}.nl1">
-			<fileset dir="../../../${editor_xml}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_xml}.nl1/src">
-			<fileset dir="../../../${editor_xml}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${qev}.nl1">
-			<fileset dir="../../../${qev}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${qev}.nl1/src">
-			<fileset dir="../../../${qev}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${snippets}.nl1">
-			<fileset dir="../../../${snippets}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${snippets}.nl1/src">
-			<fileset dir="../../../${snippets}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${js_common_ui}.nl1">
-			<fileset dir="../../../${js_common_ui}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${js_common_ui}.nl1/src">
-			<fileset dir="../../../${js_common_ui}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model}.nl1">
-			<fileset dir="../../../${model}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model}.nl1/src">
-			<fileset dir="../../../${model}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_css}.nl1">
-			<fileset dir="../../../${model_css}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_css}.nl1/src">
-			<fileset dir="../../../${model_css}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_dtd}.nl1">
-			<fileset dir="../../../${model_dtd}" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${model_dtd} -->
-		<copy toDir="${dropsDir}/${model_html}.nl1">
-			<fileset dir="../../../${model_html}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_html}.nl1/src">
-			<fileset dir="../../../${model_html}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_js}.nl1">
-			<fileset dir="../../../${model_js}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_js}.nl1/src">
-			<fileset dir="../../../${model_js}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_jsp}.nl1">
-			<fileset dir="../../../${model_jsp}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_jsp}.nl1/src">
-			<fileset dir="../../../${model_jsp}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_xml}.nl1">
-			<fileset dir="../../../${model_xml}" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${model_xml} -->
-		<copy toDir="${dropsDir}/${encoding_resource}.nl1">
-			<fileset dir="../../../${encoding_resource}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${encoding_resource}.nl1/src">
-			<fileset dir="../../../${encoding_resource}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${content_properties}.nl1">
-			<fileset dir="../../../${content_properties}" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${content_properties} -->
-		<copy toDir="${dropsDir}/${validation_html}.nl1">
-			<fileset dir="../../../${validation_html}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${validation_html}.nl1/src">
-			<fileset dir="../../../${validation_html}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${system_dtds}.nl1">
-			<fileset dir="../../../${system_dtds}" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${system_dtds} -->
-		<copy toDir="${dropsDir}/${xmleditor}.nl1">
-			<fileset dir="../../../${xmleditor}" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${xmleditor}.nl1/src">
-			<fileset dir="../../../${xmleditor}/src" includes="**/*.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_html}/templates">
-			<fileset dir="../../../${editor_html}/templates" includes="**/htmldefault-templates.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_jsp}/templates">
-			<fileset dir="../../../${editor_jsp}/templates" includes="**/jspdefault-templates.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${editor_xml}/templates">
-			<fileset dir="../../../${editor_xml}/templates" includes="**/xmldefault-templates.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${model_html}/data">
-			<fileset dir="../../../${model_html}/data" includes="**/htmref.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${js_common_ui}/data">
-			<fileset dir="../../../${js_common_ui}/data" includes="**/jsref.properties" />
-		</copy>
-		<copy toDir="${dropsDir}/${encoding_resource}/config">
-			<fileset dir="../../../${encoding_resource}/config" includes="**/charset.properties" />
-		</copy>
-
-		<copy toDir="${dropsDir}" file="README.2TC.RME" />
-	</target>
-
-	<!-- Set all the message IDs ... IWAK####X -->
-	<target name="SetMessageIDs" depends="init">
-		<messageIdGen folderPath="${dropsDir}" componentId="K" />
-	</target>
-
-	<!-- Delete the backup files created by msgID -->
-	<target name="DeleteBackup" depends="init">
-		<echo message="Deleting *.properties.backup files" />
-		<delete>
-			<fileset dir="${dropsDir}" includes="**/*.properties.backup" />
-		</delete>
-	</target>
-
-	<target name="CreateZip" depends="init">
-		<echo message="Creating zip." />
-		<zip basedir="${dropsDir}" zipfile="${dropsDir}/../sedit.zip" />
-	</target>
-
-	<target name="CopyBack" depends="init">
-		<echo message="Copying files back to workspace." />
-		<copy toDir="../../../${editor}">
-			<fileset dir="${dropsDir}/${editor}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor}/src">
-			<fileset dir="${dropsDir}/${editor}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_extensions}">
-			<fileset dir="${dropsDir}/${editor_extensions}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${editor_extensions} -->
-		<copy toDir="../../../${editor_css}">
-			<fileset dir="${dropsDir}/${editor_css}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_css}/src">
-			<fileset dir="${dropsDir}/${editor_css}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_dtd}">
-			<fileset dir="${dropsDir}/${editor_dtd}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${editor_dtd} -->
-		<copy toDir="../../../${editor_html}">
-			<fileset dir="${dropsDir}/${editor_html}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_html}/src">
-			<fileset dir="${dropsDir}/${editor_html}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_js}">
-			<fileset dir="${dropsDir}/${editor_js}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_js}/src">
-			<fileset dir="${dropsDir}/${editor_js}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_jsp}">
-			<fileset dir="${dropsDir}/${editor_jsp}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_jsp}/src">
-			<fileset dir="${dropsDir}/${editor_jsp}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_xml}">
-			<fileset dir="${dropsDir}/${editor_xml}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${editor_xml}/src">
-			<fileset dir="${dropsDir}/${editor_xml}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${qev}">
-			<fileset dir="${dropsDir}/${qev}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${qev}/src">
-			<fileset dir="${dropsDir}/${qev}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${snippets}">
-			<fileset dir="${dropsDir}/${snippets}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${snippets}/src">
-			<fileset dir="${dropsDir}/${snippets}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${js_common_ui}">
-			<fileset dir="${dropsDir}/${js_common_ui}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${js_common_ui}/src">
-			<fileset dir="${dropsDir}/${js_common_ui}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model}">
-			<fileset dir="${dropsDir}/${model}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model}/src">
-			<fileset dir="${dropsDir}/${model}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model_css}">
-			<fileset dir="${dropsDir}/${model_css}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model_css}/src">
-			<fileset dir="${dropsDir}/${model_css}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model_dtd}">
-			<fileset dir="${dropsDir}/${model_dtd}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${model_dtd} -->
-		<copy toDir="../../../${model_html}">
-			<fileset dir="${dropsDir}/${model_html}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model_html}/src">
-			<fileset dir="${dropsDir}/${model_html}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model_js}">
-			<fileset dir="${dropsDir}/${model_js}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model_js}/src">
-			<fileset dir="${dropsDir}/${model_js}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model_jsp}">
-			<fileset dir="${dropsDir}/${model_jsp}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model_jsp}/src">
-			<fileset dir="${dropsDir}/${model_jsp}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${model_xml}">
-			<fileset dir="${dropsDir}/${model_xml}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${model_xml} -->
-		<copy toDir="../../../${encoding_resource}">
-			<fileset dir="${dropsDir}/${encoding_resource}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${encoding_resource}/src">
-			<fileset dir="${dropsDir}/${encoding_resource}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${content_properties}">
-			<fileset dir="${dropsDir}/${content_properties}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${content_properties} -->
-		<copy toDir="../../../${validation_html}">
-			<fileset dir="${dropsDir}/${validation_html}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${validation_html}/src">
-			<fileset dir="${dropsDir}/${validation_html}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${system_dtds}">
-			<fileset dir="${dropsDir}/${system_dtds}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<!-- no src/*.properties for ${system_dtds} -->
-		<copy toDir="../../../${xmleditor}">
-			<fileset dir="${dropsDir}/${xmleditor}.nl1" includes="**/plugin.properties" />
-		</copy>
-		<copy toDir="../../../${xmleditor}/src">
-			<fileset dir="${dropsDir}/${xmleditor}.nl1/src" includes="**/*.properties" excludes="**/plugin.properties" />
-		</copy>
-	</target>
-
-	<target name="PreparePIIDrop">
-		<antcall target="CleanDrive" />
-		<antcall target="CopyFiles" />
-		<antcall target="SetMessageIDs" />
-		<antcall target="DeleteBackup" />
-		<antcall target="CreateZip" />
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/nl/processPIIReturn.xml b/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/nl/processPIIReturn.xml
deleted file mode 100644
index daa4151..0000000
--- a/bundles/org.eclipse.wst.sse.ui/DevTimeSupport/nl/processPIIReturn.xml
+++ /dev/null
@@ -1,457 +0,0 @@
-<project name="processPIIReturns" default="ProcessPIIReturns" basedir=".">
-
-	<target name="init">
-		<property name="editor" value="org.eclipse.wst.sse.ui" />
-		<property name="editor_extensions" value="org.eclipse.wst.sse.ui.extensions" />
-		<property name="editor_css" value="org.eclipse.wst.sse.ui.css" />
-		<property name="editor_dtd" value="org.eclipse.wst.sse.ui.dtd" />
-		<property name="editor_html" value="org.eclipse.wst.sse.ui.html" />
-		<property name="editor_js" value="org.eclipse.wst.sse.ui.javascript" />
-		<property name="editor_jsp" value="org.eclipse.wst.sse.ui.jsp" />
-		<property name="editor_xml" value="org.eclipse.wst.sse.ui.xml" />
-		<property name="qev" value="com.ibm.etools.qev" />
-		<property name="snippets" value="org.eclipse.wst.sse.snippets" />
-		<property name="js_common_ui" value="org.eclipse.wst.sse.javascript.common.ui" />
-		<property name="model" value="org.eclipse.wst.sse.core" />
-		<property name="model_css" value="org.eclipse.wst.sse.core.css" />
-		<property name="model_dtd" value="org.eclipse.wst.sse.core.dtd" />
-		<property name="model_html" value="org.eclipse.wst.sse.core.html" />
-		<property name="model_js" value="org.eclipse.wst.sse.core.javascript" />
-		<property name="model_jsp" value="org.eclipse.wst.sse.core.jsp" />
-		<property name="model_xml" value="org.eclipse.wst.sse.core.xml" />
-		<property name="encoding_resource" value="org.eclipse.wst.common.encoding" />
-		<property name="content_properties" value="org.eclipse.wst.sse.ui.contentproperties" />
-		<property name="validation_html" value="org.eclipse.wst.validation.core.html" />
-		<property name="system_dtds" value="com.ibm.webtooling.system.dtds" />
-		<property name="xmleditor" value="com.ibm.xmleditor" />
-
-		<property name="returnsDir" value="E:/builds/piibuilds/returns" />
-		<property name="runtimesDir" value="C:/Program Files/IBM/RSDP/6.0/runtimes/base_v6_stub/java/bin" />
-	</target>
-
-	<target name="CleanDrive" depends="init">
-		<echo message="Deleting previous return files." />
-		<delete dir="${returnsDir}/all" />
-	</target>
-
-	<target name="mkdirs" depends="init">
-		<echo message="Making directories." />
-		<mkdir dir="${returnsDir}/all" />
-
-		<mkdir dir="${returnsDir}/all/${editor}.nl1" />
-		<mkdir dir="${returnsDir}/all/${editor}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${editor_extensions}.nl1" />
-		<!-- no src/*.properties for ${editor_extensions} -->
-
-		<mkdir dir="${returnsDir}/all/${editor_css}.nl1" />
-		<mkdir dir="${returnsDir}/all/${editor_css}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${editor_dtd}.nl1" />
-		<!-- no src/*.properties for ${editor_dtd} -->
-
-		<mkdir dir="${returnsDir}/all/${editor_html}.nl1" />
-		<mkdir dir="${returnsDir}/all/${editor_html}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${editor_js}.nl1" />
-		<mkdir dir="${returnsDir}/all/${editor_js}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${editor_jsp}.nl1" />
-		<mkdir dir="${returnsDir}/all/${editor_jsp}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${editor_xml}.nl1" />
-		<mkdir dir="${returnsDir}/all/${editor_xml}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${qev}.nl1" />
-		<mkdir dir="${returnsDir}/all/${qev}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${snippets}.nl1" />
-		<mkdir dir="${returnsDir}/all/${snippets}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${js_common_ui}.nl1" />
-		<mkdir dir="${returnsDir}/all/${js_common_ui}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${model}.nl1" />
-		<mkdir dir="${returnsDir}/all/${model}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${model_css}.nl1" />
-		<mkdir dir="${returnsDir}/all/${model_css}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${model_dtd}.nl1" />
-		<!-- no src/*.properties for ${model_dtd} -->
-
-		<mkdir dir="${returnsDir}/all/${model_html}.nl1" />
-		<mkdir dir="${returnsDir}/all/${model_html}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${model_js}.nl1" />
-		<mkdir dir="${returnsDir}/all/${model_js}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${model_jsp}.nl1" />
-		<mkdir dir="${returnsDir}/all/${model_jsp}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${model_xml}.nl1" />
-		<!-- no src/*.properties for ${model_xml} -->
-
-		<mkdir dir="${returnsDir}/all/${encoding_resource}.nl1" />
-		<mkdir dir="${returnsDir}/all/${encoding_resource}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${content_properties}.nl1" />
-		<!-- no src/*.properties for ${content_properties} -->
-
-		<mkdir dir="${returnsDir}/all/${validation_html}.nl1" />
-		<mkdir dir="${returnsDir}/all/${validation_html}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${system_dtds}.nl1" />
-		<!-- no src/*.properties for ${system_dtds} -->
-
-		<mkdir dir="${returnsDir}/all/${xmleditor}.nl1" />
-		<mkdir dir="${returnsDir}/all/${xmleditor}.nl1/src" />
-
-		<mkdir dir="${returnsDir}/all/${editor_html}" />
-		<mkdir dir="${returnsDir}/all/${editor_html}/templates" />
-
-		<mkdir dir="${returnsDir}/all/${editor_jsp}" />
-		<mkdir dir="${returnsDir}/all/${editor_jsp}/templates" />
-
-		<mkdir dir="${returnsDir}/all/${editor_xml}" />
-		<mkdir dir="${returnsDir}/all/${editor_xml}/templates" />
-
-		<mkdir dir="${returnsDir}/all/${model_html}" />
-		<mkdir dir="${returnsDir}/all/${model_html}/data" />
-
-		<mkdir dir="${returnsDir}/all/${js_common_ui}" />
-		<mkdir dir="${returnsDir}/all/${js_common_ui}/data" />
-
-		<mkdir dir="${returnsDir}/all/${encoding_resource}" />
-		<mkdir dir="${returnsDir}/all/${encoding_resource}/config" />
-	</target>
-
-	<target name="ProcessCountryReturns" depends="init">
-		<echo message="Processing returns from ${contryCode}." />
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_extensions}.nl1" />
-		</antcall>
-		<!-- no src/*.properties for ${editor_extensions} -->
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_css}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_css}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_dtd}.nl1" />
-		</antcall>
-		<!-- no src/*.properties for ${editor_dtd} -->
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_html}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_html}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_js}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_js}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_jsp}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_jsp}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_xml}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_xml}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${qev}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${qev}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${snippets}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${snippets}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${js_common_ui}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${js_common_ui}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_css}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_css}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_dtd}.nl1" />
-		</antcall>
-		<!-- no src/*.properties for ${model_dtd} -->
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_html}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_html}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_js}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_js}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_jsp}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_jsp}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_xml}.nl1" />
-		</antcall>
-		<!-- no src/*.properties for ${model_xml} -->
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${encoding_resource}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${encoding_resource}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${content_properties}.nl1" />
-		</antcall>
-		<!-- no src/*.properties for ${content_properties} -->
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${validation_html}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${validation_html}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${system_dtds}.nl1" />
-		</antcall>
-		<!-- no src/*.properties for ${system_dtds} -->
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${xmleditor}.nl1" />
-		</antcall>
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${xmleditor}.nl1/src" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_html}/templates" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_jsp}/templates" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${editor_xml}/templates" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${model_html}/data" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${js_common_ui}/data" />
-		</antcall>
-
-		<antcall target="native2ascii">
-			<param name="contryCode" value="${contryCode}" />
-			<param name="encoding" value="${encoding}" />
-			<param name="pluginDir" value="${encoding_resource}/config" />
-		</antcall>
-	</target>
-
-	<target name="native2ascii" depends="init">
-		<echo message="Processing returns in ${pluginDir}." />
-		<apply executable="${runtimesDir}/native2ascii.exe" dest="${returnsDir}/all/${pluginDir}">
-			<arg value="-encoding" />
-			<arg value="${encoding}" />
-			<srcfile />
-			<targetfile />
-			<fileset dir="${returnsDir}/${contryCode}/${pluginDir}" includes="**/*.properties" />
-			<mapper type="glob" from="*.properties" to="*_${contryCode}.properties" />
-		</apply>
-	</target>
-
-	<target name="CopyBack" depends="init">
-		<echo message="Copying files back to workspace." />
-		<copy toDir="../../..">
-			<fileset dir="${returnsDir}/all" includes="**/*.properties" />
-		</copy>
-	</target>
-
-	<target name="ProcessPIIReturns">
-		<antcall target="CleanDrive" />
-		<antcall target="mkdirs" />
-		<antcall target="ProcessCountryReturns">
-			<param name="contryCode" value="de" />
-			<param name="encoding" value="cp850" />
-		</antcall>
-		<antcall target="ProcessCountryReturns">
-			<param name="contryCode" value="es" />
-			<param name="encoding" value="cp850" />
-		</antcall>
-		<antcall target="ProcessCountryReturns">
-			<param name="contryCode" value="fr" />
-			<param name="encoding" value="cp850" />
-		</antcall>
-		<antcall target="ProcessCountryReturns">
-			<param name="contryCode" value="it" />
-			<param name="encoding" value="cp850" />
-		</antcall>
-		<antcall target="ProcessCountryReturns">
-			<param name="contryCode" value="ja" />
-			<param name="encoding" value="cp943c" />
-		</antcall>
-		<antcall target="ProcessCountryReturns">
-			<param name="contryCode" value="ko" />
-			<param name="encoding" value="ms949" />
-		</antcall>
-		<antcall target="ProcessCountryReturns">
-			<param name="contryCode" value="pt_BR" />
-			<param name="encoding" value="cp850" />
-		</antcall>
-		<antcall target="ProcessCountryReturns">
-			<param name="contryCode" value="zh_CN" />
-			<param name="encoding" value="ms936" />
-		</antcall>
-		<antcall target="ProcessCountryReturns">
-			<param name="contryCode" value="zh_TW" />
-			<param name="encoding" value="ms950" />
-		</antcall>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/README.txt b/bundles/org.eclipse.wst.sse.ui/README.txt
deleted file mode 100644
index efe4522..0000000
--- a/bundles/org.eclipse.wst.sse.ui/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-The base editor of the sse framework. It provides the hooks for content assist,
-breakpoints, debugging, open-on, quickfix, spell checking and a content outline.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/build.properties b/bundles/org.eclipse.wst.sse.ui/build.properties
deleted file mode 100644
index 13ecae0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/build.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-bin.includes = plugin.xml,\
-               .options,\
-               editor.jar,\
-               data/,\
-               icons/,\
-               jspdebug.properties,\
-               plugin.properties
-src.includes = toc.xml,\
-               testToc.xml,\
-               smoke/,\
-               schema/,\
-               plugin.xml,\
-               plugin.properties,\
-               jspdebug.properties,\
-               javadoc.xml,\
-               icons/,\
-               html/,\
-               data/,\
-               DevTimeSupport/,\
-               .options,\
-               doc/
-source.editor.jar = src/,\
-                    src-extensions/,\
-                    src-contentproperties/
-output.editor.jar = bin/
diff --git a/bundles/org.eclipse.wst.sse.ui/html/maintopic.html b/bundles/org.eclipse.wst.sse.ui/html/maintopic.html
deleted file mode 100644
index a476078..0000000
--- a/bundles/org.eclipse.wst.sse.ui/html/maintopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/html/subtopic.html b/bundles/org.eclipse.wst.sse.ui/html/subtopic.html
deleted file mode 100644
index 8a61c50..0000000
--- a/bundles/org.eclipse.wst.sse.ui/html/subtopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/html/toc.html b/bundles/org.eclipse.wst.sse.ui/html/toc.html
deleted file mode 100644
index 326f0a9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/html/toc.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Table of Contents</title>
-</head>
-
-<body>
-<h1>Table of Contents</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/ctool16/spellcheck.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/ctool16/spellcheck.gif
deleted file mode 100644
index c71de32..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/ctool16/spellcheck.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/dlcl16/collapseall.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/dlcl16/collapseall.gif
deleted file mode 100644
index 7dc0de5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/dlcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/dlcl16/delete.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/dlcl16/delete.gif
deleted file mode 100644
index 2e197c2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/dlcl16/delete.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/dlcl16/synced.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/dlcl16/synced.gif
deleted file mode 100644
index 4b9e567..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/dlcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/dtool16/spellcheck.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/dtool16/spellcheck.gif
deleted file mode 100644
index a4cf55f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/dtool16/spellcheck.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/elcl16/collapseall.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/elcl16/collapseall.gif
deleted file mode 100644
index a2d80a9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/elcl16/delete.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/elcl16/delete.gif
deleted file mode 100644
index 0ae6dec..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/elcl16/delete.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/elcl16/synced.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/elcl16/synced.gif
deleted file mode 100644
index 05cefef..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/elcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/etool16/spellcheck.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/etool16/spellcheck.gif
deleted file mode 100644
index c71de32..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/etool16/spellcheck.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/obj16/occ_match.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/obj16/occ_match.gif
deleted file mode 100644
index 9e033de..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/obj16/occ_match.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/obj16/preferences.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/obj16/preferences.gif
deleted file mode 100644
index 4c07fea..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/obj16/preferences.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/full/obj16/prop_ps.gif b/bundles/org.eclipse.wst.sse.ui/icons/full/obj16/prop_ps.gif
deleted file mode 100644
index 3aec64d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/full/obj16/prop_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/icons/sourceEditor.gif b/bundles/org.eclipse.wst.sse.ui/icons/sourceEditor.gif
deleted file mode 100644
index 75ebdb8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/icons/sourceEditor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.sse.ui/javadoc.xml b/bundles/org.eclipse.wst.sse.ui/javadoc.xml
deleted file mode 100644
index b960c2f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/javadoc.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-	default="javadoc"
-	name="project_name">
-	<target name="javadoc">
-		<javadoc
-			access="package"
-			author="true"
-			classpath="bin;..\org.eclipse.wst.common.contentmodel\runtime\contentmodel.jar;..\org.apache.xerces\xmlParserAPIs.jar;..\org.apache.xerces\xercesImpl.jar;..\org.eclipse.core.boot\boot.jar;..\org.eclipse.core.boot.nl1\nl1.jar;..\org.eclipse.core.runtime\runtime.jar;..\org.eclipse.core.runtime.nl1\nl1.jar;..\com.ibm.etools.common.command\runtime\common.jar;..\org.eclipse.wst.xml.uriresolver.xmlutility\runtime\xmlutility.jar;..\org.eclipse.core.resources\resources.jar;..\org.eclipse.ant.core\antsupport.jar;..\org.eclipse.ant.core.nl1\nl1.jar;..\org.eclipse.core.resources.nl1\nl1.jar;..\com.ibm.etools.logging.util\runtime\logutil.jar;..\com.ibm.etools.logging.util\runtime\ibmjsse.jar;..\com.ibm.etools.logging.util\runtime\ibmjcefw.jar;..\com.ibm.etools.logging.util.nl1\nl1.jar;..\org.eclipse.ui\workbench.jar;..\org.eclipse.update.core\updatecore.jar;..\org.eclipse.update.core.nl1\nl1.jar;..\org.eclipse.help\help.jar;..\org.apache.lucene\lucene-1.2-rc4.jar;..\org.apache.lucene\lucene-demos-1.2-rc4.jar;..\org.eclipse.help.nl1\nl1.jar;..\org.eclipse.swt.win32\ws\win32\swt.jar;..\org.eclipse.swt.nl1\nl1.jar;..\org.eclipse.ui.nl1\nl1.jar;..\org.eclipse.ui.win32\workbenchwin32.jar;..\com.ibm.sed.preferences\bin;..\com.ibm.sed.preferences\runtime\sedpreferences.jar;..\com.ibm.etools.xml.encoding\runtime\xml.encoding.jar;..\com.ibm.etools.xml.encoding.nl1\nl1.jar;..\com.ibm.sed.preferences.nl1\nl1.jar;..\com.ibm.sed.model\bin;..\org.eclipse.jdt.ui\jdt.jar;..\org.eclipse.jdt.core\jdtcore.jar;..\org.eclipse.jdt.core.nl1\nl1.jar;..\org.eclipse.search\search.jar;..\org.eclipse.search.nl1\nl1.jar;..\org.eclipse.debug.core\dtcore.jar;..\org.eclipse.debug.core.nl1\nl1.jar;..\org.eclipse.debug.ui\dtui.jar;..\org.eclipse.debug.ui.nl1\nl1.jar;..\org.eclipse.jdt.debug\jdi.jar;..\org.eclipse.jdt.debug\jdimodel.jar;..\org.eclipse.jdt.debug.nl1\nl1.jar;..\org.eclipse.jdt.launching\launching.jar;..\org.eclipse.jdt.launching.nl1\nl1.jar;..\org.eclipse.compare\compare.jar;..\org.eclipse.compare.nl1\nl1.jar;..\org.eclipse.jdt.ui.nl1\nl1.jar;..\com.ibm.sed.editor.extensions\bin;..\com.ibm.debug.javascript\jsdebug.jar;..\com.ibm.debug.javascript\bsf.jar;..\com.ibm.debug.common\commondebug.jar;..\com.ibm.debug.common.nl1\nl1.jar;..\com.ibm.debug.javascript.nl1\nl1.jar;..\com.ibm.etools.xml.common.ui\runtime\xmlcommonui.jar;..\com.ibm.etools.b2bgui\runtime\b2bgui.jar;..\com.ibm.etools.b2butil\runtime\b2butil.jar;..\com.ibm.sed.preferences\bin;..\com.ibm.etools.b2butil.nl1\nl1.jar;..\com.ibm.etools.b2bgui.nl1\nl1.jar;..\com.ibm.sed.model\bin;..\com.ibm.etools.validate.xml\runtime\validatexml.jar;..\com.ibm.etools.xml.tools.validation\runtime\xml.validation.jar;..\org.eclipse.wst.validation.core\runtime\validate.jar;..\org.eclipse.wst.validation.core.core\runtime\common.jar;..\org.eclipse.wst.validation.core.nl1\nl1.jar;..\org.eclipse.wst.validation.core.nl1\validate_nl1.jar;..\com.ibm.etools.emf\runtime\mofrt.jar;..\com.ibm.etools.emf\runtime\mofwb.jar;..\com.ibm.etools.java\runtime\javaplugin.jar;..\com.ibm.etools.java\runtime\wftworkbenchutils.jar;..\com.ibm.etools.emf.workbench\runtime\emfworkbench.jar;..\com.ibm.etools.java.core\runtime\mofjava.jar;..\com.ibm.etools.java.core\runtime\wftutils.jar;..\com.ibm.etools.java.nl1\wftworkbenchutils_nl1.jar;..\com.ibm.etools.validate.xml.nl1\nl1.jar;..\com.ibm.etools.xml.common.ui.nl1\nl1.jar;..\com.ibm.etools.spellcheck\bin;..\com.ibm.etools.spellcheck.dictionaries\bin;..\com.ibm.etools.deviceprofile\runtime\deviceprofile.jar;..\com.ibm.etools.deviceprofile.nl1\nl1.jar;..\com.ibm.sed.editor.nl1\nl1.jar"
-			destdir="doc"
-			nodeprecated="false"
-			nodeprecatedlist="false"
-			noindex="false"
-			nonavbar="false"
-			notree="false"
-			packagenames="com.ibm.sed.style.java,com.ibm.sed.preferences.ui.html,com.ibm.sed.edit.xml,com.ibm.sed.contentproperties.ui,com.ibm.sed.contentassist.html,com.ibm.sed.autoindent,com.ibm.sed.view.tree,com.ibm.sed.css.contentassist,com.ibm.sed.contentassist,com.ibm.sed.internal.editor,com.ibm.sed.preferences.javascript,com.ibm.sed.edit.simple,com.ibm.sed.edit.adapters,com.ibm.sed.nls,com.ibm.sed.view.events,com.ibm.sed.edit.js,com.ibm.sed.view.util,com.ibm.sed.edit.nls,com.ibm.sed.contentassist.html.javascript,com.ibm.sed.contentassist.jsp.java,com.ibm.sed.style.html.javascript,com.ibm.sed.contentassist.html.javascript.tmpcopied,com.ibm.sed.css.image,com.ibm.sed.styleupdate.html,com.ibm.sed.edit.registry,com.ibm.sed.preferences.ui.jsp,com.ibm.sed.doubleclick,com.ibm.sed.edit.extension,com.ibm.sed.editor,com.ibm.sed.preferences.ui.xml,com.ibm.sed.edit.internal.extension,com.ibm.sed.css.edit.cleanup,com.ibm.sed.view.propertySheet,com.ibm.sed.taginfo,com.ibm.sed.contentassist.jsp,com.ibm.sed.edit.registry.embedded,com.ibm.sed.contentassist.xml,com.ibm.sed.preferences.ui,com.ibm.sed.style,com.ibm.sed.edit.ui"
-			sourcepath="sedxml"
-			splitindex="true"
-			use="true"
-			version="true" />
-	</target>
-</project>
diff --git a/bundles/org.eclipse.wst.sse.ui/plugin.properties b/bundles/org.eclipse.wst.sse.ui/plugin.properties
deleted file mode 100644
index e72f9c3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/plugin.properties
+++ /dev/null
@@ -1,80 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-providerName=Eclipse.org
-pluginName=Structured Source Editor
-nlFeatureName=Structured Source Editor NL Support
-Standalone_Structured_Source_Editor.name=Standalone Structured Source Editor
-# Name on preferences page
-WEB_AND_XML_Files.name=Web and XML
-Structured_Text_Editor.name=Structured Text Editors
-
-#
-sourceEditorFontDefiniton.label=Structured Text Editor Text Font
-
-Adapter_Factory_Description_Extension.name=Adapter Factory Description Extension
-Embedded_Content_Type_Adapter_Factory_Provider_Extension.name=Embedded Content Type Adapter Factory Provider Extension
-Extended_Editor_Actions_Extension.name=Extended Editor Actions Extension
-Drop_Target_Transfers_Extension.name=Drop Target Transfers Extension
-Extended_Editor_Configuration_Extension.name=Extended Editor Configuration Extension
-##########################################################################
-# These strings are used in Workbench Keys Preferences
-##########################################################################
-scope.structuredTextEditor.name=Editing in Structured Text Editors
-scope.structuredTextEditor.description=Editing in Structured Text Editors
-command.toggle.comment.name=Toggle Comment
-command.toggle.comment.description=Toggle Comment
-command.add.block.comment.name=Add Block Comment
-command.add.block.comment.description=Add Block Comment
-command.remove.block.comment.name=Remove Block Comment
-command.remove.block.comment.description=Remove Block Comment
-command.cleanup.document.name=Cleanup Document
-command.cleanup.document.description=Cleanup document
-command.format.document.name=Format Document
-command.format.document.description=Format document
-command.format.active.elements.name=Format Active Elements
-command.format.active.elements.description=Format active elements
-command.open.file.from.source.name=Open Selection
-command.open.file.from.source.description=Open an editor on the selected link
-command.search.find.occurrences.name=Occurrences in File
-command.search.find.occurrences.description=Find occurrences of the selection in the file
-ActionDefinition.selectEnclosing.name=Select Enclosing Element
-ActionDefinition.selectEnclosing.description=Expand selection to include enclosing element
-ActionDefinition.selectNext.name=Select Next Element
-ActionDefinition.selectNext.description=Expand selection to include next sibling
-ActionDefinition.selectPrevious.name=Select Previous Element
-ActionDefinition.selectPrevious.description=Expand selection to include previous sibling
-ActionDefinition.selectLast.name=Restore Last Selection
-ActionDefinition.selectLast.description=Restore last selection
-ActionDefinition.showJavadoc.name=Show Tooltip Description
-ActionDefinition.showJavadoc.description=Displays the hover help for the selected element
-ActionDefinition.quickFix.name=Quick Fix
-ActionDefinition.quickFix.description=Quick Fix
-
-##########################################################################
-# These strings are used in file and container resource popup menu
-##########################################################################
-Source=&Source
-FormatDocument=&Format document
-
-##
-Spell_Check_label=Spell Check
-Spell_Check_tooltip=Spell Check
-#
-Breakpoint_Extension_Point.name=Breakpoint Extension Point
-SpellCheck_Extension_Point.name=SpellCheck Extension Point
-Reconcile_Validator_Extension_Point.name=Reconcile Validator Extension Point
-Open_On_Extension_Point.name=Open On Extension Point
-###############################################################################
-# The following property keys maybe unused. Commented out on 12/7/2004. Uncomment if needed.
-#sourceEditorFontDefintion.description=The Structured text editor text font is used by Structured text editors.
-#Bean_Info_Provider_Extension.name=Bean Info Provider Extension
diff --git a/bundles/org.eclipse.wst.sse.ui/plugin.xml b/bundles/org.eclipse.wst.sse.ui/plugin.xml
deleted file mode 100644
index f4f1aa3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/plugin.xml
+++ /dev/null
@@ -1,508 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.sse.ui"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.wst.sse.ui.internal.SSEUIPlugin">
-
-   <runtime>
-      <library name="editor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jface.text"/>
-<!-- added for break point support -->
-<!-- -->
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.ui.editors"/>
-<!-- added for marker and annotation support -->
-      <import plugin="org.eclipse.search"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.jface"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.workbench"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.wst.common.encoding"/>
-      <import plugin="org.eclipse.wst.validation"/>
-   </requires>
-
-
-   <extension-point id="adapterFactoryDescription" name="%Adapter_Factory_Description_Extension.name"/>
-   <extension-point id="embeddedAdapterFactoryProvider" name="%Embedded_Content_Type_Adapter_Factory_Provider_Extension.name"/>
-   <extension-point id="extendedEditorActions" name="%Extended_Editor_Actions_Extension.name"/>
-   <extension-point id="dropTargetTransfers" name="%Drop_Target_Transfers_Extension.name"/>
-   <extension-point id="extendedconfiguration" name="%Extended_Editor_Configuration_Extension.name" schema="schema/extendedconfiguration.exsd"/>
-
-      
-	<!-- Make sure default preference values are set at runtime -->
-	<extension point="org.eclipse.core.runtime.preferences">
-		<initializer class="org.eclipse.wst.sse.ui.internal.PreferenceInitializer"/>
-	</extension>
-
-<!-- 
-		note: this perspective stuff should probably go in the 
-		com.ibm.etools.xml.tools.XMLPerspective 
-		or in the plugin.xml for com.ibm.etools.xml.tools
-	-->
-<!-- PERSPECTIVE EXTENSIONS -->
-
-<!-- reusable extensions -->
-   <extension
-         point="org.eclipse.wst.sse.ui.extendedconfiguration">
-      <configuration 
-      		type="contentoutlineconfiguration"
-            class="org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration"
-            target="org.eclipse.wst.sse.ui.StructuredTextEditor"/>
-      <configuration 
-      		type="propertysheetconfiguration"
-            class="org.eclipse.wst.sse.ui.views.properties.StructuredPropertySheetConfiguration"
-            target="org.eclipse.wst.sse.ui.StructuredTextEditor"/>
-      <configuration 
-      		type="textviewerconfiguration"
-            class="org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration"
-            target="org.eclipse.wst.sse.ui.StructuredTextEditor"/>
-      <definition 
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.editor"
-            target="org.eclipse.wst.sse.ui.StructuredTextEditor"/>
-   </extension>
-<!-- associate the NavigateActionSet with various parts of the XML perspective-->
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
-         <part
-               id="org.eclipse.wst.sse.ui.StructuredTextEditor">
-         </part>
-      </actionSetPartAssociation>
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.NavigateActionSet">
-<!--
-				<part id="org.eclipse.ui.views.ResourceNavigator"/>
-				<part id="org.eclipse.ui.views.ContentOutline"/>
-			-->
-<!--
-				should probably only "force" association of action sets for workbench parts that we own
-				or only if the view is focusse in the XMLPerspective
-			-->
-         <part
-               id="org.eclipse.wst.sse.ui.StructuredTextEditor">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-<!-- ROOT PREFERENCE PAGE FOR WEB AND XML FILES -->
-      <page
-            name="%WEB_AND_XML_Files.name"
-            class="org.eclipse.wst.sse.ui.preferences.ui.FilePreferencePage"
-            id="org.eclipse.wst.sse.ui.preferences">
-      </page>
-<!-- Source Editor Preference page under Workbench->Editors -->
-      <page
-            name="%Structured_Text_Editor.name"
-            category="org.eclipse.ui.preferencePages.Editors"
-            class="org.eclipse.wst.sse.ui.preferences.ui.StructuredTextEditorPreferencePage"
-            id="org.eclipse.wst.sse.ui.preferences.editor">
-      </page>
-   </extension>
-<!--
-		<extension-point id="dragSourceTransfers" name="Drag Source Transfers"/>
-	-->
-   <extension
-         point="org.eclipse.ui.commands">
-      <scope
-            name="%scope.structuredTextEditor.name"
-            parent="org.eclipse.ui.textEditorScope"
-            description="%scope.structuredTextEditor.description"
-            id="org.eclipse.wst.sse.ui.structuredTextEditorScope">
-      </scope>
-      <!--    dmw 6/6 (and 11/10 :) removed from 'scope'  parentId="org.eclipse.ui.textEditorScope" -->
-      <!-- afw 11/11 added scope back in because these are keybindings for structuredtexteditors only -->
-      
-<!-- Edit commands -->
-      <command
-            name="%ActionDefinition.selectEnclosing.name"
-            description="%ActionDefinition.selectEnclosing.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.structure.select.enclosing">
-      </command>
-      <command
-            name="%ActionDefinition.selectNext.name"
-            description="%ActionDefinition.selectNext.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.structure.select.next">
-      </command>
-      <command
-            name="%ActionDefinition.selectPrevious.name"
-            description="%ActionDefinition.selectPrevious.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.structure.select.previous">
-      </command>
-      <command
-            name="%ActionDefinition.selectLast.name"
-            description="%ActionDefinition.selectLast.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.structure.select.last">
-      </command>
-      <command
-            name="%ActionDefinition.showJavadoc.name"
-            description="%ActionDefinition.showJavadoc.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.show.javadoc">
-      </command>
-      <command
-            name="%ActionDefinition.quickFix.name"
-            description="%ActionDefinition.quickFix.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.edit.text.java.correction.assist.proposals">
-      </command>
-<!-- Source commands -->
-      <command
-            name="%command.toggle.comment.name"
-            description="%command.toggle.comment.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.toggle.comment">
-      </command>
-      <command
-            name="%command.add.block.comment.name"
-            description="%command.add.block.comment.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.add.block.comment">
-      </command>
-      <command
-            name="%command.remove.block.comment.name"
-            description="%command.remove.block.comment.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.remove.block.comment">
-      </command>
-      <command
-            name="%command.cleanup.document.name"
-            description="%command.cleanup.document.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.cleanup.document">
-      </command>
-      <command
-            name="%command.format.document.name"
-            description="%command.format.document.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.format.document">
-      </command>
-      <command
-            name="%command.format.active.elements.name"
-            description="%command.format.active.elements.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.format.active.elements">
-      </command>
-<!-- Navigate commands -->
-      <command
-            name="%command.open.file.from.source.name"
-            description="%command.open.file.from.source.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.open.file.from.source">
-      </command>
-<!-- Find Occurrences -->
-      <command
-            name="%command.search.find.occurrences.name"
-            description="%command.search.find.occurrences.description"
-            category="org.eclipse.ui.category.edit"
-            id="org.eclipse.wst.sse.ui.search.find.occurrences">
-      </command>
-<!-- Edit commands -->
-      <keyBinding
-            string="Alt+Shift+ARROW_UP"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.structure.select.enclosing"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Alt+Shift+ARROW_RIGHT"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.structure.select.next"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Alt+Shift+ARROW_LEFT"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.structure.select.previous"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Alt+Shift+ARROW_DOWN"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.structure.select.last"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="F2"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.show.javadoc"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Ctrl+1"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.edit.text.java.correction.assist.proposals"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-<!-- Source commands -->
-      <keyBinding
-            string="Ctrl+Shift+C"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.toggle.comment"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Ctrl+Shift+/"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.add.block.comment"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Ctrl+Shift+\"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.remove.block.comment"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Ctrl+Shift+L"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.cleanup.document"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Ctrl+Shift+F"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.format.document"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Ctrl+I"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.format.active.elements"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-<!-- Navigate commands -->
-      <keyBinding
-            string="F3"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.open.file.from.source"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-<!-- Find Occurrences -->
-      <keyBinding
-            string="Ctrl+Shift+A"
-            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
-            command="org.eclipse.wst.sse.ui.search.find.occurrences"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-<!-- Font and colors contributions -->
-   <extension
-         point="org.eclipse.ui.themes">
-      <themeElementCategory
-            label="%Structured_Text_Editor.name"
-            id="org.eclipse.wst.sse.ui">
-      </themeElementCategory>
-      <fontDefinition
-            label="%sourceEditorFontDefiniton.label"
-            categoryId="org.eclipse.wst.sse.ui"
-            defaultsTo="org.eclipse.jface.textfont"
-            id="org.eclipse.wst.sse.ui.textfont">
-         <description>
-            %sourceEditorFontDefintion.description
-         </description>
-      </fontDefinition>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.dropTargetTransfers">
-      <dropTargetContribution
-            targetID="org.eclipse.wst.sse.ui.StructuredTextEditor"
-            id="org.eclipse.wst.sse.ui.extention.ExtendedTransfers">
-         <transfer
-               priority="mid"
-               singleton="true"
-               class="org.eclipse.swt.dnd.FileTransfer"
-               method="getInstance"
-               id="org.eclipse.swt.dnd.FileTransfer">
-         </transfer>
-         <dropAction
-               class="org.eclipse.wst.sse.ui.extension.FileDropAction"
-               transferID="org.eclipse.swt.dnd.FileTransfer"
-               id="org.eclipse.wst.sse.ui.extension.FileDropAction">
-         </dropAction>
-         <transfer
-               priority="low"
-               singleton="true"
-               class="org.eclipse.swt.dnd.TextTransfer"
-               method="getInstance"
-               id="org.eclipse.swt.dnd.TextTransfer">
-         </transfer>
-         <dropAction
-               class="org.eclipse.wst.sse.ui.extension.TextDropAction"
-               transferID="org.eclipse.swt.dnd.TextTransfer"
-               id="org.eclipse.wst.sse.ui.extension.TextDropAction">
-         </dropAction>
-      </dropTargetContribution>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.editors.annotationTypes">
-      <type
-      		super="org.eclipse.ui.workbench.texteditor.error"
-            markerType="org.eclipse.wst.sse.problem"
-            name="org.eclipse.wst.sse.ui.temp.error"
-            markerSeverity="2">
-      </type>
-      <type
-			super="org.eclipse.ui.workbench.texteditor.warning"
-            markerType="org.eclipse.wst.sse.problem"
-            name="org.eclipse.wst.sse.ui.temp.warning"
-            markerSeverity="1">
-      </type>
-      
-      <type
-            super="org.eclipse.ui.workbench.texteditor.info"
-            markerType="org.eclipse.wst.sse.problem"
-            name="org.eclipse.wst.sse.ui.temp.info"
-            markerSeverity="0">
-      </type>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors.markerAnnotationSpecification">
-
-    <!--================================================================================================-->
-    <!-- same as eclipse text ui (including preference keys), except for vertical ruler & preference page -->
-    <!--================================================================================================-->
-      <specification
-            annotationType="org.eclipse.wst.sse.ui.temp.error"
-            annotationImageProvider="org.eclipse.wst.sse.ui.internal.ui.StructuredTextAnnotationImageProvider"
-  
-            verticalRulerPreferenceValue="true"
-            verticalRulerPreferenceKey="sseErrorIndicationInVerticalRuler"
-            includeOnPreferencePage="false">
-      </specification>
-      <specification
-            annotationType="org.eclipse.wst.sse.ui.temp.warning"
-            annotationImageProvider="org.eclipse.wst.sse.ui.internal.ui.StructuredTextAnnotationImageProvider"
-         
-            verticalRulerPreferenceValue="false"
-            verticalRulerPreferenceKey="sseWarningIndicationInVerticalRuler"
-            includeOnPreferencePage="false">
-      </specification>
-      <specification
-            annotationImageProvider="org.eclipse.wst.sse.ui.internal.ui.StructuredTextAnnotationImageProvider"
-            annotationType="org.eclipse.wst.sse.ui.temp.info">
-      </specification>
-   </extension>
-<!-- dynamic content type supporting editor, no supported file extensions by default -->
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Standalone_Structured_Source_Editor.name"
-            icon="icons/sourceEditor.gif"
-            contributorClass="org.eclipse.wst.sse.ui.edit.util.ActionContributor"
-            class="org.eclipse.wst.sse.ui.StructuredTextEditor"
-            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-            id="org.eclipse.wst.sse.ui.StructuredTextEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IContainer"
-            id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions">
-         <menu
-               label="%Source"
-               path="additions"
-               id="source">
-            <groupMarker
-                  name="sourceGroup">
-            </groupMarker>
-         </menu>
-         <action
-               label="%FormatDocument"
-               class="org.eclipse.wst.sse.ui.edit.util.FormatActionDelegate"
-               menubarPath="source/sourceGroup"
-               enablesFor="+"
-               id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions.Format">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            id="org.eclipse.wst.sse.ui.actions.FileSourceActions">
-         <menu
-               label="%Source"
-               path="additions"
-               id="source">
-            <groupMarker
-                  name="sourceGroup">
-            </groupMarker>
-         </menu>
-         <action
-               label="%FormatDocument"
-               class="org.eclipse.wst.sse.ui.edit.util.FormatActionDelegate"
-               menubarPath="source/sourceGroup"
-               enablesFor="+"
-               id="org.eclipse.wst.sse.ui.actions.FileSourceActions.Format">
-         </action>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.extendedEditorActions">     
-      <editorContribution
-            targetID="org.eclipse.wst.sse.ui.StructuredTextEditor"
-            id="org.eclipse.wst.sse.ui.extendedActions">
-<!-- contribute the Edit Preferences action -->
-<!-- (base now provides an open preferences dialog in editor so this is no longer needed)
-         <action
-               popupmenuPath="group.add"
-               class="org.eclipse.wst.sse.ui.preferences.ui.EditStructuredTextEditorPreferencesAction"
-               id="org.eclipse.wst.sse.ui.preferences.ui.EditStructuredTextEditorPreferencesAction">
-         </action>
--->
-<!-- contribute the Spell Check action -->
-<!--
-         <action
-               class="org.eclipse.wst.sse.ui.SpellCheckActionWrapper"
-               definitionId="com.ibm.etools.spellcheck"
-               menubarPath="edit/MenuAdditions"
-               toolbarPath="Normal/ToolbarAdditions"
-               id="org.eclipse.wst.sse.ui.spellcheck">
-         </action>
--->
-      </editorContribution>     
-   </extension>
-   
-<!--================================================================================================-->
-<!-- contribute a SearchResultViewPage for Occurrences in file                                      -->
-<!--================================================================================================-->
-	<extension 
-			id="Occurrences search page" 
-			point="org.eclipse.search.searchResultViewPages">
-		 <viewPage
-			  id="org.eclipse.wst.sse.ui.search.OccurrencesSearchResultPage"
-			  searchResultClass="org.eclipse.wst.sse.ui.internal.search.OccurrencesSearchResult"
-			  class="org.eclipse.wst.sse.ui.internal.search.OccurrencesSearchViewPage">
-		 </viewPage>
-	</extension>
-
-	
-<!-- extension point for breakpoint extension -->
-   <extension-point id="breakpoint" name="%Breakpoint_Extension_Point.name"/>
-<!-- extension point for spellcheck extension -->
-   <extension-point id="spellcheck" name="%SpellCheck_Extension_Point.name"/>
-<!-- extension point for reconcile validation -->
-<!-- interfaces for this extension point can be found in com.ibm.wtp.validation.core -->
-   <extension-point id="reconcileValidator" name="%Reconcile_Validator_Extension_Point.name" schema="schema/org.eclipse.wst.sse.editor.reconcileValidator.exsd"/>
-</plugin>
diff --git a/bundles/org.eclipse.wst.sse.ui/schema/extendedconfiguration.exsd b/bundles/org.eclipse.wst.sse.ui/schema/extendedconfiguration.exsd
deleted file mode 100644
index 6eec312..0000000
--- a/bundles/org.eclipse.wst.sse.ui/schema/extendedconfiguration.exsd
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.wst.sse.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.sse.ui" id="extendedconfiguration" name="Extended Editor Configuration"/>

-      </appInfo>

-      <documentation>

-         The SSE StructuredTextEditor is intended to be as flexible as possible.  Much of its design centers around the notion of defining and redefining its behavior and appearance based on the Content Type of its input.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <all>

-            <element ref="configuration"/>

-            <element ref="definition"/>

-         </all>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="configuration">

-      <annotation>

-         <documentation>

-            Declares a class fulfilling the requirements of a type to be used for the given target(s).

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor or Content Type ID.  Multiple targets may be given as a comma delimited value.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="type" type="string" use="required">

-            <annotation>

-               <documentation>

-                  The type of configuration to find.  Current types used include &quot;textviewerconfiguration&quot;, &quot;contentoutlineconfiguration&quot;, &quot;propertysheetconfiguration&quot;, &quot;sourceeditingtexttools&quot;, &quot;spellchecktarget&quot;, and &quot;characterpairmatcher&quot;.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  Implementation class for this type.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="definition">

-      <annotation>

-         <documentation>

-            Defines a value for a type to be used for the given target(s).

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="type" type="string" use="required">

-            <annotation>

-               <documentation>

-                  The type of definition to find.  Currently used definitions include &quot;showintarget&quot;, a list of View IDs to show in the Navigate menu&apos;s Show In... submenu, and &quot;preferencepages&quot;, the list of fully qualified Preference page IDs to show for the editor&apos;s Preferences action. (NOTE: preferencepages is an unsupported definition)

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" type="string">

-            <annotation>

-               <documentation>

-                  The value of this definition.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor or Content Type ID.  Multiple targets may be given as a comma delimited value.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         &lt;pre&gt;

-&lt;extension point=&quot;org.eclipse.wst.sse.ui.extendedconfiguration&quot;&gt;

-&lt;!-- associating a SourceViewerConfiguration to an input&apos;s Content Type--&gt;

-     &lt;configuration

-          type=&quot;textviewerconfiguration&quot;

-          class=&quot;org.eclipse.wst.sse.ui.html.StructuredTextViewerConfigurationHTML&quot;

-          target=&quot;org.eclipse.wst.html.contenttype&quot;/&gt;

-

-&lt;!-- associating a ContentOutlineConfiguration for multiple editor IDs --&gt;

-     &lt;configuration

-          type=&quot;contentoutlineconfiguration&quot;

-          class=&quot;org.eclipse.wst.sse.ui.xml.views.contentoutline.XMLContentOutlineConfiguration&quot;

-          target=&quot;org.eclipse.wst.sse.ui.xml.StructuredTextEditorXML, com.ibm.xmleditor.internal.XMLMultiPageEditorPart&quot;/&gt;

-

-&lt;!-- associating a PropertySheetConfiguration to multiple Content Types --&gt;

-     &lt;configuration

-          type=&quot;propertysheetconfiguration&quot;

-          class=&quot;org.eclipse.wst.sse.ui.xml.views.properties.XMLPropertySheetConfiguration&quot;

-          target=&quot;org.eclipse.wst.sse.contenttype.xml, org.eclipse.wst.html.contenttype.html, org.eclipse.jst.jsp.contenttype.jsp&quot;/&gt;

-

-&lt;!-- add a view to the Navigate/Show In menu --&gt;

-     &lt;definition

-          type=&quot;showintarget&quot;

-          value=&quot;org.eclipse.wst.navigator.ui.WTPCommonNavigator&quot;

-          target=&quot;org.eclipse.wst.sse.ui.StructuredTextEditor&quot;/&gt;

-&lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         &lt;br&gt;

-&lt;code&gt;org.eclipse.wst.sse.ui.extension.ExtendedConfigurationBuilder&lt;/code&gt; is responsible for creating the extension objects as requested.  New instances are returned for each request that succeeds.  Invalid function names and targets will return null.  The &lt;code&gt;StructuredTextEditor&lt;/code&gt; will automatically try targets generated by &lt;code&gt;org.eclipse.wst.sse.ui.extensions.ConfigurationPointCalculator&lt;/code&gt; according to where the &lt;code&gt;StructuredTextEditor&lt;/code&gt; finds itself at runtime.  &lt;code&gt;ConfigurationPointCalculator&lt;/code&gt; ensures that the targets are always searched in a specific and predictable order.  The following table lists the functionalities (types) currenty in use:

-&lt;p&gt;

-&lt;table border=&quot;1&quot;&gt;

-&lt;tbody  valign=&quot;top&quot;&gt;

-&lt;tr&gt;&lt;td&gt;&lt;b&gt;Functionality (type)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Implementation requirement&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Responsibilities&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;

-&lt;tr&gt;&lt;td&gt;textviewerconfiguration&lt;/td&gt;&lt;td&gt;Must subclass &lt;code&gt;org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Defines the source viewer configuration to use, affecting Highlighting, Formatting, Content Assist, Hover help, and more.&lt;/td&gt;&lt;/tr&gt;

-&lt;tr&gt;&lt;td&gt;contentoutlineconfiguration&lt;/td&gt;&lt;td&gt;Must subclass &lt;code&gt;org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Defines how the IStructuredModel for the editor&apos;s input maps to elements with a Tree control, as well as selection filtering, toolbar and menu contributions, etc.&lt;/td&gt;&lt;/tr&gt;

-&lt;tr&gt;&lt;td&gt;propertysheetconfiguration&lt;/td&gt;&lt;td&gt;Must subclass &lt;code&gt;org.eclipse.wst.sse.ui.views.properties.PropertySheetConfiguration&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Defines the Property Source Provider, toolbar contributions, etc.&lt;/td&gt;&lt;/tr&gt;

-&lt;tr&gt;&lt;td&gt;sourceeditingtexttools&lt;/td&gt;&lt;td&gt;Must implement &lt;code&gt;org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Provides DOM to text and positional mapping information for use when setting and clearing breakpoints.&lt;/td&gt;&lt;/tr&gt;

-&lt;tr&gt;&lt;td&gt;spellchecktarget&lt;/td&gt;&lt;td&gt;Must implement &lt;code&gt;org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckTarget&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Provides targetting information for the IBM eTools Spell Checker&lt;/td&gt;&lt;/tr&gt;

-&lt;tr&gt;&lt;td&gt;showintarget&lt;/td&gt;&lt;td&gt;Must supply a valid &lt;code&gt;org.eclipse.ui.part.IShowInTarget&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Provides targetting information ShowIn actions in the Navigate menu&lt;/td&gt;&lt;/tr&gt;

-&lt;tr&gt;&lt;td&gt;characterpairmatcher&lt;/td&gt;&lt;td&gt;Must implement &lt;code&gt;org.eclipse.jface.text.source.ICharacterPairMatcher&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Will be used as the &quot;bracket&quot; matcher.&lt;/td&gt;&lt;/tr&gt;

-

-

-

-&lt;/tbody&gt;

-&lt;/table&gt;&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.wst.sse.ui/schema/reconcileValidator.exsd b/bundles/org.eclipse.wst.sse.ui/schema/reconcileValidator.exsd
deleted file mode 100644
index 3af1ad8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/schema/reconcileValidator.exsd
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.sse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.sse.ui" id="reconcileValidator" name="reconcileValidator"/>
-      </appInfo>
-      <documentation>
-         To allow clients to contribute a content/partition dependent as-you-type validator for the SSE Editor via extension point.
-
-   Required plugins are:
-   org.eclipse.wst.sse.ui
-   org.eclipse.wst.validation
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="validator"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="validator">
-      <complexType>
-         <sequence>
-            <element ref="contentTypeIdentifier" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="scope" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="partitionType">
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="contentTypeIdentifier">
-      <complexType>
-         <sequence>
-            <element ref="partitionType" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         WTP 1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;extension
-           point=&quot;org.eclipse.wst.sse.ui.extensions.reconcileValidator&quot;&gt;
-        &lt;validator
-              scope=&quot;total&quot;
-              class=&quot;org.eclipse.wst.validation.html.HTMLValidator&quot;
-              id=&quot;org.eclipse.wst.validation.htmlreconcilevalidator&quot;&gt;
-           &lt;contentTypeIdentifier
-                 id=&quot;org.eclipse.wst.html.core.htmlsource&quot;&gt;
-              &lt;partitionType
-                    id=&quot;org.eclipse.wst.html.DEFAULT_HTML&quot;&gt;
-              &lt;/partitionType&gt;
-           &lt;/contentTypeIdentifier&gt;
-           &lt;contentTypeIdentifier
-                 id=&quot;org.eclipse.jst.jsp.core.jspsource&quot;&gt;
-              &lt;partitionType
-                    id=&quot;org.eclipse.wst.html.DEFAULT_HTML&quot;&gt;
-              &lt;/partitionType&gt;
-           &lt;/contentTypeIdentifier&gt;
-        &lt;/validator&gt;
-&lt;/extension&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/AbstractContentSettingsHandler.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/AbstractContentSettingsHandler.java
deleted file mode 100644
index 2af9e69..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/AbstractContentSettingsHandler.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-import org.eclipse.core.resources.IResourceDelta;
-
-abstract class AbstractContentSettingsHandler implements IContentSettingsHandler {
-
-
-	private IContentSettings contentSettings = ContentSettingsCreator.create();
-	private IResourceDelta fDelta;
-
-	private void commonWithRespectToKind() {
-		getContentSettings().releaseCache();
-	}
-
-	protected final IContentSettings getContentSettings() {
-		return contentSettings;
-	}
-
-	protected final IResourceDelta getDelta() {
-		return fDelta;
-	}
-
-
-	/*
-	 * @see IContentSettingsHandler#handle(IResourceDelta)
-	 */
-	public void handle(final IResourceDelta delta) {
-		this.fDelta = delta;
-		// get Resource delta kind
-		final int kind = delta.getKind();
-		// never used!?
-		//IResource resource = delta.getResource();
-
-
-		switch (kind) {
-			case IResourceDelta.CHANGED : {
-				handleChanged();
-			}
-				break;
-			case IResourceDelta.REMOVED : {
-				handleRemoved();
-			}
-				break;
-			case IResourceDelta.ADDED : {
-				handleAdded();
-			}
-				break;
-
-
-		}
-
-
-
-	}
-
-	protected void handleAdded() {
-		commonWithRespectToKind();
-	}
-
-	protected void handleChanged() {
-		commonWithRespectToKind();
-	}
-
-	protected void handleRemoved() {
-		commonWithRespectToKind();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/AbstractSubject.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/AbstractSubject.java
deleted file mode 100644
index 3976219..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/AbstractSubject.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-public abstract class AbstractSubject implements INotify, ISubject {
-
-
-
-	private static Map listenerList = new Hashtable();
-
-	public synchronized void addListener(IContentSettingsListener listener) {
-		listenerList.put(listener, listener);
-	}
-
-	/*
-	 * @see IContentSettingsEventSubject#notifyContentSettingsListeners(Object)
-	 */
-	public synchronized void notifyListeners(org.eclipse.core.resources.IResource changedResource) {
-
-		Set keys = listenerList.keySet();
-		Iterator iter = keys.iterator();
-
-		while (iter.hasNext()) {
-			IContentSettingsListener csl = (IContentSettingsListener) iter.next();
-			csl.contentSettingsChanged(changedResource);
-		}
-	}
-
-	public synchronized void removeListener(IContentSettingsListener listener) {
-		listenerList.remove(listener);
-	}
-
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentPropertiesPlugin.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentPropertiesPlugin.java
deleted file mode 100644
index 01d4a22..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentPropertiesPlugin.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.ui.IStartup;
-
-/**
- * @deprecated This plugin has combined with the org.eclipse.wst.sse.ui plugin.
- *             Use SSEUIPlugin instead.
- */
-public class ContentPropertiesPlugin extends Plugin implements IStartup {
-	//The shared instance.
-	private static ContentPropertiesPlugin plugin;
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ContentPropertiesPlugin 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 = ContentPropertiesPlugin.getDefault().getResourceBundle();
-		try {
-			return bundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-
-	/**
-	 * The constructor.
-	 */
-	public ContentPropertiesPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-	}
-
-	private void disableSynchronizer() {
-		ContentSettingsSynchronizer listener = ContentSettingsSynchronizer.getInstance();
-		if (listener != null && listener.isListening())
-			listener.unInstall();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IStartup#earlyStartup()
-	 */
-	public void earlyStartup() {
-		enableSynchronizer();
-	}
-
-	private void enableSynchronizer() {
-		ContentSettingsSynchronizer listener = ContentSettingsSynchronizer.getInstance();
-		if (listener != null && !listener.isListening())
-			listener.install();
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#shutdown()
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-		disableSynchronizer();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#startup()
-	 */
-	public void startup() throws CoreException {
-		super.startup();
-		enableSynchronizer();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettings.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettings.java
deleted file mode 100644
index 8d18339..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettings.java
+++ /dev/null
@@ -1,666 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class ContentSettings implements IContentSettings {
-	private static final String contentSettingsName = ".contentsettings";//$NON-NLS-1$
-
-	private static SimpleNodeOperator domOperator;
-
-	private static IProject preProject;
-
-	private static final IContentSettings singleton = new ContentSettings();
-
-	public static final String getContentSettingsName() {
-		return contentSettingsName;
-	}
-
-	public synchronized static IContentSettings getInstance() {
-		return singleton;
-	}
-
-	private String contentSettingsPath;
-	private IProject currProject;
-	private final String fileElementName = "file";//$NON-NLS-1$
-	private final String PATHATTR = "path"; //$NON-NLS-1$
-	private final String projectElementName = "project";//$NON-NLS-1$
-
-
-
-	private final String rootElementName = "contentsettings";//$NON-NLS-1$
-
-
-
-	private ContentSettings() {
-		currProject = null;
-		contentSettingsPath = null;
-	}
-
-
-	private void _setProperties(final IResource resource, final Map properties) {
-		if (resource == null || properties == null || properties.isEmpty())
-			return;
-		if (!(resource.getType() == IResource.PROJECT || resource.getType() == IResource.FILE))
-			return;
-
-		contentSettingsPath = getContentSettingsPath(resource);
-		if (contentSettingsPath == null)
-			return;
-
-		try {
-
-			if (!existsContentSettings()) {
-				// create DOM tree for new XML Document
-				createNewDOMTree();
-			} else {
-				// create DOM tree from existing contentsettings.
-				createDOMTree();
-			}
-
-		} catch (SimpleNodeOperator.ReadContentSettingsFailureException e) {
-			Logger.logException(e);
-			try {
-				createNewDOMTree();
-				writeDOMDocument();
-			} catch (SimpleNodeOperator.CreateContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return;
-			} catch (SimpleNodeOperator.WriteContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return;
-			}
-
-		} catch (SimpleNodeOperator.CreateContentSettingsFailureException e) {
-			Logger.logException(e);
-			preProject = currProject;
-			return;
-		}
-
-		Element e = null;
-		if (resource.getType() == IResource.PROJECT) {
-			e = (Element) domOperator.getElementWithNodeName(this.projectElementName);
-			if (e == null) {
-				// create project Element and add it into tree
-				e = (Element) domOperator.addElementUnderRoot(this.projectElementName);
-			}
-		} else if (resource.getType() == IResource.FILE) {
-			// check exists file Element
-			e = (Element) domOperator.getElementWithAttribute(getPathAttr(), getRelativePathFromProject(resource));
-			if (e == null) {
-				// create file Element and add path into it.
-				e = (Element) domOperator.addElementUnderRoot(this.fileElementName);
-				domOperator.addAttributeAt(e, getPathAttr(), getRelativePathFromProject(resource));
-			}
-		}
-
-		// check exists propertyName attribute
-		Map attrList = domOperator.getAttributesOf(e);
-		boolean hasAttr = true;
-		if (attrList == null || attrList.isEmpty())
-			hasAttr = false;
-		Set keys = properties.keySet();
-		Iterator ii = keys.iterator();
-		while (ii.hasNext()) {
-			String propertyName = (String) ii.next();
-			String propertyValue = (String) properties.get(propertyName);
-
-
-			if (!hasAttr || (String) attrList.get(propertyName) == null)
-				// create propertyName attribute and add
-				domOperator.addAttributeAt(e, propertyName, propertyValue);
-			else
-				// set attribute value
-				domOperator.updateAttributeAt(e, propertyName, propertyValue);
-		}
-
-		// write dom tree into .contentsettings
-		try {
-			writeDOMDocument();
-		} catch (SimpleNodeOperator.WriteContentSettingsFailureException ex) {
-			Logger.logException(ex);
-			preProject = currProject;
-			return;
-		}
-
-		preProject = currProject;
-
-
-	}
-
-
-	private void _setProperty(final IResource resource, final String propertyName, final String propertyValue) {
-		if (resource == null || propertyName == null)
-			return;
-		if (!(resource.getType() == IResource.PROJECT || resource.getType() == IResource.FILE))
-			return;
-
-		contentSettingsPath = getContentSettingsPath(resource);
-		if (contentSettingsPath == null)
-			return;
-
-		try {
-
-			if (!existsContentSettings()) {
-				// create DOM tree for new XML Document
-				createNewDOMTree();
-			} else {
-				// create DOM tree from existing contentsettings.
-				createDOMTree();
-			}
-
-		} catch (SimpleNodeOperator.ReadContentSettingsFailureException e) {
-			Logger.logException(e);
-			try {
-				createNewDOMTree();
-				writeDOMDocument();
-			} catch (SimpleNodeOperator.CreateContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return;
-			} catch (SimpleNodeOperator.WriteContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return;
-			}
-
-		} catch (SimpleNodeOperator.CreateContentSettingsFailureException e) {
-			Logger.logException(e);
-			preProject = currProject;
-			return;
-		}
-
-		Element e = null;
-		if (resource.getType() == IResource.PROJECT) {
-			e = (Element) domOperator.getElementWithNodeName(this.projectElementName);
-			if (e == null) {
-				// create project Element and add it into tree
-				e = (Element) domOperator.addElementUnderRoot(this.projectElementName);
-			}
-		} else if (resource.getType() == IResource.FILE) {
-			// check exists file Element
-			e = (Element) domOperator.getElementWithAttribute(getPathAttr(), getRelativePathFromProject(resource));
-			if (e == null) {
-				// create file Element and add path into it.
-				e = (Element) domOperator.addElementUnderRoot(this.fileElementName);
-				domOperator.addAttributeAt(e, getPathAttr(), getRelativePathFromProject(resource));
-			}
-		}
-
-		// check exists propertyName attribute
-
-		Map attrList = domOperator.getAttributesOf(e);
-		if (attrList == null || attrList.isEmpty() || (String) attrList.get(propertyName) == null)
-			// create propertyName attribute and add
-			domOperator.addAttributeAt(e, propertyName, propertyValue);
-		else
-			// set attribute value
-			domOperator.updateAttributeAt(e, propertyName, propertyValue);
-
-
-		// write dom tree into .contentsettings
-		try {
-			writeDOMDocument();
-		} catch (SimpleNodeOperator.WriteContentSettingsFailureException ex) {
-			Logger.logException(ex);
-			preProject = currProject;
-			return;
-		}
-
-		preProject = currProject;
-
-
-	}
-
-
-	private void createDOMTree() throws SimpleNodeOperator.ReadContentSettingsFailureException {
-		if (domOperator == null || (currProject != null && (!currProject.equals(preProject)) && contentSettingsPath != null))
-			domOperator = new SimpleNodeOperator(contentSettingsPath);
-
-
-	}
-
-	/*
-	 * private void createNewDOMTree() throws
-	 * SimpleNodeOperator.CreateContentSettingsFailureException{ // create New
-	 * document when no file exists. DOMImplementation impl =
-	 * DOMImplementationImpl.getDOMImplementation(); Document document =
-	 * impl.createDocument(null,rootElementName,null); domOperator = new
-	 * SimpleNodeOperator(document); }
-	 */
-	private void createNewDOMTree() throws SimpleNodeOperator.CreateContentSettingsFailureException {
-		Document document = null;
-		try {
-			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-		} catch (ParserConfigurationException e) {
-			Logger.logException("exception creating document", e); //$NON-NLS-1$
-		} catch (FactoryConfigurationError e) {
-			Logger.logException("exception creating document", e); //$NON-NLS-1$
-		}
-		if (document != null) {
-			document.appendChild(document.createElement(rootElementName));
-			domOperator = new SimpleNodeOperator(document);
-		}
-	}
-
-
-	/**
-	 *  
-	 */
-	public synchronized void deleteAllProperties(final IResource deletedFile) {
-		if (deletedFile == null)
-			return;
-		//	if (deletedFile.exists()) return;
-		if ((deletedFile).getType() != IResource.FILE && (deletedFile).getType() != IResource.PROJECT)
-			return;
-
-
-		contentSettingsPath = getContentSettingsPath(deletedFile);//getProjectOf((IResource)deletedFile)
-		// +
-		// IPath.SEPARATOR
-		// +
-		// contentSettingsName;
-		if (contentSettingsPath == null)
-			return;
-		if (!existsContentSettings())
-			return;
-
-		try {
-			createDOMTree();
-		} catch (SimpleNodeOperator.ReadContentSettingsFailureException e) {
-			Logger.logException(e);
-			return;
-		}
-
-		Element e = null;
-		if (deletedFile.getType() == IResource.PROJECT)
-			// select project element and get attribute
-			e = (Element) domOperator.getElementWithNodeName(this.projectElementName);
-		else if (deletedFile.getType() == IResource.FILE)
-			e = (Element) domOperator.getElementWithAttribute(getPathAttr(), getRelativePathFromProject(deletedFile));
-		if (e == null) {
-			preProject = currProject;
-			return;
-		}
-
-
-		// when deletedFile entry exists.
-		if (deletedFile.getType() == IResource.PROJECT)
-			domOperator.removeElementWith(this.projectElementName);
-		else if (deletedFile.getType() == IResource.FILE)
-			domOperator.removeElementWith(getPathAttr(), getRelativePathFromProject(deletedFile));
-
-
-		// write dom tree into .contentsettings
-		try {
-			writeDOMDocument();
-		} catch (SimpleNodeOperator.WriteContentSettingsFailureException ex) {
-			Logger.logException(ex);
-			preProject = currProject;
-			return;
-		}
-
-		preProject = currProject;
-
-
-	}
-
-	public synchronized void deleteProperty(final IResource resource, final String propertyName) {
-		if (resource == null)
-			return;
-		if (!(resource.getType() == IResource.PROJECT || resource.getType() == IResource.FILE))
-			return;
-		contentSettingsPath = getContentSettingsPath(resource);
-		if (contentSettingsPath == null)
-			return;
-
-		if (!existsContentSettings()) {
-			return; // when .contentsettings.xml is NOT exist.
-		}
-		try {
-			createDOMTree();
-		} catch (SimpleNodeOperator.ReadContentSettingsFailureException e) {
-			Logger.logException(e);
-			try {
-				createNewDOMTree();
-				writeDOMDocument();
-			} catch (SimpleNodeOperator.CreateContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return;
-			} catch (SimpleNodeOperator.WriteContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return;
-			}
-		}
-
-		Element e = null;
-		if (resource.getType() == IResource.PROJECT)
-			// select project element and get attribute
-			e = (Element) domOperator.getElementWithNodeName(this.projectElementName);
-		else if (resource.getType() == IResource.FILE)
-			e = (Element) domOperator.getElementWithAttribute(getPathAttr(), getRelativePathFromProject(resource));
-
-
-		if (e != null) {
-			domOperator.removeAttributeAt(e, propertyName);
-			// write dom tree into .contentsettings
-			try {
-				writeDOMDocument();
-			} catch (SimpleNodeOperator.WriteContentSettingsFailureException ex) {
-				Logger.logException(ex);
-				preProject = currProject;
-				return;
-			}
-		}
-
-		preProject = currProject;
-
-	}
-
-
-	private boolean existsContentSettings() {
-		if (contentSettingsPath == null)
-			return false;
-
-		IResource file = currProject.getFile(contentSettingsName);
-		if (file == null)
-			return false;
-		if (file.isAccessible())
-			return true;
-		else
-			return false;
-
-	}
-
-	public boolean existsProperties(IResource resource) {
-		if (resource == null)
-			return false;
-
-		if (!(resource.getType() == IResource.PROJECT || resource.getType() == IResource.FILE))
-			return false;
-
-		contentSettingsPath = getContentSettingsPath(resource);
-		if (contentSettingsPath == null)
-			return false;
-
-		if (!existsContentSettings())
-			return false; // when .contentsettings.xml is NOT exist.
-
-		try {
-			createDOMTree();
-		} catch (SimpleNodeOperator.ReadContentSettingsFailureException e1) {
-			return false;
-		}
-
-		Element e = null;
-		if (resource.getType() == IResource.PROJECT)
-			// select project element and get attribute
-			e = (Element) domOperator.getElementWithNodeName(this.projectElementName);
-		else if (resource.getType() == IResource.FILE)
-			e = (Element) domOperator.getElementWithAttribute(getPathAttr(), getRelativePathFromProject(resource));
-
-		preProject = currProject;
-		if (e == null)
-			return false;
-
-		Map properties = domOperator.getAttributesOf(e);
-		if (properties == null)
-			return false;
-		properties.remove(getPathAttr());// if IFile,removed
-		if (properties.isEmpty())
-			return false;
-		return true;
-
-	}
-
-	private String getContentSettingsPath(IResource resource) {
-		String projectPath = getProjectOf(resource);
-		StringBuffer strbuf = new StringBuffer(""); //$NON-NLS-1$
-		if (projectPath != null) {
-			strbuf.append(projectPath);
-			strbuf.append(IPath.SEPARATOR);
-			strbuf.append(contentSettingsName);
-		} else
-			return null;
-
-		String str = strbuf.toString();
-		strbuf.delete(0, strbuf.length());
-		return str;
-	}
-
-	public final String getPathAttr() {
-		return PATHATTR;
-	}
-
-
-	private String getProjectOf(IResource resource) {
-		//if (resource==null) return null;
-		currProject = resource.getProject();
-		//String projectPath=null;
-
-		IPath path = currProject.getLocation();
-		if (path == null) {
-			path = ResourcesPlugin.getWorkspace().getRoot().getLocation();
-			if (path != null) {
-				path = path.addTrailingSeparator();
-				path = path.append(currProject.getName());
-			}
-		}
-		return (path != null) ? path.toString() : null;
-
-	}
-
-
-	public synchronized Map getProperties(final IResource resource) {
-		if (resource == null)
-			return null;
-
-		if (!(resource.getType() == IResource.PROJECT || resource.getType() == IResource.FILE))
-			return null;
-
-		contentSettingsPath = getContentSettingsPath(resource);
-		if (contentSettingsPath == null)
-			return null;
-
-		if (!existsContentSettings()) {
-			return null; // when .contentsettings.xml is NOT exist.
-		}
-
-
-		try {
-			createDOMTree();
-		} catch (SimpleNodeOperator.ReadContentSettingsFailureException e1) {
-			Logger.logException(e1);
-			// create DOM tree for new XML Document
-			try {
-				createNewDOMTree();
-				writeDOMDocument();
-			} catch (SimpleNodeOperator.CreateContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return null;
-			} catch (SimpleNodeOperator.WriteContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return null;
-			}
-
-		}
-
-
-		Element e = null;
-		if (resource.getType() == IResource.PROJECT)
-			// select project element and get attribute
-			e = (Element) domOperator.getElementWithNodeName(this.projectElementName);
-		else if (resource.getType() == IResource.FILE)
-			e = (Element) domOperator.getElementWithAttribute(getPathAttr(), getRelativePathFromProject(resource));
-
-
-		if (e != null) {
-
-			Map properties = domOperator.getAttributesOf(e);
-			preProject = currProject;
-			if (properties == null)
-				return null;
-			if (properties.isEmpty())
-				return null;
-			properties.remove(getPathAttr());
-			return properties;
-		} else {
-			preProject = currProject;
-			return null;// when project or file element is NOT exist.
-		}
-	}
-
-	public synchronized String getProperty(final IResource resource, final String propertyName) {
-		if (resource == null)
-			return null;
-
-		if (!(resource.getType() == IResource.PROJECT || resource.getType() == IResource.FILE))
-			return null;
-
-		contentSettingsPath = getContentSettingsPath(resource);
-		if (contentSettingsPath == null)
-			return null;
-
-		if (!existsContentSettings()) {
-			return null; // when .contentsettings.xml is NOT exist.
-		}
-
-
-		try {
-			createDOMTree();
-		} catch (SimpleNodeOperator.ReadContentSettingsFailureException e1) {
-			Logger.logException(e1);
-			// create DOM tree for new XML Document
-			try {
-				createNewDOMTree();
-				writeDOMDocument();
-			} catch (SimpleNodeOperator.CreateContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return null;
-			} catch (SimpleNodeOperator.WriteContentSettingsFailureException e2) {
-				Logger.logException(e2);
-				preProject = currProject;
-				return null;
-			}
-
-		}
-
-
-		Element e = null;
-		if (resource.getType() == IResource.PROJECT)
-			// select project element and get attribute
-			e = (Element) domOperator.getElementWithNodeName(this.projectElementName);
-		else if (resource.getType() == IResource.FILE)
-			e = (Element) domOperator.getElementWithAttribute(getPathAttr(), getRelativePathFromProject(resource));
-
-
-		if (e != null) {
-			String result = e.getAttribute(propertyName);
-			preProject = currProject;
-			return result;
-		} else {
-			preProject = currProject;
-			return null;// when project or file element is NOT exist.
-		}
-	}
-
-	private String getRelativePathFromProject(IResource resource) {
-		if (resource == null)
-			return null;
-
-		IPath path = resource.getProjectRelativePath();
-		if (path == null)
-			return null; // if resource is project or workspace root
-		String resourcePath = path.toString();
-
-		return resourcePath;
-
-	}
-
-	public synchronized void releaseCache() {
-		domOperator = null;
-	}
-
-	public synchronized void setProperties(final IResource resource, final Map properties) {
-		// deny to set "path" attribute value.
-		Set keys = properties.keySet();
-		Iterator ii = keys.iterator();
-		while (ii.hasNext()) {
-			if (this.getPathAttr().equals(ii.next()))
-				return;
-		}
-		this._setProperties(resource, properties);
-	}
-
-	public synchronized void setProperty(final IResource resource, final String propertyName, final String propertyValue) {
-		// deny to set "path" attribute value.
-		if (this.getPathAttr().equals(propertyName))
-			return;
-		this._setProperty(resource, propertyName, propertyValue);
-	}
-
-	private void writeDOMDocument() throws SimpleNodeOperator.WriteContentSettingsFailureException {
-		try {
-
-			ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-			domOperator.writeDocument(outputStream);
-			outputStream.flush();
-			outputStream.close();
-
-			ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
-
-			IFile outputFile = currProject.getFile(contentSettingsName);
-			if (outputFile.exists())
-				outputFile.setContents(inputStream, true, true, null);
-			else
-				outputFile.create(inputStream, true, null);
-
-			inputStream.close();
-		} catch (CoreException e) {
-			Logger.logException(e);
-			throw new SimpleNodeOperator.WriteContentSettingsFailureException("invalid outputFile in writeDOMDocument()");//$NON-NLS-1$
-		} catch (IOException e) {
-			Logger.logException(e);
-			throw new SimpleNodeOperator.WriteContentSettingsFailureException("invalid outputStream or inputStream in writeDOMDocument()");//$NON-NLS-1$
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsChangeSubject.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsChangeSubject.java
deleted file mode 100644
index e9f2510..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsChangeSubject.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-public class ContentSettingsChangeSubject extends AbstractSubject {
-
-
-	private static INotify notify;
-	private static ISubject subject;
-
-	protected static INotify getNotify() {
-		if (notify == null && subject == null) {
-			synchronized (ContentSettingsChangeSubject.class) {
-				if (notify == null && subject == null) {
-					notify = new ContentSettingsChangeSubject();
-					subject = (ISubject) notify;
-				}
-			}
-		}
-
-		return notify;
-	}
-
-	public static ISubject getSubject() {
-		if (subject == null && notify == null) {
-			synchronized (ContentSettingsChangeSubject.class) {
-				if (subject == null && notify == null) {
-					subject = new ContentSettingsChangeSubject();
-					notify = (INotify) subject;
-				}
-			}
-		}
-		return subject;
-	}
-
-	public synchronized void addListener(IContentSettingsListener listener) {
-		super.addListener(listener);
-	}
-
-	public synchronized void notifyListeners(org.eclipse.core.resources.IResource changedResource) {
-		super.notifyListeners(changedResource);
-	}
-
-	public synchronized void removeListener(IContentSettingsListener listener) {
-		super.removeListener(listener);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsCreator.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsCreator.java
deleted file mode 100644
index 95114aa..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsCreator.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-public class ContentSettingsCreator {
-
-	public final static IContentSettings create() {
-		return ContentSettings.getInstance();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsFileHandler.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsFileHandler.java
deleted file mode 100644
index 2d7208f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsFileHandler.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-
-class ContentSettingsFileHandler extends AbstractContentSettingsHandler {
-
-
-
-	private Map properties;
-
-
-	private void getProperties(IResource file) {
-		properties = getContentSettings().getProperties(file);
-	}
-
-	/*
-	 * @see AbstractContentSettingsHandler#handleAdded()
-	 */
-	protected void handleAdded() {
-		super.handleAdded();
-
-		if (super.getDelta().getFlags() == 0) {
-			// pulldown memu->copy->create file without override, new file,
-			// import without override
-			// copy,new,import has same kind(=1) and flag(=0).
-
-		} else if ((getDelta().getFlags() & IResourceDelta.MOVED_FROM) != 0) {
-			// pulldown menu-> rename without override,pulldown menu->move
-			// without override
-			// instead of this method,handleRemoved() works for this delta
-
-		}
-
-	}
-
-
-	/*
-	 * @see AbstractContentSettingsHandler#handleChanged()
-	 */
-	protected void handleChanged() {
-		// edit
-		if (getDelta().getFlags() == IResourceDelta.CONTENT && (getDelta().getFlags() & IResourceDelta.REPLACED) == 0) {
-			super.handleChanged();
-
-		} else if (getDelta().getFlags() == IResourceDelta.CONTENT && (getDelta().getFlags() & IResourceDelta.REPLACED) != 0) {
-			// override as a result of copy or import
-			// in Web project, copy with override doesn't happen
-
-			// override as move or rename
-			// handleRemoved() works for this delta
-			super.handleChanged();
-
-		}
-
-
-	}
-
-	/*
-	 * @see AbstractContentSettingsHandler#handleRemoved()
-	 */
-	protected void handleRemoved() {
-		super.handleRemoved();
-		IFile deletedFile = null;
-
-		// if entry exists then remove it.
-		if (getDelta().getFlags() == 0) {
-			// pulldown menu->delete
-			deletedFile = (IFile) getDelta().getResource();
-
-			if (deletedFile == null)
-				return;
-			getContentSettings().deleteAllProperties(deletedFile);
-
-			getContentSettings().releaseCache();
-		}
-
-		else if ((getDelta().getFlags() & IResourceDelta.MOVED_TO) != 0) {
-
-			// pulldown menu-> rename, pulldown menu->move
-			deletedFile = (IFile) getDelta().getResource();
-			getProperties(deletedFile);
-
-			// get destination IResource
-			IPath targetPath = getDelta().getMovedToPath();
-			IWorkspaceRoot iwr = ResourcesPlugin.getWorkspace().getRoot();
-			IResource targetFile = iwr.getFile(targetPath);//iwr.findMember(targetPath);
-
-			// set property of destination file
-			getContentSettings().deleteAllProperties(targetFile);
-			setProperties(targetFile);
-			if (properties != null)
-				properties.clear();
-			properties = null;
-		}
-
-		if (deletedFile == null)
-			return;
-		getContentSettings().deleteAllProperties(deletedFile);
-
-		getContentSettings().releaseCache();
-
-	}
-
-	private void setProperties(IResource file) {
-		if (file.getFileExtension() == null)
-			return;
-		if (!(file.getFileExtension().equalsIgnoreCase("shtml")//$NON-NLS-1$
-					|| file.getFileExtension().equalsIgnoreCase("htm")//$NON-NLS-1$
-					|| file.getFileExtension().equalsIgnoreCase("html")//$NON-NLS-1$
-					|| file.getFileExtension().equalsIgnoreCase("jhtml")//$NON-NLS-1$
-					|| file.getFileExtension().equalsIgnoreCase("xhtml")//$NON-NLS-1$
-					|| file.getFileExtension().equalsIgnoreCase("jsp")//$NON-NLS-1$
-					|| file.getFileExtension().equalsIgnoreCase("css")//$NON-NLS-1$
-					|| file.getFileExtension().equalsIgnoreCase("jsf")//$NON-NLS-1$
-		|| file.getFileExtension().equalsIgnoreCase("jspf")))//$NON-NLS-1$
-			return;
-		if (properties == null || properties.isEmpty())
-			return;
-		getContentSettings().setProperties(file, properties);
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsSelfHandler.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsSelfHandler.java
deleted file mode 100644
index 7fbe0a2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsSelfHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-import org.eclipse.core.resources.IResourceDelta;
-
-final class ContentSettingsSelfHandler extends AbstractContentSettingsHandler {
-
-	private static INotify notify;// = new ContentSettingsChangedSubject();
-
-
-	private final void getSubject() {
-		notify = ContentSettingsChangeSubject.getNotify();
-	}
-
-	/*
-	 * @see AbstractContentSettingsHandler#handleAdded()
-	 */
-	protected void handleAdded() {
-		getSubject();
-		if (super.getDelta().getFlags() == 0) {
-			// pulldown memu->copy->create file without override, new file,
-			// property page create .contentsettings
-			super.handleAdded();
-			notify.notifyListeners(getDelta().getResource());
-
-		} else if ((getDelta().getFlags() & IResourceDelta.MOVED_FROM) != 0) {
-			// pulldown menu-> rename without override,pulldown menu->move
-			// without override
-			super.handleAdded();
-			notify.notifyListeners(getDelta().getResource());
-
-		}
-
-	}
-
-
-	/*
-	 * @see AbstractContentSettingsHandler#handleChanged()
-	 */
-	protected void handleChanged() {
-		getSubject();
-		if ((getDelta().getFlags() & IResourceDelta.CONTENT) != 0 && (getDelta().getFlags() & IResourceDelta.REPLACED) == 0) {
-			// result of edit, property page operate setProperty(apply or ok
-			// button) in .contentsettings
-			super.handleChanged();
-
-			notify.notifyListeners(getDelta().getResource());
-
-		} else if ((getDelta().getFlags() & IResourceDelta.CONTENT) != 0 && (getDelta().getFlags() & IResourceDelta.REPLACED) != 0) {
-			super.handleChanged();
-			notify.notifyListeners(getDelta().getResource());
-
-		}
-
-
-	}
-
-	/*
-	 * @see AbstractContentSettingsHandler#handleRemoved()
-	 */
-	protected void handleRemoved() {
-		getSubject();
-		if (getDelta().getFlags() == 0) {
-			// pulldown menu->delete
-			super.handleRemoved();
-			notify.notifyListeners(getDelta().getResource());
-
-		} else if ((getDelta().getFlags() & IResourceDelta.MOVED_TO) != 0) {
-			// pulldown menu-> rename, pulldown menu->move
-			super.handleRemoved();
-			notify.notifyListeners(getDelta().getResource());
-
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsSynchronizer.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsSynchronizer.java
deleted file mode 100644
index 2507086..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentSettingsSynchronizer.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-public class ContentSettingsSynchronizer implements IResourceChangeListener {
-	class ContentSettingsVisitor implements IResourceDeltaVisitor {
-		// redefinition in ContentSettings.java
-		private String contentSettingsName = ContentSettings.getContentSettingsName(); //$NON-NLS-1$
-		private IResourceChangeEvent fEvent;
-		private IContentSettingsHandler handler;
-
-		public ContentSettingsVisitor(IResourceChangeEvent event) {
-			this.fEvent = event;
-		}
-
-		/**
-		 * @see IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			if (delta == null)
-				return false;
-			IResource resource = delta.getResource();
-			if (resource == null)
-				return false;
-			// parent folder or project
-			if (delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() == 0)
-				return true;
-			final int resourceType = resource.getType();
-			switch (resourceType) {
-				case IResource.PROJECT :
-					return false;
-				case IResource.FILE :
-					// whether resource is .contentsettings file or not
-					IProject project = delta.getResource().getProject();
-					if (this.fEvent.getType() == IResourceChangeEvent.POST_CHANGE && resource.equals(project.getFile(this.contentSettingsName))) {
-						// new object for .contentsettings
-						handler = new ContentSettingsSelfHandler();
-					} else if (this.fEvent.getType() == IResourceChangeEvent.PRE_BUILD && resource.getFileExtension() != null) {
-						//TODO change to content type!
-						if (resource.getFileExtension().equalsIgnoreCase("shtml") //$NON-NLS-1$
-									|| resource.getFileExtension().equalsIgnoreCase("htm") //$NON-NLS-1$
-									|| resource.getFileExtension().equalsIgnoreCase("html") //$NON-NLS-1$
-									|| resource.getFileExtension().equalsIgnoreCase("jhtml") //$NON-NLS-1$
-									|| resource.getFileExtension().equalsIgnoreCase("xhtml") //$NON-NLS-1$
-									|| resource.getFileExtension().equalsIgnoreCase("jsp") //$NON-NLS-1$
-									|| resource.getFileExtension().equalsIgnoreCase("css") //$NON-NLS-1$
-									|| resource.getFileExtension().equalsIgnoreCase("jsf") //$NON-NLS-1$
-									|| resource.getFileExtension().equalsIgnoreCase("jspf")) { //$NON-NLS-1$
-							// new object for IFile
-							handler = new ContentSettingsFileHandler();
-							handler.handle(delta);
-							handler = null;
-							return true;
-						}
-					} else
-						return false; // true or false;motomoto true;
-					break;
-				case IResource.FOLDER :
-					return true;
-				default :
-					return true;
-			}
-			final IResourceDelta fDelta = delta;
-			final IContentSettingsHandler deltaHandler = this.handler;
-			Display display = getDisplay();
-			if (display != null && !display.isDisposed()) {
-				display.asyncExec(new Runnable() {
-					public void run() {
-						if (deltaHandler != null) {
-							deltaHandler.handle(fDelta);
-						}
-					}
-				});
-			} else if (deltaHandler != null) {
-				deltaHandler.handle(fDelta);
-			}
-			handler = null;
-			return true; // true or false;motomoto true;
-		}
-	}
-
-	private static ContentSettingsSynchronizer instance = null;
-
-	public synchronized static ContentSettingsSynchronizer getInstance() {
-		if (instance == null)
-			instance = new ContentSettingsSynchronizer();
-		return instance;
-	}
-
-	private ContentSettingsVisitor csVisitor;
-	private boolean fListening = false;
-	private IProject fProject;
-
-	Display getDisplay() {
-		IWorkbench workbench = null;
-		if (PlatformUI.isWorkbenchRunning()) {
-			workbench = PlatformUI.getWorkbench();
-		}
-		if (workbench != null)
-			return workbench.getDisplay();
-		return null;
-	}
-
-	private final IProject getProject() {
-		return fProject;
-	}
-
-	private final IWorkspace getWorkspace() {
-		if (getProject() == null)
-			return ResourcesPlugin.getWorkspace();
-		return getProject().getWorkspace();
-	}
-
-	public synchronized void install() {
-		if (!fListening) {
-			getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.PRE_BUILD | IResourceChangeEvent.POST_CHANGE);
-			fListening = true;
-		}
-	}
-
-	/**
-	 * @return
-	 */
-	public synchronized boolean isListening() {
-		return fListening;
-	}
-
-	/*
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta = event.getDelta();
-		if (delta != null) {
-			try {
-				if (csVisitor == null)
-					csVisitor = new ContentSettingsVisitor(event);
-				delta.accept(csVisitor);
-			} catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-		csVisitor = null;
-	}
-
-	public synchronized void unInstall() {
-		getWorkspace().removeResourceChangeListener(this);
-		fListening = false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/IContentSettings.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/IContentSettings.java
deleted file mode 100644
index 1bc2847..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/IContentSettings.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-
-public interface IContentSettings {
-	/**
-	 *  
-	 */
-	public final String CSS_PROFILE = "css-profile"; //$NON-NLS-1$
-	/**
-	 *  
-	 */
-	public final String DEVICE_PROFILE = "target-device"; //$NON-NLS-1$
-
-	/**
-	 *  
-	 */
-	public final String DOCUMENT_TYPE = "document-type"; //$NON-NLS-1$
-	/**
-	 *  
-	 */
-	public final String HTML_DOCUMENT_TYPE = "html-document-type"; //$NON-NLS-1$
-
-	/**
-	 *  
-	 */
-	public void deleteAllProperties(final IResource deletedFile);
-
-	/**
-	 *  
-	 */
-	public void deleteProperty(final IResource resource, final String propertyName);
-
-	/**
-	 *  
-	 */
-	public boolean existsProperties(IResource resource);
-
-	/**
-	 *  
-	 */
-	public Map getProperties(final IResource resource);
-
-	/**
-	 *  
-	 */
-	public String getProperty(final IResource resource, final String propertyName);
-
-	/**
-	 * release cache of DOM tree in .contentsettings
-	 */
-	public void releaseCache();
-
-	/**
-	 *  
-	 */
-	public void setProperties(final IResource resource, final Map properties);
-
-	/**
-	 *  
-	 */
-	public void setProperty(final IResource resource, final String propertyName, final String propertyValue);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/IContentSettingsHandler.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/IContentSettingsHandler.java
deleted file mode 100644
index d69a7b4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/IContentSettingsHandler.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-import org.eclipse.core.resources.IResourceDelta;
-
-interface IContentSettingsHandler {
-
-	public void handle(final IResourceDelta delta);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/IContentSettingsListener.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/IContentSettingsListener.java
deleted file mode 100644
index e8c45cc..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/IContentSettingsListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-public interface IContentSettingsListener {
-
-	void contentSettingsChanged(org.eclipse.core.resources.IResource e);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/INotify.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/INotify.java
deleted file mode 100644
index 8272e1e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/INotify.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-interface INotify {
-
-	void notifyListeners(org.eclipse.core.resources.IResource resource);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ISubject.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ISubject.java
deleted file mode 100644
index a53884c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ISubject.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-public interface ISubject {
-
-	void addListener(IContentSettingsListener listener);
-
-	void removeListener(IContentSettingsListener listener);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/Logger.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/Logger.java
deleted file mode 100644
index 78c68e1..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/Logger.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * @deprecated This plugin has combined with the org.eclipse.wst.sse.ui plugin.
- *             Use SSEUIPlugin instead.
- */
-public class Logger {
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	private static Plugin fPlugin = ContentPropertiesPlugin.getDefault();
-	private static final String fPluginId = fPlugin.getDescriptor().getUniqueIdentifier();
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int INFO_DEBUG = 200 + INFO;
-
-	public static final int OK = IStatus.OK; // 0
-
-	public static final int OK_DEBUG = 200 + OK;
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int WARNING_DEBUG = 200 + WARNING;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, fPluginId, severity, message, exception);
-		fPlugin.getLog().log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, fPluginId, IStatus.OK, message, exception);
-			fPlugin.getLog().log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the plugin for this logger is debugging
-	 */
-	public static boolean isDebugging() {
-		return fPlugin.isDebugging();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(fPluginId + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/SimpleNodeOperator.java b/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/SimpleNodeOperator.java
deleted file mode 100644
index 261d4b5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/SimpleNodeOperator.java
+++ /dev/null
@@ -1,366 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties;
-
-
-
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.traversal.NodeIterator;
-import org.xml.sax.SAXException;
-
-class SimpleNodeOperator {
-
-	class CreateContentSettingsFailureException extends Exception {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 */
-		private static final long serialVersionUID = 1L;
-
-		public CreateContentSettingsFailureException(String reason) {
-			super(reason);
-		}
-	}
-
-
-	class ReadContentSettingsFailureException extends Exception {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 */
-		private static final long serialVersionUID = 1L;
-
-		public ReadContentSettingsFailureException(String reason) {
-			super(reason);
-		}
-	}
-
-	static class WriteContentSettingsFailureException extends Exception {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 */
-		private static final long serialVersionUID = 1L;
-
-		public WriteContentSettingsFailureException(String reason) {
-			super(reason);
-		}
-	}
-
-	// writer class for .contentSettings.
-	class XMLDocumentWriter {
-		OutputStream fOut;
-
-		protected XMLDocumentWriter(OutputStream out) {
-			this.fOut = out;
-		}
-
-		protected final void close() {
-			try {
-				fOut.close();
-			} catch (IOException e) {
-				// do nothing, shouldn't matter
-			}
-		}
-
-		protected void serialize(Document sourceDocument) throws WriteContentSettingsFailureException {
-			// JAXP transformation
-			Source domSource = new DOMSource(sourceDocument);
-			try {
-				Transformer serializer = TransformerFactory.newInstance().newTransformer();
-				try {
-					serializer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-					serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-				} catch (IllegalArgumentException e) {
-					// unsupported properties
-				}
-				serializer.transform(domSource, new StreamResult(fOut));
-			} catch (TransformerConfigurationException e) {
-				throw new WriteContentSettingsFailureException(e.getMessage());
-			} catch (TransformerFactoryConfigurationError e) {
-				throw new WriteContentSettingsFailureException(e.getMessage());
-			} catch (TransformerException e) {
-				throw new WriteContentSettingsFailureException(e.getMessage());
-			}
-		}
-	}
-
-	public static void main(String[] args) {
-		SimpleNodeOperator a = null;
-		try {
-			a = new SimpleNodeOperator("workspace/org.eclipse.examples.contentsettings/.contentsettings.xml");//$NON-NLS-1$
-		} catch (Exception e) {
-			System.exit(0);
-		}
-
-		// print all Elements
-		//a.printTree(iter);
-
-		// add Element
-		Map attMap = new Hashtable();
-		attMap.put("path", "hogepath");//$NON-NLS-1$ //$NON-NLS-2$
-		attMap.put("fDocument-type", "documenthogehoge");//$NON-NLS-1$ //$NON-NLS-2$
-		a.addElementUnderRoot("file", attMap);//$NON-NLS-1$
-
-		try {
-			a.writeDocument(System.out);
-		} catch (Exception e) {
-			System.err.println(e.toString());
-		}
-
-	}
-
-	//never used
-	//private DOMParser parser;
-	private Document fDocument;
-	private Node root;
-
-	private String settingsFileName;
-
-
-	public SimpleNodeOperator(Document doc) throws CreateContentSettingsFailureException {
-
-		if (doc == null)
-			throw new CreateContentSettingsFailureException("Document doc==null");//$NON-NLS-1$
-		fDocument = doc;
-		root = fDocument.getLastChild();
-		if (root == null)
-			throw new CreateContentSettingsFailureException("Node root==null");//$NON-NLS-1$
-	}
-
-	public SimpleNodeOperator(String fullPath) throws ReadContentSettingsFailureException {
-		this.settingsFileName = fullPath;
-		createObjectOfDocument();
-	}
-
-	// add attribute(attName=attValue) of ele without checking overlapping of
-	// another attributes of ele.
-	// if overlapping ,override
-	protected Node addAttributeAt(Element ele, String attName, String attValue) {
-		Attr att = fDocument.createAttribute(attName);
-		att.setValue(attValue);
-		if (ele != null)
-			ele.setAttributeNode(att);
-		return ele;
-	}
-
-	protected Node addElementUnder(Node parent, String tagName, Map attMap) {
-		if (parent == null || tagName == null)
-			return null;
-		Element e = fDocument.createElement(tagName);
-		if (attMap != null) {
-			if (!attMap.isEmpty()) {
-				Set attKeys = attMap.keySet();
-				Iterator iter = attKeys.iterator();
-				while (iter.hasNext()) {
-					String key = (String) iter.next();
-					e.setAttribute(key, (String) attMap.get(key));
-				}
-			}
-		}
-		parent.appendChild(e);
-		return e;
-	}
-
-	protected final Node addElementUnderRoot(String tagName) {
-		return addElementUnder(root, tagName, null);
-	}
-
-	// add element with attMap as attribute without checking overlapping.
-	protected final Node addElementUnderRoot(String tagName, Map attMap) {
-		return addElementUnder(root, tagName, attMap);
-	}
-
-	/*
-	 * private void createObjectOfDocument() throws
-	 * ReadContentSettingsFailureException{ try { //parser = new DOMParser();
-	 * parser = ParseUtil.getDOMParser(); parser.parse(settingsFileName);
-	 * //fDocument = parser.getDocument(); fDocument =
-	 * ParseUtil._getDocument(parser); //get the root of the XML fDocument
-	 * root = fDocument.getLastChild(); if (root == null) { throw new
-	 * ReadContentSettingsFailureException("Error: Node
-	 * root==null");//$NON-NLS-1$ } filter = new AllElements(); } catch
-	 * (SAXException e){ com.ibm.sed.util.Logger.log(e); throw new
-	 * ReadContentSettingsFailureException(e.toString()); } catch (IOException
-	 * e){ com.ibm.sed.util.Logger.log(e); throw new
-	 * ReadContentSettingsFailureException(e.toString()); } catch
-	 * (ClassNotFoundException e){ com.ibm.sed.util.Logger.log(e); throw new
-	 * ReadContentSettingsFailureException(e.toString()); } }
-	 */
-	private void createObjectOfDocument() throws ReadContentSettingsFailureException {
-		try {
-			fDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(settingsFileName));
-		} catch (SAXException e) {
-			Logger.logException("exception parsing" + settingsFileName, e); //$NON-NLS-1$
-		} catch (IOException e) {
-			Logger.logException("I/O exception parsing" + settingsFileName, e); //$NON-NLS-1$
-		} catch (ParserConfigurationException e) {
-			Logger.logException("exception accessing DOMImplementation", e); //$NON-NLS-1$
-		} catch (FactoryConfigurationError e) {
-			Logger.logException("exception accessing DOMImplementation", e); //$NON-NLS-1$
-		}
-		//get the root of the XML fDocument
-		root = fDocument.getLastChild();
-		if (root == null) {
-			throw new ReadContentSettingsFailureException("Error: Node root==null");//$NON-NLS-1$
-		}
-	}
-
-	protected Map getAttributesOf(Node node) {
-		if (!node.hasAttributes())
-			return null;
-		Map map = new HashMap();
-		NamedNodeMap attrs = node.getAttributes();
-		int size = attrs.getLength();
-		for (int i = 0; i < size; i++) {
-			Attr attr = (Attr) attrs.item(i);
-			map.put(attr.getName(), attr.getValue());
-		}
-		return (map);
-	}
-
-	private Node getElementWithAttribute(Node first, String attName, String attValue) {
-		Node navpoint = first;
-		while (navpoint != null) {
-			if (navpoint.getNodeType() == Node.ELEMENT_NODE) {
-				NamedNodeMap m = navpoint.getAttributes();
-				if (m == null)
-					continue;
-				if (m.getNamedItem(attName) != null) {
-					if (attValue.equals(((Attr) m.getNamedItem(attName)).getNodeValue()))
-						return navpoint;
-				}
-				NodeList childNodes = navpoint.getChildNodes();
-				if (childNodes != null && childNodes.getLength() > 0) {
-					Node holdNode = getElementWithAttribute(navpoint.getFirstChild(), attName, attValue);
-					if (holdNode != null) {
-						return holdNode;
-					}
-				}
-			}
-			navpoint = navpoint.getNextSibling();
-		}
-		return null;
-	}
-
-
-	// return a (first) Element with attr(attName=attValue) it if exists,
-	// otherwise return null
-	protected Node getElementWithAttribute(String attName, String attValue) {
-		if (attName == null || attValue == null || !fDocument.hasChildNodes())
-			return null;
-		return getElementWithAttribute(fDocument.getFirstChild(), attName, attValue);
-	}
-
-	// retrun Element which has nodeName as Node Name
-	protected Node getElementWithNodeName(String nodeName) {
-		if (nodeName == null)
-			return null;
-		NodeList nodes = fDocument.getElementsByTagName(nodeName);
-		if (nodes.getLength() > 0) {
-			return nodes.item(0);
-		}
-		return null;
-	}
-
-	public void printTree(NodeIterator iter) {
-		Node n;
-		while ((n = iter.nextNode()) != null) {
-			System.out.println(n.getNodeName() + ":");//$NON-NLS-1$
-			NamedNodeMap m = n.getAttributes();
-			if (m == null)
-				continue;
-			for (int i = 0; i < m.getLength(); i++) {
-				String attName = m.item(i).getNodeName();
-				System.out.print(" " + attName + "=" + m.item(i).getNodeValue());//$NON-NLS-1$ //$NON-NLS-2$
-			}
-			System.out.println("");//$NON-NLS-1$
-		}
-	}
-
-
-	// remove attribute(attName) at ele.
-	protected Attr removeAttributeAt(Element ele, String attName) {
-		if (ele == null || attName == null)
-			return null;
-		Attr att = ele.getAttributeNode(attName);
-		ele.removeAttribute(attName);
-		return att;
-	}
-
-	protected Element removeElementWith(String nodeName) {
-		NodeList nodes = fDocument.getElementsByTagName(nodeName);
-		for (int i = 0; i < nodes.getLength(); i++) {
-			nodes.item(i).getParentNode().removeChild(nodes.item(i));
-		}
-		return null;
-	}
-
-	// remove a (first) Element with attr(attName=attValue) and return it if
-	// exists, otherwise return null
-	protected Element removeElementWith(String attName, String attValue) {
-		if (fDocument.hasChildNodes()) {
-			Node element = getElementWithAttribute(attName, attValue);
-			if (element != null && element.getNodeType() == Node.ELEMENT_NODE) {
-				element.getParentNode().removeChild(element);
-				return (Element) element;
-			}
-		}
-		return null;
-
-	}
-
-	// update attribute(attName=newValue) at ele if both ele and attribute of
-	// ele exist
-	protected void updateAttributeAt(Element ele, String attName, String newValue) {
-		Attr att = null;
-		if (ele != null)
-			if ((att = ele.getAttributeNode(attName)) != null)
-				att.setValue(newValue);
-	}
-
-	protected void writeDocument(OutputStream out) throws WriteContentSettingsFailureException {
-		XMLDocumentWriter writer = new XMLDocumentWriter(out);
-		try {
-			writer.serialize(fDocument);
-		} finally {
-			writer.close();
-		}
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ConfigurationPointCalculator.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ConfigurationPointCalculator.java
deleted file mode 100644
index ca58e44..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ConfigurationPointCalculator.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.part.MultiPageEditorSite;
-
-public class ConfigurationPointCalculator {
-	public static final String DESIGN = ".design"; //$NON-NLS-1$
-	public static final String SOURCE = ".source"; //$NON-NLS-1$
-
-	public static String[] getConfigurationPoints(IEditorPart part, String contentType, String subContext, Class rootClass) {
-		ConfigurationPointCalculator calculator = new ConfigurationPointCalculator();
-		calculator.setContentType(contentType);
-		calculator.setPart(part);
-		calculator.setRootClass(rootClass);
-		calculator.setSubContext(subContext);
-		return calculator.getConfigurationPoints();
-	}
-
-	protected String fContentType = null;
-	protected IEditorPart fPart = null;
-
-	protected Class fRootClass = null;
-	protected String fSubContext = null;
-
-	/**
-	 * 
-	 */
-	public ConfigurationPointCalculator() {
-		super();
-	}
-
-	public String[] getConfigurationPoints() {
-		List points = new ArrayList(2);
-
-		IEditorSite site = fPart.getEditorSite();
-		String id = site.getId();
-		if (id != null && id.length() > 0 && !id.equals(fRootClass.getName()))
-			points.add(id);
-
-		if (site instanceof MultiPageEditorSite) {
-			String multipageID = ((MultiPageEditorSite) site).getMultiPageEditor().getSite().getId();
-			if (!points.contains(multipageID))
-				points.add(multipageID);
-			String sourcePageID = ((MultiPageEditorSite) site).getMultiPageEditor().getSite().getId() + ".source"; //$NON-NLS-1$
-			if (!points.contains(sourcePageID))
-				points.add(sourcePageID);
-		}
-		if (site instanceof MultiPageEditorSite) {
-			String multipageClassName = ((MultiPageEditorSite) site).getMultiPageEditor().getClass().getName();
-			if (!points.contains(multipageClassName))
-				points.add(multipageClassName);
-		}
-		Class editorClass = fPart.getClass();
-		while (editorClass != null && fRootClass != null && !editorClass.equals(fRootClass)) {
-			if (!points.contains(editorClass.getName()))
-				points.add(editorClass.getName());
-			editorClass = editorClass.getSuperclass();
-		}
-
-		IContentType contentType = Platform.getContentTypeManager().getContentType(fContentType);
-		while (contentType != null && !contentType.getId().equals(IContentTypeManager.CT_TEXT)) {
-			if (!points.contains(contentType.getId()))
-				points.add(contentType.getId());
-			contentType = contentType.getBaseType();
-		}
-
-		if (!points.contains(fRootClass.getName()))
-			points.add(fRootClass.getName());
-		return (String[]) points.toArray(new String[0]);
-	}
-
-	/**
-	 * @return Returns the contentType.
-	 */
-	public String getContentType() {
-		return fContentType;
-	}
-
-	/**
-	 * @return Returns the part.
-	 */
-	public IEditorPart getPart() {
-		return fPart;
-	}
-
-	/**
-	 * @return Returns the rootClass.
-	 */
-	public Class getRootClass() {
-		return fRootClass;
-	}
-
-	/**
-	 * @return Returns the subContext.
-	 */
-	public String getSubContext() {
-		return fSubContext;
-	}
-
-	/**
-	 * @param contentType
-	 *            The contentType to set.
-	 */
-	public void setContentType(String contentType) {
-		fContentType = contentType;
-	}
-
-	/**
-	 * @param part
-	 *            The part to set.
-	 */
-	public void setPart(IEditorPart part) {
-		fPart = part;
-	}
-
-	/**
-	 * @param rootClass
-	 *            The rootClass to set.
-	 */
-	public void setRootClass(Class rootClass) {
-		fRootClass = rootClass;
-	}
-
-	/**
-	 * @param subContext
-	 *            The subContext to set.
-	 */
-	public void setSubContext(String subContext) {
-		fSubContext = subContext;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ExtensionsPlugin.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ExtensionsPlugin.java
deleted file mode 100644
index 7188405..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ExtensionsPlugin.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Plugin;
-
-/**
- * @deprecated This plugin has combined with the org.eclipse.wst.sse.ui plugin.
- *             Use SSEUIPlugin instead.
- */
-public class ExtensionsPlugin extends Plugin {
-	//The shared instance.
-	private static ExtensionsPlugin plugin;
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ExtensionsPlugin 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 = ExtensionsPlugin.getDefault()
-				.getResourceBundle();
-		try {
-			return bundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-
-	/**
-	 * The constructor.
-	 */
-	public ExtensionsPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ISelfValidateEditAction.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ISelfValidateEditAction.java
deleted file mode 100644
index 01526f0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ISelfValidateEditAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions;
-
-
-
-/**
- * This is a marker interface to control ValidateEdit call Usually framework
- * calls IExtendedSimpleEditor#validateEdit() before calling
- * IExtendedEditorAction's run() method. However, if the action implements
- * this interface, framework won't call validateEdit() method.
- * 
- * The action should call validateEdit() at their own appropriate timing.
- */
-public interface ISelfValidateEditAction {
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/Logger.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/Logger.java
deleted file mode 100644
index 5702081..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/Logger.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * @deprecated This plugin has combined with the org.eclipse.wst.sse.ui plugin.
- *             Use org.eclipse.wst.sse.ui.internal.Logger instead.
- */
-public class Logger {
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	private static Plugin fPlugin = ExtensionsPlugin.getDefault();
-	private static final String fPluginId = fPlugin.getDescriptor().getUniqueIdentifier();
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int INFO_DEBUG = 200 + INFO;
-
-	public static final int OK = IStatus.OK; // 0
-
-	public static final int OK_DEBUG = 200 + OK;
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int WARNING_DEBUG = 200 + WARNING;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, fPluginId, severity, message, exception);
-		fPlugin.getLog().log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, fPluginId, IStatus.OK, message, exception);
-			fPlugin.getLog().log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the plugin for this logger is debugging
-	 */
-	public static boolean isDebugging() {
-		return fPlugin.isDebugging();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(fPluginId + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/IBreakpointConstants.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/IBreakpointConstants.java
deleted file mode 100644
index e6ff39f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/IBreakpointConstants.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.breakpoint;
-
-/**
- * @author pavery
- */
-public interface IBreakpointConstants {
-	String ATTR_HIDDEN = "hidden"; //$NON-NLS-1$
-	String RESOURCE_PATH = "org.eclipse.wst.sse.ui.extensions.breakpoint.path"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/IBreakpointProvider.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/IBreakpointProvider.java
deleted file mode 100644
index a9d3233..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/IBreakpointProvider.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.breakpoint;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.IEditorInput;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * Interface to provide breakpoint creation
- */
-public interface IBreakpointProvider {
-
-	/**
-	 * Adds breakpoint to specified position
-	 * 
-	 * @param doc
-	 *            w3c DOM Document object or <code>null</code> if called
-	 *            from a non-DOM based editor plugin
-	 * @param idoc
-	 *            IDocument object
-	 * @param input
-	 *            current editor input, not necessarily an IFileEditorInput or
-	 *            linked to a resource in any way
-	 * @param node
-	 *            current caret node or <code>null</code> if called from a
-	 *            non-DOM based editor plugin
-	 * @param lineNumber
-	 *            current line number
-	 * @param offset
-	 *            current caret offset
-	 * @throws CoreException
-	 * @return IStatus the status after being asked to add a breakpoint. The
-	 *         Severity of ERROR should only be used if the location
-	 *         information is both valid for a breakpoint and one could not be
-	 *         added.
-	 */
-	IStatus addBreakpoint(Document doc, IDocument idoc, IEditorInput input, Node node, int lineNumber, int offset) throws CoreException;
-
-	/**
-	 * Returns corresponding resource from editor input
-	 * 
-	 * @param input
-	 * @return IResource
-	 */
-	IResource getResource(IEditorInput input);
-
-	/**
-	 * Set SourceEditingTextTools object
-	 * 
-	 * @param tool
-	 *            SourceEditingTextTools object
-	 */
-	void setSourceEditingTextTools(SourceEditingTextTools tool);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/IExtendedStorageEditorInput.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/IExtendedStorageEditorInput.java
deleted file mode 100644
index 711df2c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/IExtendedStorageEditorInput.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.breakpoint;
-
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.texteditor.IElementStateListener;
-
-public interface IExtendedStorageEditorInput extends IStorageEditorInput {
-	/**
-	 * Adds the given element state listener to this input. Has no effect if
-	 * an identical listener is already registered. Typically used by the
-	 * IDocumentProvider to register itself for change notification.
-	 * 
-	 * @param listener
-	 *            the listener
-	 */
-	void addElementStateListener(IElementStateListener listener);
-
-	/**
-	 * Removes the given element state listener from this input. Has no affect
-	 * if an identical listener is not registered.
-	 * 
-	 * @param listener
-	 *            the listener
-	 */
-	void removeElementStateListener(IElementStateListener listener);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/NodeLocation.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/NodeLocation.java
deleted file mode 100644
index 2e5e8d9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/NodeLocation.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.breakpoint;
-
-
-public interface NodeLocation {
-	/**
-	 * Returns the document end offset of the end tag, -1 of there is no end
-	 * tag
-	 * 
-	 * @return
-	 */
-	int getEndTagEndOffset();
-
-	/**
-	 * Returns the document start offset of the end tag, -1 of there is no end
-	 * tag
-	 * 
-	 * @return
-	 */
-	int getEndTagStartOffset();
-
-	/**
-	 * Returns the document end offset of the start tag, -1 of there is no
-	 * start tag
-	 * 
-	 * @return
-	 */
-	int getStartTagEndOffset();
-
-	/**
-	 * Returns the document start offset of the start tag, -1 of there is no
-	 * start tag
-	 * 
-	 * @return
-	 */
-	int getStartTagStartOffset();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/NullSourceEditingTextTools.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/NullSourceEditingTextTools.java
deleted file mode 100644
index ff65d0c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/NullSourceEditingTextTools.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.breakpoint;
-
-import org.eclipse.core.resources.IMarker;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class NullSourceEditingTextTools implements SourceEditingTextTools {
-	public static final String ID = "sourceeditingtexttools"; //$NON-NLS-1$
-	private static NullSourceEditingTextTools instance;
-
-	/**
-	 * @return
-	 */
-	public synchronized static SourceEditingTextTools getInstance() {
-		if (instance == null)
-			instance = new NullSourceEditingTextTools();
-		return instance;
-	}
-
-	private NullSourceEditingTextTools() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools#getDOMDocument(org.eclipse.core.resources.IMarker)
-	 */
-	public Document getDOMDocument(IMarker marker) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools#getNodeLocation(org.w3c.dom.Node)
-	 */
-	public NodeLocation getNodeLocation(Node node) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools#getPageLanguage(org.w3c.dom.Node)
-	 */
-	public String getPageLanguage(Node node) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools#getStartOffset(org.w3c.dom.Node)
-	 */
-	public int getStartOffset(Node node) {
-		return 0;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/SourceEditingTextTools.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/SourceEditingTextTools.java
deleted file mode 100644
index 4a16f9e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/breakpoint/SourceEditingTextTools.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.breakpoint;
-
-
-
-import org.eclipse.core.resources.IMarker;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * Interface to provide convenient functions for a plugin which doesn't want
- * to depends on sed.editor or sed.model plugins, but needs some information
- * which the sed functions provide as a convenience to clients
- */
-public interface SourceEditingTextTools {
-
-
-	/**
-	 * Returns w3c DOM document for a given marker
-	 * 
-	 * @param marker
-	 *            marker object to check
-	 * @return Document w3c DOM document object or <code>null</code> if
-	 *         corresponding document does not exist
-	 */
-	Document getDOMDocument(IMarker marker);
-
-	/**
-	 * Returns a NodeLocation object describing the position information of
-	 * the Node's start and end tags. Returns null for unsupported Node types
-	 * (Nodes which are not Elements or in a supported Document).
-	 * 
-	 * @param node
-	 * @return
-	 */
-	NodeLocation getNodeLocation(Node node);
-
-	/**
-	 * Returns the current server-side page language for the Document of the
-	 * given Node.
-	 * 
-	 * @return
-	 */
-	String getPageLanguage(Node node);
-
-	/**
-	 * Returns start offset of given Node
-	 * 
-	 * @param node
-	 *            w3c <code>Node</code> object to check
-	 * @return int start offset or -1 for error
-	 */
-	int getStartOffset(Node node);
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/openon/IOpenOn.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/openon/IOpenOn.java
deleted file mode 100644
index 85f5546..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/openon/IOpenOn.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.openon;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-
-/**
- * Interface for Open On... navigation
- * 
- * @author amywu
- */
-public interface IOpenOn {
-	/**
-	 * Returns the entire region relevant to the current offset where an
-	 * openable source region is found. null if offset does not contain an
-	 * openable source.
-	 * 
-	 * @param document
-	 *            IDocument
-	 * @param offset
-	 *            int
-	 * @return IRegion entire region of openable source
-	 */
-	public IRegion getOpenOnRegion(IDocument document, int offset);
-
-	/**
-	 * Opens the file/source relevant to region if possible.
-	 * 
-	 * @param viewer
-	 *            ITextViewer
-	 * @param region
-	 *            Region to examine
-	 */
-	public void openOn(IDocument document, IRegion region);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckAction.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckAction.java
deleted file mode 100644
index 9f60963..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.spellcheck;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * ISpellCheckAction
- */
-public interface SpellCheckAction extends IUpdate {
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckElement.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckElement.java
deleted file mode 100644
index 4a30c54..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckElement.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.spellcheck;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-public interface SpellCheckElement {
-
-	String getString();
-
-	boolean isSpellError();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckException.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckException.java
deleted file mode 100644
index f153c2b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.spellcheck;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * SpellCheckException
- */
-public abstract class SpellCheckException extends Exception {
-
-	public SpellCheckException(String msg) {
-		super(msg);
-	}
-
-	/**
-	 * @return org.eclipse.core.runtime.IStatus
-	 */
-	public abstract IStatus getStatus();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckOptionDialog.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckOptionDialog.java
deleted file mode 100644
index c409f2a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckOptionDialog.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.spellcheck;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * ISpellCheckOptionDialog
- */
-public interface SpellCheckOptionDialog {
-	void open(Shell shell);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckProvider.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckProvider.java
deleted file mode 100644
index 2813a19..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckProvider.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.sse.ui.extensions.spellcheck;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-public interface SpellCheckProvider {
-	SpellCheckAction createSpellCheckAction();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckSelectionListener.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckSelectionListener.java
deleted file mode 100644
index 42f2755..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckSelectionListener.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.spellcheck;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-public interface SpellCheckSelectionListener {
-	void selectionChanged();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckSelectionManager.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckSelectionManager.java
deleted file mode 100644
index 123f949..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckSelectionManager.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.spellcheck;
-/**
- * @deprecated - to be removed in M4
- */
-public interface SpellCheckSelectionManager {
-	void addSpellCheckSelectionListener(SpellCheckSelectionListener listener);
-
-	void removeSpellCheckSelectionListener(SpellCheckSelectionListener listener);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckTarget.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckTarget.java
deleted file mode 100644
index 1ed0274..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckTarget.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.spellcheck;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.texteditor.ITextEditor;
-/**
- * @deprecated - to be removed in M4
- */
-public interface SpellCheckTarget {
-
-	/**
-	 * Begin recording undo transactions.
-	 */
-	void beginRecording(Object requester, String label);
-
-	boolean canPerformChange();
-
-	boolean canPerformChangeAll();
-
-	boolean canPerformIgnore();
-
-	boolean canPerformIgnoreAll();
-
-	boolean canPerformSpellCheck();
-
-	/**
-	 * End recording undo transactions.
-	 */
-	void endRecording(Object requester);
-
-	int findAndSelect(int start, String find);
-
-	SpellCheckElement getAndSelectNextMisspelledElement(boolean init) throws SpellCheckException;
-
-	SpellCheckOptionDialog getOptionDialog();
-
-	SpellCheckSelectionManager getSpellCheckSelectionManager();
-
-	void replaceSelection(String text, Shell shell) throws SpellCheckException;
-
-	void setSpellChecker(SpellChecker checker);
-
-	void setTextEditor(ITextEditor editor);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellChecker.java b/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellChecker.java
deleted file mode 100644
index c2d7818..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellChecker.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extensions.spellcheck;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-/**
- * ISpellChecker
- */
-public interface SpellChecker {
-
-	// User Dictionary
-	void addWord(String word) throws SpellCheckException;
-
-	// Spell Check
-	SpellCheckElement[] createSingleWords(String text) throws SpellCheckException;
-
-	void deleteWord(String word) throws SpellCheckException;
-
-	String[] getCandidates(SpellCheckElement element) throws SpellCheckException;
-
-	String[] getUserWords() throws SpellCheckException;
-
-	SpellCheckElement verifySpell(SpellCheckElement element) throws SpellCheckException;
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/CaretMediator.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/CaretMediator.java
deleted file mode 100644
index e7b82fb..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/CaretMediator.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-import org.eclipse.wst.sse.ui.view.events.CaretEvent;
-import org.eclipse.wst.sse.ui.view.events.ICaretListener;
-
-/**
- * Has the responsibility of listening for key events, and mouse events,
- * deciding if the caret has moved (without a text change), and if so, will
- * notify CaretListeners that the caret has moved. Objects which are
- * interested in ALL caret postion changes will also have to listen for
- * textChanged events.
- */
-public class CaretMediator implements Listener {
-
-	class CaretMediatorListener implements KeyListener, MouseListener {
-		public void keyPressed(KeyEvent e) {
-			internalKeyPressed(e);
-		}
-
-		public void keyReleased(KeyEvent e) {
-			internalKeyReleased(e);
-		}
-
-		public void mouseDoubleClick(MouseEvent e) {
-		}
-
-		public void mouseDown(MouseEvent e) {
-			internalMouseDown(e);
-		}
-
-		public void mouseUp(MouseEvent e) {
-			internalMouseUp(e);
-		}
-	}
-
-	class RefreshDelayJob extends Job {
-		private int fDelay = 0;
-		RefreshDelayJob(int delay) {
-			super("caret update");
-			setSystem(true);
-			fDelay = delay;
-		}
-
-		/**
-		 * Setup a delayed CaretEvent firing
-		 */
-		void touch() {
-			cancel();
-			schedule(fDelay);
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			handleEvent(null);
-			return Status.OK_STATUS;
-		}
-	}
-	
-	RefreshDelayJob fDelayer = null;
-	private static final int DELAY = 300;
-
-	/** used just for debug print outs */
-	private long endTime;
-	private long startTime;
-
-	protected ICaretListener[] fCaretListeners;
-	protected CaretMediatorListener internalListener;
-	protected StyledText textWidget;
-
-	/**
-	 * CaretMediator constructor comment.
-	 */
-	public CaretMediator() {
-		super();
-	}
-
-	/**
-	 * CaretMediator constructor comment. Must always provide the widget its
-	 * supposed to listen to.
-	 */
-	public CaretMediator(StyledText styledTextWidget) {
-		this();
-		setTextWidget(styledTextWidget);
-	}
-
-	public synchronized void addCaretListener(ICaretListener listener) {
-		if (Debug.debugStructuredDocument) {
-			System.out.println("CaretMediator::addCaretListener. Request to add an instance of " + listener.getClass() + " as a listener on caretlistner.");//$NON-NLS-2$//$NON-NLS-1$
-		}
-		// make sure listener is not already in listening array
-		// (and if it is, print a warning to aid debugging, if needed)
-
-		if (Utilities.contains(fCaretListeners, listener)) {
-			if (Debug.displayWarnings) {
-				System.out.println("CaretMediator::addCaretListener. listener " + listener + " was added more than once. ");//$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			if (Debug.debugStructuredDocument) {
-				System.out.println("CaretMediator::addCaretListener. Adding an instance of " + listener.getClass() + " as a listener on caret mediator.");//$NON-NLS-2$//$NON-NLS-1$
-			}
-			int oldSize = 0;
-			if (fCaretListeners != null) {
-				// normally won't be null, but we need to be sure, for first
-				// time through
-				oldSize = fCaretListeners.length;
-			}
-			int newSize = oldSize + 1;
-			ICaretListener[] newListeners = new ICaretListener[newSize];
-			if (fCaretListeners != null) {
-				System.arraycopy(fCaretListeners, 0, newListeners, 0, oldSize);
-			}
-			// add listener to last position
-			newListeners[newSize - 1] = listener;
-			//
-			// now switch new for old
-			fCaretListeners = newListeners;
-
-		}
-	}
-
-	protected void fireCaretEvent(CaretEvent event) {
-		if (fCaretListeners != null) {
-			// we must assign listeners to local variable to be thread safe,
-			// since the add and remove listner methods
-			// can change this object's actual instance of the listener array
-			// from another thread
-			// (and since object assignment is atomic, we don't need to
-			// synchronize
-			ICaretListener[] holdListeners = fCaretListeners;
-			//
-			for (int i = 0; i < holdListeners.length; i++) {
-				holdListeners[i].caretMoved(event);
-			}
-		}
-	}
-
-	public void handleEvent(Event e) {
-		Display display = null;
-
-		if (Debug.debugCaretMediator) {
-			endTime = System.currentTimeMillis();
-			System.out.println("Timer fired: " + (endTime - startTime)); //$NON-NLS-1$
-		}
-
-		// check if 'okToUse'
-		if (textWidget != null && !textWidget.isDisposed()) {
-			display = textWidget.getDisplay();
-			if ((display != null) && (!display.isDisposed())) {
-				display.asyncExec(new Runnable() {
-					public void run() {
-						if (textWidget != null && !textWidget.isDisposed()) {
-							fireCaretEvent(new CaretEvent(textWidget, textWidget.getCaretOffset()));
-						}
-					}
-				});
-			}
-		}
-	}
-
-	protected void internalKeyPressed(KeyEvent e) {
-		fDelayer.cancel();
-	}
-
-	protected void internalKeyReleased(KeyEvent e) {
-		switch (e.keyCode) {
-			case SWT.ARROW_DOWN :
-			case SWT.ARROW_UP :
-			case SWT.ARROW_LEFT :
-			case SWT.ARROW_RIGHT :
-			case SWT.HOME :
-			case SWT.END :
-			case SWT.PAGE_DOWN :
-			case SWT.PAGE_UP : {
-				fDelayer.touch();
-				break;
-			}
-			default : {
-				// always update cursor postion, even during normal typing
-				// (the logic may look funny, since we always to the same
-				// thing, but we haven't always done the same thing, so I
-				// wanted to leave that fact documented via code.)
-				fDelayer.touch();
-			}
-		}
-	}
-
-	protected void internalMouseDown(MouseEvent e) {
-		fDelayer.cancel();
-	}
-
-	protected void internalMouseUp(MouseEvent e) {
-		// Note, even during a swipe select, when the mouse button goes up,
-		// and the widget is
-		// queried for the current caret postion, it always returns the
-		// beginning of the selection,
-		// which is desirable (at least for the known use of this feature,
-		// which is to signal
-		// that the property sheet can update itself.
-		fDelayer.touch();
-	}
-
-	public void release() {
-		fDelayer.cancel();
-		if (textWidget != null && !textWidget.isDisposed()) {
-			textWidget.removeKeyListener(internalListener);
-			textWidget.removeMouseListener(internalListener);
-			textWidget = null;
-		}
-	}
-
-	public synchronized void removeCaretListener(ICaretListener listener) {
-		if ((fCaretListeners != null) && (listener != null)) {
-			// if its not in the listeners, we'll ignore the request
-			if (Utilities.contains(fCaretListeners, listener)) {
-				int oldSize = fCaretListeners.length;
-				int newSize = oldSize - 1;
-				ICaretListener[] newListeners = new ICaretListener[newSize];
-				int index = 0;
-				for (int i = 0; i < oldSize; i++) {
-					if (fCaretListeners[i] == listener) { // ignore
-					} else {
-						// copy old to new if its not the one we are removing
-						newListeners[index++] = fCaretListeners[i];
-					}
-				}
-				// now that we have a new array, let's switch it for the old
-				// one
-				fCaretListeners = newListeners;
-			}
-		}
-	}
-
-	public void setTextWidget(StyledText newTextWidget) {
-		if(fDelayer == null) {
-			fDelayer = new RefreshDelayJob(DELAY);
-		}
-
-		// unhook from previous, if any
-		if (this.textWidget != null) {
-			fDelayer.cancel();
-			this.textWidget.removeKeyListener(internalListener);
-			this.textWidget.removeMouseListener(internalListener);
-		}
-
-		this.textWidget = newTextWidget;
-
-		if (internalListener == null) {
-			internalListener = new CaretMediatorListener();
-		}
-
-		if (this.textWidget != null) {
-			this.textWidget.addKeyListener(internalListener);
-			this.textWidget.addMouseListener(internalListener);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/EditorPlugin.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/EditorPlugin.java
deleted file mode 100644
index d0fc46c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/EditorPlugin.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-
-
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * @deprecated use internal SSEUIPlugin class instead if possible
- */
-public class EditorPlugin extends SSEUIPlugin {
-	// see org.eclipse.wst.sse.ui.internal.SSEUIPlugin
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/GotoAnnotationAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/GotoAnnotationAction.java
deleted file mode 100644
index c963133..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/GotoAnnotationAction.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.ui.texteditor.AnnotationPreference;
-import org.eclipse.ui.texteditor.IEditorStatusLine;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.MarkerAnnotation;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * Based on org.eclipse.jdt.internal.ui.javaeditor.GotoAnnotationAction and
- * the org.eclipse.jdt.internal.ui.JavaEditor's gotoError() method. Rewritten
- * based on 3.0M7 version to operate generically.
- * 
- */
-public class GotoAnnotationAction extends TextEditorAction {
-
-	/**
-	 * Clears the status line on selection changed.
-	 */
-	protected class StatusLineClearer implements ISelectionChangedListener {
-		IStatusLineManager fStatusLineManager = null;
-
-		protected StatusLineClearer(IStatusLineManager mgr) {
-			super();
-			fStatusLineManager = mgr;
-		}
-
-		/*
-		 * @see ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-		 */
-		public void selectionChanged(SelectionChangedEvent event) {
-			getTextEditor().getSelectionProvider().removeSelectionChangedListener(StatusLineClearer.this);
-
-			fStatusLineManager.setErrorMessage(null, null);
-			fStatusLineManager.setMessage(null, null);
-		}
-	}
-
-	private boolean fForward;
-	private String fLabel;
-
-	private String fPrefix;
-
-	/**
-	 * @param prefix
-	 * @param editor
-	 */
-	public GotoAnnotationAction(String prefix, boolean forward) {
-		super(SSEUIPlugin.getDefault().getResourceBundle(), prefix, null);
-		fForward = forward;
-		fPrefix = prefix;
-		fLabel = SSEUIPlugin.getResourceString("%" + fPrefix);
-	}
-
-	/*
-	 * This is the default label used for description
-	 */
-	public String getDefaultLabel() {
-		return fLabel;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.action.Action#getDescription()
-	 */
-	public String getDescription() {
-		return getDefaultLabel();
-	}
-
-	/**
-	 * Returns the annotation closest to the given range respecting the given
-	 * direction. If an annotation is found, the annotations current position
-	 * is copied into the provided annotation position.
-	 * 
-	 * @param offset
-	 *            the region offset
-	 * @param length
-	 *            the region length
-	 * @param forward
-	 *            <code>true</code> for forwards, <code>false</code> for
-	 *            backward
-	 * @param annotationPosition
-	 *            the position of the found annotation
-	 * @return the found annotation
-	 */
-	protected Annotation getNextAnnotation(final int offset, final int length, boolean forward, Position annotationPosition) {
-		Annotation nextAnnotation = null;
-		Position nextAnnotationPosition = null;
-		Annotation containingAnnotation = null;
-		Position containingAnnotationPosition = null;
-		boolean currentAnnotation = false;
-
-		IDocument document = getTextEditor().getDocumentProvider().getDocument(getTextEditor().getEditorInput());
-		int endOfDocument = document.getLength();
-		int distance = Integer.MAX_VALUE;
-
-		IAnnotationModel model = getTextEditor().getDocumentProvider().getAnnotationModel(getTextEditor().getEditorInput());
-		// external files may not have an annotation model
-		if (model != null) {
-			Iterator e = model.getAnnotationIterator();
-			while (e.hasNext()) {
-				Annotation a = (Annotation) e.next();
-				if (!isNavigationTarget(a))
-					continue;
-
-				Position p = model.getPosition(a);
-				if (p == null)
-					continue;
-
-				if (forward && p.offset == offset || !forward && p.offset + p.getLength() == offset + length) {
-					if (containingAnnotation == null || (forward && p.length >= containingAnnotationPosition.length || !forward && p.length >= containingAnnotationPosition.length)) {
-						containingAnnotation = a;
-						containingAnnotationPosition = p;
-						currentAnnotation = p.length == length;
-					}
-				}
-				else {
-					int currentDistance = 0;
-
-					if (forward) {
-						currentDistance = p.getOffset() - offset;
-						if (currentDistance < 0) {
-							currentDistance = endOfDocument + currentDistance;
-						}
-
-						if (currentDistance < distance || currentDistance == distance && p.length < nextAnnotationPosition.length) {
-							distance = currentDistance;
-							nextAnnotation = a;
-							nextAnnotationPosition = p;
-						}
-					}
-					else {
-						currentDistance = offset + length - (p.getOffset() + p.length);
-						if (currentDistance < 0)
-							currentDistance = endOfDocument + currentDistance;
-
-						if (currentDistance < distance || currentDistance == distance && p.length < nextAnnotationPosition.length) {
-							distance = currentDistance;
-							nextAnnotation = a;
-							nextAnnotationPosition = p;
-						}
-					}
-				}
-			}
-		}
-		if (containingAnnotationPosition != null && (!currentAnnotation || nextAnnotation == null)) {
-			annotationPosition.setOffset(containingAnnotationPosition.getOffset());
-			annotationPosition.setLength(containingAnnotationPosition.getLength());
-			return containingAnnotation;
-		}
-		if (nextAnnotationPosition != null) {
-			annotationPosition.setOffset(nextAnnotationPosition.getOffset());
-			annotationPosition.setLength(nextAnnotationPosition.getLength());
-		}
-
-		return nextAnnotation;
-	}
-
-	private IStatusLineManager getStatusLineManager() {
-		// The original JavaEditor M7 implementation made use of an adapter,
-		// but that approach
-		// fails with a MultiPageEditorSite
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null)
-			return null;
-		IWorkbenchPage page = window.getActivePage();
-		if (page == null)
-			return null;
-		IEditorPart editor = page.getActiveEditor();
-		if (editor == null)
-			return null;
-		IEditorActionBarContributor contributor = editor.getEditorSite().getActionBarContributor();
-		if (contributor instanceof EditorActionBarContributor) {
-			return ((EditorActionBarContributor) contributor).getActionBars().getStatusLineManager();
-		}
-		return null;
-	}
-
-	public String getText() {
-		return getDefaultLabel();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.action.Action#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return getDefaultLabel();
-	}
-
-	/**
-	 * Jumps to the error next according to the given direction based off
-	 * JavaEditor#gotoAnnotation()
-	 * 
-	 * @param forward
-	 *            is the direction
-	 */
-	public void gotoAnnotation(boolean forward) {
-		ITextSelection selection = (ITextSelection) getTextEditor().getSelectionProvider().getSelection();
-		Position position = new Position(0, 0);
-		if (false /* delayed - see bug 18316 */) {
-			getNextAnnotation(selection.getOffset(), selection.getLength(), forward, position);
-			getTextEditor().selectAndReveal(position.getOffset(), position.getLength());
-		}
-		else /* no delay - see bug 18316 */{
-			Annotation annotation = getNextAnnotation(selection.getOffset(), selection.getLength(), forward, position);
-			IEditorStatusLine editorStatusLine = (IEditorStatusLine) getTextEditor().getAdapter(IEditorStatusLine.class);
-			if (editorStatusLine != null) {
-				editorStatusLine.setMessage(true, null, null);
-				editorStatusLine.setMessage(false, null, null);
-			}
-			else {
-				IStatusLineManager mgr = getStatusLineManager();
-				if (mgr != null) {
-					mgr.setErrorMessage(null);
-					mgr.setMessage(null, null);
-				}
-			}
-			if (annotation != null) {
-				updateAnnotationViews(annotation);
-				getTextEditor().selectAndReveal(position.getOffset(), position.getLength());
-				if (editorStatusLine != null) {
-					editorStatusLine.setMessage(true, null, null);
-					editorStatusLine.setMessage(false, annotation.getText(), null);
-				}
-				else {
-					IStatusLineManager mgr = getStatusLineManager();
-					if (mgr != null) {
-						mgr.setErrorMessage(null);
-						mgr.setMessage(null, annotation.getText());
-					}
-					getTextEditor().getSelectionProvider().addSelectionChangedListener(new StatusLineClearer(mgr));
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns whether the given annotation is configured as a target for the
-	 * "Go to Next/Previous Annotation" actions
-	 * 
-	 * @param annotation
-	 *            the annotation
-	 * @return <code>true</code> if this is a target, <code>false</code>
-	 *         otherwise
-	 * @since 3.0
-	 */
-	protected boolean isNavigationTarget(Annotation annotation) {
-		Preferences preferences = EditorsUI.getPluginPreferences();
-		AnnotationPreference preference = EditorsUI.getAnnotationPreferenceLookup().getAnnotationPreference(annotation);
-		// See bug 41689
-		// String key= forward ? preference.getIsGoToNextNavigationTargetKey()
-		// : preference.getIsGoToPreviousNavigationTargetKey();
-		String key = preference == null ? null : preference.getIsGoToNextNavigationTargetKey();
-		return (key != null && preferences.getBoolean(key));
-	}
-
-	public void run() {
-		gotoAnnotation(fForward);
-	}
-
-	public void setEditor(ITextEditor editor) {
-		super.setEditor(editor);
-		update();
-	}
-
-	/**
-	 * Updates the annotation views that show the given annotation.
-	 * 
-	 * @param annotation
-	 *            the annotation
-	 */
-	protected void updateAnnotationViews(Annotation annotation) {
-		IMarker marker = null;
-		if (annotation instanceof MarkerAnnotation)
-			marker = ((MarkerAnnotation) annotation).getMarker();
-
-		if (marker != null) {
-			try {
-				IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-				if (window != null) {
-					IWorkbenchPage page = window.getActivePage();
-					if (page != null) {
-						IViewPart view = null;
-						if (marker.isSubtypeOf(IMarker.PROBLEM)) {
-							view = page.findView(IPageLayout.ID_PROBLEM_VIEW);
-						}
-						else if (marker.isSubtypeOf(IMarker.TASK)) {
-							view = page.findView(IPageLayout.ID_TASK_LIST);
-						}
-						else if (marker.isSubtypeOf(IMarker.BOOKMARK)) {
-							view = page.findView(IPageLayout.ID_BOOKMARKS);
-						}
-						// If the view isn't open on this perspective, don't
-						// interact with it
-						if (view != null) {
-							Method method = view.getClass().getMethod("setSelection", new Class[]{IStructuredSelection.class, boolean.class}); //$NON-NLS-1$
-							if (method != null) {
-								method.invoke(view, new Object[]{new StructuredSelection(marker), Boolean.TRUE});
-								page.bringToTop(view);
-							}
-						}
-					}
-				}
-			}
-			// ignore exceptions, don't update any of the lists, just set
-			// statusline
-			catch (CoreException x) {
-				//
-			}
-			catch (NoSuchMethodException x) {
-				//
-			}
-			catch (IllegalAccessException x) {
-				//
-			}
-			catch (InvocationTargetException x) {
-				//
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/IReleasable.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/IReleasable.java
deleted file mode 100644
index f7771e3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/IReleasable.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-public interface IReleasable {
-	/**
-	 * Generic catch-all for releasing resources and other references
-	 */
-	void release();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ISourceViewerActionBarContributor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ISourceViewerActionBarContributor.java
deleted file mode 100644
index 1895c08..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ISourceViewerActionBarContributor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-
-
-import org.eclipse.ui.IEditorActionBarContributor;
-
-public interface ISourceViewerActionBarContributor extends IEditorActionBarContributor {
-
-	/**
-	 * Enables disables actions that are specific to the source viewer (and
-	 * should only work when the source viewer is enabled)
-	 * 
-	 * @param enabled
-	 *            true if source viewer is currently enabled, false otherwise
-	 */
-	public void setViewerSpecificContributionsEnabled(boolean enabled);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ITemporaryAnnotation.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ITemporaryAnnotation.java
deleted file mode 100644
index 808b90e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ITemporaryAnnotation.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-public interface ITemporaryAnnotation {
-	Object getKey();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/SpellCheckActionWrapper.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/SpellCheckActionWrapper.java
deleted file mode 100644
index e1af836..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/SpellCheckActionWrapper.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPartService;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.extension.IExtendedEditorAction;
-import org.eclipse.wst.sse.ui.extension.IExtendedSimpleEditor;
-import org.eclipse.wst.sse.ui.extension.SpellCheckProviderBuilder;
-import org.eclipse.wst.sse.ui.extensions.ISelfValidateEditAction;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckAction;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckProvider;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckTarget;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-import org.osgi.framework.Bundle;
-
-/**
- * @deprecated - to be removed in M4
- */
-public class SpellCheckActionWrapper extends Action implements IExtendedEditorAction, ISelfValidateEditAction, IPartListener {
-	protected SpellCheckAction action = null;
-	protected IWorkbenchPart activePart = null;
-
-	protected IExtendedSimpleEditor fEditor = null;
-	protected SpellCheckProvider provider = null;
-
-	public SpellCheckActionWrapper() {
-		super();
-
-		IPartService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService();
-		service.addPartListener(this);
-		partActivated(service.getActivePart());
-
-		//TODO DBK performance modification - change to delegate
-		//     DBK There appears to only be one extender, and it doesn't specify
-		//     DBK the icon / text -- it is determined by the target action.
-		//     DBK This forces this plug-in to load the provider plug-in solely
-		//     DBK to ask it what to display. Since presumably this is static,
-		//     DBK I've moved it to here. Alternatively, you can comment out
-		//     DBK the setInitializationData method, add the appropriate
-		// interface,
-		//     DBK and then extract the values from the extension itself (again,
-		//     DBK thereby avoiding the load of the provider plug-in).
-		//		setId("com.ibm.etools.spellcheck");
-		//		setActionDefinitionId("com.ibm.etools.spellcheck");
-		Bundle bundle = Platform.getBundle("org.eclipse.wst.sse.ui");	//$NON-NLS-1$
-		setText(Platform.getResourceString(bundle, "%Spell_Check_label")); //$NON-NLS-1$
-		setToolTipText(Platform.getResourceString(bundle, "%Spell_Check_tooltip")); //$NON-NLS-1$
-
-		setImageDescriptor(EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_CTOOL16_SPELLCHECK));
-		setDisabledImageDescriptor(EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_DTOOL16_SPELLCHECK));
-		setHoverImageDescriptor(EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_ETOOL16_SPELLCHECK));
-	}
-
-	private Display getDisplay() {
-
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	private void initializeSpellCheckProviderAction() {
-		//     DBK performance modification - There is only one extender, yet
-		// there is a loop?
-		//     DBK No references to multiple providers in run() method either.
-		//     DBK I suggest reworking this to be a single-point extension.
-		SpellCheckProvider[] providers = SpellCheckProviderBuilder.getInstance().getSpellCheckProviders();
-		final int n = providers.length;
-		for (int i = 0; i < n; i++) {
-			action = providers[i].createSpellCheckAction();
-		}
-		update();
-
-		//		TODO DBK performance modification - copied into this plug-in, this
-		// is now unnecessary code
-		//		if (action == null) return;
-		//		IAction a = (IAction)action;
-		//		
-		//		setText(a.getText());
-		//		setToolTipText(a.getToolTipText());
-		//		setImageDescriptor(a.getImageDescriptor());
-		//		setHoverImageDescriptor(a.getHoverImageDescriptor());
-		//		setDisabledImageDescriptor(a.getDisabledImageDescriptor());
-	}
-
-	/**
-	 * @see com.ibm.sed.edit.extension.IExtendedEditorAction#isVisible()
-	 */
-	public boolean isVisible() {
-		if (fEditor == null)
-			return true;
-
-		IEditorPart part = fEditor.getEditorPart();
-		if (part == null)
-			return true;
-
-		String cls = part.getClass().getName();
-		if ("com.ibm.etools.webedit.editor.HTMLEditor".equals(cls)) //$NON-NLS-1$
-			return false;
-
-		Object target = part.getAdapter(SpellCheckTarget.class);
-		return (target != null);
-	}
-
-	public void partActivated(IWorkbenchPart part) {
-		IExtendedSimpleEditor editor = null;
-		if (part != null && part != activePart) {
-			if (part instanceof IExtendedSimpleEditor)
-				editor = (IExtendedSimpleEditor) part;
-			else if (part.getAdapter(IExtendedSimpleEditor.class) != null)
-				editor = (IExtendedSimpleEditor) part.getAdapter(IExtendedSimpleEditor.class);
-			else if (part.getAdapter(ITextEditor.class) instanceof IExtendedSimpleEditor)
-				editor = (IExtendedSimpleEditor) part.getAdapter(ITextEditor.class);
-		}
-		this.activePart = part;
-		setActiveExtendedEditor(editor);
-		// lock onto the first valid editor part
-		if (editor != null) {
-			IPartService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService();
-			service.removePartListener(this);
-		}
-		update();
-	}
-
-	public void partBroughtToTop(IWorkbenchPart part) {
-		// do nothing
-	}
-
-	public void partClosed(IWorkbenchPart part) {
-		if (part == null || part == fEditor) {
-			setActiveExtendedEditor(null);
-			update();
-		}
-	}
-
-	public void partDeactivated(IWorkbenchPart part) {
-		// do nothing
-	}
-
-	public void partOpened(IWorkbenchPart part) {
-		// do nothing
-	}
-
-	public void run() {
-		if (action == null)
-			initializeSpellCheckProviderAction();
-		if (action == null || !isEnabled()) {
-			MessageDialog.openInformation(getDisplay().getActiveShell(), SSEUIPlugin.getResourceString("%Information"), //$NON-NLS-1$
-						SSEUIPlugin.getResourceString("%PluginAction.operationNotAvailableMessage")); //$NON-NLS-1$
-			setEnabled(false);
-			return;
-		}
-		IAction a = (IAction) action;
-		a.run();
-	}
-
-	/**
-	 * @see com.ibm.sed.edit.extension.IExtendedEditorAction#setActiveExtendedEditor(IExtendedSimpleEditor)
-	 */
-	public void setActiveExtendedEditor(IExtendedSimpleEditor targetEditor) {
-		fEditor = targetEditor;
-	}
-
-	public void update() {
-		if (fEditor == null) {
-			setEnabled(false);
-			return;
-		}
-
-		if (action != null) {
-			action.update();
-			setEnabled(((IAction) action).isEnabled());
-			return;
-		}
-
-		// Default is true since action isn't instantiated until run();
-		// a second test is done later to see if the action is **really**
-		// ready.
-		setEnabled(true);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/SpellCheckTargetImpl.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/SpellCheckTargetImpl.java
deleted file mode 100644
index d1eede5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/SpellCheckTargetImpl.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IFindReplaceTarget;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorExtension;
-import org.eclipse.ui.texteditor.ITextEditorExtension2;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckElement;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckException;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckOptionDialog;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckSelectionManager;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckTarget;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellChecker;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * @deprecated - will be removed in M4
- */
-public class SpellCheckTargetImpl implements SpellCheckTarget {
-
-	public static class EditorSpellCheckException extends SpellCheckException {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 */
-		private static final long serialVersionUID = 1L;
-
-		EditorSpellCheckException(String msg) {
-			super(msg);
-		}
-
-		public IStatus getStatus() {
-			return new Status(IStatus.ERROR, SSEUIPlugin.ID, 0, getMessage(), this);
-		}
-	}
-
-	public static final String ID = "spellchecktarget"; //$NON-NLS-1$
-
-	private SpellChecker checker;
-	private ITextEditor fTextEditor;
-	private IFindReplaceTarget target;
-	private IStructuredModel fUndoRecorder = null;
-
-	public SpellCheckTargetImpl() {
-		super();
-	}
-
-	/**
-	 * @see ISpellCheckTarget#beginRecording()
-	 */
-	public void beginRecording(Object requester, String label) {
-		if (fTextEditor == null)
-			return;
-
-		fUndoRecorder = StructuredModelManager.getModelManager().getExistingModelForEdit(getEditingDocument());
-		if (fUndoRecorder == null)
-			return;
-
-		fUndoRecorder.beginRecording(requester, label);
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformChange()
-	 */
-	public boolean canPerformChange() {
-		if (fTextEditor == null || checker == null || target == null)
-			return false;
-
-		return target.isEditable() && fTextEditor.isEditable();
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformChangeAll()
-	 */
-	public boolean canPerformChangeAll() {
-		return canPerformChange();
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformIgnore()
-	 */
-	public boolean canPerformIgnore() {
-		return fTextEditor != null && checker != null;
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformIgnoreAll()
-	 */
-	public boolean canPerformIgnoreAll() {
-		return canPerformIgnore();
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformSpellCheck()
-	 */
-	public boolean canPerformSpellCheck() {
-		return fTextEditor != null && checker != null;
-	}
-
-	/**
-	 * @see ISpellCheckTarget#endRecording()
-	 */
-	public void endRecording(Object requester) {
-		if (fUndoRecorder == null)
-			return;
-
-		fUndoRecorder.endRecording(requester);
-		fUndoRecorder = null;
-	}
-
-	/**
-	 * @see ISpellCheckTarget#findAndSelect(int, String)
-	 */
-	public int findAndSelect(int pos, String find) {
-		return (target != null ? target.findAndSelect(pos, find, true, true, true) : -1);
-	}
-
-	IDocument getEditingDocument() {
-		return fTextEditor.getDocumentProvider().getDocument(fTextEditor.getEditorInput());
-	}
-
-	/**
-	 * @see ISpellCheckTarget#getAndSelectNextMisspelledElement(boolean)
-	 */
-	public SpellCheckElement getAndSelectNextMisspelledElement(boolean init) throws SpellCheckException {
-		if (checker == null || fTextEditor == null || target == null)
-			return null;
-
-		IDocument document = getEditingDocument();
-		
-		if (document instanceof IStructuredDocument) {
-			IStructuredDocument structuredDocument = (IStructuredDocument) getEditingDocument();
-
-			int start;
-			if (init) {
-				start = 0;
-			}
-			else {
-				Point pt = target.getSelection();
-				start = pt.x + pt.y;
-			}
-
-			IStructuredDocumentRegion documentRegion = structuredDocument.getRegionAtCharacterOffset(start);
-			if (documentRegion == null) {
-				return null;
-			}
-
-			ITextRegion startRegion = documentRegion.getRegionAtCharacterOffset(start);
-			if (startRegion == null) {
-				return null;
-			}
-
-			boolean skip = true;
-			while (documentRegion != null) {
-				ITextRegionList regions = documentRegion.getRegions();
-				int size = regions.size();
-				for (int i = 0; i < size; ++i) {
-					ITextRegion r = regions.get(i);
-					if (skip && startRegion.equals(r)) {
-						skip = false;
-					}
-					if (skip == false) {
-						if (isValidType(r.getType())) {
-							String text;
-							if (start > documentRegion.getStartOffset(r)) {
-								text = documentRegion.getText(r);
-								int offset = start - documentRegion.getStartOffset(r);
-								for (; offset < text.length(); ++offset) {
-									if (!Character.isLetterOrDigit(text.charAt(offset - 1))) {
-										break;
-									}
-								}
-								text = text.substring(offset);
-							}
-							else {
-								text = documentRegion.getText(r);
-							}
-							SpellCheckElement[] elms = checker.createSingleWords(text);
-							if (elms != null) {
-								for (int j = 0; j < elms.length; ++j) {
-									SpellCheckElement element = checker.verifySpell(elms[j]);
-									if (element.isSpellError()) {
-										target.findAndSelect(start, element.getString(), true, true, true);
-										return element;
-									}
-								}
-							}
-						}
-					}
-				}
-				documentRegion = documentRegion.getNext();
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * @see ISpellCheckTarget#getOptionDialog()
-	 */
-	public SpellCheckOptionDialog getOptionDialog() {
-		return null;
-	}
-
-	/**
-	 * @see ISpellCheckTarget#getSpellCheckSelectionManager()
-	 */
-	public SpellCheckSelectionManager getSpellCheckSelectionManager() {
-		if (fTextEditor == null)
-			return null;
-
-		ViewerSelectionManager manager = (ViewerSelectionManager) fTextEditor.getAdapter(ViewerSelectionManager.class);
-		if (!(manager instanceof SpellCheckSelectionManager))
-			return null;
-		return (SpellCheckSelectionManager) manager;
-	}
-
-	private boolean isModifyable() {
-		if (fTextEditor instanceof ITextEditorExtension2)
-			return ((ITextEditorExtension2) fTextEditor).validateEditorInputState();
-		else if (fTextEditor instanceof ITextEditorExtension)
-			return !((ITextEditorExtension) fTextEditor).isEditorInputReadOnly();
-		else if (fTextEditor != null)
-			return fTextEditor.isEditable();
-		else
-			return false;
-	}
-
-	/**
-	 */
-	protected boolean isValidType(String type) {
-		return false;
-	}
-
-	/**
-	 * @see ISpellCheckTarget#replaceSelection(String)
-	 */
-	public void replaceSelection(String text, Shell shell) throws SpellCheckException {
-		if (target == null || !isModifyable())
-			return;
-
-		target.replaceSelection(text);
-	}
-
-	/**
-	 * @see ISpellCheckTarget#setSpellChecker(ISpellChecker)
-	 */
-	public void setSpellChecker(SpellChecker spellChecker) {
-		checker = spellChecker;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckTarget#setTextEditor(org.eclipse.ui.texteditor.ITextEditor)
-	 */
-	public void setTextEditor(ITextEditor editor) {
-		fTextEditor = editor;
-		target = (IFindReplaceTarget) editor.getAdapter(IFindReplaceTarget.class);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredDocumentCommand.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredDocumentCommand.java
deleted file mode 100644
index 5f5302c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredDocumentCommand.java
+++ /dev/null
@@ -1,500 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.NoSuchElementException;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DefaultPositionUpdater;
-import org.eclipse.jface.text.DocumentCommand;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.swt.events.VerifyEvent;
-
-/**
- * TODO Temporary subclass to workaround BUG44665
- * 
- * Algorithm for intersects() methods changed.
- */
-/**
- * Represents a text modification as a document replace command. The text
- * modification is given as a <code>VerifyEvent</code> and translated into a
- * document replace command relative to a given offset. A document command can
- * also be used to initialize a given <code>VerifyEvent</code>.
- * <p>
- * A document command can also represent a list of related changes.
- */
-public class StructuredDocumentCommand extends DocumentCommand {
-
-	/**
-	 * A command which is added to document commands.
-	 * 
-	 * @since 2.1
-	 */
-	private static class Command implements Comparable {
-		/** The length of the range to be replaced. */
-		final int fLength;
-		/** The offset of the range to be replaced */
-		final int fOffset;
-		/** The listern who owns this command */
-		private final IDocumentListener fOwner;
-		/** The replacement text */
-		private final String fText;
-
-		/**
-		 * Creates a new command with the given specification.
-		 * 
-		 * @param offset
-		 *            the offset of the replace command
-		 * @param length
-		 *            the length of the replace command
-		 * @param text
-		 *            the text to replace with, may be <code>null</code>
-		 * @param owner
-		 *            the document command owner, may be <code>null</code>
-		 * @since 3.0
-		 */
-		public Command(int offset, int length, String text, IDocumentListener owner) {
-			if (offset < 0 || length < 0)
-				throw new IllegalArgumentException();
-			fOffset = offset;
-			fLength = length;
-			fText = text;
-			fOwner = owner;
-		}
-
-		/*
-		 * @see java.util.Comparator#compare(java.lang.Object,
-		 *      java.lang.Object)
-		 */
-		public int compareTo(final Object object) {
-			if (equals(object))
-				return 0;
-
-			final Command command = (Command) object;
-
-			// diff middle points if not intersecting
-			if (fOffset + fLength <= command.fOffset || command.fOffset + command.fLength <= fOffset) {
-				int value = (2 * fOffset + fLength) - (2 * command.fOffset + command.fLength);
-				if (value != 0)
-					return value;
-			}
-			// the answer
-			return 42;
-		}
-
-		/*
-		 * @see java.lang.Object#equals(java.lang.Object)
-		 */
-		public boolean equals(Object object) {
-			if (object == this)
-				return true;
-			if (!(object instanceof Command))
-				return false;
-			final Command command = (Command) object;
-			return command.fOffset == fOffset && command.fLength == fLength;
-		}
-
-		/**
-		 * Executes the document command on the specified document.
-		 * 
-		 * @param document
-		 *            the document on which to execute the command.
-		 * @throws BadLocationException
-		 *             in case this commands cannot be executed
-		 */
-		public void execute(IDocument document) throws BadLocationException {
-
-			if (fLength == 0 && fText == null)
-				return;
-
-			if (fOwner != null)
-				document.removeDocumentListener(fOwner);
-
-			document.replace(fOffset, fLength, fText);
-
-			if (fOwner != null)
-				document.addDocumentListener(fOwner);
-		}
-
-		/**
-		 * Returns the length delta for this command.
-		 * 
-		 * @return the length delta for this command
-		 */
-		public int getDeltaLength() {
-			return (fText == null ? 0 : fText.length()) - fLength;
-		}
-	}
-
-	/**
-	 * A command iterator.
-	 */
-	private static class CommandIterator implements Iterator {
-
-		/** The original command. */
-		private Command fCommand;
-
-		/** A flag indicating the direction of iteration. */
-		private boolean fForward;
-
-		/** The command iterator. */
-		private final Iterator fIterator;
-
-		/**
-		 * Creates a command iterator.
-		 * 
-		 * @param commands
-		 *            an ascending ordered list of commands
-		 * @param command
-		 *            the original command
-		 * @param forward
-		 *            the direction
-		 */
-		public CommandIterator(final List commands, final Command command, final boolean forward) {
-			if (commands == null || command == null)
-				throw new IllegalArgumentException();
-			fIterator = forward ? commands.iterator() : new ReverseListIterator(commands.listIterator(commands.size()));
-			fCommand = command;
-			fForward = forward;
-		}
-
-		/*
-		 * @see java.util.Iterator#hasNext()
-		 */
-		public boolean hasNext() {
-			return fCommand != null || fIterator.hasNext();
-		}
-
-		/*
-		 * @see java.util.Iterator#next()
-		 */
-		public Object next() {
-
-			if (!hasNext())
-				throw new NoSuchElementException();
-
-			if (fCommand == null)
-				return fIterator.next();
-
-			if (!fIterator.hasNext()) {
-				final Command tempCommand = fCommand;
-				fCommand = null;
-				return tempCommand;
-			}
-
-			final Command command = (Command) fIterator.next();
-			final int compareValue = command.compareTo(fCommand);
-
-			if ((compareValue < 0) ^ !fForward) {
-				return command;
-
-			} else if ((compareValue > 0) ^ !fForward) {
-				final Command tempCommand = fCommand;
-				fCommand = command;
-				return tempCommand;
-
-			} else {
-				throw new IllegalArgumentException();
-			}
-		}
-
-		/*
-		 * @see java.util.Iterator#remove()
-		 */
-		public void remove() {
-			throw new UnsupportedOperationException();
-		}
-	}
-
-	/**
-	 * An iterator, which iterates in reverse over a list.
-	 */
-	private static class ReverseListIterator implements Iterator {
-
-		/** The list iterator. */
-		private final ListIterator fListIterator;
-
-		/**
-		 * Creates a reverse list iterator.
-		 * 
-		 * @param listIterator
-		 *            the iterator that this reverse iterator is based upon
-		 */
-		public ReverseListIterator(ListIterator listIterator) {
-			if (listIterator == null)
-				throw new IllegalArgumentException();
-			fListIterator = listIterator;
-		}
-
-		/*
-		 * @see java.util.Iterator#hasNext()
-		 */
-		public boolean hasNext() {
-			return fListIterator.hasPrevious();
-		}
-
-		/*
-		 * @see java.util.Iterator#next()
-		 */
-		public Object next() {
-			return fListIterator.previous();
-		}
-
-		/*
-		 * @see java.util.Iterator#remove()
-		 */
-		public void remove() {
-			throw new UnsupportedOperationException();
-		}
-	}
-
-	/**
-	 * Additional document commands.
-	 * 
-	 * @since 2.1
-	 */
-	private final List fCommands = new ArrayList();
-
-	/**
-	 * Adds an additional replace command. The added replace command must not
-	 * overlap with existing ones. If the document command owner is not
-	 * <code>null</code>, it will not get document change notifications for
-	 * the particular command.
-	 * 
-	 * @param offset
-	 *            the offset of the region to replace
-	 * @param length
-	 *            the length of the region to replace
-	 * @param text
-	 *            the text to replace with, may be <code>null</code>
-	 * @param owner
-	 *            the command owner, may be <code>null</code>
-	 * @throws BadLocationException
-	 *             if the added command intersects with an existing one
-	 * @since 2.1
-	 */
-	public void addCommand(int offsetParameter, int lengthParameter, String textParameter, IDocumentListener ownerParameter) throws BadLocationException {
-		final Command command = new Command(offsetParameter, lengthParameter, textParameter, ownerParameter);
-
-		internalAddCommand(command);
-	}
-
-	/**
-	 * @param command
-	 * @throws BadLocationException
-	 */
-	private void internalAddCommand(final Command command) throws BadLocationException {
-		if (intersects(command))
-			throw new BadLocationException();
-
-		final int index = Collections.binarySearch(fCommands, command);
-
-		// a command with exactly the same ranges exists already
-		if (index >= 0)
-			throw new BadLocationException();
-
-		// binary search result is defined as (-(insertionIndex) - 1)
-		final int insertionIndex = -(index + 1);
-
-		// overlaps to the right?
-		if (insertionIndex != fCommands.size() && intersects((Command) fCommands.get(insertionIndex), command))
-			throw new BadLocationException();
-
-		// overlaps to the left?
-		if (insertionIndex != 0 && intersects((Command) fCommands.get(insertionIndex - 1), command))
-			throw new BadLocationException();
-
-		fCommands.add(insertionIndex, command);
-	}
-
-	/**
-	 * Executes the document commands on a document.
-	 * 
-	 * @param document
-	 *            the document on which to execute the commands
-	 * @since 2.1
-	 */
-	void executeStructuredDocumentCommand(IDocument document) throws BadLocationException {
-
-		if (length == 0 && text == null && fCommands.size() == 0)
-			return;
-
-		DefaultPositionUpdater updater = new DefaultPositionUpdater(getCategory());
-		Position caretPosition = null;
-		try {
-			if (updateCaret()) {
-				document.addPositionCategory(getCategory());
-				document.addPositionUpdater(updater);
-				caretPosition = new Position(caretOffset);
-				document.addPosition(getCategory(), caretPosition);
-			}
-
-			final Command originalCommand = new Command(offset, length, text, owner);
-			for (final Iterator iterator = new CommandIterator(fCommands, originalCommand, false); iterator.hasNext();)
-				((Command) iterator.next()).execute(document);
-
-		} catch (BadLocationException e) {
-			// ignore
-		} catch (BadPositionCategoryException e) {
-			// ignore
-		} finally {
-			if (updateCaret()) {
-				document.removePositionUpdater(updater);
-				try {
-					document.removePositionCategory(getCategory());
-				} catch (BadPositionCategoryException e) {
-					Assert.isTrue(false);
-				}
-				caretOffset = caretPosition.getOffset();
-			}
-		}
-	}
-
-	/**
-	 * Fills the given verify event with the replace text and the doit flag of
-	 * this document command. Returns whether the document command covers the
-	 * same range as the verify event considering the given offset.
-	 * 
-	 * @param event
-	 *            the event to be changed
-	 * @param modelRange
-	 *            to be considered for range comparison
-	 * @return <code>true</code> if this command and the event cover the
-	 *         same range
-	 */
-	public boolean fillEventStructuredDocumentCommand(VerifyEvent event, IRegion modelRange) {
-		event.text = text;
-		event.doit = (offset == modelRange.getOffset() && length == modelRange.getLength() && doit && caretOffset == -1);
-		return event.doit;
-	}
-
-	/**
-	 * Returns the position category for the caret offset position.
-	 * 
-	 * @return the position category for the caret offset position
-	 * @since 3.0
-	 */
-	private String getCategory() {
-		return toString();
-	}
-
-	/**
-	 * Returns the number of commands including the original document command.
-	 * 
-	 * @return returns the number of commands
-	 * @since 2.1
-	 */
-	public int getCommandCount() {
-		return 1 + fCommands.size();
-	}
-
-	/**
-	 * Returns an iterator over the commands in ascending position order. The
-	 * iterator includes the original document command. Commands cannot be
-	 * removed.
-	 * 
-	 * @return returns the command iterator
-	 */
-	public Iterator getCommandIterator() {
-		Command command = new Command(offset, length, text, owner);
-		return new CommandIterator(fCommands, command, true);
-	}
-
-	/**
-	 * Returns whether the given command intersects with this command.
-	 * 
-	 * @param command
-	 *            the command
-	 * @return <code>true</code> if the command intersects with this command
-	 * @since 2.1
-	 */
-	private boolean intersects(Command command) {
-		boolean result = false;
-		// diff middle points if not intersecting
-		if (offset + length <= command.fOffset || command.fOffset + command.fLength <= offset)
-			//			return (2 * offset + length) - (2 * command.fOffset +
-			// command.fLength) == 0;
-			result = false;
-		else
-			result = true;
-		return result;
-	}
-
-	/**
-	 * Returns whether the two given commands intersect.
-	 * 
-	 * @param command0
-	 *            the first command
-	 * @param command1
-	 *            the second command
-	 * @return <code>true</code> if the commands intersect
-	 * @since 2.1
-	 */
-	private boolean intersects(Command command0, Command command1) {
-		boolean result = false;
-		// diff middle points if not intersecting
-		if (command0.fOffset + command0.fLength <= command1.fOffset || command1.fOffset + command1.fLength <= command0.fOffset)
-			//			return (2 * command0.fOffset + command0.fLength) - (2 *
-			// command1.fOffset + command1.fLength) == 0;
-			result = false;
-		else
-			result = true;
-		return result;
-	}
-
-	/**
-	 * Translates a verify event into a document replace command using the
-	 * given offset.
-	 * 
-	 * @param event
-	 *            the event to be translated
-	 * @param modelRange
-	 *            the event range as model range
-	 */
-	public void setEventStructuredDocumentEvent(VerifyEvent event, IRegion modelRange) {
-
-		doit = true;
-		text = event.text;
-
-		offset = modelRange.getOffset();
-		length = modelRange.getLength();
-
-		owner = null;
-		caretOffset = -1;
-		shiftsCaret = true;
-		fCommands.clear();
-	}
-
-	/**
-	 * Returns <code>true</code> if the caret offset should be updated,
-	 * <code>false</code> otherwise.
-	 * 
-	 * @return <code>true</code> if the caret offset should be updated,
-	 *         <code>false</code> otherwise
-	 * @since 3.0
-	 */
-	private boolean updateCaret() {
-		return shiftsCaret && caretOffset != -1;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredLineChangeHover.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredLineChangeHover.java
deleted file mode 100644
index 68eb335..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredLineChangeHover.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import org.eclipse.jface.text.DefaultInformationControl;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.source.LineChangeHover;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Escapes diff hover presentation text (converts < to &lt; > to &gt; etc...)
- * so that html in the diff file (displayed in hover) isn't presented as style
- * (bold, italic, colors, etc...)
- * 
- * @author pavery
- */
-public class StructuredLineChangeHover extends LineChangeHover {
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.IAnnotationHoverExtension#getHoverControlCreator()
-	 */
-	public IInformationControlCreator getHoverControlCreator() {
-		// use the default information control creator that just displays text
-		// as text, not html content
-		// because there is no special html that should be presented when just
-		// showing diff
-		// in the future, sourceviewer should be used instead of this plain
-		// text control like java uses
-		// SourceViewerInformationControl
-		return new IInformationControlCreator() {
-			public IInformationControl createInformationControl(Shell parent) {
-				return new DefaultInformationControl(parent);
-			}
-		};
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredMarkerAnnotation.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredMarkerAnnotation.java
deleted file mode 100644
index 76cd855..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredMarkerAnnotation.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.search.ui.SearchUI;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.texteditor.MarkerAnnotation;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-
-
-/**
- * This is overridden to get around the problem of being registered as a
- * org.eclipse.wst.validation.core.problemmarker rather than a
- * org.eclipse.core.resource.problemmarker causing all problems to be skipped
- * in the OverviewRuler
- */
-public class StructuredMarkerAnnotation extends MarkerAnnotation {
-	//	private static final int ORIGINAL_MARKER_IMAGE= 1;
-	//	private static final int QUICKFIX_IMAGE= 2;
-	//	private static final int QUICKFIX_ERROR_IMAGE= 3;
-	//	private static final int OVERLAY_IMAGE= 4;
-	//	private static final int GRAY_IMAGE= 5;
-	private static final int BREAKPOINT_IMAGE = 6;
-
-	private static final int NO_IMAGE = 0;
-	private int fImageType;
-	private IDebugModelPresentation fPresentation;
-
-	// TODO: private field never read loacally
-	String fType = null;
-
-	/**
-	 * Constructor
-	 * 
-	 * @param marker
-	 */
-	StructuredMarkerAnnotation(IMarker marker) {
-		super(marker);
-		// sets fType, for use w/ StructuredAnnotationAccess
-		initAnnotationType();
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.MarkerAnnotation#getImage(org.eclipse.swt.widgets.Display)
-	 */
-	protected Image getImage(Display display) {
-		if (fImageType == BREAKPOINT_IMAGE) {
-			Image result = super.getImage(display);
-			if (result == null) {
-				IMarker marker = getMarker();
-				if (marker != null && marker.exists()) {
-					result = fPresentation.getImage(getMarker());
-					setImage(result);
-				}
-			}
-			return result;
-		}
-		return super.getImage(display);
-	}
-
-	/**
-	 * Initializes the annotation's icon representation and its drawing layer
-	 * based upon the properties of the underlying marker.
-	 */
-	protected void initAnnotationType() {
-		//		fQuickFixIconEnabled=
-		// PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_CORRECTION_INDICATION);
-		fImageType = NO_IMAGE;
-		IMarker marker = getMarker();
-		if (MarkerUtilities.isMarkerType(marker, IBreakpoint.BREAKPOINT_MARKER)) {
-
-			if (fPresentation == null)
-				fPresentation = DebugUITools.newDebugModelPresentation();
-
-			setImage(null); // see bug 32469
-			setLayer(4);
-			fImageType = BREAKPOINT_IMAGE;
-
-			fType = TemporaryAnnotation.ANNOT_UNKNOWN;
-
-		} else {
-			fType = TemporaryAnnotation.ANNOT_UNKNOWN;
-			try {
-				if (marker.isSubtypeOf(IMarker.PROBLEM)) {
-					int severity = marker.getAttribute(IMarker.SEVERITY, -1);
-					switch (severity) {
-						case IMarker.SEVERITY_ERROR :
-							fType = TemporaryAnnotation.ANNOT_ERROR;
-							break;
-						case IMarker.SEVERITY_WARNING :
-							fType = TemporaryAnnotation.ANNOT_WARNING;
-							break;
-						case IMarker.SEVERITY_INFO :
-							fType = TemporaryAnnotation.ANNOT_INFO;
-							break;
-					}
-				} else if (marker.isSubtypeOf(IMarker.TASK))
-					fType = TemporaryAnnotation.ANNOT_TASK;
-				else if (marker.isSubtypeOf(SearchUI.SEARCH_MARKER)) {
-					fType = TemporaryAnnotation.ANNOT_SEARCH;
-				} else if (marker.isSubtypeOf(IMarker.BOOKMARK))
-					fType = TemporaryAnnotation.ANNOT_BOOKMARK;
-
-			} catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredResourceMarkerAnnotationModel.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredResourceMarkerAnnotationModel.java
deleted file mode 100644
index 6a502e0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredResourceMarkerAnnotationModel.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.Position;
-import org.eclipse.ui.texteditor.MarkerAnnotation;
-import org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IBreakpointConstants;
-
-
-/**
- * Source editor resource marker annotation model implementation
- */
-public class StructuredResourceMarkerAnnotationModel extends ResourceMarkerAnnotationModel {
-	public final static String SECONDARY_ID_KEY = IBreakpointConstants.RESOURCE_PATH;
-	protected IResource fMarkerResource;
-	protected String fSecondaryMarkerAttributeValue;
-
-	/**
-	 * Constructor
-	 * 
-	 * @param resource
-	 */
-	public StructuredResourceMarkerAnnotationModel(IResource resource) {
-		super(resource);
-		fMarkerResource = resource;
-	}
-
-	public StructuredResourceMarkerAnnotationModel(IResource resource, String secondaryID) {
-		super(resource);
-		fMarkerResource = resource;
-		fSecondaryMarkerAttributeValue = secondaryID;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#createMarkerAnnotation(org.eclipse.core.resources.IMarker)
-	 */
-	protected MarkerAnnotation createMarkerAnnotation(IMarker marker) {
-		return new StructuredMarkerAnnotation(marker);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#getMarkerPosition(org.eclipse.core.resources.IMarker)
-	 */
-	public Position getMarkerPosition(IMarker marker) {
-		Position pos = super.getMarkerPosition(marker);
-
-		//if ((pos == null || pos.getLength() == 0) && marker.getType() ==
-		// IInternalDebugUIConstants.ANN_INSTR_POINTER_CURRENT) {
-		if (pos == null || pos.getLength() == 0) {
-			// We probably should create position from marker if marker
-			// attributes specify a valid position
-			pos = createPositionFromMarker(marker);
-		}
-
-		return pos;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#isAcceptable(org.eclipse.core.resources.IMarker)
-	 */
-	protected boolean isAcceptable(IMarker marker) {
-		try {
-			Object attr = marker.getAttribute(IBreakpointConstants.ATTR_HIDDEN);
-			if (attr != null && ((Boolean) attr).equals(Boolean.TRUE))
-				return false;
-		} catch (CoreException e) {
-			// ignore
-		}
-
-		if (fSecondaryMarkerAttributeValue == null)
-			return super.isAcceptable(marker);
-		String markerSecondaryMarkerAttributeValue = marker.getAttribute(SECONDARY_ID_KEY, ""); //$NON-NLS-1$
-		boolean isSameFile = fSecondaryMarkerAttributeValue.equalsIgnoreCase(markerSecondaryMarkerAttributeValue);
-		return super.isAcceptable(marker) && isSameFile;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredResourceMarkerAnnotationModelFactory.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredResourceMarkerAnnotationModelFactory.java
deleted file mode 100644
index f0813ff..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredResourceMarkerAnnotationModelFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.texteditor.ResourceMarkerAnnotationModelFactory;
-
-/**
- * 
- * @author nsd
- * 
- * Used by the org.eclipse.core.filebuffers.annotationModelCreation extension
- * point
- */
-public class StructuredResourceMarkerAnnotationModelFactory extends ResourceMarkerAnnotationModelFactory {
-
-	public StructuredResourceMarkerAnnotationModelFactory() {
-		super();
-	}
-
-	/*
-	 * @see org.eclipse.core.filebuffers.IAnnotationModelFactory#createAnnotationModel(org.eclipse.core.runtime.IPath)
-	 */
-	public IAnnotationModel createAnnotationModel(IPath location) {
-		IAnnotationModel model = null;
-		IFile file = FileBuffers.getWorkspaceFileAtLocation(location);
-		if (file != null) {
-			model = new StructuredResourceMarkerAnnotationModel(file);
-		}
-		else {
-			model = new StructuredResourceMarkerAnnotationModel(ResourcesPlugin.getWorkspace().getRoot(), location.toString());
-		}
-		return model;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextAnnotationHover.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextAnnotationHover.java
deleted file mode 100644
index 24123e8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextAnnotationHover.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationHover;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.texteditor.MarkerAnnotation;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.StructuredTextLineBreakingReader;
-
-public class StructuredTextAnnotationHover implements IAnnotationHover, IReleasable {
-
-	/**
-	 * Provides a set of convenience methods for creating HTML pages. Taken
-	 * from org.eclipse.jdt.internal.ui.text.HTMLPrinter
-	 */
-	protected class HTMLPrinter {
-
-		public HTMLPrinter() {
-		}
-
-		public void addBullet(StringBuffer buffer, String bullet) {
-			if (bullet != null) {
-				buffer.append("<li>"); //$NON-NLS-1$
-				buffer.append(bullet);
-				buffer.append("</li>"); //$NON-NLS-1$
-			}
-		}
-
-		public void addPageEpilog(StringBuffer buffer) {
-			buffer.append("</font></body></html>"); //$NON-NLS-1$
-		}
-
-		public void addPageProlog(StringBuffer buffer) {
-			insertPageProlog(buffer, buffer.length());
-		}
-
-		public void addParagraph(StringBuffer buffer, Reader paragraphReader) {
-			if (paragraphReader != null)
-				addParagraph(buffer, read(paragraphReader));
-		}
-
-		public void addParagraph(StringBuffer buffer, String paragraph) {
-			if (paragraph != null) {
-				buffer.append("<p>"); //$NON-NLS-1$
-				buffer.append(paragraph);
-			}
-		}
-
-		public void addSmallHeader(StringBuffer buffer, String header) {
-			if (header != null) {
-				buffer.append("<h5>"); //$NON-NLS-1$
-				buffer.append(header);
-				buffer.append("</h5>"); //$NON-NLS-1$
-			}
-		}
-
-		public String convertToHTMLContent(String content) {
-			content = replace(content, '<', "&lt;"); //$NON-NLS-1$
-			return replace(content, '>', "&gt;"); //$NON-NLS-1$
-		}
-
-		public void endBulletList(StringBuffer buffer) {
-			buffer.append("</ul>"); //$NON-NLS-1$
-		}
-
-		public void insertPageProlog(StringBuffer buffer, int position) {
-			buffer.insert(position, "<html><body text=\"#000000\" bgcolor=\"#FFFF88\"><font size=-1>"); //$NON-NLS-1$
-		}
-
-		public String read(Reader rd) {
-
-			StringBuffer buffer = new StringBuffer();
-			char[] readBuffer = new char[2048];
-
-			try {
-				int n = rd.read(readBuffer);
-				while (n > 0) {
-					buffer.append(readBuffer, 0, n);
-					n = rd.read(readBuffer);
-				}
-				return buffer.toString();
-			} catch (IOException x) {
-			}
-
-			return null;
-		}
-
-		private String replace(String text, char c, String s) {
-
-			int previous = 0;
-			int current = text.indexOf(c, previous);
-
-			if (current == -1)
-				return text;
-
-			StringBuffer buffer = new StringBuffer();
-			while (current > -1) {
-				buffer.append(text.substring(previous, current));
-				buffer.append(s);
-				previous = current + 1;
-				current = text.indexOf(c, previous);
-			}
-			buffer.append(text.substring(previous));
-
-			return buffer.toString();
-		}
-
-		public void startBulletList(StringBuffer buffer) {
-			buffer.append("<ul>"); //$NON-NLS-1$
-		}
-	}
-
-	private IDebugModelPresentation fDebugModelPresentation;
-
-	protected HTMLPrinter printer = new HTMLPrinter();
-
-	/**
-	 * Returns the distance to the ruler line.
-	 */
-	protected int compareRulerLine(Position position, IDocument document, int line) {
-
-		if (position.getOffset() > -1 && position.getLength() > -1) {
-			try {
-				int markerLine = document.getLineOfOffset(position.getOffset());
-				if (line == markerLine)
-					return 1;
-				if (markerLine <= line && line <= document.getLineOfOffset(position.getOffset() + position.getLength()))
-					return 2;
-			} catch (BadLocationException x) {
-			}
-		}
-
-		return 0;
-	}
-
-	/*
-	 * Formats the message of this hover to fit onto the screen.
-	 */
-	private String formatHoverText(String text, ISourceViewer sourceViewer) {
-		String lineDelim = new String();
-		try {
-			lineDelim = sourceViewer.getDocument().getLineDelimiter(0);
-		} catch (org.eclipse.jface.text.BadLocationException exception) {
-			// skip, just use default
-		}
-		Display display = sourceViewer.getTextWidget().getDisplay();
-
-		// replace special characters in text with html entity (like <, >, &
-		// to &lt;, &gt;, &&;)
-		text = StringUtils.convertToHTMLContent(text);
-
-		Reader textReader = new StringReader(text);
-		GC gc = new GC(display);
-		try {
-			StringBuffer buf = new StringBuffer();
-
-			StructuredTextLineBreakingReader reader = new StructuredTextLineBreakingReader(textReader, gc, getHoverWidth(display));
-			String line = reader.readLine();
-			while (line != null) {
-				if (buf.length() != 0) {
-					buf.append(lineDelim);
-				}
-				buf.append(line);
-				line = reader.readLine();
-			}
-			return buf.toString();
-		} catch (IOException exception) {
-			throw new org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException(exception);
-		} finally {
-			gc.dispose();
-		}
-	}
-
-	/*
-	 * Formats several message as HTML text.
-	 */
-	private String formatMultipleHoverText(List messages) {
-
-		StringBuffer buffer = new StringBuffer();
-		printer.addPageProlog(buffer);
-		printer.addParagraph(buffer, SSEUIPlugin.getResourceString("%Multiple_errors")); //$NON-NLS-1$
-
-		printer.startBulletList(buffer);
-		Iterator e = messages.iterator();
-		while (e.hasNext())
-			printer.addBullet(buffer, printer.convertToHTMLContent((String) e.next()));
-		printer.endBulletList(buffer);
-
-		printer.addPageEpilog(buffer);
-		return buffer.toString();
-	}
-
-	/**
-	 * @see IVerticalRulerHover#getHoverInfo(ISourceViewer, int)
-	 */
-	public String getHoverInfo(ISourceViewer sourceViewer, int lineNumber) {
-		IMarker marker = getMarker(sourceViewer, lineNumber);
-		List messages = new ArrayList(marker == null ? 0 : 1);
-		if (marker != null) {
-			String text = marker.getAttribute(IMarker.MESSAGE, (String) null);
-			if (text != null) {
-				messages.add(text);
-			} else {
-				try {
-					if (marker.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
-						IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-						IBreakpoint[] breakpoints = manager.getBreakpoints();
-						for (int i = 0; i < breakpoints.length; i++) {
-							IBreakpoint breakpoint = breakpoints[i];
-							if (breakpoint.getMarker().equals(marker)) {
-								if (fDebugModelPresentation == null) {
-									fDebugModelPresentation = DebugUITools.newDebugModelPresentation();
-								}
-								text = fDebugModelPresentation.getText(breakpoint);
-								if (text != null) {
-									messages.add(text);
-								}
-							}
-						}
-					}
-				} catch (CoreException e) {
-					Logger.logException(e);
-				}
-			}
-		}
-		List temporaryAnnotations = getTemporaryAnnotationsForLine(sourceViewer, lineNumber);
-		for (int i = 0; i < temporaryAnnotations.size(); i++) {
-			String message = ((Annotation) temporaryAnnotations.get(i)).getText();
-			if (message != null) {
-				boolean duplicated = false;
-				for (int j = 0; j < messages.size(); j++)
-					duplicated = duplicated || messages.get(j).equals(message);
-				if (!duplicated)
-					messages.add(message);
-				//				else
-				//					System.out.println("duplicated message found: " +
-				// StringUtils.escape(message));
-			} else
-				messages.add(((ITemporaryAnnotation) temporaryAnnotations.get(i)).toString());
-		}
-		if (messages.size() > 1)
-			return formatMultipleHoverText(messages);
-		else if (messages.size() > 0)
-			return formatHoverText(messages.get(0).toString(), sourceViewer);
-		else
-			return null;
-	}
-
-	private int getHoverWidth(Display display) {
-		Rectangle displayBounds = display.getBounds();
-		int hoverWidth = displayBounds.width - (display.getCursorLocation().x - displayBounds.x);
-		hoverWidth -= 12; // XXX: Add some space to the border, Revisit
-		if (hoverWidth < 200) {
-			hoverWidth = 200;
-		}
-		return hoverWidth;
-	}
-
-	/**
-	 * Returns one marker which includes the ruler's line of activity.
-	 */
-	protected IMarker getMarker(ISourceViewer viewer, int line) {
-
-		IDocument document = viewer.getDocument();
-		IAnnotationModel model = viewer.getAnnotationModel();
-
-		if (model == null)
-			return null;
-
-		List exact = new ArrayList();
-		List including = new ArrayList();
-
-		Iterator e = model.getAnnotationIterator();
-		while (e.hasNext()) {
-			Object o = e.next();
-			if (o instanceof MarkerAnnotation) {
-				MarkerAnnotation a = (MarkerAnnotation) o;
-				switch (compareRulerLine(model.getPosition(a), document, line)) {
-					case 1 :
-						exact.add(a.getMarker());
-						break;
-					case 2 :
-						including.add(a.getMarker());
-						break;
-				}
-			}
-		}
-
-		return select(exact, including);
-	}
-
-	/**
-	 * Returns one marker which includes the ruler's line of activity.
-	 */
-	protected List getTemporaryAnnotationsForLine(ISourceViewer viewer, int line) {
-
-		IDocument document = viewer.getDocument();
-		IAnnotationModel model = viewer.getAnnotationModel();
-
-		if (model == null)
-			return null;
-
-		List exact = new ArrayList();
-		List including = new ArrayList();
-
-		Iterator e = model.getAnnotationIterator();
-		while (e.hasNext()) {
-			Object o = e.next();
-			if (o instanceof ITemporaryAnnotation) {
-				ITemporaryAnnotation a = (ITemporaryAnnotation) o;
-				Position position = model.getPosition((Annotation) a);
-				if (position == null)
-					continue;
-
-				switch (compareRulerLine(position, document, line)) {
-					case 1 :
-						exact.add(a);
-						break;
-					case 2 :
-						including.add(a);
-						break;
-				}
-			}
-		}
-
-		return exact;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.IReleasable#release()
-	 */
-	public void release() {
-		if (fDebugModelPresentation != null) {
-			fDebugModelPresentation.dispose();
-		}
-	}
-
-	/**
-	 * Selects one marker from the two lists.
-	 */
-	protected IMarker select(List firstChoice, List secondChoice) {
-		if (!firstChoice.isEmpty())
-			return (IMarker) firstChoice.get(0);
-		if (!secondChoice.isEmpty())
-			return (IMarker) secondChoice.get(0);
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextEditor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextEditor.java
deleted file mode 100644
index faf7d93..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextEditor.java
+++ /dev/null
@@ -1,2802 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ResourceBundle;
-import java.util.Timer;
-import java.util.TimerTask;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITextViewerExtension;
-import org.eclipse.jface.text.ITextViewerExtension2;
-import org.eclipse.jface.text.ITextViewerExtension5;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.IAnnotationModelExtension;
-import org.eclipse.jface.text.source.IChangeRulerColumn;
-import org.eclipse.jface.text.source.ICharacterPairMatcher;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.LineChangeHover;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.editors.text.ITextEditorHelpContextIds;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-import org.eclipse.ui.texteditor.AnnotationPreference;
-import org.eclipse.ui.texteditor.ChainedPreferenceStore;
-import org.eclipse.ui.texteditor.DefaultRangeIndicator;
-import org.eclipse.ui.texteditor.IAbstractTextEditorHelpContextIds;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.IDocumentProviderExtension;
-import org.eclipse.ui.texteditor.IElementStateListener;
-import org.eclipse.ui.texteditor.IStatusField;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.IUpdate;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-import org.eclipse.ui.texteditor.MarkerRulerAction;
-import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
-import org.eclipse.ui.texteditor.TextOperationAction;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.sse.core.IModelLifecycleListener;
-import org.eclipse.wst.sse.core.IModelStateListenerExtended;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.ModelLifecycleEvent;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.internal.text.IExecutionDelegatable;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.edit.util.ActionDefinitionIds;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.extension.ExtendedConfigurationBuilder;
-import org.eclipse.wst.sse.ui.extension.ExtendedEditorActionBuilder;
-import org.eclipse.wst.sse.ui.extension.ExtendedEditorDropTargetAdapter;
-import org.eclipse.wst.sse.ui.extension.IExtendedContributor;
-import org.eclipse.wst.sse.ui.extension.IExtendedMarkupEditor;
-import org.eclipse.wst.sse.ui.extension.IExtendedMarkupEditorExtension;
-import org.eclipse.wst.sse.ui.extension.IPopupMenuContributor;
-import org.eclipse.wst.sse.ui.extensions.ConfigurationPointCalculator;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.NullSourceEditingTextTools;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckTarget;
-import org.eclipse.wst.sse.ui.internal.IModelProvider;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.ReadOnlyAwareDropTargetAdapter;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.StorageModelProvider;
-import org.eclipse.wst.sse.ui.internal.debug.BreakpointRulerAction;
-import org.eclipse.wst.sse.ui.internal.debug.EditBreakpointAction;
-import org.eclipse.wst.sse.ui.internal.debug.ManageBreakpointAction;
-import org.eclipse.wst.sse.ui.internal.debug.ToggleBreakpointAction;
-import org.eclipse.wst.sse.ui.internal.debug.ToggleBreakpointsTarget;
-import org.eclipse.wst.sse.ui.internal.editor.EditorExecutionContext;
-import org.eclipse.wst.sse.ui.internal.editor.EditorModelUtil;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.internal.editor.StructuredModelDocumentProvider;
-import org.eclipse.wst.sse.ui.internal.extension.BreakpointProviderBuilder;
-import org.eclipse.wst.sse.ui.internal.hyperlink.OpenHyperlinkAction;
-import org.eclipse.wst.sse.ui.internal.properties.ShowPropertiesAction;
-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory;
-import org.eclipse.wst.sse.ui.internal.selection.StructureSelectEnclosingAction;
-import org.eclipse.wst.sse.ui.internal.selection.StructureSelectHistoryAction;
-import org.eclipse.wst.sse.ui.internal.selection.StructureSelectNextAction;
-import org.eclipse.wst.sse.ui.internal.selection.StructureSelectPreviousAction;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.text.DocumentRegionEdgeMatcher;
-import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration;
-import org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration;
-import org.eclipse.wst.sse.ui.views.contentoutline.StructuredTextEditorContentOutlinePage;
-import org.eclipse.wst.sse.ui.views.properties.ConfigurablePropertySheetPage;
-import org.eclipse.wst.sse.ui.views.properties.PropertySheetConfiguration;
-import org.eclipse.wst.sse.ui.views.properties.StructuredPropertySheetConfiguration;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class StructuredTextEditor extends TextEditor implements IExtendedMarkupEditor, IExtendedMarkupEditorExtension, IDocumentListener {
-
-	class InternalElementStateListener implements IElementStateListener {
-
-		public void elementContentAboutToBeReplaced(Object element) {
-			// we just forward the event
-			handleElementContentAboutToBeReplaced(element);
-		}
-
-		public void elementContentReplaced(Object element) {
-			// we just forward the event
-			handleElementContentReplaced(element);
-		}
-
-		public void elementDeleted(Object element) {
-			// we just forward the event
-			handleElementDeleted(element);
-		}
-
-		public void elementDirtyStateChanged(Object element, boolean isDirty) {
-			// we just forward the event
-			handleElementDirtyStateChanged(element, isDirty);
-		}
-
-		public void elementMoved(Object originalElement, Object movedElement) {
-			// we just forward the event
-			handleElementMoved(originalElement, movedElement);
-		}
-	}
-
-	class InternalModelStateListener implements IModelStateListenerExtended {
-		public void modelAboutToBeChanged(IStructuredModel model) {
-			if (getTextViewer() != null) {
-				// getTextViewer().setRedraw(false);
-			}
-		}
-
-		public void modelAboutToBeReinitialized(IStructuredModel structuredModel) {
-			if (getTextViewer() != null) {
-				// getTextViewer().setRedraw(false);
-				getTextViewer().unconfigure();
-				SourceViewerConfiguration config = getSourceViewerConfiguration();
-				if (config instanceof StructuredTextViewerConfiguration) {
-					((StructuredTextViewerConfiguration) config).unConfigure(getSourceViewer());
-				}
-			}
-		}
-
-		public void modelChanged(IStructuredModel model) {
-			if (getTextViewer() != null) {
-				// getTextViewer().setRedraw(true);
-				// Since the model can be changed on a background
-				// thread, we will update menus on display thread,
-				// if we are not already on display thread,
-				// and if there is not an update already pending.
-				// (we can get lots of 'modelChanged' events in rapid
-				// succession, so only need to do one.
-				if (!fUpdateMenuTextPending) {
-					runOnDisplayThreadIfNeededed(new Runnable() {
-						public void run() {
-							updateMenuText();
-							fUpdateMenuTextPending = false;
-						}
-					});
-				}
-
-			}
-		}
-
-		public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-			// do nothing
-		}
-
-		public void modelReinitialized(IStructuredModel structuredModel) {
-			try {
-				if (getSourceViewer() != null) {
-					SourceViewerConfiguration cfg = getSourceViewerConfiguration();
-					if (cfg != null && cfg instanceof StructuredTextViewerConfiguration) {
-						initializeSourceViewerConfiguration(((StructuredTextViewerConfiguration) cfg));
-					}
-					getSourceViewer().configure(cfg);
-				}
-			}
-			catch (Exception e) {
-				// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=1166
-				// investigate each error case post beta
-				Logger.logException("problem trying to configure after model change", e); //$NON-NLS-1$
-			}
-			finally {
-				// so we don't freeze workbench (eg. during page language or
-				// content type change)
-				((ITextViewerExtension) getSourceViewer()).setRedraw(true);
-			}
-		}
-
-		// Note: this one should probably be used to
-		// control viewer
-		// instead of viewer having its own listener
-		public void modelResourceDeleted(IStructuredModel model) {
-			// do nothing
-		}
-
-		public void modelResourceMoved(IStructuredModel originalmodel, IStructuredModel movedmodel) {
-			// do nothing
-		}
-
-		/**
-		 * This 'Runnable' should be very brief, and should not "call out" to
-		 * other code especially if it depends on the state of the model.
-		 * 
-		 * @param r
-		 */
-		private void runOnDisplayThreadIfNeededed(Runnable r) {
-			// if there is no Display at all (that is, running headless),
-			// or if we are already running on the display thread, then
-			// simply execute the runnable.
-			if (getDisplay() == null || (Thread.currentThread() == getDisplay().getThread())) {
-				r.run();
-			}
-			else {
-				// otherwise force the runnable to run on the display thread.
-				getDisplay().asyncExec(r);
-			}
-		}
-	}
-
-	class MouseTracker extends MouseTrackAdapter implements MouseMoveListener {
-		/** The tracker's subject control. */
-		private Control fSubjectControl;
-
-		/**
-		 * Creates a new mouse tracker.
-		 */
-		public MouseTracker() {
-			// do nothing
-		}
-
-		public void mouseHover(MouseEvent event) {
-			// System.out.println("hover: "+event.x + "x" + event.y);
-			hoverX = event.x;
-			hoverY = event.y;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.swt.events.MouseMoveListener#mouseMove(org.eclipse.swt.events.MouseEvent)
-		 */
-		public void mouseMove(MouseEvent e) {
-			hoverX = e.x;
-			hoverY = e.y;
-		}
-
-		/**
-		 * Starts this mouse tracker. The given control becomes this tracker's
-		 * subject control. Installs itself as mouse track listener on the
-		 * subject control.
-		 * 
-		 * @param subjectControl
-		 *            the subject control
-		 */
-		public void start(Control subjectControl) {
-			fSubjectControl = subjectControl;
-			if (fSubjectControl != null && !fSubjectControl.isDisposed()) {
-				fSubjectControl.addMouseMoveListener(this);
-				fSubjectControl.addMouseTrackListener(this);
-				fSubjectControl.addDisposeListener(new DisposeListener() {
-					public void widgetDisposed(DisposeEvent e) {
-						stop();
-					}
-				});
-			}
-		}
-
-		/**
-		 * Stops this mouse tracker. Removes itself as mouse track, mouse
-		 * move, and shell listener from the subject control.
-		 */
-		public void stop() {
-			if (fSubjectControl != null && !fSubjectControl.isDisposed()) {
-				fSubjectControl.removeMouseMoveListener(this);
-				fSubjectControl.removeMouseTrackListener(this);
-				fSubjectControl = null;
-			}
-		}
-	}
-
-	class ShowInTargetListAdapter implements IShowInTargetList {
-		/**
-		 * Array of ID Strings that define the default show in targets for
-		 * this editor.
-		 * 
-		 * @see org.eclipse.ui.part.IShowInTargetList#getShowInTargetIds()
-		 * @return the array of ID Strings that define the default show in
-		 *         targets for this editor.
-		 */
-		public String[] getShowInTargetIds() {
-			return fShowInTargetIds;
-		}
-	}
-
-	class TimeOutExpired extends TimerTask {
-
-		public void run() {
-			// ILock lock = Platform.getJobManager().newLock();
-			// try {
-			// lock.acquire();
-			getDisplay().syncExec(new Runnable() {
-				public void run() {
-					if (getDisplay() != null && !getDisplay().isDisposed())
-						endBusyStateInternal();
-				}
-			});
-			// }
-			// finally {
-			// lock.release();
-			// }
-		}
-
-	}
-
-	private class ViewerModelLifecycleListener implements IModelLifecycleListener {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.IModelLifecycleListener#processPostModelEvent(org.eclipse.wst.sse.core.ModelLifecycleEvent)
-		 */
-		public void processPostModelEvent(ModelLifecycleEvent event) {
-			// reconnect the textviewer on document instance change
-			if (event.getType() == ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED) {
-				if (getTextViewer() != null && getTextViewer().getControl() != null && !getTextViewer().getControl().isDisposed() && event.getModel().equals(getModel())) {
-					getTextViewer().setModel(event.getModel(), getDocumentProvider().getAnnotationModel(getEditorInput()));
-				}
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.IModelLifecycleListener#processPreModelEvent(org.eclipse.wst.sse.core.ModelLifecycleEvent)
-		 */
-		public void processPreModelEvent(ModelLifecycleEvent event) {
-		}
-	}
-
-	protected final static char[] BRACKETS = {'{', '}', '(', ')', '[', ']'};
-	private static final long BUSY_STATE_DELAY = 1000;
-	public static final String CORE_SSE_ACTIVITY_ID = "com.ibm.wtp.xml.core"; //$NON-NLS-1$
-	protected static final String DOT = "."; //$NON-NLS-1$
-	private static final String EDITOR_CONTEXT_MENU_ID = "org.eclipse.wst.sse.ui.StructuredTextEditor.context"; //$NON-NLS-1$
-
-	/** Non-NLS strings */
-	private static final String EDITOR_KEYBINDING_SCOPE_ID = "org.eclipse.wst.sse.ui.structuredTextEditorScope"; //$NON-NLS-1$
-	public static final String GROUP_NAME_ADDITIONS = "additions"; //$NON-NLS-1$
-	public static final String GROUP_NAME_FORMAT = "Format"; //$NON-NLS-1$
-	public static final String GROUP_NAME_FORMAT_EXT = "Format.ext"; //$NON-NLS-1$
-	private static final String REDO_ACTION_DESC = SSEUIPlugin.getResourceString("%Redo__{0}._UI_"); //$NON-NLS-1$ = "Redo: {0}."
-	private static final String REDO_ACTION_DESC_DEFAULT = SSEUIPlugin.getResourceString("%Redo_Text_Change._UI_"); //$NON-NLS-1$ = "Redo Text Change."
-	private static final String REDO_ACTION_TEXT = SSEUIPlugin.getResourceString("%&Redo_{0}_@Ctrl+Y_UI_"); //$NON-NLS-1$ = "&Redo {0} @Ctrl+Y"
-	private static final String REDO_ACTION_TEXT_DEFAULT = SSEUIPlugin.getResourceString("%&Redo_Text_Change_@Ctrl+Y_UI_"); //$NON-NLS-1$ = "&Redo Text Change @Ctrl+Y"
-	protected static final String SSE_MODEL_ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-	/**
-	 * Constant for representing an error status. This is considered a value
-	 * object.
-	 */
-	static final protected IStatus STATUS_ERROR = new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.INFO, "ERROR", null); //$NON-NLS-1$
-	/**
-	 * Constant for representing an ok status. This is considered a value
-	 * object.
-	 */
-	static final protected IStatus STATUS_OK = new Status(IStatus.OK, SSEUIPlugin.ID, IStatus.OK, "OK", null); //$NON-NLS-1$
-
-	/** Translatable strings */
-	private static final String UNDO_ACTION_DESC = SSEUIPlugin.getResourceString("%Undo__{0}._UI_"); //$NON-NLS-1$ = "Undo: {0}."
-	private static final String UNDO_ACTION_DESC_DEFAULT = SSEUIPlugin.getResourceString("%Undo_Text_Change._UI_"); //$NON-NLS-1$ = "Undo Text Change."
-	private static final String UNDO_ACTION_TEXT = SSEUIPlugin.getResourceString("%&Undo_{0}_@Ctrl+Z_UI_"); //$NON-NLS-1$ = "&Undo {0} @Ctrl+Z"
-	private static final String UNDO_ACTION_TEXT_DEFAULT = SSEUIPlugin.getResourceString("%&Undo_Text_Change_@Ctrl+Z_UI_"); //$NON-NLS-1$ = "&Undo Text Change @Ctrl+Z"
-
-	/**
-	 * @param args
-	 *            java.lang.String[]
-	 */
-	public static void main(String[] args) {
-		StructuredTextEditor editor = null;
-		try {
-			editor = new StructuredTextEditor();
-			System.out.println("Created: " + editor); //$NON-NLS-1$
-		}
-		catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	// development time/debug variables only
-	private int adapterRequests;
-	private long adapterTime;
-	private boolean fBackgroundJobEnded;
-	private boolean fBusyState;
-	private Timer fBusyTimer;
-	Runnable fCurrentRunnable = null;
-	boolean fDirtyBeforeDocumentEvent = false;
-	protected ExtendedEditorDropTargetAdapter fDropAdapter;
-	protected DropTarget fDropTarget;
-	protected boolean fEditorDisposed = false;
-	private IEditorPart fEditorPart;
-	private IModelLifecycleListener fInternalLifeCycleListener = new ViewerModelLifecycleListener();
-	private InternalModelStateListener fInternalModelStateListener;
-
-	protected MouseTracker fMouseTracker;
-	private boolean forceReadOnly = false;
-	protected IContentOutlinePage fOutlinePage;
-	protected IPropertySheetPage fPropertySheetPage;
-	private String fRememberTitle;
-	String[] fShowInTargetIds = new String[]{IPageLayout.ID_RES_NAV};
-	private IAction fShowPropertiesAction = null;
-	private IStructuredModel fStructuredModel;
-
-	private boolean fUpdateMenuTextPending;
-	protected int hoverX = -1;
-	protected int hoverY = -1;
-	private InternalElementStateListener internalElementStateListener = new InternalElementStateListener();
-	private boolean shouldClose = false;
-	private long startPerfTime;
-
-	public StructuredTextEditor() {
-
-		super();
-		initializeDocumentProvider(null);
-	}
-
-	/*
-	 * This method is just to make firePropertyChanged accessbible from some
-	 * (anonomous) inner classes.
-	 */
-	protected void _firePropertyChange(int property) {
-		super.firePropertyChange(property);
-	}
-
-	protected void abstractTextEditorContextMenuAboutToShow(IMenuManager menu) {
-		menu.add(new Separator(ITextEditorActionConstants.GROUP_UNDO));
-		menu.add(new Separator(ITextEditorActionConstants.GROUP_COPY));
-		menu.add(new Separator(ITextEditorActionConstants.GROUP_PRINT));
-		menu.add(new Separator(ITextEditorActionConstants.GROUP_EDIT));
-		menu.add(new Separator(ITextEditorActionConstants.GROUP_FIND));
-		menu.add(new Separator(IWorkbenchActionConstants.GROUP_ADD));
-		menu.add(new Separator(ITextEditorActionConstants.GROUP_REST));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new Separator(ITextEditorActionConstants.GROUP_SAVE));
-
-		if (isEditable()) {
-			addAction(menu, ITextEditorActionConstants.GROUP_UNDO, ITextEditorActionConstants.UNDO);
-			addAction(menu, ITextEditorActionConstants.GROUP_UNDO, ITextEditorActionConstants.REVERT_TO_SAVED);
-			addAction(menu, ITextEditorActionConstants.GROUP_COPY, ITextEditorActionConstants.CUT);
-			addAction(menu, ITextEditorActionConstants.GROUP_COPY, ITextEditorActionConstants.COPY);
-			addAction(menu, ITextEditorActionConstants.GROUP_COPY, ITextEditorActionConstants.PASTE);
-			addAction(menu, ITextEditorActionConstants.GROUP_SAVE, ITextEditorActionConstants.SAVE);
-		}
-		else {
-			addAction(menu, ITextEditorActionConstants.GROUP_COPY, ITextEditorActionConstants.COPY);
-		}
-
-		// from AbstractDecoratedTextEditor
-		IAction preferencesAction = getAction(ITextEditorActionConstants.CONTEXT_PREFERENCES);
-		menu.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, new Separator(ITextEditorActionConstants.GROUP_SETTINGS));
-		menu.appendToGroup(ITextEditorActionConstants.GROUP_SETTINGS, preferencesAction);
-	}
-
-	protected void addContextMenuActions(IMenuManager menu) {
-		// Only offer actions that affect the text if the viewer allows
-		// modification and supports any of these operations
-		IAction formatAll = getAction(StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_DOCUMENT);
-		IAction formatSelection = getAction(StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_ACTIVE_ELEMENTS);
-		IAction cleanupAll = getAction(StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT);
-		boolean enableFormatMenu = (formatAll != null && formatAll.isEnabled()) || (formatSelection != null && formatSelection.isEnabled()) || (cleanupAll != null && cleanupAll.isEnabled());
-
-		if (getSourceViewer().isEditable() && enableFormatMenu) {
-			String label = SSEUIPlugin.getResourceString("%FormatMenu.label"); //$NON-NLS-1$ = "Format"
-			MenuManager subMenu = new MenuManager(label, GROUP_NAME_FORMAT);
-			subMenu.add(new GroupMarker(GROUP_NAME_FORMAT_EXT));
-			addAction(subMenu, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_DOCUMENT);
-			addAction(subMenu, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_ACTIVE_ELEMENTS);
-			subMenu.add(new GroupMarker(GROUP_NAME_ADDITIONS));
-			addAction(menu, ITextEditorActionConstants.GROUP_EDIT, StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT);
-			menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, subMenu);
-		}
-
-		// Some Design editors (DTD) rely on this view for their own uses
-		menu.appendToGroup(IWorkbenchActionConstants.GROUP_ADD, fShowPropertiesAction);
-	}
-
-	protected void addExtendedContextMenuActions(IMenuManager menu) {
-		IEditorActionBarContributor c = getEditorSite().getActionBarContributor();
-		if (c instanceof IPopupMenuContributor) {
-			((IPopupMenuContributor) c).contributeToPopupMenu(menu);
-		}
-		else {
-			ExtendedEditorActionBuilder builder = new ExtendedEditorActionBuilder();
-			IExtendedContributor pmc = builder.readActionExtensions(getConfigurationPoints());
-			if (pmc != null) {
-				pmc.setActiveEditor(this);
-				pmc.contributeToPopupMenu(menu);
-			}
-		}
-	}
-
-	protected void addExtendedRulerContextMenuActions(IMenuManager menu) {
-		// none at this level
-	}
-
-
-
-	/**
-	 * 
-	 */
-	public void beginBackgroundOperation() {
-		fBackgroundJobEnded = false;
-		// if already in busy state, no need to do anything
-		// and, we only start, or reset, the timed busy
-		// state when we get the "endBackgroundOperation" call.
-		if (!inBusyState()) {
-			beginBusyStateInternal();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void beginBusyStateInternal() {
-
-		fBusyState = true;
-		startBusyTimer();
-
-		ISourceViewer viewer = getSourceViewer();
-		if (viewer instanceof StructuredTextViewer) {
-			((StructuredTextViewer) viewer).beginBackgroundUpdate();
-
-		}
-		showBusy(true);
-	}
-
-	// private void addFindOccurrencesAction(String matchType, String
-	// matchText, IMenuManager menu) {
-	//
-	// AbstractFindOccurrencesAction action = new
-	// AbstractFindOccurrencesAction(getFileInEditor(), new
-	// SearchUIConfiguration(), (IStructuredDocument) getDocument(),
-	// matchType, matchText, getProgressMonitor());
-	// action.setText("Occurrences of \"" + matchText + "\" in File");
-	// menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, action);
-	// }
-
-	/**
-	 * Instead of us closing directly, we have to close with our containing
-	 * (multipage) editor, if it exists.
-	 */
-	public void close(final boolean save) {
-		if (getSite() == null) {
-			// if site hasn't been set yet, then we're not
-			// completely open
-			// so set a flag not to open
-			shouldClose = true;
-		}
-		else {
-			if (getEditorPart() != null) {
-				Display display = getSite().getShell().getDisplay();
-				display.asyncExec(new Runnable() {
-
-					public void run() {
-						getSite().getPage().closeEditor(getEditorPart(), save);
-					}
-				});
-			}
-			else {
-				super.close(save);
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#collectContextMenuPreferencePages()
-	 */
-	protected String[] collectContextMenuPreferencePages() {
-		List allIds = new ArrayList(0);
-
-		// get contributed preference pages
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] configurationIds = getConfigurationPoints();
-		for (int i = 0; i < configurationIds.length; i++) {
-			String[] definitions = builder.getDefinitions("preferencepages", configurationIds[i]); //$NON-NLS-1$
-			for (int j = 0; j < definitions.length; j++) {
-				String someIds = definitions[j];
-				if (someIds != null && someIds.length() > 0) {
-					// supports multiple comma-delimited page IDs in one
-					// element
-					String[] ids = StringUtils.unpack(someIds);
-					for (int k = 0; k < ids.length; k++) {
-						// trim, just to keep things clean
-						String id = ids[k].trim();
-						if (!allIds.contains(id)) {
-							allIds.add(id);
-						}
-					}
-				}
-			}
-		}
-
-		// add pages contributed by super
-		String[] superPages = super.collectContextMenuPreferencePages();
-		for (int m = 0; m < superPages.length; m++) {
-			// trim, just to keep things clean
-			String id = superPages[m].trim();
-			if (!allIds.contains(id)) {
-				allIds.add(id);
-			}
-		}
-
-		return (String[]) allIds.toArray(new String[0]);
-	}
-
-	/**
-	 * Compute and set double-click action for the source editor, depending on
-	 * the input.
-	 */
-	protected void computeAndSetDoubleClickAction(IStructuredModel model) {
-		if (model == null)
-			return;
-		// If we're editing a breakpoint-supported input, make double-clicking
-		// on the ruler toggle a breakpoint instead of toggling a bookmark.
-		String ext = BreakpointRulerAction.getFileExtension(getEditorInput());
-		if (BreakpointProviderBuilder.getInstance().isAvailable(model.getContentTypeIdentifier(), ext)) {
-			setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, getAction(ActionDefinitionIds.TOGGLE_BREAKPOINTS));
-		}
-		else {
-			// The Default Text Editor uses editorContribution to perform this
-			// mapping, but since it relies on the IEditorSite ID, it can't be
-			// relied on for MultiPageEditorParts. Instead, force the action
-			// registration manually.
-			setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, new MarkerRulerAction(SSEUIPlugin.getDefault().getResourceBundle(), "Editor.ManageBookmarks.", this, getVerticalRuler(), IMarker.BOOKMARK, true));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.ExtendedTextEditor#configureSourceViewerDecorationSupport(org.eclipse.ui.texteditor.SourceViewerDecorationSupport)
-	 */
-	protected void configureSourceViewerDecorationSupport(SourceViewerDecorationSupport support) {
-		support.setCharacterPairMatcher(createCharacterPairMatcher());
-		support.setMatchingCharacterPainterPreferenceKeys(CommonEditorPreferenceNames.MATCHING_BRACKETS, CommonEditorPreferenceNames.MATCHING_BRACKETS_COLOR);
-
-		super.configureSourceViewerDecorationSupport(support);
-	}
-
-	protected void createActions() {
-		super.createActions();
-		ResourceBundle resourceBundle = SSEUIPlugin.getDefault().getResourceBundle();
-		IWorkbenchHelpSystem helpSystem = SSEUIPlugin.getDefault().getWorkbench().getHelpSystem();
-		// TextView Action - moving the selected text to
-		// the clipboard
-		// override the cut/paste/delete action to make
-		// them run on read-only
-		// files
-		Action action = new TextOperationAction(resourceBundle, "Editor.Cut.", this, ITextOperationTarget.CUT, true); //$NON-NLS-1$
-		action.setActionDefinitionId(IWorkbenchActionDefinitionIds.CUT);
-		setAction(ITextEditorActionConstants.CUT, action);
-		helpSystem.setHelp(action, IAbstractTextEditorHelpContextIds.CUT_ACTION);
-		// TextView Action - inserting the clipboard
-		// content at the current
-		// position
-		// override the cut/paste/delete action to make
-		// them run on read-only
-		// files
-		action = new TextOperationAction(resourceBundle, "Editor.Paste.", this, ITextOperationTarget.PASTE, true); //$NON-NLS-1$
-		action.setActionDefinitionId(IWorkbenchActionDefinitionIds.PASTE);
-		setAction(ITextEditorActionConstants.PASTE, action);
-		helpSystem.setHelp(action, IAbstractTextEditorHelpContextIds.PASTE_ACTION);
-		// TextView Action - deleting the selected text or
-		// if selection is
-		// empty the character at the right of the current
-		// position
-		// override the cut/paste/delete action to make
-		// them run on read-only
-		// files
-		action = new TextOperationAction(resourceBundle, "Editor.Delete.", this, ITextOperationTarget.DELETE, true); //$NON-NLS-1$
-		action.setActionDefinitionId(IWorkbenchActionDefinitionIds.DELETE);
-		setAction(ITextEditorActionConstants.DELETE, action);
-		helpSystem.setHelp(action, IAbstractTextEditorHelpContextIds.DELETE_ACTION);
-		// SourceView Action - requesting information at
-		// the current insertion
-		// position
-		action = new TextOperationAction(SSEUIPlugin.getDefault().getResourceBundle(), StructuredTextEditorActionConstants.ACTION_NAME_INFORMATION + DOT, this, ISourceViewer.INFORMATION, true);
-		action.setActionDefinitionId(ActionDefinitionIds.INFORMATION);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_INFORMATION, action);
-		markAsStateDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_INFORMATION, true);
-		// SourceView Action - requesting content assist to
-		// show completetion
-		// proposals for the current insert position
-		action = new TextOperationAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_PROPOSALS + DOT, this, ISourceViewer.CONTENTASSIST_PROPOSALS, true);
-		helpSystem.setHelp(action, IHelpContextIds.CONTMNU_CONTENTASSIST_HELPID);
-		action.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_PROPOSALS, action);
-		markAsStateDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_PROPOSALS, true);
-		// SourceView Action - requesting content assist to
-		// show the content
-		// information for the current insert position
-		action = new TextOperationAction(SSEUIPlugin.getDefault().getResourceBundle(), StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_CONTEXT_INFORMATION + DOT, this, ISourceViewer.CONTENTASSIST_CONTEXT_INFORMATION);
-		action.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_CONTEXT_INFORMATION, action);
-		markAsStateDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_CONTEXT_INFORMATION, true);
-		// StructuredTextViewer Action - requesting
-		// correction assist to show
-		// correction proposals for the current position
-		action = new TextOperationAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_QUICK_FIX + DOT, this, StructuredTextViewer.QUICK_FIX, true);
-		action.setActionDefinitionId(ActionDefinitionIds.QUICK_FIX);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_QUICK_FIX, action);
-		markAsStateDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_QUICK_FIX, true);
-		// StructuredTextViewer Action - requesting format
-		// of the whole
-		// document
-		action = new TextOperationAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_DOCUMENT + DOT, this, StructuredTextViewer.FORMAT_DOCUMENT);
-		helpSystem.setHelp(action, IHelpContextIds.CONTMNU_FORMAT_DOC_HELPID);
-		action.setActionDefinitionId(ActionDefinitionIds.FORMAT_DOCUMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_DOCUMENT, action);
-		markAsStateDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_DOCUMENT, true);
-		markAsSelectionDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_DOCUMENT, true);
-		// StructuredTextViewer Action - requesting format
-		// of the active
-		// elements
-		action = new TextOperationAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_ACTIVE_ELEMENTS + DOT, this, StructuredTextViewer.FORMAT_ACTIVE_ELEMENTS);
-		helpSystem.setHelp(action, IHelpContextIds.CONTMNU_FORMAT_ELEMENTS_HELPID);
-		action.setActionDefinitionId(ActionDefinitionIds.FORMAT_ACTIVE_ELEMENTS);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_ACTIVE_ELEMENTS, action);
-		markAsStateDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_ACTIVE_ELEMENTS, true);
-		markAsSelectionDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_ACTIVE_ELEMENTS, true);
-		// StructuredTextEditor Action - add breakpoints
-		action = new ToggleBreakpointAction(this, getVerticalRuler());
-		setAction(ActionDefinitionIds.TOGGLE_BREAKPOINTS, action);
-		// StructuredTextEditor Action - manage breakpoints
-		action = new ManageBreakpointAction(this, getVerticalRuler());
-		setAction(ActionDefinitionIds.MANAGE_BREAKPOINTS, action);
-		// StructuredTextEditor Action - edit breakpoints
-		action = new EditBreakpointAction(this, getVerticalRuler());
-		setAction(ActionDefinitionIds.EDIT_BREAKPOINTS, action);
-		// StructuredTextViewer Action - open file on selection
-		action = new OpenHyperlinkAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE + DOT, this, getSourceViewer());
-		action.setActionDefinitionId(ActionDefinitionIds.OPEN_FILE);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE, action);
-
-		fShowPropertiesAction = new ShowPropertiesAction();
-
-		SelectionHistory selectionHistory = new SelectionHistory(this);
-		action = new StructureSelectEnclosingAction(this, selectionHistory);
-		action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_ENCLOSING);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_ENCLOSING, action);
-
-		action = new StructureSelectNextAction(this, selectionHistory);
-		action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_NEXT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_NEXT, action);
-
-		action = new StructureSelectPreviousAction(this, selectionHistory);
-		action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_PREVIOUS);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_PREVIOUS, action);
-
-		action = new StructureSelectHistoryAction(this, selectionHistory);
-		action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_HISTORY);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_HISTORY, action);
-		selectionHistory.setHistoryAction((StructureSelectHistoryAction) action);
-	}
-
-	/**
-	 * Creates and returns a <code>LineChangeHover</code> to be used on this
-	 * editor's change ruler column. This default implementation returns a
-	 * plain <code>LineChangeHover</code>. Subclasses may override.
-	 * 
-	 * @return the change hover to be used by this editors quick diff display
-	 */
-	protected LineChangeHover createChangeHover() {
-		// return new LineChangeHover();
-		return new StructuredLineChangeHover();
-	}
-
-	protected ICharacterPairMatcher createCharacterPairMatcher() {
-		ICharacterPairMatcher matcher = null;
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] ids = getConfigurationPoints();
-		for (int i = 0; matcher == null && i < ids.length; i++) {
-			matcher = (ICharacterPairMatcher) builder.getConfiguration(DocumentRegionEdgeMatcher.ID, ids[i]);
-		}
-		if (matcher == null) {
-			matcher = new ICharacterPairMatcher() {
-
-				public void clear() {
-				}
-
-				public void dispose() {
-				}
-
-				public int getAnchor() {
-					return ICharacterPairMatcher.LEFT;
-				}
-
-				public IRegion match(IDocument iDocument, int i) {
-					return null;
-				}
-			};
-		}
-		return matcher;
-	}
-
-	/**
-	 * Create a preference store that combines the source editor preferences
-	 * with the base editor's preferences.
-	 * 
-	 * @return IPreferenceStore
-	 */
-	private IPreferenceStore createCombinedPreferenceStore() {
-		IPreferenceStore sseEditorPrefs = SSEUIPlugin.getDefault().getPreferenceStore();
-		IPreferenceStore baseEditorPrefs = EditorsUI.getPreferenceStore();
-		return new ChainedPreferenceStore(new IPreferenceStore[]{sseEditorPrefs, baseEditorPrefs});
-	}
-
-	protected ContentOutlineConfiguration createContentOutlineConfiguration() {
-		ContentOutlineConfiguration cfg = null;
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] ids = getConfigurationPoints();
-		for (int i = 0; cfg == null && i < ids.length; i++) {
-			cfg = (ContentOutlineConfiguration) builder.getConfiguration(ContentOutlineConfiguration.ID, ids[i]);
-		}
-		return cfg;
-	}
-
-	protected void createModelDependentFields() {
-		// none at this level
-	}
-
-	/**
-	 * We override the super version of this method for the sole purpose of
-	 * using one of our own special viewer configuration objects.
-	 */
-	public void createPartControl(Composite parent) {
-		StructuredTextViewerConfiguration newViewerConfiguration = createSourceViewerConfiguration();
-		SourceViewerConfiguration oldViewerConfiguration = getSourceViewerConfiguration();
-		if ((oldViewerConfiguration == null) || (oldViewerConfiguration instanceof StructuredTextViewerConfiguration && !((StructuredTextViewerConfiguration) oldViewerConfiguration).getDeclaringID().equals(newViewerConfiguration.getDeclaringID())))
-			setSourceViewerConfiguration(newViewerConfiguration);
-
-		super.createPartControl(parent);
-
-		// reset the input now that the editor is
-		// initialized and can handle it
-		// properly
-		// TODO - urgent, WTP 1.0: THIS SHOULDN'T BE DONE HERE
-		// ANYMORE - but for now, have to to get 'configure' to work right?
-		// but causes two pass initialization! Does fixing this require base
-		// fix?
-		// setInput(getEditorInput());
-		// instead of calling setInput twice, use initializeSourceViewer() to
-		// handle source viewer initialization previously handled by setInput
-		initializeSourceViewer();
-	}
-
-	protected PropertySheetConfiguration createPropertySheetConfiguration() {
-		PropertySheetConfiguration cfg = null;
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] ids = getConfigurationPoints();
-		for (int i = 0; cfg == null && i < ids.length; i++) {
-			cfg = (PropertySheetConfiguration) builder.getConfiguration(PropertySheetConfiguration.ID, ids[i]);
-		}
-		return cfg;
-	}
-
-	/**
-	 * Loads the Show In Target IDs from the Extended Configuration extension
-	 * point.
-	 * 
-	 * @return
-	 */
-	private String[] createShowInTargetIds() {
-		List allIds = new ArrayList(0);
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] configurationIds = getConfigurationPoints();
-		for (int i = 0; i < configurationIds.length; i++) {
-			String[] definitions = builder.getDefinitions("showintarget", configurationIds[i]); //$NON-NLS-1$
-			for (int j = 0; j < definitions.length; j++) {
-				String someIds = definitions[j];
-				if (someIds != null && someIds.length() > 0) {
-					String[] ids = StringUtils.unpack(someIds);
-					for (int k = 0; k < ids.length; k++) {
-						// trim, just to keep things clean
-						String id = ids[k].trim();
-						if (!allIds.contains(id)) {
-							allIds.add(id);
-						}
-					}
-				}
-			}
-		}
-
-		if (!allIds.contains(IPageLayout.ID_RES_NAV)) {
-			allIds.add(IPageLayout.ID_RES_NAV);
-		}
-		if (!allIds.contains(IPageLayout.ID_OUTLINE)) {
-			allIds.add(IPageLayout.ID_OUTLINE);
-		}
-		return (String[]) allIds.toArray(new String[0]);
-	}
-
-	/**
-	 * @return
-	 */
-	protected SourceEditingTextTools createSourceEditingTextTools() {
-		SourceEditingTextTools tools = null;
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] ids = getConfigurationPoints();
-		for (int i = 0; tools == null && i < ids.length; i++) {
-			tools = (SourceEditingTextTools) builder.getConfiguration(NullSourceEditingTextTools.ID, ids[i]);
-		}
-		if (tools == null) {
-			tools = NullSourceEditingTextTools.getInstance();
-		}
-		return tools;
-	}
-
-	/**
-	 * Creates the source viewer to be used by this editor
-	 */
-	protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler verticalRuler, int styles) {
-		fAnnotationAccess = createAnnotationAccess();
-		fOverviewRuler = createOverviewRuler(getSharedColors());
-		StructuredTextViewer sourceViewer = createStructedTextViewer(parent, verticalRuler, styles);
-		initSourceViewer(sourceViewer);
-		return sourceViewer;
-	}
-
-	protected StructuredTextViewerConfiguration createSourceViewerConfiguration() {
-		StructuredTextViewerConfiguration cfg = null;
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] ids = getConfigurationPoints();
-		for (int i = 0; cfg == null && i < ids.length; i++) {
-			cfg = (StructuredTextViewerConfiguration) builder.getConfiguration(StructuredTextViewerConfiguration.ID, ids[i]);
-		}
-		if (cfg == null) {
-			cfg = new StructuredTextViewerConfiguration();
-			cfg.setDeclaringID(getClass().getName() + "#default"); //$NON-NLS-1$
-		}
-		initializeSourceViewerConfiguration(cfg);
-		return cfg;
-	}
-
-	/**
-	 * @deprecated - will be removed in M4
-	 */
-	protected SpellCheckTarget createSpellCheckTarget() {
-		SpellCheckTarget target = null;
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] ids = getConfigurationPoints();
-		for (int i = 0; target == null && i < ids.length; i++) {
-			target = (SpellCheckTarget) builder.getConfiguration(SpellCheckTargetImpl.ID, ids[i]);
-		}
-		if (target == null) {
-			target = new SpellCheckTargetImpl();
-		}
-		target.setTextEditor(this);
-		return target;
-	}
-
-	protected StructuredTextViewer createStructedTextViewer(Composite parent, IVerticalRuler verticalRuler, int styles) {
-		return new StructuredTextViewer(parent, verticalRuler, getOverviewRuler(), isOverviewRulerVisible(), styles);
-	}
-
-	/**
-	 * @see DekstopPart#dispose
-	 */
-	public void dispose() {
-		Logger.trace("Source Editor", "StructuredTextEditor::dispose entry"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (org.eclipse.wst.sse.core.util.Debug.perfTestAdapterClassLoading) {
-			System.out.println("Total calls to getAdapter: " + adapterRequests); //$NON-NLS-1$
-			System.out.println("Total time in getAdapter: " + adapterTime); //$NON-NLS-1$
-			System.out.println("Average time per call: " + (adapterTime / adapterRequests)); //$NON-NLS-1$
-		}
-
-		// just for work around for document memory leak
-		// related to last position (stored in plugin!)
-		// holding on to 'selection' which holds instance
-		// of document
-		// caution, this is making use of internal classes
-
-		int caretOffset = getCaretPosition();
-		// safeguard values used in the Position below
-		if (caretOffset < 0) {
-			caretOffset = 0;
-		}
-
-		// TODO: remove the code for now, need to track down the leak
-		// FIXME: this was put in, to overcome memory leak (via the document
-		// in the selection).
-		// we need to fix the leak and/or find a better way.
-		// TextEditorPlugin.getDefault().setLastEditPosition(new
-		// EditPosition(getEditorInput(), getEditorSite().getId(),
-		// TextSelection.emptySelection(), new Position(caretOffset)));
-
-		// subclass may not have mouse tracker created
-		// need to check for null before stopping
-		if (fMouseTracker != null) {
-			fMouseTracker.stop();
-			fMouseTracker = null;
-		}
-
-		// added this 2/19/2004 to match the 'add' in
-		// intializeDocumentProvider.
-		if (getDocumentProvider() != null)
-			getDocumentProvider().removeElementStateListener(internalElementStateListener);
-
-		// added this 2/20/2004 based on probe results --
-		// seems should be handled by setModel(null), but
-		// that's a more radical change.
-		// and, technically speaking, should not be needed,
-		// but makes a memory leak
-		// less severe.
-		if (fStructuredModel != null) {
-			if (fStructuredModel.getStructuredDocument() != null)
-				fStructuredModel.getStructuredDocument().removeDocumentListener(this);
-			fStructuredModel.removeModelStateListener(getInternalModelStateListener());
-			fStructuredModel.removeModelLifecycleListener(fInternalLifeCycleListener);
-		}
-
-		if (getDocument() != null) {
-			IDocument doc = getDocument();
-			doc.removeDocumentListener(this);
-			if (doc instanceof IExecutionDelegatable) {
-				((IExecutionDelegatable) doc).setExecutionDelegate(null);
-			}
-		}
-
-		fEditorDisposed = true;
-		disposeModelDependentFields();
-		// some things in the configuration need to clean
-		// up after themselves
-		SourceViewerConfiguration config = getSourceViewerConfiguration();
-		if (config instanceof StructuredTextViewerConfiguration) {
-			((StructuredTextViewerConfiguration) config).unConfigure(getSourceViewer());
-		}
-
-		if (fDropTarget != null)
-			fDropTarget.dispose();
-
-		setPreferenceStore(null);
-
-		// strictly speaking, but following null outs
-		// should not be needed,
-		// but in the event of a memory leak, they make the
-		// memory leak less
-		// severe
-		fDropAdapter = null;
-		fDropTarget = null;
-
-		super.dispose();
-		Logger.trace("Source Editor", "StructuredTextEditor::dispose exit"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#disposeDocumentProvider()
-	 */
-	protected void disposeDocumentProvider() {
-		if (fStructuredModel != null && !(getDocumentProvider() instanceof IModelProvider)) {
-			fStructuredModel.releaseFromEdit();
-		}
-		super.disposeDocumentProvider();
-	}
-
-	/**
-	 * Disposes model specific editor helpers such as statusLineHelper.
-	 * Basically any code repeated in update() & dispose() should be placed
-	 * here.
-	 */
-	protected void disposeModelDependentFields() {
-		// none at this level
-	}
-
-	// This is for the IDocumentListener interface
-	public void documentAboutToBeChanged(DocumentEvent event) {
-		fDirtyBeforeDocumentEvent = isDirty();
-	}
-
-	// This is for the IDocumentListener interface
-	public void documentChanged(DocumentEvent event) {
-		if (isEditorInputReadOnly()) {
-			// stop listening to document event
-			// caused by the undo after validateEdit
-			final int offset = event.getOffset() + event.getLength();
-			fCurrentRunnable = new Runnable() {
-				public void run() {
-					if (!fEditorDisposed) {
-						IStatus status = validateEdit(getSite().getShell());
-						if (status != null && status.isOK()) {
-							// nothing to do if 'ok'
-						}
-						else {
-							getModel().getUndoManager().undo();
-							getSourceViewer().setSelectedRange(offset, 0);
-							if (!fDirtyBeforeDocumentEvent) {
-								// reset dirty state if
-								// model not dirty before
-								// document event
-								getModel().setDirtyState(false);
-							}
-						}
-					}
-					fCurrentRunnable = null;
-				}
-			};
-			/*
-			 * We need to ensure that this is run via 'asyncExec' since these
-			 * notifications can come from a non-ui thread.
-			 * 
-			 * The non-ui thread call would occur when creating a new file
-			 * under ClearCase (or other library) control. The creation of the
-			 * new file would trigger a validateEdit call, on another thread,
-			 * that would prompt the user to add the new file to version
-			 * control.
-			 */
-			Display display = getDisplay();
-			if (display != null) {
-				if (Thread.currentThread() != display.getThread())
-					// future_TODO: there's probably a better
-					// way than relying on asycnExec
-					display.asyncExec(fCurrentRunnable);
-				else
-					fCurrentRunnable.run();
-			}
-		}
-	}
-
-	/**
-	 * @see ITextEditor#doRevertToSaved
-	 */
-	public void doRevertToSaved() {
-		super.doRevertToSaved();
-		if (fOutlinePage != null && fOutlinePage instanceof IUpdate)
-			((IUpdate) fOutlinePage).update();
-		// update menu text
-		updateMenuText();
-	}
-
-	public void doSave(IProgressMonitor progressMonitor) {
-		try {
-			getModel().aboutToChangeModel();
-			updateEncodingMemento();
-			super.doSave(progressMonitor);
-		}
-		finally {
-			getModel().changedModel();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#doSetInput(org.eclipse.ui.IEditorInput)
-	 */
-	protected void doSetInput(IEditorInput input) throws CoreException {
-		try {
-			// TODO: if opened in more than one editor, this will cause
-			// problems.
-			IEditorInput oldInput = getEditorInput();
-			if (oldInput != null) {
-				IDocument olddoc = getDocumentProvider().getDocument(oldInput);
-				if (olddoc != null && olddoc instanceof IExecutionDelegatable) {
-					((IExecutionDelegatable) olddoc).setExecutionDelegate(null);
-				}
-			}
-
-			if (fStructuredModel != null) {
-				fStructuredModel.releaseFromEdit();
-			}
-
-			super.doSetInput(input);
-
-			if (getDocument() instanceof IExecutionDelegatable) {
-				((IExecutionDelegatable) getDocument()).setExecutionDelegate(new EditorExecutionContext(this));
-			}
-
-			IStructuredModel model = null;
-			// if we have a Model provider, get the model from it
-			if (getDocumentProvider() instanceof IModelProvider) {
-				model = ((IModelProvider) getDocumentProvider()).getModel(getEditorInput());
-				if (!model.isShared()) {
-					EditorModelUtil.addFactoriesTo(model);
-				}
-			}
-			else {
-				IDocument doc = getDocument();
-				Assert.isTrue(doc instanceof IStructuredDocument, "Editing document must be an IStructuredDocument");
-				// corresponding releaseFromEdit occurs in
-				// disposeDocumentProvider
-				model = StructuredModelManager.getModelManager().getExistingModelForEdit(doc);
-				if (model == null) {
-					model = StructuredModelManager.getModelManager().getModelForEdit((IStructuredDocument) doc);
-					EditorModelUtil.addFactoriesTo(model);
-				}
-			}
-
-			if (fStructuredModel != null || model != null) {
-				setModel(model);
-			}
-
-			// start editor with smart insert mode
-			setInsertMode(SMART_INSERT);
-		}
-		catch (CoreException exception) {
-			// dispose editor
-			dispose();
-
-			throw new CoreException(exception.getStatus());
-		}
-	}
-
-	/**
-	 * Sets up this editor's context menu before it is made visible.
-	 * 
-	 * @param menu
-	 *            the menu
-	 */
-	public void editorContextMenuAboutToShow(IMenuManager menu) {
-		// To be consistant with the Java Editor, we want
-		// to remove
-		// ShiftRight and ShiftLeft from the context menu.
-		//
-		// ShiftRight and ShiftLeft were added in the super
-		// implemenation of
-		// this method. We want to skip it and call
-		// AbstractTextEditor's
-		// implementation directly. The easiest way is to
-		// copy the method here.
-
-		// super.editorContextMenuAboutToShow(menu);
-		abstractTextEditorContextMenuAboutToShow(menu);
-
-		addContextMenuActions(menu);
-		addExtendedContextMenuActions(menu);
-	}
-
-	/**
-	 * This is the public method to be called to notifiy us that document is
-	 * being updated by backround job.
-	 */
-	public void endBackgroundOperation() {
-		fBackgroundJobEnded = true;
-		// note, we don't immediately end our 'internal busy' state,
-		// since we may get many calls in a short period of
-		// time. We always wait for the time out.
-		resetBusyState();
-	}
-
-
-	/**
-	 * Note this method can be called indirectly from background job operation
-	 * ... but expected to be gaurded there with ILock, plus, can be called
-	 * directly from timer thread, so the timer's run method guards with ILock
-	 * too.
-	 */
-	private void endBusyStateInternal() {
-		if (fBackgroundJobEnded) {
-			fBusyTimer.cancel();
-			showBusy(false);
-
-			ISourceViewer viewer = getSourceViewer();
-			if (viewer instanceof StructuredTextViewer) {
-				((StructuredTextViewer) viewer).endBackgroundUpdate();
-			}
-			fBusyState = false;
-		}
-		else {
-			// we will only be in this branch for a back ground job that is
-			// taking
-			// longer than our normal time-out period (meaning we got notified
-			// of
-			// the timeout "inbetween" calls to 'begin' and
-			// 'endBackgroundOperation'.
-			// (which, remember, can only happen since there are many calls to
-			// begin/end in a short period of time, and we only "reset" on the
-			// 'ends').
-			// In this event, there's really nothing to do, we're still in
-			// "busy state"
-			// and should start a new reset cycle once endBackgroundjob is
-			// called.
-		}
-	}
-
-	public Object getAdapter(Class required) {
-		if (org.eclipse.wst.sse.core.util.Debug.perfTestAdapterClassLoading) {
-			startPerfTime = System.currentTimeMillis();
-		}
-		Object result = null;
-		// text editor
-		if (ITextEditor.class.equals(required)) {
-			result = this;
-		}
-		else if (IWorkbenchSiteProgressService.class.equals(required)) {
-			return getEditorPart().getSite().getAdapter(IWorkbenchSiteProgressService.class);
-		}
-		// content outline page
-		else if (IContentOutlinePage.class.equals(required)) {
-			if (fOutlinePage == null || fOutlinePage.getControl() == null || fOutlinePage.getControl().isDisposed()) {
-				ContentOutlineConfiguration cfg = createContentOutlineConfiguration();
-				if (cfg != null) {
-					if (cfg instanceof StructuredContentOutlineConfiguration) {
-						((StructuredContentOutlineConfiguration) cfg).setEditor(this);
-					}
-					StructuredTextEditorContentOutlinePage outlinePage = new StructuredTextEditorContentOutlinePage();
-					outlinePage.setConfiguration(cfg);
-					outlinePage.setViewerSelectionManager(getViewerSelectionManager());
-					outlinePage.setModel(getModel());
-					fOutlinePage = outlinePage;
-				}
-			}
-			result = fOutlinePage;
-		}
-		// property sheet page, but only if the input's editable
-		else if (IPropertySheetPage.class.equals(required) && !forceReadOnly && isEditable()) {
-			if (fPropertySheetPage == null || fPropertySheetPage.getControl() == null || fPropertySheetPage.getControl().isDisposed()) {
-				PropertySheetConfiguration cfg = createPropertySheetConfiguration();
-				if (cfg != null) {
-					if (cfg instanceof StructuredPropertySheetConfiguration) {
-						((StructuredPropertySheetConfiguration) cfg).setEditor(this);
-					}
-					ConfigurablePropertySheetPage propertySheetPage = new ConfigurablePropertySheetPage();
-					propertySheetPage.setConfiguration(cfg);
-					propertySheetPage.setViewerSelectionManager(getViewerSelectionManager());
-					propertySheetPage.setModel(getModel());
-					fPropertySheetPage = propertySheetPage;
-				}
-			}
-			result = fPropertySheetPage;
-		}
-		else if (ViewerSelectionManager.class.equals(required)) {
-			result = getViewerSelectionManager();
-		}
-		else if (SourceEditingTextTools.class.equals(required)) {
-			result = createSourceEditingTextTools();
-		}
-		else if (IToggleBreakpointsTarget.class.equals(required)) {
-			result = ToggleBreakpointsTarget.getInstance();
-		}
-		else if (IShowInTargetList.class.equals(required)) {
-			return new ShowInTargetListAdapter();
-		}
-		else {
-			Document document = getDOMDocument();
-			if (document != null && document instanceof INodeNotifier) {
-				result = ((INodeNotifier) document).getAdapterFor(required);
-			}
-			if (result == null) {
-				result = getModel().getAdapter(required);
-			}
-			// others
-			if (result == null)
-				result = super.getAdapter(required);
-		}
-		if (org.eclipse.wst.sse.core.util.Debug.perfTestAdapterClassLoading) {
-			long stop = System.currentTimeMillis();
-			adapterRequests++;
-			adapterTime += (stop - startPerfTime);
-		}
-		if (org.eclipse.wst.sse.core.util.Debug.perfTestAdapterClassLoading) {
-			System.out.println("Total calls to getAdapter: " + adapterRequests); //$NON-NLS-1$
-			System.out.println("Total time in getAdapter: " + adapterTime); //$NON-NLS-1$
-			System.out.println("Average time per call: " + (adapterTime / adapterRequests)); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	/**
-	 * IExtendedMarkupEditor method
-	 */
-	public Node getCaretNode() {
-		IStructuredModel model = getModel();
-		if (model == null)
-			return null;
-		int pos = getCaretPosition();
-		IndexedRegion inode = model.getIndexedRegion(pos);
-		if (inode == null)
-			inode = model.getIndexedRegion(pos - 1);
-		return (inode instanceof Node) ? (Node) inode : null;
-	}
-
-	/**
-	 * IExtendedSimpleEditor method
-	 */
-	public int getCaretPosition() {
-		ViewerSelectionManager vsm = getViewerSelectionManager();
-		if (vsm == null)
-			return -1;
-		// nsd_TODO: are we being overly paranoid?
-		StructuredTextViewer stv = getTextViewer();
-		if (stv != null && stv.getControl() != null && !stv.getControl().isDisposed() && getSourceViewer().getVisibleRegion().getOffset() != 0) {
-			return vsm.getCaretPosition() + getSourceViewer().getVisibleRegion().getOffset();
-		}
-		return vsm.getCaretPosition();
-	}
-
-	protected String[] getConfigurationPoints() {
-		String contentTypeIdentifierID = null;
-		if (getModel() != null)
-			contentTypeIdentifierID = getModel().getContentTypeIdentifier();
-		return ConfigurationPointCalculator.getConfigurationPoints(this, contentTypeIdentifierID, ConfigurationPointCalculator.SOURCE, StructuredTextEditor.class);
-	}
-
-	/**
-	 * @deprecated - will be removed in M4
-	 */
-	public Node getCursorNode() {
-		if (getModel() != null)
-			return (Node) getModel().getIndexedRegion(getCursorOffset());
-		else
-			return null;
-	}
-
-	/**
-	 * @deprecated - will be removed in M4
-	 */
-	public int getCursorOffset() {
-		if (hoverX >= 0 && hoverY >= 0)
-			return getOffsetAtLocation(hoverX, hoverY);
-		return getCaretPosition();
-	}
-
-	/**
-	 * added checks to overcome bug such that if we are shutting down in an
-	 * error condition, then viewer will have already been disposed.
-	 */
-	protected String getCursorPosition() {
-		String result = null;
-		// this may be too expensive in terms of
-		// performance, to do this check
-		// every time, just to gaurd against error
-		// condition.
-		// perhaps there's a better way?
-		if (getSourceViewer() != null && getSourceViewer().getTextWidget() != null && !getSourceViewer().getTextWidget().isDisposed()) {
-			result = super.getCursorPosition();
-		}
-		else {
-			result = "0:0"; //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	Display getDisplay() {
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	/**
-	 * IExtendedSimpleEditor method
-	 */
-	public IDocument getDocument() {
-		// ITextViewer tv = getTextViewer();
-		// return (tv != null) ? tv.getDocument() : null;
-		// The TextViewer may not be available at init
-		// time.
-		// The right way to get the document is thru
-		// DocumentProvider.
-		IDocumentProvider dp = getDocumentProvider();
-		return (dp != null) ? dp.getDocument(getEditorInput()) : null;
-	}
-
-	/**
-	 * IExtendedMarkupEditor method
-	 */
-	public Document getDOMDocument() {
-		IStructuredModel model = getModel();
-		if (model != null) {
-			return (Document) model.getAdapter(Document.class);
-		}
-		return null;
-	}
-
-	/**
-	 * @see com.ibm.sed.edit.extension.IExtendedSimpleEditor#getEditorPart()
-	 */
-	public IEditorPart getEditorPart() {
-		if (fEditorPart == null)
-			return this;
-		return fEditorPart;
-	}
-
-	/**
-	 * @deprecated - will be removed in M4
-	 * 
-	 * used only by Search and there are alternate means besides making this
-	 * API
-	 * @return the IFile from the currently active editor
-	 */
-	public IFile getFileInEditor() {
-		IStructuredModel model = getModel();
-		return ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(model.getBaseLocation()));
-		// (pa) this changed because FileBuffers don't use absolute location
-		// plain old getFile(...) should work now (for the relative URL)
-		// return
-		// ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(new
-		// Path(model.getBaseLocation()));
-	}
-
-	/**
-	 * @deprecated - will be removed in M4
-	 * @return
-	 */
-	protected String[] getFindOccurrencesRegionTypes() {
-		return new String[0];
-	}
-
-	private InternalModelStateListener getInternalModelStateListener() {
-		if (fInternalModelStateListener == null) {
-			fInternalModelStateListener = new InternalModelStateListener();
-		}
-		return fInternalModelStateListener;
-	}
-
-	/**
-	 * @deprecated - may be made protected in M4 This value is set in
-	 *             initialize from input
-	 */
-	public IStructuredModel getModel() {
-		// was causing an exception when several editors
-		// open
-		// and then "close all"
-		// com.ibm.sed.util.Assert.isNotNull(getDocumentProvider());
-		// while we did put in protection in 'isDirty'
-		// for the null document provider assert failure,
-		// we'll
-		// just log this error.
-		if (getDocumentProvider() == null) {
-			// this indicated an error in startup sequence
-			Logger.trace("Model Centric Editor", "Program Info Only: document provider was null when model requested"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		boolean initialModelNull = false;
-		if (fStructuredModel == null)
-			initialModelNull = true;
-		if (fStructuredModel == null) {
-			if (getDocumentProvider() instanceof IModelProvider) {
-				fStructuredModel = ((IModelProvider) getDocumentProvider()).getModel(getEditorInput());
-			}
-			else { // nsd_TODO: FileBuffer cleanup
-				IDocument doc = getDocument();
-				Assert.isTrue(doc instanceof IStructuredDocument, "StructuredTextEditor must be used with an IStructuredDocument");
-				IStructuredModel model = StructuredModelManager.getModelManager().getExistingModelForEdit(doc);
-				if (model == null) {
-					model = StructuredModelManager.getModelManager().getModelForEdit((IStructuredDocument) doc);
-					EditorModelUtil.addFactoriesTo(model);
-				}
-				fStructuredModel = model;
-			}
-			if (initialModelNull && fStructuredModel != null) {
-				/*
-				 * DMW: 9/1/2002 -- why is update called here? No change has
-				 * been indicated? I'd like to remove, but will leave for now
-				 * to avoid breaking this hack. Should measure/breakpoint to
-				 * see how large the problem is. May cause performance
-				 * problems.
-				 * 
-				 * DMW: 9/8/2002 -- not sure why this was here initially, but
-				 * the intent/hack must have been to call update if this was
-				 * the first time fStructuredModel was set. So, I added the
-				 * logic to check for that "first time" case. It would appear
-				 * we don't really need. may remove in future when can test
-				 * more.
-				 */
-				update();
-			}
-		}
-		return fStructuredModel;
-	}
-
-	/**
-	 * Computes the document offset underlying the given text widget graphics
-	 * coordinates.
-	 * 
-	 * @deprecated - only used by methods meant to be removed in M4
-	 * 
-	 * this method will be removed in M4
-	 * 
-	 * @param x
-	 *            the x coordinate inside the text widget
-	 * @param y
-	 *            the y coordinate inside the text widget
-	 * @return the document offset corresponding to the given point
-	 */
-	protected int getOffsetAtLocation(int x, int y) {
-		StyledText styledText = getSourceViewer().getTextWidget();
-		if (styledText != null && !styledText.isDisposed()) {
-			try {
-				int widgetOffset = styledText.getOffsetAtLocation(new Point(x, y));
-				if (getSourceViewer() instanceof ITextViewerExtension5) {
-					ITextViewerExtension5 extension = (ITextViewerExtension5) getSourceViewer();
-					return extension.widgetOffset2ModelOffset(widgetOffset);
-				}
-				return widgetOffset + getSourceViewer().getVisibleRegion().getOffset();
-			}
-			catch (IllegalArgumentException e) {
-				return getSourceViewer().getVisibleRegion().getLength();
-			}
-		}
-		return getCaretPosition();
-	}
-
-	/**
-	 * @deprecated - will be removed in M4
-	 * 
-	 * used only by Search and there are alternate means besides making this
-	 * API
-	 * 
-	 * @return the IStructuredDocumentRegion that the text selection in the
-	 *         editor resolves to, or <code>null</code> if the range covers
-	 *         more than one region.
-	 */
-	public IStructuredDocumentRegion getSelectedDocumentRegion() {
-		Point p = getSelectionRange();
-		int start = p.x;
-		int end = p.x + p.y;
-
-		IStructuredDocumentRegion firstSdRegion = ((IStructuredDocument) getDocument()).getRegionAtCharacterOffset(start);
-		IStructuredDocumentRegion secondSdRegion = ((IStructuredDocument) getDocument()).getRegionAtCharacterOffset(end);
-		if (firstSdRegion != null && secondSdRegion != null) {
-			if (firstSdRegion.equals(secondSdRegion) || firstSdRegion.getEndOffset() == end) {
-				// the selection is on the same region or
-				// the selection ends right on the end of the first region
-				return firstSdRegion;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * IExtendedMarkupEditor method
-	 */
-	public List getSelectedNodes() {
-		ViewerSelectionManager vsm = getViewerSelectionManager();
-		return (vsm != null) ? vsm.getSelectedNodes() : null;
-	}
-
-	/**
-	 * @deprecated
-	 * 
-	 * used only by Search and there are alternate means besides making this
-	 * API
-	 * 
-	 * will be removed in M4
-	 * 
-	 * @param sdRegion
-	 *            the IStructuredDocumentRegion that you want to check
-	 *            selection on
-	 * @return the ITextRegion that the text selection in the editor resolves
-	 *         to, or <code>null</code> if the range covers more than one
-	 *         region or none.
-	 */
-	public ITextRegion getSelectedTextRegion(IStructuredDocumentRegion sdRegion) {
-		Assert.isNotNull(sdRegion);
-
-		Point p = getSelectionRange();
-		int start = p.x;
-		int end = p.x + p.y;
-
-		ITextRegion first = sdRegion.getRegionAtCharacterOffset(start);
-		ITextRegion second = sdRegion.getRegionAtCharacterOffset(end);
-		if (first != null && second != null) {
-			if (first.equals(second) || sdRegion.getEndOffset(first) == end) {
-				// the selection is on the same region
-				// the selection ends right on the end of the first region
-				return first;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * IExtendedSimpleEditor method
-	 */
-	public Point getSelectionRange() {
-		ITextViewer tv = getSourceViewer();
-		if (tv == null)
-			return new Point(-1, -1);
-		else
-			return tv.getSelectedRange();
-	}
-
-	/**
-	 * @deprecated - will be removed in M4
-	 */
-	public SpellCheckTarget getSpellCheckTarget() {
-		return null;
-	}
-
-	private IStatusLineManager getStatusLineManager() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null)
-			return null;
-		IWorkbenchPage page = window.getActivePage();
-		if (page == null)
-			return null;
-		IEditorPart editor = page.getActiveEditor();
-		if (editor == null)
-			return null;
-		IEditorActionBarContributor contributor = editor.getEditorSite().getActionBarContributor();
-		if (contributor instanceof EditorActionBarContributor) {
-			return ((EditorActionBarContributor) contributor).getActionBars().getStatusLineManager();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the editor's source viewer. This method was created to expose
-	 * the protected final getSourceViewer() method.
-	 * 
-	 * @return the editor's source viewer
-	 */
-	public StructuredTextViewer getTextViewer() {
-		return (StructuredTextViewer) getSourceViewer();
-	}
-
-	/**
-	 * @deprecated
-	 * 
-	 * will be made protected or removed in M4
-	 * 
-	 * @return
-	 */
-	public ViewerSelectionManager getViewerSelectionManager() {
-		if (getTextViewer() != null)
-			return getTextViewer().getViewerSelectionManager();
-		return null;
-	}
-
-	protected void handleCursorPositionChanged() {
-		super.handleCursorPositionChanged();
-		updateStatusField(StructuredTextEditorActionConstants.STATUS_CATEGORY_OFFSET);
-	}
-
-	protected void handleElementContentAboutToBeReplaced(Object element) {
-		// do nothing
-	}
-
-	protected void handleElementContentReplaced(Object element) {
-		// do nothing, the model provider should reload the
-		// model
-	}
-
-	protected void handleElementDeleted(Object element) {
-		// do nothing, the superclass will close() us
-	}
-
-	protected void handleElementDirtyStateChanged(Object element, boolean isDirty) {
-		// do nothing, the superclass will fire a proeprty
-		// change
-	}
-
-	protected void handleElementMoved(Object oldElement, Object newElement) {
-		// do nothing, the editor input will be changed
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#handlePreferenceStoreChanged(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	protected void handlePreferenceStoreChanged(PropertyChangeEvent event) {
-		String property = event.getProperty();
-
-		if (CommonEditorPreferenceNames.EDITOR_TEXT_HOVER_MODIFIERS.equals(property)) {
-			updateHoverBehavior();
-		}
-		super.handlePreferenceStoreChanged(event);
-	}
-
-	/**
-	 * @return
-	 */
-	private boolean inBusyState() {
-		return fBusyState;
-	}
-
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		// if we've gotten an error elsewhere, before
-		// we've actually opened, then don't open.
-		if (shouldClose) {
-			setSite(site);
-			close(false);
-		}
-		else {
-			super.init(site, input);
-		}
-	}
-
-	public void initializeDocumentProvider(IDocumentProvider documentProvider) {
-		if (getDocumentProvider() != null)
-			getDocumentProvider().removeElementStateListener(internalElementStateListener);
-		if (documentProvider != null) {
-			setDocumentProvider(documentProvider);
-		}
-		if (documentProvider != null)
-			documentProvider.addElementStateListener(internalElementStateListener);
-	}
-
-	protected void initializeDrop(ITextViewer textViewer) {
-		int operations = DND.DROP_COPY | DND.DROP_MOVE;
-		fDropTarget = new DropTarget(textViewer.getTextWidget(), operations);
-		fDropAdapter = new ReadOnlyAwareDropTargetAdapter();
-		fDropAdapter.setTargetEditor(this);
-		fDropAdapter.setTargetIDs(getConfigurationPoints());
-		fDropAdapter.setTextViewer(textViewer);
-		fDropTarget.setTransfer(fDropAdapter.getTransfers());
-		fDropTarget.addDropListener(fDropAdapter);
-	}
-
-	protected void initializeEditor() {
-		super.initializeEditor();
-		// FIXME: here's where to add back in our custom encoding support
-		fEncodingSupport = null;
-		setPreferenceStore(createCombinedPreferenceStore());
-
-		setRangeIndicator(new DefaultRangeIndicator());
-		setEditorContextMenuId(EDITOR_CONTEXT_MENU_ID);
-		initializeDocumentProvider(null);
-		// set the infopop for source viewer
-		String helpId = getHelpContextId();
-		// no infopop set or using default text editor help, use default
-		if (helpId == null || ITextEditorHelpContextIds.TEXT_EDITOR.equals(helpId))
-			helpId = IHelpContextIds.XML_SOURCE_VIEW_HELPID;
-		setHelpContextId(helpId);
-		// defect 203158 - disable ruler context menu for
-		// beta
-		// setRulerContextMenuId(RULER_CONTEXT_MENU_ID);
-		configureInsertMode(SMART_INSERT, true);
-
-		// enable the base source editor activity when editor opens
-		try {
-			// FIXME: - commented out to avoid minor dependancy during
-			// transition to org.eclipse
-			// WTPActivityBridge.getInstance().enableActivity(CORE_SSE_ACTIVITY_ID,
-			// true);
-		}
-		catch (Exception t) {
-			// if something goes wrong with enabling activity, just log the
-			// error but dont
-			// have it break the editor
-			Logger.log(Logger.WARNING_DEBUG, t.getMessage(), t);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.editors.text.TextEditor#initializeKeyBindingScopes()
-	 */
-	protected void initializeKeyBindingScopes() {
-		setKeyBindingScopes(new String[]{EDITOR_KEYBINDING_SCOPE_ID});
-	}
-
-	/**
-	 * Initializes the editor's source viewer and other items that were source
-	 * viewer-dependent.
-	 */
-	private void initializeSourceViewer() {
-		IAnnotationModel annotationModel = getDocumentProvider().getAnnotationModel(getEditorInput());
-		if (getTextViewer() != null)
-			getTextViewer().setModel(getModel(), annotationModel);
-
-		if (getViewerSelectionManager() != null)
-			getViewerSelectionManager().setModel(getModel());
-
-		// workaround for bugzilla#56801
-		// updates/reinstalls QuickDiff because some QuickDiff info is lost
-		// when SourceViewer.setModel/setDocument is called
-		updateDiffer();
-
-		computeAndSetDoubleClickAction(getModel());
-
-		IAction contentAssistAction = getAction(StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_PROPOSALS);
-		if (contentAssistAction instanceof IUpdate) {
-			((IUpdate) contentAssistAction).update();
-		}
-		IAction openHyperlinkAction = getAction(StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE);
-		if (openHyperlinkAction instanceof OpenHyperlinkAction) {
-			((OpenHyperlinkAction) openHyperlinkAction).setHyperlinkDetectors(getSourceViewerConfiguration().getHyperlinkDetectors(getSourceViewer()));
-		}
-	}
-
-	/**
-	 * Performs any necessary setup for a new or unconfigured
-	 * StructuredTextViewerConfiguration
-	 * 
-	 * @param configuration
-	 */
-	void initializeSourceViewerConfiguration(StructuredTextViewerConfiguration configuration) {
-		configuration.setEditorPart(this);
-		configuration.setPreferenceStore(getPreferenceStore());
-
-		IResource resource = null;
-		IFile file = (IFile) getEditorInput().getAdapter(IFile.class);
-		if (file != null) {
-			resource = file.getProject();
-		}
-		configuration.configureOn(resource);
-	}
-
-	protected void initSourceViewer(StructuredTextViewer sourceViewer) {
-		// ensure decoration support is configured
-		getSourceViewerDecorationSupport(sourceViewer);
-		fMouseTracker = new MouseTracker();
-		fMouseTracker.start(sourceViewer.getTextWidget());
-		initializeDrop(sourceViewer);
-	}
-
-
-	protected void installEncodingSupport() {
-		// TODO: install our custom support that can
-		// update document appropriately
-		// super.installEncodingSupport();
-	}
-
-	/*
-	 * @see IEditorPart#isDirty
-	 */
-	public boolean isDirty() {
-		// because we're not perfectly forced read only ...
-		if (forceReadOnly)
-			return false;
-		// IDocumentProvider p = getDocumentProvider();
-		// if (p == null)
-		// return false;
-		//
-		// if (getModel() == null)
-		// return false;
-		// return getModel().isDirty();
-		return super.isDirty();
-	}
-
-	/*
-	 * temp impl for V2 (eventually will use super's method, keying off of
-	 * IDocumentProvider ... or IDocumentProviderExtension
-	 */
-	public boolean isEditable() {
-		boolean result = true;
-		if (forceReadOnly) {
-			result = false;
-		}
-		else {
-			result = super.isEditable();
-		}
-		return result;
-	}
-
-	/*
-	 * @see ITextEditorExtension#isEditorInputReadOnly()
-	 */
-	public boolean isEditorInputReadOnly() {
-		if (forceReadOnly)
-			return true;
-		return super.isEditorInputReadOnly();
-	}
-
-	/**
-	 * @deprecated - will be removed in M4
-	 * @param type
-	 * @return
-	 */
-	public boolean isFindOccurrencesRegionType(String type) {
-		String[] accept = getFindOccurrencesRegionTypes();
-		for (int i = 0; i < accept.length; i++) {
-			if (accept[i].equals(type))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns whether the given annotation type is configured as a target
-	 * type for the "Go to Next/Previous Annotation" actions. Copied from
-	 * org.eclipse.jdt.internal.ui.javaeditor.JavaEditor
-	 * 
-	 * @param type
-	 *            the annotation type
-	 * @return <code>true</code> if this is a target type,
-	 *         <code>false</code> otherwise
-	 * @since 3.0
-	 */
-	protected boolean isNavigationTargetType(Annotation annotation) {
-		Preferences preferences = EditorsUI.getPluginPreferences();
-		AnnotationPreference preference = getAnnotationPreferenceLookup().getAnnotationPreference(annotation);
-		// See bug 41689
-		// String key= forward ?
-		// preference.getIsGoToNextNavigationTargetKey()
-		// :
-		// preference.getIsGoToPreviousNavigationTargetKey();
-		String key = preference == null ? null : preference.getIsGoToNextNavigationTargetKey();
-		return (key != null && preferences.getBoolean(key));
-	}
-
-	/*
-	 * @see IEditorPart#isSaveOnCloseNeeded()
-	 */
-	public boolean isSaveOnCloseNeeded() {
-		// because we're not perfect, never allow
-		// save attempt on forceReadOnly
-		if (forceReadOnly || getModel() == null)
-			return false;
-		return getModel().isSaveNeeded();
-	}
-
-	/**
-	 * This method was made public for use by editors that use
-	 * StructuredTextEditor (like PageDesigner)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#rememberSelection()
-	 */
-	public void rememberSelection() {
-		super.rememberSelection();
-	}
-
-	/**
-	 * Remove the QuickDiff annotation model from the SourceViewer's
-	 * Annotation model if it exists
-	 */
-	private void removeDiffer() {
-		// get annotation model extension
-		ISourceViewer viewer = getSourceViewer();
-		if (viewer == null)
-			return;
-
-		IAnnotationModel m = viewer.getAnnotationModel();
-		IAnnotationModelExtension model;
-		if (m instanceof IAnnotationModelExtension)
-			model = (IAnnotationModelExtension) m;
-		else
-			return;
-
-		// remove the quick differ if it already exists in the annotation
-		// model
-		model.removeAnnotationModel(IChangeRulerColumn.QUICK_DIFF_MODEL_ID);
-	}
-
-	/**
-	 * both starts and resets the busy state timer
-	 */
-	private void resetBusyState() {
-		// reset the "busy" timeout
-		if (fBusyTimer != null) {
-			fBusyTimer.cancel();
-		}
-		startBusyTimer();
-	}
-
-	/**
-	 * This method was made public for use by editors that use
-	 * StructuredTextEditor (like PageDesigner)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#restoreSelection()
-	 */
-	public void restoreSelection() {
-		// catch odd case where source viewer has no text
-		// widget (defect
-		// 227670)
-		if ((getSourceViewer() != null) && (getSourceViewer().getTextWidget() != null))
-			super.restoreSelection();
-	}
-
-	protected void rulerContextMenuAboutToShow(IMenuManager menu) {
-		boolean debuggingAvailable = BreakpointProviderBuilder.getInstance().isAvailable(getModel().getContentTypeIdentifier(), BreakpointRulerAction.getFileExtension(getEditorInput()));
-		if (debuggingAvailable) {
-			menu.add(getAction(ActionDefinitionIds.TOGGLE_BREAKPOINTS));
-			menu.add(getAction(ActionDefinitionIds.MANAGE_BREAKPOINTS));
-			menu.add(getAction(ActionDefinitionIds.EDIT_BREAKPOINTS));
-			menu.add(new Separator());
-		}
-		super.rulerContextMenuAboutToShow(menu);
-		addExtendedRulerContextMenuActions(menu);
-	}
-
-	/**
-	 * Overridden to expose part activation handling for multi-page editors
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#safelySanityCheckState(org.eclipse.ui.IEditorInput)
-	 */
-	public void safelySanityCheckState(IEditorInput input) {
-		super.safelySanityCheckState(input);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#selectAndReveal(int,
-	 *      int, int, int)
-	 */
-	protected void selectAndReveal(int selectionStart, int selectionLength, int revealStart, int revealLength) {
-		super.selectAndReveal(selectionStart, selectionLength, revealStart, revealLength);
-		getTextViewer().notifyViewerSelectionManager(selectionStart, selectionLength);
-	}
-
-	/**
-	 * Ensure that the correct IDocumentProvider is used. For direct models, a
-	 * special provider is used. For StorageEditorInputs, use a custom
-	 * provider that creates a usable ResourceAnnotationModel. For everything
-	 * else, use the base support.
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#setDocumentProvider(org.eclipse.ui.IEditorInput)
-	 */
-	protected void setDocumentProvider(IEditorInput input) {
-		if (input instanceof IStructuredModel) {
-			// largely untested
-			setDocumentProvider(StructuredModelDocumentProvider.getInstance());
-		}
-		else if (input instanceof IStorageEditorInput && !(input instanceof IFileEditorInput)) {
-			setDocumentProvider(StorageModelProvider.getInstance());
-		}
-		else {
-			super.setDocumentProvider(input);
-		}
-	}
-
-	public void setEditorPart(IEditorPart editorPart) {
-		fEditorPart = editorPart;
-	}
-
-	/**
-	 * @deprecated - Clients should use .getAdapter(Control) to get the text
-	 *             viewer control and set its help context. Will be removed in
-	 *             M4.
-	 * 
-	 * We expose this normally protected method so clients can provide their
-	 * own help.
-	 * 
-	 * @param helpContextId
-	 *            the help context id
-	 */
-	public void setHelpContextId(String helpContextId) {
-		// used by (requested by) WSED
-		super.setHelpContextId(helpContextId);
-		// allows help to be set at any time (not just on AbstractTextEditor's
-		// creation)
-		if ((getHelpContextId() != null) && (getSourceViewer() != null) && (getSourceViewer().getTextWidget() != null)) {
-			IWorkbenchHelpSystem helpSystem = SSEUIPlugin.getDefault().getWorkbench().getHelpSystem();
-			helpSystem.setHelp(getSourceViewer().getTextWidget(), getHelpContextId());
-		}
-	}
-
-	/**
-	 * @deprecated - use setInput as if we were a text editor
-	 * 
-	 * Note: this weird API, setModel which takes input as parameter. Is
-	 * provided for those editors which don't otherwise have to know about
-	 * models's. (Is hard/impossible to override the setInput method.)
-	 */
-	public void setModel(IFileEditorInput input) {
-		// Assert.isNotNull(getDocumentProvider());
-		// if (fStructuredModel != null) {
-		// if (getDocument() != null) {
-		// getDocument().removeDocumentListener(this);
-		// fStructuredModel.removeModelStateListener(getInternalModelStateListener());
-		// }
-		// }
-		// if (!(getDocumentProvider() instanceof FileModelProvider)) {
-		// initializeDocumentProvider(FileModelProvider.getInstance());
-		// }
-		// // ((FileModelProvider)
-		// // getDocumentProvider()).createModelInfo(input);
-		// // fStructuredModel = ((FileModelProvider)
-		// // getDocumentProvider()).getModel(input);
-		// // model will be null in some error conditions.
-		// if (fStructuredModel == null) {
-		// close(false);
-		// }
-		// // DMW: checked for site after moving to 3/22
-		// // (2.1M4) Eclipse base.
-		// /// Later code in super classes were causing NPE's
-		// // because site, etc.,
-		// // hasn't been
-		// // initialized yet. If site is still null at this
-		// // point, we are
-		// // assuming
-		// // setInput and update are called later, perhaps
-		// // elsewhere.
-		// // But if site is not null (such as in DTD Editor)
-		// // then setInput and
-		// // update must
-		// // be called here.
-		// // if (getSite() != null) {
-		// setInput(input);
-		// fStructuredModel = ((FileModelProvider)
-		// getDocumentProvider()).getModel(input);
-		// if (fStructuredModel != null) {
-		// getDocument().addDocumentListener(this);
-		// fStructuredModel.addModelStateListener(getInternalModelStateListener());
-		// }
-		// // update() should be called whenever the model is
-		// // set or changed
-		// update();
-		// // }
-		setInput(input);
-	}
-
-	/**
-	 * Sets the model field within this editor, use only when: 1) there is no
-	 * IEditorInput (very special case, not well tested) 2) there is an
-	 * IEditorInput but the corresponding model needs to be set separately
-	 * 
-	 * @deprecated - this is a laregely untested usage
-	 */
-	public void setModel(IStructuredModel newModel) {
-		Assert.isNotNull(getDocumentProvider());
-		if (fStructuredModel != null) {
-			fStructuredModel.removeModelLifecycleListener(fInternalLifeCycleListener);
-			if (fStructuredModel.getStructuredDocument() != null) {
-				fStructuredModel.getStructuredDocument().removeDocumentListener(this);
-			}
-			fStructuredModel.removeModelStateListener(getInternalModelStateListener());
-		}
-		fStructuredModel = newModel;
-		if (fStructuredModel != null) {
-			if (fStructuredModel.getStructuredDocument() != null) {
-				fStructuredModel.getStructuredDocument().addDocumentListener(this);
-			}
-			fStructuredModel.addModelStateListener(getInternalModelStateListener());
-			fStructuredModel.addModelLifecycleListener(fInternalLifeCycleListener);
-		}
-		// update() should be called whenever the model is
-		// set or changed
-		update();
-	}
-
-	/**
-	 * @deprecated - initialize with a document provider and use setInput or
-	 *             setModel(IStructuredModel)
-	 * @param newModel
-	 * @param input
-	 */
-	public void setModel(IStructuredModel newModel, IFileEditorInput input) {
-		// _setAnnotationModel(input);
-		// setModel(newModel);
-		Assert.isNotNull(getDocumentProvider());
-		if (fStructuredModel != null) {
-			fStructuredModel.removeModelLifecycleListener(fInternalLifeCycleListener);
-			fStructuredModel.removeModelStateListener(getInternalModelStateListener());
-			if (fStructuredModel.getStructuredDocument() != null) {
-				fStructuredModel.getStructuredDocument().removeDocumentListener(this);
-			}
-		}
-		fStructuredModel = newModel;
-		// setInput in super will allow titles to be
-		// updated, etc.
-		setInput(input);
-		if (fStructuredModel != null) {
-			if (fStructuredModel.getStructuredDocument() != null) {
-				fStructuredModel.getStructuredDocument().addDocumentListener(this);
-			}
-			fStructuredModel.addModelStateListener(getInternalModelStateListener());
-			fStructuredModel.addModelLifecycleListener(fInternalLifeCycleListener);
-		}
-		// update() should be called whenever the model is
-		// set or changed
-		update();
-	}
-
-	/**
-	 * Sets the editor's source viewer configuration which it uses to
-	 * configure it's internal source viewer. This method was overwritten so
-	 * that viewer configuration could be set after editor part was created.
-	 */
-	protected void setSourceViewerConfiguration(SourceViewerConfiguration config) {
-		super.setSourceViewerConfiguration(config);
-		StructuredTextViewer stv = getTextViewer();
-		if (stv != null) {
-			// there should be no need to unconfigure
-			// before configure because
-			// configure will
-			// also unconfigure before configuring
-			stv.unconfigure();
-			stv.configure(config);
-		}
-	}
-
-	/**
-	 * Overridden to allow custom tab title for multi-page editors
-	 * 
-	 * @see org.eclipse.ui.part.WorkbenchPart#setTitle(java.lang.String)
-	 */
-	public void setTitle(String title) {
-		super.setTitle(title);
-	}
-
-	public void showBusy(boolean busy) {
-		if (busy) {
-			fRememberTitle = getPartName();
-			// update title and/or fonts and/or background
-			//
-			// temp solution, for testing, uses "busy"
-			setPartName("busy");
-		}
-		else {
-			// reset to what it was
-			setPartName(fRememberTitle);
-		}
-	}
-
-	private void startBusyTimer() {
-		// TODO: we need a resetable timer, so not so
-		// many created
-		fBusyTimer = new Timer(true);
-		fBusyTimer.schedule(new TimeOutExpired(), BUSY_STATE_DELAY);
-	}
-
-
-	private void statusError(IStatus status) {
-		statusError(status.getMessage());
-		ErrorDialog.openError(getSite().getShell(), null, null, status);
-	}
-
-	private void statusError(String message) {
-		IStatusLineManager manager = getStatusLineManager();
-		if (manager == null)
-			return;
-		manager.setErrorMessage(message);
-		getSite().getShell().getDisplay().beep();
-	}
-
-	/**
-	 * update() should be called whenever the model is set or changed (as in
-	 * swapped)
-	 */
-	public void update() {
-		IAnnotationModel annotationModel = getDocumentProvider().getAnnotationModel(getEditorInput());
-		if (getTextViewer() != null)
-			getTextViewer().setModel(getModel(), annotationModel);
-		if (fOutlinePage != null && fOutlinePage instanceof StructuredTextEditorContentOutlinePage) {
-			ContentOutlineConfiguration cfg = createContentOutlineConfiguration();
-			if (cfg instanceof StructuredContentOutlineConfiguration) {
-				((StructuredContentOutlineConfiguration) cfg).setEditor(this);
-			}
-			((StructuredTextEditorContentOutlinePage) fOutlinePage).setModel(getModel());
-			((StructuredTextEditorContentOutlinePage) fOutlinePage).setViewerSelectionManager(getViewerSelectionManager());
-			((StructuredTextEditorContentOutlinePage) fOutlinePage).setConfiguration(cfg);
-		}
-		if (fPropertySheetPage != null && fPropertySheetPage instanceof ConfigurablePropertySheetPage) {
-			PropertySheetConfiguration cfg = createPropertySheetConfiguration();
-			if (cfg instanceof StructuredPropertySheetConfiguration) {
-				((StructuredPropertySheetConfiguration) cfg).setEditor(this);
-			}
-			((ConfigurablePropertySheetPage) fPropertySheetPage).setModel(getModel());
-			((ConfigurablePropertySheetPage) fPropertySheetPage).setViewerSelectionManager(getViewerSelectionManager());
-			((ConfigurablePropertySheetPage) fPropertySheetPage).setConfiguration(cfg);
-		}
-		if (getViewerSelectionManager() != null)
-			getViewerSelectionManager().setModel(getModel());
-		disposeModelDependentFields();
-
-		fShowInTargetIds = createShowInTargetIds();
-
-		// workaround for bugzilla#56801
-		// updates/reinstalls QuickDiff because some QuickDiff info is lost
-		// when SourceViewer.setModel/setDocument is called
-		updateDiffer();
-		// setSourceViewerConfiguration() was called once
-		// in
-		// StructuredTextMultiPageEditorPart.createSourcePage()
-		// to set the SourceViewerConfiguration first so
-		// the text editor won't
-		// use the default configuration first
-		// and switch to the
-		// StructuredTextViewerConfiguration later.
-		// However, the source viewer was not created yet
-		// at the time. Need to
-		// call setSourceViewerConfiguration() again here
-		// so getSourceViewer().configure(configuration) in
-		// setSourceViewerConfiguration() will be called.
-		// DMW: removed setSouceViewerConfiguration since
-		// shouldn't need the
-		// general case
-		// an longer, but added 'updateConfiguration' so it
-		// can still be
-		// sensitive
-		// to resource/model changes.
-		// setSourceViewerConfiguration();
-		updateSourceViewerConfiguration();
-		// (nsd) we never change it, so why null it out?
-		// else {
-		// super.setPreferenceStore(null);
-		// }
-		createModelDependentFields();
-		computeAndSetDoubleClickAction(getModel());
-	}
-
-	/**
-	 * Updates all content dependent actions.
-	 */
-	protected void updateContentDependentActions() {
-		super.updateContentDependentActions();
-		// super.updateContentDependentActions only updates
-		// the enable/disable
-		// state of all
-		// the content dependent actions.
-		// StructuredTextEditor's undo and redo actions
-		// have a detail label and
-		// description.
-		// They needed to be updated.
-		if (!fEditorDisposed)
-			updateMenuText();
-	}
-
-	/**
-	 * Updates/reinstalls QuickDiff
-	 */
-	private void updateDiffer() {
-		// workaround for bugzilla#56801
-		// updates/reinstalls QuickDiff because some QuickDiff info is lost
-		// when SourceViewer.setModel/setDocument is called
-
-		if (isChangeInformationShowing()) {
-			showChangeInformation(false);
-			removeDiffer();
-			showChangeInformation(true);
-		}
-	}
-
-	private void updateEncodingMemento() {
-		boolean failed = false;
-		IStructuredDocument doc = getModel().getStructuredDocument();
-		EncodingMemento memento = doc.getEncodingMemento();
-		IDocumentCharsetDetector detector = getModel().getModelHandler().getEncodingDetector();
-		if (memento != null && detector != null)
-			detector.set(doc);
-		try {
-			detector.getEncoding();
-		}
-		catch (IOException e) {
-			failed = true;
-		}
-		// be sure to use the new instance
-		// but only if no exception occurred.
-		// (we may find cases we need to do more error recover there)
-		// should be near impossible to get IOException from processing the
-		// *document*
-		if (!failed) {
-			doc.setEncodingMemento(memento);
-		}
-	}
-
-	/*
-	 * Update the hovering behavior depending on the preferences.
-	 */
-	private void updateHoverBehavior() {
-		SourceViewerConfiguration configuration = getSourceViewerConfiguration();
-		String[] types = configuration.getConfiguredContentTypes(getSourceViewer());
-
-		for (int i = 0; i < types.length; i++) {
-
-			String t = types[i];
-
-			ISourceViewer sourceViewer = getSourceViewer();
-			if (sourceViewer instanceof ITextViewerExtension2) {
-				// Remove existing hovers
-				((ITextViewerExtension2) sourceViewer).removeTextHovers(t);
-
-				int[] stateMasks = configuration.getConfiguredTextHoverStateMasks(getSourceViewer(), t);
-
-				if (stateMasks != null) {
-					for (int j = 0; j < stateMasks.length; j++) {
-						int stateMask = stateMasks[j];
-						ITextHover textHover = configuration.getTextHover(sourceViewer, t, stateMask);
-						((ITextViewerExtension2) sourceViewer).setTextHover(textHover, t, stateMask);
-					}
-				}
-				else {
-					ITextHover textHover = configuration.getTextHover(sourceViewer, t);
-					((ITextViewerExtension2) sourceViewer).setTextHover(textHover, t, ITextViewerExtension2.DEFAULT_HOVER_STATE_MASK);
-				}
-			}
-			else
-				sourceViewer.setTextHover(configuration.getTextHover(sourceViewer, t), t);
-		}
-	}
-
-
-	protected void updateMenuText() {
-		if (fStructuredModel != null && !fStructuredModel.isModelStateChanging() && getTextViewer().getTextWidget() != null) {
-			// performance: don't force an update of the action bars unless
-			// required as it is expensive
-			String previousUndoText = null;
-			String previousUndoDesc = null;
-			String previousRedoText = null;
-			String previousRedoDesc = null;
-			boolean updateActions = false;
-			IAction undoAction = getAction(ITextEditorActionConstants.UNDO);
-			IAction redoAction = getAction(ITextEditorActionConstants.REDO);
-			if (undoAction != null) {
-				previousUndoText = undoAction.getText();
-				previousUndoDesc = undoAction.getDescription();
-				updateActions = updateActions || previousUndoText == null || previousUndoDesc == null;
-				undoAction.setText(UNDO_ACTION_TEXT_DEFAULT);
-				undoAction.setDescription(UNDO_ACTION_DESC_DEFAULT);
-			}
-			if (redoAction != null) {
-				previousRedoText = redoAction.getText();
-				previousRedoDesc = redoAction.getDescription();
-				updateActions = updateActions || previousRedoText == null || previousRedoDesc == null;
-				redoAction.setText(REDO_ACTION_TEXT_DEFAULT);
-				redoAction.setDescription(REDO_ACTION_DESC_DEFAULT);
-			}
-			if (fStructuredModel.getUndoManager() != null) {
-				IStructuredTextUndoManager undoManager = fStructuredModel.getUndoManager();
-				// get undo command
-				Command undoCommand = undoManager.getUndoCommand();
-				// set undo label and description
-				undoAction.setEnabled(undoManager.undoable());
-				if (undoCommand != null) {
-					String label = undoCommand.getLabel();
-					if (label != null) {
-						String customText = MessageFormat.format(UNDO_ACTION_TEXT, new String[]{label});
-						updateActions = updateActions || customText == null || previousUndoText == null || !customText.equals(previousUndoText);
-						undoAction.setText(customText);
-					}
-					String desc = undoCommand.getDescription();
-					if (desc != null) {
-						String customDesc = MessageFormat.format(UNDO_ACTION_DESC, new String[]{desc});
-						updateActions = updateActions || customDesc == null || previousRedoDesc == null || !customDesc.equals(previousUndoDesc);
-						undoAction.setDescription(customDesc);
-					}
-				}
-				// get redo command
-				Command redoCommand = undoManager.getRedoCommand();
-				// set redo label and description
-				redoAction.setEnabled(undoManager.redoable());
-				if (redoCommand != null) {
-					String label = redoCommand.getLabel();
-					if (label != null) {
-						String customText = MessageFormat.format(REDO_ACTION_TEXT, new String[]{label});
-						updateActions = updateActions || customText == null || previousRedoText == null || !customText.equals(previousRedoText);
-						redoAction.setText(customText);
-					}
-					String desc = redoCommand.getDescription();
-					if (desc != null) {
-						String customDesc = MessageFormat.format(REDO_ACTION_DESC, new String[]{desc});
-						updateActions = updateActions || customDesc == null || previousRedoDesc == null || !customDesc.equals(previousRedoDesc);
-						redoAction.setDescription(customDesc);
-					}
-				}
-			}
-			// tell the action bars to update
-			if (updateActions) {
-				if (getEditorSite().getActionBars() != null) {
-					getEditorSite().getActionBars().updateActionBars();
-				}
-				else if (getEditorPart() != null && getEditorPart().getEditorSite().getActionBars() != null) {
-					getEditorPart().getEditorSite().getActionBars().updateActionBars();
-				}
-			}
-		}
-	}
-
-	protected void updateSourceViewerConfiguration() {
-		SourceViewerConfiguration configuration = getSourceViewerConfiguration();
-		// no need to update source viewer configuration if one does not exist
-		// yet
-		if (configuration == null) {
-			return;
-		}
-
-		// structuredtextviewer only works with
-		// structuredtextviewerconfiguration
-		if (!(configuration instanceof StructuredTextViewerConfiguration)) {
-			configuration = createSourceViewerConfiguration();
-			setSourceViewerConfiguration(configuration);
-		}
-		else {
-			StructuredTextViewerConfiguration newViewerConfiguration = createSourceViewerConfiguration();
-			if (!((StructuredTextViewerConfiguration) configuration).getDeclaringID().equals(newViewerConfiguration.getDeclaringID())) {
-				// d282894 use newViewerConfiguration
-				configuration = newViewerConfiguration;
-				setSourceViewerConfiguration(configuration);
-			}
-
-			// update the configuration's resource
-			IResource resource = null;
-			if (getEditorInput() instanceof IFileEditorInput) {
-				resource = ((IFileEditorInput) getEditorInput()).getFile();
-				if (resource.getType() != IResource.PROJECT)
-					resource = resource.getProject();
-				((StructuredTextViewerConfiguration) configuration).configureOn(resource);
-			}
-		}
-
-		if (getSourceViewer() != null) {
-			getSourceViewer().configure(configuration);
-			IAction contentAssistAction = getAction(StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_PROPOSALS);
-			if (contentAssistAction instanceof IUpdate) {
-				((IUpdate) contentAssistAction).update();
-			}
-			IAction openHyperlinkAction = getAction(StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE);
-			if (openHyperlinkAction instanceof OpenHyperlinkAction) {
-				((OpenHyperlinkAction) openHyperlinkAction).setHyperlinkDetectors(getSourceViewerConfiguration().getHyperlinkDetectors(getSourceViewer()));
-			}
-		}
-		// eventually will replace above with something
-		// like what follows
-		// it, but some of our "processors" require too
-		// much initialization
-		// during configuration.
-		// SourceViewerConfiguration configuration =
-		// getSourceViewerConfiguration();
-		//
-		// // should always be an instance of our special
-		// configuration, but
-		// just in case
-		// // not, we'll do nothing if it isn't.
-		// if (configuration!= null && configuration
-		// instanceof
-		// StructuredTextViewerConfiguration) {
-		//
-		// IResource resource = null;
-		// if (getEditorInput() instanceof
-		// IFileEditorInput) {
-		// resource = ((IFileEditorInput)
-		// getEditorInput()).getFile();
-		// if (resource.getType() != IResource.PROJECT)
-		// resource = resource.getProject();
-		// // note: configureOn is responsible for updating
-		// what ever
-		// // in our configuration is sensitive to resource
-		// ((StructuredTextViewerConfiguration)
-		// configuration).configureOn(resource);
-		// }
-		//
-		// }
-	}
-
-	protected void updateStatusField(String category) {
-		super.updateStatusField(category);
-
-		if (category == null)
-			return;
-
-		if (StructuredTextEditorActionConstants.STATUS_CATEGORY_OFFSET.equals(category)) {
-			IStatusField field = getStatusField(category);
-			if (field != null) {
-				Point selection = getTextViewer().getTextWidget().getSelection();
-				int offset1 = widgetOffset2ModelOffset(getSourceViewer(), selection.x);
-				int offset2 = widgetOffset2ModelOffset(getSourceViewer(), selection.y);
-				String text = null;
-				if (offset1 != offset2)
-					text = "[" + offset1 + "-" + offset2 + "]";
-				else
-					text = "[ " + offset1 + " ]";
-				field.setText(text == null ? fErrorLabel : text);
-			}
-		}
-	}
-
-	/**
-	 * @deprecated - will be removed in M4
-	 * Use getDocumentProvider and IDocumentProviderExtension instead
-	 */
-	public IStatus validateEdit(Shell context) {
-		IStatus status = STATUS_OK;
-		IEditorInput input = getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			if (input == null) {
-				String msg = SSEUIPlugin.getResourceString("%Error_opening_file_UI_"); //$NON-NLS-1$
-				status = new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.INFO, msg, null);
-			}
-			else {
-				validateState(input);
-				sanityCheckState(input);
-				if (isEditorInputReadOnly()) {
-					String fname = input.getName();
-					if (input instanceof IStorageEditorInput) {
-						try {
-							IStorage s = ((IStorageEditorInput) input).getStorage();
-							if (s != null) {
-								IPath path = s.getFullPath();
-								if (path != null) {
-									fname += path.toString();
-								}
-								else {
-									fname += s.getName();
-								}
-							}
-						}
-						catch (CoreException e) { // IStorage is just for
-							// file name,
-							// and it's an optional,
-							// therefore
-							// it is safe to ignore this
-							// exception.
-						}
-					}
-					String msg = SSEUIPlugin.getResourceString("%_UI_File_is_read_only", new Object[]{fname}); //$NON-NLS-1$ = "File {0}is read-only."
-					status = new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.INFO, msg, null);
-				}
-			}
-		}
-		return status;
-	}
-
-	protected void validateState(IEditorInput input) {
-		IDocumentProvider provider = getDocumentProvider();
-		if (provider instanceof IDocumentProviderExtension) {
-			IDocumentProviderExtension extension = (IDocumentProviderExtension) provider;
-			try {
-				boolean wasReadOnly = isEditorInputReadOnly();
-				extension.validateState(input, getSite().getShell());
-				if (getSourceViewer() != null)
-					getSourceViewer().setEditable(isEditable());
-				if (wasReadOnly != isEditorInputReadOnly())
-					updateStateDependentActions();
-			}
-			catch (CoreException x) {
-				ILog log = Platform.getLog(Platform.getBundle(PlatformUI.PLUGIN_ID));
-				log.log(x.getStatus());
-				statusError(x.getStatus());
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextReconciler.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextReconciler.java
deleted file mode 100644
index 99dee64..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextReconciler.java
+++ /dev/null
@@ -1,890 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.ITextInputListener;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension;
-import org.eclipse.jface.text.reconciler.Reconciler;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.wst.sse.core.IModelLifecycleListener;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelLifecycleEvent;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.reconcile.AbstractStructuredTextReconcilingStrategy;
-import org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy;
-import org.eclipse.wst.sse.ui.util.Assert;
-
-
-/**
- * Reconciler that maps different partitions to different strategies.
- * Strategies contain one or more Steps Steps contain code that validates
- * dirty regions
- * 
- * Is aware of StructuredDocumentEvents which determine if a reconcile should
- * be done or not. On partition change events in the document, all strategies
- * are called.
- * 
- * @deprecated
- * 
- * @author pavery
- */
-public class StructuredTextReconciler extends Reconciler implements IStructuredDocumentListener, IModelLifecycleListener {
-
-	/**
-	 * Reconclies the entire document when the document in the viewer is
-	 * changed. This happens when the document is initially opened, as well as
-	 * after a save-as.
-	 * 
-	 * Also see processPostModelEvent(...) for similar behavior when document
-	 * for the model is changed.
-	 */
-	private class SourceTextInputListener implements ITextInputListener {
-
-		public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
-			// do nothing
-		}
-
-		public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
-
-			// don't bother if reconciler not installed
-			if (isInstalled()) {
-				setDocument(newInput);
-				setDocumentOnAllStrategies(newInput);
-				setEntireDocumentDirty(newInput);
-			}
-		}
-	}
-
-	/**
-	 * Cancels any running reconcile operations via progress monitor. Ensures
-	 * that strategies are released on close of the editor.
-	 */
-	private class SourceWidgetDisposeListener implements DisposeListener {
-
-		public void widgetDisposed(DisposeEvent e) {
-
-			getLocalProgressMonitor().setCanceled(true);
-
-			// release all strategies
-			if (fDefaultStrategy != null && fDefaultStrategy instanceof IReleasable) {
-				((IReleasable) fDefaultStrategy).release();
-				fDefaultStrategy = null;
-			}
-			if (!fStrategyTypes.isEmpty()) {
-				Iterator it = fStrategyTypes.iterator();
-				IReconcilingStrategy strategy = null;
-				while (it.hasNext()) {
-					strategy = getReconcilingStrategy((String) it.next());
-					if (strategy instanceof IReleasable) {
-						((IReleasable) strategy).release();
-						strategy = null;
-					}
-				}
-			}
-		}
-	}
-
-	public static final String TRACE_FILTER = "reconciler"; //$NON-NLS-1$
-
-	/** strategy called for unmapped partitions */
-	IReconcilingStrategy fDefaultStrategy;
-
-	/** to cancel any long running reconciles if someone closes the editor */
-	private SourceWidgetDisposeListener fDisposeListener = null;
-
-	/**
-	 * set true after first install to prevent duplicate work done in the
-	 * install method (since install gets called multiple times)
-	 */
-	private boolean fIsInstalled = false;
-
-	/** local queue of dirty regions (created here) to be reconciled */
-	private List fLocalDirtyRegionQueue = null;
-
-	/** document that this reconciler works on */
-	private IDocument fLocalDocument = null;
-
-	// use our own local for now until we resolve abstract calling it on every
-	// document change
-	// resulting in some of our strategies getting cut short and not
-	// adding/removing annotations correctly
-	private IProgressMonitor fLocalProgressMonitor = null;
-
-	/** local copy of model manager */
-	private IModelManager fModelManager = null;
-
-	/** the list of partition types for which there are strategies */
-	List fStrategyTypes = null;
-
-	/** for initital reconcile when document is opened */
-	private SourceTextInputListener fTextInputListener = null;
-
-	/** flag set via structured document events */
-	private boolean fValidationNeeded = false;
-
-	/**
-	 * the strategy that runs validators contributed via reconcileValidator
-	 * ext point
-	 */
-	private ValidatorStrategy fValidatorStrategy;
-
-	/**
-	 * Creates a new StructuredRegionProcessor
-	 */
-	public StructuredTextReconciler() {
-		super();
-		configure();
-	}
-
-	/**
-	 * This method reduces the dirty region queue to the least common dirty
-	 * region. (the region that overlaps all dirty regions)
-	 * 
-	 * @return a condensed DirtyRegion representing all that was in the queue
-	 *         at the time this was called, or <code>null</code> if the
-	 *         queue is empty
-	 */
-	private DirtyRegion compactDirtyRegionQueue() {
-
-		DirtyRegion result = null;
-		StringBuffer traceInfo = new StringBuffer();
-		if (Logger.isTracing(TRACE_FILTER))
-			traceInfo.append("[reconciler] COMPACTING STARTING... localDirtyRegionQueue.size():" + fLocalDirtyRegionQueue.size()); //$NON-NLS-1$
-
-		if (fLocalDirtyRegionQueue.size() == 1)
-			return (DirtyRegion) fLocalDirtyRegionQueue.remove(0);
-
-		if (!fLocalDirtyRegionQueue.isEmpty()) {
-			result = formNewDirtyRegion(traceInfo);
-		}
-
-		return result;
-	}
-
-	private void configure() {
-		fStrategyTypes = new ArrayList();
-
-		// we are always incremental
-		setIsIncrementalReconciler(true);
-		setDelay(500);
-		// setProgressMonitor(new NullProgressMonitor());
-		setLocalProgressMonitor(new NullProgressMonitor());
-		fDisposeListener = new SourceWidgetDisposeListener();
-		fTextInputListener = new SourceTextInputListener();
-		fLocalDirtyRegionQueue = new ArrayList();
-	}
-
-	private DirtyRegion createDirtyRegion(int offset, int length, String type) {
-		DirtyRegion durty = null;
-		IDocument doc = getDocument();
-		// safety for BLE
-		int docLen = doc.getLength();
-		if (offset + length > docLen)
-			length = docLen - offset;
-
-		if (doc != null) {
-			try {
-				durty = new DirtyRegion(offset, length, type, doc.get(offset, length));
-			}
-			catch (BadLocationException e) {
-				e.printStackTrace();
-			}
-		}
-		return durty;
-	}
-
-	private DirtyRegion createDirtyRegion(ITypedRegion tr, String type) {
-		return createDirtyRegion(tr.getOffset(), tr.getLength(), type);
-	}
-
-	private DirtyRegion formNewDirtyRegion(StringBuffer traceInfo) {
-		DirtyRegion result;
-		int min = -1;
-		int max = -1;
-		DirtyRegion dr = null;
-		for (int i = 0; i < fLocalDirtyRegionQueue.size(); i++) {
-			dr = (DirtyRegion) fLocalDirtyRegionQueue.get(i);
-			if (dr == null)
-				continue;
-
-			if (Logger.isTracing(TRACE_FILTER))
-				traceInfo.append("\r\n\r\n -> compacting dirty region (" + i + ")" + " start:" + dr.getOffset() + " length:" + dr.getLength()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
-			// possibly expand the dirty region start
-			if (min == -1 || min > dr.getOffset())
-				min = dr.getOffset();
-			// possibly expand the dirty region end
-			if (max == -1 || max < dr.getOffset() + dr.getLength())
-				max = dr.getOffset() + dr.getLength();
-		}
-		fLocalDirtyRegionQueue.clear();
-		result = (min != -1) ? createDirtyRegion(min, max - min, DirtyRegion.INSERT) : null;
-
-		if (Logger.isTracing(TRACE_FILTER)) {
-			traceInfo.append("\r\n\r\nCOMPACTING DONE... dirtyRangeStart:" + min + " dirtyRangeEnd:" + max + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			Logger.trace(TRACE_FILTER, traceInfo.toString());
-		}
-		return result;
-	}
-
-	/**
-	 * Gets a strategy that is made to handle the given dirtyRegion.
-	 * 
-	 * @param dirtyRegion
-	 * @return a strategy that is made to handle the given dirtyRegion, or the
-	 *         default strategy for this reconciler if there isn't one
-	 */
-	protected IReconcilingStrategy getAppropriateStrategy(DirtyRegion dirtyRegion) {
-		String[] partitions = getPartitions(dirtyRegion);
-		// for now just grab first partition type in dirty region
-		IReconcilingStrategy rs = null;
-		if (partitions.length > 0)
-			rs = getReconcilingStrategy(partitions[0]);
-		return rs != null ? rs : fDefaultStrategy;
-	}
-
-	/**
-	 * Gets the default strategy for this reconciler.
-	 * 
-	 * @return the default strategy
-	 */
-	protected IReconcilingStrategy getDefaultStrategy() {
-		return fDefaultStrategy;
-	}
-
-	/**
-	 * We use our own local progress monitor to cancel long running
-	 * strategies/steps. Currently used when widget is disposed (user is
-	 * trying to close the editor), and on uninstall.
-	 * 
-	 * @return the local progress monitor
-	 */
-	IProgressMonitor getLocalProgressMonitor() {
-		return fLocalProgressMonitor;
-	}
-
-	/**
-	 * Avoid excessive calls to Platform.getPlugin(ModelPlugin.ID)
-	 * 
-	 * @return sse model manager
-	 */
-	protected IModelManager getModelManager() {
-		if (this.fModelManager == null)
-			this.fModelManager = StructuredModelManager.getModelManager();
-		return this.fModelManager;
-	}
-
-	/**
-	 * @deprecated - does not use correct partitioning assumes isInstalled() ==
-	 *             true
-	 * 
-	 * @return the document partitioner for the document this reconciler is
-	 *         working on.
-	 */
-	protected IDocumentPartitioner getPartitioner() {
-		return getDocument().getDocumentPartitioner();
-	}
-
-	/**
-	 * Utility method to get partitions types in a dirty region
-	 * 
-	 * @param dirtyRegion
-	 * @return
-	 */
-	protected String[] getPartitions(DirtyRegion dirtyRegion) {
-		ITypedRegion[] partitions = null;
-		try {
-			partitions = TextUtilities.computePartitioning(getDocument(), getDocumentPartitioning(), dirtyRegion.getOffset(), dirtyRegion.getLength(), false);
-		}
-		catch (BadLocationException e) {
-			partitions = getPartitioner().computePartitioning(dirtyRegion.getOffset(), dirtyRegion.getLength());
-		}
-		String[] partitionTypes = new String[partitions.length];
-		for (int i = 0; i < partitions.length; i++)
-			partitionTypes[i] = partitions[i].getType();
-		return partitionTypes;
-	}
-
-	/**
-	 * @deprecated - promotes model leakage
-	 * 
-	 * Remember to release model after use!!
-	 * 
-	 * @return
-	 */
-	public IStructuredModel getStructuredModelForRead(IDocument doc) {
-		IStructuredModel sModel = null;
-		if (doc != null)
-			sModel = getModelManager().getExistingModelForRead(doc);
-		return sModel;
-	}
-
-	/**
-	 * Get the strategy that runs validators from the reconcileValidator
-	 * extension point.
-	 * 
-	 * @param the
-	 *            ValidatorStrategy
-	 */
-	public ValidatorStrategy getValidatorStrategy() {
-		return fValidatorStrategy;
-	}
-
-
-
-	/**
-	 * @param document
-	 */
-	private void hookUpModelLifecycleListener(IDocument document) {
-		IStructuredModel sModel = getModelManager().getExistingModelForRead(document);
-		try {
-			if (sModel != null) {
-				sModel.addModelLifecycleListener(this);
-			}
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-	}
-
-	protected void initialProcess() {
-		// only happens ONCE on first dirty region in queue (not on doucment
-		// open)
-		// not useful to us at the moment
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.reconciler.IReconciler#install(ITextViewer)
-	 */
-	public void install(ITextViewer textViewer) {
-		// we might be called multiple times with the same viewer,
-		// maybe after being uninstalled as well, so track separately
-		if (!isInstalled()) {
-
-			super.install(textViewer);
-
-			textViewer.getTextWidget().addDisposeListener(fDisposeListener);
-			textViewer.addTextInputListener(fTextInputListener);
-
-			getLocalProgressMonitor().setCanceled(false);
-
-			setInstalled(true);
-			setValidationNeeded(true);
-		}
-	}
-
-	/**
-	 * @param dirtyRegion
-	 * @return
-	 */
-	private boolean isEntireDocumentChange(DirtyRegion dirtyRegion) {
-		return getDocument().getLength() == dirtyRegion.getLength();
-	}
-
-	/**
-	 * The viewer has been set on this Reconciler.
-	 * 
-	 * @return true if the viewer has been set on this Reconciler, false
-	 *         otherwise.
-	 */
-	public boolean isInstalled() {
-		return fIsInstalled;
-	}
-
-	/**
-	 * @return Returns the needsValidation.
-	 */
-	public boolean isValidationNeeded() {
-		return fValidationNeeded;
-	}
-
-	public void newModel(NewDocumentEvent structuredDocumentEvent) {
-		// do nothing
-	}
-
-	public void noChange(NoChangeEvent structuredDocumentEvent) {
-		// do nothing
-	}
-
-	public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] >StructuredRegionProcessor: *NODES REPLACED"); //$NON-NLS-1$
-
-		// if partition changed, create a full document dirty region
-		// (causes processAll)
-		DirtyRegion dr = partitionChanged(structuredDocumentEvent) ? createDirtyRegion(0, getDocument().getLength(), DirtyRegion.INSERT) : createDirtyRegion(structuredDocumentEvent.getOriginalStart(), structuredDocumentEvent.getLength(), DirtyRegion.INSERT);
-		fLocalDirtyRegionQueue.add(dr);
-
-		setValidationNeeded(true);
-	}
-
-	/**
-	 * Checks if the StructuredDocumentEvent involved a partition change. If
-	 * there's a partition change, we know we should run all strategies just
-	 * to be sure we cover the new regions and remove obsolete annotations.
-	 * 
-	 * A primitive check for now.
-	 * 
-	 * @param structuredDocumentEvent
-	 * @return
-	 */
-	private boolean partitionChanged(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-		boolean changed = false;
-
-		IDocumentPartitioner partitioner = structuredDocumentEvent.getStructuredDocument().getDocumentPartitioner();
-		if (partitioner != null) {
-			IStructuredDocumentRegionList oldNodes = structuredDocumentEvent.getOldStructuredDocumentRegions();
-			IStructuredDocumentRegionList newNodes = structuredDocumentEvent.getNewStructuredDocumentRegions();
-
-			IStructuredDocumentRegion oldNode = (oldNodes.getLength() > 0) ? oldNode = oldNodes.item(0) : null;
-			IStructuredDocumentRegion newNode = (newNodes.getLength() > 0) ? newNodes.item(0) : null;
-
-			if (oldNode != null && newNode != null)
-				changed = partitioner.getContentType(oldNode.getStartOffset()).equals(partitioner.getContentType(newNode.getStartOffset()));
-		}
-		return changed;
-	}
-
-	/**
-	 * We keep a local copy of the dirty region queue for compacting.
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.AbstractReconciler#process(org.eclipse.jface.text.reconciler.DirtyRegion)
-	 */
-	protected void process(DirtyRegion dirtyRegion) {
-		// this is called from the background thread in AbstractReconciler
-		// called here so that it only kick off after .5 seconds
-		// but fNeedsValidation flag is set in structuredDoucmentsEvents below
-		if (isInstalled()) {
-			runStrategies();
-		}
-	}
-
-	/**
-	 * Process the entire StructuredDocument. Much more resource intensive
-	 * than simply running a strategy on a dirty region.
-	 */
-	protected void processAll() {
-		if (!isInstalled())
-			return;
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] >StructuredRegionProcessor: PROCESSING ALL"); //$NON-NLS-1$
-		IDocument doc = getDocument();
-		DirtyRegion durty = null;
-
-		ITypedRegion tr[] = new ITypedRegion[0];
-		try {
-			tr = TextUtilities.computePartitioning(doc, getDocumentPartitioning(), 0, doc.getLength(), true);
-		}
-		catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-
-		IReconcilingStrategy s = null;
-		for (int i = 0; i < tr.length; i++) {
-			durty = createDirtyRegion(tr[i], DirtyRegion.INSERT);
-			s = getReconcilingStrategy(tr[i].getType());
-			if (s != null) {
-				if (s instanceof AbstractStructuredTextReconcilingStrategy)
-					((AbstractStructuredTextReconcilingStrategy) s).reconcile(durty, durty);
-				else
-					s.reconcile(durty, durty);
-			}
-			// run validator strategy every time, it figures out if it has
-			// a
-			// validator for this partition
-			// pass in true for "refreshAll" flag = true indicating that
-			// the
-			// entire document is being reconciled, only do it once
-			if (fValidatorStrategy != null)
-				fValidatorStrategy.reconcile(tr[i], durty);
-
-		}
-		// we ran the whole doc already now we can reset the strategies
-		resetStrategies();
-	}
-
-	/**
-	 * Process a subsection of the document.
-	 */
-	protected void processPartial(DirtyRegion durty) {
-		if (!isInstalled())
-			return;
-		IDocument doc = getDocument();
-		HashSet alreadyRan = new HashSet();
-
-		ITypedRegion tr[] = new ITypedRegion[0];
-		try {
-			tr = TextUtilities.computePartitioning(doc, getDocumentPartitioning(), 0, doc.getLength(), true);
-		}
-		catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-
-		IReconcilingStrategy s = null;
-		for (int i = 0; i < tr.length; i++) {
-			durty = createDirtyRegion(tr[i], DirtyRegion.INSERT);
-			// keeping track of already ran might not be the way to do
-			// it...
-			if (!alreadyRan.contains(tr[i].getType())) {
-				alreadyRan.add(tr[i].getType());
-				s = getReconcilingStrategy(tr[i].getType());
-				if (s != null)
-					s.reconcile(durty, durty);
-			}
-			// run validator strategy every time, it figures out if it has
-			// a
-			// validator for this parition
-			if (fValidatorStrategy != null)
-				fValidatorStrategy.reconcile(tr[i], durty);
-		}
-
-		resetStrategies();
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.core.IModelLifecycleListener#processPostModelEvent(org.eclipse.wst.sse.core.ModelLifecycleEvent)
-	 */
-	public void processPostModelEvent(ModelLifecycleEvent event) {
-
-		// if underlying StructuredDocument changed, need to reconnect it
-		// here...
-		// ex. file is modified outside the workbench
-		if (event.getType() == ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED) {
-
-			// check that it's this model that changed
-			IStructuredModel thisModel = getModelManager().getExistingModelForRead(getDocument());
-			try {
-				if (thisModel != null && event.getModel().equals(thisModel)) {
-
-					IStructuredDocument sDoc = event.getModel().getStructuredDocument();
-
-					if (Logger.isTracing(TRACE_FILTER)) {
-						System.out.println("======================================================"); //$NON-NLS-1$
-						System.out.println("StructuredRegionProcessor: DOCUMENT MODEL CHANGED TO: "); //$NON-NLS-1$
-						System.out.println(sDoc.get());
-						System.out.println("======================================================"); //$NON-NLS-1$
-					}
-					setDocument(sDoc);
-
-					// propagate document change
-					setDocumentOnAllStrategies(sDoc);
-
-					// ensure that the document is re-reconciled
-					setEntireDocumentDirty(sDoc);
-				}
-			}
-			finally {
-				if (thisModel != null)
-					thisModel.releaseFromRead();
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.core.IModelLifecycleListener#processPreModelEvent(org.eclipse.wst.sse.core.ModelLifecycleEvent)
-	 */
-	public void processPreModelEvent(ModelLifecycleEvent event) {
-
-		if (event.getType() == ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED) {
-
-			// clear the dirty region queue
-			fLocalDirtyRegionQueue.clear();
-
-			// note: old annotations are removed via the strategies on
-			// AbstractStructuredTextReconcilingStrategy#setDocument(...)
-		}
-	}
-
-	/**
-	 * Reinitializes listeners and sets new document onall strategies.
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.AbstractReconciler#reconcilerDocumentChanged(IDocument)
-	 */
-	protected void reconcilerDocumentChanged(IDocument document) {
-
-		// unhook old lifecycle listner
-		unhookModelLifecycleListener(fLocalDocument);
-
-		// add new lifecycle listener
-		hookUpModelLifecycleListener(document);
-
-		if (fLocalDocument != null && fLocalDocument instanceof IStructuredDocument)
-			((IStructuredDocument) fLocalDocument).removeDocumentChangedListener(this);
-
-		setDocument(document);
-
-		if (document != null && document instanceof IStructuredDocument)
-			((IStructuredDocument) fLocalDocument).addDocumentChangedListener(this);
-
-		setDocumentOnAllStrategies(document);
-	}
-
-	public void regionChanged(RegionChangedEvent structuredDocumentEvent) {
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] >StructuredRegionProcessor: *REGION CHANGED: \r\n\r\n created dirty region from flat model event >> :" + structuredDocumentEvent.getOriginalStart() + ":" + structuredDocumentEvent.getLength() + "\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		String dirtyRegionType = structuredDocumentEvent.getDeletedText().equals("") ? DirtyRegion.INSERT : DirtyRegion.REMOVE; //$NON-NLS-1$
-		DirtyRegion dr = createDirtyRegion(structuredDocumentEvent.getOriginalStart(), structuredDocumentEvent.getLength(), dirtyRegionType);
-
-		fLocalDirtyRegionQueue.add(dr);
-
-		setValidationNeeded(true);
-	}
-
-	public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) {
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] >StructuredRegionProcessor: *REGIONS REPLACED: \r\n\r\n created dirty region from flat model event >> :" + structuredDocumentEvent.getOriginalStart() + ":" + structuredDocumentEvent.getLength() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		DirtyRegion dr = createDirtyRegion(structuredDocumentEvent.getOriginalStart(), structuredDocumentEvent.getLength(), DirtyRegion.INSERT);
-		fLocalDirtyRegionQueue.add(dr);
-
-		setValidationNeeded(true);
-	}
-
-	/**
-	 * Resets any flags that were set (eg. flags set during processAll())
-	 */
-	protected void resetStrategies() {
-//		Iterator it = fStrategyTypes.iterator();
-//		String type = null;
-//		while (it.hasNext()) {
-//			type = (String) it.next();
-//			if (getReconcilingStrategy(type) instanceof AbstractStructuredTextReconcilingStrategy)
-//				((AbstractStructuredTextReconcilingStrategy) getReconcilingStrategy(type)).reset();
-//		}
-	}
-
-	/**
-	 * Runs the appropriate strategies on the dirty region queue. The
-	 * reconciler currently handles these reconciling scenarios:
-	 * 
-	 * <ul>
-	 * <li>partition change</li>
-	 * <li>routine text edits</li>
-	 * <li>entire document change</li>
-	 * <li>the default strategy</li>
-	 * </ul>
-	 * 
-	 */
-	private void runStrategies() {
-		DirtyRegion dirtyRegion = null;
-		while (fDefaultStrategy != null && isInstalled() && isValidationNeeded()) {
-			// this flag may be set to true if more dirty regions come in
-			// while this method is running
-			setValidationNeeded(false);
-			Logger.trace(TRACE_FILTER, "start RUNNING STRATEGIES IN RECONCILER"); //$NON-NLS-1$
-			dirtyRegion = compactDirtyRegionQueue();
-			// will be null if there is nothing in the queue
-			if (dirtyRegion != null) {
-				Logger.trace(TRACE_FILTER, "RUNNING with dirty region:" + dirtyRegion.getOffset() + ":" + dirtyRegion.getLength()); //$NON-NLS-1$ //$NON-NLS-2$
-				try {
-					if (isEntireDocumentChange(dirtyRegion))
-						processAll();
-					else
-						processPartial(dirtyRegion);
-				}
-				catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-
-	/**
-	 * Sets the default reconciling strategy.
-	 * 
-	 * @param strategy
-	 */
-	public void setDefaultStrategy(IReconcilingStrategy strategy) {
-		Assert.isNotNull(strategy, "Can't set default strategy to null"); //$NON-NLS-1$
-
-		fDefaultStrategy = strategy;
-		fDefaultStrategy.setDocument(getDocument());
-		if (fDefaultStrategy instanceof IReconcilingStrategyExtension)
-			((IReconcilingStrategyExtension) fDefaultStrategy).setProgressMonitor(getLocalProgressMonitor());
-	}
-
-
-	public void setDocument(IDocument doc) {
-		// making sure local document is always up to date
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3858
-		fLocalDocument = doc;
-		setDocumentOnAllStrategies(doc);
-	}
-
-	/**
-	 * Propagates a new document to all strategies and steps.
-	 * 
-	 * @param document
-	 */
-	protected void setDocumentOnAllStrategies(IDocument document) {
-		if (isInstalled()) {
-			// default strategies
-			if (fDefaultStrategy != null)
-				fDefaultStrategy.setDocument(document);
-
-			// external validator strategy
-			if (fValidatorStrategy != null)
-				fValidatorStrategy.setDocument(document);
-
-			// set document on all regular strategies
-			super.reconcilerDocumentChanged(document);
-		}
-	}
-
-	protected void setEntireDocumentDirty(IDocument document) {
-
-		// make the entire document dirty
-		// this also happens on a "save as"
-		if (document != null && isInstalled() && fLocalDirtyRegionQueue.size() == 0) {
-
-			// since we're marking the entire doc dirty
-			fLocalDirtyRegionQueue.clear();
-
-			DirtyRegion entireDocument = createDirtyRegion(0, document.getLength(), DirtyRegion.INSERT);
-			fLocalDirtyRegionQueue.add(entireDocument);
-
-			// set this so reconcile won't be "short circuited"
-			setValidationNeeded(true);
-		}
-	}
-
-	/**
-	 * @param isInstalled
-	 *            The isInstalled to set.
-	 */
-	public void setInstalled(boolean isInstalled) {
-		fIsInstalled = isInstalled;
-	}
-
-	private void setLocalProgressMonitor(IProgressMonitor pm) {
-		fLocalProgressMonitor = pm;
-		// set on default strategy
-		if (fDefaultStrategy != null && fDefaultStrategy instanceof IReconcilingStrategyExtension)
-			((IReconcilingStrategyExtension) fDefaultStrategy).setProgressMonitor(pm);
-		// set on all other strategies
-		if (!fStrategyTypes.isEmpty()) {
-			Iterator it = fStrategyTypes.iterator();
-			String type = null;
-			while (it.hasNext()) {
-				type = (String) it.next();
-				if (getReconcilingStrategy(type) instanceof IReconcilingStrategyExtension)
-					((IReconcilingStrategyExtension) getReconcilingStrategy(type)).setProgressMonitor(pm);
-			}
-		}
-	}
-
-	/**
-	 * Sets the strategy for a given contentType (partitionType)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.Reconciler#setReconcilingStrategy(org.eclipse.jface.text.reconciler.IReconcilingStrategy,
-	 *      java.lang.String)
-	 */
-	public void setReconcilingStrategy(IReconcilingStrategy strategy, String contentType) {
-		super.setReconcilingStrategy(strategy, contentType);
-		if (strategy != null) {
-			strategy.setDocument(fLocalDocument);
-			if (strategy instanceof IReconcilingStrategyExtension) {
-				((IReconcilingStrategyExtension) strategy).setProgressMonitor(getLocalProgressMonitor());
-			}
-		}
-		fStrategyTypes.add(contentType);
-	}
-
-	/**
-	 * @param needsValidation
-	 *            The needsValidation to set.
-	 */
-	public void setValidationNeeded(boolean needsValidation) {
-		fValidationNeeded = needsValidation;
-	}
-
-	/**
-	 * Set the strategy that runs validators from the reconcileValidator
-	 * extension point.
-	 * 
-	 * @param the
-	 *            ValidatorStrategy
-	 */
-	public void setValidatorStrategy(ValidatorStrategy strategy) {
-		fValidatorStrategy = strategy;
-		if (fValidatorStrategy != null)
-			fValidatorStrategy.setDocument(getDocument());
-	}
-
-	/**
-	 * 
-	 * @param document
-	 */
-	private void unhookModelLifecycleListener(IDocument document) {
-		IStructuredModel sModel = getModelManager().getExistingModelForRead(document);
-		try {
-			if (sModel != null) {
-				sModel.removeModelLifecycleListener(this);
-			}
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-	}
-
-	/**
-	 * Cleanup listeners.
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconciler#uninstall()
-	 */
-	public void uninstall() {
-		setValidationNeeded(false);
-		if (isInstalled()) {
-			setInstalled(false);
-			// getProgressMonitor().setCanceled(true);
-			getLocalProgressMonitor().setCanceled(true);
-
-			getTextViewer().removeTextInputListener(fTextInputListener);
-
-			super.uninstall();
-		}
-		if (fLocalDocument != null && fLocalDocument instanceof IStructuredDocument) {
-			// remove structured document listener
-			((IStructuredDocument) fLocalDocument).removeDocumentChangedListener(this);
-			// remove lifecycle listener on the model
-			unhookModelLifecycleListener(fLocalDocument);
-		}
-		setDocument(null);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextSelectionChangedEvent.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextSelectionChangedEvent.java
deleted file mode 100644
index 87c3e35..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextSelectionChangedEvent.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-
-/**
- * This event is used by the SourceEditorTreeViewer to tell the
- * ViewerSelectionManager that the selection really came from a user click on
- * the content outliner, instead of being set programatically.
- */
-public class StructuredTextSelectionChangedEvent extends org.eclipse.jface.viewers.SelectionChangedEvent {
-
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-
-	public StructuredTextSelectionChangedEvent(ISelectionProvider source, ISelection selection) {
-		super(source, selection);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewer.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewer.java
deleted file mode 100644
index 681de43..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewer.java
+++ /dev/null
@@ -1,1157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IAutoEditStrategy;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentAdapter;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewerExtension2;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.formatter.FormattingContext;
-import org.eclipse.jface.text.formatter.FormattingContextProperties;
-import org.eclipse.jface.text.formatter.IContentFormatterExtension;
-import org.eclipse.jface.text.formatter.IFormattingContext;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.information.IInformationPresenter;
-import org.eclipse.jface.text.projection.ChildDocument;
-import org.eclipse.jface.text.projection.ProjectionDocument;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.IOverviewRuler;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.viewers.ContentViewer;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IEditorStatusLine;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.cleanup.StructuredContentCleanupHandler;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.undo.IDocumentSelectionMediator;
-import org.eclipse.wst.sse.core.undo.UndoDocumentEvent;
-import org.eclipse.wst.sse.ui.extension.IExtendedSimpleEditor;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.StructuredDocumentToTextAdapter;
-import org.eclipse.wst.sse.ui.internal.ViewerSelectionManagerImpl;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor;
-import org.eclipse.wst.sse.ui.style.IHighlighter;
-import org.eclipse.wst.sse.ui.util.PlatformStatusLineUtil;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-public class StructuredTextViewer extends SourceViewer implements INodeSelectionListener, IDoubleClickListener, IDocumentSelectionMediator {
-
-	/**
-	 * Internal verify listener.
-	 */
-	class TextVerifyListener implements VerifyListener {
-
-		/**
-		 * Indicates whether verify events are forwarded or ignored.
-		 * 
-		 * @since 2.0
-		 */
-		private boolean fForward = true;
-
-		/**
-		 * Tells the listener to forward received events.
-		 * 
-		 * @param forward
-		 *            <code>true</code> if forwarding should be enabled.
-		 * @since 2.0
-		 */
-		public void forward(boolean forward) {
-			fForward = forward;
-		}
-
-		/*
-		 * @see VerifyListener#verifyText(VerifyEvent)
-		 */
-		public void verifyText(VerifyEvent e) {
-			if (fForward) {
-				handleVerifyEvent(e);
-			}
-		}
-	}
-
-	/** Text operation codes */
-	public static final int CLEANUP_DOCUMENT = ISourceViewer.INFORMATION + 1;
-	public static final int FORMAT_ACTIVE_ELEMENTS = ISourceViewer.INFORMATION + 3;
-	private static final String FORMAT_ACTIVE_ELEMENTS_TEXT = SSEUIPlugin.getResourceString("%Format_Active_Elements_UI_"); //$NON-NLS-1$
-	public static final int FORMAT_DOCUMENT = ISourceViewer.INFORMATION + 2;
-
-	private static final String FORMAT_DOCUMENT_TEXT = SSEUIPlugin.getResourceString("%Format_Document_UI_"); //$NON-NLS-1$
-	public static final int QUICK_FIX = ISourceViewer.INFORMATION + 4;
-	private static final String TEXT_CUT = SSEUIPlugin.getResourceString("%Text_Cut_UI_"); //$NON-NLS-1$
-	private static final String TEXT_PASTE = SSEUIPlugin.getResourceString("%Text_Paste_UI_"); //$NON-NLS-1$
-	private static final String TEXT_SHIFT_LEFT = SSEUIPlugin.getResourceString("%Text_Shift_Left_UI_"); //$NON-NLS-1$ = "Text Shift Left"
-	private static final String TEXT_SHIFT_RIGHT = SSEUIPlugin.getResourceString("%Text_Shift_Right_UI_"); //$NON-NLS-1$ = "Text Shift Right"
-	private boolean fBackgroundupdateInProgress;
-	protected StructuredContentCleanupHandler fContentCleanupHandler = null;
-	protected IContentAssistant fCorrectionAssistant;
-	protected boolean fCorrectionAssistantInstalled;
-	private IDocumentAdapter fDocAdapter;
-	/**
-	 * TODO Temporary workaround for BUG44665
-	 */
-	/** The most recent widget modification as document command */
-	private StructuredDocumentCommand fDocumentCommand = new StructuredDocumentCommand();
-	private IHighlighter fHighlighter;
-	/**
-	 * @deprecated
-	 */
-	private IStructuredModel fModel;
-	// TODO: never read locally
-	boolean fRememberedStateContentAssistInstalled;
-
-	/**
-	 * TODO Temporary workaround for BUG44665
-	 */
-	/** Verify listener */
-	private TextVerifyListener fVerifyListener = new TextVerifyListener();
-
-	private ViewerSelectionManager fViewerSelectionManager;
-
-	/**
-	 * ModelViewer constructor comment.
-	 * 
-	 * @param parent
-	 *            org.eclipse.swt.widgets.Composite
-	 * @param ruler
-	 *            org.eclipse.jface.text.source.IVerticalRuler
-	 * @param styles
-	 *            int
-	 */
-	public StructuredTextViewer(Composite parent, IVerticalRuler verticalRuler, int styles) {
-
-		super(parent, verticalRuler, styles);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.source.SourceViewer#SourceViewer(Composite,
-	 *      IVerticalRuler, IOverviewRuler, boolean, int)
-	 */
-	public StructuredTextViewer(Composite parent, IVerticalRuler verticalRuler, IOverviewRuler overviewRuler, boolean showAnnotationsOverview, int styles) {
-
-		super(parent, verticalRuler, overviewRuler, showAnnotationsOverview, styles);
-	}
-
-	/**
-	 *  
-	 */
-	private void beep() {
-
-		getTextWidget().getDisplay().beep();
-	}
-
-	void beginBackgroundUpdate() {
-		fBackgroundupdateInProgress = true;
-		disableRedrawing();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextOperationTarget#canDoOperation(int)
-	 */
-	public boolean canDoOperation(int operation) {
-		if (fBackgroundupdateInProgress) {
-			return false;
-		}
-		switch (operation) {
-			case CONTENTASSIST_PROPOSALS : {
-				// (pa) if position isn't READ_ONLY (containsReadOnly()
-				// returns false),
-				// Otherwise, you DO want content assist (return true)
-				IDocument doc = getDocument();
-				if (doc != null && doc instanceof IStructuredDocument) {
-					return isEditable() && (!((IStructuredDocument) doc).containsReadOnly(getSelectedRange().x, 0));
-				}
-				break;
-			}
-			case CONTENTASSIST_CONTEXT_INFORMATION : {
-				return true;
-			}
-			case QUICK_FIX : {
-				return isEditable();
-			}
-			case INFORMATION : {
-				// the fInformationPresenter may not be set yet but you DO
-				// want information
-				// (this needs to be set to TRUE so menu item can become
-				// active)
-				return true;
-			}
-			case CLEANUP_DOCUMENT : {
-				return (fContentCleanupHandler != null && isEditable());
-			}
-			case FORMAT_DOCUMENT :
-			case FORMAT_ACTIVE_ELEMENTS : {
-				return (fContentFormatter != null && isEditable());
-			}
-		}
-		return super.canDoOperation(operation);
-	}
-
-	/**
-	 * Should be identical to superclass version. Also, we get the tab width
-	 * from the preference manager. Plus, we get our own special Highlighter.
-	 * Plus we uninstall before installing.
-	 */
-	public void configure(SourceViewerConfiguration configuration) {
-
-		if (getTextWidget() == null)
-			return;
-
-		setDocumentPartitioning(configuration.getConfiguredDocumentPartitioning(this));
-
-		if (configuration instanceof StructuredTextViewerConfiguration) {
-			if (fHighlighter != null) {
-				fHighlighter.uninstall();
-			}
-			fHighlighter = ((StructuredTextViewerConfiguration) configuration).getHighlighter(this);
-			fHighlighter.install(this);
-		}
-
-		// install content type independent plugins
-		if (fPresentationReconciler != null)
-			fPresentationReconciler.uninstall();
-		fPresentationReconciler = configuration.getPresentationReconciler(this);
-		if (fPresentationReconciler != null)
-			fPresentationReconciler.install(this);
-
-		IReconciler newReconciler = configuration.getReconciler(this);
-
-		if (newReconciler != fReconciler || newReconciler == null || fReconciler == null) {
-
-			if (fReconciler != null) {
-				fReconciler.uninstall();
-			}
-
-			fReconciler = newReconciler;
-
-			if (fReconciler != null) {
-				fReconciler.install(this);
-				// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3858
-				// still need set document on the reconciler (strategies)
-				((StructuredRegionProcessor) fReconciler).setDocument(getDocument());
-			}
-		}
-
-		if (fContentAssistant != null)
-			fContentAssistant.uninstall();
-		fContentAssistant = configuration.getContentAssistant(this);
-		if (fContentAssistant != null) {
-			fContentAssistant.install(this);
-			fContentAssistantInstalled = true;
-		} else {
-			// 248036
-			// disable the content assist operation if no content assistant
-			enableOperation(CONTENTASSIST_PROPOSALS, false);
-		}
-
-		// correction assistant
-		if (configuration instanceof StructuredTextViewerConfiguration) {
-			if (fCorrectionAssistant != null)
-				fCorrectionAssistant.uninstall();
-			fCorrectionAssistant = ((StructuredTextViewerConfiguration) configuration).getCorrectionAssistant(this);
-			if (fCorrectionAssistant != null) {
-				fCorrectionAssistant.install(this);
-				fCorrectionAssistantInstalled = true;
-			} else {
-				// disable the correction assist operation if no correction
-				// assistant
-				enableOperation(QUICK_FIX, false);
-			}
-		}
-
-		fContentFormatter = configuration.getContentFormatter(this);
-
-		// do not uninstall old information presenter if it's the same
-		IInformationPresenter newInformationPresenter = configuration.getInformationPresenter(this);
-		if (newInformationPresenter == null || fInformationPresenter == null || !(newInformationPresenter.equals(fInformationPresenter))) {
-			if (fInformationPresenter != null)
-				fInformationPresenter.uninstall();
-			fInformationPresenter = newInformationPresenter;
-			if (fInformationPresenter != null)
-				fInformationPresenter.install(this);
-		}
-
-		// disconnect from the old undo manager before setting the new one
-		if (fUndoManager != null) {
-			fUndoManager.disconnect();
-		}
-		setUndoManager(configuration.getUndoManager(this));
-
-		// TODO: compare with ?new? V2 configure re:
-		// 		getTextWidget().setTabs(configuration.getTabWidth(this));
-		// see if it can replace following
-		// Set tab width to configuration setting first.
-		// Then override if model type is XML or HTML.
-		getTextWidget().setTabs(configuration.getTabWidth(this));
-		setAnnotationHover(configuration.getAnnotationHover(this));
-		setOverviewRulerAnnotationHover(configuration.getOverviewRulerAnnotationHover(this));
-		// added for V2
-		setHoverControlCreator(configuration.getInformationControlCreator(this));
-		
-		// if hyperlink manager has already been created, uninstall it
-		if (fHyperlinkManager != null) {
-			setHyperlinkDetectors(null, SWT.NONE);
-		}
-		setHyperlinkPresenter(configuration.getHyperlinkPresenter(this));
-		IHyperlinkDetector[] hyperlinkDetectors= configuration.getHyperlinkDetectors(this);
-		int eventStateMask= configuration.getHyperlinkStateMask(this);
-		setHyperlinkDetectors(hyperlinkDetectors, eventStateMask);
-		
-		// install content type specific plugins
-		String[] types = configuration.getConfiguredContentTypes(this);
-
-		// clear autoindent/autoedit strategies
-		fAutoIndentStrategies = null;
-		for (int i = 0; i < types.length; i++) {
-			String t = types[i];
-			setAutoIndentStrategy(configuration.getAutoIndentStrategy(this, t), t);
-			setTextDoubleClickStrategy(configuration.getDoubleClickStrategy(this, t), t);
-
-			int[] stateMasks = configuration.getConfiguredTextHoverStateMasks(this, t);
-			if (stateMasks != null) {
-				for (int j = 0; j < stateMasks.length; j++) {
-					int stateMask = stateMasks[j];
-					setTextHover(configuration.getTextHover(this, t, stateMask), t, stateMask);
-				}
-			} else {
-				setTextHover(configuration.getTextHover(this, t), t, ITextViewerExtension2.DEFAULT_HOVER_STATE_MASK);
-			}
-
-			String[] prefixes = configuration.getIndentPrefixes(this, t);
-			if (prefixes != null && prefixes.length > 0)
-				setIndentPrefixes(prefixes, t);
-			// removed 'defaultPrefix' for Eclipse V2 replaced with
-			// defaultPrefixes
-			/*
-			 * String prefix = configuration.getDefaultPrefix(this, t); if
-			 * (prefix != null && prefix.length() > 0)
-			 * setDefaultPrefix(prefix, t);
-			 */
-			prefixes = configuration.getDefaultPrefixes(this, t);
-			if (prefixes != null && prefixes.length > 0)
-				setDefaultPrefixes(prefixes, t);
-		}
-		activatePlugins();
-
-		// do any StructuredTextViewer-specific configuration
-		if (configuration instanceof StructuredTextViewerConfiguration) {
-			Map autoEditStrategies = ((StructuredTextViewerConfiguration) configuration).getAutoEditStrategies(this);
-			if (autoEditStrategies != null) {
-				Iterator partitionTypes = autoEditStrategies.keySet().iterator();
-				while (partitionTypes.hasNext()) {
-					String partitionType = partitionTypes.next().toString();
-					Object strategies = autoEditStrategies.get(partitionType);
-					if (strategies != null) {
-						if (strategies instanceof List) {
-							for (int i = 0; i < ((List) strategies).size(); i++) {
-								IAutoEditStrategy strategy = (IAutoEditStrategy) ((List) strategies).get(i);
-								prependAutoEditStrategy(strategy, partitionType);
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * @param document
-	 * @param startOffset
-	 * @param endOffset
-	 * @return
-	 */
-	private boolean containsReadOnly(IDocument document, int startOffset, int endOffset) {
-
-		int start = startOffset;
-		int end = endOffset;
-		IStructuredDocument structuredDocument = null;
-		if (document instanceof IStructuredDocument) {
-			structuredDocument = (IStructuredDocument) document;
-		} else {
-			if (document instanceof ProjectionDocument) {
-				IDocument doc = ((ProjectionDocument) document).getMasterDocument();
-				if (doc instanceof IStructuredDocument) {
-					structuredDocument = (IStructuredDocument) doc;
-					int adjust = ((ProjectionDocument) document).getProjectionMapping().getCoverage().getOffset();
-					start = adjust + start;
-					end = adjust + end;
-				}
-			}
-		}
-		if (structuredDocument == null) {
-			return false;
-		} else {
-			int length = end - start;
-			return structuredDocument.containsReadOnly(start, length);
-		}
-	}
-
-	protected IDocumentAdapter createDocumentAdapter() {
-
-		fDocAdapter = new StructuredDocumentToTextAdapter(getTextWidget());
-		return fDocAdapter;
-	}
-
-	/**
-	 * TODO Temporary workaround for BUG44665
-	 */
-	protected void customizeDocumentCommand(StructuredDocumentCommand command) {
-		if (isIgnoringAutoEditStrategies())
-			return;
-
-		List strategies = (List) selectContentTypePlugin(command.offset, fAutoIndentStrategies);
-		if (strategies == null)
-			return;
-
-		switch (strategies.size()) {
-			// optimization
-			case 0 :
-				break;
-
-			case 1 :
-				((IAutoEditStrategy) strategies.iterator().next()).customizeDocumentCommand(getDocument(), command);
-				break;
-
-			// make iterator robust against adding/removing strategies from
-			// within
-			// strategies
-			default :
-				strategies = new ArrayList(strategies);
-
-				IDocument document = getDocument();
-				for (final Iterator iterator = strategies.iterator(); iterator.hasNext();)
-					((IAutoEditStrategy) iterator.next()).customizeDocumentCommand(document, command);
-
-				break;
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextOperationTarget#doOperation(int)
-	 */
-	public void doOperation(int operation) {
-
-		Point selection = getTextWidget().getSelection();
-		int cursorPosition = selection.x;
-		int selectionLength = selection.y - selection.x;
-		switch (operation) {
-			case UNDO : {
-				IExtendedSimpleEditor editor = getActiveExtendedSimpleEditor();
-				if (editor != null) {
-					IStatus status = editor.validateEdit(getControl().getShell());
-					if (status != null && status.isOK())
-						undo();
-				} else
-					undo();
-				break;
-			}
-			case REDO : {
-				IExtendedSimpleEditor editor = getActiveExtendedSimpleEditor();
-				if (editor != null) {
-					IStatus status = editor.validateEdit(getControl().getShell());
-					if (status != null && status.isOK())
-						redo();
-				} else
-					redo();
-				break;
-			}
-			case CUT :
-				getModel().beginRecording(this, TEXT_CUT, TEXT_CUT, cursorPosition, selectionLength);
-				super.doOperation(operation);
-				selection = getTextWidget().getSelection();
-				cursorPosition = selection.x;
-				selectionLength = selection.y - selection.x;
-				getModel().endRecording(this, cursorPosition, selectionLength);
-				break;
-			case PASTE :
-				getModel().beginRecording(this, TEXT_PASTE, TEXT_PASTE, cursorPosition, selectionLength);
-				super.doOperation(operation);
-				selection = getTextWidget().getSelection();
-				cursorPosition = selection.x;
-				selectionLength = selection.y - selection.x;
-				getModel().endRecording(this, cursorPosition, selectionLength);
-				break;
-			case CONTENTASSIST_PROPOSALS :
-				// maybe not configured?
-				if (fContentAssistant != null && isEditable()) {
-					// CMVC 263269
-					// need an explicit check here because the
-					// contentAssistAction is no longer being updated on
-					// cursor
-					// position
-					if (canDoOperation(CONTENTASSIST_PROPOSALS)) {
-						String err = fContentAssistant.showPossibleCompletions();
-						if (err != null) {
-							// don't wanna beep if there is no error
-							PlatformStatusLineUtil.displayErrorMessage(err);
-						}
-						PlatformStatusLineUtil.addOneTimeClearListener();
-					} else
-						beep();
-				}
-				break;
-			case CONTENTASSIST_CONTEXT_INFORMATION :
-				if (fContentAssistant != null) {
-					String err = fContentAssistant.showContextInformation();
-					PlatformStatusLineUtil.displayErrorMessage(err);
-					PlatformStatusLineUtil.addOneTimeClearListener();
-					//setErrorMessage(err);
-					//new OneTimeListener(getTextWidget(), new
-					// ClearErrorMessage());
-				}
-				break;
-			case QUICK_FIX :
-				if (isEditable()) {
-					String msg = fCorrectionAssistant.showPossibleCompletions();
-					setErrorMessage(msg);
-				}
-				break;
-			case SHIFT_RIGHT :
-				getModel().beginRecording(this, TEXT_SHIFT_RIGHT, TEXT_SHIFT_RIGHT, cursorPosition, selectionLength);
-				super.doOperation(SHIFT_RIGHT);
-				selection = getTextWidget().getSelection();
-				cursorPosition = selection.x;
-				selectionLength = selection.y - selection.x;
-				getModel().endRecording(this, cursorPosition, selectionLength);
-				break;
-			case SHIFT_LEFT :
-				getModel().beginRecording(this, TEXT_SHIFT_LEFT, TEXT_SHIFT_LEFT, cursorPosition, selectionLength);
-				super.doOperation(SHIFT_LEFT);
-				selection = getTextWidget().getSelection();
-				cursorPosition = selection.x;
-				selectionLength = selection.y - selection.x;
-				getModel().endRecording(this, cursorPosition, selectionLength);
-				break;
-			case FORMAT_DOCUMENT :
-				try {
-					// begin recording
-					getModel().beginRecording(this, FORMAT_DOCUMENT_TEXT, FORMAT_DOCUMENT_TEXT, cursorPosition, selectionLength);
-
-					// tell the model that we are about to make a big model
-					// change
-					fModel.aboutToChangeModel();
-
-					// format
-					IRegion region = getModelCoverage();
-					if (fContentFormatter instanceof IContentFormatterExtension) {
-						IContentFormatterExtension extension = (IContentFormatterExtension) fContentFormatter;
-						IFormattingContext context = new FormattingContext();
-						context.setProperty(FormattingContextProperties.CONTEXT_DOCUMENT, Boolean.TRUE);
-						context.setProperty(FormattingContextProperties.CONTEXT_REGION, region);
-						extension.format(getDocument(), context);
-					} else {
-						fContentFormatter.format(getDocument(), region);
-					}
-				} finally {
-					// tell the model that we are done with the big model
-					// change
-					fModel.changedModel();
-
-					// end recording
-					selection = getTextWidget().getSelection();
-					cursorPosition = selection.x;
-					selectionLength = selection.y - selection.x;
-					getModel().endRecording(this, cursorPosition, selectionLength);
-				}
-				break;
-			case FORMAT_ACTIVE_ELEMENTS :
-				try {
-					// begin recording
-					getModel().beginRecording(this, FORMAT_ACTIVE_ELEMENTS_TEXT, FORMAT_ACTIVE_ELEMENTS_TEXT, cursorPosition, selectionLength);
-
-					// tell the model that we are about to make a big model
-					// change
-					fModel.aboutToChangeModel();
-
-					// format
-					Point s = getSelectedRange();
-					IRegion region = new Region(s.x, s.y);
-					fContentFormatter.format(getDocument(), region);
-				} finally {
-					// tell the model that we are done with the big model
-					// change
-					fModel.changedModel();
-
-					// end recording
-					selection = getTextWidget().getSelection();
-					cursorPosition = selection.x;
-					selectionLength = selection.y - selection.x;
-					getModel().endRecording(this, cursorPosition, selectionLength);
-				}
-				break;
-			default :
-				super.doOperation(operation);
-		}
-	}
-
-	/**
-	 * Notifies of a double click.
-	 * 
-	 * @param event
-	 *            event object describing the double-click
-	 */
-	public void doubleClick(DoubleClickEvent event) {
-
-		IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-		int selectionSize = selection.size();
-		List selectedNodes = selection.toList();
-		IndexedRegion doubleClickedNode = null;
-		int selectionStart = 0;
-		int selectionEnd = 0;
-		if (selectionSize > 0) {
-			// something selected
-			// only one node can be double-clicked at a time
-			// so, we get node 0
-			doubleClickedNode = (IndexedRegion) selectedNodes.get(0);
-			selectionStart = doubleClickedNode.getStartOffset();
-			selectionEnd = doubleClickedNode.getEndOffset();
-			// set new selection
-			setSelectedRange(selectionStart, selectionEnd - selectionStart);
-		}
-	}
-
-	void endBackgroundUpdate() {
-		fBackgroundupdateInProgress = false;
-		enabledRedrawing();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.TextViewer#findAndSelect(int,
-	 *      java.lang.String, boolean, boolean, boolean, boolean)
-	 */
-	protected int findAndSelect(int startPosition, String findString, boolean forwardSearch, boolean caseSensitive, boolean wholeWord, boolean regExSearch) {
-		int result = super.findAndSelect(startPosition, findString, forwardSearch, caseSensitive, wholeWord, regExSearch);
-
-		// findAndSelect calls fTextWidget.setSelectionRange(widgetPos,
-		// length) to set selection,
-		// which does not fire text widget selection event.
-		// Need to notify ViewerSelectionManager here.
-		notifyViewerSelectionManager(getSelectedRange().x, getSelectedRange().y);
-
-		return result;
-	}
-
-	protected IExtendedSimpleEditor getActiveExtendedSimpleEditor() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IEditorPart editor = page.getActiveEditor();
-				if (editor != null && editor instanceof IExtendedSimpleEditor) {
-					return (IExtendedSimpleEditor) editor;
-				}
-			}
-		}
-		return null;
-	}
-
-
-	protected ViewerSelectionManager getDefaultViewerSelectionManager() {
-		return new ViewerSelectionManagerImpl(this);
-	}
-
-	/**
-	 * @deprecated -- will be removed in future.
-	 */
-	public IStructuredModel getModel() {
-		return fModel;
-	}
-
-	public ViewerSelectionManager getViewerSelectionManager() {
-
-		if (fViewerSelectionManager == null) {
-			ViewerSelectionManager viewerSelectionManager = getDefaultViewerSelectionManager();
-			// use setter instead of field directly, so it get initialized
-			// properly
-			setViewerSelectionManager(viewerSelectionManager);
-		}
-		return fViewerSelectionManager;
-	}
-
-	protected void handleDispose() {
-
-		Logger.trace("Source Editor", "StructuredTextViewer::handleDispose entry"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		// before we dispose, we set a special "empty" selection, to prevent
-		// the "leak one document" that
-		// otherwise occurs when editor closed (since last selection stays in
-		// SelectedResourceManager.
-		// the occurance of the "leak" isn't so bad, but makes debugging other
-		// leaks very hard.
-		setSelection(TextSelection.emptySelection());
-
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.removeNodeDoubleClickListener(this);
-			fViewerSelectionManager.removeNodeSelectionListener(this);
-			fViewerSelectionManager.release();
-		}
-
-		if (fHighlighter != null) {
-			fHighlighter.uninstall();
-		}
-		super.handleDispose();
-		// todo: make this setModel(null)
-		fModel = null;
-		Logger.trace("Source Editor", "StructuredTextViewer::handleDispose exit"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * TODO Temporary workaround for BUG44665
-	 */
-	/**
-	 * @see VerifyListener#verifyText(VerifyEvent)
-	 */
-	protected void handleVerifyEvent(VerifyEvent e) {
-
-
-		if (fEventConsumer != null) {
-			fEventConsumer.processEvent(e);
-			if (!e.doit)
-				return;
-		}
-		if (fBackgroundupdateInProgress) {
-			e.doit = false;
-			beep();
-			return;
-		}
-		// for read-only support
-		if (containsReadOnly(getVisibleDocument(), e.start, e.end)) {
-			e.doit = false;
-			beep();
-			return;
-		}
-
-		IRegion modelRange = event2ModelRange(e);
-		fDocumentCommand.setEventStructuredDocumentEvent(e, modelRange);
-		customizeDocumentCommand(fDocumentCommand);
-		int widgetCaret = 0;
-		if (!fDocumentCommand.fillEventStructuredDocumentCommand(e, modelRange)) {
-
-			boolean compoundChange = fDocumentCommand.getCommandCount() > 1;
-			try {
-
-				fVerifyListener.forward(false);
-
-				if (compoundChange && fUndoManager != null)
-					fUndoManager.beginCompoundChange();
-
-				if (getSlaveDocumentManager() != null) {
-					IDocument visible = getVisibleDocument();
-					try {
-						getSlaveDocumentManager().setAutoExpandMode(visible, true);
-						fDocumentCommand.executeStructuredDocumentCommand(getDocument());
-					} finally {
-						getSlaveDocumentManager().setAutoExpandMode(visible, false);
-					}
-				} else {
-					fDocumentCommand.executeStructuredDocumentCommand(getDocument());
-				}
-
-				if (getTextWidget() != null) {
-					int documentCaret = fDocumentCommand.caretOffset;
-					if (documentCaret == -1) {
-						// old behavior of document command
-						documentCaret = fDocumentCommand.offset + (fDocumentCommand.text == null ? 0 : fDocumentCommand.text.length());
-					}
-
-					widgetCaret = modelOffset2WidgetOffset(documentCaret);
-					if (widgetCaret == -1) {
-						// try to move it to the closest spot
-						IRegion region = getModelCoverage();
-						if (documentCaret <= region.getOffset())
-							widgetCaret = 0;
-						else if (documentCaret >= region.getOffset() + region.getLength())
-							widgetCaret = getVisibleRegion().getLength();
-					}
-
-				}
-			} catch (BadLocationException x) {
-
-				if (TRACE_ERRORS)
-					System.out.println("TextViewer.error.bad_location.verifyText"); //$NON-NLS-1$
-
-			} finally {
-
-				if (compoundChange && fUndoManager != null)
-					fUndoManager.endCompoundChange();
-
-				if (widgetCaret != -1) {
-					// there is a valid widget caret
-					getTextWidget().setCaretOffset(widgetCaret);
-				}
-
-				getTextWidget().showSelection();
-
-				fVerifyListener.forward(true);
-
-			}
-		}
-	}
-
-	/**
-	 * TODO Temporary workaround for BUG44665
-	 */
-	/**
-	 * overridden for read-only support
-	 */
-	/*
-	 * protected void handleVerifyEvent(VerifyEvent e) { // for now, we'll let
-	 * super have a shot first // (may mess up undo stack, or something?)
-	 * 
-	 * super.handleVerifyEvent(e); if (containsReadOnly(getVisibleDocument(),
-	 * e.start, e.end)) { e.doit = false; beep(); } }
-	 */
-
-	/**
-	 * nodeSelectionChanged method comment.
-	 */
-	public void nodeSelectionChanged(NodeSelectionChangedEvent event) {
-
-		// Skip NodeSelectionChanged processing if this is the source of the
-		// event.
-		if (event.getSource().equals(this))
-			return;
-		List selectedNodes = new Vector(event.getSelectedNodes());
-		boolean attrOrTextNodeSelected = false;
-		int attrOrTextNodeStartOffset = 0;
-		for (int i = 0; i < selectedNodes.size(); i++) {
-			Object eachNode = selectedNodes.get(i);
-			// replace attribute node with its parent
-			if (eachNode instanceof Attr) {
-				attrOrTextNodeSelected = true;
-				attrOrTextNodeStartOffset = ((IndexedRegion) eachNode).getStartOffset();
-				selectedNodes.set(i, ((Attr) eachNode).getOwnerElement());
-			}
-			// replace TextNode with its parent
-			if ((eachNode instanceof Node) && (((Node) eachNode).getNodeType() == Node.TEXT_NODE)) {
-				attrOrTextNodeSelected = true;
-				attrOrTextNodeStartOffset = ((IndexedRegion) eachNode).getStartOffset();
-				selectedNodes.set(i, ((Node) eachNode).getParentNode());
-			}
-		}
-		if (nothingToSelect(selectedNodes)) {
-			removeRangeIndication();
-		} else {
-			IndexedRegion startNode = (IndexedRegion) selectedNodes.get(0);
-			IndexedRegion endNode = (IndexedRegion) selectedNodes.get(selectedNodes.size() - 1);
-			int startOffset = startNode.getStartOffset();
-			int endOffset = endNode.getEndOffset();
-			// if end node is a child node of start node
-			if (startNode.getEndOffset() > endNode.getEndOffset()) {
-				endOffset = startNode.getEndOffset();
-			}
-			int length = endOffset - startOffset;
-			// Move cursor only if the original source really came from
-			// a ContentViewer (for example, the SourceEditorTreeViewer or the
-			// XMLTableTreeViewer)
-			// or a ContentOutlinePage (for example, the XSDTreeViewer).
-			// Do not move the cursor if the source is a textWidget (which
-			// means the selection came from the text viewer) or
-			// if the source is the ViewerSelectionManager (which means the
-			// selection was set programmatically).
-			boolean moveCursor = (event.getSource() instanceof ContentViewer) || (event.getSource() instanceof IContentOutlinePage);
-			// 20031012 (pa)
-			// Changed moveCursor to "false" because it was causing the cursor
-			// to jump to the beginning of the parent node in the case that a
-			// child of the parent is deleted.
-			// We really only want to set the range indicator on the left to
-			// the range of the parent, but not move the cursor
-			//setRangeIndication(startOffset, length, false);
-			// 20040714 (nsd) Chnaged back to tru given that selection
-			// problems
-			// caused by the Outline view appear fixed.
-			setRangeIndication(startOffset, length, moveCursor);
-			if ((moveCursor) && (attrOrTextNodeSelected)) {
-				setSelectedRange(attrOrTextNodeStartOffset, 0);
-				revealRange(attrOrTextNodeStartOffset, 0);
-			}
-			//			if(moveCursor) {
-			//				System.out.print("moving");
-			//			}
-			//			else {
-			//				System.out.print("not moving");
-			//			}
-			//			System.out.println(" on NodeSelectionEvent: " +
-			// event.getSource());
-		}
-	}
-
-	/**
-	 * @param selectedNodes
-	 * @return whether the IndexedNodes within the list should form a
-	 *         selectionrange
-	 */
-	private boolean nothingToSelect(List selectedNodes) {
-		if (selectedNodes == null || selectedNodes.isEmpty() || selectedNodes.get(0) == null) // empty
-			// selections
-			return true;
-		if (getDocument() == null) // viewer shutdown
-			return true;
-		// if the range would be the entire document's length, there's nothing
-		// to show
-		IndexedRegion firstIndexedNode = (IndexedRegion) selectedNodes.get(0);
-		return firstIndexedNode.getEndOffset() - firstIndexedNode.getStartOffset() >= getDocument().getLength();
-	}
-
-	/**
-	 * Notify the ViewerSelectionManager when text is selected
-	 * programmatically, for example, by double-click processing or an editor
-	 * action like Edit->SelectAll
-	 */
-	protected void notifyViewerSelectionManager(int offset, int length) {
-		if (fViewerSelectionManager != null) {
-			Event event = new Event();
-			event.widget = getTextWidget();
-			// sometimes null while closing
-			if (event.widget != null) {
-				SelectionEvent selectionEvent = new SelectionEvent(event);
-				selectionEvent.x = offset;
-				selectionEvent.y = offset + length;
-				fViewerSelectionManager.widgetSelected(selectionEvent);
-			}
-		}
-	}
-
-	private void redo() {
-		ignoreAutoEditStrategies(true);
-		fUndoManager.redo();
-		ignoreAutoEditStrategies(false);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.ISourceViewer#setDocument(org.eclipse.jface.text.IDocument,
-	 *      org.eclipse.jface.text.source.IAnnotationModel, int, int)
-	 */
-	public void setDocument(IDocument document, IAnnotationModel annotationModel, int modelRangeOffset, int modelRangeLength) {
-
-
-		// partial fix for:
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=1970
-		// when our document is set, especially to null during close,
-		// immediately uninstall the reconciler.
-		// this is to avoid an unnecessary final "reconcile"
-		// that blocks display thread
-		if (document == null) {
-			if (fReconciler != null) {
-				fReconciler.uninstall();
-			}
-		}
-
-		super.setDocument(document, annotationModel, modelRangeOffset, modelRangeLength);
-
-		if (document instanceof IStructuredDocument) {
-			IStructuredDocument structuredDocument = (IStructuredDocument) document;
-
-			// notify highlighter
-			if (fHighlighter != null) {
-				fHighlighter.setDocument(structuredDocument);
-				//fHighlighter.setModel(model);
-			}
-
-			// set document in the viewer-based undo manager
-			if (fUndoManager instanceof StructuredTextViewerUndoManager) {
-				((StructuredTextViewerUndoManager) fUndoManager).setDocument(structuredDocument);
-			}
-
-		}
-	}
-
-	/**
-	 * Use the active editor to set a status line message
-	 * 
-	 * @param msg
-	 */
-	protected void setErrorMessage(String msg) {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IEditorPart editor = page.getActiveEditor();
-				if (editor != null) {
-					IEditorStatusLine statusLine = (IEditorStatusLine) editor.getAdapter(IEditorStatusLine.class);
-					if (statusLine != null)
-						statusLine.setMessage(true, msg, null);
-				}
-			}
-		}
-	}
-
-	public void setModel(IStructuredModel model) {
-
-		setModel(model, null);
-	}
-
-	public void setModel(IStructuredModel model, IAnnotationModel annotationModel) {
-		// due to various forms of init, sometimes
-		// the same variable is set more than once
-		// with the same data, causing unneccesary updates, so
-		// we do nothing if someones' trying to set the same
-		// model we already have
-		// 
-		if ((fModel != null) && (fModel == model) && (getDocument() == model.getStructuredDocument())) {
-			return;
-		}
-		fModel = model;
-		setDocument(model.getStructuredDocument(), annotationModel);
-
-		// CaretEvent is not sent to ViewerSelectionManager after Save As.
-		// Need to notify ViewerSelectionManager here.
-		notifyViewerSelectionManager(getSelectedRange().x, getSelectedRange().y);
-	}
-
-	public void setViewerSelectionManager(ViewerSelectionManager viewerSelectionManager) {
-
-		// disconnect from old one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.removeNodeDoubleClickListener(this);
-			fViewerSelectionManager.removeNodeSelectionListener(this);
-			fViewerSelectionManager.release();
-			// No need to removeSelectionChangedListener here. Done when
-			// editor
-			// calls "new ViewerSelectionManagerImpl(ITextViewer)".
-			//removeSelectionChangedListener(fViewerSelectionManager);
-		}
-		fViewerSelectionManager = viewerSelectionManager;
-		// connect to new one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.addNodeDoubleClickListener(this);
-			fViewerSelectionManager.addNodeSelectionListener(this);
-			// No need to addSelectionChangedListener here. Done when editor
-			// calls "new ViewerSelectionManagerImpl(ITextViewer)".
-			//addSelectionChangedListener(fViewerSelectionManager);
-		}
-	}
-
-	/**
-	 * Uninstalls anything that was installed by configure
-	 */
-	public void unconfigure() {
-
-		Logger.trace("Source Editor", "StructuredTextViewer::unconfigure entry"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (fHighlighter != null) {
-			fHighlighter.uninstall();
-		}
-
-		// presentationreconciler, reconciler, contentassist, infopresenter
-		// are all unconfigured in superclass so think about removing from
-		// here
-		if (fPresentationReconciler != null) {
-			fPresentationReconciler.uninstall();
-			fPresentationReconciler = null;
-		}
-		if (fReconciler != null) {
-			fReconciler.uninstall();
-			fReconciler = null;
-		}
-		if (fContentAssistant != null) {
-			fContentAssistant.uninstall();
-			fContentAssistantInstalled = false;
-		}
-		if (fInformationPresenter != null)
-			fInformationPresenter.uninstall();
-		
-		setHyperlinkDetectors(null, SWT.NONE);
-
-		// doesn't seem to be handled elsewhere, so we'll be sure error
-		// messages's are cleared.
-		setErrorMessage(null);
-
-		// unconfigure recently added to super class?!
-		super.unconfigure();
-		Logger.trace("Source Editor", "StructuredTextViewer::unconfigure exit"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	private void undo() {
-		ignoreAutoEditStrategies(true);
-		fUndoManager.undo();
-		ignoreAutoEditStrategies(false);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.undo.IDocumentSelectionMediator#undoOperationSelectionChanged(org.eclipse.wst.sse.core.undo.UndoDocumentEvent)
-	 */
-	public void undoOperationSelectionChanged(UndoDocumentEvent event) {
-		if (event.getRequester() != null && event.getRequester().equals(this) && event.getDocument().equals(getDocument()))
-			setSelectedRange(event.getOffset(), event.getLength());
-	}
-
-	/**
-	 * This method added to override super's implementation so that
-	 * setVisibleRegion will not force a start at beginning of line. This was
-	 * primarily needed when used as embedded editor. May need to make more
-	 * sophisiticated if we need it to act both ways, depending on a flag, or
-	 * something.
-	 */
-	protected boolean updateVisibleDocument(IDocument visibleDocument, int visibleRegionOffset, int visibleRegionLength) throws BadLocationException {
-		if (visibleDocument instanceof ChildDocument) {
-			ChildDocument childDocument = (ChildDocument) visibleDocument;
-			//IDocument document = childDocument.getParentDocument();
-			//int line= document.getLineOfOffset(visibleRegionOffset);
-			int offset = visibleRegionOffset; //document.getLineOffset(line);
-			int length = visibleRegionLength; //(visibleRegionOffset -
-			// offset)
-			// + visibleRegionLength;
-			Position parentRange = childDocument.getParentDocumentRange();
-			if (offset != parentRange.getOffset() || length != parentRange.getLength()) {
-				childDocument.setParentDocumentRange(offset, length);
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewerConfiguration.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewerConfiguration.java
deleted file mode 100644
index bbd9659..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewerConfiguration.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.DefaultInformationControl;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.IUndoManager;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.hyperlink.IHyperlinkPresenter;
-import org.eclipse.jface.text.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.source.IAnnotationHover;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.editors.text.TextSourceViewerConfiguration;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.ui.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.sse.ui.extension.ExtendedConfigurationBuilder;
-import org.eclipse.wst.sse.ui.extension.IExtendedConfiguration;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.HTMLTextPresenter;
-import org.eclipse.wst.sse.ui.internal.hyperlink.HighlighterHyperlinkPresenter;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor;
-import org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorBuilder;
-import org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorMetaData;
-import org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy;
-import org.eclipse.wst.sse.ui.style.Highlighter;
-import org.eclipse.wst.sse.ui.style.IHighlighter;
-import org.eclipse.wst.sse.ui.taginfo.TextHoverManager;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-
-/**
- * Configuration for a SourceViewer that shows an IStructuredDocument
- */
-public class StructuredTextViewerConfiguration extends TextSourceViewerConfiguration implements IExtendedConfiguration {
-
-	private static final String CONTENT_ASSIST_PROCESSOR_EXTENDED_ID = "contentassistprocessor";
-	public static final String ID = "textviewerconfiguration"; //$NON-NLS-1$
-	protected String[] configuredContentTypes;
-	protected IEditorPart editorPart;
-	private IAnnotationHover fAnnotationHover = null;
-	protected IContentAssistant fContentAssistant;
-	private List fContentAssistProcessors = null;
-	protected IContentAssistant fCorrectionAssistant;
-	private String fDeclaringID;
-	protected IHighlighter fHighlighter;
-
-	protected StructuredRegionProcessor fReconciler;
-	protected IResource fResource = null;
-	protected final String SSE_EDITOR_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-	protected final String SSE_MODEL_ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-
-	/**
-	 * Default constructor.
-	 */
-	public StructuredTextViewerConfiguration() {
-		super();
-		fContentAssistProcessors = new ArrayList();
-	}
-
-	/**
-	 * use this constructor to have reconciler
-	 */
-	public StructuredTextViewerConfiguration(IEditorPart textEditor) {
-		this();
-		editorPart = textEditor;
-	}
-
-	/**
-	 * @deprecated - to be removed in M4
-	 * 
-	 * Call setContentAssistProcessor instead.
-	 * 
-	 * @param ca
-	 * @param processor
-	 * @param partitionType
-	 */
-	public void addContentAssistProcessor(ContentAssistant ca, IContentAssistProcessor processor, String partitionType) {
-		setContentAssistProcessor(ca, processor, partitionType);
-	}
-
-	public void configureOn(IResource resource) {
-		fResource = resource;
-		updateForResource();
-	}
-
-	protected ValidatorStrategy createValidatorStrategy(String contentTypeId) {
-		ValidatorStrategy validatorStrategy = new ValidatorStrategy(getTextEditor(), contentTypeId);
-		ValidatorBuilder vBuilder = new ValidatorBuilder();
-		ValidatorMetaData[] vmds = vBuilder.getValidatorMetaData("org.eclipse.wst.sse.ui"); //$NON-NLS-1$
-		for (int i = 0; i < vmds.length; i++) {
-			if (vmds[i].canHandleContentType(contentTypeId))
-				validatorStrategy.addValidatorMetaData(vmds[i]);
-		}
-		return validatorStrategy;
-	}
-
-	/**
-	 * Returns the annotation hover which will provide the information to be
-	 * shown in a hover popup window when requested for the given source
-	 * viewer.
-	 * 
-	 * @param sourceViewer
-	 *            the source viewer to be configured by this configuration
-	 * @return an annotation hover or <code>null</code> if no hover support
-	 *         should be installed
-	 */
-	public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
-		if (fAnnotationHover == null) {
-			fAnnotationHover = new StructuredTextAnnotationHover();
-		}
-		return fAnnotationHover;
-	}
-
-	/**
-	 * @param sourceViewer
-	 * @return a Map of partition content types to java.util.List of
-	 *         IAutoEditStrategy objects
-	 */
-	public Map getAutoEditStrategies(ISourceViewer sourceViewer) {
-		return new HashMap();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getConfiguredDocumentPartitioning(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public String getConfiguredDocumentPartitioning(ISourceViewer sourceViewer) {
-		return IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING;
-	}
-
-	/*
-	 * @see SourceViewerConfiguration#getConfiguredTextHoverStateMasks(ISourceViewer,
-	 *      String)
-	 * @since 2.1
-	 */
-	public int[] getConfiguredTextHoverStateMasks(ISourceViewer sourceViewer, String contentType) {
-		// content type does not matter when getting hover state mask
-		TextHoverManager.TextHoverDescriptor[] hoverDescs = SSEUIPlugin.getDefault().getTextHoverManager().getTextHovers();
-		int stateMasks[] = new int[hoverDescs.length];
-		int stateMasksLength = 0;
-		for (int i = 0; i < hoverDescs.length; i++) {
-			if (hoverDescs[i].isEnabled()) {
-				int j = 0;
-				int stateMask = EditorUtility.computeStateMask(hoverDescs[i].getModifierString());
-				while (j < stateMasksLength) {
-					if (stateMasks[j] == stateMask)
-						break;
-					j++;
-				}
-				if (j == stateMasksLength)
-					stateMasks[stateMasksLength++] = stateMask;
-			}
-		}
-		if (stateMasksLength == hoverDescs.length)
-			return stateMasks;
-
-		int[] shortenedStateMasks = new int[stateMasksLength];
-		System.arraycopy(stateMasks, 0, shortenedStateMasks, 0, stateMasksLength);
-		return shortenedStateMasks;
-	}
-
-	/**
-	 * @see ISourceViewerConfiguration#getContentAssistant
-	 */
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		if (fContentAssistant == null) {
-			/**
-			 * Ensure that only one assistant is ever returned. Creating a
-			 * second assistant that is added to a viewer can cause odd
-			 * key-eating by the wrong one.
-			 */
-			ContentAssistant assistant = new ContentAssistant() {
-				private Map fExtendedProcessors = new HashMap(0);
-
-				public IContentAssistProcessor getContentAssistProcessor(String contentType) {
-					IContentAssistProcessor processor = super.getContentAssistProcessor(contentType);
-					// NOT YET FINALIZED - DO NOT CONSIDER AS API
-					if (processor == null && !fExtendedProcessors.containsKey(contentType)) {
-						processor = (IContentAssistProcessor) ExtendedConfigurationBuilder.getInstance().getConfiguration(CONTENT_ASSIST_PROCESSOR_EXTENDED_ID, contentType);
-						fExtendedProcessors.put(contentType, processor);
-						/*
-						 * Copied from setContentAssistProcessor to avoid
-						 * calling getContentAssistProcessor() from within
-						 * getContentAssistProcessor()
-						 */
-						fContentAssistProcessors.add(processor);
-						if (processor instanceof IResourceDependentProcessor)
-							((IResourceDependentProcessor) processor).initialize(fResource);
-						setContentAssistProcessor(processor, contentType);
-					}
-					return processor;
-				}
-			};
-
-			// content assistant configurations
-			assistant.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-			assistant.enableAutoActivation(true);
-			assistant.setAutoActivationDelay(500);
-			assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-			assistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_ABOVE);
-			assistant.setInformationControlCreator(getInformationControlCreator(sourceViewer));
-			fContentAssistant = assistant;
-		}
-		updateForResource();
-		return fContentAssistant;
-	}
-
-	public IContentAssistant getCorrectionAssistant(ISourceViewer sourceViewer) {
-		if (fCorrectionAssistant == null) {
-			/**
-			 * Ensure that only one assistant is ever returned. Creating a
-			 * second assistant that is added to a viewer can cause odd
-			 * key-eating by the wrong one.
-			 */
-			ContentAssistant assistant = new ContentAssistant();
-			assistant.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-			fCorrectionAssistant = assistant;
-		}
-		updateForResource();
-		return fCorrectionAssistant;
-	}
-
-	/**
-	 * @return Returns the declaringID.
-	 */
-	public String getDeclaringID() {
-		return fDeclaringID;
-	}
-
-	/**
-	 * @return Returns the editorPart.
-	 */
-	public IEditorPart getEditorPart() {
-		return editorPart;
-	}
-
-	public IHighlighter getHighlighter(ISourceViewer viewer) {
-		/*
-		 * Assuming for now that only one highlighter is needed per
-		 * configuration, and that its just configured for lots of different
-		 * content types. In the future, this may change, if its tied closer
-		 * to the actual content type (for example, made specifc for HTML vs.
-		 * XML). I think it would be little impact to create a new instance
-		 * each time.
-		 */
-		if (fHighlighter != null) {
-			fHighlighter.uninstall();
-		}
-		else {
-			Highlighter highlighter = new Highlighter();
-			highlighter.setDocumentPartitioning(getConfiguredDocumentPartitioning(viewer));
-			fHighlighter = highlighter;
-		}
-		// Allow viewer to be null for easier unit testing, but during normal
-		// use, would not be null
-		if (viewer != null) {
-			IStructuredDocument document = (IStructuredDocument) viewer.getDocument();
-			fHighlighter.setDocument(document);
-		}
-		return fHighlighter;
-	}
-
-	/*
-	 * @see SourceViewerConfiguration#getHoverControlCreator(ISourceViewer)
-	 */
-	public IInformationControlCreator getInformationControlCreator(ISourceViewer sourceViewer) {
-		return getInformationControlCreator(sourceViewer, false);
-	}
-
-	private IInformationControlCreator getInformationControlCreator(ISourceViewer sourceViewer, final boolean cutDown) {
-		return new IInformationControlCreator() {
-			public IInformationControl createInformationControl(Shell parent) {
-				// int style= cutDown ? SWT.NONE : (SWT.V_SCROLL |
-				// SWT.H_SCROLL);
-				int style = SWT.NONE;
-				return new DefaultInformationControl(parent, style, new HTMLTextPresenter(cutDown));
-			}
-		};
-	}
-
-	/**
-	 * Returns the information presenter control creator. The creator is a
-	 * factory creating the presenter controls for the given source viewer.
-	 * This implementation always returns a creator for
-	 * <code>DefaultInformationControl</code> instances. (Copied from
-	 * JavaSourceViewerConfiguration)
-	 * 
-	 * @param sourceViewer
-	 *            the source viewer to be configured by this configuration
-	 * @return an information control creator
-	 */
-	protected IInformationControlCreator getInformationPresenterControlCreator(ISourceViewer sourceViewer) {
-		return new IInformationControlCreator() {
-			public IInformationControl createInformationControl(Shell parent) {
-				int shellStyle = SWT.RESIZE;
-				int style = SWT.V_SCROLL | SWT.H_SCROLL;
-				return new DefaultInformationControl(parent, shellStyle, style, new HTMLTextPresenter(false));
-			}
-		};
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getOverviewRulerAnnotationHover(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IAnnotationHover getOverviewRulerAnnotationHover(ISourceViewer arg0) {
-		return new StructuredTextAnnotationHover();
-	}
-
-	public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
-		return null;
-	}
-
-	protected ITextEditor getTextEditor() {
-		ITextEditor editor = null;
-		if (editorPart instanceof ITextEditor)
-			editor = (ITextEditor) editorPart;
-		if (editor == null && editorPart != null)
-			editor = (ITextEditor) editorPart.getAdapter(ITextEditor.class);
-		return editor;
-	}
-
-	/**
-	 * Returns the text hovers available in StructuredTextEditors
-	 * 
-	 * @return TextHoverManager.TextHoverDescriptor[]
-	 */
-	protected TextHoverManager.TextHoverDescriptor[] getTextHovers() {
-		return SSEUIPlugin.getDefault().getTextHoverManager().getTextHovers();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getUndoManager(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IUndoManager getUndoManager(ISourceViewer sourceViewer) {
-		return new StructuredTextViewerUndoManager();
-	}
-
-	/**
-	 * Sets the given IContentAssistProcessor into the given ContentAssistant
-	 * for the partitionType, handling certain extra initialization steps.
-	 * 
-	 * @param ca
-	 * @param newProcessor
-	 * @param partitionType
-	 */
-	protected void setContentAssistProcessor(ContentAssistant ca, IContentAssistProcessor newProcessor, String partitionType) {
-		// save for reinit and release
-		IContentAssistProcessor previousProcessor = ca.getContentAssistProcessor(partitionType);
-		if (previousProcessor != null) {
-			fContentAssistProcessors.remove(previousProcessor);
-		}
-		fContentAssistProcessors.add(newProcessor);
-		if (newProcessor instanceof IResourceDependentProcessor)
-			((IResourceDependentProcessor) newProcessor).initialize(fResource);
-		ca.setContentAssistProcessor(newProcessor, partitionType);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extension.IExtendedConfiguration#setDeclaringID(java.lang.String)
-	 */
-	public void setDeclaringID(String targetID) {
-		fDeclaringID = targetID;
-	}
-
-	/**
-	 * @param editorPart
-	 *            The editorPart to set.
-	 */
-	public void setEditorPart(IEditorPart editorPart) {
-		this.editorPart = editorPart;
-	}
-
-	/**
-	 * This method is allow any cleanup to take place that is not otherwise
-	 * done in the viewer's unConfigure method. In some cases, things may be
-	 * done "twice" ... so uninstall, release, etc., should be prepared.
-	 */
-	public void unConfigure(ISourceViewer viewer) {
-		editorPart = null;
-		// If there're any processors we're hanging on to, be sure they have a
-		// chance to clean themselves up.
-		if (fHighlighter != null) {
-			fHighlighter.uninstall();
-		}
-		if (fContentAssistant != null) {
-			fContentAssistant.uninstall();
-		}
-		if (fReconciler != null) {
-			fReconciler.uninstall();
-		}
-		if (fContentAssistant != null) {
-			unconfigureContentAssistProcessors();
-		}
-		if (fAnnotationHover != null && fAnnotationHover instanceof IReleasable) {
-			((IReleasable) fAnnotationHover).release();
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void unconfigureContentAssistProcessors() {
-		if (!fContentAssistProcessors.isEmpty()) {
-			Iterator it = fContentAssistProcessors.iterator();
-			IContentAssistProcessor p = null;
-			while (it.hasNext()) {
-				p = (IContentAssistProcessor) it.next();
-				if (p instanceof IReleasable)
-					((IReleasable) p).release();
-			}
-		}
-	}
-
-	protected void updateForResource() {
-		if (!fContentAssistProcessors.isEmpty()) {
-			Iterator it = fContentAssistProcessors.iterator();
-			IContentAssistProcessor p = null;
-			while (it.hasNext()) {
-				p = (IContentAssistProcessor) it.next();
-				if (p instanceof IResourceDependentProcessor)
-					((IResourceDependentProcessor) p).initialize(fResource);
-			}
-		}
-	}
-
-
-	/**
-	 * Use a special hyperlink presenter that is aware of how Highlighter
-	 * works instead of PresentationReconciler.
-	 */
-	public IHyperlinkPresenter getHyperlinkPresenter(ISourceViewer sourceViewer) {
-		if (fPreferenceStore == null) {
-			return super.getHyperlinkPresenter(sourceViewer);
-		}
-		return new HighlighterHyperlinkPresenter(fPreferenceStore);
-	}
-
-	/**
-	 * Set the preference store used to initialize this configuration.
-	 * 
-	 * @param store
-	 */
-	void setPreferenceStore(IPreferenceStore store) {
-		fPreferenceStore = store;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewerUndoManager.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewerUndoManager.java
deleted file mode 100644
index 3fd576a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewerUndoManager.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.IUndoManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.ui.view.events.ITextSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.TextSelectionChangedEvent;
-
-
-/**
- * Undo manager exclusively for StructuredTextViewers ONLY. This undo manager
- * is aware that structured documents have their own undo manager. This
- * handles communication between IUndoManager and IStructuredTextUndoManager.
- */
-class StructuredTextViewerUndoManager implements IUndoManager {
-	class UndoNotifier implements ITextSelectionListener {
-
-		public void textSelectionChanged(TextSelectionChangedEvent event) {
-			if ((fUndoManager != null) && (event != null)) {
-				fUndoManager.forceEndOfPendingCommand(this, event.getTextSelectionStart(), event.getTextSelectionEnd() - event.getTextSelectionStart());
-			}
-		}
-
-	}
-
-	private StructuredTextViewer fTextViewer = null;
-	private IStructuredTextUndoManager fUndoManager = null;
-	private ITextSelectionListener fUndoNotifier = new UndoNotifier();
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IUndoManager#beginCompoundChange()
-	 */
-	public void beginCompoundChange() {
-		// forward the request to the model-based undo manager
-		if (fUndoManager != null)
-			fUndoManager.beginRecording(fTextViewer);
-	}
-
-	/**
-	 * Associates a viewer to this undo manager and also attempts to get the
-	 * correct document-specific undo manager.
-	 * 
-	 * @param viewer -
-	 *            Assumes viewer instanceof StructuredTextViewer
-	 */
-	public void connect(ITextViewer viewer) {
-		// future_TODO could probably optimize this to check if already
-		// connected to same viewer/undo manager, dont do anything
-
-		// disconnect from any old manager/viewer
-		disconnect();
-
-		// connect to new viewer/undo manager
-		fTextViewer = (StructuredTextViewer) viewer;
-		if (fTextViewer.getDocument() != null)
-			setDocument((IStructuredDocument) fTextViewer.getDocument());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IUndoManager#disconnect()
-	 */
-	public void disconnect() {
-		// disconnect the viewer from the undo manager
-		if (fUndoManager != null) {
-			fTextViewer.getViewerSelectionManager().removeTextSelectionListener(fUndoNotifier);
-			fUndoManager.disconnect(fTextViewer);
-		}
-
-		// null out the viewer and undo manager
-		fTextViewer = null;
-		fUndoManager = null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IUndoManager#endCompoundChange()
-	 */
-	public void endCompoundChange() {
-		// forward the request to the model-based undo manager
-		if (fUndoManager != null)
-			fUndoManager.endRecording(fTextViewer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IUndoManager#redo()
-	 */
-	public void redo() {
-		// forward the request to the model-based undo manager
-		if (fUndoManager != null)
-			fUndoManager.redo(fTextViewer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IUndoManager#redoable()
-	 */
-	public boolean redoable() {
-		boolean canRedo = false;
-
-		// forward the request to the model-based undo manager
-		if (fUndoManager != null)
-			canRedo = fUndoManager.redoable();
-
-		return canRedo;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IUndoManager#reset()
-	 */
-	public void reset() {
-		// cannot really reset model-based undo manager because other clients
-		// will be affected
-	}
-
-	/**
-	 * Disconnect from the old undo manager and connect to the undo manager
-	 * associated with the new document.
-	 * 
-	 * @param document -
-	 *            assumes document is not null
-	 */
-	public void setDocument(IStructuredDocument document) {
-		if (fUndoManager != null) {
-			fTextViewer.getViewerSelectionManager().removeTextSelectionListener(fUndoNotifier);
-			fUndoManager.disconnect(fTextViewer);
-		}
-
-		fUndoManager = document.getUndoManager();
-		if (fUndoManager != null) {
-			fUndoManager.connect(fTextViewer);
-			fTextViewer.getViewerSelectionManager().addTextSelectionListener(fUndoNotifier);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IUndoManager#setMaximalUndoLevel(int)
-	 */
-	public void setMaximalUndoLevel(int undoLevel) {
-		// cannot really set maximal undo level on model-based undo manager
-		// because other clients will be affected
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IUndoManager#undo()
-	 */
-	public void undo() {
-		// forward the request to the model-based undo manager
-		if (fUndoManager != null)
-			fUndoManager.undo(fTextViewer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IUndoManager#undoable()
-	 */
-	public boolean undoable() {
-		boolean canUndo = false;
-
-		// forward the request to the model-based undo manager
-		if (fUndoManager != null)
-			canUndo = fUndoManager.undoable();
-
-		return canUndo;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ViewerSelectionManager.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ViewerSelectionManager.java
deleted file mode 100644
index a623a86..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ViewerSelectionManager.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui;
-
-
-
-import java.util.List;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.view.events.ICaretListener;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.ITextSelectionListener;
-
-
-public interface ViewerSelectionManager extends ICaretListener, IDoubleClickListener, ISelectionChangedListener, SelectionListener {
-
-	void addNodeDoubleClickListener(IDoubleClickListener listener);
-
-	void addNodeSelectionListener(INodeSelectionListener listener);
-
-	void addTextSelectionListener(ITextSelectionListener listener);
-
-	int getCaretPosition();
-
-	List getSelectedNodes();
-
-	void release();
-
-	void removeNodeDoubleClickListener(IDoubleClickListener listener);
-
-	void removeNodeSelectionListener(INodeSelectionListener listener);
-
-	void removeTextSelectionListener(ITextSelectionListener listener);
-
-	void setModel(IStructuredModel newModel);
-
-	void setTextViewer(ITextViewer newTextViewer);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentassist/IRelevanceCompletionProposal.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentassist/IRelevanceCompletionProposal.java
deleted file mode 100644
index 9e18a06..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentassist/IRelevanceCompletionProposal.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentassist;
-
-
-/**
- * CompletionProposal with a relevance value. The relevance value is used to
- * sort the completion proposals. Proposals with higher relevance should be
- * listed before proposals with lower relevance.
- * 
- * @author pavery
- */
-public interface IRelevanceCompletionProposal {
-	/**
-	 * Returns the relevance of the proposal.
-	 */
-	int getRelevance();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentassist/IResourceDependentProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentassist/IResourceDependentProcessor.java
deleted file mode 100644
index a1561d0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentassist/IResourceDependentProcessor.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentassist;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Interface for classes that require an IResource to operate properly (eg.
- * some ContentAssistProcessors)
- * 
- * @author pavery
- */
-public interface IResourceDependentProcessor {
-	void initialize(IResource resource);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ComboList.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ComboList.java
deleted file mode 100644
index 53a0202..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ComboList.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties.ui;
-
-
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-
-public class ComboList {
-	private Combo combo;
-
-
-	private List list;
-
-	public ComboList(Composite parent, int style) {
-		combo = new Combo(parent, style);
-		list = new ArrayList();
-	}
-
-
-	/*
-	 * following methods is original method of Combo class.
-	 */
-	public void add(String key) {
-		checkError();
-		combo.add(key);
-		list.add(key);
-	}
-
-	public void add(String key, int index) {
-		checkError();
-		combo.add(key, index);
-		list.add(index, key);
-	}
-
-	public void add(String key, String value) {
-		checkError();
-		combo.add(key);
-		list.add(value);
-	}
-
-	public void add(String key, String value, int index) {
-		checkError();
-		combo.add(key, index);
-		list.add(index, value);
-	}
-
-	public void addFocusListener(FocusListener listener) {
-		combo.addFocusListener(listener);
-	}
-
-	public void addModifyListener(org.eclipse.swt.events.ModifyListener listener) {
-		combo.addModifyListener(listener);
-	}
-
-	public void addSelectionListener(org.eclipse.swt.events.SelectionListener listener) {
-		combo.addSelectionListener(listener);
-
-	}
-
-	private void checkError() {
-		if (!isConsistency()) {
-			Logger.log(Logger.WARNING, "Difference between the number of keys[" + combo.getItemCount() + "] and the number of values[" + list.size() + "] in ComboList"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	public org.eclipse.swt.graphics.Point computeSize(int wHint, int hHint) {
-		return combo.computeSize(wHint, hHint);
-	}
-
-	public Map createHashtable() {
-		checkError();
-		Map m = new Hashtable();
-		for (int i = 0; i < list.size(); i++)
-			m.put(combo.getItem(i), list.get(i));
-		return m;
-	}
-
-	public void deselect(int i) {
-		combo.deselect(i);
-	}
-
-	public void deselectAll() {
-		combo.deselectAll();
-	}
-
-	public boolean equals(Object obj) {
-		return combo.equals(obj);
-	}
-
-	private void exchangePosition(int i, int j) {
-		String tmpKey = getItem(i);
-		Object tmpValue = list.remove(i);
-
-		combo.setItem(i, getItem(j));
-		list.add(i, list.remove(j - 1));
-
-		combo.setItem(j, tmpKey);
-		list.add(j, tmpValue);
-	}
-
-	public boolean existsAsKey(String str) {
-		if (combo.indexOf(str) >= 0)
-			return true;
-		else
-			return false;
-	}
-
-	public boolean existsAsValue(String str) {
-		if (list.indexOf(str) >= 0)
-			return true;
-		else
-			return false;
-	}
-
-	public boolean getEnabled() {
-		return combo.getEnabled();
-	}
-
-	public String getItem(int index) {
-		return combo.getItem(index);
-	}
-
-	public int getItemCount() {
-		return combo.getItemCount();
-	}
-
-	public String getKey(String value) {
-		if (value == null)
-			return null;
-		int index = -1;
-		checkError();
-		for (int i = 0; i < list.size(); i++) {
-			if (!list.get(i).equals(value))
-				continue;
-			index = i;
-			break;
-		}
-		if (index != -1)
-			return combo.getItem(index);
-		else
-			return null;
-	}
-
-	public Object getLayoutData() {
-		return combo.getLayoutData();
-	}
-
-	public String getSelectedValue() {
-		checkError();
-		int index = getSelectionIndex();
-		if (index < 0)
-			return null;
-		return getValue(getItem(index));
-	}
-
-	public int getSelectionIndex() {
-		return combo.getSelectionIndex();
-	}
-
-	public String getText() {
-		return combo.getText();
-	}
-
-	public String getValue(String key) {
-		if (key == null)
-			return null;
-		int index = -1;
-		checkError();
-		for (int i = 0; i < combo.getItemCount(); i++) {
-			if (!combo.getItem(i).equals(key))
-				continue;
-			index = i;
-			break;
-		}
-		if (index != -1)
-			return (String) list.get(index);
-		else
-			return null;
-	}
-
-	public int indexOf(String str) {
-		return combo.indexOf(str);
-	}
-
-
-	public boolean isConsistency() {
-
-		if (list.size() == combo.getItemCount())
-			return true;
-		else
-			return false;
-	}
-
-
-	public void remove(int index) {
-		checkError();
-		combo.remove(index);
-		list.remove(index);
-	}
-
-	public void remove(String str) {
-		checkError();
-		combo.remove(str);
-		list.remove(str);
-	}
-
-	public void select(int index) {
-		combo.select(index);
-	}
-
-	public void setEnabled(boolean enabled) {
-		combo.setEnabled(enabled);
-	}
-
-	public boolean setFocus() {
-		return combo.setFocus();
-	}
-
-	public void setItem(int index, String str) {
-		checkError();
-		combo.setItem(index, str);
-		list.remove(index);
-		list.add(index, str);
-	}
-
-	public void setItem(String[] strArray) {
-		checkError();
-		combo.setItems(strArray);
-		for (int i = 0; i < strArray.length; i++)
-			list.add(strArray[i]);
-	}
-
-	public void setLayout(org.eclipse.swt.widgets.Layout lo) {
-		combo.setLayout(lo);
-	}
-
-	public void setLayoutData(Object layoutData) {
-		combo.setLayoutData(layoutData);
-	}
-
-	public void setSelection(Point point) {
-		combo.setSelection(point);
-	}
-
-	public void setText(String str) {
-		combo.setText(str);
-	}
-
-	public void sortByKey(int offset) {
-		if (offset < 0 || offset > this.combo.getItemCount() - 1)
-			return;
-		checkError();
-		//
-		for (int i = offset; i < combo.getItemCount() - 1; i++) {
-			for (int j = i + 1; j < combo.getItemCount(); j++) {
-				if (getItem(i).compareTo(getItem(j)) > 0) {
-					exchangePosition(i, j);
-				}
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ComboListOnPropertyPage.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ComboListOnPropertyPage.java
deleted file mode 100644
index b0026d3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ComboListOnPropertyPage.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties.ui;
-
-
-
-import org.eclipse.swt.widgets.Composite;
-
-
-public final class ComboListOnPropertyPage extends ComboList {
-
-
-	private String currentApplyValue;
-
-	public ComboListOnPropertyPage(Composite parent, int style) {
-		super(parent, style);
-	}
-
-	public final String getApplyValue() {
-		return currentApplyValue;
-	}
-
-	public final void setApplyValue(String currentApplyValue) {
-		this.currentApplyValue = currentApplyValue;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ContentSettingsPropertyPage.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ContentSettingsPropertyPage.java
deleted file mode 100644
index 61fdaaa..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ContentSettingsPropertyPage.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.contentproperties.ui;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.contentproperties.ContentSettings;
-import org.eclipse.wst.sse.ui.contentproperties.ContentSettingsCreator;
-import org.eclipse.wst.sse.ui.contentproperties.IContentSettings;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public abstract class ContentSettingsPropertyPage extends PropertyPage {
-	private static final IStatus STATUS_ERROR = new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.INFO, "ERROR", null); //$NON-NLS-1$
-
-	// for validateEdit()
-	private static final IStatus STATUS_OK = new Status(IStatus.OK, SSEUIPlugin.ID, IStatus.OK, "OK", null); //$NON-NLS-1$
-
-	/**
-	 * Method validateEdit.
-	 * 
-	 * @param file
-	 *            org.eclipse.core.resources.IFile
-	 * @param context
-	 *            org.eclipse.swt.widgets.Shell
-	 * @return IStatus
-	 */
-	public static IStatus validateEdit(IFile file, Shell context) {
-		if (file == null || !file.exists())
-			return STATUS_ERROR;
-		if (!(file.isReadOnly()))
-			return STATUS_OK;
-
-		IPath fullIPath = file.getProject().getLocation();
-		fullIPath = fullIPath.append(file.getName());
-
-		final long beforeModifiedFromJavaIO = fullIPath.toFile().lastModified();
-		final long beforeModifiedFromIFile = file.getModificationStamp();
-
-		IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[]{file}, context);
-		if (!status.isOK())
-			return status;
-
-		final long afterModifiedFromJavaIO = fullIPath.toFile().lastModified();
-		final long afterModifiedFromIFile = file.getModificationStamp();
-
-		if (beforeModifiedFromJavaIO != afterModifiedFromJavaIO) {
-			IModelManager manager = StructuredModelManager.getModelManager();
-			IStructuredModel model = manager.getExistingModelForRead(file);
-			if (model != null) {
-				if (!model.isDirty()) {
-					try {
-						file.refreshLocal(IResource.DEPTH_ONE, null);
-					} catch (CoreException e) {
-						return STATUS_ERROR;
-					} finally {
-						model.releaseFromRead();
-					}
-				} else {
-					model.releaseFromRead();
-				}
-			}
-		}
-
-		if ((beforeModifiedFromJavaIO != afterModifiedFromJavaIO) || (beforeModifiedFromIFile != afterModifiedFromIFile)) {
-			// the file is replaced. Modification cannot be
-			// applied.
-			return STATUS_ERROR;
-		}
-		return STATUS_OK;
-	}
-
-	protected ComboListOnPropertyPage[] combo;
-	protected Composite composite;
-
-	protected IContentSettings contentSettings;
-	protected final String CSS_LABEL = SSEUIPlugin.getResourceString("%UI_CSS_profile___2"); //$NON-NLS-1$
-	protected final String DEVICE_LABEL = SSEUIPlugin.getResourceString("%UI_Target_Device___3"); //$NON-NLS-1$
-
-	protected final String DOCUMENT_LABEL = SSEUIPlugin.getResourceString("%UI_Default_HTML_DOCTYPE_ID___1"); //$NON-NLS-1$
-	protected int numberOfCombo;
-	protected int numCols = 1;
-	protected int numRows = 1;
-	protected Composite propertyPage;
-
-	public ContentSettingsPropertyPage() {
-		super();
-	}
-
-	private void cleanUp() {
-		// Are There any way to guarantee to call cleanUp() to re-load
-		// downloaded .contentsettings file
-		// after ContentSettings.releaseCache() in ContentSettingSelfHandler
-		// class, which is called by resourceChangeEvent
-	}
-
-
-	protected ComboListOnPropertyPage createComboBoxOf(String title) {
-
-		Label label = new Label(propertyPage, SWT.LEFT);
-		label.setText(title);
-		if (title != null && title.startsWith(SSEUIPlugin.getResourceString("%UI_Default_HTML_DOCTYPE_ID___1"))) { //$NON-NLS-1$
-			GridData data = new GridData();
-			data.horizontalIndent = 10;
-			label.setLayoutData(data);
-		}
-		ComboListOnPropertyPage combo = new ComboListOnPropertyPage(propertyPage, SWT.READ_ONLY);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		//data.horizontalAlignment= GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		combo.setLayoutData(data);
-		return combo;
-	}
-
-
-
-	protected Composite createComposite(Composite parent, int numColumns, int numRows) {
-		Composite composite = new Composite(parent, SWT.NONE);
-
-		//GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		composite.setLayout(layout);
-
-		//GridData
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		//		data.horizontalSpan=numColumns;
-		//		data.verticalSpan=numRows;
-
-		composite.setLayoutData(data);
-		return composite;
-	}
-
-
-	protected Control createContents(Composite parent) {
-
-		contentSettings = ContentSettingsCreator.create();
-
-		propertyPage = createComposite(parent, numCols, numRows);
-
-		createSettingsPageGUI();
-
-		return propertyPage;
-
-
-	}
-
-	protected abstract void createSettingsPageGUI();
-
-	//protected abstract void applySelectedPropertyValue(String str,int
-	// index);
-	protected abstract void deleteNoneProperty(int index);
-
-
-
-	protected boolean isInitValueChanged(String before, String after) {
-		if (before == null && after == null)
-			return false;
-		if (before != null && before.equals(after))
-			return false;
-		return true;
-	}
-
-
-
-	protected void performDefaults() {
-		super.performDefaults();
-		// selected(applied) item is restored.
-		for (int i = 0; i < numberOfCombo; i++) {
-			//String appliedValue = combo[i].getApplyValue();
-			//setSelectionItem(combo[i],appliedValue);
-			combo[i].select(0); // select none.
-
-		}
-
-	}
-
-	public boolean performOk() {
-		Map properties = new Hashtable();
-		if (validateState() == false) {
-			cleanUp();
-			return true;
-		}
-		for (int i = 0; i < numberOfCombo; i++) {
-			// get selected item in Combo box.
-			String str = combo[i].getSelectedValue();
-			if (str == null)
-				continue;
-			// if no change, skip setProperty
-			if (!isInitValueChanged(combo[i].getApplyValue(), str))
-				continue;
-			// if NONE is selected, delete attr instance (and write
-			// .contentsettings.)
-			if (str != null && str.length() == 0)
-				deleteNoneProperty(i);
-			else
-				putSelectedPropertyInto(properties, str, i);
-			//applySelectedPropertyValue(str,i);
-
-			// set apply value in ComboListOnPropertyPage.
-			combo[i].setApplyValue(str);
-		}
-		if (properties != null && !properties.isEmpty())
-			contentSettings.setProperties((IResource) super.getElement(), properties);
-		if (properties != null)
-			properties.clear();
-		properties = null;
-		if (!contentSettings.existsProperties((IResource) super.getElement()))
-			contentSettings.deleteAllProperties((IResource) super.getElement());
-		return true;
-	}
-
-	protected abstract void putSelectedPropertyInto(Map properties, String str, int i);
-
-
-	protected void setSelectionItem(ComboListOnPropertyPage combo, String value) {
-		if (combo.getItemCount() <= 0)
-			return;
-		combo.setApplyValue(value);
-		String item = combo.getKey(value);
-		if (item != null)
-			combo.select(combo.indexOf(item));
-		else
-			combo.select(0);
-
-	}
-
-	/*
-	 * Validate Edit. Similar function will be in HTMLCommand.java
-	 * ContentSettingsPropertyPage.java CSSActionManager.java
-	 * DesignRedoAction.java DesignUndoAction.java
-	 * HTMLConversionProcessor.java
-	 */
-	private boolean validateState() {
-
-		// get IFile of .contentsettings
-		final String name = ContentSettings.getContentSettingsName();
-		final IResource resource = (IResource) super.getElement();
-		final IProject project = resource.getProject();
-		IFile file = project.getFile(name);
-
-		if (file != null && !file.exists())
-			return true; //Is this really OK?
-		//If false should be returned,
-		//This statemant can be removed,
-		//since ModelManagerUtil.validateEdit()
-		//returns error to this case.
-
-		Shell shell = getControl().getShell();
-		IStatus status = validateEdit(file, shell);
-		return status.isOK() ? true : false;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActionContributor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActionContributor.java
deleted file mode 100644
index f54e981..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActionContributor.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.editors.text.TextEditorActionContributor;
-import org.eclipse.ui.ide.IDEActionFactory;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.ITextEditorExtension;
-import org.eclipse.ui.texteditor.RetargetTextEditorAction;
-import org.eclipse.wst.sse.ui.GotoAnnotationAction;
-import org.eclipse.wst.sse.ui.ISourceViewerActionBarContributor;
-import org.eclipse.wst.sse.ui.extension.ExtendedEditorActionBuilder;
-import org.eclipse.wst.sse.ui.extension.IExtendedContributor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.ui.OffsetStatusLineContributionItem;
-
-/**
- * XMLEditorActionContributor
- * 
- * This class should not be used inside multi page editor's
- * ActionBarContributor, since cascaded init() call from the
- * ActionBarContributor will causes exception and it leads to lose whole
- * toolbars.
- * 
- * Instead, use SourcePageActionContributor for source page contributor of
- * multi page editor.
- * 
- * Note that this class is still valid for single page editor.
- */
-public class ActionContributor extends TextEditorActionContributor implements ISourceViewerActionBarContributor, IExtendedContributor {
-
-	public static final boolean _showDebugStatus = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields"));
-
-	private static final String[] EDITOR_IDS = {"org.eclipse.wst.sse.ui.StructuredTextEditor"}; //$NON-NLS-1$
-
-	protected IExtendedContributor extendedContributor;
-	protected RetargetTextEditorAction fAddBlockComment = null;
-
-	protected Separator fCommandsSeparator = null;
-
-	private OffsetStatusLineContributionItem fDebugStatusOffset = null;
-	protected MenuManager fExpandSelectionToMenu = null;
-	protected GroupMarker fMenuAdditionsGroupMarker = null;
-	protected GotoAnnotationAction fNextAnnotation = null;
-
-	protected GotoAnnotationAction fPreviousAnnotation = null;
-	protected RetargetTextEditorAction fRemoveBlockComment = null;
-	protected RetargetTextEditorAction fShiftLeft = null;
-	protected RetargetTextEditorAction fShiftRight = null;
-	protected RetargetTextEditorAction fStructureSelectEnclosingAction = null;
-	protected RetargetTextEditorAction fStructureSelectHistoryAction = null;
-	protected RetargetTextEditorAction fStructureSelectNextAction = null;
-	protected RetargetTextEditorAction fStructureSelectPreviousAction = null;
-
-	protected RetargetTextEditorAction fToggleComment = null;
-	protected RetargetTextEditorAction fToggleInsertModeAction;
-	protected GroupMarker fToolbarAdditionsGroupMarker = null;
-	protected Separator fToolbarSeparator = null;
-
-	public ActionContributor() {
-		super();
-
-		ResourceBundle resourceBundle = SSEUIPlugin.getDefault().getResourceBundle();
-
-		fCommandsSeparator = new Separator();
-
-		// edit commands
-		fStructureSelectEnclosingAction = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_ENCLOSING + StructuredTextEditorActionConstants.DOT);
-		fStructureSelectEnclosingAction.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_ENCLOSING);
-
-		fStructureSelectNextAction = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_NEXT + StructuredTextEditorActionConstants.DOT);
-		fStructureSelectNextAction.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_NEXT);
-
-		fStructureSelectPreviousAction = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_PREVIOUS + StructuredTextEditorActionConstants.DOT);
-		fStructureSelectPreviousAction.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_PREVIOUS);
-
-		fStructureSelectHistoryAction = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_HISTORY + StructuredTextEditorActionConstants.DOT);
-		fStructureSelectHistoryAction.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_HISTORY);
-
-		fExpandSelectionToMenu = new MenuManager(SSEUIPlugin.getResourceString("%ExpandSelectionToMenu.label")); //$NON-NLS-1$
-		fExpandSelectionToMenu.add(fStructureSelectEnclosingAction);
-		fExpandSelectionToMenu.add(fStructureSelectNextAction);
-		fExpandSelectionToMenu.add(fStructureSelectPreviousAction);
-		fExpandSelectionToMenu.add(fStructureSelectHistoryAction);
-
-		// source commands
-		fShiftRight = new RetargetTextEditorAction(resourceBundle, ITextEditorActionConstants.SHIFT_RIGHT + StructuredTextEditorActionConstants.DOT);
-		fShiftRight.setActionDefinitionId(ITextEditorActionDefinitionIds.SHIFT_RIGHT);
-
-		fShiftLeft = new RetargetTextEditorAction(resourceBundle, ITextEditorActionConstants.SHIFT_LEFT + StructuredTextEditorActionConstants.DOT);
-		fShiftLeft.setActionDefinitionId(ITextEditorActionDefinitionIds.SHIFT_LEFT);
-
-		fToggleComment = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT + StructuredTextEditorActionConstants.DOT);
-		fToggleComment.setActionDefinitionId(ActionDefinitionIds.TOGGLE_COMMENT);
-
-		fAddBlockComment = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT + StructuredTextEditorActionConstants.DOT);
-		fAddBlockComment.setActionDefinitionId(ActionDefinitionIds.ADD_BLOCK_COMMENT);
-
-		fRemoveBlockComment = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT + StructuredTextEditorActionConstants.DOT);
-		fRemoveBlockComment.setActionDefinitionId(ActionDefinitionIds.REMOVE_BLOCK_COMMENT);
-
-		// goto prev/next error
-		// CMVC 249017 for JavaEditor consistancy
-		fPreviousAnnotation = new GotoAnnotationAction("Previous_annotation", false); //$NON-NLS-1$
-		fPreviousAnnotation.setActionDefinitionId("org.eclipse.ui.navigate.previous"); //$NON-NLS-1$
-
-		fNextAnnotation = new GotoAnnotationAction("Next_annotation", true); //$NON-NLS-1$
-		fNextAnnotation.setActionDefinitionId("org.eclipse.ui.navigate.next"); //$NON-NLS-1$
-
-		// Read action extensions.
-		ExtendedEditorActionBuilder builder = new ExtendedEditorActionBuilder();
-		extendedContributor = builder.readActionExtensions(getExtensionIDs());
-
-		fMenuAdditionsGroupMarker = new GroupMarker(StructuredTextEditorActionConstants.GROUP_NAME_MENU_ADDITIONS);
-		fToolbarSeparator = new Separator();
-		fToolbarAdditionsGroupMarker = new GroupMarker(StructuredTextEditorActionConstants.GROUP_NAME_TOOLBAR_ADDITIONS);
-
-		fToggleInsertModeAction = new RetargetTextEditorAction(resourceBundle, "Editor.ToggleInsertMode.", IAction.AS_CHECK_BOX); //$NON-NLS-1$
-		fToggleInsertModeAction.setActionDefinitionId(ITextEditorActionDefinitionIds.TOGGLE_INSERT_MODE);
-
-		if (_showDebugStatus) {
-			fDebugStatusOffset = new OffsetStatusLineContributionItem(StructuredTextEditorActionConstants.STATUS_CATEGORY_OFFSET, true, 20);
-		}
-	}
-
-	protected void addToMenu(IMenuManager menu) {
-		// edit commands
-		IMenuManager editMenu = menu.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
-		if (editMenu != null) {
-			editMenu.add(fCommandsSeparator);
-			editMenu.add(fToggleInsertModeAction);
-			editMenu.add(fCommandsSeparator);
-			editMenu.add(fExpandSelectionToMenu);
-			editMenu.add(fCommandsSeparator);
-			editMenu.add(fMenuAdditionsGroupMarker);
-		}
-
-		// source commands
-		String sourceMenuLabel = SSEUIPlugin.getResourceString("%SourceMenu.label"); //$NON-NLS-1$
-		String sourceMenuId = "sourceMenuId"; // This is just a menu id. No
-		// need to translate.
-		// //$NON-NLS-1$
-		IMenuManager sourceMenu = new MenuManager(sourceMenuLabel, sourceMenuId);
-		menu.insertAfter(IWorkbenchActionConstants.M_EDIT, sourceMenu);
-		if (sourceMenu != null) {
-			sourceMenu.add(fCommandsSeparator);
-			sourceMenu.add(fToggleComment);
-			sourceMenu.add(fAddBlockComment);
-			sourceMenu.add(fRemoveBlockComment);
-			sourceMenu.add(fShiftRight);
-			sourceMenu.add(fShiftLeft);
-		}
-	}
-
-	protected void addToPopupMenu(IMenuManager menu) {
-		// add nothing
-	}
-
-	protected void addToStatusLine(IStatusLineManager manager) {
-		if (_showDebugStatus) {
-			manager.add(fDebugStatusOffset);
-		}
-	}
-
-	protected void addToToolBar(IToolBarManager toolBarManager) {
-		toolBarManager.add(fToolbarSeparator);
-		toolBarManager.add(fToolbarAdditionsGroupMarker);
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToMenu(IMenuManager)
-	 */
-	public void contributeToMenu(IMenuManager menu) {
-		super.contributeToMenu(menu);
-
-		addToMenu(menu);
-
-		if (extendedContributor != null) {
-			extendedContributor.contributeToMenu(menu);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extension.IPopupMenuContributor#contributeToPopupMenu(org.eclipse.jface.action.IMenuManager)
-	 */
-	public void contributeToPopupMenu(IMenuManager menu) {
-
-		addToPopupMenu(menu);
-
-		if (extendedContributor != null) {
-			extendedContributor.contributeToPopupMenu(menu);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToStatusLine(org.eclipse.jface.action.IStatusLineManager)
-	 */
-	public void contributeToStatusLine(IStatusLineManager manager) {
-		super.contributeToStatusLine(manager);
-
-		addToStatusLine(manager);
-
-		if (extendedContributor != null) {
-			extendedContributor.contributeToStatusLine(manager);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToToolBar(IToolBarManager)
-	 */
-	public void contributeToToolBar(IToolBarManager toolBarManager) {
-		super.contributeToToolBar(toolBarManager);
-
-		addToToolBar(toolBarManager);
-
-		if (extendedContributor != null) {
-			extendedContributor.contributeToToolBar(toolBarManager);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.EditorActionBarContributor#dispose()
-	 */
-	public void dispose() {
-		// need to call setActiveEditor before super.dispose because in both
-		// setActiveEditor & super.setActiveEditor if getEditorPart ==
-		// activeEditor,
-		// the method is just returned. so to get both methods to run,
-		// setActiveEditor
-		// needs to be called so that it correctly calls super.setActiveEditor
-		setActiveEditor(null);
-
-		super.dispose();
-
-		if (extendedContributor != null)
-			extendedContributor.dispose();
-	}
-
-	protected String[] getExtensionIDs() {
-		return EDITOR_IDS;
-	}
-
-	/**
-	 * @param editor
-	 * @return
-	 */
-	protected ITextEditor getTextEditor(IEditorPart editor) {
-		ITextEditor textEditor = null;
-		if (editor instanceof ITextEditor)
-			textEditor = (ITextEditor) editor;
-		if (textEditor == null && editor != null)
-			textEditor = (ITextEditor) editor.getAdapter(ITextEditor.class);
-		return textEditor;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorActionBarContributor#init(org.eclipse.ui.IActionBars,
-	 *      org.eclipse.ui.IWorkbenchPage)
-	 */
-	public void init(IActionBars bars, IWorkbenchPage page) {
-		super.init(bars, page);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorActionBarContributor#setActiveEditor(IEditorPart)
-	 */
-	public void setActiveEditor(IEditorPart activeEditor) {
-		if (getActiveEditorPart() == activeEditor)
-			return;
-		super.setActiveEditor(activeEditor);
-
-		ITextEditor textEditor = getTextEditor(activeEditor);
-
-		IActionBars actionBars = getActionBars();
-		if (actionBars != null) {
-			actionBars.setGlobalActionHandler(ITextEditorActionDefinitionIds.GOTO_NEXT_ANNOTATION, fNextAnnotation);
-			actionBars.setGlobalActionHandler(ITextEditorActionDefinitionIds.GOTO_PREVIOUS_ANNOTATION, fPreviousAnnotation);
-			actionBars.setGlobalActionHandler(ActionFactory.PREVIOUS.getId(), fPreviousAnnotation);
-			actionBars.setGlobalActionHandler(ActionFactory.NEXT.getId(), fNextAnnotation);
-
-			if (textEditor != null) {
-				actionBars.setGlobalActionHandler(IDEActionFactory.ADD_TASK.getId(), getAction(textEditor, IDEActionFactory.ADD_TASK.getId()));
-				actionBars.setGlobalActionHandler(IDEActionFactory.BOOKMARK.getId(), getAction(textEditor, IDEActionFactory.BOOKMARK.getId()));
-			}
-		}
-
-		fStructureSelectEnclosingAction.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_ENCLOSING));
-		fStructureSelectNextAction.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_NEXT));
-		fStructureSelectPreviousAction.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_PREVIOUS));
-		fStructureSelectHistoryAction.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_HISTORY));
-
-		fShiftRight.setAction(getAction(textEditor, ITextEditorActionConstants.SHIFT_RIGHT));
-		fShiftLeft.setAction(getAction(textEditor, ITextEditorActionConstants.SHIFT_LEFT));
-
-		fToggleComment.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT));
-		fAddBlockComment.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT));
-		fRemoveBlockComment.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT));
-
-		// go to prev/next error
-		// CMVC 249017 for JavaEditor consistancy
-		fPreviousAnnotation.setEditor(textEditor);
-		fNextAnnotation.setEditor(textEditor);
-
-		fToggleInsertModeAction.setAction(getAction(textEditor, ITextEditorActionConstants.TOGGLE_INSERT_MODE));
-
-		if (extendedContributor != null) {
-			extendedContributor.setActiveEditor(activeEditor);
-		}
-
-		if (_showDebugStatus && textEditor instanceof ITextEditorExtension) {
-			((ITextEditorExtension) textEditor).setStatusField(fDebugStatusOffset, StructuredTextEditorActionConstants.STATUS_CATEGORY_OFFSET);
-			fDebugStatusOffset.setActiveEditor(textEditor);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.ISourceViewerActionBarContributor#setViewerSpecificContributionsEnabled(boolean)
-	 */
-	public void setViewerSpecificContributionsEnabled(boolean enabled) {
-		fShiftRight.setEnabled(enabled);
-		fShiftLeft.setEnabled(enabled);
-		fNextAnnotation.setEnabled(enabled);
-		fPreviousAnnotation.setEnabled(enabled);
-
-		/*
-		 * fComment.setEnabled(enabled); fUncomment.setEnabled(enabled);
-		 */
-		fToggleComment.setEnabled(enabled);
-		fAddBlockComment.setEnabled(enabled);
-		fRemoveBlockComment.setEnabled(enabled);
-		// convert line delimiters are not source viewer-specific
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extension.IExtendedContributor#updateToolbarActions()
-	 */
-	public void updateToolbarActions() {
-		if (extendedContributor != null) {
-			extendedContributor.updateToolbarActions();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActionDefinitionIds.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActionDefinitionIds.java
deleted file mode 100644
index 563f27c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActionDefinitionIds.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-
-
-/**
- * Defines the definitions ids for editor actions.
- */
-public interface ActionDefinitionIds {
-	//TODO: Can these be better defined with a "plugin prefix" to be more portable? 
-	public final static String ADD_BLOCK_COMMENT = "org.eclipse.wst.sse.ui.add.block.comment";//$NON-NLS-1$
-
-	public final static String CLEANUP_DOCUMENT = "org.eclipse.wst.sse.ui.cleanup.document";//$NON-NLS-1$
-	public final static String COMMENT = "org.eclipse.wst.sse.ui.comment";//$NON-NLS-1$
-	public final static String EDIT_BREAKPOINTS = "org.eclipse.wst.sse.ui.breakpoints.edit";//$NON-NLS-1$
-	public final static String FIND_OCCURRENCES = "org.eclipse.wst.sse.ui.search.find.occurrences";//$NON-NLS-1$
-	public final static String FORMAT_ACTIVE_ELEMENTS = "org.eclipse.wst.sse.ui.format.active.elements";//$NON-NLS-1$
-	public final static String FORMAT_DOCUMENT = "org.eclipse.wst.sse.ui.format.document";//$NON-NLS-1$
-	public final static String INFORMATION = "org.eclipse.wst.sse.ui.show.javadoc";//$NON-NLS-1$
-	public final static String MANAGE_BREAKPOINTS = "org.eclipse.wst.sse.ui.breakpoints.manage";//$NON-NLS-1$
-	public final static String OPEN_FILE = "org.eclipse.wst.sse.ui.open.file.from.source";//$NON-NLS-1$
-	public final static String QUICK_FIX = "org.eclipse.wst.sse.ui.edit.text.java.correction.assist.proposals";//$NON-NLS-1$
-	public final static String REMOVE_BLOCK_COMMENT = "org.eclipse.wst.sse.ui.remove.block.comment";//$NON-NLS-1$
-	public final static String STRUCTURE_SELECT_ENCLOSING = "org.eclipse.wst.sse.ui.structure.select.enclosing";//$NON-NLS-1$
-	public final static String STRUCTURE_SELECT_HISTORY = "org.eclipse.wst.sse.ui.structure.select.last";//$NON-NLS-1$
-	public final static String STRUCTURE_SELECT_NEXT = "org.eclipse.wst.sse.ui.structure.select.next";//$NON-NLS-1$
-	public final static String STRUCTURE_SELECT_PREVIOUS = "org.eclipse.wst.sse.ui.structure.select.previous";//$NON-NLS-1$
-	public final static String TOGGLE_COMMENT = "org.eclipse.wst.sse.ui.toggle.comment";//$NON-NLS-1$
-	public final static String TOGGLE_BREAKPOINTS = "org.eclipse.wst.sse.ui.breakpoints.toggle";//$NON-NLS-1$
-	public final static String UNCOMMENT = "org.eclipse.wst.sse.ui.uncomment";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActiveEditorActionHandler.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActiveEditorActionHandler.java
deleted file mode 100644
index bcb4062..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActiveEditorActionHandler.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class ActiveEditorActionHandler implements IAction {
-
-	private String fActionId;
-	private IWorkbenchSite fSite;
-	private IAction fTargetAction;
-
-	public ActiveEditorActionHandler(IWorkbenchSite site, String id) {
-		super();
-		fActionId = id;
-		fSite = site;
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getAccelerator()
-	 */
-	public int getAccelerator() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.getAccelerator() : 0);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getActionDefinitionId()
-	 */
-	public String getActionDefinitionId() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.getActionDefinitionId() : null);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getDescription()
-	 */
-	public String getDescription() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.getDescription() : null);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getDisabledImageDescriptor()
-	 */
-	public ImageDescriptor getDisabledImageDescriptor() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.getDisabledImageDescriptor() : null);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getHelpListener()
-	 */
-	public HelpListener getHelpListener() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.getHelpListener() : null);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getHoverImageDescriptor()
-	 */
-	public ImageDescriptor getHoverImageDescriptor() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.getHoverImageDescriptor() : null);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getId()
-	 */
-	public String getId() {
-		return getClass().getName() + hashCode();
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.getImageDescriptor() : null);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getMenuCreator()
-	 */
-	public IMenuCreator getMenuCreator() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getStyle()
-	 */
-	public int getStyle() {
-		return IAction.AS_PUSH_BUTTON;
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getText()
-	 */
-	public String getText() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.getText() : null);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#getToolTipText()
-	 */
-	public String getToolTipText() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.getToolTipText() : null);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#isChecked()
-	 */
-	public boolean isChecked() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.isChecked() : true);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#isEnabled()
-	 */
-	public boolean isEnabled() {
-		updateTargetAction();
-		return (fTargetAction != null ? fTargetAction.isEnabled() : false);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		updateTargetAction();
-		if (fTargetAction != null)
-			fTargetAction.run();
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#runWithEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(Event event) {
-		updateTargetAction();
-		if (fTargetAction != null)
-			fTargetAction.runWithEvent(event);
-	}
-
-	/**
-	 * NOT SUPPORTED
-	 * 
-	 * @see org.eclipse.jface.action.IAction#setAccelerator(int)
-	 */
-	public void setAccelerator(int keycode) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setActionDefinitionId(java.lang.String)
-	 */
-	public void setActionDefinitionId(String id) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setChecked(boolean)
-	 */
-	public void setChecked(boolean checked) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setDescription(java.lang.String)
-	 */
-	public void setDescription(String text) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setDisabledImageDescriptor(org.eclipse.jface.resource.ImageDescriptor)
-	 */
-	public void setDisabledImageDescriptor(ImageDescriptor newImage) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setHelpListener(org.eclipse.swt.events.HelpListener)
-	 */
-	public void setHelpListener(HelpListener listener) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setHoverImageDescriptor(org.eclipse.jface.resource.ImageDescriptor)
-	 */
-	public void setHoverImageDescriptor(ImageDescriptor newImage) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setId(java.lang.String)
-	 */
-	public void setId(String id) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setImageDescriptor(org.eclipse.jface.resource.ImageDescriptor)
-	 */
-	public void setImageDescriptor(ImageDescriptor newImage) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setMenuCreator(org.eclipse.jface.action.IMenuCreator)
-	 */
-	public void setMenuCreator(IMenuCreator creator) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setText(java.lang.String)
-	 */
-	public void setText(String text) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#setToolTipText(java.lang.String)
-	 */
-	public void setToolTipText(String text) {
-	}
-
-	private void updateTargetAction() {
-		if (fSite != null && fSite.getWorkbenchWindow() != null && fSite.getWorkbenchWindow().getActivePage() != null) {
-			IEditorPart part = fSite.getWorkbenchWindow().getActivePage().getActiveEditor();
-			ITextEditor editor = null;
-			if (part instanceof ITextEditor)
-				editor = (ITextEditor) part;
-			else
-				editor = (ITextEditor) (part != null ? part.getAdapter(ITextEditor.class) : null);
-			if (editor != null) {
-				fTargetAction = editor.getAction(fActionId);
-			} else {
-				fTargetAction = null;
-			}
-		} else
-			fTargetAction = null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/BasicAutoEditStrategy.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/BasicAutoEditStrategy.java
deleted file mode 100644
index 2cd467b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/BasicAutoEditStrategy.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-import org.eclipse.jface.text.IAutoEditStrategy;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public abstract class BasicAutoEditStrategy implements IAutoEditStrategy {
-	/**
-	 * Return the active text editor if possible, otherwise the active editor
-	 * part.
-	 * 
-	 * @return
-	 * @todo Generated comment
-	 */
-	protected Object getActiveTextEditor() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IEditorPart editor = page.getActiveEditor();
-				if (editor != null) {
-					if (editor instanceof ITextEditor)
-						return editor;
-					ITextEditor textEditor = (ITextEditor) editor.getAdapter(ITextEditor.class);
-					if (textEditor != null)
-						return textEditor;
-					return editor;
-				}
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/CleanupAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/CleanupAction.java
deleted file mode 100644
index 2027418..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/CleanupAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupProcessor;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public abstract class CleanupAction extends TextEditorAction {
-	protected Dialog fCleanupDialog;
-
-	public CleanupAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected abstract Dialog getCleanupDialog(Shell shell);
-
-	protected abstract IStructuredCleanupProcessor getCleanupProcessor();
-
-	public void run() {
-		if (getTextEditor() instanceof StructuredTextEditor) {
-			final StructuredTextEditor editor = (StructuredTextEditor) getTextEditor();
-			Dialog cleanupDialog = getCleanupDialog(editor.getSite().getShell());
-			if (cleanupDialog != null) {
-				if (cleanupDialog.open() == Window.OK) {
-					// setup runnable
-					Runnable runnable = new Runnable() {
-						public void run() {
-							IStructuredCleanupProcessor cleanupProcessor = getCleanupProcessor();
-							if (cleanupProcessor != null)
-								cleanupProcessor.cleanupModel(editor.getModel());
-						}
-					};
-
-					try {
-						// begin recording
-						ITextSelection selection = (ITextSelection) editor.getSelectionProvider().getSelection();
-						editor.getModel().beginRecording(this, SSEUIPlugin.getResourceString("%Cleanup_Document_UI_"), SSEUIPlugin.getResourceString("%Cleanup_Document_UI_"), selection.getOffset(), selection.getLength()); //$NON-NLS-1$ //$NON-NLS-2$
-
-						// tell the model that we are about to make a big
-						// model change
-						editor.getModel().aboutToChangeModel();
-
-						// run
-						BusyIndicator.showWhile(editor.getTextViewer().getControl().getDisplay(), runnable);
-					} finally {
-						// tell the model that we are done with the big model
-						// change
-						editor.getModel().changedModel();
-
-						// end recording
-						ITextSelection selection = (ITextSelection) editor.getSelectionProvider().getSelection();
-						editor.getModel().endRecording(this, selection.getOffset(), selection.getLength());
-					}
-				}
-
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToCRActionDelegate.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToCRActionDelegate.java
deleted file mode 100644
index ebb2518..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToCRActionDelegate.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-/**
- *  @deprecated Eclipse now provides a file conversion action. This will be deleted in M4.
- */
-public class ConvertLineDelimitersToCRActionDelegate extends ConvertLineDelimitersToCRLFActionDelegate {
-	public ConvertLineDelimitersToCRActionDelegate() {
-		super();
-
-		setLineDelimiter("\r"); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToCRLFActionDelegate.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToCRLFActionDelegate.java
deleted file mode 100644
index daf806c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToCRLFActionDelegate.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.editors.text.TextFileDocumentProvider;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- *  @deprecated Eclipse now provides a file conversion action. This will be deleted in M4.
- */
-public class ConvertLineDelimitersToCRLFActionDelegate extends ResourceActionDelegate {
-
-	class ConvertLineDelimitersJob extends Job {
-
-		public ConvertLineDelimitersJob(String name) {
-			super(name);
-		}
-
-		/**
-		 * @param container
-		 * @return
-		 */
-		private int getResourceCount(IResource[] members) {
-			int count = 0;
-
-			for (int i = 0; i < members.length; i++) {
-				if (members[i] instanceof IContainer) {
-					IContainer container = (IContainer) members[i];
-					try {
-						count += getResourceCount(container.members());
-					} catch (CoreException e) {
-						// skip counting
-					}
-				} else
-					count++;
-			}
-
-			return count;
-		}
-
-		/**
-		 * @param elements
-		 * @return
-		 */
-		private int getResourceCount(Object[] elements) {
-			int count = 0;
-
-			for (int i = 0; i < elements.length; i++) {
-				if (elements[i] instanceof IContainer) {
-					IContainer container = (IContainer) elements[i];
-					try {
-						count += getResourceCount(container.members());
-					} catch (CoreException e) {
-						// skip counting
-					}
-				} else
-					count++;
-			}
-
-			return count;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			IStatus status = Status.OK_STATUS;
-
-			Object[] elements = fSelection.toArray();
-			int resourceCount = getResourceCount(elements);
-			monitor.beginTask("", resourceCount); //$NON-NLS-1$
-			for (int i = 0; i < elements.length; i++) {
-				if (elements[i] instanceof IResource) {
-					process(monitor, (IResource) elements[i]);
-					monitor.worked(1);
-				}
-			}
-			monitor.done();
-
-			if (fErrorStatus.getChildren().length > 0) {
-				status = fErrorStatus;
-				fErrorStatus = new MultiStatus(SSEUIPlugin.ID, IStatus.ERROR, SSEUIPlugin.getResourceString("%ConvertLineDelimitersToCRLFActionDelegate.errorStatusMessage"), null); //$NON-NLS-1$
-			}
-
-			return status;
-		}
-
-	}
-
-	private MultiStatus fErrorStatus = new MultiStatus(SSEUIPlugin.ID, IStatus.ERROR, SSEUIPlugin.getResourceString("%ConvertLineDelimitersToCRLFActionDelegate.errorStatusMessage"), null); //$NON-NLS-1$
-	protected String fLineDelimiter = "\r\n"; //$NON-NLS-1$
-
-	protected void convert(IProgressMonitor monitor, IFile file) {
-		try {
-			monitor.worked(1);
-			IContentDescription contentDescription = file.getContentDescription();
-			if (contentDescription == null)
-				return;
-
-			IContentType contentType = contentDescription.getContentType();
-			if (contentType.isKindOf(Platform.getContentTypeManager().getContentType("org.eclipse.core.runtime.text"))) { //$NON-NLS-1$
-				if (monitor == null || !monitor.isCanceled()) {
-					String message = MessageFormat.format(SSEUIPlugin.getResourceString("%ConvertLineDelimitersToCRLFActionDelegate.3"), new String[]{file.getFullPath().toString()}); //$NON-NLS-1$
-					monitor.subTask(message);
-
-					IFileEditorInput input = new FileEditorInput(file);
-					IDocumentProvider documentProvider = new TextFileDocumentProvider();
-					documentProvider.connect(new FileEditorInput(file));
-					IDocument document = documentProvider.getDocument(new FileEditorInput(file));
-					documentProvider.disconnect(input);
-
-					int lineCount = document.getNumberOfLines();
-					for (int i = 0; i < lineCount; i++) {
-						if (!monitor.isCanceled()) {
-							final String delimiter = document.getLineDelimiter(i);
-							if (delimiter != null && delimiter.length() > 0 && !delimiter.equals(fLineDelimiter)) {
-								IRegion region = document.getLineInformation(i);
-								document.replace(region.getOffset() + region.getLength(), delimiter.length(), fLineDelimiter);
-							}
-						}
-					}
-
-					writeFile(monitor, file, document.get());
-				}
-			}
-		} catch (CoreException e) {
-			String message = MessageFormat.format(SSEUIPlugin.getResourceString("%ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{file.getName()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-		} catch (BadLocationException e) {
-			String message = MessageFormat.format(SSEUIPlugin.getResourceString("%ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{file.getName()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-		}
-	}
-
-	protected void convert(IProgressMonitor monitor, IResource resource) {
-		if (resource instanceof IFile) {
-			IFile file = (IFile) resource;
-
-			if (monitor == null || !monitor.isCanceled())
-				convert(monitor, file);
-		} else if (resource instanceof IContainer) {
-			IContainer container = (IContainer) resource;
-
-			try {
-				IResource[] members = container.members();
-				for (int i = 0; i < members.length; i++) {
-					if (monitor == null || !monitor.isCanceled())
-						convert(monitor, members[i]);
-				}
-			} catch (CoreException e) {
-				String message = MessageFormat.format(SSEUIPlugin.getResourceString("%ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{resource.getFullPath().toString()}); //$NON-NLS-1$
-				fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-			}
-		}
-	}
-
-	protected Job getJob() {
-		return new ConvertLineDelimitersJob(SSEUIPlugin.getResourceString("%ConvertLineDelimitersToCRLFActionDelegate.jobName")); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.edit.util.ResourceActionDelegate#process(org.eclipse.core.runtime.IProgressMonitor,
-	 *      org.eclipse.core.resources.IResource)
-	 */
-	protected void process(IProgressMonitor monitor, IResource resource) {
-		convert(monitor, resource);
-
-		try {
-			resource.refreshLocal(IResource.DEPTH_INFINITE, null);
-		} catch (CoreException e) {
-			monitor.setTaskName(SSEUIPlugin.getResourceString("%ActionDelegate.0") + resource.getName()); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.edit.util.ResourceActionDelegate#processorAvailable(org.eclipse.core.resources.IResource)
-	 */
-	protected boolean processorAvailable(IResource resource) {
-		boolean result = false;
-		try {
-			if (resource instanceof IFile) {
-				IFile file = (IFile) resource;
-
-				IContentDescription contentDescription = file.getContentDescription();
-				if (contentDescription != null) {
-					IContentType contentType = contentDescription.getContentType();
-					if (contentType.isKindOf(Platform.getContentTypeManager().getContentType("org.eclipse.core.runtime.text"))) //$NON-NLS-1$
-						return true;
-				}
-			} else if (resource instanceof IContainer) {
-				IContainer container = (IContainer) resource;
-
-				IResource[] members;
-				members = container.members();
-				for (int i = 0; i < members.length; i++) {
-					boolean available = processorAvailable(members[i]);
-
-					if (available) {
-						result = true;
-						break;
-					}
-				}
-			}
-		} catch (CoreException e) {
-			Logger.logException(e);
-		}
-
-		return result;
-	}
-
-	/**
-	 * @param lineDelimiter
-	 *            The fLineDelimiter to set.
-	 */
-	public void setLineDelimiter(String lineDelimiter) {
-		fLineDelimiter = lineDelimiter;
-	}
-
-	protected void writeFile(IProgressMonitor monitor, IFile file, String outputString) {
-		FileOutputStream outputStream = null;
-		try {
-			outputStream = new FileOutputStream(file.getLocation().toString());
-			outputStream.write(outputString.getBytes(file.getCharset()));
-		} catch (IOException e) {
-			String message = MessageFormat.format(SSEUIPlugin.getResourceString("%ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{file.getName()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-		} catch (CoreException e) {
-			String message = MessageFormat.format(SSEUIPlugin.getResourceString("%ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{file.getName()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-		} finally {
-			try {
-				if (outputStream != null)
-					outputStream.close();
-			} catch (IOException e) {
-				// do nothing
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToLFActionDelegate.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToLFActionDelegate.java
deleted file mode 100644
index eaaeb75..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToLFActionDelegate.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-/**
- *  @deprecated Eclipse now provides a file conversion action. This will be deleted in M4.
- */
-public class ConvertLineDelimitersToLFActionDelegate extends ConvertLineDelimitersToCRLFActionDelegate {
-	public ConvertLineDelimitersToLFActionDelegate() {
-		super();
-
-		setLineDelimiter("\n"); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/FormatActionDelegate.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/FormatActionDelegate.java
deleted file mode 100644
index 52a01d2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/FormatActionDelegate.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.wst.common.encoding.exceptions.MalformedInputExceptionWithDetail;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.sse.ui.extension.FormatProcessorsExtensionReader;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public class FormatActionDelegate extends ResourceActionDelegate {
-
-	class FormatJob extends Job {
-
-		public FormatJob(String name) {
-			super(name);
-		}
-
-		/**
-		 * @param container
-		 * @return
-		 */
-		private int getResourceCount(IResource[] members) {
-			int count = 0;
-
-			for (int i = 0; i < members.length; i++) {
-				if (members[i] instanceof IContainer) {
-					IContainer container = (IContainer) members[i];
-					try {
-						count += getResourceCount(container.members());
-					} catch (CoreException e) {
-						// skip counting
-					}
-				} else
-					count++;
-			}
-
-			return count;
-		}
-
-		/**
-		 * @param elements
-		 * @return
-		 */
-		private int getResourceCount(Object[] elements) {
-			int count = 0;
-
-			for (int i = 0; i < elements.length; i++) {
-				if (elements[i] instanceof IContainer) {
-					IContainer container = (IContainer) elements[i];
-					try {
-						count += getResourceCount(container.members());
-					} catch (CoreException e) {
-						// skip counting
-					}
-				} else
-					count++;
-			}
-
-			return count;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			IStatus status = Status.OK_STATUS;
-
-			Object[] elements = fSelection.toArray();
-			int resourceCount = getResourceCount(elements);
-			monitor.beginTask("", resourceCount); //$NON-NLS-1$
-			for (int i = 0; i < elements.length; i++) {
-				if (elements[i] instanceof IResource) {
-					process(monitor, (IResource) elements[i]);
-					monitor.worked(1);
-				}
-			}
-			monitor.done();
-
-			if (fErrorStatus.getChildren().length > 0) {
-				status = fErrorStatus;
-				fErrorStatus = new MultiStatus(SSEUIPlugin.ID, IStatus.ERROR, SSEUIPlugin.getResourceString("%FormatActionDelegate.errorStatusMessage"), null); //$NON-NLS-1$
-			}
-
-			return status;
-		}
-
-	}
-
-	private MultiStatus fErrorStatus = new MultiStatus(SSEUIPlugin.ID, IStatus.ERROR, SSEUIPlugin.getResourceString("%FormatActionDelegate.errorStatusMessage"), null); //$NON-NLS-1$
-
-	protected void format(IProgressMonitor monitor, IFile file) {
-		try {
-			monitor.worked(1);
-			IContentDescription contentDescription = file.getContentDescription();
-			if (contentDescription == null)
-				return;
-
-			IContentType contentType = contentDescription.getContentType();
-			IStructuredFormatProcessor formatProcessor = getFormatProcessor(contentType.getId());
-			if (formatProcessor != null && (monitor == null || !monitor.isCanceled())) {
-				String message = SSEUIPlugin.getResourceString("%FormatActionDelegate.3", new String[]{file.getFullPath().toString()}); //$NON-NLS-1$
-				monitor.subTask(message);
-				formatProcessor.setProgressMonitor(monitor);
-				formatProcessor.formatFile(file);
-			}
-		} catch (MalformedInputExceptionWithDetail e) {
-			String message = SSEUIPlugin.getResourceString("%FormatActionDelegate.5", new String[]{file.getFullPath().toString()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-		} catch (IOException e) {
-			String message = SSEUIPlugin.getResourceString("%FormatActionDelegate.4", new String[]{file.getFullPath().toString()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-		} catch (CoreException e) {
-			String message = SSEUIPlugin.getResourceString("%FormatActionDelegate.4", new String[]{file.getFullPath().toString()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-		}
-	}
-
-	protected void format(IProgressMonitor monitor, IResource resource) {
-		if (resource instanceof IFile) {
-			IFile file = (IFile) resource;
-
-			if (monitor == null || !monitor.isCanceled())
-				format(monitor, file);
-		} else if (resource instanceof IContainer) {
-			IContainer container = (IContainer) resource;
-
-			try {
-				IResource[] members = container.members();
-				for (int i = 0; i < members.length; i++) {
-					if (monitor == null || !monitor.isCanceled())
-						format(monitor, members[i]);
-				}
-			} catch (CoreException e) {
-				String message = SSEUIPlugin.getResourceString("%FormatActionDelegate.4", new String[]{resource.getFullPath().toString()}); //$NON-NLS-1$
-				fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-			}
-		}
-	}
-
-	protected IStructuredFormatProcessor getFormatProcessor(String contentTypeId) {
-		return FormatProcessorsExtensionReader.getInstance().getFormatProcessor(contentTypeId);
-	}
-
-	protected Job getJob() {
-		return new FormatJob(SSEUIPlugin.getResourceString("%FormatActionDelegate.jobName")); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.edit.util.ResourceActionDelegate#process(org.eclipse.core.runtime.IProgressMonitor,
-	 *      org.eclipse.core.resources.IResource)
-	 */
-	protected void process(IProgressMonitor monitor, IResource resource) {
-		format(monitor, resource);
-
-		try {
-			resource.refreshLocal(IResource.DEPTH_INFINITE, null);
-		} catch (CoreException e) {
-			String message = SSEUIPlugin.getResourceString("%FormatActionDelegate.4", new String[]{resource.getFullPath().toString()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.edit.util.ResourceActionDelegate#processorAvailable(org.eclipse.core.resources.IResource)
-	 */
-	protected boolean processorAvailable(IResource resource) {
-		boolean result = false;
-		try {
-			if (resource instanceof IFile) {
-				IFile file = (IFile) resource;
-
-				IStructuredFormatProcessor formatProcessor = null;
-				IContentDescription contentDescription = file.getContentDescription();
-				if (contentDescription != null) {
-					IContentType contentType = contentDescription.getContentType();
-					formatProcessor = getFormatProcessor(contentType.getId());
-				}
-				if (formatProcessor != null)
-					result = true;
-			} else if (resource instanceof IContainer) {
-				IContainer container = (IContainer) resource;
-
-				IResource[] members;
-				members = container.members();
-				for (int i = 0; i < members.length; i++) {
-					boolean available = processorAvailable(members[i]);
-
-					if (available) {
-						result = true;
-						break;
-					}
-				}
-			}
-		} catch (CoreException e) {
-			Logger.logException(e);
-		}
-
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ResourceActionDelegate.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ResourceActionDelegate.java
deleted file mode 100644
index b42a963..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ResourceActionDelegate.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IActionDelegate;
-
-public class ResourceActionDelegate implements IActionDelegate {
-	protected IStructuredSelection fSelection;
-
-	protected Job getJob() {
-		// ResourceActionDelegate does not create background job
-		// subclass creates the background job for the action
-		return null;
-	}
-
-	protected boolean processorAvailable(IResource resource) {
-		// ResourceActionDelegate returns false by default
-		// subclass returns true if processor is available; false otherwise
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (fSelection != null && !fSelection.isEmpty()) {
-			Job job = getJob();
-			if (job != null)
-				job.schedule();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			fSelection = (IStructuredSelection) selection;
-			boolean available = false;
-
-			Object[] elements = fSelection.toArray();
-			for (int i = 0; i < elements.length; i++) {
-				if (elements[i] instanceof IResource) {
-					available = processorAvailable((IResource) elements[i]);
-
-					if (available)
-						break;
-				}
-			}
-
-			action.setEnabled(available);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/SharedEditorPluginImageHelper.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/SharedEditorPluginImageHelper.java
deleted file mode 100644
index c024b5a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/SharedEditorPluginImageHelper.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-
-
-public class SharedEditorPluginImageHelper {
-	public static final String IMG_DLCL_COLLAPSEALL = EditorPluginImages.IMG_DLCL_COLLAPSEALL;
-	public static final String IMG_DLCL_DELETE = EditorPluginImages.IMG_DLCL_DELETE;
-	public static final String IMG_DLCL_SYNCED = EditorPluginImages.IMG_DLCL_SYNCED;
-	public static final String IMG_ELCL_COLLAPSEALL = EditorPluginImages.IMG_ELCL_COLLAPSEALL;
-	public static final String IMG_ELCL_DELETE = EditorPluginImages.IMG_ELCL_DELETE;
-	public static final String IMG_ELCL_SYNCED = EditorPluginImages.IMG_ELCL_SYNCED;
-
-	/**
-	 * Retrieves the specified image from the source editor plugin's image
-	 * registry. Note: The returned <code>Image</code> is managed by the
-	 * workbench; clients must <b>not </b> dispose of the returned image.
-	 * 
-	 * @param symbolicName
-	 *            the symbolic name of the image; there are constants declared
-	 *            in this class for build-in images that come with the source
-	 *            editor
-	 * @return the image, or <code>null</code> if not found
-	 */
-	public static Image getImage(String symbolicName) {
-		return EditorPluginImageHelper.getInstance().getImage(symbolicName);
-	}
-
-	/**
-	 * Retrieves the image descriptor for specified image from the source
-	 * editor plugin's image registry. Unlike <code>Image</code>s, image
-	 * descriptors themselves do not need to be disposed.
-	 * 
-	 * @param symbolicName
-	 *            the symbolic name of the image; there are constants declared
-	 *            in this interface for build-in images that come with the
-	 *            source editor
-	 * @return the image descriptor, or <code>null</code> if not found
-	 */
-	public static ImageDescriptor getImageDescriptor(String symbolicName) {
-		return EditorPluginImageHelper.getInstance().getImageDescriptor(symbolicName);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/StructuredTextEditorActionConstants.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/StructuredTextEditorActionConstants.java
deleted file mode 100644
index 3f2bb9f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/StructuredTextEditorActionConstants.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.edit.util;
-
-
-
-public interface StructuredTextEditorActionConstants {
-	public final static String ACTION_NAME_ADD_BLOCK_COMMENT = "AddBlockComment";//$NON-NLS-1$
-	public final static String ACTION_NAME_CLEANUP_DOCUMENT = "CleanupDocument";//$NON-NLS-1$
-	public final static String ACTION_NAME_COMMENT = "Comment";//$NON-NLS-1$
-	public final static String ACTION_NAME_CONTENTASSIST_CONTEXT_INFORMATION = "ContentAssistContextInformation";//$NON-NLS-1$
-	public final static String ACTION_NAME_CONTENTASSIST_PROPOSALS = "ContentAssistProposals";//$NON-NLS-1$
-	public final static String ACTION_NAME_FIND_OCCURRENCES = "FindOccurrences"; //$NON-NLS-1$
-	public final static String ACTION_NAME_FORMAT_ACTIVE_ELEMENTS = "FormatActiveElements";//$NON-NLS-1$
-	public final static String ACTION_NAME_FORMAT_DOCUMENT = "FormatDocument";//$NON-NLS-1$
-	public final static String ACTION_NAME_INFORMATION = "ShowTooltipDesc";//$NON-NLS-1$
-	public final static String ACTION_NAME_MANAGE_BREAKPOINTS = "ManageBreakpoints";//$NON-NLS-1$
-	public final static String ACTION_NAME_OPEN_FILE = "OpenFileFromSource";//$NON-NLS-1$
-	public final static String ACTION_NAME_QUICK_FIX = "QuickFix";//$NON-NLS-1$
-	public final static String ACTION_NAME_REMOVE_BLOCK_COMMENT = "RemoveBlockComment";//$NON-NLS-1$
-	public final static String ACTION_NAME_STRUCTURE_SELECT_ENCLOSING = "StructureSelectEnclosing";//$NON-NLS-1$
-	public final static String ACTION_NAME_STRUCTURE_SELECT_HISTORY = "StructureSelectHistory";//$NON-NLS-1$
-	public final static String ACTION_NAME_STRUCTURE_SELECT_NEXT = "StructureSelectNext";//$NON-NLS-1$
-	public final static String ACTION_NAME_STRUCTURE_SELECT_PREVIOUS = "StructureSelectPrevious";//$NON-NLS-1$
-	public final static String ACTION_NAME_TOGGLE_COMMENT = "ToggleComment";//$NON-NLS-1$
-	public final static String ACTION_NAME_UNCOMMENT = "Uncomment";//$NON-NLS-1$
-
-	public final static String DOT = ".";//$NON-NLS-1$
-
-	public final static String GROUP_NAME_MENU_ADDITIONS = "MenuAdditions";//$NON-NLS-1$
-	public final static String GROUP_NAME_TOOLBAR_ADDITIONS = "ToolbarAdditions";//$NON-NLS-1$
-	
-	public final static String STATUS_CATEGORY_OFFSET = "Offset";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/AbstractDropAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/AbstractDropAction.java
deleted file mode 100644
index 327cfcd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/AbstractDropAction.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- */
-public abstract class AbstractDropAction implements IDropAction {
-
-	/*
-	 * replace targetEditor's current selection by "text"
-	 */
-	protected boolean insert(String text, IExtendedSimpleEditor targetEditor) {
-		if (text == null || text.length() == 0) {
-			return false;
-		}
-
-		Point pt = targetEditor.getSelectionRange();
-		IDocument doc = targetEditor.getDocument();
-
-		try {
-			doc.replace(pt.x, pt.y, text);
-		} catch (BadLocationException e) {
-			return false;
-		}
-
-		ITextEditor textEditor = null;
-
-		if (targetEditor instanceof ITextEditor) {
-			textEditor = (ITextEditor) targetEditor;
-		}
-		if (textEditor == null && targetEditor.getEditorPart() instanceof ITextEditor) {
-			textEditor = (ITextEditor) targetEditor.getEditorPart();
-		}
-		if (textEditor == null && targetEditor instanceof IAdaptable) {
-			textEditor = (ITextEditor) ((IAdaptable) targetEditor).getAdapter(ITextEditor.class);
-		}
-		if (textEditor == null) {
-			textEditor = (ITextEditor) targetEditor.getEditorPart().getAdapter(ITextEditor.class);
-		}
-		if (textEditor != null) {
-			ISelectionProvider sp = textEditor.getSelectionProvider();
-			ISelection sel = new TextSelection(pt.x, text.length());
-			sp.setSelection(sel);
-			textEditor.selectAndReveal(pt.x, text.length());
-		}
-
-		return true;
-	}
-
-
-	/**
-	 * @see IDropAction#isSupportedData(Object)
-	 */
-	public boolean isSupportedData(Object data) {
-		return true;
-	}
-
-	/**
-	 * @see IDropAction#run(DropTargetEvent, IExtendedSimpleEditor)
-	 */
-	public abstract boolean run(DropTargetEvent event, IExtendedSimpleEditor targetEditor);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedConfigurationBuilder.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedConfigurationBuilder.java
deleted file mode 100644
index 73b17ac..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedConfigurationBuilder.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Simple generic ID to class to mapping. Loads a specified class defined in a
- * configuration element with the matching type and target ID. Example
- * plugin.xml section: <extension
- * point="org.eclipse.wst.sse.ui.extendedconfiguration"> <configuration
- * type="contentoutlineconfiguration"
- * target="org.eclipse.wst.sse.ui.dtd.StructuredTextEditorDTD"
- * class="org.eclipse.wst.sse.ui.dtd.views.contentoutline.DTDContentOutlineConfiguration"/>
- * </extension> Used in code by
- * getConfiguration("contentoutlineconfiguration",
- * "org.eclipse.wst.sse.ui.dtd.StructuredTextEditorDTD");
- */
-public class ExtendedConfigurationBuilder extends RegistryReader {
-	private static final String ATT_CLASS = "class"; //$NON-NLS-1$
-	private static final String ATT_TARGET = "target"; //$NON-NLS-1$
-	private static final String ATT_TYPE = "type"; //$NON-NLS-1$
-	private static final String CONFIGURATION = "configuration"; //$NON-NLS-1$
-	private static Map configurationMap = null;
-	private final static boolean debugTime = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/extendedconfigurationbuilder/time")); //$NON-NLS-1$  //$NON-NLS-2$
-	private static final String DEFINITION = "definition"; //$NON-NLS-1$
-	private static final String EP_EXTENDEDCONFIGURATION = "extendedconfiguration"; //$NON-NLS-1$
-	private static ExtendedConfigurationBuilder instance = null;
-	public static final String VALUE = "value"; //$NON-NLS-1$
-
-	/**
-	 * Creates an extension. If the extension plugin has not been loaded a
-	 * busy cursor will be activated during the duration of the load.
-	 * 
-	 * @param element
-	 *            the config element defining the extension
-	 * @param classAttribute
-	 *            the name of the attribute carrying the class
-	 * @returns the extension object if successful. If an error occurs when
-	 *          createing executable extension, the exception is logged, and
-	 *          null returned.
-	 */
-	public static Object createExtension(final IConfigurationElement element, final String classAttribute, final String targetID) {
-		final Object[] result = new Object[1];
-		// If plugin has been loaded create extension.
-		// Otherwise, show busy cursor then create extension.
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		Bundle bundle = Platform.getBundle(pluginId);
-		if (bundle.getState() == Bundle.ACTIVE) {
-			try {
-				result[0] = element.createExecutableExtension(classAttribute);
-			}
-			catch (Exception e) {
-				// catch and log ANY exception from extension point
-				Logger.logException("error loading class " + classAttribute + " for " + targetID, e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		else {
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					try {
-						result[0] = element.createExecutableExtension(classAttribute);
-					}
-					catch (Exception e) {
-						// catch and log ANY exception from extension point
-						Logger.logException("error loading class " + classAttribute + " for " + targetID, e); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-				}
-			});
-		}
-		if (result[0] != null && result[0] instanceof IExtendedConfiguration) {
-			((IExtendedConfiguration) result[0]).setDeclaringID(targetID);
-		}
-		return result[0];
-	}
-
-	/**
-	 * @return Returns the instance.
-	 */
-	public synchronized static ExtendedConfigurationBuilder getInstance() {
-		if (instance == null)
-			instance = new ExtendedConfigurationBuilder();
-		return instance;
-	}
-
-	long time0 = 0;
-
-	private ExtendedConfigurationBuilder() {
-		super();
-	}
-
-	private Object createConfiguration(List configurations, String extensionType, String targetID) {
-		if (configurations == null)
-			return null;
-		Object result = null;
-		for (int i = 0; i < configurations.size(); i++) {
-			IConfigurationElement element = (IConfigurationElement) configurations.get(i);
-			if ((element.getName().equals(extensionType) || (element.getName().equals(CONFIGURATION) && extensionType.equals(element.getAttribute(ATT_TYPE)))) && element.getAttribute(ATT_TARGET).equals(targetID)) {
-				result = createExtension(element, ATT_CLASS, targetID);
-			}
-			if (result != null) {
-				return result;
-			}
-		}
-		return result;
-	}
-
-	private IConfigurationElement[] findConfigurationElements(List configurations, String extensionType, String targetID) {
-		if (configurations == null)
-			return new IConfigurationElement[0];
-		List result = new ArrayList(1);
-		for (int i = 0; i < configurations.size(); i++) {
-			IConfigurationElement element = (IConfigurationElement) configurations.get(i);
-			if ((element.getName().equals(extensionType) || (element.getName().equals(DEFINITION) && extensionType.equals(element.getAttribute(ATT_TYPE)))) && element.getAttribute(ATT_TARGET).equals(targetID)) {
-				result.add(element);
-			}
-		}
-		return (IConfigurationElement[]) result.toArray(new IConfigurationElement[0]);
-	}
-
-	public Object getConfiguration(String extensionType, String targetID) {
-		if (targetID == null || targetID.length() == 0)
-			return null;
-		if (debugTime) {
-			time0 = System.currentTimeMillis();
-		}
-		if (configurationMap == null) {
-			configurationMap = new HashMap(0);
-			synchronized (configurationMap) {
-				readRegistry(Platform.getExtensionRegistry(), SSEUIPlugin.ID, EP_EXTENDEDCONFIGURATION);
-				if (debugTime) {
-					System.out.println(getClass().getName() + "#readRegistry():  " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-					time0 = System.currentTimeMillis();
-				}
-			}
-		}
-		List configurations = (List) configurationMap.get(extensionType);
-		Object o = createConfiguration(configurations, extensionType, targetID);
-		if (debugTime) {
-			if (o != null)
-				System.out.println(getClass().getName() + "#getConfiguration(" + extensionType + ", " + targetID + "): configuration loaded in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			else
-				System.out.println(getClass().getName() + "#getConfiguration(" + extensionType + ", " + targetID + "): ran in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return o;
-	}
-
-	public String[] getDefinitions(String extensionType, String targetID) {
-		if (targetID == null || targetID.length() == 0)
-			return new String[0];
-		if (debugTime) {
-			time0 = System.currentTimeMillis();
-		}
-		if (configurationMap == null) {
-			configurationMap = new HashMap(0);
-			synchronized (configurationMap) {
-				readRegistry(Platform.getExtensionRegistry(), SSEUIPlugin.ID, EP_EXTENDEDCONFIGURATION);
-				if (debugTime) {
-					System.out.println(getClass().getName() + "#readRegistry():  " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-					time0 = System.currentTimeMillis();
-				}
-			}
-		}
-		List definitions = (List) configurationMap.get(extensionType);
-		IConfigurationElement[] elements = findConfigurationElements(definitions, extensionType, targetID);
-		String[] values = new String[elements.length];
-		for (int i = 0; i < values.length; i++) {
-			values[i] = elements[i].getAttribute(VALUE);
-		}
-		if (debugTime) {
-			if (values.length > 0)
-				System.out.println(getClass().getName() + "#getDefinitions(" + extensionType + ", " + targetID + "): definition loaded in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			else
-				System.out.println(getClass().getName() + "#getDefinitions(" + extensionType + ", " + targetID + "): ran in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return values;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.internal.extension.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String name = element.getName();
-		if (name.equals(CONFIGURATION) || name.equals(DEFINITION))
-			name = element.getAttribute(ATT_TYPE);
-		List configurations = (List) configurationMap.get(name);
-		if (configurations == null) {
-			configurations = new ArrayList(1);
-			configurationMap.put(name, configurations);
-		}
-		configurations.add(element);
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedEditorActionBuilder.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedEditorActionBuilder.java
deleted file mode 100644
index 504970b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedEditorActionBuilder.java
+++ /dev/null
@@ -1,696 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IKeyBindingService;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.part.MultiPageEditorSite;
-import org.eclipse.ui.texteditor.IUpdate;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.extension.ActionDescriptor;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-
-
-/**
- * This class reads the registry for extensions that plug into 'editorActions'
- * extension point.
- */
-
-public class ExtendedEditorActionBuilder extends RegistryReader {
-
-	public class ExtendedContributor implements IExtendedContributor, IMenuListener {
-		private IExtendedSimpleEditor activeExtendedEditor = null;
-
-		private List cache;
-		private Map map = new HashMap();
-		private IMenuManager menuBar = null;
-
-		private Set menus = new HashSet();
-
-		public ExtendedContributor(List cache) {
-			this.cache = cache;
-		}
-
-		public void contributeToMenu(IMenuManager menu) {
-			menuBar = menu;
-			long time0 = System.currentTimeMillis();
-			for (int i = 0; i < cache.size(); i++) {
-				Object obj = cache.get(i);
-				if (obj instanceof IConfigurationElement) {
-					IConfigurationElement menuElement = (IConfigurationElement) obj;
-					if ((menuElement.getName()).equals(TAG_MENU)) {
-						contributeMenu(menuElement, menu, true);
-						if (debugMenu)
-							System.out.println(getClass().getName() + "#contributeToMenu() added: " + menuElement.getAttribute(ATT_ID)); //$NON-NLS-1$
-					}
-				} else if (obj instanceof ActionDescriptor) {
-					try {
-						ActionDescriptor ad = (ActionDescriptor) obj;
-						IMenuManager mm = contributeMenuAction(ad, menu, true, false);
-						if (mm != null) {
-							map.put(ad.getContributionItem(), mm);
-							mm.addMenuListener(this);
-							menus.add(mm);
-							if (debugMenu)
-								System.out.println(getClass().getName() + "#contributeToMenu() added: " + ad.getId()); //$NON-NLS-1$
-						}
-					} catch (Exception e) {
-						Logger.logException("contributing to menu", e);
-					}
-				}
-			}
-			if (debugContributeTime)
-				System.out.println(getClass().getName() + "#contributeToMenu(): ran in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		public void contributeToPopupMenu(IMenuManager menu) {
-			long time0 = System.currentTimeMillis();
-			for (int i = 0; i < cache.size(); i++) {
-				Object obj = cache.get(i);
-				if (obj instanceof IConfigurationElement) {
-					IConfigurationElement menuElement = (IConfigurationElement) obj;
-					if ((menuElement.getName()).equals(TAG_POPUPMENU)) {
-						contributeMenu(menuElement, menu, true);
-					}
-				} else if (obj instanceof ActionDescriptor) {
-					try {
-						ActionDescriptor ad = (ActionDescriptor) obj;
-						IAction a = ad.getAction();
-						if (a instanceof IExtendedEditorAction) {
-							// uncaught exceptions could cause the menu to not
-							// be shown
-							try {
-
-								IExtendedEditorAction eea = (IExtendedEditorAction) a;
-								eea.setActiveExtendedEditor(activeExtendedEditor);
-								eea.update();
-								if (eea.isVisible()) {
-									IMenuManager parent = contributeMenuAction(ad, menu, true, true);
-									if (debugPopup && parent != null)
-										System.out.println(getClass().getName() + "#contributeToPopupMenu() added: " + ad.getId()); //$NON-NLS-1$
-								}
-							} catch (Exception e) {
-								Logger.logException(e);
-							}
-
-						} else {
-							IMenuManager parent = contributeMenuAction(ad, menu, true, true);
-							if (debugPopup && parent != null)
-								System.out.println(getClass().getName() + "#contributeToPopupMenu() added: " + ad.getId()); //$NON-NLS-1$
-						}
-					} catch (Exception e) {
-						Logger.logException("contributing to popup", e);
-					}
-				}
-			}
-			if (debugContributeTime)
-				System.out.println(getClass().getName() + "#contributeToPopupMenu(): ran in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		public void contributeToStatusLine(IStatusLineManager manager) {
-			// nothing from here
-		}
-
-		public void contributeToToolBar(IToolBarManager manager) {
-			long time0 = System.currentTimeMillis();
-			for (int i = 0; i < cache.size(); i++) {
-				Object obj = cache.get(i);
-				if (obj instanceof ActionDescriptor) {
-					try {
-						ActionDescriptor ad = (ActionDescriptor) obj;
-						IAction a = ad.getAction();
-						if (a instanceof IExtendedEditorAction) {
-							IExtendedEditorAction eea = (IExtendedEditorAction) a;
-							eea.setActiveExtendedEditor(activeExtendedEditor);
-							eea.update();
-							if (eea.isVisible()) {
-								boolean contributed = contributeToolbarAction(ad, manager, true);
-								if (debugToolbar && contributed)
-									System.out.println(getClass().getName() + "#contributeToToolBar() added: " + ad.getId()); //$NON-NLS-1$
-							} else {
-								if (debugToolbar)
-									System.out.println(getClass().getName() + "#contributeToToolBar(): [skipped] " + ad.getId()); //$NON-NLS-1$
-							}
-						} else {
-							boolean contributed = contributeToolbarAction(ad, manager, true);
-							if (debugToolbar && contributed)
-								System.out.println(getClass().getName() + "#contributeToToolBar() added: " + ad.getId()); //$NON-NLS-1$
-						}
-					} catch (Exception e) {
-						Logger.logException("contributing to toolbar", e);
-					}
-				}
-			}
-			if (debugContributeTime)
-				System.out.println(getClass().getName() + "#contributeToToolBar(): ran in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		public void dispose() {
-			Iterator it = menus.iterator();
-			while (it.hasNext()) {
-				Object o = it.next();
-				if (o instanceof IMenuManager) {
-					((IMenuManager) o).removeMenuListener(this);
-				}
-			}
-		}
-
-		public void init(IActionBars bars, IWorkbenchPage page) {
-			// nothing from here
-		}
-
-		public void menuAboutToShow(IMenuManager menu) {
-			// slows down the menu and interferes with it for other editors;
-			// optimize on visibility
-			IEditorSite site = null;
-			boolean activeEditorIsVisible = false;
-
-			if (activeExtendedEditor != null && activeExtendedEditor.getEditorPart() != null)
-				site = activeExtendedEditor.getEditorPart().getEditorSite();
-			if (site == null)
-				return;
-
-			// Eclipse bug 48784 - [MPE] ClassCast exception Workbench page
-			// isPartVisiable for MultiPageSite
-			if (site instanceof MultiPageEditorSite) {
-				Object multiPageEditor = ((MultiPageEditorSite) site).getMultiPageEditor();
-				activeEditorIsVisible = multiPageEditor.equals(site.getPage().getActiveEditor()) || multiPageEditor.equals(site.getPage().getActivePart());
-			} else {
-				activeEditorIsVisible = site.getWorkbenchWindow().getPartService().getActivePart().equals(activeExtendedEditor.getEditorPart());
-			}
-			if (!activeEditorIsVisible)
-				return;
-
-			IContributionItem[] items = menu.getItems();
-			if (items == null || items.length == 0)
-				return;
-
-			for (int i = 0; i < items.length; ++i) {
-				// add menu listener to submenu
-				if (items[i] instanceof IMenuManager) {
-					((IMenuManager) items[i]).addMenuListener(this);
-					menus.add(items[i]);
-				}
-			}
-
-			Set keys = map.keySet();
-			Iterator it = keys.iterator();
-			while (it.hasNext()) {
-				IContributionItem item = (IContributionItem) it.next();
-				IMenuManager mm = (IMenuManager) map.get(item);
-				if (menu.getId() != null && menu.getId().equals(mm.getId()) && item instanceof ActionContributionItem) {
-					try {
-						IAction action = ((ActionContributionItem) item).getAction();
-
-						if (action instanceof IUpdate) {
-							((IUpdate) action).update();
-						}
-
-						boolean visible = true;
-						if (action instanceof IExtendedEditorAction) {
-							visible = ((IExtendedEditorAction) action).isVisible();
-						}
-						item.setVisible(visible);
-					} catch (Exception e) {
-						Logger.logException("updating actions", e);
-					}
-				}
-			}
-			menu.update(false);
-		}
-
-		public void setActiveEditor(IEditorPart editor) {
-			activeExtendedEditor = (editor instanceof IExtendedSimpleEditor) ? (IExtendedSimpleEditor) editor : null;
-			IKeyBindingService svc = (editor != null) ? editor.getEditorSite().getKeyBindingService() : null;
-			for (int i = 0; i < cache.size(); i++) {
-				Object obj = cache.get(i);
-				if (obj instanceof ActionDescriptor) {
-					ActionDescriptor ad = (ActionDescriptor) obj;
-					try {
-						IAction action = ad.getAction();
-						if (action instanceof IExtendedEditorAction) {
-							((IExtendedEditorAction) action).setActiveExtendedEditor(activeExtendedEditor);
-							((IExtendedEditorAction) action).update();
-							// update visibility right now so that the menu
-							// will show/hide properly
-							if (!((IExtendedEditorAction) action).isVisible() && ad.getContributionItem() != null)
-								ad.getContributionItem().setVisible(false);
-							if (svc != null && action.getActionDefinitionId() != null) {
-								svc.registerAction(action);
-							}
-						}
-					} catch (Exception e) {
-						Logger.logException("setting active editor on actions", e);
-					}
-				}
-			}
-
-			if (menuBar != null && editor != null) {
-				//				Class clz = editor.getClass();
-				//				while (clz != null) {
-				//					if (clz.getName().equals(targetID)) {
-				//						contributeToMenu(menuBar);
-				//						break;
-				//					}
-				//					clz = clz.getSuperclass();
-				//				}
-				if (targetIDs.contains(editor.getEditorSite().getId())) {
-					contributeToMenu(menuBar);
-				}
-			}
-
-			updateToolbarActions();
-		}
-
-		public void updateToolbarActions() {
-			for (int i = 0; i < cache.size(); i++) {
-				Object obj = cache.get(i);
-				if (obj instanceof ActionDescriptor) {
-					try {
-						ActionDescriptor ad = (ActionDescriptor) obj;
-						if (ad.getToolbarPath() != null) {
-							IAction action = ad.getAction();
-							if (action instanceof IUpdate) {
-								((IUpdate) action).update();
-							}
-						}
-					} catch (Exception e) {
-						Logger.logException("updating toolbar actions", e);
-					}
-				}
-			}
-		}
-	}
-
-	public static final String ATT_ID = "id"; //$NON-NLS-1$
-	public static final String ATT_LABEL = "label"; //$NON-NLS-1$
-	public static final String ATT_NAME = "name"; //$NON-NLS-1$
-	public static final String ATT_PATH = "path"; //$NON-NLS-1$
-
-	public static final String ATT_TARGET_ID = "targetID"; //$NON-NLS-1$
-	protected final static boolean debugContributeTime = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/extendededitoractionbuilder/contributetime")); //$NON-NLS-1$  //$NON-NLS-2$
-
-	protected final static boolean debugMenu = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugmenu")); //$NON-NLS-1$  //$NON-NLS-2$;
-	protected final static boolean debugPopup = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugpopup")); //$NON-NLS-1$  //$NON-NLS-2$;
-	protected final static boolean debugReadTime = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/extendededitoractionbuilder/readtime")); //$NON-NLS-1$  //$NON-NLS-2$
-	protected final static boolean debugToolbar = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugtoolbar")); //$NON-NLS-1$  //$NON-NLS-2$;
-
-	private static final String EXTENDED_EDITOR = "extendedEditor"; //$NON-NLS-1$
-
-	public static final String PL_EXTENDED_EDITOR_ACTIONS = "extendedEditorActions"; //$NON-NLS-1$
-
-	public static final String PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-	public static final String TAG_ACTION = "action"; //$NON-NLS-1$
-
-	public static final String TAG_CONTRIBUTION_TYPE = "editorContribution"; //$NON-NLS-1$
-
-	public static final String TAG_MENU = "menu"; //$NON-NLS-1$
-	public static final String TAG_POPUPMENU = "popupmenu"; //$NON-NLS-1$
-	public static final String TAG_RULERMENU = "rulermenu"; //$NON-NLS-1$
-	public static final String TAG_SEPARATOR = "separator"; //$NON-NLS-1$
-
-	protected List readingCache;
-
-	protected String targetContributionTag;
-	protected List targetIDs;
-
-	/**
-	 * The constructor.
-	 */
-	public ExtendedEditorActionBuilder() {
-		super();
-	}
-
-	/**
-	 * Creates a menu from the information in the menu configuration element
-	 * and adds it into the provided menu manager. If 'appendIfMissing' is
-	 * true, and menu path slot is not found, it will be created and menu will
-	 * be added into it. Otherwise, add operation will fail.
-	 */
-	protected void contributeMenu(IConfigurationElement menuElement, IMenuManager mng, boolean appendIfMissing) {
-		// Get config data.
-		String id = menuElement.getAttribute(ATT_ID);
-		String label = menuElement.getAttribute(ATT_LABEL);
-		String path = menuElement.getAttribute(ATT_PATH);
-		if (label == null) {
-			Logger.log(Logger.ERROR, "Invalid Menu Extension (label == null): " + id); //$NON-NLS-1$
-			return;
-		}
-
-		// Calculate menu path and group.
-		String group = null;
-		if (path != null) {
-			int loc = path.lastIndexOf('/');
-			if (loc != -1) {
-				group = path.substring(loc + 1);
-				path = path.substring(0, loc);
-			} else {
-				// assume that path represents a slot
-				// so actual path portion should be null
-				group = path;
-				path = null;
-			}
-		}
-
-		// Find parent menu.
-		IMenuManager parent = mng;
-		if (path != null) {
-			parent = mng.findMenuUsingPath(path);
-			if (parent == null) {
-				//Logger.log("Invalid Menu Extension (Path is invalid): " +
-				// id);//$NON-NLS-1$
-				return;
-			}
-			// IMenuManager.findMenuUsingPath() returns invisible menu item if
-			// the manager can't find
-			// the specified path and create new MenuManager for it.
-			// I don't know this is a specification or bug.
-			// Anyway, to ensure the menu can be visible, setVisible(true)
-			// needs to be called.
-			parent.setVisible(true);
-		}
-
-		// Find reference group.
-		if (group == null)
-			group = IWorkbenchActionConstants.MB_ADDITIONS;
-		IContributionItem sep = parent.find(group);
-		if (sep == null) {
-			if (appendIfMissing)
-				parent.add(new Separator(group));
-			else {
-				Logger.log(Logger.ERROR, "Invalid Menu Extension (Group is invalid): " + id); //$NON-NLS-1$
-				return;
-			}
-		}
-
-		// If the menu does not exist create it.
-		IMenuManager newMenu = parent.findMenuUsingPath(id);
-		if (newMenu == null)
-			newMenu = new MenuManager(label, id);
-
-		// Create separators.
-		IConfigurationElement[] children = menuElement.getChildren(TAG_SEPARATOR);
-		for (int i = 0; i < children.length; i++) {
-			contributeSeparator(newMenu, children[i]);
-		}
-
-		// Add new menu
-		try {
-			parent.insertAfter(group, newMenu);
-		} catch (IllegalArgumentException e) {
-			Logger.log(Logger.ERROR, "Invalid Menu Extension (Group is missing): " + id); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Contributes action from action descriptor into the provided menu
-	 * manager.
-	 */
-	protected IMenuManager contributeMenuAction(ActionDescriptor ad, IMenuManager menu, boolean appendIfMissing, boolean popupmenu) {
-		if (ad.getContributionItem() == null || ad.getAction() == null)
-			return null;
-
-		// Get config data.
-		String mpath = popupmenu ? ad.getPopupMenuPath() : ad.getMenuPath();
-		String mgroup = popupmenu ? ad.getPopupMenuGroup() : ad.getMenuGroup();
-		if (mpath == null && mgroup == null)
-			return null;
-
-		// Find parent menu.
-		IMenuManager parent = menu;
-		if (mpath != null) {
-			parent = parent.findMenuUsingPath(mpath);
-			if (parent == null) {
-				//Logger.log("Invalid Menu Extension (Path is invalid): " +
-				// ad.getId()); //$NON-NLS-1$
-				return null;
-			}
-			// IMenuManager.findMenuUsingPath() returns invisible menu item if
-			// the manager can't find
-			// the specified path and create new MenuManager for it.
-			// I don't know this is a specification or bug.
-			// Anyway, to ensure the menu can be visible, setVisible(true)
-			// needs to be called.
-			parent.setVisible(true);
-		}
-
-		// First remove existing menu item
-		IContributionItem item = parent.find(ad.getId());
-		if (item != null) {
-			parent.remove(ad.getId());
-		}
-
-		// Find reference group.
-		if (mgroup == null)
-			mgroup = IWorkbenchActionConstants.MB_ADDITIONS;
-		IContributionItem sep = parent.find(mgroup);
-		if (sep == null) {
-			if (appendIfMissing)
-				parent.add(sep = new Separator(mgroup));
-			else {
-				Logger.log(Logger.ERROR, "Invalid Menu Extension (Group is invalid): " + ad.getId()); //$NON-NLS-1$
-				return null;
-			}
-		}
-
-		// Add action.
-		try {
-			if (popupmenu) {
-				// Context menu need a newly created contribution item
-				if (sep != null && sep.isGroupMarker())
-					parent.appendToGroup(sep.getId(), ad.getAction());
-				else
-					parent.insertAfter(mgroup, ad.getAction());
-			} else {
-				// Normal menu need to add existing contribution item to
-				// remove it from menu listener
-				if (sep != null && sep.isGroupMarker())
-					parent.appendToGroup(sep.getId(), ad.getContributionItem());
-				else
-					parent.insertAfter(mgroup, ad.getContributionItem());
-			}
-		} catch (IllegalArgumentException e) {
-			Logger.log(Logger.ERROR, "Invalid Menu Extension (Group is missing): " + ad.getId()); //$NON-NLS-1$
-			parent = null;
-		}
-
-		return parent;
-	}
-
-	/**
-	 * Creates a named menu separator from the information in the
-	 * configuration element. If the separator already exists do not create a
-	 * second.
-	 */
-	protected boolean contributeSeparator(IMenuManager menu, IConfigurationElement element) {
-		String id = element.getAttribute(ATT_NAME);
-		if (id == null || id.length() <= 0)
-			return false;
-		IContributionItem sep = menu.find(id);
-		if (sep != null)
-			return false;
-		menu.add(new Separator(id));
-		return true;
-	}
-
-	/**
-	 * Contributes action from the action descriptor into the provided tool
-	 * bar manager.
-	 */
-	protected boolean contributeToolbarAction(ActionDescriptor ad, IToolBarManager toolbar, boolean appendIfMissing) {
-		if (ad.getContributionItem() == null || ad.getAction() == null)
-			return false;
-
-		// Get config data.
-		String tpath = ad.getToolbarPath();
-		String tgroup = ad.getToolbarGroup();
-		if (tpath == null && tgroup == null)
-			return false;
-
-		// First remove existing toolbar item
-		IContributionItem item = toolbar.find(ad.getId());
-		if (item != null) {
-			toolbar.remove(ad.getId());
-		}
-
-		// Find reference group.
-		if (tgroup == null)
-			tgroup = IWorkbenchActionConstants.MB_ADDITIONS;
-		IContributionItem sep = toolbar.find(tgroup);
-		if (sep == null) {
-			if (appendIfMissing)
-				toolbar.add(new Separator(tgroup));
-			else {
-				Logger.log(Logger.ERROR, "Invalid Toolbar Extension (Group is invalid): " + ad.getId()); //$NON-NLS-1$
-				return false;
-			}
-		}
-
-		// Add action to tool bar.
-		try {
-			if (sep != null && sep.isGroupMarker())
-				toolbar.appendToGroup(sep.getId(), ad.getAction());
-			else
-				toolbar.insertAfter(tgroup, ad.getAction());
-		} catch (IllegalArgumentException e) {
-			Logger.log(Logger.ERROR, "Invalid Toolbar Extension (Group is missing): " + ad.getId()); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * This factory method returns a new ActionDescriptor for the
-	 * configuration element. It should be implemented by subclasses.
-	 */
-	protected ActionDescriptor createActionDescriptor(IConfigurationElement element) {
-		ActionDescriptor ad = null;
-		try {
-			ad = new ActionDescriptor(element);
-			// these cases like "class not found" are handled
-			// at lower level, so no action if formed. In that
-			// case, we also don't want to form an action descriptor.
-			if ((ad != null) && (ad.getAction() == null)) {
-				ad = null;
-			}
-		} catch (Exception e) {
-			Logger.traceException(EXTENDED_EDITOR, e);
-			ad = null;
-		}
-		return ad;
-	}
-
-	/**
-	 * Returns the name of the part ID attribute that is expected in the
-	 * target extension.
-	 */
-	protected String getTargetID(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_TARGET_ID);
-		return value != null ? value : "???"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Reads editor contributor if specified directly in the 'editor'
-	 * extension point, and all external contributions for this editor's ID
-	 * registered in 'editorActions' extension point.
-	 */
-	public IExtendedContributor readActionExtensions(String editorId) {
-		return readActionExtensions(new String[]{editorId});
-	}
-
-	/**
-	 * Reads editor contributor if specified directly in the 'editor'
-	 * extension point, and all external contributions for this editor's ID
-	 * registered in 'editorActions' extension point.
-	 */
-	public IExtendedContributor readActionExtensions(String[] ids) {
-		long time0 = System.currentTimeMillis();
-		ExtendedContributor ext = null;
-		readContributions(ids, TAG_CONTRIBUTION_TYPE, PL_EXTENDED_EDITOR_ACTIONS);
-		if (debugReadTime) {
-			String idlist = ""; //$NON-NLS-1$
-			if (ids.length > 0) {
-				for (int i = 0; i < ids.length; i++) {
-					idlist += ids[i];
-					if (i < ids.length - 1)
-						idlist += ","; //$NON-NLS-1$
-				}
-			}
-			System.out.println(getClass().getName() + "#readActionExtensions(" + idlist + "): read in " + (System.currentTimeMillis() - time0) + "ms [" + (readingCache != null ? readingCache.size() : 0) + " contributions]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		if (readingCache != null) {
-			ext = new ExtendedContributor(readingCache);
-			readingCache = null;
-		}
-		return ext;
-	}
-
-	/**
-	 * Reads the contributions from the registry for the provided workbench
-	 * part and the provided extension point IDs.
-	 */
-	protected void readContributions(String[] ids, String tag, String extensionPoint) {
-		readingCache = null;
-		targetIDs = Arrays.asList(ids);
-		targetContributionTag = tag;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		readRegistry(registry, PLUGIN_ID, extensionPoint);
-	}
-
-	/**
-	 * Implements abstract method to handle the provided XML element in the
-	 * registry.
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String tag = element.getName();
-		if (tag.equals(targetContributionTag)) {
-			String id = getTargetID(element);
-			if (id == null || !targetIDs.contains(id)) {
-				// This is not of interest to us - don't go deeper
-				return true;
-			}
-		} else if (tag.equals(TAG_MENU)) {
-			if (readingCache == null)
-				readingCache = new ArrayList();
-			readingCache.add(element);
-			return true; // just cache the element - don't go into it
-		} else if (tag.equals(TAG_POPUPMENU)) {
-			if (readingCache == null)
-				readingCache = new ArrayList();
-			readingCache.add(element);
-			return true; // just cache the element - don't go into it
-		} else if (tag.equals(TAG_RULERMENU)) {
-			if (readingCache == null)
-				readingCache = new ArrayList();
-			readingCache.add(element);
-			return true; // just cache the element - don't go into it
-		} else if (tag.equals(TAG_ACTION)) {
-			if (readingCache == null)
-				readingCache = new ArrayList();
-			ActionDescriptor ad = createActionDescriptor(element);
-			if (ad != null)
-				readingCache.add(ad);
-			return true; // just cache the action - don't go into
-		} else {
-			return false;
-		}
-
-		readElementChildren(element);
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedEditorDropTargetAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedEditorDropTargetAdapter.java
deleted file mode 100644
index c3ee600..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedEditorDropTargetAdapter.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.custom.ST;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * ExtendedEditorDropTargetAdapter
- */
-public class ExtendedEditorDropTargetAdapter extends DropTargetAdapter {
-
-	private Point caret = null;
-	private String[] editorIds;
-	private int orgOffset = 0;
-	private IExtendedSimpleEditor targetEditor = null;
-	private ITextViewer textViewer = null;
-
-	private Transfer[] transfers = null;
-
-	public ExtendedEditorDropTargetAdapter() {
-		super();
-	}
-
-	protected boolean doDrop(Transfer transfer, DropTargetEvent event) {
-		TransferBuilder tb = new TransferBuilder();
-
-		IDropAction[] as = null;
-		if (editorIds != null && editorIds.length > 0)
-			as = tb.getDropActions(editorIds, transfer.getClass().getName());
-		else
-			as = tb.getDropActions(getTargetEditor().getClass().getName(), transfer.getClass().getName());
-
-		for (int i = 0; i < as.length; ++i) {
-			IDropAction da = as[i];
-			if (transfer instanceof FileTransfer) {
-				if (event.data == null) {
-					Logger.log(Logger.ERROR, "No data in DropTargetEvent from " + event.widget); //$NON-NLS-1$
-					return false;
-				}
-				String[] strs = (String[]) event.data;
-				boolean[] bs = new boolean[strs.length];
-				int c = 0;
-				for (int j = 0; j < strs.length; ++j) {
-					bs[j] = false;
-					if (da.isSupportedData(strs[j])) {
-						event.data = new String[]{strs[j]};
-						if (!da.run(event, targetEditor)) {
-							bs[j] = true;
-							c++;
-						}
-					} else {
-						bs[j] = true;
-						c++;
-					}
-				}
-				if (c == 0) {
-					return true;
-				}
-
-				int k = 0;
-				String[] rests = new String[c];
-				for (int j = 0; j < strs.length; ++j) {
-					if (bs[j])
-						rests[k++] = strs[j];
-				}
-				event.data = rests;
-			} else if (da.isSupportedData(event.data)) {
-				if (da.run(event, targetEditor)) {
-					return true;
-				}
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 */
-	public void dragEnter(DropTargetEvent event) {
-		caret = null;
-		TransferData data = null;
-		Transfer[] ts = getTransfers();
-		for (int i = 0; i < ts.length; i++) {
-			for (int j = 0; j < event.dataTypes.length; j++) {
-				if (ts[i].isSupportedType(event.dataTypes[j])) {
-					data = event.dataTypes[j];
-					break;
-				}
-			}
-			if (data != null) {
-				event.currentDataType = data;
-				break;
-			}
-		}
-
-		if (textViewer != null) {
-			orgOffset = textViewer.getTextWidget().getCaretOffset();
-		}
-	}
-
-	public void dragLeave(DropTargetEvent event) {
-		if (textViewer != null) {
-			StyledText st = textViewer.getTextWidget();
-			st.setCaretOffset(orgOffset);
-			st.redraw();
-			st.update();
-		}
-	}
-
-	/**
-	 */
-	public void dragOver(DropTargetEvent event) {
-		event.operations &= ~DND.DROP_MOVE;
-		event.detail = DND.DROP_COPY;
-
-		if (textViewer != null) {
-			Point pt = toControl(new Point(event.x, event.y));
-			StyledText st = textViewer.getTextWidget();
-
-			// auto scroll
-			Rectangle ca = st.getClientArea();
-			int margin = st.getLineHeight();
-
-			if (pt.y < margin) { // up
-				st.invokeAction(ST.LINE_UP);
-			} else if (pt.y > ca.height - margin) { // down
-				st.invokeAction(ST.LINE_DOWN);
-			}
-
-			// draw insertion point
-			int offset = getDropOffset(st, pt);
-			if (offset != st.getCaretOffset()) {
-				st.setCaretOffset(offset);
-				st.setSelection(offset);
-			}
-
-			Point newCaret = st.getLocationAtOffset(offset);
-			if (newCaret.equals(caret))
-				return;
-
-			Caret ct = st.getCaret();
-			Point size = ct.getSize();
-
-			GC gc = new GC(st);
-			gc.setXORMode(true);
-			gc.setLineWidth(size.x);
-
-			// erase old caret
-			if (caret != null) {
-				Color originalForeground = gc.getForeground();
-				gc.setForeground(st.getBackground());
-				gc.drawLine(caret.x, caret.y, caret.x, caret.y + size.y);
-				gc.setForeground(originalForeground);
-			}
-
-			st.redraw();
-			st.update();
-
-			// draw new caret
-			caret = newCaret;
-			if (ct.getImage() != null)
-				gc.drawImage(ct.getImage(), caret.x, caret.y);
-			else
-				gc.drawLine(caret.x, caret.y, caret.x, caret.y + size.y);
-
-			gc.dispose();
-		}
-	}
-
-	/**
-	 */
-	public void drop(DropTargetEvent event) {
-		if (event.operations == DND.DROP_NONE)
-			return;
-
-		if (textViewer != null) {
-			Point pt = toControl(new Point(event.x, event.y));
-			StyledText st = textViewer.getTextWidget();
-
-			int offset = getDropOffset(st, pt);
-			if (offset != st.getCaretOffset()) {
-				st.setCaretOffset(offset);
-			}
-
-			//			ISelectionProvider sp = textViewer.getSelectionProvider();
-			//			ISelection sel = new TextSelection(offset, 0);
-			//			sp.setSelection(sel);
-			textViewer.setSelectedRange(offset, 0);
-		}
-
-		Transfer[] ts = getTransfers();
-		for (int i = 0; i < ts.length; i++) {
-			if (ts[i].isSupportedType(event.currentDataType)) {
-				if (doDrop(ts[i], event)) {
-					break;
-				}
-			}
-		}
-	}
-
-	protected int getDropOffset(DropTargetEvent event) {
-		Point pt = getTextViewer().getTextWidget().toControl(new Point(event.x, event.y));
-		StyledText st = textViewer.getTextWidget();
-		return getDropOffset(st, pt);
-	}
-
-	private int getDropOffset(StyledText st, Point pt) {
-		int offset = st.getCaretOffset();
-		try {
-			offset = st.getOffsetAtLocation(pt);
-		} catch (IllegalArgumentException e) {
-			// This is normal case if mouse cursor is on outside of valid
-			// text.
-			boolean found = false;
-			Point p = new Point((pt.x > 0 ? pt.x : 0), pt.y);
-			// search nearest character
-			for (; p.x > -1; p.x--) {
-				try {
-					offset = st.getOffsetAtLocation(p) + 1; // + 1 to place
-					// cursor at an
-					// end of line
-					found = true;
-					break;
-				} catch (IllegalArgumentException ex) {
-				}
-			}
-
-			if (!found) {
-				offset = st.getCharCount();
-			}
-		}
-		return offset;
-	}
-
-	public IExtendedSimpleEditor getTargetEditor() {
-		return targetEditor;
-	}
-
-	public ITextViewer getTextViewer() {
-		return textViewer;
-	}
-
-	/**
-	 * @return org.eclipse.swt.dnd.Transfer[]
-	 */
-	public Transfer[] getTransfers() {
-		if (transfers == null) {
-			TransferBuilder tb = new TransferBuilder();
-			if (editorIds == null || editorIds.length == 0)
-				transfers = tb.getDropTargetTransfers(getTargetEditor().getClass().getName());
-			else
-				transfers = tb.getDropTargetTransfers(editorIds);
-		}
-		return transfers;
-	}
-
-	/**
-	 */
-	public void setTargetEditor(IExtendedSimpleEditor targetEditor) {
-		this.targetEditor = targetEditor;
-	}
-
-	public void setTargetIDs(String[] ids) {
-		editorIds = ids;
-	}
-
-	public void setTextViewer(ITextViewer textViewer) {
-		this.textViewer = textViewer;
-	}
-
-	private Point toControl(Point point) {
-		return (textViewer != null ? textViewer.getTextWidget().toControl(point) : point);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/FileDropAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/FileDropAction.java
deleted file mode 100644
index a18e6d0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/FileDropAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.dnd.DropTargetEvent;
-
-/**
- * Action for file drop
- */
-public class FileDropAction extends AbstractDropAction {
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.edit.extension.IDropAction#run(org.eclipse.swt.dnd.DropTargetEvent,
-	 *      com.ibm.sed.edit.extension.IExtendedSimpleEditor)
-	 */
-	public boolean run(DropTargetEvent event, IExtendedSimpleEditor targetEditor) {
-		String[] strs = (String[]) event.data;
-		if (strs == null || strs.length == 0) {
-			return false;
-		}
-
-		String str = ""; //$NON-NLS-1$
-		for (int i = 0; i < strs.length; ++i) {
-			IPath path = new Path(strs[i]);
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			IFile file = root.getFileForLocation(path);
-			if (file != null) {
-				path = file.getProjectRelativePath();
-			}
-
-			str += "\"" + path.toString() + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		return insert(str, targetEditor);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/FormatProcessorsExtensionReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/FormatProcessorsExtensionReader.java
deleted file mode 100644
index a89683c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/FormatProcessorsExtensionReader.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-import org.osgi.framework.Bundle;
-
-public class FormatProcessorsExtensionReader extends RegistryReader {
-	private static FormatProcessorsExtensionReader instance;
-
-	public synchronized static FormatProcessorsExtensionReader getInstance() {
-		if (instance == null) {
-			instance = new FormatProcessorsExtensionReader();
-
-			IExtensionRegistry registry = Platform.getExtensionRegistry();
-			instance.readRegistry(registry, "org.eclipse.wst.sse.core", "formatProcessors"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return instance;
-	}
-
-	private Map map = new HashMap();
-//	 TODO: private field never read locally
-	String processorClassName;
-
-	public IStructuredFormatProcessor getFormatProcessor(String contentTypeId) {
-		if (contentTypeId == null)
-			return null;
-
-		IStructuredFormatProcessor formatProcessor = null;
-		if (map.containsKey(contentTypeId)) {
-			formatProcessor = (IStructuredFormatProcessor) map.get(contentTypeId);
-		} else {
-			IContentTypeManager manager = Platform.getContentTypeManager();
-			IContentType queryContentType = manager.getContentType(contentTypeId);
-			boolean found = false;
-			for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {
-				String elementContentTypeId = (String) iter.next();
-				IContentType elementContentType = manager.getContentType(elementContentTypeId);
-				if (queryContentType.isKindOf(elementContentType)) {
-					formatProcessor = (IStructuredFormatProcessor) map.get(elementContentTypeId);
-					map.put(contentTypeId, formatProcessor);
-					found = true;
-					break;
-				}
-			}
-
-			if (!found)
-				map.put(contentTypeId, null);
-		}
-
-		return formatProcessor;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.internal.extension.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		if (element.getName().equals("processor")) { //$NON-NLS-1$
-			String contentTypeId = element.getAttribute("contentTypeId"); //$NON-NLS-1$
-			String processorClassName = element.getAttribute("class"); //$NON-NLS-1$
-			String pluginID = element.getDeclaringExtension().getNamespace();
-			Bundle bundle = Platform.getBundle(pluginID);
-
-			try {
-				IStructuredFormatProcessor processor = (IStructuredFormatProcessor)bundle.loadClass(processorClassName).newInstance();
-				map.put(contentTypeId, processor);
-
-				return true;
-			} catch (InstantiationException e) {
-				e.printStackTrace();
-			} catch (IllegalAccessException e) {
-				e.printStackTrace();
-			} catch (ClassNotFoundException e) {
-				e.printStackTrace();
-			}
-		}
-
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IActionValidator.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IActionValidator.java
deleted file mode 100644
index 0008967..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IActionValidator.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-public interface IActionValidator {
-	boolean isValidAction();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IDropAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IDropAction.java
deleted file mode 100644
index 54d6792..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IDropAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import org.eclipse.swt.dnd.DropTargetEvent;
-
-/**
- */
-public interface IDropAction {
-
-
-	/**
-	 * @param data
-	 *            DropTargetEvent.data will be passed.
-	 * @return boolean true for supported data type
-	 */
-	public boolean isSupportedData(Object data);
-
-	/**
-	 * @return boolean true for the action is actually processed false for the
-	 *         action is not processed.
-	 */
-	public boolean run(DropTargetEvent event, IExtendedSimpleEditor targetEditor);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedConfiguration.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedConfiguration.java
deleted file mode 100644
index b7ebed2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedConfiguration.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-public interface IExtendedConfiguration {
-	void setDeclaringID(String targetID);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedContributor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedContributor.java
deleted file mode 100644
index 3353b32..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedContributor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.ui.IEditorActionBarContributor;
-
-public interface IExtendedContributor extends IEditorActionBarContributor, IPopupMenuContributor {
-	public void contributeToMenu(IMenuManager menu);
-
-	public void contributeToStatusLine(IStatusLineManager manager);
-
-	public void contributeToToolBar(IToolBarManager manager);
-
-	public void updateToolbarActions();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedEditorAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedEditorAction.java
deleted file mode 100644
index 064e841..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedEditorAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import org.eclipse.ui.texteditor.IUpdate;
-
-public interface IExtendedEditorAction extends IUpdate {
-
-	/**
-	 * Returns whether this action item is visible
-	 * 
-	 * @return <code>true</code> if this item is visible, and
-	 *         <code>false</code> otherwise
-	 */
-	public boolean isVisible();
-
-	/**
-	 * Sets the active editor for the action. Implementors should disconnect
-	 * from the old editor, connect to the new editor, and update the action
-	 * to reflect the new editor.
-	 * 
-	 * @param targetEditor
-	 *            the new editor target
-	 */
-	public void setActiveExtendedEditor(IExtendedSimpleEditor targetEditor);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedMarkupEditor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedMarkupEditor.java
deleted file mode 100644
index 8254bba..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedMarkupEditor.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import java.util.List;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * IExtendedMarkupEditor
- */
-public interface IExtendedMarkupEditor extends IExtendedSimpleEditor {
-
-
-	public Node getCaretNode();
-
-	public Document getDOMDocument();
-
-	public List getSelectedNodes();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedMarkupEditorExtension.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedMarkupEditorExtension.java
deleted file mode 100644
index 6d95bf4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedMarkupEditorExtension.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-import org.w3c.dom.Node;
-
-/**
- * @deprecated - will be removed in M4
- * 
- * @author nsd
- */
-
-public interface IExtendedMarkupEditorExtension extends IExtendedMarkupEditor {
-
-	/**
-	 * Return the DOM Node under the mouse Cursor
-	 * 
-	 * @return
-	 */
-	Node getCursorNode();
-
-	/**
-	 * Return the line under the mouse Cursor
-	 * 
-	 * @return
-	 */
-	int getCursorOffset();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedSimpleEditor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedSimpleEditor.java
deleted file mode 100644
index 5d0736d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedSimpleEditor.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-
-public interface IExtendedSimpleEditor {
-
-	public int getCaretPosition();
-
-	public IDocument getDocument();
-
-	public IEditorPart getEditorPart();
-
-	public Point getSelectionRange();
-
-	/**
-	 * @deprecated
-	 * @param context
-	 * @return
-	 */
-	public IStatus validateEdit(Shell context);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IPopupMenuContributor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IPopupMenuContributor.java
deleted file mode 100644
index 8a51eb0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IPopupMenuContributor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import org.eclipse.jface.action.IMenuManager;
-
-public interface IPopupMenuContributor {
-
-	public void contributeToPopupMenu(IMenuManager menu);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/SpellCheckProviderBuilder.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/SpellCheckProviderBuilder.java
deleted file mode 100644
index 8a05e89..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/SpellCheckProviderBuilder.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckProvider;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-import org.osgi.framework.Bundle;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-public class SpellCheckProviderBuilder extends RegistryReader {
-
-	private static final String ATT_CLASS = "class"; //$NON-NLS-1$
-	private static SpellCheckProviderBuilder instance;
-	private static final String PL_SPELLCHECK = "spellcheck"; //$NON-NLS-1$
-
-	private static final String PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-	private static final String TAG_PROVIDER = "provider"; //$NON-NLS-1$
-
-	private static final String TAG_SPELLCHECK_CONTRIBUTION = "spellcheckContribution"; //$NON-NLS-1$
-
-	/*
-	 * Creates an executable extension. @param element the config element
-	 * defining the extension @param classAttribute the name of the attribute
-	 * carrying the class @return the extension object @throws CoreException
-	 */
-	static Object createExecutableExtension(final IConfigurationElement element, final String classAttribute) throws CoreException {
-		return element.createExecutableExtension(classAttribute);
-	}
-
-	/**
-	 * Creates an extension. If the extension plugin has not been loaded a
-	 * busy cursor will be activated during the duration of the load.
-	 * 
-	 * @param element
-	 *            the config element defining the extension
-	 * @param classAttribute
-	 *            the name of the attribute carrying the class
-	 * @return the extension object
-	 * @throws CoreException
-	 */
-	public static Object createExtension(final IConfigurationElement element, final String classAttribute) {
-		// If plugin has been loaded create extension.
-		// Otherwise, show busy cursor then create extension.
-		final Object[] result = new Object[1];
-		
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		Bundle bundle = Platform.getBundle(pluginId);
-		if (bundle.getState() == Bundle.ACTIVE) {
-			try {
-				return createExecutableExtension(element, classAttribute);
-			} catch (Exception e) {
-				handleCreateExecutableException(result, e);
-			}
-		} else {
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					try {
-						result[0] = createExecutableExtension(element, classAttribute);
-					} catch (Exception e) {
-						handleCreateExecutableException(result, e);
-					}
-				}
-			});
-		}
-		return result[0];
-	}
-
-	/**
-	 * returns singleton instance of SpellCheckProviderBuilder
-	 * 
-	 * @return SpellCheckProviderBuilder
-	 */
-	public synchronized static SpellCheckProviderBuilder getInstance() {
-		if (instance == null) {
-			instance = new SpellCheckProviderBuilder();
-		}
-		return instance;
-	}
-
-	/**
-	 * @param result
-	 * @param e
-	 */
-	private static void handleCreateExecutableException(Object[] result, Throwable e) {
-		Logger.logException(e);
-		result[0] = null;
-
-	}
-
-	protected List cache;
-	protected SpellCheckProvider[] providers = null;
-
-	protected String targetContributionTag;
-
-	//private static final String ATT_ID = "id"; //$NON-NLS-1$
-
-	/*
-	 * Constructor
-	 */
-	private SpellCheckProviderBuilder() {
-	}
-
-	/*
-	 * Creates a breakpoint provider object to given element @param element
-	 * configuration element object @return SpellCheckProvider
-	 */
-	protected SpellCheckProvider createSpellCheckProvider(IConfigurationElement element) {
-		Object obj = null;
-		obj = createExtension(element, ATT_CLASS);
-		if (obj == null)
-			return null;
-		return (obj instanceof SpellCheckProvider) ? (SpellCheckProvider) obj : null;
-	}
-
-	/*
-	 * Creates an array of breakpoint providers @return SpellCheckProvider[]
-	 */
-	protected SpellCheckProvider[] createSpellCheckProviders() {
-		if (cache == null)
-			return new SpellCheckProvider[0];
-
-		final int num = cache.size();
-		if (num == 0)
-			return new SpellCheckProvider[0];
-
-		SpellCheckProvider[] bp = new SpellCheckProvider[num];
-		int j = 0;
-		for (int i = 0; i < num; i++) {
-			Object obj = cache.get(i);
-			if (!(obj instanceof IConfigurationElement))
-				continue;
-
-			IConfigurationElement element = (IConfigurationElement) obj;
-			if (!TAG_PROVIDER.equals(element.getName())) {
-				continue;
-			}
-
-			SpellCheckProvider b = createSpellCheckProvider(element);
-			if (b != null) {
-				//				b.setSourceEditingTextTools(new
-				// SourceEditingTextToolsImpl());
-				bp[j] = b;
-				j++;
-			}
-		}
-
-		SpellCheckProvider[] bp2 = new SpellCheckProvider[j];
-
-		for (int i = 0; i < j; i++) {
-			bp2[i] = bp[i];
-		}
-
-		return bp2;
-	}
-
-	/**
-	 * Returns an array of spellcheck providers for a specified content type
-	 * handler
-	 * 
-	 * @param handler
-	 *            a content type handler
-	 * @param ext
-	 *            file extension
-	 * @return SpellCheckProvider[]
-	 */
-	public SpellCheckProvider[] getSpellCheckProviders() {
-		if (cache == null) {
-			readContributions(TAG_SPELLCHECK_CONTRIBUTION, PL_SPELLCHECK);
-		}
-
-		if (providers == null) {
-			providers = createSpellCheckProviders();
-		}
-
-		return providers;
-	}
-
-	/**
-	 * Returns an array of breakpoint providers
-	 * 
-	 * @return boolean
-	 */
-	public boolean isAvailable() {
-		return getSpellCheckProviders().length != 0 ? true : false;
-	}
-
-	/**
-	 * Reads the contributions from the registry for the provided workbench
-	 * part and the provided extension point ID.
-	 * 
-	 * @param tag
-	 * @param extensionPoint
-	 */
-	protected void readContributions(String tag, String extensionPoint) {
-		cache = null;
-		targetContributionTag = tag;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		readRegistry(registry, PLUGIN_ID, extensionPoint);
-	}
-
-	/*
-	 * @see com.ibm.sed.edit.internal.extension.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String tag = element.getName();
-		if (tag.equals(targetContributionTag)) {
-			readElementChildren(element);
-			return true;
-		} else if (tag.equals(TAG_PROVIDER)) {
-			if (cache == null)
-				cache = new ArrayList();
-			cache.add(element);
-			return true; // just cache the element - don't go into it
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/TextDropAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/TextDropAction.java
deleted file mode 100644
index df28656..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/TextDropAction.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import org.eclipse.swt.dnd.DropTargetEvent;
-
-/**
- * TextDropAction
- */
-public class TextDropAction extends AbstractDropAction {
-
-
-	/**
-	 * @see AbstractDropAction#run(DropTargetEvent, IExtendedSimpleEditor)
-	 */
-	public boolean run(DropTargetEvent event, IExtendedSimpleEditor targetEditor) {
-		return insert((String) event.data, targetEditor);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/TransferBuilder.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/TransferBuilder.java
deleted file mode 100644
index bd0c6dd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/TransferBuilder.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.extension;
-
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.extension.DropActionProxy;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Builds drop target transfers, drag source transfers, and drop actions
- */
-public class TransferBuilder extends RegistryReader {
-
-	public static final String ATT_CLASS = "class"; //$NON-NLS-1$
-	public static final String ATT_ID = "id"; //$NON-NLS-1$
-	public static final String ATT_METHOD = "method"; //$NON-NLS-1$
-	public static final String ATT_PRIORITY = "priority"; //$NON-NLS-1$
-	public static final String ATT_SINGLETON = "singleton"; //$NON-NLS-1$
-	public static final String ATT_TARGET_ID = "targetID"; //$NON-NLS-1$
-	public static final String ATT_TRANSFER_ID = "transferID"; //$NON-NLS-1$
-
-	private final static boolean debugTime = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/transferbuilder/time")); //$NON-NLS-1$  //$NON-NLS-2$
-
-	public static final String PL_DRAG_SOURCE_TRANSFERS = "dragSourceTransfers"; //$NON-NLS-1$
-	public static final String PL_DROP_TARGET_TRANSFERS = "dropTargetTransfers"; //$NON-NLS-1$
-
-	public static final String PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-
-	public static final String[] PRIORITIES = {"highest", "high", "mid", "low", "lowest"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
-	public static final String TAG_DRAG_SOURCE_CONTRIBUTION = "dragSourceContribution"; //$NON-NLS-1$
-	public static final String TAG_DROP_ACTION = "dropAction"; //$NON-NLS-1$
-	public static final String TAG_DROP_TARGET_CONTRIBUTION = "dropTargetContribution"; //$NON-NLS-1$
-
-	public static final String TAG_TRANSFER = "transfer"; //$NON-NLS-1$
-
-	public static final String TRUE = "true"; //$NON-NLS-1$
-
-	/**
-	 * @param element
-	 * @param classAttribute
-	 * @return Object
-	 * @throws CoreException
-	 */
-	static Object createExecutableExtension(final IConfigurationElement element, final String classAttribute) throws CoreException {
-
-		Object obj = null;
-
-		String singleton = element.getAttribute(ATT_SINGLETON);
-		String method = element.getAttribute(ATT_METHOD);
-		if (TRUE.equalsIgnoreCase(singleton) && method != null) {
-			try {
-				String name = element.getAttribute(ATT_CLASS);
-				String pluginId = element.getDeclaringExtension().getNamespace();
-				Class cls = Platform.getBundle(pluginId).loadClass(name);
-				Method mtd = cls.getMethod(method, new Class[]{});
-
-				obj = mtd.invoke(null, null);
-			} catch (ClassNotFoundException e) {
-				obj = null;
-			} catch (NoSuchMethodException e) {
-				obj = null;
-			} catch (IllegalAccessException e) {
-				obj = null;
-			} catch (InvocationTargetException e) {
-				obj = null;
-			}
-		} else {
-			obj = element.createExecutableExtension(classAttribute);
-		}
-
-		return obj;
-	}
-
-	/**
-	 * Creates an extension. If the extension plugin has not been loaded a
-	 * busy cursor will be activated during the duration of the load.
-	 * 
-	 * @param element
-	 * @param classAttribute
-	 * @return Object
-	 * @throws CoreException
-	 */
-	public static Object createExtension(final IConfigurationElement element, final String classAttribute) {
-		// If plugin has been loaded create extension.
-		// Otherwise, show busy cursor then create extension.
-		final Object[] result = new Object[1];
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		Bundle bundle = Platform.getBundle(pluginId);
-		if (bundle.getState() == Bundle.ACTIVE) {
-			try {
-				return createExecutableExtension(element, classAttribute);
-			} catch (CoreException e) {
-				handleCreateExecutableException(result, e);
-			}
-		} else {
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					try {
-						result[0] = createExecutableExtension(element, classAttribute);
-					} catch (Exception e) {
-						handleCreateExecutableException(result, e);
-					}
-				}
-			});
-		}
-		return result[0];
-	}
-
-	/**
-	 * @param result
-	 * @param e
-	 */
-	protected static void handleCreateExecutableException(Object[] result, Throwable e) {
-		Logger.logException(e);
-		result[0] = null;
-
-	}
-
-	protected List cache;
-	protected String targetContributionTag;
-
-	protected List targetIDs;
-
-	/**
-	 * @param element
-	 * @return IDropAction
-	 */
-	protected IDropAction createDropAction(IConfigurationElement element) {
-		Object obj = null;
-		obj = createExtension(element, ATT_CLASS);
-		if (obj == null)
-			return null;
-		return (obj instanceof IDropAction) ? (IDropAction) DropActionProxy.newInstance(obj) : null;
-	}
-
-	/**
-	 * @param transferId
-	 * @return IDropAction[]
-	 */
-	protected IDropAction[] createDropActions(String transferId) {
-		if (cache == null)
-			return new IDropAction[0];
-
-		final int num = cache.size();
-		if (num == 0)
-			return new IDropAction[0];
-
-		IDropAction[] as = new IDropAction[num];
-		int j = 0;
-		for (int p = 0; p < PRIORITIES.length; p++) {
-			for (int i = 0; i < num; i++) {
-				Object obj = cache.get(i);
-				if (!(obj instanceof IConfigurationElement))
-					continue;
-
-				IConfigurationElement element = (IConfigurationElement) obj;
-				if (!(TAG_DROP_ACTION.equals(element.getName())) || !(transferId.equals(element.getAttribute(ATT_TRANSFER_ID))))
-					continue;
-
-				if (PRIORITIES[p].equals(element.getAttribute(ATT_PRIORITY)) || (p == 2 && element.getAttribute(ATT_PRIORITY) == null)) {
-					IDropAction a = createDropAction(element);
-					if (a != null) {
-						as[j] = a;
-						j++;
-					}
-				}
-			}
-		}
-
-		if (num == j)
-			return as;
-
-		IDropAction[] as2 = new IDropAction[j];
-		for (int i = 0; i < j; i++) {
-			as2[i] = as[i];
-		}
-
-		return as2;
-	}
-
-	/**
-	 * @param element
-	 * @return Transfer
-	 */
-	protected Transfer createTransfer(IConfigurationElement element) {
-		Object obj = null;
-		obj = createExtension(element, ATT_CLASS);
-		if (obj == null)
-			return null;
-		return (obj instanceof Transfer) ? (Transfer) obj : null;
-	}
-
-	/**
-	 * @return Transfer[]
-	 */
-	protected Transfer[] createTransfers() {
-		if (cache == null)
-			return new Transfer[0];
-
-		final int num = cache.size();
-		if (num == 0)
-			return new Transfer[0];
-
-		Transfer[] ts = new Transfer[num];
-		int j = 0;
-		for (int p = 0; p < PRIORITIES.length; p++) {
-			for (int i = 0; i < num; i++) {
-				Object obj = cache.get(i);
-				if (!(obj instanceof IConfigurationElement))
-					continue;
-
-				IConfigurationElement element = (IConfigurationElement) obj;
-				if (!TAG_TRANSFER.equals(element.getName()))
-					continue;
-
-				if (PRIORITIES[p].equals(element.getAttribute(ATT_PRIORITY)) || (p == 2 && element.getAttribute(ATT_PRIORITY) == null)) {
-					Transfer t = createTransfer(element);
-					if (t != null) {
-						ts[j] = t;
-						j++;
-					}
-				}
-			}
-		}
-
-		if (num == j)
-			return ts;
-
-		Transfer[] ts2 = new Transfer[j];
-		for (int i = 0; i < j; i++) {
-			ts2[i] = ts[i];
-		}
-
-		return ts2;
-	}
-
-	/**
-	 * @param editorId
-	 * @return Transfer[]
-	 */
-	public Transfer[] getDragSourceTransfers(String editorId) {
-		return getDragSourceTransfers(new String[]{editorId});
-	}
-
-	/**
-	 * @param editorIds
-	 * @return Transfer[]
-	 */
-	public Transfer[] getDragSourceTransfers(String[] editorIds) {
-		long time0 = System.currentTimeMillis();
-		readContributions(editorIds, TAG_DRAG_SOURCE_CONTRIBUTION, PL_DRAG_SOURCE_TRANSFERS);
-		Transfer[] transfers = createTransfers();
-		if (debugTime)
-			System.out.println(getClass().getName() + "#getDragSourceTransfers(" + editorIds + "): " + transfers.length + " transfers created in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		return transfers;
-	}
-
-	/**
-	 * @param editorId
-	 * @param className
-	 * @return IDropAction[]
-	 */
-	public IDropAction[] getDropActions(String editorId, String transferClassName) {
-		return getDropActions(new String[]{editorId}, transferClassName);
-	}
-
-	/**
-	 * @param editorId
-	 * @param className
-	 * @return IDropAction[]
-	 */
-	public IDropAction[] getDropActions(String[] editorIds, String transferClassName) {
-		long time0 = System.currentTimeMillis();
-		readContributions(editorIds, TAG_DROP_TARGET_CONTRIBUTION, PL_DROP_TARGET_TRANSFERS);
-		String transferId = getTransferIdOfClassName(transferClassName);
-		IDropAction[] actions = createDropActions(transferId);
-		if (debugTime)
-			System.out.println(getClass().getName() + "#getDropActions(" + editorIds + "): " + actions.length + " drop actions created in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		return actions;
-	}
-
-	/**
-	 * @param editorId
-	 * @return Transfer[]
-	 */
-	public Transfer[] getDropTargetTransfers(String editorId) {
-		return getDropTargetTransfers(new String[]{editorId});
-	}
-
-	/**
-	 * @param editorIds
-	 * @return Transfer[]
-	 */
-	public Transfer[] getDropTargetTransfers(String[] editorIds) {
-		long time0 = System.currentTimeMillis();
-		readContributions(editorIds, TAG_DROP_TARGET_CONTRIBUTION, PL_DROP_TARGET_TRANSFERS);
-		Transfer[] transfers = createTransfers();
-		if (debugTime) {
-			String idlist = ""; //$NON-NLS-1$
-			if (editorIds.length > 0) {
-				for (int i = 0; i < editorIds.length; i++) {
-					idlist += editorIds[i];
-					if (i < editorIds.length - 1)
-						idlist += ","; //$NON-NLS-1$
-				}
-			}
-			System.out.println(getClass().getName() + "#getDropTargetTransfers(" + idlist + "): " + transfers.length + " transfers created in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return transfers;
-	}
-
-	/**
-	 * Returns the name of the part ID attribute that is expected in the
-	 * target extension.
-	 * 
-	 * @param element
-	 * @return String
-	 */
-	protected String getTargetID(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_TARGET_ID);
-		return value != null ? value : "???"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @param className
-	 * @return String
-	 */
-	private String getTransferIdOfClassName(String className) {
-		String id = ""; //$NON-NLS-1$
-		final int num = cache.size();
-		if (className == null || cache == null || num == 0)
-			return id;
-
-		for (int i = 0; i < num; i++) {
-			Object obj = cache.get(i);
-			if (obj instanceof IConfigurationElement) {
-				IConfigurationElement element = (IConfigurationElement) obj;
-				if (className.equals(element.getAttribute(ATT_CLASS))) {
-					id = element.getAttribute(ATT_ID);
-					break;
-				}
-			}
-		}
-
-		return (id.length() != 0 ? id : className);
-	}
-
-	/**
-	 * Reads the contributions from the registry for the provided workbench
-	 * part and the provided extension point ID.
-	 * 
-	 * @param id
-	 * @param tag
-	 * @param extensionPoint
-	 */
-	protected void readContributions(String[] ids, String tag, String extensionPoint) {
-		cache = null;
-		targetIDs = Arrays.asList(ids);
-		targetContributionTag = tag;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		readRegistry(registry, PLUGIN_ID, extensionPoint);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.edit.internal.extension.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String tag = element.getName();
-		if (tag.equals(targetContributionTag)) {
-			String id = getTargetID(element);
-			if (id == null || !targetIDs.contains(id)) {
-				// This is not of interest to us - don't go deeper
-				return true;
-			}
-		} else if (tag.equals(TAG_TRANSFER)) {
-			if (cache == null)
-				cache = new ArrayList();
-			cache.add(element);
-			return true; // just cache the element - don't go into it
-		} else if (tag.equals(TAG_DROP_ACTION)) {
-			if (cache == null)
-				cache = new ArrayList();
-			//cache.add(createActionDescriptor(element));
-			cache.add(element);
-			return true; // just cache the action - don't go into
-		} else {
-			return false;
-		}
-
-		readElementChildren(element);
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/format/StructuredFormattingStrategy.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/format/StructuredFormattingStrategy.java
deleted file mode 100644
index 2ad356b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/format/StructuredFormattingStrategy.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.format;
-
-import java.io.IOException;
-import java.util.LinkedList;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.TypedPosition;
-import org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy;
-import org.eclipse.jface.text.formatter.FormattingContextProperties;
-import org.eclipse.jface.text.formatter.IFormattingContext;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-
-
-public class StructuredFormattingStrategy extends ContextBasedFormattingStrategy {
-
-	/** Documents to be formatted by this strategy */
-	private final LinkedList fDocuments = new LinkedList();
-	private IStructuredFormatProcessor fFormatProcessor;
-	/** Partitions to be formatted by this strategy */
-	private final LinkedList fPartitions = new LinkedList();
-	private IRegion fRegion;
-
-	/**
-	 * @param formatProcessor
-	 */
-	public StructuredFormattingStrategy(IStructuredFormatProcessor formatProcessor) {
-		super();
-
-		fFormatProcessor = formatProcessor;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#format()
-	 */
-	public void format() {
-		super.format();
-
-		final IDocument document = (IDocument) fDocuments.removeFirst();
-		final TypedPosition partition = (TypedPosition) fPartitions.removeFirst();
-
-		if (document != null && partition != null && fRegion != null && fFormatProcessor != null) {
-			try {
-				fFormatProcessor.formatDocument(document, fRegion.getOffset(), fRegion.getLength());
-			} catch (IOException e) {
-				throw new SourceEditingRuntimeException(e);
-			} catch (CoreException e) {
-				throw new SourceEditingRuntimeException(e);
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStarts(org.eclipse.jface.text.formatter.IFormattingContext)
-	 */
-	public void formatterStarts(final IFormattingContext context) {
-		super.formatterStarts(context);
-
-		fPartitions.addLast(context.getProperty(FormattingContextProperties.CONTEXT_PARTITION));
-		fDocuments.addLast(context.getProperty(FormattingContextProperties.CONTEXT_MEDIUM));
-		fRegion = (IRegion) context.getProperty(FormattingContextProperties.CONTEXT_REGION);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStops()
-	 */
-	public void formatterStops() {
-		super.formatterStops();
-
-		fPartitions.clear();
-		fDocuments.clear();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/FileModelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/FileModelProvider.java
deleted file mode 100644
index 33884d4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/FileModelProvider.java
+++ /dev/null
@@ -1,1095 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.UnsupportedCharsetException;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ContainerGenerator;
-import org.eclipse.ui.editors.text.FileDocumentProvider;
-import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel;
-import org.eclipse.wst.common.encoding.CodedReaderCreator;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.common.encoding.exceptions.CharConversionErrorWithDetail;
-import org.eclipse.wst.common.encoding.exceptions.MalformedInputExceptionWithDetail;
-import org.eclipse.wst.common.encoding.exceptions.MalformedOutputExceptionWithDetail;
-import org.eclipse.wst.common.encoding.exceptions.UnsupportedCharsetExceptionWithDetail;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IModelLifecycleListener;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelStateListenerExtended;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelLifecycleEvent;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModel;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistryImpl;
-import org.eclipse.wst.sse.ui.util.Assert;
-
-/**
- * This version of an IDocumentProvider is the editor side counter part to
- * IModelManager. It is responsible for providing the structuredModel, which
- * is actually deferred to the IModelManager. But other, non-deffered
- * responsibilities include providing editing related models, such as
- * annotation models, undo command stack, etc.
- * 
- * @deprecated - will be removed in M4
- */
-public class FileModelProvider extends FileDocumentProvider implements IModelProvider {
-
-	// Ensure that the ElementInfo metadata is correct for the model
-	protected class InternalModelStateListener implements IModelStateListenerExtended {
-		public void modelAboutToBeChanged(IStructuredModel model) {
-			if (debugModelStatelistener) {
-				System.out.println("FileModelProvider: modelAboutToBeChanged: " + model.getId());
-			}
-		}
-
-		public void modelAboutToBeReinitialized(IStructuredModel model) {
-			if (debugModelStatelistener) {
-				System.out.println("FileModelProvider: modelAboutToBeReinitialized: " + model.getId());
-			}
-		}
-
-		public void modelChanged(IStructuredModel model) {
-			if (debugModelStatelistener) {
-				System.out.println("FileModelProvider: modelChanged: " + model.getId());
-			}
-		}
-
-		public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-			if (debugModelStatelistener) {
-				System.out.println("FileModelProvider: modelDirtyStateChanged:(" + isDirty + ") " + model.getId());
-			}
-			// synchronize the saveability with the dirty flag
-			IFileEditorInput editorInput = (IFileEditorInput) getInputFor(model);
-			if (editorInput != null) {
-				FileInfo info = (FileInfo) getElementInfo(editorInput);
-				if (info != null) {
-					info.fCanBeSaved = isDirty;
-					if (!isDirty) {
-						addUnchangedElementListeners(editorInput, info);
-						// This timestamp udpate is required until
-						// ModelLifecycleEvent.MODEL_SAVED are received in the
-						// ModelInfo
-						info.fModificationStamp = computeModificationStamp(editorInput.getFile());
-					}
-					fireElementDirtyStateChanged(editorInput, isDirty);
-				} else {
-					throw new SourceEditingRuntimeException(new IllegalArgumentException("no corresponding element info found for " + model.getId()), "leftover model state listener in FileModelProvider"); //$NON-NLS-2$ //$NON-NLS-1$
-				}
-			}
-			fireModelDirtyStateChanged(model, isDirty);
-		}
-
-		public void modelReinitialized(IStructuredModel model) {
-			if (debugModelStatelistener) {
-				System.out.println("FileModelProvider: modelReinitialized " + model.getId());
-			}
-			reinitializeFactories(model);
-		}
-
-		public void modelResourceDeleted(IStructuredModel model) {
-			if (debugModelStatelistener) {
-				System.out.println("FileModelProvider: modelResourceDeleted " + model.getId());
-			}
-			fireModelDeleted(model);
-		}
-
-		public void modelResourceMoved(IStructuredModel originalmodel, IStructuredModel movedmodel) {
-			if (debugModelStatelistener) {
-				System.out.println("FileModelProvider: modelResourceMoved " + originalmodel.getBaseLocation() + " --> " + movedmodel.getBaseLocation());
-			}
-			fireModelMoved(originalmodel, movedmodel);
-		}
-	}
-
-	/**
-	 * Collection of info that goes with a model. Implements
-	 * IModelLifecycleListener so that there's a separate instance per
-	 * IEditorInput
-	 */
-	protected class ModelInfo implements IModelLifecycleListener {
-		public IEditorInput fElement;
-		public FileSynchronizer fFileSynchronizer;
-		public boolean fShouldReleaseOnInfoDispose;
-		public IStructuredModel fStructuredModel;
-
-		public ModelInfo(IStructuredModel structuredModel, IEditorInput element, boolean selfCreated) {
-			fElement = element;
-			fStructuredModel = structuredModel;
-			fShouldReleaseOnInfoDispose = selfCreated;
-			fFileSynchronizer = createModelSynchronizer(element, structuredModel);
-		}
-
-		public void processPostModelEvent(ModelLifecycleEvent event) {
-			if (debugLifecyclelistener) {
-				System.out.println("FileModelProvider: " + event.getModel().getId() + " " + event.toString());
-			}
-			if (event.getType() == ModelLifecycleEvent.MODEL_SAVED) {
-				// update the recorded timestamps in the ElementInfo
-				FileInfo info = (FileInfo) getElementInfo(fElement);
-				if (info != null) {
-					info.fModificationStamp = computeModificationStamp(((IFileEditorInput) fElement).getFile());
-				} else {
-					throw new SourceEditingRuntimeException(new IllegalArgumentException("no corresponding element info found for " + event.getModel().getId()), "leftover model lifecycle listener"); //$NON-NLS-2$ //$NON-NLS-1$
-				}
-			}
-		}
-
-		public void processPreModelEvent(ModelLifecycleEvent event) {
-			if (debugLifecyclelistener) {
-				System.out.println("FileModelProvider: " + event.getModel().getId() + " " + event.toString());
-			}
-		}
-	}
-
-	static final boolean debugLifecyclelistener = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener"));
-	static final boolean debugModelStatelistener = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/filemodelprovider/modelstatelistener"));
-
-	private static final boolean debugOperations = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/filemodelprovider/operations"));
-
-	private static FileModelProvider fInstance = null;
-	private static IModelManager fModelManager;
-
-	/** NLS strings */
-	//    private static final String UNSUPPORTED_ENCODING_WARNING =
-	// ResourceHandler.getString("1This_encoding({0})_is_not__WARN_");
-	// //$NON-NLS-1$
-	//$NON-NLS-1$ = "This encoding({0}) is not supported. The default encoding will be used instead."
-	// CSSFileModelProvider will use this.
-	protected static final String UNSUPPORTED_ENCODING_WARNING_TITLE = SSEUIPlugin.getResourceString("%Encoding_warning_UI_"); //$NON-NLS-1$ = "Encoding warning"
-
-	public synchronized static FileModelProvider getInstance() {
-		if (fInstance == null)
-			fInstance = new FileModelProvider();
-		return fInstance;
-	}
-
-	/**
-	 * Utility method also used in subclasses
-	 */
-	protected static IModelManager getModelManager() {
-		if (fModelManager == null) {
-			fModelManager = StructuredModelManager.getModelManager();
-		}
-		return fModelManager;
-	}
-
-	private Shell fActiveShell;
-
-	// workaround for save-as in C4
-	private Vector fChangingElements = new Vector(1);
-
-	private InternalModelStateListener fInternalModelStateListener;
-
-	/** IStructuredModel information of all connected elements */
-	private Map fModelInfoMap = new HashMap();
-
-	/**
-	 * @deprecated - temporary flag to change the behavior of createDocument
-	 *             during revert/reset
-	 */
-	private boolean fReuseModelDocument = true;
-
-	protected FileModelProvider() {
-		fInternalModelStateListener = new InternalModelStateListener();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#aboutToChange(java.lang.Object)
-	 */
-	public void aboutToChange(Object element) {
-
-		super.aboutToChange(element);
-
-		// start recording for revert
-		IStructuredModel model = getModel(element);
-		if (model != null) {
-			fChangingElements.add(element);
-			IStructuredTextUndoManager undoMgr = model.getUndoManager();
-			undoMgr.beginRecording(this, 0, 0);
-		}
-	}
-
-	/**
-	 * Register additional (viewer related) factories Note: this can be called
-	 * twice, one for when model first created and loaded to editor. And
-	 * possible later, if a model "reinit" takes place.
-	 */
-	protected void addProviderFactories(IStructuredModel structuredModel) {
-		// its an error to call with null argument
-		if (structuredModel == null)
-			return;
-
-		SSEUIPlugin plugin = ((SSEUIPlugin) Platform.getPlugin(SSEUIPlugin.ID));
-		AdapterFactoryRegistry adapterRegistry = plugin.getAdapterFactoryRegistry();
-		//Iterator adapterFactoryList =
-		// adapterRegistry.getAdapterFactories();
-		String contentTypeId = structuredModel.getContentTypeIdentifier();
-
-		Iterator adapterFactoryList = ((AdapterFactoryRegistryImpl) adapterRegistry).getAdapterFactories(contentTypeId);
-		IFactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
-		Assert.isNotNull(factoryRegistry, "model in invalid state");
-		// And all those appropriate for this particular type of content
-		while (adapterFactoryList.hasNext()) {
-			try {
-				AdapterFactoryProvider provider = (AdapterFactoryProvider) adapterFactoryList.next();
-				// (pa) ContentType was already checked above
-				// this check is here for backwards compatability
-				// for those that still don't specify content type
-				if (provider.isFor(structuredModel.getModelHandler())) {
-					provider.addAdapterFactories(structuredModel);
-				}
-			} catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#changed(java.lang.Object)
-	 */
-	public void changed(Object element) {
-
-		super.changed(element);
-
-		// end recording for revert
-		if (fChangingElements.contains(element)) {
-			fChangingElements.remove(element);
-			IStructuredTextUndoManager undoMgr = getModel(element).getUndoManager();
-			undoMgr.endRecording(this, 0, 0);
-		}
-	}
-
-	protected IAnnotationModel createAnnotationModel(Object element) throws CoreException {
-		if (debugOperations) {
-			if (element instanceof IStorageEditorInput)
-				System.out.println("FileModelProvider: createAnnotationModel for " + ((IStorageEditorInput) element).getStorage().getFullPath());
-			else
-				System.out.println("FileModelProvider: createAnnotationModel for " + element);
-		}
-		IAnnotationModel model = null;
-		if (element instanceof IEditorInput) {
-			IFile file = (IFile) ((IEditorInput) element).getAdapter(IFile.class);
-			model = new StructuredResourceMarkerAnnotationModel(file);
-		}
-		if (model == null)
-			model = super.createAnnotationModel(element);
-		return model;
-	}
-
-	/**
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#createDocument(java.lang.Object)
-	 */
-	protected IDocument createDocument(Object element) {
-		IDocument document = null;
-		if (debugOperations) {
-			if (element instanceof IFileEditorInput)
-				System.out.println("FileModelProvider: createDocument for " + ((IFileEditorInput) element).getFile().getFullPath());
-			else
-				System.out.println("FileModelProvider: createDocument for " + element);
-		}
-		if (element instanceof IEditorInput) {
-			// create a new IDocument for the element; should always reflect
-			// the contents of the resource
-			ModelInfo info = getModelInfoFor((IEditorInput) element);
-			if (info == null) {
-				throw new SourceEditingRuntimeException(new IllegalArgumentException("no corresponding model info found")); //$NON-NLS-1$
-			}
-			IStructuredModel model = info.fStructuredModel;
-			if (model != null) {
-				if (!fReuseModelDocument && element instanceof IFileEditorInput) {
-					Reader reader = null;
-					IStructuredDocument innerdocument = null;
-					try {
-						// update document from file contents
-
-						IFile iFile = ((IFileEditorInput) element).getFile();
-						CodedReaderCreator codedReaderCreator = new CodedReaderCreator(iFile);
-						reader = codedReaderCreator.getCodedReader();
-
-						innerdocument = model.getStructuredDocument();
-
-						int originalLengthToReplace = innerdocument.getLength();
-
-						//TODO_future: we could implement with sequential
-						// rewrite, if we don't
-						// pickup automatically from FileBuffer support, so
-						// not so
-						// much has to be pulled into memory (as an extra big
-						// string), but
-						// we need to carry that API through so that
-						// StructuredModel is not
-						// notified until done.
-
-						//innerdocument.startSequentialRewrite(true);
-						//innerdocument.replaceText(this, 0,
-						// innerdocument.getLength(), "");
-
-
-						StringBuffer stringBuffer = new StringBuffer();
-						int bufferSize = 2048;
-						char[] buffer = new char[bufferSize];
-						int nRead = 0;
-						boolean eof = false;
-						while (!eof) {
-							nRead = reader.read(buffer, 0, bufferSize);
-							if (nRead == -1) {
-								eof = true;
-							} else {
-								stringBuffer.append(buffer, 0, nRead);
-								//innerdocument.replaceText(this,
-								// innerdocument.getLength(), 0, new
-								// String(buffer, 0, nRead));
-							}
-						}
-						// ignore read-only settings if reverting whole
-						// document
-						innerdocument.replaceText(this, 0, originalLengthToReplace, stringBuffer.toString(), true);
-						model.setDirtyState(false);
-
-					} catch (CoreException e) {
-						Logger.logException(e);
-					} catch (IOException e) {
-						Logger.logException(e);
-					} finally {
-						if (reader != null) {
-							try {
-								reader.close();
-							} catch (IOException e1) {
-								// would be highly unusual
-								Logger.logException(e1);
-							}
-						}
-						//						if (innerdocument != null) {
-						//							innerdocument.stopSequentialRewrite();
-						//						}
-					}
-
-				}
-				if (document == null) {
-					document = model.getStructuredDocument();
-				}
-			}
-		}
-		return document;
-	}
-
-	/**
-	 * Also create ModelInfo - extra resource synchronization classes should
-	 * be stored within the ModelInfo
-	 */
-	protected ElementInfo createElementInfo(Object element) throws CoreException {
-		if (debugOperations) {
-			if (element instanceof IFileEditorInput)
-				System.out.println("FileModelProvider: createElementInfo for " + ((IFileEditorInput) element).getFile().getFullPath());
-			else
-				System.out.println("FileModelProvider: createElementInfo for " + element);
-		}
-		// create the corresponding ModelInfo if necessary
-		if (getModelInfoFor((IEditorInput) element) == null) {
-			createModelInfo((IEditorInput) element);
-		}
-		ElementInfo info = super.createElementInfo(element);
-		return info;
-	}
-
-	/**
-	 * NOT API
-	 * 
-	 * @param input
-	 */
-	public void createModelInfo(IEditorInput input) {
-		if (debugOperations) {
-			if (input instanceof IFileEditorInput)
-				System.out.println("FileModelProvider: createModelInfo for " + ((IFileEditorInput) input).getFile().getFullPath());
-			else
-				System.out.println("FileModelProvider: createModelInfo for " + input);
-		}
-		if (!(input instanceof IFileEditorInput)) {
-			throw new SourceEditingRuntimeException(new IllegalArgumentException("This model provider only supports IFileEditorInputs")); //$NON-NLS-1$
-		}
-		if (getModelInfoFor(input) == null) {
-			IStructuredModel structuredModel = selfCreateModel((IFileEditorInput) input);
-			createModelInfo(input, structuredModel, true);
-		}
-	}
-
-	/**
-	 * NOT API - setModel(IStructuredModel, IEditorInput) should be used
-	 * instead to force IEditorInput to IStructuredModel associations
-	 * 
-	 * To be used when model is provided to us, ensures that when setInput is
-	 * used on this input, the given model will be used.
-	 */
-	public void createModelInfo(IEditorInput input, IStructuredModel structuredModel, boolean releaseModelOnDisconnect) {
-		if (!(input instanceof IFileEditorInput)) {
-			throw new SourceEditingRuntimeException(new IllegalArgumentException("This model provider only supports IFileEditorInputs")); //$NON-NLS-1$
-		} else if (structuredModel == null) {
-			throw new SourceEditingRuntimeException(new IllegalArgumentException("No model loaded for input: " + input.getName())); //$NON-NLS-1$
-		}
-		// we have to make sure factories are added, whether we created or
-		// not.
-		if (getModelInfoFor(input) != null)
-			return;
-		// When a model is moved, it may be in the map for two IEditorInputs
-		// for
-		// a brief time. Ensure that model "setup" is only performed once.
-		ModelInfo existingModelInfo = getModelInfoFor(structuredModel);
-		if (existingModelInfo == null) {
-			addProviderFactories(structuredModel);
-		} else {
-			reinitializeFactories(structuredModel);
-		}
-		ModelInfo modelInfo = new ModelInfo(structuredModel, input, releaseModelOnDisconnect);
-		fModelInfoMap.put(input, modelInfo);
-		if (modelInfo.fFileSynchronizer != null) {
-			modelInfo.fFileSynchronizer.install();
-		}
-		modelInfo.fStructuredModel.addModelStateListener(fInternalModelStateListener);
-		modelInfo.fStructuredModel.addModelLifecycleListener(modelInfo);
-		// fix once approved
-		// we only resetSynchronizationStamp on model if its not set already
-		if (input.getAdapter(IFile.class) != null && modelInfo.fStructuredModel.getSynchronizationStamp() == IResource.NULL_STAMP) {
-			modelInfo.fStructuredModel.resetSynchronizationStamp((IResource) input.getAdapter(IFile.class));
-		}
-	}
-
-	protected FileSynchronizer createModelSynchronizer(IEditorInput input, IStructuredModel model) {
-		return null;
-	}
-
-	protected void disposeElementInfo(Object element, ElementInfo info) {
-		if (debugOperations) {
-			if (element instanceof IFileEditorInput)
-				System.out.println("FileModelProvider: disposeElementInfo for " + ((IFileEditorInput) element).getFile().getFullPath());
-			else
-				System.out.println("FileModelProvider: disposeElementInfo for " + element);
-		}
-		if (element instanceof IEditorInput) {
-			IEditorInput input = (IEditorInput) element;
-			ModelInfo modelInfo = getModelInfoFor(input);
-			if (modelInfo.fFileSynchronizer != null) {
-				modelInfo.fFileSynchronizer.uninstall();
-			}
-			disposeModelInfo(modelInfo);
-		}
-		super.disposeElementInfo(element, info);
-	}
-
-	/**
-	 * disconnect from this model info
-	 * 
-	 * @param info
-	 */
-	public void disposeModelInfo(ModelInfo info) {
-		info.fStructuredModel.removeModelLifecycleListener(info);
-		info.fStructuredModel.removeModelStateListener(fInternalModelStateListener);
-		if (info.fShouldReleaseOnInfoDispose) {
-			if (debugOperations) {
-				if (info.fElement instanceof IFileEditorInput)
-					System.out.println("FileModelProvider: disposeModelInfo and releaseFromEdit for " + ((IFileEditorInput) info.fElement).getFile().getFullPath());
-				else
-					System.out.println("FileModelProvider: disposeModelInfo and releaseFromEdit for " + info.fElement);
-			}
-			info.fStructuredModel.releaseFromEdit();
-		} else if (debugOperations) {
-			if (info.fElement instanceof IFileEditorInput)
-				System.out.println("FileModelProvider: disposeModelInfo without releaseFromEdit for " + ((IFileEditorInput) info.fElement).getFile().getFullPath());
-			else
-				System.out.println("FileModelProvider: disposeModelInfo without releaseFromEdit for " + info.fElement);
-		}
-		if (info.fFileSynchronizer != null) {
-			info.fFileSynchronizer.uninstall();
-		}
-		fModelInfoMap.remove(info.fElement);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#doResetDocument(java.lang.Object,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void doResetDocument(Object element, IProgressMonitor monitor) throws CoreException {
-		fReuseModelDocument = false;
-		super.doResetDocument(element, monitor);
-		fReuseModelDocument = true;
-	}
-
-	public void doSaveDocument(IProgressMonitor progressMonitor, Object element, IDocument document, boolean overwrite) throws CoreException {
-		//TODO: still need to "transfer" much of this logic to model level
-		boolean success = false;
-		Assert.isTrue(element instanceof IFileEditorInput);
-		IFileEditorInput input = (IFileEditorInput) element;
-		IStructuredModel model = getModel(getInputFor(document));
-		Assert.isNotNull(model);
-		boolean localDirtyState = model.isDirty();
-		IFile resource = input.getFile();
-		try {
-			if (!overwrite) {
-				checkSynchronizationState(((FileInfo) getElementInfo(element)).fModificationStamp, resource);
-			}
-			// inform about the upcoming content change
-			fireElementStateChanging(element);
-			try {
-				model.save(resource); //, encodingname, null);
-			} catch (UnsupportedCharsetException exception) {
-				Shell shell = getActiveShell();
-				// FYI: made this indirect chain of calls to help get rid of
-				// our specific Exception, need to test
-				// that all is updated in right order, even when error.
-				EncodingMemento encodingMemento = model.getStructuredDocument().getEncodingMemento();
-				String foundEncoding = encodingMemento.getInvalidEncoding();
-				String defaultToUse = encodingMemento.getAppropriateDefault();
-				boolean tryDefault = openUnsupportEncodingForSave(foundEncoding, defaultToUse, resource.getName(), shell);
-				if (tryDefault) {
-					model.save(resource, EncodingRule.FORCE_DEFAULT);
-				} else {
-					// User has canceled Save. Keep view opened
-					progressMonitor.setCanceled(true);
-					return;
-				}
-			} catch (MalformedOutputExceptionWithDetail exception) {
-				Shell shell = getActiveShell();
-				boolean userOK = openUnconvertableCharactersWarningForSave(exception, shell); //resource.getName()
-				if (userOK) {
-					model.save(resource, EncodingRule.IGNORE_CONVERSION_ERROR);
-				} else {
-					// User has canceled Save. Keep view opened
-					progressMonitor.setCanceled(true);
-					return;
-				}
-			} catch (CharConversionErrorWithDetail exception) {
-				Shell shell = getActiveShell();
-				boolean userOK = openUnconvertableCharactersWarningForSave(exception, shell); //resource.getName()
-				if (userOK) {
-					model.save(resource, EncodingRule.IGNORE_CONVERSION_ERROR);
-				} else {
-					// User has canceled Save. Keep view opened
-					progressMonitor.setCanceled(true);
-					//outStream.close();
-					//outStream = null;
-					return;
-				}
-			}
-			if (!resource.exists()) {
-				progressMonitor.beginTask(SSEUIPlugin.getResourceString("%FileDocumentProvider.task.saving"), 2000); //$NON-NLS-1$ 
-				ContainerGenerator generator = new ContainerGenerator(resource.getParent().getFullPath());
-				generator.generateContainer(new SubProgressMonitor(progressMonitor, 1000));
-			}
-			// if we get to here without an exception... success!
-			success = true;
-			model.setDirtyState(false);
-			model.resetSynchronizationStamp(resource);
-
-			// update markers
-			if (getAnnotationModel(element) instanceof AbstractMarkerAnnotationModel) {
-				((AbstractMarkerAnnotationModel) getAnnotationModel(element)).updateMarkers(document);
-			}
-			// reset the modification stamp record so we know we don't try to
-			// reload on following resource change notifications
-			FileInfo info = (FileInfo) getElementInfo(element);
-			if (info != null) {
-				info.fModificationStamp = computeModificationStamp(resource);
-			}
-
-			//For error handling test only!!!==========
-			//
-			//Uncomment the following line of code to simulate a
-			// FileNotFoundException.
-			//throw new FileNotFoundException();
-			//
-			//Uncomment the following line of code to simulate a
-			// UnsupportedEncodingException.
-			//throw new UnsupportedEncodingException();
-			//
-			//Uncomment the following line of code to simulate a IOException.
-			//throw new IOException();
-			//For error handling test only!!!==========
-		} catch (java.io.FileNotFoundException exception) {
-			/*
-			 * The FileNotFoundException's message may not be very meaningful
-			 * to user. Since the SourceEditingRuntimeException(exception,
-			 * message) form will use just the detail message in the passed-in
-			 * exception (instead of concatenating the detail message with the
-			 * additional message), we are converting this exception into a
-			 * more informative message. Same idea applies to the following
-			 * catch blocks.
-			 */
-			progressMonitor.setCanceled(true);
-			// inform about failure
-			fireElementStateChangeFailed(element);
-			throw new SourceEditingRuntimeException(SSEUIPlugin.getResourceString("%Unable_to_save_the_documen_ERROR_")); //$NON-NLS-1$ = "Unable to save the document. Output file not found."
-		} catch (UnsupportedEncodingException exception) {
-			progressMonitor.setCanceled(true);
-			// inform about failure
-			fireElementStateChangeFailed(element);
-			throw new SourceEditingRuntimeException(SSEUIPlugin.getResourceString("%Unable_to_save_the_documen1_ERROR_")); //$NON-NLS-1$ = "Unable to save the document. Unsupported encoding."
-		} catch (java.io.IOException exception) {
-			progressMonitor.setCanceled(true);
-			// inform about failure
-			fireElementStateChangeFailed(element);
-			throw new SourceEditingRuntimeException(SSEUIPlugin.getResourceString("%Unable_to_save_the_documen2_ERROR_")); //$NON-NLS-1$
-			//$NON-NLS-1$ = "Unable to save the document. An I/O error occurred while saving the document."
-		} catch (OperationCanceledException exception) {
-			Logger.log(Logger.INFO, "Save Operation Canceled at user's request"); //$NON-NLS-1$
-		} finally {
-			if (!success) {
-				model.setDirtyState(localDirtyState);
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProviderExtension#synchronize(java.lang.Object)
-	 */
-	public void doSynchronize(Object element, IProgressMonitor monitor) throws CoreException {
-		super.doSynchronize(element, monitor);
-		if (element instanceof IFileEditorInput) {
-			IFileEditorInput input = (IFileEditorInput) element;
-			getModel(input).resetSynchronizationStamp(input.getFile());
-		}
-	}
-
-	protected void fireModelContentAboutToBeReplaced(IStructuredModel model) {
-	}
-
-	protected void fireModelContentReplaced(IStructuredModel model) {
-	}
-
-	protected void fireModelDeleted(IStructuredModel model) {
-	}
-
-	protected void fireModelDirtyStateChanged(IStructuredModel model, final boolean isDirty) {
-	}
-
-	protected void fireModelMoved(IStructuredModel originalModel, IStructuredModel movedModel) {
-	}
-
-	protected Shell getActiveShell() {
-		Shell shell = null;
-		// Looks like Display tells me what is the current active Shell
-		// so that it seems not to ask EditorPart to give me a Shell.
-		// Same technique in used by
-		// Infopop(org.eclipse.help.internal.ui.ContextHelpDialog(Object [],
-		// int, int))
-		// looks like there's not always an active shell, at least
-		// during debugging the save operation with invalid encoding
-		if (fActiveShell != null) {
-			shell = fActiveShell;
-		} else {
-			Display dsp = getDisplay();
-			shell = dsp.getActiveShell();
-		}
-		return shell;
-	}
-
-	private Display getDisplay() {
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.editors.text.IStorageDocumentProvider#getEncoding(java.lang.Object)
-	 */
-	public String getEncoding(Object element) {
-		EncodingMemento em = null;
-		IStructuredModel model = getModel((IEditorInput) element);
-		// model can be null if opened on non-expected file
-		if (model != null) {
-			em = model.getStructuredDocument().getEncodingMemento();
-		}
-		// DefaultEncodingSupport uses IANA names
-		if (em != null)
-			return em.getDetectedCharsetName();
-		return super.getEncoding(element);
-	}
-
-	protected IEditorInput getInputFor(IDocument document) {
-		IStructuredModel model = getModelManager().getExistingModelForRead(document);
-		IEditorInput input = getInputFor(model);
-		model.releaseFromRead();
-		return input;
-	}
-
-	protected IEditorInput getInputFor(IStructuredModel structuredModel) {
-		IEditorInput result = null;
-		ModelInfo info = getModelInfoFor(structuredModel);
-		if (info != null)
-			result = info.fElement;
-		return result;
-	}
-
-	public IStructuredModel getModel(IEditorInput element) {
-		IStructuredModel result = null;
-		ModelInfo info = getModelInfoFor(element);
-		if (info != null) {
-			result = info.fStructuredModel;
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.IModelProvider#getModel(java.lang.Object)
-	 */
-	public IStructuredModel getModel(Object element) {
-		Assert.isTrue(element instanceof IFileEditorInput);
-		return getModel((IFileEditorInput) element);
-	}
-
-	protected ModelInfo getModelInfoFor(IEditorInput element) {
-		ModelInfo result = (ModelInfo) fModelInfoMap.get(element);
-		return result;
-	}
-
-	protected ModelInfo getModelInfoFor(IStructuredModel structuredModel) {
-		ModelInfo result = null;
-		if (structuredModel != null) {
-			ModelInfo[] modelInfos = (ModelInfo[]) fModelInfoMap.values().toArray(new ModelInfo[0]);
-			for (int i = 0; i < modelInfos.length; i++) {
-				ModelInfo info = modelInfos[i];
-				if (structuredModel.equals(info.fStructuredModel)) {
-					result = info;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.editors.text.FileDocumentProvider#getPersistedEncoding(java.lang.Object)
-	 */
-	protected String getPersistedEncoding(Object element) {
-		EncodingMemento em = null;
-		IStructuredModel model = getModel((IEditorInput) element);
-		if (model != null) {
-			em = model.getStructuredDocument().getEncodingMemento();
-		}
-		// DefaultEncodingSupport uses IANA names
-		if (em != null) {
-			return em.getDetectedCharsetName();
-		} else {
-			// error condition
-			return ""; //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Defines the standard procedure to handle CoreExceptions.
-	 * 
-	 * @param exception
-	 *            the exception to be logged
-	 * @param message
-	 *            the message to be logged
-	 */
-	protected void handleCoreException(CoreException exception, String message) {
-		Logger.logException(message, exception);
-	}
-
-	/**
-	 * Updates the element info and Document contents to a change of the file
-	 * content and sends out appropriate notifications.
-	 * 
-	 * @param fileEditorInput
-	 *            the input of a text editor
-	 */
-	protected void handleElementContentChanged(IFileEditorInput fileEditorInput) {
-		FileInfo info = (FileInfo) getElementInfo(fileEditorInput);
-		if (info == null)
-			return;
-
-		String oldContents = getModel(fileEditorInput).getStructuredDocument().get();
-
-		try {
-			refreshFile(fileEditorInput.getFile());
-		} catch (CoreException x) {
-			handleCoreException(x, "FileDocumentProvider.handleElementContentChanged"); //$NON-NLS-1$
-		}
-
-		// set the new content and fire content related events
-		fireElementContentAboutToBeReplaced(fileEditorInput);
-		removeUnchangedElementListeners(fileEditorInput, info);
-
-		// direct superclass also removes but never adds?
-		info.fDocument.removeDocumentListener(info);
-
-		boolean reloaded = false;
-		InputStream inStream = null;
-		try {
-			inStream = fileEditorInput.getFile().getContents(true);
-			getModel(fileEditorInput).reload(inStream);
-			reloaded = true;
-		} catch (IOException e) {
-			String message = MessageFormat.format(SSEUIPlugin.getResourceString("%FileModelProvider.0"), new String[]{fileEditorInput.getName()}); //$NON-NLS-1$
-			info.fStatus = new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.ERROR, message, e);
-		} catch (CoreException e) {
-			info.fStatus = e.getStatus();
-		} finally {
-			if (inStream != null) {
-				try {
-					inStream.close();
-				} catch (IOException e1) {
-					Logger.logException(e1);
-				}
-			}
-		}
-		info.fDocument = getModel(fileEditorInput).getStructuredDocument();
-
-		info.fCanBeSaved = false;
-		info.fModificationStamp = computeModificationStamp(fileEditorInput.getFile());
-		if (reloaded) {
-			info.fStatus = null;
-		}
-
-		addUnchangedElementListeners(fileEditorInput, info);
-		fireElementContentReplaced(fileEditorInput);
-		if (!reloaded) {
-			info.fDocument.set(oldContents);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.editors.text.FileDocumentProvider#isModifiable(java.lang.Object)
-	 */
-	public boolean isModifiable(Object element) {
-		return super.isModifiable(element); //!isReadOnly(element);
-	}
-
-	/**
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#mustSaveDocument(java.lang.Object)
-	 *      <br>
-	 * 
-	 * The rule is that if it is sharedForEdit, then it never "must be saved",
-	 * but if its not sharedForEdit, then it depends on its dirty state.
-	 */
-	public boolean mustSaveDocument(Object element) {
-		boolean result = false;
-		if (getModel((IEditorInput) element) != null) {
-			if (!getModel((IEditorInput) element).isSharedForEdit()) {
-				result = getModel((IEditorInput) element).isDirty();
-			}
-		}
-		return result;
-	}
-
-	private boolean openUnconvertableCharactersWarningForSave(CharConversionErrorWithDetail outputException, Shell topshell) {
-		// open message dialog
-		final String title = UNSUPPORTED_ENCODING_WARNING_TITLE;
-		String userMessage = SSEUIPlugin.getResourceString("%cannot_convert_some_characters2"); //$NON-NLS-1$
-		MessageFormat form = new MessageFormat(userMessage);
-		Object[] args = {outputException.getCharsetName()};
-		final String msg = form.format(args);
-		Shell shell = getActiveShell();
-		MessageDialog warning = new MessageDialog(shell, title, null, msg, MessageDialog.QUESTION, new String[]{IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 0);
-		if (warning.open() == 0)
-			return true;
-		return false;
-	}
-
-	protected boolean openUnconvertableCharactersWarningForSave(MalformedOutputExceptionWithDetail outputException, Shell topshell) {
-		// open message dialog
-		final String title = UNSUPPORTED_ENCODING_WARNING_TITLE;
-		String userMessage = SSEUIPlugin.getResourceString("%cannot_convert_some_characters"); //$NON-NLS-1$
-		MessageFormat form = new MessageFormat(userMessage);
-		Object[] args = {outputException.getAttemptedIANAEncoding(), Integer.toString(outputException.getCharPosition())};
-		final String msg = form.format(args);
-		Shell shell = getActiveShell();
-		MessageDialog warning = new MessageDialog(shell, title, null, msg, MessageDialog.QUESTION, new String[]{IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 0);
-		if (warning.open() == 0)
-			return true;
-		return false;
-	}
-
-	protected void openUndecodableCharacterError(MalformedInputExceptionWithDetail e) {
-		// checked and coordinated among all editors.
-		String title = SSEUIPlugin.getResourceString("%Error_opening_file_UI_"); //$NON-NLS-1$ = "Error opening file"
-		String msg = e.toString();
-		// if the exception char position < 0, perhaps we exceeded the max
-		// buffer when detecting pos of error
-		// if that is the case, display a different error message
-		IStatus status;
-		if ((e.getCharPosition() < 0) && (e.isExceededMax()))
-			status = new Status(IStatus.ERROR, SSEUIPlugin.ID, 0, SSEUIPlugin.getResourceString("%8concat_ERROR_", (new Object[]{Integer.toString(e.getMaxBuffer()), e.getAttemptedIANAEncoding()})), e); //$NON-NLS-1$
-		else
-			status = new Status(IStatus.ERROR, SSEUIPlugin.ID, 0, SSEUIPlugin.getResourceString("%7concat_ERROR_", (new Object[]{(Integer.toString(e.getCharPosition())), e.getAttemptedIANAEncoding()})), e); //$NON-NLS-1$
-		//$NON-NLS-1$ = "Could not be decoded character (at position {0}) according to the encoding parameter {1}"
-		ErrorDialog.openError(getActiveShell(), title, msg, status);
-	}
-
-	protected void openUnsupportedEncodingWarningForLoad(String encoding, String defaultToUse) {
-		// open message dialog
-		final String title = UNSUPPORTED_ENCODING_WARNING_TITLE;
-		MessageFormat form = new MessageFormat(SSEUIPlugin.getResourceString("%This_encoding_({0})_is_not_supported._The_default_encoding_({1})_will_be_used_instead._1")); //$NON-NLS-1$
-		Object[] args = {encoding, defaultToUse};
-		final String msg = form.format(args);
-		Shell shell = getActiveShell();
-		MessageDialog warning = new MessageDialog(shell, title, null, msg, MessageDialog.WARNING, new String[]{IDialogConstants.OK_LABEL}, 0);
-		warning.open();
-	}
-
-	protected boolean openUnsupportEncodingForSave(String foundEncoding, String defaultEncodingToUse, String dialogTitle, Shell topshell) {
-		if (topshell == null)
-			return true; // if no topshell, return true;
-		// open message dialog
-		//  MessageFormat form = new
-		// MessageFormat(ResourceHandler.getString("This_encoding({0})_is_not__WARN_"));
-		// //$NON-NLS-1$ = "This encoding({0}) is not supported. Continue ?"
-		MessageFormat form = new MessageFormat(SSEUIPlugin.getResourceString("%This_encoding_({0})_is_not_supported._Continue_the_save_using_the_default_({1})__2")); //$NON-NLS-1$
-		Object[] args = {foundEncoding, defaultEncodingToUse};
-		final String msg = form.format(args);
-		MessageDialog warning = new MessageDialog(topshell, dialogTitle, null, msg, MessageDialog.QUESTION, new String[]{IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 0);
-		if (warning.open() == 0)
-			return true;
-		return false;
-	}
-
-	/**
-	 * Register additional (viewer related) factories Note: this can be called
-	 * twice, one for when model first created and loaded to editor. And
-	 * possible later, if a model "reinit" takes place.
-	 */
-	protected void reinitializeFactories(IStructuredModel structuredModel) {
-		// its an error to call with null argument
-		if (structuredModel == null)
-			return;
-		SSEUIPlugin plugin = ((SSEUIPlugin) Platform.getPlugin(SSEUIPlugin.ID));
-		AdapterFactoryRegistry adapterRegistry = plugin.getAdapterFactoryRegistry();
-		Iterator adapterList = adapterRegistry.getAdapterFactories();
-		// And all those appropriate for this particular type of content
-		while (adapterList.hasNext()) {
-			try {
-				AdapterFactoryProvider provider = (AdapterFactoryProvider) adapterList.next();
-				if (provider.isFor(structuredModel.getModelHandler())) {
-					provider.reinitializeFactories(structuredModel);
-				}
-			} catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-	protected IStructuredModel selfCreateModel(IFileEditorInput input) {
-		// this method should be called only after is established the
-		// desired model is not in the active items list.
-		IStructuredModel structuredModel = getModelManager().getExistingModelForEdit(input.getFile());
-		if (structuredModel == null) {
-			try {
-				try {
-					structuredModel = getModelManager().getModelForEdit(input.getFile()); //
-				} catch (UnsupportedCharsetException exception) {
-					// TODO-future: user should be given a choice here to try
-					// other encodings other than 'default'
-					EncodingMemento encodingMemento = null;
-					if (exception instanceof UnsupportedCharsetExceptionWithDetail) {
-						UnsupportedCharsetExceptionWithDetail detailedException = (UnsupportedCharsetExceptionWithDetail) exception;
-						encodingMemento = detailedException.getEncodingMemento();
-					}
-
-					String foundEncoding = encodingMemento.getInvalidEncoding();
-					String defaultToUse = encodingMemento.getAppropriateDefault();
-					openUnsupportedEncodingWarningForLoad(foundEncoding, defaultToUse);
-					try {
-						structuredModel = getModelManager().getModelForEdit(input.getFile(), EncodingRule.FORCE_DEFAULT); //$NON-NLS-1$ //$NON-NLS-2$
-					} catch (MalformedInputExceptionWithDetail ex) { // this
-						openUndecodableCharacterError(ex);
-						structuredModel = null;
-					}
-				} catch (MalformedInputExceptionWithDetail e) {
-					openUndecodableCharacterError(e);
-
-					structuredModel = getModelManager().getModelForEdit(input.getFile(), EncodingRule.IGNORE_CONVERSION_ERROR);
-				}
-			} catch (CoreException e) {
-				throw new SourceEditingRuntimeException(e);
-			} catch (IOException e) {
-				throw new SourceEditingRuntimeException(e);
-			}
-		}
-		return structuredModel;
-	}
-
-	/**
-	 * we should figure out how not to need this in future. I've found that
-	 * during 'save', the active shell, obtainable from Display, is null, so
-	 * this shell must be set by editor before requesting the save. We should
-	 * check "legality" directly from editor.
-	 */
-	public void setActiveShell(Shell activeShell) {
-		fActiveShell = activeShell;
-
-	}
-
-	/**
-	 * This method is intended for those uses where the model has already been
-	 * obtained and provided by the client (with its own id, not necessarily
-	 * the one we would create by default). The IEditorInput must still be
-	 * connect()ed before regular IDocumentProvider APIs will function.
-	 */
-	public void setModel(IStructuredModel model, IEditorInput input) {
-		if (debugOperations) {
-			if (input instanceof IFileEditorInput)
-				System.out.println("FileModelProvider: setModel override used for " + ((IFileEditorInput) input).getFile().getFullPath());
-			else
-				System.out.println("FileModelProvider: setModel override used for " + input);
-		}
-		createModelInfo(input, model, false);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/IModelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/IModelProvider.java
deleted file mode 100644
index 6d7ab5a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/IModelProvider.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-
-public interface IModelProvider extends IDocumentProvider {
-	IStructuredModel getModel(Object element);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/Logger.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/Logger.java
deleted file mode 100644
index dfb1edc..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/Logger.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if
- * desired, the console. This class should only be used by classes in this
- * plugin. Other plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-	
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int INFO_DEBUG = 200 + INFO;
-
-	public static final int OK = IStatus.OK; // 0
-
-	public static final int OK_DEBUG = 200 + OK;
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int WARNING_DEBUG = 200 + WARNING;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/NullModelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/NullModelProvider.java
deleted file mode 100644
index 5fb0eb6..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/NullModelProvider.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.AnnotationModel;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.texteditor.AbstractDocumentProvider;
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-
-/**
- * An IModelProvider that builds StructuredModels on top of IDocuments. A
- * prototype for "any IEditorInput" support
- * 
- * *** VERY UNTESTED *** TODO: Currently BROKEN
- * 
- * @deprecated
- */
-public class NullModelProvider extends AbstractDocumentProvider implements IModelProvider {
-
-	private static NullModelProvider _instance = null;
-
-	public static synchronized NullModelProvider getInstance() {
-		if (_instance == null) {
-			_instance = new NullModelProvider();
-		}
-		return _instance;
-	}
-
-	private HashMap fModelMap = new HashMap(1);
-
-	public NullModelProvider() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#createAnnotationModel(java.lang.Object)
-	 */
-	protected IAnnotationModel createAnnotationModel(Object element) {
-		return new AnnotationModel();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#createDocument(java.lang.Object)
-	 */
-	protected IDocument createDocument(Object element) {
-		//		return getModel(element).getStructuredDocument();
-		return new Document();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#createElementInfo(java.lang.Object)
-	 */
-	//	protected ElementInfo createElementInfo(Object element) throws
-	// CoreException {
-	//		if (fModelMap.get(element) != null)
-	//			fModelMap.put(element,
-	// getModelManager().createUnManagedStructuredModelFor(ContentTypeIdentifierForXML.ContentTypeID_XML));
-	//		return super.createElementInfo(element);
-	//	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#disposeElementInfo(java.lang.Object,
-	 *      org.eclipse.ui.texteditor.AbstractDocumentProvider.ElementInfo)
-	 */
-	protected void disposeElementInfo(Object element, ElementInfo info) {
-		fModelMap.remove(element);
-		super.disposeElementInfo(element, info);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#doSaveDocument(org.eclipse.core.runtime.IProgressMonitor,
-	 *      java.lang.Object, org.eclipse.jface.text.IDocument, boolean)
-	 */
-	protected void doSaveDocument(IProgressMonitor monitor, Object element, IDocument document, boolean overwrite) {
-		return;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.IModelProvider#getModel(java.lang.Object)
-	 */
-	public IStructuredModel getModel(Object element) {
-		return (IStructuredModel) fModelMap.get(element);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#getOperationRunner(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IRunnableContext getOperationRunner(IProgressMonitor monitor) {
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/PreferenceInitializer.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/PreferenceInitializer.java
deleted file mode 100644
index 018a29f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/PreferenceInitializer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.sse.ui.internal;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-
-
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = SSEUIPlugin.getDefault().getPreferenceStore();
-
-		// use the base annotation & quick diff preference page
-		EditorsUI.useAnnotationsPreferencePage(store);
-		EditorsUI.useQuickDiffPreferencePage(store);
-
-		// let annotations show up in the vertical ruler if that's what the
-		// preference is
-		//		// these annotation preferences have a different default value than
-		// the one the base provides
-		//		store.setDefault("errorIndicationInVerticalRuler", false);
-		// //$NON-NLS-1$
-		//		store.setDefault("warningIndicationInVerticalRuler", false);
-		// //$NON-NLS-1$
-
-		// these annotation preferences are not part of base text editor
-		// preference
-		store.setDefault(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, true);
-
-		setMatchingBracketsPreferences(store);
-
-		// hover help preferences are not part of base text editor preference
-		String mod2Name = Action.findModifierString(SWT.MOD2); // SWT.COMMAND
-		// on Mac;
-		// SWT.CONTROL
-		// elsewhere
-		store.setDefault(CommonEditorPreferenceNames.EDITOR_TEXT_HOVER_MODIFIERS, "combinationHover|true|0;problemHover|false|0;documentationHover|false|0;annotationHover|true|" + mod2Name); //$NON-NLS-1$
-
-		// tab width is also a model-side preference so need to load default
-		// from there
-		store.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH, CommonModelPreferenceNames.DEFAULT_TAB_WIDTH);
-
-		// set default read-only foreground color scale value
-		store.setDefault(CommonEditorPreferenceNames.READ_ONLY_FOREGROUND_SCALE, 30);
-	
-	}
-
-	private void setMatchingBracketsPreferences(IPreferenceStore store) {
-		// matching brackets is not part of base text editor preference
-		store.setDefault(CommonEditorPreferenceNames.MATCHING_BRACKETS, true);
-		PreferenceConverter.setDefault(store, CommonEditorPreferenceNames.MATCHING_BRACKETS_COLOR, new RGB(192, 192, 192));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ReadOnlyAwareDropTargetAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ReadOnlyAwareDropTargetAdapter.java
deleted file mode 100644
index a66b67c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ReadOnlyAwareDropTargetAdapter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.ui.extension.ExtendedEditorDropTargetAdapter;
-
-
-public class ReadOnlyAwareDropTargetAdapter extends ExtendedEditorDropTargetAdapter {
-
-	public ReadOnlyAwareDropTargetAdapter() {
-		super();
-	}
-
-	public void drop(DropTargetEvent event) {
-		IDocument document = getTextViewer().getDocument();
-		if (document instanceof IStructuredDocument) {
-			if (((IStructuredDocument) document).containsReadOnly(getDropOffset(event), 0)) {
-				event.operations = DND.DROP_NONE;
-				event.detail = DND.DROP_NONE;
-				getTextViewer().getTextWidget().redraw();
-				getTextViewer().getTextWidget().update();
-				getTextViewer().getTextWidget().getDisplay().beep();
-			}
-		}
-		super.drop(event);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/SSEUIPlugin.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/SSEUIPlugin.java
deleted file mode 100644
index 8a19670..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/SSEUIPlugin.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistryImpl;
-import org.eclipse.wst.sse.ui.registry.embedded.EmbeddedAdapterFactoryRegistryImpl;
-import org.eclipse.wst.sse.ui.taginfo.TextHoverManager;
-
-
-public class SSEUIPlugin extends AbstractUIPlugin {
-
-	public final static String ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-
-	static SSEUIPlugin instance = null;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-
-	public static SSEUIPlugin getDefault() {
-		return instance;
-	}
-
-	public synchronized static SSEUIPlugin getInstance() {
-		return instance;
-	}
-
-	private TextHoverManager fTextHoverManager;
-
-	public SSEUIPlugin() {
-		super();
-		instance = this;
-	}
-
-	public AdapterFactoryRegistry getAdapterFactoryRegistry() {
-		return AdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	public AdapterFactoryRegistry getEmbeddedAdapterFactoryRegistry() {
-		return EmbeddedAdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	/**
-	 * Return text hover manager
-	 * 
-	 * @return TextHoverManager
-	 */
-	public TextHoverManager getTextHoverManager() {
-		if (fTextHoverManager == null) {
-			fTextHoverManager = new TextHoverManager();
-		}
-		return fTextHoverManager;
-	}
-
-	/**
-	 * This method is here so that other editor plugins can set Editor
-	 * defaults in their initializeDefaultPreferences(...) methods.
-	 * 
-	 * @deprecated other editor plugins should not need this plugin to initialize anything
-	 * (should use EditorsUI)
-	 * @param store
-	 */
-	public void initializeDefaultEditorPreferences(IPreferenceStore store) {
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.sse.ui.internal.SSEUIPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/SSEUIPluginResources.properties b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/SSEUIPluginResources.properties
deleted file mode 100644
index 48e24a0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/SSEUIPluginResources.properties
+++ /dev/null
@@ -1,592 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Encoding_warning_UI_=Encoding warning
-FileDocumentProvider.task.saving=Saving
-Unable_to_save_the_documen_ERROR_=Unable to save the document. Output file not found.
-Unable_to_save_the_documen1_ERROR_=Unable to save the document. Unsupported encoding.
-Unable_to_save_the_documen2_ERROR_=Unable to save the document. An I/O error occurred while saving the document.
-cannot_convert_some_characters=The encoding ({0}) cannot convert some characters (such as the one in position {1}). Press ''OK'' to save anyway (and some characters will be converted to ''?'' in the saved file), or press ''Cancel'' to return to the editor.
-cannot_convert_some_characters2=The encoding ({0}) cannot convert some characters. Press ''OK'' to save anyway (and some characters will be converted to ''?'' in the saved file), or press ''Cancel'' to return to the editor.
-Error_opening_file_UI_=Error opening file
-_UI_File_is_read_only=File {0} is read-only.
-7concat_ERROR_=One or more characters could not be decoded according to the encoding parameter {1}. Position of first invalid character is {0}.
-8concat_ERROR_=One or more characters could not be decoded according to the encoding parameter {1}. Position of first invalid character is greater than {0}.
-This_encoding_({0})_is_not_supported._The_default_encoding_({1})_will_be_used_instead._1=This encoding ({0}) is not supported. The default encoding ({1}) will be used instead.
-This_encoding_({0})_is_not_supported._Continue_the_save_using_the_default_({1})__2=This encoding ({0}) is not supported. Continue the save using the default ({1})?
-Information=Information
-PluginAction.operationNotAvailableMessage=The chosen operation is not currently available.
-32concat_EXC_=Editor could not be open on {0}
-Multiple_errors=Multiple annotations found at this line:
-&Undo_Text_Change_@Ctrl+Z_UI_=&Undo Text Change @Ctrl+Z
-Undo_Text_Change._UI_=Undo Text Change.
-&Undo_{0}_@Ctrl+Z_UI_=&Undo {0} @Ctrl+Z
-Undo__{0}._UI_=Undo: {0}.
-&Redo_Text_Change_@Ctrl+Y_UI_=&Redo Text Change @Ctrl+Y
-Redo_Text_Change._UI_=Redo Text Change.
-&Redo_{0}_@Ctrl+Y_UI_=&Redo {0} @Ctrl+Y
-Redo__{0}._UI_=Redo: {0}.
-FormatMenu.label=F&ormat
-Format_Document_UI_=Format Document
-Format_Active_Elements_UI_=Format Active Elements
-Text_Cut_UI_=Text Cut
-Text_Paste_UI_=Text Paste
-###############################################################################
-Macro_must_have_a_name_INFO_=Macro must have a name
-Macro_name_can_not_start_w_INFO_=Macro name can not start with whitespace
-Rename_Macro_UI_=Rename Macro
-Copy_Macro_UI_=Copy Macro
-New_Macro_UI_=New Macro
-Source__UI_=Source:
-The_maximum_width_must_be__UI_=The maximum width must be an integer
-Only_whitespace_characters_UI_=Only whitespace characters are allowed in the indentation
-The_number_of_spaces_must__UI_=The number of spaces must be an integer
-Alphabetically_sort_the_li_UI_=Alphabetically sort the list of proposals
-Prompt_when_these_characte_UI_=Prompt when these characters are inserted:
-This_encoding({0})_is_not__WARN_=This encoding({0}) is not supported. Continue ?
-The_encoding_of_Preference_WARN_=The encoding of Preference({0}) and the encoding in the document({1}) are different. {1} will be used. Continue ?
-Begin/End_Comment_UI_=Begin/End Comment
-Commented_Text_UI_=Commented Text
-Begin/End_CDATA_UI_=Begin/End CDATA
-CDATA_UI_=CDATA
-Begin/End_Processing_Instr_UI_=Begin/End Processing Instruction
-Processing_Instruction_Con_UI_=Processing Instruction Content
-Start/End_Markup_UI_=Start/End Markup
-Names_UI_=Names
-## on the following line solely translate:  Begin
-Begin_DOCTYPE_UI_=Begin DOCTYPE
-## on the following line solely translate:  keyword
-DOCTYPE_SYSTEM/PUBLIC_keyw_UI_=DOCTYPE SYSTEM/PUBLIC keyword
-## on the following line solely translate:  End
-End_DOCTYPE_UI_=End DOCTYPE
-Click_on_the_sample_text_w_UI_=Click on the sample text whose style you want to customize:
-1This_encoding({0})_is_not__WARN_=This encoding({0}) is not supported. The default encoding will be used instead.
-A_temporary_backup_version_WARN_=A temporary backup version of the file {0} was found in {1}.\n\nThis indicates a previous editing session with this file did not end normally and the file you are trying to edit might have been damaged. Would you like to use the backup version?
-Improper_shutdown_warning_UI_=Improper shutdown warning
-Editing_canceled_at_users__INFO_=Editing canceled at users request
-Unable_to_save_the_documen3_ERROR_=Unable to save the document. An severe I/O error occurred while saving the document.
-An_I/O_error_while_creatin_ERROR_=An I/O error while creating temporary backup copy
-An_severe_I/O_error_while__ERROR_=An severe I/O error while creating temporary backup copy
-Cleanup_Document_UI_=Cleanup Document
-Source_UI_=Source
-Invalid_Input__Must_be_IFi_ERROR_=Invalid Input: Must be IFileEditorInput
-An_error_has_occurred_when1_ERROR_=An error has occurred when initializing the input for the the editor's source page.
-No_known_attribute__UI_=No known attribute
-Content_Assist_not_availab_UI_=Content Assist not available at the current location
-SEVERE_internal_error_occu_UI_=SEVERE internal error occurred
-Double_Quotes_UI_=Double Quotes
-Single_Quotes_UI_=Single Quotes
-ContentAssistProposals.label=Con&tent Assist
-ContentAssistProposals.tooltip=Content Assist
-ContentAssistProposals.image=
-ContentAssistProposals.description=Content Assist
-QuickFix.label=&Quick Fix
-QuickFix.tooltip=Quick Fix
-QuickFix.image=
-QuickFix.description=Quick Fix
-Comment.label=Co&mment
-Comment.tooltip=Comment
-Comment.image=
-Comment.description=Comment
-Uncomment.label=&Uncomment
-Uncomment.tooltip=Uncomment
-Uncomment.image=
-Uncomment.description=Uncomment
-ToggleComment.label=Togg&le Comment
-ToggleComment.tooltip=Toggle Comment
-ToggleComment.image=
-ToggleComment.description=Toggle Comment
-AddBlockComment.label=Add &Block Comment
-AddBlockComment.tooltip=Add Block Comment
-AddBlockComment.image=
-AddBlockComment.description=Add Block Comment
-RemoveBlockComment.label=Remove Bloc&k Comment
-RemoveBlockComment.tooltip=Remove Block Comment
-RemoveBlockComment.image=
-RemoveBlockComment.description=Remove Block Comment
-CleanupDocument.label=C&leanup Document...
-CleanupDocument.tooltip=Cleanup Document
-CleanupDocument.image=
-CleanupDocument.description=Cleanup Document
-FormatDocument.label=&Document
-FormatDocument.tooltip=Format Document
-FormatDocument.image=
-FormatDocument.description=Format Document
-FormatActiveElements.label=Act&ive Elements
-FormatActiveElements.tooltip=Format Active Elements
-FormatActiveElements.image=
-FormatActiveElements.description=Format Active Elements
-OpenFileFromSource.label=Op&en Selection
-OpenFileFromSource.tooltip=Open an editor on the selected link
-OpenFileFromSource.image=
-OpenFileFromSource.description=Open an editor on the selected link
-ShowTooltipDesc.label=Show &Tooltip Description
-ShowTooltipDesc.tooltip=Displays the hover help for the selected element
-ShowTooltipDesc.image=
-ShowTooltipDesc.description=Displays the hover help for the selected element
-StructureSelectEnclosing.label=&Enclosing Element
-StructureSelectEnclosing.tooltip=Expand selection to include enclosing element
-StructureSelectEnclosing.description=Expand selection to include enclosing element
-StructureSelectNext.label=&Next Element
-StructureSelectNext.tooltip=Expand selection to include next sibling
-StructureSelectNext.description=Expand selection to include next sibling
-StructureSelectPrevious.label=&Previous Element
-StructureSelectPrevious.tooltip=Expand selection to include previous sibling
-StructureSelectPrevious.description=Expand selection to include previous sibling
-StructureSelectHistory.label=&Restore Last Selection
-StructureSelectHistory.tooltip=Restore last selection
-StructureSelectHistory.description=Restore last selection
-Save.label=&Save
-An_error_has_occurred_when_ERROR_=An error has occurred when retrieving resources for the source editor. The Eclipse Workbench installation may have been corrupted.
-No_content_model_found_UI_=No content model found
-## save as problems (next two) should match what is in workbench
-Problems_During_Save_As_UI_=Problems During Save As...
-Save_could_not_be_complete_UI_=Save could not be completed.
-2concat=Macro name \"{0}\" is already in use
-3concat=Close with \"{0}\"
-5concat=Close with \"></{0}>\"
-8concat=<{0}> has no known child tags
-27concat=No known child tag names of <{0}> begin with \"{1}\"
-28concat=<{0}> has no known child tags
-15concat=End with {0}>
-17concat=End with \"</{0}>\"
-18concat=The document element <{0}> is already present.
-29concat=No definition was found for element <{0}> in {1}
-20concat=No definition was found for element <{0}>
-24concat=No content model found for {0}.
-25concat=Element <{0}> is unknown.
-30concat=<{0}> has no known child tags.
-31concat=Element <{0}> is unknown.
-11concat=No known child tag names of <{0}> begin with \"{1}\".
-14concat=<{0}> has no known child tags.
-9concat=Close with {0}
-6concat=comment {0}
-Capitalization_style_of_pr_UI_=Capitalization style of proposals:
-CSS_Cleanup_UI_=CSS Cleanup
-Cleanup_UI_=Cleanup
-Identifier_case__UI_=Identifier case:
-Property_name_case__UI_=Property name case:
-model_did_not_existing_dur_UI_=model did not existing during reload request in FileModelProvider
-new_File_was_null_after_mo_UI_=new File was null after move ... should be impossible
-Property_value_case__UI_=Property value case:
-Selector_tag_name_case__UI_=Selector tag name case:
-Quote_values_UI_=Quote values
-The_line_width_must_be_an__EXC_=The line width must be an integer
-Incorrect_call_UI_=Incorrect call
-1concat_ERROR_={0} has no available child tags.
-Edit_Document_Type_UI_=Edit Document Type
-DocumentType_name__UI_=DocumentType name:
-Public_identifier__UI_=Public identifier:
-System_reference__UI_=System reference:
-All_UI_=All
-Tag_UI_=Tag
-Attribute_UI_=Attribute
-Attribute_Value_UI_=Attribute Value
-1concat={0} has no available child tags.
-Text_Shift_Right_UI_=Text Shift Right
-Text_Shift_Left_UI_=Text Shift Left
-4concat_EXC_={0} is in use.
-12concat_ERROR_={0}  was in use or open in an editor.
-23concat_EXC_=Resource {0} does not exist.
-Add..._UI_=Add...
-Error_during_save_UI_=Error during save
-Operation_could_not_be_com_ERROR_=Operation could not be completed. Be sure to save your work in any open editors.
-Java_Content_Assist_is_not_UI_=Java Content Assist is not available for the current cursor location
-End_with=End with
-Close_with=Close with
-4concat=''{0}'' is not a valid input
-## The following strings are for "XML->XML Source" Preferences and "Web Tools->Source" Preferences
-Formatting_UI_=Formatting
-Line_width__UI_=Line &width:
-Clear_all_blank_lines_UI_=Clear all &blank lines
-Source_page_UI_=Source page
-Show_line_numbers_UI_=Show line &numbers
-Show_overview_ruler_UI_=Show o&verview ruler
-Tab_width__UI_=&Tab width:
-Content_assist_UI_=Content assist
-Automatically_make_suggest_UI_=Automatically ma&ke suggestions
-Prompt_when_these_characte_UI_=P&rompt when these characters are inserted:
-Preferred_markup_case_UI_=Preferred markup case for content assist, and code generation
-Tag_names__UI_=Tag names:
-Tag_names_Upper_case_UI_=&Uppercase
-Tag_names_Lower_case_UI_=&Lowercase
-Attribute_names__UI_=Attribute names:
-Attribute_names_Upper_case_UI_=U&ppercase
-Attribute_names_Lower_case_UI_=L&owercase
-## The following strings are for "XML->XML Source->Macros" Preferences and "Web Tools->Source->Macros" Preferences
-New..._UI_=Ne&w...
-Copy..._UI_=&Copy...
-Rename..._UI_=&Rename...
-Remove_UI_=Re&move
-Enabled_at_Location__UI_=&Enabled at Location:
-Content__UI_=Co&ntent:
-Set_Cursor_Position_UI_=&Set Cursor Position
-Macro_name__UI_=&Macro name:
-New_macro_name__UI_=New &macro name:
-## The following strings are for "XML->XML Source->XML Style" Preferences, "Web Tools->Source->HTML Style" Preferences, and "Web Tools->Source->JavaScript Style" Preferences
-Content_type__UI_=Co&ntent type:
-Foreground_UI_=&Foreground:
-Background_UI_=&Background:
-Bold_UI_=B&old
-Restore_Default_UI_=&Restore Default
-Sample_text__UI_=&Sample text:
-## The following strings are for the XML/HTML Cleanup dialog
-As-is_UI_=As-is
-Lower_UI_=Lower
-Upper_UI_=Upper
-Tag_name_case_for_HTML_UI_=Tag name case for HTML:
-Tag_name_case_As-is_UI_=&As-is
-Tag_name_case_Lower_UI_=&Lower
-Tag_name_case_Upper_UI_=&Upper
-Attribute_name_case_for_HTML_UI_=Attribute name case for HTML:
-Attribute_name_case_As-is_UI_=A&s-is
-Attribute_name_case_Lower_UI_=L&ower
-Attribute_name_case_Upper_UI_=U&pper
-Compress_empty_element_tags_UI_=&Compress empty element tags
-Insert_required_attributes_UI_=Insert &required attributes
-Insert_missing_tags_UI_=&Insert missing tags
-Quote_attribute_values_UI_=&Quote attribute values
-Format_source_UI_=&Format source
-Convert_EOL_codes_UI_=Convert line &delimiters to
-EOL_Windows_UI=&Windows
-EOL_Unix_UI=U&NIX
-EOL_Mac_UI=&Mac
-CSS_Cleanup_..._UI_=&CSS Cleanup ...
-##
-AddBreakpoint.label=Add &Breakpoint
-AddBreakpoint.tooltip=Add Breakpoint
-AddBreakpoint.description=Add Breakpoint
-AddBreakpoint.error.dialog.title=Add Breakpoint
-AddBreakpoint.error.dialog.message=Cannot add breakpoint
-##
-ToggleBreakpoint.label=Toggle Breakpoint
-ToggleBreakpoint.tooltip=Toggle Breakpoint
-ToggleBreakpoint.description=Toggle Breakpoint
-##
-EnableBreakpoint.label=Enable Breakpoint
-EnableBreakpoint.tooltip=Enable Breakpoint
-EnableBreakpoint.description=Enable Breakpoint
-##
-DisableBreakpoint.label=Disable Breakpoint
-DisableBreakpoint.tooltip=Disable Breakpoint
-DisableBreakpoint.description=Disable Breakpoint
-##
-ManageBreakpoints.add.label=Add &Breakpoint
-ManageBreakpoints.remove.label=Remove Breakpoint
-ManageBreakpoints.tooltip=Add/Remove Breakpoint
-ManageBreakpoints.error.adding.title1=Add Breakpoint
-ManageBreakpoints.error.adding.message1=Cannot add breakpoint
-ManageBreakpoints.error.removing.title1=Remove Breakpoint
-ManageBreakpoints.error.removing.message1=Cannot remove breakpoint
-ManageBreakpoints.error.retrieving.message=Retrieving markers failed:
-Hide_Hover_Help_1=Hide Hover Help
-Show_Hover_Help_2=Show Hover Help
-&Hover_Help_3=&Hover Help
-AbstractColorPageDescription=Customize the syntax highlighting by selecting the type of text whose style you want to customize from either the combo box or the sample text area
-JSPSourcePreferencePageDescription=Embedded content type\'s source preferences will be used. Select the file type for customization
-Creating_or_saving_files=Creating or saving files
-End-of-line_code_desc=The following line delimiter will apply:
-End-of-line_code=&Line delimiter:
-Creating_files=Creating files
-Encoding_desc=The following encoding will apply:
-Encoding=En&coding:
-XMLMacroPageDescription=Create, remove or edit Macros
-&Split_lines_1=&Split lines
-Split_&multiple_attributes_2=Split &multiple attributes each on a new line
-&Indent_using_tabs_3=&Indent using tabs
-Bad_attribute_name_1=Bad attribute name
-## tag info
-Element____1=Element :
-Content_Model____2=Content Model :
-Attribute____3=Attribute :
-Data_Type____4=Data Type :
-Enumerated_Values____5=Enumerated Values :
-## 
-Source_Menu_UI=&Source
-Highlight_Current_Line=Hi&ghlight current line
-Show_Attributes=Show Attributes
-Grammar_Constraints=Grammar Constraints
-Use_inferred_grammar_in_absence_of_DTD/Schema=Use inferred grammar in absence of DTD/Schema
-Text_font=Text font:
-C&hange...=C&hange...
-NodeName_may_not_have_nested_content={0} may not have nested content
-##
-Editor.Cut.label=Cu&t@Ctrl+X
-Editor.Cut.tooltip=Cut
-Editor.Cut.image=
-Editor.Cut.description=Cut
-
-Editor.Copy.label=&Copy@Ctrl+C
-Editor.Copy.tooltip=Copy
-Editor.Copy.image=
-Editor.Copy.description=Copy
-
-Editor.Paste.label=&Paste@Ctrl+V
-Editor.Paste.tooltip=Paste
-Editor.Paste.image=
-Editor.Paste.description=Paste
-
-Editor.Delete.label=&Delete@Delete
-Editor.Delete.tooltip=Delete
-Editor.Delete.image=
-Editor.Delete.description=Delete
-## These are copied from org.eclipse.ui.texteditor.EditorMessages.properties
-## They are needed temporarily until CMVC defect 203158 / Bugzilla defect 20054 is fixed
-Editor.ManageBookmarks.tooltip=Adds and Removes Bookmarks
-Editor.ManageBookmarks.image=
-Editor.ManageBookmarks.description=Adds and removes Bookmarks
-Editor.ManageBookmarks.add.label=Add Boo&kmark...
-Editor.ManageBookmarks.remove.label=Remove Boo&kmark
-Editor.ManageBookmarks.add.dialog.title=Add Bookmark
-Editor.ManageBookmarks.add.dialog.message=Enter Bookmark name
-Editor.ManageBookmarks.error.dialog.title=Managing Bookmarks
-Editor.ManageBookmarks.error.dialog.message=Problems managing bookmarks
-
-Editor.ManageTasks.tooltip=Adds and Removes Tasks
-Editor.ManageTasks.image=
-Editor.ManageTasks.description=Adds and removes Tasks
-Editor.ManageTasks.add.label=Add &Task...
-Editor.ManageTasks.remove.label=Remove &Task
-Editor.ManageTasks.add.dialog.title=Add Task
-Editor.ManageTasks.add.dialog.message=Enter Task description
-Editor.ManageTasks.error.dialog.title=Managing Tasks
-Editor.ManageTasks.error.dialog.message=Problems managing tasks
-
-# web content settings
-UI_Description_of_role_of_following_DOCTYPE=Use the following default document type when no DOCTYPE is declared in a file:
-UI_Default_HTML_DOCTYPE_ID___1=&Document type:
-UI_CSS_profile___2=&CSS profile:
-UI_Target_Device___3=&Target device:
-UI_none=none
-UI_Public_ID=Public ID:
-UI_System_ID=System ID:
-ERROR_CORE_CSSContentSettingsPropertyPage_is_instantiated_by_choosing_resource_except_any_file_1=CSSContentSettingsPropertyPage is instantiated by choosing resource except any file
-ERROR_CORE_index_is_out_of_range_in_applySelectedPropertyValue()_in_class_CSSContentSettingsPropertyPage_2=index is out of range in applySelectedPropertyValue() in class CSSContentSettingsPropertyPage
-ERROR_CORE_index_is_out_of_range_in_deleteNoneProperty()_in_class_CSSContentSettingsPropertyPage_3=index is out of range in deleteNoneProperty() in class CSSContentSettingsPropertyPage
-ERROR_CORE_the_number_of_items_is_different_in_list_and_Combo__1=the number of items is different in list and Combo
-#
-ERROR_COREDEV_HTMLContentSettingsPropertyPage_is_instantiated_by_choosing_resource_except_any_file_1=HTMLContentSettingsPropertyPage is instantiated by choosing resource except any file
-ERROR_COREDEV_index_is_out_of_range_in_applySelectedPropertyValue()_in_class_HTMLContentSettingsPropertyPage_2=index is out of range in applySelectedPropertyValue() in class HTMLContentSettingsPropertyPage
-ERROR_COREDEV_index_is_out_of_range_in_deleteNoneProperty()_in_class_HTMLContentSettingsPropertyPage_3=index is out of range in deleteNoneProperty() in class HTMLContentSettingsPropertyPage
-ERROR_COREDEV_ProjectContentSettingsPropertyPage_is_instantiated_by_choosing_resource_except_project_1=ProjectContentSettingsPropertyPage is instantiated by choosing resource except project
-ERROR_COREDEV_index_is_out_of_range_in_applySelectedPropertyValue()_in_class_ProjectContentSettingsPropertyPage_2=index is out of range in applySelectedPropertyValue() in class ProjectContentSettingsPropertyPage
-ERROR_COREDEV_index_is_out_of_range_in_deleteNoneProperty()_in_class_ProjectContentSettingsPropertyPage_3=index is out of range in deleteNoneProperty() in class ProjectContentSettingsPropertyPage
-# jspf,jsf content settings
-_UI_Content_Type_Label_=&Content type:
-_UI_Language_Label_=&Language:
-_UI_Character_Code_Label_=&Encoding:
-_UI_IANA_=IANA:
-_UI_Error_Msg_Content_Type_=Invalid Content Type
-_UI_Error_Msg_Language_=Invalid Language
-_UI_Description_J2EE_Project_=The properties for J2EE Web projects act as "project" default to be lookup when no properties are specified for a particular JSP fragment file.
-_UI_Description_JSPF_File_=The properties are used instead of the page directive that cannot be specified in JSP fragment files. The project setting is used if you specify "none".
-
-#
-#
-# The following lines copied from org\eclipse\ui\editors\text\TextEditorMessages.properties in org.eclipse.ui plugin
-Editor.error.save.message=Save could not be completed. {0}
-Editor.error.save.title=Problems During Save As...
-Editor.warning.save.delete=The original file ''{0}'' has been deleted.
-Set_color_and_visibilty_of_editor_annotations=Set color and visibilty of editor annotations:
-Analyze_annotations_while_typing=Analyze syntax &while typing
-Analyze_validity_while_typing=Analyze &validity while typing
-Annotation_Presentation=Annotation Presentation:
-Show_in_text=Show in &text
-Show_in_overview_ruler=Show in overview &ruler
-Color=C&olor
-Show_hover_help=Show hov&er help
-#
-Ill-formed_syntax=Ill-formed syntax:
-Style_Rule_declares_nothing=Style Rule declares nothing
-Style_Declaration_declares_nothing=Style Declaration declares nothing
-Attribute_{0}_is_missing_a_value=Attribute \"{0}\" is missing a value
-Attribute_{0}_has_no_value=Attribute \"{0}\"  has no value
-End_tag_has_attributes=End tag has attributes
-Invalid_value_{0}=Invalid value \"{0}\"
-Unknown_attribute_{0}=Unknown attribute \"{0}\"
-Missing_required_attribute_{0}=Missing required attribute \"{0}\"
-Unknown_element_{0}=Unknown element \"{0}\"
-Missing_end_tag_{0}=Missing end tag \"{0}\"
-Missing_start_tag_{0}=Missing start tag \"{0}\"
-
-# actions
-Previous_annotation=Previous Annotation
-Next_annotation=Next Annotation
-# Annotation Types
-AnnotationTypes.Errors=Errors
-AnnotationTypes.Warnings=Warnings
-AnnotationTypes.Tasks=Tasks
-AnnotationTypes.SearchResults=Search Results
-AnnotationTypes.Bookmarks=Bookmarks
-AnnotationTypes.Others=Others
-
-Editor.ConvertToWindows.label=&Windows
-Editor.ConvertToWindows.tooltip=Converts line delimiters to Windows
-Editor.ConvertToWindows.image=
-Editor.ConvertToWindows.description=Converts line delimiters to Windows
-
-Editor.ConvertToUNIX.label=&UNIX
-Editor.ConvertToUNIX.tooltip=Converts line delimiters to UNIX
-Editor.ConvertToUNIX.image=
-Editor.ConvertToUNIX.description=Converts line delimiters to UNIX
-
-Editor.ConvertToMac.label=&Mac
-Editor.ConvertToMac.tooltip=Converts line delimiters to Mac
-Editor.ConvertToMac.image=
-Editor.ConvertToMac.description=Converts line delimiters to Mac
-
-Editor.ToggleInsertMode.label=Sma&rt Insert Mode
-
-EditPreferences.label=Pre&ferences...
-EditPreferences.tooltip=Display preferences for this editor
-EditPreferences.description=Display preferences for this editor
-##########################################################################
-# These strings are used in Workbench menu bar
-##########################################################################
-ExpandSelectionToMenu.label=E&xpand Selection To
-SourceMenu.label=&Source
-ConvertLineDelimitersMenu.label=Co&nvert Line Delimiters to
-FindOccurrences.label=O&ccurrences in File
-#
-FindOccurrencesActionProvider.0=Current selection does not resolve to a searchable element
-RemoveAction.0=Remove Property
-ShowPropertiesAction.0=P&roperties
-StructuredContentOutlineConfiguration.0=Collapse All
-StructuredContentOutlineConfiguration.1=Link with Editor
-AbstractOpenOn.0=Current text selection does not resolve to a file
-FormatActionDelegate.jobName=Formatting documents
-FormatActionDelegate.errorStatusMessage=Exceptions occurred while formatting documents
-FormatActionDelegate.3=Formatting {0}
-FormatActionDelegate.4=Exception occurred while formatting document {0}
-FormatActionDelegate.5=MalformedInputException occurred while formatting document {0}
-ConvertLineDelimitersToCRLFActionDelegate.jobName=Converting line delimiters
-ConvertLineDelimitersToCRLFActionDelegate.errorStatusMessage=Exceptions occurred while converting line delimiters
-ConvertLineDelimitersToCRLFActionDelegate.3=Converting line delimiters for {0}
-ConvertLineDelimitersToCRLFActionDelegate.4=Exception occurred while converting line delimiters for document {0}
-TranslucencyPreferenceTab.0=Read-Only text style
-TranslucencyPreferenceTab.1=Read-Only contrast percentage:
-StructuredTextEditorPreferencePage.1=Line number foreground
-StructuredTextEditorPreferencePage.2=Matching brackets highlight
-StructuredTextEditorPreferencePage.3=Current line highlight
-StructuredTextEditorPreferencePage.4=Print margin
-StructuredTextEditorPreferencePage.5=Link
-StructuredTextEditorPreferencePage.6=The following preferences apply to the HTML, JSP, XML, and other source editors.
-StructuredTextEditorPreferencePage.7=S&upport hyperlink style navigation for "Open Declaration"
-StructuredTextEditorPreferencePage.8=Hyperlink style navigation key &modifier:
-StructuredTextEditorPreferencePage.15=The modifier 'Shift' is not allowed because 'Shift' + click sets a new selection.
-StructuredTextEditorPreferencePage.16=Displayed &tab width:
-StructuredTextEditorPreferencePage.17=Print margin col&umn:
-StructuredTextEditorPreferencePage.18=Show overview &ruler
-StructuredTextEditorPreferencePage.19=Show lin&e numbers
-StructuredTextEditorPreferencePage.20=Highlight &matching brackets
-StructuredTextEditorPreferencePage.21=Hi&ghlight current line
-StructuredTextEditorPreferencePage.22=Sho&w print margin
-StructuredTextEditorPreferencePage.23=Appearance co&lor options:
-StructuredTextEditorPreferencePage.24=C&olor:
-StructuredTextEditorPreferencePage.25=Always &show Quick Diff coloring
-StructuredTextEditorPreferencePage.26=Show changes using &characters instead of colors (on line number bar only)
-StructuredTextEditorPreferencePage.27=Quickdiff &reference providers:
-StructuredTextEditorPreferencePage.28=Make &Default
-StructuredTextEditorPreferencePage.29=(default)
-StructuredTextEditorPreferencePage.30=A&nalyze annotations while typing
-StructuredTextEditorPreferencePage.31=Show &quick fixables
-StructuredTextEditorPreferencePage.32=Annotation presentation options
-StructuredTextEditorPreferencePage.33=Annotations
-StructuredTextEditorPreferencePage.34=Nav&igation
-StructuredTextEditorPreferencePage.35=&Quick Diff
-StructuredTextEditorPreferencePage.36=(default)
-StructuredTextEditorPreferencePage.37=Empty input
-StructuredTextEditorPreferencePage.38=is not a valid input.
-StructuredTextEditorPreferencePage.39=is not a valid input.
-TaskTagPreferenceTab.0=High
-TaskTagPreferenceTab.1=Low
-TaskTagPreferenceTab.2=Normal
-TaskTagPreferenceTab.3=N/A
-TaskTagPreferenceTab.5=Task Tag
-TaskTagPreferenceTab.6=Tag
-TaskTagPreferenceTab.7=Priority
-TaskTagPreferenceTab.8=High
-TaskTagPreferenceTab.9=Normal
-TaskTagPreferenceTab.10=Low
-TaskTagPreferenceTab.12=Tag
-TaskTagPreferenceTab.13=Priority
-TaskTagPreferenceTab.14=New...
-TaskTagPreferenceTab.15=Edit...
-TaskTagPreferenceTab.16=Remove
-TaskTagPreferenceTab.17=Move Up
-TaskTagPreferenceTab.18=Move Down
-TaskTagPreferenceTab.19=Note: changes may not be visible until the workspace is rebuilt
-TaskTagPreferenceTab.20=Task Tags
-TaskTagPreferenceTab.22=Task Tags Settings Changed
-TaskTagPreferenceTab.23=The task tags settings have changed.  A full rebuild is required to make changes effective.  Do the full build now?
-TaskTagPreferenceTab.24=Yes
-TaskTagPreferenceTab.25=No
-TaskTagPreferenceTab.26=Cancel
-TaskTagPreferenceTab.27=Detecting tasks for task tags
-TaskTagPreferenceTab.28=build aborted
-TaskTagPreferenceTab.29=build completed
-TaskTagPreferenceTab.30=build had errors
-TaskTagPreferenceTab.31=Search for Task Tags
-FilePreferencePage.0=Expand the tree to edit preferences for a specific content type.
-NoModificationCompletionProposal.0=No corrections available
-ToggleBreakpointAction.0=Toggle &Breakpoints
-ManageBreakpointAction.0=&Enable Breakpoints
-ManageBreakpointAction.1=&Disable Breakpoints
-EditBreakpointAction.0=Breakpoint &Properties...
-ReconcileStepForMarkup.0=Missing closing quote
-ReconcileStepForMarkup.1=Missing quotes for attribute value
-ReconcileStepForMarkup.2=A tagname cannot start with a space
-ReconcileStepForMarkup.3=Empty tags are not allowed
-ReconcileStepForMarkup.4=Namespaces are not allowed in a Processing Instruction target
-ReconcileStepForMarkup.5=Spaces are not allowed before a Processing Instruction
-ReconcileStepForMarkup.6=Tag missing closing bracket '>'
-## Used in Structured Text Editor Preference Page / Hovers Tab
-TextHoverPreferenceTab.title=Hovers
-TextHoverPreferenceTab.annotationRollover=&Enable annotation roll-over (on new editors)
-TextHoverPreferenceTab.showAffordance=&Show affordance in hover on how to make it sticky
-TextHoverPreferenceTab.hoverPreferences=Text &Hover key modifier preferences:
-TextHoverPreferenceTab.enabled=&Enabled
-TextHoverPreferenceTab.keyModifier=Pressed key &modifier while hovering:
-TextHoverPreferenceTab.description=Description:
-TextHoverPreferenceTab.modifierIsNotValid=Modifier ''{0}'' is not valid.
-TextHoverPreferenceTab.modifierIsNotValidForHover=Modifier ''{0}'' for ''{1}'' hover is not valid.
-TextHoverPreferenceTab.duplicateModifier=''{0}'' hover uses the same modifier as ''{1}'' hover.
-TextHoverPreferenceTab.nameColumnTitle=Text Hover Name
-TextHoverPreferenceTab.modifierColumnTitle=Pressed Key Modifier While Hovering
-TextHoverPreferenceTab.delimiter=+
-TextHoverPreferenceTab.insertDelimiterAndModifierAndDelimiter=\ + {0} +
-TextHoverPreferenceTab.insertModifierAndDelimiter=\ {0} +
-TextHoverPreferenceTab.insertDelimiterAndModifier=\ + {0}
-combinationHover.label=Combined Hover
-combinationHover.desc=Tries the hovers in the sequence listed in the table below this one and uses the one which fits best for the selected element and the current context.
-problemHover.label=Problem Description
-problemHover.desc=Shows the description of the selected problem.
-documentationHover.label=Documentation Description
-documentationHover.desc=Shows the documentation of the selected element.
-annotationHover.label=Annotation Description
-annotationHover.desc=Shows the description of the selected annotation.
-EditStructuredTextEditorPreferencesAction.0=Editor Preferences
-StructuredTextEditorPreferencePage.0=Appearance
-BasicFindOccurrencesAction.0=region match:
-BasicSearchLabelProvider.0=line
-PreferenceManager.0=Original Error:
-NavigationPreferenceTab.0=Modifier ''{0}'' is not valid.
-OccurrencesSearchQuery.0={0} - {1} Occurrences in {2}
-OccurrencesSearchQuery.1={0} - 1 Occurrence in {1}
-OccurrencesSearchQuery.2=file
-EOL_Windows=Windows
-EOL_Unix=UNIX
-EOL_Mac=Mac
-EOL_NoTranslation=No translation
-FileModelProvider.0=Error reloading {0}
-JFaceNodeAdapter.0=Update Outline
-ShowView.errorTitle=Problems Showing View
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ShowViewAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ShowViewAction.java
deleted file mode 100644
index 12f91b8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ShowViewAction.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Surfaces a View.
- * 
- * @author Nitin Dahyabhai
- */
-public abstract class ShowViewAction extends Action {
-	/**
-	 *  
-	 */
-	public ShowViewAction() {
-		super();
-	}
-
-	/**
-	 * @param text
-	 */
-	public ShowViewAction(String text) {
-		super(text);
-	}
-
-	/**
-	 * @param text
-	 * @param image
-	 */
-	public ShowViewAction(String text, ImageDescriptor image) {
-		super(text, image);
-	}
-
-	/**
-	 * @param text
-	 * @param style
-	 */
-	public ShowViewAction(String text, int style) {
-		super(text, style);
-	}
-
-	/**
-	 * @return
-	 */
-	protected abstract String getViewID();
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		super.run();
-		showView();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.action.Action#runWithEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(Event event) {
-		super.runWithEvent(event);
-		showView();
-	}
-
-	/**
-	 *  
-	 */
-	private void showView() {
-		IWorkbenchWindow window = SSEUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage page = window.getActivePage();
-		if (page != null) {
-			try {
-				page.showView(getViewID());
-			} catch (PartInitException e) {
-				ErrorDialog.openError(window.getShell(), SSEUIPlugin.getResourceString("%ShowView.errorTitle"), //$NON-NLS-1$
-							e.getMessage(), e.getStatus());
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StorageModelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StorageModelProvider.java
deleted file mode 100644
index a2f4a3b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StorageModelProvider.java
+++ /dev/null
@@ -1,665 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.AnnotationModel;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.editors.text.FileDocumentProvider;
-import org.eclipse.ui.editors.text.StorageDocumentProvider;
-import org.eclipse.ui.texteditor.IElementStateListener;
-import org.eclipse.wst.common.encoding.CodedReaderCreator;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Utilities;
-import org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModel;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IExtendedStorageEditorInput;
-import org.eclipse.wst.sse.ui.internal.debug.BreakpointRulerAction;
-import org.eclipse.wst.sse.ui.internal.editor.EditorModelUtil;
-import org.eclipse.wst.sse.ui.internal.extension.BreakpointProviderBuilder;
-
-/**
- * A StorageDocumentProvider that is IStructuredModel aware
- */
-public class StorageModelProvider extends StorageDocumentProvider implements IModelProvider {
-
-	protected class InternalElementStateListener implements IElementStateListener {
-		public void elementContentAboutToBeReplaced(Object element) {
-			if (debugElementStatelistener) {
-				System.out.println("StorageModelProvider: elementContentAboutToBeReplaced: " + ((IEditorInput) element).getName()); //$NON-NLS-1$
-			}
-			// we just forward the event
-			StorageModelProvider.this.fireElementContentAboutToBeReplaced(element);
-		}
-
-		public void elementContentReplaced(Object element) {
-			if (debugElementStatelistener) {
-				System.out.println("StorageModelProvider: elementContentReplaced: " + ((IEditorInput) element).getName()); //$NON-NLS-1$
-			}
-
-			StorageInfo info = (StorageInfo) getElementInfo(element);
-
-			/**
-			 * Force a reload of the markers into annotations since their
-			 * previous Positions have been deleted. Disconnecting and
-			 * reconnecting forces a call to the private catchupWithMarkers
-			 * method.
-			 */
-			if (info != null && info.fModel != null) {
-				info.fModel.disconnect(info.fDocument);
-			}
-
-			Reader reader = null;
-			IStructuredDocument innerdocument = null;
-			try {
-				// update document from input's contents
-				CodedReaderCreator codedReaderCreator = new CodedReaderCreator(computePath((IStorageEditorInput) element).toString(), Utilities.getMarkSupportedStream(((IStorageEditorInput) element).getStorage().getContents()));
-				reader = codedReaderCreator.getCodedReader();
-
-				innerdocument = (IStructuredDocument) info.fDocument;
-
-				int originalLengthToReplace = innerdocument.getLength();
-
-				StringBuffer stringBuffer = new StringBuffer();
-				int bufferSize = 2048;
-				char[] buffer = new char[bufferSize];
-				int nRead = 0;
-				boolean eof = false;
-				while (!eof) {
-					nRead = reader.read(buffer, 0, bufferSize);
-					if (nRead == -1) {
-						eof = true;
-					}
-					else {
-						stringBuffer.append(buffer, 0, nRead);
-					}
-				}
-				innerdocument.replaceText(this, 0, originalLengthToReplace, stringBuffer.toString(), true);
-			}
-			catch (CoreException e) {
-				Logger.logException(e);
-			}
-			catch (IOException e) {
-				Logger.logException(e);
-			}
-			finally {
-				if (reader != null) {
-					try {
-						reader.close();
-					}
-					catch (IOException e1) {
-						// would be highly unusual
-						Logger.logException(e1);
-					}
-				}
-			}
-
-			// forward the event
-			if (info.fCanBeSaved) {
-				info.fCanBeSaved = false;
-				addUnchangedElementListeners(element, info);
-			}
-			fireElementContentReplaced(element);
-			fireElementDirtyStateChanged(element, false);
-
-			if (info != null && info.fModel != null) {
-				info.fModel.connect(info.fDocument);
-			}
-		}
-
-		public void elementDeleted(Object element) {
-			if (debugElementStatelistener) {
-				System.out.println("StorageModelProvider: elementDeleted: " + ((IEditorInput) element).getName()); //$NON-NLS-1$
-			}
-			// we just forward the event
-			StorageModelProvider.this.fireElementDeleted(element);
-		}
-
-		public void elementDirtyStateChanged(Object element, boolean isDirty) {
-			if (debugElementStatelistener) {
-				System.out.println("StorageModelProvider: elementDirtyStateChanged: " + ((IEditorInput) element).getName() + " (" + isDirty + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			// we just forward the event
-			StorageModelProvider.this.fireElementDirtyStateChanged(element, isDirty);
-		}
-
-		public void elementMoved(Object originalElement, Object movedElement) {
-			if (debugElementStatelistener) {
-				System.out.println("StorageModelProvider: elementMoved " + originalElement + " --> " + movedElement); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			// we just forward the event
-			StorageModelProvider.this.fireElementMoved(originalElement, movedElement);
-		}
-	}
-
-	/**
-	 * Collection of info that goes with a model.
-	 */
-	protected class ModelInfo {
-		public IEditorInput fElement;
-		public boolean fShouldReleaseOnInfoDispose;
-		public IStructuredModel fStructuredModel;
-
-		public ModelInfo(IStructuredModel structuredModel, IEditorInput element, boolean selfCreated) {
-			fElement = element;
-			fStructuredModel = structuredModel;
-			fShouldReleaseOnInfoDispose = selfCreated;
-		}
-	}
-
-	static final boolean debugElementStatelistener = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/storagemodelprovider/elementstatelistener")); //$NON-NLS-1$ //$NON-NLS-2$
-	static final boolean debugOperations = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/storagemodelprovider/operations")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	private static StorageModelProvider fInstance = null;
-
-	public synchronized static StorageModelProvider getInstance() {
-		if (fInstance == null)
-			fInstance = new StorageModelProvider();
-		return fInstance;
-	}
-
-	protected IElementStateListener fInternalListener;
-	/** IStructuredModel information of all connected elements */
-	private Map fModelInfoMap = new HashMap();
-	private boolean fReuseModelDocument = true;
-
-	protected StorageModelProvider() {
-		super();
-		fInternalListener = new InternalElementStateListener();
-	}
-
-	protected String computePath(IStorageEditorInput input) {
-		/**
-		 * Typically CVS will return a path of "filename.ext" and the input's
-		 * name will be "filename.ext version". The path must be used to load
-		 * the model so that the suffix will be available to compute the
-		 * contentType properly. The editor input name can then be set as the
-		 * base location for display on the editor title bar.
-		 * 
-		 */
-		String path = null;
-		boolean addHash = false;
-		try {
-			IStorage storage = input.getStorage();
-			if (storage != null) {
-				IPath storagePath = storage.getFullPath();
-				String name = storage.getName();
-				// if either the name or storage path are null or they are
-				// identical, add a hash to it to guarantee uniqueness
-				addHash = storagePath == null || storagePath.toString().equals(name);
-				if (storagePath != null) {
-					// If they are different, the IStorage contract is not
-					// being honored
-					// (https://bugs.eclipse.org/bugs/show_bug.cgi?id=73098).
-					// Favor the name.
-					if (!storagePath.lastSegment().equals(name)) {
-						IPath workingPath = storagePath.addTrailingSeparator();
-						path = workingPath.append(name).toString();
-					}
-					else {
-						path = storagePath.makeAbsolute().toString();
-					}
-				}
-				if (path == null)
-					path = name;
-			}
-		}
-		catch (CoreException e) {
-			Logger.logException(e);
-		}
-		finally {
-			if (path == null)
-				path = ""; //$NON-NLS-1$
-		}
-		if (addHash)
-			path = input.hashCode() + path;
-		return path;
-	}
-
-	// public boolean canSaveDocument(Object element) {
-	// return false;
-	// }
-
-	protected IAnnotationModel createAnnotationModel(Object element) throws CoreException {
-		IAnnotationModel model = null;
-		if (debugOperations) {
-			if (element instanceof IStorageEditorInput)
-				System.out.println("StorageModelProvider: createAnnotationModel for " + ((IStorageEditorInput) element).getStorage().getFullPath()); //$NON-NLS-1$
-			else
-				System.out.println("StorageModelProvider: createAnnotationModel for " + element); //$NON-NLS-1$
-		}
-		if (element instanceof IStorageEditorInput) {
-			IStorageEditorInput input = (IStorageEditorInput) element;
-			String contentType = (getModel(input) != null ? getModel(input).getContentTypeIdentifier() : null);
-			String ext = BreakpointRulerAction.getFileExtension((IEditorInput) element);
-			IResource res = BreakpointProviderBuilder.getInstance().getResource(input, contentType, ext);
-			String id = input.getName();
-			if (input.getStorage() != null)
-				id = input.getStorage().getFullPath().toString();
-			// we can only create a resource marker annotationmodel off of a
-			// valid resource
-			if (res != null)
-				model = new StructuredResourceMarkerAnnotationModel(res, id);
-			else
-				model = new AnnotationModel();
-		}
-		if (model == null) {
-			model = super.createAnnotationModel(element);
-		}
-		return model;
-	}
-
-	protected IDocument createDocument(Object element) {
-		if (debugOperations) {
-			if (element instanceof IStorageEditorInput)
-				try {
-					System.out.println("StorageModelProvider: createDocument for " + ((IStorageEditorInput) element).getStorage().getFullPath()); //$NON-NLS-1$
-				}
-				catch (CoreException e) {
-					System.out.println("StorageModelProvider: createDocument for " + element + "(exception caught)"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			else {
-				System.out.println("StorageModelProvider: createDocument for " + element); //$NON-NLS-1$
-			}
-		}
-
-		// The following is largely copied from FileModelProvider
-
-		IDocument document = null;
-		if (element instanceof IEditorInput) {
-			// create a new IDocument for the element; should always reflect
-			// the contents of the resource
-			ModelInfo info = getModelInfoFor((IEditorInput) element);
-			if (info == null) {
-				throw new SourceEditingRuntimeException(new IllegalArgumentException("no corresponding model info found")); //$NON-NLS-1$
-			}
-			IStructuredModel model = info.fStructuredModel;
-			if (model != null) {
-				if (!fReuseModelDocument && element instanceof IStorageEditorInput) {
-					Reader reader = null;
-					IStructuredDocument innerdocument = null;
-					try {
-						// update document from input's contents
-
-						CodedReaderCreator codedReaderCreator = new CodedReaderCreator(computePath((IStorageEditorInput) element).toString(), Utilities.getMarkSupportedStream(((IStorageEditorInput) element).getStorage().getContents()));
-						reader = codedReaderCreator.getCodedReader();
-
-						innerdocument = model.getStructuredDocument();
-
-						int originalLengthToReplace = innerdocument.getLength();
-
-						// TODO_future: we could implement with sequential
-						// rewrite, if we don't
-						// pickup automatically from FileBuffer support, so
-						// not so
-						// much has to be pulled into memory (as an extra big
-						// string), but
-						// we need to carry that API through so that
-						// StructuredModel is not
-						// notified until done.
-
-						// innerdocument.startSequentialRewrite(true);
-						// innerdocument.replaceText(this, 0,
-						// innerdocument.getLength(), "");
-
-
-						StringBuffer stringBuffer = new StringBuffer();
-						int bufferSize = 2048;
-						char[] buffer = new char[bufferSize];
-						int nRead = 0;
-						boolean eof = false;
-						while (!eof) {
-							nRead = reader.read(buffer, 0, bufferSize);
-							if (nRead == -1) {
-								eof = true;
-							}
-							else {
-								stringBuffer.append(buffer, 0, nRead);
-								// innerdocument.replaceText(this,
-								// innerdocument.getLength(), 0, new
-								// String(buffer, 0, nRead));
-							}
-						}
-						// ignore read-only settings if reverting whole
-						// document
-						innerdocument.replaceText(this, 0, originalLengthToReplace, stringBuffer.toString(), true);
-						model.setDirtyState(false);
-
-					}
-					catch (CoreException e) {
-						Logger.logException(e);
-					}
-					catch (IOException e) {
-						Logger.logException(e);
-					}
-					finally {
-						if (reader != null) {
-							try {
-								reader.close();
-							}
-							catch (IOException e1) {
-								// would be highly unusual
-								Logger.logException(e1);
-							}
-						}
-						// if (innerdocument != null) {
-						// innerdocument.stopSequentialRewrite();
-						// }
-					}
-
-				}
-				if (document == null) {
-					document = model.getStructuredDocument();
-				}
-			}
-		}
-		return document;
-	}
-
-	/**
-	 * Also create ModelInfo - extra resource synchronization classes should
-	 * be stored within the ModelInfo
-	 */
-	protected ElementInfo createElementInfo(Object element) throws CoreException {
-		// create the corresponding ModelInfo if necessary
-		if (debugOperations) {
-			if (element instanceof IStorageEditorInput)
-				try {
-					System.out.println("StorageModelProvider: createElementInfo for " + ((IStorageEditorInput) element).getStorage().getFullPath()); //$NON-NLS-1$
-				}
-				catch (CoreException e) {
-					System.out.println("StorageModelProvider: createElementInfo for " + element + "(exception caught)"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			else
-				System.out.println("storageModelProvider: createElementInfo for " + element); //$NON-NLS-1$
-		}
-
-		if (getModelInfoFor((IEditorInput) element) == null) {
-			createModelInfo((IEditorInput) element);
-		}
-
-		ElementInfo info = super.createElementInfo(element);
-		return info;
-	}
-
-	public void createModelInfo(IEditorInput input) {
-		if (getModelInfoFor(input) == null) {
-			IStructuredModel structuredModel = selfCreateModel(input);
-			if (structuredModel != null) {
-				createModelInfo(input, structuredModel, true);
-			}
-		}
-	}
-
-	/**
-	 * To be used when model is provided to us, ensures that when setInput is
-	 * used on this input, the given model will be used.
-	 */
-	public void createModelInfo(IEditorInput input, IStructuredModel structuredModel, boolean releaseModelOnDisconnect) {
-		// we have to make sure factories are added, whether we created or
-		// not.
-		if (getModelInfoFor(input) != null || getModelInfoFor(structuredModel) != null) {
-			if (debugOperations) {
-				if (input instanceof IStorageEditorInput) {
-
-					try {
-						System.out.println("StorageModelProvider: DUPLICATE createModelInfo for " + ((IStorageEditorInput) input).getStorage().getFullPath()); //$NON-NLS-1$
-					}
-					catch (CoreException e) {
-						System.out.println("StorageModelProvider: DUPLICATE createModelInfo for " + input + "(exception caught)"); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-				}
-				else {
-					System.out.println("storageModelProvider: DUPLICATE createModelInfo for " + input); //$NON-NLS-1$
-				}
-			}
-			return;
-		}
-
-		if (debugOperations) {
-			if (input instanceof IStorageEditorInput) {
-				try {
-					System.out.println("StorageModelProvider: createModelInfo for " + ((IStorageEditorInput) input).getStorage().getFullPath()); //$NON-NLS-1$
-				}
-				catch (CoreException e) {
-					System.out.println("StorageModelProvider: createModelInfo for " + input + "(exception caught)"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			else {
-				System.out.println("StorageModelProvider: createModelInfo for " + input); //$NON-NLS-1$
-			}
-		}
-
-
-		if (input instanceof IExtendedStorageEditorInput) {
-			((IExtendedStorageEditorInput) input).addElementStateListener(fInternalListener);
-		}
-
-		EditorModelUtil.addFactoriesTo(structuredModel);
-
-		ModelInfo modelInfo = new ModelInfo(structuredModel, input, releaseModelOnDisconnect);
-		fModelInfoMap.put(input, modelInfo);
-	}
-
-	protected void disposeElementInfo(Object element, ElementInfo info) {
-		if (debugOperations) {
-			if (element instanceof IStorageEditorInput) {
-				try {
-					System.out.println("StorageModelProvider: disposeElementInfo for " + ((IStorageEditorInput) element).getStorage().getFullPath()); //$NON-NLS-1$
-				}
-				catch (CoreException e) {
-					System.out.println("StorageModelProvider: disposeElementInfo for " + element + "(exception caught)"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			else {
-				System.out.println("StorageModelProvider: disposeElementInfo for " + element); //$NON-NLS-1$
-			}
-		}
-
-		if (element instanceof IEditorInput) {
-			IEditorInput input = (IEditorInput) element;
-			ModelInfo modelInfo = getModelInfoFor(input);
-			disposeModelInfo(modelInfo);
-		}
-		super.disposeElementInfo(element, info);
-	}
-
-	/**
-	 * disconnect from this model info
-	 * 
-	 * @param info
-	 */
-	public void disposeModelInfo(ModelInfo info) {
-		if (debugOperations) {
-			if (info.fElement instanceof IStorageEditorInput) {
-				try {
-					System.out.println("StorageModelProvider: disposeModelInfo for " + ((IStorageEditorInput) info.fElement).getStorage().getFullPath()); //$NON-NLS-1$
-				}
-				catch (CoreException e) {
-					System.out.println("StorageModelProvider: disposeModelInfo for " + info.fElement + "(exception caught)"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			else {
-				System.out.println("StorageModelProvider: disposeModelInfo for " + info.fElement); //$NON-NLS-1$
-			}
-		}
-
-		if (info.fElement instanceof IStorageEditorInput) {
-			if (info.fElement instanceof IExtendedStorageEditorInput) {
-				((IExtendedStorageEditorInput) info.fElement).removeElementStateListener(fInternalListener);
-			}
-			if (info.fShouldReleaseOnInfoDispose) {
-				info.fStructuredModel.releaseFromEdit();
-			}
-		}
-		fModelInfoMap.remove(info.fElement);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#doResetDocument(java.lang.Object,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void doResetDocument(Object element, IProgressMonitor monitor) throws CoreException {
-		fReuseModelDocument = false;
-		super.doResetDocument(element, monitor);
-		fReuseModelDocument = true;
-	}
-
-	/**
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#doSaveDocument(org.eclipse.core.runtime.IProgressMonitor,
-	 *      java.lang.Object, org.eclipse.jface.text.IDocument, boolean)
-	 */
-	protected void doSaveDocument(IProgressMonitor monitor, Object element, IDocument document, boolean overwrite) throws CoreException {
-		new FileDocumentProvider().saveDocument(monitor, element, document, overwrite);
-	}
-
-	protected IEditorInput getInputFor(IDocument document) {
-		IStructuredModel model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-		IEditorInput input = getInputFor(model);
-		model.releaseFromRead();
-		return input;
-	}
-
-	protected IEditorInput getInputFor(IStructuredModel structuredModel) {
-		IEditorInput result = null;
-		ModelInfo info = getModelInfoFor(structuredModel);
-		if (info != null)
-			result = info.fElement;
-		return result;
-	}
-
-	public IStructuredModel getModel(IEditorInput element) {
-		IStructuredModel result = null;
-		ModelInfo info = getModelInfoFor(element);
-		if (info != null) {
-			result = info.fStructuredModel;
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.IModelProvider#getModel(java.lang.Object)
-	 */
-	public IStructuredModel getModel(Object element) {
-		if (element instanceof IEditorInput)
-			return getModel((IEditorInput) element);
-		return null;
-	}
-
-	protected ModelInfo getModelInfoFor(IEditorInput element) {
-		ModelInfo result = (ModelInfo) fModelInfoMap.get(element);
-		return result;
-	}
-
-	protected ModelInfo getModelInfoFor(IStructuredModel structuredModel) {
-		ModelInfo result = null;
-		if (structuredModel != null) {
-			ModelInfo[] modelInfos = (ModelInfo[]) fModelInfoMap.values().toArray(new ModelInfo[0]);
-			for (int i = 0; i < modelInfos.length; i++) {
-				ModelInfo info = modelInfos[i];
-				if (structuredModel.equals(info.fStructuredModel)) {
-					result = info;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Method loadModel.
-	 * 
-	 * @param input
-	 * @return IStructuredModel
-	 */
-	public IStructuredModel loadModel(IStorageEditorInput input) {
-		return loadModel(input, false);
-	}
-
-	/**
-	 * Method loadModel.
-	 * 
-	 * @param input
-	 * @param logExceptions
-	 * @return IStructuredModel
-	 */
-	public IStructuredModel loadModel(IStorageEditorInput input, boolean logExceptions) {
-		String path = computePath(input);
-		if (path == null) {
-			return null;
-		}
-
-		InputStream contents = null;
-		try {
-			contents = input.getStorage().getContents();
-		}
-		catch (CoreException noStorageExc) {
-			if (logExceptions)
-				Logger.logException(SSEUIPlugin.getResourceString("%32concat_EXC_", new Object[]{input.getName()}), noStorageExc); //$NON-NLS-1$
-		}
-
-		IStructuredModel model = null;
-		try {
-			// first parameter must be unique
-			model = StructuredModelManager.getModelManager().getModelForEdit(path, contents, null);
-			model.setBaseLocation(input.getName());
-		}
-		catch (IOException e) {
-			if (logExceptions)
-				Logger.logException(SSEUIPlugin.getResourceString("%32concat_EXC_", new Object[]{input}), e); //$NON-NLS-1$
-		}
-		finally {
-			if (contents != null) {
-				try {
-					contents.close();
-				}
-				catch (IOException e) {
-					// nothing
-				}
-				catch (Exception e) {
-					Logger.logException(e);
-				}
-			}
-		}
-		return model;
-	}
-
-	/**
-	 * @param input
-	 * @return
-	 */
-	protected IStructuredModel selfCreateModel(IEditorInput input) {
-		return loadModel((IStorageEditorInput) input);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredDocumentToTextAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredDocumentToTextAdapter.java
deleted file mode 100644
index 1a4f6c7..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredDocumentToTextAdapter.java
+++ /dev/null
@@ -1,1254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.jface.text.AbstractDocument;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.ConfigurableLineTracker;
-import org.eclipse.jface.text.DefaultLineTracker;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentAdapter;
-import org.eclipse.jface.text.IDocumentAdapterExtension;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextStore;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.projection.ProjectionDocument;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.custom.TextChangeListener;
-import org.eclipse.swt.custom.TextChangedEvent;
-import org.eclipse.swt.custom.TextChangingEvent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.sse.core.document.ILockable;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-import org.eclipse.wst.sse.ui.util.Assert;
-
-
-/**
- * Adapts IStructuredDocument events and methods to StyledTextContent events
- * and methods
- */
-public class StructuredDocumentToTextAdapter implements IDocumentAdapter, IDocumentAdapterExtension {
-
-	private class DocumentClone extends AbstractDocument {
-
-
-		/**
-		 * Creates a new document clone with the given content.
-		 * 
-		 * @param content
-		 *            the content
-		 * @param lineDelimiters
-		 *            the line delimiters
-		 */
-		public DocumentClone(String content, String[] lineDelimiters) {
-			super();
-			setTextStore(new StringTextStore(content));
-			ConfigurableLineTracker tracker = new ConfigurableLineTracker(lineDelimiters);
-			setLineTracker(tracker);
-			getTracker().set(content);
-			completeInitialization();
-		}
-	}
-
-	// A pre-notification listener for the viewer's Document
-	class DocumentListener implements IDocumentListener {
-		protected boolean allTextChanged = false;
-
-		protected DocumentEvent currentEvent;
-
-		synchronized public void documentAboutToBeChanged(DocumentEvent event) {
-			if (isStoppedForwardingChanges())
-				return;
-
-			pendingDocumentChangedEvent = true;
-			allTextChanged = event.getOffset() <= 0 && event.getLength() >= StructuredDocumentToTextAdapter.this.getDocument().getLength();
-			currentEvent = event;
-
-			StructuredDocumentToTextAdapter.this.relayTextChanging(event.getOffset(), event.getLength(), event.getText());
-		}
-
-		synchronized public void documentChanged(DocumentEvent event) {
-			if (isStoppedForwardingChanges())
-				return;
-
-			if (currentEvent != null && event == currentEvent) {
-				if (allTextChanged) {
-					StructuredDocumentToTextAdapter.this.relayTextSet();
-				} else {
-					// temp work around for immediate thread
-					// problem.
-					// should have more general solution
-					// soon. 'syncExec' are rumored to be
-					// prone to hang.
-					StructuredDocumentToTextAdapter.this.relayTextChanged();
-				}
-			}
-
-			currentEvent = null;
-			pendingDocumentChangedEvent = false;
-			handlePendingEvents();
-			lastEvent = null;
-
-		}
-	}
-
-	private static class StringTextStore implements ITextStore {
-
-		private String fContent;
-
-		/**
-		 * Creates a new string text store with the given content.
-		 * 
-		 * @param content
-		 *            the content
-		 */
-		public StringTextStore(String content) {
-			Assert.isNotNull(content);
-			fContent = content;
-		}
-
-		/*
-		 * @see org.eclipse.jface.text.ITextStore#get(int)
-		 */
-		public char get(int offset) {
-			return fContent.charAt(offset);
-		}
-
-		/*
-		 * @see org.eclipse.jface.text.ITextStore#get(int, int)
-		 */
-		public String get(int offset, int length) {
-			return fContent.substring(offset, offset + length);
-		}
-
-		/*
-		 * @see org.eclipse.jface.text.ITextStore#getLength()
-		 */
-		public int getLength() {
-			return fContent.length();
-		}
-
-		/*
-		 * @see org.eclipse.jface.text.ITextStore#replace(int, int,
-		 *      java.lang.String)
-		 */
-		public void replace(int offset, int length, String text) {
-		}
-
-		/*
-		 * @see org.eclipse.jface.text.ITextStore#set(java.lang.String)
-		 */
-		public void set(String text) {
-		}
-
-	}
-
-	/**
-	 * Changes to the Document/IStructuredDocument can extend beyond the text
-	 * change area and require more redrawing to keep the hilighting correct.
-	 * The event must be saved so that the redraw is only sent after a
-	 * textChanged event is received.
-	 */
-	class StructuredDocumentListener implements IStructuredDocumentListener {
-
-		public void newModel(NewDocumentEvent structuredDocumentEvent) {
-
-			if (isStoppedForwardingChanges()) {
-				//if
-				// (StructuredDocumentToTextAdapter.this.fStopRelayingChanges)
-				// {
-				if (Debug.debugStructuredDocument) {
-					System.out.println("skipped relaying StructuredDocumentEvent " + structuredDocumentEvent.getClass().getName()); //$NON-NLS-1$
-				}
-				return;
-			}
-			// should use textSet when all contents have
-			// changed
-			// otherwise need to use the pair of
-			// textChanging and
-			// textChanged.
-			StructuredDocumentToTextAdapter.this.lastEvent = structuredDocumentEvent;
-		}
-
-		public void noChange(final NoChangeEvent structuredDocumentEvent) {
-
-			if (Debug.debugStructuredDocument) {
-				System.out.println("skipped relaying StructuredDocumentEvent " + structuredDocumentEvent.getClass().getName()); //$NON-NLS-1$
-			}
-			if (structuredDocumentEvent.reason == NoChangeEvent.READ_ONLY_STATE_CHANGE) {
-				if (pendingDocumentChangedEvent) {
-					if (lastEventQueue == null) {
-						lastEventQueue = new ArrayList();
-					}
-					lastEventQueue.add(structuredDocumentEvent);
-				} else {
-					StructuredDocumentToTextAdapter.this.lastEvent = structuredDocumentEvent;
-				}
-			}
-		}
-
-		public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-
-			if (isStoppedForwardingChanges()) {
-				//			if
-				// (StructuredDocumentToTextAdapter.this.fStopRelayingChanges)
-				// {
-				if (Debug.debugStructuredDocument) {
-					System.out.println("not relaying StructuredDocumentEvent " + structuredDocumentEvent.getClass().getName()); //$NON-NLS-1$
-				}
-				return;
-			}
-			if (Debug.debugStructuredDocument) {
-				System.out.println("saving StructuredDocumentEvent " + structuredDocumentEvent.getClass().getName()); //$NON-NLS-1$
-			}
-			StructuredDocumentToTextAdapter.this.lastEvent = structuredDocumentEvent;
-		}
-
-		public void regionChanged(RegionChangedEvent structuredDocumentEvent) {
-
-			if (isStoppedForwardingChanges()) {
-				//			if
-				// (StructuredDocumentToTextAdapter.this.fStopRelayingChanges)
-				// {
-				if (Debug.debugStructuredDocument) {
-					System.out.println("not relaying StructuredDocumentEvent " + structuredDocumentEvent.getClass().getName()); //$NON-NLS-1$
-				}
-				return;
-			}
-			if (Debug.debugStructuredDocument) {
-				System.out.println("saving StructuredDocumentEvent " + structuredDocumentEvent.getClass().getName()); //$NON-NLS-1$
-			}
-			StructuredDocumentToTextAdapter.this.lastEvent = structuredDocumentEvent;
-		}
-
-		public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) {
-
-			if (isStoppedForwardingChanges()) {
-				//			if
-				// (StructuredDocumentToTextAdapter.this.fStopRelayingChanges)
-				// {
-				if (Debug.debugStructuredDocument) {
-					System.out.println("not relaying StructuredDocumentEvent " + structuredDocumentEvent.getClass().getName()); //$NON-NLS-1$
-				}
-				return;
-			}
-			if (Debug.debugStructuredDocument) {
-				System.out.println("saving StructuredDocumentEvent " + structuredDocumentEvent.getClass().getName()); //$NON-NLS-1$
-			}
-			StructuredDocumentToTextAdapter.this.lastEvent = structuredDocumentEvent;
-		}
-	}
-
-	private static final String EMPTY_STRING = "";
-
-	private final static boolean redrawBackground = true;
-
-	/** The visible child document. */
-	private ProjectionDocument fChildDocument;
-
-	/** The master document */
-	private IDocument fDocument;
-	/** The document clone for the non-forwarding case. */
-	private IDocument fDocumentClone;
-
-	// only use this temp work around if on GTK
-	// it causes funny "cursor blinking" if used on windows
-	private final boolean forceRedrawOnRegionChanged = Platform.getWS().equals("gtk"); //$NON-NLS-1$
-	/** The original content */
-	private String fOriginalContent;
-	/** The original line delimiters */
-	private String[] fOriginalLineDelimiters;
-
-	private int fStopRelayingChangesRequests = 0;
-
-	private StyledText fStyledTextWidget;
-
-	/** The registered text changed listeners */
-	TextChangeListener[] fTextChangeListeners;
-	protected DocumentListener internalDocumentListener;
-
-	// The listeners for relaying DocumentEvents and
-	// requesting repaints
-	// after modification
-	private IStructuredDocumentListener internalStructuredDocumentListener;
-
-	protected StructuredDocumentEvent lastEvent = null;
-	List lastEventQueue;
-	boolean pendingDocumentChangedEvent;
-
-	/**
-	 * TEST ONLY - TEST ONLY - TEST ONLY NOT API use this constructor only for
-	 * tests. Creates a new document adapter which is initiallly not connected
-	 * to any document.
-	 */
-	public StructuredDocumentToTextAdapter() {
-
-		internalStructuredDocumentListener = new StructuredDocumentListener();
-		internalDocumentListener = new DocumentListener();
-		// for testing only
-		//		setDocument(getModelManager().createStructuredDocumentFor(ContentTypeIdentifierForXML.ContentTypeID_XML));
-	}
-
-	/**
-	 * Creates a new document adapter which is initiallly not connected to any
-	 * document.
-	 */
-	public StructuredDocumentToTextAdapter(StyledText styledTextWidget) {
-
-		// do not use 'this()' in this case
-		super();
-		internalStructuredDocumentListener = new StructuredDocumentListener();
-		internalDocumentListener = new DocumentListener();
-		fStyledTextWidget = styledTextWidget;
-	}
-
-	private void _setDocument(IDocument newDoc) {
-		if ((fDocument != null) && (fDocument instanceof IStructuredDocument)) {
-			((IStructuredDocument) fDocument).removeDocumentChangedListener(internalStructuredDocumentListener);
-		}
-		fDocument = newDoc;
-		if (fDocument != null && !(fDocument instanceof ILockable)) {
-			System.out.println("warning: non-lockable document used");
-		}
-		if ((fDocument != null) && (fDocument instanceof IStructuredDocument)) {
-			((IStructuredDocument) fDocument).addDocumentChangedListener(internalStructuredDocumentListener);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.custom.StyledTextContent#addTextChangeListener(org.eclipse.swt.custom.TextChangeListener)
-	 */
-	public synchronized void addTextChangeListener(TextChangeListener listener) {
-
-		// make sure listener is not already in listening
-		// (and if it is, print a warning to aid debugging,
-		// if needed)
-
-		if (Utilities.contains(fTextChangeListeners, listener)) {
-			if (Debug.displayWarnings) {
-				System.out.println("StructuredDocumentToTextAdapter::addTextChangedListeners. listener " + listener + " was added more than once. "); //$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			if (Debug.debugStructuredDocument) {
-				System.out.println("StructuredDocumentToTextAdapter::addTextChangedListeners. Adding an instance of " + listener.getClass() + " as a listener on text adapter."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			int oldSize = 0;
-			if (fTextChangeListeners != null) {
-				// normally won't be null, but we need to be
-				// sure, for first time through
-				oldSize = fTextChangeListeners.length;
-			}
-			int newSize = oldSize + 1;
-			TextChangeListener[] newListeners = new TextChangeListener[newSize];
-			if (fTextChangeListeners != null) {
-				System.arraycopy(fTextChangeListeners, 0, newListeners, 0, oldSize);
-			}
-			// add listener to last position
-			newListeners[newSize - 1] = listener;
-			//
-			// now switch new for old
-			fTextChangeListeners = newListeners;
-			//
-		}
-	}
-
-	/*
-	 * @see org.eclipse.swt.custom.StyledTextContent#getCharCount()
-	 */
-	public int getCharCount() {
-
-		// getDocument can sometimes be null during startup
-		// and dispose
-		int result = 0;
-		IDocument doc = getDocument();
-		if (doc != null) {
-			result = getSafeDocument().getLength();
-		}
-		return result;
-	}
-
-	private IDocument getClonedDocument() {
-		if (fDocumentClone == null) {
-			String content = fOriginalContent == null ? "" : fOriginalContent; //$NON-NLS-1$
-			String[] delims = fOriginalLineDelimiters == null ? DefaultLineTracker.DELIMITERS : fOriginalLineDelimiters;
-			fDocumentClone = new DocumentClone(content, delims);
-		}
-		return fDocumentClone;
-	}
-
-	Display getDisplay() {
-
-		// Note: the workbench should always have a display
-		// (unless running headless), whereas Display.getCurrent()
-		// only returns the display if the currently executing thread
-		// has one.
-		if (PlatformUI.isWorkbenchRunning())
-			return PlatformUI.getWorkbench().getDisplay();
-		else
-			return null;
-	}
-
-	/**
-	 * Returns the visible document.
-	 * 
-	 * @return IDocument
-	 */
-	protected IDocument getDocument() {
-
-		if (fChildDocument == null)
-			return fDocument;
-		return fChildDocument;
-	}
-
-	/**
-	 * Returns offset visible region of current document
-	 * 
-	 * @return 0 if no child document exists, offset of child document if
-	 *         possible, -1 otherwise
-	 */
-	private int getDocumentModelAdjustment() {
-		if (fChildDocument == null)
-			return 0;
-		IRegion coverage = fChildDocument.getProjectionMapping().getCoverage();
-		if (coverage != null) {
-			return coverage.getOffset();
-		}
-
-		return -1;
-	}
-
-	/**
-	 * Return the line at the given character offset without delimiters.
-	 * <p>
-	 * 
-	 * @param offset
-	 *            offset of the line to return. Does not include delimiters of
-	 *            preceeding lines. Offset 0 is the first character of the
-	 *            document.
-	 * @return the line text without delimiters
-	 */
-	public java.lang.String getLine(int lineNumber) {
-
-		String result = null;
-		if (lineNumber >= getLineCount()) {
-			if (Debug.displayWarnings) {
-				System.out.println("Development Debug: IStructuredDocument:getLine() error. lineNumber requested (" + lineNumber + ") was greater than number of lines(" + getLineCount() + "). EmptyString returned"); //$NON-NLS-1$//$NON-NLS-3$//$NON-NLS-2$
-			}
-			result = EMPTY_STRING;
-		} else {
-			IDocument doc = getSafeDocument();
-			if (doc == null) {
-				result = EMPTY_STRING;
-			} else {
-				try {
-					IRegion r = doc.getLineInformation(lineNumber);
-					if (r.getLength() > 0) {
-						result = doc.get(r.getOffset(), r.getLength());
-					} else {
-						result = EMPTY_STRING;
-					}
-				} catch (BadLocationException e) {
-					result = EMPTY_STRING;
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Return the line index at the given character offset.
-	 * <p>
-	 * 
-	 * @param offset
-	 *            offset of the line to return. The first character of the
-	 *            document is at offset 0. An offset of getLength() is valid
-	 *            and should answer the number of lines.
-	 * @return the line index. The first line is at index 0. If the character
-	 *         at offset is a delimiter character, answer the line index of
-	 *         the line that is delimited. For example, text = "\r\n\r\n",
-	 *         delimiter = "\r\n", then: getLineAtOffset(0) == 0
-	 *         getLineAtOffset(1) == 0 getLineAtOffset(2) == 1
-	 *         getLineAtOffset(3) == 1 getLineAtOffset(4) == 2
-	 */
-	public int getLineAtOffset(int offset) {
-
-		int result = 0;
-		IDocument doc = getSafeDocument();
-		if (doc != null) {
-			try {
-				// TODO: not sure why we need this special check for
-				// child document, getDocument should return correct one?
-				if (fChildDocument != null) {
-					result = fChildDocument.getLineOfOffset(offset);
-				} else {
-					result = doc.getLineOfOffset(offset);
-				}
-			} catch (BadLocationException e) {
-				// should not occur, but seems to for child
-				// document from QEV, related to repainting overview ruler
-				result = 0;
-			}
-		}
-		return result;
-	}
-
-	public int getLineCount() {
-		int result = 0;
-		IDocument doc = getSafeDocument();
-		if (doc != null) {
-			result = doc.getNumberOfLines();
-		}
-		return result;
-	}
-
-	/*
-	 * @see org.eclipse.swt.custom.StyledTextContent#getLineDelimiter
-	 */
-	public String getLineDelimiter() {
-		String result = null;
-		IDocument doc = getSafeDocument();
-		if (getParentDocument() instanceof IStructuredDocument) {
-			result = ((IStructuredDocument) getParentDocument()).getLineDelimiter();
-		} else {
-			result = TextUtilities.getDefaultLineDelimiter(doc);
-		}
-		return result;
-	}
-
-	/**
-	 * Return the character offset of the first character of the given line.
-	 * <p>
-	 * 
-	 * @param lineIndex
-	 *            index of the line. The first line is at index 0.
-	 * @return offset offset of the first character of the line. The first
-	 *         character of the document is at offset 0. The return value
-	 *         should include line delimiters. For example, text =
-	 *         "\r\ntest\r\n", delimiter = "\r\n", then: getOffsetAtLine(0) ==
-	 *         0 getOffsetAtLine(1) == 2 getOffsetAtLine(2) == 8 NOTE: When
-	 *         there is no text (i.e., no lines), getOffsetAtLine(0) is a
-	 *         valid call that should return 0.
-	 */
-	public int getOffsetAtLine(int lineIndex) {
-
-		int result = 0;
-		IDocument doc = getSafeDocument();
-		if (doc != null) {
-			try {
-				result = doc.getLineOffset(lineIndex);
-			} catch (BadLocationException e) {
-				result = 0;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the parent document
-	 * 
-	 * @return the parent document
-	 */
-	private IDocument getParentDocument() {
-		return fDocument;
-	}
-
-	/**
-	 * This is the document to use for request from the StyledText widget. Its
-	 * either the live documnet or a clone of it, depending on stop/resume
-	 * state.
-	 */
-	private IDocument getSafeDocument() {
-		IDocument result = null;
-		if (isStoppedForwardingChanges()) {
-			result = getClonedDocument();
-		} else {
-			// note, this document can be normal structured text document,
-			// or the projection/child document as used by QEV
-			result = getDocument();
-		}
-		return result;
-	}
-
-	/**
-	 * @return org.eclipse.swt.custom.StyledText
-	 */
-	StyledText getStyledTextWidget() {
-		return fStyledTextWidget;
-	}
-
-	/**
-	 * Returns a string representing the content at the given range.
-	 * <p>
-	 * 
-	 * @param start
-	 *            the start offset of the text to return. Offset 0 is the
-	 *            first character of the document.
-	 * @param length
-	 *            the length of the text to return
-	 * @return the text at the given range
-	 */
-	public String getTextRange(int start, int length) {
-		String result = null;
-		try {
-			if (isStoppedForwardingChanges()) {
-				result = getClonedDocument().get(start, length);
-			} else {
-				result = getParentDocument().get(getDocumentModelAdjustment() + start, length);
-			}
-		} catch (BadLocationException e) {
-			result = EMPTY_STRING;
-		}
-		return result;
-	}
-
-	/**
-	 * assume only for "no change" events, for now
-	 */
-	protected void handlePendingEvents() {
-
-		if (lastEventQueue == null)
-			return;
-
-		Iterator iterator = lastEventQueue.iterator();
-		while (iterator.hasNext()) {
-			NoChangeEvent noChangeEvent = (NoChangeEvent) iterator.next();
-			redrawNoChange(noChangeEvent);
-		}
-
-		lastEventQueue = null;
-		lastEvent = null;
-	}
-
-	boolean isStoppedForwardingChanges() {
-		return fStopRelayingChangesRequests > 0;
-	}
-
-	/**
-	 * this method is assumed to be called only for read only region changes.
-	 */
-	protected void redrawNoChange(NoChangeEvent structuredDocumentEvent) {
-
-		if (isStoppedForwardingChanges())
-			return;
-		if (Debug.debugStructuredDocument) {
-			System.out.println("maybe redraw stuff"); //$NON-NLS-1$
-		}
-
-		int startOffset = structuredDocumentEvent.getOriginalStart();
-		int length = structuredDocumentEvent.getLength();
-		redrawRangeWithLength(startOffset, length);
-
-	}
-
-	/**
-	 * Request a redraw of the text range occupied by the given
-	 * StructuredDocumentRegionsReplacedEvent
-	 * 
-	 * @param structuredDocumentEvent
-	 */
-	protected void redrawNodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-
-		if (isStoppedForwardingChanges())
-			return;
-		if (Debug.debugStructuredDocument) {
-			System.out.println("maybe redraw stuff"); //$NON-NLS-1$
-		}
-		// just the new stuff
-		IStructuredDocumentRegionList newStructuredDocumentRegions = structuredDocumentEvent.getNewStructuredDocumentRegions();
-
-		int nNewNodes = newStructuredDocumentRegions.getLength();
-		if (nNewNodes > 0) {
-			IStructuredDocumentRegion firstNode = newStructuredDocumentRegions.item(0);
-			IStructuredDocumentRegion lastNode = newStructuredDocumentRegions.item(nNewNodes - 1);
-			redrawRange(firstNode.getStartOffset(), lastNode.getEndOffset());
-		}
-	}
-
-	/**
-	 * Redraws the give offsets in terms of the StructuredDocument. If only
-	 * part of the model is visible, ensures that only the visible portion of
-	 * the given range is redrawn.
-	 * 
-	 * @param startModelOffset
-	 * @param endModelOffset
-	 */
-	private void redrawRange(final int startModelOffset, final int endModelOffset) {
-
-		if (getDocument() == null)
-			return;
-		if (Debug.debugStructuredDocument) {
-			System.out.println("redraw stuff: " + startModelOffset + "-" + endModelOffset); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (fChildDocument == null) {
-			Runnable runnable = new Runnable() {
-				public void run() {
-					getStyledTextWidget().redrawRange(startModelOffset, endModelOffset - startModelOffset, redrawBackground);
-				}
-			};
-			runOnDisplayThreadIfNeedede(runnable);
-
-		} else {
-			int high = getDocument().getLength();
-			int adjustment = getDocumentModelAdjustment();
-			int startOffset = startModelOffset - adjustment;
-			int endOffset = endModelOffset - adjustment;
-			// not visible
-			if (endOffset < 0 || startOffset > high)
-				return;
-			// restrict lower bound
-			if (startOffset < 0) {
-				startOffset = 0;
-			}
-			// restrict upper bound
-			if (endOffset > high) {
-				endOffset = high;
-			}
-			int length = endOffset - startOffset;
-			// redrawBackground with false would be faster
-			// but assumes background (or font) is not
-			// changing
-			final int finalStartOffset = startOffset;
-			final int finallength = length;
-
-			if (fChildDocument == null) {
-				Runnable runnable = new Runnable() {
-					public void run() {
-						getStyledTextWidget().redrawRange(finalStartOffset, finallength, redrawBackground);
-					}
-				};
-				runOnDisplayThreadIfNeedede(runnable);
-			}
-
-		}
-	}
-
-	/**
-	 * Redraws the give offsets in terms of the Flat Node model. If only part
-	 * of the model is visible, ensures that only the visible portion of the
-	 * given range is redrawn.
-	 * 
-	 * @param startModelOffset
-	 * @param endModelOffset
-	 */
-	private void redrawRangeWithLength(final int startModelOffset, final int length) {
-
-		if (getDocument() == null)
-			return;
-		if (Debug.debugStructuredDocument) {
-			System.out.println("redraw stuff: " + startModelOffset + "-" + length); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (fChildDocument == null) {
-			Runnable runnable = new Runnable() {
-				public void run() {
-					getStyledTextWidget().redrawRange(startModelOffset, length, redrawBackground);
-				}
-			};
-			runOnDisplayThreadIfNeedede(runnable);
-		} else {
-			int high = getDocument().getLength();
-			int adjustment = getDocumentModelAdjustment();
-			int startOffset = startModelOffset - adjustment;
-			int endOffset = startOffset + length - 1;
-			// not visible
-			if (endOffset < 0 || startOffset > high)
-				return;
-			// restrict lower bound
-			if (startOffset < 0) {
-				startOffset = 0;
-			}
-			// restrict upper bound
-			if (endOffset > high) {
-				endOffset = high;
-			}
-
-			// note: length of the child documnet should be
-			// updated,
-			// need to investigate why its not at this
-			// point, but is
-			// probably just because the document event
-			// handling is not
-			// completely finished.
-			int newLength = endOffset - startOffset; // d283007
-
-			// redrawBackground with false would be faster
-			// but assumes background (or font) is not
-			// changing
-			final int finalStartOffset = startOffset;
-			final int finalNewLength = newLength;
-			Runnable runnable = new Runnable() {
-				public void run() {
-					getStyledTextWidget().redrawRange(finalStartOffset, finalNewLength, redrawBackground);
-				}
-			};
-			runOnDisplayThreadIfNeedede(runnable);
-		}
-	}
-
-	/**
-	 * Request a redraw of the text range occupied by the given
-	 * RegionChangedEvent for certain (not all) ITextRegion contexts
-	 * 
-	 * @param structuredDocumentEvent
-	 */
-	protected void redrawRegionChanged(RegionChangedEvent structuredDocumentEvent) {
-
-		if (isStoppedForwardingChanges()) {
-			return;
-		}
-		if (Debug.debugStructuredDocument) {
-			System.out.println("maybe redraw stuff"); //$NON-NLS-1$
-		}
-
-
-		// (nsd) TODO: try to make this reliable somehow
-		// without being directly content dependent
-		//		if ((region instanceof ITextRegionContainer) ||
-		// (type == XMLJSPRegionContexts.BLOCK_TEXT) ||
-		// (type == XMLJSPRegionContexts.JSP_CONTENT)) {
-		//			IStructuredDocumentRegion flatNode =
-		// structuredDocumentEvent.getStructuredDocumentRegion();
-		//			// redraw background of false is faster,
-		//			// but assumes background (or font) is not
-		// changing
-		//			redrawRange(flatNode.getStartOffset(region),
-		// flatNode.getEndOffset(region));
-		//		}
-		if (forceRedrawOnRegionChanged) {
-			// workaround for redrawing problems on Linux-GTK
-			int startOffset = structuredDocumentEvent.getOffset();
-			int endOffset = structuredDocumentEvent.getOffset() + structuredDocumentEvent.getLength();
-			try {
-				IRegion startLine = structuredDocumentEvent.fDocument.getLineInformationOfOffset(startOffset);
-				IRegion endLine = structuredDocumentEvent.fDocument.getLineInformationOfOffset(endOffset);
-				if (startLine != null && endLine != null) {
-					redrawRange(startLine.getOffset(), endLine.getOffset() + endLine.getLength());
-				}
-			} catch (BadLocationException e) {
-				// nothing for now
-			}
-		}
-	}
-
-	/**
-	 * Request a redraw of the text range occupied by the given
-	 * RegionsReplacedEvent
-	 * 
-	 * @param structuredDocumentEvent
-	 */
-	protected void redrawRegionsReplaced(RegionsReplacedEvent structuredDocumentEvent) {
-
-		if (isStoppedForwardingChanges())
-			return;
-		if (Debug.debugStructuredDocument) {
-			System.out.println("maybe redraw stuff"); //$NON-NLS-1$
-		}
-		ITextRegionList newRegions = structuredDocumentEvent.getNewRegions();
-		int nRegions = newRegions.size();
-		if (nRegions > 0) {
-			ITextRegion firstRegion = newRegions.get(0);
-			ITextRegion lastRegion = newRegions.get(nRegions - 1);
-			IStructuredDocumentRegion flatNode = structuredDocumentEvent.getStructuredDocumentRegion();
-			redrawRange(flatNode.getStartOffset(firstRegion), flatNode.getEndOffset(lastRegion));
-		}
-	}
-
-	protected void redrawTextChanged() {
-
-		if (lastEvent != null) {
-			// update display, since some cases can effect
-			// highlighting beyond the changed text area.
-			if (lastEvent instanceof StructuredDocumentRegionsReplacedEvent)
-				redrawNodesReplaced((StructuredDocumentRegionsReplacedEvent) lastEvent);
-			if (lastEvent instanceof RegionsReplacedEvent)
-				redrawRegionsReplaced((RegionsReplacedEvent) lastEvent);
-			if (lastEvent instanceof RegionChangedEvent)
-				redrawRegionChanged((RegionChangedEvent) lastEvent);
-			// moved following line to 'document changed' so
-			// the "last event" can be
-			// re-drawn after pending re-draws
-			//lastEvent = null;
-		}
-	}
-
-	/**
-	 * Sends a text replace event to all registered listeners.
-	 */
-	protected void relayTextChanged() {
-
-		if (isStoppedForwardingChanges()) {
-			if (Debug.debugStructuredDocument && getDocument() != null) {
-				System.out.println("NOT relaying text changed (" + getDocument().getLength() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return;
-		}
-		if (Debug.debugStructuredDocument && getDocument() != null) {
-			System.out.println("relaying text changed (" + getDocument().getLength() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		final TextChangedEvent textChangedEvent = new TextChangedEvent(this);
-
-		// we must assign listeners to local variable, since
-		// the add and remove listener
-		// methods can change the actual instance of the
-		// listener array from another thread
-
-		Runnable runnable = new Runnable() {
-			public void run() {
-				if (fTextChangeListeners != null) {
-					Object[] holdListeners = fTextChangeListeners;
-					for (int i = 0; i < holdListeners.length; i++) {
-						// this is a safe cast, since addListeners
-						// requires a IStructuredDocumentListener
-						((TextChangeListener) holdListeners[i]).textChanged(textChangedEvent);
-					}
-				}
-			}
-		};
-		runOnDisplayThreadIfNeedede(runnable);
-		redrawTextChanged();
-	}
-
-	/**
-	 * Sends a text change to all registered listeners
-	 */
-	protected void relayTextChanging(int requestedStart, int requestedLength, String requestedChange) {
-
-		if (getDocument() == null)
-			return;
-		if (isStoppedForwardingChanges()) {
-			if (Debug.debugStructuredDocument && getDocument() != null) {
-				System.out.println("NOT relaying text changing: " + requestedStart + ":" + getDocument().getLength()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return;
-		}
-		if (Debug.debugStructuredDocument && getDocument() != null) {
-			System.out.println("relaying text changing: " + requestedStart + ":" + getDocument().getLength()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		lastEvent = null;
-		try {
-			final TextChangingEvent textChangingEvent = new TextChangingEvent(this);
-
-			textChangingEvent.start = requestedStart;
-			textChangingEvent.replaceCharCount = requestedLength;
-			textChangingEvent.newCharCount = (requestedChange == null ? 0 : requestedChange.length());
-			textChangingEvent.replaceLineCount = getDocument().getNumberOfLines(requestedStart, requestedLength) - 1;
-			textChangingEvent.newText = requestedChange;
-			textChangingEvent.newLineCount = (requestedChange == null ? 0 : getDocument().computeNumberOfLines(requestedChange));
-
-			// we must assign listeners to local variable,
-			// since the add and remove listner
-			// methods can change the actual instance of the
-			// listener array from another thread
-			Runnable runnable = new Runnable() {
-				public void run() {
-					if (fTextChangeListeners != null) {
-						TextChangeListener[] holdListeners = fTextChangeListeners;
-						for (int i = 0; i < holdListeners.length; i++) {
-							// this is a safe cast, since
-							// addListeners requires a
-							// IStructuredDocumentListener
-							holdListeners[i].textChanging(textChangingEvent);
-						}
-					}
-				}
-			};
-			runOnDisplayThreadIfNeedede(runnable);
-		} catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException(e);
-		}
-	}
-
-	/**
-	 * Sends a text set event to all registered listeners. Widget should
-	 * redraw itself automatically.
-	 */
-	protected void relayTextSet() {
-
-		if (isStoppedForwardingChanges()) {
-			if (Debug.debugStructuredDocument && getDocument() != null) {
-				System.out.println("NOT relaying text set (" + getDocument().getLength() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return;
-		}
-		if (Debug.debugStructuredDocument && getDocument() != null) {
-			System.out.println("relaying text set (" + getDocument().getLength() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		lastEvent = null;
-		final TextChangedEvent textChangedEvent = new TextChangedEvent(this);
-
-		// we must assign listeners to local variable, since
-		// the add and remove listner
-		// methods can change the actual instance of the
-		// listener array from another thread
-		Runnable runnable = new Runnable() {
-			public void run() {
-				if (fTextChangeListeners != null) {
-					TextChangeListener[] holdListeners = fTextChangeListeners;
-					for (int i = 0; i < holdListeners.length; i++) {
-						holdListeners[i].textSet(textChangedEvent);
-					}
-				}
-			}
-		};
-		runOnDisplayThreadIfNeedede(runnable);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.custom.StyledTextContent#removeTextChangeListener(org.eclipse.swt.custom.TextChangeListener)
-	 */
-	public synchronized void removeTextChangeListener(final TextChangeListener listener) {
-
-		if ((fTextChangeListeners != null) && (listener != null)) {
-			// if its not in the listeners, we'll ignore the
-			// request
-			if (!Utilities.contains(fTextChangeListeners, listener)) {
-				if (Debug.displayWarnings) {
-					System.out.println("StructuredDocumentToTextAdapter::removeTextChangedListeners. listener " + listener + " was not present. "); //$NON-NLS-2$//$NON-NLS-1$
-				}
-			} else {
-				if (Debug.debugStructuredDocument) {
-					System.out.println("StructuredDocumentToTextAdapter::addTextChangedListeners. Removing an instance of " + listener.getClass() + " as a listener on text adapter."); //$NON-NLS-2$//$NON-NLS-1$
-				}
-				final int oldSize = fTextChangeListeners.length;
-				int newSize = oldSize - 1;
-				final TextChangeListener[] newListeners = new TextChangeListener[newSize];
-
-				Runnable runnable = new Runnable() {
-					public void run() {
-						int index = 0;
-						for (int i = 0; i < oldSize; i++) {
-							if (fTextChangeListeners[i] != listener) {
-								// copy old to new if its not the
-								// one we are removing
-								newListeners[index++] = fTextChangeListeners[i];
-							}
-						}
-					}
-				};
-				runOnDisplayThreadIfNeedede(runnable);
-				// now that we have a new array, let's
-				// switch it for the old one
-				fTextChangeListeners = newListeners;
-			}
-		}
-	}
-
-	/**
-	 * Replace the text with "newText" starting at position "start" for a
-	 * length of "replaceLength".
-	 * <p>
-	 * Implementors have to notify TextChanged listeners after the content has
-	 * been updated. The TextChangedEvent should be set as follows:
-	 * <ul>
-	 * <li>event.type = SWT.TextReplaced
-	 * <li>event.start = start of the replaced text
-	 * <li>event.numReplacedLines = number of replaced lines
-	 * <li>event.numNewLines = number of new lines
-	 * <li>event.replacedLength = length of the replaced text
-	 * <li>event.newLength = length of the new text
-	 * </ul>
-	 * <b>NOTE: </b> numNewLines is the number of inserted lines and
-	 * numReplacedLines is the number of deleted lines based on the change
-	 * that occurs visually. For example:
-	 * <ul>
-	 * <li>(replacedText, newText) ==> (numReplacedLines, numNewLines)
-	 * <li>("", "\n") ==> (0, 1)
-	 * <li>("\n\n", "a") ==> (2, 0)
-	 * <li>("a", "\n\n") ==> (0, 2)
-	 * <li>("\n", "") ==> (1, 0)
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param start
-	 *            start offset of text to replace, none of the offsets include
-	 *            delimiters of preceeding lines, offset 0 is the first
-	 *            character of the document
-	 * @param replaceLength
-	 *            start offset of text to replace
-	 * @param newText
-	 *            start offset of text to replace
-	 */
-	public void replaceTextRange(int start, int replaceLength, String text) {
-
-		if (getParentDocument() instanceof IStructuredDocument) {
-			// the structuredDocument initiates the "changing"
-			// and "changed" events.
-			// they are both fired by the time this method
-			// returns.
-			((IStructuredDocument) getParentDocument()).replaceText(this, start + getDocumentModelAdjustment(), replaceLength, text);
-		} else {
-			try {
-				getDocument().replace(start, replaceLength, text);
-			} catch (BadLocationException x) {
-				throw new SourceEditingRuntimeException(x);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentAdapterExtension#resumeForwardingDocumentChanges()
-	 */
-	public void resumeForwardingDocumentChanges() {
-
-		// from re-reading the textSet API in StyledText, we
-		// must call
-		// textSet if all the contents changed. If all the
-		// contents did
-		// not change, we need to call the pair of APIs,
-		// textChanging and
-		// textChanged. So, if we ever keep careful track of
-		// changes
-		// during stop forwarding and resume forwarding, we
-		// can
-		// investigate change make use of the pair of APIs.
-		fStopRelayingChangesRequests--;
-		if (fStopRelayingChangesRequests == 0) {
-			//fIsForwarding= true;
-			fDocumentClone = null;
-			fOriginalContent = null;
-			fOriginalLineDelimiters = null;
-			//fireTextSet();
-			relayTextSet();
-		}
-	}
-
-	/**
-	 * This 'Runnable' should be very brief, and should not "call out" to
-	 * other code which itself might call syncExec, or deadlock might occur.
-	 * 
-	 * @param r
-	 */
-	private void runOnDisplayThreadIfNeedede(Runnable r) {
-		// if there is no Display at all (that is, running headless),
-		// or if we are already running on the display thread, then
-		// simply execute the runnable.
-		if (getDisplay() == null || (Thread.currentThread() == getDisplay().getThread())) {
-			r.run();
-		} else {
-			// otherwise force the runnable to run on the display thread.
-			//
-			// Its unclear if we need this at all, once
-			// we "force" document update to always take place on display
-			// thread.
-			IDocument doc = getDocument();
-			if (doc instanceof ILockable) {
-
-				ILock lock = null;
-				try {
-					lock = ((ILockable) doc).getLockObject();
-					lock.acquire();
-					getDisplay().syncExec(r);
-				} finally {
-					if (lock != null) {
-						lock.release();
-					}
-				}
-			} else {
-				// else, ignore!, since risk of deadlock
-				throw new IllegalStateException("non lockable document used for structuredDocumentToTextAdapter");
-			}
-		}
-	}
-
-	/**
-	 * @param newModel
-	 *            com.ibm.sed.structuredDocument.IStructuredDocument
-	 */
-	public void setDocument(IDocument document) {
-
-		if (getDocument() != null) {
-			getDocument().removePrenotifiedDocumentListener(internalDocumentListener);
-		}
-		lastEvent = null;
-		if (document instanceof ProjectionDocument) {
-			fChildDocument = (ProjectionDocument) document;
-			_setDocument(fChildDocument.getMasterDocument());
-		} else {
-			fChildDocument = null;
-			_setDocument(document);
-		}
-		if (getDocument() != null) {
-			getDocument().addPrenotifiedDocumentListener(internalDocumentListener);
-		}
-	}
-
-	/**
-	 * @see IDocument#setText
-	 */
-	public void setText(String string) {
-
-		if (isStoppedForwardingChanges()) {
-			fDocumentClone = null;
-			fOriginalContent = fDocument.get();
-			fOriginalLineDelimiters = fDocument.getLegalLineDelimiters();
-		} else if (fChildDocument == null) {
-			if (getParentDocument() instanceof IStructuredDocument) {
-				((IStructuredDocument) getParentDocument()).setText(this, string);
-			} else {
-				getParentDocument().set(string);
-			}
-		} else {
-			fChildDocument.set(string);
-		}
-		relayTextSet();
-	}
-
-	/**
-	 * This method was added to make testing easier. Normally, the widget is
-	 * specified on the constructor.
-	 */
-	public void setWidget(StyledText widget) {
-
-		fStyledTextWidget = widget;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentAdapterExtension#stopForwardingDocumentChanges()
-	 */
-	public void stopForwardingDocumentChanges() {
-
-		fStopRelayingChangesRequests++;
-		// only need to take snapshot on first request
-		if (fStopRelayingChangesRequests == 1) {
-			fDocumentClone = null;
-			fOriginalContent = getDocument().get();
-			fOriginalLineDelimiters = getDocument().getLegalLineDelimiters();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredTextLineBreakingReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredTextLineBreakingReader.java
deleted file mode 100644
index 1140fab..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredTextLineBreakingReader.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.swt.graphics.GC;
-
-/*
- * Not a real reader. Could change if requested
- */
-public class StructuredTextLineBreakingReader {
-	private GC fGC;
-	private int fIndex;
-	private String fLine;
-	private int fMaxWidth;
-
-	private BufferedReader fReader;
-
-	/**
-	 * Creates a reader that breaks an input text to fit in a given width.
-	 * 
-	 * @param reader
-	 *            Reader of the input text
-	 * @param gc
-	 *            The graphic context that defines the currently used font
-	 *            sizes
-	 * @param maxLineWidth
-	 *            The max width (pixes) where the text has to fit in
-	 */
-	public StructuredTextLineBreakingReader(Reader reader, GC gc, int maxLineWidth) {
-		fReader = new BufferedReader(reader);
-		fGC = gc;
-		fMaxWidth = maxLineWidth;
-		fLine = null;
-		fIndex = 0;
-	}
-
-	private int findNextBreakIndex(int currIndex) {
-		int currWidth = 0;
-		int lineLength = fLine.length();
-
-		while (currIndex < lineLength) {
-			char ch = fLine.charAt(currIndex);
-			int nextIndex = currIndex + 1;
-			// leading whitespaces are counted to the following word
-			if (Character.isWhitespace(ch)) {
-				while (nextIndex < lineLength && Character.isWhitespace(fLine.charAt(nextIndex))) {
-					nextIndex++;
-				}
-			}
-			while (nextIndex < lineLength && !Character.isWhitespace(fLine.charAt(nextIndex))) {
-				nextIndex++;
-			}
-			String word = fLine.substring(currIndex, nextIndex);
-			int wordWidth = fGC.textExtent(word).x;
-			int nextWidth = wordWidth + currWidth;
-			if (nextWidth > fMaxWidth && wordWidth < fMaxWidth) {
-				return currIndex;
-			}
-			currWidth = nextWidth;
-			currIndex = nextIndex;
-		}
-		return currIndex;
-	}
-
-	private int findWordBegin(int idx) {
-		while (idx < fLine.length() && Character.isWhitespace(fLine.charAt(idx))) {
-			idx++;
-		}
-		return idx;
-	}
-
-	/**
-	 * Reads the next line. The lengths of the line will not exceed the gived
-	 * maximum width.
-	 */
-	public String readLine() throws IOException {
-		if (fLine == null) {
-			String line = fReader.readLine();
-			if (line == null) {
-				return null;
-			}
-			int lineLen = fGC.textExtent(line).x;
-			if (lineLen < fMaxWidth) {
-				return line;
-			}
-			fLine = line;
-			fIndex = 0;
-		}
-		int breakIdx = findNextBreakIndex(fIndex);
-		String res = fLine.substring(fIndex, breakIdx);
-		if (breakIdx < fLine.length()) {
-			fIndex = findWordBegin(breakIdx);
-		} else {
-			fLine = null;
-		}
-		return res;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ViewerSelectionManagerImpl.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ViewerSelectionManagerImpl.java
deleted file mode 100644
index 3ac143b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ViewerSelectionManagerImpl.java
+++ /dev/null
@@ -1,697 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.wst.sse.core.IModelStateListener;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-import org.eclipse.wst.sse.ui.CaretMediator;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckSelectionListener;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckSelectionManager;
-import org.eclipse.wst.sse.ui.view.events.CaretEvent;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.ITextSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.sse.ui.view.events.TextSelectionChangedEvent;
-
-
-public class ViewerSelectionManagerImpl implements ViewerSelectionManager, SpellCheckSelectionManager {
-
-	class InternalModelStateListener implements IModelStateListener {
-
-		public void modelAboutToBeChanged(IStructuredModel model) {
-			setModelChanging(true);
-		}
-
-		public void modelChanged(IStructuredModel model) {
-			setModelChanging(false);
-		}
-
-		public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-		}
-
-		public void modelResourceDeleted(IStructuredModel model) {
-		}
-
-		public void modelResourceMoved(IStructuredModel originalmodel, IStructuredModel movedmodel) {
-		}
-
-	}
-
-	private CaretMediator fCaretMeditator;
-	private int fCaretPosition = 0;
-	protected IStructuredModel fModel;
-	private boolean fModelChanging = false;
-
-	private IDoubleClickListener[] fNodeDoubleClickListeners;
-	private INodeSelectionListener[] fNodeSelectionListeners;
-	private List fSelectedNodes;
-
-	// ISpellCheckSelectionManager
-	protected SpellCheckSelectionListener[] fSpellCheckSelectionListeners;
-	private int fTextSelectionEnd;
-	// TODO: private field never read locally
-	 IndexedRegion fTextSelectionEndNode;
-	private ITextSelectionListener[] fTextSelectionListeners;
-	private int fTextSelectionStart;
-//	 TODO: private field never read locally
-	IndexedRegion fTextSelectionStartNode;
-	private ITextViewer fTextViewer;
-	private InternalModelStateListener internalModelStateListener;
-//	 TODO: private field never read locally
-	boolean isFiringNodeDoubleClick = false;
-	private boolean isFiringNodeSelectionChanged = false;
-
-	public ViewerSelectionManagerImpl() {
-		internalModelStateListener = new InternalModelStateListener();
-	}
-
-	public ViewerSelectionManagerImpl(ITextViewer textViewer) {
-		setTextViewer(textViewer);
-
-		internalModelStateListener = new InternalModelStateListener();
-	}
-
-	public synchronized void addNodeDoubleClickListener(IDoubleClickListener listener) {
-		// since its most certainly an error if someone is trying to add a
-		// null listner,
-		// we'll flag it explicitly and ignore
-		if (listener == null) {
-			Logger.log(Logger.WARNING, "Likely error in ViewerSelectionManagerImpl::addNodeDoubleClickListener should not be called with null listener"); //$NON-NLS-1$
-			return;
-		}
-		// make sure listlistener not already in listening array
-		// (and if it is, print a warning to aid debugging, if needed)
-		if (Utilities.contains(fNodeDoubleClickListeners, listener)) {
-			if (Debug.displayWarnings) {
-				System.out.println("ViewerSelectionManager::addNodeDoubleClickListener. listener " + listener + " was added more than once. "); //$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			if (Debug.debugStructuredDocument) {
-				System.out.println("ViewerSelectionManager::addNodeDoubleClickListener. Adding an instance of " + listener.getClass() + " as a listener on ViewerSelectionManager."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			int oldSize = 0;
-			if (fNodeDoubleClickListeners != null) {
-				// normally won't be null, but we need to be sure, for first
-				// time through
-				oldSize = fNodeDoubleClickListeners.length;
-			}
-			int newSize = oldSize + 1;
-			IDoubleClickListener[] newListeners = new IDoubleClickListener[newSize];
-			if (fNodeDoubleClickListeners != null) {
-				System.arraycopy(fNodeDoubleClickListeners, 0, newListeners, 0, oldSize);
-			}
-			// add listener to last position
-			newListeners[newSize - 1] = listener;
-			//
-			// now switch new for old
-			fNodeDoubleClickListeners = newListeners;
-
-		}
-	}
-
-	public synchronized void addNodeSelectionListener(INodeSelectionListener listener) {
-		// since its most certainly an error if someone is trying to add a
-		// null listner,
-		// we'll flag it explicitly and ignore
-		if (listener == null) {
-			Logger.log(Logger.WARNING, "Likely error in ViewerSelectionManagerImpl::addNodeSelectionListener should not but called with null listener"); //$NON-NLS-1$
-			return;
-		}
-		// make sure listener is not already in listening array
-		// (and if it is, print a warning to aid debugging, if needed)
-		if (Utilities.contains(fNodeSelectionListeners, listener)) {
-			if (Debug.displayWarnings) {
-				System.out.println("ViewerSelectionManager::addNodeSelectionListener. listener " + listener + " was added more than once. "); //$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			if (Debug.debugStructuredDocument) {
-				System.out.println("ViewerSelectionManager::addNodeSelectionListener. Adding an instance of " + listener.getClass() + " as a listener on ViewerSelectionManager."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			int oldSize = 0;
-			if (fNodeSelectionListeners != null) {
-				// normally won't be null, but we need to be sure, for first
-				// time through
-				oldSize = fNodeSelectionListeners.length;
-			}
-			int newSize = oldSize + 1;
-			INodeSelectionListener[] newListeners = new INodeSelectionListener[newSize];
-			if (fNodeSelectionListeners != null) {
-				System.arraycopy(fNodeSelectionListeners, 0, newListeners, 0, oldSize);
-			}
-			// add listener to last position
-			newListeners[newSize - 1] = listener;
-			//
-			// now switch new for old
-			fNodeSelectionListeners = newListeners;
-
-		}
-	}
-
-	/**
-	 * @see SpellCheckSelectionManager#addSpellCheckSelectionListener(SpellCheckSelectionListener)
-	 */
-	public void addSpellCheckSelectionListener(SpellCheckSelectionListener listener) {
-		// since its most certainly an error if someone is trying to add a
-		// null listner,
-		// we'll flag it explicitly and ignore
-		if (listener == null) {
-			Logger.log(Logger.WARNING, "Likely error in ViewerSelectionManagerImpl::addSpellCheckSelectionListener should not but called with null listener"); //$NON-NLS-1$
-			return;
-		}
-		// make sure listener is not already in listening array
-		// (and if it is, print a warning to aid debugging, if needed)
-
-		if (Utilities.contains(fSpellCheckSelectionListeners, listener)) {
-			if (Debug.displayWarnings) {
-				System.out.println("ViewerSelectionManager::addSpellCheckSelectionListener. listener " + listener + " was added more than once. "); //$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			if (Debug.debugStructuredDocument) {
-				System.out.println("ViewerSelectionManager::addSpellCheckSelectionListener. Adding an instance of " + listener.getClass() + " as a listener on ViewerSelectionManager."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			int oldSize = 0;
-			if (fSpellCheckSelectionListeners != null) {
-				// normally won't be null, but we need to be sure, for first
-				// time through
-				oldSize = fSpellCheckSelectionListeners.length;
-			}
-			int newSize = oldSize + 1;
-			SpellCheckSelectionListener[] newListeners = new SpellCheckSelectionListener[newSize];
-			if (fSpellCheckSelectionListeners != null) {
-				System.arraycopy(fSpellCheckSelectionListeners, 0, newListeners, 0, oldSize);
-			}
-			// add listener to last position
-			newListeners[newSize - 1] = listener;
-			//
-			// now switch new for old
-			fSpellCheckSelectionListeners = newListeners;
-		}
-	}
-
-	public synchronized void addTextSelectionListener(ITextSelectionListener listener) {
-		// since its most certainly an error if someone is trying to add a
-		// null listner,
-		// we'll flag it explicitly and ignore
-		if (listener == null) {
-			Logger.log(Logger.WARNING, "Likely error in ViewerSelectionManagerImpl::addTextSelectionListener should not but called with null listener"); //$NON-NLS-1$
-			return;
-		}
-		// make sure listener is not already in listening array
-		// (and if it is, print a warning to aid debugging, if needed)
-		if (Utilities.contains(fTextSelectionListeners, listener)) {
-			if (Debug.displayWarnings) {
-				System.out.println("ViewerSelectionManager::addTextSelectionListener. listener " + listener + " was added more than once. "); //$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			if (Debug.debugStructuredDocument) {
-				System.out.println("ViewerSelectionManager::addTextSelectionListener. Adding an instance of " + listener.getClass() + " as a listener on ViewerSelectionManager."); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			int oldSize = 0;
-			if (fTextSelectionListeners != null) {
-				// normally won't be null, but we need to be sure, for first
-				// time through
-				oldSize = fTextSelectionListeners.length;
-			}
-			int newSize = oldSize + 1;
-			ITextSelectionListener[] newListeners = new ITextSelectionListener[newSize];
-			if (fTextSelectionListeners != null) {
-				System.arraycopy(fTextSelectionListeners, 0, newListeners, 0, oldSize);
-			}
-			// add listener to last position
-			newListeners[newSize - 1] = listener;
-			//
-			// now switch new for old
-			fTextSelectionListeners = newListeners;
-
-		}
-	}
-
-	/**
-	 * This method listens to text widget caret movements. This method is
-	 * called when a caret (insertion point) move occurs that is NOT the
-	 * result of the text changing. Specifcally, as a result of mouse clicks,
-	 * PAGE_UP, RIGHT_ARROW, etc.
-	 */
-	public void caretMoved(final CaretEvent event) {
-		if (!isModelChanging()) {
-			List selectedNodes = getTextWidgetSelectedNodes(event.getPosition());
-			int caretPosition = event.getPosition();
-			processSelectionChanged(event.getSource(), selectedNodes, caretPosition, caretPosition);
-		}
-	}
-
-	protected void currentNodeChanged(Object source, List newSelectedNodes, int caretPosition) {
-		// save current node; make sure to clone the selected nodes list, or
-		// else there may be a side effect when listeners modify the list
-		fSelectedNodes = new Vector(newSelectedNodes);
-		// save current caret position
-		fCaretPosition = caretPosition;
-		// generate and fire event
-		NodeSelectionChangedEvent nodeSelectionChangedEvent = new NodeSelectionChangedEvent(source, newSelectedNodes, caretPosition);
-		fireNodeSelectionChangedEvent(nodeSelectionChangedEvent);
-	}
-
-	/**
-	 * Notifies of a double click.
-	 * 
-	 * @param event
-	 *            event object describing the double-click
-	 */
-	public void doubleClick(DoubleClickEvent event) {
-		if (!isModelChanging())
-			fireNodeDoubleClickEvent(event);
-	}
-
-	protected void fireNodeDoubleClickEvent(DoubleClickEvent event) {
-		if ((fNodeDoubleClickListeners != null) && (!isModelChanging())) {
-			// we must assign listeners to local variable to be thread safe,
-			// since the add and remove listner methods
-			// can change this object's actual instance of the listener array
-			// from another thread
-			// (and since object assignment is atomic, we don't need to
-			// synchronize
-			isFiringNodeDoubleClick = true;
-			try {
-				IDoubleClickListener[] holdListeners = fNodeDoubleClickListeners;
-
-				for (int i = 0; i < holdListeners.length; i++) {
-					holdListeners[i].doubleClick(event);
-				}
-			} finally {
-				isFiringNodeDoubleClick = false;
-			}
-		}
-	}
-
-	protected void fireNodeSelectionChangedEvent(NodeSelectionChangedEvent event) {
-		if ((fNodeSelectionListeners != null) && (!isModelChanging())) {
-			// we must assign listeners to local variable to be thread safe,
-			// since the add and remove listner methods
-			// can change this object's actual instance of the listener array
-			// from another thread
-			// (and since object assignment is atomic, we don't need to
-			// synchronize
-			isFiringNodeSelectionChanged = true;
-			try {
-				INodeSelectionListener[] holdListeners = fNodeSelectionListeners;
-
-				for (int i = 0; i < holdListeners.length; i++) {
-					holdListeners[i].nodeSelectionChanged(event);
-				}
-			} finally {
-				isFiringNodeSelectionChanged = false;
-			}
-		}
-	}
-
-	protected void fireSpellCheckSelectionChangedEvent() {
-		if ((fSpellCheckSelectionListeners != null) && (!isModelChanging())) {
-			// we must assign listeners to local variable to be thread safe,
-			// since the add and remove listner methods
-			// can change this object's actual instance of the listener array
-			// from another thread
-			// (and since object assignment is atomic, we don't need to
-			// synchronize
-			SpellCheckSelectionListener[] holdListeners = fSpellCheckSelectionListeners;
-			//
-			for (int i = 0; i < holdListeners.length; i++) {
-				holdListeners[i].selectionChanged();
-			}
-		}
-	}
-
-	protected void fireTextSelectionChangedEvent(TextSelectionChangedEvent event) {
-		if ((fTextSelectionListeners != null) && (!isModelChanging())) {
-			// we must assign listeners to local variable to be thread safe,
-			// since the add and remove listner methods
-			// can change this object's actual instance of the listener array
-			// from another thread
-			// (and since object assignment is atomic, we don't need to
-			// synchronize
-			ITextSelectionListener[] holdListeners = fTextSelectionListeners;
-			//
-			for (int i = 0; i < holdListeners.length; i++) {
-				holdListeners[i].textSelectionChanged(event);
-			}
-		}
-	}
-
-	public int getCaretPosition() {
-		return fCaretPosition;
-	}
-
-	public List getSelectedNodes() {
-		return fSelectedNodes;
-	}
-
-	public ITextViewer getTextViewer() {
-		return fTextViewer;
-	}
-
-	protected List getTextWidgetSelectedNodes(int offset) {
-		if (fModel == null)
-			return new ArrayList(0);
-
-		IndexedRegion firstSelectedNode = fModel.getIndexedRegion(offset);
-		fTextSelectionStartNode = firstSelectedNode;
-		fTextSelectionEndNode = firstSelectedNode;
-
-		// Never send a "null" in the selection
-		List selectedNodes = null;
-		if (firstSelectedNode != null) {
-			selectedNodes = new ArrayList(1);
-			selectedNodes.add(firstSelectedNode);
-		} else {
-			selectedNodes = new ArrayList(0);
-		}
-		return selectedNodes;
-	}
-
-	protected boolean isCurrentNodeChanged(List newSelectedNodes) {
-		return !newSelectedNodes.equals(fSelectedNodes);
-	}
-
-	protected boolean isModelChanging() {
-		return fModelChanging;
-	}
-
-	protected boolean isTextSelectionChanged(int textSelectionStart, int textSelectionEnd) {
-		return ((fTextSelectionStart != textSelectionStart) || (fTextSelectionEnd != textSelectionEnd));
-	}
-
-	protected void processSelectionChanged(Object source, List selectedNodes, int selectionStart, int selectionEnd) {
-		if (source == null) {
-			// source should not be null.
-			// log this and ignore this selection changed event.
-			// DMW: I "shortened" this log message by removing stack trace,
-			// after receiving log
-			// from support showing this error. It made the log file
-			// confusing.
-			// Not clear why the source was null, but probably only related to
-			// initialization, or 'startup' with file open.
-			Logger.log(Logger.ERROR, "ViewerSelectionManager::processSelectionChanged. Unexpected null source"); //$NON-NLS-1$
-		} else {
-			if (isTextSelectionChanged(selectionStart, selectionEnd))
-				textSelectionChanged(source, selectionStart, selectionEnd);
-
-			if (isCurrentNodeChanged(selectedNodes))
-				currentNodeChanged(source, selectedNodes, selectionEnd);
-		}
-	}
-
-	public void release() {
-		setTextViewer(null);
-
-		// remove this viewer selection manager from the old model's list of
-		// model state listeners
-		if (fModel != null)
-			fModel.removeModelStateListener(internalModelStateListener);
-
-		// make sure the CaretMediator we created is released as well
-		fCaretMeditator.release();
-	}
-
-	public synchronized void removeNodeDoubleClickListener(IDoubleClickListener listener) {
-		if ((fNodeDoubleClickListeners != null) && (listener != null)) {
-			// if its not in the listeners, we'll ignore the request
-			if (Utilities.contains(fNodeDoubleClickListeners, listener)) {
-				int oldSize = fNodeDoubleClickListeners.length;
-				int newSize = oldSize - 1;
-				IDoubleClickListener[] newListeners = new IDoubleClickListener[newSize];
-				int index = 0;
-				for (int i = 0; i < oldSize; i++) {
-					if (fNodeDoubleClickListeners[i] == listener) { // ignore
-					} else {
-						// copy old to new if its not the one we are removing
-						newListeners[index++] = fNodeDoubleClickListeners[i];
-					}
-				}
-				// now that we have a new array, let's switch it for the old
-				// one
-				fNodeDoubleClickListeners = newListeners;
-			}
-		}
-	}
-
-	public synchronized void removeNodeSelectionListener(INodeSelectionListener listener) {
-		if ((fNodeSelectionListeners != null) && (listener != null)) {
-			// if its not in the listeners, we'll ignore the request
-			if (Utilities.contains(fNodeSelectionListeners, listener)) {
-				int oldSize = fNodeSelectionListeners.length;
-				int newSize = oldSize - 1;
-				INodeSelectionListener[] newListeners = new INodeSelectionListener[newSize];
-				int index = 0;
-				for (int i = 0; i < oldSize; i++) {
-					if (fNodeSelectionListeners[i] == listener) { // ignore
-					} else {
-						// copy old to new if its not the one we are removing
-						newListeners[index++] = fNodeSelectionListeners[i];
-					}
-				}
-				// now that we have a new array, let's switch it for the old
-				// one
-				fNodeSelectionListeners = newListeners;
-			}
-		}
-	}
-
-	/**
-	 * @see SpellCheckSelectionManager#removeSpellCheckSelectionListener(SpellCheckSelectionListener)
-	 */
-	public void removeSpellCheckSelectionListener(SpellCheckSelectionListener listener) {
-		if ((fSpellCheckSelectionListeners != null) && (listener != null)) {
-			// if its not in the listeners, we'll ignore the request
-			if (Utilities.contains(fSpellCheckSelectionListeners, listener)) {
-				int oldSize = fSpellCheckSelectionListeners.length;
-				int newSize = oldSize - 1;
-				SpellCheckSelectionListener[] newListeners = new SpellCheckSelectionListener[newSize];
-				int index = 0;
-				for (int i = 0; i < oldSize; i++) {
-					if (fSpellCheckSelectionListeners[i] == listener) { // ignore
-					} else {
-						// copy old to new if its not the one we are removing
-						newListeners[index++] = fSpellCheckSelectionListeners[i];
-					}
-				}
-				// now that we have a new array, let's switch it for the old
-				// one
-				fSpellCheckSelectionListeners = newListeners;
-			}
-		}
-	}
-
-	public synchronized void removeTextSelectionListener(ITextSelectionListener listener) {
-		if ((fTextSelectionListeners != null) && (listener != null)) {
-			// if its not in the listeners, we'll ignore the request
-			if (Utilities.contains(fTextSelectionListeners, listener)) {
-				int oldSize = fTextSelectionListeners.length;
-				int newSize = oldSize - 1;
-				ITextSelectionListener[] newListeners = new ITextSelectionListener[newSize];
-				int index = 0;
-				for (int i = 0; i < oldSize; i++) {
-					if (fTextSelectionListeners[i] == listener) { // ignore
-					} else {
-						// copy old to new if its not the one we are removing
-						newListeners[index++] = fTextSelectionListeners[i];
-					}
-				}
-				// now that we have a new array, let's switch it for the old
-				// one
-				fTextSelectionListeners = newListeners;
-			}
-		}
-	}
-
-	public void selectionChanged(SelectionChangedEvent event) {
-		// If selection is fired as a result of processing a node change
-		// event, then ignore the selection.
-		if (isFiringNodeSelectionChanged || isModelChanging())
-			return;
-
-		ISelection eventSelection = event.getSelection();
-		// handle Structured selections
-		if (eventSelection instanceof IStructuredSelection) {
-			IStructuredSelection selection = (IStructuredSelection) eventSelection;
-			//			System.out.println("selection: " + event.getSource() + " [" +
-			// selection.toArray().length + "] " +
-			// selection.getFirstElement());
-			List selectedNodes = selection.toList();
-			int selectionStart = 0;
-			int selectionEnd = 0;
-
-			// something selected
-			if (selectedNodes.size() > 0) {
-				IndexedRegion firstSelectedNode = (IndexedRegion) selectedNodes.get(0);
-				selectionStart = firstSelectedNode.getStartOffset();
-				selectionEnd = firstSelectedNode.getEndOffset();
-
-				// remove all except the first selected node
-				selectedNodes = new Vector(1);
-				selectedNodes.add(firstSelectedNode);
-			}
-
-			processSelectionChanged(event.getSource(), selectedNodes, selectionStart, selectionEnd);
-		}
-		// handle text selection changes
-		else if (eventSelection instanceof ITextSelection) {
-			ITextSelection selection = (ITextSelection) eventSelection;
-			//			System.out.println("selection: " + event.getSource() + " (" +
-			// selection.getOffset() + "+=" + selection.getLength() + ")");
-			int selectionStart = selection.getOffset();
-			setCaretPosition(selectionStart);
-			int selectionEnd = selection.getOffset() + selection.getLength();
-			if (true) {
-				// option 1: works great for Source Page editors and the XML
-				// and XSL Editors
-				List selectedNodes = getTextWidgetSelectedNodes(selection.getOffset());
-				processSelectionChanged(event.getSource(), selectedNodes, selectionStart, selectionEnd);
-			} else {
-				// option 2: works with all of the above plus Page Designer,
-				// but not as clean nor perfectly
-				// TODO: switch to option 1
-				Event selectionEvent = new Event();
-				selectionEvent.widget = fTextViewer.getTextWidget();
-				selectionEvent.display = fTextViewer.getTextWidget().getDisplay();
-				selectionEvent.x = selectionStart;
-				selectionEvent.y = selectionEnd;
-				fTextViewer.getTextWidget().setSelection(selectionStart, selectionEnd);
-				widgetDefaultSelected(new SelectionEvent(selectionEvent));
-			}
-		}
-	}
-
-	protected void setCaretPosition(int caretPosition) {
-		fCaretPosition = caretPosition;
-	}
-
-	public void setModel(IStructuredModel newModel) {
-		if (newModel != fModel) {
-			// remove this viewer selection manager from the old model's list
-			// of model state listeners
-			if (fModel != null)
-				fModel.removeModelStateListener(internalModelStateListener);
-
-			fModel = newModel;
-
-			// add this viewer selection manager to the new model's list of
-			// model state listeners
-			fModel.addModelStateListener(internalModelStateListener);
-		}
-	}
-
-	protected void setModelChanging(boolean modelChanging) {
-		fModelChanging = modelChanging;
-	}
-
-	/**
-	 * This is the viewer who's caret postion we monitor to determine when to
-	 * check if the node has changed. We don't actually need, or save, the
-	 * viewer, but do need its text widget, and will register this viewer
-	 * selection manager as a listener of the text widget's text selection.
-	 */
-	public void setTextViewer(ITextViewer newTextViewer) {
-		// unhook from previous, if any
-		if (fCaretMeditator != null) {
-			fCaretMeditator.removeCaretListener(this);
-			fCaretMeditator.setTextWidget(null);
-		}
-		if (fTextViewer != null) {
-			//			fTextViewer.getSelectionProvider().removeSelectionChangedListener(this);
-			StyledText textWidget = fTextViewer.getTextWidget();
-			if (textWidget != null) {
-				// listen to text selections
-				textWidget.removeSelectionListener(this);
-			}
-		}
-
-		fTextViewer = newTextViewer;
-
-		if (fTextViewer != null) {
-			//			fTextViewer.getSelectionProvider().addSelectionChangedListener(this);
-			StyledText textWidget = fTextViewer.getTextWidget();
-			if (textWidget != null) {
-				// create new caret mediator, if it doesn't exist yet
-				if (fCaretMeditator == null) {
-					fCaretMeditator = new CaretMediator(textWidget);
-				} else {
-					fCaretMeditator.setTextWidget(textWidget);
-				}
-				// and register as a listener
-				fCaretMeditator.addCaretListener(this);
-
-				// listen to text selections
-				textWidget.addSelectionListener(this);
-			}
-		}
-	}
-
-	protected void textSelectionChanged(Object source, int textSelectionStart, int textSelectionEnd) {
-		// save current text selection
-		fTextSelectionStart = textSelectionStart;
-		fTextSelectionEnd = textSelectionEnd;
-		// save current caret position
-		fCaretPosition = fTextSelectionEnd;
-		// generate and fire event
-		TextSelectionChangedEvent textSelectionChangedEvent = new TextSelectionChangedEvent(source, fTextSelectionStart, fTextSelectionEnd);
-		fireTextSelectionChangedEvent(textSelectionChangedEvent);
-
-		// SpellCheck dialog also needs to listen text selection change
-		fireSpellCheckSelectionChangedEvent();
-	}
-
-	/**
-	 * This method listens to text widget default selection changes. This
-	 * method is called when default selection occurs in the control. For
-	 * example, on some platforms default selection occurs in a List when the
-	 * user double-clicks an item or types return in a Text.
-	 */
-	public void widgetDefaultSelected(SelectionEvent event) {
-		if (!isModelChanging()) {
-			List selectedNodes = getTextWidgetSelectedNodes(event.x);
-			int selectionStart = event.x;
-			int selectionEnd = event.y;
-			processSelectionChanged(event.getSource(), selectedNodes, selectionStart, selectionEnd);
-		}
-	}
-
-	/**
-	 * This method listens to text widget text selection changes. This method
-	 * is called when the text selection in a text widget has changed.
-	 */
-	public void widgetSelected(SelectionEvent event) {
-		// If selection is fired as a result of processing a node change
-		// event, then ignore the selection.
-		if (isFiringNodeSelectionChanged || isModelChanging())
-			return;
-
-		widgetDefaultSelected(event);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/ContentAssistUtils.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/ContentAssistUtils.java
deleted file mode 100644
index 2e2a799..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/ContentAssistUtils.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.contentassist;
-
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-
-
-/**
- * @author pavery
- *  
- */
-public class ContentAssistUtils {
-
-	/**
-	 * Returns the closest IndexedRegion for the offset and viewer allowing
-	 * for differences between viewer offsets and model positions. note: this
-	 * method returns an IndexedRegion for read only
-	 * 
-	 * @param viewer
-	 *            the viewer whose document is used to compute the proposals
-	 * @param documentOffset
-	 *            an offset within the document for which completions should
-	 *            be computed
-	 * @return an IndexedRegion
-	 */
-	public static IndexedRegion getNodeAt(StructuredTextViewer viewer, int documentOffset) {
-
-		if (viewer == null)
-			return null;
-
-		IndexedRegion node = null;
-		IModelManager mm = StructuredModelManager.getModelManager();
-		IStructuredModel model = null;
-		if (mm != null)
-			model = mm.getExistingModelForRead(viewer.getDocument());
-		try {
-			if (model != null) {
-				int lastOffset = documentOffset;
-				node = model.getIndexedRegion(documentOffset);
-				while (node == null && lastOffset >= 0) {
-					lastOffset--;
-					node = model.getIndexedRegion(lastOffset);
-				}
-			}
-		} finally {
-			if (model != null)
-				model.releaseFromRead();
-		}
-		return node;
-	}
-
-	/**
-	 * Returns the closest IStructuredDocumentRegion for the offest and
-	 * viewer.
-	 * 
-	 * @param viewer
-	 * @param documentOffset
-	 * @return the closest IStructuredDocumentRegion for the offest and
-	 *         viewer.
-	 */
-	public static IStructuredDocumentRegion getStructuredDocumentRegion(StructuredTextViewer viewer, int documentOffset) {
-		IStructuredDocumentRegion sdRegion = null;
-		if (viewer == null || viewer.getDocument() == null)
-			return null;
-
-		int lastOffset = documentOffset;
-		IStructuredDocument doc = (IStructuredDocument) viewer.getDocument();
-		sdRegion = doc.getRegionAtCharacterOffset(documentOffset);
-		while (sdRegion == null && lastOffset >= 0) {
-			lastOffset--;
-			sdRegion = doc.getRegionAtCharacterOffset(lastOffset);
-		}
-		return sdRegion;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/CustomCompletionProposal.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/CustomCompletionProposal.java
deleted file mode 100644
index 9e00002..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/CustomCompletionProposal.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.contentassist;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITextViewerExtension5;
-import org.eclipse.jface.text.contentassist.CompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposalExtension;
-import org.eclipse.jface.text.contentassist.ICompletionProposalExtension2;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.ui.contentassist.IRelevanceCompletionProposal;
-
-/**
- * An implementation of ICompletionProposal whose values can be read after
- * creation.
- */
-public class CustomCompletionProposal implements ICompletionProposal, ICompletionProposalExtension, ICompletionProposalExtension2, IRelevanceCompletionProposal {
-    protected String fAdditionalProposalInfo;
-
-    protected IContextInformation fContextInformation;
-
-    protected int fCursorPosition = 0;
-
-    protected String fDisplayString;
-
-    protected Image fImage;
-
-    protected int fOriginalReplacementLength;
-
-    protected int fRelevance = IRelevanceConstants.R_NONE;
-
-    protected int fReplacementLength = 0;
-
-    protected int fReplacementOffset = 0;
-
-    protected String fReplacementString = null;
-
-    private boolean fUpdateLengthOnValidate;
-
-    private char[] fTriggers;
-
-    /**
-     * Constructor with relevance and replacement length update flag.
-     * 
-     * If the <code>updateReplacementLengthOnValidate</code> flag is true,
-     * then when the user types, the replacement length will be incremented by
-     * the number of new characters inserted from the original position.
-     * Otherwise the replacement length will not change on validate.
-     * 
-     * ex.
-     * 
-     * <tag |name="attr"> - the replacement length is 4 <tag i|name="attr"> -
-     * the replacement length is now 5 <tag id|name="attr"> - the replacement
-     * length is now 6 <tag |name="attr"> - the replacementlength is now 4 again
-     * <tag |name="attr"> - the replacment length remains 4
-     * 
-     */
-    public CustomCompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString,
-            IContextInformation contextInformation, String additionalProposalInfo, int relevance, boolean updateReplacementLengthOnValidate) {
-        fReplacementString = replacementString;
-        fReplacementOffset = replacementOffset;
-        fReplacementLength = replacementLength;
-        fCursorPosition = cursorPosition;
-        fImage = image;
-        fDisplayString = displayString;
-        fContextInformation = contextInformation;
-        fAdditionalProposalInfo = additionalProposalInfo;
-        fRelevance = relevance;
-        fUpdateLengthOnValidate = updateReplacementLengthOnValidate;
-        fOriginalReplacementLength = fReplacementLength;
-    }
-
-    public CustomCompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString,
-            IContextInformation contextInformation, String additionalProposalInfo, int relevance) {
-        this(replacementString, replacementOffset, replacementLength, cursorPosition, image, displayString, contextInformation, additionalProposalInfo, relevance, true);
-    }
-
-    public void apply(IDocument document) {
-        CompletionProposal proposal = new CompletionProposal(getReplacementString(), getReplacementOffset(), getReplacementLength(), getCursorPosition(), getImage(), getDisplayString(),
-                getContextInformation(), getAdditionalProposalInfo());
-        proposal.apply(document);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension#apply(org.eclipse.jface.text.IDocument,
-     *      char, int)
-     */
-    public void apply(IDocument document, char trigger, int offset) {
-        CompletionProposal proposal = new CompletionProposal(getReplacementString(), getReplacementOffset(), getReplacementLength(), getCursorPosition(), getImage(), getDisplayString(),
-                getContextInformation(), getAdditionalProposalInfo());
-        // we currently don't do anything special for which character
-        // selected the proposal, and where the cursor offset is
-        // but we might in the future...
-        proposal.apply(document);
-        // we want to ContextInformationPresenter.updatePresentation() here
-    }
-
-    public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-        IDocument document = viewer.getDocument();
-        // CMVC 252634 to compensate for "invisible" initial region
-        int caretOffset = viewer.getTextWidget().getCaretOffset();
-        if (viewer instanceof ITextViewerExtension5) {
-            ITextViewerExtension5 extension = (ITextViewerExtension5) viewer;
-            caretOffset = extension.widgetOffset2ModelOffset(caretOffset);
-        } else {
-            caretOffset = viewer.getTextWidget().getCaretOffset() + viewer.getVisibleRegion().getOffset();
-        }
-
-        if (caretOffset == getReplacementOffset()) {
-            apply(document);
-        } else {
-            // replace the text without affecting the caret Position as this
-            // causes the cursor to move on its own
-            try {
-                int endOffsetOfChanges = getReplacementString().length() + getReplacementOffset();
-                // Insert the portion of the new text that comes after the
-                // current caret position
-                if (endOffsetOfChanges >= caretOffset) {
-                    int postCaretReplacementLength = getReplacementOffset() + getReplacementLength() - caretOffset;
-                    int preCaretReplacementLength = getReplacementString().length() - (endOffsetOfChanges - caretOffset);
-                    if (postCaretReplacementLength < 0) {
-                        if (Debug.displayWarnings) {
-                            System.out.println("** postCaretReplacementLength was negative: " + postCaretReplacementLength); //$NON-NLS-1$
-                        }
-                        // This is just a quick fix while I figure out what
-                        // replacement length is supposed to be
-                        // in each case, otherwise we'll get negative
-                        // replacment length sometimes
-                        postCaretReplacementLength = 0;
-                    }
-                    document.replace(caretOffset, postCaretReplacementLength, getReplacementString().substring(preCaretReplacementLength));
-                }
-                // Insert the portion of the new text that comes before the
-                // current caret position
-                // Done second since offsets would change for the post text
-                // otherwise
-                // Outright insertions are handled here
-                if (caretOffset > getReplacementOffset()) {
-                    int preCaretTextLength = caretOffset - getReplacementOffset();
-                    document.replace(getReplacementOffset(), preCaretTextLength, getReplacementString().substring(0, preCaretTextLength));
-                }
-            } catch (BadLocationException x) {
-                apply(document);
-            } catch (StringIndexOutOfBoundsException e) {
-                apply(document);
-            }
-        }
-    }
-
-    public String getAdditionalProposalInfo() {
-        // return fProposal.getAdditionalProposalInfo();
-        return fAdditionalProposalInfo;
-    }
-
-    public IContextInformation getContextInformation() {
-        // return fProposal.getContextInformation();
-        return fContextInformation;
-    }
-
-    public void setContextInformation(IContextInformation contextInfo) {
-        fContextInformation = contextInfo;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension#getContextInformationPosition()
-     */
-    public int getContextInformationPosition() {
-        return getCursorPosition();
-    }
-
-    public int getCursorPosition() {
-        return fCursorPosition;
-    }
-
-    public void setCursorPosition(int pos) {
-        fCursorPosition = pos;
-    }
-
-    public String getDisplayString() {
-        // return fProposal.getDisplayString();
-        return fDisplayString;
-    }
-
-    public Image getImage() {
-        // return fProposal.getImage();
-        return fImage;
-    }
-
-    public int getRelevance() {
-        return fRelevance;
-    }
-
-    public int getReplacementLength() {
-        return fReplacementLength;
-    }
-
-    public int getReplacementOffset() {
-        return fReplacementOffset;
-    }
-
-    public String getReplacementString() {
-        return fReplacementString;
-    }
-
-    public Point getSelection(IDocument document) {
-        // return fProposal.getSelection(document);
-        CompletionProposal proposal = new CompletionProposal(getReplacementString(), getReplacementOffset(), getReplacementLength(), getCursorPosition(), getImage(), getDisplayString(),
-                getContextInformation(), getAdditionalProposalInfo());
-        return proposal.getSelection(document);
-    }
-
-    /**
-     * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension#getTriggerCharacters()
-     */
-
-    public char[] getTriggerCharacters() {
-        return fTriggers;
-    }
-
-    public void setTriggerCharacters(char[] triggers) {
-        fTriggers = triggers;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension#isValidFor(org.eclipse.jface.text.IDocument,
-     *      int)
-     */
-    public boolean isValidFor(IDocument document, int offset) {
-        return validate(document, offset, null);
-    }
-
-    /**
-     * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#selected(org.eclipse.jface.text.ITextViewer,
-     *      boolean)
-     */
-    public void selected(ITextViewer viewer, boolean smartToggle) {
-    }
-
-    // code is borrowed from JavaCompletionProposal
-    protected boolean startsWith(IDocument document, int offset, String word) {
-        int wordLength = word == null ? 0 : word.length();
-        if (offset > fReplacementOffset + wordLength)
-            return false;
-
-        try {
-            int length = offset - fReplacementOffset;
-            String start = document.get(fReplacementOffset, length);
-            return word.substring(0, length).equalsIgnoreCase(start);
-        } catch (BadLocationException x) {
-        }
-
-        return false;
-    }
-
-    /**
-     * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#unselected(org.eclipse.jface.text.ITextViewer)
-     */
-    public void unselected(ITextViewer viewer) {
-    }
-
-    /**
-     * borrowed from JavaCompletionProposal
-     * 
-     * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument,
-     *      int, org.eclipse.jface.text.DocumentEvent)
-     */
-    public boolean validate(IDocument document, int offset, DocumentEvent event) {
-        if (offset < fReplacementOffset)
-            return false;
-        boolean validated = startsWith(document, offset, fDisplayString);
-        // CMVC 269884
-        if (fUpdateLengthOnValidate) {
-            int newLength = offset - getReplacementOffset();
-            int delta = newLength - fOriginalReplacementLength;
-            fReplacementLength = delta + fOriginalReplacementLength;
-        }
-        return validated;
-    }
-    
-    /**
-     * @param replacementOffset The fReplacementOffset to set.
-     */
-    public void setReplacementOffset(int replacementOffset) {
-        fReplacementOffset = replacementOffset;
-    }
-    /**
-     * @param replacementString The fReplacementString to set.
-     */
-    public void setReplacementString(String replacementString) {
-        fReplacementString = replacementString;
-    }
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/IRelevanceConstants.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/IRelevanceConstants.java
deleted file mode 100644
index ba5a16e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/IRelevanceConstants.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.contentassist;
-
-public interface IRelevanceConstants {
-	int R_NONE = 0;
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/ContributedProcessorDescriptor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/ContributedProcessorDescriptor.java
deleted file mode 100644
index be6df0f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/ContributedProcessorDescriptor.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.correction;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-public class ContributedProcessorDescriptor {
-	private static final String CLASS = "class"; //$NON-NLS-1$
-
-	private IConfigurationElement fConfigurationElement;
-	private Object fProcessorInstance;
-
-	public ContributedProcessorDescriptor(IConfigurationElement element) {
-		fConfigurationElement = element;
-		fProcessorInstance = null;
-	}
-
-	public Object getProcessor() throws CoreException {
-		if (fProcessorInstance == null && fConfigurationElement != null) {
-			fProcessorInstance = fConfigurationElement.createExecutableExtension(CLASS);
-		}
-		return fProcessorInstance;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/IQuickAssistProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/IQuickAssistProcessor.java
deleted file mode 100644
index bbcad2e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/IQuickAssistProcessor.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.correction;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-
-
-public interface IQuickAssistProcessor {
-	/**
-	 * Returns true if the processor can assist at the given offset. This test
-	 * should be an optimistic guess and be extremly cheap.
-	 */
-	boolean canAssist(StructuredTextViewer viewer, int offset);
-
-	/**
-	 * Collects proposals for assistant at the given offset.
-	 */
-	ICompletionProposal[] getProposals(StructuredTextViewer viewer, int offset) throws CoreException;
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/IQuickFixProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/IQuickFixProcessor.java
deleted file mode 100644
index 77441ac..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/IQuickFixProcessor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.correction;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.source.Annotation;
-
-public interface IQuickFixProcessor {
-	/**
-	 * Returns true if the processor can fix the given problem. This test
-	 * should be an optimistic guess and be extremly cheap.
-	 */
-	boolean canFix(Annotation annnotation);
-
-	/**
-	 * Collects proposals for fixing the given problem.
-	 */
-	ICompletionProposal[] getProposals(Annotation annnotation) throws CoreException;
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/NoModificationCompletionProposal.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/NoModificationCompletionProposal.java
deleted file mode 100644
index 8989d94..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/NoModificationCompletionProposal.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.correction;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public class NoModificationCompletionProposal implements ICompletionProposal {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse.jface.text.IDocument)
-	 */
-	public void apply(IDocument document) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getContextInformation()
-	 */
-	public IContextInformation getContextInformation() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		return SSEUIPlugin.getResourceString("%NoModificationCompletionProposal.0"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection(org.eclipse.jface.text.IDocument)
-	 */
-	public Point getSelection(IDocument document) {
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/StructuredCorrectionProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/StructuredCorrectionProcessor.java
deleted file mode 100644
index e3734e3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/StructuredCorrectionProcessor.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.correction;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-
-
-public class StructuredCorrectionProcessor implements IContentAssistProcessor {
-	protected IAnnotationModel fAnnotationModel;
-	protected IQuickAssistProcessor fQuickAssistProcessor;
-	protected IQuickFixProcessor fQuickFixProcessor;
-
-	public StructuredCorrectionProcessor(ITextEditor editor) {
-		IEditorInput input = ((IEditorPart) editor).getEditorInput();
-		IAnnotationModel annotationModel = editor.getDocumentProvider().getAnnotationModel(input);
-
-		fAnnotationModel = annotationModel;
-	}
-
-	protected void addQuickAssistProposals(StructuredTextViewer viewer, ArrayList proposals, int documentOffset) {
-		try {
-			IQuickAssistProcessor processor = getQuickAssistProcessor();
-			if (processor != null && processor.canAssist(viewer, documentOffset)) {
-				ICompletionProposal[] res = processor.getProposals(viewer, documentOffset);
-				if (res != null) {
-					for (int k = 0; k < res.length; k++) {
-						proposals.add(res[k]);
-					}
-				}
-			}
-		} catch (Exception e) {
-			throw new SourceEditingRuntimeException();
-		}
-	}
-
-	protected void addQuickFixProposals(StructuredTextViewer viewer, ArrayList proposals, int documentOffset) {
-		Iterator iter = fAnnotationModel.getAnnotationIterator();
-		while (iter.hasNext()) {
-			Annotation annotation = (Annotation) iter.next();
-			Position pos = fAnnotationModel.getPosition(annotation);
-			if (pos != null && documentOffset >= pos.offset && documentOffset <= pos.offset + pos.length) {
-				IQuickFixProcessor processor = getQuickFixProcessor();
-				if (processor != null && processor.canFix(annotation)) {
-					try {
-						ICompletionProposal[] res = processor.getProposals(annotation);
-						if (res != null) {
-							for (int k = 0; k < res.length; k++) {
-								proposals.add(res[k]);
-							}
-						}
-					} catch (CoreException e) {
-						throw new SourceEditingRuntimeException();
-					}
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(org.eclipse.jface.text.ITextViewer,
-	 *      int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-		ArrayList proposals = new ArrayList();
-
-		if (viewer instanceof StructuredTextViewer) {
-			addQuickFixProposals((StructuredTextViewer) viewer, proposals, documentOffset);
-
-			if (proposals.isEmpty()) {
-				addQuickAssistProposals((StructuredTextViewer) viewer, proposals, documentOffset);
-			}
-		}
-
-		if (proposals.isEmpty())
-			proposals.add(new NoModificationCompletionProposal());
-
-		return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(org.eclipse.jface.text.ITextViewer,
-	 *      int)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationAutoActivationCharacters()
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationValidator()
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return null;
-	}
-
-	protected IQuickAssistProcessor getQuickAssistProcessor() {
-		return null;
-	}
-
-	protected IQuickFixProcessor getQuickFixProcessor() {
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/BreakpointRulerAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/BreakpointRulerAction.java
deleted file mode 100644
index 00b0d6d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/BreakpointRulerAction.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartService;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.IUpdate;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IBreakpointProvider;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.extension.BreakpointProviderBuilder;
-
-
-public abstract class BreakpointRulerAction extends Action implements IUpdate {
-
-	protected class MouseUpdater implements MouseListener {
-		public void mouseDoubleClick(MouseEvent e) {
-			// do nothing (here)
-		}
-
-		public void mouseDown(MouseEvent e) {
-			update();
-		}
-
-		public void mouseUp(MouseEvent e) {
-			// do nothing
-		}
-	}
-
-	public static final String getFileExtension(IEditorInput input) {
-		IPath path = null;
-		if (input instanceof IStorageEditorInput) {
-			try {
-				path = ((IStorageEditorInput) input).getStorage().getFullPath();
-			} catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-		if (path != null) {
-			return path.getFileExtension();
-		}
-		String name = input.getName();
-		int index = name.lastIndexOf('.');
-		if (index == -1)
-			return null;
-		if (index == (name.length() - 1))
-			return ""; //$NON-NLS-1$
-		return name.substring(index + 1);
-	}
-
-	public static final IResource getResource(IEditorInput input) {
-		IResource resource = null;
-
-		if (input instanceof IFileEditorInput)
-			resource = ((IFileEditorInput) input).getFile();
-		if (resource == null)
-			resource = (IResource) input.getAdapter(IFile.class);
-		if (resource == null)
-			resource = (IResource) input.getAdapter(IResource.class);
-
-		IEditorPart editorPart = null;
-		if (resource == null) {
-			IWorkbench workbench = SSEUIPlugin.getDefault().getWorkbench();
-			if (workbench != null) {
-				IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
-				if (window != null) {
-					IPartService service = window.getPartService();
-					if (service != null) {
-						Object part = service.getActivePart();
-						if (part != null && part instanceof IEditorPart) {
-							editorPart = (IEditorPart) part;
-							if (editorPart != null) {
-								IStructuredModel model = null;
-								ITextEditor textEditor = null;
-								try {
-									if (editorPart instanceof ITextEditor) {
-										textEditor = (ITextEditor) editorPart;
-									}
-									if (textEditor == null) {
-										textEditor = (ITextEditor) editorPart.getAdapter(ITextEditor.class);
-									}
-									if (textEditor != null) {
-										IDocument textDocument = textEditor.getDocumentProvider().getDocument(input);
-										model = StructuredModelManager.getModelManager().getExistingModelForRead(textDocument);
-										if (model != null) {
-											resource = BreakpointProviderBuilder.getInstance().getResource(input, model.getContentTypeIdentifier(), getFileExtension(input));
-										}
-									}
-									if (resource == null) {
-										IBreakpointProvider[] providers = BreakpointProviderBuilder.getInstance().getBreakpointProviders(editorPart, null, getFileExtension(input));
-										for (int i = 0; i < providers.length && resource == null; i++) {
-											resource = providers[i].getResource(input);
-										}
-									}
-								} catch (Exception e) {
-									Logger.logException(e);
-								} finally {
-									if (model != null) {
-										model.releaseFromRead();
-									}
-								}
-							}
-
-						}
-					}
-				}
-
-			}
-		}
-		return resource;
-	}
-
-	protected MouseListener fMouseListener = null;
-
-	protected IVerticalRulerInfo fRulerInfo = null;
-	protected ITextEditor fTextEditor = null;
-
-	public BreakpointRulerAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		super();
-		fTextEditor = editor;
-		if(rulerInfo != null) {
-			fRulerInfo = rulerInfo;
-			fMouseListener = new MouseUpdater();
-			rulerInfo.getControl().addMouseListener(fMouseListener);
-		}
-	}
-
-	/**
-	 * Returns the <code>AbstractMarkerAnnotationModel</code> of the
-	 * editor's input.
-	 * 
-	 * @return the marker annotation model
-	 */
-	protected AbstractMarkerAnnotationModel getAnnotationModel() {
-		IDocumentProvider provider = fTextEditor.getDocumentProvider();
-		IAnnotationModel model = provider.getAnnotationModel(fTextEditor.getEditorInput());
-		if (model instanceof AbstractMarkerAnnotationModel)
-			return (AbstractMarkerAnnotationModel) model;
-		return null;
-	}
-
-	protected IBreakpoint[] getBreakpoints(IMarker[] markers) {
-		IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-		List breakpoints = new ArrayList(markers.length);
-		for (int i = 0; i < markers.length; i++) {
-			IBreakpoint breakpoint = manager.getBreakpoint(markers[i]);
-			if (breakpoint != null) {
-				breakpoints.add(breakpoint);
-			}
-		}
-		return (IBreakpoint[]) breakpoints.toArray(new IBreakpoint[0]);
-	}
-
-	/**
-	 * Returns the <code>IDocument</code> of the editor's input.
-	 * 
-	 * @return the document of the editor's input
-	 */
-	protected IDocument getDocument() {
-		IDocumentProvider provider = fTextEditor.getDocumentProvider();
-		return provider.getDocument(fTextEditor.getEditorInput());
-	}
-
-	/**
-	 * Returns all markers which include the ruler's line of activity.
-	 * 
-	 * @return an array of markers which include the ruler's line of activity
-	 */
-	protected IMarker[] getMarkers() {
-		List markers = new ArrayList();
-
-		IResource resource = getResource();
-		IDocument document = getDocument();
-		AbstractMarkerAnnotationModel annotationModel = getAnnotationModel();
-
-		if (resource != null && annotationModel != null && resource.exists()) {
-			try {
-				IMarker[] allMarkers = resource.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_ZERO);
-				if (allMarkers != null) {
-					for (int i = 0; i < allMarkers.length; i++) {
-						if (includesRulerLine(annotationModel.getMarkerPosition(allMarkers[i]), document)) {
-							markers.add(allMarkers[i]);
-						}
-					}
-				}
-			} catch (CoreException x) {
-				//
-			}
-		}
-
-		return (IMarker[]) markers.toArray(new IMarker[0]);
-	}
-
-	protected IResource getResource() {
-		IEditorInput input = getTextEditor().getEditorInput();
-		IResource resource = getResource(input);
-		return resource;
-	}
-
-	/**
-	 * @return Returns the rulerInfo.
-	 */
-	public IVerticalRulerInfo getRulerInfo() {
-		return fRulerInfo;
-	}
-
-	/**
-	 * @return Returns the textEditor.
-	 */
-	public ITextEditor getTextEditor() {
-		return fTextEditor;
-	}
-
-	protected boolean hasMarkers() {
-		IResource resource = getResource();
-		IDocument document = getDocument();
-		AbstractMarkerAnnotationModel model = getAnnotationModel();
-
-		if (resource != null && model != null && resource.exists()) {
-			try {
-				IMarker[] allMarkers = resource.findMarkers(IBreakpoint.LINE_BREAKPOINT_MARKER, true, IResource.DEPTH_ZERO);
-				if (allMarkers != null) {
-					for (int i = 0; i < allMarkers.length; i++) {
-						if (includesRulerLine(model.getMarkerPosition(allMarkers[i]), document)) {
-							return true;
-						}
-					}
-				}
-			} catch (CoreException x) {
-				//
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Checks whether a position includes the ruler's line of activity.
-	 * 
-	 * @param position
-	 *            the position to be checked
-	 * @param document
-	 *            the document the position refers to
-	 * @return <code>true</code> if the line is included by the given
-	 *         position
-	 */
-	protected boolean includesRulerLine(Position position, IDocument document) {
-		if (position != null && fRulerInfo != null) {
-			try {
-				int markerLine = document.getLineOfOffset(position.getOffset());
-				int line = getRulerInfo().getLineOfLastMouseButtonActivity();
-				if (line == markerLine)
-					return true;
-				// commented because of "1GEUOZ9: ITPJUI:ALL - Confusing UI
-				// for
-				// multiline Bookmarks and Tasks"
-				// return (markerLine <= line && line <=
-				// document.getLineOfOffset(position.getOffset() +
-				// position.getLength()));
-			} catch (BadLocationException x) {
-				//
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/DebugTextEditor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/DebugTextEditor.java
deleted file mode 100644
index 44c8768..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/DebugTextEditor.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.debug;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-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.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPathEditorInput;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.editors.text.FileDocumentProvider;
-import org.eclipse.ui.editors.text.ILocationProvider;
-import org.eclipse.ui.editors.text.StorageDocumentProvider;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.texteditor.AbstractDocumentProvider;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.IElementStateListener;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.MarkerRulerAction;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModel;
-import org.eclipse.wst.sse.ui.edit.util.ActionDefinitionIds;
-import org.eclipse.wst.sse.ui.extension.ExtendedConfigurationBuilder;
-import org.eclipse.wst.sse.ui.extension.ExtendedEditorActionBuilder;
-import org.eclipse.wst.sse.ui.extension.IExtendedContributor;
-import org.eclipse.wst.sse.ui.extension.IPopupMenuContributor;
-import org.eclipse.wst.sse.ui.extensions.ConfigurationPointCalculator;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IExtendedStorageEditorInput;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.extension.BreakpointProviderBuilder;
-
-
-/**
- * @author nitin
- * 
- * A text editor capable of using the IBreakpointProvider framework.
- * 
- * This class is intended to be used by clients who wish to use the
- * IBreakpointProvider framework but not the StructuredTextEditor, e.g. VBS
- * source editors. It is provided AS-IS and marked internal as it is
- * unsupported and subject to change at any time.
- */
-public class DebugTextEditor extends TextEditor {
-
-	private class ShowInTargetLister implements IShowInTargetList {
-		public String[] getShowInTargetIds() {
-			return fShowInTargetIds;
-		}
-	}
-
-	/**
-	 * DocumentProvider for IStorageEditorInputs - supports
-	 * IExtendedStorageEditorInput notifications and assigning breakpoint
-	 * markers.
-	 */
-	class StorageInputDocumentProvider extends StorageDocumentProvider implements IElementStateListener {
-		protected IAnnotationModel createAnnotationModel(Object element) throws CoreException {
-			IAnnotationModel model = null;
-			IStorageEditorInput storageInput = (IStorageEditorInput) element;
-			String ext = BreakpointRulerAction.getFileExtension(storageInput);
-			IContentType[] types = getEditorInputContentTypes(storageInput);
-			IResource res = null;
-			for (int i = 0; res == null && i < types.length; i++) {
-				res = BreakpointProviderBuilder.getInstance().getResource(storageInput, types[i].getId(), ext);
-			}
-			String id = storageInput.getName();
-			if (storageInput.getStorage() != null)
-				id = storageInput.getStorage().getFullPath().toString();
-			if (res != null)
-				model = new StructuredResourceMarkerAnnotationModel(res, id);
-			else
-				model = new StructuredResourceMarkerAnnotationModel(ResourcesPlugin.getWorkspace().getRoot(), id);
-
-			return model;
-		}
-
-		protected AbstractDocumentProvider.ElementInfo createElementInfo(Object element) throws CoreException {
-			if (element instanceof IExtendedStorageEditorInput) {
-				((IExtendedStorageEditorInput) element).addElementStateListener(this);
-			}
-			return super.createElementInfo(element);
-		}
-
-		protected void disposeElementInfo(Object element, ElementInfo info) {
-			if (element instanceof IExtendedStorageEditorInput) {
-				((IExtendedStorageEditorInput) element).removeElementStateListener(this);
-			}
-			super.disposeElementInfo(element, info);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.editors.text.StorageDocumentProvider#doSaveDocument(org.eclipse.core.runtime.IProgressMonitor,
-		 *      java.lang.Object, org.eclipse.jface.text.IDocument, boolean)
-		 */
-		protected void doSaveDocument(IProgressMonitor monitor, Object element, IDocument document, boolean overwrite) throws CoreException {
-			// untested
-			new FileDocumentProvider().saveDocument(monitor, element, document, overwrite);
-		}
-
-		public void elementContentAboutToBeReplaced(Object element) {
-			fireElementContentAboutToBeReplaced(element);
-		}
-
-		public void elementContentReplaced(Object element) {
-			fireElementContentReplaced(element);
-		}
-
-		public void elementDeleted(Object element) {
-			fireElementDeleted(element);
-		}
-
-		public void elementDirtyStateChanged(Object element, boolean isDirty) {
-			fireElementDirtyStateChanged(element, isDirty);
-		}
-
-		public void elementMoved(Object originalElement, Object movedElement) {
-			fireElementMoved(originalElement, movedElement);
-		}
-	}
-
-	String[] fShowInTargetIds = new String[]{IPageLayout.ID_RES_NAV};
-	private IShowInTargetList fShowInTargetListAdapter = new ShowInTargetLister();
-
-	IDocumentProvider fStorageInputDocumentProvider = null;
-
-	public DebugTextEditor() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.editors.text.TextEditor#createActions()
-	 */
-	protected void createActions() {
-		super.createActions();
-
-		// StructuredTextEditor Action - toggle breakpoints
-		IAction action = new ToggleBreakpointAction(this, getVerticalRuler()) {
-			protected String getContentType(IDocument document) {
-				ILocationProvider provider = (ILocationProvider) getEditorInput().getAdapter(ILocationProvider.class);
-				if (provider != null) {
-					IPath location = provider.getPath(getEditorInput());
-					return detectContentType(location).getId();
-				} else if (getEditorInput() instanceof IPathEditorInput) {
-					IPath location = ((IPathEditorInput) getEditorInput()).getPath();
-					return detectContentType(location).getId();
-				}
-				return IContentTypeManager.CT_TEXT;
-			}
-		};
-		setAction(ActionDefinitionIds.TOGGLE_BREAKPOINTS, action);
-		// StructuredTextEditor Action - manage breakpoints
-		action = new ManageBreakpointAction(this, getVerticalRuler());
-		setAction(ActionDefinitionIds.MANAGE_BREAKPOINTS, action);
-		// StructuredTextEditor Action - edit breakpoints
-		action = new EditBreakpointAction(this, getVerticalRuler());
-		setAction(ActionDefinitionIds.EDIT_BREAKPOINTS, action);
-	}
-
-	/**
-	 * Loads the Show In Target IDs from the Extended Configuration extension
-	 * point.
-	 * 
-	 * @return
-	 */
-	protected String[] createShowInTargetIds() {
-		List allIds = new ArrayList(0);
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] configurationIds = getConfigurationPoints();
-		for (int i = 0; i < configurationIds.length; i++) {
-			String[] definitions = builder.getDefinitions("showintarget", configurationIds[i]); //$NON-NLS-1$
-			for (int j = 0; j < definitions.length; j++) {
-				String someIds = definitions[j];
-				if (someIds != null && someIds.length() > 0) {
-					String[] ids = StringUtils.unpack(someIds);
-					for (int k = 0; k < ids.length; k++) {
-						// trim, just to keep things clean
-						String id = ids[k].trim();
-						if (!allIds.contains(id)) {
-							allIds.add(id);
-						}
-					}
-				}
-			}
-		}
-
-		if (!allIds.contains(IPageLayout.ID_RES_NAV)) {
-			allIds.add(IPageLayout.ID_RES_NAV);
-		}
-		return (String[]) allIds.toArray(new String[0]);
-	}
-
-	IContentType detectContentType(IPath location) {
-		IContentType type = null;
-
-		IResource resource = FileBuffers.getWorkspaceFileAtLocation(location);
-		if (resource != null) {
-			if (resource.getType() == IResource.FILE && resource.isAccessible()) {
-				IContentDescription d = null;
-				try {
-					// Optimized description lookup, might not succeed
-					d = ((IFile) resource).getContentDescription();
-					if (d != null) {
-						type = d.getContentType();
-					}
-				} catch (CoreException e) {
-					// Should not be possible given the accessible and file
-					// type check above
-				}
-				if (type == null) {
-					type = Platform.getContentTypeManager().findContentTypeFor(resource.getName());
-				}
-			}
-		} else {
-			File file = FileBuffers.getSystemFileAtLocation(location);
-			if (file != null) {
-				InputStream input = null;
-				try {
-					input = new FileInputStream(file);
-					type = Platform.getContentTypeManager().findContentTypeFor(input, location.toOSString());
-				} catch (FileNotFoundException e) {
-				} catch (IOException e) {
-				} finally {
-					if (input != null) {
-						try {
-							input.close();
-						} catch (IOException e1) {
-						}
-					}
-				}
-				if (type == null) {
-					type = Platform.getContentTypeManager().findContentTypeFor(file.getName());
-				}
-			}
-		}
-		if (type == null) {
-			type = Platform.getContentTypeManager().getContentType(IContentTypeManager.CT_TEXT);
-		}
-		return type;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#editorContextMenuAboutToShow(org.eclipse.jface.action.IMenuManager)
-	 */
-	protected void editorContextMenuAboutToShow(IMenuManager menu) {
-		super.editorContextMenuAboutToShow(menu);
-
-		IEditorActionBarContributor c = getEditorSite().getActionBarContributor();
-		if (c instanceof IPopupMenuContributor) {
-			((IPopupMenuContributor) c).contributeToPopupMenu(menu);
-		} else {
-			ExtendedEditorActionBuilder builder = new ExtendedEditorActionBuilder();
-			IExtendedContributor pmc = builder.readActionExtensions(getConfigurationPoints());
-			if (pmc != null) {
-				pmc.setActiveEditor(this);
-				pmc.contributeToPopupMenu(menu);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class required) {
-		// Navigate action set menu
-		if (IShowInTargetList.class.equals(required))
-			return fShowInTargetListAdapter;
-		return super.getAdapter(required);
-	}
-
-
-	protected String[] getConfigurationPoints() {
-		return ConfigurationPointCalculator.getConfigurationPoints(this, getInputContentType(getEditorInput()), ConfigurationPointCalculator.SOURCE, DebugTextEditor.class);
-	}
-
-	IContentType[] getEditorInputContentTypes(IEditorInput input) {
-		IContentType[] types = null;
-		IResource resource = null;
-
-		if (input.getAdapter(IFile.class) != null) {
-			resource = (IFile) input.getAdapter(IFile.class);
-		} else if (input.getAdapter(IFile.class) != null) {
-			resource = (IResource) input.getAdapter(IResource.class);
-		}
-		if (resource.getType() == IResource.FILE && resource.isAccessible()) {
-			IContentDescription d = null;
-			try {
-				// optimized description lookup, might not succeed
-				d = ((IFile) resource).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(input.getName());
-		}
-		return types;
-	}
-
-	/**
-	 * @param editorInput
-	 * @return
-	 */
-	private String getInputContentType(IEditorInput editorInput) {
-		IContentType[] types = getEditorInputContentTypes(editorInput);
-		if (types != null) {
-			return types[0].getId();
-		}
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return
-	 */
-	private boolean isDebuggingAvailable() {
-		boolean debuggingAvailable = false;
-		IContentType[] types = getEditorInputContentTypes(getEditorInput());
-		for (int i = 0; !debuggingAvailable && i < types.length; i++) {
-			debuggingAvailable = debuggingAvailable || BreakpointProviderBuilder.getInstance().isAvailable(types[i].getId(), BreakpointRulerAction.getFileExtension(getEditorInput()));
-		}
-		return debuggingAvailable;
-	}
-
-	protected void rulerContextMenuAboutToShow(IMenuManager menu) {
-		if (isDebuggingAvailable()) {
-			menu.add(getAction(ActionDefinitionIds.TOGGLE_BREAKPOINTS));
-			menu.add(getAction(ActionDefinitionIds.MANAGE_BREAKPOINTS));
-			menu.add(getAction(ActionDefinitionIds.EDIT_BREAKPOINTS));
-			menu.add(new Separator());
-		} else {
-			Logger.log(Logger.INFO, getClass().getName() + " could not enable debugging actions");
-		}
-		super.rulerContextMenuAboutToShow(menu);
-	}
-
-	/**
-	 * Ensure that the correct IDocumentProvider is used. For IFile and Files,
-	 * the default provider with a specified AnnotationModelFactory is used.
-	 * For StorageEditorInputs, use a custom provider that creates a usable
-	 * ResourceAnnotationModel
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#setDocumentProvider(org.eclipse.ui.IEditorInput)
-	 */
-	protected void setDocumentProvider(IEditorInput input) {
-		if (input instanceof IStorageEditorInput && !(input instanceof IFileEditorInput)) {
-			if (fStorageInputDocumentProvider == null) {
-				fStorageInputDocumentProvider = new StorageInputDocumentProvider();
-			}
-			setDocumentProvider(fStorageInputDocumentProvider);
-		} else {
-			super.setDocumentProvider(input);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#updateContentDependentActions()
-	 */
-	protected void updateContentDependentActions() {
-		super.updateContentDependentActions();
-		if (isDebuggingAvailable()) {
-			setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, getAction(ActionDefinitionIds.TOGGLE_BREAKPOINTS));
-		}
-		else {
-			// The Default Text Editor uses editorContribution to perform this
-			// mapping, but since it relies on the IEditorSite ID, it can't be
-			// relied on for MultiPageEditorParts. Instead, force the action
-			// registration manually.
-			setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, new MarkerRulerAction(SSEUIPlugin.getDefault().getResourceBundle(), "Editor.ManageBookmarks.", this, getVerticalRuler(), IMarker.BOOKMARK, true));
-		}
-		fShowInTargetIds = createShowInTargetIds();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/EditBreakpointAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/EditBreakpointAction.java
deleted file mode 100644
index 0a80c63..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/EditBreakpointAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.debug;
-
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public class EditBreakpointAction extends BreakpointRulerAction {
-	protected IBreakpoint[] breakpoints = null;
-
-	/**
-	 * @param editor
-	 * @param rulerInfo
-	 */
-	public EditBreakpointAction(ITextEditor editor, IVerticalRuler rulerInfo) {
-		super(editor, rulerInfo);
-		setText(SSEUIPlugin.getResourceString("%EditBreakpointAction.0")); //$NON-NLS-1$
-	}
-
-	public void run() {
-		PropertyDialogAction action = new PropertyDialogAction(getTextEditor().getEditorSite().getShell(), new ISelectionProvider() {
-			public void addSelectionChangedListener(ISelectionChangedListener listener) {
-				// do nothing
-			}
-
-			public ISelection getSelection() {
-				return new StructuredSelection(breakpoints);
-			}
-
-			public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-				// do nothing
-			}
-
-			public void setSelection(ISelection selection) {
-				// do nothing
-			}
-		});
-		action.run();
-	}
-
-	public void update() {
-		boolean enableThisAction = hasMarkers();
-		setEnabled(enableThisAction);
-		breakpoints = getBreakpoints(getMarkers());
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ManageBreakpointAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ManageBreakpointAction.java
deleted file mode 100644
index f3b9283..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ManageBreakpointAction.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.debug;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * ManageBreakpointAction - Enables and Disables
- */
-public class ManageBreakpointAction extends BreakpointRulerAction {
-
-	protected IBreakpoint[] breakpoints = null;
-	private boolean doEnable = true;
-
-	/**
-	 * @param editor
-	 * @param rulerInfo
-	 */
-	public ManageBreakpointAction(ITextEditor editor, IVerticalRuler rulerInfo) {
-		super(editor, rulerInfo);
-		setEnabled(true);
-	}
-
-	/**
-	 *  
-	 */
-	protected void disableBreakpoints(IBreakpoint[] breakpoints) {
-		for (int i = 0; i < breakpoints.length; i++) {
-			try {
-				breakpoints[i].setEnabled(false);
-			} catch (CoreException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-	}
-
-	protected void enableBreakpoints(IBreakpoint[] breakpoints) {
-		for (int i = 0; i < breakpoints.length; i++) {
-			try {
-				breakpoints[i].setEnabled(true);
-			} catch (CoreException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-	}
-
-	public void run() {
-		if (doEnable)
-			enableBreakpoints(breakpoints);
-		else
-			disableBreakpoints(breakpoints);
-	}
-
-	public void update() {
-		// doEnable means "enable" instead of "disable"
-		doEnable = true;
-		breakpoints = getBreakpoints(getMarkers());
-		for (int i = 0; doEnable && i < breakpoints.length; i++) {
-			IBreakpoint breakpoint = breakpoints[i];
-			try {
-				if (breakpoint.isEnabled()) {
-					doEnable = false;
-				}
-			} catch (CoreException e) {
-				Logger.logException("breakpoint not responding to isEnabled: " + breakpoint, e); //$NON-NLS-1$
-			}
-		}
-		setEnabled(breakpoints != null && breakpoints.length > 0);
-		if (doEnable)
-			setText(SSEUIPlugin.getResourceString("%ManageBreakpointAction.0")); //$NON-NLS-1$
-		else
-			setText(SSEUIPlugin.getResourceString("%ManageBreakpointAction.1")); //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java
deleted file mode 100644
index f8765c4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.ui.extension.IExtendedMarkupEditor;
-import org.eclipse.wst.sse.ui.extension.IExtendedSimpleEditor;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IBreakpointProvider;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.extension.BreakpointProviderBuilder;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * ToggleBreakpointAction
- */
-public class ToggleBreakpointAction extends BreakpointRulerAction {
-	/**
-	 * @param editor
-	 * @param rulerInfo
-	 */
-	public ToggleBreakpointAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		super(editor, rulerInfo);
-		setText(SSEUIPlugin.getResourceString("%ToggleBreakpointAction.0")); //$NON-NLS-1$
-	}
-
-	protected boolean createBreakpoints(int lineNumber) {
-		// Note: we'll always allow processing to continue, even
-		// for a "read only" IStorageEditorInput, for the ActiveScript
-		// debugger. But this means sometimes the ActiveScript provider
-		// might get an input from CVS or something that is not related
-		// to debugging.
-
-		ITextEditor editor = getTextEditor();
-		IEditorInput input = editor.getEditorInput();
-		IDocument document = editor.getDocumentProvider().getDocument(input);
-		if (document == null)
-			return false;
-
-		String contentType = getContentType(document);
-		IBreakpointProvider[] providers = BreakpointProviderBuilder.getInstance().getBreakpointProviders(editor, contentType, getFileExtension(input));
-
-		Document doc = null;
-		Node node = null;
-		if (editor instanceof IExtendedMarkupEditor) {
-			doc = ((IExtendedMarkupEditor) editor).getDOMDocument();
-			node = ((IExtendedMarkupEditor) editor).getCaretNode();
-		}
-
-		int pos = -1;
-		if (editor instanceof IExtendedSimpleEditor) {
-			pos = ((IExtendedSimpleEditor) editor).getCaretPosition();
-		}
-
-		final int n = providers.length;
-		List errors = new ArrayList(0);
-		for (int i = 0; i < n; i++) {
-			try {
-				if (Debug.debugBreakpoints)
-					System.out.println(providers[i].getClass().getName() + " adding breakpoint to line " + lineNumber); //$NON-NLS-1$
-				IStatus status = providers[i].addBreakpoint(doc, document, input, node, lineNumber, pos);
-				if (status != null && !status.isOK()) {
-					errors.add(status);
-				}
-			} catch (CoreException e) {
-				errors.add(e.getStatus());
-			} catch (Exception t) {
-				Logger.logException("exception while adding breakpoint", t); //$NON-NLS-1$
-			}
-		}
-
-		if (errors.size() > 0) {
-			Shell shell = editor.getSite().getShell();
-			MultiStatus allStatus = new MultiStatus(SSEUIPlugin.ID, IStatus.INFO, (IStatus[]) errors.toArray(new IStatus[0]), SSEUIPlugin.getResourceString("%ManageBreakpoints.error.adding.message1"), null); //$NON-NLS-1$
-			// show for conditions more severe than INFO or when no
-			// breakpoints were created
-			if (allStatus.getSeverity() > IStatus.INFO || getBreakpoints(getMarkers()).length < 1) {
-				ErrorDialog.openError(shell, SSEUIPlugin.getResourceString("%ManageBreakpoints.error.adding.title1"), SSEUIPlugin.getResourceString("%ManageBreakpoints.error.adding.message1"), allStatus); //$NON-NLS-1$ //$NON-NLS-2$
-				return false;
-			}
-		}
-		return true;
-	}
-
-	protected String getContentType(IDocument document) {
-		IModelManager mgr = StructuredModelManager.getModelManager();
-		String contentType = null;
-		IStructuredModel model = null;
-		try {
-			model = mgr.getExistingModelForRead(document);
-			if (model != null) {
-				contentType = model.getContentTypeIdentifier();
-			}
-		} finally {
-			if (model != null) {
-				model.releaseFromRead();
-			}
-		}
-		return contentType;
-	}
-
-	protected void removeBreakpoints(int lineNumber) {
-		IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-		IBreakpoint[] breakpoints = getBreakpoints(getMarkers());
-		for (int i = 0; i < breakpoints.length; i++) {
-			try {
-				breakpoints[i].getMarker().delete();
-				breakpointManager.removeBreakpoint(breakpoints[i], true);
-			} catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-	public void run() {
-		int lineNumber = fRulerInfo.getLineOfLastMouseButtonActivity() + 1;
-		boolean doAdd = !hasMarkers();
-		if (doAdd)
-			createBreakpoints(lineNumber);
-		else
-			removeBreakpoints(lineNumber);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		ITextEditor editor = getTextEditor();
-		IEditorInput input = editor.getEditorInput();
-		IDocument document = editor.getDocumentProvider().getDocument(input);
-		if (document != null) {
-			String contentType = getContentType(document);
-			setEnabled(BreakpointProviderBuilder.getInstance().isAvailable(contentType, getFileExtension(input)));
-		} else {
-			setEnabled(false);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointsTarget.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointsTarget.java
deleted file mode 100644
index cae4d92..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointsTarget.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.sse.ui.internal.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * @author nsd
- */
-public class ToggleBreakpointsTarget implements IToggleBreakpointsTarget {
-	static final IToggleBreakpointsTarget instance = new ToggleBreakpointsTarget();
-
-	public static IToggleBreakpointsTarget getInstance() {
-		return instance;
-	}
-
-	/**
-	 * 
-	 */
-	private ToggleBreakpointsTarget() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#canToggleLineBreakpoints(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public boolean canToggleLineBreakpoints(IWorkbenchPart part, ISelection selection) {
-		ITextEditor editor = (ITextEditor) part.getAdapter(ITextEditor.class);
-		if (selection instanceof ITextSelection) {
-			ITextSelection textSelection = (ITextSelection) selection;
-			IDocument document = editor.getDocumentProvider().getDocument(editor.getEditorInput());
-			int lineNumber = -1;
-			try {
-				lineNumber = document.getLineOfOffset(textSelection.getOffset());
-			}
-			catch (BadLocationException e) {
-			}
-			if (lineNumber >= 0) {
-				ToggleBreakpointAction toggler = new ToggleBreakpointAction(editor, null);
-				toggler.update();
-				return toggler.isEnabled();
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#canToggleMethodBreakpoints(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#canToggleWatchpoints(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection) {
-		return false;
-	}
-
-	private IBreakpoint[] getBreakpoints(IResource resource, IDocument document, AbstractMarkerAnnotationModel model, int lineNumber) {
-		List markers = new ArrayList();
-		if (resource != null && model != null && resource.exists()) {
-			try {
-				IMarker[] allMarkers = resource.findMarkers(IBreakpoint.LINE_BREAKPOINT_MARKER, true, IResource.DEPTH_ZERO);
-				if (allMarkers != null) {
-					for (int i = 0; i < allMarkers.length; i++) {
-						Position p = model.getMarkerPosition(allMarkers[i]);
-						int markerLine = -1;
-						try {
-							markerLine = document.getLineOfOffset(p.getOffset());
-						}
-						catch (BadLocationException e1) {
-						}
-						if (markerLine == lineNumber) {
-							markers.add(allMarkers[i]);
-						}
-					}
-				}
-			}
-			catch (CoreException x) {
-			}
-		}
-		IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-		List breakpoints = new ArrayList(markers.size());
-		for (int i = 0; i < markers.size(); i++) {
-			IBreakpoint breakpoint = manager.getBreakpoint((IMarker) markers.get(i));
-			if (breakpoint != null) {
-				breakpoints.add(breakpoint);
-			}
-		}
-		return (IBreakpoint[]) breakpoints.toArray(new IBreakpoint[0]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#toggleLineBreakpoints(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-		ITextEditor editor = (ITextEditor) part.getAdapter(ITextEditor.class);
-		if (selection instanceof ITextSelection) {
-			ITextSelection textSelection = (ITextSelection) selection;
-			IDocument document = editor.getDocumentProvider().getDocument(editor.getEditorInput());
-			int lineNumber = -1;
-			try {
-				lineNumber = document.getLineOfOffset(textSelection.getOffset());
-			}
-			catch (BadLocationException e) {
-			}
-			if (lineNumber >= 0) {
-				ToggleBreakpointAction toggler = new ToggleBreakpointAction(editor, null);
-				toggler.update();
-				if (toggler.isEnabled()) {
-					IResource resource = toggler.getResource();
-					AbstractMarkerAnnotationModel model = toggler.getAnnotationModel();
-					IBreakpoint[] breakpoints = getBreakpoints(resource, document, model, lineNumber);
-					if (breakpoints.length > 0) {
-						IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-						for (int i = 0; i < breakpoints.length; i++) {
-							breakpoints[i].getMarker().delete();
-							breakpointManager.removeBreakpoint(breakpoints[i], true);
-						}
-					}
-					else {
-						toggler.createBreakpoints(lineNumber + 1);
-					}
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#toggleMethodBreakpoints(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#toggleWatchpoints(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorExecutionContext.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorExecutionContext.java
deleted file mode 100644
index f28244a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorExecutionContext.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.sse.core.document.IExecutionDelegate;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-
-public class EditorExecutionContext implements IExecutionDelegate {
-
-
-	StructuredTextEditor fEditor;
-
-	public EditorExecutionContext(StructuredTextEditor editor) {
-		super();
-		fEditor = editor;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.internal.document.IExecutionDelegate#execute(java.lang.Runnable)
-	 */
-	public void execute(final Runnable runnable) {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		final Display display = workbench.getDisplay();
-		if (display.getThread() == Thread.currentThread()) {
-			// if already in display thread, we can simply run, "as usual"
-			runnable.run();
-		} else {
-			// this is the part that's really new, that
-			// accomidate's a change in a document
-			// from background thread, by forcing it on
-			// the display thread.
-			final StructuredTextEditor editor = fEditor;
-			// if not in display thread, we "force" to run on display thread.
-			// see editors begin/end background job for other
-			// activities to best accomidate (for example, there
-			// is a "timed delay" before the editor itself leaves
-			// background-update mode).
-			// NOTE: this execute method itself is always called from
-			// inside of an ILock block, so another
-			// block is not not needed here for all these sycnExec's
-			display.syncExec(new Runnable() {
-				public void run() {
-					if (display != null && !display.isDisposed()) {
-						editor.beginBackgroundOperation();
-						try {
-							// here's where the document update/modification
-							// occurs
-							runnable.run();
-
-							// for future, possibly explore solutions such as
-							// this
-							//							IWorkbenchSiteProgressService jobService =
-							// (IWorkbenchSiteProgressService)
-							// editor.getEditorPart().getSite().getAdapter(IWorkbenchSiteProgressService.class);
-							//							jobService.runInUI(xxxxx)
-						} finally {
-							// this 'end' is just a signal to editor that this
-							// particular update is done. Its up to the editor
-							// to decide exactly when to leave its "background
-							// mode"
-							editor.endBackgroundOperation();
-						}
-					}
-				}
-			});
-		}
-	}
-}
-
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorModelUtil.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorModelUtil.java
deleted file mode 100644
index fb435fd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorModelUtil.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistryExtension;
-import org.eclipse.wst.sse.ui.util.Assert;
-
-
-/**
- * INTERNAL USAGE ONLY
- * 
- * @author nsd
- */
-public class EditorModelUtil {
-
-	public static void addFactoriesTo(final IStructuredModel structuredModel) {
-		AdapterFactoryRegistry adapterRegistry = SSEUIPlugin.getDefault().getAdapterFactoryRegistry();
-		String contentTypeId = structuredModel.getContentTypeIdentifier();
-
-		Iterator adapterFactoryProviders = null;
-		if (adapterRegistry instanceof AdapterFactoryRegistryExtension) {
-			adapterFactoryProviders = ((AdapterFactoryRegistryExtension) adapterRegistry).getAdapterFactories(contentTypeId);
-		}
-		else {
-			adapterFactoryProviders = adapterRegistry.getAdapterFactories();
-		}
-
-		IFactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
-		Assert.isNotNull(factoryRegistry, "model in invalid state");
-		// Add all those appropriate for this particular type of content
-		while (adapterFactoryProviders.hasNext()) {
-			try {
-				final AdapterFactoryProvider provider = (AdapterFactoryProvider) adapterFactoryProviders.next();
-				/*
-				 * ContentType might have already been checked above, this
-				 * check is here for backwards compatability for those that
-				 * don't specify a content type
-				 */
-				if (provider.isFor(structuredModel.getModelHandler())) {
-					Platform.run(new SafeRunnable("There was a problem adding adapter factories") {
-						public void run() {
-							provider.addAdapterFactories(structuredModel);
-						}
-					});
-				}
-			}
-			catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorPluginImageHelper.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorPluginImageHelper.java
deleted file mode 100644
index f78633f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorPluginImageHelper.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-
-/**
- * Helper class to handle images provided by this plug-in.
- * 
- * NOTE: For internal use only. For images used externally, please use the
- * Shared***ImageHelper class instead.
- * 
- * @author amywu
- */
-public class EditorPluginImageHelper {
-	private static EditorPluginImageHelper instance = null;
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a EditorPluginImageHelper
-	 */
-	public synchronized static EditorPluginImageHelper getInstance() {
-		if (instance == null)
-			instance = new EditorPluginImageHelper();
-		return instance;
-	}
-
-	//	 save a descriptor for each image
-	private HashMap fImageDescRegistry = null;
-	private final String PLUGINID = SSEUIPlugin.ID;
-
-	/**
-	 * Creates an image from the given resource and adds the image to the
-	 * image registry.
-	 * 
-	 * @param resource
-	 * @return Image
-	 */
-	private Image createImage(String resource) {
-		ImageDescriptor desc = getImageDescriptor(resource);
-		Image image = null;
-
-		if (desc != null) {
-			image = desc.createImage();
-			// dont add the missing image descriptor image to the image
-			// registry
-			if (!desc.equals(ImageDescriptor.getMissingImageDescriptor()))
-				getImageRegistry().put(resource, image);
-		}
-		return image;
-	}
-
-	/**
-	 * Creates an image descriptor from the given imageFilePath and adds the
-	 * image descriptor to the image descriptor registry. If an image
-	 * descriptor could not be created, the default "missing" image descriptor
-	 * is returned but not added to the image descriptor registry.
-	 * 
-	 * @param imageFilePath
-	 * @return ImageDescriptor image descriptor for imageFilePath or default
-	 *         "missing" image descriptor if resource could not be found
-	 */
-	private ImageDescriptor createImageDescriptor(String imageFilePath) {
-		ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGINID, imageFilePath);
-		if (imageDescriptor != null) {
-			getImageDescriptorRegistry().put(imageFilePath, imageDescriptor);
-		} else {
-			imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-		}
-
-		return imageDescriptor;
-	}
-
-	/**
-	 * Retrieves the image associated with resource from the image registry.
-	 * If the image cannot be retrieved, attempt to find and load the image at
-	 * the location specified in resource.
-	 * 
-	 * @param resource
-	 *            the image to retrieve
-	 * @return Image the image associated with resource or null if one could
-	 *         not be found
-	 */
-	public Image getImage(String resource) {
-		Image image = getImageRegistry().get(resource);
-		if (image == null) {
-			// create an image
-			image = createImage(resource);
-		}
-		return image;
-	}
-
-	/**
-	 * Retrieves the image descriptor associated with resource from the image
-	 * descriptor registry. If the image descriptor cannot be retrieved,
-	 * attempt to find and load the image descriptor at the location specified
-	 * in resource.
-	 * 
-	 * @param resource
-	 *            the image descriptor to retrieve
-	 * @return ImageDescriptor the image descriptor assocated with resource or
-	 *         the default "missing" image descriptor if one could not be
-	 *         found
-	 */
-	public ImageDescriptor getImageDescriptor(String resource) {
-		ImageDescriptor imageDescriptor = null;
-		Object o = getImageDescriptorRegistry().get(resource);
-		if (o == null) {
-			//create a descriptor
-			imageDescriptor = createImageDescriptor(resource);
-		} else {
-			imageDescriptor = (ImageDescriptor) o;
-		}
-		return imageDescriptor;
-	}
-
-	/**
-	 * Returns the image descriptor registry for this plugin.
-	 * 
-	 * @return HashMap - image descriptor registry for this plugin
-	 */
-	private HashMap getImageDescriptorRegistry() {
-		if (fImageDescRegistry == null)
-			fImageDescRegistry = new HashMap();
-		return fImageDescRegistry;
-	}
-
-	/**
-	 * Returns the image registry for this plugin.
-	 * 
-	 * @return ImageRegistry - image registry for this plugin
-	 */
-	private ImageRegistry getImageRegistry() {
-		return JFaceResources.getImageRegistry();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorPluginImages.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorPluginImages.java
deleted file mode 100644
index 7b38844..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorPluginImages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-/**
- * Bundle of most images used by the Source Editor plug-in.
- */
-public class EditorPluginImages {
-
-	public static final String IMG_CTOOL16_SPELLCHECK = "icons/full/ctool16/spellcheck.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_COLLAPSEALL = "icons/full/dlcl16/collapseall.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_DELETE = "icons/full/dlcl16/delete.gif"; //$NON-NLS-1$
-	public static final String IMG_DLCL_SYNCED = "icons/full/dlcl16/synced.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL16_SPELLCHECK = "icons/full/dtool16/spellcheck.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_COLLAPSEALL = "icons/full/elcl16/collapseall.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_DELETE = "icons/full/elcl16/delete.gif"; //$NON-NLS-1$
-	public static final String IMG_ELCL_SYNCED = "icons/full/elcl16/synced.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL16_SPELLCHECK = "icons/full/etool16/spellcheck.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_OCC_MATCH = "icons/full/obj16/occ_match.gif"; //$NON-NLS-1$
-
-	public static final String IMG_OBJ_PREFERENCES = "icons/full/obj16/preferences.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_PROP_PS = "icons/full/obj16/prop_ps.gif"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/HTML2TextReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/HTML2TextReader.java
deleted file mode 100644
index a35f11c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/HTML2TextReader.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-
-
-import java.io.IOException;
-import java.io.PushbackReader;
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-
-/**
- * Copied from org.eclipse.jdt.internal.ui.text.HTML2TextReader
- * Modifications were made to add br/ tag
- */
-/**
- * Reads the text contents from a reader of HTML contents and translates the
- * tags or cut them out.
- */
-public class HTML2TextReader extends SubstitutionTextReader {
-
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	private static final Map fgEntityLookup;
-	private static final Set fgTags;
-
-	static {
-
-		fgTags = new HashSet();
-		fgTags.add("b"); //$NON-NLS-1$
-		fgTags.add("br"); //$NON-NLS-1$
-		fgTags.add("br/");//$NON-NLS-1$
-		fgTags.add("h5"); //$NON-NLS-1$
-		fgTags.add("p"); //$NON-NLS-1$
-		fgTags.add("dl"); //$NON-NLS-1$
-		fgTags.add("dt"); //$NON-NLS-1$
-		fgTags.add("dd"); //$NON-NLS-1$
-		fgTags.add("li"); //$NON-NLS-1$
-		fgTags.add("ul"); //$NON-NLS-1$
-		fgTags.add("pre"); //$NON-NLS-1$
-
-		fgEntityLookup = new HashMap(7);
-		fgEntityLookup.put("lt", "<"); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("gt", ">"); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("nbsp", " "); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("amp", "&"); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("circ", "^"); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("tilde", "~"); //$NON-NLS-2$ //$NON-NLS-1$
-		fgEntityLookup.put("quot", "\""); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	private int fBold = 0;
-
-	private int fCounter = 0;
-	private boolean fInParagraph = false;
-	private boolean fIsPreformattedText = false;
-	private int fStartOffset = -1;
-	private TextPresentation fTextPresentation;
-
-	/**
-	 * Transforms the html text from the reader to formatted text.
-	 * 
-	 * @param presentation
-	 *            If not <code>null</code>, formattings will be applied to
-	 *            the presentation.
-	 */
-	public HTML2TextReader(Reader reader, TextPresentation presentation) {
-		super(new PushbackReader(reader));
-		fTextPresentation = presentation;
-	}
-
-	/**
-	 * @see SubstitutionTextReader#computeSubstitution(char)
-	 */
-	protected String computeSubstitution(int c) throws IOException {
-
-		if (c == '<')
-			return processHTMLTag();
-		else if (c == '&')
-			return processEntity();
-		else if (fIsPreformattedText)
-			return processPreformattedText(c);
-
-		return null;
-	}
-
-	protected String entity2Text(String symbol) {
-		if (symbol.length() > 1 && symbol.charAt(0) == '#') {
-			int ch;
-			try {
-				if (symbol.charAt(1) == 'x') {
-					ch = Integer.parseInt(symbol.substring(2), 16);
-				} else {
-					ch = Integer.parseInt(symbol.substring(1), 10);
-				}
-				return EMPTY_STRING + (char) ch;
-			} catch (NumberFormatException e) {
-			}
-		} else {
-			String str = (String) fgEntityLookup.get(symbol);
-			if (str != null) {
-				return str;
-			}
-		}
-		return "&" + symbol; // not found //$NON-NLS-1$
-	}
-
-	private String html2Text(String html) {
-		if (html == null || html.length() == 0)
-			return EMPTY_STRING;
-
-		String tag = html;
-		if ('/' == tag.charAt(0))
-			tag = tag.substring(1);
-
-		if (!fgTags.contains(tag))
-			return EMPTY_STRING;
-
-		if ("pre".equals(html)) { //$NON-NLS-1$
-			startPreformattedText();
-			return EMPTY_STRING;
-		}
-
-		if ("/pre".equals(html)) { //$NON-NLS-1$
-			stopPreformattedText();
-			return EMPTY_STRING;
-		}
-
-		if (fIsPreformattedText)
-			return EMPTY_STRING;
-
-		if ("b".equals(html)) { //$NON-NLS-1$
-			startBold();
-			return EMPTY_STRING;
-		}
-
-		if ("h5".equals(html) || "dt".equals(html)) { //$NON-NLS-1$ //$NON-NLS-2$
-			startBold();
-			return EMPTY_STRING;
-		}
-
-		if ("dl".equals(html)) //$NON-NLS-1$
-			return LINE_DELIM;
-
-		if ("dd".equals(html)) //$NON-NLS-1$
-			return "\t"; //$NON-NLS-1$
-
-		if ("li".equals(html)) //$NON-NLS-1$
-			return LINE_DELIM + "\t" + "- "; //$NON-NLS-1$ //$NON-NLS-2$
-
-		if ("/b".equals(html)) { //$NON-NLS-1$
-			stopBold();
-			return EMPTY_STRING;
-		}
-
-		if ("p".equals(html)) { //$NON-NLS-1$
-			fInParagraph = true;
-			return LINE_DELIM;
-		}
-
-		if ("br".equals(html) || "br/".equals(html)) //$NON-NLS-1$ //$NON-NLS-2$
-			return LINE_DELIM;
-
-		if ("/p".equals(html)) { //$NON-NLS-1$
-			boolean inParagraph = fInParagraph;
-			fInParagraph = false;
-			return inParagraph ? EMPTY_STRING : LINE_DELIM;
-		}
-
-		if ("/h5".equals(html) || "/dt".equals(html)) { //$NON-NLS-1$ //$NON-NLS-2$
-			stopBold();
-			return LINE_DELIM;
-		}
-
-		if ("/dd".equals(html)) //$NON-NLS-1$
-			return LINE_DELIM;
-
-		return EMPTY_STRING;
-	}
-
-	/*
-	 * A '&' has been read. Process a entity
-	 */
-	private String processEntity() throws IOException {
-		StringBuffer buf = new StringBuffer();
-		int ch = nextChar();
-		while (Character.isLetterOrDigit((char) ch) || ch == '#') {
-			buf.append((char) ch);
-			ch = nextChar();
-		}
-
-		if (ch == ';')
-			return entity2Text(buf.toString());
-
-		buf.insert(0, '&');
-		if (ch != -1)
-			buf.append((char) ch);
-		return buf.toString();
-	}
-
-	/*
-	 * A ' <' has been read. Process a html tag
-	 */
-	private String processHTMLTag() throws IOException {
-
-		StringBuffer buf = new StringBuffer();
-		int ch;
-		do {
-
-			ch = nextChar();
-
-			while (ch != -1 && ch != '>') {
-				buf.append(Character.toLowerCase((char) ch));
-				ch = nextChar();
-				if (ch == '"') {
-					buf.append(Character.toLowerCase((char) ch));
-					ch = nextChar();
-					while (ch != -1 && ch != '"') {
-						buf.append(Character.toLowerCase((char) ch));
-						ch = nextChar();
-					}
-				}
-				if (ch == '<') {
-					unread(ch);
-					return '<' + buf.toString();
-				}
-			}
-
-			if (ch == -1)
-				return null;
-
-			int tagLen = buf.length();
-			// needs special treatment for comments
-			if ((tagLen >= 3 && "!--".equals(buf.substring(0, 3))) //$NON-NLS-1$
-						&& !(tagLen >= 5 && "--!".equals(buf.substring(tagLen - 3)))) { //$NON-NLS-1$
-				// unfinished comment
-				buf.append(ch);
-			} else {
-				break;
-			}
-		} while (true);
-
-		return html2Text(buf.toString());
-	}
-
-	private String processPreformattedText(int c) {
-		if (c == '\r' || c == '\n')
-			fCounter++;
-		return null;
-	}
-
-	public int read() throws IOException {
-		int c = super.read();
-		if (c != -1)
-			++fCounter;
-		return c;
-	}
-
-	protected void startBold() {
-		if (fBold == 0)
-			fStartOffset = fCounter;
-		++fBold;
-	}
-
-	protected void startPreformattedText() {
-		fIsPreformattedText = true;
-		setSkipWhitespace(false);
-	}
-
-	protected void stopBold() {
-		--fBold;
-		if (fBold == 0) {
-			if (fTextPresentation != null) {
-				fTextPresentation.addStyleRange(new StyleRange(fStartOffset, fCounter - fStartOffset, null, null, SWT.BOLD));
-			}
-			fStartOffset = -1;
-		}
-	}
-
-	protected void stopPreformattedText() {
-		fIsPreformattedText = false;
-		setSkipWhitespace(true);
-	}
-
-
-	private void unread(int ch) throws IOException {
-		((PushbackReader) getReader()).unread(ch);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/HTMLTextPresenter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/HTMLTextPresenter.java
deleted file mode 100644
index c3a1faa..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/HTMLTextPresenter.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Iterator;
-
-import org.eclipse.jface.text.DefaultInformationControl;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * Copied from org.eclipse.jdt.internal.ui.text.HTMLTextPresenter
- * Modifications were made to use sed Logger to log exception, and the
- * ellipses constant
- */
-public class HTMLTextPresenter implements DefaultInformationControl.IInformationPresenter {
-	private static final String ELLIPSES = "..."; //$NON-NLS-1$
-
-	private static final String LINE_DELIM = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	private int fCounter;
-	private boolean fEnforceUpperLineLimit;
-
-	public HTMLTextPresenter() {
-		this(true);
-	}
-
-	public HTMLTextPresenter(boolean enforceUpperLineLimit) {
-		super();
-		fEnforceUpperLineLimit = enforceUpperLineLimit;
-	}
-
-	protected void adaptTextPresentation(TextPresentation presentation, int offset, int insertLength) {
-
-		int yoursStart = offset;
-		int yoursEnd = offset + insertLength - 1;
-		yoursEnd = Math.max(yoursStart, yoursEnd);
-
-		Iterator e = presentation.getAllStyleRangeIterator();
-		while (e.hasNext()) {
-
-			StyleRange range = (StyleRange) e.next();
-
-			int myStart = range.start;
-			int myEnd = range.start + range.length - 1;
-			myEnd = Math.max(myStart, myEnd);
-
-			if (myEnd < yoursStart)
-				continue;
-
-			if (myStart < yoursStart)
-				range.length += insertLength;
-			else
-				range.start += insertLength;
-		}
-	}
-
-	private void append(StringBuffer buffer, String string, TextPresentation presentation) {
-
-		int length = string.length();
-		buffer.append(string);
-
-		if (presentation != null)
-			adaptTextPresentation(presentation, fCounter, length);
-
-		fCounter += length;
-	}
-
-	protected Reader createReader(String hoverInfo, TextPresentation presentation) {
-		return new HTML2TextReader(new StringReader(hoverInfo), presentation);
-	}
-
-	private String getIndent(String line) {
-		int length = line.length();
-
-		int i = 0;
-		while (i < length && Character.isWhitespace(line.charAt(i)))
-			++i;
-
-		return (i == length ? line : line.substring(0, i)) + " "; //$NON-NLS-1$
-	}
-
-	private String trim(StringBuffer buffer, TextPresentation presentation) {
-
-		int length = buffer.length();
-
-		int end = length - 1;
-		while (end >= 0 && Character.isWhitespace(buffer.charAt(end)))
-			--end;
-
-		if (end == -1)
-			return ""; //$NON-NLS-1$
-
-		if (end < length - 1)
-			buffer.delete(end + 1, length);
-		else
-			end = length;
-
-		int start = 0;
-		while (start < end && Character.isWhitespace(buffer.charAt(start)))
-			++start;
-
-		buffer.delete(0, start);
-		presentation.setResultWindow(new Region(start, buffer.length()));
-		return buffer.toString();
-	}
-
-	/*
-	 * @see IHoverInformationPresenter#updatePresentation(Display display,
-	 *      String, TextPresentation, int, int)
-	 */
-	public String updatePresentation(Display display, String hoverInfo, TextPresentation presentation, int maxWidth, int maxHeight) {
-
-		if (hoverInfo == null)
-			return null;
-
-		GC gc = new GC(display);
-		try {
-
-			StringBuffer buffer = new StringBuffer();
-			int maxNumberOfLines = Math.round(maxHeight / gc.getFontMetrics().getHeight());
-
-			fCounter = 0;
-			LineBreakingReader reader = new LineBreakingReader(createReader(hoverInfo, presentation), gc, maxWidth);
-
-			boolean lastLineFormatted = false;
-			String lastLineIndent = null;
-
-			String line = reader.readLine();
-			boolean lineFormatted = reader.isFormattedLine();
-			boolean firstLineProcessed = false;
-
-			while (line != null) {
-
-				if (fEnforceUpperLineLimit && maxNumberOfLines <= 0)
-					break;
-
-				if (firstLineProcessed) {
-					if (!lastLineFormatted)
-						append(buffer, LINE_DELIM, null);
-					else {
-						append(buffer, LINE_DELIM, presentation);
-						if (lastLineIndent != null)
-							append(buffer, lastLineIndent, presentation);
-					}
-				}
-
-				append(buffer, line, null);
-				firstLineProcessed = true;
-
-				lastLineFormatted = lineFormatted;
-				if (!lineFormatted)
-					lastLineIndent = null;
-				else if (lastLineIndent == null)
-					lastLineIndent = getIndent(line);
-
-				line = reader.readLine();
-				lineFormatted = reader.isFormattedLine();
-
-				maxNumberOfLines--;
-			}
-
-			if (line != null) {
-				append(buffer, LINE_DELIM, lineFormatted ? presentation : null);
-				append(buffer, ELLIPSES, presentation); //$NON-NLS-1$
-			}
-
-			return trim(buffer, presentation);
-
-		} catch (IOException e) {
-			Logger.logException(e); // log exception
-			return null;
-
-		} finally {
-			gc.dispose();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/IHelpContextIds.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/IHelpContextIds.java
deleted file mode 100644
index 8066d0f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/IHelpContextIds.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * Help context ids for the Source Editor.
- * <p>
- * This interface contains constants only; it is not intended to be
- * implemented.
- * </p>
- *  
- */
-public interface IHelpContextIds {
-
-	// org.eclipse.wst.sse.ui.
-	public static final String PREFIX = SSEUIPlugin.ID + "."; //$NON-NLS-1$
-	// Abstract Source Editor Context Menu
-	// Content Assist
-	public static final String CONTMNU_CONTENTASSIST_HELPID = PREFIX + "xmlm1010"; //$NON-NLS-1$
-	// Format Document
-	public static final String CONTMNU_FORMAT_DOC_HELPID = PREFIX + "xmlm1030"; //$NON-NLS-1$
-	// Format Active Elements
-	public static final String CONTMNU_FORMAT_ELEMENTS_HELPID = PREFIX + "xmlm1040"; //$NON-NLS-1$
-	// Cleanup Document
-	// public static final String CONTMNU_CLEANUP_DOC_HELPID = PREFIX +
-	// "xmlm1050"; //$NON-NLS-1$
-	// Preferences
-	public static final String CONTMNU_PREFERENCES_HELPID = PREFIX + "xmlm1060"; //$NON-NLS-1$
-	// Properties
-	public static final String CONTMNU_PROPERTIES_HELPID = PREFIX + "xmlm1070"; //$NON-NLS-1$
-
-	// Structured Text Editor Preference Page
-	// Appearance
-	public static final String PREFSTE_APPEARANCE_HELPID = PREFIX + "sted0001"; //$NON-NLS-1$
-	// Hovers
-	public static final String PREFSTE_HOVERS_HELPID = PREFIX + "sted0003"; //$NON-NLS-1$
-	// Navigation
-	public static final String PREFSTE_NAVIGATION_HELPID = PREFIX + "sted0002"; //$NON-NLS-1$
-	// Read-Only Text Style
-	public static final String PREFWEBX_READONLY_HELPID = PREFIX + "webx0001"; //$NON-NLS-1$
-
-	// Web and XML Preference Page
-	// Task Tags
-	public static final String PREFWEBX_TASKTAGS_HELPID = PREFIX + "webx0000"; //$NON-NLS-1$
-
-	// Source Editor View
-	public static final String XML_SOURCE_VIEW_HELPID = PREFIX + "xmlm2000"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/LineBreakingReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/LineBreakingReader.java
deleted file mode 100644
index 655f23c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/LineBreakingReader.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.text.BreakIterator;
-
-import org.eclipse.swt.graphics.GC;
-
-/**
- * Copied from org.eclipse.jdt.internal.ui.text.LineBreakingReader No
- * modifications were made
- */
-/*
- * Not a real reader. Could change if requested
- */
-public class LineBreakingReader {
-	private GC fGC;
-
-	private String fLine;
-
-	private BreakIterator fLineBreakIterator;
-	private int fMaxWidth;
-	private int fOffset;
-
-
-	private BufferedReader fReader;
-
-	/**
-	 * Creates a reader that breaks an input text to fit in a given width.
-	 * 
-	 * @param reader
-	 *            Reader of the input text
-	 * @param gc
-	 *            The graphic context that defines the currently used font
-	 *            sizes
-	 * @param maxLineWidth
-	 *            The max width (pixes) where the text has to fit in
-	 */
-	public LineBreakingReader(Reader reader, GC gc, int maxLineWidth) {
-		fReader = new BufferedReader(reader);
-		fGC = gc;
-		fMaxWidth = maxLineWidth;
-		fOffset = 0;
-		fLine = null;
-		fLineBreakIterator = BreakIterator.getLineInstance();
-	}
-
-	private int findNextBreakOffset(int currOffset) {
-		int currWidth = 0;
-		int nextOffset = fLineBreakIterator.following(currOffset);
-		while (nextOffset != BreakIterator.DONE) {
-			String word = fLine.substring(currOffset, nextOffset);
-			int wordWidth = fGC.textExtent(word).x;
-			int nextWidth = wordWidth + currWidth;
-			if (nextWidth > fMaxWidth) {
-				if (currWidth > 0) {
-					return currOffset;
-				} else {
-					return nextOffset;
-				}
-			}
-			currWidth = nextWidth;
-			currOffset = nextOffset;
-			nextOffset = fLineBreakIterator.next();
-		}
-		return nextOffset;
-	}
-
-	private int findWordBegin(int idx) {
-		while (idx < fLine.length() && Character.isWhitespace(fLine.charAt(idx))) {
-			idx++;
-		}
-		return idx;
-	}
-
-	public boolean isFormattedLine() {
-		return fLine != null;
-	}
-
-	/**
-	 * Reads the next line. The lengths of the line will not exceed the gived
-	 * maximum width.
-	 */
-	public String readLine() throws IOException {
-		if (fLine == null) {
-			String line = fReader.readLine();
-			if (line == null)
-				return null;
-
-			int lineLen = fGC.textExtent(line).x;
-			if (lineLen < fMaxWidth) {
-				return line;
-			}
-			fLine = line;
-			fLineBreakIterator.setText(line);
-			fOffset = 0;
-		}
-		int breakOffset = findNextBreakOffset(fOffset);
-		String res;
-		if (breakOffset != BreakIterator.DONE) {
-			res = fLine.substring(fOffset, breakOffset);
-			fOffset = findWordBegin(breakOffset);
-			if (fOffset == fLine.length()) {
-				fLine = null;
-			}
-		} else {
-			res = fLine.substring(fOffset);
-			fLine = null;
-		}
-		return res;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/SingleCharReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/SingleCharReader.java
deleted file mode 100644
index df16cec..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/SingleCharReader.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-import java.io.IOException;
-import java.io.Reader;
-
-/**
- * Copied from org.eclipse.jdt.internal.corext.javadoc.SingleCharReader 
- * Also copied in org.eclipse.wst.javascript.common.ui.contentassist.javadoc.SingleCharReader No
- * modifications were made
- */
-public abstract class SingleCharReader extends Reader {
-
-	/**
-	 * Gets the content as a String
-	 */
-	public String getString() throws IOException {
-		StringBuffer buf = new StringBuffer();
-		int ch;
-		while ((ch = read()) != -1) {
-			buf.append((char) ch);
-		}
-		return buf.toString();
-	}
-
-	/**
-	 * @see Reader#read()
-	 */
-	public abstract int read() throws IOException;
-
-	/**
-	 * @see Reader#read(char[],int,int)
-	 */
-	public int read(char cbuf[], int off, int len) throws IOException {
-		int end = off + len;
-		for (int i = off; i < end; i++) {
-			int ch = read();
-			if (ch == -1) {
-				if (i == off) {
-					return -1;
-				} else {
-					return i - off;
-				}
-			}
-			cbuf[i] = (char) ch;
-		}
-		return len;
-	}
-
-	/**
-	 * @see Reader#ready()
-	 */
-	public boolean ready() throws IOException {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/StructuredModelDocumentProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/StructuredModelDocumentProvider.java
deleted file mode 100644
index 19fc440..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/StructuredModelDocumentProvider.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.IDocumentProviderExtension;
-import org.eclipse.ui.texteditor.IElementStateListener;
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-
-/**
- * @author nitin
- */
-public class StructuredModelDocumentProvider implements IDocumentProvider, IDocumentProviderExtension {
-	private static StructuredModelDocumentProvider _instance = null;
-
-	/**
-	 * @return Returns the instance.
-	 */
-	public static StructuredModelDocumentProvider getInstance() {
-		return _instance;
-	}
-
-	{
-		_instance = new StructuredModelDocumentProvider();
-	}
-
-	private StructuredModelDocumentProvider() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#aboutToChange(java.lang.Object)
-	 */
-	public void aboutToChange(Object element) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#addElementStateListener(org.eclipse.ui.texteditor.IElementStateListener)
-	 */
-	public void addElementStateListener(IElementStateListener listener) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#canSaveDocument(java.lang.Object)
-	 */
-	public boolean canSaveDocument(Object element) {
-		return ((IStructuredModel) element).isDirty();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#changed(java.lang.Object)
-	 */
-	public void changed(Object element) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#connect(java.lang.Object)
-	 */
-	public void connect(Object element) throws CoreException {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#disconnect(java.lang.Object)
-	 */
-	public void disconnect(Object element) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#getAnnotationModel(java.lang.Object)
-	 */
-	public IAnnotationModel getAnnotationModel(Object element) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#getDocument(java.lang.Object)
-	 */
-	public IDocument getDocument(Object element) {
-		return ((IStructuredModel) element).getStructuredDocument();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#getModificationStamp(java.lang.Object)
-	 */
-	public long getModificationStamp(Object element) {
-		return ((IStructuredModel) element).getSynchronizationStamp();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProviderExtension#getStatus(java.lang.Object)
-	 */
-	public IStatus getStatus(Object element) {
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#getSynchronizationStamp(java.lang.Object)
-	 */
-	public long getSynchronizationStamp(Object element) {
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#isDeleted(java.lang.Object)
-	 */
-	public boolean isDeleted(Object element) {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProviderExtension#isModifiable(java.lang.Object)
-	 */
-	public boolean isModifiable(Object element) {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProviderExtension#isReadOnly(java.lang.Object)
-	 */
-	public boolean isReadOnly(Object element) {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProviderExtension#isStateValidated(java.lang.Object)
-	 */
-	public boolean isStateValidated(Object element) {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#mustSaveDocument(java.lang.Object)
-	 */
-	public boolean mustSaveDocument(Object element) {
-		return ((IStructuredModel) element).isDirty();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#removeElementStateListener(org.eclipse.ui.texteditor.IElementStateListener)
-	 */
-	public void removeElementStateListener(IElementStateListener listener) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#resetDocument(java.lang.Object)
-	 */
-	public void resetDocument(Object element) throws CoreException {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#saveDocument(org.eclipse.core.runtime.IProgressMonitor,
-	 *      java.lang.Object, org.eclipse.jface.text.IDocument, boolean)
-	 */
-	public void saveDocument(IProgressMonitor monitor, Object element, IDocument document, boolean overwrite) throws CoreException {
-		try {
-			((IStructuredModel) element).save();
-		} catch (UnsupportedEncodingException e) {
-		} catch (IOException e) {
-		} catch (CoreException e) {
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProviderExtension#setCanSaveDocument(java.lang.Object)
-	 */
-	public void setCanSaveDocument(Object element) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProviderExtension#synchronize(java.lang.Object)
-	 */
-	public void synchronize(Object element) throws CoreException {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProviderExtension#updateStateCache(java.lang.Object)
-	 */
-	public void updateStateCache(Object element) throws CoreException {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProviderExtension#validateState(java.lang.Object,
-	 *      java.lang.Object)
-	 */
-	public void validateState(Object element, Object computationContext) throws CoreException {
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/SubstitutionTextReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/SubstitutionTextReader.java
deleted file mode 100644
index 0ff800f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/SubstitutionTextReader.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editor;
-
-
-
-import java.io.IOException;
-import java.io.Reader;
-
-/**
- * Copied from org.eclipse.jdt.internal.ui.text.SubstitutionTextReader
- * Also copied in org.eclipse.wst.javascript.common.ui.contentassist.javadoc.SubstitutionTextReader
- * Modifications were made to read() to allow whitespaces
- */
-/**
- * Reads the text contents from a reader and computes for each character a
- * potential substitution. The substitution may eat more characters than only
- * the one passed into the computation routine.
- */
-public abstract class SubstitutionTextReader extends SingleCharReader {
-
-	protected static final String LINE_DELIM = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-	private StringBuffer fBuffer;
-	private int fCharAfterWhiteSpace;
-	private int fIndex;
-
-	private Reader fReader;
-
-	private boolean fReadFromBuffer;
-
-	/**
-	 * Tells whether white space characters are skipped.
-	 */
-	private boolean fSkipWhiteSpace = true;
-	private boolean fWasWhiteSpace;
-
-
-	protected SubstitutionTextReader(Reader reader) {
-		fReader = reader;
-		fBuffer = new StringBuffer();
-		fIndex = 0;
-		fReadFromBuffer = false;
-		fCharAfterWhiteSpace = -1;
-		fWasWhiteSpace = true;
-	}
-
-	/**
-	 * @see Reader#close()
-	 */
-	public void close() throws IOException {
-		fReader.close();
-	}
-
-	/**
-	 * Implement to compute the substitution for the given character and if
-	 * necessary subsequent characters. Use <code>nextChar</code> to read
-	 * subsequent characters.
-	 */
-	protected abstract String computeSubstitution(int c) throws IOException;
-
-	/**
-	 * Returns the internal reader.
-	 */
-	protected Reader getReader() {
-		return fReader;
-	}
-
-	protected final boolean isSkippingWhitespace() {
-		return fSkipWhiteSpace;
-	}
-
-	/**
-	 * Returns the next character.
-	 */
-	protected int nextChar() throws IOException {
-		fReadFromBuffer = (fBuffer.length() > 0);
-		if (fReadFromBuffer) {
-			char ch = fBuffer.charAt(fIndex++);
-			if (fIndex >= fBuffer.length()) {
-				fBuffer.setLength(0);
-				fIndex = 0;
-			}
-			return ch;
-		} else {
-			int ch = fCharAfterWhiteSpace;
-			if (ch == -1) {
-				ch = fReader.read();
-			}
-			if (fSkipWhiteSpace && Character.isWhitespace((char) ch)) {
-				do {
-					ch = fReader.read();
-				} while (Character.isWhitespace((char) ch));
-				if (ch != -1) {
-					fCharAfterWhiteSpace = ch;
-					return ' ';
-				}
-			} else {
-				fCharAfterWhiteSpace = -1;
-			}
-			return ch;
-		}
-	}
-
-	/**
-	 * @see Reader#read()
-	 */
-	public int read() throws IOException {
-		int c;
-		do {
-
-			c = nextChar();
-			while (!fReadFromBuffer) {
-				String s = computeSubstitution(c);
-				if (s == null)
-					break;
-				if (s.length() > 0)
-					fBuffer.insert(0, s);
-				c = nextChar();
-			}
-
-		} while (fSkipWhiteSpace && fWasWhiteSpace && ((c == ' ') && !fReadFromBuffer)); // AFW
-		// - if
-		// whitespace
-		// is
-		// from
-		// buffer,
-		// then
-		// it
-		// should
-		// be
-		// read
-		fWasWhiteSpace = ((c == ' ' && !fReadFromBuffer) || c == '\r' || c == '\n'); // AFW
-		// - if
-		// whitespace
-		// is
-		// from
-		// buffer,
-		// then
-		// it
-		// should
-		// be
-		// read
-		return c;
-	}
-
-	/**
-	 * @see Reader#ready()
-	 */
-	public boolean ready() throws IOException {
-		return fReader.ready();
-	}
-
-	/**
-	 * @see Reader#reset()
-	 */
-	public void reset() throws IOException {
-		fReader.reset();
-		fWasWhiteSpace = true;
-		fCharAfterWhiteSpace = -1;
-		fBuffer.setLength(0);
-		fIndex = 0;
-	}
-
-	protected final void setSkipWhitespace(boolean state) {
-		fSkipWhiteSpace = state;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editorviewer/StructuredTextEditorViewer.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editorviewer/StructuredTextEditorViewer.java
deleted file mode 100644
index 09b71e9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editorviewer/StructuredTextEditorViewer.java
+++ /dev/null
@@ -1,527 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.editorviewer;
-
-
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IKeyBindingService;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.sse.ui.views.contentoutline.StructuredTextEditorContentOutlinePage;
-import org.w3c.dom.Attr;
-
-
-/**
- * TODO remove in C5 or earlier
- * 
- * @deprecated use the StructuredTextViewer directly if only using for
- *             read-only mode. otherwise, use the StructuredTextEditorViewer
- *             in com.ibm.etools.qev plugin (removing in C5 or earlier)
- */
-public class StructuredTextEditorViewer extends Viewer {
-
-	/**
-	 * Sets the editor's highlighting text range to the text range indicated
-	 * by the selected Nodes.
-	 */
-	protected class NodeRangeSelectionListener implements INodeSelectionListener {
-		public void nodeSelectionChanged(NodeSelectionChangedEvent event) {
-			if (!event.getSelectedNodes().isEmpty()) {
-				IndexedRegion startNode = (IndexedRegion) event.getSelectedNodes().get(0);
-				IndexedRegion endNode = (IndexedRegion) event.getSelectedNodes().get(event.getSelectedNodes().size() - 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();
-
-				getTextEditor().resetHighlightRange();
-				getTextEditor().setHighlightRange(start, end - start, true);
-			} else {
-				getTextEditor().resetHighlightRange();
-			}
-		}
-	}
-
-	/**
-	 * Unhooks the editor when in follow mode and the target editing part is
-	 * disposed.
-	 */
-	protected class UnhookOnDisposeListener implements DisposeListener {
-		public void widgetDisposed(DisposeEvent e) {
-			unhook();
-		}
-	}
-
-	public static class ViewEditorInput implements IEditorInput {
-
-		private IStructuredModel fStructuredModel = null;
-
-		public ViewEditorInput(IStructuredModel model) {
-			super();
-			fStructuredModel = model;
-		}
-
-		public boolean exists() {
-			return fStructuredModel != null;
-		}
-
-		public Object getAdapter(Class arg0) {
-			return null;
-		}
-
-		public ImageDescriptor getImageDescriptor() {
-			return null;
-		}
-
-		public String getName() {
-			if (exists())
-				return fStructuredModel.getId();
-			return "org.eclipse.wst.sse.ui.internal-view"; //$NON-NLS-1$
-		}
-
-		public IPersistableElement getPersistable() {
-			return null;
-		}
-
-		public IStructuredModel getStructuredModel() {
-			return fStructuredModel;
-		}
-
-		public String getToolTipText() {
-			return getStructuredModel().getBaseLocation();
-		}
-
-		public void setStructuredModel(IStructuredModel structuredModel) {
-			fStructuredModel = structuredModel;
-		}
-	}
-
-	public static class ViewerEditorSite implements IEditorSite {
-
-		protected IWorkbenchPartSite fSite = null;
-
-		public ViewerEditorSite(IWorkbenchPartSite site) {
-			fSite = site;
-		}
-
-		public IEditorActionBarContributor getActionBarContributor() {
-			return null;
-		}
-
-		/**
-		 * @see org.eclipse.ui.IEditorSite#getActionBars()
-		 */
-		public IActionBars getActionBars() {
-			if (fSite instanceof IViewSite)
-				return ((IViewSite) fSite).getActionBars();
-			return null;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-		 */
-		public Object getAdapter(Class adapter) {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public String getId() {
-			return fSite.getId();
-		}
-
-		public IKeyBindingService getKeyBindingService() {
-			return fSite.getKeyBindingService();
-		}
-
-		public IWorkbenchPage getPage() {
-			return fSite.getPage();
-		}
-
-		public String getPluginId() {
-			return fSite.getPluginId();
-		}
-
-		public String getRegisteredName() {
-			return fSite.getRegisteredName();
-		}
-
-		public ISelectionProvider getSelectionProvider() {
-			return fSite.getSelectionProvider();
-		}
-
-		public Shell getShell() {
-			return fSite.getShell();
-		}
-
-		public IWorkbenchWindow getWorkbenchWindow() {
-			return fSite.getWorkbenchWindow();
-		}
-
-		public void registerContextMenu(MenuManager menuManager, ISelectionProvider selectionProvider) {
-			fSite.registerContextMenu(menuManager, selectionProvider);
-		}
-
-		public void registerContextMenu(String menuId, MenuManager menuManager, ISelectionProvider selectionProvider) {
-			fSite.registerContextMenu(menuId, menuManager, selectionProvider);
-		}
-
-		public void setSelectionProvider(ISelectionProvider provider) {
-		}
-
-	}
-
-	protected Composite container = null;
-	protected IContentOutlinePage fContentOutlinePage = null;
-
-	private String fDefaultContentTypeID = null;
-
-	protected boolean fEditable = true;
-	protected INodeSelectionListener fHighlightRangeListener = null;
-	protected IEditorInput fInput = null;
-	protected int fStyle = SWT.NONE;
-
-	protected StructuredTextEditor fTextEditor = null;
-
-	private Composite parent = null;
-
-	/**
-	 * Method StructuredTextEditorViewer.
-	 * 
-	 * @param parent
-	 */
-	public StructuredTextEditorViewer(Composite parent) {
-		this(parent, SWT.NONE);
-	}
-
-	/**
-	 * Method StructuredTextEditorViewer.
-	 * 
-	 * @param parent
-	 * @param style
-	 */
-	public StructuredTextEditorViewer(Composite parent, int style) {
-		super();
-		this.parent = parent;
-		fTextEditor = createTextEditor();
-		fStyle = style;
-	}
-
-	/**
-	 * Method StructuredTextEditorViewer.
-	 * 
-	 * @param parent
-	 * @param style
-	 * @param editor
-	 */
-	public StructuredTextEditorViewer(Composite parent, int style, StructuredTextEditor editor) {
-		super();
-		this.parent = parent;
-		fTextEditor = editor;
-		fStyle = style;
-	}
-
-	protected StructuredTextEditor createTextEditor() {
-		StructuredTextEditor editor = new StructuredTextEditor();
-		return editor;
-	}
-
-	public void dispose() {
-		getTextEditor().dispose();
-	}
-
-	/**
-	 * If possible, retrieves the IEditorPart's
-	 * StructuredTextEditorContentOutlinePage and displays the text content
-	 * indicated by its Selection
-	 * 
-	 * @param editor
-	 */
-	public void followSelection(IEditorPart editor) {
-		setInput(editor.getEditorInput());
-		hook(editor);
-	}
-
-	public void followSelection2(IEditorPart editor) {
-		setInput(editor.getEditorInput());
-		hook2(editor);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.Viewer#getControl()
-	 */
-	public Control getControl() {
-		return container;
-	}
-
-	public String getDefaultContentTypeID() {
-		return fDefaultContentTypeID;
-	}
-
-	public IEditorInput getEditorInput() {
-		return fInput;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IInputProvider#getInput()
-	 */
-	public Object getInput() {
-		return getEditorInput();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
-	 */
-	public ISelection getSelection() {
-		return getTextEditor().getTextViewer().getSelection();
-	}
-
-	/**
-	 * Returns the textEditor.
-	 * 
-	 * @return StructuredTextEditor
-	 */
-	public StructuredTextEditor getTextEditor() {
-		return fTextEditor;
-	}
-
-	protected void hook(IEditorPart editor) {
-		if (fHighlightRangeListener == null)
-			fHighlightRangeListener = new NodeRangeSelectionListener();
-
-		fContentOutlinePage = ((IContentOutlinePage) editor.getAdapter(IContentOutlinePage.class));
-		if (fContentOutlinePage != null && fContentOutlinePage instanceof StructuredTextEditorContentOutlinePage) {
-			((StructuredTextEditorContentOutlinePage) fContentOutlinePage).getViewerSelectionManager().addNodeSelectionListener(fHighlightRangeListener);
-
-			if (!fContentOutlinePage.getSelection().isEmpty() && fContentOutlinePage.getSelection() instanceof IStructuredSelection) {
-				getTextEditor().showHighlightRangeOnly(true);
-				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();
-				getTextEditor().resetHighlightRange();
-				getTextEditor().setHighlightRange(start, end - start, true);
-			}
-		}
-	}
-
-	protected void hook2(IEditorPart editor) {
-		if (fHighlightRangeListener == null)
-			fHighlightRangeListener = new NodeRangeSelectionListener();
-
-		fContentOutlinePage = ((IContentOutlinePage) editor.getAdapter(IContentOutlinePage.class));
-		if (fContentOutlinePage != null && fContentOutlinePage instanceof StructuredTextEditorContentOutlinePage) {
-			((StructuredTextEditorContentOutlinePage) fContentOutlinePage).getViewerSelectionManager().addNodeSelectionListener(fHighlightRangeListener);
-
-			if (!fContentOutlinePage.getSelection().isEmpty() && fContentOutlinePage.getSelection() instanceof IStructuredSelection) {
-				getTextEditor().showHighlightRangeOnly(true);
-				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();
-				getTextEditor().resetHighlightRange();
-				getTextEditor().setHighlightRange(start, end - start, true);
-
-				IDocument document = getTextEditor().getDocumentProvider().getDocument(getEditorInput());
-				if (document instanceof IStructuredDocument) {
-					((IStructuredDocument) document).makeReadOnly(start, end - start);
-					refresh();
-				}
-
-			}
-		}
-	}
-
-	/**
-	 * Method init, for testing.
-	 * 
-	 * @param site
-	 */
-	public void init(IWorkbenchPartSite site, IEditorInput input) {
-		try {
-			//			setInput(input);
-			//			getTextEditor().init(new ViewerEditorSite(site),
-			// getEditorInput());
-			getTextEditor().init(new ViewerEditorSite(site), input);
-		} catch (PartInitException e) {
-			e.printStackTrace();
-		}
-		container = new Composite(parent, fStyle);
-		FillLayout fill = new FillLayout();
-		container.setLayout(fill);
-
-		getTextEditor().createPartControl(container);
-		// part of the specific DnD support, even though it is itself an
-		// IEditorPart
-		// TODO: 5.1W3 - should update the StructuredTextEditor to handle this
-		// functionality itself
-		getTextEditor().setEditorPart(getTextEditor());
-		getTextEditor().getTextViewer().getTextWidget().addDisposeListener(new UnhookOnDisposeListener());
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.Viewer#refresh()
-	 */
-	public void refresh() {
-		getTextEditor().getTextViewer().refresh();
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setDefaultContentTypeID(String string) {
-		fDefaultContentTypeID = string;
-	}
-
-	/**
-	 * Sets the documentProvider.
-	 * 
-	 * @param documentProvider
-	 *            The documentProvider to set
-	 */
-	public void setDocumentProvider(IDocumentProvider documentProvider) {
-		getTextEditor().initializeDocumentProvider(documentProvider);
-	}
-
-	public void setEditable(boolean editable) {
-		fEditable = editable;
-	}
-
-	/**
-	 * Sets the viewer's input - expects a IStructuredModel or IEditorInput
-	 * 
-	 * @see org.eclipse.jface.viewers.Viewer#setInput(Object)
-	 */
-	public void setInput(Object input) {
-		//		getTextEditor().getTextViewer().getTextWidget().setEnabled(input !=
-		// null);
-		unhook();
-		if (input instanceof IStructuredModel) {
-			fInput = new ViewEditorInput((IStructuredModel) input);
-			getTextEditor().setInput(fInput);
-			updateEditor();
-		} else if (input instanceof IEditorInput) {
-			//			if (input instanceof IFileEditorInput) {
-			//				setDocumentProvider(FileModelProvider.getInstance());
-			//			}
-			fInput = (IEditorInput) input;
-			getTextEditor().setInput(fInput);
-			updateEditor();
-		} else
-			throw new UnsupportedOperationException("setInput: unsupported type"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.Viewer#setSelection(ISelection, boolean)
-	 */
-	public void setSelection(ISelection selection, boolean reveal) {
-		getTextEditor().getTextViewer().setSelection(selection, reveal);
-	}
-
-	/**
-	 * @deprecated - leave for users
-	 * 
-	 * Show content from the beginning of the line on which the offset "start"
-	 * is located for "length" number of characters.
-	 */
-	public void show(int start, int length) {
-		getTextEditor().showHighlightRangeOnly(true);
-		getTextEditor().resetHighlightRange();
-		getTextEditor().setHighlightRange(start, length, true);
-	}
-
-	/**
-	 * @deprecated - leave for users
-	 * 
-	 * Show all content.
-	 */
-	public void showAll() {
-		getTextEditor().resetHighlightRange();
-		getTextEditor().showHighlightRangeOnly(false);
-	}
-
-	/**
-	 * cease showing just the current selection in the
-	 * StructuredTextEditorContentOutlinePage
-	 */
-	public void stopFollowingSelection() {
-		unhook();
-	}
-
-	protected void unhook() {
-		if (fContentOutlinePage != null && fContentOutlinePage instanceof StructuredTextEditorContentOutlinePage) {
-			((StructuredTextEditorContentOutlinePage) fContentOutlinePage).getViewerSelectionManager().removeNodeSelectionListener(fHighlightRangeListener);
-			if (getTextEditor().getTextViewer() != null) {
-				showAll();
-			}
-			fContentOutlinePage = null;
-		}
-	}
-
-	protected void updateEditor() {
-		if (getTextEditor().getTextViewer() != null && fInput != null) {
-			getTextEditor().getTextViewer().setEditable(fEditable);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ActionDescriptor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ActionDescriptor.java
deleted file mode 100644
index 5648b96..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ActionDescriptor.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.extension;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.ui.extension.IActionValidator;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.osgi.framework.Bundle;
-
-
-/**
- * When 'action' tag is found in the registry, an object of this class is
- * created. It creates the appropriate action object and captures information
- * that is later used to add this action object into menu/tool bar. This class
- * is reused for global (workbench) menu/tool bar, popup menu actions, as well
- * as view's pulldown and local tool bar.
- */
-public class ActionDescriptor {
-	public static final String ATT_ACCELERATOR = "accelerator"; //$NON-NLS-1$
-	public static final String ATT_CLASS = "class"; //$NON-NLS-1$
-	public static final String ATT_DEFINITION_ID = "definitionId"; //$NON-NLS-1$
-	public static final String ATT_DESCRIPTION = "description"; //$NON-NLS-1$
-	public static final String ATT_DISABLEDICON = "disabledIcon"; //$NON-NLS-1$
-	public static final String ATT_HELP_CONTEXT_ID = "helpContextId"; //$NON-NLS-1$
-	public static final String ATT_HOVERICON = "hoverIcon"; //$NON-NLS-1$
-	public static final String ATT_ICON = "icon"; //$NON-NLS-1$
-
-	public static final String ATT_ID = "id"; //$NON-NLS-1$
-	public static final String ATT_LABEL = "label"; //$NON-NLS-1$
-	public static final String ATT_MENUBAR_PATH = "menubarPath"; //$NON-NLS-1$
-	public static final String ATT_POPUPMENU_PATH = "popupmenuPath"; //$NON-NLS-1$
-	public static final String ATT_STATE = "state"; //$NON-NLS-1$
-	public static final String ATT_TOOLBAR_PATH = "toolbarPath"; //$NON-NLS-1$
-	public static final String ATT_TOOLTIP = "tooltip"; //$NON-NLS-1$
-
-	/**
-	 * Creates an extension. If the extension plugin has not been loaded a
-	 * busy cursor will be activated during the duration of the load.
-	 * 
-	 * @param element
-	 *            the config element defining the extension
-	 * @param classAttribute
-	 *            the name of the attribute carrying the class
-	 * @returns the extension object if successful. If an error occurs when
-	 *          createing executable extension, the exception is logged, and
-	 *          null returned.
-	 */
-	public static Object createExtension(final IConfigurationElement element, final String classAttribute) {
-		final Object[] result = new Object[1];
-		// If plugin has been loaded create extension.
-		// Otherwise, show busy cursor then create extension.
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		Bundle bundle = Platform.getBundle(pluginId);
-		if (bundle.getState() == Bundle.ACTIVE) {
-			try {
-				result[0] = element.createExecutableExtension(classAttribute);
-			} catch (Exception e) {
-				// catch and log ANY exception from extension point
-				handleCreateExecutableException(result, e);
-			}
-		} else {
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					try {
-						result[0] = element.createExecutableExtension(classAttribute);
-					} catch (Exception e) {
-						// catch and log ANY exception from extension point
-						handleCreateExecutableException(result, e);
-					}
-				}
-			});
-		}
-		return result[0];
-	}
-
-	private static void handleCreateExecutableException(final Object[] result, Throwable e) {
-		Logger.logException(e);
-		result[0] = null;
-	}
-
-	private String id;
-
-	private ActionContributionItem item;
-	private String menuGroup;
-	private String menuPath;
-	private String popupmenuGroup;
-	private String popupmenuPath;
-	private String toolbarGroup;
-	private String toolbarPath;
-
-	/**
-	 * Creates a new descriptor with the targetType
-	 */
-	public ActionDescriptor(IConfigurationElement actionElement) throws CoreException {
-
-		// Calculate menu and toolbar paths.
-		String mpath = actionElement.getAttribute(ATT_MENUBAR_PATH);
-		String mgroup = null;
-		if (mpath != null) {
-			int loc = mpath.lastIndexOf('/');
-			if (loc != -1) {
-				mgroup = mpath.substring(loc + 1);
-				mpath = mpath.substring(0, loc);
-			} else {
-				mgroup = mpath;
-				mpath = null;
-			}
-		}
-		menuPath = mpath;
-		menuGroup = mgroup;
-
-		String ppath = actionElement.getAttribute(ATT_POPUPMENU_PATH);
-		String pgroup = null;
-		if (ppath != null) {
-			int loc = ppath.lastIndexOf('/');
-			if (loc != -1) {
-				pgroup = ppath.substring(loc + 1);
-				ppath = ppath.substring(0, loc);
-			} else {
-				pgroup = ppath;
-				ppath = null;
-			}
-		}
-		popupmenuPath = ppath;
-		popupmenuGroup = pgroup;
-
-		String tpath = actionElement.getAttribute(ATT_TOOLBAR_PATH);
-		String tgroup = null;
-		if (tpath != null) {
-			int loc = tpath.lastIndexOf('/');
-			if (loc != -1) {
-				tgroup = tpath.substring(loc + 1);
-				tpath = tpath.substring(0, loc);
-			} else {
-				tgroup = tpath;
-				tpath = null;
-			}
-		}
-		toolbarPath = tpath;
-		toolbarGroup = tgroup;
-
-		// Create action.
-		IAction action = createAction(actionElement);
-		if (action == null)
-			return;
-
-		String label = actionElement.getAttribute(ATT_LABEL);
-		if (label != null)
-			action.setText(label);
-
-		id = actionElement.getAttribute(ATT_ID);
-		if (id == null) {
-			id = actionElement.getAttribute(ATT_CLASS);
-		}
-		if (id != null)
-			action.setId(id);
-
-		String defId = actionElement.getAttribute(ATT_DEFINITION_ID);
-		if (defId != null && defId.length() != 0) {
-			action.setActionDefinitionId(defId);
-		}
-
-		String tooltip = actionElement.getAttribute(ATT_TOOLTIP);
-		if (tooltip != null)
-			action.setToolTipText(tooltip);
-
-		String helpContextId = actionElement.getAttribute(ATT_HELP_CONTEXT_ID);
-		if (helpContextId != null) {
-			String fullID = helpContextId;
-			if (helpContextId.indexOf(".") == -1) //$NON-NLS-1$
-				// For backward compatibility we auto qualify the id if it is
-				// not qualified)
-				fullID = actionElement.getDeclaringExtension().getNamespace() + "." + helpContextId; //$NON-NLS-1$
-			WorkbenchHelp.setHelp(action, fullID);
-		}
-
-		String description = actionElement.getAttribute(ATT_DESCRIPTION);
-		if (description != null)
-			action.setDescription(description);
-
-		String state = actionElement.getAttribute(ATT_STATE);
-		if (state != null) {
-			action.setChecked(state.equals("true")); //$NON-NLS-1$
-		}
-
-		String icon = actionElement.getAttribute(ATT_ICON);
-		if (icon != null) {
-			action.setImageDescriptor(ImageUtil.getImageDescriptorFromExtension(actionElement.getDeclaringExtension(), icon));
-		}
-
-		String hoverIcon = actionElement.getAttribute(ATT_HOVERICON);
-		if (hoverIcon != null) {
-			action.setHoverImageDescriptor(ImageUtil.getImageDescriptorFromExtension(actionElement.getDeclaringExtension(), hoverIcon));
-		}
-
-		String disabledIcon = actionElement.getAttribute(ATT_DISABLEDICON);
-		if (disabledIcon != null) {
-			action.setDisabledImageDescriptor(ImageUtil.getImageDescriptorFromExtension(actionElement.getDeclaringExtension(), disabledIcon));
-		}
-
-		String accelerator = actionElement.getAttribute(ATT_ACCELERATOR);
-		if (accelerator != null)
-			processAccelerator(action, accelerator);
-
-		item = new ActionContributionItem(action);
-	}
-
-	/**
-	 * Parses the given accelerator text, and converts it to an accelerator
-	 * key code.
-	 * 
-	 * @param acceleratorText
-	 *            the accelerator text
-	 * @result the SWT key code, or 0 if there is no accelerator
-	 */
-	private int convertAccelerator(String acceleratorText) {
-		int accelerator = 0;
-		StringTokenizer stok = new StringTokenizer(acceleratorText, "+"); //$NON-NLS-1$
-
-		int keyCode = -1;
-
-		boolean hasMoreTokens = stok.hasMoreTokens();
-		while (hasMoreTokens) {
-			String token = stok.nextToken();
-			hasMoreTokens = stok.hasMoreTokens();
-			// Every token except the last must be one of the modifiers
-			// Ctrl, Shift, or Alt.
-			if (hasMoreTokens) {
-				int modifier = Action.findModifier(token);
-				if (modifier != 0) {
-					accelerator |= modifier;
-				} else { //Leave if there are none
-					return 0;
-				}
-			} else {
-				keyCode = Action.findKeyCode(token);
-			}
-		}
-		if (keyCode != -1) {
-			accelerator |= keyCode;
-		}
-		return accelerator;
-	}
-
-	/**
-	 */
-	private IAction createAction(IConfigurationElement actionElement) {
-
-		Object action = createExtension(actionElement, ATT_CLASS);
-		if (action == null)
-			return null;
-		if (action instanceof IActionValidator) {
-			if (!((IActionValidator) action).isValidAction())
-				return null;
-		}
-		return (action instanceof IAction ? (IAction) ExtendedEditorActionProxy.newInstance(action) : null);
-	}
-
-	/**
-	 * Returns the action object held in this descriptor.
-	 */
-	public IAction getAction() {
-		return (item != null ? item.getAction() : null);
-	}
-
-	/**
-	 * Returns the IContributionItem object held in this descriptor.
-	 */
-	public IContributionItem getContributionItem() {
-		return item;
-	}
-
-	/**
-	 * Returns action's id as defined in the registry.
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Returns named slot (group) in the menu where this action should be
-	 * added.
-	 */
-	public String getMenuGroup() {
-		return menuGroup;
-	}
-
-	/**
-	 * Returns menu path where this action should be added. If null, the
-	 * action will not be added into the menu.
-	 */
-
-	public String getMenuPath() {
-		return menuPath;
-	}
-
-	/**
-	 * Returns named slot (group) in the popup menu where this action should
-	 * be added.
-	 */
-	public String getPopupMenuGroup() {
-		return popupmenuGroup;
-	}
-
-	/**
-	 * Returns popup menu path where this action should be added. If null, the
-	 * action will not be added into the popup menu.
-	 */
-
-	public String getPopupMenuPath() {
-		return popupmenuPath;
-	}
-
-	/**
-	 * Returns the named slot (group) in the tool bar where this action should
-	 * be added.
-	 */
-
-	public String getToolbarGroup() {
-		return toolbarGroup;
-	}
-
-	/**
-	 * Returns path in the tool bar where this action should be added. If
-	 * null, action will not be added to the tool bar.
-	 */
-	public String getToolbarPath() {
-		return toolbarPath;
-	}
-
-	/**
-	 * Process the accelerator definition. If it is a number then process the
-	 * code directly - if not then parse it and create the code
-	 */
-	private void processAccelerator(IAction action, String acceleratorText) {
-
-		if (acceleratorText.length() == 0)
-			return;
-
-		//Is it a numeric definition?
-		if (Character.isDigit(acceleratorText.charAt(0))) {
-			try {
-				action.setAccelerator(Integer.valueOf(acceleratorText).intValue());
-			} catch (NumberFormatException exception) {
-				Logger.log(Logger.ERROR, "Invalid accelerator declaration: " + id); //$NON-NLS-1$
-			}
-		} else
-			action.setAccelerator(convertAccelerator(acceleratorText));
-	}
-
-	/**
-	 * For debugging only.
-	 */
-	public String toString() {
-		return "ActionDescriptor(" + id + ")"; //$NON-NLS-2$//$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/BreakpointProviderBuilder.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/BreakpointProviderBuilder.java
deleted file mode 100644
index 80cfe49..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/BreakpointProviderBuilder.java
+++ /dev/null
@@ -1,403 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.extension;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IBreakpointProvider;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Reads breakpoint extension registory and returns breakpoint provider
- * instances
- */
-public class BreakpointProviderBuilder extends RegistryReader {
-
-	private static final String ATT_CLASS = "class"; //$NON-NLS-1$
-	// private static final String ATT_ID = "id"; //$NON-NLS-1$
-	private static final String ATT_CONTENT_TYPES = "contentTypes"; //$NON-NLS-1$
-	private static final String ATT_EXTENSIONS = "extensions"; //$NON-NLS-1$
-	private static BreakpointProviderBuilder instance;
-	private static final String PL_BREAKPOINT = "breakpoint"; //$NON-NLS-1$
-
-	private static final String PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-
-	private static final String TAG_BREAKPOINT_CONTRIBUTION = "breakpointContribution"; //$NON-NLS-1$
-	private static final String TAG_PROVIDER = "provider"; //$NON-NLS-1$
-
-	/*
-	 * Creates an executable extension. @param element the config element
-	 * defining the extension @param classAttribute the name of the attribute
-	 * carrying the class @return the extension object @throws CoreException
-	 */
-	static Object createExecutableExtension(final IConfigurationElement element, final String classAttribute) throws CoreException {
-		return element.createExecutableExtension(classAttribute);
-	}
-
-	/**
-	 * Creates an extension. If the extension plugin has not been loaded a
-	 * busy cursor will be activated during the duration of the load.
-	 * 
-	 * @param element
-	 *            the config element defining the extension
-	 * @param classAttribute
-	 *            the name of the attribute carrying the class
-	 * @return the extension object
-	 * @throws CoreException
-	 */
-	public static Object createExtension(final IConfigurationElement element, final String classAttribute) {
-		// If plugin has been loaded create extension.
-		// Otherwise, show busy cursor then create extension.
-		final Object[] result = new Object[1];
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		Bundle bundle = Platform.getBundle(pluginId);
-		if (bundle.getState() == Bundle.ACTIVE) {
-			try {
-				result[0] = createExecutableExtension(element, classAttribute);
-			}
-			catch (Exception e) {
-				handleCreateExecutableException(result, e);
-			}
-		}
-		else {
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					try {
-						result[0] = createExecutableExtension(element, classAttribute);
-					}
-					catch (CoreException e) {
-						handleCreateExecutableException(result, e);
-					}
-				}
-			});
-
-		}
-		return result[0];
-	}
-
-	/**
-	 * returns singleton instance of BreakpointProviderBuilder
-	 * 
-	 * @return BreakpointProviderBuilder
-	 */
-	public synchronized static BreakpointProviderBuilder getInstance() {
-		if (instance == null) {
-			instance = new BreakpointProviderBuilder();
-		}
-		return instance;
-	}
-
-	/**
-	 * @param result
-	 * @param e
-	 */
-	private static void handleCreateExecutableException(Object[] result, Throwable e) {
-		Logger.logException(e);
-		result[0] = null;
-
-	}
-
-	protected List cache;
-	private Map map = new HashMap();
-
-	protected String targetContributionTag;
-
-	/*
-	 * Constructor
-	 */
-	private BreakpointProviderBuilder() {
-		super();
-	}
-
-	/*
-	 * Creates a breakpoint provider object to given element @param element
-	 * configuration element object @return IBreakpointProvider
-	 */
-	protected IBreakpointProvider createBreakpointProvider(IConfigurationElement element) {
-		Object obj = createExtension(element, ATT_CLASS);
-		if (obj == null)
-			return null;
-		return (obj instanceof IBreakpointProvider) ? (IBreakpointProvider) obj : null;
-	}
-
-	/*
-	 * Creates an array of breakpoint providers matching the given key to the
-	 * value of the IConfigurationElement attribute "attrName" @return
-	 * IBreakpointProvider[]
-	 */
-	protected IBreakpointProvider[] createBreakpointProviders(String attrName, String key) {
-		if (cache == null)
-			return new IBreakpointProvider[0];
-
-		final int num = cache.size();
-		if (num == 0)
-			return new IBreakpointProvider[0];
-
-		IBreakpointProvider[] bp = new IBreakpointProvider[num];
-		int j = 0;
-		for (int i = 0; i < num; i++) {
-			Object obj = cache.get(i);
-			if (!(obj instanceof IConfigurationElement))
-				continue;
-
-			IConfigurationElement element = (IConfigurationElement) obj;
-			if (!TAG_PROVIDER.equals(element.getName()))
-				continue;
-
-			boolean doCreate = false;
-
-			String attrValues = element.getAttribute(attrName);
-
-			if (attrValues != null) {
-				StringTokenizer tokenizer = new StringTokenizer(attrValues, ","); //$NON-NLS-1$
-				while (tokenizer.hasMoreTokens()) {
-					String type = tokenizer.nextToken();
-					if (type.trim().equalsIgnoreCase(key.trim())) {
-						doCreate = true;
-						break;
-					}
-				}
-			}
-
-			if (doCreate) {
-				IBreakpointProvider b = createBreakpointProvider(element);
-				if (b != null) {
-					bp[j] = b;
-					j++;
-				}
-			}
-		}
-
-		IBreakpointProvider[] bp2 = new IBreakpointProvider[j];
-		for (int i = 0; i < j; i++) {
-			bp2[i] = bp[i];
-		}
-
-		return bp2;
-	}
-
-	/*
-	 * Returns a matching array of extension points matching this key. Doesn't
-	 * cause instantiation of providers. @return IBreakpointProvider[]
-	 */
-	protected IConfigurationElement[] findElements(String key) {
-		initCache();
-
-		if (cache == null || cache.size() == 0)
-			return new IConfigurationElement[0];
-
-		int num = cache.size();
-		List elements = new ArrayList(1);
-		for (int i = 0; i < num; i++) {
-			Object obj = cache.get(i);
-			if (!(obj instanceof IConfigurationElement))
-				continue;
-
-			IConfigurationElement element = (IConfigurationElement) obj;
-			if (!TAG_PROVIDER.equals(element.getName()))
-				continue;
-
-			boolean add = false;
-			String types = element.getAttribute(ATT_CONTENT_TYPES);
-			String exts = element.getAttribute(ATT_EXTENSIONS);
-
-			if (types == null && exts == null) {
-				add = true;
-			}
-
-			if (!add && types != null && types.length() > 0) {
-				IContentType testType = Platform.getContentTypeManager().getContentType(key);
-				StringTokenizer tokenizer = new StringTokenizer(types, ","); //$NON-NLS-1$
-				while (tokenizer.hasMoreTokens()) {
-					String type = tokenizer.nextToken();
-					IContentType contentType = Platform.getContentTypeManager().getContentType(type);
-					if (contentType != null && testType != null && contentType.isKindOf(testType)) {
-						add = true;
-						break;
-					}
-				}
-			}
-
-			if (!add && exts != null) {
-				StringTokenizer tokenizer = new StringTokenizer(exts, ","); //$NON-NLS-1$
-				while (tokenizer.hasMoreTokens()) {
-					String ext = tokenizer.nextToken();
-					if (ext.trim().equals(key.trim())) {
-						add = true;
-						break;
-					}
-				}
-			}
-
-			if (add) {
-				elements.add(element);
-			}
-		}
-		return (IConfigurationElement[]) elements.toArray(new IConfigurationElement[0]);
-	}
-
-	/**
-	 * Returns an array of breakpoint providers for a specified content type
-	 * handler
-	 * 
-	 * @param handler
-	 *            a content type handler
-	 * @param ext
-	 *            file extension
-	 * @return IBreakpointProvider[]
-	 */
-	public IBreakpointProvider[] getBreakpointProviders(IEditorPart editorpart, String contentTypeID, String ext) {
-		initCache();
-
-		// Get breakpoint providers for this content type handler
-		IBreakpointProvider[] providers1 = new IBreakpointProvider[0];
-		IContentType contentType = Platform.getContentTypeManager().getContentType(contentTypeID);
-		List holdProviders = new ArrayList(2);
-		while (contentType != null) {
-			IBreakpointProvider[] providers = (IBreakpointProvider[]) map.get(contentType.getId());
-			if (providers == null) {
-				providers = createBreakpointProviders(ATT_CONTENT_TYPES, contentType.getId());
-				if (providers != null) {
-					map.put(contentType.getId(), providers);
-					holdProviders.addAll(Arrays.asList(providers));
-				}
-			}
-			contentType = contentType.getBaseType();
-		}
-		providers1 = (IBreakpointProvider[]) holdProviders.toArray(new IBreakpointProvider[holdProviders.size()]);
-
-		// Get breakpoint providers for this extension
-		IBreakpointProvider[] providers2 = new IBreakpointProvider[0];
-		if (ext != null) {
-			providers2 = (IBreakpointProvider[]) map.get(ext);
-			if (providers2 == null) {
-				providers2 = createBreakpointProviders(ATT_EXTENSIONS, ext);
-				if (providers2 != null) {
-					map.put(ext, providers2);
-				}
-			}
-		}
-
-		// create single hash set to remove duplication
-		Set s = new HashSet();
-		s.addAll(Arrays.asList(providers1));
-		s.addAll(Arrays.asList(providers2));
-
-		// create IBreakpointProvider[] to return
-		IBreakpointProvider[] providers = new IBreakpointProvider[s.size()];
-		Iterator itr = s.iterator();
-		int i = 0;
-		SourceEditingTextTools tools = null;
-		if (editorpart != null && itr.hasNext())
-			tools = (SourceEditingTextTools) editorpart.getAdapter(SourceEditingTextTools.class);
-		while (itr.hasNext()) {
-			providers[i] = (IBreakpointProvider) itr.next();
-			providers[i].setSourceEditingTextTools(tools);
-			i++;
-		}
-		return providers;
-	}
-
-	/**
-	 * Returns corresponding resource from given parameters
-	 * 
-	 * @param input
-	 * @param handler
-	 * @param ext
-	 * @return IResource
-	 */
-	public IResource getResource(IEditorInput input, String contentType, String ext) {
-		IBreakpointProvider[] providers = getBreakpointProviders(null, contentType, ext);
-		IResource res = null;
-		for (int i = 0; i < providers.length; i++) {
-			res = providers[i].getResource(input);
-			if (res != null) {
-				break;
-			}
-		}
-		return res;
-	}
-
-	private void initCache() {
-		if (cache == null) {
-			cache = new ArrayList();
-			readContributions(TAG_BREAKPOINT_CONTRIBUTION, PL_BREAKPOINT);
-		}
-	}
-
-	/**
-	 * Returns an array of breakpoint providers for a specified content type
-	 * handler
-	 * 
-	 * @param handler
-	 *            a content type handler
-	 * @param ext
-	 *            file extension
-	 * @return boolean
-	 */
-	public boolean isAvailable(String contentType, String ext) {
-		boolean available = findElements(ext).length > 0;
-		if (!available && contentType != null)
-			available = findElements(contentType).length > 0;
-		return available;
-	}
-
-	/**
-	 * Reads the contributions from the registry for the provided workbench
-	 * part and the provided extension point ID.
-	 * 
-	 * @param tag
-	 * @param extensionPoint
-	 */
-	protected void readContributions(String tag, String extensionPoint) {
-		targetContributionTag = tag;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		readRegistry(registry, PLUGIN_ID, extensionPoint);
-	}
-
-	/*
-	 * @see com.ibm.sed.edit.internal.extension.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String tag = element.getName();
-		if (tag.equals(targetContributionTag)) {
-			readElementChildren(element);
-			return true;
-		}
-		else if (tag.equals(TAG_PROVIDER)) {
-			cache.add(element);
-			return true; // just cache the element - don't go into it
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/DropActionProxy.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/DropActionProxy.java
deleted file mode 100644
index 6ac39ab..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/DropActionProxy.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.extension;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.ui.extension.IExtendedSimpleEditor;
-import org.eclipse.wst.sse.ui.extensions.ISelfValidateEditAction;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- */
-public class DropActionProxy implements InvocationHandler {
-	public static Object newInstance(Object obj) {
-		Object instance = null;
-		try {
-			Set set = new HashSet();
-			Class clazz = obj.getClass();
-			while (clazz != null) {
-				Class[] interfaces = clazz.getInterfaces();
-				for (int i = 0; i < interfaces.length; i++) {
-					set.add(interfaces[i]);
-				}
-				clazz = clazz.getSuperclass();
-			}
-			Class[] classes = new Class[set.size()];
-			Iterator itr = set.iterator();
-			int i = 0;
-			while (itr.hasNext()) {
-				classes[i] = (Class) itr.next();
-				i++;
-			}
-			instance = Proxy.newProxyInstance(obj.getClass().getClassLoader(), classes, new DropActionProxy(obj));
-		} catch (Error e) {
-			Logger.logException("Exception while proxying a drop action", e); //$NON-NLS-1$
-			instance = obj;
-		}
-		return instance;
-	}
-
-	private IExtendedSimpleEditor editor = null;
-	private IStructuredModel fRecorder;
-	private Object obj;
-
-	private DropActionProxy(Object obj) {
-		this.obj = obj;
-	}
-
-	private void beginRecording() {
-		IDocument document = null;
-		if (editor != null) {
-			document = editor.getDocument();
-			if (document != null)
-				fRecorder = StructuredModelManager.getModelManager().getExistingModelForEdit(document);
-			// Prepare for Undo
-			if (fRecorder != null) {
-				IStructuredTextUndoManager um = fRecorder.getUndoManager();
-				if (um != null) {
-					if (this.obj instanceof IAction)
-						um.beginRecording(this, ((IAction) this.obj).getText(), ((IAction) this.obj).getDescription());
-					else
-						um.beginRecording(this);
-				}
-			}
-		}
-	}
-
-	private void endRecording() {
-		if (fRecorder != null) {
-			IStructuredTextUndoManager um = fRecorder.getUndoManager();
-			if (um != null)
-				um.endRecording(this);
-			fRecorder.releaseFromEdit();
-			fRecorder = null;
-		}
-	}
-
-	private Display getDisplay() {
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	/**
-	 * @see java.lang.reflect.InvocationHandler#invoke(Object, Method,
-	 *      Object[])
-	 */
-	public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
-		Object result;
-		String name = m.getName();
-		try {
-			if (name.equals("equals")) { //$NON-NLS-1$
-				// Workaround for JDK's bug 4652876
-				// "equals" always returns false even if both
-				// InvocationHandler
-				// class
-				// hold the same objects
-				// See
-				// http://developer.java.sun.com/developer/bugParade/bugs/4652876.html
-				// This problem is in the IBM SDK 1.3.1
-				// but I don't see the bug in Sun's JDK 1.4.1 (beta)
-				Object arg = args[0];
-				return (proxy.getClass() == arg.getClass() && equals(Proxy.getInvocationHandler(arg))) ? Boolean.TRUE : Boolean.FALSE;
-			} else if (name.equals("run")) { //$NON-NLS-1$
-				if (args[1] instanceof IExtendedSimpleEditor) {
-					editor = (IExtendedSimpleEditor) args[1];
-				}
-				beginRecording();
-				if ((editor != null) && !(obj instanceof ISelfValidateEditAction)) {
-					IStatus status = editor.validateEdit(getDisplay().getActiveShell());
-					if (!status.isOK()) {
-						return null;
-					}
-				}
-			}
-			result = m.invoke(obj, args);
-		} catch (InvocationTargetException e) {
-			throw e.getTargetException();
-		} catch (Exception e) {
-			throw new RuntimeException(e.getMessage());
-		} finally {
-			if (name.equals("run")) { //$NON-NLS-1$
-				endRecording();
-			}
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ExtendedEditorActionProxy.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ExtendedEditorActionProxy.java
deleted file mode 100644
index 64b0d28..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ExtendedEditorActionProxy.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.extension;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.ui.extension.IExtendedSimpleEditor;
-import org.eclipse.wst.sse.ui.extensions.ISelfValidateEditAction;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * Begins and ends UndoManager recording around run() and runWithEvent(...)
- */
-public class ExtendedEditorActionProxy implements InvocationHandler {
-	public static Object newInstance(Object obj) {
-		Set set = new HashSet();
-		Class clazz = obj.getClass();
-		while (clazz != null) {
-			Class[] interfaces = clazz.getInterfaces();
-			for (int i = 0; i < interfaces.length; i++) {
-				set.add(interfaces[i]);
-			}
-			clazz = clazz.getSuperclass();
-		}
-		Class[] classes = new Class[set.size()];
-		Iterator itr = set.iterator();
-		int i = 0;
-		while (itr.hasNext()) {
-			classes[i] = (Class) itr.next();
-			i++;
-		}
-		return Proxy.newProxyInstance(obj.getClass().getClassLoader(), classes, new ExtendedEditorActionProxy(obj));
-	}
-
-	private IExtendedSimpleEditor editor = null;
-	private IStructuredModel fRecorder;
-	private Object obj;
-
-	private ExtendedEditorActionProxy(Object obj) {
-		this.obj = obj;
-	}
-
-	private void beginRecording() {
-		IDocument document = null;
-		if (editor != null) {
-			document = editor.getDocument();
-			if (document != null)
-				fRecorder = StructuredModelManager.getModelManager().getExistingModelForEdit(document);
-			// Prepare for Undo
-			if (fRecorder != null) {
-				IStructuredTextUndoManager um = fRecorder.getUndoManager();
-				if (um != null) {
-					um.beginRecording(this, ((IAction) this.obj).getText(), ((IAction) this.obj).getDescription());
-				}
-			}
-		}
-	}
-
-	private void endRecording() {
-		if (fRecorder != null) {
-			IStructuredTextUndoManager um = fRecorder.getUndoManager();
-			if (um != null) {
-				um.endRecording(this);
-			}
-			fRecorder.releaseFromEdit();
-			fRecorder = null;
-		}
-	}
-
-	private Display getDisplay() {
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	/**
-	 * @see java.lang.reflect.InvocationHandler#invoke(Object, Method,
-	 *      Object[])
-	 */
-	public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
-		Object result = null;
-		String name = m.getName();
-		try {
-			if (name.equals("equals")) { //$NON-NLS-1$
-				// Workaround for JDK's bug 4652876
-				// "equals" always returns false even if both
-				// InvocationHandler
-				// class
-				// hold the same objects
-				// See
-				// http://developer.java.sun.com/developer/bugParade/bugs/4652876.html
-				// This problem is in the IBM SDK 1.3.1
-				// but I don't see the bug in Sun's JDK 1.4.1 (beta)
-				Object arg = args[0];
-				return (proxy.getClass() == arg.getClass() && equals(Proxy.getInvocationHandler(arg))) ? Boolean.TRUE : Boolean.FALSE;
-			} else if (name.equals("runWithEvent") || name.equals("run")) { //$NON-NLS-1$  //$NON-NLS-2$
-				beginRecording();
-				if ((editor != null) && !(this.obj instanceof ISelfValidateEditAction)) {
-					IStatus status = editor.validateEdit(getDisplay().getActiveShell());
-					if (!status.isOK()) {
-						return null;
-					}
-				}
-			} else if (name.equals("setActiveExtendedEditor")) { //$NON-NLS-1$
-				if (args[0] instanceof IExtendedSimpleEditor) {
-					editor = (IExtendedSimpleEditor) args[0];
-				}
-			}
-			result = m.invoke(this.obj, args);
-		} catch (InvocationTargetException e) {
-			Logger.logException(e.getTargetException());
-			//throw e.getTargetException();
-		} catch (Exception e) {
-			Logger.logException(e);
-			if (name.equals("runWithEvent") || name.equals("run")) { //$NON-NLS-1$  //$NON-NLS-2$
-				// only expose user-driven exceptions from "running" to the
-				// user
-				throw new RuntimeException(e.getMessage());
-			}
-		} finally {
-			if (name.equals("runWithEvent") || name.equals("run")) { //$NON-NLS-1$  //$NON-NLS-2$
-				endRecording();
-			}
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ImageUtil.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ImageUtil.java
deleted file mode 100644
index 72694d9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ImageUtil.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.extension;
-
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.Bundle;
-
-public class ImageUtil {
-
-
-	/**
-	 * Convenience Method. Returns an ImageDescriptor whose path, relative to
-	 * the plugin containing the <code>extension</code> is
-	 * <code>subdirectoryAndFilename</code>. If there isn't any value
-	 * associated with the name then <code>null
-	 * </code> is returned.
-	 * 
-	 * This method is convenience and only intended for use by the workbench
-	 * because it explicitly uses the workbench's registry for
-	 * caching/retrieving images from other extensions -- other plugins must
-	 * user their own registry. This convenience method is subject to removal.
-	 * 
-	 * Note: subdirectoryAndFilename must not have any leading "." or path
-	 * separators / or \ ISV's should use icons/mysample.gif and not
-	 * ./icons/mysample.gif
-	 * 
-	 * Note: This consults the plugin for extension and obtains its
-	 * installation location. all requested images are assumed to be in a
-	 * directory below and relative to that plugins installation directory.
-	 */
-	public static ImageDescriptor getImageDescriptorFromExtension(IExtension extension, String subdirectoryAndFilename) {
-		String pluginId = extension.getNamespace();
-		Bundle bundle = Platform.getBundle(pluginId);
-		return getImageDescriptorFromBundle(bundle, subdirectoryAndFilename);
-	}
-
-	/**
-	 * Convenience Method. Return an ImageDescriptor whose path relative to
-	 * the plugin described by <code>bundle</code> is
-	 * <code>subdirectoryAndFilename</code>. Returns <code>null</code> if
-	 * no image could be found.
-	 * 
-	 * This method is convenience and only intended for use by the workbench
-	 * because it explicitly uses the workbench's registry for
-	 * caching/retrieving images from other extensions -- other plugins must
-	 * user their own registry. This convenience method is subject to removal.
-	 * 
-	 * Note: subdirectoryAndFilename must not have any leading "." or path
-	 * separators / or \ ISV's should use icons/mysample.gif and not
-	 * ./icons/mysample.gif
-	 * 
-	 * Note: This consults the plugin for extension and obtains its
-	 * installation location. all requested images are assumed to be in a
-	 * directory below and relative to that plugins installation directory.
-	 */
-	public static ImageDescriptor getImageDescriptorFromBundle(Bundle bundle, String subdirectoryAndFilename) {
-
-		URL path = bundle.getEntry("/");
-		URL fullPathString = null;
-		try {
-			fullPathString = new URL(path, subdirectoryAndFilename);
-			return ImageDescriptor.createFromURL(fullPathString);
-		} catch (MalformedURLException e) {
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/RegistryReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/RegistryReader.java
deleted file mode 100644
index 578df54..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/RegistryReader.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.extension;
-
-
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.util.Sorter;
-
-
-/**
- * Template implementation of a registry reader that creates objects
- * representing registry contents. Typically, an extension contains one
- * element, but this reader handles multiple elements per extension.
- * 
- * To start reading the extensions from the registry for an extension point,
- * call the method <code>readRegistry</code>.
- * 
- * To read children of an IConfigurationElement, call the method
- * <code>readElementChildren</code> from your implementation of the method
- * <code>readElement</code>, as it will not be done by default.
- */
-public abstract class RegistryReader {
-
-
-	protected static final String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-
-	/**
-	 * The constructor.
-	 */
-	protected RegistryReader() {
-	}
-
-	/**
-	 * This method extracts description as a subelement of the given element.
-	 * 
-	 * @return description string if defined, or empty string if not.
-	 */
-	protected String getDescription(IConfigurationElement config) {
-		IConfigurationElement[] children = config.getChildren(TAG_DESCRIPTION);
-		if (children.length >= 1) {
-			return children[0].getValue();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Logs the error in the workbench log using the provided text and the
-	 * information in the configuration element.
-	 */
-	protected void logError(IConfigurationElement element, String text) {
-		IExtension extension = element.getDeclaringExtension();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + extension.getNamespace() + ", extension " + extension.getExtensionPointUniqueIdentifier()); //$NON-NLS-2$//$NON-NLS-1$
-		buf.append("\n" + text); //$NON-NLS-1$
-		Logger.log(Logger.ERROR, buf.toString());
-	}
-
-	/**
-	 * Logs a very common registry error when a required attribute is missing.
-	 */
-	protected void logMissingAttribute(IConfigurationElement element, String attributeName) {
-		logError(element, "Required attribute '" + attributeName + "' not defined"); //$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	/**
-	 * Logs a registry error when the configuration element is unknown.
-	 */
-	protected void logUnknownElement(IConfigurationElement element) {
-		logError(element, "Unknown extension tag found: " + element.getName()); //$NON-NLS-1$
-	}
-
-	/**
-	 * Apply a reproducable order to the list of extensions provided, such
-	 * that the order will not change as extensions are added or removed.
-	 */
-	protected IExtension[] orderExtensions(IExtension[] extensions) {
-		// By default, the order is based on plugin id sorted
-		// in ascending order. The order for a plugin providing
-		// more than one extension for an extension point is
-		// dependent in the order listed in the XML file.
-		Sorter sorter = new Sorter() {
-			public boolean compare(Object extension1, Object extension2) {
-				String s1 = ((IExtension) extension1).getNamespace().toUpperCase();
-				String s2 = ((IExtension) extension2).getNamespace().toUpperCase();
-				//Return true if elementTwo is 'greater than' elementOne
-				return s2.compareTo(s1) > 0;
-			}
-		};
-
-		Object[] sorted = sorter.sort(extensions);
-		IExtension[] sortedExtension = new IExtension[sorted.length];
-		System.arraycopy(sorted, 0, sortedExtension, 0, sorted.length);
-		return sortedExtension;
-	}
-
-	/**
-	 * Implement this method to read element's attributes. If children should
-	 * also be read, then implementor is responsible for calling
-	 * <code>readElementChildren</code>. Implementor is also responsible
-	 * for logging missing attributes.
-	 * 
-	 * @return true if element was recognized, false if not.
-	 */
-	protected abstract boolean readElement(IConfigurationElement element);
-
-	/**
-	 * Read the element's children. This is called by the subclass'
-	 * readElement method when it wants to read the children of the element.
-	 */
-	protected void readElementChildren(IConfigurationElement element) {
-		readElements(element.getChildren());
-	}
-
-	/**
-	 * Read each element one at a time by calling the subclass implementation
-	 * of <code>readElement</code>.
-	 * 
-	 * Logs an error if the element was not recognized.
-	 */
-	protected void readElements(IConfigurationElement[] elements) {
-		for (int i = 0; i < elements.length; i++) {
-			if (!readElement(elements[i]))
-				logUnknownElement(elements[i]);
-		}
-	}
-
-	/**
-	 * Read one extension by looping through its configuration elements.
-	 */
-	protected void readExtension(IExtension extension) {
-		readElements(extension.getConfigurationElements());
-	}
-
-	/**
-	 * @deprecated use readRegistry(IExtensionRegistry registry, String pluginId, String extensionPoint)
-	 */
-	protected void readRegistry(IPluginRegistry registry, String pluginId, String extensionPoint) {
-		IExtensionPoint point = registry.getExtensionPoint(pluginId, extensionPoint);
-		if (point != null) {
-			IExtension[] extensions = point.getExtensions();
-			extensions = orderExtensions(extensions);
-			for (int i = 0; i < extensions.length; i++)
-				readExtension(extensions[i]);
-		}
-	}
-	
-	/**
-	 * Start the registry reading process using the supplied plugin ID and
-	 * extension point.
-	 */
-	protected void readRegistry(IExtensionRegistry registry, String pluginId, String extensionPoint) {
-		IExtensionPoint point = registry.getExtensionPoint(pluginId, extensionPoint);
-		if (point != null) {
-			IExtension[] extensions = point.getExtensions();
-			extensions = orderExtensions(extensions);
-			for (int i = 0; i < extensions.length; i++)
-				readExtension(extensions[i]);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/hyperlink/HighlighterHyperlinkPresenter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/hyperlink/HighlighterHyperlinkPresenter.java
deleted file mode 100644
index 5085fa4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/hyperlink/HighlighterHyperlinkPresenter.java
+++ /dev/null
@@ -1,468 +0,0 @@
-package org.eclipse.wst.sse.ui.internal.hyperlink;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextInputListener;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITextViewerExtension2;
-import org.eclipse.jface.text.ITextViewerExtension5;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkPresenter;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-
-
-/**
- * The is almost an exact copy of DefaultHyperlinkPresenter. However this
- * hyperlink presenter works with the StructuredTextEditor's Highlighter
- * instead of TextPresentation.
- * 
- * The main difference is <code>text.redrawRange(offset, length, true);</code>
- * is called instead of passing false for clearBackground. Also all mention of
- * TextPresentation was removed since it does not really apply.
- * 
- * @see org.eclipse.jface.text.hyperlink.DefaultHyperlinkPresenter
- */
-public class HighlighterHyperlinkPresenter implements IHyperlinkPresenter, PaintListener, ITextInputListener, IDocumentListener, IPropertyChangeListener {
-
-	/**
-	 * A named preference that holds the color used for hyperlinks.
-	 * <p>
-	 * Value is of type <code>String</code>. A RGB color value encoded as a
-	 * string using class <code>PreferenceConverter</code>
-	 * </p>
-	 * 
-	 * @see org.eclipse.jface.resource.StringConverter
-	 * @see org.eclipse.jface.preference.PreferenceConverter
-	 */
-	public final static String HYPERLINK_COLOR = "hyperlinkColor"; //$NON-NLS-1$
-
-
-	/** The text viewer. */
-	private ITextViewer fTextViewer;
-	/** The hand cursor. */
-	private Cursor fCursor;
-	/** The link color. */
-	private Color fColor;
-	/** Tells whether to dispose the color on uninstall. */
-	private boolean fDisposeColor;
-	/** The currently active region. */
-	private IRegion fActiveRegion;
-	/** The currently active style range as position. */
-	private Position fRememberedPosition;
-	/** The optional preference store */
-	private IPreferenceStore fPreferenceStore;
-
-
-	/**
-	 * Creates a new default hyperlink presenter which uses
-	 * {@link #HYPERLINK_COLOR}to read the color from the given preference
-	 * store.
-	 * 
-	 * @param store
-	 *            the preference store
-	 */
-	public HighlighterHyperlinkPresenter(IPreferenceStore store) {
-		fPreferenceStore = store;
-		fDisposeColor = true;
-	}
-
-	/**
-	 * Creates a new default hyperlink presenter.
-	 * 
-	 * @param color
-	 *            the hyperlink color, to be disposed by the caller
-	 */
-	public HighlighterHyperlinkPresenter(Color color) {
-		fDisposeColor = false;
-		fColor = color;
-	}
-
-	public boolean canShowMultipleHyperlinks() {
-		return false;
-	}
-
-	public void showHyperlinks(IHyperlink[] hyperlinks) {
-		Assert.isLegal(hyperlinks != null && hyperlinks.length == 1);
-		highlightRegion(hyperlinks[0].getHyperlinkRegion());
-		activateCursor();
-	}
-
-	public void hideHyperlinks() {
-		repairRepresentation();
-		fRememberedPosition = null;
-	}
-
-	public void install(ITextViewer textViewer) {
-		Assert.isNotNull(textViewer);
-		fTextViewer = textViewer;
-		fTextViewer.addTextInputListener(this);
-
-		StyledText text = fTextViewer.getTextWidget();
-		if (text != null && !text.isDisposed()) {
-			text.addPaintListener(this);
-			if (fPreferenceStore != null)
-				fColor = createColor(fPreferenceStore, HYPERLINK_COLOR, text.getDisplay());
-		}
-
-		if (fPreferenceStore != null)
-			fPreferenceStore.addPropertyChangeListener(this);
-	}
-
-	public void uninstall() {
-		fTextViewer.removeTextInputListener(this);
-
-		if (fColor != null) {
-			if (fDisposeColor)
-				fColor.dispose();
-			fColor = null;
-		}
-
-		if (fCursor != null) {
-			fCursor.dispose();
-			fCursor = null;
-		}
-
-		StyledText text = fTextViewer.getTextWidget();
-		if (text != null && !text.isDisposed())
-			text.removePaintListener(this);
-
-		fTextViewer = null;
-
-		if (fPreferenceStore != null)
-			fPreferenceStore.removePropertyChangeListener(this);
-	}
-
-	public void setColor(Color color) {
-		Assert.isNotNull(fTextViewer);
-		fColor = color;
-	}
-
-	private void highlightRegion(IRegion region) {
-
-		if (region.equals(fActiveRegion))
-			return;
-
-		repairRepresentation();
-
-		StyledText text = fTextViewer.getTextWidget();
-		if (text == null || text.isDisposed())
-			return;
-
-
-		// Underline
-		int offset = 0;
-		int length = 0;
-		if (fTextViewer instanceof ITextViewerExtension5) {
-			ITextViewerExtension5 extension = (ITextViewerExtension5) fTextViewer;
-			IRegion widgetRange = extension.modelRange2WidgetRange(region);
-			if (widgetRange == null)
-				return;
-
-			offset = widgetRange.getOffset();
-			length = widgetRange.getLength();
-
-		}
-		else {
-			offset = region.getOffset() - fTextViewer.getVisibleRegion().getOffset();
-			length = region.getLength();
-		}
-
-		// needs to clean background due to StructuredTextEditor's highlighter
-		text.redrawRange(offset, length, true);
-
-		// Invalidate region ==> apply text presentation
-		fActiveRegion = region;
-
-		if (fTextViewer instanceof ITextViewerExtension2)
-			((ITextViewerExtension2) fTextViewer).invalidateTextPresentation(region.getOffset(), region.getLength());
-		else
-			fTextViewer.invalidateTextPresentation();
-	}
-
-	private void activateCursor() {
-		StyledText text = fTextViewer.getTextWidget();
-		if (text == null || text.isDisposed())
-			return;
-		Display display = text.getDisplay();
-		if (fCursor == null)
-			fCursor = new Cursor(display, SWT.CURSOR_HAND);
-		text.setCursor(fCursor);
-	}
-
-	private void resetCursor() {
-		StyledText text = fTextViewer.getTextWidget();
-		if (text != null && !text.isDisposed())
-			text.setCursor(null);
-
-		if (fCursor != null) {
-			fCursor.dispose();
-			fCursor = null;
-		}
-	}
-
-	private void repairRepresentation() {
-
-		if (fActiveRegion == null)
-			return;
-
-		int offset = fActiveRegion.getOffset();
-		int length = fActiveRegion.getLength();
-		fActiveRegion = null;
-
-		resetCursor();
-
-		// Invalidate ==> remove applied text presentation
-		if (fTextViewer instanceof ITextViewerExtension2)
-			((ITextViewerExtension2) fTextViewer).invalidateTextPresentation(offset, length);
-		else
-			fTextViewer.invalidateTextPresentation();
-
-		// Remove underline
-		if (fTextViewer instanceof ITextViewerExtension5) {
-			ITextViewerExtension5 extension = (ITextViewerExtension5) fTextViewer;
-			offset = extension.modelOffset2WidgetOffset(offset);
-		}
-		else {
-			offset -= fTextViewer.getVisibleRegion().getOffset();
-		}
-		try {
-			StyledText text = fTextViewer.getTextWidget();
-
-			// needs to clean background due to StructuredTextEditor's
-			// highlighter
-			text.redrawRange(offset, length, true);
-
-		}
-		catch (IllegalArgumentException x) {
-			// ignore - do not log
-		}
-	}
-
-	/*
-	 * @see PaintListener#paintControl(PaintEvent)
-	 */
-	public void paintControl(PaintEvent event) {
-		if (fActiveRegion == null)
-			return;
-
-		StyledText text = fTextViewer.getTextWidget();
-		if (text == null || text.isDisposed())
-			return;
-
-		int offset = 0;
-		int length = 0;
-
-		if (fTextViewer instanceof ITextViewerExtension5) {
-
-			ITextViewerExtension5 extension = (ITextViewerExtension5) fTextViewer;
-			IRegion widgetRange = extension.modelRange2WidgetRange(fActiveRegion);
-			if (widgetRange == null)
-				return;
-
-			offset = widgetRange.getOffset();
-			length = widgetRange.getLength();
-
-		}
-		else {
-
-			IRegion region = fTextViewer.getVisibleRegion();
-			if (!includes(region, fActiveRegion))
-				return;
-
-			offset = fActiveRegion.getOffset() - region.getOffset();
-			length = fActiveRegion.getLength();
-		}
-
-		// support for BIDI
-		Point minLocation = getMinimumLocation(text, offset, length);
-		Point maxLocation = getMaximumLocation(text, offset, length);
-
-		int x1 = minLocation.x;
-		int x2 = maxLocation.x - 1;
-		int y = minLocation.y + text.getLineHeight() - 1;
-
-		GC gc = event.gc;
-		if (fColor != null && !fColor.isDisposed())
-			gc.setForeground(fColor);
-		else if (fColor == null && !(offset < 0 && offset >= text.getCharCount())) {
-			StyleRange style = text.getStyleRangeAtOffset(offset);
-			if (style != null)
-				gc.setForeground(style.foreground);
-		}
-		gc.drawLine(x1, y, x2, y);
-	}
-
-	private Point getMinimumLocation(StyledText text, int offset, int length) {
-		int max = text.getCharCount();
-		Rectangle bounds = text.getBounds();
-		Point minLocation = new Point(bounds.width, bounds.height);
-		for (int i = 0; i <= length; i++) {
-			int k = offset + i;
-			if (k < 0 || k > max)
-				break;
-
-			Point location = text.getLocationAtOffset(k);
-			if (location.x < minLocation.x)
-				minLocation.x = location.x;
-			if (location.y < minLocation.y)
-				minLocation.y = location.y;
-		}
-
-		return minLocation;
-	}
-
-	private Point getMaximumLocation(StyledText text, int offset, int length) {
-		Point maxLocation = new Point(0, 0);
-
-		for (int i = 0; i <= length; i++) {
-			int k = offset + i;
-			if (k < 0 || k > text.getCharCount())
-				break;
-
-			Point location = text.getLocationAtOffset(k);
-			if (location.x > maxLocation.x)
-				maxLocation.x = location.x;
-			if (location.y > maxLocation.y)
-				maxLocation.y = location.y;
-		}
-
-		return maxLocation;
-	}
-
-	private boolean includes(IRegion region, IRegion position) {
-		return position.getOffset() >= region.getOffset() && position.getOffset() + position.getLength() <= region.getOffset() + region.getLength();
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent event) {
-		if (fActiveRegion != null) {
-			fRememberedPosition = new Position(fActiveRegion.getOffset(), fActiveRegion.getLength());
-			try {
-				event.getDocument().addPosition(fRememberedPosition);
-			}
-			catch (BadLocationException x) {
-				fRememberedPosition = null;
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentChanged(DocumentEvent event) {
-		if (fRememberedPosition != null) {
-			if (!fRememberedPosition.isDeleted()) {
-
-				event.getDocument().removePosition(fRememberedPosition);
-				fActiveRegion = new Region(fRememberedPosition.getOffset(), fRememberedPosition.getLength());
-				fRememberedPosition = null;
-
-				StyledText widget = fTextViewer.getTextWidget();
-				if (widget != null && !widget.isDisposed()) {
-					widget.getDisplay().asyncExec(new Runnable() {
-						public void run() {
-							hideHyperlinks();
-						}
-					});
-				}
-
-			}
-			else {
-				fActiveRegion = null;
-				fRememberedPosition = null;
-				hideHyperlinks();
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.ITextInputListener#inputDocumentAboutToBeChanged(org.eclipse.jface.text.IDocument,
-	 *      org.eclipse.jface.text.IDocument)
-	 */
-	public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
-		if (oldInput == null)
-			return;
-		hideHyperlinks();
-		oldInput.removeDocumentListener(this);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.ITextInputListener#inputDocumentChanged(org.eclipse.jface.text.IDocument,
-	 *      org.eclipse.jface.text.IDocument)
-	 */
-	public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
-		if (newInput == null)
-			return;
-		newInput.addDocumentListener(this);
-	}
-
-	/**
-	 * Creates a color from the information stored in the given preference
-	 * store.
-	 * 
-	 * @param store
-	 *            the preference store
-	 * @param key
-	 *            the key
-	 * @param display
-	 *            the display
-	 * @return the color or <code>null</code> if there is no such
-	 *         information available
-	 */
-	private Color createColor(IPreferenceStore store, String key, Display display) {
-
-		RGB rgb = null;
-
-		if (store.contains(key)) {
-
-			if (store.isDefault(key))
-				rgb = PreferenceConverter.getDefaultColor(store, key);
-			else
-				rgb = PreferenceConverter.getColor(store, key);
-
-			if (rgb != null)
-				return new Color(display, rgb);
-		}
-
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (!HYPERLINK_COLOR.equals(event.getProperty()))
-			return;
-
-		if (fDisposeColor && fColor != null && !fColor.isDisposed())
-			fColor.dispose();
-		fColor = null;
-
-		StyledText textWidget = fTextViewer.getTextWidget();
-		if (textWidget != null && !textWidget.isDisposed())
-			fColor = createColor(fPreferenceStore, HYPERLINK_COLOR, textWidget.getDisplay());
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/hyperlink/OpenHyperlinkAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/hyperlink/OpenHyperlinkAction.java
deleted file mode 100644
index 9994523..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/hyperlink/OpenHyperlinkAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.wst.sse.ui.internal.hyperlink;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-
-/**
- * Open hyperlink action
- */
-public class OpenHyperlinkAction extends TextEditorAction {
-	private IHyperlinkDetector[] fHyperlinkDetectors;
-	private ITextViewer fTextViewer;
-
-	public OpenHyperlinkAction(ResourceBundle bundle, String prefix, ITextEditor editor, ITextViewer viewer) {
-		super(bundle, prefix, editor);
-		fTextViewer = viewer;
-	}
-
-	public void setHyperlinkDetectors(IHyperlinkDetector[] detectors) {
-		fHyperlinkDetectors = detectors;
-	}
-
-	public void run() {
-		if (fHyperlinkDetectors == null)
-			return;
-		ISelection selection = getTextEditor().getSelectionProvider().getSelection();
-		if (selection == null || !(selection instanceof ITextSelection)) {
-			return;
-		}
-
-		ITextSelection textSelection = (ITextSelection) selection;
-		IRegion region = new Region(textSelection.getOffset(), textSelection.getLength());
-		IHyperlink hyperlink = null;
-
-		synchronized (fHyperlinkDetectors) {
-			for (int i = 0, length = fHyperlinkDetectors.length; i < length && hyperlink == null; i++) {
-				IHyperlinkDetector detector = fHyperlinkDetectors[i];
-				if (detector == null)
-					continue;
-
-				IHyperlink[] hyperlinks = detector.detectHyperlinks(fTextViewer, region, false);
-				if (hyperlinks == null)
-					continue;
-
-				if (hyperlinks.length > 0)
-					hyperlink = hyperlinks[0];
-			}
-		}
-		if (hyperlink != null) {
-			/**
-			 * Force the highlight range to change when the hyperlink is
-			 * opened by altering the highlighted range beforehand.
-			 */
-			getTextEditor().setHighlightRange(Math.max(0, region.getOffset() - 1), 0, false);
-			hyperlink.open();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/ExternalFileEditorInput.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/ExternalFileEditorInput.java
deleted file mode 100644
index 58eb658..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/ExternalFileEditorInput.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.openon;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.editors.text.ILocationProvider;
-
-/**
- * EditorInput for external files. Copied from
- * org.eclipse.ui.internal.editors.text.JavaFileEditorInput
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-public class ExternalFileEditorInput implements IEditorInput, ILocationProvider {
-
-	private File fFile;
-
-	public ExternalFileEditorInput(File file) {
-		super();
-		fFile = file;
-	}
-
-	/*
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object o) {
-		if (o == this)
-			return true;
-
-		if (o instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) o;
-			return fFile.equals(input.fFile);
-		}
-
-		return false;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return fFile.exists();
-	}
-
-	/*
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (ILocationProvider.class.equals(adapter))
-			return this;
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return fFile.getName();
-	}
-
-	/*
-	 * @see org.eclipse.ui.editors.text.ILocationProvider#getPath(java.lang.Object)
-	 */
-	public IPath getPath(Object element) {
-		if (element instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) element;
-			return new Path(input.fFile.getAbsolutePath());
-		}
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return fFile.getAbsolutePath();
-	}
-
-	/*
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fFile.hashCode();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenFileHyperlinkTracker.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenFileHyperlinkTracker.java
deleted file mode 100644
index 159d9dc..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenFileHyperlinkTracker.java
+++ /dev/null
@@ -1,662 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.openon;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextInputListener;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITextViewerExtension5;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.sse.ui.extensions.openon.IOpenOn;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.openon.OpenOnProvider;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-
-/**
- * @deprecated Use org.eclipse.jface.text.hyperlink.HyperlinkManager
- */
-public class OpenFileHyperlinkTracker implements KeyListener, MouseListener, MouseMoveListener, FocusListener, PaintListener, IPropertyChangeListener, IDocumentListener, ITextInputListener {
-
-	/** The session is active. */
-	private boolean fActive;
-
-	/** The currently active style range. */
-	private IRegion fActiveRegion;
-	/** Preference key for browser-like links to be enabled */
-	private String fBrowserLikeLinksKeyModifierKey;
-
-	/** The link color. */
-	private Color fColor;
-	/** The hand cursor. */
-	private Cursor fCursor;
-	/** The key modifier mask. */
-	private int fKeyModifierMask;
-	/** Preference key for hyperlink underline color */
-	private String fLinkColorKey;
-	/** The preference store */
-	private IPreferenceStore fPreferenceStore;
-	/** The currently active style range as position. */
-	private Position fRememberedPosition;
-
-	/** The text viewer this hyperlink tracker is associated with */
-	private ITextViewer fTextViewer;
-
-	/**
-	 *  
-	 */
-	public OpenFileHyperlinkTracker(ITextViewer textViewer) {
-		fTextViewer = textViewer;
-	}
-
-	private void activateCursor(ITextViewer viewer) {
-		StyledText text = viewer.getTextWidget();
-		if (text == null || text.isDisposed())
-			return;
-		Display display = text.getDisplay();
-		if (fCursor == null)
-			fCursor = new Cursor(display, SWT.CURSOR_HAND);
-		text.setCursor(fCursor);
-	}
-
-	private int computeStateMask(String modifiers) {
-		if (modifiers == null)
-			return -1;
-
-		if (modifiers.length() == 0)
-			return SWT.NONE;
-
-		int stateMask = 0;
-		StringTokenizer modifierTokenizer = new StringTokenizer(modifiers, ",;.:+-* "); //$NON-NLS-1$
-		while (modifierTokenizer.hasMoreTokens()) {
-			int modifier = EditorUtility.findLocalizedModifier(modifierTokenizer.nextToken());
-			if (modifier == 0 || (stateMask & modifier) == modifier)
-				return -1;
-			stateMask = stateMask | modifier;
-		}
-		return stateMask;
-	}
-
-	/**
-	 * Creates a color from the information stored in the given preference
-	 * store. Returns <code>null</code> if there is no such information
-	 * available.
-	 */
-	private Color createColor(IPreferenceStore store, String key, Display display) {
-
-		RGB rgb = null;
-
-		if (store.contains(key)) {
-
-			if (store.isDefault(key))
-				rgb = PreferenceConverter.getDefaultColor(store, key);
-			else
-				rgb = PreferenceConverter.getColor(store, key);
-		}
-
-		return EditorUtility.getColor(rgb);
-	}
-
-	public void deactivate() {
-		deactivate(false);
-	}
-
-	public void deactivate(boolean redrawAll) {
-		if (!fActive)
-			return;
-
-		repairRepresentation(redrawAll);
-		fActive = false;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent event) {
-		if (fActive && fActiveRegion != null) {
-			fRememberedPosition = new Position(fActiveRegion.getOffset(), fActiveRegion.getLength());
-			try {
-				event.getDocument().addPosition(fRememberedPosition);
-			} catch (BadLocationException x) {
-				fRememberedPosition = null;
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentChanged(DocumentEvent event) {
-		if (fRememberedPosition != null) {
-			if (!fRememberedPosition.isDeleted()) {
-
-				event.getDocument().removePosition(fRememberedPosition);
-				fActiveRegion = new Region(fRememberedPosition.getOffset(), fRememberedPosition.getLength());
-				fRememberedPosition = null;
-
-				ITextViewer viewer = getTextViewer();
-				if (viewer != null) {
-					StyledText widget = viewer.getTextWidget();
-					if (widget != null && !widget.isDisposed()) {
-						widget.getDisplay().asyncExec(new Runnable() {
-							public void run() {
-								deactivate();
-							}
-						});
-					}
-				}
-
-			} else {
-				fActiveRegion = null;
-				fRememberedPosition = null;
-				deactivate();
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.swt.events.FocusListener#focusGained(org.eclipse.swt.events.FocusEvent)
-	 */
-	public void focusGained(FocusEvent e) {
-	}
-
-	/*
-	 * @see org.eclipse.swt.events.FocusListener#focusLost(org.eclipse.swt.events.FocusEvent)
-	 */
-	public void focusLost(FocusEvent event) {
-		deactivate();
-	}
-
-	private int getCurrentTextOffset() {
-		try {
-			StyledText text = getTextViewer().getTextWidget();
-			if (text == null || text.isDisposed())
-				return -1;
-
-			Display display = text.getDisplay();
-			Point absolutePosition = display.getCursorLocation();
-			Point relativePosition = text.toControl(absolutePosition);
-
-			int widgetOffset = text.getOffsetAtLocation(relativePosition);
-			if (getTextViewer() instanceof ITextViewerExtension5) {
-				ITextViewerExtension5 extension = (ITextViewerExtension5) getTextViewer();
-				return extension.widgetOffset2ModelOffset(widgetOffset);
-			} else {
-				return widgetOffset + getTextViewer().getVisibleRegion().getOffset();
-			}
-
-		} catch (IllegalArgumentException e) {
-			return -1;
-		}
-	}
-
-	private Point getMaximumLocation(StyledText text, int offset, int length) {
-		Point maxLocation = new Point(Integer.MIN_VALUE, Integer.MIN_VALUE);
-
-		for (int i = 0; i <= length; i++) {
-			Point location = text.getLocationAtOffset(offset + i);
-
-			if (location.x > maxLocation.x)
-				maxLocation.x = location.x;
-			if (location.y > maxLocation.y)
-				maxLocation.y = location.y;
-		}
-
-		return maxLocation;
-	}
-
-	private Point getMinimumLocation(StyledText text, int offset, int length) {
-		Point minLocation = new Point(Integer.MAX_VALUE, Integer.MAX_VALUE);
-
-		for (int i = 0; i <= length; i++) {
-			Point location = text.getLocationAtOffset(offset + i);
-
-			if (location.x < minLocation.x)
-				minLocation.x = location.x;
-			if (location.y < minLocation.y)
-				minLocation.y = location.y;
-		}
-
-		return minLocation;
-	}
-
-	private IPreferenceStore getNewPreferenceStore() {
-		return fPreferenceStore;
-	}
-
-	private ITextViewer getTextViewer() {
-		return fTextViewer;
-	}
-
-	private void highlightRegion(ITextViewer viewer, IRegion region) {
-
-		if (region.equals(fActiveRegion))
-			return;
-
-		repairRepresentation();
-
-		StyledText text = viewer.getTextWidget();
-		if (text == null || text.isDisposed())
-			return;
-
-
-		// Underline
-		int offset = 0;
-		int length = 0;
-		if (viewer instanceof ITextViewerExtension5) {
-			ITextViewerExtension5 extension = (ITextViewerExtension5) viewer;
-			IRegion widgetRange = extension.modelRange2WidgetRange(new Region(region.getOffset(), region.getLength()));
-			if (widgetRange == null)
-				return;
-
-			offset = widgetRange.getOffset();
-			length = widgetRange.getLength();
-
-		} else {
-			offset = region.getOffset() - viewer.getVisibleRegion().getOffset();
-			length = region.getLength();
-		}
-		// need clearBackground to be true for paint event to be fired
-		text.redrawRange(offset, length, true);
-
-		fActiveRegion = region;
-	}
-
-	private boolean includes(IRegion region, IRegion position) {
-		return position.getOffset() >= region.getOffset() && position.getOffset() + position.getLength() <= region.getOffset() + region.getLength();
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.ITextInputListener#inputDocumentAboutToBeChanged(org.eclipse.jface.text.IDocument,
-	 *      org.eclipse.jface.text.IDocument)
-	 */
-	public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
-		if (oldInput == null)
-			return;
-		deactivate();
-		oldInput.removeDocumentListener(this);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.ITextInputListener#inputDocumentChanged(org.eclipse.jface.text.IDocument,
-	 *      org.eclipse.jface.text.IDocument)
-	 */
-	public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
-		if (newInput == null)
-			return;
-		newInput.addDocumentListener(this);
-	}
-
-	public void install(IPreferenceStore store) {
-		fPreferenceStore = store;
-		ITextViewer textViewer = getTextViewer();
-		if (textViewer == null)
-			return;
-
-		StyledText text = textViewer.getTextWidget();
-		if (text == null || text.isDisposed())
-			return;
-
-		updateColor(textViewer);
-
-		textViewer.addTextInputListener(this);
-
-		IDocument document = textViewer.getDocument();
-		if (document != null)
-			document.addDocumentListener(this);
-
-		text.addKeyListener(this);
-		text.addMouseListener(this);
-		text.addMouseMoveListener(this);
-		text.addFocusListener(this);
-		text.addPaintListener(this);
-
-		updateKeyModifierMask();
-
-		fPreferenceStore.addPropertyChangeListener(this);
-	}
-
-	/*
-	 * @see org.eclipse.swt.events.KeyListener#keyPressed(org.eclipse.swt.events.KeyEvent)
-	 */
-	public void keyPressed(KeyEvent event) {
-
-		if (fActive) {
-			deactivate();
-			return;
-		}
-
-		if (event.keyCode != fKeyModifierMask) {
-			deactivate();
-			return;
-		}
-
-		fActive = true;
-
-		//			removed for #25871
-		//
-		//			ISourceViewer viewer= getSourceViewer();
-		//			if (viewer == null)
-		//				return;
-		//			
-		//			IRegion region= getCurrentTextRegion(viewer);
-		//			if (region == null)
-		//				return;
-		//			
-		//			highlightRegion(viewer, region);
-		//			activateCursor(viewer);
-	}
-
-	/*
-	 * @see org.eclipse.swt.events.KeyListener#keyReleased(org.eclipse.swt.events.KeyEvent)
-	 */
-	public void keyReleased(KeyEvent event) {
-
-		if (!fActive)
-			return;
-
-		deactivate();
-	}
-
-	/*
-	 * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseDoubleClick(MouseEvent e) {
-	}
-
-	/*
-	 * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseDown(MouseEvent event) {
-
-		if (!fActive)
-			return;
-
-		if (event.stateMask != fKeyModifierMask) {
-			deactivate();
-			return;
-		}
-
-		if (event.button != 1) {
-			deactivate();
-			return;
-		}
-	}
-
-	/*
-	 * @see org.eclipse.swt.events.MouseMoveListener#mouseMove(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseMove(MouseEvent event) {
-
-		if (event.widget instanceof Control && !((Control) event.widget).isFocusControl()) {
-			deactivate();
-			return;
-		}
-
-		if (!fActive) {
-			if (event.stateMask != fKeyModifierMask)
-				return;
-			// modifier was already pressed
-			fActive = true;
-		}
-
-		ITextViewer viewer = getTextViewer();
-		if (viewer == null) {
-			deactivate();
-			return;
-		}
-
-		StyledText text = viewer.getTextWidget();
-		if (text == null || text.isDisposed()) {
-			deactivate();
-			return;
-		}
-
-		if ((event.stateMask & SWT.BUTTON1) != 0 && text.getSelectionCount() != 0) {
-			deactivate();
-			return;
-		}
-
-		IRegion region = null;
-		int offset = getCurrentTextOffset();
-		IOpenOn openOn = OpenOnProvider.getInstance().getOpenOn(getTextViewer().getDocument(), offset);
-		if (openOn != null) {
-			region = openOn.getOpenOnRegion(getTextViewer().getDocument(), offset);
-		}
-		if (region == null || region.getLength() == 0) {
-			repairRepresentation();
-			return;
-		}
-
-		highlightRegion(viewer, region);
-		activateCursor(viewer);
-	}
-
-	/*
-	 * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseUp(MouseEvent e) {
-
-		if (!fActive)
-			return;
-
-		if (e.button != 1) {
-			deactivate();
-			return;
-		}
-
-		boolean wasActive = fCursor != null;
-		IRegion previousRegion = fActiveRegion;
-
-		deactivate();
-
-		if (wasActive) {
-			IOpenOn openOn = OpenOnProvider.getInstance().getOpenOn(getTextViewer().getDocument(), previousRegion.getOffset());
-			if (openOn != null) {
-				openOn.openOn(getTextViewer().getDocument(), previousRegion);
-			}
-		}
-	}
-
-	/*
-	 * @see PaintListener#paintControl(PaintEvent)
-	 */
-	public void paintControl(PaintEvent event) {
-		if (fActiveRegion == null)
-			return;
-
-		ITextViewer viewer = getTextViewer();
-		if (viewer == null)
-			return;
-
-		StyledText text = viewer.getTextWidget();
-		if (text == null || text.isDisposed())
-			return;
-
-
-		int offset = 0;
-		int length = 0;
-
-		if (viewer instanceof ITextViewerExtension5) {
-
-			ITextViewerExtension5 extension = (ITextViewerExtension5) viewer;
-			IRegion widgetRange = extension.modelRange2WidgetRange(fActiveRegion);
-			if (widgetRange == null)
-				return;
-
-			offset = widgetRange.getOffset();
-			length = widgetRange.getLength();
-
-		} else {
-
-			IRegion region = viewer.getVisibleRegion();
-			if (!includes(region, fActiveRegion))
-				return;
-
-			offset = fActiveRegion.getOffset() - region.getOffset();
-			length = fActiveRegion.getLength();
-		}
-
-		// support for bidi
-		Point minLocation = getMinimumLocation(text, offset, length);
-		Point maxLocation = getMaximumLocation(text, offset, length);
-
-		int x1 = minLocation.x;
-		int x2 = minLocation.x + maxLocation.x - minLocation.x - 1;
-		int y = minLocation.y + text.getLineHeight() - 1;
-
-		GC gc = event.gc;
-		if (fColor != null && !fColor.isDisposed())
-			gc.setForeground(fColor);
-		gc.drawLine(x1, y, x2, y);
-	}
-
-	/*
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(fLinkColorKey)) {
-			ITextViewer viewer = getTextViewer();
-			if (viewer != null)
-				updateColor(viewer);
-		} else if (event.getProperty().equals(fBrowserLikeLinksKeyModifierKey)) {
-			updateKeyModifierMask();
-		}
-	}
-
-	private void repairRepresentation() {
-		repairRepresentation(false);
-	}
-
-	private void repairRepresentation(boolean redrawAll) {
-
-		if (fActiveRegion == null)
-			return;
-
-		int offset = fActiveRegion.getOffset();
-		int length = fActiveRegion.getLength();
-		fActiveRegion = null;
-
-		ITextViewer viewer = getTextViewer();
-		if (viewer != null) {
-
-			resetCursor(viewer);
-
-			// Remove underline
-			if (viewer instanceof ITextViewerExtension5) {
-				ITextViewerExtension5 extension = (ITextViewerExtension5) viewer;
-				offset = extension.modelOffset2WidgetOffset(offset);
-			} else {
-				offset -= viewer.getVisibleRegion().getOffset();
-			}
-			try {
-				StyledText text = viewer.getTextWidget();
-
-				// need clearBackground to be true for paint event to be fired
-				text.redrawRange(offset, length, true);
-			} catch (IllegalArgumentException x) {
-				Logger.logException(x);
-			}
-		}
-	}
-
-	private void resetCursor(ITextViewer viewer) {
-		StyledText text = viewer.getTextWidget();
-		if (text != null && !text.isDisposed())
-			text.setCursor(null);
-
-		if (fCursor != null) {
-			fCursor.dispose();
-			fCursor = null;
-		}
-	}
-
-	public void setHyperlinkPreferenceKeys(String linkColorKey, String browserLikeLinksKeyModifierKey) {
-		fLinkColorKey = linkColorKey;
-		fBrowserLikeLinksKeyModifierKey = browserLikeLinksKeyModifierKey;
-	}
-
-	public void uninstall() {
-		if (fCursor != null) {
-			fCursor.dispose();
-			fCursor = null;
-		}
-
-		ITextViewer textViewer = getTextViewer();
-		if (textViewer == null)
-			return;
-
-		textViewer.removeTextInputListener(this);
-
-		IDocument document = textViewer.getDocument();
-		if (document != null)
-			document.removeDocumentListener(this);
-
-		IPreferenceStore preferenceStore = getNewPreferenceStore();
-		if (preferenceStore != null)
-			preferenceStore.removePropertyChangeListener(this);
-
-		StyledText text = textViewer.getTextWidget();
-		if (text == null || text.isDisposed())
-			return;
-
-		text.removeKeyListener(this);
-		text.removeMouseListener(this);
-		text.removeMouseMoveListener(this);
-		text.removeFocusListener(this);
-		text.removePaintListener(this);
-	}
-
-	private void updateColor(ITextViewer viewer) {
-		StyledText text = viewer.getTextWidget();
-		if (text == null || text.isDisposed())
-			return;
-
-		Display display = text.getDisplay();
-		fColor = createColor(getNewPreferenceStore(), fLinkColorKey, display);
-	}
-
-	private void updateKeyModifierMask() {
-		String modifiers = getNewPreferenceStore().getString(fBrowserLikeLinksKeyModifierKey);
-		fKeyModifierMask = computeStateMask(modifiers);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnAction.java
deleted file mode 100644
index 9804db2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnAction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.openon;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.ui.extension.IExtendedSimpleEditor;
-import org.eclipse.wst.sse.ui.extensions.openon.IOpenOn;
-import org.eclipse.wst.sse.ui.openon.OpenOnProvider;
-
-
-/**
- * Determines the appropriate IOpenFileAction to call based on current
- * partition.
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-public class OpenOnAction extends TextEditorAction {
-	public OpenOnAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		BusyIndicator.showWhile(getTextEditor().getEditorSite().getShell().getDisplay(), new Runnable() {
-			public void run() {
-				ITextEditor editor = getTextEditor();
-
-				// figure out current offset
-				int offset = -1;
-				if (editor instanceof IExtendedSimpleEditor) {
-					offset = ((IExtendedSimpleEditor) editor).getCaretPosition();
-				} else {
-					if (editor.getSelectionProvider() != null) {
-						ISelection sel = editor.getSelectionProvider().getSelection();
-						if (sel instanceof ITextSelection) {
-							offset = ((ITextSelection) sel).getOffset();
-						}
-					}
-				}
-				IDocument document = editor.getDocumentProvider().getDocument(editor.getEditorInput());
-				IOpenOn openOn = OpenOnProvider.getInstance().getOpenOn(document, offset);
-				if (openOn != null) {
-					openOn.openOn(document, new Region(offset, 0));
-				}
-			}
-		});
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnBuilder.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnBuilder.java
deleted file mode 100644
index b62de63..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnBuilder.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.openon;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-
-
-/**
- * Reads extensions for open on extension point,
- * org.eclipse.wst.sse.ui.extensions.openon
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-public class OpenOnBuilder extends RegistryReader {
-	public static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	public static final String ATT_ID = "id"; //$NON-NLS-1$
-
-	private static OpenOnBuilder fInstance;
-	// extension point ID
-	public static final String PL_OPENON = "openon"; //$NON-NLS-1$
-
-	public static final String PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-	public static final String TAG_CONTENT_TYPE_IDENTIFIER = "contenttypeidentifier"; //$NON-NLS-1$
-
-	public static final String TAG_OPENON = "openon"; //$NON-NLS-1$
-	public static final String TAG_PARTITION_TYPE = "partitiontype"; //$NON-NLS-1$
-
-	/**
-	 * returns singleton instance of OpenOnBuilder
-	 * 
-	 * @return OpenOnBuilder
-	 */
-	public synchronized static OpenOnBuilder getInstance() {
-		if (fInstance == null) {
-			fInstance = new OpenOnBuilder();
-		}
-		return fInstance;
-	}
-
-	private String fCurrentContentType;
-	private OpenOnDefinition fCurrentOpenOnDefinition = null;
-
-	private List fOpenOnDefs = null;
-
-	protected String targetContributionTag;
-
-	/**
-	 * Returns the name of the part ID attribute that is expected in the
-	 * target extension.
-	 * 
-	 * @param element
-	 * @return String
-	 */
-	protected String getId(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_ID);
-		return value;
-	}
-
-	protected String getOpenOnClass(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_CLASS);
-		return value;
-	}
-
-	/**
-	 * Returns all the open on definition objects
-	 * 
-	 * @return
-	 */
-	public OpenOnDefinition[] getOpenOnDefinitions() {
-		initCache();
-		return (OpenOnDefinition[]) fOpenOnDefs.toArray(new OpenOnDefinition[fOpenOnDefs.size()]);
-	}
-
-	/**
-	 * Returns all the open on definition objects valid for
-	 * contentType/partitionType
-	 * 
-	 * @param contentType
-	 * @param partitionType
-	 * @return if either contentType or partitionType is null, null is
-	 *         returned
-	 */
-	public OpenOnDefinition[] getOpenOnDefinitions(String contentType, String partitionType) {
-		if (contentType == null || partitionType == null) {
-			// should not be able to define an openon without a content type
-			// but if it were possible then would need to search all openon
-			// definitions for
-			// definitions with empty contentType list
-			return null;
-		}
-
-		// entire list of openon definition objects
-		OpenOnDefinition[] allDefs = getOpenOnDefinitions();
-		// current list of open on definitions valid for
-		// contentType/partitionType
-		List defs = new ArrayList();
-		// default definitions that should be added to end of list of open on
-		// definitions
-		List lastDefs = new ArrayList();
-
-		for (int i = 0; i < allDefs.length; ++i) {
-			// for each one check if it contains contentType
-			List partitions = (List) allDefs[i].getContentTypes().get(contentType);
-			if (partitions != null) {
-				// this openon definition is valid for all partition types for
-				// this content type
-				if (partitions.isEmpty()) {
-					// this will be added to end of list because this is
-					// considered a default openon
-					lastDefs.add(allDefs[i]);
-				} else {
-					// examine the partition types of this openon
-					int j = 0; // current index in list of partitions
-					boolean added = false; // openon has been added to list
-					while (j < partitions.size() && !added) {
-						// this openon definition applies to partitionType so
-						// add to list of valid openons
-						if (partitionType.equals(partitions.get(j))) {
-							defs.add(allDefs[i]);
-							added = true;
-						} else {
-							// continue checking to see if this openon
-							// definition is valid for current partitionType
-							++j;
-						}
-					}
-				}
-			}
-		}
-		// append the default openon definitions
-		defs.addAll(lastDefs);
-
-		// return the list
-		return (OpenOnDefinition[]) defs.toArray(new OpenOnDefinition[defs.size()]);
-	}
-
-	private void initCache() {
-		if (fOpenOnDefs == null) {
-			fOpenOnDefs = new ArrayList(0);
-			readContributions(TAG_OPENON, PL_OPENON);
-		}
-	}
-
-	/**
-	 * Processes element which should be a configuration element specifying a
-	 * content type for the current open on tag. Assumes that there is a valid
-	 * current open on definition object.
-	 * 
-	 * @param element
-	 *            contenttypeidentifier configuration element
-	 */
-	private void processContentTypeTag(IConfigurationElement element) {
-		// add to current openOnDefinition
-		String theId = getId(element);
-
-		if (theId != null) {
-			fCurrentContentType = theId;
-			fCurrentOpenOnDefinition.addContentTypeId(fCurrentContentType);
-		} else {
-			fCurrentContentType = null;
-		}
-	}
-
-	/**
-	 * Processes element which should be a configuration element specifying an
-	 * open on object. Creates a new open on definition object and adds it to
-	 * the list of open on definition objects
-	 * 
-	 * @param element
-	 *            openon configuration element
-	 */
-	private void processOpenOnTag(IConfigurationElement element) {
-		String theId = getId(element);
-		String theClass = getOpenOnClass(element);
-
-		if (theId != null && theClass != null) {
-			// start building new OpenOnDefinition
-			fCurrentOpenOnDefinition = new OpenOnDefinition(theId, theClass, element);
-			fOpenOnDefs.add(fCurrentOpenOnDefinition);
-		} else {
-			fCurrentOpenOnDefinition = null;
-		}
-	}
-
-	/**
-	 * Processes element which should be a configuration element specifying a
-	 * partition type for the current open on/content type tag. Assumes that
-	 * there is a valid current open on/content type tag.
-	 * 
-	 * @param element
-	 *            partitiontype configuration element
-	 */
-	private void processPartitionTypeTag(IConfigurationElement element) {
-		// add to current openOnDefinition/contentType
-		String theId = getId(element);
-
-		if (theId != null) {
-			fCurrentOpenOnDefinition.addPartitionType(fCurrentContentType, theId);
-		}
-	}
-
-	/**
-	 * Reads the contributions from the registry for the provided workbench
-	 * part and the provided extension point ID.
-	 * 
-	 * @param tag
-	 * @param extensionPoint
-	 */
-	protected void readContributions(String tag, String extensionPoint) {
-		targetContributionTag = tag;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		readRegistry(registry, PLUGIN_ID, extensionPoint);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.internal.extension.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String tag = element.getName();
-
-		if (tag.equals(targetContributionTag)) {
-			processOpenOnTag(element);
-
-			// make sure processing of current open on tag resulted in a
-			// current open on definition
-			// before continue reading the children
-			if (fCurrentOpenOnDefinition != null) {
-				readElementChildren(element);
-			}
-			return true;
-		} else if (tag.equals(TAG_CONTENT_TYPE_IDENTIFIER)) {
-			processContentTypeTag(element);
-
-			// make sure processing of current content type resulted in a
-			// valid content type
-			// before reading the children
-			if (fCurrentContentType != null) {
-				readElementChildren(element);
-			}
-			return true;
-		} else if (tag.equals(TAG_PARTITION_TYPE)) {
-			processPartitionTypeTag(element);
-			return true;
-		}
-
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnDefinition.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnDefinition.java
deleted file mode 100644
index 8c7d611..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnDefinition.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.openon;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.wst.sse.ui.extensions.openon.IOpenOn;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Open on definition object
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-public class OpenOnDefinition {
-	private String fClassName = null;
-
-	private IConfigurationElement fConfigurationElement = null;
-
-	// a hash map of content type Ids (String) that points to lists of
-	// parition types (List of Strings)
-	// contentTypeId -> List(paritionType, paritionType, partitionType, ...)
-	// contentTypeId2 -> List(partitionType, partitionType, ...)
-	// ...
-	private HashMap fContentTypes = null;
-	private String fId = null;
-
-	/**
-	 * @param id
-	 * @param class1
-	 * @param configurationElement
-	 */
-	public OpenOnDefinition(String id, String class1, IConfigurationElement configurationElement) {
-		super();
-		fId = id;
-		fClassName = class1;
-		fConfigurationElement = configurationElement;
-		fContentTypes = new HashMap();
-	}
-
-	public void addContentTypeId(String contentTypeId) {
-		if (!fContentTypes.containsKey(contentTypeId))
-			fContentTypes.put(contentTypeId, new ArrayList());
-	}
-
-	public void addPartitionType(String contentTypeId, String partitionType) {
-		if (!fContentTypes.containsKey(contentTypeId))
-			fContentTypes.put(contentTypeId, new ArrayList());
-
-		List partitionList = (List) fContentTypes.get(contentTypeId);
-		partitionList.add(partitionType);
-	}
-
-	/**
-	 * Creates an extension. If the extension plugin has not been loaded a
-	 * busy cursor will be activated during the duration of the load.
-	 * 
-	 * @param propertyName
-	 * @return Object
-	 */
-	private Object createExtension(String propertyName) {
-		// If plugin has been loaded create extension.
-		// Otherwise, show busy cursor then create extension.
-		final IConfigurationElement element = getConfigurationElement();
-		final String name = propertyName;
-
-		final Object[] result = new Object[1];
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		Bundle bundle = Platform.getBundle(pluginId);
-		if (bundle.getState() == Bundle.ACTIVE) {
-			try {
-				return element.createExecutableExtension(name);
-			} catch (CoreException e) {
-				handleCreateExecutableException(result, e);
-			}
-		} else {
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					try {
-						result[0] = element.createExecutableExtension(name);
-					} catch (Exception e) {
-						handleCreateExecutableException(result, e);
-					}
-				}
-			});
-		}
-		return result[0];
-	}
-
-	/**
-	 * @return IOpenOn for this definition
-	 */
-	public IOpenOn createOpenOn() {
-		IOpenOn openOn = null;
-
-		if (getClassName() != null) {
-			openOn = (IOpenOn) createExtension(OpenOnBuilder.ATT_CLASS);
-		}
-
-		return openOn;
-	}
-
-	/**
-	 * @return Returns the fClass.
-	 */
-	public String getClassName() {
-		return fClassName;
-	}
-
-	/**
-	 * @return Returns the fConfigurationElement.
-	 */
-	public IConfigurationElement getConfigurationElement() {
-		return fConfigurationElement;
-	}
-
-	/**
-	 * @return Returns the fContentTypes.
-	 */
-	public HashMap getContentTypes() {
-		return fContentTypes;
-	}
-
-	/**
-	 * @return Returns the fId.
-	 */
-	public String getId() {
-		return fId;
-	}
-
-	/**
-	 * @param result
-	 * @param e
-	 */
-	private void handleCreateExecutableException(Object[] result, Throwable e) {
-		Logger.logException("Unable to create open on: " + getId(), e); //$NON-NLS-1$
-		e.printStackTrace();
-		result[0] = null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/preferences/OverlayPreferenceStore.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/preferences/OverlayPreferenceStore.java
deleted file mode 100644
index 77b4a17..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/preferences/OverlayPreferenceStore.java
+++ /dev/null
@@ -1,486 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.preferences;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceStore;
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * An overlaying preference store. copied from JDT
- */
-public class OverlayPreferenceStore implements IPreferenceStore {
-
-	public static class OverlayKey {
-
-		TypeDescriptor fDescriptor;
-		String fKey;
-
-		public OverlayKey(TypeDescriptor descriptor, String key) {
-			fDescriptor = descriptor;
-			fKey = key;
-		}
-	}
-
-	private class PropertyListener implements IPropertyChangeListener {
-
-		/*
-		 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-		 */
-		public void propertyChange(PropertyChangeEvent event) {
-			OverlayKey key = findOverlayKey(event.getProperty());
-			if (key != null)
-				propagateProperty(fParent, key, fStore);
-		}
-	}
-
-
-	public static final class TypeDescriptor {
-		private TypeDescriptor() {
-		}
-	}
-
-	public static final TypeDescriptor BOOLEAN = new TypeDescriptor();
-	public static final TypeDescriptor DOUBLE = new TypeDescriptor();
-	public static final TypeDescriptor FLOAT = new TypeDescriptor();
-	public static final TypeDescriptor INT = new TypeDescriptor();
-	public static final TypeDescriptor LONG = new TypeDescriptor();
-	public static final TypeDescriptor STRING = new TypeDescriptor();
-	private boolean fLoaded;
-	private OverlayKey[] fOverlayKeys;
-
-
-	IPreferenceStore fParent;
-
-	private PropertyListener fPropertyListener;
-	IPreferenceStore fStore;
-
-
-	public OverlayPreferenceStore(IPreferenceStore parent, OverlayKey[] overlayKeys) {
-		fParent = parent;
-		fOverlayKeys = overlayKeys;
-		fStore = new PreferenceStore();
-	}
-
-	/**
-	 * The keys to add to the list of overlay keys.
-	 * <p>
-	 * Note: This method must be called before {@link #load()}is called.
-	 * </p>
-	 * 
-	 * @param keys
-	 * @since 3.0
-	 */
-	public void addKeys(OverlayKey[] keys) {
-		Assert.isTrue(!fLoaded);
-		Assert.isNotNull(keys);
-
-		int overlayKeysLength = fOverlayKeys.length;
-		OverlayKey[] result = new OverlayKey[keys.length + overlayKeysLength];
-
-		for (int i = 0, length = overlayKeysLength; i < length; i++)
-			result[i] = fOverlayKeys[i];
-
-		for (int i = 0, length = keys.length; i < length; i++)
-			result[overlayKeysLength + i] = keys[i];
-
-		fOverlayKeys = result;
-
-		if (fLoaded)
-			load();
-	}
-
-	/*
-	 * @see IPreferenceStore#addPropertyChangeListener(IPropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		fStore.addPropertyChangeListener(listener);
-	}
-
-	/*
-	 * @see IPreferenceStore#contains(String)
-	 */
-	public boolean contains(String name) {
-		return fStore.contains(name);
-	}
-
-	private boolean covers(String key) {
-		return (findOverlayKey(key) != null);
-	}
-
-	OverlayKey findOverlayKey(String key) {
-		for (int i = 0; i < fOverlayKeys.length; i++) {
-			if (fOverlayKeys[i].fKey.equals(key))
-				return fOverlayKeys[i];
-		}
-		return null;
-	}
-
-	/*
-	 * @see IPreferenceStore#firePropertyChangeEvent(String, Object, Object)
-	 */
-	public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
-		fStore.firePropertyChangeEvent(name, oldValue, newValue);
-	}
-
-	/*
-	 * @see IPreferenceStore#getBoolean(String)
-	 */
-	public boolean getBoolean(String name) {
-		return fStore.getBoolean(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultBoolean(String)
-	 */
-	public boolean getDefaultBoolean(String name) {
-		return fStore.getDefaultBoolean(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultDouble(String)
-	 */
-	public double getDefaultDouble(String name) {
-		return fStore.getDefaultDouble(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultFloat(String)
-	 */
-	public float getDefaultFloat(String name) {
-		return fStore.getDefaultFloat(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultInt(String)
-	 */
-	public int getDefaultInt(String name) {
-		return fStore.getDefaultInt(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultLong(String)
-	 */
-	public long getDefaultLong(String name) {
-		return fStore.getDefaultLong(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultString(String)
-	 */
-	public String getDefaultString(String name) {
-		return fStore.getDefaultString(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDouble(String)
-	 */
-	public double getDouble(String name) {
-		return fStore.getDouble(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getFloat(String)
-	 */
-	public float getFloat(String name) {
-		return fStore.getFloat(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getInt(String)
-	 */
-	public int getInt(String name) {
-		return fStore.getInt(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getLong(String)
-	 */
-	public long getLong(String name) {
-		return fStore.getLong(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getString(String)
-	 */
-	public String getString(String name) {
-		return fStore.getString(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#isDefault(String)
-	 */
-	public boolean isDefault(String name) {
-		return fStore.isDefault(name);
-	}
-
-	public void load() {
-		for (int i = 0; i < fOverlayKeys.length; i++)
-			loadProperty(fParent, fOverlayKeys[i], fStore, true);
-
-		fLoaded = true;
-
-	}
-
-	public void loadDefaults() {
-		for (int i = 0; i < fOverlayKeys.length; i++)
-			setToDefault(fOverlayKeys[i].fKey);
-	}
-
-	private void loadProperty(IPreferenceStore orgin, OverlayKey key, IPreferenceStore target, boolean forceInitialization) {
-		TypeDescriptor d = key.fDescriptor;
-		if (BOOLEAN == d) {
-
-			if (forceInitialization)
-				target.setValue(key.fKey, true);
-			target.setValue(key.fKey, orgin.getBoolean(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultBoolean(key.fKey));
-
-		} else if (DOUBLE == d) {
-
-			if (forceInitialization)
-				target.setValue(key.fKey, 1.0D);
-			target.setValue(key.fKey, orgin.getDouble(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultDouble(key.fKey));
-
-		} else if (FLOAT == d) {
-
-			if (forceInitialization)
-				target.setValue(key.fKey, 1.0F);
-			target.setValue(key.fKey, orgin.getFloat(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultFloat(key.fKey));
-
-		} else if (INT == d) {
-
-			if (forceInitialization)
-				target.setValue(key.fKey, 1);
-			target.setValue(key.fKey, orgin.getInt(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultInt(key.fKey));
-
-		} else if (LONG == d) {
-
-			if (forceInitialization)
-				target.setValue(key.fKey, 1L);
-			target.setValue(key.fKey, orgin.getLong(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultLong(key.fKey));
-
-		} else if (STRING == d) {
-
-			if (forceInitialization)
-				target.setValue(key.fKey, "1"); //$NON-NLS-1$
-			target.setValue(key.fKey, orgin.getString(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultString(key.fKey));
-
-		}
-	}
-
-	/*
-	 * @see IPreferenceStore#needsSaving()
-	 */
-	public boolean needsSaving() {
-		return fStore.needsSaving();
-	}
-
-	public void propagate() {
-		for (int i = 0; i < fOverlayKeys.length; i++)
-			propagateProperty(fStore, fOverlayKeys[i], fParent);
-	}
-
-	void propagateProperty(IPreferenceStore orgin, OverlayKey key, IPreferenceStore target) {
-
-		if (orgin.isDefault(key.fKey)) {
-			if (!target.isDefault(key.fKey))
-				target.setToDefault(key.fKey);
-			return;
-		}
-
-		TypeDescriptor d = key.fDescriptor;
-		if (BOOLEAN == d) {
-
-			boolean originValue = orgin.getBoolean(key.fKey);
-			boolean targetValue = target.getBoolean(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-
-		} else if (DOUBLE == d) {
-
-			double originValue = orgin.getDouble(key.fKey);
-			double targetValue = target.getDouble(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-
-		} else if (FLOAT == d) {
-
-			float originValue = orgin.getFloat(key.fKey);
-			float targetValue = target.getFloat(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-
-		} else if (INT == d) {
-
-			int originValue = orgin.getInt(key.fKey);
-			int targetValue = target.getInt(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-
-		} else if (LONG == d) {
-
-			long originValue = orgin.getLong(key.fKey);
-			long targetValue = target.getLong(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-
-		} else if (STRING == d) {
-
-			String originValue = orgin.getString(key.fKey);
-			String targetValue = target.getString(key.fKey);
-			if (targetValue != null && originValue != null && !targetValue.equals(originValue))
-				target.setValue(key.fKey, originValue);
-
-		}
-	}
-
-	/*
-	 * @see IPreferenceStore#putValue(String, String)
-	 */
-	public void putValue(String name, String value) {
-		if (covers(name))
-			fStore.putValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#removePropertyChangeListener(IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		fStore.removePropertyChangeListener(listener);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, boolean)
-	 */
-	public void setDefault(String name, boolean value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, double)
-	 */
-	public void setDefault(String name, double value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, float)
-	 */
-	public void setDefault(String name, float value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, int)
-	 */
-	public void setDefault(String name, int value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, long)
-	 */
-	public void setDefault(String name, long value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, String)
-	 */
-	public void setDefault(String name, String value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setToDefault(String)
-	 */
-	public void setToDefault(String name) {
-		fStore.setToDefault(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, boolean)
-	 */
-	public void setValue(String name, boolean value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, double)
-	 */
-	public void setValue(String name, double value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, float)
-	 */
-	public void setValue(String name, float value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, int)
-	 */
-	public void setValue(String name, int value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, long)
-	 */
-	public void setValue(String name, long value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, String)
-	 */
-	public void setValue(String name, String value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	public void start() {
-		if (fPropertyListener == null) {
-			fPropertyListener = new PropertyListener();
-			fParent.addPropertyChangeListener(fPropertyListener);
-		}
-	}
-
-	public void stop() {
-		if (fPropertyListener != null) {
-			fParent.removePropertyChangeListener(fPropertyListener);
-			fPropertyListener = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/preferences/TabFolderLayout.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/preferences/TabFolderLayout.java
deleted file mode 100644
index b1b8903..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/preferences/TabFolderLayout.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.preferences;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-
-/**
- * Copied from JDT
- * 
- * @author pavery
- */
-public class TabFolderLayout extends Layout {
-
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-			return new Point(wHint, hHint);
-
-		Control[] children = composite.getChildren();
-		int count = children.length;
-		int maxWidth = 0, maxHeight = 0;
-		for (int i = 0; i < count; i++) {
-			Control child = children[i];
-			Point pt = child.computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache);
-			maxWidth = Math.max(maxWidth, pt.x);
-			maxHeight = Math.max(maxHeight, pt.y);
-		}
-
-		if (wHint != SWT.DEFAULT)
-			maxWidth = wHint;
-		if (hHint != SWT.DEFAULT)
-			maxHeight = hHint;
-
-		return new Point(maxWidth, maxHeight);
-
-	}
-
-	protected void layout(Composite composite, boolean flushCache) {
-		Rectangle rect = composite.getClientArea();
-
-		Control[] children = composite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			children[i].setBounds(rect);
-		}
-	}
-}
-
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/AdapterPropertySheetEntryLabelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/AdapterPropertySheetEntryLabelProvider.java
deleted file mode 100644
index d022d0d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/AdapterPropertySheetEntryLabelProvider.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.properties;
-
-
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.views.properties.IPropertySheetEntry;
-import org.eclipse.wst.sse.core.INodeNotifier;
-
-
-public class AdapterPropertySheetEntryLabelProvider extends LabelProvider {
-	public Image getImage(Object element) {
-		if (element == null)
-			return null;
-		if (element instanceof IPropertySheetEntry) {
-			return ((IPropertySheetEntry) element).getImage();
-		}
-		if (element instanceof INodeNotifier) {
-			IPropertySheetEntry entry = (IPropertySheetEntry) ((INodeNotifier) element).getAdapterFor(IPropertySheetEntry.class);
-			if (entry != null)
-				return entry.getImage();
-		}
-		return super.getImage(element);
-	}
-
-	public String getText(Object element) {
-		if (element == null)
-			return null;
-		if (element instanceof IPropertySheetEntry) {
-			return ((IPropertySheetEntry) element).getValueAsString();
-		}
-		if (element instanceof INodeNotifier) {
-			IPropertySheetEntry entry = (IPropertySheetEntry) ((INodeNotifier) element).getAdapterFor(IPropertySheetEntry.class);
-			if (entry != null)
-				return entry.getValueAsString();
-		}
-		return super.getText(element);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/AdapterPropertySourceProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/AdapterPropertySourceProvider.java
deleted file mode 100644
index 4c77355..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/AdapterPropertySourceProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.properties;
-
-
-
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.IPropertySourceProvider;
-import org.eclipse.wst.sse.core.INodeNotifier;
-
-
-public class AdapterPropertySourceProvider implements IPropertySourceProvider {
-
-	public AdapterPropertySourceProvider() {
-		super();
-	}
-
-	public IPropertySource getPropertySource(Object object) {
-		if (object instanceof INodeNotifier) {
-			return (IPropertySource) ((INodeNotifier) object).getAdapterFor(IPropertySource.class);
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/RemoveAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/RemoveAction.java
deleted file mode 100644
index 69d6cae..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/RemoveAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.properties;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-import org.eclipse.wst.sse.ui.views.properties.ConfigurablePropertySheetPage;
-
-public class RemoveAction extends Action {
-	private ConfigurablePropertySheetPage fPage;
-
-	public RemoveAction(ConfigurablePropertySheetPage page) {
-		super();
-		fPage = page;
-		setText(getText());
-		setToolTipText(getText());
-		setImageDescriptor(EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_ELCL_DELETE));
-		setDisabledImageDescriptor(EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_DLCL_DELETE));
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.Action#getText()
-	 */
-	public String getText() {
-		return SSEUIPlugin.getResourceString("%RemoveAction.0"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		fPage.remove();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/ShowPropertiesAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/ShowPropertiesAction.java
deleted file mode 100644
index fc0e4ec..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/properties/ShowPropertiesAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.properties;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.ShowViewAction;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-
-/**
- * Surfaces the Properties view
- * 
- * @author Nitin Dahyabhai
- */
-public class ShowPropertiesAction extends ShowViewAction {
-	private final static String VIEW_ID = "org.eclipse.ui.views.PropertySheet"; //$NON-NLS-1$
-
-	public ShowPropertiesAction() {
-		super(SSEUIPlugin.getResourceString("%ShowPropertiesAction.0"), EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_OBJ_PROP_PS)); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CONTMNU_PROPERTIES_HELPID);
-	}
-
-	protected String getViewID() {
-		return VIEW_ID;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/AbstractStructuredTextReconcilingStrategy.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/AbstractStructuredTextReconcilingStrategy.java
deleted file mode 100644
index e51bcfb..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/AbstractStructuredTextReconcilingStrategy.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.ITemporaryAnnotation;
-
-
-/**
- * A base ReconcilingStrategy. Subclasses must implement
- * createReconcileSteps().
- * 
- * @author pavery
- */
-public abstract class AbstractStructuredTextReconcilingStrategy implements IReconcilingStrategy, IReconcilingStrategyExtension, IReleasable {
-
-    /** debug flag */
-    protected static final boolean DEBUG;
-    static {
-        String value = Platform.getDebugOption("org.eclipse.wst.sse.ui/debug/reconcilerjob"); //$NON-NLS-1$
-        DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-    }
-    
-	protected IDocument fDocument = null;
-	protected IReconcileStep fFirstStep = null;
-	protected IProgressMonitor fProgressMonitor = null;
-	protected ITextEditor fTextEditor = null;
-    private Comparator fComparator;
-
-	/**
-	 * Creates a new strategy. The editor parameter is for access to the
-	 * annotation model.
-	 * 
-	 * @param editor
-	 */
-	public AbstractStructuredTextReconcilingStrategy(ITextEditor editor) {
-		fTextEditor = editor;
-		init();
-	}
-
-	/**
-	 * This is where we add results to the annotationModel, doing any special
-	 * "extra" processing.
-	 */
-	protected void addResultToAnnotationModel(IReconcileResult result) {
-		if (!(result instanceof TemporaryAnnotation))
-			return;
-		// can be null when closing the editor
-		if (getAnnotationModel() != null) {
-			TemporaryAnnotation tempAnnotation = (TemporaryAnnotation) result;
-			getAnnotationModel().addAnnotation(tempAnnotation, tempAnnotation.getPosition());
-		}
-	}
-
-	/**
-	 * @param object
-	 * @return if this strategy is responisble for adding this type of key
-	 */
-	protected boolean canHandlePartition(String partition) {
-		String[] haystack = getPartitionTypes();
-		for (int i = 0; i < haystack.length; i++) {
-			if (haystack[i].equals(partition))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @param step
-	 * @return
-	 */
-	protected boolean containsStep(IReconcileStep step) {
-		if (fFirstStep instanceof StructuredReconcileStep)
-			return ((StructuredReconcileStep) fFirstStep).isSiblingStep(step);
-		return false;
-	}
-
-	/**
-	 * This is where you should create the steps for this strategy
-	 */
-	abstract public void createReconcileSteps();
-
-	/**
-	 * Remove ALL temporary annotations that this strategy can handle.
-	 */
-	protected TemporaryAnnotation[] getAllAnnotationsToRemove() {
-		List removals = new ArrayList();
-		IAnnotationModel annotationModel = getAnnotationModel();
-		if (annotationModel != null) {
-			Iterator i = annotationModel.getAnnotationIterator();
-			while (i.hasNext()) {
-				Object obj = i.next();
-				if (!(obj instanceof ITemporaryAnnotation))
-					continue;
-
-				ITemporaryAnnotation annotation = (ITemporaryAnnotation) obj;
-				ReconcileAnnotationKey key = (ReconcileAnnotationKey) annotation.getKey();
-				// then if this strategy knows how to add/remove this
-				// partition type
-				if (canHandlePartition(key.getPartitionType()) && containsStep(key.getStep()))
-					removals.add(annotation);
-			}
-		}
-		return (TemporaryAnnotation[]) removals.toArray(new TemporaryAnnotation[removals.size()]);
-	}
-
-	protected IAnnotationModel getAnnotationModel() {
-		IAnnotationModel model = null;
-		if (fTextEditor != null && fTextEditor.getEditorInput() != null) {
-			model = fTextEditor.getDocumentProvider().getAnnotationModel(fTextEditor.getEditorInput());
-		}
-		return model;
-	}
-
-	protected TemporaryAnnotation[] getAnnotationsToRemove(DirtyRegion dr) {
-		IStructuredDocumentRegion[] sdRegions = getStructuredDocumentRegions(dr);
-		List remove = new ArrayList();
-		IAnnotationModel annotationModel = getAnnotationModel();
-		// can be null when closing the editor
-		if (getAnnotationModel() != null) {
-			Iterator i = annotationModel.getAnnotationIterator();
-			while (i.hasNext()) {
-				Object obj = i.next();
-				if (!(obj instanceof TemporaryAnnotation))
-					continue;
-
-				TemporaryAnnotation annotation = (TemporaryAnnotation) obj;
-				ReconcileAnnotationKey key = (ReconcileAnnotationKey) annotation.getKey();
-				
-				// then if this strategy knows how to add/remove this
-				// partition type
-				if (canHandlePartition(key.getPartitionType()) && containsStep(key.getStep())) {
-					if (key.getScope() == ReconcileAnnotationKey.PARTIAL && overlaps(annotation.getPosition(), sdRegions)) {
-						remove.add(annotation);
-					}
-					else if (key.getScope() == ReconcileAnnotationKey.TOTAL) {
-						remove.add(annotation);
-					}
-				}
-			}
-		}
-		return (TemporaryAnnotation[]) remove.toArray(new TemporaryAnnotation[remove.size()]);
-	}
-
-	/**
-	 * Returns the corresponding node for the StructuredDocumentRegion.
-	 * 
-	 * @param sdRegion
-	 * @return the corresponding node for sdRegion
-	 */
-	protected IndexedRegion getCorrespondingNode(IStructuredDocumentRegion sdRegion) {
-		IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(fDocument);
-        IndexedRegion indexedRegion = null;
-        try {
-            if (sModel != null) 
-                indexedRegion = sModel.getIndexedRegion(sdRegion.getStart());    
-        } finally {
-            if (sModel != null)
-                sModel.releaseFromRead();
-        }
-        return indexedRegion;
-    }
-
-	/**
-	 * The IFile that this strategy is operating on (the file input for the
-	 * TextEditor)
-	 * 
-	 * @return the IFile that this strategy is operating on
-	 */
-	protected IFile getFile() {
-		if (fTextEditor == null)
-			return null;
-		IEditorInput input = fTextEditor.getEditorInput();
-		if (!(input instanceof IFileEditorInput))
-			return null;
-		return ((IFileEditorInput) input).getFile();
-	}
-
-	/**
-	 * Gets partition types from all steps in this strategy.
-	 * 
-	 * @return parition types from all steps
-	 */
-	public String[] getPartitionTypes() {
-		if (fFirstStep instanceof StructuredReconcileStep)
-			return ((StructuredReconcileStep) fFirstStep).getPartitionTypes();
-		return new String[0];
-	}
-
-	/**
-	 * Returns the appropriate (first) IStructuredDocumentRegion for the given
-	 * dirtyRegion.
-	 * 
-	 * @param dirtyRegion
-	 * @return the appropriate StructuredDocumentRegion for the given
-	 *         dirtyRegion.
-	 */
-	private IStructuredDocumentRegion getStructuredDocumentRegion(int offset) {
-		IStructuredDocumentRegion sdRegion = null;
-		if (fDocument instanceof IStructuredDocument) {
-			sdRegion = ((IStructuredDocument) fDocument).getRegionAtCharacterOffset(offset);
-		}
-		return sdRegion;
-	}
-
-	private IStructuredDocumentRegion[] getStructuredDocumentRegions(DirtyRegion dr) {
-		int offset = dr.getOffset();
-		int end = offset + dr.getLength();
-		List regions = new ArrayList();
-		IStructuredDocumentRegion r = getStructuredDocumentRegion(offset);
-		while (r != null && r.getStartOffset() <= end) {
-			if (!r.isDeleted())
-				regions.add(r);
-			r = r.getNext();
-		}
-		return (IStructuredDocumentRegion[]) regions.toArray(new IStructuredDocumentRegion[regions.size()]);
-	}
-
-	public void init() {
-		createReconcileSteps();
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#initialReconcile()
-	 */
-	public void initialReconcile() {
-		// do nothing
-	}
-
-	/**
-	 * @return
-	 */
-	protected boolean isCanceled() {
-		if (DEBUG && (fProgressMonitor != null && fProgressMonitor.isCanceled()))
-			System.out.println("** STRATEGY CANCELED **:" + this.getClass().getName()); //$NON-NLS-1$
-		return fProgressMonitor != null && fProgressMonitor.isCanceled();
-	}
-
-	/**
-	 * Checks if this position overlaps any of the StructuredDocument regions'
-	 * correstponding IndexedRegion.
-	 * 
-	 * @param pos
-	 * @param sdRegions
-	 * @return true if the position overlaps any of the regions, otherwise
-	 *         false.
-	 */
-	protected boolean overlaps(Position pos, IStructuredDocumentRegion[] sdRegions) {
-		int start = -1;
-		int end = -1;
-		for (int i = 0; i < sdRegions.length; i++) {
-		    if(!sdRegions[i].isDeleted()) {
-    			IndexedRegion corresponding = getCorrespondingNode(sdRegions[i]);
-                if(corresponding != null) {
-        			if (start == -1 || start > corresponding.getStartOffset())
-        				start = corresponding.getStartOffset();
-        			if (end == -1 || end < corresponding.getEndOffset())
-        				end = corresponding.getEndOffset();
-                }
-            }
-		}
-		return pos.overlapsWith(start, end - start);
-	}
-
-	/**
-	 * Process the results from the reconcile steps in this strategy.
-	 * 
-	 * @param results
-	 */
-	private void process(final IReconcileResult[] results) {
-		if (DEBUG)
-			System.out.println("[trace reconciler] > STARTING PROCESS METHOD with (" + results.length + ") results"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (results == null)
-			return;
-
-		for (int i = 0; i < results.length; i++) {
-			if (isCanceled()) {
-                if(DEBUG)
-				    System.out.println("[trace reconciler] >** PROCESS (adding) WAS CANCELLED **"); //$NON-NLS-1$
-				return;
-			}
-			addResultToAnnotationModel(results[i]);
-		}
-        
-		if (DEBUG) {
-			StringBuffer traceString = new StringBuffer();
-			for (int j = 0; j < results.length; j++)
-				traceString.append("\n (+) :" + results[j] + ":\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println("[trace reconciler] > PROCESSING (" + results.length + ") results in AbstractStructuredTextReconcilingStrategy " + traceString); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.reconciler.DirtyRegion,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	public void reconcile(DirtyRegion dirtyRegion, IRegion subRegion) {
-
-		// external files may be null
-		if (isCanceled() || fFirstStep == null)
-			return;
-
-        TemporaryAnnotation[] annotationsToRemove = new TemporaryAnnotation[0];
-        IReconcileResult[] annotationsToAdd = new IReconcileResult[0];
-        StructuredReconcileStep structuredStep = (StructuredReconcileStep) fFirstStep;
-        
-        annotationsToRemove = getAnnotationsToRemove(dirtyRegion);
-        annotationsToAdd = structuredStep.reconcile(dirtyRegion, subRegion);
-        
-        smartProcess(annotationsToRemove, annotationsToAdd);
-	}
-    
-	/**
-	 * @param partition
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.IRegion)
-	 */
-	public void reconcile(IRegion partition) {
-		// not used, we use:
-        // reconcile(DirtyRegion dirtyRegion, IRegion subRegion)
-	}
-
-	/**
-	 * Calls release() on all the steps in this strategy. Currently done in
-	 * StructuredRegionProcessor.SourceWidgetDisposeListener#widgetDisposed(...)
-	 */
-	public void release() {
-		// release steps (each step calls release on the next)
-		if (fFirstStep != null && fFirstStep instanceof IReleasable)
-			((IReleasable) fFirstStep).release();
-		// we don't to null out the steps, in case
-		// it's reconfigured later
-	}
-
-	private void removeAnnotations(TemporaryAnnotation[] annotationsToRemove) {
-		IAnnotationModel annotationModel = getAnnotationModel();
-		// can be null when closing the editor
-		if (annotationModel != null) {
-			for (int i = 0; i < annotationsToRemove.length; i++) {
-				if (isCanceled()) {
-                    if(DEBUG)
-					    System.out.println("[trace reconciler] >** REMOVAL WAS CANCELLED **"); //$NON-NLS-1$
-					return;
-				}
-				annotationModel.removeAnnotation(annotationsToRemove[i]);
-			}
-		}
-        
-		if (DEBUG) {
-			StringBuffer traceString = new StringBuffer();
-			for (int i = 0; i < annotationsToRemove.length; i++)
-				traceString.append("\n (-) :" + annotationsToRemove[i] + ":\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println("[trace reconciler] > REMOVED (" + annotationsToRemove.length + ") annotations in AbstractStructuredTextReconcilingStrategy :" + traceString); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-    private void removeAllAnnotations() {
-        removeAnnotations(getAllAnnotationsToRemove());
-    }
-
-	/**
-	 * Set the document for this strategy.
-	 * 
-	 * @param document
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#setDocument(org.eclipse.jface.text.IDocument)
-	 */
-	public void setDocument(IDocument document) {
-
-		// remove all old annotations since it's a new document
-	    removeAllAnnotations();
-
-		if (document == null)
-			release();
-
-		fDocument = document;
-		if (fFirstStep != null)
-			fFirstStep.setInputModel(new DocumentAdapter(document));
-	}
-
-	/**
-	 * @param monitor
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void setProgressMonitor(IProgressMonitor monitor) {
-		fProgressMonitor = monitor;
-		if (fFirstStep != null)
-			fFirstStep.setProgressMonitor(fProgressMonitor);
-	}
-
-	/**
-	 * Check if the annotation is already there, if it is, no need to 
-     * remove or add again. this will avoid a lot of flickering behavior...
-	 * 
-	 * @param annotationsToRemove
-	 * @param annotationsToAdd
-	 */
-	protected void smartProcess(TemporaryAnnotation[] annotationsToRemove, IReconcileResult[] annotationsToAdd) {
-        
-        // TODO: investigate a better algorithm, 
-        // also see if this is a bad performance hit.
-        
-        Comparator comp = getAnnotationComparator();
-        List sortedRemovals = Arrays.asList(annotationsToRemove);
-	    Collections.sort(sortedRemovals, comp);
-        
-        List sortedAdditions = Arrays.asList(annotationsToAdd);
-        Collections.sort(sortedAdditions, comp);
-        
-        List filteredRemovals = new ArrayList(sortedRemovals);
-        List filteredAdditions = new ArrayList(sortedAdditions);
-        
-        boolean ignore = false;
-        int lastFoundAdded = 0;
-        for(int i=0; i<sortedRemovals.size(); i++) {
-            TemporaryAnnotation removal = (TemporaryAnnotation)sortedRemovals.get(i);       
-            for(int j=lastFoundAdded; j<sortedAdditions.size(); j++) {             
-                TemporaryAnnotation addition = (TemporaryAnnotation)sortedAdditions.get(j);
-                // quick position check here
-                if(removal.getPosition().equals(addition.getPosition())) {
-                    lastFoundAdded = j;
-                    // remove performs TemporaryAnnotation.equals()
-                    // which checks text as well
-                    filteredAdditions.remove(addition);
-                    ignore = true;
-                    if(DEBUG)
-                        System.out.println(" ~ smart process ignoring: " + removal.getPosition().getOffset());
-                    break;
-                }
-            }
-            if(ignore) {
-                filteredRemovals.remove(removal);
-            }
-            ignore = false;
-        }
-        
-        removeAnnotations((TemporaryAnnotation[])filteredRemovals.toArray(new TemporaryAnnotation[filteredRemovals.size()]));
-        process((IReconcileResult[])filteredAdditions.toArray(new IReconcileResult[filteredAdditions.size()]));
-	}
-    
-    private Comparator getAnnotationComparator() {
-        if(fComparator == null) {
-            fComparator = new Comparator( ) {
-                public int compare(Object arg0, Object arg1) {
-                    TemporaryAnnotation ta1 = (TemporaryAnnotation)arg0;
-                    TemporaryAnnotation ta2 = (TemporaryAnnotation)arg1;
-                    return ta1.getPosition().getOffset() - ta2.getPosition().getOffset();
-                }
-            };
-        }
-        return fComparator;
-    }
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DirtyRegionProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DirtyRegionProcessor.java
deleted file mode 100644
index cf6cb6a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DirtyRegionProcessor.java
+++ /dev/null
@@ -1,522 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-/**
- * This job holds a queue of updates from the editor (DirtyRegions) to
- * process. When a new request comes in, the current run is canceled, the new
- * request is added to the queue, then the job is re-scheduled.
- * 
- * @author pavery
- */
-public class DirtyRegionProcessor extends Job implements IReconciler {
-	/** debug flag */
-	protected static final boolean DEBUG;
-
-	private static final long UPDATE_DELAY = 750;
-	static {
-		String value = Platform.getDebugOption("org.eclipse.wst.sse.ui/debug/reconcilerjob"); //$NON-NLS-1$
-		DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-
-	private long fDelay;
-
-	/** local queue of dirty regions (created here) to be reconciled */
-	private List fDirtyRegionQueue = null;
-
-	/** document that this reconciler works on */
-	private IDocument fDocument = null;
-
-	/**
-	 * set true after first install to prevent duplicate work done in the
-	 * install method (since install gets called multiple times)
-	 */
-	private boolean fIsInstalled = false;
-
-	private IProgressMonitor fLocalProgressMonitor = null;
-
-	/**
-	 * The partitioning this reconciler uses.
-	 */
-	private String fPartitioning;
-
-	/** The map of reconciling strategies. */
-	private Map fStrategies;
-
-	/** the list of partition types for which there are strategies */
-	private List fStrategyTypes = null;
-
-	/** the text viewer */
-	private ITextViewer fViewer;
-
-	/**
-	 * Creates a new StructuredRegionProcessor
-	 */
-	public DirtyRegionProcessor() {
-		// init job stuff
-		super("Processing Dirty Regions");
-		setPriority(Job.LONG);
-		setSystem(true);
-		// init some fields
-		fStrategyTypes = new ArrayList();
-		setLocalProgressMonitor(new NullProgressMonitor());
-		fDirtyRegionQueue = Collections.synchronizedList(new ArrayList());
-		// init reconciler stuff
-		setDelay(UPDATE_DELAY);
-	}
-
-	/**
-	 * Adds the given resource to the set of resources that need refreshing.
-	 * Synchronized in order to protect the collection during add.
-	 * 
-	 * @param resource
-	 */
-	private synchronized void addRequest(DirtyRegion dr) {
-		List drq = getDirtyRegionQueue();
-		// if we already have a request which contains the new request,
-		// discare the new request
-		int size = drq.size();
-		for (int i = 0; i < size; i++) {
-			if (contains((DirtyRegion) drq.get(i), dr))
-				return;
-		}
-		// if new request is contains any existing requests,
-		// remove those
-		for (Iterator it = drq.iterator(); it.hasNext();) {
-			if (contains(dr, (DirtyRegion) it.next()))
-				it.remove();
-		}
-		drq.add(dr);
-	}
-
-	/**
-	 * @param dirtyRegion
-	 * @return
-	 */
-	protected ITypedRegion[] computePartitioning(DirtyRegion dirtyRegion) {
-		IDocument doc = getDocument();
-		ITypedRegion tr[] = null;
-        
-        int drOffset = dirtyRegion.getOffset();
-        int drLength = dirtyRegion.getLength();
-        int docLength = doc.getLength();
-        
-        if(drOffset > docLength) {
-            drOffset = docLength;
-            drLength = 0;
-        }
-        else if(drOffset + drLength > docLength) {
-            drLength = docLength - drOffset;
-        }
-            
-		try {
-			// dirty region may span multiple partitions
-            tr = TextUtilities.computePartitioning(doc, getDocumentPartitioning(), drOffset, drLength, true);
-		}
-		catch (BadLocationException e) {
-            String info = "dr: ["+ drOffset+":"+ drLength + "] doc: [" + docLength + "] ";
-			Logger.logException(info, e);
-			tr = new ITypedRegion[0];
-		}
-		return tr;
-	}
-
-	/**
-	 * @return if the root is parent of possible, return true, otherwise
-	 *         return false
-	 */
-	protected boolean contains(DirtyRegion root, DirtyRegion possible) {
-
-		int rootStart = root.getOffset();
-		int rootEnd = rootStart + root.getLength();
-		int possStart = possible.getOffset();
-		int possEnd = possStart + possible.getLength();
-		if (rootStart <= possStart && rootEnd >= possEnd)
-			return true;
-		return false;
-	}
-
-	protected DirtyRegion createDirtyRegion(int offset, int length, String type) {
-		DirtyRegion durty = null;
-		IDocument doc = getDocument();
-
-		if (doc != null) {
-			// safety for BLE
-			int docLen = doc.getLength();
-            if(offset > docLen) {
-                offset = docLen;
-                length = 0;
-            }
-            else if (offset + length >= docLen)
-				length = docLen - offset;
-			try {
-				durty = new DirtyRegion(offset, length, type, doc.get(offset, length));
-			}
-			catch (BadLocationException e) {
-                String info = "dr: ["+ offset+":"+ length + "] doc: [" + docLen + "] ";
-                Logger.logException(info, e);
-			}
-		}
-		return durty;
-	}
-
-	protected DirtyRegion createDirtyRegion(ITypedRegion tr, String type) {
-		return createDirtyRegion(tr.getOffset(), tr.getLength(), type);
-	}
-
-	/**
-	 * Delay between processing of DirtyRegions.
-	 * 
-	 * @return
-	 */
-	protected long getDelay() {
-		return fDelay;
-	}
-
-	protected List getDirtyRegionQueue() {
-		return fDirtyRegionQueue;
-	}
-
-	/**
-	 * The IDocument on which this reconciler operates
-	 * 
-	 * @return
-	 */
-	protected IDocument getDocument() {
-		return fDocument;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.reconciler.IReconcilerExtension#getDocumentPartitioning()
-	 * @since 3.0
-	 */
-	public String getDocumentPartitioning() {
-		if (fPartitioning == null)
-			return IDocumentExtension3.DEFAULT_PARTITIONING;
-		return fPartitioning;
-	}
-
-	/**
-	 * We use our own local progress monitor to cancel long running
-	 * strategies/steps. Currently used when widget is disposed (user is
-	 * trying to close the editor), and on uninstall.
-	 * 
-	 * @return the local progress monitor
-	 */
-	IProgressMonitor getLocalProgressMonitor() {
-		return fLocalProgressMonitor;
-	}
-
-	/**
-	 * Utility method to get partitions of a dirty region
-	 * 
-	 * @param dirtyRegion
-	 * @return
-	 */
-	protected String[] getPartitions(DirtyRegion dirtyRegion) {
-		ITypedRegion regions[] = null;
-        
-        int drOffset = dirtyRegion.getOffset();
-        int drLength = dirtyRegion.getLength();
-        int docLength = getDocument().getLength();
-        
-        if(drOffset > docLength) {
-            drOffset = docLength;
-            drLength = 0;
-        }
-        else if(drOffset + drLength > docLength) {
-            drLength = docLength - drOffset;
-        }
-            
-		try {
-			regions = TextUtilities.computePartitioning(getDocument(), getDocumentPartitioning(), dirtyRegion.getOffset(), dirtyRegion.getLength(), true);
-		}
-		catch (BadLocationException e) {
-			Logger.logException(e);
-			regions = new ITypedRegion[0];
-		}
-		String[] partitions = new String[regions.length];
-		for (int i = 0; i < regions.length; i++)
-			partitions[i] = regions[i].getType();
-		return partitions;
-	}
-
-	/**
-	 * @see IReconciler#getReconcilingStrategy(String)
-	 */
-	public IReconcilingStrategy getReconcilingStrategy(String contentType) {
-		if (fStrategies == null)
-			return null;
-		return (IReconcilingStrategy) fStrategies.get(contentType);
-	}
-
-	/**
-	 * This method also synchronized because it accesses the fRequests queue
-	 * 
-	 * @return an array of the currently requested Nodes to refresh
-	 */
-	private synchronized DirtyRegion[] getRequests() {
-		DirtyRegion[] toRefresh = (DirtyRegion[]) fDirtyRegionQueue.toArray(new DirtyRegion[fDirtyRegionQueue.size()]);
-		fDirtyRegionQueue.clear();
-		return toRefresh;
-	}
-
-	/**
-	 * Gets a strategy that is made to handle the given dirtyRegion.
-	 * 
-	 * @param dirtyRegion
-	 * @return a strategy that is made to handle the given dirtyRegion, or the
-	 *         default strategy for this reconciler if there isn't one
-	 */
-	protected IReconcilingStrategy getStrategy(DirtyRegion dirtyRegion) {
-		String[] partitions = getPartitions(dirtyRegion);
-		// for now just grab first partition type in dirty region
-		IReconcilingStrategy rs = null;
-		if (partitions.length > 0)
-			rs = getReconcilingStrategy(partitions[0]);
-		return rs;
-	}
-
-	/**
-	 * A list of strategy types (keys) for this reconciler. Each strategy
-	 * should have a unique key.
-	 * 
-	 * @return
-	 */
-	public List getStrategyTypes() {
-		return fStrategyTypes;
-	}
-
-	/**
-	 * Returns the text viewer this reconciler is installed on.
-	 * 
-	 * @return the text viewer this reconciler is installed on
-	 */
-	protected ITextViewer getTextViewer() {
-		return fViewer;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.reconciler.IReconciler#install(ITextViewer)
-	 */
-	public void install(ITextViewer textViewer) {
-		// we might be called multiple times with the same viewer,
-		// maybe after being uninstalled as well, so track separately
-		if (!isInstalled()) {
-			fViewer = textViewer;
-			getLocalProgressMonitor().setCanceled(false);
-			setInstalled(true);
-		}
-	}
-
-	/**
-	 * The viewer has been set on this Reconciler.
-	 * 
-	 * @return true if the viewer has been set on this Reconciler, false
-	 *         otherwise.
-	 */
-	public boolean isInstalled() {
-		return fIsInstalled;
-	}
-
-	public void newModel(NewDocumentEvent structuredDocumentEvent) {
-		// do nothing
-	}
-
-	public void noChange(NoChangeEvent structuredDocumentEvent) {
-		// do nothing
-	}
-
-	/**
-	 * Subclasses should implement for specific handling of dirty regions.
-	 * 
-	 * @param dr
-	 */
-	protected void process(DirtyRegion dr) {
-		// subclasses should implement
-	}
-
-	/**
-	 * Invoke a refresh on the viewer on the given node.
-	 * 
-	 * @param node
-	 */
-	public final void processDirtyRegion(DirtyRegion dr) {
-		if (dr == null)
-			return;
-
-		cancel();
-		addRequest(dr);
-		schedule(getDelay());
-
-		if (DEBUG) {
-			System.out.println("added request for: [" + dr.getText() + "]");
-			System.out.println("queue size is now: " + getDirtyRegionQueue().size());
-		}
-	}
-
-	/**
-	 * Reinitializes listeners and sets new document on all strategies.
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.AbstractReconciler#reconcilerDocumentChanged(IDocument)
-	 */
-	protected void reconcilerDocumentChanged(IDocument document) {
-		setDocument(document);
-		setDocumentOnAllStrategies(document);
-	}
-
-	protected IStatus run(IProgressMonitor monitor) {
-		IStatus status = Status.OK_STATUS;
-		try {
-			DirtyRegion[] toRefresh = getRequests();
-			for (int i = 0; i < toRefresh.length; i++) {
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-				process(toRefresh[i]);
-			}
-		}
-		finally {
-			monitor.done();
-		}
-		return status;
-	}
-
-	protected void setDelay(long delay) {
-		fDelay = delay;
-	}
-
-	public void setDocument(IDocument doc) {
-		fDocument = doc;
-		setDocumentOnAllStrategies(doc);
-	}
-
-	/**
-	 * Propagates a new document to all strategies and steps.
-	 * 
-	 * @param document
-	 */
-	protected void setDocumentOnAllStrategies(IDocument document) {
-		if (isInstalled()) {
-			// set document on all regular strategies
-			if (fStrategies != null) {
-				Iterator e = fStrategies.values().iterator();
-				while (e.hasNext()) {
-					IReconcilingStrategy strategy = (IReconcilingStrategy) e.next();
-					strategy.setDocument(document);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Sets the document partitioning for this reconciler.
-	 * 
-	 * @param partitioning
-	 *            the document partitioning for this reconciler
-	 * @since 3.0
-	 */
-	public void setDocumentPartitioning(String partitioning) {
-		fPartitioning = partitioning;
-	}
-
-	/**
-	 * @param isInstalled
-	 *            The isInstalled to set.
-	 */
-	public void setInstalled(boolean isInstalled) {
-		fIsInstalled = isInstalled;
-	}
-
-	private void setLocalProgressMonitor(IProgressMonitor pm) {
-		fLocalProgressMonitor = pm;
-		List strategyTypes = getStrategyTypes();
-		// set on all other strategies
-		if (!strategyTypes.isEmpty()) {
-			Iterator it = strategyTypes.iterator();
-			String type = null;
-			while (it.hasNext()) {
-				type = (String) it.next();
-				if (getReconcilingStrategy(type) instanceof IReconcilingStrategyExtension)
-					((IReconcilingStrategyExtension) getReconcilingStrategy(type)).setProgressMonitor(pm);
-			}
-		}
-	}
-
-	/**
-	 * Sets the strategy for a given contentType (partitionType)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.Reconciler#setReconcilingStrategy(org.eclipse.jface.text.reconciler.IReconcilingStrategy,
-	 *      java.lang.String)
-	 */
-	public void setReconcilingStrategy(IReconcilingStrategy strategy, String contentType) {
-
-		if (fStrategies == null)
-			fStrategies = new HashMap();
-
-		if (strategy == null)
-			fStrategies.remove(contentType);
-		else {
-			fStrategies.put(contentType, strategy);
-			if (strategy instanceof IReconcilingStrategyExtension && getLocalProgressMonitor() != null) {
-				IReconcilingStrategyExtension extension = (IReconcilingStrategyExtension) strategy;
-				extension.setProgressMonitor(getLocalProgressMonitor());
-			}
-			if (strategy != null) {
-				strategy.setDocument(fDocument);
-				if (strategy instanceof IReconcilingStrategyExtension) {
-					((IReconcilingStrategyExtension) strategy).setProgressMonitor(getLocalProgressMonitor());
-				}
-			}
-		}
-		getStrategyTypes().add(contentType);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.reconciler.IReconciler#uninstall()
-	 */
-	public void uninstall() {
-		if (isInstalled()) {
-			setInstalled(false);
-			getLocalProgressMonitor().setCanceled(true);
-		}
-		setDocument(null);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DocumentAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DocumentAdapter.java
deleted file mode 100644
index 80af4e3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DocumentAdapter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-
-/**
- * Adapts an <code>IDocument</code> to a <code>IReconcilableModel</code>.
- * 
- * @since 3.0
- */
-public class DocumentAdapter implements IReconcilableModel {
-
-	private IDocument fDocument;
-
-	/**
-	 * Creates a text model adapter for the given document.
-	 * 
-	 * @param document
-	 */
-	public DocumentAdapter(IDocument document) {
-		fDocument = document;
-	}
-
-	/**
-	 * Returns this model's document.
-	 * 
-	 * @return the model's input document
-	 */
-	public IDocument getDocument() {
-		return fDocument;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IReconcileAnnotationKey.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IReconcileAnnotationKey.java
deleted file mode 100644
index 052df0a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IReconcileAnnotationKey.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-
-/**
- * Defines an annotation key that the
- * <code>AbstractStructuredTextReconcilingStrategy</code> knows how to
- * remove appropriately.
- * 
- * @deprecated not API, this will probably just become an abstract class
- * 
- * @author pavery
- */
-public interface IReconcileAnnotationKey {
-	static final int PARTIAL = 1;
-	static final int TOTAL = 0;
-
-	String getPartitionType();
-
-	//int getScope();
-
-	IReconcileStep getStep();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IReconcileStepAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IReconcileStepAdapter.java
deleted file mode 100644
index ee2bfbc..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IReconcileStepAdapter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.IReleasable;
-
-
-/**
- * This interface is for reconcile steps that need to "work" off of
- * StructuredDocument events, as well as the ReconcilerThread.
- * 
- * @deprecated don't need this now that content model strategy will go away
- */
-public interface IReconcileStepAdapter extends INodeAdapter, IReleasable {
-
-	/**
-	 * Partition types for which this step can add annootations.
-	 * 
-	 * @return partition types for which this step can add annootations.
-	 */
-	String[] getPartitionTypes();
-
-	/**
-	 * Marks a node for reconciling.
-	 * 
-	 * @param o
-	 */
-	void markForReconciling(Object o);
-
-	/**
-	 * Reconcile call seeded with an indexedNode.
-	 * 
-	 * @param monitor
-	 * @param xmlNode
-	 * @return
-	 */
-	IReconcileResult[] reconcile(IProgressMonitor monitor, IndexedRegion indexedNode);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IStructuredReconcileStep.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IStructuredReconcileStep.java
deleted file mode 100644
index 3abb5f9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IStructuredReconcileStep.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-
-/**
- * @author pavery
- * @deprecated still working out API (or if anything here should be API)
- * 
- * Interface for a step in StructuredRegionProcessor framework.
- */
-public interface IStructuredReconcileStep extends IReconcileStep {
-	/**
-	 * Partitions for which this step can add/remove annotions
-	 * 
-	 * @return an array of the partitions for which this step can add/remove
-	 *         annotions
-	 */
-	String[] getPartitionTypes();
-
-	/**
-	 * Returns the scope for which this step adds annotations.
-	 * 
-	 * @return the scope for which this step adds annotations
-	 */
-	//int getScope();
-
-	/**
-	 * Tells you if the step is equal to this step or any of the sibling
-	 * steps.
-	 * 
-	 * @return
-	 */
-	boolean isSiblingStep(IReconcileStep step);
-
-	/**
-	 * Adds awareness that the Reconciler is reconciling the entire document
-	 * this call.
-	 * 
-	 * @param dirtyRegion
-	 * @param subRegion
-	 * @param refreshAll
-	 * @return
-	 */
-	IReconcileResult[] reconcile(DirtyRegion dirtyRegion, IRegion subRegion, boolean refreshAll);
-
-	/**
-	 * Used to reset the state of the Strategy. For example: any flags that
-	 * need to be reset after a long running operation like processAll().
-	 */
-	void reset();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IStructuredReconcilingStrategy.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IStructuredReconcilingStrategy.java
deleted file mode 100644
index 8b44151..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IStructuredReconcilingStrategy.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-
-
-/**
- * Interface for structured reconciling strategies.
- * 
- * @deprecated doesn't need to be API and might go away
- * 
- * @author pavery
- */
-public interface IStructuredReconcilingStrategy extends IReconcilingStrategy {
-	/**
-	 * Adds awareness that the reconciler is processing the entire document
-	 * via refreshAll flag.
-	 * 
-	 * @param dirtyRegion
-	 * @param subRegion
-	 * @param refreshAll
-	 */
-	public void reconcile(DirtyRegion dirtyRegion, IRegion subRegion, boolean refreshAll);
-
-	/**
-	 * Used to reset the state of the Strategy. For example: any flags that
-	 * need to be reset after a long running operation like processAll().
-	 */
-	public void reset();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/ReconcileAnnotationKey.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/ReconcileAnnotationKey.java
deleted file mode 100644
index fa89e2d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/ReconcileAnnotationKey.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-
-
-/**
- * Implementation of <code>IReconcileAnnotationKey</code> note: clients
- * should use the method StructuredReconcileStep#createKey(String
- * partitionType, int scope)
- * 
- * @author pavery
- */
-public class ReconcileAnnotationKey {
-    
-    public static final int PARTIAL = 1;
-    public static final int TOTAL = 0;
-    
-	private String fPartitionType = null;
-
-	private IReconcileStep fReconcileStep = null;
-	private int fScope;
-
-	public ReconcileAnnotationKey(IReconcileStep step, String partitionType, int scope) {
-		fReconcileStep = step;
-		fPartitionType = partitionType;
-		fScope = scope;
-	}
-
-	public String getPartitionType() {
-		return fPartitionType;
-	}
-
-	public int getScope() {
-		return fScope;
-	}
-
-	public IReconcileStep getStep() {
-		return fReconcileStep;
-	}
-
-	public String toString() {
-		return this.getClass() + "\r\nid: " + fPartitionType; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/StructuredReconcileStep.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/StructuredReconcileStep.java
deleted file mode 100644
index 72e29dd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/StructuredReconcileStep.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.reconciler.AbstractReconcileStep;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * ReconcileStep that knows about the annotation that it adds to the
- * AnnotationModel. It knows how to create an annotation key (for smart
- * removal later) It knows the partition types on which it can operate. It
- * knows the scope on which it operates (for short circuiting) It knows if the
- * Reconciler is reconciling the entire document.
- * 
- * Clients must subclass this class.
- * 
- * @author pavery
- */
-public abstract class StructuredReconcileStep extends AbstractReconcileStep implements IReleasable {
-    
-    /** debug flag */
-    protected static final boolean DEBUG;
-    static {
-        String value = Platform.getDebugOption("org.eclipse.wst.sse.ui/debug/reconcilerjob"); //$NON-NLS-1$
-        DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-    }
-
-    // these limits are safetys for "runaway" validation cases
-    // should be used to safeguard potentially dangerous loops or potentially
-    // long annotations
-    // (since the painter seems to affect performance when painting long
-    // annotations)
-	public static final int ANNOTATION_LENGTH_LIMIT = 100;
-	public static final int ELEMENT_ERROR_LIMIT = 100;
-
-	protected final IReconcileResult[] EMPTY_RECONCILE_RESULT_SET = new IReconcileResult[0];
-
-	private StructuredReconcileStep fNextStructuredStep = null;
-	/**
-	 * It's possible for a partial step to get called on the same area twice
-	 * (as w/ a full document reconcile) this list keeps track of area already
-	 * covered. Should be reset() after the "batch" of reconciling is
-	 * finished.
-	 */
-	private HashSet fPartitionTypes = null;
-
-	public StructuredReconcileStep() {
-		super();
-		fPartitionTypes = new HashSet();
-	}
-
-	public StructuredReconcileStep(IReconcileStep step) {
-		super(step);
-		if (step instanceof StructuredReconcileStep)
-			fNextStructuredStep = (StructuredReconcileStep) step;
-		fPartitionTypes = new HashSet();
-	}
-
-	public ReconcileAnnotationKey createKey(IStructuredDocumentRegion sdRegion, int scope) {
-		
-        ITypedRegion tr = getPartition(sdRegion);
-		String partitionType = (tr != null) ? tr.getType() : StructuredTextPartitioner.ST_UNKNOWN_PARTITION;
-		return createKey(partitionType, scope);
-	}
-
-    /**
-     * @param sdRegion
-     * @return
-     */
-    private ITypedRegion getPartition(IStructuredDocumentRegion sdRegion) {
-        ITypedRegion tr = null;
-        if(!sdRegion.isDeleted())
-            tr = getPartition(sdRegion.getParentDocument(), sdRegion.getStartOffset());
-        return tr;
-    }
-    
-    private ITypedRegion getPartition(IDocument doc, int offset) {
-        ITypedRegion tr = null;
-        try {
-            tr = TextUtilities.getPartition(doc,IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING , offset, false);
-        } catch (BadLocationException e) {
-            if(DEBUG)
-                Logger.logException("problem getting partition at: " + offset, e);
-        }
-        return tr;
-    }
-    
-	/**
-	 * Clients should use this method to create annotation keys as it
-	 * registers the key for removal later.
-	 * 
-	 * @param partitionType
-	 * @param scope
-	 * @return
-	 */
-	public ReconcileAnnotationKey createKey(String partitionType, int scope) {
-		fPartitionTypes.add(partitionType);
-		return new ReconcileAnnotationKey(this, partitionType, scope);
-	}
-
-	protected IDocument getDocument() {
-		IDocument doc = null;
-		IReconcilableModel rModel = getModel();
-		if (rModel instanceof DocumentAdapter) {
-			doc = ((DocumentAdapter) rModel).getDocument();
-		}
-		return doc;
-	}
-
-	public IReconcilableModel getModel() {
-		return getInputModel();
-	}
-
-	public String getPartitionType(IDocument doc, int offset) {
-        ITypedRegion tr = getPartition(doc, offset);
-		return (tr != null) ? tr.getType() : StructuredTextPartitioner.ST_UNKNOWN_PARTITION;
-	}
-
-	public String[] getPartitionTypes() {
-		// using hash set to automatically get rid of dupes
-		HashSet tempResults = new HashSet();
-		// add these partition types
-		tempResults.addAll(fPartitionTypes);
-		// add next step's partition types
-		if (fNextStructuredStep != null) {
-			String[] nextResults = fNextStructuredStep.getPartitionTypes();
-			for (int i = 0; i < nextResults.length; i++)
-				tempResults.add(nextResults[i]);
-		}
-		return (String[]) tempResults.toArray(new String[tempResults.size()]);
-	}
-
-	protected IStructuredDocument getStructuredDocument() {
-		IStructuredDocument sDoc = null;
-		IDocument doc = getDocument();
-		if (doc instanceof IStructuredDocument)
-			sDoc = (IStructuredDocument) getDocument();
-		return sDoc;
-	}
-
-	/**
-	 * If step passed in is found somewhere in the chain of steps.
-	 * 
-	 * @return true if step passed in is found somewhere in the chain of
-	 *         steps, else false
-	 */
-	public boolean isSiblingStep(IReconcileStep step) {
-		if (step == null)
-			return false;
-		else if (step.equals(this))
-			return true;
-		else if (isLastStep())
-			return false;
-		else
-			return fNextStructuredStep.isSiblingStep(step);
-	}
-
-	/**
-	 * Removes duplicates.
-	 * 
-	 * @param results1
-	 * @param results2
-	 * @return
-	 */
-	protected IReconcileResult[] merge(IReconcileResult[] results1, IReconcileResult[] results2) {
-		if (results1 == null)
-			return results2;
-		if (results2 == null)
-			return results1;
-
-		List results = new ArrayList();
-		results.addAll(Arrays.asList(results1));
-		for (int i = 0; i < results2.length; i++) {
-			results.add(results2[i]);
-		}
-		return (IReconcileResult[]) results.toArray(new IReconcileResult[results.size()]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.AbstractReconcileStep#reconcileModel(org.eclipse.jface.text.reconciler.DirtyRegion,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-		return EMPTY_RECONCILE_RESULT_SET;
-	}
-
-	/**
-	 * Release resources used by the step here as needed. Be sure to call
-	 * super.release() when you override this method as to propagate the
-	 * release through all steps.
-	 */
-	public void release() {
-		if (fNextStructuredStep != null)
-			fNextStructuredStep.release();
-		// we don't to null out the steps, in case
-		// it's reconfigured later
-		//fNextStructuredStep = null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/StructuredRegionProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/StructuredRegionProcessor.java
deleted file mode 100644
index 015f3a4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/StructuredRegionProcessor.java
+++ /dev/null
@@ -1,469 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.ITextInputListener;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.wst.sse.core.IModelLifecycleListener;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.ModelLifecycleEvent;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy;
-
-/**
- * Adds StructuredDocument and StructuredModel listeners.
- * Adds Text viewer (dispose, input changed) listeners.
- * 
- * Implements a smarter "contains" method.
- * 
- * Adds default and validator strategies.
- * Adds DirtyRegion processing logic.
- * 
- * @author pavery
- */
-public class StructuredRegionProcessor extends DirtyRegionProcessor implements IStructuredDocumentListener, IModelLifecycleListener{
-	
-    /**
-     * Reconclies the entire document when the document in the viewer is
-     * changed. This happens when the document is initially opened, as well as
-     * after a save-as.
-     * 
-     * Also see processPostModelEvent(...) for similar behavior when document
-     * for the model is changed.
-     */
-    private class SourceTextInputListener implements ITextInputListener {
-
-        public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
-            // do nothing
-        }
-        
-        public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
-            handleInputDocumentChanged(oldInput, newInput);
-        }
-    }
-    
-    /**
-     * Cancels any running reconcile operations via progress monitor. Ensures
-     * that strategies are released on close of the editor.
-     */
-    private class SourceWidgetDisposeListener implements DisposeListener {
-
-        public void widgetDisposed(DisposeEvent e) {
-            handleWidgetDisposed();
-        }
-    }
-    
-    /** to cancel any long running reconciles if someone closes the editor */
-    private SourceWidgetDisposeListener fDisposeListener = null;
-    /** for initital reconcile when document is opened */
-    private SourceTextInputListener fTextInputListener = null;
-
-
-    /** strategy called for unmapped partitions */
-    private IReconcilingStrategy fDefaultStrategy;
-    
-    /**
-     * the strategy that runs validators contributed via reconcileValidator
-     * extension point
-     */
-    private ValidatorStrategy fValidatorStrategy;
-    
-    /**
-     * @return Returns the fDefaultStrategy.
-     */
-    public IReconcilingStrategy getDefaultStrategy() {
-        return fDefaultStrategy;
-    }
-    
-    /**
-     * @see org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor#getAppropriateStrategy(org.eclipse.jface.text.reconciler.DirtyRegion)
-     */
-    protected IReconcilingStrategy getStrategy(DirtyRegion dirtyRegion) {
-        IReconcilingStrategy strategy = super.getStrategy(dirtyRegion);
-        if(strategy == null)
-            strategy = getDefaultStrategy();
-        return strategy;
-    }
-    
-    /**
-     * @return Returns the fValidatorStrategy.
-     */
-    public ValidatorStrategy getValidatorStrategy() {
-        return fValidatorStrategy;
-    }
-    
-    /**
-     * @param dirtyRegion
-     */
-    protected void process(DirtyRegion dirtyRegion) {        
-        if (!isInstalled())
-            return;
-       
-        ITypedRegion[] tr = computePartitioning(dirtyRegion);
-        IReconcilingStrategy s = null;
-        DirtyRegion dirty = null;
-        for (int i = 0; i < tr.length; i++) {
-            
-            dirty = createDirtyRegion(tr[i], DirtyRegion.INSERT);
-            s = getReconcilingStrategy(tr[i].getType());
-            if (s != null && dirty != null)
-                s.reconcile(dirty, dirty);
-
-            // validator for this partition
-            if (fValidatorStrategy != null)
-                fValidatorStrategy.reconcile(tr[i], dirty);
-        }
-    }
-    /**
-     * @param defaultStrategy The fDefaultStrategy to set.
-     */
-    public void setDefaultStrategy(IReconcilingStrategy defaultStrategy) {
-        fDefaultStrategy = defaultStrategy;
-        if(fDefaultStrategy != null) {
-            fDefaultStrategy.setDocument(getDocument());
-            if (fDefaultStrategy instanceof IReconcilingStrategyExtension)
-                ((IReconcilingStrategyExtension) fDefaultStrategy).setProgressMonitor(getLocalProgressMonitor());
-        }
-    }
-    
-    /**
-     * @see org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor#setDocumentOnAllStrategies(org.eclipse.jface.text.IDocument)
-     */
-    protected void setDocumentOnAllStrategies(IDocument document) {
-        
-        super.setDocumentOnAllStrategies(document);
-        
-        IReconcilingStrategy defaultStrategy = getDefaultStrategy();
-        IReconcilingStrategy validatorStrategy = getValidatorStrategy();
-        
-        // default strategies
-        if (defaultStrategy != null)
-            defaultStrategy.setDocument(document);
-
-        // external validator strategy
-        if (validatorStrategy != null)
-            validatorStrategy.setDocument(document);
-    }
-    
-    /**
-     * @param validatorStrategy The fValidatorStrategy to set.
-     */
-    public void setValidatorStrategy(ValidatorStrategy validatorStrategy) {
-        fValidatorStrategy = validatorStrategy;
-        if (fValidatorStrategy != null) {
-            fValidatorStrategy.setDocument(getDocument());
-            fValidatorStrategy.setProgressMonitor(getLocalProgressMonitor());
-        }
-    }    
-    
-    /**
-     * @see org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor#contains(org.eclipse.jface.text.reconciler.DirtyRegion, org.eclipse.jface.text.reconciler.DirtyRegion)
-     */
-    protected boolean contains(DirtyRegion root, DirtyRegion possible) {
-        boolean contains = false;
-        IStructuredModel sModel = getStructuredModelForRead(getDocument());
-        try {
-            IndexedRegion rootRegion = sModel.getIndexedRegion(root.getOffset());
-            IndexedRegion possRegion = sModel.getIndexedRegion(possible.getOffset());
-            if(rootRegion != null && possRegion != null) {
-                int rootStart = rootRegion.getStartOffset();
-                int rootEnd = rootRegion.getEndOffset();
-                int possStart = possRegion.getStartOffset();
-                int possEnd = possRegion.getEndOffset();
-
-                if (rootStart <= possStart && rootEnd >= possEnd)
-                    contains = true;
-
-                if (DEBUG)
-                    System.out.println("checking if ["+rootStart + ":" +rootEnd + "] contains [" +possStart + ":" + possEnd +"] ... " + contains);  
-            }     
-        }
-        finally {
-            if(sModel != null)
-                sModel.releaseFromRead();
-        }
-        return contains;
-    }
-    
-	/**
-	 * Remember to release model after use!!
-	 * 
-	 * @return
-	 */
-	public IStructuredModel getStructuredModelForRead(IDocument doc) {
-
-		IStructuredModel sModel = null;
-		if (doc != null)
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-		return sModel;
-	}
-    /**
-     * 
-     * @param oldInput
-     * @param newInput
-     */
-    public void handleInputDocumentChanged(IDocument oldInput, IDocument newInput) {
-        // don't bother if reconciler not installed
-        if (isInstalled()) {
-            
-            reconcilerDocumentChanged(newInput);
-            
-            setDocument(newInput);
-            setDocumentOnAllStrategies(newInput);
-            setEntireDocumentDirty(newInput);
-        }
-    }
-    
-    public void handleWidgetDisposed() {
-        
-        getLocalProgressMonitor().setCanceled(true);
-        
-        List strategyTypes = getStrategyTypes();
-        if (!strategyTypes.isEmpty()) {
-            Iterator it = strategyTypes.iterator();
-            IReconcilingStrategy strategy = null;
-            while (it.hasNext()) {
-                strategy = getReconcilingStrategy((String) it.next());
-                if (strategy instanceof IReleasable) {
-                    ((IReleasable) strategy).release();
-                    strategy = null;
-                }
-            }
-        }
-    }
-
-    /**
-     * @param document
-     */
-    private void hookUpModelLifecycleListener(IDocument document) {
-        IStructuredModel sModel = getStructuredModelForRead(document);
-        try {
-            if (sModel != null) {
-                sModel.addModelLifecycleListener(this);
-            }
-        } finally {
-            if (sModel != null)
-                sModel.releaseFromRead();
-        }
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor#install(org.eclipse.jface.text.ITextViewer)
-     */
-    public void install(ITextViewer textViewer) {
-        
-        super.install(textViewer);
-        fDisposeListener = new SourceWidgetDisposeListener();
-        fTextInputListener = new SourceTextInputListener();         
-        textViewer.getTextWidget().addDisposeListener(fDisposeListener);
-        textViewer.addTextInputListener(fTextInputListener);
-    }
-	
-	public void newModel(NewDocumentEvent structuredDocumentEvent) {
-		// happens on a revert
-        reconcilerDocumentChanged(structuredDocumentEvent.getDocument());
-	}
-
-	public void noChange(NoChangeEvent structuredDocumentEvent) {
-		// do nothing
-	}
-
-	public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-		if(DEBUG)
-            System.out.println("[trace reconciler] >StructuredRegionProcessor: *NODES REPLACED"); //$NON-NLS-1$
-        
-		DirtyRegion dr = partitionChanged(structuredDocumentEvent) 
-                                ? createDirtyRegion(0, getDocument().getLength(), DirtyRegion.INSERT) 
-                                : createDirtyRegion(structuredDocumentEvent.getOriginalStart(), structuredDocumentEvent.getLength(), DirtyRegion.INSERT);
-		processDirtyRegion(dr);
-	}
-
-	/**
-	 * Checks if the StructuredDocumentEvent involved a partition change. If
-	 * there's a partition change, we know we should run all strategies just
-	 * to be sure we cover the new regions and remove obsolete annotations.
-	 * 
-	 * A primitive check for now.
-	 * 
-	 * @param structuredDocumentEvent
-	 * @return
-	 */
-	private boolean partitionChanged(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-		boolean changed = false;
-
-		IDocumentPartitioner partitioner = structuredDocumentEvent.getStructuredDocument().getDocumentPartitioner();
-		if (partitioner != null) {
-			IStructuredDocumentRegionList oldNodes = structuredDocumentEvent.getOldStructuredDocumentRegions();
-			IStructuredDocumentRegionList newNodes = structuredDocumentEvent.getNewStructuredDocumentRegions();
-
-			IStructuredDocumentRegion oldNode = (oldNodes.getLength() > 0) ? oldNode = oldNodes.item(0) : null;
-			IStructuredDocumentRegion newNode = (newNodes.getLength() > 0) ? newNodes.item(0) : null;
-
-			if (oldNode != null && newNode != null)
-				changed = partitioner.getContentType(oldNode.getStartOffset()).equals(partitioner.getContentType(newNode.getStartOffset()));
-		}
-		return changed;
-	}
-    
-	/**
-	 * @see org.eclipse.wst.sse.core.IModelLifecycleListener#processPostModelEvent(org.eclipse.wst.sse.core.ModelLifecycleEvent)
-	 */
-	public void processPostModelEvent(ModelLifecycleEvent event) {
-
-		// if underlying StructuredDocument changed, need to reconnect it
-		// here...
-		// ex. file is modified outside the workbench
-		if (event.getType() == ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED) {
-
-			// check that it's this model that changed
-			IStructuredModel thisModel = getStructuredModelForRead(getDocument());
-			try {
-				if (thisModel != null && event.getModel().equals(thisModel)) {
-
-					IStructuredDocument sDoc = event.getModel().getStructuredDocument();
-
-					if (DEBUG) {
-						System.out.println("======================================================"); //$NON-NLS-1$
-						System.out.println("StructuredRegionProcessor: DOCUMENT MODEL CHANGED TO: "); //$NON-NLS-1$
-						System.out.println(sDoc.get());
-						System.out.println("======================================================"); //$NON-NLS-1$
-					}
-					setDocument(sDoc);
-					// propagate document change
-					setDocumentOnAllStrategies(sDoc);
-					// ensure that the document is re-reconciled
-					setEntireDocumentDirty(sDoc);
-				}
-			} finally {
-				if (thisModel != null)
-					thisModel.releaseFromRead();
-			}
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.wst.sse.core.IModelLifecycleListener#processPreModelEvent(org.eclipse.wst.sse.core.ModelLifecycleEvent)
-	 */
-	public void processPreModelEvent(ModelLifecycleEvent event) {
-
-		if (event.getType() == ModelLifecycleEvent.MODEL_DOCUMENT_CHANGED) {
-
-            getDirtyRegionQueue().clear();
-			// note: old annotations are removed via the strategies on
-			// AbstractStructuredTextReconcilingStrategy#setDocument(...)
-		}
-	}
-	
-    /**
-     * Reinitializes listeners and sets new document onall strategies.
-     * 
-     * @see org.eclipse.jface.text.reconciler.AbstractReconciler#reconcilerDocumentChanged(IDocument)
-     */
-    protected void reconcilerDocumentChanged(IDocument newDocument) {
-        
-        IDocument currentDoc = getDocument();
-        
-        // unhook old lifecycle listner
-        unhookModelLifecycleListener(currentDoc);
-        // add new lifecycle listener
-        hookUpModelLifecycleListener(newDocument);
-
-        // unhook old document listener
-        if (currentDoc != null && currentDoc instanceof IStructuredDocument)
-            ((IStructuredDocument) currentDoc).removeDocumentChangedListener(this);
-        // hook up new document listener
-        if (newDocument != null && newDocument instanceof IStructuredDocument)
-            ((IStructuredDocument) newDocument).addDocumentChangedListener(this);
-
-        // sets document on all strategies      
-        super.reconcilerDocumentChanged(newDocument);
-    }
-	
-	public void regionChanged(RegionChangedEvent structuredDocumentEvent) {
-		if(DEBUG)
-            System.out.println("[trace reconciler] >StructuredRegionProcessor: *REGION CHANGED: \r\n\r\n created dirty region from flat model event >> :" + structuredDocumentEvent.getOriginalStart() + ":" + structuredDocumentEvent.getLength() + "\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		String dirtyRegionType = structuredDocumentEvent.getDeletedText().equals("") ? DirtyRegion.INSERT : DirtyRegion.REMOVE; //$NON-NLS-1$
-		DirtyRegion dr = createDirtyRegion(structuredDocumentEvent.getOriginalStart(), structuredDocumentEvent.getLength(), dirtyRegionType);
-		processDirtyRegion(dr);
-	}
-
-	public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) {
-		if(DEBUG)
-		    System.out.println("[trace reconciler] >StructuredRegionProcessor: *REGIONS REPLACED: \r\n\r\n created dirty region from flat model event >> :" + structuredDocumentEvent.getOriginalStart() + ":" + structuredDocumentEvent.getLength() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		
-        DirtyRegion dr = createDirtyRegion(structuredDocumentEvent.getOriginalStart(), structuredDocumentEvent.getLength(), DirtyRegion.INSERT);
-        processDirtyRegion(dr);
-	}
-
-	protected void setEntireDocumentDirty(IDocument document) {
-
-		// make the entire document dirty
-		// this also happens on a "save as"
-		if (document != null && isInstalled()) {
-
-			// since we're marking the entire doc dirty
-            getDirtyRegionQueue().clear();
-			DirtyRegion entireDocument = createDirtyRegion(0, document.getLength(), DirtyRegion.INSERT);
-			processDirtyRegion(entireDocument);
-		}
-	}
-    
-    /**
-     * @param document
-     */
-    private void unhookModelLifecycleListener(IDocument document) {
-        IStructuredModel sModel = getStructuredModelForRead(document);
-        try {
-            if (sModel != null) 
-                sModel.removeModelLifecycleListener(this);
-            
-        } finally {
-            if (sModel != null)
-                sModel.releaseFromRead();
-        }
-    }
-    
-    /**
-     * @see org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor#uninstall()
-     */
-    public void uninstall() {
-        if(isInstalled()) {
-            getTextViewer().removeTextInputListener(fTextInputListener);
-            getTextViewer().getTextWidget().removeDisposeListener(fDisposeListener);
-        }
-        super.uninstall();
-    }
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/TemporaryAnnotation.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/TemporaryAnnotation.java
deleted file mode 100644
index 49463c8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/TemporaryAnnotation.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile;
-
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationAccessExtension;
-import org.eclipse.jface.text.source.IAnnotationPresentation;
-import org.eclipse.jface.text.source.ImageUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.texteditor.AnnotationPreference;
-import org.eclipse.ui.texteditor.AnnotationPreferenceLookup;
-import org.eclipse.wst.sse.ui.ITemporaryAnnotation;
-
-
-/**
- * An implementation of ITemporaryAnnotation @
- * @author pavery
- */
-public class TemporaryAnnotation extends Annotation implements ITemporaryAnnotation, IReconcileResult, IAnnotationPresentation {
-
-	public final static String ANNOT_BOOKMARK = "org.eclipse.ui.workbench.texteditor.bookmark"; //$NON-NLS-1$
-
-	// remember to change these if it changes in the extension point
-	// may need a different home for them in the future, but they're here for
-	// now
-	public final static String ANNOT_ERROR = "org.eclipse.wst.sse.ui.temp.error"; //$NON-NLS-1$
-	public final static String ANNOT_INFO = "org.eclipse.wst.sse.ui.temp.info"; //$NON-NLS-1$
-
-	// pa_TODO what should the ID be for this?
-	public final static String ANNOT_SEARCH = Annotation.TYPE_UNKNOWN;
-	public final static String ANNOT_TASK = "org.eclipse.ui.workbench.texteditor.task"; //$NON-NLS-1$
-	public final static String ANNOT_UNKNOWN = Annotation.TYPE_UNKNOWN;
-	public final static String ANNOT_WARNING = "org.eclipse.wst.sse.ui.temp.warning"; //$NON-NLS-1$
-    
-    // copied from CompilationUnitDocumentProvider.ProblemAnnotation
-    //XXX: To be fully correct these constants should be non-static
-
-    private static final int TASK_LAYER;
-
-    private static final int INFO_LAYER;
-
-    private static final int WARNING_LAYER;
-
-    private static final int ERROR_LAYER;
-
-    private static final int BOOKMARK_LAYER;
-
-    private static final int SEARCH_LAYER;
-
-    static {
-        AnnotationPreferenceLookup lookup= EditorsUI.getAnnotationPreferenceLookup();
-        TASK_LAYER= computeLayer("org.eclipse.ui.workbench.texteditor.task", lookup); //$NON-NLS-1$
-        INFO_LAYER= computeLayer("org.eclipse.wst.sse.ui.temp.info", lookup); //$NON-NLS-1$
-        WARNING_LAYER= computeLayer("org.eclipse.wst.sse.ui.temp.warning", lookup); //$NON-NLS-1$
-        ERROR_LAYER= computeLayer("org.eclipse.wst.sse.ui.temp.error", lookup); //$NON-NLS-1$
-        BOOKMARK_LAYER= computeLayer("org.eclipse.ui.workbench.texteditor.bookmark", lookup); //$NON-NLS-1$
-        SEARCH_LAYER= computeLayer("org.eclipse.search.results", lookup); //$NON-NLS-1$
-    }
-    
-    private static int computeLayer(String annotationType, AnnotationPreferenceLookup lookup) {
-        Annotation annotation= new Annotation(annotationType, false, null);
-        AnnotationPreference preference= lookup.getAnnotationPreference(annotation);
-        if (preference != null)
-            return preference.getPresentationLayer() + 1;
-        else
-            return IAnnotationAccessExtension.DEFAULT_LAYER + 1;
-    }
-    
-    
-	private Object fAdditionalFixInfo = null;
-
-	private Object fKey = null;
-	private Position fPosition = null;
-
-	private int fProblemID;
-
-    private int fLayer = DEFAULT_LAYER;
-    
-    private Image fImage = null;
-
-	public TemporaryAnnotation(Position p, String type, String message, ReconcileAnnotationKey key) {
-		super();
-		fPosition = p;
-		setType(type);
-		fKey = key;
-		setText(message);
-        initLayer();
-        initImage();
-	}
-
-	public TemporaryAnnotation(Position p, String type, String message, ReconcileAnnotationKey key, int problemId) {
-		super();
-		fPosition = p;
-		fKey = key;
-		setType(type);
-		setText(message);
-		fProblemID = problemId;
-        initLayer();
-        initImage();
-	}
-
-    private void initLayer() {
-        
-        String type = getType();
-        if(type.equals(ANNOT_ERROR)) {
-            fLayer = ERROR_LAYER;
-        }
-        else if(type.equals(ANNOT_WARNING)) {
-            fLayer = WARNING_LAYER;
-        }
-        else if(type.equals(ANNOT_INFO)) {
-            fLayer = INFO_LAYER;
-        }
-        else if(type.equals(ANNOT_BOOKMARK)) {
-            fLayer = BOOKMARK_LAYER;
-        }
-        else if(type.equals(ANNOT_SEARCH)) {
-            fLayer = SEARCH_LAYER;
-        }
-        else if(type.equals(ANNOT_TASK)) {
-            fLayer = TASK_LAYER;
-        }
-    }
-    
-    private void initImage() {
-        // later we can add support for quick fix images.
-        String type = getType();
-        if(type.equals(ANNOT_ERROR)) {
-            fImage = null;
-        }
-        else if(type.equals(ANNOT_WARNING)) {
-            fImage = null;
-        }
-        else if(type.equals(ANNOT_INFO)) {
-            fImage = null;
-        }
-        else if(type.equals(ANNOT_BOOKMARK)) {
-            fImage = null;
-        }
-        else if(type.equals(ANNOT_SEARCH)) {
-            fImage = null;
-        }
-        else if(type.equals(ANNOT_TASK)) {
-            fImage = null;
-        }
-    }
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		// this check doesn't take into consideration that annotation
-		// positions that change from a text edit before it
-		// we should be checking if the annotation is still on the same line,
-		// and the distance from the start of the line is the same
-		if (obj instanceof TemporaryAnnotation) {
-
-			TemporaryAnnotation ta = (TemporaryAnnotation) obj;
-
-            boolean samePosition = ta.getPosition().equals(this.getPosition());
-            boolean sameText = false;
-
-            if(ta.getText() != null && this.getText() != null && ta.getText().equals(this.getText()))
-                sameText = true;
-            else if(ta.getText( )== null && this.getText() == null)
-                sameText = true;
-            
-			return  sameText && samePosition;
-		}
-		return super.equals(obj);
-	}
-
-	/**
-	 * Additional info required to fix this problem.
-	 * 
-	 * @return an Object that contains additional info on how to fix this
-	 *         problem, or null if there is none
-	 */
-	public Object getAdditionalFixInfo() {
-		return fAdditionalFixInfo;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.ITemporaryAnnotation#getDescription()
-	 */
-	public String getDescription() {
-		return getText();
-	}
-
-	public Object getKey() {
-		return fKey;
-	}
-
-	public Position getPosition() {
-		return fPosition;
-	}
-
-	/**
-	 * @return Returns the problemID.
-	 */
-	public int getProblemID() {
-		return fProblemID;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.Annotation#isPersistent()
-	 */
-	public boolean isPersistent() {
-		return false;
-	}
-
-	/**
-	 * Sets additional information useful to fixing this problem.
-	 * 
-	 * @param an
-	 *            Object that contains additional info on how to fix this
-	 *            problem
-	 */
-	public void setAdditionalFixInfo(Object info) {
-		fAdditionalFixInfo = info;
-	}
-
-    public int getLayer() {
-        return fLayer;
-    }
-    
-    /*
-     * @see Annotation#paint
-     */
-    public void paint(GC gc, Canvas canvas, Rectangle r) {
-        //initializeImages();
-        if (fImage != null)
-            ImageUtilities.drawImage(fImage, gc, canvas, r, SWT.CENTER, SWT.TOP);
-    }
-    
-	public String toString() {
-		return "" + fPosition.getOffset() + ':' + fPosition.getLength() + ": " + getText(); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/IncrementalHelper.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/IncrementalHelper.java
deleted file mode 100644
index 5a065ce..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/IncrementalHelper.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile.validator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.validation.core.IHelper;
-
-
-
-public class IncrementalHelper implements IHelper {
-	private IProject fProject;
-
-	public IncrementalHelper(IDocument sourceDocument, IProject project) {
-		super();
-		fProject = project;
-	}
-
-	public IFile getFileFromFilename(String filename) {
-        // true means include phantom resources
-		IResource res = getProject().findMember(filename, true); 
-		if (res instanceof IFile) {
-			return (IFile) res;
-		}
-		return null;
-	}
-
-	public String getPortableName(IResource resource) {
-		return resource.getProjectRelativePath().toString();
-	}
-
-	public IProject getProject() {
-		return fProject;
-	}
-
-	public String getTargetObjectName(Object object) {
-		if (object == null)
-			return null;
-		if (object instanceof IResource)
-			return getPortableName((IResource) object);
-		return object.toString();
-	}
-
-	public Object loadModel(String symbolicName) {
-		return null;
-	}
-
-	public Object loadModel(String symbolicName, Object[] parms) {
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/IncrementalReporter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/IncrementalReporter.java
deleted file mode 100644
index 4283b4f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/IncrementalReporter.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile.validator;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IMessageAccess;
-import org.eclipse.wst.validation.core.IReporter;
-import org.eclipse.wst.validation.core.IValidator;
-
-
-/**
- * Right now we'll only use one reporter per validator.
- */
-public class IncrementalReporter implements IReporter {
-	private IProgressMonitor fProgressMonitor;
-	private HashMap messages = new HashMap();
-
-	public IncrementalReporter(IProgressMonitor progressMonitor) {
-		super();
-		fProgressMonitor = progressMonitor;
-	}
-
-	public void addMessage(IValidator validator, IMessage message) {
-		Object existingValue = messages.get(validator);
-		if (existingValue != null) {
-			((List) existingValue).add(message);
-		} else {
-			List newValue = new ArrayList(1);
-			newValue.add(message);
-			messages.put(validator, newValue);
-		}
-	}
-
-	public void displaySubtask(IValidator validator, IMessage message) {
-		if ((message == null) || (message.equals(""))) { //$NON-NLS-1$
-			return;
-		}
-		if (fProgressMonitor != null) {
-			fProgressMonitor.subTask(message.getText(validator.getClass().getClassLoader()));
-		}
-	}
-
-	public IMessageAccess getMessageAccess() {
-		// we may want to use this eventually
-		return null;
-	}
-
-	public HashMap getMessages() {
-		return messages;
-	}
-
-	public boolean isCancelled() {
-		if (fProgressMonitor == null)
-			return false;
-		return fProgressMonitor.isCanceled();
-	}
-
-	public void removeAllMessages(IValidator validator) {
-		messages.clear();
-	}
-
-	public void removeAllMessages(IValidator validator, Object object) {
-		removeAllMessages(validator);
-	}
-
-	// group names are unsupported
-	public void removeMessageSubset(IValidator validator, Object obj, String groupName) {
-		removeAllMessages(validator);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ReconcileStepForValidator.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ReconcileStepForValidator.java
deleted file mode 100644
index 2160424..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ReconcileStepForValidator.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile.validator;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.validation.core.FileDelta;
-import org.eclipse.wst.validation.core.IFileDelta;
-import org.eclipse.wst.validation.core.IHelper;
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IValidator;
-import org.eclipse.wst.validation.core.SeverityEnum;
-
-
-/**
- * A reconcile step for an IValidator for reconcile. Used the reconcile
- * framework to create TemporaryAnnotations from the validator messages.
- * 
- * @author pavery
- */
-public class ReconcileStepForValidator extends StructuredReconcileStep {
-
-    /** debug flag */
-    protected static final boolean DEBUG;
-    static {
-        String value = Platform.getDebugOption("org.eclipse.wst.sse.ui/debug/reconcilerjob"); //$NON-NLS-1$
-        DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-    }
-    
-	private final IReconcileResult[] EMPTY_RECONCILE_RESULT_SET = new IReconcileResult[0];
-	private IHelper fHelper = null;
-	private IncrementalReporter fReporter = null;
-	private int fScope = -1;
-	private IValidator fValidator = null;
-
-
-	public ReconcileStepForValidator(IValidator v, int scope) {
-		super();
-		fValidator = v;
-        fScope = scope;
-	}
-
-	public ReconcileStepForValidator(IValidator v, IReconcileStep step, int scope) {
-		super(step);
-		fValidator = v;
-        fScope = scope;
-	}
-
-	/**
-	 * Converts a map of IValidatorForReconcile to List to annotations based
-	 * on those messages
-	 * 
-	 * @param messages
-	 * @return
-	 */
-	protected IReconcileResult[] createAnnotations(HashMap messages) {
-		List annotations = new ArrayList();
-		Iterator keys = messages.keySet().iterator();
-
-		while (keys.hasNext() && !isCanceled()) {
-			IValidator validator = (IValidator) keys.next();
-			List messageList = (List) messages.get(validator);
-			for (int i = 0; i < messageList.size(); i++) {
-				IMessage validationMessage = (IMessage) messageList.get(i);
-				int offset = validationMessage.getOffset();
-
-				if (offset < 0)
-					continue;
-
-				String messageText = null;
-				try {
-                    messageText = validationMessage.getText(validator.getClass().getClassLoader());
-				} catch (Exception t) {
-					Logger.logException("exception reporting message from validator", t); //$NON-NLS-1$
-					continue;
-				}
-				String type = TemporaryAnnotation.ANNOT_INFO;
-				switch (validationMessage.getSeverity()) {
-					case SeverityEnum.HIGH_SEVERITY :
-						type = TemporaryAnnotation.ANNOT_ERROR;
-						break;
-					case SeverityEnum.NORMAL_SEVERITY :
-						type = TemporaryAnnotation.ANNOT_WARNING;
-						break;
-					case SeverityEnum.LOW_SEVERITY :
-						type = TemporaryAnnotation.ANNOT_WARNING;
-						break;
-					case SeverityEnum.ERROR_AND_WARNING :
-						type = TemporaryAnnotation.ANNOT_WARNING;
-						break;
-				}
-				Position p = new Position(offset, validationMessage.getLength());
-				ReconcileAnnotationKey key = createKey(getPartitionType(getDocument(), offset), getScope());
-				annotations.add(new TemporaryAnnotation(p, type, messageText, key));
-			}
-		}
-		return (IReconcileResult[]) annotations.toArray(new IReconcileResult[annotations.size()]);
-	}
-
-	private IFile getFile(IProject project) {
-
-		IFile file = null;
-		if (project != null) {
-
-			IDocument doc = getDocument();
-			// document may be null inbetween model/document swap
-			if (doc != null) {
-				IStructuredModel model = null;
-				try {
-					model = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-					// (pa) with FileBuffers, model base location is relative
-					// so we need to use the getFile(...) call
-					//file = project.getWorkspace().getRoot().getFileForLocation(new Path(model.getBaseLocation()));
-					file = project.getWorkspace().getRoot().getFile(new Path(model.getBaseLocation()));
-				} finally {
-					if (model != null)
-						model.releaseFromRead();
-				}
-			}
-		}
-		return file;
-	}
-
-	private IHelper getHelper(IProject project) {
-		if (fHelper == null)
-			fHelper = new IncrementalHelper(getStructuredDocument(), project);
-		return fHelper;
-	}
-
-	private IProject getProject() {
-
-		URIResolver resolver = null;
-		IDocument doc = getDocument();
-
-		if (doc != null) {
-			IStructuredModel model = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-			try {
-				if (model != null)
-					resolver = model.getResolver();
-			} finally {
-				if (model != null)
-					model.releaseFromRead();
-			}
-		}
-		return (resolver != null) ? resolver.getProject() : null;
-	}
-
-	private IncrementalReporter getReporter() {
-		if (fReporter == null)
-			fReporter = new IncrementalReporter(getProgressMonitor());
-		return fReporter;
-	}
-
-    /**
-     * remove from extension point
-     * @return
-     */
-	public int getScope() {
-		return fScope;
-	}
-
-	public void initialReconcile() {
-		// do nothing
-	}
-
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-		if(DEBUG)
-            System.out.println("[trace reconciler] > reconciling model in VALIDATOR step w/ dirty region: [" + dirtyRegion.getText() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		// pa_TODO need to use dirty region if Validators can ever handle
-		// partial file validation
-		IReconcileResult[] results = EMPTY_RECONCILE_RESULT_SET;
-		if (dirtyRegion != null) {
-			try {
-				results = validate();
-			} catch (Exception ex) {
-				Logger.logException("EXEPTION IN RECONCILE STEP FOR VALIDATOR", ex); //$NON-NLS-1$
-			}
-		}
-
-		if(DEBUG)
-		    System.out.println("[trace reconciler] > VALIDATOR step done"); //$NON-NLS-1$
-
-		return results;
-	}
-
-	public String toString() {
-		StringBuffer debugString = new StringBuffer("ValidatorStep: "); //$NON-NLS-1$
-		if (fValidator != null)
-			debugString.append(fValidator.getClass().toString());
-		return debugString.toString();
-	}
-
-	protected IReconcileResult[] validate() {
-		IReconcileResult[] results = EMPTY_RECONCILE_RESULT_SET;
-
-		IProject project = getProject();
-		IFile file = getFile(project);
-
-		if (file != null) {
-			try {
-				IHelper helper = getHelper(project);
-				IncrementalReporter reporter = getReporter();
-
-				IFileDelta fullDelta = new FileDelta(file.getFullPath().toString(), IFileDelta.CHANGED);
-				fValidator.validate(helper, reporter, new IFileDelta[]{fullDelta});
-
-				results = createAnnotations(reporter.getMessages());
-				reporter.getMessages().clear();
-
-			} catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-		return results;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorBuilder.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorBuilder.java
deleted file mode 100644
index 57b192b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorBuilder.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile.validator;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-
-
-/**
- * Based off of TransferBuilder. Reads the extension point for
- * org.eclipse.wst.sse.ui.extensions.reconcileValidator
- * 
- * @author pavery
- */
-public class ValidatorBuilder extends RegistryReader {
-    
-	public static final String ATT_CLASS = "class"; //$NON-NLS-1$
-	public static final String ATT_ID = "id"; //$NON-NLS-1$
-	public static final String ATT_SCOPE = "scope"; //$NON-NLS-1$
-
-	public static final ValidatorMetaData[] EMTPY_VMD_ARRAY = new ValidatorMetaData[0];
-
-	// extension point ID
-	public static final String PL_RECONCILE_VALIDATOR = "reconcileValidator"; //$NON-NLS-1$
-
-	public static final String PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-	public static final String TAG_CONTENT_TYPE_IDENTIFIER = "contentTypeIdentifier"; //$NON-NLS-1$
-	public static final String TAG_PARTITION_TYPE = "partitionType"; //$NON-NLS-1$
-
-	public static final String TAG_VALIDATOR = "validator"; //$NON-NLS-1$
-
-	public static final String TRACE_FILTER = "reconcile_validator"; //$NON-NLS-1$
-
-	public static final String TRUE = "true"; //$NON-NLS-1$
-	private String fCurrentCTID;
-	private ValidatorMetaData fCurrentVMD = null;
-	private List fVmds = new ArrayList();
-	protected String targetContributionTag;
-	protected String targetID;
-
-    private final String UNKNOWN = "???";
-    
-	/**
-	 * Returns the name of the part ID attribute that is expected in the
-	 * target extension.
-	 * 
-	 * @param element
-	 * @return String
-	 */
-	protected String getID(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_ID);
-		return value != null ? value : UNKNOWN; //$NON-NLS-1$
-	}
-
-	protected String getValidatorClass(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_CLASS);
-		return value != null ? value : UNKNOWN; //$NON-NLS-1$
-	}
-
-	/**
-	 * @param editorId
-	 * @return Transfer[]
-	 */
-	public ValidatorMetaData[] getValidatorMetaData(String editorId) {
-		readContributions(editorId, TAG_VALIDATOR, PL_RECONCILE_VALIDATOR);
-		return (ValidatorMetaData[]) fVmds.toArray(new ValidatorMetaData[fVmds.size()]);
-	}
-
-	protected String getValidatorScope(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_SCOPE);
-		return value != null ? value : UNKNOWN; //$NON-NLS-1$
-	}
-
-	/**
-	 * Reads the contributions from the registry for the provided workbench
-	 * part and the provided extension point ID.
-	 * 
-	 * @param id
-	 * @param tag
-	 * @param extensionPoint
-	 */
-	protected void readContributions(String id, String tag, String extensionPoint) {
-		targetID = id;
-		targetContributionTag = tag;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		readRegistry(registry, PLUGIN_ID, extensionPoint);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.edit.internal.extension.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String tag = element.getName();
-		//ie. targetContributionTag == validator
-		if (tag.equals(targetContributionTag)) {
-			String vId = getID(element);
-			String vClass = getValidatorClass(element);
-			String vScope = getValidatorScope(element);
-
-			if (vId == null) {
-				// This is not of interest to us - don't go deeper
-				return true;
-			}
-			// start building a VMD
-			fCurrentVMD = new ValidatorMetaData(element, vId, vClass, vScope);
-			fVmds.add(fCurrentVMD);
-
-			if (Logger.isTracing(ValidatorBuilder.TRACE_FILTER))
-				System.out.println("added reconcile validator: " + vId + ":" + vClass + ":" + vScope); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		} else if (tag.equals(TAG_CONTENT_TYPE_IDENTIFIER)) {
-			// add to current VMD
-			fCurrentCTID = getID(element);
-			fCurrentVMD.addContentTypeId(fCurrentCTID);
-		} else if (tag.equals(TAG_PARTITION_TYPE)) {
-			// add to current VMD
-			String partitionType = getID(element);
-			fCurrentVMD.addParitionType(fCurrentCTID, partitionType);
-
-			return true;
-		} else {
-			return false;
-		}
-
-		readElementChildren(element);
-		return true;
-	}
-}
-
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorMetaData.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorMetaData.java
deleted file mode 100644
index 0668971..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorMetaData.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile.validator;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-import org.eclipse.wst.validation.core.IValidator;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Object that holds information relevant to the creation of a validator for
- * the reconciling framework.
- * 
- * @author pavery
- */
-public class ValidatorMetaData {
-	private String fClass = null;
-	private IConfigurationElement fConfigurationElement = null;
-	private String fId = null;
-    private String fScope;
-
-	// a hash map of content type Ids (String) that points to lists of
-	// partition types (List of Strings)
-	// contentTypeId -> List(paritionType, paritionType, partitionType, ...)
-	// contentTypeId2 -> List(partitionType, partitionType, ...)
-	// ...
-	private HashMap fMatrix = null;
-
-	public ValidatorMetaData(IConfigurationElement element, String vId, String vClass, String vScope) {
-		fId = vId;
-		fClass = vClass;
-		fConfigurationElement = element;
-		fScope = vScope;
-		fMatrix = new HashMap();
-	}
-
-    /**
-     * TODO: This exact method is also in ValidatorStrategy. Should be in a common place.
-     * 
-     * @param contentTypeId
-     * @return
-     */
-    private String[] calculateParentContentTypeIds(String contentTypeId) {
-
-        Set parentTypes = new HashSet();
-        
-        IContentTypeManager ctManager = Platform.getContentTypeManager();    
-        IContentType ct = ctManager.getContentType(contentTypeId);
-        String id = contentTypeId;
-
-        while(ct != null && id != null) {
-            
-            parentTypes.add(id);
-            ct = ctManager.getContentType(id);
-            if(ct != null) {
-                IContentType baseType = ct.getBaseType();
-                id = (baseType != null) ? baseType.getId() : null;
-            }
-        }
-        return (String[])parentTypes.toArray(new String[parentTypes.size()]);
-    }
-    
-	public void addContentTypeId(String contentTypeId) {
-		if (!fMatrix.containsKey(contentTypeId))
-			fMatrix.put(contentTypeId, new ArrayList());
-	}
-
-	public void addParitionType(String contentTypeId, String partitionType) {
-		if (!fMatrix.containsKey(contentTypeId))
-			fMatrix.put(contentTypeId, new ArrayList());
-
-		List partitionList = (List) fMatrix.get(contentTypeId);
-		partitionList.add(partitionType);
-	}
-
-	public boolean canHandleContentType(String contentType) {
-        // need to iterate hierarchy
-        String[] contentHierarchy = calculateParentContentTypeIds(contentType);
-        for (int i = 0; i < contentHierarchy.length; i++) {
-            if(fMatrix.containsKey(contentHierarchy[i]))
-                return true;
-        }
-        return false;
-	}
-
-	public boolean canHandleParitionType(String contentTypeIds[], String paritionType) {
-        for(int i=0; i<contentTypeIds.length; i++) {
-    		if (fMatrix.containsKey(contentTypeIds[i])) {
-    			List partitions = (List) fMatrix.get(contentTypeIds[i]);
-    			for (int j = 0; j < partitions.size(); j++) {
-    				if (paritionType.equals(partitions.get(j)))
-    					return true;
-    			}
-    		}
-        }
-		return false;
-	}
-
-	/**
-	 * @param element
-	 * @param classAttribute
-	 * @return Object
-	 * @throws CoreException
-	 */
-	Object createExecutableExtension(final IConfigurationElement element, final String classAttribute) throws CoreException {
-		Object obj = null;
-		obj = element.createExecutableExtension(classAttribute);
-		return obj;
-	}
-
-	/**
-	 * Creates an extension. If the extension plugin has not been loaded a
-	 * busy cursor will be activated during the duration of the load.
-	 * 
-	 * @param element
-	 * @param classAttribute
-	 * @return Object
-	 * @throws CoreException
-	 */
-	public Object createExtension() {
-		// If plugin has been loaded create extension.
-		// Otherwise, show busy cursor then create extension.
-		final IConfigurationElement element = getConfigurationElement();
-		final Object[] result = new Object[1];
-		String pluginId = element.getDeclaringExtension().getNamespace();
-		Bundle bundle = Platform.getBundle(pluginId);
-		if (bundle.getState() == Bundle.ACTIVE) {
-			try {
-				return createExecutableExtension(element, "class"); //$NON-NLS-1$
-			} catch (CoreException e) {
-				handleCreateExecutableException(result, e);
-			}
-		} else {
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					try {
-						result[0] = createExecutableExtension(element, "class"); //$NON-NLS-1$
-					} catch (Exception e) {
-						handleCreateExecutableException(result, e);
-					}
-				}
-			});
-		}
-		return result[0];
-	}
-
-	/**
-	 * @param element
-	 * @return Transfer
-	 */
-	public IValidator createValidator() {
-		Object obj = null;
-		obj = createExtension();
-		if (obj == null)
-			return null;
-		return (obj instanceof IValidator) ? (IValidator) obj : null;
-	}
-
-	public IConfigurationElement getConfigurationElement() {
-		return fConfigurationElement;
-	}
-
-	public String getValidatorClass() {
-		return fClass;
-	}
-
-	public String getValidatorId() {
-		return fId;
-	}
-
-	/**
-	 * @param result
-	 * @param e
-	 */
-	void handleCreateExecutableException(Object[] result, Throwable e) {
-		Logger.logException(e);
-		e.printStackTrace();
-		result[0] = null;
-	}
-
-    public int getValidatorScope() {
-        return fScope.equalsIgnoreCase("total") ? ReconcileAnnotationKey.TOTAL : ReconcileAnnotationKey.PARTIAL; //$NON-NLS-1$
-    }
-    
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer debugString = new StringBuffer("ValidatorMetaData:"); //$NON-NLS-1$
-		if (fId != null)
-			debugString.append(" [id:" + fId + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-		return debugString.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorStrategy.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorStrategy.java
deleted file mode 100644
index 068dded..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorStrategy.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.reconcile.validator;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.internal.reconcile.AbstractStructuredTextReconcilingStrategy;
-import org.eclipse.wst.sse.ui.internal.reconcile.DocumentAdapter;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.validation.core.IValidator;
-
-
-/**
- * Special validator strategy. Runs validator steps contributed via
- * reconcileValidator extension point
- * 
- * @author pavery
- */
-public class ValidatorStrategy extends AbstractStructuredTextReconcilingStrategy {
-	
-    private String[] fContentTypeIds = null;
-    /** validator id (as declared in ext point) -> ReconcileStepForValidator **/
-	private HashMap fVidToVStepMap = null;
-	private List fMetaData = null;
-
-	public ValidatorStrategy(ITextEditor editor, String contentType) {
-		super(editor);
-		fMetaData = new ArrayList();
-		fContentTypeIds = calculateParentContentTypeIds(contentType);
-		fVidToVStepMap = new HashMap();
-	}
-
-	/**
-     * The content type passed in should be the most specific one.   
-     * TODO: This exact method is also in ValidatorMetaData. Should be in a common place.
-     * 
-     * @param contentType
-     * @return
-     */
-    private String[] calculateParentContentTypeIds(String contentTypeId) {
-
-        Set parentTypes = new HashSet();
-        
-        IContentTypeManager ctManager = Platform.getContentTypeManager();    
-        IContentType ct = ctManager.getContentType(contentTypeId);
-        String id = contentTypeId;
-
-        while(ct != null && id != null) {
-            
-            parentTypes.add(id);
-            ct = ctManager.getContentType(id);
-            if(ct != null) {
-                IContentType baseType = ct.getBaseType();
-                id = (baseType != null) ? baseType.getId() : null;
-            }
-        }
-        return (String[])parentTypes.toArray(new String[parentTypes.size()]);
-    }
-
-    public void addValidatorMetaData(ValidatorMetaData vmd) {
-		fMetaData.add(vmd);
-	}
-
-    /**
-     * 
-     * @param partitionType
-     * @return true if the strategy contains at least one ValidatorMetaData
-     *          that says it can handle the partition type (for a given content type) 
-     */
-	public boolean canValidatePartition(String partitionType) {
-		ValidatorMetaData vmd = null;
-		for (int i = 0; i < fMetaData.size(); i++) {
-			vmd = (ValidatorMetaData) fMetaData.get(i);
-			if (vmd.canHandleParitionType(getContentTypeIds(), partitionType))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * so that removal will work properly
-	 * 
-	 * @see org.eclipse.wst.sse.ui.reconcile.AbstractStructuredTextReconcilingStrategy#containsStep(org.eclipse.jface.text.reconciler.IReconcileStep)
-	 */
-	protected boolean containsStep(IReconcileStep step) {
-		return step != null ? fVidToVStepMap.values().contains(step) : false;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.reconcile.AbstractStructuredTextReconcilingStrategy#createReconcileSteps()
-	 */
-	public void createReconcileSteps() {
-		// do nothing, steps are created
-	}
-
-	public String[] getContentTypeIds() {
-		return fContentTypeIds;
-	}
-
-	/*
-	 * so that removal will work properly
-	 * 
-	 * @see org.eclipse.wst.sse.ui.reconcile.AbstractStructuredTextReconcilingStrategy#getPartitionTypes()
-	 */
-	public String[] getPartitionTypes() {
-		List partitionTypes = new ArrayList();
-		Iterator keys = fVidToVStepMap.keySet().iterator();
-		String key = null;
-		while (keys.hasNext()) {
-			key = (String) keys.next();
-			StructuredReconcileStep step = (StructuredReconcileStep) fVidToVStepMap.get(key);
-			partitionTypes.addAll(Arrays.asList(step.getPartitionTypes()));
-		}
-		return (String[]) partitionTypes.toArray(new String[partitionTypes.size()]);
-	}
-
-	public void reconcile(ITypedRegion tr, DirtyRegion dr) {
-
-		// for external files, this can be null
-		if (getFile() != null) {
-
-			String partitionType = tr.getType();
-			if (canValidatePartition(partitionType)) {
-				ValidatorMetaData vmd = null;
-
-
-				// IReconcileResult[]
-				ArrayList annotationsToAdd = new ArrayList();
-                // loop all of the relevant validator meta data
-                // to find new annotations
-				for (int i = 0; i < fMetaData.size(); i++) {
-					vmd = (ValidatorMetaData) fMetaData.get(i);
-					if (vmd.canHandleParitionType(getContentTypeIds(), partitionType)) {
-						// get step for partition type
-						Object o = fVidToVStepMap.get(vmd.getValidatorId());
-						ReconcileStepForValidator validatorStep = null;
-						if (o != null) {
-							validatorStep = (ReconcileStepForValidator) o;
-						} else {
-							// if doesn't exist, create one
-							IValidator validator = vmd.createValidator();
-							validatorStep = new ReconcileStepForValidator(validator, vmd.getValidatorScope());
-							validatorStep.setInputModel(new DocumentAdapter(fDocument));
-
-							fVidToVStepMap.put(vmd.getValidatorId(), validatorStep);
-						}
-						annotationsToAdd.addAll(Arrays.asList(validatorStep.reconcile(dr, dr)));
-					}
-				}
-                
-                TemporaryAnnotation[] annotationsToRemove= getAnnotationsToRemove(dr);   
-                if (annotationsToRemove.length + annotationsToAdd.size() > 0)
-                    smartProcess(annotationsToRemove, (IReconcileResult[]) annotationsToAdd.toArray(new IReconcileResult[annotationsToAdd.size()]));
-      
-			}
-		}
-	}
-
-    /**
-	 * @see org.eclipse.wst.sse.ui.internal.reconcile.AbstractStructuredTextReconcilingStrategy#setDocument(org.eclipse.jface.text.IDocument)
-	 */
-	public void setDocument(IDocument document) {
-
-		super.setDocument(document);
-		// validator steps are in "fVIdToVStepMap" (as opposed to fFirstStep >
-		// next step etc...)
-		Iterator it = fVidToVStepMap.values().iterator();
-		IReconcileStep step = null;
-		while (it.hasNext()) {
-			step = (IReconcileStep) it.next();
-			step.setInputModel(new DocumentAdapter(document));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicFindOccurrencesAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicFindOccurrencesAction.java
deleted file mode 100644
index e210fa4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicFindOccurrencesAction.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.search;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-/**
- * <p>
- * Finds occurrences of a specified region type w/ region text in an
- * IStructuredDocument. Clients must implement getPartitionTypes() and
- * getRegionTypes() to indicate which partition types and region types it can
- * operate on.
- * </p>
- * 
- * <p>
- * Clients should override <code>getSearchQuery()</code> in order to provide
- * their own type of "search" (eg. searching for XML start tags, searching for
- * Java elements, etc...)
- * </p>
- * 
- * @author pavery
- */
-public class BasicFindOccurrencesAction extends TextEditorAction {
-	private IStructuredDocument fDocument = null;
-
-	private IFile fFile = null;
-	private String fMatchRegionType = null;
-	private String fMatchText = null;
-
-	public BasicFindOccurrencesAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	/**
-	 * @param editor
-	 * @param sdRegion
-	 * @param r
-	 * @param type
-	 */
-	private void configure(StructuredTextEditor editor, IStructuredDocumentRegion sdRegion, ITextRegion r, String type) {
-
-		this.fFile = editor.getFileInEditor();
-		this.fDocument = (IStructuredDocument) editor.getDocument();
-		this.fMatchText = sdRegion.getText(r);
-		this.fMatchRegionType = type;
-	}
-
-	/**
-	 * @param partitionType
-	 * @return <code>true</code> if this action can operate on this type of
-	 *         partition, otherwise <code>false</code>.
-	 */
-	public boolean enabledForParitition(String partitionType) {
-
-		String[] accept = getPartitionTypes();
-		for (int i = 0; i < accept.length; i++) {
-			if (partitionType.equals(accept[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @param regionType
-	 * @return <code>true</code> if this action can operate on this region
-	 *         type (ITextRegion), otherwise false.
-	 */
-	public boolean enabledForRegionType(String regionType) {
-
-		String[] accept = getRegionTypes();
-		for (int i = 0; i < accept.length; i++) {
-			if (regionType.equals(accept[i]))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Clients should override this to enable find occurrences on certain
-	 * partition(s).
-	 */
-	protected String[] getPartitionTypes() {
-		return new String[0];
-	}
-
-	/**
-	 * Clients should override this to enable find occurrences on different
-	 * region type(s).
-	 */
-	protected String[] getRegionTypes() {
-		return new String[0];
-	}
-
-	/**
-	 * Clients should override to provide their own search for the file.
-	 *  
-	 */
-	public ISearchQuery getSearchQuery() {
-		return new OccurrencesSearchQuery(this.fFile, this.fDocument, this.fMatchText, this.fMatchRegionType);
-	}
-
-	public void run() {
-
-		if (this.fDocument != null && this.fMatchText != null && this.fMatchRegionType != null)
-			NewSearchUI.runQuery(getSearchQuery());
-
-		unconfigure();
-	}
-
-	private void unconfigure() {
-
-		this.fFile = null;
-		this.fDocument = null;
-	}
-
-	/**
-	 * Enables and initialzies the action, or disables.
-	 * 
-	 * @see org.eclipse.ui.texteditor.TextEditorAction#update()
-	 */
-	public void update() {
-
-		super.update();
-
-		// determine if action should be enabled or not
-		StructuredTextEditor editor = (StructuredTextEditor) getTextEditor();
-		IStructuredDocumentRegion sdRegion = editor.getSelectedDocumentRegion();
-		if (sdRegion != null) {
-
-			ITextRegion r = editor.getSelectedTextRegion(sdRegion);
-			if (r != null) {
-
-				String type = r.getType();
-				if (enabledForRegionType(type)) {
-					configure(editor, sdRegion, r, type);
-					setEnabled(true);
-				} else {
-					unconfigure();
-					setEnabled(false);
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchLabelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchLabelProvider.java
deleted file mode 100644
index 3c3d540..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchLabelProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.search;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-
-
-
-/**
- * Basic label provider that just provides an image and default text.
- * 
- * @author pavery
- */
-public class BasicSearchLabelProvider implements ILabelProvider {
-
-	public void addListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-
-	public void dispose() {
-		// do nothing
-	}
-
-	public Image getImage(Object element) {
-		return EditorPluginImageHelper.getInstance().getImage(EditorPluginImages.IMG_OBJ_OCC_MATCH);
-	}
-
-	public String getText(Object element) {
-
-		StringBuffer text = new StringBuffer();
-		if (element instanceof Match) {
-			Match m = (Match) element;
-
-			IMarker marker = (IMarker) m.getElement();
-			if (marker.exists()) {
-				String resultText = ""; //$NON-NLS-1$
-				try {
-					resultText = (String) marker.getAttribute(IMarker.MESSAGE);
-				} catch (CoreException e) {
-					Logger.logException(e);
-				}
-				text.append(resultText);
-			}
-		} else {
-			text.append(element.toString());
-		}
-		return text.toString();
-	}
-
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	public void removeListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchQuery.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchQuery.java
deleted file mode 100644
index 16bb7eb..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchQuery.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.search;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * @author pavery
- */
-public class BasicSearchQuery implements ISearchQuery {
-
-	/** attribute to identify markers added by find occurrences */
-	public static final String ATTR_OCCURRENCES_MARKER = "occurrences_marker"; //$NON-NLS-1$
-
-	private static int LINE_LENGTH_LIMIT = 200;
-
-	/** the file we're searching * */
-	private IFile fFile = null;
-	/** occurrence search matches * */
-	private List fMatches = null;
-
-	public BasicSearchQuery(IFile file) {
-		this.fFile = file;
-		this.fMatches = new ArrayList();
-	}
-
-	public void addMatch(IDocument document, int matchStart, int matchEnd) {
-
-		try {
-			int lineNumber = document.getLineOfOffset(matchStart);
-			int lineStart = document.getLineOffset(lineNumber);
-			int lineLength = document.getLineLength(lineNumber);
-
-			String searchResultString = document.get().substring(lineStart, lineStart + lineLength).trim();
-
-			// create search marker (so annotations show up in editor)
-			IMarker marker = createSearchMarker(matchStart, matchEnd, lineNumber, searchResultString);
-
-			addMatch(new Match(marker, Match.UNIT_CHARACTER, matchStart, matchStart + matchEnd));
-
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-	}
-
-	private void addMatch(Match match) {
-		if (match != null)
-			this.fMatches.add(match);
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#canRerun()
-	 */
-	public boolean canRerun() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#canRunInBackground()
-	 */
-	public boolean canRunInBackground() {
-		return true;
-	}
-
-	public void clearMatches() {
-		this.fMatches.clear();
-	}
-
-	protected IMarker createSearchMarker(int matchStart, int matchEnd, int lineNumber, String searchResultString) {
-
-		IMarker marker = null;
-		try {
-			if (getFile() != null) {
-
-				marker = getFile().createMarker(NewSearchUI.SEARCH_MARKER);
-				HashMap attributes = new HashMap(6);
-
-				MarkerUtilities.setCharStart(attributes, matchStart);
-				MarkerUtilities.setCharEnd(attributes, matchEnd);
-				MarkerUtilities.setLineNumber(attributes, lineNumber);
-
-				// this might be bad if line of text is VERY long?
-				if (searchResultString.length() > LINE_LENGTH_LIMIT)
-					searchResultString = searchResultString.substring(0, LINE_LENGTH_LIMIT) + "..."; //$NON-NLS-1$
-				MarkerUtilities.setMessage(attributes, searchResultString);
-
-				// so we can remove them later
-				attributes.put(ATTR_OCCURRENCES_MARKER, new Boolean(true));
-
-				marker.setAttributes(attributes);
-			}
-		} catch (CoreException e) {
-			Logger.logException(e);
-		}
-		return marker;
-	}
-
-	private void deleteOccurrencesMarkers() {
-
-		final List removals = new ArrayList();
-		try {
-			// clear all old find occurrences markers
-			IMarker[] searchMarkers = fFile.findMarkers(NewSearchUI.SEARCH_MARKER, false, IResource.DEPTH_ZERO);
-			for (int i = 0; i < searchMarkers.length; i++) {
-				Object o = searchMarkers[i].getAttribute(BasicSearchQuery.ATTR_OCCURRENCES_MARKER);
-				if (o != null && ((Boolean) o).booleanValue() == true)
-					removals.add(searchMarkers[i]);
-
-			}
-
-			if (removals.size() > 0) {
-				IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-					public void run(IProgressMonitor monitor) throws CoreException {
-						for (int i = 0; i < removals.size(); i++)
-							((IMarker) removals.get(i)).delete();
-					}
-				};
-				ResourcesPlugin.getWorkspace().run(runnable, null);
-			}
-		} catch (CoreException e) {
-			Logger.logException(e);
-		}
-	}
-
-	/**
-	 * The acutal work of the query. Will be run in a background Job
-	 * automatically if canRunInBackground(..) returns true.
-	 * 
-	 * @return
-	 */
-	protected IStatus doQuery() {
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 * public to avoid synthetic method access from inner class
-	 */
-	public IFile getFile() {
-		return this.fFile;
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#getLabel()
-	 */
-	public String getLabel() {
-		return ""; //$NON-NLS-1$
-	}
-
-	public Match[] getMatches() {
-		// get rid of the old markers
-		deleteOccurrencesMarkers();
-		doQuery();
-		return (Match[]) this.fMatches.toArray(new Match[this.fMatches.size()]);
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#getSearchResult()
-	 */
-	public ISearchResult getSearchResult() {
-		return null;
-	}
-
-	/**
-	 * used in search result display labels
-	 * 
-	 * @return
-	 */
-	protected String getSearchText() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.ISearchQuery#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus run(IProgressMonitor monitor) {
-		// defer to "get(...)"
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/FindOccurrencesActionProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/FindOccurrencesActionProvider.java
deleted file mode 100644
index ce9aeeb..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/FindOccurrencesActionProvider.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.search;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.util.PlatformStatusLineUtil;
-
-/**
- * Performs the appropriate FindOccurrences action call based on selection.
- * Clients can add actions for different partitions via
- * <code>addAction(BasicFindOccurrencesAction action)</code>
- * 
- * @author pavery
- */
-public class FindOccurrencesActionProvider extends TextEditorAction {
-
-	private List fActions = null;
-
-	public FindOccurrencesActionProvider(ResourceBundle bundle, String prefix, ITextEditor editor) {
-
-		super(bundle, prefix, editor);
-	}
-
-	public void addAction(BasicFindOccurrencesAction action) {
-
-		getActions().add(action);
-	}
-
-	private BasicFindOccurrencesAction getActionForCurrentSelection() {
-
-		// check if we have an action that's enabled on the current partition
-		ITypedRegion tr = getPartition();
-		String partition = tr != null ? tr.getType() : ""; //$NON-NLS-1$
-
-		Iterator it = getActions().iterator();
-		BasicFindOccurrencesAction action = null;
-		while (it.hasNext()) {
-			action = (BasicFindOccurrencesAction) it.next();
-			// we just choose the first action that can handle the partition
-			if (action.enabledForParitition(partition))
-				return action;
-		}
-		return null;
-	}
-
-	private List getActions() {
-		if (this.fActions == null)
-			this.fActions = new ArrayList();
-		return this.fActions;
-	}
-
-	private IDocument getDocument() {
-		return getTextEditor().getDocumentProvider().getDocument(getTextEditor().getEditorInput());
-	}
-
-	private ITypedRegion getPartition() {
-		ITextSelection sel = getTextSelection();
-		ITypedRegion region = null;
-		if (sel != null) {
-			try {
-				region = getDocument().getPartition(sel.getOffset());
-			} catch (BadLocationException e) {
-				region = null;
-			}
-		}
-		return region;
-	}
-
-	private ITextSelection getTextSelection() {
-		ISelection selection = getTextEditor().getSelectionProvider().getSelection();
-		if (selection instanceof ITextSelection && !selection.isEmpty()) {
-			ITextSelection textSel = (ITextSelection) selection;
-			return textSel;
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.Action#isEnabled()
-	 */
-	public boolean isEnabled() {
-		// always enabled
-		return true;
-	}
-
-
-	/**
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-
-		BasicFindOccurrencesAction action = getActionForCurrentSelection();
-		String errorMessage = SSEUIPlugin.getResourceString("%FindOccurrencesActionProvider.0"); //$NON-NLS-1$
-		if (action != null) {
-			action.update();
-			if (action.isEnabled()) {
-				// first of all activate the view
-				NewSearchUI.activateSearchResultView();
-
-				// run the action
-				action.run();
-
-				// clear status message
-				PlatformStatusLineUtil.clearStatusLine();
-			} else {
-				PlatformStatusLineUtil.displayErrorMessage(errorMessage);
-				PlatformStatusLineUtil.addOneTimeClearListener();
-			}
-		} else {
-			PlatformStatusLineUtil.displayErrorMessage(errorMessage);
-			PlatformStatusLineUtil.addOneTimeClearListener();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.texteditor.TextEditorAction#update()
-	 */
-	public void update() {
-
-		super.update();
-		// clear status message
-		PlatformStatusLineUtil.clearStatusLine();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesContentProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesContentProvider.java
deleted file mode 100644
index 11251fd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesContentProvider.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.search;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * @author pavery
- */
-public class OccurrencesContentProvider implements IStructuredContentProvider {
-
-	protected final Object[] EMPTY_ARRAY = new Object[0];
-	private OccurrencesSearchResult fResult = null;
-	private TableViewer fTableViewer = null;
-
-	public void clear() {
-		if (this.fResult != null)
-			this.fResult.clearMatches();
-		if (this.fTableViewer != null)
-			this.fTableViewer.refresh();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	public void elementsChanged(Object[] updatedElements) {
-
-		//TODO: copied from JavaSearchTableContentProvider
-		int addCount = 0;
-		int removeCount = 0;
-		for (int i = 0; i < updatedElements.length; i++) {
-			if (this.fResult.getMatchCount(updatedElements[i]) > 0) {
-				if (this.fTableViewer.testFindItem(updatedElements[i]) != null)
-					this.fTableViewer.refresh(updatedElements[i]);
-				else
-					this.fTableViewer.add(updatedElements[i]);
-				addCount++;
-			} else {
-				this.fTableViewer.remove(updatedElements[i]);
-				removeCount++;
-			}
-		}
-	}
-
-
-	/**
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-
-		this.fResult = (OccurrencesSearchResult) inputElement;
-		return this.fResult.getMatches();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
-	 *      java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-
-		if (viewer instanceof TableViewer)
-			this.fTableViewer = (TableViewer) viewer;
-		this.fResult = (OccurrencesSearchResult) newInput;
-	}
-
-	public void refresh() {
-
-		if (this.fTableViewer != null)
-			this.fTableViewer.refresh();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchQuery.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchQuery.java
deleted file mode 100644
index 54275bb..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchQuery.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.search;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * Basic ISearchQuery that finds matches of region type and region text.
- * 
- * @author pavery
- */
-public class OccurrencesSearchQuery extends BasicSearchQuery {
-
-	/**
-	 * We need a runnable so that the search markers show up in the live
-	 * document.
-	 */
-	private class FindRegions implements IWorkspaceRunnable {
-
-		private IStructuredDocument fFindRegionsDocument = null;
-		private String fMatchName = null;
-		private String fMatchRegionType = null;
-
-		public FindRegions(IStructuredDocument document, String matchText, String matchRegionType) {
-
-			this.fFindRegionsDocument = document;
-			this.fMatchName = matchText;
-			this.fMatchRegionType = matchRegionType;
-		}
-
-		private void findOccurrences(IProgressMonitor monitor) {
-
-			if (!isCanceled(monitor)) {
-
-				int matchStart = -1;
-				int matchEnd = -1;
-				String findRegionText = ""; //$NON-NLS-1$
-
-				ITextRegion r = null;
-				ITextRegionList regions = null;
-				IStructuredDocumentRegion current = this.fFindRegionsDocument.getFirstStructuredDocumentRegion();
-
-				// this is the main loop that iterates the document
-				while (current != null && !isCanceled(monitor)) {
-					regions = current.getRegions();
-					for (int i = 0; i < regions.size() && !isCanceled(monitor); i++) {
-
-						r = regions.get(i);
-
-						// maybe this is the equals check where some valid
-						// matches are failing (like searching on end tag)
-						if (r.getType().equals(this.fMatchRegionType) && current.getText(r).equals(this.fMatchName)) {
-
-							findRegionText = current.getText(r);
-
-							// region found
-							matchStart = current.getStartOffset(r);
-							matchEnd = matchStart + findRegionText.trim().length();
-
-							addMatch(this.fFindRegionsDocument, matchStart, matchEnd);
-						}
-					}
-					current = current.getNext();
-				}
-			}
-		}
-
-		private boolean isCanceled(IProgressMonitor monitor) {
-			return monitor != null && monitor.isCanceled();
-		}
-
-		public void run(IProgressMonitor monitor) throws CoreException {
-
-			try {
-				findOccurrences(monitor);
-			} catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-	}
-
-	// end inner class FindRegions
-
-
-	private IStructuredDocument fDocument = null;
-	private String fRegionText = null;
-	private String fRegionType = null;
-
-	public OccurrencesSearchQuery(IFile file, IStructuredDocument document, String regionText, String regionType) {
-		super(file);
-		this.fDocument = document;
-		this.fRegionText = regionText;
-		this.fRegionType = regionType;
-	}
-
-	public boolean canRerun() {
-		return false;
-	}
-
-	public boolean canRunInBackground() {
-		// pa_TODO investigate what is required to do this safely
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.internal.search.BasicSearchQuery#doQuery()
-	 */
-	protected IStatus doQuery() {
-
-		clearMatches();
-
-		IStatus status = Status.OK_STATUS;
-		FindRegions findRegions = new FindRegions(this.fDocument, this.fRegionText, this.fRegionType);
-		try {
-			ResourcesPlugin.getWorkspace().run(findRegions, null);
-		} catch (CoreException e) {
-			status = new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.OK, "", null); //$NON-NLS-1$
-		}
-		return status;
-	}
-
-	private String getFilename() {
-		String filename = SSEUIPlugin.getResourceString("%OccurrencesSearchQuery.2"); //$NON-NLS-1$ "file"
-		if (getFile() != null)
-			filename = getFile().getName().toString();
-		return filename;
-	}
-
-	public String getLabel() {
-		String label = SSEUIPlugin.getResourceString("%OccurrencesSearchQuery.0"); //$NON-NLS-1$
-		String[] args = {getSearchText(), getOccurrencesCountText(), getFilename()};
-		return MessageFormat.format(label, args);
-	}
-
-	/**
-	 * @return
-	 */
-	private String getOccurrencesCountText() {
-		String count = ""; //$NON-NLS-1$
-		// pa_TODO dynamically change count
-		return count;
-	}
-
-	public ISearchResult getSearchResult() {
-		return new OccurrencesSearchResult(this);
-	}
-
-	protected String getSearchText() {
-		return this.fRegionText;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchResult.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchResult.java
deleted file mode 100644
index 2f7f712..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchResult.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.search.ui.text.IEditorMatchAdapter;
-import org.eclipse.search.ui.text.IFileMatchAdapter;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-
-
-/**
- * @author pavery
- */
-public class OccurrencesSearchResult extends AbstractTextSearchResult implements IEditorMatchAdapter, IFileMatchAdapter {
-
-	private ISearchQuery fQuery = null;
-	private final Match[] NO_MATCHES = new Match[0];
-
-	public OccurrencesSearchResult(ISearchQuery query) {
-		this.fQuery = query;
-	}
-
-	public void clearMatches() {
-		if (getQuery() instanceof OccurrencesSearchQuery)
-			((OccurrencesSearchQuery) getQuery()).clearMatches();
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.text.IEditorMatchAdapter#computeContainedMatches(org.eclipse.search.ui.text.AbstractTextSearchResult,
-	 *      org.eclipse.ui.IEditorPart)
-	 */
-	public Match[] computeContainedMatches(AbstractTextSearchResult result, IEditorPart editor) {
-
-		IEditorInput editorInput = editor.getEditorInput();
-		if (editorInput instanceof IFileEditorInput) {
-			IFileEditorInput fileEditorInput = (IFileEditorInput) editorInput;
-			return computeContainedMatches(result, fileEditorInput.getFile());
-		}
-		return this.NO_MATCHES;
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.text.IFileMatchAdapter#computeContainedMatches(org.eclipse.search.ui.text.AbstractTextSearchResult,
-	 *      org.eclipse.core.resources.IFile)
-	 */
-	public Match[] computeContainedMatches(AbstractTextSearchResult result, IFile file) {
-		return getMatches();
-	}
-
-	public IEditorMatchAdapter getEditorMatchAdapter() {
-		return this;
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.text.IFileMatchAdapter#getFile(java.lang.Object)
-	 */
-	public IFile getFile(Object element) {
-		// return the file for the match
-		IFile file = null;
-		//System.out.println("get file for:"+element);
-		if (element instanceof IMarker) {
-			IResource r = ((IMarker) element).getResource();
-			if (r instanceof IFile) {
-				file = (IFile) r;
-			}
-		}
-		return file;
-	}
-
-	public IFileMatchAdapter getFileMatchAdapter() {
-		return this;
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_OBJ_OCC_MATCH);
-	}
-
-	/**
-	 * This label shows up in the search history
-	 */
-	public String getLabel() {
-		return getQuery().getLabel();
-	}
-
-	public Match[] getMatches() {
-		// ensure that query is done running
-		return ((OccurrencesSearchQuery) getQuery()).getMatches();
-	}
-
-	public ISearchQuery getQuery() {
-		return this.fQuery;
-	}
-
-	public String getTooltip() {
-		return getLabel();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.search.ui.text.IEditorMatchAdapter#isShownInEditor(org.eclipse.search.ui.text.Match,
-	 *      org.eclipse.ui.IEditorPart)
-	 */
-	public boolean isShownInEditor(Match match, IEditorPart editor) {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchViewPage.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchViewPage.java
deleted file mode 100644
index 2d54131..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchViewPage.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.search;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.search.ui.text.AbstractTextSearchViewPage;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.ide.IGotoMarker;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * Base page for Occurrences in file search results.
- * 
- * @author pavery
- */
-public class OccurrencesSearchViewPage extends AbstractTextSearchViewPage {
-
-	private OccurrencesContentProvider fContentProvider = null;
-
-	public OccurrencesSearchViewPage() {
-		super(AbstractTextSearchViewPage.FLAG_LAYOUT_FLAT);
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#clear()
-	 */
-	protected void clear() {
-		if (this.fContentProvider != null)
-			this.fContentProvider.clear();
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#configureTableViewer(org.eclipse.jface.viewers.TableViewer)
-	 */
-	protected void configureTableViewer(TableViewer viewer) {
-
-		// pa_TODO need sorter?
-		viewer.setLabelProvider(new BasicSearchLabelProvider());
-		this.fContentProvider = new OccurrencesContentProvider();
-		viewer.setContentProvider(this.fContentProvider);
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#configureTreeViewer(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	protected void configureTreeViewer(TreeViewer viewer) {
-		// not supported at the moment
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#elementsChanged(java.lang.Object[])
-	 */
-	protected void elementsChanged(Object[] objects) {
-		if (this.fContentProvider != null) {
-			this.fContentProvider.elementsChanged(objects);
-		}
-	}
-
-	public void forceRefresh() {
-		this.fContentProvider.refresh();
-	}
-
-	private IWorkbenchPage getActivePage() {
-
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
-		if (window == null)
-			return null;
-		return workbench.getActiveWorkbenchWindow().getActivePage();
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#getDisplayedMatches(java.lang.Object)
-	 */
-	public Match[] getDisplayedMatches(Object element) {
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=2640
-		// we only ever show one at a time, the element passed in is the match
-		// super was returning null
-		return new Match[]{(Match) element};
-	}
-
-	private void show(IMarker marker) {
-
-		IResource resource = marker.getResource();
-		if (resource == null || !resource.exists())
-			return;
-
-		IWorkbenchPage activePage = getActivePage();
-		try {
-			if (activePage != null) {
-
-				// open editor if needed
-				IDE.openEditor(getActivePage(), marker);
-
-				IEditorPart editor = activePage.getActiveEditor();
-				if (editor != null) {
-					IGotoMarker gotoMarker = (IGotoMarker) editor.getAdapter(IGotoMarker.class);
-					if (gotoMarker != null)
-						gotoMarker.gotoMarker(marker);
-				}
-
-			}
-		} catch (PartInitException e) {
-			// possible exception trying to open editor
-			Logger.logException(e);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#showMatch(org.eclipse.search.ui.text.Match,
-	 *      int, int)
-	 */
-	protected void showMatch(Match match, int currentOffset, int currentLength) throws PartInitException {
-		Object o = match.getElement();
-		if (o instanceof IMarker) {
-			show((IMarker) o);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/SelectionHistory.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/SelectionHistory.java
deleted file mode 100644
index 7bafc46..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/SelectionHistory.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.selection;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class SelectionHistory {
-	private ITextEditor fEditor;
-
-	private List fHistory;
-	private StructureSelectHistoryAction fHistoryAction;
-	private int fSelectionChangeListenerCounter;
-	private ISelectionChangedListener fSelectionListener;
-
-	public SelectionHistory(ITextEditor editor) {
-		Assert.isNotNull(editor);
-		fEditor = editor;
-		fHistory = new ArrayList(3);
-		fSelectionListener = new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				if (fSelectionChangeListenerCounter == 0)
-					flush();
-			}
-		};
-		fEditor.getSelectionProvider().addSelectionChangedListener(fSelectionListener);
-	}
-
-	public void dispose() {
-		fEditor.getSelectionProvider().removeSelectionChangedListener(fSelectionListener);
-	}
-
-	public void flush() {
-		if (fHistory.isEmpty())
-			return;
-		fHistory.clear();
-		fHistoryAction.update();
-	}
-
-	public IRegion getLast() {
-		if (isEmpty())
-			return null;
-		int size = fHistory.size();
-		IRegion result = (IRegion) fHistory.remove(size - 1);
-		fHistoryAction.update();
-		return result;
-	}
-
-	public void ignoreSelectionChanges() {
-		fSelectionChangeListenerCounter++;
-	}
-
-	public boolean isEmpty() {
-		return fHistory.isEmpty();
-	}
-
-	public void listenToSelectionChanges() {
-		fSelectionChangeListenerCounter--;
-	}
-
-	public void remember(IRegion region) {
-		fHistory.add(region);
-		fHistoryAction.update();
-	}
-
-	public void setHistoryAction(StructureSelectHistoryAction action) {
-		Assert.isNotNull(action);
-		fHistoryAction = action;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectAction.java
deleted file mode 100644
index b059193..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectAction.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.selection;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.w3c.dom.Node;
-
-
-public abstract class StructureSelectAction extends Action {
-	protected StructuredTextEditor fEditor = null;
-	protected SelectionHistory fHistory;
-	protected IStructuredModel fModel = null;
-	protected StructuredTextViewer fViewer = null;
-
-	public StructureSelectAction(StructuredTextEditor editor, SelectionHistory history) {
-		super();
-
-		Assert.isNotNull(editor);
-		Assert.isNotNull(history);
-		fEditor = editor;
-		fHistory = history;
-		fViewer = editor.getTextViewer();
-		fModel = editor.getModel();
-		Assert.isNotNull(fViewer);
-		Assert.isNotNull(fModel);
-	}
-
-	abstract protected IndexedRegion getCursorIndexedRegion();
-
-	protected IndexedRegion getIndexedRegion(int offset) {
-		IndexedRegion indexedRegion = null;
-
-		int lastOffset = offset;
-		indexedRegion = fModel.getIndexedRegion(lastOffset);
-		while (indexedRegion == null && lastOffset >= 0) {
-			lastOffset--;
-			indexedRegion = fModel.getIndexedRegion(lastOffset);
-		}
-
-		return indexedRegion;
-	}
-
-	abstract protected Region getNewSelectionRegion(Node node, Region region);
-
-	public void run() {
-		Region currentRegion = new Region(fViewer.getSelectedRange().x, fViewer.getSelectedRange().y);
-		if (currentRegion.getLength() == fViewer.getDocument().getLength())
-			return;
-
-		IndexedRegion cursorIndexedRegion = getCursorIndexedRegion();
-		if (cursorIndexedRegion instanceof Node) {
-			Node cursorNode = (Node) cursorIndexedRegion;
-
-			// use parent node for empty text node
-			if (cursorNode.getNodeType() == Node.TEXT_NODE && cursorNode.getNodeValue().trim().length() == 0) {
-				cursorNode = cursorNode.getParentNode();
-
-				if (cursorNode instanceof IndexedRegion)
-					cursorIndexedRegion = (IndexedRegion) cursorNode;
-			}
-
-			Region cursorNodeRegion = new Region(cursorIndexedRegion.getStartOffset(), cursorIndexedRegion.getEndOffset() - cursorIndexedRegion.getStartOffset());
-
-			Region newRegion = null;
-			if (cursorNodeRegion.getOffset() >= currentRegion.getOffset() && cursorNodeRegion.getOffset() <= currentRegion.getOffset() + currentRegion.getLength() && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() >= currentRegion.getOffset() && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() <= currentRegion.getOffset() + currentRegion.getLength())
-				newRegion = getNewSelectionRegion(cursorNode, currentRegion);
-			else
-				newRegion = cursorNodeRegion;
-
-			if (newRegion != null) {
-				fHistory.remember(currentRegion);
-				try {
-					fHistory.ignoreSelectionChanges();
-					fEditor.selectAndReveal(newRegion.getOffset(), newRegion.getLength());
-				} finally {
-					fHistory.listenToSelectionChanges();
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectEnclosingAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectEnclosingAction.java
deleted file mode 100644
index 4d30150..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectEnclosingAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.selection;
-
-import org.eclipse.jface.text.Region;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.w3c.dom.Node;
-
-public class StructureSelectEnclosingAction extends StructureSelectAction {
-	public StructureSelectEnclosingAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(SSEUIPlugin.getResourceString("%StructureSelectEnclosing.label")); //$NON-NLS-1$
-		setToolTipText(SSEUIPlugin.getResourceString("%StructureSelectEnclosing.tooltip")); //$NON-NLS-1$
-		setDescription(SSEUIPlugin.getResourceString("%StructureSelectEnclosing.description")); //$NON-NLS-1$
-	}
-
-	protected IndexedRegion getCursorIndexedRegion() {
-		return getIndexedRegion(fViewer.getSelectedRange().x);
-	}
-
-	protected Region getNewSelectionRegion(Node node, Region region) {
-		Region newRegion = null;
-
-		Node newNode = node.getParentNode();
-
-		if (newNode instanceof IndexedRegion) {
-			IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-			newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset());
-		}
-
-		return newRegion;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectHistoryAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectHistoryAction.java
deleted file mode 100644
index 08c7266..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectHistoryAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.selection;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.ui.texteditor.IUpdate;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.w3c.dom.Node;
-
-public class StructureSelectHistoryAction extends StructureSelectAction implements IUpdate {
-	public StructureSelectHistoryAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(SSEUIPlugin.getResourceString("%StructureSelectHistory.label")); //$NON-NLS-1$
-		setToolTipText(SSEUIPlugin.getResourceString("%StructureSelectHistory.tooltip")); //$NON-NLS-1$
-		setDescription(SSEUIPlugin.getResourceString("%StructureSelectHistory.description")); //$NON-NLS-1$
-
-		update();
-	}
-
-	protected IndexedRegion getCursorIndexedRegion() {
-		return null;
-	}
-
-	protected Region getNewSelectionRegion(Node node, Region region) {
-		return null;
-	}
-
-	public void run() {
-		IRegion old = fHistory.getLast();
-		if (old != null) {
-			try {
-				fHistory.ignoreSelectionChanges();
-				fEditor.selectAndReveal(old.getOffset(), old.getLength());
-			} finally {
-				fHistory.listenToSelectionChanges();
-			}
-		}
-	}
-
-	public void update() {
-		setEnabled(!fHistory.isEmpty());
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectNextAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectNextAction.java
deleted file mode 100644
index 8b8c343..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectNextAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.selection;
-
-import org.eclipse.jface.text.Region;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.w3c.dom.Node;
-
-public class StructureSelectNextAction extends StructureSelectAction {
-	public StructureSelectNextAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(SSEUIPlugin.getResourceString("%StructureSelectNext.label")); //$NON-NLS-1$
-		setToolTipText(SSEUIPlugin.getResourceString("%StructureSelectNext.tooltip")); //$NON-NLS-1$
-		setDescription(SSEUIPlugin.getResourceString("%StructureSelectNext.description")); //$NON-NLS-1$
-	}
-
-	protected IndexedRegion getCursorIndexedRegion() {
-		int offset = fViewer.getSelectedRange().x + fViewer.getSelectedRange().y - 1;
-
-		if (offset < 0)
-			offset = 0;
-
-		return getIndexedRegion(offset);
-	}
-
-	protected Region getNewSelectionRegion(Node node, Region region) {
-		Region newRegion = null;
-
-		Node newNode = node.getNextSibling();
-		if (newNode == null) {
-			newNode = node.getParentNode();
-
-			if (newNode instanceof IndexedRegion) {
-				IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-				newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset());
-			}
-		} else {
-			if (newNode instanceof IndexedRegion) {
-				IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-				newRegion = new Region(region.getOffset(), newIndexedRegion.getEndOffset() - region.getOffset());
-
-				if (newNode.getNodeType() == Node.TEXT_NODE)
-					newRegion = getNewSelectionRegion(newNode, newRegion);
-			}
-		}
-
-		return newRegion;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectPreviousAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectPreviousAction.java
deleted file mode 100644
index bcd9381..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectPreviousAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.selection;
-
-import org.eclipse.jface.text.Region;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.w3c.dom.Node;
-
-public class StructureSelectPreviousAction extends StructureSelectAction {
-	public StructureSelectPreviousAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(SSEUIPlugin.getResourceString("%StructureSelectPrevious.label")); //$NON-NLS-1$
-		setToolTipText(SSEUIPlugin.getResourceString("%StructureSelectPrevious.tooltip")); //$NON-NLS-1$
-		setDescription(SSEUIPlugin.getResourceString("%StructureSelectPrevious.description")); //$NON-NLS-1$
-	}
-
-	protected IndexedRegion getCursorIndexedRegion() {
-		return getIndexedRegion(fViewer.getSelectedRange().x);
-	}
-
-	protected Region getNewSelectionRegion(Node node, Region region) {
-		Region newRegion = null;
-
-		Node newNode = node.getPreviousSibling();
-		if (newNode == null) {
-			newNode = node.getParentNode();
-
-			if (newNode instanceof IndexedRegion) {
-				IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-				newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset());
-			}
-		} else {
-			if (newNode instanceof IndexedRegion) {
-				IndexedRegion newIndexedRegion = (IndexedRegion) newNode;
-				newRegion = new Region(newIndexedRegion.getStartOffset(), region.getOffset() + region.getLength() - newIndexedRegion.getStartOffset());
-
-				if (newNode.getNodeType() == Node.TEXT_NODE)
-					newRegion = getNewSelectionRegion(newNode, newRegion);
-			}
-		}
-
-		return newRegion;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/taginfo/DebugInfoHoverProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/taginfo/DebugInfoHoverProcessor.java
deleted file mode 100644
index e96ee19..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/taginfo/DebugInfoHoverProcessor.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.taginfo;
-
-
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITypedRegion;
-
-/**
- * Provides debug hover help
- * 
- * @author amywu
- * @see org.eclipse.jface.text.ITextHover
- */
-public class DebugInfoHoverProcessor implements ITextHover {
-	public static final String TRACEFILTER = "debuginfohover"; //$NON-NLS-1$
-	protected IPreferenceStore fPreferenceStore = null;
-
-	public DebugInfoHoverProcessor() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	public String getHoverInfo(ITextViewer viewer, IRegion hoverRegion) {
-		String displayText = null;
-		if ((hoverRegion == null) || (viewer == null) || (viewer.getDocument() == null)) {
-			displayText = null;
-		} else {
-			int offset = hoverRegion.getOffset();
-
-			ITypedRegion region;
-			try {
-				region = viewer.getDocument().getPartition(offset);
-				if (region != null) {
-					displayText = region.getType();
-				} else {
-					displayText = "Null Region was returned?!"; //$NON-NLS-1$
-				}
-			} catch (BadLocationException e) {
-				displayText = "BadLocationException Occurred!?"; //$NON-NLS-1$
-			}
-
-		}
-		return displayText;
-	}
-
-	/**
-	 * Returns the region to hover the text over based on the offset.
-	 * 
-	 * @param textViewer
-	 * @param offset
-	 * 
-	 * @return IRegion region to hover over if offset is not over invalid
-	 *         whitespace. otherwise, returns <code>null</code>
-	 * 
-	 * @see ITextHover#getHoverRegion(ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		ITypedRegion region = null;
-		if ((textViewer == null) || (textViewer.getDocument() == null)) {
-			region = null;
-		} else {
-
-			try {
-				region = textViewer.getDocument().getPartition(offset);
-			} catch (BadLocationException e) {
-				region = null;
-			}
-		}
-		return region;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ui/OffsetStatusLineContributionItem.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ui/OffsetStatusLineContributionItem.java
deleted file mode 100644
index 9a5b99c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ui/OffsetStatusLineContributionItem.java
+++ /dev/null
@@ -1,445 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.sse.ui.internal.ui;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.StatusLineContributionItem;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-/**
- * @author nsd A Status Line contribution intended to display the selected
- *         offsets in an editor. Double-clicking shows information about
- *         partitions and the Structured Document regions.
- */
-public class OffsetStatusLineContributionItem extends StatusLineContributionItem {
-
-	class InformationDialog extends Dialog {
-		IDocument fDocument = fTextEditor.getDocumentProvider().getDocument(fTextEditor.getEditorInput());
-
-		public InformationDialog(Shell parentShell) {
-			super(parentShell);
-			setShellStyle(getShellStyle() | SWT.RESIZE);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-		 */
-		protected Control createDialogArea(Composite parent) {
-			ISelection sel = fTextEditor.getSelectionProvider().getSelection();
-			ITextSelection textSelection = (ITextSelection) sel;
-			parent.getShell().setText("Selection Information: " + textSelection.getOffset() + "-" + (textSelection.getOffset() + textSelection.getLength()));
-			Composite composite = (Composite) super.createDialogArea(parent);
-
-			TabFolder tabfolder = new TabFolder(composite, SWT.NONE);
-			tabfolder.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-			TabItem partitionTab = new TabItem(tabfolder, SWT.BORDER);
-			partitionTab.setText("Partitions");
-			Composite partitions = new Composite(tabfolder, SWT.NONE);
-			partitionTab.setControl(partitions);
-			createPartitionContents(partitions);
-
-			// only create the ITextRegions tab for IStructuredDocuments
-			if (fDocument instanceof IStructuredDocument) {
-				TabItem regionTab = new TabItem(tabfolder, SWT.BORDER);
-				regionTab.setText("ITextRegions");
-				SashForm regions = new SashForm(tabfolder, SWT.NONE);
-				regions.setOrientation(SWT.HORIZONTAL);
-				regionTab.setControl(regions);
-				createRegionsContents(regions);
-			}
-
-			return composite;
-		}
-
-		/**
-		 * @param area
-		 */
-		private void createPartitionContents(Composite area) {
-			area.setLayout(new GridLayout());
-			area.setLayoutData(new GridData());
-
-			Composite partioningComposite = new Composite(area, SWT.NONE);
-			partioningComposite.setLayout(new GridLayout(2, false));
-			partioningComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
-			IStructuredModel model = StructuredModelManager.getModelManager().getExistingModelForRead(fDocument);
-			if (model != null) {
-				Text modelContentTypeLabel = new Text(partioningComposite, SWT.SINGLE | SWT.READ_ONLY);
-				GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
-				gd.horizontalSpan = 2;
-				modelContentTypeLabel.setLayoutData(gd);
-				modelContentTypeLabel.setText("Content-Type: " + model.getContentTypeIdentifier());
-
-				Text modelHandlerContentTypeLabel = new Text(partioningComposite, SWT.MULTI | SWT.WRAP | SWT.READ_ONLY);
-				gd = new GridData(SWT.FILL, SWT.FILL, true, false);
-				gd.horizontalSpan = 2;
-				modelHandlerContentTypeLabel.setLayoutData(gd);
-				modelHandlerContentTypeLabel.setText("Model Handler: " + model.getModelHandler() + " (" + model.getModelHandler().getAssociatedContentTypeId() + ")");
-
-				Label blankRow = new Label(partioningComposite, SWT.NONE);
-				gd = new GridData(SWT.FILL, SWT.FILL, true, false);
-				gd.horizontalSpan = 2;
-				blankRow.setLayoutData(gd);
-			}
-			if (model != null) {
-				model.releaseFromRead();
-			}
-
-			Text label = new Text(partioningComposite, SWT.SINGLE | SWT.READ_ONLY);
-			label.setText("Partitioning: ");
-			label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
-			final Combo partitioningCombo = new Combo(partioningComposite, SWT.READ_ONLY);
-			partitioningCombo.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
-			final Text partitionerInstanceLabel = new Text(partioningComposite, SWT.SINGLE | SWT.READ_ONLY);
-			GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
-			gd.horizontalSpan = 2;
-			partitionerInstanceLabel.setLayoutData(gd);
-
-			final TableViewer fPartitionTable = new TableViewer(partioningComposite, SWT.FULL_SELECTION);
-			gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-			gd.horizontalSpan = 2;
-			fPartitionTable.getControl().setLayoutData(gd);
-			fPartitionTable.setContentProvider(new ArrayContentProvider());
-			fPartitionTable.getTable().setHeaderVisible(true);
-			fPartitionTable.getTable().setLinesVisible(true);
-			String[] columns = new String[]{"Start", "Length", "Type"};
-			fPartitionTable.setLabelProvider(new ITableLabelProvider() {
-
-				public void addListener(ILabelProviderListener listener) {
-				}
-
-				public void dispose() {
-				}
-
-				public Image getColumnImage(Object element, int columnIndex) {
-					return null;
-				}
-
-				public String getColumnText(Object element, int columnIndex) {
-					ITypedRegion partition = (ITypedRegion) element;
-					String text = null;
-					switch (columnIndex) {
-						case 0 :
-							text = Integer.toString(partition.getOffset());
-							break;
-						case 1 :
-							text = Integer.toString(partition.getLength());
-							break;
-						case 2 :
-							text = partition.getType();
-							break;
-					}
-					if (text == null)
-						text = "";
-					return text;
-				}
-
-				public boolean isLabelProperty(Object element, String property) {
-					return false;
-				}
-
-				public void removeListener(ILabelProviderListener listener) {
-				}
-			});
-			TableLayout tlayout = new TableLayout();
-			CellEditor[] cellEditors = new CellEditor[columns.length];
-			int columnWidths[] = new int[]{Display.getCurrent().getBounds().width / 14, Display.getCurrent().getBounds().width / 14, Display.getCurrent().getBounds().width / 5};
-			for (int i = 0; i < columns.length; i++) {
-				tlayout.addColumnData(new ColumnWeightData(1));
-				TableColumn tc = new TableColumn(fPartitionTable.getTable(), SWT.NONE);
-				tc.setText(columns[i]);
-				tc.setResizable(true);
-				tc.setWidth(columnWidths[i]);
-			}
-			fPartitionTable.setCellEditors(cellEditors);
-			fPartitionTable.setColumnProperties(columns);
-			final String[] partitionings = (fDocument instanceof IDocumentExtension3) ? ((IDocumentExtension3) fDocument).getPartitionings() : new String[]{IDocumentExtension3.DEFAULT_PARTITIONING};
-			partitioningCombo.setItems(partitionings);
-			partitioningCombo.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					ISelection sel = fTextEditor.getSelectionProvider().getSelection();
-					ITextSelection textSelection = (ITextSelection) sel;
-					try {
-						String partitionerText = fDocument instanceof IDocumentExtension3 ? ((IDocumentExtension3) fDocument).getDocumentPartitioner(partitioningCombo.getItem(partitioningCombo.getSelectionIndex())).toString() : fDocument.getDocumentPartitioner().toString();
-						partitionerInstanceLabel.setText("Partitioner: " + partitionerText);
-						fPartitionTable.setInput(TextUtilities.computePartitioning(fDocument, partitioningCombo.getItem(partitioningCombo.getSelectionIndex()), textSelection.getOffset(), textSelection.getLength(), true));
-					}
-					catch (BadLocationException e1) {
-						fPartitionTable.setInput(new ITypedRegion[0]);
-					}
-				}
-			});
-			try {
-				String selectedPartitioning = partitioningCombo.getItem(0);
-				if (Utilities.contains(partitionings, IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING)) {
-					selectedPartitioning = IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING;
-					for (int i = 0; i < partitionings.length; i++) {
-						if (partitionings[i].equals(IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING)) {
-							partitioningCombo.select(i);
-						}
-					}
-				}
-				else {
-					partitioningCombo.select(0);
-				}
-				ISelection sel = fTextEditor.getSelectionProvider().getSelection();
-				ITextSelection textSelection = (ITextSelection) sel;
-				fPartitionTable.setInput(TextUtilities.computePartitioning(fDocument, selectedPartitioning, textSelection.getOffset(), textSelection.getLength(), true));
-				String partitionerText = fDocument instanceof IDocumentExtension3 ? ((IDocumentExtension3) fDocument).getDocumentPartitioner(partitioningCombo.getItem(partitioningCombo.getSelectionIndex())).toString() : fDocument.getDocumentPartitioner().toString();
-				partitionerInstanceLabel.setText("Partitioner: " + partitionerText);
-			}
-			catch (BadLocationException e1) {
-				fPartitionTable.setInput(new ITypedRegion[0]);
-			}
-			partitioningCombo.setFocus();
-		}
-
-		/**
-		 * @param composite
-		 * @return
-		 */
-		private Composite createRegionsContents(SashForm sashForm) {
-			ISelection sel = fTextEditor.getSelectionProvider().getSelection();
-			final ITextSelection textSelection = (ITextSelection) sel;
-			final List documentRegions = new ArrayList();
-			if (fDocument instanceof IStructuredDocument) {
-				IStructuredDocument structuredDocument = (IStructuredDocument) fDocument;
-				int pos = textSelection.getOffset();
-				int end = textSelection.getOffset() + textSelection.getLength();
-				IStructuredDocumentRegion docRegion = structuredDocument.getRegionAtCharacterOffset(pos);
-				IStructuredDocumentRegion endRegion = structuredDocument.getRegionAtCharacterOffset(end);
-				if (pos < end) {
-					while (docRegion != endRegion) {
-						documentRegions.add(docRegion);
-						docRegion = docRegion.getNext();
-					}
-				}
-				documentRegions.add(docRegion);
-			}
-
-			final TreeViewer tree = new TreeViewer(sashForm, SWT.V_SCROLL | SWT.H_SCROLL);
-			final String START = "Start";
-			final String LENGTH = "Length";
-			final String TEXTLENGTH = "Text Length";
-			final String CONTEXT = "Context";
-			tree.setContentProvider(new ITreeContentProvider() {
-				public void dispose() {
-				}
-
-				public Object[] getChildren(Object parentElement) {
-					List children = new ArrayList(0);
-					if (parentElement instanceof ITextSelection) {
-						children.addAll(documentRegions);
-					}
-					if (parentElement instanceof ITextRegionCollection) {
-						children.add(((ITextRegionCollection) parentElement).getRegions().toArray());
-					}
-					if (parentElement instanceof ITextRegion) {
-						children.add(new Pair(CONTEXT, ((ITextRegion) parentElement).getType()));
-						children.add(new Pair(START, Integer.toString(((ITextRegion) parentElement).getStart())));
-						children.add(new Pair(TEXTLENGTH, Integer.toString(((ITextRegion) parentElement).getTextLength())));
-						children.add(new Pair(LENGTH, Integer.toString(((ITextRegion) parentElement).getLength())));
-					}
-					if (parentElement instanceof ITextRegionList) {
-						children.add(Arrays.asList(((ITextRegionList) parentElement).toArray()));
-					}
-					if (parentElement instanceof Collection) {
-						children.addAll((Collection) parentElement);
-					}
-					if (parentElement instanceof Object[]) {
-						children.addAll(Arrays.asList((Object[]) parentElement));
-					}
-					return children.toArray();
-				}
-
-				public Object[] getElements(Object inputElement) {
-					return new Object[]{textSelection};
-				}
-
-				public Object getParent(Object element) {
-					if (element instanceof IStructuredDocumentRegion)
-						return ((IStructuredDocumentRegion) element).getParentDocument();
-					if (element instanceof ITextRegionContainer) {
-						return ((ITextRegionContainer) element).getParent();
-					}
-					return null;
-				}
-
-				public boolean hasChildren(Object element) {
-					return !(element instanceof Pair);
-				}
-
-				public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				}
-			});
-			tree.setLabelProvider(new LabelProvider() {
-				public String getText(Object element) {
-					if (element instanceof Pair)
-						return ((Pair) element).fKey.toString().toLowerCase() + ": " + ((Pair) element).fValue;
-					if (element instanceof IStructuredDocumentRegion) {
-						IStructuredDocumentRegion documentRegion = (IStructuredDocumentRegion) element;
-						int packageNameLength = documentRegion.getClass().getPackage().getName().length();
-						if (packageNameLength > 0)
-							packageNameLength++;
-						String name = documentRegion.getClass().getName().substring(packageNameLength);
-						String text = "[" + documentRegion.getStartOffset() + "-" + documentRegion.getEndOffset() + "] " + name + "@" + element.hashCode() + " " + documentRegion.getType();
-						return text;
-					}
-					if (element instanceof ITextRegion) {
-						ITextRegion textRegion = (ITextRegion) element;
-						int packageNameLength = textRegion.getClass().getPackage().getName().length();
-						if (packageNameLength > 0)
-							packageNameLength++;
-						String name = textRegion.getClass().getName().substring(packageNameLength);
-						String text = "[" + textRegion.getStart() + "-" + textRegion.getEnd() + "] " + name + "@" + element.hashCode() + " " + textRegion.getType();
-						return text;
-					}
-					return super.getText(element);
-				}
-			});
-			tree.setInput(fDocument);
-			final Text displayText = new Text(sashForm, SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY | SWT.BORDER);
-			displayText.setBackground(sashForm.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-			tree.addSelectionChangedListener(new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					if (event.getSelection() instanceof IStructuredSelection) {
-						Object o = ((IStructuredSelection) event.getSelection()).getFirstElement();
-						if (o instanceof Pair)
-							displayText.setText(((Pair) o).fValue.toString());
-						else if (o instanceof ITextSelection) {
-							ITextSelection text = (ITextSelection) o;
-							try {
-								displayText.setText(fDocument.get(text.getOffset(), text.getLength()));
-							}
-							catch (BadLocationException e) {
-								displayText.setText("");
-							}
-						}
-						else
-							displayText.setText("" + o);
-					}
-				}
-			});
-			sashForm.setWeights(new int[]{3, 2});
-			return sashForm;
-		}
-	}
-
-	static class Pair {
-		Object fKey;
-		String fValue;
-
-		public Pair(Object key, String value) {
-			fKey = key;
-			fValue = value;
-		}
-	}
-
-	class ShowPartitionAction extends Action {
-		public ShowPartitionAction() {
-			super();
-		}
-
-		public void run() {
-			/**
-			 * TODO: Provide a more useful control, maybe a table where the
-			 * selection shows you the partition's text in a StyledText pane
-			 * beneath it.
-			 */
-			super.run();
-			new InformationDialog(((Control) fTextEditor.getAdapter(Control.class)).getShell()).open();
-		}
-	}
-
-	IAction fShowPartitionAction = new ShowPartitionAction();
-
-	ITextEditor fTextEditor = null;
-
-	/**
-	 * @param id
-	 */
-	public OffsetStatusLineContributionItem(String id) {
-		super(id);
-	}
-
-	/**
-	 * @param id
-	 * @param visible
-	 * @param widthInChars
-	 */
-	public OffsetStatusLineContributionItem(String id, boolean visible, int widthInChars) {
-		super(id, visible, widthInChars);
-	}
-
-	public void setActiveEditor(ITextEditor textEditor) {
-		fTextEditor = textEditor;
-		setActionHandler(fShowPartitionAction);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ui/StructuredTextAnnotationImageProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ui/StructuredTextAnnotationImageProvider.java
deleted file mode 100644
index b835eda..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ui/StructuredTextAnnotationImageProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.ui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.texteditor.IAnnotationImageProvider;
-
-/**
- * Image provider for structured text editor annotations.
- * 
- * @author pavery
- */
-public class StructuredTextAnnotationImageProvider implements IAnnotationImageProvider {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IAnnotationImageProvider#getImageDescriptor(java.lang.String)
-	 */
-	public ImageDescriptor getImageDescriptor(String imageDescritporId) {
-		return null;
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IAnnotationImageProvider#getImageDescriptorId(org.eclipse.jface.text.source.Annotation)
-	 */
-	public String getImageDescriptorId(Annotation annotation) {
-        return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IAnnotationImageProvider#getManagedImage(org.eclipse.jface.text.source.Annotation)
-	 */
-	public Image getManagedImage(Annotation annotation) {
-		// future return different types of managed images as JDT does
-		// eg. overlay icon images, "grayed" images, quick fixable, etc...
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/openon/AbstractOpenOn.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/openon/AbstractOpenOn.java
deleted file mode 100644
index 2b573a8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/openon/AbstractOpenOn.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.openon;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.swt.program.Program;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.extensions.openon.IOpenOn;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.openon.ExternalFileEditorInput;
-import org.eclipse.wst.sse.ui.util.PlatformStatusLineUtil;
-
-
-/**
- * This action class retrieves the link/file selected by the cursor and
- * attempts to open the link/file in the default editor or web browser
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-abstract public class AbstractOpenOn implements IOpenOn {
-	protected final String CANNOT_OPEN = SSEUIPlugin.getResourceString("%AbstractOpenOn.0"); //$NON-NLS-1$
-	// document currently associated with open
-	private IDocument fDocument;
-	protected final String FILE_PROTOCOL = "file:/";//$NON-NLS-1$
-	private final String HTTP_PROTOCOL = "http://";//$NON-NLS-1$
-
-	abstract protected IRegion doGetOpenOnRegion(int offset);
-
-	abstract protected void doOpenOn(IRegion region);
-
-	/**
-	 * Returns the current document associated with open on
-	 * 
-	 * @return IDocument
-	 */
-	public IDocument getDocument() {
-		return fDocument;
-	}
-
-	/**
-	 * Determines the editor associated with the given file name
-	 * 
-	 * @param filename
-	 * @return editor id of the editor associated with the given file name
-	 */
-	private String getEditorId(String filename) {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IEditorRegistry editorRegistry = workbench.getEditorRegistry();
-		IEditorDescriptor descriptor = editorRegistry.getDefaultEditor(filename);
-		if (descriptor != null)
-			return descriptor.getId();
-		return EditorsUI.DEFAULT_TEXT_EDITOR_ID;
-	}
-
-	/**
-	 * Returns an IFile from the given uri if possible, null if cannot find
-	 * file from uri.
-	 * 
-	 * @param fileString
-	 *            file system path
-	 * @return returns IFile if fileString exists in the workspace
-	 */
-	protected IFile getFile(String fileString) {
-		IStructuredModel model = null;
-		IFile file = null;
-		try {
-			model = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-			if (model != null) {
-				// use the base location to obtain the in-workspace IFile
-				IFile modelFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(model.getBaseLocation()));
-				if (modelFile != null) {
-					// find the referenced file's location on disk
-					String filesystemLocation = model.getResolver().getLocationByURI(fileString);
-					if (filesystemLocation != null) {
-						IFile[] workspaceFiles = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(filesystemLocation));
-						// favor a workspace file in the same project
-						for (int i = 0; i < workspaceFiles.length && file == null; i++) {
-							if (workspaceFiles[i].getProject().equals(modelFile.getProject())) {
-								file = workspaceFiles[i];
-							}
-						}
-						// if none were in the same project, just pick one
-						if (file == null && workspaceFiles.length > 0) {
-							file = workspaceFiles[0];
-						}
-					}
-				}
-			}
-		}
-		catch (Exception e) {
-			Logger.log(Logger.WARNING, e.getMessage());
-		}
-		finally {
-			if (model != null) {
-				model.releaseFromRead();
-			}
-		}
-		if (file == null && fileString.startsWith("/")) {
-			file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(fileString));
-		}
-		return file;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.IOpenOn#getOpenOnRegion(org.eclipse.jface.text.IDocument,
-	 *      int)
-	 */
-	public IRegion getOpenOnRegion(IDocument doc, int offset) {
-		IRegion region;
-		// set the document for this action
-		setDocument(doc);
-		region = doGetOpenOnRegion(offset);
-		// reset the document back to null for this action
-		setDocument(null);
-		return region;
-	}
-
-	/**
-	 * Try to open the external file, fileString in its default editor
-	 * 
-	 * @param fileString
-	 * @return IEditorPart editor opened or null if editor could not be opened
-	 */
-	protected IEditorPart openExternalFile(String fileString) {
-		// file does not exist in workspace so try to open using system editor
-		File file = new File(fileString);
-		// try to open existing external file if it exists
-		if (file.exists()) {
-			IEditorInput input = new ExternalFileEditorInput(file);
-			String editorId = getEditorId(fileString);
-
-			try {
-				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				return page.openEditor(input, editorId, true);
-			}
-			catch (PartInitException pie) {
-				Logger.log(Logger.WARNING_DEBUG, pie.getMessage(), pie);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Notifies user that open on selection action could not successfully open
-	 * the selection (writes message on status bar and beeps)
-	 */
-	protected void openFileFailed() {
-		PlatformStatusLineUtil.displayErrorMessage(CANNOT_OPEN);
-		PlatformStatusLineUtil.addOneTimeClearListener();
-	}
-
-	/**
-	 * Opens the IFile, input in its default editor, if possible, and returns
-	 * the editor opened. Possible reasons for failure: input cannot be found,
-	 * input does not exist in workbench, editor cannot be opened.
-	 * 
-	 * @return IEditorPart editor opened or null if input == null or does not
-	 *         exist, external editor was opened, editor could not be opened
-	 */
-	protected IEditorPart openFileInEditor(IFile input) {
-		if (input != null && input.exists()) {
-			try {
-				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				return IDE.openEditor(page, input, true);
-			}
-			catch (PartInitException pie) {
-				Logger.log(Logger.WARNING_DEBUG, pie.getMessage(), pie);
-			}
-		}
-		return null;
-	}
-
-	// on
-
-	/**
-	 * Opens the appropriate editor for fileString
-	 * 
-	 * @param fileString
-	 */
-	protected void openFileInEditor(String fileString) {
-		IEditorPart editor = null;
-		if (fileString != null) {
-			// open web browser if this is a web address
-			String temp = fileString.toLowerCase();
-			if (temp.startsWith(HTTP_PROTOCOL)) {
-				Program.launch(fileString); // launches web browser/executable
-				// associated with uri
-				return;
-			}
-			// chop off the file protocol
-			if (temp.startsWith(FILE_PROTOCOL)) {
-				fileString = fileString.substring(FILE_PROTOCOL.length());
-			}
-
-			// try to locate the file in the workspace and return an IFile if
-			// found
-			IFile file = getFile(fileString);
-			if (file != null) {
-				// file exists in workspace
-				editor = openFileInEditor(file);
-			}
-			else {
-				// file does not exist in workspace
-				editor = openExternalFile(fileString);
-			}
-		}
-		// no editor was opened
-		if (editor == null) {
-			openFileFailed();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.IOpenOn#openOn(org.eclipse.jface.text.IDocument,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	public void openOn(IDocument doc, IRegion region) {
-		// set the document for this action
-		setDocument(doc);
-		// if no region was given this action fails
-		if (region == null)
-			openFileFailed();
-		else
-			doOpenOn(region);
-		// reset the document back to null for this action
-		setDocument(null);
-	}
-
-	/**
-	 * Sets current document associated with open on
-	 * 
-	 * @param document
-	 */
-	public void setDocument(IDocument document) {
-		fDocument = document;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/openon/OpenOnProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/openon/OpenOnProvider.java
deleted file mode 100644
index d7d9735..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/openon/OpenOnProvider.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.openon;
-
-
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.ui.extensions.openon.IOpenOn;
-import org.eclipse.wst.sse.ui.internal.openon.OpenOnBuilder;
-import org.eclipse.wst.sse.ui.internal.openon.OpenOnDefinition;
-
-
-/**
- * Determines the appropriate IOpenOn to call based on current partition.
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-public class OpenOnProvider {
-	private static OpenOnProvider fInstance;
-
-	/**
-	 * returns singleton instance of OpenOnProvider
-	 * 
-	 * @return OpenOnProvider
-	 */
-	public synchronized static OpenOnProvider getInstance() {
-		if (fInstance == null) {
-			fInstance = new OpenOnProvider();
-		}
-		return fInstance;
-	}
-
-
-	/**
-	 * Returns the content type of document
-	 * 
-	 * @param document -
-	 *            assumes document is not null
-	 * @return String content type of given document
-	 */
-	protected String getContentType(IDocument document) {
-		String type = null;
-
-		IModelManager mgr = StructuredModelManager.getModelManager();
-		IStructuredModel model = null;
-		try {
-			model = mgr.getExistingModelForRead(document);
-			if (model != null) {
-				type = model.getContentTypeIdentifier();
-			}
-		}
-		finally {
-			if (model != null) {
-				model.releaseFromRead();
-			}
-		}
-		return type;
-	}
-
-	/**
-	 * Returns the appropriate IOpenOn for the current partition
-	 * 
-	 * @return
-	 */
-	public IOpenOn getOpenOn(IDocument document, int offset) {
-		IOpenOn openOn = null;
-
-		// determine the current partition
-		if (document != null) {
-			String contentTypeID = getContentType(document);
-			String partitionType = getPartitionType(document, offset);
-
-			IContentType contentType = Platform.getContentTypeManager().getContentType(contentTypeID);
-
-			while (openOn == null && contentType != null) {
-				// Query OpenOnBuilder and get the list of OpenOns for the
-				// current partition
-				OpenOnDefinition[] defs = OpenOnBuilder.getInstance().getOpenOnDefinitions(contentType.getId(), partitionType);
-				contentType = contentType.getBaseType();
-
-				// If more than 1 openon is returned, need to further check
-				// which OpenOn is the appropriate one to return
-				// for now just returning the first one
-				if (defs != null && defs.length > 0) {
-					openOn = defs[0].createOpenOn();
-				}
-			}
-		}
-
-		return openOn;
-	}
-
-	/**
-	 * Returns the partition type located at offset in the document
-	 * 
-	 * @param document -
-	 *            assumes document is not null
-	 * @param offset
-	 * @return String partition type
-	 */
-	protected String getPartitionType(IDocument document, int offset) {
-		String type = null;
-		try {
-			// TODO: provide partitioning information so we're not using a default like this
-			if (document instanceof IStructuredDocument) {
-				type = TextUtilities.getContentType(document, IStructuredDocument.DEFAULT_STRUCTURED_PARTITIONING, offset, false);
-			}
-		}
-		catch (BadLocationException e1) {
-		}
-		finally {
-			if (type == null) {
-				try {
-					ITypedRegion region = document.getPartition(offset);
-					if (region != null) {
-						type = region.getType();
-					}
-				}
-				catch (BadLocationException e) {
-					type = null;
-				}
-			}
-		}
-		return type;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/CommonEditorPreferenceNames.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/CommonEditorPreferenceNames.java
deleted file mode 100644
index 92963ea..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/CommonEditorPreferenceNames.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.sse.ui.preferences;
-
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-
-/**
- * Editor preferences split out from Model Preferences. Preferences defined in
- * here are dependent on a visual editor.
- */
-public class CommonEditorPreferenceNames {
-	/**
-	 * A named preference that controls whether bracket matching highlighting is turned on or off.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 */
-	public final static String MATCHING_BRACKETS = "matchingBrackets"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that holds the color used to highlight matching brackets.
-	 * <p>
-	 * Value is of type <code>String</code>. A RGB color value encoded as a string 
-	 * using class <code>PreferenceConverter</code>
-	 * </p>
-	 */
-	public final static String MATCHING_BRACKETS_COLOR = "matchingBracketsColor"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that controls if code assist gets auto activated.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 */ 
-	public static final String AUTO_PROPOSE = "autoPropose";//$NON-NLS-1$
-	
-	/**
-	 * A named preference that holds the characters that auto activate code assist.
-	 * <p>
-	 * Value is of type <code>String</code>. All characters that trigger auto code assist.
-	 * </p>
-	 */
-	public static final String AUTO_PROPOSE_CODE = "autoProposeCode";//$NON-NLS-1$
-
-	/**
-	 * A named preference that defines the key for the hover modifiers.
-	 * <p>
-	 * Value is of type <code>String</code>.
-	 * </p> 
-	 */
-	public static final String EDITOR_TEXT_HOVER_MODIFIERS = "hoverModifiers"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that controls whether or grammar should be inferred or not.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 */ 
-	public static final String EDITOR_USE_INFERRED_GRAMMAR = "useInferredGrammar"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that controls on-the-fly validation
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 */ 
-	public static final String EVALUATE_TEMPORARY_PROBLEMS = "evaluateTemporaryProblems"; //$NON-NLS-1$
-
-	/**
-	 * The key to store customized templates.
-	 * <p>
-	 * Value is of type <code>String</code>.
-	 * </p> 
-	 */
-	public static final String TEMPLATES_KEY = "org.eclipse.wst.sse.ui.custom_templates"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that defines read only contrast scale.
-	 * <p>
-	 * Value is of type <code>Integer</code>.
-	 * </p> 
-	 */
-	public static final String READ_ONLY_FOREGROUND_SCALE = "readOnlyForegroundScale"; //$NON-NLS-1$
-	
-	/**
-	 * @deprecated The function this key is used by has not been implemented
-	 */
-	public static final String EDITOR_SHOW_TEXT_HOVER_AFFORDANCE = "showTextHoverAffordance"; //$NON-NLS-1$
-	
-	/**
-	 * @deprecated The function this key is used by has not been implemented
-	 */
-	public static final String EDITOR_ANNOTATION_ROLL_OVER = "editor_annotation_roll_over"; //$NON-NLS-1$
-	
-	/**
-	 * @deprecated The function this key is used by has not been implemented
-	 */
-	public static final String SHOW_QUICK_FIXABLES = "showQuickFixables"; //$NON-NLS-1$
-	
-	/**
-	 * @deprecated use CommonEditorPreferenceNames.AUTO_PROPOSE
-	 */
-	public static final String CONTENT_ASSIST_SUPPORTED = "contentAssistSupported";//$NON-NLS-1$
-	
-	/**
-	 * @deprecated use "." instead
-	 */
-	public static final String DOT = ".";//$NON-NLS-1$
-	
-	/**
-	 * @deprecated use "<" instead
-	 */
-	public static final String LT = "<";//$NON-NLS-1$
-	
-	/**
-	 * @deprecated use "<%" instead
-	 */
-	public static final String LT_PERCENT = "<%";//$NON-NLS-1$
-	
-	/**
-	 * @deprecated use AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINKS_ENABLED
-	 */
-	public final static String BROWSER_LIKE_LINKS = AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINKS_ENABLED;
-	/**
-	 * @deprecated use AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINK_KEY_MODIFIER
-	 */
-	public final static String BROWSER_LIKE_LINKS_KEY_MODIFIER = AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINK_KEY_MODIFIER;
-	/**
-	 * @deprecated use AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINK_COLOR
-	 */
-	public final static String LINK_COLOR = AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINK_COLOR;
-	
-	// The below are deprecated constants that were replaced by using MarkerAnnotationPreferences
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String ERROR_INDICATION = "errorIndication"; //$NON-NLS-1$
-	/** 
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String ERROR_INDICATION_COLOR = "errorIndicationColor"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String ERROR_INDICATION_IN_OVERVIEW_RULER = "errorIndicationInOverviewRuler"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String BOOKMARK_INDICATION = "bookmarkIndication"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String BOOKMARK_INDICATION_COLOR = "bookmarkIndicationColor"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String BOOKMARK_INDICATION_IN_OVERVIEW_RULER = "bookmarkIndicationInOverviewRuler"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String SEARCH_RESULT_INDICATION = "searchResultIndication"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String SEARCH_RESULT_INDICATION_COLOR = "searchResultIndicationColor"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER = "searchResultIndicationInOverviewRuler"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String TASK_INDICATION = "taskIndication"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String TASK_INDICATION_COLOR = "taskIndicationColor"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String TASK_INDICATION_IN_OVERVIEW_RULER = "taskIndicationInOverviewRuler"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String UNKNOWN_INDICATION = "unknownIndication"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String UNKNOWN_INDICATION_COLOR = "unknownIndicationColor"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String UNKNOWN_INDICATION_IN_OVERVIEW_RULER = "unknownIndicationInOverviewRuler"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String WARNING_INDICATION = "warningIndication"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String WARNING_INDICATION_COLOR = "warningIndicationColor"; //$NON-NLS-1$
-	/**
-	 * @deprecated see {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
-	 */
-	public final static String WARNING_INDICATION_IN_OVERVIEW_RULER = "warningIndicationInOverViewrRuler"; //$NON-NLS-1$
-
-	/**
-	 * these are preferences that should be inherited from the "embedded
-	 * preference store" for example: if you ask for th OVERVIEW_RULER
-	 * preference for JSP, you will automatically get the preference from the
-	 * HTML preference store.
-	 */
-	/**
-	 * @deprecated Currently not used by anyone.
-	 */
-	String EMBEDDED_CONTENT_TYPE_PREFERENCES[] = {CommonModelPreferenceNames.TAB_WIDTH, CommonModelPreferenceNames.LINE_WIDTH, CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, CommonModelPreferenceNames.INDENT_USING_TABS, CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, AUTO_PROPOSE, AUTO_PROPOSE_CODE, CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.ATTR_NAME_CASE,};
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/PreferenceKeyGenerator.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/PreferenceKeyGenerator.java
deleted file mode 100644
index f47254d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/PreferenceKeyGenerator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/*
- * 
- */
-package org.eclipse.wst.sse.ui.preferences;
-
-/**
- * This class is a utility to generate contentType specific keys, for content
- * type sensitive preferences (eg. highlighting).
- * 
- * This class is not intended to be used for non content type sensitive
- * prefrences (eg. font style).
- * 
- * @deprecated This utility is not long required because content type specific
- *             preferences should be in their own preference store
- */
-public class PreferenceKeyGenerator {
-	public static String generateKey(String key, String contentTypeId) {
-		return contentTypeId + "." + key; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/PreferenceManager.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/PreferenceManager.java
deleted file mode 100644
index 1c9f963..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/PreferenceManager.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.wst.sse.core.preferences.PreferenceChangeListener;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * @deprecated no longer need a special PreferenceManager for our component.
- *             All preferences should be accessible using the base preference
- *             manager.
- */
-public abstract class PreferenceManager {
-
-	protected class EmptyNodeList implements NodeList {
-		protected EmptyNodeList() {
-			super();
-		}
-
-		public int getLength() {
-			return 0;
-		}
-
-		public Node item(int param1) {
-			return null;
-		}
-	}
-
-	/**
-	 * The PreferenceRuntimeException is often thrown by methods when a
-	 * service we use throws a checked exception, but we want to convert and
-	 * treat as a runtime exception.
-	 */
-	class PreferenceRuntimeException extends RuntimeException {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 */
-		private static final long serialVersionUID = 1L;
-		private Throwable originalException;
-
-		public PreferenceRuntimeException() {
-			super();
-		}
-
-		/**
-		 * This form of the constructor is used to wrapper another exception.
-		 */
-		public PreferenceRuntimeException(Throwable t) {
-			this();
-			originalException = t;
-		}
-
-		public String getMessage() {
-			String result = super.getMessage();
-			if ((result != null) && (!result.endsWith("."))) //$NON-NLS-1$
-				result = result + "."; //$NON-NLS-1$
-			if (originalException != null) {
-				String embeddedMessage = originalException.getMessage();
-				embeddedMessage = originalException.getClass().getName() + ": " + originalException.getMessage(); //$NON-NLS-1$
-				// not all exceptions have messages (e.g. many
-				// NullPointerException)
-				String originalError = SSEUIPlugin.getResourceString("%PreferenceManager.0"); //$NON-NLS-1$
-				if (result == null)
-					result = ""; //$NON-NLS-1$
-				if (embeddedMessage != null)
-					result = result + "  " + originalError + " " + embeddedMessage; //$NON-NLS-2$//$NON-NLS-1$
-				else
-					result = result + "  " + originalError + " " + originalException.toString(); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			return result;
-		}
-
-		public Throwable getOriginalException() {
-			return originalException;
-		}
-
-		public String toString() {
-			// we don't put super.toString or getClass to "hide" that it was a
-			// SourceEditing exception (otherwise, focus goes on that,
-			// instead of original exception.
-			String message = getMessage();
-			// message should never be null ... but just in case
-			return (message != null) ? message : super.toString();
-		}
-	}
-
-	protected Document document = null;
-
-	protected String fileName = null;
-	private List preferenceChangeListeners = new ArrayList(1);
-
-	protected Document _getNewDocumentDOM2() {
-		Document result = null;
-		// settings
-		DocumentBuilder builder = getDocumentBuilder();
-		result = builder.newDocument();
-		Element settings = result.createElement(getRootElementName());
-		result.appendChild(settings);
-		return result;
-
-	}
-
-	protected Document _getParsedDocumentDOM2(String filename) {
-		Document result = null;
-		DocumentBuilder builder = getDocumentBuilder();
-		try {
-			Reader inputReader = new FileReader(getFilename());
-			InputSource inputSource = new InputSource(inputReader);
-			result = builder.parse(inputSource);
-		} catch (FileNotFoundException e) {
-			// file not found is "ok" ... it'll be created if we return null
-			result = null;
-		} catch (IOException e) {
-			result = null;
-		} catch (SAXException e) {
-			result = null;
-		}
-
-		return result;
-
-	}
-
-	public void addPreferenceChangeListener(PreferenceChangeListener l) {
-		if (!preferenceChangeListeners.contains(l))
-			preferenceChangeListeners.add(l);
-	}
-
-	/**
-	 * Returns a new document containing the defaults for this manager. This
-	 * SHOULD NOT overwrite the actual document stored within this manager,
-	 * and while a root element MAY BE created by the DOM implementation, it
-	 * is recommended that subclasses NOT RELY upon it being there.
-	 * 
-	 * @return org.w3c.dom.Document
-	 */
-	public Document createDefaultPreferences() {
-		Document txobj = null;
-		txobj = _getNewDocumentDOM2();
-		return txobj;
-	}
-
-	protected void firePreferenceChangeListeners() {
-		if (preferenceChangeListeners != null)
-			for (int i = 0; i < preferenceChangeListeners.size(); ++i)
-				((PreferenceChangeListener) preferenceChangeListeners.get(i)).preferencesChanged();
-	}
-
-	/**
-	 * 
-	 * @return Document
-	 */
-	public Document getDocument() {
-		if (document == null)
-			load();
-		return document;
-	}
-
-	private DocumentBuilder getDocumentBuilder() {
-		DocumentBuilder result = null;
-		try {
-			result = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-		} catch (ParserConfigurationException e) {
-			Logger.logException(e);
-		}
-		return result;
-	}
-
-	/*************************************************************************
-	 * Takes a single string of the form "a/b/c" and ensures that that
-	 * structure exists below the head element, down through 'c', and returns
-	 * a <em>single</em> element 'c'. For multiple elements (such as
-	 * multiple &lt;macro&gt; elements contained within a single
-	 * &lt;macros&gt; element, full DOM access is required for searching and
-	 * child element manipulation.
-	 ************************************************************************/
-	public Element getElement(String name) {
-		if (document == null)
-			load();
-		if (document != null)
-			return (Element) getNode(getRootElement(), name);
-		else
-			return null;
-	}
-
-	protected abstract String getFilename();
-
-	protected Node getNamedChild(Node parent, String childName) {
-		if (parent == null) {
-			return null;
-		}
-		NodeList childList = parent.getChildNodes();
-		for (int i = 0; i < childList.getLength(); i++) {
-			if (childList.item(i).getNodeName().equals(childName))
-				return childList.item(i);
-		}
-		return null;
-	}
-
-	/*************************************************************************
-	 * Takes a single string of the form "a/b/c" and ensures that that
-	 * structure exists below the head element, down through 'c', and returns
-	 * the element 'c'.
-	 ************************************************************************/
-	public Node getNode(Node node, String name) {
-		StringTokenizer tokenizer = new StringTokenizer(name, "/"); //$NON-NLS-1$
-		String token = null;
-		while (tokenizer.hasMoreTokens()) {
-			token = tokenizer.nextToken();
-			if (getNamedChild(node, token) == null) {
-				Document localDocument = node.getOwnerDocument();
-				node.appendChild(localDocument.createElement(token));
-			}
-			node = getNamedChild(node, token);
-		}
-		return node;
-	}
-
-	protected Document getParsedDocument(String filename) {
-		Document result = null;
-		// file name is almost never null,
-		// but can be if preferences are being ran
-		// outside of a workbench application
-		if (filename != null) {
-			File existenceTester = new File(filename);
-			if (!existenceTester.exists())
-				result = null;
-			else
-				result = _getParsedDocumentDOM2(filename);
-		}
-		return result;
-
-	}
-
-	/**
-	 * Returns the root element of the current document
-	 * 
-	 * @return org.w3c.dom.Element
-	 */
-	public Node getRootElement() {
-		return getRootElement(getDocument());
-	}
-
-	/**
-	 * Returns the root element of the current document
-	 * 
-	 * @return org.w3c.dom.Element
-	 */
-	public Node getRootElement(Document doc) {
-		if (doc == null)
-			return null;
-		Node rootElement = doc.getFirstChild();
-		while (rootElement != null && rootElement.getNodeType() != Node.ELEMENT_NODE && !rootElement.getNodeName().equals(getRootElementName())) {
-			rootElement = rootElement.getNextSibling();
-		}
-		return rootElement;
-	}
-
-	/**
-	 * The intended name for the root Element of the Document; what is also
-	 * listed within the DOCTYPE declaration.
-	 * 
-	 * @return String
-	 */
-	public String getRootElementName() {
-		return "settings"; //$NON-NLS-1$
-	}
-
-	public void load() {
-		document = getParsedDocument(getFilename());
-
-		if (document == null) {
-			document = createDefaultPreferences();
-		}
-	}
-
-	public void removePreferenceChangeListener(PreferenceChangeListener l) {
-		preferenceChangeListeners.remove(l);
-	}
-
-	public void save() {
-		if (document == null) {
-			document = createDefaultPreferences();
-		}
-		try {
-			// pa_TODO is this still going to be done like this?
-			FileWriter output = new FileWriter(getFilename());
-			saveDocument(document, output);
-			output.flush();
-			output.close();
-		} catch (IOException e) {
-			Logger.logException("Program Error: PreferenceManager::save. Exception saving preferences ", e); //$NON-NLS-1$
-			throw new PreferenceRuntimeException(e);
-		}
-		firePreferenceChangeListeners();
-	}
-
-	public void saveDocument(Document document, Writer writer) throws IOException {
-
-		serialize(document, writer);
-	}
-
-	private void serialize(Document sourceDocument, Writer writer) throws IOException {
-		Source domSource = new DOMSource(sourceDocument);
-		try {
-			Transformer serializer = TransformerFactory.newInstance().newTransformer();
-			try {
-				serializer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-				serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (IllegalArgumentException e) {
-				// unsupported properties
-			}
-			serializer.transform(domSource, new StreamResult(writer));
-		} catch (TransformerConfigurationException e) {
-			throw new IOException(e.getMessage());
-		} catch (TransformerFactoryConfigurationError e) {
-			throw new IOException(e.getMessage());
-		} catch (TransformerException e) {
-			throw new IOException(e.getMessage());
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractColorPage.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractColorPage.java
deleted file mode 100644
index b02a5f2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractColorPage.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-
-public abstract class AbstractColorPage extends org.eclipse.jface.preference.PreferencePage implements org.eclipse.ui.IWorkbenchPreferencePage {
-	private OverlayPreferenceStore fOverlayStore;
-	protected StyledTextColorPicker fPicker = null;
-
-	/**
-	 * Creates the coloring group used in createContents This method can be
-	 * overwritten to set the text of the group or provide an infopop
-	 */
-	protected Composite createColoringComposite(Composite parent) {
-		Composite coloringComposite = createComposite(parent, 1);
-		return coloringComposite;
-	}
-
-	/**
-	 * Creates composite control and sets the default layout data.
-	 */
-	protected Composite createComposite(Composite parent, int numColumns) {
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		//GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);
-		return composite;
-	}
-
-	protected Control createContents(Composite parent) {
-		// create scrollbars for this preference page when needed
-		final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-		sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-		Composite pageComponent = createComposite(sc1, 1);
-		sc1.setContent(pageComponent);
-
-		Label descLabel = createDescriptionLabel(pageComponent, SSEUIPlugin.getResourceString("%AbstractColorPageDescription")); //$NON-NLS-1$
-		Composite coloringComposite = createColoringComposite(pageComponent);
-		createContentsForPicker(coloringComposite);
-
-		GridData gd = (GridData) descLabel.getLayoutData();
-		gd.widthHint = (coloringComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)).x;
-		setSize(pageComponent);
-		return pageComponent;
-	}
-
-	/**
-	 * Creates the StyledTextColorPicker used in createContents This method
-	 * can be overwritten to set up StyledTextColorPicker differently
-	 */
-	protected void createContentsForPicker(Composite parent) {
-		// create the color picker
-		fPicker = new StyledTextColorPicker(parent, SWT.NULL);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		fPicker.setLayoutData(data);
-
-		fPicker.setPreferenceStore(fOverlayStore);
-		setupPicker(fPicker);
-
-		fPicker.setText(getSampleText());
-	}
-
-	/**
-	 * Create description label displayed at top of preference page. This
-	 * method/label is used instead of PreferencePage's description label
-	 * because the ScrolledComposite contained in this page will not fully
-	 * work (horizontal scrolling) with PreferencePage's description label.
-	 */
-	protected Label createDescriptionLabel(Composite parent, String description) {
-		Label label = new Label(parent, SWT.LEFT | SWT.WRAP);
-		label.setText(description);
-
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.grabExcessHorizontalSpace = true;
-		label.setLayoutData(data);
-
-		return label;
-	}
-
-	/**
-	 * Creates composite control and sets the default layout data.
-	 */
-
-	protected Group createGroup(Composite parent, int numColumns) {
-		Group group = new Group(parent, SWT.NULL);
-
-		//GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		group.setLayout(layout);
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		group.setLayoutData(data);
-
-		return group;
-	}
-
-	/**
-	 * Utility method that creates a label instance and sets the default
-	 * layout data.
-	 */
-	protected Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(text);
-		GridData data = new GridData(GridData.FILL);
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		return label;
-	}
-
-	protected OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys() {
-		return null;
-	}
-
-	protected Button createPushButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setText(label);
-		GridData data = new GridData(GridData.FILL);
-		data.horizontalAlignment = GridData.FILL;
-		button.setLayoutData(data);
-		return button;
-	}
-
-	/**
-	 * Utility method that creates a text instance and sets the default layout
-	 * data.
-	 */
-	protected Text createTextField(Composite parent, String text) {
-		Text textfield = new Text(parent, SWT.LEFT);
-		textfield.setText(text);
-		GridData data = new GridData(GridData.FILL);
-		data.horizontalAlignment = GridData.FILL;
-		textfield.setLayoutData(data);
-		return textfield;
-	}
-
-	public void dispose() {
-		super.dispose();
-		if (fPicker != null && !fPicker.isDisposed())
-			fPicker.releasePickerResources();
-		if (fOverlayStore != null) {
-			fOverlayStore.stop();
-		}
-	}
-
-	public StyledTextColorPicker getPicker() {
-		return fPicker;
-	}
-
-	public abstract String getSampleText();
-
-	/**
-	 * Initializes this preference page for the given workbench.
-	 * <p>
-	 * This method is called automatically as the preference page is being
-	 * created and initialized. Clients must not call this method.
-	 * </p>
-	 * 
-	 * @param workbench
-	 *            the workbench
-	 */
-	public void init(IWorkbench workbench) {
-		fOverlayStore = new OverlayPreferenceStore(getPreferenceStore(), createOverlayStoreKeys());
-		fOverlayStore.load();
-		fOverlayStore.start();
-	}
-
-	/**
-	 * Initializes states of the controls using default values in the
-	 * preference store.
-	 */
-	protected void performDefaults() {
-		fOverlayStore.loadDefaults();
-		fPicker.refresh();
-	}
-
-	public boolean performOk() {
-		fOverlayStore.propagate();
-		 savePreferences();
-		return true;
-	}
-	
-	protected void savePreferences() {
-		// save plugin preferences here
-	}
-
-	/**
-	 * Sets the size of composite to the default value
-	 */
-	protected void setSize(Composite composite) {
-		if (composite != null) {
-			Point minSize = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			composite.setSize(minSize);
-			// set scrollbar composite's min size so page is expandable but
-			// has scrollbars when needed
-			if (composite.getParent() instanceof ScrolledComposite) {
-				ScrolledComposite sc1 = (ScrolledComposite) composite.getParent();
-				sc1.setMinSize(minSize);
-				sc1.setExpandHorizontal(true);
-				sc1.setExpandVertical(true);
-			}
-		}
-	}
-
-	protected abstract void setupPicker(StyledTextColorPicker picker);
-
-	public void setVisible(boolean visible) {
-		boolean doShrink = false;
-		// limiter, for the really huge fonts
-		if (visible) {
-			getPicker().refresh();
-			int x = Math.min(getControl().getShell().getSize().x, getControl().getDisplay().getClientArea().width * 9 / 10);
-			int y = Math.min(getControl().getShell().getSize().y, getControl().getDisplay().getClientArea().height * 9 / 10);
-			boolean shrinkWidth = (x != getControl().getShell().getSize().x);
-			boolean shrinkHeight = (y != getControl().getShell().getSize().y);
-			doShrink = shrinkWidth || shrinkHeight;
-			if (doShrink) {
-				// modify just the height
-				if (shrinkHeight && !shrinkWidth)
-					getShell().setBounds(getShell().getLocation().x, 0, getShell().getSize().x, getControl().getDisplay().getClientArea().height);
-				// modify just the width
-				else if (!shrinkHeight && shrinkWidth)
-					getShell().setBounds(0, getShell().getLocation().y, getControl().getDisplay().getClientArea().width, getShell().getSize().y);
-				// change the entire shell size to only fill the display, and
-				// move it to the origin
-				else
-					getShell().setBounds(0, 0, getControl().getDisplay().getClientArea().width, getControl().getDisplay().getClientArea().height);
-			}
-		}
-		super.setVisible(visible);
-		if (doShrink) {
-			getControl().getShell().redraw();
-			getControl().getShell().update();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractPreferencePage.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractPreferencePage.java
deleted file mode 100644
index d37829f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractPreferencePage.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.wst.sse.core.ModelPlugin;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * (pa) why is this class abstract if there are no abstract methods?
- */
-public abstract class AbstractPreferencePage extends PreferencePage implements ModifyListener, SelectionListener, IWorkbenchPreferencePage {
-
-	protected final static int WIDTH_VALIDATION_LOWER_LIMIT = 0; //$NON-NLS-1$
-	protected final static int WIDTH_VALIDATION_UPPER_LIMIT = 999; //$NON-NLS-1$
-
-	protected Button createCheckBox(Composite group, String label) {
-		Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-		button.setText(label);
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.verticalAlignment = GridData.CENTER;
-		data.horizontalAlignment = GridData.FILL;
-		button.setLayoutData(data);
-
-		return button;
-	}
-
-	protected Composite createComposite(Composite parent, int numColumns) {
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		//GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		composite.setLayout(layout);
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.horizontalIndent = 0;
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);
-
-		return composite;
-	}
-
-	protected Control createContents(Composite parent) {
-		return createScrolledComposite(parent);
-	}
-
-	protected Combo createDropDownBox(Composite parent) {
-		Combo comboBox = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-
-		//GridData
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.CENTER;
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		comboBox.setLayoutData(data);
-
-		return comboBox;
-	}
-
-	protected Group createGroup(Composite parent, int numColumns) {
-		Group group = new Group(parent, SWT.NULL);
-
-		//GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		group.setLayout(layout);
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.horizontalIndent = 0;
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		group.setLayoutData(data);
-
-		return group;
-	}
-
-	protected Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(text);
-
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.verticalAlignment = GridData.CENTER;
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-
-		return label;
-	}
-
-	protected Button createRadioButton(Composite group, String label) {
-		Button button = new Button(group, SWT.RADIO);
-		button.setText(label);
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.verticalAlignment = GridData.CENTER;
-		data.horizontalAlignment = GridData.FILL;
-		button.setLayoutData(data);
-
-		return button;
-	}
-
-	protected Composite createScrolledComposite(Composite parent) {
-		// create scrollbars for this parent when needed
-		final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-		sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-		Composite composite = createComposite(sc1, 1);
-		sc1.setContent(composite);
-
-		// not calling setSize for composite will result in a blank composite,
-		// so calling it here initially
-		// setSize actually needs to be called after all controls are created,
-		// so scrolledComposite
-		// has correct minSize
-		setSize(composite);
-		return composite;
-	}
-
-	protected Label createSeparator(Composite parent, int columnSpan) {
-		// Create a spacer line
-		Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.verticalAlignment = GridData.CENTER;
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = columnSpan;
-
-		separator.setLayoutData(data);
-		return separator;
-	}
-
-	protected Text createTextField(Composite parent) {
-		Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-
-		//GridData
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.CENTER;
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		text.setLayoutData(data);
-
-		return text;
-	}
-
-	protected void enableValues() {
-	}
-
-	protected Preferences getModelPreferences() {
-		return ModelPlugin.getDefault().getPluginPreferences();
-	}
-
-	public void init(IWorkbench workbench) {
-	}
-
-	protected void initializeValues() {
-	}
-
-	protected boolean loadPreferences() {
-		BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() {
-			public void run() {
-				initializeValues();
-				validateValues();
-				enableValues();
-			}
-		});
-		return true;
-	}
-
-	public void modifyText(ModifyEvent e) {
-		// If we are called too early, i.e. before the controls are created
-		// then return
-		// to avoid null pointer exceptions
-		if (e.widget != null && e.widget.isDisposed())
-			return;
-
-		validateValues();
-		enableValues();
-	}
-
-	protected void performDefaults() {
-		super.performDefaults();
-	}
-
-	public boolean performOk() {
-		savePreferences();
-		return true;
-	}
-
-	protected boolean savePreferences() {
-		BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() {
-			public void run() {
-				storeValues();
-			}
-		});
-		return true;
-	}
-
-	protected void setInvalidInputMessage(String widthText) {
-		String msg = SSEUIPlugin.getResourceString("%4concat", (new Object[]{widthText})); //$NON-NLS-1$ = "''{0}'' is not a valid input"
-		setErrorMessage(msg);
-	}
-
-	protected void setSize(Composite composite) {
-		if (composite != null) {
-			Point minSize = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			composite.setSize(minSize);
-			// set scrollbar composite's min size so page is expandable but
-			// has scrollbars when needed
-			if (composite.getParent() instanceof ScrolledComposite) {
-				ScrolledComposite sc1 = (ScrolledComposite) composite.getParent();
-				sc1.setMinSize(minSize);
-				sc1.setExpandHorizontal(true);
-				sc1.setExpandVertical(true);
-			}
-		}
-	}
-
-	protected void storeValues() {
-		SSEUIPlugin.getDefault().savePluginPreferences();
-	}
-
-	protected void validateValues() {
-	}
-
-	public void widgetDefaultSelected(SelectionEvent e) {
-		widgetSelected(e);
-	}
-
-	public void widgetSelected(SelectionEvent e) {
-		// If we are called too early, i.e. before the controls are created
-		// then return
-		// to avoid null pointer exceptions
-		if (e.widget != null && e.widget.isDisposed())
-			return;
-
-		validateValues();
-		enableValues();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractPreferenceTab.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractPreferenceTab.java
deleted file mode 100644
index 3837e98..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractPreferenceTab.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-
-/**
- * Generic preference tab page that contains helpful methods
- * 
- * @author amywu
- */
-abstract public class AbstractPreferenceTab implements IPreferenceTab {
-
-	Map fCheckBoxes = new HashMap();
-	private SelectionListener fCheckBoxListener = new SelectionListener() {
-		public void widgetDefaultSelected(SelectionEvent e) {
-		}
-
-		public void widgetSelected(SelectionEvent e) {
-			Button button = (Button) e.widget;
-			fOverlayStore.setValue((String) fCheckBoxes.get(button), button.getSelection());
-		}
-	};
-	private PreferencePage fMainPreferencePage;
-	private ModifyListener fNumberFieldListener = new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			numberFieldChanged((Text) e.widget);
-		}
-	};
-	private ArrayList fNumberFields = new ArrayList();
-	OverlayPreferenceStore fOverlayStore;
-	private ModifyListener fTextFieldListener = new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			Text text = (Text) e.widget;
-			fOverlayStore.setValue((String) fTextFields.get(text), text.getText());
-		}
-	};
-	Map fTextFields = new HashMap();
-
-	protected Button addCheckBox(Composite parent, String label, String key, int indentation) {
-		Button checkBox = new Button(parent, SWT.CHECK);
-		checkBox.setText(label);
-
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalIndent = indentation;
-		gd.horizontalSpan = 2;
-		checkBox.setLayoutData(gd);
-		checkBox.addSelectionListener(fCheckBoxListener);
-
-		fCheckBoxes.put(checkBox, key);
-
-		return checkBox;
-	}
-
-	/**
-	 * Returns an array of size 2: - first element is of type
-	 * <code>Label</code>- second element is of type <code>Text</code>
-	 * Use <code>getLabelControl</code> and <code>getTextControl</code> to
-	 * get the 2 controls.
-	 */
-	private Control[] addLabelledTextField(Composite composite, String label, String key, int textLimit, int indentation, boolean isNumber) {
-		Label labelControl = new Label(composite, SWT.NONE);
-		labelControl.setText(label);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalIndent = indentation;
-		labelControl.setLayoutData(gd);
-
-		Text textControl = new Text(composite, SWT.BORDER | SWT.SINGLE);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.widthHint = convertWidthInCharsToPixels(textControl, textLimit + 1);
-		textControl.setLayoutData(gd);
-		textControl.setTextLimit(textLimit);
-		fTextFields.put(textControl, key);
-		if (isNumber) {
-			fNumberFields.add(textControl);
-			textControl.addModifyListener(fNumberFieldListener);
-		} else {
-			textControl.addModifyListener(fTextFieldListener);
-		}
-
-		return new Control[]{labelControl, textControl};
-	}
-
-	protected Text addTextField(Composite composite, String label, String key, int textLimit, int indentation, boolean isNumber) {
-		return getTextControl(addLabelledTextField(composite, label, key, textLimit, indentation, isNumber));
-	}
-
-	/**
-	 * Applies the status to the status line of a dialog page.
-	 */
-	private void applyToStatusLine(IStatus status) {
-		String message = status.getMessage();
-		switch (status.getSeverity()) {
-			case IStatus.OK :
-				fMainPreferencePage.setMessage(message, IMessageProvider.NONE);
-				fMainPreferencePage.setErrorMessage(null);
-				break;
-			case IStatus.WARNING :
-				fMainPreferencePage.setMessage(message, IMessageProvider.WARNING);
-				fMainPreferencePage.setErrorMessage(null);
-				break;
-			case IStatus.INFO :
-				fMainPreferencePage.setMessage(message, IMessageProvider.INFORMATION);
-				fMainPreferencePage.setErrorMessage(null);
-				break;
-			default :
-				if (message.length() == 0) {
-					message = null;
-				}
-				fMainPreferencePage.setMessage(null);
-				fMainPreferencePage.setErrorMessage(message);
-				break;
-		}
-	}
-
-	/**
-	 * Returns the number of pixels corresponding to the width of the given
-	 * number of characters. This method was copied from
-	 * org.eclipse.jface.dialogs.DialogPage
-	 * <p>
-	 * 
-	 * @param a
-	 *            control in the page
-	 * @param chars
-	 *            the number of characters
-	 * @return the number of pixels
-	 */
-	private int convertWidthInCharsToPixels(Control testControl, int chars) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		FontMetrics fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-
-		// test for failure to initialize for backward compatibility
-		if (fontMetrics == null)
-			return 0;
-		return Dialog.convertWidthInCharsToPixels(fontMetrics, chars);
-	}
-
-	/**
-	 * @return Returns the fMainPreferencePage.
-	 */
-	protected PreferencePage getMainPreferencePage() {
-		return fMainPreferencePage;
-	}
-
-	/**
-	 * @return Returns the fOverlayStore.
-	 */
-	protected OverlayPreferenceStore getOverlayStore() {
-		return fOverlayStore;
-	}
-
-	private Text getTextControl(Control[] labelledTextField) {
-		return (Text) labelledTextField[1];
-	}
-
-	protected void initializeFields() {
-		Iterator e = fCheckBoxes.keySet().iterator();
-		while (e.hasNext()) {
-			Button b = (Button) e.next();
-			String key = (String) fCheckBoxes.get(b);
-			b.setSelection(fOverlayStore.getBoolean(key));
-		}
-
-		e = fTextFields.keySet().iterator();
-		while (e.hasNext()) {
-			Text t = (Text) e.next();
-			String key = (String) fTextFields.get(t);
-			t.setText(fOverlayStore.getString(key));
-		}
-	}
-
-	void numberFieldChanged(Text textControl) {
-		String number = textControl.getText();
-		IStatus status = validatePositiveNumber(number);
-		if (!status.matches(IStatus.ERROR))
-			fOverlayStore.setValue((String) fTextFields.get(textControl), number);
-		updateStatus(status);
-	}
-
-	/**
-	 * @param mainPreferencePage
-	 *            The fMainPreferencePage to set.
-	 */
-	protected void setMainPreferencePage(PreferencePage mainPreferencePage) {
-		fMainPreferencePage = mainPreferencePage;
-	}
-
-	/**
-	 * @param overlayStore
-	 *            The fOverlayStore to set.
-	 */
-	protected void setOverlayStore(OverlayPreferenceStore overlayStore) {
-		fOverlayStore = overlayStore;
-	}
-
-	/**
-	 * Update status of main preference page
-	 * 
-	 * @param status
-	 */
-	protected void updateStatus(IStatus status) {
-		if (!status.matches(IStatus.ERROR)) {
-			for (int i = 0; i < fNumberFields.size(); i++) {
-				Text text = (Text) fNumberFields.get(i);
-				IStatus s = validatePositiveNumber(text.getText());
-				status = s.getSeverity() > status.getSeverity() ? s : status;
-			}
-		}
-
-		fMainPreferencePage.setValid(!status.matches(IStatus.ERROR));
-		applyToStatusLine(status);
-	}
-
-	private IStatus validatePositiveNumber(String number) {
-		StatusInfo status = new StatusInfo();
-		if (number.length() == 0) {
-			status.setError(SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.37")); //$NON-NLS-1$
-		} else {
-			try {
-				int value = Integer.parseInt(number);
-				if (value < 0)
-					status.setError(number + SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.38")); //$NON-NLS-1$
-			} catch (NumberFormatException e) {
-				status.setError(number + SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.39")); //$NON-NLS-1$
-			}
-		}
-		return status;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/ColorEditor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/ColorEditor.java
deleted file mode 100644
index 7a95a28..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/ColorEditor.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.ColorDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A "button" of a certain color determined by the color picker.
- */
-public class ColorEditor {
-	Button fButton;
-	Color fColor;
-	RGB fColorValue;
-
-	private Point fExtent;
-	Image fImage;
-
-	public ColorEditor(Composite parent) {
-
-		fButton = new Button(parent, SWT.PUSH);
-		fExtent = computeImageSize(parent);
-		fImage = new Image(parent.getDisplay(), fExtent.x, fExtent.y);
-
-		GC gc = new GC(fImage);
-		gc.setBackground(fButton.getBackground());
-		gc.fillRectangle(0, 0, fExtent.x, fExtent.y);
-		gc.dispose();
-
-		fButton.setImage(fImage);
-
-		// bug2541 - associate color value to button's value field
-		fButton.getAccessible().addAccessibleControlListener(new AccessibleControlAdapter() {
-			/**
-			 * @see org.eclipse.swt.accessibility.AccessibleControlAdapter#getValue(AccessibleControlEvent)
-			 */
-			public void getValue(AccessibleControlEvent e) {
-				if (e.childID == ACC.CHILDID_SELF) {
-					if (getColorValue() != null)
-						e.result = getColorValue().toString();
-					else
-						e.result = null;
-				}
-			}
-		});
-
-		fButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				ColorDialog colorDialog = new ColorDialog(fButton.getShell());
-				colorDialog.setRGB(fColorValue);
-				RGB newColor = colorDialog.open();
-				if (newColor != null) {
-					fColorValue = newColor;
-					updateColorImage();
-				}
-			}
-		});
-
-		fButton.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				if (fImage != null) {
-					fImage.dispose();
-					fImage = null;
-				}
-				if (fColor != null) {
-					fColor.dispose();
-					fColor = null;
-				}
-			}
-		});
-	}
-
-	protected Point computeImageSize(Control window) {
-		GC gc = new GC(window);
-		Font f = JFaceResources.getFontRegistry().get(JFaceResources.DEFAULT_FONT);
-		gc.setFont(f);
-		int height = gc.getFontMetrics().getHeight();
-		gc.dispose();
-		Point p = new Point(height * 3 - 6, height);
-		return p;
-	}
-
-	public Button getButton() {
-		return fButton;
-	}
-
-	public RGB getColorValue() {
-		return fColorValue;
-	}
-
-	public void setColorValue(RGB rgb) {
-		fColorValue = rgb;
-		updateColorImage();
-	}
-
-	protected void updateColorImage() {
-
-		Display display = fButton.getDisplay();
-
-		GC gc = new GC(fImage);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK));
-		gc.drawRectangle(0, 2, fExtent.x - 1, fExtent.y - 4);
-
-		if (fColor != null)
-			fColor.dispose();
-
-		fColor = new Color(display, fColorValue);
-		gc.setBackground(fColor);
-		gc.fillRectangle(1, 3, fExtent.x - 2, fExtent.y - 5);
-		gc.dispose();
-
-		fButton.setImage(fImage);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/ColorHelper.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/ColorHelper.java
deleted file mode 100644
index 84a0c84..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/ColorHelper.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-public class ColorHelper {
-	public final static String BACKGROUND = "background";//$NON-NLS-1$
-	public final static String BOLD = "bold";//$NON-NLS-1$
-	public final static String FOREGROUND = "foreground";//$NON-NLS-1$
-	public final static String NAME = "name";//$NON-NLS-1$
-	private final static String STYLE_SEPARATOR = "|"; //$NON-NLS-1$ 
-
-	/**
-	 * Return an RGB String given the int r, g, b values
-	 */
-	public static String getColorString(int r, int g, int b) {
-		return "#" + getHexString(r, 2) + getHexString(g, 2) + getHexString(b, 2);//$NON-NLS-1$
-	}
-
-	private static String getHexString(int value, int minWidth) {
-		String hexString = Integer.toHexString(value);
-		for (int i = hexString.length(); i < minWidth; i++) {
-			hexString = "0" + hexString;//$NON-NLS-1$
-		}
-		return hexString;
-	}
-
-	/**
-	 * Generates a preference string to be placed in preferences from the
-	 * given String array.
-	 * 
-	 * @param stylePrefs
-	 *            assumes not null and should be in the form of String[0] =
-	 *            Foreground RGB String, String[1] = Background RGB String,
-	 *            String[2] = Bold true/false
-	 * 
-	 * @return String in the form of Foreground RGB String | Background RGB
-	 *         String | Bold true/false
-	 */
-	public static String packStylePreferences(String[] stylePrefs) {
-		StringBuffer styleString = new StringBuffer();
-
-		if (stylePrefs.length == 3) {
-			for (int i = 0; i < 3; ++i) {
-				String s = stylePrefs[i];
-				styleString.append(s);
-
-				// add in the separator (except on last iteration)
-				if (i != 2) {
-					styleString.append(" " + STYLE_SEPARATOR + " "); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		}
-
-		return styleString.toString();
-	}
-
-	/**
-	 * @return org.eclipse.swt.graphics.RGB
-	 * @param anRGBString
-	 *            java.lang.String
-	 */
-	public static RGB toRGB(String anRGBString) {
-		RGB result = null;
-		if (anRGBString.length() > 6 && anRGBString.charAt(0) == '#') {
-			int r = 0;
-			int g = 0;
-			int b = 0;
-			try {
-				r = Integer.valueOf(anRGBString.substring(1, 3), 16).intValue();
-				g = Integer.valueOf(anRGBString.substring(3, 5), 16).intValue();
-				b = Integer.valueOf(anRGBString.substring(5, 7), 16).intValue();
-				result = new RGB(r, g, b);
-			} catch (NumberFormatException nfExc) {
-				Logger.logException("Could not load highlighting preference for color " + anRGBString, nfExc);//$NON-NLS-1$
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * @return java.lang.String
-	 * @param anRGB
-	 *            org.eclipse.swt.graphics.RGB
-	 */
-	public static String toRGBString(RGB anRGB) {
-		if (anRGB == null)
-			return "#000000";//$NON-NLS-1$
-		String red = Integer.toHexString(anRGB.red);
-		while (red.length() < 2)
-			red = "0" + red;//$NON-NLS-1$
-		String green = Integer.toHexString(anRGB.green);
-		while (green.length() < 2)
-			green = "0" + green;//$NON-NLS-1$
-		String blue = Integer.toHexString(anRGB.blue);
-		while (blue.length() < 2)
-			blue = "0" + blue;//$NON-NLS-1$
-		return "#" + red + green + blue;//$NON-NLS-1$
-	}
-
-	/**
-	 * Extracts the foreground (RGB String), background (RGB String), bold
-	 * (boolean String) from the given preference string.
-	 * 
-	 * @param preference
-	 *            should be in the form of Foreground RGB String | Background
-	 *            RGB String | Bold true/false
-	 * @return String[] where String[0] = Foreground RGB String, String[1] =
-	 *         Background RGB String, String[2] = Bold true/false OR null if
-	 *         ran into problems extracting
-	 */
-	public static String[] unpackStylePreferences(String preference) {
-		String[] stylePrefs = null;
-		if (preference != null) {
-			StringTokenizer st = new StringTokenizer(preference, STYLE_SEPARATOR);
-			if (st.countTokens() == 3) {
-				String foreground = st.nextToken().trim();
-				String background = st.nextToken().trim();
-				String bold = st.nextToken().trim();
-
-				stylePrefs = new String[3];
-				stylePrefs[0] = foreground;
-				stylePrefs[1] = background;
-				stylePrefs[2] = bold;
-			}
-		}
-
-		return stylePrefs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/ColorNames.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/ColorNames.java
deleted file mode 100644
index 23ca944..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/ColorNames.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-
-
-public interface ColorNames {
-	String BACKGROUND = "background"; //$NON-NLS-1$
-	String BOLD = "bold"; //$NON-NLS-1$
-	String COLOR = "color"; //$NON-NLS-1$
-
-	String COLORS = "colors"; //$NON-NLS-1$
-	String FOREGROUND = "foreground"; //$NON-NLS-1$
-	String ITALIC = "italic"; //$NON-NLS-1$
-
-	String NAME = "name"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/EditStructuredTextEditorPreferencesAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/EditStructuredTextEditorPreferencesAction.java
deleted file mode 100644
index 8c0a324..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/EditStructuredTextEditorPreferencesAction.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.DocumentInputStream;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.extension.ExtendedConfigurationBuilder;
-import org.eclipse.wst.sse.ui.extension.IExtendedEditorAction;
-import org.eclipse.wst.sse.ui.extension.IExtendedSimpleEditor;
-import org.eclipse.wst.sse.ui.extensions.ConfigurationPointCalculator;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-
-/**
- * This action displays the preferences relative to the current editor
- * 
- * @deprecated base now provides an open preferences action, so this is no longer needed
- * @author amywu
- */
-public class EditStructuredTextEditorPreferencesAction extends Action implements IExtendedEditorAction {
-	private final String EXTENSION_TYPE_ID = "preferencepages"; //$NON-NLS-1$
-	private IExtendedSimpleEditor fEditor;
-
-	public EditStructuredTextEditorPreferencesAction() {
-		super(SSEUIPlugin.getResourceString("%EditPreferences.label"), EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_OBJ_PREFERENCES)); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CONTMNU_PREFERENCES_HELPID);
-	}
-
-	/**
-	 * Create the preference manager to use to display in the preference
-	 * dialog
-	 * 
-	 * @return a preference manager or null if there is no editor/preference
-	 *         page to display
-	 */
-	protected PreferenceManager buildPreferenceManager() {
-		if (getEditor() == null) {
-			return null;
-		}
-
-		// gather all preference page ids to display
-		String[] ids = buildPreferencePageIds();
-
-		// if no preference pages to display, return null
-		if (ids.length == 0) {
-			return null;
-		}
-
-		// create a new preference manager for this action/dialog
-		PreferenceManager manager = new PreferenceManager();
-
-		// get the workbench preference manager
-		PreferenceManager platformManager = PlatformUI.getWorkbench().getPreferenceManager();
-
-		for (int i = 0; i < ids.length; ++i) {
-			final IPreferenceNode targetNode = platformManager.find(ids[i]);
-			if (targetNode != null) {
-				manager.addToRoot(targetNode);
-			}
-		}
-
-		return manager;
-	}
-
-	/**
-	 * Create a list of preference page ids of the preference pages to display
-	 * 
-	 * @return String[]
-	 */
-	protected String[] buildPreferencePageIds() {
-		List prefIds = new ArrayList();
-
-		// figure out all preference page ids contributed
-		String[] pointIds = null;
-		Object editor = getEditor();
-		Class rootclass = getEditor().getClass();
-		if(editor instanceof StructuredTextEditor)
-			rootclass = StructuredTextEditor.class;
-		if (getEditor() instanceof IEditorPart) {
-			pointIds = ConfigurationPointCalculator.getConfigurationPoints((IEditorPart) getEditor(), getContentType(), ConfigurationPointCalculator.SOURCE, rootclass);
-		} else {
-			pointIds = ConfigurationPointCalculator.getConfigurationPoints(getEditor().getEditorPart(), getContentType(), ConfigurationPointCalculator.SOURCE, getEditor().getEditorPart().getClass());
-		}
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-
-		// go through each configuration point and extract the preference page
-		// ids
-		// going through configuration points backwards so base fEditor
-		// preferences show up first
-		for (int i = pointIds.length - 1; i >= 0; --i) {
-			String[] definitions = builder.getDefinitions(EXTENSION_TYPE_ID, pointIds[i]);
-			// get the list of preference page ids from the preferenceids
-			// attribute
-			for (int j = 0; j < definitions.length; j++) {
-				String[] preferenceIdsStrings = StringUtils.unpack(definitions[j]);
-				for (int k = 0; k < preferenceIdsStrings.length; k++) {
-					prefIds.add(preferenceIdsStrings[k].trim());
-				}
-			}
-		}
-		return (String[]) prefIds.toArray(new String[prefIds.size()]);
-	}
-
-	/**
-	 * Return the content type of the current fEditor for this action
-	 * 
-	 * @return content type identifier of the current fEditor
-	 */
-	private String getContentType() {
-		String contentType = null;
-
-		IStructuredModel model = StructuredModelManager.getModelManager().getExistingModelForRead(getEditor().getDocument());
-		if (model != null) {
-			contentType = model.getContentTypeIdentifier();
-			model.releaseFromRead();
-		}
-		if (contentType == null) {
-			IContentType type = null;
-			try {
-				type = Platform.getContentTypeManager().findContentTypeFor(new DocumentInputStream(getEditor().getDocument()), getEditor().getEditorPart().getEditorInput().getName());
-			} catch (IOException e) {
-				// do nothing, shouldn't even be possible
-			}
-			if (type != null) {
-				contentType = type.getId();
-			}
-		}
-		return contentType;
-	}
-
-	private IExtendedSimpleEditor getEditor() {
-		return fEditor;
-	}
-
-	public boolean isVisible() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		PreferenceManager manager = buildPreferenceManager();
-		if (manager != null) {
-			showPreferencePage(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), manager);
-		}
-	}
-
-	public void setActiveExtendedEditor(IExtendedSimpleEditor targetEditor) {
-		fEditor = targetEditor;
-	}
-
-	/**
-	 * Open the given preference page in a preference dialog.
-	 * 
-	 * @param shell
-	 *            The shell to open on
-	 * @param manager
-	 *            The preference manager to use/display in the preference
-	 *            dialog
-	 * @return Returns <code>true</code> if the user ended the page by
-	 *         pressing OK.
-	 */
-	public boolean showPreferencePage(Shell shell, PreferenceManager manager) {
-		final PreferenceDialog dialog = new PreferenceDialog(shell, manager);
-		final boolean[] result = new boolean[]{false};
-		BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				dialog.setMessage(SSEUIPlugin.getResourceString("%EditStructuredTextEditorPreferencesAction.0")); //$NON-NLS-1$
-				result[0] = (dialog.open() == Window.OK);
-			}
-		});
-		return result[0];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		if (getEditor() == null) {
-			setEnabled(false);
-		} else {
-			setEnabled(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/FilePreferencePage.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/FilePreferencePage.java
deleted file mode 100644
index 8dfa93d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/FilePreferencePage.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.wst.sse.core.ModelPlugin;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.preferences.TabFolderLayout;
-
-public class FilePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private IPreferenceTab[] fTabs = null;
-
-	protected Composite createComposite(Composite parent, int numColumns) {
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		//GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		composite.setLayout(layout);
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.horizontalIndent = 0;
-		data.verticalAlignment = GridData.FILL_VERTICAL;
-		data.horizontalAlignment = GridData.FILL_HORIZONTAL;
-		composite.setLayoutData(data);
-
-		return composite;
-	}
-
-	protected Control createContents(Composite parent) {
-		Composite composite = createComposite(parent, 1);
-
-		String description = SSEUIPlugin.getResourceString("%FilePreferencePage.0"); //$NON-NLS-1$
-		createLabel(composite, description);
-		createLabel(composite, ""); //$NON-NLS-1$
-
-		TabFolder folder = new TabFolder(composite, SWT.NONE);
-		folder.setLayout(new TabFolderLayout());
-		folder.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		TabItem taskItem = new TabItem(folder, SWT.NONE);
-		IPreferenceTab tasksTab = new TaskTagPreferenceTab();
-		taskItem.setText(tasksTab.getTitle());
-		Control taskTags = tasksTab.createContents(folder);
-		taskItem.setControl(taskTags);
-
-		TabItem translucenceItem = new TabItem(folder, SWT.NONE);
-		IPreferenceTab translucenceTab = new TranslucencyPreferenceTab(this);
-		translucenceItem.setText(translucenceTab.getTitle());
-		Control translucenceControl = translucenceTab.createContents(folder);
-		translucenceItem.setControl(translucenceControl);
-
-		fTabs = new IPreferenceTab[]{tasksTab, translucenceTab};
-
-		return composite;
-	}
-
-	protected Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(text);
-
-		//GridData
-		GridData data = new GridData(GridData.FILL);
-		data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_FILL;
-		label.setLayoutData(data);
-
-		return label;
-	}
-
-	public void init(IWorkbench desktop) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.PreferencePage#performApply()
-	 */
-	protected void performApply() {
-		super.performApply();
-		for (int i = 0; i < fTabs.length; i++) {
-			fTabs[i].performApply();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-		for (int i = 0; i < fTabs.length; i++) {
-			fTabs[i].performDefaults();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		boolean ok = super.performOk();
-		for (int i = 0; i < fTabs.length; i++) {
-			fTabs[i].performOk();
-		}
-		ModelPlugin.getDefault().savePluginPreferences();
-		return ok;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/IPreferenceTab.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/IPreferenceTab.java
deleted file mode 100644
index 4d69be3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/IPreferenceTab.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-public interface IPreferenceTab {
-
-	Control createContents(Composite tabFolder);
-
-	String getTitle();
-
-	void performApply();
-
-	void performDefaults();
-
-	void performOk();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/NavigationPreferenceTab.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/NavigationPreferenceTab.java
deleted file mode 100644
index 778ff77..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/NavigationPreferenceTab.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.text.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-/**
- * Preference page tab that contains Navigation preferences
- * @deprecated Users will use the Navigation preferences on All Text Editors preference page instead
- * @author amywu
- */
-public class NavigationPreferenceTab extends AbstractPreferenceTab {
-	private static final String DELIMITER = "+"; //$NON-NLS-1$
-	Button fBrowserLikeLinksCheckBox;
-
-	Text fBrowserLikeLinksKeyModifierText;
-
-	public NavigationPreferenceTab(PreferencePage mainPreferencePage, OverlayPreferenceStore store) {
-		Assert.isNotNull(mainPreferencePage);
-		Assert.isNotNull(store);
-		setMainPreferencePage(mainPreferencePage);
-		setOverlayStore(store);
-		getOverlayStore().addKeys(createOverlayStoreKeys());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createContents(Composite tabFolder) {
-		Composite composite = new Composite(tabFolder, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		String text = SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.7"); //$NON-NLS-1$
-		fBrowserLikeLinksCheckBox = addCheckBox(composite, text, CommonEditorPreferenceNames.BROWSER_LIKE_LINKS, 0);
-		fBrowserLikeLinksCheckBox.addSelectionListener(new SelectionListener() {
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				boolean state = fBrowserLikeLinksCheckBox.getSelection();
-				fBrowserLikeLinksKeyModifierText.setEnabled(state);
-				handleBrowserLikeLinksKeyModifierModified();
-			}
-		});
-
-		// Text field for modifier string
-		text = SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.8"); //$NON-NLS-1$
-		fBrowserLikeLinksKeyModifierText = addTextField(composite, text, CommonEditorPreferenceNames.BROWSER_LIKE_LINKS_KEY_MODIFIER, 20, 0, false);
-		fBrowserLikeLinksKeyModifierText.setTextLimit(Text.LIMIT);
-
-		if (EditorUtility.computeStateMask(getOverlayStore().getString(CommonEditorPreferenceNames.BROWSER_LIKE_LINKS_KEY_MODIFIER)) == -1) {
-			fBrowserLikeLinksKeyModifierText.setText(""); //$NON-NLS-1$
-		}
-
-		fBrowserLikeLinksKeyModifierText.addKeyListener(new KeyListener() {
-			private boolean isModifierCandidate;
-
-			public void keyPressed(KeyEvent e) {
-				isModifierCandidate = e.keyCode > 0 && e.character == 0 && e.stateMask == 0;
-			}
-
-			public void keyReleased(KeyEvent e) {
-				if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// &&
-					// e.time
-					// -time
-					// <
-					// 1000)
-					// {
-					String modifierString = fBrowserLikeLinksKeyModifierText.getText();
-					Point selection = fBrowserLikeLinksKeyModifierText.getSelection();
-					int i = selection.x - 1;
-					while (i > -1 && Character.isWhitespace(modifierString.charAt(i))) {
-						i--;
-					}
-					boolean needsPrefixDelimiter = i > -1 && !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
-
-					i = selection.y;
-					while (i < modifierString.length() && Character.isWhitespace(modifierString.charAt(i))) {
-						i++;
-					}
-					boolean needsPostfixDelimiter = i < modifierString.length() && !String.valueOf(modifierString.charAt(i)).equals(DELIMITER);
-
-					String insertString;
-
-					if (needsPrefixDelimiter && needsPostfixDelimiter)
-						insertString = " \\ + " + Action.findModifierString(e.stateMask) + " + "; //$NON-NLS-1$ //$NON-NLS-2$
-					else if (needsPrefixDelimiter)
-						insertString = "\\ + " + Action.findModifierString(e.stateMask); //$NON-NLS-1$
-					else if (needsPostfixDelimiter)
-						insertString = "\\ " + Action.findModifierString(e.stateMask) + " + "; //$NON-NLS-1$ //$NON-NLS-2$
-					else
-						insertString = Action.findModifierString(e.stateMask);
-
-					fBrowserLikeLinksKeyModifierText.insert(insertString);
-				}
-			}
-		});
-
-		fBrowserLikeLinksKeyModifierText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				handleBrowserLikeLinksKeyModifierModified();
-			}
-		});
-
-		initializeFields();
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.PREFSTE_NAVIGATION_HELPID);
-		return composite;
-	}
-
-	private OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys() {
-		ArrayList overlayKeys = new ArrayList();
-
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, CommonEditorPreferenceNames.LINK_COLOR));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CommonEditorPreferenceNames.BROWSER_LIKE_LINKS));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, CommonEditorPreferenceNames.BROWSER_LIKE_LINKS_KEY_MODIFIER));
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#getTitle()
-	 */
-	public String getTitle() {
-		return SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.34"); //$NON-NLS-1$;
-	}
-
-	void handleBrowserLikeLinksKeyModifierModified() {
-		IStatus status = new StatusInfo();
-
-		String modifiers = fBrowserLikeLinksKeyModifierText.getText();
-		int stateMask = EditorUtility.computeStateMask(modifiers);
-
-		if (fBrowserLikeLinksCheckBox.getSelection() && (stateMask == -1 || (stateMask & SWT.SHIFT) != 0)) {
-			if (stateMask == -1) {
-				Object[] args = {modifiers};
-				String message = SSEUIPlugin.getResourceString("%NavigationPreferenceTab.0", args);
-				status = new StatusInfo(IStatus.ERROR, message);
-			} else
-				status = new StatusInfo(IStatus.ERROR, SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.15")); //$NON-NLS-1$
-		}
-		updateStatus(status);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.AbstractPreferenceTab#initializeFields()
-	 */
-	protected void initializeFields() {
-		super.initializeFields();
-
-		// disable if checkbox is unchecked
-		boolean state = fBrowserLikeLinksCheckBox.getSelection();
-		fBrowserLikeLinksKeyModifierText.setEnabled(state);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performApply()
-	 */
-	public void performApply() {
-		// all preferences are stored in overlay store so main preference page
-		// should handle apply
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performDefaults()
-	 */
-	public void performDefaults() {
-		initializeFields();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performOk()
-	 */
-	public void performOk() {
-		// all preferences are stored in overlay store so main preference page
-		// should handle OK
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StatusInfo.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StatusInfo.java
deleted file mode 100644
index 234b4a8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StatusInfo.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.editors.text.EditorsUI;
-
-/**
- * A settable IStatus. Can be an error, warning, info or ok. For error, info
- * and warning states, a message describes the problem.
- * 
- * This class was copied from other StatusInfo classes that are located in
- * internal packages
- */
-class StatusInfo implements IStatus {
-	/** The severity of this status. */
-	private int fSeverity;
-
-	/** The message of this status. */
-	private String fStatusMessage;
-
-	/**
-	 * Creates a status set to OK (no message).
-	 */
-	public StatusInfo() {
-		this(OK, null);
-	}
-
-	/**
-	 * Creates a status with the given severity and message.
-	 * 
-	 * @param severity
-	 *            the severity of this status: ERROR, WARNING, INFO and OK.
-	 * @param message
-	 *            the message of this status. Applies only for ERROR, WARNING
-	 *            and INFO.
-	 */
-	public StatusInfo(int severity, String message) {
-		fStatusMessage = message;
-		fSeverity = severity;
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * 
-	 * @see IStatus#getChildren()
-	 */
-	public IStatus[] getChildren() {
-		return new IStatus[0];
-	}
-
-	/**
-	 * Returns always the error severity.
-	 * 
-	 * @see IStatus#getCode()
-	 */
-	public int getCode() {
-		return fSeverity;
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * 
-	 * @see IStatus#getException()
-	 */
-	public Throwable getException() {
-		return null;
-	}
-
-	/*
-	 * @see IStatus#getMessage()
-	 */
-	public String getMessage() {
-		return fStatusMessage;
-	}
-
-	/*
-	 * @see IStatus#getPlugin()
-	 */
-	public String getPlugin() {
-		return EditorsUI.PLUGIN_ID;
-	}
-
-	/*
-	 * @see IStatus#getSeverity()
-	 */
-	public int getSeverity() {
-		return fSeverity;
-	}
-
-	/**
-	 * Returns whether this status indicates an error.
-	 * 
-	 * @return <code>true</code> if this status has severity
-	 *         {@link IStatus#ERROR}and <code>false</code> otherwise
-	 */
-	public boolean isError() {
-		return fSeverity == IStatus.ERROR;
-	}
-
-	/**
-	 * Returns whether this status indicates an info.
-	 * 
-	 * @return <code>true</code> if this status has severity
-	 *         {@link IStatus#INFO}and <code>false</code> otherwise
-	 */
-	public boolean isInfo() {
-		return fSeverity == IStatus.INFO;
-	}
-
-	/**
-	 * Returns always <code>false</code>.
-	 * 
-	 * @see IStatus#isMultiStatus()
-	 */
-	public boolean isMultiStatus() {
-		return false;
-	}
-
-	/*
-	 * @see org.eclipse.core.runtime.IStatus#isOK()
-	 */
-	public boolean isOK() {
-		return fSeverity == IStatus.OK;
-	}
-
-	/**
-	 * Returns whether this status indicates a warning.
-	 * 
-	 * @return <code>true</code> if this status has severity
-	 *         {@link IStatus#WARNING}and <code>false</code> otherwise
-	 */
-	public boolean isWarning() {
-		return fSeverity == IStatus.WARNING;
-	}
-
-	/*
-	 * @see IStatus#matches(int)
-	 */
-	public boolean matches(int severityMask) {
-		return (fSeverity & severityMask) != 0;
-	}
-
-	/**
-	 * Sets the status to ERROR.
-	 * 
-	 * @param errorMessage
-	 *            the error message which can be an empty string, but not
-	 *            <code>null</code>
-	 */
-	public void setError(String errorMessage) {
-		Assert.isNotNull(errorMessage);
-		fStatusMessage = errorMessage;
-		fSeverity = IStatus.ERROR;
-	}
-
-	/**
-	 * Sets the status to INFO.
-	 * 
-	 * @param infoMessage
-	 *            the info message which can be an empty string, but not
-	 *            <code>null</code>
-	 */
-	public void setInfo(String infoMessage) {
-		Assert.isNotNull(infoMessage);
-		fStatusMessage = infoMessage;
-		fSeverity = IStatus.INFO;
-	}
-
-	/**
-	 * Sets the status to OK.
-	 */
-	public void setOK() {
-		fStatusMessage = null;
-		fSeverity = IStatus.OK;
-	}
-
-	/**
-	 * Sets the status to WARNING.
-	 * 
-	 * @param warningMessage
-	 *            the warning message which can be an empty string, but not
-	 *            <code>null</code>
-	 */
-	public void setWarning(String warningMessage) {
-		Assert.isNotNull(warningMessage);
-		fStatusMessage = warningMessage;
-		fSeverity = IStatus.WARNING;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StructuredTextEditorPreferencePage.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StructuredTextEditorPreferencePage.java
deleted file mode 100644
index b4a96eb..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StructuredTextEditorPreferencePage.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.internal.preferences.TabFolderLayout;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-
-/**
- * Gutted version of JavaEditorPreferencePage
- * 
- * @author pavery
- */
-public class StructuredTextEditorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	private ColorEditor fAppearanceColorEditor;
-	private List fAppearanceColorList;
-
-	private final String[][] fAppearanceColorListModel = new String[][]{{SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.2"), CommonEditorPreferenceNames.MATCHING_BRACKETS_COLOR}}; //$NON-NLS-1$
-	private Map fCheckBoxes = new HashMap();
-	private SelectionListener fCheckBoxListener = new SelectionListener() {
-		public void widgetDefaultSelected(SelectionEvent e) {
-		}
-
-		public void widgetSelected(SelectionEvent e) {
-			Button button = (Button) e.widget;
-			fOverlayStore.setValue((String) fCheckBoxes.get(button), button.getSelection());
-		}
-	};
-
-	private Map fColorButtons = new HashMap();
-
-	private ArrayList fNumberFields = new ArrayList();
-	private OverlayPreferenceStore fOverlayStore;
-	/** Button controlling default setting of the selected reference provider. */
-//	 TODO: private field never read locally
-	Button fSetDefaultButton;
-	private IPreferenceTab[] fTabs = null;
-	private Map fTextFields = new HashMap();
-
-	public StructuredTextEditorPreferencePage() {
-		setDescription(SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.6")); //$NON-NLS-1$
-		setPreferenceStore(SSEUIPlugin.getDefault().getPreferenceStore());
-
-		fOverlayStore = new OverlayPreferenceStore(getPreferenceStore(), createOverlayStoreKeys());
-	}
-
-	private Button addCheckBox(Composite parent, String label, String key, int indentation) {
-		Button checkBox = new Button(parent, SWT.CHECK);
-		checkBox.setText(label);
-
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalIndent = indentation;
-		gd.horizontalSpan = 2;
-		checkBox.setLayoutData(gd);
-		checkBox.addSelectionListener(fCheckBoxListener);
-
-		fCheckBoxes.put(checkBox, key);
-
-		return checkBox;
-	}
-
-	/**
-	 * Applies the status to the status line of a dialog page.
-	 */
-	public void applyToStatusLine(DialogPage page, IStatus status) {
-		String message = status.getMessage();
-		switch (status.getSeverity()) {
-			case IStatus.OK :
-				page.setMessage(message, IMessageProvider.NONE);
-				page.setErrorMessage(null);
-				break;
-			case IStatus.WARNING :
-				page.setMessage(message, IMessageProvider.WARNING);
-				page.setErrorMessage(null);
-				break;
-			case IStatus.INFO :
-				page.setMessage(message, IMessageProvider.INFORMATION);
-				page.setErrorMessage(null);
-				break;
-			default :
-				if (message.length() == 0) {
-					message = null;
-				}
-				page.setMessage(null);
-				page.setErrorMessage(message);
-				break;
-		}
-	}
-
-	private Control createAppearancePage(Composite parent) {
-		Composite appearanceComposite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		appearanceComposite.setLayout(layout);
-
-		String label = SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.20"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, label, CommonEditorPreferenceNames.MATCHING_BRACKETS, 0);
-
-		label = SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.30"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, label, CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS, 0);
-
-		Label l = new Label(appearanceComposite, SWT.LEFT);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan = 2;
-		gd.heightHint = convertHeightInCharsToPixels(1) / 2;
-		l.setLayoutData(gd);
-
-		l = new Label(appearanceComposite, SWT.LEFT);
-		l.setText(SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.23")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan = 2;
-		l.setLayoutData(gd);
-
-		Composite editorComposite = new Composite(appearanceComposite, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		editorComposite.setLayout(layout);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);
-		gd.horizontalSpan = 2;
-		editorComposite.setLayoutData(gd);
-
-		fAppearanceColorList = new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
-		gd.heightHint = convertHeightInCharsToPixels(5);
-		fAppearanceColorList.setLayoutData(gd);
-
-		Composite stylesComposite = new Composite(editorComposite, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 2;
-		stylesComposite.setLayout(layout);
-		stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		l = new Label(stylesComposite, SWT.LEFT);
-		// needs to be made final so label can be set in
-		// foregroundcolorbutton's acc listener
-		final String buttonLabel = SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.24"); //$NON-NLS-1$ 
-		l.setText(buttonLabel);
-		gd = new GridData();
-		gd.horizontalAlignment = GridData.BEGINNING;
-		l.setLayoutData(gd);
-
-		fAppearanceColorEditor = new ColorEditor(stylesComposite);
-		Button foregroundColorButton = fAppearanceColorEditor.getButton();
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalAlignment = GridData.BEGINNING;
-		foregroundColorButton.setLayoutData(gd);
-
-		fAppearanceColorList.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				handleAppearanceColorListSelection();
-			}
-		});
-		foregroundColorButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				int i = fAppearanceColorList.getSelectionIndex();
-				String key = fAppearanceColorListModel[i][1];
-
-				PreferenceConverter.setValue(fOverlayStore, key, fAppearanceColorEditor.getColorValue());
-			}
-		});
-
-		// bug2541 - associate color label to button's label field
-		foregroundColorButton.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				if (e.childID == ACC.CHILDID_SELF)
-					e.result = buttonLabel;
-			}
-		});
-
-		WorkbenchHelp.setHelp(appearanceComposite, IHelpContextIds.PREFSTE_APPEARANCE_HELPID);
-		return appearanceComposite;
-	}
-
-	/*
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		// need to create tabs before loading/starting overlaystore in case
-		// tabs also add values
-		IPreferenceTab hoversTab = new TextHoverPreferenceTab(this, fOverlayStore);
-
-		fOverlayStore.load();
-		fOverlayStore.start();
-
-		TabFolder folder = new TabFolder(parent, SWT.NONE);
-		folder.setLayout(new TabFolderLayout());
-		folder.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		TabItem item = new TabItem(folder, SWT.NONE);
-		item.setText(SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.0")); //$NON-NLS-1$
-		item.setControl(createAppearancePage(folder));
-
-		item = new TabItem(folder, SWT.NONE);
-		item.setText(hoversTab.getTitle());
-		item.setControl(hoversTab.createContents(folder));
-
-		fTabs = new IPreferenceTab[]{hoversTab};
-
-		initialize();
-
-		Dialog.applyDialogFont(folder);
-		return folder;
-	}
-
-	/*
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		//WorkbenchHelp.setHelp(getControl(),
-		// IJavaHelpContextIds.JAVA_EDITOR_PREFERENCE_PAGE);
-	}
-
-	private OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys() {
-		ArrayList overlayKeys = new ArrayList();
-
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, CommonEditorPreferenceNames.MATCHING_BRACKETS_COLOR));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CommonEditorPreferenceNames.MATCHING_BRACKETS));
-		
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS));
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	/*
-	 * @see DialogPage#dispose()
-	 */
-	public void dispose() {
-		if (fOverlayStore != null) {
-			fOverlayStore.stop();
-			fOverlayStore = null;
-		}
-
-		super.dispose();
-	}
-
-	private void handleAppearanceColorListSelection() {
-		int i = fAppearanceColorList.getSelectionIndex();
-		String key = fAppearanceColorListModel[i][1];
-		RGB rgb = PreferenceConverter.getColor(fOverlayStore, key);
-		fAppearanceColorEditor.setColorValue(rgb);
-	}
-
-	/*
-	 * @see IWorkbenchPreferencePage#init()
-	 */
-	public void init(IWorkbench workbench) {
-		// nothing to do
-	}
-
-	private void initialize() {
-		initializeFields();
-
-		for (int i = 0; i < fAppearanceColorListModel.length; i++)
-			fAppearanceColorList.add(fAppearanceColorListModel[i][0]);
-		fAppearanceColorList.getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				if (fAppearanceColorList != null && !fAppearanceColorList.isDisposed()) {
-					fAppearanceColorList.select(0);
-					handleAppearanceColorListSelection();
-				}
-			}
-		});
-	}
-
-	private void initializeFields() {
-		Iterator e = fColorButtons.keySet().iterator();
-		while (e.hasNext()) {
-			ColorEditor c = (ColorEditor) e.next();
-			String key = (String) fColorButtons.get(c);
-			RGB rgb = PreferenceConverter.getColor(fOverlayStore, key);
-			c.setColorValue(rgb);
-		}
-
-		e = fCheckBoxes.keySet().iterator();
-		while (e.hasNext()) {
-			Button b = (Button) e.next();
-			String key = (String) fCheckBoxes.get(b);
-			b.setSelection(fOverlayStore.getBoolean(key));
-		}
-
-		e = fTextFields.keySet().iterator();
-		while (e.hasNext()) {
-			Text t = (Text) e.next();
-			String key = (String) fTextFields.get(t);
-			t.setText(fOverlayStore.getString(key));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.PreferencePage#performApply()
-	 */
-	protected void performApply() {
-		for (int i = 0; i < fTabs.length; i++) {
-			fTabs[i].performApply();
-		}
-		super.performApply();
-	}
-
-	/*
-	 * @see PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		fOverlayStore.loadDefaults();
-
-		initializeFields();
-
-		handleAppearanceColorListSelection();
-
-		for (int i = 0; i < fTabs.length; i++) {
-			fTabs[i].performDefaults();
-		}
-
-		super.performDefaults();
-
-		// there is currently no need for a viewer
-		//		fPreviewViewer.invalidateTextPresentation();
-	}
-
-	/*
-	 * @see PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		for (int i = 0; i < fTabs.length; i++) {
-			fTabs[i].performOk();
-		}
-
-		fOverlayStore.propagate();
-		SSEUIPlugin.getDefault().savePluginPreferences();
-
-		// tab width is also a model-side preference so need to set it
-		// TODO need to handle tab width for formatter somehow
-//		int tabWidth = getPreferenceStore().getInt(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH);
-//		ModelPlugin.getDefault().getPluginPreferences().setValue(CommonModelPreferenceNames.TAB_WIDTH, tabWidth);
-//		ModelPlugin.getDefault().savePluginPreferences();
-
-		return true;
-	}
-
-	void updateStatus(IStatus status) {
-		if (!status.matches(IStatus.ERROR)) {
-			for (int i = 0; i < fNumberFields.size(); i++) {
-				Text text = (Text) fNumberFields.get(i);
-				IStatus s = validatePositiveNumber(text.getText());
-				status = s.getSeverity() > status.getSeverity() ? s : status;
-			}
-		}
-
-		setValid(!status.matches(IStatus.ERROR));
-		applyToStatusLine(this, status);
-	}
-
-	private IStatus validatePositiveNumber(String number) {
-		StatusInfo status = new StatusInfo();
-		if (number.length() == 0) {
-			status.setError(SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.37")); //$NON-NLS-1$
-		} else {
-			try {
-				int value = Integer.parseInt(number);
-				if (value < 0)
-					status.setError(number + SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.38")); //$NON-NLS-1$
-			} catch (NumberFormatException e) {
-				status.setError(number + SSEUIPlugin.getResourceString("%StructuredTextEditorPreferencePage.39")); //$NON-NLS-1$
-			}
-		}
-		return status;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StyledTextColorPicker.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StyledTextColorPicker.java
deleted file mode 100644
index 0772b92..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StyledTextColorPicker.java
+++ /dev/null
@@ -1,944 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import java.io.CharArrayReader;
-import java.text.Collator;
-import java.util.Dictionary;
-import java.util.List;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleControlListener;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.ColorDialog;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-import org.w3c.dom.Node;
-
-/**
- * This class is configurable by setting 3 properties: 1) an array of Strings
- * as the styleNames; one unique entry for every style type meant to be
- * configurable by the user 2) a Dictionary of descriptions, mapping the
- * styleNames to unique descriptions - meant for use within the selection
- * ComboBox TODO (pa) this should probably be working off document partitions
- * now (2.1+) 3) a Dictionary mapping parsed ITextRegion contexts (strings) to
- * the locally defined styleNames
- *  
- */
-public class StyledTextColorPicker extends Composite {
-	protected class DescriptionSorter extends org.eclipse.wst.sse.ui.util.Sorter {
-		Collator collator = Collator.getInstance();
-
-		public boolean compare(Object elementOne, Object elementTwo) {
-			/**
-			 * Returns true if elementTwo is 'greater than' elementOne This is
-			 * the 'ordering' method of the sort operation. Each subclass
-			 * overides this method with the particular implementation of the
-			 * 'greater than' concept for the objects being sorted.
-			 */
-			return (collator.compare(elementOne.toString(), elementTwo.toString())) < 0;
-		}
-	}
-
-	public static final String BACKGROUND = "background"; //$NON-NLS-1$
-	public static final String BOLD = "bold"; //$NON-NLS-1$
-	public static final String COLOR = "color"; //$NON-NLS-1$
-
-	// names for preference elements ... non-NLS
-	public static final String FOREGROUND = "foreground"; //$NON-NLS-1$
-	public static final String ITALIC = "italic"; //$NON-NLS-1$
-	public static final String NAME = "name"; //$NON-NLS-1$
-
-	private static final boolean showItalic = false;
-	protected AccessibleControlListener backgroundAccListener = new AccessibleControlAdapter() {
-		/**
-		 * @see org.eclipse.swt.accessibility.AccessibleControlAdapter#getValue(AccessibleControlEvent)
-		 */
-		public void getValue(AccessibleControlEvent e) {
-			if (e.childID == ACC.CHILDID_SELF) {
-				e.result = getColorButtonValue(fBackground);
-			}
-		}
-	};
-	protected SelectionListener buttonListener = new SelectionListener() {
-
-		public void widgetDefaultSelected(SelectionEvent e) {
-			widgetSelected(e);
-		}
-
-		public void widgetSelected(SelectionEvent e) {
-			String namedStyle = getStyleName(fStyleCombo.getItem(fStyleCombo.getSelectionIndex()));
-			if (namedStyle == null)
-				return;
-			if (e.widget == fForeground) {
-				// get current (newly old) style
-				String prefString = getPreferenceStore().getString(getPreferenceKey(namedStyle));
-				String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
-				if (stylePrefs != null) {
-					String oldValue = stylePrefs[0];
-					// open color dialog to get new color
-					String newValue = changeColor(oldValue);
-
-					if (!newValue.equals(oldValue)) {
-						stylePrefs[0] = newValue;
-						String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
-						getPreferenceStore().setValue(getPreferenceKey(namedStyle), newPrefString);
-						refresh();
-					}
-				}
-			} else if (e.widget == fBackground) {
-				// get current (newly old) style
-				String prefString = getPreferenceStore().getString(getPreferenceKey(namedStyle));
-				String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
-				if (stylePrefs != null) {
-					String oldValue = stylePrefs[1];
-					// open color dialog to get new color
-					String newValue = changeColor(oldValue);
-
-					if (!newValue.equals(oldValue)) {
-						stylePrefs[1] = newValue;
-						String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
-						getPreferenceStore().setValue(getPreferenceKey(namedStyle), newPrefString);
-						refresh();
-					}
-				}
-			} else if (e.widget == fBold) {
-				// get current (newly old) style
-				String prefString = getPreferenceStore().getString(getPreferenceKey(namedStyle));
-				String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
-				if (stylePrefs != null) {
-					String oldValue = stylePrefs[2];
-					String newValue = String.valueOf(fBold.getSelection());
-					if (!newValue.equals(oldValue)) {
-						stylePrefs[2] = newValue;
-						String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
-						getPreferenceStore().setValue(getPreferenceKey(namedStyle), newPrefString);
-						refresh();
-					}
-				}
-			} else if (showItalic && e.widget == fItalic) {
-				// get current (newly old) style
-				String prefString = getPreferenceStore().getString(getPreferenceKey(namedStyle));
-				String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
-				if (stylePrefs != null) {
-					String oldValue = stylePrefs[3];
-					String newValue = String.valueOf(fItalic.getSelection());
-					if (!newValue.equals(oldValue)) {
-						stylePrefs[3] = newValue;
-						String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
-						getPreferenceStore().setValue(getPreferenceKey(namedStyle), newPrefString);
-						refresh();
-					}
-				}
-			} else if (e.widget == fClearStyle) {
-				getPreferenceStore().setToDefault(getPreferenceKey(namedStyle));
-				refresh();
-			}
-		}
-	};
-
-	protected SelectionListener comboListener = new SelectionListener() {
-
-		public void widgetDefaultSelected(SelectionEvent e) {
-			widgetSelected(e);
-		}
-
-		public void widgetSelected(SelectionEvent e) {
-			int selectedIndex = fStyleCombo.getSelectionIndex();
-			String description = selectedIndex >= 0 ? fStyleCombo.getItem(selectedIndex) : null;
-			activate(getStyleName(description));
-		}
-	};
-	protected Button fBackground;
-	protected Label fBackgroundLabel;
-	protected Button fBold;
-	protected Button fClearStyle;
-	// Dictionary mapping the ITextRegion types above to color names, which
-	// are, in turn, attributes
-	protected Dictionary fContextStyleMap = null;
-	protected Color fDefaultBackground = getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-
-	protected Color fDefaultForeground = getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-	// Dictionary mapping the ITextRegion types above to display strings, for
-	// use in the combo box
-	protected Dictionary fDescriptions = null;
-	protected Button fForeground;
-	protected Label fForegroundLabel;
-//	private String fGeneratorKey;
-	protected String fInput = ""; //$NON-NLS-1$
-	protected Button fItalic;
-
-	private IStructuredDocumentRegion fNodes = null;
-	// defect 200764 - ACC:display values for color buttons
-	protected AccessibleControlListener foregroundAccListener = new AccessibleControlAdapter() {
-		/**
-		 * @see org.eclipse.swt.accessibility.AccessibleControlAdapter#getValue(AccessibleControlEvent)
-		 */
-		public void getValue(AccessibleControlEvent e) {
-			if (e.childID == ACC.CHILDID_SELF) {
-				e.result = getColorButtonValue(fForeground);
-			}
-		}
-	};
-	// A RegionParser, which will turn the input into
-	// IStructuredDocumentRegion(s) and Regions
-	protected RegionParser fParser = null;
-
-	private IPreferenceStore fPreferenceStore;
-	protected Combo fStyleCombo = null;
-	// The list of supported ITextRegion types [Strings]
-	protected List fStyleList = null;
-
-	// controls in picker
-	protected StyledText fText = null;
-
-	/**
-	 * XMLTextColorPicker constructor comment.
-	 * 
-	 * @param parent
-	 *            org.eclipse.swt.widgets.Composite
-	 * @param style
-	 *            int
-	 */
-	public StyledTextColorPicker(Composite parent, int style) {
-		super(parent, style);
-		//GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		setLayout(layout);
-		createControls(this);
-	}
-
-	// activate controls based on the given local color type
-	private void activate(String namedStyle) {
-		if (namedStyle == null) {
-			fForeground.setEnabled(false);
-			fBackground.setEnabled(false);
-			fClearStyle.setEnabled(false);
-			fBold.setEnabled(false);
-			if (showItalic)
-				fItalic.setEnabled(false);
-			fForegroundLabel.setEnabled(false);
-			fBackgroundLabel.setEnabled(false);
-		} else {
-			fForeground.setEnabled(true);
-			fBackground.setEnabled(true);
-			fClearStyle.setEnabled(true);
-			fBold.setEnabled(true);
-			if (showItalic)
-				fItalic.setEnabled(true);
-			fForegroundLabel.setEnabled(true);
-			fBackgroundLabel.setEnabled(true);
-		}
-		TextAttribute attribute = getAttribute(namedStyle);
-		Color color = attribute.getForeground();
-		if (color == null) {
-			color = fDefaultForeground;
-		}
-		if (fForeground.getSize().x > 0 && fForeground.getSize().y > 0 && (fForeground.getImage() == null || fForeground.getImage().getImageData() == null || fForeground.getImage().getImageData().getRGBs() == null || fForeground.getImage().getImageData().getRGBs().length < 1 || !fForeground.getImage().getImageData().getRGBs()[0].equals(color.getRGB()))) {
-			if (fForeground.getImage() != null)
-				fForeground.getImage().dispose();
-			Image foreground = new Image(getDisplay(), new ImageData(fForeground.getSize().x, fForeground.getSize().y, 1, new PaletteData(new RGB[]{color.getRGB()})));
-			fForeground.setImage(foreground);
-		}
-		color = attribute.getBackground();
-		if (color == null) {
-			color = fDefaultBackground;
-		}
-		if (fBackground.getSize().x > 0 && fBackground.getSize().y > 0 && (fBackground.getImage() == null || fBackground.getImage().getImageData() == null || fBackground.getImage().getImageData().getRGBs() == null || fBackground.getImage().getImageData().getRGBs().length < 1 || !fBackground.getImage().getImageData().getRGBs()[0].equals(color.getRGB()))) {
-			if (fBackground.getImage() != null)
-				fBackground.getImage().dispose();
-			Image background = new Image(getDisplay(), new ImageData(fBackground.getSize().x, fBackground.getSize().y, 1, new PaletteData(new RGB[]{color.getRGB()})));
-			fBackground.setImage(background);
-		}
-		fBold.setSelection((attribute.getStyle() & SWT.BOLD) != 0);
-		if (showItalic)
-			fItalic.setSelection((attribute.getStyle() & SWT.ITALIC) != 0);
-	}
-
-	protected void applyStyles() {
-		if (fText == null || fText.isDisposed() || fInput == null || fInput.length() == 0)
-			return;
-		//		List regions = fParser.getRegions();
-		IStructuredDocumentRegion node = fNodes;
-		while (node != null) {
-			ITextRegionList regions = node.getRegions();
-			for (int i = 0; i < regions.size(); i++) {
-				ITextRegion currentRegion = regions.get(i);
-				// lookup the local coloring type and apply it
-				String namedStyle = (String) getContextStyleMap().get(currentRegion.getType());
-				if (namedStyle == null)
-					continue;
-				TextAttribute attribute = getAttribute(namedStyle);
-				if (attribute == null)
-					continue;
-				StyleRange style = new StyleRange(node.getStartOffset(currentRegion), currentRegion.getLength(), attribute.getForeground(), attribute.getBackground(), attribute.getStyle());
-				fText.setStyleRange(style);
-			}
-			node = node.getNext();
-		}
-	}
-
-	private RGB changeColor(RGB startValue) {
-		ColorDialog colorDlg = new ColorDialog(getShell());
-		if (startValue != null)
-			colorDlg.setRGB(startValue);
-		colorDlg.open();
-		RGB newRGB = colorDlg.getRGB();
-		if (newRGB != null)
-			return newRGB;
-		return startValue;
-	}
-
-	private String changeColor(String rgb) {
-		String changedColor = "null"; //$NON-NLS-1$
-
-		RGB newColor = changeColor(ColorHelper.toRGB(rgb));
-		// null check to see if using default value
-		if (newColor != null)
-			changedColor = ColorHelper.toRGBString(newColor);
-		return changedColor;
-	}
-
-	protected void close() {
-	}
-
-	/**
-	 * Determines size of color button copied from
-	 * org.eclipse.jdt.internal.ui.preferences.ColorEditor 1 modification -
-	 * added 4 to final height
-	 */
-	private Point computeImageSize(Control window) {
-		GC gc = new GC(window);
-		Font f = JFaceResources.getFontRegistry().get(JFaceResources.DEFAULT_FONT);
-		gc.setFont(f);
-		int height = gc.getFontMetrics().getHeight();
-		gc.dispose();
-		Point p = new Point(height * 3 - 6, height + 4);
-		return p;
-	}
-
-	/**
-	 * Creates an new checkbox instance and sets the default layout data.
-	 * 
-	 * @param group
-	 *            the composite in which to create the checkbox
-	 * @param label
-	 *            the string to set into the checkbox
-	 * @return the new checkbox
-	 */
-	private Button createCheckBox(Composite group, String label) {
-		Button button = new Button(group, SWT.CHECK | SWT.CENTER);
-		if (label != null)
-			button.setText(label);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END;
-		//	data.verticalAlignment = GridData.VERTICAL_ALIGN_FILL;
-		button.setLayoutData(data);
-		return button;
-	}
-
-	private Combo createCombo(Composite parent, String[] labels, int selectedItem) {
-		Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setItems(labels);
-		if (selectedItem >= 0)
-			combo.select(selectedItem);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_FILL;
-		combo.setLayoutData(data);
-		return combo;
-	}
-
-	/**
-	 * Creates composite control and sets the default layout data.
-	 */
-	private Composite createComposite(Composite parent, int numColumns) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		//GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		layout.horizontalSpacing = 5;
-		layout.makeColumnsEqualWidth = false;
-		composite.setLayout(layout);
-		//GridData
-		GridData data = new GridData(GridData.FILL_VERTICAL);
-		data.grabExcessVerticalSpace = false;
-		data.verticalAlignment = GridData.VERTICAL_ALIGN_CENTER;
-		composite.setLayoutData(data);
-		return composite;
-	}
-
-	protected void createControls(Composite parent) {
-		Composite styleRow = createComposite(parent, 3);
-		// row 1 - content type label, combo box, restore defaults
-		createLabel(styleRow, SSEUIPlugin.getResourceString("%Content_type__UI_")); //$NON-NLS-1$ = "Content type:"
-		// Contexts combo box
-		fStyleCombo = createCombo(styleRow, new String[0], -1);
-		fClearStyle = createPushButton(styleRow, SSEUIPlugin.getResourceString("%Restore_Default_UI_")); //$NON-NLS-1$ = "Restore Default"
-		Composite styleRow2;
-		if (showItalic)
-			styleRow2 = createComposite(parent, 7);
-		else
-			styleRow2 = createComposite(parent, 6);
-		// row 2 - foreground label, button, background label, button, bold,
-		// italics?
-		fForegroundLabel = createLabel(styleRow2, SSEUIPlugin.getResourceString("%Foreground_UI_")); //$NON-NLS-1$ = "Foreground"
-		fForeground = createPushButton(styleRow2, ""); //$NON-NLS-1$
-		setAccessible(fForeground, fForegroundLabel.getText());
-		fForeground.getAccessible().addAccessibleControlListener(foregroundAccListener); // defect
-		// 200764
-		// -
-		// ACC:display
-		// values
-		// for
-		// color
-		// buttons
-		Point buttonSize = computeImageSize(parent);
-		((GridData) fForeground.getLayoutData()).widthHint = buttonSize.x;
-		((GridData) fForeground.getLayoutData()).heightHint = buttonSize.y;
-		fBackgroundLabel = createLabel(styleRow2, SSEUIPlugin.getResourceString("%Background_UI_")); //$NON-NLS-1$ = "Background"
-		fBackground = createPushButton(styleRow2, ""); //$NON-NLS-1$
-		setAccessible(fBackground, fBackgroundLabel.getText());
-		fBackground.getAccessible().addAccessibleControlListener(backgroundAccListener); // defect
-		// 200764
-		// -
-		// ACC:display
-		// values
-		// for
-		// color
-		// buttons
-		((GridData) fBackground.getLayoutData()).widthHint = buttonSize.x;
-		((GridData) fBackground.getLayoutData()).heightHint = buttonSize.y;
-		createLabel(styleRow2, ""); //$NON-NLS-1$
-		fBold = createCheckBox(styleRow2, SSEUIPlugin.getResourceString("%Bold_UI_")); //$NON-NLS-1$ = "Bold"
-		if (showItalic)
-			fItalic = createCheckBox(styleRow2, SSEUIPlugin.getResourceString("%Italic")); //$NON-NLS-1$
-		//		// Defaults checkbox
-		fForeground.setEnabled(false);
-		fBackground.setEnabled(false);
-		fClearStyle.setEnabled(false);
-		fBold.setEnabled(false);
-		if (showItalic)
-			fItalic.setEnabled(false);
-		fForegroundLabel.setEnabled(false);
-		fBackgroundLabel.setEnabled(false);
-		Composite sample = createComposite(parent, 1);
-		createLabel(sample, SSEUIPlugin.getResourceString("%Sample_text__UI_")); //$NON-NLS-1$ = "&Sample text:"
-		fText = new StyledText(sample, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.READ_ONLY);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		fText.setLayoutData(data);
-		fText.setEditable(false);
-		fText.setBackground(fDefaultBackground);
-		fText.setFont(JFaceResources.getTextFont());
-		fText.addKeyListener(getTextKeyListener());
-		fText.addSelectionListener(getTextSelectionListener());
-		fText.addMouseListener(getTextMouseListener());
-		fText.addTraverseListener(getTraverseListener()); // defect 220377 -
-		// Provide tab
-		// traversal for
-		// fText widget
-		setAccessible(fText, SSEUIPlugin.getResourceString("%Sample_text__UI_")); //$NON-NLS-1$ = "&Sample text:"
-		fForeground.addSelectionListener(buttonListener);
-		fBackground.addSelectionListener(buttonListener);
-		fClearStyle.addSelectionListener(buttonListener);
-		fBold.addSelectionListener(buttonListener);
-		if (showItalic)
-			fItalic.addSelectionListener(buttonListener);
-		fStyleCombo.addSelectionListener(comboListener);
-	}
-
-	/**
-	 * Utility method that creates a label instance and sets the default
-	 * layout data.
-	 */
-	private Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(text);
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		return label;
-	}
-
-	private Button createPushButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setText(label);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		//	data.horizontalAlignment = GridData.FILL;
-		button.setLayoutData(data);
-		return button;
-	}
-
-	protected TextAttribute getAttribute(String namedStyle) {
-		TextAttribute ta = new TextAttribute(getDefaultForeground(), getDefaultBackground(), SWT.NORMAL);
-
-		if (namedStyle != null && getPreferenceStore() != null) {
-			String prefString = getPreferenceStore().getString(getPreferenceKey(namedStyle));
-			String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
-			if (stylePrefs != null) {
-				RGB foreground = ColorHelper.toRGB(stylePrefs[0]);
-				RGB background = ColorHelper.toRGB(stylePrefs[1]);
-
-				int fontModifier = SWT.NORMAL;
-				boolean bold = Boolean.valueOf(stylePrefs[2]).booleanValue();
-				if (bold)
-					fontModifier = fontModifier | SWT.BOLD;
-
-				if (showItalic) {
-					boolean italic = Boolean.valueOf(stylePrefs[3]).booleanValue();
-					if (italic)
-						fontModifier = fontModifier | SWT.ITALIC;
-				}
-
-				ta = new TextAttribute((foreground != null) ? EditorUtility.getColor(foreground) : null, (background != null) ? EditorUtility.getColor(background) : null, fontModifier);
-			}
-		}
-		return ta;
-	}
-
-	// defect 200764 - ACC:display values for color buttons
-	/**
-	 * @return String - color Button b's current RBG value
-	 */
-	private String getColorButtonValue(Button b) {
-		if ((b == null) || (b.getImage() == null) || (b.getImage().getImageData() == null) || (b.getImage().getImageData().getRGBs() == null) || (b.getImage().getImageData().getRGBs()[0] == null))
-			return null;
-		String val = b.getImage().getImageData().getRGBs()[0].toString();
-		return val;
-	}
-
-	/**
-	 * @deprecated use getPreferenceStore instead left for legacy clients,
-	 *             delete by WTP M4
-	 */
-	public Node getColorsNode() {
-		//return fColorsNode;
-		return null;
-	}
-
-	/**
-	 * @return java.util.Dictionary
-	 */
-	public Dictionary getContextStyleMap() {
-		return fContextStyleMap;
-	}
-
-	/**
-	 * @return org.eclipse.swt.graphics.Color
-	 */
-	public Color getDefaultBackground() {
-		return fDefaultBackground;
-	}
-
-	/**
-	 * @return org.eclipse.swt.graphics.Color
-	 */
-	public Color getDefaultForeground() {
-		return fDefaultForeground;
-	}
-
-	/**
-	 * @return java.util.Dictionary
-	 */
-	public Dictionary getDescriptions() {
-		return fDescriptions;
-	}
-
-	public Font getFont() {
-		return fText.getFont();
-	}
-
-	protected String getNamedStyleAtOffset(int offset) {
-		// ensure the offset is clean
-		if (offset >= fInput.length())
-			return getNamedStyleAtOffset(fInput.length() - 1);
-		else if (offset < 0)
-			return getNamedStyleAtOffset(0);
-		// find the ITextRegion at this offset
-		if (fNodes == null)
-			return null;
-		IStructuredDocumentRegion aNode = fNodes;
-		while (aNode != null && !aNode.containsOffset(offset))
-			aNode = aNode.getNext();
-		if (aNode != null) {
-			// find the ITextRegion's Context at this offset
-			ITextRegion interest = aNode.getRegionAtCharacterOffset(offset);
-			if (interest == null)
-				return null;
-			if (offset > aNode.getTextEndOffset(interest))
-				return null;
-			String regionContext = interest.getType();
-			if (regionContext == null)
-				return null;
-			// find the named style (internal/selectable name) for that
-			// context
-			String namedStyle = (String) getContextStyleMap().get(regionContext);
-			if (namedStyle != null) {
-				return namedStyle;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @return com.ibm.sed.parser.RegionParser
-	 */
-	public RegionParser getParser() {
-		return fParser;
-	}
-
-	/**
-	 * @deprecated just key key (no need for generator)
-	 */
-	private String getPreferenceKey(String key) {
-		String newKey = key;
-//		if (fGeneratorKey != null) {
-//			newKey = PreferenceKeyGenerator.generateKey(key, fGeneratorKey);
-//		}
-		return newKey;
-	}
-
-	private IPreferenceStore getPreferenceStore() {
-		return fPreferenceStore;
-	}
-
-	/**
-	 * @return String[]
-	 */
-	public List getStyleList() {
-		return fStyleList;
-	}
-
-	private String getStyleName(String description) {
-		if (description == null)
-			return null;
-		String styleName = null;
-		java.util.Enumeration keys = getDescriptions().keys();
-		while (keys.hasMoreElements()) {
-			String test = keys.nextElement().toString();
-			if (getDescriptions().get(test).equals(description)) {
-				styleName = test;
-				break;
-			}
-		}
-		return styleName;
-	}
-
-	public String getText() {
-		return fInput;
-	}
-
-	private KeyListener getTextKeyListener() {
-		return new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.widget instanceof StyledText) {
-					int x = ((StyledText) e.widget).getCaretOffset();
-					selectColorAtOffset(x);
-				}
-			}
-
-			public void keyReleased(KeyEvent e) {
-				if (e.widget instanceof StyledText) {
-					int x = ((StyledText) e.widget).getCaretOffset();
-					selectColorAtOffset(x);
-				}
-			}
-		};
-	}
-
-	private MouseListener getTextMouseListener() {
-		return new MouseListener() {
-			public void mouseDoubleClick(MouseEvent e) {
-			}
-
-			public void mouseDown(MouseEvent e) {
-			}
-
-			public void mouseUp(MouseEvent e) {
-				if (e.widget instanceof StyledText) {
-					int x = ((StyledText) e.widget).getCaretOffset();
-					selectColorAtOffset(x);
-				}
-			}
-		};
-	}
-
-	private SelectionListener getTextSelectionListener() {
-		return new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				selectColorAtOffset(e.x);
-				if (e.widget instanceof StyledText) {
-					((StyledText) e.widget).setSelection(e.x);
-				}
-			}
-
-			public void widgetDoubleSelected(SelectionEvent e) {
-				selectColorAtOffset(e.x);
-				if (e.widget instanceof StyledText) {
-					((StyledText) e.widget).setSelection(e.x);
-				}
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				selectColorAtOffset(e.x);
-				if (e.widget instanceof StyledText) {
-					((StyledText) e.widget).setSelection(e.x);
-				}
-			}
-		};
-	}
-
-	// defect 220377 - Provide tab traversal for fText widget
-	private TraverseListener getTraverseListener() {
-		return new TraverseListener() {
-			/**
-			 * @see org.eclipse.swt.events.TraverseListener#keyTraversed(TraverseEvent)
-			 */
-			public void keyTraversed(TraverseEvent e) {
-				if (e.widget instanceof StyledText) {
-					if ((e.detail == SWT.TRAVERSE_TAB_NEXT) || (e.detail == SWT.TRAVERSE_TAB_PREVIOUS))
-						e.doit = true;
-				}
-			}
-		};
-	}
-
-	// refresh the GUI after a color change
-	public void refresh() {
-		fText.setRedraw(false);
-		int selectedIndex = fStyleCombo.getSelectionIndex();
-		String description = selectedIndex >= 0 ? fStyleCombo.getItem(selectedIndex) : null;
-		activate(getStyleName(description));
-		// update Font
-		fText.setFont(JFaceResources.getTextFont());
-		// reapplyStyles
-		applyStyles();
-		fText.setRedraw(true);
-	}
-
-	public void releasePickerResources() {
-		if (fForeground != null && !fForeground.isDisposed() && fForeground.getImage() != null)
-			fForeground.getImage().dispose();
-		if (fBackground != null && !fBackground.isDisposed() && fBackground.getImage() != null)
-			fBackground.getImage().dispose();
-	}
-
-	private void selectColorAtOffset(int offset) {
-		String namedStyle = getNamedStyleAtOffset(offset);
-		if (namedStyle == null) {
-			fStyleCombo.deselectAll();
-			activate(null);
-			return;
-		}
-		String description = (String) getDescriptions().get(namedStyle);
-		if (description == null)
-			return;
-		int itemCount = fStyleCombo.getItemCount();
-		for (int i = 0; i < itemCount; i++) {
-			if (fStyleCombo.getItem(i).equals(description)) {
-				fStyleCombo.select(i);
-				break;
-			}
-		}
-		activate(namedStyle);
-	}
-
-	/**
-	 * Specifically set the reporting name of a control for accessibility
-	 */
-	private void setAccessible(Control control, String name) {
-		if (control == null)
-			return;
-		final String n = name;
-		control.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				if (e.childID == ACC.CHILDID_SELF)
-					e.result = n;
-			}
-		});
-	}
-
-	/**
-	 * @deprecated use setPreferenceStore instead left for legacy clients,
-	 *             delete by WTP M4
-	 */
-	public void setColorsNode(Node newColorsNode) {
-		//fColorsNode = newColorsNode;
-	}
-
-	/**
-	 * @param newContextStyleMap
-	 *            java.util.Dictionary
-	 */
-	public void setContextStyleMap(Dictionary newContextStyleMap) {
-		fContextStyleMap = newContextStyleMap;
-	}
-
-	/**
-	 * @param newDefaultBackground
-	 *            org.eclipse.swt.graphics.Color
-	 */
-	public void setDefaultBackground(Color newDefaultBackground) {
-		fDefaultBackground = newDefaultBackground;
-	}
-
-	/**
-	 * @deprecated use setPreferenceStore instead left for legacy clients,
-	 *             delete by WTP M4
-	 */
-	public void setDefaultColorsNode(Node newDefaultColorsNode) {
-		//fDefaultColorsNode = newDefaultColorsNode;
-	}
-
-	/**
-	 * @param newDefaultForeground
-	 *            org.eclipse.swt.graphics.Color
-	 */
-	public void setDefaultForeground(Color newDefaultForeground) {
-		fDefaultForeground = newDefaultForeground;
-	}
-
-	/**
-	 * @param newDescriptions
-	 *            java.util.Dictionary
-	 */
-	public void setDescriptions(Dictionary newDescriptions) {
-		fDescriptions = newDescriptions;
-		updateStyleList();
-	}
-
-	public void setFont(Font font) {
-		fText.setFont(font);
-		fText.redraw();
-	}
-
-	/**
-	 * @deprecated generator key should no longer be needed
-	 */
-	public void setGeneratorKey(String key) {
-//		fGeneratorKey = key;
-	}
-
-	/**
-	 * @param newParser
-	 *            com.ibm.sed.parser.RegionParser
-	 */
-	public void setParser(RegionParser newParser) {
-		fParser = newParser;
-	}
-
-	public void setPreferenceStore(IPreferenceStore store) {
-		fPreferenceStore = store;
-	}
-
-	/**
-	 * @param newStyleList
-	 *            String[]
-	 */
-	public void setStyleList(List newStyleList) {
-		fStyleList = newStyleList;
-		updateStyleList();
-	}
-
-	public void setText(String s) {
-		fInput = s;
-		getParser().reset(new CharArrayReader(fInput.toCharArray()));
-		fNodes = getParser().getDocumentRegions();
-		if (Debug.displayInfo)
-			System.out.println("Length of input: " //$NON-NLS-1$
-						//$NON-NLS-1$
-						+ s.length() + ", " //$NON-NLS-1$
-						+ getParser().getRegions().size() + " regions."); //$NON-NLS-1$
-		if (fText != null)
-			fText.setText(s);
-		applyStyles();
-	}
-
-
-
-	/**
-	 * @return org.eclipse.swt.graphics.RGB
-	 * @param anRGBString
-	 *            java.lang.String
-	 * @param defaultRGB
-	 *            org.eclipse.swt.graphics.RGB
-	 */
-	// TODO: never used
-	 RGB toRGB(String anRGBString, RGB defaultRGB) {
-		RGB result = ColorHelper.toRGB(anRGBString);
-		if (result == null)
-			return defaultRGB;
-		return result;
-	}
-
-	private void updateStyleList() {
-		if (fStyleList == null || fDescriptions == null)
-			return;
-		String[] descriptions = new String[fStyleList.size()];
-		for (int i = 0; i < fStyleList.size(); i++) {
-			if (fStyleList.get(i) != null)
-				descriptions[i] = (String) getDescriptions().get(fStyleList.get(i));
-			else
-				descriptions[i] = (String) fStyleList.get(i);
-		}
-		Object[] sortedObjects = new DescriptionSorter().sort(descriptions);
-		String[] sortedDescriptions = new String[descriptions.length];
-		for (int i = 0; i < descriptions.length; i++) {
-			sortedDescriptions[i] = sortedObjects[i].toString();
-		}
-		fStyleCombo.setItems(sortedDescriptions);
-		fStyleCombo.select(0); //defect 219855 - initially select first item
-		// in comboBox
-		//		fStyleCombo.deselectAll();
-	}
-
-
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TaskTagPreferenceTab.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TaskTagPreferenceTab.java
deleted file mode 100644
index b83d617..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TaskTagPreferenceTab.java
+++ /dev/null
@@ -1,522 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.core.ModelPlugin;
-import org.eclipse.wst.sse.core.participants.TaskTagSeeker;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-
-public class TaskTagPreferenceTab implements IPreferenceTab {
-
-	public class InternalTableLabelProvider extends LabelProvider implements ITableLabelProvider {
-		public InternalTableLabelProvider() {
-			super();
-		}
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			if (columnIndex < 1)
-				return element.toString();
-			for (int i = 0; i < fTags.length; i++) {
-				if (fTags[i].equals(element)) {
-					if (fPriorities[i].intValue() == IMarker.PRIORITY_HIGH) {
-						return SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.0"); //$NON-NLS-1$
-					}
-					else if (fPriorities[i].intValue() == IMarker.PRIORITY_LOW) {
-						return SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.1"); //$NON-NLS-1$
-					}
-					else {
-						return SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.2"); //$NON-NLS-1$
-					}
-				}
-			}
-			return SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.3"); //$NON-NLS-1$
-		}
-	}
-
-	public class TaskTagDialog extends Dialog {
-		public int priority = IMarker.PRIORITY_NORMAL;
-		Combo priorityCombo = null;
-		Text tagText = null;
-		public String text = ""; //$NON-NLS-1$
-
-		public TaskTagDialog(Shell parentShell) {
-			super(parentShell);
-			setShellStyle(getShellStyle() | SWT.RESIZE);
-		}
-
-		protected void configureShell(Shell newShell) {
-			super.configureShell(newShell);
-			newShell.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.5")); //$NON-NLS-1$
-		}
-
-		protected Control createButtonBar(Composite parent) {
-			Control c = super.createButtonBar(parent);
-			getButton(IDialogConstants.OK_ID).setEnabled(text.length() > 0);
-			return c;
-		}
-
-		protected Control createDialogArea(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			composite.setLayout(new GridLayout(2, false));
-			composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-			Label label = new Label(composite, SWT.NONE);
-			label.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.6")); //$NON-NLS-1$
-			label.setLayoutData(new GridData());
-			tagText = new Text(composite, SWT.BORDER);
-			tagText.setText(text);
-			tagText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			tagText.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					getButton(IDialogConstants.OK_ID).setEnabled(tagText.getText().length() > 0 && !Arrays.asList(fTags).contains(tagText.getText()));
-				}
-			});
-
-			label = new Label(composite, SWT.NONE);
-			label.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.7")); //$NON-NLS-1$
-			label.setLayoutData(new GridData());
-			priorityCombo = new Combo(composite, SWT.READ_ONLY | SWT.SINGLE);
-			priorityCombo.setItems(new String[]{SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.8"), SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.9"), SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.10")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			priorityCombo.select(2 - priority);
-			priorityCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			priorityCombo.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					priority = 2 - priorityCombo.getSelectionIndex();
-				}
-			});
-			return composite;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-		 */
-		protected void okPressed() {
-			text = tagText.getText();
-			priority = 2 - priorityCombo.getSelectionIndex();
-			super.okPressed();
-		}
-	}
-
-	Control fControl;
-
-	Button fEnableCheckbox = null;
-
-	boolean fEnableTaskTags = true;
-
-	Integer[] fPriorities;
-
-	String[] fTags;
-
-	boolean isDirty = false;
-
-	TableViewer valueTable = null;
-
-	/**
-	 * 
-	 */
-	public TaskTagPreferenceTab() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void addTag() {
-		TaskTagDialog dlg = new TaskTagDialog(fControl.getShell());
-		String tag = ""; //$NON-NLS-1$
-		int priority = IMarker.PRIORITY_NORMAL;
-		int result = dlg.open();
-		if (result == Window.OK) {
-			isDirty = true;
-			tag = dlg.text;
-			priority = dlg.priority;
-			List newTags = new ArrayList(Arrays.asList(fTags));
-			newTags.add(tag);
-			fTags = (String[]) newTags.toArray(new String[0]);
-			List newPriorities = new ArrayList(Arrays.asList(fPriorities));
-			newPriorities.add(new Integer(priority));
-			fPriorities = (Integer[]) newPriorities.toArray(new Integer[0]);
-			valueTable.setInput(fTags);
-			valueTable.getTable().setSelection(fTags.length - 1);
-		}
-	}
-
-	public Control createContents(Composite parent) {
-		loadPreferenceValues();
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayout(new GridLayout(2, false));
-		fControl = composite;
-
-		fEnableCheckbox = new Button(composite, SWT.CHECK);
-		fEnableCheckbox.setSelection(fEnableTaskTags);
-		fEnableCheckbox.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.31"));
-		fEnableCheckbox.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER, GridData.HORIZONTAL_ALIGN_BEGINNING, false, false, 2, 1));
-
-		valueTable = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
-		valueTable.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-		TableColumn textColumn = new TableColumn(valueTable.getTable(), SWT.NONE, 0);
-		textColumn.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.12")); //$NON-NLS-1$
-		TableColumn priorityColumn = new TableColumn(valueTable.getTable(), SWT.NONE, 1);
-		priorityColumn.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.13")); //$NON-NLS-1$
-		valueTable.setContentProvider(new ArrayContentProvider());
-		valueTable.setLabelProvider(new InternalTableLabelProvider());
-		valueTable.getTable().setLinesVisible(true);
-		valueTable.getTable().setHeaderVisible(true);
-		TableLayout layout = new TableLayout();
-		layout.addColumnData(new ColumnWeightData(1, 140, true));
-		layout.addColumnData(new ColumnWeightData(1, 140, true));
-		valueTable.getTable().setLayout(layout);
-
-		Composite buttons = new Composite(composite, SWT.NONE);
-		buttons.setLayout(new GridLayout());
-		buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-
-		final Button addButton = new Button(buttons, SWT.PUSH);
-		addButton.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.14")); //$NON-NLS-1$
-		addButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER));
-		final Button editButton = new Button(buttons, SWT.PUSH);
-		editButton.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.15")); //$NON-NLS-1$
-		editButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER));
-		final Button removeButton = new Button(buttons, SWT.PUSH);
-		removeButton.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.16")); //$NON-NLS-1$
-		removeButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER));
-
-		Label spacer = new Label(buttons, SWT.NONE);
-		spacer.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER));
-		final Button upButton = new Button(buttons, SWT.PUSH);
-		upButton.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.17")); //$NON-NLS-1$
-		upButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER));
-		final Button downButton = new Button(buttons, SWT.PUSH);
-		downButton.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.18")); //$NON-NLS-1$
-		downButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER));
-
-		editButton.setEnabled(false);
-		removeButton.setEnabled(false);
-		upButton.setEnabled(false);
-		downButton.setEnabled(false);
-
-		Label warning = new Label(composite, SWT.NONE);
-		warning.setLayoutData(new GridData());
-		warning.setText(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.19")); //$NON-NLS-1$
-
-		valueTable.addPostSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				boolean enabledForSelection = !event.getSelection().isEmpty();
-				editButton.setEnabled(enabledForSelection);
-				removeButton.setEnabled(enabledForSelection);
-				if (valueTable.getTable() != null && !valueTable.getTable().isDisposed()) {
-					upButton.setEnabled(enabledForSelection && valueTable.getTable().getSelectionIndex() > 0);
-					downButton.setEnabled(enabledForSelection && valueTable.getTable().getSelectionIndex() < fTags.length - 1);
-				}
-				else {
-					upButton.setEnabled(false);
-					downButton.setEnabled(false);
-				}
-			}
-		});
-		fEnableCheckbox.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fEnableTaskTags = fEnableCheckbox.getSelection();
-				isDirty = true;
-			}
-		});
-		addButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addTag();
-			}
-		});
-		editButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editTag(valueTable.getTable().getSelectionIndex());
-			}
-		});
-		removeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeTag(valueTable.getTable().getSelectionIndex());
-			}
-		});
-		upButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				moveTagUp(valueTable.getTable().getSelectionIndex());
-				upButton.setEnabled(valueTable.getTable().getSelectionIndex() > 0);
-				downButton.setEnabled(valueTable.getTable().getSelectionIndex() < fTags.length - 1);
-				if (!upButton.isEnabled()) {
-					downButton.setFocus();
-				}
-			}
-		});
-		downButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				moveTagDown(valueTable.getTable().getSelectionIndex());
-				upButton.setEnabled(valueTable.getTable().getSelectionIndex() > 0);
-				downButton.setEnabled(valueTable.getTable().getSelectionIndex() < fTags.length - 1);
-				if (!downButton.isEnabled()) {
-					upButton.setFocus();
-				}
-			}
-		});
-
-
-		valueTable.setInput(fTags);
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.PREFWEBX_TASKTAGS_HELPID);
-		return composite;
-	}
-
-	/**
-	 * @param selection
-	 */
-	protected void editTag(int i) {
-		if (i < 0) {
-			return;
-		}
-
-		int selection = valueTable.getTable().getSelectionIndex();
-		TaskTagDialog dlg = new TaskTagDialog(fControl.getShell());
-		dlg.text = fTags[selection];
-		dlg.priority = fPriorities[selection].intValue();
-		int result = dlg.open();
-		if (result == Window.OK) {
-			isDirty = true;
-			fTags[selection] = dlg.text;
-			fPriorities[selection] = new Integer(dlg.priority);
-			valueTable.refresh();
-		}
-	}
-
-	public String getTitle() {
-		return SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.20"); //$NON-NLS-1$
-	}
-
-	private void loadPreferenceValues() {
-		Plugin modelPlugin = ModelPlugin.getDefault();
-		String tags = modelPlugin.getPluginPreferences().getString(CommonModelPreferenceNames.TASK_TAG_TAGS);
-		String priorities = modelPlugin.getPluginPreferences().getString(CommonModelPreferenceNames.TASK_TAG_PRIORITIES);
-		loadTagsAndPriorities(tags, priorities);
-		fEnableTaskTags = modelPlugin.getPluginPreferences().getBoolean(CommonModelPreferenceNames.TASK_TAG_ENABLE);
-	}
-
-	/**
-	 * @param tags
-	 * @param priorities
-	 */
-	private void loadTagsAndPriorities(String tags, String priorities) {
-		fTags = StringUtils.unpack(tags);
-
-		StringTokenizer toker = null;
-		List list = new ArrayList();
-
-		toker = new StringTokenizer(priorities, ","); //$NON-NLS-1$
-		while (toker.hasMoreTokens()) {
-			Integer number = null;
-			try {
-				number = Integer.valueOf(toker.nextToken());
-			}
-			catch (NumberFormatException e) {
-				number = new Integer(IMarker.PRIORITY_NORMAL);
-			}
-			list.add(number);
-		}
-		fPriorities = (Integer[]) list.toArray(new Integer[0]);
-	}
-
-	protected void moveTagDown(int i) {
-		isDirty = true;
-		String tag = fTags[i];
-		Integer priority = fPriorities[i];
-		fTags[i] = fTags[i + 1];
-		fPriorities[i] = fPriorities[i + 1];
-		fTags[i + 1] = tag;
-		fPriorities[i + 1] = priority;
-		valueTable.refresh(fTags);
-		valueTable.getTable().select(i + 1);
-	}
-
-	protected void moveTagUp(int i) {
-		isDirty = true;
-		String tag = fTags[i];
-		Integer priority = fPriorities[i];
-		fTags[i] = fTags[i - 1];
-		fPriorities[i] = fPriorities[i - 1];
-		fTags[i - 1] = tag;
-		fPriorities[i - 1] = priority;
-		valueTable.refresh(fTags);
-		valueTable.getTable().select(i - 1);
-	}
-
-	public void performApply() {
-		save();
-
-		// To optimize builder performance when the tags are all removed,
-		// the markers MUST be removed NOW
-		if (fTags.length == 0) {
-			try {
-				// When the tags are all removed, remove all the related
-				// markers so the builder can skip the marker deletion step
-				ResourcesPlugin.getWorkspace().getRoot().deleteMarkers(TaskTagSeeker.getTaskMarkerType(), true, IResource.DEPTH_INFINITE);
-			}
-			catch (CoreException e) {
-				Logger.logException(e);
-			}
-		}
-		else if (isDirty) {
-			MessageDialog dialog = new MessageDialog(fControl.getShell(), SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.22"), fControl.getShell().getImage(), SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.23"), MessageDialog.QUESTION, new String[]{SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.24"), SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.25"), SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.26")}, 2); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-			int button = dialog.open();
-			if (button == 0) {
-				Job buildJob = new Job(SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.27")) { //$NON-NLS-1$
-					public Object getAdapter(Class adapter) {
-						return null;
-					}
-
-					protected IStatus run(IProgressMonitor monitor) {
-						IStatus status = null;
-						IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-						int errorCount = 0;
-						for (int i = 0; i < projects.length && !monitor.isCanceled(); i++) {
-							try {
-								projects[i].build(IncrementalProjectBuilder.FULL_BUILD, ModelPlugin.STRUCTURED_BUILDER, new HashMap(), new SubProgressMonitor(monitor, projects.length));
-							}
-							catch (CoreException e) {
-								Logger.logException(e);
-								errorCount++;
-							}
-						}
-						if (monitor.isCanceled()) {
-							status = new Status(IStatus.CANCEL, SSEUIPlugin.ID, IStatus.OK, SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.28"), null); //$NON-NLS-1$
-						}
-						else if (errorCount == 0) {
-							status = new Status(IStatus.OK, SSEUIPlugin.ID, IStatus.OK, SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.29"), null); //$NON-NLS-1$
-						}
-						else {
-							status = new Status(IStatus.ERROR, SSEUIPlugin.ID, IStatus.OK, SSEUIPlugin.getResourceString("%TaskTagPreferenceTab.30"), null); //$NON-NLS-1$
-						}
-						return status;
-					}
-				};
-				buildJob.schedule(500);
-			}
-
-		}
-		isDirty = false;
-	}
-
-	public void performDefaults() {
-		Plugin modelPlugin = ModelPlugin.getDefault();
-		String tags = modelPlugin.getPluginPreferences().getDefaultString(CommonModelPreferenceNames.TASK_TAG_TAGS);
-		String priorities = modelPlugin.getPluginPreferences().getDefaultString(CommonModelPreferenceNames.TASK_TAG_PRIORITIES);
-		loadTagsAndPriorities(tags, priorities);
-		if (valueTable != null && valueTable.getControl() != null && !valueTable.getControl().isDisposed()) {
-			valueTable.setInput(fTags);
-		}
-		fEnableTaskTags = modelPlugin.getPluginPreferences().getDefaultBoolean(CommonModelPreferenceNames.TASK_TAG_ENABLE);
-		fEnableCheckbox.setSelection(fEnableTaskTags);
-
-		isDirty = false;
-	}
-
-	public void performOk() {
-		performApply();
-	}
-
-	/**
-	 * @param selection
-	 */
-	protected void removeTag(int i) {
-		if (i < 0) {
-			return;
-		}
-		isDirty = true;
-		List tags = new ArrayList(Arrays.asList(fTags));
-		List priorities = new ArrayList(Arrays.asList(fPriorities));
-		tags.remove(i);
-		priorities.remove(i);
-		fTags = (String[]) tags.toArray(new String[0]);
-		fPriorities = (Integer[]) priorities.toArray(new Integer[0]);
-		valueTable.setInput(fTags);
-	}
-
-	/**
-	 * 
-	 */
-	private void save() {
-		String tags = StringUtils.pack(fTags);
-		Plugin modelPlugin = ModelPlugin.getDefault();
-		modelPlugin.getPluginPreferences().setValue(CommonModelPreferenceNames.TASK_TAG_TAGS, tags);
-
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < fPriorities.length; i++) {
-			buf.append(String.valueOf(fPriorities[i]));
-			if (i < fPriorities.length - 1)
-				buf.append(","); //$NON-NLS-1$
-		}
-		modelPlugin.getPluginPreferences().setValue(CommonModelPreferenceNames.TASK_TAG_PRIORITIES, buf.toString());
-		modelPlugin.getPluginPreferences().setValue(CommonModelPreferenceNames.TASK_TAG_ENABLE, fEnableTaskTags);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TextHoverPreferenceTab.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TextHoverPreferenceTab.java
deleted file mode 100644
index 4264614..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TextHoverPreferenceTab.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.taginfo.TextHoverManager;
-import org.eclipse.wst.sse.ui.taginfo.TextHoverManager.TextHoverDescriptor;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-/**
- * Preference tab for Structured text editor hover help preferences
- * 
- * @author amywu
- */
-public class TextHoverPreferenceTab extends AbstractPreferenceTab {
-
-	private class InternalTableLabelProvider extends LabelProvider implements ITableLabelProvider {
-		public InternalTableLabelProvider() {
-			super();
-		}
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			switch (columnIndex) {
-				case 0 : // text hover label
-					return ((TextHoverManager.TextHoverDescriptor) element).getLabel();
-
-				case 1 : // text hover state mask
-					return ((TextHoverManager.TextHoverDescriptor) element).getModifierString();
-
-				default :
-					break;
-			}
-
-			return null;
-		}
-	}
-
-	private static final String DELIMITER = SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.delimiter"); //$NON-NLS-1$
-	private Text fDescription;
-	private Table fHoverTable;
-	private TableViewer fHoverTableViewer;
-	private TableColumn fModifierColumn;
-	// for this preference page
-	private Text fModifierEditor;
-	private TableColumn fNameColumn;
-
-	private TextHoverDescriptor[] fTextHovers; // current list of text hovers
-
-	public TextHoverPreferenceTab(PreferencePage mainPreferencePage, OverlayPreferenceStore store) {
-		Assert.isNotNull(mainPreferencePage);
-		Assert.isNotNull(store);
-		setMainPreferencePage(mainPreferencePage);
-		setOverlayStore(store);
-		getOverlayStore().addKeys(createOverlayStoreKeys());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createContents(Composite tabFolder) {
-		Composite hoverComposite = new Composite(tabFolder, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		hoverComposite.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		hoverComposite.setLayoutData(gd);
-
-		// commented out until these preferences are actually handled in some
-		// way
-		//		String rollOverLabel=
-		// ResourceHandler.getString("TextHoverPreferenceTab.annotationRollover");
-		// //$NON-NLS-1$
-		//		addCheckBox(hoverComposite, rollOverLabel,
-		// CommonEditorPreferenceNames.EDITOR_ANNOTATION_ROLL_OVER, 0);
-		//
-		//		// Affordance checkbox
-		//		String showAffordanceLabel =
-		// ResourceHandler.getString("TextHoverPreferenceTab.showAffordance");
-		// //$NON-NLS-1$
-		//		addCheckBox(hoverComposite, showAffordanceLabel,
-		// CommonEditorPreferenceNames.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE, 0);
-
-		Label label = new Label(hoverComposite, SWT.NONE);
-		label.setText(SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.hoverPreferences")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalAlignment = GridData.BEGINNING;
-		gd.horizontalSpan = 2;
-		label.setLayoutData(gd);
-
-		fHoverTableViewer = CheckboxTableViewer.newCheckList(hoverComposite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
-		// Hover table
-		fHoverTable = fHoverTableViewer.getTable();
-		fHoverTable.setHeaderVisible(true);
-		fHoverTable.setLinesVisible(true);
-
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fHoverTable.setLayoutData(gd);
-
-		TableLayout tableLayout = new TableLayout();
-		tableLayout.addColumnData(new ColumnWeightData(1, 140, true));
-		tableLayout.addColumnData(new ColumnWeightData(1, 140, true));
-		fHoverTable.setLayout(tableLayout);
-
-		fHoverTable.addSelectionListener(new SelectionListener() {
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				handleHoverListSelection();
-			}
-		});
-
-		fNameColumn = new TableColumn(fHoverTable, SWT.NONE);
-		fNameColumn.setText(SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.nameColumnTitle")); //$NON-NLS-1$
-		fNameColumn.setResizable(true);
-
-		fModifierColumn = new TableColumn(fHoverTable, SWT.NONE);
-		fModifierColumn.setText(SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.modifierColumnTitle")); //$NON-NLS-1$
-		fModifierColumn.setResizable(true);
-
-		fHoverTableViewer.setUseHashlookup(true);
-		fHoverTableViewer.setContentProvider(new ArrayContentProvider());
-		fHoverTableViewer.setLabelProvider(new InternalTableLabelProvider());
-		((CheckboxTableViewer) fHoverTableViewer).addCheckStateListener(new ICheckStateListener() {
-			/*
-			 * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
-			 */
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				String id = ((TextHoverDescriptor) event.getElement()).getId();
-				if (id == null)
-					return;
-
-				TextHoverManager.TextHoverDescriptor[] descriptors = getTextHoverManager().getTextHovers();
-				TextHoverManager.TextHoverDescriptor hoverConfig = null;
-				int i = 0, length = fTextHovers.length;
-				while (i < length) {
-					if (id.equals(descriptors[i].getId())) {
-						hoverConfig = fTextHovers[i];
-						hoverConfig.setEnabled(event.getChecked());
-						fModifierEditor.setEnabled(event.getChecked());
-						fHoverTableViewer.setSelection(new StructuredSelection(descriptors[i]));
-					}
-					i++;
-				}
-
-				handleHoverListSelection();
-				updateStatus(hoverConfig);
-			}
-		});
-
-		// Text field for modifier string
-		label = new Label(hoverComposite, SWT.LEFT);
-		label.setText(SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.keyModifier")); //$NON-NLS-1$
-		fModifierEditor = new Text(hoverComposite, SWT.BORDER);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		fModifierEditor.setLayoutData(gd);
-
-		fModifierEditor.addKeyListener(new KeyListener() {
-			private boolean isModifierCandidate;
-
-			public void keyPressed(KeyEvent e) {
-				isModifierCandidate = e.keyCode > 0 && e.character == 0 && e.stateMask == 0;
-			}
-
-			public void keyReleased(KeyEvent e) {
-				if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// &&
-					// e.time
-					// -time
-					// <
-					// 1000)
-					// {
-					String text = fModifierEditor.getText();
-					Point selection = fModifierEditor.getSelection();
-					int i = selection.x - 1;
-					while (i > -1 && Character.isWhitespace(text.charAt(i))) {
-						i--;
-					}
-					boolean needsPrefixDelimiter = i > -1 && !String.valueOf(text.charAt(i)).equals(DELIMITER);
-
-					i = selection.y;
-					while (i < text.length() && Character.isWhitespace(text.charAt(i))) {
-						i++;
-					}
-					boolean needsPostfixDelimiter = i < text.length() && !String.valueOf(text.charAt(i)).equals(DELIMITER);
-
-					String insertString;
-
-					if (needsPrefixDelimiter && needsPostfixDelimiter)
-						insertString = SSEUIPlugin.getResourceString("%JavaEditorHoverConfigurationBlock.insertDelimiterAndModifierAndDelimiter", new String[]{Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
-					else if (needsPrefixDelimiter)
-						insertString = SSEUIPlugin.getResourceString("%JavaEditorHoverConfigurationBlock.insertDelimiterAndModifier", new String[]{Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
-					else if (needsPostfixDelimiter)
-						insertString = SSEUIPlugin.getResourceString("%JavaEditorHoverConfigurationBlock.insertModifierAndDelimiter", new String[]{Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
-					else
-						insertString = Action.findModifierString(e.stateMask);
-
-					if (insertString != null)
-						fModifierEditor.insert(insertString);
-				}
-			}
-		});
-
-		fModifierEditor.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				handleModifierModified();
-			}
-		});
-
-		// Description
-		Label descriptionLabel = new Label(hoverComposite, SWT.LEFT);
-		descriptionLabel.setText(SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.description")); //$NON-NLS-1$
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		descriptionLabel.setLayoutData(gd);
-		fDescription = new Text(hoverComposite, SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = 2;
-		fDescription.setLayoutData(gd);
-
-		initialize();
-
-		Dialog.applyDialogFont(hoverComposite);
-
-		WorkbenchHelp.setHelp(hoverComposite, IHelpContextIds.PREFSTE_HOVERS_HELPID);
-		return hoverComposite;
-	}
-
-	private OverlayPreferenceStore.OverlayKey[] createOverlayStoreKeys() {
-		ArrayList overlayKeys = new ArrayList();
-
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, CommonEditorPreferenceNames.EDITOR_TEXT_HOVER_MODIFIERS));
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	private String generateTextHoverString() {
-		StringBuffer buf = new StringBuffer();
-
-		for (int i = 0; i < fTextHovers.length; i++) {
-			buf.append(fTextHovers[i].getId());
-			buf.append(TextHoverManager.HOVER_ATTRIBUTE_SEPARATOR);
-			buf.append(Boolean.toString(fTextHovers[i].isEnabled()));
-			buf.append(TextHoverManager.HOVER_ATTRIBUTE_SEPARATOR);
-			String modifier = fTextHovers[i].getModifierString();
-			if (modifier == null || modifier.length() == 0)
-				modifier = TextHoverManager.NO_MODIFIER;
-			buf.append(modifier);
-			buf.append(TextHoverManager.HOVER_SEPARATOR);
-		}
-		return buf.toString();
-	}
-
-	private TextHoverManager getTextHoverManager() {
-		return SSEUIPlugin.getDefault().getTextHoverManager();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#getTitle()
-	 */
-	public String getTitle() {
-		return SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.title"); //$NON-NLS-1$
-	}
-
-	void handleHoverListSelection() {
-		int i = fHoverTable.getSelectionIndex();
-
-		if (i == -1) {
-			if (fHoverTable.getSelectionCount() == 0)
-				fModifierEditor.setEnabled(false);
-			return;
-		}
-
-		boolean enabled = fTextHovers[i].isEnabled();
-		fModifierEditor.setEnabled(enabled);
-		fModifierEditor.setText(fTextHovers[i].getModifierString());
-		String description = fTextHovers[i].getDescription();
-		if (description == null)
-			description = ""; //$NON-NLS-1$
-		fDescription.setText(description);
-	}
-
-	private void handleModifierModified() {
-		int i = fHoverTable.getSelectionIndex();
-		if (i == -1)
-			return;
-
-		String modifiers = fModifierEditor.getText();
-		fTextHovers[i].setModifierString(modifiers);
-
-		// update table
-		fHoverTableViewer.refresh(fTextHovers[i]);
-
-		updateStatus(fTextHovers[i]);
-	}
-
-	private void initialize() {
-		restoreFromOverlay();
-		fHoverTableViewer.setInput(fTextHovers);
-
-		initializeFields();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.AbstractPreferenceTab#initializeFields()
-	 */
-	protected void initializeFields() {
-		super.initializeFields();
-
-		fModifierEditor.setEnabled(false);
-		// initialize checkboxes in hover table
-		for (int i = 0; i < fTextHovers.length; i++)
-			fHoverTable.getItem(i).setChecked(fTextHovers[i].isEnabled());
-		fHoverTableViewer.refresh();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performApply()
-	 */
-	public void performApply() {
-		performOk();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performDefaults()
-	 */
-	public void performDefaults() {
-		initialize();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performOk()
-	 */
-	public void performOk() {
-		String textHoverString = generateTextHoverString();
-		getOverlayStore().setValue(CommonEditorPreferenceNames.EDITOR_TEXT_HOVER_MODIFIERS, textHoverString);
-		getTextHoverManager().resetTextHovers(); // notify text hover manager
-		// it should reset to get
-		// latest preferences
-	}
-
-	/**
-	 * Populates fTextHovers with text hover description from the overlay
-	 * store (which is the preferences)
-	 */
-	private void restoreFromOverlay() {
-		String descriptorsString = getOverlayStore().getString(CommonEditorPreferenceNames.EDITOR_TEXT_HOVER_MODIFIERS);
-		fTextHovers = getTextHoverManager().generateTextHoverDescriptors(descriptorsString);
-	}
-
-	void updateStatus(TextHoverManager.TextHoverDescriptor hoverConfig) {
-		IStatus status = new StatusInfo();
-
-		if (hoverConfig != null && hoverConfig.isEnabled() && EditorUtility.computeStateMask(hoverConfig.getModifierString()) == -1)
-			status = new StatusInfo(IStatus.ERROR, SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.modifierIsNotValid", new String[]{hoverConfig.getModifierString()})); //$NON-NLS-1$
-
-		int i = 0;
-		HashMap stateMasks = new HashMap(fTextHovers.length);
-		while (status.isOK() && i < fTextHovers.length) {
-			if (fTextHovers[i].isEnabled()) {
-				String label = fTextHovers[i].getLabel();
-				Integer stateMask = new Integer(EditorUtility.computeStateMask(fTextHovers[i].getModifierString()));
-				if (stateMask.intValue() == -1)
-					status = new StatusInfo(IStatus.ERROR, SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.modifierIsNotValidForHover", new String[]{fTextHovers[i].getModifierString(), label})); //$NON-NLS-1$
-				else if (stateMasks.containsKey(stateMask))
-					status = new StatusInfo(IStatus.ERROR, SSEUIPlugin.getResourceString("%TextHoverPreferenceTab.duplicateModifier", new String[]{label, (String) stateMasks.get(stateMask)})); //$NON-NLS-1$
-				else
-					stateMasks.put(stateMask, label);
-			}
-			i++;
-		}
-
-		updateStatus(status);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TranslucencyPreferenceTab.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TranslucencyPreferenceTab.java
deleted file mode 100644
index 2d42aad..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TranslucencyPreferenceTab.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.preferences.ui;
-
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-
-public class TranslucencyPreferenceTab implements IPreferenceTab {
-
-	private PreferencePage fMainPreferencePage;
-	private IntegerFieldEditor fTranslucencyScale = null;
-	private final int MAX_PERCENTAGE = 100;
-
-	private IPropertyChangeListener validityChangeListener = new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			if (event.getProperty().equals(FieldEditor.IS_VALID))
-				updateValidState();
-		}
-	};
-
-	/**
-	 *  
-	 */
-	public TranslucencyPreferenceTab() {
-		super();
-	}
-
-	public TranslucencyPreferenceTab(PreferencePage mainPreferencePage) {
-		Assert.isNotNull(mainPreferencePage);
-		setMainPreferencePage(mainPreferencePage);
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createContents(Composite tabFolder) {
-		Composite composite = new Composite(tabFolder, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		String text = SSEUIPlugin.getResourceString("%TranslucencyPreferenceTab.1"); //$NON-NLS-1$
-		fTranslucencyScale = new IntegerFieldEditor(CommonEditorPreferenceNames.READ_ONLY_FOREGROUND_SCALE, text, composite);
-
-		fTranslucencyScale.setErrorMessage(JFaceResources.getString("StringFieldEditor.errorMessage"));//$NON-NLS-1$
-		fTranslucencyScale.setPreferenceStore(getPreferenceStore());
-		fTranslucencyScale.setPreferencePage(getMainPreferencePage());
-		fTranslucencyScale.setTextLimit(Integer.toString(MAX_PERCENTAGE).length());
-		fTranslucencyScale.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-		fTranslucencyScale.setValidRange(0, MAX_PERCENTAGE);
-		fTranslucencyScale.load();
-		fTranslucencyScale.setPropertyChangeListener(validityChangeListener);
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.PREFWEBX_READONLY_HELPID);
-		return composite;
-	}
-
-	/**
-	 * @return Returns the fMainPreferencePage.
-	 */
-	private PreferencePage getMainPreferencePage() {
-		return fMainPreferencePage;
-	}
-
-	/**
-	 * @return Returns the preference store used in this tab
-	 */
-	private IPreferenceStore getPreferenceStore() {
-		return SSEUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#getTitle()
-	 */
-	public String getTitle() {
-		return SSEUIPlugin.getResourceString("%TranslucencyPreferenceTab.0"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performApply()
-	 */
-	public void performApply() {
-		fTranslucencyScale.store();
-		SSEUIPlugin.getDefault().savePluginPreferences();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performDefaults()
-	 */
-	public void performDefaults() {
-		fTranslucencyScale.loadDefault();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performOk()
-	 */
-	public void performOk() {
-		performApply();
-	}
-
-	/**
-	 * @param mainPreferencePage
-	 *            The fMainPreferencePage to set.
-	 */
-	private void setMainPreferencePage(PreferencePage mainPreferencePage) {
-		fMainPreferencePage = mainPreferencePage;
-	}
-
-	private void updateValidState() {
-		if (getMainPreferencePage() != null) {
-			getMainPreferencePage().setValid(fTranslucencyScale.isValid());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryProvider.java
deleted file mode 100644
index bdf522a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryProvider.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.registry;
-
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelhandler.IDocumentTypeHandler;
-
-
-public interface AdapterFactoryProvider {
-
-	public void addAdapterFactories(IStructuredModel structuredModel);
-
-	// TODO_issue: IDocumentTypeHandler doesn't seem correct in this API.
-	// reexamine and see if should be ModelHandler, or ContentTypeIdentifer
-	// instead.
-	public boolean isFor(IDocumentTypeHandler contentTypeDescription);
-
-	/**
-	 * This method should only add those factories related to embedded content
-	 * type
-	 */
-	public void reinitializeFactories(IStructuredModel structuredModel);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistry.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistry.java
deleted file mode 100644
index deeb037..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistry.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.registry;
-
-import java.util.Iterator;
-
-/**
- * This is basically a "factory for factories". It is to used to associate
- * "edit time" AdapterFactories with a StructuredModel, based on the
- * IStructuredModel's ContentTypeDescription. In plugin.xml files, there
- * should be an AdapterFactoryProvider defined for every definition of
- * ContentTypeDescription.
- */
-public interface AdapterFactoryRegistry {
-
-	/**
-	 * Returns an Iterator over a Collection of AdapterFactoryProviders
-	 * 
-	 * @return
-	 */
-	public Iterator getAdapterFactories();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryExtension.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryExtension.java
deleted file mode 100644
index 7509cea..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryExtension.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.registry;
-
-import java.util.Iterator;
-import java.util.List;
-
-public interface AdapterFactoryRegistryExtension {
-	Iterator getAdapterFactories(String contentTypeID);
-
-	List getAdapterFactoriesAsList(String contentTypeID);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryImpl.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryImpl.java
deleted file mode 100644
index f111f91..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryImpl.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.registry;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-public class AdapterFactoryRegistryImpl implements AdapterFactoryRegistry, AdapterFactoryRegistryExtension {
-
-	protected final static String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	private static AdapterFactoryRegistry instance = null;
-
-	static synchronized public AdapterFactoryRegistry getInstance() {
-		if (instance == null) {
-			instance = new AdapterFactoryRegistryImpl();
-		}
-		return instance;
-	}
-
-	// this map exists so there is only one provider
-	// instance not duplicate providers for different content types
-	private HashMap adapterProviders = null;
-
-	private boolean DEBUG = false;
-	/**
-	 * This HashMap contains: [contentTypeId -> element2providerMap] | V
-	 * [configurationElement -> AdapterFactoryProvider]
-	 * 
-	 */
-	private HashMap hashMap = null;
-
-	// providers with no content type associated
-	// just added through the add(...) method
-	private HashSet unassociatedProviders = null;
-
-	private AdapterFactoryRegistryImpl() {
-		super();
-		this.hashMap = new HashMap();
-		this.unassociatedProviders = new HashSet();
-		this.adapterProviders = new HashMap();
-
-		// doesn't instantiate classes, just stores configuration elements
-		AdapterFactoryRegistryReader.readRegistry(hashMap);
-	}
-
-	void add(AdapterFactoryProvider adapterFactoryProvider) {
-		this.unassociatedProviders.add(adapterFactoryProvider);
-	}
-
-	public Iterator getAdapterFactories() {
-		if (DEBUG) {
-			System.out.println("====================================================================================");
-			System.out.println("GETTING ALL ADAPTER FACTORIES");
-		}
-
-		List results = new ArrayList();
-
-		// add providers that have no content type specification
-		results.addAll(this.unassociatedProviders);
-		Iterator it = this.hashMap.keySet().iterator();
-		String contentTypeId = null;
-		while (it.hasNext()) {
-			contentTypeId = (String) it.next();
-
-			if (DEBUG)
-				System.out.println(" + for: " + contentTypeId);
-
-			results.addAll(getAdapterFactoriesAsList(contentTypeId));
-		}
-
-		if (DEBUG) {
-			System.out.println("====================================================================================");
-		}
-
-		return results.iterator();
-	}
-
-	public Iterator getAdapterFactories(String contentTypeID) {
-		if (DEBUG) {
-			System.out.println("====================================================================================");
-			System.out.println("GETTING ADAPTER FACTORIES for: " + contentTypeID);
-		}
-
-		List results = new ArrayList();
-
-		// add providers that have no content type specification
-		results.addAll(unassociatedProviders);
-
-		// add unknown content type providers (for backwards compatability)
-		results.addAll(getAdapterFactoriesAsList(AdapterFactoryRegistryReader.UNKNOWN_CONTENT_TYPE));
-
-		// add providers for specific content type
-		results.addAll(getAdapterFactoriesAsList(Platform.getContentTypeManager().getContentType(contentTypeID)));
-
-
-		if (DEBUG) {
-			System.out.println("====================================================================================");
-		}
-
-		return results.iterator();
-	}
-
-	public List getAdapterFactoriesAsList(IContentType contentType) {
-		IContentType type = contentType;
-		List results = new ArrayList();
-		while (type != null && !type.getId().equals(IContentTypeManager.CT_TEXT)) {
-			results.addAll(getAdapterFactoriesAsList(type.getId()));
-			type = type.getBaseType();
-		}
-		return results;
-	}
-
-	/**
-	 * Using this new API, only AdapterFactoryProviders for a certain content
-	 * type are instantiated. This will allow for the minimum number of
-	 * plugins to be loaded rather than all that implement the adapter factory
-	 * extension point.
-	 * 
-	 * @param contentTypeID
-	 * @return
-	 */
-	public List getAdapterFactoriesAsList(String contentTypeID) {
-
-		List results = new ArrayList();
-
-		// get element2Provider map for specified content type
-		Object o = hashMap.get(contentTypeID);
-		if (o != null) {
-			// instantiate if necessary from
-			// element2adapterFactoryProvider
-			// map
-			Map element2Provider = (Map) o;
-			Iterator it = element2Provider.keySet().iterator();
-			IConfigurationElement element = null;
-			String classname = null;
-			Object existing = null;
-			AdapterFactoryProvider p = null;
-			while (it.hasNext()) {
-				element = (IConfigurationElement) it.next();
-				o = element2Provider.get(element);
-				if (o != null) {
-					// this provider has already been created
-					if (DEBUG)
-						System.out.println("already created: " + element.getAttribute(ATT_CLASS));
-
-					results.add(o);
-				}
-				else {
-					// need to create the provider
-					try {
-						classname = element.getAttribute(ATT_CLASS);
-
-						if (DEBUG)
-							System.out.println("about to create: " + classname);
-
-						// check if we created one already
-						existing = this.adapterProviders.get(classname);
-						if (existing == null) {
-							// this is the only place
-							// AdapterFactoryProviders
-							// are created
-							p = (AdapterFactoryProvider) element.createExecutableExtension(ATT_CLASS); // $NON-NLS-1$
-							this.adapterProviders.put(classname, p);
-						}
-						else {
-							p = (AdapterFactoryProvider) existing;
-						}
-
-						// add to element2Provider for this contentType
-						element2Provider.put(element, p);
-						// add to results to return for this method
-						results.add(p);
-
-					}
-					catch (CoreException e) {
-						// if the provider throws any exception, just log
-						// and
-						// continue
-						Logger.logException(e);
-					}
-				}
-			}
-		}
-
-		return results;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryReader.java
deleted file mode 100644
index 49d94a9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryReader.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.registry;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * This class just converts what's in the plugins registry into a form more
- * easily useable by others, the ContentTypeRegistry.
- */
-class AdapterFactoryRegistryReader {
-	protected final static String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	protected final static String ATT_ID = "id"; //$NON-NLS-1$
-
-	private static boolean DEBUG = false;
-	protected final static String EXTENSION_POINT_ID = "adapterFactoryDescription"; //$NON-NLS-1$
-	//
-	protected final static String PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-	protected final static String TAG_CONTENT_TYPE = "contentType"; //$NON-NLS-1$
-
-	protected final static String TAG_NAME = "adapterFactoryDescription"; //$NON-NLS-1$
-
-	public final static String UNKNOWN_CONTENT_TYPE = "unknown"; //$NON-NLS-1$
-
-	/**
-	 * adds configuration element to contentTypeId map [contentTypeId ->
-	 * element2providerMap] | V [element -> provider]
-	 * 
-	 * NOTE: this doesn't create the provider yet, that must be done on demand
-	 * and stored in the appropriate element2provider
-	 * 
-	 * @param map
-	 * @param contentTypeId
-	 * @param element
-	 */
-	private static void addElementForContentType(HashMap map, String contentTypeId, IConfigurationElement element) {
-
-		Object o = map.get(contentTypeId);
-		if (o == null) {
-			HashMap element2provider = new HashMap();
-			// don't create the executable extension yet
-			element2provider.put(element, null);
-			map.put(contentTypeId, element2provider);
-
-			if (DEBUG)
-				System.out.println("added " + element.getAttribute(ATT_CLASS) + ", but didn't create exec extension");
-		} else {
-			// add element to unknown list (not executable ext yet...)
-			HashMap element2provider = (HashMap) o;
-			element2provider.put(element, null);
-
-			if (DEBUG)
-				System.out.println("added " + element.getAttribute(ATT_CLASS) + " to unknown list, but didn't create exec extension");
-		}
-	}
-
-	/**
-	 * the map passed in: [contentTypeId -> element2providerMap] | V [element ->
-	 * provider]
-	 * 
-	 * @param element
-	 * @param map
-	 * @return
-	 */
-	protected static AdapterFactoryProvider readElement(IConfigurationElement element, HashMap map) {
-
-		AdapterFactoryProvider adapterFactoryProvider = null;
-		if (element.getName().equals(TAG_NAME)) {
-			try {
-				IConfigurationElement[] children = element.getChildren();
-				boolean specifiedContentType = false;
-				if (children != null && children.length > 0) {
-					// content types are specified
-					for (int i = 0; i < children.length; i++) {
-						if (children[i].getName().equals(TAG_CONTENT_TYPE)) {
-							// it's possible to have non-contentType childrent
-							specifiedContentType = true;
-							String contentType = children[i].getAttribute(ATT_ID);
-							addElementForContentType(map, contentType, element);
-						}
-					}
-				}
-				if (!specifiedContentType) {
-					// no content type association
-					addElementForContentType(map, UNKNOWN_CONTENT_TYPE, element);
-				}
-			} catch (Exception e) {
-				// if the provider throws any exception, just log and continue
-				Logger.logException(e);
-			}
-		}
-		return adapterFactoryProvider;
-	}
-
-	/**
-	 * We simply require an 'add' method, of what ever it is we are to read
-	 * into
-	 */
-	static void readRegistry(HashMap map) {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IExtensionPoint point = registry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				readElement(elements[i], map);
-			}
-		}
-	}
-
-	protected IConfigurationElement configElement = null;
-
-	//    protected final static String ADAPTER_CLASS = "adapterClass";
-	// //$NON-NLS-1$
-	//    protected final static String DOC_TYPE_ID = "docTypeId"; //$NON-NLS-1$
-	//    protected final static String MIME_TYPE_LIST = "mimeTypeList";
-	// //$NON-NLS-1$
-	//
-	/**
-	 * ContentTypeRegistryReader constructor comment.
-	 */
-	AdapterFactoryRegistryReader() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/embedded/EmbeddedAdapterFactoryProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/embedded/EmbeddedAdapterFactoryProvider.java
deleted file mode 100644
index dadc360..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/embedded/EmbeddedAdapterFactoryProvider.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.registry.embedded;
-
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-
-
-public interface EmbeddedAdapterFactoryProvider {
-
-	public void addAdapterFactories(IStructuredModel structuredModel);
-
-	public boolean isFor(EmbeddedTypeHandler typeHandler);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/embedded/EmbeddedAdapterFactoryRegistryImpl.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/embedded/EmbeddedAdapterFactoryRegistryImpl.java
deleted file mode 100644
index baf0865..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/embedded/EmbeddedAdapterFactoryRegistryImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.registry.embedded;
-
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-
-
-public class EmbeddedAdapterFactoryRegistryImpl implements AdapterFactoryRegistry {
-
-	private static AdapterFactoryRegistry instance = null;
-
-	static synchronized public AdapterFactoryRegistry getInstance() {
-		if (instance == null) {
-			instance = new EmbeddedAdapterFactoryRegistryImpl();
-		}
-		return instance;
-	}
-
-	private HashSet hashSet = null;
-
-	private EmbeddedAdapterFactoryRegistryImpl() {
-		super();
-		hashSet = new HashSet();
-		EmbeddedAdapterFactoryRegistryReader.readRegistry(hashSet);
-	}
-
-	void add(EmbeddedAdapterFactoryProvider adapterFactoryProvider) {
-		hashSet.add(adapterFactoryProvider);
-	}
-
-	public Iterator getAdapterFactories() {
-		return hashSet.iterator();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/embedded/EmbeddedAdapterFactoryRegistryReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/embedded/EmbeddedAdapterFactoryRegistryReader.java
deleted file mode 100644
index 01142e2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/embedded/EmbeddedAdapterFactoryRegistryReader.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.registry.embedded;
-
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * This class just converts what's in the plugins registry into a form more
- * easily useable by others, the ContentTypeRegistry.
- */
-class EmbeddedAdapterFactoryRegistryReader {
-	protected final static String ATT_CLASS = "class"; //$NON-NLS-1$
-	protected final static String EXTENSION_POINT_ID = "embeddedAdapterFactoryProvider"; //$NON-NLS-1$
-
-	//
-	protected final static String PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-	protected final static String TAG_NAME = "embeddedAdapterFactoryProvider"; //$NON-NLS-1$
-
-	protected static EmbeddedAdapterFactoryProvider readElement(IConfigurationElement element) {
-		EmbeddedAdapterFactoryProvider embeddedAdapterFactoryProvider = null;
-		if (element.getName().equals(TAG_NAME)) {
-			String className = element.getAttribute(ATT_CLASS);
-			// if className is null, then no one defined the extension point
-			// for design view
-			if (className != null) {
-				try {
-					embeddedAdapterFactoryProvider = (EmbeddedAdapterFactoryProvider) element.createExecutableExtension(ATT_CLASS);
-				} catch (CoreException e) {
-					Logger.logException(e);
-				}
-			}
-		}
-
-		Assert.isNotNull(embeddedAdapterFactoryProvider, "Error reading embedded adapter factory registry"); //$NON-NLS-1$
-		return embeddedAdapterFactoryProvider;
-	}
-
-	/**
-	 * We simply require an 'add' method, of what ever it is we are to read
-	 * into
-	 */
-	static void readRegistry(Set set) {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IExtensionPoint point = registry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				EmbeddedAdapterFactoryProvider adapterFactoryProvider = readElement(elements[i]);
-				set.add(adapterFactoryProvider);
-				Logger.trace("Initialization", "adding to AdapterFactoryRegistry: " + adapterFactoryProvider.toString()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-	//    protected final static String ADAPTER_CLASS = "adapterClass";
-	// //$NON-NLS-1$
-	//    protected final static String DOC_TYPE_ID = "docTypeId"; //$NON-NLS-1$
-	//    protected final static String MIME_TYPE_LIST = "mimeTypeList";
-	// //$NON-NLS-1$
-
-	//
-	/**
-	 * ContentTypeRegistryReader constructor comment.
-	 */
-	EmbeddedAdapterFactoryRegistryReader() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/AbstractLineStyleProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/AbstractLineStyleProvider.java
deleted file mode 100644
index a41af44..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/AbstractLineStyleProvider.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.style;
-
-import java.util.Collection;
-import java.util.HashMap;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.ui.preferences.ui.ColorHelper;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-
-public abstract class AbstractLineStyleProvider {
-	private class PropertyChangeListener implements IPropertyChangeListener {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-		 */
-		public void propertyChange(PropertyChangeEvent event) {
-			// have to do it this way so others can override the method
-			handlePropertyChange(event);
-		}
-	}
-
-	//protected IStructuredDocumentRegion currentStructuredDocumentRegion;
-	// Note: the var=x.class contructs were put into this method
-	// as a workaround for slow VAJava class lookups. They compiler
-	// assigns them to a variable in the JDK, but Class.forName("x")
-	// in VAJava. It is workaround specific for VAJava environment, so could
-	// be simplified in future.
-	static Class LineStyleProviderClass = LineStyleProvider.class;
-
-	// had to make this not final, or got in to infinite recursion during
-	// class loading in VAJava!
-	// (must be a VAJava thing)
-	private LineStyleProvider fDefaultAttributeProvider = null;
-	private IStructuredDocument fDocument;
-	private Highlighter fHighlighter;
-	private boolean fInitialized;
-	private PropertyChangeListener fPreferenceListener = new PropertyChangeListener();
-
-	/** Contains all text attributes pretaining to this line style provider */
-	private HashMap fTextAttributes = null;
-
-	// we keep track of LogMessage to avoid writing hundreds of messages,
-	// but still give a hint that something is wrong with attributeProviders
-	// and/or regions.
-	// It's only written in the case of a program error, but there's no use
-	// adding
-	// salt to the wound.
-	//private boolean wroteOneLogMessage;
-	/**
-	 */
-	protected AbstractLineStyleProvider() {
-	}
-
-	protected void addEmptyRange(int start, int length, Collection holdResults) {
-		StyleRange result = new StyleRange();
-		result.start = start;
-		result.length = length;
-		holdResults.add(result);
-	}
-
-	/**
-	 * Looks up the colorKey in the preference store and adds the style
-	 * information to list of TextAttributes
-	 * 
-	 * @param colorKey
-	 */
-	protected void addTextAttribute(String colorKey) {
-		if (getColorPreferences() != null) {
-			String prefString = getColorPreferences().getString(getPreferenceKey(colorKey));
-			String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
-			if (stylePrefs != null) {
-				RGB foreground = ColorHelper.toRGB(stylePrefs[0]);
-				RGB background = ColorHelper.toRGB(stylePrefs[1]);
-				boolean bold = Boolean.valueOf(stylePrefs[2]).booleanValue();
-				getTextAttributes().put(colorKey, createTextAttribute(foreground, background, bold));
-			}
-		}
-	}
-
-	protected void commonInit(IStructuredDocument document, Highlighter highlighter) {
-
-		fDocument = document;
-		fHighlighter = highlighter;
-	}
-
-	/**
-	 * this version does "trim" regions to match request
-	 */
-	protected StyleRange createStyleRange(ITextRegionCollection flatNode, ITextRegion region, TextAttribute attr, int startOffset, int length) {
-
-		int start = flatNode.getStartOffset(region);
-		if (start < startOffset)
-			start = startOffset;
-		int maxOffset = startOffset + length;
-		int end = flatNode.getEndOffset(region); // use get length directly
-		// instead of end-start?
-		if (end > maxOffset)
-			end = maxOffset;
-		StyleRange result = new StyleRange(start, end - start, attr.getForeground(), attr.getBackground(), attr.getStyle());
-		return result;
-
-	}
-
-	protected TextAttribute createTextAttribute(RGB foreground, RGB background, boolean bold) {
-		return new TextAttribute((foreground != null) ? EditorUtility.getColor(foreground) : null, (background != null) ? EditorUtility.getColor(background) : null, bold ? SWT.BOLD : SWT.NORMAL);
-	}
-
-	protected TextAttribute getAttributeFor(ITextRegion region) {
-		// should be "abstract" method
-		return null;
-	}
-
-	// this should actually be an abstract method to replace getColorManager
-	// but returning null to avoid API changes
-	protected IPreferenceStore getColorPreferences() {
-		return null;
-	}
-
-	/**
-	 * See also Highligher::getTextAttributeProvider
-	 */
-	protected LineStyleProvider getDefaultLineStyleProvider() {
-		if (fDefaultAttributeProvider == null) {
-			fDefaultAttributeProvider = new LineStyleProviderForNoOp();
-		}
-		return fDefaultAttributeProvider;
-	}
-
-	protected IStructuredDocument getDocument() {
-		return fDocument;
-	}
-
-	/**
-	 */
-	protected Highlighter getHighlighter() {
-		return fHighlighter;
-	}
-
-	/**
-	 * Transforms the key in any way to use in preference store (ex:
-	 * PreferenceKeyGenerator)
-	 * 
-	 * @deprecated PrefernceKeyGenerator should no longer be needed
-	 * @param key
-	 * @return
-	 */
-	protected String getPreferenceKey(String key) {
-		return key;
-	}
-
-	/**
-	 * Returns the hashtable containing all the text attributes for this line
-	 * style provider. Lazily creates a hashtable if one has not already been
-	 * created.
-	 * 
-	 * @return
-	 */
-	protected HashMap getTextAttributes() {
-		if (fTextAttributes == null) {
-			fTextAttributes = new HashMap();
-		}
-		return fTextAttributes;
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		// force a full update of the text viewer
-		fHighlighter.refreshDisplay();
-	}
-
-	public void init(IStructuredDocument structuredDocument, Highlighter highlighter) {
-
-		commonInit(structuredDocument, highlighter);
-
-		if (isInitialized())
-			return;
-
-		registerPreferenceManager();
-
-		setInitialized(true);
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(java.lang.Object type) {
-		return type == LineStyleProviderClass;
-	}
-
-	/**
-	 * Returns the initialized.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isInitialized() {
-		return fInitialized;
-	}
-
-	public boolean prepareRegions(ITypedRegion typedRegion, int lineRequestStart, int lineRequestLength, Collection holdResults) {
-		final int partitionStartOffset = typedRegion.getOffset();
-		final int partitionLength = typedRegion.getLength();
-		IStructuredDocumentRegion structuredDocumentRegion = getDocument().getRegionAtCharacterOffset(partitionStartOffset);
-		boolean handled = false;
-
-		handled = prepareTextRegions(structuredDocumentRegion, partitionStartOffset, partitionLength, holdResults);
-
-		return handled;
-	}
-
-	/**
-	 * @param region
-	 * @param start
-	 * @param length
-	 * @param holdResults
-	 * @return
-	 */
-	private boolean prepareTextRegion(ITextRegionCollection blockedRegion, int partitionStartOffset, int partitionLength, Collection holdResults) {
-		boolean handled = false;
-		final int partitionEndOffset = partitionStartOffset + partitionLength - 1;
-		ITextRegion region = null;
-		ITextRegionList regions = blockedRegion.getRegions();
-		int nRegions = regions.size();
-		StyleRange styleRange = null;
-		for (int i = 0; i < nRegions; i++) {
-			region = regions.get(i);
-			TextAttribute attr = null;
-			TextAttribute previousAttr = null;
-			if (blockedRegion.getStartOffset(region) > partitionEndOffset)
-				break;
-			if (blockedRegion.getEndOffset(region) <= partitionStartOffset)
-				continue;
-
-			if (region instanceof ITextRegionCollection) {
-				handled = prepareTextRegion((ITextRegionCollection) region, partitionStartOffset, partitionLength, holdResults);
-			} else {
-
-				attr = getAttributeFor(region);
-				if (attr != null) {
-					handled = true;
-					// if this region's attr is the same as previous one, then
-					// just adjust the previous style range
-					// instead of creating a new instance of one
-					// note: to use 'equals' in this case is important, since
-					// sometimes
-					// different instances of attributes are associated with a
-					// region, even the
-					// the attribute has the same values.
-					// TODO: this needs to be improved to handle readonly
-					// regions correctly
-					if ((styleRange != null) && (previousAttr != null) && (previousAttr.equals(attr))) {
-						styleRange.length += region.getLength();
-					} else {
-						styleRange = createStyleRange(blockedRegion, region, attr, partitionStartOffset, partitionLength);
-						holdResults.add(styleRange);
-						// technically speaking, we don't need to update
-						// previousAttr
-						// in the other case, because the other case is when
-						// it hasn't changed
-						previousAttr = attr;
-					}
-				} else {
-					previousAttr = null;
-				}
-			}
-		}
-		return handled;
-	}
-
-	private boolean prepareTextRegions(IStructuredDocumentRegion structuredDocumentRegion, int partitionStartOffset, int partitionLength, Collection holdResults) {
-		boolean handled = false;
-		final int partitionEndOffset = partitionStartOffset + partitionLength - 1;
-		while (structuredDocumentRegion != null && structuredDocumentRegion.getStartOffset() <= partitionEndOffset) {
-			ITextRegion region = null;
-			ITextRegionList regions = structuredDocumentRegion.getRegions();
-			int nRegions = regions.size();
-			StyleRange styleRange = null;
-			for (int i = 0; i < nRegions; i++) {
-				region = regions.get(i);
-				TextAttribute attr = null;
-				TextAttribute previousAttr = null;
-				if (structuredDocumentRegion.getStartOffset(region) > partitionEndOffset)
-					break;
-				if (structuredDocumentRegion.getEndOffset(region) <= partitionStartOffset)
-					continue;
-
-				if (region instanceof ITextRegionCollection) {
-					handled = prepareTextRegion((ITextRegionCollection) region, partitionStartOffset, partitionLength, holdResults);
-				} else {
-
-					attr = getAttributeFor(region);
-					if (attr != null) {
-						handled = true;
-						// if this region's attr is the same as previous one,
-						// then just adjust the previous style range
-						// instead of creating a new instance of one
-						// note: to use 'equals' in this case is important,
-						// since sometimes
-						// different instances of attributes are associated
-						// with a region, even the
-						// the attribute has the same values.
-						// TODO: this needs to be improved to handle readonly
-						// regions correctly
-						if ((styleRange != null) && (previousAttr != null) && (previousAttr.equals(attr))) {
-							styleRange.length += region.getLength();
-						} else {
-							styleRange = createStyleRange(structuredDocumentRegion, region, attr, partitionStartOffset, partitionLength);
-							holdResults.add(styleRange);
-							// technically speaking, we don't need to update
-							// previousAttr
-							// in the other case, because the other case is
-							// when it hasn't changed
-							previousAttr = attr;
-						}
-					} else {
-						previousAttr = null;
-					}
-				}
-
-				if (Debug.syntaxHighlighting && !handled) {
-					System.out.println("not handled in prepareRegions"); //$NON-NLS-1$
-				}
-			}
-			structuredDocumentRegion = structuredDocumentRegion.getNext();
-		}
-		return handled;
-	}
-
-	protected void registerPreferenceManager() {
-		IPreferenceStore pref = getColorPreferences();
-		if (pref != null) {
-			pref.addPropertyChangeListener(fPreferenceListener);
-		}
-	}
-
-	public void release() {
-		unRegisterPreferenceManager();
-		getTextAttributes().clear();
-	}
-
-	/**
-	 * Sets the initialized.
-	 * 
-	 * @param initialized
-	 *            The initialized to set
-	 */
-	public void setInitialized(boolean initialized) {
-		this.fInitialized = initialized;
-	}
-
-	protected void unRegisterPreferenceManager() {
-		IPreferenceStore pref = getColorPreferences();
-		if (pref != null) {
-			pref.removePropertyChangeListener(fPreferenceListener);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/Highlighter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/Highlighter.java
deleted file mode 100644
index 45d4f88..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/Highlighter.java
+++ /dev/null
@@ -1,577 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.style;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.custom.LineStyleEvent;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.ui.extension.ExtendedConfigurationBuilder;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-/**
- * This class is to directly mediate between the Structured Document data
- * structure and the text widget's text and events. It assumes there only the
- * model is interested in text events, and all other views will work from that
- * model. Changes to the text widgets input can cause changes in the model,
- * which in turn cause changes to the widget's display.
- * 
- */
-public class Highlighter implements IHighlighter {
-
-	private final boolean DEBUG = false;
-	private final StyleRange[] EMPTY_STYLE_RANGE = new StyleRange[0];
-	private static final String LINE_STYLE_PROVIDER_EXTENDED_ID = "linestyleprovider";
-
-	private IPropertyChangeListener fForegroundScaleListener = new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			if (CommonEditorPreferenceNames.READ_ONLY_FOREGROUND_SCALE.equals(event.getProperty())) {
-				IPreferenceStore editorStore = SSEUIPlugin.getDefault().getPreferenceStore();
-				readOnlyForegroundScaleFactor = editorStore.getInt(CommonEditorPreferenceNames.READ_ONLY_FOREGROUND_SCALE);
-				disposeColorTable();
-				refreshDisplay();
-			}
-		}
-	};
-	private List fHoldStyleResults;
-	private String fPartitioning = IDocumentExtension3.DEFAULT_PARTITIONING;
-
-	private int fSavedLength = -1;
-	private int fSavedOffset = -1;
-	private StyleRange[] fSavedRanges = null;
-
-	private IStructuredDocument fStructuredDocument;
-	private Map fTableOfProviders;
-
-	private Map fExtendedProviders;
-
-	protected final LineStyleProvider NOOP_PROVIDER = new LineStyleProviderForNoOp();
-
-	private double readOnlyBackgroundScaleFactor = 10;
-	private Hashtable readOnlyColorTable;
-	double readOnlyForegroundScaleFactor = 30;
-
-	private YUV_RGBConverter rgbConverter;
-	private ITextViewer textViewer;
-	private StyledText textWidget;
-
-	public Highlighter() {
-		super();
-	}
-
-	protected void addEmptyRange(int start, int length, Collection holdResults) {
-		StyleRange result = new StyleRange();
-		result.start = start;
-		result.length = length;
-		holdResults.add(result);
-	}
-
-	public void addProvider(String partitionType, LineStyleProvider provider) {
-		getTableOfProviders().put(partitionType, provider);
-	}
-
-	protected void adjust(StyleRange[] ranges, int adjustment) {
-		for (int i = 0; i < ranges.length; i++) {
-			ranges[i].start += adjustment;
-		}
-	}
-
-	/**
-	 * @deprecated - Read Only areas have unchanged background colors
-	 */
-	void adjustBackground(StyleRange styleRange) {
-		RGB oldRGB = null;
-		Color oldColor = styleRange.background;
-		if (oldColor == null) {
-			oldColor = getTextWidget().getBackground();
-		}
-		oldRGB = oldColor.getRGB();
-		Color newColor = getCachedColorFor(oldRGB);
-		if (newColor == null) {
-			double target = getRGBConverter().calculateYComponent(oldColor);
-			// if background is "light" make it darker, and vice versa
-			if (target < 0.5)
-				target = 1.0;
-			else
-				target = 0.0;
-			RGB newRGB = getRGBConverter().transformRGB(oldRGB, readOnlyBackgroundScaleFactor / 100.0, target);
-
-			cacheColor(oldRGB, newRGB);
-			newColor = getCachedColorFor(oldRGB);
-		}
-		styleRange.background = newColor;
-	}
-
-	private void adjustForeground(StyleRange styleRange) {
-		RGB oldRGB = null;
-		// Color oldColor = styleRange.foreground;
-		Color oldColor = styleRange.background;
-		if (oldColor == null) {
-			// oldRGB = getTextWidget().getForeground().getRGB();
-			oldColor = getTextWidget().getBackground();
-			oldRGB = oldColor.getRGB();
-		}
-		else {
-			oldRGB = oldColor.getRGB();
-		}
-		Color newColor = getCachedColorFor(oldRGB);
-		if (newColor == null) {
-			// make text "closer to" background lumanence
-			double target = getRGBConverter().calculateYComponent(oldColor);
-			RGB newRGB = getRGBConverter().transformRGBToGrey(oldRGB, readOnlyForegroundScaleFactor / 100.0, target);
-
-			// save conversion, so calculations only need to be done once
-			cacheColor(oldRGB, newRGB);
-			newColor = getCachedColorFor(oldRGB);
-		}
-		styleRange.foreground = newColor;
-	}
-
-	/**
-	 * Cache read-only color.
-	 * 
-	 * @param oldRGB
-	 * @param newColor
-	 */
-	private void cacheColor(RGB oldRGB, RGB newColor) {
-		if (readOnlyColorTable == null) {
-			readOnlyColorTable = new Hashtable();
-		}
-		readOnlyColorTable.put(oldRGB, newColor);
-	}
-
-	/**
-	 * @param result
-	 * @return
-	 */
-	private StyleRange[] convertReadOnlyRegions(StyleRange[] result, int start, int length) {
-		IStructuredDocument structuredDocument = getDocument();
-
-		/**
-		 * (dmw) For client/provider simplicity (and consistent look and feel)
-		 * we'll handle readonly regions in one spot, here in the Highlighter.
-		 * Currently it is a fair assumption that each readonly region will be
-		 * on an ITextRegion boundary, so we combine consecutive styles when
-		 * found to be equivalent. Plus, for now, we'll just adjust
-		 * foreground. Eventually will use a "dimming" algrorithm to adjust
-		 * color's satuation/brightness.
-		 */
-		if (structuredDocument.containsReadOnly(start, length)) {
-			// something is read-only in the line, so go through each style,
-			// and adjust
-			for (int i = 0; i < result.length; i++) {
-				StyleRange styleRange = result[i];
-				if (structuredDocument.containsReadOnly(styleRange.start, styleRange.length)) {
-					adjustForeground(styleRange);
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Clear out the readOnlyColorTable
-	 */
-	void disposeColorTable() {
-		if (readOnlyColorTable != null) {
-			readOnlyColorTable.clear();
-		}
-		readOnlyColorTable = null;
-	}
-
-	/**
-	 * This method is just to get existing read-only colors.
-	 */
-	private Color getCachedColorFor(RGB oldRGB) {
-		Color result = null;
-
-		if (readOnlyColorTable != null) {
-			RGB readOnlyRGB = (RGB) readOnlyColorTable.get(oldRGB);
-			result = EditorUtility.getColor(readOnlyRGB);
-		}
-
-		return result;
-	}
-
-	protected IStructuredDocument getDocument() {
-		return fStructuredDocument;
-	}
-
-	private Map getExtendedProviders() {
-		if (fExtendedProviders == null) {
-			fExtendedProviders = new HashMap(3);
-		}
-		return fExtendedProviders;
-	}
-
-	/**
-	 * Method getProviderFor.
-	 * 
-	 * @param typedRegion
-	 * @return LineStyleProvider
-	 */
-	private LineStyleProvider getProviderFor(ITypedRegion typedRegion) {
-		String type = typedRegion.getType();
-		LineStyleProvider result = (LineStyleProvider) fTableOfProviders.get(type);
-		if (result == null) {
-			// NOT YET FINALIZED - DO NOT CONSIDER AS API
-			synchronized (getExtendedProviders()) {
-				if (!getExtendedProviders().containsKey(type)) {
-					LineStyleProvider provider = (LineStyleProvider) ExtendedConfigurationBuilder.getInstance().getConfiguration(LINE_STYLE_PROVIDER_EXTENDED_ID, type);
-					getExtendedProviders().put(type, provider);
-					if (provider != null) {
-						provider.init(getDocument(), this);
-					}
-					result = provider;
-				}
-				else {
-					result = (LineStyleProvider) getExtendedProviders().get(type);
-				}
-			}
-		}
-		if (result == null) {
-			result = NOOP_PROVIDER;
-		}
-		return result;
-	}
-
-	private YUV_RGBConverter getRGBConverter() {
-		if (rgbConverter == null) {
-			rgbConverter = new YUV_RGBConverter();
-		}
-		return rgbConverter;
-	}
-
-	private Map getTableOfProviders() {
-		if (fTableOfProviders == null) {
-			fTableOfProviders = new HashMap();
-		}
-		return fTableOfProviders;
-	}
-
-	/**
-	 * Returns the textViewer.
-	 * 
-	 * @return ITextViewer
-	 */
-	public ITextViewer getTextViewer() {
-		return textViewer;
-	}
-
-	/**
-	 * @return
-	 */
-	protected StyledText getTextWidget() {
-		return textWidget;
-	}
-
-	public void install(ITextViewer newTextViewer) {
-		this.textViewer = newTextViewer;
-
-		IPreferenceStore editorStore = SSEUIPlugin.getDefault().getPreferenceStore();
-		editorStore.addPropertyChangeListener(fForegroundScaleListener);
-		readOnlyForegroundScaleFactor = editorStore.getInt(CommonEditorPreferenceNames.READ_ONLY_FOREGROUND_SCALE);
-
-		if (textWidget != null) {
-			textWidget.removeLineStyleListener(this);
-		}
-		textWidget = newTextViewer.getTextWidget();
-		if (textWidget != null) {
-			textWidget.addLineStyleListener(this);
-		}
-
-		refreshDisplay();
-	}
-
-	public StyleRange[] lineGetStyle(int eventLineOffset, int eventLineLength) {
-		StyleRange[] eventStyles = null;
-		try {
-			if (getDocument() == null) {
-				/**
-				 * During initialization, this is sometimes called before our
-				 * structure is set, in which case we set styles to be the
-				 * empty style range (event.styles can not be null)
-				 */
-				eventStyles = EMPTY_STYLE_RANGE;
-				return eventStyles;
-			}
-
-			int start = eventLineOffset;
-			int length = eventLineLength;
-			int end = start + length - 1;
-
-			/*
-			 * We sometimes get odd requests from the very last CRLF in the
-			 * document it has no length, and there is no document region for
-			 * it!
-			 */
-			if (length > 0) {
-				IRegion vr = null;
-				if (getTextViewer() != null) {
-					vr = getTextViewer().getVisibleRegion();
-				}
-				else {
-					vr = new Region(0, getDocument().getLength());
-				}
-				if (start > vr.getLength()) {
-					eventStyles = EMPTY_STYLE_RANGE;
-				}
-				else {
-					/*
-					 * LineStyleProviders work using absolute document
-					 * offsets. To support visible regions, adjust the
-					 * requested range up to the full document offsets.
-					 */
-					if (vr.getOffset() > 0) {
-						start += vr.getOffset();
-						end += vr.getOffset();
-					}
-					ITypedRegion[] partitions = TextUtilities.computePartitioning(getDocument(), fPartitioning, start, length, false);
-					eventStyles = prepareStyleRangesArray(partitions, start, length);
-					/*
-					 * For visible regions, adjust the returned StyleRanges
-					 * down to relative offsets
-					 */
-					if (vr.getOffset() > 0)
-						adjust(eventStyles, -vr.getOffset());
-
-					// for debugging only
-					if (DEBUG) {
-						if (!valid(eventStyles, eventLineOffset, eventLineLength)) {
-							Logger.log(Logger.WARNING, "Highlighter::lineGetStyle found invalid styles at offset " + eventLineOffset); //$NON-NLS-1$
-						}
-					}
-				}
-
-			}
-
-		}
-		catch (Exception e) {
-			// if ANY exception occurs during highlighting,
-			// just return "no highlighting"
-			eventStyles = EMPTY_STYLE_RANGE;
-			if (Debug.syntaxHighlighting) {
-				System.out.println("Exception during highlighting!"); //$NON-NLS-1$
-			}
-		}
-		finally {
-			if (eventStyles == null) {
-				eventStyles = EMPTY_STYLE_RANGE;
-			}
-		}
-		return eventStyles;
-	}
-
-	/**
-	 * A passthrough method that extracts relevant data from the
-	 * LineStyleEvent and passes it along. This method was separated for
-	 * performance testing purposes.
-	 * 
-	 * @see org.eclipse.swt.custom.LineStyleListener#lineGetStyle(LineStyleEvent)
-	 */
-	public void lineGetStyle(LineStyleEvent event) {
-		int offset = event.lineOffset;
-		int length = event.lineText.length();
-
-		/*
-		 * For some reason, we are sometimes asked for the same style range
-		 * over and over again. This was found to happen during 'revert' of a
-		 * file with one line in it that is 40K long! So, while we don't know
-		 * root cause, caching the styled ranges in case the exact same
-		 * request is made multiple times seems like cheap insurance.
-		 */
-		if (offset == fSavedOffset && length == fSavedLength && fSavedRanges != null) {
-			event.styles = fSavedRanges;
-		}
-		else {
-			// need to assign this array here, or else the field won't get
-			// updated
-			event.styles = lineGetStyle(offset, length);
-			// now saved "cached data" for repeated requests which are exaclty
-			// same
-			fSavedOffset = offset;
-			fSavedLength = length;
-			fSavedRanges = event.styles;
-		}
-	}
-
-	/**
-	 * Note: its very important this method never return null, which is why
-	 * the final null check is in a finally clause
-	 */
-
-	protected StyleRange[] prepareStyleRangesArray(ITypedRegion[] partitions, int start, int length) {
-
-		StyleRange[] result = EMPTY_STYLE_RANGE;
-
-		if (fHoldStyleResults == null) {
-			fHoldStyleResults = new ArrayList(partitions.length);
-		}
-		else {
-			fHoldStyleResults.clear();
-		}
-
-		// TODO: make some of these instance variables to prevent creation on
-		// stack
-		LineStyleProvider currentLineStyleProvider = null;
-		boolean handled = false;
-		for (int i = 0; i < partitions.length; i++) {
-			ITypedRegion currentPartition = partitions[i];
-			currentLineStyleProvider = getProviderFor(currentPartition);
-			currentLineStyleProvider.init(getDocument(), this);
-			handled = currentLineStyleProvider.prepareRegions(currentPartition, currentPartition.getOffset(), currentPartition.getLength(), fHoldStyleResults);
-			if (Debug.syntaxHighlighting && !handled) {
-				System.out.println("Did not handle highlighting in Highlighter inner while"); //$NON-NLS-1$
-			}
-		}
-
-		int resultSize = fHoldStyleResults.size();
-		if (resultSize > 0) {
-			result = (StyleRange[]) fHoldStyleResults.toArray(new StyleRange[fHoldStyleResults.size()]);
-		}
-		else {
-			result = EMPTY_STYLE_RANGE;
-		}
-		result = convertReadOnlyRegions(result, start, length);
-		return result;
-	}
-
-	public void refreshDisplay() {
-		if (textWidget != null && !textWidget.isDisposed())
-			textWidget.redraw();
-	}
-
-	/**
-	 */
-	public void refreshDisplay(int start, int length) {
-		if (textWidget != null && !textWidget.isDisposed())
-			textWidget.redrawRange(start, length, true);
-	}
-
-	public void removeProvider(String partitionType) {
-		getTableOfProviders().remove(partitionType);
-	}
-
-	public void setDocument(IStructuredDocument structuredDocument) {
-		fStructuredDocument = structuredDocument;
-	}
-
-	public void setDocumentPartitioning(String partitioning) {
-		if (partitioning != null) {
-			fPartitioning = partitioning;
-		}
-		else {
-			fPartitioning = IDocumentExtension3.DEFAULT_PARTITIONING;
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.style.IHighlighter#uninstall()
-	 */
-	public void uninstall() {
-		if (textWidget != null && !textWidget.isDisposed()) {
-			textWidget.removeLineStyleListener(this);
-		}
-		textWidget = null;
-
-		Collection providers = getTableOfProviders().values();
-		Iterator iterator = providers.iterator();
-		while (iterator.hasNext()) {
-			LineStyleProvider lineStyleProvider = (LineStyleProvider) iterator.next();
-			lineStyleProvider.release();
-			// this remove probably isn't strictly needed, since
-			// typically highlighter instance as a whole will go
-			// away ... but in case that ever changes, this seems like
-			// a better style.
-			iterator.remove();
-		}
-
-		synchronized (getExtendedProviders()) {
-			providers = new ArrayList(getExtendedProviders().values());
-			getExtendedProviders().clear();
-		}
-		iterator = providers.iterator();
-		while (iterator.hasNext()) {
-			LineStyleProvider lineStyleProvider = (LineStyleProvider) iterator.next();
-			if (lineStyleProvider != null) {
-				lineStyleProvider.release();
-				iterator.remove();
-			}
-		}
-
-		IPreferenceStore editorStore = SSEUIPlugin.getDefault().getPreferenceStore();
-		editorStore.removePropertyChangeListener(fForegroundScaleListener);
-		disposeColorTable();
-
-		// clear out cached variables (d282894)
-		fSavedOffset = -1;
-		fSavedLength = -1;
-		fSavedRanges = null;
-	}
-
-	/**
-	 * Purely a debugging aide.
-	 */
-	private boolean valid(StyleRange[] eventStyles, int startOffset, int lineLength) {
-		boolean result = false;
-		if (eventStyles != null) {
-			if (eventStyles.length > 0) {
-				StyleRange first = eventStyles[0];
-				StyleRange last = eventStyles[eventStyles.length - 1];
-				if (startOffset > first.start) {
-					result = false;
-				}
-				else {
-					int lineEndOffset = startOffset + lineLength;
-					int lastOffset = last.start + last.length;
-					if (lastOffset > lineEndOffset) {
-						result = false;
-					}
-					else {
-						result = true;
-					}
-				}
-			}
-			else {
-				// a zero length array is ok
-				result = true;
-			}
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/IHighlighter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/IHighlighter.java
deleted file mode 100644
index ffc7baa..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/IHighlighter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.eclipse.wst.sse.ui.style;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.custom.LineStyleListener;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-/**
- * @author davidw
- * 
- */
-public interface IHighlighter extends LineStyleListener {
-	void addProvider(String partitionType, LineStyleProvider provider);
-
-	void install(ITextViewer viewer);
-
-	void removeProvider(String partitionType);
-
-	void setDocument(IStructuredDocument structuredDocument);
-	
-	void uninstall();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/LineStyleProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/LineStyleProvider.java
deleted file mode 100644
index 31db62e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/LineStyleProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.style;
-
-import java.util.Collection;
-
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-public interface LineStyleProvider {
-
-	/**
-	 * Initializes this provider for the given Highlighter and document. This
-	 * method will be called at least once before prepareRegions is called.
-	 * 
-	 * @param document
-	 * @param highlighter
-	 */
-	void init(IStructuredDocument document, Highlighter highlighter);
-
-	/**
-	 * Optionally appends StyleRanges to the styleRanges Collection, in order,
-	 * and only covering the given range within the document.
-	 * 
-	 * @param currentRegion -
-	 *            the current document partition
-	 * @param start
-	 * @param length
-	 * @param styleRanges
-	 * @return whether this LineStyleProvider handled the request; handling
-	 *         includes not adding StyleRanges if that is still the correct
-	 *         behavior
-	 */
-	boolean prepareRegions(ITypedRegion currentRegion, int start, int length, Collection styleRanges);
-
-	/**
-	 * Instructs this provider to free up any "resources" it might be holding
-	 * on to (such as listening for preference changes). It is only called
-	 * once in the lifetime of this provider.
-	 */
-	void release();
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/LineStyleProviderForNoOp.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/LineStyleProviderForNoOp.java
deleted file mode 100644
index d97c9b9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/LineStyleProviderForNoOp.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.style;
-
-
-
-import java.util.Collection;
-
-import org.eclipse.jface.text.ITypedRegion;
-
-/**
- * This class is used by default, if no attribute provider is found for a
- * certain node type. Its probably an error in a factory somewhere if an
- * adapter is not found, but this class allows the logic to proceed basically
- * simply providing default colored syntax highlighting.
- */
-public class LineStyleProviderForNoOp extends AbstractLineStyleProvider implements LineStyleProvider {
-	/**
-	 * @see com.ibm.sed.structured.style.LineStyleProvider#prepareRegions(org.eclipse.jface.text.ITypedRegion,
-	 *      int, int, java.util.Collection)
-	 */
-	public boolean prepareRegions(ITypedRegion currentRegion, int start, int length, Collection holdResults) {
-		// add nothing
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/YUV_RGBConverter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/YUV_RGBConverter.java
deleted file mode 100644
index 0d82f6a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/YUV_RGBConverter.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.style;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * A utility class to do various color manipulations
- */
-public class YUV_RGBConverter {
-	/**
-	 * This class "holds" the YUV values corresponding to RGB color
-	 */
-	public class YUV {
-
-		class NormalizedRGB {
-			double blue;
-			double green;
-			private final double maxRGB = 256.0;
-			double red;
-
-			public NormalizedRGB(RGB rgb) {
-				// first normalize to between 0 - 1
-				red = rgb.red / maxRGB;
-				green = rgb.green / maxRGB;
-				blue = rgb.blue / maxRGB;
-
-				red = gammaNormalized(red);
-				green = gammaNormalized(green);
-				blue = gammaNormalized(blue);
-
-			}
-		}
-
-		private NormalizedRGB normalizedRGB;
-
-		 RGB originalRGB;
-		private double u = -1;
-		private double v = -1;
-		private double y = -1;
-
-		private YUV() {
-			super();
-		}
-
-		public YUV(double y, double u, double v) {
-			this();
-			this.y = y;
-			this.u = u;
-			this.v = v;
-		}
-
-		public YUV(RGB rgb) {
-			this();
-			originalRGB = rgb;
-			normalizedRGB = new NormalizedRGB(rgb);
-			// force calculations
-			getY();
-			getV();
-			getU();
-		}
-
-		/**
-		 * normalize to "average" gamma 2.2222 or 1/0.45
-		 */
-		double gammaNormalized(double colorComponent) {
-			if (colorComponent < 0.018) {
-				return colorComponent * 0.45;
-			} else {
-				return 1.099 * Math.pow(colorComponent, 0.45) - 0.099;
-			}
-		}
-
-		/**
-		 * @return RGB based on original RGB and current YUV values;
-		 */
-		public RGB getRGB() {
-			RGB result = null;
-			double r = getY() + 1.14 * getV();
-			double g = getY() - 0.395 * getU() - 0.58 * getV();
-			double b = getY() + 2.032 * getU();
-
-			int red = (int) (inverseGammaNormalized(r) * 256);
-			int green = (int) (inverseGammaNormalized(g) * 256);
-			int blue = (int) (inverseGammaNormalized(b) * 256);
-			if (red < 0)
-				red = 0;
-			else if (red > 255)
-				red = 255;
-			if (green < 0)
-				green = 0;
-			else if (green > 255)
-				green = 255;
-			if (blue < 0)
-				blue = 0;
-			else if (blue > 255)
-				blue = 255;
-
-			result = new RGB(red, green, blue);
-			return result;
-		}
-
-		public double getU() {
-			if (u == -1) {
-				u = 0.4949 * (normalizedRGB.blue - getY());
-			}
-			return u;
-
-		}
-
-		public double getV() {
-			if (v == -1) {
-				v = 0.877 * (normalizedRGB.red - getY());
-			}
-			return v;
-		}
-
-		public double getY() {
-			if (y == -1) {
-				y = 0.299 * normalizedRGB.red + 0.587 * normalizedRGB.green + 0.114 * normalizedRGB.blue;
-			}
-			return y;
-		}
-
-		double inverseGammaNormalized(double colorComponent) {
-			if (colorComponent < 0.018) {
-				return colorComponent * .222;
-			} else {
-				return Math.pow(((.9099 * colorComponent + 0.09)), 2.22);
-			}
-		}
-
-	}
-
-	public YUV_RGBConverter() {
-		super();
-	}
-
-	public double calculateYComponent(Color targetColor) {
-		return new YUV(targetColor.getRGB()).getY();
-	}
-
-	public RGB transformRGB(RGB originalRGB, double scaleFactor, double target) {
-		RGB transformedRGB = null;
-		//CCIR601 yuv = new CCIR601(originalRGB);
-		YUV yuv = new YUV(originalRGB);
-		double y = yuv.getY();
-		// zero is black, one is white
-		if (y < target) {
-			// is "dark" make lighter
-			y = y + ((target - y) * scaleFactor);
-		} else {
-			// is "light" make darker
-			y = y - ((y - target) * scaleFactor);
-		}
-		//yuv.setY(y);
-		YUV newYUV = new YUV(y, yuv.getU(), yuv.getV());
-		//CCIR601 newYUV = new CCIR601(y, yuv.getCb601(), yuv.getCr601());
-		transformedRGB = newYUV.getRGB();
-		return transformedRGB;
-	}
-
-	public RGB transformRGBToGrey(RGB originalRGB, double scaleFactor, double target) {
-		RGB transformedRGB = null;
-		// we left the "full" API method signature, but this
-		// version does not take into account originalRGB, though
-		// it might someday.
-		// for now, we'll simply make the new RGB grey, either a little
-		// lighter, or a little darker than background.
-		double y = 0;
-		double mid = 0.5;
-		// zero is black, one is white
-		if (target < mid) {
-			// is "dark" make lighter
-			y = target + scaleFactor;
-		} else {
-			// is "light" make darker
-			y = target - scaleFactor;
-		}
-		int c = (int) Math.round(y * 255);
-		// just to gaurd against mis-use, or scale's values greater
-		// than mid point (and possibly rounding error)
-		if (c > 255)
-			c = 255;
-		if (c < 0)
-			c = 0;
-		transformedRGB = new RGB(c, c, c);
-		return transformedRGB;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/AbstractBestMatchHoverProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/AbstractBestMatchHoverProcessor.java
deleted file mode 100644
index 2d3bf05..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/AbstractBestMatchHoverProcessor.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.taginfo;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.taginfo.DebugInfoHoverProcessor;
-
-
-/**
- * Provides the best hover help documentation (by using other hover help
- * processors) Priority of hover help processors is: ProblemHoverProcessor,
- * TagInfoProcessor, AnnotationHoverProcessor
- */
-public abstract class AbstractBestMatchHoverProcessor implements ITextHover {
-	private ITextHover fBestMatchHover; // current best match text hover
-
-	private List fTextHovers; // list of text hovers to consider in best match
-
-	/**
-	 * Create a list of text hovers applicable to this best match hover
-	 * processor
-	 * 
-	 * @return List of ITextHover - in abstract class this is empty list
-	 */
-	protected List createTextHoversList() {
-		List hoverList = new ArrayList();
-		// if currently debugging, then add the debug hover to the list of
-		// best match
-		if (Logger.isTracing(DebugInfoHoverProcessor.TRACEFILTER)) {
-			hoverList.add(new DebugInfoHoverProcessor());
-		}
-
-		hoverList.add(new ProblemAnnotationHoverProcessor());
-		ITextHover taginfo = getTagInfoHover();
-		if (taginfo != null) {
-			hoverList.add(taginfo);
-		}
-		hoverList.add(new AnnotationHoverProcessor());
-		return hoverList;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	public String getHoverInfo(ITextViewer viewer, IRegion hoverRegion) {
-		String displayText = null;
-
-		// already have a best match hover picked out from getHoverRegion call
-		if (fBestMatchHover != null) {
-			displayText = fBestMatchHover.getHoverInfo(viewer, hoverRegion);
-		}
-		// either had no best match hover or best match hover returned null
-		if (displayText == null) {
-			// go through list of text hovers and return first display string
-			Iterator i = getTextHovers().iterator();
-			while ((i.hasNext()) && (displayText == null)) {
-				ITextHover hover = (ITextHover) i.next();
-				displayText = hover.getHoverInfo(viewer, hoverRegion);
-			}
-		}
-		return displayText;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer,
-	 *      int)
-	 */
-	public IRegion getHoverRegion(ITextViewer viewer, int offset) {
-		IRegion hoverRegion = null;
-
-		// go through list of text hovers and return first hover region
-		ITextHover hover = null;
-		Iterator i = getTextHovers().iterator();
-		while ((i.hasNext()) && (hoverRegion == null)) {
-			hover = (ITextHover) i.next();
-			hoverRegion = hover.getHoverRegion(viewer, offset);
-		}
-
-		// store the text hover processor that found region
-		if (hoverRegion != null)
-			fBestMatchHover = hover;
-		else
-			fBestMatchHover = null;
-
-		return hoverRegion;
-	}
-
-	/**
-	 * @return the appropriate tag info hover help processor
-	 */
-	protected abstract ITextHover getTagInfoHover();
-
-	protected List getTextHovers() {
-		if (fTextHovers == null) {
-			fTextHovers = createTextHoversList();
-		}
-		return fTextHovers;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/AnnotationHoverProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/AnnotationHoverProcessor.java
deleted file mode 100644
index d9768f5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/AnnotationHoverProcessor.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.taginfo;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.texteditor.AnnotationPreference;
-import org.eclipse.ui.texteditor.ChainedPreferenceStore;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.ITemporaryAnnotation;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * Hover help that displays annotations shown in text of editor. Currently,
- * this text hover is used in conjunction with AbstractTextHoverProcessor.
- * 
- * @author amywu
- */
-public class AnnotationHoverProcessor implements ITextHover {
-	private final static String LIST_BEGIN = "<ul>"; //$NON-NLS-1$
-	private final static String LIST_ELEMENT = "<li>"; //$NON-NLS-1$
-	private final static String PARAGRAPH_END = "</p>"; //$NON-NLS-1$
-
-	private final static String PARAGRAPH_START = "<p>"; //$NON-NLS-1$
-	protected IPreferenceStore fPreferenceStore = null;
-
-	/**
-	 * 
-	 */
-	public AnnotationHoverProcessor() {
-		super();
-	}
-
-	/**
-	 * Formats a msg to a proper html message
-	 * 
-	 * @param msg -
-	 *            assumes msg is neither null nor empty string
-	 * @return
-	 */
-	protected String formatMessage(String msg) {
-		StringBuffer buf = new StringBuffer();
-		buf.append(PARAGRAPH_START);
-		buf.append(StringUtils.convertToHTMLContent(msg));
-		buf.append(PARAGRAPH_END);
-		return buf.toString();
-	}
-
-	/**
-	 * Formats multiple messages into proper html message
-	 * 
-	 * @param messages
-	 * @return
-	 */
-	protected String formatMessages(List messages) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(PARAGRAPH_START);
-		buffer.append(SSEUIPlugin.getResourceString("%Multiple_errors")); //$NON-NLS-1$
-		buffer.append(LIST_BEGIN);
-
-		Iterator e = messages.iterator();
-		while (e.hasNext()) {
-			buffer.append(LIST_ELEMENT);
-			buffer.append(StringUtils.convertToHTMLContent((String) e.next()));
-		}
-		buffer.append(PARAGRAPH_END);
-		return buffer.toString();
-	}
-
-	/**
-	 * Returns the annotation preference for the given annotation. (copied
-	 * from org.eclipse.jdt.internal.ui.text.java.hover.AnnotationHover)
-	 * 
-	 * @param annotation
-	 *            the annotation
-	 * @return the annotation preference or <code>null</code> if none
-	 */
-	private AnnotationPreference getAnnotationPreference(Annotation annotation) {
-
-		if (annotation.isMarkedDeleted())
-			return null;
-		return EditorsUI.getAnnotationPreferenceLookup().getAnnotationPreference(annotation);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.taginfo.AbstractTextHoverProcessor#getHoverInfo(org.eclipse.jface.text.ITextViewer,
-	 *      org.eclipse.jface.text.IRegion, boolean)
-	 */
-	public String getHoverInfo(ITextViewer viewer, IRegion hoverRegion) {
-		IAnnotationModel model = ((SourceViewer) viewer).getAnnotationModel();
-		if (model != null) {
-			List messages = new ArrayList();
-			Iterator e = model.getAnnotationIterator();
-			while (e.hasNext()) {
-				Annotation a = (Annotation) e.next();
-				if (!isAnnotationValid(a))
-					continue;
-
-				Position p = model.getPosition(a);
-				// check if this is an annotation in the region we are
-				// concerned with
-				if (p.overlapsWith(hoverRegion.getOffset(), hoverRegion.getLength())) {
-					String msg = a.getText();
-					if ((msg != null) && msg.trim().length() > 0) {
-						// it is possible for temporary annotations to
-						// duplicate other annotations so make sure not to add
-						// dups
-						if (a instanceof ITemporaryAnnotation) {
-							boolean duplicated = false;
-							int j = 0;
-							while (j < messages.size() && !duplicated) {
-								duplicated = messages.get(j).equals(msg);
-								++j;
-							}
-							if (!duplicated) {
-								messages.add(msg);
-							}
-						}
-						else {
-							messages.add(msg);
-						}
-					}
-				}
-			}
-			if (messages.size() > 1) {
-				return formatMessages(messages);
-			}
-			else if (messages.size() > 0) {
-				return formatMessage(messages.get(0).toString());
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer,
-	 *      int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		IAnnotationModel model = ((SourceViewer) textViewer).getAnnotationModel();
-		Region hoverRegion = null;
-
-		if (model != null) {
-			Iterator e = model.getAnnotationIterator();
-			while (e.hasNext()) {
-				Annotation a = (Annotation) e.next();
-				if (!isAnnotationValid(a))
-					continue;
-				Position p = model.getPosition(a);
-				if (p.includes(offset)) {
-					// find the smallest region containing offset
-					if ((hoverRegion == null) || (hoverRegion.getLength() > p.getLength())) {
-						hoverRegion = new Region(p.getOffset(), p.getLength());
-					}
-				}
-			}
-		}
-		return hoverRegion;
-	}
-
-	/**
-	 * Retreives the preference store If no preference store is currently
-	 * stored, retreive the appropriate preference store
-	 */
-	protected IPreferenceStore getPreferenceStore() {
-		if (fPreferenceStore == null) {
-			IPreferenceStore sseEditorPrefs = SSEUIPlugin.getDefault().getPreferenceStore();
-			IPreferenceStore baseEditorPrefs = EditorsUI.getPreferenceStore();
-			fPreferenceStore = new ChainedPreferenceStore(new IPreferenceStore[]{sseEditorPrefs, baseEditorPrefs});
-		}
-		return fPreferenceStore;
-	}
-
-	protected boolean isAnnotationValid(Annotation a) {
-		AnnotationPreference preference = getAnnotationPreference(a);
-		if (preference == null)
-			return false;
-		String textPreferenceKey = preference.getTextPreferenceKey();
-		String highlightPreferenceKey = preference.getHighlightPreferenceKey();
-		if (textPreferenceKey == null || !(getPreferenceStore().getBoolean(textPreferenceKey)) || highlightPreferenceKey == null || getPreferenceStore().getBoolean(highlightPreferenceKey))
-			return false;
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/ProblemAnnotationHoverProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/ProblemAnnotationHoverProcessor.java
deleted file mode 100644
index 4d78f12..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/ProblemAnnotationHoverProcessor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.taginfo;
-
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.ui.texteditor.DefaultMarkerAnnotationAccess;
-
-/**
- * Hover help that displays problem annotations when shown in text of editor.
- * 
- * @author amywu
- */
-public class ProblemAnnotationHoverProcessor extends AnnotationHoverProcessor {
-
-	// these strings are derived from the annotationTypes extension in
-	// org.eclipse.ui.editors plugin
-	// if those strings change, then these strings need to change as well
-	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 DefaultMarkerAnnotationAccess fAnnotationAccess = new DefaultMarkerAnnotationAccess();
-
-	/**
-	 *  
-	 */
-	public ProblemAnnotationHoverProcessor() {
-		super();
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.taginfo.AnnotationHoverProcessor#isAnnotationValid(org.eclipse.jface.text.source.Annotation)
-	 */
-	protected boolean isAnnotationValid(Annotation a) {
-		String type = a.getType();
-		if (fAnnotationAccess.isSubtype(type, ANNOTATION_ERROR) || fAnnotationAccess.isSubtype(type, ANNOTATION_WARNING))
-			return super.isAnnotationValid(a);
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/TextHoverManager.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/TextHoverManager.java
deleted file mode 100644
index dc83dd3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/TextHoverManager.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.taginfo;
-
-import java.util.HashMap;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-
-/**
- * Manages text hovers for Structured Text editors
- * 
- * @author amywu
- */
-public class TextHoverManager {
-	/**
-	 * Contains description of a text hover
-	 */
-	public class TextHoverDescriptor {
-		private String fDescription;
-		private boolean fEnabled;
-		private String fId;
-		private String fLabel;
-		private String fModifierString;
-
-		/**
-		 * @param id
-		 * @param label
-		 * @param desc
-		 */
-		public TextHoverDescriptor(String id, String label, String desc) {
-			fId = id;
-			fLabel = label;
-			fDescription = desc;
-		}
-
-		/**
-		 * @param id
-		 * @param label
-		 * @param desc
-		 * @param enabled
-		 * @param modifierString
-		 */
-		public TextHoverDescriptor(String id, String label, String desc, boolean enabled, String modifierString) {
-			fId = id;
-			fLabel = label;
-			fDescription = desc;
-			fEnabled = enabled;
-			fModifierString = modifierString;
-		}
-
-		/**
-		 * @return Returns the fDescription.
-		 */
-		public String getDescription() {
-			return fDescription;
-		}
-
-		/**
-		 * @return Returns the fId.
-		 */
-		public String getId() {
-			return fId;
-		}
-
-		/**
-		 * @return Returns the fLabel
-		 */
-		public String getLabel() {
-			return fLabel;
-		}
-
-		/**
-		 * @return Returns the fModifierString.
-		 */
-		public String getModifierString() {
-			return fModifierString;
-		}
-
-		/**
-		 * @return Returns the fEnabled.
-		 */
-		public boolean isEnabled() {
-			return fEnabled;
-		}
-
-		/**
-		 * @param enabled
-		 *            The fEnabled to set.
-		 */
-		public void setEnabled(boolean enabled) {
-			fEnabled = enabled;
-		}
-
-		/**
-		 * @param modifierString
-		 *            The fModifierString to set.
-		 */
-		public void setModifierString(String modifierString) {
-			fModifierString = modifierString;
-		}
-	}
-
-	public static final String ANNOTATION_HOVER = "annotationHover"; //$NON-NLS-1$
-
-	// list of different types of Source editor hovers
-	public static final String COMBINATION_HOVER = "combinationHover"; //$NON-NLS-1$
-	// hover descriptions are in .properties file with the key in the form of
-	// "[id].desc"
-	private static final String DESCRIPTION_KEY = ".desc"; //$NON-NLS-1$
-	public static final String DOCUMENTATION_HOVER = "documentationHover"; //$NON-NLS-1$
-	public static final String HOVER_ATTRIBUTE_SEPARATOR = "|"; //$NON-NLS-1$
-	public static final String HOVER_SEPARATOR = ";"; //$NON-NLS-1$
-
-	// hover labels are in .properties file with the key in the form of
-	// "[id].label"
-	private static final String LABEL_KEY = ".label"; //$NON-NLS-1$
-
-	public static final String NO_MODIFIER = "0"; //$NON-NLS-1$
-	public static final String PROBLEM_HOVER = "problemHover"; //$NON-NLS-1$
-	public static final String[] TEXT_HOVER_IDS = new String[]{COMBINATION_HOVER, PROBLEM_HOVER, DOCUMENTATION_HOVER, ANNOTATION_HOVER};
-	/**
-	 * Current list of Structured Text editor text hovers
-	 */
-	private TextHoverDescriptor[] fTextHovers;
-
-	public TextHoverManager() {
-		super();
-	}
-
-	/**
-	 * Generate a list of text hover descriptors from the given delimited
-	 * string
-	 * 
-	 * @param textHoverStrings
-	 * @return
-	 */
-	public TextHoverDescriptor[] generateTextHoverDescriptors(String textHoverStrings) {
-		StringTokenizer st = new StringTokenizer(textHoverStrings, HOVER_SEPARATOR);
-
-		// read from preference and load id-descriptor mapping to a hash table
-		HashMap idToModifier = new HashMap(st.countTokens());
-		while (st.hasMoreTokens()) {
-			String textHoverString = st.nextToken();
-			StringTokenizer st2 = new StringTokenizer(textHoverString, HOVER_ATTRIBUTE_SEPARATOR);
-			if (st2.countTokens() == 3) {
-				String id = st2.nextToken();
-				boolean enabled = Boolean.valueOf(st2.nextToken()).booleanValue();
-				String modifierString = st2.nextToken();
-				if (modifierString.equals(NO_MODIFIER))
-					modifierString = ""; //$NON-NLS-1$
-
-				TextHoverDescriptor descriptor = new TextHoverDescriptor(id, SSEUIPlugin.getResourceString("%" + id + LABEL_KEY), SSEUIPlugin.getResourceString("%" + id + DESCRIPTION_KEY), enabled, modifierString);
-				// should check to see if ids appear more than once
-				idToModifier.put(id, descriptor);
-			}
-		}
-
-		// go through all defined text hovers and match with their preference
-		TextHoverDescriptor[] descriptors = new TextHoverDescriptor[TEXT_HOVER_IDS.length];
-		for (int i = 0; i < TEXT_HOVER_IDS.length; i++) {
-			TextHoverDescriptor desc = (TextHoverDescriptor) idToModifier.get(TEXT_HOVER_IDS[i]);
-			if (desc != null) {
-				descriptors[i] = desc;
-			} else {
-				descriptors[i] = new TextHoverDescriptor(TEXT_HOVER_IDS[i], SSEUIPlugin.getResourceString("%" + TEXT_HOVER_IDS[i] + LABEL_KEY), SSEUIPlugin.getResourceString("%" + TEXT_HOVER_IDS + DESCRIPTION_KEY));
-			}
-		}
-		return descriptors;
-	}
-
-	private IPreferenceStore getPreferenceStore() {
-		return SSEUIPlugin.getDefault().getPreferenceStore();
-	}
-
-
-	/**
-	 * Returns the text hovers for Structured Text editor. If fTextHover has
-	 * not been initialied, it will be initialized.
-	 * 
-	 * @return Returns the fTextHovers.
-	 */
-	public TextHoverDescriptor[] getTextHovers() {
-		if (fTextHovers == null) {
-			String textHoverStrings = getPreferenceStore().getString(CommonEditorPreferenceNames.EDITOR_TEXT_HOVER_MODIFIERS);
-			fTextHovers = generateTextHoverDescriptors(textHoverStrings);
-		}
-		return fTextHovers;
-	}
-
-	/**
-	 * Sets fTextHovers to null so that next time getTextHovers is called,
-	 * fTextHovers will be populated with the latest preferences.
-	 */
-	public void resetTextHovers() {
-		fTextHovers = null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/text/DocumentRegionEdgeMatcher.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/text/DocumentRegionEdgeMatcher.java
deleted file mode 100644
index f4f3a74..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/text/DocumentRegionEdgeMatcher.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.text;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.source.ICharacterPairMatcher;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-
-
-/**
- * Matches the start and ending characters of IStructuredDocumentRegions with
- * the given allowed types. Note that Eclipse R3M8 only paints single
- * character-wide matches and this isn't true pair matching behavior. See RFE
- * #56836 at https://bugs.eclipse.org/bugs/show_bug.cgi?id=56836.
- */
-public class DocumentRegionEdgeMatcher implements ICharacterPairMatcher {
-
-	public static final String ID = "characterpairmatcher"; //$NON-NLS-1$
-
-	protected int fAnchor;
-
-	protected ICharacterPairMatcher fNextMatcher;
-
-	protected List fRegionTypes;
-
-	public DocumentRegionEdgeMatcher(String[] validContexts, ICharacterPairMatcher nextMatcher) {
-		fRegionTypes = Arrays.asList(validContexts);
-		fNextMatcher = nextMatcher;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#clear()
-	 */
-	public void clear() {
-		if (fNextMatcher != null)
-			fNextMatcher.clear();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#dispose()
-	 */
-	public void dispose() {
-		if (fNextMatcher != null)
-			fNextMatcher.dispose();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#getAnchor()
-	 */
-	public int getAnchor() {
-		if (fAnchor < 0 && fNextMatcher != null)
-			return fNextMatcher.getAnchor();
-		return fAnchor;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.ICharacterPairMatcher#match(org.eclipse.jface.text.IDocument,
-	 *      int)
-	 */
-	public IRegion match(IDocument document, int offset) {
-		IRegion match = null;
-		if (!fRegionTypes.isEmpty() && document instanceof IStructuredDocument) {
-			IStructuredDocumentRegion docRegion = ((IStructuredDocument) document).getRegionAtCharacterOffset(offset);
-			if (docRegion != null) {
-				// look at the previous document region first since its end ==
-				// this one's start
-				if (docRegion.getPrevious() != null && docRegion.getPrevious().getEndOffset() == offset && fRegionTypes.contains(docRegion.getPrevious().getType())) {
-					fAnchor = ICharacterPairMatcher.RIGHT;
-					match = new Region(docRegion.getPrevious().getStartOffset(), 1);
-				}
-				// check for offset in the last text region for a match to
-				// document region start offset
-				else if (fRegionTypes.contains(docRegion.getType()) && docRegion.getStartOffset(docRegion.getLastRegion()) <= offset && offset <= docRegion.getEndOffset(docRegion.getLastRegion())) {
-					fAnchor = ICharacterPairMatcher.RIGHT;
-					match = new Region(docRegion.getStartOffset(), 1);
-				}
-				// check for offset in the first text region for a match to
-				// document region end offset
-				else if (fRegionTypes.contains(docRegion.getType())) {
-					if (docRegion.getStartOffset(docRegion.getFirstRegion()) <= offset && offset <= docRegion.getEndOffset(docRegion.getFirstRegion())) {
-						fAnchor = ICharacterPairMatcher.LEFT;
-						match = new Region(docRegion.getEndOffset() - 1, 1);
-					}
-				}
-			}
-		}
-		if (match == null && fNextMatcher != null) {
-			fAnchor = -1;
-			match = fNextMatcher.match(document, offset);
-		}
-		return match;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/AccessibleInputDialog.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/AccessibleInputDialog.java
deleted file mode 100644
index ffe89b2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/AccessibleInputDialog.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.util;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * A simple input dialog for soliciting an input string from the user.
- * <p>
- * This concete dialog class can be instantiated as is, or further subclassed
- * as required.
- * 
- * NOTE: This class was mainly copied from
- * org.eclipse.jface.dialogs.InputDialog except the error message label was
- * turned into a read-only text widget to make the dialog accessible.
- * (https://bugs.eclipse.org/bugs/show_bug.cgi?id=61069)
- * </p>
- * 
- * @deprecated - will be removed in M4
- */
-public class AccessibleInputDialog extends Dialog {
-
-	/**
-	 * Error message read-only text widget.
-	 */
-	private Text errorMessageLabel;
-
-	/**
-	 * The message to display, or <code>null</code> if none.
-	 */
-	private String message;
-
-	/**
-	 * Ok button widget.
-	 */
-	private Button okButton;
-
-	/**
-	 * Input text widget.
-	 */
-	private Text text;
-
-
-	/**
-	 * The title of the dialog.
-	 */
-	private String title;
-
-	/**
-	 * The input validator, or <code>null</code> if none.
-	 */
-	private IInputValidator validator;
-
-	/**
-	 * The input value; the empty string by default.
-	 */
-	private String value = "";//$NON-NLS-1$
-
-	/**
-	 * Creates an input dialog with OK and Cancel buttons. Note that the
-	 * dialog will have no visual representation (no widgets) until it is told
-	 * to open.
-	 * <p>
-	 * Note that the <code>open</code> method blocks for input dialogs.
-	 * </p>
-	 * 
-	 * @param parentShell
-	 *            the parent shell
-	 * @param dialogTitle
-	 *            the dialog title, or <code>null</code> if none
-	 * @param dialogMessage
-	 *            the dialog message, or <code>null</code> if none
-	 * @param initialValue
-	 *            the initial input value, or <code>null</code> if none
-	 *            (equivalent to the empty string)
-	 * @param validator
-	 *            an input validator, or <code>null</code> if none
-	 */
-	public AccessibleInputDialog(Shell parentShell, String dialogTitle, String dialogMessage, String initialValue, IInputValidator validator) {
-		super(parentShell);
-		this.title = dialogTitle;
-		message = dialogMessage;
-		if (initialValue == null)
-			value = "";//$NON-NLS-1$
-		else
-			value = initialValue;
-		this.validator = validator;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			value = text.getText();
-		} else {
-			value = null;
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (title != null)
-			shell.setText(title);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK and Cancel buttons by default
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-
-		//do this here because setting the text will set enablement on the ok
-		// button
-		text.setFocus();
-		if (value != null) {
-			text.setText(value);
-			text.selectAll();
-		}
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create composite
-		Composite composite = (Composite) super.createDialogArea(parent);
-
-		// create message
-		if (message != null) {
-			Label label = new Label(composite, SWT.WRAP);
-			label.setText(message);
-			GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-			data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
-			label.setLayoutData(data);
-			label.setFont(parent.getFont());
-		}
-
-		text = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		text.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
-		text.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validateInput();
-			}
-		});
-		text.setFont(parent.getFont());
-
-		errorMessageLabel = new Text(composite, SWT.READ_ONLY);
-		errorMessageLabel.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
-		errorMessageLabel.setFont(parent.getFont());
-
-		return composite;
-	}
-
-	/**
-	 * Returns the error message text widget.
-	 * 
-	 * @return the error message text widget
-	 */
-	protected Text getErrorMessageLabel() {
-		return errorMessageLabel;
-	}
-
-	/**
-	 * Returns the ok button.
-	 * 
-	 * @return the ok button
-	 */
-	protected Button getOkButton() {
-		return okButton;
-	}
-
-	/**
-	 * Returns the text area.
-	 * 
-	 * @return the text area
-	 */
-	protected Text getText() {
-		return text;
-	}
-
-	/**
-	 * Returns the validator.
-	 * 
-	 * @return the validator
-	 */
-	protected IInputValidator getValidator() {
-		return validator;
-	}
-
-	/**
-	 * Returns the string typed into this input dialog.
-	 * 
-	 * @return the input string
-	 */
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 * Validates the input.
-	 * <p>
-	 * The default implementation of this framework method delegates the
-	 * request to the supplied input validator object; if it finds the input
-	 * invalid, the error message is displayed in the dialog's message line.
-	 * This hook method is called whenever the text changes in the input
-	 * field.
-	 * </p>
-	 */
-	protected void validateInput() {
-
-		String errorMessage = null;
-
-		if (validator != null) {
-			errorMessage = validator.isValid(text.getText());
-		}
-
-		// Bug 16256: important not to treat "" (blank error) the same as null
-		// (no error)
-		errorMessageLabel.setText(errorMessage == null ? "" : errorMessage); //$NON-NLS-1$
-		okButton.setEnabled(errorMessage == null);
-
-		errorMessageLabel.getParent().update();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/Assert.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/Assert.java
deleted file mode 100644
index 86366a7..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/Assert.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.util;
-
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks in
- * code. The predicate methods all test a condition and throw some type of
- * unchecked exception if the condition does not hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are thrown when
- * something is misbehaving. Assertion failures are invariably unspecified
- * behavior; consequently, clients should never rely on these being thrown
- * (and certainly should not being catching them specifically).
- * </p>
- */
-public final class Assert {
-
-	/**
-	 * <code>AssertionFailedException</code> is a runtime exception thrown
-	 * by some of the methods in <code>Assert</code>.
-	 * <p>
-	 * This class is not declared public to prevent some misuses; programs
-	 * that catch or otherwise depend on assertion failures are susceptible to
-	 * unexpected breakage when assertions in the code are added or removed.
-	 * </p>
-	 */
-	class AssertionFailedException extends RuntimeException {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 */
-		private static final long serialVersionUID = 1L;
-
-		/**
-		 * Constructs a new exception.
-		 */
-		public AssertionFailedException() {
-			super();
-		}
-
-		/**
-		 * Constructs a new exception with the given message.
-		 */
-		public AssertionFailedException(String detail) {
-			super(detail);
-		}
-	}
-
-	/**
-	 * Asserts that an argument is legal. If the given boolean is not
-	 * <code>true</code>, an <code>IllegalArgumentException</code> is
-	 * thrown.
-	 * 
-	 * @deprecated - use the method that expresses a message as well
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 * @exception IllegalArgumentException
-	 *                if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression) {
-		return isLegal(expression, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that an argument is legal. If the given boolean is not
-	 * <code>true</code>, an <code>IllegalArgumentException</code> is
-	 * thrown. The given message is included in that exception, to aid
-	 * debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 * @exception IllegalArgumentException
-	 *                if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression, String message) {
-		if (!expression)
-			throw new IllegalArgumentException(message);
-		return expression;
-	}
-
-	/**
-	 * Asserts that the given object is not <code>null</code>. If this is
-	 * not the case, some kind of unchecked exception is thrown.
-	 * 
-	 * @deprecated - use the method that expresses a message as well
-	 * 
-	 * @param object
-	 *            the value to test
-	 * @exception IllegalArgumentException
-	 *                if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object) {
-		isNotNull(object, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given object is not <code>null</code>. If this is
-	 * not the case, some kind of unchecked exception is thrown. The given
-	 * message is included in that exception, to aid debugging.
-	 * 
-	 * @param object
-	 *            the value to test
-	 * @param message
-	 *            the message to include in the exception
-	 * @exception IllegalArgumentException
-	 *                if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object, String message) {
-		if (object == null) {
-			Logger.log(Logger.ERROR, "null_argument: " + message); //$NON-NLS-1$
-			throw new Assert().new AssertionFailedException(message);
-		}
-	}
-
-	/**
-	 * Asserts that the given boolean is <code>true</code>. If this is not
-	 * the case, some kind of unchecked exception is thrown.
-	 * 
-	 * @deprecated - use the method that expresses a message as well
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 */
-	public static boolean isTrue(boolean expression) {
-		return isTrue(expression, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given boolean is <code>true</code>. If this is not
-	 * the case, some kind of unchecked exception is thrown. The given message
-	 * is included in that exception, to aid debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the
-	 *         check fails)
-	 */
-	public static boolean isTrue(boolean expression, String message) {
-		if (!expression) {
-			Logger.log(Logger.ERROR, "assertion failed: " + message); //$NON-NLS-1$
-			throw new Assert().new AssertionFailedException(message);
-		}
-		return expression;
-	}
-
-	/* This class is not intended to be instantiated. */
-	private Assert() {
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/EditorUtility.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/EditorUtility.java
deleted file mode 100644
index 083d0b3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/EditorUtility.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.util;
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Helpful methods to be used with the Source Editor
- */
-public class EditorUtility {
-
-	/**
-	 * Appends to modifier string of the given SWT modifier bit to the given
-	 * modifierString.
-	 * 
-	 * @param modifierString
-	 *            the modifier string
-	 * @param modifier
-	 *            an int with SWT modifier bit
-	 * @return the concatenated modifier string
-	 */
-	private static String appendModifierString(String modifierString, int modifier) {
-		if (modifierString == null)
-			modifierString = ""; //$NON-NLS-1$
-		String newModifierString = Action.findModifierString(modifier);
-		if (modifierString.length() == 0)
-			return newModifierString;
-		return modifierString + " + " + newModifierString; //$NON-NLS-1$
-	}
-
-	/**
-	 * Computes the state mask for the given modifier string.
-	 * 
-	 * @param modifiers
-	 *            the string with the modifiers, separated by '+', '-', ';',
-	 *            ',' or '.'
-	 * @return the state mask or -1 if the input is invalid
-	 */
-	public static int computeStateMask(String modifiers) {
-		if (modifiers == null)
-			return -1;
-
-		if (modifiers.length() == 0)
-			return SWT.NONE;
-
-		int stateMask = 0;
-		StringTokenizer modifierTokenizer = new StringTokenizer(modifiers, ",;.:+-* "); //$NON-NLS-1$
-		while (modifierTokenizer.hasMoreTokens()) {
-			int modifier = EditorUtility.findLocalizedModifier(modifierTokenizer.nextToken());
-			if (modifier == 0 || (stateMask & modifier) == modifier)
-				return -1;
-			stateMask = stateMask | modifier;
-		}
-		return stateMask;
-	}
-
-	/**
-	 * Maps the localized modifier name to a code in the same manner as
-	 * #findModifier.
-	 * 
-	 * @return the SWT modifier bit, or <code>0</code> if no match was found
-	 * @see findModifier
-	 */
-	public static int findLocalizedModifier(String token) {
-		if (token == null)
-			return 0;
-
-		if (token.equalsIgnoreCase(Action.findModifierString(SWT.CTRL)))
-			return SWT.CTRL;
-		if (token.equalsIgnoreCase(Action.findModifierString(SWT.SHIFT)))
-			return SWT.SHIFT;
-		if (token.equalsIgnoreCase(Action.findModifierString(SWT.ALT)))
-			return SWT.ALT;
-		if (token.equalsIgnoreCase(Action.findModifierString(SWT.COMMAND)))
-			return SWT.COMMAND;
-
-		return 0;
-	}
-
-	/**
-	 * Temporary method to help migrate from using StructuredTextColors to
-	 * using base ColorRegistry. Instead of using symbolic names in the color
-	 * registry, we are currently mapping the rgb.toString value to
-	 * corresponding color.
-	 * 
-	 * @param rgb
-	 * @return Color
-	 */
-	public static Color getColor(RGB rgb) {
-		if (rgb == null)
-			return null;
-
-		// get the color from the platform color registry
-		Color color = JFaceResources.getColorRegistry().get(rgb.toString());
-
-		// if the platform color registry does not have this color yet, add to
-		// the registry
-		if (color == null) {
-			JFaceResources.getColorRegistry().put(rgb.toString(), rgb);
-			color = JFaceResources.getColorRegistry().get(rgb.toString());
-		}
-		return color;
-	}
-
-	/**
-	 * Returns the modifier string for the given SWT modifier modifier bits.
-	 * 
-	 * @param stateMask
-	 *            the SWT modifier bits
-	 * @return the modifier string
-	 */
-	public static String getModifierString(int stateMask) {
-		String modifierString = ""; //$NON-NLS-1$
-		if ((stateMask & SWT.CTRL) == SWT.CTRL)
-			modifierString = appendModifierString(modifierString, SWT.CTRL);
-		if ((stateMask & SWT.ALT) == SWT.ALT)
-			modifierString = appendModifierString(modifierString, SWT.ALT);
-		if ((stateMask & SWT.SHIFT) == SWT.SHIFT)
-			modifierString = appendModifierString(modifierString, SWT.SHIFT);
-		if ((stateMask & SWT.COMMAND) == SWT.COMMAND)
-			modifierString = appendModifierString(modifierString, SWT.COMMAND);
-
-		return modifierString;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/PlatformStatusLineUtil.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/PlatformStatusLineUtil.java
deleted file mode 100644
index a2d2406..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/PlatformStatusLineUtil.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.util;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.custom.VerifyKeyListener;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-/**
- * Utility to display (and/or clear) messages on the status line.
- * 
- * @author pavery
- */
-public class PlatformStatusLineUtil {
-
-	private static class ClearErrorMessage implements Runnable {
-		public void run() {
-			displayMessage(null);
-		}
-	}
-
-	/**
-	 * Used to clear message on focus loss, change of selection, key type,
-	 * etc...
-	 */
-	private static class OneTimeListener extends FocusAdapter implements VerifyKeyListener, SelectionListener, MouseListener {
-
-		private Runnable fRunner = null;
-		private StyledText fStyledText;
-
-		public OneTimeListener(StyledText target, Runnable r) {
-			fStyledText = target;
-			fRunner = r;
-			fStyledText.addVerifyKeyListener(this);
-			fStyledText.addFocusListener(this);
-			fStyledText.addSelectionListener(this);
-			fStyledText.addMouseListener(this);
-		}
-
-		public void focusLost(FocusEvent e) {
-			unhookAndRun();
-		}
-
-		public void mouseDoubleClick(MouseEvent e) {
-			unhookAndRun();
-		}
-
-		public void mouseDown(MouseEvent e) {
-			unhookAndRun();
-		}
-
-		public void mouseUp(MouseEvent e) {
-			//
-		}
-
-		private void unhookAndRun() {
-			fStyledText.removeVerifyKeyListener(this);
-			fStyledText.removeFocusListener(this);
-			fStyledText.removeSelectionListener(this);
-			fStyledText.removeMouseListener(this);
-			fStyledText.getDisplay().asyncExec(fRunner);
-		}
-
-		public void verifyKey(VerifyEvent event) {
-			unhookAndRun();
-		}
-
-		public void widgetDefaultSelected(SelectionEvent e) {
-			unhookAndRun();
-		}
-
-		public void widgetSelected(SelectionEvent e) {
-			unhookAndRun();
-		}
-	}
-
-	/**
-	 * Status line will be cleared w/ key type, or selection change
-	 * 
-	 * @param widget
-	 */
-	public static void addOneTimeClearListener() {
-		IEditorPart editor = getActiveEditor();
-		if (editor != null) {
-			if (editor instanceof StructuredTextEditor) {
-				addOneTimeClearListener((StructuredTextEditor) editor);
-			}
-			else {
-				ITextEditor textEditor = (ITextEditor) editor.getAdapter(ITextEditor.class);
-				if (textEditor != null) {
-					Control control = (Control) textEditor.getAdapter(Control.class);
-					if (control instanceof StyledText) {
-						addOneTimeClearListener(((StyledText) control));
-					}
-				}
-			}
-		}
-	}
-
-	private static void addOneTimeClearListener(StructuredTextEditor editor) {
-		if (editor != null) {
-			ITextViewer viewer = editor.getTextViewer();
-			if (viewer != null)
-				addOneTimeClearListener(viewer.getTextWidget());
-		}
-	}
-
-	private static void addOneTimeClearListener(StyledText widget) {
-		new OneTimeListener(widget, new ClearErrorMessage());
-	}
-
-	/**
-	 * Clears the status line immediately
-	 */
-	public static void clearStatusLine() {
-		displayMessage(null);
-	}
-
-	/**
-	 * Display a message on the status line (with a beep)
-	 * 
-	 * @param msg
-	 */
-	public static void displayErrorMessage(String msg) {
-
-		displayMessage(msg);
-		PlatformUI.getWorkbench().getDisplay().beep();
-	}
-
-	/**
-	 * Display a message on the status line (no beep)
-	 * 
-	 * @param msg
-	 */
-	public static void displayMessage(String msg) {
-		IEditorPart editor = getActiveEditor();
-		if (editor != null)
-			editor.getEditorSite().getActionBars().getStatusLineManager().setErrorMessage(msg);
-
-	}
-
-	private static IEditorPart getActiveEditor() {
-		IEditorPart editor = null;
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null) {
-			window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		}
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null)
-				editor = page.getActiveEditor();
-		}
-		return editor;
-	}
-
-	private PlatformStatusLineUtil() {
-		// force use of singleton
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/RegistryReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/RegistryReader.java
deleted file mode 100644
index cb87e1d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/RegistryReader.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.util;
-
-
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * Template implementation of a registry reader that creates objects
- * representing registry contents. Typically, an extension contains one
- * element, but this reader handles multiple elements per extension.
- * 
- * To start reading the extensions from the registry for an extension point,
- * call the method <code>readRegistry</code>.
- * 
- * To read children of an IConfigurationElement, call the method
- * <code>readElementChildren</code> from your implementation of the method
- * <code>readElement</code>, as it will not be done by default.
- */
-public abstract class RegistryReader {
-
-
-	protected static final String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-
-	/**
-	 * The constructor.
-	 */
-	protected RegistryReader() {
-	}
-
-	/**
-	 * This method extracts description as a subelement of the given element.
-	 * 
-	 * @return description string if defined, or empty string if not.
-	 */
-	protected String getDescription(IConfigurationElement config) {
-		IConfigurationElement[] children = config.getChildren(TAG_DESCRIPTION);
-		if (children.length >= 1) {
-			return children[0].getValue();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Logs the error in the workbench log using the provided text and the
-	 * information in the configuration element.
-	 */
-	protected void logError(IConfigurationElement element, String text) {
-		IExtension extension = element.getDeclaringExtension();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + extension.getNamespace() + ", extension " + extension.getExtensionPointUniqueIdentifier()); //$NON-NLS-2$//$NON-NLS-1$
-		buf.append("\n" + text); //$NON-NLS-1$
-		Logger.log(Logger.ERROR, buf.toString());
-	}
-
-	/**
-	 * Logs a very common registry error when a required attribute is missing.
-	 */
-	protected void logMissingAttribute(IConfigurationElement element, String attributeName) {
-		logError(element, "Required attribute '" + attributeName + "' not defined"); //$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	/**
-	 * Logs a registry error when the configuration element is unknown.
-	 */
-	protected void logUnknownElement(IConfigurationElement element) {
-		logError(element, "Unknown extension tag found: " + element.getName()); //$NON-NLS-1$
-	}
-
-	/**
-	 * Apply a reproducable order to the list of extensions provided, such
-	 * that the order will not change as extensions are added or removed.
-	 */
-	protected IExtension[] orderExtensions(IExtension[] extensions) {
-		// By default, the order is based on plugin id sorted
-		// in ascending order. The order for a plugin providing
-		// more than one extension for an extension point is
-		// dependent in the order listed in the XML file.
-		Sorter sorter = new Sorter() {
-			public boolean compare(Object extension1, Object extension2) {
-				String s1 = ((IExtension) extension1).getNamespace().toUpperCase();
-				String s2 = ((IExtension) extension2).getNamespace().toUpperCase();
-				//Return true if elementTwo is 'greater than' elementOne
-				return s2.compareTo(s1) > 0;
-			}
-		};
-
-		Object[] sorted = sorter.sort(extensions);
-		IExtension[] sortedExtension = new IExtension[sorted.length];
-		System.arraycopy(sorted, 0, sortedExtension, 0, sorted.length);
-		return sortedExtension;
-	}
-
-	/**
-	 * Implement this method to read element's attributes. If children should
-	 * also be read, then implementor is responsible for calling
-	 * <code>readElementChildren</code>. Implementor is also responsible
-	 * for logging missing attributes.
-	 * 
-	 * @return true if element was recognized, false if not.
-	 */
-	protected abstract boolean readElement(IConfigurationElement element);
-
-	/**
-	 * Read the element's children. This is called by the subclass'
-	 * readElement method when it wants to read the children of the element.
-	 */
-	protected void readElementChildren(IConfigurationElement element) {
-		readElements(element.getChildren());
-	}
-
-	/**
-	 * Read each element one at a time by calling the subclass implementation
-	 * of <code>readElement</code>.
-	 * 
-	 * Logs an error if the element was not recognized.
-	 */
-	protected void readElements(IConfigurationElement[] elements) {
-		for (int i = 0; i < elements.length; i++) {
-			if (!readElement(elements[i]))
-				logUnknownElement(elements[i]);
-		}
-	}
-
-	/**
-	 * Read one extension by looping through its configuration elements.
-	 */
-	protected void readExtension(IExtension extension) {
-		readElements(extension.getConfigurationElements());
-	}
-
-	/**
-	 * @deprecated use readRegistry(IExtensionRegistry registry, String pluginId, String extensionPoint)
-	 */
-	protected void readRegistry(IPluginRegistry registry, String pluginId, String extensionPoint) {
-		IExtensionPoint point = registry.getExtensionPoint(pluginId, extensionPoint);
-		if (point != null) {
-			IExtension[] extensions = point.getExtensions();
-			extensions = orderExtensions(extensions);
-			for (int i = 0; i < extensions.length; i++)
-				readExtension(extensions[i]);
-		}
-	}
-	
-	/**
-	 * Start the registry reading process using the supplied plugin ID and
-	 * extension point.
-	 */
-	protected void readRegistry(IExtensionRegistry registry, String pluginId, String extensionPoint) {
-		IExtensionPoint point = registry.getExtensionPoint(pluginId, extensionPoint);
-		if (point != null) {
-			IExtension[] extensions = point.getExtensions();
-			extensions = orderExtensions(extensions);
-			for (int i = 0; i < extensions.length; i++)
-				readExtension(extensions[i]);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/Sorter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/Sorter.java
deleted file mode 100644
index e6d6016..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/Sorter.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.util;
-
-
-
-/**
- * The SortOperation takes a collection of objects and returns a sorted
- * collection of these objects. Concrete instances of this class provide the
- * criteria for the sorting of the objects based on the type of the objects.
- */
-public abstract class Sorter {
-
-	/**
-	 * Returns true if elementTwo is 'greater than' elementOne This is the
-	 * 'ordering' method of the sort operation. Each subclass overides this
-	 * method with the particular implementation of the 'greater than' concept
-	 * for the objects being sorted.
-	 */
-	public abstract boolean compare(Object elementOne, Object elementTwo);
-
-	/**
-	 * Sort the objects in sorted collection and return that collection.
-	 */
-	private Object[] quickSort(Object[] sortedCollection, int left, int right) {
-		int originalLeft = left;
-		int originalRight = right;
-		Object mid = sortedCollection[(left + right) / 2];
-
-		do {
-			while (compare(sortedCollection[left], mid))
-				left++;
-			while (compare(mid, sortedCollection[right]))
-				right--;
-			if (left <= right) {
-				Object tmp = sortedCollection[left];
-				sortedCollection[left] = sortedCollection[right];
-				sortedCollection[right] = tmp;
-				left++;
-				right--;
-			}
-		} while (left <= right);
-
-		if (originalLeft < right)
-			sortedCollection = quickSort(sortedCollection, originalLeft, right);
-		if (left < originalRight)
-			sortedCollection = quickSort(sortedCollection, left, originalRight);
-
-		return sortedCollection;
-	}
-
-	/**
-	 * Return a new sorted collection from this unsorted collection. Sort
-	 * using quick sort.
-	 */
-	public Object[] sort(Object[] unSortedCollection) {
-		int size = unSortedCollection.length;
-		Object[] sortedCollection = new Object[size];
-
-		//copy the array so can return a new sorted collection
-		System.arraycopy(unSortedCollection, 0, sortedCollection, 0, size);
-		if (size > 1)
-			quickSort(sortedCollection, 0, size - 1);
-
-		return sortedCollection;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/CaretEvent.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/CaretEvent.java
deleted file mode 100644
index 2a1d6ca..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/CaretEvent.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.view.events;
-
-
-
-/**
- * Simply holds data to be passed to CaretEventListeners
- */
-public class CaretEvent extends java.util.EventObject {
-
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-	// initialize to impossible location
-	int fPosition = -1;
-
-	/**
-	 * doesnt't make sense to have a CaretEvent without the Caret postion, so
-	 * use other constructor
-	 */
-	protected CaretEvent(Object source) {
-		super(source);
-	}
-
-	/**
-	 * This is the preferred constructor.
-	 */
-	public CaretEvent(Object source, int position) {
-		super(source);
-		setPosition(position);
-	}
-
-	public int getPosition() {
-		return fPosition;
-	}
-
-	void setPosition(int newPosition) {
-		fPosition = newPosition;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/ICaretListener.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/ICaretListener.java
deleted file mode 100644
index 0abd14e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/ICaretListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.view.events;
-
-
-
-public interface ICaretListener extends java.util.EventListener {
-
-	public void caretMoved(CaretEvent event);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/INodeSelectionListener.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/INodeSelectionListener.java
deleted file mode 100644
index 23e8f8e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/INodeSelectionListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.view.events;
-
-
-
-public interface INodeSelectionListener {
-
-	void nodeSelectionChanged(NodeSelectionChangedEvent event);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/ITextSelectionListener.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/ITextSelectionListener.java
deleted file mode 100644
index 1577afa..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/ITextSelectionListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.view.events;
-
-
-
-public interface ITextSelectionListener {
-
-	void textSelectionChanged(TextSelectionChangedEvent event);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/NodeSelectionChangedEvent.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/NodeSelectionChangedEvent.java
deleted file mode 100644
index ef9a9ba..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/NodeSelectionChangedEvent.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.view.events;
-
-
-
-import java.util.List;
-
-public class NodeSelectionChangedEvent extends java.util.EventObject {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-
-	int fCaretPosition;
-
-	List fSelectedNodes;
-
-	public NodeSelectionChangedEvent(Object source, List selectedNodes, int caretPosition) {
-		super(source);
-		fSelectedNodes = selectedNodes;
-		fCaretPosition = caretPosition;
-	}
-
-	public int getCaretPosition() {
-		return fCaretPosition;
-	}
-
-	public List getSelectedNodes() {
-		return fSelectedNodes;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/TextSelectionChangedEvent.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/TextSelectionChangedEvent.java
deleted file mode 100644
index 88a8d52..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/view/events/TextSelectionChangedEvent.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.view.events;
-
-
-
-public class TextSelectionChangedEvent extends java.util.EventObject {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-
-	int fTextSelectionEnd;
-
-	int fTextSelectionStart;
-
-	public TextSelectionChangedEvent(Object source, int textSelectionStart, int textSelectionEnd) {
-		super(source);
-		fTextSelectionStart = textSelectionStart;
-		fTextSelectionEnd = textSelectionEnd;
-	}
-
-	public int getTextSelectionEnd() {
-		return fTextSelectionEnd;
-	}
-
-	public int getTextSelectionStart() {
-		return fTextSelectionStart;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/ContentOutlineConfiguration.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/ContentOutlineConfiguration.java
deleted file mode 100644
index b618ffb..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/ContentOutlineConfiguration.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.contentoutline;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.util.TransferDragSourceListener;
-import org.eclipse.jface.util.TransferDropTargetListener;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.wst.sse.ui.extension.IExtendedConfiguration;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-
-
-/**
- * Configuration class for Outline Pages. Not finalized.
- * 
- * @author Nitin Dahyabhai
- *  
- */
-public class ContentOutlineConfiguration implements IExtendedConfiguration, IAdaptable {
-
-	public final static String ID = "contentoutlineconfiguration"; //$NON-NLS-1$
-
-	protected IContentProvider fContentProvider;
-	private String fDeclaringID = null;
-	protected IDoubleClickListener fDoubleClickListener;
-	private KeyListener[] fKeyListeners;
-	protected ILabelProvider fLabelProvider;
-
-	public ContentOutlineConfiguration() {
-		super();
-		fDeclaringID = getClass().getName();
-	}
-
-	private IContentProvider createTreeContentProvider() {
-		return new ITreeContentProvider() {
-			public void dispose() {
-				// do nothing
-			}
-
-			public Object[] getChildren(Object parentElement) {
-				return new Object[0];
-			}
-
-			public Object[] getElements(Object inputElement) {
-				return new Object[0];
-			}
-
-			public Object getParent(Object element) {
-				return null;
-			}
-
-			public boolean hasChildren(Object element) {
-				return false;
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				// do nothing
-			}
-		};
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-	/**
-	 * @param viewer
-	 * @return the ITreeContentProvider to use with this viewer
-	 */
-	public IContentProvider getContentProvider(TreeViewer viewer) {
-		if (fContentProvider == null)
-			fContentProvider = createTreeContentProvider();
-		return fContentProvider;
-	}
-
-	/**
-	 * @return Returns the declaringID, useful for remembering settings.
-	 */
-	public String getDeclaringID() {
-		if (fDeclaringID == null)
-			return "???"; //$NON-NLS-1$
-		return fDeclaringID;
-	}
-
-	/**
-	 * @param viewer
-	 * @return the IDoubleClickListener to be notified when the viewer
-	 *         receives a double click event
-	 */
-	public IDoubleClickListener getDoubleClickListener(TreeViewer viewer) {
-		return null;
-	}
-
-	/**
-	 * 
-	 * @param viewer
-	 * @return an array of KeyListeners to attach to the TreeViewer's Control.
-	 *         The listeners should adhere to the KeyEvent.doit field to
-	 *         ensure proper behaviors. Ordering of the event notifications is
-	 *         dependent on the Control in the TreeViewer.
-	 */
-	public KeyListener[] getKeyListeners(TreeViewer viewer) {
-		if (fKeyListeners == null)
-			fKeyListeners = new KeyListener[0];
-		return fKeyListeners;
-	}
-
-	/**
-	 * @param viewer
-	 * @return the ILabelProvider for items within the viewer
-	 */
-	public ILabelProvider getLabelProvider(TreeViewer viewer) {
-		if (fLabelProvider == null)
-			fLabelProvider = new LabelProvider();
-		return fLabelProvider;
-	}
-
-	/**
-	 * @param viewer
-	 * @return IContributionItem[] for the local menu
-	 */
-	public IContributionItem[] getMenuContributions(TreeViewer viewer) {
-		return new IContributionItem[0];
-	}
-
-	/**
-	 * @param viewer
-	 * @return the IMenuListener to notify when the viewer's context menu is
-	 *         about to be show
-	 */
-	public IMenuListener getMenuListener(TreeViewer viewer) {
-		return null;
-	}
-
-	/**
-	 * @param nodes
-	 * @return The list of nodes from this List that should be seen in the
-	 *         Outline. Possible uses include programmatic selection setting.
-	 */
-	public List getNodes(List nodes) {
-		return nodes;
-	}
-
-	/**
-	 * @param event
-	 * @return The (filtered) list of selected nodes from this event. Uses
-	 *         include mapping model selection onto elements provided by the
-	 *         content provider. Should only return elements that will be
-	 *         shown in the Tree Control.
-	 */
-	public List getSelectedNodes(NodeSelectionChangedEvent event) {
-		return event.getSelectedNodes();
-	}
-
-	/**
-	 * @param viewer
-	 * @return the ISelectionChangedListener to notify when the viewer's
-	 *         selection changes
-	 */
-	public ISelectionChangedListener getSelectionChangedListener(TreeViewer viewer) {
-		return null;
-	}
-
-	/**
-	 * @param viewer
-	 * @return IContributionItem[] for the local toolbar
-	 */
-	public IContributionItem[] getToolbarContributions(TreeViewer viewer) {
-		return new IContributionItem[0];
-	}
-
-	/**
-	 * Adopted since you can't easily removeDragSupport from StructuredViewers
-	 * 
-	 * @param treeViewer
-	 * @return
-	 */
-	public TransferDragSourceListener[] getTransferDragSourceListeners(TreeViewer treeViewer) {
-		return new TransferDragSourceListener[0];
-	}
-
-	/**
-	 * Adopted since you can't easily removeDropSupport from StructuredViewers
-	 * 
-	 * @param treeViewer
-	 * @return
-	 */
-	public TransferDropTargetListener[] getTransferDropTargetListeners(TreeViewer treeViewer) {
-		return new TransferDropTargetListener[0];
-	}
-
-	/**
-	 * Should node selection changes affect selection in the TreeViewer?
-	 * 
-	 * @return
-	 */
-	public boolean isLinkedWithEditor(TreeViewer treeViewer) {
-		return false;
-	}
-
-	/**
-	 * @param declaringID
-	 *            The declaringID to set.
-	 */
-	public void setDeclaringID(String declaringID) {
-		fDeclaringID = declaringID;
-	}
-
-	/**
-	 * General hook for resource releasing and listener removal when
-	 * configurations change or the viewer is disposed of
-	 * 
-	 * @param viewer
-	 */
-	public void unconfigure(TreeViewer viewer) {
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/IJFaceNodeAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/IJFaceNodeAdapter.java
deleted file mode 100644
index c5db03c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/IJFaceNodeAdapter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.contentoutline;
-
-
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.INodeAdapter;
-
-
-public interface IJFaceNodeAdapter extends INodeAdapter {
-
-	public Object[] getChildren(Object node);
-
-	/**
-	 * Returns an enumeration with the elements belonging to the passed
-	 * element. These are the top level items in a list, tree, table, etc...
-	 */
-	public Object[] getElements(Object node);
-
-	/**
-	 * Fetches the label image specific to this object instance.
-	 */
-	public Image getLabelImage(Object node);
-
-	/**
-	 * Fetches the label text specific to this object instance.
-	 */
-	public String getLabelText(Object node);
-
-	public Object getParent(Object node);
-
-	public boolean hasChildren(Object node);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/IJFaceNodeAdapterFactory.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/IJFaceNodeAdapterFactory.java
deleted file mode 100644
index e7828d9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/IJFaceNodeAdapterFactory.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.contentoutline;
-
-import java.util.Collection;
-
-public interface IJFaceNodeAdapterFactory {
-	public void addListener(Object listener);
-
-	/**
-	 * returns "copy" so no one can modify our list. Its is a shallow copy.
-	 */
-	public Collection getListeners();
-
-	public void removeListener(Object listener);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/PropertyChangeUpdateAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/PropertyChangeUpdateAction.java
deleted file mode 100644
index 88730d9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/PropertyChangeUpdateAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.contentoutline;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * An IAction.AS_CHECK_BOX action that sets and gets its checked state along
- * with a value from a preference store. Should be used with
- * PropertyChangeUpdateActionContributionItem to listen to changes in the
- * store and update the checked state from PropertyChangeEvents.
- */
-public class PropertyChangeUpdateAction extends Action implements IUpdate {
-	private String fPreferenceKey;
-	private IPreferenceStore fStore;
-	private boolean fUpdateFromPropertyChange = true;
-
-	public PropertyChangeUpdateAction(String text, IPreferenceStore store, String preferenceKey, boolean defaultValue) {
-		super(text, IAction.AS_CHECK_BOX);
-		fPreferenceKey = preferenceKey;
-		fStore = store;
-		fStore.setDefault(getPreferenceKey(), defaultValue);
-		setId(getPreferenceKey());
-		setChecked(getPreferenceStore().getBoolean(getPreferenceKey()));
-	}
-
-	/**
-	 * @return Returns the orderPreferenceKey.
-	 */
-	public String getPreferenceKey() {
-		return fPreferenceKey;
-	}
-
-	/**
-	 * @return Returns the store.
-	 */
-	public IPreferenceStore getPreferenceStore() {
-		return fStore;
-	}
-
-	/**
-	 * @return Returns the updateFromPropertyChange.
-	 */
-	public boolean isUpdateFromPropertyChange() {
-		return fUpdateFromPropertyChange;
-	}
-
-	public final void run() {
-		super.run();
-		fStore.setValue(getPreferenceKey(), isChecked());
-		if (!isUpdateFromPropertyChange())
-			update();
-	}
-
-	/**
-	 * @param updateFromPropertyChange
-	 *            The updateFromPropertyChange to set.
-	 */
-	public void setUpdateFromPropertyChange(boolean updateFromPropertyChange) {
-		fUpdateFromPropertyChange = updateFromPropertyChange;
-	}
-
-	public void update() {
-		setChecked(fStore.getBoolean(getPreferenceKey()));
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/PropertyChangeUpdateActionContributionItem.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/PropertyChangeUpdateActionContributionItem.java
deleted file mode 100644
index 415feac..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/PropertyChangeUpdateActionContributionItem.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.contentoutline;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * A listener on the given action's PreferenceStore. It calls .update() on the
- * action when the given key changes value.
- */
-public class PropertyChangeUpdateActionContributionItem extends ActionContributionItem {
-
-	private class PreferenceUpdateListener implements IPropertyChangeListener {
-		public void propertyChange(PropertyChangeEvent event) {
-			if (event.getProperty().equals(fProperty)) {
-				if (debug) {
-					System.out.println(fProperty + " preference changed, updating " + getAction());
-				}
-				((IUpdate) getAction()).update();
-			}
-		}
-	}
-
-	static final boolean debug = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.ui/propertyChangeUpdateActionContributionItem")); //$NON-NLS-1$  //$NON-NLS-2$;
-
-	private IPropertyChangeListener fListener = null;
-
-	protected String fProperty = null;
-	private IPreferenceStore fStore;
-
-	public PropertyChangeUpdateActionContributionItem(PropertyChangeUpdateAction action) {
-		super(action);
-		fProperty = action.getPreferenceKey();
-		fStore = action.getPreferenceStore();
-		fListener = new PreferenceUpdateListener();
-		connect();
-	}
-
-	public void connect() {
-		if (debug) {
-			System.out.println("PropertyChangeUpdateActionContributionItem started listening for " + fProperty);
-		}
-		if (fStore != null) {
-			fStore.addPropertyChangeListener(fListener);
-		}
-	}
-
-	public void disconnect() {
-		if (debug) {
-			System.out.println("PropertyChangeUpdateActionContributionItem stopped listening for " + fProperty);
-		}
-		if (fStore != null) {
-			fStore.removePropertyChangeListener(fListener);
-		}
-	}
-
-	public void dispose() {
-		super.dispose();
-		disconnect();
-		fProperty = null;
-		fStore = null;
-	}
-
-	public String toString() {
-		if (getAction().getId() != null)
-			return super.toString();
-		else
-			return getClass().getName() + "(text=" + getAction().getText() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/SourceEditorTreeViewer.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/SourceEditorTreeViewer.java
deleted file mode 100644
index 0a050fd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/SourceEditorTreeViewer.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.contentoutline;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.StructuredTextSelectionChangedEvent;
-
-
-public class SourceEditorTreeViewer extends TreeViewer {
-	private int fCaretPosition;
-	private ISelectionListener[] fInvalidSelectionListeners = null;
-
-	/**
-	 * SourceEditorTreeViewer constructor comment.
-	 * 
-	 * @param parent
-	 *            org.eclipse.swt.widgets.Composite
-	 */
-	public SourceEditorTreeViewer(Composite parent) {
-		super(parent);
-	}
-
-	/**
-	 * SourceEditorTreeViewer constructor comment.
-	 * 
-	 * @param tree
-	 *            org.eclipse.swt.widgets.Tree
-	 */
-	public SourceEditorTreeViewer(Tree tree) {
-		super(tree);
-	}
-
-	public synchronized void addInvalidSelectionListener(ISelectionListener listener) {
-		ISelectionListener[] newListeners = fInvalidSelectionListeners;
-		if (fInvalidSelectionListeners != null && fInvalidSelectionListeners.length > 0) {
-			List oldListeners = new ArrayList(Arrays.asList(fInvalidSelectionListeners));
-			if (!oldListeners.contains(listener)) {
-				oldListeners.add(listener);
-				newListeners = (ISelectionListener[]) oldListeners.toArray(new ISelectionListener[0]);
-			}
-		} else {
-			newListeners = new ISelectionListener[]{listener};
-		}
-		fInvalidSelectionListeners = newListeners;
-	}
-
-	/**
-	 * @param newSelection
-	 */
-	private void fireInvalidSelection(ISelection newSelection) {
-		if (fInvalidSelectionListeners != null) {
-			ISelectionListener[] listeners = fInvalidSelectionListeners;
-			for (int i = 0; i < listeners.length; i++) {
-				listeners[i].selectionChanged(null, newSelection);
-			}
-		}
-	}
-
-	protected void handleInvalidSelection(ISelection invalidSelection, ISelection newSelection) {
-		IStructuredModel model = (IStructuredModel) getInput();
-		Object selectedNode = model.getIndexedRegion(fCaretPosition);
-		if (selectedNode != null)
-			newSelection = new StructuredSelection(selectedNode);
-		// notify listeners that the TreeViewer has received an invalid
-		// selection
-		fireInvalidSelection(newSelection);
-		setSelectionToWidget(newSelection, true);
-		super.handleInvalidSelection(invalidSelection, newSelection);
-	}
-
-	protected void handleSelect(SelectionEvent event) {
-		// handle case where an earlier selection listener disposed the
-		// control.
-		Control control = getControl();
-		if (control != null && !control.isDisposed()) {
-			updateStructuredTextSelection(getSelection());
-		}
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer.
-	 */
-	public void internalRefresh(Object element) {
-		// If the input object is null just return.
-		if (element == null)
-			return;
-
-		// The following skip refresh logic tries to optimize performance of
-		// the content outliner.
-		// However, when there is a structure change to the model, even if the
-		// selection is the same
-		// we should refresh the tree in case the structure change is in the
-		// children of the current selection.
-		// The following logic commented out for 178731.
-		//
-		// Skip refresh if new selection equals old selection.
-		//org.eclipse.jface.viewers.ISelection selection = getSelection();
-		//if (selection instanceof
-		// org.eclipse.jface.viewers.IStructuredSelection)
-		//	if (((org.eclipse.jface.viewers.IStructuredSelection)
-		// selection).size() == 1)
-		//		if (((org.eclipse.jface.viewers.IStructuredSelection)
-		// selection).getFirstElement().equals(element))
-		//			return;
-
-		Widget item = findItem(element);
-		if (item != null) {
-			// pick up structure changes too
-			internalRefresh(item, element, true);
-		}
-	}
-
-	/**
-	 * Refreshes the tree starting at the given widget.
-	 * 
-	 * @param widget
-	 *            the widget
-	 * @param element
-	 *            the element
-	 * @param doStruct
-	 *            <code>true</code> if structural changes are to be picked
-	 *            up, and <code>false</code> if only label provider changes
-	 *            are of interest
-	 */
-	private void internalRefresh(Widget widget, Object element, boolean doStruct) {
-		// To avoid flashing, set repaint off while updating the tree.
-		//getControl().setRedraw(false);
-
-		if (widget instanceof Item) {
-			if (doStruct) {
-				updatePlus((Item) widget, element);
-			}
-			updateItem(widget, element);
-		}
-
-		if (doStruct) {
-			Object[] children = getSortedChildren(element);
-			updateChildren(widget, element, children);
-		}
-		// recurse
-		Item[] children = getChildren(widget);
-		if (children != null) {
-			for (int i = 0; i < children.length; i++) {
-				Widget item = children[i];
-				Object data = item.getData();
-				if (data != null)
-					internalRefresh(item, data, doStruct);
-			}
-		}
-
-		// The purpose of the following line of code was to minimize the
-		// number of items in the tree needed to be repainted.
-		// Expanding/collapsing the tree for the user is a little confusing.
-		// Also, with new improvements to cut down unnesessary
-		// notifications to the tree, this may not be needed.
-		//expandToLevel(element, 1);
-
-		//getControl().setRedraw(true);
-	}
-
-	public synchronized void removeInvalidSelectionListener(ISelectionListener listener) {
-		ISelectionListener[] newListeners = fInvalidSelectionListeners;
-		if (fInvalidSelectionListeners != null && fInvalidSelectionListeners.length > 1) {
-			List oldListeners = new ArrayList(Arrays.asList(fInvalidSelectionListeners));
-			if (oldListeners.contains(listener)) {
-				oldListeners.remove(listener);
-				newListeners = (ISelectionListener[]) oldListeners.toArray(new ISelectionListener[0]);
-			}
-		}
-		// there was only 1, remove the entire array
-		else {
-			newListeners = null;
-		}
-		fInvalidSelectionListeners = newListeners;
-	}
-
-	/**
-	 * Runs the given updateCode while selection changed notification is
-	 * turned off. This ensures that no selection changes are fired as a side
-	 * effect of updating the SWT control.
-	 */
-
-	/*
-	 * protected void preservingSelection(Runnable updateCode) { // This
-	 * method is overridden to get rid of the selection handling // that the
-	 * super classes do after the update. We have added our own // selection
-	 * handling in here. IStructuredModel model = (IStructuredModel)
-	 * getInput(); IndexedRegion node = null;
-	 * 
-	 * if (model != null) node = model.getIndexedRegion(fCaretPosition);
-	 * 
-	 * updateCode.run();
-	 * 
-	 * if (model != null) if (node == null) setSelection(new
-	 * StructuredSelection()); else setSelection(new
-	 * StructuredSelection(node)); }
-	 */
-	public void setCaretPosition(int caretPosition) {
-		fCaretPosition = caretPosition;
-	}
-
-	public void setSelection(ISelection selection, boolean reveal) {
-		if (reveal)
-			updateStructuredTextSelection(selection);
-
-		super.setSelection(selection, reveal);
-	}
-
-	protected void updateStructuredTextSelection(ISelection selection) {
-		SelectionChangedEvent event = new StructuredTextSelectionChangedEvent(this, selection);
-		fireSelectionChanged(event);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/StructuredContentOutlineConfiguration.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/StructuredContentOutlineConfiguration.java
deleted file mode 100644
index 0d92445..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/StructuredContentOutlineConfiguration.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.contentoutline;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.eclipse.wst.sse.ui.internal.Logger;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-
-public class StructuredContentOutlineConfiguration extends ContentOutlineConfiguration {
-	/**
-	 * Structured source files tend to have large/long tree structures. Add a
-	 * collapse action to help with navigation.
-	 */
-	protected class CollapseTreeAction extends Action {
-		private TreeViewer fTreeViewer = null;
-
-		public CollapseTreeAction(TreeViewer viewer) {
-			super(SSEUIPlugin.getResourceString("%StructuredContentOutlineConfiguration.0"), AS_PUSH_BUTTON); //$NON-NLS-1$
-			setImageDescriptor(COLLAPSE_E);
-			setDisabledImageDescriptor(COLLAPSE_D);
-			setToolTipText(getText());
-			fTreeViewer = viewer;
-		}
-
-		public void run() {
-			super.run();
-			fTreeViewer.collapseAll();
-		}
-	}
-
-	protected class ToggleLinkAction extends PropertyChangeUpdateAction {
-
-		public ToggleLinkAction(IPreferenceStore store, String preference) {
-			super(SSEUIPlugin.getResourceString("%StructuredContentOutlineConfiguration.1"), store, preference, true); //$NON-NLS-1$
-			setToolTipText(getText());
-			setDisabledImageDescriptor(SYNCED_D);
-			setImageDescriptor(SYNCED_E);
-			update();
-		}
-
-		public void update() {
-			super.update();
-			setLinkWithEditor(isChecked());
-		}
-	}
-
-	protected ImageDescriptor COLLAPSE_D = EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_DLCL_COLLAPSEALL);
-	protected ImageDescriptor COLLAPSE_E = EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_ELCL_COLLAPSEALL);
-
-	private StructuredTextEditor fEditor = null;
-
-	private boolean fIsLinkWithEditor = false;
-	private Map fMenuContributions = null;
-
-	private Map fToolbarContributions = null;
-
-	private final String OUTLINE_LINK_PREF = "outline-link-editor"; //$NON-NLS-1$
-
-	ImageDescriptor SYNCED_D = EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_DLCL_SYNCED);
-	ImageDescriptor SYNCED_E = EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_ELCL_SYNCED);
-
-	public StructuredContentOutlineConfiguration() {
-		super();
-	}
-
-	/**
-	 * @param viewer
-	 * @return
-	 */
-	protected IContributionItem[] createMenuContributions(TreeViewer viewer) {
-		IContributionItem[] items;
-		IContributionItem toggleLinkItem = new PropertyChangeUpdateActionContributionItem(new ToggleLinkAction(getPreferenceStore(), OUTLINE_LINK_PREF));
-		items = super.getMenuContributions(viewer);
-		if (items == null) {
-			items = new IContributionItem[]{toggleLinkItem};
-		}
-		else {
-			IContributionItem[] combinedItems = new IContributionItem[items.length + 1];
-			System.arraycopy(items, 0, combinedItems, 0, items.length);
-			combinedItems[items.length] = toggleLinkItem;
-			items = combinedItems;
-		}
-		return items;
-	}
-
-	protected IContributionItem[] createToolbarContributions(TreeViewer viewer) {
-		IContributionItem[] items;
-		IContributionItem collapseAllItem = new ActionContributionItem(new CollapseTreeAction(viewer));
-		items = super.getToolbarContributions(viewer);
-		if (items == null) {
-			items = new IContributionItem[]{collapseAllItem};
-		}
-		else {
-			IContributionItem[] combinedItems = new IContributionItem[items.length + 1];
-			System.arraycopy(items, 0, combinedItems, 0, items.length);
-			combinedItems[items.length] = collapseAllItem;
-			// combinedItems[items.length + 1] = toggleLinkItem;
-			items = combinedItems;
-		}
-		return items;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class key) {
-		Object adapter = null;
-		if (key.equals(IShowInSource.class)) {
-			adapter = new IShowInSource() {
-				public ShowInContext getShowInContext() {
-					return new ShowInContext(getEditor().getEditorInput(), getEditor().getSelectionProvider().getSelection());
-				}
-			};
-		}
-		else if (key.equals(IShowInTargetList.class)) {
-			adapter = getEditor().getAdapter(key);
-		}
-		else
-			adapter = super.getAdapter(key);
-		return adapter;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getDoubleClickListener(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public IDoubleClickListener getDoubleClickListener(TreeViewer viewer) {
-		return (ViewerSelectionManager) getEditor().getAdapter(ViewerSelectionManager.class);
-	}
-
-	/**
-	 * @return
-	 */
-	public StructuredTextEditor getEditor() {
-		return fEditor;
-	}
-
-	protected IJFaceNodeAdapterFactory getFactory() {
-		IFactoryRegistry factoryRegistry = getEditor().getModel().getFactoryRegistry();
-		IJFaceNodeAdapterFactory adapterFactory = (IJFaceNodeAdapterFactory) factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class);
-		if (adapterFactory == null) {
-			Logger.log(Logger.ERROR, "model has no JFace adapter factory"); //$NON-NLS-1$
-		}
-		return adapterFactory;
-	}
-
-	/**
-	 * @deprecated just use the preference key directly
-	 * @return
-	 */
-	protected String getLinkPreferenceKey() {
-		return OUTLINE_LINK_PREF;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getMenuContributions(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public final IContributionItem[] getMenuContributions(TreeViewer viewer) {
-		if (fMenuContributions == null) {
-			fMenuContributions = new HashMap();
-		}
-
-		IContributionItem[] items = (IContributionItem[]) fMenuContributions.get(viewer);
-		if (items == null) {
-			items = createMenuContributions(viewer);
-			fMenuContributions.put(viewer, items);
-		}
-		return items;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getSelectedNodes(org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent)
-	 */
-	public List getSelectedNodes(NodeSelectionChangedEvent event) {
-		if (isLinkedWithEditor())
-			return super.getSelectedNodes(event);
-		else
-			return null;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getSelectionChangedListener(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public ISelectionChangedListener getSelectionChangedListener(TreeViewer viewer) {
-		return (ViewerSelectionManager) getEditor().getAdapter(ViewerSelectionManager.class);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getToolbarContributions(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public final IContributionItem[] getToolbarContributions(TreeViewer viewer) {
-		if (fToolbarContributions == null) {
-			fToolbarContributions = new HashMap();
-		}
-
-		IContributionItem[] items = (IContributionItem[]) fToolbarContributions.get(viewer);
-		if (items == null) {
-			items = createToolbarContributions(viewer);
-			fToolbarContributions.put(viewer, items);
-		}
-		return items;
-	}
-
-	protected boolean isLinkedWithEditor() {
-		return fIsLinkWithEditor;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#isLinkedWithEditor(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public boolean isLinkedWithEditor(TreeViewer treeViewer) {
-		return isLinkedWithEditor();
-	}
-
-	/**
-	 * @param editor
-	 */
-	public void setEditor(StructuredTextEditor editor) {
-		fEditor = editor;
-	}
-
-	/**
-	 * @param isLinkWithEditor
-	 *            The isLinkWithEditor to set.
-	 */
-	protected void setLinkWithEditor(boolean isLinkWithEditor) {
-		fIsLinkWithEditor = isLinkWithEditor;
-	}
-
-	public void unconfigure(TreeViewer viewer) {
-		super.unconfigure(viewer);
-		IContributionItem[] items = (IContributionItem[]) fToolbarContributions.get(viewer);
-		if (items != null) {
-			for (int i = 0; i < items.length; i++) {
-				if (items[i] instanceof PropertyChangeUpdateActionContributionItem) {
-					((PropertyChangeUpdateActionContributionItem) items[i]).disconnect();
-				}
-			}
-			fToolbarContributions.remove(viewer);
-		}
-		items = (IContributionItem[]) fMenuContributions.get(viewer);
-		if (items != null) {
-			for (int i = 0; i < items.length; i++) {
-				if (items[i] instanceof PropertyChangeUpdateActionContributionItem) {
-					((PropertyChangeUpdateActionContributionItem) items[i]).disconnect();
-				}
-			}
-			fMenuContributions.remove(viewer);
-		}
-		fLabelProvider = null;
-		fContentProvider = null;
-	}
-
-	protected IPreferenceStore getPreferenceStore() {
-		return SSEUIPlugin.getInstance().getPreferenceStore();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/StructuredTextEditorContentOutlinePage.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/StructuredTextEditorContentOutlinePage.java
deleted file mode 100644
index 39d91ff..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/StructuredTextEditorContentOutlinePage.java
+++ /dev/null
@@ -1,576 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.contentoutline;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.util.DelegatingDragAdapter;
-import org.eclipse.jface.util.DelegatingDropAdapter;
-import org.eclipse.jface.util.TransferDragSourceListener;
-import org.eclipse.jface.util.TransferDropTargetListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.IShowInTarget;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.texteditor.IUpdate;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IModelStateListener;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.eclipse.wst.sse.ui.edit.util.ActiveEditorActionHandler;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.ITextSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.sse.ui.view.events.TextSelectionChangedEvent;
-
-
-public class StructuredTextEditorContentOutlinePage extends ContentOutlinePage implements INodeSelectionListener, ITextSelectionListener, IUpdate, IAdaptable {
-	/**
-	 * @deprecated
-	 */
-	// Disables Tree redraw during large model changes
-	protected class ControlRedrawEnabler implements IModelStateListener {
-		public void modelAboutToBeChanged(IStructuredModel model) {
-			setControlRedraw(false);
-		}
-
-		public void modelChanged(IStructuredModel model) {
-			setControlRedraw(true);
-		}
-
-		public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-		}
-
-		public void modelResourceDeleted(IStructuredModel model) {
-		}
-
-		public void modelResourceMoved(IStructuredModel originalmodel, IStructuredModel movedmodel) {
-		}
-
-		private void setControlRedraw(boolean doRedraw) {
-			// check if we're on a Display Thread
-			if (Display.getCurrent() != null) {
-				setRedraw(doRedraw);
-			}
-			else {
-				final boolean redrawOrNot = doRedraw;
-				Runnable modifyRedraw = new Runnable() {
-					public void run() {
-						setRedraw(redrawOrNot);
-					}
-				};
-				/*
-				 * This may not result in the enablement change happening
-				 * "soon enough", but better to do it later than to cause a
-				 * deadlock
-				 */
-				Display.getDefault().asyncExec(modifyRedraw);
-			}
-		}
-	}
-
-	class ShowInTarget implements IShowInTarget {
-		/*
-		 * @see org.eclipse.ui.part.IShowInTarget#show(org.eclipse.ui.part.ShowInContext)
-		 */
-		public boolean show(ShowInContext context) {
-			if (getViewerSelectionManager() == null) {
-				return false;
-			}
-			boolean shown = false;
-			List selectedNodes = getViewerSelectionManager().getSelectedNodes();
-			if (selectedNodes == null) {
-				selectedNodes = new ArrayList(0);
-			}
-			ISelection selection = new StructuredSelection(getConfiguration().getNodes(selectedNodes));
-			if (!selection.isEmpty()) {
-				setSelection(selection, true);
-				shown = selection.equals(fSelection);
-			}
-			return shown;
-		}
-	}
-
-	/*
-	 * Menu listener to create the additions group; required since the context
-	 * menu is cleared every time it is shown
-	 */
-	class AdditionGroupAdder implements IMenuListener {
-		public void menuAboutToShow(IMenuManager manager) {
-			IContributionItem[] items = manager.getItems();
-			if (items.length > 0 && items[items.length - 1].getId() != null) {
-				manager.insertAfter(items[items.length - 1].getId(), new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-			}
-			else {
-				manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-			}
-		}
-	}
-
-	protected static ContentOutlineConfiguration NULL_CONFIGURATION = new ContentOutlineConfiguration();
-	private TransferDragSourceListener[] fActiveDragListeners;
-	private TransferDropTargetListener[] fActiveDropListeners;
-	private ContentOutlineConfiguration fConfiguration;
-
-	private MenuManager fContextMenuManager;
-	private boolean fContextMenuRegistered = false;
-	private DelegatingDragAdapter fDragAdapter;
-	private DragSource fDragSource;
-	private DelegatingDropAdapter fDropAdapter;
-	private DropTarget fDropTarget;
-	protected IStructuredModel fModel;
-	// Current selection, maintained so selection doesn't bounce back from the
-	// Tree
-	ISelection fSelection;
-	protected SourceEditorTreeViewer fTreeViewer;
-	protected ViewerSelectionManager fViewerSelectionManager;
-	private IMenuListener fGroupAdder = null;
-
-	public StructuredTextEditorContentOutlinePage() {
-		super();
-		fSelection = StructuredSelection.EMPTY;
-		fGroupAdder = new AdditionGroupAdder();
-	}
-
-	/**
-	 * @see ContentOutlinePage#createControl
-	 */
-	public void createControl(Composite parent) {
-		fTreeViewer = new SourceEditorTreeViewer(new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL));
-		// create the context menu
-		fContextMenuManager = new MenuManager("#popup"); //$NON-NLS-1$
-		fContextMenuManager.setRemoveAllWhenShown(true);
-		Menu menu = fContextMenuManager.createContextMenu(fTreeViewer.getControl());
-		fTreeViewer.getControl().setMenu(menu);
-		fDragAdapter = new DelegatingDragAdapter();
-		fDragSource = new DragSource(fTreeViewer.getControl(), DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK);
-		fDropAdapter = new DelegatingDropAdapter();
-		fDropTarget = new DropTarget(fTreeViewer.getControl(), DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK);
-		setConfiguration(getConfiguration());
-		fTreeViewer.setInput(getModel());
-		IJFaceNodeAdapterFactory adapterFactory = getViewerRefreshFactory();
-		if (adapterFactory != null) {
-			adapterFactory.addListener(fTreeViewer);
-		}
-		// update local selection on invalid selection to prevent bounces
-		fTreeViewer.addInvalidSelectionListener(new ISelectionListener() {
-			public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-				fSelection = selection;
-			}
-		});
-		fTreeViewer.addPostSelectionChangedListener(this);
-	}
-
-	public void dispose() {
-		super.dispose();
-		// disconnect from the ViewerSelectionManager
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.removeNodeSelectionListener(this);
-		}
-		IJFaceNodeAdapterFactory adapterFactory = getViewerRefreshFactory();
-		if (adapterFactory != null) {
-			adapterFactory.removeListener(fTreeViewer);
-		}
-		setConfiguration(NULL_CONFIGURATION);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class key) {
-		Object adapter = getConfiguration().getAdapter(key);
-		if (adapter == null) {
-			if (key.equals(IShowInTarget.class)) {
-				adapter = new ShowInTarget();
-			}
-		}
-		return adapter;
-	}
-
-	/**
-	 * @return
-	 */
-	public ContentOutlineConfiguration getConfiguration() {
-		if (fConfiguration == null)
-			return NULL_CONFIGURATION;
-		return fConfiguration;
-	}
-
-	public Control getControl() {
-		if (getTreeViewer() == null)
-			return null;
-		return getTreeViewer().getControl();
-	}
-
-	/**
-	 * @return com.ibm.sed.treemodel.IStructuredModel
-	 */
-	protected IStructuredModel getModel() {
-		return fModel;
-	}
-
-	protected List getSelectedNodes(NodeSelectionChangedEvent event) {
-		return getConfiguration().getSelectedNodes(event);
-	}
-
-	public ISelection getSelection() {
-		if (getTreeViewer() == null)
-			return StructuredSelection.EMPTY;
-		return getTreeViewer().getSelection();
-	}
-
-	/**
-	 * Returns this page's tree viewer.
-	 * 
-	 * @return this page's tree viewer, or <code>null</code> if
-	 *         <code>createControl</code> has not been called yet
-	 */
-	protected TreeViewer getTreeViewer() {
-		return fTreeViewer;
-	}
-
-	protected IJFaceNodeAdapterFactory getViewerRefreshFactory() {
-		if (getModel() == null)
-			return null;
-		IFactoryRegistry factoryRegistry = getModel().getFactoryRegistry();
-		IJFaceNodeAdapterFactory adapterFactory = (IJFaceNodeAdapterFactory) factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class);
-		return adapterFactory;
-	}
-
-	/**
-	 * Returns this page's viewer selection manager.
-	 * 
-	 * @return this page's viewer selection manager, or <code>null</code> if
-	 *         <code>setViewerSelectionManager</code> has not been called
-	 *         yet
-	 */
-	public ViewerSelectionManager getViewerSelectionManager() {
-		return fViewerSelectionManager;
-	}
-
-	public void nodeSelectionChanged(NodeSelectionChangedEvent event) {
-		if (getTreeViewer() != null && getConfiguration().isLinkedWithEditor(getTreeViewer())) {
-			List selectedNodes = getSelectedNodes(event);
-			if (selectedNodes != null) {
-				StructuredSelection selection = new StructuredSelection(selectedNodes);
-				setSelection(selection);
-				int caretPosition = event.getCaretPosition();
-				((SourceEditorTreeViewer) getTreeViewer()).setCaretPosition(caretPosition);
-			}
-		}
-	}
-
-	void registerContextMenu() {
-		if (!fContextMenuRegistered && getTreeViewer() != null && getTreeViewer().getControl() != null) {
-			IWorkbenchPage page = getSite().getWorkbenchWindow().getActivePage();
-			if (page != null) {
-				IEditorPart ownerEditor = page.getActiveEditor();
-				if (ownerEditor != null) {
-					fContextMenuRegistered = true;
-					getSite().registerContextMenu(ownerEditor.getEditorSite().getId() + "#outlinecontext", fContextMenuManager, this);
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.contentoutline.ContentOutlinePage#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		if (!fSelection.equals(event.getSelection())) {
-			super.selectionChanged(event);
-		}
-	}
-
-	public void setActionBars(IActionBars actionBars) {
-		super.setActionBars(actionBars);
-		getSite().getActionBars().setGlobalActionHandler(ActionFactory.UNDO.getId(), new ActiveEditorActionHandler(getSite(), ActionFactory.UNDO.getId()));
-		getSite().getActionBars().setGlobalActionHandler(ActionFactory.REDO.getId(), new ActiveEditorActionHandler(getSite(), ActionFactory.REDO.getId()));
-	}
-
-	/**
-	 * @param configuration
-	 */
-	public void setConfiguration(ContentOutlineConfiguration configuration) {
-		// intentionally do not check to see if the new configuration != old
-		// configuration
-		if (fTreeViewer != null) {
-			// remove the key listeners
-			if (fTreeViewer.getControl() != null && !fTreeViewer.getControl().isDisposed()) {
-				KeyListener[] listeners = getConfiguration().getKeyListeners(fTreeViewer);
-				for (int i = 0; i < listeners.length; i++) {
-					fTreeViewer.getControl().removeKeyListener(listeners[i]);
-				}
-			}
-			// remove any menu listeners
-			if (fContextMenuManager != null) {
-				IMenuListener listener = getConfiguration().getMenuListener(fTreeViewer);
-				if (listener != null)
-					fContextMenuManager.removeMenuListener(listener);
-				fContextMenuManager.removeMenuListener(fGroupAdder);
-			}
-			// clear the selection changed and double click listeners from the
-			// configuration
-			if (getConfiguration().getSelectionChangedListener(fTreeViewer) != null)
-				removeSelectionChangedListener(getConfiguration().getSelectionChangedListener(fTreeViewer));
-			if (getConfiguration().getDoubleClickListener(fTreeViewer) != null)
-				fTreeViewer.removeDoubleClickListener(getConfiguration().getDoubleClickListener(fTreeViewer));
-			IContributionItem[] toolbarItems = getConfiguration().getToolbarContributions(fTreeViewer);
-			if (toolbarItems.length > 0 && getSite() != null && getSite().getActionBars() != null && getSite().getActionBars().getToolBarManager() != null) {
-				IContributionManager toolbar = getSite().getActionBars().getToolBarManager();
-				for (int i = 0; i < toolbarItems.length; i++) {
-					toolbar.remove(toolbarItems[i]);
-				}
-				toolbar.update(false);
-			}
-			IContributionItem[] menuItems = getConfiguration().getMenuContributions(fTreeViewer);
-			if (menuItems.length > 0 && getSite().getActionBars().getMenuManager() != null) {
-				IContributionManager menubar = getSite().getActionBars().getMenuManager();
-				for (int i = 0; i < menuItems.length; i++) {
-					menubar.remove(menuItems[i]);
-				}
-				menubar.remove(IWorkbenchActionConstants.MB_ADDITIONS);
-				menubar.update(false);
-			}
-			// clear the DnD listeners and transfer types
-			if (fDragAdapter != null && !fDragAdapter.isEmpty() && !fDragSource.isDisposed() && fDragSource.getTransfer().length > 0) {
-				if (fActiveDragListeners != null) {
-					for (int i = 0; i < fActiveDragListeners.length; i++) {
-						fDragAdapter.removeDragSourceListener(fActiveDragListeners[i]);
-					}
-				}
-				fActiveDragListeners = null;
-				fDragSource.removeDragListener(fDragAdapter);
-				fDragSource.setTransfer(new Transfer[0]);
-			}
-			if (fDropAdapter != null && !fDropAdapter.isEmpty() && !fDropTarget.isDisposed() && fDropTarget.getTransfer().length > 0) {
-				if (fActiveDropListeners != null) {
-					for (int i = 0; i < fActiveDropListeners.length; i++) {
-						fDropAdapter.removeDropTargetListener(fActiveDropListeners[i]);
-					}
-				}
-				fActiveDropListeners = null;
-				fDropTarget.removeDropListener(fDropAdapter);
-				fDropTarget.setTransfer(new Transfer[0]);
-			}
-			// release any ties to this tree viewer
-			getConfiguration().unconfigure(fTreeViewer);
-		}
-
-		fConfiguration = configuration;
-		if (fConfiguration == null)
-			fConfiguration = NULL_CONFIGURATION;
-		fSelection = StructuredSelection.EMPTY;
-
-		if (fTreeViewer != null && fTreeViewer.getControl() != null && !fTreeViewer.getControl().isDisposed()) {
-			// add a menu listener if one is provided
-			IMenuListener listener = getConfiguration().getMenuListener(fTreeViewer);
-			if (listener != null)
-				fContextMenuManager.addMenuListener(listener);
-			fContextMenuManager.addMenuListener(fGroupAdder);
-			// (re)set the providers
-			fTreeViewer.setLabelProvider(getConfiguration().getLabelProvider(fTreeViewer));
-			fTreeViewer.setContentProvider(getConfiguration().getContentProvider(fTreeViewer));
-			if (getConfiguration().getSelectionChangedListener(fTreeViewer) != null)
-				addSelectionChangedListener(getConfiguration().getSelectionChangedListener(fTreeViewer));
-			if (getConfiguration().getDoubleClickListener(fTreeViewer) != null)
-				fTreeViewer.addDoubleClickListener(getConfiguration().getDoubleClickListener(fTreeViewer));
-
-			// view toolbar
-			IContributionItem[] toolbarItems = getConfiguration().getToolbarContributions(fTreeViewer);
-			if (toolbarItems.length > 0 && getSite() != null && getSite().getActionBars() != null && getSite().getActionBars().getToolBarManager() != null) {
-				IContributionManager toolbar = getSite().getActionBars().getToolBarManager();
-				for (int i = 0; i < toolbarItems.length; i++) {
-					toolbar.add(toolbarItems[i]);
-				}
-				toolbar.update(true);
-			}
-			// view menu
-			IContributionManager menu = getSite().getActionBars().getMenuManager();
-			if (menu != null) {
-				IContributionItem[] menuItems = getConfiguration().getMenuContributions(fTreeViewer);
-				if (menuItems.length > 0) {
-					for (int i = 0; i < menuItems.length; i++) {
-						menuItems[i].setVisible(true);
-						menu.add(menuItems[i]);
-						menuItems[i].update();
-					}
-					menu.update(true);
-				}
-			}
-			// add the allowed DnD listeners and types
-			TransferDragSourceListener[] dragListeners = fConfiguration.getTransferDragSourceListeners(fTreeViewer);
-			if (fDragAdapter != null && dragListeners.length > 0) {
-				for (int i = 0; i < dragListeners.length; i++) {
-					fDragAdapter.addDragSourceListener(dragListeners[i]);
-				}
-				fActiveDragListeners = dragListeners;
-				fDragSource.addDragListener(fDragAdapter);
-				fDragSource.setTransfer(fDragAdapter.getTransfers());
-			}
-			TransferDropTargetListener[] dropListeners = fConfiguration.getTransferDropTargetListeners(fTreeViewer);
-			if (fDropAdapter != null && dropListeners.length > 0) {
-				for (int i = 0; i < dropListeners.length; i++) {
-					fDropAdapter.addDropTargetListener(dropListeners[i]);
-				}
-				fActiveDropListeners = dropListeners;
-				fDropTarget.addDropListener(fDropAdapter);
-				fDropTarget.setTransfer(fDropAdapter.getTransfers());
-			}
-			// add the key listeners
-			KeyListener[] listeners = getConfiguration().getKeyListeners(fTreeViewer);
-			for (int i = 0; i < listeners.length; i++) {
-				fTreeViewer.getControl().addKeyListener(listeners[i]);
-			}
-		}
-		registerContextMenu();
-	}
-
-	/**
-	 * Sets focus to a part in the page.
-	 */
-	public void setFocus() {
-		getTreeViewer().getControl().setFocus();
-	}
-
-	/**
-	 * Sets the input of the outline page
-	 */
-	public void setModel(IStructuredModel newModel) {
-		if (newModel != fModel) {
-			// if (fModel != null) {
-			// fModel.removeModelStateListener(fInternalModelStateListener);
-			// }
-			IJFaceNodeAdapterFactory adapterFactory = getViewerRefreshFactory();
-			if (adapterFactory != null) {
-				adapterFactory.removeListener(fTreeViewer);
-			}
-			fModel = newModel;
-			if (getTreeViewer() != null && getControl() != null && !getControl().isDisposed()) {
-				setConfiguration(getConfiguration());
-				fTreeViewer.setInput(fModel);
-				update();
-			}
-			// fModel.addModelStateListener(fInternalModelStateListener);
-			adapterFactory = getViewerRefreshFactory();
-			if (adapterFactory != null) {
-				adapterFactory.addListener(fTreeViewer);
-			}
-		}
-	}
-
-	void setRedraw(boolean doRedraw) {
-		Control control = getControl();
-		if ((control != null) && (!control.isDisposed())) {
-			control.setRedraw(doRedraw);
-		}
-	}
-
-	public void setSelection(ISelection selection) {
-		setSelection(selection, getConfiguration().isLinkedWithEditor(getTreeViewer()));
-	}
-
-	protected void setSelection(ISelection selection, boolean reveal) {
-		if (getTreeViewer() != null && selection instanceof IStructuredSelection) {
-			/**
-			 * Selection sent to the Tree widget comes back as a
-			 * selectionChanged event. To avoid bouncing an externally set
-			 * selection back to our listeners, track the last selection that
-			 * originated elsewhere so we can skip sending it back out. If
-			 * selection came from the Tree widget (by user interaction), it
-			 * will be different.
-			 */
-			if (!fSelection.equals(selection)) {
-				if (selection == null || ((IStructuredSelection) selection).getFirstElement() == null) {
-					fSelection = StructuredSelection.EMPTY;
-				}
-				else {
-					fSelection = selection;
-				}
-				getTreeViewer().setSelection(fSelection, reveal);
-			}
-		}
-	}
-
-	public void setViewerSelectionManager(ViewerSelectionManager viewerSelectionManager) {
-		// disconnect from old one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.removeNodeSelectionListener(this);
-			fViewerSelectionManager.removeTextSelectionListener(this);
-		}
-		fViewerSelectionManager = viewerSelectionManager;
-		// connect to new one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.addNodeSelectionListener(this);
-			fViewerSelectionManager.addTextSelectionListener(this);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.view.events.ITextSelectionListener#textSelectionChanged(org.eclipse.wst.sse.ui.view.events.TextSelectionChangedEvent)
-	 */
-	public void textSelectionChanged(TextSelectionChangedEvent event) {
-		if (getConfiguration().isLinkedWithEditor(getTreeViewer())) {
-			int caretPosition = event.getTextSelectionStart();
-			((SourceEditorTreeViewer) getTreeViewer()).setCaretPosition(caretPosition);
-		}
-	}
-
-	/**
-	 * redraws the tree
-	 */
-	public void update() {
-		if (getTreeViewer() != null) {
-			Control control = getTreeViewer().getControl();
-			control.setRedraw(false);
-			getTreeViewer().refresh();
-			control.setRedraw(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/ConfigurablePropertySheetPage.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/ConfigurablePropertySheetPage.java
deleted file mode 100644
index f0554cd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/ConfigurablePropertySheetPage.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.properties;
-
-import java.util.List;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.views.properties.IPropertySheetEntry;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.eclipse.wst.sse.ui.edit.util.ActiveEditorActionHandler;
-import org.eclipse.wst.sse.ui.internal.properties.RemoveAction;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapterFactory;
-
-
-/**
- * A configurable IPropertySheetPage since the standard PropertySheetPage does
- * not expose its viewer field.
- */
-
-public class ConfigurablePropertySheetPage extends PropertySheetPage implements INodeSelectionListener {
-
-	private PropertySheetConfiguration fConfiguration;
-	// has the widget been created?
-	private boolean fIsRealized = false;
-	private IMenuManager fMenuManager;
-
-	protected PageBook fParentPageBook = null;
-	// are we refreshing the contents?
-	protected boolean fRefreshing = false;
-
-	protected RemoveAction fRemoveAction;
-	private IStatusLineManager fStatusLineManager;
-
-	protected IStructuredModel fStructuredModel = null;
-	private IToolBarManager fToolBarManager;
-
-	private ViewerSelectionManager fViewerSelectionManager;
-
-	private final PropertySheetConfiguration NULL_CONFIGURATION = new PropertySheetConfiguration();
-
-	public ConfigurablePropertySheetPage() {
-		super();
-	}
-
-	public void createControl(Composite parent) {
-		setPropertySourceProvider(getConfiguration().getPropertySourceProvider());
-		super.createControl(parent);
-		if (parent instanceof PageBook)
-			fParentPageBook = (PageBook) parent;
-	}
-
-	public void dispose() {
-		// disconnect from the ViewerSelectionManager
-		if (getViewerSelectionManager() != null) {
-			getViewerSelectionManager().removeNodeSelectionListener(this);
-		}
-		setModel(null);
-		setConfiguration(null);
-		super.dispose();
-	}
-
-	/**
-	 * @return
-	 */
-	public PropertySheetConfiguration getConfiguration() {
-		if (fConfiguration == null)
-			fConfiguration = NULL_CONFIGURATION;
-		return fConfiguration;
-	}
-
-	public IStructuredModel getModel() {
-		return fStructuredModel;
-	}
-
-	protected IJFaceNodeAdapterFactory getViewerRefreshFactory() {
-		if (getModel() == null)
-			return null;
-		IFactoryRegistry factoryRegistry = getModel().getFactoryRegistry();
-		IJFaceNodeAdapterFactory adapterFactory = (IJFaceNodeAdapterFactory) factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class);
-		return adapterFactory;
-	}
-
-	/**
-	 * @return Returns the viewerSelectionManager.
-	 */
-	public ViewerSelectionManager getViewerSelectionManager() {
-		return fViewerSelectionManager;
-	}
-
-	/*
-	 * @see PropertySheetPage#handleEntrySelection(ISelection)
-	 */
-	public void handleEntrySelection(ISelection selection) {
-		// Useful for enabling/disabling actions based on the
-		// selection (or lack thereof). Also, ensure that the
-		// control exists before sending selection to it.
-		if (fIsRealized && selection != null) {
-			super.handleEntrySelection(selection);
-			fRemoveAction.setEnabled(!selection.isEmpty());
-			//			if (selection != null && !selection.isEmpty() && selection
-			// instanceof IStructuredSelection) {
-			//				IPropertySheetEntry entry = (IPropertySheetEntry)
-			// ((IStructuredSelection) selection).getFirstElement();
-			//			}
-		}
-	}
-
-	/**
-	 * @return Returns the isRealized.
-	 */
-	public boolean isRealized() {
-		return fIsRealized;
-	}
-
-	public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
-		super.makeContributions(menuManager, toolBarManager, statusLineManager);
-		fMenuManager = menuManager;
-		fToolBarManager = toolBarManager;
-		fStatusLineManager = statusLineManager;
-
-		fRemoveAction = new RemoveAction(this);
-		toolBarManager.add(fRemoveAction);
-		menuManager.add(fRemoveAction);
-		getConfiguration().addContributions(menuManager, toolBarManager, statusLineManager);
-
-		menuManager.update(true);
-		fIsRealized = true;
-	}
-
-	public void nodeSelectionChanged(NodeSelectionChangedEvent event) {
-		selectionChanged(null, new StructuredSelection(event.getSelectedNodes()));
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.PropertySheetPage#refresh()
-	 */
-	public void refresh() {
-		/**
-		 * Avoid refreshing the property sheet if it is already doing so. A
-		 * refresh can prompt an active cell editor to close, applying the
-		 * value and altering the selected node. In that case, a loop could
-		 * occur.
-		 */
-
-		if (!fRefreshing) {
-			fRefreshing = true;
-			super.refresh();
-			fRefreshing = false;
-		} else {
-			// detected a loop in the property sheet (shouldn't happen)
-		}
-	}
-
-	public void remove() {
-		if (getControl() instanceof TableTree) {
-			TableTreeItem[] items = ((TableTree) getControl()).getSelection();
-			List selectedNodes = getViewerSelectionManager().getSelectedNodes();
-			if (items != null && items.length == 1 && selectedNodes != null) {
-				Object data = items[0].getData();
-				if (data instanceof IPropertySheetEntry) {
-					IPropertySheetEntry entry = (IPropertySheetEntry) data;
-					ISelection selection = getConfiguration().getSelection(null, new StructuredSelection(selectedNodes));
-					if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
-						IPropertySource source = getConfiguration().getPropertySourceProvider().getPropertySource(((IStructuredSelection) selection).getFirstElement());
-						if (source != null && source instanceof IPropertySourceExtension) {
-							((IPropertySourceExtension) source).removeProperty(entry.getDisplayName());
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		super.selectionChanged(part, getConfiguration().getSelection(part, selection));
-	}
-
-	public void setActionBars(IActionBars actionBars) {
-		super.setActionBars(actionBars);
-		getSite().getActionBars().setGlobalActionHandler(ActionFactory.UNDO.getId(), new ActiveEditorActionHandler(getSite(), ActionFactory.UNDO.getId()));
-		getSite().getActionBars().setGlobalActionHandler(ActionFactory.REDO.getId(), new ActiveEditorActionHandler(getSite(), ActionFactory.REDO.getId()));
-	}
-
-	/**
-	 * @param configuration
-	 *            The configuration to set.
-	 */
-	public void setConfiguration(PropertySheetConfiguration configuration) {
-		if (fConfiguration != null && isRealized()) {
-			fConfiguration.removeContributions(fMenuManager, fToolBarManager, fStatusLineManager);
-			fConfiguration.unconfigure();
-		}
-
-		fConfiguration = configuration;
-
-		if (fConfiguration != null) {
-			setPropertySourceProvider(fConfiguration.getPropertySourceProvider());
-			if (isRealized())
-				fConfiguration.addContributions(fMenuManager, fToolBarManager, fStatusLineManager);
-		}
-	}
-
-	/**
-	 * Asks this page to take focus within its pagebook view.
-	 */
-	public void setFocus() {
-		super.setFocus();
-		if (fParentPageBook != null)
-			fParentPageBook.showPage(getControl());
-	}
-
-	/**
-	 * Sets the model.
-	 * 
-	 * @param model
-	 *            The model to set
-	 */
-	public void setModel(IStructuredModel model) {
-		if (model != fStructuredModel) {
-			IJFaceNodeAdapterFactory refresher = getViewerRefreshFactory();
-			if (refresher != null)
-				refresher.removeListener(this);
-			fStructuredModel = model;
-			refresher = getViewerRefreshFactory();
-			if (refresher != null)
-				refresher.addListener(this);
-		}
-	}
-
-	public void setViewerSelectionManager(ViewerSelectionManager viewerSelectionManager) {
-		// disconnect from old one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.removeNodeSelectionListener(this);
-		}
-
-		fViewerSelectionManager = viewerSelectionManager;
-
-		// connect to new one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.addNodeSelectionListener(this);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/CustomPropertyDescriptor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/CustomPropertyDescriptor.java
deleted file mode 100644
index 155608f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/CustomPropertyDescriptor.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.properties;
-
-
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-public class CustomPropertyDescriptor extends PropertyDescriptor {
-
-	protected Class cellEditorClass = null;
-
-	/**
-	 * Returns a property descriptor with a unique name and a display name.
-	 * 
-	 * @param id
-	 *            the id for the property
-	 * @param displayName
-	 *            the name to display for the property
-	 */
-	public CustomPropertyDescriptor(Object id, String newDisplayName, Class editorClass) {
-		super(id, newDisplayName);
-		setDescription((String) id);
-		setCellEditorClass(editorClass);
-	}
-
-	/**
-	 * Returns a property descriptor with a unique name and a display name.
-	 * 
-	 * @param uniqueName
-	 *            the unique name of the property
-	 * @param displayName
-	 *            the name to display for the property
-	 */
-	public CustomPropertyDescriptor(String uniqueName, String newDisplayName) {
-		this(uniqueName, newDisplayName, TextCellEditor.class);
-	}
-
-	public CellEditor createPropertyEditor(Composite parent) {
-		return getPropertyEditor(parent);
-	}
-
-	public Class getCellEditorClass() {
-		return cellEditorClass;
-	}
-
-	/**
-	 * Returns the editor used to edit the property.
-	 * 
-	 * @return an editor for the property
-	 */
-	protected CellEditor getPropertyEditor(Composite parent) {
-		if (getCellEditorClass() == null)
-			return null;
-
-		java.lang.reflect.Constructor constructor = null;
-		try {
-			constructor = getCellEditorClass().getDeclaredConstructor(new Class[]{Composite.class});
-		} catch (NoSuchMethodException nsme) {
-			return new TextCellEditor(parent);
-		}
-		if (constructor != null) {
-			try {
-				return (CellEditor) constructor.newInstance(new Object[]{parent});
-			} catch (InstantiationException ie) {
-			} catch (java.lang.reflect.InvocationTargetException ite) {
-			} catch (IllegalAccessException iae) {
-			}
-		}
-		return new TextCellEditor(parent);
-	}
-
-	public void setCellEditorClass(Class newCellEditorClass) {
-		cellEditorClass = newCellEditorClass;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/IPropertySourceExtension.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/IPropertySourceExtension.java
deleted file mode 100644
index fc67566..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/IPropertySourceExtension.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.properties;
-
-import org.eclipse.ui.views.properties.IPropertySource;
-
-public interface IPropertySourceExtension extends IPropertySource {
-	void removeProperty(Object propertyObject);
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/PropertySheetConfiguration.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/PropertySheetConfiguration.java
deleted file mode 100644
index 74bf39c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/PropertySheetConfiguration.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.properties;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.IPropertySourceProvider;
-import org.eclipse.wst.sse.ui.extension.IExtendedConfiguration;
-
-
-/**
- * Configuration class for Property Sheet Pages. Not finalized.
- * 
- * @author Nitin Dahyabhai
- */
-
-public class PropertySheetConfiguration implements IExtendedConfiguration {
-
-	private class NullPropertySource implements IPropertySource {
-		private final IPropertyDescriptor[] descriptors = new IPropertyDescriptor[0];
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-		 */
-		public Object getEditableValue() {
-			return null;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-		 */
-		public IPropertyDescriptor[] getPropertyDescriptors() {
-			return descriptors;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-		 */
-		public Object getPropertyValue(Object id) {
-			return ""; //$NON-NLS-1$
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-		 */
-		public boolean isPropertySet(Object id) {
-			return false;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-		 */
-		public void resetPropertyValue(Object id) {
-			// do nothing
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object,
-		 *      java.lang.Object)
-		 */
-		public void setPropertyValue(Object id, Object value) {
-			// do nothing
-		}
-	}
-
-	private class NullPropertySourceProvider implements IPropertySourceProvider {
-		private IPropertySource fNullPropertySource = null;
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.views.properties.IPropertySourceProvider#getPropertySource(java.lang.Object)
-		 */
-		public IPropertySource getPropertySource(Object object) {
-			if (fNullPropertySource == null)
-				fNullPropertySource = new NullPropertySource();
-			return fNullPropertySource;
-		}
-	}
-
-	public static final String ID = "propertysheetconfiguration"; //$NON-NLS-1$
-
-	private String fDeclaringID;
-
-	private IEditorPart fEditor;
-	protected IPropertySourceProvider fPropertySourceProvider = null;
-
-	public PropertySheetConfiguration() {
-		super();
-	}
-
-	public void addContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
-		// do nothing
-	}
-
-	/**
-	 * @return
-	 */
-	protected IPropertySourceProvider createPropertySourceProvider() {
-		return new NullPropertySourceProvider();
-	}
-
-	/**
-	 * @return Returns the declaringID.
-	 */
-	public String getDeclaringID() {
-		return fDeclaringID;
-	}
-
-	/**
-	 * @return Returns the editor.
-	 */
-	public IEditorPart getEditor() {
-		return fEditor;
-	}
-
-	/**
-	 * Returns the correct IPropertySourceProvider
-	 */
-	public IPropertySourceProvider getPropertySourceProvider() {
-		if (fPropertySourceProvider == null)
-			fPropertySourceProvider = createPropertySourceProvider();
-		return fPropertySourceProvider;
-	}
-
-	/**
-	 * Allows for filteration of selection before being sent to the viewer
-	 * 
-	 * @param selectingPart -
-	 *            may be null
-	 * @param selection
-	 * @return
-	 */
-	public ISelection getSelection(IWorkbenchPart selectingPart, ISelection selection) {
-		return selection;
-	}
-
-	public void removeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
-		// do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extension.IExtendedConfiguration#setDeclaringID(java.lang.String)
-	 */
-	public void setDeclaringID(String declaringID) {
-		fDeclaringID = declaringID;
-	}
-
-	/**
-	 * @param editor
-	 *            The editor to set.
-	 */
-	public void setEditor(IEditorPart editor) {
-		fEditor = editor;
-	}
-
-	public void unconfigure() {
-		// do nothing
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/StructuredPropertySheetConfiguration.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/StructuredPropertySheetConfiguration.java
deleted file mode 100644
index a629743..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/StructuredPropertySheetConfiguration.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.views.properties;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.views.properties.IPropertySourceProvider;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.internal.properties.AdapterPropertySourceProvider;
-
-
-/**
- * A PropertySheetConfiguration appropriate for StructuredTextEditors and
- * StructuredModels
- */
-public class StructuredPropertySheetConfiguration extends PropertySheetConfiguration {
-	protected IStructuredModel fModel;
-
-	/**
-	 *  
-	 */
-	public StructuredPropertySheetConfiguration() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.properties.PropertySheetConfiguration#createPropertySourceProvider()
-	 */
-	protected IPropertySourceProvider createPropertySourceProvider() {
-		return new AdapterPropertySourceProvider();
-	}
-
-	/**
-	 * @return Returns the model.
-	 */
-	public IStructuredModel getModel() {
-		return fModel;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.properties.PropertySheetConfiguration#getSelection(org.eclipse.jface.viewers.ISelection,
-	 *      org.eclipse.ui.IWorkbenchPart)
-	 */
-	public ISelection getSelection(IWorkbenchPart selectingPart, ISelection selection) {
-		ISelection preferredSelection = selection;
-		if (selection instanceof ITextSelection && fModel != null) {
-			// on text selection, find the appropriate IndexedRegion
-			ITextSelection textSel = (ITextSelection) selection;
-			Object inode = getModel().getIndexedRegion(textSel.getOffset());
-			if (inode != null) {
-				preferredSelection = new StructuredSelection(inode);
-			}
-		} else if (selection instanceof IStructuredSelection) {
-			// don't support more than one selected node
-			if (((IStructuredSelection) selection).size() > 1)
-				preferredSelection = StructuredSelection.EMPTY;
-		}
-		return preferredSelection;
-	}
-
-	/**
-	 * @return
-	 */
-	public void setEditor(IEditorPart editor) {
-		super.setEditor(editor);
-		IStructuredModel model = null;
-		if (editor != null) {
-			ITextEditor textEditor = null;
-			if (editor instanceof ITextEditor)
-				textEditor = (ITextEditor) editor;
-			else
-				textEditor = (ITextEditor) editor.getAdapter(ITextEditor.class);
-			if (textEditor != null) {
-				IDocument document = textEditor.getDocumentProvider().getDocument(editor.getEditorInput());
-				if (document != null)
-					model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-				else
-					model = null;
-			}
-		}
-		// as long as the editor remains valid, we won't be the last reference
-		// to this model
-		if (fModel != null)
-			fModel.releaseFromRead();
-		fModel = model;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.properties.PropertySheetConfiguration#unconfigure()
-	 */
-	public void unconfigure() {
-		super.unconfigure();
-		setEditor(null);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/testToc.xml b/bundles/org.eclipse.wst.sse.ui/testToc.xml
deleted file mode 100644
index 6142b90..0000000
--- a/bundles/org.eclipse.wst.sse.ui/testToc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc
-	label="Test TOC"
-	topic="html/toc.html">
-	<link toc="toc.xml" />
-</toc>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.sse.ui/toc.xml b/bundles/org.eclipse.wst.sse.ui/toc.xml
deleted file mode 100644
index a5c0bb6..0000000
--- a/bundles/org.eclipse.wst.sse.ui/toc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Sample Table of Contents">
-	<topic
-		label="Main Topic"
-		href="html/maintopic.html">
-		<topic
-			label="Sub Topic"
-			href="html/subtopic.html" />
-	</topic>
-	<topic label="Main Topic 2" />
-</toc>
diff --git a/bundles/org.eclipse.wst.xml.core/.classpath b/bundles/org.eclipse.wst.xml.core/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.wst.xml.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xml.core/.compatibility b/bundles/org.eclipse.wst.xml.core/.compatibility
deleted file mode 100644
index 750d7dd..0000000
--- a/bundles/org.eclipse.wst.xml.core/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=12259

diff --git a/bundles/org.eclipse.wst.xml.core/.cvsignore b/bundles/org.eclipse.wst.xml.core/.cvsignore
deleted file mode 100644
index 25ec663..0000000
--- a/bundles/org.eclipse.wst.xml.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-temp.folder
-build.xml
-xmlmodel.jar
-org.eclipse.wst.xml.core_1.0.0.jar
diff --git a/bundles/org.eclipse.wst.xml.core/.options b/bundles/org.eclipse.wst.xml.core/.options
deleted file mode 100644
index e80df84..0000000
--- a/bundles/org.eclipse.wst.xml.core/.options
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.wst.xml.core/debug=true
-org.eclipse.wst.xml.core/debug/tracefilter=
diff --git a/bundles/org.eclipse.wst.xml.core/.project b/bundles/org.eclipse.wst.xml.core/.project
deleted file mode 100644
index c417514..0000000
--- a/bundles/org.eclipse.wst.xml.core/.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/bundles/org.eclipse.wst.xml.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xml.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 17dbb7d..0000000
--- a/bundles/org.eclipse.wst.xml.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jan 12 13:50:52 EST 2005

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=ignore

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=error

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=ignore

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=ignore

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=ignore

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=enabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/bundles/org.eclipse.wst.xml.core/README.txt b/bundles/org.eclipse.wst.xml.core/README.txt
deleted file mode 100644
index ffa6466..0000000
--- a/bundles/org.eclipse.wst.xml.core/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-THe XML specific model implementation.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.core/build.properties b/bundles/org.eclipse.wst.xml.core/build.properties
deleted file mode 100644
index 8441d64..0000000
--- a/bundles/org.eclipse.wst.xml.core/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-bin.includes = plugin.xml,\
-               *.jar,\
-               xml.jar,\
-               .options,\
-               extensions.xml,\
-               plugin.properties
-src.includes = plugin.xml,\
-               plugin.properties,\
-               extensions.xml,\
-               build.xml,\
-               .options
-source.xmlmodel.jar = src/
diff --git a/bundles/org.eclipse.wst.xml.core/plugin.properties b/bundles/org.eclipse.wst.xml.core/plugin.properties
deleted file mode 100644
index 8c6b4b2..0000000
--- a/bundles/org.eclipse.wst.xml.core/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-providerName=Eclipse.org
-pluginName=Structured Source XML Model
-nlFeatureName=Structured Source XML Model NL Support
-Structured_XML_Document_Factory_Extension.name=Structured XML Document Factory Extension
-XML_Content_Type_Extension_Element.name=XML Content Type
diff --git a/bundles/org.eclipse.wst.xml.core/plugin.xml b/bundles/org.eclipse.wst.xml.core/plugin.xml
deleted file mode 100644
index 38fe440..0000000
--- a/bundles/org.eclipse.wst.xml.core/plugin.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.xml.core"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.wst.xml.core.internal.XMLCorePlugin">
-
-   <runtime>
-      <library name="xmlmodel.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.wst.common.encoding"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.wst.common.contentmodel"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.wst.xml.uriresolver"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.wst.sse.core.modelHandler">
-      <modelHandler
-            default="true"
-            class="org.eclipse.wst.xml.core.modelhandler.ModelHandlerForXML"
-            associatedContentTypeId="org.eclipse.core.runtime.xml"
-            id="org.eclipse.wst.xml.core.modelhandler">
-      </modelHandler>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.core.embeddedTypeHandler">
-      <embeddedTypeHandler
-            class="org.eclipse.wst.xml.core.modelhandler.EmbeddedXML">
-      </embeddedTypeHandler>
-   </extension>
-   
-   <extension
-         id="org.eclipse.wst.xml.core.builderdelegate.todo"
-         point="org.eclipse.wst.sse.core.builderdelegate">
-      <participant
-            class="org.eclipse.wst.xml.core.builder.delegates.XMLTaskTagSeeker"
-            contentType="org.eclipse.core.runtime.xml,org.eclipse.wst.xml.core.xmlsource">
-      </participant>
-   </extension>
-   
-   <extension point="org.eclipse.core.filebuffers.documentCreation"
-         id="org.eclipse.wst.xml.core.documentfactories"
-         name="%Structured_XML_Document_Factory_Extension.name">
-      <factory
-            contentTypeId="org.eclipse.core.runtime.xml"
-            class="org.eclipse.wst.sse.core.filebuffers.BasicStructuredDocumentFactory"/>
-   </extension>
-	
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            type="text"
-            extension="xsl">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="xslt">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="dadx">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="wsdl">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="nst">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="xmi">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="xsd">
-      </fileTypes>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.core.formatProcessors">
-      <processor
-            class="org.eclipse.wst.xml.core.format.FormatProcessorXML"
-            contentTypeId="org.eclipse.core.runtime.xml">
-      </processor>
-   </extension>
-   
-   <extension
-         point="org.eclipse.core.runtime.contentTypes">
-         <content-type
-               file-extensions="xml,xsl,xslt,dadx,wsdl,nst,xmi,xsd,exsd"
-               priority="low"
-               name="%XML_Content_Type_Extension_Element.name"
-               id="xmlsource"
-               base-type="org.eclipse.core.runtime.xml"
-			   default-charset="UTF-8"
-			   alias-for="org.eclipse.core.runtime.xml"
-			   >
-			<describer class="org.eclipse.wst.xml.core.internal.contenttype.ContentDescriberForXML"/>
-		</content-type>
-   </extension>
-   
-</plugin>
diff --git a/bundles/org.eclipse.wst.xml.core/src/.cvsignore b/bundles/org.eclipse.wst.xml.core/src/.cvsignore
deleted file mode 100644
index 101c29e..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-notebook.jpage
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/Logger.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/Logger.java
deleted file mode 100644
index a88710f..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/Logger.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core;
-
-
-/**
- * @deprecated moved to internal package because only this plugin should be
- * using this Logger class.
- */
-public class Logger extends org.eclipse.wst.xml.core.internal.Logger {
-	// see org.eclipse.wst.xml.core.internal.Logger
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/NameValidator.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/NameValidator.java
deleted file mode 100644
index a0d564b..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/NameValidator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core;
-
-import java.io.Reader;
-
-import org.eclipse.wst.xml.core.internal.parser.XML10Names;
-
-
-
-public final class NameValidator {
-
-	private static XML10Names charChecker = new XML10Names((Reader) null);
-
-	public synchronized static final boolean isValid(String name) {
-
-		return charChecker.isValidXML10Name(name);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLModelPlugin.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLModelPlugin.java
deleted file mode 100644
index 16af923..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLModelPlugin.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.core;
-
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-
-/**
- * @deprecated use XMLCorePlugin instead
- */
-public class XMLModelPlugin extends XMLCorePlugin {
-	// just extending XMLCorePlugin to keep everything compatible
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLPreferenceNames.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLPreferenceNames.java
deleted file mode 100644
index 4df06f0..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLPreferenceNames.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core;
-
-
-
-public interface XMLPreferenceNames {
-	String CLEANUP_ATTR_NAME_CASE = "cleanupAttrNameCase";//$NON-NLS-1$
-	String CLEANUP_EOL_CODE = "cleanupEOLCode";//$NON-NLS-1$
-	// cleanup preference names
-	String CLEANUP_TAG_NAME_CASE = "cleanupTagNameCase";//$NON-NLS-1$
-	String CONVERT_EOL_CODES = "convertEOLCodes";//$NON-NLS-1$
-	String FORMAT_SOURCE = "formatSource";//$NON-NLS-1$
-	String INSERT_MISSING_TAGS = "insertMissingTags";//$NON-NLS-1$
-
-	// others
-	String LAST_ACTIVE_PAGE = "lastActivePage";//$NON-NLS-1$
-	String QUOTE_ATTR_VALUES = "quoteAttrValues";//$NON-NLS-1$
-
-	/*
-	 * not used for now // highlighting types String COMMENT_BORDER =
-	 * "commentBorder";//$NON-NLS-1$ String COMMENT_TEXT =
-	 * "commentText";//$NON-NLS-1$ String CDATA_BORDER =
-	 * "cdataBorder";//$NON-NLS-1$ String CDATA_TEXT =
-	 * "cdataText";//$NON-NLS-1$ String PI_BORDER = "piBorder";//$NON-NLS-1$
-	 * String PI_CONTENT = "piContent";//$NON-NLS-1$ String TAG_BORDER =
-	 * "tagBorder";//$NON-NLS-1$ String TAG_NAME = "tagName";//$NON-NLS-1$
-	 * String TAG_ATTRIBUTE_NAME = "tagAttributeName";//$NON-NLS-1$ String
-	 * TAG_ATTRIBUTE_VALUE = "tagAttributeValue";//$NON-NLS-1$ String
-	 * DECL_BORDER = "declBoder";//$NON-NLS-1$ String DOCTYPE_NAME =
-	 * "doctypeName";//$NON-NLS-1$ String DOCTYPE_EXTERNAL_ID =
-	 * "doctypeExternalId";//$NON-NLS-1$ String DOCTYPE_EXTERNAL_ID_PUBREF =
-	 * "doctypeExternalPubref";//$NON-NLS-1$ String DOCTYPE_EXTERNAL_ID_SYSREF =
-	 * "doctypeExtrenalSysref";//$NON-NLS-1$ String XML_CONTENT =
-	 * "xmlContent";//$NON-NLS-1$ // highlighting preferences String COMMA =
-	 * ",";//$NON-NLS-1$ String COLOR = "color";//$NON-NLS-1$ String NAME =
-	 * "name";//$NON-NLS-1$ String FOREGROUND = "foreground";//$NON-NLS-1$
-	 * String BACKGROUND = "background";//$NON-NLS-1$ String BOLD =
-	 * "bold";//$NON-NLS-1$ String ITALIC = "italic";//$NON-NLS-1$
-	 */
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/builder/delegates/XMLTaskTagSeeker.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/builder/delegates/XMLTaskTagSeeker.java
deleted file mode 100644
index a9bba3b..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/builder/delegates/XMLTaskTagSeeker.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.builder.delegates;
-
-import org.eclipse.wst.sse.core.participants.TaskTagSeeker;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class XMLTaskTagSeeker extends TaskTagSeeker {
-
-	/**
-	 *  
-	 */
-	public XMLTaskTagSeeker() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.participants.TaskTagSeeker#isCommentRegion(org.eclipse.wst.sse.core.text.IStructuredDocumentRegion,
-	 *      org.eclipse.wst.sse.core.text.ITextRegion)
-	 */
-	protected boolean isCommentRegion(IStructuredDocumentRegion region, ITextRegion textRegion) {
-		return textRegion.getType().equals(XMLRegionContext.XML_COMMENT_TEXT);
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/CleanupProcessorXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/CleanupProcessorXML.java
deleted file mode 100644
index 86444f6..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/CleanupProcessorXML.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.cleanup;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.sse.core.cleanup.AbstractStructuredCleanupProcessor;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupHandler;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.cleanup.StructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.contenttype.ContentTypeIdForXML;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.w3c.dom.Node;
-
-
-public class CleanupProcessorXML extends AbstractStructuredCleanupProcessor {
-	protected IStructuredCleanupPreferences fCleanupPreferences = null;
-
-	protected IStructuredCleanupHandler getCleanupHandler(Node node) {
-		short nodeType = node.getNodeType();
-		IStructuredCleanupHandler cleanupHandler = null;
-		switch (nodeType) {
-			case Node.ELEMENT_NODE : {
-				cleanupHandler = new ElementNodeCleanupHandler();
-				break;
-			}
-			case Node.TEXT_NODE : {
-				cleanupHandler = new NodeCleanupHandler();
-				break;
-			}
-			default : {
-				cleanupHandler = new NodeCleanupHandler();
-			}
-		}
-
-		// init CleanupPreferences
-		cleanupHandler.setCleanupPreferences(getCleanupPreferences());
-
-		return cleanupHandler;
-	}
-
-	public IStructuredCleanupPreferences getCleanupPreferences() {
-		if (fCleanupPreferences == null) {
-			fCleanupPreferences = new StructuredCleanupPreferences();
-
-			Preferences preferences = getModelPreferences();
-			if (preferences != null) {
-				fCleanupPreferences.setTagNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE));
-				fCleanupPreferences.setAttrNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE));
-				fCleanupPreferences.setCompressEmptyElementTags(preferences.getBoolean(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
-				fCleanupPreferences.setInsertRequiredAttrs(preferences.getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
-				fCleanupPreferences.setInsertMissingTags(preferences.getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
-				fCleanupPreferences.setQuoteAttrValues(preferences.getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
-				fCleanupPreferences.setFormatSource(preferences.getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
-				fCleanupPreferences.setConvertEOLCodes(preferences.getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
-				fCleanupPreferences.setEOLCode(preferences.getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE));
-			}
-		}
-
-		return fCleanupPreferences;
-	}
-
-	protected String getContentType() {
-		return ContentTypeIdForXML.ContentTypeID_XML;
-	}
-
-	protected IStructuredFormatProcessor getFormatProcessor() {
-		return new FormatProcessorXML();
-	}
-
-	protected Preferences getModelPreferences() {
-		return XMLCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	protected void refreshCleanupPreferences() {
-		fCleanupPreferences = null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/ElementNodeCleanupHandler.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/ElementNodeCleanupHandler.java
deleted file mode 100644
index 39f4e31..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/ElementNodeCleanupHandler.java
+++ /dev/null
@@ -1,556 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.cleanup;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupHandler;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLGenerator;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class ElementNodeCleanupHandler extends NodeCleanupHandler {
-	protected static final char DOUBLE_QUOTE = '\"'; //$NON-NLS-1$
-	protected static final String DOUBLE_QUOTES = "\"\""; //$NON-NLS-1$
-	protected static final String EMPTY_TAG_CLOSE = "/>"; //$NON-NLS-1$
-	protected static final String END_TAG_OPEN = "</"; //$NON-NLS-1$
-	protected static final char SINGLE_QUOTE = '\''; //$NON-NLS-1$
-	protected static final String SINGLE_QUOTES = "''"; //$NON-NLS-1$
-
-	/** Non-NLS strings */
-	protected static final String START_TAG_OPEN = "<"; //$NON-NLS-1$
-	protected static final String TAG_CLOSE = ">"; //$NON-NLS-1$
-
-	public Node cleanup(Node node) {
-		Node newNode = cleanupChildren(node);
-		XMLNode renamedNode = newNode instanceof XMLNode ? (XMLNode) newNode : null;
-
-		// call quoteAttrValue() first so it will close any unclosed attr
-		// quoteAttrValue() will return the new start tag if there is a
-		// structure change
-		renamedNode = quoteAttrValue(renamedNode);
-
-		// insert tag close if missing
-		// if node is not comment tag
-		// and not implicit tag
-		if (!isCommentTag(renamedNode) && !isImplicitTag(renamedNode)) {
-			XMLModel structuredModel = renamedNode.getModel();
-
-			// save start offset before insertTagClose()
-			// or else renamedNode.getStartOffset() will be zero if
-			// renamedNode replaced by insertTagClose()
-			int startTagStartOffset = renamedNode.getStartOffset();
-
-			// for start tag
-			IStructuredDocumentRegion startTagStructuredDocumentRegion = renamedNode.getStartStructuredDocumentRegion();
-			insertTagClose(structuredModel, startTagStructuredDocumentRegion);
-
-			// update renamedNode and startTagStructuredDocumentRegion after
-			// insertTagClose()
-			renamedNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset);
-			startTagStructuredDocumentRegion = renamedNode.getStartStructuredDocumentRegion();
-
-			// for end tag
-			IStructuredDocumentRegion endTagStructuredDocumentRegion = renamedNode.getEndStructuredDocumentRegion();
-			if (endTagStructuredDocumentRegion != startTagStructuredDocumentRegion)
-				insertTagClose(structuredModel, endTagStructuredDocumentRegion);
-		}
-
-		// call insertMissingTags() next, it will generate implicit tags if
-		// there are any
-		// insertMissingTags() will return the new missing start tag if one is
-		// missing
-		renamedNode = insertMissingTags(renamedNode);
-
-		renamedNode = compressEmptyElementTag(renamedNode);
-
-		renamedNode = insertRequiredAttrs(renamedNode);
-
-		return renamedNode;
-	}
-
-	protected Node cleanupChildren(Node node) {
-		Node parentNode = node;
-
-		if (node != null) {
-			Node childNode = node.getFirstChild();
-			while (childNode != null) {
-				// get cleanup handler
-				IStructuredCleanupHandler cleanupHandler = getCleanupHandler(childNode);
-
-				// cleanup each child
-				childNode = cleanupHandler.cleanup(childNode);
-
-				// get new parent node
-				parentNode = (XMLNode) childNode.getParentNode();
-
-				// get next child node
-				childNode = (XMLNode) childNode.getNextSibling();
-			}
-		}
-
-		return parentNode;
-	}
-
-	private XMLNode compressEmptyElementTag(XMLNode node) {
-		boolean compressEmptyElementTags = getCleanupPreferences().getCompressEmptyElementTags();
-		XMLNode newNode = node;
-
-		IStructuredDocumentRegion startTagStructuredDocumentRegion = newNode.getFirstStructuredDocumentRegion();
-		IStructuredDocumentRegion endTagStructuredDocumentRegion = newNode.getLastStructuredDocumentRegion();
-
-		if (compressEmptyElementTags && startTagStructuredDocumentRegion != endTagStructuredDocumentRegion && startTagStructuredDocumentRegion != null) {
-			ITextRegionList regions = startTagStructuredDocumentRegion.getRegions();
-			ITextRegion lastRegion = regions.get(regions.size() - 1);
-			// format children and end tag if not empty element tag
-			if (lastRegion.getType() != XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-				NodeList childNodes = newNode.getChildNodes();
-				if (childNodes == null || childNodes.getLength() == 0 || (childNodes.getLength() == 1 && (childNodes.item(0)).getNodeType() == Node.TEXT_NODE && ((childNodes.item(0)).getNodeValue().trim().length() == 0))) {
-					XMLModel structuredModel = newNode.getModel();
-					IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-
-					int startTagStartOffset = newNode.getStartOffset();
-					int offset = endTagStructuredDocumentRegion.getStart();
-					int length = endTagStructuredDocumentRegion.getLength();
-					structuredDocument.replaceText(structuredDocument, offset, length, ""); //$NON-NLS-1$
-					newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
-
-					offset = startTagStructuredDocumentRegion.getStart() + lastRegion.getStart();
-					structuredDocument.replaceText(structuredDocument, offset, 0, "/"); //$NON-NLS-1$
-					newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
-				}
-			}
-		}
-
-		return newNode;
-	}
-
-	protected IStructuredCleanupHandler getCleanupHandler(Node node) {
-		short nodeType = node.getNodeType();
-		IStructuredCleanupHandler cleanupHandler = null;
-		switch (nodeType) {
-			case org.w3c.dom.Node.ELEMENT_NODE : {
-				cleanupHandler = new ElementNodeCleanupHandler();
-				break;
-			}
-			case org.w3c.dom.Node.TEXT_NODE : {
-				cleanupHandler = new NodeCleanupHandler();
-				break;
-			}
-			default : {
-				cleanupHandler = new NodeCleanupHandler();
-			}
-		}
-
-		// init CleanupPreferences
-		cleanupHandler.setCleanupPreferences(getCleanupPreferences());
-
-		return cleanupHandler;
-	}
-
-
-	protected ModelQuery getModelQuery(Node node) {
-		if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			return ModelQueryUtil.getModelQuery((Document) node);
-		} else {
-			return ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-		}
-	}
-
-	protected List getRequiredAttrs(Node node) {
-		List result = new ArrayList();
-
-		ModelQuery modelQuery = getModelQuery(node);
-		if (modelQuery != null) {
-			CMElementDeclaration elementDecl = modelQuery.getCMElementDeclaration((Element) node);
-			if (elementDecl != null) {
-				CMNamedNodeMap attrMap = elementDecl.getAttributes();
-				Iterator it = attrMap.iterator();
-				CMAttributeDeclaration attr = null;
-				while (it.hasNext()) {
-					attr = (CMAttributeDeclaration) it.next();
-					if (attr.getUsage() == CMAttributeDeclaration.REQUIRED) {
-						result.add(attr);
-					}
-				}
-			}
-		}
-
-		return result;
-	}
-
-	private XMLNode insertEndTag(XMLNode node) {
-		XMLNode newNode = node;
-		XMLElement element = (XMLElement) node;
-		if (element.isCommentTag())
-			return node; // do nothing
-
-		int startTagStartOffset = node.getStartOffset();
-		XMLModel structuredModel = node.getModel();
-
-		if (isEmptyElement(element)) {
-			IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-			IStructuredDocumentRegion startStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
-			ITextRegionList regions = startStructuredDocumentRegion.getRegions();
-			ITextRegion lastRegion = regions.get(regions.size() - 1);
-			structuredDocument.replaceText(structuredDocument, startStructuredDocumentRegion.getStartOffset(lastRegion), lastRegion.getLength(), EMPTY_TAG_CLOSE);
-
-			if (regions.size() > 1) {
-				ITextRegion regionBeforeTagClose = regions.get(regions.size() - 1 - 1);
-
-				// insert a space separator before tag close if the previous
-				// region does not have extra spaces
-				if (regionBeforeTagClose.getTextLength() == regionBeforeTagClose.getLength())
-					structuredDocument.replaceText(structuredDocument, startStructuredDocumentRegion.getStartOffset(lastRegion), 0, " "); //$NON-NLS-1$
-			}
-		} else {
-			String tagName = node.getNodeName();
-			String endTag = END_TAG_OPEN.concat(tagName).concat(TAG_CLOSE);
-
-			XMLNode lastChild = (XMLNode) node.getLastChild();
-			int endTagStartOffset = 0;
-			if (lastChild != null)
-				// if this node has children, insert the end tag after the
-				// last child
-				endTagStartOffset = lastChild.getEndOffset();
-			else
-				// if this node does not has children, insert the end tag
-				// after the start tag
-				endTagStartOffset = node.getEndOffset();
-
-			IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-			structuredDocument.replaceText(structuredDocument, endTagStartOffset, 0, endTag);
-		}
-
-		newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
-		// new
-		// node
-
-		return newNode;
-	}
-
-	private XMLNode insertMissingTags(XMLNode node) {
-		boolean insertMissingTags = getCleanupPreferences().getInsertMissingTags();
-		XMLNode newNode = node;
-
-		if (insertMissingTags) {
-			IStructuredDocumentRegion startTagStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
-			if (startTagStructuredDocumentRegion == null) {
-				// implicit start tag; generate tag for it
-				newNode = insertStartTag(node);
-				startTagStructuredDocumentRegion = newNode.getStartStructuredDocumentRegion();
-			}
-
-			IStructuredDocumentRegion endTagStructuredDocumentRegion = newNode.getEndStructuredDocumentRegion();
-			ITextRegionList startStructuredDocumentRegionRegions = startTagStructuredDocumentRegion.getRegions();
-			if (startTagStructuredDocumentRegion != null && startStructuredDocumentRegionRegions != null && (startStructuredDocumentRegionRegions.get(startStructuredDocumentRegionRegions.size() - 1)).getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-
-			} else {
-				if (startTagStructuredDocumentRegion == null) {
-					// start tag missing
-					if (isStartTagRequired(newNode))
-						newNode = insertStartTag(newNode);
-				} else if (endTagStructuredDocumentRegion == null) {
-					// end tag missing
-					if (isEndTagRequired(newNode))
-						newNode = insertEndTag(newNode);
-				}
-			}
-		}
-
-		return newNode;
-	}
-
-	private XMLNode insertRequiredAttrs(XMLNode node) {
-		boolean insertRequiredAttrs = getCleanupPreferences().getInsertRequiredAttrs();
-		XMLNode newNode = node;
-
-		if (insertRequiredAttrs) {
-			List requiredAttrs = getRequiredAttrs(newNode);
-			if (requiredAttrs.size() > 0) {
-				NamedNodeMap currentAttrs = node.getAttributes();
-				List insertAttrs = new ArrayList();
-				if (currentAttrs.getLength() == 0)
-					insertAttrs.addAll(requiredAttrs);
-				else {
-					for (int i = 0; i < requiredAttrs.size(); i++) {
-						String requiredAttrName = ((CMAttributeDeclaration) requiredAttrs.get(i)).getAttrName();
-						boolean found = false;
-						for (int j = 0; j < currentAttrs.getLength(); j++) {
-							String currentAttrName = currentAttrs.item(j).getNodeName();
-							if (requiredAttrName.compareToIgnoreCase(currentAttrName) == 0) {
-								found = true;
-								break;
-							}
-						}
-						if (!found)
-							insertAttrs.add(requiredAttrs.get(i));
-					}
-				}
-				if (insertAttrs.size() > 0) {
-					IStructuredDocumentRegion startStructuredDocumentRegion = newNode.getStartStructuredDocumentRegion();
-					int index = startStructuredDocumentRegion.getEndOffset();
-					ITextRegion lastRegion = startStructuredDocumentRegion.getLastRegion();
-					if (lastRegion.getType() == XMLRegionContext.XML_TAG_CLOSE) {
-						index--;
-						lastRegion = startStructuredDocumentRegion.getRegionAtCharacterOffset(index - 1);
-					} else if (lastRegion.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-						index = index - 2;
-						lastRegion = startStructuredDocumentRegion.getRegionAtCharacterOffset(index - 1);
-					}
-					MultiTextEdit multiTextEdit = new MultiTextEdit();
-					try {
-						for (int i = insertAttrs.size() - 1; i >= 0; i--) {
-							CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) insertAttrs.get(i);
-							String requiredAttributeName = attrDecl.getAttrName();
-							String defaultValue = attrDecl.getDefaultValue();
-							if (defaultValue == null)
-								defaultValue = ""; //$NON-NLS-1$
-							String nameAndDefaultValue = " "; //$NON-NLS-1$
-							if (i == 0 && lastRegion.getLength() > lastRegion.getTextLength())
-								nameAndDefaultValue = ""; //$NON-NLS-1$
-							nameAndDefaultValue += requiredAttributeName + "=\"" + defaultValue + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-							multiTextEdit.addChild(new InsertEdit(index, nameAndDefaultValue));
-							// BUG3381: MultiTextEdit applies all child
-							// TextEdit's basing on offsets
-							//          in the document before the first TextEdit, not
-							// after each
-							//          child TextEdit. Therefore, do not need to
-							// advance the index.
-							//index += nameAndDefaultValue.length();
-						}
-						multiTextEdit.apply(newNode.getStructuredDocument());
-					} catch (BadLocationException e) {
-						throw new SourceEditingRuntimeException(e);
-					}
-				}
-			}
-		}
-
-		return newNode;
-	}
-
-	private XMLNode insertStartTag(XMLNode node) {
-		XMLNode newNode = node;
-
-		if (isCommentTag(node))
-			return node; // do nothing
-
-		String tagName = node.getNodeName();
-		String startTag = START_TAG_OPEN.concat(tagName).concat(TAG_CLOSE);
-		int startTagStartOffset = node.getStartOffset();
-
-		XMLModel structuredModel = node.getModel();
-		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-		structuredDocument.replaceText(structuredDocument, startTagStartOffset, 0, startTag);
-		newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
-		// new
-		// node
-
-		return newNode;
-	}
-
-	private void insertTagClose(XMLModel structuredModel, IStructuredDocumentRegion flatNode) {
-		if (flatNode != null) {
-			ITextRegionList flatnodeRegions = flatNode.getRegions();
-			if (flatnodeRegions != null) {
-				ITextRegion lastRegion = flatnodeRegions.get(flatnodeRegions.size() - 1);
-				if (lastRegion != null) {
-					String regionType = lastRegion.getType();
-					if ((regionType != XMLRegionContext.XML_EMPTY_TAG_CLOSE) && (regionType != XMLRegionContext.XML_TAG_CLOSE)) {
-						IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-
-						// insert ">" after lastRegion of flatNode
-						// as in "<a</a>" if flatNode is for start tag, or in
-						// "<a></a" if flatNode is for end tag
-						structuredDocument.replaceText(structuredDocument, flatNode.getTextEndOffset(lastRegion), 0, ">"); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * @param renamedNode
-	 * @return
-	 */
-	private boolean isCommentTag(Node renamedNode) {
-		boolean result = false;
-		if (renamedNode instanceof XMLElement) {
-			XMLElement element = (XMLElement) renamedNode;
-			result = element.isCommentTag();
-		}
-		return result;
-	}
-
-	private boolean isEmptyElement(XMLElement element) {
-		Document document = element.getOwnerDocument();
-		if (document == null)
-			// undefined tag, return default
-			return false;
-
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-		if (modelQuery == null)
-			// undefined tag, return default
-			return false;
-
-		CMElementDeclaration decl = modelQuery.getCMElementDeclaration(element);
-		if (decl == null)
-			// undefined tag, return default
-			return false;
-
-		return (decl.getContentType() == CMElementDeclaration.EMPTY);
-	}
-
-	private boolean isEndTagRequired(XMLNode node) {
-		if (node == null)
-			return false;
-		return node.isContainer();
-	}
-
-	/**
-	 * A tag is implicit if it has not corresponding region in document.
-	 * 
-	 * @param renamedNode
-	 * @return
-	 */
-	private boolean isImplicitTag(XMLNode renamedNode) {
-		return renamedNode.getStartStructuredDocumentRegion() == null;
-	}
-
-	/**
-	 * The end tags of HTML EMPTY content type, such as IMG, and HTML
-	 * undefined tags are parsed separately from the start tags. So inserting
-	 * the missing start tag is useless and even harmful.
-	 */
-	private boolean isStartTagRequired(XMLNode node) {
-		if (node == null)
-			return false;
-		return node.isContainer();
-	}
-
-	private boolean isXMLType(XMLModel structuredModel) {
-		boolean result = false;
-
-		if (structuredModel != null && structuredModel != null) {
-			XMLDocument document = structuredModel.getDocument();
-
-			if (document != null)
-				result = document.isXMLType();
-		}
-
-		return result;
-	}
-
-	private XMLNode quoteAttrValue(XMLNode node) {
-		XMLNode newNode = node;
-		//XMLElement element = (XMLElement) node;
-		if (isCommentTag(node))
-			return node; // do nothing
-
-		boolean quoteAttrValues = getCleanupPreferences().getQuoteAttrValues();
-
-		if (quoteAttrValues) {
-			NamedNodeMap attributes = newNode.getAttributes();
-			if (attributes != null) {
-				int attributesLength = attributes.getLength();
-				XMLGenerator generator = node.getModel().getGenerator();
-
-				for (int i = 0; i < attributesLength; i++) {
-					attributes = newNode.getAttributes();
-					attributesLength = attributes.getLength();
-					XMLAttr eachAttr = (XMLAttr) attributes.item(i);
-					//ITextRegion oldAttrValueRegion =
-					// eachAttr.getValueRegion();
-					String oldAttrValue = eachAttr.getValueRegionText();
-					if (oldAttrValue == null) {
-						XMLModel structuredModel = node.getModel();
-						if (isXMLType(structuredModel)) {
-							String newAttrValue = "\"" + eachAttr.getNameRegionText() + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-
-							IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-							if (eachAttr.getEqualRegion() != null)
-								// equal region exists
-								structuredDocument.replaceText(structuredDocument, eachAttr.getEndOffset(), 0, newAttrValue);
-							else
-								// no equal region
-								structuredDocument.replaceText(structuredDocument, eachAttr.getNameRegionTextEndOffset(), 0, "=".concat(newAttrValue)); //$NON-NLS-1$
-							newNode = (XMLNode) structuredModel.getIndexedRegion(node.getStartOffset()); // save
-							// new
-							// node
-						}
-					} else {
-						//String oldAttrValue = oldAttrValueRegion.getText();
-						char quote = StringUtils.isQuoted(oldAttrValue) ? oldAttrValue.charAt(0) : DOUBLE_QUOTE;
-						String newAttrValue = generator.generateAttrValue(eachAttr, quote);
-
-						// There is a problem in
-						// StructuredDocumentRegionUtil.getAttrValue(ITextRegion)
-						// when the region is instanceof ContextRegion.
-						// Workaround for now...
-						if (oldAttrValue.length() == 1) {
-							char firstChar = oldAttrValue.charAt(0);
-							if (firstChar == SINGLE_QUOTE)
-								newAttrValue = SINGLE_QUOTES;
-							else if (firstChar == DOUBLE_QUOTE)
-								newAttrValue = DOUBLE_QUOTES;
-						}
-
-						if (newAttrValue != null) {
-							if (newAttrValue.compareTo(oldAttrValue) != 0) {
-								int attrValueStartOffset = eachAttr.getValueRegionStartOffset();
-								int attrValueLength = oldAttrValue.length();
-								int startTagStartOffset = node.getStartOffset();
-
-								XMLModel structuredModel = node.getModel();
-								IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-								structuredDocument.replaceText(structuredDocument, attrValueStartOffset, attrValueLength, newAttrValue);
-								newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
-								// new
-								// node
-							}
-						}
-					}
-				}
-			}
-		}
-
-		return newNode;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/NodeCleanupHandler.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/NodeCleanupHandler.java
deleted file mode 100644
index 52cf272..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/NodeCleanupHandler.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.cleanup;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupHandler;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.cleanup.StructuredCleanupPreferences;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.w3c.dom.Node;
-
-
-public class NodeCleanupHandler implements IStructuredCleanupHandler {
-
-	protected IStructuredCleanupPreferences fCleanupPreferences = null;
-	protected IProgressMonitor fProgressMonitor = null;
-
-	/**
-	 * @see com.ibm.sed.partitionCleanup.CleanupHandler#cleanup(com.ibm.sed.model.xml.XMLNode)
-	 */
-	public Node cleanup(Node node) {
-
-		return node;
-	}
-
-	/**
-	 * @see com.ibm.sed.partitionCleanup.CleanupHandler#getCleanupPreferences()
-	 */
-	public IStructuredCleanupPreferences getCleanupPreferences() {
-		if (fCleanupPreferences == null) {
-			fCleanupPreferences = new StructuredCleanupPreferences();
-
-			Preferences preferences = getModelPreferences();
-			if (preferences != null) {
-				fCleanupPreferences.setTagNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE));
-				fCleanupPreferences.setAttrNameCase(preferences.getInt(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE));
-				fCleanupPreferences.setCompressEmptyElementTags(preferences.getBoolean(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
-				fCleanupPreferences.setInsertRequiredAttrs(preferences.getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
-				fCleanupPreferences.setInsertMissingTags(preferences.getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
-				fCleanupPreferences.setQuoteAttrValues(preferences.getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
-				fCleanupPreferences.setFormatSource(preferences.getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
-				fCleanupPreferences.setConvertEOLCodes(preferences.getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
-				fCleanupPreferences.setEOLCode(preferences.getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE));
-			}
-		}
-
-		return fCleanupPreferences;
-	}
-
-	protected Preferences getModelPreferences() {
-		return XMLCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	public void setCleanupPreferences(IStructuredCleanupPreferences cleanupPreferences) {
-
-		fCleanupPreferences = cleanupPreferences;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/XMLCleanupPreferences.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/XMLCleanupPreferences.java
deleted file mode 100644
index 6bae47a..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/XMLCleanupPreferences.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.cleanup;
-
-import org.eclipse.core.runtime.Preferences;
-
-/**
- * @deprecated renamed to IStructuredCleanupPreferences
- * 
- * TODO will delete in C5
- */
-public interface XMLCleanupPreferences {
-
-	int getAttrNameCase();
-
-	boolean getConvertEOLCodes();
-
-	String getEOLCode();
-
-	boolean getFormatSource();
-
-	boolean getInsertMissingTags();
-
-	boolean getQuoteAttrValues();
-
-	int getTagNameCase();
-
-	void setAttrNameCase(int attrNameCase);
-
-	void setConvertEOLCodes(boolean convertEOLCodes);
-
-	void setEOLCode(String EOLCode);
-
-	void setFormatSource(boolean formatSource);
-
-	void setInsertMissingTags(boolean insertMissingTags);
-
-	//void setPreferenceStore(IPreferenceStore preferenceStore);
-	void setPreferences(Preferences preferences);
-
-	void setQuoteAttrValues(boolean quoteAttrValues);
-
-	void setTagNameCase(int tagNameCase);
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/XMLCleanupPreferencesImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/XMLCleanupPreferencesImpl.java
deleted file mode 100644
index f09292c..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/cleanup/XMLCleanupPreferencesImpl.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.cleanup;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.xml.core.XMLPreferenceNames;
-
-/**
- * @deprecated renamed to StructuredCleanupPreferences
- * 
- * TODO will delete in C5
- */
-public class XMLCleanupPreferencesImpl implements XMLCleanupPreferences {
-
-	private static XMLCleanupPreferencesImpl fInstance;
-
-	public synchronized static XMLCleanupPreferencesImpl getInstance() {
-
-		// added for one method in CleanupDialog ... may be better way
-		if (fInstance == null) {
-			fInstance = new XMLCleanupPreferencesImpl();
-		}
-		return fInstance;
-	}
-
-	private int fAttrNameCase;
-	private boolean fConvertEOLCodes;
-	private String fEOLCode;
-	private boolean fFormatSource;
-	private boolean fInsertMissingTags;
-	//private IPreferenceStore fPreferenceStore = null;
-	private Preferences fPreferences = null;
-	private boolean fQuoteAttrValues;
-	private int fTagNameCase;
-
-	public int getAttrNameCase() {
-
-		return fAttrNameCase;
-	}
-
-	public boolean getConvertEOLCodes() {
-
-		return fConvertEOLCodes;
-	}
-
-	public String getEOLCode() {
-
-		return fEOLCode;
-	}
-
-	public boolean getFormatSource() {
-
-		return fFormatSource;
-	}
-
-	public boolean getInsertMissingTags() {
-
-		return fInsertMissingTags;
-	}
-
-	public Preferences getPreferences() {
-
-		if (fPreferences == null) {
-			fPreferences = SSECorePlugin.getDefault().getPluginPreferences();
-		}
-		return fPreferences;
-	}
-
-	public boolean getQuoteAttrValues() {
-
-		return fQuoteAttrValues;
-	}
-
-	public int getTagNameCase() {
-
-		return fTagNameCase;
-	}
-
-	public void setAttrNameCase(int attrNameCase) {
-
-		fAttrNameCase = attrNameCase;
-	}
-
-	public void setConvertEOLCodes(boolean convertEOLCodes) {
-
-		fConvertEOLCodes = convertEOLCodes;
-	}
-
-	public void setEOLCode(String EOLCode) {
-
-		fEOLCode = EOLCode;
-	}
-
-	public void setFormatSource(boolean formatSource) {
-
-		fFormatSource = formatSource;
-	}
-
-	public void setInsertMissingTags(boolean insertMissingTags) {
-
-		fInsertMissingTags = insertMissingTags;
-	}
-
-	public void setPreferences(Preferences prefs) {
-
-		fPreferences = prefs;
-		updateOptions();
-	}
-
-	public void setQuoteAttrValues(boolean quoteAttrValues) {
-
-		fQuoteAttrValues = quoteAttrValues;
-	}
-
-	public void setTagNameCase(int tagNameCase) {
-
-		fTagNameCase = tagNameCase;
-	}
-
-	protected void updateOptions() {
-
-		Preferences p = getPreferences();
-		fTagNameCase = p.getInt(XMLPreferenceNames.CLEANUP_TAG_NAME_CASE);
-		fAttrNameCase = p.getInt(XMLPreferenceNames.CLEANUP_ATTR_NAME_CASE);
-		fInsertMissingTags = p.getBoolean(XMLPreferenceNames.INSERT_MISSING_TAGS);
-		fQuoteAttrValues = p.getBoolean(XMLPreferenceNames.QUOTE_ATTR_VALUES);
-		fFormatSource = p.getBoolean(XMLPreferenceNames.FORMAT_SOURCE);
-		fConvertEOLCodes = p.getBoolean(XMLPreferenceNames.CONVERT_EOL_CODES);
-		fEOLCode = p.getString(XMLPreferenceNames.CLEANUP_EOL_CODE);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementAdapter.java
deleted file mode 100644
index f4e3549..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementAdapter.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.commentelement;
-
-
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.commentelement.impl.CommentElementConfiguration;
-import org.eclipse.wst.xml.core.document.TagAdapter;
-import org.eclipse.wst.xml.core.document.XMLElement;
-
-
-/**
- */
-public class CommentElementAdapter implements TagAdapter {
-	private CommentElementConfiguration fConfiguration;
-
-	private boolean fEndTag;
-	private CommentElementHandler fHandler;
-
-	public CommentElementAdapter(boolean isEndTag, CommentElementHandler handler) {
-		fEndTag = isEndTag;
-		fHandler = handler;
-	}
-
-	private String generateCommentClose(XMLElement element) {
-		return (element.isJSPTag()) ? "--%>" : "-->"; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	private String generateCommentOpen(XMLElement element) {
-		return (element.isJSPTag()) ? "<%--" : "<!--"; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	private CommentElementConfiguration getConfiguration() {
-		return fConfiguration;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.xml.TagAdapter#getEndTag(XMLElement)
-	 */
-	public String getEndTag(XMLElement element) {
-		String content = fHandler.generateEndTagContent(element);
-		if (content == null) {
-			return null;
-		}
-		StringBuffer buffer = new StringBuffer();
-
-		buffer.append(generateCommentOpen(element));
-		buffer.append(content);
-		buffer.append(generateCommentClose(element));
-
-		return buffer.toString();
-	}
-
-	public String getHandlerID() {
-		return getConfiguration().getHandlerID();
-	}
-
-	/**
-	 * @deprecated this should not be needed by anyone
-	 */
-	public IPluginDescriptor getHandlerPluginDescriptor() {
-		return fConfiguration.getHandlerPluginDescriptor();
-	}
-
-	public String getProperty(String name) {
-		return getConfiguration().getProperty(name);
-	}
-
-	/**
-	 * @see com.ibm.sed.model.xml.TagAdapter#getStartTag(XMLElement)
-	 */
-	public String getStartTag(XMLElement element) {
-		String content = fHandler.generateStartTagContent(element);
-		if (content == null) {
-			return null;
-		}
-		StringBuffer buffer = new StringBuffer();
-
-		buffer.append(generateCommentOpen(element));
-		buffer.append(content);
-		buffer.append(generateCommentClose(element));
-
-		return buffer.toString();
-	}
-
-	/**
-	 * @see com.ibm.sed.model.INodeAdapter#isAdapterForType(Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == CommentElementAdapter.class || type == TagAdapter.class);
-	}
-
-	public boolean isContainer() {
-		return (!fHandler.isEmpty());
-	}
-
-	/**
-	 * @see com.ibm.sed.model.xml.TagAdapter#isEndTag()
-	 */
-	public boolean isEndTag() {
-		return fEndTag;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.INodeAdapter#notifyChanged(INodeNotifier, int,
-	 *      Object, Object, Object, int)
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	public void setConfiguration(CommentElementConfiguration configuration) {
-		fConfiguration = configuration;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementHandler.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementHandler.java
deleted file mode 100644
index b5eae28..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementHandler.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.commentelement;
-
-
-
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- */
-public interface CommentElementHandler {
-	/**
-	 * This method is called when the prefix of the comment content matches
-	 * the string specified in &lt;startswith prefix=""/&gt; in plugin
-	 * extension. Comment content is parsed and new DOM element is created in
-	 * this method. Implementor has to do following:
-	 * <li>For start tag :
-	 * <ul>
-	 * <li>parse comment content and create new element instance.</li>
-	 * </ul>
-	 * </li>
-	 * <li>For end tag :
-	 * <ul>
-	 * <li>parse comment content and create new element instance.</li>
-	 * <li>make isEndTag flag true.</li>
-	 * <li>Parser framework searches mached start tag element instance after
-	 * this createElement call, and new instance is just thrown away.</li>
-	 * </ul>
-	 * </li>
-	 * <li>For empty tag :
-	 * <ul>
-	 * <li>parse comment content and create new element instance.</li>
-	 * <li>make isEndTag flag true.</li>
-	 * </ul>
-	 * </li>
-	 * 
-	 * @param document
-	 *            parent DOM document
-	 * @param data
-	 *            comment content. comment prefix (&lt;!-- or &lt;%--), suffix
-	 *            (--&gt; or --%&gt;), and surrounding spaces are trimmed.
-	 * @param isJSPTag
-	 *            true if the comment is JSP style comment. This information
-	 *            may be required by handler when the handler accepts both XML
-	 *            style and JSP style comment (namely,
-	 *            commenttype=&quot;both&quot; in plugin.xml).
-	 * @return comment element instance if the comment content is rightly
-	 *         parsed. if parse failed, returns null.
-	 */
-	Element createElement(Document document, String data, boolean isJSPTag);
-
-	/**
-	 * This method generates the source text of the end tag for the passed
-	 * element. Do not generate comment prefix (&lt;!-- or &lt;%--) and suffix
-	 * (--&gt; or --%&gt;). XMLGenerator uses this method to generate XML/HTML
-	 * source for a comment element.
-	 * 
-	 * @param element
-	 *            the comment element
-	 * @return generated tag string
-	 */
-	String generateEndTagContent(XMLElement element);
-
-	/**
-	 * This method generates the source text of the start tag for the passed
-	 * element. Do not generate comment prefix (&lt;!-- or &lt;%--) and suffix
-	 * (--&gt; or --%&gt;). XMLGenerator uses this method to generate XML/HTML
-	 * source for a comment element.
-	 * 
-	 * @param element
-	 *            the comment element
-	 * @return generated tag string
-	 */
-	String generateStartTagContent(XMLElement element);
-
-	/**
-	 * 
-	 * @param element
-	 *            the element
-	 * @return boolean whether the element is comment element or not
-	 */
-	boolean isCommentElement(XMLElement element);
-
-	/**
-	 * 
-	 * @return boolean whether this element can have children or not
-	 */
-	boolean isEmpty();
-
-	/**
-	 * @return String
-	 */
-	//	String getElementPrefix();
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/BasicCommentElementHandler.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/BasicCommentElementHandler.java
deleted file mode 100644
index 98efac0..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/BasicCommentElementHandler.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.commentelement.impl;
-
-
-
-import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
-import org.eclipse.wst.xml.core.commentelement.util.CommentElementFactory;
-import org.eclipse.wst.xml.core.commentelement.util.TagScanner;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLGenerator;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-
-/**
- */
-class BasicCommentElementHandler implements CommentElementHandler {
-
-	private String elementName;
-	private boolean isEmpty;
-
-	public BasicCommentElementHandler(String elementName, boolean isEmpty) {
-		super();
-		this.elementName = elementName;
-		this.isEmpty = isEmpty;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#createElement(Document,
-	 *      String, boolean)
-	 */
-	public Element createElement(Document document, String data, boolean isJSPTag) {
-		Element element = null;
-		String str = data.trim();
-		CommentElementFactory factory = new CommentElementFactory(document, isJSPTag, this);
-		if (str.charAt(0) == '/') { // end tag
-			TagScanner scanner = new TagScanner(str, 1); // skip '/'
-			String name = scanner.nextName();
-			if (name.equals(elementName)) {
-				element = factory.create(name, CommentElementFactory.IS_END);
-			}
-		} else { // start tag
-			TagScanner scanner = new TagScanner(str, 0);
-			String name = scanner.nextName();
-			if (name.equals(elementName)) {
-				element = factory.create(name, (isEmpty) ? CommentElementFactory.IS_EMPTY : CommentElementFactory.IS_START);
-				// set attributes
-				String attrName = scanner.nextName();
-				while (attrName != null) {
-					String attrValue = scanner.nextValue();
-					Attr attr = document.createAttribute(attrName);
-					if (attr != null) {
-						if (attrValue != null)
-							((XMLAttr) attr).setValueSource(attrValue);
-						element.setAttributeNode(attr);
-					}
-					attrName = scanner.nextName();
-				}
-			}
-		}
-		return element;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#getEndTag(XMLElement)
-	 */
-	public String generateEndTagContent(XMLElement element) {
-		if (isEmpty) {
-			return null;
-		}
-		XMLGenerator generator = element.getModel().getGenerator();
-		StringBuffer buffer = new StringBuffer();
-
-		buffer.append(" /"); //$NON-NLS-1$
-		String tagName = generator.generateTagName(element);
-		if (tagName != null) {
-			buffer.append(tagName);
-		}
-		buffer.append(' ');
-
-		return buffer.toString();
-	}
-
-	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#getStartTag(XMLElement)
-	 */
-	public String generateStartTagContent(XMLElement element) {
-		XMLGenerator generator = element.getModel().getGenerator();
-		StringBuffer buffer = new StringBuffer();
-
-		buffer.append(' ');
-		String tagName = generator.generateTagName(element);
-		if (tagName != null) {
-			buffer.append(tagName);
-		}
-
-		NamedNodeMap attributes = element.getAttributes();
-		int length = attributes.getLength();
-		for (int i = 0; i < length; i++) {
-			Attr attr = (Attr) attributes.item(i);
-			if (attr == null) {
-				continue;
-			}
-			buffer.append(' ');
-			String attrName = generator.generateAttrName(attr);
-			if (attrName != null) {
-				buffer.append(attrName);
-			}
-			String attrValue = generator.generateAttrValue(attr);
-			if (attrValue != null) {
-				// attr name only for HTML boolean and JSP
-				buffer.append('=');
-				buffer.append(attrValue);
-			}
-		}
-
-		buffer.append(' ');
-
-		return buffer.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#isCommentElement(com.ibm.sed.model.xml.XMLElement)
-	 */
-	public boolean isCommentElement(XMLElement element) {
-		return (element != null && element.getTagName().equals(elementName)) ? true : false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#isEmpty()
-	 */
-	public boolean isEmpty() {
-		return isEmpty;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementConfiguration.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementConfiguration.java
deleted file mode 100644
index a1a0b02..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementConfiguration.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.commentelement.impl;
-
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.wst.xml.core.commentelement.CommentElementAdapter;
-import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.internal.Logger;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- */
-public class CommentElementConfiguration {
-	private Map fAttributes = null;
-	private boolean fCustom;
-	private IConfigurationElement fElement = null;
-
-	private boolean fEmpty;
-	private CommentElementHandler fHandler = null;
-	private String fID = null;
-	private boolean fJSPComment;
-	private String[] fPrefix = null;
-	private boolean fXMLComment;
-
-	CommentElementConfiguration() {
-		super();
-	}
-
-	CommentElementConfiguration(IConfigurationElement element) {
-		super();
-		fElement = element;
-		fCustom = (element.getName().equalsIgnoreCase("handler-custom")) ? true : false; //$NON-NLS-1$
-
-		fillAttributes(element);
-
-		fXMLComment = fJSPComment = false;
-		String commentType = getProperty("commenttype"); //$NON-NLS-1$
-		if (commentType.equalsIgnoreCase("xml")) { //$NON-NLS-1$
-			fXMLComment = true;
-		} else if (commentType.equalsIgnoreCase("jsp")) { //$NON-NLS-1$
-			fJSPComment = true;
-		} else if (commentType.equalsIgnoreCase("both")) { //$NON-NLS-1$
-			fXMLComment = fJSPComment = true;
-		}
-		String empty = getProperty("isempty"); //$NON-NLS-1$
-		fEmpty = (empty != null && !empty.equals("false")) ? true : false; //$NON-NLS-1$
-	}
-
-	public boolean acceptJSPComment() {
-		return fJSPComment;
-	}
-
-	public boolean acceptXMLComment() {
-		return fXMLComment;
-	}
-
-	public Element createElement(Document document, String data, boolean isJSPTag) {
-		XMLElement element = (XMLElement) getHandler().createElement(document, data, isJSPTag);
-		if (element != null) {
-			CommentElementAdapter adapter = (CommentElementAdapter) element.getAdapterFor(CommentElementAdapter.class);
-			if (adapter != null) {
-				adapter.setConfiguration(this);
-			}
-		}
-		return element;
-	}
-
-	private void fillAttributes(IConfigurationElement element) {
-		if (fAttributes == null) {
-			fAttributes = new HashMap();
-		} else {
-			fAttributes.clear();
-		}
-		String[] names = element.getAttributeNames();
-		if (names == null) {
-			return;
-		}
-		int length = names.length;
-		for (int i = 0; i < length; i++) {
-			String name = names[i];
-			fAttributes.put(name.toLowerCase(), element.getAttribute(name));
-		}
-	}
-
-	public CommentElementHandler getHandler() {
-		if (fHandler == null) {
-			if (fElement != null) {
-				try {
-					if (isCustom()) {
-						fHandler = (CommentElementHandler) fElement.createExecutableExtension("class"); //$NON-NLS-1$
-					} else {
-						String elementName = getProperty("elementname"); //$NON-NLS-1$
-						fHandler = new BasicCommentElementHandler(elementName, fEmpty);
-					}
-					//					((AbstractCommentElementHandler)fHandler).setElementPrefix(fElement.getAttribute("prefix"));
-				} catch (Exception e) {
-					// catch and log (and ignore) ANY exception created
-					// by executable extension.
-					Logger.logException(e);
-					fHandler = null;
-				}
-			}
-			if (fHandler == null) {
-				fHandler = new CommentElementHandler() {
-					public Element createElement(Document document, String data, boolean isJSPTag) {
-						return null;
-					}
-
-					public String generateEndTagContent(XMLElement element) {
-						return null;
-					}
-
-					public String generateStartTagContent(XMLElement element) {
-						return null;
-					}
-
-					public String getElementPrefix() {
-						return null;
-					}
-
-					public boolean isCommentElement(XMLElement element) {
-						return false;
-					}
-
-					public boolean isEmpty() {
-						return false;
-					}
-				};
-			}
-		}
-		return fHandler;
-	}
-
-	public String getHandlerID() {
-		if (fID == null) {
-			fID = getProperty("id"); //$NON-NLS-1$
-			if (fID == null) {
-				if (isCustom()) {
-					fID = getProperty("class"); //$NON-NLS-1$				
-				} else {
-					StringBuffer buf = new StringBuffer();
-					buf.append(fElement.getDeclaringExtension().getNamespace());
-					buf.append('.');
-					buf.append(getProperty("elementname")); //$NON-NLS-1$
-					fID = buf.toString();
-				}
-			}
-		}
-		return fID;
-	}
-
-	/**
-	 * @deprecated this should not be needed by anyone
-	 */
-	public IPluginDescriptor getHandlerPluginDescriptor() {
-		return fElement.getDeclaringExtension().getDeclaringPluginDescriptor();
-	}
-
-	public String[] getPrefix() {
-		if (fPrefix == null) {
-			if (fElement != null) {
-				if (isCustom()) { // custom
-					IConfigurationElement[] prefixes = fElement.getChildren("startwith"); //$NON-NLS-1$	
-					if (prefixes != null) {
-						fPrefix = new String[prefixes.length];
-						for (int i = 0; i < prefixes.length; i++) {
-							fPrefix[i] = prefixes[i].getAttribute("prefix"); //$NON-NLS-1$	
-						}
-					}
-				} else { // basic
-					String name = getProperty("elementname"); //$NON-NLS-1$
-					if (name != null) {
-						if (isEmpty()) {
-							fPrefix = new String[1];
-							fPrefix[0] = name;
-						} else {
-							fPrefix = new String[2];
-							fPrefix[0] = name;
-							fPrefix[1] = '/' + name;
-						}
-					}
-				}
-			}
-		}
-		if (fPrefix == null) {
-			fPrefix = new String[1];
-			fPrefix[0] = ""; //$NON-NLS-1$
-		}
-		return fPrefix;
-	}
-
-	public String getProperty(String name) {
-		return (fAttributes != null) ? (String) fAttributes.get(name) : null;
-	}
-
-	private boolean isCustom() {
-		return fCustom;
-	}
-
-	private boolean isEmpty() {
-		return fEmpty;
-	}
-
-	void setupCommentElement(XMLElement element) {
-		element.setCommentTag(true);
-		CommentElementAdapter adapter = new CommentElementAdapter(false, fHandler);
-		adapter.setConfiguration(this);
-		element.addAdapter(adapter);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementRegistry.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementRegistry.java
deleted file mode 100644
index 7fab5ee..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementRegistry.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.commentelement.impl;
-
-
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
-import org.eclipse.wst.xml.core.document.XMLElement;
-
-
-/**
- */
-public class CommentElementRegistry {
-
-	private static CommentElementRegistry fInstance = null;
-
-	public synchronized static CommentElementRegistry getInstance() {
-		if (fInstance == null) {
-			fInstance = new CommentElementRegistry();
-		}
-		return fInstance;
-	}
-
-	private String EXTENSION_POINT_ID = "commentElementHandler"; //$NON-NLS-1$
-	private CommentElementConfiguration[] fConfigurations = null;
-
-	private String PLUGIN_ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for CommentElementRegistry.
-	 */
-	private CommentElementRegistry() {
-		super();
-	}
-
-	public CommentElementConfiguration[] getConfigurations() {
-		if (fConfigurations == null) {
-			IExtensionRegistry registry = Platform.getExtensionRegistry();
-			IExtensionPoint point = registry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-			if (point != null) {
-				IConfigurationElement[] elements = point.getConfigurationElements();
-				fConfigurations = new CommentElementConfiguration[elements.length];
-				for (int i = 0; i < elements.length; i++) {
-					fConfigurations[i] = new CommentElementConfiguration(elements[i]);
-				}
-			}
-			if (fConfigurations == null) {
-				fConfigurations = new CommentElementConfiguration[0];
-			}
-		}
-		return fConfigurations;
-	}
-
-	public boolean setupCommentElement(XMLElement element) {
-		CommentElementConfiguration configurations[] = getConfigurations();
-		int length = configurations.length;
-		for (int i = 0; i < length; i++) {
-			CommentElementConfiguration conf = configurations[i];
-			boolean isJSP = element.isJSPTag();
-			if (isJSP && conf.acceptJSPComment() || !isJSP && conf.acceptXMLComment()) {
-				CommentElementHandler handler = conf.getHandler();
-				if (handler.isCommentElement(element)) {
-					conf.setupCommentElement(element);
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/CommentElementFactory.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/CommentElementFactory.java
deleted file mode 100644
index 2ae4c84..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/CommentElementFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.commentelement.util;
-
-
-
-import org.eclipse.wst.xml.core.commentelement.CommentElementAdapter;
-import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- */
-public class CommentElementFactory {
-	public static final int IS_EMPTY = 4866;
-	public static final int IS_END = 1808;
-
-	public static final int IS_START = 28011;
-
-	private Document fDocument;
-	private CommentElementHandler fHandler;
-	private boolean fJSPTag;
-
-	/**
-	 * Constructor for CommentElementFactory.
-	 */
-	private CommentElementFactory() {
-		super();
-	}
-
-	public CommentElementFactory(Document document, boolean isJSPTag, CommentElementHandler handler) {
-		super();
-		fDocument = document;
-		fJSPTag = isJSPTag;
-		fHandler = handler;
-	}
-
-	public Element create(String name, int nodeType) {
-		XMLElement element = (XMLElement) fDocument.createElement(name);
-		if (element == null)
-			return null;
-		element.setCommentTag(true);
-		if (nodeType == IS_EMPTY) {
-			element.setEmptyTag(true);
-		}
-		element.setJSPTag(fJSPTag);
-
-		CommentElementAdapter adapter = new CommentElementAdapter((nodeType == IS_END), fHandler);
-		element.addAdapter(adapter);
-
-		return element;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/TagScanner.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/TagScanner.java
deleted file mode 100644
index a74fe0b..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/TagScanner.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.commentelement.util;
-
-
-
-/**
- */
-public class TagScanner {
-
-	/**
-	 */
-	private static boolean isEqual(char c) {
-		return (c == '=');
-	}
-
-	/**
-	 */
-	private static boolean isQuote(char c) {
-		return (c == '"' || c == '\'');
-	}
-
-	/**
-	 */
-	private static boolean isSpace(char c) {
-		return Character.isWhitespace(c);
-	}
-
-	private int length = 0;
-	private int memOffset = 0;
-	private int offset = 0;
-	private boolean oneLine = false;
-
-	private String tag = null;
-
-	/**
-	 */
-	public TagScanner(String tag, int offset) {
-		super();
-
-		this.tag = tag;
-		this.offset = offset;
-		this.memOffset = -1;
-		if (tag != null)
-			this.length = tag.length();
-	}
-
-	/**
-	 */
-	public TagScanner(String tag, int offset, boolean oneLine) {
-		this(tag, offset);
-
-		this.oneLine = oneLine;
-	}
-
-	/**
-	 */
-	public int getNextOffset() {
-		int i;
-		char c;
-		for (i = offset; i < length; i++) {
-			c = tag.charAt(i);
-			if (isEnd(c))
-				break;
-			if (isQuote(c)) {
-				i++;
-				break;
-			}
-			if (!isSpace(c) && !isEqual(c))
-				break;
-		}
-		return i;
-	}
-
-	/**
-	 */
-	public int getOffset() {
-		return this.memOffset;
-	}
-
-	/**
-	 */
-	private final boolean isEnd(char c) {
-		return (this.oneLine && (c == '\r' || c == '\n'));
-	}
-
-	/**
-	 */
-	public boolean isNewLine() {
-		if (oneLine)
-			return false;
-		char c;
-		for (int i = memOffset - 1; 0 <= i; i--) {
-			c = tag.charAt(i);
-			if (c == '\r' || c == '\n')
-				return true;
-			if (!isSpace(c))
-				return false;
-		}
-		return false;
-	}
-
-	/**
-	 */
-	private char nextChar() {
-		for (; this.offset < this.length; this.offset++) {
-			char c = this.tag.charAt(this.offset);
-			if (isEnd(c))
-				break;
-			if (!isSpace(c))
-				return c;
-		}
-		return 0;
-	}
-
-	/**
-	 */
-	public String nextName() {
-		if (this.tag == null)
-			return null;
-		if (this.offset >= this.length)
-			return null;
-
-		if (nextChar() == 0)
-			return null;
-
-		int nameOffset = this.offset;
-		for (; this.offset < this.length; this.offset++) {
-			char c = this.tag.charAt(this.offset);
-			if (isEnd(c) || isSpace(c))
-				break;
-			if (isEqual(c) && this.offset > nameOffset)
-				break;
-		}
-		if (this.offset == nameOffset)
-			return null;
-
-		this.memOffset = nameOffset;
-		return this.tag.substring(nameOffset, this.offset);
-	}
-
-	/**
-	 */
-	public String nextValue() {
-		if (this.tag == null)
-			return null;
-		if (this.offset >= this.length)
-			return null;
-
-		char seperator = nextChar();
-		if (!isEqual(seperator))
-			return null;
-		this.offset++; // skip '='
-		char quote = nextChar();
-		if (quote == 0)
-			return null;
-		if (isQuote(quote))
-			this.offset++;
-		else
-			quote = 0;
-
-		int valueOffset = this.offset;
-		for (; this.offset < this.length; this.offset++) {
-			char c = this.tag.charAt(this.offset);
-			if (isEnd(c)) {
-				quote = 0;
-				break;
-			}
-			if (quote == 0) {
-				if (isSpace(c))
-					break;
-			} else {
-				if (c == quote)
-					break;
-			}
-		}
-		int valueEnd = this.offset;
-		if (quote != 0 && this.offset < this.length)
-			this.offset++;
-		if (valueEnd == valueOffset)
-			return null;
-
-		this.memOffset = valueOffset;
-		return this.tag.substring(valueOffset, valueEnd);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/contenttype/ContentTypeIdForXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/contenttype/ContentTypeIdForXML.java
deleted file mode 100644
index 08203a0..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/contenttype/ContentTypeIdForXML.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.core.contenttype;
-
-/**
- * This class, with its one field, is a convience to provide compile-time
- * safety when refering to a contentType ID. The value of the contenttype id
- * field must match what is specified in plugin.xml file.
- */
-
-public class ContentTypeIdForXML {
-	/**
-	 * This content type is actually supplied by base Eclipse. Its given here
-	 * just as documentation for WTP based clients. Typically, clients should
-	 * use the values/constants supplied by base Eclipse.
-	 */
-	public final static String ContentTypeID_XML = "org.eclipse.core.runtime.xml"; //$NON-NLS-1$
-	/**
-	 * This value is public only for testing and special infrastructure The
-	 * constant nor is value should not be referenced by clients.
-	 * 
-	 * The value of the contenttype id field must match what is specified in
-	 * plugin.xml file. Note: this value is intentially not declared as final,
-	 * so it will not be inlined.
-	 */
-	public static String ContentTypeID_SSEXML = "org.eclipse.wst.xml.core.xmlsource"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DocumentLoaderForXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DocumentLoaderForXML.java
deleted file mode 100644
index 0561e4c..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DocumentLoaderForXML.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.common.encoding.CodedReaderCreator;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.EncodingRule;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.document.IDocumentLoaderForFileBuffers;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.document.StructuredDocumentLoader;
-import org.eclipse.wst.xml.core.encoding.XMLDocumentCharsetDetector;
-import org.eclipse.wst.xml.core.internal.filebuffers.DocumentFactoryForXML;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-
-
-
-public class DocumentLoaderForXML extends StructuredDocumentLoader implements IDocumentLoader, IDocumentLoaderForFileBuffers {
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.document.IDocumentLoader#createNewStructuredDocument()
-	 */
-	public IEncodedDocument createNewStructuredDocument() {
-		DocumentFactoryForXML factory = new DocumentFactoryForXML();
-		IEncodedDocument document = (IEncodedDocument) factory.createDocument();
-		return document;
-	}
-
-	public IEncodedDocument createNewStructuredDocument(Reader reader) throws UnsupportedEncodingException, IOException {
-		IEncodedDocument structuredDocument = createNewStructuredDocument();
-		StringBuffer allText = readInputStream(reader);
-		structuredDocument.set(allText.toString());
-		return structuredDocument;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.document.IDocumentLoader#createNewStructuredDocument(java.lang.String,
-	 *      java.io.InputStream)
-	 */
-	public IEncodedDocument createNewStructuredDocument(String filename, InputStream inputStream) throws IOException {
-		return createNewStructuredDocument(filename, inputStream, EncodingRule.CONTENT_BASED);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.document.IDocumentLoader#createNewStructuredDocument(java.lang.String,
-	 *      java.io.InputStream, com.ibm.encoding.resource.EncodingRule)
-	 */
-	public IEncodedDocument createNewStructuredDocument(String filename, InputStream inputStream, EncodingRule encodingRule) throws IOException {
-		if (filename == null && inputStream == null) {
-			throw new IllegalArgumentException("can not have both null filename and inputstream"); //$NON-NLS-1$
-		}
-		CodedReaderCreator codedReaderCreator = new CodedReaderCreator();
-		Reader fullPreparedReader = null;
-		IEncodedDocument structuredDocument = createNewStructuredDocument();
-		try {
-			codedReaderCreator.set(filename, inputStream);
-			codedReaderCreator.setEncodingRule(encodingRule);
-			EncodingMemento encodingMemento = codedReaderCreator.getEncodingMemento();
-			fullPreparedReader = codedReaderCreator.getCodedReader();
-			structuredDocument.setEncodingMemento(encodingMemento);
-			StringBuffer allText = readInputStream(fullPreparedReader);
-			structuredDocument.set(allText.toString());
-		} catch (CoreException e) {
-			// impossible in this context
-			throw new Error(e);
-		} finally {
-			if (fullPreparedReader != null) {
-				fullPreparedReader.close();
-			}
-		}
-
-		return structuredDocument;
-	}
-
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.document.IDocumentLoader#getDefaultDocumentPartitioner()
-	 */
-	public IDocumentPartitioner getDefaultDocumentPartitioner() {
-		return new StructuredTextPartitionerForXML();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.document.IDocumentLoader#getDocumentEncodingDetector()
-	 */
-	public IDocumentCharsetDetector getDocumentEncodingDetector() {
-		return new XMLDocumentCharsetDetector();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.document.IDocumentLoader#handleLineDelimiter(java.lang.StringBuffer,
-	 *      org.eclipse.wst.sse.core.document.IEncodedDocument)
-	 */
-	public StringBuffer handleLineDelimiter(StringBuffer originalString, IEncodedDocument theStructuredDocument) {
-		// TODO Auto-generated method stub
-		return originalString;
-	}
-
-}
-
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DocumentTypeAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DocumentTypeAdapter.java
deleted file mode 100644
index 285ad87..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DocumentTypeAdapter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.w3c.dom.DocumentType;
-
-
-/**
- */
-public interface DocumentTypeAdapter extends INodeAdapter {
-	static final int LOWER_CASE = 2;
-	static final int STRICT_CASE = 0;
-	static final int UPPER_CASE = 1;
-
-	/**
-	 */
-	int getAttrNameCase();
-
-	/**
-	 */
-	DocumentType getDocumentType();
-
-	/**
-	 */
-	int getTagNameCase();
-
-	/**
-	 */
-	boolean hasFeature(String feature);
-
-	/**
-	 */
-	boolean isXMLType();
-
-	/**
-	 */
-	void release();
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/InvalidCharacterException.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/InvalidCharacterException.java
deleted file mode 100644
index 612efd0..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/InvalidCharacterException.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-/**
- * Thrown an invalid character is specified in : XMLNode#setSource(String)
- */
-public class InvalidCharacterException extends Exception {
-
-	/**
-	 * Default <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-	private char invalidChar = 0;
-	private int offset = -1;
-
-	/**
-	 */
-	public InvalidCharacterException() {
-		super();
-	}
-
-	/**
-	 */
-	public InvalidCharacterException(String s) {
-		super(s);
-	}
-
-	/**
-	 */
-	public InvalidCharacterException(String s, char c) {
-		super(s);
-		this.invalidChar = c;
-	}
-
-	/**
-	 */
-	public InvalidCharacterException(String s, char c, int offset) {
-		super(s);
-		this.invalidChar = c;
-		this.offset = offset;
-	}
-
-	/**
-	 */
-	public char getInvalidChar() {
-		return this.invalidChar;
-	}
-
-	/**
-	 */
-	public int getOffset() {
-		return this.offset;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/JSPTag.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/JSPTag.java
deleted file mode 100644
index b4398d9..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/JSPTag.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-/**
- * JSPTag interface
- */
-public interface JSPTag {
-	static final String COMMENT_CLOSE = "--%>";//$NON-NLS-1$
-	static final String COMMENT_OPEN = "<%--";//$NON-NLS-1$
-	static final String DECLARATION_TOKEN = "!";//$NON-NLS-1$
-	static final String DIRECTIVE_TOKEN = "@";//$NON-NLS-1$
-	static final String EXPRESSION_TOKEN = "=";//$NON-NLS-1$
-	static final String JSP_DECLARATION = "jsp:declaration";//$NON-NLS-1$
-	static final String JSP_DIRECTIVE = "jsp:directive";//$NON-NLS-1$
-	static final String JSP_EXPRESSION = "jsp:expression";//$NON-NLS-1$
-	static final String JSP_ROOT = "jsp:root";//$NON-NLS-1$
-
-	static final String JSP_SCRIPTLET = "jsp:scriptlet";//$NON-NLS-1$
-	static final String TAG_CLOSE = "%>";//$NON-NLS-1$
-	static final String TAG_OPEN = "<%";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/TagAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/TagAdapter.java
deleted file mode 100644
index 1c7d0c4..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/TagAdapter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-
-/**
- */
-public interface TagAdapter extends INodeAdapter {
-
-	/**
-	 */
-	String getEndTag(XMLElement element);
-
-	/**
-	 */
-	String getStartTag(XMLElement element);
-
-	/**
-	 */
-	boolean isEndTag();
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLAttr.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLAttr.java
deleted file mode 100644
index 60b8041..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLAttr.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.w3c.dom.Attr;
-
-
-/**
- */
-public interface XMLAttr extends XMLNode, Attr {
-
-	/**
-	 */
-	ITextRegion getEqualRegion();
-
-	/**
-	 * @return
-	 */
-	int getNameRegionEndOffset();
-
-	int getNameRegionStartOffset();
-
-	String getNameRegionText();
-
-	/**
-	 * @return
-	 */
-	int getNameRegionTextEndOffset();
-
-	int getValueRegionStartOffset();
-
-	String getValueRegionText();
-
-	/**
-	 * Check if Attr has JSP in value
-	 */
-	boolean hasJSPValue();
-
-	/**
-	 * Check if Attr has only name but not equal sign nor value
-	 */
-	boolean hasNameOnly();
-
-	/**
-	 */
-	boolean isGlobalAttr();
-
-	/**
-	 */
-	boolean isXMLAttr();
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLCharEntity.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLCharEntity.java
deleted file mode 100644
index d1984d9..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLCharEntity.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-/**
- * XML Namespace constants
- */
-public interface XMLCharEntity {
-	static final String AMP_NAME = "amp";//$NON-NLS-1$
-	static final String AMP_REF = "&amp;";//$NON-NLS-1$
-	static final String AMP_VALUE = "&";//$NON-NLS-1$
-	static final String APOS_NAME = "apos";//$NON-NLS-1$
-	static final String APOS_REF = "&apos;";//$NON-NLS-1$
-	static final String APOS_VALUE = "'";//$NON-NLS-1$
-	static final String GT_NAME = "gt";//$NON-NLS-1$
-	static final String GT_REF = "&gt;";//$NON-NLS-1$
-	static final String GT_VALUE = ">";//$NON-NLS-1$
-
-	static final String LT_NAME = "lt";//$NON-NLS-1$
-	static final String LT_REF = "&lt;";//$NON-NLS-1$
-	static final String LT_VALUE = "<";//$NON-NLS-1$
-	static final String QUOT_NAME = "quot";//$NON-NLS-1$
-	static final String QUOT_REF = "&quot;";//$NON-NLS-1$
-	static final String QUOT_VALUE = "\"";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLDocument.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLDocument.java
deleted file mode 100644
index a461cab..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLDocument.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.ranges.DocumentRange;
-import org.w3c.dom.traversal.DocumentTraversal;
-
-/**
- * This interface enables creation of DOCTYPE declaration and some DOM Level 2
- * interfaces.
- */
-public interface XMLDocument extends XMLNode, Document, DocumentRange, DocumentTraversal {
-
-	/**
-	 * create comment element. tagName must be registered as comment element
-	 * name in plugin.xml
-	 * 
-	 * @param tagName
-	 *            the element name
-	 * @param isJSPTag
-	 *            true if the element is JSP style comment (&lt;%-- ...
-	 *            --%&gt;)
-	 * @return Element element instance
-	 * @throws DOMException
-	 *             throwed if the element name is registered as comment
-	 *             element
-	 */
-	Element createCommentElement(String tagName, boolean isJSPTag) throws DOMException;
-
-	/**
-	 */
-	DocumentType createDoctype(String name);
-
-	/**
-	 */
-	String getDocumentTypeId();
-
-	/**
-	 */
-	boolean isJSPDocument();
-
-	/**
-	 */
-	boolean isJSPType();
-
-	/**
-	 */
-	boolean isXMLType();
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLDocumentType.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLDocumentType.java
deleted file mode 100644
index 082d4ff..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLDocumentType.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.w3c.dom.DocumentType;
-
-/**
- * This interface enables setting of Public and System ID for DOCTYPE
- * declaration.
- */
-public interface XMLDocumentType extends XMLNode, DocumentType {
-
-	/**
-	 */
-	void setPublicId(String publicId);
-
-	/**
-	 */
-	void setSystemId(String systemId);
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLElement.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLElement.java
deleted file mode 100644
index b983975..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLElement.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.w3c.dom.Element;
-
-/**
- */
-public interface XMLElement extends XMLNode, Element {
-
-	/**
-	 * @deprecated this should probably not be public, but already implemented
-	 */
-	int getEndStartOffset();
-
-	/**
-	 */
-	String getEndTagName();
-
-	/**
-	 * @deprecated this should probably not be public, but already implemented
-	 *  
-	 */
-	int getStartEndOffset();
-
-	/**
-	 */
-	boolean hasEndTag();
-
-	/**
-	 */
-	boolean hasStartTag();
-
-	/**
-	 */
-	boolean isCommentTag();
-
-	/**
-	 * isEmptyTag method
-	 * 
-	 * @return boolean
-	 */
-	boolean isEmptyTag();
-
-	/**
-	 */
-	boolean isEndTag();
-
-	/**
-	 * Returns true for "global tag" (basically, without prefix)
-	 */
-	boolean isGlobalTag();
-
-	/**
-	 * Returns true for no the start and the end tags
-	 */
-	boolean isImplicitTag();
-
-	/**
-	 * isJSPTag method
-	 * 
-	 * @return boolean
-	 */
-	boolean isJSPTag();
-
-	/**
-	 */
-	boolean isStartTagClosed();
-
-	/**
-	 */
-	boolean isXMLTag();
-
-	/**
-	 * @deprecated this should probably not be public, but already implemented
-	 */
-	void notifyEndTagChanged();
-
-	/**
-	 * @deprecated this should probably not be public, but already implemented
-	 */
-	void notifyStartTagChanged();
-
-	/**
-	 */
-	void setCommentTag(boolean isCommentTag);
-
-	/**
-	 */
-	void setEmptyTag(boolean isEmptyTag);
-
-	/**
-	 */
-	void setJSPTag(boolean isJSPTag);
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLGenerator.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLGenerator.java
deleted file mode 100644
index 5b9321b..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLGenerator.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.CDATASection;
-import org.w3c.dom.Comment;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.EntityReference;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-
-public interface XMLGenerator {
-
-	/**
-	 */
-	String generateAttrName(Attr attr);
-
-	/**
-	 */
-	String generateAttrValue(Attr attr);
-
-	/**
-	 */
-	String generateAttrValue(Attr attr, char quote);
-
-	/**
-	 */
-	String generateAttrValue(String value, char quote);
-
-	/**
-	 * generateCDATASection method
-	 * 
-	 * @return java.lang.String
-	 * @param comment
-	 *            org.w3c.dom.CDATASection
-	 */
-	String generateCDATASection(CDATASection cdata);
-
-	/**
-	 * generateChild method
-	 * 
-	 * @return java.lang.String
-	 * @param org.w3c.dom.Node
-	 */
-	String generateChild(Node parentNode);
-
-	/**
-	 */
-	String generateCloseTag(Node node);
-
-	/**
-	 * generateComment method
-	 * 
-	 * @return java.lang.String
-	 * @param comment
-	 *            org.w3c.dom.Comment
-	 */
-	String generateComment(Comment comment);
-
-	/**
-	 * generateDoctype method
-	 * 
-	 * @return java.lang.String
-	 * @param docType
-	 *            org.w3c.dom.DocumentType
-	 */
-	String generateDoctype(DocumentType docType);
-
-	/**
-	 * generateElement method
-	 * 
-	 * @return java.lang.String
-	 * @param element
-	 *            Element
-	 */
-	String generateElement(Element element);
-
-	/**
-	 * generateEndTag method
-	 * 
-	 * @return java.lang.String
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	String generateEndTag(Element element);
-
-	/**
-	 * generateEntityRef method
-	 * 
-	 * @return java.lang.String
-	 * @param entityRef
-	 *            org.w3c.dom.EntityReference
-	 */
-	String generateEntityRef(EntityReference entityRef);
-
-	/**
-	 * generatePI method
-	 * 
-	 * @return java.lang.String
-	 * @param pi
-	 *            org.w3c.dom.ProcessingInstruction
-	 */
-	String generatePI(ProcessingInstruction pi);
-
-	/**
-	 * generateSource method
-	 * 
-	 * @return java.lang.String
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	String generateSource(Node node);
-
-	/**
-	 * generateStartTag method
-	 * 
-	 * @return java.lang.String
-	 * @param element
-	 *            Element
-	 */
-	String generateStartTag(Element element);
-
-	/**
-	 */
-	String generateTagName(Element element);
-
-	/**
-	 * generateText method
-	 * 
-	 * @return java.lang.String
-	 * @param text
-	 *            org.w3c.dom.Text
-	 */
-	String generateText(Text text);
-
-	/**
-	 */
-	String generateTextData(Text text, String data);
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLModel.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLModel.java
deleted file mode 100644
index f95cff4..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLModel.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-
-
-/**
- */
-public interface XMLModel extends IStructuredModel {
-
-	XMLDocument getDocument();
-
-	/**
-	 */
-	XMLGenerator getGenerator();
-
-	/**
-	 */
-	XMLModelNotifier getModelNotifier();
-
-	/**
-	 */
-	void setModelNotifier(XMLModelNotifier notifier);
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLModelNotifier.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLModelNotifier.java
deleted file mode 100644
index 1cee885..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLModelNotifier.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public interface XMLModelNotifier {
-
-	/**
-	 * attrReplaced method
-	 * 
-	 * @param element
-	 *            org.w3c.dom.Element
-	 * @param newAttr
-	 *            org.w3c.dom.Attr
-	 * @param oldAttr
-	 *            org.w3c.dom.Attr
-	 */
-	void attrReplaced(Element element, Attr newAttr, Attr oldAttr);
-
-	/**
-	 */
-	void beginChanging();
-
-	/**
-	 */
-	void beginChanging(boolean newModel);
-
-	/**
-	 * Cancel pending notifications. This is called in the context of
-	 * "reinitialization" so is assumed ALL notifications can be safely
-	 * canceled, assuming that once factories and adapters are re-initialized
-	 * they will be re-notified as text is set in model, if still appropriate.
-	 */
-	void cancelPending();
-
-	/**
-	 * childReplaced method
-	 * 
-	 * @param parentNode
-	 *            org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param oldChild
-	 *            org.w3c.dom.Node
-	 */
-	void childReplaced(Node parentNode, Node newChild, Node oldChild);
-
-	/**
-	 */
-	void editableChanged(Node node);
-
-	/**
-	 */
-	void endChanging();
-
-	/**
-	 */
-	void endTagChanged(Element element);
-
-	/**
-	 */
-	boolean hasChanged();
-
-	/**
-	 */
-	boolean isChanging();
-
-	/**
-	 */
-	void propertyChanged(Node node);
-
-	/**
-	 */
-	void startTagChanged(Element element);
-
-	/**
-	 */
-	void structureChanged(Node node);
-
-	/**
-	 * valueChanged method
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	void valueChanged(Node node);
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLNamespace.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLNamespace.java
deleted file mode 100644
index 04188a6..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLNamespace.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-/**
- * XML Namespace constants
- */
-public interface XMLNamespace {
-
-	static final String XMLNS = "xmlns";//$NON-NLS-1$
-	static final String XMLNS_PREFIX = "xmlns:";//$NON-NLS-1$
-	static final String XMLNS_URI = "http://www.w3.org/2000/xmlns/";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLNode.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLNode.java
deleted file mode 100644
index b200581..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLNode.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-/**
- * A interface to make concept clearer, just to denote the combination of
- * three other interfaces.
- *  
- */
-public interface XMLNode extends org.eclipse.wst.sse.core.IndexedRegion, org.eclipse.wst.sse.core.INodeNotifier, org.w3c.dom.Node {
-
-	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	IStructuredDocumentRegion getEndStructuredDocumentRegion();
-
-	/**
-	 */
-	IStructuredDocumentRegion getFirstStructuredDocumentRegion();
-
-	/**
-	 */
-	IStructuredDocumentRegion getLastStructuredDocumentRegion();
-
-	/**
-	 */
-	XMLModel getModel();
-
-	/**
-	 */
-	ITextRegion getNameRegion();
-
-	/**
-	 */
-	String getSource();
-
-	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	IStructuredDocumentRegion getStartStructuredDocumentRegion();
-
-	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocument
-	 */
-	IStructuredDocument getStructuredDocument();
-
-	/**
-	 */
-	ITextRegion getValueRegion();
-
-	/**
-	 */
-	String getValueSource();
-
-	/**
-	 * 
-	 * @return boolean Whether children of the element can be appended or
-	 *         removed.
-	 */
-	boolean isChildEditable();
-
-	/**
-	 */
-	boolean isClosed();
-
-	/**
-	 * isContainer method
-	 * 
-	 * @return boolean
-	 */
-	boolean isContainer();
-
-	/**
-	 */
-	boolean isDataEditable();
-
-	/**
-	 */
-	void setChildEditable(boolean editable);
-
-	/**
-	 */
-	void setDataEditable(boolean editable);
-
-	/**
-	 * faster approach to set
-	 */
-	void setEditable(boolean editable, boolean deep);
-
-	/**
-	 * Sets the specified raw source to the Text node. Throws
-	 * InvalidCharacterException when the specified raw source includes
-	 * invalid characters, such as, ' <', '>' and '&'. Valid character
-	 * entities, such as, "&amp;lt;", are accepted.
-	 */
-	void setSource(String source) throws InvalidCharacterException;
-
-	/**
-	 * Sets the specified raw source to the Text or Attr node's value. When
-	 * the specified raw source includes invalid characters, such as, ' <',
-	 * '>' and '&', converts them. Valid character entities, such as,
-	 * "&amp;lt;", are accepted.
-	 */
-	void setValueSource(String source);
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLText.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLText.java
deleted file mode 100644
index fe80a06..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/XMLText.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.w3c.dom.Text;
-
-/**
- */
-public interface XMLText extends XMLNode, Text {
-
-	/**
-	 * Appends the content of the text node
-	 */
-	void appendText(Text text);
-
-	/**
-	 * Inserts the content of the text node at the specified position
-	 */
-	void insertText(Text text, int offset);
-
-	/**
-	 */
-	boolean isInvalid();
-
-	/**
-	 */
-	boolean isWhitespace();
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/encoding/XMLDocumentCharsetDetector.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/encoding/XMLDocumentCharsetDetector.java
deleted file mode 100644
index d1c07cc..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/encoding/XMLDocumentCharsetDetector.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.encoding;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.document.DocumentReader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.xml.core.internal.contenttype.XMLResourceEncodingDetector;
-
-
-/**
- * This class reads and parses first of XML file to get encoding.
- *  
- */
-public class XMLDocumentCharsetDetector extends XMLResourceEncodingDetector implements IDocumentCharsetDetector {
-
-	/**
-	 * XMLLoader constructor comment.
-	 */
-	public XMLDocumentCharsetDetector() {
-		super();
-	}
-
-	public void set(IDocument document) {
-		set(new DocumentReader(document, 0));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/encoding/XMLDocumentLoader.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/encoding/XMLDocumentLoader.java
deleted file mode 100644
index 854add1..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/encoding/XMLDocumentLoader.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.encoding;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.common.encoding.ContentTypeEncodingPreferences;
-import org.eclipse.wst.sse.core.document.AbstractDocumentLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.document.IEncodedDocument;
-import org.eclipse.wst.sse.core.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.contenttype.ContentTypeIdForXML;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-import org.eclipse.wst.xml.core.internal.parser.XMLStructuredDocumentReParser;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-
-
-/**
- * This class reads an XML file and creates an XML Structured Model.
- * 
- */
-public class XMLDocumentLoader extends AbstractDocumentLoader {
-
-	public XMLDocumentLoader() {
-		super();
-	}
-
-	public IDocumentPartitioner getDefaultDocumentPartitioner() {
-		return new StructuredTextPartitionerForXML();
-	}
-
-	public IDocumentCharsetDetector getDocumentEncodingDetector() {
-		if (fDocumentEncodingDetector == null) {
-			fDocumentEncodingDetector = new XMLDocumentCharsetDetector();
-		}
-		return fDocumentEncodingDetector;
-	}
-
-	public RegionParser getParser() {
-		return new XMLSourceParser();
-	}
-
-	protected String getPreferredNewLineDelimiter() {
-		return ContentTypeEncodingPreferences.getPreferredNewLineDelimiter(ContentTypeIdForXML.ContentTypeID_XML);
-	}
-
-	protected String getSpecDefaultEncoding() {
-		// by default, UTF-8 as per XML spec
-		final String enc = "UTF-8"; //$NON-NLS-1$
-		return enc;
-	}
-
-	protected IEncodedDocument newEncodedDocument() {
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(getParser());
-		if (structuredDocument instanceof BasicStructuredDocument) {
-			((BasicStructuredDocument) structuredDocument).setReParser(new XMLStructuredDocumentReParser());
-		}
-		return structuredDocument;
-	}
-
-	public IDocumentLoader newInstance() {
-		return new XMLDocumentLoader();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/CommentNodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/CommentNodeFormatter.java
deleted file mode 100644
index f962f15..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/CommentNodeFormatter.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.format;
-
-import org.eclipse.wst.sse.core.format.IStructuredFormatContraints;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Node;
-
-
-public class CommentNodeFormatter extends NodeFormatter {
-
-	protected String adjustIndentations(String aString, String lineIndent, String singleIndent) {
-		String result = new String();
-
-		int indexOfLineDelimiter = StringUtils.indexOfLineDelimiter(aString);
-		result = aString.substring(0, indexOfLineDelimiter);
-		while (indexOfLineDelimiter != -1) {
-			// Before find the next LineDelimiter, we have to figure out the
-			// size of the current LineDelimiter
-			// so we can figure out how many bytes to skip before finding the
-			// next LineDelimiter.
-			// Otherwise, we may treat the LF in CRLF as the next
-			// LineDelimiter.
-			int lineDelimiterSize = 1;
-			if (aString.length() >= indexOfLineDelimiter + 2 && aString.substring(indexOfLineDelimiter, indexOfLineDelimiter + 1).compareTo(CR) == 0 && aString.substring(indexOfLineDelimiter + 1, indexOfLineDelimiter + 2).compareTo(LF) == 0)
-				lineDelimiterSize = 2;
-
-			int indexOfNextLineDelimiter = StringUtils.indexOfLineDelimiter(aString, indexOfLineDelimiter + lineDelimiterSize);
-			int indexOfNonblank = StringUtils.indexOfNonblank(aString, indexOfLineDelimiter);
-
-			if (indexOfNonblank != -1) {
-				if (indexOfNextLineDelimiter == -1) {
-					// last line; copy till the end
-					result += lineIndent + singleIndent + aString.substring(indexOfNonblank);
-				} else if (indexOfNextLineDelimiter != -1 && indexOfNextLineDelimiter < indexOfNonblank) {
-					// blank line; just add a indent
-					result += lineIndent + singleIndent;
-				} else {
-					// copy all text between indexOfNonblank and
-					// indexOfNextLineDelimiter
-					result += lineIndent + singleIndent + aString.substring(indexOfNonblank, indexOfNextLineDelimiter);
-				}
-
-				indexOfLineDelimiter = indexOfNextLineDelimiter;
-			} else {
-				if (indexOfNextLineDelimiter == -1) {
-					result += lineIndent;
-				} else {
-					// blank line; just add a indent
-					result += lineIndent + singleIndent;
-				}
-
-				indexOfLineDelimiter = indexOfNextLineDelimiter;
-			}
-		}
-
-		return result;
-	}
-
-	protected void formatNode(XMLNode node, IStructuredFormatContraints formatContraints) {
-		if (node != null) {
-			// lineDelimiterFound means multi line comment
-			String nodeValue = node.getNodeValue();
-			boolean lineDelimiterFoundInComment = StringUtils.containsLineDelimiter(nodeValue);
-
-			if (lineDelimiterFoundInComment) {
-				// format indentation before node
-				formatIndentationBeforeNode(node, formatContraints);
-
-				// adjust indentations in multi line comment
-				String lineDelimiter = node.getModel().getStructuredDocument().getLineDelimiter();
-				String lineIndent = formatContraints.getCurrentIndent();
-				String singleIndent = getFormatPreferences().getIndent();
-				String newNodevalue = adjustIndentations(nodeValue, lineDelimiter + lineIndent, singleIndent);
-				if (nodeValue.compareTo(newNodevalue) != 0)
-					node.setNodeValue(newNodevalue);
-			}
-
-			if (!nodeHasSiblings(node) || (node.getPreviousSibling() != null && node.getPreviousSibling().getNodeType() == Node.TEXT_NODE && !StringUtils.containsLineDelimiter(node.getPreviousSibling().getNodeValue()) && node.getNextSibling() == null)) {
-				// single child
-				// or inline comment after text
-				// do nothing
-			} else
-				// format indentation after node
-				formatIndentationAfterNode(node, formatContraints);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/DocumentNodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/DocumentNodeFormatter.java
deleted file mode 100644
index ee671a9..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/DocumentNodeFormatter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.format;
-
-import org.eclipse.wst.sse.core.format.IStructuredFormatContraints;
-import org.eclipse.wst.sse.core.format.IStructuredFormatter;
-import org.eclipse.wst.xml.core.document.XMLNode;
-
-
-public class DocumentNodeFormatter extends NodeFormatter {
-	protected void formatChildren(XMLNode node, IStructuredFormatContraints formatContraints) {
-		String singleIndent = getFormatPreferences().getIndent();
-		String lineIndent = formatContraints.getCurrentIndent();
-
-		if (node != null && (fProgressMonitor == null || !fProgressMonitor.isCanceled())) {
-			// normalize node first to combine adjacent text nodes
-			node.normalize();
-
-			XMLNode nextChild = (XMLNode) node.getFirstChild();
-			while (nextChild != null) {
-				XMLNode eachChildNode = nextChild;
-				nextChild = (XMLNode) eachChildNode.getNextSibling();
-				IStructuredFormatter formatter = getFormatter(eachChildNode);
-				IStructuredFormatContraints childFormatContraints = formatter.getFormatContraints();
-				String childIndent = lineIndent + singleIndent;
-				childFormatContraints.setCurrentIndent(childIndent);
-				childFormatContraints.setClearAllBlankLines(formatContraints.getClearAllBlankLines());
-
-				// format each child
-				formatter.format(eachChildNode, childFormatContraints);
-
-				if (nextChild != null && nextChild.getParentNode() == null)
-					// nextNode is deleted during format
-					nextChild = (XMLNode) eachChildNode.getNextSibling();
-			}
-		}
-	}
-
-	protected void formatNode(XMLNode node, IStructuredFormatContraints formatContraints) {
-		if (node != null)
-			formatChildren(node, formatContraints);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/ElementNodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/ElementNodeFormatter.java
deleted file mode 100644
index ad5e83f..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/ElementNodeFormatter.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.format;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.format.IStructuredFormatContraints;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLGenerator;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.document.AttrImpl;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-
-public class ElementNodeFormatter extends DocumentNodeFormatter {
-	static protected final char DOUBLE_QUOTE = '"';//$NON-NLS-1$
-	static protected final String DOUBLE_QUOTES = "\"\"";//$NON-NLS-1$
-	static protected final char EQUAL_CHAR = '='; // equal sign$NON-NLS-1$
-	static protected final String PRESERVE = "preserve";//$NON-NLS-1$
-	static protected final String PRESERVE_QUOTED = "\"preserve\"";//$NON-NLS-1$
-	static protected final char SINGLE_QUOTE = '\'';//$NON-NLS-1$
-	static protected final String XML_SPACE = "xml:space";//$NON-NLS-1$
-
-	protected void formatEndTag(XMLNode node, IStructuredFormatContraints formatContraints) {
-		if (!isEndTagMissing(node)) {
-			// end tag exists
-
-			IStructuredDocument structuredDocument = node.getModel().getStructuredDocument();
-			String lineDelimiter = structuredDocument.getLineDelimiter();
-			String nodeIndentation = getNodeIndent(node);
-			XMLNode lastChild = (XMLNode) node.getLastChild();
-			if (lastChild != null && lastChild.getNodeType() != Node.TEXT_NODE) {
-				if (isEndTagMissing(lastChild)) {
-					// find deepest child
-					XMLNode deepestChild = (XMLNode) lastChild.getLastChild();
-					while (deepestChild != null && deepestChild.getLastChild() != null && isEndTagMissing(deepestChild)) {
-						lastChild = deepestChild;
-						deepestChild = (XMLNode) deepestChild.getLastChild();
-					}
-
-					if (deepestChild != null) {
-						if (deepestChild.getNodeType() == Node.TEXT_NODE) {
-							// Special indentation handling if lastChild's end
-							// tag is missing and deepestChild is a text node.
-							String nodeText = deepestChild.getNodeValue();
-
-							if (!nodeText.endsWith(lineDelimiter + nodeIndentation)) {
-								nodeText = StringUtils.appendIfNotEndWith(nodeText, lineDelimiter);
-								nodeText = StringUtils.appendIfNotEndWith(nodeText, nodeIndentation);
-							}
-
-							replaceNodeValue(deepestChild, nodeText);
-						} else
-							insertAfterNode(lastChild, lineDelimiter + nodeIndentation);
-					}
-				} else
-					// indent end tag
-					insertAfterNode(lastChild, lineDelimiter + nodeIndentation);
-			} else if (lastChild == null && firstStructuredDocumentRegionContainsLineDelimiters(node)) {
-				// indent end tag
-				replace(structuredDocument, node.getFirstStructuredDocumentRegion().getEndOffset(), 0, lineDelimiter + nodeIndentation);
-			}
-
-			// format end tag name
-			IStructuredDocumentRegion endTagStructuredDocumentRegion = node.getLastStructuredDocumentRegion();
-			if (endTagStructuredDocumentRegion.getRegions().size() >= 3) {
-				ITextRegion endTagNameRegion = endTagStructuredDocumentRegion.getRegions().get(1);
-				removeRegionSpaces(node, endTagStructuredDocumentRegion, endTagNameRegion);
-			}
-		}
-	}
-
-	protected void formatNode(XMLNode node, IStructuredFormatContraints formatContraints) {
-		if (node != null) {
-			// format indentation before node
-			formatIndentationBeforeNode(node, formatContraints);
-
-			// format start tag
-			XMLNode newNode = node;
-			int startTagStartOffset = node.getStartOffset();
-			XMLModel structuredModel = node.getModel();
-
-			formatStartTag(node, formatContraints);
-			// save new node
-			newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset);
-
-			IStructuredDocumentRegion flatNode = newNode.getFirstStructuredDocumentRegion();
-			if (flatNode != null) {
-				ITextRegionList regions = flatNode.getRegions();
-				ITextRegion lastRegion = regions.get(regions.size() - 1);
-				// format children and end tag if not empty start tag
-				if (lastRegion.getType() != XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-					// format children
-					formatChildren(newNode, formatContraints);
-
-					// save new node
-					newNode = (XMLNode) structuredModel.getIndexedRegion(startTagStartOffset);
-
-					// format end tag
-					formatEndTag(newNode, formatContraints);
-				}
-			}
-
-			// format indentation after node
-			formatIndentationAfterNode(newNode, formatContraints);
-		}
-	}
-
-	/**
-	 * This method formats the start tag name, and formats the attributes if
-	 * available.
-	 */
-	protected void formatStartTag(XMLNode node, IStructuredFormatContraints formatContraints) {
-		String singleIndent = getFormatPreferences().getIndent();
-		String lineIndent = formatContraints.getCurrentIndent();
-		String attrIndent = lineIndent + singleIndent;
-		boolean splitMultiAttrs = ((IStructuredFormatPreferencesXML) fFormatPreferences).getSplitMultiAttrs();
-		IStructuredDocumentRegion flatNode = node.getFirstStructuredDocumentRegion();
-		NamedNodeMap attributes = node.getAttributes();
-
-		// Note: attributes should not be null even if the node has no
-		// attributes. However, attributes.getLength() will be 0. But, check
-		// for null just in case.
-		if (attributes != null) {
-			// compute current available line width
-			int currentAvailableLineWidth = 0;
-			try {
-				// 1 is for "<"
-				int nodeNameOffset = node.getStartOffset() + 1 + node.getNodeName().length();
-				int lineOffset = node.getStructuredDocument().getLineInformationOfOffset(nodeNameOffset).getOffset();
-				String text = node.getStructuredDocument().get(lineOffset, nodeNameOffset - lineOffset);
-				int usedWidth = getIndentationLength(text);
-				currentAvailableLineWidth = getFormatPreferences().getLineWidth() - usedWidth;
-			} catch (BadLocationException exception) {
-				throw new SourceEditingRuntimeException(exception);
-			}
-
-			StringBuffer stringBuffer = new StringBuffer();
-			String lineDelimiter = node.getModel().getStructuredDocument().getLineDelimiter();
-			int attrLength = attributes.getLength();
-			int lastUndefinedRegionOffset = 0;
-			for (int i = 0; i < attrLength; i++) {
-				AttrImpl attr = (AttrImpl) attributes.item(i);
-				ITextRegion nameRegion = attr.getNameRegion();
-				ITextRegion equalRegion = attr.getEqualRegion();
-				ITextRegion valueRegion = attr.getValueRegion();
-
-				// append undefined regions
-				String undefinedRegion = getUndefinedRegions(node, lastUndefinedRegionOffset, attr.getStartOffset() - lastUndefinedRegionOffset);
-				stringBuffer.append(undefinedRegion);
-				lastUndefinedRegionOffset = attr.getStartOffset();
-
-				// check for xml:space attribute
-				if (flatNode.getText(nameRegion).compareTo(XML_SPACE) == 0) {
-					if (valueRegion == null) {
-						ModelQueryAdapter adapter = (ModelQueryAdapter) ((XMLDocument) node.getOwnerDocument()).getAdapterFor(ModelQueryAdapter.class);
-						CMElementDeclaration elementDeclaration = (CMElementDeclaration) adapter.getModelQuery().getCMNode(node);
-						if (elementDeclaration == null)
-							// CMElementDeclaration not found, default to
-							// PRESERVE
-							formatContraints.setClearAllBlankLines(false);
-						else {
-							CMAttributeDeclaration attributeDeclaration = (CMAttributeDeclaration) elementDeclaration.getAttributes().getNamedItem(XML_SPACE);
-							if (attributeDeclaration == null)
-								// CMAttributeDeclaration not found, default
-								// to PRESERVE
-								formatContraints.setClearAllBlankLines(false);
-							else {
-								String defaultValue = attributeDeclaration.getAttrType().getImpliedValue();
-
-								if (defaultValue.compareTo(PRESERVE) == 0)
-									formatContraints.setClearAllBlankLines(false);
-								else
-									formatContraints.setClearAllBlankLines(getFormatPreferences().getClearAllBlankLines());
-							}
-						}
-					} else {
-						XMLGenerator generator = node.getModel().getGenerator();
-						String newAttrValue = generator.generateAttrValue(attr);
-
-						// There is a problem in
-						// StructuredDocumentRegionUtil.getAttrValue(ITextRegion)
-						// when the region is instanceof ContextRegion.
-						// Workaround for now.
-						if (flatNode.getText(valueRegion).length() == 1) {
-							char firstChar = flatNode.getText(valueRegion).charAt(0);
-							if ((firstChar == DOUBLE_QUOTE) || (firstChar == SINGLE_QUOTE))
-								newAttrValue = DOUBLE_QUOTES;
-						}
-
-						if (newAttrValue.compareTo(PRESERVE_QUOTED) == 0)
-							formatContraints.setClearAllBlankLines(false);
-						else
-							formatContraints.setClearAllBlankLines(getFormatPreferences().getClearAllBlankLines());
-					}
-				}
-
-				if (splitMultiAttrs && attrLength > 1) {
-					stringBuffer.append(lineDelimiter + attrIndent);
-					stringBuffer.append(flatNode.getText(nameRegion));
-					if (valueRegion != null) {
-						// append undefined regions
-						undefinedRegion = getUndefinedRegions(node, lastUndefinedRegionOffset, flatNode.getStartOffset(equalRegion) - lastUndefinedRegionOffset);
-						stringBuffer.append(undefinedRegion);
-						lastUndefinedRegionOffset = flatNode.getStartOffset(equalRegion);
-
-						stringBuffer.append(EQUAL_CHAR);
-
-						// append undefined regions
-						undefinedRegion = getUndefinedRegions(node, lastUndefinedRegionOffset, flatNode.getStartOffset(valueRegion) - lastUndefinedRegionOffset);
-						stringBuffer.append(undefinedRegion);
-						lastUndefinedRegionOffset = flatNode.getStartOffset(valueRegion);
-
-						// Note: trim() should not be needed for
-						// valueRegion.getText(). Just a workaround for a
-						// problem found in valueRegion for now.
-						stringBuffer.append(flatNode.getText(valueRegion).trim());
-					}
-				} else {
-					if (valueRegion != null) {
-						int textLength = 1 + flatNode.getText(nameRegion).length() + 1 + flatNode.getText(valueRegion).length();
-						if (i == attrLength - 1) {
-							if (flatNode != null) {
-								ITextRegionList regions = flatNode.getRegions();
-								ITextRegion lastRegion = regions.get(regions.size() - 1);
-								if (lastRegion.getType() != XMLRegionContext.XML_EMPTY_TAG_CLOSE)
-									// 3 is for " />"
-									textLength += 3;
-								else
-									// 1 is for ">"
-									textLength++;
-							}
-						}
-
-						if (currentAvailableLineWidth >= textLength) {
-							stringBuffer.append(SPACE_CHAR);
-							currentAvailableLineWidth--;
-						} else {
-							stringBuffer.append(lineDelimiter + attrIndent);
-							currentAvailableLineWidth = getFormatPreferences().getLineWidth() - attrIndent.length();
-						}
-
-						stringBuffer.append(flatNode.getText(nameRegion));
-
-						// append undefined regions
-						undefinedRegion = getUndefinedRegions(node, lastUndefinedRegionOffset, flatNode.getStartOffset(equalRegion) - lastUndefinedRegionOffset);
-						stringBuffer.append(undefinedRegion);
-						lastUndefinedRegionOffset = flatNode.getStartOffset(equalRegion);
-
-						stringBuffer.append(EQUAL_CHAR);
-
-						// append undefined regions
-						undefinedRegion = getUndefinedRegions(node, lastUndefinedRegionOffset, flatNode.getStartOffset(valueRegion) - lastUndefinedRegionOffset);
-						stringBuffer.append(undefinedRegion);
-						lastUndefinedRegionOffset = flatNode.getStartOffset(valueRegion);
-
-						// Note: trim() should not be needed for
-						// valueRegion.getText(). Just a workaround for a
-						// problem found in valueRegion for now.
-						stringBuffer.append(flatNode.getText(valueRegion).trim());
-
-						currentAvailableLineWidth -= flatNode.getText(nameRegion).length();
-						currentAvailableLineWidth--;
-						currentAvailableLineWidth -= flatNode.getText(valueRegion).trim().length();
-					} else {
-						if (currentAvailableLineWidth >= 1 + flatNode.getText(nameRegion).length()) {
-							stringBuffer.append(SPACE_CHAR);
-							currentAvailableLineWidth--;
-						} else {
-							stringBuffer.append(lineDelimiter + attrIndent);
-							currentAvailableLineWidth = getFormatPreferences().getLineWidth() - attrIndent.length();
-						}
-
-						stringBuffer.append(flatNode.getText(nameRegion));
-
-						currentAvailableLineWidth -= flatNode.getText(nameRegion).length();
-					}
-				}
-			}
-
-			// append undefined regions
-			String undefinedRegion = getUndefinedRegions(node, lastUndefinedRegionOffset, node.getEndOffset() - lastUndefinedRegionOffset);
-			stringBuffer.append(undefinedRegion);
-
-			XMLModel structuredModel = node.getModel();
-			IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-			// 1 is for "<"
-			int offset = node.getStartOffset() + 1 + node.getNodeName().length();
-			// 1 is for "<"
-			int length = node.getFirstStructuredDocumentRegion().getTextLength() - 1 - node.getNodeName().length();
-
-			if (flatNode != null) {
-				ITextRegionList regions = flatNode.getRegions();
-				ITextRegion firstRegion = regions.get(0);
-				ITextRegion lastRegion = regions.get(regions.size() - 1);
-
-				if (firstRegion.getType() == XMLRegionContext.XML_END_TAG_OPEN)
-					// skip formatting for end tags in this format: </tagName>
-					return;
-				else {
-					if (lastRegion.getType() == XMLRegionContext.XML_TAG_CLOSE || lastRegion.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE)
-						length = length - lastRegion.getLength();
-
-					if (lastRegion.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE)
-						// leave space before XML_EMPTY_TAG_CLOSE: <tagName />
-						stringBuffer.append(SPACE_CHAR);
-				}
-			}
-
-			replace(structuredDocument, offset, length, stringBuffer.toString());
-		}
-	}
-
-	protected String getUndefinedRegions(XMLNode node, int startOffset, int length) {
-		String result = new String();
-
-		IStructuredDocumentRegion flatNode = node.getFirstStructuredDocumentRegion();
-		ITextRegionList regions = flatNode.getRegions();
-		for (int i = 0; i < regions.size(); i++) {
-			ITextRegion region = regions.get(i);
-			String regionType = region.getType();
-			int regionStartOffset = flatNode.getStartOffset(region);
-
-			if (regionType.compareTo(XMLRegionContext.UNDEFINED) == 0 && regionStartOffset >= startOffset && regionStartOffset < startOffset + length)
-				result = result + flatNode.getFullText(region);
-		}
-
-		if (result.length() > 0)
-			return SPACE + result.trim();
-		else
-			return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/FormatProcessorXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/FormatProcessorXML.java
deleted file mode 100644
index 292bde5..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/FormatProcessorXML.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.format;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.sse.core.format.AbstractStructuredFormatProcessor;
-import org.eclipse.wst.sse.core.format.IStructuredFormatPreferences;
-import org.eclipse.wst.sse.core.format.IStructuredFormatter;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.document.CDATASectionImpl;
-import org.w3c.dom.Node;
-
-public class FormatProcessorXML extends AbstractStructuredFormatProcessor {
-	protected IStructuredFormatPreferences fFormatPreferences = null;
-
-	protected String getFileExtension() {
-		return "xml"; //$NON-NLS-1$
-	}
-
-	public IStructuredFormatPreferences getFormatPreferences() {
-		if (fFormatPreferences == null) {
-			fFormatPreferences = new StructuredFormatPreferencesXML();
-
-			Preferences preferences = getModelPreferences();
-			if (preferences != null) {
-				fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
-				((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
-				fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
-
-				if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
-					fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
-				else {
-					int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
-					String indent = ""; //$NON-NLS-1$
-					for (int i = 0; i < tabWidth; i++) {
-						indent += " "; //$NON-NLS-1$
-					}
-					fFormatPreferences.setIndent(indent);
-				}
-			}
-		}
-
-		return fFormatPreferences;
-	}
-
-	protected IStructuredFormatter getFormatter(Node node) {
-		// 262135 - NPE during format of empty document
-		if (node == null)
-			return null;
-
-		short nodeType = node.getNodeType();
-		IStructuredFormatter formatter = null;
-		switch (nodeType) {
-			case Node.ELEMENT_NODE : {
-				formatter = new ElementNodeFormatter();
-				break;
-			}
-			case Node.TEXT_NODE : {
-				if (node instanceof CDATASectionImpl)
-					formatter = new NodeFormatter();
-				else
-					formatter = new TextNodeFormatter();
-				break;
-			}
-			case Node.COMMENT_NODE : {
-				formatter = new CommentNodeFormatter();
-				break;
-			}
-			case Node.PROCESSING_INSTRUCTION_NODE : {
-				formatter = new NodeFormatter();
-				break;
-			}
-			case Node.DOCUMENT_NODE : {
-				formatter = new DocumentNodeFormatter();
-				break;
-			}
-			default : {
-				formatter = new NodeFormatter();
-			}
-		}
-
-		// init fomatter
-		formatter.setFormatPreferences(getFormatPreferences());
-		formatter.setProgressMonitor(fProgressMonitor);
-
-		return formatter;
-	}
-
-	protected Preferences getModelPreferences() {
-		return XMLCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	protected void refreshFormatPreferences() {
-		fFormatPreferences = null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/IStructuredFormatPreferencesXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/IStructuredFormatPreferencesXML.java
deleted file mode 100644
index bc3facc..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/IStructuredFormatPreferencesXML.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.format;
-
-import org.eclipse.wst.sse.core.format.IStructuredFormatPreferences;
-
-public interface IStructuredFormatPreferencesXML extends IStructuredFormatPreferences {
-	boolean getSplitMultiAttrs();
-
-	void setSplitMultiAttrs(boolean splitMultiAttrs);
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/NodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/NodeFormatter.java
deleted file mode 100644
index 73d7afc..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/NodeFormatter.java
+++ /dev/null
@@ -1,765 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.format;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.format.IStructuredFormatContraints;
-import org.eclipse.wst.sse.core.format.IStructuredFormatPreferences;
-import org.eclipse.wst.sse.core.format.IStructuredFormatter;
-import org.eclipse.wst.sse.core.format.StructuredFormatContraints;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.internal.parser.ContextRegion;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.document.CDATASectionImpl;
-import org.eclipse.wst.xml.core.internal.parser.regions.TagNameRegion;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Node;
-
-public class NodeFormatter implements IStructuredFormatter {
-	static protected final String CR = "\r"; //$NON-NLS-1$
-	static protected final String CRLF = "\r\n"; //$NON-NLS-1$
-	static protected final String DELIMITERS = " \t\n\r\f"; //$NON-NLS-1$
-	static protected final String EMPTY_STRING = ""; //$NON-NLS-1$
-	static protected final String FF = "\f"; //$NON-NLS-1$
-	static protected final String LF = "\n"; //$NON-NLS-1$
-	static protected final String SPACE = " "; //$NON-NLS-1$
-	static protected final char SPACE_CHAR = ' '; //$NON-NLS-1$
-	static protected final String TAB = "\t"; //$NON-NLS-1$
-	static protected final char TAB_CHAR = '\t'; //$NON-NLS-1$
-	protected IStructuredFormatContraints fFormatContraints = null;
-	protected IStructuredFormatPreferences fFormatPreferences = null;
-	protected IProgressMonitor fProgressMonitor = null;
-
-	protected String compressSpaces(String string, IStructuredFormatContraints formatContraints) {
-		/*
-		 * Note that the StructuredTextEditor supports mixed new line
-		 * characters (CR, LF, CRLF) in one file. We have to handle that when
-		 * we try to preserve blank lines.
-		 */
-		String[] stringArray = null;
-		boolean clearAllBlankLines = formatContraints.getClearAllBlankLines();
-
-		if (clearAllBlankLines)
-			stringArray = StringUtils.asArray(string);
-		else
-			stringArray = StringUtils.asArray(string, DELIMITERS, true);
-
-		StringBuffer compressedString = new StringBuffer();
-		if (stringArray.length > 0) {
-			boolean cr = false, lf = false, cr2 = false, nonSpace = true;
-
-			if (stringArray[0].compareTo(CR) == 0)
-				cr = true;
-			else if (stringArray[0].compareTo(LF) == 0)
-				lf = true;
-			else if ((stringArray[0].compareTo(SPACE) != 0) && (stringArray[0].compareTo(TAB) != 0) && (stringArray[0].compareTo(FF) != 0)) {
-				compressedString.append(stringArray[0]);
-				nonSpace = true;
-			}
-
-			for (int i = 1; i < stringArray.length; i++) {
-				if (stringArray[i].compareTo(CR) == 0) {
-					if (cr && lf) {
-						if (nonSpace) {
-							compressedString.append(CR + LF);
-							nonSpace = false;
-						}
-						compressedString.append(stringArray[i]);
-						cr2 = true;
-					} else if (cr) {
-						if (nonSpace) {
-							compressedString.append(CR);
-							nonSpace = false;
-						}
-						compressedString.append(stringArray[i]);
-						cr2 = true;
-					} else
-						cr = true;
-				} else if (stringArray[i].compareTo(LF) == 0) {
-					if (cr && lf && cr2) {
-						compressedString.append(stringArray[i]);
-					} else if (lf) {
-						if (nonSpace) {
-							compressedString.append(LF);
-							nonSpace = false;
-						}
-						compressedString.append(stringArray[i]);
-					} else
-						lf = true;
-				} else if ((stringArray[i].compareTo(SPACE) != 0) && (stringArray[i].compareTo(TAB) != 0) && (stringArray[i].compareTo(FF) != 0)) {
-					if (compressedString.length() > 0)
-						compressedString.append(SPACE);
-					compressedString.append(stringArray[i]);
-
-					cr = false;
-					lf = false;
-					cr2 = false;
-					nonSpace = true;
-				}
-			}
-		}
-
-		return compressedString.toString();
-	}
-
-	protected boolean firstStructuredDocumentRegionContainsLineDelimiters(XMLNode node) {
-		boolean result = false;
-
-		if (node != null) {
-			IStructuredDocumentRegion firstStructuredDocumentRegion = node.getFirstStructuredDocumentRegion();
-			if (firstStructuredDocumentRegion != null && firstStructuredDocumentRegion.getText() != null) {
-				String firstStructuredDocumentRegionText = firstStructuredDocumentRegion.getText();
-				result = StringUtils.containsLineDelimiter(firstStructuredDocumentRegionText);
-			}
-		}
-
-		return result;
-	}
-
-	public void format(Node node) {
-		IStructuredFormatContraints formatContraints = getFormatContraints();
-
-		format(node, formatContraints);
-	}
-
-	public void format(Node node, IStructuredFormatContraints formatContraints) {
-		if (formatContraints.getFormatWithSiblingIndent())
-			formatContraints.setCurrentIndent(getSiblingIndent(node));
-
-		if (node instanceof XMLNode)
-			formatNode((XMLNode) node, formatContraints);
-	}
-
-	protected void formatIndentationAfterNode(XMLNode node, IStructuredFormatContraints formatContraints) {
-		if (node != null) {
-			XMLNode nextSibling = (XMLNode) node.getNextSibling();
-			IStructuredDocument doc = node.getModel().getStructuredDocument();
-			int line = doc.getLineOfOffset(node.getEndOffset());
-			String lineDelimiter = doc.getLineDelimiter();
-			try {
-				lineDelimiter = doc.getLineDelimiter(line);
-				if (lineDelimiter == null)
-					lineDelimiter = ""; //$NON-NLS-1$
-			} catch (BadLocationException exception) {
-				throw new SourceEditingRuntimeException(exception);
-			}
-
-			if (node.getParentNode() != null) {
-				if (node.getParentNode().getNodeType() == Node.DOCUMENT_NODE)
-					if (nextSibling != null)
-						if (nextSibling.getNodeType() == Node.TEXT_NODE)
-							getFormatter(nextSibling).format(nextSibling, formatContraints);
-						else if (nextSibling.getNodeType() == Node.COMMENT_NODE) {
-							// do nothing
-						} else {
-							String lineIndent = formatContraints.getCurrentIndent();
-							insertAfterNode(node, lineDelimiter + lineIndent);
-						}
-					else {
-					}
-
-				else if (nextSibling != null)
-					if (nextSibling.getNodeType() == Node.TEXT_NODE)
-						getFormatter(nextSibling).format(nextSibling, formatContraints);
-					else if (nextSibling.getNodeType() == Node.COMMENT_NODE) {
-						// do nothing
-					} else {
-						String lineIndent = formatContraints.getCurrentIndent();
-						insertAfterNode(node, lineDelimiter + lineIndent);
-					}
-				else {
-					XMLNode indentNode = getParentIndentNode(node);
-					String lineIndent = getNodeIndent(indentNode);
-					XMLNode lastChild = getDeepestChildNode(node);
-					boolean clearAllBlankLines = formatContraints.getClearAllBlankLines();
-
-					if (lastChild != null) {
-						if ((lastChild.getNodeType() == Node.TEXT_NODE) && (lastChild.getNodeValue().endsWith(lineDelimiter + lineIndent))) {
-							// this text node already ends with the requested
-							// indentation
-						}
-
-						else if ((lastChild.getNodeType() == Node.TEXT_NODE) && (lastChild.getNodeValue() != null && lastChild.getNodeValue().endsWith(lineDelimiter)))
-							if (clearAllBlankLines) {
-								replaceNodeValue(lastChild, lineDelimiter + lineIndent);
-							} else {
-								// append indentation
-								insertAfterNode(lastChild, lineIndent);
-							}
-						else if (lastChild.getNodeType() == Node.TEXT_NODE)
-							if (lastChild.getNodeValue().length() == 0) {
-								// replace
-								replaceNodeValue(lastChild, lineDelimiter + lineIndent);
-							} else {
-								// append indentation
-								insertAfterNode(lastChild, lineDelimiter + lineIndent);
-							}
-						else {
-							// append indentation
-							insertAfterNode(lastChild, lineDelimiter + lineIndent);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	protected void formatIndentationBeforeNode(XMLNode node, IStructuredFormatContraints formatContraints) {
-		if (node != null) {
-			XMLNode previousSibling = (XMLNode) node.getPreviousSibling();
-			IStructuredDocument doc = node.getModel().getStructuredDocument();
-			int line = doc.getLineOfOffset(node.getStartOffset());
-			String lineDelimiter = doc.getLineDelimiter();
-			try {
-				if (line > 0) {
-					lineDelimiter = doc.getLineDelimiter(line - 1);
-					if (lineDelimiter == null)
-						lineDelimiter = ""; //$NON-NLS-1$
-				}
-			} catch (BadLocationException exception) {
-				throw new SourceEditingRuntimeException(exception);
-			}
-			String lineIndent = formatContraints.getCurrentIndent();
-
-			if (node.getParentNode() != null) {
-				if (node.getParentNode().getNodeType() == Node.DOCUMENT_NODE) {
-					if (previousSibling != null)
-						if (previousSibling.getNodeType() == Node.TEXT_NODE)
-							getFormatter(previousSibling).format(previousSibling, formatContraints);
-						else {
-							insertBeforeNode(node, lineDelimiter + lineIndent);
-						}
-				} else {
-					if (previousSibling == null || previousSibling.getNodeType() != Node.TEXT_NODE) {
-						// 261968 - formatting tag without closing bracket:
-						// <t1><t1
-						// 265673 - Null ptr in formatIndentationBeforeNode
-						int prevEndNodeOffset = -1;
-						int prevEndRegionOffset = -1;
-						if (previousSibling != null) {
-							prevEndNodeOffset = previousSibling.getEndOffset();
-							IStructuredDocumentRegion endRegion = previousSibling.getEndStructuredDocumentRegion();
-							if (endRegion != null) {
-								prevEndRegionOffset = endRegion.getTextEndOffset();
-							}
-						}
-						if ((previousSibling == null) || (prevEndNodeOffset != -1 && prevEndNodeOffset == prevEndRegionOffset)) {
-							insertBeforeNode(node, lineDelimiter + lineIndent);
-						}
-
-					} else {
-						if (previousSibling.getNodeValue().length() == 0) {
-							// replace
-							replaceNodeValue(previousSibling, lineDelimiter + lineIndent);
-						} else {
-							// append indentation
-							if (!previousSibling.getNodeValue().endsWith(lineDelimiter + lineIndent)) {
-								if (previousSibling.getNodeValue().endsWith(lineDelimiter)) {
-									insertAfterNode(previousSibling, lineIndent);
-								} else
-									getFormatter(previousSibling).format(previousSibling, formatContraints);
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	protected void formatNode(XMLNode node, IStructuredFormatContraints formatContraints) {
-		if (node != null && (fProgressMonitor == null || !fProgressMonitor.isCanceled())) {
-			// format indentation before node
-			formatIndentationBeforeNode(node, formatContraints);
-
-			// format indentation after node
-			formatIndentationAfterNode(node, formatContraints);
-		}
-	}
-
-	/**
-	 * This method will compute the correct indentation after this node
-	 * depending on the indentations of its sibling nodes and parent node. Not
-	 * needed anymore?
-	 */
-	protected void formatTrailingText(XMLNode node, IStructuredFormatContraints formatContraints) {
-		String lineDelimiter = node.getModel().getStructuredDocument().getLineDelimiter();
-		String lineIndent = formatContraints.getCurrentIndent();
-		String parentLineIndent = getNodeIndent(node.getParentNode());
-		boolean clearAllBlankLines = formatContraints.getClearAllBlankLines();
-
-		if ((node != null) && (node.getNodeType() != Node.DOCUMENT_NODE)) {
-			XMLNode nextSibling = (XMLNode) node.getNextSibling();
-			if ((nextSibling != null) && (nextSibling.getNodeType() == Node.TEXT_NODE)) {
-				String nextSiblingText = nextSibling.getNodeValue();
-				if (nextSibling.getNextSibling() == null)
-					if ((nextSibling.getParentNode().getNodeType() == Node.DOCUMENT_NODE) && (nextSiblingText.trim().length() == 0))
-						// delete spaces at the end of the document
-						replaceNodeValue(nextSibling, EMPTY_STRING);
-					else
-						// replace the text node with parent indentation
-						replaceNodeValue(nextSibling, lineDelimiter + parentLineIndent);
-				else
-					// replace the text node with indentation
-					replaceNodeValue(nextSibling, lineDelimiter + lineIndent);
-			} else {
-				if (nextSibling == null) {
-					lineIndent = parentLineIndent;
-
-					if (node.getParentNode().getNodeType() != Node.DOCUMENT_NODE)
-						if ((node.getNodeType() == Node.TEXT_NODE) && (node.getNodeValue().endsWith(lineDelimiter + lineIndent))) {
-							// this text node already ends with the requested
-							// indentation
-						}
-
-						else if ((node.getNodeType() == Node.TEXT_NODE) && (node.getNodeValue().endsWith(lineDelimiter)))
-							if (clearAllBlankLines)
-								replaceNodeValue(node, lineDelimiter + lineIndent);
-							else
-								// append indentation
-								insertAfterNode(node, lineIndent);
-						else if (node.getNodeType() == Node.TEXT_NODE)
-							if (node.getNodeValue().length() == 0)
-								// replace
-								replaceNodeValue(node, lineDelimiter + lineIndent);
-							else
-							// append indentation
-							if (!node.getNodeValue().endsWith(lineDelimiter + lineIndent))
-								if (node.getNodeValue().endsWith(lineDelimiter))
-									insertAfterNode(node, lineIndent);
-								else
-									insertAfterNode(node, lineDelimiter + lineIndent);
-							else
-								replaceNodeValue(node, lineDelimiter + lineIndent);
-				} else {
-					if ((node.getNodeType() == Node.TEXT_NODE) && (node.getNodeValue().endsWith(lineDelimiter + lineIndent))) {
-						// this text node already ends with the requested
-						// indentation
-					}
-
-					else if ((node.getNodeType() == Node.TEXT_NODE) && (node.getNodeValue().endsWith(lineDelimiter)))
-						if (clearAllBlankLines)
-							replaceNodeValue(node, lineDelimiter + lineIndent);
-						else
-							// append indentation
-							insertAfterNode(node, lineIndent);
-					else if (node.getNodeType() == Node.TEXT_NODE)
-						if (node.getNodeValue().length() == 0)
-							// replace
-							replaceNodeValue(node, lineDelimiter + lineIndent);
-						else
-							// append indentation
-							insertAfterNode(node, lineDelimiter + lineIndent);
-					else
-						// append indentation
-						insertAfterNode(node, lineDelimiter + lineIndent);
-				}
-			}
-		}
-	}
-
-	protected String getCompressedNodeText(XMLNode node, IStructuredFormatContraints formatContraints) {
-		return compressSpaces(getNodeText(node), formatContraints);
-	}
-
-	protected XMLNode getDeepestChildNode(XMLNode node) {
-		XMLNode result = null;
-		XMLNode lastChild = (XMLNode) node.getLastChild();
-
-		if (lastChild == null)
-			result = node;
-		else {
-			result = getDeepestChildNode(lastChild);
-
-			if ((result.getNodeType() == Node.TEXT_NODE || result.getNodeType() == Node.COMMENT_NODE) && !isEndTagMissing(node))
-				result = node;
-		}
-
-		return result;
-	}
-
-	public IStructuredFormatContraints getFormatContraints() {
-		if (fFormatContraints == null) {
-			fFormatContraints = new StructuredFormatContraints();
-
-			fFormatContraints.setClearAllBlankLines(getFormatPreferences().getClearAllBlankLines());
-		}
-
-		return fFormatContraints;
-	}
-
-	public IStructuredFormatPreferences getFormatPreferences() {
-		if (fFormatPreferences == null) {
-			fFormatPreferences = new StructuredFormatPreferencesXML();
-
-			Preferences preferences = getModelPreferences();
-			if (preferences != null) {
-				fFormatPreferences.setLineWidth(preferences.getInt(CommonModelPreferenceNames.LINE_WIDTH));
-				((IStructuredFormatPreferencesXML) fFormatPreferences).setSplitMultiAttrs(preferences.getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
-				fFormatPreferences.setClearAllBlankLines(preferences.getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
-
-				if (preferences.getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS))
-					fFormatPreferences.setIndent("\t"); //$NON-NLS-1$
-				else {
-					int tabWidth = SSECorePlugin.getDefault().getPluginPreferences().getInt(CommonModelPreferenceNames.TAB_WIDTH);
-					String indent = ""; //$NON-NLS-1$
-					for (int i = 0; i < tabWidth; i++) {
-						indent += " "; //$NON-NLS-1$
-					}
-					fFormatPreferences.setIndent(indent);
-				}
-			}
-		}
-
-		return fFormatPreferences;
-	}
-
-	protected IStructuredFormatter getFormatter(XMLNode node) {
-		// 262135 - NPE during format of empty document
-		if (node == null)
-			return null;
-
-		short nodeType = ((Node) node).getNodeType();
-		IStructuredFormatter formatter = null;
-		switch (nodeType) {
-			case Node.ELEMENT_NODE : {
-				formatter = new ElementNodeFormatter();
-				break;
-			}
-			case Node.TEXT_NODE : {
-				if (node instanceof CDATASectionImpl)
-					formatter = new NodeFormatter();
-				else
-					formatter = new TextNodeFormatter();
-				break;
-			}
-			case Node.COMMENT_NODE : {
-				formatter = new CommentNodeFormatter();
-				break;
-			}
-			case Node.PROCESSING_INSTRUCTION_NODE : {
-				formatter = new NodeFormatter();
-				break;
-			}
-			case Node.DOCUMENT_NODE : {
-				formatter = new DocumentNodeFormatter();
-				break;
-			}
-			default : {
-				formatter = new NodeFormatter();
-			}
-		}
-
-		// init fomatter
-		formatter.setFormatPreferences(getFormatPreferences());
-		formatter.setProgressMonitor(fProgressMonitor);
-
-		return formatter;
-	}
-
-	protected int getIndentationLength(String indent) {
-		// TODO Kit : The calculation of IndentationLength is not correct
-		// here.
-		// nodeIndentation may contain tabs. Multiply by 4 temporarily to get
-		// approx. width.
-		// Need to re-work.
-
-		int indentationLength = 0;
-
-		for (int i = 0; i < indent.length(); i++) {
-			if (indent.substring(i, i + 1).compareTo(TAB) == 0)
-				indentationLength += 4;
-			else
-				indentationLength++;
-		}
-
-		return indentationLength;
-	}
-
-	protected Preferences getModelPreferences() {
-		return XMLCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	/**
-	 * This method will find the indentation for this node. It will search
-	 * backwards starting from the beginning of the node until a character
-	 * other than a space or a tab is found. If this node is null or it's a
-	 * document node or it's a first level node (node's parent is a document
-	 * node) the default empty string will be returned as the indentation.
-	 */
-	protected String getNodeIndent(Node node) {
-		String result = EMPTY_STRING;
-
-		if ((node != null) && (node.getNodeType() != Node.DOCUMENT_NODE) && (node.getParentNode() != null) && (node.getParentNode().getNodeType() != Node.DOCUMENT_NODE)) {
-			XMLNode siblingTextNode = (XMLNode) node.getPreviousSibling();
-			if ((siblingTextNode != null) && (siblingTextNode.getNodeType() == Node.TEXT_NODE)) {
-				// find the indentation
-				String siblingText = siblingTextNode.getNodeValue();
-				int siblingTextLength = siblingText.length();
-				if ((siblingText != null) && (siblingTextLength > 0) && ((siblingText.charAt(siblingTextLength - 1) == SPACE_CHAR) || (siblingText.charAt(siblingTextLength - 1) == TAB_CHAR))) {
-					int searchIndex = siblingTextLength - 1;
-					while ((searchIndex >= 0) && ((siblingText.charAt(searchIndex) == SPACE_CHAR) || (siblingText.charAt(searchIndex) == TAB_CHAR)))
-						searchIndex--;
-
-					if (searchIndex < siblingTextLength)
-						result = siblingText.substring(searchIndex + 1, siblingTextLength);
-				}
-			}
-		}
-
-		return result;
-	}
-
-	protected String getNodeName(XMLNode node) {
-		return node.getNodeName();
-	}
-
-	protected String getNodeText(XMLNode node) {
-		String text = null;
-
-		if ((node instanceof org.eclipse.wst.xml.core.internal.document.CharacterDataImpl) && !(node instanceof org.eclipse.wst.xml.core.internal.document.CommentImpl) && !(node instanceof org.eclipse.wst.xml.core.internal.document.CDATASectionImpl) && !isJSPTag(node))
-			text = ((org.eclipse.wst.xml.core.internal.document.CharacterDataImpl) node).getSource();
-		else
-			text = node.getFirstStructuredDocumentRegion().getText();
-
-		return text;
-	}
-
-	protected XMLNode getParentIndentNode(XMLNode node) {
-		XMLNode result = null;
-		XMLNode parentNode = (XMLNode) node.getParentNode();
-
-		if (parentNode.getNodeType() == Node.DOCUMENT_NODE)
-			result = parentNode;
-		else {
-			ITextRegion region = parentNode.getLastStructuredDocumentRegion().getFirstRegion();
-			if (region.getType() == XMLRegionContext.XML_END_TAG_OPEN)
-				result = parentNode;
-			else
-				result = getParentIndentNode(parentNode);
-		}
-
-		return result;
-	}
-
-	/**
-	 * This method will find the indentation for a node sibling to this node.
-	 * It will try to find a sibling node before this node first. If there is
-	 * no sibling node before this node, it will try to find a sibling node
-	 * after this node. If still not found, we will check if this node is
-	 * already indented from its parent. If yes, this node's indentation will
-	 * be used. Otherwise, the parent node's indentation plus one indentation
-	 * will be used. If this node is null or it's a document node or it's a
-	 * first level node (node's parent is a document node) the default empty
-	 * string will be returned as the indentation.
-	 */
-	protected String getSiblingIndent(Node node) {
-		String result = EMPTY_STRING;
-
-		if ((node != null) && (node.getNodeType() != Node.DOCUMENT_NODE) && (node.getParentNode() != null) && (node.getParentNode().getNodeType() != Node.DOCUMENT_NODE)) {
-			// find the text node before the previous non-text sibling
-			// if that's not found, we will try the text node before the next
-			// non-text sibling
-			XMLNode sibling = (XMLNode) node.getPreviousSibling();
-			while ((sibling != null) && (sibling.getNodeType() == Node.TEXT_NODE || sibling.getNodeType() == Node.COMMENT_NODE)) {
-				if (sibling.getNodeType() == Node.COMMENT_NODE && sibling.getPreviousSibling() != null && sibling.getPreviousSibling().getNodeType() == Node.TEXT_NODE && StringUtils.containsLineDelimiter(sibling.getPreviousSibling().getNodeValue()))
-					break;
-				sibling = (XMLNode) sibling.getPreviousSibling();
-			}
-			if (sibling == null) {
-				sibling = (XMLNode) node.getNextSibling();
-				while ((sibling != null) && (sibling.getNodeType() == Node.TEXT_NODE))
-					sibling = (XMLNode) sibling.getNextSibling();
-			}
-			String singleIndent = getFormatPreferences().getIndent();
-			String parentLineIndent = getNodeIndent(node.getParentNode());
-
-			if (sibling != null) {
-				String siblingIndent = getNodeIndent(sibling);
-				if (siblingIndent.length() > 0)
-					result = siblingIndent;
-				else {
-					String nodeIndent = getNodeIndent(node);
-					if (nodeIndent.length() > parentLineIndent.length())
-						// this node is indented from its parent, its
-						// indentation will be used
-						result = nodeIndent;
-					else
-						result = parentLineIndent + singleIndent;
-				}
-			} else {
-				String nodeIndent = getNodeIndent(node);
-				if (nodeIndent.length() > parentLineIndent.length())
-					// this node is indented from its parent, its indentation
-					// will be used
-					result = nodeIndent;
-				else
-					result = parentLineIndent + singleIndent;
-			}
-		}
-
-		return result;
-	}
-
-	protected void insertAfterNode(XMLNode node, String string) {
-		XMLModel structuredModel = node.getModel();
-		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-
-		int offset = node.getEndOffset();
-		int length = 0;
-
-		// 261968 - formatting tag without closing bracket: <t1><t1
-		if (node.getEndStructuredDocumentRegion() != null) {
-			offset = node.getEndStructuredDocumentRegion().getTextEndOffset();
-			length = node.getEndOffset() - offset;
-		}
-		replace(structuredDocument, offset, length, string);
-	}
-
-	protected void insertBeforeNode(XMLNode node, String string) {
-		XMLModel structuredModel = node.getModel();
-		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-
-		replace(structuredDocument, node.getStartOffset(), 0, string);
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return type.equals(IStructuredFormatter.class);
-	}
-
-	protected boolean isEndTagMissing(XMLNode node) {
-		boolean result = false;
-
-		if ((node != null) && (node.getNodeType() != Node.DOCUMENT_NODE) && !isJSPTag(node)) {
-			IStructuredDocumentRegion startTagStructuredDocumentRegion = node.getFirstStructuredDocumentRegion();
-			IStructuredDocumentRegion endTagStructuredDocumentRegion = node.getLastStructuredDocumentRegion();
-
-			ITextRegion startTagNameRegion = null;
-			if (startTagStructuredDocumentRegion.getRegions().size() > 1)
-				startTagNameRegion = startTagStructuredDocumentRegion.getRegions().get(1);
-			ITextRegion endTagNameRegion = null;
-			if (endTagStructuredDocumentRegion.getRegions().size() > 1)
-				endTagNameRegion = endTagStructuredDocumentRegion.getRegions().get(1);
-
-			ITextRegionList startTagRegions = startTagStructuredDocumentRegion.getRegions();
-			if (startTagNameRegion == endTagNameRegion && startTagNameRegion != null && (startTagRegions.get(0)).getType() != XMLRegionContext.XML_END_TAG_OPEN && (startTagRegions.get(startTagRegions.size() - 1).getType()) != XMLRegionContext.XML_EMPTY_TAG_CLOSE)
-				// end tag missing
-				result = true;
-		}
-
-		return result;
-	}
-
-	protected boolean isJSPTag(XMLNode node) {
-		boolean result = false;
-
-		IStructuredDocumentRegion flatNode = node.getFirstStructuredDocumentRegion();
-		// in some cases, the nodes exists, but hasn't been associated with
-		// a flatnode yet (the screen updates can be initiated on a different
-		// thread,
-		// so the request for a flatnode can come in before the node is fully
-		// formed.
-		// if the flatnode is null, we'll just allow the defaults to apply.
-		// (html adapter in this case).
-		if (flatNode != null) {
-			String flatNodeType = flatNode.getType();
-			if ((flatNodeType == XMLJSPRegionContexts.JSP_CONTENT) || (flatNodeType == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN) || (flatNodeType == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN) || (flatNodeType == XMLJSPRegionContexts.JSP_DECLARATION_OPEN) || (flatNodeType == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE) || (flatNodeType == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) || (flatNodeType == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN) || (flatNodeType == XMLJSPRegionContexts.JSP_CLOSE)) {
-				result = true;
-			}
-		}
-
-		return result;
-	}
-
-	protected boolean nodeHasSiblings(XMLNode node) {
-		return (node.getPreviousSibling() != null) || (node.getNextSibling() != null);
-	}
-
-	/**
-	 * Node changed. No format should be performed automatically.
-	 */
-	public void notifyChanged(org.eclipse.wst.sse.core.INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	protected void removeRegionSpaces(XMLNode node, IStructuredDocumentRegion flatNode, ITextRegion region) {
-		if ((region != null) && (region instanceof ContextRegion || region instanceof TagNameRegion) && (flatNode.getEndOffset(region) > flatNode.getTextEndOffset(region))) {
-			XMLModel structuredModel = node.getModel();
-			IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-
-			replace(structuredDocument, flatNode.getTextEndOffset(region), flatNode.getEndOffset(region) - flatNode.getTextEndOffset(region), EMPTY_STRING);
-		}
-	}
-
-	/**
-	 * This method will replace the string at offset and length with a new
-	 * string. If the string to be replaced is the same as the new string, the
-	 * string will not be replaced.
-	 */
-	protected void replace(IStructuredDocument structuredDocument, int offset, int length, String string) {
-		try {
-			String structuredDocumentString = structuredDocument.get(offset, length);
-			if (structuredDocumentString.compareTo(string) != 0)
-				structuredDocument.replaceText(structuredDocument, offset, length, string);
-		} catch (BadLocationException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		}
-	}
-
-	/**
-	 * This method will replace the node value with a new string. If the node
-	 * value to be replaced is the same as the new string, the node value will
-	 * not be replaced.
-	 */
-	protected void replaceNodeValue(XMLNode node, String string) {
-		XMLModel structuredModel = node.getModel();
-		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
-		int offset = node.getStartOffset();
-		int length = node.getEndOffset() - node.getStartOffset();
-
-		try {
-			String structuredDocumentString = structuredDocument.get(offset, length);
-			if (structuredDocumentString.compareTo(string) != 0)
-				replace(structuredDocument, offset, length, string);
-		} catch (BadLocationException exception) {
-			throw new SourceEditingRuntimeException(exception);
-		}
-	}
-
-	public void setFormatPreferences(IStructuredFormatPreferences formatPreferences) {
-		fFormatPreferences = formatPreferences;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.format.IStructuredFormatter#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void setProgressMonitor(IProgressMonitor monitor) {
-		fProgressMonitor = monitor;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/StructuredFormatPreferencesXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/StructuredFormatPreferencesXML.java
deleted file mode 100644
index 079ae41..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/StructuredFormatPreferencesXML.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.format;
-
-import org.eclipse.wst.sse.core.format.StructuredFormatPreferences;
-
-public class StructuredFormatPreferencesXML extends StructuredFormatPreferences implements IStructuredFormatPreferencesXML {
-	private boolean fSplitMultiAttrs;
-
-	public boolean getSplitMultiAttrs() {
-		return fSplitMultiAttrs;
-	}
-
-	public void setSplitMultiAttrs(boolean splitMultiAttrs) {
-		fSplitMultiAttrs = splitMultiAttrs;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/TextNodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/TextNodeFormatter.java
deleted file mode 100644
index 9bc4fe1..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/TextNodeFormatter.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.format;
-
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.format.IStructuredFormatContraints;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Node;
-
-
-public class TextNodeFormatter extends NodeFormatter {
-	protected void formatNode(XMLNode node, IStructuredFormatContraints formatContraints) {
-		if (node != null) {
-			IStructuredDocument doc = node.getModel().getStructuredDocument();
-			int line = doc.getLineOfOffset(node.getStartOffset());
-			String lineDelimiter = doc.getLineDelimiter();
-			try {
-				lineDelimiter = doc.getLineDelimiter(line);
-				if (lineDelimiter == null)
-					lineDelimiter = ""; //$NON-NLS-1$
-			} catch (BadLocationException exception) {
-				throw new SourceEditingRuntimeException(exception);
-			}
-			int lineWidth = getFormatPreferences().getLineWidth();
-			XMLNode parentNode = (XMLNode) node.getParentNode();
-			String nodeIndentation = formatContraints.getCurrentIndent();
-
-			// compute current available line width
-			int currentAvailableLineWidth = 0;
-			try {
-				int nodeNameOffset = node.getStartOffset();
-				int lineOffset = node.getStructuredDocument().getLineInformationOfOffset(nodeNameOffset).getOffset();
-				String text = node.getStructuredDocument().get(lineOffset, nodeNameOffset - lineOffset);
-				int usedWidth = getIndentationLength(text);
-				currentAvailableLineWidth = getFormatPreferences().getLineWidth() - usedWidth;
-			} catch (BadLocationException exception) {
-				throw new SourceEditingRuntimeException(exception);
-			}
-
-			String compressedText = getCompressedNodeText(node, formatContraints);
-
-			if (((compressedText.length() <= (currentAvailableLineWidth - node.getParentNode().getNodeName().length() - 3) && !StringUtils.containsLineDelimiter(compressedText)) && (!nodeHasSiblings(node) || (!StringUtils.containsLineDelimiter(node.getNodeValue()) && node.getNextSibling() != null && node.getNextSibling().getNodeType() == Node.COMMENT_NODE && !StringUtils.containsLineDelimiter(node.getNextSibling().getNodeValue()))) && !firstStructuredDocumentRegionContainsLineDelimiters((XMLNode) node.getParentNode())) || node.getStartStructuredDocumentRegion().getStartOffset() == 0) {
-				// enough space
-				// and text has no line delimiters
-				// and (node has no siblings or followed by inline comment)
-				// and
-				// parentFirstStructuredDocumentRegionContainsLineDelimiters
-
-				if (isEndTagMissing(parentNode)) {
-					parentNode = (XMLNode) parentNode.getParentNode();
-					while (isEndTagMissing(parentNode))
-						parentNode = (XMLNode) parentNode.getParentNode();
-
-					// add parent's indentation to end
-					nodeIndentation = getNodeIndent(parentNode);
-
-					if (!compressedText.endsWith(lineDelimiter + nodeIndentation)) {
-						compressedText = StringUtils.appendIfNotEndWith(compressedText, lineDelimiter);
-						compressedText = StringUtils.appendIfNotEndWith(compressedText, nodeIndentation);
-					}
-				}
-
-				if ((parentNode != null) && (parentNode.getNodeType() == Node.DOCUMENT_NODE) && (node.getNodeValue().length() > 0) && (node.getNodeValue().trim().length() == 0) && ((node.getPreviousSibling() == null) || (node.getNextSibling() == null)))
-					// delete spaces at the beginning or end of the document
-					compressedText = EMPTY_STRING;
-
-				replaceNodeValue(node, compressedText);
-			} else {
-				// not enough space, need to reflow text
-
-				currentAvailableLineWidth = lineWidth - getIndentationLength(nodeIndentation);
-				List vector = reflowText(compressedText, currentAvailableLineWidth);
-				int vectorSize = vector.size();
-				String reflowedText = new String();
-
-				for (int i = 0; i < vectorSize; i++) {
-					if (((String) vector.get(i)).trim().length() > 0)
-						reflowedText = reflowedText + lineDelimiter + nodeIndentation + (String) vector.get(i);
-					else
-						reflowedText = reflowedText + lineDelimiter;
-				}
-
-				if (node.getNextSibling() == null) {
-					if (isEndTagMissing(parentNode)) {
-						// don't add indentation to end if parent end tag is
-						// missing
-					}
-
-					else {
-						// add parent's indentation to end
-						nodeIndentation = getNodeIndent(parentNode);
-
-						if (!reflowedText.endsWith(lineDelimiter + nodeIndentation)) {
-							reflowedText = StringUtils.appendIfNotEndWith(reflowedText, lineDelimiter);
-							reflowedText = StringUtils.appendIfNotEndWith(reflowedText, nodeIndentation);
-						}
-					}
-				} else {
-					if (!reflowedText.endsWith(lineDelimiter + nodeIndentation)) {
-						// not already ended with the expected indentation
-
-						if (node.getNextSibling().getNodeType() == Node.COMMENT_NODE) {
-							// add indentation to end if
-							// currentTextEndsWithLineDelimiter
-							// or followed by multiLineComment
-
-							String nodeText = getNodeText(node);
-							int indexOfLastLineDelimiter = StringUtils.indexOfLastLineDelimiter(nodeText);
-							boolean currentTextEndsWithLineDelimiter = indexOfLastLineDelimiter != -1;
-							if (currentTextEndsWithLineDelimiter) {
-								// no more non blank character after the last
-								// line delimiter
-								currentTextEndsWithLineDelimiter = StringUtils.indexOfNonblank(nodeText, indexOfLastLineDelimiter) == -1;
-							}
-
-							String nodeValue = node.getNextSibling().getNodeValue();
-							boolean multiLineComment = StringUtils.containsLineDelimiter(nodeValue);
-
-							if (currentTextEndsWithLineDelimiter || multiLineComment) {
-								reflowedText = StringUtils.appendIfNotEndWith(reflowedText, lineDelimiter);
-								reflowedText = StringUtils.appendIfNotEndWith(reflowedText, nodeIndentation);
-							}
-						} else {
-							// not a comment, just add add indentation to end
-							reflowedText = StringUtils.appendIfNotEndWith(reflowedText, lineDelimiter);
-							reflowedText = StringUtils.appendIfNotEndWith(reflowedText, nodeIndentation);
-						}
-					}
-				}
-
-				replaceNodeValue(node, reflowedText);
-			}
-
-		}
-	}
-
-	protected Vector reflowText(String text, int availableWidth) {
-		String[] stringArray = null;
-		boolean clearAllBlankLines = getFormatPreferences().getClearAllBlankLines();
-
-		if (clearAllBlankLines)
-			stringArray = StringUtils.asArray(text);
-		else
-			stringArray = StringUtils.asArray(text, DELIMITERS, true);
-
-		Vector output = new Vector();
-		if ((stringArray != null) && (stringArray.length > 0)) {
-			StringBuffer buffer = new StringBuffer();
-			if (stringArray[0].compareTo(CR) != 0)
-				buffer.append(stringArray[0]);
-			int bufferLength = stringArray[0].toString().length();
-			boolean cr = stringArray[0].compareTo(CR) == 0;
-
-			for (int i = 1; i < stringArray.length; i++) {
-				String eachString = stringArray[i];
-				if ((eachString.compareTo(SPACE) != 0) && (eachString.compareTo(TAB) != 0) && (eachString.compareTo(FF) != 0)) {
-					if ((bufferLength + 1 + eachString.length() > availableWidth) || (eachString.compareTo(CR) == 0) || (eachString.compareTo(LF) == 0)) {
-						if ((eachString.compareTo(LF) == 0) && cr) {
-							// do nothing
-						} else {
-							output.add(buffer.toString());
-							buffer = new StringBuffer();
-							bufferLength = 0;
-						}
-						cr = eachString.compareTo(CR) == 0;
-					} else if (buffer.toString().trim().length() > 0) {
-						buffer.append(SPACE);
-						bufferLength++;
-					}
-					if ((eachString.compareTo(CR) != 0) && (eachString.compareTo(LF) != 0)) {
-						buffer.append(eachString);
-						bufferLength = bufferLength + eachString.length();
-					}
-				}
-			}
-			output.add(buffer.toString());
-		} else
-			output.add(text);
-
-		return output;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/DebugAdapterFactory.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/DebugAdapterFactory.java
deleted file mode 100644
index 4275c50..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/DebugAdapterFactory.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal;
-
-import java.util.ArrayList;
-
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.PropagatingAdapterFactory;
-
-
-public class DebugAdapterFactory extends AbstractAdapterFactory implements PropagatingAdapterFactory {
-
-	/**
-	 * Constructor for PageDirectiveWatcherFactory.
-	 */
-	public DebugAdapterFactory() {
-		this(IDebugAdapter.class, true);
-	}
-
-	/**
-	 * Constructor for PageDirectiveWatcherFactory.
-	 * 
-	 * @param adapterKey
-	 * @param registerAdapters
-	 */
-	public DebugAdapterFactory(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.PropagatingAdapterFactory#addContributedFactories(org.eclipse.wst.sse.core.AdapterFactory)
-	 */
-	public void addContributedFactories(AdapterFactory factory) {
-		//none expected
-	}
-
-	public AdapterFactory copy() {
-		return new DebugAdapterFactory(this.adapterKey, this.shouldRegisterAdapter);
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		EveryNodeDebugAdapter result = null;
-		result = EveryNodeDebugAdapter.getInstance();
-		return result;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.AdapterFactory#isFactoryForType(java.lang.Object)
-	 */
-	public boolean isFactoryForType(Object type) {
-
-		return IDebugAdapter.class == type;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.PropagatingAdapterFactory#setContributedFactories(java.util.ArrayList)
-	 */
-	public void setContributedFactories(ArrayList list) {
-		// none expected
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/EveryNodeDebugAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/EveryNodeDebugAdapter.java
deleted file mode 100644
index dc23897..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/EveryNodeDebugAdapter.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal;
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.wst.sse.core.IModelStateListener;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.events.AboutToBeChangeEvent;
-import org.eclipse.wst.sse.core.events.IModelAboutToBeChangedListener;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.XMLNode;
-
-
-/**
- * Purely for use in debugging
- */
-public class EveryNodeDebugAdapter implements IDebugAdapter {
-
-	static class InternalDocumentListener implements IDocumentListener {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-		 */
-		public void documentAboutToBeChanged(DocumentEvent event) {
-			Debug.println("IdocumentAboutToBeChanged: " + event); //$NON-NLS-1$
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-		 */
-		public void documentChanged(DocumentEvent event) {
-			Debug.println("IdocumentChanged: " + event); //$NON-NLS-1$
-
-		}
-
-	}
-
-	static class InternalModelStateListener implements IModelStateListener {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.IModelStateListener#modelAboutToBeChanged(org.eclipse.wst.sse.core.IStructuredModel)
-		 */
-		public void modelAboutToBeChanged(IStructuredModel model) {
-			Debug.println("modelAboutToBeChanged: " + model); //$NON-NLS-1$
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.IModelStateListener#modelChanged(org.eclipse.wst.sse.core.IStructuredModel)
-		 */
-		public void modelChanged(IStructuredModel model) {
-			Debug.println("modelChanged: " + model); //$NON-NLS-1$
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.IModelStateListener#modelDirtyStateChanged(org.eclipse.wst.sse.core.IStructuredModel,
-		 *      boolean)
-		 */
-		public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-			Debug.println("modelDirtyStateChanged: " + model); //$NON-NLS-1$
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.IModelStateListener#modelResourceDeleted(org.eclipse.wst.sse.core.IStructuredModel)
-		 */
-		public void modelResourceDeleted(IStructuredModel model) {
-			Debug.println("modelResourceDeleted: " + model); //$NON-NLS-1$
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.IModelStateListener#modelResourceMoved(org.eclipse.wst.sse.core.IStructuredModel,
-		 *      org.eclipse.wst.sse.core.IStructuredModel)
-		 */
-		public void modelResourceMoved(IStructuredModel oldModel, IStructuredModel newModel) {
-			Debug.println("modelResourceMoved: " + "oldModel: " + oldModel + "newModel: " + newModel); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-
-	}
-
-	static class InternalStructuredDocumentAboutToChange implements IModelAboutToBeChangedListener {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IModelAboutToBeChangedListener#modelAboutToBeChanged(org.eclipse.wst.sse.core.events.AboutToBeChangeEvent)
-		 */
-		public void modelAboutToBeChanged(AboutToBeChangeEvent structuredDocumentEvent) {
-			Debug.println("structuredDocumentAboutToBeChanged: " + structuredDocumentEvent); //$NON-NLS-1$
-
-		}
-
-	}
-
-	static class InternalStructuredDocumentListener implements IStructuredDocumentListener {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#newModel(org.eclipse.wst.sse.core.events.NewDocumentContentEvent)
-		 */
-		public void newModel(NewDocumentEvent structuredDocumentEvent) {
-			Debug.println("structuredDocumentChanged - newModel: " + structuredDocumentEvent); //$NON-NLS-1$
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#noChange(org.eclipse.wst.sse.core.events.NoChangeEvent)
-		 */
-		public void noChange(NoChangeEvent structuredDocumentEvent) {
-			Debug.println("structuredDocumentChanged - noChange: " + structuredDocumentEvent); //$NON-NLS-1$
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#nodesReplaced(org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent)
-		 */
-		public void nodesReplaced(StructuredDocumentRegionsReplacedEvent structuredDocumentEvent) {
-			Debug.println("structuredDocumentChanged - nodesReplaced: " + structuredDocumentEvent); //$NON-NLS-1$
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#regionChanged(org.eclipse.wst.sse.core.events.RegionChangedEvent)
-		 */
-		public void regionChanged(RegionChangedEvent structuredDocumentEvent) {
-			Debug.println("structuredDocumentChanged - regionChanged: " + structuredDocumentEvent); //$NON-NLS-1$
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.sse.core.events.IStructuredDocumentListener#regionsReplaced(org.eclipse.wst.sse.core.events.RegionsReplacedEvent)
-		 */
-		public void regionsReplaced(RegionsReplacedEvent structuredDocumentEvent) {
-			Debug.println("structuredDocumentChanged - regionsReplaced: " + structuredDocumentEvent); //$NON-NLS-1$
-
-		}
-
-	}
-
-	private static EveryNodeDebugAdapter singletonInstance;
-
-	public static EveryNodeDebugAdapter getInstance() {
-		if (singletonInstance == null) {
-			singletonInstance = new EveryNodeDebugAdapter();
-		}
-		return singletonInstance;
-	}
-
-	InternalDocumentListener fInternalDocumentListener;
-	InternalModelStateListener fInternalModelStateListener;
-	InternalStructuredDocumentAboutToChange fInternalStructuredDocumentAboutToChange;
-	InternalStructuredDocumentListener fInternalStructuredDocumentListener;
-	IStructuredModel fModel;
-
-	/**
-	 *  
-	 */
-	public EveryNodeDebugAdapter() {
-		super();
-		fInternalDocumentListener = new InternalDocumentListener();
-		fInternalStructuredDocumentAboutToChange = new InternalStructuredDocumentAboutToChange();
-		fInternalStructuredDocumentListener = new InternalStructuredDocumentListener();
-		fInternalModelStateListener = new InternalModelStateListener();
-	}
-
-	/**
-	 * @param target
-	 */
-	public EveryNodeDebugAdapter(INodeNotifier target) {
-		this();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.INodeAdapter#isAdapterForType(java.lang.Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == IDebugAdapter.class);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.INodeAdapter#notifyChanged(org.eclipse.wst.sse.core.INodeNotifier,
-	 *      int, java.lang.Object, java.lang.Object, java.lang.Object, int)
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (notifier instanceof XMLNode) {
-			setModel(((XMLNode) notifier).getModel());
-		}
-		Debug.println("notifier: " + notifier + " " + INodeNotifier.EVENT_TYPE_STRINGS[eventType] + " changedFeature: " + changedFeature + " oldValue: " + oldValue + " newValue: " + newValue + " pos: " + pos); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.internal.IDebugAdapter#setDocument(org.eclipse.wst.sse.core.text.IStructuredDocument)
-	 */
-	private void setModel(IStructuredModel structuredModel) {
-		if (fModel == structuredModel)
-			return;
-
-		if (fModel != null) {
-			fModel.removeModelStateListener(fInternalModelStateListener);
-			//
-			IStructuredDocument structuredDocument = fModel.getStructuredDocument();
-			if (structuredDocument != null) {
-				structuredDocument.removeDocumentListener(fInternalDocumentListener);
-				structuredDocument.removeDocumentAboutToChangeListener(fInternalStructuredDocumentAboutToChange);
-				structuredDocument.removeDocumentChangedListener(fInternalStructuredDocumentListener);
-			}
-		}
-		fModel = structuredModel;
-		if (fModel != null) {
-
-			fModel.addModelStateListener(fInternalModelStateListener);
-			//
-			IStructuredDocument structuredDocument = fModel.getStructuredDocument();
-			if (structuredDocument != null) {
-				structuredDocument.addDocumentListener(fInternalDocumentListener);
-				structuredDocument.addDocumentAboutToChangeListener(fInternalStructuredDocumentAboutToChange);
-				structuredDocument.addDocumentChangedListener(fInternalStructuredDocumentListener);
-			}
-		}
-
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/IDebugAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/IDebugAdapter.java
deleted file mode 100644
index 50b9025..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/IDebugAdapter.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal;
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-
-
-public interface IDebugAdapter extends INodeAdapter {
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/Logger.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/Logger.java
deleted file mode 100644
index 47770a0..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/Logger.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if
- * desired, the console. This class should only be used by classes in this
- * plugin. Other plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.wst.xml.core"; //$NON-NLS-1$
-	
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int INFO_DEBUG = 200 + INFO;
-
-	public static final int OK = IStatus.OK; // 0
-
-	public static final int OK_DEBUG = 200 + OK;
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int WARNING_DEBUG = 200 + WARNING;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePlugin.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePlugin.java
deleted file mode 100644
index 57992c1..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePlugin.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class XMLCorePlugin extends Plugin {
-	//The shared instance.
-	private static XMLCorePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static XMLCorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * @deprecated use ResourcesPlugin.getWorkspace();
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * The constructor.
-	 */
-	public XMLCorePlugin() {
-		super();
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
-	 */
-	protected void initializeDefaultPluginPreferences() {
-		Preferences prefs = getDefault().getPluginPreferences();
-		// set model preference defaults
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_TAG_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.CLEANUP_ATTR_NAME_CASE, CommonModelPreferenceNames.ASIS);
-		prefs.setDefault(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS, true);
-		prefs.setDefault(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, true);
-		prefs.setDefault(CommonModelPreferenceNames.INSERT_MISSING_TAGS, true);
-		prefs.setDefault(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, true);
-		prefs.setDefault(CommonModelPreferenceNames.FORMAT_SOURCE, true);
-		prefs.setDefault(CommonModelPreferenceNames.CONVERT_EOL_CODES, false);
-
-		prefs.setDefault(CommonEncodingPreferenceNames.INPUT_CODESET, ""); //$NON-NLS-1$
-		prefs.setDefault(CommonEncodingPreferenceNames.OUTPUT_CODESET, CommonModelPreferenceNames.UTF_8);
-		prefs.setDefault(CommonEncodingPreferenceNames.END_OF_LINE_CODE, ""); //$NON-NLS-1$
-
-		prefs.setDefault(CommonModelPreferenceNames.TAB_WIDTH, 4);
-
-		prefs.setDefault(CommonModelPreferenceNames.FORMATTING_SUPPORTED, true);
-		prefs.setDefault(CommonModelPreferenceNames.LINE_WIDTH, 72);
-		prefs.setDefault(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, false);
-		prefs.setDefault(CommonModelPreferenceNames.INDENT_USING_TABS, true);
-		prefs.setDefault(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, false);
-
-		prefs.setDefault(CommonModelPreferenceNames.PREFERRED_MARKUP_CASE_SUPPORTED, false);
-		prefs.setDefault(CommonModelPreferenceNames.TAG_NAME_CASE, CommonModelPreferenceNames.LOWER);
-		prefs.setDefault(CommonModelPreferenceNames.ATTR_NAME_CASE, CommonModelPreferenceNames.LOWER);
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.xml.core.internal.XMLCorePluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePluginResources.properties b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePluginResources.properties
deleted file mode 100644
index 49a18aa..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/XMLCorePluginResources.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Invalid_character_('<')_fo_ERROR_=Invalid character ('<') found
-Invalid_character_('>')_fo_ERROR_=Invalid character ('>') found
-Invalid_character_('&')_fo_ERROR_=Invalid character ('&') found
-Invalid_character_('__')_f_EXC_=Invalid character ('\"') found
-###############################################################################
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/AbstractResourceEncodingDetector.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/AbstractResourceEncodingDetector.java
deleted file mode 100644
index a4f8e1b..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/AbstractResourceEncodingDetector.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.nio.charset.UnsupportedCharsetException;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.encoding.CodedIO;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.common.encoding.internal.ByteReader;
-
-
-public abstract class AbstractResourceEncodingDetector implements IResourceCharsetDetector {
-
-	protected EncodingMemento fEncodingMemento;
-
-	protected boolean fHeaderParsed;
-
-	protected Reader fReader;
-
-	/**
-	 *  
-	 */
-	public AbstractResourceEncodingDetector() {
-		super();
-	}
-
-	/**
-	 * Note: once this instance is created, trace info still needs to be
-	 * appended by caller, depending on the context its created.
-	 */
-	private void createEncodingMemento(String detectedCharsetName) {
-		fEncodingMemento = new EncodingMemento();
-		fEncodingMemento.setJavaCharsetName(getAppropriateJavaCharset(detectedCharsetName));
-		fEncodingMemento.setDetectedCharsetName(detectedCharsetName);
-		// TODO: if detectedCharset and spec default is
-		// null, need to use "work
-		// bench based" defaults.
-		fEncodingMemento.setAppropriateDefault(getSpecDefaultEncoding());
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 * 
-	 * @param detectedCharsetName
-	 * @param reason
-	 */
-	final protected void createEncodingMemento(String detectedCharsetName, String reason) {
-		createEncodingMemento(detectedCharsetName);
-		fEncodingMemento.addTrace(reason);
-	}
-
-	/**
-	 * convience method all subclasses can use (but not override)
-	 */
-	final protected void ensureInputSet() {
-		if (fReader == null) {
-			throw new IllegalStateException("input must be set before use"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * This method can return null, if invalid charset name (in which case
-	 * "appropriateDefault" should be used, if a name is really need for some
-	 * "save anyway" cases).
-	 * 
-	 * @param detectedCharsetName
-	 * @return
-	 */
-	private String getAppropriateJavaCharset(String detectedCharsetName) {
-		String result = null;
-		// 1. Check explicit mapping overrides from
-		// property file -- its here we pick up "rules" for cases
-		// that are not even in Java
-		result = CodedIO.checkMappingOverrides(detectedCharsetName);
-		// 2. Use the "canonical" name from JRE mappings
-		// Note: see Charset JavaDoc, the name you get one
-		// with can be alias,
-		// the name you get back is "standard" name.
-		Charset javaCharset = null;
-		try {
-			javaCharset = Charset.forName(detectedCharsetName);
-		} catch (UnsupportedCharsetException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		} catch (IllegalCharsetNameException e) {
-			// only set invalid, if result is same as detected -- they won't
-			// be equal if
-			// overridden
-			if (result != null && result.equals(detectedCharsetName)) {
-				fEncodingMemento.setInvalidEncoding(detectedCharsetName);
-			}
-		}
-		// give priority to java cononical name, if present
-		if (javaCharset != null) {
-			result = javaCharset.name();
-			// but still allow overrides
-			result = CodedIO.checkMappingOverrides(result);
-		}
-		return result;
-	}
-
-	public String getEncoding() throws IOException {
-		return getEncodingMemento().getDetectedCharsetName();
-	}
-
-	// to ensure consist overall rules used, we'll mark as
-	// final,
-	// and require subclasses to provide certain pieces of
-	// the
-	// implementation
-	public EncodingMemento getEncodingMemento() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-			// we keep track of if header's already been
-			// parse, so can make
-			// multiple 'get' calls, without causing
-			// reparsing.
-			fHeaderParsed = true;
-			// Note: there is a "hidden assumption" here
-			// that an empty
-			// string in content should be treated same as
-			// not present.
-		}
-		if (fEncodingMemento == null) {
-			handleSpecDefault();
-		}
-		if (fEncodingMemento == null) {
-			// safty net
-			fEncodingMemento = new NullMemento();
-		}
-		return fEncodingMemento;
-	}
-
-	/**
-	 * This is to return a default encoding -- as specified by an industry
-	 * content type spec -- when not present in the stream, for example, XML
-	 * specifies UTF-8, JSP specifies ISO-8859-1. This method should return
-	 * null if there is no such "spec default".
-	 */
-	abstract public String getSpecDefaultEncoding();
-
-	public EncodingMemento getSpecDefaultEncodingMemento() {
-		resetAll();
-		EncodingMemento result = null;
-		String enc = getSpecDefaultEncoding();
-		if (enc != null) {
-			createEncodingMemento(enc, EncodingMemento.DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-			fEncodingMemento.setAppropriateDefault(enc);
-			result = fEncodingMemento;
-		}
-		return result;
-	}
-
-	private void handleSpecDefault() {
-		String encodingName;
-		encodingName = getSpecDefaultEncoding();
-		if (encodingName != null) {
-			//createEncodingMemento(encodingName,
-			// EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-			fEncodingMemento = new EncodingMemento();
-			fEncodingMemento.setJavaCharsetName(encodingName);
-			fEncodingMemento.setAppropriateDefault(encodingName);
-			fEncodingMemento.addTrace(EncodingMemento.USED_CONTENT_TYPE_DEFAULT);
-		}
-	}
-
-	/**
-	 * Every subclass must provide a way to parse the input. This method has
-	 * several critical responsibilities:
-	 * <li>set the fEncodingMemento field appropriately, according to the
-	 * results of the parse of fReader.</li>
-	 * <li>set fHarderParsed to true, to avoid wasted re-parsing.</li>
-	 */
-	abstract protected void parseInput() throws IOException;
-
-	/**
-	 *  
-	 */
-	private void resetAll() {
-		fReader = null;
-		fHeaderParsed = false;
-		fEncodingMemento = null;
-	}
-
-	/**
-	 *  
-	 */
-	public void set(InputStream inputStream) {
-		resetAll();
-		fReader = new ByteReader(inputStream);
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossible, since we know ByteReader
-			// supports marking
-			throw new Error(e);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public void set(IStorage iStorage) throws CoreException {
-		resetAll();
-		InputStream inputStream = iStorage.getContents();
-		InputStream resettableStream = new BufferedInputStream(inputStream, CodedIO.MAX_BUF_SIZE);
-		resettableStream.mark(CodedIO.MAX_MARK_SIZE);
-		set(resettableStream);
-		// TODO we'll need to "remember" IFile, or
-		// get its (or its project's) settings, in case
-		// those are needed to handle cases when the
-		// encoding is not in the file stream.
-	}
-
-	/**
-	 * Note: this is not part of interface to help avoid confusion ... it
-	 * expected this Reader is a well formed character reader ... that is, its
-	 * all ready been determined to not be a unicode marked input stream. And,
-	 * its assumed to be in the correct position, at position zero, ready to
-	 * read first character.
-	 */
-	public void set(Reader reader) {
-		resetAll();
-		fReader = reader;
-		if (!fReader.markSupported()) {
-			fReader = new BufferedReader(fReader);
-		}
-		try {
-			fReader.mark(CodedIO.MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossble, since we just checked if markable
-			throw new Error(e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/ByteReader.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/ByteReader.java
deleted file mode 100644
index e5f04fa..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/ByteReader.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-/**
- * This is an "adapter" class, simply to get in input stream to act like a
- * reader. We could not use InputStreamReader directly because its internal
- * buffers are not controllable, and it sometimes pulls too much out of input
- * stream (even when it wasn't needed for our purposes).
- * 
- * The use of this class is highly specialized and by not means meant to be
- * general purpose. Its use is restricted to those cases where the input
- * stream can be regarded as ascii just long enough to determine what the real
- * encoding should be.
- */
-
-public class ByteReader extends Reader {
-
-	/** Default byte buffer size (2048). */
-	public static final int DEFAULT_BUFFER_SIZE = 2048;
-
-	protected byte[] fBuffer;
-
-	protected InputStream fInputStream;
-
-	protected ByteReader() {
-		super();
-	}
-
-	public ByteReader(InputStream inputStream) {
-		this(inputStream, DEFAULT_BUFFER_SIZE);
-		if (!inputStream.markSupported()) {
-			throw new IllegalArgumentException("ByteReader is required to have a resettable stream"); //$NON-NLS-1$
-		}
-	}
-
-	public ByteReader(InputStream inputStream, int size) {
-		fInputStream = inputStream;
-		if (!inputStream.markSupported()) {
-			throw new IllegalArgumentException("ByteReader is required to have a resettable stream"); //$NON-NLS-1$
-		}
-		fBuffer = new byte[size];
-
-	}
-
-	public void close() throws IOException {
-		fInputStream.close();
-	}
-
-	public void mark(int readAheadLimit) throws IOException {
-		fInputStream.mark(readAheadLimit);
-	}
-
-	public boolean markSupported() {
-		return true;
-	}
-
-	public int read() throws IOException {
-		int b0 = fInputStream.read();
-		return (b0 & 0x00FF);
-	}
-
-	public int read(char ch[], int offset, int length) throws IOException {
-		if (length > fBuffer.length) {
-			length = fBuffer.length;
-		}
-
-		int count = fInputStream.read(fBuffer, 0, length);
-
-		for (int i = 0; i < count; i++) {
-			int b0 = fBuffer[i];
-			// the 0x00FF is to "lose" the negative bits filled in the byte to
-			// int conversion
-			// (and which would be there if cast directly from byte to char).
-			char c0 = (char) (b0 & 0x00FF);
-			ch[i] = c0;
-		}
-		return count;
-	}
-
-	public boolean ready() throws IOException {
-		return fInputStream.available() > 0;
-	}
-
-	public void reset() throws IOException {
-		fInputStream.reset();
-	}
-
-	public long skip(long n) throws IOException {
-		return fInputStream.skip(n);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/ContentDescriberForXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/ContentDescriberForXML.java
deleted file mode 100644
index 589cf18..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/ContentDescriberForXML.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescriber;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IContentDescriptionExtended;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-
-public class ContentDescriberForXML implements ITextContentDescriber {
-	private final static QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.CHARSET, IContentDescription.BYTE_ORDER_MARK, IContentDescriptionExtended.DETECTED_CHARSET, IContentDescriptionExtended.UNSUPPORTED_CHARSET, IContentDescriptionExtended.APPROPRIATE_DEFAULT};
-
-	protected IResourceCharsetDetector getDetector() {
-		return new XMLResourceEncodingDetector();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#describe(java.io.InputStream,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(InputStream contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.INDETERMINATE;
-
-		calculateSupportedOptions(contents, description);
-
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.ITextContentDescriber#describe(java.io.Reader,
-	 *      org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(Reader contents, IContentDescription description) throws IOException {
-		int result = IContentDescriber.INDETERMINATE;
-
-		calculateSupportedOptions(contents, description);
-
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#getSupportedOptions()
-	 */
-	public QualifiedName[] getSupportedOptions() {
-
-		return SUPPORTED_OPTIONS;
-	}
-
-	private void calculateSupportedOptions(InputStream contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	/**
-	 * @param contents
-	 * @param description
-	 * @throws IOException
-	 */
-	private void calculateSupportedOptions(Reader contents, IContentDescription description) throws IOException {
-		if (isRelevent(description)) {
-			IResourceCharsetDetector detector = getDetector();
-			detector.set(contents);
-			handleCalculations(description, detector);
-		}
-	}
-
-	private void handleDetectedSpecialCase(IContentDescription description, Object detectedCharset, Object javaCharset) {
-		// since equal, we don't need to add, but if our detected version is
-		// different than
-		// javaCharset, then we should add it. This will happen, for example,
-		// if there's
-		// differences in case, or differences due to override properties
-		if (detectedCharset != null) {
-			// if (!detectedCharset.equals(javaCharset)) {
-			// description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET,
-			// detectedCharset);
-			// }
-
-			// Once we detected a charset, we should set the property even
-			// though it's the same as javaCharset
-			// because there are clients that rely on this property to
-			// determine if the charset is actually detected in file or not.
-			description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET, detectedCharset);
-		}
-	}
-
-	/**
-	 * @param description
-	 * @return
-	 */
-	private boolean isRelevent(IContentDescription description) {
-		boolean result = false;
-		if (description == null)
-			result = false;
-		else if (description.isRequested(IContentDescription.BYTE_ORDER_MARK))
-			result = true;
-		else if (description.isRequested(IContentDescription.CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.APPROPRIATE_DEFAULT))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.DETECTED_CHARSET))
-			result = true;
-		else if (description.isRequested(IContentDescriptionExtended.UNSUPPORTED_CHARSET))
-			result = true;
-		// else if
-		// (description.isRequested(IContentDescriptionExtended.ENCODING_MEMENTO))
-		// result = true;
-		return result;
-	}
-
-	/**
-	 * @param description
-	 * @param detector
-	 * @throws IOException
-	 */
-	protected void handleCalculations(IContentDescription description, IResourceCharsetDetector detector) throws IOException {
-		// note: if we're asked for one, we set them all. I need to be sure if
-		// called
-		// mulitiple times (one for each, say) that we don't waste time
-		// processing same
-		// content again.
-		EncodingMemento encodingMemento = detector.getEncodingMemento();
-		// TODO: I need to verify to see if this BOM work is always done
-		// by text type.
-		Object detectedByteOrderMark = encodingMemento.getUnicodeBOM();
-		if (detectedByteOrderMark != null) {
-			Object existingByteOrderMark = description.getProperty(IContentDescription.BYTE_ORDER_MARK);
-			// not sure why would ever be different, so if is different, may
-			// need to "push" up into base.
-			if (!detectedByteOrderMark.equals(existingByteOrderMark))
-				description.setProperty(IContentDescription.BYTE_ORDER_MARK, detectedByteOrderMark);
-		}
-
-
-		if (!encodingMemento.isValid()) {
-			// note: after setting here, its the mere presence of
-			// IContentDescriptionExtended.UNSUPPORTED_CHARSET
-			// in the resource's description that can be used to determine if
-			// invalid
-			// in those cases, the "detected" property contains an
-			// "appropriate default" to use.
-			description.setProperty(IContentDescriptionExtended.UNSUPPORTED_CHARSET, encodingMemento.getInvalidEncoding());
-			description.setProperty(IContentDescriptionExtended.APPROPRIATE_DEFAULT, encodingMemento.getAppropriateDefault());
-		}
-
-		Object detectedCharset = encodingMemento.getDetectedCharsetName();
-		Object javaCharset = encodingMemento.getJavaCharsetName();
-
-		// we always include detected, if its different than java
-		handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-
-		if (javaCharset != null) {
-			Object existingCharset = description.getProperty(IContentDescription.CHARSET);
-			if (javaCharset.equals(existingCharset)) {
-				handleDetectedSpecialCase(description, detectedCharset, javaCharset);
-			} else {
-				// we may need to add what we found, but only need to add
-				// if different from default.the
-				Object defaultCharset = getDetector().getSpecDefaultEncoding();
-				if (defaultCharset != null) {
-					if (!defaultCharset.equals(javaCharset)) {
-						description.setProperty(IContentDescription.CHARSET, javaCharset);
-					}
-				} else {
-					// assuming if there is no spec default, we always need to
-					// add, I'm assuming
-					description.setProperty(IContentDescription.CHARSET, javaCharset);
-				}
-			}
-		}
-
-		// avoid adding anything if not absolutly needed, since always
-		// "cached" per session
-		// description.setProperty(IContentDescriptionExtended.ENCODING_MEMENTO,
-		// encodingMemento);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/EncodingParserConstants.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/EncodingParserConstants.java
deleted file mode 100644
index 9a002b7..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/EncodingParserConstants.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-
-public interface EncodingParserConstants {
-
-	final String EOF = "EOF"; //$NON-NLS-1$
-	final String InvalidTerminatedStringValue = "InvalidTerminatedStringValue"; //$NON-NLS-1$
-	final String InvalidTermintatedUnDelimitedStringValue = "InvalidTermintatedUnDelimitedStringValue"; //$NON-NLS-1$
-	final String MAX_CHARS_REACHED = "MAX_CHARS_REACHED"; //$NON-NLS-1$
-	final String StringValue = "strval"; //$NON-NLS-1$
-	final String UnDelimitedStringValue = "UnDelimitedStringValue"; //$NON-NLS-1$
-	public final String UTF16BE = "UTF16BE"; //$NON-NLS-1$
-	public final String UTF16LE = "UTF16LE"; //$NON-NLS-1$
-
-
-	public final String UTF83ByteBOM = "UTF83ByteBOM"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/HeadParserToken.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/HeadParserToken.java
deleted file mode 100644
index 0f14b8b..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/HeadParserToken.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-public class HeadParserToken {
-	private int fStart;
-
-	private String fText;
-	private String fType;
-
-	protected HeadParserToken() {
-		super();
-	}
-
-	public HeadParserToken(String type, int start, String text) {
-		this();
-		fType = type;
-		fStart = start;
-		fText = text;
-
-	}
-
-	public String getText() {
-		return fText;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return ("text: " + fText + " offset: " + fStart + " type: " + fType); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/IntStack.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/IntStack.java
deleted file mode 100644
index 1d1052d..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/IntStack.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-/*
- * 
- * A non-resizable class implementing the behavior of java.util.Stack, but
- * directly for the <code> integer </code> primitive.
- */
-import java.util.EmptyStackException;
-
-public class IntStack {
-	private int[] list = null;
-
-	private int size = 0;
-
-	public IntStack() {
-		this(100);
-	}
-
-	public IntStack(int maxdepth) {
-		super();
-		list = new int[maxdepth];
-		initialize();
-	}
-
-	public void clear() {
-		initialize();
-	}
-
-	public boolean empty() {
-		return size == 0;
-	}
-
-	public int get(int slot) {
-		return list[slot];
-	}
-
-	private void initialize() {
-		for (int i = 0; i < list.length; i++)
-			list[i] = -1;
-	}
-
-	/**
-	 * Returns the int at the top of the stack without removing it
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int peek() {
-		if (size == 0)
-			throw new EmptyStackException();
-		return list[size - 1];
-	}
-
-	/**
-	 * Removes and returns the int at the top of the stack
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int pop() {
-		int value = peek();
-		list[size - 1] = -1;
-		size--;
-		return value;
-	}
-
-	/**
-	 * Pushes an item onto the top of this stack.
-	 * 
-	 * @param newValue -
-	 *            the int to be pushed onto this stack.
-	 * @return the <code>newValue</code> argument.
-	 */
-	public int push(int newValue) {
-		if (size == list.length) {
-			throw new StackOverflowError();
-		}
-		list[size++] = newValue;
-		return newValue;
-	}
-
-	public int size() {
-		return list.length;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/NullMemento.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/NullMemento.java
deleted file mode 100644
index 3a92be1..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/NullMemento.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.NonContentBasedEncodingRules;
-
-
-
-/**
- * This class can be used in place of an EncodingMemento (its super class),
- * when there is not in fact ANY encoding information. For example, when a
- * structuredDocument is created directly from a String
- */
-public class NullMemento extends EncodingMemento {
-	/**
-	 *  
-	 */
-	public NullMemento() {
-		super();
-		String defaultCharset = NonContentBasedEncodingRules.useDefaultNameRules(null);
-		setJavaCharsetName(defaultCharset);
-		setAppropriateDefault(defaultCharset);
-		setDetectedCharsetName(null);
-		addTrace(DEFAULTS_ASSUMED_FOR_EMPTY_INPUT);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLDeclDetector.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLDeclDetector.java
deleted file mode 100644
index 5843f61..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLDeclDetector.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-public class XMLDeclDetector {
-	private static final int MAX_BUF_SIZE = 1024 * 2;
-	private static final int MAX_MARK_SIZE = 1024 * 2;
-	protected boolean fHeaderParsed;
-	private boolean fIsXML;
-	protected Reader fReader;
-	//private boolean DEBUG = false;
-	private XMLHeadTokenizer fTokenizer;
-
-	private boolean canHandleAsUnicodeStream(String tokenType) {
-		boolean canHandleAsUnicodeStream = false;
-		if (tokenType == EncodingParserConstants.UTF83ByteBOM) {
-			canHandleAsUnicodeStream = true;
-			//fUnicode = "UTF-8"; //$NON-NLS-1$
-		} else if (tokenType == EncodingParserConstants.UTF16BE) {
-			canHandleAsUnicodeStream = true;
-			//fUnicode = "UTF-16BE"; //$NON-NLS-1$
-		} else if (tokenType == EncodingParserConstants.UTF16LE) {
-			canHandleAsUnicodeStream = true;
-			//fUnicode = "UTF-16"; //$NON-NLS-1$
-		}
-		return canHandleAsUnicodeStream;
-	}
-
-	final private void ensureInputSet() {
-		if (fReader == null) {
-			throw new IllegalStateException("input must be set before use"); //$NON-NLS-1$
-		}
-	}
-
-	//private String fUnicode;
-
-	/**
-	 * @return Returns the tokenizer.
-	 */
-	private XMLHeadTokenizer getTokenizer() {
-		if (fTokenizer == null) {
-			fTokenizer = new XMLHeadTokenizer();
-		}
-		return fTokenizer;
-	}
-
-	/**
-	 * @return Returns the isXML.
-	 */
-	public boolean isXML() throws IOException {
-		ensureInputSet();
-		if (!fHeaderParsed) {
-			parseInput();
-		}
-		return fIsXML;
-	}
-
-	private void parseInput() throws IOException {
-		XMLHeadTokenizer tokenizer = getTokenizer();
-		tokenizer.reset(fReader);
-		HeadParserToken token = null;
-		String tokenType = null;
-		do {
-			token = tokenizer.getNextToken();
-			tokenType = token.getType();
-			if (canHandleAsUnicodeStream(tokenType)) {
-				fReader.reset();
-				// this is (obviously) not always true.
-				// TODO: need to fix so we "remember" original iFile or
-				// inputstream, and
-				// create appropriate InputStreamReader.
-				// I'm not sure what to do for the set(reader) case ... if its
-				// even relevent.
-				// plus, ensure against infinite loops!
-				fIsXML = true;
-				//fReader = new InputStreamReader(fReader, fUnicode);
-				// parseInput();
-			} else {
-				if (tokenType == XMLHeadTokenizerConstants.XMLDelEncoding) {
-					fIsXML = true;
-				}
-			}
-		} while (tokenizer.hasMoreTokens());
-
-	}
-
-	private void resetAll() {
-		fReader = null;
-		fHeaderParsed = false;
-		fIsXML = false;
-		//fUnicode = null;
-
-	}
-
-	public void set(IFile iFile) throws CoreException {
-		resetAll();
-		InputStream inputStream = iFile.getContents(true);
-		InputStream resettableStream = new BufferedInputStream(inputStream, MAX_BUF_SIZE);
-		resettableStream.mark(MAX_MARK_SIZE);
-		set(resettableStream);
-	}
-
-	public void set(InputStream inputStream) {
-		resetAll();
-		fReader = new ByteReader(inputStream);
-		try {
-			fReader.mark(MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossible, since we know ByteReader supports marking
-			throw new Error(e);
-		}
-	}
-
-	/**
-	 * Note: this is not part of interface to help avoid confusion ... it
-	 * expected this Reader is a well formed character reader ... that is, its
-	 * all ready been determined to not be a unicode marked input stream. And,
-	 * its assumed to be in the correct position, at position zero, ready to
-	 * read first character.
-	 */
-	public void set(Reader reader) {
-		resetAll();
-		fReader = reader;
-		if (!fReader.markSupported()) {
-			fReader = new BufferedReader(fReader);
-		}
-
-		try {
-			fReader.mark(MAX_MARK_SIZE);
-		} catch (IOException e) {
-			// impossble, since we just checked if markable
-			throw new Error(e);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLHeadTokenizer.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLHeadTokenizer.java
deleted file mode 100644
index b42e3d8..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLHeadTokenizer.java
+++ /dev/null
@@ -1,1223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/* The following code was generated by JFlex 1.2.2 on 4/6/04 11:13 PM */
-
-/*nlsXXX*/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-import java.io.IOException;
-import java.io.Reader;
-
-
-
-
-/**
- * This class is a scanner generated by <a
- * href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex </a> 1.2.2
- * on 4/6/04 11:13 PM from the specification file
- * <tt>file:/D:/DevTimeSupport/HeadParsers/XMLHeadTokenizer/XMLHeadTokenizer.jflex</tt>
- */
-public class XMLHeadTokenizer {
-
-	/** this character denotes the end of file */
-	final public static int YYEOF = -1;
-
-	/** lexical states */
-	final public static int YYINITIAL = 0;
-	final public static int UnDelimitedString = 10;
-	final public static int DQ_STRING = 6;
-	final public static int SQ_STRING = 8;
-	final public static int ST_XMLDecl = 2;
-	final public static int QuotedAttributeValue = 4;
-
-	/**
-	 * YY_LEXSTATE[l] is the state in the DFA for the lexical state l
-	 * YY_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
-	 * beginning of a line l is of the form l = 2*k, k a non negative integer
-	 */
-	private final static int YY_LEXSTATE[] = {0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6};
-
-	/**
-	 * Translates characters to character classes
-	 */
-	final private static String yycmap_packed = "\11\0\1\6\1\7\2\0\1\11\22\0\1\6\1\0\1\27\2\0" + "\1\31\1\0\1\30\24\0\1\12\1\10\1\26\1\13\3\0\1\21" + "\1\23\1\17\1\0\1\25\1\0\1\24\2\0\1\16\1\15\1\20" + "\1\22\10\0\1\14\12\0\1\21\1\23\1\17\1\0\1\25\1\0" + "\1\24\2\0\1\16\1\15\1\20\1\22\10\0\1\14\102\0\1\4" + "\3\0\1\5\17\0\1\3\16\0\1\1\20\0\1\3\16\0\1\1" + "\1\2\170\0\1\2\ufe87\0"; //$NON-NLS-2$//$NON-NLS-3$
-
-	/**
-	 * Translates characters to character classes
-	 */
-	final private static char[] yycmap = yy_unpack_cmap(yycmap_packed);
-
-
-	/* error codes */
-	final private static int YY_UNKNOWN_ERROR = 0;
-	final private static int YY_ILLEGAL_STATE = 1;
-	final private static int YY_NO_MATCH = 2;
-	final private static int YY_PUSHBACK_2BIG = 3;
-
-	/* error messages for the codes above */
-	final private static String YY_ERROR_MSG[] = {"Unkown internal scanner error", "Internal error: unknown state", "Error: could not match input", "Error: pushback value was too large"};
-
-	/** the input device */
-	private java.io.Reader yy_reader;
-
-	/** the current state of the DFA */
-	private int yy_state;
-
-	/** the current lexical state */
-	private int yy_lexical_state = YYINITIAL;
-
-	/**
-	 * this buffer contains the current text to be matched and is the source
-	 * of the yytext() string
-	 */
-	private char yy_buffer[] = new char[16384];
-
-	/** the textposition at the last accepting state */
-	private int yy_markedPos;
-
-	/** the textposition at the last state to be included in yytext */
-	private int yy_pushbackPos;
-
-	/** the current text position in the buffer */
-	private int yy_currentPos;
-
-	/** startRead marks the beginning of the yytext() string in the buffer */
-	private int yy_startRead;
-
-	/**
-	 * endRead marks the last character in the buffer, that has been read from
-	 * input
-	 */
-	private int yy_endRead;
-
-	/** number of newlines encountered up to the start of the matched text */
-	// future_TODO: remove from skeleton
-	// private int yyline;
-	/** the number of characters up to the start of the matched text */
-	private int yychar;
-
-	/**
-	 * the number of characters from the last newline up to the start of the
-	 * matched text
-	 */
-	// future_TODO: remove from skeleton
-	//private int yycolumn;
-	/**
-	 * yy_atBOL == true <=>the scanner is currently at the beginning of a line
-	 */
-	private boolean yy_atBOL;
-
-	/** yy_atEOF == true <=>the scanner has returned a value for EOF */
-	private boolean yy_atEOF;
-
-	/** denotes if the user-EOF-code has already been executed */
-	private boolean yy_eof_done;
-
-	/* user code: */
-
-
-	private boolean hasMore = true;
-	private final static int MAX_TO_SCAN = 1000;
-	StringBuffer string = new StringBuffer();
-	// state stack for easier state handling
-	private IntStack fStateStack = new IntStack();
-	private String valueText = null;
-
-
-	public XMLHeadTokenizer() {
-		super();
-	}
-
-	public void reset(Reader in) {
-		/* the input device */
-		yy_reader = in;
-
-		/* the current state of the DFA */
-		yy_state = 0;
-
-		/* the current lexical state */
-		yy_lexical_state = YYINITIAL;
-
-		/*
-		 * this buffer contains the current text to be matched and is the
-		 * source of the yytext() string
-		 */
-		java.util.Arrays.fill(yy_buffer, (char) 0);
-
-		/* the textposition at the last accepting state */
-		yy_markedPos = 0;
-
-		/* the textposition at the last state to be included in yytext */
-		yy_pushbackPos = 0;
-
-		/* the current text position in the buffer */
-		yy_currentPos = 0;
-
-		/* startRead marks the beginning of the yytext() string in the buffer */
-		yy_startRead = 0;
-
-		/**
-		 * endRead marks the last character in the buffer, that has been read
-		 * from input
-		 */
-		yy_endRead = 0;
-
-		/* number of newlines encountered up to the start of the matched text */
-		// future_TODO: remove from skeleton
-		//yyline = 0;
-		/* the number of characters up to the start of the matched text */
-		yychar = 0;
-
-		/**
-		 * the number of characters from the last newline up to the start of
-		 * the matched text
-		 */
-		// future_TODO: remove from skeleton
-		//yycolumn = 0;
-		/**
-		 * yy_atBOL == true <=>the scanner is currently at the beginning of a
-		 * line
-		 */
-		yy_atBOL = false;
-
-		/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-		yy_atEOF = false;
-
-		/* denotes if the user-EOF-code has already been executed */
-		yy_eof_done = false;
-
-
-		fStateStack.clear();
-
-		hasMore = true;
-
-		// its a little wasteful to "throw away" first char array generated
-		// by class init (via auto generated code), but we really do want
-		// a small buffer for our head parsers.
-		if (yy_buffer.length != MAX_TO_SCAN) {
-			yy_buffer = new char[MAX_TO_SCAN];
-		}
-
-
-	}
-
-
-	public final HeadParserToken getNextToken() throws IOException {
-		String context = null;
-		context = primGetNextToken();
-		HeadParserToken result = null;
-		if (valueText != null) {
-			result = createToken(context, yychar, valueText);
-			valueText = null;
-		} else {
-			result = createToken(context, yychar, yytext());
-		}
-		return result;
-	}
-
-	public final boolean hasMoreTokens() {
-		return hasMore && yychar < MAX_TO_SCAN;
-	}
-
-	private void pushCurrentState() {
-		fStateStack.push(yystate());
-
-	}
-
-	private void popState() {
-		yybegin(fStateStack.pop());
-	}
-
-	private HeadParserToken createToken(String context, int start, String text) {
-		return new HeadParserToken(context, start, text);
-	}
-
-
-
-	/**
-	 * Creates a new scanner There is also a java.io.InputStream version of
-	 * this constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Reader to read input from.
-	 */
-	public XMLHeadTokenizer(java.io.Reader in) {
-		this.yy_reader = in;
-	}
-
-	/**
-	 * Creates a new scanner. There is also java.io.Reader version of this
-	 * constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Inputstream to read input from.
-	 */
-	public XMLHeadTokenizer(java.io.InputStream in) {
-		this(new java.io.InputStreamReader(in));
-	}
-
-	/**
-	 * Unpacks the compressed character translation table.
-	 * 
-	 * @param packed
-	 *            the packed character translation table
-	 * @return the unpacked character translation table
-	 */
-	private static char[] yy_unpack_cmap(String packed) {
-		char[] map = new char[0x10000];
-		int i = 0; /* index in packed string */
-		int j = 0; /* index in unpacked array */
-		while (i < 128) {
-			int count = packed.charAt(i++);
-			char value = packed.charAt(i++);
-			do
-				map[j++] = value;
-			while (--count > 0);
-		}
-		return map;
-	}
-
-
-	/**
-	 * Gets the next input character.
-	 * 
-	 * @return the next character of the input stream, EOF if the end of the
-	 *         stream is reached.
-	 * @exception IOException
-	 *                if any I/O-Error occurs
-	 */
-	private int yy_advance() throws java.io.IOException {
-
-		/* standard case */
-		if (yy_currentPos < yy_endRead)
-			return yy_buffer[yy_currentPos++];
-
-		/* if the eof is reached, we don't need to work hard */
-		if (yy_atEOF)
-			return YYEOF;
-
-		/* otherwise: need to refill the buffer */
-
-		/* first: make room (if you can) */
-		if (yy_startRead > 0) {
-			System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0, yy_endRead - yy_startRead);
-
-			/* translate stored positions */
-			yy_endRead -= yy_startRead;
-			yy_currentPos -= yy_startRead;
-			yy_markedPos -= yy_startRead;
-			yy_pushbackPos -= yy_startRead;
-			yy_startRead = 0;
-		}
-
-		/* is the buffer big enough? */
-		if (yy_currentPos >= yy_buffer.length) {
-			/* if not: blow it up */
-			char newBuffer[] = new char[yy_currentPos * 2];
-			System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-			yy_buffer = newBuffer;
-		}
-
-		/* finally: fill the buffer with new input */
-		int numRead = yy_reader.read(yy_buffer, yy_endRead, yy_buffer.length - yy_endRead);
-
-		if (numRead == -1)
-			return YYEOF;
-
-		yy_endRead += numRead;
-
-		return yy_buffer[yy_currentPos++];
-	}
-
-
-	/**
-	 * Closes the input stream.
-	 */
-	final public void yyclose() throws java.io.IOException {
-		yy_atEOF = true; /* indicate end of file */
-		yy_endRead = yy_startRead; /* invalidate buffer */
-		yy_reader.close();
-	}
-
-
-	/**
-	 * Returns the current lexical state.
-	 */
-	final public int yystate() {
-		return yy_lexical_state;
-	}
-
-	/**
-	 * Enters a new lexical state
-	 * 
-	 * @param newState
-	 *            the new lexical state
-	 */
-	final public void yybegin(int newState) {
-		yy_lexical_state = newState;
-	}
-
-
-	/**
-	 * Returns the text matched by the current regular expression.
-	 */
-	final public String yytext() {
-		return new String(yy_buffer, yy_startRead, yy_markedPos - yy_startRead);
-	}
-
-	/**
-	 * Returns the length of the matched text region.
-	 */
-	final public int yylength() {
-		return yy_markedPos - yy_startRead;
-	}
-
-
-	/**
-	 * Reports an error that occured while scanning.
-	 * 
-	 * @param errorCode
-	 *            the code of the errormessage to display
-	 */
-	private void yy_ScanError(int errorCode) {
-		try {
-			System.out.println(YY_ERROR_MSG[errorCode]);
-		} catch (ArrayIndexOutOfBoundsException e) {
-			System.out.println(YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-		}
-
-		// System.exit(1);
-	}
-
-
-	/**
-	 * Pushes the specified amount of characters back into the input stream.
-	 * 
-	 * They will be read again by then next call of the scanning method
-	 * 
-	 * @param number
-	 *            the number of characters to be read again. This number must
-	 *            not be greater than yylength()!
-	 */
-	private void yypushback(int number) {
-		if (number > yylength())
-			yy_ScanError(YY_PUSHBACK_2BIG);
-
-		yy_markedPos -= number;
-	}
-
-
-	/**
-	 * Contains user EOF-code, which will be executed exactly once, when the
-	 * end of file is reached
-	 */
-	private void yy_do_eof() {
-		if (!yy_eof_done) {
-			yy_eof_done = true;
-			hasMore = false;
-
-		}
-	}
-
-
-	/**
-	 * Resumes scanning until the next regular expression is matched, the end
-	 * of input is encountered or an I/O-Error occurs.
-	 * 
-	 * @return the next token
-	 * @exception IOException
-	 *                if any I/O-Error occurs
-	 */
-	public String primGetNextToken() throws java.io.IOException {
-		int yy_input;
-		int yy_action;
-
-
-		while (true) {
-
-			yychar += yylength();
-
-			yy_atBOL = yy_markedPos <= 0 || yy_buffer[yy_markedPos - 1] == '\n';
-			if (!yy_atBOL && yy_buffer[yy_markedPos - 1] == '\r') {
-				yy_atBOL = yy_advance() != '\n';
-				if (!yy_atEOF)
-					yy_currentPos--;
-			}
-
-			yy_action = -1;
-
-			yy_currentPos = yy_startRead = yy_markedPos;
-
-			if (yy_atBOL)
-				yy_state = YY_LEXSTATE[yy_lexical_state + 1];
-			else
-				yy_state = YY_LEXSTATE[yy_lexical_state];
-
-
-			yy_forAction : {
-				while (true) {
-
-					yy_input = yy_advance();
-
-					if (yy_input == YYEOF)
-						break yy_forAction;
-
-					yy_input = yycmap[yy_input];
-
-					boolean yy_isFinal = false;
-					boolean yy_noLookAhead = false;
-
-					yy_forNext : {
-						switch (yy_state) {
-							case 0 :
-								switch (yy_input) {
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 7;
-										break yy_forNext;
-								}
-
-							case 1 :
-								switch (yy_input) {
-									case 1 :
-										yy_isFinal = true;
-										yy_state = 8;
-										break yy_forNext;
-									case 2 :
-										yy_isFinal = true;
-										yy_state = 9;
-										break yy_forNext;
-									case 3 :
-										yy_isFinal = true;
-										yy_state = 10;
-										break yy_forNext;
-									case 6 :
-									case 7 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 11;
-										break yy_forNext;
-									case 10 :
-										yy_isFinal = true;
-										yy_state = 12;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 7;
-										break yy_forNext;
-								}
-
-							case 2 :
-								switch (yy_input) {
-									case 11 :
-										yy_isFinal = true;
-										yy_state = 13;
-										break yy_forNext;
-									case 15 :
-										yy_isFinal = true;
-										yy_state = 14;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 7;
-										break yy_forNext;
-								}
-
-							case 3 :
-								switch (yy_input) {
-									case 6 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 16;
-										break yy_forNext;
-									case 7 :
-										yy_isFinal = true;
-										yy_state = 17;
-										break yy_forNext;
-									case 23 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 18;
-										break yy_forNext;
-									case 24 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 19;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 15;
-										break yy_forNext;
-								}
-
-							case 4 :
-								switch (yy_input) {
-									case 7 :
-									case 9 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 21;
-										break yy_forNext;
-									case 11 :
-										yy_isFinal = true;
-										yy_state = 22;
-										break yy_forNext;
-									case 23 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 23;
-										break yy_forNext;
-									case 24 :
-										yy_isFinal = true;
-										yy_state = 24;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 20;
-										break yy_forNext;
-								}
-
-							case 5 :
-								switch (yy_input) {
-									case 7 :
-									case 9 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 21;
-										break yy_forNext;
-									case 24 :
-										yy_isFinal = true;
-										yy_state = 25;
-										break yy_forNext;
-									case 25 :
-										yy_isFinal = true;
-										yy_state = 26;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 20;
-										break yy_forNext;
-								}
-
-							case 6 :
-								switch (yy_input) {
-									case 11 :
-										yy_isFinal = true;
-										yy_state = 26;
-										break yy_forNext;
-									case 6 :
-									case 7 :
-									case 9 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 27;
-										break yy_forNext;
-									case 23 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 28;
-										break yy_forNext;
-									case 24 :
-										yy_isFinal = true;
-										yy_state = 29;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 20;
-										break yy_forNext;
-								}
-
-							case 8 :
-								switch (yy_input) {
-									case 2 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 30;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 9 :
-								switch (yy_input) {
-									case 1 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 31;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 10 :
-								switch (yy_input) {
-									case 4 :
-										yy_state = 32;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 11 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-										yy_state = 33;
-										break yy_forNext;
-									case 10 :
-										yy_state = 34;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 12 :
-								switch (yy_input) {
-									case 11 :
-										yy_state = 35;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 13 :
-								switch (yy_input) {
-									case 22 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 36;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 14 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 37;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 16 :
-								switch (yy_input) {
-									case 6 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 16;
-										break yy_forNext;
-									case 7 :
-										yy_state = 38;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 15;
-										break yy_forNext;
-								}
-
-							case 17 :
-								switch (yy_input) {
-									case 6 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 16;
-										break yy_forNext;
-									case 7 :
-										yy_state = 38;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 15;
-										break yy_forNext;
-								}
-
-							case 22 :
-								switch (yy_input) {
-									case 22 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 39;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 24 :
-								switch (yy_input) {
-									case 10 :
-										yy_state = 40;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 25 :
-								switch (yy_input) {
-									case 10 :
-										yy_state = 40;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 26 :
-								switch (yy_input) {
-									case 22 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 41;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 29 :
-								switch (yy_input) {
-									case 10 :
-										yy_state = 40;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 32 :
-								switch (yy_input) {
-									case 5 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 42;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 33 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-										yy_state = 33;
-										break yy_forNext;
-									case 10 :
-										yy_state = 34;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 34 :
-								switch (yy_input) {
-									case 11 :
-										yy_state = 35;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 35 :
-								switch (yy_input) {
-									case 12 :
-										yy_state = 43;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 37 :
-								switch (yy_input) {
-									case 17 :
-										yy_state = 44;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 38 :
-								switch (yy_input) {
-									case 6 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 16;
-										break yy_forNext;
-									case 7 :
-										yy_state = 38;
-										break yy_forNext;
-									default :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 15;
-										break yy_forNext;
-								}
-
-							case 40 :
-								switch (yy_input) {
-									case 24 :
-										yy_isFinal = true;
-										yy_noLookAhead = true;
-										yy_state = 21;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 43 :
-								switch (yy_input) {
-									case 13 :
-										yy_state = 45;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 44 :
-								switch (yy_input) {
-									case 18 :
-										yy_state = 46;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 45 :
-								switch (yy_input) {
-									case 14 :
-										yy_state = 47;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 46 :
-								switch (yy_input) {
-									case 19 :
-										yy_state = 48;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 47 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 49;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 48 :
-								switch (yy_input) {
-									case 20 :
-										yy_state = 50;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 49 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 49;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 50 :
-								switch (yy_input) {
-									case 16 :
-										yy_state = 51;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 51 :
-								switch (yy_input) {
-									case 21 :
-										yy_state = 52;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 52 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-										yy_state = 52;
-										break yy_forNext;
-									case 8 :
-										yy_isFinal = true;
-										yy_state = 53;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							case 53 :
-								switch (yy_input) {
-									case 6 :
-									case 7 :
-									case 9 :
-										yy_isFinal = true;
-										yy_state = 53;
-										break yy_forNext;
-									default :
-										break yy_forAction;
-								}
-
-							default :
-								yy_ScanError(YY_ILLEGAL_STATE);
-								break;
-						}
-					}
-
-					if (yy_isFinal) {
-						yy_action = yy_state;
-						yy_markedPos = yy_currentPos;
-						if (yy_noLookAhead)
-							break yy_forAction;
-					}
-
-				}
-			}
-
-
-			switch (yy_action) {
-
-				case 25 : {
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.StringValue;
-				}
-				case 55 :
-					break;
-				case 21 : {
-					yypushback(1);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.InvalidTerminatedStringValue;
-				}
-				case 56 :
-					break;
-				case 15 :
-				case 16 : {
-					yypushback(1);
-					yybegin(UnDelimitedString);
-					string.setLength(0);
-				}
-				case 57 :
-					break;
-				case 28 :
-				case 29 : {
-					yypushback(1);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue;
-				}
-				case 58 :
-					break;
-				case 39 : {
-					yypushback(2);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.InvalidTerminatedStringValue;
-				}
-				case 59 :
-					break;
-				case 41 : {
-					yypushback(2);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.InvalidTerminatedStringValue;
-				}
-				case 60 :
-					break;
-				case 7 :
-				case 8 :
-				case 9 :
-				case 10 :
-				case 11 :
-				case 12 :
-				case 13 :
-				case 14 :
-				case 17 : {
-					if (yychar > MAX_TO_SCAN) {
-						hasMore = false;
-						return EncodingParserConstants.MAX_CHARS_REACHED;
-					}
-				}
-				case 61 :
-					break;
-				case 30 : {
-					if (yychar == 0) {
-						hasMore = false;
-						return EncodingParserConstants.UTF16BE;
-					}
-				}
-				case 62 :
-					break;
-				case 31 : {
-					if (yychar == 0) {
-						hasMore = false;
-						return EncodingParserConstants.UTF16LE;
-					}
-				}
-				case 63 :
-					break;
-				case 42 : {
-					if (yychar == 0) {
-						hasMore = false;
-						return EncodingParserConstants.UTF83ByteBOM;
-					}
-				}
-				case 64 :
-					break;
-				case 49 : {
-					if (yychar == 0) {
-						yybegin(ST_XMLDecl);
-						return XMLHeadTokenizerConstants.XMLDeclStart;
-					}
-				}
-				case 65 :
-					break;
-				case 36 : {
-					yybegin(YYINITIAL);
-					hasMore = false;
-					return XMLHeadTokenizerConstants.XMLDeclEnd;
-				}
-				case 66 :
-					break;
-				case 53 : {
-					pushCurrentState();
-					yybegin(QuotedAttributeValue);
-					return XMLHeadTokenizerConstants.XMLDelEncoding;
-				}
-				case 67 :
-					break;
-				case 23 : {
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.StringValue;
-				}
-				case 68 :
-					break;
-				case 20 :
-				case 22 :
-				case 24 :
-				case 26 : {
-					string.append(yytext());
-				}
-				case 69 :
-					break;
-				case 19 : {
-					yybegin(SQ_STRING);
-					string.setLength(0);
-				}
-				case 70 :
-					break;
-				case 18 : {
-					yybegin(DQ_STRING);
-					string.setLength(0);
-				}
-				case 71 :
-					break;
-				case 27 : {
-					yypushback(1);
-					popState();
-					valueText = string.toString();
-					return EncodingParserConstants.UnDelimitedStringValue;
-				}
-				case 72 :
-					break;
-				default :
-					if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-						yy_atEOF = true;
-						yy_do_eof();
-						{
-							hasMore = false;
-							return EncodingParserConstants.EOF;
-						}
-					} else {
-						yy_ScanError(YY_NO_MATCH);
-					}
-			}
-		}
-	}
-
-	/**
-	 * Runs the scanner on input files.
-	 * 
-	 * This main method is the debugging routine for the scanner. It prints
-	 * each returned token to System.out until the end of file is reached, or
-	 * an error occured.
-	 * 
-	 * @param argv
-	 *            the command line, contains the filenames to run the scanner
-	 *            on.
-	 */
-	public static void main(String argv[]) {
-		for (int i = 0; i < argv.length; i++) {
-			XMLHeadTokenizer scanner = null;
-			try {
-				scanner = new XMLHeadTokenizer(new java.io.FileReader(argv[i]));
-			} catch (java.io.FileNotFoundException e) {
-				System.out.println("File not found : \"" + argv[i] + "\"");
-				System.exit(1);
-			}
-			//			catch (java.io.IOException e) {
-			//				System.out.println("Error opening file \"" + argv[i] + "\"");
-			//				System.exit(1);
-			//			}
-			catch (ArrayIndexOutOfBoundsException e) {
-				System.out.println("Usage : java XMLHeadTokenizer <inputfile>");
-				System.exit(1);
-			}
-
-			try {
-				do {
-					System.out.println(scanner.primGetNextToken());
-				} while (!scanner.yy_atEOF);
-
-			} catch (java.io.IOException e) {
-				System.out.println("An I/O error occured while scanning :");
-				System.out.println(e);
-				System.exit(1);
-			} catch (Exception e) {
-				e.printStackTrace();
-				System.exit(1);
-			}
-		}
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLHeadTokenizerConstants.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLHeadTokenizerConstants.java
deleted file mode 100644
index ebca236..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLHeadTokenizerConstants.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-
-;
-
-public interface XMLHeadTokenizerConstants extends EncodingParserConstants {
-
-	final String XMLDeclEnd = "XMLDeclEnd"; //$NON-NLS-1$
-	final String XMLDeclStart = "XMLDeclStart"; //$NON-NLS-1$
-	final String XMLDelEncoding = "XMLDelEncoding"; //$NON-NLS-1$
-	//	final String XMLDeclVersion = "XMLDeclVersion";
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLResourceEncodingDetector.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLResourceEncodingDetector.java
deleted file mode 100644
index 8a21b2e..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/contenttype/XMLResourceEncodingDetector.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.contenttype;
-
-import java.io.IOException;
-
-import org.eclipse.wst.common.encoding.EncodingMemento;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-
-
-public class XMLResourceEncodingDetector extends AbstractResourceEncodingDetector implements IResourceCharsetDetector {
-	private XMLHeadTokenizer fTokenizer;
-
-	private boolean canHandleAsUnicodeStream(String tokenType) {
-		boolean canHandleAsUnicodeStream = false;
-		if (tokenType == EncodingParserConstants.UTF83ByteBOM) {
-			canHandleAsUnicodeStream = true;
-			String enc = "UTF-8"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-			fEncodingMemento.setUTF83ByteBOMUsed(true);
-		}
-
-		else if (tokenType == EncodingParserConstants.UTF16BE) {
-			canHandleAsUnicodeStream = true;
-			String enc = "UTF-16BE"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		} else if (tokenType == EncodingParserConstants.UTF16LE) {
-			canHandleAsUnicodeStream = true;
-			String enc = "UTF-16"; //$NON-NLS-1$
-			createEncodingMemento(enc, EncodingMemento.DETECTED_STANDARD_UNICODE_BYTES);
-		}
-		return canHandleAsUnicodeStream;
-	}
-
-	public String getSpecDefaultEncoding() {
-		// by default, UTF-8 as per XML spec
-		final String enc = "UTF-8"; //$NON-NLS-1$
-		return enc;
-	}
-
-	/**
-	 * @return Returns the tokenizer.
-	 */
-	private XMLHeadTokenizer getTokenizer() {
-		// TODO: need to work on 'reset' in tokenizer, so new instance isn't
-		// always needed
-		//if (fTokenizer == null) {
-		fTokenizer = new XMLHeadTokenizer();
-		//}
-		return fTokenizer;
-	}
-
-	private boolean isLegalString(String valueTokenType) {
-		if (valueTokenType == null)
-			return false;
-		else
-			return valueTokenType.equals(EncodingParserConstants.StringValue) || valueTokenType.equals(EncodingParserConstants.UnDelimitedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTerminatedStringValue) || valueTokenType.equals(EncodingParserConstants.InvalidTermintatedUnDelimitedStringValue);
-	}
-
-	protected void parseInput() throws IOException {
-		XMLHeadTokenizer tokenizer = getTokenizer();
-		tokenizer.reset(fReader);
-		HeadParserToken token = null;
-		String tokenType = null;
-		do {
-			token = tokenizer.getNextToken();
-			tokenType = token.getType();
-			if (canHandleAsUnicodeStream(tokenType)) {
-				// side effect of canHandle is to create appropriate memento
-			} else {
-				if (tokenType == XMLHeadTokenizerConstants.XMLDelEncoding) {
-					if (tokenizer.hasMoreTokens()) {
-						token = tokenizer.getNextToken();
-						tokenType = token.getType();
-						if (isLegalString(tokenType)) {
-							String enc = token.getText();
-							if (enc != null && enc.length() > 0) {
-								createEncodingMemento(enc, EncodingMemento.FOUND_ENCODING_IN_CONTENT);
-							}
-
-						}
-					}
-				}
-			}
-		} while (tokenizer.hasMoreTokens());
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/AttrImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/AttrImpl.java
deleted file mode 100644
index 959f512..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/AttrImpl.java
+++ /dev/null
@@ -1,756 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLCharEntity;
-import org.eclipse.wst.xml.core.document.XMLNamespace;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * AttrImpl class
- */
-public class AttrImpl extends NodeImpl implements XMLAttr {
-	private ITextRegion equalRegion = null;
-
-	private String name = null;
-	private ITextRegion nameRegion = null;
-	private String namespaceURI = null;
-	private ElementImpl ownerElement = null;
-	private ITextRegion valueRegion = null;
-	private String valueSource = null;
-
-	/**
-	 * AttrImpl constructor
-	 */
-	protected AttrImpl() {
-		super();
-	}
-
-	/**
-	 * AttrImpl constructor
-	 * 
-	 * @param that
-	 *            AttrImpl
-	 */
-	protected AttrImpl(AttrImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.name = that.name;
-			this.valueSource = that.getValueSource();
-		}
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public Node cloneNode(boolean deep) {
-		AttrImpl cloned = new AttrImpl(this);
-		return cloned;
-	}
-
-	/**
-	 */
-	protected CMAttributeDeclaration getDeclaration() {
-		ElementImpl element = (ElementImpl) getOwnerElement();
-		if (element == null)
-			return null;
-		CMElementDeclaration elementDecl = element.getDeclaration();
-		if (elementDecl == null)
-			return null;
-		CMNamedNodeMap attributes = elementDecl.getAttributes();
-		if (attributes == null)
-			return null;
-		return (CMAttributeDeclaration) attributes.getNamedItem(getName());
-	}
-
-	/**
-	 * getEndOffset method
-	 * 
-	 * @return int
-	 */
-	public int getEndOffset() {
-		if (this.ownerElement == null)
-			return 0;
-		int offset = this.ownerElement.getStartOffset();
-		if (this.valueRegion != null) {
-			return (offset + this.valueRegion.getEnd());
-		}
-		if (this.equalRegion != null) {
-			return (offset + this.equalRegion.getEnd());
-		}
-		if (this.nameRegion != null) {
-			return (offset + this.nameRegion.getEnd());
-		}
-		return 0;
-	}
-
-	/**
-	 * getEqualRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	public ITextRegion getEqualRegion() {
-		return this.equalRegion;
-	}
-
-	/**
-	 */
-	public String getLocalName() {
-		if (this.name == null)
-			return null;
-		int index = this.name.indexOf(':');
-		if (index < 0)
-			return this.name;
-		return this.name.substring(index + 1);
-	}
-
-	/**
-	 * getName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		if (this.name == null)
-			return new String();
-		return this.name;
-	}
-
-	/**
-	 * getNameRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	public ITextRegion getNameRegion() {
-		return this.nameRegion;
-	}
-
-	public int getNameRegionEndOffset() {
-		if (this.ownerElement == null)
-			return 0;
-		// assuming the firstStructuredDocumentRegion is the one that contains
-		// attributes
-		IStructuredDocumentRegion flatNode = this.ownerElement.getFirstStructuredDocumentRegion();
-		if (flatNode == null)
-			return 0;
-		return flatNode.getEndOffset(this.nameRegion);
-	}
-
-	public int getNameRegionStartOffset() {
-		if (this.ownerElement == null)
-			return 0;
-		// assuming the firstStructuredDocumentRegion is the one that contains
-		// attributes
-		IStructuredDocumentRegion flatNode = this.ownerElement.getFirstStructuredDocumentRegion();
-		if (flatNode == null)
-			return 0;
-		return flatNode.getStartOffset(this.nameRegion);
-	}
-
-	public String getNameRegionText() {
-		if (this.ownerElement == null)
-			return null;
-		// assuming the firstStructuredDocumentRegion is the one that contains
-		// attributes
-		IStructuredDocumentRegion flatNode = this.ownerElement.getFirstStructuredDocumentRegion();
-		if (flatNode == null)
-			return null;
-		return flatNode.getText(this.nameRegion);
-	}
-
-	public int getNameRegionTextEndOffset() {
-		if (this.ownerElement == null)
-			return 0;
-		// assuming the firstStructuredDocumentRegion is the one that contains
-		// attributes
-		IStructuredDocumentRegion flatNode = this.ownerElement.getFirstStructuredDocumentRegion();
-		if (flatNode == null)
-			return 0;
-		return flatNode.getTextEndOffset(this.nameRegion);
-	}
-
-	/**
-	 */
-	public String getNamespaceURI() {
-		String nsAttrName = null;
-		String prefix = getPrefix();
-		if (prefix != null && prefix.length() > 0) {
-			if (prefix.equals(XMLNamespace.XMLNS)) {
-				// fixed URI
-				return XMLNamespace.XMLNS_URI;
-			}
-			nsAttrName = XMLNamespace.XMLNS_PREFIX + prefix;
-		} else {
-			String name = getName();
-			if (name != null && name.equals(XMLNamespace.XMLNS)) {
-				// fixed URI
-				return XMLNamespace.XMLNS_URI;
-			}
-			// does not inherit namespace from owner element
-			// if (this.ownerElement != null) return
-			// this.ownerElement.getNamespaceURI();
-			return this.namespaceURI;
-		}
-
-		for (Node node = this.ownerElement; node != null; node = node.getParentNode()) {
-			if (node.getNodeType() != ELEMENT_NODE)
-				break;
-			Element element = (Element) node;
-			Attr attr = element.getAttributeNode(nsAttrName);
-			if (attr != null)
-				return attr.getValue();
-		}
-
-		return this.namespaceURI;
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return getName();
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return ATTRIBUTE_NODE;
-	}
-
-	/**
-	 * getNodeValue method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeValue() {
-		return getValue();
-	}
-
-	/**
-	 * getOwnerElement method
-	 * 
-	 * @return org.w3c.dom.Element
-	 */
-	public Element getOwnerElement() {
-		return this.ownerElement;
-	}
-
-	/**
-	 */
-	public String getPrefix() {
-		if (this.name == null)
-			return null;
-		int index = this.name.indexOf(':');
-		if (index <= 0)
-			return null;
-		// exclude JSP tag in name
-		if (this.name.charAt(0) == '<')
-			return null;
-		return this.name.substring(0, index);
-	}
-
-	/**
-	 * getSpecified method
-	 * 
-	 * @return boolean
-	 */
-	public boolean getSpecified() {
-		return true;
-	}
-
-	/**
-	 * getStartOffset method
-	 * 
-	 * @return int
-	 */
-	public int getStartOffset() {
-		if (this.ownerElement == null)
-			return 0;
-		int offset = this.ownerElement.getStartOffset();
-		if (this.nameRegion != null) {
-			return (offset + this.nameRegion.getStart());
-		}
-		if (this.equalRegion != null) {
-			return (offset + this.equalRegion.getStart());
-		}
-		if (this.valueRegion != null) {
-			return (offset + this.valueRegion.getStart());
-		}
-		return 0;
-	}
-
-	/**
-	 * getValue method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getValue() {
-		return getValue(getValueSource());
-	}
-
-	/**
-	 * Returns value for the source
-	 */
-	private String getValue(String source) {
-		if (source == null)
-			return new String();
-		if (source.length() == 0)
-			return source;
-		StringBuffer buffer = null;
-		int offset = 0;
-		int length = source.length();
-		int ref = source.indexOf('&');
-		while (ref >= 0) {
-			int end = source.indexOf(';', ref + 1);
-			if (end > ref + 1) {
-				String name = source.substring(ref + 1, end);
-				String value = getCharValue(name);
-				if (value != null) {
-					if (buffer == null)
-						buffer = new StringBuffer(length);
-					if (ref > offset)
-						buffer.append(source.substring(offset, ref));
-					buffer.append(value);
-					offset = end + 1;
-					ref = end;
-				}
-			}
-			ref = source.indexOf('&', ref + 1);
-		}
-		if (buffer == null)
-			return source;
-		if (length > offset)
-			buffer.append(source.substring(offset));
-		return buffer.toString();
-	}
-
-	/**
-	 * getValueRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	public ITextRegion getValueRegion() {
-		return this.valueRegion;
-	}
-
-	public int getValueRegionStartOffset() {
-		if (this.ownerElement == null)
-			return 0;
-		// assuming the firstStructuredDocumentRegion is the one that contains
-		// attributes
-		IStructuredDocumentRegion flatNode = this.ownerElement.getFirstStructuredDocumentRegion();
-		if (flatNode == null)
-			return 0;
-		return flatNode.getStartOffset(this.valueRegion);
-	}
-
-	public String getValueRegionText() {
-		if (this.ownerElement == null)
-			return null;
-		// assuming the firstStructuredDocumentRegion is the one that contains
-		// attributes
-		IStructuredDocumentRegion flatNode = this.ownerElement.getFirstStructuredDocumentRegion();
-		if (flatNode == null)
-			return null;
-		if (this.valueRegion == null)
-			return null;
-		return flatNode.getText(this.valueRegion);
-	}
-
-	/**
-	 */
-	public String getValueSource() {
-		if (this.valueSource != null)
-			return this.valueSource;
-		// DW: 4/16/2003 due to change in structuredDocument ... we need a
-		// flatnode to
-		// get at region values. For now I'll assume this is always the first
-		// flatnode .. may need to make smarter later (e.g. to search for
-		// the flatnode that this.valueRegion belongs to.
-		// DW: 4/30/2003 For some reason, this method is getting called a lot
-		// Not sure if its a threading problem, or a fundamental error
-		// elsewhere.
-		// It needs more investigation, but in the use cases I've seen,
-		// doesn't
-		// seem to hurt to simply return null in those cases. I saw this null
-		// case,
-		// when tryint go format an XML file.
-		if (this.ownerElement == null)
-			return null;
-		IStructuredDocumentRegion ownerRegion = this.ownerElement.getFirstStructuredDocumentRegion();
-		if (ownerRegion == null)
-			return null;
-		if (this.valueRegion != null)
-			return StructuredDocumentRegionUtil.getAttrValue(ownerRegion, this.valueRegion);
-		return new String();
-	}
-
-	private String getValueSource(ElementImpl ownerElement) {
-		if (this.valueSource != null)
-			return this.valueSource;
-		// DW: 4/16/2003 due to change in structuredDocument ... we need a
-		// flatnode to
-		// get at region values. For now I'll assume this is always the first
-		// flatnode .. may need to make smarter later (e.g. to search for
-		// the flatnode that this.valueRegion belongs to.
-		if (this.valueRegion != null)
-			return StructuredDocumentRegionUtil.getAttrValue(ownerElement.getStructuredDocumentRegion(), this.valueRegion);
-		return new String();
-	}
-
-	/**
-	 */
-	private String getValueSource(String value) {
-		if (value == null)
-			return null;
-		if (value.length() == 0)
-			return value;
-		StringBuffer buffer = null;
-		int offset = 0;
-		int length = value.length();
-		int amp = value.indexOf('&');
-		while (amp >= 0) {
-			if (buffer == null)
-				buffer = new StringBuffer(length + 4);
-			if (amp > offset)
-				buffer.append(value.substring(offset, amp));
-			buffer.append(XMLCharEntity.AMP_REF);
-			offset = amp + 1;
-			amp = value.indexOf('&', offset);
-		}
-		if (buffer == null)
-			return value;
-		if (length > offset)
-			buffer.append(value.substring(offset));
-		return buffer.toString();
-	}
-
-	/**
-	 * Check if Attr has JSP in value
-	 */
-	public boolean hasJSPValue() {
-		if (this.valueRegion == null)
-			return false;
-		if (!(this.valueRegion instanceof ITextRegionContainer))
-			return false;
-		ITextRegionList regions = ((ITextRegionContainer) this.valueRegion).getRegions();
-		if (regions == null)
-			return false;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			if (region == null)
-				continue;
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_TAG_OPEN || regionType == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN || regionType == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN || regionType == XMLJSPRegionContexts.JSP_DECLARATION_OPEN || regionType == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN)
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Check if Attr has only name but not equal sign nor value
-	 */
-	public boolean hasNameOnly() {
-		return (this.nameRegion != null && this.equalRegion == null && this.valueRegion == null);
-	}
-
-	/**
-	 */
-	protected final boolean hasPrefix() {
-		if (this.name == null)
-			return false;
-		if (this.name.indexOf(':') <= 0)
-			return false;
-		// exclude JSP tag in name
-		if (this.name.charAt(0) == '<')
-			return false;
-		return true;
-	}
-
-	/**
-	 */
-	protected final boolean ignoreCase() {
-		if (this.ownerElement != null) {
-			if (this.ownerElement.ignoreCase()) {
-				return !hasPrefix();
-			}
-		} else {
-			DocumentImpl document = (DocumentImpl) getOwnerDocument();
-			if (document != null && document.ignoreCase()) {
-				// even in case insensitive document, if having prefix, it's
-				// case sensitive
-				return !hasPrefix();
-			}
-		}
-		return false;
-	}
-
-	/**
-	 */
-	public boolean isGlobalAttr() {
-		if (hasPrefix())
-			return false;
-		if (this.ownerElement == null)
-			return false;
-		return this.ownerElement.isGlobalTag();
-	}
-
-	/**
-	 */
-	public final boolean isXMLAttr() {
-		if (this.ownerElement != null) {
-			if (!this.ownerElement.isXMLTag()) {
-				return hasPrefix();
-			}
-		} else {
-			DocumentImpl document = (DocumentImpl) getOwnerDocument();
-			if (document != null && !document.isXMLType()) {
-				// even in non-XML document, if having prefix, it's XML tag
-				return hasPrefix();
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * matchName method
-	 * 
-	 * @return boolean
-	 * @param name
-	 *            java.lang.String
-	 */
-	protected boolean matchName(String name) {
-		if (name == null)
-			return (this.name == null);
-		if (this.name == null)
-			return false;
-		if (!ignoreCase())
-			return this.name.equals(name);
-		return this.name.equalsIgnoreCase(name);
-	}
-
-	/**
-	 * notifyValueChanged method
-	 */
-	protected void notifyNameChanged() {
-		if (this.ownerElement == null)
-			return;
-		DocumentImpl document = (DocumentImpl) this.ownerElement.getContainerDocument();
-		if (document == null)
-			return;
-		XMLModelImpl model = (XMLModelImpl) document.getModel();
-		if (model == null)
-			return;
-		model.nameChanged(this);
-	}
-
-	/**
-	 * notifyValueChanged method
-	 */
-	protected void notifyValueChanged() {
-		if (this.ownerElement == null)
-			return;
-		DocumentImpl document = (DocumentImpl) this.ownerElement.getContainerDocument();
-		if (document == null)
-			return;
-		XMLModelImpl model = (XMLModelImpl) document.getModel();
-		if (model == null)
-			return;
-		model.valueChanged(this);
-	}
-
-	/**
-	 * removeRegions method
-	 */
-	void removeRegions() {
-		this.nameRegion = null;
-		this.valueRegion = null;
-		this.equalRegion = null;
-	}
-
-	/**
-	 */
-	void resetRegions() {
-		this.valueSource = getValueSource();
-		removeRegions();
-	}
-
-	/**
-	 */
-	void resetRegions(ElementImpl ownerElement) {
-		this.valueSource = getValueSource(ownerElement);
-		removeRegions();
-	}
-
-	/**
-	 * setEqualRegion method
-	 * 
-	 * @param equalRegion
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	void setEqualRegion(ITextRegion equalRegion) {
-		this.equalRegion = equalRegion;
-	}
-
-	/**
-	 * setName method
-	 * 
-	 * @param name
-	 *            java.lang.String
-	 */
-	protected void setName(String name) {
-		String value = null;
-		int startOffset = 0;
-		if (this.ownerElement != null) {
-			value = getValue();
-			startOffset = this.ownerElement.getStartOffset();
-			this.ownerElement.notify(CHANGE, this, value, null, startOffset);
-		}
-		this.name = name;
-		if (this.ownerElement != null) {
-			this.ownerElement.notify(CHANGE, this, null, value, startOffset);
-		}
-	}
-
-	/**
-	 * setNameRegion method
-	 * 
-	 * @param nameRegion
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	void setNameRegion(ITextRegion nameRegion) {
-		this.nameRegion = nameRegion;
-	}
-
-	/**
-	 */
-	protected void setNamespaceURI(String namespaceURI) {
-		this.namespaceURI = namespaceURI;
-	}
-
-	/**
-	 * setNodeValue method
-	 * 
-	 * @param nodeValue
-	 *            java.lang.String
-	 */
-	public void setNodeValue(String nodeValue) throws DOMException {
-		setValue(nodeValue);
-	}
-
-	/**
-	 * setOwnerElement method
-	 * 
-	 * @param ownerElement
-	 *            org.w3c.dom.Element
-	 */
-	protected void setOwnerElement(Element ownerElement) {
-		this.ownerElement = (ElementImpl) ownerElement;
-	}
-
-	/**
-	 */
-	public void setPrefix(String prefix) throws DOMException {
-		if (this.ownerElement != null && !this.ownerElement.isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		int prefixLength = (prefix != null ? prefix.length() : 0);
-		String localName = getLocalName();
-		if (prefixLength == 0) {
-			setName(localName);
-			return;
-		}
-		if (localName == null)
-			localName = new String();
-		int localLength = localName.length();
-		StringBuffer buffer = new StringBuffer(prefixLength + 1 + localLength);
-		buffer.append(prefix);
-		buffer.append(':');
-		buffer.append(localName);
-		setName(buffer.toString());
-
-		notifyNameChanged();
-	}
-
-	/**
-	 * setValue method
-	 * 
-	 * @param value
-	 *            java.lang.String
-	 */
-	public void setValue(String value) {
-		// Remember: as we account for "floaters" in
-		// future, remember that some are created
-		// in the natural process of implementing
-		// DOM apis.
-		// this "self notification" of about/changed,
-		// is added for this case, because it known to
-		// be called from properties pages. Should be a
-		// added to all DOM Modifiying APIs eventually.
-		try {
-			getModel().aboutToChangeModel();
-			setValueSource(getValueSource(value));
-		} finally {
-			getModel().changedModel();
-		}
-	}
-
-	/**
-	 * setValueRegion method
-	 * 
-	 * @param newValueRegion
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	void setValueRegion(ITextRegion valueRegion) {
-		this.valueRegion = valueRegion;
-		if (valueRegion != null)
-			this.valueSource = null;
-	}
-
-	/**
-	 */
-	public void setValueSource(String source) {
-		if (this.ownerElement != null && !this.ownerElement.isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		this.valueSource = source;
-
-		notifyValueChanged();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CDATASectionImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CDATASectionImpl.java
deleted file mode 100644
index 3954ca2..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CDATASectionImpl.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.CDATASection;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-
-
-/**
- * CDATASectionImpl class
- */
-public class CDATASectionImpl extends TextImpl implements CDATASection {
-
-	/**
-	 * CDATASectionImpl constructor
-	 */
-	protected CDATASectionImpl() {
-		super();
-	}
-
-	/**
-	 * CDATASectionImpl constructor
-	 * 
-	 * @param that
-	 *            CDATASectionImpl
-	 */
-	protected CDATASectionImpl(CDATASectionImpl that) {
-		super(that);
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		CDATASectionImpl cloned = new CDATASectionImpl(this);
-		return cloned;
-	}
-
-	/**
-	 * getData method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getData() throws DOMException {
-		// instead of super(TextImpl).getData(), call getCharacterData()
-		String data = getCharacterData();
-		if (data == null) {
-			data = getData(getStructuredDocumentRegion());
-			if (data == null)
-				data = new String();
-		}
-		return data;
-	}
-
-	/**
-	 */
-	private String getData(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return null;
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return null;
-
-		ITextRegion contentRegion = null;
-		StringBuffer buffer = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_CDATA_OPEN || regionType == XMLRegionContext.XML_CDATA_CLOSE) {
-				continue;
-			}
-			if (contentRegion == null) { // first content
-				contentRegion = region;
-			} else { // multiple contents
-				if (buffer == null) {
-					buffer = new StringBuffer(flatNode.getText(contentRegion));
-				}
-				buffer.append(flatNode.getText(region));
-			}
-		}
-
-		if (buffer != null)
-			return buffer.toString();
-		if (contentRegion != null)
-			return flatNode.getText(contentRegion);
-		return null;
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return "#cdata-section";//$NON-NLS-1$
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return CDATA_SECTION_NODE;
-	}
-
-	/**
-	 */
-	public boolean isClosed() {
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return true; // will be generated
-		String regionType = StructuredDocumentRegionUtil.getLastRegionType(flatNode);
-		return (regionType == XMLRegionContext.XML_CDATA_CLOSE);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CMNodeUtil.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CMNodeUtil.java
deleted file mode 100644
index 44ecfab..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CMNodeUtil.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-
-/**
- */
-public class CMNodeUtil {
-
-	/**
-	 */
-	public static CMAttributeDeclaration getAttributeDeclaration(Attr attr) {
-		if (attr == null)
-			return null;
-		return ((AttrImpl) attr).getDeclaration();
-	}
-
-	/**
-	 */
-	public static CMElementDeclaration getElementDeclaration(Element element) {
-		if (element == null)
-			return null;
-		return ((ElementImpl) element).getDeclaration();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CharacterDataImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CharacterDataImpl.java
deleted file mode 100644
index 4c4a2db..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CharacterDataImpl.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-
-
-/**
- * CharacterDataImpl class
- */
-public abstract class CharacterDataImpl extends NodeImpl implements XMLJSPRegionContexts, CharacterData {
-
-	private String data = null;
-
-	/**
-	 * CharacterDataImpl constructor
-	 */
-	protected CharacterDataImpl() {
-		super();
-	}
-
-	/**
-	 * CharacterDataImpl constructor
-	 * 
-	 * @param that
-	 *            CharacterDataImpl
-	 */
-	protected CharacterDataImpl(CharacterDataImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.data = that.getData();
-		}
-	}
-
-	/**
-	 * appendData method
-	 * 
-	 * @param arg
-	 *            java.lang.String
-	 */
-	public void appendData(String arg) throws DOMException {
-		if (arg == null)
-			return;
-
-		String data = getData();
-		if (data == null)
-			data = arg;
-		else
-			data += arg;
-		setData(data);
-	}
-
-	/**
-	 * deleteData method
-	 * 
-	 * @param offset
-	 *            int
-	 * @param count
-	 *            int
-	 */
-	public void deleteData(int offset, int count) throws DOMException {
-		if (count == 0)
-			return;
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		if (count < 0 || offset < 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		String data = getData();
-		if (data == null) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		int length = data.length();
-		if (offset > length) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		if (offset == 0) {
-			if (count > length) {
-				throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-			}
-			if (count == length)
-				data = new String();
-			else
-				data = data.substring(count);
-		} else {
-			int end = offset + count;
-			if (end > length) {
-				throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-			}
-			if (end == length)
-				data = data.substring(0, offset);
-			else
-				data = data.substring(0, offset) + data.substring(end);
-		}
-		setData(data);
-	}
-
-	/**
-	 */
-	protected final String getCharacterData() {
-		return this.data;
-	}
-
-	/**
-	 * getData method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getData() throws DOMException {
-		return getCharacterData();
-	}
-
-	/**
-	 * getLength method
-	 * 
-	 * @return int
-	 */
-	public int getLength() {
-		String data = getData();
-		if (data == null)
-			return 0;
-		return data.length();
-	}
-
-	/**
-	 * getNodeValue method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeValue() {
-		return getData();
-	}
-
-	/**
-	 * insertData method
-	 * 
-	 * @param offset
-	 *            int
-	 * @param arg
-	 *            java.lang.String
-	 */
-	public void insertData(int offset, String arg) throws DOMException {
-		if (arg == null)
-			return;
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		if (offset < 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		String data = getData();
-		if (data == null) {
-			if (offset > 0) {
-				throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-			}
-			data = arg;
-		} else if (offset == 0) {
-			data = arg + data;
-		} else {
-			int length = data.length();
-			if (offset > length) {
-				throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-			}
-			if (offset == length)
-				data += arg;
-			else
-				data = data.substring(0, offset) + arg + data.substring(offset);
-		}
-		setData(data);
-	}
-
-	/**
-	 * isJSPContent method
-	 * 
-	 * @return boolean
-	 */
-	public boolean isJSPContent() {
-		Node parent = getParentNode();
-		if (parent == null || parent.getNodeType() != Node.ELEMENT_NODE)
-			return false;
-		ElementImpl element = (ElementImpl) parent;
-		return element.isJSPContainer();
-	}
-
-	/**
-	 * replaceData method
-	 * 
-	 * @param offset
-	 *            int
-	 * @param count
-	 *            int
-	 * @param arg
-	 *            java.lang.String
-	 */
-	public void replaceData(int offset, int count, String arg) throws DOMException {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		if (arg == null) {
-			deleteData(offset, count);
-			return;
-		}
-		if (count == 0) {
-			insertData(offset, arg);
-			return;
-		}
-		if (offset < 0 || count < 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		String data = getData();
-		if (data == null) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		} else if (offset == 0) {
-			int length = data.length();
-			if (count > length) {
-				throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-			}
-			if (count == length)
-				data = arg;
-			else
-				data = arg + data.substring(count);
-		} else {
-			int length = data.length();
-			int end = offset + count;
-			if (end > length) {
-				throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-			}
-			if (end == length)
-				data = data.substring(0, offset) + arg;
-			else
-				data = data.substring(0, offset) + arg + data.substring(end);
-		}
-		setData(data);
-	}
-
-	/**
-	 */
-	void resetStructuredDocumentRegions() {
-		this.data = getData();
-		setStructuredDocumentRegion(null);
-	}
-
-	/**
-	 * setData method
-	 * 
-	 * @param data
-	 *            java.lang.String
-	 */
-	public void setData(String data) throws DOMException {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.data = data;
-
-		notifyValueChanged();
-	}
-
-	/**
-	 * setNodeValue method
-	 * 
-	 * @param nodeValue
-	 *            java.lang.String
-	 */
-	public void setNodeValue(String nodeValue) throws DOMException {
-		setData(nodeValue);
-	}
-
-	/**
-	 */
-	void setStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		super.setStructuredDocumentRegion(flatNode);
-		if (flatNode != null)
-			this.data = null;
-	}
-
-	/**
-	 * substringData method
-	 * 
-	 * @return java.lang.String
-	 * @param offset
-	 *            int
-	 * @param count
-	 *            int
-	 */
-	public String substringData(int offset, int count) throws DOMException {
-		if (count == 0)
-			return new String();
-		if (offset < 0 || count < 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		String data = getData();
-		if (data == null) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		int length = data.length();
-		if (offset == 0 && count == length)
-			return data;
-		if (offset > length) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		int end = offset + count;
-		if (end > length) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		return data.substring(offset, end);
-	}
-
-	/**
-	 * toString method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getNodeName());
-		buffer.append('(');
-		buffer.append(getData());
-		buffer.append(')');
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode != null) {
-			buffer.append('@');
-			buffer.append(flatNode.toString());
-		}
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CommentImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CommentImpl.java
deleted file mode 100644
index 2d8d257..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/CommentImpl.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Comment;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-
-
-/**
- * CommentImpl class
- */
-public class CommentImpl extends CharacterDataImpl implements Comment {
-
-	private boolean isJSPTag = false;
-
-	/**
-	 * CommentImpl constructor
-	 */
-	protected CommentImpl() {
-		super();
-	}
-
-	/**
-	 * CommentImpl constructor
-	 * 
-	 * @param that
-	 *            CommentImpl
-	 */
-	protected CommentImpl(CommentImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.isJSPTag = that.isJSPTag;
-		}
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		CommentImpl cloned = new CommentImpl(this);
-		return cloned;
-	}
-
-	/**
-	 * getData method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getData() throws DOMException {
-		String data = getCharacterData();
-		if (data == null) {
-			data = getData(getStructuredDocumentRegion());
-			if (data == null)
-				data = new String();
-		}
-		return data;
-	}
-
-	/**
-	 */
-	private String getData(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return null;
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return null;
-
-		ITextRegion contentRegion = null;
-		StringBuffer buffer = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_COMMENT_OPEN || regionType == JSP_COMMENT_OPEN || regionType == XMLRegionContext.XML_COMMENT_CLOSE || regionType == JSP_COMMENT_CLOSE) {
-				continue;
-			}
-			if (contentRegion == null) { // first content
-				contentRegion = region;
-			} else { // multiple contents
-				if (buffer == null) {
-					buffer = new StringBuffer(flatNode.getText(contentRegion));
-				}
-				buffer.append(flatNode.getText(region));
-			}
-		}
-
-		if (buffer != null)
-			return buffer.toString();
-		if (contentRegion != null)
-			return flatNode.getText(contentRegion);
-		return null;
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return "#comment";//$NON-NLS-1$
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return COMMENT_NODE;
-	}
-
-	/**
-	 */
-	public boolean isClosed() {
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return true; // will be generated
-		String regionType = StructuredDocumentRegionUtil.getLastRegionType(flatNode);
-		return (regionType == XMLRegionContext.XML_COMMENT_CLOSE || regionType == XMLJSPRegionContexts.JSP_COMMENT_CLOSE);
-	}
-
-	/**
-	 * isJSP method
-	 * 
-	 * @return boolean
-	 */
-	public boolean isJSPTag() {
-		return this.isJSPTag;
-	}
-
-	/**
-	 * setJSPTag method
-	 * 
-	 * @param isJSPTag
-	 *            boolean
-	 */
-	public void setJSPTag(boolean isJSPTag) {
-		if (isJSPTag == this.isJSPTag)
-			return;
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		DocumentImpl document = (DocumentImpl) getOwnerDocument();
-		if (isJSPTag) {
-			if (document == null || !document.isJSPType())
-				return;
-		}
-
-		this.isJSPTag = isJSPTag;
-
-		if (getContainerDocument() != null) {
-			// already in the tree, update IStructuredDocument
-			setData(getData()); // calls notifyValueChanged();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentFragmentImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentFragmentImpl.java
deleted file mode 100644
index 06058a5..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentFragmentImpl.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Node;
-
-
-/**
- * DocumentFragmentImpl class
- */
-public class DocumentFragmentImpl extends NodeContainer implements DocumentFragment {
-
-	/**
-	 * DocumentFragmentImpl constructor
-	 */
-	protected DocumentFragmentImpl() {
-		super();
-	}
-
-	/**
-	 * DocumentFragmentImpl constructor
-	 * 
-	 * @param that
-	 *            DocumentFragmentImpl
-	 */
-	protected DocumentFragmentImpl(DocumentFragmentImpl that) {
-		super(that);
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		DocumentFragmentImpl cloned = new DocumentFragmentImpl(this);
-		if (deep)
-			cloneChildNodes(cloned, deep);
-		return cloned;
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return "#document-fragment";//$NON-NLS-1$
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return DOCUMENT_FRAGMENT_NODE;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentImpl.java
deleted file mode 100644
index 4ef5fbc..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentImpl.java
+++ /dev/null
@@ -1,1072 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-// for org.apache.xerces 3.2.1
-// import org.apache.xerces.utils.XMLCharacterProperties;
-// DMW modified for XML4J 4.0.1
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMEntityDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-import org.eclipse.wst.xml.core.NameValidator;
-import org.eclipse.wst.xml.core.commentelement.impl.CommentElementRegistry;
-import org.eclipse.wst.xml.core.document.DocumentTypeAdapter;
-import org.eclipse.wst.xml.core.document.JSPTag;
-import org.eclipse.wst.xml.core.document.XMLCharEntity;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Attr;
-import org.w3c.dom.CDATASection;
-import org.w3c.dom.Comment;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Entity;
-import org.w3c.dom.EntityReference;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Notation;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-import org.w3c.dom.ranges.Range;
-import org.w3c.dom.traversal.NodeFilter;
-import org.w3c.dom.traversal.NodeIterator;
-import org.w3c.dom.traversal.TreeWalker;
-
-
-/**
- * DocumentImpl class
- */
-public class DocumentImpl extends NodeContainer implements XMLDocument {
-
-	/**
-	 * Internal-use only class. This class was added to better able to handle
-	 * repetetive request for getElementsByTagName. The cache is cleared when
-	 * ever the document changes at all, so still not real efficient,
-	 */
-	class TagNameCache {
-
-		private boolean active = true;
-
-		private Map cache;
-
-		public TagNameCache() {
-			super();
-			cache = new HashMap();
-		}
-
-		/**
-		 * @param b
-		 */
-		public void activate(boolean b) {
-			active = b;
-			if (!b)
-				clear();
-		}
-
-		public void addItem(String tagname, NodeListImpl nodelist) {
-			if (tagname == null || nodelist == null)
-				return;
-			cache.put(tagname, nodelist);
-		}
-
-		public void clear() {
-			cache.clear();
-		}
-
-		public NodeListImpl getItem(String tagName) {
-			NodeListImpl result = null;
-			if (active) {
-				result = (NodeListImpl) cache.get(tagName);
-				//					if (result != null) {
-				//						System.out.println("getElementsByTagname from cache: " +
-				// tagName);
-				//					}
-			}
-			return result;
-		}
-
-	}
-
-	// this is a constant just to give compile-time control over
-	// whether or not to use the cache. If, in future, its found that
-	// there are no (or few) "duplicate requests" ... then this cache
-	// is not needed.
-	private static final boolean usetagnamecache = true;
-	private DocumentTypeAdapter documentTypeAdapter = null;
-
-	private XMLModelImpl model = null;
-	private TagNameCache tagNameCache;
-
-	/**
-	 * DocumentImpl constructor
-	 */
-	protected DocumentImpl() {
-		super();
-		if (usetagnamecache) {
-			tagNameCache = new TagNameCache();
-		}
-	}
-
-	/**
-	 * DocumentImpl constructor
-	 * 
-	 * @param that
-	 *            DocumentImpl
-	 */
-	protected DocumentImpl(DocumentImpl that) {
-		super(that);
-		if (usetagnamecache) {
-			tagNameCache = new TagNameCache();
-		}
-	}
-
-	/**
-	 * @param b
-	 */
-	void activateTagNameCache(boolean b) {
-		tagNameCache.activate(b);
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * Changes the <code>ownerDocument</code> of a node, its children, as
-	 * well as the attached attribute nodes if there are any. If the node has
-	 * a parent it is first removed from its parent child list. This
-	 * effectively allows moving a subtree from one document to another. The
-	 * following list describes the specifics for each type of node.
-	 * <dl>
-	 * <dt>ATTRIBUTE_NODE</dt>
-	 * <dd>The <code>ownerElement</code> attribute is set to
-	 * <code>null</code> and the <code>specified</code> flag is set to
-	 * <code>true</code> on the adopted <code>Attr</code>. The
-	 * descendants of the source <code>Attr</code> are recursively adopted.
-	 * </dd>
-	 * <dt>DOCUMENT_FRAGMENT_NODE</dt>
-	 * <dd>The descendants of the source node are recursively adopted.</dd>
-	 * <dt>DOCUMENT_NODE</dt>
-	 * <dd><code>Document</code> nodes cannot be adopted.</dd>
-	 * <dt>DOCUMENT_TYPE_NODE</dt>
-	 * <dd><code>DocumentType</code> nodes cannot be adopted.</dd>
-	 * <dt>ELEMENT_NODE</dt>
-	 * <dd>Specified attribute nodes of the source element are adopted, and
-	 * the generated <code>Attr</code> nodes. Default attributes are
-	 * discarded, though if the document being adopted into defines default
-	 * attributes for this element name, those are assigned. The descendants
-	 * of the source element are recursively adopted.</dd>
-	 * <dt>ENTITY_NODE</dt>
-	 * <dd><code>Entity</code> nodes cannot be adopted.</dd>
-	 * <dt>ENTITY_REFERENCE_NODE</dt>
-	 * <dd>Only the <code>EntityReference</code> node itself is adopted,
-	 * the descendants are discarded, since the source and destination
-	 * documents might have defined the entity differently. If the document
-	 * being imported into provides a definition for this entity name, its
-	 * value is assigned.</dd>
-	 * <dt>NOTATION_NODE</dt>
-	 * <dd><code>Notation</code> nodes cannot be adopted.</dd>
-	 * <dt>PROCESSING_INSTRUCTION_NODE, TEXT_NODE, CDATA_SECTION_NODE,
-	 * COMMENT_NODE</dt>
-	 * <dd>These nodes can all be adopted. No specifics.</dd>
-	 * Should this method simply return null when it fails? How "exceptional"
-	 * is failure for this method?Stick with raising exceptions only in
-	 * exceptional circumstances, return null on failure (F2F 19 Jun 2000).Can
-	 * an entity node really be adopted?No, neither can Notation nodes (Telcon
-	 * 13 Dec 2000).Does this affect keys and hashCode's of the adopted
-	 * subtree nodes?If so, what about readonly-ness of key and hashCode?if
-	 * not, would appendChild affect keys/hashCodes or would it generate
-	 * exceptions if key's are duplicate? Update: Hashcodes have been dropped.
-	 * Given that the key is only unique within a document an adopted node
-	 * needs to be given a new key, but what does it mean for the application?
-	 * 
-	 * @param source
-	 *            The node to move into this document.
-	 * @return The adopted node, or <code>null</code> if this operation
-	 *         fails, such as when the source node comes from a different
-	 *         implementation.
-	 * @exception DOMException
-	 *                NOT_SUPPORTED_ERR: Raised if the source node is of type
-	 *                <code>DOCUMENT</code>,<code>DOCUMENT_TYPE</code>.
-	 *                <br>
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised when the source node
-	 *                is readonly.
-	 * @since DOM Level 3
-	 */
-	public org.w3c.dom.Node adoptNode(org.w3c.dom.Node source) throws org.w3c.dom.DOMException {
-		return null;
-	}
-
-	/**
-	 * @param tagName
-	 */
-	protected void checkTagNameValidity(String tagName) {
-		if (!isValidName(tagName)) {
-			throw new DOMException(DOMException.INVALID_CHARACTER_ERR, createDOMExceptionMessage(DOMException.INVALID_CHARACTER_ERR, tagName));
-		}
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		DocumentImpl cloned = new DocumentImpl(this);
-		if (deep)
-			cloned.importChildNodes(this, true);
-		return cloned;
-	}
-
-	/**
-	 * createAttribute method
-	 * 
-	 * @return org.w3c.dom.Attr
-	 * @param name
-	 *            java.lang.String
-	 */
-	public Attr createAttribute(String name) throws DOMException {
-		AttrImpl attr = new AttrImpl();
-		attr.setOwnerDocument(this);
-		attr.setName(name);
-		return attr;
-	}
-
-	/**
-	 */
-	public Attr createAttributeNS(String uri, String name) throws DOMException {
-		AttrImpl attr = new AttrImpl();
-		attr.setOwnerDocument(this);
-		attr.setName(name);
-		attr.setNamespaceURI(uri);
-		return attr;
-	}
-
-	/**
-	 * createCDATASection method
-	 * 
-	 * @return org.w3c.dom.CDATASection
-	 * @param data
-	 *            java.lang.String
-	 */
-	public CDATASection createCDATASection(String data) throws DOMException {
-		// allow CDATA section
-		// if (!isXMLType()) {
-		//	throw new DOMException(DOMException.NOT_SUPPORTED_ERR, new
-		// String());
-		// }
-		CDATASectionImpl cdata = new CDATASectionImpl();
-		cdata.setOwnerDocument(this);
-		if (data != null)
-			cdata.setData(data);
-		return cdata;
-	}
-
-	/**
-	 * createComment method
-	 * 
-	 * @return org.w3c.dom.Comment
-	 * @param data
-	 *            java.lang.String
-	 */
-	public Comment createComment(String data) {
-		CommentImpl comment = new CommentImpl();
-		comment.setOwnerDocument(this);
-		if (data != null)
-			comment.setData(data);
-		return comment;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.model.xml.XMLDocument#createCommentElement(java.lang.String,
-	 *      boolean)
-	 */
-	public Element createCommentElement(String tagName, boolean isJSPTag) throws DOMException {
-		if (!isJSPType() && isJSPTag) {
-			throw new DOMException(DOMException.INVALID_MODIFICATION_ERR, new String());
-		}
-		ElementImpl element = (ElementImpl) createElement(tagName);
-		element.setJSPTag(isJSPTag);
-		CommentElementRegistry registry = CommentElementRegistry.getInstance();
-		if (registry.setupCommentElement(element)) {
-			return element;
-		} else {
-			throw new DOMException(DOMException.INVALID_CHARACTER_ERR, new String());
-		}
-	}
-
-	/**
-	 * createDoctype method
-	 * 
-	 * @return org.w3c.dom.DocumentType
-	 * @param name
-	 *            java.lang.String
-	 */
-	public DocumentType createDoctype(String name) {
-		DocumentTypeImpl docType = new DocumentTypeImpl();
-		docType.setOwnerDocument(this);
-		docType.setName(name);
-		return docType;
-	}
-
-	/**
-	 * createDocumentFragment method
-	 * 
-	 * @return org.w3c.dom.DocumentFragment
-	 */
-	public DocumentFragment createDocumentFragment() {
-		DocumentFragmentImpl fragment = new DocumentFragmentImpl();
-		fragment.setOwnerDocument(this);
-		return fragment;
-	}
-
-	/**
-	 * createElement method
-	 * 
-	 * @return org.w3c.dom.Element
-	 * @param tagName
-	 *            java.lang.String
-	 */
-	public Element createElement(String tagName) throws DOMException {
-		checkTagNameValidity(tagName);
-
-		ElementImpl element = new ElementImpl();
-		element.setOwnerDocument(this);
-		element.setTagName(tagName);
-		return element;
-	}
-
-	/**
-	 */
-	public Element createElementNS(String uri, String tagName) throws DOMException {
-		if (!isValidName(tagName)) {
-			throw new DOMException(DOMException.INVALID_CHARACTER_ERR, new String());
-		}
-
-		ElementImpl element = new ElementImpl();
-		element.setOwnerDocument(this);
-		element.setTagName(tagName);
-		element.setNamespaceURI(uri);
-		return element;
-	}
-
-	/**
-	 * createEntity method
-	 * 
-	 * @return org.w3c.dom.Entity
-	 * @param name
-	 *            java.lang.String
-	 */
-	public Entity createEntity(String name) {
-		EntityImpl entity = new EntityImpl();
-		entity.setOwnerDocument(this);
-		entity.setName(name);
-		return entity;
-	}
-
-	/**
-	 * createEntityReference method
-	 * 
-	 * @return org.w3c.dom.EntityReference
-	 * @param name
-	 *            java.lang.String
-	 */
-	public EntityReference createEntityReference(String name) throws DOMException {
-		if (!isXMLType()) {
-			throw new DOMException(DOMException.NOT_SUPPORTED_ERR, new String());
-		}
-
-		EntityReferenceImpl ref = new EntityReferenceImpl();
-		ref.setOwnerDocument(this);
-		ref.setName(name);
-		return ref;
-	}
-
-	/**
-	 */
-	public NodeIterator createNodeIterator(Node root, int whatToShow, NodeFilter filter, boolean entityReferenceExpansion) {
-		if (root == null)
-			root = this;
-		return new NodeIteratorImpl(root, whatToShow, filter);
-	}
-
-	/**
-	 * createNotation method
-	 * 
-	 * @return org.w3c.dom.Notation
-	 * @param name
-	 *            java.lang.String
-	 */
-	public Notation createNotation(String name) {
-		NotationImpl notation = new NotationImpl();
-		notation.setOwnerDocument(this);
-		notation.setName(name);
-		return notation;
-	}
-
-	/**
-	 * createProcessingInstruction method
-	 * 
-	 * @return org.w3c.dom.ProcessingInstruction
-	 * @param target
-	 *            java.lang.String
-	 * @param data
-	 *            java.lang.String
-	 */
-	public ProcessingInstruction createProcessingInstruction(String target, String data) throws DOMException {
-		ProcessingInstructionImpl pi = new ProcessingInstructionImpl();
-		pi.setOwnerDocument(this);
-		pi.setTarget(target);
-		if (data != null)
-			pi.setData(data);
-		return pi;
-	}
-
-	/**
-	 */
-	public Range createRange() {
-		return new RangeImpl();
-	}
-
-	/**
-	 * createTextNode method
-	 * 
-	 * @return org.w3c.dom.Text
-	 * @param data
-	 *            java.lang.String
-	 */
-	public Text createTextNode(String data) {
-		TextImpl text = new TextImpl();
-		text.setOwnerDocument(this);
-		text.setData(data);
-		return text;
-	}
-
-	/**
-	 */
-	public TreeWalker createTreeWalker(Node root, int whatToShow, NodeFilter filter, boolean entityReferenceExpansion) {
-		// not suppoerted
-		return null;
-	}
-
-	private DocumentType findDoctype(Node node) {
-		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (child.getNodeType() == DOCUMENT_TYPE_NODE && child instanceof DocumentType) {
-				return (DocumentType) child;
-			} else if (child.getNodeType() == ELEMENT_NODE && ((XMLElement) child).isCommentTag()) {
-				// search DOCTYPE inside of generic comment element
-				DocumentType docType = findDoctype(child);
-				if (docType != null) {
-					return docType;
-				}
-			}
-		}
-
-		return null;
-	}
-
-	private Element findDocumentElement(String docName, Node node, Node[] firstFound) {
-		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (child.getNodeType() != ELEMENT_NODE)
-				continue;
-			ElementImpl element = (ElementImpl) child;
-			if (element.isCommentTag()) {
-				Element docElement = findDocumentElement(docName, element, firstFound);
-				if (docElement != null) {
-					return docElement;
-				} else {
-					// added 'else continue' to better handle cases where
-					// there is "more than one root" element
-					// especially complicated by CommentElements, which are
-					// sometimes treated as elements, but should
-					// be treated as comments in this context.
-					continue;
-				}
-			}
-			// note: the "name" won't match in the event of a jsp tag ... but
-			// incase
-			// the name is null, we do not want the jsp element returned as
-			// documentElement
-			if (element.isJSPTag())
-				continue;
-			if (docName == null)
-				return element;
-			// use local name for namespace
-			String localName = element.getLocalName();
-			if (localName == null)
-				continue;
-			if (isXMLType()) {
-				if (localName.equals(docName))
-					return element;
-			} else {
-				if (localName.equalsIgnoreCase(docName))
-					return element;
-			}
-			if (firstFound[0] == null)
-				firstFound[0] = element;
-		}
-		return null;
-	}
-
-	/**
-	 * getCharValue method
-	 * 
-	 * @return java.lang.String
-	 * @param name
-	 *            java.lang.String
-	 */
-	protected String getCharValue(String name) {
-		if (name == null)
-			return null;
-		int length = name.length();
-		if (length == 0)
-			return null;
-
-		if (name.charAt(0) == '#') { // character reference
-			if (length == 1)
-				return null;
-			int radix = 10;
-			String s = null;
-			// now allow hexadecimal also for non XML document
-			if (name.charAt(1) == 'x') { // hexadecimal
-				radix = 16;
-				s = name.substring(2);
-			} else { // decimal
-				s = name.substring(1);
-			}
-			if (s == null || s.length() == 0)
-				return null;
-			if (s.charAt(0) == '-')
-				return null; // no minus accepted
-			char c = 0;
-			try {
-				c = (char) Integer.parseInt(s, radix);
-			} catch (NumberFormatException ex) {
-			}
-			if (c == 0)
-				return null;
-			return String.valueOf(c);
-		}
-
-		// implicit character entities for XML
-		if (name.equals(XMLCharEntity.LT_NAME))
-			return XMLCharEntity.LT_VALUE;
-		if (name.equals(XMLCharEntity.GT_NAME))
-			return XMLCharEntity.GT_VALUE;
-		if (name.equals(XMLCharEntity.AMP_NAME))
-			return XMLCharEntity.AMP_VALUE;
-		if (name.equals(XMLCharEntity.QUOT_NAME))
-			return XMLCharEntity.QUOT_VALUE;
-		if (isXMLType()) {
-			if (name.equals(XMLCharEntity.APOS_NAME))
-				return XMLCharEntity.APOS_VALUE;
-		}
-
-		CMDocument cm = getCMDocument();
-		if (cm != null) {
-			CMNamedNodeMap map = cm.getEntities();
-			if (map != null) {
-				CMEntityDeclaration decl = (CMEntityDeclaration) map.getNamedItem(name);
-				if (decl != null) {
-					String value = decl.getValue();
-					if (value == null)
-						return null;
-					int valueLength = value.length();
-					if (valueLength > 1 && value.charAt(0) == '&' && value.charAt(1) == '#' && value.charAt(valueLength - 1) == ';') {
-						// character reference
-						return getCharValue(value.substring(1, valueLength - 1));
-					}
-					return value;
-				}
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 */
-	protected CMDocument getCMDocument() {
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(this);
-		if (modelQuery == null)
-			return null;
-		return modelQuery.getCorrespondingCMDocument(this);
-	}
-
-	/**
-	 * getDoctype method
-	 * 
-	 * @return org.w3c.dom.DocumentType
-	 */
-	public DocumentType getDoctype() {
-		return findDoctype(this);
-	}
-
-	/**
-	 * getDocumentElement
-	 * 
-	 * @return org.w3c.dom.Element From DOM 2 Spec: documentElement of type
-	 *         Element [p.62] , readonly This is a convenience [p.119]
-	 *         attribute that allows direct access to the child node that is
-	 *         the root element of the document. For HTML documents, this is
-	 *         the element with the tagName "HTML". Note: we differ from this
-	 *         definition a little in that we don't necessarily take the first
-	 *         child but also look to match the name. In a well formed
-	 *         document, of course, the result is the same, but not
-	 *         necessarily the same in an ill-formed document.
-	 */
-	public Element getDocumentElement() {
-		String name = null;
-		DocumentType docType = getDocumentType();
-		if (docType != null) {
-			name = docType.getName();
-		}
-
-		Element first[] = new Element[1];
-		Element docElement = findDocumentElement(name, this, first);
-		if (docElement == null) {
-			docElement = first[0];
-		}
-
-		return docElement;
-	}
-
-	/**
-	 */
-	protected DocumentType getDocumentType() {
-		DocumentTypeAdapter adapter = getDocumentTypeAdapter();
-		if (adapter == null)
-			return getDoctype();
-		return adapter.getDocumentType();
-	}
-
-	/**
-	 */
-	protected DocumentTypeAdapter getDocumentTypeAdapter() {
-		if (this.documentTypeAdapter == null) {
-			this.documentTypeAdapter = (DocumentTypeAdapter) getAdapterFor(DocumentTypeAdapter.class);
-			if (this.documentTypeAdapter == null) {
-				// add default adapter
-				this.documentTypeAdapter = new DocumentTypeAdapterImpl(this);
-				addAdapter(this.documentTypeAdapter);
-			}
-		}
-		return this.documentTypeAdapter;
-	}
-
-	/**
-	 */
-	public String getDocumentTypeId() {
-		DocumentType docType = getDocumentType();
-		if (docType == null)
-			return null;
-		String id = docType.getPublicId();
-		if (id == null)
-			id = docType.getSystemId();
-		return id;
-	}
-
-	/**
-	 */
-	public Element getElementById(String id) {
-		if (id == null)
-			return null;
-		NodeIterator it = createNodeIterator(this, NodeFilter.SHOW_ALL, null, false);
-		if (it == null)
-			return null;
-
-		for (Node node = it.nextNode(); node != null; node = it.nextNode()) {
-			if (node.getNodeType() != ELEMENT_NODE)
-				continue;
-			ElementImpl element = (ElementImpl) node;
-			String value = element.getAttribute("id");//$NON-NLS-1$
-			if (value != null && value.equals(id))
-				return element;
-		}
-
-		return null;
-	}
-
-	/**
-	 * getElementsByTagName method
-	 * 
-	 * @return org.w3c.dom.NodeList
-	 * @param tagName
-	 *            java.lang.String
-	 */
-	public NodeList getElementsByTagName(String tagName) {
-		if (tagName == null)
-			return new NodeListImpl();
-
-		NodeListImpl elements = null;
-
-		if (usetagnamecache) {
-			elements = tagNameCache.getItem(tagName);
-		}
-
-		if (elements == null) {
-			elements = internalGetElementsByTagName(tagName);
-
-		}
-
-		return elements;
-	}
-
-	/**
-	 */
-	public NodeList getElementsByTagNameNS(String uri, String tagName) {
-		if (tagName == null)
-			return new NodeListImpl();
-
-		NodeIterator it = createNodeIterator(this, NodeFilter.SHOW_ALL, null, false);
-		if (it == null)
-			return new NodeListImpl();
-		NodeListImpl elements = new NodeListImpl();
-
-		if (uri != null && uri.length() == 1 && uri.charAt(0) == '*') {
-			uri = null; // do not care
-		}
-		if (tagName.length() == 1 && tagName.charAt(0) == '*') {
-			tagName = null; // do not care
-		}
-
-		for (Node node = it.nextNode(); node != null; node = it.nextNode()) {
-			if (node.getNodeType() != ELEMENT_NODE)
-				continue;
-			ElementImpl element = (ElementImpl) node;
-			if (tagName != null) {
-				String localName = element.getLocalName();
-				if (localName == null || !localName.equals(tagName))
-					continue;
-			}
-			if (uri != null) {
-				String nsURI = element.getNamespaceURI();
-				if (nsURI == null || !nsURI.equals(uri))
-					continue;
-			}
-			elements.appendNode(element);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the XML declaration, the encoding
-	 * of this document. This is <code>null</code> when unspecified.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public java.lang.String getEncoding() {
-		return null;
-	}
-
-	/**
-	 */
-	public DOMImplementation getImplementation() {
-		return model;
-	}
-
-	/**
-	 * other nodes will be referring to this one to get the owning model
-	 */
-	public XMLModel getModel() {
-		return model;
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return "#document";//$NON-NLS-1$
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return DOCUMENT_NODE;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the XML declaration, whether this
-	 * document is standalone.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public boolean getStandalone() {
-		return false;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying whether errors checking is enforced or not.
-	 * When set to <code>false</code>, the implementation is free to not
-	 * test every possible error case normally defined on DOM operations, and
-	 * not raise any <code>DOMException</code>. In case of error, the
-	 * behavior is undefined. This attribute is <code>true</code> by
-	 * defaults.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public boolean getStrictErrorChecking() {
-		return false;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the XML declaration, the version
-	 * number of this document. This is <code>null</code> when unspecified.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public String getVersion() {
-		return null;
-	}
-
-	/**
-	 */
-	protected boolean ignoreCase() {
-		DocumentTypeAdapter adapter = getDocumentTypeAdapter();
-		if (adapter == null)
-			return false;
-		return (adapter.getTagNameCase() != DocumentTypeAdapter.STRICT_CASE);
-	}
-
-	/**
-	 */
-	protected void importChildNodes(Node parent, boolean deep) {
-		if (parent == null)
-			return;
-
-		removeChildNodes();
-
-		for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-			Node imported = importNode(child, deep);
-			if (imported == null)
-				continue;
-			appendChild(imported);
-		}
-	}
-
-	/**
-	 */
-	public Node importNode(Node node, boolean deep) throws DOMException {
-		if (node == null)
-			return null;
-		NodeImpl imported = (NodeImpl) node.cloneNode(deep);
-		if (imported == null)
-			return null;
-		imported.setOwnerDocument(this, deep);
-		return imported;
-	}
-
-	private NodeListImpl internalGetElementsByTagName(String tagName) {
-		//System.out.println("getElementsByTagname: " + tagName);
-		NodeIterator it = createNodeIterator(this, NodeFilter.SHOW_ALL, null, false);
-		if (it == null)
-			return new NodeListImpl();
-		NodeListImpl elements = new NodeListImpl();
-
-		if (tagName.length() == 1 && tagName.charAt(0) == '*') {
-			tagName = null; // do not care
-		}
-
-		for (Node node = it.nextNode(); node != null; node = it.nextNode()) {
-			if (node.getNodeType() != ELEMENT_NODE)
-				continue;
-			if (tagName != null) {
-				ElementImpl element = (ElementImpl) node;
-				if (!element.matchTagName(tagName))
-					continue;
-			}
-			elements.appendNode(node);
-		}
-		if (usetagnamecache) {
-			tagNameCache.addItem(tagName, elements);
-		}
-		return elements;
-	}
-
-	/**
-	 */
-	public boolean isJSPDocument() {
-		Element element = getDocumentElement();
-		if (element == null)
-			return false;
-		String tagName = element.getTagName();
-		if (tagName == null)
-			return false;
-		return tagName.equals(JSPTag.JSP_ROOT);
-	}
-
-	/**
-	 */
-	public boolean isJSPType() {
-		if (this.model == null)
-			return false;
-		IModelHandler handler = this.model.getModelHandler();
-		if (handler == null)
-			return false;
-		String id = handler.getAssociatedContentTypeId();
-		if (id == null)
-			return false;
-		// ISSUE: -- avoid this hardcoded string
-		return id.equals("org.eclipse.jst.jsp.core.jspsource");
-	}
-
-	/**
-	 */
-	protected boolean isValidName(String name) {
-		if (name == null || name.length() == 0)
-			return false;
-		//	// DMW: modified for XML4J 4.0.1
-		//	if (XMLChar.isValidName(name)) return true;
-		if (NameValidator.isValid(name))
-			return true;
-		// special for invalid declaration
-		if (name.length() == 1 && name.charAt(0) == '!')
-			return true;
-		// special for JSP tag in tag name
-		if (name.startsWith(JSPTag.TAG_OPEN))
-			return true;
-		return false;
-	}
-
-	/**
-	 */
-	public boolean isXMLType() {
-		DocumentTypeAdapter adapter = getDocumentTypeAdapter();
-		if (adapter == null)
-			return true;
-		return adapter.isXMLType();
-	}
-
-	/**
-	 */
-	protected void releaseDocumentType() {
-		if (this.documentTypeAdapter == null)
-			return;
-		this.documentTypeAdapter.release();
-		this.documentTypeAdapter = null;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the XML declaration, the encoding
-	 * of this document. This is <code>null</code> when unspecified.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public void setEncoding(java.lang.String encoding) {
-	}
-
-	/**
-	 * setModel method
-	 * 
-	 * @param model
-	 *            XMLModel
-	 */
-
-	protected void setModel(XMLModel model) {
-		this.model = (XMLModelImpl) model;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the XML declaration, whether this
-	 * document is standalone.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public void setStandalone(boolean standalone) {
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying whether errors checking is enforced or not.
-	 * When set to <code>false</code>, the implementation is free to not
-	 * test every possible error case normally defined on DOM operations, and
-	 * not raise any <code>DOMException</code>. In case of error, the
-	 * behavior is undefined. This attribute is <code>true</code> by
-	 * defaults.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public void setStrictErrorChecking(boolean strictErrorChecking) {
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the XML declaration, the version
-	 * number of this document. This is <code>null</code> when unspecified.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public void setVersion(java.lang.String version) {
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeAdapterImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeAdapterImpl.java
deleted file mode 100644
index 8d63d99..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeAdapterImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.DocumentTypeAdapter;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.DocumentType;
-
-
-/**
- */
-public class DocumentTypeAdapterImpl implements DocumentTypeAdapter {
-
-	private XMLDocument document = null;
-	private DocumentType documentType = null;
-
-	/**
-	 */
-	protected DocumentTypeAdapterImpl() {
-		super();
-	}
-
-	/**
-	 */
-	protected DocumentTypeAdapterImpl(XMLDocument document) {
-		this.document = document;
-		if (document != null) {
-			this.documentType = document.getDoctype();
-		}
-	}
-
-	/**
-	 */
-	public int getAttrNameCase() {
-		return STRICT_CASE;
-	}
-
-	/**
-	 */
-	protected XMLDocument getDocument() {
-		return this.document;
-	}
-
-	/**
-	 */
-	public DocumentType getDocumentType() {
-		return this.documentType;
-	}
-
-	/**
-	 */
-	public int getTagNameCase() {
-		return STRICT_CASE;
-	}
-
-	/**
-	 */
-	public boolean hasFeature(String feature) {
-		return false;
-	}
-
-	/**
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == DocumentTypeAdapter.class);
-	}
-
-	/**
-	 */
-	public boolean isXMLType() {
-		return true;
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (eventType != INodeNotifier.STRUCTURE_CHANGED)
-			return;
-		if (notifier == null || !(notifier instanceof XMLDocument))
-			return;
-		this.documentType = ((XMLDocument) notifier).getDoctype();
-	}
-
-	/**
-	 */
-	protected void notifyDocumentTypeChanged() {
-		if (this.document == null)
-			return;
-		XMLModel model = this.document.getModel();
-		if (model == null)
-			return;
-		((XMLModelImpl) model).documentTypeChanged();
-	}
-
-	/**
-	 */
-	public void release() {
-		// nothing to do
-	}
-
-	/**
-	 */
-	protected void setDocumentType(DocumentType documentType) {
-		this.documentType = documentType;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeImpl.java
deleted file mode 100644
index c8137da..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeImpl.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.XMLDocumentType;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-
-/**
- * DocumentType class
- */
-public class DocumentTypeImpl extends NodeImpl implements XMLDocumentType {
-	private String internalSubset = null;
-
-	private String name = null;
-	private String publicId = null;
-	private String systemId = null;
-
-	/**
-	 * DocumentTypeImpl constructor
-	 */
-	protected DocumentTypeImpl() {
-		super();
-	}
-
-	/**
-	 * DocumentTypeImpl constructor
-	 * 
-	 * @param that
-	 *            DocumentTypeImpl
-	 */
-	protected DocumentTypeImpl(DocumentTypeImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.name = that.name;
-		}
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		DocumentTypeImpl cloned = new DocumentTypeImpl(this);
-		return cloned;
-	}
-
-	/**
-	 * getEntities method
-	 * 
-	 * @return org.w3c.dom.NamedNodeMap
-	 */
-	public NamedNodeMap getEntities() {
-		return null;
-	}
-
-	/**
-	 */
-	public String getInternalSubset() {
-		return this.internalSubset;
-	}
-
-	/**
-	 * getName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getName() {
-		if (this.name == null)
-			return new String();
-		return this.name;
-	}
-
-	/**
-	 * getNodeName
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return getName();
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return DOCUMENT_TYPE_NODE;
-	}
-
-	/**
-	 * getNotations method
-	 * 
-	 * @return org.w3c.dom.NamedNodeMap
-	 */
-	public NamedNodeMap getNotations() {
-		return null;
-	}
-
-	/**
-	 * getPublicId method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getPublicId() {
-		return this.publicId;
-	}
-
-	/**
-	 * getSystemId method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getSystemId() {
-		return this.systemId;
-	}
-
-	/**
-	 */
-	public boolean isClosed() {
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return true; // will be generated
-		String regionType = StructuredDocumentRegionUtil.getLastRegionType(flatNode);
-		return (regionType == XMLRegionContext.XML_DOCTYPE_DECLARATION_CLOSE || regionType == XMLRegionContext.XML_DECLARATION_CLOSE);
-	}
-
-	/**
-	 */
-	public void setInternalSubset(String internalSubset) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.internalSubset = internalSubset;
-	}
-
-	/**
-	 * setName method
-	 * 
-	 * @param name
-	 *            java.lang.String
-	 */
-	protected void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * setPublicId method
-	 * 
-	 * @param publicId
-	 *            java.lang.String
-	 */
-	public void setPublicId(String publicId) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.publicId = publicId;
-
-		notifyValueChanged();
-	}
-
-	/**
-	 * setSystemId method
-	 * 
-	 * @param systemId
-	 *            java.lang.String
-	 */
-	public void setSystemId(String systemId) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.systemId = systemId;
-
-		notifyValueChanged();
-	}
-
-	/**
-	 * toString method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getName());
-		buffer.append('(');
-		buffer.append(getPublicId());
-		buffer.append(')');
-		buffer.append('(');
-		buffer.append(getSystemId());
-		buffer.append(')');
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode != null) {
-			buffer.append('@');
-			buffer.append(flatNode.toString());
-		}
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ElementImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ElementImpl.java
deleted file mode 100644
index fd8d27a..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ElementImpl.java
+++ /dev/null
@@ -1,1421 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.commentelement.CommentElementAdapter;
-import org.eclipse.wst.xml.core.document.JSPTag;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNamespace;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.traversal.NodeFilter;
-import org.w3c.dom.traversal.NodeIterator;
-
-
-/**
- * ElementImpl class
- */
-public class ElementImpl extends NodeContainer implements XMLElement {
-
-	private class Attributes implements NamedNodeMap {
-		Attributes() {
-			super();
-		}
-
-		public int getLength() {
-			if (attrNodes == null)
-				return 0;
-			return attrNodes.getLength();
-		}
-
-		public Node getNamedItem(String name) {
-			return getAttributeNode(name);
-		}
-
-		public Node getNamedItemNS(String uri, String name) {
-			return getAttributeNodeNS(uri, name);
-		}
-
-		public Node item(int index) {
-			if (attrNodes == null)
-				return null;
-			return attrNodes.item(index);
-		}
-
-		public Node removeNamedItem(String name) throws DOMException {
-			return removeAttributeNode(name);
-		}
-
-		public Node removeNamedItemNS(String uri, String name) throws DOMException {
-			return removeAttributeNodeNS(uri, name);
-		}
-
-		public Node setNamedItem(Node arg) throws DOMException {
-			return setAttributeNode((AttrImpl) arg);
-		}
-
-		public Node setNamedItemNS(Node arg) throws DOMException {
-			return setAttributeNodeNS((AttrImpl) arg);
-		}
-	}
-
-	NodeListImpl attrNodes = null;
-	private IStructuredDocumentRegion endStructuredDocumentRegion = null;
-	private boolean isCommentTag = false;
-	private boolean isEmptyTag = false;
-	private boolean isJSPTag = false;
-	private String namespaceURI = null;
-
-	private String tagName = null;
-
-	/**
-	 * ElementImpl constructor
-	 */
-	protected ElementImpl() {
-		super();
-	}
-
-	/**
-	 * ElementImpl constructor
-	 * 
-	 * @param that
-	 *            ElementImpl
-	 */
-	protected ElementImpl(ElementImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.tagName = that.tagName;
-			this.isEmptyTag = that.isEmptyTag;
-			this.isJSPTag = that.isJSPTag;
-			this.isCommentTag = that.isCommentTag;
-
-			// clone attributes
-			that.cloneAttributes(this);
-		}
-	}
-
-	/**
-	 * addEndTag method
-	 * 
-	 * @param end
-	 *            org.w3c.dom.Element
-	 */
-	protected void addEndTag(Element endTag) {
-		if (endTag == null)
-			return;
-		if (hasEndTag())
-			return;
-		ElementImpl end = (ElementImpl) endTag;
-
-		// move the end flat node from the end tag
-		IStructuredDocumentRegion flatNode = end.getEndStructuredDocumentRegion();
-		if (flatNode == null)
-			return;
-		end.setEndStructuredDocumentRegion(null);
-		setEndStructuredDocumentRegion(flatNode);
-	}
-
-	/**
-	 * appendAttibuteNode method
-	 * 
-	 * @return org.w3c.dom.Attr
-	 * @param newAttr
-	 *            org.w3c.dom.Attr
-	 */
-	public Attr appendAttributeNode(Attr newAttr) {
-		if (newAttr == null)
-			return null;
-		AttrImpl attr = (AttrImpl) newAttr;
-		if (attr.getOwnerElement() != null)
-			return null;
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		if (this.attrNodes == null)
-			this.attrNodes = new NodeListImpl();
-		this.attrNodes.appendNode(attr);
-		attr.setOwnerElement(this);
-
-		notifyAttrReplaced(attr, null);
-		return attr;
-	}
-
-	/**
-	 * cloneAttributes method
-	 * 
-	 * @param newOwner
-	 *            org.w3c.dom.Element
-	 */
-	protected void cloneAttributes(Element newOwner) {
-		if (newOwner == null || newOwner == this)
-			return;
-
-		ElementImpl element = (ElementImpl) newOwner;
-		element.removeAttributes();
-
-		if (this.attrNodes == null)
-			return;
-
-		int length = this.attrNodes.getLength();
-		for (int i = 0; i < length; i++) {
-			Node node = this.attrNodes.item(i);
-			if (node == null)
-				continue;
-			Attr cloned = (Attr) node.cloneNode(false);
-			if (cloned != null)
-				element.appendAttributeNode(cloned);
-		}
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		ElementImpl cloned = new ElementImpl(this);
-		if (deep)
-			cloneChildNodes(cloned, deep);
-		return cloned;
-	}
-
-	/**
-	 * getAttribute method
-	 * 
-	 * @return java.lang.String
-	 * @param name
-	 *            java.lang.String
-	 */
-	public String getAttribute(String name) {
-		Attr attr = getAttributeNode(name);
-		if (attr == null)
-			return null;
-		return attr.getValue();
-	}
-
-	/**
-	 * getAttributeNode method
-	 * 
-	 * @return org.w3c.dom.Attr
-	 * @param name
-	 *            java.lang.String
-	 */
-	public Attr getAttributeNode(String name) {
-		if (name == null)
-			return null; // invalid parameter
-		if (this.attrNodes == null)
-			return null; // no attribute
-
-		int length = this.attrNodes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) this.attrNodes.item(i);
-			if (attr == null)
-				continue;
-			if (attr.matchName(name))
-				return attr; // found
-		}
-
-		return null; // not found
-	}
-
-	/**
-	 */
-	public Attr getAttributeNodeNS(String uri, String name) {
-		if (name == null)
-			return null; // invalid parameter
-		if (this.attrNodes == null)
-			return null; // no attribute
-
-		int length = this.attrNodes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) this.attrNodes.item(i);
-			if (attr == null)
-				continue;
-			String localName = attr.getLocalName();
-			if (localName == null || !localName.equals(name))
-				continue;
-			String nsURI = attr.getNamespaceURI();
-			if (uri == null) {
-				if (nsURI != null)
-					continue;
-			} else {
-				if (nsURI == null || !nsURI.equals(uri))
-					continue;
-			}
-
-			// found
-			return attr;
-		}
-
-		return null; // not found
-	}
-
-	/**
-	 */
-	public String getAttributeNS(String uri, String name) {
-		Attr attr = getAttributeNodeNS(uri, name);
-		if (attr == null)
-			return null;
-		return attr.getValue();
-	}
-
-	/**
-	 * getAttributes method
-	 * 
-	 * @return org.w3c.dom.NamedNodeMap
-	 */
-	public NamedNodeMap getAttributes() {
-		return new Attributes();
-	}
-
-	/**
-	 */
-	protected CMElementDeclaration getDeclaration() {
-		Document document = getOwnerDocument();
-		if (document == null)
-			return null;
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-		if (modelQuery == null)
-			return null;
-		return modelQuery.getCMElementDeclaration(this);
-	}
-
-	/**
-	 * getElementsByTagName method
-	 * 
-	 * @return org.w3c.dom.NodeList
-	 * @param tagName
-	 *            java.lang.String
-	 */
-	public NodeList getElementsByTagName(String tagName) {
-		if (tagName == null)
-			return new NodeListImpl();
-
-		DocumentImpl document = (DocumentImpl) getOwnerDocument();
-		if (document == null)
-			return new NodeListImpl();
-		NodeIterator it = document.createNodeIterator(this, NodeFilter.SHOW_ALL, null, false);
-		if (it == null)
-			return new NodeListImpl();
-		NodeListImpl elements = new NodeListImpl();
-
-		if (tagName.length() == 1 && tagName.charAt(0) == '*') {
-			tagName = null; // do not care
-		}
-
-		for (Node node = it.nextNode(); node != null; node = it.nextNode()) {
-			if (node.getNodeType() != ELEMENT_NODE)
-				continue;
-			if (tagName != null) {
-				ElementImpl element = (ElementImpl) node;
-				if (!element.matchTagName(tagName))
-					continue;
-			}
-			elements.appendNode(node);
-		}
-
-		return elements;
-	}
-
-	/**
-	 */
-	public NodeList getElementsByTagNameNS(String uri, String tagName) {
-		if (tagName == null)
-			return new NodeListImpl();
-
-		DocumentImpl document = (DocumentImpl) getOwnerDocument();
-		if (document == null)
-			return new NodeListImpl();
-		NodeIterator it = document.createNodeIterator(this, NodeFilter.SHOW_ALL, null, false);
-		if (it == null)
-			return new NodeListImpl();
-		NodeListImpl elements = new NodeListImpl();
-
-		if (uri != null && uri.length() == 1 && uri.charAt(0) == '*') {
-			uri = null; // do not care
-		}
-		if (tagName.length() == 1 && tagName.charAt(0) == '*') {
-			tagName = null; // do not care
-		}
-
-		for (Node node = it.nextNode(); node != null; node = it.nextNode()) {
-			if (node.getNodeType() != ELEMENT_NODE)
-				continue;
-			ElementImpl element = (ElementImpl) node;
-			if (tagName != null) {
-				String localName = element.getLocalName();
-				if (localName == null || !localName.equals(tagName))
-					continue;
-			}
-			if (uri != null) {
-				String nsURI = element.getNamespaceURI();
-				if (nsURI == null || !nsURI.equals(uri))
-					continue;
-			}
-			elements.appendNode(element);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * getEndOffset method
-	 * 
-	 * @return int
-	 */
-	public int getEndOffset() {
-		if (this.endStructuredDocumentRegion != null)
-			return this.endStructuredDocumentRegion.getEnd();
-		return super.getEndOffset();
-	}
-
-	/**
-	 * getEndStartOffset method
-	 * 
-	 * @return int
-	 */
-	public int getEndStartOffset() {
-		if (this.endStructuredDocumentRegion != null)
-			return this.endStructuredDocumentRegion.getStart();
-		return super.getEndOffset();
-	}
-
-	/**
-	 * getEndStructuredDocumentRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getEndStructuredDocumentRegion() {
-		return this.endStructuredDocumentRegion;
-	}
-
-	/**
-	 */
-	public String getEndTagName() {
-		if (this.endStructuredDocumentRegion == null)
-			return null;
-
-		ITextRegionList regions = this.endStructuredDocumentRegion.getRegions();
-		if (regions == null)
-			return null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_TAG_NAME || regionType == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME || regionType == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-				return this.endStructuredDocumentRegion.getText(region);
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * getFirstStructuredDocumentRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getFirstStructuredDocumentRegion() {
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode != null)
-			return StructuredDocumentRegionUtil.getStructuredDocumentRegion(flatNode);
-		return StructuredDocumentRegionUtil.getStructuredDocumentRegion(this.endStructuredDocumentRegion);
-	}
-
-	/**
-	 * getLastStructuredDocumentRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getLastStructuredDocumentRegion() {
-		if (this.endStructuredDocumentRegion != null)
-			return StructuredDocumentRegionUtil.getStructuredDocumentRegion(this.endStructuredDocumentRegion);
-		return StructuredDocumentRegionUtil.getStructuredDocumentRegion(getStructuredDocumentRegion());
-	}
-
-	/**
-	 */
-	public String getLocalName() {
-		if (this.tagName == null)
-			return null;
-		int index = this.tagName.indexOf(':');
-		if (index < 0)
-			return this.tagName;
-		return this.tagName.substring(index + 1);
-	}
-
-	/**
-	 */
-	public String getNamespaceURI() {
-		String nsAttrName = null;
-		String prefix = getPrefix();
-		if (prefix != null && prefix.length() > 0) {
-			nsAttrName = XMLNamespace.XMLNS_PREFIX + prefix;
-		} else {
-			nsAttrName = XMLNamespace.XMLNS;
-		}
-
-		for (Node node = this; node != null; node = node.getParentNode()) {
-			if (node.getNodeType() != ELEMENT_NODE)
-				break;
-			Element element = (Element) node;
-			Attr attr = element.getAttributeNode(nsAttrName);
-			if (attr != null)
-				return attr.getValue();
-		}
-
-		return this.namespaceURI;
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return getTagName();
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return ELEMENT_NODE;
-	}
-
-	/**
-	 */
-	public String getPrefix() {
-		if (this.tagName == null)
-			return null;
-		int index = this.tagName.indexOf(':');
-		if (index <= 0)
-			return null;
-		// exclude JSP tag in tag name
-		if (this.tagName.charAt(0) == '<')
-			return null;
-		return this.tagName.substring(0, index);
-	}
-
-	/**
-	 * getStartEndOffset method
-	 * 
-	 * @return int
-	 */
-	public int getStartEndOffset() {
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode != null)
-			return flatNode.getEnd();
-		return super.getStartOffset();
-	}
-
-	/**
-	 * getStartOffset method
-	 * 
-	 * @return int
-	 */
-	public int getStartOffset() {
-		if (getStartStructuredDocumentRegion() == null && this.endStructuredDocumentRegion != null && !hasChildNodes()) {
-			return this.endStructuredDocumentRegion.getStart();
-		}
-		return super.getStartOffset();
-	}
-
-	/**
-	 * getStartStructuredDocumentRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getStartStructuredDocumentRegion() {
-		return getStructuredDocumentRegion();
-	}
-
-	/**
-	 * getTagName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getTagName() {
-		if (this.tagName == null)
-			return new String();
-		return this.tagName;
-	}
-
-	/**
-	 */
-	public boolean hasAttribute(String name) {
-		return (getAttributeNode(name) != null);
-	}
-
-	/**
-	 */
-	public boolean hasAttributeNS(String uri, String name) {
-		return (getAttributeNodeNS(uri, name) != null);
-	}
-
-	/**
-	 */
-	public boolean hasAttributes() {
-		return (this.attrNodes != null && this.attrNodes.getLength() > 0);
-	}
-
-	/**
-	 * hasEndTag method
-	 * 
-	 * @return boolean
-	 */
-	public boolean hasEndTag() {
-		return (this.endStructuredDocumentRegion != null);
-	}
-
-	/**
-	 */
-	protected final boolean hasPrefix() {
-		if (this.tagName == null)
-			return false;
-		if (this.tagName.indexOf(':') <= 0)
-			return false;
-		// exclude JSP tag in tag name
-		if (this.tagName.charAt(0) == '<')
-			return false;
-		return true;
-	}
-
-	/**
-	 * hasStartTag method
-	 * 
-	 * @return boolean
-	 */
-	public boolean hasStartTag() {
-		return (getStructuredDocumentRegion() != null);
-	}
-
-	/**
-	 */
-	protected final boolean ignoreCase() {
-		DocumentImpl document = (DocumentImpl) getOwnerDocument();
-		if (document != null && document.ignoreCase()) {
-			// even in case insensitive document, if having prefix, it's case
-			// sensitive tag
-			return !hasPrefix();
-		}
-		return false;
-	}
-
-	/**
-	 */
-	protected Attr insertAttributeNode(Attr newAttr, int index) {
-		if (newAttr == null)
-			return null;
-		AttrImpl attr = (AttrImpl) newAttr;
-		if (attr.getOwnerElement() != null)
-			return null;
-
-		if (this.attrNodes == null)
-			this.attrNodes = new NodeListImpl();
-		this.attrNodes.insertNode(attr, index);
-		attr.setOwnerElement(this);
-
-		notifyAttrReplaced(attr, null);
-		return attr;
-	}
-
-	/**
-	 * insertBefore method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param refChild
-	 *            org.w3c.dom.Node
-	 */
-	public Node insertBefore(Node newChild, Node refChild) throws DOMException {
-		// should throw DOMException instead of return null?
-		if (newChild == null)
-			return null;
-		if (!isContainer()) { // never be container
-			throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR, new String());
-		}
-		if (newChild.getNodeType() != TEXT_NODE) {
-			if (isJSPContainer() || isCDATAContainer()) { // accepts only Text
-				// child
-				throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR, new String());
-			}
-		}
-		return super.insertBefore(newChild, refChild);
-	}
-
-	/**
-	 */
-	protected boolean isCDATAContainer() {
-		// use BlockMaker instead of CMElementDeclaration
-		// because <style> and <script> in XHTML is not CDATA content type
-		XMLModel model = getModel();
-		if (model == null)
-			return false; // error
-		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		if (structuredDocument == null)
-			return false; // eror
-		RegionParser parser = structuredDocument.getParser();
-		if (parser == null || !(parser instanceof XMLSourceParser))
-			return false;
-		return (((XMLSourceParser) parser).getBlockMarker(this.tagName) != null);
-		/*
-		 * CMElementDeclaration decl = getDeclaration(); if (decl == null)
-		 * return false; if (decl instanceof CMNodeWrapper) { decl =
-		 * (CMElementDeclaration)((CMNodeWrapper)decl).getOriginNode(); if
-		 * (decl == null) return false; } if (decl instanceof
-		 * TLDElementDeclaration) { String content =
-		 * ((TLDElementDeclaration)decl).getBodycontent(); if (content ==
-		 * null) return false; return
-		 * content.equals(JSP11TLDNames.CONTENT_TAGDEPENDENT); } if
-		 * (!isGlobalTag()) return false; return (decl.getContentType() ==
-		 * CMElementDeclaration.CDATA);
-		 */
-	}
-
-	/**
-	 */
-	public boolean isClosed() {
-		IStructuredDocumentRegion flatNode = null;
-		if (isEmptyTag() || !isContainer()) {
-			flatNode = getStructuredDocumentRegion();
-			if (flatNode == null)
-				return true; // will be generated
-		} else {
-			flatNode = getEndStructuredDocumentRegion();
-			if (flatNode == null)
-				return false; // must be generated
-		}
-		String regionType = StructuredDocumentRegionUtil.getLastRegionType(flatNode);
-		if (isCommentTag()) {
-			return (regionType == XMLJSPRegionContexts.JSP_COMMENT_CLOSE || regionType == XMLRegionContext.XML_COMMENT_CLOSE);
-		}
-		if (isJSPTag()) {
-			return (regionType == XMLJSPRegionContexts.JSP_CLOSE || regionType == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE);
-		}
-		return (regionType == XMLRegionContext.XML_TAG_CLOSE || regionType == XMLRegionContext.XML_EMPTY_TAG_CLOSE || regionType == XMLRegionContext.XML_DECLARATION_CLOSE);
-	}
-
-	/**
-	 */
-	public final boolean isCommentTag() {
-		return this.isCommentTag;
-	}
-
-	/**
-	 * isContainer method
-	 * 
-	 * @return boolean
-	 */
-	public boolean isContainer() {
-		if (isCommentTag()) {
-			CommentElementAdapter adapter = (CommentElementAdapter) getAdapterFor(CommentElementAdapter.class);
-			if (adapter != null) {
-				return (adapter.isContainer());
-			}
-			return (getDeclaration() == null);
-		}
-		if (isJSPTag()) {
-			// exclude JSP directive
-			return (matchTagName(JSPTag.JSP_SCRIPTLET) || matchTagName(JSPTag.JSP_DECLARATION) || matchTagName(JSPTag.JSP_EXPRESSION));
-		}
-		if (!isXMLTag()) { // non-XML tag
-			CMElementDeclaration decl = getDeclaration();
-			if (decl == null)
-				return false; // undefined tag
-			return (decl.getContentType() != CMElementDeclaration.EMPTY);
-		}
-		return true;
-	}
-
-	/**
-	 * isEmptyTag method
-	 * 
-	 * @return boolean
-	 */
-	public boolean isEmptyTag() {
-		if (isJSPTag())
-			return false;
-		if (isCommentTag())
-			return false;
-		if (!isXMLTag())
-			return false;
-		return this.isEmptyTag;
-	}
-
-	/**
-	 */
-	public boolean isEndTag() {
-		return (hasEndTag() && !hasStartTag() && !hasChildNodes());
-	}
-
-	/**
-	 */
-	public boolean isGlobalTag() {
-		return !hasPrefix();
-	}
-
-	/**
-	 */
-	public boolean isImplicitTag() {
-		if (hasStartTag() || hasEndTag())
-			return false;
-		// make sure this is in the document tree
-		// because if not in the document tree, no tags are generated yet
-		return (getContainerDocument() != null);
-	}
-
-	/**
-	 */
-	public boolean isJSPContainer() {
-		return (isJSPTag() && !isCommentTag() && isContainer());
-	}
-
-	/**
-	 * isJSPTag method
-	 * 
-	 * @return boolean
-	 */
-	public final boolean isJSPTag() {
-		return this.isJSPTag;
-	}
-
-	/**
-	 */
-	public boolean isStartTagClosed() {
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return true; // will be generated
-		String regionType = StructuredDocumentRegionUtil.getLastRegionType(flatNode);
-		if (isCommentTag()) {
-			return (regionType == XMLJSPRegionContexts.JSP_COMMENT_CLOSE || regionType == XMLRegionContext.XML_COMMENT_CLOSE);
-		}
-		if (isJSPTag()) {
-			if (isContainer())
-				return true; // start tag always has a single region
-			return (regionType == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE);
-		}
-		return (regionType == XMLRegionContext.XML_TAG_CLOSE || regionType == XMLRegionContext.XML_EMPTY_TAG_CLOSE || regionType == XMLRegionContext.XML_DECLARATION_CLOSE);
-	}
-
-	/**
-	 */
-	public final boolean isXMLTag() {
-		if (isJSPTag())
-			return false;
-		if (isCommentTag())
-			return false;
-		DocumentImpl document = (DocumentImpl) getOwnerDocument();
-		if (document != null && !document.isXMLType()) {
-			// even in non-XML document, if having prefix, it's XML tag
-			return hasPrefix();
-		}
-		return true;
-	}
-
-	/**
-	 */
-	protected boolean matchEndTag(Element element) {
-		if (element == null)
-			return false;
-		ElementImpl impl = (ElementImpl) element;
-		if (isJSPTag() && !isCommentTag()) {
-			return (impl.isJSPTag() && !impl.isCommentTag());
-		}
-		return matchTagName(element.getTagName());
-	}
-
-	/**
-	 * matchTagName method
-	 * 
-	 * @return boolean
-	 * @param tagName
-	 *            java.lang.String
-	 */
-	public boolean matchTagName(String tagName) {
-		if (tagName == null)
-			return (this.tagName == null);
-		if (this.tagName == null)
-			return false;
-		if (!ignoreCase())
-			return this.tagName.equals(tagName);
-		return this.tagName.equalsIgnoreCase(tagName);
-	}
-
-	/**
-	 * notifyAttrReplaced method
-	 * 
-	 * @param newAttr
-	 *            org.w3c.dom.Attr
-	 * @param oldAttr
-	 *            org.w3c.dom.Attr
-	 */
-	protected void notifyAttrReplaced(Attr newAttr, Attr oldAttr) {
-		DocumentImpl document = (DocumentImpl) getContainerDocument();
-		if (document == null)
-			return;
-		XMLModelImpl model = (XMLModelImpl) document.getModel();
-		if (model == null)
-			return;
-		model.attrReplaced(this, newAttr, oldAttr);
-	}
-
-	/**
-	 * notifyValueChanged method
-	 */
-	public void notifyEndTagChanged() {
-		DocumentImpl document = (DocumentImpl) getContainerDocument();
-		if (document == null)
-			return;
-		XMLModelImpl model = (XMLModelImpl) document.getModel();
-		if (model == null)
-			return;
-		model.endTagChanged(this);
-	}
-
-	/**
-	 */
-	public void notifyStartTagChanged() {
-		DocumentImpl document = (DocumentImpl) getContainerDocument();
-		if (document == null)
-			return;
-		XMLModelImpl model = (XMLModelImpl) document.getModel();
-		if (model == null)
-			return;
-		model.startTagChanged(this);
-	}
-
-	/**
-	 */
-	public boolean preferEmptyTag() {
-		if (hasChildNodes())
-			return false;
-		if (isJSPTag())
-			return false;
-		if (isCommentTag())
-			return false;
-		if (!isXMLTag())
-			return false;
-		CMElementDeclaration decl = getDeclaration();
-		if (decl == null)
-			return false;
-		return (decl.getContentType() == CMElementDeclaration.EMPTY);
-	}
-
-	/**
-	 * removeAttribute method
-	 * 
-	 * @param name
-	 *            java.lang.String
-	 */
-	public void removeAttribute(String name) throws DOMException {
-		removeAttributeNode(name);
-	}
-
-	/**
-	 * removeAttributeNode method
-	 * 
-	 * @return org.w3c.dom.Attr
-	 * @param oldAttr
-	 *            org.w3c.dom.Attr
-	 */
-	public Attr removeAttributeNode(Attr oldAttr) throws DOMException {
-		if (oldAttr == null)
-			return null; // invalid parameter
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		if (this.attrNodes == null) { // no attribute
-			throw new DOMException(DOMException.NOT_FOUND_ERR, new String());
-		}
-
-		int length = this.attrNodes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) this.attrNodes.item(i);
-			if (attr != oldAttr)
-				continue;
-
-			// found
-			this.attrNodes.removeNode(i);
-			attr.setOwnerElement(null);
-
-			notifyAttrReplaced(null, attr);
-			return attr;
-		}
-
-		// not found
-		throw new DOMException(DOMException.NOT_FOUND_ERR, new String());
-	}
-
-	/**
-	 * removeAttributeNode method
-	 * 
-	 * @return org.w3c.dom.Attr
-	 * @param name
-	 *            java.lang.String
-	 */
-	public Attr removeAttributeNode(String name) {
-		if (name == null)
-			return null; // invalid parameter
-		if (this.attrNodes == null)
-			return null; // no attribute
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		int length = this.attrNodes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) this.attrNodes.item(i);
-			if (attr == null)
-				continue;
-			if (!attr.matchName(name))
-				continue;
-
-			// found
-			this.attrNodes.removeNode(i);
-			attr.setOwnerElement(null);
-
-			notifyAttrReplaced(null, attr);
-			return attr;
-		}
-
-		return null; // not found
-	}
-
-	/**
-	 */
-	public Attr removeAttributeNodeNS(String uri, String name) {
-		if (name == null)
-			return null; // invalid parameter
-		if (this.attrNodes == null)
-			return null; // no attribute
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		int length = this.attrNodes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) this.attrNodes.item(i);
-			if (attr == null)
-				continue;
-			String localName = attr.getLocalName();
-			if (localName == null || !localName.equals(name))
-				continue;
-			String nsURI = attr.getNamespaceURI();
-			if (uri == null) {
-				if (nsURI != null)
-					continue;
-			} else {
-				if (nsURI == null || !nsURI.equals(uri))
-					continue;
-			}
-
-			// found
-			this.attrNodes.removeNode(i);
-			attr.setOwnerElement(null);
-
-			notifyAttrReplaced(null, attr);
-			return attr;
-		}
-
-		return null; // not found
-	}
-
-	/**
-	 */
-	public void removeAttributeNS(String uri, String name) throws DOMException {
-		removeAttributeNodeNS(uri, name);
-	}
-
-	/**
-	 * removeAttributes method
-	 */
-	public void removeAttributes() {
-		if (this.attrNodes == null)
-			return;
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		int length = this.attrNodes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) this.attrNodes.item(i);
-			if (attr != null) {
-				attr.setOwnerElement(null);
-				notifyAttrReplaced(null, attr);
-			}
-		}
-
-		this.attrNodes = null;
-	}
-
-	/**
-	 * removeEndTag method
-	 * 
-	 * @return org.w3c.dom.Element
-	 */
-	protected Element removeEndTag() {
-		if (!hasEndTag())
-			return null;
-		NodeListImpl attrNodes = this.attrNodes;
-		this.attrNodes = null; // not to copy attributes
-		ElementImpl end = (ElementImpl) cloneNode(false);
-		this.attrNodes = attrNodes;
-		if (end == null)
-			return null;
-
-		// move the end flat node to the end tag
-		IStructuredDocumentRegion flatNode = getEndStructuredDocumentRegion();
-		if (flatNode == null)
-			return null;
-		setEndStructuredDocumentRegion(null);
-		end.setEndStructuredDocumentRegion(flatNode);
-		return end;
-	}
-
-	/**
-	 */
-	protected void removeStartTag() {
-		removeAttributes();
-	}
-
-	/**
-	 * Resets attribute values from IStructuredDocumentRegion.
-	 */
-	void resetStructuredDocumentRegions() {
-		if (this.attrNodes != null) {
-			int length = this.attrNodes.getLength();
-			for (int i = 0; i < length; i++) {
-				AttrImpl attr = (AttrImpl) this.attrNodes.item(i);
-				if (attr == null)
-					continue;
-				attr.resetRegions();
-			}
-		}
-
-		super.resetStructuredDocumentRegions(); // for children
-
-		this.endStructuredDocumentRegion = null;
-	}
-
-	/**
-	 * setAttribute method
-	 * 
-	 * @param name
-	 *            java.lang.String
-	 * @param value
-	 *            java.lang.String
-	 */
-	public void setAttribute(String name, String value) throws DOMException {
-		if (name == null)
-			return;
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		Attr attr = getAttributeNode(name);
-		if (attr != null) {
-			attr.setValue(value); // change value
-			return;
-		}
-
-		// new attribute
-		Document doc = getOwnerDocument();
-		if (doc == null)
-			return;
-		attr = doc.createAttribute(name);
-		if (attr == null)
-			return;
-		attr.setValue(value);
-		appendAttributeNode(attr);
-	}
-
-	/**
-	 * setAttributeNode method
-	 * 
-	 * @return org.w3c.dom.Attr
-	 * @param newAttr
-	 *            org.w3c.dom.Attr
-	 */
-	public Attr setAttributeNode(Attr newAttr) throws DOMException {
-		if (newAttr == null)
-			return null; // nothing to do
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		AttrImpl attr = (AttrImpl) newAttr;
-		Element owner = attr.getOwnerElement();
-		if (owner != null) {
-			if (owner == this)
-				return null; // nothing to do
-			throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR, new String());
-		}
-
-		Attr oldAttr = removeAttributeNode(newAttr.getName());
-		appendAttributeNode(attr);
-		return oldAttr;
-	}
-
-	/**
-	 */
-	public Attr setAttributeNodeNS(Attr newAttr) throws DOMException {
-		if (newAttr == null)
-			return null; // nothing to do
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		AttrImpl attr = (AttrImpl) newAttr;
-		Element owner = attr.getOwnerElement();
-		if (owner != null) {
-			if (owner == this)
-				return null; // nothing to do
-			throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR, new String());
-		}
-
-		String name = newAttr.getLocalName();
-		String uri = newAttr.getNamespaceURI();
-		Attr oldAttr = removeAttributeNodeNS(uri, name);
-		appendAttributeNode(attr);
-		return oldAttr;
-	}
-
-	/**
-	 */
-	public void setAttributeNS(String uri, String name, String value) throws DOMException {
-		if (name == null)
-			return;
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		Attr attr = getAttributeNodeNS(uri, name);
-		if (attr != null) {
-			attr.setValue(value); // change value
-			return;
-		}
-
-		// new attribute
-		Document doc = getOwnerDocument();
-		if (doc == null)
-			return;
-		attr = doc.createAttributeNS(uri, name);
-		if (attr == null)
-			return;
-		attr.setValue(value);
-		appendAttributeNode(attr);
-	}
-
-	/**
-	 */
-	public void setCommentTag(boolean isCommentTag) {
-		XMLNode parent = (XMLNode) getParentNode();
-		if (parent != null && !parent.isChildEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.isCommentTag = isCommentTag;
-	}
-
-	/**
-	 * setEmptyTag method
-	 * 
-	 * @param isEmptyTag
-	 *            boolean
-	 */
-	public void setEmptyTag(boolean isEmptyTag) {
-		XMLNode parent = (XMLNode) getParentNode();
-		if (parent != null && !parent.isChildEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.isEmptyTag = isEmptyTag;
-	}
-
-	/**
-	 * setEndStructuredDocumentRegion method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	void setEndStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		this.endStructuredDocumentRegion = flatNode;
-
-		NodeContainer parent = (NodeContainer) getParentNode();
-		if (parent != null) {
-			parent.syncChildEditableState(this);
-		}
-	}
-
-	/**
-	 * setJSPTag method
-	 * 
-	 * @param isJSPTag
-	 *            boolean
-	 */
-	public void setJSPTag(boolean isJSPTag) {
-		XMLNode parent = (XMLNode) getParentNode();
-		if (parent != null && !parent.isChildEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.isJSPTag = isJSPTag;
-	}
-
-	/**
-	 */
-	protected void setNamespaceURI(String namespaceURI) {
-		this.namespaceURI = namespaceURI;
-	}
-
-	/**
-	 */
-	protected void setOwnerDocument(Document ownerDocument, boolean deep) {
-		super.setOwnerDocument(ownerDocument, deep);
-
-		if (this.attrNodes == null)
-			return;
-
-		int length = this.attrNodes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) this.attrNodes.item(i);
-			if (attr == null)
-				continue;
-			attr.setOwnerDocument(ownerDocument);
-		}
-	}
-
-	/**
-	 */
-	public void setPrefix(String prefix) throws DOMException {
-		XMLNode parent = (XMLNode) getParentNode();
-		if (parent != null && !parent.isChildEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		int prefixLength = (prefix != null ? prefix.length() : 0);
-		String localName = getLocalName();
-		if (prefixLength == 0) {
-			if (localName == null || localName.length() == 0) {
-				// invalid local name
-				return;
-			}
-			setTagName(localName);
-		} else {
-			int localLength = (localName != null ? localName.length() : 0);
-			StringBuffer buffer = new StringBuffer(prefixLength + 1 + localLength);
-			buffer.append(prefix);
-			buffer.append(':');
-			if (localName != null)
-				buffer.append(localName);
-			setTagName(buffer.toString());
-		}
-
-		boolean changeEndTag = hasEndTag();
-		notifyStartTagChanged();
-		if (changeEndTag)
-			notifyEndTagChanged();
-	}
-
-	/**
-	 * setStartStructuredDocumentRegion method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	void setStartStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		setStructuredDocumentRegion(flatNode);
-	}
-
-	/**
-	 * setTagName method
-	 * 
-	 * @param tagName
-	 *            java.lang.String
-	 */
-	protected void setTagName(String tagName) {
-		this.tagName = tagName;
-	}
-
-	/**
-	 * toString method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		String tagName = getTagName();
-		if (hasStartTag())
-			buffer.append(tagName);
-		if (isEmptyTag())
-			buffer.append('/');
-		if (hasEndTag()) {
-			buffer.append('/');
-			buffer.append(tagName);
-		}
-		if (buffer.length() == 0)
-			buffer.append(tagName);
-
-		IStructuredDocumentRegion startStructuredDocumentRegion = getStartStructuredDocumentRegion();
-		if (startStructuredDocumentRegion != null) {
-			buffer.append('@');
-			buffer.append(startStructuredDocumentRegion.toString());
-		}
-		IStructuredDocumentRegion endStructuredDocumentRegion = getEndStructuredDocumentRegion();
-		if (endStructuredDocumentRegion != null) {
-			buffer.append('@');
-			buffer.append(endStructuredDocumentRegion.toString());
-		}
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/EntityImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/EntityImpl.java
deleted file mode 100644
index 80e5d6f..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/EntityImpl.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Entity;
-import org.w3c.dom.Node;
-
-/**
- * EntityImpl class
- */
-public class EntityImpl extends NodeImpl implements Entity {
-
-	private String name = null;
-	private String notationName = null;
-	private String publicId = null;
-	private String systemId = null;
-
-	/**
-	 * EntityImpl constructor
-	 */
-	protected EntityImpl() {
-		super();
-	}
-
-	/**
-	 * EntityImpl constructor
-	 * 
-	 * @param that
-	 *            EntityImpl
-	 */
-	protected EntityImpl(EntityImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.name = that.name;
-			this.publicId = that.publicId;
-			this.systemId = that.systemId;
-			this.notationName = that.notationName;
-		}
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		EntityImpl cloned = new EntityImpl(this);
-		return cloned;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the text declaration, the encoding
-	 * of this entity, when it is an external parsed entity. This is
-	 * <code>null</code> otherwise.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public java.lang.String getEncoding() {
-		return null;
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		if (this.name == null)
-			return new String();
-		return this.name;
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return ENTITY_NODE;
-	}
-
-	/**
-	 * getNotationName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNotationName() {
-		return this.notationName;
-	}
-
-	/**
-	 * getPublicId method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getPublicId() {
-		return this.publicId;
-	}
-
-	/**
-	 * getSystemId method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getSystemId() {
-		return this.systemId;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the text declaration, the version
-	 * number of this entity, when it is an external parsed entity. This is
-	 * <code>null</code> otherwise.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public java.lang.String getVersion() {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the text declaration, the encoding
-	 * of this entity, when it is an external parsed entity. This is
-	 * <code>null</code> otherwise.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public void setEncoding(java.lang.String encoding) {
-	}
-
-	/**
-	 * setName method
-	 * 
-	 * @param name
-	 *            java.lang.String
-	 */
-	protected void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * setNotationName method
-	 * 
-	 * @param notationName
-	 *            java.lang.String
-	 */
-	public void setNotationName(String notationName) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.notationName = notationName;
-	}
-
-	/**
-	 * setPublicId method
-	 * 
-	 * @param publicId
-	 *            java.lang.String
-	 */
-	public void setPublicId(String publicId) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.publicId = publicId;
-	}
-
-	/**
-	 * setSystemId method
-	 * 
-	 * @param systemId
-	 *            java.lang.String
-	 */
-	public void setSystemId(String systemId) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.systemId = systemId;
-	}
-
-	/**
-	 * <p>
-	 * EXPERIMENTAL! Based on the <a
-	 * href='http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010605'>Document
-	 * Object Model (DOM) Level 3 Core Working Draft of 5 June 2001. </a>.
-	 * <p>
-	 * An attribute specifying, as part of the text declaration, the version
-	 * number of this entity, when it is an external parsed entity. This is
-	 * <code>null</code> otherwise.
-	 * 
-	 * @since DOM Level 3
-	 */
-	public void setVersion(java.lang.String version) {
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/EntityReferenceImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/EntityReferenceImpl.java
deleted file mode 100644
index 366ecc0..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/EntityReferenceImpl.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.w3c.dom.EntityReference;
-import org.w3c.dom.Node;
-
-/**
- * EntityReference class
- */
-public class EntityReferenceImpl extends NodeImpl implements EntityReference {
-
-	private String name = null;
-
-	/**
-	 * EntityReferenceImpl constructor
-	 */
-	protected EntityReferenceImpl() {
-		super();
-	}
-
-	/**
-	 * EntityReferenceImpl constructor
-	 * 
-	 * @param that
-	 *            EntityReferenceImpl
-	 */
-	protected EntityReferenceImpl(EntityReferenceImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.name = that.name;
-		}
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		EntityReferenceImpl cloned = new EntityReferenceImpl(this);
-		return cloned;
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		if (this.name == null)
-			return new String();
-		return this.name;
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return ENTITY_REFERENCE_NODE;
-	}
-
-	/**
-	 * setName method
-	 * 
-	 * @param name
-	 *            java.lang.String
-	 */
-	protected void setName(String name) {
-		this.name = name;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ModelParserAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ModelParserAdapter.java
deleted file mode 100644
index 011079b..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ModelParserAdapter.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- */
-public interface ModelParserAdapter extends INodeAdapter {
-
-	/**
-	 */
-	public boolean canBeImplicitTag(Element element);
-
-	/**
-	 */
-	public boolean canBeImplicitTag(Element element, Node child);
-
-	/**
-	 */
-	public boolean canContain(Element element, Node child);
-
-	/**
-	 */
-	public Element createCommentElement(Document document, String data, boolean isJSPTag);
-
-	/**
-	 */
-	public Element createImplicitElement(Document document, Node parent, Node child);
-
-	/**
-	 */
-	public String getFindRootName(String tagName);
-
-	/**
-	 */
-	public boolean isEndTag(XMLElement element);
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeContainer.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeContainer.java
deleted file mode 100644
index 121d57c..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeContainer.java
+++ /dev/null
@@ -1,514 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * NodeContainer class
- */
-public abstract class NodeContainer extends NodeImpl implements Node, NodeList {
-
-	/**
-	 */
-	private class ChildNodesCache implements NodeList {
-		private Node curChild = null;
-		private int curIndex = -1;
-		private int length = 0;
-
-		ChildNodesCache() {
-			initializeCache();
-		}
-
-		public int getLength() {
-			// atomic
-			return this.length;
-		}
-
-		private void initializeCache() {
-			// note we use the outter objects lockobject
-			// (since we are using their "children".
-			synchronized (lockObject) {
-				for (Node child = firstChild; child != null; child = child.getNextSibling()) {
-					this.length++;
-				}
-			}
-		}
-
-		public Node item(int index) {
-			synchronized (lockObject) {
-				if (this.length == 0)
-					return null;
-				if (index < 0)
-					return null;
-				if (index >= this.length)
-					return null;
-
-				if (this.curIndex < 0) { // first time
-					if (index * 2 >= this.length) { // search from the last
-						this.curIndex = this.length - 1;
-						this.curChild = lastChild;
-					} else { // search from the first
-						this.curIndex = 0;
-						this.curChild = firstChild;
-					}
-				}
-
-				if (index == this.curIndex)
-					return this.curChild;
-
-				if (index > this.curIndex) {
-					while (index > this.curIndex) {
-						this.curIndex++;
-						this.curChild = this.curChild.getNextSibling();
-					}
-				} else { // index < this.curIndex
-					while (index < this.curIndex) {
-						this.curIndex--;
-						this.curChild = this.curChild.getPreviousSibling();
-					}
-				}
-
-				return this.curChild;
-			}
-		}
-	}
-
-	private NodeList childNodesCache = null;
-
-	private boolean fChildEditable = true;
-	NodeImpl firstChild = null;
-	NodeImpl lastChild = null;
-
-	Object lockObject = new byte[0];
-
-	/**
-	 * NodeContainer constructor
-	 */
-	protected NodeContainer() {
-		super();
-	}
-
-	/**
-	 * NodeContainer constructor
-	 * 
-	 * @param that
-	 *            NodeContainer
-	 */
-	protected NodeContainer(NodeContainer that) {
-		super(that);
-	}
-
-	/**
-	 * appendChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 */
-	public Node appendChild(Node newChild) throws DOMException {
-		return insertBefore(newChild, null);
-	}
-
-	/**
-	 * cloneChildNodes method
-	 * 
-	 * @param container
-	 *            org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	protected void cloneChildNodes(Node newParent, boolean deep) {
-		if (newParent == null || newParent == this)
-			return;
-		if (!(newParent instanceof NodeContainer))
-			return;
-
-		NodeContainer container = (NodeContainer) newParent;
-		container.removeChildNodes();
-
-		for (Node child = getFirstChild(); child != null; child = child.getNextSibling()) {
-			Node cloned = child.cloneNode(deep);
-			if (cloned != null)
-				container.appendChild(cloned);
-		}
-	}
-
-	/**
-	 * getChildNodes method
-	 * 
-	 * @return org.w3c.dom.NodeList
-	 */
-	public NodeList getChildNodes() {
-		return this;
-	}
-
-	/**
-	 * getFirstChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public Node getFirstChild() {
-		return this.firstChild;
-	}
-
-	/**
-	 * getLastChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public Node getLastChild() {
-		return this.lastChild;
-	}
-
-	/**
-	 * getLength method
-	 * 
-	 * @return int
-	 */
-	public int getLength() {
-		if (this.firstChild == null)
-			return 0;
-		synchronized (lockObject) {
-			if (this.childNodesCache == null)
-				this.childNodesCache = new ChildNodesCache();
-			return this.childNodesCache.getLength();
-		}
-	}
-
-	/**
-	 */
-	public String getSource() {
-		StringBuffer buffer = new StringBuffer();
-
-		IStructuredDocumentRegion startStructuredDocumentRegion = getStartStructuredDocumentRegion();
-		if (startStructuredDocumentRegion != null) {
-			String source = startStructuredDocumentRegion.getText();
-			if (source != null)
-				buffer.append(source);
-		}
-
-		for (NodeImpl child = firstChild; child != null; child = (NodeImpl) child.getNextSibling()) {
-			String source = child.getSource();
-			if (source != null)
-				buffer.append(source);
-		}
-
-		IStructuredDocumentRegion endStructuredDocumentRegion = getEndStructuredDocumentRegion();
-		if (endStructuredDocumentRegion != null) {
-			String source = endStructuredDocumentRegion.getText();
-			if (source != null)
-				buffer.append(source);
-		}
-
-		return buffer.toString();
-	}
-
-	/**
-	 * hasChildNodes method
-	 * 
-	 * @return boolean
-	 */
-	public boolean hasChildNodes() {
-		return (this.firstChild != null);
-	}
-
-	/**
-	 * insertBefore method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param refChild
-	 *            org.w3c.dom.Node
-	 */
-	public Node insertBefore(Node newChild, Node refChild) throws DOMException {
-		if (newChild == null)
-			return null; // nothing to do
-		if (refChild != null && refChild.getParentNode() != this) {
-			throw new DOMException(DOMException.NOT_FOUND_ERR, new String());
-		}
-		if (!isChildEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		if (newChild == refChild)
-			return newChild; // nothing to do
-
-		if (newChild.getNodeType() == DOCUMENT_FRAGMENT_NODE) {
-			// insert child nodes instead
-			for (Node child = newChild.getFirstChild(); child != null; child = newChild.getFirstChild()) {
-				newChild.removeChild(child);
-				insertBefore(child, refChild);
-			}
-			return newChild;
-		}
-		// synchronized in case another thread is getting item, or length
-		synchronized (lockObject) {
-			this.childNodesCache = null; // invalidate child nodes cache
-		}
-
-		NodeImpl child = (NodeImpl) newChild;
-		NodeImpl next = (NodeImpl) refChild;
-		NodeImpl prev = null;
-		Node oldParent = child.getParentNode();
-		if (oldParent != null)
-			oldParent.removeChild(child);
-		if (next == null) {
-			prev = this.lastChild;
-			this.lastChild = child;
-		} else {
-			prev = (NodeImpl) next.getPreviousSibling();
-			next.setPreviousSibling(child);
-		}
-		if (prev == null)
-			this.firstChild = child;
-		else
-			prev.setNextSibling(child);
-		child.setPreviousSibling(prev);
-		child.setNextSibling(next);
-		child.setParentNode(this);
-		// make sure having the same owner document
-		if (child.getOwnerDocument() == null) {
-			if (getNodeType() == DOCUMENT_NODE) {
-				child.setOwnerDocument((Document) this);
-			} else {
-				child.setOwnerDocument(getOwnerDocument());
-			}
-		}
-
-		notifyChildReplaced(child, null);
-
-		return child;
-	}
-
-	public boolean isChildEditable() {
-		if (!fChildEditable) {
-			XMLModelImpl model = (XMLModelImpl) getModel();
-			if (model != null && model.isReparsing()) {
-				return true;
-			}
-		}
-		return fChildEditable;
-	}
-
-	/**
-	 * isContainer method
-	 * 
-	 * @return boolean
-	 */
-	public boolean isContainer() {
-		return true;
-	}
-
-	/**
-	 * item method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param index
-	 *            int
-	 */
-	public Node item(int index) {
-		if (this.firstChild == null)
-			return null;
-		synchronized (lockObject) {
-			if (this.childNodesCache == null)
-				this.childNodesCache = new ChildNodesCache();
-			return this.childNodesCache.item(index);
-		}
-	}
-
-	/**
-	 * notifyChildReplaced method
-	 * 
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param oldChild
-	 *            org.w3c.dom.Node
-	 */
-	protected void notifyChildReplaced(Node newChild, Node oldChild) {
-		DocumentImpl document = (DocumentImpl) getContainerDocument();
-		if (document == null)
-			return;
-
-		syncChildEditableState(newChild);
-
-		XMLModelImpl model = (XMLModelImpl) document.getModel();
-		if (model == null)
-			return;
-		model.childReplaced(this, newChild, oldChild);
-	}
-
-	/**
-	 * removeChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param oldChild
-	 *            org.w3c.dom.Node
-	 */
-	public Node removeChild(Node oldChild) throws DOMException {
-		if (oldChild == null)
-			return null;
-		if (oldChild.getParentNode() != this) {
-			throw new DOMException(DOMException.NOT_FOUND_ERR, new String());
-		}
-
-		if (!isChildEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		// synchronized in case another thread is getting item, or length
-		synchronized (lockObject) {
-			this.childNodesCache = null; // invalidate child nodes cache
-		}
-
-		NodeImpl child = (NodeImpl) oldChild;
-		NodeImpl prev = (NodeImpl) child.getPreviousSibling();
-		NodeImpl next = (NodeImpl) child.getNextSibling();
-
-		child.setEditable(true, true); // clear ReadOnly flags
-
-		if (prev == null)
-			this.firstChild = next;
-		else
-			prev.setNextSibling(next);
-		if (next == null)
-			this.lastChild = prev;
-		else
-			next.setPreviousSibling(prev);
-		child.setPreviousSibling(null);
-		child.setNextSibling(null);
-		child.setParentNode(null);
-
-		notifyChildReplaced(null, child);
-
-		return child;
-	}
-
-	/**
-	 * removeChildNodes method
-	 */
-	public void removeChildNodes() {
-		if (!isChildEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		Node nextChild = null;
-		for (Node child = getFirstChild(); child != null; child = nextChild) {
-			nextChild = child.getNextSibling();
-			removeChild(child);
-		}
-	}
-
-	/**
-	 * removeChildNodes method
-	 * 
-	 * @return org.w3c.dom.DocumentFragment
-	 * @param firstChild
-	 *            org.w3c.dom.Node
-	 * @param lastChild
-	 *            org.w3c.dom.Node
-	 */
-	public DocumentFragment removeChildNodes(Node firstChild, Node lastChild) {
-		if (!hasChildNodes())
-			return null;
-		if (!isChildEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		Document document = null;
-		if (getNodeType() == DOCUMENT_NODE)
-			document = (Document) this;
-		else
-			document = getOwnerDocument();
-		if (document == null)
-			return null;
-		DocumentFragment fragment = document.createDocumentFragment();
-		if (fragment == null)
-			return null;
-
-		if (firstChild == null)
-			firstChild = getFirstChild();
-		if (lastChild == null)
-			lastChild = getLastChild();
-		Node nextChild = null;
-		for (Node child = firstChild; child != null; child = nextChild) {
-			nextChild = child.getNextSibling();
-			removeChild(child);
-			fragment.appendChild(child);
-			if (child == lastChild)
-				break;
-		}
-
-		return fragment;
-	}
-
-	/**
-	 * replaceChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param oldChild
-	 *            org.w3c.dom.Node
-	 */
-	public Node replaceChild(Node newChild, Node oldChild) throws DOMException {
-		if (!isChildEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		if (oldChild == null)
-			return newChild;
-		if (newChild != null)
-			insertBefore(newChild, oldChild);
-		return removeChild(oldChild);
-	}
-
-	public void setChildEditable(boolean editable) {
-		if (fChildEditable == editable) {
-			return;
-		}
-
-		ReadOnlyController roc = ReadOnlyController.getInstance();
-		Node node;
-		if (editable) {
-			for (node = getFirstChild(); node != null; node = node.getNextSibling()) {
-				roc.unlockNode((XMLNode) node);
-			}
-		} else {
-			for (node = getFirstChild(); node != null; node = node.getNextSibling()) {
-				roc.lockNode((XMLNode) node);
-			}
-		}
-
-		fChildEditable = editable;
-		notifyEditableChanged();
-	}
-
-	protected void syncChildEditableState(Node child) {
-		ReadOnlyController roc = ReadOnlyController.getInstance();
-		if (fChildEditable) {
-			roc.unlockNode((NodeImpl) child);
-		} else {
-			roc.lockNode((NodeImpl) child);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeImpl.java
deleted file mode 100644
index 0ea5dde..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeImpl.java
+++ /dev/null
@@ -1,809 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.AbstractNotifier;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.document.InvalidCharacterException;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-
-/**
- * NodeImpl class
- */
-public abstract class NodeImpl extends AbstractNotifier implements XMLNode {
-	// define one empty nodelist, for repeated use
-	private final static NodeList EMPTY_NODE_LIST = new NodeListImpl();
-
-	private boolean fDataEditable = true;
-	private IStructuredDocumentRegion flatNode = null;
-	private NodeImpl nextSibling = null;
-
-	private DocumentImpl ownerDocument = null;
-	private NodeImpl parentNode = null;
-	private NodeImpl previousSibling = null;
-
-	/**
-	 * NodeImpl constructor
-	 */
-	protected NodeImpl() {
-		super();
-	}
-
-	/**
-	 * NodeImpl constructor
-	 * 
-	 * @param that
-	 *            NodeImpl
-	 */
-	protected NodeImpl(NodeImpl that) {
-		if (that != null) {
-			this.ownerDocument = that.ownerDocument;
-		}
-	}
-
-	/**
-	 * appendChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 */
-	public Node appendChild(Node newChild) throws DOMException {
-		throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR, new String());
-	}
-
-	/**
-	 * contains method
-	 * 
-	 * @return boolean
-	 * @param offset
-	 *            int
-	 */
-	public boolean contains(int offset) {
-		return (offset >= getStartOffset() && offset < getEndOffset());
-	}
-
-	/**
-	 * @param s
-	 * @param tagName
-	 * @return
-	 */
-	protected String createDOMExceptionMessage(short s, String tagName) {
-		String result = null;
-		// TODO: Should localize these messages, and provide /u escaped
-		// version of tagName
-		result = lookupMessage(s) + " " + tagName; //$NON-NLS-1$
-		return result;
-	}
-
-	/**
-	 * getAttributes method
-	 * 
-	 * @return org.w3c.dom.NamedNodeMap
-	 */
-	public NamedNodeMap getAttributes() {
-		return null;
-	}
-
-	/**
-	 */
-	protected String getCharValue(String name) {
-		DocumentImpl document = (DocumentImpl) getOwnerDocument();
-		if (document == null)
-			return null;
-		return document.getCharValue(name);
-	}
-
-	/**
-	 * getChildNodes method
-	 * 
-	 * @return org.w3c.dom.NodeList
-	 */
-	public NodeList getChildNodes() {
-		// As per DOM spec, correct behavior for getChildNodes is to return a
-		// zero length NodeList, not null, when there are no children.
-		// We'll use a common instance of an empty node list, just to prevent
-		// creating a trival object many many times.
-
-		return EMPTY_NODE_LIST;
-	}
-
-	/**
-	 * getCommonAncestor method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	public Node getCommonAncestor(Node node) {
-		if (node == null)
-			return null;
-
-		for (Node na = node; na != null; na = na.getParentNode()) {
-			for (Node ta = this; ta != null; ta = ta.getParentNode()) {
-				if (ta == na)
-					return ta;
-			}
-		}
-
-		return null; // not found
-	}
-
-	/**
-	 * getContainerDocument method
-	 * 
-	 * @return org.w3c.dom.Document
-	 */
-	public Document getContainerDocument() {
-		for (Node node = this; node != null; node = node.getParentNode()) {
-			if (node.getNodeType() == Node.DOCUMENT_NODE) {
-				return (Document) node;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * getEndOffset method
-	 * 
-	 * @return int
-	 */
-	public int getEndOffset() {
-		Node node = this;
-		while (node != null) {
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				ElementImpl element = (ElementImpl) node;
-				IStructuredDocumentRegion endStructuredDocumentRegion = element.getEndStructuredDocumentRegion();
-				if (endStructuredDocumentRegion != null)
-					return endStructuredDocumentRegion.getEnd();
-			}
-
-			Node last = node.getLastChild();
-			if (last != null) { // dig into the last
-				node = last;
-				continue;
-			}
-
-			IStructuredDocumentRegion lastStructuredDocumentRegion = ((NodeImpl) node).getStructuredDocumentRegion();
-			if (lastStructuredDocumentRegion != null)
-				return lastStructuredDocumentRegion.getEnd();
-
-			Node prev = node.getPreviousSibling();
-			if (prev != null) { // move to the previous
-				node = prev;
-				continue;
-			}
-
-			Node parent = node.getParentNode();
-			node = null;
-			while (parent != null) {
-				if (parent.getNodeType() == Node.ELEMENT_NODE) {
-					ElementImpl element = (ElementImpl) parent;
-					IStructuredDocumentRegion startStructuredDocumentRegion = element.getStartStructuredDocumentRegion();
-					if (startStructuredDocumentRegion != null)
-						return startStructuredDocumentRegion.getEnd();
-				}
-				Node parentPrev = parent.getPreviousSibling();
-				if (parentPrev != null) { // move to the previous
-					node = parentPrev;
-					break;
-				}
-				parent = parent.getParentNode();
-			}
-		}
-		return 0;
-	}
-
-	public IStructuredDocumentRegion getEndStructuredDocumentRegion() {
-		return null;
-	}
-
-	/**
-	 */
-	public IFactoryRegistry getFactoryRegistry() {
-		XMLModel model = getModel();
-		if (model != null) {
-			IFactoryRegistry reg = model.getFactoryRegistry();
-			if (reg != null)
-				return reg;
-		}
-		return null;
-	}
-
-	/**
-	 * getFirstChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public Node getFirstChild() {
-		return null;
-	}
-
-	/**
-	 * getFirstStructuredDocumentRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getFirstStructuredDocumentRegion() {
-		return StructuredDocumentRegionUtil.getStructuredDocumentRegion(this.flatNode);
-	}
-
-	/**
-	 */
-	public int getIndex() {
-		Node parent = getParentNode();
-		if (parent == null)
-			return -1; // error
-		int index = 0;
-		for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (child == this)
-				return index;
-			index++;
-		}
-		return -1; // error
-	}
-
-	/**
-	 * getLastChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public Node getLastChild() {
-		return null;
-	}
-
-	/**
-	 * getLastStructuredDocumentRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getLastStructuredDocumentRegion() {
-		return StructuredDocumentRegionUtil.getStructuredDocumentRegion(this.flatNode);
-	}
-
-	/**
-	 */
-	public String getLocalName() {
-		return null;
-	}
-
-	/**
-	 * the default implementation can just refer to the owning document
-	 */
-	public XMLModel getModel() {
-		if (this.ownerDocument == null)
-			return null;
-		return this.ownerDocument.getModel();
-	}
-
-	/**
-	 * all but attr return null
-	 */
-	public ITextRegion getNameRegion() {
-		return null;
-	}
-
-	/**
-	 */
-	public String getNamespaceURI() {
-		return null;
-	}
-
-	/**
-	 * getNextSibling method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public Node getNextSibling() {
-		return this.nextSibling;
-	}
-
-	/**
-	 * getNodeAt method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param offset
-	 *            int
-	 */
-	Node getNodeAt(int offset) {
-		XMLNode parent = this;
-		XMLNode child = (XMLNode) getFirstChild();
-		while (child != null) {
-			if (child.getEndOffset() <= offset) {
-				child = (XMLNode) child.getNextSibling();
-				continue;
-			}
-			if (child.getStartOffset() > offset) {
-				break;
-			}
-
-			IStructuredDocumentRegion startStructuredDocumentRegion = child.getStartStructuredDocumentRegion();
-			if (startStructuredDocumentRegion != null) {
-				if (startStructuredDocumentRegion.getEnd() > offset)
-					return child;
-			}
-
-			// dig more
-			parent = child;
-			child = (XMLNode) parent.getFirstChild();
-		}
-
-		return parent;
-	}
-
-	/**
-	 * getNodeValue method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeValue() throws DOMException {
-		return null;
-	}
-
-	/**
-	 * getOwnerDocument method
-	 * 
-	 * @return org.w3c.dom.Document
-	 */
-	public Document getOwnerDocument() {
-		return this.ownerDocument;
-	}
-
-	/**
-	 * getParentNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public Node getParentNode() {
-		return this.parentNode;
-	}
-
-	/**
-	 */
-	public String getPrefix() {
-		return null;
-	}
-
-	/**
-	 * getPreviousSibling method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public Node getPreviousSibling() {
-		return this.previousSibling;
-	}
-
-	/**
-	 */
-	public String getSource() {
-		if (this.flatNode == null)
-			return new String();
-		return this.flatNode.getText();
-	}
-
-	/**
-	 * getStartOffset method
-	 * 
-	 * @return int
-	 */
-	public int getStartOffset() {
-		if (this.flatNode != null)
-			return this.flatNode.getStart();
-		NodeImpl prev = (NodeImpl) getPreviousSibling();
-		if (prev != null)
-			return prev.getEndOffset();
-		Node parent = getParentNode();
-		if (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
-			ElementImpl element = (ElementImpl) parent;
-			if (element.hasStartTag())
-				return element.getStartEndOffset();
-			return element.getStartOffset();
-		}
-		// final fallback to look into first child
-		NodeImpl child = (NodeImpl) getFirstChild();
-		while (child != null) {
-			IStructuredDocumentRegion childStructuredDocumentRegion = child.getStructuredDocumentRegion();
-			if (childStructuredDocumentRegion != null)
-				return childStructuredDocumentRegion.getStart();
-			child = (NodeImpl) child.getFirstChild();
-		}
-		return 0;
-	}
-
-	public IStructuredDocumentRegion getStartStructuredDocumentRegion() {
-		return getFirstStructuredDocumentRegion();
-	}
-
-	/**
-	 * Every node (indirectly) knows its structuredDocument
-	 */
-	public IStructuredDocument getStructuredDocument() {
-		return getModel().getStructuredDocument();
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion getStructuredDocumentRegion() {
-		return this.flatNode;
-	}
-
-	/**
-	 * all but attr return null
-	 */
-	public ITextRegion getValueRegion() {
-		return null;
-	}
-
-	/**
-	 */
-	public String getValueSource() {
-		return getNodeValue();
-	}
-
-	/**
-	 */
-	public boolean hasAttributes() {
-		return false;
-	}
-
-	/**
-	 * hasChildNodes method
-	 * 
-	 * @return boolean
-	 */
-	public boolean hasChildNodes() {
-		return false;
-	}
-
-	/**
-	 * hasProperties method
-	 * 
-	 * @return boolean
-	 */
-	public boolean hasProperties() {
-		return false;
-	}
-
-	/**
-	 * insertBefore method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param refChild
-	 *            org.w3c.dom.Node
-	 */
-	public Node insertBefore(Node newChild, Node refChild) throws DOMException {
-		throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR, new String());
-	}
-
-	public boolean isChildEditable() {
-		return false;
-	}
-
-	/**
-	 */
-	public boolean isClosed() {
-		return true;
-	}
-
-	/**
-	 * isContainer method
-	 * 
-	 * @return boolean
-	 */
-	public boolean isContainer() {
-		return false;
-	}
-
-	public boolean isDataEditable() {
-		if (!fDataEditable) {
-			XMLModelImpl model = (XMLModelImpl) getModel();
-			if (model != null && model.isReparsing()) {
-				return true;
-			}
-		}
-		return fDataEditable;
-	}
-
-	/**
-	 */
-	public boolean isSupported(String feature, String version) {
-		if (this.ownerDocument == null)
-			return false;
-		DOMImplementation impl = this.ownerDocument.getImplementation();
-		if (impl == null)
-			return false;
-		return impl.hasFeature(feature, version);
-	}
-
-	/**
-	 * @param s
-	 * @return
-	 */
-	private String lookupMessage(short s) {
-		// TODO: make localized version
-		String result = null;
-		switch (s) {
-			case DOMException.INVALID_CHARACTER_ERR :
-				result = "INVALID_CHARACTER_ERR"; //$NON-NLS-1$
-				break;
-
-			default :
-				result = new String();
-				break;
-		}
-		return result;
-	}
-
-	/**
-	 * normalize method
-	 */
-	public void normalize() {
-		TextImpl prevText = null;
-		for (Node child = getFirstChild(); child != null; child = child.getNextSibling()) {
-			switch (child.getNodeType()) {
-				case TEXT_NODE : {
-					if (prevText == null) {
-						prevText = (TextImpl) child;
-						break;
-					}
-					Text text = (Text) child;
-					removeChild(text);
-					prevText.appendText(text);
-					child = prevText;
-					break;
-				}
-				case ELEMENT_NODE : {
-					Element element = (Element) child;
-					element.normalize();
-					prevText = null;
-					break;
-				}
-				default :
-					prevText = null;
-					break;
-			}
-		}
-	}
-
-	protected void notifyEditableChanged() {
-		DocumentImpl document = (DocumentImpl) getContainerDocument();
-		if (document == null)
-			return;
-		XMLModelImpl model = (XMLModelImpl) document.getModel();
-		if (model == null)
-			return;
-		model.editableChanged(this);
-	}
-
-	/**
-	 * notifyValueChanged method
-	 */
-	protected void notifyValueChanged() {
-		DocumentImpl document = (DocumentImpl) getContainerDocument();
-		if (document == null)
-			return;
-
-		syncDataEditableState();
-
-		XMLModelImpl model = (XMLModelImpl) document.getModel();
-		if (model == null)
-			return;
-		model.valueChanged(this);
-	}
-
-	/**
-	 * removeChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param oldChild
-	 *            org.w3c.dom.Node
-	 */
-	public Node removeChild(Node oldChild) throws DOMException {
-		throw new DOMException(DOMException.NOT_FOUND_ERR, new String());
-	}
-
-	/**
-	 * removeChildNodes method
-	 */
-	public void removeChildNodes() {
-	}
-
-	/**
-	 * removeChildNodes method
-	 * 
-	 * @return org.w3c.dom.DocumentFragment
-	 * @param firstChild
-	 *            org.w3c.dom.Node
-	 * @param lastChild
-	 *            org.w3c.dom.Node
-	 */
-	public DocumentFragment removeChildNodes(Node firstChild, Node lastChild) {
-		return null;
-	}
-
-	/**
-	 * replaceChild method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param oldChild
-	 *            org.w3c.dom.Node
-	 */
-	public Node replaceChild(Node newChild, Node oldChild) throws DOMException {
-		throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR, new String());
-	}
-
-	/**
-	 * Resets children values from IStructuredDocumentRegion.
-	 */
-	void resetStructuredDocumentRegions() {
-		for (NodeImpl child = (NodeImpl) getFirstChild(); child != null; child = (NodeImpl) child.getNextSibling()) {
-			child.resetStructuredDocumentRegions();
-		}
-		this.flatNode = null;
-	}
-
-	public void setChildEditable(boolean editable) {
-		// nop
-	}
-
-	public void setDataEditable(boolean editable) {
-		if (fDataEditable == editable) {
-			return;
-		}
-
-		ReadOnlyController roc = ReadOnlyController.getInstance();
-		if (editable) {
-			roc.unlockData(this);
-		} else {
-			roc.lockData(this);
-		}
-
-		fDataEditable = editable;
-
-		notifyEditableChanged();
-	}
-
-	public void setEditable(boolean editable, boolean deep) {
-		if (deep) {
-			XMLNode node = (XMLNode) getFirstChild();
-			while (node != null) {
-				node.setEditable(editable, deep);
-				node = (XMLNode) node.getNextSibling();
-			}
-		}
-		setChildEditable(editable);
-		setDataEditable(editable);
-	}
-
-	/**
-	 * setNextSibling method
-	 * 
-	 * @param nextSibling
-	 *            org.w3c.dom.Node
-	 */
-	protected void setNextSibling(Node nextSibling) {
-		this.nextSibling = (NodeImpl) nextSibling;
-	}
-
-	/**
-	 * setNodeValue method
-	 * 
-	 * @param nodeValue
-	 *            java.lang.String
-	 */
-	public void setNodeValue(String nodeValue) throws DOMException {
-	}
-
-	/**
-	 * setOwnerDocument method
-	 * 
-	 * @param ownerDocument
-	 *            org.w3c.dom.Document
-	 */
-	protected void setOwnerDocument(Document ownerDocument) {
-		this.ownerDocument = (DocumentImpl) ownerDocument;
-	}
-
-	/**
-	 */
-	protected void setOwnerDocument(Document ownerDocument, boolean deep) {
-		this.ownerDocument = (DocumentImpl) ownerDocument;
-
-		if (deep) {
-			for (NodeImpl child = (NodeImpl) getFirstChild(); child != null; child = (NodeImpl) child.getNextSibling()) {
-				child.setOwnerDocument(ownerDocument, deep);
-			}
-		}
-	}
-
-	/**
-	 * setParentNode method
-	 * 
-	 * @param parentNode
-	 *            org.w3c.dom.Node
-	 */
-	protected void setParentNode(Node parentNode) {
-		this.parentNode = (NodeImpl) parentNode;
-	}
-
-	/**
-	 */
-	public void setPrefix(String prefix) throws DOMException {
-	}
-
-	/**
-	 * setPreviousSibling method
-	 * 
-	 * @param previousSibling
-	 *            org.w3c.dom.Node
-	 */
-	protected void setPreviousSibling(Node previousSibling) {
-		this.previousSibling = (NodeImpl) previousSibling;
-	}
-
-	/**
-	 */
-	public void setSource(String source) throws InvalidCharacterException {
-		// not supported
-	}
-
-	/**
-	 */
-	void setStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		this.flatNode = flatNode;
-	}
-
-	/**
-	 */
-	public void setValueSource(String source) {
-		setNodeValue(source);
-	}
-
-	protected void syncDataEditableState() {
-		ReadOnlyController roc = ReadOnlyController.getInstance();
-		if (fDataEditable) {
-			roc.unlockData(this);
-		} else {
-			roc.lockData(this);
-		}
-	}
-
-	/**
-	 * toString method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return getNodeName();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeIteratorImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeIteratorImpl.java
deleted file mode 100644
index c4a278b..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeIteratorImpl.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-import org.w3c.dom.traversal.NodeFilter;
-import org.w3c.dom.traversal.NodeIterator;
-
-/**
- * NodeIteratorImpl class
- */
-public class NodeIteratorImpl implements NodeIterator {
-	private NodeFilter filter = null;
-	private Node nextNode = null;
-
-	private Node rootNode = null;
-	private int whatToShow = NodeFilter.SHOW_ALL;
-
-	/**
-	 * NodeIteratorImpl constructor
-	 * 
-	 * @param rootNode
-	 *            org.w3c.dom.Node
-	 */
-	NodeIteratorImpl(Node rootNode, int whatToShow, NodeFilter filter) {
-		this.rootNode = rootNode;
-		this.nextNode = rootNode;
-		this.whatToShow = whatToShow;
-		this.filter = filter;
-	}
-
-	/**
-	 */
-	private final boolean acceptNode(Node node) {
-		if (this.whatToShow != NodeFilter.SHOW_ALL) {
-			if (node == null)
-				return false;
-			short nodeType = node.getNodeType();
-			switch (this.whatToShow) {
-				case NodeFilter.SHOW_ELEMENT :
-					if (nodeType != Node.ELEMENT_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_ATTRIBUTE :
-					if (nodeType != Node.ATTRIBUTE_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_TEXT :
-					if (nodeType != Node.TEXT_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_CDATA_SECTION :
-					if (nodeType != Node.CDATA_SECTION_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_ENTITY_REFERENCE :
-					if (nodeType != Node.ENTITY_REFERENCE_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_ENTITY :
-					if (nodeType != Node.ENTITY_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_PROCESSING_INSTRUCTION :
-					if (nodeType != Node.PROCESSING_INSTRUCTION_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_COMMENT :
-					if (nodeType != Node.COMMENT_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_DOCUMENT :
-					if (nodeType != Node.DOCUMENT_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_DOCUMENT_TYPE :
-					if (nodeType != Node.DOCUMENT_TYPE_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_DOCUMENT_FRAGMENT :
-					if (nodeType != Node.DOCUMENT_FRAGMENT_NODE)
-						return false;
-					break;
-				case NodeFilter.SHOW_NOTATION :
-					if (nodeType != Node.NOTATION_NODE)
-						return false;
-					break;
-				default :
-					return false;
-			}
-		}
-		if (this.filter != null) {
-			return (this.filter.acceptNode(node) == NodeFilter.FILTER_ACCEPT);
-		}
-		return true;
-	}
-
-	/**
-	 * Detaches the <code>NodeIterator</code> from the set which it iterated
-	 * over, releasing any computational resources and placing the iterator in
-	 * the INVALID state. After <code>detach</code> has been invoked, calls
-	 * to <code>nextNode</code> or <code>previousNode</code> will raise
-	 * the exception INVALID_STATE_ERR.
-	 */
-	public void detach() {
-		this.rootNode = null;
-		this.nextNode = null;
-		this.filter = null;
-	}
-
-	/**
-	 * The value of this flag determines whether the children of entity
-	 * reference nodes are visible to the iterator. If false, they and their
-	 * descendants will be rejected. Note that this rejection takes precedence
-	 * over <code>whatToShow</code> and the filter. Also note that this is
-	 * currently the only situation where <code>NodeIterators</code> may
-	 * reject a complete subtree rather than skipping individual nodes. <br>
-	 * <br>
-	 * To produce a view of the document that has entity references expanded
-	 * and does not expose the entity reference node itself, use the
-	 * <code>whatToShow</code> flags to hide the entity reference node and
-	 * set <code>expandEntityReferences</code> to true when creating the
-	 * iterator. To produce a view of the document that has entity reference
-	 * nodes but no entity expansion, use the <code>whatToShow</code> flags
-	 * to show the entity reference node and set
-	 * <code>expandEntityReferences</code> to false.
-	 */
-	public boolean getExpandEntityReferences() {
-		// not supported
-		return false;
-	}
-
-	/**
-	 * The <code>NodeFilter</code> used to screen nodes.
-	 */
-	public NodeFilter getFilter() {
-		return this.filter;
-	}
-
-	/**
-	 */
-	private final Node getNextNode() {
-		if (this.nextNode == null)
-			return null;
-		Node oldNext = this.nextNode;
-		Node child = this.nextNode.getFirstChild();
-		if (child != null) {
-			this.nextNode = child;
-			return oldNext;
-		}
-		for (Node node = this.nextNode; node != null && node != this.rootNode; node = node.getParentNode()) {
-			Node next = node.getNextSibling();
-			if (next != null) {
-				this.nextNode = next;
-				return oldNext;
-			}
-		}
-		this.nextNode = null;
-		return oldNext;
-	}
-
-	/**
-	 */
-	private final Node getPreviousNode() {
-		if (this.nextNode == this.rootNode)
-			return null;
-		Node prev = null;
-		if (this.nextNode == null) {
-			prev = this.rootNode; // never null
-		} else {
-			prev = this.nextNode.getPreviousSibling();
-			if (prev == null) {
-				this.nextNode = this.nextNode.getParentNode();
-				return this.nextNode;
-			}
-		}
-		Node last = prev.getLastChild();
-		while (last != null) {
-			prev = last;
-			last = prev.getLastChild();
-		}
-		this.nextNode = prev;
-		return this.nextNode;
-	}
-
-	/**
-	 * The root node of the <code>NodeIterator</code>, as specified when it
-	 * was created.
-	 */
-	public Node getRoot() {
-		return this.rootNode;
-	}
-
-	/**
-	 * This attribute determines which node types are presented via the
-	 * iterator. The available set of constants is defined in the
-	 * <code>NodeFilter</code> interface. Nodes not accepted by
-	 * <code>whatToShow</code> will be skipped, but their children may still
-	 * be considered. Note that this skip takes precedence over the filter, if
-	 * any.
-	 */
-	public int getWhatToShow() {
-		return this.whatToShow;
-	}
-
-	/**
-	 * Returns the next node in the set and advances the position of the
-	 * iterator in the set. After a <code>NodeIterator</code> is created,
-	 * the first call to <code>nextNode()</code> returns the first node in
-	 * the set.
-	 * 
-	 * @return The next <code>Node</code> in the set being iterated over, or
-	 *         <code>null</code> if there are no more members in that set.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if this method is called after
-	 *                the <code>detach</code> method was invoked.
-	 */
-	public Node nextNode() throws DOMException {
-		for (Node node = getNextNode(); node != null; node = getNextNode()) {
-			if (acceptNode(node))
-				return node;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the previous node in the set and moves the position of the
-	 * <code>NodeIterator</code> backwards in the set.
-	 * 
-	 * @return The previous <code>Node</code> in the set being iterated
-	 *         over, or <code>null</code> if there are no more members in
-	 *         that set.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if this method is called after
-	 *                the <code>detach</code> method was invoked.
-	 */
-	public Node previousNode() throws DOMException {
-		for (Node node = getPreviousNode(); node != null; node = getPreviousNode()) {
-			if (acceptNode(node))
-				return node;
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeListImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeListImpl.java
deleted file mode 100644
index 4bfed52..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeListImpl.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.util.Vector;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * NodeListImpl class
- */
-public class NodeListImpl implements NodeList {
-
-	Object lockObject = new byte[0];
-
-	private Vector nodes = null;
-
-	/**
-	 * NodeListImpl constructor
-	 */
-	public NodeListImpl() {
-		super();
-	}
-
-	/**
-	 * appendNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	protected Node appendNode(Node node) {
-		if (node == null)
-			return null;
-		if (this.nodes == null)
-			this.nodes = new Vector();
-		this.nodes.addElement(node);
-		return node;
-	}
-
-	/**
-	 * getLength method
-	 * 
-	 * @return int
-	 */
-	public int getLength() {
-		synchronized (lockObject) {
-			if (this.nodes == null)
-				return 0;
-			return this.nodes.size();
-		}
-	}
-
-	/**
-	 */
-	protected Node insertNode(Node node, int index) {
-		if (node == null)
-			return null;
-		if (this.nodes == null || index >= this.nodes.size()) {
-			return appendNode(node);
-		}
-		this.nodes.insertElementAt(node, index);
-		return node;
-	}
-
-	/**
-	 * item method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public Node item(int index) {
-		synchronized (lockObject) {
-			if (this.nodes == null)
-				return null;
-			if (index < 0 || index >= this.nodes.size())
-				return null;
-			return (Node) this.nodes.elementAt(index);
-		}
-	}
-
-	/**
-	 * removeNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param index
-	 *            int
-	 */
-	protected Node removeNode(int index) {
-		if (this.nodes == null)
-			return null; // no node
-		if (index < 0 || index >= this.nodes.size())
-			return null; // invalid parameter
-
-		Node removed = (Node) this.nodes.elementAt(index);
-		this.nodes.removeElementAt(index);
-		return removed;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NotationImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NotationImpl.java
deleted file mode 100644
index e048949..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NotationImpl.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-import org.w3c.dom.Notation;
-
-/**
- * NotationImpl class
- */
-public class NotationImpl extends NodeImpl implements Notation {
-
-	private String name = null;
-	private String publicId = null;
-	private String systemId = null;
-
-	/**
-	 * NotationImpl constructor
-	 */
-	protected NotationImpl() {
-		super();
-	}
-
-	/**
-	 * NotationImpl constructor
-	 * 
-	 * @param that
-	 *            NotationImpl
-	 */
-	protected NotationImpl(NotationImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.name = that.name;
-			this.publicId = that.publicId;
-			this.systemId = that.systemId;
-		}
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		NotationImpl cloned = new NotationImpl(this);
-		return cloned;
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		if (this.name == null)
-			return new String();
-		return this.name;
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return NOTATION_NODE;
-	}
-
-	/**
-	 * getPublicId method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getPublicId() {
-		return this.publicId;
-	}
-
-	/**
-	 * getSystemId method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getSystemId() {
-		return this.systemId;
-	}
-
-	/**
-	 * setName method
-	 * 
-	 * @param name
-	 *            java.lang.String
-	 */
-	protected void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * setPublicId method
-	 * 
-	 * @param publicId
-	 *            java.lang.String
-	 */
-	public void setPublicId(String publicId) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		this.publicId = publicId;
-	}
-
-	/**
-	 * setSystemId method
-	 * 
-	 * @param systemId
-	 *            java.lang.String
-	 */
-	public void setSystemId(String systemId) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		this.systemId = systemId;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ProcessingInstructionImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ProcessingInstructionImpl.java
deleted file mode 100644
index de9a4fe..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ProcessingInstructionImpl.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.util.Iterator;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-
-
-/**
- * ProcessingInstructionImpl class
- */
-public class ProcessingInstructionImpl extends NodeImpl implements XMLJSPRegionContexts, ProcessingInstruction {
-	private String data = null;
-
-	private String target = null;
-
-	/**
-	 * ProcessingInstructionImpl constructor
-	 */
-	protected ProcessingInstructionImpl() {
-		super();
-	}
-
-	/**
-	 * ProcessingInstructionImpl constructor
-	 * 
-	 * @param that
-	 *            ProcessingInstructionImpl
-	 */
-	protected ProcessingInstructionImpl(ProcessingInstructionImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.target = that.target;
-			this.data = that.getData();
-		}
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		ProcessingInstructionImpl cloned = new ProcessingInstructionImpl(this);
-		return cloned;
-	}
-
-	/**
-	 * getData method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getData() {
-		if (this.data != null)
-			return this.data;
-
-		IStructuredDocumentRegion flatNode = getFirstStructuredDocumentRegion();
-		if (flatNode == null)
-			return new String();
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return new String();
-
-		ITextRegion targetRegion = null;
-		ITextRegion dataRegion = null;
-		ITextRegion closeRegion = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_PI_OPEN)
-				continue;
-			if (regionType == XMLRegionContext.XML_PI_CLOSE) {
-				closeRegion = region;
-			} else {
-				if (targetRegion == null)
-					targetRegion = region;
-				else if (dataRegion == null)
-					dataRegion = region;
-			}
-		}
-		if (dataRegion == null)
-			return new String();
-		int offset = dataRegion.getStart();
-		int end = flatNode.getLength();
-		if (closeRegion != null)
-			end = closeRegion.getStart();
-		String source = flatNode.getText();
-		return source.substring(offset, end);
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return getTarget();
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return PROCESSING_INSTRUCTION_NODE;
-	}
-
-	/**
-	 * getNodeValue method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeValue() {
-		return getData();
-	}
-
-	/**
-	 * getTarget method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getTarget() {
-		if (this.target == null)
-			return new String();
-		return this.target;
-	}
-
-	/**
-	 */
-	public boolean isClosed() {
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return true; // will be generated
-		String regionType = StructuredDocumentRegionUtil.getLastRegionType(flatNode);
-		return (regionType == XMLRegionContext.XML_PI_CLOSE);
-	}
-
-	/**
-	 */
-	void resetStructuredDocumentRegions() {
-		this.data = getData();
-		setStructuredDocumentRegion(null);
-	}
-
-	/**
-	 * setData method
-	 * 
-	 * @param data
-	 *            java.lang.String
-	 */
-	public void setData(String data) throws DOMException {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.data = data;
-
-		notifyValueChanged();
-	}
-
-	/**
-	 * setNodeValue method
-	 * 
-	 * @param nodeValue
-	 *            java.lang.String
-	 */
-	public void setNodeValue(String nodeValue) throws DOMException {
-		setData(nodeValue);
-	}
-
-	/**
-	 */
-	void setStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		super.setStructuredDocumentRegion(flatNode);
-		if (flatNode != null)
-			this.data = null;
-	}
-
-	/**
-	 * setTarget method
-	 * 
-	 * @param target
-	 *            java.lang.String
-	 */
-	protected void setTarget(String target) {
-		this.target = target;
-	}
-
-	/**
-	 * toString method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getTarget());
-		buffer.append('(');
-		buffer.append(getData());
-		buffer.append(')');
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/RangeImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/RangeImpl.java
deleted file mode 100644
index 1c54ba5..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/RangeImpl.java
+++ /dev/null
@@ -1,630 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.w3c.dom.ranges.Range;
-import org.w3c.dom.ranges.RangeException;
-
-
-/**
- */
-public class RangeImpl implements Range {
-	private Node endContainer = null;
-	private int endOffset = 0;
-
-	private Node startContainer = null;
-	private int startOffset = 0;
-
-	/**
-	 */
-	protected RangeImpl() {
-		super();
-	}
-
-	/**
-	 */
-	protected RangeImpl(RangeImpl that) {
-		super();
-
-		if (that != null) {
-			this.startContainer = that.startContainer;
-			this.startOffset = that.startOffset;
-			this.endContainer = that.endContainer;
-			this.endOffset = that.endOffset;
-		}
-	}
-
-	/**
-	 * Duplicates the contents of a Range
-	 * 
-	 * @return A DocumentFragment that contains content equivalent to this
-	 *         Range.
-	 * @exception DOMException
-	 *                HIERARCHY_REQUEST_ERR: Raised if a DocumentType node
-	 *                would be extracted into the new DocumentFragment. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public DocumentFragment cloneContents() throws DOMException {
-		// not supported
-		return null;
-	}
-
-	/**
-	 * Produces a new Range whose boundary-points are equal to the
-	 * boundary-points of the Range.
-	 * 
-	 * @return The duplicated Range.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public Range cloneRange() throws DOMException {
-		return new RangeImpl(this);
-	}
-
-	/**
-	 * Collapse a Range onto one of its boundary-points
-	 * 
-	 * @param toStartIf
-	 *            TRUE, collapses the Range onto its start; if FALSE,
-	 *            collapses it onto its end.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void collapse(boolean toStart) throws DOMException {
-		if (toStart) {
-			this.endContainer = this.startContainer;
-			this.endOffset = this.startOffset;
-		} else {
-			this.startContainer = this.endContainer;
-			this.startOffset = this.endOffset;
-		}
-	}
-
-	/**
-	 * Compare the boundary-points of two Ranges in a document.
-	 * 
-	 * @param howA
-	 *            code representing the type of comparison, as defined above.
-	 * @param sourceRangeThe
-	 *            <code>Range</code> on which this current
-	 *            <code>Range</code> is compared to.
-	 * @return -1, 0 or 1 depending on whether the corresponding
-	 *         boundary-point of the Range is respectively before, equal to,
-	 *         or after the corresponding boundary-point of
-	 *         <code>sourceRange</code>.
-	 * @exception DOMException
-	 *                WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in
-	 *                the same Document or DocumentFragment. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public short compareBoundaryPoints(short how, Range sourceRange) throws DOMException {
-		if (sourceRange == null)
-			return (short) 0; // error
-
-		Node container1 = null;
-		int offset1 = 0;
-		Node container2 = null;
-		int offset2 = 0;
-
-		switch (how) {
-			case START_TO_START :
-				container1 = this.startContainer;
-				offset1 = this.startOffset;
-				container2 = sourceRange.getStartContainer();
-				offset2 = sourceRange.getStartOffset();
-				break;
-			case START_TO_END :
-				container1 = this.startContainer;
-				offset1 = this.startOffset;
-				container2 = sourceRange.getEndContainer();
-				offset2 = sourceRange.getEndOffset();
-				break;
-			case END_TO_END :
-				container1 = this.endContainer;
-				offset1 = this.endOffset;
-				container2 = sourceRange.getEndContainer();
-				offset2 = sourceRange.getEndOffset();
-				break;
-			case END_TO_START :
-				container1 = this.endContainer;
-				offset1 = this.endOffset;
-				container2 = sourceRange.getStartContainer();
-				offset2 = sourceRange.getStartOffset();
-				break;
-			default :
-				return (short) 0; // error
-		}
-
-		return comparePoints(container1, offset1, container2, offset2);
-	}
-
-	/*
-	 */
-	protected short comparePoints(Node container1, int offset1, Node container2, int offset2) {
-		if (container1 == null || container2 == null)
-			return (short) 0; // error
-
-		if (container1 == container2) {
-			if (offset1 > offset2)
-				return (short) 1;
-			if (offset1 < offset2)
-				return (short) -1;
-			return 0;
-		}
-
-		// get node offsets
-		XMLNode node1 = null;
-		if (container1.hasChildNodes()) {
-			Node child = container1.getFirstChild();
-			for (int i = 0; i < offset1; i++) {
-				Node next = child.getNextSibling();
-				if (next == null)
-					break;
-				child = next;
-			}
-			node1 = (XMLNode) child;
-			offset1 = 0;
-		} else {
-			node1 = (XMLNode) container1;
-		}
-		int nodeOffset1 = node1.getStartOffset();
-		XMLNode node2 = null;
-		if (container2.hasChildNodes()) {
-			Node child = container2.getFirstChild();
-			for (int i = 0; i < offset2; i++) {
-				Node next = child.getNextSibling();
-				if (next == null)
-					break;
-				child = next;
-			}
-			node2 = (XMLNode) child;
-			offset2 = 0;
-		} else {
-			node2 = (XMLNode) container1;
-		}
-		int nodeOffset2 = node2.getStartOffset();
-
-		if (nodeOffset1 > nodeOffset2)
-			return (short) 1;
-		if (nodeOffset1 < nodeOffset2)
-			return (short) -1;
-		if (offset1 > offset2)
-			return (short) 1;
-		if (offset1 < offset2)
-			return (short) -1;
-		return (short) 0;
-	}
-
-	/**
-	 * Removes the contents of a Range from the containing document or
-	 * document fragment without returning a reference to the removed content.
-	 * 
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of
-	 *                the content of the Range is read-only or any of the
-	 *                nodes that contain any of the content of the Range are
-	 *                read-only. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void deleteContents() throws DOMException {
-		// not supported
-	}
-
-	/**
-	 * Called to indicate that the Range is no longer in use and that the
-	 * implementation may relinquish any resources associated with this Range.
-	 * Subsequent calls to any methods or attribute getters on this Range will
-	 * result in a <code>DOMException</code> being thrown with an error code
-	 * of <code>INVALID_STATE_ERR</code>.
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void detach() throws DOMException {
-		this.startContainer = null;
-		this.startOffset = 0;
-		this.endContainer = null;
-		this.endOffset = 0;
-	}
-
-	/**
-	 * Moves the contents of a Range from the containing document or document
-	 * fragment to a new DocumentFragment.
-	 * 
-	 * @return A DocumentFragment containing the extracted contents.
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of
-	 *                the content of the Range is read-only or any of the
-	 *                nodes which contain any of the content of the Range are
-	 *                read-only. <br>
-	 *                HIERARCHY_REQUEST_ERR: Raised if a DocumentType node
-	 *                would be extracted into the new DocumentFragment. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public DocumentFragment extractContents() throws DOMException {
-		// not supported
-		return null;
-	}
-
-	/**
-	 * TRUE if the Range is collapsed
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public boolean getCollapsed() throws DOMException {
-		if (this.startContainer == this.endContainer && this.startOffset == this.endOffset)
-			return true;
-		return false;
-	}
-
-	/**
-	 * The deepest common ancestor container of the Range's two
-	 * boundary-points.
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public Node getCommonAncestorContainer() throws DOMException {
-		if (this.startContainer == null)
-			return null;
-		return ((NodeImpl) this.startContainer).getCommonAncestor(this.endContainer);
-	}
-
-	/**
-	 * Node within which the Range ends
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public Node getEndContainer() throws DOMException {
-		return this.endContainer;
-	}
-
-	/**
-	 * Offset within the ending node of the Range.
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public int getEndOffset() throws DOMException {
-		return this.endOffset;
-	}
-
-	/**
-	 * Node within which the Range begins
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public Node getStartContainer() throws DOMException {
-		return this.startContainer;
-	}
-
-	/**
-	 * Offset within the starting node of the Range.
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public int getStartOffset() throws DOMException {
-		return this.startOffset;
-	}
-
-	/**
-	 * Inserts a node into the Document or DocumentFragment at the start of
-	 * the Range. If the container is a Text node, this will be split at the
-	 * start of the Range (as if the Text node's splitText method was
-	 * performed at the insertion point) and the insertion will occur between
-	 * the two resulting Text nodes. Adjacent Text nodes will not be
-	 * automatically merged. If the node to be inserted is a DocumentFragment
-	 * node, the children will be inserted rather than the DocumentFragment
-	 * node itself.
-	 * 
-	 * @param newNodeThe
-	 *            node to insert at the start of the Range
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor
-	 *                container of the start of the Range is read-only. <br>
-	 *                WRONG_DOCUMENT_ERR: Raised if <code>newNode</code> and
-	 *                the container of the start of the Range were not created
-	 *                from the same document. <br>
-	 *                HIERARCHY_REQUEST_ERR: Raised if the container of the
-	 *                start of the Range is of a type that does not allow
-	 *                children of the type of <code>newNode</code> or if
-	 *                <code>newNode</code> is an ancestor of the container.
-	 *                <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code>newNode</code>
-	 *                is an Attr, Entity, Notation, or Document node.
-	 */
-	public void insertNode(Node newNode) throws RangeException, DOMException {
-		// not supported
-	}
-
-	/**
-	 * Select a node and its contents
-	 * 
-	 * @param refNodeThe
-	 *            node to select.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if an ancestor of
-	 *                <code>refNode</code> is an Entity, Notation or
-	 *                DocumentType node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void selectNode(Node refNode) throws RangeException, DOMException {
-		if (refNode == null)
-			return;
-		Node parent = refNode.getParentNode();
-		if (parent == null)
-			return;
-		int index = ((NodeImpl) refNode).getIndex();
-		if (index < 0)
-			return;
-		setStart(parent, index);
-		setEnd(parent, index + 1);
-	}
-
-	/**
-	 * Select the contents within a node
-	 * 
-	 * @param refNodeNode
-	 *            to select from
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code>
-	 *                or an ancestor of <code>refNode</code> is an Entity,
-	 *                Notation or DocumentType node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void selectNodeContents(Node refNode) throws RangeException, DOMException {
-		if (refNode == null)
-			return;
-		if (refNode.getNodeType() == Node.TEXT_NODE) {
-			Text text = (Text) refNode;
-			setStart(refNode, 0);
-			setEnd(refNode, text.getLength());
-		} else {
-			NodeList childNodes = refNode.getChildNodes();
-			int length = (childNodes != null ? childNodes.getLength() : 0);
-			setStart(refNode, 0);
-			setEnd(refNode, length);
-		}
-	}
-
-	/**
-	 * Sets the attributes describing the end of a Range.
-	 * 
-	 * @param refNodeThe
-	 *            <code>refNode</code> value. This parameter must be
-	 *            different from <code>null</code>.
-	 * @param offsetThe
-	 *            <code>endOffset</code> value.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code>
-	 *                or an ancestor of <code>refNode</code> is an Entity,
-	 *                Notation, or DocumentType node.
-	 * @exception DOMException
-	 *                INDEX_SIZE_ERR: Raised if <code>offset</code> is
-	 *                negative or greater than the number of child units in
-	 *                <code>refNode</code>. Child units are 16-bit units if
-	 *                <code>refNode</code> is a type of CharacterData node
-	 *                (e.g., a Text or Comment node) or a
-	 *                ProcessingInstruction node. Child units are Nodes in all
-	 *                other cases. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setEnd(Node refNode, int offset) throws RangeException, DOMException {
-		this.endContainer = refNode;
-		this.endOffset = offset;
-	}
-
-	/**
-	 * Sets the end of a Range to be after a node
-	 * 
-	 * @param refNodeRange
-	 *            ends after <code>refNode</code>.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if the root container of
-	 *                <code>refNode</code> is not an Attr, Document or
-	 *                DocumentFragment node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setEndAfter(Node refNode) throws RangeException, DOMException {
-		if (refNode == null)
-			return;
-		Node parent = refNode.getParentNode();
-		if (parent == null)
-			return;
-		int index = ((NodeImpl) refNode).getIndex();
-		if (index < 0)
-			return;
-		setEnd(parent, index + 1);
-	}
-
-	/**
-	 * Sets the end position to be before a node.
-	 * 
-	 * @param refNodeRange
-	 *            ends before <code>refNode</code>
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if the root container of
-	 *                <code>refNode</code> is not an Attr, Document, or
-	 *                DocumentFragment node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setEndBefore(Node refNode) throws RangeException, DOMException {
-		if (refNode == null)
-			return;
-		Node parent = refNode.getParentNode();
-		if (parent == null)
-			return;
-		int index = ((NodeImpl) refNode).getIndex();
-		if (index < 0)
-			return;
-		setEnd(parent, index);
-	}
-
-	/**
-	 * Sets the attributes describing the start of the Range.
-	 * 
-	 * @param refNodeThe
-	 *            <code>refNode</code> value. This parameter must be
-	 *            different from <code>null</code>.
-	 * @param offsetThe
-	 *            <code>startOffset</code> value.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code>
-	 *                or an ancestor of <code>refNode</code> is an Entity,
-	 *                Notation, or DocumentType node.
-	 * @exception DOMException
-	 *                INDEX_SIZE_ERR: Raised if <code>offset</code> is
-	 *                negative or greater than the number of child units in
-	 *                <code>refNode</code>. Child units are 16-bit units if
-	 *                <code>refNode</code> is a type of CharacterData node
-	 *                (e.g., a Text or Comment node) or a
-	 *                ProcessingInstruction node. Child units are Nodes in all
-	 *                other cases. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setStart(Node refNode, int offset) throws RangeException, DOMException {
-		this.startContainer = refNode;
-		this.startOffset = offset;
-	}
-
-	/**
-	 * Sets the start position to be after a node
-	 * 
-	 * @param refNodeRange
-	 *            starts after <code>refNode</code>
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if the root container of
-	 *                <code>refNode</code> is not an Attr, Document, or
-	 *                DocumentFragment node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setStartAfter(Node refNode) throws RangeException, DOMException {
-		if (refNode == null)
-			return;
-		Node parent = refNode.getParentNode();
-		if (parent == null)
-			return;
-		int index = ((NodeImpl) refNode).getIndex();
-		if (index < 0)
-			return;
-		setStart(parent, index + 1);
-	}
-
-	/**
-	 * Sets the start position to be before a node
-	 * 
-	 * @param refNodeRange
-	 *            starts before <code>refNode</code>
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if the root container of
-	 *                <code>refNode</code> is not an Attr, Document, or
-	 *                DocumentFragment node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setStartBefore(Node refNode) throws RangeException, DOMException {
-		if (refNode == null)
-			return;
-		Node parent = refNode.getParentNode();
-		if (parent == null)
-			return;
-		int index = ((NodeImpl) refNode).getIndex();
-		if (index < 0)
-			return;
-		setStart(parent, index);
-	}
-
-	/**
-	 * Reparents the contents of the Range to the given node and inserts the
-	 * node at the position of the start of the Range.
-	 * 
-	 * @param newParentThe
-	 *            node to surround the contents with.
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor
-	 *                container of either boundary-point of the Range is
-	 *                read-only. <br>
-	 *                WRONG_DOCUMENT_ERR: Raised if <code> newParent</code>
-	 *                and the container of the start of the Range were not
-	 *                created from the same document. <br>
-	 *                HIERARCHY_REQUEST_ERR: Raised if the container of the
-	 *                start of the Range is of a type that does not allow
-	 *                children of the type of <code>newParent</code> or if
-	 *                <code>newParent</code> is an ancestor of the container
-	 *                or if <code>node</code> would end up with a child node
-	 *                of a type not allowed by the type of <code>node</code>.
-	 *                <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 * @exception RangeException
-	 *                BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially
-	 *                selects a non-text node. <br>
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code> node</code> is
-	 *                an Attr, Entity, DocumentType, Notation, Document, or
-	 *                DocumentFragment node.
-	 */
-	public void surroundContents(Node newParent) throws RangeException, DOMException {
-		// not supported
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ReadOnlyController.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ReadOnlyController.java
deleted file mode 100644
index 67aa59c..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ReadOnlyController.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.document.XMLText;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Node;
-
-
-class ReadOnlyController {
-
-	class Span {
-		int length;
-		int offset;
-
-		Span(int offset, int length) {
-			this.offset = offset;
-			this.length = length;
-		}
-	}
-
-	private static ReadOnlyController fInstance;
-
-	static synchronized ReadOnlyController getInstance() {
-		if (fInstance == null) {
-			fInstance = new ReadOnlyController();
-		}
-		return fInstance;
-	}
-
-	static private void lock(IStructuredDocument doc, int offset, int length, boolean canInsertBefore, boolean canInsertAfter) {
-		if (doc == null) {
-			return;
-		}
-		doc.makeReadOnly(offset, length);
-	}
-
-	static private void lock(IStructuredDocumentRegion node, boolean canInsertBefore, boolean canInsertAfter) {
-		if (node == null) {
-			return;
-		}
-		IStructuredDocument doc = node.getParentDocument();
-		if (doc == null) {
-			return;
-		}
-		doc.makeReadOnly(node.getStart(), node.getLength());
-	}
-
-	static private void unlock(IStructuredDocumentRegion node) {
-		if (node == null) {
-			return;
-		}
-		IStructuredDocument doc = node.getParentDocument();
-		if (doc == null) {
-			return;
-		}
-		doc.clearReadOnly(node.getStart(), node.getLength());
-	}
-
-	private ReadOnlyController() {
-		super();
-	}
-
-	private Span getDataSpan(XMLNode node) {
-		switch (node.getNodeType()) {
-			case Node.ELEMENT_NODE :
-				return getDataSpanForElement((XMLElement) node);
-			case Node.TEXT_NODE :
-				return getDataSpanForText((XMLText) node);
-			default :
-				return new Span(0, -1);
-		}
-	}
-
-	private Span getDataSpanForElement(XMLElement node) {
-		IStructuredDocumentRegion docRegion = node.getStartStructuredDocumentRegion();
-		if (docRegion == null) {
-			return new Span(0, -1);
-		}
-
-		ITextRegionList regions = docRegion.getRegions();
-		if (regions == null) {
-			return new Span(0, -1);
-		}
-
-		String startType;
-		String endType;
-		if (node.isCommentTag()) {
-			startType = XMLRegionContext.XML_COMMENT_OPEN;
-			endType = XMLRegionContext.XML_COMMENT_CLOSE;
-		} else {
-			startType = XMLRegionContext.XML_TAG_NAME;
-			endType = XMLRegionContext.XML_TAG_CLOSE;
-		}
-
-		int startOffset = -1;
-		int endOffset = -1;
-		ITextRegion prevRegion = null;
-		ITextRegion region;
-		for (int i = 0; i < regions.size(); i++) {
-			region = regions.get(i);
-			String type = region.getType();
-			if (type == startType) {
-				startOffset = region.getEnd();
-			} else if (type == endType && prevRegion != null) {
-				endOffset = prevRegion.getTextEnd();
-			}
-			prevRegion = region;
-		}
-
-		if (0 <= startOffset && 0 <= endOffset) {
-			return new Span(startOffset, endOffset - startOffset);
-		} else {
-			return new Span(0, -1);
-		}
-	}
-
-	private Span getDataSpanForText(XMLText node) {
-		IStructuredDocumentRegion docRegion = ((NodeImpl) node).getStructuredDocumentRegion();
-		if (docRegion == null) {
-			return new Span(0, -1);
-		}
-		return new Span(0, docRegion.getLength());
-	}
-
-	/**
-	 * This method is used from parent's setChildEditable()
-	 * 
-	 * case 1:<parent><node attr="value"/> <node2></parent>
-	 * x####################x case 2:<parent><node attr="value"> <child>
-	 * </child> </node> </parent> x###################? ?#######x (? :
-	 * editable if node.isEditable() == true)
-	 */
-	void lockBoth(XMLNode node) {
-		if (node == null) {
-			return;
-		}
-
-		IStructuredDocumentRegion flatNode;
-		boolean canInsert = false;
-
-		// end node (element)
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			flatNode = node.getEndStructuredDocumentRegion();
-			if (flatNode != null) {
-				canInsert = node.isChildEditable();
-				lock(flatNode, canInsert, false);
-			}
-		}
-		// start node
-		flatNode = node.getStartStructuredDocumentRegion();
-		if (flatNode != null) {
-			lock(flatNode, false, canInsert);
-		}
-	}
-
-	void lockData(XMLNode node) {
-		if (node == null) {
-			return;
-		}
-
-		Span span = getDataSpan(node);
-		if (0 <= span.length) {
-			lock(node.getModel().getStructuredDocument(), node.getStartOffset() + span.offset, span.length, false, false);
-		}
-	}
-
-	/**
-	 * lock itself and all descendants
-	 */
-	void lockDeep(XMLNode node) {
-		if (node == null) {
-			return;
-		}
-
-		int offset = node.getStartOffset();
-		int length = node.getEndOffset() - offset;
-
-		boolean canInsert = true;
-		XMLNode parent = (XMLNode) node.getParentNode();
-		if (parent != null && !parent.isChildEditable()) {
-			canInsert = false;
-		}
-		lock(node.getStructuredDocument(), offset, length, canInsert, canInsert);
-	}
-
-	/**
-	 * This method is used from parent's setChildEditable()
-	 * 
-	 * case 1:<parent><node attr="value"/> <node2></parent> x######x x##x
-	 * case 2:<parent><node attr="value"> <child></child> </node> </parent>
-	 * x######x x#? ?#######x (? : editable if node.isEditable() == true)
-	 */
-	void lockNode(XMLNode node) {
-		if (node == null) {
-			return;
-		}
-		if (!node.isDataEditable()) {
-			lockBoth(node);
-			return;
-		}
-
-		IStructuredDocumentRegion flatNode;
-		boolean canInsert = false;
-
-		// end node (element)
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			flatNode = node.getEndStructuredDocumentRegion();
-			if (flatNode != null) {
-				canInsert = node.isChildEditable();
-				lock(flatNode, canInsert, false);
-			}
-		}
-		// start node
-		flatNode = node.getStartStructuredDocumentRegion();
-		if (flatNode != null) {
-			Span span = getDataSpan(node);
-			if (0 <= span.length) {
-				IStructuredDocument structuredDocument = flatNode.getParentDocument();
-				int offset, length;
-				offset = flatNode.getStart();
-				length = span.offset;
-				lock(structuredDocument, offset, length, false, false);
-				offset = offset + span.offset + span.length;
-				length = flatNode.getEnd() - offset;
-				lock(structuredDocument, offset, length, canInsert, false);
-			} else {
-				lock(flatNode, false, canInsert);
-			}
-		}
-	}
-
-	private void unlock(IStructuredDocument doc, int offset, int length) {
-		if (doc == null) {
-			return;
-		}
-		doc.clearReadOnly(offset, length);
-	}
-
-	void unlockBoth(XMLNode node) {
-		if (node == null) {
-			return;
-		}
-
-		IStructuredDocumentRegion flatNode;
-		// start node
-		flatNode = node.getStartStructuredDocumentRegion();
-		if (flatNode != null) {
-			unlock(flatNode);
-		}
-		// end node
-		flatNode = node.getEndStructuredDocumentRegion();
-		if (flatNode != null) {
-			unlock(flatNode);
-		}
-	}
-
-	void unlockData(XMLNode node) {
-		if (node == null) {
-			return;
-		}
-
-		Span span = getDataSpan(node);
-		if (0 <= span.length) {
-			unlock(node.getModel().getStructuredDocument(), span.offset, span.length);
-		}
-	}
-
-	void unlockDeep(XMLNode node) {
-		if (node == null) {
-			return;
-		}
-
-		int offset = node.getStartOffset();
-		int length = node.getEndOffset() - offset;
-
-		unlock(node.getStructuredDocument(), offset, length);
-	}
-
-	void unlockNode(XMLNode node) {
-		if (node == null) {
-			return;
-		}
-
-		IStructuredDocumentRegion flatNode;
-		// end node
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			flatNode = node.getEndStructuredDocumentRegion();
-			if (flatNode != null) {
-				unlock(flatNode);
-			}
-		}
-
-		// start node
-		flatNode = node.getStartStructuredDocumentRegion();
-		if (flatNode != null) {
-			if (node.isDataEditable()) {
-				unlock(flatNode);
-			} else {
-				Span span = getDataSpan(node);
-				if (span.length <= 0) {
-					unlock(flatNode);
-				} else {
-					IStructuredDocument structuredDocument = flatNode.getParentDocument();
-					int offset, length;
-					offset = flatNode.getStart();
-					length = span.offset - offset;
-					unlock(structuredDocument, offset, length);
-					offset = span.offset + span.length;
-					length = flatNode.getEnd() - span.offset;
-					unlock(structuredDocument, offset, length);
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/SourceValidator.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/SourceValidator.java
deleted file mode 100644
index a7d89a3..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/SourceValidator.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-import org.eclipse.wst.xml.core.document.InvalidCharacterException;
-import org.eclipse.wst.xml.core.document.JSPTag;
-import org.eclipse.wst.xml.core.document.XMLCharEntity;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-/**
- */
-public class SourceValidator {
-
-	private NodeImpl node = null;
-
-	/**
-	 */
-	public SourceValidator(Node node) {
-		super();
-
-		if (node != null) {
-			this.node = (NodeImpl) node;
-		}
-	}
-
-	/**
-	 */
-	public String convertSource(String source) {
-		if (source == null)
-			return null;
-		if (this.node == null)
-			return null; // error
-
-		// setup conversion conditions
-		boolean acceptTag = false;
-		boolean acceptClose = false;
-		boolean acceptQuote = false;
-		boolean acceptAmpersand = false;
-		boolean acceptEntityRef = true;
-		boolean acceptJSPEnd = true;
-		String endTagName = null;
-		if (this.node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			XMLDocument document = (XMLDocument) this.node.getOwnerDocument();
-			if (document != null && document.isJSPType())
-				acceptTag = true;
-			if (acceptTag) {
-				Attr attr = (Attr) this.node;
-				ElementImpl element = (ElementImpl) attr.getOwnerElement();
-				if (element != null && element.isJSPTag())
-					acceptTag = false;
-			}
-			// if the source does not include single quote,
-			// double quote is valid
-			acceptQuote = (source.indexOf('\'') < 0);
-		} else if (this.node.getNodeType() == Node.TEXT_NODE) {
-			TextImpl text = (TextImpl) this.node;
-			if (text.isJSPContent()) {
-				int index = source.indexOf(JSPTag.TAG_CLOSE);
-				if (index < 0)
-					return source;
-				acceptTag = true;
-				acceptClose = true;
-				acceptQuote = true;
-				acceptAmpersand = true;
-				acceptJSPEnd = false;
-			} else if (text.isCDATAContent()) {
-				endTagName = text.getParentNode().getNodeName();
-				if (endTagName == null)
-					return null; // error
-				acceptTag = true;
-				acceptClose = true;
-				acceptQuote = true;
-				acceptAmpersand = true;
-			}
-		} else {
-			XMLDocument document = null;
-			if (this.node.getNodeType() == Node.DOCUMENT_NODE) {
-				document = (XMLDocument) this.node;
-			} else {
-				document = (XMLDocument) this.node.getOwnerDocument();
-			}
-			if (document != null && document.isJSPType())
-				acceptTag = true;
-		}
-
-		StringBuffer buffer = null;
-		int copiedLength = 0;
-		int length = source.length();
-		for (int i = 0; i < length; i++) {
-			String ref = null;
-			char c = source.charAt(i);
-			switch (c) {
-				case '<' :
-					if (acceptTag) {
-						if (endTagName != null) {
-							if (!matchEndTag(source, i + 1, endTagName))
-								continue;
-						} else {
-							int skip = skipTag(source, i + 1);
-							if (skip >= 0) {
-								i += skip;
-								continue;
-							}
-						}
-						// invalid JSP tag
-					}
-					ref = XMLCharEntity.LT_REF;
-					break;
-				case '>' :
-					if (acceptClose)
-						continue;
-					ref = XMLCharEntity.GT_REF;
-					break;
-				case '&' :
-					if (acceptAmpersand)
-						continue;
-					if (acceptEntityRef) {
-						int skip = skipEntityRef(source, i + 1);
-						if (skip >= 0) {
-							i += skip;
-							continue;
-						}
-					}
-					ref = XMLCharEntity.AMP_REF;
-					break;
-				case '"' :
-					if (acceptQuote)
-						continue;
-					ref = XMLCharEntity.QUOT_REF;
-					break;
-				case '%' :
-					if (acceptJSPEnd)
-						continue;
-					if (source.charAt(i + 1) != '>')
-						continue;
-					i++;
-					ref = XMLCharEntity.GT_REF;
-					break;
-				default :
-					continue;
-			}
-
-			if (ref != null) {
-				if (buffer == null) {
-					buffer = new StringBuffer(length + 8);
-				}
-				if (i > copiedLength) {
-					buffer.append(source.substring(copiedLength, i));
-				}
-				buffer.append(ref);
-				copiedLength = i + 1; // skip this character
-			}
-		}
-
-		if (buffer != null) {
-			if (copiedLength < length) {
-				buffer.append(source.substring(copiedLength, length));
-			}
-			return buffer.toString();
-		}
-		return source;
-	}
-
-	/**
-	 */
-	private final boolean matchEndTag(String source, int offset, String endTagName) {
-		if (source == null || endTagName == null)
-			return false;
-		int length = source.length();
-		if (offset < 0 || offset >= length)
-			return false;
-		if (source.charAt(offset) != '/')
-			return false;
-		offset++;
-		int end = offset + endTagName.length();
-		if (end > length)
-			return false;
-		return endTagName.equalsIgnoreCase(source.substring(offset, end));
-	}
-
-	/**
-	 */
-	private final int skipEntityRef(String source, int offset) {
-		if (source == null)
-			return -1;
-		if (offset < 0 || offset >= source.length())
-			return -1;
-		DocumentImpl document = (DocumentImpl) this.node.getOwnerDocument();
-		if (document == null)
-			return -1; // error
-
-		int end = source.indexOf(';', offset);
-		if (end < 0 || end == offset)
-			return -1;
-		String name = source.substring(offset, end);
-		if (name == null || document.getCharValue(name) == null)
-			return -1;
-		return (end + 1 - offset);
-	}
-
-	/**
-	 */
-	private final int skipTag(String source, int offset) {
-		if (source == null)
-			return -1;
-		if (offset < 0 || offset >= source.length())
-			return -1;
-
-		int end = offset;
-		if (source.charAt(offset) == '%') {
-			// JSP tag
-			int found = source.indexOf(JSPTag.TAG_CLOSE, offset + 1);
-			if (found < 0)
-				return -1; // invalid JSP tag
-			end = found + 2;
-		} else {
-			// normal tag
-			int found = source.indexOf('>', offset);
-			if (found < 0)
-				return -1; // invalid tag
-			end = found + 1;
-		}
-		return (end - offset);
-	}
-
-	/**
-	 */
-	public boolean validateSource(String source) throws InvalidCharacterException {
-		if (source == null)
-			return true;
-		if (this.node == null)
-			return false; // error
-		String message = null;
-
-		// setup validation conditions
-		boolean acceptTag = false;
-		boolean acceptClose = false;
-		boolean acceptQuote = true;
-		boolean acceptEntityRef = true;
-		String endTagName = null;
-		if (this.node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			XMLDocument document = (XMLDocument) this.node.getOwnerDocument();
-			if (document != null && document.isJSPType())
-				acceptTag = true;
-			if (acceptTag) {
-				Attr attr = (Attr) this.node;
-				ElementImpl element = (ElementImpl) attr.getOwnerElement();
-				if (element != null && element.isJSPTag())
-					acceptTag = false;
-			}
-			// if the source does not include single quote,
-			// double quote is valid
-			acceptQuote = (source.indexOf('\'') < 0);
-		} else if (this.node.getNodeType() == Node.TEXT_NODE) {
-			TextImpl text = (TextImpl) this.node;
-			if (text.isJSPContent()) {
-				int index = source.indexOf(JSPTag.TAG_CLOSE);
-				if (index < 0)
-					return true;
-				message = XMLCorePlugin.getResourceString("%Invalid_character_('>')_fo_ERROR_"); //$NON-NLS-1$ = "Invalid character ('>') found"
-				throw new InvalidCharacterException(message, '>', index + 1);
-			} else if (text.isCDATAContent()) {
-				endTagName = text.getParentNode().getNodeName();
-				if (endTagName == null)
-					return false; // error
-				acceptTag = true;
-				acceptClose = true;
-			}
-		} else {
-			XMLDocument document = null;
-			if (this.node.getNodeType() == Node.DOCUMENT_NODE) {
-				document = (XMLDocument) this.node;
-			} else {
-				document = (XMLDocument) this.node.getOwnerDocument();
-			}
-			if (document != null && document.isJSPType())
-				acceptTag = true;
-		}
-
-		char c = 0;
-		int length = source.length();
-		for (int i = 0; i < length; i++) {
-			c = source.charAt(i);
-			switch (c) {
-				case '<' :
-					if (acceptTag) {
-						if (endTagName != null) {
-							if (!matchEndTag(source, i + 1, endTagName))
-								continue;
-						} else {
-							int skip = skipTag(source, i + 1);
-							if (skip >= 0) {
-								i += skip;
-								continue;
-							}
-						}
-						// invalid tag
-					}
-					message = XMLCorePlugin.getResourceString("%Invalid_character_('<')_fo_ERROR_"); //$NON-NLS-1$ = "Invalid character ('<') found"
-					break;
-				case '>' :
-					if (acceptClose)
-						continue;
-					message = XMLCorePlugin.getResourceString("%Invalid_character_('>')_fo_ERROR_"); //$NON-NLS-1$ = "Invalid character ('>') found"
-					break;
-				case '&' :
-					if (acceptEntityRef) {
-						if (endTagName != null)
-							continue;
-						int skip = skipEntityRef(source, i + 1);
-						if (skip >= 0) {
-							i += skip;
-							continue;
-						}
-						// invalid entity reference
-					}
-					message = XMLCorePlugin.getResourceString("%Invalid_character_('&')_fo_ERROR_"); //$NON-NLS-1$ = "Invalid character ('&') found"
-					break;
-				case '"' :
-					if (acceptQuote)
-						continue;
-					message = XMLCorePlugin.getResourceString("%Invalid_character_('__')_f_EXC_"); //$NON-NLS-1$ = "Invalid character ('\"') found"
-					break;
-				default :
-					continue;
-			}
-
-			if (message != null) {
-				throw new InvalidCharacterException(message, c, i);
-			}
-		}
-
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionChecker.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionChecker.java
deleted file mode 100644
index 47a50fd..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionChecker.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.io.IOException;
-import java.io.Writer;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.Node;
-
-
-/**
- * This class is only for debug purpose.
- */
-public class StructuredDocumentRegionChecker {
-	String EOL = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	private int offset = 0;
-	Writer testWriter = null;
-
-	/**
-	 */
-	public StructuredDocumentRegionChecker() {
-		super();
-	}
-
-	public StructuredDocumentRegionChecker(Writer writer) {
-		super();
-		testWriter = writer;
-	}
-
-	/**
-	 */
-	private void checkChildNodes(Node node) {
-		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) {
-			checkNode(child);
-		}
-	}
-
-	/**
-	 */
-	public void checkModel(XMLModel model) {
-		checkChildNodes(model.getDocument());
-	}
-
-	/**
-	 */
-	private void checkNode(Node node) {
-		checkStructuredDocumentRegion(((NodeImpl) node).getStructuredDocumentRegion());
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			checkChildNodes(node);
-			checkStructuredDocumentRegion(((ElementImpl) node).getEndStructuredDocumentRegion());
-		}
-	}
-
-	/**
-	 */
-	private void checkStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return;
-
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			int n = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < n; i++) {
-				IStructuredDocumentRegion c = container.getStructuredDocumentRegion(i);
-				if (c == null) {
-					reportError("null"); //$NON-NLS-1$
-					continue;
-				}
-				checkStructuredDocumentRegion(c);
-			}
-			return;
-		}
-
-		int start = flatNode.getStart();
-		if (start < this.offset)
-			reportError("overwrap"); //$NON-NLS-1$
-		if (start > this.offset)
-			reportError("gap"); //$NON-NLS-1$
-		int end = flatNode.getEnd();
-		this.offset = end;
-
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) flatNode;
-			IStructuredDocumentRegion p = proxy.getStructuredDocumentRegion();
-			if (p == null) {
-				reportError("null"); //$NON-NLS-1$
-				return;
-			}
-			int s = p.getStart();
-			int e = p.getEnd();
-			if (s > start || e < end)
-				reportError("out"); //$NON-NLS-1$
-			if (s == start && e == end)
-				reportWarning("vain"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 */
-	private void reportError(String message) {
-		String msg = "StructuredDocumentRegionChecker : error : " + message; //$NON-NLS-1$
-		if (testWriter != null) {
-			try {
-				testWriter.write(msg + EOL);
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		} else {
-			System.out.println(msg);
-		}
-		throw new StructuredDocumentRegionManagementException();
-	}
-
-	/**
-	 */
-	private void reportWarning(String message) {
-		String msg = "StructuredDocumentRegionChecker : warning : " + message; //$NON-NLS-1$
-		if (testWriter != null) {
-			try {
-				testWriter.write(msg + EOL);
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		} else {
-			System.out.println(msg);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionContainer.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionContainer.java
deleted file mode 100644
index 166d8c6..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionContainer.java
+++ /dev/null
@@ -1,605 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.util.Vector;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-
-class StructuredDocumentRegionContainer implements IStructuredDocumentRegion {
-
-	private Vector flatNodes = new Vector(2);
-
-	/**
-	 */
-	StructuredDocumentRegionContainer() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#addRegion(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public void addRegion(ITextRegion aRegion) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjust(int)
-	 */
-	public void adjust(int i) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustLengthWith(int)
-	 */
-	public void adjustLengthWith(int i) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustStart(int)
-	 */
-	public void adjustStart(int i) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/**
-	 */
-	void appendStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return;
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			if (container.getStructuredDocumentRegionCount() > 0) {
-				this.flatNodes.addAll(container.flatNodes);
-			}
-		} else {
-			this.flatNodes.addElement(flatNode);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#containsOffset(int)
-	 */
-	public boolean containsOffset(int i) {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#containsOffset(com.ibm.sed.structured.text.ITextRegion,
-	 *      int)
-	 */
-	public boolean containsOffset(ITextRegion region, int i) {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#equatePositions(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public void equatePositions(ITextRegion region) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getDeepestRegionAtCharacterOffset(int)
-	 */
-	public ITextRegion getDeepestRegionAtCharacterOffset(int offset) {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 */
-	public int getEnd() {
-		IStructuredDocumentRegion last = getLastStructuredDocumentRegion();
-		if (last == null)
-			return 0;
-		return last.getEnd();
-	}
-
-	/**
-	 */
-	public int getEndOffset() {
-		return getEnd();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getEndOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getEndOffset(ITextRegion containedRegion) {
-		// XXX Auto-generated method stub
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getFirstRegion()
-	 */
-	public ITextRegion getFirstRegion() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion getFirstStructuredDocumentRegion() {
-		if (this.flatNodes.isEmpty())
-			return null;
-		return (IStructuredDocumentRegion) this.flatNodes.elementAt(0);
-	}
-
-	/**
-	 */
-	public String getFullText() {
-		return getText();
-	}
-
-	/**
-	 */
-	public String getFullText(ITextRegion aRegion) {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public String getFullText(String context) {
-		// not supported
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getLastRegion()
-	 */
-	public ITextRegion getLastRegion() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion getLastStructuredDocumentRegion() {
-		int size = this.flatNodes.size();
-		if (size == 0)
-			return null;
-		return (IStructuredDocumentRegion) this.flatNodes.elementAt(size - 1);
-	}
-
-	/** 
-	 */
-	public int getLength() {
-		return (getEnd() - getStart());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#getNext()
-	 */
-	public IStructuredDocumentRegion getNext() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/** 
-	 */
-	public int getNumberOfRegions() {
-		// not supported
-		return 0;
-	}
-
-	/**
-	 */
-	public ITextRegionContainer getParent() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#getParentDocument()
-	 */
-	public IStructuredDocument getParentDocument() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#getPrevious()
-	 */
-	public IStructuredDocumentRegion getPrevious() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 */
-	public ITextRegion getRegionAtCharacterOffset(int offset) {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public ITextRegionList getRegions() {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public int getStart() {
-		IStructuredDocumentRegion first = getFirstStructuredDocumentRegion();
-		if (first == null)
-			return 0;
-		return first.getStart();
-	}
-
-	/**
-	 */
-	public int getStartOffset() {
-		return getStart();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getStartOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getStartOffset(ITextRegion containedRegion) {
-		// XXX Auto-generated method stub
-		return 0;
-	}
-
-	/**
-	 */
-	public IStructuredDocument getStructuredDocument() {
-		IStructuredDocumentRegion first = getFirstStructuredDocumentRegion();
-		if (first == null)
-			return null;
-		return first.getParentDocument();
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion getStructuredDocumentRegion(int index) {
-		if (index < 0 || index >= this.flatNodes.size())
-			return null;
-		return (IStructuredDocumentRegion) this.flatNodes.elementAt(index);
-	}
-
-	/**
-	 */
-	int getStructuredDocumentRegionCount() {
-		return this.flatNodes.size();
-	}
-
-	/**
-	 */
-	public String getText() {
-		int size = this.flatNodes.size();
-		if (size == 0)
-			return new String();
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < size; i++) {
-			IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) this.flatNodes.elementAt(i);
-			if (flatNode == null)
-				continue;
-			buffer.append(flatNode.getText());
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	public String getText(ITextRegion aRegion) {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public String getText(String context) {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public int getTextEnd() {
-		return getEnd();
-	}
-
-	/**
-	 */
-	public int getTextEndOffset() {
-		return getTextEnd();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getTextEndOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getTextEndOffset(ITextRegion containedRegion) {
-		// XXX Auto-generated method stub
-		return 0;
-	}
-
-	/**
-	 * The text length is equal to length if there is no white space at the
-	 * end of a region. Otherwise it is smaller than length.
-	 */
-	public int getTextLength() {
-		return (getTextEnd() - getStart());
-	}
-
-	/**
-	 */
-	public String getType() {
-		return "StructuredDocumentRegionContainer";//$NON-NLS-1$
-	}
-
-	/**
-	 */
-	void insertStructuredDocumentRegion(IStructuredDocumentRegion flatNode, int index) {
-		if (flatNode == null)
-			return;
-		if (index < 0)
-			return;
-		int size = this.flatNodes.size();
-		if (index > size)
-			return;
-		if (index == size) {
-			appendStructuredDocumentRegion(flatNode);
-			return;
-		}
-		this.flatNodes.insertElementAt(flatNode, index);
-	}
-
-	public boolean isDeleted() {
-		// I'll assume never really needed here
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#isEnded()
-	 */
-	public boolean isEnded() {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion removeStructuredDocumentRegion(int index) {
-		if (index < 0 || index >= this.flatNodes.size())
-			return null;
-		IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) this.flatNodes.elementAt(index);
-		this.flatNodes.removeElementAt(index);
-		return flatNode;
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion removeStructuredDocumentRegion(IStructuredDocumentRegion oldStructuredDocumentRegion) {
-		if (oldStructuredDocumentRegion == null)
-			return null;
-		int size = this.flatNodes.size();
-		for (int i = 0; i < size; i++) {
-			IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) this.flatNodes.elementAt(i);
-			if (flatNode == oldStructuredDocumentRegion) {
-				this.flatNodes.removeElementAt(i);
-				return flatNode;
-			}
-		}
-		return null; // not found
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion replaceStructuredDocumentRegion(IStructuredDocumentRegion flatNode, int index) {
-		if (flatNode == null)
-			return removeStructuredDocumentRegion(index);
-		if (index < 0 || index >= this.flatNodes.size())
-			return null;
-		IStructuredDocumentRegion oldStructuredDocumentRegion = (IStructuredDocumentRegion) this.flatNodes.elementAt(index);
-		this.flatNodes.setElementAt(flatNode, index);
-		return oldStructuredDocumentRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#sameAs(com.ibm.sed.structured.text.IStructuredDocumentRegion,
-	 *      int)
-	 */
-	public boolean sameAs(IStructuredDocumentRegion region, int shift) {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	/**
-	 */
-	public boolean sameAs(ITextRegion region, int shift) {
-		// not support
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#sameAs(com.ibm.sed.structured.text.ITextRegion,
-	 *      com.ibm.sed.structured.text.IStructuredDocumentRegion,
-	 *      com.ibm.sed.structured.text.ITextRegion, int)
-	 */
-	public boolean sameAs(ITextRegion oldRegion, IStructuredDocumentRegion documentRegion, ITextRegion newRegion, int shift) {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	public void setDeleted(boolean deleted) {
-		// I'll assume never really needed here
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setEnded(boolean)
-	 */
-	public void setEnded(boolean hasEnd) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setLength(int)
-	 */
-	public void setLength(int newLength) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setNext(com.ibm.sed.structured.text.IStructuredDocumentRegion)
-	 */
-	public void setNext(IStructuredDocumentRegion newNext) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setParentDocument(com.ibm.sed.structured.text.IStructuredDocument)
-	 */
-	public void setParentDocument(IStructuredDocument document) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setPrevious(com.ibm.sed.structured.text.IStructuredDocumentRegion)
-	 */
-	public void setPrevious(IStructuredDocumentRegion newPrevious) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/**
-	 */
-	public void setRegions(ITextRegionList embeddedRegions) {
-		// not supported
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setStart(int)
-	 */
-	public void setStart(int newStart) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/**
-	 * toString method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append('{');
-		int count = getStructuredDocumentRegionCount();
-		for (int i = 0; i < count; i++) {
-			if (i != 0)
-				buffer.append(',');
-			IStructuredDocumentRegion flatNode = getStructuredDocumentRegion(i);
-			if (flatNode == null)
-				buffer.append("null");//$NON-NLS-1$
-			else
-				buffer.append(flatNode.toString());
-		}
-		buffer.append('}');
-		return buffer.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#updateModel(java.lang.Object,
-	 *      com.ibm.sed.structured.text.IStructuredDocumentRegion,
-	 *      java.lang.String, int, int)
-	 */
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion flatnode, String changes, int start, int end) {
-		// XXX Auto-generated method stub
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionManagementException.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionManagementException.java
deleted file mode 100644
index 082bc92..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionManagementException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-
-
-
-/**
- */
-public class StructuredDocumentRegionManagementException extends SourceEditingRuntimeException {
-
-	/**
-	 * Default <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * StructuredDocumentRegionManagementException constructor
-	 */
-	public StructuredDocumentRegionManagementException() {
-		super("IStructuredDocumentRegion management failed.");//$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionProxy.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionProxy.java
deleted file mode 100644
index 1503845..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionProxy.java
+++ /dev/null
@@ -1,548 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-
-
-class StructuredDocumentRegionProxy implements IStructuredDocumentRegion {
-	private IStructuredDocumentRegion flatNode = null;
-	private int length = 0;
-
-	private int offset = 0;
-
-	/**
-	 */
-	StructuredDocumentRegionProxy() {
-		super();
-	}
-
-	/**
-	 */
-	StructuredDocumentRegionProxy(int offset, int length) {
-		super();
-
-		this.offset = offset;
-		this.length = length;
-	}
-
-	/**
-	 */
-	StructuredDocumentRegionProxy(int offset, int length, IStructuredDocumentRegion flatNode) {
-		super();
-
-		this.offset = offset;
-		this.length = length;
-		this.flatNode = flatNode;
-		if (this.flatNode != null)
-			this.offset -= this.flatNode.getStart();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#addRegion(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public void addRegion(ITextRegion aRegion) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjust(int)
-	 */
-	public void adjust(int i) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustLengthWith(int)
-	 */
-	public void adjustLengthWith(int i) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustStart(int)
-	 */
-	public void adjustStart(int i) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#containsOffset(int)
-	 */
-	public boolean containsOffset(int i) {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#containsOffset(com.ibm.sed.structured.text.ITextRegion,
-	 *      int)
-	 */
-	public boolean containsOffset(ITextRegion region, int i) {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#equatePositions(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public void equatePositions(ITextRegion region) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getDeepestRegionAtCharacterOffset(int)
-	 */
-	public ITextRegion getDeepestRegionAtCharacterOffset(int offset) {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 */
-	public int getEnd() {
-		int flatNodeOffset = 0;
-		if (this.flatNode != null)
-			flatNodeOffset = this.flatNode.getStart();
-		return flatNodeOffset + this.offset + this.length;
-	}
-
-	/**
-	 */
-	public int getEndOffset() {
-		return getEnd();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getEndOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getEndOffset(ITextRegion containedRegion) {
-		// XXX Auto-generated method stub
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getFirstRegion()
-	 */
-	public ITextRegion getFirstRegion() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 */
-	public String getFullText() {
-		return getText();
-	}
-
-	/**
-	 */
-	public String getFullText(ITextRegion aRegion) {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public String getFullText(String context) {
-		// not supported
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getLastRegion()
-	 */
-	public ITextRegion getLastRegion() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/** 
-	 */
-	public int getLength() {
-		return this.length;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#getNext()
-	 */
-	public IStructuredDocumentRegion getNext() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/** 
-	 */
-	public int getNumberOfRegions() {
-		// not supported
-		return 0;
-	}
-
-	/** 
-	 */
-	int getOffset() {
-		int flatNodeOffset = 0;
-		if (this.flatNode != null)
-			flatNodeOffset = this.flatNode.getStart();
-		return flatNodeOffset + this.offset;
-	}
-
-	/**
-	 */
-	public ITextRegionContainer getParent() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#getParentDocument()
-	 */
-	public IStructuredDocument getParentDocument() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#getPrevious()
-	 */
-	public IStructuredDocumentRegion getPrevious() {
-		// XXX Auto-generated method stub
-		return null;
-	}
-
-	/**
-	 */
-	public ITextRegion getRegionAtCharacterOffset(int offset) {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public ITextRegionList getRegions() {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public int getStart() {
-		int flatNodeOffset = 0;
-		if (this.flatNode != null)
-			flatNodeOffset = this.flatNode.getStart();
-		return flatNodeOffset + this.offset;
-	}
-
-	/**
-	 */
-	public int getStartOffset() {
-		return getStart();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getStartOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getStartOffset(ITextRegion containedRegion) {
-		// XXX Auto-generated method stub
-		return 0;
-	}
-
-	/**
-	 */
-	public IStructuredDocument getStructuredDocument() {
-		// not supported
-		return null;
-	}
-
-	/** 
-	 */
-	IStructuredDocumentRegion getStructuredDocumentRegion() {
-		return this.flatNode;
-	}
-
-	/**
-	 */
-	public String getText() {
-		if (this.flatNode == null)
-			return new String();
-		String text = this.flatNode.getText();
-		if (text == null)
-			return new String();
-		int end = this.offset + this.length;
-		return text.substring(this.offset, end);
-	}
-
-	/**
-	 */
-	public String getText(ITextRegion aRegion) {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public String getText(String context) {
-		// not supported
-		return null;
-	}
-
-	/**
-	 */
-	public int getTextEnd() {
-		return getEnd();
-	}
-
-	/**
-	 */
-	public int getTextEndOffset() {
-		return getTextEnd();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getTextEndOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getTextEndOffset(ITextRegion containedRegion) {
-		// XXX Auto-generated method stub
-		return 0;
-	}
-
-	/**
-	 * The text length is equal to length if there is no white space at the
-	 * end of a region. Otherwise it is smaller than length.
-	 */
-	public int getTextLength() {
-		return getLength();
-	}
-
-	/**
-	 */
-	public String getType() {
-		return "StructuredDocumentRegionProxy";//$NON-NLS-1$
-	}
-
-	public boolean isDeleted() {
-		// I'll assume never really needed here
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#isEnded()
-	 */
-	public boolean isEnded() {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#sameAs(com.ibm.sed.structured.text.IStructuredDocumentRegion,
-	 *      int)
-	 */
-	public boolean sameAs(IStructuredDocumentRegion region, int shift) {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	/**
-	 */
-	public boolean sameAs(ITextRegion region, int shift) {
-		// not supported
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#sameAs(com.ibm.sed.structured.text.ITextRegion,
-	 *      com.ibm.sed.structured.text.IStructuredDocumentRegion,
-	 *      com.ibm.sed.structured.text.ITextRegion, int)
-	 */
-	public boolean sameAs(ITextRegion oldRegion, IStructuredDocumentRegion documentRegion, ITextRegion newRegion, int shift) {
-		// XXX Auto-generated method stub
-		return false;
-	}
-
-	public void setDeleted(boolean deleted) {
-		// I'll assume never really needed here
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setEnded(boolean)
-	 */
-	public void setEnded(boolean hasEnd) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/**
-	 * had to make public, due to API transition.
-	 */
-	public void setLength(int length) {
-		this.length = length;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setNext(com.ibm.sed.structured.text.IStructuredDocumentRegion)
-	 */
-	public void setNext(IStructuredDocumentRegion newNext) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/**
-	 */
-	void setOffset(int offset) {
-		this.offset = offset;
-		if (this.flatNode != null)
-			this.offset -= this.flatNode.getStart();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setParentDocument(com.ibm.sed.structured.text.IStructuredDocument)
-	 */
-	public void setParentDocument(IStructuredDocument document) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setPrevious(com.ibm.sed.structured.text.IStructuredDocumentRegion)
-	 */
-	public void setPrevious(IStructuredDocumentRegion newPrevious) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/**
-	 */
-	public void setRegions(ITextRegionList embeddedRegions) {
-		// not supported
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.IStructuredDocumentRegion#setStart(int)
-	 */
-	public void setStart(int newStart) {
-		// XXX Auto-generated method stub
-
-	}
-
-	/**
-	 */
-	void setStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		if (this.flatNode != null)
-			this.offset += this.flatNode.getStart();
-		this.flatNode = flatNode;
-		if (this.flatNode != null)
-			this.offset -= flatNode.getStart();
-	}
-
-	/**
-	 * toString method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append('[');
-		buffer.append(getStart());
-		buffer.append(',');
-		buffer.append(getEnd());
-		buffer.append(']');
-		buffer.append('(');
-		if (this.flatNode != null)
-			buffer.append(this.flatNode.toString());
-		else
-			buffer.append("null");//$NON-NLS-1$
-		buffer.append(')');
-		return buffer.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#updateModel(java.lang.Object,
-	 *      com.ibm.sed.structured.text.IStructuredDocumentRegion,
-	 *      java.lang.String, int, int)
-	 */
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion flatnode, String changes, int start, int end) {
-		// XXX Auto-generated method stub
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionUtil.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionUtil.java
deleted file mode 100644
index 82c848d..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionUtil.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * Provides convenient functions to handle IStructuredDocumentRegion and
- * ITextRegion.
- */
-class StructuredDocumentRegionUtil implements XMLJSPRegionContexts {
-
-	/**
-	 * Extracts contents enclosed with quotes. Quotes may be double or single.
-	 */
-	static String getAttrValue(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		if (region == null)
-			return null;
-		if (flatNode == null)
-			return null;
-		String value = flatNode.getText(region);
-		if (value == null)
-			return null;
-		int length = value.length();
-		if (length == 0)
-			return value;
-		char firstChar = value.charAt(0);
-		if (firstChar == '"' || firstChar == '\'') {
-			if (length == 1)
-				return null;
-			if (value.charAt(length - 1) == firstChar)
-				length--;
-			return value.substring(1, length);
-		}
-		return value;
-	}
-
-	/**
-	 * Extracts the name without heading '&' and tailing ';'.
-	 */
-	static String getEntityRefName(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		if (region == null)
-			return null;
-		String ref = flatNode.getText(region);
-		int length = ref.length();
-		if (length == 0)
-			return ref;
-		int offset = 0;
-		if (ref.charAt(0) == '&')
-			offset = 1;
-		if (ref.charAt(length - 1) == ';')
-			length--;
-		if (offset >= length)
-			return null;
-		return ref.substring(offset, length);
-	}
-
-	/**
-	 * Returns the first region.
-	 */
-	static ITextRegion getFirstRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return null;
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null || regions.size() == 0)
-			return null;
-		return regions.get(0);
-	}
-
-	/**
-	 * Returns the type of the first region.
-	 */
-	static String getFirstRegionType(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return XMLRegionContext.UNDEFINED;
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null || regions.size() == 0)
-			return XMLRegionContext.UNDEFINED;
-		ITextRegion region = regions.get(0);
-		return region.getType();
-	}
-
-	/**
-	 */
-	static IStructuredDocumentRegion getFirstStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return null;
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			flatNode = ((StructuredDocumentRegionContainer) flatNode).getFirstStructuredDocumentRegion();
-		}
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			flatNode = ((StructuredDocumentRegionProxy) flatNode).getStructuredDocumentRegion();
-		}
-		return flatNode;
-	}
-
-	/**
-	 * Returns the last region.
-	 */
-	static ITextRegion getLastRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return null;
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null || regions.size() == 0)
-			return null;
-		return regions.get(regions.size() - 1);
-	}
-
-	/**
-	 * Returns the type of the first region.
-	 */
-	static String getLastRegionType(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return XMLRegionContext.UNDEFINED;
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null || regions.size() == 0)
-			return XMLRegionContext.UNDEFINED;
-		ITextRegion region = regions.get(regions.size() - 1);
-		return region.getType();
-	}
-
-	/**
-	 */
-	static IStructuredDocumentRegion getLastStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return null;
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			flatNode = ((StructuredDocumentRegionContainer) flatNode).getLastStructuredDocumentRegion();
-		}
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			flatNode = ((StructuredDocumentRegionProxy) flatNode).getStructuredDocumentRegion();
-		}
-		return flatNode;
-	}
-
-	/**
-	 */
-	static IStructuredDocumentRegion getStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return null;
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			flatNode = ((StructuredDocumentRegionProxy) flatNode).getStructuredDocumentRegion();
-		}
-		return flatNode;
-	}
-
-	StructuredDocumentRegionUtil() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TextImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TextImpl.java
deleted file mode 100644
index 826fe54..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TextImpl.java
+++ /dev/null
@@ -1,1107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.document.InvalidCharacterException;
-import org.eclipse.wst.xml.core.document.XMLGenerator;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLText;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-
-/**
- * TextImpl class
- */
-public class TextImpl extends CharacterDataImpl implements XMLText {
-
-	/**
-	 */
-	private class StringPair {
-		private String fFirst = null;
-		private String fSecond = null;
-
-		StringPair(String first, String second) {
-			this.fFirst = first;
-			this.fSecond = second;
-		}
-
-		String getFirst() {
-			return this.fFirst;
-		}
-
-		String getSecond() {
-			return this.fSecond;
-		}
-	}
-
-	private String fSource = null;
-
-	/**
-	 * TextImpl constructor
-	 */
-	protected TextImpl() {
-		super();
-	}
-
-	/**
-	 * TextImpl constructor
-	 * 
-	 * @param that
-	 *            TextImpl
-	 */
-	protected TextImpl(TextImpl that) {
-		super(that);
-
-		if (that != null) {
-			this.fSource = that.getSource();
-		}
-	}
-
-	/**
-	 * appendData method
-	 * 
-	 * @param arg
-	 *            java.lang.String
-	 */
-	public void appendData(String arg) throws DOMException {
-		if (arg == null || arg.length() == 0)
-			return;
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		String newSource = getSource(arg);
-		if (newSource == null)
-			return;
-		String source = getSource();
-		if (source != null)
-			setTextSource(source + newSource);
-		else
-			setTextSource(newSource);
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion appendStructuredDocumentRegion(IStructuredDocumentRegion newStructuredDocumentRegion) {
-		if (newStructuredDocumentRegion == null)
-			return null;
-
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null) {
-			setStructuredDocumentRegion(newStructuredDocumentRegion);
-			return newStructuredDocumentRegion;
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			container.appendStructuredDocumentRegion(newStructuredDocumentRegion);
-		} else {
-			StructuredDocumentRegionContainer container = new StructuredDocumentRegionContainer();
-			container.appendStructuredDocumentRegion(flatNode);
-			container.appendStructuredDocumentRegion(newStructuredDocumentRegion);
-			setStructuredDocumentRegion(container);
-		}
-
-		return newStructuredDocumentRegion;
-	}
-
-	/**
-	 * appendText method
-	 * 
-	 * @param text
-	 *            org.w3c.dom.Text
-	 */
-	public void appendText(Text newText) {
-		if (newText == null)
-			return;
-
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		TextImpl text = (TextImpl) newText;
-		String newSource = text.getSource();
-		if (newSource == null && newSource.length() == 0)
-			return;
-		String source = getSource();
-		if (source != null)
-			setTextSource(source + newSource);
-		else
-			setTextSource(newSource);
-	}
-
-	/**
-	 * cloneNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 * @param deep
-	 *            boolean
-	 */
-	public Node cloneNode(boolean deep) {
-		TextImpl cloned = new TextImpl(this);
-		return cloned;
-	}
-
-	/**
-	 * deleteData method
-	 * 
-	 * @param offset
-	 *            int
-	 * @param count
-	 *            int
-	 */
-	public void deleteData(int offset, int count) throws DOMException {
-		if (count == 0)
-			return;
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		if (count < 0 || offset < 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		String source = getSource();
-		if (source == null || source.length() == 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		StringPair pair = substringSourceExcluded(source, offset, count);
-		if (pair == null)
-			return;
-		source = null;
-		String first = pair.getFirst();
-		if (first != null)
-			source = first;
-		String second = pair.getSecond();
-		if (second != null) {
-			if (source != null)
-				source += second;
-			else
-				source = second;
-		}
-		if (source == null)
-			source = new String(); // delete all
-		setTextSource(source);
-	}
-
-	/**
-	 * getData method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getData() throws DOMException {
-		if (this.fSource != null)
-			return getData(this.fSource);
-		String data = super.getData();
-		if (data != null)
-			return data;
-		return getData(getStructuredDocumentRegion());
-	}
-
-	/**
-	 */
-	private String getData(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return new String();
-
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			int length = container.getLength();
-			if (length < 16)
-				length = 16; // default
-			StringBuffer buffer = new StringBuffer(length);
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				String data = getData(content);
-				if (data == null)
-					continue;
-				buffer.append(data);
-			}
-			return buffer.toString();
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			return flatNode.getText();
-		}
-
-		ITextRegion region = StructuredDocumentRegionUtil.getFirstRegion(flatNode);
-		if (region != null) {
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_ENTITY_REFERENCE || regionType == XMLRegionContext.XML_CHAR_REFERENCE) {
-				String name = StructuredDocumentRegionUtil.getEntityRefName(flatNode, region);
-				if (name != null) {
-					DocumentImpl document = (DocumentImpl) getOwnerDocument();
-					if (document != null) {
-						String value = document.getCharValue(name);
-						if (value != null)
-							return value;
-					}
-				}
-			}
-		}
-
-		return flatNode.getText();
-	}
-
-	/**
-	 * Returns data for the source
-	 */
-	private String getData(String source) {
-		if (source == null)
-			return null;
-		StringBuffer buffer = null;
-		int offset = 0;
-		int length = source.length();
-		int ref = source.indexOf('&');
-		while (ref >= 0) {
-			int end = source.indexOf(';', ref + 1);
-			if (end > ref + 1) {
-				String name = source.substring(ref + 1, end);
-				String value = getCharValue(name);
-				if (value != null) {
-					if (buffer == null)
-						buffer = new StringBuffer(length);
-					if (ref > offset)
-						buffer.append(source.substring(offset, ref));
-					buffer.append(value);
-					offset = end + 1;
-					ref = end;
-				}
-			}
-			ref = source.indexOf('&', ref + 1);
-		}
-		if (buffer == null)
-			return source;
-		if (length > offset)
-			buffer.append(source.substring(offset));
-		return buffer.toString();
-	}
-
-	/**
-	 * getFirstStructuredDocumentRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getFirstStructuredDocumentRegion() {
-		return StructuredDocumentRegionUtil.getFirstStructuredDocumentRegion(getStructuredDocumentRegion());
-	}
-
-	/**
-	 * getLastStructuredDocumentRegion method
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getLastStructuredDocumentRegion() {
-		return StructuredDocumentRegionUtil.getLastStructuredDocumentRegion(getStructuredDocumentRegion());
-	}
-
-	/**
-	 * getNodeName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getNodeName() {
-		return "#text";//$NON-NLS-1$
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return short
-	 */
-	public short getNodeType() {
-		return TEXT_NODE;
-	}
-
-	/**
-	 */
-	public String getSource() {
-		if (this.fSource != null)
-			return this.fSource;
-		String data = super.getData();
-		if (data != null && data.length() > 0) {
-			String source = getSource(data);
-			if (source != null)
-				return source;
-		}
-		return super.getSource();
-	}
-
-	/**
-	 * Returns source for the data
-	 */
-	private String getSource(String data) {
-		if (data == null)
-			return null;
-		XMLModel model = getModel();
-		if (model == null)
-			return null; // error
-		XMLGenerator generator = model.getGenerator();
-		if (generator == null)
-			return null; // error
-		return generator.generateTextData(this, data);
-	}
-
-	/**
-	 */
-	String getTextSource() {
-		return this.fSource;
-	}
-
-	/**
-	 */
-	public String getValueSource() {
-		return getSource();
-	}
-
-	/**
-	 */
-	boolean hasStructuredDocumentRegion(IStructuredDocumentRegion askedStructuredDocumentRegion) {
-		if (askedStructuredDocumentRegion == null)
-			return false;
-
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return false;
-
-		if (flatNode == askedStructuredDocumentRegion)
-			return true;
-
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) flatNode;
-			if (proxy.getStructuredDocumentRegion() == askedStructuredDocumentRegion)
-				return true;
-			return false;
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				if (content == null)
-					continue;
-				if (content == askedStructuredDocumentRegion)
-					return true;
-				if (content instanceof StructuredDocumentRegionProxy) {
-					StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-					if (proxy.getStructuredDocumentRegion() == askedStructuredDocumentRegion)
-						return true;
-				}
-			}
-			return false;
-		}
-
-		return false;
-	}
-
-	/**
-	 * insertData method
-	 * 
-	 * @param offset
-	 *            int
-	 * @param arg
-	 *            java.lang.String
-	 */
-	public void insertData(int offset, String arg) throws DOMException {
-		if (arg == null || arg.length() == 0)
-			return;
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		if (offset < 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		String source = getSource();
-		if (source == null || source.length() == 0) {
-			if (offset > 0) {
-				throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-			}
-			source = getSource(arg);
-			if (source != null)
-				setTextSource(source);
-			return;
-		}
-
-		StringPair pair = substringSourceExcluded(source, offset, 0);
-		if (pair == null)
-			return; // error
-		StringBuffer buffer = new StringBuffer(source.length() + arg.length());
-		String first = pair.getFirst();
-		if (first != null)
-			buffer.append(first);
-		source = getSource(arg);
-		if (source != null)
-			buffer.append(source);
-		String second = pair.getSecond();
-		if (second != null)
-			buffer.append(second);
-		setTextSource(buffer.toString());
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion insertStructuredDocumentRegion(IStructuredDocumentRegion newStructuredDocumentRegion, IStructuredDocumentRegion nextStructuredDocumentRegion) {
-		if (newStructuredDocumentRegion == null)
-			return null;
-		if (nextStructuredDocumentRegion == null)
-			return appendStructuredDocumentRegion(newStructuredDocumentRegion);
-
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return null; // error
-
-		if (flatNode == nextStructuredDocumentRegion) {
-			StructuredDocumentRegionContainer container = new StructuredDocumentRegionContainer();
-			container.appendStructuredDocumentRegion(newStructuredDocumentRegion);
-			container.appendStructuredDocumentRegion(flatNode);
-			setStructuredDocumentRegion(container);
-			return newStructuredDocumentRegion;
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				if (content == nextStructuredDocumentRegion) {
-					container.insertStructuredDocumentRegion(newStructuredDocumentRegion, i);
-					return newStructuredDocumentRegion;
-				}
-			}
-			return null; // error
-		}
-
-		return null; // error
-	}
-
-	/**
-	 * insertText method
-	 * 
-	 * @param text
-	 *            org.w3c.dom.Text
-	 * @param offset
-	 *            int
-	 */
-	public void insertText(Text newText, int offset) throws DOMException {
-		if (newText == null)
-			return;
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		TextImpl text = (TextImpl) newText;
-		String newSource = text.getSource();
-		if (newSource == null && newSource.length() == 0)
-			return;
-		if (offset < 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		String source = getSource();
-		if (source == null || source.length() == 0) {
-			if (offset > 0) {
-				throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-			}
-			setTextSource(newSource);
-			return;
-		}
-
-		StringPair pair = substringSourceExcluded(source, offset, 0);
-		if (pair == null)
-			return; // error
-		StringBuffer buffer = new StringBuffer(source.length() + newSource.length());
-		String first = pair.getFirst();
-		if (first != null)
-			buffer.append(first);
-		buffer.append(newSource);
-		String second = pair.getSecond();
-		if (second != null)
-			buffer.append(second);
-		setTextSource(buffer.toString());
-	}
-
-	/**
-	 * isCDATAContent method
-	 * 
-	 * @return boolean
-	 */
-	public boolean isCDATAContent() {
-		Node parent = getParentNode();
-		if (parent == null || parent.getNodeType() != Node.ELEMENT_NODE)
-			return false;
-		ElementImpl element = (ElementImpl) parent;
-		return element.isCDATAContainer();
-	}
-
-	/**
-	 */
-	public boolean isInvalid() {
-		return isInvalid(getStructuredDocumentRegion());
-	}
-
-	/**
-	 */
-	private boolean isInvalid(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return false;
-
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				if (isInvalid(content))
-					return true;
-			}
-			return false;
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) flatNode;
-			return isInvalid(proxy.getStructuredDocumentRegion());
-		}
-
-		String regionType = StructuredDocumentRegionUtil.getFirstRegionType(flatNode);
-		if (regionType != XMLRegionContext.XML_CONTENT && regionType != JSP_CONTENT && regionType != XMLRegionContext.XML_ENTITY_REFERENCE && regionType != XMLRegionContext.XML_CHAR_REFERENCE && regionType != XMLRegionContext.BLOCK_TEXT && regionType != XMLRegionContext.WHITE_SPACE) {
-			return true;
-		}
-
-		return false;
-	}
-
-	/**
-	 */
-	boolean isSharingStructuredDocumentRegion(IStructuredDocumentRegion sharedStructuredDocumentRegion) {
-		if (sharedStructuredDocumentRegion == null)
-			return false;
-
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return false;
-
-		if (flatNode == sharedStructuredDocumentRegion)
-			return false;
-
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) flatNode;
-			if (proxy.getStructuredDocumentRegion() == sharedStructuredDocumentRegion)
-				return true;
-			return false;
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				if (content == null)
-					continue;
-				if (content == sharedStructuredDocumentRegion)
-					return false;
-				if (content instanceof StructuredDocumentRegionProxy) {
-					StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-					if (proxy.getStructuredDocumentRegion() == sharedStructuredDocumentRegion)
-						return true;
-				}
-			}
-			return false;
-		}
-
-		return false;
-	}
-
-	/**
-	 */
-	public boolean isWhitespace() {
-		String data = getData();
-		if (data == null)
-			return true;
-		int length = data.length();
-		for (int i = 0; i < length; i++) {
-			if (!Character.isWhitespace(data.charAt(i)))
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion removeStructuredDocumentRegion(IStructuredDocumentRegion oldStructuredDocumentRegion) {
-		if (oldStructuredDocumentRegion == null)
-			return null;
-
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return null; // error
-
-		if (flatNode == oldStructuredDocumentRegion) {
-			setStructuredDocumentRegion(null);
-			return oldStructuredDocumentRegion;
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) flatNode;
-			if (proxy.getStructuredDocumentRegion() == oldStructuredDocumentRegion) {
-				// removed with proxy
-				setStructuredDocumentRegion(null);
-				return oldStructuredDocumentRegion;
-			}
-			return null; // error
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				if (content == oldStructuredDocumentRegion) {
-					container.removeStructuredDocumentRegion(i);
-					if (container.getStructuredDocumentRegionCount() == 1) {
-						// get back to single IStructuredDocumentRegion
-						setStructuredDocumentRegion(container.getStructuredDocumentRegion(0));
-					}
-					return oldStructuredDocumentRegion;
-				}
-
-				if (content instanceof StructuredDocumentRegionProxy) {
-					StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-					if (proxy.getStructuredDocumentRegion() == oldStructuredDocumentRegion) {
-						// removed with proxy
-						container.removeStructuredDocumentRegion(i);
-						if (container.getStructuredDocumentRegionCount() == 1) {
-							// get back to single IStructuredDocumentRegion
-							setStructuredDocumentRegion(container.getStructuredDocumentRegion(0));
-						}
-						return oldStructuredDocumentRegion;
-					}
-				}
-			}
-			return null; // error
-		}
-
-		return null; // error
-	}
-
-	/**
-	 * replaceData method
-	 * 
-	 * @param offset
-	 *            int
-	 * @param count
-	 *            int
-	 * @param arg
-	 *            java.lang.String
-	 */
-	public void replaceData(int offset, int count, String arg) throws DOMException {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		if (arg == null || arg.length() == 0) {
-			deleteData(offset, count);
-			return;
-		}
-		if (count == 0) {
-			insertData(offset, arg);
-			return;
-		}
-		if (offset < 0 || count < 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		String source = getSource();
-		if (source == null || source.length() == 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		StringPair pair = substringSourceExcluded(source, offset, count);
-		if (pair == null)
-			return; // error
-		StringBuffer buffer = new StringBuffer(source.length() + arg.length());
-		String first = pair.getFirst();
-		if (first != null)
-			buffer.append(first);
-		source = getSource(arg);
-		if (source != null)
-			buffer.append(source);
-		String second = pair.getSecond();
-		if (second != null)
-			buffer.append(second);
-		setTextSource(buffer.toString());
-	}
-
-	/**
-	 */
-	IStructuredDocumentRegion replaceStructuredDocumentRegion(IStructuredDocumentRegion newStructuredDocumentRegion, IStructuredDocumentRegion oldStructuredDocumentRegion) {
-		if (oldStructuredDocumentRegion == null)
-			return null;
-		if (newStructuredDocumentRegion == null)
-			return removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null)
-			return null; // error
-
-		if (flatNode == oldStructuredDocumentRegion) {
-			setStructuredDocumentRegion(newStructuredDocumentRegion);
-			return oldStructuredDocumentRegion;
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionProxy) {
-			StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) flatNode;
-			if (proxy.getStructuredDocumentRegion() == oldStructuredDocumentRegion) {
-				if (newStructuredDocumentRegion instanceof StructuredDocumentRegionProxy) {
-					// proxy must not be nested
-					setStructuredDocumentRegion(newStructuredDocumentRegion);
-				} else {
-					proxy.setStructuredDocumentRegion(newStructuredDocumentRegion);
-				}
-				return oldStructuredDocumentRegion;
-			}
-			return null; // error
-		}
-
-		if (flatNode instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				if (content == null)
-					continue; // error
-				if (content == oldStructuredDocumentRegion) {
-					container.replaceStructuredDocumentRegion(newStructuredDocumentRegion, i);
-					return oldStructuredDocumentRegion;
-				}
-
-				if (content instanceof StructuredDocumentRegionProxy) {
-					StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-					if (proxy.getStructuredDocumentRegion() == oldStructuredDocumentRegion) {
-						if (newStructuredDocumentRegion instanceof StructuredDocumentRegionProxy) {
-							// proxy must not be nested
-							container.replaceStructuredDocumentRegion(newStructuredDocumentRegion, i);
-						} else {
-							proxy.setStructuredDocumentRegion(newStructuredDocumentRegion);
-						}
-						return oldStructuredDocumentRegion;
-					}
-				}
-			}
-			return null; // error
-		}
-
-		return null; // error
-	}
-
-	/**
-	 */
-	void resetStructuredDocumentRegions() {
-		String source = getSource();
-		if (source != null && source.length() > 0)
-			this.fSource = source;
-		super.resetStructuredDocumentRegions();
-	}
-
-	/**
-	 * getData method
-	 * 
-	 * @return java.lang.String
-	 */
-	public void setData(String data) throws DOMException {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.fSource = null;
-		super.setData(data);
-	}
-
-	/**
-	 */
-	public void setSource(String source) throws InvalidCharacterException {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		SourceValidator validator = new SourceValidator(this);
-		if (validator.validateSource(source))
-			setTextSource(source);
-	}
-
-	/**
-	 */
-	void setStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		super.setStructuredDocumentRegion(flatNode);
-		if (flatNode != null)
-			this.fSource = null;
-	}
-
-	/**
-	 */
-	public void setTextSource(String source) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		this.fSource = source;
-
-		notifyValueChanged();
-	}
-
-	/**
-	 */
-	public void setValueSource(String source) {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-
-		SourceValidator validator = new SourceValidator(this);
-		setTextSource(validator.convertSource(source));
-	}
-
-	/**
-	 * splitText method
-	 * 
-	 * @return org.w3c.dom.Text
-	 * @param offset
-	 *            int
-	 */
-	public Text splitText(int offset) throws DOMException {
-		if (!isDataEditable()) {
-			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
-		}
-		if (offset < 0) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		int length = getLength();
-		if (offset > length) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		Document document = getOwnerDocument();
-		if (document == null)
-			return null;
-
-		String source = null;
-		if (offset < length) {
-			int count = length - offset;
-			source = substringSource(offset, count);
-			deleteData(offset, count);
-		}
-		TextImpl text = (TextImpl) document.createTextNode(null);
-		if (source != null)
-			text.setTextSource(source);
-
-		Node parent = getParentNode();
-		if (parent != null)
-			parent.insertBefore(text, getNextSibling());
-
-		return text;
-	}
-
-	/**
-	 */
-	Text splitText(IStructuredDocumentRegion nextStructuredDocumentRegion) {
-		if (nextStructuredDocumentRegion == null)
-			return null;
-
-		IStructuredDocumentRegion flatNode = getStructuredDocumentRegion();
-		if (flatNode == null || !(flatNode instanceof StructuredDocumentRegionContainer))
-			return null; // error
-
-		StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-		int count = container.getStructuredDocumentRegionCount();
-		int index = 0;
-		for (; index < count; index++) {
-			if (container.getStructuredDocumentRegion(index) == nextStructuredDocumentRegion)
-				break;
-		}
-		if (index >= count) {
-			// this is the case nextStructuredDocumentRegion is a new
-			// IStructuredDocumentRegion
-			// search gap by offset
-			int offset = nextStructuredDocumentRegion.getStart();
-			for (index = 0; index < count; index++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(index);
-				if (content == null)
-					continue; // error
-				if (content.getStart() >= offset)
-					break;
-			}
-			if (index >= count)
-				return null; // error
-		}
-		if (index == 0)
-			return this; // nothing to do
-
-		Document document = getOwnerDocument();
-		if (document == null)
-			return null; // error
-		Node parent = getParentNode();
-		if (parent == null)
-			return null; // error
-		TextImpl nextText = (TextImpl) document.createTextNode(null);
-		if (nextText == null)
-			return null; // error
-
-		for (; index < count; count--) {
-			nextText.appendStructuredDocumentRegion(container.removeStructuredDocumentRegion(index));
-		}
-
-		// normalize IStructuredDocumentRegion
-		if (index == 1) {
-			setStructuredDocumentRegion(container.getStructuredDocumentRegion(0));
-		}
-
-		parent.insertBefore(nextText, getNextSibling());
-		return nextText;
-	}
-
-	/**
-	 * Retruns data for the range
-	 */
-	private String substringData(String data, int offset, int count) throws DOMException {
-		// sure offset and count are non-negative
-		if (count == 0)
-			return new String();
-		if (data == null) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		int length = data.length();
-		if (offset > length) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		int end = offset + count;
-		if (end > length) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-		return data.substring(offset, end);
-	}
-
-	/**
-	 * Returns source for the range specified by: offset: data offset count:
-	 * data count
-	 */
-	private String substringSource(int offset, int count) throws DOMException {
-		// sure offset and count are non-negative
-		if (this.fSource != null)
-			return substringSource(this.fSource, offset, count);
-
-		String data = super.getData();
-		if (data != null && data.length() > 0) {
-			data = substringData(data, offset, count);
-			if (data == null)
-				return new String();
-			String source = getSource(data);
-			if (source != null)
-				return source;
-		}
-
-		return substringSource(getSource(), offset, count);
-	}
-
-	/**
-	 * Returns source for the range specified by: offset: data offset count:
-	 * data count
-	 */
-	private String substringSource(String source, int offset, int count) throws DOMException {
-		// sure offset and count are non-negative
-		if (count == 0)
-			return new String();
-		if (source == null) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		int length = source.length();
-		int end = offset + count;
-
-		// find character reference
-		int ref = source.indexOf('&');
-		while (ref >= 0) {
-			if (ref >= end)
-				break;
-			int refEnd = source.indexOf(';', ref + 1);
-			if (refEnd > ref + 1) {
-				String name = source.substring(ref + 1, refEnd);
-				if (getCharValue(name) != null) {
-					// found, shift for source offsets
-					int refCount = refEnd - ref;
-					if (ref < offset)
-						offset += refCount;
-					if (ref < end)
-						end += refCount;
-					ref = refEnd;
-				}
-			}
-			ref = source.indexOf('&', ref + 1);
-		}
-
-		if (offset > length || end > length) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		return source.substring(offset, end);
-	}
-
-	/**
-	 * Returns sources before and after the range specified by: offset: data
-	 * offset count: data count
-	 */
-	private StringPair substringSourceExcluded(String source, int offset, int count) throws DOMException {
-		// sure offset and count are non-negative
-		if (source == null) {
-			if (offset == 0 && count == 0)
-				return new StringPair(null, null);
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		int length = source.length();
-		int end = offset + count;
-
-		// find character reference
-		int ref = source.indexOf('&');
-		while (ref >= 0) {
-			if (ref >= end)
-				break;
-			int refEnd = source.indexOf(';', ref + 1);
-			if (refEnd > ref + 1) {
-				String name = source.substring(ref + 1, refEnd);
-				if (getCharValue(name) != null) {
-					// found, shift for source offsets
-					int refCount = refEnd - ref;
-					if (ref < offset)
-						offset += refCount;
-					if (ref < end)
-						end += refCount;
-					ref = refEnd;
-				}
-			}
-			ref = source.indexOf('&', ref + 1);
-		}
-
-		if (offset > length || end > length) {
-			throw new DOMException(DOMException.INDEX_SIZE_ERR, new String());
-		}
-
-		String first = (offset > 0 ? source.substring(0, offset) : null);
-		String second = (end < length ? source.substring(end, length) : null);
-		return new StringPair(first, second);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLGeneratorImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLGeneratorImpl.java
deleted file mode 100644
index 5000a4d..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLGeneratorImpl.java
+++ /dev/null
@@ -1,738 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.xml.core.commentelement.impl.CommentElementRegistry;
-import org.eclipse.wst.xml.core.document.DocumentTypeAdapter;
-import org.eclipse.wst.xml.core.document.JSPTag;
-import org.eclipse.wst.xml.core.document.TagAdapter;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLCharEntity;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLGenerator;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.CDATASection;
-import org.w3c.dom.Comment;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.EntityReference;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-
-
-/** 
- */
-public class XMLGeneratorImpl implements XMLGenerator {
-	private static final String CDATA_CLOSE = "]]>";//$NON-NLS-1$
-	private static final String CDATA_OPEN = "<![CDATA[";//$NON-NLS-1$
-	private static final String COMMENT_CLOSE = "-->";//$NON-NLS-1$
-	private static final String COMMENT_OPEN = "<!--";//$NON-NLS-1$
-	private static final String DOCTYPE_OPEN = "<!DOCTYPE";//$NON-NLS-1$
-	private static final String EMPTY_CLOSE = " />";//$NON-NLS-1$
-	private static final String END_OPEN = "</";//$NON-NLS-1$
-
-	private static XMLGeneratorImpl instance = null;
-	private static final String PI_CLOSE = "?>";//$NON-NLS-1$
-	private static final String PI_OPEN = "<?";//$NON-NLS-1$
-	private static final String PUBLIC_ID = "PUBLIC";//$NON-NLS-1$
-	private static final String SSI_PREFIX = "ssi";//$NON-NLS-1$
-	//private static final String SSI_FEATURE = "SSI";//$NON-NLS-1$
-	private static final String SSI_TOKEN = "#";//$NON-NLS-1$
-	private static final String SYSTEM_ID = "SYSTEM";//$NON-NLS-1$
-	private static final String TAG_CLOSE = ">";//$NON-NLS-1$
-
-	/**
-	 */
-	public synchronized static XMLGenerator getInstance() {
-		if (instance == null)
-			instance = new XMLGeneratorImpl();
-		return instance;
-	}
-
-	/**
-	 */
-	//private boolean isCommentTag(XMLElement element) {
-	//	if (element == null) return false;
-	//	DocumentImpl document = (DocumentImpl)element.getOwnerDocument();
-	//	if (document == null) return false;
-	//	DocumentTypeAdapter adapter = document.getDocumentTypeAdapter();
-	//	if (adapter == null) return false;
-	//	if (!adapter.hasFeature(SSI_FEATURE)) return false;
-	//	String prefix = element.getPrefix();
-	//	return (prefix != null && prefix.equals(SSI_PREFIX));
-	//}
-	/**
-	 * Helper to modify the tag name in sub-classes
-	 */
-	private static void setTagName(Element element, String tagName) {
-		if (element == null || tagName == null)
-			return;
-		((ElementImpl) element).setTagName(tagName);
-	}
-
-	/**
-	 * XMLModelGenerator constructor
-	 */
-	private XMLGeneratorImpl() {
-		super();
-	}
-
-	/**
-	 */
-	public String generateAttrName(Attr attr) {
-		if (attr == null)
-			return null;
-		String attrName = attr.getName();
-		if (attrName == null)
-			return null;
-		if (attrName.startsWith(JSPTag.TAG_OPEN)) {
-			if (!attrName.endsWith(JSPTag.TAG_CLOSE)) {
-				// close JSP
-				return (attrName + JSPTag.TAG_CLOSE);
-			}
-		}
-		if (((XMLAttr) attr).isGlobalAttr() && CMNodeUtil.getAttributeDeclaration(attr) != null) {
-			switch (getAttrNameCase(attr)) {
-				case DocumentTypeAdapter.UPPER_CASE :
-					attrName = attrName.toUpperCase();
-					break;
-				case DocumentTypeAdapter.LOWER_CASE :
-					attrName = attrName.toLowerCase();
-					break;
-				default :
-					// ASIS_CASE
-					break;
-			}
-		}
-		return attrName;
-	}
-
-	/**
-	 */
-	public String generateAttrValue(Attr attr) {
-		return generateAttrValue(attr, (char) 0); // no quote preference
-	}
-
-	/**
-	 */
-	public String generateAttrValue(Attr attr, char quote) {
-		if (attr == null)
-			return null;
-		String name = attr.getName();
-		SourceValidator validator = new SourceValidator(attr);
-		String value = validator.convertSource(((XMLNode) attr).getValueSource());
-		if (value == null || value.length() == 0) {
-			if (name != null && name.startsWith(JSPTag.TAG_OPEN))
-				return null;
-			if (isBooleanAttr(attr)) {
-				if (((AttrImpl) attr).isXMLAttr()) {
-					// generate the name as value
-					value = attr.getName();
-				} else {
-					// not to generate '=' and value for HTML boolean
-					return null;
-				}
-			}
-		}
-		return generateAttrValue(value, quote);
-	}
-
-	/**
-	 */
-	public String generateAttrValue(String value, char quote) {
-		// assume the valid is already validated not to include both quotes
-		if (quote == '"') {
-			if ((value != null) && (value.indexOf('"') >= 0))
-				quote = '\''; // force
-		} else if (quote == '\'') {
-			if ((value != null) && (value.indexOf('\'') >= 0))
-				quote = '"'; // force
-		} else { // no preference
-			if ((value != null) && (value.indexOf('"') < 0))
-				quote = '"';
-			else
-				quote = '\'';
-		}
-
-		int length = (value == null ? 0 : value.length());
-		StringBuffer buffer = new StringBuffer(length + 2);
-		buffer.append(quote);
-		if (value != null)
-			buffer.append(value);
-		buffer.append(quote);
-		return buffer.toString();
-	}
-
-	/**
-	 * generateCDATASection method
-	 * 
-	 * @return java.lang.String
-	 * @param comment
-	 *            org.w3c.dom.CDATASection
-	 */
-	public String generateCDATASection(CDATASection cdata) {
-		if (cdata == null)
-			return null;
-
-		String data = cdata.getData();
-		int length = (data != null ? data.length() : 0);
-		StringBuffer buffer = new StringBuffer(length + 16);
-		buffer.append(CDATA_OPEN);
-		if (data != null)
-			buffer.append(data);
-		buffer.append(CDATA_CLOSE);
-		return buffer.toString();
-	}
-
-	/**
-	 * generateChild method
-	 * 
-	 * @return java.lang.String
-	 * @param org.w3c.dom.Node
-	 */
-	public String generateChild(Node parentNode) {
-		if (parentNode == null)
-			return null;
-		if (!parentNode.hasChildNodes())
-			return null;
-
-		StringBuffer buffer = new StringBuffer();
-		for (Node child = parentNode.getFirstChild(); child != null; child = child.getNextSibling()) {
-			String childSource = generateSource(child);
-			if (childSource != null)
-				buffer.append(childSource);
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	public String generateCloseTag(Node node) {
-		if (node == null)
-			return null;
-
-		switch (node.getNodeType()) {
-			case Node.ELEMENT_NODE : {
-				ElementImpl element = (ElementImpl) node;
-				if (element.isCommentTag()) {
-					if (element.isJSPTag())
-						return JSPTag.COMMENT_CLOSE;
-					return COMMENT_CLOSE;
-				}
-				if (element.isJSPTag())
-					return JSPTag.TAG_CLOSE;
-				if (element.isEmptyTag())
-					return EMPTY_CLOSE;
-				return TAG_CLOSE;
-			}
-			case Node.COMMENT_NODE : {
-				CommentImpl comment = (CommentImpl) node;
-				if (comment.isJSPTag())
-					return JSPTag.COMMENT_CLOSE;
-				return COMMENT_CLOSE;
-			}
-			case Node.DOCUMENT_TYPE_NODE :
-				return TAG_CLOSE;
-			case Node.PROCESSING_INSTRUCTION_NODE :
-				return PI_CLOSE;
-			case Node.CDATA_SECTION_NODE :
-				return CDATA_CLOSE;
-			default :
-				break;
-		}
-
-		return null;
-	}
-
-	/**
-	 * generateComment method
-	 * 
-	 * @return java.lang.String
-	 * @param comment
-	 *            org.w3c.dom.Comment
-	 */
-	public String generateComment(Comment comment) {
-		if (comment == null)
-			return null;
-
-		String data = comment.getData();
-		int length = (data != null ? data.length() : 0);
-		StringBuffer buffer = new StringBuffer(length + 8);
-		CommentImpl impl = (CommentImpl) comment;
-		if (!impl.isJSPTag())
-			buffer.append(COMMENT_OPEN);
-		else
-			buffer.append(JSPTag.COMMENT_OPEN);
-		if (data != null)
-			buffer.append(data);
-		if (!impl.isJSPTag())
-			buffer.append(COMMENT_CLOSE);
-		else
-			buffer.append(JSPTag.COMMENT_CLOSE);
-		return buffer.toString();
-	}
-
-	/**
-	 * generateDoctype method
-	 * 
-	 * @return java.lang.String
-	 * @param docType
-	 *            org.w3c.dom.DocumentType
-	 */
-	public String generateDoctype(DocumentType docType) {
-		if (docType == null)
-			return null;
-
-		String name = docType.getName();
-		int length = (name != null ? name.length() : 0);
-		StringBuffer buffer = new StringBuffer(length + 16);
-		buffer.append(DOCTYPE_OPEN);
-		buffer.append(' ');
-		if (name != null)
-			buffer.append(name);
-		DocumentTypeImpl dt = (DocumentTypeImpl) docType;
-		String publicID = dt.getPublicId();
-		String systemID = dt.getSystemId();
-		if (publicID != null) {
-			buffer.append(' ');
-			buffer.append(PUBLIC_ID);
-			buffer.append(' ');
-			buffer.append('"');
-			buffer.append(publicID);
-			buffer.append('"');
-			if (systemID != null) {
-				buffer.append(' ');
-				buffer.append('"');
-				buffer.append(systemID);
-				buffer.append('"');
-			}
-		} else {
-			if (systemID != null) {
-				buffer.append(' ');
-				buffer.append(SYSTEM_ID);
-				buffer.append(' ');
-				buffer.append('"');
-				buffer.append(systemID);
-				buffer.append('"');
-			}
-		}
-		buffer.append('>');
-		return buffer.toString();
-	}
-
-	/**
-	 * generateElement method
-	 * 
-	 * @return java.lang.String
-	 * @param element
-	 *            Element
-	 */
-	public String generateElement(Element element) {
-		if (element == null)
-			return null;
-
-		// if empty tag is preferrable, generate as empty tag
-		ElementImpl impl = (ElementImpl) element;
-		if (impl.preferEmptyTag())
-			impl.setEmptyTag(true);
-
-		StringBuffer buffer = new StringBuffer();
-		String startTag = generateStartTag(element);
-		if (startTag != null)
-			buffer.append(startTag);
-		String child = generateChild(element);
-		if (child != null)
-			buffer.append(child);
-		String endTag = generateEndTag(element);
-		if (endTag != null)
-			buffer.append(endTag);
-		return buffer.toString();
-	}
-
-	/**
-	 * generateEndTag method
-	 * 
-	 * @return java.lang.String
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	public String generateEndTag(Element element) {
-		if (element == null)
-			return null;
-
-		ElementImpl impl = (ElementImpl) element;
-
-		// first check if tag adapter exists
-		TagAdapter adapter = (TagAdapter) impl.getExistingAdapter(TagAdapter.class);
-		if (adapter != null) {
-			String endTag = adapter.getEndTag(impl);
-			if (endTag != null)
-				return endTag;
-		}
-
-		if (impl.isEmptyTag())
-			return null;
-		if (!impl.isContainer())
-			return null;
-		if (impl.isJSPTag())
-			return JSPTag.TAG_CLOSE;
-
-		String tagName = generateTagName(element);
-		int length = (tagName != null ? tagName.length() : 0);
-		StringBuffer buffer = new StringBuffer(length + 4);
-		buffer.append(END_OPEN);
-		if (tagName != null)
-			buffer.append(tagName);
-		buffer.append('>');
-		return buffer.toString();
-	}
-
-	/**
-	 * generateEntityRef method
-	 * 
-	 * @return java.lang.String
-	 * @param entityRef
-	 *            org.w3c.dom.EntityReference
-	 */
-	public String generateEntityRef(EntityReference entityRef) {
-		if (entityRef == null)
-			return null;
-
-		String name = entityRef.getNodeName();
-		int length = (name != null ? name.length() : 0);
-		StringBuffer buffer = new StringBuffer(length + 4);
-		buffer.append('&');
-		if (name != null)
-			buffer.append(name);
-		buffer.append(';');
-		return buffer.toString();
-	}
-
-	/**
-	 * generatePI method
-	 * 
-	 * @return java.lang.String
-	 * @param pi
-	 *            org.w3c.dom.ProcessingInstruction
-	 */
-	public String generatePI(ProcessingInstruction pi) {
-		if (pi == null)
-			return null;
-
-		String target = pi.getTarget();
-		String data = pi.getData();
-		int length = (target != null ? target.length() : 0);
-		if (data != null)
-			length += data.length();
-		StringBuffer buffer = new StringBuffer(length + 8);
-		buffer.append(PI_OPEN);
-		if (target != null)
-			buffer.append(target);
-		buffer.append(' ');
-		if (data != null)
-			buffer.append(data);
-		buffer.append(PI_CLOSE);
-		return buffer.toString();
-	}
-
-	/**
-	 * generateSource method
-	 * 
-	 * @return java.lang.String
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	public String generateSource(Node node) {
-		switch (node.getNodeType()) {
-			case Node.ELEMENT_NODE :
-				return generateElement((Element) node);
-			case Node.TEXT_NODE :
-				return generateText((Text) node);
-			case Node.COMMENT_NODE :
-				return generateComment((Comment) node);
-			case Node.DOCUMENT_TYPE_NODE :
-				return generateDoctype((DocumentType) node);
-			case Node.PROCESSING_INSTRUCTION_NODE :
-				return generatePI((ProcessingInstruction) node);
-			case Node.CDATA_SECTION_NODE :
-				return generateCDATASection((CDATASection) node);
-			case Node.ENTITY_REFERENCE_NODE :
-				return generateEntityRef((EntityReference) node);
-			default :
-				// DOCUMENT
-				break;
-		}
-		return generateChild(node);
-	}
-
-	/**
-	 * generateStartTag method
-	 * 
-	 * @return java.lang.String
-	 * @param element
-	 *            Element
-	 */
-	public String generateStartTag(Element element) {
-		if (element == null)
-			return null;
-
-		ElementImpl impl = (ElementImpl) element;
-
-		if (impl.isJSPTag()) {
-			// check if JSP content type and JSP Document
-			XMLDocument document = (XMLDocument) element.getOwnerDocument();
-			if (document != null && document.isJSPType()) {
-				if (document.isJSPDocument() && !impl.hasChildNodes()) {
-					impl.setJSPTag(false);
-				}
-			} else {
-				impl.setJSPTag(false);
-			}
-		}
-		if (impl.isCommentTag() && impl.getExistingAdapter(TagAdapter.class) == null) {
-			CommentElementRegistry registry = CommentElementRegistry.getInstance();
-			registry.setupCommentElement(impl);
-		}
-
-		// first check if tag adapter exists
-		TagAdapter adapter = (TagAdapter) impl.getExistingAdapter(TagAdapter.class);
-		if (adapter != null) {
-			String startTag = adapter.getStartTag(impl);
-			if (startTag != null)
-				return startTag;
-		}
-
-		StringBuffer buffer = new StringBuffer();
-
-		if (impl.isCommentTag()) {
-			if (impl.isJSPTag())
-				buffer.append(JSPTag.COMMENT_OPEN);
-			else
-				buffer.append(COMMENT_OPEN);
-			String tagName = generateTagName(element);
-			if (tagName != null)
-				buffer.append(tagName);
-		} else if (impl.isJSPTag()) {
-			buffer.append(JSPTag.TAG_OPEN);
-			String tagName = generateTagName(element);
-			if (tagName != null)
-				buffer.append(tagName);
-			if (impl.isContainer())
-				return buffer.toString(); // JSP container
-		} else {
-			buffer.append('<');
-			String tagName = generateTagName(element);
-			if (tagName != null)
-				buffer.append(tagName);
-		}
-
-		NamedNodeMap attributes = element.getAttributes();
-		int length = attributes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) attributes.item(i);
-			if (attr == null)
-				continue;
-			buffer.append(' ');
-			String attrName = generateAttrName(attr);
-			if (attrName != null)
-				buffer.append(attrName);
-			String attrValue = generateAttrValue(attr);
-			if (attrValue != null) {
-				// attr name only for HTML boolean and JSP
-				buffer.append('=');
-				buffer.append(attrValue);
-			}
-		}
-
-		String closeTag = generateCloseTag(element);
-		if (closeTag != null)
-			buffer.append(closeTag);
-
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	public String generateTagName(Element element) {
-		if (element == null)
-			return null;
-		XMLElement xe = (XMLElement) element;
-		String tagName = element.getTagName();
-		if (tagName == null)
-			return null;
-		if (xe.isJSPTag()) {
-			if (tagName.equals(JSPTag.JSP_EXPRESSION))
-				return JSPTag.EXPRESSION_TOKEN;
-			if (tagName.equals(JSPTag.JSP_DECLARATION))
-				return JSPTag.DECLARATION_TOKEN;
-			if (tagName.equals(JSPTag.JSP_DIRECTIVE))
-				return JSPTag.DIRECTIVE_TOKEN;
-			if (tagName.startsWith(JSPTag.JSP_DIRECTIVE)) {
-				int offset = JSPTag.JSP_DIRECTIVE.length() + 1; // after '.'
-				return (JSPTag.DIRECTIVE_TOKEN + tagName.substring(offset));
-			}
-			return (xe.isCommentTag()) ? tagName : null;
-		} else if (tagName.startsWith(JSPTag.TAG_OPEN)) {
-			if (!tagName.endsWith(JSPTag.TAG_CLOSE)) {
-				// close JSP
-				return (tagName + JSPTag.TAG_CLOSE);
-			}
-		} else if (xe.isCommentTag()) {
-			String prefix = element.getPrefix();
-			if (prefix.equals(SSI_PREFIX)) {
-				return (SSI_TOKEN + element.getLocalName());
-			}
-		} else {
-			if (!xe.isJSPTag() && xe.isGlobalTag() && // global tag
-						CMNodeUtil.getElementDeclaration(xe) != null) {
-				String newName = tagName;
-				switch (getTagNameCase(xe)) {
-					case DocumentTypeAdapter.UPPER_CASE :
-						newName = tagName.toUpperCase();
-						break;
-					case DocumentTypeAdapter.LOWER_CASE :
-						newName = tagName.toLowerCase();
-						break;
-				}
-				if (newName != tagName) {
-					tagName = newName;
-					setTagName(element, tagName);
-				}
-			}
-		}
-		return tagName;
-	}
-
-	/**
-	 * generateText method
-	 * 
-	 * @return java.lang.String
-	 * @param text
-	 *            org.w3c.dom.Text
-	 */
-	public String generateText(Text text) {
-		if (text == null)
-			return null;
-		TextImpl impl = (TextImpl) text;
-		String source = impl.getTextSource();
-		if (source != null)
-			return source;
-		return generateTextData(text, impl.getData());
-	}
-
-	/**
-	 */
-	public String generateTextData(Text text, String data) {
-		if (data == null)
-			return null;
-		if (text == null)
-			return null;
-		TextImpl impl = (TextImpl) text;
-		if (impl.isJSPContent() || impl.isCDATAContent()) {
-			return new SourceValidator(impl).convertSource(data);
-		}
-		String source = data;
-
-		// convert special characters to character entities
-		StringBuffer buffer = null;
-		int offset = 0;
-		int length = data.length();
-		for (int i = 0; i < length; i++) {
-			String name = getCharName(data.charAt(i));
-			if (name == null)
-				continue;
-			if (buffer == null)
-				buffer = new StringBuffer(length + 8);
-			if (i > offset)
-				buffer.append(data.substring(offset, i));
-			buffer.append('&');
-			buffer.append(name);
-			buffer.append(';');
-			offset = i + 1;
-		}
-		if (buffer != null) {
-			if (length > offset)
-				buffer.append(data.substring(offset));
-			source = buffer.toString();
-		}
-
-		if (source == null || source.length() == 0)
-			return null;
-		return source;
-	}
-
-	/**
-	 */
-	private int getAttrNameCase(Attr attr) {
-		DocumentImpl document = (DocumentImpl) attr.getOwnerDocument();
-		if (document == null)
-			return DocumentTypeAdapter.STRICT_CASE;
-		DocumentTypeAdapter adapter = document.getDocumentTypeAdapter();
-		if (adapter == null)
-			return DocumentTypeAdapter.STRICT_CASE;
-		return adapter.getAttrNameCase();
-	}
-
-	/**
-	 */
-	private String getCharName(char c) {
-		switch (c) {
-			case '<' :
-				return XMLCharEntity.LT_NAME;
-			case '>' :
-				return XMLCharEntity.GT_NAME;
-			case '&' :
-				return XMLCharEntity.AMP_NAME;
-			case '"' :
-				return XMLCharEntity.QUOT_NAME;
-		}
-		return null;
-	}
-
-	/**
-	 */
-	private int getTagNameCase(Element element) {
-		DocumentImpl document = (DocumentImpl) element.getOwnerDocument();
-		if (document == null)
-			return DocumentTypeAdapter.STRICT_CASE;
-		DocumentTypeAdapter adapter = document.getDocumentTypeAdapter();
-		if (adapter == null)
-			return DocumentTypeAdapter.STRICT_CASE;
-		return adapter.getTagNameCase();
-	}
-
-	/**
-	 */
-	private boolean isBooleanAttr(Attr attr) {
-		if (attr == null)
-			return false;
-		CMAttributeDeclaration decl = CMNodeUtil.getAttributeDeclaration(attr);
-		if (decl == null)
-			return false;
-		CMDataType type = decl.getAttrType();
-		if (type == null)
-			return false;
-		String values[] = type.getEnumeratedValues();
-		if (values == null)
-			return false;
-		return (values.length == 1 && values[0].equals(decl.getAttrName()));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelContext.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelContext.java
deleted file mode 100644
index 6a799f7..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelContext.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * XMLModelContext class
- */
-class XMLModelContext {
-	private Node nextNode = null;
-	private Node parentNode = null;
-
-	//	private XMLModelImpl model = null;
-	private Node rootNode = null;
-
-	/**
-	 * XMLModelContext constructor
-	 * 
-	 * @param rootNode
-	 *            org.w3c.dom.Node
-	 */
-	XMLModelContext(Node rootNode) {
-		super();
-
-		this.rootNode = rootNode;
-	}
-
-	/**
-	 * findEndTag method
-	 * 
-	 * @return org.w3c.dom.Element
-	 * @param tagName
-	 *            java.lang.String
-	 */
-	Element findEndTag(String tagName) {
-		if (tagName == null)
-			return null;
-		if (this.parentNode == null)
-			return null;
-
-		for (Node parent = this.parentNode.getParentNode(); parent != null; parent = parent.getParentNode()) {
-			if (parent.getNodeType() != Node.ELEMENT_NODE)
-				break;
-			ElementImpl element = (ElementImpl) parent;
-			if (element.hasEndTag()) {
-				if (element.matchTagName(tagName))
-					return element;
-				// if ancestor element has end tag stop search
-				break;
-			}
-			if (element.getNextSibling() != null)
-				break;
-		}
-
-		return null;
-	}
-
-	/**
-	 */
-	Text findNextText() {
-		Node node = this.nextNode;
-		while (node != null) {
-			if (node != this.nextNode && node.getNodeType() == Node.TEXT_NODE) {
-				TextImpl text = (TextImpl) node;
-				// skip empty text
-				if (text.getStructuredDocumentRegion() != null)
-					return text;
-			}
-			Node child = node.getFirstChild();
-			if (child != null) {
-				node = child;
-				continue;
-			}
-			while (node != null) {
-				Node next = node.getNextSibling();
-				if (next != null) {
-					node = next;
-					break;
-				}
-				node = node.getParentNode();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * findPreviousText method
-	 * 
-	 * @return org.w3c.dom.Text
-	 */
-	Text findPreviousText() {
-		if (this.parentNode == null)
-			return null;
-		Node node = null;
-		if (this.nextNode != null)
-			node = this.nextNode.getPreviousSibling();
-		else
-			node = this.parentNode.getLastChild();
-		if (node == null || node.getNodeType() != Node.TEXT_NODE)
-			return null;
-		return (Text) node;
-	}
-
-	/**
-	 * findStartTag method
-	 * 
-	 * @return org.w3c.dom.Element
-	 * @param tagName
-	 *            java.lang.String
-	 */
-	Element findStartTag(String tagName, String rootName) {
-		if (tagName == null)
-			return null;
-
-		// check previous for empty content element
-		Node prev = null;
-		if (this.nextNode != null)
-			prev = this.nextNode.getPreviousSibling();
-		else if (this.parentNode != null)
-			prev = this.parentNode.getLastChild();
-		if (prev != null && prev.getNodeType() == Node.ELEMENT_NODE) {
-			ElementImpl element = (ElementImpl) prev;
-			if (!element.hasEndTag() && !element.isEmptyTag() && element.matchTagName(tagName))
-				return element;
-		}
-
-		for (Node parent = this.parentNode; parent != null; parent = parent.getParentNode()) {
-			if (parent.getNodeType() != Node.ELEMENT_NODE)
-				break;
-			ElementImpl element = (ElementImpl) parent;
-			if (element.matchTagName(tagName))
-				return element;
-			if (rootName != null && element.matchTagName(rootName))
-				break;
-		}
-
-		return null;
-	}
-
-	/**
-	 * getNextNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	Node getNextNode() {
-		return this.nextNode;
-	}
-
-	/**
-	 * getParentNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	Node getParentNode() {
-		return this.parentNode;
-	}
-
-	/**
-	 * getRootNode method
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	Node getRootNode() {
-		return this.rootNode;
-	}
-
-	/**
-	 * setLast method
-	 */
-	void setLast() {
-		if (this.parentNode == null)
-			return;
-		if (this.nextNode != null) {
-			Node prev = this.nextNode.getPreviousSibling();
-			if (prev == null || prev.getNodeType() != Node.ELEMENT_NODE)
-				return;
-			ElementImpl element = (ElementImpl) prev;
-			if (element.hasEndTag() || !element.isContainer() || element.isEmptyTag())
-				return;
-			setParentNode(prev);
-		}
-
-		// find last open parent
-		Node parent = this.parentNode;
-		Node last = parent.getLastChild();
-		while (last != null) {
-			if (last.getNodeType() != Node.ELEMENT_NODE)
-				break;
-			ElementImpl element = (ElementImpl) last;
-			if (element.hasEndTag() || !element.isContainer() || element.isEmptyTag())
-				break;
-			parent = element;
-			last = parent.getLastChild();
-		}
-		if (parent != this.parentNode)
-			setParentNode(parent);
-	}
-
-	/**
-	 * setNextNode method
-	 * 
-	 * @param nextNode
-	 *            org.w3c.dom.Node
-	 */
-	void setNextNode(Node nextNode) {
-		this.nextNode = nextNode;
-		if (nextNode == null)
-			return;
-		this.parentNode = nextNode.getParentNode();
-	}
-
-	/**
-	 * setParentNode method
-	 * 
-	 * @param parentNode
-	 *            org.w3c.dom.Node
-	 */
-	void setParentNode(Node parentNode) {
-		this.parentNode = parentNode;
-		this.nextNode = null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelImpl.java
deleted file mode 100644
index 4a41ef8..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelImpl.java
+++ /dev/null
@@ -1,877 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-import org.eclipse.wst.sse.core.AbstractStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLGenerator;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLModelNotifier;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.Logger;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * XMLModelImpl class
- */
-public class XMLModelImpl extends AbstractStructuredModel implements IStructuredDocumentListener, XMLModel, DOMImplementation {
-	private static String TRACE_PARSER_MANAGEMENT_EXCEPTION = "parserManagement"; //$NON-NLS-1$
-	private Object active = null;
-	protected DocumentImpl document = null;
-	private XMLGenerator generator = null;
-	private XMLModelNotifier notifier = null;
-	private XMLModelParser parser = null;
-	private boolean refresh = false;
-	private XMLModelUpdater updater = null;
-
-	/**
-	 * XMLModelImpl constructor
-	 */
-	public XMLModelImpl() {
-		super();
-		this.document = (DocumentImpl) internalCreateDocument();
-	}
-
-	/**
-	 * This API allows clients to declare that they are about to make a
-	 * "large" change to the model. This change might be in terms of content
-	 * or it might be in terms of the model id or base location.
-	 * 
-	 * Note that in the case of embedded calls, notification to listners is
-	 * sent only once.
-	 * 
-	 * Note that the client who is making these changes has the responsibility
-	 * to restore the models state once finished with the changes. See
-	 * getMemento and restoreState.
-	 * 
-	 * The method isModelStateChanging can be used by a client to determine if
-	 * the model is already in a change sequence.
-	 */
-	public void aboutToChangeModel() {
-		super.aboutToChangeModel();
-		// technically, no need to call beginChanging so often,
-		// since aboutToChangeModel can be nested.
-		// but will leave as is for this release.
-		// see modelChanged, and be sure stays coordinated there.
-		getModelNotifier().beginChanging();
-	}
-
-	public void aboutToReinitializeModel() {
-		XMLModelNotifier notifier = getModelNotifier();
-		notifier.cancelPending();
-		super.aboutToReinitializeModel();
-	}
-
-	/**
-	 * attrReplaced method
-	 * 
-	 * @param element
-	 *            org.w3c.dom.Element
-	 * @param newAttr
-	 *            org.w3c.dom.Attr
-	 * @param oldAttr
-	 *            org.w3c.dom.Attr
-	 */
-	protected void attrReplaced(Element element, Attr newAttr, Attr oldAttr) {
-		if (element == null)
-			return;
-		if (getActiveParser() == null) {
-			XMLModelUpdater updater = getModelUpdater();
-			setActive(updater);
-			updater.initialize();
-			updater.replaceAttr(element, newAttr, oldAttr);
-			setActive(null);
-		}
-		getModelNotifier().attrReplaced(element, newAttr, oldAttr);
-	}
-
-	/**
-	 * This API allows a client controlled way of notifying all ModelEvent
-	 * listners that the model has been changed. This method is a matched pair
-	 * to aboutToChangeModel, and must be called after aboutToChangeModel ...
-	 * or some listeners could be left waiting indefinitely for the changed
-	 * event. So, its suggested that changedModel always be in a finally
-	 * clause. Likewise, a client should never call changedModel without
-	 * calling aboutToChangeModel first.
-	 * 
-	 * In the case of embedded calls, the notification is just sent once.
-	 *  
-	 */
-	public void changedModel() {
-		// NOTE: the order of 'changedModel' and 'endChanging' is significant.
-		// By calling changedModel first, this basically decrements the
-		// "isChanging" counter
-		// in super class and when zero all listeners to model state events
-		// will be notified
-		// that the model has been changed. 'endChanging' will notify all
-		// deferred adapters.
-		// So, the significance of order is that adapters (and methods they
-		// call)
-		// can count on the state of model "isChanging" to be accurate.
-		// But, remember, that this means the "modelChanged" event can be
-		// received before all
-		// adapters have finished their processing.
-		// NOTE NOTE: The above note is obsolete in fact (though still states
-		// issue correctly).
-		// Due to popular demand, the order of these calls were reversed and
-		// behavior
-		// changed on 07/22/2004.
-		// 
-		// see also
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4302
-		// for motivation for this 'on verge of' call.
-		// this could be improved in future if notifier also used counting
-		// flag to avoid nested calls. If/when changed be sure to check if
-		// aboutToChangeModel needs any changes too.
-		if (isModelChangeStateOnVergeOfEnding()) {
-			// end lock before noticiation loop, since directly or indirectly
-			// we may be "called from foriegn code" during notification.
-			endLock();
-
-			// the notifier is what controls adaper notification, which
-			// should be sent out before the 'modelChanged' event.
-			getModelNotifier().endChanging();
-		}
-		// changedModel handles 'nesting', so only one event sent out
-		// when mulitple calls to 'aboutToChange/Changed'.
-		super.changedModel();
-		handleRefresh();
-	}
-
-	/**
-	 * childReplaced method
-	 * 
-	 * @param parentNode
-	 *            org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param oldChild
-	 *            org.w3c.dom.Node
-	 */
-	protected void childReplaced(Node parentNode, Node newChild, Node oldChild) {
-		if (parentNode == null)
-			return;
-		if (getActiveParser() == null) {
-			XMLModelUpdater updater = getModelUpdater();
-			setActive(updater);
-			updater.initialize();
-			updater.replaceChild(parentNode, newChild, oldChild);
-			setActive(null);
-		}
-		getModelNotifier().childReplaced(parentNode, newChild, oldChild);
-	}
-
-	/**
-	 * Creates an XML <code>Document</code> object of the specified type
-	 * with its document element. HTML-only DOM implementations do not need to
-	 * implement this method.
-	 * 
-	 * @param namespaceURIThe
-	 *            namespace URI of the document element to create.
-	 * @param qualifiedNameThe
-	 *            qualified name of the document element to be created.
-	 * @param doctypeThe
-	 *            type of document to be created or <code>null</code>. When
-	 *            <code>doctype</code> is not <code>null</code>, its
-	 *            <code>Node.ownerDocument</code> attribute is set to the
-	 *            document being created.
-	 * @return A new <code>Document</code> object.
-	 * @exception DOMException
-	 *                INVALID_CHARACTER_ERR: Raised if the specified qualified
-	 *                name contains an illegal character. <br>
-	 *                NAMESPACE_ERR: Raised if the <code>qualifiedName</code>
-	 *                is malformed, if the <code>qualifiedName</code> has a
-	 *                prefix and the <code>namespaceURI</code> is
-	 *                <code>null</code>, or if the
-	 *                <code>qualifiedName</code> has a prefix that is "xml"
-	 *                and the <code>namespaceURI</code> is different from "
-	 *                http://www.w3.org/XML/1998/namespace" .<br>
-	 *                WRONG_DOCUMENT_ERR: Raised if <code>doctype</code> has
-	 *                already been used with a different document or was
-	 *                created from a different implementation.
-	 * @since DOM Level 2
-	 */
-	public Document createDocument(String namespaceURI, String qualifiedName, DocumentType doctype) throws DOMException {
-		return null;
-	}
-
-	/**
-	 * Creates an empty <code>DocumentType</code> node. Entity declarations
-	 * and notations are not made available. Entity reference expansions and
-	 * default attribute additions do not occur. It is expected that a future
-	 * version of the DOM will provide a way for populating a
-	 * <code>DocumentType</code>.<br>
-	 * HTML-only DOM implementations do not need to implement this method.
-	 * 
-	 * @param qualifiedNameThe
-	 *            qualified name of the document type to be created.
-	 * @param publicIdThe
-	 *            external subset public identifier.
-	 * @param systemIdThe
-	 *            external subset system identifier.
-	 * @return A new <code>DocumentType</code> node with
-	 *         <code>Node.ownerDocument</code> set to <code>null</code>.
-	 * @exception DOMException
-	 *                INVALID_CHARACTER_ERR: Raised if the specified qualified
-	 *                name contains an illegal character. <br>
-	 *                NAMESPACE_ERR: Raised if the <code>qualifiedName</code>
-	 *                is malformed.
-	 * @since DOM Level 2
-	 */
-	public DocumentType createDocumentType(String qualifiedName, String publicId, String systemId) throws DOMException {
-		DocumentTypeImpl documentType = new DocumentTypeImpl();
-		documentType.setName(qualifiedName);
-		documentType.setPublicId(publicId);
-		documentType.setSystemId(systemId);
-		return documentType;
-	}
-
-	/**
-	 */
-	protected void documentTypeChanged() {
-		if (this.refresh)
-			return;
-		// unlike 'resfresh', 'reinitialize' finishes loop
-		// and flushes remaining notification que before
-		// actually reinitializing.
-		// ISSUE: should reinit be used instead of handlerefresh?
-		// this.setReinitializeNeeded(true);
-		if (this.active != null || getModelNotifier().isChanging())
-			return; // defer
-		handleRefresh();
-	}
-
-	protected void editableChanged(Node node) {
-		if (node != null) {
-			getModelNotifier().editableChanged(node);
-		}
-	}
-
-	/**
-	 */
-	protected void endTagChanged(Element element) {
-		if (element == null)
-			return;
-		if (getActiveParser() == null) {
-			XMLModelUpdater updater = getModelUpdater();
-			setActive(updater);
-			updater.initialize();
-			updater.changeEndTag(element);
-			setActive(null);
-		}
-		getModelNotifier().endTagChanged(element);
-	}
-
-	/**
-	 */
-	private XMLModelParser getActiveParser() {
-		if (this.parser == null)
-			return null;
-		if (this.parser != this.active)
-			return null;
-		return this.parser;
-	}
-
-	/**
-	 */
-	private XMLModelUpdater getActiveUpdater() {
-		if (this.updater == null)
-			return null;
-		if (this.updater != this.active)
-			return null;
-		return this.updater;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (Document.class.equals(adapter))
-			return getDocument();
-		return super.getAdapter(adapter);
-	}
-
-	/**
-	 * getDocument method
-	 * 
-	 * @return XMLDocument
-	 */
-	public XMLDocument getDocument() {
-		return this.document;
-	}
-
-	public XMLGenerator getGenerator() {
-		if (this.generator == null) {
-			this.generator = XMLGeneratorImpl.getInstance();
-		}
-		return this.generator;
-	}
-
-	/**
-	 * getNode method
-	 * 
-	 * @param offset
-	 *            int
-	 */
-	public IndexedRegion getIndexedRegion(int offset) {
-		if (this.document == null)
-			return null;
-		// search in document children
-		XMLNode parent = null;
-		int length = this.document.getEndOffset();
-		if (offset * 2 < length) {
-			// search from the first
-			XMLNode child = (XMLNode) this.document.getFirstChild();
-			while (child != null) {
-				if (child.getEndOffset() <= offset) {
-					child = (XMLNode) child.getNextSibling();
-					continue;
-				}
-				if (child.getStartOffset() > offset) {
-					break;
-				}
-				IStructuredDocumentRegion startStructuredDocumentRegion = child.getStartStructuredDocumentRegion();
-				if (startStructuredDocumentRegion != null) {
-					if (startStructuredDocumentRegion.getEnd() > offset)
-						return child;
-				}
-				IStructuredDocumentRegion endStructuredDocumentRegion = child.getEndStructuredDocumentRegion();
-				if (endStructuredDocumentRegion != null) {
-					if (endStructuredDocumentRegion.getStart() <= offset)
-						return child;
-				}
-				// dig more
-				parent = child;
-				child = (XMLNode) parent.getFirstChild();
-			}
-		} else {
-			// search from the last
-			XMLNode child = (XMLNode) this.document.getLastChild();
-			while (child != null) {
-				if (child.getStartOffset() > offset) {
-					child = (XMLNode) child.getPreviousSibling();
-					continue;
-				}
-				if (child.getEndOffset() <= offset) {
-					break;
-				}
-				IStructuredDocumentRegion startStructuredDocumentRegion = child.getStartStructuredDocumentRegion();
-				if (startStructuredDocumentRegion != null) {
-					if (startStructuredDocumentRegion.getEnd() > offset)
-						return child;
-				}
-				IStructuredDocumentRegion endStructuredDocumentRegion = child.getEndStructuredDocumentRegion();
-				if (endStructuredDocumentRegion != null) {
-					if (endStructuredDocumentRegion.getStart() <= offset)
-						return child;
-				}
-				// dig more
-				parent = child;
-				child = (XMLNode) parent.getLastChild();
-			}
-		}
-		return parent;
-	}
-
-	/**
-	 */
-	public XMLModelNotifier getModelNotifier() {
-		if (this.notifier == null) {
-			this.notifier = new XMLModelNotifierImpl();
-		}
-		return this.notifier;
-	}
-
-	/**
-	 */
-	private XMLModelParser getModelParser() {
-		if (this.parser == null) {
-			this.parser = new XMLModelParser(this);
-		}
-		return this.parser;
-	}
-
-	/**
-	 */
-	private XMLModelUpdater getModelUpdater() {
-		if (this.updater == null) {
-			this.updater = new XMLModelUpdater(this);
-		}
-		return this.updater;
-	}
-
-	/**
-	 */
-	private void handleRefresh() {
-		if (!this.refresh)
-			return;
-		XMLModelNotifier notifier = getModelNotifier();
-		boolean isChanging = notifier.isChanging();
-		if (!isChanging)
-			notifier.beginChanging(true);
-		XMLModelParser parser = getModelParser();
-		setActive(parser);
-		this.document.removeChildNodes();
-		try {
-			parser.replaceStructuredDocumentRegions(getStructuredDocument().getRegionList(), null);
-		} catch (Exception ex) {
-			Logger.logException(ex);
-		} finally {
-			setActive(null);
-			if (!isChanging)
-				notifier.endChanging();
-			this.refresh = false;
-		}
-	}
-
-	/**
-	 * Test if the DOM implementation implements a specific feature.
-	 * 
-	 * @param featureThe
-	 *            name of the feature to test (case-insensitive). The values
-	 *            used by DOM features are defined throughout the DOM Level 2
-	 *            specifications and listed in the section. The name must be
-	 *            an XML name. To avoid possible conflicts, as a convention,
-	 *            names referring to features defined outside the DOM
-	 *            specification should be made unique by reversing the name of
-	 *            the Internet domain name of the person (or the organization
-	 *            that the person belongs to) who defines the feature,
-	 *            component by component, and using this as a prefix. For
-	 *            instance, the W3C SVG Working Group defines the feature
-	 *            "org.w3c.dom.svg".
-	 * @param versionThis
-	 *            is the version number of the feature to test. In Level 2,
-	 *            the string can be either "2.0" or "1.0". If the version is
-	 *            not specified, supporting any version of the feature causes
-	 *            the method to return <code>true</code>.
-	 * @return <code>true</code> if the feature is implemented in the
-	 *         specified version, <code>false</code> otherwise.
-	 */
-	public boolean hasFeature(String feature, String version) {
-		if (feature == null)
-			return false;
-		if (version != null) {
-			if (!version.equals("1.0") && !version.equals("2.0")) { //$NON-NLS-2$//$NON-NLS-1$
-				return false;
-			}
-		}
-		if (feature.equalsIgnoreCase("Core")) //$NON-NLS-1$
-			return true; //$NON-NLS-1$
-		if (feature.equalsIgnoreCase("XML")) //$NON-NLS-1$
-			return true; //$NON-NLS-1$
-		return false;
-	}
-
-	/**
-	 * createDocument method
-	 * 
-	 * @return org.w3c.dom.Document
-	 */
-	protected Document internalCreateDocument() {
-		DocumentImpl document = new DocumentImpl();
-		document.setModel(this);
-		return document;
-	}
-
-	boolean isReparsing() {
-		return (active != null);
-	}
-
-	/**
-	 * nameChanged method
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	protected void nameChanged(Node node) {
-		if (node == null)
-			return;
-		if (getActiveParser() == null) {
-			XMLModelUpdater updater = getModelUpdater();
-			setActive(updater);
-			updater.initialize();
-			updater.changeName(node);
-			setActive(null);
-		}
-		// notification is already sent
-	}
-
-	/**
-	 * newModel method
-	 * 
-	 * @param structuredDocumentEvent
-	 *            com.ibm.sed.structuredDocument.impl.events.NewModelEvent
-	 */
-	public void newModel(NewDocumentEvent structuredDocumentEvent) {
-		if (structuredDocumentEvent == null)
-			return;
-		IStructuredDocument structuredDocument = structuredDocumentEvent.getStructuredDocument();
-		if (structuredDocument == null)
-			return;
-		// this should not happen, but for the case
-		if (structuredDocument != getStructuredDocument())
-			setStructuredDocument(structuredDocument);
-		IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList();
-		if (flatNodes == null)
-			return;
-		if (this.document == null)
-			return; // being constructed
-		XMLModelUpdater updater = getActiveUpdater();
-		if (updater != null) { // being updated
-			try {
-				updater.replaceStructuredDocumentRegions(flatNodes, null);
-			} catch (Exception ex) {
-				Logger.logException(ex);
-				this.refresh = true;
-				handleRefresh();
-			} finally {
-				setActive(null);
-			}
-			//			// for new model, we might need to
-			//			// re-init, e.g. if someone calls setText
-			//			// on an existing model
-			//          checkForReinit();
-			return;
-		}
-		XMLModelNotifier notifier = getModelNotifier();
-		boolean isChanging = notifier.isChanging();
-		// call even if changing to notify doing new model
-		getModelNotifier().beginChanging(true);
-		XMLModelParser parser = getModelParser();
-		setActive(parser);
-		this.document.removeChildNodes();
-		try {
-			parser.replaceStructuredDocumentRegions(flatNodes, null);
-		} catch (Exception ex) {
-			Logger.logException(ex);
-			// meaningless to refresh, because the result might be the same
-		} finally {
-			setActive(null);
-			if (!isChanging) {
-				getModelNotifier().endChanging();
-			}
-			// ignore refresh
-			this.refresh = false;
-		}
-		//			checkForReinit();
-	}
-
-	/**
-	 */
-	public void noChange(NoChangeEvent event) {
-		XMLModelUpdater updater = getActiveUpdater();
-		if (updater != null) { // being updated
-			// cleanup updater staffs
-			try {
-				updater.replaceStructuredDocumentRegions(null, null);
-			} catch (Exception ex) {
-				Logger.logException(ex);
-				this.refresh = true;
-				handleRefresh();
-			} finally {
-				setActive(null);
-			}
-			// I guess no chanage means the model could not need re-init
-			//checkForReinit();
-			return;
-		}
-	}
-
-	/**
-	 * nodesReplaced method
-	 * 
-	 * @param event
-	 *            com.ibm.sed.structuredDocument.impl.events.NodesReplacedElement
-	 */
-	public void nodesReplaced(StructuredDocumentRegionsReplacedEvent event) {
-		if (event == null)
-			return;
-		IStructuredDocumentRegionList oldStructuredDocumentRegions = event.getOldStructuredDocumentRegions();
-		IStructuredDocumentRegionList newStructuredDocumentRegions = event.getNewStructuredDocumentRegions();
-		XMLModelUpdater updater = getActiveUpdater();
-		if (updater != null) { // being updated
-			try {
-				updater.replaceStructuredDocumentRegions(newStructuredDocumentRegions, oldStructuredDocumentRegions);
-			} catch (Exception ex) {
-				if (ex.getClass().equals(StructuredDocumentRegionManagementException.class)) {
-					Logger.traceException(TRACE_PARSER_MANAGEMENT_EXCEPTION, ex);
-				} else {
-					Logger.logException(ex);
-				}
-				this.refresh = true;
-				handleRefresh();
-			} finally {
-				setActive(null);
-			}
-			//checkForReinit();
-			return;
-		}
-		XMLModelNotifier notifier = getModelNotifier();
-		boolean isChanging = notifier.isChanging();
-		if (!isChanging)
-			notifier.beginChanging();
-		XMLModelParser parser = getModelParser();
-		setActive(parser);
-		try {
-			parser.replaceStructuredDocumentRegions(newStructuredDocumentRegions, oldStructuredDocumentRegions);
-		} catch (Exception ex) {
-			Logger.logException(ex);
-			this.refresh = true;
-			handleRefresh();
-		} finally {
-			setActive(null);
-			if (!isChanging) {
-				notifier.endChanging();
-				handleRefresh();
-			}
-		}
-
-	}
-
-	/**
-	 * regionChanged method
-	 * 
-	 * @param structuredDocumentEvent
-	 *            com.ibm.sed.structuredDocument.impl.events.RegionChangedEvent
-	 */
-	public void regionChanged(RegionChangedEvent event) {
-		if (event == null)
-			return;
-		IStructuredDocumentRegion flatNode = event.getStructuredDocumentRegion();
-		if (flatNode == null)
-			return;
-		ITextRegion region = event.getRegion();
-		if (region == null)
-			return;
-		XMLModelUpdater updater = getActiveUpdater();
-		if (updater != null) { // being updated
-			try {
-				updater.changeRegion(flatNode, region);
-			} catch (Exception ex) {
-				Logger.logException(ex);
-				this.refresh = true;
-				handleRefresh();
-			} finally {
-				setActive(null);
-			}
-			//			checkForReinit();
-			return;
-		}
-		XMLModelNotifier notifier = getModelNotifier();
-		boolean isChanging = notifier.isChanging();
-		if (!isChanging)
-			notifier.beginChanging();
-		XMLModelParser parser = getModelParser();
-		setActive(parser);
-		try {
-			parser.changeRegion(flatNode, region);
-		} catch (Exception ex) {
-			Logger.logException(ex);
-			this.refresh = true;
-			handleRefresh();
-		} finally {
-			setActive(null);
-			if (!isChanging) {
-				notifier.endChanging();
-				handleRefresh();
-			}
-		}
-		//			checkForReinit();
-	}
-
-	/**
-	 * regionsReplaced method
-	 * 
-	 * @param event
-	 *            com.ibm.sed.structuredDocument.impl.events.RegionReplacedEvent
-	 */
-	public void regionsReplaced(RegionsReplacedEvent event) {
-		if (event == null)
-			return;
-		IStructuredDocumentRegion flatNode = event.getStructuredDocumentRegion();
-		if (flatNode == null)
-			return;
-		ITextRegionList oldRegions = event.getOldRegions();
-		ITextRegionList newRegions = event.getNewRegions();
-		if (oldRegions == null && newRegions == null)
-			return;
-		XMLModelUpdater updater = getActiveUpdater();
-		if (updater != null) { // being updated
-			try {
-				updater.replaceRegions(flatNode, newRegions, oldRegions);
-			} catch (Exception ex) {
-				Logger.logException(ex);
-				this.refresh = true;
-				handleRefresh();
-			} finally {
-				setActive(null);
-			}
-			//			checkForReinit();
-			return;
-		}
-		XMLModelNotifier notifier = getModelNotifier();
-		boolean isChanging = notifier.isChanging();
-		if (!isChanging)
-			notifier.beginChanging();
-		XMLModelParser parser = getModelParser();
-		setActive(parser);
-		try {
-			parser.replaceRegions(flatNode, newRegions, oldRegions);
-		} catch (Exception ex) {
-			Logger.logException(ex);
-			this.refresh = true;
-			handleRefresh();
-		} finally {
-			setActive(null);
-			if (!isChanging) {
-				notifier.endChanging();
-				handleRefresh();
-			}
-		}
-		//			checkForReinit();
-	}
-
-	/**
-	 */
-	public void releaseFromEdit() {
-		if (!isShared()) {
-			//this.document.releaseStyleSheets();
-			this.document.releaseDocumentType();
-		}
-		super.releaseFromEdit();
-	}
-
-	/**
-	 */
-	public void releaseFromRead() {
-		if (!isShared()) {
-			//this.document.releaseStyleSheets();
-			this.document.releaseDocumentType();
-		}
-		super.releaseFromRead();
-	}
-
-	/**
-	 */
-	private void setActive(Object active) {
-		this.active = active;
-		// side effect
-		// when ever becomes active, besure tagNameCache is cleared
-		// (and not used)
-		if (active == null) {
-			document.activateTagNameCache(true);
-		} else {
-			document.activateTagNameCache(false);
-		}
-
-	}
-
-	/**
-	 */
-	public void setGenerator(XMLGenerator generator) {
-		this.generator = generator;
-	}
-
-	/**
-	 */
-	public void setModelNotifier(XMLModelNotifier notifier) {
-		this.notifier = notifier;
-	}
-
-	/**
-	 */
-	public void setModelParser(XMLModelParser parser) {
-		this.parser = parser;
-	}
-
-	/**
-	 */
-	public void setModelUpdater(XMLModelUpdater updater) {
-		this.updater = updater;
-	}
-
-	/**
-	 * setStructuredDocument method
-	 * 
-	 * @param structuredDocument
-	 *            com.ibm.sed.structuredDocument.IStructuredDocument
-	 */
-	public void setStructuredDocument(IStructuredDocument structuredDocument) {
-		IStructuredDocument oldStructuredDocument = super.getStructuredDocument();
-		if (structuredDocument == oldStructuredDocument)
-			return; // nothing to do
-		if (oldStructuredDocument != null)
-			oldStructuredDocument.removeDocumentChangingListener(this);
-		super.setStructuredDocument(structuredDocument);
-		if (structuredDocument.getLength() > 0) {
-			newModel(new NewDocumentEvent(structuredDocument, this));
-		}
-		if (structuredDocument != null)
-			structuredDocument.addDocumentChangingListener(this);
-	}
-
-	/**
-	 */
-	protected void startTagChanged(Element element) {
-		if (element == null)
-			return;
-		if (getActiveParser() == null) {
-			XMLModelUpdater updater = getModelUpdater();
-			setActive(updater);
-			updater.initialize();
-			updater.changeStartTag(element);
-			setActive(null);
-		}
-		getModelNotifier().startTagChanged(element);
-	}
-
-	/**
-	 * valueChanged method
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	protected void valueChanged(Node node) {
-		if (node == null)
-			return;
-		if (getActiveParser() == null) {
-			XMLModelUpdater updater = getModelUpdater();
-			setActive(updater);
-			updater.initialize();
-			updater.changeValue(node);
-			setActive(null);
-		}
-		getModelNotifier().valueChanged(node);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelNotifierImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelNotifierImpl.java
deleted file mode 100644
index e2849d7..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelNotifierImpl.java
+++ /dev/null
@@ -1,469 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.XMLModelNotifier;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.Logger;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class XMLModelNotifierImpl implements XMLModelNotifier {
-
-	/* end: for debugging only */
-	private class NotifyEvent {
-		Object changedFeature;
-		boolean discarded;
-		Object newValue;
-		// note: don't initialize instance variables, since
-		// that causes double assignments, and lots of these are created.
-		INodeNotifier notifier;
-		Object oldValue;
-		int pos;
-		String reason;
-		int type;
-
-		NotifyEvent(INodeNotifier notifier, int type, Object changedFeature, Object oldValue, Object newValue, int pos) {
-			this.notifier = notifier;
-			this.type = type;
-			this.changedFeature = changedFeature;
-			this.oldValue = oldValue;
-			this.newValue = newValue;
-			this.pos = pos;
-			this.reason = ""; //$NON-NLS-1$
-		}
-	}
-
-	private final static String ADDED_THEN_REMOVED = "Discard: Added then removed rule"; //$NON-NLS-1$
-	private final static boolean fOptimizeDeferred = true;
-	private final static boolean fOptimizeDeferredAccordingToParentAdded = true;
-	private final static boolean fOptimizeDeferredAccordingToParentRemoved = true;
-	private final static String PARENT_IS_ADDED = "Disarded: Parent has just been added"; //$NON-NLS-1$
-	/* start: for debugging only */
-	private final static String PARENT_IS_REMOVED_TOO = "Discard: Parent was removed too"; //$NON-NLS-1$
-	private final static String PARENT_IS_REPARENTED = "Not Discard: Parent was removed so this implies reparenting"; //$NON-NLS-1$
-	private Node changedRoot = null;
-
-	private boolean changing = false;
-	private boolean doingNewModel = false;
-	private Vector events = null;
-	private boolean flushing = false;
-
-	/**
-	 */
-	public XMLModelNotifierImpl() {
-		super();
-	}
-
-	/**
-	 * attrReplaced method
-	 * 
-	 * @param element
-	 *            org.w3c.dom.Element
-	 * @param newAttr
-	 *            org.w3c.dom.Attr
-	 * @param oldAttr
-	 *            org.w3c.dom.Attr
-	 */
-	public void attrReplaced(Element element, Attr newAttr, Attr oldAttr) {
-		if (element == null)
-			return;
-		Attr attr = null;
-		String oldValue = null;
-		String newValue = null;
-		if (oldAttr != null) {
-			attr = oldAttr;
-			oldValue = oldAttr.getValue();
-		}
-		if (newAttr != null) {
-			attr = newAttr;
-			newValue = newAttr.getValue();
-		}
-		XMLNode notifier = (XMLNode) element;
-		int offset = notifier.getStartOffset();
-		notify(notifier, INodeNotifier.CHANGE, attr, oldValue, newValue, offset);
-		propertyChanged(notifier);
-	}
-
-	/**
-	 */
-	public void beginChanging() {
-		this.changing = true;
-	}
-
-	/**
-	 */
-	public void beginChanging(boolean newModel) {
-		beginChanging();
-		this.doingNewModel = newModel;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.xml.XMLModelNotifier#cancelPending()
-	 */
-	public void cancelPending() {
-		// we don't want to change the size of this array, since
-		// the array may be being processed, in the defferred notification
-		// loop, but we can signal that all
-		// should be discarded, so any remaining ones will be ignored.
-		if (this.events != null) {
-			Iterator iterator = this.events.iterator();
-			while (iterator.hasNext()) {
-				NotifyEvent event = (NotifyEvent) iterator.next();
-				event.discarded = true;
-			}
-		}
-		// this cancel is presumably being called as a function of
-		// "reinitiailization" so we can ignore changes to the
-		// old root, and changes to the new one will be triggered during
-		// reinitialization.
-		changedRoot = null;
-	}
-
-	/**
-	 * childReplaced method
-	 * 
-	 * @param parentNode
-	 *            org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param oldChild
-	 *            org.w3c.dom.Node
-	 */
-	public void childReplaced(Node parentNode, Node newChild, Node oldChild) {
-		if (parentNode == null)
-			return;
-		XMLNode notifier = (XMLNode) parentNode;
-		int type = INodeNotifier.CHANGE;
-		if (newChild == null)
-			type = INodeNotifier.REMOVE;
-		else if (oldChild == null)
-			type = INodeNotifier.ADD;
-		int offset = notifier.getStartOffset();
-		notify(notifier, type, oldChild, oldChild, newChild, offset);
-		structureChanged(notifier);
-	}
-
-	public void editableChanged(Node node) {
-		if (node == null)
-			return;
-		XMLNode notifier = (XMLNode) node;
-		int offset = notifier.getStartOffset();
-		notify(notifier, INodeNotifier.CHANGE, null, null, null, offset);
-		propertyChanged(notifier);
-	}
-
-	/**
-	 */
-	public void endChanging() {
-		this.doingNewModel = false;
-		if (!this.changing)
-			return; // avoid nesting calls
-		notifyDeferred();
-		if (this.changedRoot != null) {
-			notifyStructureChanged(this.changedRoot);
-			if (Debug.debugNotifyDeferred) {
-				String p = this.changedRoot.getNodeName();
-				System.out.println("Deferred STRUCUTRE_CHANGED: " + p); //$NON-NLS-1$
-			}
-			this.changedRoot = null;
-		}
-		this.changing = false;
-	}
-
-	/**
-	 */
-	public void endTagChanged(Element element) {
-		if (element == null)
-			return;
-		XMLNode notifier = (XMLNode) element;
-		int offset = notifier.getStartOffset();
-		notify(notifier, INodeNotifier.CHANGE, null, null, null, offset);
-		propertyChanged(element);
-	}
-
-	/**
-	 */
-	public boolean hasChanged() {
-		return (this.events != null);
-	}
-
-	/**
-	 */
-	public boolean isChanging() {
-		return this.changing;
-	}
-
-	/**
-	 */
-	private void notify(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (notifier == null)
-			return;
-		if (this.changing && !this.flushing) {
-			// defer notification
-			if (this.events == null)
-				this.events = new Vector();
-			// we do not defer anything if we are doing a new Model,
-			// except for the document event, since all others are
-			// trivial and not needed at that initial point.
-			// But even for that one document event, in the new model case,
-			// it is still important to defer it.
-			if ((!doingNewModel) || (((Node) notifier).getNodeType() == Node.DOCUMENT_NODE)) {
-				this.events.addElement(new NotifyEvent(notifier, eventType, changedFeature, oldValue, newValue, pos));
-			}
-			return;
-		}
-		try {
-			// Its important to "keep going" if exception occurs, since this
-			// notification
-			// comes in between "about to change" and "changed" events. We do
-			// log, however,
-			// since would indicate a program error.
-			notifier.notify(eventType, changedFeature, oldValue, newValue, pos);
-		} catch (Exception e) {
-			Logger.logException("A structured model client threw following exception during adapter notification (" + INodeNotifier.EVENT_TYPE_STRINGS[eventType] + " )", e); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 */
-	private void notifyDeferred() {
-		if (this.events == null)
-			return;
-		if (this.flushing)
-			return;
-		this.flushing = true; // force notification
-		int count = this.events.size();
-		for (int i = 0; i < count; i++) {
-			NotifyEvent event = (NotifyEvent) this.events.elementAt(i);
-			if (event == null)
-				continue; // error
-			if (event.discarded)
-				continue;
-			if (!doingNewModel && fOptimizeDeferred) {
-				// check redundant events (no need to check if doing NewModel,
-				// since
-				// shouldn't be redunancies)
-				if (event.type == INodeNotifier.ADD) {
-					for (int n = i + 1; n < count; n++) {
-						NotifyEvent next = (NotifyEvent) this.events.elementAt(n);
-						if (next == null)
-							continue; // error
-						if (next.type == INodeNotifier.REMOVE && next.oldValue == event.newValue) {
-							// Added then removed later, discard both
-							event.discarded = true;
-							next.discarded = true;
-							if (Debug.debugNotifyDeferred) {
-								event.reason = event.reason + ADDED_THEN_REMOVED + "(see " + n + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-								next.reason = next.reason + ADDED_THEN_REMOVED + "(see " + i + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-							}
-							break;
-						}
-					}
-					if (event.discarded)
-						continue;
-					if (fOptimizeDeferredAccordingToParentAdded) {
-						for (int p = 0; p < i; p++) {
-							NotifyEvent prev = (NotifyEvent) this.events.elementAt(p);
-							if (prev == null)
-								continue; // error
-							if (prev.type == INodeNotifier.REMOVE && prev.oldValue == event.notifier) {
-								// parent is reparented, do not discard
-								if (Debug.debugNotifyDeferred) {
-									event.reason = event.reason + PARENT_IS_REPARENTED + "(see " + p + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-								}
-								break;
-							} else if (prev.type == INodeNotifier.ADD && prev.newValue == event.notifier) {
-								// parent has been added, discard this
-								event.discarded = true;
-								if (Debug.debugNotifyDeferred) {
-									event.reason = event.reason + PARENT_IS_ADDED + "(see " + p + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-								}
-								break;
-							}
-						}
-						if (event.discarded)
-							continue;
-					}
-				} else if (event.type == INodeNotifier.REMOVE) {
-					if (fOptimizeDeferredAccordingToParentRemoved) {
-						for (int n = i + 1; n < count; n++) {
-							NotifyEvent next = (NotifyEvent) this.events.elementAt(n);
-							if (next == null)
-								continue; // error
-							if (next.type == INodeNotifier.REMOVE) {
-								if (next.oldValue == event.notifier) {
-									// parent will be removed, discard this
-									event.discarded = true;
-									if (Debug.debugNotifyDeferred) {
-										event.reason = event.reason + PARENT_IS_REMOVED_TOO + "(see " + n + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-									}
-									break;
-								}
-							}
-						}
-						if (event.discarded)
-							continue;
-					}
-				}
-			}
-			notify(event.notifier, event.type, event.changedFeature, event.oldValue, event.newValue, event.pos);
-		}
-		if (Debug.debugNotifyDeferred) {
-			for (int l = 0; l < count; l++) {
-				NotifyEvent event = (NotifyEvent) this.events.elementAt(l);
-				Object o = null;
-				String t = null;
-				if (event.type == INodeNotifier.ADD) {
-					o = event.newValue;
-					t = " + "; //$NON-NLS-1$
-				} else if (event.type == INodeNotifier.REMOVE) {
-					o = event.oldValue;
-					t = " - "; //$NON-NLS-1$
-				}
-				if (o instanceof Element) {
-					String p = ((Node) event.notifier).getNodeName();
-					String c = ((Node) o).getNodeName();
-					String d = (event.discarded ? "! " : "  "); //$NON-NLS-1$ //$NON-NLS-2$
-					System.out.println(d + p + t + c);
-				}
-			}
-		}
-		this.flushing = false;
-		this.events = null;
-	}
-
-	/**
-	 */
-	private void notifyStructureChanged(Node root) {
-		if (root == null)
-			return;
-		INodeNotifier notifier = (INodeNotifier) root;
-		try {
-			// Its important to "keep going" if exception occurs, since this
-			// notification
-			// comes in between "about to change" and "changed" events. We do
-			// log, however,
-			// since would indicate a program error.
-			notifier.notify(INodeNotifier.STRUCTURE_CHANGED, null, null, null, -1);
-		} catch (Exception e) {
-			Logger.logException("A structured model client threw following exception during adapter notification (" + INodeNotifier.EVENT_TYPE_STRINGS[INodeNotifier.STRUCTURE_CHANGED] + " )", e); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-	}
-
-	/**
-	 */
-	public void propertyChanged(Node node) {
-	}
-
-	/**
-	 * @param node
-	 */
-	private void setCommonRootIfNeeded(Node node) {
-		// defer notification
-		if (this.changedRoot == null) {
-			this.changedRoot = node;
-		} else {
-			// tiny optimization: if previous commonAncestor (changedRoot) is
-			// already 'document',
-			// or if already equal to this 'node',
-			// then no need to re-calculate
-			if (changedRoot.getNodeType() != Node.DOCUMENT_NODE && changedRoot != node) {
-				Node common = ((NodeImpl) this.changedRoot).getCommonAncestor(node);
-				if (common != null)
-					this.changedRoot = common;
-				else
-					this.changedRoot = node;
-			}
-		}
-	}
-
-	/**
-	 */
-	public void startTagChanged(Element element) {
-		if (element == null)
-			return;
-		XMLNode notifier = (XMLNode) element;
-		int offset = notifier.getStartOffset();
-		notify(notifier, INodeNotifier.CHANGE, null, null, null, offset);
-		propertyChanged(element);
-	}
-
-	/**
-	 */
-	public void structureChanged(Node node) {
-		if (node == null)
-			return;
-		if (isChanging()) {
-			setCommonRootIfNeeded(node);
-			if (Debug.debugNotifyDeferred) {
-				String p = this.changedRoot.getNodeName();
-				System.out.println("requested STRUCUTRE_CHANGED: " + p); //$NON-NLS-1$
-			}
-			return;
-		}
-		if (Debug.debugNotifyDeferred) {
-			String p = node.getNodeName();
-			System.out.println("STRUCUTRE_CHANGED: " + p); //$NON-NLS-1$
-		}
-		notifyStructureChanged(node);
-	}
-
-	/**
-	 * valueChanged method
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	public void valueChanged(Node node) {
-		if (node == null)
-			return;
-		XMLNode notifier = null;
-		if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			Attr attr = (Attr) node;
-			notifier = (XMLNode) attr.getOwnerElement();
-			// TODO_dmw: experimental: changed 06/29/2004 to send "strucuture
-			// changed" even for attribute value changes
-			// there are pros and cons to considering attribute value
-			// "structure changed". Will (re)consider
-			// setCommonRootIfNeeded(notifier);
-			if (notifier == null)
-				return;
-			String value = attr.getValue();
-			int offset = notifier.getStartOffset();
-			notify(notifier, INodeNotifier.CHANGE, attr, null, value, offset);
-		} else {
-			// note: we do not send structured changed event for content
-			// changed
-			notifier = (XMLNode) node;
-			String value = node.getNodeValue();
-			int offset = notifier.getStartOffset();
-			notify(notifier, INodeNotifier.CHANGE, null, null, value, offset);
-			if (node.getNodeType() != Node.ELEMENT_NODE) {
-				XMLNode parent = (XMLNode) node.getParentNode();
-				if (parent != null) {
-					notify(parent, INodeNotifier.CONTENT_CHANGED, node, null, value, offset);
-				}
-			}
-		}
-		propertyChanged(notifier);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelParser.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelParser.java
deleted file mode 100644
index 7d64743..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelParser.java
+++ /dev/null
@@ -1,2365 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.commentelement.impl.CommentElementConfiguration;
-import org.eclipse.wst.xml.core.commentelement.impl.CommentElementRegistry;
-import org.eclipse.wst.xml.core.document.JSPTag;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-
-/**
- * XMLModelParser
- */
-public class XMLModelParser implements org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts {
-	private ModelParserAdapter adapter = null;
-	private XMLModelContext context = null;
-	private DocumentImpl document = null;
-
-	private XMLModelImpl model = null;
-
-	/**
-	 */
-	protected XMLModelParser(XMLModelImpl model) {
-		super();
-
-		if (model != null) {
-			this.model = model;
-			this.document = (DocumentImpl) model.getDocument();
-			if (this.document != null) {
-				this.adapter = (ModelParserAdapter) this.document.getAdapterFor(ModelParserAdapter.class);
-			}
-		}
-	}
-
-	/**
-	 */
-	protected boolean canBeImplicitTag(Element element) {
-		if (this.adapter != null) {
-			return this.adapter.canBeImplicitTag(element);
-		}
-		return false;
-	}
-
-	/**
-	 */
-	protected boolean canBeImplicitTag(Element element, Node child) {
-		if (this.adapter != null) {
-			return this.adapter.canBeImplicitTag(element, child);
-		}
-		return false;
-	}
-
-	/**
-	 */
-	protected boolean canContain(Element element, Node child) {
-		if (element == null || child == null)
-			return false;
-		ElementImpl impl = (ElementImpl) element;
-		if (impl.isEndTag())
-			return false; // invalid (floating) end tag
-		if (!impl.isContainer())
-			return false;
-		if (child.getNodeType() != Node.TEXT_NODE) {
-			if (impl.isJSPContainer() || impl.isCDATAContainer()) {
-				// accepts only Text child
-				return false;
-			}
-		}
-		if (this.adapter != null) {
-			return this.adapter.canContain(element, child);
-		}
-		return true;
-	}
-
-	/**
-	 */
-	private void changeAttrEqual(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		int offset = flatNode.getStart();
-		if (offset < 0)
-			return;
-		NodeImpl root = (NodeImpl) this.context.getRootNode();
-		if (root == null)
-			return;
-		Node node = root.getNodeAt(offset);
-		if (node == null)
-			return;
-		if (node.getNodeType() != Node.ELEMENT_NODE) {
-			if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
-				// just notify the change instead of setting data
-				ProcessingInstructionImpl pi = (ProcessingInstructionImpl) node;
-				pi.notifyValueChanged();
-			}
-			return;
-		}
-		// actually, do nothing
-	}
-
-	/**
-	 * changeAttrName method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 * @param region
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	private void changeAttrName(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		int offset = flatNode.getStart();
-		if (offset < 0)
-			return;
-		NodeImpl root = (NodeImpl) this.context.getRootNode();
-		if (root == null)
-			return;
-		Node node = root.getNodeAt(offset);
-		if (node == null)
-			return;
-		if (node.getNodeType() != Node.ELEMENT_NODE) {
-			if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
-				// just notify the change instead of setting data
-				ProcessingInstructionImpl pi = (ProcessingInstructionImpl) node;
-				pi.notifyValueChanged();
-			}
-			return;
-		}
-
-		ElementImpl element = (ElementImpl) node;
-		NamedNodeMap attributes = element.getAttributes();
-		if (attributes == null)
-			return;
-		int length = attributes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) attributes.item(i);
-			if (attr == null)
-				continue;
-			if (attr.getNameRegion() != region)
-				continue;
-
-			String name = flatNode.getText(region);
-			attr.setName(name);
-			break;
-		}
-	}
-
-	/**
-	 * changeAttrValue method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 * @param region
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	private void changeAttrValue(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		int offset = flatNode.getStart();
-		if (offset < 0)
-			return;
-		NodeImpl root = (NodeImpl) this.context.getRootNode();
-		if (root == null)
-			return;
-		Node node = root.getNodeAt(offset);
-		if (node == null)
-			return;
-		if (node.getNodeType() != Node.ELEMENT_NODE) {
-			if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
-				// just notify the change instead of setting data
-				ProcessingInstructionImpl pi = (ProcessingInstructionImpl) node;
-				pi.notifyValueChanged();
-			}
-			return;
-		}
-
-		ElementImpl element = (ElementImpl) node;
-		NamedNodeMap attributes = element.getAttributes();
-		if (attributes == null)
-			return;
-		int length = attributes.getLength();
-		for (int i = 0; i < length; i++) {
-			AttrImpl attr = (AttrImpl) attributes.item(i);
-			if (attr == null)
-				continue;
-			if (attr.getValueRegion() != region)
-				continue;
-			// just notify the change instead of setting value
-			attr.notifyValueChanged();
-			break;
-		}
-	}
-
-	/**
-	 * changeData method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 * @param region
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	private void changeData(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		int offset = flatNode.getStart();
-		if (offset < 0)
-			return;
-		NodeImpl root = (NodeImpl) this.context.getRootNode();
-		if (root == null)
-			return;
-		Node node = root.getNodeAt(offset);
-		if (node == null)
-			return;
-		switch (node.getNodeType()) {
-			case Node.TEXT_NODE : {
-				TextImpl text = (TextImpl) node;
-				if (text.isSharingStructuredDocumentRegion(flatNode)) {
-					// has consecutive text sharing IStructuredDocumentRegion
-					changeStructuredDocumentRegion(flatNode);
-					return;
-				}
-				this.context.setNextNode(node);
-				cleanupText();
-				break;
-			}
-			case Node.CDATA_SECTION_NODE :
-			case Node.PROCESSING_INSTRUCTION_NODE :
-				break;
-			case Node.COMMENT_NODE :
-			case Node.ELEMENT_NODE :
-				// comment tag
-				changeStructuredDocumentRegion(flatNode);
-				return;
-			default :
-				return;
-		}
-
-		// just notify the change instead of setting data
-		NodeImpl impl = (NodeImpl) node;
-		impl.notifyValueChanged();
-	}
-
-	/**
-	 */
-	private void changeEndTag(IStructuredDocumentRegion flatNode, ITextRegionList newRegions, ITextRegionList oldRegions) {
-		int offset = flatNode.getStart();
-		if (offset < 0)
-			return; // error
-		NodeImpl root = (NodeImpl) this.context.getRootNode();
-		if (root == null)
-			return; // error
-		Node node = root.getNodeAt(offset);
-		if (node == null)
-			return; // error
-
-		if (node.getNodeType() != Node.ELEMENT_NODE) {
-			changeStructuredDocumentRegion(flatNode);
-			return;
-		}
-
-		// check if change is only for close tag
-		if (newRegions != null) {
-			Iterator e = newRegions.iterator();
-			while (e.hasNext()) {
-				ITextRegion region = (ITextRegion) e.next();
-				String regionType = region.getType();
-				if (regionType == XMLRegionContext.XML_TAG_CLOSE)
-					continue;
-
-				// other region has changed
-				changeStructuredDocumentRegion(flatNode);
-				return;
-			}
-		}
-		if (oldRegions != null) {
-			Iterator e = oldRegions.iterator();
-			while (e.hasNext()) {
-				ITextRegion region = (ITextRegion) e.next();
-				String regionType = region.getType();
-				if (regionType == XMLRegionContext.XML_TAG_CLOSE)
-					continue;
-
-				// other region has changed
-				changeStructuredDocumentRegion(flatNode);
-				return;
-			}
-		}
-
-		// change for close tag has no impact
-		// do nothing
-	}
-
-	/**
-	 * changeRegion method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 * @param region
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	void changeRegion(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		if (flatNode == null || region == null)
-			return;
-		if (this.document == null)
-			return;
-		this.context = new XMLModelContext(this.document);
-
-		// optimize typical cases
-		String regionType = region.getType();
-		if (regionType == XMLRegionContext.XML_CONTENT || regionType == XMLRegionContext.XML_COMMENT_TEXT || regionType == XMLRegionContext.XML_CDATA_TEXT || regionType == XMLRegionContext.BLOCK_TEXT || regionType == JSP_CONTENT) {
-			changeData(flatNode, region);
-		} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-			changeAttrName(flatNode, region);
-		} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-			changeAttrValue(flatNode, region);
-		} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-			changeAttrEqual(flatNode, region);
-		} else if (regionType == XMLRegionContext.XML_TAG_NAME || regionType == JSP_ROOT_TAG_NAME || regionType == JSP_DIRECTIVE_NAME) {
-			changeTagName(flatNode, region);
-		} else {
-			changeStructuredDocumentRegion(flatNode);
-		}
-	}
-
-	/**
-	 */
-	private void changeStartTag(IStructuredDocumentRegion flatNode, ITextRegionList newRegions, ITextRegionList oldRegions) {
-		int offset = flatNode.getStart();
-		if (offset < 0)
-			return; // error
-		NodeImpl root = (NodeImpl) this.context.getRootNode();
-		if (root == null)
-			return; // error
-		Node node = root.getNodeAt(offset);
-		if (node == null)
-			return; // error
-
-		if (node.getNodeType() != Node.ELEMENT_NODE) {
-			changeStructuredDocumentRegion(flatNode);
-			return;
-		}
-		ElementImpl element = (ElementImpl) node;
-
-		// check if changes are only for attributes and close tag
-		boolean tagNameUnchanged = false;
-		if (newRegions != null) {
-			Iterator e = newRegions.iterator();
-			while (e.hasNext()) {
-				ITextRegion region = (ITextRegion) e.next();
-				String regionType = region.getType();
-				if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME || regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS || regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-					continue;
-				if (regionType == XMLRegionContext.XML_TAG_CLOSE) {
-					// change from empty tag may have impact on structure
-					if (!element.isEmptyTag())
-						continue;
-				} else if (regionType == XMLRegionContext.XML_TAG_NAME || regionType == JSP_ROOT_TAG_NAME || regionType == JSP_DIRECTIVE_NAME) {
-					String oldTagName = element.getTagName();
-					String newTagName = flatNode.getText(region);
-					if (oldTagName != null && newTagName != null && oldTagName.equals(newTagName)) {
-						// the tag name is unchanged
-						tagNameUnchanged = true;
-						continue;
-					}
-				}
-
-				// other region has changed
-				changeStructuredDocumentRegion(flatNode);
-				return;
-			}
-		}
-		if (oldRegions != null) {
-			Iterator e = oldRegions.iterator();
-			while (e.hasNext()) {
-				ITextRegion region = (ITextRegion) e.next();
-				String regionType = region.getType();
-				if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME || regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS || regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-					continue;
-				if (regionType == XMLRegionContext.XML_TAG_CLOSE) {
-					// change from empty tag may have impact on structure
-					if (!element.isEmptyTag())
-						continue;
-				} else if (regionType == XMLRegionContext.XML_TAG_NAME || regionType == JSP_ROOT_TAG_NAME) {
-					// if new tag name is unchanged, it's OK
-					if (tagNameUnchanged)
-						continue;
-				}
-
-				// other region has changed
-				changeStructuredDocumentRegion(flatNode);
-				return;
-			}
-		}
-
-		// update attributes
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return; // error
-		NamedNodeMap attributes = element.getAttributes();
-		if (attributes == null)
-			return; // error
-
-		// first remove attributes
-		int regionIndex = 0;
-		int attrIndex = 0;
-		AttrImpl attr = null;
-		while (attrIndex < attributes.getLength()) {
-			attr = (AttrImpl) attributes.item(attrIndex);
-			if (attr == null) { // error
-				attrIndex++;
-				continue;
-			}
-			ITextRegion nameRegion = attr.getNameRegion();
-			if (nameRegion == null) { // error
-				element.removeAttributeNode(attr);
-				continue;
-			}
-			boolean found = false;
-			for (int i = regionIndex; i < regions.size(); i++) {
-				ITextRegion region = regions.get(i);
-				if (region == nameRegion) {
-					regionIndex = i + 1; // next region
-					found = true;
-					break;
-				}
-			}
-			if (found) {
-				attrIndex++;
-			} else {
-				element.removeAttributeNode(attr);
-			}
-		}
-
-		// insert or update attributes
-		attrIndex = 0; // reset to first
-		AttrImpl newAttr = null;
-		ITextRegion oldValueRegion = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				if (newAttr != null) {
-					// insert deferred new attribute
-					element.insertAttributeNode(newAttr, attrIndex++);
-					newAttr = null;
-				} else if (attr != null && oldValueRegion != null) {
-					// notify existing attribute value removal
-					attr.notifyValueChanged();
-				}
-
-				oldValueRegion = null;
-				attr = (AttrImpl) attributes.item(attrIndex);
-				if (attr != null && attr.getNameRegion() == region) {
-					// existing attribute
-					attrIndex++;
-					// clear other regions
-					oldValueRegion = attr.getValueRegion();
-					attr.setEqualRegion(null);
-					attr.setValueRegion(null);
-				} else {
-					String name = flatNode.getText(region);
-					attr = (AttrImpl) this.document.createAttribute(name);
-					if (attr != null)
-						attr.setNameRegion(region);
-					// defer insertion of new attribute
-					newAttr = attr;
-				}
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-				if (attr != null) {
-					attr.setEqualRegion(region);
-				}
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				if (attr != null) {
-					attr.setValueRegion(region);
-					if (attr != newAttr && oldValueRegion != region) {
-						// notify existing attribute value changed
-						attr.notifyValueChanged();
-					}
-					oldValueRegion = null;
-					attr = null;
-				}
-			}
-		}
-
-		if (newAttr != null) {
-			// insert deferred new attribute
-			element.appendAttributeNode(newAttr);
-		} else if (attr != null && oldValueRegion != null) {
-			// notify existing attribute value removal
-			attr.notifyValueChanged();
-		}
-	}
-
-	/**
-	 * changeStructuredDocumentRegion method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void changeStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return;
-		if (this.document == null)
-			return;
-
-		setupContext(flatNode);
-
-		removeStructuredDocumentRegion(flatNode);
-		// make sure the parent is set to deepest level
-		// when end tag has been removed
-		this.context.setLast();
-		insertStructuredDocumentRegion(flatNode);
-
-		cleanupText();
-		cleanupEndTag();
-	}
-
-	/**
-	 */
-	private void changeTagName(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		int offset = flatNode.getStart();
-		if (offset < 0)
-			return; // error
-		NodeImpl root = (NodeImpl) this.context.getRootNode();
-		if (root == null)
-			return; // error
-		Node node = root.getNodeAt(offset);
-		if (node == null)
-			return; // error
-
-		if (node.getNodeType() != Node.ELEMENT_NODE) {
-			changeStructuredDocumentRegion(flatNode);
-			return;
-		}
-
-		ElementImpl element = (ElementImpl) node;
-		String newTagName = flatNode.getText(region);
-		if (newTagName == null || !element.matchTagName(newTagName)) {
-			// the tag name is changed
-			changeStructuredDocumentRegion(flatNode);
-			return;
-		}
-
-		// the tag name is unchanged
-		// this happens when typing spaces after the tag name
-		// do nothing, but...
-		// if it's not a change in the end tag of an element with the start
-		// tag,
-		// and case has been changed, set to element and notify
-		if (!element.hasStartTag() || StructuredDocumentRegionUtil.getFirstRegionType(flatNode) != XMLRegionContext.XML_END_TAG_OPEN) {
-			String tagName = element.getTagName();
-			if (tagName == null || !tagName.equals(newTagName)) {
-				element.setTagName(newTagName);
-				element.notifyValueChanged();
-			}
-		}
-	}
-
-	/**
-	 * cleanupContext method
-	 */
-	private void cleanupEndTag() {
-		Node parent = this.context.getParentNode();
-		Node next = this.context.getNextNode();
-		while (parent != null) {
-			while (next != null) {
-				if (next.getNodeType() == Node.ELEMENT_NODE) {
-					ElementImpl element = (ElementImpl) next;
-					if (element.isEndTag()) {
-						// floating end tag
-						String tagName = element.getTagName();
-						String rootName = getFindRootName(tagName);
-						ElementImpl start = (ElementImpl) this.context.findStartTag(tagName, rootName);
-						if (start != null) {
-							insertEndTag(start);
-							// move the end tag from 'element' to 'start'
-							start.addEndTag(element);
-							removeNode(element);
-							parent = this.context.getParentNode();
-							next = this.context.getNextNode();
-							continue;
-						}
-					}
-				}
-
-				Node first = next.getFirstChild();
-				if (first != null) {
-					parent = next;
-					next = first;
-					this.context.setNextNode(next);
-				} else {
-					next = next.getNextSibling();
-					this.context.setNextNode(next);
-				}
-			}
-
-			if (parent.getNodeType() == Node.ELEMENT_NODE) {
-				ElementImpl element = (ElementImpl) parent;
-				if (!element.hasEndTag() && element.hasStartTag() && element.getNextSibling() == null) {
-					String tagName = element.getTagName();
-					ElementImpl end = (ElementImpl) this.context.findEndTag(tagName);
-					if (end != null) {
-						// move the end tag from 'end' to 'element'
-						element.addEndTag(end);
-						removeEndTag(end);
-						this.context.setParentNode(parent); // reset context
-						continue;
-					}
-				}
-			}
-
-			next = parent.getNextSibling();
-			parent = parent.getParentNode();
-			if (next != null) {
-				this.context.setNextNode(next);
-			} else {
-				this.context.setParentNode(parent);
-			}
-		}
-	}
-
-	/**
-	 */
-	private void cleanupText() {
-		Node parent = this.context.getParentNode();
-		if (parent == null)
-			return; // error
-		Node next = this.context.getNextNode();
-		Node prev = (next == null ? parent.getLastChild() : next.getPreviousSibling());
-
-		TextImpl nextText = null;
-		TextImpl prevText = null;
-		if (next != null && next.getNodeType() == Node.TEXT_NODE) {
-			nextText = (TextImpl) next;
-		}
-		if (prev != null && prev.getNodeType() == Node.TEXT_NODE) {
-			prevText = (TextImpl) prev;
-		}
-		if (nextText == null && prevText == null)
-			return;
-		if (nextText != null && prevText != null) {
-			// consecutive Text nodes created by setupContext(),
-			// concat them
-			IStructuredDocumentRegion flatNode = nextText.getStructuredDocumentRegion();
-			if (flatNode != null)
-				prevText.appendStructuredDocumentRegion(flatNode);
-			Node newNext = next.getNextSibling();
-			parent.removeChild(next);
-			next = null;
-			this.context.setNextNode(newNext);
-		}
-
-		TextImpl childText = (prevText != null ? prevText : nextText);
-		if (childText.getNextSibling() == null && childText.getPreviousSibling() == null) {
-			if (parent.getNodeType() == Node.ELEMENT_NODE) {
-				ElementImpl parentElement = (ElementImpl) parent;
-				if (!parentElement.hasStartTag() && !parentElement.hasEndTag()) {
-					if (childText.isWhitespace() || childText.isInvalid()) {
-						// implicit parent is not required
-						Node newParent = parent.getParentNode();
-						if (newParent != null) {
-							Node newNext = parent.getNextSibling();
-							newParent.removeChild(parent);
-							parent.removeChild(childText);
-							newParent.insertBefore(childText, newNext);
-							if (childText == next) {
-								this.context.setNextNode(childText);
-							} else if (newNext != null) {
-								this.context.setNextNode(newNext);
-							} else {
-								this.context.setParentNode(newParent);
-							}
-							// try again
-							cleanupText();
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * This routine create an Element from comment data for comment style
-	 * elements, such as SSI and METADATA
-	 */
-	protected Element createCommentElement(String data, boolean isJSPTag) {
-		String trimmedData = data.trim();
-		CommentElementConfiguration[] configs = CommentElementRegistry.getInstance().getConfigurations();
-		for (int iConfig = 0; iConfig < configs.length; iConfig++) {
-			CommentElementConfiguration config = configs[iConfig];
-			if ((isJSPTag && !config.acceptJSPComment()) || (!isJSPTag && !config.acceptXMLComment())) {
-				continue;
-			}
-			String[] prefixes = config.getPrefix();
-			for (int iPrefix = 0; iPrefix < prefixes.length; iPrefix++) {
-				if (trimmedData.startsWith(prefixes[iPrefix])) {
-					return config.createElement(this.document, data, isJSPTag);
-				}
-			}
-		}
-		if (this.adapter != null) {
-			return this.adapter.createCommentElement(this.document, data, isJSPTag);
-		}
-		return null;
-	}
-
-	/**
-	 * This routine create an implicit Element for given parent and child,
-	 * such as HTML, BODY, HEAD, and TBODY for HTML document.
-	 */
-	protected Element createImplicitElement(Node parent, Node child) {
-		if (this.adapter != null) {
-			return this.adapter.createImplicitElement(this.document, parent, child);
-		}
-		return null;
-	}
-
-	/**
-	 */
-	private void demoteNodes(Node root, Node newParent, Node oldParent, Node next) {
-		if (newParent.getNodeType() != Node.ELEMENT_NODE)
-			return;
-		ElementImpl newElement = (ElementImpl) newParent;
-
-		// find next
-		while (next == null) {
-			if (oldParent.getNodeType() != Node.ELEMENT_NODE)
-				return;
-			ElementImpl oldElement = (ElementImpl) oldParent;
-			if (oldElement.hasEndTag())
-				return;
-			oldParent = oldElement.getParentNode();
-			if (oldParent == null)
-				return; // error
-			next = oldElement.getNextSibling();
-		}
-
-		while (next != null) {
-			boolean done = false;
-			if (next.getNodeType() == Node.ELEMENT_NODE) {
-				ElementImpl nextElement = (ElementImpl) next;
-				if (!nextElement.hasStartTag()) {
-					Node nextChild = nextElement.getFirstChild();
-					if (nextChild != null) {
-						// demote children
-						next = nextChild;
-						oldParent = nextElement;
-						continue;
-					}
-
-					if (nextElement.hasEndTag()) {
-						if (nextElement.matchEndTag(newElement)) {
-							// stop at the matched invalid end tag
-							next = nextElement.getNextSibling();
-							oldParent.removeChild(nextElement);
-							newElement.addEndTag(nextElement);
-
-							if (newElement == root)
-								return;
-							Node p = newElement.getParentNode();
-							// check if reached to top
-							if (p == null || p == oldParent || p.getNodeType() != Node.ELEMENT_NODE)
-								return;
-							newElement = (ElementImpl) p;
-							done = true;
-						}
-					} else {
-						// remove implicit element
-						next = nextElement.getNextSibling();
-						oldParent.removeChild(nextElement);
-						done = true;
-					}
-				}
-			}
-
-			if (!done) {
-				if (!canContain(newElement, next)) {
-					if (newElement == root)
-						return;
-					Node p = newElement.getParentNode();
-					// check if reached to top
-					if (p == null || p == oldParent || p.getNodeType() != Node.ELEMENT_NODE)
-						return;
-					newElement = (ElementImpl) p;
-					continue;
-				}
-
-				Node child = next;
-				next = next.getNextSibling();
-				oldParent.removeChild(child);
-				insertNode(newElement, child, null);
-				Node childParent = child.getParentNode();
-				if (childParent != newElement) {
-					newElement = (ElementImpl) childParent;
-				}
-			}
-
-			// find next parent and sibling
-			while (next == null) {
-				if (oldParent.getNodeType() != Node.ELEMENT_NODE)
-					return;
-				ElementImpl oldElement = (ElementImpl) oldParent;
-
-				// dug parent must not have children at this point
-				if (!oldElement.hasChildNodes() && !oldElement.hasStartTag()) {
-					oldParent = oldElement.getParentNode();
-					if (oldParent == null)
-						return; // error
-					next = oldElement;
-					break;
-				}
-
-				if (oldElement.hasEndTag())
-					return;
-				oldParent = oldElement.getParentNode();
-				if (oldParent == null)
-					return; // error
-				next = oldElement.getNextSibling();
-			}
-		}
-	}
-
-	/**
-	 */
-	protected final XMLDocument getDocument() {
-		return this.document;
-	}
-
-	/**
-	 */
-	protected String getFindRootName(String tagName) {
-		if (this.adapter != null) {
-			return this.adapter.getFindRootName(tagName);
-		}
-		return null;
-	}
-
-	/**
-	 */
-	protected final XMLModel getModel() {
-		return this.model;
-	}
-
-	/**
-	 * insertCDATASection method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertCDATASection(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-
-		CDATASectionImpl cdata = null;
-		try {
-			cdata = (CDATASectionImpl) this.document.createCDATASection(null);
-		} catch (DOMException ex) {
-		}
-		if (cdata == null) { // CDATA section might not be supported
-			insertInvalidDecl(flatNode); // regard as invalid decl
-			return;
-		}
-
-		cdata.setStructuredDocumentRegion(flatNode);
-		insertNode(cdata);
-	}
-
-	/**
-	 * insertComment method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertComment(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-
-		String data = null;
-		boolean isJSPTag = false;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == JSP_COMMENT_OPEN) {
-				isJSPTag = true;
-			} else if (regionType == XMLRegionContext.XML_COMMENT_TEXT || regionType == JSP_COMMENT_TEXT) {
-				if (data == null) {
-					data = flatNode.getText(region);
-				}
-			}
-		}
-
-		if (data != null) {
-			ElementImpl element = (ElementImpl) createCommentElement(data, isJSPTag);
-			if (element != null) {
-				if (!isEndTag(element)) {
-					element.setStartStructuredDocumentRegion(flatNode);
-					insertStartTag(element);
-					return;
-				}
-
-				// end tag
-				element.setEndStructuredDocumentRegion(flatNode);
-
-				String tagName = element.getTagName();
-				String rootName = getFindRootName(tagName);
-				ElementImpl start = (ElementImpl) this.context.findStartTag(tagName, rootName);
-				if (start != null) { // start tag found
-					insertEndTag(start);
-					start.addEndTag(element);
-					return;
-				}
-
-				// invalid end tag
-				insertNode(element);
-				return;
-			}
-		}
-
-		CommentImpl comment = (CommentImpl) this.document.createComment(null);
-		if (comment == null)
-			return;
-		if (isJSPTag)
-			comment.setJSPTag(true);
-		comment.setStructuredDocumentRegion(flatNode);
-		insertNode(comment);
-	}
-
-	/**
-	 * insertDecl method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertDecl(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-
-		boolean isDocType = false;
-		String name = null;
-		String publicId = null;
-		String systemId = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_DOCTYPE_DECLARATION) {
-				isDocType = true;
-			} else if (regionType == XMLRegionContext.XML_DOCTYPE_NAME) {
-				if (name == null)
-					name = flatNode.getText(region);
-			} else if (regionType == XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_PUBREF) {
-				if (publicId == null)
-					publicId = StructuredDocumentRegionUtil.getAttrValue(flatNode, region);
-			} else if (regionType == XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_SYSREF) {
-				if (systemId == null)
-					systemId = StructuredDocumentRegionUtil.getAttrValue(flatNode, region);
-			}
-		}
-
-		// invalid declaration
-		if (!isDocType) {
-			insertInvalidDecl(flatNode);
-			return;
-		}
-
-		DocumentTypeImpl docType = (DocumentTypeImpl) this.document.createDoctype(name);
-		if (docType == null)
-			return;
-		if (publicId != null)
-			docType.setPublicId(publicId);
-		if (systemId != null)
-			docType.setSystemId(systemId);
-		docType.setStructuredDocumentRegion(flatNode);
-		insertNode(docType);
-	}
-
-	/**
-	 * insertEndTag method
-	 * 
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	private void insertEndTag(Element element) {
-		if (element == null)
-			return;
-
-		Node newParent = element.getParentNode();
-		if (newParent == null)
-			return; // error
-
-		if (!((ElementImpl) element).isContainer()) {
-			// just update context
-			Node elementNext = element.getNextSibling();
-			if (elementNext != null)
-				this.context.setNextNode(elementNext);
-			else
-				this.context.setParentNode(newParent);
-			return;
-		}
-
-		// promote children
-		Node newNext = element.getNextSibling();
-		Node oldParent = this.context.getParentNode();
-		if (oldParent == null)
-			return; // error
-		Node oldNext = this.context.getNextNode();
-		promoteNodes(element, newParent, newNext, oldParent, oldNext);
-
-		// update context
-		// re-check the next sibling
-		newNext = element.getNextSibling();
-		if (newNext != null)
-			this.context.setNextNode(newNext);
-		else
-			this.context.setParentNode(newParent);
-	}
-
-	/**
-	 * insertEndTag method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertEndTag(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-
-		String tagName = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			if (region.getType() == XMLRegionContext.XML_TAG_NAME || region.getType() == JSP_ROOT_TAG_NAME || region.getType() == JSP_DIRECTIVE_NAME) {
-				if (tagName == null)
-					tagName = flatNode.getText(region);
-			}
-		}
-
-		if (tagName == null) { // invalid end tag
-			insertText(flatNode); // regard as invalid text
-			return;
-		}
-
-		String rootName = getFindRootName(tagName);
-		ElementImpl start = (ElementImpl) this.context.findStartTag(tagName, rootName);
-		if (start != null) { // start tag found
-			insertEndTag(start);
-			start.setEndStructuredDocumentRegion(flatNode);
-			return;
-		}
-
-		// invalid end tag
-		ElementImpl end = null;
-		try {
-			end = (ElementImpl) this.document.createElement(tagName);
-		} catch (DOMException ex) {
-		}
-		if (end == null) { // invalid end tag
-			insertText(flatNode); // regard as invalid text
-			return;
-		}
-		end.setEndStructuredDocumentRegion(flatNode);
-		insertNode(end);
-	}
-
-	/**
-	 * insertEntityRef method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertEntityRef(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-
-		String name = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_ENTITY_REFERENCE || regionType == XMLRegionContext.XML_CHAR_REFERENCE) {
-				if (name == null)
-					name = StructuredDocumentRegionUtil.getEntityRefName(flatNode, region);
-			}
-		}
-
-		if (name == null) { // invalid entity
-			insertText(flatNode);
-			return;
-		}
-
-		String value = this.document.getCharValue(name);
-		if (value != null) { // character entity
-			TextImpl text = (TextImpl) this.context.findPreviousText();
-			if (text != null) { // existing text found
-				// do not append data
-				text.appendStructuredDocumentRegion(flatNode);
-				// notify the change
-				text.notifyValueChanged();
-				return;
-			}
-
-			// new text
-			text = (TextImpl) this.document.createTextNode(null);
-			if (text == null)
-				return;
-			text.setStructuredDocumentRegion(flatNode);
-			insertNode(text);
-			return;
-		}
-
-		// general entity reference
-		EntityReferenceImpl ref = null;
-		try {
-			ref = (EntityReferenceImpl) this.document.createEntityReference(name);
-		} catch (DOMException ex) {
-		}
-		if (ref == null) { // entity reference might not be supported
-			insertText(flatNode); // regard as invalid text
-			return;
-		}
-
-		ref.setStructuredDocumentRegion(flatNode);
-		insertNode(ref);
-	}
-
-	/**
-	 * insertInvalidDecl method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertInvalidDecl(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-
-		ElementImpl element = null;
-		try {
-			element = (ElementImpl) this.document.createElement("!");//$NON-NLS-1$
-		} catch (DOMException ex) {
-		}
-		if (element == null) { // invalid tag
-			insertText(flatNode); // regard as invalid text
-			return;
-		}
-		element.setEmptyTag(true);
-		element.setStartStructuredDocumentRegion(flatNode);
-		insertNode(element);
-	}
-
-	/**
-	 * insertJSPTag method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertJSPTag(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-
-		String tagName = null;
-		AttrImpl attr = null;
-		Vector attrNodes = null;
-		boolean isCloseTag = false;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == JSP_SCRIPTLET_OPEN) {
-				tagName = JSPTag.JSP_SCRIPTLET;
-			} else if (regionType == JSP_EXPRESSION_OPEN) {
-				tagName = JSPTag.JSP_EXPRESSION;
-			} else if (regionType == JSP_DECLARATION_OPEN) {
-				tagName = JSPTag.JSP_DECLARATION;
-			} else if (regionType == JSP_DIRECTIVE_OPEN) {
-				tagName = JSPTag.JSP_DIRECTIVE;
-			} else if (regionType == JSP_DIRECTIVE_NAME) {
-				tagName += '.';
-				tagName += flatNode.getText(region);
-			} else if (regionType == JSP_CLOSE) {
-				isCloseTag = true;
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				String name = flatNode.getText(region);
-				attr = (AttrImpl) this.document.createAttribute(name);
-				if (attr != null) {
-					attr.setNameRegion(region);
-					if (attrNodes == null)
-						attrNodes = new Vector();
-					attrNodes.addElement(attr);
-				}
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-				if (attr != null) {
-					attr.setEqualRegion(region);
-				}
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				if (attr != null) {
-					attr.setValueRegion(region);
-					attr = null;
-				}
-			}
-		}
-
-		if (tagName == null) {
-			if (isCloseTag) {
-				// close JSP tag
-				Node parent = this.context.getParentNode();
-				if (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
-					ElementImpl start = (ElementImpl) parent;
-					if (start.isJSPContainer()) {
-						insertEndTag(start);
-						start.setEndStructuredDocumentRegion(flatNode);
-						return;
-					}
-				}
-			}
-			// invalid JSP tag
-			insertText(flatNode); // regard as invalid text
-			return;
-		}
-
-		ElementImpl element = null;
-		try {
-			element = (ElementImpl) this.document.createElement(tagName);
-		} catch (DOMException ex) {
-		}
-		if (element == null) { // invalid tag
-			insertText(flatNode); // regard as invalid text
-			return;
-		}
-		if (attrNodes != null) {
-			Enumeration ae = attrNodes.elements();
-			while (ae.hasMoreElements()) {
-				Attr a = (Attr) ae.nextElement();
-				if (a == null)
-					continue;
-				element.appendAttributeNode(a);
-			}
-		}
-		element.setJSPTag(true);
-		element.setStartStructuredDocumentRegion(flatNode);
-		insertStartTag(element);
-	}
-
-	/**
-	 * insertNode method
-	 * 
-	 * @param child
-	 *            org.w3c.dom.Node
-	 */
-	private void insertNode(Node node) {
-		if (node == null)
-			return;
-		if (this.context == null)
-			return;
-
-		Node parent = this.context.getParentNode();
-		if (parent == null)
-			return;
-		Node next = this.context.getNextNode();
-		while (parent.getNodeType() == Node.ELEMENT_NODE) {
-			ElementImpl element = (ElementImpl) parent;
-			if (canContain(element, node)) {
-				if (!element.hasStartTag() && next == element.getFirstChild()) {
-					// first child of implicit tag
-					// deletege to the parent
-					parent = element.getParentNode();
-					if (parent == null)
-						return;
-					next = element;
-					this.context.setNextNode(next);
-					continue;
-				}
-				break;
-			}
-			parent = element.getParentNode();
-			if (parent == null)
-				return;
-
-			// promote siblings
-			Node newNext = element.getNextSibling();
-			Node child = next;
-			while (child != null) {
-				Node nextChild = child.getNextSibling();
-				element.removeChild(child);
-				parent.insertBefore(child, newNext);
-				child = nextChild;
-			}
-
-			// leave the old end tag where it is
-			if (element.hasEndTag()) {
-				Element end = element.removeEndTag();
-				if (end != null) {
-					parent.insertBefore(end, newNext);
-					if (next == null)
-						next = end;
-				}
-			}
-			if (!element.hasStartTag()) {
-				// implicit element
-				if (!element.hasChildNodes()) {
-					parent.removeChild(element);
-				}
-			}
-
-			// update context
-			if (next == null)
-				next = newNext;
-			if (next != null)
-				this.context.setNextNode(next);
-			else
-				this.context.setParentNode(parent);
-		}
-
-		insertNode(parent, node, next);
-		next = node.getNextSibling();
-		if (next != null)
-			this.context.setNextNode(next);
-		else
-			this.context.setParentNode(node.getParentNode());
-	}
-
-	/**
-	 */
-	private void insertNode(Node parent, Node node, Node next) {
-		while (next != null && next.getNodeType() == Node.ELEMENT_NODE) {
-			ElementImpl nextElement = (ElementImpl) next;
-			if (nextElement.hasStartTag())
-				break;
-			if (!canBeImplicitTag(nextElement, node))
-				break;
-			parent = nextElement;
-			next = nextElement.getFirstChild();
-		}
-		Element implicitElement = createImplicitElement(parent, node);
-		if (implicitElement != null)
-			node = implicitElement;
-		parent.insertBefore(node, next);
-	}
-
-	/**
-	 * insertPI method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertPI(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-
-		String target = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_PI_OPEN || regionType == XMLRegionContext.XML_PI_CLOSE)
-				continue;
-			if (target == null)
-				target = flatNode.getText(region);
-		}
-
-		ProcessingInstructionImpl pi = (ProcessingInstructionImpl) this.document.createProcessingInstruction(target, null);
-		if (pi == null)
-			return;
-		pi.setStructuredDocumentRegion(flatNode);
-		insertNode(pi);
-	}
-
-	/**
-	 * insertStartTag method
-	 * 
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	private void insertStartTag(Element element) {
-		if (element == null)
-			return;
-		if (this.context == null)
-			return;
-
-		insertNode(element);
-
-		ElementImpl newElement = (ElementImpl) element;
-		if (newElement.isEmptyTag() || !newElement.isContainer())
-			return;
-
-		// demote siblings
-		Node parent = this.context.getParentNode();
-		if (parent == null)
-			return; // error
-		Node next = this.context.getNextNode();
-		demoteNodes(element, element, parent, next);
-
-		// update context
-		Node firstChild = element.getFirstChild();
-		if (firstChild != null)
-			this.context.setNextNode(firstChild);
-		else
-			this.context.setParentNode(element);
-	}
-
-	/**
-	 * insertStartTag method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertStartTag(IStructuredDocumentRegion flatNode) {
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-
-		String tagName = null;
-		boolean isEmptyTag = false;
-		AttrImpl attr = null;
-		Vector attrNodes = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_TAG_NAME || regionType == JSP_ROOT_TAG_NAME || regionType == JSP_DIRECTIVE_NAME) {
-				if (tagName == null)
-					tagName = flatNode.getText(region);
-			} else if (regionType == XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-				isEmptyTag = true;
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				String name = flatNode.getText(region);
-				attr = (AttrImpl) this.document.createAttribute(name);
-				if (attr != null) {
-					attr.setNameRegion(region);
-					if (attrNodes == null)
-						attrNodes = new Vector();
-					attrNodes.addElement(attr);
-				}
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-				if (attr != null) {
-					attr.setEqualRegion(region);
-				}
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				if (attr != null) {
-					attr.setValueRegion(region);
-					attr = null;
-				}
-			}
-		}
-
-		if (tagName == null) { // invalid start tag
-			insertText(flatNode); // regard as invalid text
-			return;
-		}
-
-		ElementImpl element = null;
-		try {
-			element = (ElementImpl) this.document.createElement(tagName);
-		} catch (DOMException ex) {
-		}
-		if (element == null) { // invalid tag
-			insertText(flatNode); // regard as invalid text
-			return;
-		}
-		if (attrNodes != null) {
-			Enumeration ae = attrNodes.elements();
-			while (ae.hasMoreElements()) {
-				Attr a = (Attr) ae.nextElement();
-				if (a == null)
-					continue;
-				element.appendAttributeNode(a);
-			}
-		}
-		if (isEmptyTag)
-			element.setEmptyTag(true);
-		element.setStartStructuredDocumentRegion(flatNode);
-		insertStartTag(element);
-	}
-
-	/**
-	 * insertStructuredDocumentRegion method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertStructuredDocumentRegion(IStructuredDocumentRegion flatNode) {
-		String regionType = StructuredDocumentRegionUtil.getFirstRegionType(flatNode);
-		if (regionType == XMLRegionContext.XML_TAG_OPEN) {
-			insertStartTag(flatNode);
-		} else if (regionType == XMLRegionContext.XML_END_TAG_OPEN) {
-			insertEndTag(flatNode);
-		} else if (regionType == XMLRegionContext.XML_COMMENT_OPEN || regionType == JSP_COMMENT_OPEN) {
-			insertComment(flatNode);
-		} else if (regionType == XMLRegionContext.XML_ENTITY_REFERENCE || regionType == XMLRegionContext.XML_CHAR_REFERENCE) {
-			insertEntityRef(flatNode);
-		} else if (regionType == XMLRegionContext.XML_DECLARATION_OPEN) {
-			insertDecl(flatNode);
-		} else if (regionType == XMLRegionContext.XML_PI_OPEN) {
-			insertPI(flatNode);
-		} else if (regionType == XMLRegionContext.XML_CDATA_OPEN) {
-			insertCDATASection(flatNode);
-		} else if (regionType == JSP_SCRIPTLET_OPEN || regionType == JSP_EXPRESSION_OPEN || regionType == JSP_DECLARATION_OPEN || regionType == JSP_DIRECTIVE_OPEN || regionType == JSP_CLOSE) {
-			insertJSPTag(flatNode);
-		} else {
-			insertText(flatNode);
-		}
-	}
-
-	/**
-	 * insertText method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void insertText(IStructuredDocumentRegion flatNode) {
-		TextImpl text = (TextImpl) this.context.findPreviousText();
-		if (text != null) { // existing text found
-			text.appendStructuredDocumentRegion(flatNode);
-			// notify the change
-			text.notifyValueChanged();
-			return;
-		}
-
-		// new text
-		text = (TextImpl) this.document.createTextNode(null);
-		if (text == null)
-			return;
-		text.setStructuredDocumentRegion(flatNode);
-		insertNode(text);
-	}
-
-	/**
-	 */
-	protected boolean isEndTag(XMLElement element) {
-		if (this.adapter != null) {
-			return this.adapter.isEndTag(element);
-		}
-		return element.isEndTag();
-	}
-
-	/**
-	 */
-	private void promoteNodes(Node root, Node newParent, Node newNext, Node oldParent, Node next) {
-		ElementImpl newElement = null;
-		if (newParent.getNodeType() == Node.ELEMENT_NODE) {
-			newElement = (ElementImpl) newParent;
-		}
-
-		Node rootParent = root.getParentNode();
-		while (oldParent != rootParent) {
-			while (next != null) {
-				boolean done = false;
-				boolean endTag = false;
-				if (next.getNodeType() == Node.ELEMENT_NODE) {
-					ElementImpl nextElement = (ElementImpl) next;
-					if (!nextElement.hasStartTag()) {
-						Node nextChild = nextElement.getFirstChild();
-						if (nextChild != null) {
-							// promote children
-							next = nextChild;
-							oldParent = nextElement;
-							continue;
-						}
-
-						if (nextElement.hasEndTag()) {
-							if (nextElement.matchEndTag(newElement)) {
-								endTag = true;
-							}
-						} else {
-							// remove implicit element
-							next = nextElement.getNextSibling();
-							oldParent.removeChild(nextElement);
-							done = true;
-						}
-					}
-				}
-
-				if (!done) {
-					if (!endTag && newElement != null && !canContain(newElement, next)) {
-						newParent = newElement.getParentNode();
-						if (newParent == null)
-							return; // error
-						Node elementNext = newElement.getNextSibling();
-						// promote siblings
-						promoteNodes(newElement, newParent, elementNext, newElement, newNext);
-						newNext = newElement.getNextSibling();
-						if (newParent.getNodeType() == Node.ELEMENT_NODE) {
-							newElement = (ElementImpl) newParent;
-						} else {
-							newElement = null;
-						}
-						continue;
-					}
-
-					Node child = next;
-					next = next.getNextSibling();
-					oldParent.removeChild(child);
-					insertNode(newParent, child, newNext);
-					Node childParent = child.getParentNode();
-					if (childParent != newParent) {
-						newParent = childParent;
-						newElement = (ElementImpl) newParent;
-						newNext = child.getNextSibling();
-					}
-				}
-			}
-
-			if (oldParent.getNodeType() != Node.ELEMENT_NODE)
-				return;
-			ElementImpl oldElement = (ElementImpl) oldParent;
-			oldParent = oldElement.getParentNode();
-			if (oldParent == null)
-				return; // error
-			next = oldElement.getNextSibling();
-
-			if (oldElement.hasEndTag()) {
-				Element end = null;
-				if (!oldElement.hasChildNodes() && !oldElement.hasStartTag()) {
-					oldParent.removeChild(oldElement);
-					end = oldElement;
-				} else {
-					end = oldElement.removeEndTag();
-				}
-				if (end != null) {
-					insertNode(newParent, end, newNext);
-					Node endParent = end.getParentNode();
-					if (endParent != newParent) {
-						newParent = endParent;
-						newElement = (ElementImpl) newParent;
-						newNext = end.getNextSibling();
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * removeEndTag method
-	 * 
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	private void removeEndTag(Element element) {
-		if (element == null)
-			return;
-		if (this.context == null)
-			return;
-
-		Node parent = element.getParentNode();
-		if (parent == null)
-			return; // error
-
-		if (!((ElementImpl) element).isContainer()) {
-			// just update context
-			Node elementNext = element.getNextSibling();
-			if (elementNext != null)
-				this.context.setNextNode(elementNext);
-			else
-				this.context.setParentNode(parent);
-			return;
-		}
-
-		// demote siblings
-		Node next = element.getNextSibling();
-		ElementImpl newElement = (ElementImpl) element;
-		// find new parent
-		for (Node last = newElement.getLastChild(); last != null; last = last.getLastChild()) {
-			if (last.getNodeType() != Node.ELEMENT_NODE)
-				break;
-			ElementImpl lastElement = (ElementImpl) last;
-			if (lastElement.hasEndTag() || lastElement.isEmptyTag() || !lastElement.isContainer())
-				break;
-			newElement = lastElement;
-		}
-		Node lastChild = newElement.getLastChild();
-		demoteNodes(element, newElement, parent, next);
-
-		// update context
-		Node newNext = null;
-		if (lastChild != null)
-			newNext = lastChild.getNextSibling();
-		else
-			newNext = newElement.getFirstChild();
-		if (newNext != null)
-			this.context.setNextNode(newNext);
-		else
-			this.context.setParentNode(newElement);
-	}
-
-	/**
-	 * Remove the specified node if it is no longer required implicit tag with
-	 * remaining child nodes promoted.
-	 */
-	private Element removeImplicitElement(Node parent) {
-		if (parent == null)
-			return null;
-		if (parent.getNodeType() != Node.ELEMENT_NODE)
-			return null;
-		ElementImpl element = (ElementImpl) parent;
-		if (!element.isImplicitTag())
-			return null;
-		if (canBeImplicitTag(element))
-			return null;
-
-		Node elementParent = element.getParentNode();
-		if (elementParent == null)
-			return null; // error
-		Node firstChild = element.getFirstChild();
-		Node child = firstChild;
-		Node elementNext = element.getNextSibling();
-		while (child != null) {
-			Node nextChild = child.getNextSibling();
-			element.removeChild(child);
-			elementParent.insertBefore(child, elementNext);
-			child = nextChild;
-		}
-
-		// reset context
-		if (this.context.getParentNode() == element) {
-			Node oldNext = this.context.getNextNode();
-			if (oldNext != null) {
-				this.context.setNextNode(oldNext);
-			} else {
-				if (elementNext != null) {
-					this.context.setNextNode(elementNext);
-				} else {
-					this.context.setParentNode(elementParent);
-				}
-			}
-		} else if (this.context.getNextNode() == element) {
-			if (firstChild != null) {
-				this.context.setNextNode(firstChild);
-			} else {
-				if (elementNext != null) {
-					this.context.setNextNode(elementNext);
-				} else {
-					this.context.setParentNode(elementParent);
-				}
-			}
-		}
-
-		removeNode(element);
-		return element;
-	}
-
-	/**
-	 * removeNode method
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	private void removeNode(Node node) {
-		if (node == null)
-			return;
-		if (this.context == null)
-			return;
-
-		Node parent = node.getParentNode();
-		if (parent == null)
-			return;
-		Node next = node.getNextSibling();
-		Node prev = node.getPreviousSibling();
-
-		// update context
-		Node oldParent = this.context.getParentNode();
-		if (node == oldParent) {
-			if (next != null)
-				this.context.setNextNode(next);
-			else
-				this.context.setParentNode(parent);
-		} else {
-			Node oldNext = this.context.getNextNode();
-			if (node == oldNext) {
-				this.context.setNextNode(next);
-			}
-		}
-
-		parent.removeChild(node);
-
-		if (removeImplicitElement(parent) != null)
-			return;
-
-		// demote sibling
-		if (prev != null && prev.getNodeType() == Node.ELEMENT_NODE) {
-			ElementImpl newElement = (ElementImpl) prev;
-			if (!newElement.hasEndTag() && !newElement.isEmptyTag() && newElement.isContainer()) {
-				// find new parent
-				for (Node last = newElement.getLastChild(); last != null; last = last.getLastChild()) {
-					if (last.getNodeType() != Node.ELEMENT_NODE)
-						break;
-					ElementImpl lastElement = (ElementImpl) last;
-					if (lastElement.hasEndTag() || lastElement.isEmptyTag() || !lastElement.isContainer())
-						break;
-					newElement = lastElement;
-				}
-				Node lastChild = newElement.getLastChild();
-				demoteNodes(prev, newElement, parent, next);
-
-				// update context
-				Node newNext = null;
-				if (lastChild != null)
-					newNext = lastChild.getNextSibling();
-				else
-					newNext = newElement.getFirstChild();
-				if (newNext != null)
-					this.context.setNextNode(newNext);
-				else
-					this.context.setParentNode(newElement);
-			}
-		}
-	}
-
-	/**
-	 * removeStartTag method
-	 * 
-	 * @param element
-	 *            org.w3c.dom.Element
-	 */
-	private void removeStartTag(Element element) {
-		if (element == null)
-			return;
-		if (this.context == null)
-			return;
-
-		// for implicit tag
-		ElementImpl oldElement = (ElementImpl) element;
-		if (canBeImplicitTag(oldElement)) {
-			Node newParent = null;
-			Node prev = oldElement.getPreviousSibling();
-			if (prev != null && prev.getNodeType() == Node.ELEMENT_NODE) {
-				ElementImpl prevElement = (ElementImpl) prev;
-				if (!prevElement.hasEndTag()) {
-					if (prevElement.hasStartTag() || prevElement.matchTagName(oldElement.getTagName())) {
-						newParent = prevElement;
-					}
-				}
-			}
-			if (newParent == null) {
-				// this element should stay as implicit tag
-				// just remove all attributes
-				oldElement.removeStartTag();
-
-				// update context
-				Node child = oldElement.getFirstChild();
-				if (child != null) {
-					this.context.setNextNode(child);
-				} else if (oldElement.hasEndTag()) {
-					this.context.setParentNode(oldElement);
-				}
-				return;
-			}
-		}
-		// for comment tag
-		if (oldElement.isCommentTag())
-			oldElement.removeStartTag();
-
-		// promote children
-		Node elementParent = element.getParentNode();
-		Node parent = elementParent;
-		if (parent == null)
-			return;
-		Node first = element.getFirstChild();
-		Node firstElement = null; // for the case first is removed as end tag
-		if (first != null) {
-			// find new parent for children
-			ElementImpl newElement = null;
-			for (Node last = element.getPreviousSibling(); last != null; last = last.getLastChild()) {
-				if (last.getNodeType() != Node.ELEMENT_NODE)
-					break;
-				ElementImpl lastElement = (ElementImpl) last;
-				if (lastElement.hasEndTag() || lastElement.isEmptyTag() || !lastElement.isContainer())
-					break;
-				newElement = lastElement;
-			}
-			Node next = first;
-			if (newElement != null) {
-				while (next != null) {
-					if (!newElement.hasEndTag() && newElement.hasStartTag() && next.getNodeType() == Node.ELEMENT_NODE) {
-						ElementImpl nextElement = (ElementImpl) next;
-						if (!nextElement.hasStartTag() && nextElement.hasEndTag() && nextElement.matchEndTag(newElement)) {
-							// stop at the matched invalid end tag
-							Node elementChild = nextElement.getFirstChild();
-							while (elementChild != null) {
-								Node nextChild = elementChild.getNextSibling();
-								nextElement.removeChild(elementChild);
-								newElement.appendChild(elementChild);
-								elementChild = nextChild;
-							}
-
-							next = nextElement.getNextSibling();
-							element.removeChild(nextElement);
-							newElement.addEndTag(nextElement);
-							if (nextElement == first)
-								firstElement = newElement;
-
-							Node newParent = newElement.getParentNode();
-							if (newParent == parent)
-								break;
-							if (newParent == null || newParent.getNodeType() != Node.ELEMENT_NODE)
-								break; // error
-							newElement = (ElementImpl) newParent;
-							continue;
-						}
-					}
-					if (!canContain(newElement, next)) {
-						Node newParent = newElement.getParentNode();
-						if (newParent == parent)
-							break;
-						if (newParent == null || newParent.getNodeType() != Node.ELEMENT_NODE)
-							break; // error
-						newElement = (ElementImpl) newParent;
-						continue;
-					}
-					Node child = next;
-					next = next.getNextSibling();
-					element.removeChild(child);
-					newElement.appendChild(child);
-				}
-				newElement = null;
-			}
-			if (parent.getNodeType() == Node.ELEMENT_NODE) {
-				newElement = (ElementImpl) parent;
-			}
-			while (next != null) {
-				if (newElement == null || canContain(newElement, next)) {
-					Node child = next;
-					next = next.getNextSibling();
-					element.removeChild(child);
-					parent.insertBefore(child, element);
-					continue;
-				}
-
-				parent = newElement.getParentNode();
-				if (parent == null)
-					return;
-
-				// promote siblings
-				Node newNext = newElement.getNextSibling();
-				Node child = element;
-				while (child != null) {
-					Node nextChild = child.getNextSibling();
-					newElement.removeChild(child);
-					parent.insertBefore(child, newNext);
-					child = nextChild;
-				}
-
-				// leave the old end tag where it is
-				if (newElement.hasEndTag()) {
-					Element end = newElement.removeEndTag();
-					if (end != null) {
-						parent.insertBefore(end, newNext);
-					}
-				}
-				if (!newElement.hasStartTag()) {
-					// implicit element
-					if (!newElement.hasChildNodes()) {
-						parent.removeChild(newElement);
-					}
-				}
-
-				if (parent.getNodeType() == Node.ELEMENT_NODE) {
-					newElement = (ElementImpl) parent;
-				} else {
-					newElement = null;
-				}
-			}
-		}
-
-		Node newNext = element;
-		Node startElement = null; // for the case element is removed as end
-		// tag
-		if (oldElement.hasEndTag()) {
-			// find new parent for invalid end tag and siblings
-			ElementImpl newElement = null;
-			for (Node last = element.getPreviousSibling(); last != null; last = last.getLastChild()) {
-				if (last.getNodeType() != Node.ELEMENT_NODE)
-					break;
-				ElementImpl lastElement = (ElementImpl) last;
-				if (lastElement.hasEndTag() || lastElement.isEmptyTag() || !lastElement.isContainer())
-					break;
-				newElement = lastElement;
-			}
-			if (newElement != null) {
-				// demote invalid end tag and sibling
-				Node next = element;
-				while (next != null) {
-					if (!newElement.hasEndTag() && newElement.hasStartTag() && next.getNodeType() == Node.ELEMENT_NODE) {
-						ElementImpl nextElement = (ElementImpl) next;
-						if (!nextElement.hasStartTag() && nextElement.hasEndTag() && nextElement.matchEndTag(newElement)) {
-							// stop at the matched invalid end tag
-							Node elementChild = nextElement.getFirstChild();
-							while (elementChild != null) {
-								Node nextChild = elementChild.getNextSibling();
-								nextElement.removeChild(elementChild);
-								newElement.appendChild(elementChild);
-								elementChild = nextChild;
-							}
-
-							next = nextElement.getNextSibling();
-							parent.removeChild(nextElement);
-							newElement.addEndTag(nextElement);
-							if (nextElement == newNext)
-								startElement = newElement;
-
-							Node newParent = newElement.getParentNode();
-							if (newParent == parent)
-								break;
-							if (newParent == null || newParent.getNodeType() != Node.ELEMENT_NODE)
-								break; // error
-							newElement = (ElementImpl) newParent;
-							continue;
-						}
-					}
-					if (!canContain(newElement, next)) {
-						Node newParent = newElement.getParentNode();
-						if (newParent == parent)
-							break;
-						if (newParent == null || newParent.getNodeType() != Node.ELEMENT_NODE)
-							break; // error
-						newElement = (ElementImpl) newParent;
-						continue;
-					}
-					Node child = next;
-					next = next.getNextSibling();
-					parent.removeChild(child);
-					if (child == oldElement) {
-						if (!oldElement.isCommentTag()) {
-							// clone (re-create) end tag
-							Element end = oldElement.removeEndTag();
-							if (end != null) {
-								child = end;
-								newNext = end;
-							}
-						}
-					}
-					newElement.appendChild(child);
-				}
-			} else {
-				if (!oldElement.isCommentTag()) {
-					// clone (re-create) end tag
-					Element end = oldElement.removeEndTag();
-					if (end != null) {
-						parent.insertBefore(end, oldElement);
-						parent.removeChild(oldElement);
-						newNext = end;
-					}
-				}
-			}
-		} else {
-			newNext = oldElement.getNextSibling();
-			parent.removeChild(oldElement);
-		}
-
-		// update context
-		Node oldParent = this.context.getParentNode();
-		Node oldNext = this.context.getNextNode();
-		if (element == oldParent) {
-			if (oldNext != null) {
-				this.context.setNextNode(oldNext); // reset for new parent
-			} else if (newNext != null) {
-				this.context.setNextNode(newNext);
-			} else {
-				this.context.setParentNode(parent);
-			}
-		} else if (element == oldNext) {
-			if (firstElement != null) {
-				this.context.setParentNode(firstElement);
-			} else if (first != null) {
-				this.context.setNextNode(first);
-			} else if (startElement != null) {
-				this.context.setParentNode(startElement);
-			} else {
-				this.context.setNextNode(newNext);
-			}
-		}
-
-		removeImplicitElement(elementParent);
-	}
-
-	/**
-	 * removeStructuredDocumentRegion method
-	 * 
-	 * @param oldStructuredDocumentRegion
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void removeStructuredDocumentRegion(IStructuredDocumentRegion oldStructuredDocumentRegion) {
-		NodeImpl next = (NodeImpl) this.context.getNextNode();
-		if (next != null) {
-			short nodeType = next.getNodeType();
-			if (nodeType != Node.ELEMENT_NODE) {
-				IStructuredDocumentRegion flatNode = next.getStructuredDocumentRegion();
-				if (flatNode == oldStructuredDocumentRegion) {
-					removeNode(next);
-					return;
-				}
-				if (nodeType != Node.TEXT_NODE) {
-					throw new StructuredDocumentRegionManagementException();
-				}
-				if (flatNode == null) {
-					// this is the case for empty Text
-					// remove and continue
-					removeNode(next);
-					removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-					return;
-				}
-				TextImpl text = (TextImpl) next;
-				boolean isShared = text.isSharingStructuredDocumentRegion(oldStructuredDocumentRegion);
-				if (isShared) {
-					// make sure there is next Text node sharing this
-					TextImpl nextText = (TextImpl) this.context.findNextText();
-					if (nextText == null || !nextText.hasStructuredDocumentRegion(oldStructuredDocumentRegion)) {
-						isShared = false;
-					}
-				}
-				oldStructuredDocumentRegion = text.removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-				if (oldStructuredDocumentRegion == null) {
-					throw new StructuredDocumentRegionManagementException();
-				}
-				if (text.getStructuredDocumentRegion() == null) {
-					// this is the case partial IStructuredDocumentRegion is
-					// removed
-					removeNode(text);
-				} else {
-					// notify the change
-					text.notifyValueChanged();
-				}
-				// if shared, continue to remove IStructuredDocumentRegion
-				// from them
-				if (isShared)
-					removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-				return;
-			}
-
-			ElementImpl element = (ElementImpl) next;
-			if (element.hasStartTag()) {
-				IStructuredDocumentRegion flatNode = element.getStartStructuredDocumentRegion();
-				if (flatNode != oldStructuredDocumentRegion) {
-					throw new StructuredDocumentRegionManagementException();
-				}
-				if (element.hasEndTag() || element.hasChildNodes()) {
-					element.setStartStructuredDocumentRegion(null);
-					removeStartTag(element);
-				} else {
-					removeNode(element);
-				}
-			} else {
-				Node child = element.getFirstChild();
-				if (child != null) {
-					this.context.setNextNode(child);
-					removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-					return;
-				}
-
-				if (!element.hasEndTag()) {
-					// implicit element
-					removeNode(element);
-					removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-					return;
-				}
-
-				IStructuredDocumentRegion flatNode = element.getEndStructuredDocumentRegion();
-				if (flatNode != oldStructuredDocumentRegion) {
-					throw new StructuredDocumentRegionManagementException();
-				}
-				removeNode(element);
-			}
-			return;
-		}
-
-		Node parent = this.context.getParentNode();
-		if (parent == null || parent.getNodeType() != Node.ELEMENT_NODE) {
-			throw new StructuredDocumentRegionManagementException();
-		}
-
-		ElementImpl end = (ElementImpl) parent;
-		if (end.hasEndTag()) {
-			IStructuredDocumentRegion flatNode = end.getEndStructuredDocumentRegion();
-			if (flatNode != oldStructuredDocumentRegion) {
-				throw new StructuredDocumentRegionManagementException();
-			}
-			if (!end.hasStartTag() && !end.hasChildNodes()) {
-				this.context.setNextNode(end);
-				removeNode(end);
-			} else {
-				end.setEndStructuredDocumentRegion(null);
-				removeEndTag(end);
-			}
-			return;
-		}
-
-		next = (NodeImpl) end.getNextSibling();
-		if (next != null) {
-			this.context.setNextNode(next);
-			removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-			return;
-		}
-
-		parent = (NodeImpl) end.getParentNode();
-		if (parent != null) {
-			this.context.setParentNode(parent);
-			removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-			return;
-		}
-	}
-
-	/**
-	 * replaceRegions method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 * @param newRegions
-	 *            java.util.Vector
-	 * @param oldRegions
-	 *            java.util.Vector
-	 */
-	void replaceRegions(IStructuredDocumentRegion flatNode, ITextRegionList newRegions, ITextRegionList oldRegions) {
-		if (flatNode == null)
-			return;
-		if (this.document == null)
-			return;
-		this.context = new XMLModelContext(this.document);
-
-		// optimize typical cases
-		String regionType = StructuredDocumentRegionUtil.getFirstRegionType(flatNode);
-		if (regionType == XMLRegionContext.XML_TAG_OPEN) {
-			changeStartTag(flatNode, newRegions, oldRegions);
-		} else if (regionType == XMLRegionContext.XML_END_TAG_OPEN) {
-			changeEndTag(flatNode, newRegions, oldRegions);
-		} else {
-			changeStructuredDocumentRegion(flatNode);
-		}
-	}
-
-	/**
-	 * replaceStructuredDocumentRegions method
-	 * 
-	 * @param newStructuredDocumentRegions
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegionList
-	 * @param oldStructuredDocumentRegions
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegionList
-	 */
-	void replaceStructuredDocumentRegions(IStructuredDocumentRegionList newStructuredDocumentRegions, IStructuredDocumentRegionList oldStructuredDocumentRegions) {
-		if (this.document == null)
-			return;
-		this.context = new XMLModelContext(this.document);
-
-		int newCount = (newStructuredDocumentRegions != null ? newStructuredDocumentRegions.getLength() : 0);
-		int oldCount = (oldStructuredDocumentRegions != null ? oldStructuredDocumentRegions.getLength() : 0);
-
-		if (oldCount > 0) {
-			setupContext(oldStructuredDocumentRegions.item(0));
-			// Node startParent = this.context.getParentNode();
-
-			Enumeration e = oldStructuredDocumentRegions.elements();
-			while (e.hasMoreElements()) {
-				IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement();
-				if (flatNode == null)
-					continue;
-				removeStructuredDocumentRegion(flatNode);
-			}
-		} else {
-			if (newCount == 0)
-				return;
-			setupContext(newStructuredDocumentRegions.item(0));
-		}
-		// make sure the parent is set to deepest level
-		// when end tag has been removed
-		this.context.setLast();
-
-		if (newCount > 0) {
-			Enumeration e = newStructuredDocumentRegions.elements();
-			while (e.hasMoreElements()) {
-				IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement();
-				if (flatNode == null)
-					continue;
-				insertStructuredDocumentRegion(flatNode);
-			}
-		}
-
-		cleanupText();
-		cleanupEndTag();
-	}
-
-	/**
-	 * setupContext method
-	 * 
-	 * @param flatNode
-	 *            com.ibm.sed.structuredDocument.IStructuredDocumentRegion
-	 */
-	private void setupContext(IStructuredDocumentRegion startStructuredDocumentRegion) {
-		int offset = startStructuredDocumentRegion.getStart();
-		if (offset < 0)
-			return;
-		NodeImpl root = (NodeImpl) this.context.getRootNode();
-		if (root == null)
-			return;
-
-		if (offset == 0) {
-			// at the beggining of document
-			Node child = root.getFirstChild();
-			if (child != null)
-				this.context.setNextNode(child);
-			else
-				this.context.setParentNode(root);
-			return;
-		}
-
-		NodeImpl node = (NodeImpl) root.getNodeAt(offset);
-		if (node == null) {
-			// might be at the end of document
-			this.context.setParentNode(root);
-			this.context.setLast();
-			return;
-		}
-
-		if (offset == node.getStartOffset()) {
-			this.context.setNextNode(node);
-			return;
-		}
-
-		if (node.getNodeType() == Node.TEXT_NODE) {
-			TextImpl text = (TextImpl) node;
-			Text nextText = text.splitText(startStructuredDocumentRegion);
-			// notify the change
-			text.notifyValueChanged();
-			if (nextText == null)
-				return; // error
-			this.context.setNextNode(nextText);
-			return;
-		}
-
-		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (offset >= ((NodeImpl) child).getEndOffset())
-				continue;
-			this.context.setNextNode(child);
-			return;
-		}
-		this.context.setParentNode(node);
-		this.context.setLast();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelUpdater.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelUpdater.java
deleted file mode 100644
index c9cab98..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelUpdater.java
+++ /dev/null
@@ -1,1647 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.document;
-
-
-
-import java.util.Enumeration;
-import java.util.Iterator;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.JSPTag;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLGenerator;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-
-/**
- * XMLModelUpdater class
- */
-public class XMLModelUpdater implements XMLJSPRegionContexts {
-	private int diff = 0;
-	private int gapLength = 0;
-	private int gapOffset = 0;
-	private IStructuredDocumentRegion gapStructuredDocumentRegion = null;
-	private XMLGenerator generator = null;
-	private XMLModelImpl model = null;
-	private NodeImpl nextNode = null;
-	private NodeImpl parentNode = null;
-
-	protected XMLModelUpdater(XMLModelImpl model) {
-		super();
-
-		if (model != null) {
-			this.model = model;
-			this.generator = model.getGenerator();
-		}
-	}
-
-	/**
-	 * changeAttrValue method
-	 * 
-	 * @param attrNode
-	 *            org.w3c.dom.Attr
-	 */
-	private void changeAttrName(Attr attrNode) {
-		if (attrNode == null)
-			return;
-
-		AttrImpl attr = (AttrImpl) attrNode;
-		ElementImpl element = (ElementImpl) attr.getOwnerElement();
-		if (element == null)
-			return;
-
-		if (element.isCommentTag()) {
-			changeStartTag(element);
-			return;
-		}
-
-		int offset = element.getStartOffset();
-		int start = offset;
-		int end = offset;
-
-		String name = attr.getName();
-		if (name == null)
-			name = new String();
-		ITextRegion nameRegion = attr.getNameRegion();
-		if (nameRegion == null)
-			return; // error
-		start += nameRegion.getStart();
-		// use getTextEnd() because getEnd() may include the tailing spaces
-		end += nameRegion.getTextEnd();
-
-		replaceSource(name, start, end);
-	}
-
-	/**
-	 * changeAttrValue method
-	 * 
-	 * @param attrNode
-	 *            org.w3c.dom.Attr
-	 */
-	private void changeAttrValue(Attr attrNode) {
-		if (attrNode == null)
-			return;
-
-		AttrImpl attr = (AttrImpl) attrNode;
-		ElementImpl element = (ElementImpl) attr.getOwnerElement();
-		if (element == null)
-			return;
-
-		if (element.isCommentTag()) {
-			changeStartTag(element);
-			return;
-		}
-
-		int offset = element.getStartOffset();
-		int start = offset;
-		int end = offset;
-
-		String value = null;
-		ITextRegion valueRegion = attr.getValueRegion();
-		if (valueRegion != null) {
-			char quote = 0; // no quote preference
-			// DW: 4/16/2003 due to change in structuredDocument ... we need a
-			// flatnode to
-			// get at region values. For now I'll assume this is always the
-			// first
-			// flatnode .. may need to make smarter later (e.g. to search for
-			// the flatnode that this.valueRegion belongs to.
-			IStructuredDocumentRegion documentRegion = element.getFirstStructuredDocumentRegion();
-			String oldValue = documentRegion.getText(valueRegion);
-			if (oldValue != null && oldValue.length() > 0) {
-				char firstChar = oldValue.charAt(0);
-				if (firstChar == '"' || firstChar == '\'') {
-					quote = firstChar;
-				}
-			}
-
-			ITextRegion startRegion = valueRegion;
-
-			value = this.generator.generateAttrValue(attr, quote);
-			if (value == null) {
-				value = new String();
-				// remove equal too
-				ITextRegion equalRegion = attr.getEqualRegion();
-				if (equalRegion != null)
-					startRegion = equalRegion;
-			}
-			attr.setValueRegion(valueRegion); // reset value
-
-			start += startRegion.getStart();
-			// use getTextEnd() because getEnd() may include the tailing
-			// spaces
-			end += valueRegion.getTextEnd();
-		} else {
-			ITextRegion equalRegion = attr.getEqualRegion();
-
-			value = this.generator.generateAttrValue(attr);
-			if (value == null) {
-				if (equalRegion == null)
-					return; // nothng to do
-				value = new String();
-				// remove equal
-				start += equalRegion.getStart();
-				end += equalRegion.getTextEnd();
-			} else {
-				if (equalRegion != null) {
-					// use getTextEnd() because getEnd() may include the
-					// tailing spaces
-					start += equalRegion.getTextEnd();
-				} else {
-					ITextRegion nameRegion = attr.getNameRegion();
-					if (nameRegion == null)
-						return; // must never happen
-					// use getTextEnd() because getEnd() may include the
-					// tailing spaces
-					start += nameRegion.getTextEnd();
-					value = '=' + value;
-				}
-				end = start;
-			}
-		}
-
-		replaceSource(value, start, end);
-	}
-
-	/**
-	 */
-	void changeEndTag(Element element) {
-		String source = this.generator.generateEndTag(element);
-		if (source == null)
-			return;
-		int length = source.length();
-		if (length == 0)
-			return;
-
-		ElementImpl impl = (ElementImpl) element;
-		int offset = impl.getEndStartOffset();
-		int start = offset;
-		int end = offset;
-		if (impl.hasEndTag()) {
-			end = impl.getEndOffset();
-			this.gapStructuredDocumentRegion = impl.getEndStructuredDocumentRegion();
-			impl.setEndStructuredDocumentRegion(new StructuredDocumentRegionProxy(offset, length));
-		}
-
-		replaceSource(source, start, end);
-	}
-
-	/**
-	 * changeName method
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	void changeName(Node node) {
-		if (node == null)
-			return;
-		if (getStructuredDocument() == null)
-			return;
-
-		// support changing name of attribute for setPrefix()
-		short nodeType = node.getNodeType();
-		if (nodeType == Node.ATTRIBUTE_NODE) {
-			changeAttrName((Attr) node);
-			return;
-		}
-
-		// not supported
-		return;
-	}
-
-	void changeRegion(IStructuredDocumentRegion flatNode, ITextRegion region) {
-		// future_TODO: optimize
-
-		NodeImpl root = (NodeImpl) this.model.getDocument();
-		this.parentNode = root;
-		this.nextNode = (NodeImpl) root.getFirstChild();
-
-		removeGapStructuredDocumentRegion(flatNode);
-		insertGapStructuredDocumentRegionBefore(flatNode.getStart());
-		changeStructuredDocumentRegion(flatNode);
-		insertGapStructuredDocumentRegionAfter(flatNode.getEnd());
-	}
-
-	/**
-	 * This is a fallback method to regenerate the start tag.
-	 */
-	void changeStartTag(Element element) {
-		if (element == null)
-			return;
-		ElementImpl impl = (ElementImpl) element;
-
-		if (!impl.hasStartTag() && !impl.hasEndTag()) {
-			// need to generate the start and the end tags
-			Node parent = element.getParentNode();
-			if (parent != null) {
-				replaceChild(parent, element, element);
-				return;
-			}
-			// else error
-		}
-
-		String source = this.generator.generateStartTag(element);
-		if (source == null)
-			return;
-		int length = source.length();
-		if (length == 0)
-			return;
-
-		int offset = impl.getStartOffset();
-		int start = offset;
-		int end = offset;
-		if (impl.hasStartTag()) {
-			end = impl.getStartEndOffset();
-			this.gapStructuredDocumentRegion = impl.getStartStructuredDocumentRegion();
-		}
-		impl.setStartStructuredDocumentRegion(new StructuredDocumentRegionProxy(offset, length));
-
-		replaceSource(source, start, end);
-	}
-
-	private void changeStructuredDocumentRegion(IStructuredDocumentRegion oldStructuredDocumentRegion) {
-		if (oldStructuredDocumentRegion == null)
-			return; // error
-		if (this.parentNode == null)
-			return; // error
-
-		int oldOffset = oldStructuredDocumentRegion.getStart();
-		int oldEnd = oldStructuredDocumentRegion.getEnd();
-		boolean isEndTag = false;
-
-		// find owner node
-		NodeImpl ownerNode = null;
-		while (this.parentNode != null) {
-			if (this.nextNode != null) {
-				IStructuredDocumentRegion nextStructuredDocumentRegion = this.nextNode.getStructuredDocumentRegion();
-				if (nextStructuredDocumentRegion != null) {
-					if (nextStructuredDocumentRegion == oldStructuredDocumentRegion) {
-						ownerNode = this.nextNode;
-						break;
-					}
-					int nextOffset = nextStructuredDocumentRegion.getStart();
-					if (nextOffset == oldOffset) { // found
-						ownerNode = this.nextNode;
-						break;
-					}
-					if (this.nextNode.getNodeType() == Node.TEXT_NODE) {
-						TextImpl text = (TextImpl) this.nextNode;
-						if (text.hasStructuredDocumentRegion(oldStructuredDocumentRegion)) {
-							ownerNode = this.nextNode;
-							break;
-						}
-						int nextEnd = nextStructuredDocumentRegion.getEnd();
-						if (nextOffset < oldEnd && nextEnd > oldOffset) {
-							ownerNode = this.nextNode;
-							break;
-						}
-					}
-				}
-
-				Node child = this.nextNode.getFirstChild();
-				if (child != null) {
-					this.parentNode = this.nextNode;
-					this.nextNode = (NodeImpl) child;
-					continue;
-				}
-
-				if (this.nextNode.getNodeType() == Node.ELEMENT_NODE) {
-					this.parentNode = this.nextNode;
-					this.nextNode = null;
-					continue;
-				}
-
-				this.nextNode = (NodeImpl) this.nextNode.getNextSibling();
-				if (this.nextNode != null)
-					continue;
-			}
-
-			if (this.parentNode.getNodeType() == Node.ELEMENT_NODE) {
-				ElementImpl element = (ElementImpl) this.parentNode;
-				IStructuredDocumentRegion endStructuredDocumentRegion = element.getEndStructuredDocumentRegion();
-				if (endStructuredDocumentRegion != null) {
-					if (endStructuredDocumentRegion == oldStructuredDocumentRegion) {
-						ownerNode = this.parentNode;
-						isEndTag = true;
-						break;
-					}
-					int endOffset = endStructuredDocumentRegion.getStart();
-					if (endOffset == oldOffset) { // found
-						ownerNode = this.parentNode;
-						isEndTag = true;
-						break;
-					}
-				}
-			}
-
-			this.nextNode = (NodeImpl) this.parentNode.getNextSibling();
-			this.parentNode = (NodeImpl) this.parentNode.getParentNode();
-		}
-		if (ownerNode == null)
-			throw new StructuredDocumentRegionManagementException();
-
-		short nodeType = ownerNode.getNodeType();
-		if (nodeType == Node.ELEMENT_NODE) {
-			ElementImpl element = (ElementImpl) ownerNode;
-			if (isEndTag) {
-				element.setEndStructuredDocumentRegion(oldStructuredDocumentRegion);
-			} else {
-				element.setStartStructuredDocumentRegion(oldStructuredDocumentRegion);
-				updateAttrRegions(element, oldStructuredDocumentRegion);
-			}
-		} else if (nodeType == Node.TEXT_NODE) {
-			TextImpl text = (TextImpl) ownerNode;
-
-			IStructuredDocumentRegion flatNode = text.getStructuredDocumentRegion();
-			if (flatNode == oldStructuredDocumentRegion) {
-				int newOffset = oldOffset;
-				int newEnd = oldEnd;
-				if (oldOffset == this.gapOffset) {
-					newOffset += this.diff;
-				} else {
-					newEnd = this.gapOffset;
-				}
-				int newLength = newEnd - newOffset;
-				IStructuredDocumentRegion newStructuredDocumentRegion = new StructuredDocumentRegionProxy(newOffset, newLength, oldStructuredDocumentRegion);
-				text.setStructuredDocumentRegion(newStructuredDocumentRegion);
-
-				if (oldEnd > newEnd) {
-					this.nextNode = (NodeImpl) text.getNextSibling();
-					changeStructuredDocumentRegion(oldStructuredDocumentRegion);
-				}
-				return;
-			}
-
-			if (flatNode instanceof StructuredDocumentRegionProxy) {
-				StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) flatNode;
-				int offset = proxy.getOffset();
-				int end = offset + proxy.getLength();
-				if (proxy.getStructuredDocumentRegion() == null) {
-					if (offset == oldOffset && end == oldEnd) {
-						text.setStructuredDocumentRegion(oldStructuredDocumentRegion);
-					} else {
-						if (end > oldEnd) {
-							StructuredDocumentRegionContainer container = new StructuredDocumentRegionContainer();
-							container.appendStructuredDocumentRegion(oldStructuredDocumentRegion);
-							proxy.setOffset(oldEnd);
-							proxy.setLength(end - oldEnd);
-							container.appendStructuredDocumentRegion(proxy);
-							text.setStructuredDocumentRegion(container);
-						} else {
-							proxy.setStructuredDocumentRegion(oldStructuredDocumentRegion);
-
-							if (end < oldEnd) { // to be shared
-								this.nextNode = (NodeImpl) text.getNextSibling();
-								changeStructuredDocumentRegion(oldStructuredDocumentRegion);
-							}
-						}
-					}
-					return;
-				}
-
-				if (offset >= this.gapOffset) {
-					proxy.setOffset(offset + this.diff);
-					end += this.diff;
-				}
-				if (end < oldEnd) { // to be shared
-					this.nextNode = (NodeImpl) text.getNextSibling();
-					changeStructuredDocumentRegion(oldStructuredDocumentRegion);
-					return;
-				}
-			} else if (flatNode instanceof StructuredDocumentRegionContainer) {
-				StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-				int count = container.getStructuredDocumentRegionCount();
-				for (int i = 0; i < count; i++) {
-					IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-					if (content == null)
-						continue; // error
-					if (content == oldStructuredDocumentRegion) {
-						int newOffset = oldOffset;
-						int newEnd = oldEnd;
-						if (oldOffset == this.gapOffset) {
-							newOffset += this.diff;
-						} else {
-							newEnd = this.gapOffset;
-						}
-						int newLength = newEnd - newOffset;
-						IStructuredDocumentRegion newStructuredDocumentRegion = new StructuredDocumentRegionProxy(newOffset, newLength, oldStructuredDocumentRegion);
-						container.replaceStructuredDocumentRegion(newStructuredDocumentRegion, i);
-
-						if (oldEnd > newEnd) { // to be shared
-							this.nextNode = (NodeImpl) text.getNextSibling();
-							changeStructuredDocumentRegion(oldStructuredDocumentRegion);
-						}
-						return;
-					}
-
-					if (content instanceof StructuredDocumentRegionProxy) {
-						StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-						int offset = proxy.getOffset();
-						int end = offset + proxy.getLength();
-						if (end <= oldOffset)
-							continue;
-						if (proxy.getStructuredDocumentRegion() == null) {
-							if (offset == oldOffset && end == oldEnd) {
-								container.replaceStructuredDocumentRegion(oldStructuredDocumentRegion, i);
-							} else {
-								if (end > oldEnd) {
-									container.insertStructuredDocumentRegion(oldStructuredDocumentRegion, i);
-									proxy.setOffset(oldEnd);
-									proxy.setLength(end - oldEnd);
-								} else {
-									proxy.setStructuredDocumentRegion(oldStructuredDocumentRegion);
-
-									if (end < oldEnd) { // to be shared
-										this.nextNode = (NodeImpl) text.getNextSibling();
-										changeStructuredDocumentRegion(oldStructuredDocumentRegion);
-									}
-								}
-							}
-							return;
-						}
-
-						if (offset >= this.gapOffset) {
-							proxy.setOffset(offset + this.diff);
-							end += this.diff;
-						}
-						if (end < oldEnd) { // to be shared
-							this.nextNode = (NodeImpl) text.getNextSibling();
-							changeStructuredDocumentRegion(oldStructuredDocumentRegion);
-							return;
-						}
-					}
-				}
-			} else {
-				throw new StructuredDocumentRegionManagementException();
-			}
-		} else {
-			ownerNode.setStructuredDocumentRegion(oldStructuredDocumentRegion);
-		}
-	}
-
-	/**
-	 */
-	private void changeTextData(Text text) {
-		if (text == null)
-			return;
-
-		String source = this.generator.generateSource(text);
-		if (source == null)
-			source = new String();
-		int length = source.length();
-
-		TextImpl impl = (TextImpl) text;
-		int start = impl.getStartOffset();
-		int end = impl.getEndOffset();
-		int offset = start;
-
-		// make sure previous tag is closed
-		Node prev = text.getPreviousSibling();
-		if (prev != null) {
-			String preTag = getCloseTag((XMLNode) prev);
-			if (preTag != null && preTag.length() > 0) {
-				offset += preTag.length();
-				source = preTag + source;
-			}
-		} else {
-			Node parent = text.getParentNode();
-			if (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
-				ElementImpl element = (ElementImpl) parent;
-				String preTag = getStartCloseTag(element);
-				if (preTag != null && preTag.length() > 0) {
-					offset += preTag.length();
-					StringBuffer buffer = new StringBuffer();
-					buffer.append(preTag);
-					buffer.append(source);
-					if (text.getNextSibling() == null && !element.hasEndTag() && (element.isJSPContainer() || element.isCDATAContainer())) {
-						// need to generate the end tag
-						String postTag = this.generator.generateEndTag(element);
-						if (postTag != null) {
-							int postLength = postTag.length();
-							if (postLength > 0) {
-								buffer.append(postTag);
-								int postOffset = offset + length;
-								IStructuredDocumentRegion flatNode = new StructuredDocumentRegionProxy(postOffset, postLength);
-								element.setEndStructuredDocumentRegion(flatNode);
-							}
-						}
-					}
-					source = buffer.toString();
-				}
-			}
-		}
-
-		this.gapStructuredDocumentRegion = impl.getStructuredDocumentRegion();
-		IStructuredDocumentRegion newStructuredDocumentRegion = null;
-		if (length > 0)
-			newStructuredDocumentRegion = new StructuredDocumentRegionProxy(offset, length);
-		impl.setStructuredDocumentRegion(newStructuredDocumentRegion);
-
-		replaceSource(source, start, end);
-	}
-
-	/**
-	 * changeValue method
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 */
-	void changeValue(Node node) {
-		if (node == null)
-			return;
-		if (getStructuredDocument() == null)
-			return;
-
-		short nodeType = node.getNodeType();
-		if (nodeType == Node.TEXT_NODE) {
-			changeTextData((Text) node);
-			return;
-		}
-		if (nodeType == Node.ATTRIBUTE_NODE) {
-			changeAttrValue((Attr) node);
-			return;
-		}
-		if (nodeType == Node.ELEMENT_NODE) {
-			changeStartTag((Element) node);
-			return;
-		}
-
-		String source = this.generator.generateSource(node);
-		if (source == null)
-			source = new String();
-		int length = source.length();
-
-		NodeImpl impl = (NodeImpl) node;
-		int start = impl.getStartOffset();
-		int end = impl.getEndOffset();
-
-		this.gapStructuredDocumentRegion = impl.getStructuredDocumentRegion();
-		IStructuredDocumentRegion flatNode = null;
-		if (length > 0)
-			flatNode = new StructuredDocumentRegionProxy(start, length);
-		impl.setStructuredDocumentRegion(flatNode);
-
-		replaceSource(source, start, end);
-	}
-
-	/**
-	 */
-	private String getAttrValueClose(XMLElement element) {
-		if (element == null)
-			return null;
-
-		IStructuredDocumentRegion flatNode = element.getStartStructuredDocumentRegion();
-		if (flatNode == null)
-			return null;
-		ITextRegion region = StructuredDocumentRegionUtil.getLastRegion(flatNode);
-		if (region == null || region.getType() != XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-			return null;
-		String value = flatNode.getText(region);
-		if (value == null)
-			return null;
-		int length = value.length();
-		if (length == 0)
-			return null;
-
-		// check open JSP tag
-		boolean closeJSPTag = false;
-		int offset = value.indexOf(JSPTag.TAG_OPEN);
-		while (offset >= 0) {
-			offset = value.indexOf(JSPTag.TAG_CLOSE, offset + 2);
-			if (offset < 0) {
-				closeJSPTag = true;
-				break;
-			}
-			offset = value.indexOf(JSPTag.TAG_OPEN, offset + 2);
-		}
-
-		// check quote
-		boolean closeQuote = false;
-		char firstChar = value.charAt(0);
-		if (firstChar == '"' || firstChar == '\'') {
-			if (closeJSPTag || length == 1 || value.charAt(length - 1) != firstChar) {
-				closeQuote = true;
-			}
-		}
-
-		if (!closeJSPTag && !closeQuote)
-			return null;
-
-		StringBuffer buffer = new StringBuffer();
-		if (closeJSPTag)
-			buffer.append(JSPTag.TAG_CLOSE);
-		if (closeQuote)
-			buffer.append(firstChar);
-		return buffer.toString();
-	}
-
-	/**
-	 * Gather close tags recursively.
-	 */
-	private String getCloseTag(XMLNode node) {
-		if (node == null || node.isClosed())
-			return null;
-
-		if (node.getNodeType() != Node.ELEMENT_NODE) {
-			return this.generator.generateCloseTag(node);
-		}
-
-		ElementImpl element = (ElementImpl) node;
-		if (element.hasEndTag()) {
-			// end tag is not closed
-			return this.generator.generateCloseTag(element);
-		}
-
-		// no end tag
-		int offset = element.getEndOffset();
-		StringBuffer buffer = new StringBuffer();
-
-		XMLNode lastChild = (XMLNode) element.getLastChild();
-		if (lastChild == null) {
-			if (!element.isStartTagClosed()) {
-				if (element.preferEmptyTag())
-					element.setEmptyTag(true);
-				String closeTag = getStartCloseTag(element);
-				if (closeTag != null) {
-					int length = closeTag.length();
-					if (length > 0) {
-						buffer.append(closeTag);
-						offset += length;
-					}
-				}
-			}
-		} else {
-			String closeTag = getCloseTag(lastChild);
-			if (closeTag != null) {
-				int length = closeTag.length();
-				if (length > 0) {
-					buffer.append(closeTag);
-					offset += length;
-				}
-			}
-		}
-
-		String endTag = this.generator.generateEndTag(element);
-		if (endTag != null) {
-			int length = endTag.length();
-			if (length > 0) {
-				buffer.append(endTag);
-				IStructuredDocumentRegion flatNode = new StructuredDocumentRegionProxy(offset, length);
-				element.setEndStructuredDocumentRegion(flatNode);
-			}
-		}
-
-		return buffer.toString();
-	}
-
-	/**
-	 */
-	private String getStartCloseTag(XMLElement element) {
-		if (element == null || element.isStartTagClosed())
-			return null;
-
-		StringBuffer buffer = new StringBuffer();
-		String attrValueClose = getAttrValueClose(element);
-		if (attrValueClose != null)
-			buffer.append(attrValueClose);
-		String closeTag = this.generator.generateCloseTag(element);
-		if (closeTag != null)
-			buffer.append(closeTag);
-		return buffer.toString();
-	}
-
-	private IStructuredDocument getStructuredDocument() {
-		if (model == null)
-			return null;
-		return model.getStructuredDocument();
-	}
-
-	/**
-	 */
-	void initialize() {
-		this.gapStructuredDocumentRegion = null;
-		this.gapOffset = 0;
-		this.gapLength = 0;
-		this.diff = 0;
-		this.parentNode = null;
-		this.nextNode = null;
-	}
-
-	private void insertGapStructuredDocumentRegionAfter(int endOffset) {
-		if (this.gapStructuredDocumentRegion == null)
-			return;
-
-		if (this.gapStructuredDocumentRegion instanceof StructuredDocumentRegionProxy) {
-			StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) this.gapStructuredDocumentRegion;
-			IStructuredDocumentRegion flatNode = proxy.getStructuredDocumentRegion();
-			if (flatNode != null)
-				insertStructuredDocumentRegion(flatNode);
-		} else if (this.gapStructuredDocumentRegion instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) this.gapStructuredDocumentRegion;
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				if (content == null)
-					continue;
-				if (content.getStart() < endOffset)
-					continue;
-				if (content instanceof StructuredDocumentRegionProxy) {
-					StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-					IStructuredDocumentRegion flatNode = proxy.getStructuredDocumentRegion();
-					if (flatNode != null)
-						insertStructuredDocumentRegion(flatNode);
-				} else {
-					insertStructuredDocumentRegion(content);
-				}
-			}
-		} else {
-			insertStructuredDocumentRegion(this.gapStructuredDocumentRegion);
-		}
-	}
-
-	private void insertGapStructuredDocumentRegionBefore(int startOffset) {
-		if (this.gapStructuredDocumentRegion == null)
-			return;
-
-		if (this.gapStructuredDocumentRegion instanceof StructuredDocumentRegionProxy) {
-			StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) this.gapStructuredDocumentRegion;
-			IStructuredDocumentRegion flatNode = proxy.getStructuredDocumentRegion();
-			if (flatNode != null)
-				insertStructuredDocumentRegion(flatNode);
-		} else if (this.gapStructuredDocumentRegion instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) this.gapStructuredDocumentRegion;
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				if (content == null)
-					continue;
-				if (content.getStart() >= startOffset)
-					return;
-				if (content instanceof StructuredDocumentRegionProxy) {
-					StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-					IStructuredDocumentRegion flatNode = proxy.getStructuredDocumentRegion();
-					if (flatNode != null)
-						insertStructuredDocumentRegion(flatNode);
-				} else {
-					insertStructuredDocumentRegion(content);
-				}
-			}
-		} else {
-			insertStructuredDocumentRegion(this.gapStructuredDocumentRegion);
-		}
-	}
-
-	/**
-	 */
-	private void insertStructuredDocumentRegion(IStructuredDocumentRegion newStructuredDocumentRegion) {
-		if (newStructuredDocumentRegion == null)
-			return; // error
-		if (this.parentNode == null)
-			return; // error
-
-		int newOffset = newStructuredDocumentRegion.getStart();
-		int newEnd = newStructuredDocumentRegion.getEnd();
-		boolean isEndTag = false;
-
-		// find owner node
-		NodeImpl ownerNode = null;
-		while (this.parentNode != null) {
-			if (this.nextNode != null) {
-				IStructuredDocumentRegion nextStructuredDocumentRegion = this.nextNode.getStructuredDocumentRegion();
-				if (nextStructuredDocumentRegion != null) {
-					int nextOffset = nextStructuredDocumentRegion.getStart();
-					if (nextOffset == newOffset) { // found
-						ownerNode = this.nextNode;
-						break;
-					}
-					if (this.nextNode.getNodeType() == Node.TEXT_NODE) {
-						int nextEnd = nextStructuredDocumentRegion.getEnd();
-						if (nextOffset < newEnd && nextEnd > newOffset) {
-							ownerNode = this.nextNode;
-							break;
-						}
-					}
-				}
-
-				Node child = this.nextNode.getFirstChild();
-				if (child != null) {
-					this.parentNode = this.nextNode;
-					this.nextNode = (NodeImpl) child;
-					continue;
-				}
-
-				if (this.nextNode.getNodeType() == Node.ELEMENT_NODE) {
-					this.parentNode = this.nextNode;
-					this.nextNode = null;
-					continue;
-				}
-
-				this.nextNode = (NodeImpl) this.nextNode.getNextSibling();
-				if (this.nextNode != null)
-					continue;
-			}
-
-			if (this.parentNode.getNodeType() == Node.ELEMENT_NODE) {
-				ElementImpl element = (ElementImpl) this.parentNode;
-				IStructuredDocumentRegion endStructuredDocumentRegion = element.getEndStructuredDocumentRegion();
-				if (endStructuredDocumentRegion != null) {
-					int endOffset = endStructuredDocumentRegion.getStart();
-					if (endOffset == newOffset) { // found
-						ownerNode = this.parentNode;
-						isEndTag = true;
-						break;
-					}
-				}
-			}
-
-			this.nextNode = (NodeImpl) this.parentNode.getNextSibling();
-			this.parentNode = (NodeImpl) this.parentNode.getParentNode();
-		}
-		if (ownerNode == null)
-			throw new StructuredDocumentRegionManagementException();
-
-		short nodeType = ownerNode.getNodeType();
-		if (nodeType == Node.ELEMENT_NODE) {
-			ElementImpl element = (ElementImpl) ownerNode;
-			if (isEndTag) {
-				element.setEndStructuredDocumentRegion(newStructuredDocumentRegion);
-			} else {
-				element.setStartStructuredDocumentRegion(newStructuredDocumentRegion);
-				updateAttrRegions(element, newStructuredDocumentRegion);
-			}
-		} else if (nodeType == Node.TEXT_NODE) {
-			TextImpl text = (TextImpl) ownerNode;
-			IStructuredDocumentRegion oldStructuredDocumentRegion = text.getStructuredDocumentRegion();
-			if (oldStructuredDocumentRegion == null) {
-				throw new StructuredDocumentRegionManagementException();
-			}
-			int oldOffset = oldStructuredDocumentRegion.getStart();
-			int oldEnd = oldStructuredDocumentRegion.getEnd();
-			if (oldOffset == newOffset && oldEnd == newEnd) {
-				text.setStructuredDocumentRegion(newStructuredDocumentRegion);
-				return;
-			}
-
-			if (oldStructuredDocumentRegion instanceof StructuredDocumentRegionProxy) {
-				StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) oldStructuredDocumentRegion;
-				if (oldEnd > newEnd) {
-					StructuredDocumentRegionContainer container = new StructuredDocumentRegionContainer();
-					if (oldOffset == newOffset) {
-						container.appendStructuredDocumentRegion(newStructuredDocumentRegion);
-					} else {
-						StructuredDocumentRegionProxy newProxy = new StructuredDocumentRegionProxy();
-						newProxy.setOffset(oldOffset);
-						newProxy.setLength(newEnd - oldOffset);
-						newProxy.setStructuredDocumentRegion(newStructuredDocumentRegion);
-						container.appendStructuredDocumentRegion(newProxy);
-					}
-					proxy.setOffset(newEnd);
-					proxy.setLength(oldEnd - newEnd);
-					container.appendStructuredDocumentRegion(proxy);
-					text.setStructuredDocumentRegion(container);
-				} else {
-					proxy.setStructuredDocumentRegion(newStructuredDocumentRegion);
-
-					if (oldEnd < newEnd) { // to be shared
-						this.nextNode = (NodeImpl) text.getNextSibling();
-						insertStructuredDocumentRegion(newStructuredDocumentRegion);
-					}
-				}
-				return;
-			}
-
-			if (oldStructuredDocumentRegion instanceof StructuredDocumentRegionContainer) {
-				StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) oldStructuredDocumentRegion;
-				int count = container.getStructuredDocumentRegionCount();
-				for (int i = 0; i < count; i++) {
-					IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-					if (content == null)
-						continue; // error
-					int offset = content.getStart();
-					int end = content.getEnd();
-					if (end <= newOffset)
-						continue;
-					if (offset == newOffset && end == newEnd) {
-						container.replaceStructuredDocumentRegion(newStructuredDocumentRegion, i);
-						return;
-					}
-
-					if (content instanceof StructuredDocumentRegionProxy) {
-						StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-						if (end > newEnd) {
-							if (offset == newOffset) {
-								container.insertStructuredDocumentRegion(newStructuredDocumentRegion, i);
-							} else {
-								StructuredDocumentRegionProxy newProxy = new StructuredDocumentRegionProxy();
-								newProxy.setOffset(offset);
-								newProxy.setLength(newEnd - offset);
-								newProxy.setStructuredDocumentRegion(newStructuredDocumentRegion);
-								container.insertStructuredDocumentRegion(newProxy, i);
-							}
-							proxy.setOffset(newEnd);
-							proxy.setLength(end - newEnd);
-							return;
-						} else {
-							proxy.setStructuredDocumentRegion(newStructuredDocumentRegion);
-							if (end == newEnd)
-								return;
-						}
-					}
-				}
-
-				if (oldEnd < newEnd) { // to be shared
-					this.nextNode = (NodeImpl) text.getNextSibling();
-					insertStructuredDocumentRegion(newStructuredDocumentRegion);
-				}
-				return;
-			} else {
-				throw new StructuredDocumentRegionManagementException();
-			}
-		} else {
-			ownerNode.setStructuredDocumentRegion(newStructuredDocumentRegion);
-		}
-	}
-
-	private void removeGapStructuredDocumentRegion(IStructuredDocumentRegion oldStructuredDocumentRegion) {
-		if (this.gapStructuredDocumentRegion == null)
-			return;
-
-		if (this.gapStructuredDocumentRegion == oldStructuredDocumentRegion) {
-			this.gapStructuredDocumentRegion = null;
-			return;
-		}
-
-		if (this.gapStructuredDocumentRegion instanceof StructuredDocumentRegionProxy) {
-			StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) this.gapStructuredDocumentRegion;
-			IStructuredDocumentRegion flatNode = proxy.getStructuredDocumentRegion();
-			if (flatNode == oldStructuredDocumentRegion)
-				this.gapStructuredDocumentRegion = null;
-		} else if (this.gapStructuredDocumentRegion instanceof StructuredDocumentRegionContainer) {
-			StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) this.gapStructuredDocumentRegion;
-			int count = container.getStructuredDocumentRegionCount();
-			for (int i = 0; i < count; i++) {
-				IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-				if (content == null)
-					continue;
-				if (content == oldStructuredDocumentRegion) {
-					if (count > 1)
-						container.removeStructuredDocumentRegion(i);
-					else
-						this.gapStructuredDocumentRegion = null;
-					return;
-				}
-				if (content instanceof StructuredDocumentRegionProxy) {
-					StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-					if (proxy.getStructuredDocumentRegion() == oldStructuredDocumentRegion) {
-						if (count > 1)
-							container.removeStructuredDocumentRegion(i);
-						else
-							this.gapStructuredDocumentRegion = null;
-						return;
-					}
-				}
-			}
-		}
-	}
-
-	private void removeStructuredDocumentRegion(IStructuredDocumentRegion oldStructuredDocumentRegion) {
-		if (oldStructuredDocumentRegion == null)
-			return; // error
-		if (this.parentNode == null)
-			return; // error
-
-		int gapEnd = this.gapOffset + this.gapLength;
-		int oldOffset = oldStructuredDocumentRegion.getStart();
-		int oldEnd = oldStructuredDocumentRegion.getEnd();
-		if (oldOffset >= this.gapOffset && oldEnd <= gapEnd)
-			return; // do nothing
-		int oldLength = oldEnd - oldOffset;
-		if (oldOffset >= gapEnd)
-			oldOffset += this.diff;
-
-		// find owner node
-		NodeImpl ownerNode = null;
-		ElementImpl ownerEndTag = null;
-		TextImpl ownerText = null;
-		while (this.parentNode != null) {
-			if (this.nextNode != null) {
-				if (this.nextNode.getStructuredDocumentRegion() == oldStructuredDocumentRegion) {
-					ownerNode = this.nextNode;
-					break;
-				}
-				if (this.nextNode.getNodeType() == Node.TEXT_NODE) {
-					TextImpl text = (TextImpl) this.nextNode;
-					if (text.hasStructuredDocumentRegion(oldStructuredDocumentRegion)) {
-						ownerNode = this.nextNode;
-						ownerText = text;
-						break;
-					}
-				}
-
-				Node child = this.nextNode.getFirstChild();
-				if (child != null) {
-					this.parentNode = this.nextNode;
-					this.nextNode = (NodeImpl) child;
-					continue;
-				}
-
-				if (this.nextNode.getNodeType() == Node.ELEMENT_NODE) {
-					this.parentNode = this.nextNode;
-					this.nextNode = null;
-					continue;
-				}
-
-				this.nextNode = (NodeImpl) this.nextNode.getNextSibling();
-				if (this.nextNode != null)
-					continue;
-			}
-
-			if (this.parentNode.getNodeType() == Node.ELEMENT_NODE) {
-				ElementImpl element = (ElementImpl) this.parentNode;
-				if (element.getEndStructuredDocumentRegion() == oldStructuredDocumentRegion) {
-					ownerNode = this.parentNode;
-					ownerEndTag = element;
-					break;
-				}
-			}
-
-			this.nextNode = (NodeImpl) this.parentNode.getNextSibling();
-			this.parentNode = (NodeImpl) this.parentNode.getParentNode();
-		}
-		if (ownerNode == null)
-			throw new StructuredDocumentRegionManagementException();
-
-		if (ownerText != null) {
-			IStructuredDocumentRegion flatNode = ownerText.getStructuredDocumentRegion();
-			if (flatNode == oldStructuredDocumentRegion) {
-				IStructuredDocumentRegion newStructuredDocumentRegion = new StructuredDocumentRegionProxy(oldOffset, oldLength);
-				ownerText.setStructuredDocumentRegion(newStructuredDocumentRegion);
-				return;
-			}
-
-			if (flatNode instanceof StructuredDocumentRegionProxy) {
-				StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) flatNode;
-				if (proxy.getStructuredDocumentRegion() != oldStructuredDocumentRegion) {
-					throw new StructuredDocumentRegionManagementException();
-				}
-				int offset = proxy.getOffset();
-				int end = offset + proxy.getLength();
-				if (offset >= this.gapOffset) {
-					proxy.setOffset(offset + this.diff);
-				}
-				proxy.setStructuredDocumentRegion(null);
-				if (end < oldEnd && (end < this.gapOffset || oldEnd > gapEnd)) { // has
-					// shared
-					removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-					return;
-				}
-			} else if (flatNode instanceof StructuredDocumentRegionContainer) {
-				StructuredDocumentRegionContainer container = (StructuredDocumentRegionContainer) flatNode;
-				int count = container.getStructuredDocumentRegionCount();
-				for (int i = 0; i < count; i++) {
-					IStructuredDocumentRegion content = container.getStructuredDocumentRegion(i);
-					if (content == null)
-						continue; // error
-					if (content == oldStructuredDocumentRegion) {
-						IStructuredDocumentRegion newStructuredDocumentRegion = new StructuredDocumentRegionProxy(oldOffset, oldLength);
-						container.replaceStructuredDocumentRegion(newStructuredDocumentRegion, i);
-						return;
-					}
-
-					if (content instanceof StructuredDocumentRegionProxy) {
-						StructuredDocumentRegionProxy proxy = (StructuredDocumentRegionProxy) content;
-						if (proxy.getStructuredDocumentRegion() == oldStructuredDocumentRegion) {
-							int offset = proxy.getOffset();
-							int end = offset + proxy.getLength();
-							if (offset >= this.gapOffset) {
-								proxy.setOffset(offset + this.diff);
-							}
-							proxy.setStructuredDocumentRegion(null);
-							if (end < oldEnd && (end < this.gapOffset || oldEnd > gapEnd)) { // has
-								// shared
-								removeStructuredDocumentRegion(oldStructuredDocumentRegion);
-								return;
-							}
-						}
-					}
-				}
-			} else {
-				throw new StructuredDocumentRegionManagementException();
-			}
-		} else {
-			IStructuredDocumentRegion newStructuredDocumentRegion = new StructuredDocumentRegionProxy(oldOffset, oldLength);
-			if (ownerEndTag != null) {
-				ownerEndTag.setEndStructuredDocumentRegion(newStructuredDocumentRegion);
-			} else {
-				ownerNode.setStructuredDocumentRegion(newStructuredDocumentRegion);
-			}
-		}
-	}
-
-	/**
-	 * replaceAttr method
-	 * 
-	 * @param ownerElement
-	 *            org.w3c.dom.Element
-	 * @param newAttr
-	 *            org.w3c.dom.Attr
-	 * @param oldAttr
-	 *            org.w3c.dom.Attr
-	 */
-	void replaceAttr(Element ownerElement, Attr newAttr, Attr oldAttr) {
-		if (ownerElement == null)
-			return;
-		if (getStructuredDocument() == null)
-			return;
-
-		ElementImpl element = (ElementImpl) ownerElement;
-		if (!element.hasStartTag()) {
-			changeStartTag(element);
-			return;
-		}
-		if (element.isCommentTag()) {
-			changeStartTag(element);
-			return;
-		}
-
-		int offset = element.getStartOffset();
-		int start = offset;
-		int end = offset;
-
-		boolean insertSpace = false;
-		String attrValueClose = null;
-		if (oldAttr != null) {
-			AttrImpl impl = (AttrImpl) oldAttr;
-			ITextRegion nameRegion = impl.getNameRegion();
-			if (nameRegion == null)
-				return; // must never happen
-			ITextRegion lastRegion = impl.getValueRegion();
-			if (lastRegion != null) {
-				end += lastRegion.getEnd();
-			} else {
-				lastRegion = impl.getEqualRegion();
-				if (lastRegion != null) {
-					end += lastRegion.getEnd();
-				} else {
-					end += nameRegion.getEnd();
-					lastRegion = nameRegion;
-				}
-			}
-			// check there are extra space before the last attribute
-			IStructuredDocumentRegion flatNode = element.getStartStructuredDocumentRegion();
-			if (flatNode == null)
-				return; // must never happen
-			ITextRegionList regions = flatNode.getRegions();
-			if (regions == null)
-				return; // must never happen
-			ITextRegion prevRegion = null;
-			ITextRegion nextRegion = null;
-			for (int i = 0; i < regions.size(); i++) {
-				ITextRegion region = regions.get(i);
-				if (region == nameRegion) {
-					if (i > 0) {
-						prevRegion = regions.get(i - 1);
-					}
-				}
-				if (region == lastRegion) {
-					if (i + 1 < regions.size()) {
-						nextRegion = regions.get(i + 1);
-					}
-					break;
-				}
-			}
-			boolean isLastAttr = false;
-			if (nextRegion != null) {
-				String regionType = nextRegion.getType();
-				if (regionType == XMLRegionContext.XML_TAG_CLOSE || regionType == XMLRegionContext.XML_EMPTY_TAG_CLOSE || regionType == JSP_CLOSE || regionType == JSP_DIRECTIVE_CLOSE) {
-					isLastAttr = true;
-				}
-			}
-			if (isLastAttr && prevRegion != null) {
-				start += prevRegion.getTextEnd();
-			} else {
-				start += nameRegion.getStart();
-			}
-
-			//		impl.resetRegions(ownerElement);
-			impl.resetRegions(element);
-		} else { // append attribute
-			IStructuredDocumentRegion flatNode = element.getStartStructuredDocumentRegion();
-			if (flatNode == null)
-				return; // must never happen
-
-			attrValueClose = getAttrValueClose(element);
-			if (attrValueClose != null && attrValueClose.length() > 0) {
-				insertSpace = true;
-				start = flatNode.getEndOffset();
-				end = start;
-			} else {
-				ITextRegionList regions = flatNode.getRegions();
-				if (regions == null)
-					return; // must never happen
-				int attrStart = 0;
-				for (int i = regions.size() - 1; i >= 0; i--) {
-					ITextRegion region = regions.get(i);
-					String regionType = region.getType();
-					if (regionType == XMLRegionContext.XML_TAG_CLOSE || regionType == XMLRegionContext.XML_EMPTY_TAG_CLOSE || regionType == JSP_CLOSE || regionType == JSP_DIRECTIVE_CLOSE)
-						continue;
-					int regionEnd = region.getEnd();
-					if (regionEnd == region.getTextEnd())
-						insertSpace = true;
-					attrStart = regionEnd;
-					break;
-				}
-				if (attrStart == 0)
-					return; // not found, must never happen
-				start += attrStart;
-				end = start;
-			}
-		}
-
-		String source = null;
-		if (newAttr != null) {
-			int size = 2;
-			if (attrValueClose != null)
-				size += attrValueClose.length();
-			String name = this.generator.generateAttrName(newAttr);
-			if (name != null)
-				size += name.length();
-			String value = this.generator.generateAttrValue(newAttr);
-			if (value != null)
-				size += value.length();
-			StringBuffer buffer = new StringBuffer(size);
-			if (attrValueClose != null)
-				buffer.append(attrValueClose);
-			if (insertSpace)
-				buffer.append(' ');
-			buffer.append(name);
-			if (value != null) {
-				buffer.append('=');
-				buffer.append(value);
-			}
-			source = buffer.toString();
-		}
-
-		replaceSource(source, start, end);
-	}
-
-	/**
-	 * replaceChild method
-	 * 
-	 * @param parentNode
-	 *            org.w3c.dom.Node
-	 * @param newChild
-	 *            org.w3c.dom.Node
-	 * @param oldChild
-	 *            org.w3c.dom.Node
-	 */
-	void replaceChild(Node parentNode, Node newChild, Node oldChild) {
-		if (parentNode == null)
-			return;
-		if (newChild == null && oldChild == null)
-			return;
-		if (getStructuredDocument() == null)
-			return;
-
-		int start = 0;
-		int end = 0;
-		String preTag = null;
-		String postTag = null;
-		ElementImpl postElement = null;
-		if (oldChild != null) {
-			NodeImpl node = (NodeImpl) oldChild;
-			start = node.getStartOffset();
-			end = node.getEndOffset();
-			if (oldChild.getNodeType() == Node.TEXT_NODE) {
-				this.gapStructuredDocumentRegion = node.getStructuredDocumentRegion();
-			}
-			node.resetStructuredDocumentRegions(); // reset values from
-			// IStructuredDocumentRegion
-		} else {
-			NodeImpl prev = (NodeImpl) newChild.getPreviousSibling();
-			if (prev != null) {
-				start = prev.getEndOffset();
-				end = start;
-				preTag = getCloseTag(prev);
-			} else {
-				// first child
-				NodeImpl next = (NodeImpl) newChild.getNextSibling();
-				if (next != null) {
-					start = next.getStartOffset();
-					end = start;
-					if (parentNode.getNodeType() == Node.ELEMENT_NODE) {
-						preTag = getStartCloseTag((XMLElement) parentNode);
-					}
-				} else {
-					// newly having a child
-					if (parentNode.getNodeType() == Node.ELEMENT_NODE) {
-						ElementImpl element = (ElementImpl) parentNode;
-						if (element.isEmptyTag()) { // empty tag format
-							// need to generate the start and the end tags
-							end = element.getEndOffset();
-							start = end - 2; // for "/>"
-							element.setEmptyTag(false);
-							preTag = this.generator.generateCloseTag(element);
-							postTag = this.generator.generateEndTag(element);
-							postElement = element;
-						} else if (!element.hasStartTag()) {
-							start = element.getStartOffset();
-							end = start;
-							// invalid end tag or implicit tag
-							// need to generate the start tag
-							preTag = this.generator.generateStartTag(element);
-							if (preTag != null) {
-								int length = preTag.length();
-								if (length > 0) {
-									IStructuredDocumentRegion flatNode = new StructuredDocumentRegionProxy(start, length);
-									element.setStartStructuredDocumentRegion(flatNode);
-								}
-							}
-							if (!element.hasEndTag()) {
-								// implicit tag
-								// need to generate the end tags
-								postTag = this.generator.generateEndTag(element);
-								postElement = element;
-							}
-						} else {
-							start = element.getStartEndOffset();
-							end = start;
-							preTag = getStartCloseTag(element);
-							if (preTag != null && preTag.length() > 0) {
-								if (!element.hasEndTag() && (element.isJSPContainer() || element.isCDATAContainer())) {
-									// need to generate the end tag
-									postTag = this.generator.generateEndTag(element);
-									postElement = element;
-								}
-							}
-						}
-					}
-					// else might DOCUMENT_NODE, start and end are 0
-				}
-			}
-		}
-
-		String source = null;
-		if (newChild != null) {
-			StringBuffer buffer = new StringBuffer();
-			int offset = start;
-			if (preTag != null) {
-				int length = preTag.length();
-				if (length > 0) {
-					offset += length;
-					buffer.append(preTag);
-				}
-			}
-
-			NodeImpl node = (NodeImpl) newChild;
-			while (node != null) {
-				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					ElementImpl element = (ElementImpl) node;
-					if (element.preferEmptyTag())
-						element.setEmptyTag(true);
-					IStructuredDocumentRegion flatNode = null;
-					String startTag = this.generator.generateStartTag(element);
-					if (startTag != null) {
-						int length = startTag.length();
-						if (length > 0) {
-							buffer.append(startTag);
-							flatNode = new StructuredDocumentRegionProxy(offset, length);
-							offset += length;
-						}
-					}
-					element.setStartStructuredDocumentRegion(flatNode);
-				} else {
-					String content = this.generator.generateSource(node);
-					if (content == null)
-						content = new String();
-					int length = content.length();
-					IStructuredDocumentRegion flatNode = null;
-					if (length > 0) {
-						buffer.append(content);
-						flatNode = new StructuredDocumentRegionProxy(offset, length);
-						offset += length;
-					}
-					node.setStructuredDocumentRegion(flatNode);
-				}
-
-				NodeImpl child = (NodeImpl) node.getFirstChild();
-				if (child != null) {
-					node = child;
-					continue;
-				}
-
-				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					ElementImpl element = (ElementImpl) node;
-					IStructuredDocumentRegion flatNode = null;
-					String endTag = this.generator.generateEndTag(element);
-					if (endTag != null) {
-						int length = endTag.length();
-						if (length > 0) {
-							buffer.append(endTag);
-							flatNode = new StructuredDocumentRegionProxy(offset, length);
-							offset += length;
-						}
-					}
-					element.setEndStructuredDocumentRegion(flatNode);
-				}
-
-				while (node != null) {
-					if (node == newChild) {
-						node = null;
-						break;
-					}
-					NodeImpl next = (NodeImpl) node.getNextSibling();
-					if (next != null) {
-						node = next;
-						break;
-					}
-
-					node = (NodeImpl) node.getParentNode();
-					if (node.getNodeType() != Node.ELEMENT_NODE)
-						continue;
-					ElementImpl element = (ElementImpl) node;
-					IStructuredDocumentRegion flatNode = null;
-					String endTag = this.generator.generateEndTag(element);
-					if (endTag != null) {
-						int length = endTag.length();
-						if (length > 0) {
-							buffer.append(endTag);
-							flatNode = new StructuredDocumentRegionProxy(offset, length);
-							offset += length;
-						}
-					}
-					element.setEndStructuredDocumentRegion(flatNode);
-				}
-			}
-
-			if (postTag != null) {
-				int length = postTag.length();
-				if (length > 0) {
-					buffer.append(postTag);
-					if (postElement != null) {
-						IStructuredDocumentRegion flatNode = new StructuredDocumentRegionProxy(offset, length);
-						postElement.setEndStructuredDocumentRegion(flatNode);
-					}
-				}
-			}
-			source = buffer.toString();
-		}
-
-		if (start == end && (source == null || source.length() == 0)) {
-			// no thing changed
-			return;
-		}
-
-		replaceSource(source, start, end);
-	}
-
-	void replaceRegions(IStructuredDocumentRegion flatNode, ITextRegionList newRegions, ITextRegionList oldRegions) {
-		// future_TODO: optimize
-
-		NodeImpl root = (NodeImpl) this.model.getDocument();
-		this.parentNode = root;
-		this.nextNode = (NodeImpl) root.getFirstChild();
-
-		removeGapStructuredDocumentRegion(flatNode);
-		insertGapStructuredDocumentRegionBefore(flatNode.getStart());
-		changeStructuredDocumentRegion(flatNode);
-		insertGapStructuredDocumentRegionAfter(flatNode.getEnd());
-	}
-
-	/**
-	 * Wraps IStructuredDocumentRegion.replaceText() and sets contextual
-	 * information.
-	 */
-	private void replaceSource(String source, int start, int end) {
-		int inserted = 0;
-		if (source == null)
-			source = new String();
-		else
-			inserted = source.length();
-		int removed = end - start;
-		if (inserted == 0 && removed == 0)
-			return;
-
-		this.gapOffset = start;
-		this.gapLength = removed;
-		this.diff = inserted - removed;
-		// Note: due to bug
-		// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3619
-		// for now assume "ignore readonly" region is ok -- assume DOM itself
-		// checks if
-		// ok to insert or not. In reality, we may have to make or "contains"
-		// method more
-		// better. Or, we may have to "perculate up" the parameter for clients
-		// to tell us programatically
-		// that its ok to insert/format in a read-only region.
-		getStructuredDocument().replaceText(this.model, this.gapOffset, this.gapLength, source, true);
-	}
-
-	void replaceStructuredDocumentRegions(IStructuredDocumentRegionList newStructuredDocumentRegions, IStructuredDocumentRegionList oldStructuredDocumentRegions) {
-		NodeImpl root = (NodeImpl) this.model.getDocument();
-
-		if (oldStructuredDocumentRegions != null) {
-			this.parentNode = root;
-			this.nextNode = (NodeImpl) root.getFirstChild();
-
-			Enumeration e = oldStructuredDocumentRegions.elements();
-			while (e.hasMoreElements()) {
-				IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement();
-				if (flatNode == null)
-					continue;
-				removeStructuredDocumentRegion(flatNode);
-				removeGapStructuredDocumentRegion(flatNode);
-			}
-		}
-
-		if (newStructuredDocumentRegions != null) {
-			this.parentNode = root;
-			this.nextNode = (NodeImpl) root.getFirstChild();
-
-			IStructuredDocumentRegion lastStructuredDocumentRegion = null;
-			Enumeration e = newStructuredDocumentRegions.elements();
-			while (e.hasMoreElements()) {
-				IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement();
-				if (flatNode == null)
-					continue;
-				if (lastStructuredDocumentRegion == null)
-					insertGapStructuredDocumentRegionBefore(flatNode.getStart());
-				insertStructuredDocumentRegion(flatNode);
-				lastStructuredDocumentRegion = flatNode;
-			}
-			if (lastStructuredDocumentRegion != null) {
-				insertGapStructuredDocumentRegionAfter(lastStructuredDocumentRegion.getEnd());
-			} else {
-				insertGapStructuredDocumentRegionBefore(this.gapOffset);
-				// make sure to restore all backuped StructuredDocumentRegions
-				insertGapStructuredDocumentRegionAfter(this.gapOffset);
-			}
-		} else {
-			this.parentNode = root;
-			this.nextNode = (NodeImpl) root.getFirstChild();
-
-			insertGapStructuredDocumentRegionBefore(this.gapOffset);
-			// make sure to restore all backuped StructuredDocumentRegions
-			insertGapStructuredDocumentRegionAfter(this.gapOffset);
-		}
-	}
-
-	/**
-	 */
-	private void updateAttrRegions(Element element, IStructuredDocumentRegion flatNode) {
-
-		// update attributes
-		ITextRegionList regions = flatNode.getRegions();
-		if (regions == null)
-			return;
-		NamedNodeMap attributes = element.getAttributes();
-		if (attributes == null)
-			return;
-		int index = -1;
-		AttrImpl attr = null;
-		Iterator e = regions.iterator();
-		while (e.hasNext()) {
-			ITextRegion region = (ITextRegion) e.next();
-			String regionType = region.getType();
-			if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				attr = (AttrImpl) attributes.item(++index);
-				if (attr != null) {
-					attr.setNameRegion(region);
-					// reset other regions
-					attr.setEqualRegion(null);
-					attr.setValueRegion(null);
-				}
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-				if (attr != null)
-					attr.setEqualRegion(region);
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				if (attr != null) {
-					attr.setValueRegion(region);
-					attr = null;
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/filebuffers/DocumentFactoryForXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/filebuffers/DocumentFactoryForXML.java
deleted file mode 100644
index 549752a..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/filebuffers/DocumentFactoryForXML.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.filebuffers;
-
-import org.eclipse.core.filebuffers.IDocumentFactory;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.document.StructuredDocumentFactory;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-
-
-
-public class DocumentFactoryForXML implements IDocumentFactory {
-
-	public DocumentFactoryForXML() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.filebuffers.IDocumentFactory#createDocument()
-	 */
-	public IDocument createDocument() {
-		IStructuredDocument structuredDocument = StructuredDocumentFactory.getNewStructuredDocumentInstance(new XMLSourceParser());
-		return structuredDocument;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/BlockStructuredDocumentRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/BlockStructuredDocumentRegion.java
deleted file mode 100644
index 5442a10..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/BlockStructuredDocumentRegion.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser;
-
-
-
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.parser.IBlockedStructuredDocumentRegion;
-
-
-public class BlockStructuredDocumentRegion extends BasicStructuredDocumentRegion implements IBlockedStructuredDocumentRegion {
-
-	private String partitionType;
-
-	/**
-	 * A BlockStructuredDocumentRegion is like a IStructuredDocumentRegion,
-	 * but is the result of a "block scan".
-	 */
-	public BlockStructuredDocumentRegion() {
-		super();
-	}
-
-	public String getPartitionType() {
-		if (partitionType == null) {
-			// eventually can look up surroundingTag name
-			// but this field is primarily entended for future
-			// extensibility. This may change.
-			//partitionType = "org.eclipse.wst.sse.core." + tagname;
-		}
-		return partitionType;
-	}
-
-	public void setPartitionType(String partitionType) {
-		this.partitionType = partitionType;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/ContextRegionContainer.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/ContextRegionContainer.java
deleted file mode 100644
index cc908ad..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/ContextRegionContainer.java
+++ /dev/null
@@ -1,386 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser;
-
-
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.internal.text.TextRegionListImpl;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.internal.Logger;
-
-
-public class ContextRegionContainer implements ITextRegionContainer {
-	protected int length;
-	protected ITextRegionCollection parent;
-	protected ITextRegionList regions;
-	protected int start;
-	protected int textLength;
-	protected String type;
-
-	public ContextRegionContainer() {
-		super();
-		regions = new TextRegionListImpl();
-
-	}
-
-	/**
-	 * these "deep" parenting is not normal, but just in case.
-	 */
-	private IStructuredDocument _getParentDocument() {
-		// go up enough parents to get to document
-		ITextRegionCollection parent = getParent();
-		while (!(parent instanceof IStructuredDocumentRegion)) {
-			// would be an error not to be container, but
-			// won't check for it now
-			parent = ((ITextRegionContainer) parent).getParent();
-		}
-		return ((IStructuredDocumentRegion) parent).getParentDocument();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjust(int)
-	 */
-	public void adjust(int i) {
-
-		start += i;
-		// I erroneously added length and textLength
-		// may want to rename this method to adjustStart
-		//length += i;
-		//textLength += i;
-
-	}
-
-	public void adjustLengthWith(int i) {
-		length += i;
-	}
-
-	public void adjustStart(int i) {
-		start += i;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		textLength += i;
-
-	}
-
-	public boolean containsOffset(int i) {
-
-		return getStartOffset() <= i && i < getEndOffset();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#containsOffset(com.ibm.sed.structured.text.ITextRegion,
-	 *      int)
-	 */
-	public boolean containsOffset(ITextRegion containedRegion, int offset) {
-		return getStartOffset(containedRegion) <= offset && offset < getEndOffset(containedRegion);
-	}
-
-	/**
-	 * This method is just to equate positions. clients may (will probably)
-	 * still need to make calls to equate regions, parent, etc.
-	 */
-	public void equatePositions(ITextRegion region) {
-		start = region.getStart();
-		length = region.getLength();
-		textLength = region.getTextLength();
-	}
-
-	public int getEnd() {
-		return start + length;
-	}
-
-	public int getEndOffset() {
-		// our startOffset take into account our parent, and our start
-		return getStartOffset() + getLength();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getEndOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getEndOffset(ITextRegion containedRegion) {
-		return getStartOffset(containedRegion) + containedRegion.getLength();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getFirstRegion()
-	 */
-	public ITextRegion getFirstRegion() {
-		return getRegions().get(0);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getFullText()
-	 */
-	public String getFullText() {
-		// CMVC > 252430, 245586
-		// unit test > com.ibm.sed.tests.other.UnitTests.testDeepEmbeddedJSP3
-		// this code modified on 6/25/03 (pa)
-
-		//		String result = null;
-		//		try {
-		//			result = _getParentDocument().get(start, length);
-		//		} catch (BadLocationException e) {
-		//			Logger.logException("program error: unreachable exception", e);
-		// //$NON-NLS-1$
-		//		}
-		//		return result;
-		return getParent().getFullText(this);
-	}
-
-	public String getFullText(org.eclipse.wst.sse.core.text.ITextRegion aRegion) {
-		// Must be proxied here since aRegion should always be a child of
-		// *this* container and indexed from
-		// this container's offset
-		//	try {
-		return parent.getFullText().substring(start + aRegion.getStart(), start + aRegion.getEnd());
-		//} catch (Exception e) {
-		//if (com.ibm.sed.util.Debug.debugStructuredDocument)
-		//e.printStackTrace();
-		//}
-		//return "";//$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getLastRegion()
-	 */
-	public ITextRegion getLastRegion() {
-		return getRegions().get(getRegions().size() - 1);
-	}
-
-	public int getLength() {
-		return length;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getNumberOfRegions()
-	 */
-	public int getNumberOfRegions() {
-		return getRegions().size();
-	}
-
-	public ITextRegionCollection getParent() {
-		return parent;
-	}
-
-	/**
-	 * The parameter offset refers to the overall offset in the document.
-	 */
-	public ITextRegion getRegionAtCharacterOffset(int offset) {
-		ITextRegion result = null;
-		if (regions != null) {
-			// transform the requested offset to the "scale" that
-			// regions are stored in, which are all relative to the
-			// start point.
-			//int transformedOffset = offset - getStartOffset();
-			//
-			int length = getRegions().size();
-			for (int i = 0; i < length; i++) {
-				ITextRegion region = getRegions().get(i);
-				if (org.eclipse.wst.sse.core.util.Debug.debugStructuredDocument) {
-					System.out.println("region(s) in IStructuredDocumentRegion::getRegionAtCharacterOffset: " + region); //$NON-NLS-1$
-					System.out.println("       requested offset: " + offset); //$NON-NLS-1$
-					//System.out.println(" transformedOffset: " +
-					// transformedOffset); //$NON-NLS-1$
-					System.out.println("       region start: " + region.getStart()); //$NON-NLS-1$
-					System.out.println("       region end: " + region.getEnd()); //$NON-NLS-1$
-					System.out.println("       region type: " + region.getType()); //$NON-NLS-1$
-					System.out.println("       region class: " + region.getClass()); //$NON-NLS-1$
-
-				}
-				if ((getStartOffset(region) <= offset) && (offset < getEndOffset(region))) {
-					result = region;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	public ITextRegionList getRegions() {
-		return regions;
-	}
-
-	public int getStart() {
-		return start;
-	}
-
-	public int getStartOffset() {
-		return getParent().getStartOffset() + getStart();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getStartOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getStartOffset(ITextRegion containedRegion) {
-		return getStartOffset() + containedRegion.getStart();
-	}
-
-	/**
-	 * same as getFullText for this region type ... do we need to take white
-	 * space off?
-	 */
-
-	public String getText() {
-		String result = null;
-		try {
-			IStructuredDocument parentDocument = _getParentDocument();
-			result = parentDocument.get(start, length);
-		} catch (BadLocationException e) {
-			Logger.logException("program error: unreachable exception", e); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	public String getText(org.eclipse.wst.sse.core.text.ITextRegion aRegion) {
-		// Must be proxied here since aRegion should always be a child of
-		// *this* container and indexed from
-		// this container's offset
-		//	com.ibm.sed.util.Assert.isTrue(regions.contains(aRegion));
-		//try {
-		return parent.getText().substring(start + aRegion.getStart(), start + aRegion.getTextEnd());
-		//} catch (Exception e) {
-		//if (com.ibm.sed.util.Debug.debugStructuredDocument)
-		//com.ibm.sed.util.Logger.log(e);
-		//}
-		// return ""; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#getTextEnd()
-	 */
-	public int getTextEnd() {
-		//		int result = 0;
-		//		ITextRegion lastRegion = (ITextRegion) regions.get(regions.size() -
-		// 1);
-		//		result = getStartOffset(lastRegion) + lastRegion.getTextLength();
-		//		return result;
-		return start + textLength;
-	}
-
-	public int getTextEndOffset() {
-		ITextRegion region = regions.get(regions.size() - 1);
-		// our startOffset take into account our parent, and our start
-		// (pa) 10/4 changed to be based on text end
-		//           it used to return incorrect value for embedded region containers
-		//
-
-		// TODO CRITICAL -- need to re-work this work around, so doesn't
-		// depend on XMLRegionContext
-		//		// this is a workaround for 226823///////////
-		//		for (int i = regions.size() - 1; i >= 0 && region.getType() ==
-		// XMLRegionContext.WHITE_SPACE; i--)
-		//			region = (ITextRegion) regions.get(i);
-		//		/////////////////////////////////////////////
-
-		return getStartOffset() + region.getTextEnd();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegionCollection#getTextEndOffset(com.ibm.sed.structured.text.ITextRegion)
-	 */
-	public int getTextEndOffset(ITextRegion containedRegion) {
-		int result = 0;
-		if (regions != null) {
-			int length = getRegions().size();
-			for (int i = 0; i < length; i++) {
-				ITextRegion region = getRegions().get(i);
-				if (region == containedRegion) {
-					result = getStartOffset(region) + region.getTextEnd();
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	public int getTextLength() {
-		return textLength;
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	public void setLength(int i) {
-		length = i;
-	}
-
-	public void setParent(ITextRegionCollection parentRegion) {
-		parent = parentRegion;
-	}
-
-	public void setRegions(ITextRegionList containedRegions) {
-		regions = containedRegions;
-	}
-
-	public void setStart(int i) {
-		start = i;
-	}
-
-	public void setTextLength(int i) {
-		textLength = i;
-	}
-
-	public void setType(String string) {
-		type = string;
-	}
-
-	public String toString() {
-		String className = getClass().getName();
-		String shortClassName = className.substring(className.lastIndexOf(".") + 1); //$NON-NLS-1$
-		String result = "Container!!! " + shortClassName + "--> " + getType() + ": " + getStart() + "-" + getTextEnd() + (getTextEnd() != getEnd() ? ("/" + getEnd()) : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		return result;
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		org.eclipse.wst.sse.core.events.RegionChangedEvent result = null;
-		// FUTURE_TO_DO: need to implement region level parsing in
-		// ITextRegionContainer::updateModel
-		// never being called?
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/IntStack.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/IntStack.java
deleted file mode 100644
index b871545..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/IntStack.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser;
-
-
-
-/*
- * 
- * A non-resizable class implementing the behavior of java.util.Stack, but
- * directly for the <code> integer </code> primitive.
- */
-import java.util.EmptyStackException;
-
-public class IntStack {
-	private int[] list = null;
-
-	private int size = 0;
-
-	public IntStack() {
-		this(100);
-	}
-
-	public IntStack(int maxdepth) {
-		super();
-		list = new int[maxdepth];
-		initialize();
-	}
-
-	public boolean empty() {
-		return size == 0;
-	}
-
-	public int get(int slot) {
-		return list[slot];
-	}
-
-	void initialize() {
-		for (int i = 0; i < list.length; i++)
-			list[i] = -1;
-	}
-
-	/**
-	 * Returns the int at the top of the stack without removing it
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int peek() {
-		if (size == 0)
-			throw new EmptyStackException();
-		return list[size - 1];
-	}
-
-	/**
-	 * Removes and returns the int at the top of the stack
-	 * 
-	 * @return int at the top of this stack.
-	 * @exception EmptyStackException
-	 *                when empty.
-	 */
-	public int pop() {
-		int value = peek();
-		list[size - 1] = -1;
-		size--;
-		return value;
-	}
-
-	/**
-	 * Pushes an item onto the top of this stack.
-	 * 
-	 * @param newValue -
-	 *            the int to be pushed onto this stack.
-	 * @return the <code>newValue</code> argument.
-	 */
-	public int push(int newValue) {
-		if (size == list.length) {
-			throw new StackOverflowError();
-		}
-		list[size++] = newValue;
-		return newValue;
-	}
-
-	public int size() {
-		return list.length;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/RegionFactory.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/RegionFactory.java
deleted file mode 100644
index f9c4ab9..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/RegionFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser;
-
-
-
-import org.eclipse.wst.sse.core.internal.parser.ContextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-
-
-public class RegionFactory {
-
-	public RegionFactory() {
-		super();
-	}
-
-	public ITextRegion createToken(ITextRegionContainer parent, String context, int start, int textLength, int length) {
-		return this.createToken(parent, context, start, textLength, length, null, null);
-	}
-
-	public ITextRegion createToken(ITextRegionContainer parent, String context, int start, int textLength, int length, String lang, String surroundingTag) {
-		ITextRegion newRegion = createToken(context, start, textLength, length);
-		// DW, 4/16/2003 token regions no longer have parents
-		//newRegion.setParent(parent);
-		return newRegion;
-	}
-
-	public ITextRegion createToken(String context, int start, int textLength, int length) {
-		return this.createToken(context, start, textLength, length, null, null);
-	}
-
-	public ITextRegion createToken(String context, int start, int textLength, int length, String lang, String surroundingTag) {
-		ITextRegion newRegion = new ContextRegion(context, start, textLength, length);
-		return newRegion;
-
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XML10Names.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XML10Names.java
deleted file mode 100644
index 1ff05a0..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XML10Names.java
+++ /dev/null
@@ -1,541 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-/* The following code was generated by JFlex 1.4 on 7/17/04 3:43 AM */
-
-/*nlsXXX*/
-package org.eclipse.wst.xml.core.internal.parser;
-
-
-
-/**
- * This class is a scanner generated by <a href="http://www.jflex.de/">JFlex
- * </a> 1.4 on 7/17/04 3:43 AM from the specification file
- * <tt>XML10Names.jflex</tt>
- */
-public final class XML10Names {
-
-	/** This character denotes the end of file */
-	private static final int YYEOF = -1;
-
-	/** initial size of the lookahead buffer */
-	private static final int ZZ_BUFFERSIZE = 2048;
-
-	/** lexical states */
-	private static final int YYINITIAL = 0;
-
-	/**
-	 * Translates characters to character classes
-	 */
-	private static final String ZZ_CMAP_PACKED = "\11\0\1\1\1\2\2\0\1\1\22\0\1\1\14\0\1\0\2\0" + "\12\0\1\3\6\0\32\3\4\0\1\3\1\0\32\3\74\0\1\0" + "\10\0\27\3\1\0\37\3\1\0\72\3\2\0\13\3\2\0\10\3" + "\1\0\65\3\1\0\104\3\11\0\44\3\3\0\2\3\4\0\36\3" + "\70\0\131\3\22\0\7\3\16\0\2\0\56\0\106\0\32\0\2\0" + "\44\0\1\3\1\0\3\3\1\0\1\3\1\0\24\3\1\0\54\3" + "\1\0\7\3\3\0\1\3\1\0\1\3\1\0\1\3\1\0\1\3" + "\1\0\22\3\15\0\14\3\1\0\102\3\1\0\14\3\1\0\44\3" + "\1\0\4\0\11\0\65\3\2\0\2\3\2\0\2\3\3\0\34\3" + "\2\0\10\3\2\0\2\3\67\0\46\3\2\0\1\3\7\0\46\3" + "\12\0\21\0\1\0\27\0\1\0\3\0\1\0\1\0\1\0\2\0" + "\1\0\1\0\13\0\33\3\5\0\3\3\56\0\32\3\5\0\1\0" + "\12\3\10\0\15\0\12\0\6\0\1\0\107\3\2\0\5\3\1\0" + "\17\3\1\0\4\3\1\0\1\3\17\0\2\3\2\0\1\0\4\0" + "\2\0\12\0\u0207\0\3\0\1\0\65\3\2\0\1\0\1\3\20\0" + "\3\0\4\0\3\0\12\3\2\0\2\0\12\0\21\0\3\0\1\0" + "\10\3\2\0\2\3\2\0\26\3\1\0\7\3\1\0\1\3\3\0" + "\4\3\2\0\1\0\1\0\7\0\2\0\2\0\2\0\3\0\11\0" + "\1\0\4\0\2\3\1\0\3\3\2\0\2\0\12\0\2\3\20\0"
-				+ "\1\0\2\0\6\3\4\0\2\3\2\0\26\3\1\0\7\3\1\0" + "\2\3\1\0\2\3\1\0\2\3\2\0\1\0\1\0\5\0\4\0" + "\2\0\2\0\3\0\13\0\4\3\1\0\1\3\7\0\12\0\2\0" + "\3\3\14\0\3\0\1\0\7\3\1\0\1\3\1\0\3\3\1\0" + "\26\3\1\0\7\3\1\0\2\3\1\0\5\3\2\0\1\0\1\3" + "\10\0\1\0\3\0\1\0\3\0\22\0\1\3\5\0\12\0\21\0" + "\3\0\1\0\10\3\2\0\2\3\2\0\26\3\1\0\7\3\1\0" + "\2\3\2\0\4\3\2\0\1\0\1\3\6\0\3\0\2\0\2\0" + "\3\0\10\0\2\0\4\0\2\3\1\0\3\3\4\0\12\0\22\0" + "\2\0\1\0\6\3\3\0\3\3\1\0\4\3\3\0\2\3\1\0" + "\1\3\1\0\2\3\3\0\2\3\3\0\3\3\3\0\10\3\1\0" + "\3\3\4\0\5\0\3\0\3\0\1\0\4\0\11\0\1\0\17\0" + "\11\0\21\0\3\0\1\0\10\3\1\0\3\3\1\0\27\3\1\0" + "\12\3\1\0\5\3\4\0\7\0\1\0\3\0\1\0\4\0\7\0" + "\2\0\11\0\2\3\4\0\12\0\22\0\2\0\1\0\10\3\1\0" + "\3\3\1\0\27\3\1\0\12\3\1\0\5\3\4\0\7\0\1\0" + "\3\0\1\0\4\0\7\0\2\0\7\0\1\3\1\0\2\3\4\0" + "\12\0\22\0\2\0\1\0\10\3\1\0\3\3\1\0\27\3\1\0" + "\20\3\4\0\6\0\2\0\3\0\1\0\4\0\11\0\1\0\10\0" + "\2\3\4\0\12\0\221\0\56\3\1\0\1\3\1\0\2\3\7\0"
-				+ "\5\0\6\3\1\0\10\0\1\0\12\0\47\0\2\3\1\0\1\3" + "\2\0\2\3\1\0\1\3\2\0\1\3\6\0\4\3\1\0\7\3" + "\1\0\3\3\1\0\1\3\1\0\1\3\2\0\2\3\1\0\2\3" + "\1\0\1\3\1\0\2\3\6\0\1\0\2\0\1\3\2\0\5\3" + "\1\0\1\0\1\0\6\0\2\0\12\0\76\0\2\0\6\0\12\0" + "\13\0\1\0\1\0\1\0\1\0\1\0\4\0\2\0\10\3\1\0" + "\41\3\7\0\24\0\1\0\6\0\4\0\6\0\1\0\1\0\1\0" + "\25\0\3\0\7\0\1\0\1\0\346\0\46\3\12\0\47\3\11\0" + "\1\3\1\0\2\3\1\0\3\3\1\0\1\3\1\0\2\3\1\0" + "\5\3\51\0\1\3\1\0\1\3\1\0\1\3\13\0\1\3\1\0" + "\1\3\1\0\1\3\3\0\2\3\3\0\1\3\5\0\3\3\1\0" + "\1\3\1\0\1\3\1\0\1\3\1\0\1\3\3\0\2\3\3\0" + "\2\3\1\0\1\3\50\0\1\3\11\0\1\3\2\0\1\3\2\0" + "\2\3\7\0\2\3\1\0\1\3\1\0\7\3\50\0\1\3\4\0" + "\1\3\10\0\1\3\u0c06\0\234\3\4\0\132\3\6\0\26\3\2\0" + "\6\3\2\0\46\3\2\0\6\3\2\0\10\3\1\0\1\3\1\0" + "\1\3\1\0\1\3\1\0\37\3\2\0\65\3\1\0\7\3\1\0" + "\1\3\3\0\3\3\1\0\7\3\3\0\4\3\2\0\6\3\4\0" + "\15\3\5\0\3\3\1\0\7\3\323\0\15\0\4\0\1\0\104\0" + "\1\3\3\0\2\3\2\0\1\3\121\0\3\3\u0e82\0\1\0\1\0"
-				+ "\1\3\31\0\11\3\6\0\1\0\5\0\13\0\124\3\4\0\2\0" + "\2\0\2\0\2\0\132\3\1\0\3\0\6\0\50\3\u1cd3\0\u51a6\3" + "\u0c5a\0\u2ba4\3\u285c\0";
-
-	/**
-	 * Translates characters to character classes
-	 */
-	private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
-	/**
-	 * Translates DFA states to action switch labels.
-	 */
-	private static final int[] ZZ_ACTION = zzUnpackAction();
-
-	private static final String ZZ_ACTION_PACKED_0 = "\1\0\1\1\1\2\4\1";
-
-	private static int[] zzUnpackAction() {
-		int[] result = new int[7];
-		int offset = 0;
-		offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
-		return result;
-	}
-
-	private static int zzUnpackAction(String packed, int offset, int[] result) {
-		int i = 0; /* index in packed string */
-		int j = offset; /* index in unpacked array */
-		int l = packed.length();
-		while (i < l) {
-			int count = packed.charAt(i++);
-			int value = packed.charAt(i++);
-			do
-				result[j++] = value;
-			while (--count > 0);
-		}
-		return j;
-	}
-
-
-	/**
-	 * Translates a state to a row index in the transition table
-	 */
-	private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
-
-	private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\4\0\10\0\14\0\20\0\24\0\30";
-
-	private static int[] zzUnpackRowMap() {
-		int[] result = new int[7];
-		int offset = 0;
-		offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
-		return result;
-	}
-
-	private static int zzUnpackRowMap(String packed, int offset, int[] result) {
-		int i = 0; /* index in packed string */
-		int j = offset; /* index in unpacked array */
-		int l = packed.length();
-		while (i < l) {
-			int high = packed.charAt(i++) << 16;
-			result[j++] = high | packed.charAt(i++);
-		}
-		return j;
-	}
-
-	/**
-	 * The transition table of the DFA
-	 */
-	private static final int ZZ_TRANS[] = {1, 1, -1, 2, -1, -1, -1, -1, 2, 3, 4, 2, 2, 3, 4, 5, -1, 4, 4, 6, 5, 5, 4, 5, 6, 6, -1, 6,};
-
-	/* error codes */
-	private static final int ZZ_UNKNOWN_ERROR = 0;
-	private static final int ZZ_NO_MATCH = 1;
-	private static final int ZZ_PUSHBACK_2BIG = 2;
-
-	/* error messages for the codes above */
-	private static final String ZZ_ERROR_MSG[] = {"Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large"};
-
-	/**
-	 * ZZ_ATTRIBUTE[aState] contains the attributes of state
-	 * <code>aState</code>
-	 */
-	private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
-	private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\0\1\11\5\1";
-
-	private static int[] zzUnpackAttribute() {
-		int[] result = new int[7];
-		int offset = 0;
-		offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
-		return result;
-	}
-
-	private static int zzUnpackAttribute(String packed, int offset, int[] result) {
-		int i = 0; /* index in packed string */
-		int j = offset; /* index in unpacked array */
-		int l = packed.length();
-		while (i < l) {
-			int count = packed.charAt(i++);
-			int value = packed.charAt(i++);
-			do
-				result[j++] = value;
-			while (--count > 0);
-		}
-		return j;
-	}
-
-	/** the input device */
-	private java.io.Reader zzReader;
-
-	/** the current state of the DFA */
-	private int zzState;
-
-	/** the current lexical state */
-	private int zzLexicalState = YYINITIAL;
-
-	/**
-	 * this buffer contains the current text to be matched and is the source
-	 * of the yytext() string
-	 */
-	private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
-
-	/** the textposition at the last accepting state */
-	private int zzMarkedPos;
-
-	/** the textposition at the last state to be included in yytext */
-	private int zzPushbackPos;
-
-	/** the current text position in the buffer */
-	private int zzCurrentPos;
-
-	/** startRead marks the beginning of the yytext() string in the buffer */
-	private int zzStartRead;
-
-	/**
-	 * endRead marks the last character in the buffer, that has been read from
-	 * input
-	 */
-	private int zzEndRead;
-
-	/** number of newlines encountered up to the start of the matched text */
-	 int yyline;
-
-	/** the number of characters up to the start of the matched text */
-	 int yychar;
-
-	/**
-	 * the number of characters from the last newline up to the start of the
-	 * matched text
-	 */
-	 int yycolumn;
-
-	/**
-	 * zzAtBOL == true <=>the scanner is currently at the beginning of a line
-	 */
-	 boolean zzAtBOL = true;
-
-	/** zzAtEOF == true <=>the scanner is at the EOF */
-	private boolean zzAtEOF;
-
-	/* user code: */
-
-	/**
-	 * Creates a new scanner
-	 */
-	public XML10Names() {
-		this.zzReader = null;
-	}
-
-	public boolean isValidXML10Name(String stringToCheck) {
-		boolean result = false;
-		yyreset(new java.io.StringReader(stringToCheck));
-		try {
-			result = isValidXML10Name();
-		} catch (java.io.IOException e) {
-			// should be impossible with strings, but if occurs, just means
-			// "not"
-			result = false;
-		}
-		return result;
-	}
-
-
-
-	/**
-	 * Creates a new scanner There is also a java.io.InputStream version of
-	 * this constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Reader to read input from.
-	 */
-	public XML10Names(java.io.Reader in) {
-		this.zzReader = in;
-	}
-
-	/**
-	 * Creates a new scanner. There is also java.io.Reader version of this
-	 * constructor.
-	 * 
-	 * @param in
-	 *            the java.io.Inputstream to read input from.
-	 */
-	public XML10Names(java.io.InputStream in) {
-		this(new java.io.InputStreamReader(in));
-	}
-
-	/**
-	 * Unpacks the compressed character translation table.
-	 * 
-	 * @param packed
-	 *            the packed character translation table
-	 * @return the unpacked character translation table
-	 */
-	private static char[] zzUnpackCMap(String packed) {
-		char[] map = new char[0x10000];
-		int i = 0; /* index in packed string */
-		int j = 0; /* index in unpacked array */
-		while (i < 1226) {
-			int count = packed.charAt(i++);
-			char value = packed.charAt(i++);
-			do
-				map[j++] = value;
-			while (--count > 0);
-		}
-		return map;
-	}
-
-
-	/**
-	 * Refills the input buffer.
-	 * 
-	 * @return <code>false</code>, iff there was new input.
-	 * 
-	 * @exception java.io.IOException
-	 *                if any I/O-Error occurs
-	 */
-	private boolean zzRefill() throws java.io.IOException {
-
-		/* first: make room (if you can) */
-		if (zzStartRead > 0) {
-			System.arraycopy(zzBuffer, zzStartRead, zzBuffer, 0, zzEndRead - zzStartRead);
-
-			/* translate stored positions */
-			zzEndRead -= zzStartRead;
-			zzCurrentPos -= zzStartRead;
-			zzMarkedPos -= zzStartRead;
-			zzPushbackPos -= zzStartRead;
-			zzStartRead = 0;
-		}
-
-		/* is the buffer big enough? */
-		if (zzCurrentPos >= zzBuffer.length) {
-			/* if not: blow it up */
-			char newBuffer[] = new char[zzCurrentPos * 2];
-			System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
-			zzBuffer = newBuffer;
-		}
-
-		/* finally: fill the buffer with new input */
-		int numRead = zzReader.read(zzBuffer, zzEndRead, zzBuffer.length - zzEndRead);
-
-		if (numRead < 0) {
-			return true;
-		} else {
-			zzEndRead += numRead;
-			return false;
-		}
-	}
-
-
-	/**
-	 * Closes the input stream.
-	 */
-	 final void yyclose() throws java.io.IOException {
-		zzAtEOF = true; /* indicate end of file */
-		zzEndRead = zzStartRead; /* invalidate buffer */
-
-		if (zzReader != null)
-			zzReader.close();
-	}
-
-
-	/**
-	 * Resets the scanner to read from a new input stream. Does not close the
-	 * old reader.
-	 * 
-	 * All internal variables are reset, the old input stream <b>cannot </b>
-	 * be reused (internal buffer is discarded and lost). Lexical state is set
-	 * to <tt>ZZ_INITIAL</tt>.
-	 * 
-	 * @param reader
-	 *            the new input stream
-	 */
-	private final void yyreset(java.io.Reader reader) {
-		zzReader = reader;
-		//zzAtBOL = true;
-		zzAtEOF = false;
-		zzEndRead = zzStartRead = 0;
-		zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
-		yyline = yychar = yycolumn = 0;
-		zzLexicalState = YYINITIAL;
-	}
-
-
-	/**
-	 * Returns the current lexical state.
-	 */
-	 final int yystate() {
-		return zzLexicalState;
-	}
-
-
-	/**
-	 * Enters a new lexical state
-	 * 
-	 * @param newState
-	 *            the new lexical state
-	 */
-	 final void yybegin(int newState) {
-		zzLexicalState = newState;
-	}
-
-
-	/**
-	 * Returns the text matched by the current regular expression.
-	 */
-	 final String yytext() {
-		return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
-	}
-
-
-	/**
-	 * Returns the character at position <tt>pos</tt> from the matched text.
-	 * 
-	 * It is equivalent to yytext().charAt(pos), but faster
-	 * 
-	 * @param pos
-	 *            the position of the character to fetch. A value from 0 to
-	 *            yylength()-1.
-	 * 
-	 * @return the character at position pos
-	 */
-	 final char yycharat(int pos) {
-		return zzBuffer[zzStartRead + pos];
-	}
-
-
-	/**
-	 * Returns the length of the matched text region.
-	 */
-	private final int yylength() {
-		return zzMarkedPos - zzStartRead;
-	}
-
-
-	/**
-	 * Reports an error that occured while scanning.
-	 * 
-	 * In a wellformed scanner (no or only correct usage of yypushback(int)
-	 * and a match-all fallback rule) this method will only be called with
-	 * things that "Can't Possibly Happen". If this method is called,
-	 * something is seriously wrong (e.g. a JFlex bug producing a faulty
-	 * scanner etc.).
-	 * 
-	 * Usual syntax/scanner level error handling should be done in error
-	 * fallback rules.
-	 * 
-	 * @param errorCode
-	 *            the code of the errormessage to display
-	 */
-	private void zzScanError(int errorCode) {
-		String message;
-		try {
-			message = ZZ_ERROR_MSG[errorCode];
-		} catch (ArrayIndexOutOfBoundsException e) {
-			message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
-		}
-
-		throw new Error(message);
-	}
-
-
-	/**
-	 * Pushes the specified amount of characters back into the input stream.
-	 * 
-	 * They will be read again by then next call of the scanning method
-	 * 
-	 * @param number
-	 *            the number of characters to be read again. This number must
-	 *            not be greater than yylength()!
-	 */
-	 void yypushback(int number) {
-		if (number > yylength())
-			zzScanError(ZZ_PUSHBACK_2BIG);
-
-		zzMarkedPos -= number;
-	}
-
-
-	/**
-	 * Resumes scanning until the next regular expression is matched, the end
-	 * of input is encountered or an I/O-Error occurs.
-	 * 
-	 * @return the next token
-	 * @exception java.io.IOException
-	 *                if any I/O-Error occurs
-	 */
-	private boolean isValidXML10Name() throws java.io.IOException {
-		int zzInput;
-		int zzAction;
-
-		// cached fields:
-		int zzCurrentPosL;
-		int zzMarkedPosL;
-		int zzEndReadL = zzEndRead;
-		char[] zzBufferL = zzBuffer;
-		char[] zzCMapL = ZZ_CMAP;
-
-		int[] zzTransL = ZZ_TRANS;
-		int[] zzRowMapL = ZZ_ROWMAP;
-		int[] zzAttrL = ZZ_ATTRIBUTE;
-
-		while (true) {
-			zzMarkedPosL = zzMarkedPos;
-
-			zzAction = -1;
-
-			zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
-			zzState = zzLexicalState;
-
-
-			zzForAction : {
-				while (true) {
-
-					if (zzCurrentPosL < zzEndReadL)
-						zzInput = zzBufferL[zzCurrentPosL++];
-					else if (zzAtEOF) {
-						zzInput = YYEOF;
-						break zzForAction;
-					} else {
-						// store back cached positions
-						zzCurrentPos = zzCurrentPosL;
-						zzMarkedPos = zzMarkedPosL;
-						boolean eof = zzRefill();
-						// get translated positions and possibly new buffer
-						zzCurrentPosL = zzCurrentPos;
-						zzMarkedPosL = zzMarkedPos;
-						zzBufferL = zzBuffer;
-						zzEndReadL = zzEndRead;
-						if (eof) {
-							zzInput = YYEOF;
-							break zzForAction;
-						} else {
-							zzInput = zzBufferL[zzCurrentPosL++];
-						}
-					}
-					int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
-					if (zzNext == -1)
-						break zzForAction;
-					zzState = zzNext;
-
-					int zzAttributes = zzAttrL[zzState];
-					if ((zzAttributes & 1) == 1) {
-						zzAction = zzState;
-						zzMarkedPosL = zzCurrentPosL;
-						if ((zzAttributes & 8) == 8)
-							break zzForAction;
-					}
-
-				}
-			}
-
-			// store back cached position
-			zzMarkedPos = zzMarkedPosL;
-
-			switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
-				case 1 : {
-					return false;
-				}
-				case 3 :
-					break;
-				case 2 : {
-					return true;
-				}
-				case 4 :
-					break;
-				default :
-					if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
-						zzAtEOF = true;
-						{
-							{
-								return false;
-							}
-						}
-					} else {
-						zzScanError(ZZ_NO_MATCH);
-					}
-			}
-		}
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLRegionContexts.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLRegionContexts.java
deleted file mode 100644
index 5c622ab..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLRegionContexts.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser;
-
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-/**
- * @deprecated - use org.eclipse.wst.xml.core.parser.XMLRegionContext
- */
-public interface XMLRegionContexts extends XMLRegionContext {
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLSourceParser.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLSourceParser.java
deleted file mode 100644
index b519fcc..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLSourceParser.java
+++ /dev/null
@@ -1,595 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser;
-
-
-
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.wst.sse.core.document.DocumentReader;
-import org.eclipse.wst.sse.core.internal.text.CharSequenceReader;
-import org.eclipse.wst.sse.core.internal.text.IRegionComparible;
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.BlockTagParser;
-import org.eclipse.wst.sse.core.parser.BlockTokenizer;
-import org.eclipse.wst.sse.core.parser.RegionParser;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionHandler;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionParser;
-import org.eclipse.wst.sse.core.parser.StructuredDocumentRegionParserExtension;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.internal.Logger;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * Takes input from the HTMLTokenizer and creates a tag list
- */
-
-public class XMLSourceParser implements RegionParser, BlockTagParser, StructuredDocumentRegionParser, IRegionComparible, StructuredDocumentRegionParserExtension {
-	// made public to aid access from inner classes in hierarchy.
-	// TODO: in future, figure out how to solve without exposing data.
-	public CharSequence fCharSequenceSource = null;
-	private IDocument fDocumentInput;
-	protected int fOffset = 0;
-	// DMW: 2/12/03. Removed some state data, since not really needed,
-	// and since it added a lot to overhead (since so many regions are
-	// created.
-	// protected IStructuredDocumentRegion fCurrentNode = null;
-	// protected IStructuredDocumentRegion fNodes = null;
-	// protected List fRegions = null;
-	// protected Object fInput = null;
-	protected String fStringInput = null;
-	protected List fStructuredDocumentRegionHandlers;
-
-	protected BlockTokenizer fTokenizer = null;
-	protected long startTime;
-	protected long stopTime;
-
-	/**
-	 * HTMLSourceParser constructor comment.
-	 */
-	public XMLSourceParser() {
-		super();
-		fStructuredDocumentRegionHandlers = new ArrayList();
-	}
-
-	/**
-	 * This is a simple utility to count nodes. Used only for debug
-	 * statements.
-	 */
-	protected int _countNodes(IStructuredDocumentRegion nodes) {
-		int result = 0;
-		IStructuredDocumentRegion countNode = nodes;
-		while (countNode != null) {
-			result++;
-			countNode = countNode.getNext();
-		}
-		return result;
-	}
-
-	public void addBlockMarker(BlockMarker marker) {
-		getTokenizer().addBlockMarker(marker);
-	}
-
-	public void addStructuredDocumentRegionHandler(StructuredDocumentRegionHandler handler) {
-		if (fStructuredDocumentRegionHandlers == null)
-			fStructuredDocumentRegionHandlers = new ArrayList();
-		fStructuredDocumentRegionHandlers.add(handler);
-	}
-
-	public void beginBlockScan(String newTagName) {
-		getTokenizer().beginBlockTagScan(newTagName);
-	}
-
-	/**
-	 * @return IStructuredDocumentRegion
-	 */
-	protected IStructuredDocumentRegion createStructuredDocumentRegion(String type) {
-		IStructuredDocumentRegion newNode = null;
-		if (type == XMLRegionContext.BLOCK_TEXT)
-			newNode = XMLStructuredRegionFactory.createRegion(XMLStructuredRegionFactory.XML_BLOCK);
-		else
-			newNode = XMLStructuredRegionFactory.createRegion(XMLStructuredRegionFactory.XML);
-		return newNode;
-	}
-
-	protected void fireNodeParsed(IStructuredDocumentRegion fCurrentNode) {
-		if (fCurrentNode != null && fStructuredDocumentRegionHandlers != null) {
-			for (int i = 0; i < fStructuredDocumentRegionHandlers.size(); i++)
-				((StructuredDocumentRegionHandler) fStructuredDocumentRegionHandlers.get(i)).nodeParsed(fCurrentNode);
-		}
-	}
-
-	public BlockMarker getBlockMarker(String tagName) {
-		List markers = getTokenizer().getBlockMarkers();
-		for (int i = 0; i < markers.size(); i++) {
-			BlockMarker marker = (BlockMarker) markers.get(i);
-			if (marker.isCaseSensitive()) {
-				if (marker.getTagName().equals(tagName))
-					return marker;
-			} else {
-				if (marker.getTagName().equalsIgnoreCase(tagName))
-					return marker;
-			}
-		}
-		return null;
-	}
-
-	public List getBlockMarkers() {
-		return getTokenizer().getBlockMarkers();
-	}
-
-	/**
-	 * @return IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getDocumentRegions() {
-		IStructuredDocumentRegion headnode = null;
-		if (headnode == null) {
-			if (Debug.perfTest) {
-				startTime = System.currentTimeMillis();
-			}
-			headnode = parseNodes();
-			if (Debug.perfTest) {
-				stopTime = System.currentTimeMillis();
-				System.out.println(" -- creating nodes of IStructuredDocument -- "); //$NON-NLS-1$
-				System.out.println(" Time parse and init all regions: " + (stopTime - startTime) + " (msecs)"); //$NON-NLS-2$//$NON-NLS-1$
-				//System.out.println(" for " + fRegions.size() + "
-				// Regions");//$NON-NLS-2$//$NON-NLS-1$
-				System.out.println("      and " + _countNodes(headnode) + " Nodes"); //$NON-NLS-2$//$NON-NLS-1$
-			}
-		}
-		return headnode;
-	}
-
-	protected ITextRegion getNextRegion() {
-		ITextRegion region = null;
-		try {
-			region = getTokenizer().getNextToken();
-			// DMW: 2/12/03 Removed state
-			//		if (region != null) {
-			//			fRegions.add(region);
-			//		}
-			return region;
-		} catch (StackOverflowError e) {
-			Logger.logException(getClass().getName() + ": input could not be parsed correctly at position " + getTokenizer().getOffset(), e); //$NON-NLS-1$
-			throw e;
-		} catch (Exception e) {
-			Logger.logException(getClass().getName() + ": input could not be parsed correctly at position " + getTokenizer().getOffset() + " (" + e.getLocalizedMessage() + ")", e); //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * Return the full list of known regions. Typically getNodes should be
-	 * used instead of this method.
-	 */
-	public List getRegions() {
-		IStructuredDocumentRegion headNode = null;
-		if (!getTokenizer().isEOF()) {
-			headNode = getDocumentRegions();
-			//		throw new IllegalStateException("parsing has not finished");
-		}
-		// for memory recovery, we assume if someone
-		// requests all regions, we can reset our big
-		// memory consuming objects
-		// but the new "getRegions" method is then more expensive.
-		// I don't think its used much, though.
-		List localRegionsList = getRegions(headNode);
-		primReset();
-		return localRegionsList;
-	}
-
-	/**
-	 * Method getRegions.
-	 * 
-	 * @param headNode
-	 * @return List
-	 */
-	protected List getRegions(IStructuredDocumentRegion headNode) {
-		List allRegions = new ArrayList();
-		IStructuredDocumentRegion currentNode = headNode;
-		while (currentNode != null) {
-			ITextRegionList nodeRegions = currentNode.getRegions();
-			for (int i = 0; i < nodeRegions.size(); i++) {
-				allRegions.add(nodeRegions.get(i));
-			}
-			currentNode = currentNode.getNext();
-		}
-		return allRegions;
-	}
-
-	/**
-	 * 
-	 * @return java.util.List
-	 */
-	public List getStructuredDocumentRegionHandlers() {
-		if (fStructuredDocumentRegionHandlers == null) {
-			fStructuredDocumentRegionHandlers = new ArrayList(0);
-		}
-		return fStructuredDocumentRegionHandlers;
-	}
-
-	/**
-	 * Returns text from the current input. Text is only valid before
-	 * getNodes() has been called and only when a raw String or DocumentReader
-	 * is given as the input.
-	 */
-	public String getText(int offset, int length) {
-		String text = null;
-		if (fCharSequenceSource != null) {
-			int start = fOffset + offset;
-			int end = start + length;
-			text = fCharSequenceSource.subSequence(start, end).toString();
-		} else if (fDocumentInput != null) {
-			try {
-				text = fDocumentInput.get(offset, length);
-			} catch (BadLocationException e) {
-				text = "";
-			}
-		} else {
-			if (fStringInput == null || fStringInput.length() == 0 || offset + length > fStringInput.length() || offset < 0) {
-				text = ""; //$NON-NLS-1$
-			} else {
-				// offset is entirely valid during parsing as the parse
-				//   numbers haven't been adjusted.
-				text = fStringInput.substring(offset, offset + length);
-			}
-		}
-		return text;
-	}
-
-	protected BlockTokenizer getTokenizer() {
-		if (fTokenizer == null) {
-			fTokenizer = new XMLTokenizer();
-		}
-		return fTokenizer;
-	}
-
-	/**
-	 * @see com.ibm.sed.parser.RegionParser#newInstance()
-	 */
-	public RegionParser newInstance() {
-		XMLSourceParser newInstance = new XMLSourceParser();
-		newInstance.setTokenizer(getTokenizer().newInstance());
-		return newInstance;
-	}
-
-	protected IStructuredDocumentRegion parseNodes() {
-		// regions are initially reported as complete offsets within the
-		// scanned input
-		// they are adjusted here to be indexes from the currentNode's start
-		// offset
-		IStructuredDocumentRegion headNode = null;
-		IStructuredDocumentRegion lastNode = null;
-		ITextRegion region = null;
-		IStructuredDocumentRegion currentNode = null;
-		String type = null;
-
-		while ((region = getNextRegion()) != null) {
-			type = region.getType();
-			// these types (might) demand a IStructuredDocumentRegion for each
-			// of them
-			if (type == XMLRegionContext.BLOCK_TEXT) {
-				if (currentNode != null && currentNode.getLastRegion().getType() == XMLRegionContext.BLOCK_TEXT) {
-					// multiple block texts indicated embedded containers; no
-					// new IStructuredDocumentRegion
-					currentNode.addRegion(region);
-					currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-					region.adjustStart(-currentNode.getStart());
-					// DW 4/16/2003 regions no longer have parents
-					//region.setParent(currentNode);
-				} else {
-					// not continuing a IStructuredDocumentRegion
-					if (currentNode != null) {
-						// ensure that any existing node is at least
-						// terminated
-						if (!currentNode.isEnded()) {
-							currentNode.setLength(region.getStart() - currentNode.getStart());
-							// fCurrentNode.setTextLength(region.getStart() -
-							// fCurrentNode.getStart());
-						}
-						lastNode = currentNode;
-					}
-					fireNodeParsed(currentNode);
-					currentNode = createStructuredDocumentRegion(type);
-					if (lastNode != null) {
-						lastNode.setNext(currentNode);
-					}
-					currentNode.setPrevious(lastNode);
-					currentNode.setStart(region.getStart());
-					currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-					currentNode.setEnded(true);
-					region.adjustStart(-currentNode.getStart());
-					currentNode.addRegion(region);
-					// DW 4/16/2003 regions no longer have parents
-					//region.setParent(currentNode);
-				}
-			}
-			// the following contexts OPEN new StructuredDocumentRegions
-			else if ((currentNode != null && currentNode.isEnded()) || (type == XMLRegionContext.XML_CONTENT) || (type == XMLRegionContext.XML_CHAR_REFERENCE) || (type == XMLRegionContext.XML_ENTITY_REFERENCE) || (type == XMLRegionContext.XML_PI_OPEN) || (type == XMLRegionContext.XML_TAG_OPEN) || (type == XMLRegionContext.XML_END_TAG_OPEN) || (type == XMLRegionContext.XML_COMMENT_OPEN) || (type == XMLRegionContext.XML_CDATA_OPEN) || (type == XMLRegionContext.XML_DECLARATION_OPEN)) {
-				if (currentNode != null) {
-					// ensure that any existing node is at least terminated
-					if (!currentNode.isEnded()) {
-						currentNode.setLength(region.getStart() - currentNode.getStart());
-						// fCurrentNode.setTextLength(region.getStart() -
-						// fCurrentNode.getStart());
-					}
-					lastNode = currentNode;
-				}
-				fireNodeParsed(currentNode);
-				currentNode = createStructuredDocumentRegion(type);
-				if (lastNode != null) {
-					lastNode.setNext(currentNode);
-				}
-				currentNode.setPrevious(lastNode);
-				currentNode.setStart(region.getStart());
-				currentNode.addRegion(region);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				region.adjustStart(-currentNode.getStart());
-				// DW 4/16/2003 regions no longer have parents
-				//region.setParent(currentNode);
-			}
-			// the following contexts neither open nor close
-			// StructuredDocumentRegions; just add to them
-			else if ((type == XMLRegionContext.XML_TAG_NAME) || (type == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) || (type == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) || (type == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) || (type == XMLRegionContext.XML_COMMENT_TEXT) || (type == XMLRegionContext.XML_PI_CONTENT) || (type == XMLRegionContext.XML_DOCTYPE_INTERNAL_SUBSET)) {
-				currentNode.addRegion(region);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				region.adjustStart(-currentNode.getStart());
-				// DW 4/16/2003 regions no longer have parents
-				//region.setParent(currentNode);
-			}
-			// the following contexts close off StructuredDocumentRegions
-			// cleanly
-			else if ((type == XMLRegionContext.XML_PI_CLOSE) || (type == XMLRegionContext.XML_TAG_CLOSE) || (type == XMLRegionContext.XML_EMPTY_TAG_CLOSE) || (type == XMLRegionContext.XML_COMMENT_CLOSE) || (type == XMLRegionContext.XML_DECLARATION_CLOSE) || (type == XMLRegionContext.XML_CDATA_CLOSE)) {
-				currentNode.setEnded(true);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				currentNode.addRegion(region);
-				region.adjustStart(-currentNode.getStart());
-				// DW 4/16/2003 regions no longer have parents
-				//region.setParent(currentNode);
-			}
-			// this is extremely rare, but valid
-			else if (type == XMLRegionContext.WHITE_SPACE) {
-				ITextRegion lastRegion = currentNode.getLastRegion();
-				// pack the embedded container with this region
-				if (lastRegion instanceof ITextRegionContainer) {
-					ITextRegionContainer container = (ITextRegionContainer) lastRegion;
-					container.getRegions().add(region);
-					// containers must have parent set ...
-					// setting for EACH subregion is redundent, but not sure
-					// where else to do, so will do here for now.
-					container.setParent(currentNode);
-					// DW 4/16/2003 regions no longer have parents
-					//region.setParent(container);
-					region.adjustStart(container.getLength() - region.getStart());
-				}
-				currentNode.getLastRegion().adjustLengthWith(region.getLength());
-				currentNode.adjustLengthWith(region.getLength());
-			} else if (type == XMLRegionContext.UNDEFINED && currentNode != null) {
-				// skip on a very-first region situation as the default
-				// behavior is good enough
-				// combine with previous if also undefined
-				if (currentNode.getLastRegion() != null && currentNode.getLastRegion().getType() == XMLRegionContext.UNDEFINED) {
-					currentNode.getLastRegion().adjustLengthWith(region.getLength());
-					currentNode.adjustLengthWith(region.getLength());
-				}
-				// previous wasn't undefined
-				else {
-					currentNode.addRegion(region);
-					currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-					region.adjustStart(-currentNode.getStart());
-				}
-			} else {
-				// if an unknown type is the first region in the document,
-				// ensure that a node exists
-				if (currentNode == null) {
-					currentNode = createStructuredDocumentRegion(type);
-					currentNode.setStart(region.getStart());
-				}
-				currentNode.addRegion(region);
-				currentNode.setLength(region.getStart() + region.getLength() - currentNode.getStart());
-				region.adjustStart(-currentNode.getStart());
-				// DW 4/16/2003 regions no longer have parents
-				//region.setParent(currentNode);
-				if (Debug.debugTokenizer)
-					System.out.println(getClass().getName() + " found region of not specifically handled type " + region.getType() + " @ " + region.getStart() + "[" + region.getLength() + "]"); //$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-			}
-
-			// these regions also get their own node, so close them cleanly
-			// NOTE: these regions have new StructuredDocumentRegions created
-			// for them above; it may
-			// be more readable if that is handled here as well, but the
-			// current layout
-			// ensures that they open StructuredDocumentRegions the same way
-			if ((type == XMLRegionContext.XML_CONTENT) || (type == XMLRegionContext.XML_CHAR_REFERENCE) || (type == XMLRegionContext.XML_ENTITY_REFERENCE)) {
-				currentNode.setEnded(true);
-			}
-			if (headNode == null && currentNode != null) {
-				headNode = currentNode;
-			}
-		}
-		if (currentNode != null) {
-			fireNodeParsed(currentNode);
-			currentNode.setPrevious(lastNode);
-		}
-		//fStringInput = null;
-		primReset();
-		return headNode;
-	}
-
-	protected void primReset() {
-		//fNodes = null;
-		//fRegions = null;
-		//fInput = null;
-		fStringInput = null;
-		fCharSequenceSource = null;
-		fDocumentInput = null;
-		fOffset = 0;
-		//fCurrentNode = null;
-		// DMW: also reset tokenizer so it doesn't hold on
-		// to large arrays
-		getTokenizer().reset(new char[0]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.internal.text.IRegionComparible#regionMatches(int,
-	 *      int, java.lang.String)
-	 */
-	public boolean regionMatches(int offset, int length, String stringToCompare) {
-		// by definition
-		if (stringToCompare == null)
-			return false;
-
-		boolean result = false;
-		if (fCharSequenceSource != null && fCharSequenceSource instanceof IRegionComparible) {
-			result = ((IRegionComparible) fCharSequenceSource).regionMatches(offset, length, stringToCompare);
-		} else {
-			// old fashioned ways
-			String test = null;
-			if (fCharSequenceSource != null) {
-				test = fCharSequenceSource.subSequence(offset, offset + length).toString();
-			} else if (fStringInput != null) {
-				test = fStringInput.substring(offset, offset + length);
-			}
-			result = stringToCompare.equals(test);
-		}
-		return result;
-	}
-
-	public boolean regionMatchesIgnoreCase(int offset, int length, String stringToCompare) {
-		// by definition
-		if (stringToCompare == null)
-			return false;
-
-		boolean result = false;
-		if (fCharSequenceSource != null && fCharSequenceSource instanceof IRegionComparible) {
-			result = ((IRegionComparible) fCharSequenceSource).regionMatchesIgnoreCase(offset, length, stringToCompare);
-		} else {
-			// old fashioned ways
-			String test = null;
-			if (fCharSequenceSource != null) {
-				test = fCharSequenceSource.subSequence(offset, offset + length).toString();
-			} else if (fStringInput != null) {
-				test = fStringInput.substring(offset, offset + length);
-			}
-			result = stringToCompare.equalsIgnoreCase(test);
-		}
-		return result;
-	}
-
-	public void removeBlockMarker(BlockMarker marker) {
-		getTokenizer().removeBlockMarker(marker);
-	}
-
-	public void removeBlockMarker(String tagName) {
-		getTokenizer().removeBlockMarker(tagName);
-	}
-
-	public void removeStructuredDocumentRegionHandler(StructuredDocumentRegionHandler handler) {
-		if (fStructuredDocumentRegionHandlers == null)
-			return;
-		if (fStructuredDocumentRegionHandlers.contains(handler))
-			fStructuredDocumentRegionHandlers.remove(handler);
-	}
-
-	/**
-	 * Resets the input.
-	 */
-	public void reset(java.io.FileInputStream instream) {
-		primReset();
-		//fInput = instream;
-		getTokenizer().reset(instream);
-	}
-
-	/**
-	 * Resets the input.
-	 */
-	public void reset(java.io.Reader reader) {
-		reset(reader, 0);
-	}
-
-	/**
-	 * Resets the input.
-	 */
-	public void reset(java.io.Reader reader, int position) {
-		primReset();
-		fOffset = position;
-		getTokenizer().reset(reader, position);
-		if (reader instanceof DocumentReader) {
-			IDocument doc = ((DocumentReader) reader).getDocument();
-			if (doc instanceof CharSequence) {
-				fCharSequenceSource = (CharSequence) doc;
-			} else {
-				// old fashioned IDocument
-				fDocumentInput = ((DocumentReader) reader).getDocument();
-			}
-
-		} else if (reader instanceof CharSequenceReader) {
-			fCharSequenceSource = ((CharSequenceReader) reader).getOriginalSource();
-		}
-	}
-
-	/**
-	 * Resets the input. Use this version to allow text to be retrieved
-	 * <em>during</em> parsing, such as by the
-	 * StructuredDocumentRegionHandler.
-	 */
-	public void reset(String sourceString) {
-		reset(new StringReader(sourceString));
-		fStringInput = sourceString;
-	}
-
-	/**
-	 * Resets the input. Use this version to allow text to be retrieved
-	 * <em>during</em> parsing, such as by the
-	 * StructuredDocumentRegionHandler.
-	 */
-	public void reset(String sourceString, int position) {
-		StringReader reader = new StringReader(sourceString);
-		reset(reader, position);
-		fStringInput = sourceString;
-	}
-
-	public void resetHandlers() {
-		if (fStructuredDocumentRegionHandlers != null) {
-			int size = fStructuredDocumentRegionHandlers.size();
-			for (int i = 0; i < size; i++)
-				((StructuredDocumentRegionHandler) fStructuredDocumentRegionHandlers.get(i)).resetNodes();
-		}
-	}
-
-	/**
-	 * 
-	 * @param List
-	 */
-	public void setStructuredDocumentRegionHandlers(List newStructuredDocumentRegionHandlers) {
-		fStructuredDocumentRegionHandlers = newStructuredDocumentRegionHandlers;
-	}
-
-	protected void setTokenizer(BlockTokenizer newTokenizer) {
-		// DMW: changed from private to protected, so subclass could use in
-		// creation of 'newInstance'.
-		fTokenizer = newTokenizer;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLStructuredDocumentReParser.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLStructuredDocumentReParser.java
deleted file mode 100644
index 518d4f6..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLStructuredDocumentReParser.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser;
-
-import org.eclipse.wst.sse.core.internal.text.StructuredDocumentReParser;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredTextReParser;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class XMLStructuredDocumentReParser extends StructuredDocumentReParser {
-
-	public XMLStructuredDocumentReParser() {
-		super();
-	}
-
-	protected IStructuredDocumentRegion findDirtyEnd(int end) {
-		// Caution: here's one place we have to cast
-		IStructuredDocumentRegion result = fStructuredDocument.getRegionAtCharacterOffset(end);
-		// if not well formed, get one past, if there is something there
-		if ((result != null) && (!result.isEnded())) {
-			if (result.getNext() != null) {
-				result = result.getNext();
-			}
-		}
-		// also, get one past if exactly equal to the end (this was needed
-		// as a simple fix to when a whole exact region is deleted.
-		// there's probably a better way.
-		if ((result != null) && (end == result.getEnd())) {
-			if (result.getNext() != null) {
-				result = result.getNext();
-			}
-		}
-
-		// 12/6/2001 - Since we've changed the parser/scanner to allow a lone
-		// '<' without
-		// always interpretting it as start of a tag name, we need to be a
-		// little fancier, in order
-		// to "skip" over any plain 'ol content between the lone '<' and any
-		// potential meating
-		// regions past plain 'ol content.
-		if (isLoneOpenFollowedByContent(result) && (result.getNext() != null)) {
-			result = result.getNext();
-		}
-
-		if (result != null)
-			fStructuredDocument.setCachedDocumentRegion(result);
-		dirtyEnd = result;
-
-		return dirtyEnd;
-	}
-
-	protected void findDirtyStart(int start) {
-		IStructuredDocumentRegion result = fStructuredDocument.getRegionAtCharacterOffset(start);
-		// heuristic: if the postion is exactly equal to the start, then
-		// go back one more, if it exists. This prevents problems with
-		// insertions
-		// of text that should be merged with the previous node instead of
-		// simply hung
-		// off of it as a separate node (ex.: XML content inserted right
-		// before an open
-		// bracket should become part of the previous content node)
-		if (result != null) {
-			IStructuredDocumentRegion previous = result.getPrevious();
-			if ((previous != null) && ((!(previous.isEnded())) || (start == result.getStart()))) {
-				result = previous;
-			}
-			// If we are now at the end of a "tag dependent" content area (or
-			// JSP area)
-			// then we need to back up all the way to the beginning of that.
-			IStructuredDocumentRegion potential = result;
-			while (isPartOfBlockRegion(potential)) {
-				potential = potential.getPrevious();
-			}
-			if (potential != null) {
-				result = potential;
-				fStructuredDocument.setCachedDocumentRegion(result);
-			}
-		}
-		dirtyStart = result;
-	}
-
-	/**
-	 * The rule is, that is we are content, preceded by lone <, then we need
-	 * to advance one more for dirty end.
-	 */
-	protected boolean isLoneOpenFollowedByContent(IStructuredDocumentRegion flatNode) {
-		boolean result = false;
-		String type = flatNode.getType();
-		if (type == XMLRegionContext.XML_CONTENT) {
-			IStructuredDocumentRegion previous = flatNode.getPrevious();
-			String previousType = null;
-			if (previous != null) {
-				previousType = previous.getType();
-			}
-			if (previousType != null) {
-				result = (previousType == XMLRegionContext.XML_TAG_OPEN);
-			}
-		}
-		return result;
-	}
-
-	protected boolean isPartOfBlockRegion(IStructuredDocumentRegion flatNode) {
-		boolean result = false;
-		String type = flatNode.getType();
-		result = (type == XMLRegionContext.BLOCK_TEXT || type == XMLJSPRegionContexts.JSP_CONTENT);
-		return result;
-	}
-
-	public IStructuredTextReParser newInstance() {
-		return new XMLStructuredDocumentReParser();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLStructuredRegionFactory.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLStructuredRegionFactory.java
deleted file mode 100644
index 0411d66..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLStructuredRegionFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.internal.text.XMLStructuredDocumentRegion;
-
-
-/**
- * A simple class to generate instances of StructuredRegions.
- */
-public class XMLStructuredRegionFactory {
-	public final static int JSP_DIRECTIVE = 1003;
-	public final static int XML = 1001;
-	public final static int XML_BLOCK = 1002;
-
-	public static IStructuredDocumentRegion createRegion(int type) {
-		IStructuredDocumentRegion instance = null;
-		switch (type) {
-			case XML :
-				instance = new XMLStructuredDocumentRegion();
-				break;
-			case XML_BLOCK :
-				instance = new BlockStructuredDocumentRegion();
-				break;
-			default :
-				throw new IllegalArgumentException("AbstractRegion::createRegion. Invalid type."); //$NON-NLS-1$
-		}
-		return instance;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java
deleted file mode 100644
index 0943d20..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/XMLTokenizer.java
+++ /dev/null
@@ -1,1882 +0,0 @@
-/* The following code was generated by JFlex 1.2.2 on 1/27/05 4:48 PM */
-
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*nlsXXX*/
-package org.eclipse.wst.xml.core.internal.parser;
-
-import java.io.CharArrayReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.parser.BlockMarker;
-import org.eclipse.wst.sse.core.parser.BlockTokenizer;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.internal.Logger;
-import org.eclipse.wst.xml.core.internal.parser.regions.XMLParserRegionFactory;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * This class is a scanner generated by 
- * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2
- * on 1/27/05 4:48 PM from the specification file
- * <tt>file:/D:/eclipse.wtp/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/XMLTokenizer.jflex</tt>
- */
-public class XMLTokenizer implements BlockTokenizer, XMLRegionContext {
-
-  /** this character denotes the end of file */
-  final public static int YYEOF = -1;
-
-  /** lexical states */
-  final public static int ST_XML_DOCTYPE_EXTERNAL_ID = 23;
-  final public static int ST_XML_ELEMENT_DECLARATION_CONTENT = 27;
-  final public static int ST_DHTML_ATTRIBUTE_NAME = 12;
-  final public static int ST_XML_PI_TAG_CLOSE = 11;
-  final public static int ST_XML_DECLARATION_CLOSE = 21;
-  final public static int ST_XML_PI_ATTRIBUTE_VALUE = 10;
-  final public static int ST_DHTML_EQUALS = 13;
-  final public static int ST_XML_TAG_NAME = 16;
-  final public static int ST_XML_ATTRIBUTE_VALUE = 19;
-  final public static int ST_DHTML_ATTRIBUTE_VALUE = 14;
-  final public static int ST_XML_DOCTYPE_ID_SYSTEM = 25;
-  final public static int ST_XML_ATTRIBUTE_NAME = 17;
-  final public static int ST_XML_ELEMENT_DECLARATION = 26;
-  final public static int ST_XML_DOCTYPE_DECLARATION = 22;
-  final public static int ST_XML_ATTLIST_DECLARATION = 28;
-  final public static int ST_XML_COMMENT_END = 4;
-  final public static int ST_CDATA_TEXT = 1;
-  final public static int ST_DHTML_TAG_CLOSE = 15;
-  final public static int ST_XML_COMMENT = 3;
-  final public static int ST_PI_CONTENT = 7;
-  final public static int ST_PI_WS = 6;
-  final public static int ST_CDATA_END = 2;
-  final public static int ST_XML_ATTLIST_DECLARATION_CONTENT = 29;
-  final public static int ST_BLOCK_TAG_SCAN = 30;
-  final public static int ST_XML_PI_EQUALS = 9;
-  final public static int ST_XML_DECLARATION = 20;
-  final public static int YYINITIAL = 0;
-  final public static int ST_XML_DOCTYPE_ID_PUBLIC = 24;
-  final public static int ST_XML_EQUALS = 18;
-  final public static int ST_PI = 5;
-  final public static int ST_XML_PI_ATTRIBUTE_NAME = 8;
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static String yycmap_packed = 
-    "\11\0\1\5\1\22\2\0\1\14\22\0\1\14\1\21\1\11\1\51"+
-    "\1\16\1\17\1\12\1\13\1\16\1\16\1\16\1\16\1\16\1\7"+
-    "\1\6\1\3\12\15\1\10\1\54\1\1\1\43\1\2\1\4\1\16"+
-    "\1\32\1\55\1\30\1\31\1\35\1\52\1\34\1\34\1\40\1\34"+
-    "\1\34\1\26\1\25\1\42\1\41\1\45\1\34\1\36\1\37\1\33"+
-    "\1\53\2\34\1\23\1\44\1\34\1\27\1\0\1\20\1\0\1\10"+
-    "\1\0\1\47\1\55\1\56\1\50\1\35\1\52\1\34\1\34\1\40"+
-    "\2\34\1\26\1\25\1\42\1\41\1\45\1\34\1\36\1\37\1\46"+
-    "\1\53\1\34\1\34\1\24\1\44\1\34\1\0\1\0\72\0\1\60"+
-    "\10\0\27\57\1\0\37\57\1\0\72\57\2\0\13\57\2\0\10\57"+
-    "\1\0\65\57\1\0\104\57\11\0\44\57\3\0\2\57\4\0\36\57"+
-    "\70\0\131\57\22\0\7\57\16\0\2\60\56\0\106\60\32\0\2\60"+
-    "\44\0\1\57\1\60\3\57\1\0\1\57\1\0\24\57\1\0\54\57"+
-    "\1\0\7\57\3\0\1\57\1\0\1\57\1\0\1\57\1\0\1\57"+
-    "\1\0\22\57\15\0\14\57\1\0\102\57\1\0\14\57\1\0\44\57"+
-    "\1\0\4\60\11\0\65\57\2\0\2\57\2\0\2\57\3\0\34\57"+
-    "\2\0\10\57\2\0\2\57\67\0\46\57\2\0\1\57\7\0\46\57"+
-    "\12\0\21\60\1\0\27\60\1\0\3\60\1\0\1\60\1\0\2\60"+
-    "\1\0\1\60\13\0\33\57\5\0\3\57\56\0\32\57\5\0\1\60"+
-    "\12\57\10\60\15\0\12\60\6\0\1\60\107\57\2\0\5\57\1\0"+
-    "\17\57\1\0\4\57\1\0\1\57\17\60\2\57\2\60\1\0\4\60"+
-    "\2\0\12\60\u0207\0\3\60\1\0\65\57\2\0\1\60\1\57\20\60"+
-    "\3\0\4\60\3\0\12\57\2\60\2\0\12\60\21\0\3\60\1\0"+
-    "\10\57\2\0\2\57\2\0\26\57\1\0\7\57\1\0\1\57\3\0"+
-    "\4\57\2\0\1\60\1\0\7\60\2\0\2\60\2\0\3\60\11\0"+
-    "\1\60\4\0\2\57\1\0\3\57\2\60\2\0\12\60\2\57\20\0"+
-    "\1\60\2\0\6\57\4\0\2\57\2\0\26\57\1\0\7\57\1\0"+
-    "\2\57\1\0\2\57\1\0\2\57\2\0\1\60\1\0\5\60\4\0"+
-    "\2\60\2\0\3\60\13\0\4\57\1\0\1\57\7\0\12\60\2\60"+
-    "\3\57\14\0\3\60\1\0\7\57\1\0\1\57\1\0\3\57\1\0"+
-    "\26\57\1\0\7\57\1\0\2\57\1\0\5\57\2\0\1\60\1\57"+
-    "\10\60\1\0\3\60\1\0\3\60\22\0\1\57\5\0\12\60\21\0"+
-    "\3\60\1\0\10\57\2\0\2\57\2\0\26\57\1\0\7\57\1\0"+
-    "\2\57\2\0\4\57\2\0\1\60\1\57\6\60\3\0\2\60\2\0"+
-    "\3\60\10\0\2\60\4\0\2\57\1\0\3\57\4\0\12\60\22\0"+
-    "\2\60\1\0\6\57\3\0\3\57\1\0\4\57\3\0\2\57\1\0"+
-    "\1\57\1\0\2\57\3\0\2\57\3\0\3\57\3\0\10\57\1\0"+
-    "\3\57\4\0\5\60\3\0\3\60\1\0\4\60\11\0\1\60\17\0"+
-    "\11\60\21\0\3\60\1\0\10\57\1\0\3\57\1\0\27\57\1\0"+
-    "\12\57\1\0\5\57\4\0\7\60\1\0\3\60\1\0\4\60\7\0"+
-    "\2\60\11\0\2\57\4\0\12\60\22\0\2\60\1\0\10\57\1\0"+
-    "\3\57\1\0\27\57\1\0\12\57\1\0\5\57\4\0\7\60\1\0"+
-    "\3\60\1\0\4\60\7\0\2\60\7\0\1\57\1\0\2\57\4\0"+
-    "\12\60\22\0\2\60\1\0\10\57\1\0\3\57\1\0\27\57\1\0"+
-    "\20\57\4\0\6\60\2\0\3\60\1\0\4\60\11\0\1\60\10\0"+
-    "\2\57\4\0\12\60\221\0\56\57\1\0\1\57\1\60\2\57\7\60"+
-    "\5\0\6\57\1\60\10\60\1\0\12\60\47\0\2\57\1\0\1\57"+
-    "\2\0\2\57\1\0\1\57\2\0\1\57\6\0\4\57\1\0\7\57"+
-    "\1\0\3\57\1\0\1\57\1\0\1\57\2\0\2\57\1\0\2\57"+
-    "\1\0\1\57\1\60\2\57\6\60\1\0\2\60\1\57\2\0\5\57"+
-    "\1\0\1\60\1\0\6\60\2\0\12\60\76\0\2\60\6\0\12\60"+
-    "\13\0\1\60\1\0\1\60\1\0\1\60\4\0\2\60\10\57\1\0"+
-    "\41\57\7\0\24\60\1\0\6\60\4\0\6\60\1\0\1\60\1\0"+
-    "\25\60\3\0\7\60\1\0\1\60\346\0\46\57\12\0\47\57\11\0"+
-    "\1\57\1\0\2\57\1\0\3\57\1\0\1\57\1\0\2\57\1\0"+
-    "\5\57\51\0\1\57\1\0\1\57\1\0\1\57\13\0\1\57\1\0"+
-    "\1\57\1\0\1\57\3\0\2\57\3\0\1\57\5\0\3\57\1\0"+
-    "\1\57\1\0\1\57\1\0\1\57\1\0\1\57\3\0\2\57\3\0"+
-    "\2\57\1\0\1\57\50\0\1\57\11\0\1\57\2\0\1\57\2\0"+
-    "\2\57\7\0\2\57\1\0\1\57\1\0\7\57\50\0\1\57\4\0"+
-    "\1\57\10\0\1\57\u0c06\0\234\57\4\0\132\57\6\0\26\57\2\0"+
-    "\6\57\2\0\46\57\2\0\6\57\2\0\10\57\1\0\1\57\1\0"+
-    "\1\57\1\0\1\57\1\0\37\57\2\0\65\57\1\0\7\57\1\0"+
-    "\1\57\3\0\3\57\1\0\7\57\3\0\4\57\2\0\6\57\4\0"+
-    "\15\57\5\0\3\57\1\0\7\57\323\0\15\60\4\0\1\60\104\0"+
-    "\1\57\3\0\2\57\2\0\1\57\121\0\3\57\u0e82\0\1\60\1\0"+
-    "\1\57\31\0\11\57\6\60\1\0\5\60\13\0\124\57\4\0\2\60"+
-    "\2\0\2\60\2\0\132\57\1\0\3\60\6\0\50\57\u1cd3\0\u51a6\57"+
-    "\u0c5a\0\u2ba4\57\134\0\u0800\0\u1ffe\0\2\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  final private static int yy_rowMap [] = { 
-        0,    49,    98,   147,   196,   245,   294,   343,   392,   441, 
-      490,   539,   588,   637,   686,   735,   784,   833,   882,   931, 
-      980,  1029,  1078,  1127,  1176,  1225,  1274,  1323,  1372,  1421, 
-     1470,  1519,  1568,  1617,  1666,  1715,  1764,  1715,  1764,  1813, 
-     1715,  1715,  1764,  1862,  1911,  1960,  2009,  2058,  2107,  2156, 
-     1715,  1764,  2205,  2254,  2303,  1715,  2352,  2352,  2401,  2450, 
-     2499,  2205,  1715,  2548,  2597,  1715,  2646,  2695,  2744,  2793, 
-     2842,  2891,  1715,  2940,  2989,  3038,  3087,  1715,  3136,  3185, 
-     3234,  3283,  3332,  1715,  3381,  3430,  3479,  3528,  3577,  3626, 
-     3675,  3724,  3724,  3773,  3822,  3871,  3920,  3920,  3969,  4018, 
-     4067,  4116,  4116,  4165,  4214,  4263,  4312,  1715,  4361,  4361, 
-     4410,  4459,  4508,  4557,  1715,  1715,  1764,  1715,  1715,  4606, 
-     4655,  4704,  4753,  4802,  4851,  4900,  4949,  1715,  4998,  5047, 
-     1715,  1715,  2352,  5096,  2450,  1715,  5145,  2499,  2548,  2646, 
-     2695,  5194,  2744,  1715,  5243,  2793,  1715,  3136,  5292,  3234, 
-     1715,  5341,  3283,  4606,  5390,  5439,  5488,  3528,  1715,  5537, 
-     5586,  3724,  5635,  3773,  1715,  5684,  5733,  5782,  5782,  5831, 
-     5880,  3871,  3724,  3920,  5929,  3969,  1715,  5978,  4018,  4067, 
-     3920,  4116,  6027,  4165,  1715,  6076,  6125,  6174,  6174,  6223, 
-     6272,  6321,  4361,  6370,  4410,  1715,  6419,  6468,  6517,  6517, 
-     6566,  6615,  6664,  6713,  6762,  6811,  6860,  1715,  6909,  6958, 
-     1715,  1715,  1715,  2009,  7007,  7056,  7105,  7154,  7203,  7252, 
-     5684,  7301,  7301,  6076,  7350,  7350,  7399,  6419,  7448,  7448, 
-     7497,  1715,  7546,  7595,  1715,  7644,  7693,  7742,  7791,  7840, 
-     7889,  7938,  5831,  6223,  7987,  6566,  8036,  8085,  8134,  8183, 
-     8232,  8281,  8330,  8379,  8428,  8477,  8526,  8575,  8624,  8673, 
-     8722,  1715,  1715,  8771,  8820,  8869,  8918,  1715,  1715,  1715, 
-     8967,  9016,  9065,  9114,  9163,  1715,  4263,  4508
-  };
-
-  /** 
-   * The packed transition table of the DFA
-   */
-  final private static String yy_packed = 
-    "\1\40\1\41\10\40\1\42\4\40\1\43\41\40\1\44"+
-    "\1\45\57\44\1\46\1\47\16\46\1\50\1\46\1\51"+
-    "\36\46\1\52\1\53\57\52\1\46\1\47\5\46\1\54"+
-    "\12\46\1\51\37\46\1\47\2\46\1\55\1\56\2\46"+
-    "\1\57\3\46\1\56\5\46\1\56\2\60\2\57\1\46"+
-    "\10\57\1\61\2\57\1\46\5\57\1\46\2\57\1\46"+
-    "\3\57\2\46\1\47\2\46\1\55\1\62\6\46\1\62"+
-    "\5\46\1\62\36\46\1\63\1\64\2\63\1\65\15\63"+
-    "\1\51\36\63\1\46\1\47\2\46\1\66\1\56\2\46"+
-    "\1\67\3\46\1\56\5\46\1\56\4\67\1\46\13\67"+
-    "\1\46\5\67\1\46\2\67\1\46\3\67\2\46\1\47"+
-    "\2\46\1\66\1\56\2\46\1\67\3\46\1\56\5\46"+
-    "\1\56\4\67\1\46\13\67\1\70\5\67\1\46\2\67"+
-    "\1\46\3\67\1\46\1\71\1\47\1\46\1\72\1\73"+
-    "\1\56\3\71\1\74\1\71\1\75\1\56\5\71\1\56"+
-    "\36\71\1\46\1\47\2\46\1\76\15\46\1\51\37\46"+
-    "\1\47\1\77\1\100\1\46\1\56\2\46\1\101\3\46"+
-    "\1\56\5\46\1\56\4\101\1\46\13\101\1\46\5\101"+
-    "\1\46\2\101\1\46\3\101\2\46\1\47\1\77\1\100"+
-    "\1\46\1\56\2\46\1\101\3\46\1\56\5\46\1\56"+
-    "\4\101\1\46\13\101\1\102\5\101\1\46\2\101\1\46"+
-    "\3\101\1\46\1\103\1\47\1\77\1\104\1\103\1\56"+
-    "\3\103\1\105\1\103\1\106\1\56\5\103\1\56\36\103"+
-    "\1\46\1\47\3\46\1\56\6\46\1\56\5\46\1\56"+
-    "\36\46\1\107\1\110\1\111\1\112\4\107\1\113\12\107"+
-    "\4\114\1\107\13\114\1\107\5\114\1\107\2\114\1\107"+
-    "\3\114\1\107\1\46\1\110\1\111\1\112\1\46\1\56"+
-    "\2\46\1\115\3\46\1\56\5\46\1\56\4\115\1\46"+
-    "\13\115\1\46\5\115\1\46\2\115\1\46\3\115\2\46"+
-    "\1\110\1\111\1\112\1\46\1\56\2\46\1\115\3\46"+
-    "\1\56\5\46\1\56\4\115\1\46\13\115\1\116\5\115"+
-    "\1\46\2\115\1\46\3\115\1\46\1\117\1\110\1\111"+
-    "\1\120\1\117\1\56\3\117\1\121\1\117\1\122\1\56"+
-    "\5\117\1\56\36\117\1\46\1\123\1\124\2\46\1\56"+
-    "\6\46\1\56\5\46\1\56\6\46\1\125\1\126\2\46"+
-    "\1\127\11\46\1\126\1\125\11\46\1\47\1\124\2\46"+
-    "\1\56\6\46\1\56\5\46\1\56\4\46\1\130\32\46"+
-    "\1\47\1\124\2\46\1\56\2\46\1\131\3\46\1\56"+
-    "\5\46\1\56\4\131\1\130\13\131\1\46\5\131\1\46"+
-    "\2\131\1\46\3\131\2\46\1\47\1\124\2\46\1\56"+
-    "\6\46\1\56\5\46\1\56\4\46\1\130\7\46\1\132"+
-    "\5\46\1\133\13\46\1\134\1\47\1\124\1\135\1\134"+
-    "\1\56\3\134\1\136\1\134\1\137\1\56\5\134\1\56"+
-    "\4\134\1\140\31\134\1\141\1\47\1\124\1\142\1\141"+
-    "\1\56\3\141\1\143\1\141\1\144\1\56\5\141\1\56"+
-    "\4\141\1\145\31\141\1\146\1\47\1\124\1\147\1\146"+
-    "\1\56\3\146\1\150\1\146\1\151\1\56\5\146\1\56"+
-    "\36\146\1\152\1\153\1\154\56\152\1\155\1\47\1\124"+
-    "\1\156\1\155\1\56\3\155\1\157\1\155\1\160\1\56"+
-    "\5\155\1\56\36\155\1\161\1\162\1\163\56\161\1\164"+
-    "\1\165\57\164\1\40\1\0\10\40\1\0\4\40\1\0"+
-    "\41\40\3\0\1\166\1\167\14\0\1\170\44\0\1\171"+
-    "\2\0\1\172\3\0\1\171\5\0\1\171\4\172\1\0"+
-    "\13\172\1\0\5\172\1\173\2\172\1\0\3\172\6\0"+
-    "\1\171\2\0\1\174\3\0\1\171\5\0\1\171\4\174"+
-    "\1\0\13\174\1\0\5\174\1\0\2\174\1\0\3\174"+
-    "\103\0\1\175\57\0\1\176\47\0\1\177\53\0\1\200"+
-    "\63\0\1\56\6\0\1\56\5\0\1\56\44\0\3\57"+
-    "\4\0\1\57\5\0\4\57\1\0\13\57\1\0\5\57"+
-    "\1\0\2\57\1\0\4\57\6\0\3\57\4\0\1\57"+
-    "\5\0\2\57\1\201\1\57\1\0\13\57\1\0\5\57"+
-    "\1\0\2\57\1\0\4\57\6\0\3\57\4\0\1\57"+
-    "\5\0\2\57\1\202\1\57\1\0\13\57\1\0\5\57"+
-    "\1\0\2\57\1\0\4\57\5\0\1\62\6\0\1\62"+
-    "\5\0\1\62\40\0\1\203\60\0\1\204\64\0\3\67"+
-    "\4\0\1\67\5\0\4\67\1\0\13\67\1\0\5\67"+
-    "\1\0\2\67\1\0\4\67\1\71\2\0\1\205\1\71"+
-    "\1\0\3\71\1\0\1\71\2\0\5\71\1\0\37\71"+
-    "\1\0\1\204\1\205\1\71\1\0\3\71\1\0\1\71"+
-    "\2\0\5\71\1\0\36\71\1\74\1\0\1\206\1\207"+
-    "\1\74\1\206\3\74\1\210\1\74\2\206\5\74\1\206"+
-    "\36\74\1\75\1\0\1\211\1\212\1\75\1\211\3\75"+
-    "\1\211\1\75\1\210\1\211\5\75\1\211\36\75\2\0"+
-    "\1\77\1\213\63\0\3\101\4\0\1\101\5\0\4\101"+
-    "\1\0\13\101\1\0\5\101\1\0\2\101\1\0\4\101"+
-    "\1\103\2\0\1\214\1\103\1\0\3\103\1\0\1\103"+
-    "\2\0\5\103\1\0\37\103\1\0\1\77\1\215\1\103"+
-    "\1\0\3\103\1\0\1\103\2\0\5\103\1\0\36\103"+
-    "\1\105\1\0\1\216\1\217\1\105\1\216\3\105\1\220"+
-    "\1\105\2\216\5\105\1\216\36\105\1\106\1\0\1\221"+
-    "\1\222\1\106\1\221\3\106\1\221\1\106\1\220\1\221"+
-    "\5\106\1\221\36\106\1\107\3\0\17\107\4\0\1\107"+
-    "\13\0\1\107\5\0\1\107\2\0\1\107\3\0\1\107"+
-    "\3\0\1\166\15\0\1\170\41\0\1\223\56\0\1\107"+
-    "\3\0\2\107\3\113\4\107\1\113\5\107\4\114\1\107"+
-    "\13\114\1\107\5\114\1\107\2\114\1\107\3\114\1\113"+
-    "\6\0\3\114\4\0\1\114\5\0\4\114\1\0\13\114"+
-    "\1\0\5\114\1\0\2\114\1\0\4\114\6\0\3\115"+
-    "\4\0\1\115\5\0\4\115\1\0\13\115\1\0\5\115"+
-    "\1\0\2\115\1\0\4\115\1\117\2\0\1\224\1\117"+
-    "\1\0\3\117\1\0\1\117\2\0\5\117\1\0\37\117"+
-    "\1\0\1\223\1\224\1\117\1\0\3\117\1\0\1\117"+
-    "\2\0\5\117\1\0\36\117\1\121\1\0\1\225\1\226"+
-    "\1\121\1\225\3\121\1\227\1\121\2\225\5\121\1\225"+
-    "\36\121\1\122\1\0\1\230\1\231\1\122\1\230\3\122"+
-    "\1\230\1\122\1\227\1\230\5\122\1\230\36\122\3\0"+
-    "\1\166\15\0\1\232\100\0\1\233\52\0\1\234\12\0"+
-    "\1\234\40\0\1\235\32\0\20\236\1\237\40\236\6\0"+
-    "\3\131\4\0\1\131\5\0\4\131\1\0\13\131\1\0"+
-    "\5\131\1\0\2\131\1\0\4\131\44\0\1\240\67\0"+
-    "\1\241\5\0\1\134\2\0\1\242\1\134\1\0\3\134"+
-    "\1\0\1\134\2\0\5\134\1\0\36\134\1\136\1\0"+
-    "\1\243\1\244\1\136\1\243\3\136\1\245\1\136\2\243"+
-    "\5\136\1\243\36\136\1\246\1\0\1\247\1\250\1\251"+
-    "\1\247\3\251\1\247\1\246\1\252\1\253\3\251\1\246"+
-    "\1\251\1\253\4\251\1\246\27\251\2\246\1\140\2\236"+
-    "\1\254\1\140\1\236\3\140\1\236\1\140\2\236\3\140"+
-    "\1\255\1\140\1\236\36\140\1\141\2\0\1\256\1\141"+
-    "\1\0\3\141\1\0\1\141\2\0\5\141\1\0\36\141"+
-    "\1\143\2\257\1\260\1\143\1\257\3\143\1\261\1\143"+
-    "\2\257\5\143\1\257\36\143\1\144\2\262\1\263\1\144"+
-    "\1\262\3\144\1\262\1\144\1\261\1\262\5\144\1\262"+
-    "\36\144\1\145\2\236\1\264\1\145\1\236\3\145\1\236"+
-    "\1\145\2\236\3\145\1\265\1\145\1\236\36\145\1\146"+
-    "\2\0\1\266\1\146\1\0\3\146\1\0\1\146\2\0"+
-    "\5\146\1\0\36\146\1\150\1\0\1\267\1\270\1\150"+
-    "\1\267\3\150\1\271\1\150\2\267\5\150\1\267\36\150"+
-    "\1\272\1\0\1\273\1\274\1\275\1\273\3\275\1\273"+
-    "\1\272\1\276\1\277\3\275\1\272\1\275\1\277\4\275"+
-    "\1\272\27\275\2\272\2\152\1\0\60\152\1\0\16\152"+
-    "\1\300\37\152\1\155\2\0\1\301\1\155\1\0\3\155"+
-    "\1\0\1\155\2\0\5\155\1\0\36\155\1\157\1\0"+
-    "\1\302\1\303\1\157\1\302\3\157\1\304\1\157\2\302"+
-    "\5\157\1\302\36\157\1\305\1\0\1\306\1\307\1\310"+
-    "\1\306\3\310\1\306\1\305\1\311\1\312\3\310\1\305"+
-    "\1\310\1\312\4\310\1\305\27\310\2\305\2\161\1\0"+
-    "\60\161\1\0\16\161\1\313\37\161\7\0\1\314\17\0"+
-    "\1\315\36\0\1\171\2\0\1\40\3\0\1\171\5\0"+
-    "\1\171\4\40\1\0\13\40\1\0\5\40\1\0\2\40"+
-    "\1\0\3\40\1\0\1\316\1\0\3\316\1\317\3\172"+
-    "\1\316\1\0\1\316\1\317\1\172\1\316\1\0\2\316"+
-    "\1\317\4\172\1\316\13\172\1\316\5\172\1\316\2\172"+
-    "\1\320\4\172\15\0\1\321\6\0\1\322\34\0\1\316"+
-    "\1\0\3\316\1\317\3\174\1\316\1\0\1\316\1\317"+
-    "\1\174\1\316\1\0\2\316\1\317\4\174\1\316\13\174"+
-    "\1\316\5\174\1\316\2\174\1\323\4\174\27\0\1\315"+
-    "\33\0\1\324\60\0\1\325\64\0\3\57\4\0\1\57"+
-    "\5\0\3\57\1\326\1\0\13\57\1\0\5\57\1\0"+
-    "\2\57\1\0\4\57\6\0\3\57\4\0\1\57\5\0"+
-    "\4\57\1\0\13\57\1\0\1\57\1\327\3\57\1\0"+
-    "\2\57\1\0\4\57\1\206\1\0\7\206\1\210\47\206"+
-    "\1\211\1\0\11\211\1\210\45\211\1\216\1\0\7\216"+
-    "\1\220\47\216\1\221\1\0\11\221\1\220\45\221\1\225"+
-    "\1\0\7\225\1\227\47\225\1\230\1\0\11\230\1\227"+
-    "\45\230\30\0\1\330\25\0\1\330\35\0\1\331\12\0"+
-    "\1\331\47\0\1\332\62\0\1\333\76\0\1\334\3\0"+
-    "\1\243\1\0\7\243\1\245\47\243\1\246\1\0\1\247"+
-    "\1\335\1\246\1\247\3\246\1\247\1\246\1\245\1\247"+
-    "\5\246\1\247\36\246\1\247\1\0\11\247\1\245\45\247"+
-    "\1\246\1\0\1\247\1\335\1\246\1\247\3\246\1\247"+
-    "\1\246\1\336\1\247\5\246\1\247\36\246\13\0\1\337"+
-    "\45\0\1\247\1\0\11\247\1\336\45\247\11\257\1\261"+
-    "\47\257\13\262\1\261\45\262\1\267\1\0\7\267\1\271"+
-    "\47\267\1\272\1\0\1\273\1\340\1\272\1\273\3\272"+
-    "\1\273\1\272\1\271\1\273\5\272\1\273\36\272\1\273"+
-    "\1\0\11\273\1\271\45\273\1\272\1\0\1\273\1\340"+
-    "\1\272\1\273\3\272\1\273\1\272\1\341\1\273\5\272"+
-    "\1\273\36\272\13\0\1\342\45\0\1\273\1\0\11\273"+
-    "\1\341\45\273\2\152\1\0\24\152\1\343\31\152\1\302"+
-    "\1\0\7\302\1\304\47\302\1\305\1\0\1\306\1\344"+
-    "\1\305\1\306\3\305\1\306\1\305\1\304\1\306\5\305"+
-    "\1\306\36\305\1\306\1\0\11\306\1\304\45\306\1\305"+
-    "\1\0\1\306\1\344\1\305\1\306\3\305\1\306\1\305"+
-    "\1\345\1\306\5\305\1\306\36\305\13\0\1\346\45\0"+
-    "\1\306\1\0\11\306\1\345\45\306\2\161\1\0\24\161"+
-    "\1\347\31\161\7\0\1\350\101\0\1\351\30\0\1\316"+
-    "\1\0\10\316\1\0\4\316\1\0\34\316\1\0\5\316"+
-    "\1\0\3\316\1\317\4\316\1\0\1\316\1\317\2\316"+
-    "\1\0\2\316\1\317\31\316\1\352\4\316\15\0\1\321"+
-    "\36\0\1\353\21\0\1\354\12\0\3\354\2\0\1\354"+
-    "\11\0\2\354\1\0\1\354\2\0\2\354\10\0\3\57"+
-    "\4\0\1\57\5\0\4\57\1\0\11\57\1\355\1\57"+
-    "\1\0\5\57\1\0\2\57\1\0\4\57\33\0\1\356"+
-    "\12\0\1\356\40\0\1\357\57\0\1\360\66\0\1\361"+
-    "\12\0\1\361\40\0\1\362\35\0\2\363\1\0\3\363"+
-    "\2\0\1\252\4\363\1\0\6\363\1\0\27\363\5\0"+
-    "\2\364\1\0\3\364\2\0\1\276\4\364\1\0\6\364"+
-    "\1\0\27\364\2\0\2\152\1\0\25\152\1\365\30\152"+
-    "\3\0\2\366\1\0\3\366\2\0\1\311\4\366\1\0"+
-    "\6\366\1\0\27\366\2\0\2\161\1\0\25\161\1\367"+
-    "\30\161\31\0\1\370\103\0\1\352\21\0\1\354\12\0"+
-    "\3\354\2\0\1\354\11\0\2\354\1\0\1\354\1\0"+
-    "\1\353\2\354\10\0\3\57\4\0\1\57\5\0\4\57"+
-    "\1\0\6\57\1\371\4\57\1\0\5\57\1\0\2\57"+
-    "\1\0\4\57\44\0\1\372\54\0\1\373\55\0\1\374"+
-    "\60\0\1\375\63\0\1\376\20\0\2\152\1\0\26\152"+
-    "\1\377\27\152\2\161\1\0\26\161\1\u0100\27\161\32\0"+
-    "\1\u0101\34\0\3\57\4\0\1\57\5\0\4\57\1\0"+
-    "\3\57\1\u0102\7\57\1\0\2\57\1\u0102\2\57\1\0"+
-    "\2\57\1\0\4\57\45\0\1\u0103\52\0\1\u0104\63\0"+
-    "\1\u0105\43\0\1\u0106\63\0\1\u0107\25\0\1\u0107\2\0"+
-    "\2\152\1\0\27\152\1\u0108\26\152\2\161\1\0\27\161"+
-    "\1\u0109\26\161\33\0\1\u010a\32\0\1\u010b\3\57\3\0"+
-    "\1\u010b\1\57\4\0\1\u010b\4\57\1\0\13\57\1\0"+
-    "\5\57\1\0\2\57\1\0\4\57\35\0\1\u010c\56\0"+
-    "\1\u010d\12\0\1\u010d\45\0\1\u010e\12\0\1\u010e\12\0"+
-    "\2\152\1\0\30\152\1\u010f\25\152\2\161\1\0\30\161"+
-    "\1\u0110\25\161\32\0\1\u0111\33\0\1\u010b\6\0\1\u010b"+
-    "\5\0\1\u010b\36\0\2\152\1\0\27\152\1\u0112\26\152"+
-    "\2\161\1\0\27\161\1\u0113\26\161\27\0\1\u0114\31\0"+
-    "\2\152\1\0\24\152\1\u0115\31\152\2\161\1\0\24\161"+
-    "\1\u0116\31\161";
-
-  /** 
-   * The transition table of the DFA
-   */
-  final private static int yytrans [] = yy_unpack(yy_packed);
-
-
-  /* error codes */
-  final private static int YY_UNKNOWN_ERROR = 0;
-  // final private static int YY_ILLEGAL_STATE = 1;
-  final private static int YY_NO_MATCH = 2;
-  final private static int YY_PUSHBACK_2BIG = 3;
-
-  /* error messages for the codes above */
-  final private static String YY_ERROR_MSG[] = {
-    "Unkown internal scanner error",		//$NON-NLS-1$
-    "Internal error: unknown state",		//$NON-NLS-1$
-    "Error: could not match input",		//$NON-NLS-1$
-    "Error: pushback value was too large"	//$NON-NLS-1$
-  };
-
-  /**
-   * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private final static byte YY_ATTRIBUTE[] = {
-     1,  0,  0,  0,  0,  1,  0,  0,  1,  1,  1,  0,  1,  1,  1,  1, 
-     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1, 
-     1,  1,  1,  9,  1,  9,  1,  1,  9,  9,  1,  1,  1,  1,  1,  1, 
-     1,  1,  9,  1,  1,  1,  1,  9,  1,  1,  1,  1,  1,  1,  9,  1, 
-     1,  9,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1,  9,  1,  1, 
-     1,  1,  1,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
-     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  9,  1,  1,  1,  1, 
-     1,  1,  9,  9,  1,  9,  9,  1,  0,  1,  0,  1,  0,  0,  0,  9, 
-     1,  1,  9,  9,  0,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,  9, 
-     0,  0,  9,  0,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,  9,  0, 
-     0,  0,  0,  0,  9,  1,  0,  0,  1,  1,  0,  0,  1,  0,  0,  0, 
-     9,  0,  0,  0,  1,  0,  0,  0,  9,  1,  0,  0,  1,  1,  0,  1, 
-     0,  0,  0,  9,  1,  0,  0,  1,  1,  0,  1,  0,  0,  1,  1,  9, 
-     0,  0,  9,  9,  9,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0, 
-     1,  0,  1,  0,  1,  0,  1,  9,  0,  1,  9,  0,  1,  0,  0,  0, 
-     0,  0,  0,  0,  1,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  1, 
-     0,  1,  0,  0,  0,  9,  9,  1,  1,  0,  1,  9,  9,  9,  1,  1, 
-     0,  1,  1,  9,  1,  1
-  };
-
-  /** the input device */
-  private java.io.Reader yy_reader;
-
-  /** the current state of the DFA */
-  private int yy_state;
-
-  /** the current lexical state */
-  private int yy_lexical_state = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char yy_buffer[] = new char[16384];
-
-  /** the textposition at the last accepting state */
-  private int yy_markedPos;
-
-  /** the textposition at the last state to be included in yytext */
-  private int yy_pushbackPos;
-
-  /** the current text position in the buffer */
-  private int yy_currentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int yy_startRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int yy_endRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  // private int yycolumn; 
-
-  /** 
-   * yy_atBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  // private boolean yy_atBOL;
-
-  /** yy_atEOF == true <=> the scanner has returned a value for EOF */
-  private boolean yy_atEOF;
-
-  /** denotes if the user-EOF-code has already been executed */
-  private boolean yy_eof_done;
-
-  /* user code: */
-	private int fTokenCount = 0;
- 
-	// required holders for white-space compacting
-	private boolean fShouldLoadBuffered = false;
-	private String fBufferedContext = null;
-	private int fBufferedStart = 1;
-	private int fBufferedLength = 0;
-	private String f_context = null;
-
-	// state stack for handling embedded regions
-	private IntStack fStateStack = new IntStack();
-
-	private String context = null;
-	private int start = 0;
-	private int textLength = 0;
-	private int length = 0;
-
-	// offset for tracking position specific block tags
-	private int fOffset = 0;
-	
-	// the name of the current tag being opened
-	private String fCurrentTagName = null;
-
-	// the list of tag name BlockMarkers
-	private List fBlockMarkers = new ArrayList();
-
-	// required to not seek text blocks on an end tag
-	private boolean fIsBlockingEnabled = false;
-	private boolean fIsCaseSensitiveBlocking = true;
-
-	private XMLParserRegionFactory fRegionFactory = new XMLParserRegionFactory();
-/**
- * user method 
- */
-public final void addBlockMarker(BlockMarker marker) {
-	if(containsTagName(marker.getTagName()))
-		return;
-	fBlockMarkers.add(marker);
-}
-/**
- * user method 
- */
-public final void removeBlockMarker(BlockMarker marker) {
-	fBlockMarkers.remove(marker);
-}
-/**
- * user method 
- */
-public final void removeBlockMarker(String tagname) {
-	if (fBlockMarkers != null) {
-		Iterator blocks = fBlockMarkers.iterator();
-		while (blocks.hasNext()) {
-			if (((BlockMarker) blocks.next()).getTagName().equals(tagname))
-				blocks.remove();
-		}
-	}
-}
-/* user method */
-public final boolean isCaseSensitiveBlocking() {
-	return fIsCaseSensitiveBlocking;
-}
-/* user method */
-public final void setCaseSensitiveBlocking(boolean newValue) {
-	fIsCaseSensitiveBlocking = newValue;
-}
-/* user method */
-public boolean getBlockMarkerCaseSensitivity() {
-        return getBlockMarkerCaseSensitivity(fCurrentTagName);
-}
-/* user method */
-public boolean getBlockMarkerCaseSensitivity(String name) {
-	Iterator iterator = fBlockMarkers.iterator();
-	while(iterator.hasNext()) {
-		BlockMarker marker = (BlockMarker)iterator.next();
-		boolean casesensitive = marker.isCaseSensitive();
-		if(casesensitive && marker.getTagName().equals(name))
-			return casesensitive;
-		else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name))
-			return casesensitive;
-	}
-	return true;
-}
-/* user method */
-public String getBlockMarkerContext() {
-	return getBlockMarkerContext(fCurrentTagName);
-}
-/* user method */
-public String getBlockMarkerContext(String name) {
-	Iterator iterator = fBlockMarkers.iterator();
-	while(iterator.hasNext()) {
-		BlockMarker marker = (BlockMarker)iterator.next();
-		if(marker.getTagName().equals(name))
-			return marker.getContext();
-	}
-	return BLOCK_TEXT;
-}
-/* user method */
-public List getBlockMarkers() {
-	return fBlockMarkers;
-}
-/* user method */
-public final int getOffset() {
-	return fOffset + yychar;
-}
-private final boolean isBlockMarker() {
-	return isBlockMarker(fCurrentTagName);
-}
-private final boolean isBlockMarker(String tagName) {
-	if (!fIsBlockingEnabled)
-		return false;
-	return containsTagName(tagName);
-}
-/**
- * user method
- */
-public final void beginBlockTagScan(String newTagName) {
-	beginBlockMarkerScan(newTagName, BLOCK_TEXT);
-}
-/**
- * user method
- *
- * Special tokenizer setup.  Allows tokenization to be initiated at the
- * start of a text block within a "newTagName" tag.
- *
- * Example: 
- *	Tokenizer toker = new Tokenizer();
- *	toker.setCaseSensitiveBlocking(false);
- *	toker.reset(new java.io.StringReader("afiuhqwkejhtasihgalkwhtq</scripter></scr></script>asgdasga"));
- *	toker.beginBlockMarkerScan("script", BLOCK_TEXT);
- *	toker.getRegions(); 
- *
- * Returns:
- *	BLOCK_TEXT: 0-40
- *	XML_END_TAG_OPEN: 41-42
- *	XML_TAG_NAME: 43-48
- *	XML_TAG_CLOSE: 49-49
- *	XML_CONTENT: 50-57
- *
- */
-public final void beginBlockMarkerScan(String newTagName, String blockcontext) {
-	yybegin(ST_BLOCK_TAG_SCAN);
-	fCurrentTagName = newTagName;
-}
-/**
- * Method doScan.
- * 
- * Returns a context region for all of the text from the current position upto the end of input or
- * to right *before* the first occurence of searchString
- * 
- * @param searchString - target string to search for ex.: "-->", "</tagname"
- * @param requireTailSeparator - whether the target must be immediately followed by whitespace or '>'
- * @param context - the context of the scanned region if non-zero length
- * @param exitState - the state to go to if the region was of non-zero length
- * @param abortState - the state to go to if the searchString was found immediately
- * @return String - the context found: the desired context on a non-zero length match, the abortContext on immediate success
- * @throws IOException
- */
-private final String doScan(String searchString, boolean requireTailSeparator, String searchContext, int exitState, int immediateFallbackState) throws IOException {
-	boolean stillSearching = true;
-	// Disable further block (probably)
-	fIsBlockingEnabled = false;
-	int searchStringLength = searchString.length();
-	int n = 0;
-	char lastCheckChar;
-	int i;
-	boolean same = false;
-	while (stillSearching) {
-		n = 0;
-		// Ensure that enough data from the input exists to compare against the search String.
-		n = yy_advance();
-		while(n != YYEOF && yy_currentPos < searchStringLength)
-			n = yy_advance();
-		// If the input was too short or we've exhausted the input, stop immediately.
-		if (n == YYEOF) {
-			stillSearching = false;
-		}
-		else {
-			same = true;
-			// Ensure that we've not encountered a complete block (<%%>) that was *shorter* than the closeTagString and
-			// thus found twice at current-targetLength [since the first scan would have come out this far anyway].
-			// Check the characters in the target versus the last targetLength characters read from the buffer
-			// and see if it matches
-			
-			// safety check for array accesses (yy_currentPos is the *last* character we can check against)
-			if(yy_currentPos >= searchStringLength && yy_currentPos <= yy_buffer.length) {
-				for(i = 0; i < searchStringLength; i++) {
-					if(same && fIsCaseSensitiveBlocking)
-						same = yy_buffer[i + yy_currentPos - searchStringLength] == searchString.charAt(i);
-					else if(same && !fIsCaseSensitiveBlocking)
-						same = Character.toLowerCase(yy_buffer[i + yy_currentPos - searchStringLength]) == Character.toLowerCase(searchString.charAt(i));
-				}
-			}
-			// safety check failed; no match is possible right now
-			else {
-				same = false;
-			}
-			if (same && requireTailSeparator && yy_currentPos < yy_buffer.length) {
-				// Additional check for close tags to ensure that targetString="</script" doesn't match
-				// "</scriptS"
-				lastCheckChar = yy_buffer[yy_currentPos];
-				// Succeed on "</script>" and "</script "
-				if(lastCheckChar == '>' || Character.isWhitespace(lastCheckChar))
-					stillSearching = false;
-			}
-			else {
-				stillSearching = !same || (yy_currentPos < yy_startRead + searchStringLength);
-			}
-		}
-	}
-	if (n != YYEOF || same) {
-		// We've stopped short of the end or definitely found a match
-		yy_markedPos = yy_currentPos - searchStringLength;
-		yy_currentPos = yy_markedPos + 1;
-		// If the searchString occurs at the very beginning of what would have
-		// been a Block, resume scanning normally immediately
-		if (yy_markedPos == yy_startRead) {
-			yybegin(immediateFallbackState);
-			return primGetNextToken();
-		}
-	}
-	else {
-		// We ran through the rest of the input
-		yy_markedPos = yy_currentPos;
-		yy_currentPos++;
-	}
-	yybegin(exitState);
-	// If the ending occurs at the very beginning of what would have
-	// been a Block, resume scanning normally immediately
-	if(yy_markedPos == yy_startRead)
-		return primGetNextToken();
-	return searchContext;
-}
-/**
- * user method
- *
- * A generic lookahead-like operation
- */
-private final String doBlockScan(String target, String targetContext, int immediateFallbackState) throws IOException {
-	return doScan(target, false, targetContext, immediateFallbackState, immediateFallbackState);
-}
-/**
- * user method 
- * does a lookahead for the current tag name
- */
-private final String doBlockTagScan() throws IOException {
-        fIsCaseSensitiveBlocking = getBlockMarkerCaseSensitivity();
-	return doScan("</" + fCurrentTagName, true, getBlockMarkerContext(fCurrentTagName), YYINITIAL, YYINITIAL);
-}
-/**
- * user method
- *
- * Converts the raw context String returned by the primGetNextToken()
- * method into a full ITextRegion by pulling in values for the
- * current offset within the scanning text.
- *
- * Returns null when EOF is encountered and attaches intermittently
- * discovered whitespace onto the end of useful regions.
- *
- * Note that this algorithm caches the token following the one being returned
- * so that whitespace can be collapsed.
- */
-public final ITextRegion getNextToken() throws IOException {
-	// load the starting non-whitespace token (assume that it is so)
-	if (fShouldLoadBuffered) {
-		context = fBufferedContext;
-		start = fBufferedStart;
-		textLength = length = fBufferedLength;
-		fShouldLoadBuffered = false;
-	}
-	else {
-		context = primGetNextToken();
-		if (context == XML_TAG_NAME) {
-			if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-				fCurrentTagName = yytext();
-			else
-				fCurrentTagName = null;
-		}
-		else if (context == XML_TAG_OPEN) {
-			fIsBlockingEnabled = true;
-		}
-		else if (context == XML_END_TAG_OPEN) {
-			fIsBlockingEnabled = false;
-		}
-		start = yychar;
-		textLength = length = yylength();
-		if (yy_atEOF) {
-			fTokenCount++;
-			return null;
-		}
-	}
-	// store the next token
-	f_context = primGetNextToken();
-	if (f_context == XML_TAG_NAME) {
-		if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead))
-			fCurrentTagName = yytext();
-		else
-			fCurrentTagName = null;
-	}
-	else if (f_context == XML_TAG_OPEN) {
-		fIsBlockingEnabled = true;
-	}
-	else if (f_context == XML_END_TAG_OPEN) {
-		fIsBlockingEnabled = false;
-	}
-	fBufferedContext = f_context;
-	fBufferedStart = yychar;
-	fBufferedLength = yylength();
-	fShouldLoadBuffered = true;
-	if (fBufferedContext == WHITE_SPACE) {
-		fShouldLoadBuffered = false;
-		length += fBufferedLength;
-	}
-	if (context == null) {
-		// EOF
-		if (Debug.debugTokenizer) {
-			System.out.println(getClass().getName() + " discovered " + fTokenCount + " tokens."); //$NON-NLS-2$//$NON-NLS-1$
-		}
-		return null;
-	}
-	fTokenCount++;
-	return fRegionFactory.createToken(context, start, textLength, length, null, fCurrentTagName);
-}
-/* user method */
-public XMLTokenizer(){
-	super();
-}
-/* user method */
-public XMLTokenizer(char[] charArray){
-		this(new CharArrayReader(charArray));
-}
-/* user method */
-public void reset(char[] charArray) {
-	reset(new CharArrayReader(charArray), 0);
-}
-/* user method */
-public void reset(char[] charArray, int newOffset) {
-	reset(new CharArrayReader(charArray), newOffset);
-}
-/* user method */
-public void reset(java.io.InputStream in) {
-	reset(new java.io.InputStreamReader(in), 0);
-}
-/* user method */
-public void reset(java.io.InputStream in, int newOffset) {
-	reset(new java.io.InputStreamReader(in), newOffset);
-}
-/* user method */
-public void reset(java.io.Reader in) {
-	reset(in, 0);
-}
-/**
- * user method *
- *
- * Reset internal counters and vars to "newly created" values, in the hopes
- * that resetting a pre-existing tokenizer is faster than creating a new one.
- *
- * This method contains code blocks that were essentially duplicated from the
- * <em>generated</em> output of this specification before this method was
- * added.  Those code blocks were under the above copyright.
- */
-public void reset(java.io.Reader in, int newOffset) {
-	if (Debug.debugTokenizer) {
-		System.out.println("resetting tokenizer");//$NON-NLS-1$
-	}
-	fOffset = newOffset;
-
-	/* the input device */
-	yy_reader = in;
-
-	/* the current state of the DFA */
-	yy_state = 0;
-
-	/* the current lexical state */
-	yy_lexical_state = YYINITIAL;
-
-	/* this buffer contains the current text to be matched and is
-	the source of the yytext() string */
-	java.util.Arrays.fill(yy_buffer, (char)0);
-
-	/* the textposition at the last accepting state */
-	yy_markedPos = 0;
-
-	/* the textposition at the last state to be included in yytext */
-	yy_pushbackPos = 0;
-
-	/* the current text position in the buffer */
-	yy_currentPos = 0;
-
-	/* startRead marks the beginning of the yytext() string in the buffer */
-	yy_startRead = 0;
-
-	/** 
-	 * endRead marks the last character in the buffer, that has been read
-	 * from input 
-	 */
-	yy_endRead = 0;
-
-	/* number of newlines encountered up to the start of the matched text */
-	yyline = 0;
-
-	/* the number of characters up to the start of the matched text */
-	yychar = 0;
-
-	/* yy_atEOF == true <=> the scanner has returned a value for EOF */
-	yy_atEOF = false;
-
-	/* denotes if the user-EOF-code has already been executed */
-	yy_eof_done = false;
-
-
-	/* user vars: */
-	fTokenCount = 0;
- 
-	fShouldLoadBuffered = false;
-	fBufferedContext = null;
-	fBufferedStart = 1;
-	fBufferedLength = 0;
-	fStateStack = new IntStack();
-
-	context = null;
-	start = 0;
-	textLength = 0;
-	length = 0;
-}
-
-	/**
-	 * user method
-	 *
-	 * @see com.ibm.sed.parser.BlockTokenizer#newInstance()
-	 */
-	public BlockTokenizer newInstance() {
-		XMLTokenizer newInstance = new XMLTokenizer();
-		// global tagmarkers can be shared; they have no state and 
-		// are never destroyed (e.g. 'release')
-		for(int i = 0; i < fBlockMarkers.size(); i++) {
-			BlockMarker blockMarker = (BlockMarker) fBlockMarkers.get(i);
-			if(blockMarker.isGlobal())
-				newInstance.addBlockMarker(blockMarker);
-		}
-		return newInstance;
-	}
-/* user method */
-private final String scanXMLCommentText() throws IOException {
-	// Scan for '-->' and return the text up to that point as
-	//   XML_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which
-	//  case change to the ST_XML_COMMENT_END state and return the next
-	//  context as usual.
-	return doScan("-->", false, XML_COMMENT_TEXT, ST_XML_COMMENT_END, ST_XML_COMMENT_END);
-}
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  public XMLTokenizer(java.io.Reader in) {
-    this.yy_reader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  public XMLTokenizer(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed DFA transition table.
-   *
-   * @param packed   the packed transition table
-   * @return         the unpacked transition table
-   */
-  private static int [] yy_unpack(String packed) {
-    int [] trans = new int[9212];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 3220) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      value--;
-      do trans[j++] = value; while (--count > 0);
-    }
-    return trans;
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] yy_unpack_cmap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 1372) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Gets the next input character.
-   *
-   * @return      the next character of the input stream, EOF if the
-   *              end of the stream is reached.
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  private int yy_advance() throws java.io.IOException {
-
-    /* standard case */
-    if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
-
-    /* if the eof is reached, we don't need to work hard */ 
-    if (yy_atEOF) return YYEOF;
-
-    /* otherwise: need to refill the buffer */
-
-    /* first: make room (if you can) */
-    if (yy_startRead > 0) {
-      System.arraycopy(yy_buffer, yy_startRead, 
-                       yy_buffer, 0, 
-                       yy_endRead-yy_startRead);
-
-      /* translate stored positions */
-      yy_endRead-= yy_startRead;
-      yy_currentPos-= yy_startRead;
-      yy_markedPos-= yy_startRead;
-      yy_pushbackPos-= yy_startRead;
-      yy_startRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (yy_currentPos >= yy_buffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[yy_currentPos*2];
-      System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-      yy_buffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = yy_reader.read(yy_buffer, yy_endRead, 
-                                            yy_buffer.length-yy_endRead);
-
-    if ( numRead == -1 ) return YYEOF;
-
-    yy_endRead+= numRead;
-
-    return yy_buffer[yy_currentPos++];
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  final public void yyclose() throws java.io.IOException {
-    yy_atEOF = true;            /* indicate end of file */
-    yy_endRead = yy_startRead;  /* invalidate buffer    */
-    yy_reader.close();
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  final public int yystate() {
-    return yy_lexical_state;
-  }
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  final public void yybegin(int newState) {
-    yy_lexical_state = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  final public String yytext() {
-    return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
-  }
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  final public int yylength() {
-    return yy_markedPos-yy_startRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning - from the SED JFlex skeleton
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void yy_ScanError(int errorCode) {
-    try {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]);
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]);
-    }
-    // DO NOT EXIT the VM on an error
-    // System.exit(1);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  void yypushback(int number) {
-    if ( number > yylength() )
-      yy_ScanError(YY_PUSHBACK_2BIG);
-
-    yy_markedPos -= number;
-  }
-
-	/**
-	 * user method - skeleton.sed
-	 */
-	protected final boolean containsTagName(char[] markerTagName, int offset, int tagnameLength) {
-		for(int j = 0; j < fBlockMarkers.size(); j++) {
-			BlockMarker marker = (BlockMarker)fBlockMarkers.get(j);
-			if(marker.getTagName().length() == tagnameLength) {
-				boolean matchesSoFar = true;
-				for(int i = 0; i < tagnameLength && matchesSoFar; i++) {
-					if(marker.isCaseSensitive()) {
-						if(marker.getTagName().charAt(i) != markerTagName[i + offset])
-							matchesSoFar = false;
-					}
-					else {
-						if(Character.toLowerCase(marker.getTagName().charAt(i)) != Character.toLowerCase(markerTagName[i + offset]))
-							matchesSoFar = false;
-					}
-				}
-				if(matchesSoFar)
-					return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * user method - skeleton.sed
-	 *
-	 * Return ALL of the regions scannable within the remaining text
-	 * Note: for verification use
-	 */
-	public final List getRegions() {
-		List tokens = new ArrayList();
-		ITextRegion region = null;
-		try {
-			region = getNextToken();
-			while(region != null) {
-				if (region != null) {
-					tokens.add(region);
-				}
-				region = getNextToken();
-			}
-		}
-		catch (StackOverflowError e) {
-			Logger.logException(getClass().getName()+": input could not be tokenized correctly at position " + getOffset(), e);//$NON-NLS-1$
-			throw e;
-		}
-		catch (Exception e) {
-			// Since this is convenience method and NOT the recommended 
-			// way of getting tokens, many errors are simply hidden
-			Logger.logException("Exception not handled retrieving regions: " + e.getLocalizedMessage(), e);//$NON-NLS-1$
-		}
-		return tokens;
-	}
-	/**
-	 * user method - skeleton.sed
-	 */
-	private final void dump(String s) {
-		if (Debug.debugTokenizer) {
-			System.out.println(s + " (" + yychar + "-" + //$NON-NLS-2$//$NON-NLS-1$
-				(yylength() + yychar) + "):\'" +//$NON-NLS-1$
-					StringUtils.escape(yytext()) + "\'");//$NON-NLS-1$
-		}
-	}
-	/* user method  - skeleton.sed */
-	public final boolean isEOF() {
-		return yy_atEOF;
-	}
-/* user method - skeleton.sed */
-protected final boolean containsTagName(String markerTagName) {
-	Iterator blocks = fBlockMarkers.iterator();
-	while(blocks.hasNext()) {
-		BlockMarker marker = (BlockMarker)blocks.next();
-		if(marker.isCaseSensitive()) {
-			if(marker.getTagName().equals(markerTagName))
-				return true;
-		}
-		else {
-			if(marker.getTagName().equalsIgnoreCase(markerTagName))
-				return true;
-		}
-	}
-	return false;
-}
-
-  /**
-   * Contains user EOF-code, which will be executed exactly once,
-   * when the end of file is reached
-   */
-  private void yy_do_eof() {
-    if (!yy_eof_done) {
-      yy_eof_done = true;
-    // do nothing, this is the downstream parser's job
-
-    }
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   IOException  if any I/O-Error occurs
-   */
-  public String primGetNextToken() throws java.io.IOException {
-    int yy_input;
-    int yy_action;
-
-
-    while (true) {
-
-      yychar+= yylength();
-
-      boolean yy_counted = false;
-      for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
-                                                      yy_currentPos++) {
-        switch (yy_buffer[yy_currentPos]) {
-        case '\r':
-          yyline++;
-          yy_counted = true;
-          break;
-        case '\n':
-          if (yy_counted)
-            yy_counted = false;
-          else {
-            yyline++;
-          }
-          break;
-        default:
-          yy_counted = false;
-        }
-      }
-
-      if (yy_counted) {
-        if ( yy_advance() == '\n' ) yyline--;
-        if ( !yy_atEOF ) yy_currentPos--;
-      }
-
-      yy_action = -1;
-
-      yy_currentPos = yy_startRead = yy_markedPos;
-
-      yy_state = yy_lexical_state;
-
-
-      yy_forAction: {
-        while (true) {
-    
-          yy_input = yy_advance();
-
-          if ( yy_input == YYEOF ) break yy_forAction;
-
-          int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ];
-          if (yy_next == -1) break yy_forAction;
-          yy_state = yy_next;
-
-          int yy_attributes = YY_ATTRIBUTE[yy_state];
-          if ( (yy_attributes & 1) > 0 ) {
-            yy_action = yy_state; 
-            yy_markedPos = yy_currentPos; 
-            if ( (yy_attributes & 8) > 0 ) break yy_forAction;
-          }
-
-        }
-      }
-
-
-      switch (yy_action) {    
-
-        case 275: 
-        case 276: 
-        case 277: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCDATA start");//$NON-NLS-1$
-	fStateStack.push(yystate());
-	yybegin(ST_CDATA_TEXT);
-	return XML_CDATA_OPEN;
- }
-        case 279: break;
-        case 269: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("element");//$NON-NLS-1$
-	yybegin(ST_XML_ELEMENT_DECLARATION);
-	return XML_ELEMENT_DECLARATION;
- }
-        case 280: break;
-        case 268: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist");//$NON-NLS-1$
-	yybegin(ST_XML_ATTLIST_DECLARATION);
-	return XML_ATTLIST_DECLARATION;
- }
-        case 281: break;
-        case 267: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_DECLARATION);
-	return XML_DOCTYPE_DECLARATION;
- }
-        case 282: break;
-        case 262: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_ID_PUBLIC);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBLIC;
- }
-        case 283: break;
-        case 261: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype external id");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSTEM;
- }
-        case 284: break;
-        case 257: 
-        case 266: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction target");//$NON-NLS-1$
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 285: break;
-        case 234: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nCharRef");//$NON-NLS-1$
-	return XML_CHAR_REFERENCE;
- }
-        case 286: break;
-        case 231: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\ncomment start");//$NON-NLS-1$
-	yybegin(ST_XML_COMMENT);
-	return XML_COMMENT_OPEN;
- }
-        case 287: break;
-        case 213: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction target");//$NON-NLS-1$
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 288: break;
-        case 212: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment end");//$NON-NLS-1$
-	yybegin(YYINITIAL);
-	return XML_COMMENT_CLOSE;
- }
-        case 289: break;
-        case 211: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA end");//$NON-NLS-1$
-	yybegin(fStateStack.pop());
-	return XML_CDATA_CLOSE;
- }
-        case 290: break;
-        case 210: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nPEReference");//$NON-NLS-1$
-	return XML_PE_REFERENCE;
- }
-        case 291: break;
-        case 207: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nEntityRef");//$NON-NLS-1$
-	return XML_ENTITY_REFERENCE;
- }
-        case 292: break;
-        case 158: 
-        case 172: 
-        case 180: 
-          { 
-	return XML_DOCTYPE_INTERNAL_SUBSET;
- }
-        case 293: break;
-        case 146: 
-          { 
-        yybegin(YYINITIAL);
-	if(Debug.debugTokenizer)
-		dump("empty tag close");//$NON-NLS-1$
-        return XML_EMPTY_TAG_CLOSE;
- }
-        case 294: break;
-        case 131: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction end");//$NON-NLS-1$
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 295: break;
-        case 130: 
-          { 
-		// ended with nothing inside
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 296: break;
-        case 127: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction end");//$NON-NLS-1$
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 297: break;
-        case 119: 
-          { 
-	fStateStack.push(yystate());
-	if(Debug.debugTokenizer)
-		dump("\ndeclaration start");//$NON-NLS-1$
-        yybegin(ST_XML_DECLARATION);
-	return XML_DECLARATION_OPEN;
- }
-        case 298: break;
-        case 118: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nprocessing instruction start");//$NON-NLS-1$
-	yybegin(ST_PI);
-        return XML_PI_OPEN;
- }
-        case 299: break;
-        case 62: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction end");//$NON-NLS-1$
-        yybegin(YYINITIAL);
-        return XML_PI_CLOSE;
- }
-        case 300: break;
-        case 56: 
-        case 58: 
-        case 59: 
-        case 60: 
-        case 135: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute value");//$NON-NLS-1$
-        yybegin(ST_XML_PI_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 301: break;
-        case 55: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction '='");//$NON-NLS-1$
-        yybegin(ST_XML_PI_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 302: break;
-        case 54: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("XML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_XML_PI_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 303: break;
-        case 50: 
-        case 51: 
-        case 52: 
-          { 
-	// block scan until close is found
-	return doScan("?>", false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE);
- }
-        case 304: break;
-        case 49: 
-          { 
-        yybegin(ST_PI_CONTENT);
-        return WHITE_SPACE;
- }
-        case 305: break;
-        case 46: 
-        case 47: 
-        case 48: 
-        case 128: 
-        case 129: 
-        case 214: 
-        case 236: 
-        case 248: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("processing instruction target");//$NON-NLS-1$
-        yybegin(ST_PI_WS);
-        return XML_TAG_NAME;
- }
-        case 306: break;
-        case 41: 
-        case 42: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("comment content");//$NON-NLS-1$
-	return scanXMLCommentText();
- }
-        case 307: break;
-        case 40: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("LINE FEED");//$NON-NLS-1$
-	return WHITE_SPACE;
- }
-        case 308: break;
-        case 0: 
-        case 31: 
-        case 121: 
-        case 123: 
-        case 205: 
-        case 206: 
-        case 233: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nXML content");//$NON-NLS-1$
-	return XML_CONTENT;
- }
-        case 309: break;
-        case 5: 
-        case 8: 
-        case 9: 
-        case 10: 
-        case 12: 
-        case 13: 
-        case 14: 
-        case 15: 
-        case 17: 
-        case 18: 
-        case 19: 
-        case 20: 
-        case 21: 
-        case 22: 
-        case 23: 
-        case 24: 
-        case 25: 
-        case 26: 
-        case 28: 
-        case 45: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("white space");//$NON-NLS-1$
-        return WHITE_SPACE;
- }
-        case 310: break;
-        case 16: 
-        case 70: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("inappropriate tag name");//$NON-NLS-1$
-	yybegin(YYINITIAL);
-        return XML_CONTENT;
- }
-        case 311: break;
-        case 27: 
-        case 105: 
-        case 106: 
-        case 191: 
-        case 226: 
-        case 244: 
-        case 254: 
-        case 263: 
-        case 270: 
-        case 273: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl contentspec");//$NON-NLS-1$
-	return XML_ELEMENT_DECL_CONTENT;
- }
-        case 312: break;
-        case 29: 
-        case 112: 
-        case 113: 
-        case 202: 
-        case 230: 
-        case 246: 
-        case 255: 
-        case 264: 
-        case 271: 
-        case 274: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist contentspec");//$NON-NLS-1$
-	return XML_ATTLIST_DECL_CONTENT;
- }
-        case 313: break;
-        case 32: 
-        case 71: 
-        case 82: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nstart tag open");//$NON-NLS-1$
-        yybegin(ST_XML_TAG_NAME);
-        return XML_TAG_OPEN;
- }
-        case 314: break;
-        case 33: 
-        case 34: 
-        case 37: 
-        case 38: 
-        case 39: 
-        case 43: 
-        case 44: 
-        case 53: 
-        case 57: 
-        case 61: 
-        case 63: 
-        case 67: 
-        case 73: 
-        case 79: 
-        case 84: 
-        case 85: 
-        case 86: 
-        case 87: 
-        case 89: 
-        case 90: 
-        case 92: 
-        case 97: 
-        case 102: 
-        case 109: 
-          { 
-	if (Debug.debugTokenizer)
-		System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$
-			yychar + "-" + (yychar + yylength()));//$NON-NLS-1$
-	return UNDEFINED;
- }
-        case 315: break;
-        case 35: 
-        case 36: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("CDATA text");//$NON-NLS-1$
-	String blockContext = doBlockScan("]]>", XML_CDATA_TEXT, ST_CDATA_END);//$NON-NLS-1$
-	if(blockContext == XML_CDATA_TEXT)
-		yybegin(ST_CDATA_END);
-	return blockContext;
- }
-        case 316: break;
-        case 64: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute name");//$NON-NLS-1$
-        yybegin(ST_DHTML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 317: break;
-        case 65: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction '='");//$NON-NLS-1$
-        yybegin(ST_DHTML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 318: break;
-        case 66: 
-        case 68: 
-        case 69: 
-        case 143: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("DHTML processing instruction attribute value");//$NON-NLS-1$
-        yybegin(ST_DHTML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 319: break;
-        case 72: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag close");//$NON-NLS-1$
-	if(isBlockMarker()) {
-        	yybegin(ST_BLOCK_TAG_SCAN);
-	}
-	else
-        	yybegin(YYINITIAL);
-        return XML_TAG_CLOSE;
- }
-        case 320: break;
-        case 74: 
-        case 75: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("tag name");//$NON-NLS-1$
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_NAME;
- }
-        case 321: break;
-        case 76: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr name");//$NON-NLS-1$
-        yybegin(ST_XML_EQUALS);
-        return XML_TAG_ATTRIBUTE_NAME;
- }
-        case 322: break;
-        case 77: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("equals");//$NON-NLS-1$
-        yybegin(ST_XML_ATTRIBUTE_VALUE);
-        return XML_TAG_ATTRIBUTE_EQUALS;
- }
-        case 323: break;
-        case 78: 
-        case 80: 
-        case 81: 
-        case 150: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attr value");//$NON-NLS-1$
-        yybegin(ST_XML_ATTRIBUTE_NAME);
-        return XML_TAG_ATTRIBUTE_VALUE;
- }
-        case 324: break;
-        case 83: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("declaration end");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 325: break;
-        case 88: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype type");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_EXTERNAL_ID);
-	return XML_DOCTYPE_NAME;
- }
-        case 326: break;
-        case 91: 
-        case 93: 
-        case 94: 
-        case 95: 
-        case 164: 
-        case 165: 
-        case 168: 
-        case 169: 
-        case 221: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype public reference");//$NON-NLS-1$
-	yybegin(ST_XML_DOCTYPE_ID_SYSTEM);
-	return XML_DOCTYPE_EXTERNAL_ID_PUBREF;
- }
-        case 327: break;
-        case 96: 
-        case 98: 
-        case 99: 
-        case 100: 
-        case 176: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("doctype system reference");//$NON-NLS-1$
-	yybegin(ST_XML_DECLARATION_CLOSE);
-	return XML_DOCTYPE_EXTERNAL_ID_SYSREF;
- }
-        case 328: break;
-        case 101: 
-        case 103: 
-        case 104: 
-        case 184: 
-        case 185: 
-        case 188: 
-        case 189: 
-        case 224: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl name");//$NON-NLS-1$
-	yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT);
-	return XML_ELEMENT_DECL_NAME;
- }
-        case 329: break;
-        case 107: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("elementdecl close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 330: break;
-        case 108: 
-        case 110: 
-        case 111: 
-        case 195: 
-        case 196: 
-        case 199: 
-        case 200: 
-        case 228: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist name");//$NON-NLS-1$
-	yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT);
-	return XML_ATTLIST_DECL_NAME;
- }
-        case 331: break;
-        case 114: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("attlist close");//$NON-NLS-1$
-	if (Debug.debugTokenizer) {
-		if(fStateStack.peek()!=YYINITIAL)
-			System.out.println("end embedded region");//$NON-NLS-1$
-	}
-	yybegin(fStateStack.pop());
-	return XML_DECLARATION_CLOSE;
- }
-        case 332: break;
-        case 117: 
-          { 
-	if(Debug.debugTokenizer)
-		dump("\nend tag open");//$NON-NLS-1$
-        yybegin(ST_XML_TAG_NAME);
-        return XML_END_TAG_OPEN;
- }
-        case 333: break;
-        case 115: 
-        case 116: 
-          { 
-		return doBlockTagScan();
-	 }
-        case 334: break;
-        default: 
-          if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-            yy_atEOF = true;
-            yy_do_eof();
-              return null;
-          } 
-          else {
-            yy_ScanError(YY_NO_MATCH);
-          }
-      }
-    }
-  }    
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/AttributeEqualsRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/AttributeEqualsRegion.java
deleted file mode 100644
index 2a57776..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/AttributeEqualsRegion.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-
-public class AttributeEqualsRegion implements ITextRegion {
-	static private final byte fTextLength = 1;
-	static private final String fType = XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS;
-	private short fLength;
-	private int fStart;
-
-
-	public AttributeEqualsRegion() {
-		super();
-	}
-
-	public AttributeEqualsRegion(int start, int textLength, int length) {
-		this();
-		fStart = start;
-		fLength = (short) length;
-	}
-
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-
-	}
-
-	public void adjustTextLength(int i) {
-		// not supported
-
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = (short) region.getLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// can never be updated
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/AttributeNameRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/AttributeNameRegion.java
deleted file mode 100644
index fd678bd..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/AttributeNameRegion.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class AttributeNameRegion implements ITextRegion {
-	// specify correct type
-	static private final String fType = XMLRegionContext.XML_TAG_ATTRIBUTE_NAME;
-	private int fLength;
-	private int fStart;
-	private int fTextLength;
-
-	public AttributeNameRegion() {
-		super();
-	}
-
-	public AttributeNameRegion(int start, int textLength, int length) {
-		this();
-		fStart = start;
-		fTextLength = textLength;
-		fLength = length;
-	}
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		fTextLength += 1;
-
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = region.getLength();
-		fTextLength = region.getTextLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		RegionChangedEvent result = null;
-		// if the region is an easy type (e.g. attribute value),
-		// and the requested changes are all
-		// alphanumeric, then make the change here locally.
-		// (This can obviously be made more sophisticated as the need arises,
-		// but should
-		// always follow this pattern.)
-		if (Debug.debugStructuredDocument) {
-			System.out.println("\t\tContextRegion::updateModel"); //$NON-NLS-1$
-			System.out.println("\t\t\tregion type is " + fType); //$NON-NLS-1$
-		}
-		boolean canHandle = false;
-		// note: we'll always handle deletes from these
-		// regions ... if its already that region,
-		// deleting something from it won't change its
-		// type. (remember, the calling program needs
-		// to insure we are not called, if not all contained
-		// on one region.
-		if ((changes == null) || (changes.length() == 0)) {
-			// delete case
-			// We can not do the quick delete, if
-			// if all the text in a region is to be deleted.
-			// Or, if the delete starts in the white space region.
-			// In these cases, a reparse is needed.
-			// Minor note, we use textEnd-start since it always
-			// less than or equal to end-start. This might
-			// cause us to miss a few cases we could have handled,
-			// but will prevent us from trying to handle funning cases
-			// involving whitespace.
-			if ((fStart >= getTextEnd()) || (Math.abs(lengthToReplace) >= getTextEnd() - getStart())) {
-				canHandle = false;
-			} else {
-				canHandle = true;
-			}
-		} else {
-			if ((RegionUpdateRule.canHandleAsWhiteSpace(this, parent, changes, requestStart, lengthToReplace)) || RegionUpdateRule.canHandleAsLetterOrDigit(this, parent, changes, requestStart, lengthToReplace)) {
-				canHandle = true;
-			} else {
-				canHandle = false;
-			}
-
-		}
-		if (canHandle) {
-			// at this point, we still have the old region. We won't create a
-			// new instance, we'll just update the one we have, by changing
-			// its end postion,
-			// The parent flatnode, upon return, has responsibility
-			// for updating sibling regions.
-			// and in turn, the structuredDocument itself has responsibility
-			// for
-			// updating the text store and down stream flatnodes.
-			if (Debug.debugStructuredDocument) {
-				System.out.println("change handled by region"); //$NON-NLS-1$
-			}
-			int lengthDifference = Utilities.calculateLengthDifference(changes, lengthToReplace);
-			// Note: we adjust both end and text end, because for any change
-			// that is in only the trailing whitespace region, we should not
-			// do a quick change,
-			// so 'canHandle' should have been false for those case.
-			// TO_DO_FUTURE: cache value of canHandleAsWhiteSpace from above
-			// If we are handling as whitespace, there is no need to increase
-			// the text length, only
-			// the total length is changing.
-			if (!RegionUpdateRule.canHandleAsWhiteSpace(this, parent, changes, requestStart, lengthToReplace)) {
-				fTextLength += lengthDifference;
-			}
-			fLength += lengthDifference;
-			result = new RegionChangedEvent(parent.getParentDocument(), requester, parent, this, changes, requestStart, lengthToReplace);
-		}
-
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/AttributeValueRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/AttributeValueRegion.java
deleted file mode 100644
index 03eb463..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/AttributeValueRegion.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class AttributeValueRegion implements ITextRegion {
-	// specify correct type
-	static private final String fType = XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE;
-	private int fLength;
-	private int fStart;
-	private int fTextLength;
-
-	public AttributeValueRegion() {
-		super();
-	}
-
-	public AttributeValueRegion(int start, int textLength, int length) {
-		this();
-		fStart = start;
-		fTextLength = textLength;
-		fLength = length;
-	}
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		fTextLength += 1;
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = region.getLength();
-		fTextLength = region.getTextLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		RegionChangedEvent result = null;
-		// if the region is an easy type (e.g. attribute value),
-		// and the requested changes are all
-		// alphanumeric, then make the change here locally.
-		// (This can obviously be made more sophisticated as the need arises,
-		// but should
-		// always follow this pattern.)
-		if (Debug.debugStructuredDocument) {
-			System.out.println("\t\tContextRegion::updateModel"); //$NON-NLS-1$
-			System.out.println("\t\t\tregion type is " + fType); //$NON-NLS-1$
-		}
-		boolean canHandle = false;
-		// note: we'll always handle deletes from these
-		// regions ... if its already that region,
-		// deleting something from it won't change its
-		// type. (remember, the calling program needs
-		// to insure we are not called, if not all contained
-		// on one region.
-		if ((changes == null) || (changes.length() == 0)) {
-			// delete case
-			// We can not do the quick delete, if
-			// if all the text in a region is to be deleted.
-			// Or, if the delete starts in the white space region.
-			// In these cases, a reparse is needed.
-			// Minor note, we use textEnd-start since it always
-			// less than or equal to end-start. This might
-			// cause us to miss a few cases we could have handled,
-			// but will prevent us from trying to handle funning cases
-			// involving whitespace.
-			if ((fStart >= getTextEnd()) || (Math.abs(lengthToReplace) >= getTextEnd() - getStart())) {
-				canHandle = false;
-			} else {
-				canHandle = true;
-			}
-		} else {
-			if ((RegionUpdateRule.canHandleAsWhiteSpace(this, parent, changes, requestStart, lengthToReplace)) || RegionUpdateRule.canHandleAsLetterOrDigit(this, parent, changes, requestStart, lengthToReplace)) {
-				canHandle = true;
-			} else {
-				canHandle = false;
-			}
-		}
-		if (canHandle) {
-			// at this point, we still have the old region. We won't create a
-			// new instance, we'll just update the one we have, by changing
-			// its end postion,
-			// The parent flatnode, upon return, has responsibility
-			// for updating sibling regions.
-			// and in turn, the structuredDocument itself has responsibility
-			// for
-			// updating the text store and down stream flatnodes.
-			if (Debug.debugStructuredDocument) {
-				System.out.println("change handled by region"); //$NON-NLS-1$
-			}
-			int lengthDifference = Utilities.calculateLengthDifference(changes, lengthToReplace);
-			// Note: we adjust both end and text end, because for any change
-			// that is in only the trailing whitespace region, we should not
-			// do a quick change,
-			// so 'canHandle' should have been false for those case.
-			// TO_DO_FUTURE: cache value of canHandleAsWhiteSpace from above
-			// If we are handling as whitespace, there is no need to increase
-			// the text length, only
-			// the total length is changing.
-			if (!RegionUpdateRule.canHandleAsWhiteSpace(this, parent, changes, requestStart, lengthToReplace)) {
-				fTextLength += lengthDifference;
-			}
-			// update length (and end) after above check for white space,
-			// since
-			// it looks to determine if at end of region.
-			fLength += lengthDifference;
-			result = new RegionChangedEvent(parent.getParentDocument(), requester, parent, this, changes, requestStart, lengthToReplace);
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/BlockTextRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/BlockTextRegion.java
deleted file mode 100644
index b382257..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/BlockTextRegion.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.internal.parser.ForeignRegion;
-
-
-
-public class BlockTextRegion extends ForeignRegion {
-
-	/**
-	 * BlockTextRegion constructor comment.
-	 */
-	public BlockTextRegion() {
-		super();
-	}
-
-	public BlockTextRegion(String newContext, int newStart, int newTextLength, int newLength) {
-		super(newContext, newStart, newTextLength, newLength);
-	}
-
-	public BlockTextRegion(String newContext, int newStart, int newTextLength, int newLength, String newLanguage) {
-		super(newContext, newStart, newTextLength, newLength, newLanguage);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/GenericTemplateRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/GenericTemplateRegion.java
deleted file mode 100644
index 291a341..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/GenericTemplateRegion.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * 
- * This class is not intended to be used, its just present to server as a
- * generic starting point for adding new specific region types.
- */
-
-public class GenericTemplateRegion implements ITextRegion {
-	// specify correct type
-	static private final String fType = XMLRegionContext.UNDEFINED;
-	private int fLength;
-	private int fStart;
-	private int fTextLength;
-
-
-	public GenericTemplateRegion() {
-		super();
-	}
-
-	public GenericTemplateRegion(int start, int textLength, int length) {
-		this();
-		fStart = start;
-		fTextLength = textLength;
-		fLength = length;
-	}
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		fTextLength += 1;
-
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = region.getLength();
-		fTextLength = region.getTextLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// can never be updated
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/RegionToStringUtil.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/RegionToStringUtil.java
deleted file mode 100644
index 9693beb..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/RegionToStringUtil.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class RegionToStringUtil {
-	static public String toString(ITextRegion region) {
-		String className = region.getClass().getName();
-		String shortClassName = className.substring(className.lastIndexOf(".") + 1); //$NON-NLS-1$
-		// ==> // String resultText = null;
-		String result = shortClassName + "--> " + region.getType() + ": " + region.getStart() + "-" + region.getTextEnd() + (region.getTextEnd() != region.getEnd() ? ("/" + region.getEnd()) : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		// NOTE: if the document held by any region has been updated and the
-		// region offsets have not
-		// yet been updated, the output from this method invalid.
-		//return com.ibm.sed.util.StringUtils.escape("('"+(getFirstRegion()
-		// == null || document == null? "" :
-		// getText(getFirstRegion()))+"'"+getStart()+" -
-		// "+getEnd()+"'"+(getClose() == null || document == null ||
-		// getRegions().size()<2 ? "" : getText(getClose()))+"')
-		// "+getRegions());
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/RegionUpdateRule.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/RegionUpdateRule.java
deleted file mode 100644
index 8692688..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/RegionUpdateRule.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-
-
-/**
- * 
- * This is a utility class to centralize 'region' update. Note: care must be
- * taken that is is not used for StructuredDocumentRegions, or container
- * regions, its only for "token regions"
- *  
- */
-public class RegionUpdateRule {
-
-	static public boolean allLetterOrDigit(String changes) {
-		boolean result = true;
-		for (int i = 0; i < changes.length(); i++) {
-			// TO_DO_FUTURE: check that a Java Letter or Digit is
-			// the same thing as an XML letter or digit
-			if (!(Character.isLetterOrDigit(changes.charAt(i)))) {
-				result = false;
-				break;
-			}
-		}
-		return result;
-	}
-
-	static public boolean allWhiteSpace(String changes) {
-		boolean result = true;
-		for (int i = 0; i < changes.length(); i++) {
-			if (!Character.isWhitespace(changes.charAt(i))) {
-				result = false;
-				break;
-			}
-		}
-		return result;
-	}
-
-	static public boolean canHandleAsLetterOrDigit(ITextRegion region, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		if (parent == null)
-			return canHandleAsLetterOrDigit(region, changes, requestStart, lengthToReplace);
-		boolean result = false;
-		// Make sure we are in a non-white space area
-		if ((requestStart <= (parent.getTextEndOffset(region))) && (allLetterOrDigit(changes))) {
-			result = true;
-		}
-		return result;
-	}
-
-	static public boolean canHandleAsLetterOrDigit(ITextRegion region, String changes, int requestStart, int lengthToReplace) {
-		boolean result = false;
-		// Make sure we are in a non-white space area
-		if ((requestStart <= (region.getTextEnd())) && (allLetterOrDigit(changes))) {
-			result = true;
-		}
-		return result;
-	}
-
-	static public boolean canHandleAsWhiteSpace(ITextRegion region, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// we don't explect a null parent, but just in case!
-		// (in which case, we must be dealing with regions that are
-		// structuredDocumentRegions).
-		if (parent == null)
-			return canHandleAsWhiteSpace(region, changes, requestStart, lengthToReplace);
-		boolean result = false;
-		// if we are in the "white space" area of a region, then
-		// we don't want to handle, a reparse is needed.
-		// the white space region is consider anywhere that would
-		// leave whitespace between this character and the text part.
-		// and of course, we can insert whitespace in whitespace region
-		//
-		// if there is no whitespace in this region, no need to look further
-		if (region.getEnd() > region.getTextEnd()) {
-			// no need to add one to end of text, as we used to, since we
-			// change definition of length to equate to offset plus one.
-			if (requestStart > parent.getTextEndOffset(region)) {
-				// ok, we are in the whitespace region, so we can't handle,
-				// unless
-				// we are just inserting whitespace.
-				if (allWhiteSpace(changes)) {
-					result = true;
-				} else {
-					result = false;
-				}
-			}
-		}
-		return result;
-	}
-
-	static public boolean canHandleAsWhiteSpace(ITextRegion region, String changes, int requestStart, int lengthToReplace) {
-		boolean result = false;
-		// if we are in the "white space" area of a region, then
-		// we don't want to handle, a reparse is needed.
-		// the white space region is consider anywhere that would
-		// leave whitespace between this character and the text part.
-		// and of course, we can insert whitespace in whitespace region
-		//
-		// if there is no whitespace in this region, no need to look further
-		if (region.getEnd() > region.getTextEnd()) {
-			// no need to add one to end of text, as we used to, since we
-			// change definition of length to equate to offset plus one.
-			if (requestStart > region.getTextEnd()) {
-				// ok, we are in the whitespace region, so we can't handle,
-				// unless
-				// we are just inserting whitespace.
-				if (allWhiteSpace(changes)) {
-					result = true;
-				} else {
-					result = false;
-				}
-			}
-		}
-		return result;
-	}
-
-	// need an adjust text length API before this can be used
-	static public StructuredDocumentEvent updateModel(ITextRegion region, Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		RegionChangedEvent result = null;
-		// if the region is an easy type (e.g. attribute value),
-		// and the requested changes are all
-		// alphanumeric, then make the change here locally.
-		// (This can obviously be made more sophisticated as the need arises,
-		// but should
-		// always follow this pattern.)
-		if (Debug.debugStructuredDocument) {
-			System.out.println("\t\tContextRegion::updateModel"); //$NON-NLS-1$
-			System.out.println("\t\t\tregion type is " + region.getType()); //$NON-NLS-1$
-		}
-		boolean canHandle = false;
-		// note: we'll always handle deletes from these
-		// regions ... if its already that region,
-		// deleting something from it won't change its
-		// type. (remember, the calling program needs
-		// to insure we are not called, if not all contained
-		// on one region.
-		if ((changes == null) || (changes.length() == 0)) {
-			// delete case
-			// We can not do the quick delete, if
-			// if all the text in a region is to be deleted.
-			// Or, if the delete starts in the white space region.
-			// In these cases, a reparse is needed.
-			// Minor note, we use textEnd-start since it always
-			// less than or equal to end-start. This might
-			// cause us to miss a few cases we could have handled,
-			// but will prevent us from trying to handle funning cases
-			// involving whitespace.
-			if ((region.getStart() >= region.getTextEnd()) || (Math.abs(lengthToReplace) >= region.getTextEnd() - region.getStart())) {
-				canHandle = false;
-			} else {
-				canHandle = true;
-			}
-		} else {
-			if ((RegionUpdateRule.canHandleAsWhiteSpace(region, parent, changes, requestStart, lengthToReplace)) || RegionUpdateRule.canHandleAsLetterOrDigit(region, parent, changes, requestStart, lengthToReplace)) {
-				canHandle = true;
-			} else {
-				canHandle = false;
-			}
-		}
-		if (canHandle) {
-			// at this point, we still have the old region. We won't create a
-			// new instance, we'll just update the one we have, by changing
-			// its end postion,
-			// The parent flatnode, upon return, has responsibility
-			// for updating sibling regions.
-			// and in turn, the structuredDocument itself has responsibility
-			// for
-			// updating the text store and down stream flatnodes.
-			if (Debug.debugStructuredDocument) {
-				System.out.println("change handled by region"); //$NON-NLS-1$
-			}
-			int lengthDifference = Utilities.calculateLengthDifference(changes, lengthToReplace);
-			// Note: we adjust both end and text end, because for any change
-			// that is in only the trailing whitespace region, we should not
-			// do a quick change,
-			// so 'canHandle' should have been false for those case.
-			region.adjustLengthWith(lengthDifference);
-			// TO_DO_FUTURE: cache value of canHandleAsWhiteSpace from above
-			// If we are handling as whitespace, there is no need to increase
-			// the text length, only
-			// the total length is changing.
-			if (!RegionUpdateRule.canHandleAsWhiteSpace(region, parent, changes, region.getStart(), lengthToReplace)) {
-				//				region.adjustTextLength(lengthDifference);
-			}
-			result = new RegionChangedEvent(parent.getParentDocument(), requester, parent, region, changes, requestStart, lengthToReplace);
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/TagCloseRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/TagCloseRegion.java
deleted file mode 100644
index 87044dd..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/TagCloseRegion.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class TagCloseRegion implements ITextRegion {
-	static private final byte fLength = 1;
-	static private final byte fTextLength = 1;
-	static private final String fType = XMLRegionContext.XML_TAG_CLOSE;
-	private int fStart;
-
-
-	public TagCloseRegion() {
-		super();
-	}
-
-	public TagCloseRegion(int start) {
-		this();
-		fStart = start;
-	}
-
-	public void adjustLengthWith(int i) {
-		throw new SourceEditingRuntimeException("invalid for this region type"); //$NON-NLS-1$
-
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		// not supported
-
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// can never be updated
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/TagNameRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/TagNameRegion.java
deleted file mode 100644
index f01e5b0..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/TagNameRegion.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class TagNameRegion implements ITextRegion {
-	static private final String fType = XMLRegionContext.XML_TAG_NAME;
-	private short fLength;
-	private int fStart;
-	private short fTextLength;
-
-
-	public TagNameRegion() {
-		super();
-	}
-
-	public TagNameRegion(int start, int textLength, int length) {
-		this();
-		fStart = start;
-		fTextLength = (short) textLength;
-		fLength = (short) length;
-	}
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		fTextLength += i;
-
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = (short) region.getLength();
-		fTextLength = (short) region.getTextLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// can never be updated
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/TagOpenRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/TagOpenRegion.java
deleted file mode 100644
index f09c83d..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/TagOpenRegion.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class TagOpenRegion implements ITextRegion {
-	static private final String fType = XMLRegionContext.XML_TAG_OPEN;
-	private int fLength;
-	private int fStart;
-	private int fTextLength;
-
-
-	public TagOpenRegion() {
-		super();
-	}
-
-	public TagOpenRegion(int start, int textLength, int length) {
-		this();
-		fStart = start;
-		fTextLength = textLength;
-		fLength = length;
-	}
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		fTextLength += 1;
-
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = region.getLength();
-		fTextLength = region.getTextLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// can never be updated
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/WhiteSpaceOnlyRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/WhiteSpaceOnlyRegion.java
deleted file mode 100644
index 2727095..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/WhiteSpaceOnlyRegion.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-
-
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class WhiteSpaceOnlyRegion implements ITextRegion {
-	static private final byte fTextLength = 0;
-
-	static private final String fType = XMLRegionContext.WHITE_SPACE;
-	protected int fLength;
-	protected int fStart;
-
-	public WhiteSpaceOnlyRegion(int start, int length) {
-		super();
-		fStart = start;
-		fLength = length;
-	}
-
-	public void adjust(int i) {
-		fStart += i;
-	}
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		// not supported
-
-	}
-
-	public boolean contains(int position) {
-
-		return fStart <= position && position < fStart + fLength;
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = region.getLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public void setLength(int i) {
-		fLength = i;
-	}
-
-	public void setStart(int i) {
-		fStart = i;
-	}
-
-	public void setTextLength(short i) {
-		throw new SourceEditingRuntimeException("invalid call"); //$NON-NLS-1$
-	}
-
-	public void setType(String string) {
-		throw new SourceEditingRuntimeException("invalid call"); //$NON-NLS-1$
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-	/**
-	 * For this ITextRegion type, the start must in terms of what the region
-	 * expects ... that is, its not document offset, but start relative to
-	 * what ever contains it.
-	 */
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// if the region is an easy type (e.g. attribute value),
-		// and the requested changes are all
-		// alphanumeric, then make the change here locally.
-		// (This can obviously be made more sophisticated as the need arises,
-		// but should
-		// always follow this pattern.)
-		if (Debug.debugStructuredDocument) {
-			System.out.println("\t\tContextRegion::updateModel"); //$NON-NLS-1$
-			System.out.println("\t\t\tregion type is " + fType); //$NON-NLS-1$
-		}
-		boolean canHandle = false;
-		// note: we'll always handle deletes from these
-		// regions ... if its already that region,
-		// deleting something from it won't change its
-		// type. (remember, the calling program needs
-		// to insure we are not called, if not all contained
-		// on one region.
-		if ((changes == null) || (changes.length() == 0)) {
-			// delete case
-			// We can not do the quick delete, if
-			// if all the text in a region is to be deleted.
-			// Or, if the delete starts in the white space region.
-			// In these cases, a reparse is needed.
-			// Minor note, we use textEnd-start since it always
-			// less than or equal to end-start. This might
-			// cause us to miss a few cases we could have handled,
-			// but will prevent us from trying to handle funning cases
-			// involving whitespace.
-			if ((fStart >= getTextEnd()) || (Math.abs(lengthToReplace) >= getTextEnd() - getStart())) {
-				canHandle = false;
-			} else {
-				canHandle = true;
-			}
-		} else {
-			if (RegionUpdateRule.canHandleAsWhiteSpace(this, parent, changes, requestStart, lengthToReplace)) {
-				canHandle = true;
-			} else {
-				canHandle = false;
-			}
-
-		}
-		RegionChangedEvent result = null;
-
-		if (canHandle) {
-			// at this point, we still have the old region. We won't create a
-			// new instance, we'll just update the one we have, by changing
-			// its end postion,
-			// The parent flatnode, upon return, has responsibility
-			// for updating sibling regions.
-			// and in turn, the structuredDocument itself has responsibility
-			// for
-			// updating the text store and down stream flatnodes.
-			if (Debug.debugStructuredDocument) {
-				System.out.println("change handled by region"); //$NON-NLS-1$
-			}
-			int lengthDifference = Utilities.calculateLengthDifference(changes, lengthToReplace);
-			// Note: we adjust both end and text end, because for any change
-			// that is in only the trailing whitespace region, we should not
-			// do a quick change,
-			// so 'canHandle' should have been false for those case.
-			fLength += lengthDifference;
-
-			result = new RegionChangedEvent(parent.getParentDocument(), requester, parent, this, changes, requestStart, lengthToReplace);
-		}
-
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLCDataTextRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLCDataTextRegion.java
deleted file mode 100644
index e6f3cbe..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLCDataTextRegion.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class XMLCDataTextRegion implements ITextRegion {
-	static private final String fType = XMLRegionContext.XML_CDATA_TEXT;
-	private int fLength;
-	private int fStart;
-	private int fTextLength;
-
-
-	public XMLCDataTextRegion() {
-		super();
-	}
-
-	public XMLCDataTextRegion(int start, int textLength, int length) {
-		this();
-		fStart = start;
-		fTextLength = textLength;
-		fLength = length;
-	}
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		fTextLength += i;
-
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = region.getLength();
-		fTextLength = region.getTextLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		// TODO: shouldn't cdata be like XML Content ... length and text
-		// length
-		// always be the same, regardless of whitespace?
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// TODO: this is a pretty lame method, since XML CData region can have
-		// a much
-		// better rule for region update, but this is what previous
-		// (unfactored)
-		// version had, so I'll carry it over, of now.
-		RegionChangedEvent result = null;
-		// if the region is an easy type (e.g. attribute value),
-		// and the requested changes are all
-		// alphanumeric, then make the change here locally.
-		// (This can obviously be made more sophisticated as the need arises,
-		// but should
-		// always follow this pattern.)
-		if (Debug.debugStructuredDocument) {
-			System.out.println("\t\tContextRegion::updateModel"); //$NON-NLS-1$
-			System.out.println("\t\t\tregion type is " + fType); //$NON-NLS-1$
-		}
-		boolean canHandle = false;
-		// note: we'll always handle deletes from these
-		// regions ... if its already that region,
-		// deleting something from it won't change its
-		// type. (remember, the calling program needs
-		// to insure we are not called, if not all contained
-		// on one region.
-		if ((changes == null) || (changes.length() == 0)) {
-			// delete case
-			// We can not do the quick delete, if
-			// if all the text in a region is to be deleted.
-			// Or, if the delete starts in the white space region.
-			// In these cases, a reparse is needed.
-			// Minor note, we use textEnd-start since it always
-			// less than or equal to end-start. This might
-			// cause us to miss a few cases we could have handled,
-			// but will prevent us from trying to handle funning cases
-			// involving whitespace.
-			if ((fStart >= getTextEnd()) || (Math.abs(lengthToReplace) >= getTextEnd() - getStart())) {
-				canHandle = false;
-			} else {
-				canHandle = true;
-			}
-		} else {
-			if ((RegionUpdateRule.canHandleAsWhiteSpace(this, parent, changes, requestStart, lengthToReplace)) || RegionUpdateRule.canHandleAsLetterOrDigit(this, parent, changes, requestStart, lengthToReplace)) {
-				canHandle = true;
-			} else {
-				canHandle = false;
-			}
-
-		}
-		if (canHandle) {
-			// at this point, we still have the old region. We won't create a
-			// new instance, we'll just update the one we have, by changing
-			// its end postion,
-			// The parent flatnode, upon return, has responsibility
-			// for updating sibling regions.
-			// and in turn, the structuredDocument itself has responsibility
-			// for
-			// updating the text store and down stream flatnodes.
-			if (Debug.debugStructuredDocument) {
-				System.out.println("change handled by region"); //$NON-NLS-1$
-			}
-			int lengthDifference = Utilities.calculateLengthDifference(changes, lengthToReplace);
-			// Note: we adjust both end and text end, because for any change
-			// that is in only the trailing whitespace region, we should not
-			// do a quick change,
-			// so 'canHandle' should have been false for those case.
-			// TO_DO_FUTURE: cache value of canHandleAsWhiteSpace from above
-			// If we are handling as whitespace, there is no need to increase
-			// the text length, only
-			// the total length is changing.
-			if (!RegionUpdateRule.canHandleAsWhiteSpace(this, parent, changes, requestStart, lengthToReplace)) {
-				fTextLength += lengthDifference;
-			}
-			fLength += lengthDifference;
-			result = new RegionChangedEvent(parent.getParentDocument(), requester, parent, this, changes, requestStart, lengthToReplace);
-		}
-
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLContentRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLContentRegion.java
deleted file mode 100644
index 7155dfc..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLContentRegion.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.core.util.Utilities;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-
-public class XMLContentRegion implements ITextRegion {
-	static private final String fType = XMLRegionContext.XML_CONTENT;
-	// length and textLength are always the same for content region
-	//private int fTextLength;
-	private int fLength;
-	private int fStart;
-
-
-	public XMLContentRegion() {
-		super();
-	}
-
-	public XMLContentRegion(int start, int length) {
-		this();
-		fStart = start;
-		fLength = length;
-	}
-
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		// not supported
-
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = region.getLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public int getTextEnd() {
-		return fStart + fLength;
-	}
-
-	public int getTextLength() {
-		return fLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// TODO: this is a pretty lame method, since XML Content can have a
-		// much
-		// better rule for region update, but this is what previous
-		// (unfactored)
-		// version had, so I'll carry it over, of now.
-		RegionChangedEvent result = null;
-		// if the region is an easy type (e.g. attribute value),
-		// and the requested changes are all
-		// alphanumeric, then make the change here locally.
-		// (This can obviously be made more sophisticated as the need arises,
-		// but should
-		// always follow this pattern.)
-		if (Debug.debugStructuredDocument) {
-			System.out.println("\t\tContextRegion::updateModel"); //$NON-NLS-1$
-			System.out.println("\t\t\tregion type is " + fType); //$NON-NLS-1$
-		}
-		boolean canHandle = false;
-		// note: we'll always handle deletes from these
-		// regions ... if its already that region,
-		// deleting something from it won't change its
-		// type. (remember, the calling program needs
-		// to insure we are not called, if not all contained
-		// on one region.
-		if ((changes == null) || (changes.length() == 0)) {
-			// delete case
-			// We can not do the quick delete, if
-			// if all the text in a region is to be deleted.
-			// Or, if the delete starts in the white space region.
-			// In these cases, a reparse is needed.
-			// Minor note, we use textEnd-start since it always
-			// less than or equal to end-start. This might
-			// cause us to miss a few cases we could have handled,
-			// but will prevent us from trying to handle funning cases
-			// involving whitespace.
-			if ((fStart >= getTextEnd()) || (Math.abs(lengthToReplace) >= getTextEnd() - getStart())) {
-				canHandle = false;
-			} else {
-				canHandle = true;
-			}
-		} else {
-			if ((RegionUpdateRule.canHandleAsWhiteSpace(this, parent, changes, requestStart, lengthToReplace)) || RegionUpdateRule.canHandleAsLetterOrDigit(this, parent, changes, requestStart, lengthToReplace)) {
-				canHandle = true;
-			} else {
-				canHandle = false;
-			}
-
-		}
-		if (canHandle) {
-			// at this point, we still have the old region. We won't create a
-			// new instance, we'll just update the one we have, by changing
-			// its end postion,
-			// The parent flatnode, upon return, has responsibility
-			// for updating sibling regions.
-			// and in turn, the structuredDocument itself has responsibility
-			// for
-			// updating the text store and down stream flatnodes.
-			if (Debug.debugStructuredDocument) {
-				System.out.println("change handled by region"); //$NON-NLS-1$
-			}
-			int lengthDifference = Utilities.calculateLengthDifference(changes, lengthToReplace);
-			// Note: we adjust both end and text end, because for any change
-			// that is in only the trailing whitespace region, we should not
-			// do a quick change,
-			// so 'canHandle' should have been false for those case.
-			fLength += lengthDifference;
-			// TO_DO_FUTURE: cache value of canHandleAsWhiteSpace from above
-			// If we are handling as whitespace, there is no need to increase
-			// the text length, only
-			// the total length is changing.
-			// don't need for content region
-			//			if (!RegionUpdateRule.canHandleAsWhiteSpace(this, changes,
-			// fStart, lengthToReplace)) {
-			//				fTextLength += lengthDifference;
-			//			}
-			result = new RegionChangedEvent(parent.getParentDocument(), requester, parent, this, changes, requestStart, lengthToReplace);
-		}
-
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLHeadParserFactory.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLHeadParserFactory.java
deleted file mode 100644
index 66d9ee9..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLHeadParserFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-public class XMLHeadParserFactory {
-	public ITextRegion createToken(String context, int start, int textLength, int length, String text) {
-		ITextRegion newRegion = null;
-		//		if (context == XMLRegionContext.XML_CDATA_TEXT) {
-		newRegion = new XMLHeadParserRegion(context, start, textLength, length, text);
-		//		}
-		return newRegion;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLHeadParserRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLHeadParserRegion.java
deleted file mode 100644
index 98dad74..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLHeadParserRegion.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-import org.eclipse.wst.sse.core.events.StructuredDocumentEvent;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * 
- * This class is not intended to be used, its just present to server as a
- * generic starting point for adding new specific region types.
- */
-
-public class XMLHeadParserRegion implements ITextRegion {
-	private int fLength;
-	private int fStart;
-	private String fText;
-	private int fTextLength;
-	// specify correct type
-	private String fType = XMLRegionContext.UNDEFINED;
-
-	public XMLHeadParserRegion() {
-		super();
-	}
-
-	public XMLHeadParserRegion(String context, int start, int textLength, int length, String text) {
-		this();
-		fType = context;
-		fStart = start;
-		fTextLength = textLength;
-		fLength = length;
-		fText = text;
-	}
-
-	public void adjustLengthWith(int i) {
-		fLength += i;
-
-	}
-
-	public void adjustStart(int i) {
-		fStart += i;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.structured.text.ITextRegion#adjustTextLength(int)
-	 */
-	public void adjustTextLength(int i) {
-		fTextLength += 1;
-
-	}
-
-	public void equatePositions(ITextRegion region) {
-		fStart = region.getStart();
-		fLength = region.getLength();
-		fTextLength = region.getTextLength();
-	}
-
-	public int getEnd() {
-		return fStart + fLength;
-	}
-
-	public int getLength() {
-		return fLength;
-	}
-
-	public int getStart() {
-		return fStart;
-	}
-
-	public String getText() {
-		return fText;
-	}
-
-	public int getTextEnd() {
-		return fStart + fTextLength;
-	}
-
-	public int getTextLength() {
-		return fTextLength;
-	}
-
-	public String getType() {
-		return fType;
-	}
-
-	public String toString() {
-		return RegionToStringUtil.toString(this);
-	}
-
-	public StructuredDocumentEvent updateModel(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) {
-		// can never be updated
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLParserRegionFactory.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLParserRegionFactory.java
deleted file mode 100644
index 6b03796..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/parser/regions/XMLParserRegionFactory.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.parser.regions;
-
-
-
-import org.eclipse.wst.sse.core.internal.parser.ContextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * 
- * This region factory is very specific to the parser output, and the specific
- * implementation classes for various regions.
- */
-
-public class XMLParserRegionFactory {
-
-	public XMLParserRegionFactory() {
-		super();
-	}
-
-	public ITextRegion createToken(ITextRegionContainer parent, String context, int start, int textLength, int length) {
-		return this.createToken(parent, context, start, textLength, length, null, null);
-	}
-
-	public ITextRegion createToken(ITextRegionContainer parent, String context, int start, int textLength, int length, String lang, String surroundingTag) {
-		ITextRegion newRegion = createToken(context, start, textLength, length);
-		// DW, 4/16/2003 token regions no longer have parents
-		//newRegion.setParent(parent);
-		return newRegion;
-	}
-
-	public ITextRegion createToken(String context, int start, int textLength, int length) {
-		return this.createToken(context, start, textLength, length, null, null);
-	}
-
-	public ITextRegion createToken(String context, int start, int textLength, int length, String lang, String surroundingTag) {
-		ITextRegion newRegion = null;
-		if (context == XMLRegionContext.XML_CDATA_TEXT) {
-			newRegion = new XMLCDataTextRegion(start, textLength, length);
-		} else if (context == XMLRegionContext.XML_CONTENT) {
-			newRegion = new XMLContentRegion(start, length);
-		} else if (context == XMLRegionContext.XML_TAG_NAME) {
-			newRegion = new TagNameRegion(start, textLength, length);
-		} else if (context == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-			newRegion = new AttributeNameRegion(start, textLength, length);
-		} else if (context == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-			newRegion = new AttributeEqualsRegion(start, textLength, length);
-		} else if (context == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-			newRegion = new AttributeValueRegion(start, textLength, length);
-		} else if (context == XMLRegionContext.XML_TAG_OPEN) {
-			newRegion = new TagOpenRegion(start, textLength, length);
-		} else if (context == XMLRegionContext.XML_TAG_CLOSE) {
-			newRegion = new TagCloseRegion(start);
-		} else if (context == XMLRegionContext.WHITE_SPACE) {
-			newRegion = new WhiteSpaceOnlyRegion(start, length);
-		} else
-		// removed this condition during transition, and implemented in
-		// subclass
-		//		if (context == XMLJSPRegionContexts.JSP_CONTENT) {
-		//			newRegion = new JSPCodeRegion(context, start, textLength, length);
-		//		} else
-		if (context == XMLRegionContext.BLOCK_TEXT) {
-			newRegion = new BlockTextRegion(context, start, textLength, length);
-			((BlockTextRegion) newRegion).setSurroundingTag(surroundingTag);
-		} else {
-			newRegion = new ContextRegion(context, start, textLength, length);
-		}
-		return newRegion;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterFactoryImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterFactoryImpl.java
deleted file mode 100644
index ed13b8a..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterFactoryImpl.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.propagate;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.sse.core.PropagatingAdapterFactory;
-
-
-/**
- * The PropagatingAdapterFactory is part of the "adapt on create" mechanism. A
- * PropagatingAdapter, once added to a node, will cause proagating adapters to
- * be created for all child nodes. A side effect of creating a
- * PropagatingAdapter for a node is that is is also creates adapters for and
- * adapts the Node for all other registered 'create on adapt' Adapters. This
- * other adapters are registered by registering their factories via plugin
- * extension point.
- */
-public class PropagatingAdapterFactoryImpl extends AbstractAdapterFactory implements PropagatingAdapterFactory {
-
-	private PropagatingAdapter adapterInstance;
-	protected List contributedFactories = null;
-
-	/**
-	 * PropagatingAdapterFactory constructor comment.
-	 */
-	public PropagatingAdapterFactoryImpl() {
-		this(PropagatingAdapter.class, true);
-	}
-
-	protected PropagatingAdapterFactoryImpl(Object adapterKey, boolean registerAdapters) { //,
-		// Object
-		// modelType)
-		// {
-		super(adapterKey, registerAdapters);
-	}
-
-	public void addContributedFactories(AdapterFactory factory) {
-		if (contributedFactories != null) {
-			contributedFactories.add(factory);
-		}
-
-	}
-
-	public AdapterFactory copy() {
-		PropagatingAdapterFactory clonedInstance = new PropagatingAdapterFactoryImpl(this.adapterKey, this.shouldRegisterAdapter);
-		// clone this adapters specific list of adapter factories too
-		if (contributedFactories != null) {
-			Iterator iterator = contributedFactories.iterator();
-			clonedInstance.setContributedFactories(new ArrayList());
-			while (iterator.hasNext()) {
-				AdapterFactory existingFactory = (AdapterFactory) iterator.next();
-				clonedInstance.addContributedFactories(existingFactory.copy());
-			}
-		}
-		return clonedInstance;
-	}
-
-	/**
-	 * createAdapter method comment.
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		// every notifier get's one of these
-		// (and the same instance of it)
-		return getAdapterInstance();
-	}
-
-	/**
-	 * Gets the adapterInstance.
-	 * 
-	 * @return Returns a PropagatingAdapter
-	 */
-	protected PropagatingAdapter getAdapterInstance() {
-		if (adapterInstance == null) {
-			adapterInstance = new PropagatingAdapterImpl();
-			if (contributedFactories != null) {
-				for (int i = 0; i < contributedFactories.size(); i++)
-					adapterInstance.addAdaptOnCreateFactory((PropagatingAdapterFactory) contributedFactories.get(i));
-			}
-		}
-		return adapterInstance;
-	}
-
-	public void release() {
-		// give the adapter instance a chance to release its factories
-		getAdapterInstance().release();
-
-	}
-
-	public void setContributedFactories(ArrayList list) {
-		contributedFactories = list;
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterImpl.java
deleted file mode 100644
index 4f0b320..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.propagate;
-
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class PropagatingAdapterImpl implements PropagatingAdapter {
-
-	public static final Class PropagatingAdapterClass = PropagatingAdapter.class;
-	// because so many of these are created in huge file,
-	// Jeffrey Liu suggested these be done lazily, since not all
-	// models and not all nodes actually have a list of factories.
-	private List adaptOnCreateFactories = null;
-
-	/**
-	 * AbstractPropagatingAdapterImpl constructor comment.
-	 */
-	public PropagatingAdapterImpl() {
-		super();
-	}
-
-	protected void adaptOnCreate(XMLNode node) {
-		// give each of the factories a chance to adapt the node, if it
-		// chooses to
-		if (adaptOnCreateFactories != null) {
-			Iterator iterator = adaptOnCreateFactories.iterator();
-			while (iterator.hasNext()) {
-				AdapterFactory factory = (AdapterFactory) iterator.next();
-				factory.adapt(node);
-			}
-		}
-
-	}
-
-	/**
-	 * This mechanism can be made "easier to use" later.
-	 */
-	public void addAdaptOnCreateFactory(AdapterFactory factory) {
-		//adaptOnCreateFactories.add(factory);
-		getAdaptOnCreateFactories().add(factory);
-	}
-
-	/**
-	 * Gets the adaptOnCreateFactories.
-	 * 
-	 * @return Returns a List
-	 */
-	public List getAdaptOnCreateFactories() {
-		if (adaptOnCreateFactories == null)
-			adaptOnCreateFactories = new ArrayList();
-		return adaptOnCreateFactories;
-	}
-
-	//	protected void unadaptOnRemove(INodeNotifier node) {
-	//		// give each of the factories a chance to process remove event
-	//		// This is a bit out of the normal adapter pattern, but I couldn't
-	//		// think of a better way to "remove" pageDirectiveWatchers, if and
-	//		// when the page directive was 'removed' (edited).
-	//		//
-	//		Iterator iterator = adaptOnCreateFactories.iterator();
-	//		while (iterator.hasNext()) {
-	//			AdapterFactory factory = (AdapterFactory) iterator.next();
-	//			if (factory instanceof PropagatingAdapterFactory) {
-	//				((PropagatingAdapterFactory)factory).unadapt(node);
-	//			}
-	//		}
-	//
-	//	}
-
-	/**
-	 * @see PropagatingAdapter#initializeForFactory(AdapterFactory,
-	 *      INodeNotifier)
-	 */
-	public void initializeForFactory(AdapterFactory factory, INodeNotifier node) {
-		// we're DOM specific implimentation
-		if (node instanceof XMLNode) {
-			XMLNode xmlNode = (XMLNode) node;
-			propagateTo(xmlNode);
-		}
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return type.equals(PropagatingAdapterClass);
-	}
-
-	protected boolean isInteresting(Object newValue) {
-		return (newValue != null && (newValue instanceof Element || newValue instanceof Document || newValue instanceof DocumentType));
-	}
-
-	/**
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		// DMW, 2002.8.10. I changed this so we only propagate to Elements ...
-		// not attributes too!
-		// I'm assuming this will help performance and memory, but don't know
-		// if anyone was depending on
-		// this being proagate to attributes.
-		if (eventType == INodeNotifier.ADD && isInteresting(newValue)) {
-			propagateTo((XMLNode) newValue);
-		}
-		//	else if (eventType == INodeNotifier.CONTENT_CHANGED) {
-		//		notifier.getAdapterFor(PropagatingAdapterClass);
-		//	}
-		//	else if (eventType == INodeNotifier.CHANGE) {
-		//	}
-		//		else if (eventType == INodeNotifier.REMOVE &&
-		// isInteresting(oldValue)) {
-		//			unadaptOnRemove((XMLNode)oldValue);
-		//		}
-		//	else if (eventType == INodeNotifier.STRUCTURE_CHANGED) {
-		//	}
-	}
-
-	protected void propagateTo(XMLNode node) {
-		// get adapter to ensure its created
-		node.getAdapterFor(PropagatingAdapterClass);
-		adaptOnCreate(node);
-		propagateToChildren(node);
-	}
-
-	protected void propagateToChildren(XMLNode parent) {
-		for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-			propagateTo((XMLNode) child);
-		}
-	}
-
-	/**
-	 * @see PropagatingAdapter#release()
-	 */
-	public void release() {
-		if (adaptOnCreateFactories != null) {
-			Iterator iterator = adaptOnCreateFactories.iterator();
-			while (iterator.hasNext()) {
-				AdapterFactory factory = (AdapterFactory) iterator.next();
-				factory.release();
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/text/XMLStructuredDocumentRegion.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/text/XMLStructuredDocumentRegion.java
deleted file mode 100644
index 77de14a..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/text/XMLStructuredDocumentRegion.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.text;
-
-import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class XMLStructuredDocumentRegion extends BasicStructuredDocumentRegion implements IStructuredDocumentRegion {
-
-	public XMLStructuredDocumentRegion() {
-		super();
-	}
-
-	public String getType() {
-		String result = super.getType();
-		// normally, we want the second region as the flatnode type ... since
-		// the
-		// first one is usually just "open tag".
-		if ((result != XMLRegionContext.XML_PI_OPEN) && (getRegions().size() > 1)) {
-			result = getRegions().get(1).getType();
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/util/DebugDocument.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/util/DebugDocument.java
deleted file mode 100644
index 13afbc8..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/util/DebugDocument.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.util;
-
-import java.io.PrintStream;
-
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class DebugDocument {
-
-	public static void dump(Document document) {
-		if (document == null)
-			return;
-		System.out.println("Dump of DOM"); //$NON-NLS-1$
-
-		dump(document, System.out);
-
-		//
-		System.out.println();
-		System.out.println("= = = = = ="); //$NON-NLS-1$
-		System.out.println();
-
-	}
-
-	public static void dump(Document document, PrintStream out) {
-		Node node = document.getFirstChild();
-		while (node != null) {
-			dump(node, out);
-			node = node.getNextSibling();
-		}
-
-	}
-
-	public static void dump(Node topNode) {
-		dump(topNode, System.out);
-	}
-
-	public static void dump(Node topNode, PrintStream out) {
-		if (topNode == null)
-			return;
-		// print out this node
-		//
-		printNode(topNode, out);
-
-		// now print out its children
-		//NodeList nodes = topNode.getChildNodes();
-		//int len = nodes.getLength();
-		//for (int i = 0; i < len; i++) {
-
-		//Node node = nodes.item(i);
-		//dump(node, out);
-		//}
-	}
-
-	public static void printNode(Node topNode) {
-		printNode(topNode, System.out);
-
-	}
-
-	public static void printNode(Node topNode, PrintStream out) {
-		// print out this node
-		//
-		IStructuredDocumentRegion firstStructuredDocumentRegion = ((XMLNode) topNode).getFirstStructuredDocumentRegion();
-		IStructuredDocumentRegion lastStructuredDocumentRegion = ((XMLNode) topNode).getLastStructuredDocumentRegion();
-		if ((firstStructuredDocumentRegion == null) || (lastStructuredDocumentRegion == null)) {
-			// no text to output
-		} else {
-			int start = firstStructuredDocumentRegion.getStart();
-			int end = lastStructuredDocumentRegion.getEnd();
-
-			String outString = topNode.toString();
-			outString = org.eclipse.wst.sse.core.util.StringUtils.escape(outString);
-			out.println("[" + start + ", " + end + "]" + outString); //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-		}
-		// now do its children
-		NodeList nodes = topNode.getChildNodes();
-		int len = nodes.getLength();
-		for (int i = 0; i < len; i++) {
-			Node childNode = nodes.item(i);
-			printNode(childNode, out);
-		}
-
-	}
-
-	public DebugDocument() {
-		super();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/validate/AbstractPropagatingValidator.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/validate/AbstractPropagatingValidator.java
deleted file mode 100644
index 9144662..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/validate/AbstractPropagatingValidator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.validate;
-
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.validate.ValidationAdapter;
-import org.w3c.dom.Node;
-
-
-public abstract class AbstractPropagatingValidator extends ValidationComponent {
-
-	/**
-	 * Constructor for AbstractPropagatingValidator.
-	 */
-	public AbstractPropagatingValidator() {
-		super();
-	}
-
-	protected abstract ValidationComponent getPropagatee();
-
-	protected abstract ValidationAdapter getValidator();
-
-	/**
-	 * @see com.ibm.sed.adapters.validate.ValidationAdapter#validate(IndexedRegion)
-	 */
-	public void validate(IndexedRegion node) {
-		if (node == null)
-			return;
-		getValidator().validate(node);
-
-
-		Propagator.propagateToChildElements(getPropagatee(), (Node) node);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/validate/Propagator.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/validate/Propagator.java
deleted file mode 100644
index 3cdcca5..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/validate/Propagator.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.validate;
-
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.validate.ValidationAdapter;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class Propagator {
-
-	public static void propagateToChildElements(ValidationComponent validator, Node parent) {
-		if (parent == null)
-			return;
-		Class clazz = validator.getClass();
-
-		NodeList children = parent.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child == null || child.getNodeType() != Node.ELEMENT_NODE)
-				continue;
-
-			INodeNotifier notifier = (INodeNotifier) child;
-			ValidationAdapter va = (ValidationAdapter) notifier.getExistingAdapter(clazz);
-			if (va == null) {
-				notifier.addAdapter(validator);
-				va = validator;
-			}
-			va.validate((IndexedRegion) child);
-		}
-	}
-
-	/**
-	 * Propagator is just a placeholder of utilities. Don't instantiate.
-	 */
-	private Propagator() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/validate/ValidationComponent.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/validate/ValidationComponent.java
deleted file mode 100644
index 797d9cb..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/validate/ValidationComponent.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.internal.validate;
-
-
-
-import org.eclipse.wst.sse.core.validate.ValidationAdapter;
-import org.eclipse.wst.sse.core.validate.ValidationReporter;
-
-public abstract class ValidationComponent implements ValidationAdapter {
-
-	protected ValidationReporter reporter = null;
-
-	/**
-	 * ValidationComponent constructor comment.
-	 */
-	public ValidationComponent() {
-		super();
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return (type == ValidationAdapter.class);
-	}
-
-	/**
-	 */
-	public void notifyChanged(org.eclipse.wst.sse.core.INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		// This method will be implemented in the V2.
-	}
-
-	/**
-	 */
-	public void setReporter(ValidationReporter reporter) {
-		this.reporter = reporter;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/jsp/model/parser/temp/XMLJSPRegionContexts.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/jsp/model/parser/temp/XMLJSPRegionContexts.java
deleted file mode 100644
index 9a1d66d..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/jsp/model/parser/temp/XMLJSPRegionContexts.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.jsp.model.parser.temp;
-
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * //TODO
- * 
- * @deprecated - marked as deprecated to warn of pending changes. See the
- *             package.html file for full explanation.
- */
-
-public interface XMLJSPRegionContexts extends XMLRegionContext {
-	public static final String JSP_CLOSE = "JSP_CLOSE"; //$NON-NLS-1$
-	public static final String JSP_COMMENT_CLOSE = "JSP_COMMENT_CLOSE"; //$NON-NLS-1$
-
-	public static final String JSP_COMMENT_OPEN = "JSP_COMMENT_OPEN"; //$NON-NLS-1$
-	public static final String JSP_COMMENT_TEXT = "JSP_COMMENT_TEXT"; //$NON-NLS-1$
-
-	public static final String JSP_CONTENT = "JSP_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_DECLARATION_OPEN = "JSP_DECLARATION_OPEN"; //$NON-NLS-1$
-	public static final String JSP_DIRECTIVE_CLOSE = "JSP_DIRECTIVE_CLOSE"; //$NON-NLS-1$
-	public static final String JSP_DIRECTIVE_NAME = "JSP_DIRECTIVE_NAME"; //$NON-NLS-1$
-
-	public static final String JSP_DIRECTIVE_OPEN = "JSP_DIRECTIVE_OPEN"; //$NON-NLS-1$
-	public static final String JSP_EL_CLOSE = "JSP_EL_CLOSE"; //$NON-NLS-1$
-	public static final String JSP_EL_CONTENT = "JSP_EL_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_EL_DQUOTE = "JSP_EL_DQUOTE"; //$NON-NLS-1$
-
-	public static final String JSP_EL_OPEN = "JSP_EL_OPEN"; //$NON-NLS-1$
-	public static final String JSP_EL_QUOTED_CONTENT = "JSP_EL_QUOTED_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_EL_SQUOTE = "JSP_EL_SQUOTE"; //$NON-NLS-1$
-	public static final String JSP_EXPRESSION_OPEN = "JSP_EXPRESSION_OPEN"; //$NON-NLS-1$
-
-	public static final String JSP_ROOT_TAG_NAME = "JSP_ROOT_TAG_NAME"; //$NON-NLS-1$
-
-	public static final String JSP_SCRIPTLET_OPEN = "JSP_SCRIPTLET_OPEN"; //$NON-NLS-1$
-	public static final String JSP_VBL_CLOSE = "JSP_VBL_CLOSE"; //$NON-NLS-1$
-	public static final String JSP_VBL_CONTENT = "JSP_VBL_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_VBL_DQUOTE = "JSP_VBL_DQUOTE"; //$NON-NLS-1$
-	public static final String JSP_VBL_OPEN = "JSP_VBL_OPEN"; //$NON-NLS-1$
-	public static final String JSP_VBL_QUOTED_CONTENT = "JSP_VBL_QUOTED_CONTENT"; //$NON-NLS-1$
-	public static final String JSP_VBL_SQUOTE = "JSP_VBL_SQUOTE"; //$NON-NLS-1$
-	public static final String XML_TAG_ATTRIBUTE_VALUE_DQUOTE = "XML_TAG_ATTRIBUTE_VALUE_DQUOTE"; //$NON-NLS-1$
-
-	public static final String XML_TAG_ATTRIBUTE_VALUE_SQUOTE = "XML_TAG_ATTRIBUTE_VALUE_SQUOTE"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/jsp/model/parser/temp/package.html b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/jsp/model/parser/temp/package.html
deleted file mode 100644
index 8e9ef20..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/jsp/model/parser/temp/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<HTML>
-This package is located here in the XML project
-temporarily. Once the DOM Parser is cleaningly split
-to XML and JSP components, this package will move
-back to JSP project. (If its not here temporarily, 
-its easy to get circluar references in plugin.xml 
-dependancies.
-</HTML>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/EmbeddedXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/EmbeddedXML.java
deleted file mode 100644
index db69177..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/EmbeddedXML.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.modelhandler;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.core.parser.JSPCapableParser;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryAdapterFactoryForEmbeddedXML;
-
-
-public class EmbeddedXML implements EmbeddedTypeHandler {
-
-	private static List supportedMimeTypes;
-	public String ContentTypeID_EmbeddedXML = "org.eclipse.wst.xml.core.contenttype.EmbeddedXML"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for EmbeddedXML.
-	 */
-	public EmbeddedXML() {
-		super();
-	}
-
-	/*
-	 * @see EmbeddedContentType#getAdapterFactories()
-	 */
-	public List getAdapterFactories() {
-		List factories = new ArrayList();
-		factories.add(new ModelQueryAdapterFactoryForEmbeddedXML());
-		// factories.addAll(PluginContributedFactoryReader.getInstance().getFactories(this));
-		return factories;
-	}
-
-	/**
-	 * @see EmbeddedContentType#getFamilyId()
-	 */
-	public String getFamilyId() {
-		return ModelHandlerForXML.AssociatedContentTypeID;
-	}
-
-	public List getSupportedMimeTypes() {
-		if (supportedMimeTypes == null) {
-			supportedMimeTypes = new ArrayList();
-			supportedMimeTypes.add("text/xml"); //$NON-NLS-1$
-		}
-		return supportedMimeTypes;
-	}
-
-	public void initializeFactoryRegistry(IFactoryRegistry registry) {
-		//TODO: initialize
-	}
-
-	/*
-	 * @see EmbeddedContentType#initializeParser(RegionParser)
-	 */
-	public void initializeParser(JSPCapableParser parser) {
-		// nothing to initialize for "pure" XML
-		// compare with XHTML
-	}
-
-	public boolean isDefault() {
-		return false;
-	}
-
-	public EmbeddedTypeHandler newInstance() {
-		return new EmbeddedXML();
-	}
-
-	public void uninitializeFactoryRegistry(IFactoryRegistry registry) {
-		// TODO: need to undo anything we did in initialize
-
-	}
-
-	public void uninitializeParser(JSPCapableParser parser) {
-		// need to undo anything we did in initialize
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/ModelHandlerForXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/ModelHandlerForXML.java
deleted file mode 100644
index 9d911de..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/ModelHandlerForXML.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.modelhandler;
-
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.document.IDocumentCharsetDetector;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.modelhandler.AbstractModelHandler;
-import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
-import org.eclipse.wst.xml.core.document.DocumentLoaderForXML;
-import org.eclipse.wst.xml.core.encoding.XMLDocumentCharsetDetector;
-import org.eclipse.wst.xml.core.encoding.XMLDocumentLoader;
-
-
-/**
- * Provides generic XML model handling. It is also marked as the default
- * content type handler. There should be only one implementation of the
- * default.
- */
-public class ModelHandlerForXML extends AbstractModelHandler implements IModelHandler {
-	/**
-	 * Needs to match what's in plugin registry. In fact, can be overwritten
-	 * at run time with what's in registry! (so should never be 'final')
-	 */
-	static String AssociatedContentTypeID = "org.eclipse.core.runtime.xml"; //$NON-NLS-1$
-	/**
-	 * Needs to match what's in plugin registry. In fact, can be overwritten
-	 * at run time with what's in registry! (so should never be 'final')
-	 */
-	private static String ModelHandlerID = "org.eclipse.wst.xml.core.modelhandler"; //$NON-NLS-1$
-
-	public ModelHandlerForXML() {
-		super();
-		setId(ModelHandlerID);
-		setAssociatedContentTypeId(AssociatedContentTypeID);
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		if (USE_FILE_BUFFERS)
-			return new DocumentLoaderForXML();
-		else
-			return new XMLDocumentLoader();
-	}
-
-	public IDocumentCharsetDetector getEncodingDetector() {
-		return new XMLDocumentCharsetDetector();
-	}
-
-	public ModelLoader getModelLoader() {
-		return new XMLModelLoader();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/XMLModelLoader.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/XMLModelLoader.java
deleted file mode 100644
index 61c0e5c..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/XMLModelLoader.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.modelhandler;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.sse.core.AbstractModelLoader;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelLoader;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.sse.core.document.IDocumentLoader;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.encoding.XMLDocumentLoader;
-import org.eclipse.wst.xml.core.internal.DebugAdapterFactory;
-import org.eclipse.wst.xml.core.internal.document.XMLModelImpl;
-import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryAdapterFactoryForXML;
-
-
-/**
- * This class reads an XML file and creates an XML Structured Model.
- *  
- */
-public class XMLModelLoader extends AbstractModelLoader {
-
-	//	private static final String STR_ENCODING = "encoding"; //$NON-NLS-1$
-
-	/**
-	 * XMLLoader constructor comment.
-	 */
-	public XMLModelLoader() {
-		super();
-	}
-
-	public List getAdapterFactories() {
-		List result = new ArrayList();
-		AdapterFactory factory = null;
-		factory = new ModelQueryAdapterFactoryForXML();
-		result.add(factory);
-		// Does XML need propagating adapter? Or just JSP?
-		factory = new PropagatingAdapterFactoryImpl();
-		result.add(factory);
-		return result;
-	}
-
-	public IDocumentLoader getDocumentLoader() {
-		if (documentLoaderInstance == null) {
-			documentLoaderInstance = new XMLDocumentLoader();
-		}
-		return documentLoaderInstance;
-	}
-
-	public ModelLoader newInstance() {
-		return new XMLModelLoader();
-	}
-
-	public IStructuredModel newModel() {
-		return new XMLModelImpl();
-	}
-
-	protected void preLoadAdapt(IStructuredModel structuredModel) {
-		super.preLoadAdapt(structuredModel);
-		XMLModel domModel = (XMLModel) structuredModel;
-		// if there is a model in the adapter, this will adapt it to
-		// first node. After that the PropagatingAdater spreads over the
-		// children being
-		// created. Each time that happends, a side effect is to
-		// also "spread" sprecific registered adapters,
-		// they two can propigate is needed.
-		((INodeNotifier) domModel.getDocument()).getAdapterFor(PropagatingAdapter.class);
-
-		if (Debug.debugNotificationAndEvents) {
-			PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) domModel.getDocument()).getAdapterFor(PropagatingAdapter.class);
-			propagatingAdapter.addAdaptOnCreateFactory(new DebugAdapterFactory());
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/ModelQueryAdapterFactoryForEmbeddedXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/ModelQueryAdapterFactoryForEmbeddedXML.java
deleted file mode 100644
index bf5f3d1..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/ModelQueryAdapterFactoryForEmbeddedXML.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManager;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-
-
-public class ModelQueryAdapterFactoryForEmbeddedXML extends ModelQueryAdapterFactoryForXML {
-
-
-	/**
-	 * Constructor for ModelQueryAdapterFactoryForEmbeddedXML.
-	 */
-	public ModelQueryAdapterFactoryForEmbeddedXML() {
-		this(ModelQueryAdapter.class, false);
-	}
-
-	/**
-	 * Constructor for ModelQueryAdapterFactoryForEmbeddedXML.
-	 * 
-	 * @param adapterKey
-	 * @param registerAdapters
-	 */
-	protected ModelQueryAdapterFactoryForEmbeddedXML(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.core.AdapterFactory#adapt(INodeNotifier)
-	 */
-	public INodeAdapter adapt(INodeNotifier object) {
-		return adaptNew(object);
-	}
-
-	protected void configureDocumentManager(CMDocumentManager mgr) {
-		super.configureDocumentManager(mgr);
-		mgr.setPropertyEnabled(CMDocumentManager.PROPERTY_ASYNC_LOAD, true);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/ModelQueryAdapterFactoryForXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/ModelQueryAdapterFactoryForXML.java
deleted file mode 100644
index 1f17c24..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/ModelQueryAdapterFactoryForXML.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.modelquery;
-
-
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManager;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.IModelStateListener;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapterImpl;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-
-
-public class ModelQueryAdapterFactoryForXML extends AbstractAdapterFactory implements IModelStateListener {
-
-	protected ModelQueryAdapterImpl modelQueryAdapterImpl;
-	protected IStructuredModel stateNotifier = null;
-
-	/**
-	 * ModelQueryAdapterFactoryForXML constructor comment.
-	 */
-	public ModelQueryAdapterFactoryForXML() {
-		this(ModelQueryAdapter.class, true);
-	}
-
-	/**
-	 * ModelQueryAdapterFactoryForXML constructor comment.
-	 * 
-	 * @param adapterKey
-	 *            java.lang.Object
-	 * @param registerAdapters
-	 *            boolean
-	 */
-	public ModelQueryAdapterFactoryForXML(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	protected boolean autoLoadCM() {
-		// until the existence of a CMDocumentRequesterFactory to create the
-		// load requests,
-		// return true
-		return true;
-	}
-
-	protected void configureDocumentManager(CMDocumentManager mgr) {
-		// this depends on there being a CMDocumentRequesterFactory installed
-		mgr.setPropertyEnabled(CMDocumentManager.PROPERTY_AUTO_LOAD, autoLoadCM());
-	}
-
-	public AdapterFactory copy() {
-
-		return new ModelQueryAdapterFactoryForXML(this.adapterKey, this.shouldRegisterAdapter);
-	}
-
-	/**
-	 * createAdapter method comment.
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-
-		if (org.eclipse.wst.sse.core.util.Debug.displayInfo)
-			System.out.println("-----------------------ModelQueryAdapterFactoryForXML.createAdapter" + target); //$NON-NLS-1$
-		if (modelQueryAdapterImpl == null) {
-			if (target instanceof XMLNode) {
-				XMLNode xmlNode = (XMLNode) target;
-				IStructuredModel model = stateNotifier = xmlNode.getModel();
-				stateNotifier.addModelStateListener(this);
-				String baseLocation = null;
-				File file = new Path(model.getBaseLocation()).toFile();
-				if(file.exists()) {
-					baseLocation = file.getAbsolutePath();
-				}
-				else {
-					baseLocation = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(model.getBaseLocation()).toString();
-				}
-				if (org.eclipse.wst.sse.core.util.Debug.displayInfo)
-					System.out.println("----------------ModelQueryAdapterFactoryForXML... baseLocation : " + baseLocation); //$NON-NLS-1$
-
-				CMDocumentCache cmDocumentCache = new CMDocumentCache();
-				ModelQuery modelQuery = null;
-				IdResolver idResolver = null;
-
-				if (org.eclipse.wst.sse.core.util.Debug.displayInfo)
-					System.out.println("********XMLModelQueryImpl"); //$NON-NLS-1$
-				idResolver = new XMLCatalogIdResolver(baseLocation, model.getResolver());
-				modelQuery = new XMLModelQueryImpl(cmDocumentCache, idResolver);
-
-				// cs todo...
-				// for now we create a CMDocumentCache on a 'per editor' basis
-				// in the future we need to support a CMDocumentCache that is
-				// shared between editors
-				// nsd comment: may not be appropriate depending on
-				CMDocumentManager documentManager = modelQuery.getCMDocumentManager();
-				if (documentManager != null) {
-					configureDocumentManager(documentManager);
-				}
-				modelQueryAdapterImpl = new ModelQueryAdapterImpl(cmDocumentCache, modelQuery, idResolver);
-			}
-		}
-		return modelQueryAdapterImpl;
-	}
-
-	/**
-	 * @see IModelStateListener#modelAboutToBeChanged(IStructuredModel)
-	 */
-	public void modelAboutToBeChanged(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelChanged(IStructuredModel)
-	 */
-	public void modelChanged(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelDirtyStateChanged(IStructuredModel,
-	 *      boolean)
-	 */
-	public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelResourceDeleted(IStructuredModel)
-	 */
-	public void modelResourceDeleted(IStructuredModel model) {
-	}
-
-	/**
-	 * @see IModelStateListener#modelResourceMoved(IStructuredModel,
-	 *      IStructuredModel)
-	 */
-	public void modelResourceMoved(IStructuredModel oldModel, IStructuredModel newModel) {
-		stateNotifier.removeModelStateListener(this);
-		stateNotifier = newModel;
-		updateResolver(stateNotifier);
-		stateNotifier.addModelStateListener(this);
-	}
-
-	public void release() {
-		super.release();
-		if (stateNotifier != null)
-			stateNotifier.removeModelStateListener(this);
-		stateNotifier = null;
-		if (modelQueryAdapterImpl != null)
-			modelQueryAdapterImpl.release();
-	}
-
-	protected void updateResolver(IStructuredModel model) {
-		String baseLocation = model.getBaseLocation();
-		IFile baseFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(model.getBaseLocation()));
-		if(baseFile != null) {
-			baseLocation = baseFile.getLocation().toString();
-		}
-		modelQueryAdapterImpl.setIdResolver(new XMLCatalogIdResolver(baseLocation, model.getResolver()));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/ModelQueryUtil.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/ModelQueryUtil.java
deleted file mode 100644
index 61f8cd4..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/ModelQueryUtil.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.w3c.dom.Document;
-
-
-/**
- * This class is used to associate ModelQuery (and related data) with a
- * Document (or IStructuredModel).
- */
-public class ModelQueryUtil {
-
-	public static CMDocumentCache getCMDocumentCache(Document node) {
-		ModelQueryAdapter modelQueryAdapter = getModelQueryAdapter(node);
-		return modelQueryAdapter != null ? modelQueryAdapter.getCMDocumentCache() : null;
-	}
-
-	public static IdResolver getIdResolver(Document node) {
-		ModelQueryAdapter modelQueryAdapter = getModelQueryAdapter(node);
-		return modelQueryAdapter != null ? modelQueryAdapter.getIdResolver() : null;
-	}
-
-	public static ModelQuery getModelQuery(Document node) {
-		ModelQueryAdapter modelQueryAdapter = getModelQueryAdapter(node);
-		return modelQueryAdapter != null ? modelQueryAdapter.getModelQuery() : null;
-	}
-
-	public static ModelQuery getModelQuery(IStructuredModel model) {
-		if ((!(model instanceof XMLModel)) || model == null)
-			return null;
-		return getModelQuery(((XMLModel) model).getDocument());
-	}
-
-	public static ModelQueryAdapter getModelQueryAdapter(Document node) {
-		ModelQueryAdapter result = null;
-
-		if (node instanceof INodeNotifier) {
-			INodeNotifier notifier = (INodeNotifier) node;
-			result = (ModelQueryAdapter) notifier.getAdapterFor(ModelQueryAdapter.class);
-		}
-
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/XMLCatalogIdResolver.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/XMLCatalogIdResolver.java
deleted file mode 100644
index cc8da65..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/XMLCatalogIdResolver.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.modelquery;
-
-import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.xml.uriresolver.XMLCatalog;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogPlugin;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-
-public class XMLCatalogIdResolver implements IdResolver {
-	protected String resourceLocation;
-
-	protected URIResolver uriresolver;
-
-	public XMLCatalogIdResolver(String resourceLocation) {
-		this.resourceLocation = resourceLocation;
-	}
-
-	public XMLCatalogIdResolver(String resourceLocation, URIResolver uriresolver) {
-		this.resourceLocation = resourceLocation;
-		this.uriresolver = uriresolver;
-	}
-
-
-	/**
-	 * Gets the resourceLocation.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getResourceLocation() {
-		String location = resourceLocation;
-		if (location == null) {
-			if (uriresolver != null)
-				location = uriresolver.getFileBaseLocation();
-		}
-		return location;
-	}
-
-	/**
-	 * @deprecated in superclass
-	 */
-	public String resolveId(String publicId, String systemId) {
-		return resolveId(getResourceLocation(), publicId, systemId);
-	}
-
-	public String resolveId(String base, String publicId, String systemId) {
-		// first see if we can map the publicId to an alternative systemId
-		// note: should probably verify the mappedSystemId before ignoring the
-		// systemId
-		XMLCatalog xmlCatalog = XMLCatalogPlugin.getInstance().getDefaultXMLCatalog();
-		String mappedSystemId = xmlCatalog.getMappedSystemId(publicId, systemId);
-		if (mappedSystemId != null) {
-			systemId = mappedSystemId;
-		}
-
-		// normalize the systemId
-		boolean normalized = false;
-		// account for Web Projects and others where *any* string may legally
-		// resolve somehow
-		if (this.uriresolver != null && systemId != null) {
-			// check the provided URIResolver
-			String resolvedValue = this.uriresolver.getLocationByURI(systemId, base);
-			if (resolvedValue != null && resolvedValue.length() > 0) {
-				systemId = resolvedValue;
-				normalized = true;
-			}
-		}
-		if (!normalized) {
-			// no URIResolver available; ask the URIHelper directly
-			systemId = URIHelper.normalize(systemId, base, null);
-			normalized = true;
-		}
-		return systemId;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/XMLModelQueryAssociationProvider.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/XMLModelQueryAssociationProvider.java
deleted file mode 100644
index b5a55d6..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/XMLModelQueryAssociationProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.XMLAssociationProvider;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.w3c.dom.Document;
-
-/**
- * XMLModelQueryAssociationProvider
- */
-class XMLModelQueryAssociationProvider extends XMLAssociationProvider {
-
-	protected IdResolver idResolver;
-
-	public XMLModelQueryAssociationProvider(CMDocumentCache cache, IdResolver idResolver) {
-		super(cache);
-		this.idResolver = idResolver;
-	}
-
-	protected String resolveGrammarURI(Document document, String publicId, String systemId) {
-		return idResolver.resolveId(publicId, systemId);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/XMLModelQueryImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/XMLModelQueryImpl.java
deleted file mode 100644
index 1ac1c16..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelquery/XMLModelQueryImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.modelquery;
-
-
-
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.ModelQueryImpl;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.modelquery.MovableModelQuery;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-
-
-public class XMLModelQueryImpl extends ModelQueryImpl implements MovableModelQuery {
-
-	protected CMDocumentCache fCache = null;
-
-	public XMLModelQueryImpl(CMDocumentCache cache, IdResolver idResolver) {
-		super(new XMLModelQueryAssociationProvider(cache, idResolver));
-		fCache = cache;
-	}
-
-	/**
-	 * @see MovableModelQuery#setIdResolver(IdResolver)
-	 */
-	public void setIdResolver(IdResolver newIdResolver) {
-		modelQueryAssociationProvider = new XMLModelQueryAssociationProvider(fCache, newIdResolver);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/parser/XMLRegionContext.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/parser/XMLRegionContext.java
deleted file mode 100644
index d0b4204..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/parser/XMLRegionContext.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.parser;
-
-public interface XMLRegionContext {
-
-	public static final String BLOCK_TEXT = "BLOCK_TEXT"; //$NON-NLS-1$
-
-	public static final String UNDEFINED = "UNDEFINED"; //$NON-NLS-1$
-
-	public static final String WHITE_SPACE = "WHITE_SPACE"; //$NON-NLS-1$
-	public static final String XML_ATTLIST_DECL_CLOSE = "XML_ATTLIST_DECL_CLOSE"; //$NON-NLS-1$
-	public static final String XML_ATTLIST_DECL_CONTENT = "XML_ATTLIST_DECL_CONTENT"; //$NON-NLS-1$
-	public static final String XML_ATTLIST_DECL_NAME = "XML_ATTLIST_DECL_NAME"; //$NON-NLS-1$
-
-	public static final String XML_ATTLIST_DECLARATION = "XML_ATTLIST_DECLARATION"; //$NON-NLS-1$
-	public static final String XML_CDATA_CLOSE = "XML_CDATA_CLOSE"; //$NON-NLS-1$
-	public static final String XML_CDATA_OPEN = "XML_CDATA_OPEN"; //$NON-NLS-1$
-	public static final String XML_CDATA_TEXT = "XML_CDATA_TEXT"; //$NON-NLS-1$
-	public static final String XML_CHAR_REFERENCE = "XML_CHAR_REFERENCE"; //$NON-NLS-1$
-	public static final String XML_COMMENT_CLOSE = "XML_COMMENT_CLOSE"; //$NON-NLS-1$
-
-	public static final String XML_COMMENT_OPEN = "XML_COMMENT_OPEN"; //$NON-NLS-1$
-	public static final String XML_COMMENT_TEXT = "XML_COMMENT_TEXT"; //$NON-NLS-1$
-
-	public static final String XML_CONTENT = "XML_CONTENT"; //$NON-NLS-1$
-	public static final String XML_DECLARATION_CLOSE = "XML_DECLARATION_CLOSE"; //$NON-NLS-1$
-
-	public static final String XML_DECLARATION_OPEN = "XML_DECLARATION_OPEN"; //$NON-NLS-1$
-
-	public static final String XML_DOCTYPE_DECLARATION = "XML_DOCTYPE_DECLARATION"; //$NON-NLS-1$
-	public static final String XML_DOCTYPE_DECLARATION_CLOSE = "XML_DOCTYPE_DECLARATION_CLOSE"; //$NON-NLS-1$
-	public static final String XML_DOCTYPE_EXTERNAL_ID_PUBLIC = "XML_DOCTYPE_EXTERNAL_ID_PUBLIC"; //$NON-NLS-1$
-	public static final String XML_DOCTYPE_EXTERNAL_ID_PUBREF = "XML_DOCTYPE_EXTERNAL_ID_PUBREF"; //$NON-NLS-1$
-	public static final String XML_DOCTYPE_EXTERNAL_ID_SYSREF = "XML_DOCTYPE_EXTERNAL_ID_SYSREF"; //$NON-NLS-1$
-	public static final String XML_DOCTYPE_EXTERNAL_ID_SYSTEM = "XML_DOCTYPE_EXTERNAL_ID_SYSTEM"; //$NON-NLS-1$
-	public static final String XML_DOCTYPE_INTERNAL_SUBSET = "XML_DOCTYPE_INTERNAL_SUBSET"; //$NON-NLS-1$
-	public static final String XML_DOCTYPE_NAME = "XML_DOCTYPE_NAME"; //$NON-NLS-1$
-	public static final String XML_ELEMENT_DECL_CLOSE = "XML_ELEMENT_DECL_CLOSE"; //$NON-NLS-1$
-	public static final String XML_ELEMENT_DECL_CONTENT = "XML_ELEMENT_DECL_CONTENT"; //$NON-NLS-1$
-	public static final String XML_ELEMENT_DECL_NAME = "XML_ELEMENT_DECL_NAME"; //$NON-NLS-1$
-
-	public static final String XML_ELEMENT_DECLARATION = "XML_ELEMENT_DECLARATION"; //$NON-NLS-1$
-	public static final String XML_EMPTY_TAG_CLOSE = "XML_EMPTY_TAG_CLOSE"; //$NON-NLS-1$
-	public static final String XML_END_TAG_OPEN = "XML_END_TAG_OPEN"; //$NON-NLS-1$
-	public static final String XML_ENTITY_REFERENCE = "XML_ENTITY_REFERENCE"; //$NON-NLS-1$
-
-	public static final String XML_PE_REFERENCE = "XML_PE_REFERENCE"; //$NON-NLS-1$
-	public static final String XML_PI_CLOSE = "XML_PI_CLOSE"; //$NON-NLS-1$
-	public static final String XML_PI_CONTENT = "XML_PI_CONTENT"; //$NON-NLS-1$
-	public static final String XML_PI_OPEN = "XML_PI_OPEN"; //$NON-NLS-1$
-	public static final String XML_TAG_ATTRIBUTE_EQUALS = "XML_TAG_ATTRIBUTE_EQUALS"; //$NON-NLS-1$
-	public static final String XML_TAG_ATTRIBUTE_NAME = "XML_TAG_ATTRIBUTE_NAME"; //$NON-NLS-1$
-	public static final String XML_TAG_ATTRIBUTE_VALUE = "XML_TAG_ATTRIBUTE_VALUE"; //$NON-NLS-1$
-	public static final String XML_TAG_CLOSE = "XML_TAG_CLOSE"; //$NON-NLS-1$
-	public static final String XML_TAG_NAME = "XML_TAG_NAME"; //$NON-NLS-1$
-
-	public static final String XML_TAG_OPEN = "XML_TAG_OPEN"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/text/rules/StructuredTextPartitionerForXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/text/rules/StructuredTextPartitionerForXML.java
deleted file mode 100644
index 4716296..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/text/rules/StructuredTextPartitionerForXML.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.text.rules;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.wst.sse.core.internal.parser.ForeignRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.IStructuredTextPartitioner;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.xml.core.internal.parser.regions.BlockTextRegion;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class StructuredTextPartitionerForXML extends StructuredTextPartitioner implements IStructuredTextPartitioner {
-	public final static String ST_DEFAULT_XML = "org.eclipse.wst.xml.DEFAULT_XML"; //$NON-NLS-1$
-	public final static String ST_XML_CDATA = "org.eclipse.wst.xml.XML_CDATA"; //$NON-NLS-1$
-	public final static String ST_XML_PI = "org.eclipse.wst.xml.XML_PI"; //$NON-NLS-1$
-	public final static String ST_XML_DECLARATION = "org.eclipse.wst.xml.XML_DECL"; //$NON-NLS-1$
-	public final static String ST_XML_COMMENT = "org.eclipse.wst.xml.XML_COMMENT"; //$NON-NLS-1$
-
-	/**
-	 * Should match
-	 * org.eclipse.wst.sse.core.dtd.partitioning.StructuredTextPartitionerForDTD.ST_DTD_SUBSET
-	 */
-	public static final String ST_DTD_SUBSET = "org.eclipse.wst.xml.dtd.internal_subset"; //$NON-NLS-1$
-
-	private final static String[] configuredContentTypes = new String[]{ST_DEFAULT_XML, ST_XML_CDATA, ST_XML_PI, ST_XML_DECLARATION, ST_XML_COMMENT, ST_DTD_SUBSET};
-
-	/**
-	 * Constructor for JSPDocumentPartioner.
-	 */
-	public StructuredTextPartitionerForXML() {
-		super();
-	}
-
-	protected void setInternalPartition(int offset, int length, String type) {
-		super.setInternalPartition(offset, length, type);
-	}
-
-	protected void initLegalContentTypes() {
-		fSupportedTypes = configuredContentTypes;
-	}
-
-	/**
-	 * @see com.ibm.sed.model.StructuredTextPartitioner#getPartitionType(com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	public String getPartitionType(ITextRegion region, int offset) {
-		String result = null;
-		if (region.getType() == XMLRegionContext.XML_COMMENT_TEXT)
-			result = ST_XML_COMMENT;
-		else if (region.getType() == XMLRegionContext.XML_CDATA_TEXT)
-			result = ST_XML_CDATA;
-		else if (region.getType() == XMLRegionContext.XML_PI_OPEN)
-			result = ST_XML_PI;
-		else if (region.getType() == XMLRegionContext.XML_DOCTYPE_DECLARATION)
-			result = ST_XML_DECLARATION;
-		else if (region.getType() == XMLRegionContext.XML_DOCTYPE_INTERNAL_SUBSET)
-			result = ST_DTD_SUBSET;
-		else
-			result = super.getPartitionType(region, offset);
-		return result;
-	}
-
-	protected String getPartitionType(ForeignRegion region, int offset) {
-		// temp added just to dis-ambiguate call from subclass
-		return super.getPartitionType(region, offset);
-	}
-
-	/**
-	 * @see com.ibm.sed.structuredDocument.partition.IStructuredTextPartitioner#getPartitionTypeBetween(com.ibm.sed.structuredDocument.ITextRegion,
-	 *      com.ibm.sed.structuredDocument.ITextRegion)
-	 */
-	public String getPartitionTypeBetween(IStructuredDocumentRegion previousNode, ITextRegion previousStartTagNameRegion, IStructuredDocumentRegion nextNode, ITextRegion nextEndTagNameRegion) {
-		return super.getPartitionTypeBetween(previousNode, previousStartTagNameRegion, nextNode, nextEndTagNameRegion);
-	}
-
-	public String getDefault() {
-		return ST_DEFAULT_XML;
-	}
-
-	public IDocumentPartitioner newInstance() {
-		StructuredTextPartitionerForXML instance = new StructuredTextPartitionerForXML();
-		return instance;
-	}
-
-	/**
-	 * @return
-	 */
-	public static String[] getConfiguredContentTypes() {
-		return configuredContentTypes;
-	}
-
-	protected String getPartitionFromBlockedText(ITextRegion region, int offset, String result) {
-		// was moved to subclass for quick transition
-		String newResult = result;
-		// nsd_TODO: David and I need to discuss, design, and implement this
-		// for all block tags and comments
-		// and make sure is part of "extensible" design of block tags
-		if (region.getType() == XMLRegionContext.BLOCK_TEXT) {
-			// for code safety, we'll always check instanceof, but I think
-			// always true.
-			if (region instanceof BlockTextRegion) {
-				// super is used below so won't be ambiguous
-				newResult = getPartitionType((BlockTextRegion) region, offset);
-			} else if (region instanceof ForeignRegion) {
-				newResult = getPartitionType((ForeignRegion) region, offset);
-			} else {
-				newResult = getUnknown();
-			}
-		}
-		return newResult;
-	}
-
-	protected boolean doParserSpecificCheck(int offset, boolean partitionFound, IStructuredDocumentRegion sdRegion, IStructuredDocumentRegion previousStructuredDocumentRegion, ITextRegion next, ITextRegion previousStart) {
-		// this was moved down to subclass of StructuredTextPartioner
-		// for quick fix to transition problems. Heirarchy needs lots of
-		// cleanup.
-		if (previousStart != null && previousStart.getType() == XMLRegionContext.XML_TAG_OPEN && next.getType() == XMLRegionContext.XML_END_TAG_OPEN) {
-			ITextRegion previousName = previousStructuredDocumentRegion.getRegionAtCharacterOffset(previousStructuredDocumentRegion.getEndOffset(previousStart));
-			ITextRegion nextName = sdRegion.getRegionAtCharacterOffset(sdRegion.getEndOffset(next));
-			if (previousName != null && nextName != null && previousName.getType() == XMLRegionContext.XML_TAG_NAME && nextName.getType() == XMLRegionContext.XML_TAG_NAME) {
-				setInternalPartition(offset, 0, getPartitionTypeBetween(previousStructuredDocumentRegion, previousName, sdRegion, nextName));
-				partitionFound = true;
-			}
-		}
-		return partitionFound;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/COPYRIGHT.html b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/COPYRIGHT.html
deleted file mode 100644
index 26049b7..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/COPYRIGHT.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
-                      "http://www.w3.org/TR/REC-html40/loose.dtd">
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-    <title>W3C IPR SOFTWARE NOTICE</title>
-  </head>
-  <body bgcolor="#FFFFFF" text="#000000">
-    <h1>
-      W3C IPR SOFTWARE NOTICE
-    </h1>
-    <h3>
-      Copyright &copy; 2000 <loc href="http://www.w3.org/">World Wide Web
-      Consortium</loc>, (<loc href="http://www.lcs.mit.edu/">Massachusetts
-      Institute of Technology</loc>, <loc href="http://www.inria.fr/">Institut
-      National de Recherche en Informatique et en Automatique</loc>, <loc
-      href="http://www.keio.ac.jp/">Keio University</loc>). All Rights
-      Reserved.
-    </h3>
-    <p>
-      The DOM bindings are published under the W3C Software Copyright Notice
-      and License. The software license requires "Notice of any changes or
-      modifications to the W3C files, including the date changes were made."
-      Consequently, modified versions of the DOM bindings must document that
-      they do not conform to the W3C standard; in the case of the IDL binding,
-      the pragma prefix can no longer be 'w3c.org'; in the case of the Java
-      binding, the package names can no longer be in the 'org.w3c' package.
-    </p>
-    <p>
-      <b>Note:</b> The original version of the W3C Software Copyright Notice
-      and License could be found at <a
-      href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>http://www.w3.org/Consortium/Legal/copyright-software-19980720</a>
-    </p>
-    <h3>
-      Copyright &copy; 1994-2000 <a href="http://www.w3.org/">World Wide Web
-      Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
-      Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
-      National de Recherche en Informatique et en Automatique</a>, <a
-      href="http://www.keio.ac.jp/">Keio University</a>). All Rights
-      Reserved. http://www.w3.org/Consortium/Legal/
-    </h3>
-    <p>
-      This W3C work (including software, documents, or other related items) is
-      being provided by the copyright holders under the following license. By
-      obtaining, using and/or copying this work, you (the licensee) agree that
-      you have read, understood, and will comply with the following terms and
-      conditions:
-    </p>
-    <p>
-      Permission to use, copy, and modify this software and its documentation,
-      with or without modification,&nbsp; for any purpose and without fee or
-      royalty is hereby granted, provided that you include the following on ALL
-      copies of the software and documentation or portions thereof, including
-      modifications, that you make:
-    </p>
-    <ol>
-      <li>
-	The full text of this NOTICE in a location viewable to users of the
-	redistributed or derivative work.
-      </li>
-      <li>
-	Any pre-existing intellectual property disclaimers, notices, or terms
-	and conditions. If none exist, a short notice of the following form
-	(hypertext is preferred, text is permitted) should be used within the
-	body of any redistributed or derivative code: "Copyright &copy;
-	[$date-of-software] <a href="http://www.w3.org/">World Wide Web
-	Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
-	Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
-	National de Recherche en Informatique et en Automatique</a>, <a
-	href="http://www.keio.ac.jp/">Keio University</a>).  All Rights
-	Reserved. http://www.w3.org/Consortium/Legal/"
-      </li>
-      <li>
-	Notice of any changes or modifications to the W3C files, including the
-	date changes were made. (We recommend you provide URIs to the location
-	from which the code is derived.)
-      </li>
-    </ol>
-    <p>
-      THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
-      HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
-      INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
-      FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
-      DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
-      TRADEMARKS OR OTHER RIGHTS.
-    </p>
-    <p>
-      COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
-      CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
-      DOCUMENTATION.
-    </p>
-    <p>
-      The name and trademarks of copyright holders may NOT be used in
-      advertising or publicity pertaining to the software without specific,
-      written prior permission. Title to copyright in this software and any
-      associated documentation will at all times remain with copyright
-      holders.
-    </p>
-  </body>
-</html>
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/DocumentRange.java b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/DocumentRange.java
deleted file mode 100644
index e40d080..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/DocumentRange.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.w3c.dom.ranges;
-
-/**
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document
- * Object Model (DOM) Level 2 Traversal and Range Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface DocumentRange {
-	/**
-	 * This interface can be obtained from the object implementing the
-	 * <code>Document</code> interface using binding-specific casting
-	 * methods.
-	 * 
-	 * @return The initial state of the Range returned from this method is
-	 *         such that both of its boundary-points are positioned at the
-	 *         beginning of the corresponding Document, before any content.
-	 *         The Range returned can only be used to select content
-	 *         associated with this Document, or with DocumentFragments and
-	 *         Attrs for which this Document is the <code>ownerDocument</code>.
-	 */
-	public Range createRange();
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/Range.java b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/Range.java
deleted file mode 100644
index 63c3665..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/Range.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.w3c.dom.ranges;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Node;
-
-/**
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document
- * Object Model (DOM) Level 2 Traversal and Range Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface Range {
-	/**
-	 * Compare end boundary-point of <code>sourceRange</code> to end
-	 * boundary-point of Range on which <code>compareBoundaryPoints</code>
-	 * is invoked.
-	 */
-	public static final short END_TO_END = 2;
-	/**
-	 * Compare end boundary-point of <code>sourceRange</code> to start
-	 * boundary-point of Range on which <code>compareBoundaryPoints</code>
-	 * is invoked.
-	 */
-	public static final short END_TO_START = 3;
-	/**
-	 * Compare start boundary-point of <code>sourceRange</code> to end
-	 * boundary-point of Range on which <code>compareBoundaryPoints</code>
-	 * is invoked.
-	 */
-	public static final short START_TO_END = 1;
-
-	// CompareHow
-	/**
-	 * Compare start boundary-point of <code>sourceRange</code> to start
-	 * boundary-point of Range on which <code>compareBoundaryPoints</code>
-	 * is invoked.
-	 */
-	public static final short START_TO_START = 0;
-
-	/**
-	 * Duplicates the contents of a Range
-	 * 
-	 * @return A DocumentFragment that contains content equivalent to this
-	 *         Range.
-	 * @exception DOMException
-	 *                HIERARCHY_REQUEST_ERR: Raised if a DocumentType node
-	 *                would be extracted into the new DocumentFragment. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public DocumentFragment cloneContents() throws DOMException;
-
-	/**
-	 * Produces a new Range whose boundary-points are equal to the
-	 * boundary-points of the Range.
-	 * 
-	 * @return The duplicated Range.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public Range cloneRange() throws DOMException;
-
-	/**
-	 * Collapse a Range onto one of its boundary-points
-	 * 
-	 * @param toStartIf
-	 *            TRUE, collapses the Range onto its start; if FALSE,
-	 *            collapses it onto its end.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void collapse(boolean toStart) throws DOMException;
-
-	/**
-	 * Compare the boundary-points of two Ranges in a document.
-	 * 
-	 * @param howA
-	 *            code representing the type of comparison, as defined above.
-	 * @param sourceRangeThe
-	 *            <code>Range</code> on which this current
-	 *            <code>Range</code> is compared to.
-	 * @return -1, 0 or 1 depending on whether the corresponding
-	 *         boundary-point of the Range is respectively before, equal to,
-	 *         or after the corresponding boundary-point of
-	 *         <code>sourceRange</code>.
-	 * @exception DOMException
-	 *                WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in
-	 *                the same Document or DocumentFragment. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public short compareBoundaryPoints(short how, Range sourceRange) throws DOMException;
-
-	/**
-	 * Removes the contents of a Range from the containing document or
-	 * document fragment without returning a reference to the removed content.
-	 * 
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of
-	 *                the content of the Range is read-only or any of the
-	 *                nodes that contain any of the content of the Range are
-	 *                read-only. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void deleteContents() throws DOMException;
-
-	/**
-	 * Called to indicate that the Range is no longer in use and that the
-	 * implementation may relinquish any resources associated with this Range.
-	 * Subsequent calls to any methods or attribute getters on this Range will
-	 * result in a <code>DOMException</code> being thrown with an error code
-	 * of <code>INVALID_STATE_ERR</code>.
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void detach() throws DOMException;
-
-	/**
-	 * Moves the contents of a Range from the containing document or document
-	 * fragment to a new DocumentFragment.
-	 * 
-	 * @return A DocumentFragment containing the extracted contents.
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of
-	 *                the content of the Range is read-only or any of the
-	 *                nodes which contain any of the content of the Range are
-	 *                read-only. <br>
-	 *                HIERARCHY_REQUEST_ERR: Raised if a DocumentType node
-	 *                would be extracted into the new DocumentFragment. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public DocumentFragment extractContents() throws DOMException;
-
-	/**
-	 * TRUE if the Range is collapsed
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public boolean getCollapsed() throws DOMException;
-
-	/**
-	 * The deepest common ancestor container of the Range's two
-	 * boundary-points.
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public Node getCommonAncestorContainer() throws DOMException;
-
-	/**
-	 * Node within which the Range ends
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public Node getEndContainer() throws DOMException;
-
-	/**
-	 * Offset within the ending node of the Range.
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public int getEndOffset() throws DOMException;
-
-	/**
-	 * Node within which the Range begins
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public Node getStartContainer() throws DOMException;
-
-	/**
-	 * Offset within the starting node of the Range.
-	 * 
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public int getStartOffset() throws DOMException;
-
-	/**
-	 * Inserts a node into the Document or DocumentFragment at the start of
-	 * the Range. If the container is a Text node, this will be split at the
-	 * start of the Range (as if the Text node's splitText method was
-	 * performed at the insertion point) and the insertion will occur between
-	 * the two resulting Text nodes. Adjacent Text nodes will not be
-	 * automatically merged. If the node to be inserted is a DocumentFragment
-	 * node, the children will be inserted rather than the DocumentFragment
-	 * node itself.
-	 * 
-	 * @param newNodeThe
-	 *            node to insert at the start of the Range
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor
-	 *                container of the start of the Range is read-only. <br>
-	 *                WRONG_DOCUMENT_ERR: Raised if <code>newNode</code> and
-	 *                the container of the start of the Range were not created
-	 *                from the same document. <br>
-	 *                HIERARCHY_REQUEST_ERR: Raised if the container of the
-	 *                start of the Range is of a type that does not allow
-	 *                children of the type of <code>newNode</code> or if
-	 *                <code>newNode</code> is an ancestor of the container.
-	 *                <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code>newNode</code>
-	 *                is an Attr, Entity, Notation, or Document node.
-	 */
-	public void insertNode(Node newNode) throws DOMException, RangeException;
-
-	/**
-	 * Select a node and its contents
-	 * 
-	 * @param refNodeThe
-	 *            node to select.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if an ancestor of
-	 *                <code>refNode</code> is an Entity, Notation or
-	 *                DocumentType node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void selectNode(Node refNode) throws RangeException, DOMException;
-
-	/**
-	 * Select the contents within a node
-	 * 
-	 * @param refNodeNode
-	 *            to select from
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code>
-	 *                or an ancestor of <code>refNode</code> is an Entity,
-	 *                Notation or DocumentType node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void selectNodeContents(Node refNode) throws RangeException, DOMException;
-
-	/**
-	 * Sets the attributes describing the end of a Range.
-	 * 
-	 * @param refNodeThe
-	 *            <code>refNode</code> value. This parameter must be
-	 *            different from <code>null</code>.
-	 * @param offsetThe
-	 *            <code>endOffset</code> value.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code>
-	 *                or an ancestor of <code>refNode</code> is an Entity,
-	 *                Notation, or DocumentType node.
-	 * @exception DOMException
-	 *                INDEX_SIZE_ERR: Raised if <code>offset</code> is
-	 *                negative or greater than the number of child units in
-	 *                <code>refNode</code>. Child units are 16-bit units if
-	 *                <code>refNode</code> is a type of CharacterData node
-	 *                (e.g., a Text or Comment node) or a
-	 *                ProcessingInstruction node. Child units are Nodes in all
-	 *                other cases. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setEnd(Node refNode, int offset) throws RangeException, DOMException;
-
-	/**
-	 * Sets the end of a Range to be after a node
-	 * 
-	 * @param refNodeRange
-	 *            ends after <code>refNode</code>.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if the root container of
-	 *                <code>refNode</code> is not an Attr, Document or
-	 *                DocumentFragment node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setEndAfter(Node refNode) throws RangeException, DOMException;
-
-	/**
-	 * Sets the end position to be before a node.
-	 * 
-	 * @param refNodeRange
-	 *            ends before <code>refNode</code>
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if the root container of
-	 *                <code>refNode</code> is not an Attr, Document, or
-	 *                DocumentFragment node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setEndBefore(Node refNode) throws RangeException, DOMException;
-
-	/**
-	 * Sets the attributes describing the start of the Range.
-	 * 
-	 * @param refNodeThe
-	 *            <code>refNode</code> value. This parameter must be
-	 *            different from <code>null</code>.
-	 * @param offsetThe
-	 *            <code>startOffset</code> value.
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code>
-	 *                or an ancestor of <code>refNode</code> is an Entity,
-	 *                Notation, or DocumentType node.
-	 * @exception DOMException
-	 *                INDEX_SIZE_ERR: Raised if <code>offset</code> is
-	 *                negative or greater than the number of child units in
-	 *                <code>refNode</code>. Child units are 16-bit units if
-	 *                <code>refNode</code> is a type of CharacterData node
-	 *                (e.g., a Text or Comment node) or a
-	 *                ProcessingInstruction node. Child units are Nodes in all
-	 *                other cases. <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setStart(Node refNode, int offset) throws RangeException, DOMException;
-
-	/**
-	 * Sets the start position to be after a node
-	 * 
-	 * @param refNodeRange
-	 *            starts after <code>refNode</code>
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if the root container of
-	 *                <code>refNode</code> is not an Attr, Document, or
-	 *                DocumentFragment node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setStartAfter(Node refNode) throws RangeException, DOMException;
-
-	/**
-	 * Sets the start position to be before a node
-	 * 
-	 * @param refNodeRange
-	 *            starts before <code>refNode</code>
-	 * @exception RangeException
-	 *                INVALID_NODE_TYPE_ERR: Raised if the root container of
-	 *                <code>refNode</code> is not an Attr, Document, or
-	 *                DocumentFragment node or if <code>refNode</code> is a
-	 *                Document, DocumentFragment, Attr, Entity, or Notation
-	 *                node.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public void setStartBefore(Node refNode) throws RangeException, DOMException;
-
-	/**
-	 * Reparents the contents of the Range to the given node and inserts the
-	 * node at the position of the start of the Range.
-	 * 
-	 * @param newParentThe
-	 *            node to surround the contents with.
-	 * @exception DOMException
-	 *                NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor
-	 *                container of either boundary-point of the Range is
-	 *                read-only. <br>
-	 *                WRONG_DOCUMENT_ERR: Raised if <code> newParent</code>
-	 *                and the container of the start of the Range were not
-	 *                created from the same document. <br>
-	 *                HIERARCHY_REQUEST_ERR: Raised if the container of the
-	 *                start of the Range is of a type that does not allow
-	 *                children of the type of <code>newParent</code> or if
-	 *                <code>newParent</code> is an ancestor of the container
-	 *                or if <code>node</code> would end up with a child node
-	 *                of a type not allowed by the type of <code>node</code>.
-	 *                <br>
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 * @exception RangeException
-	 *                BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially
-	 *                selects a non-text node. <br>
-	 *                INVALID_NODE_TYPE_ERR: Raised if <code> node</code> is
-	 *                an Attr, Entity, DocumentType, Notation, Document, or
-	 *                DocumentFragment node.
-	 */
-	public void surroundContents(Node newParent) throws DOMException, RangeException;
-
-	/**
-	 * Returns the contents of a Range as a string. This string contains only
-	 * the data characters, not any markup.
-	 * 
-	 * @return The contents of the Range.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if <code>detach()</code> has
-	 *                already been invoked on this object.
-	 */
-	public String toString() throws DOMException;
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/RangeException.java b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/RangeException.java
deleted file mode 100644
index aea5f49..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/RangeException.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.w3c.dom.ranges;
-
-/**
- * Range operations may throw a <code>RangeException</code> as specified in
- * their method descriptions.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document
- * Object Model (DOM) Level 2 Traversal and Range Specification </a>.
- * 
- * @since DOM Level 2
- */
-public class RangeException extends RuntimeException {
-	/**
-	 * Default <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 1L;
-	// RangeExceptionCode
-	/**
-	 * If the boundary-points of a Range do not meet specific requirements.
-	 */
-	public static final short BAD_BOUNDARYPOINTS_ERR = 1;
-	/**
-	 * If the container of an boundary-point of a Range is being set to either
-	 * a node of an invalid type or a node with an ancestor of an invalid
-	 * type.
-	 */
-	public static final short INVALID_NODE_TYPE_ERR = 2;
-
-	public short code;
-
-	public RangeException(short code, String message) {
-		super(message);
-		this.code = code;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/package.html b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/package.html
deleted file mode 100644
index d8fbae6..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/ranges/package.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html>
-This package contains unmodified sources provided by http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/java-binding.zip
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/COPYRIGHT.html b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/COPYRIGHT.html
deleted file mode 100644
index 26049b7..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/COPYRIGHT.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
-                      "http://www.w3.org/TR/REC-html40/loose.dtd">
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-    <title>W3C IPR SOFTWARE NOTICE</title>
-  </head>
-  <body bgcolor="#FFFFFF" text="#000000">
-    <h1>
-      W3C IPR SOFTWARE NOTICE
-    </h1>
-    <h3>
-      Copyright &copy; 2000 <loc href="http://www.w3.org/">World Wide Web
-      Consortium</loc>, (<loc href="http://www.lcs.mit.edu/">Massachusetts
-      Institute of Technology</loc>, <loc href="http://www.inria.fr/">Institut
-      National de Recherche en Informatique et en Automatique</loc>, <loc
-      href="http://www.keio.ac.jp/">Keio University</loc>). All Rights
-      Reserved.
-    </h3>
-    <p>
-      The DOM bindings are published under the W3C Software Copyright Notice
-      and License. The software license requires "Notice of any changes or
-      modifications to the W3C files, including the date changes were made."
-      Consequently, modified versions of the DOM bindings must document that
-      they do not conform to the W3C standard; in the case of the IDL binding,
-      the pragma prefix can no longer be 'w3c.org'; in the case of the Java
-      binding, the package names can no longer be in the 'org.w3c' package.
-    </p>
-    <p>
-      <b>Note:</b> The original version of the W3C Software Copyright Notice
-      and License could be found at <a
-      href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>http://www.w3.org/Consortium/Legal/copyright-software-19980720</a>
-    </p>
-    <h3>
-      Copyright &copy; 1994-2000 <a href="http://www.w3.org/">World Wide Web
-      Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
-      Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
-      National de Recherche en Informatique et en Automatique</a>, <a
-      href="http://www.keio.ac.jp/">Keio University</a>). All Rights
-      Reserved. http://www.w3.org/Consortium/Legal/
-    </h3>
-    <p>
-      This W3C work (including software, documents, or other related items) is
-      being provided by the copyright holders under the following license. By
-      obtaining, using and/or copying this work, you (the licensee) agree that
-      you have read, understood, and will comply with the following terms and
-      conditions:
-    </p>
-    <p>
-      Permission to use, copy, and modify this software and its documentation,
-      with or without modification,&nbsp; for any purpose and without fee or
-      royalty is hereby granted, provided that you include the following on ALL
-      copies of the software and documentation or portions thereof, including
-      modifications, that you make:
-    </p>
-    <ol>
-      <li>
-	The full text of this NOTICE in a location viewable to users of the
-	redistributed or derivative work.
-      </li>
-      <li>
-	Any pre-existing intellectual property disclaimers, notices, or terms
-	and conditions. If none exist, a short notice of the following form
-	(hypertext is preferred, text is permitted) should be used within the
-	body of any redistributed or derivative code: "Copyright &copy;
-	[$date-of-software] <a href="http://www.w3.org/">World Wide Web
-	Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
-	Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
-	National de Recherche en Informatique et en Automatique</a>, <a
-	href="http://www.keio.ac.jp/">Keio University</a>).  All Rights
-	Reserved. http://www.w3.org/Consortium/Legal/"
-      </li>
-      <li>
-	Notice of any changes or modifications to the W3C files, including the
-	date changes were made. (We recommend you provide URIs to the location
-	from which the code is derived.)
-      </li>
-    </ol>
-    <p>
-      THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
-      HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
-      INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
-      FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
-      DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
-      TRADEMARKS OR OTHER RIGHTS.
-    </p>
-    <p>
-      COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
-      CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
-      DOCUMENTATION.
-    </p>
-    <p>
-      The name and trademarks of copyright holders may NOT be used in
-      advertising or publicity pertaining to the software without specific,
-      written prior permission. Title to copyright in this software and any
-      associated documentation will at all times remain with copyright
-      holders.
-    </p>
-  </body>
-</html>
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/DocumentTraversal.java b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/DocumentTraversal.java
deleted file mode 100644
index dec9331..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/DocumentTraversal.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.w3c.dom.traversal;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-
-/**
- * <code>DocumentTraversal</code> contains methods that create iterators and
- * tree-walkers to traverse a node and its children in document order (depth
- * first, pre-order traversal, which is equivalent to the order in which the
- * start tags occur in the text representation of the document). In DOMs which
- * support the Traversal feature, <code>DocumentTraversal</code> will be
- * implemented by the same objects that implement the Document interface.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document
- * Object Model (DOM) Level 2 Traversal and Range Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface DocumentTraversal {
-	/**
-	 * Create a new <code>NodeIterator</code> over the subtree rooted at the
-	 * specified node.
-	 * 
-	 * @param rootThe
-	 *            node which will be iterated together with its children. The
-	 *            iterator is initially positioned just before this node. The
-	 *            <code>whatToShow</code> flags and the filter, if any, are
-	 *            not considered when setting this position. The root must not
-	 *            be <code>null</code>.
-	 * @param whatToShowThis
-	 *            flag specifies which node types may appear in the logical
-	 *            view of the tree presented by the iterator. See the
-	 *            description of <code>NodeFilter</code> for the set of
-	 *            possible <code>SHOW_</code> values.These flags can be
-	 *            combined using <code>OR</code>.
-	 * @param filterThe
-	 *            <code>NodeFilter</code> to be used with this
-	 *            <code>TreeWalker</code>, or <code>null</code> to
-	 *            indicate no filter.
-	 * @param entityReferenceExpansionThe
-	 *            value of this flag determines whether entity reference nodes
-	 *            are expanded.
-	 * @return The newly created <code>NodeIterator</code>.
-	 * @exception DOMException
-	 *                NOT_SUPPORTED_ERR: Raised if the specified
-	 *                <code>root</code> is <code>null</code>.
-	 */
-	public NodeIterator createNodeIterator(Node root, int whatToShow, NodeFilter filter, boolean entityReferenceExpansion) throws DOMException;
-
-	/**
-	 * Create a new <code>TreeWalker</code> over the subtree rooted at the
-	 * specified node.
-	 * 
-	 * @param rootThe
-	 *            node which will serve as the <code>root</code> for the
-	 *            <code>TreeWalker</code>. The <code>whatToShow</code>
-	 *            flags and the <code>NodeFilter</code> are not considered
-	 *            when setting this value; any node type will be accepted as
-	 *            the <code>root</code>. The <code>currentNode</code> of
-	 *            the <code>TreeWalker</code> is initialized to this node,
-	 *            whether or not it is visible. The <code>root</code>
-	 *            functions as a stopping point for traversal methods that
-	 *            look upward in the document structure, such as
-	 *            <code>parentNode</code> and nextNode. The
-	 *            <code>root</code> must not be <code>null</code>.
-	 * @param whatToShowThis
-	 *            flag specifies which node types may appear in the logical
-	 *            view of the tree presented by the tree-walker. See the
-	 *            description of <code>NodeFilter</code> for the set of
-	 *            possible SHOW_ values.These flags can be combined using
-	 *            <code>OR</code>.
-	 * @param filterThe
-	 *            <code>NodeFilter</code> to be used with this
-	 *            <code>TreeWalker</code>, or <code>null</code> to
-	 *            indicate no filter.
-	 * @param entityReferenceExpansionIf
-	 *            this flag is false, the contents of
-	 *            <code>EntityReference</code> nodes are not presented in
-	 *            the logical view.
-	 * @return The newly created <code>TreeWalker</code>.
-	 * @exception DOMException
-	 *                NOT_SUPPORTED_ERR: Raised if the specified
-	 *                <code>root</code> is <code>null</code>.
-	 */
-	public TreeWalker createTreeWalker(Node root, int whatToShow, NodeFilter filter, boolean entityReferenceExpansion) throws DOMException;
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/NodeFilter.java b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/NodeFilter.java
deleted file mode 100644
index 48c746a..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/NodeFilter.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.w3c.dom.traversal;
-
-import org.w3c.dom.Node;
-
-/**
- * Filters are objects that know how to "filter out" nodes. If a
- * <code>NodeIterator</code> or <code>TreeWalker</code> is given a
- * <code>NodeFilter</code>, it applies the filter before it returns the
- * next node. If the filter says to accept the node, the traversal logic
- * returns it; otherwise, traversal looks for the next node and pretends that
- * the node that was rejected was not there.
- * <p>
- * The DOM does not provide any filters. <code>NodeFilter</code> is just an
- * interface that users can implement to provide their own filters.
- * <p>
- * <code>NodeFilters</code> do not need to know how to traverse from node to
- * node, nor do they need to know anything about the data structure that is
- * being traversed. This makes it very easy to write filters, since the only
- * thing they have to know how to do is evaluate a single node. One filter may
- * be used with a number of different kinds of traversals, encouraging code
- * reuse.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document
- * Object Model (DOM) Level 2 Traversal and Range Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface NodeFilter {
-	// Constants returned by acceptNode
-	/**
-	 * Accept the node. Navigation methods defined for
-	 * <code>NodeIterator</code> or <code>TreeWalker</code> will return
-	 * this node.
-	 */
-	public static final short FILTER_ACCEPT = 1;
-	/**
-	 * Reject the node. Navigation methods defined for
-	 * <code>NodeIterator</code> or <code>TreeWalker</code> will not
-	 * return this node. For <code>TreeWalker</code>, the children of this
-	 * node will also be rejected. <code>NodeIterators</code> treat this as
-	 * a synonym for <code>FILTER_SKIP</code>.
-	 */
-	public static final short FILTER_REJECT = 2;
-	/**
-	 * Skip this single node. Navigation methods defined for
-	 * <code>NodeIterator</code> or <code>TreeWalker</code> will not
-	 * return this node. For both <code>NodeIterator</code> and
-	 * <code>TreeWalker</code>, the children of this node will still be
-	 * considered.
-	 */
-	public static final short FILTER_SKIP = 3;
-
-	// Constants for whatToShow
-	/**
-	 * Show all <code>Nodes</code>.
-	 */
-	public static final int SHOW_ALL = 0xFFFFFFFF;
-	/**
-	 * Show <code>Element</code> nodes.
-	 */
-	public static final int SHOW_ELEMENT = 0x00000001;
-	/**
-	 * Show <code>Attr</code> nodes. This is meaningful only when creating
-	 * an iterator or tree-walker with an attribute node as its
-	 * <code>root</code>; in this case, it means that the attribute node
-	 * will appear in the first position of the iteration or traversal. Since
-	 * attributes are never children of other nodes, they do not appear when
-	 * traversing over the document tree.
-	 */
-	public static final int SHOW_ATTRIBUTE = 0x00000002;
-	/**
-	 * Show <code>Text</code> nodes.
-	 */
-	public static final int SHOW_TEXT = 0x00000004;
-	/**
-	 * Show <code>CDATASection</code> nodes.
-	 */
-	public static final int SHOW_CDATA_SECTION = 0x00000008;
-	/**
-	 * Show <code>EntityReference</code> nodes.
-	 */
-	public static final int SHOW_ENTITY_REFERENCE = 0x00000010;
-	/**
-	 * Show <code>Entity</code> nodes. This is meaningful only when creating
-	 * an iterator or tree-walker with an <code> Entity</code> node as its
-	 * <code>root</code>; in this case, it means that the
-	 * <code>Entity</code> node will appear in the first position of the
-	 * traversal. Since entities are not part of the document tree, they do
-	 * not appear when traversing over the document tree.
-	 */
-	public static final int SHOW_ENTITY = 0x00000020;
-	/**
-	 * Show <code>ProcessingInstruction</code> nodes.
-	 */
-	public static final int SHOW_PROCESSING_INSTRUCTION = 0x00000040;
-	/**
-	 * Show <code>Comment</code> nodes.
-	 */
-	public static final int SHOW_COMMENT = 0x00000080;
-	/**
-	 * Show <code>Document</code> nodes.
-	 */
-	public static final int SHOW_DOCUMENT = 0x00000100;
-	/**
-	 * Show <code>DocumentType</code> nodes.
-	 */
-	public static final int SHOW_DOCUMENT_TYPE = 0x00000200;
-	/**
-	 * Show <code>DocumentFragment</code> nodes.
-	 */
-	public static final int SHOW_DOCUMENT_FRAGMENT = 0x00000400;
-	/**
-	 * Show <code>Notation</code> nodes. This is meaningful only when
-	 * creating an iterator or tree-walker with a <code>Notation</code> node
-	 * as its <code>root</code>; in this case, it means that the
-	 * <code>Notation</code> node will appear in the first position of the
-	 * traversal. Since notations are not part of the document tree, they do
-	 * not appear when traversing over the document tree.
-	 */
-	public static final int SHOW_NOTATION = 0x00000800;
-
-	/**
-	 * Test whether a specified node is visible in the logical view of a
-	 * <code>TreeWalker</code> or <code>NodeIterator</code>. This
-	 * function will be called by the implementation of
-	 * <code>TreeWalker</code> and <code>NodeIterator</code>; it is not
-	 * normally called directly from user code. (Though you could do so if you
-	 * wanted to use the same filter to guide your own application logic.)
-	 * 
-	 * @param nThe
-	 *            node to check to see if it passes the filter or not.
-	 * @return a constant to determine whether the node is accepted, rejected,
-	 *         or skipped, as defined above.
-	 */
-	public short acceptNode(Node n);
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/NodeIterator.java b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/NodeIterator.java
deleted file mode 100644
index b34a39c..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/NodeIterator.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.w3c.dom.traversal;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-
-/**
- * <code>Iterators</code> are used to step through a set of nodes, e.g. the
- * set of nodes in a <code>NodeList</code>, the document subtree governed
- * by a particular <code>Node</code>, the results of a query, or any other
- * set of nodes. The set of nodes to be iterated is determined by the
- * implementation of the <code>NodeIterator</code>. DOM Level 2 specifies a
- * single <code>NodeIterator</code> implementation for document-order
- * traversal of a document subtree. Instances of these iterators are created
- * by calling <code>DocumentTraversal</code>
- * <code>.createNodeIterator()</code>.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document
- * Object Model (DOM) Level 2 Traversal and Range Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface NodeIterator {
-	/**
-	 * The root node of the <code>NodeIterator</code>, as specified when it
-	 * was created.
-	 */
-	public Node getRoot();
-
-	/**
-	 * This attribute determines which node types are presented via the
-	 * iterator. The available set of constants is defined in the
-	 * <code>NodeFilter</code> interface. Nodes not accepted by
-	 * <code>whatToShow</code> will be skipped, but their children may still
-	 * be considered. Note that this skip takes precedence over the filter, if
-	 * any.
-	 */
-	public int getWhatToShow();
-
-	/**
-	 * The <code>NodeFilter</code> used to screen nodes.
-	 */
-	public NodeFilter getFilter();
-
-	/**
-	 * The value of this flag determines whether the children of entity
-	 * reference nodes are visible to the iterator. If false, they and their
-	 * descendants will be rejected. Note that this rejection takes precedence
-	 * over <code>whatToShow</code> and the filter. Also note that this is
-	 * currently the only situation where <code>NodeIterators</code> may
-	 * reject a complete subtree rather than skipping individual nodes. <br>
-	 * <br>
-	 * To produce a view of the document that has entity references expanded
-	 * and does not expose the entity reference node itself, use the
-	 * <code>whatToShow</code> flags to hide the entity reference node and
-	 * set <code>expandEntityReferences</code> to true when creating the
-	 * iterator. To produce a view of the document that has entity reference
-	 * nodes but no entity expansion, use the <code>whatToShow</code> flags
-	 * to show the entity reference node and set
-	 * <code>expandEntityReferences</code> to false.
-	 */
-	public boolean getExpandEntityReferences();
-
-	/**
-	 * Returns the next node in the set and advances the position of the
-	 * iterator in the set. After a <code>NodeIterator</code> is created,
-	 * the first call to <code>nextNode()</code> returns the first node in
-	 * the set.
-	 * 
-	 * @return The next <code>Node</code> in the set being iterated over, or
-	 *         <code>null</code> if there are no more members in that set.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if this method is called after
-	 *                the <code>detach</code> method was invoked.
-	 */
-	public Node nextNode() throws DOMException;
-
-	/**
-	 * Returns the previous node in the set and moves the position of the
-	 * <code>NodeIterator</code> backwards in the set.
-	 * 
-	 * @return The previous <code>Node</code> in the set being iterated
-	 *         over, or <code>null</code> if there are no more members in
-	 *         that set.
-	 * @exception DOMException
-	 *                INVALID_STATE_ERR: Raised if this method is called after
-	 *                the <code>detach</code> method was invoked.
-	 */
-	public Node previousNode() throws DOMException;
-
-	/**
-	 * Detaches the <code>NodeIterator</code> from the set which it iterated
-	 * over, releasing any computational resources and placing the iterator in
-	 * the INVALID state. After <code>detach</code> has been invoked, calls
-	 * to <code>nextNode</code> or <code>previousNode</code> will raise
-	 * the exception INVALID_STATE_ERR.
-	 */
-	public void detach();
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/TreeWalker.java b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/TreeWalker.java
deleted file mode 100644
index 3747d60..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/TreeWalker.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-package org.w3c.dom.traversal;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-
-/**
- * <code>TreeWalker</code> objects are used to navigate a document tree or
- * subtree using the view of the document defined by their
- * <code>whatToShow</code> flags and filter (if any). Any function which
- * performs navigation using a <code>TreeWalker</code> will automatically
- * support any view defined by a <code>TreeWalker</code>.
- * <p>
- * Omitting nodes from the logical view of a subtree can result in a structure
- * that is substantially different from the same subtree in the complete,
- * unfiltered document. Nodes that are siblings in the <code>TreeWalker</code>
- * view may be children of different, widely separated nodes in the original
- * view. For instance, consider a <code>NodeFilter</code> that skips all
- * nodes except for Text nodes and the root node of a document. In the logical
- * view that results, all text nodes will be siblings and appear as direct
- * children of the root node, no matter how deeply nested the structure of the
- * original document.
- * <p>
- * See also the <a
- * href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document
- * Object Model (DOM) Level 2 Traversal and Range Specification </a>.
- * 
- * @since DOM Level 2
- */
-public interface TreeWalker {
-	/**
-	 * The <code>root</code> node of the <code>TreeWalker</code>, as
-	 * specified when it was created.
-	 */
-	public Node getRoot();
-
-	/**
-	 * This attribute determines which node types are presented via the
-	 * <code>TreeWalker</code>. The available set of constants is defined
-	 * in the <code>NodeFilter</code> interface. Nodes not accepted by
-	 * <code>whatToShow</code> will be skipped, but their children may still
-	 * be considered. Note that this skip takes precedence over the filter, if
-	 * any.
-	 */
-	public int getWhatToShow();
-
-	/**
-	 * The filter used to screen nodes.
-	 */
-	public NodeFilter getFilter();
-
-	/**
-	 * The value of this flag determines whether the children of entity
-	 * reference nodes are visible to the <code>TreeWalker</code>. If
-	 * false, they and their descendants will be rejected. Note that this
-	 * rejection takes precedence over <code>whatToShow</code> and the
-	 * filter, if any. <br>
-	 * To produce a view of the document that has entity references expanded
-	 * and does not expose the entity reference node itself, use the
-	 * <code>whatToShow</code> flags to hide the entity reference node and
-	 * set <code>expandEntityReferences</code> to true when creating the
-	 * <code>TreeWalker</code>. To produce a view of the document that has
-	 * entity reference nodes but no entity expansion, use the
-	 * <code>whatToShow</code> flags to show the entity reference node and
-	 * set <code>expandEntityReferences</code> to false.
-	 */
-	public boolean getExpandEntityReferences();
-
-	/**
-	 * The node at which the <code>TreeWalker</code> is currently
-	 * positioned. <br>
-	 * Alterations to the DOM tree may cause the current node to no longer be
-	 * accepted by the <code>TreeWalker</code>'s associated filter.
-	 * <code>currentNode</code> may also be explicitly set to any node,
-	 * whether or not it is within the subtree specified by the
-	 * <code>root</code> node or would be accepted by the filter and
-	 * <code>whatToShow</code> flags. Further traversal occurs relative to
-	 * <code>currentNode</code> even if it is not part of the current view,
-	 * by applying the filters in the requested direction; if no traversal is
-	 * possible, <code>currentNode</code> is not changed.
-	 * 
-	 * @exception DOMException
-	 *                NOT_SUPPORTED_ERR: Raised if an attempt is made to set
-	 *                <code>currentNode</code> to <code>null</code>.
-	 */
-	public Node getCurrentNode();
-
-	public void setCurrentNode(Node currentNode) throws DOMException;
-
-	/**
-	 * Moves to and returns the closest visible ancestor node of the current
-	 * node. If the search for <code>parentNode</code> attempts to step
-	 * upward from the <code>TreeWalker</code>'s<code>root</code> node,
-	 * or if it fails to find a visible ancestor node, this method retains the
-	 * current position and returns <code>null</code>.
-	 * 
-	 * @return The new parent node, or <code>null</code> if the current node
-	 *         has no parent in the <code>TreeWalker</code>'s logical view.
-	 */
-	public Node parentNode();
-
-	/**
-	 * Moves the <code>TreeWalker</code> to the first visible child of the
-	 * current node, and returns the new node. If the current node has no
-	 * visible children, returns <code>null</code>, and retains the current
-	 * node.
-	 * 
-	 * @return The new node, or <code>null</code> if the current node has no
-	 *         visible children in the <code>TreeWalker</code>'s logical
-	 *         view.
-	 */
-	public Node firstChild();
-
-	/**
-	 * Moves the <code>TreeWalker</code> to the last visible child of the
-	 * current node, and returns the new node. If the current node has no
-	 * visible children, returns <code>null</code>, and retains the current
-	 * node.
-	 * 
-	 * @return The new node, or <code>null</code> if the current node has no
-	 *         children in the <code>TreeWalker</code>'s logical view.
-	 */
-	public Node lastChild();
-
-	/**
-	 * Moves the <code>TreeWalker</code> to the previous sibling of the
-	 * current node, and returns the new node. If the current node has no
-	 * visible previous sibling, returns <code>null</code>, and retains the
-	 * current node.
-	 * 
-	 * @return The new node, or <code>null</code> if the current node has no
-	 *         previous sibling. in the <code>TreeWalker</code>'s logical
-	 *         view.
-	 */
-	public Node previousSibling();
-
-	/**
-	 * Moves the <code>TreeWalker</code> to the next sibling of the current
-	 * node, and returns the new node. If the current node has no visible next
-	 * sibling, returns <code>null</code>, and retains the current node.
-	 * 
-	 * @return The new node, or <code>null</code> if the current node has no
-	 *         next sibling. in the <code>TreeWalker</code>'s logical view.
-	 */
-	public Node nextSibling();
-
-	/**
-	 * Moves the <code>TreeWalker</code> to the previous visible node in
-	 * document order relative to the current node, and returns the new node.
-	 * If the current node has no previous node, or if the search for
-	 * <code>previousNode</code> attempts to step upward from the
-	 * <code>TreeWalker</code>'s<code>root</code> node, returns
-	 * <code>null</code>, and retains the current node.
-	 * 
-	 * @return The new node, or <code>null</code> if the current node has no
-	 *         previous node in the <code>TreeWalker</code>'s logical view.
-	 */
-	public Node previousNode();
-
-	/**
-	 * Moves the <code>TreeWalker</code> to the next visible node in
-	 * document order relative to the current node, and returns the new node.
-	 * If the current node has no next node, or if the search for nextNode
-	 * attempts to step upward from the <code>TreeWalker</code>'s
-	 * <code>root</code> node, returns <code>null</code>, and retains the
-	 * current node.
-	 * 
-	 * @return The new node, or <code>null</code> if the current node has no
-	 *         next node in the <code>TreeWalker</code>'s logical view.
-	 */
-	public Node nextNode();
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/package.html b/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/package.html
deleted file mode 100644
index d8fbae6..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/w3c/dom/traversal/package.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html>
-This package contains unmodified sources provided by http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/java-binding.zip
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/.classpath b/bundles/org.eclipse.wst.xml.ui/.classpath
deleted file mode 100644
index f147935..0000000
--- a/bundles/org.eclipse.wst.xml.ui/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="src" path="src-multipage/"/>
-	<classpathentry kind="src" path="src-wizards/"/>
-	<classpathentry excluding="org/eclipse/**/internal/**" kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xml.ui/.compatibility b/bundles/org.eclipse.wst.xml.ui/.compatibility
deleted file mode 100644
index 2e4834a..0000000
--- a/bundles/org.eclipse.wst.xml.ui/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=6269

diff --git a/bundles/org.eclipse.wst.xml.ui/.cvsignore b/bundles/org.eclipse.wst.xml.ui/.cvsignore
deleted file mode 100644
index 03491a0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-bin
-temp.folder
-build.xml
-xmleditor.jar
-org.eclipse.wst.xml.ui_1.0.0.jar
-org.eclipse.wst.xml.ui_1.0.0.zip
-xmleditorsrc.zip
diff --git a/bundles/org.eclipse.wst.xml.ui/.project b/bundles/org.eclipse.wst.xml.ui/.project
deleted file mode 100644
index 50dc4a8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.ui</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/bundles/org.eclipse.wst.xml.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xml.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index cfa7369..0000000
--- a/bundles/org.eclipse.wst.xml.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jan 12 15:54:34 EST 2005

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=enabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/bundles/org.eclipse.wst.xml.ui/README.txt b/bundles/org.eclipse.wst.xml.ui/README.txt
deleted file mode 100644
index d5cec24..0000000
--- a/bundles/org.eclipse.wst.xml.ui/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-The XML specific implementation of the sse editor.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/build.properties b/bundles/org.eclipse.wst.xml.ui/build.properties
deleted file mode 100644
index 65bae85..0000000
--- a/bundles/org.eclipse.wst.xml.ui/build.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-bin.includes = plugin.xml,\
-               xml.jar,\
-               icons/,\
-               plugin.properties,\
-               templates/,\
-               xmleditor.jar,\
-               examples/
-source.xmleditor.jar = src/,\
-                       src-multipage/,\
-                       src-wizards/
-src.includes = plugin.xml,\
-               plugin.properties,\
-               icons/,\
-               templates/,\
-               examples/
-output.xmleditor.jar = bin/
-jars.compile.order = xmleditor.jar
diff --git a/bundles/org.eclipse.wst.xml.ui/examples/EditingAndValidatingXML.zip b/bundles/org.eclipse.wst.xml.ui/examples/EditingAndValidatingXML.zip
deleted file mode 100644
index 28f4ee0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/examples/EditingAndValidatingXML.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/XMLFile.gif b/bundles/org.eclipse.wst.xml.ui/icons/XMLFile.gif
deleted file mode 100644
index 14eb1be..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/XMLFile.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/collapse.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/collapse.gif
deleted file mode 100644
index ce74721..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/collapse.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/collapse_all.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/collapse_all.gif
deleted file mode 100644
index 7dc0de5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/collapse_all.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/constrainoff.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/constrainoff.gif
deleted file mode 100644
index 4bdceb8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/constrainoff.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/constrainon.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/constrainon.gif
deleted file mode 100644
index e823d57..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/constrainon.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/expand.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/expand.gif
deleted file mode 100644
index bc37b7a..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/expand.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/expand_all.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/expand_all.gif
deleted file mode 100644
index 492c14f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/expand_all.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/new_xml.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/new_xml.gif
deleted file mode 100644
index e1cfdf7..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/new_xml.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/rldgrmr.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/rldgrmr.gif
deleted file mode 100644
index 49325dd..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/rldgrmr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/validate.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/validate.gif
deleted file mode 100644
index 561d146..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/dtool16/validate.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/collapse.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/collapse.gif
deleted file mode 100644
index b75bc19..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/collapse.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/collapse_all.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/collapse_all.gif
deleted file mode 100644
index a2d80a9..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/collapse_all.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/constrainoff.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/constrainoff.gif
deleted file mode 100644
index c1ab04c..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/constrainoff.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/constrainon.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/constrainon.gif
deleted file mode 100644
index 082f9c0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/constrainon.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/expand.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/expand.gif
deleted file mode 100644
index b2f4530..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/expand.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/expand_all.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/expand_all.gif
deleted file mode 100644
index 0205b29..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/expand_all.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/new_xml.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/new_xml.gif
deleted file mode 100644
index 9dfb62d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/new_xml.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/rldgrmr.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/rldgrmr.gif
deleted file mode 100644
index 049cac6..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/rldgrmr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/validate.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/validate.gif
deleted file mode 100644
index 2b347ac..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/etool16/validate.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/XSDFile.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/XSDFile.gif
deleted file mode 100644
index cc0eeb7..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/XSDFile.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/add_correction.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/add_correction.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/add_correction.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/att_req_obj.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/att_req_obj.gif
deleted file mode 100644
index a8c66d5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/att_req_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/attribute_obj.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/attribute_obj.gif
deleted file mode 100644
index 79d49d0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/attribute_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/cdatasection.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/cdatasection.gif
deleted file mode 100644
index 6b0872c..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/cdatasection.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/choice.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/choice.gif
deleted file mode 100644
index d13ba2e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/choice.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/comment_obj.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/comment_obj.gif
deleted file mode 100644
index 28c2ccb..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/comment_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/correction_change.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/correction_change.gif
deleted file mode 100644
index af83c52..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/correction_change.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/doctype.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/doctype.gif
deleted file mode 100644
index 3300f82..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/doctype.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/dtdfile.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/dtdfile.gif
deleted file mode 100644
index 3c0acad..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/dtdfile.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/element_obj.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/element_obj.gif
deleted file mode 100644
index 3567815..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/element_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/entity.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/entity.gif
deleted file mode 100644
index 61fd3d4..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/entity.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/entity_reference.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/entity_reference.gif
deleted file mode 100644
index 3af9149..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/entity_reference.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/enum.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/enum.gif
deleted file mode 100644
index 5c0a481..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/enum.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/error-overlay.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/error-overlay.gif
deleted file mode 100644
index 119dccc..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/error-overlay.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/localvariable_obj.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/localvariable_obj.gif
deleted file mode 100644
index 3244b26..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/localvariable_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/notation.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/notation.gif
deleted file mode 100644
index 57ad089..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/notation.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/occurone_obj.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/occurone_obj.gif
deleted file mode 100644
index 7bb65c9..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/occurone_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/proinst_obj.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/proinst_obj.gif
deleted file mode 100644
index 74436d8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/proinst_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/tag-generic.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/tag-generic.gif
deleted file mode 100644
index 65f516e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/tag-generic.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/tag-macro.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/tag-macro.gif
deleted file mode 100644
index 5d1f81b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/tag-macro.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/text.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/text.gif
deleted file mode 100644
index efa7a38..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/text.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/txtext.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/txtext.gif
deleted file mode 100644
index b226e41..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/txtext.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/warning_obj.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/warning_obj.gif
deleted file mode 100644
index 1e5f5eb..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/obj16/warning_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/ovr16/error_ovr.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/ovr16/error_ovr.gif
deleted file mode 100644
index 119dccc..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/ovr16/error_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/ovr16/stale_error_ovr.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/ovr16/stale_error_ovr.gif
deleted file mode 100644
index 5b0471b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/ovr16/stale_error_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/ovr16/warn_ovr.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/ovr16/warn_ovr.gif
deleted file mode 100644
index c350704..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/ovr16/warn_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/full/view16/attibute.gif b/bundles/org.eclipse.wst.xml.ui/icons/full/view16/attibute.gif
deleted file mode 100644
index 79d49d0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/full/view16/attibute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/newSampleProject_wiz.gif b/bundles/org.eclipse.wst.xml.ui/icons/newSampleProject_wiz.gif
deleted file mode 100644
index dc96b10..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/newSampleProject_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/newSampleProject_wizbanner.gif b/bundles/org.eclipse.wst.xml.ui/icons/newSampleProject_wizbanner.gif
deleted file mode 100644
index 9a0ff30..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/newSampleProject_wizbanner.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/sourceEditor.gif b/bundles/org.eclipse.wst.xml.ui/icons/sourceEditor.gif
deleted file mode 100644
index 75ebdb8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/sourceEditor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/icons/xmldoc.gif b/bundles/org.eclipse.wst.xml.ui/icons/xmldoc.gif
deleted file mode 100644
index 14eb1be..0000000
--- a/bundles/org.eclipse.wst.xml.ui/icons/xmldoc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/plugin.properties b/bundles/org.eclipse.wst.xml.ui/plugin.properties
deleted file mode 100644
index 450456e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/plugin.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-providerName=Eclipse.org
-pluginName=SSE XML Source Editor
-nlFeatureName=SSE XML Source Editor NL Support
-XML_Source_Page_Editor.name=XML Source Page Editor
-XML_Files.name=XML Files
-XML_Source.name=XML Source
-XML_Templates.name=XML Templates
-XML_Styles.name=XML Styles
-XML_Editor.name=XML Editor
-XMLTableTreeViewer.0=Design
-XMLMultiPageEditorPart.0=Source
-XMLTreeExtension.0=Structure
-XMLTreeExtension.1=Value
-XMLTreeExtension.3=The document is empty.
-XMLTreeExtension.4=Right mouse click here to insert content.
-XMLTableTreeActionBarContributor.0=&XML
-XMLTableTreeActionBarContributor.1=&Expand All
-XMLTableTreeActionBarContributor.2=&Collapse All
-XMLTableTreeActionBarContributor.3=Turn Grammar Constraints Off
-XMLTableTreeActionBarContributor.4=&Turn Grammar Constraints Off
-XMLTableTreeActionBarContributor.5=Turn Grammar Constraints On
-XMLTableTreeActionBarContributor.6=&Turn Grammar Constraints On
-XMLTableTreeActionBarContributor.7=Reload Dependencies
-XMLTableTreeActionBarContributor.8=&Reload Dependencies
-###############################################################################
-_UI_WIZARD_NEW_XML=XML
-genMenuLabel=&Generate
-_UI_ACTION_CREATE_XML=&XML File...
-_UI_CREATE_NEW_XML_FILE=Create a new XML file.
-XMLExample.name=Editing and validating XML files
-XMLExampleProjectCreationWizard.description=Create a project containing XML sample files
-XMLExampleProjectCreationWizard.projectname=XMLExamples
-XMLExampleProjectCreationWizard.pagetitle=XML sample files for editing and validating
-XMLExampleProjectCreationWizard.pagedescription=Create a project containing XML sample files.
-XMLExampleProjectCreationWizard.label=&Project Name:
-###############################################################################
-All_XML_context_type_Extension_Element.name=All XML context type
-XML_Tag_context_type_Extension_Element.name=XML Tag context type
-XML_Attribute_context_type_Extension_Element.name=XML Attribute context type
-XML_Attribute_value_context_type_Extension_Element.name=XML Attribute value context type
-###############################################################################
-# The following property keys maybe unused. Commented out on 12/7/2004. Uncomment if needed.
-#XMLExampleProjectCreationWizard.name=XML Examples
-#XMLExampleProjectCreationWizard.description=Create a project containing XML sample files
-#XML_Annotations.name=XML Annotations
-#XML_Extension_Element.name=XML
-refreshoutline.0=Refreshing Content Outline
diff --git a/bundles/org.eclipse.wst.xml.ui/plugin.xml b/bundles/org.eclipse.wst.xml.ui/plugin.xml
deleted file mode 100644
index 3c0dfe6..0000000
--- a/bundles/org.eclipse.wst.xml.ui/plugin.xml
+++ /dev/null
@@ -1,385 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.xml.ui"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.wst.xml.ui.internal.XMLUIPlugin">
-
-   <runtime>
-      <library name="xmleditor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.wst.sse.ui"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.wst.common.contentmodel"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.wst.common.encoding"/>
-      <import plugin="org.eclipse.wst.xml.uriresolver.ui"/>
-      <import plugin="org.eclipse.wst.common.uriresolver"/>
-      <import plugin="org.eclipse.wst.xml.uriresolver"/>
-      <import plugin="org.eclipse.wst.xml.core"/>
-      <import plugin="org.eclipse.wst.common.ui"/>
-      <import plugin="org.eclipse.wst.validation"/>
-
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%XML_Source_Page_Editor.name"
-            icon="icons/sourceEditor.gif"
-            extensions="tld, nst, xmi, dadx, wsdl, xsl"
-            contributorClass="org.eclipse.wst.xml.ui.actions.ActionContributorXML"
-            class="org.eclipse.wst.xml.ui.StructuredTextEditorXML"
-            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-            id="org.eclipse.wst.xml.ui.StructuredTextEditorXML2">
-      </editor>
-      <!-- Separate editor definition for xml source page to mark it as the default editor -->
-      <editor
-            name="%XML_Source_Page_Editor.name"
-            icon="icons/sourceEditor.gif"
-            extensions="xml"
-            default="true"
-            contributorClass="org.eclipse.wst.xml.ui.actions.ActionContributorXML"
-            class="org.eclipse.wst.xml.ui.StructuredTextEditorXML"
-            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-            id="org.eclipse.wst.xml.ui.StructuredTextEditorXML">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.extendedconfiguration">
-      <configuration
-      		type="textviewerconfiguration"
-            class="org.eclipse.wst.xml.ui.StructuredTextViewerConfigurationXML"
-            target="org.eclipse.core.runtime.xml"/>
-      <configuration
-      		type="contentoutlineconfiguration"
-            class="org.eclipse.wst.xml.ui.views.contentoutline.XMLContentOutlineConfiguration"
-            target="org.eclipse.core.runtime.xml"/>
-      <configuration
-      		type="propertysheetconfiguration"
-            class="org.eclipse.wst.xml.ui.views.properties.XMLPropertySheetConfiguration"
-            target="org.eclipse.core.runtime.xml"/>
-      <configuration
-      		type="spellchecktarget"
-            class="org.eclipse.wst.xml.ui.XMLSpellCheckTarget"
-            target="org.eclipse.core.runtime.xml"/>
-      <configuration
-      		type="sourceeditingtexttools"
-            class="org.eclipse.wst.xml.ui.extensions.XMLSourceEditingTextTools"
-            target="org.eclipse.core.runtime.xml"/>
-      <configuration
-      		type="characterpairmatcher"
-            class="org.eclipse.wst.xml.ui.text.XMLDocumentRegionEdgeMatcher"
-            target="org.eclipse.core.runtime.xml"/>
-      <definition
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.xml"
-            target="org.eclipse.core.runtime.xml"/>
-      <definition
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.xml.source"
-            target="org.eclipse.core.runtime.xml"/>
-      <definition
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.xml.templates"
-            target="org.eclipse.core.runtime.xml"/>
-      <definition
-      		type="preferencepages"
-            value="org.eclipse.wst.sse.ui.preferences.xml.colors"
-            target="org.eclipse.core.runtime.xml"/>
-   </extension>
-   <extension
-      point="org.eclipse.core.filebuffers.annotationModelCreation">
-      <factory
-            contentTypeId="org.eclipse.core.runtime.xml"
-            class="org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModelFactory"/>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
-      <adapterFactoryDescription
-            class="org.eclipse.wst.xml.ui.registry.AdapterFactoryProviderForXML">
-            <contentType id="org.eclipse.core.runtime.xml"/>
-      </adapterFactoryDescription>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.embeddedAdapterFactoryProvider">
-      <embeddedAdapterFactoryProvider
-            class="org.eclipse.wst.xml.ui.registry.AdapterFactoryProviderForEmbeddedXML">
-      </embeddedAdapterFactoryProvider>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-<!-- XML PREFERENCE PAGES -->
-      <page
-            name="%XML_Files.name"
-            category="org.eclipse.wst.sse.ui.preferences"
-            class="org.eclipse.wst.xml.ui.preferences.XMLFilesPreferencePage"
-            id="org.eclipse.wst.sse.ui.preferences.xml">
-      </page>
-      <page
-            name="%XML_Source.name"
-            category="org.eclipse.wst.sse.ui.preferences.xml"
-            class="org.eclipse.wst.xml.ui.preferences.XMLSourcePreferencePage"
-            id="org.eclipse.wst.sse.ui.preferences.xml.source">
-      </page>
-      <page
-            name="%XML_Templates.name"
-            category="org.eclipse.wst.sse.ui.preferences.xml"
-            class="org.eclipse.wst.xml.ui.preferences.XMLTemplatePreferencePage"
-            id="org.eclipse.wst.sse.ui.preferences.xml.templates">
-      </page>
-      <page
-            name="%XML_Styles.name"
-            category="org.eclipse.wst.sse.ui.preferences.xml"
-            class="org.eclipse.wst.xml.ui.preferences.XMLColorPage"
-            id="org.eclipse.wst.sse.ui.preferences.xml.colors">
-      </page>
-   </extension>
-<!-- Editor actionsets -->
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
-         <part
-               id="org.eclipse.wst.xml.ui.StructuredTextEditorXML">
-         </part>
-		<part
-               id="org.eclipse.wst.xml.ui.StructuredTextEditorXML2">
-         </part>
-      </actionSetPartAssociation>
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.NavigateActionSet">
-         <part
-               id="org.eclipse.wst.xml.ui.StructuredTextEditorXML">
-         </part>
-		<part
-               id="org.eclipse.wst.xml.ui.StructuredTextEditorXML2">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-
-<!-- Templates -->
-   <extension
-         point="org.eclipse.ui.editors.templates">
-      <contextType
-            name="%All_XML_context_type_Extension_Element.name"
-            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXML"
-            id="xml_all">
-      </contextType>
-      <contextType
-            name="%XML_Tag_context_type_Extension_Element.name"
-            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLTag"
-            id="xml_tag">
-      </contextType>
-      <contextType
-            name="%XML_Attribute_context_type_Extension_Element.name"
-            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLAttribute"
-            id="xml_attribute">
-      </contextType>
-      <contextType
-            name="%XML_Attribute_value_context_type_Extension_Element.name"
-            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLAttributeValue"
-            id="xml_attribute_value">
-      </contextType>
-      <include
-      		file="templates/xmldefault-templates.xml"
-      		translations="templates/xmldefault-templates.properties">
-      </include>
-   </extension>
-   
-   
-   
-   
-   
-      <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%XML_Editor.name"
-            icon="icons/xmldoc.gif"
-            extensions="xml, tld, nst, xmi"
-            contributorClass="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorActionBarContributor"
-            class="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart"
-            id="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart">
-      </editor>
-   </extension>
-<!-- Editor actionsets -->
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
-         <part
-               id="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart">
-         </part>
-      </actionSetPartAssociation>
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.NavigateActionSet">
-         <part
-               id="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-   
-   
-   
-<!-- ================================================== -->
-<!-- Contribute a 'New Wizard' for XML files            -->
-<!-- ================================================== -->
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="%_UI_WIZARD_NEW_XML"
-            id="org.eclipse.wst.XMLCategory">
-      </category>
-      <wizard
-            name="%_UI_WIZARD_NEW_XML"
-            icon="icons/XMLFile.gif"
-            category="org.eclipse.wst.XMLCategory"
-            class="org.eclipse.wst.xml.ui.internal.wizards.NewXMLWizard"
-            id="org.eclipse.wst.xml.ui.internal.wizards.NewXMLWizard">
-         <description>
-            %_UI_CREATE_NEW_XML_FILE
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   
-<!-- =============================================================================== -->
-<!-- Allow the 'New XML' wizard to be accessed via the 'Generate' menu on a XSD file -->
-<!-- =============================================================================== -->
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.xsd"
-            id="org.eclipse.wst.xmlwizard.createXMLFromXSD">
-         <menu
-               label="%genMenuLabel"
-               path="additions"
-               id="generateXMLArtifacts">
-            <separator name="xml"/>
-         </menu>
-         <action
-               label="%_UI_ACTION_CREATE_XML"
-               class="org.eclipse.wst.xml.ui.internal.wizards.XMLImportActionDelegate"
-               menubarPath="generateXMLArtifacts/xml"
-               enablesFor="1"
-               id="org.eclipse.wst.xmlwizard.createXMLFromXSDAction">
-         </action>
-      </objectContribution>
-   </extension>
-
-<!-- =============================================================================== -->
-<!-- Allow the 'New XML' wizard to be accessed via the 'Generate' menu on a DTD file -->
-<!-- =============================================================================== -->
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.dtd"
-            id="org.eclipse.wst.xmlwizard.createXMLFromDTD">
-         <menu
-               label="%genMenuLabel"
-               path="additions"
-               id="generateXMLArtifacts">
-            <separator name="xml"/>
-         </menu>
-         <action
-               label="%_UI_ACTION_CREATE_XML"
-               class="org.eclipse.wst.xml.ui.internal.wizards.XMLImportActionDelegate"
-               menubarPath="generateXMLArtifacts/xml"
-               enablesFor="1"
-               id="org.eclipse.wst.xmlwizard.createXMLFromDTDAction">
-         </action>
-      </objectContribution>
-   </extension>
-   
-<!-- =============================================================================== -->
-<!-- Contribute a New->Example... entry for Editing and Validating XML files         -->
-<!-- =============================================================================== -->
- 
-  <!-- define the XMLSamples project wizard -->  
-  <extension point="org.eclipse.ui.newWizards"> 
-       <category
-            name="%_UI_WIZARD_NEW_XML"
-            parentCategory="org.eclipse.ui.Examples"
-            id="org.eclipse.wst.xml.examples">
-       </category>
-       <wizard
-            name="%XMLExample.name"
-            class="org.eclipse.wst.common.ui.wizards.ExampleProjectCreationWizard"
-            category="org.eclipse.ui.Examples/org.eclipse.wst.xml.examples"
-            id="org.eclipse.wst.xml.ui.XMLExampleProjectCreationWizard"
-            project="true" 
-            icon="icons/newSampleProject_wiz.gif">
-         <description>
-           %XMLExampleProjectCreationWizard.description
-         </description>  
-       </wizard>
-   </extension>
-   
-   <!-- configure the XMLSamples project wizard -->
-   <extension point="org.eclipse.wst.common.ui.exampleProjectCreationWizard"
-	   id="XMLExampleProjectCreationWizardExtension">
-	   <wizard
-	   		id="org.eclipse.wst.xml.ui.XMLExampleProjectCreationWizard"
-			banner="icons/newSampleProject_wizbanner.gif">
-		    <projectsetup
-		       	pagetitle="%XMLExampleProjectCreationWizard.pagetitle"
-		       	name="%XMLExampleProjectCreationWizard.projectname"
-		       	label="%XMLExampleProjectCreationWizard.label"
-		       	pagedescription="%XMLExampleProjectCreationWizard.pagedescription"
-		       	open="readme.html">
-		        <import
-		              dest=""
-		              src="examples/EditingAndValidatingXML.zip"/>
-		    </projectsetup>
-		</wizard>
-	</extension>
-	
-	<!-- initialize xml ui preferences -->
-	<extension point="org.eclipse.core.runtime.preferences">
-	   <initializer class="org.eclipse.wst.xml.ui.internal.preferences.XMLUIPreferenceInitializer"/>
-	</extension>
-
-	 <extension
-         point="org.eclipse.wst.sse.ui.reconcileValidator">
-      <validator
-            scope="total"
-            class="org.eclipse.wst.xml.ui.reconcile.DelegatingReconcileValidatorForXML"
-            id="org.eclipse.wst.xml.ui.reconcile.DelegatingReconcileValidatorForXML">
-         <contentTypeIdentifier
-               id="org.eclipse.core.runtime.xml">
-            <partitionType
-                  id="org.eclipse.wst.xml.DEFAULT_XML">
-            </partitionType>
-         </contentTypeIdentifier>      
-      </validator>
-   </extension>
-
-	<!--======================================================================================-->
-	<!-- Document provider for ExternalFileEditorInput                                        -->
-	<!--======================================================================================-->
-	<extension point="org.eclipse.ui.editors.documentProviders"> 
-		<provider 
-			inputTypes="org.eclipse.wst.xml.ui.internal.hyperlink.ExternalFileEditorInput" 
-			class="org.eclipse.ui.editors.text.TextFileDocumentProvider" 
-			id="org.eclipse.wst.xml.ui.internal.ExternalFileDocumentProvider"> 
-		</provider> 
-	</extension> 
-
-</plugin>
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/IDesignViewer.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/IDesignViewer.java
deleted file mode 100644
index 493b8fd..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/IDesignViewer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.internal.ui;
-
-
-
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-
-
-public interface IDesignViewer {
-	public Control getControl();
-
-	String getTitle();
-
-	void setModel(IStructuredModel model);
-
-	void setViewerSelectionManager(ViewerSelectionManager viewerSelectionManager);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/IDesignViewerActionBarContributor.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/IDesignViewerActionBarContributor.java
deleted file mode 100644
index ac191b3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/IDesignViewerActionBarContributor.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.internal.ui;
-
-
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.wst.sse.ui.ISourceViewerActionBarContributor;
-
-
-public interface IDesignViewerActionBarContributor extends ISourceViewerActionBarContributor {
-	public void initViewerSpecificContributions(IActionBars bars);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/SourceEditorActionBarContributor.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/SourceEditorActionBarContributor.java
deleted file mode 100644
index 593de45..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/SourceEditorActionBarContributor.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.internal.ui;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.wst.sse.ui.ISourceViewerActionBarContributor;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.extension.ExtendedEditorActionBuilder;
-import org.eclipse.wst.sse.ui.extension.IExtendedContributor;
-
-
-public class SourceEditorActionBarContributor extends MultiPageEditorActionBarContributor implements IExtendedContributor {
-
-	protected IEditorActionBarContributor designViewerActionBarContributor = null;
-	protected IEditorActionBarContributor sourceViewerActionContributor = null;
-	protected XMLMultiPageEditorPart multiPageEditor = null;
-
-	// EditorExtension
-	private static final String EDITOR_ID = "org.eclipse.wst.xml.ui.XMLMultiPageEditorPart"; //$NON-NLS-1$
-	private IExtendedContributor extendedContributor;
-
-	public SourceEditorActionBarContributor() {
-		super();
-
-		sourceViewerActionContributor = new SourcePageActionContributor();
-
-		// Read action extensions.
-		ExtendedEditorActionBuilder builder = new ExtendedEditorActionBuilder();
-		extendedContributor = builder.readActionExtensions(EDITOR_ID);
-	}
-
-	public void init(IActionBars actionBars) {
-		super.init(actionBars);
-
-		if (actionBars != null) {
-			initDesignViewerActionBarContributor(actionBars);
-			initSourceViewerActionContributor(actionBars);
-		}
-	}
-
-	protected void initDesignViewerActionBarContributor(IActionBars actionBars) {
-		if (designViewerActionBarContributor != null)
-			designViewerActionBarContributor.init(actionBars, getPage());
-	}
-
-	protected void initSourceViewerActionContributor(IActionBars actionBars) {
-		if (sourceViewerActionContributor != null)
-			sourceViewerActionContributor.init(actionBars, getPage());
-	}
-
-	public void dispose() {
-		super.dispose();
-
-		if (designViewerActionBarContributor != null)
-			designViewerActionBarContributor.dispose();
-
-		if (sourceViewerActionContributor != null)
-			sourceViewerActionContributor.dispose();
-
-		if (extendedContributor != null)
-			extendedContributor.dispose();
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToMenu(IMenuManager)
-	 */
-	public final void contributeToMenu(IMenuManager menu) {
-		super.contributeToMenu(menu);
-
-		addToMenu(menu);
-
-		if (extendedContributor != null)
-			extendedContributor.contributeToMenu(menu);
-	}
-
-	protected void addToMenu(IMenuManager menu) {
-	}
-
-	/**
-	 * @see IExtendedContributor#contributeToPopupMenu(IMenuManager)
-	 */
-	public final void contributeToPopupMenu(IMenuManager menu) {
-
-		addToPopupMenu(menu);
-
-		if (extendedContributor != null)
-			extendedContributor.contributeToPopupMenu(menu);
-	}
-
-	protected void addToPopupMenu(IMenuManager menu) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToToolBar(IToolBarManager)
-	 */
-	public final void contributeToToolBar(IToolBarManager toolBarManager) {
-		super.contributeToToolBar(toolBarManager);
-
-		addToToolBar(toolBarManager);
-
-		if (extendedContributor != null)
-			extendedContributor.contributeToToolBar(toolBarManager);
-	}
-
-	protected void addToToolBar(IToolBarManager toolBarManager) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToStatusLine(IStatusLineManager)
-	 */
-	public final void contributeToStatusLine(IStatusLineManager manager) {
-		super.contributeToStatusLine(manager);
-
-		addToStatusLine(manager);
-
-		if (extendedContributor != null)
-			extendedContributor.contributeToStatusLine(manager);
-	}
-
-	protected void addToStatusLine(IStatusLineManager manager) {
-	}
-
-	/**
-	 * @see IExtendedContributor#updateToolbarActions()
-	 */
-	public void updateToolbarActions() {
-		if (extendedContributor != null)
-			extendedContributor.updateToolbarActions();
-	}
-
-	public void setActiveEditor(IEditorPart targetEditor) {
-		// save multiPageEditor before calling
-		// super.setActiveEditor(targetEditor)
-		// super.setActiveEditor will call setActivePage(IEditorPart
-		// activeEditor)
-		// multiPageEditor is needed in setActivePage(IEditorPart
-		// activeEditor)
-		if (targetEditor instanceof XMLMultiPageEditorPart)
-			multiPageEditor = (XMLMultiPageEditorPart) targetEditor;
-
-		super.setActiveEditor(targetEditor);
-
-		updateToolbarActions();
-
-		if (extendedContributor != null)
-			extendedContributor.setActiveEditor(targetEditor);
-	}
-
-	public void setActivePage(IEditorPart activeEditor) {
-		// This contributor is designed for StructuredTextMultiPageEditorPart.
-		// To safe-guard this from problems caused by unexpected usage by
-		// other editors, the following
-		// check is added.
-		if (multiPageEditor != null) {
-			if (activeEditor != null && activeEditor instanceof StructuredTextEditor)
-				activateSourcePage(activeEditor);
-			else
-				activateDesignPage(activeEditor);
-		}
-
-		updateToolbarActions();
-
-		IActionBars actionBars = getActionBars();
-		if (actionBars != null) {
-			// update menu bar and tool bar
-			actionBars.updateActionBars();
-		}
-	}
-
-	protected void activateDesignPage(IEditorPart activeEditor) {
-		if (designViewerActionBarContributor != null && designViewerActionBarContributor instanceof IDesignViewerActionBarContributor) {
-			designViewerActionBarContributor.setActiveEditor(multiPageEditor);
-		}
-
-		if (sourceViewerActionContributor != null && sourceViewerActionContributor instanceof ISourceViewerActionBarContributor) {
-			// if design page is not really an IEditorPart, activeEditor ==
-			// null, so pass in multiPageEditor instead (d282414)
-			if (activeEditor == null) {
-				sourceViewerActionContributor.setActiveEditor(multiPageEditor);
-			} else {
-				sourceViewerActionContributor.setActiveEditor(activeEditor);
-			}
-			((ISourceViewerActionBarContributor) sourceViewerActionContributor).setViewerSpecificContributionsEnabled(false);
-		}
-	}
-
-	protected void activateSourcePage(IEditorPart activeEditor) {
-		if (designViewerActionBarContributor != null && designViewerActionBarContributor instanceof IDesignViewerActionBarContributor) {
-			designViewerActionBarContributor.setActiveEditor(multiPageEditor);
-		}
-
-		if (sourceViewerActionContributor != null && sourceViewerActionContributor instanceof ISourceViewerActionBarContributor) {
-			sourceViewerActionContributor.setActiveEditor(activeEditor);
-			((ISourceViewerActionBarContributor) sourceViewerActionContributor).setViewerSpecificContributionsEnabled(true);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/SourcePageActionContributor.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/SourcePageActionContributor.java
deleted file mode 100644
index 949a155..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/SourcePageActionContributor.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.internal.ui;
-
-
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.wst.xml.ui.actions.ActionContributorXML;
-
-
-/**
- * SourcePageActionContributor
- * 
- * This class is for multi page editor's source page contributor.
- * 
- * Use XMLEditorActionContributor for single page editor.
- */
-public class SourcePageActionContributor extends ActionContributorXML {
-
-	private IActionBars fBars;
-
-	/**
-	 * This method calls:
-	 * <ul>
-	 * <li><code>contributeToMenu</code> with <code>bars</code>' menu
-	 * manager</li>
-	 * <li><code>contributeToToolBar</code> with <code>bars</code>' tool
-	 * bar manager</li>
-	 * <li><code>contributeToStatusLine</code> with <code>bars</code>'
-	 * status line manager</li>
-	 * </ul>
-	 * The given action bars are also remembered and made accessible via
-	 * <code>getActionBars</code>.
-	 * 
-	 * @param bars
-	 *            the action bars
-	 *  
-	 */
-	public void init(IActionBars bars) {
-		fBars = bars;
-		contributeToMenu(bars.getMenuManager());
-		contributeToToolBar(bars.getToolBarManager());
-		contributeToStatusLine(bars.getStatusLineManager());
-	}
-
-	/**
-	 * Returns this contributor's action bars.
-	 * 
-	 * @return the action bars
-	 */
-	public IActionBars getActionBars() {
-		return fBars;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorActionDefinitionIds.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorActionDefinitionIds.java
deleted file mode 100644
index a05192e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorActionDefinitionIds.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.internal.ui;
-
-
-
-/**
- * Defines the definitions ids for the XML editor actions.
- * 
- * @deprecated Use org.eclipse.wst.sse.ui.edit.util.ActionDefinitionIds instead
- */
-public interface XMLEditorActionDefinitionIds {
-	public final static String CLEANUP_DOCUMENT = "org.eclipse.wst.sse.ui.edit.ui.cleanup.document";//$NON-NLS-1$
-	public final static String FORMAT_DOCUMENT = "org.eclipse.wst.sse.ui.edit.ui.format.document";//$NON-NLS-1$
-	public final static String FORMAT_ACTIVE_ELEMENTS = "org.eclipse.wst.sse.ui.edit.ui.format.active.elements";//$NON-NLS-1$
-	public final static String OPEN_FILE = "org.eclipse.wst.sse.ui.edit.ui.open.file.from.source";//$NON-NLS-1$
-	//	public final static String INFORMATION =
-	// "org.eclipse.wst.sse.ui.edit.ui.show.tooltip.information";//$NON-NLS-1$
-	public final static String INFORMATION = "org.eclipse.jdt.ui.edit.text.java.show.javadoc";//$NON-NLS-1$
-	public final static String ADD_BREAKPOINTS = "org.eclipse.wst.sse.ui.edit.ui.add.breakpoints";//$NON-NLS-1$
-	public final static String MANAGE_BREAKPOINTS = "org.eclipse.wst.sse.ui.edit.ui.manage.breakpoints";//$NON-NLS-1$
-	public final static String ENABLE_BREAKPOINTS = "org.eclipse.wst.sse.ui.edit.ui.enable.breakpoints";//$NON-NLS-1$
-	public final static String DISABLE_BREAKPOINTS = "org.eclipse.wst.sse.ui.edit.ui.disable.breakpoints";//$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginHOLD_OLD.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginHOLD_OLD.java
deleted file mode 100644
index aaa46ed..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginHOLD_OLD.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.internal.ui;
-
-
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistryImpl;
-import org.eclipse.wst.sse.ui.registry.embedded.EmbeddedAdapterFactoryRegistryImpl;
-import org.eclipse.wst.xml.core.XMLPreferenceNames;
-
-/**
- * @deprecated This plugin has combined with the org.eclipse.wst.xml.ui plugin.
- *             Use XMLUIPlugin instead.
- */
-public class XMLEditorPluginHOLD_OLD extends AbstractUIPlugin {
-
-	public final static String PLUGIN_ID = "org.eclipse.wst.xml.ui.internal.XMLEditorPluginHOLD_OLD"; //$NON-NLS-1$
-	protected static XMLEditorPluginHOLD_OLD instance = null;
-
-	/**
-	 * XMLUIPlugin constructor comment.
-	 */
-	public XMLEditorPluginHOLD_OLD() {
-		super();
-		instance = this;
-
-		// reference the preference store so
-		// initializeDefaultPreferences(IPreferenceStore preferenceStore) is
-		// called
-		getPreferenceStore();
-	}
-
-	public static XMLEditorPluginHOLD_OLD getDefault() {
-		return instance;
-	}
-
-	public synchronized static XMLEditorPluginHOLD_OLD getInstance() {
-		return instance;
-	}
-
-	public AdapterFactoryRegistry getAdapterFactoryRegistry() {
-		return AdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	public AdapterFactoryRegistry getEmbeddedAdapterFactoryRegistry() {
-		return EmbeddedAdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	/**
-	 * Creates XML Preference store and initializes its default values
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore preferenceStore) {
-		preferenceStore.setDefault(XMLPreferenceNames.LAST_ACTIVE_PAGE, 0);
-
-		// editor prefs
-		preferenceStore.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER, false);
-		preferenceStore.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER, true);
-		preferenceStore.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE, false);
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.CONTENT_ASSIST_SUPPORTED, false);
-		preferenceStore.setDefault(CommonEditorPreferenceNames.AUTO_PROPOSE, true);
-		preferenceStore.setDefault(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE, CommonEditorPreferenceNames.LT);
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.MATCHING_BRACKETS, true);
-		PreferenceConverter.setDefault(preferenceStore, CommonEditorPreferenceNames.MATCHING_BRACKETS_COLOR, new RGB(192, 192, 192));
-
-		preferenceStore.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE, true);
-		PreferenceConverter.setDefault(preferenceStore, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR, new RGB(225, 235, 224));
-
-		preferenceStore.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN, true);
-		PreferenceConverter.setDefault(preferenceStore, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR, new RGB(176, 180, 185));
-
-		preferenceStore.setDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 80);
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR, true);
-
-		initializeDefaultAnnotationPrefs(preferenceStore);
-	}
-
-	/*
-	 * Using this method for all content types initialize methods since
-	 * they're all the same (for now) @param preferenceStore
-	 */
-	private void initializeDefaultAnnotationPrefs(IPreferenceStore preferenceStore) {
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.ERROR_INDICATION, true);
-		PreferenceConverter.setDefault(preferenceStore, CommonEditorPreferenceNames.ERROR_INDICATION_COLOR, new RGB(255, 0, 128));
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.WARNING_INDICATION, true);
-		PreferenceConverter.setDefault(preferenceStore, CommonEditorPreferenceNames.WARNING_INDICATION_COLOR, new RGB(244, 200, 45));
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.TASK_INDICATION, false);
-		PreferenceConverter.setDefault(preferenceStore, CommonEditorPreferenceNames.TASK_INDICATION_COLOR, new RGB(0, 128, 255));
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.BOOKMARK_INDICATION, false);
-		PreferenceConverter.setDefault(preferenceStore, CommonEditorPreferenceNames.BOOKMARK_INDICATION_COLOR, new RGB(34, 164, 99));
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.SEARCH_RESULT_INDICATION, true);
-		PreferenceConverter.setDefault(preferenceStore, CommonEditorPreferenceNames.SEARCH_RESULT_INDICATION_COLOR, new RGB(192, 192, 192));
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.UNKNOWN_INDICATION, false);
-		PreferenceConverter.setDefault(preferenceStore, CommonEditorPreferenceNames.UNKNOWN_INDICATION_COLOR, new RGB(0, 0, 0));
-
-		preferenceStore.setDefault(CommonEditorPreferenceNames.ERROR_INDICATION_IN_OVERVIEW_RULER, true);
-		preferenceStore.setDefault(CommonEditorPreferenceNames.WARNING_INDICATION_IN_OVERVIEW_RULER, true);
-		preferenceStore.setDefault(CommonEditorPreferenceNames.TASK_INDICATION_IN_OVERVIEW_RULER, true);
-		preferenceStore.setDefault(CommonEditorPreferenceNames.BOOKMARK_INDICATION_IN_OVERVIEW_RULER, true);
-		preferenceStore.setDefault(CommonEditorPreferenceNames.SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER, true);
-		preferenceStore.setDefault(CommonEditorPreferenceNames.UNKNOWN_INDICATION_IN_OVERVIEW_RULER, false);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginImageHelper.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginImageHelper.java
deleted file mode 100644
index fa3e6d2..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginImageHelper.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.internal.ui;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/**
- * Helper class to handle images provided by this plug-in.
- * 
- * NOTE: For internal use only. For images used externally, please use the
- * Shared***ImageHelper class instead.
- * 
- * @author amywu
- */
-public class XMLEditorPluginImageHelper {
-	private final String PLUGINID = XMLUIPlugin.ID;
-	private static XMLEditorPluginImageHelper instance = null;
-
-	//	 save a descriptor for each image
-	private HashMap fImageDescRegistry = null;
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a XMLEditorPluginImageHelper
-	 */
-	public synchronized static XMLEditorPluginImageHelper getInstance() {
-		if (instance == null)
-			instance = new XMLEditorPluginImageHelper();
-		return instance;
-	}
-
-	/**
-	 * Retrieves the image associated with resource from the image registry.
-	 * If the image cannot be retrieved, attempt to find and load the image at
-	 * the location specified in resource.
-	 * 
-	 * @param resource
-	 *            the image to retrieve
-	 * @return Image the image associated with resource or null if one could
-	 *         not be found
-	 */
-	public Image getImage(String resource) {
-		Image image = getImageRegistry().get(resource);
-		if (image == null) {
-			// create an image
-			image = createImage(resource);
-		}
-		return image;
-	}
-
-	/**
-	 * Retrieves the image descriptor associated with resource from the image
-	 * descriptor registry. If the image descriptor cannot be retrieved,
-	 * attempt to find and load the image descriptor at the location specified
-	 * in resource.
-	 * 
-	 * @param resource
-	 *            the image descriptor to retrieve
-	 * @return ImageDescriptor the image descriptor assocated with resource or
-	 *         the default "missing" image descriptor if one could not be
-	 *         found
-	 */
-	public ImageDescriptor getImageDescriptor(String resource) {
-		ImageDescriptor imageDescriptor = null;
-		Object o = getImageDescriptorRegistry().get(resource);
-		if (o == null) {
-			//create a descriptor
-			imageDescriptor = createImageDescriptor(resource);
-		} else {
-			imageDescriptor = (ImageDescriptor) o;
-		}
-		return imageDescriptor;
-	}
-
-	/**
-	 * Returns the image descriptor registry for this plugin.
-	 * 
-	 * @return HashMap - image descriptor registry for this plugin
-	 */
-	private HashMap getImageDescriptorRegistry() {
-		if (fImageDescRegistry == null)
-			fImageDescRegistry = new HashMap();
-		return fImageDescRegistry;
-	}
-
-	/**
-	 * Returns the image registry for this plugin.
-	 * 
-	 * @return ImageRegistry - image registry for this plugin
-	 */
-	private ImageRegistry getImageRegistry() {
-		return JFaceResources.getImageRegistry();
-	}
-
-	/**
-	 * Creates an image from the given resource and adds the image to the
-	 * image registry.
-	 * 
-	 * @param resource
-	 * @return Image
-	 */
-	private Image createImage(String resource) {
-		ImageDescriptor desc = getImageDescriptor(resource);
-		Image image = null;
-
-		if (desc != null) {
-			image = desc.createImage();
-			// dont add the missing image descriptor image to the image
-			// registry
-			if (!desc.equals(ImageDescriptor.getMissingImageDescriptor()))
-				getImageRegistry().put(resource, image);
-		}
-		return image;
-	}
-
-	/**
-	 * Creates an image descriptor from the given imageFilePath and adds the
-	 * image descriptor to the image descriptor registry. If an image
-	 * descriptor could not be created, the default "missing" image descriptor
-	 * is returned but not added to the image descriptor registry.
-	 * 
-	 * @param imageFilePath
-	 * @return ImageDescriptor image descriptor for imageFilePath or default
-	 *         "missing" image descriptor if resource could not be found
-	 */
-	private ImageDescriptor createImageDescriptor(String imageFilePath) {
-		ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGINID, imageFilePath);
-		if (imageDescriptor != null) {
-			getImageDescriptorRegistry().put(imageFilePath, imageDescriptor);
-		} else {
-			imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-		}
-
-		return imageDescriptor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginImages.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginImages.java
deleted file mode 100644
index b1ee193..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginImages.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.internal.ui;
-
-/**
- * Bundle of most images used by the XML Editor plug-in.
- */
-public class XMLEditorPluginImages {
-	public static final String IMG_DTOOL_COLLAPSE = "icons/full/dtool16/collapse.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_COLLAPSE = "icons/full/etool16/collapse.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_COLLAPSEALL = "icons/full/dtool16/collapse_all.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_COLLAPSEALL = "icons/full/etool16/collapse_all.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_EXPAND = "icons/full/dtool16/expand.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_EXPAND = "icons/full/etool16/expand.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_EXPANDALL = "icons/full/dtool16/expand_all.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_EXPANDALL = "icons/full/etool16/expand_all.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_NEW_XML = "icons/full/dtool16/new_xml.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_NEW_XML = "icons/full/etool16/new_xml.gif"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorResourceHandler.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorResourceHandler.java
deleted file mode 100644
index 1c5ae81..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorResourceHandler.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.internal.ui;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class XMLEditorResourceHandler {
-	//Resource bundle.
-	private static ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.xml.internal.ui.XMLEditorResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorResources.properties b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorResources.properties
deleted file mode 100644
index 6fcd774..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorResources.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-XMLTableTreeViewer.0=Design
-XMLMultiPageEditorPart.0=Source
-XMLTreeExtension.0=Structure
-XMLTreeExtension.1=Value
-XMLTreeExtension.3=The document is empty.
-XMLTreeExtension.4=Right mouse click here to insert content.
-XMLTableTreeActionBarContributor.0=&XML
-XMLTableTreeActionBarContributor.1=&Expand All
-XMLTableTreeActionBarContributor.2=&Collapse All
-XMLTableTreeActionBarContributor.3=Turn Grammar Constraints Off
-XMLTableTreeActionBarContributor.4=&Turn Grammar Constraints Off
-XMLTableTreeActionBarContributor.5=Turn Grammar Constraints On
-XMLTableTreeActionBarContributor.6=&Turn Grammar Constraints On
-XMLTableTreeActionBarContributor.7=Reload Dependencies
-XMLTableTreeActionBarContributor.8=&Reload Dependencies
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLMultiPageEditorActionBarContributor.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLMultiPageEditorActionBarContributor.java
deleted file mode 100644
index 8eb0240..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLMultiPageEditorActionBarContributor.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.internal.ui;
-
-
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.sse.ui.ISourceViewerActionBarContributor;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeActionBarContributor;
-
-
-public class XMLMultiPageEditorActionBarContributor extends SourceEditorActionBarContributor {
-
-	private boolean needsMultiInit = true;
-
-	public XMLMultiPageEditorActionBarContributor() {
-		super();
-	}
-
-	protected void initDesignViewerActionBarContributor(IActionBars actionBars) {
-		super.initDesignViewerActionBarContributor(actionBars);
-
-		if (designViewerActionBarContributor != null)
-			if (designViewerActionBarContributor instanceof IDesignViewerActionBarContributor)
-				((IDesignViewerActionBarContributor) designViewerActionBarContributor).initViewerSpecificContributions(actionBars);
-	}
-
-	protected void activateDesignPage(IEditorPart activeEditor) {
-		if (sourceViewerActionContributor != null && sourceViewerActionContributor instanceof ISourceViewerActionBarContributor) {
-			// if design page is not really an IEditorPart, activeEditor ==
-			// null, so pass in multiPageEditor instead (d282414)
-			if (activeEditor == null) {
-				sourceViewerActionContributor.setActiveEditor(multiPageEditor);
-			} else {
-				sourceViewerActionContributor.setActiveEditor(activeEditor);
-			}
-			((ISourceViewerActionBarContributor) sourceViewerActionContributor).setViewerSpecificContributionsEnabled(false);
-		}
-
-		if (designViewerActionBarContributor != null && designViewerActionBarContributor instanceof IDesignViewerActionBarContributor) {
-			designViewerActionBarContributor.setActiveEditor(multiPageEditor);
-			((IDesignViewerActionBarContributor) designViewerActionBarContributor).setViewerSpecificContributionsEnabled(true);
-		}
-	}
-
-	protected void activateSourcePage(IEditorPart activeEditor) {
-		if (designViewerActionBarContributor != null && designViewerActionBarContributor instanceof IDesignViewerActionBarContributor) {
-			designViewerActionBarContributor.setActiveEditor(multiPageEditor);
-			((IDesignViewerActionBarContributor) designViewerActionBarContributor).setViewerSpecificContributionsEnabled(false);
-		}
-
-		if (sourceViewerActionContributor != null && sourceViewerActionContributor instanceof ISourceViewerActionBarContributor) {
-			sourceViewerActionContributor.setActiveEditor(activeEditor);
-			((ISourceViewerActionBarContributor) sourceViewerActionContributor).setViewerSpecificContributionsEnabled(true);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.part.EditorActionBarContributor#init(org.eclipse.ui.IActionBars)
-	 */
-	public void init(IActionBars actionBars) {
-		super.init(actionBars);
-		needsMultiInit = true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorActionBarContributor#setActiveEditor(org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IEditorPart targetEditor) {
-		if (needsMultiInit) {
-			designViewerActionBarContributor = new XMLTableTreeActionBarContributor();
-			initDesignViewerActionBarContributor(getActionBars());
-			needsMultiInit = false;
-		}
-		super.setActiveEditor(targetEditor);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLMultiPageEditorPart.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLMultiPageEditorPart.java
deleted file mode 100644
index 9021fe5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLMultiPageEditorPart.java
+++ /dev/null
@@ -1,771 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.internal.ui;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextInputListener;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IGotoMarker;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageEditorSite;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.xml.core.XMLPreferenceNames;
-import org.eclipse.wst.xml.ui.StructuredTextEditorXML;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeHelpContextIds;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeViewer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class XMLMultiPageEditorPart extends MultiPageEditorPart implements IPropertyListener {
-
-	/**
-	 * Internal part activation listener
-	 */
-	class PartListener extends ShellAdapter implements IPartListener {
-		private IWorkbenchPart fActivePart;
-		private boolean fIsHandlingActivation = false;
-
-		private void handleActivation() {
-
-			if (fIsHandlingActivation)
-				return;
-
-			if (fActivePart == XMLMultiPageEditorPart.this) {
-				fIsHandlingActivation = true;
-				try {
-					safelySanityCheckState();
-				} finally {
-					fIsHandlingActivation = false;
-				}
-			}
-		}
-
-		/**
-		 * @see IPartListener#partActivated(IWorkbenchPart)
-		 */
-		public void partActivated(IWorkbenchPart part) {
-			fActivePart = part;
-			handleActivation();
-		}
-
-		/**
-		 * @see IPartListener#partBroughtToTop(IWorkbenchPart)
-		 */
-		public void partBroughtToTop(IWorkbenchPart part) {
-		}
-
-		/**
-		 * @see IPartListener#partClosed(IWorkbenchPart)
-		 */
-		public void partClosed(IWorkbenchPart part) {
-		}
-
-		/**
-		 * @see IPartListener#partDeactivated(IWorkbenchPart)
-		 */
-		public void partDeactivated(IWorkbenchPart part) {
-			fActivePart = null;
-		}
-
-		/**
-		 * @see IPartListener#partOpened(IWorkbenchPart)
-		 */
-		public void partOpened(IWorkbenchPart part) {
-		}
-
-		/*
-		 * @see ShellListener#shellActivated(ShellEvent)
-		 */
-		public void shellActivated(ShellEvent e) {
-			handleActivation();
-		}
-	}
-
-	class TextInputListener implements ITextInputListener {
-		public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
-		}
-
-		public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
-			if (fDesignViewer != null && newInput != null)
-				fDesignViewer.setModel(getModel());
-		}
-	}
-
-	/** The design page index. */
-	private int fDesignPageIndex;
-
-	/** The design viewer */
-	private IDesignViewer fDesignViewer;
-
-	/** The source page index. */
-	private int fSourcePageIndex;
-	/** The text editor. */
-	private StructuredTextEditor fTextEditor;
-
-	private PartListener partListener;
-
-	/**
-	 * StructuredTextMultiPageEditorPart constructor comment.
-	 */
-	public XMLMultiPageEditorPart() {
-		super();
-	}
-
-	/*
-	 * This method is just to make firePropertyChanged accessbible from some
-	 * (anonomous) inner classes.
-	 */
-	protected void _firePropertyChange(int property) {
-		super.firePropertyChange(property);
-	}
-
-	/**
-	 * Adds the source page of the multi-page editor.
-	 */
-	protected void addSourcePage() throws PartInitException {
-		try {
-			fSourcePageIndex = addPage(fTextEditor, getEditorInput());
-			setPageText(fSourcePageIndex, XMLEditorResourceHandler.getResourceString("%XMLMultiPageEditorPart.0")); //$NON-NLS-1$
-			// the update's critical, to get viewer selection manager and
-			// highlighting to work
-			fTextEditor.update();
-
-			firePropertyChange(PROP_TITLE);
-
-			// Changes to the Text Viewer's document instance should also
-			// force an
-			// input refresh
-			fTextEditor.getTextViewer().addTextInputListener(new TextInputListener());
-		} catch (PartInitException exception) {
-			// dispose editor
-			dispose();
-			Logger.logException(exception);
-			throw new SourceEditingRuntimeException(exception, SSEUIPlugin.getResourceString("%An_error_has_occurred_when1_ERROR_")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Connects the design viewer with the viewer selection manager. Should be
-	 * done after createSourcePage() is done because we need to get the
-	 * ViewerSelectionManager from the TextEditor. setModel is also done here
-	 * because getModel() needs to reference the TextEditor.
-	 */
-	protected void connectDesignPage() {
-		if (fDesignViewer != null) {
-			fDesignViewer.setViewerSelectionManager(fTextEditor.getViewerSelectionManager());
-			fDesignViewer.setModel(getModel());
-		}
-	}
-
-	/**
-	 * Create and Add the Design Page using a registered factory
-	 * 
-	 */
-	protected void createAndAddDesignPage() {
-		XMLTableTreeViewer tableTreeViewer = new XMLTableTreeViewer(getContainer());
-		//  Set the default infopop for XML design viewer.
-		WorkbenchHelp.setHelp(tableTreeViewer.getControl(), XMLTableTreeHelpContextIds.XML_DESIGN_VIEW_HELPID);
-
-		fDesignViewer = tableTreeViewer;
-		// note: By adding the design page as a Control instead of an
-		// IEditorPart, page switches will indicate
-		// a "null" active editor when the design page is made active
-		fDesignPageIndex = addPage(tableTreeViewer.getControl());
-		setPageText(fDesignPageIndex, tableTreeViewer.getTitle());
-	}
-
-	/**
-	 * Creates the pages of this multi-page editor.
-	 * <p>
-	 * Subclasses of <code>MultiPageEditor</code> must implement this
-	 * method.
-	 * </p>
-	 */
-	protected void createPages() {
-		try {
-			// source page MUST be created before design page, now
-			createSourcePage();
-			createAndAddDesignPage();
-			addSourcePage();
-			connectDesignPage();
-
-			setActivePage();
-
-			// future_TODO: add a catch block here for any exception the
-			// design
-			// page throws and convert it into a more informative message.
-		} catch (PartInitException e) {
-			Logger.logException(e);
-			throw new RuntimeException(e);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.MultiPageEditorPart#createSite(org.eclipse.ui.IEditorPart)
-	 */
-	protected IEditorSite createSite(IEditorPart editor) {
-		IEditorSite site = null;
-		if (editor == fTextEditor) {
-			site = new MultiPageEditorSite(this, editor) {
-				/**
-				 * @see org.eclipse.ui.part.MultiPageEditorSite#getActionBarContributor()
-				 */
-				public IEditorActionBarContributor getActionBarContributor() {
-					IEditorActionBarContributor contributor = super.getActionBarContributor();
-					IEditorActionBarContributor multiContributor = XMLMultiPageEditorPart.this.getEditorSite().getActionBarContributor();
-					if (multiContributor instanceof XMLMultiPageEditorActionBarContributor) {
-						contributor = ((XMLMultiPageEditorActionBarContributor) multiContributor).sourceViewerActionContributor;
-					}
-					return contributor;
-				}
-			};
-		} else {
-			site = super.createSite(editor);
-		}
-		return site;
-	}
-
-	/**
-	 * Creates the source page of the multi-page editor.
-	 */
-	protected void createSourcePage() throws PartInitException {
-		fTextEditor = createTextEditor();
-		fTextEditor.setEditorPart(this);
-
-		// Set the SourceViewerConfiguration now so the text editor won't use
-		// the default configuration first
-		// and switch to the StructuredTextViewerConfiguration later.
-		// DMW removed setSourceViewerConfiguration 3/26/2003 since added
-		// createPartControl to our text editor.
-		// fTextEditor.setSourceViewerConfiguration();
-		fTextEditor.addPropertyListener(this);
-	}
-
-	/**
-	 * Method createTextEditor.
-	 * 
-	 * @return StructuredTextEditor
-	 */
-	protected StructuredTextEditor createTextEditor() {
-		return new StructuredTextEditorXML();
-	}
-
-	protected void disconnectDesignPage() {
-		if (fDesignViewer != null) {
-			fDesignViewer.setModel(null);
-			fDesignViewer.setViewerSelectionManager(null);
-		}
-	}
-
-	public void dispose() {
-		Logger.trace("Source Editor", "StructuredTextMultiPageEditorPart::dispose entry"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		disconnectDesignPage();
-
-		IWorkbenchWindow window = getSite().getWorkbenchWindow();
-		window.getPartService().removePartListener(partListener);
-		window.getShell().removeShellListener(partListener);
-
-		getSite().getPage().removePartListener(partListener);
-		if (fTextEditor != null) {
-			fTextEditor.removePropertyListener(this);
-		}
-
-		// moved to last when added window ... seems like
-		// we'd be in danger of losing some data, like site,
-		// or something.
-		super.dispose();
-
-		Logger.trace("Source Editor", "StructuredTextMultiPageEditorPart::dispose exit"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	}
-
-	/*
-	 * (non-Javadoc) Saves the contents of this editor. <p> Subclasses must
-	 * override this method to implement the open-save-close lifecycle for an
-	 * editor. For greater details, see <code> IEditorPart </code></p>
-	 * 
-	 * @see IEditorPart
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		fTextEditor.doSave(monitor);
-		//		// this is a temporary way to force validation.
-		//		// when the validator is a workbench builder, the following lines
-		// can be removed
-		//		if (fDesignViewer != null)
-		//			fDesignViewer.saveOccurred();
-
-	}
-
-	/*
-	 * (non-Javadoc) Saves the contents of this editor to another object. <p>
-	 * Subclasses must override this method to implement the open-save-close
-	 * lifecycle for an editor. For greater details, see <code> IEditorPart
-	 * </code></p>
-	 * 
-	 * @see IEditorPart
-	 */
-	public void doSaveAs() {
-		fTextEditor.doSaveAs();
-		// 253619
-		// following used to be executed here, but is
-		// now called "back" from text editor (since
-		// mulitiple paths to the performSaveAs in StructuredTextEditor.
-		//doSaveAsForStructuredTextMulitPagePart();
-	}
-
-	private void editorInputIsAcceptable(IEditorInput input) throws PartInitException {
-		if (input instanceof IFileEditorInput) {
-			// verify that it can be opened
-			CoreException[] coreExceptionArray = new CoreException[1];
-			if (fileDoesNotExist((IFileEditorInput) input, coreExceptionArray)) {
-				CoreException coreException = coreExceptionArray[0];
-				if (coreException.getStatus().getCode() == IResourceStatus.FAILED_READ_LOCAL) {
-					// I'm assuming this is always 'does not exist'
-					// we'll refresh local go mimic behavior of default
-					// editor, where the
-					// troublesome file is refreshed (and will cause it to
-					// 'disappear' from Navigator.
-					try {
-						((IFileEditorInput) input).getFile().refreshLocal(IResource.DEPTH_ZERO, new NullProgressMonitor());
-					} catch (CoreException ce) {
-						// very unlikely
-						Logger.logException(ce);
-					}
-					throw new PartInitException(SSEUIPlugin.getResourceString("%23concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
-					//$NON-NLS-1$ = "Resource {0} does not exist."
-				} else {
-					throw new PartInitException(SSEUIPlugin.getResourceString("%32concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
-					//$NON-NLS-1$ = "Editor could not be open on {0}"
-				}
-			}
-		} else if (input instanceof IStorageEditorInput) {
-			InputStream contents = null;
-			try {
-				contents = ((IStorageEditorInput) input).getStorage().getContents();
-			} catch (CoreException noStorageExc) {
-			}
-			if (contents == null) {
-				throw new PartInitException(SSEUIPlugin.getResourceString("%32concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
-			} else {
-				try {
-					contents.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-	}
-
-	//	void doSaveAsForStructuredTextMulitPagePart() {
-	//		setPageText(getActivePage(), fTextEditor.getTitle());
-	//		setInput(fTextEditor.getEditorInput());
-	//		if (fDesignViewer != null) {
-	//			//fDesignViewer.setEditorInput(fTextEditor.getEditorInput());
-	//			fDesignViewer.setModel(getModel());
-	//			fDesignViewer.saveAsOccurred();
-	//		}
-	//		// even though we've set title etc., several times already!
-	//		// only now is all prepared for it.
-	//		firePropertyChange(IWorkbenchPart.PROP_TITLE);
-	//		firePropertyChange(PROP_DIRTY);
-	//	}
-	/*
-	 * (non-Javadoc) Initializes the editor part with a site and input. <p>
-	 * Subclasses of <code> EditorPart </code> must implement this method.
-	 * Within the implementation subclasses should verify that the input type
-	 * is acceptable and then save the site and input. Here is sample code:
-	 * </p><pre> if (!(input instanceof IFileEditorInput)) throw new
-	 * PartInitException("Invalid Input: Must be IFileEditorInput");
-	 * setSite(site); setInput(editorInput); </pre>
-	 */
-	protected boolean fileDoesNotExist(IFileEditorInput input, Throwable[] coreException) {
-		boolean result = false;
-		InputStream inStream = null;
-		if ((!(input.exists())) || (!(input.getFile().exists()))) {
-			result = true;
-		} else {
-			try {
-				inStream = input.getFile().getContents(true);
-			} catch (CoreException e) {
-				// very likely to be file not found
-				result = true;
-				coreException[0] = e;
-			} finally {
-				if (input != null) {
-					try {
-						if (inStream != null) {
-							inStream.close();
-						}
-					} catch (IOException e) {
-						Logger.logException(e);
-					}
-				}
-			}
-		}
-		return result;
-	}
-
-	public Object getAdapter(Class key) {
-		Object result = null;
-		if (key == IDesignViewer.class) {
-			result = fDesignViewer;
-		} else {
-			// DMW: I'm bullet-proofing this because
-			// its been reported (on 4.03 version) a null pointer sometimes
-			// happens here on startup, when an editor has been left
-			// open when workbench shutdown.
-			if (fTextEditor != null) {
-				result = fTextEditor.getAdapter(key);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * IExtendedMarkupEditor method
-	 */
-	public Node getCaretNode() {
-		if (getTextEditor() == null)
-			return null;
-
-		return getTextEditor().getCaretNode();
-	}
-
-	/**
-	 * IExtendedSimpleEditor method
-	 */
-	public int getCaretPosition() {
-		if (getTextEditor() == null)
-			return -1;
-
-		return getTextEditor().getCaretPosition();
-	}
-
-	/**
-	 * IExtendedSimpleEditor method
-	 */
-	public IDocument getDocument() {
-		if (getTextEditor() == null)
-			return null;
-
-		return getTextEditor().getDocument();
-	}
-
-	/**
-	 * IExtendedMarkupEditor method
-	 */
-	public Document getDOMDocument() {
-		if (getTextEditor() == null)
-			return null;
-
-		return getTextEditor().getDOMDocument();
-	}
-
-	/**
-	 * IExtendedSimpleEditor method
-	 */
-	public IEditorPart getEditorPart() {
-		return this;
-	}
-
-	protected IStructuredModel getModel() {
-		IStructuredModel model = null;
-		if (fTextEditor != null)
-			model = fTextEditor.getModel();
-		return model;
-	}
-
-	protected IPreferenceStore getPreferenceStore() {
-		return XMLUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	/**
-	 * IExtendedMarkupEditor method
-	 */
-	public List getSelectedNodes() {
-		if (getTextEditor() == null)
-			return null;
-		return getTextEditor().getSelectedNodes();
-	}
-
-	/**
-	 * IExtendedSimpleEditor method
-	 */
-	public Point getSelectionRange() {
-		if (getTextEditor() == null)
-			return new Point(-1, -1);
-
-		return getTextEditor().getSelectionRange();
-	}
-
-	public StructuredTextEditor getTextEditor() {
-		return fTextEditor;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IWorkbenchPart.
-	 */
-	public String getTitle() {
-		String title = null;
-		if (getTextEditor() == null) {
-			if (getEditorInput() != null) {
-				title = getEditorInput().getName();
-			}
-		} else {
-			title = getTextEditor().getTitle();
-		}
-		if (title == null) {
-			title = getPartName();
-		}
-		return title;
-	}
-
-	/*
-	 * (non-Javadoc) Sets the cursor and selection state for this editor to
-	 * the passage defined by the given marker. <p> Subclasses may override.
-	 * For greater details, see <code> IEditorPart </code></p>
-	 * 
-	 * @see IEditorPart
-	 */
-	public void gotoMarker(IMarker marker) {
-		// (pa) 20020217 this was null when opening an editor that was
-		// already open
-		if (fTextEditor != null) {
-			IGotoMarker markerGotoer = (IGotoMarker) fTextEditor.getAdapter(IGotoMarker.class);
-			markerGotoer.gotoMarker(marker);
-		}
-	}
-
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		editorInputIsAcceptable(input);
-		try {
-			super.init(site, input);
-			if (partListener == null) {
-				partListener = new PartListener();
-			}
-			//getSite().getPage().addPartListener(partListner);
-			// we want to listen for our own activation
-			IWorkbenchWindow window = getSite().getWorkbenchWindow();
-			window.getPartService().addPartListener(partListener);
-			window.getShell().addShellListener(partListener);
-		} catch (Exception e) {
-			if (e instanceof SourceEditingRuntimeException) {
-				Throwable t = ((SourceEditingRuntimeException) e).getOriginalException();
-				if (t instanceof IOException) {
-					System.out.println(t);
-					// file not found
-				}
-			}
-		}
-		setPartName(input.getName());
-	}
-
-	/*
-	 * (non-Javadoc) Returns whether the "save as" operation is supported by
-	 * this editor. <p> Subclasses must override this method to implement the
-	 * open-save-close lifecycle for an editor. For greater details, see
-	 * <code> IEditorPart </code></p>
-	 * 
-	 * @see IEditorPart
-	 */
-	public boolean isSaveAsAllowed() {
-		return fTextEditor != null && fTextEditor.isSaveAsAllowed();
-	}
-
-	/*
-	 * (non-Javadoc) Returns whether the contents of this editor should be
-	 * saved when the editor is closed. <p> This method returns <code> true
-	 * </code> if and only if the editor is dirty ( <code> isDirty </code> ).
-	 * </p>
-	 */
-	public boolean isSaveOnCloseNeeded() {
-		// overriding super class since it does a lowly isDirty!
-		if (fTextEditor != null)
-			return fTextEditor.isSaveOnCloseNeeded();
-		return isDirty();
-	}
-
-	/**
-	 * Notifies this multi-page editor that the page with the given id has
-	 * been activated. This method is called when the user selects a different
-	 * tab.
-	 * 
-	 * @param newPageIndex
-	 *            the index of the activated page
-	 */
-	protected void pageChange(int newPageIndex) {
-		super.pageChange(newPageIndex);
-
-		saveLastActivePageIndex(newPageIndex);
-	}
-
-	/**
-	 * Posts the update code "behind" the running operation.
-	 */
-	protected void postOnDisplayQue(Runnable runnable) {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-		if (windows != null && windows.length > 0) {
-			Display display = windows[0].getShell().getDisplay();
-			display.asyncExec(runnable);
-		} else
-			runnable.run();
-	}
-
-	/**
-	 * Indicates that a property has changed.
-	 * 
-	 * @param source
-	 *            the object whose property has changed
-	 * @param propId
-	 *            the id of the property which has changed; property ids are
-	 *            generally defined as constants on the source class
-	 */
-	public void propertyChanged(Object source, int propId) {
-		switch (propId) {
-			// had to implement input changed "listener" so that
-			// strucutedText could tell it containing editor that
-			// the input has change, when a 'resource moved' event is
-			// found.
-			case IEditorPart.PROP_INPUT :
-			case IEditorPart.PROP_DIRTY : {
-				if (source == fTextEditor) {
-					if (fTextEditor.getEditorInput() != getEditorInput()) {
-						setInput(fTextEditor.getEditorInput());
-						// title should always change when input changes.
-						// create runnable for following post call
-						Runnable runnable = new Runnable() {
-							public void run() {
-								_firePropertyChange(IWorkbenchPart.PROP_TITLE);
-							}
-						};
-						// Update is just to post things on the display queue
-						// (thread). We have to do this to get the dirty
-						// property to get updated after other things on the
-						// queue are executed.
-						postOnDisplayQue(runnable);
-					}
-				}
-				break;
-			}
-			case IWorkbenchPart.PROP_TITLE : {
-				// update the input if the title is changed
-				if (source == fTextEditor) {
-					if (fTextEditor.getEditorInput() != getEditorInput()) {
-						setInput(fTextEditor.getEditorInput());
-					}
-				}
-				break;
-			}
-			default : {
-				// propagate changes. Is this needed? Answer: Yes.
-				if (source == fTextEditor) {
-					firePropertyChange(propId);
-				}
-				break;
-			}
-		}
-
-	}
-
-	protected void safelySanityCheckState() {
-		// If we're called before editor is created, simply ignore since we
-		// delegate this function to our embedded TextEditor
-		if (getTextEditor() == null)
-			return;
-
-		getTextEditor().safelySanityCheckState(getEditorInput());
-
-	}
-
-	protected void saveLastActivePageIndex(int newPageIndex) {
-		// save the last active page index to preference manager
-		getPreferenceStore().setValue(XMLPreferenceNames.LAST_ACTIVE_PAGE, newPageIndex);
-	}
-
-	/**
-	 * Sets the currently active page.
-	 */
-	protected void setActivePage() {
-		// retrieve the last active page index from preference manager
-		int activePageIndex = getPreferenceStore().getInt(XMLPreferenceNames.LAST_ACTIVE_PAGE);
-
-		// We check this range since someone could hand edit the XML
-		// preference file to an invalid value ... which I know from
-		// experience :( ... if they do, we'll reset to default and continue
-		// rather than throw an assertion error in the setActivePage(int)
-		// method.
-		if (activePageIndex < 0 || activePageIndex >= getPageCount()) {
-			activePageIndex = fDesignPageIndex;
-		}
-		setActivePage(activePageIndex);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.part.EditorPart#setInput(org.eclipse.ui.IEditorInput)
-	 */
-	protected void setInput(IEditorInput input) {
-		// If driven from the Source page, it's "model" may not be up to date
-		// with the input just yet. We'll rely on later notification from the
-		// TextViewer to set us straight
-		super.setInput(input);
-		if (fDesignViewer != null)
-			fDesignViewer.setModel(getModel());
-		setPartName(input.getName());
-	}
-
-	/**
-	 * IExtendedMarkupEditor method
-	 */
-	public IStatus validateEdit(Shell context) {
-		if (getTextEditor() == null)
-			return new Status(IStatus.ERROR, XMLUIPlugin.ID, IStatus.INFO, "", null); //$NON-NLS-1$
-
-		return getTextEditor().validateEdit(context);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/DOMPropertyDescriptorFactory.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/DOMPropertyDescriptorFactory.java
deleted file mode 100644
index 906c4c5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/DOMPropertyDescriptorFactory.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.ui.internal.properties.EnumeratedStringPropertyDescriptor;
-import org.w3c.dom.Attr;
-import org.w3c.dom.CDATASection;
-import org.w3c.dom.Comment;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.EntityReference;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-
-
-public class DOMPropertyDescriptorFactory {
-
-	protected static final String HACK = "hack"; //$NON-NLS-1$
-	private ModelQuery fModelQuery = null;
-
-	public DOMPropertyDescriptorFactory(ModelQuery modelQuery) {
-		fModelQuery = modelQuery;
-	}
-
-	public IPropertyDescriptor createAttributePropertyDescriptor(Attr attr) {
-		IPropertyDescriptor result = null;
-
-		String attributeName = attr.getName();
-
-		CMAttributeDeclaration ad = fModelQuery.getCMAttributeDeclaration(attr);
-		if (ad != null) {
-			String[] valuesArray = fModelQuery.getPossibleDataTypeValues(attr.getOwnerElement(), ad);
-			if (valuesArray != null && valuesArray.length > 0) {
-				result = new EnumeratedStringPropertyDescriptor(attributeName, attributeName, valuesArray);
-			}
-		}
-
-		if (result == null) {
-			result = createDefaultPropertyDescriptor(attributeName);
-		}
-		return result;
-	}
-
-	public IPropertyDescriptor createCDATASectionPropertyDescriptor(CDATASection cdataSection) {
-		return createDefaultPropertyDescriptor(HACK);
-	}
-
-	public IPropertyDescriptor createCommentPropertyDescriptor(Comment comment) {
-		return createDefaultPropertyDescriptor(HACK);
-	}
-
-	protected IPropertyDescriptor createDefaultPropertyDescriptor(String attributeName) {
-		TextPropertyDescriptor descriptor = new TextPropertyDescriptor(attributeName, attributeName);
-		return descriptor;
-	}
-
-	public IPropertyDescriptor createDocumentTypePropertyDescriptor(DocumentType documentType) {
-		return null; //new TextPropertyDescriptor(HACK, HACK);
-	}
-
-	public IPropertyDescriptor createElementPropertyDescriptor(Element element) {
-		return createDefaultPropertyDescriptor(HACK);
-	}
-
-	public IPropertyDescriptor createEntityReferencePropertyDescriptor(EntityReference entityReference) {
-		return createDefaultPropertyDescriptor(HACK);
-	}
-
-	public IPropertyDescriptor createProcessingInstructionPropertyDescriptor(ProcessingInstruction pi) {
-		return createDefaultPropertyDescriptor(HACK);
-	}
-
-	public IPropertyDescriptor createPropertyDescriptor(Object object) {
-		IPropertyDescriptor result = null;
-		if (object instanceof Node) {
-			Node node = (Node) object;
-			int nodeType = node.getNodeType();
-			switch (nodeType) {
-				case Node.ATTRIBUTE_NODE : {
-					result = createAttributePropertyDescriptor((Attr) node);
-					break;
-				}
-				case Node.CDATA_SECTION_NODE : {
-					result = createCDATASectionPropertyDescriptor((CDATASection) node);
-					break;
-				}
-				case Node.COMMENT_NODE : {
-					result = createCommentPropertyDescriptor((Comment) node);
-					break;
-				}
-				case Node.DOCUMENT_TYPE_NODE : {
-					result = createDocumentTypePropertyDescriptor((DocumentType) node);
-					break;
-				}
-				case Node.ELEMENT_NODE : {
-					result = createElementPropertyDescriptor((Element) node);
-					break;
-				}
-				case Node.ENTITY_REFERENCE_NODE : {
-					result = createEntityReferencePropertyDescriptor((EntityReference) node);
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					result = createProcessingInstructionPropertyDescriptor((ProcessingInstruction) node);
-					break;
-				}
-				case Node.TEXT_NODE : {
-					result = createTextPropertyDescriptor((Text) node);
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	public IPropertyDescriptor createTextPropertyDescriptor(Text text) {
-		return createDefaultPropertyDescriptor(HACK);
-	}
-
-
-	public ModelQuery getModelQuery() {
-		return fModelQuery;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeContentHelper.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeContentHelper.java
deleted file mode 100644
index d042bc2..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeContentHelper.java
+++ /dev/null
@@ -1,431 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.contentmodel.util.DOMWriter;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-
-
-/**
- * This performs the work of taking a DOM tree and converting it to a
- * displayable 'UI' tree.
- * 
- * For example : - white space text nodes are ommited from the 'UI' tree -
- * adjacent Text and EntityReference nodes are combined into a single 'UI'
- * node - Elements with 'text only' children are diplayed without children
- *  
- */
-public class TreeContentHelper {
-
-	public static final int HIDE_WHITE_SPACE_TEXT_NODES = 8;
-	public static final int COMBINE_ADJACENT_TEXT_AND_ENTITY_REFERENCES = 16;
-	public static final int HIDE_ELEMENT_CHILD_TEXT_NODES = 32;
-
-	protected int style = HIDE_WHITE_SPACE_TEXT_NODES | COMBINE_ADJACENT_TEXT_AND_ENTITY_REFERENCES | HIDE_ELEMENT_CHILD_TEXT_NODES;
-
-	/**
-	 *  
-	 */
-	public boolean hasStyleFlag(int flag) {
-		return (style & flag) != 0;
-	}
-
-	/**
-	 *  
-	 */
-	public Object[] getChildren(Object element) {
-		Object[] result = null;
-
-		if (element instanceof Node) {
-			Node node = (Node) element;
-			List list = new ArrayList();
-			boolean textContentOnly = true;
-
-			NamedNodeMap map = node.getAttributes();
-			if (map != null) {
-				int length = map.getLength();
-				for (int i = 0; i < length; i++) {
-					list.add(map.item(i));
-					textContentOnly = false;
-				}
-			}
-
-			Node prevIncludedNode = null;
-			for (Node childNode = node.getFirstChild(); childNode != null; childNode = childNode.getNextSibling()) {
-				int childNodeType = childNode.getNodeType();
-				boolean includeNode = true;
-
-				if (includeNode && hasStyleFlag(HIDE_WHITE_SPACE_TEXT_NODES)) {
-					if (isIgnorableText(childNode)) {
-						// filter out the ignorable text node
-						includeNode = false;
-					}
-				}
-
-				if (includeNode && hasStyleFlag(COMBINE_ADJACENT_TEXT_AND_ENTITY_REFERENCES)) {
-					if (isTextOrEntityReferenceNode(childNode) && prevIncludedNode != null && isTextOrEntityReferenceNode(prevIncludedNode)) {
-						// we only show the first of a list of adjacent text
-						// or entity reference node in the tree
-						// so we filter out this subsequent one
-						includeNode = false;
-					}
-				}
-
-				if (hasStyleFlag(HIDE_ELEMENT_CHILD_TEXT_NODES)) {
-					if (childNodeType != Node.TEXT_NODE && childNodeType != Node.ENTITY_REFERENCE_NODE) {
-						textContentOnly = false;
-					}
-				}
-
-				if (includeNode) {
-					list.add(childNode);
-					prevIncludedNode = childNode;
-				}
-			}
-
-			if (hasStyleFlag(HIDE_ELEMENT_CHILD_TEXT_NODES) && textContentOnly) {
-				result = new Object[0];
-			} else {
-				result = list.toArray();
-			}
-		}
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	protected boolean isTextOrEntityReferenceNode(Node node) {
-		return node.getNodeType() == Node.TEXT_NODE || node.getNodeType() == Node.ENTITY_REFERENCE_NODE;
-	}
-
-	/**
-	 *  
-	 */
-	public boolean isIgnorableText(Node node) {
-		boolean result = false;
-		if (node.getNodeType() == Node.TEXT_NODE) {
-			String data = ((Text) node).getData();
-			result = (data == null || data.trim().length() == 0);
-		}
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	public boolean isCombinedTextNode(Node node) {
-		boolean result = false;
-		if (node.getNodeType() == Node.TEXT_NODE) {
-			Node nextNode = node.getNextSibling();
-			if (nextNode != null) {
-				if (nextNode.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
-					result = true;
-				}
-			}
-		} else if (node.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
-			result = true;
-		}
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	public List getCombinedTextNodeList(Node theNode) {
-		List list = new Vector();
-		boolean prevIsEntity = false;
-		for (Node node = theNode; node != null; node = node.getNextSibling()) {
-			int nodeType = node.getNodeType();
-			if (nodeType == Node.ENTITY_REFERENCE_NODE) {
-				prevIsEntity = true;
-				list.add(node);
-			} else if (nodeType == Node.TEXT_NODE && (prevIsEntity || node == theNode)) {
-				prevIsEntity = false;
-				list.add(node);
-			} else {
-				break;
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * If the element is has 'text only' content this method will return the
-	 * list of elements that compose the text only content
-	 */
-	public List getElementTextContent(Element element) {
-		List result = null;
-		if (!element.hasAttributes()) {
-			for (Node node = element.getFirstChild(); node != null; node = node.getNextSibling()) {
-				if (node.getNodeType() == Node.TEXT_NODE || node.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
-					if (result == null) {
-						result = new Vector();
-					}
-					result.add(node);
-				} else {
-					result = null;
-					break;
-				}
-			}
-		}
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	public String getNodeValue(Node node) {
-		String result = null;
-		int nodeType = node.getNodeType();
-		switch (nodeType) {
-			case Node.ATTRIBUTE_NODE : {
-				result = ((Attr) node).getValue();
-				break;
-			}
-			case Node.CDATA_SECTION_NODE :
-			// drop thru
-			case Node.COMMENT_NODE : {
-				result = ((CharacterData) node).getData();
-				break;
-			}
-			case Node.DOCUMENT_TYPE_NODE : {
-				result = getDocumentTypeValue((DocumentType) node);
-				break;
-			}
-			case Node.ELEMENT_NODE : {
-				result = getElementNodeValue((Element) node);
-				break;
-			}
-			case Node.ENTITY_REFERENCE_NODE :
-			// drop thru
-			case Node.TEXT_NODE : {
-				result = getTextNodeValue(node);
-				break;
-			}
-			case Node.PROCESSING_INSTRUCTION_NODE : {
-				result = ((ProcessingInstruction) node).getData();
-				break;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	public void setNodeValue(Node node, String value) {
-		int nodeType = node.getNodeType();
-		try {
-			switch (nodeType) {
-				case Node.ATTRIBUTE_NODE : {
-					((Attr) node).setValue(value);
-					break;
-				}
-				case Node.CDATA_SECTION_NODE :
-				// drop thru
-				case Node.COMMENT_NODE : {
-					((CharacterData) node).setData(value);
-					break;
-				}
-				case Node.ELEMENT_NODE : {
-					setElementNodeValue((Element) node, value);
-					break;
-				}
-				case Node.ENTITY_REFERENCE_NODE :
-				// drop thru
-				case Node.TEXT_NODE : {
-					setTextNodeValue(node, value);
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					((ProcessingInstruction) node).setData(value);
-					break;
-				}
-			}
-		} catch (DOMException e) {
-			Display d = getDisplay();
-			if (d != null)
-				d.beep();
-		}
-	}
-
-	private Display getDisplay() {
-
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-
-	/**
-	 *  
-	 */
-	protected String getDocumentTypeValue(DocumentType documentType) {
-		return DOMWriter.getDocumentTypeData(documentType);
-	}
-
-	/**
-	 *  
-	 */
-	protected String getElementNodeValue(Element element) {
-		String result = null;
-		List list = getElementTextContent(element);
-		if (list != null) {
-			result = getValueForTextContent(list);
-		}
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	protected void setElementNodeValue(Element element, String value) {
-		List list = getElementTextContent(element);
-		if (list != null) {
-			setValueForTextContent(list, value);
-		} else {
-			Document document = element.getOwnerDocument();
-			Text text = document.createTextNode(value);
-			element.appendChild(text);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	protected String getTextNodeValue(Node node) {
-		String result = null;
-		List list = null;
-		if (isCombinedTextNode(node)) {
-			list = getCombinedTextNodeList(node);
-		} else {
-			list = new Vector();
-			list.add(node);
-		}
-		result = getValueForTextContent(list);
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	protected void setTextNodeValue(Node node, String value) {
-		List list = null;
-		if (isCombinedTextNode(node)) {
-			list = getCombinedTextNodeList(node);
-		} else {
-			list = new Vector();
-			list.add(node);
-		}
-		setValueForTextContent(list, value);
-	}
-
-	public Text getEffectiveTextNodeForCombinedNodeList(List list) {
-		Text result = null;
-		for (Iterator i = list.iterator(); i.hasNext();) {
-			Node node = (Node) i.next();
-			if (node.getNodeType() == Node.TEXT_NODE) {
-				result = (Text) node;
-				break;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	protected String getValueForTextContent(List list) {
-		String result = null;
-		if (list.size() > 0) {
-			XMLNode first = (XMLNode) list.get(0);
-			XMLNode last = (XMLNode) list.get(list.size() - 1);
-			XMLModel model = first.getModel();
-			int start = first.getStartOffset();
-			int end = last.getEndOffset();
-			try {
-				result = model.getStructuredDocument().get(start, end - start);
-			} catch (Exception e) {
-			}
-		}
-
-		// we trim the content so that it looks nice when viewed
-		// we need to be carfull to preserve the 'trimmed' text when the value
-		// is set (see setValueForTextContent)
-		if (result != null) {
-			result = result.trim();
-		}
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	protected void setValueForTextContent(List list, String value) {
-		//String oldValue = getValueForTextContent();
-		// we worry about preserving trimmed text
-		if (list.size() > 0) {
-			XMLNode first = (XMLNode) list.get(0);
-			XMLNode last = (XMLNode) list.get(list.size() - 1);
-			int start = first.getStartOffset();
-			int end = last.getEndOffset();
-			first.getModel().getStructuredDocument().replaceText(this, start, end - start, value);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public boolean isEditable(Node node) {
-		int nodeType = node.getNodeType();
-		boolean result = false;
-		switch (nodeType) {
-			case Node.ATTRIBUTE_NODE :
-			// drop thru
-			case Node.CDATA_SECTION_NODE :
-			// drop thru
-			case Node.COMMENT_NODE :
-			// drop thru
-			case Node.ENTITY_REFERENCE_NODE :
-			// drop thru
-			case Node.TEXT_NODE :
-			// drop thru
-			case Node.PROCESSING_INSTRUCTION_NODE : {
-				result = true;
-				break;
-			}
-			case Node.ELEMENT_NODE : {
-				result = getElementTextContent((Element) node) != null || node.getChildNodes().getLength() == 0;
-				break;
-			}
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeExtension.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeExtension.java
deleted file mode 100644
index 2800ef5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeExtension.java
+++ /dev/null
@@ -1,512 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.PlatformUI;
-
-
-public class TreeExtension implements PaintListener {
-
-	protected Tree tree;
-	protected EditManager editManager;
-	protected String[] columnProperties;
-	protected ICellModifier cellModifier;
-	protected int columnPosition = 300;
-	protected int columnHitWidth = 5;
-	protected Color tableLineColor;
-	protected int controlWidth;
-	protected DelayedDrawTimer delayedDrawTimer;
-
-	public TreeExtension(Tree tree) {
-		this.tree = tree;
-		InternalMouseListener listener = new InternalMouseListener();
-		tree.addMouseMoveListener(listener);
-		tree.addMouseListener(listener);
-		tree.addPaintListener(this);
-		editManager = new EditManager(tree);
-		delayedDrawTimer = new DelayedDrawTimer(tree);
-
-		tableLineColor = tree.getDisplay().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW);
-	}
-
-	public void dispose() {
-		tableLineColor.dispose();
-	}
-
-	public void setCellModifier(ICellModifier modifier) {
-		cellModifier = modifier;
-	}
-
-	public void resetCachedData() {
-	}
-
-	public ICellModifier getCellModifier() {
-		return cellModifier;
-	}
-
-	public List getItemList() {
-		List list = new Vector();
-		getItemListHelper(tree.getItems(), list);
-		return list;
-	}
-
-	protected void getItemListHelper(TreeItem[] items, List list) {
-		for (int i = 0; i < items.length; i++) {
-			TreeItem item = items[i];
-			list.add(item);
-			getItemListHelper(item.getItems(), list);
-		}
-	}
-
-	protected TreeItem getTreeItemOnRow(int px, int py) {
-		TreeItem result = null;
-		List list = getItemList();
-		for (Iterator i = list.iterator(); i.hasNext();) {
-			TreeItem item = (TreeItem) i.next();
-			Rectangle r = item.getBounds();
-			if (r != null && px >= r.x && py >= r.y && py <= r.y + r.height) {
-				result = item;
-			}
-		}
-		return result;
-	}
-
-	protected class InternalMouseListener extends MouseAdapter implements MouseMoveListener {
-		protected int columnDragged = -1;
-		protected boolean isDown = false;
-		protected int prevX = -1;
-		protected Cursor cursor = null;
-
-		public void mouseMove(MouseEvent e) {
-			if (e.x > columnPosition - columnHitWidth && e.x < columnPosition + columnHitWidth) {
-				if (cursor == null) {
-					cursor = new Cursor(tree.getDisplay(), SWT.CURSOR_SIZEWE);
-					tree.setCursor(cursor);
-				}
-			} else {
-				if (cursor != null) {
-					tree.setCursor(null);
-					cursor.dispose();
-					cursor = null;
-				}
-			}
-
-			if (columnDragged != -1) {
-				// using the delay timer will make redraws less flickery
-				if (e.x > 20) {
-					columnPosition = e.x;
-					delayedDrawTimer.reset(20);
-				}
-			}
-		}
-
-		public void mouseDown(MouseEvent e) {
-			// here we handle the column resizing by detect if the user has
-			// click on a column separator
-			//
-			columnDragged = -1;
-			editManager.deactivateCellEditor();
-
-			if (e.x > columnPosition - columnHitWidth && e.x < columnPosition + columnHitWidth) {
-				columnDragged = 0;
-			}
-
-			// here we handle selecting tree items when any thing on the 'row'
-			// is clicked
-			//
-			TreeItem item = tree.getItem(new Point(e.x, e.y));
-			if (item == null) {
-				item = getTreeItemOnRow(e.x, e.y);
-				if (item != null) {
-					TreeItem[] items = new TreeItem[1];
-					items[0] = item;
-					tree.setSelection(items);
-				}
-			}
-		}
-
-		public void mouseUp(MouseEvent e) {
-			columnDragged = -1;
-		}
-	}
-
-	public String[] getColumnProperties() {
-		return columnProperties;
-	}
-
-	public void setColumnProperties(String[] columnProperties) {
-		this.columnProperties = columnProperties;
-	}
-
-	public void paintControl(PaintEvent event) {
-		GC gc = event.gc;
-		Rectangle treeBounds = tree.getBounds();
-
-		controlWidth = treeBounds.width;
-		Color bg = tree.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-		Color bg2 = tree.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION);
-
-		gc.setBackground(bg2);
-
-		//		// This next part causes problems on LINUX, so let's not do it
-		// there
-		//		if (B2BHacks.IS_UNIX == false) {
-		//			TreeItem[] selectedItems = tree.getSelection();
-		//			if (selectedItems.length > 0) {
-		//				for (int i = 0; i < selectedItems.length; i++) {
-		//					TreeItem item = selectedItems[i];
-		//					Rectangle bounds = item.getBounds();
-		//					if (bounds != null) {
-		//						gc.fillRectangle(bounds.x + bounds.width, bounds.y, controlWidth,
-		// bounds.height);
-		//					}
-		//				}
-		//			}
-		//		}
-		//
-		TreeItem[] items = tree.getItems();
-		if (items.length > 0) {
-			gc.setForeground(tableLineColor);
-			gc.setBackground(bg);
-
-			gc.fillRectangle(columnPosition, treeBounds.x, treeBounds.width, treeBounds.height);
-
-			Rectangle itemBounds = items[0].getBounds();
-			int height = computeTreeItemHeight();
-
-			if (itemBounds != null) {
-				int startY = itemBounds.y < treeBounds.y ? itemBounds.y : treeBounds.y + ((treeBounds.y - itemBounds.y) % height);
-
-				for (int i = startY; i < treeBounds.height; i += height) {
-					if (i >= treeBounds.y) {
-						gc.drawLine(0, i, treeBounds.width, i);
-					}
-				}
-			}
-			gc.drawLine(columnPosition, 0, columnPosition, treeBounds.height);
-		} else {
-			addEmptyTreeMessage(gc);
-		}
-
-		paintItems(gc, items, treeBounds);
-	}
-
-	protected int computeTreeItemHeight() {
-		int result = -1;
-
-		// On GTK tree.getItemHeight() seems to lie to us. It reports that the
-		// tree item occupies a few pixles less
-		// vertical space than it should. This which foils our code that draw
-		// the 'row' lines since we assume that
-		// lines should be drawn at 'itemHeight' increments. In the case of
-		// LINUX we don't trust getItemHeight()
-		// to compute the increment... instead we compute the value based on
-		// distance between two TreeItems.
-		//		if (B2BHacks.IS_UNIX) {
-		//			TreeItem[] items = tree.getItems();
-		//			Rectangle itemBounds = items[0].getBounds();
-		//
-		//			if (items[0].getExpanded()) {
-		//				TreeItem[] children = items[0].getItems();
-		//				if (children.length > 0) {
-		//					result = children[0].getBounds().y - itemBounds.y;
-		//				}
-		//			}
-		//			else if (items.length > 1) {
-		//				result = items[1].getBounds().y - itemBounds.y;
-		//			}
-		//		}
-
-		result = result != -1 ? result : tree.getItemHeight();
-		return result;
-	}
-
-	protected void addEmptyTreeMessage(GC gc) {
-	}
-
-	public void paintItems(GC gc, TreeItem[] items, Rectangle treeBounds) {
-		if (items != null) {
-			for (int i = 0; i < items.length; i++) {
-				TreeItem item = items[i];
-				if (item != null) {
-					Rectangle bounds = item.getBounds();
-					if (bounds != null) {
-						if (treeBounds.intersects(bounds)) {
-							paintItem(gc, item, bounds);
-						}
-					}
-
-					// defect 241039
-					//
-					if (item.getExpanded()) {
-						paintItems(gc, item.getItems(), treeBounds);
-					}
-				}
-			}
-		}
-	}
-
-	protected void paintItem(GC gc, TreeItem item, Rectangle bounds) {
-	}
-
-	public interface ICellEditorProvider {
-		CellEditor getCellEditor(Object o, int col);
-	}
-
-	/**
-	 * This class is used to improve drawing during a column resize.
-	 */
-	public class DelayedDrawTimer implements Runnable {
-		protected Control control;
-
-		public DelayedDrawTimer(Control control) {
-			this.control = control;
-		}
-
-		public void reset(int milliseconds) {
-			getDisplay().timerExec(milliseconds, this);
-		}
-
-		public void run() {
-			control.redraw();
-		}
-	}
-
-	private Display getDisplay() {
-
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	/**
-	 * EditManager
-	 */
-	public class EditManager {
-		protected Tree tree;
-		protected Control cellEditorHolder;
-		protected CellEditorState cellEditorState;
-
-		public EditManager(Tree tree) {
-			this.tree = tree;
-			this.cellEditorHolder = new Composite(tree, SWT.NONE);
-
-			final Tree theTree = tree;
-
-			MouseAdapter theMouseAdapter = new MouseAdapter() {
-				public void mouseDown(MouseEvent e) {
-					deactivateCellEditor();
-
-					if (e.x > columnPosition + columnHitWidth) {
-						TreeItem[] items = theTree.getSelection();
-						// No edit if more than one row is selected.
-						if (items.length == 1) {
-							Rectangle bounds = items[0].getBounds();
-							if (bounds != null && e.y >= bounds.y && e.y <= bounds.y + bounds.height) {
-								int columnToEdit = 1;
-								activateCellEditor(items[0], columnToEdit);
-							}
-						}
-					}
-				}
-			};
-
-			SelectionListener selectionListener = new SelectionListener() {
-				public void widgetDefaultSelected(SelectionEvent e) {
-					applyCellEditorValue();
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-					applyCellEditorValue();
-				}
-			};
-
-			KeyListener keyListener = new KeyAdapter() {
-				public void keyPressed(KeyEvent e) {
-					if (e.character == SWT.CR) {
-						deactivateCellEditor();
-						TreeItem[] items = theTree.getSelection();
-						if (items.length == 1) {
-							activateCellEditor(items[0], 1);
-						}
-					}
-				}
-			};
-
-			tree.addMouseListener(theMouseAdapter);
-			tree.addKeyListener(keyListener);
-			ScrollBar hBar = tree.getHorizontalBar();
-			if (hBar != null)
-				hBar.addSelectionListener(selectionListener);
-			ScrollBar vBar = tree.getVerticalBar();
-			if (vBar != null)
-				vBar.addSelectionListener(selectionListener);
-		}
-
-		public boolean isCellEditorActive() {
-			return cellEditorState != null;
-		}
-
-		public void applyCellEditorValue() {
-			if (cellEditorState != null && cellModifier != null) {
-				TreeItem treeItem = cellEditorState.treeItem;
-
-				// The area below the cell editor needs to be explicity
-				// repainted on Linux
-				//
-				//				Rectangle r = B2BHacks.IS_UNIX ? treeItem.getBounds() :
-				// null;
-
-				Object value = cellEditorState.cellEditor.getValue();
-				String property = cellEditorState.property;
-
-				deactivateCellEditor();
-
-				cellModifier.modify(treeItem, property, value);
-
-				//				if (r != null) {
-				//					tree.redraw(r.x, r.y, tree.getBounds().width, r.height,
-				// false);
-				//				}
-			}
-		}
-
-		public void deactivateCellEditor() {
-			// Clean up any previous editor control
-			if (cellEditorState != null) {
-				cellEditorState.deactivate();
-				cellEditorState = null;
-			}
-		}
-
-		public void activateCellEditor(TreeItem treeItem, int column) {
-			if (cellModifier instanceof ICellEditorProvider) {
-				ICellEditorProvider cellEditorProvider = (ICellEditorProvider) cellModifier;
-				Object data = treeItem.getData();
-				if (columnProperties.length > column) {
-					String property = columnProperties[column];
-					if (cellModifier.canModify(data, property)) {
-						CellEditor newCellEditor = cellEditorProvider.getCellEditor(data, column);
-						if (newCellEditor != null) {
-							// The control that will be the editor must be a
-							// child of the columnPosition
-							Control control = newCellEditor.getControl();
-							if (control != null) {
-								cellEditorState = new CellEditorState(newCellEditor, control, treeItem, column, property);
-								cellEditorState.activate();
-							}
-						}
-					}
-				}
-			}
-		}
-
-		/**
-		 * this class holds the state that is need on a per cell editor
-		 * invocation basis
-		 */
-		public class CellEditorState implements ICellEditorListener, FocusListener {
-			public CellEditor cellEditor;
-			public Control control;
-			public TreeItem treeItem;
-			public int columnNumber;
-			public String property;
-
-			public CellEditorState(CellEditor cellEditor, Control control, TreeItem treeItem, int columnNumber, String property) {
-				this.cellEditor = cellEditor;
-				this.control = control;
-				this.treeItem = treeItem;
-				this.columnNumber = columnNumber;
-				this.property = property;
-			}
-
-			public void activate() {
-				Object element = treeItem.getData();
-				String value = cellModifier.getValue(element, property).toString();
-				if (control instanceof Text) {
-					Text text = (Text) control;
-					int requiredSize = value.length() + 100;
-					if (text.getTextLimit() < requiredSize) {
-						text.setTextLimit(requiredSize);
-					}
-				}
-				Rectangle r = treeItem.getBounds();
-				if (r != null) {
-					control.setBounds(columnPosition + 5, r.y + 1, tree.getClientArea().width - (columnPosition + 5), r.height - 1);
-					control.setVisible(true);
-					cellEditor.setValue(value);
-					cellEditor.addListener(this);
-					cellEditor.setFocus();
-					control.addFocusListener(this);
-				}
-			}
-
-			public void deactivate() {
-				cellEditor.removeListener(this);
-				control.removeFocusListener(this);
-				cellEditor.deactivate();
-				tree.forceFocus();
-			}
-
-			// ICellEditorListener methods
-			//
-			public void applyEditorValue() {
-				applyCellEditorValue();
-			}
-
-			public void cancelEditor() {
-				deactivateCellEditor();
-			}
-
-			public void editorValueChanged(boolean oldValidState, boolean newValidState) {
-			}
-
-			// FocusListener methods
-			//
-			public void focusGained(FocusEvent e) {
-			}
-
-			public void focusLost(FocusEvent e) {
-				applyCellEditorValue();
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/ViewerExpandCollapseAction.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/ViewerExpandCollapseAction.java
deleted file mode 100644
index 9d37f78..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/ViewerExpandCollapseAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.wst.xml.internal.ui.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.internal.ui.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-public class ViewerExpandCollapseAction extends Action {
-
-	protected boolean isExpandAction;
-	protected AbstractTreeViewer viewer = null;
-
-	public ViewerExpandCollapseAction(boolean isExpandAction) {
-		this.isExpandAction = isExpandAction;
-		if (isExpandAction) {
-			ImageDescriptor e_imageDescriptor = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_ETOOL_EXPANDALL);
-			ImageDescriptor d_imageDescriptor = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_DTOOL_EXPANDALL);
-
-			setImageDescriptor(e_imageDescriptor);
-			setDisabledImageDescriptor(d_imageDescriptor);
-			setToolTipText(XMLUIPlugin.getResourceString("%_UI_INFO_EXPAND_ALL")); //$NON-NLS-1$
-		} else {
-			ImageDescriptor e_imageDescriptor = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_ETOOL_COLLAPSEALL);
-			ImageDescriptor d_imageDescriptor = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_DTOOL_COLLAPSEALL);
-
-			setImageDescriptor(e_imageDescriptor);
-			setDisabledImageDescriptor(d_imageDescriptor);
-			setToolTipText(XMLUIPlugin.getResourceString("%_UI_INFO_COLLAPSE_ALL")); //$NON-NLS-1$
-		}
-	}
-
-	public void setViewer(AbstractTreeViewer viewer) {
-		this.viewer = viewer;
-	}
-
-	public void run() {
-		if (viewer != null) {
-			// temporarily set the visibility to false
-			// this has a HUGE performance benefit
-			boolean isVisible = viewer.getControl().getVisible();
-			viewer.getControl().setVisible(false);
-
-			if (isExpandAction) {
-				viewer.expandAll();
-			} else {
-				viewer.collapseAll();
-			}
-
-			// restore the previous visibility state
-			// 
-			viewer.getControl().setVisible(isVisible);
-		}
-	}
-}
-
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeActionBarContributor.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeActionBarContributor.java
deleted file mode 100644
index 252d0b0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeActionBarContributor.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.CMDocumentLoader;
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.InferredGrammarBuildingCMDocumentLoader;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.internal.ui.IDesignViewer;
-import org.eclipse.wst.xml.internal.ui.IDesignViewerActionBarContributor;
-import org.eclipse.wst.xml.internal.ui.XMLEditorResourceHandler;
-import org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart;
-import org.eclipse.wst.xml.ui.util.SharedXMLEditorPluginImageHelper;
-import org.w3c.dom.Document;
-
-/**
- *  
- */
-public class XMLTableTreeActionBarContributor implements IDesignViewerActionBarContributor {
-
-	protected IEditorPart editorPart;
-	protected final static String DESIGN_VIEWER_SEPARATOR_1_ID = "sed.tabletree.separator.1"; //$NON-NLS-1$
-	protected final static String DESIGN_VIEWER_SEPARATOR_2_ID = "sed.tabletree.separator.2"; //$NON-NLS-1$
-	protected final static String VALIDATE_XML_ID = "sed.tabletree.validateXML"; //$NON-NLS-1$
-	protected final static String RELOAD_GRAMMAR_ID = "sed.tabletree.reloadGrammar"; //$NON-NLS-1$
-	protected final static String TOGGLE_EDIT_MODE_ID = "sed.tabletree.toggleEditMode"; //$NON-NLS-1$
-	protected final static String EXPAND_ALL_ID = "sed.tabletree.expandAll"; //$NON-NLS-1$
-	protected final static String COLLAPSE_ALL_ID = "sed.tabletree.collapseAll"; //$NON-NLS-1$
-
-	protected ToggleEditModeAction toggleAction;
-	protected ReloadGrammarAction reloadGrammarAction;
-	//	protected ValidateXMLAction validateXMLAction;
-	protected ViewerExpandCollapseAction expandAction;
-	protected ViewerExpandCollapseAction collapseAction;
-	protected ViewerExpandCollapseAction xmlMenuExpandAction;
-	protected ViewerExpandCollapseAction xmlMenuCollapseAction;
-
-	public XMLTableTreeActionBarContributor() {
-	}
-
-	protected void removeContributions(IContributionManager manager) {
-		try {
-			doRemove(manager, DESIGN_VIEWER_SEPARATOR_1_ID);
-			doRemove(manager, DESIGN_VIEWER_SEPARATOR_2_ID);
-			doRemove(manager, VALIDATE_XML_ID);
-			doRemove(manager, RELOAD_GRAMMAR_ID);
-			doRemove(manager, TOGGLE_EDIT_MODE_ID);
-			doRemove(manager, EXPAND_ALL_ID);
-			doRemove(manager, COLLAPSE_ALL_ID);
-		} catch (Exception e) {
-		}
-	}
-
-	protected void doRemove(IContributionManager manager, String id) {
-		try {
-			if (manager.find(id) != null) {
-				manager.remove(id);
-			}
-		} catch (Exception e) {
-		}
-	}
-
-	public void init(IActionBars bars, IWorkbenchPage page) {
-		init(bars);
-	}
-
-	public void init(IActionBars bars) {
-		IToolBarManager tbm = bars.getToolBarManager();
-
-		IMenuManager xmlMenu = bars.getMenuManager().findMenuUsingPath("com.ibm.etools.sed.editor.xmlmenu"); //$NON-NLS-1$
-
-		if (xmlMenu == null) {
-			xmlMenu = new MenuManager(XMLEditorResourceHandler.getResourceString("%XMLTableTreeActionBarContributor.0"), "com.ibm.etools.sed.editor.xmlmenu"); //$NON-NLS-1$ //$NON-NLS-2$
-			bars.getMenuManager().insertBefore(IWorkbenchActionConstants.M_WINDOW, xmlMenu);
-		} else {
-			removeContributions(xmlMenu);
-		}
-
-		tbm.add(new Separator("DESIGN_VIEWER_SEPARATOR_1_ID")); //$NON-NLS-1$
-
-		// ValidateXMLAction
-		//                        
-		// ugly hack ... we don't contribute the generic XML validator if we
-		// already
-		// have a DAD validator contribution (in the case of the DAD editor).
-		// This hack will be removed when defect 212448 is fixed.
-		//
-		//		if (tbm.find("validate.dad.validateDAD") == null) {
-		//			validateXMLAction = new ValidateXMLAction();
-		//			tbm.add(validateXMLAction);
-		//			xmlMenu.add(validateXMLAction);
-		//		}
-
-		// ToggleEditModeAction
-		//           
-		toggleAction = new ToggleEditModeAction();
-		toggleAction.setId(TOGGLE_EDIT_MODE_ID);
-		xmlMenu.add(toggleAction);
-		tbm.add(toggleAction);
-
-		// ReloadGrammarAction
-		//
-		reloadGrammarAction = new ReloadGrammarAction();
-		reloadGrammarAction.setId(RELOAD_GRAMMAR_ID);
-		tbm.add(reloadGrammarAction);
-		xmlMenu.add(reloadGrammarAction);
-
-		xmlMenu.add(new Separator());
-
-		// ExpandCollapseAction
-		//
-		xmlMenuExpandAction = new ViewerExpandCollapseAction(true);
-		xmlMenuExpandAction.setId(EXPAND_ALL_ID);
-		xmlMenuExpandAction.setText(XMLEditorResourceHandler.getResourceString("%XMLTableTreeActionBarContributor.1")); //$NON-NLS-1$
-		xmlMenu.add(xmlMenuExpandAction);
-
-		xmlMenuCollapseAction = new ViewerExpandCollapseAction(false);
-		xmlMenuCollapseAction.setId(COLLAPSE_ALL_ID);
-		xmlMenuCollapseAction.setId(EXPAND_ALL_ID);
-		xmlMenuCollapseAction.setText(XMLEditorResourceHandler.getResourceString("%XMLTableTreeActionBarContributor.2")); //$NON-NLS-1$
-		xmlMenu.add(xmlMenuCollapseAction);
-	}
-
-	protected void addActionWithId(IMenuManager menuManager, Action action, String id) {
-		action.setId(id);
-		menuManager.add(action);
-	}
-
-	public void initViewerSpecificContributions(IActionBars bars) {
-		IToolBarManager tbm = bars.getToolBarManager();
-		tbm.add(new Separator(DESIGN_VIEWER_SEPARATOR_2_ID));
-
-		expandAction = new ViewerExpandCollapseAction(true);
-		expandAction.setId(EXPAND_ALL_ID);
-		tbm.add(expandAction);
-
-		collapseAction = new ViewerExpandCollapseAction(false);
-		collapseAction.setId(COLLAPSE_ALL_ID);
-		tbm.add(collapseAction);
-	}
-
-	public void setViewerSpecificContributionsEnabled(boolean enabled) {
-		if (expandAction != null) {
-			expandAction.setEnabled(enabled);
-			xmlMenuExpandAction.setEnabled(enabled);
-		}
-
-		if (collapseAction != null) {
-			collapseAction.setEnabled(enabled);
-			xmlMenuCollapseAction.setEnabled(enabled);
-		}
-	}
-
-	public void setActiveEditor(IEditorPart targetEditor) {
-		editorPart = targetEditor;
-
-		IStructuredModel model = getModelForEditorPart(targetEditor);
-		reloadGrammarAction.setModel(model);
-		toggleAction.setModelQuery(ModelQueryUtil.getModelQuery(model));
-
-		XMLTableTreeViewer tableTreeViewer = getTableTreeViewerForEditorPart(editorPart);
-		if (tableTreeViewer != null) {
-			expandAction.setViewer(tableTreeViewer);
-			collapseAction.setViewer(tableTreeViewer);
-
-			xmlMenuExpandAction.setViewer(tableTreeViewer);
-			xmlMenuCollapseAction.setViewer(tableTreeViewer);
-		}
-
-		if (editorPart instanceof XMLMultiPageEditorPart) {
-			IWorkbenchPartSite site = editorPart.getSite();
-			if (site instanceof IEditorSite) {
-				ITextEditor textEditor = ((XMLMultiPageEditorPart) editorPart).getTextEditor();
-				IActionBars actionBars = ((IEditorSite) site).getActionBars();
-				actionBars.setGlobalActionHandler(ITextEditorActionConstants.UNDO, getAction(textEditor, ITextEditorActionConstants.UNDO));
-				actionBars.setGlobalActionHandler(ITextEditorActionConstants.REDO, getAction(textEditor, ITextEditorActionConstants.REDO));
-			}
-		}
-
-		// TODO... uncomment this and investigate NPE
-		//
-		// add the cut/copy/paste for text fields
-		// ActionHandlerPlugin.connectPart(editorPart);
-	}
-
-	protected final IAction getAction(ITextEditor editor, String actionId) {
-		return (editor == null ? null : editor.getAction(actionId));
-	}
-
-	protected IStructuredModel getModelForEditorPart(IEditorPart targetEditor) {
-		IStructuredModel result = null;
-		if (editorPart instanceof XMLMultiPageEditorPart) {
-			StructuredTextEditor textEditor = ((XMLMultiPageEditorPart) targetEditor).getTextEditor();
-			result = (textEditor != null) ? textEditor.getModel() : null;
-		}
-		return result;
-	}
-
-	protected XMLTableTreeViewer getTableTreeViewerForEditorPart(IEditorPart targetEditor) {
-		XMLTableTreeViewer result = null;
-		Object object = targetEditor.getAdapter(IDesignViewer.class);
-		if (object instanceof XMLTableTreeViewer) {
-			result = (XMLTableTreeViewer) object;
-		}
-		return result;
-	}
-
-	/**
-	 *  
-	 */
-	public class ToggleEditModeAction extends Action {
-		protected ImageDescriptor onImage = SharedXMLEditorPluginImageHelper.getImageDescriptor(SharedXMLEditorPluginImageHelper.IMG_ETOOL_CONSTRAINON);
-		protected ImageDescriptor offImage = SharedXMLEditorPluginImageHelper.getImageDescriptor(SharedXMLEditorPluginImageHelper.IMG_ETOOL_CONSTRAINOFF);
-		protected ModelQuery modelQuery;
-
-		public ToggleEditModeAction() {
-			setAppearanceForEditMode(ModelQuery.EDIT_MODE_CONSTRAINED_STRICT);
-		}
-
-		public void run() {
-			if (modelQuery != null) {
-				int newState = getNextState(modelQuery.getEditMode());
-				modelQuery.setEditMode(newState);
-				setAppearanceForEditMode(newState);
-			}
-		}
-
-		public void setModelQuery(ModelQuery newModelQuery) {
-			modelQuery = newModelQuery;
-			if (modelQuery != null) {
-				setAppearanceForEditMode(modelQuery.getEditMode());
-			}
-		}
-
-		public void setAppearanceForEditMode(int editMode) {
-			if (editMode == ModelQuery.EDIT_MODE_CONSTRAINED_STRICT) {
-				setToolTipText(XMLEditorResourceHandler.getResourceString("%XMLTableTreeActionBarContributor.3")); //$NON-NLS-1$
-				setText(XMLEditorResourceHandler.getResourceString("%XMLTableTreeActionBarContributor.4")); //$NON-NLS-1$
-				setImageDescriptor(onImage);
-			} else {
-				setToolTipText(XMLEditorResourceHandler.getResourceString("%XMLTableTreeActionBarContributor.5")); //$NON-NLS-1$
-				setText(XMLEditorResourceHandler.getResourceString("%XMLTableTreeActionBarContributor.6")); //$NON-NLS-1$
-				setImageDescriptor(offImage);
-			}
-		}
-
-		public int getNextState(int editMode) {
-			int result = -1;
-			if (editMode == ModelQuery.EDIT_MODE_CONSTRAINED_STRICT) {
-				result = ModelQuery.EDIT_MODE_UNCONSTRAINED;
-			} else {
-				result = ModelQuery.EDIT_MODE_CONSTRAINED_STRICT;
-			}
-			return result;
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public class ReloadGrammarAction extends Action {
-		protected IStructuredModel model;
-
-		public ReloadGrammarAction() {
-			setDisabledImageDescriptor(SharedXMLEditorPluginImageHelper.getImageDescriptor(SharedXMLEditorPluginImageHelper.IMG_DTOOL_RLDGRMR));
-			setImageDescriptor(SharedXMLEditorPluginImageHelper.getImageDescriptor(SharedXMLEditorPluginImageHelper.IMG_ETOOL_RLDGRMR));
-			setToolTipText(XMLEditorResourceHandler.getResourceString("%XMLTableTreeActionBarContributor.7")); //$NON-NLS-1$
-			setText(XMLEditorResourceHandler.getResourceString("%XMLTableTreeActionBarContributor.8")); //$NON-NLS-1$
-		}
-
-		public void setModel(IStructuredModel newModel) {
-			this.model = newModel;
-		}
-
-		public void run() {
-			if (model != null) {
-				ModelQuery modelQuery = ModelQueryUtil.getModelQuery(model);
-				Document document = ((XMLModel) model).getDocument();
-				if (modelQuery != null && modelQuery.getCMDocumentManager() != null) {
-					modelQuery.getCMDocumentManager().getCMDocumentCache().clear();
-					// TODO... need to figure out how to access the
-					// DOMObserver via ModelQuery
-					//  ...why?
-					CMDocumentLoader loader = new InferredGrammarBuildingCMDocumentLoader(document, modelQuery);
-					loader.loadCMDocuments();
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorActionBarContributor#dispose()
-	 */
-	public void dispose() {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeContentProvider.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeContentProvider.java
deleted file mode 100644
index 4603efa..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeContentProvider.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManager;
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManagerListener;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.eclipse.wst.xml.ui.util.SharedXMLEditorPluginImageHelper;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-
-
-public class XMLTableTreeContentProvider implements ITreeContentProvider, ITableLabelProvider, ILabelProvider, CMDocumentManagerListener {
-
-	protected ViewerNotifyingAdapterFactory viewerNotifyingAdapterFactory = new ViewerNotifyingAdapterFactory();
-	protected XMLTableTreePropertyDescriptorFactory propertyDescriptorFactory;
-	//	protected ImageFactory imageFactory =
-	// XMLCommonUIPlugin.getInstance().getImageFactory();
-	protected List viewerList = new Vector();
-	protected TreeContentHelper treeContentHelper = new TreeContentHelper();
-
-	protected CMDocumentManager documentManager;
-
-	public XMLTableTreeContentProvider() {
-	}
-
-	public void getDecendantList(Object element, List list) {
-		Object[] children = getChildren(element);
-		if (children != null) {
-			for (int i = 0; i < children.length; i++) {
-				Object child = children[i];
-				list.add(child);
-				getDecendantList(child, list);
-			}
-		}
-	}
-
-	public void addViewer(Viewer viewer) {
-		viewerList.add(viewer);
-	}
-
-	public Object[] getChildren(Object element) {
-		viewerNotifyingAdapterFactory.doAdapt(element);
-		return treeContentHelper.getChildren(element);
-	}
-
-	public Object getParent(Object o) {
-		Object result = null;
-		if (o instanceof Node) {
-			Node node = (Node) o;
-			if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
-				result = ((Attr) node).getOwnerElement();
-			} else {
-				result = node.getParentNode();
-			}
-		}
-		return result;
-	}
-
-	public boolean hasChildren(Object element) {
-		viewerNotifyingAdapterFactory.doAdapt(element);
-		return getChildren(element).length > 0;
-	}
-
-	public Object[] getElements(Object element) {
-		viewerNotifyingAdapterFactory.doAdapt(element);
-		return getChildren(element);
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		// remove our listeners to the old state
-		if (oldInput != null) {
-			propertyDescriptorFactory = null;
-			Document domDoc = (Document) oldInput;
-			ModelQuery mq = ModelQueryUtil.getModelQuery(domDoc);
-			if (mq != null) {
-				documentManager = mq.getCMDocumentManager();
-				if (documentManager != null) {
-					documentManager.removeListener(this);
-				}
-			}
-		}
-
-		if (newInput != null) {
-			Document domDoc = (Document) newInput;
-			ModelQuery mq = ModelQueryUtil.getModelQuery(domDoc);
-
-			if (mq != null) {
-				propertyDescriptorFactory = new XMLTableTreePropertyDescriptorFactory(mq);
-				documentManager = mq.getCMDocumentManager();
-				if (documentManager != null) {
-					documentManager.setPropertyEnabled(CMDocumentManager.PROPERTY_ASYNC_LOAD, true);
-					documentManager.addListener(this);
-				}
-			}
-		}
-	}
-
-	public boolean isDeleted(Object element) {
-		return element != null;
-	}
-
-	//
-	// ILabelProvider stuff
-	//
-	public void addListener(ILabelProviderListener listener) {
-	}
-
-	public void dispose() {
-		viewerList = new Vector();
-	}
-
-	public Element getRootElement(Document document) {
-		Element rootElement = null;
-
-		for (Node childNode = document.getFirstChild(); childNode != null; childNode = childNode.getNextSibling()) {
-			if (childNode.getNodeType() == Node.ELEMENT_NODE) {
-				rootElement = (Element) childNode;
-				break;
-			}
-		}
-		return rootElement;
-	}
-
-	public Image getImage(Object object) {
-		viewerNotifyingAdapterFactory.doAdapt(object);
-		Image image = null;
-		if (object instanceof Node) {
-			Node node = (Node) object;
-			switch (node.getNodeType()) {
-				case Node.ATTRIBUTE_NODE : {
-					image = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ATTRIBUTE);
-					break;
-				}
-				case Node.CDATA_SECTION_NODE : {
-					image = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_CDATASECTION);
-					break;
-				}
-				case Node.COMMENT_NODE : {
-					image = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_COMMENT);
-					break;
-				}
-				case Node.DOCUMENT_TYPE_NODE : {
-					image = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_DOCTYPE);
-					break;
-				}
-				case Node.ELEMENT_NODE : {
-					image = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ELEMENT);
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					image = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_PROCESSINGINSTRUCTION);
-					break;
-				}
-				case Node.TEXT_NODE : {
-					image = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_TXTEXT);
-					break;
-				}
-				case Node.ENTITY_REFERENCE_NODE : {
-					image = image = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ENTITY_REFERENCE);
-					break;
-				}
-			}
-
-			//			if (image != null) {
-			//				Image markerOverlayImage =
-			// overlayIconManager.getOverlayImageForObject(node);
-			//				if (markerOverlayImage != null) {
-			//					image = imageFactory.createCompositeImage(image,
-			// markerOverlayImage, ImageFactory.BOTTOM_LEFT);
-			//				}
-			//			}
-		}
-		return image;
-	}
-
-	public String getText(Object object) {
-		viewerNotifyingAdapterFactory.doAdapt(object);
-		String result = null;
-		if (object instanceof Node) {
-			Node node = (Node) object;
-			switch (node.getNodeType()) {
-				case Node.ATTRIBUTE_NODE : {
-					result = node.getNodeName();
-					break;
-				}
-				case Node.DOCUMENT_TYPE_NODE : {
-					result = "DOCTYPE"; //$NON-NLS-1$
-					break;
-				}
-				case Node.ELEMENT_NODE : {
-					result = node.getNodeName();
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					result = ((ProcessingInstruction) node).getTarget();
-					break;
-				}
-			}
-		}
-		return result != null ? result : ""; //$NON-NLS-1$
-	}
-
-	//
-	// ITableLabelProvider stuff
-	//
-	public String getColumnText(Object object, int column) {
-		viewerNotifyingAdapterFactory.doAdapt(object);
-		String result = null;
-		if (column == 0) {
-			result = getText(object);
-		} else if (column == 1 && object instanceof Node) {
-			result = treeContentHelper.getNodeValue((Node) object);
-		}
-		return result != null ? result : ""; //$NON-NLS-1$
-	}
-
-	public Image getColumnImage(Object object, int columnIndex) {
-		viewerNotifyingAdapterFactory.doAdapt(object);
-		return (columnIndex == 0) ? getImage(object) : null;
-	}
-
-	public boolean isLabelProperty(Object object, String property) {
-		return false;
-	}
-
-	public void removeListener(ILabelProviderListener listener) {
-	}
-
-	// There is only 1 adapter associated with this factory. This single
-	// adapter gets added
-	// to the adapter lists of many nodes.
-	public class ViewerNotifyingAdapterFactory extends AbstractAdapterFactory {
-		protected ViewerNotifyingAdapter viewerNotifyingAdapter = new ViewerNotifyingAdapter();
-
-		protected INodeAdapter createAdapter(INodeNotifier target) {
-			return viewerNotifyingAdapter;
-		}
-
-		protected ViewerNotifyingAdapter doAdapt(Object object) {
-			ViewerNotifyingAdapter result = null;
-			if (object instanceof INodeNotifier) {
-				result = (ViewerNotifyingAdapter) adapt((INodeNotifier) object);
-			}
-			return result;
-		}
-	}
-
-	public class ViewerNotifyingAdapter implements INodeAdapter {
-		public boolean isAdapterForType(Object type) {
-			return type.equals(viewerNotifyingAdapterFactory);
-		}
-
-		public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-			switch (eventType) {
-				//case INodeNotifier.ADD: // ignore
-				//case INodeNotifier.REMOVE: // ignore
-				case INodeNotifier.CHANGE :
-				case INodeNotifier.STRUCTURE_CHANGED :
-				case INodeNotifier.CONTENT_CHANGED : {
-					Node node = (Node) notifier;
-					if (node.getNodeType() == Node.ELEMENT_NODE || node.getNodeType() == Node.DOCUMENT_NODE) {
-						for (Iterator i = viewerList.iterator(); i.hasNext();) {
-							Viewer viewer = (Viewer) i.next();
-
-							if (viewer instanceof StructuredViewer) {
-								((StructuredViewer) viewer).refresh(node);
-							} else {
-								// todo... consider doing a time delayed
-								// refresh here!!
-								viewer.refresh();
-							}
-						}
-					}
-					break;
-				}
-			}
-		}
-	}
-
-	// the following methods handle filtering aspects of the viewer
-	//
-	//
-	public boolean isIgnorableText(Node node) {
-		boolean result = false;
-		try {
-			if (node.getNodeType() == Node.TEXT_NODE) {
-				String data = ((Text) node).getData();
-				result = (data == null || data.trim().length() == 0);
-			}
-		} catch (Exception e) {
-			Logger.logException(e);
-		}
-		return result;
-	}
-
-	public static Text getHiddenChildTextNode(Node node) {
-		return null;
-	}
-
-	// CMDocumentManagerListener
-	//
-	public void cacheCleared(CMDocumentCache cache) {
-		doDelayedRefreshForViewers();
-	}
-
-	public void cacheUpdated(CMDocumentCache cache, final String uri, int oldStatus, int newStatus, CMDocument cmDocument) {
-		if (newStatus == CMDocumentCache.STATUS_LOADED || newStatus == CMDocumentCache.STATUS_ERROR) {
-			doDelayedRefreshForViewers();
-		}
-	}
-
-	public void propertyChanged(CMDocumentManager cmDocumentManager, String propertyName) {
-		if (cmDocumentManager.getPropertyEnabled(CMDocumentManager.PROPERTY_AUTO_LOAD)) {
-			doDelayedRefreshForViewers();
-		}
-	}
-
-	protected void doDelayedRefreshForViewers() {
-		List list = new Vector();
-		list.addAll(viewerList);
-
-		for (Iterator i = list.iterator(); i.hasNext();) {
-			final Viewer viewer = (Viewer) i.next();
-			Control control = viewer.getControl();
-			Runnable runnable = new Runnable() {
-				public void run() {
-					viewer.refresh();
-				}
-			};
-			// we need to ensure that this is run via 'asyncExec' since these
-			// notifications can come from a non-ui thread
-			control.getDisplay().asyncExec(runnable);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeHelpContextIds.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeHelpContextIds.java
deleted file mode 100644
index 7f2730e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeHelpContextIds.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-
-
-/**
- * Help context ids for the TableTree view.
- * <p>
- * This interface contains constants only; it is not intended to be
- * implemented or extended.
- * </p>
- *  
- */
-public interface XMLTableTreeHelpContextIds {
-
-	public static final String PREFIX = "com.ibm.etools.sed.tabletree."; //$NON-NLS-1$
-
-	// XML Design View
-	public static final String XML_DESIGN_VIEW_HELPID = PREFIX + "xmlm3000"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreePropertyDescriptorFactory.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreePropertyDescriptorFactory.java
deleted file mode 100644
index 1904e12..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreePropertyDescriptorFactory.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-import java.util.List;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.ui.internal.properties.EnumeratedStringPropertyDescriptor;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-
-public class XMLTableTreePropertyDescriptorFactory extends DOMPropertyDescriptorFactory {
-
-	protected TreeContentHelper treeContentHelper = new TreeContentHelper();
-
-	public XMLTableTreePropertyDescriptorFactory(ModelQuery modelQuery) {
-		super(modelQuery);
-	}
-
-	protected IPropertyDescriptor createPropertyDescriptorHelper(String name, Element element, CMNode cmNode) {
-		IPropertyDescriptor result = null;
-
-		String[] valuesArray = getModelQuery().getPossibleDataTypeValues(element, cmNode);
-		if (valuesArray != null && valuesArray.length > 0) {
-			result = new EnumeratedStringPropertyDescriptor(name, name, valuesArray);
-		}
-
-		return result;
-	}
-
-	public IPropertyDescriptor createTextPropertyDescriptor(Text text) {
-		IPropertyDescriptor result = null;
-		Node parentNode = text.getParentNode();
-		if (parentNode != null && parentNode.getNodeType() == Node.ELEMENT_NODE) {
-			Element parentElement = (Element) parentNode;
-			CMElementDeclaration ed = getModelQuery().getCMElementDeclaration(parentElement);
-			if (ed != null) {
-				result = createPropertyDescriptorHelper(HACK, parentElement, ed);
-			}
-		}
-
-		if (result == null) {
-			result = new TextPropertyDescriptor(HACK, HACK);
-		}
-
-		return result;
-	}
-
-	public IPropertyDescriptor createAttributePropertyDescriptor(Attr attr) {
-		IPropertyDescriptor result = null;
-
-		String attributeName = attr.getName();
-
-		CMAttributeDeclaration ad = getModelQuery().getCMAttributeDeclaration(attr);
-		if (ad != null) {
-			result = createPropertyDescriptorHelper(attributeName, attr.getOwnerElement(), ad);
-		}
-
-		if (result == null) {
-			result = new TextPropertyDescriptor(attributeName, attributeName);
-		}
-
-		return result;
-	}
-
-	public IPropertyDescriptor createElementPropertyDescriptor(Element element) {
-		IPropertyDescriptor result = null;
-		List list = treeContentHelper.getElementTextContent(element);
-		if (list != null) {
-			Text text = treeContentHelper.getEffectiveTextNodeForCombinedNodeList(list);
-			if (text != null) {
-				result = createTextPropertyDescriptor(text);
-			}
-		}
-
-		if (result == null) {
-			result = new TextPropertyDescriptor(HACK, HACK);
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeViewer.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeViewer.java
deleted file mode 100644
index a6c1dfa..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeViewer.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-import java.util.List;
-
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.IModelStateListener;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.internal.ui.IDesignViewer;
-import org.eclipse.wst.xml.internal.ui.XMLEditorResourceHandler;
-import org.eclipse.wst.xml.ui.actions.NodeAction;
-import org.eclipse.wst.xml.ui.dnd.XMLDragAndDropManager;
-import org.eclipse.wst.xml.ui.views.contentoutline.XMLNodeActionManager;
-import org.w3c.dom.Document;
-
-public class XMLTableTreeViewer extends TreeViewer implements IDesignViewer {
-
-	/**
-	 * This class is used to improve source editing performance by coalescing
-	 * multiple notifications for an element change into a single refresh
-	 */
-	class DelayedRefreshTimer implements Runnable {
-		private final int delta = 2000;
-		protected Object objectPendingRefresh;
-		protected ISelection pendingSelection;
-		protected Object prevObject;
-		protected XMLTableTreeViewer viewer;
-
-		public DelayedRefreshTimer(XMLTableTreeViewer treeViewer) {
-			this.viewer = treeViewer;
-		}
-
-		public boolean isRefreshPending() {
-			return objectPendingRefresh != null;
-		}
-
-		public void refresh(Object object) {
-			if (prevObject == object) {
-				objectPendingRefresh = object;
-				getDisplay().timerExec(delta, this);
-			} else {
-				if (objectPendingRefresh != null) {
-					viewer.doRefresh(objectPendingRefresh, false);
-					objectPendingRefresh = null;
-				}
-				viewer.doRefresh(object, false);
-			}
-			prevObject = object;
-		}
-
-		private Display getDisplay() {
-
-			return PlatformUI.getWorkbench().getDisplay();
-		}
-
-		public void run() {
-			// defect 239677 ensure that the viewer's control is not disposed
-			//
-			if (objectPendingRefresh != null && !viewer.getTree().isDisposed()) {
-				viewer.doRefresh(objectPendingRefresh, true);
-				if (pendingSelection != null) {
-					// see fireSelectionChanged comment about jumping cursor
-					// problem
-					//
-					viewer.setSelection(pendingSelection, true);
-					pendingSelection = null;
-				}
-				objectPendingRefresh = null;
-				prevObject = null;
-			}
-		}
-
-		public void setSelection(ISelection selection) {
-			pendingSelection = selection;
-		}
-	}
-
-	class DelayingNodeSelectionListener implements INodeSelectionListener {
-		public void nodeSelectionChanged(NodeSelectionChangedEvent event) {
-			//			if (isNodeSelectionListenerEnabled &&
-			// !event.getSource().equals(this)) {
-			if (!event.getSource().equals(XMLTableTreeViewer.this)) {
-				List selectedNodes = event.getSelectedNodes();
-				ISelection selection = new StructuredSelection(selectedNodes);
-
-				// for performance purposes avoid large multi-selections
-				// 
-				if (selectedNodes.size() < 100) {
-					if (timer.isRefreshPending()) {
-						timer.setSelection(selection);
-					} else {
-						setSelection(selection, true);
-					}
-				}
-			}
-		}
-	}
-
-	class InternalModelStateListener implements IModelStateListener {
-
-		public void modelAboutToBeChanged(IStructuredModel model) {
-			ignoreRefresh = true;
-		}
-
-		public void modelChanged(IStructuredModel model) {
-			ignoreRefresh = false;
-			refresh();
-		}
-
-		public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
-		}
-
-		public void modelResourceDeleted(IStructuredModel model) {
-		}
-
-		public void modelResourceMoved(IStructuredModel originalmodel, IStructuredModel movedmodel) {
-		}
-	}
-
-	class NodeActionMenuListener implements IMenuListener {
-		public void menuAboutToShow(IMenuManager menuManager) {
-			// used to disable NodeSelection listening while running
-			// NodeAction
-			XMLNodeActionManager nodeActionManager = new XMLNodeActionManager(fModel, XMLTableTreeViewer.this) {
-				public void beginNodeAction(NodeAction action) {
-					super.beginNodeAction(action);
-				}
-
-				public void endNodeAction(NodeAction action) {
-					super.endNodeAction(action);
-				}
-			};
-			nodeActionManager.fillContextMenu(menuManager, getSelection());
-		}
-	}
-
-	protected CellEditor cellEditor;
-
-	int count = 0;
-
-	protected IModelStateListener fInternalModelStateListener = new InternalModelStateListener();
-	protected IStructuredModel fModel = null;
-	protected INodeSelectionListener fNodeSelectionListener;
-
-	protected ViewerSelectionManager fViewerSelectionManager;
-
-	protected boolean ignoreRefresh;
-
-	protected DelayedRefreshTimer timer;
-	protected XMLTreeExtension treeExtension;
-
-	public XMLTableTreeViewer(Composite parent) {
-		super(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-
-		// set up providers
-		this.treeExtension = new XMLTreeExtension(getTree());
-
-		XMLTableTreeContentProvider provider = new XMLTableTreeContentProvider();
-		provider.addViewer(this);
-		setContentProvider(provider);
-		setLabelProvider(provider);
-
-		createContextMenu();
-
-		XMLDragAndDropManager.addDragAndDropSupport(this);
-		timer = new DelayedRefreshTimer(this);
-	}
-
-	/**
-	 * This creates a context menu for the viewer and adds a listener as well
-	 * registering the menu for extension.
-	 */
-	protected void createContextMenu() {
-		MenuManager contextMenu = new MenuManager("#PopUp"); //$NON-NLS-1$
-		contextMenu.add(new Separator("additions")); //$NON-NLS-1$
-		contextMenu.setRemoveAllWhenShown(true);
-		contextMenu.addMenuListener(new NodeActionMenuListener());
-		Menu menu = contextMenu.createContextMenu(getControl());
-		getControl().setMenu(menu);
-	}
-
-	protected void doRefresh(Object o, boolean fromDelayed) {
-		treeExtension.resetCachedData();
-		super.refresh(o);
-	}
-
-	protected void fireSelectionChanged(SelectionChangedEvent event) {
-		if (!getTree().isDisposed() && !getTree().isFocusControl()) {
-			// defect 246094
-			// Various jumping cursor problems are caused when a selection
-			// 'delayed' selection occurs.
-			// These delayed selections are caused two ways:
-			//
-			//  - when DelayedRefreshTimer calls doRefresh() ... the
-			// 'preserveSelection' causes selection to occur
-			//  - when DelayedRefreshTimer performs a 'pending' selection
-			// 
-			// Since we only want to update the selectionManager on an explict
-			// user action
-			// (and not some selection that is merely a resonse to the
-			// selection manager)
-			// we ensure that the tree has focus control before firing events
-			// to the selectionManager.
-			// 
-			removeSelectionChangedListener(fViewerSelectionManager);
-			super.fireSelectionChanged(event);
-			addSelectionChangedListener(fViewerSelectionManager);
-		} else {
-			super.fireSelectionChanged(event);
-		}
-	}
-
-
-	public INodeSelectionListener getNodeSelectionListener() {
-		if (fNodeSelectionListener == null)
-			fNodeSelectionListener = new DelayingNodeSelectionListener();
-		return fNodeSelectionListener;
-	}
-
-	public String getTitle() {
-		return XMLEditorResourceHandler.getResourceString("%XMLTableTreeViewer.0"); //$NON-NLS-1$
-	}
-
-	protected void handleDispose(DisposeEvent event) {
-		super.handleDispose(event);
-		treeExtension.dispose();
-		setModel(null);
-		setViewerSelectionManager(null);
-
-		//		if (fViewerSelectionManager != null) {
-		//			fViewerSelectionManager.removeNodeSelectionListener(getNodeSelectionListener());
-		//		}
-		//
-		//		fOverlayIconManager.setResource(null);
-		//		super.handleDispose(event);
-		//
-		//		if (fModel != null)
-		//			fModel.removeModelStateListener(fInternalModelStateListener);
-	}
-
-	public void refresh() {
-		if (!ignoreRefresh && !getControl().isDisposed()) {
-			treeExtension.resetCachedData();
-			super.refresh();
-
-			//			if (B2BHacks.IS_UNIX) {
-			// this is required to fix defect 193792
-			// this fixes the problem where the 'paintHandler'drawn portions
-			// of tree weren't repainted properly
-			//
-			getTree().redraw(0, 0, getTree().getBounds().width, getTree().getBounds().height, false);
-			getTree().update();
-			//			}
-		}
-	}
-
-	public void refresh(Object o) {
-		if (!ignoreRefresh && !getControl().isDisposed() && timer != null) {
-			if (getTree().isVisible()) {
-				doRefresh(o, false);
-			} else {
-				timer.refresh(o);
-			}
-		}
-	}
-
-	public void setModel(IStructuredModel model) {
-		// remove
-		if (fModel != null) {
-			fModel.removeModelStateListener(fInternalModelStateListener);
-		}
-
-		fModel = model;
-		Document domDoc = null;
-
-		if (fModel != null && fModel instanceof XMLModel) {
-			model.addModelStateListener(fInternalModelStateListener);
-			ModelQuery mq = ModelQueryUtil.getModelQuery(model);
-			treeExtension.setModelQuery(mq);
-			domDoc = ((XMLModel) fModel).getDocument();
-			setInput(domDoc);
-		}
-	}
-
-	// the following methods implement the IDesignViewer interface
-	// - getControl() is implemented via AdvancedTableTreeViewer
-	//
-	public void setViewerSelectionManager(ViewerSelectionManager viewerSelectionManager) {
-		// disconnect from old one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.removeNodeSelectionListener(getNodeSelectionListener());
-			removeSelectionChangedListener(fViewerSelectionManager);
-		}
-
-		fViewerSelectionManager = viewerSelectionManager;
-
-		// connect to new one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.addNodeSelectionListener(getNodeSelectionListener());
-			addSelectionChangedListener(fViewerSelectionManager);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTreeExtension.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTreeExtension.java
deleted file mode 100644
index 44a0373..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTreeExtension.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*****************************************************************************
- * 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.wst.xml.ui.internal.tabletree;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDescriptionBuilder;
-import org.eclipse.wst.xml.internal.ui.XMLEditorResourceHandler;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class XMLTreeExtension extends TreeExtension {
-
-	public final static String STRUCTURE_PROPERTY = XMLEditorResourceHandler.getResourceString("%XMLTreeExtension.0"); //$NON-NLS-1$
-	public final static String VALUE_PROPERTY = XMLEditorResourceHandler.getResourceString("%XMLTreeExtension.1"); //$NON-NLS-1$
-
-	protected Composite control;
-	protected MyCellModifier modifier;
-	protected XMLTableTreePropertyDescriptorFactory propertyDescriptorFactory;
-	protected CMDescriptionBuilder decriptionBuilder = new CMDescriptionBuilder();
-	protected TreeContentHelper treeContentHelper = new TreeContentHelper();
-
-	protected Color f1, f2, b1, b2;
-	protected boolean cachedDataIsValid = true;
-	private ModelQuery fModelQuery;
-
-	public XMLTreeExtension(Tree tree) {
-		super(tree);
-		control = tree;
-		modifier = new MyCellModifier();
-		setCellModifier(modifier);
-		String[] properties = {STRUCTURE_PROPERTY, VALUE_PROPERTY};
-		setColumnProperties(properties);
-
-		f1 = tree.getDisplay().getSystemColor(SWT.COLOR_BLACK);
-		Color background = tree.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-
-		int r = Math.abs(background.getRed() - 125);
-		int g = Math.abs(background.getGreen() - 85);
-		int b = Math.abs(background.getBlue() - 105);
-
-		f2 = new Color(tree.getDisplay(), r, g, b);
-		b1 = tree.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION);
-		b2 = background;
-	}
-
-	public void dispose() {
-		super.dispose();
-		f2.dispose();
-	}
-
-	public void resetCachedData() {
-		cachedDataIsValid = false;
-	}
-
-	public void paintItems(GC gc, TreeItem[] items, Rectangle treeBounds) {
-		super.paintItems(gc, items, treeBounds);
-		cachedDataIsValid = true;
-	}
-
-	protected Object[] computeTreeExtensionData(Object object) {
-		Color color = f1;
-		String string = ""; //$NON-NLS-1$
-		if (string.length() == 0) {
-			string = (String) modifier.getValue(object, VALUE_PROPERTY);
-			color = f1;
-		}
-		if (string.length() == 0 && object instanceof Element) {
-			string = getElementValueHelper((Element) object);
-			color = f2;
-		}
-		Object[] data = new Object[2];
-		data[0] = string;
-		data[1] = color;
-		return data;
-	}
-
-	protected void paintItem(GC gc, TreeItem item, Rectangle bounds) {
-		super.paintItem(gc, item, bounds);
-		Object[] data = computeTreeExtensionData(item.getData());
-		if (data != null && data.length == 2) {
-			gc.setClipping(columnPosition, bounds.y + 1, controlWidth, bounds.height);
-			gc.setForeground((Color) data[1]);
-			gc.drawString((String) data[0], columnPosition + 5, bounds.y + 1);
-			gc.setClipping((Rectangle) null);
-		}
-	}
-
-	protected void addEmptyTreeMessage(GC gc) {
-		// here we print a message when the document is empty just to give the
-		// user a visual cue
-		// so that they know how to proceed to edit the blank view
-		gc.setForeground(tree.getDisplay().getSystemColor(SWT.COLOR_BLACK));
-		gc.setBackground(tree.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		gc.drawString(XMLEditorResourceHandler.getResourceString("%XMLTreeExtension.3"), 10, 10); //$NON-NLS-1$
-		gc.drawString(XMLEditorResourceHandler.getResourceString("%XMLTreeExtension.4"), 10, 10 + gc.getFontMetrics().getHeight()); //$NON-NLS-1$
-	}
-
-	public String getElementValueHelper(Element element) {
-		String result = null;
-
-		if (result == null && getModelQuery() != null) {
-			CMElementDeclaration ed = getModelQuery().getCMElementDeclaration(element);
-			if (ed != null && !Boolean.TRUE.equals(ed.getProperty("isInferred"))) { //$NON-NLS-1$
-				result = decriptionBuilder.buildDescription(ed);
-			}
-		}
-		return result != null ? result : ""; //$NON-NLS-1$
-	}
-
-	/**
-	 *  
-	 */
-	public class MyCellModifier implements ICellModifier, TreeExtension.ICellEditorProvider {
-		public boolean canModify(Object element, String property) {
-			boolean result = false;
-			if (element instanceof Node) {
-				Node node = (Node) element;
-				result = property == VALUE_PROPERTY && treeContentHelper.isEditable(node);
-			}
-			return result;
-		}
-
-		public Object getValue(Object object, String property) {
-			String result = null;
-			if (object instanceof Node) {
-				result = treeContentHelper.getNodeValue((Node) object);
-			}
-			return (result != null) ? result : ""; //$NON-NLS-1$
-		}
-
-		public void modify(Object element, String property, Object value) {
-			//enableNodeSelectionListener(false);
-			Item item = (Item) element;
-			String oldValue = treeContentHelper.getNodeValue((Node) item.getData());
-			String newValue = value.toString();
-			if (newValue != null && !newValue.equals(oldValue)) {
-				treeContentHelper.setNodeValue((Node) item.getData(), value.toString());
-			}
-			//enableNodeSelectionListener(true);
-		}
-
-		public CellEditor getCellEditor(Object o, int col) {
-			IPropertyDescriptor pd = propertyDescriptorFactory.createPropertyDescriptor(o);
-			return pd != null ? pd.createPropertyEditor(control) : null;
-		}
-	}
-
-
-	public ModelQuery getModelQuery() {
-		return fModelQuery;
-	}
-
-	/**
-	 * @param query
-	 */
-	public void setModelQuery(ModelQuery query) {
-		fModelQuery = query;
-		propertyDescriptorFactory = new XMLTableTreePropertyDescriptorFactory(query);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NamespaceInfoContentBuilder.java b/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NamespaceInfoContentBuilder.java
deleted file mode 100644
index 9cf9811..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NamespaceInfoContentBuilder.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.internal.wizards;
-
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMAnyElement;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.util.ContentBuilder;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-
-public class NamespaceInfoContentBuilder extends ContentBuilder
-  {      
-    protected int count = 1;   
-    public List list = new Vector();
-    protected Hashtable table = new Hashtable();   
-
-    public NamespaceInfoContentBuilder()
-    {
-      super();
-    }
-   
-    public void visitCMElementDeclaration(CMElementDeclaration ed)
-    {                      
-      if (ed.getProperty("http://org.eclipse.wst/cm/properties/definitionInfo") != null)
-      {
-        super.visitCMElementDeclaration(ed);
-      }
-    }
-
-    protected void createAnyElementNode(CMAnyElement anyElement)
-    {
-      String uri = anyElement.getNamespaceURI();
-      if (uri != null && !uri.startsWith("##"))
-      {
-        if (table.get(uri) == null)
-        {
-          NamespaceInfo info = new NamespaceInfo();
-          info.uri = uri;     
-          info.prefix = "p" + count++;
-          table.put(uri, info); 
-          list.add(info);
-        }
-      }
-    }
-  }                         
-
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NewModelWizard.java b/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NewModelWizard.java
deleted file mode 100644
index e3a929b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NewModelWizard.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.internal.wizards;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-
-public class NewModelWizard extends Wizard implements INewWizard
-{
-  
-  protected IStructuredSelection selection;
-  protected IWorkbench workbench;
-  protected String currentDirectory;
-
-  public NewModelWizard()
-  {
-  }
-
-  public void init(IWorkbench workbench, IStructuredSelection selection)
-  {
-    this.workbench = workbench;
-    this.selection = selection;
-  }
-
-  public boolean performFinish()
-  {
-    boolean result = true;
-    WizardPage currentPage = (WizardPage)getContainer().getCurrentPage();
-    if (currentPage != null)
-    {
-      result = currentPage.isPageComplete();
-    }
-    return result;
-  }
-
-  /**
-   * showFileDialog
-   */
-  public FileDialog showFileDialog(Shell shell, String defaultDirectory, String defaultFile, String [] filterExtensions)
-  {
-    FileDialog fileDialog = new FileDialog(shell, SWT.OPEN);
-
-    // Get the last visit directory if we haven't defined a particular one here.
-    if (defaultDirectory == null || defaultDirectory.length() == 0)
-    {
-      //defaultDirectory = Locate.instance(this).getLastSelectedDirectory(getResourcePath());
-    }
-
-    if (defaultDirectory != null && defaultDirectory.length() != 0)
-    {
-      fileDialog.setFilterPath(defaultDirectory);
-    }
-
-    fileDialog.setFileName(defaultFile);
-    fileDialog.setFilterExtensions(filterExtensions);
-
-    fileDialog.open();
-
-    return fileDialog;
-  }
-
-
-  public void setCurrentDirectory(String currentDirectory)
-  {
-    this.currentDirectory = currentDirectory;
-  }
-
-
-  public void createWorkbenchResource(IContainer container, String fileName)
-  {
-    IPath path = container.getFullPath();
-    path = path.append(fileName);
-    IFile file = container.getWorkspace().getRoot().getFile(path);
-    if (!file.exists())
-    {
-      try
-      {
-        file.create(null, true, null);
-      }
-      catch (CoreException e)
-      {
-        //XMLBuilderPlugin.getPlugin().getMsgLogger().write("Encountered exception creating file: " + e.getMessage());
-      }
-    }
-  }
-
-  /**
-   * StartPage
-   */
-  public class StartPage extends WizardPage implements Listener
-  {
-    protected int selectedButton;
-    protected String[] radioButtonLabel;
-    protected Button[] radioButton;
-
-    public StartPage(String pageName, String[] radioButtonLabel)
-    {
-      super(pageName);
-      this.radioButtonLabel = radioButtonLabel;
-      radioButton = new Button[radioButtonLabel.length];
-    }
-
-    public Button getRadioButtonAtIndex(int i)
-    {
-      Button result = null;
-      if (i >= 0 && i < radioButton.length)
-      {
-        result = radioButton[i];
-      }
-      return result;
-    }
-
-    public int getSelectedRadioButtonIndex()
-    {
-      int result = -1;
-      for (int i = 0; i < radioButton.length; i++)
-      {
-        if (radioButton[i].getSelection())
-        {
-          result = i;
-        }
-      }
-      return result;
-    }
-
-    public void createControl(Composite parent)
-    {
-      Composite base = new Composite(parent, SWT.NONE);
-      //TODO... setHelp
-      //WorkbenchHelp.setHelp(base, XMLBuilderContextIds.XMLC_CREATE_PAGE);
-      base.setLayout(new GridLayout());
-
-      //radio buttons' container	
-      Composite radioButtonsGroup = new Composite(base, SWT.NONE);
-      GridLayout layout = new GridLayout();
-      layout.numColumns = 1;
-      layout.makeColumnsEqualWidth = true;
-      layout.marginWidth = 0;                
-
-      radioButtonsGroup.setLayout(layout);
-      GridData gd = new GridData(GridData.FILL_BOTH);
-      gd.heightHint = 300;
-      gd.widthHint = 400;
-      radioButtonsGroup.setLayoutData(gd);
-      //TODO... set help
-      //WorkbenchHelp.setHelp(radioButtonsGroup, XMLBuilderContextIds.XMLC_RADIO_GROUP);
-
-      for (int i = 0; i < radioButtonLabel.length; i++)
-      {
-        radioButton[i] = new Button(radioButtonsGroup, SWT.RADIO);
-        radioButton[i].setText(radioButtonLabel[i]);
-        radioButton[i].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        //TODO... set help
-        //WorkbenchHelp.setHelp(radioButton[i], new ControlContextComputer(radioButton[i], XMLBuilderContextIds.XMLC_RADIO_BUTTON));
-        //radioButton[i].addListener(SWT.Modify, this);
-      }
-      setControl(base);
-      setPageComplete(isPageComplete());
-    }
-
-    public void handleEvent(Event event)
-    {
-      if (event.type == SWT.Modify)
-      {
-        setPageComplete(isPageComplete());
-      }
-    }
-  }
-
-
-  /**
-   *  NewFilePage
-   */
-  public class NewFilePage extends WizardNewFileCreationPage
-  {
-    public String defaultName = "NewFile";
-    public String defaultFileExtension = ".txt";
-    public String[] filterExtensions = { "*.txt"};
-
-    public NewFilePage(IStructuredSelection selection)
-    {
-      super("", selection);
-    }
-
-    protected String computeDefaultFileName()
-    {
-      int count = 0;
-      String fileName = defaultName + defaultFileExtension;
-      IPath containerFullPath = getContainerFullPath();
-      if (containerFullPath != null)
-      {
-        while (true)
-        {
-          IPath path = containerFullPath.append(fileName);
-          if (ResourcesPlugin.getWorkspace().getRoot().exists(path))
-          {
-            count++;
-            fileName = defaultName + count + defaultFileExtension;
-          }
-          else
-          {
-            break;
-          }
-        }
-      }
-      return fileName;
-    }
-
-    // returns true if file of specified name exists in any case for selected container
-    protected String existsFileAnyCase(String fileName)
-    {
-      if ( (getContainerFullPath() != null) && (getContainerFullPath().isEmpty() == false)
-            && (fileName.compareTo("") != 0))
-      {
-        //look through all resources at the specified container - compare in upper case
-        IResource parent = ResourcesPlugin.getWorkspace().getRoot().findMember(getContainerFullPath());
-        if (parent instanceof IContainer)
-        {
-          IContainer container = (IContainer) parent;
-          try
-          {
-            IResource[] members = container.members();
-            String enteredFileUpper = fileName.toUpperCase();
-            for (int i=0; i<members.length; i++)
-            {
-              String resourceUpperName = members[i].getName().toUpperCase();
-              if (resourceUpperName.equals(enteredFileUpper))
-              {  
-                return members[i].getName();    
-              }
-            }
-          }
-          catch (CoreException e)
-          {
-          }
-        }
-      }
-      return null;
-    }
-
-
-    protected boolean validatePage()
-    {     
-      String fullFileName = getFileName();
-      String fileExtension = (new Path(fullFileName)).getFileExtension();
-      if (fileExtension != null) 
-      {                    
-        IEditorRegistry editorRegistry = PlatformUI.getWorkbench().getEditorRegistry();
-        IEditorDescriptor defaultEditorDescriptor = editorRegistry.getDefaultEditor();   
-        IEditorDescriptor[] descriptors =  editorRegistry.getEditors(getFileName());        
-        if (descriptors.length == 0)
-        {                                                                         
-          setErrorMessage(XMLWizard.getString("_ERROR_BAD_FILENAME_EXTENSION"));                                                    
-          return false;
-        }              
-      }
-      else
-      {
-        // no fileExtension, let's check for this file with an .xml extension
-        fullFileName += ".xml";
-        if ( (getContainerFullPath() != null) && (getContainerFullPath().isEmpty() == false)
-           && (getFileName().compareTo("") != 0))
-        {
-          Path fullPath = new Path(getContainerFullPath().toString() + '/' + fullFileName);
-          IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(fullPath);
-          if (resource != null) 
-          {
-            setErrorMessage(XMLWizard.getString("_ERROR_FILE_ALREADY_EXISTS"));
-            return false;    
-          }
-        }        
-      }
-
-      // check for file should be case insensitive
-      String sameName = existsFileAnyCase(fullFileName);
-      if (sameName != null) 
-      {
-         String qualifiedFileName = getContainerFullPath().toString() + '/' + fullFileName;
-         setErrorMessage(XMLWizard.getString("_ERROR_FILE_ALREADY_EXISTS") + " " +  sameName);
-         return false;
-      }
-            
-      return super.validatePage();
-    }
-
-    public void createControl(Composite parent)
-    {
-      // inherit default container and name specification widgets
-      super.createControl(parent);
-      this.setFileName(computeDefaultFileName());
-      setPageComplete(validatePage());
-    }
-  }
-}
-
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NewXMLGenerator.java b/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NewXMLGenerator.java
deleted file mode 100644
index 6ad0dd4..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NewXMLGenerator.java
+++ /dev/null
@@ -1,423 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.internal.wizards;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMPlugin;
-import org.eclipse.wst.common.contentmodel.util.ContentBuilder;
-import org.eclipse.wst.common.contentmodel.util.DOMContentBuilderImpl;
-import org.eclipse.wst.common.contentmodel.util.DOMWriter;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.uriresolver.XMLCatalog;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogEntry;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogPlugin;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.eclipse.wst.xml.uriresolver.util.IdResolverImpl;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class NewXMLGenerator
-{                                  
-
-  protected String grammarURI;  
-  protected CMDocument cmDocument;  
-  protected int buildPolicy;
-  protected String rootElementName;
-
-  protected XMLCatalogEntry xmlCatalogEntry;
-  
-  // info for dtd   
-  protected String publicId;
-  protected String systemId;  
-  protected String defaultSystemId;  
-                           
-  // info for xsd
-  public List namespaceInfoList;
-
-  public NewXMLGenerator() 
-  {
-  }
-
-  public NewXMLGenerator(String grammarURI, CMDocument cmDocument) 
-  {
-    this.grammarURI = grammarURI;
-    this.cmDocument = cmDocument;
-  }
-
-
-  public static CMDocument createCMDocument(String uri, String[] errorInfo)
-  {                          
-    String title = null;
-    String message = null;   
-    List errorList = new Vector();
-    CMDocument cmDocument = null;
-
-    if (URIHelper.isReadableURI(uri,true))
-    {
-      uri = URIHelper.normalize(uri, null, null); 
-      cmDocument = CMPlugin.getInstance().createCMDocument(uri, null);
-
-      if (uri.endsWith(".dtd"))
-      {
-        if (errorList.size() > 0)
-        {                 
-          title = XMLWizard.getString("_UI_INVALID_GRAMMAR_ERROR");
-          message = XMLWizard.getString("_UI_LABEL_ERROR_DTD_INVALID_INFO");
-        }
-      }
-      else // ".xsd"
-      {
-        // To be consistent with the schema editor validation
-        XMLSchemaValidationChecker validator = new XMLSchemaValidationChecker();
-        if (!validator.isValid(uri))
-        {
-          title = XMLWizard.getString("_UI_INVALID_GRAMMAR_ERROR");
-          message = XMLWizard.getString("_UI_LABEL_ERROR_SCHEMA_INVALID_INFO");
-        }
-        else if (cmDocument != null)
-        {             
-          int globalElementCount = cmDocument.getElements().getLength();
-          if (globalElementCount == 0)
-          {      
-            title = XMLWizard.getString("_UI_WARNING_TITLE_NO_ROOT_ELEMENTS");
-            message=XMLWizard.getString("_UI_WARNING_MSG_NO_ROOT_ELEMENTS");
-          }
-        }
-      }
-    }
-    else
-    {
-      title = XMLWizard.getString("_UI_WARNING_TITLE_NO_ROOT_ELEMENTS");
-      message = 
-        XMLWizard.getString("_UI_WARNING_URI_NOT_FOUND_COLON")
-        + " "
-        + uri;
-    }
-    errorInfo[0] = title;                                     
-    errorInfo[1] = message;
-
-    return cmDocument;
-  }
-
-
-  public void createEmptyXMLDocument(IFile newFile) throws Exception
-  {                                                                                       
-    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-    Preferences preference = XMLCorePlugin.getDefault().getPluginPreferences();
-	String charSet = preference.getString(CommonModelPreferenceNames.OUTPUT_CODESET);	
-	
-    PrintWriter writer = new PrintWriter(new OutputStreamWriter(outputStream, charSet));
-    writer.println("<?xml version=\"1.0\" encoding=\"" + charSet + "\"?>");
-    writer.flush();
-    outputStream.close(); 
-
-    ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray()); 
-    newFile.setContents(inputStream, true, true, null);  
-    inputStream.close(); 
-  } 
-  
-  public void createXMLDocument(String xmlFileName) throws Exception
-  {
-    ByteArrayOutputStream outputStream = createXMLDocument(xmlFileName, false);
-
-    File file = new File(xmlFileName);
-    FileOutputStream fos = new FileOutputStream(file);
-    outputStream.writeTo(fos);
-    fos.close();
-  }
-
-
-  public void createXMLDocument(IFile newFile, String xmlFileName) throws Exception
-  {
-    ByteArrayOutputStream outputStream = createXMLDocument(xmlFileName, false);
-
-    ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray()); 
-    newFile.setContents(inputStream, true, true, null);  
-    inputStream.close();
-  }
-
-
-  public ByteArrayOutputStream createXMLDocument(String xmlFileName, boolean junk) throws Exception
-  {
-    CMDocument cmDocument = getCMDocument();
-    
-    Assert.isNotNull(cmDocument);
-    Assert.isNotNull(getRootElementName());
-    
-    // create the xml model
-    CMNamedNodeMap nameNodeMap = cmDocument.getElements();
-    CMElementDeclaration cmElementDeclaration = (CMElementDeclaration)nameNodeMap.getNamedItem(getRootElementName());
-    
-    Document xmlDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-    DOMContentBuilderImpl contentBuilder = new DOMContentBuilderImpl(xmlDocument);
-    
-    contentBuilder.setBuildPolicy(buildPolicy);                                                  
-    contentBuilder.setExternalCMDocumentSupport(new MyExternalCMDocumentSupport(namespaceInfoList, xmlFileName));
-    contentBuilder.uglyTempHack = true; // todo... this line should be removed when 169191 is fixed  
-    contentBuilder.createDefaultRootContent(cmDocument, cmElementDeclaration, namespaceInfoList);     
-    
-    String[] encodingInfo = (String[])cmDocument.getProperty("encodingInfo");
-    if (encodingInfo == null)
-    {
-      encodingInfo = new String[2];
-    } 
-    
-    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-    OutputStreamWriter outputStreamWriter = encodingInfo[0] != null ? 
-                                              new OutputStreamWriter(outputStream, encodingInfo[1]) :
-                                              new OutputStreamWriter(outputStream);
-
-    DOMWriter domWriter = new DOMWriter(outputStreamWriter);
-    domWriter.print(xmlDocument, encodingInfo[1], cmDocument.getNodeName(), getNonWhitespaceString(getPublicId()), getNonWhitespaceString(getSystemId())); // todo... replace with domWriter.print(xmlDocument); when 169191 is fixed
-    outputStream.flush();
-    outputStream.close();  
-    
-    return outputStream;
-  }
-
-
-  public void createNamespaceInfoList()
-  {                     
-    List result = new Vector();
-    XMLCatalog xmlCatalog = XMLCatalogPlugin.getInstance().getDefaultXMLCatalog();
-    if (cmDocument != null)
-    {  
-      result = (List)cmDocument.getProperty("http://org.eclipse.wst/cm/properties/namespaceInfo");
-      if (result != null)
-      {
-        int size = result.size();
-        for (int i = 0; i < size; i++)
-        {
-          NamespaceInfo info = (NamespaceInfo)result.get(i);        
-          if (i == 0)
-          {                                         
-            String locationInfo = null;                            
-            if (xmlCatalogEntry != null)
-            {                              
-              if (xmlCatalogEntry.getType() == XMLCatalogEntry.PUBLIC)
-              {
-                locationInfo = xmlCatalogEntry.getWebAddress();  
-              }
-              else
-              {
-                locationInfo = xmlCatalogEntry.getKey(); 
-              }    
-            }       
-            if (locationInfo == null)
-            {
-              locationInfo = defaultSystemId; 
-            } 
-            info.locationHint = locationInfo;    
-            info.setProperty("locationHint-readOnly", "true"); 
-          }                                                                                
-          info.setProperty("uri-readOnly", "true");
-          info.setProperty("unremovable", "true");
-        }
-      }       
-                                      
-      NamespaceInfoContentBuilder builder = new NamespaceInfoContentBuilder();  
-      builder.setBuildPolicy(ContentBuilder.BUILD_ONLY_REQUIRED_CONTENT);
-      builder.visitCMNode(cmDocument);  
-      result.addAll(builder.list);    
-    }                 
-    namespaceInfoList = result;
-  }  
-
-
-  public boolean isMissingNamespaceLocation()
-  {          
-    boolean result = false;
-    for (Iterator i = namespaceInfoList.iterator(); i.hasNext(); )
-    {
-      NamespaceInfo info = (NamespaceInfo)i.next();
-      if (info.locationHint == null)
-      {
-        result = true; 
-        break;
-      }
-    }
-    return result;
-  }
-
-
-  public String[] getNamespaceInfoErrors() 
-  {
-    String[] errorList = null;
-
-    if (namespaceInfoList != null && isMissingNamespaceLocation())
-    {
-      String title = XMLWizard.getString("_UI_LABEL_NO_LOCATION_HINT");
-      String message = XMLWizard.getString("_UI_WARNING_MSG_NO_LOCATION_HINT_1") + " " +
-                       XMLWizard.getString("_UI_WARNING_MSG_NO_LOCATION_HINT_2") + "\n\n" + 
-                       XMLWizard.getString("_UI_WARNING_MSG_NO_LOCATION_HINT_3");
-
-      errorList = new String[2];
-      errorList[0] = title;
-      errorList[1] = message;
-    }
-
-      return errorList;
-  }
-  
-
-  public void setXMLCatalogEntry(XMLCatalogEntry catalogEntry) 
-  {
-    xmlCatalogEntry = catalogEntry;
-  }
-
-  public XMLCatalogEntry getXMLCatalogEntry() 
-  {
-    return xmlCatalogEntry;
-  }
-
-
-  public void setBuildPolicy(int policy) 
-  {
-    buildPolicy = policy;
-  }
-
-
-  public void setDefaultSystemId(String sysId) 
-  {
-    defaultSystemId = sysId;
-  }
-  
-  public String getDefaultSystemId() 
-  {
-    return defaultSystemId;
-  }
-
-  public void setSystemId(String sysId) 
-  {
-    systemId = sysId;
-  }
-  
-  public String getSystemId() 
-  {
-    return systemId;
-  }
-
-  public void setPublicId(String pubId) 
-  {
-    publicId = pubId;
-  }
-
-  public String getPublicId() 
-  {
-    return publicId;
-  }
-
-  public void setGrammarURI(String gramURI) 
-  {
-    grammarURI = gramURI;
-  }
-
-  public String getGrammarURI() 
-  {
-    return grammarURI;
-  }
-
-  public void setCMDocument(CMDocument cmDoc) 
-  {
-    cmDocument = cmDoc;
-  }
-
-  public CMDocument getCMDocument() 
-  {
-    return cmDocument;
-  }
-
-  public void setRootElementName(String rootName) 
-  {
-    rootElementName = rootName;
-  }
-
-  public String getRootElementName() 
-  {
-    return rootElementName;
-  }
-
-
-  protected class MyExternalCMDocumentSupport implements DOMContentBuilderImpl.ExternalCMDocumentSupport 
-  {           
-    protected List namespaceInfoList;
-    protected IdResolver idResolver;   
-
-    protected MyExternalCMDocumentSupport(List namespaceInfoList, String resourceLocation)
-    {
-      this.namespaceInfoList = namespaceInfoList;
-      idResolver = new IdResolverImpl(resourceLocation);
-    }                                            
-
-    public CMDocument getCMDocument(Element element, String namespaceURI)
-    {         
-      CMDocument result = null;
-      if (namespaceURI != null && namespaceURI.trim().length() > 0)
-      {
-        String locationHint = null; 
-        for (Iterator i = namespaceInfoList.iterator(); i.hasNext(); )
-        {
-          NamespaceInfo info = (NamespaceInfo)i.next();
-          if (namespaceURI.equals(info.uri))
-          {
-            locationHint = info.locationHint;
-            break;
-          }
-        }   
-        if (locationHint != null)
-        {                     
-          grammarURI = idResolver.resolveId(locationHint, locationHint);
-          result = CMPlugin.getInstance().createCMDocument(getGrammarURI(), null);
-        }
-      }   
-      else
-      {
-        result = cmDocument;
-      }                                                                      
-      return result;
-    }       
-  }
-
-	public static String getNonWhitespaceString(String string)
-	{
-		String result = null;
-		if (string != null)
-		{
-			if (string.trim().length() > 0)
-			{
-				result = string;
-			}
-		}
-		return result;
-	}
-
-  
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NewXMLWizard.java b/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NewXMLWizard.java
deleted file mode 100644
index 073e495..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/NewXMLWizard.java
+++ /dev/null
@@ -1,937 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.internal.wizards;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.util.DOMContentBuilder;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.ui.dialogs.NamespaceInfoErrorHelper;
-import org.eclipse.wst.xml.ui.dialogs.SelectFileOrXMLCatalogIdPanel;
-import org.eclipse.wst.xml.ui.dialogs.UpdateListener;
-import org.eclipse.wst.xml.ui.nsedit.CommonEditNamespacesDialog;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogEntry;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-public class NewXMLWizard extends NewModelWizard
-{                                  
-  protected static final int CREATE_FROM_DTD     = 0;
-  protected static final int CREATE_FROM_XSD     = 1;
-  protected static final int CREATE_FROM_SCRATCH = 2;
-
-  protected static final String[] createFromRadioButtonLabel
-    = {XMLWizard.getString("_UI_RADIO_XML_FROM_DTD"),
-       XMLWizard.getString("_UI_RADIO_XML_FROM_SCHEMA"),
-       XMLWizard.getString("_UI_RADIO_XML_FROM_SCRATCH")};
-
-  protected static final String[] filePageFilterExtensions = {".xml"};
-  protected static final String[] browseXSDFilterExtensions = {".xsd"};
-  protected static final String[] browseDTDFilterExtensions = {".dtd"};
-
-  protected NewFilePage newFilePage;
-  protected StartPage startPage;
-  protected SelectGrammarFilePage selectGrammarFilePage; 
-  protected SelectRootElementPage selectRootElementPage;
-                 
-  protected String cmDocumentErrorMessage;
-
-  protected NewXMLGenerator generator;
-
-
-  public NewXMLWizard()
-  {
-    setWindowTitle(XMLWizard.getString("_UI_WIZARD_CREATE_XML_HEADING"));
-    setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(XMLWizard.class,"icons/generatexml_wiz.gif"));
-    generator = new NewXMLGenerator();
-  }
-  
-
-  public NewXMLWizard(IFile file, CMDocument cmDocument)
-  {
-    this();       
-
-    generator.setGrammarURI(URIHelper.getPlatformURI(file));
-    generator.setCMDocument(cmDocument);
-  }
-
-
-  public static void showDialog(Shell shell, IFile file, IStructuredSelection structuredSelection)
-  {                        
-    List errorList = new Vector();          
-    String[] errorInfo = new String[2];
-    CMDocument cmDocument = NewXMLGenerator.createCMDocument(file.getLocation().toOSString(), errorInfo);
-    if (errorInfo[0] == null)
-    {
-      NewXMLWizard wizard = new NewXMLWizard(file, cmDocument);
-      wizard.init(PlatformUI.getWorkbench(), structuredSelection);
-      wizard.setNeedsProgressMonitor(true);
-      WizardDialog dialog = new WizardDialog(shell, wizard);
-      dialog.create();          
-      dialog.getShell().setText(XMLWizard.getString("_UI_DIALOG_NEW_TITLE"));     
-      dialog.setBlockOnOpen(true);
-      dialog.open();
-    }         
-    else
-    {
-      MessageDialog.openInformation(shell, errorInfo[0], errorInfo[1]);
-    }
-  }  
-
-
-  public void addPages()
-  {
-    String grammarURI = generator.getGrammarURI();
-
-    if (grammarURI == null)
-    {
-      // start page
-      startPage = new StartPage("StartPage", createFromRadioButtonLabel)
-      {
-        public void createControl(Composite parent)
-        {
-          super.createControl(parent);
-        }
-                    
-        public void setVisible(boolean visible)
-        {
-          super.setVisible(visible);
-          getRadioButtonAtIndex(getCreateMode()).setSelection(true);
-          getRadioButtonAtIndex(getCreateMode()).setFocus();
-
-          // Set the help context for each button
-          //WorkbenchHelp.setHelp(startPage.getRadioButtonAtIndex(0), XMLBuilderContextIds.XMLC_FROM_DTD_RADIO);
-          //WorkbenchHelp.setHelp(startPage.getRadioButtonAtIndex(1), XMLBuilderContextIds.XMLC_XML_SCHEMA_RADIO);
-          //WorkbenchHelp.setHelp(startPage.getRadioButtonAtIndex(2), XMLBuilderContextIds.XMLC_SCRATCH_RADIO);
-        }
-      };
-
-
-      startPage.setTitle(XMLWizard.getString("_UI_WIZARD_CREATE_XML_HEADING"));
-      startPage.setDescription(XMLWizard.getString("_UI_WIZARD_CREATE_XML_EXPL"));
-      addPage(startPage);
-    }
-                                   
-    // new file page                              
-    newFilePage = new NewFilePage(selection);
-    newFilePage.setTitle(XMLWizard.getString("_UI_WIZARD_CREATE_XML_FILE_HEADING"));
-    newFilePage.setDescription(XMLWizard.getString("_UI_WIZARD_CREATE_XML_FILE_EXPL")); 
-    newFilePage.defaultName = (grammarURI != null) ? URIHelper.removeFileExtension(URIHelper.getLastSegment(grammarURI)) : "NewFile";
-    newFilePage.defaultFileExtension = ".xml";
-    newFilePage.filterExtensions = filePageFilterExtensions;
-    addPage(newFilePage);
-     
-    // selectGrammarFilePage
-    selectGrammarFilePage = new SelectGrammarFilePage();   
-    addPage(selectGrammarFilePage);                                                                     
-            
-    // select root element page
-    selectRootElementPage = new SelectRootElementPage();
-    selectRootElementPage.setTitle(XMLWizard.getString("_UI_WIZARD_SELECT_ROOT_HEADING"));
-    selectRootElementPage.setDescription(XMLWizard.getString("_UI_WIZARD_SELECT_ROOT_EXPL"));
-    addPage(selectRootElementPage);
-  }
-                  
-
-  public IWizardPage getStartingPage()
-  {
-    WizardPage result = null;
-    if (startPage != null)
-    {
-      result = startPage;
-    }
-    else
-    {
-      result = newFilePage;
-    }
-    return result;
-  }
-
-
-  public int getCreateMode()
-  {
-    String grammarURI = generator.getGrammarURI();
-
-    int result = CREATE_FROM_SCRATCH;
-    if (grammarURI != null)
-    {              
-      if (grammarURI.endsWith(".dtd"))
-      {
-        result = CREATE_FROM_DTD;
-      }
-      else if (grammarURI.endsWith(".xsd"))
-      {
-        result = CREATE_FROM_XSD;
-      }
-    }
-    else if (startPage != null)
-    {
-      int selectedIndex = startPage.getSelectedRadioButtonIndex();
-      if (selectedIndex != -1)
-      {
-        result = selectedIndex;
-      }
-    }
-    return result;
-  }
- 
-
-  public IWizardPage getNextPage(IWizardPage currentPage)
-  {
-    WizardPage nextPage = null;
-    if (currentPage == startPage)
-    {
-      nextPage = newFilePage;
-    }
-    else if (currentPage == newFilePage)
-    {                       
-      if (getCreateMode() == CREATE_FROM_SCRATCH)
-      {
-        nextPage = null;
-      }
-      else if (generator.getGrammarURI() == null)
-      {
-        nextPage = selectGrammarFilePage;
-      }
-      else
-      {
-        nextPage = selectRootElementPage;
-      }
-    }
-    else if (currentPage == selectGrammarFilePage)
-    {
-      nextPage = selectRootElementPage;
-    }                           
-    return nextPage;
-  }
-
-
-  public boolean canFinish()
-  {
-    boolean result = false;
-
-    IWizardPage currentPage = getContainer().getCurrentPage();
-
-    if ((startPage != null && startPage.getSelectedRadioButtonIndex() == CREATE_FROM_SCRATCH && currentPage == newFilePage) ||
-        (currentPage == selectRootElementPage))
-    {
-      result = currentPage.isPageComplete();
-    }
-    return result;
-  }      
-  
-
-  public boolean performFinish()
-  {       
-    boolean result = true;
-    super.performFinish();
-    try
-    {                                                                                   
-
-      String[] namespaceErrors = generator.getNamespaceInfoErrors();
-      if (namespaceErrors !=  null) 
-      {
-        String title = namespaceErrors[0];
-        String message = namespaceErrors[1];
-        result = MessageDialog.openQuestion(getShell(), title, message);
-      }
-
-      if (result)
-      {
-        String fileName = newFilePage.getFileName();
-        if ((new Path(fileName)).getFileExtension() == null)
-        {
-          newFilePage.setFileName(fileName.concat(".xml"));
-        }
-
-        IFile newFile = newFilePage.createNewFile();
-        String xmlFileName = newFile.getLocation().toOSString();
-
-        if (getContainer().getCurrentPage() == selectRootElementPage)
-        {
-
-          generator.createXMLDocument(newFile, xmlFileName);
-        }           
-        else
-        {
-          generator.createEmptyXMLDocument(newFile);
-        }
-        
-		newFile.refreshLocal(1, null);
-		
-		IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		BasicNewResourceWizard.selectAndReveal(newFile, workbenchWindow); 
-        openEditor(newFile);
-      }
-    }
-    catch (Exception e)
-    {
-      //e.printStackTrace();
-    }
-    return result;
-  }  
-  
-  public void openEditor(IFile file)
-  {  
-	// Open editor on new file.
-  	String editorId = null;
-  	IEditorDescriptor editor = PlatformUI.getWorkbench().getEditorRegistry().getDefaultEditor(file.getLocation().toOSString());
-  	if(editor != null){
-  		editorId = editor.getId();
-  	}
-  	IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-	try {
-		if (dw != null) {
-			IWorkbenchPage page = dw.getActivePage();
-			if (page != null)
-				page.openEditor(new FileEditorInput(file), editorId, true);
-		}
-	} catch (PartInitException e) {
-	}
-  }
-  
-
-  protected String getDefaultSystemId()
-  {  
-    String relativePath = "platform:/resource/" + newFilePage.getContainerFullPath().toString() + "/dummy"; 
-    return URIHelper.getRelativeURI(generator.getGrammarURI(), relativePath);
-  }                          
-     
-
-  /**
-   * SelectGrammarFilePage
-   */
-  class SelectGrammarFilePage extends WizardPage
-  {
-    protected SelectFileOrXMLCatalogIdPanel panel;
-  
-    SelectGrammarFilePage()
-    {
-      super("SelectGrammarFilePage");
-    }  
-
-    public void createControl(Composite parent)
-    {             
-      Composite composite = new Composite(parent, SWT.NONE);
-      //WorkbenchHelp.setHelp(composite, XMLBuilderContextIds.XMLC_GRAMMAR_PAGE);
-      composite.setLayout(new GridLayout());
-      composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-      setControl(composite);
-
-      panel = new SelectFileOrXMLCatalogIdPanel(composite);
-      panel.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-      SelectFileOrXMLCatalogIdPanel.Listener listener = new SelectFileOrXMLCatalogIdPanel.Listener()
-      {
-        public void completionStateChanged()
-        {          
-          updateErrorMessage();
-        }
-      };
-      panel.setListener(listener);
-    }
-   
-    public void setVisible(boolean visible)
-    {                              
-      super.setVisible(visible);                              
-      if (visible)
-      {                      
-        if (getCreateMode() == CREATE_FROM_DTD)
-        {                               
-          setTitle(XMLWizard.getString("_UI_WIZARD_SELECT_DTD_FILE_TITLE"));
-          setDescription(XMLWizard.getString("_UI_WIZARD_SELECT_DTD_FILE_DESC"));
-          panel.setFilterExtensions(browseDTDFilterExtensions);
-        }
-        else
-        { 
-          setTitle(XMLWizard.getString("_UI_WIZARD_SELECT_XSD_FILE_TITLE"));
-          setDescription(XMLWizard.getString("_UI_WIZARD_SELECT_XSD_FILE_DESC"));
-          panel.setFilterExtensions(browseXSDFilterExtensions);
-        } 
-        generator.setGrammarURI(null);
-        generator.setCMDocument(null); 
-        cmDocumentErrorMessage = null;        
-      }                             
-      panel.setVisibleHelper(visible);
-    }  
-
-    public String getURI()
-    {                      
-      String uri = panel.getXMLCatalogURI();
-      if (uri == null)
-      {
-        IFile file = panel.getFile();
-        if (file != null)
-        {
-          uri = URIHelper.getPlatformURI(file);
-        }               
-      }
-      return uri;
-    }  
-
-    public boolean isPageComplete()
-    {                            
-      return getURI() != null && getErrorMessage() == null;
-    }                        
-
-    public String getXMLCatalogId()
-    {
-      return panel.getXMLCatalogId();
-    }                            
-    
-    public XMLCatalogEntry getXMLCatalogEntry()
-    {
-      return panel.getXMLCatalogEntry();   
-    }    
-
-    public String computeErrorMessage()
-    {           
-      String errorMessage = null;
-      String uri = getURI();               
-      if (uri != null)
-      {         
-        if (!URIHelper.isReadableURI(uri,false))
-        {
-          errorMessage = XMLWizard.getString("_UI_LABEL_ERROR_CATALOG_ENTRY_INVALID");                  
-        }
-      }             
-      return errorMessage;
-    }
-
-
-    public void updateErrorMessage()
-    {
-      String errorMessage = computeErrorMessage();  
-      setErrorMessage(errorMessage);
-      setPageComplete(isPageComplete());
-    }
-  }
-
-
-  /**
-   * SelectRootElementPage
-   */
-  class SelectRootElementPage extends WizardPage implements SelectionListener
-  {
-    protected Combo combo;
-    protected Button[] radioButton;
-    protected PageBook pageBook;
-    protected XSDOptionsPanel xsdOptionsPanel;
-    protected DTDOptionsPanel dtdOptionsPanel;
-
-
-    SelectRootElementPage()
-    {
-      super("SelectRootElementPage");
-    }
-
-    public void createControl(Composite parent)
-    {
-      // container group
-      Composite containerGroup = new Composite(parent,SWT.NONE);
-      //WorkbenchHelp.setHelp(containerGroup, XMLBuilderContextIds.XMLC_ROOT_PAGE);
-      containerGroup.setLayout(new GridLayout());
-      containerGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-      setControl(containerGroup);
-
-      // select root element
-      Label containerLabel = new Label(containerGroup, SWT.NONE);
-      containerLabel.setText(XMLWizard.getString("_UI_LABEL_ROOT_ELEMENT"));
-      combo = new Combo(containerGroup, SWT.DROP_DOWN | SWT.READ_ONLY);
-      combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-      combo.addSelectionListener(this);
-      //WorkbenchHelp.setHelp(combo, XMLBuilderContextIds.XMLC_ROOT_ROOT);
-
-      // Options
-      {
-        Group group = new Group(containerGroup, SWT.NONE);
-        group.setText(XMLWizard.getString("_UI_WIZARD_CONTENT_OPTIONS"));
-        //WorkbenchHelp.setHelp(group, XMLBuilderContextIds.XMLC_CURRENT_GROUP);
-        
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 1;
-        layout.makeColumnsEqualWidth = true;
-        layout.marginWidth = 0;
-        group.setLayout(layout);
-        group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        radioButton = new Button[4];
-                
-        radioButton[0] = new Button(group, SWT.CHECK);
-        radioButton[0].setText(XMLWizard.getString("_UI_WIZARD_CREATE_OPTIONAL_ATTRIBUTES"));
-        radioButton[0].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        radioButton[0].setSelection(false);
-        //WorkbenchHelp.setHelp(radioButton[0], XMLBuilderContextIds.XMLC_CREATE_OPTIONAL_ATTRIBUTES);
-        
-        radioButton[1] = new Button(group, SWT.CHECK);
-        radioButton[1].setText(XMLWizard.getString("_UI_WIZARD_CREATE_OPTIONAL_ELEMENTS"));
-        radioButton[1].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        radioButton[1].setSelection(false);
-        //WorkbenchHelp.setHelp(radioButton[1], XMLBuilderContextIds.XMLC_CREATE_OPTIONAL_ELEMENTS);
-        
-        radioButton[2] = new Button(group, SWT.CHECK);
-        radioButton[2].setText(XMLWizard.getString("_UI_WIZARD_CREATE_FIRST_CHOICE"));
-        radioButton[2].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        radioButton[2].setSelection(true);
-        //WorkbenchHelp.setHelp(radioButton[2], XMLBuilderContextIds.XMLC_CREATE_FIRST_CHOICE);
-        
-        radioButton[3] = new Button(group, SWT.CHECK);
-        radioButton[3].setText(XMLWizard.getString("_UI_WIZARD_FILL_ELEMENTS_AND_ATTRIBUTES"));
-        radioButton[3].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        radioButton[3].setSelection(true);                        
-        //WorkbenchHelp.setHelp(radioButton[3], XMLBuilderContextIds.XMLC_FILL_ELEMENTS_AND_ATTRIBUTES);
-/*
-        radioButton = new Button[2];
-
-        radioButton[0] = new Button(group, SWT.RADIO);
-        radioButton[0].setText(XMLWizard.getString("_UI_WIZARD_CREATE_REQUIRED"));
-        radioButton[0].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        radioButton[0].setSelection(true);
-        WorkbenchHelp.setHelp(radioButton[0], XMLBuilderContextIds.XMLC_CREATE_REQUIRED_ONLY);
-
-        radioButton[1] = new Button(group, SWT.RADIO);
-        radioButton[1].setText(XMLWizard.getString("_UI_WIZARD_CREATE_OPTIONAL"));
-        radioButton[1].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        WorkbenchHelp.setHelp(radioButton[1], XMLBuilderContextIds.XMLC_CREATE_REQUIRED_AND_OPTION);
-*/
-      }
-
-      // add the grammar specific generation options
-      //
-      {
-        pageBook = new PageBook(containerGroup, SWT.NONE);
-        pageBook.setLayoutData(new GridData(GridData.FILL_BOTH));
-        xsdOptionsPanel = new XSDOptionsPanel(this, pageBook);
-        dtdOptionsPanel = new DTDOptionsPanel(this, pageBook);
-        pageBook.showPage(xsdOptionsPanel); 
-      }
-    }
-
-    public void widgetSelected(SelectionEvent event)
-    {
-      int index = combo.getSelectionIndex();
-      String rootElementName = (index != -1) ? combo.getItem(index) : null;
-      generator.setRootElementName(rootElementName);
-    }
-
-    public void widgetDefaultSelected(SelectionEvent event)
-    {
-    }
-
-    public void setVisible(boolean visible)
-    {
-      super.setVisible(visible);
-
-      if (visible)
-      {
-        try
-        {
-          if (generator.getGrammarURI() == null)
-          {
-            generator.setGrammarURI(selectGrammarFilePage.getURI());
-            generator.setXMLCatalogEntry(selectGrammarFilePage.getXMLCatalogEntry());
-          }
-          Assert.isNotNull(generator.getGrammarURI());    
-                
-          if (generator.getCMDocument() == null)
-          {
-            final String[] errorInfo = new String[2];
-            final CMDocument[] cmdocs = new CMDocument[1];
-            Runnable r = new Runnable()
-              {
-                public void run()
-                {
-                  cmdocs[0] = NewXMLGenerator.createCMDocument(generator.getGrammarURI(), errorInfo);
-                }
-              };
-            org.eclipse.swt.custom.BusyIndicator.showWhile(Display.getCurrent(),r);
-
-            generator.setCMDocument(cmdocs[0]);
-            cmDocumentErrorMessage = errorInfo[1];     
-          }    
-
-          if (generator.getCMDocument() != null && cmDocumentErrorMessage == null)
-          {
-            CMNamedNodeMap nameNodeMap = generator.getCMDocument().getElements();
-            Vector nameNodeVector = new Vector();
-
-            for (int i = 0; i < nameNodeMap.getLength(); i++)
-            {
-              CMElementDeclaration cmElementDeclaration = (CMElementDeclaration)nameNodeMap.item(i);
-              Object value =  cmElementDeclaration.getProperty("Abstract");
-              if  (value !=  Boolean.TRUE)
-              {
-                nameNodeVector.add(cmElementDeclaration.getElementName());
-              }
-            }
-
-            Object[] nameNodeArray = nameNodeVector.toArray();
-            if (nameNodeArray.length > 0 )
-            {
-              Arrays.sort(nameNodeArray, Collator.getInstance());
-            }
-
-            String defaultRootName = (String) (generator.getCMDocument()).getProperty("http://org.eclipse.wst/cm/properties/defaultRootName");
-            int defaultRootIndex = -1;
-            combo.removeAll();
-
-
-            for (int i = 0; i < nameNodeArray.length; i++)
-            {
-              String elementName = (String)nameNodeArray[i];
-
-              combo.add(elementName);
-              if (defaultRootName != null && defaultRootName.equals(elementName))
-              {
-                defaultRootIndex = i;
-              }
-            }
-         
-            if (nameNodeArray.length > 0)
-            {
-              defaultRootIndex = defaultRootIndex != -1 ? defaultRootIndex : 0;
-              combo.select(defaultRootIndex);
-              generator.setRootElementName(combo.getItem(defaultRootIndex));
-            }
-          }
-
-          if (generator.getGrammarURI().endsWith("xsd"))
-          {                                       
-            pageBook.showPage(xsdOptionsPanel); 
-            generator.setDefaultSystemId(getDefaultSystemId());
-            generator.createNamespaceInfoList();
-
-            // Provide default namespace prefix if none
-            for (int i=0; i<generator.namespaceInfoList.size(); i++)
-            {
-              NamespaceInfo nsinfo = 
-                (NamespaceInfo)generator.namespaceInfoList.get(i);
-              if ((nsinfo.prefix == null || nsinfo.prefix.trim().length() == 0)
-                  && (nsinfo.uri != null && nsinfo.uri.trim().length() != 0))
-              {
-                nsinfo.prefix = getDefaultPrefix(generator.namespaceInfoList);
-              }
-            }
-            xsdOptionsPanel.setNamespaceInfoList(generator.namespaceInfoList);
-          }
-          else if (generator.getGrammarURI().endsWith("dtd"))
-          {
-            pageBook.showPage(dtdOptionsPanel);
-            dtdOptionsPanel.update();
-          }
-        }   
-        catch(Exception e)
-        {
-           //XMLBuilderPlugin.getPlugin().getMsgLogger().writeCurrentThread();
-        }
-
-        /*
-        String errorMessage = computeErrorMessage();
-        if (errorMessage == null) 
-          super.setVisible(visible);
-        */
-        
-        updateErrorMessage();
-      }
-    }
-                            
-    private String getDefaultPrefix(List nsInfoList)
-    {
-      String defaultPrefix = "p";
-      if (nsInfoList == null)
-        return defaultPrefix;
-
-      Vector v = new Vector();
-      for (int i=0; i<nsInfoList.size(); i++)
-      {
-        NamespaceInfo nsinfo = (NamespaceInfo)nsInfoList.get(i);
-        if (nsinfo.prefix != null)
-          v.addElement(nsinfo.prefix);
-      }
-
-      if (v.contains(defaultPrefix))
-      {
-        String s = defaultPrefix;
-        for (int j=0; v.contains(s); j++)
-        {
-          s = defaultPrefix + Integer.toString(j);
-        }
-        return s;
-      }
-      else
-        return defaultPrefix;
-    }
-
-    public boolean isPageComplete()
-    {
-      boolean complete = (generator.getRootElementName() != null && generator.getRootElementName().length() > 0) && getErrorMessage() == null;
-      
-      if (complete) {
-      	/*
-        int buildPolicy = radioButton[0].getSelection() ?
-                          DOMContentBuilder.BUILD_ONLY_REQUIRED_CONTENT :
-                          DOMContentBuilder.BUILD_ALL_CONTENT;
-        */
-        int buildPolicy = 0;
-        if (radioButton[0].getSelection())
-          buildPolicy = buildPolicy | DOMContentBuilder.BUILD_OPTIONAL_ATTRIBUTES;
-        if (radioButton[1].getSelection())
-          buildPolicy = buildPolicy | DOMContentBuilder.BUILD_OPTIONAL_ELEMENTS;
-        if (radioButton[2].getSelection())
-          buildPolicy = buildPolicy | DOMContentBuilder.BUILD_FIRST_CHOICE | DOMContentBuilder.BUILD_FIRST_SUBSTITUTION;
-        if (radioButton[3].getSelection())
-          buildPolicy = buildPolicy | DOMContentBuilder.BUILD_TEXT_NODES;
-                    
-        generator.setBuildPolicy(buildPolicy);
-      }
-
-      return complete;
-    }
-
-    public String computeErrorMessage()
-    {
-      String errorMessage = null;
-               
-      if (cmDocumentErrorMessage != null)
-      {
-        errorMessage = cmDocumentErrorMessage;                  
-      }
-      else if (generator.getRootElementName() == null || generator.getRootElementName().length() == 0)
-      {
-        errorMessage = XMLWizard.getString("_ERROR_ROOT_ELEMENT_MUST_BE_SPECIFIED");
-      }                  
-
-      return errorMessage;
-    }
-
-
-    public void updateErrorMessage()
-    {
-      String errorMessage = computeErrorMessage();
-      if (errorMessage == null)
-      { 
-        if (xsdOptionsPanel.isVisible())
-        {
-          
-          errorMessage = xsdOptionsPanel.computeErrorMessage();
-        }
-        else if (dtdOptionsPanel.isVisible())
-        {
-          errorMessage = dtdOptionsPanel.computeErrorMessage();
-        }
-      }
-      setErrorMessage(errorMessage);
-      setPageComplete(isPageComplete());
-    }
-  }
-  ////////////////End SelectRootElementPage
-  
-
-
-  public static GridLayout createOptionsPanelLayout()
-  {
-    GridLayout gridLayout = new GridLayout();
-    gridLayout.marginWidth = 0;
-    gridLayout.horizontalSpacing = 0;
-    return gridLayout;
-  }
-    
-
-                    
-  /**
-   * 
-   */
-  class XSDOptionsPanel extends Composite
-  {            
-    protected String errorMessage = null;
-    protected SelectRootElementPage parentPage;   
-    protected CommonEditNamespacesDialog editNamespaces;
-
-    public XSDOptionsPanel(SelectRootElementPage parentPage, Composite parent)
-    {
-      super(parent, SWT.NONE);
-      this.parentPage = parentPage;
-                                                                            
-      setLayout(createOptionsPanelLayout());                                 
-      setLayoutData(new GridData(GridData.FILL_BOTH));             
-                                
-      Composite co = new Composite(this, SWT.NONE);
-      co.setLayout(new GridLayout());
-	 
-      if (newFilePage != null && newFilePage.getContainerFullPath() != null)
-      {
-        // todo... this is a nasty mess. I need to revist this code.
-        //
-        String resourceURI = "platform:/resource" + newFilePage.getContainerFullPath().toString() + "/dummy";
-        String resolvedPath = URIHelper.normalize(resourceURI, null, null);
-        if (resolvedPath.startsWith("file:/"))
-        {
-          resolvedPath = resolvedPath.substring(6);
-        }
-        // end nasty messs
-        String tableTitle = XMLWizard.getString("_UI_LABEL_NAMESPACE_INFORMATION");
-        editNamespaces = new CommonEditNamespacesDialog(co, new Path(resolvedPath), tableTitle, true, true);
-      }
-
-      UpdateListener updateListener = new UpdateListener()
-      {
-        public void updateOccured(Object object, Object arg)
-        { 
-          updateErrorMessage((List)arg);
-        }
-      };
-    }
-    
-    public void setNamespaceInfoList(List list)
-    {                   
-      editNamespaces.setNamespaceInfoList(list);   
-      editNamespaces.updateErrorMessage(list);                      
-    }    
-    
-    public void updateErrorMessage(List namespaceInfoList)
-    {        
-      NamespaceInfoErrorHelper helper = new NamespaceInfoErrorHelper();
-      errorMessage = helper.computeErrorMessage(namespaceInfoList, null);
-      parentPage.updateErrorMessage();
-    }
-  
-    
-    public String computeErrorMessage()
-    {             
-      return errorMessage;
-    }   
-  }    
-
-
-  /**
-   * 
-   */
-  public class DTDOptionsPanel extends Composite implements ModifyListener
-  {
-    protected Group group;
-    protected Text systemIdField;
-    protected Text publicIdField;
-    protected SelectRootElementPage parentPage;
-
-    public DTDOptionsPanel(SelectRootElementPage parentPage, Composite parent)
-    {
-      super(parent, SWT.NONE);
-      this.parentPage = parentPage;
-      setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-      setLayout(createOptionsPanelLayout());
-      Group group = new Group(this, SWT.NONE);
-      group.setText(XMLWizard.getString("_UI_LABEL_DOCTYPE_INFORMATION"));
-      //WorkbenchHelp.setHelp(group, XMLBuilderContextIds.XMLC_DOCUMENTATION_GROUP);
-      
-      GridLayout layout = new GridLayout();
-      layout.numColumns = 2;
-      group.setLayout(layout);
-      group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-                  
-      Label publicIdLabel = new Label(group, SWT.NONE);
-      publicIdLabel.setText(XMLWizard.getString("_UI_LABEL_PUBLIC_ID"));
-      publicIdField = new Text(group, SWT.SINGLE | SWT.BORDER);
-      publicIdField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-      publicIdField.addModifyListener(this);
-      //WorkbenchHelp.setHelp(publicIdField, XMLBuilderContextIds.XMLC_PUBLIC);
-      
-      Label systemIdLabel = new Label(group, SWT.NONE);
-      systemIdLabel.setText(XMLWizard.getString("_UI_LABEL_SYSTEM_ID"));
-      systemIdField = new Text(group, SWT.SINGLE | SWT.BORDER);
-      systemIdField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-      systemIdField.addModifyListener(this);
-      //WorkbenchHelp.setHelp(systemIdField, XMLBuilderContextIds.XMLC_SYSTEM);      
-    }
-    
-    public void update()
-    {                           
-      String thePublicId = null;                              
-      String theSystemId = null;
-      XMLCatalogEntry xmlCatalogEntry = generator.getXMLCatalogEntry();
-
-      if (xmlCatalogEntry != null)
-      {
-        if (xmlCatalogEntry.getType() == XMLCatalogEntry.PUBLIC)
-        {
-          thePublicId = xmlCatalogEntry.getKey();
-          theSystemId = xmlCatalogEntry.getWebAddress();
-          if (theSystemId == null)
-          {
-            theSystemId = generator.getGrammarURI().startsWith("http:") ? generator.getGrammarURI() : URIHelper.getLastSegment(generator.getGrammarURI());
-          }  
-        }                                          
-        else
-        {
-          theSystemId = xmlCatalogEntry.getKey();
-        }  
-      }                                     
-      else
-      {
-        theSystemId = getDefaultSystemId();
-      }                                    
-                                                                    
-      publicIdField.setText(thePublicId != null ? thePublicId : "");
-      systemIdField.setText(theSystemId != null ? theSystemId : "");
-    }      
-
-    public void modifyText(ModifyEvent e)
-    {
-      generator.setSystemId(systemIdField.getText());
-      generator.setPublicId(publicIdField.getText());
-      parentPage.updateErrorMessage();
-    }
-
-    public String computeErrorMessage()
-    {
-      return null;
-    }
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLExampleProjectCreationWizard.java b/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLExampleProjectCreationWizard.java
deleted file mode 100644
index 529c7f3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLExampleProjectCreationWizard.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.internal.wizards;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.common.ui.wizards.ExampleProjectCreationWizard;
-
-/**
- * Wizard used for creating the XML samples.
- * Most functionality is inherited from ExampleProjectCreationWizard.
- * 
- * @deprecated - to be removed in WTP 1.0M4
- */
-public class XMLExampleProjectCreationWizard extends ExampleProjectCreationWizard {
-	
-	public static String EXAMPLE_WIZARD_XP_ID = "org.eclipse.wst.xml.ui.XMLExampleProjectCreationWizardExtension";  //$NON-NLS-1$
-
-
-	public XMLExampleProjectCreationWizard() {
-		super();
-		
-	}
-	
-
-	protected ImageDescriptor getImageDescriptor(String banner) {
-		return XMLWizard.getInstance().getImageDescriptor(banner);
-	}
-	
-	public String getWizardExtensionId(){
-		return EXAMPLE_WIZARD_XP_ID;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLImportActionDelegate.java b/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLImportActionDelegate.java
deleted file mode 100644
index c4ed7d0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLImportActionDelegate.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.internal.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.osgi.framework.Bundle;
-
-public class XMLImportActionDelegate implements IActionDelegate
-{
-  private static final String validateXSDPluginID = "org.eclipse.wst.xsd.validation";
-  private static final String xsdValidatorClassName = "org.eclipse.wst.xsd.validation.internal.ui.eclipse.XSDValidator";
-  
-  private static final String validateDTDPluginID = "org.eclipse.wst.dtd.validation";
-  private static final String dtdValidatorClassName = "org.eclipse.wst.dtd.validation.internal.ui.eclipse.DTDValidator";
-
-  private static final String validationReportClassName = "org.eclipse.wst.xml.validation.internal.core.ValidationReport";
-
-  
-  /**
-   * Checks the current selection and runs the separate browser
-   * to show the content of the Readme file. This code shows how
-   * to launch separate browsers that are not VA/Base desktop parts.
-   *
-   * @param action  the action that was performed
-   */
-  public void run(IAction action)
-  {
-    IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-    ISelection selection = workbenchWindow.getSelectionService().getSelection();
-    Object selectedObject = getSelection(selection);
-
-    if (selectedObject instanceof IFile && selection instanceof IStructuredSelection)
-    {
-      IFile file = (IFile)selectedObject;
-      IStructuredSelection structuredSelection = (IStructuredSelection)selection;
-
-      if (file.getName().endsWith(".dtd") || file.getName().endsWith(".xsd"))
-      { 
-        IPath path = file.getLocation();
-        String uri = URIHelper.getURIForFilePath(path.toString());
-        
-        boolean validationPluginsFound = false;
-        
-        Boolean isValid = null;
-
-        Class[] parameterTypes = new Class[] {String.class};
-        Object[] arguments = new Object[] {uri};
-        
-        try
-        {
-
-          if (file.getName().endsWith(".xsd"))
-          {
-//          Here is the Reflection equivalent way of performing the following lines
-//          XSDValidator xsdValidator = XSDValidator.getInstance();
-//          ValidationReport valreport = xsdValidator.validate(uri);
-           
-            Bundle validateXSDBundle = Platform.getBundle(validateXSDPluginID);
-            if (validateXSDBundle != null)
-            {
-              Class xsdValidatorClass, validationReportClass;
-              Object xsdValidatorObject, validationReportObject;
-              
-              xsdValidatorClass = validateXSDBundle.loadClass(xsdValidatorClassName);
-
-              Method getInstanceMethod = xsdValidatorClass.getMethod("getInstance", null);
-              xsdValidatorObject = getInstanceMethod.invoke(null, null);  // static and no parameters
-              
-              Method validateMethod = xsdValidatorClass.getMethod("validate", parameterTypes);
-              validationReportObject = validateMethod.invoke(xsdValidatorObject, arguments);
-              
-              validationReportClass = validateXSDBundle.loadClass(validationReportClassName);              
-              
-              Method isValidMethod = validationReportClass.getMethod("isValid", null);
-              isValid = (Boolean)isValidMethod.invoke(validationReportObject, null);
-
-              validationPluginsFound = true; // made it this far, so declare that validation can be performed
-            }
-          }
-          else
-          {
-//          Here is the Reflection equivalent way of performing the following lines            
-//          DTDValidator dtdValidator = DTDValidator.getInstance();
-//          ValidationReport valreport = dtdValidator.validate(uri);
-
-            Bundle validateDTDBundle = Platform.getBundle(validateDTDPluginID);
-            
-            if (validateDTDBundle != null)
-            {
-              Class dtdValidatorClass, validationReportClass;
-              Object dtdValidatorObject, validationReportObject;
-
-              dtdValidatorClass = validateDTDBundle.loadClass(dtdValidatorClassName);
-              
-              Method getInstanceMethod = dtdValidatorClass.getMethod("getInstance", null);
-              dtdValidatorObject = getInstanceMethod.invoke(null, null);  // static and no parameters
-              
-              Method validateMethod = dtdValidatorClass.getMethod("validate", parameterTypes);
-              validationReportObject = validateMethod.invoke(dtdValidatorObject, arguments);
-              
-              validationReportClass = validateDTDBundle.loadClass(validationReportClassName);              
-              
-              Method isValidMethod = validationReportClass.getMethod("isValid", null);
-              isValid = (Boolean)isValidMethod.invoke(validationReportObject, null);
-              
-              validationPluginsFound = true; // made it this far, so declare that validation can be performed
-            }
-          }
-        }
-        catch (ClassNotFoundException e)
-        {
-          // Plugins Not Found
-        }
-        catch (NoSuchMethodException e)
-        {
-          // Plugins Not Found
-        }
-        catch (IllegalAccessException e)
-        {
-          // Plugins Not Found          
-        }
-        catch (InvocationTargetException e)
-        {
-          // Plugins Not Found
-        }
-
-        if (validationPluginsFound)
-        {
-          if (isValid != null && !isValid.booleanValue())
-          {
-            String title = XMLWizard.getString("_UI_DIALOG_TITLE_INVALID_GRAMMAR");
-            String message = XMLWizard.getString("_UI_DIALOG_MESSAGE_INVALID_GRAMMAR");
-            boolean answer = MessageDialog.openQuestion(Display.getDefault().getActiveShell(), title, message);
-            if (!answer)
-              return;
-          }
-        }
-        else
-        {
-          // TODO externalize these strings
-          String title = "Validation Plugins Unavailable";
-          String message = "Validation cannot be performed because the validation plugins were disabled or not found.  The generated file may be invalid.  Do you wish to continue?";
-          boolean answer = MessageDialog.openQuestion(Display.getDefault().getActiveShell(), title, message);
-          if (!answer)
-            return;
-        }
-        NewXMLWizard.showDialog(workbenchWindow.getShell(), file, structuredSelection);
-      }
-    }
-  }
-
-  /**
-   * unused
-   */
-  public void selectionChanged(IAction action, ISelection selection)
-  {
-    // unused
-  }
-
-  // scammed from WindowUtility
-  //
-  public static Object getSelection(ISelection selection)
-  {
-    if (selection == null)
-    {
-      return null;
-    } // end of if ()
-
-    Object result = null;
-    if (selection instanceof IStructuredSelection)
-    {
-       IStructuredSelection es= (IStructuredSelection)selection;
-       Iterator i= es.iterator();
-       if (i.hasNext())
-       {
-         result= i.next();
-       }
-    }			
-    return result;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLSchemaValidationChecker.java b/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLSchemaValidationChecker.java
deleted file mode 100644
index 654f6d6..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLSchemaValidationChecker.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.internal.wizards;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-public class XMLSchemaValidationChecker {
-	public boolean isValid(IFile ifile) {
-		String xsdFileName = ifile.getLocation().toString();
-		return isValid(xsdFileName);
-	}
-	/**
-	 * Should this be implemented as a Validator and simply called as such with
-	 * a reporter that only checks the results for severity = error?  Or should
-//	 * the Xerces requirement be broken using a plug-in extension?
-	 */
-
-	public boolean isValid(String xsdFileName) {
-//		DOMASBuilderImpl builder = new DOMASBuilderImpl();
-//		DOMErrorHandler errorHandler = new DOMErrorHandler();
-//		builder.setErrorHandler(errorHandler);
-		try {
-			String uri = URIHelper.getURIForFilePath(xsdFileName);
-//			ASModel model = builder.parseASURI(uri);
-//			if (errorHandler.hasError())
-//				return false;
-		}
-		catch (Exception e) // invalid schema
-			{
-			return false;
-		}
-
-		return true;
-	}
-
-	// inner class
-	class DOMErrorHandler implements ErrorHandler {
-		private boolean hasError = false;
-
-		public boolean hasError() {
-			return hasError;
-		}
-
-		public void error(SAXParseException err) {
-			hasError = true;
-		}
-		public void fatalError(SAXParseException exception) throws SAXException {
-			hasError = true;
-		}
-		public void warning(SAXParseException exception) throws SAXException {
-			// not an error
-		}
-	} // end DOMErrorHandlerImpl
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLWizard.java b/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLWizard.java
deleted file mode 100644
index 55e0021..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLWizard.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.internal.wizards;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class XMLWizard
-{
-  private ResourceBundle wizardResourceBundle;
-  protected static XMLWizard instance = new XMLWizard();
-
-  public synchronized static XMLWizard getInstance() {
-    return instance;
-  }
-  
-  public XMLWizard()
-  {
-    instance = this;
-    try {
-      wizardResourceBundle = ResourceBundle.getBundle("wizardResource"); //$NON-NLS-1$
-    }
-    catch (java.util.MissingResourceException exception) {
-      wizardResourceBundle = null;
-    }
-  }
-
-  public ResourceBundle getWizardResourceBundle()
-  {
-    return wizardResourceBundle;
-  }
-  
-  public static String getString(String key)
-  {
-    try {
-      ResourceBundle bundle = getInstance().getWizardResourceBundle();
-      return bundle.getString(key);
-    } 
-    catch (MissingResourceException e) {
-      return key;
-    }
-  }
-  
-  public ImageDescriptor getImageDescriptor(String name)
-  {
-    try {
-      URL url= new URL(Platform.getBundle("org.eclipse.wst.xml.ui").getEntry("/"), name);
-      return ImageDescriptor.createFromURL(url);
-    }
-    catch (MalformedURLException e) {
-      return ImageDescriptor.getMissingImageDescriptor();
-    }
-  } 
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/icons/generatexml_wiz.gif b/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/icons/generatexml_wiz.gif
deleted file mode 100644
index 2e4f667..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/icons/generatexml_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.ui/src-wizards/wizardResource.properties b/bundles/org.eclipse.wst.xml.ui/src-wizards/wizardResource.properties
deleted file mode 100644
index b1cdb33..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/wizardResource.properties
+++ /dev/null
@@ -1,163 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-! Properties file for component: XML Tools -  New XML Wizard
-! Packaged for translation in:  xml.zip
-
-! Plugin
-
-_UI_XML_PLUGIN_NAME    = XML Builder
-_UI_PREF_XML_CATALOG   = XML Catalog
-
-!XMLImportActionDelegate
-_UI_DIALOG_NEW_TITLE        = New
-_UI_DIALOG_TITLE_INVALID_GRAMMAR = Invalid Grammar
-_UI_DIALOG_MESSAGE_INVALID_GRAMMAR = The grammar file contains errors. If you proceed, an incorrect result file will be generated. Do you want to continue?
-
-!NewXMLBWizard
-_UI_RADIO_XML_FROM_DTD                = Create XML file from a &DTD file
-_UI_RADIO_XML_FROM_SCHEMA             = Create XML file from an &XML schema file
-_UI_RADIO_XML_FROM_SCRATCH            = Create XML file from &scratch
-_UI_WIZARD_CREATE_XML_HEADING         = Create XML File
-_UI_WIZARD_CREATE_XML_EXPL            = Select how you would like to create your XML file.
-_UI_WIZARD_CREATE_XML_FILE_HEADING    = XML File Name
-_UI_WIZARD_CREATE_XML_FILE_EXPL       = Specify a name for the new XML file.
-_UI_WIZARD_SELECT_DTD_FILE_DESC       = Select the DTD file to create the XML file.
-_UI_WIZARD_SELECT_DTD_FILE_TITLE      = Select DTD File
-_UI_WIZARD_SELECT_XSD_FILE_DESC       = Select the schema file to create the XML file.
-_UI_WIZARD_SELECT_XSD_FILE_TITLE      = Select XML Schema File
-_UI_LABEL_DTD_FILENAME                = DTD file name
-_UI_WIZARD_SELECT_ROOT_HEADING        = Select Root Element
-_UI_WIZARD_SELECT_ROOT_EXPL           = Select the root element of the XML file.
-_UI_WIZARD_SELECT_SCHEMA_HEADING      = Select Schema File
-_UI_WIZARD_SELECT_SCHEMA_EXPL         = Select the schema file you want to create the XML file from.
-_UI_LABEL_SCHEMA_FILENAME             = Schema file name:
-_UI_LABEL_ROOT_ELEMENT_GROUP          = &Root Element
-_UI_LABEL_ROOT_ELEMENT                = Root element:
-_UI_WARNING_TITLE_NO_ROOT_ELEMENTS    = No Root Elements
-_UI_WARNING_MSG_NO_ROOT_ELEMENTS      = No root element exists since the schema provided has no global elements.
-_UI_LABEL_NO_LOCATION_HINT            = Unspecified Namespace Location
-_UI_WARNING_MSG_NO_LOCATION_HINT_1    = You have not specified a location hint for one or more namespace entries.
-_UI_WARNING_MSG_NO_LOCATION_HINT_2    = Elements from these namespaces will not be generated. This may lead to an invalid generated document.
-_UI_WARNING_MSG_NO_LOCATION_HINT_3    = Click Yes to continue, Click No to go back and specify the location hints.
-_UI_WIZARD_CONTENT_OPTIONS            = Content options
-
-_UI_WIZARD_CREATE_REQUIRED            = &Create required content only
-_UI_WIZARD_CREATE_OPTIONAL            = Create required and &optional content
-
-_UI_WIZARD_CREATE_OPTIONAL_ATTRIBUTES = Create optional &attributes
-_UI_WIZARD_CREATE_OPTIONAL_ELEMENTS   = Create optional e&lements
-_UI_WIZARD_CREATE_FIRST_CHOICE        = Create first choice of required &choice
-_UI_WIZARD_FILL_ELEMENTS_AND_ATTRIBUTES = Fill elements and attributes with &data
-
-_UI_WIZARD_SCHEMA_AND_NAME_SPACE_INFO = Schema and Namespace Information
-_UI_LABEL_NAME_SPACE_PREFIX           = Namespace prefix:
-_UI_LABEL_NAME_SPACE_URI              = Namespace URI:
-_UI_LABEL_XSD_LOCATION                = Schema location:
-_UI_LABEL_DOCTYPE_INFORMATION         = Document type information
-_UI_LABEL_SYSTEM_ID                   = &System ID:
-_UI_LABEL_PUBLIC_ID                   = &Public ID:
-_UI_LABEL_SELECT_FILE                 = Select File
-_UI_LABEL_KEY                         = Key
-_UI_LABEL_KEY_COLON                   = &Key:
-_UI_LABEL_DETAILS_KEY_COLON           = Key:
-_UI_LABEL_URI                         = URI
-_UI_LABEL_URI_COLON                   = &URI:   
-_UI_LABEL_DETAILS_URI_COLON           = URI:   
-_UI_KEY_TYPE_COLON                    = Key &Type:
-_UI_KEY_TYPE_DETAILS_COLON            = Key Type:
-_UI_KEY_TYPE_DESCRIPTION_XSD_PUBLIC   = Namespace name
-_UI_KEY_TYPE_DESCRIPTION_XSD_SYSTEM   = Schema location
-_UI_KEY_TYPE_DESCRIPTION_DTD_PUBLIC   = Public ID
-_UI_KEY_TYPE_DESCRIPTION_DTD_SYSTEM   = System ID
-_UI_LABEL_SPECIFY_ALTERNATIVE_WEB_URL = Specify &alternative Web address
-_UI_WARNING_URI_MUST_NOT_HAVE_DOTS    = URI must not included '.' or '..'
-
-_UI_WARNING_URI_NOT_FOUND_COLON       = The specified resource cannot be located :
-_UI_WARNING_URI_NOT_FOUND_LONG        = The specified file cannot be found. It may have been moved to a different location. If the file is located remotely, a network connection cannot be established to the remote location. 
-_UI_WARNING_INVALID_FILE              = The specified file is invalid.
-_UI_WARNING_INVALID_FILE_LONG         = The specified file is invalid. A proper XML file cannot be generated from it. Open the DTD or XML schema file, edit it as necessary, validate it and try again.
-_UI_WARNING_NO_ELEMENT                = The specified file must contain at least one element declaration.
-_UI_WARNING_NO_ELEMENT_DTD_LONG       = The specified file must contain at least one element declaration that can be used as the root element in the generated XML file.
-_UI_WARNING_NO_ELEMENT_XSD_LONG       = The specified file must contain at least one global element declaration that can be used as the root element in the generated XML file.
-
-
-!NewModelWizard
-_UI_INVALID_GRAMMAR_ERROR             = Invalid Grammar
-_UI_BUTTON_BROWSE                     = &Browse...
-
-!XMLCatalogIdMappingPage
-_UI_LABEL_MAP_TO                      = Map to:
-_UI_LABEL_MAP_FROM                    = Map from:
-_UI_BUTTON_NEW                        = &New...
-_UI_BUTTON_EDIT                       = &Edit...
-_UI_BUTTON_DELETE                     = &Delete
-_UI_LABEL_NEW_DIALOG_TITLE            = New XML Catalog Entry
-_UI_LABEL_EDIT_DIALOG_TITLE           = Edit XML Catalog Entry
-
-
-!XMLCatalogPreferencePage
-_UI_LABEL_USER_ENTRIES                = XML Catalog entries
-_UI_LABEL_USER_ENTRIES_TOOL_TIP       = XML Catalog entries that have been specified by the user
-_UI_LABEL_SYSTEM_ENTRIES              = Plug-in specified entries
-_UI_LABEL_SYSTEM_ENTRIES_TOOL_TIP     = XML Catalog entries that have been specified by a plug-in
-_UI_BUTTON_CHANGE                     = Change...
-_UI_LABEL_SELECT_PROJECT              = Select Project
-_UI_LABEL_SPECIFY_PROJECT_DESCRIPTION = Specify the project to persist the XML Catalog information
-_UI_WARNING_NO_PROJECTS_CREATED       = No projects have been created yet.
-_UI_WARNING_PROJECT_NOT_SPECIFIED     = A project name has not been specified.
-_UI_WARNING_PROJECT_DOES_NOT_EXIST    = The specified project does not exist.
-_UI_LABEL_PROJECT_TO_USE              = Project to use to persist XML Catalog User Entries: 
-_UI_LABEL_CATALOG_SAVE_ERROR          = XML Catalog Save Error
-_UI_LABEL_CATALOG_COULD_NOT_BE_SAVED  = The XML Catalog entry could not be saved.
-_UI_LABEL_ADVANCED                    = &Advanced...
-_UI_LABEL_ADVANCED_XML_CATALOG_PREFS  = Advanced XML Catalog Preferences   
-_UI_LABEL_SPECIFY_PERSISTENCE_FILE    = &Specify a file to use to persist the XML Catalog information.
-_UI_LABEL_SAVE_CATALOG_DIALOG_TITLE   = Save Changes
-_UI_LABEL_SAVE_CATALOG_DIALOG_DESC    = You have made unsaved changes to the current XML Catalog settings. Do you wish to save your changes before loading the new XML Catalog settings?   
-_UI_LABEL_BROWSE_CATALOG_FILE_TITLE   = Select Folder
-_UI_LABEL_BROWSE_CATALOG_FILE_DESC    = Select the folder that contains the '.xmlcatalog' file.   
-_UI_LABEL_DETAILS                     = Details
-_UI_LABEL_USER_SPECIFIED_ENTRIES      = User Specified Entries
-_UI_LABEL_PLUGIN_SPECIFIED_ENTRIES    = Plugin Specified Entries
-
-!AdvancedOptionsDialog
-_UI_LABEL_DIALOG_DESCRIPTION          = Use the buttons below to import or export XML Catalog settings.
-_UI_BUTTON_IMPORT                     = Import...
-_UI_BUTTON_EXPORT                     = Export...
-                                   
-_UI_LABEL_IMPORT_DIALOG_TITLE         = Import XML Catalog Settings
-_UI_LABEL_IMPORT_DIALOG_HEADING       = Specify XML Catalog File
-_UI_LABEL_IMPORT_DIALOG_MESSAGE       = Specify the file that will used to load the XML Catalog settings.
-
-_UI_LABEL_EXPORT_DIALOG_TITLE         = Export XML Catalog Settings
-_UI_LABEL_EXPORT_DIALOG_HEADING       = Specify XML Catalog File
-_UI_LABEL_EXPORT_DIALOG_MESSAGE       = Specify the file that will used to save the XML Catalog setting.
-
-!NewModelWizard
-_ERROR_NO_FILENAME                    = Enter a file name.
-_ERROR_FILE_DOESNT_EXIST              = File does not exist.
-_ERROR_INVALID_FILENAME               = Invalid file name.
-_ERROR_BAD_FILENAME_EXTENSION         = The specified file name must have a recognized extension (e.g. '.xml').
-_ERROR_FILE_ALREADY_EXISTS            = The same file already exists.
-_ERROR_ROOT_ELEMENT_MUST_BE_SPECIFIED = A root element must be specified.
-_ERROR_XML_REQUIRES_NS_PREFIX         = The schema instance requires a namespace prefix.
-_UI_LABEL_ERROR_SCHEMA_INVALID_INFO   = The schema file contains errors. Open it in the XML schema editor for details.
-_UI_LABEL_ERROR_DTD_INVALID_INFO      = The DTD file contains errors. Open it in the DTD editor for details.
-
-_UI_LABEL_ERROR_CATALOG_ENTRY_INVALID = The selected catalog entry specifies a URI that can not be located.
-_ERROR_DOCUMENT_GENERATION_FAILURE    = Document generation failed.
-_UI_LABEL_ERROR_FILE_HAS_ERRORS       = contains errors
-
-!diagnostic strings
-! NOTE TO TRANSLATOR: Do not translate following line
-DIAGNOSTIC_SHOW_DEBUG_TREE  = NO
-
-_UI_MENU_GENERATE_XML_FROM_XSD = Generate XML ...
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/DOMObserver.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/DOMObserver.java
deleted file mode 100644
index e945855..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/DOMObserver.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui;
-
-
-import java.util.Timer;
-import java.util.TimerTask;
-
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManager;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.CMDocumentLoader;
-import org.eclipse.wst.common.contentmodel.modelqueryimpl.InferredGrammarBuildingCMDocumentLoader;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * This class is used to observe changes in the DOM and perform
- * occasional'scans' to deduce information. We use a delay timer mechanism to
- * ensure scans are made every couple of seconds to avoid performance
- * problems. Currently this class is used to keep track of referenced grammar
- * uri's within the document ensure that they are loaded by the
- * CMDocumentManager. We might want to generalize this class to perform other
- * suplimental information gathering that is suitable for 'time delayed'
- * computation (error hints etc.).
- */
-// TODO: Where should this class go?
-public class DOMObserver {
-
-
-	// An abstract adapter that ensures that the children of a new Node are
-	// also adapted
-	//
-	abstract class DocumentAdapter implements INodeAdapter {
-		public DocumentAdapter(Document document) {
-			((INodeNotifier) document).addAdapter(this);
-			adapt(document.getDocumentElement());
-		}
-
-		public void adapt(Element element) {
-			if (element != null) {
-				if (((INodeNotifier) element).getExistingAdapter(this) == null) {
-					((INodeNotifier) element).addAdapter(this);
-
-					for (Node child = element.getFirstChild(); child != null; child = child.getNextSibling()) {
-						if (child.getNodeType() == Node.ELEMENT_NODE) {
-							adapt((Element) child);
-						}
-					}
-				}
-			}
-		}
-
-		public boolean isAdapterForType(Object type) {
-			return type == this;
-		}
-
-		abstract public void notifyChanged(INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index);
-	}
-
-	/**
-	 * This class listens to the changes in the CMDocument and triggers a
-	 * CMDocument load
-	 */
-	class MyDocumentAdapter extends DocumentAdapter {
-		MyDocumentAdapter(Document document) {
-			super(document);
-		}
-
-		public void notifyChanged(INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index) {
-			switch (eventType) {
-				case INodeNotifier.ADD : {
-					if (newValue instanceof Element) {
-						//System.out.println("ADD (to " +
-						// ((Node)notifier).getNodeName() + ") " +
-						// ((Element)newValue).getNodeName() + " old " +
-						// oldValue);
-						adapt((Element) newValue);
-					}
-					break;
-				}
-				//case INodeNotifier.REMOVE:
-				case INodeNotifier.CHANGE :
-				case INodeNotifier.STRUCTURE_CHANGED :
-				case INodeNotifier.CONTENT_CHANGED : {
-					Node node = (Node) notifier;
-					if (node.getNodeType() == Node.ELEMENT_NODE) {
-						Element element = (Element) node;
-						switch (eventType) {
-							case INodeNotifier.CHANGE : {
-								invokeDelayedCMDocumentLoad();
-								break;
-							}
-							case INodeNotifier.STRUCTURE_CHANGED : {
-								// structure change
-								invokeDelayedCMDocumentLoad();
-								break;
-							}
-							case INodeNotifier.CONTENT_CHANGED : {
-								// some content changed
-								break;
-							}
-						}
-					} else if (node.getNodeType() == Node.DOCUMENT_NODE) {
-						invokeDelayedCMDocumentLoad();
-					}
-					break;
-				}
-			}
-		}
-	}
-
-	// 
-	//
-	protected class MyTimerTask extends TimerTask {
-		public MyTimerTask() {
-			super();
-			timerTaskCount++;
-		}
-
-		public void run() {
-			timerTaskCount--;
-			if (timerTaskCount == 0) {
-				invokeCMDocumentLoad();
-			}
-		}
-	}
-
-	protected static Timer timer = new Timer(true);
-	protected Document document;
-	protected boolean isGrammarInferenceEnabled;
-	protected IStructuredModel model;
-	protected int timerTaskCount = 0;
-
-	public DOMObserver(IStructuredModel model) {
-		this.document = (model instanceof XMLModel) ? ((XMLModel) model).getDocument() : null;
-
-		if (document != null) {
-			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-			if (modelQuery != null && modelQuery.getCMDocumentManager() != null) {
-				CMDocumentManager cmDocumentManager = modelQuery.getCMDocumentManager();
-				cmDocumentManager.setPropertyEnabled(CMDocumentManager.PROPERTY_AUTO_LOAD, false);
-			}
-
-			MyDocumentAdapter myDocumentAdapter = new MyDocumentAdapter(document);
-		}
-	}
-
-	public void init() {
-		// CS: we seem to expose an XSD initialization problem when we do this
-		// immediately
-		// very nasty... I need to revist this problem with Ed Merks
-		//
-		//invokeCMDocumentLoad();
-		invokeDelayedCMDocumentLoad();
-	}
-
-	public void invokeCMDocumentLoad() {
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-		if (modelQuery != null && modelQuery.getCMDocumentManager() != null) {
-			CMDocumentLoader loader = isGrammarInferenceEnabled ? new InferredGrammarBuildingCMDocumentLoader(document, modelQuery) : new CMDocumentLoader(document, modelQuery);
-			loader.loadCMDocuments();
-		}
-	}
-
-	public void invokeDelayedCMDocumentLoad() {
-		//Display.getCurrent().timerExec(2000, new MyTimerTask());
-		timer.schedule(new MyTimerTask(), 2000);
-	}
-
-	public void setGrammarInferenceEnabled(boolean isEnabled) {
-		isGrammarInferenceEnabled = isEnabled;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/JobStatusLineHelper.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/JobStatusLineHelper.java
deleted file mode 100644
index b080303..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/JobStatusLineHelper.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManager;
-
-
-/**
- * Updates the status line when an appropriate Job is about to be run.
- */
-public class JobStatusLineHelper extends JobChangeAdapter {
-	private static JobStatusLineHelper instance;
-
-	public static void init() {
-		if (instance == null) {
-			instance = new JobStatusLineHelper();
-		}
-	}
-
-	private int running = 0;
-
-	private JobStatusLineHelper() {
-		Platform.getJobManager().addJobChangeListener(this);
-	}
-
-	public void aboutToRun(IJobChangeEvent event) {
-		Job job = event.getJob();
-		if (job.belongsTo(CMDocumentManager.class)) {
-			running++;
-			setStatusLine(event.getJob().getName());
-		}
-	}
-
-	public void done(IJobChangeEvent event) {
-		Job job = event.getJob();
-		if (job.belongsTo(CMDocumentManager.class)) {
-			running--;
-			if (running == 0) {
-				setStatusLine(""); //$NON-NLS-1$
-			}
-		}
-	}
-
-	private Display getDisplay() {
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	private void setStatusLine(final String message) {
-		String msgString = message;
-		if (message == null) {
-			msgString = ""; //$NON-NLS-1$
-		}
-		final String finalMessageForThread = msgString;
-		if (getDisplay() != null) {
-			Runnable runnable = new Runnable() {
-				public void run() {
-					IWorkbench workbench = PlatformUI.getWorkbench();
-					if (workbench != null) {
-						IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-						if (workbenchWindow != null) {
-							IEditorPart part = workbenchWindow.getActivePage().getActiveEditor();
-							// part is sometimes null by the time this runs
-							// ... must be better way to get actionBars
-							// and/or statLineManager?
-							if (part != null) {
-								IActionBars actionBars = part.getEditorSite().getActionBars();
-								if (actionBars != null) {
-									IStatusLineManager statusLineManager = actionBars.getStatusLineManager();
-									if (statusLineManager != null) {
-										statusLineManager.setMessage(finalMessageForThread);
-									}
-								}
-							}
-						}
-					}
-				}
-			};
-			Display workbenchDefault = PlatformUI.getWorkbench().getDisplay();
-			workbenchDefault.asyncExec(runnable);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/Logger.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/Logger.java
deleted file mode 100644
index df38bba..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/Logger.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * 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.wst.xml.ui;
-
-/**
- * @deprecated moved to internal package because only this plugin should be
- * using this Logger class.
- */
-public class Logger extends org.eclipse.wst.xml.ui.internal.Logger {
-	// see org.eclipse.wst.xml.ui.internal.Logger
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/StructuredTextEditorXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/StructuredTextEditorXML.java
deleted file mode 100644
index 1cf8a60..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/StructuredTextEditorXML.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.edit.util.ActionDefinitionIds;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.search.FindOccurrencesActionProvider;
-import org.eclipse.wst.xml.ui.actions.AddBlockCommentActionXML;
-import org.eclipse.wst.xml.ui.actions.CleanupActionXML;
-import org.eclipse.wst.xml.ui.actions.RemoveBlockCommentActionXML;
-import org.eclipse.wst.xml.ui.actions.ToggleCommentActionXML;
-import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.xml.ui.internal.search.XMLFindOccurrencesAction;
-
-public class StructuredTextEditorXML extends StructuredTextEditor {
-	protected void createActions() {
-		super.createActions();
-
-		ResourceBundle resourceBundle = SSEUIPlugin.getDefault().getResourceBundle();
-
-		Action action = new CleanupActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.CLEANUP_DOCUMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT, action);
-
-		/*
-		 * action = new CommentActionXML(resourceBundle,
-		 * StructuredTextEditorActionConstants.ACTION_NAME_COMMENT + DOT,
-		 * this); action.setActionDefinitionId(ActionDefinitionIds.COMMENT);
-		 * setAction(StructuredTextEditorActionConstants.ACTION_NAME_COMMENT,
-		 * action);
-		 * 
-		 * action = new UncommentActionXML(resourceBundle,
-		 * StructuredTextEditorActionConstants.ACTION_NAME_UNCOMMENT + DOT,
-		 * this); action.setActionDefinitionId(ActionDefinitionIds.UNCOMMENT);
-		 * setAction(StructuredTextEditorActionConstants.ACTION_NAME_UNCOMMENT,
-		 * action);
-		 */
-
-		action = new ToggleCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.TOGGLE_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_TOGGLE_COMMENT, action);
-
-		action = new AddBlockCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.ADD_BLOCK_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT, action);
-
-		action = new RemoveBlockCommentActionXML(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT + DOT, this);
-		action.setActionDefinitionId(ActionDefinitionIds.REMOVE_BLOCK_COMMENT);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT, action);
-
-		FindOccurrencesActionProvider foAction = new FindOccurrencesActionProvider(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES + DOT, this);
-		foAction.addAction(new XMLFindOccurrencesAction(resourceBundle, "", this)); //$NON-NLS-1$
-		foAction.setActionDefinitionId(ActionDefinitionIds.FIND_OCCURRENCES);
-		setAction(StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES, foAction);
-		markAsSelectionDependentAction(StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES, true);
-	}
-
-	protected void initializeEditor() {
-		super.initializeEditor();
-		setHelpContextId(IHelpContextIds.XML_SOURCEVIEW_HELPID);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/StructuredTextViewerConfigurationXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/StructuredTextViewerConfigurationXML.java
deleted file mode 100644
index c34225f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/StructuredTextViewerConfigurationXML.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextDoubleClickStrategy;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.formatter.IContentFormatter;
-import org.eclipse.jface.text.formatter.MultiPassContentFormatter;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.information.IInformationPresenter;
-import org.eclipse.jface.text.information.IInformationProvider;
-import org.eclipse.jface.text.information.InformationPresenter;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
-import org.eclipse.wst.sse.ui.format.StructuredFormattingStrategy;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.style.IHighlighter;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-import org.eclipse.wst.sse.ui.taginfo.AnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.taginfo.ProblemAnnotationHoverProcessor;
-import org.eclipse.wst.sse.ui.taginfo.TextHoverManager;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-import org.eclipse.wst.xml.ui.contentassist.NoRegionContentAssistProcessor;
-import org.eclipse.wst.xml.ui.contentassist.XMLContentAssistProcessor;
-import org.eclipse.wst.xml.ui.doubleclick.XMLDoubleClickStrategy;
-import org.eclipse.wst.xml.ui.internal.autoedit.StructuredAutoEditStrategyXML;
-import org.eclipse.wst.xml.ui.internal.correction.CorrectionProcessorXML;
-import org.eclipse.wst.xml.ui.internal.hyperlink.XMLHyperlinkDetector;
-import org.eclipse.wst.xml.ui.reconcile.StructuredTextReconcilingStrategyForMarkup;
-import org.eclipse.wst.xml.ui.style.LineStyleProviderForXML;
-import org.eclipse.wst.xml.ui.taginfo.XMLBestMatchHoverProcessor;
-import org.eclipse.wst.xml.ui.taginfo.XMLInformationProvider;
-import org.eclipse.wst.xml.ui.taginfo.XMLTagInfoHoverProcessor;
-
-public class StructuredTextViewerConfigurationXML extends StructuredTextViewerConfiguration {
-    
-	InformationPresenter fInformationPresenter = null;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration#getAutoEditStrategies(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public Map getAutoEditStrategies(ISourceViewer sourceViewer) {
-		Map result = super.getAutoEditStrategies(sourceViewer);
-
-		if (result.get(StructuredTextPartitionerForXML.ST_DEFAULT_XML) == null)
-			result.put(StructuredTextPartitionerForXML.ST_DEFAULT_XML, new ArrayList(1));
-		List strategies = (List) result.get(StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-		strategies.add(new StructuredAutoEditStrategyXML());
-		return result;
-	}
-
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-
-		if (configuredContentTypes == null) {
-			String[] xmlTypes = StructuredTextPartitionerForXML.getConfiguredContentTypes();
-			configuredContentTypes = new String[xmlTypes.length + 2];
-			configuredContentTypes[0] = StructuredTextPartitioner.ST_DEFAULT_PARTITION;
-			configuredContentTypes[1] = StructuredTextPartitioner.ST_UNKNOWN_PARTITION;
-			int index = 0;
-			System.arraycopy(xmlTypes, 0, configuredContentTypes, index += 2, xmlTypes.length);
-		}
-		return configuredContentTypes;
-	}
-
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-
-		IContentAssistant ca = super.getContentAssistant(sourceViewer);
-		if (ca != null && ca instanceof ContentAssistant) {
-			ContentAssistant contentAssistant = (ContentAssistant) ca;
-			IContentAssistProcessor xmlContentAssistProcessor = new XMLContentAssistProcessor();
-			IContentAssistProcessor noRegionProcessor = new NoRegionContentAssistProcessor();
-			setContentAssistProcessor(contentAssistant, xmlContentAssistProcessor, StructuredTextPartitioner.ST_DEFAULT_PARTITION);
-			setContentAssistProcessor(contentAssistant, xmlContentAssistProcessor, StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-			setContentAssistProcessor(contentAssistant, noRegionProcessor, StructuredTextPartitioner.ST_UNKNOWN_PARTITION);
-		}
-		return ca;
-	}
-
-	public IContentFormatter getContentFormatter(ISourceViewer sourceViewer) {
-		final MultiPassContentFormatter formatter = new MultiPassContentFormatter(getConfiguredDocumentPartitioning(sourceViewer), StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-
-		formatter.setMasterStrategy(new StructuredFormattingStrategy(new FormatProcessorXML()));
-
-		return formatter;
-	}
-
-	public IContentAssistant getCorrectionAssistant(ISourceViewer sourceViewer) {
-		IContentAssistant ca = super.getCorrectionAssistant(sourceViewer);
-
-		if (ca != null && ca instanceof ContentAssistant) {
-			ContentAssistant correctionAssistant = (ContentAssistant) ca;
-			ITextEditor editor = getTextEditor();
-			if (editor != null) {
-				IContentAssistProcessor correctionProcessor = new CorrectionProcessorXML(editor);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_XML_CDATA);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_XML_COMMENT);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_XML_DECLARATION);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_XML_PI);
-				correctionAssistant.setContentAssistProcessor(correctionProcessor, StructuredTextPartitionerForXML.ST_DTD_SUBSET);
-			}
-		}
-		return ca;
-	}
-
-	public ITextDoubleClickStrategy getDoubleClickStrategy(ISourceViewer sourceViewer, String contentType) {
-
-		ITextDoubleClickStrategy doubleClickStrategy = null;
-		if (contentType.compareTo(StructuredTextPartitionerForXML.ST_DEFAULT_XML) == 0)
-			doubleClickStrategy = new XMLDoubleClickStrategy();
-		else
-			doubleClickStrategy = super.getDoubleClickStrategy(sourceViewer, contentType);
-		return doubleClickStrategy;
-	}
-
-	public IHighlighter getHighlighter(ISourceViewer sourceViewer) {
-
-		IHighlighter highlighter = super.getHighlighter(sourceViewer);
-		if (highlighter != null) {
-			LineStyleProvider xmlProvider = new LineStyleProviderForXML();
-			highlighter.addProvider(StructuredTextPartitionerForXML.ST_DEFAULT_XML, xmlProvider);
-			highlighter.addProvider(StructuredTextPartitionerForXML.ST_XML_CDATA, xmlProvider);
-			highlighter.addProvider(StructuredTextPartitionerForXML.ST_XML_COMMENT, xmlProvider);
-			highlighter.addProvider(StructuredTextPartitionerForXML.ST_XML_DECLARATION, xmlProvider);
-			highlighter.addProvider(StructuredTextPartitionerForXML.ST_XML_PI, xmlProvider);
-		}
-		return highlighter;
-	}
-
-	public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
-
-		if (fInformationPresenter == null) {
-			fInformationPresenter = new InformationPresenter(getInformationPresenterControlCreator(sourceViewer));
-			IInformationProvider xmlInformationProvider = new XMLInformationProvider();
-			fInformationPresenter.setInformationProvider(xmlInformationProvider, StructuredTextPartitioner.ST_DEFAULT_PARTITION);
-			fInformationPresenter.setInformationProvider(xmlInformationProvider, StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-			fInformationPresenter.setSizeConstraints(60, 10, true, true);
-		}
-		return fInformationPresenter;
-	}
-
-	public IReconciler getReconciler(ISourceViewer sourceViewer) {
-
-		if (fReconciler != null) {
-			// a reconciler should always be installed or disposed of
-			if (!fReconciler.isInstalled()) {
-				fReconciler = null;
-			}
-		}
-
-		if (fReconciler == null) {
-            fReconciler = new StructuredRegionProcessor();
-			fReconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-		}
-
-		boolean reconcilingEnabled = fPreferenceStore.getBoolean(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS);
-		
-        if(!reconcilingEnabled)
-            return fReconciler;
-        
-		// the second time through, the strategies are set
-		if (fReconciler != null) {
-
-			IDocument doc = ((StructuredTextEditor)editorPart).getDocumentProvider().getDocument(editorPart.getEditorInput());
-			IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
-			
-			try {
-
-				if (sModel != null) {
-					
-					IReconcilingStrategy markupStrategy = new StructuredTextReconcilingStrategyForMarkup((ITextEditor) editorPart);
-                    fReconciler.setReconcilingStrategy(markupStrategy, StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-					fReconciler.setDefaultStrategy(markupStrategy);
-
-					String contentTypeId = sModel.getContentTypeIdentifier();
-					if(contentTypeId != null)
-						fReconciler.setValidatorStrategy(createValidatorStrategy(contentTypeId));
-				}
-			} finally {
-				if (sModel != null)
-					sModel.releaseFromRead();
-			}
-		}
-		return fReconciler;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getTextHover(org.eclipse.jface.text.source.ISourceViewer,
-	 *      java.lang.String, int)
-	 */
-	public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType, int stateMask) {
-		// look for appropriate text hover processor to return based on
-		// content type and state mask
-		if ((contentType == StructuredTextPartitioner.ST_DEFAULT_PARTITION) || (contentType == StructuredTextPartitionerForXML.ST_DEFAULT_XML)) {
-			// check which of xml's text hover is handling stateMask
-			TextHoverManager.TextHoverDescriptor[] hoverDescs = getTextHovers();
-			int i = 0;
-			while (i < hoverDescs.length) {
-				if (hoverDescs[i].isEnabled() && EditorUtility.computeStateMask(hoverDescs[i].getModifierString()) == stateMask) {
-					String hoverType = hoverDescs[i].getId();
-					if (TextHoverManager.COMBINATION_HOVER.equalsIgnoreCase(hoverType))
-						return new XMLBestMatchHoverProcessor();
-					else if (TextHoverManager.PROBLEM_HOVER.equalsIgnoreCase(hoverType))
-						return new ProblemAnnotationHoverProcessor();
-					else if (TextHoverManager.ANNOTATION_HOVER.equalsIgnoreCase(hoverType))
-						return new AnnotationHoverProcessor();
-					else if (TextHoverManager.DOCUMENTATION_HOVER.equalsIgnoreCase(hoverType))
-						return new XMLTagInfoHoverProcessor();
-				}
-				i++;
-			}
-		}
-		return super.getTextHover(sourceViewer, contentType, stateMask);
-	}
-
-	public void unConfigure(ISourceViewer viewer) {
-
-		super.unConfigure(viewer);
-
-		// InformationPresenters
-		if (fInformationPresenter != null) {
-			fInformationPresenter.uninstall();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.editors.text.TextSourceViewerConfiguration#getHyperlinkDetectors(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IHyperlinkDetector[] getHyperlinkDetectors(ISourceViewer sourceViewer) {
-		if (sourceViewer == null || !fPreferenceStore.getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINKS_ENABLED))
-			return null;
-		
-		List allDetectors = new ArrayList(0);
-		allDetectors.add(new XMLHyperlinkDetector());
-		
-		IHyperlinkDetector[] superDetectors =  super.getHyperlinkDetectors(sourceViewer);
-		for (int m = 0; m < superDetectors.length; m++) {
-			IHyperlinkDetector detector = superDetectors[m];
-			if (!allDetectors.contains(detector)) {
-				allDetectors.add(detector);
-			}
-		}
-		return (IHyperlinkDetector[]) allDetectors.toArray(new IHyperlinkDetector[0]);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/XMLEditorPlugin.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/XMLEditorPlugin.java
deleted file mode 100644
index 155f50f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/XMLEditorPlugin.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui;
-
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-
-/**
- * @deprecated use XMLUIPlugin instead
- */
-public class XMLEditorPlugin extends XMLUIPlugin {
-	// just extending XMLUIPlugin to keep everything compatible
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/XMLSpellCheckTarget.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/XMLSpellCheckTarget.java
deleted file mode 100644
index 7f618c8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/XMLSpellCheckTarget.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui;
-
-import org.eclipse.wst.sse.ui.SpellCheckTargetImpl;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-/**
- * @deprecated - to be removed in M4
- */
-
-public class XMLSpellCheckTarget extends SpellCheckTargetImpl {
-
-	public XMLSpellCheckTarget() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.SpellCheckTargetImpl#isValidType(java.lang.String)
-	 */
-	protected boolean isValidType(String type) {
-		boolean valid = false;
-		if (XMLRegionContext.XML_COMMENT_TEXT.equals(type) || XMLRegionContext.XML_CONTENT.equals(type)) {
-			valid = true;
-		}
-		return valid || super.isValidType(type);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/AbstractNodeActionManager.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/AbstractNodeActionManager.java
deleted file mode 100644
index 6b5d923..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/AbstractNodeActionManager.java
+++ /dev/null
@@ -1,666 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDescriptionBuilder;
-import org.eclipse.wst.common.contentmodel.util.DOMContentBuilder;
-import org.eclipse.wst.common.contentmodel.util.DOMContentBuilderImpl;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.CMImageUtil;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.ProcessingInstruction;
-
-public abstract class AbstractNodeActionManager extends BaseNodeActionManager {
-
-
-	/**
-	 * AddNodeAction
-	 */
-	public class AddNodeAction extends NodeAction {
-		protected CMNode cmnode;
-		protected String description;
-		protected int index;
-		protected int nodeType;
-		protected Node parent;
-		protected String undoDescription;
-
-
-		public AddNodeAction(CMNode cmnode, Node parent, int index) {
-			this.cmnode = cmnode;
-			this.parent = parent;
-			this.index = index;
-
-			String text = getLabel(parent, cmnode);
-			setText(text);
-			description = text;
-			undoDescription = XMLUIPlugin.getResourceString("%_UI_MENU_ADD") + " " + text; //$NON-NLS-1$ //$NON-NLS-2$
-			ImageDescriptor descriptor = CMImageUtil.getImageDescriptor(cmnode);
-			if (descriptor == null) {
-				descriptor = imageDescriptorCache.getImageDescriptor(cmnode);
-			}
-			setImageDescriptor(descriptor);
-		}
-
-
-		public AddNodeAction(int nodeType, Node parent, int index) {
-			this.nodeType = nodeType;
-			this.index = index;
-			this.parent = parent;
-
-			switch (nodeType) {
-				case Node.COMMENT_NODE : {
-					description = XMLUIPlugin.getResourceString("%_UI_MENU_COMMENT"); //$NON-NLS-1$
-					undoDescription = XMLUIPlugin.getResourceString("%_UI_MENU_ADD_COMMENT"); //$NON-NLS-1$
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					description = XMLUIPlugin.getResourceString("%_UI_MENU_PROCESSING_INSTRUCTION"); //$NON-NLS-1$
-					undoDescription = XMLUIPlugin.getResourceString("%_UI_MENU_ADD_PROCESSING_INSTRUCTION"); //$NON-NLS-1$
-					break;
-				}
-				case Node.CDATA_SECTION_NODE : {
-					description = XMLUIPlugin.getResourceString("%_UI_MENU_CDATA_SECTION"); //$NON-NLS-1$
-					undoDescription = XMLUIPlugin.getResourceString("%_UI_MENU_ADD_CDATA_SECTION"); //$NON-NLS-1$
-					break;
-				}
-				case Node.TEXT_NODE : {
-					description = XMLUIPlugin.getResourceString("%_UI_MENU_PCDATA"); //$NON-NLS-1$
-					undoDescription = XMLUIPlugin.getResourceString("%_UI_MENU_ADD_PCDATA"); //$NON-NLS-1$
-					break;
-				}
-			}
-			setText(description);
-			setImageDescriptor(imageDescriptorCache.getImageDescriptor(new Integer(nodeType)));
-		}
-
-
-		protected void addNodeForCMNode() {
-			if (parent != null) {
-				insert(parent, cmnode, index);
-			}
-		}
-
-
-		protected void addNodeForNodeType() {
-			Document document = parent.getNodeType() == Node.DOCUMENT_NODE ? (Document) parent : parent.getOwnerDocument();
-			Node newChildNode = null;
-			boolean format = true;
-			switch (nodeType) {
-				case Node.COMMENT_NODE : {
-					newChildNode = document.createComment(XMLUIPlugin.getResourceString("%_UI_COMMENT_VALUE")); //$NON-NLS-1$
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					newChildNode = document.createProcessingInstruction(XMLUIPlugin.getResourceString("%_UI_PI_TARGET_VALUE"), XMLUIPlugin.getResourceString("%_UI_PI_DATA_VALUE")); //$NON-NLS-1$ //$NON-NLS-2$
-					break;
-				}
-				case Node.CDATA_SECTION_NODE : {
-					newChildNode = document.createCDATASection(""); //$NON-NLS-1$
-					break;
-				}
-				case Node.TEXT_NODE : {
-					format = false;
-					newChildNode = document.createTextNode(parent.getNodeName());
-					break;
-				}
-			}
-
-			if (newChildNode != null) {
-				List list = new Vector(1);
-				list.add(newChildNode);
-				insertNodesAtIndex(parent, list, index, format);
-			}
-		}
-
-
-		public String getUndoDescription() {
-			return undoDescription;
-		}
-
-
-		public void run() {
-			beginNodeAction(this);
-			if (cmnode != null) {
-				addNodeForCMNode();
-			} else {
-				addNodeForNodeType();
-			}
-			endNodeAction(this);
-		}
-	}
-
-
-	/**
-	 * DeleteAction
-	 */
-	public class DeleteAction extends NodeAction {
-		protected List list;
-
-		public DeleteAction(List list) {
-			setText(XMLUIPlugin.getResourceString("%_UI_MENU_REMOVE")); //$NON-NLS-1$
-			this.list = list;
-		}
-
-		public DeleteAction(Node node) {
-			setText(XMLUIPlugin.getResourceString("%_UI_MENU_REMOVE")); //$NON-NLS-1$
-			list = new Vector();
-			list.add(node);
-		}
-
-		public String getUndoDescription() {
-			return XMLUIPlugin.getResourceString("%DELETE"); //$NON-NLS-1$
-		}
-
-		public void run() {
-			beginNodeAction(this);
-
-			for (Iterator i = list.iterator(); i.hasNext();) {
-				Node node = (Node) i.next();
-				if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
-					Attr attr = (Attr) node;
-					attr.getOwnerElement().removeAttributeNode(attr);
-				} else {
-					Node parent = node.getParentNode();
-					if (parent != null) {
-						Node previousSibling = node.getPreviousSibling();
-						if (previousSibling != null && isWhitespaceTextNode(previousSibling)) {
-							parent.removeChild(previousSibling);
-						}
-						parent.removeChild(node);
-					}
-				}
-			}
-
-			endNodeAction(this);
-		}
-	}
-
-
-	class ImageDescriptorCache {
-		protected ImageDescriptor attributeImage = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE);
-		protected ImageDescriptor attributeReqImage = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ATT_REQ_OBJ);
-		protected ImageDescriptor cdataSectionImage = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_OBJ_CDATASECTION);
-		protected ImageDescriptor commentImage = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_OBJ_COMMENT);
-		protected ImageDescriptor elementImage = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ELEMENT);
-		protected ImageDescriptor piImage = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_OBJ_PROCESSINGINSTRUCTION);
-		protected ImageDescriptor textImage = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_OBJ_TXTEXT);
-
-		public ImageDescriptor getImageDescriptor(Object object) {
-			ImageDescriptor result = null;
-			if (object instanceof CMNode) {
-				CMNode cmnode = (CMNode) object;
-				switch (cmnode.getNodeType()) {
-					case CMNode.ATTRIBUTE_DECLARATION : {
-						result = CMImageUtil.getImageDescriptor(cmnode);
-						if (result == null)
-							if (((CMAttributeDeclaration) cmnode).getUsage() == CMAttributeDeclaration.REQUIRED)
-								result = attributeReqImage;
-							else
-								result = attributeImage;
-						break;
-					}
-					case CMNode.DATA_TYPE : {
-						result = textImage;
-						break;
-					}
-					case CMNode.ELEMENT_DECLARATION : {
-						result = CMImageUtil.getImageDescriptor(cmnode);
-						if (result == null)
-							result = elementImage;
-						break;
-					}
-					case CMNode.GROUP : {
-						result = elementImage;
-						break;
-					}
-				}
-			} else if (object instanceof Integer) {
-				Integer integer = (Integer) object;
-				switch (integer.intValue()) {
-					case Node.COMMENT_NODE : {
-						result = commentImage;
-						break;
-					}
-					case Node.PROCESSING_INSTRUCTION_NODE : {
-						result = piImage;
-						break;
-					}
-					case Node.CDATA_SECTION_NODE : {
-						result = cdataSectionImage;
-						break;
-					}
-					case Node.TEXT_NODE : {
-						result = textImage;
-						break;
-					}
-				}
-			}
-			return result;
-		}
-	}
-
-	// TODO... remove this class. I'm pretty sure it is no longer used by
-	// anyone.
-	/**
-	 * @depracated
-	 */
-	public class InsertAction extends NodeAction {
-		protected String description;
-		protected int index;
-		protected int nodeType;
-		protected Node parent;
-
-		public InsertAction(int nodeType, Node parent, int index) {
-			this.nodeType = nodeType;
-			this.index = index;
-			this.parent = parent;
-			switch (nodeType) {
-				case Node.COMMENT_NODE : {
-					description = XMLUIPlugin.getResourceString("%_UI_MENU_COMMENT"); //$NON-NLS-1$
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					description = XMLUIPlugin.getResourceString("%_UI_MENU_PROCESSING_INSTRUCTION"); //$NON-NLS-1$
-					break;
-				}
-				case Node.CDATA_SECTION_NODE : {
-					description = XMLUIPlugin.getResourceString("%_UI_MENU_CDATA_SECTION"); //$NON-NLS-1$
-					break;
-				}
-				case Node.TEXT_NODE : {
-					description = XMLUIPlugin.getResourceString("%_UI_MENU_PCDATA"); //$NON-NLS-1$
-					break;
-				}
-			}
-			setText(description);
-			setImageDescriptor(imageDescriptorCache.getImageDescriptor(new Integer(nodeType)));
-		}
-
-		public InsertAction(int nodeType, Node parent, int index, String title) {
-			this.nodeType = nodeType;
-			this.index = index;
-			this.parent = parent;
-			description = title;
-			setText(description);
-			setImageDescriptor(imageDescriptorCache.getImageDescriptor(new Integer(nodeType)));
-		}
-
-		public String getUndoDescription() {
-			return XMLUIPlugin.getResourceString("%_UI_MENU_ADD") + " " + description; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		public void run() {
-			beginNodeAction(this);
-
-			Document document = parent.getNodeType() == Node.DOCUMENT_NODE ? (Document) parent : parent.getOwnerDocument();
-			Node newChildNode = null;
-			boolean format = true;
-			switch (nodeType) {
-				case Node.COMMENT_NODE : {
-					newChildNode = document.createComment(XMLUIPlugin.getResourceString("%_UI_COMMENT_VALUE")); //$NON-NLS-1$
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					newChildNode = document.createProcessingInstruction(XMLUIPlugin.getResourceString("%_UI_PI_TARGET_VALUE"), XMLUIPlugin.getResourceString("%_UI_PI_DATA_VALUE")); //$NON-NLS-1$ //$NON-NLS-2$
-					break;
-				}
-				case Node.CDATA_SECTION_NODE : {
-					newChildNode = document.createCDATASection(""); //$NON-NLS-1$
-					break;
-				}
-				case Node.TEXT_NODE : {
-					format = false;
-					newChildNode = document.createTextNode(parent.getNodeName());
-					break;
-				}
-			}
-
-			if (newChildNode != null) {
-				List list = new Vector(1);
-				list.add(newChildNode);
-				insertNodesAtIndex(parent, list, index, format);
-			}
-
-			endNodeAction(this);
-		}
-	}
-
-
-	/**
-	 * ReplaceNodeAction
-	 */
-	public class ReplaceNodeAction extends NodeAction {
-		protected CMNode cmnode;
-		protected String description;
-		protected int endIndex;
-		protected Node parent;
-		protected int startIndex;
-
-
-		public ReplaceNodeAction(Node parent, CMNode cmnode, int startIndex, int endIndex) {
-			this.parent = parent;
-			this.cmnode = cmnode;
-			this.startIndex = startIndex;
-			this.endIndex = endIndex;
-
-			setText(getLabel(parent, cmnode));
-			setImageDescriptor(imageDescriptorCache.getImageDescriptor(cmnode));
-		}
-
-		public String getUndoDescription() {
-			String result = XMLUIPlugin.getResourceString("%_UI_LABEL_UNDO_REPLACE_DESCRIPTION"); //$NON-NLS-1$
-			result += " " + getLabel(parent, cmnode); //$NON-NLS-1$
-			return result;
-		}
-
-		public void run() {
-			beginNodeAction(this);
-
-			if (parent != null && cmnode != null) {
-				remove(parent, startIndex, endIndex);
-				insert(parent, cmnode, startIndex);
-			}
-			endNodeAction(this);
-		}
-	}
-
-	protected ImageDescriptorCache imageDescriptorCache = new ImageDescriptorCache();
-	protected Viewer viewer;
-
-	public AbstractNodeActionManager(IStructuredModel model, ModelQuery modelQuery, Viewer viewer) {
-		super(model, modelQuery);
-		this.viewer = viewer;
-	}
-
-
-	public void beginNodeAction(NodeAction action) {
-		model.beginRecording(action, action.getUndoDescription());
-	}
-
-
-	protected Action createAddAttributeAction(Element parent, CMAttributeDeclaration ad) {
-		Action action = null;
-		if (ad == null) {
-			action = new EditAttributeAction(this, parent, null, XMLUIPlugin.getResourceString("%_UI_MENU_NEW_ATTRIBUTE"), XMLUIPlugin.getResourceString("%_UI_MENU_NEW_ATTRIBUTE_TITLE")); //$NON-NLS-1$ //$NON-NLS-2$
-		} else {
-			action = new AddNodeAction(ad, parent, -1);
-		}
-		return action;
-	}
-
-
-	protected Action createAddCDataSectionAction(Node parent, int index) {
-		return new AddNodeAction(Node.CDATA_SECTION_NODE, parent, index);
-	}
-
-
-	protected Action createAddCommentAction(Node parent, int index) {
-		return new AddNodeAction(Node.COMMENT_NODE, parent, index);
-	}
-
-
-	protected Action createAddDoctypeAction(Document document, int index) {
-		return new EditDoctypeAction(model, document, model.getBaseLocation(), XMLUIPlugin.getResourceString("%_UI_MENU_ADD_DTD_INFORMATION")); //$NON-NLS-1$
-	}
-
-
-	protected Action createAddElementAction(Node parent, CMElementDeclaration ed, int index) {
-		Action action = null;
-		if (ed == null) {
-			action = new EditElementAction(this, parent, index, XMLUIPlugin.getResourceString("%_UI_MENU_NEW_ELEMENT"), XMLUIPlugin.getResourceString("%_UI_MENU_NEW_ELEMENT_TITLE")); //$NON-NLS-1$ //$NON-NLS-2$
-		} else {
-			action = new AddNodeAction(ed, parent, index);
-		}
-		return action;
-	}
-
-
-	protected Action createAddPCDataAction(Node parent, CMDataType dataType, int index) {
-		Action action = null;
-		if (dataType == null) {
-			action = new AddNodeAction(Node.TEXT_NODE, parent, index);
-		} else {
-			action = new AddNodeAction(dataType, parent, index);
-		}
-		return action;
-	}
-
-
-	protected Action createAddProcessingInstructionAction(Node parent, int index) {
-		Node refChild = getRefChildNodeAtIndex(parent, index);
-		Action action = new EditProcessingInstructionAction(this, parent, refChild, XMLUIPlugin.getResourceString("%_UI_MENU_ADD_PROCESSING_INSTRUCTION"), XMLUIPlugin.getResourceString("%ADD_PROCESSING_INSTRUCTION")); //$NON-NLS-1$ //$NON-NLS-2$
-		action.setImageDescriptor(imageDescriptorCache.getImageDescriptor(new Integer(Node.PROCESSING_INSTRUCTION_NODE)));
-		return action;
-	}
-
-
-	protected Action createAddSchemaInfoAction(Element element) {
-		return new EditSchemaInfoAction(this, element.getOwnerDocument(), model.getBaseLocation(), XMLUIPlugin.getResourceString("%_UI_MENU_ADD_SCHEMA_INFORMATION")); //$NON-NLS-1$
-	}
-
-
-	protected Action createDeleteAction(List selection) {
-		DeleteAction deleteAction = new DeleteAction(selection);
-		deleteAction.setEnabled(selection.size() > 0);
-		return deleteAction;
-	}
-
-
-	public DOMContentBuilder createDOMContentBuilder(Document document) {
-		DOMContentBuilderImpl builder = new DOMContentBuilderImpl(document);
-		return builder;
-	}
-
-
-	protected Action createEditAttributeAction(Attr attr, CMAttributeDeclaration ad) {
-		return new EditAttributeAction(this, attr.getOwnerElement(), attr, XMLUIPlugin.getResourceString("%_UI_MENU_EDIT_ATTRIBUTE"), XMLUIPlugin.getResourceString("%_UI_MENU_EDIT_ATTRIBUTE_TITLE")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-
-	protected Action createEditDoctypeAction(DocumentType doctype) {
-		return new EditDoctypeAction(model, doctype, model.getBaseLocation(), XMLUIPlugin.getResourceString("%_UI_MENU_EDIT_DOCTYPE")); //$NON-NLS-1$
-	}
-
-
-	protected Action createEditProcessingInstructionAction(ProcessingInstruction pi) {
-		return new EditProcessingInstructionAction(this, pi, XMLUIPlugin.getResourceString("%_UI_MENU_EDIT_PROCESSING_INSTRUCTION"), XMLUIPlugin.getResourceString("%_UI_MENU_EDIT_PROCESSING_INSTRUCTION_TITLE")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-
-	protected Action createEditSchemaInfoAction(Element element) {
-		return new EditSchemaInfoAction(this, element.getOwnerDocument(), model.getBaseLocation(), XMLUIPlugin.getResourceString("%_UI_MENU_EDIT_NAMESPACES")); //$NON-NLS-1$
-	}
-
-
-	protected Action createRenameAction(Node node) {
-		Action result = null;
-		if (node instanceof Element) {
-			result = new EditElementAction(this, (Element) node, XMLUIPlugin.getResourceString("%_UI_MENU_RENAME"), XMLUIPlugin.getResourceString("%_UI_MENU_RENAME_TITLE")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return result;
-	}
-
-
-	protected Action createReplaceAction(Node parent, CMNode cmnode, int startIndex, int endIndex) {
-		return new ReplaceNodeAction(parent, cmnode, startIndex, endIndex);
-	}
-
-	public void endNodeAction(NodeAction action) {
-		model.endRecording(action);
-	}
-
-
-
-	public void fillContextMenu(IMenuManager menuManager, ISelection selection) {
-		try {
-			List selectionList = new ArrayList();
-			if (selection instanceof IStructuredSelection) {
-				IStructuredSelection es = (IStructuredSelection) selection;
-				for (Iterator i = es.iterator(); i.hasNext();) {
-					selectionList.add(i.next());
-				}
-			}
-
-			contributeActions(menuManager, selectionList);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public String getLabel(Node parent, CMNode cmnode) {
-		String result = "?" + cmnode + "?"; //$NON-NLS-1$ //$NON-NLS-2$
-		if (cmnode != null) {
-			result = (String) cmnode.getProperty("description"); //$NON-NLS-1$
-			if (result == null) {
-				if (cmnode.getNodeType() == CMNode.GROUP) {
-					CMDescriptionBuilder descriptionBuilder = new CMDescriptionBuilder();
-					result = descriptionBuilder.buildDescription(cmnode);
-				} else {
-					result = DOMNamespaceHelper.computeName(cmnode, parent, null);
-				}
-			}
-		}
-		return result;
-	}
-
-
-	public IStructuredModel getModel() {
-		return model;
-	}
-
-
-	public Shell getWorkbenchWindowShell() {
-		return XMLUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-	}
-
-
-	public void insert(Node parent, CMNode cmnode, int index) {
-		Document document = parent.getNodeType() == Node.DOCUMENT_NODE ? (Document) parent : parent.getOwnerDocument();
-		DOMContentBuilder builder = createDOMContentBuilder(document);
-		builder.setBuildPolicy(DOMContentBuilder.BUILD_ONLY_REQUIRED_CONTENT);
-		builder.build(parent, cmnode);
-		insertNodesAtIndex(parent, builder.getResult(), index);
-	}
-
-
-	public void insertNodesAtIndex(Node parent, List list, int index) {
-		insertNodesAtIndex(parent, list, index, true);
-	}
-
-
-	public void insertNodesAtIndex(Node parent, List list, int index, boolean format) {
-		NodeList nodeList = parent.getChildNodes();
-		if (index == -1) {
-			index = nodeList.getLength();
-		}
-		Node refChild = (index < nodeList.getLength()) ? nodeList.item(index) : null;
-
-		// here we consider the case where the previous node is a 'white
-		// space' Text node
-		// we should really do the insert before this node
-		//
-		int prevIndex = index - 1;
-		Node prevChild = (prevIndex < nodeList.getLength()) ? nodeList.item(prevIndex) : null;
-		if (isWhitespaceTextNode(prevChild)) {
-			refChild = prevChild;
-		}
-
-		for (Iterator i = list.iterator(); i.hasNext();) {
-			Node newNode = (Node) i.next();
-
-			if (newNode.getNodeType() == Node.ATTRIBUTE_NODE) {
-				Element parentElement = (Element) parent;
-				parentElement.setAttributeNode((Attr) newNode);
-			} else {
-				parent.insertBefore(newNode, refChild);
-			}
-		}
-
-		boolean formatDeep = false;
-		for (Iterator i = list.iterator(); i.hasNext();) {
-			Node newNode = (Node) i.next();
-			if (newNode.getNodeType() == Node.ELEMENT_NODE) {
-				formatDeep = true;
-			}
-
-			if (format) {
-				reformat(newNode, formatDeep);
-			}
-		}
-
-		setViewerSelection(list);
-	}
-
-
-	/**
-	 * This method is abstract since currently, the sed editor is required to
-	 * perform formating and we don't want to create a dependency on the sed
-	 * editor.
-	 */
-	public abstract void reformat(Node parent, boolean deep);
-
-
-	public void remove(Node parent, int startIndex, int endIndex) {
-		NodeList nodeList = parent.getChildNodes();
-		for (int i = endIndex; i >= startIndex; i--) {
-			Node node = nodeList.item(i);
-			if (node != null) {
-				parent.removeChild(node);
-			}
-		}
-	}
-
-
-	public void setViewerSelection(List list) {
-		if (viewer != null) {
-			viewer.setSelection(new StructuredSelection(list), true);
-		}
-	}
-
-
-	public void setViewerSelection(Node node) {
-		if (viewer != null) {
-			viewer.setSelection(new StructuredSelection(node), true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ActionContributorXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ActionContributorXML.java
deleted file mode 100644
index 8d58d08..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ActionContributorXML.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.RetargetTextEditorAction;
-import org.eclipse.wst.sse.ui.edit.util.ActionContributor;
-import org.eclipse.wst.sse.ui.edit.util.ActionDefinitionIds;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * XMLEditorActionContributor
- * 
- * This class should not be used inside multi page editor's
- * ActionBarContributor, since cascaded init() call from the
- * ActionBarContributor will causes exception and it leads to lose whole
- * toolbars.
- * 
- * Instead, use SourcePageActionContributor for source page contributor of
- * multi page editor.
- * 
- * Note that this class is still valid for single page editor.
- */
-public class ActionContributorXML extends ActionContributor {
-	private static final String[] EDITOR_IDS = {"org.eclipse.wst.xml.ui.StructuredTextEditorXML", "org.eclipse.wst.sse.ui.StructuredTextEditor"}; //$NON-NLS-1$ //$NON-NLS-2$
-	protected RetargetTextEditorAction fCleanupDocument = null;
-	protected RetargetTextEditorAction fComment = null;
-	// tooltip
-	// action
-	protected RetargetTextEditorAction fContentAssist = null;
-	// action
-	protected RetargetTextEditorAction fFindOccurrences = null;
-	protected RetargetTextEditorAction fFormatActiveElements = null;
-	protected RetargetTextEditorAction fFormatDocument = null;
-	protected MenuManager fFormatMenu = null;
-	protected RetargetTextEditorAction fOpenFileAction = null; // open file
-	protected RetargetTextEditorAction fQuickFix = null;
-
-	protected RetargetTextEditorAction fShowTooltipAction = null; // show
-	protected RetargetTextEditorAction fUncomment = null;
-
-	public ActionContributorXML() {
-		super();
-
-		ResourceBundle resourceBundle = SSEUIPlugin.getDefault().getResourceBundle();
-
-		// edit commands
-		fShowTooltipAction = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_INFORMATION + StructuredTextEditorActionConstants.DOT);
-		fShowTooltipAction.setActionDefinitionId(ActionDefinitionIds.INFORMATION);
-
-		fContentAssist = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_PROPOSALS + StructuredTextEditorActionConstants.DOT);
-		fContentAssist.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-
-		fQuickFix = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_QUICK_FIX + StructuredTextEditorActionConstants.DOT);
-		fQuickFix.setActionDefinitionId(ActionDefinitionIds.QUICK_FIX);
-
-		// source commands
-		fCleanupDocument = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT + StructuredTextEditorActionConstants.DOT);
-		fCleanupDocument.setActionDefinitionId(ActionDefinitionIds.CLEANUP_DOCUMENT);
-
-		fFormatDocument = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_DOCUMENT + StructuredTextEditorActionConstants.DOT);
-		fFormatDocument.setActionDefinitionId(ActionDefinitionIds.FORMAT_DOCUMENT);
-
-		fFormatActiveElements = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_ACTIVE_ELEMENTS + StructuredTextEditorActionConstants.DOT);
-		fFormatActiveElements.setActionDefinitionId(ActionDefinitionIds.FORMAT_ACTIVE_ELEMENTS);
-
-		fFormatMenu = new MenuManager(SSEUIPlugin.getResourceString("%FormatMenu.label")); //$NON-NLS-1$
-		fFormatMenu.add(fFormatDocument);
-		fFormatMenu.add(fFormatActiveElements);
-
-		// navigate commands
-		fOpenFileAction = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE + StructuredTextEditorActionConstants.DOT);
-		fOpenFileAction.setActionDefinitionId(ActionDefinitionIds.OPEN_FILE);
-
-		fFindOccurrences = new RetargetTextEditorAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES + StructuredTextEditorActionConstants.DOT);
-		fFindOccurrences.setActionDefinitionId(ActionDefinitionIds.FIND_OCCURRENCES);
-	}
-
-	protected void addToMenu(IMenuManager menu) {
-		// edit commands
-		IMenuManager editMenu = menu.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
-		if (editMenu != null) {
-			editMenu.add(fCommandsSeparator);
-			editMenu.add(fToggleInsertModeAction);
-			editMenu.add(fCommandsSeparator);
-			editMenu.add(fExpandSelectionToMenu);
-			editMenu.add(fCommandsSeparator);
-			editMenu.add(fShowTooltipAction);
-			editMenu.add(fContentAssist);
-			editMenu.add(fQuickFix);
-			editMenu.add(fMenuAdditionsGroupMarker);
-		}
-
-		// source commands
-		String sourceMenuLabel = SSEUIPlugin.getResourceString("%SourceMenu.label"); //$NON-NLS-1$
-		String sourceMenuId = "sourceMenuId"; // This is just a menu id. No
-		// need to translate.
-		// //$NON-NLS-1$
-		IMenuManager sourceMenu = new MenuManager(sourceMenuLabel, sourceMenuId);
-		menu.insertAfter(IWorkbenchActionConstants.M_EDIT, sourceMenu);
-		if (sourceMenu != null) {
-			sourceMenu.add(fCommandsSeparator);
-			sourceMenu.add(fToggleComment);
-			sourceMenu.add(fAddBlockComment);
-			sourceMenu.add(fRemoveBlockComment);
-			sourceMenu.add(fShiftRight);
-			sourceMenu.add(fShiftLeft);
-			sourceMenu.add(fCleanupDocument);
-			sourceMenu.add(fFormatMenu);
-			sourceMenu.add(fCommandsSeparator);
-			sourceMenu.add(fFindOccurrences);
-		}
-
-		// navigate commands
-		IMenuManager navigateMenu = menu.findMenuUsingPath(IWorkbenchActionConstants.M_NAVIGATE);
-		if (navigateMenu != null) {
-			navigateMenu.appendToGroup(IWorkbenchActionConstants.OPEN_EXT, fCommandsSeparator);
-			navigateMenu.appendToGroup(IWorkbenchActionConstants.OPEN_EXT, fOpenFileAction);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.edit.util.ActionContributor#getExtensionIDs()
-	 */
-	protected String[] getExtensionIDs() {
-		return EDITOR_IDS;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorActionBarContributor#setActiveEditor(IEditorPart)
-	 */
-	public void setActiveEditor(IEditorPart activeEditor) {
-		if (getActiveEditorPart() == activeEditor)
-			return;
-		super.setActiveEditor(activeEditor);
-
-		IActionBars actionBars = getActionBars();
-		if (actionBars != null) {
-			IStatusLineManager statusLineManager = actionBars.getStatusLineManager();
-			if (statusLineManager != null) {
-				statusLineManager.setMessage(null);
-				statusLineManager.setErrorMessage(null);
-			}
-		}
-
-		ITextEditor textEditor = getTextEditor(activeEditor);
-
-		fShowTooltipAction.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_INFORMATION));
-		fContentAssist.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_CONTENTASSIST_PROPOSALS));
-		fQuickFix.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_QUICK_FIX));
-
-		fCleanupDocument.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT));
-		fFormatDocument.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_DOCUMENT));
-		fFormatActiveElements.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_FORMAT_ACTIVE_ELEMENTS));
-		fCleanupDocument.setEnabled(textEditor != null && textEditor.isEditable());
-		fFormatDocument.setEnabled(textEditor != null && textEditor.isEditable());
-		fFormatActiveElements.setEnabled(textEditor != null && textEditor.isEditable());
-
-		fOpenFileAction.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE));
-
-		fFindOccurrences.setAction(getAction(textEditor, StructuredTextEditorActionConstants.ACTION_NAME_FIND_OCCURRENCES));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.ISourceViewerActionBarContributor#setViewerSpecificContributionsEnabled(boolean)
-	 */
-	public void setViewerSpecificContributionsEnabled(boolean enabled) {
-		super.setViewerSpecificContributionsEnabled(enabled);
-
-		fShowTooltipAction.setEnabled(enabled);
-		fContentAssist.setEnabled(enabled);
-		fQuickFix.setEnabled(enabled);
-		// cleanup and format document actions do not rely on source viewer
-		// being enabled
-		//		fCleanupDocument.setEnabled(enabled);
-		//		fFormatDocument.setEnabled(enabled);
-
-		fFormatActiveElements.setEnabled(enabled);
-		fOpenFileAction.setEnabled(enabled);
-		fFindOccurrences.setEnabled(enabled);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/AddBlockCommentActionXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/AddBlockCommentActionXML.java
deleted file mode 100644
index d39d2a7..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/AddBlockCommentActionXML.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.xml.core.internal.document.CommentImpl;
-
-public class AddBlockCommentActionXML extends CommentActionXML {
-	protected int fCloseCommentOffset;
-	protected int fOpenCommentOffset;
-	protected IndexedRegion fSelectionEndIndexedRegion;
-	protected IndexedRegion fSelectionStartIndexedRegion;
-
-	public AddBlockCommentActionXML(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected void init() {
-		super.init();
-
-		fSelectionStartIndexedRegion = fModel.getIndexedRegion(fSelectionStartOffset);
-		fSelectionEndIndexedRegion = fModel.getIndexedRegion(fSelectionEndOffset);
-
-		if (fSelectionStartIndexedRegion == null || fSelectionEndIndexedRegion == null)
-			return;
-
-		fOpenCommentOffset = fSelectionStartIndexedRegion.getStartOffset();
-		fCloseCommentOffset = fSelectionEndIndexedRegion.getEndOffset() + OPEN_COMMENT.length();
-	}
-
-	protected void processAction() {
-		if (fSelection.getLength() == 0 && fSelectionStartIndexedRegion instanceof CommentImpl)
-			return;
-
-		fModel.beginRecording(this, SSEUIPlugin.getResourceString(StructuredTextEditorActionConstants.ACTION_NAME_ADD_BLOCK_COMMENT + ".tooltip")); //$NON-NLS-1$
-		fModel.aboutToChangeModel();
-
-		try {
-			fDocument.replace(fOpenCommentOffset, 0, OPEN_COMMENT);
-			fDocument.replace(fCloseCommentOffset, 0, CLOSE_COMMENT);
-			removeOpenCloseComments(fOpenCommentOffset + OPEN_COMMENT.length(), fCloseCommentOffset - fOpenCommentOffset - CLOSE_COMMENT.length());
-		} catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException();
-		}
-
-		fModel.changedModel();
-		fModel.endRecording(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/BaseNodeActionManager.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/BaseNodeActionManager.java
deleted file mode 100644
index 38b50f1..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/BaseNodeActionManager.java
+++ /dev/null
@@ -1,514 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQueryAction;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.ProcessingInstruction;
-
-public abstract class BaseNodeActionManager {
-
-
-	/**
-	 * MyMenuManager
-	 */
-	public static class MyMenuManager extends MenuManager {
-		protected String title;
-
-		public MyMenuManager(String s) {
-			super(s);
-			title = s;
-		}
-
-		public boolean isEnabled() {
-			return !isEmpty();
-		}
-
-		public String toString() {
-			return title;
-		}
-	}
-
-	public static DocumentType getDoctype(Node node) {
-		Document document = (node.getNodeType() == Node.DOCUMENT_NODE) ? (Document) node : node.getOwnerDocument();
-		return document.getDoctype();
-	}
-
-	protected MenuBuilder menuBuilder = new MenuBuilder();
-	protected IStructuredModel model;
-	protected ModelQuery modelQuery;
-
-	protected BaseNodeActionManager(IStructuredModel model, ModelQuery modelQuery) {
-		this.model = model;
-		this.modelQuery = modelQuery;
-	}
-
-
-	protected void addActionHelper(IMenuManager menu, List modelQueryActionList) {
-		List actionList = new Vector();
-		for (Iterator i = modelQueryActionList.iterator(); i.hasNext();) {
-			ModelQueryAction action = (ModelQueryAction) i.next();
-			if (action.getCMNode() != null) {
-				int cmNodeType = action.getCMNode().getNodeType();
-				if (action.getKind() == ModelQueryAction.INSERT) {
-					switch (cmNodeType) {
-						case CMNode.ATTRIBUTE_DECLARATION : {
-							actionList.add(createAddAttributeAction((Element) action.getParent(), (CMAttributeDeclaration) action.getCMNode()));
-							break;
-						}
-						case CMNode.ELEMENT_DECLARATION : {
-							actionList.add(createAddElementAction(action.getParent(), (CMElementDeclaration) action.getCMNode(), action.getStartIndex()));
-							break;
-						}
-					}
-				} else if (action.getKind() == ModelQueryAction.REPLACE) {
-					if (action.getParent() != null && action.getCMNode() != null) {
-						actionList.add(createReplaceAction(action.getParent(), action.getCMNode(), action.getStartIndex(), action.getEndIndex()));
-					}
-				}
-			}
-		}
-		menuBuilder.populateMenu(menu, actionList, false);
-	}
-
-	protected void contributeAction(IMenuManager menu, Action action) {
-		if (action != null) {
-			menu.add(action);
-		}
-	}
-
-
-	public void contributeActions(IMenuManager menu, List selection) {
-		int editMode = modelQuery.getEditMode();
-		int ic = (editMode == ModelQuery.EDIT_MODE_CONSTRAINED_STRICT) ? ModelQuery.INCLUDE_CHILD_NODES | ModelQuery.INCLUDE_SEQUENCE_GROUPS : ModelQuery.INCLUDE_CHILD_NODES;
-		int vc = (editMode == ModelQuery.EDIT_MODE_CONSTRAINED_STRICT) ? ModelQuery.VALIDITY_STRICT : ModelQuery.VALIDITY_NONE;
-
-		List implicitlySelectedNodeList = null;
-
-		if (selection.size() > 0) {
-			implicitlySelectedNodeList = getSelectedNodes(selection, true);
-
-			// contribute delete actions
-			contributeDeleteActions(menu, implicitlySelectedNodeList, ic, vc);
-		}
-
-		if (selection.size() == 1) {
-			Node node = (Node) selection.get(0);
-
-			// contribute edit actions
-			contributeEditActions(menu, node);
-
-			// contribute add child actions
-			contributeAddChildActions(menu, node, ic, vc);
-
-			// contribute add before actions
-			contributeAddSiblingActions(menu, node, ic, vc);
-		}
-
-		if (selection.size() > 0) {
-			// contribute replace actions
-			contributeReplaceActions(menu, implicitlySelectedNodeList, ic, vc);
-		}
-
-		if (selection.size() == 0) {
-			Document document = ((XMLModel) model).getDocument();
-			contributeAddDocumentChildActions(menu, document, ic, vc);
-			contributeEditGrammarInformationActions(menu, document);
-		}
-	}
-
-
-	protected void contributeAddChildActions(IMenuManager menu, Node node, int ic, int vc) {
-		int nodeType = node.getNodeType();
-
-		if (nodeType == Node.ELEMENT_NODE) {
-			// 'Add Child...' and 'Add Attribute...' actions
-			//
-			Element element = (Element) node;
-
-			IMenuManager addAttributeMenu = new MyMenuManager(XMLUIPlugin.getResourceString("%_UI_MENU_ADD_ATTRIBUTE")); //$NON-NLS-1$
-			IMenuManager addChildMenu = new MyMenuManager(XMLUIPlugin.getResourceString("%_UI_MENU_ADD_CHILD")); //$NON-NLS-1$
-			menu.add(addAttributeMenu);
-			menu.add(addChildMenu);
-
-			CMElementDeclaration ed = modelQuery.getCMElementDeclaration(element);
-			if (ed != null) {
-				// add insert attribute actions
-				//
-				List modelQueryActionList = new ArrayList();
-				modelQuery.getInsertActions(element, ed, -1, ModelQuery.INCLUDE_ATTRIBUTES, vc, modelQueryActionList);
-				addActionHelper(addAttributeMenu, modelQueryActionList);
-
-				// add insert child node actions
-				//
-				modelQueryActionList = new ArrayList();
-				modelQuery.getInsertActions(element, ed, -1, ic, vc, modelQueryActionList);
-				addActionHelper(addChildMenu, modelQueryActionList);
-			}
-
-			// add PI and COMMENT
-			contributePIAndCommentActions(addChildMenu, element, ed, -1);
-
-			// add PCDATA, CDATA_SECTION
-			contributeTextNodeActions(addChildMenu, element, ed, -1);
-
-			// add NEW ELEMENT
-			contributeUnconstrainedAddElementAction(addChildMenu, element, ed, -1);
-
-			// add ATTRIBUTE
-			contributeUnconstrainedAttributeActions(addAttributeMenu, element, ed);
-		}
-	}
-
-
-	protected void contributeAddDocumentChildActions(IMenuManager menu, Document document, int ic, int vc) {
-		IMenuManager addChildMenu = new MyMenuManager(XMLUIPlugin.getResourceString("%_UI_MENU_ADD_CHILD")); //$NON-NLS-1$
-		menu.add(addChildMenu);
-
-		// add PI and COMMENT
-		contributePIAndCommentActions(addChildMenu, document, -1);
-
-		// add NEW ELEMENT
-		contributeUnconstrainedAddElementAction(addChildMenu, document, -1);
-	}
-
-
-	protected void contributeAddSiblingActions(IMenuManager menu, Node node, int ic, int vc) {
-		IMenuManager addBeforeMenu = new MyMenuManager(XMLUIPlugin.getResourceString("%_UI_MENU_ADD_BEFORE")); //$NON-NLS-1$
-		IMenuManager addAfterMenu = new MyMenuManager(XMLUIPlugin.getResourceString("%_UI_MENU_ADD_AFTER")); //$NON-NLS-1$
-		menu.add(addBeforeMenu);
-		menu.add(addAfterMenu);
-
-		Node parentNode = node.getParentNode();
-		if (parentNode != null) {
-			int index = getIndex(parentNode, node);
-			if (parentNode.getNodeType() == Node.ELEMENT_NODE) {
-				Element parentElement = (Element) parentNode;
-				CMElementDeclaration parentED = modelQuery.getCMElementDeclaration(parentElement);
-				if (parentED != null) {
-					// 'Add Before...' and 'Add After...' actions
-					//
-					List modelQueryActionList = new ArrayList();
-					modelQuery.getInsertActions(parentElement, parentED, index, ic, vc, modelQueryActionList);
-					addActionHelper(addBeforeMenu, modelQueryActionList);
-
-					modelQueryActionList = new ArrayList();
-					modelQuery.getInsertActions(parentElement, parentED, index + 1, ic, vc, modelQueryActionList);
-					addActionHelper(addAfterMenu, modelQueryActionList);
-				}
-
-				// add COMMENT and PI before and after
-				contributePIAndCommentActions(addBeforeMenu, parentElement, parentED, index);
-				contributePIAndCommentActions(addAfterMenu, parentElement, parentED, index + 1);
-
-				// add PCDATA, CDATA_SECTION before and after
-				contributeTextNodeActions(addBeforeMenu, parentElement, parentED, index);
-				contributeTextNodeActions(addAfterMenu, parentElement, parentED, index + 1);
-
-				// add NEW ELEMENT before and after
-				contributeUnconstrainedAddElementAction(addBeforeMenu, parentElement, parentED, index);
-				contributeUnconstrainedAddElementAction(addAfterMenu, parentElement, parentED, index + 1);
-			} else if (parentNode.getNodeType() == Node.DOCUMENT_NODE) {
-				Document document = (Document) parentNode;
-				CMDocument cmDocument = modelQuery.getCorrespondingCMDocument(parentNode);
-				if (cmDocument != null) {
-					// add possible root element insertions
-					//        
-					List modelQueryActionList = new ArrayList();
-					modelQuery.getInsertActions(document, cmDocument, index, ic, vc, modelQueryActionList);
-					addActionHelper(addAfterMenu, modelQueryActionList);
-
-					modelQueryActionList = new ArrayList();
-					modelQuery.getInsertActions(document, cmDocument, index + 1, ic, vc, modelQueryActionList);
-					addActionHelper(addAfterMenu, modelQueryActionList);
-				}
-
-				// add COMMENT and PI before and after
-				contributePIAndCommentActions(addBeforeMenu, document, index);
-				contributePIAndCommentActions(addAfterMenu, document, index + 1);
-
-				// add ELEMENT before and after
-				contributeUnconstrainedAddElementAction(addBeforeMenu, document, index);
-				contributeUnconstrainedAddElementAction(addAfterMenu, document, index + 1);
-			}
-		}
-	}
-
-	protected void contributeDeleteActions(IMenuManager menu, List list, int ic, int vc) {
-		boolean canRemove = modelQuery.canRemove(list, vc);
-
-
-		// a delete action with an empty list will produce a disabled menu
-		// item
-		//
-		List resultList = canRemove ? list : Collections.EMPTY_LIST;
-		contributeAction(menu, createDeleteAction(resultList));
-	}
-
-
-	protected void contributeEditActions(IMenuManager menu, Node node) {
-		contributeEditGrammarInformationActions(menu, node);
-
-		if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
-			contributeAction(menu, createEditProcessingInstructionAction((ProcessingInstruction) node));
-		} else if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			contributeAction(menu, createEditAttributeAction((Attr) node, null));
-		}
-	}
-
-
-	protected void contributeEditGrammarInformationActions(IMenuManager menu, Node node) {
-		Document document = node.getNodeType() == Node.DOCUMENT_NODE ? (Document) node : node.getOwnerDocument();
-
-		DocumentType doctype = getDoctype(node);
-		if (doctype == null) {
-			contributeAction(menu, createAddDoctypeAction(document, -1));
-		}
-
-		if (node.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-			contributeAction(menu, createEditDoctypeAction((DocumentType) node));
-		}
-
-		if (doctype == null && getRootElement(document) != null) {
-			contributeAction(menu, createEditSchemaInfoAction(getRootElement(document)));
-		}
-	}
-
-	protected void contributePIAndCommentActions(IMenuManager menu, Document document, int index) {
-		// test to make sure that the index isn't before the XML declaration
-		// 
-		contributeAction(menu, createAddCommentAction(document, index));
-		contributeAction(menu, createAddProcessingInstructionAction(document, index));
-	}
-
-
-	protected void contributePIAndCommentActions(IMenuManager menu, Element parentElement, CMElementDeclaration parentEd, int index) {
-		if (parentEd == null || isCommentAllowed(parentEd)) {
-			contributeAction(menu, createAddCommentAction(parentElement, index));
-			contributeAction(menu, createAddProcessingInstructionAction(parentElement, index));
-		}
-	}
-
-
-	protected void contributeReplaceActions(IMenuManager menu, List selectedNodeList, int ic, int vc) {
-		// 'Replace With...' actions
-		//                                                                                                                   
-		IMenuManager replaceWithMenu = new MyMenuManager(XMLUIPlugin.getResourceString("%_UI_MENU_REPLACE_WITH")); //$NON-NLS-1$
-		menu.add(replaceWithMenu);
-
-		if (modelQuery.getEditMode() == ModelQuery.EDIT_MODE_CONSTRAINED_STRICT && selectedNodeList.size() > 0) {
-			Node node = (Node) selectedNodeList.get(0);
-			Node parentNode = node.getParentNode();
-			if (parentNode != null && parentNode.getNodeType() == Node.ELEMENT_NODE) {
-				Element parentElement = (Element) parentNode;
-				CMElementDeclaration parentED = modelQuery.getCMElementDeclaration(parentElement);
-				if (parentED != null) {
-					List replaceActionList = new Vector();
-					modelQuery.getReplaceActions(parentElement, parentED, selectedNodeList, ic, vc, replaceActionList);
-					addActionHelper(replaceWithMenu, replaceActionList);
-				}
-			}
-		}
-	}
-
-	protected void contributeTextNodeActions(IMenuManager menu, Element parentElement, CMElementDeclaration parentEd, int index) {
-		if (parentEd == null || isTextAllowed(parentEd)) {
-			CMDataType dataType = parentEd != null ? parentEd.getDataType() : null;
-			contributeAction(menu, createAddPCDataAction(parentElement, dataType, index));
-			contributeAction(menu, createAddCDataSectionAction(parentElement, index));
-		}
-	}
-
-
-	protected void contributeUnconstrainedAddElementAction(IMenuManager menu, Document document, int index) {
-		if (isUnconstrainedActionAllowed()) {
-			if (getRootElement(document) == null) {
-				int xmlDeclarationIndex = -1;
-				int doctypeIndex = -1;
-				NodeList nodeList = document.getChildNodes();
-				int nodeListLength = nodeList.getLength();
-				for (int i = 0; i < nodeListLength; i++) {
-					Node node = nodeList.item(i);
-					int nodeType = node.getNodeType();
-					if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-						doctypeIndex = i;
-						break;
-					} else if (nodeType == Node.PROCESSING_INSTRUCTION_NODE) {
-						ProcessingInstruction pi = (ProcessingInstruction) node;
-						if (pi.getTarget().equalsIgnoreCase("xml") && xmlDeclarationIndex == -1) { //$NON-NLS-1$
-							xmlDeclarationIndex = i;
-						}
-					}
-				}
-
-				if ((xmlDeclarationIndex == -1 || index > xmlDeclarationIndex) && (doctypeIndex == -1 || index > doctypeIndex)) {
-					contributeAction(menu, createAddElementAction(document, null, index));
-				}
-			}
-		}
-	}
-
-
-	protected void contributeUnconstrainedAddElementAction(IMenuManager menu, Element parentElement, CMElementDeclaration parentEd, int index) {
-		if (isUnconstrainedActionAllowed()) {
-			if (parentEd == null || parentEd.getProperty("isInferred") == Boolean.TRUE || (modelQuery.getEditMode() != ModelQuery.EDIT_MODE_CONSTRAINED_STRICT && isElementAllowed(parentEd))) { //$NON-NLS-1$
-				contributeAction(menu, createAddElementAction(parentElement, null, index));
-			}
-		}
-	}
-
-
-	protected void contributeUnconstrainedAttributeActions(IMenuManager menu, Element parentElement, CMElementDeclaration parentEd) {
-		if (isUnconstrainedActionAllowed()) {
-			if (parentEd == null || parentEd.getProperty("isInferred") == Boolean.TRUE || modelQuery.getEditMode() != ModelQuery.EDIT_MODE_CONSTRAINED_STRICT) { //$NON-NLS-1$
-				contributeAction(menu, createAddAttributeAction(parentElement, null));
-			}
-		}
-	}
-
-	abstract protected Action createAddAttributeAction(Element parent, CMAttributeDeclaration ad);
-
-	abstract protected Action createAddCDataSectionAction(Node parent, int index);
-
-	abstract protected Action createAddCommentAction(Node parent, int index);
-
-	abstract protected Action createAddDoctypeAction(Document parent, int index);
-
-	abstract protected Action createAddElementAction(Node parent, CMElementDeclaration ed, int index);
-
-	abstract protected Action createAddPCDataAction(Node parent, CMDataType dataType, int index);
-
-	abstract protected Action createAddProcessingInstructionAction(Node parent, int index);
-
-	abstract protected Action createAddSchemaInfoAction(Element element);
-
-	abstract protected Action createDeleteAction(List selection);
-
-	abstract protected Action createEditAttributeAction(Attr attribute, CMAttributeDeclaration ad);
-
-	abstract protected Action createEditDoctypeAction(DocumentType doctype);
-
-	abstract protected Action createEditProcessingInstructionAction(ProcessingInstruction pi);
-
-	abstract protected Action createEditSchemaInfoAction(Element element);
-
-	abstract protected Action createRenameAction(Node node);
-
-	abstract protected Action createReplaceAction(Node parent, CMNode cmnode, int startIndex, int endIndex);
-
-
-	public int getIndex(Node parentNode, Node child) {
-		NodeList nodeList = parentNode.getChildNodes();
-		int index = -1;
-		int size = nodeList.getLength();
-		for (int i = 0; i < size; i++) {
-			if (nodeList.item(i) == child) {
-				index = i;
-				break;
-			}
-		}
-		return index;
-	}
-
-
-	public Node getRefChildNodeAtIndex(Node parent, int index) {
-		NodeList nodeList = parent.getChildNodes();
-		Node refChild = (index >= 0 && index < nodeList.getLength()) ? nodeList.item(index) : null;
-		return refChild;
-	}
-
-
-	protected Element getRootElement(Document document) {
-		Element result = null;
-		NodeList nodeList = document.getChildNodes();
-		int nodeListLength = nodeList.getLength();
-		for (int i = 0; i < nodeListLength; i++) {
-			Node node = nodeList.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				result = (Element) node;
-				break;
-			}
-		}
-		return result;
-	}
-
-
-	protected List getSelectedNodes(List list, boolean includeTextNodes) {
-		List result = new ArrayList(0);
-		for (Iterator i = list.iterator(); i.hasNext();) {
-			Object object = i.next();
-			if (object instanceof Node) {
-				Node node = (Node) object;
-				if (node.getNodeType() == Node.TEXT_NODE) {
-					if (includeTextNodes) {
-						result.add(object);
-					}
-				} else {
-					result.add(node);
-				}
-			}
-		}
-		return result;
-	}
-
-
-	protected boolean isCommentAllowed(CMElementDeclaration parentEd) {
-		int contentType = parentEd.getContentType();
-		return contentType == CMElementDeclaration.ELEMENT || contentType == CMElementDeclaration.MIXED || contentType == CMElementDeclaration.PCDATA || contentType == CMElementDeclaration.ANY;
-	}
-
-
-	protected boolean isElementAllowed(CMElementDeclaration parentEd) {
-		int contentType = parentEd.getContentType();
-		return contentType == CMElementDeclaration.ELEMENT || contentType == CMElementDeclaration.MIXED || contentType == CMElementDeclaration.ANY;
-	}
-
-
-	protected boolean isTextAllowed(CMElementDeclaration parentEd) {
-		int contentType = parentEd.getContentType();
-		return contentType == CMElementDeclaration.MIXED || contentType == CMElementDeclaration.PCDATA || contentType == CMElementDeclaration.ANY;
-	}
-
-
-	protected boolean isUnconstrainedActionAllowed() {
-		return true;
-	}
-
-
-	protected boolean isWhitespaceTextNode(Node node) {
-		return (node != null) && (node.getNodeType() == Node.TEXT_NODE) && (node.getNodeValue().trim().length() == 0);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CleanupActionXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CleanupActionXML.java
deleted file mode 100644
index e5a3a13..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CleanupActionXML.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.cleanup.IStructuredCleanupProcessor;
-import org.eclipse.wst.sse.ui.edit.util.CleanupAction;
-import org.eclipse.wst.xml.core.cleanup.CleanupProcessorXML;
-
-
-public class CleanupActionXML extends CleanupAction {
-	protected IStructuredCleanupProcessor fCleanupProcessor;
-
-	public CleanupActionXML(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected Dialog getCleanupDialog(Shell shell) {
-		if (fCleanupDialog == null)
-			fCleanupDialog = new CleanupDialogXML(shell);
-
-		return fCleanupDialog;
-	}
-
-	protected IStructuredCleanupProcessor getCleanupProcessor() {
-		if (fCleanupProcessor == null)
-			fCleanupProcessor = new CleanupProcessorXML();
-
-		return fCleanupProcessor;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CleanupDialogXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CleanupDialogXML.java
deleted file mode 100644
index 9c55962..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CleanupDialogXML.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
-
-public class CleanupDialogXML extends Dialog implements SelectionListener {
-	protected Button fCheckBoxCompressEmptyElementTags;
-	protected Button fCheckBoxConvertEOLCodes;
-	protected Button fCheckBoxFormatSource;
-	protected Button fCheckBoxInsertMissingTags;
-	protected Button fCheckBoxInsertRequiredAttrs;
-	protected Button fCheckBoxQuoteAttrValues;
-	protected IStructuredModel fModel = null;
-	protected Preferences fPreferences = null;
-	protected Button fRadioButtonAttrNameCaseAsis;
-	protected Button fRadioButtonAttrNameCaseLower;
-	protected Button fRadioButtonAttrNameCaseUpper;
-	protected Button fRadioButtonConvertEOLMac;
-	protected Button fRadioButtonConvertEOLUnix;
-	protected Button fRadioButtonConvertEOLWindows;
-
-	protected Button fRadioButtonTagNameCaseAsis;
-	protected Button fRadioButtonTagNameCaseLower;
-	protected Button fRadioButtonTagNameCaseUpper;
-
-	public CleanupDialogXML(Shell shell) {
-
-		super(shell);
-	}
-
-	public Control createDialogArea(Composite parent) {
-
-		getShell().setText(SSEUIPlugin.getResourceString("%Cleanup_UI_")); //$NON-NLS-1$ = "Cleanup"
-		Composite composite = new Composite(parent, SWT.NULL);
-		createDialogAreaInComposite(composite);
-		initializeOptions();
-		return composite;
-	}
-
-	protected void createDialogAreaInComposite(Composite composite) {
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.CLEANUP_XML_HELPID); // use
-		// XML
-		// specific
-		// help
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.makeColumnsEqualWidth = true;
-		composite.setLayout(layout);
-
-		// Compress empty element tags
-		fCheckBoxCompressEmptyElementTags = new Button(composite, SWT.CHECK);
-		fCheckBoxCompressEmptyElementTags.setText(SSEUIPlugin.getResourceString("%Compress_empty_element_tags_UI_")); //$NON-NLS-1$
-		fCheckBoxCompressEmptyElementTags.addSelectionListener(this);
-
-		// Insert missing required attrs
-		fCheckBoxInsertRequiredAttrs = new Button(composite, SWT.CHECK);
-		fCheckBoxInsertRequiredAttrs.setText(SSEUIPlugin.getResourceString("%Insert_required_attributes_UI_")); //$NON-NLS-1$
-		fCheckBoxInsertRequiredAttrs.addSelectionListener(this);
-
-		// Insert missing begin/end tags
-		fCheckBoxInsertMissingTags = new Button(composite, SWT.CHECK);
-		fCheckBoxInsertMissingTags.setText(SSEUIPlugin.getResourceString("%Insert_missing_tags_UI_")); //$NON-NLS-1$ = "Insert missing tags"
-		fCheckBoxInsertMissingTags.addSelectionListener(this);
-
-		// Quote attribute values
-		fCheckBoxQuoteAttrValues = new Button(composite, SWT.CHECK);
-		fCheckBoxQuoteAttrValues.setText(SSEUIPlugin.getResourceString("%Quote_attribute_values_UI_")); //$NON-NLS-1$ = "Quote attribute values"
-		fCheckBoxQuoteAttrValues.addSelectionListener(this);
-
-		// Format source
-		fCheckBoxFormatSource = new Button(composite, SWT.CHECK);
-		fCheckBoxFormatSource.setText(SSEUIPlugin.getResourceString("%Format_source_UI_")); //$NON-NLS-1$ = "Format source"
-		fCheckBoxFormatSource.addSelectionListener(this);
-
-		// Convert EOL code
-		fCheckBoxConvertEOLCodes = new Button(composite, SWT.CHECK);
-		fCheckBoxConvertEOLCodes.setText(SSEUIPlugin.getResourceString("%Convert_EOL_codes_UI_")); //$NON-NLS-1$ = "Convert end-of-line codes"
-		fCheckBoxConvertEOLCodes.addSelectionListener(this);
-		Composite EOLCodes = new Composite(composite, SWT.NULL);
-		GridLayout hLayout = new GridLayout();
-		hLayout.numColumns = 3;
-		EOLCodes.setLayout(hLayout);
-		fRadioButtonConvertEOLWindows = new Button(EOLCodes, SWT.RADIO);
-		fRadioButtonConvertEOLWindows.setText(SSEUIPlugin.getResourceString("%EOL_Windows_UI")); //$NON-NLS-1$ = "Windows"
-		fRadioButtonConvertEOLWindows.addSelectionListener(this);
-		fRadioButtonConvertEOLUnix = new Button(EOLCodes, SWT.RADIO);
-		fRadioButtonConvertEOLUnix.setText(SSEUIPlugin.getResourceString("%EOL_Unix_UI")); //$NON-NLS-1$ = "Unix"
-		fRadioButtonConvertEOLUnix.addSelectionListener(this);
-		fRadioButtonConvertEOLMac = new Button(EOLCodes, SWT.RADIO);
-		fRadioButtonConvertEOLMac.setText(SSEUIPlugin.getResourceString("%EOL_Mac_UI")); //$NON-NLS-1$ = "Mac"
-		fRadioButtonConvertEOLMac.addSelectionListener(this);
-	}
-
-	protected void enableEOLCodeRadios(boolean enable) {
-
-		if ((fRadioButtonConvertEOLWindows != null) && (fRadioButtonConvertEOLUnix != null) && (fRadioButtonConvertEOLMac != null)) {
-			fRadioButtonConvertEOLWindows.setEnabled(enable);
-			fRadioButtonConvertEOLUnix.setEnabled(enable);
-			fRadioButtonConvertEOLMac.setEnabled(enable);
-			if (!fRadioButtonConvertEOLWindows.getSelection() && !fRadioButtonConvertEOLUnix.getSelection() && !fRadioButtonConvertEOLMac.getSelection())
-				fRadioButtonConvertEOLWindows.setSelection(true);
-		}
-	}
-
-	protected Preferences getModelPreferences() {
-		return XMLCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	protected void initializeOptions() {
-
-		fCheckBoxCompressEmptyElementTags.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS));
-		fCheckBoxInsertRequiredAttrs.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS));
-		fCheckBoxInsertMissingTags.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INSERT_MISSING_TAGS));
-		fCheckBoxQuoteAttrValues.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.QUOTE_ATTR_VALUES));
-		fCheckBoxFormatSource.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.FORMAT_SOURCE));
-		fCheckBoxConvertEOLCodes.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.CONVERT_EOL_CODES));
-		String EOLCode = getModelPreferences().getString(CommonModelPreferenceNames.CLEANUP_EOL_CODE);
-		if (EOLCode.compareTo(CommonEncodingPreferenceNames.LF) == 0)
-			fRadioButtonConvertEOLUnix.setSelection(true);
-		else if (EOLCode.compareTo(CommonEncodingPreferenceNames.CR) == 0)
-			fRadioButtonConvertEOLMac.setSelection(true);
-		else
-			fRadioButtonConvertEOLWindows.setSelection(true);
-		enableEOLCodeRadios(fCheckBoxConvertEOLCodes.getSelection());
-	}
-
-	protected void okPressed() {
-
-		storeOptions();
-		super.okPressed();
-	}
-
-	public void setModel(IStructuredModel model) {
-
-		fModel = model;
-	}
-
-	protected void storeOptions() {
-
-		getModelPreferences().setValue(CommonModelPreferenceNames.COMPRESS_EMPTY_ELEMENT_TAGS, fCheckBoxCompressEmptyElementTags.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.INSERT_REQUIRED_ATTRS, fCheckBoxInsertRequiredAttrs.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.INSERT_MISSING_TAGS, fCheckBoxInsertMissingTags.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.QUOTE_ATTR_VALUES, fCheckBoxQuoteAttrValues.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.FORMAT_SOURCE, fCheckBoxFormatSource.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.CONVERT_EOL_CODES, fCheckBoxConvertEOLCodes.getSelection());
-		if (fRadioButtonConvertEOLUnix.getSelection()) {
-			getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.LF);
-		} else if (fRadioButtonConvertEOLMac.getSelection()) {
-			getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CR);
-		} else {
-			getModelPreferences().setValue(CommonModelPreferenceNames.CLEANUP_EOL_CODE, CommonEncodingPreferenceNames.CRLF);
-		}
-		// explicitly save plugin preferences so values are stored
-		XMLCorePlugin.getDefault().savePluginPreferences();
-	}
-
-	public void widgetDefaultSelected(SelectionEvent e) {
-
-		widgetSelected(e);
-	}
-
-	public void widgetSelected(SelectionEvent e) {
-
-		getButton(OK).setEnabled((fRadioButtonTagNameCaseLower != null && (fRadioButtonTagNameCaseLower.getSelection() || fRadioButtonTagNameCaseUpper.getSelection())) || (fRadioButtonAttrNameCaseLower != null && (fRadioButtonAttrNameCaseLower.getSelection() || fRadioButtonAttrNameCaseUpper.getSelection())) || fCheckBoxInsertMissingTags.getSelection() || fCheckBoxQuoteAttrValues.getSelection() || fCheckBoxFormatSource.getSelection() || fCheckBoxConvertEOLCodes.getSelection() || (fRadioButtonConvertEOLUnix != null && (fRadioButtonConvertEOLUnix.getSelection() || fRadioButtonConvertEOLMac.getSelection() || fRadioButtonConvertEOLWindows.getSelection())));
-		if (e.widget == fCheckBoxConvertEOLCodes)
-			enableEOLCodeRadios(fCheckBoxConvertEOLCodes.getSelection());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CommentActionXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CommentActionXML.java
deleted file mode 100644
index 66888cd..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CommentActionXML.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public class CommentActionXML extends TextEditorAction {
-	protected static final String CLOSE_COMMENT = "-->"; //$NON-NLS-1$
-	protected static final String OPEN_COMMENT = "<!--"; //$NON-NLS-1$
-
-	protected IDocument fDocument;
-	protected IStructuredModel fModel;
-	protected ITextSelection fSelection;
-	protected int fSelectionEndLine;
-	protected int fSelectionEndLineOffset;
-	protected int fSelectionEndOffset;
-	protected Position fSelectionPosition;
-	protected int fSelectionStartLine;
-	protected int fSelectionStartLineOffset;
-	protected int fSelectionStartOffset;
-	protected boolean fUpdateSelection;
-
-
-	public CommentActionXML(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected void comment(int openCommentOffset, int closeCommentOffset) {
-		try {
-			fDocument.replace(openCommentOffset, 0, OPEN_COMMENT);
-			fDocument.replace(closeCommentOffset, 0, CLOSE_COMMENT);
-			removeOpenCloseComments(openCommentOffset + OPEN_COMMENT.length(), closeCommentOffset - openCommentOffset - CLOSE_COMMENT.length());
-		}
-		catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException();
-		}
-	}
-
-	/**
-	 * Release the current model
-	 */
-	void done() {
-		if (fModel != null) {
-			fModel.releaseFromEdit();
-			fModel = null;
-		}
-	}
-
-	protected ITextSelection getCurrentSelection() {
-		ITextEditor editor = getTextEditor();
-		if (editor != null) {
-			ISelectionProvider provider = editor.getSelectionProvider();
-			if (provider != null) {
-				ISelection selection = provider.getSelection();
-				if (selection instanceof ITextSelection)
-					return (ITextSelection) selection;
-			}
-		}
-		return TextSelection.emptySelection();
-	}
-
-	protected void init() {
-		ITextEditor editor = getTextEditor();
-		if (editor == null)
-			return;
-
-		IDocumentProvider docProvider = editor.getDocumentProvider();
-
-		IEditorInput input = editor.getEditorInput();
-		if (input == null)
-			return;
-
-		fDocument = docProvider.getDocument(input);
-		if (fDocument == null)
-			return;
-
-		IModelManager modelManager = StructuredModelManager.getModelManager();
-		fModel = modelManager.getExistingModelForEdit(fDocument);
-		if (fModel == null)
-			return;
-
-		fSelection = getCurrentSelection();
-		if (fSelection.isEmpty())
-			return;
-
-		fSelectionStartOffset = fSelection.getOffset();
-		fSelectionEndOffset = fSelectionStartOffset + fSelection.getLength();
-
-		// add selection position to document
-		fSelectionPosition = new Position(fSelection.getOffset(), fSelection.getLength());
-		try {
-			fDocument.addPosition(fSelectionPosition);
-		}
-		catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException();
-		}
-
-		try {
-			fSelectionStartLine = fDocument.getLineOfOffset(fSelectionStartOffset);
-			fSelectionEndLine = fDocument.getLineOfOffset(fSelectionEndOffset);
-			fSelectionStartLineOffset = fDocument.getLineOffset(fSelectionStartLine);
-			fSelectionEndLineOffset = fDocument.getLineOffset(fSelectionEndLine);
-		}
-		catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException();
-		}
-
-		// adjust selection end line
-		if (fSelectionEndLine > fSelectionStartLine && fSelectionEndLineOffset == fSelectionEndOffset)
-			fSelectionEndLine--;
-	}
-
-	protected boolean isCommentLine(int line) {
-		try {
-			IRegion region = fDocument.getLineInformation(line);
-			String string = fDocument.get(region.getOffset(), region.getLength()).trim();
-			return string.length() >= OPEN_COMMENT.length() + CLOSE_COMMENT.length() && string.startsWith(OPEN_COMMENT) && string.endsWith(CLOSE_COMMENT);
-		}
-		catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException();
-		}
-	}
-
-	protected void prepareSelection() {
-		fUpdateSelection = fSelection.getLength() > 0 && fSelectionStartLineOffset == fSelectionStartOffset && !isCommentLine(fSelectionStartLine);
-	}
-
-	protected void processAction() {
-		fModel.beginRecording(this, SSEUIPlugin.getResourceString(StructuredTextEditorActionConstants.ACTION_NAME_COMMENT + ".tooltip")); //$NON-NLS-1$
-		fModel.aboutToChangeModel();
-
-		for (int i = fSelectionStartLine; i <= fSelectionEndLine; i++) {
-			try {
-				if (fDocument.getLineLength(i) > 0 && !isCommentLine(i)) {
-					int openCommentOffset = fDocument.getLineOffset(i);
-					int lineDelimiterLength = fDocument.getLineDelimiter(i) == null ? 0 : fDocument.getLineDelimiter(i).length();
-					int closeCommentOffset = openCommentOffset + fDocument.getLineLength(i) - lineDelimiterLength + OPEN_COMMENT.length();
-					comment(openCommentOffset, closeCommentOffset);
-				}
-			}
-			catch (BadLocationException e) {
-				throw new SourceEditingRuntimeException();
-			}
-		}
-
-		fModel.changedModel();
-		fModel.endRecording(this);
-	}
-
-	protected void removeOpenCloseComments(int offset, int length) {
-		try {
-			int adjusted_length = length;
-
-			// remove open comments
-			String string = fDocument.get(offset, length);
-			int index = string.lastIndexOf(OPEN_COMMENT);
-			while (index != -1) {
-				fDocument.replace(offset + index, OPEN_COMMENT.length(), ""); //$NON-NLS-1$
-				index = string.lastIndexOf(OPEN_COMMENT, index - 1);
-				adjusted_length -= OPEN_COMMENT.length();
-			}
-
-			// remove close comments
-			string = fDocument.get(offset, adjusted_length);
-			index = string.lastIndexOf(CLOSE_COMMENT);
-			while (index != -1) {
-				fDocument.replace(offset + index, CLOSE_COMMENT.length(), ""); //$NON-NLS-1$
-				index = string.lastIndexOf(CLOSE_COMMENT, index - 1);
-			}
-		}
-		catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException();
-		}
-	}
-
-	public void run() {
-		init();
-		prepareSelection();
-		processAction();
-		updateSelection();
-		done();
-	}
-
-
-	protected void setCurrentSelection(ITextSelection selection) {
-		ITextEditor editor = getTextEditor();
-		if (editor != null) {
-			ISelectionProvider provider = editor.getSelectionProvider();
-			if (provider != null) {
-				provider.setSelection(selection);
-			}
-		}
-	}
-
-	protected void updateSelection() {
-		if (fUpdateSelection) {
-			ITextSelection selection = new TextSelection(fDocument, fSelectionPosition.getOffset() - OPEN_COMMENT.length(), fSelectionPosition.getLength() + OPEN_COMMENT.length());
-			setCurrentSelection(selection);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditAttributeAction.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditAttributeAction.java
deleted file mode 100644
index ffc4d88..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditAttributeAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.ui.dialogs.EditAttributeDialog;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class EditAttributeAction extends NodeAction {
-	protected static ImageDescriptor imageDescriptor;
-
-	public static ImageDescriptor createImageDescriptor() {
-		if (imageDescriptor == null) {
-			imageDescriptor = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE);
-		}
-		return imageDescriptor;
-	}
-
-	protected Attr attr;
-	protected AbstractNodeActionManager manager;
-	protected Element ownerElement;
-	protected String title;
-
-	public EditAttributeAction(AbstractNodeActionManager manager, Element ownerElement, Attr attr, String actionLabel, String title) {
-		this.manager = manager;
-		this.ownerElement = ownerElement;
-		this.attr = attr;
-		this.title = title;
-		setText(actionLabel);
-		// assume if attr is null then this is an 'Add' that requires action
-		// an icons... otherwise this is an edit
-		if (attr == null) {
-			setImageDescriptor(createImageDescriptor());
-		}
-	}
-
-	public String getUndoDescription() {
-		return title;
-	}
-
-	public void run() {
-		manager.beginNodeAction(this);
-		Shell shell = XMLUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		EditAttributeDialog dialog = new EditAttributeDialog(shell, ownerElement, attr);
-		dialog.create();
-		dialog.getShell().setText(title);
-		dialog.setBlockOnOpen(true);
-		dialog.open();
-
-		if (dialog.getReturnCode() == Window.OK) {
-			if (attr != null) {
-				ownerElement.removeAttributeNode(attr);
-			}
-			Document document = ownerElement.getOwnerDocument();
-			Attr newAttribute = document.createAttribute(dialog.getAttributeName());
-			newAttribute.setValue(dialog.getAttributeValue());
-			ownerElement.setAttributeNode(newAttribute);
-			manager.setViewerSelection(newAttribute);
-		}
-		manager.endNodeAction(this);
-	}
-}
-
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditDoctypeAction.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditDoctypeAction.java
deleted file mode 100644
index 2c669c5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditDoctypeAction.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLDocumentType;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xml.ui.dialogs.EditDoctypeDialog;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * EditDoctypeAction
- */
-public class EditDoctypeAction extends Action {
-	protected DocumentType doctype;
-	protected Document document;
-	protected IStructuredModel model;
-	protected String resourceLocation;
-	protected String title;
-
-	/**
-	 * This constructor is used to create a new doctype.
-	 */
-	public EditDoctypeAction(IStructuredModel model, Document document, String resourceLocation, String title) {
-		setText(title);
-		this.model = model;
-		this.document = document;
-		this.resourceLocation = resourceLocation;
-		this.title = title;
-	}
-
-	/**
-	 * This constructor is used to edit an exisitng doctype.
-	 */
-	public EditDoctypeAction(IStructuredModel model, DocumentType doctype, String resourceLocation, String title) {
-		setText(title);
-		this.model = model;
-		this.doctype = doctype;
-		this.resourceLocation = resourceLocation;
-		this.title = title;
-	}
-
-
-	protected DocumentType createDoctype(EditDoctypeDialog dialog, Document document) {
-		DocumentType result = null;
-		if (document instanceof DocumentImpl) {
-			XMLDocument documentImpl = (XMLDocument) document;
-			XMLDocumentType doctypeImpl = (XMLDocumentType) documentImpl.createDoctype(dialog.getName());
-			doctypeImpl.setPublicId(dialog.getPublicId());
-			doctypeImpl.setSystemId(dialog.getSystemId());
-			result = doctypeImpl;
-		}
-		return result;
-	}
-
-	private Display getDisplay() {
-
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-
-	protected String getRootElementName(Document document) {
-		Element rootElement = null;
-		NodeList nodeList = document.getChildNodes();
-		int nodeListLength = nodeList.getLength();
-		for (int i = 0; i < nodeListLength; i++) {
-			Node childNode = nodeList.item(i);
-			if (childNode.getNodeType() == Node.ELEMENT_NODE) {
-				rootElement = (Element) childNode;
-				break;
-			}
-		}
-		return rootElement != null ? rootElement.getNodeName() : XMLUIPlugin.getResourceString("%_UI_LABEL_ROOT_ELEMENT_VALUE"); //$NON-NLS-1$
-	}
-
-	public String getUndoDescription() {
-		return title;
-	}
-
-
-	protected void insertDoctype(DocumentType doctype, Document document) {
-		Node refChild = null;
-		NodeList nodeList = document.getChildNodes();
-		int nodeListLength = nodeList.getLength();
-		for (int i = 0; i < nodeListLength; i++) {
-			Node childNode = nodeList.item(i);
-			if (childNode.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE || childNode.getNodeType() == Node.COMMENT_NODE) {
-				// continue on to the nextNode
-			} else {
-				refChild = childNode;
-				break;
-			}
-		}
-
-		document.insertBefore(doctype, refChild);
-		//manager.reformat(doctype, false);
-	}
-
-	public void run() {
-		model.beginRecording(this, getUndoDescription());
-		//Shell shell =
-		// XMLCommonUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		Shell shell = getDisplay().getActiveShell();
-		EditDoctypeDialog dialog = showEditDoctypeDialog(shell);
-
-		if (dialog.getReturnCode() == Window.OK) {
-			if (doctype != null) {
-				updateDoctype(dialog, doctype);
-			} else if (document != null) {
-				DocumentType doctype = createDoctype(dialog, document);
-				if (doctype != null) {
-					insertDoctype(doctype, document);
-				}
-			}
-		}
-		model.endRecording(this);
-	}
-
-	protected EditDoctypeDialog showEditDoctypeDialog(Shell shell) {
-		EditDoctypeDialog dialog = null;
-
-		if (doctype != null) {
-			dialog = new EditDoctypeDialog(shell, doctype);
-			if (title == null) {
-				title = XMLUIPlugin.getResourceString("%_UI_LABEL_EDIT_DOCTYPE"); //$NON-NLS-1$
-			}
-		} else if (document != null) {
-			String rootElementName = getRootElementName(document);
-			dialog = new EditDoctypeDialog(shell, rootElementName, "", rootElementName + ".dtd"); //$NON-NLS-1$ //$NON-NLS-2$
-			if (title == null) {
-				title = XMLUIPlugin.getResourceString("%_UI_MENU_ADD_DTD_INFORMATION_TITLE"); //$NON-NLS-1$
-			}
-		}
-
-		dialog.setComputeSystemId(doctype == null || doctype.getSystemId() == null || doctype.getSystemId().trim().length() == 0);
-
-		dialog.setErrorChecking(false);//!model.getType().equals(IStructuredModel.HTML));
-		dialog.create();
-		dialog.getShell().setText(title);
-		dialog.setBlockOnOpen(true);
-		dialog.setResourceLocation(new Path(resourceLocation));
-		dialog.open();
-
-		return dialog;
-	}
-
-
-	protected void updateDoctype(EditDoctypeDialog dialog, DocumentType doctype) {
-		if (doctype instanceof XMLDocumentType) {
-			XMLDocumentType doctypeImpl = (XMLDocumentType) doctype;
-			if (doctypeImpl.getName().equals(dialog.getName())) {
-				doctypeImpl.setPublicId(dialog.getPublicId());
-				doctypeImpl.setSystemId(dialog.getSystemId());
-			} else {
-				// we need to create a new one and remove the old
-				//                  
-				Document document = doctype.getOwnerDocument();
-				DocumentType newDoctype = createDoctype(dialog, document);
-				document.insertBefore(newDoctype, doctype);
-				document.removeChild(doctype);
-				//manager.reformat(newDoctype, false);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditElementAction.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditElementAction.java
deleted file mode 100644
index a3507d8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditElementAction.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.ui.dialogs.EditElementDialog;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class EditElementAction extends NodeAction {
-
-	protected static ImageDescriptor imageDescriptor;
-
-	public static ImageDescriptor createImageDescriptor() {
-		if (imageDescriptor == null) {
-			imageDescriptor = XMLEditorPluginImageHelper.getInstance().getImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ELEMENT);
-		}
-		return imageDescriptor;
-	}
-
-	protected Element element;
-	protected int insertionIndex = -1;
-	protected AbstractNodeActionManager manager;
-	protected Node parent;
-	protected String title;
-
-	public EditElementAction(AbstractNodeActionManager manager, Element element, String actionLabel, String dialogTitle) {
-		this(manager, element.getParentNode(), -1, element, actionLabel, dialogTitle);
-	}
-
-	protected EditElementAction(AbstractNodeActionManager manager, Node parent, int index, Element element, String actionLabel, String title) {
-		this.manager = manager;
-		this.parent = parent;
-		this.insertionIndex = index;
-		this.element = element;
-		this.title = title;
-		setText(actionLabel);
-		if (element == null) {
-			setImageDescriptor(createImageDescriptor());
-		}
-	}
-
-	public EditElementAction(AbstractNodeActionManager manager, Node parent, int index, String actionLabel, String title) {
-		this(manager, parent, index, null, actionLabel, title);
-	}
-
-	public String getUndoDescription() {
-		return title;
-	}
-
-	public void run() {
-		manager.beginNodeAction(this);
-		Shell shell = XMLUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		EditElementDialog dialog = new EditElementDialog(shell, element);
-		dialog.create();
-		dialog.getShell().setText(title);
-		dialog.setBlockOnOpen(true);
-		dialog.open();
-
-		if (dialog.getReturnCode() == Window.OK) {
-			Document document = parent.getNodeType() == Node.DOCUMENT_NODE ? (Document) parent : parent.getOwnerDocument();
-			if (element != null) {
-				// here we need to do a rename... which seems to be quite hard
-				// to do :-(
-				if (element instanceof XMLElement) {
-					XMLElement elementImpl = (XMLElement) element;
-					XMLModel model = elementImpl.getModel();
-					String oldName = elementImpl.getNodeName();
-					String newName = dialog.getElementName();
-					setStructuredDocumentRegionElementName(model, elementImpl.getStartStructuredDocumentRegion(), oldName, newName);
-					setStructuredDocumentRegionElementName(model, elementImpl.getEndStructuredDocumentRegion(), oldName, newName);
-				}
-			} else {
-				Element newElement = document.createElement(dialog.getElementName());
-				NodeList nodeList = parent.getChildNodes();
-				int nodeListLength = nodeList.getLength();
-				Node refChild = insertionIndex < nodeListLength && insertionIndex >= 0 ? nodeList.item(insertionIndex) : null;
-				parent.insertBefore(newElement, refChild);
-				manager.reformat(newElement, false);
-				manager.setViewerSelection(newElement);
-			}
-		}
-		manager.endNodeAction(this);
-	}
-
-	protected void setStructuredDocumentRegionElementName(XMLModel model, IStructuredDocumentRegion flatNode, String oldName, String newName) {
-		if (flatNode != null) {
-			String string = flatNode.getText();
-			int index = string.indexOf(oldName);
-			if (index != -1) {
-				index += flatNode.getStart();
-				model.getStructuredDocument().replaceText(this, index, oldName.length(), newName);
-			}
-		}
-	}
-}
-
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditProcessingInstructionAction.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditProcessingInstructionAction.java
deleted file mode 100644
index b8c118b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditProcessingInstructionAction.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.ui.dialogs.EditProcessingInstructionDialog;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-
-/**
- * EditProcessingInstructionAction
- */
-public class EditProcessingInstructionAction extends NodeAction {
-	protected Node childRef;
-	protected AbstractNodeActionManager manager;
-	protected Node parent;
-	protected ProcessingInstruction pi;
-	protected String title;
-
-	/**
-	 * This constructor is used to add a new ProcessingInstruction
-	 */
-	public EditProcessingInstructionAction(AbstractNodeActionManager manager, Node parent, Node childRef, String actionLabel, String title) {
-		setText(actionLabel);
-		this.manager = manager;
-		this.parent = parent;
-		this.childRef = childRef;
-		this.title = title;
-	}
-
-	/**
-	 * This constructor is used to edit a ProcessingInstruction
-	 */
-	public EditProcessingInstructionAction(AbstractNodeActionManager manager, ProcessingInstruction pi, String actionLabel, String title) {
-		setText(actionLabel);
-		this.manager = manager;
-		this.pi = pi;
-		this.parent = pi.getParentNode();
-		this.title = title;
-	}
-
-	public String getUndoDescription() {
-		return title;
-	}
-
-	public void run() {
-		manager.beginNodeAction(this);
-		Shell shell = XMLUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-
-		EditProcessingInstructionDialog dialog = null;
-		if (pi != null) {
-			dialog = new EditProcessingInstructionDialog(shell, pi);
-		} else {
-			dialog = new EditProcessingInstructionDialog(shell, XMLUIPlugin.getResourceString("%_UI_PI_TARGET_VALUE"), XMLUIPlugin.getResourceString("%_UI_PI_DATA_VALUE")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		dialog.create();
-		dialog.getShell().setText(title);
-		dialog.setBlockOnOpen(true);
-		dialog.open();
-
-		if (dialog.getReturnCode() == Window.OK) {
-			if (pi != null) {
-				childRef = pi;
-			}
-
-			Document document = parent.getNodeType() == Node.DOCUMENT_NODE ? (Document) parent : parent.getOwnerDocument();
-			Node newNode = document.createProcessingInstruction(dialog.getTarget(), dialog.getData());
-			parent.insertBefore(newNode, childRef);
-
-			if (pi != null) {
-				parent.removeChild(pi);
-			}
-
-			manager.reformat(newNode, false);
-			manager.setViewerSelection(newNode);
-		}
-		manager.endNodeAction(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditSchemaInfoAction.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditSchemaInfoAction.java
deleted file mode 100644
index db9d410..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditSchemaInfoAction.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceInfoManager;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.ui.dialogs.EditSchemaInfoDialog;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * EditDoctypeAction
- */
-public class EditSchemaInfoAction extends NodeAction {
-	protected AbstractNodeActionManager manager;
-	protected DOMNamespaceInfoManager namespaceInfoManager = new DOMNamespaceInfoManager();
-	protected Node node;
-	protected String resourceLocation;
-	protected String title;
-
-	public EditSchemaInfoAction(AbstractNodeActionManager manager, Node node, String resourceLocation, String title) {
-		this.manager = manager;
-		this.node = node;
-		setText(title);
-		this.resourceLocation = resourceLocation;
-		this.title = title;
-	}
-
-	protected Map createPrefixMapping(List oldList, List newList) {
-		Map map = new Hashtable();
-
-		Hashtable oldURIToPrefixTable = new Hashtable();
-		for (Iterator i = oldList.iterator(); i.hasNext();) {
-			NamespaceInfo oldInfo = (NamespaceInfo) i.next();
-			oldURIToPrefixTable.put(oldInfo.uri, oldInfo);
-		}
-
-		for (Iterator i = newList.iterator(); i.hasNext();) {
-			NamespaceInfo newInfo = (NamespaceInfo) i.next();
-			NamespaceInfo oldInfo = (NamespaceInfo) oldURIToPrefixTable.get(newInfo.uri != null ? newInfo.uri : ""); //$NON-NLS-1$
-
-
-			// if oldInfo is non null ... there's a matching URI in the old
-			// set
-			// we can use its prefix to detemine out mapping
-			//
-			// if oldInfo is null ... we use the 'oldCopy' we stashed away
-			// assuming that the user changed the URI and the prefix
-			if (oldInfo == null) {
-				oldInfo = (NamespaceInfo) newInfo.getProperty("oldCopy"); //$NON-NLS-1$
-			}
-
-			if (oldInfo != null) {
-				String newPrefix = newInfo.prefix != null ? newInfo.prefix : ""; //$NON-NLS-1$
-				String oldPrefix = oldInfo.prefix != null ? oldInfo.prefix : ""; //$NON-NLS-1$
-				if (!oldPrefix.equals(newPrefix)) {
-					map.put(oldPrefix, newPrefix);
-				}
-			}
-		}
-		return map;
-	}
-
-	public Element getElement(Node node) {
-		Element result = null;
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			result = (Element) node;
-		} else if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			result = getRootElement((Document) node);
-		}
-		return result;
-	}
-
-
-	public Element getRootElement(Document document) {
-		Element rootElement = null;
-		NodeList nodeList = document.getChildNodes();
-		int nodeListLength = nodeList.getLength();
-		for (int i = 0; i < nodeListLength; i++) {
-			Node childNode = nodeList.item(i);
-			if (childNode.getNodeType() == Node.ELEMENT_NODE) {
-				rootElement = (Element) childNode;
-				break;
-			}
-		}
-		return rootElement;
-	}
-
-	public String getUndoDescription() {
-		return title;
-	}
-
-	public void run() {
-		manager.beginNodeAction(this);
-
-		// todo... change constructor to take an element
-		Element element = getElement(node);
-		if (element != null) {
-			Shell shell = XMLUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-			EditSchemaInfoDialog dialog = new EditSchemaInfoDialog(shell, new Path(resourceLocation));
-
-			List namespaceInfoList = namespaceInfoManager.getNamespaceInfoList(element);
-			List oldNamespaceInfoList = NamespaceInfo.cloneNamespaceInfoList(namespaceInfoList);
-
-			// here we store a copy of the old info for each NamespaceInfo
-			// this info will be used in createPrefixMapping() to figure out
-			// how to update the document
-			// in response to these changes
-			for (Iterator i = namespaceInfoList.iterator(); i.hasNext();) {
-				NamespaceInfo info = (NamespaceInfo) i.next();
-				NamespaceInfo oldCopy = new NamespaceInfo(info);
-				info.setProperty("oldCopy", oldCopy); //$NON-NLS-1$
-			}
-
-			dialog.setNamespaceInfoList(namespaceInfoList);
-			dialog.create();
-			//dialog.getShell().setSize(500, 300);
-			dialog.getShell().setText(XMLUIPlugin.getResourceString("%_UI_MENU_EDIT_SCHEMA_INFORMATION_TITLE")); //$NON-NLS-1$
-			dialog.setBlockOnOpen(true);
-			dialog.open();
-
-			if (dialog.getReturnCode() == Window.OK) {
-				List newInfoList = dialog.getNamespaceInfoList();
-				namespaceInfoManager.removeNamespaceInfo(element);
-				namespaceInfoManager.addNamespaceInfo(element, newInfoList, true);
-
-				// see if we need to rename any prefixes
-				Map prefixMapping = createPrefixMapping(oldNamespaceInfoList, namespaceInfoList);
-				if (prefixMapping.size() > 0) {
-					try {
-						manager.getModel().aboutToChangeModel();
-						ReplacePrefixAction replacePrefixAction = new ReplacePrefixAction(manager, element, prefixMapping);
-						replacePrefixAction.run();
-					} finally {
-						manager.getModel().changedModel();
-					}
-				}
-			}
-		}
-		manager.endNodeAction(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/MenuBuilder.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/MenuBuilder.java
deleted file mode 100644
index 0403f88..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/MenuBuilder.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.xml.ui.actions;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-
-
-public class MenuBuilder {
-
-
-	protected Comparator comparator = new Comparator() {
-
-		public int compare(Object o1, Object o2) {
-			return Collator.getInstance().compare(getSortKey(o1), getSortKey(o2));
-		}
-
-		protected String getSortKey(Object o) {
-			String result = ""; //$NON-NLS-1$
-			if (o instanceof IAction) {
-				IAction action = (IAction) o;
-				result = action.getText();
-			}
-			//else if (o instanceof MenuData)
-			//{
-			//  result = "z" + ((MenuData)o).name;
-			//}
-			return result;
-		}
-	};
-
-
-	protected void createAlphebeticalGrouping(IMenuManager menu, List actionList) {
-		Object[] array = actionList.toArray();
-		if (array.length > 0) {
-			Arrays.sort(array, comparator);
-		}
-
-		int groupSize = 15;
-		int minGroupSize = 5;
-		int numberOfGroups = (array.length / groupSize) + ((array.length % groupSize > minGroupSize) ? 1 : 0);
-
-		for (int i = 0; i < numberOfGroups; i++) {
-			boolean isLastGroup = (i == (numberOfGroups - 1));
-			int firstIndex = i * groupSize;
-			int lastIndex = isLastGroup ? array.length - 1 : i * groupSize + groupSize - 1;
-			Action firstAction = (Action) array[firstIndex];
-			Action lastAction = (Action) array[lastIndex];
-			MenuManager submenu = new MenuManager(firstAction.getText() + " - " + lastAction.getText()); //$NON-NLS-1$
-			menu.add(submenu);
-			for (int j = firstIndex; j <= lastIndex; j++) {
-				submenu.add((Action) array[j]);
-			}
-		}
-	}
-
-
-	public void populateMenu(IMenuManager menu, List actionList, boolean createTiered) {
-		// sort the actions
-		if (actionList.size() < 25) {
-			Object[] array = actionList.toArray();
-			if (array.length > 0) {
-				Arrays.sort(array, comparator);
-			}
-			for (int i = 0; i < array.length; i++) {
-				menu.add((Action) array[i]);
-			}
-		} else {
-			createAlphebeticalGrouping(menu, actionList);
-		}
-	}
-
-	/*
-	 * protected void createPropertyGrouping(IMenuManager menu, List
-	 * actionList) { MenuDataTable menuDataTable = new MenuDataTable();
-	 * 
-	 * for (Iterator i = actionList.iterator(); i.hasNext(); ) { String
-	 * groupName = null; Action action = (Action)i.next(); if (action
-	 * instanceof NodeAction) { groupName =
-	 * ((NodeAction)action).getGroupName(); } if (groupName == null) {
-	 * groupName = ""; } MenuData menuData =
-	 * menuDataTable.lookupOrCreate(groupName, "");
-	 * menuData.childList.add(action); } populateMenu(menu,
-	 * menuDataTable.getRoot()); }
-	 * 
-	 * 
-	 * protected void populateMenu(MenuManager menuManager, MenuData menuData) {
-	 * for (Iterator i = menuData.childList.iterator(); i.hasNext(); ) {
-	 * Object o = i.next(); if (o instanceof Action) {
-	 * menuManager.add((Action)o); } else if (o instanceof MenuData) {
-	 * MenuData childMenuData = (MenuData)o; MenuManager childMenuManager =
-	 * new MenuManager(childMenuData.name); menuManager.add(childMenuManager);
-	 * populateMenu(childMenuManager, childMenuData); } } }
-	 * 
-	 * 
-	 * public MenuDataTable { protected Hashtable table = new Hashtable();
-	 * protected MenuData root;
-	 * 
-	 * public MenuDataTable() { root = lookupOrCreateMenuData(null, null); }
-	 * 
-	 * protected MenuData lookupMenuData(String name) { String key = name !=
-	 * null ? name : ""; return (MenuData)menuDataTable.get(key); }
-	 * 
-	 * protected MenuData lookupOrCreateMenuData(String name, String
-	 * parentName) { String key = name != null ? name : ""; MenuData menuData =
-	 * (MenuData)menuDataTable.get(key); if (menuData == null) { menuData =
-	 * new MenuData(name, parentName); menuDataTable.put(key, menuData); }
-	 * return menuData; }
-	 * 
-	 * public MenuData getRoot() { return root; } }
-	 * 
-	 * 
-	 * protected class MenuData { public String name; public String
-	 * parentName; public List childList = new Vector();
-	 * 
-	 * MenuData(String name, String parentName) { this.name = name;
-	 * this.parentName = parentName; }
-	 * 
-	 * protected void sort() { Object[] array = childList.toArray(); if
-	 * (array.length > 0 ) { Arrays.sort(array, comparator); } childList =
-	 * Arrays.asList(array);
-	 * 
-	 * for (Iterator i = childList.iterator(); i.hasNext(); ) { Object o =
-	 * i.next(); if (o instanceof MenuData) { ((MenuData)o).sort(); } } } }
-	 */
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/NodeAction.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/NodeAction.java
deleted file mode 100644
index ff91cdd..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/NodeAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.xml.ui.actions;
-
-import org.eclipse.jface.action.Action;
-
-public abstract class NodeAction extends Action {
-
-	public String getSortKey() {
-		return null;
-	}
-
-	public abstract String getUndoDescription();
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/RemoveBlockCommentActionXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/RemoveBlockCommentActionXML.java
deleted file mode 100644
index 1030cdc..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/RemoveBlockCommentActionXML.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.xml.core.internal.document.CommentImpl;
-
-public class RemoveBlockCommentActionXML extends AddBlockCommentActionXML {
-	public RemoveBlockCommentActionXML(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected void init() {
-		super.init();
-
-		fCloseCommentOffset = fSelectionEndIndexedRegion.getEndOffset() - OPEN_COMMENT.length() - CLOSE_COMMENT.length();
-	}
-
-	protected void processAction() {
-		fModel.beginRecording(this, SSEUIPlugin.getResourceString(StructuredTextEditorActionConstants.ACTION_NAME_REMOVE_BLOCK_COMMENT + ".tooltip")); //$NON-NLS-1$
-		fModel.aboutToChangeModel();
-
-		if (fSelection.getLength() == 0) {
-			if (fSelectionStartIndexedRegion instanceof CommentImpl) {
-				try {
-					fDocument.replace(fOpenCommentOffset, OPEN_COMMENT.length(), ""); //$NON-NLS-1$
-					fDocument.replace(fCloseCommentOffset, CLOSE_COMMENT.length(), ""); //$NON-NLS-1$
-				} catch (BadLocationException e) {
-					throw new SourceEditingRuntimeException();
-				}
-			}
-		} else {
-			if (fSelectionStartIndexedRegion instanceof CommentImpl) {
-				try {
-					fDocument.replace(fOpenCommentOffset, OPEN_COMMENT.length(), ""); //$NON-NLS-1$
-				} catch (BadLocationException e) {
-					throw new SourceEditingRuntimeException();
-				}
-			}
-
-			if (fSelectionEndIndexedRegion instanceof CommentImpl) {
-				try {
-					fDocument.replace(fCloseCommentOffset, CLOSE_COMMENT.length(), ""); //$NON-NLS-1$
-				} catch (BadLocationException e) {
-					throw new SourceEditingRuntimeException();
-				}
-			}
-		}
-		removeOpenCloseComments(fOpenCommentOffset + OPEN_COMMENT.length(), fCloseCommentOffset - fOpenCommentOffset - CLOSE_COMMENT.length());
-
-		fModel.changedModel();
-		fModel.endRecording(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ReplacePrefixAction.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ReplacePrefixAction.java
deleted file mode 100644
index c94df41..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ReplacePrefixAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.common.contentmodel.util.DOMVisitor;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-
-public class ReplacePrefixAction extends NodeAction {
-
-	class NodeCollectingDOMVisitor extends DOMVisitor {
-		public List list = new Vector();
-
-		protected boolean isPrefixChangedNeeded(Node node) {
-			String key = node.getPrefix() != null ? node.getPrefix() : ""; //$NON-NLS-1$
-			return prefixMapping.get(key) != null;
-		}
-
-		public void visitAttr(Attr attr) {
-			/*
-			 * if (isPrefixChangedNeeded(element)) { list.add(attr); }
-			 */
-		}
-
-		protected void visitElement(Element element) {
-			super.visitElement(element);
-			if (isPrefixChangedNeeded(element)) {
-				list.add(element);
-			}
-		}
-	}
-
-	protected static ImageDescriptor imageDescriptor;
-	protected Element element;
-	protected AbstractNodeActionManager manager;
-	protected Map prefixMapping;
-
-	public ReplacePrefixAction(AbstractNodeActionManager manager, Element element, Map prefixMapping) {
-		this.manager = manager;
-		this.element = element;
-		this.prefixMapping = prefixMapping;
-	}
-
-	public String getUndoDescription() {
-		return ""; //$NON-NLS-1$
-	}
-
-	public void run() {
-		NodeCollectingDOMVisitor visitor = new NodeCollectingDOMVisitor();
-		visitor.visitNode(element);
-		for (Iterator i = visitor.list.iterator(); i.hasNext();) {
-			Node node = (Node) i.next();
-			String key = node.getPrefix() != null ? node.getPrefix() : ""; //$NON-NLS-1$
-			String newPrefix = (String) prefixMapping.get(key);
-			if (newPrefix != null) {
-				node.setPrefix(newPrefix);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ToggleCommentActionXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ToggleCommentActionXML.java
deleted file mode 100644
index 451d4ed..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ToggleCommentActionXML.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public class ToggleCommentActionXML extends UncommentActionXML {
-	public ToggleCommentActionXML(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected void processAction() {
-		fModel.beginRecording(this, SSEUIPlugin.getResourceString(StructuredTextEditorActionConstants.ACTION_NAME_COMMENT + ".tooltip")); //$NON-NLS-1$
-		fModel.aboutToChangeModel();
-
-		for (int i = fSelectionStartLine; i <= fSelectionEndLine; i++) {
-			try {
-				if (fDocument.getLineLength(i) > 0) {
-					if (isCommentLine(i)) {
-						int lineOffset = fDocument.getLineOffset(i);
-						IRegion region = fDocument.getLineInformation(i);
-						String string = fDocument.get(region.getOffset(), region.getLength());
-						int openCommentOffset = lineOffset + string.indexOf(OPEN_COMMENT);
-						int closeCommentOffset = lineOffset + string.indexOf(CLOSE_COMMENT) - OPEN_COMMENT.length();
-						uncomment(openCommentOffset, closeCommentOffset);
-					} else {
-						int openCommentOffset = fDocument.getLineOffset(i);
-						int lineDelimiterLength = fDocument.getLineDelimiter(i) == null ? 0 : fDocument.getLineDelimiter(i).length();
-						int closeCommentOffset = openCommentOffset + fDocument.getLineLength(i) - lineDelimiterLength + OPEN_COMMENT.length();
-						comment(openCommentOffset, closeCommentOffset);
-					}
-				}
-			} catch (BadLocationException e) {
-				throw new SourceEditingRuntimeException();
-			}
-		}
-
-		fModel.changedModel();
-		fModel.endRecording(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/UncommentActionXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/UncommentActionXML.java
deleted file mode 100644
index 02e440b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/UncommentActionXML.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.actions;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-public class UncommentActionXML extends CommentActionXML {
-	public UncommentActionXML(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected void processAction() {
-		fModel.beginRecording(this, SSEUIPlugin.getResourceString(StructuredTextEditorActionConstants.ACTION_NAME_COMMENT + ".tooltip")); //$NON-NLS-1$
-		fModel.aboutToChangeModel();
-
-		for (int i = fSelectionStartLine; i <= fSelectionEndLine; i++) {
-			try {
-				if (fDocument.getLineLength(i) > 0 && isCommentLine(i)) {
-					int lineOffset = fDocument.getLineOffset(i);
-					IRegion region = fDocument.getLineInformation(i);
-					String string = fDocument.get(region.getOffset(), region.getLength());
-					int openCommentOffset = lineOffset + string.indexOf(OPEN_COMMENT);
-					int closeCommentOffset = lineOffset + string.indexOf(CLOSE_COMMENT) - OPEN_COMMENT.length();
-					uncomment(openCommentOffset, closeCommentOffset);
-				}
-			} catch (BadLocationException e) {
-				throw new SourceEditingRuntimeException();
-			}
-		}
-
-		fModel.changedModel();
-		fModel.endRecording(this);
-	}
-
-	protected void uncomment(int openCommentOffset, int closeCommentOffset) {
-		try {
-			fDocument.replace(openCommentOffset, OPEN_COMMENT.length(), ""); //$NON-NLS-1$
-			fDocument.replace(closeCommentOffset, CLOSE_COMMENT.length(), ""); //$NON-NLS-1$
-		} catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractContentAssistProcessor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractContentAssistProcessor.java
deleted file mode 100644
index de1ab2b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractContentAssistProcessor.java
+++ /dev/null
@@ -1,2220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.Vector;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMEntityDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQueryAction;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.wst.common.encoding.ContentTypeEncodingPreferences;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.contenttype.ContentTypeIdForXML;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.document.AttrImpl;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.eclipse.wst.xml.ui.internal.editor.CMImageUtil;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.taginfo.MarkupTagInfoProvider;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeIds;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-abstract public class AbstractContentAssistProcessor implements IContentAssistProcessor, IReleasable {
-	protected static final String INTERNALERROR = SSEUIPlugin.getResourceString("%SEVERE_internal_error_occu_UI_"); //$NON-NLS-1$ = "SEVERE internal error occurred "
-	protected static final String UNKNOWN_ATTR = SSEUIPlugin.getResourceString("%No_known_attribute__UI_"); //$NON-NLS-1$ = "No known attribute "
-	protected static final String UNKNOWN_CONTEXT = SSEUIPlugin.getResourceString("%Content_Assist_not_availab_UI_"); //$NON-NLS-1$ = "Content Assist not available at the current location "
-	protected char completionProposalAutoActivationCharacters[] = null;
-	protected char contextInformationAutoActivationCharacters[] = null;
-	private AttributeContextInformationProvider fAttributeInfoProvider = null;
-	private AttributeContextInformationPresenter fContextInformationPresenter = null;
-
-	protected String fErrorMessage = null;
-	protected XMLContentModelGenerator fGenerator;
-	//protected IResource resource = null;
-	protected MarkupTagInfoProvider fInfoProvider = null;
-	protected ITextViewer fTextViewer = null;
-
-	protected List macroContexts = new ArrayList();
-
-	private final boolean showValues = true;
-
-	public AbstractContentAssistProcessor() {
-		super();
-		init();
-	}
-
-	protected void addAttributeNameProposals(ContentAssistRequest contentAssistRequest) {
-		XMLNode node = (XMLNode) contentAssistRequest.getNode();
-		IStructuredDocumentRegion sdRegion = contentAssistRequest.getDocumentRegion();
-		// retrieve the list of attributes
-		CMElementDeclaration elementDecl = getCMElementDeclaration(node);
-		if (elementDecl != null) {
-			CMNamedNodeMap attributes = elementDecl.getAttributes();
-			String matchString = contentAssistRequest.getMatchString();
-
-			//check whether an attribute really exists for the replacement
-			// offsets AND if it possesses a value
-			boolean attrAtLocationHasValue = false;
-			NamedNodeMap attrs = node.getAttributes();
-			for (int i = 0; i < attrs.getLength(); i++) {
-				AttrImpl existingAttr = (AttrImpl) attrs.item(i);
-				ITextRegion name = existingAttr.getNameRegion();
-
-				if (sdRegion.getStartOffset(name) <= contentAssistRequest.getReplacementBeginPosition() && sdRegion.getStartOffset(name) + name.getLength() >= contentAssistRequest.getReplacementBeginPosition() + contentAssistRequest.getReplacementLength() && existingAttr.getValueRegion() != null) {
-					attrAtLocationHasValue = true;
-					break;
-				}
-			}
-
-			// only add proposals for the attributes whose names begin with
-			// the matchstring
-			if (attributes != null) {
-				for (int i = 0; i < attributes.getLength(); i++) {
-					CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) attributes.item(i);
-					// CMVC 246618
-					int isRequired = 0;
-					if (attrDecl.getUsage() == CMAttributeDeclaration.REQUIRED) {
-						isRequired = XMLRelevanceConstants.R_REQUIRED;
-					}
-
-					boolean showAttribute = true;
-					showAttribute = showAttribute && beginsWith(getRequiredName(node, attrDecl), matchString.trim());
-					AttrImpl attr = (AttrImpl) node.getAttributes().getNamedItem(getRequiredName(node, attrDecl));
-					ITextRegion nameRegion = attr != null ? attr.getNameRegion() : null;
-					// nameRegion.getEndOffset() + 1 is required to allow for
-					// matches against the full name of an existing Attr
-					showAttribute = showAttribute && ((attr == null) || (nameRegion != null && sdRegion.getStartOffset(nameRegion) <= contentAssistRequest.getReplacementBeginPosition() && sdRegion.getStartOffset(nameRegion) + nameRegion.getLength() >= contentAssistRequest.getReplacementBeginPosition() + contentAssistRequest.getReplacementLength()));
-					if (showAttribute) {
-						Image attrImage = CMImageUtil.getImage(attrDecl);
-						if (attrImage == null) {
-							if (isRequired > 0) {
-								attrImage = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATT_REQ_OBJ);
-							}
-							else {
-								attrImage = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE);
-							}
-						}
-
-						String proposedText = null;
-						String proposedInfo = getAdditionalInfo(elementDecl, attrDecl);
-						CustomCompletionProposal proposal = null;
-						// attribute is at this location and already exists
-						if (attrAtLocationHasValue) {
-							// only propose the name
-							proposedText = getRequiredName(node, attrDecl);
-							proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), proposedText.length(), attrImage, proposedText, null, proposedInfo, XMLRelevanceConstants.R_XML_ATTRIBUTE_NAME + isRequired, true); //CMVC
-							// 269884
-						}
-						// no attribute exists or is elsewhere, generate
-						// minimally
-						else {
-							Attr existingAttrNode = (Attr) node.getAttributes().getNamedItem(getRequiredName(node, attrDecl));
-							String value = null;
-							if (existingAttrNode != null)
-								value = existingAttrNode.getNodeValue();
-							if (value != null && value.length() > 0)
-								proposedText = getRequiredName(node, attrDecl);
-							else {
-								proposedText = getRequiredText(node, attrDecl);
-							}
-							proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), attrDecl.getNodeName().length() + 2, attrImage,
-							// if the value isn't empty (no empty set of
-										// quotes), show it
-										(showValues && proposedText.indexOf("\"\"") < 0) ? proposedText : getRequiredName(node, attrDecl), //$NON-NLS-1$
-										null, proposedInfo, XMLRelevanceConstants.R_XML_ATTRIBUTE_NAME + isRequired);
-						}
-						contentAssistRequest.addProposal(proposal);
-					}
-				}
-			}
-		} else {
-			setErrorMessage(SSEUIPlugin.getResourceString("%25concat", (new Object[]{node.getNodeName()}))); 
-		}
-		addTemplates(contentAssistRequest, TemplateContextTypeIds.ATTRIBUTE);
-	}
-
-	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-		XMLNode node = (XMLNode) contentAssistRequest.getNode();
-
-		// Find the attribute region and name for which this position should
-		// have a value proposed
-		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
-		ITextRegionList openRegions = open.getRegions();
-		int i = openRegions.indexOf(contentAssistRequest.getRegion());
-		if (i < 0)
-			return;
-		ITextRegion nameRegion = null;
-		while (i >= 0) {
-			nameRegion = openRegions.get(i--);
-			if (nameRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				break;
-		}
-
-		// the name region is REQUIRED to do anything useful
-		if (nameRegion != null) {
-			// Retrieve the declaration
-			CMElementDeclaration elementDecl = getCMElementDeclaration(node);
-
-			//String attributeName = nameRegion.getText();
-			String attributeName = open.getText(nameRegion);
-
-			CMAttributeDeclaration attrDecl = null;
-
-			// No CMElementDeclaration means no attribute metadata, but
-			// retrieve the
-			// declaration for the attribute otherwise
-			if (elementDecl != null) {
-				CMNamedNodeMap attributes = elementDecl.getAttributes();
-				String noprefixName = DOMNamespaceHelper.getUnprefixedName(attributeName);
-				if (attributes != null) {
-					attrDecl = (CMAttributeDeclaration) attributes.getNamedItem(noprefixName);
-					if (attrDecl == null) {
-						attrDecl = (CMAttributeDeclaration) attributes.getNamedItem(attributeName);
-					}
-				}
-				if (attrDecl == null) {
-					setErrorMessage(UNKNOWN_ATTR, attributeName);
-				}
-			}
-
-			String currentValue = node.getAttributes().getNamedItem(attributeName).getNodeValue();
-			String proposedInfo = null;
-			Image image = CMImageUtil.getImage(attrDecl);
-			if (image == null) {
-				if (attrDecl != null && attrDecl.getUsage() == CMAttributeDeclaration.REQUIRED) {
-					image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATT_REQ_OBJ);
-				}
-				else {
-					image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE);
-				}
-			}
-
-			if (attrDecl != null && attrDecl.getAttrType() != null) {
-				// attribute is known, prompt with values from the declaration
-				proposedInfo = getAdditionalInfo(elementDecl, attrDecl);
-				List possibleValues = getPossibleDataTypeValues(node, attrDecl);
-				if (possibleValues.size() > 0) {
-					// ENUMERATED VALUES
-					String matchString = contentAssistRequest.getMatchString();
-					if (matchString == null)
-						matchString = ""; //$NON-NLS-1$
-					if (matchString.length() > 0 && (matchString.startsWith("\"") || matchString.startsWith("'"))) //$NON-NLS-2$//$NON-NLS-1$
-						matchString = matchString.substring(1);
-					boolean currentValid = false;
-
-					// d210858, if the region's a container, don't suggest the
-					// enumerated values as they probably won't help
-					boolean existingComplicatedValue = contentAssistRequest.getRegion() != null && contentAssistRequest.getRegion() instanceof ITextRegionContainer;
-					if (!existingComplicatedValue) {
-						for (Iterator j = possibleValues.iterator(); j.hasNext();) {
-							String possibleValue = (String) j.next();
-							currentValid = currentValid || possibleValue.equals(currentValue);
-							if (matchString.length() == 0 || possibleValue.startsWith(matchString)) {
-								CustomCompletionProposal proposal = new CustomCompletionProposal("\"" + possibleValue + "\"", //$NON-NLS-2$//$NON-NLS-1$
-									contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), possibleValue.length() + 1, image, possibleValue, null, proposedInfo, XMLRelevanceConstants.R_XML_ATTRIBUTE_VALUE);
-								contentAssistRequest.addProposal(proposal);
-							}
-						}
-					}
-				} else if ((attrDecl.getUsage() == CMAttributeDeclaration.FIXED || attrDecl.getAttrType().getImpliedValueKind() == CMDataType.IMPLIED_VALUE_FIXED) && attrDecl.getAttrType().getImpliedValue() != null) {
-					// FIXED values
-					String value = attrDecl.getAttrType().getImpliedValue();
-					if (value != null && value.length() > 0) {
-						CustomCompletionProposal proposal = new CustomCompletionProposal("\"" + value + "\"", //$NON-NLS-2$//$NON-NLS-1$
-									contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), value.length() + 1, image, value, null, proposedInfo, XMLRelevanceConstants.R_XML_ATTRIBUTE_VALUE);
-						contentAssistRequest.addProposal(proposal);
-						if (currentValue.length() > 0 && !value.equals(currentValue)) {
-							proposal = new CustomCompletionProposal("\"" + currentValue + "\"", //$NON-NLS-2$//$NON-NLS-1$
-										contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), currentValue.length() + 1, image, currentValue, null, proposedInfo, XMLRelevanceConstants.R_XML_ATTRIBUTE_VALUE);
-							contentAssistRequest.addProposal(proposal);
-						}
-					}
-				}
-			} else {
-				// unknown attribute, so supply nice empty values
-				proposedInfo = getAdditionalInfo(null, elementDecl);
-				CustomCompletionProposal proposal = null;
-				if (currentValue != null && currentValue.length() > 0) {
-					proposal = new CustomCompletionProposal("\"" + currentValue + "\"", //$NON-NLS-2$//$NON-NLS-1$
-								contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), 1, image, "\"" + currentValue + "\"", //$NON-NLS-2$//$NON-NLS-1$
-								null, proposedInfo, XMLRelevanceConstants.R_XML_ATTRIBUTE_VALUE);
-					contentAssistRequest.addProposal(proposal);
-				}
-			}
-		} else
-			setErrorMessage(UNKNOWN_CONTEXT);
-
-		addTemplates(contentAssistRequest, TemplateContextTypeIds.ATTRIBUTEVALUE);
-	}
-
-	protected void addCommentProposal(ContentAssistRequest contentAssistRequest) {
-		contentAssistRequest.addProposal(new CustomCompletionProposal("<!--  -->", //$NON-NLS-1$
-					contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), 5, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_COMMENT), SSEUIPlugin.getResourceString("%6concat", (new Object[]{" <!--  -->"})), //$NON-NLS-1$ = "comment {0}"//$NON-NLS-2$
-					null, null, XMLRelevanceConstants.R_COMMENT));
-	}
-
-	/**
-	 * Add all of the element declarations int the CMContent object into one
-	 * big list.
-	 */
-	protected void addContent(List contentList, CMContent content) {
-		if (content == null)
-			return;
-		if (content instanceof CMGroup) {
-			CMNodeList children = ((CMGroup) content).getChildNodes();
-			if (children == null)
-				return;
-			for (int i = 0; i < children.getLength(); i++) {
-				CMNode child = children.item(i);
-				if (child.getNodeType() == CMNode.ELEMENT_DECLARATION) {
-					contentList.add(child);
-				} else {
-					if (child.getNodeType() == CMNode.GROUP) {
-						addContent(contentList, (CMContent) child);
-					} else {
-						throw new IllegalArgumentException("Unknown content child: " + child); //$NON-NLS-1$
-					}
-				}
-			}
-		} else {
-			contentList.add(content);
-		}
-	}
-
-	protected void addDocTypeProposal(ContentAssistRequest contentAssistRequest) {
-		// if a DocumentElement exists, use that for the root Element name
-		String rootname = "unspecified"; //$NON-NLS-1$
-		if (contentAssistRequest.getNode().getOwnerDocument().getDocumentElement() != null)
-			rootname = contentAssistRequest.getNode().getOwnerDocument().getDocumentElement().getNodeName();
-
-		String proposedText = "<!DOCTYPE " + rootname + " PUBLIC \"//UNKNOWN/\" \"unknown.dtd\">"; //$NON-NLS-1$ //$NON-NLS-2$
-		ICompletionProposal proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), 10, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_DOCTYPE), "<!DOCTYPE ... >", //$NON-NLS-1$
-					null, null, XMLRelevanceConstants.R_DOCTYPE); // TODO
-		// provide
-		// special
-		// documentation
-		// on doc
-		// type
-		contentAssistRequest.addProposal(proposal);
-	}
-
-	/**
-	 * Add the proposals for a completely empty document
-	 */
-	protected void addEmptyDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		addXMLProposal(contentAssistRequest);
-		addTemplates(contentAssistRequest, TemplateContextTypeIds.TAG);
-	}
-
-	/**
-	 * Add the proposals for the name in an end tag
-	 */
-	protected void addEndTagNameProposals(ContentAssistRequest contentAssistRequest) {
-
-		if (contentAssistRequest.getStartOffset() + contentAssistRequest.getRegion().getTextLength() < contentAssistRequest.getReplacementBeginPosition()) {
-			CustomCompletionProposal proposal = new CustomCompletionProposal(">", //$NON-NLS-1$
-						contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), 1, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), SSEUIPlugin.getResourceString("%9concat", (new Object[]{" '>'"})), //$NON-NLS-1$ = "Close with {0}"//$NON-NLS-2$
-						null, null, XMLRelevanceConstants.R_END_TAG_NAME);
-			contentAssistRequest.addProposal(proposal);
-		} else {
-			XMLNode node = (XMLNode) contentAssistRequest.getNode();
-			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-			Node aNode = contentAssistRequest.getNode();
-			String matchString = contentAssistRequest.getMatchString();
-			if (matchString.startsWith("</")) //$NON-NLS-1$
-				matchString = matchString.substring(2);
-			while (aNode != null) {
-				if (aNode.getNodeType() == Node.ELEMENT_NODE) {
-					if (aNode.getNodeName().startsWith(matchString)) {
-						XMLNode aXMLNode = (XMLNode) aNode;
-						CMElementDeclaration ed = modelQuery.getCMElementDeclaration((Element) aNode);
-						if ((aXMLNode.getEndStructuredDocumentRegion() == null) && (ed == null || (ed.getContentType() != CMElementDeclaration.EMPTY))) {
-							String proposedText = aNode.getNodeName();
-							String proposedInfo = (ed != null) ? getAdditionalInfo(null, ed) : null;
-							if (node.getNodeType() == Node.TEXT_NODE && !contentAssistRequest.getDocumentRegion().isEnded())
-								proposedText += ">"; //$NON-NLS-1$
-							CustomCompletionProposal proposal = null;
-							// double check to see if the region acted upon is
-							// a tag name; replace it if so
-							Image image = CMImageUtil.getImage(ed);
-							if(image == null) {
-								image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC);							
-							}
-							if (contentAssistRequest.getRegion().getType() == XMLRegionContext.XML_TAG_NAME) {
-								proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getStartOffset(), contentAssistRequest.getRegion().getTextLength(), proposedText.length(), image, proposedText, null, proposedInfo, XMLRelevanceConstants.R_END_TAG_NAME);
-							} else {
-								proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), proposedText.length(), image, SSEUIPlugin.getResourceString("%9concat", (new Object[]{"'" + proposedText + "'"})), //$NON-NLS-1$ = "Close with {0}"//$NON-NLS-2$ //$NON-NLS-3$
-											null, proposedInfo, XMLRelevanceConstants.R_END_TAG_NAME);
-							}
-							contentAssistRequest.addProposal(proposal);
-						}
-					}
-				}
-				aNode = aNode.getParentNode();
-			}
-		}
-	}
-
-	/**
-	 * Prompt for end tags to a non-empty Node that hasn't ended Handles these
-	 * cases: <br>
-	 * <tagOpen>| <br>
-	 * <tagOpen>< |<br>
-	 * <tagOpen></ |
-	 * 
-	 * @param contentAssistRequest
-	 */
-	protected void addEndTagProposals(ContentAssistRequest contentAssistRequest) {
-		XMLNode node = (XMLNode) contentAssistRequest.getParent();
-
-		// CMVC 241090 for special meta-info comment tags
-		if (isCommentNode(node)) {
-			// loop and find non comment node parent
-			while (node != null && isCommentNode(node)) {
-				node = (XMLNode) node.getParentNode();
-			}
-		}
-
-		// data to create a CustomCompletionProposal
-		String replaceText = node.getNodeName() + ">"; //$NON-NLS-1$
-		int replaceBegin = contentAssistRequest.getReplacementBeginPosition();
-		int replaceLength = contentAssistRequest.getReplacementLength();
-		int cursorOffset = node.getNodeName().length() + 1;
-		String displayString = ""; //$NON-NLS-1$
-		String proposedInfo = ""; //$NON-NLS-1$
-		Image image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC);
-
-		setErrorMessage(null);
-		boolean addProposal = false;
-
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			// fix for CMVC 261790
-			// ////////////////////////////////////////////////////////////////////////////////////
-			IStructuredDocument sDoc = (IStructuredDocument) fTextViewer.getDocument();
-			IStructuredDocumentRegion xmlEndTagOpen = sDoc.getRegionAtCharacterOffset(contentAssistRequest.getReplacementBeginPosition());
-			// skip backward to "<", "</", or the (unclosed) start tag, null
-			// if not found
-			String type = ""; //$NON-NLS-1$
-			while (xmlEndTagOpen != null && (type = xmlEndTagOpen.getType()) != XMLRegionContext.XML_END_TAG_OPEN && type != XMLRegionContext.XML_TAG_CLOSE && !needsEndTag(xmlEndTagOpen) && type != XMLRegionContext.XML_TAG_OPEN) {
-				xmlEndTagOpen = xmlEndTagOpen.getPrevious();
-			}
-
-			if (xmlEndTagOpen == null)
-				return;
-
-			node = (XMLNode) node.getModel().getIndexedRegion(xmlEndTagOpen.getStartOffset());
-			node = (XMLNode) node.getParentNode();
-
-			if (isStartTag(xmlEndTagOpen)) {
-				// this is the case for a start tag w/out end tag
-				// eg:
-				// <p>
-				// 	  <% String test = "test"; %>
-				// |
-				if (needsEndTag(xmlEndTagOpen)) {
-					String tagName = getTagName(xmlEndTagOpen);
-					xmlEndTagOpen.getTextEndOffset();
-					replaceLength = 0;
-					replaceText = "</" + tagName + ">"; //$NON-NLS-1$ //$NON-NLS-2$ $NON-NLS-2$
-					//replaceText = "</" + node.getNodeName() + ">";
-					// //$NON-NLS-1$ $NON-NLS-2$
-					cursorOffset = tagName.length() + 3;
-					displayString = SSEUIPlugin.getResourceString("%17concat", (new Object[]{tagName})); //$NON-NLS-1$
-					addProposal = true;
-				}
-			} else if (type == XMLRegionContext.XML_END_TAG_OPEN) {
-				// this is the case for: <tag> </ |
-				// possibly <tag> </ |<anotherTag>
-				// should only be replacing white space...
-				replaceLength = (replaceBegin > xmlEndTagOpen.getTextEndOffset()) ? replaceBegin - xmlEndTagOpen.getTextEndOffset() : 0;
-				replaceText = node.getNodeName() + ">"; //$NON-NLS-1$
-				cursorOffset = replaceText.length();
-				replaceBegin = xmlEndTagOpen.getTextEndOffset();
-				displayString = SSEUIPlugin.getResourceString("%15concat", (new Object[]{node.getNodeName()})); //$NON-NLS-1$
-				addProposal = true;
-			} else if (type == XMLRegionContext.XML_TAG_OPEN) {
-				// this is the case for: <tag> < |
-				replaceText = "/" + node.getNodeName() + ">"; //$NON-NLS-1$ //$NON-NLS-2$ $NON-NLS-2$
-				cursorOffset = replaceText.length();
-				//replaceText = "/" + node.getNodeName() + ">"; //$NON-NLS-1$
-				// $NON-NLS-2$
-				// should only be replacing white space...
-				replaceLength = (replaceBegin > xmlEndTagOpen.getTextEndOffset()) ? replaceBegin - xmlEndTagOpen.getTextEndOffset() : 0;
-				replaceBegin = xmlEndTagOpen.getTextEndOffset();
-				displayString = SSEUIPlugin.getResourceString("%15concat", (new Object[]{"/" + node.getNodeName()})); //$NON-NLS-1$ //$NON-NLS-2$
-				addProposal = true;
-			}
-		}
-		// fix for CMVC 261790
-		// ////////////////////////////////////////////////////////////////////////////////////
-		// fix for CMVC 263163, sometimes the node is not null, but
-		// getNodeValue() is null, put in a null check
-		else if (node.getNodeValue() != null && node.getNodeValue().indexOf("</") != -1) { //$NON-NLS-1$
-			// the case where "</" is started, but the nodes comes in as a
-			// text node (instead of element)
-			// like this: <tag> </|
-			Node parent = node.getParentNode();
-			if (parent != null && parent.getNodeType() != Node.DOCUMENT_NODE) {
-				replaceText = parent.getNodeName() + ">"; //$NON-NLS-1$
-				cursorOffset = replaceText.length();
-				displayString = SSEUIPlugin.getResourceString("%17concat", (new Object[]{parent.getNodeName()})); //$NON-NLS-1$
-				setErrorMessage(null);
-				addProposal = true;
-			}
-		}
-		// end fix for CMVC 261790
-		// ////////////////////////////////////////////////////////////////////////////////////
-		else if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			setErrorMessage(UNKNOWN_CONTEXT);
-		}
-		if (addProposal == true) {
-			CustomCompletionProposal proposal = new CustomCompletionProposal(replaceText, replaceBegin, replaceLength, cursorOffset, image, displayString, null, proposedInfo, XMLRelevanceConstants.R_END_TAG);
-			contentAssistRequest.addProposal(proposal);
-		}
-	}
-
-	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, XMLNode treeNode) {
-		ICompletionProposal[] eps = computeEntityReferenceProposals(documentPosition, completionRegion, treeNode);
-		for (int i = 0; eps != null && i < eps.length; i++)
-			contentAssistRequest.addProposal(eps[i]);
-	}
-
-	protected void addEntityProposals(Vector proposals, Properties map, String key, int nodeOffset, IStructuredDocumentRegion sdRegion, ITextRegion completionRegion) {
-		if (map == null)
-			return;
-		String entityName = ""; //$NON-NLS-1$
-		String entityValue = ""; //$NON-NLS-1$
-		Image entityIcon = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ENTITY_REFERENCE);
-		String replacementText = ""; //$NON-NLS-1$
-		String displayString = ""; //$NON-NLS-1$
-		Enumeration keys = map.keys();
-
-		while (keys != null && keys.hasMoreElements()) {
-			entityName = (String) keys.nextElement();
-			entityValue = map.getProperty(entityName);
-			// filter based on partial entity string...
-			if (entityName.toLowerCase().startsWith(key.toLowerCase()) || key.trim().equals("")) //$NON-NLS-1$
-			{
-				// figure out selection...if text is selected, add it to
-				// selection length
-				int selectionLength = nodeOffset;
-				if (fTextViewer != null) {
-					selectionLength += fTextViewer.getSelectedRange().y;
-				}
-				// create a new proposal for entity string...
-				replacementText = "&" + entityName + ";"; //$NON-NLS-1$ //$NON-NLS-2$ 
-				displayString = "&" + entityName + "; (" + entityValue + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				ICompletionProposal cp = new CustomCompletionProposal(replacementText, sdRegion.getStartOffset(completionRegion), selectionLength, replacementText.length(), entityIcon, displayString, null, null, XMLRelevanceConstants.R_ENTITY);
-				if (cp != null) {
-					proposals.add(cp);
-				}
-			}
-		}
-	}
-
-	protected void addPCDATAProposal(String nodeName, ContentAssistRequest contentAssistRequest) {
-		CustomCompletionProposal proposal = new CustomCompletionProposal("<![CDATA[]]>", //$NON-NLS-1$
-					contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), 9, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_CDATASECTION), "CDATA Section", //$NON-NLS-1$
-					null, null, XMLRelevanceConstants.R_CDATA);
-		contentAssistRequest.addProposal(proposal);
-
-		proposal = new CustomCompletionProposal(nodeName, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), nodeName.length(), XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TXTEXT), "#PCDATA", //$NON-NLS-1$
-					null, null, XMLRelevanceConstants.R_CDATA);
-		contentAssistRequest.addProposal(proposal);
-	}
-
-	protected void addStartDocumentProposals(ContentAssistRequest contentAssistRequest) {
-		Node aNode = contentAssistRequest.getNode();
-		boolean xmlpiFound = false;
-		Document owningDocument = aNode.getOwnerDocument();
-		// ==> // int xmlpiNodePosition = -1;
-
-		// make sure xmlpi is root element
-		// don't want doctype proposal if XMLPI isn't first element...
-		// CMVC 242943
-		// CMVC 245532
-		Node first = owningDocument.getFirstChild();
-		boolean xmlpiIsFirstElement = (first != null && first.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE);
-		boolean insertDoctype = xmlpiIsFirstElement;
-
-		for (Node child = owningDocument.getFirstChild(); child != null; child = child.getNextSibling()) {
-			boolean xmlpi = (child.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE && child.getNodeName().equals("xml")); //$NON-NLS-1$
-			xmlpiFound = xmlpiFound || xmlpi;
-			if (xmlpiFound) {
-				if (child instanceof XMLNode) {
-					// ==> // int xmlpiNodePosition =
-					// ((XMLNode)child).getEndOffset();
-				}
-				// skip white space and text
-				while ((child = child.getNextSibling()) != null && (child.getNodeType() == Node.TEXT_NODE)) {
-				}
-				// check if theres a node inbetween XMLPI and cursor position
-				if (child != null && child instanceof XMLNode) {
-					// CMVC 257486
-					if (contentAssistRequest.getReplacementBeginPosition() >= ((XMLNode) child).getEndOffset() || !xmlpiIsFirstElement) {
-						insertDoctype = false;
-					}
-				}
-				break;
-			}
-		}
-
-		if (!xmlpiFound) {
-			addXMLProposal(contentAssistRequest);
-		} else if (owningDocument.getDoctype() == null && isCursorAfterXMLPI(contentAssistRequest) && insertDoctype) {
-			addDocTypeProposal(contentAssistRequest);
-		}
-	}
-
-	/**
-	 * Close an unclosed start tag
-	 */
-	protected void addTagCloseProposals(ContentAssistRequest contentAssistRequest) {
-		XMLNode node = (XMLNode) contentAssistRequest.getParent();
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-
-			CMElementDeclaration elementDecl = getCMElementDeclaration(node);
-			String proposedInfo = (elementDecl != null) ? getAdditionalInfo(null, elementDecl) : null;
-			int contentType = (elementDecl != null) ? elementDecl.getContentType() : CMElementDeclaration.ANY;
-			// if it's XML and content doesn't HAVE to be element, add "/>"
-			// proposal.
-			boolean endWithSlashBracket = (getXML(node) && contentType != CMElementDeclaration.ELEMENT);
-
-			Image image = CMImageUtil.getImage(elementDecl);
-			if(image == null){
-				image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC);
-			}
-
-			// is the start tag ended properly?
-			if (contentAssistRequest.getDocumentRegion() == node.getFirstStructuredDocumentRegion() && !(node.getFirstStructuredDocumentRegion()).isEnded()) {
-				setErrorMessage(null);
-				// Is this supposed to be an empty tag? Note that if we can't
-				// tell, we assume it's not.
-				if (elementDecl != null && elementDecl.getContentType() == CMElementDeclaration.EMPTY) {
-					// prompt with a self-closing end character if needed
-					CustomCompletionProposal proposal = new CustomCompletionProposal(getContentGenerator().getStartTagClose(node, elementDecl), contentAssistRequest.getReplacementBeginPosition(),
-					// this is one of the few times to ignore the length --
-								// always insert
-								// contentAssistRequest.getReplacementLength(),
-								0, getContentGenerator().getStartTagClose(node, elementDecl).length(), image, SSEUIPlugin.getResourceString("%3concat", (new Object[]{getContentGenerator().getStartTagClose(node, elementDecl)})), //$NON-NLS-1$ = "Close with '{0}'"
-								null, proposedInfo, XMLRelevanceConstants.R_CLOSE_TAG);
-					contentAssistRequest.addProposal(proposal);
-				} else {
-					// prompt with a close for the start tag
-					CustomCompletionProposal proposal = new CustomCompletionProposal(">", //$NON-NLS-1$
-								contentAssistRequest.getReplacementBeginPosition(),
-								// this is one of the few times to ignore the
-								// length -- always insert
-								// contentAssistRequest.getReplacementLength(),
-								0, 1, image, SSEUIPlugin.getResourceString("%9concat", (new Object[]{" '>'"})), //$NON-NLS-1$ = "Close with {0}"//$NON-NLS-2$
-								null, proposedInfo, XMLRelevanceConstants.R_CLOSE_TAG);
-					contentAssistRequest.addProposal(proposal);
-
-					// prompt with the closer for the start tag and an end tag
-					// if one is not present
-					if (node.getEndStructuredDocumentRegion() == null) {
-						// FIX FOR CMVC 247482
-						// make sure tag name is actually what it thinks it
-						// is...(eg. <%@ vs. <jsp:directive)
-						IStructuredDocumentRegion sdr = contentAssistRequest.getDocumentRegion();
-						String openingTagText = (sdr != null) ? sdr.getFullText() : ""; //$NON-NLS-1$
-						if (openingTagText != null && openingTagText.indexOf(node.getNodeName()) != -1) {
-							proposal = new CustomCompletionProposal("></" + node.getNodeName() + ">", //$NON-NLS-2$//$NON-NLS-1$
-										contentAssistRequest.getReplacementBeginPosition(),
-										// this is one of the few times to
-										// ignore the length -- always insert
-										// contentAssistRequest.getReplacementLength(),
-										0, 1, image, SSEUIPlugin.getResourceString("%5concat", (new Object[]{node.getNodeName()})), //$NON-NLS-1$ = "Close with '></{0}>'"
-										null, proposedInfo, XMLRelevanceConstants.R_CLOSE_TAG);
-							contentAssistRequest.addProposal(proposal);
-						}
-					}
-					// prompt with slash bracket "/>" incase if it's a self
-					// ending tag
-					if (endWithSlashBracket) {
-						proposal = new CustomCompletionProposal("/>", //$NON-NLS-1$
-									contentAssistRequest.getReplacementBeginPosition(),
-									// this is one of the few times to ignore
-									// the length -- always insert
-									// contentAssistRequest.getReplacementLength(),
-									0, 2, image, SSEUIPlugin.getResourceString("%9concat", (new Object[]{" \"/>\""})), //$NON-NLS-1$ = "Close with {0}"//$NON-NLS-2$
-									null, proposedInfo, XMLRelevanceConstants.R_CLOSE_TAG + 1); // +1
-						// to
-						// bring
-						// to
-						// top
-						// of
-						// list
-						contentAssistRequest.addProposal(proposal);
-					}
-				}
-			} else if (contentAssistRequest.getDocumentRegion() == node.getLastStructuredDocumentRegion() && !node.getLastStructuredDocumentRegion().isEnded()) {
-				setErrorMessage(null);
-				// prompt with a closing end character for the end tag
-				CustomCompletionProposal proposal = new CustomCompletionProposal(">", //$NON-NLS-1$
-							contentAssistRequest.getReplacementBeginPosition(),
-							// this is one of the few times to ignore the
-							// length -- always insert
-							// contentAssistRequest.getReplacementLength(),
-							0, 1, image, SSEUIPlugin.getResourceString("%9concat", (new Object[]{" '>'"})), //$NON-NLS-1$ = "Close with {0}"//$NON-NLS-2$
-							null, proposedInfo, XMLRelevanceConstants.R_CLOSE_TAG);
-				contentAssistRequest.addProposal(proposal);
-			}
-		} else if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			setErrorMessage(UNKNOWN_CONTEXT);
-		}
-	}
-
-	protected void addTagInsertionProposals(ContentAssistRequest contentAssistRequest, int childPosition) {
-		List cmnodes = null;
-		Node parent = contentAssistRequest.getParent();
-		List validActions = null;
-		String error = null;
-
-		// CMVC #242943 shouldn't have proposals before XMLPI
-		// (nsd) This is only valid at the document element level
-		// only valid if it's XML (check added 2/17/2004)
-		if (parent != null && parent.getNodeType() == Node.DOCUMENT_NODE && ((XMLDocument) parent).isXMLType() && !isCursorAfterXMLPI(contentAssistRequest)) {
-			// but we should always have macros
-			// need to be careful these are only added one time
-			addTemplates(contentAssistRequest, TemplateContextTypeIds.TAG);
-			return;
-		}
-		// only want proposals if cursor is after doctype...
-		if (!isCursorAfterDoctype(contentAssistRequest))
-			return;
-
-		// CMVC 248081
-		// fix for meta-info comment nodes.. they currently "hide" other
-		// proposals because the don't
-		// have a content model (so can't propose any children..)
-		if (parent != null && parent instanceof XMLNode && isCommentNode((XMLNode) parent)) {
-			// loop and find non comment node?
-			while (parent != null && isCommentNode((XMLNode) parent)) {
-				parent = (XMLNode) parent.getParentNode();
-			}
-		}
-
-		if (parent.getNodeType() == Node.ELEMENT_NODE) {
-			CMElementDeclaration parentDecl = getCMElementDeclaration(parent);
-			if (parentDecl != null) {
-				// XSD-specific ability - no filtering
-				CMDataType childType = parentDecl.getDataType();
-				if (childType != null) {
-					String[] childStrings = childType.getEnumeratedValues();
-					if (childStrings != null) {
-						// the content string is the sole valid child...so
-						// replace the rest
-						int begin = contentAssistRequest.getReplacementBeginPosition();
-						int length = contentAssistRequest.getReplacementLength();
-						if (parent instanceof XMLNode) {
-							if (((XMLNode) parent).getLastStructuredDocumentRegion() != ((XMLNode) parent).getFirstStructuredDocumentRegion()) {
-								begin = ((XMLNode) parent).getFirstStructuredDocumentRegion().getEndOffset();
-								length = ((XMLNode) parent).getLastStructuredDocumentRegion().getStartOffset() - begin;
-							}
-						}
-						String proposedInfo = getAdditionalInfo(parentDecl, childType);
-						for (int i = 0; i < childStrings.length; i++) {
-							CustomCompletionProposal textProposal = new CustomCompletionProposal(childStrings[i], begin, length, childStrings[i].length(), XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ENUM), childStrings[i], null, proposedInfo, XMLRelevanceConstants.R_TAG_INSERTION);
-							contentAssistRequest.addProposal(textProposal);
-						}
-					}
-				}
-			}
-			if (parentDecl != null && parentDecl.getContentType() == CMElementDeclaration.PCDATA) {
-				addPCDATAProposal(parentDecl.getNodeName(), contentAssistRequest);
-			} else {
-				// retrieve the list of children
-				validActions = getAvailableChildrenAtIndex((Element) parent, childPosition);
-				cmnodes = getValidCMNodes(childPosition, ModelQueryAction.INSERT, validActions);
-				Iterator nodeIterator = cmnodes.iterator();
-				if (!nodeIterator.hasNext()) {
-					if (getCMElementDeclaration(parent) != null)
-						error = SSEUIPlugin.getResourceString("%1concat", (new Object[]{parent.getNodeName()})); //$NON-NLS-1$ = "{0} has no available child tags."
-					else
-						error = SSEUIPlugin.getResourceString("%31concat", (new Object[]{parent.getNodeName()})); //$NON-NLS-1$
-				}
-				String matchString = contentAssistRequest.getMatchString();
-				// chop off any leading <'s and whitespace from the
-				// matchstring
-				while ((matchString.length() > 0) && (Character.isWhitespace(matchString.charAt(0)) || beginsWith(matchString, "<"))) //$NON-NLS-1$
-					//$NON-NLS-1$
-					matchString = matchString.substring(1);
-				while (nodeIterator.hasNext()) {
-					Object o = nodeIterator.next();
-					if (o instanceof CMElementDeclaration) {
-						CMElementDeclaration elementDecl = (CMElementDeclaration) o;
-						// only add proposals for the child element's that
-						// begin with the matchstring
-						String tagname = getRequiredName(parent, elementDecl);
-						Image image = CMImageUtil.getImage(elementDecl);
-						if(image == null){
-							image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC);
-						}
-						// Account for the &lt; and &gt;. If attributes were
-						// added, the cursor will be placed
-						// at the offset before of the first character of the
-						// first attribute name.
-						int markupAdjustment = getContentGenerator().getMinimalStartTagLength(parent, elementDecl);
-						if (beginsWith(tagname, matchString)) {
-							String proposedText = getRequiredText(parent, elementDecl);
-							String proposedInfo = getAdditionalInfo(parentDecl, elementDecl);
-							CustomCompletionProposal proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), markupAdjustment, image, tagname, null, proposedInfo, XMLRelevanceConstants.R_TAG_INSERTION);
-							contentAssistRequest.addProposal(proposal);
-						}
-					}
-				}
-				if (contentAssistRequest.getProposals().size() == 0) {
-					if (error != null)
-						setErrorMessage(error);
-					else if (contentAssistRequest.getMatchString() != null && contentAssistRequest.getMatchString().length() > 0)
-						setErrorMessage(SSEUIPlugin.getResourceString("%11concat", (new Object[]{parent.getNodeName(), contentAssistRequest.getMatchString()}))); //$NON-NLS-1$
-					//$NON-NLS-1$ = "No known child tag names of <{0}> begin with \"{1}\"."
-					else
-						setErrorMessage(SSEUIPlugin.getResourceString("%14concat", (new Object[]{parent.getNodeName()}))); //$NON-NLS-1$
-				}
-			}
-		} else if (parent.getNodeType() == Node.DOCUMENT_NODE) {
-			// Can only prompt with elements if the cursor position is past
-			// the XML processing
-			// instruction and DOCTYPE declaration
-			boolean xmlpiFound = false;
-			boolean doctypeFound = false;
-			int minimumOffset = -1;
-
-			for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-
-				boolean xmlpi = (child.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE && child.getNodeName().equals("xml")); //$NON-NLS-1$
-				boolean doctype = child.getNodeType() == Node.DOCUMENT_TYPE_NODE;
-				if (xmlpi || doctype && minimumOffset < 0)
-					minimumOffset = ((XMLNode) child).getFirstStructuredDocumentRegion().getStartOffset() + ((XMLNode) child).getFirstStructuredDocumentRegion().getTextLength();
-				xmlpiFound = xmlpiFound || xmlpi;
-				doctypeFound = doctypeFound || doctype;
-			}
-			if (!xmlpiFound && contentAssistRequest.getReplacementBeginPosition() < minimumOffset) {
-				addXMLProposal(contentAssistRequest);
-			}
-
-			if (contentAssistRequest.getReplacementBeginPosition() >= minimumOffset) {
-				List childDecls = getAvailableRootChildren((Document) parent, childPosition);
-				for (int i = 0; i < childDecls.size(); i++) {
-					CMElementDeclaration ed = (CMElementDeclaration) childDecls.get(i);
-					if (ed != null) {
-						Image image = CMImageUtil.getImage(ed);
-						if(image == null){
-							image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC);
-						}
-						String proposedText = getRequiredText(parent, ed);
-						String tagname = getRequiredName(parent, ed);
-						// account for the &lt; and &gt;
-						int markupAdjustment = getContentGenerator().getMinimalStartTagLength(parent, ed);
-						String proposedInfo = getAdditionalInfo(null, ed);
-						CustomCompletionProposal proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), markupAdjustment, image, tagname, null, proposedInfo, XMLRelevanceConstants.R_TAG_INSERTION);
-						contentAssistRequest.addProposal(proposal);
-					}
-				}
-			}
-		}
-		addTemplates(contentAssistRequest, TemplateContextTypeIds.TAG);
-	}
-
-	protected void addTagNameProposals(ContentAssistRequest contentAssistRequest, int childPosition) {
-		List cmnodes = null;
-		Node parent = contentAssistRequest.getParent();
-		XMLNode node = (XMLNode) contentAssistRequest.getNode();
-		List validActions = null;
-		String error = null;
-		String matchString = contentAssistRequest.getMatchString();
-		if (parent.getNodeType() == Node.ELEMENT_NODE) {
-			// retrieve the list of children
-			validActions = getAvailableChildrenAtIndex((Element) parent, childPosition);
-			cmnodes = getValidCMNodes(childPosition, ModelQueryAction.INSERT, validActions);
-			Iterator nodeIterator = cmnodes.iterator();
-			// chop off any leading <'s and whitespace from the matchstring
-			while ((matchString.length() > 0) && (Character.isWhitespace(matchString.charAt(0)) || beginsWith(matchString, "<"))) //$NON-NLS-1$
-				//$NON-NLS-1$
-				matchString = matchString.substring(1);
-			if (!nodeIterator.hasNext())
-				error = SSEUIPlugin.getResourceString("%8concat", (new Object[]{parent.getNodeName()})); //$NON-NLS-1$
-			while (nodeIterator.hasNext()) {
-				CMNode elementDecl = (CMNode) nodeIterator.next();
-				if (elementDecl != null) {
-					// only add proposals for the child element's that begin
-					// with the matchstring
-					String proposedText = null;
-					int cursorAdjustment = 0;
-
-					// do a check to see if partial attributes of partial tag
-					// names are in list
-					if ((node != null && node.getAttributes() != null && node.getAttributes().getLength() > 0 && attributeInList(node, parent, elementDecl)) || ((node.getNodeType() != Node.TEXT_NODE) && node.getFirstStructuredDocumentRegion().isEnded())) {
-
-						proposedText = getRequiredName(parent, elementDecl);
-						cursorAdjustment = proposedText.length();
-					} else {
-						proposedText = getRequiredName(parent, elementDecl);
-						cursorAdjustment = proposedText.length();
-						if (elementDecl instanceof CMElementDeclaration) {
-							CMElementDeclaration ed = (CMElementDeclaration) elementDecl;
-							if (ed.getContentType() == CMElementDeclaration.EMPTY) {
-								proposedText += getContentGenerator().getStartTagClose(parent, ed);
-								cursorAdjustment = proposedText.length();
-							} else {
-								cursorAdjustment = proposedText.length() + 1;
-								proposedText += "></" + getRequiredName(parent, elementDecl) + ">"; //$NON-NLS-2$//$NON-NLS-1$
-							}
-						}
-					}
-					if (beginsWith(proposedText, matchString)) {
-						Image image = CMImageUtil.getImage(elementDecl);
-						if(image == null){
-							image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC);
-						}
-						String proposedInfo = getAdditionalInfo(getCMElementDeclaration(parent), elementDecl);
-						CustomCompletionProposal proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), cursorAdjustment, image, getRequiredName(parent, elementDecl), null, proposedInfo, XMLRelevanceConstants.R_TAG_NAME);
-						contentAssistRequest.addProposal(proposal);
-					}
-				}
-			}
-			if (contentAssistRequest.getProposals().size() == 0) {
-				if (error != null)
-					setErrorMessage(error);
-				else if (contentAssistRequest.getMatchString() != null && contentAssistRequest.getMatchString().length() > 0)
-					setErrorMessage(SSEUIPlugin.getResourceString("%27concat", (new Object[]{parent.getNodeName(), contentAssistRequest.getMatchString()}))); //$NON-NLS-1$
-				//$NON-NLS-1$ = "No known child tag names of <{0}> begin with \"{1}\""
-				else
-					setErrorMessage(SSEUIPlugin.getResourceString("%28concat", (new Object[]{parent.getNodeName()}))); //$NON-NLS-1$
-			}
-		} else if (parent.getNodeType() == Node.DOCUMENT_NODE) {
-			List childElements = getAvailableRootChildren((Document) parent, childPosition);
-			for (int i = 0; i < childElements.size(); i++) {
-				CMNode ed = (CMNode) childElements.get(i);
-				if (ed == null)
-					continue;
-				String proposedText = null;
-				int cursorAdjustment = 0;
-				proposedText = getRequiredName(parent, ed);
-				if (!beginsWith(proposedText, matchString))
-					continue;
-				if ((node != null && node.getAttributes() != null && node.getAttributes().getLength() > 0) || ((node.getNodeType() != Node.TEXT_NODE) && node.getFirstStructuredDocumentRegion().isEnded())) {
-					cursorAdjustment = proposedText.length();
-				} else {
-					cursorAdjustment = proposedText.length();
-					if (ed instanceof CMElementDeclaration) {
-						CMElementDeclaration elementDecl = (CMElementDeclaration) ed;
-						if (elementDecl.getContentType() == CMElementDeclaration.EMPTY) {
-							proposedText += getContentGenerator().getStartTagClose(parent, elementDecl);
-							cursorAdjustment = proposedText.length();
-						} else {
-							cursorAdjustment = proposedText.length() + 1;
-							proposedText += "></" + getRequiredName(parent, elementDecl) + ">"; //$NON-NLS-2$//$NON-NLS-1$
-						}
-					}
-				}
-				String proposedInfo = getAdditionalInfo(null, ed);
-				Image image = CMImageUtil.getImage(ed);
-				if(image == null){
-					image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC);
-				}
-				CustomCompletionProposal proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), cursorAdjustment, image, getRequiredName(parent, ed), null, proposedInfo, XMLRelevanceConstants.R_TAG_NAME);
-				contentAssistRequest.addProposal(proposal);
-			}
-		}
-	}
-
-	/**
-	 * Adds templates to the list of proposals
-	 * 
-	 * @param contentAssistRequest
-	 * @param context
-	 */
-	protected void addTemplates(ContentAssistRequest contentAssistRequest, String context) {
-		if (macroContexts.contains(context))
-			return;
-		if (contentAssistRequest == null)
-			return;
-		macroContexts.add(context);
-
-		boolean useProposalList = !contentAssistRequest.shouldSeparate();
-
-		if (getTemplateCompletionProcessor() != null) {
-			getTemplateCompletionProcessor().setContextType(context);
-			ICompletionProposal[] proposals = getTemplateCompletionProcessor().computeCompletionProposals(fTextViewer, contentAssistRequest.getReplacementBeginPosition());
-			for (int i = 0; i < proposals.length; ++i) {
-				if (useProposalList)
-					contentAssistRequest.addProposal(proposals[i]);
-				else
-					contentAssistRequest.addMacro(proposals[i]);
-			}
-		}
-	}
-
-	protected void addXMLProposal(ContentAssistRequest contentAssistRequest) {
-		String proposedText = "<?xml version=\"1.0\" encoding=\"" + ContentTypeEncodingPreferences.getUserPreferredCharsetName(ContentTypeIdForXML.ContentTypeID_XML) + "\"?>"; //$NON-NLS-2$//$NON-NLS-1$
-		ICompletionProposal proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), proposedText.length(), XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_PROCESSINGINSTRUCTION), proposedText, null, null, XMLRelevanceConstants.R_XML_DECLARATION); // TODO
-		// add
-		// special
-		// XML
-		// proposal
-		// info
-		contentAssistRequest.addProposal(proposal);
-	}
-
-	/**
-	 * This method determines if any of the attributes in the proposed XMLNode
-	 * node, are possible values of attributes from possible Elements at this
-	 * point in the document according to the Content Model.
-	 * 
-	 * @param node
-	 *            the element with attributes that you would like to test if
-	 *            are possible for possible Elements at this point
-	 * @param cmnode
-	 *            possible element at this point in the document (depending on
-	 *            what 'node' is)
- true if any attributes of 'node' match any possible attributes
-	 *         from 'cmnodes' list.
-	 */
-	protected boolean attributeInList(XMLNode node, Node parent, CMNode cmnode) {
-		if (node == null || parent == null || cmnode == null)
-			return false;
-		String elementMatchString = node.getNodeName();
-		String cmnodeName = getRequiredName(parent, cmnode);//cmnode.getNodeName();
-		if (node instanceof Element) {
-			NamedNodeMap map = ((Element) node).getAttributes();
-			String attrMatchString = ""; //$NON-NLS-1$
-			CMNamedNodeMap cmattrMap = null;
-			// iterate attribute possibilities for partially started node
-			for (int i = 0; map != null && i < map.getLength(); i++) {
-				attrMatchString = map.item(i).getNodeName();
-				// filter on whatever user typed for element name already
-				if (beginsWith(cmnodeName, elementMatchString)) {
-					if (cmnode.getNodeType() == CMNode.ELEMENT_DECLARATION) {
-						cmattrMap = ((CMElementDeclaration) cmnode).getAttributes();
-						// iterate possible attributes from a cmnode in
-						// proposal list
-						for (int k = 0; cmattrMap != null && k < cmattrMap.getLength(); k++) {
-							// check if name matches
-							if (cmattrMap.item(k).getNodeName().equals(attrMatchString)) {
-								return true;
-							}
-						}
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	protected boolean beginsWith(String aString, String prefix) {
-		if (aString == null || prefix == null)
-			return true;
-		// (pa) 221190 matching independent of case to be consistant with Java
-		// editor CA
-		return aString.toLowerCase().startsWith(prefix.toLowerCase());
-	}
-
-	protected ContentAssistRequest computeAttributeProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		ContentAssistRequest contentAssistRequest = null;
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-		if (documentPosition < sdRegion.getStartOffset(completionRegion)) {
-			// setup to insert new attributes
-			contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, completionRegion, documentPosition, 0, matchString);
-		} else {
-			// Setup to replace an existing attribute name
-			contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, completionRegion, sdRegion.getStartOffset(completionRegion), completionRegion.getTextLength(), matchString);
-		}
-		addAttributeNameProposals(contentAssistRequest);
-		contentAssistRequest.setReplacementBeginPosition(documentPosition);
-		contentAssistRequest.setReplacementLength(0);
-		if (node.getFirstStructuredDocumentRegion() != null && (!node.getFirstStructuredDocumentRegion().isEnded())) {
-			addTagCloseProposals(contentAssistRequest);
-		}
-		return contentAssistRequest;
-	}
-
-	protected ContentAssistRequest computeAttributeValueProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		ContentAssistRequest contentAssistRequest = null;
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-		if (documentPosition > sdRegion.getStartOffset(completionRegion) + completionRegion.getTextLength() && sdRegion.getStartOffset(completionRegion) + completionRegion.getTextLength() != sdRegion.getStartOffset(completionRegion) + completionRegion.getLength()) {
-			// setup to add a new attribute at the documentPosition
-			XMLNode actualNode = (XMLNode) node.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
-			contentAssistRequest = newContentAssistRequest(actualNode, actualNode, sdRegion, completionRegion, documentPosition, 0, matchString);
-			addAttributeNameProposals(contentAssistRequest);
-			if (actualNode.getFirstStructuredDocumentRegion() != null && !actualNode.getFirstStructuredDocumentRegion().isEnded()) {
-				addTagCloseProposals(contentAssistRequest);
-			}
-		} else {
-			// setup to replace the existing value
-			if (!nodeAtOffset.getFirstStructuredDocumentRegion().isEnded() && documentPosition < sdRegion.getStartOffset(completionRegion)) {
-				// if the IStructuredDocumentRegion isn't closed and the
-				// cursor is in front of the value, add
-				contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, completionRegion, documentPosition, 0, matchString);
-				addAttributeNameProposals(contentAssistRequest);
-			} else {
-				contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, completionRegion, sdRegion.getStartOffset(completionRegion), completionRegion.getTextLength(), matchString);
-				addAttributeValueProposals(contentAssistRequest);
-			}
-		}
-		return contentAssistRequest;
-	}
-
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode treeNode, XMLNode xmlnode) {
-		ContentAssistRequest contentAssistRequest = null;
-		String regionType = completionRegion.getType();
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-
-		// Handle the most common and best supported cases
-		if (xmlnode.getNodeType() == Node.ELEMENT_NODE || xmlnode.getNodeType() == Node.DOCUMENT_NODE) {
-			if (regionType == XMLRegionContext.XML_TAG_OPEN) {
-				contentAssistRequest = computeTagOpenProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			} else if (regionType == XMLRegionContext.XML_TAG_NAME) {
-				contentAssistRequest = computeTagNameProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				contentAssistRequest = computeAttributeProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-				contentAssistRequest = computeEqualsProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE && documentPosition == sdRegion.getTextEndOffset() && (sdRegion.getText(completionRegion).endsWith("\"") || sdRegion.getText(completionRegion).endsWith("\'"))) //$NON-NLS-1$ //$NON-NLS-2$
-			{
-				// this is for when the cursor is at the end of the closing
-				// quote for an attribute..
-				XMLNode actualNode = (XMLNode) xmlnode.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
-				contentAssistRequest = newContentAssistRequest(actualNode, actualNode, sdRegion, completionRegion, documentPosition, 0, matchString);
-				addTagCloseProposals(contentAssistRequest);
-			} else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				contentAssistRequest = computeAttributeValueProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			} else if ((regionType == XMLRegionContext.XML_TAG_CLOSE) || (regionType == XMLRegionContext.XML_EMPTY_TAG_CLOSE) || (regionType == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE)) {
-				contentAssistRequest = computeTagCloseProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			} else if (regionType == XMLRegionContext.XML_END_TAG_OPEN) {
-				contentAssistRequest = computeEndTagOpenProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			} else if (regionType == XMLRegionContext.XML_CONTENT || regionType == XMLRegionContext.XML_CHAR_REFERENCE || regionType == XMLRegionContext.XML_ENTITY_REFERENCE || regionType == XMLRegionContext.XML_PE_REFERENCE) {
-				contentAssistRequest = computeContentProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
-			}
-
-			// These ITextRegion types begin DOM Elements as well and although
-			// internally harder to assist,
-			// text insertions directly before them can be made
-			else if (documentPosition == sdRegion.getStartOffset(completionRegion) && (regionType == XMLJSPRegionContexts.JSP_COMMENT_OPEN || regionType == XMLJSPRegionContexts.JSP_DECLARATION_OPEN || regionType == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN || regionType == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN || regionType == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN || regionType == XMLRegionContext.XML_DECLARATION_OPEN || regionType == XMLRegionContext.XML_PI_OPEN || regionType == XMLRegionContext.XML_COMMENT_OPEN || regionType == XMLRegionContext.XML_CDATA_OPEN)) {
-				contentAssistRequest = newContentAssistRequest(treeNode, xmlnode.getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
-				addTagInsertionProposals(contentAssistRequest, getElementPositionForModelQuery(treeNode));
-				addStartDocumentProposals(contentAssistRequest);
-			}
-		}
-		// Not a Document or Element? (odd cases go here for now)
-		else if (isCloseRegion(completionRegion)) {
-			contentAssistRequest = newContentAssistRequest(treeNode, xmlnode.getParentNode(), sdRegion, completionRegion, sdRegion.getStartOffset(completionRegion) + completionRegion.getLength(), 0, matchString);
-			addStartDocumentProposals(contentAssistRequest);
-			if (documentPosition >= sdRegion.getTextEndOffset(completionRegion))
-				addTagInsertionProposals(contentAssistRequest, getElementPositionForModelQuery(treeNode) + 1);
-		} else if (documentPosition == sdRegion.getStartOffset(completionRegion) && (regionType == XMLJSPRegionContexts.JSP_COMMENT_OPEN || regionType == XMLJSPRegionContexts.JSP_DECLARATION_OPEN || regionType == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN || regionType == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN || regionType == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN || regionType == XMLRegionContext.XML_DECLARATION_OPEN || regionType == XMLRegionContext.XML_PI_OPEN || regionType == XMLRegionContext.XML_COMMENT_OPEN || regionType == XMLRegionContext.XML_CDATA_OPEN)) {
-			contentAssistRequest = newContentAssistRequest(treeNode, xmlnode.getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
-			addTagInsertionProposals(contentAssistRequest, getElementPositionForModelQuery(treeNode));
-			addStartDocumentProposals(contentAssistRequest);
-		}
-		return contentAssistRequest;
-	}
-
-	/**
-	 * CONTENT ASSIST STARTS HERE
-	 * 
-	 * Return a list of proposed code completions based on the specified
-	 * location within the document that corresponds to the current cursor
-	 * position within the text-editor control.
-	 * 
-	 * @param textViewer
-	 * @param documentPosition -
-	 *            the cursor location within the document
-	 * 
- an array of ICompletionProposals
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer textViewer, int documentPosition) {
-
-		setErrorMessage(null);
-		macroContexts.clear();
-
-		fTextViewer = textViewer;
-
-		IndexedRegion treeNode = ContentAssistUtils.getNodeAt((StructuredTextViewer) textViewer, documentPosition);
-
-		Node node = (Node) treeNode;
-		while (node != null && node.getNodeType() == Node.TEXT_NODE && node.getParentNode() != null)
-			node = node.getParentNode();
-		XMLNode xmlnode = (XMLNode) node;
-
-		ContentAssistRequest contentAssistRequest = null;
-
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-		ITextRegion completionRegion = getCompletionRegion(documentPosition, node);
-
-		String matchString = getMatchString(sdRegion, completionRegion, documentPosition);
-
-		// Handle empty Documents
-		if (completionRegion == null) {
-			if (((treeNode == null) || ((Node) treeNode).getNodeType() == Node.DOCUMENT_NODE) && completionRegion == null && (xmlnode == null || xmlnode.getChildNodes() == null || xmlnode.getChildNodes().getLength() == 0)) {
-				IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(textViewer.getDocument());
-				try {
-					if (sModel != null) {
-						XMLDocument docNode = ((XMLModel) sModel).getDocument();
-						contentAssistRequest = newContentAssistRequest(docNode, docNode, sdRegion, completionRegion, documentPosition, 0, null);
-						addEmptyDocumentProposals(contentAssistRequest);
-						addTemplates(contentAssistRequest, TemplateContextTypeIds.ALL);
-						addTemplates(contentAssistRequest, TemplateContextTypeIds.TAG);
-					}
-				} finally {
-					if (sModel != null)
-						sModel.releaseFromRead();
-				}
-				return contentAssistRequest.getCompletionProposals();
-			}
-			// MASSIVE ERROR CONDITION
-			Logger.logException(new IllegalStateException("completion region was null")); //$NON-NLS-1$
-			setErrorMessage(INTERNALERROR);
-			contentAssistRequest = newContentAssistRequest((Node) treeNode, node.getParentNode(), sdRegion, completionRegion, documentPosition, 0, ""); //$NON-NLS-1$
-			addTemplates(contentAssistRequest, TemplateContextTypeIds.ALL);
-			return contentAssistRequest.getCompletionProposals();
-		}
-
-
-		// catch documents where no region can be determined
-		if (xmlnode.getNodeType() == Node.DOCUMENT_NODE && (completionRegion == null || xmlnode.getChildNodes() == null || xmlnode.getChildNodes().getLength() == 0)) {
-			contentAssistRequest = computeStartDocumentProposals(documentPosition, matchString, completionRegion, (XMLNode) treeNode, xmlnode);
-			return contentAssistRequest.getCompletionProposals();
-		}
-
-		// compute normal proposals
-		contentAssistRequest = computeCompletionProposals(documentPosition, matchString, completionRegion, (XMLNode) treeNode, xmlnode);
-		if (contentAssistRequest == null) {
-			contentAssistRequest = newContentAssistRequest((Node) treeNode, node.getParentNode(), sdRegion, completionRegion, documentPosition, 0, ""); //$NON-NLS-1$
-			if (Debug.displayWarnings)
-				System.out.println(UNKNOWN_CONTEXT + " " + completionRegion.getType() + "@" + documentPosition); //$NON-NLS-2$//$NON-NLS-1$
-			setErrorMessage(UNKNOWN_CONTEXT);
-		}
-		// #180541
-		addTemplates(contentAssistRequest, TemplateContextTypeIds.ALL);
-
-		if (contentAssistRequest.getProposals().size() == 0)
-			setErrorMessage(UNKNOWN_CONTEXT);
-
-		return contentAssistRequest.getCompletionProposals();
-	}
-
-	protected ContentAssistRequest computeContentProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		ContentAssistRequest contentAssistRequest = null;
-
-		// setup to add children at the content node's position
-		contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, getStructuredDocumentRegion(documentPosition), completionRegion, documentPosition, 0, matchString);
-		if (node != null && node.getNodeType() == Node.DOCUMENT_NODE && ((Document) node).getDoctype() == null)
-			addStartDocumentProposals(contentAssistRequest);
-		addTagInsertionProposals(contentAssistRequest, getElementPositionForModelQuery(nodeAtOffset));
-		if (node.getNodeType() != Node.DOCUMENT_NODE) {
-			addEndTagProposals(contentAssistRequest);
-		}
-		// entities?
-		addEntityProposals(contentAssistRequest, documentPosition, completionRegion, node);
-		//addEntityProposals(contentAssistRequest);
-		return contentAssistRequest;
-	}
-
-	/**
-	 * Returns information about possible contexts based on the specified
-	 * location within the document that corresponds to the current cursor
-	 * position within the text viewer.
-	 * 
-	 * @param viewer
-	 *            the viewer whose document is used to compute the possible
-	 *            contexts
- an array of context information objects or <code>null</code>
-	 *         if no context could be found
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-		if (fAttributeInfoProvider == null)
-			fAttributeInfoProvider = new AttributeContextInformationProvider((IStructuredDocument) viewer.getDocument(), (AttributeContextInformationPresenter) getContextInformationValidator());
-		return fAttributeInfoProvider.getAttributeInformation(documentOffset);
-	}
-
-	protected ContentAssistRequest computeEndTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		ContentAssistRequest contentAssistRequest = null;
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-		int completionRegionStart = sdRegion.getStartOffset(completionRegion);
-		int completionRegionLength = completionRegion.getLength();
-		IStructuredDocumentRegion sdRegionAtCompletionOffset = node.getStructuredDocument().getRegionAtCharacterOffset(completionRegionStart + completionRegionLength);
-		ITextRegion regionAtEndOfCompletion = sdRegionAtCompletionOffset.getRegionAtCharacterOffset(completionRegionStart + completionRegionLength);
-
-		if (documentPosition != completionRegionStart && regionAtEndOfCompletion != null && regionAtEndOfCompletion.getType() == XMLRegionContext.XML_TAG_NAME) {
-			ITextRegion nameRegion = regionAtEndOfCompletion;
-			contentAssistRequest = newContentAssistRequest(nodeAtOffset, nodeAtOffset.getParentNode(), sdRegion, completionRegion, sdRegion.getStartOffset(nameRegion), nameRegion.getTextLength(), matchString);
-		} else {
-			if (nodeAtOffset.getFirstStructuredDocumentRegion() == sdRegion) {
-				// abnormal case, this unmatched end tag will be a sibling
-				contentAssistRequest = newContentAssistRequest(nodeAtOffset, nodeAtOffset.getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
-			} else {
-				// normal case, this end tag is the parent
-				contentAssistRequest = newContentAssistRequest(nodeAtOffset, nodeAtOffset, sdRegion, completionRegion, documentPosition, 0, matchString);
-			}
-		}
-		//if (documentPosition >= sdRegion.getStartOffset(completionRegion) +
-		// completionRegion.getTextLength())
-		addEndTagProposals(contentAssistRequest);
-		//else
-		if (completionRegionStart == documentPosition) {
-			// positioned at start of end tag
-			addTagInsertionProposals(contentAssistRequest, node.getChildNodes().getLength());
-		}
-		return contentAssistRequest;
-	}
-
-	/**
-	 * return all possible EntityReferenceProposals (according to current
-	 * position in doc)
-	 */
-	protected ICompletionProposal[] computeEntityReferenceProposals(int documentPosition, ITextRegion completionRegion, XMLNode treeNode) {
-		// only handle XML content for now
-		Vector proposals = new Vector(); // ICompletionProposals
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-		if (completionRegion != null && completionRegion.getType() == XMLRegionContext.XML_CONTENT) {
-			int nodeOffset = documentPosition - sdRegion.getStartOffset(completionRegion);
-			String regionText = sdRegion.getFullText(completionRegion);
-
-			//if directly to the right of a &, region will be null, need to
-			// move to
-			// the previous region...there might be a better way to do this
-			if (regionText != null && regionText.trim().equals("") && documentPosition > 0) { //$NON-NLS-1$
-				IStructuredDocumentRegion prev = treeNode.getStructuredDocument().getRegionAtCharacterOffset(documentPosition - 1);
-				if (prev != null && prev.getFullText().trim().equals("&")) { //$NON-NLS-1$		
-					completionRegion = prev;
-					regionText = prev.getFullText();
-					nodeOffset = 1;
-				}
-			}
-
-			// string must start w/ &
-			if (regionText != null && regionText.startsWith("&")) { //$NON-NLS-1$						 		
-				String key = (nodeOffset > 0) ? regionText.substring(1, nodeOffset) : ""; //$NON-NLS-1$
-
-				// get entity proposals, passing in the appropriate start
-				// string
-				ModelQuery mq = ModelQueryUtil.getModelQuery(((Node) treeNode).getOwnerDocument());
-				if (mq != null) {
-					CMDocument xmlDoc = mq.getCorrespondingCMDocument(treeNode);
-					CMNamedNodeMap cmmap = null;
-					Properties entities = null;
-					if (xmlDoc != null) {
-						cmmap = xmlDoc.getEntities();
-					}
-					if (cmmap != null) {
-						entities = mapToProperties(cmmap);
-					} else // 224787 in absence of content model, just use
-					// minimal 5 entities
-					{
-						entities = new Properties();
-						entities.put("quot", "\""); //$NON-NLS-1$ //$NON-NLS-2$
-						entities.put("apos", "'"); //$NON-NLS-1$ //$NON-NLS-2$
-						entities.put("amp", "&"); //$NON-NLS-1$ //$NON-NLS-2$
-						entities.put("lt", "<"); //$NON-NLS-1$ //$NON-NLS-2$
-						entities.put("gt", ">"); //$NON-NLS-1$ //$NON-NLS-2$	
-						entities.put("nbsp", " "); //$NON-NLS-1$ //$NON-NLS-2$									
-					}
-					addEntityProposals(proposals, entities, key, nodeOffset, sdRegion, completionRegion); //$NON-NLS-1$
-				}
-			}
-		}
-		return (ICompletionProposal[]) ((proposals.size() > 0) ? proposals.toArray(new ICompletionProposal[proposals.size()]) : null);
-	}
-
-	protected ContentAssistRequest computeEqualsProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		ContentAssistRequest contentAssistRequest = null;
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-		ITextRegion valueRegion = node.getStartStructuredDocumentRegion().getRegionAtCharacterOffset(sdRegion.getStartOffset(completionRegion) + completionRegion.getLength());
-		if (valueRegion != null && valueRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE && sdRegion.getStartOffset(valueRegion) <= documentPosition) {
-			// replace the adjacent attribute value
-			contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, valueRegion, sdRegion.getStartOffset(valueRegion), valueRegion.getTextLength(), matchString);
-		} else {
-			// append an attribute value after the '='
-			contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, completionRegion, documentPosition, 0, matchString);
-		}
-		addAttributeValueProposals(contentAssistRequest);
-		return contentAssistRequest;
-	}
-
-	protected ContentAssistRequest computeStartDocumentProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		// setup for a non-empty document, but one that hasn't been formally
-		// started
-		ContentAssistRequest contentAssistRequest = null;
-		contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, getStructuredDocumentRegion(documentPosition), completionRegion, documentPosition, 0, matchString);
-		addStartDocumentProposals(contentAssistRequest);
-		addTemplates(contentAssistRequest, TemplateContextTypeIds.TAG);
-		addTemplates(contentAssistRequest, TemplateContextTypeIds.ALL);
-		return contentAssistRequest;
-	}
-
-	protected ContentAssistRequest computeTagCloseProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		ContentAssistRequest contentAssistRequest = null;
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-
-		if ((node.getNodeType() == Node.DOCUMENT_NODE) || (documentPosition >= sdRegion.getEndOffset())) {
-			// this is a content request as the documentPosition is AFTER the
-			// end of the closing region
-			if (node == nodeAtOffset && node.getParentNode() != null)
-				node = (XMLNode) node.getParentNode();
-			contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, completionRegion, documentPosition, 0, matchString);
-			addTagInsertionProposals(contentAssistRequest, getElementPositionForModelQuery(nodeAtOffset));
-			if (node.getNodeType() != Node.DOCUMENT_NODE && node.getEndStructuredDocumentRegion() == null) {
-				addEndTagProposals(contentAssistRequest);
-			}
-		} else {
-			// at the start of the tag's close or within it
-			ITextRegion closeRegion = sdRegion.getLastRegion();
-			boolean insideTag = !sdRegion.isEnded() || documentPosition <= sdRegion.getStartOffset(closeRegion);
-			if (insideTag) {
-				// this is a request for completions within a tag
-				contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, completionRegion, documentPosition, 0, matchString);
-				if (node.getNodeType() != Node.DOCUMENT_NODE && node.getEndStructuredDocumentRegion() != null) {
-					addTagCloseProposals(contentAssistRequest);
-				}
-				if (sdRegion == nodeAtOffset.getFirstStructuredDocumentRegion()) {
-					contentAssistRequest.setReplacementBeginPosition(documentPosition);
-					contentAssistRequest.setReplacementLength(0);
-					addAttributeNameProposals(contentAssistRequest);
-				}
-			}
-		}
-		return contentAssistRequest;
-	}
-
-	protected ContentAssistRequest computeTagNameProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		ContentAssistRequest contentAssistRequest = null;
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-
-		if (sdRegion != nodeAtOffset.getFirstStructuredDocumentRegion()) {
-			//completing the *first* tag in "<tagname1 |<tagname2"
-			XMLNode actualNode = (XMLNode) node.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
-			if (actualNode != null) {
-				if (actualNode.getFirstStructuredDocumentRegion() == sdRegion) {
-					// start tag
-					if (documentPosition > sdRegion.getStartOffset(completionRegion) + completionRegion.getLength()) {
-						// it's attributes
-						contentAssistRequest = newContentAssistRequest(actualNode, actualNode, sdRegion, completionRegion, documentPosition - matchString.length(), matchString.length(), matchString);
-						if (node.getStructuredDocument().getRegionAtCharacterOffset(sdRegion.getStartOffset(completionRegion) - 1).getRegionAtCharacterOffset(sdRegion.getStartOffset(completionRegion) - 1).getType() == XMLRegionContext.XML_TAG_OPEN)
-							addAttributeNameProposals(contentAssistRequest);
-						addTagCloseProposals(contentAssistRequest);
-					} else {
-						// it's name
-						contentAssistRequest = newContentAssistRequest(actualNode, actualNode.getParentNode(), sdRegion, completionRegion, documentPosition - matchString.length(), matchString.length(), matchString);
-						addTagNameProposals(contentAssistRequest, getElementPositionForModelQuery(actualNode));
-					}
-				} else {
-					if (documentPosition >= sdRegion.getStartOffset(completionRegion) + completionRegion.getLength()) {
-						// insert name
-						contentAssistRequest = newContentAssistRequest(actualNode, actualNode.getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
-					} else {
-						//replace name
-						contentAssistRequest = newContentAssistRequest(actualNode, actualNode.getParentNode(), sdRegion, completionRegion, sdRegion.getStartOffset(completionRegion), completionRegion.getTextLength(), matchString);
-					}
-					addEndTagNameProposals(contentAssistRequest);
-				}
-			}
-		} else {
-			if (documentPosition > sdRegion.getStartOffset(completionRegion) + completionRegion.getTextLength()) {
-				// unclosed tag with only a name; should prompt for attributes
-				// and a close instead
-				contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, completionRegion, documentPosition - matchString.length(), matchString.length(), matchString);
-				addAttributeNameProposals(contentAssistRequest);
-				addTagCloseProposals(contentAssistRequest);
-			} else {
-				if (sdRegion.getRegions().get(0).getType() != XMLRegionContext.XML_END_TAG_OPEN) {
-					contentAssistRequest = newContentAssistRequest(node, node.getParentNode(), sdRegion, completionRegion, sdRegion.getStartOffset(completionRegion), completionRegion.getTextLength(), matchString);
-					addTagNameProposals(contentAssistRequest, getElementPositionForModelQuery(nodeAtOffset));
-				} else {
-					XMLNode actualNode = (XMLNode) node.getModel().getIndexedRegion(documentPosition);
-					if (actualNode != null) {
-						if (documentPosition >= sdRegion.getStartOffset(completionRegion) + completionRegion.getTextLength()) {
-							contentAssistRequest = newContentAssistRequest(actualNode, actualNode.getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
-						} else {
-							contentAssistRequest = newContentAssistRequest(actualNode, actualNode.getParentNode(), sdRegion, completionRegion, sdRegion.getStartOffset(completionRegion), completionRegion.getTextLength(), matchString);
-						}
-						addEndTagNameProposals(contentAssistRequest);
-					}
-				}
-			}
-		}
-		return contentAssistRequest;
-	}
-
-	protected ContentAssistRequest computeTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, XMLNode nodeAtOffset, XMLNode node) {
-		ContentAssistRequest contentAssistRequest = null;
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
-		if (sdRegion != nodeAtOffset.getFirstStructuredDocumentRegion()) {
-			//completing the *first* XML_TAG_OPEN in "<<tagname"
-			XMLNode actualNode = (XMLNode) node.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
-			if (actualNode != null) {
-				contentAssistRequest = newContentAssistRequest(actualNode, actualNode.getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
-				addTagNameProposals(contentAssistRequest, getElementPositionForModelQuery(actualNode));
-				addEndTagProposals(contentAssistRequest); // (pa) 220850
-			}
-		} else {
-			if (documentPosition == sdRegion.getStartOffset(completionRegion)) {
-				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					// at the start of an existing tag, right before the '<'
-					contentAssistRequest = newContentAssistRequest(nodeAtOffset, node.getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
-					addTagInsertionProposals(contentAssistRequest, getElementPositionForModelQuery(nodeAtOffset));
-					addEndTagProposals(contentAssistRequest);
-				} else if (node.getNodeType() == Node.DOCUMENT_NODE) {
-					// at the opening of the VERY first tag with a '<'
-					contentAssistRequest = newContentAssistRequest(nodeAtOffset, node.getParentNode(), sdRegion, completionRegion, sdRegion.getStartOffset(completionRegion), completionRegion.getTextLength(), matchString);
-					addStartDocumentProposals(contentAssistRequest);
-				}
-			} else {
-				// within the white space
-				ITextRegion name = getNameRegion(node.getStartStructuredDocumentRegion());
-				// (pa) ITextRegion refactor
-				//if (name != null && name.containsOffset(documentPosition))
-				// {
-				if (name != null && (sdRegion.getStartOffset(name) <= documentPosition && sdRegion.getEndOffset(name) >= documentPosition)) {
-					// replace the existing name
-					contentAssistRequest = newContentAssistRequest(node, node.getParentNode(), sdRegion, completionRegion, sdRegion.getStartOffset(name), name.getTextLength(), matchString);
-				} else {
-					// insert a valid new name, or possibly an end tag
-					contentAssistRequest = newContentAssistRequest(nodeAtOffset, ((Node) nodeAtOffset).getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
-					addEndTagProposals(contentAssistRequest);
-					contentAssistRequest.setReplacementBeginPosition(documentPosition);
-					contentAssistRequest.setReplacementLength(0);
-				}
-				addTagNameProposals(contentAssistRequest, getElementPositionForModelQuery(nodeAtOffset));
-			}
-		}
-		return contentAssistRequest;
-	}
-
-	/**
-	 * Retreives cmnode's documentation to display in the completion
-	 * proposal's additional info. If no documentation exists for cmnode, try
-	 * displaying parentOrOwner's documentation
-	 * 
- String any documentation information to display for cmnode.
-	 *         <code>null</code> if there is nothing to display.
-	 */
-	protected String getAdditionalInfo(CMNode parentOrOwner, CMNode cmnode) {
-		String addlInfo = null;
-
-		if (cmnode == null) {
-			if (Debug.displayWarnings) {
-				new IllegalArgumentException("Null declaration!").printStackTrace(); //$NON-NLS-1$
-			}
-			return null;
-		}
-
-		addlInfo = getInfoProvider().getInfo(cmnode);
-		if (addlInfo == null && parentOrOwner != null)
-			addlInfo = getInfoProvider().getInfo(parentOrOwner);
-		return addlInfo;
-	}
-
-	// returns a list of ModelQueryActions
-	protected List getAvailableChildrenAtIndex(Element parent, int index) {
-		List list = new ArrayList();
-		CMElementDeclaration parentDecl = getCMElementDeclaration(parent);
-		if (parentDecl != null) {
-			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(parent.getOwnerDocument());
-			// taken from ActionManagers
-			// int editMode = modelQuery.getEditMode();
-			int editMode = ModelQuery.EDIT_MODE_UNCONSTRAINED;
-			int ic = (editMode == ModelQuery.EDIT_MODE_CONSTRAINED_STRICT) ? ModelQuery.INCLUDE_CHILD_NODES | ModelQuery.INCLUDE_SEQUENCE_GROUPS : ModelQuery.INCLUDE_CHILD_NODES;
-			int vc = (editMode == ModelQuery.EDIT_MODE_CONSTRAINED_STRICT) ? ModelQuery.VALIDITY_STRICT : ModelQuery.VALIDITY_NONE;
-			modelQuery.getInsertActions(parent, parentDecl, index, ic, vc, list);
-		}
-		return list;
-	}
-
-	// returns a list of CMElementDeclarations
-	protected List getAvailableRootChildren(Document document, int childIndex) {
-		List list = null;
-
-		// extract the valid 'root' node name from the DocumentType Node
-		DocumentType docType = document.getDoctype();
-		String rootName = null;
-		if (docType != null) {
-			rootName = docType.getNodeName();
-		}
-		if (rootName == null)
-			return new ArrayList(0);
-
-		for (Node child = document.getFirstChild(); child != null; child = child.getNextSibling()) {
-			//make sure the "root" Element isn't already present
-			// is it required to be an Element?
-			if (child.getNodeType() == Node.ELEMENT_NODE && stringsEqual(child.getNodeName(), rootName)) {
-				// if the node is missing either the start or end tag, don't
-				// count it as present
-				if (child instanceof XMLNode && (((XMLNode) child).getStartStructuredDocumentRegion() == null || ((XMLNode) child).getEndStructuredDocumentRegion() == null))
-					continue;
-				if (Debug.displayInfo)
-					System.out.println(rootName + " already present!"); //$NON-NLS-1$
-				setErrorMessage(SSEUIPlugin.getResourceString("%18concat", (new Object[]{rootName}))); //$NON-NLS-1$ = "The document element <{0}> is already present."
-				return new ArrayList(0);
-			}
-		}
-
-		list = new ArrayList(1);
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
-		if (modelQuery != null) {
-			CMDocument cmdoc = modelQuery.getCorrespondingCMDocument(document);
-			if (cmdoc != null) {
-				if (rootName != null) {
-					CMElementDeclaration rootDecl = (CMElementDeclaration) cmdoc.getElements().getNamedItem(rootName);
-					if (rootDecl != null) {
-						list.add(rootDecl);
-					} else {
-						// supply the given document name anyway, even if it
-						// is an error
-						list.add(new SimpleCMElementDeclaration(rootName));
-						if (Debug.displayInfo || Debug.displayWarnings)
-							System.out.println("No definition found for " + rootName + " in " + docType.getPublicId() + "/" + docType.getSystemId()); //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-						String location = "" + (docType.getPublicId() != null ? docType.getPublicId() + "/" : "") + (docType.getSystemId() != null ? docType.getSystemId() : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-						//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-						//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-						if (location.length() > 0)
-							setErrorMessage(SSEUIPlugin.getResourceString("%29concat", (new Object[]{rootName, location}))); //$NON-NLS-1$ = "No definition was found for element <{0}> in {1}"
-						else
-							setErrorMessage(SSEUIPlugin.getResourceString("%20concat", (new Object[]{rootName}))); //$NON-NLS-1$ = "No definition was found for element <{0}>"
-					}
-				}
-			} else {
-				if (Debug.displayInfo || Debug.displayWarnings)
-					System.out.println("No content model found."); //$NON-NLS-1$
-				//$NON-NLS-1$
-				//$NON-NLS-1$
-				String location = "" + (docType.getPublicId() != null ? docType.getPublicId() + "/" : "") + (docType.getSystemId() != null ? docType.getSystemId() : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-				if (location.length() > 0)
-					setErrorMessage(SSEUIPlugin.getResourceString("%24concat", (new Object[]{location}))); //$NON-NLS-1$ = "No content model found for {0}."
-				else
-					setErrorMessage(SSEUIPlugin.getResourceString("%No_content_model_found_UI_")); //$NON-NLS-1$ = "No content model found"
-			}
-		}
-
-		return list;
-	}
-
-	protected CMElementDeclaration getCMElementDeclaration(Node node) {
-		CMElementDeclaration result = null;
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-			if (modelQuery != null)
-				result = modelQuery.getCMElementDeclaration((Element) node);
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of possible completions.
-	 * 
- the auto activation characters for completion proposal or
-	 *         <code>null</code> if no auto activation is desired
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return completionProposalAutoActivationCharacters;
-	}
-
-	protected ITextRegion getCompletionRegion(int offset, IStructuredDocumentRegion sdRegion) {
-		ITextRegion region = sdRegion.getRegionAtCharacterOffset(offset);
-		if (region == null)
-			return null;
-
-		if (sdRegion.getStartOffset(region) == offset) {
-			// The offset is at the beginning of the region
-			if ((sdRegion.getStartOffset(region) == sdRegion.getStartOffset()) && (sdRegion.getPrevious() != null) && (!sdRegion.getPrevious().isEnded())) {
-				// Is the region also the start of the node? If so, the
-				// previous IStructuredDocumentRegion is
-				// where to look for a useful region.
-				region = sdRegion.getPrevious().getRegionAtCharacterOffset(offset - 1);
-			} else {
-				// Is there no separating whitespace from the previous region?
-				// If not,
-				// then that region is the important one
-				ITextRegion previousRegion = sdRegion.getRegionAtCharacterOffset(offset - 1);
-				if ((previousRegion != null) && (previousRegion != region) && (previousRegion.getTextLength() == previousRegion.getLength())) {
-					region = previousRegion;
-				}
-			}
-		} else {
-			// The offset is NOT at the beginning of the region
-			if (offset > sdRegion.getStartOffset(region) + region.getTextLength()) {
-				// Is the offset within the whitespace after the text in this
-				// region?
-				// If so, use the next region
-				ITextRegion nextRegion = sdRegion.getRegionAtCharacterOffset(sdRegion.getStartOffset(region) + region.getLength());
-				if (nextRegion != null)
-					region = nextRegion;
-			} else {
-				// Is the offset within the important text for this region?
-				// If so, then we've already got the right one.
-			}
-		}
-
-		// valid WHITE_SPACE region handler (#179924)
-		if (region != null && region.getType() == XMLRegionContext.WHITE_SPACE) {
-			ITextRegion previousRegion = sdRegion.getRegionAtCharacterOffset(sdRegion.getStartOffset(region) - 1);
-			if (previousRegion != null)
-				region = previousRegion;
-		}
-
-		return region;
-	}
-
-	/**
-	 * Return the region whose content's require completion. This is something
-	 * of a misnomer as sometimes the user wants to be prompted for contents
-	 * of a non-existant ITextRegion, such as for enumerated attribute values
-	 * following an '=' sign.
-	 */
-	protected ITextRegion getCompletionRegion(int documentPosition, Node domnode) {
-		if (domnode == null)
-			return null;
-
-		ITextRegion region = null;
-		int offset = documentPosition;
-		IStructuredDocumentRegion flatNode = null;
-		XMLNode node = (XMLNode) domnode;
-
-		if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			if (node.getStructuredDocument().getLength() == 0)
-				return null;
-			ITextRegion result = node.getStructuredDocument().getRegionAtCharacterOffset(offset).getRegionAtCharacterOffset(offset);
-			while (result == null) {
-				offset--;
-				result = node.getStructuredDocument().getRegionAtCharacterOffset(offset).getRegionAtCharacterOffset(offset);
-			}
-			return result;
-		}
-
-		IStructuredDocumentRegion startTag = node.getStartStructuredDocumentRegion();
-		IStructuredDocumentRegion endTag = node.getEndStructuredDocumentRegion();
-
-		// Determine if the offset is within the start
-		// IStructuredDocumentRegion, end IStructuredDocumentRegion, or
-		// somewhere within the Node's XML content.
-		if ((startTag != null) && (startTag.getStartOffset() <= offset) && (offset < startTag.getStartOffset() + startTag.getLength()))
-			flatNode = startTag;
-		else if ((endTag != null) && (endTag.getStartOffset() <= offset) && (offset < endTag.getStartOffset() + endTag.getLength()))
-			flatNode = endTag;
-
-		if (flatNode != null) {
-			// the offset is definitely within the start or end tag, continue
-			// on and find the region
-			region = getCompletionRegion(offset, flatNode);
-		} else {
-			// the docPosition is neither within the start nor the end, so it
-			// must be content
-			flatNode = node.getStructuredDocument().getRegionAtCharacterOffset(offset);
-			// (pa) ITextRegion refactor
-			//if (flatNode.contains(documentPosition)) {
-			if (flatNode.getStartOffset() <= documentPosition && flatNode.getEndOffset() >= documentPosition) {
-				// we're interesting in completing/extending the previous
-				// IStructuredDocumentRegion if the current
-				// IStructuredDocumentRegion isn't plain content or if it's
-				// preceded by an orphan '<'
-				if ((offset == flatNode.getStartOffset()) && (flatNode.getPrevious() != null) && (flatNode.getRegionAtCharacterOffset(documentPosition) != null && flatNode.getRegionAtCharacterOffset(documentPosition).getType() != XMLRegionContext.XML_CONTENT || flatNode.getPrevious().getLastRegion().getType() == XMLRegionContext.XML_TAG_OPEN || flatNode.getPrevious().getLastRegion().getType() == XMLRegionContext.XML_END_TAG_OPEN)) {
-					// Is the region also the start of the node? If so, the
-					// previous IStructuredDocumentRegion is
-					// where to look for a useful region.
-					region = flatNode.getPrevious().getLastRegion();
-				} else if (flatNode.getEndOffset() == documentPosition) {
-					region = flatNode.getLastRegion();
-				} else
-					region = flatNode.getFirstRegion();
-			} else {
-				// catch end of document positions where the docPosition isn't
-				// in a IStructuredDocumentRegion
-				region = flatNode.getLastRegion();
-			}
-		}
-
-		return region;
-	}
-
-	/**
-	 * Provided by default. Subclasses may override with their own
-	 * implementations.
-	 * 
-	 * @see AbstractContentAssistProcessor#getContentGenerator()
-	 */
-	public XMLContentModelGenerator getContentGenerator() {
-		if (fGenerator == null)
-			fGenerator = new XMLContentModelGenerator();
-		return fGenerator;
-	}
-
-	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of context information.
-	 * 
- the auto activation characters for presenting context
-	 *         information or <code>null</code> if no auto activation is
-	 *         desired
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return contextInformationAutoActivationCharacters;
-	}
-
-	/**
-	 * Returns a validator used to determine when displayed context
-	 * information should be dismissed. May only return <code>null</code> if
-	 * the processor is incapable of computing context information.
-	 * 
- a context information validator, or <code>null</code> if the
-	 *         processor is incapable of computing context information
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		if (fContextInformationPresenter == null)
-			fContextInformationPresenter = new AttributeContextInformationPresenter();
-		return fContextInformationPresenter;
-	}
-
-	protected int getElementPosition(Node child) {
-		Node parent = child.getParentNode();
-		if (parent == null)
-			return 0;
-
-		NodeList children = parent.getChildNodes();
-		if (children == null)
-			return 0;
-		int count = 0;
-
-		for (int i = 0; i < children.getLength(); i++) {
-			if (children.item(i) == child)
-				return count;
-			else
-				// if (children.item(i).getNodeType() == Node.ELEMENT_NODE)
-				count++;
-		}
-		return 0;
-	}
-
-	private int getElementPositionForModelQuery(Node child) {
-		return getElementPosition(child);
-		//	return -1;
-	}
-
-	/**
-	 * Return the reason why computeProposals was not able to find any
-	 * completions.
-	 * 
- an error message or null if no error occurred
-	 */
-	public String getErrorMessage() {
-		return fErrorMessage;
-	}
-
-	/**
-	 * @param iResource
-	 */
-	//	public void initialize(IResource iResource) {
-	//		this.resource = iResource;
-	//	}
-	/**
-	 * Gets the infoProvider.
-	 * 
- fInfoProvider and if fInfoProvider was <code>null</code>
-	 *         create a new instance
-	 */
-	public MarkupTagInfoProvider getInfoProvider() {
-		if (fInfoProvider == null) {
-			fInfoProvider = new MarkupTagInfoProvider();
-		}
-		return fInfoProvider;
-	}
-
-	protected String getMatchString(IStructuredDocumentRegion parent, ITextRegion aRegion, int offset) {
-		if (aRegion == null || isCloseRegion(aRegion))
-			return ""; //$NON-NLS-1$
-		String matchString = null;
-		String regionType = aRegion.getType();
-		if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS || regionType == XMLRegionContext.XML_TAG_OPEN || (offset > parent.getStartOffset(aRegion) + aRegion.getTextLength())) {
-			matchString = ""; //$NON-NLS-1$
-		} else if (regionType == XMLRegionContext.XML_CONTENT) {
-			matchString = ""; //$NON-NLS-1$
-		} else {
-			if (parent.getText(aRegion).length() > 0 && parent.getStartOffset(aRegion) < offset)
-				matchString = parent.getText(aRegion).substring(0, offset - parent.getStartOffset(aRegion));
-			else
-				matchString = ""; //$NON-NLS-1$
-		}
-		return matchString;
-	}
-
-	protected ITextRegion getNameRegion(IStructuredDocumentRegion flatNode) {
-		if (flatNode == null)
-			return null;
-		Iterator regionList = flatNode.getRegions().iterator();
-		while (regionList.hasNext()) {
-			ITextRegion region = (ITextRegion) regionList.next();
-			if (isNameRegion(region))
-				return region;
-		}
-		return null;
-	}
-
-	/**
-	 * Retrieves all of the possible valid values for this attribute
-	 * declaration
-	 */
-	protected List getPossibleDataTypeValues(Node node, CMAttributeDeclaration ad) {
-		List list = null;
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element) node;
-			String[] dataTypeValues = null;
-			// The ModelQuery may not be available if the corresponding
-			// adapter
-			// is absent
-			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(element.getOwnerDocument());
-			if (modelQuery != null) {
-				dataTypeValues = modelQuery.getPossibleDataTypeValues(element, ad);
-			} else {
-				if (ad.getAttrType() != null)
-					dataTypeValues = ad.getAttrType().getEnumeratedValues();
-			}
-			if (dataTypeValues != null) {
-				list = new ArrayList(dataTypeValues.length);
-				for (int i = 0; i < dataTypeValues.length; i++) {
-					list.add(dataTypeValues[i]);
-				}
-			}
-		}
-		if (list == null) {
-			list = new ArrayList(0);
-		}
-		return list;
-	}
-
-	protected String getRequiredName(Node parentOrOwner, CMNode cmnode) {
-		if (cmnode == null || parentOrOwner == null) {
-			if (Debug.displayWarnings) {
-				new IllegalArgumentException("Null declaration!").printStackTrace(); //$NON-NLS-1$
-			}
-			return ""; //$NON-NLS-1$
-		}
-		return getContentGenerator().getRequiredName(parentOrOwner, cmnode);
-	}
-	
-	protected String getRequiredText(Node parentOrOwner, CMAttributeDeclaration attrDecl) {
-		if (attrDecl == null) {
-			if (Debug.displayWarnings) {
-				new IllegalArgumentException("Null attribute declaration!").printStackTrace(); //$NON-NLS-1$
-			}
-			return ""; //$NON-NLS-1$
-		}
-		StringBuffer buff = new StringBuffer();
-		getContentGenerator().generateRequiredAttribute(parentOrOwner, attrDecl, buff);
-		return buff.toString();
-	}
-
-	protected String getRequiredText(Node parentOrOwner, CMElementDeclaration elementDecl) {
-		if (elementDecl == null) {
-			if (Debug.displayWarnings) {
-				new IllegalArgumentException("Null attribute declaration!").printStackTrace(); //$NON-NLS-1$
-			}
-			return ""; //$NON-NLS-1$
-		}
-		StringBuffer buff = new StringBuffer();
-		getContentGenerator().generateTag(parentOrOwner, elementDecl, buff);
-		return buff.toString();
-	}
-
-	/**
-	 * StructuredTextViewer must be set before using this.
-	 */
-	public IStructuredDocumentRegion getStructuredDocumentRegion(int pos) {
-		// (pa) ITextRegion refactor defect 245190
-		//return
-		// (IStructuredDocumentRegion)ContentAssistUtils.getNodeAt((StructuredTextViewer)fTextViewer,
-		// pos);
-		return ContentAssistUtils.getStructuredDocumentRegion((StructuredTextViewer) fTextViewer, pos);
-	}
-
-	private String getTagName(IStructuredDocumentRegion sdRegion) {
-		ITextRegionList regions = sdRegion.getRegions();
-		ITextRegion region = null;
-		String name = ""; //$NON-NLS-1$
-		for (int i = 0; i < regions.size(); i++) {
-			region = regions.get(i);
-			if (region.getType() == XMLRegionContext.XML_TAG_NAME) {
-				name = sdRegion.getText(region);
-				break;
-			}
-		}
-		return name;
-	}
-
-	/**
-	 * Return the template completion processor to be used
-	 * 
- AbstractTemplateCompletionProcessor
-	 */
-	protected AbstractTemplateCompletionProcessor getTemplateCompletionProcessor() {
-		return null;
-	}
-
-	protected List getValidCMNodes(int childPosition, int kindOfAction, List modelQueryActions) {
-		Iterator iterator = modelQueryActions.iterator();
-		List cmnodes = new Vector();
-		while (iterator.hasNext()) {
-			ModelQueryAction action = (ModelQueryAction) iterator.next();
-			if (childPosition < 0 || (action.getStartIndex() <= childPosition && childPosition <= action.getEndIndex()) && action.getKind() == kindOfAction) {
-				CMNode actionCMNode = action.getCMNode();
-				if (actionCMNode != null && !cmnodes.contains(actionCMNode))
-					cmnodes.add(actionCMNode);
-			}
-		}
-		return cmnodes;
-	}
-
-	/**
-	 * Similar to the call in HTMLContentAssistProcessor. Pass in a node, it
-	 * tells you if the document is XML type.
-	 * 
-	 * @param node
-
-	 */
-	protected boolean getXML(Node node) {
-		if (node == null)
-			return false;
-
-		Document doc = null;
-		doc = (node.getNodeType() != Node.DOCUMENT_NODE) ? node.getOwnerDocument() : ((Document) node);
-
-		return (doc instanceof XMLDocument) && ((XMLDocument) doc).isXMLType();
-	}
-
-	// Initialize local settings
-	protected void init() {
-		// implement in subclasses
-	}
-
-	protected boolean isCloseRegion(ITextRegion region) {
-		String type = region.getType();
-		return ((type == XMLRegionContext.XML_PI_CLOSE) || (type == XMLRegionContext.XML_TAG_CLOSE) || (type == XMLRegionContext.XML_EMPTY_TAG_CLOSE) || (type == XMLRegionContext.XML_CDATA_CLOSE) || (type == XMLRegionContext.XML_COMMENT_CLOSE) || (type == XMLRegionContext.XML_ATTLIST_DECL_CLOSE) || (type == XMLRegionContext.XML_ELEMENT_DECL_CLOSE) || (type == XMLRegionContext.XML_DOCTYPE_DECLARATION_CLOSE) || (type == XMLJSPRegionContexts.JSP_CLOSE) || (type == XMLJSPRegionContexts.JSP_COMMENT_CLOSE) || (type == XMLJSPRegionContexts.JSP_DIRECTIVE_CLOSE) || (type == XMLRegionContext.XML_DECLARATION_CLOSE));
-	}
-
-	/*
-	 * This is to determine if a tag is a special meta-info comment tag that
-	 * shows up as an ELEMENT
-	 */
-	private boolean isCommentNode(XMLNode node) {
-		return (node != null && node instanceof XMLElement && ((XMLElement) node).isCommentTag());
-	}
-
-	/**
-	 * Checks if cursor position is after doctype tag...
-	 * 
-	 * @param car
-
-	 */
-	protected boolean isCursorAfterDoctype(ContentAssistRequest car) {
-		Node aNode = car.getNode();
-		Document parent = aNode.getOwnerDocument();
-		int xmldoctypeNodePosition = -1;
-		boolean isAfterDoctype = true;
-
-		if (parent == null)
-			return true; // blank document case
-
-		for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (child instanceof XMLNode) {
-				if (child.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-					xmldoctypeNodePosition = ((XMLNode) child).getEndOffset();
-					isAfterDoctype = (car.getReplacementBeginPosition() >= xmldoctypeNodePosition);
-					break;
-				}
-			}
-		}
-		return isAfterDoctype;
-	}
-
-	/**
-	 * This method can check if the cursor is after the XMLPI
-	 * 
-	 * @param car
-
-	 */
-	protected boolean isCursorAfterXMLPI(ContentAssistRequest car) {
-		Node aNode = car.getNode();
-		boolean xmlpiFound = false;
-		Document parent = aNode.getOwnerDocument();
-		int xmlpiNodePosition = -1;
-		boolean isAfterXMLPI = false;
-
-		if (parent == null)
-			return true; // blank document case
-
-		for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-			boolean xmlpi = (child.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE && child.getNodeName().equals("xml")); //$NON-NLS-1$
-			xmlpiFound = xmlpiFound || xmlpi;
-			if (xmlpiFound) {
-				if (child instanceof XMLNode) {
-					xmlpiNodePosition = ((XMLNode) child).getEndOffset();
-					isAfterXMLPI = (car.getReplacementBeginPosition() >= xmlpiNodePosition);
-				}
-				break;
-			}
-		}
-		return isAfterXMLPI;
-	}
-
-	protected boolean isNameRegion(ITextRegion region) {
-		String type = region.getType();
-		return ((type == XMLRegionContext.XML_TAG_NAME) || (type == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME) || (type == XMLRegionContext.XML_ELEMENT_DECL_NAME) || (type == XMLRegionContext.XML_DOCTYPE_NAME) || (type == XMLRegionContext.XML_ATTLIST_DECL_NAME) || (type == XMLJSPRegionContexts.JSP_ROOT_TAG_NAME) || type == XMLJSPRegionContexts.JSP_DIRECTIVE_NAME);
-	}
-
-	protected boolean isQuote(String string) {
-		String trimmed = string.trim();
-		if (trimmed.length() > 0) {
-			return trimmed.charAt(0) == '\'' || trimmed.charAt(0) == '"';
-		}
-		return false;
-	}
-
-	private boolean isSelfClosed(IStructuredDocumentRegion startTag) {
-		ITextRegionList regions = startTag.getRegions();
-		return regions.get(regions.size() - 1).getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE;
-	}
-
-	private boolean isStartTag(IStructuredDocumentRegion sdRegion) {
-		boolean result = false;
-		if (sdRegion.getRegions().size() > 0) {
-			ITextRegion r = sdRegion.getRegions().get(0);
-			result = r.getType() == XMLRegionContext.XML_TAG_OPEN && sdRegion.isEnded();
-		}
-		return result;
-	}
-
-	protected Properties mapToProperties(CMNamedNodeMap map) {
-		Properties p = new Properties();
-		for (int i = 0; i < map.getLength(); i++) {
-			CMEntityDeclaration decl = (CMEntityDeclaration) map.item(i);
-			p.put(decl.getName(), decl.getValue());
-		}
-		return p;
-	}
-
-	/**
-	 * Gets the corresponding XMLNode, and checks if it's closed.
-	 * 
-	 * @param startTag
-
-	 */
-	private boolean needsEndTag(IStructuredDocumentRegion startTag) {
-		boolean result = false;
-		IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(fTextViewer.getDocument());
-		try {
-			if (sModel != null) {
-				XMLNode xmlNode = (XMLNode) sModel.getIndexedRegion(startTag.getStart());
-				if (!isStartTag(startTag))
-					result = false;
-				else if (isSelfClosed(startTag))
-					result = false;
-				else if (!xmlNode.isContainer())
-					result = false;
-				else
-					result = xmlNode.getEndStructuredDocumentRegion() == null;
-			}
-		} finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-		return result;
-	}
-
-	protected ContentAssistRequest newContentAssistRequest(Node node, Node possibleParent, IStructuredDocumentRegion documentRegion, ITextRegion completionRegion, int begin, int length, String filter) {
-		return new ContentAssistRequest(node, possibleParent, documentRegion, completionRegion, begin, length, filter, null);
-	}
-
-	public void release() {
-		fGenerator = null;
-	}
-
-	/**
-	 * Set the reason why computeProposals was not able to find any
-	 * completions.
-	 */
-	public void setErrorMessage(String errorMessage) {
-		fErrorMessage = errorMessage;
-	}
-
-	/**
-	 * Set the reason why computeProposals was not able to find any
-	 * completions.
-	 */
-	protected void setErrorMessage(String errorMessage, String append) {
-		setErrorMessage(errorMessage + append);
-	}
-
-	/**
-	 * Set the reason why computeProposals was not able to find any
-	 * completions.
-	 */
-	protected void setErrorMessage(String errorMessage, String prepend, String append) {
-		setErrorMessage(prepend + errorMessage + append);
-	}
-
-	protected boolean stringsEqual(String a, String b) {
-		// (pa) 221190 matching independent of case to be consistant with Java
-		// editor CA
-		return a.equalsIgnoreCase(b);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractContentModelGenerator.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractContentModelGenerator.java
deleted file mode 100644
index 27b0d72..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractContentModelGenerator.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.w3c.dom.Node;
-
-
-public abstract class AbstractContentModelGenerator {
-
-	public static boolean generateChildren = false;
-
-	public AbstractContentModelGenerator() {
-		super();
-	}
-
-	public abstract void generateAttribute(CMAttributeDeclaration attrDecl, StringBuffer buffer);
-
-	protected void generateAttributes(CMElementDeclaration elementDecl, StringBuffer buffer) {
-		CMNamedNodeMap attributes = elementDecl.getAttributes();
-		if (attributes == null)
-			return;
-		for (int i = 0; i < attributes.getLength(); i++) {
-			generateAttribute((CMAttributeDeclaration) attributes.item(i), buffer);
-		}
-		return;
-	}
-
-	protected abstract void generateEndTag(String tagName, Node parentNode, CMElementDeclaration elementDecl, StringBuffer buffer);
-
-	public void generateRequiredChildren(Node parentNode, CMElementDeclaration elementDecl, StringBuffer buffer) {
-		if (generateChildren) {
-		}
-		return;
-	}
-
-	protected abstract void generateStartTag(String tagName, Node parentNode, CMElementDeclaration elementDecl, StringBuffer buffer);
-
-	public void generateTag(Node parent, CMElementDeclaration elementDecl, StringBuffer buffer) {
-		if (elementDecl == null || buffer == null)
-			return;
-
-		String tagName = getRequiredName(parent, elementDecl);
-
-		generateStartTag(tagName, parent, elementDecl, buffer);
-		generateRequiredChildren(parent, elementDecl, buffer);
-		generateEndTag(tagName, parent, elementDecl, buffer);
-		return;
-	}
-
-	public abstract int getMinimalStartTagLength(Node node, CMElementDeclaration elementDecl);
-
-	public String getRequiredName(Node ownerNode, CMNode cmnode) {
-		if (ownerNode != null) {
-			return DOMNamespaceHelper.computeName(cmnode, ownerNode, null);
-		}
-		return cmnode.getNodeName();
-	}
-
-	public abstract String getStartTagClose(Node parentNode, CMElementDeclaration elementDecl);
-
-	protected boolean requiresAttributes(CMElementDeclaration ed) {
-		CMNamedNodeMap attributes = ed.getAttributes();
-		if (attributes == null)
-			return false;
-		for (int i = 0; i < attributes.getLength(); i++) {
-			if (((CMAttributeDeclaration) attributes.item(i)).getUsage() == CMAttributeDeclaration.REQUIRED)
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractTemplateCompletionProcessor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractTemplateCompletionProcessor.java
deleted file mode 100644
index e5da491..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractTemplateCompletionProcessor.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateCompletionProcessor;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-
-
-/**
- * A completion processor that computes template proposals and works with
- * AbstractContentAssistProcessor
- */
-abstract public class AbstractTemplateCompletionProcessor extends TemplateCompletionProcessor {
-	private String fContextTypeId = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#createProposal(org.eclipse.jface.text.templates.Template, org.eclipse.jface.text.templates.TemplateContext, org.eclipse.jface.text.IRegion, int)
-	 */
-	protected ICompletionProposal createProposal(Template template, TemplateContext context, IRegion region, int relevance) {
-		// CustomTemplateProposal turns the additional information to content
-		// fit for HTML
-		return new CustomTemplateProposal(template, context, region, getImage(template), relevance);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getContextType(org.eclipse.jface.text.ITextViewer,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	protected TemplateContextType getContextType(ITextViewer viewer, IRegion region) {
-		// another completion processor should have already set the current
-		// context type id, so just use that value instead of trying to
-		// determine
-		// the context type again
-		if (getTemplateContextRegistry() != null) {
-			return getTemplateContextRegistry().getContextType(getContextTypeId());
-		}
-		return null;
-	}
-
-	protected String getContextTypeId() {
-		return fContextTypeId;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getImage(org.eclipse.jface.text.templates.Template)
-	 */
-	protected Image getImage(Template template) {
-		// just return the same image for now
-		return XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_MACRO);
-	}
-
-	/**
-	 * Return the template context registry to use with this completion
-	 * processor
-	 * 
-	 * @return ContextTypeRegistry
-	 */
-	abstract protected ContextTypeRegistry getTemplateContextRegistry();
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getTemplates(java.lang.String)
-	 */
-	protected Template[] getTemplates(String contextTypeId) {
-		if (getTemplateStore() != null) {
-			return getTemplateStore().getTemplates(contextTypeId);
-		}
-		return null;
-	}
-
-	/**
-	 * Return the template store to use with this template completion
-	 * processor
-	 * 
-	 * @return TemplateStore
-	 */
-	abstract protected TemplateStore getTemplateStore();
-
-	/**
-	 * Set the current context type to use when determining completion
-	 * proposals.
-	 * 
-	 * @param contextTypeId
-	 */
-	public void setContextType(String contextTypeId) {
-		fContextTypeId = contextTypeId;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AttributeContextInformation.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AttributeContextInformation.java
deleted file mode 100644
index f2c2963..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AttributeContextInformation.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.ui.util.Assert;
-
-
-/**
- * Implementation of IContextInformation. Adds knowledge about the information
- * display string such as required attributes for this context.
- * 
- * @author pavery
- */
-public class AttributeContextInformation implements IContextInformation {
-	private HashMap fAttr2RangeMap;
-	/** The name of the context */
-	private String fContextDisplayString;
-	/** The image to be displayed */
-	private Image fImage;
-	/** The information to be displayed */
-	private String fInformationDisplayString;
-	private int fPosition;
-
-	/**
-	 * Creates a new context information with an image.
-	 * 
-	 * @param image
-	 *            the image to display when presenting the context information
-	 * @param contextDisplayString
-	 *            the string to be used when presenting the context
-	 * @param informationDisplayString
-	 *            the string to be displayed when presenting the context
-	 *            information, may not be <code>null</code>
-	 */
-	public AttributeContextInformation(Image image, String contextDisplayString, String informationDisplayString, HashMap attr2RangeMap) {
-		Assert.isNotNull(informationDisplayString);
-
-		fImage = image;
-		fContextDisplayString = contextDisplayString;
-		fInformationDisplayString = informationDisplayString;
-		fAttr2RangeMap = attr2RangeMap;
-	}
-
-	/**
-	 * Creates a new context information without an image.
-	 * 
-	 * @param contextDisplayString
-	 *            the string to be used when presenting the context
-	 * @param informationDisplayString
-	 *            the string to be displayed when presenting the context
-	 *            information
-	 */
-	public AttributeContextInformation(String contextDisplayString, String informationDisplayString, HashMap attr2RangeMap) {
-		this(null, contextDisplayString, informationDisplayString, attr2RangeMap);
-	}
-
-	/**
-	 * Maps (String -> Position). The attribute name to the Text position.
-	 * 
-	 * 
-	 */
-	public HashMap getAttr2RangeMap() {
-		return fAttr2RangeMap;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContextInformation#getContextDisplayString()
-	 */
-	public String getContextDisplayString() {
-		if (fContextDisplayString != null)
-			return fContextDisplayString;
-		return fInformationDisplayString;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContextInformationExtension#getContextInformationPosition()
-	 */
-	public int getContextInformationPosition() {
-		return fPosition;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContextInformation#getImage()
-	 */
-	public Image getImage() {
-		return fImage;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContextInformation#getInformationDisplayString()
-	 */
-	public String getInformationDisplayString() {
-		return fInformationDisplayString;
-	}
-
-	public void setContextInformationPosition(int position) {
-		fPosition = position;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AttributeContextInformationPresenter.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AttributeContextInformationPresenter.java
deleted file mode 100644
index ab19b30..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AttributeContextInformationPresenter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationPresenter;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-/**
- * Responsible for the presentation of the context info popup. This includes
- * text style, and when the window should close.
- * 
- * @author pavery
- */
-public class AttributeContextInformationPresenter implements IContextInformationPresenter, IContextInformationValidator {
-	private int fDocumentPosition = -1;
-
-	private IContextInformation fInfo = null;
-	private ContextInfoModelUtil fModelUtil = null;
-	private ITextViewer fViewer = null;
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContextInformationValidator#install(org.eclipse.jface.text.contentassist.IContextInformation,
-	 *      org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public void install(IContextInformation info, ITextViewer viewer, int documentPosition) {
-		fInfo = info;
-		fViewer = viewer;
-		fDocumentPosition = documentPosition;
-		fModelUtil = new ContextInfoModelUtil((IStructuredDocument) fViewer.getDocument());
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContextInformationValidator#isContextInformationValid(int)
-	 */
-	public boolean isContextInformationValid(int documentPosition) {
-		// determine whether or not this context info should still be
-		// showing...
-		// if cursor still within the element it's valid...
-		IStructuredDocumentRegion startRegion = fModelUtil.getXMLNode(fDocumentPosition).getStartStructuredDocumentRegion();
-		int start = startRegion.getStartOffset();
-		int end = startRegion.getEndOffset();
-		return documentPosition < end && documentPosition > start + 1;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContextInformationPresenter#updatePresentation(int,
-	 *      org.eclipse.jface.text.TextPresentation)
-	 */
-	public boolean updatePresentation(int documentPosition, TextPresentation presentation) {
-		presentation.clear();
-
-		if (!(fInfo instanceof AttributeContextInformation))
-			return false;
-
-		// iterate existing attributes from current node
-		XMLNode xmlNode = fModelUtil.getXMLNode(documentPosition);
-		IStructuredDocumentRegion sdRegion = xmlNode.getFirstStructuredDocumentRegion();
-		ITextRegionList regions = sdRegion.getRegions();
-		ITextRegion r = null;
-		String attrName = ""; //$NON-NLS-1$
-		Object temp = null;
-		Position p = null;
-		HashMap map = ((AttributeContextInformation) fInfo).getAttr2RangeMap();
-
-		// so we can add ranges in order
-		StyleRange[] sorted = new StyleRange[fInfo.getInformationDisplayString().length()];
-		for (int i = 0; i < regions.size(); i++) {
-			r = regions.get(i);
-			if (r.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				attrName = sdRegion.getText(r);
-				temp = map.get(attrName);
-				if (temp != null) {
-					p = (Position) temp;
-					sorted[p.offset] = new StyleRange(p.offset, p.length, null, null, SWT.BOLD);
-				}
-			}
-		}
-		// style ranges need to be added in order
-		StyleRange sr = null;
-		for (int i = 0; i < sorted.length; i++) {
-			sr = sorted[i];
-			if (sr != null)
-				presentation.addStyleRange(sr);
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AttributeContextInformationProvider.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AttributeContextInformationProvider.java
deleted file mode 100644
index bf2e0eb..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AttributeContextInformationProvider.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.contentassist.ContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMContent;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMGroup;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * Calculates attribute context information based on a StructuedDocument and
- * document position.
- * 
- * @author pavery
- */
-class AttributeContextInformationProvider {
-	private final IContextInformation[] EMPTY_CONTEXT_INFO = new IContextInformation[0];
-	private Comparator fComparator;
-
-	private IStructuredDocument fDocument = null;
-	private ContextInfoModelUtil fModelUtil = null;
-
-	public AttributeContextInformationProvider(IStructuredDocument doc, AttributeContextInformationPresenter presenter) {
-		fDocument = doc;
-		fModelUtil = new ContextInfoModelUtil(fDocument);
-	}
-
-	/**
-	 * @param sdRegion
-	 
-	 */
-	private boolean canProposeInfo(IStructuredDocumentRegion sdRegion) {
-		if (sdRegion != null && isEndTag(sdRegion))
-			return false;
-		else
-			return true;
-	}
-
-	public IContextInformation[] getAttributeInformation(int offset) {
-		/*
-		 * need to take care of special cases w/ ambiguous regions <tag>|
-		 * </tag> also end tags..
-		 */
-		IContextInformation[] results = EMPTY_CONTEXT_INFO;
-
-		IStructuredDocumentRegion sdRegion = fModelUtil.getDocument().getRegionAtCharacterOffset(offset);
-		if (!canProposeInfo(sdRegion))
-			return EMPTY_CONTEXT_INFO;
-
-		XMLNode node = fModelUtil.getXMLNode(offset);
-		if (node != null) {
-			switch (node.getNodeType()) {
-				case Node.ELEMENT_NODE :
-					results = getInfoForElement(node);
-					break;
-			// future...
-			//			case Node.TEXT_NODE :
-			//				results = getInfoForText(node);
-			//				break;
-			}
-		}
-		return results;
-	}
-
-	/**
-	 * Returns a comparator that compares CMAttributeDeclaration names.
-	 * 
-	  the comparator
-	 */
-	private Comparator getCMAttributeComparator() {
-		if (fComparator == null)
-			fComparator = new Comparator() {
-				public int compare(Object o1, Object o2) {
-					return ((CMAttributeDeclaration) o1).getAttrName().compareTo(((CMAttributeDeclaration) o2).getAttrName());
-				}
-			};
-		return fComparator;
-	}
-
-	/**
-	 * @param node
-	 
-	 */
-	private IContextInformation[] getInfoForElement(XMLNode node) {
-		IContextInformation[] results = EMPTY_CONTEXT_INFO;
-		CMElementDeclaration decl = fModelUtil.getModelQuery().getCMElementDeclaration((Element) node);
-		if (decl != null) {
-			CMNamedNodeMap attributes = decl.getAttributes();
-
-			String attrContextString = node.getNodeName();
-			StringBuffer attrInfo = new StringBuffer(" "); //$NON-NLS-1$
-			String name = ""; //$NON-NLS-1$
-			HashMap attrPosMap = new HashMap();
-			int pos = 0;
-			int length = 0;
-			int numPerLine = 8;
-
-			CMAttributeDeclaration[] sortedAttrs = getSortedAttributes(attributes);
-
-			for (int i = 0; i < sortedAttrs.length; i++) {
-				name = sortedAttrs[i].getAttrName();
-				length = name.length();
-				pos = attrInfo.length();
-
-				attrInfo.append(name);
-
-				if (sortedAttrs[i].getUsage() == CMAttributeDeclaration.REQUIRED) {
-					attrInfo.append("*"); //$NON-NLS-1$
-					length++;
-				}
-				if (i < attributes.getLength() - 1) {
-					attrInfo.append(" "); //$NON-NLS-1$
-					if (i != 0 && i % numPerLine == 0)
-						attrInfo.append("\n "); //$NON-NLS-1$
-				}
-				attrPosMap.put(name, new Position(pos, length));
-			}
-			if (!attrInfo.toString().trim().equals("")) //$NON-NLS-1$
-				return new IContextInformation[]{new AttributeContextInformation(attrContextString, attrInfo.toString(), attrPosMap)};
-		}
-		return results;
-	}
-
-	/**
-	 * @param node
-	 
-	 */
-	 IContextInformation[] getInfoForText(XMLNode node) {
-		Node parent = node.getParentNode();
-		String contextString = node.getNodeName();
-		StringBuffer info = new StringBuffer(" "); //$NON-NLS-1$
-		if (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
-			CMElementDeclaration decl = fModelUtil.getModelQuery().getCMElementDeclaration((Element) parent);
-			CMContent content = decl.getContent();
-			if (content instanceof CMGroup) {
-				CMGroup cmGroup = (CMGroup) content;
-				CMNodeList children = cmGroup.getChildNodes();
-				CMNode cmNode = null;
-				for (int i = 0; i < children.getLength(); i++) {
-					cmNode = children.item(i);
-					contextString = cmNode.getNodeName();
-					if (contextString != null) {
-						info.append("<" + cmNode.getNodeName() + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-						if (i < children.getLength() - 1)
-							info.append(" "); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-		if (!info.toString().trim().equals("")) //$NON-NLS-1$
-			return new IContextInformation[]{new ContextInformation(contextString, info.toString())};
-		else
-			return EMPTY_CONTEXT_INFO;
-	}
-
-	/**
-	 * Returns sorted array of CMAttributeDeclarations.
-	 * 
-	 * @param attributes
-	 
-	 */
-	private CMAttributeDeclaration[] getSortedAttributes(CMNamedNodeMap attributes) {
-		List sorted = new ArrayList();
-		for (int i = 0; i < attributes.getLength(); i++)
-			sorted.add(attributes.item(i));
-		Collections.sort(sorted, getCMAttributeComparator());
-		return (CMAttributeDeclaration[]) sorted.toArray(new CMAttributeDeclaration[sorted.size()]);
-	}
-
-	/**
-	 * @param sdRegion
-	 
-	 */
-	private boolean isEndTag(IStructuredDocumentRegion sdRegion) {
-		ITextRegionList regions = sdRegion.getRegions();
-		return regions.get(0).getType() == XMLRegionContext.XML_END_TAG_OPEN;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ContentAssistRequest.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ContentAssistRequest.java
deleted file mode 100644
index c674d7d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ContentAssistRequest.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.preferences.PreferenceManager;
-import org.w3c.dom.Node;
-
-
-public class ContentAssistRequest {
-	protected IStructuredDocumentRegion documentRegion = null;
-
-
-	protected PreferenceManager fPreferenceManager = null;
-	protected List macros = new ArrayList();
-	protected String matchString;
-	protected Node node = null;
-	protected Node parent = null;
-	protected List proposals = new ArrayList();
-	protected ITextRegion region = null;
-	protected int replacementBeginPosition;
-	protected int replacementLength;
-
-	//	private Boolean separate = null; // (pa) not used
-	//	private Boolean sort = null; // (pa) not used
-	/**
-	 * XMLContentAssistRequest constructor comment.
-	 */
-	public ContentAssistRequest(Node node, Node parent, IStructuredDocumentRegion documentRegion, ITextRegion completionRegion, int begin, int length, String filter, PreferenceManager preferencesManager) {
-		super();
-		setNode(node);
-		setParent(parent);
-		setDocumentRegion(documentRegion);
-		setRegion(completionRegion);
-		setMatchString(filter);
-		setReplacementBeginPosition(begin);
-		setReplacementLength(length);
-		fPreferenceManager = preferencesManager;
-	}
-
-	public void addMacro(ICompletionProposal newProposal) {
-		macros.add(newProposal);
-	}
-
-	public void addProposal(ICompletionProposal newProposal) {
-		proposals.add(newProposal);
-	}
-
-	public ICompletionProposal[] getCompletionProposals() {
-		ICompletionProposal results[] = null;
-		if (getProposals().size() > 0 || getMacros().size() > 0) {
-			List allProposals = new ArrayList();
-			if (!shouldSeparate()) {
-				allProposals.addAll(getProposals());
-				// should be empty, as all macros should have gone into the
-				// proposal list
-				allProposals.addAll(getMacros());
-				allProposals = sortProposals(allProposals);
-			} else {
-				allProposals.addAll(sortProposals(getProposals()));
-				allProposals.addAll(sortProposals(getMacros()));
-			}
-
-			results = new ICompletionProposal[allProposals.size()];
-			for (int i = 0; i < allProposals.size(); i++) {
-				results[i] = (ICompletionProposal) allProposals.get(i);
-			}
-		}
-		return results;
-	}
-
-	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.core.IStructuredDocumentRegion
-	 */
-	public IStructuredDocumentRegion getDocumentRegion() {
-		return documentRegion;
-	}
-
-	/**
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getMacros() {
-		return macros;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getMatchString() {
-		return matchString;
-	}
-
-	/**
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public org.w3c.dom.Node getNode() {
-		return node;
-	}
-
-	/**
-	 * 
-	 * @return org.w3c.dom.Node
-	 */
-	public org.w3c.dom.Node getParent() {
-		return parent;
-	}
-
-	public PreferenceManager getPreferenceManager() {
-		return fPreferenceManager;
-	}
-
-	/**
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getProposals() {
-		return proposals;
-	}
-
-	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.core.ITextRegion
-	 */
-	public ITextRegion getRegion() {
-		return region;
-	}
-
-	/**
-	 * 
-	 * @return int
-	 */
-	public int getReplacementBeginPosition() {
-		return replacementBeginPosition;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getReplacementLength() {
-		return replacementLength;
-	}
-
-	public int getStartOffset() {
-		if (getDocumentRegion() != null && getRegion() != null)
-			return ((ITextRegionCollection) getDocumentRegion()).getStartOffset(getRegion());
-		return -1;
-	}
-
-	public String getText() {
-		if (getDocumentRegion() != null && getRegion() != null)
-			return ((ITextRegionCollection) getDocumentRegion()).getText(getRegion());
-		return ""; //$NON-NLS-1$
-	}
-
-	public int getTextEndOffset() {
-		if (getDocumentRegion() != null && getRegion() != null)
-			return ((ITextRegionCollection) getDocumentRegion()).getTextEndOffset(getRegion());
-		return -1;
-	}
-
-	/**
-	 * @param region
-	 */
-	public void setDocumentRegion(IStructuredDocumentRegion region) {
-		documentRegion = region;
-	}
-
-	/**
-	 * 
-	 * @param newMatchString
-	 *            java.lang.String
-	 */
-	public void setMatchString(java.lang.String newMatchString) {
-		matchString = newMatchString;
-	}
-
-	/**
-	 * 
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 */
-	public void setNode(org.w3c.dom.Node newNode) {
-		node = newNode;
-	}
-
-	/**
-	 * 
-	 * @param newParent
-	 *            org.w3c.dom.Node
-	 */
-	public void setParent(org.w3c.dom.Node newParent) {
-		parent = newParent;
-	}
-
-	/**
-	 * 
-	 * @param newRegion
-	 *            com.ibm.sed.structuredDocument.ITextRegion
-	 */
-	public void setRegion(ITextRegion newRegion) {
-		region = newRegion;
-	}
-
-	/**
-	 * 
-	 * @param newReplacementBeginPosition
-	 *            int
-	 */
-	public void setReplacementBeginPosition(int newReplacementBeginPosition) {
-		replacementBeginPosition = newReplacementBeginPosition;
-	}
-
-
-	public void setReplacementLength(int newReplacementLength) {
-		replacementLength = newReplacementLength;
-	}
-
-	public boolean shouldSeparate() {
-		/*
-		 * if (separate == null) { PreferenceManager manager =
-		 * getPreferenceManager(); if(manager == null) { separate =
-		 * Boolean.FALSE; } else { Element caSettings =
-		 * manager.getElement(PreferenceNames.CONTENT_ASSIST); separate = new
-		 * Boolean(caSettings.getAttribute(PreferenceNames.SEPARATE).equals(PreferenceNames.TRUE)); } }
-		 * return separate.booleanValue();
-		 */
-		return false;
-	}
-
-	protected List sortProposals(List proposalsIn) {
-		Collections.sort(proposalsIn, new ProposalComparator());
-		return proposalsIn;
-
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String toString() {
-		return "Node: " + getNode() //$NON-NLS-1$
-					+ "\nParent: " + getParent() //$NON-NLS-1$
-					+ "\nStructuredDocumentRegion: " + StringUtils.escape(getDocumentRegion().toString()) //$NON-NLS-1$
-					+ "\nRegion: " + getRegion() //$NON-NLS-1$
-					+ "\nMatch string: '" + StringUtils.escape(getMatchString()) + "'" //$NON-NLS-2$//$NON-NLS-1$
-					+ "\nOffsets: [" + getReplacementBeginPosition() + "-" + (getReplacementBeginPosition() + getReplacementLength()) + "]\n"; //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ContextInfoModelUtil.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ContextInfoModelUtil.java
deleted file mode 100644
index 275e609..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ContextInfoModelUtil.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-
-
-/**
- * @author pavery
- */
-public class ContextInfoModelUtil {
-	IStructuredDocument fDocument = null;
-
-	ContextInfoModelUtil(IStructuredDocument doc) {
-		fDocument = doc;
-	}
-
-	public IStructuredDocument getDocument() {
-		return fDocument;
-	}
-
-	public ModelQuery getModelQuery() {
-		ModelQuery mq = null;
-
-		IStructuredModel xmlModel = null;
-		try {
-			xmlModel = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-			mq = ModelQueryUtil.getModelQuery(xmlModel);
-		}
-		finally {
-			if (xmlModel != null) {
-				xmlModel.releaseFromRead();
-			}
-		}
-		return mq;
-	}
-
-	public XMLNode getXMLNode(int offset) {
-		IStructuredModel xmlModel = null;
-		XMLNode xmlNode = null;
-		try {
-			xmlModel = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-			xmlNode = (XMLNode) xmlModel.getIndexedRegion(offset);
-		}
-		finally {
-			xmlModel.releaseFromRead();
-		}
-		return xmlNode;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/CustomTemplateProposal.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/CustomTemplateProposal.java
deleted file mode 100644
index 27b24fe..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/CustomTemplateProposal.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateProposal;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.contentassist.IRelevanceCompletionProposal;
-
-
-/**
- * Purpose of this class is to make the additional proposal info into content
- * fit for an HTML viewer (by escaping characters)
- */
-public class CustomTemplateProposal extends TemplateProposal implements IRelevanceCompletionProposal {
-
-	/**
-	 * @param template
-	 * @param context
-	 * @param region
-	 * @param image
-	 */
-	public CustomTemplateProposal(Template template, TemplateContext context, IRegion region, Image image) {
-		super(template, context, region, image);
-	}
-
-	/**
-	 * @param template
-	 * @param context
-	 * @param region
-	 * @param image
-	 * @param relevance
-	 */
-	public CustomTemplateProposal(Template template, TemplateContext context, IRegion region, Image image, int relevance) {
-		super(template, context, region, image, relevance);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		String additionalInfo = super.getAdditionalProposalInfo();
-		return StringUtils.convertToHTMLContent(additionalInfo);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/NoRegionContentAssistProcessor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/NoRegionContentAssistProcessor.java
deleted file mode 100644
index d3ca3e9..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/NoRegionContentAssistProcessor.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-
-
-/**
- * ContentAssistProcessor to handle special cases in content assist where the
- * partitioner cannot determine a partition type at the current cursor
- * position (usually at EOF).
- * 
- * @author pavery
- */
-public class NoRegionContentAssistProcessor implements IContentAssistProcessor, IResourceDependentProcessor, IReleasable {
-
-	protected char completionProposalAutoActivationCharacters[] = null;
-	protected char contextInformationAutoActivationCharacters[] = null;
-
-	private final ICompletionProposal[] EMPTY_PROPOSAL_SET = new ICompletionProposal[0];
-	protected String fErrorMessage = null;
-	protected HashMap fNameToProcessorMap = null;
-	protected HashMap fPartitionToProcessorMap = null;
-	protected IResource fResource = null;
-
-	public NoRegionContentAssistProcessor() {
-		super();
-		fPartitionToProcessorMap = new HashMap();
-		fNameToProcessorMap = new HashMap();
-		initNameToProcessorMap();
-		initPartitionToProcessorMap();
-
-	}
-
-	/**
-	 * Figures out what the correct ICompletionProposalProcessor is and
-	 * computesCompletionProposals on that.
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(org.eclipse.jface.text.ITextViewer,
-	 *      int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-		IContentAssistProcessor p = null;
-		ICompletionProposal[] results = EMPTY_PROPOSAL_SET;
-
-		p = guessContentAssistProcessor(viewer, documentOffset);
-		if (p != null)
-			results = p.computeCompletionProposals(viewer, documentOffset);
-
-		return (results != null) ? results : EMPTY_PROPOSAL_SET;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(org.eclipse.jface.text.ITextViewer,
-	 *      int)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-		// get context info from processor that we end up using...
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return completionProposalAutoActivationCharacters;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationAutoActivationCharacters()
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return contextInformationAutoActivationCharacters;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationValidator()
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		// return the validator for the content assist processor that we
-		// used...
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return fErrorMessage;
-	}
-
-	/**
-	 * Gives you the document partition type (String) for the given
-	 * StructuredTextViewer and documentPosition.
-	 * 
-	 * @param viewer
-	 * @param documentPosition
-	 * @return String
-	 */
-	protected String getPartitionType(StructuredTextViewer viewer, int documentPosition) {
-		IDocument document = viewer.getDocument();
-		String partitionType = null;
-		ITypedRegion partition = null;
-		try {
-			partition = document.getPartition(documentPosition);
-			partitionType = partition.getType();
-		} catch (BadLocationException e) {
-			partitionType = null;
-		}
-		return partitionType;
-	}
-
-	/**
-	 * Guesses a ContentAssistProcessor based on the TextViewer and
-	 * documentOffset.
-	 * 
-	 * @param viewer
-	 * @param documentOffset
-	 */
-	protected IContentAssistProcessor guessContentAssistProcessor(ITextViewer viewer, int documentOffset) {
-		//  mapping logic here...
-		// look @ previous region
-		// look @ previous doc partition type
-		// look @ page language
-		IContentAssistProcessor p = null;
-		IStructuredDocumentRegion sdRegion = ContentAssistUtils.getStructuredDocumentRegion((StructuredTextViewer) viewer, documentOffset);
-		if (sdRegion != null) {
-			String currentRegionType = sdRegion.getType();
-			//System.out.println("current region type is >> " +
-			// currentRegionType);
-			if (currentRegionType == XMLRegionContext.UNDEFINED) {
-				IStructuredDocumentRegion sdPrev = sdRegion.getPrevious();
-				if (sdPrev != null) {
-					String prevRegionType = sdPrev.getType();
-					//System.out.println("previous region type is >> " +
-					// prevRegionType);
-				}
-			}
-		}
-		// working w/ viewer & document partition
-		if (p == null && viewer.getDocument().getLength() > 0) {
-			String prevPartitionType = getPartitionType((StructuredTextViewer) viewer, documentOffset - 1);
-			//System.out.println("previous partition type is > " +
-			// prevPartitionType);
-			p = (IContentAssistProcessor) fPartitionToProcessorMap.get(prevPartitionType);
-		}
-		return p;
-	}
-
-	/**
-	 * Necessary for certain content assist processors (such as
-	 * JSPJavaContentAssistProcessor). This gets set in
-	 * StructuredTextViewerConfiguration.
-	 *  
-	 */
-	public void initialize(IResource resource) {
-		fResource = resource;
-		setResourceOnProcessors(resource);
-	}
-
-	/**
-	 * Inits map for extra ContentAssistProcessors (useBean, get/setProperty)
-	 */
-	protected void initNameToProcessorMap() {
-	}
-
-	/**
-	 * Adds all relevent ContentAssistProcessors to the partition to processor
-	 * map (just XML here)
-	 */
-	protected void initPartitionToProcessorMap() {
-		XMLContentAssistProcessor xmlProcessor = new XMLContentAssistProcessor();
-		fPartitionToProcessorMap.put(StructuredTextPartitionerForXML.ST_DEFAULT_XML, xmlProcessor);
-	}
-
-	public void release() {
-		releasePartitionToProcessorMap();
-		releaseNameToProcessorMap();
-	}
-
-	protected void releaseMap(HashMap map) {
-		if (map != null && !map.isEmpty()) {
-			Iterator it = map.keySet().iterator();
-			Object key = null;
-			while (it.hasNext()) {
-				key = it.next();
-				if (map.get(key) instanceof IReleasable)
-					((IReleasable) map.get(key)).release();
-			}
-			map.clear();
-			map = null;
-		}
-	}
-
-	protected void releaseNameToProcessorMap() {
-		releaseMap(fNameToProcessorMap);
-	}
-
-	protected void releasePartitionToProcessorMap() {
-		releaseMap(fPartitionToProcessorMap);
-	}
-
-	private void setResourceOnMap(IResource resource, HashMap map) {
-		if (!map.isEmpty()) {
-			Iterator keys = map.keySet().iterator();
-			Object o = null;
-			while (keys.hasNext()) {
-				o = fPartitionToProcessorMap.get(keys.next());
-				if (o instanceof IResourceDependentProcessor)
-					((IResourceDependentProcessor) o).initialize(resource);
-			}
-		}
-	}
-
-	/**
-	 * @param resource
-	 */
-	private void setResourceOnProcessors(IResource resource) {
-		setResourceOnMap(resource, fPartitionToProcessorMap);
-		setResourceOnMap(resource, fNameToProcessorMap);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/NonValidatingModelQueryAction.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/NonValidatingModelQueryAction.java
deleted file mode 100644
index 1bdfb81..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/NonValidatingModelQueryAction.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-
-public class NonValidatingModelQueryAction implements org.eclipse.wst.common.contentmodel.modelquery.ModelQueryAction {
-
-	protected CMNode cmnode = null;
-	protected int endIndex = 0;
-	protected int kind = INSERT;
-	protected int startIndex = 0;
-	protected Object userData = null;
-
-	/**
-	 * NonValidatingModelQueryAction constructor comment.
-	 */
-	protected NonValidatingModelQueryAction() {
-		super();
-	}
-
-	/**
-	 * NonValidatingModelQueryAction constructor comment.
-	 */
-	public NonValidatingModelQueryAction(CMNode newChild, int newKind, int newStart, int newEnd, Object newUserData) {
-		super();
-		cmnode = newChild;
-		kind = newKind;
-		startIndex = newStart;
-		endIndex = newEnd;
-		userData = newUserData;
-	}
-
-	/**
-	 * getCMNode method comment.
-	 */
-	public org.eclipse.wst.common.contentmodel.CMNode getCMNode() {
-		return cmnode;
-	}
-
-	/**
-	 * 
-	 * @return int
-	 */
-	public int getEndIndex() {
-		return endIndex;
-	}
-
-	/**
-	 * 
-	 * @return int
-	 */
-	public int getKind() {
-		return kind;
-	}
-
-	/**
-	 * getParent method comment.
-	 */
-	public org.w3c.dom.Node getParent() {
-		return null;
-	}
-
-	/**
-	 * 
-	 * @return int
-	 */
-	public int getStartIndex() {
-		return startIndex;
-	}
-
-	/**
-	 * getUserData method comment.
-	 */
-	public Object getUserData() {
-		return null;
-	}
-
-	/**
-	 * performAction method comment.
-	 */
-	public void performAction() {
-	}
-
-	/**
-	 * setCMNode method comment.
-	 */
-	protected void setCMNode(org.eclipse.wst.common.contentmodel.CMNode newNode) {
-		cmnode = newNode;
-	}
-
-	/**
-	 * 
-	 * @param newEndIndex
-	 *            int
-	 */
-	protected void setEndIndex(int newEndIndex) {
-		endIndex = newEndIndex;
-	}
-
-	/**
-	 * 
-	 * @param newKind
-	 *            int
-	 */
-	protected void setKind(int newKind) {
-		kind = newKind;
-	}
-
-	/**
-	 * 
-	 * @param newStartIndex
-	 *            int
-	 */
-	protected void setStartIndex(int newStartIndex) {
-		startIndex = newStartIndex;
-	}
-
-	/**
-	 * setUserData method comment.
-	 */
-	public void setUserData(Object object) {
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		String actionName = null;
-		switch (kind) {
-			case INSERT :
-				actionName = "INSERT";//$NON-NLS-1$
-				break;
-			case REMOVE :
-				actionName = "REMOVE";//$NON-NLS-1$
-				break;
-			case REPLACE :
-				actionName = "REPLACE";//$NON-NLS-1$
-				break;
-			default :
-				actionName = "UNKNOWN ACTION ";//$NON-NLS-1$
-		}
-		String nodeName = (cmnode != null) ? getCMNode().getNodeName() : "(unknown)";//$NON-NLS-1$
-		return actionName + "=" + nodeName + "(" + startIndex + "..." + endIndex + ")";//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ProposalComparator.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ProposalComparator.java
deleted file mode 100644
index 3a4bf4d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ProposalComparator.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-
-
-import java.util.Comparator;
-
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.wst.sse.ui.contentassist.IRelevanceCompletionProposal;
-
-
-public class ProposalComparator implements Comparator {
-
-
-	public int compare(Object o1, Object o2) {
-		int relevance = 0;
-		if (o1 instanceof IRelevanceCompletionProposal && o2 instanceof IRelevanceCompletionProposal) {
-			// sort based on relevance
-			IRelevanceCompletionProposal cp1 = (IRelevanceCompletionProposal) o1;
-			IRelevanceCompletionProposal cp2 = (IRelevanceCompletionProposal) o2;
-
-			relevance = cp2.getRelevance() - cp1.getRelevance();
-
-			// if same relevance, secondary sort (lexigraphically)
-			if (relevance == 0 && o1 instanceof ICompletionProposal && o2 instanceof ICompletionProposal) {
-				String displayString1 = ((ICompletionProposal) o1).getDisplayString();
-				String displayString2 = ((ICompletionProposal) o2).getDisplayString();
-				if (displayString1 != null && displayString2 != null)
-					//relevance = displayString1.compareTo(displayString2);
-					// // this didn't mix caps w/ lowercase
-					relevance = java.text.Collator.getInstance().compare(displayString1, displayString2);
-			}
-		}
-		// otherwise if it's not ISEDRelevanceCompletionProposal, don't sort
-		return relevance;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/SimpleCMElementDeclaration.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/SimpleCMElementDeclaration.java
deleted file mode 100644
index 42dce88..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/SimpleCMElementDeclaration.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-
-
-public class SimpleCMElementDeclaration implements org.eclipse.wst.common.contentmodel.CMElementDeclaration {
-
-	String fNodeName;
-
-	/**
-	 * SimpleCMELementDeclaration constructor comment.
-	 */
-	public SimpleCMElementDeclaration() {
-		super();
-	}
-
-	public SimpleCMElementDeclaration(String nodeName) {
-		super();
-		setNodeName(nodeName);
-	}
-
-	/**
-	 * getAttributes method
-	 * 
-	 * @return CMNamedNodeMap
-	 * 
-	 * Returns CMNamedNodeMap of AttributeDeclaration
-	 */
-	public org.eclipse.wst.common.contentmodel.CMNamedNodeMap getAttributes() {
-		return null;
-	}
-
-	/**
-	 * getCMContent method
-	 * 
-	 * @return CMContent
-	 * 
-	 * Returns the root node of this element's content model. This can be an
-	 * CMElementDeclaration or a CMGroup
-	 */
-	public org.eclipse.wst.common.contentmodel.CMContent getContent() {
-		return null;
-	}
-
-	/**
-	 * getContentType method
-	 * 
-	 * @return int
-	 * 
-	 * Returns one of : ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA.
-	 */
-	public int getContentType() {
-		return 0;
-	}
-
-	/**
-	 * getDataType method
-	 * 
-	 * @return java.lang.String
-	 */
-	public org.eclipse.wst.common.contentmodel.CMDataType getDataType() {
-		return null;
-	}
-
-	/**
-	 * getElementName method
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getElementName() {
-		return null;
-	}
-
-	/**
-	 * getLocalElements method
-	 * 
-	 * @return CMNamedNodeMap
-	 * 
-	 * Returns a list of locally defined elements.
-	 */
-	public org.eclipse.wst.common.contentmodel.CMNamedNodeMap getLocalElements() {
-		return null;
-	}
-
-	/**
-	 * getMaxOccur method
-	 * 
-	 * @return int
-	 * 
-	 * If -1, it's UNBOUNDED.
-	 */
-	public int getMaxOccur() {
-		return 0;
-	}
-
-	/**
-	 * getMinOccur method
-	 * 
-	 * @return int
-	 * 
-	 * If 0, it's OPTIONAL. If 1, it's REQUIRED.
-	 */
-	public int getMinOccur() {
-		return 0;
-	}
-
-	/**
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getNodeName() {
-		return fNodeName;
-	}
-
-	/**
-	 * getNodeType method
-	 * 
-	 * @return int
-	 * 
-	 * Returns one of :
-	 *  
-	 */
-	public int getNodeType() {
-		return 0;
-	}
-
-	/**
-	 * getProperty method
-	 * 
-	 * @return java.lang.Object
-	 * 
-	 * Returns the object property desciped by the propertyName
-	 *  
-	 */
-	public Object getProperty(String propertyName) {
-		return null;
-	}
-
-	/**
-	 * 
-	 * @param newNodeName
-	 *            java.lang.String
-	 */
-	public void setNodeName(java.lang.String newNodeName) {
-		fNodeName = newNodeName;
-	}
-
-	/**
-	 * supports method
-	 * 
-	 * @return boolean
-	 * 
-	 * Returns true if the CMNode supports a specified property
-	 *  
-	 */
-	public boolean supports(String propertyName) {
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/SourceEditorImageHelper.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/SourceEditorImageHelper.java
deleted file mode 100644
index bd9306b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/SourceEditorImageHelper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-
-/**
- * @deprecated use internal XMLEditorPluginImageHelper or external
- *             SharedXMLEditorPluginImageHelper instead
- */
-public class SourceEditorImageHelper {
-
-	public SourceEditorImageHelper() {
-		super();
-	}
-
-	public Image createImage(String resource) {
-		ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin(XMLUIPlugin.ID, resource);
-		Image image = desc.createImage();
-		JFaceResources.getImageRegistry().put(resource, image);
-		return image;
-	}
-
-	public Image getImage(String resource) {
-		Image image = JFaceResources.getImageRegistry().get(resource);
-		if (image == null) {
-			image = createImage(resource);
-		}
-		return image;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentAssistProcessor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentAssistProcessor.java
deleted file mode 100644
index 157ea16..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentAssistProcessor.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-
-public class XMLContentAssistProcessor extends AbstractContentAssistProcessor implements IPropertyChangeListener {
-
-	protected IPreferenceStore fPreferenceStore = null;
-	protected IResource fResource = null;
-	protected AbstractTemplateCompletionProcessor fTemplateProcessor = null;
-
-	public XMLContentAssistProcessor() {
-		super();
-	}
-
-	protected IPreferenceStore getPreferenceStore() {
-		if (fPreferenceStore == null)
-			fPreferenceStore = SSEUIPlugin.getDefault().getPreferenceStore();
-		//fPreferenceStore =
-		// CommonPreferencesPlugin.getDefault().getPreferenceStore(ContentType.ContentTypeID_XML);
-
-		return fPreferenceStore;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.xml.ui.contentassist.AbstractContentAssistProcessor#getTemplateCompletionProcessor()
-	 */
-	protected AbstractTemplateCompletionProcessor getTemplateCompletionProcessor() {
-		if (fTemplateProcessor == null) {
-			fTemplateProcessor = new XMLTemplateCompletionProcessor();
-		}
-		return fTemplateProcessor;
-	}
-
-	protected void init() {
-		getPreferenceStore().addPropertyChangeListener(this);
-		reinit();
-	}
-
-	public void propertyChange(PropertyChangeEvent event) {
-		String property = event.getProperty();
-
-		if (property.compareTo(CommonEditorPreferenceNames.AUTO_PROPOSE) == 0 || property.compareTo(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE) == 0) {
-			reinit();
-		}
-	}
-
-	protected void reinit() {
-		String key = CommonEditorPreferenceNames.AUTO_PROPOSE;
-		boolean doAuto = getPreferenceStore().getBoolean(key);
-		if (doAuto) {
-			key = CommonEditorPreferenceNames.AUTO_PROPOSE_CODE;
-			completionProposalAutoActivationCharacters = getPreferenceStore().getString(key).toCharArray();
-		} else {
-			completionProposalAutoActivationCharacters = null;
-		}
-	}
-
-	public void release() {
-		super.release();
-		getPreferenceStore().removePropertyChangeListener(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentAssistUtilities.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentAssistUtilities.java
deleted file mode 100644
index 3bac2ed..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentAssistUtilities.java
+++ /dev/null
@@ -1,469 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionContainer;
-import org.eclipse.wst.sse.core.util.ScriptLanguageKeys;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * @author pavery
- */
-public class XMLContentAssistUtilities extends ContentAssistUtils {
-	public static final String CONTENT = "Content"; //$NON-NLS-1$
-	public static final String CONTENT_SCRIPT_TYPE = "Content-Script-Type"; //$NON-NLS-1$
-	public static final String HEAD = "HEAD"; //$NON-NLS-1$
-	public static final String HTML = "HTML"; //$NON-NLS-1$
-	public static final String HTTP_EQUIV = "HTTP-EQUIV"; //$NON-NLS-1$
-	public static final String META = "META"; //$NON-NLS-1$
-
-	/**
-	 * A convenience method for getting the closing proposal given the
-	 * contents (IndexedRegion) of a tag that is started, but possibly not
-	 * ended
-	 * 
-	 * @param viewer
-	 *            the text viewer
-	 * @param documentPosition
-	 *            the cursor position in the viewer
-	 * @param indexedNode
-	 *            the contents of the tag that is started but possibly not
-	 *            ended
-	 * @param parentTagName
-	 *            the tag on which you are checkin for an ending tag
-	 * @param imagePath
-	 *            content assist image path in realation to com.ibm.sed.
-	 *            structured. contentassist. xmlSourceEditorImageHelper
-	 * @return ICompletionProposal
-	 */
-	public static ICompletionProposal computeJSPEndTagProposal(ITextViewer viewer, int documentPosition, IndexedRegion indexedNode, String parentTagName, String imagePath) {
-		ICompletionProposal p = null;
-
-		// check if tag is closed
-		boolean hasEndTag = true;
-		boolean isJSPTag = false;
-		XMLNode xnode = null;
-		String tagName = ""; //$NON-NLS-1$
-		if (indexedNode instanceof XMLNode) {
-			xnode = ((XMLNode) indexedNode);
-			// it's ended already...
-			if (xnode.getEndStructuredDocumentRegion() != null)
-				return null;
-			XMLNode openNode = null;
-			if (!xnode.getNodeName().equalsIgnoreCase(parentTagName))
-				openNode = (XMLNode) xnode.getParentNode();
-			if (openNode != null) {
-				if (openNode instanceof XMLElement) {
-					isJSPTag = ((XMLElement) openNode).isJSPTag();
-				}
-				tagName = openNode.getNodeName();
-				hasEndTag = (openNode.getEndStructuredDocumentRegion() != null);
-			}
-		}
-
-		// it's closed, don't add close tag proposal
-		if (!hasEndTag && !isJSPTag) {
-
-			// create appropriate close tag text
-			String proposedText = proposedText = "</" + tagName; // ResourceHandler
-			// wants text
-			// w/out
-			// ending '>'
-			// //$NON-NLS-1$
-			String viewerText = viewer.getTextWidget().getText();
-			if (viewerText.length() >= documentPosition && viewerText.length() >= 2 && documentPosition >= 2) {
-				String last2chars = viewerText.substring(documentPosition - 2, documentPosition);
-				if (last2chars.endsWith("</")) //$NON-NLS-1$
-					proposedText = tagName;
-				else if (last2chars.endsWith("<")) //$NON-NLS-1$
-					proposedText = "/" + tagName; //$NON-NLS-1$
-			}
-
-			// create proposal
-			p = new CustomCompletionProposal(proposedText + ">", //$NON-NLS-1$
-						documentPosition, 0, proposedText.length() + 1, XMLEditorPluginImageHelper.getInstance().getImage(imagePath), //$NON-NLS-1$
-						SSEUIPlugin.getResourceString("%15concat", (new Object[]{proposedText})), //$NON-NLS-1$ = "End with '{0}>'"
-						null, null, XMLRelevanceConstants.R_END_TAG);
-		} else if (!hasEndTag && isJSPTag) {
-
-			// create appropriate close tag text
-			String proposedText = proposedText = "%"; // ResourceHandler wants
-			// text w/out ending '>'
-			// //$NON-NLS-1$
-			String viewerText = viewer.getTextWidget().getText();
-
-			// TODO (pa) make it smarter to add "%>" or just ">" if % is
-			// already there...
-			if (viewerText.length() >= documentPosition && viewerText.length() >= 2) {
-				String last2chars = viewerText.substring(documentPosition - 2, documentPosition);
-				String lastchar = viewerText.substring(documentPosition - 1, documentPosition);
-				if (lastchar.equals("%")) //$NON-NLS-1$
-				{
-					if (last2chars.endsWith("<%")) //$NON-NLS-1$
-						proposedText = "%"; //$NON-NLS-1$
-					else
-						proposedText = ""; //$NON-NLS-1$
-				}
-			}
-
-			// create proposal
-			p = new CustomCompletionProposal(proposedText + ">", //$NON-NLS-1$
-						documentPosition, 0, proposedText.length() + 1, XMLEditorPluginImageHelper.getInstance().getImage(imagePath), //$NON-NLS-1$
-						SSEUIPlugin.getResourceString("%15concat", (new Object[]{proposedText})), //$NON-NLS-1$ = "End with '{0}>'"
-						null, null, XMLRelevanceConstants.R_END_TAG);
-		}
-
-		return p;
-	}
-
-
-	/**
-	 * A convenience method for getting the closing proposal given the
-	 * contents (IndexedRegion) of a tag that is started, but possibly not
-	 * ended
-	 * 
-	 * @param viewer
-	 *            the text viewer
-	 * @param documentPosition
-	 *            the cursor position in the viewer
-	 * @param indexedNode
-	 *            the contents of the tag that is started but possibly not
-	 *            ended
-	 * @param parentTagName
-	 *            the tag on which you are checkin for an ending tag
-	 * @param imagePath
-	 *            content assist image path in realation to com.ibm.sed.
-	 *            structured. contentassist. xmlSourceEditorImageHelper
-	 * @return ICompletionProposal
-	 */
-	public static ICompletionProposal computeXMLEndTagProposal(ITextViewer viewer, int documentPosition, IndexedRegion indexedNode, String parentTagName, String imagePath) {
-		ICompletionProposal p = null;
-
-		// check if tag is closed
-		boolean hasEndTag = true;
-		XMLNode xnode = null;
-		String tagName = ""; //$NON-NLS-1$
-		if (indexedNode instanceof XMLNode) {
-			xnode = ((XMLNode) indexedNode);
-			// it's ended already...
-			if (xnode.getEndStructuredDocumentRegion() != null)
-				return null;
-			XMLNode styleNode = null;
-			if (!xnode.getNodeName().equalsIgnoreCase(parentTagName))
-				styleNode = (XMLNode) xnode.getParentNode();
-			if (styleNode != null) {
-				tagName = styleNode.getNodeName();
-				hasEndTag = (styleNode.getEndStructuredDocumentRegion() != null);
-			}
-		}
-
-		// it's closed, don't add close tag proposal
-		if (!hasEndTag) {
-
-			// create appropriate close tag text
-			String proposedText = proposedText = "</" + tagName; // ResourceHandler
-			// wants text
-			// w/out
-			// ending '>'
-			// //$NON-NLS-1$
-			String viewerText = viewer.getTextWidget().getText();
-			if (viewerText.length() >= documentPosition && viewerText.length() >= 2 && documentPosition >= 2) {
-				String last2chars = viewerText.substring(documentPosition - 2, documentPosition);
-				if (last2chars.endsWith("</")) //$NON-NLS-1$
-					proposedText = tagName;
-				else if (last2chars.endsWith("<")) //$NON-NLS-1$
-					proposedText = "/" + tagName; //$NON-NLS-1$
-			}
-
-			// create proposal
-			p = new CustomCompletionProposal(proposedText + ">", //$NON-NLS-1$
-						documentPosition, 0, proposedText.length() + 1, XMLEditorPluginImageHelper.getInstance().getImage(imagePath), //$NON-NLS-1$
-						SSEUIPlugin.getResourceString("%15concat", (new Object[]{proposedText})), //$NON-NLS-1$ = "End with '{0}>'"
-						null, null, XMLRelevanceConstants.R_END_TAG);
-		}
-		return p;
-	}
-
-	private static String getMetaScriptType(Document doc) {
-		// Can not just do a Document.getElementsByTagName(String) as this
-		// needs
-		// to be relatively fast.
-		List metas = new ArrayList();
-		// check for META tags under the Document
-		Node html = null;
-		Node head = null;
-		Node child = null;
-		//----------------------------------------------------------------------
-		// (pa) 20021217
-		// cmvc defect 235554
-		// performance enhancement: using child.getNextSibling() rather than
-		// nodeList(item) for O(n) vs. O(n*n)
-		//----------------------------------------------------------------------
-
-		for (child = doc.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (child.getNodeType() != Node.ELEMENT_NODE)
-				continue;
-			if (child.getNodeName().equalsIgnoreCase(META))
-				metas.add(child);
-			else if (child.getNodeName().equalsIgnoreCase(HTML))
-				html = child;
-		}
-		//		NodeList children = doc.getChildNodes();
-		//		for(int i = 0; i < children.getLength(); i++) {
-		//			child = children.item(i);
-		//			if(child.getNodeType() != Node.ELEMENT_NODE)
-		//				continue;
-		//			if(child.getNodeName().equalsIgnoreCase(META))
-		//				metas.add(child);
-		//			else if(child.getNodeName().equalsIgnoreCase(HTML))
-		//				html = child;
-		//		}
-
-		// check for META tags under HEAD
-		if (html != null) {
-			for (child = html.getFirstChild(); child != null && head == null; child = child.getNextSibling()) {
-				if (child.getNodeType() != Node.ELEMENT_NODE)
-					continue;
-				if (child.getNodeName().equalsIgnoreCase(HEAD))
-					head = child;
-			}
-			//			children = html.getChildNodes();
-			//			for(int i = 0; i < children.getLength() && head == null; i++) {
-			//				child = children.item(i);
-			//				if(child.getNodeType() != Node.ELEMENT_NODE)
-			//					continue;
-			//				if(child.getNodeName().equalsIgnoreCase(HEAD))
-			//					head = child;
-			//			}
-		}
-
-		if (head != null) {
-			for (head.getFirstChild(); child != null; child = child.getNextSibling()) {
-				if (child.getNodeType() != Node.ELEMENT_NODE)
-					continue;
-				if (child.getNodeName().equalsIgnoreCase(META))
-					metas.add(child);
-			}
-			//			children = head.getChildNodes();
-			//			for(int i = 0 ; i < children.getLength(); i++) {
-			//				child = children.item(i);
-			//				if(child.getNodeType() != Node.ELEMENT_NODE)
-			//					continue;
-			//				if(child.getNodeName().equalsIgnoreCase(META))
-			//					metas.add(child);
-			//			}
-		}
-
-		return getMetaScriptType(metas);
-	}
-
-	private static String getMetaScriptType(List metaNodeList) {
-		Node meta = null;
-		NamedNodeMap attributes = null;
-		boolean httpEquiv = false;
-		String contentScriptType = null;
-
-		for (int i = metaNodeList.size() - 1; i >= 0; i--) {
-			meta = (Node) metaNodeList.get(i);
-			attributes = meta.getAttributes();
-			httpEquiv = false;
-			contentScriptType = null;
-			for (int j = 0; j < attributes.getLength(); j++) {
-				if (attributes.item(j).getNodeName().equalsIgnoreCase(HTTP_EQUIV)) {
-					httpEquiv = attributes.item(j).getNodeValue().equalsIgnoreCase(CONTENT_SCRIPT_TYPE);
-				} else if (attributes.item(j).getNodeName().equalsIgnoreCase(CONTENT)) {
-					contentScriptType = attributes.item(j).getNodeValue();
-				}
-			}
-			if (httpEquiv && contentScriptType != null)
-				return contentScriptType;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the scripting language the scriptNode is in Currently returns
-	 * javascript unless some unknown type or language is specified. Then the
-	 * unknown type/language is returned
-	 * 
-	 * @param scriptNode
-	 */
-	public static String getScriptLanguage(Node scriptNode) {
-		Node attr = null;
-
-		boolean specified = false;
-		// try to find a scripting adapter for 'type'
-		if ((scriptNode == null) || (scriptNode.getAttributes() == null))
-			return null;
-
-		attr = scriptNode.getAttributes().getNamedItem("type");//$NON-NLS-1$
-		if (attr != null) {
-			specified = true;
-			String type = attr.getNodeValue();
-			return lookupScriptType(type);
-		}
-		// now try to find a scripting adapter for 'language' (deprecated by
-		// HTML specifications)
-		attr = scriptNode.getAttributes().getNamedItem("language");//$NON-NLS-1$
-		if (attr != null) {
-			specified = true;
-			String language = attr.getNodeValue();
-			return lookupScriptLanguage(language);
-		}
-		// check if one is specified by a META tag at the root level or inside
-		// of HEAD
-		String type = null;
-		if (!specified)
-			type = getMetaScriptType(scriptNode.getOwnerDocument());
-		if (type != null) {
-			specified = true;
-			return lookupScriptType(type);
-		}
-		// return default
-		if (!specified)
-			return ScriptLanguageKeys.JAVASCRIPT;
-		return null;
-	}
-
-	/**
-	 * Tells you if the flatnode is the %> delimiter
-	 * 
-	 * @param fn
-	 * @return boolean
-	 */
-	public static boolean isJSPCloseDelimiter(IStructuredDocumentRegion fn) {
-		if (fn == null)
-			return false;
-		return isJSPCloseDelimiter(fn.getType());
-	}
-
-	public static boolean isJSPCloseDelimiter(String type) {
-		if (type == null)
-			return false;
-		return (type == XMLJSPRegionContexts.JSP_CLOSE || type == XMLRegionContext.XML_TAG_CLOSE);
-	}
-
-	/**
-	 * Tells you if the flatnode is the JSP region <%%>, <%=%>, <%!%>
-	 * 
-	 * @param fn
-	 * @return boolean
-	 */
-	public static boolean isJSPDelimiter(IStructuredDocumentRegion fn) {
-		boolean isDelimiter = false;
-		String type = fn.getType();
-		if (type != null) {
-			isDelimiter = isJSPDelimiter(type);
-		}
-		return isDelimiter;
-	}
-
-	public static boolean isJSPDelimiter(String type) {
-		if (type == null)
-			return false;
-		return (isJSPOpenDelimiter(type) || isJSPCloseDelimiter(type));
-	}
-
-	/**
-	 * Tells you if the flatnode is <%, <%=, or <%!
-	 * 
-	 * @param fn
-	 * @return boolean
-	 */
-	public static boolean isJSPOpenDelimiter(IStructuredDocumentRegion fn) {
-		if (fn == null)
-			return false;
-		return isJSPOpenDelimiter(fn.getType());
-	}
-
-	public static boolean isJSPOpenDelimiter(String type) {
-		if (type == null)
-			return false;
-		return (type == XMLJSPRegionContexts.JSP_SCRIPTLET_OPEN || type == XMLJSPRegionContexts.JSP_DECLARATION_OPEN || type == XMLJSPRegionContexts.JSP_EXPRESSION_OPEN);
-	}
-
-	/**
-	 * Tells you if the flatnode is the <jsp:scriptlet>, <jsp:expression>, or
-	 * <jsp:declaration>tag
-	 * 
-	 * @param fn
-	 * @return boolean
-	 */
-	public static boolean isXMLJSPDelimiter(IStructuredDocumentRegion fn) {
-		boolean isDelimiter = false;
-		if (fn != null && fn instanceof ITextRegionContainer) {
-			Object[] regions = ((ITextRegionContainer) fn).getRegions().toArray();
-			ITextRegion temp = null;
-			String regionText = ""; //$NON-NLS-1$
-			for (int i = 0; i < regions.length; i++) {
-				temp = (ITextRegion) regions[i];
-				if (temp.getType() == XMLRegionContext.XML_TAG_NAME) {
-					regionText = fn.getText(temp);
-					if (regionText.equalsIgnoreCase("jsp:scriptlet") || regionText.equalsIgnoreCase("jsp:expression") || regionText.equalsIgnoreCase("jsp:declaration")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						isDelimiter = true;
-				}
-			}
-		}
-		return isDelimiter;
-	}
-
-	/**
-	 * Returns "javascript" if language attribute is some form of javascript,
-	 * "java" if language attribute is some form of java. Otherwise, just
-	 * returns type.
-	 * 
-	 * @param language
-	 */
-	public static String lookupScriptLanguage(String language) {
-		for (int i = 0; i < ScriptLanguageKeys.JAVASCRIPT_LANGUAGE_KEYS.length; i++) {
-			if (ScriptLanguageKeys.JAVASCRIPT_LANGUAGE_KEYS[i].equalsIgnoreCase(language))
-				return ScriptLanguageKeys.JAVASCRIPT;
-		}
-		for (int i = 0; i < ScriptLanguageKeys.JAVA_LANGUAGE_KEYS.length; i++) {
-			if (ScriptLanguageKeys.JAVA_LANGUAGE_KEYS[i].equalsIgnoreCase(language))
-				return ScriptLanguageKeys.JAVA;
-		}
-		return language;
-	}
-
-	/**
-	 * Returns "javascript" if type (used in <script type="xxx"> is actually
-	 * javascript type. Otherwise, just returns type
-	 * 
-	 * @param type
-	 */
-	public static String lookupScriptType(String type) {
-		for (int i = 0; i < ScriptLanguageKeys.JAVASCRIPT_MIME_TYPE_KEYS.length; i++)
-			if (ScriptLanguageKeys.JAVASCRIPT_MIME_TYPE_KEYS[i].equalsIgnoreCase(type))
-				return ScriptLanguageKeys.JAVASCRIPT;
-		return type;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentModelGenerator.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentModelGenerator.java
deleted file mode 100644
index 22cdb40..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentModelGenerator.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.jsp.model.parser.temp.XMLJSPRegionContexts;
-import org.w3c.dom.Node;
-
-
-public class XMLContentModelGenerator extends AbstractContentModelGenerator {
-
-	/**
-	 * XMLContentModelGenerator constructor comment.
-	 */
-	public XMLContentModelGenerator() {
-		super();
-	}
-
-	public void generateAttribute(CMAttributeDeclaration attrDecl, StringBuffer buffer) {
-		if (attrDecl == null || buffer == null)
-			return;
-		int usage = attrDecl.getUsage();
-		if (usage == CMAttributeDeclaration.REQUIRED) {
-			buffer.append(" "); //$NON-NLS-1$
-			generateRequiredAttribute(null, attrDecl, buffer); //todo pass
-			// ownerNode as
-			// 1st param
-		}
-		return;
-	}
-
-	protected void generateEndTag(String tagName, Node parentNode, CMElementDeclaration elementDecl, StringBuffer buffer) {
-		if (elementDecl == null)
-			return;
-		if (elementDecl.getContentType() != CMElementDeclaration.EMPTY)
-			buffer.append("</" + tagName + ">");//$NON-NLS-2$//$NON-NLS-1$
-		return;
-	}
-
-	public void generateRequiredAttribute(Node ownerNode, CMAttributeDeclaration attrDecl, StringBuffer buffer) {
-		if (attrDecl == null || buffer == null)
-			return;
-
-		// attribute name
-		String attributeName = getRequiredName(ownerNode, attrDecl);
-		CMDataType attrType = attrDecl.getAttrType();
-		// = sign
-		buffer.append(attributeName + "=\""); //$NON-NLS-1$
-		// attribute value
-		if (attrType != null) {
-			// insert any value that is implied
-			if (attrType.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_NONE && attrType.getImpliedValue() != null) {
-				buffer.append(attrType.getImpliedValue());
-			}
-			// otherwise, if an enumerated list of values exists, use the
-			// first value
-			else if (attrType.getEnumeratedValues() != null && attrType.getEnumeratedValues().length > 0) {
-				buffer.append(attrType.getEnumeratedValues()[0]);
-			}
-		}
-		buffer.append("\""); //$NON-NLS-1$
-		return;
-	}
-
-	protected void generateStartTag(String tagName, Node parentNode, CMElementDeclaration elementDecl, StringBuffer buffer) {
-		if (elementDecl == null || buffer == null)
-			return;
-		buffer.append("<" + tagName);//$NON-NLS-1$
-		generateAttributes(elementDecl, buffer);
-		buffer.append(getStartTagClose(parentNode, elementDecl));
-		return;
-	}
-
-	public int getMinimalStartTagLength(Node node, CMElementDeclaration elementDecl) {
-		if (elementDecl == null)
-			return 0;
-		if (requiresAttributes(elementDecl)) {
-			return getRequiredName(node, elementDecl).length() + 2; // < +
-			// name +
-			// space
-		} else {
-			return 1 + getRequiredName(node, elementDecl).length() + getStartTagClose(node, elementDecl).length(); // < +
-			// name
-			// +
-			// appropriate
-			// close
-		}
-	}
-
-	protected String getOtherClose(Node notATagNode) {
-		if (notATagNode instanceof XMLNode) {
-			IStructuredDocumentRegion node = ((XMLNode) notATagNode).getStartStructuredDocumentRegion();
-			if (node != null && node.getNumberOfRegions() > 1 && node.getRegions().get(0).getType() == XMLJSPRegionContexts.JSP_DIRECTIVE_OPEN) {
-				return "%>"; //$NON-NLS-1$
-			}
-		}
-		return null;
-	}
-
-	public String getStartTagClose(Node parentNode, CMElementDeclaration elementDecl) {
-		String other = getOtherClose(parentNode);
-		if (other != null)
-			return other;
-		if (elementDecl == null)
-			return ">";//$NON-NLS-1$
-		if (elementDecl.getContentType() == CMElementDeclaration.EMPTY)
-			return "/>"; //$NON-NLS-1$
-		return ">"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLRelevanceConstants.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLRelevanceConstants.java
deleted file mode 100644
index 0ac5df3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLRelevanceConstants.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceConstants;
-
-
-
-/**
- * some relevance constants for content assist higher relevance means it shows
- * up higher on the list
- */
-public interface XMLRelevanceConstants extends IRelevanceConstants {
-
-	int R_CDATA = 400;
-	int R_CLOSE_TAG = 1500;
-
-	int R_COMMENT = 100;
-
-	// moved this above macros
-	int R_DOCTYPE = 600;
-	int R_END_TAG = 1400;
-	int R_END_TAG_NAME = 1100;
-	int R_ENTITY = 1000;
-	int R_JSP = 500;
-
-	int R_JSP_ATTRIBUTE_VALUE = 700;
-
-	// (pa) make these the same relevance so proposals are same order for V501
-	int R_MACRO = 500;
-
-	// add this onto "required" attrs, elements, etc to bubble them up on
-	// sorting...
-	// CMVC 246618
-	int R_REQUIRED = 10;
-	int R_TAG_INSERTION = 500;
-	int R_TAG_NAME = 1200;
-	int R_XML_ATTRIBUTE_NAME = 900;
-	int R_XML_ATTRIBUTE_VALUE = 800;
-	int R_XML_DECLARATION = 1300;
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLTemplateCompletionProcessor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLTemplateCompletionProcessor.java
deleted file mode 100644
index c05d9d3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLTemplateCompletionProcessor.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.contentassist;
-
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeXML;
-
-
-/**
- * Completion processor for XML Templates
- */
-public class XMLTemplateCompletionProcessor extends AbstractTemplateCompletionProcessor {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.xml.ui.contentassist.AbstractTemplateCompletionProcessor#getContextTypeId()
-	 */
-	protected String getContextTypeId() {
-		// turn the context type id into content type specific
-		return TemplateContextTypeXML.generateContextTypeId(super.getContextTypeId());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.xml.ui.contentassist.AbstractTemplateCompletionProcessor#getTemplateContextRegistry()
-	 */
-	protected ContextTypeRegistry getTemplateContextRegistry() {
-		return getXMLEditorPlugin().getTemplateContextRegistry();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.xml.ui.contentassist.AbstractTemplateCompletionProcessor#getTemplateStore()
-	 */
-	protected TemplateStore getTemplateStore() {
-		return getXMLEditorPlugin().getTemplateStore();
-	}
-
-	/**
-	 * Returns the XMLUIPlugin
-	 * 
-	 * @return XMLUIPlugin
-	 */
-	private XMLUIPlugin getXMLEditorPlugin() {
-		return XMLUIPlugin.getDefault();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditAttributeDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditAttributeDialog.java
deleted file mode 100644
index 8226a4f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditAttributeDialog.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.util.XMLCommonUIContextIds;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-public class EditAttributeDialog extends Dialog implements ModifyListener {
-	protected Attr attribute;
-	protected String attributeName;
-	protected Text attributeNameField;
-	protected String attributeValue;
-	protected Text attributeValueField;
-	protected Label errorMessageLabel;
-	protected Button okButton;
-	protected Element ownerElement;
-
-	public EditAttributeDialog(Shell parentShell, Element ownerElement, Attr attribute) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.ownerElement = ownerElement;
-		this.attribute = attribute;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			attributeName = getModelValue(attributeNameField.getText());
-			attributeValue = attributeValueField.getText();
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	protected Control createContents(Composite parent) {
-		Control control = super.createContents(parent);
-		attributeNameField.forceFocus();
-		attributeNameField.selectAll();
-		updateErrorMessage();
-		return control;
-	}
-
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-		WorkbenchHelp.setHelp(dialogArea, XMLCommonUIContextIds.XCUI_ATTRIBUTE_DIALOG);
-
-		Composite composite = new Composite(dialogArea, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-
-		//
-		// Style convenience constants
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label attributeNameLabel = new Label(composite, SWT.NONE);
-		attributeNameLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_NAME_COLON")); //$NON-NLS-1$
-
-		attributeNameField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 300;
-		attributeNameField.setLayoutData(gd);
-		attributeNameField.setText(getDisplayValue(attribute != null ? attribute.getName() : "")); //$NON-NLS-1$
-		attributeNameField.addModifyListener(this);
-
-		Label attributeValueLabel = new Label(composite, SWT.NONE);
-		attributeValueLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_VALUE_COLON")); //$NON-NLS-1$
-
-		String value = attribute != null ? attribute.getValue() : ""; //$NON-NLS-1$
-		int style = SWT.SINGLE | SWT.BORDER;
-		if (value.indexOf("\n") != -1) { //$NON-NLS-1$
-			style = SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL;
-		}
-
-		attributeValueField = new Text(composite, style);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 300;
-		attributeValueField.setLayoutData(gd);
-		attributeValueField.setText(getDisplayValue(attribute != null ? attribute.getValue() : "")); //$NON-NLS-1$
-
-		// error message
-		errorMessageLabel = new Label(composite, SWT.WRAP);
-		errorMessageLabel.setText(XMLUIPlugin.getResourceString("%error_message_goes_here")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 200;
-		gd.heightHint = Math.max(30, errorMessageLabel.computeSize(0, 0, false).y * 2);
-		gd.horizontalSpan = 2;
-		errorMessageLabel.setLayoutData(gd);
-		Color color = new Color(errorMessageLabel.getDisplay(), 200, 0, 0);
-		errorMessageLabel.setForeground(color);
-
-		return dialogArea;
-	}
-
-	public String getAttributeName() {
-		return attributeName;
-	}
-
-	public String getAttributeValue() {
-		return attributeValue;
-	}
-
-	protected String getDisplayValue(String string) {
-		return string != null ? string : ""; //$NON-NLS-1$
-	}
-
-	protected String getModelValue(String string) {
-		String result = null;
-		if (string != null && string.trim().length() > 0) {
-			result = string;
-		}
-		return result;
-	}
-
-	public void modifyText(ModifyEvent e) {
-		updateErrorMessage();
-	}
-
-	protected void updateErrorMessage() {
-		String errorMessage = null;
-		String name = attributeNameField.getText().trim();
-		if (name.length() > 0) {
-			Attr matchingAttribute = ownerElement.getAttributeNode(name);
-			if (matchingAttribute != null && matchingAttribute != attribute) {
-				errorMessage = XMLUIPlugin.getResourceString("%_ERROR_XML_ATTRIBUTE_ALREADY_EXISTS"); //$NON-NLS-1$
-			} else {
-				// TODO get checkName from Model
-				//errorMessage = ValidateHelper.checkXMLName(name);
-			}
-		} else {
-			errorMessage = ""; //$NON-NLS-1$
-		}
-
-		errorMessageLabel.setText(errorMessage != null ? errorMessage : ""); //$NON-NLS-1$
-		errorMessageLabel.getParent().layout();
-		okButton.setEnabled(errorMessage == null);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditDoctypeDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditDoctypeDialog.java
deleted file mode 100644
index 443f85b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditDoctypeDialog.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.util.XMLCommonUIContextIds;
-import org.w3c.dom.DocumentType;
-
-public class EditDoctypeDialog extends Dialog {
-	protected boolean computeSystemId;
-	protected String[] doctypeData;
-	protected boolean errorChecking;
-	protected Label errorMessageLabel;
-	protected Button okButton;
-	protected Button publicIdBrowseButton;
-	protected Text publicIdField;
-	protected IPath resourceLocation;
-	protected Text rootElementNameField;
-	protected Button systemIdBrowseButton;
-	protected Text systemIdField;
-
-	public EditDoctypeDialog(Shell parentShell, DocumentType doctype) {
-		this(parentShell, doctype.getName(), doctype.getPublicId(), doctype.getSystemId());
-	}
-
-	public EditDoctypeDialog(Shell parentShell, String name, String publicId, String systemId) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		doctypeData = new String[3];
-		doctypeData[0] = name;
-		doctypeData[1] = publicId;
-		doctypeData[2] = systemId;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		doctypeData[0] = getModelValue(rootElementNameField.getText());
-		doctypeData[1] = getModelValue(publicIdField.getText());
-		doctypeData[2] = getModelValue(systemIdField.getText());
-		super.buttonPressed(buttonId);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-
-	protected Control createContents(Composite parent) {
-		Control control = super.createContents(parent);
-		updateErrorMessage();
-		return control;
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogControl = (Composite) super.createDialogArea(parent);
-		WorkbenchHelp.setHelp(dialogControl, XMLCommonUIContextIds.XCUI_DOCTYPE_DIALOG);
-
-		Composite composite = new Composite(dialogControl, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-
-		ModifyListener modifyListener = new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (e.widget == systemIdField) {
-					computeSystemId = false;
-				}
-				updateErrorMessage();
-			}
-		};
-
-		// row 1
-		//
-		Label rootElementNameLabel = new Label(composite, SWT.NONE);
-		rootElementNameLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_ROOT_ELEMENT_NAME_COLON")); //$NON-NLS-1$
-
-		rootElementNameField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		WorkbenchHelp.setHelp(rootElementNameField, XMLCommonUIContextIds.XCUI_DOCTYPE_ROOT);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 200;
-		rootElementNameField.setLayoutData(gd);
-		rootElementNameField.setText(getDisplayValue(doctypeData[0]));
-		rootElementNameField.addModifyListener(modifyListener);
-
-		Label placeHolder = new Label(composite, SWT.NONE);
-		placeHolder.setLayoutData(new GridData());
-
-		// row 2
-		//
-		Label publicIdLabel = new Label(composite, SWT.NONE);
-		publicIdLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_PUBLIC_ID_COLON")); //$NON-NLS-1$
-
-		publicIdField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		WorkbenchHelp.setHelp(publicIdField, XMLCommonUIContextIds.XCUI_DOCTYPE_PUBLIC);
-		publicIdField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		publicIdField.setText(getDisplayValue(doctypeData[1]));
-
-		SelectionListener selectionListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				EditEntityHelper helper = new EditEntityHelper();
-				if (e.widget == publicIdBrowseButton) {
-					helper.performBrowseForPublicId(getShell(), publicIdField, computeSystemId ? systemIdField : null);
-				} else if (e.widget == systemIdBrowseButton) {
-					helper.performBrowseForSystemId(getShell(), systemIdField, resourceLocation);
-				}
-			}
-		};
-
-		publicIdBrowseButton = new Button(composite, SWT.NONE);
-		WorkbenchHelp.setHelp(publicIdBrowseButton, XMLCommonUIContextIds.XCUI_DOCTYPE_PUBLIC_BROWSE);
-		publicIdBrowseButton.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_BROWSE")); //$NON-NLS-1$
-		publicIdBrowseButton.addSelectionListener(selectionListener);
-
-		// row 3
-		Label systemIdLabel = new Label(composite, SWT.NONE);
-		systemIdLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_SYSTEM_ID_COLON")); //$NON-NLS-1$
-
-		systemIdField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		WorkbenchHelp.setHelp(systemIdField, XMLCommonUIContextIds.XCUI_DOCTYPE_SYSTEM);
-		systemIdField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		systemIdField.setText(getDisplayValue(doctypeData[2]));
-		systemIdField.addModifyListener(modifyListener);
-
-
-		systemIdBrowseButton = new Button(composite, SWT.NONE);
-		WorkbenchHelp.setHelp(systemIdBrowseButton, XMLCommonUIContextIds.XCUI_DOCTYPE_SYSTEM_BROWSE);
-		systemIdBrowseButton.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_BROWSE")); //$NON-NLS-1$
-		systemIdBrowseButton.addSelectionListener(selectionListener);
-
-		// error message
-		errorMessageLabel = new Label(dialogControl, SWT.NONE);
-		errorMessageLabel.setText(""); //$NON-NLS-1$
-		errorMessageLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		Color color = new Color(errorMessageLabel.getDisplay(), 200, 0, 0);
-		errorMessageLabel.setForeground(color);
-
-		return dialogControl;
-	}
-
-
-	protected Label createMessageArea(Composite composite) {
-		Label label = new Label(composite, SWT.NONE);
-		//label.setText(message);
-		return label;
-	}
-
-
-	protected String getDisplayValue(String string) {
-		return string != null ? string : ""; //$NON-NLS-1$
-	}
-
-	public boolean getErrorChecking() {
-		return errorChecking;
-	}
-
-
-	protected String getModelValue(String string) {
-		String result = null;
-		if (string != null && string.trim().length() > 0) {
-			result = string;
-		}
-		return result;
-	}
-
-	public String getName() {
-		return doctypeData[0];
-	}
-
-	public String getPublicId() {
-		return doctypeData[1];
-	}
-
-	public String getSystemId() {
-		return doctypeData[2];
-	}
-
-	public void setComputeSystemId(boolean computeSystemId) {
-		this.computeSystemId = computeSystemId;
-	}
-
-	public void setErrorChecking(boolean errorChecking) {
-		this.errorChecking = errorChecking;
-	}
-
-	public void setResourceLocation(IPath path) {
-		resourceLocation = path;
-	}
-
-	public void updateErrorMessage() {
-		if (errorChecking) {
-			String errorMessage = null;
-			if (getModelValue(systemIdField.getText()) == null) {
-				errorMessage = XMLUIPlugin.getResourceString("%_UI_WARNING_SYSTEM_ID_MUST_BE_SPECIFIED"); //$NON-NLS-1$
-			} else if (getModelValue(rootElementNameField.getText()) == null) {
-				errorMessage = XMLUIPlugin.getResourceString("%_UI_WARNING_ROOT_ELEMENT_MUST_BE_SPECIFIED"); //$NON-NLS-1$
-			}
-
-			errorMessageLabel.setText(errorMessage != null ? errorMessage : ""); //$NON-NLS-1$
-			okButton.setEnabled(errorMessage == null);
-		}
-	}
-}
-
-
-
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditElementDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditElementDialog.java
deleted file mode 100644
index d196e12..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditElementDialog.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xml.core.NameValidator;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.util.XMLCommonUIContextIds;
-import org.w3c.dom.Element;
-
-public class EditElementDialog extends Dialog implements ModifyListener {
-	protected Element element;
-	protected String elementName;
-	protected Text elementNameField;
-	protected Label errorMessageLabel;
-	protected Button okButton;
-
-	public EditElementDialog(Shell parentShell, Element element) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.element = element;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			elementName = getModelValue(elementNameField.getText());
-		}
-		super.buttonPressed(buttonId);
-	}
-
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	protected Control createContents(Composite parent) {
-		Control control = super.createContents(parent);
-		elementNameField.forceFocus();
-		elementNameField.selectAll();
-		updateErrorMessage();
-		return control;
-	}
-
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-		WorkbenchHelp.setHelp(dialogArea, XMLCommonUIContextIds.XCUI_ELEMENT_DIALOG);
-
-		Composite composite = new Composite(dialogArea, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label elementNameLabel = new Label(composite, SWT.NONE);
-		elementNameLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_ELEMENT_NAME")); //$NON-NLS-1$
-
-		elementNameField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 200;
-		elementNameField.setLayoutData(gd);
-		elementNameField.setText(getDisplayValue(element != null ? element.getNodeName() : "")); //$NON-NLS-1$
-		elementNameField.addModifyListener(this);
-
-		// error message
-		errorMessageLabel = new Label(composite, SWT.NONE);
-		errorMessageLabel.setText(XMLUIPlugin.getResourceString("%error_message_goes_here")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		errorMessageLabel.setLayoutData(gd);
-		Color color = new Color(errorMessageLabel.getDisplay(), 200, 0, 0);
-		errorMessageLabel.setForeground(color);
-
-		return dialogArea;
-	}
-
-	protected String getDisplayValue(String string) {
-		return string != null ? string : ""; //$NON-NLS-1$
-	}
-
-	public String getElementName() {
-		return elementName;
-	}
-
-	protected String getModelValue(String string) {
-		String result = null;
-		if (string != null && string.trim().length() > 0) {
-			result = string;
-		}
-		return result;
-	}
-
-	public void modifyText(ModifyEvent e) {
-		updateErrorMessage();
-	}
-
-	protected void updateErrorMessage() {
-		String errorMessage = null;
-		String name = elementNameField.getText();
-		//		String name = elementNameField.getText().trim();
-		if (name.length() > 0) {
-			// TODO use checkName from model level
-			//errorMessage = ValidateHelper.checkXMLName(name);
-			if (!NameValidator.isValid(name)) {
-				errorMessage = XMLUIPlugin.getResourceString("%_UI_INVALID_NAME");
-			}
-		} else {
-			errorMessage = ""; //$NON-NLS-1$
-		}
-
-		errorMessageLabel.setText(errorMessage != null ? errorMessage : ""); //$NON-NLS-1$
-		okButton.setEnabled(errorMessage == null);
-	}
-}
-
-
-
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditEntityHelper.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditEntityHelper.java
deleted file mode 100644
index 8b05e24..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditEntityHelper.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogEntry;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-public class EditEntityHelper {
-
-	public void performBrowseForPublicId(Shell parentShell, Text publicIdField) {
-		performBrowseForPublicId(parentShell, publicIdField, null);
-	}
-
-	public void performBrowseForPublicId(Shell parentShell, Text publicIdField, Text systemIdField) {
-		String[] extensions = {"dtd", "txt"}; //$NON-NLS-1$ //$NON-NLS-2$
-		SelectXMLCatalogIdDialog dialog = new SelectXMLCatalogIdDialog(parentShell, extensions);
-		dialog.create();
-		dialog.getShell().setText(XMLUIPlugin.getResourceString("%_UI_LABEL_SELECT_XML_CATALOG_ENTRY")); //$NON-NLS-1$
-		dialog.setBlockOnOpen(true);
-		dialog.open();
-		if (dialog.getReturnCode() == Window.OK) {
-			String id = dialog.getId();
-			if (id != null) {
-				publicIdField.setText(id);
-				if (systemIdField != null && dialog.getSystemId() != null) {
-					systemIdField.setText(dialog.getSystemId());
-				}
-			}
-		}
-	}
-
-	public void performBrowseForSystemId(Shell parentShell, Text systemIdField, IPath resourceLocation) {
-		String[] extensions = {"dtd"}; //$NON-NLS-1$
-		SelectFileOrXMLCatalogIdDialog dialog = new SelectFileOrXMLCatalogIdDialog(parentShell, extensions, XMLCatalogEntry.SYSTEM);
-		dialog.create();
-		dialog.getShell().setText(XMLUIPlugin.getResourceString("%_UI_LABEL_SPECIFY_SYSTEM_ID")); //$NON-NLS-1$
-		dialog.setBlockOnOpen(true);
-		dialog.open();
-		if (dialog.getReturnCode() == Window.OK) {
-			String id = dialog.getId();
-			IFile file = dialog.getFile();
-			if (id != null) {
-				systemIdField.setText(id);
-			} else if (file != null) {
-				String uri = null;
-				if (resourceLocation != null) {
-					uri = URIHelper.getRelativeURI(file.getLocation(), resourceLocation);
-				} else {
-					uri = file.getLocation().toOSString();
-				}
-				systemIdField.setText(uri);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditNamespaceInfoDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditNamespaceInfoDialog.java
deleted file mode 100644
index db03c67..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditNamespaceInfoDialog.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMPlugin;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.eclipse.wst.xml.uriresolver.util.IdResolverImpl;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-public class EditNamespaceInfoDialog extends Dialog {
-
-	public static EditNamespaceInfoDialog invokeDialog(Shell shell, String title, NamespaceInfo info, IPath resourceLocation) {
-		EditNamespaceInfoDialog dialog = new EditNamespaceInfoDialog(shell, info);
-		dialog.create();
-		dialog.getShell().setText(title);
-		dialog.setBlockOnOpen(true);
-		dialog.setResourceLocation(resourceLocation);
-		dialog.open();
-		return dialog;
-	}
-
-	protected Button browseButton;
-	protected String errorMessage;
-
-	protected Label errorMessageLabel;
-	protected NamespaceInfo info;
-	protected Text locationHintField;
-
-	protected Button okButton;
-	protected Text prefixField;
-	protected IPath resourceLocation;
-	protected Text uriField;
-
-	public EditNamespaceInfoDialog(Shell parentShell, NamespaceInfo info) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.info = info;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			info.uri = uriField.getText();
-			info.prefix = prefixField.getText();
-			info.locationHint = locationHintField.getText();
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	protected void computeErrorMessage() {
-		errorMessage = null;
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		okButton.setEnabled(false);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-		updateWidgets();
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-		//TODO... SSE port
-		//WorkbenchHelp.setHelp(dialogArea,
-		// XMLCommonUIContextIds.XCUI_NAMESPACE_DIALOG);
-
-		Composite composite = new Composite(dialogArea, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 350;
-		composite.setLayoutData(gd);
-
-		ModifyListener modifyListener = new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateWidgets();
-			}
-		};
-
-
-		// row 1
-		//
-		Label uriLabel = new Label(composite, SWT.NONE);
-		uriLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_NAMESPACE_NAME_COLON")); //$NON-NLS-1$
-
-		uriField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.grabExcessHorizontalSpace = true;
-		uriField.setLayoutData(gd);
-		uriField.setText(getDisplayValue(info.uri));
-		uriField.addModifyListener(modifyListener);
-		uriField.setEnabled(info.getProperty("uri-readOnly") == null); //$NON-NLS-1$
-
-		Label placeHolder1 = new Label(composite, SWT.NONE);
-
-		// row 2
-		//
-		Label prefixLabel = new Label(composite, SWT.NONE);
-		prefixLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_PREFIX_COLON")); //$NON-NLS-1$
-
-		prefixField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.grabExcessHorizontalSpace = true;
-		prefixField.setLayoutData(gd);
-		prefixField.setText(getDisplayValue(info.prefix));
-		prefixField.addModifyListener(modifyListener);
-		prefixField.setEnabled(info.getProperty("prefix-readOnly") == null); //$NON-NLS-1$
-		Label placeHolder2 = new Label(composite, SWT.NONE);
-
-		// row 3
-		//
-		Label locationHintLabel = new Label(composite, SWT.NONE);
-		locationHintLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_LOCATION_HINT_COLON")); //$NON-NLS-1$
-
-		locationHintField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.grabExcessHorizontalSpace = true;
-		locationHintField.setLayoutData(gd);
-		locationHintField.setText(getDisplayValue(info.locationHint));
-		locationHintField.addModifyListener(modifyListener);
-		locationHintField.setEnabled(info.getProperty("locationHint-readOnly") == null); //$NON-NLS-1$
-
-		SelectionListener selectionListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				performBrowse();
-			}
-		};
-
-		browseButton = new Button(composite, SWT.NONE);
-		browseButton.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_BROWSE")); //$NON-NLS-1$
-		browseButton.addSelectionListener(selectionListener);
-		browseButton.setEnabled(locationHintField.getEnabled());
-
-		// error message
-		errorMessageLabel = new Label(dialogArea, SWT.NONE);
-		errorMessageLabel.setText(XMLUIPlugin.getResourceString("%error_message_goes_here")); //$NON-NLS-1$
-		errorMessageLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		Color color = new Color(errorMessageLabel.getDisplay(), 200, 0, 0);
-		errorMessageLabel.setForeground(color);
-
-		return dialogArea;
-	}
-
-	protected String getDisplayValue(String string) {
-		return string != null ? string : ""; //$NON-NLS-1$
-	}
-
-	protected void performBrowse() {
-		String[] extensions = {".xsd"}; //$NON-NLS-1$
-		SelectFileOrXMLCatalogIdDialog dialog = new SelectFileOrXMLCatalogIdDialog(getShell(), extensions);
-		dialog.create();
-		dialog.getShell().setText(XMLUIPlugin.getResourceString("%_UI_LABEL_SELECT_FILE")); //$NON-NLS-1$
-		dialog.setBlockOnOpen(true);
-		dialog.open();
-
-		if (dialog.getReturnCode() == Window.OK) {
-			String grammarURI = null;
-			IFile file = dialog.getFile();
-			String id = dialog.getId();
-			if (file != null) {
-				String uri = null;
-				if (resourceLocation != null) {
-					uri = URIHelper.getRelativeURI(file.getLocation(), resourceLocation);
-					grammarURI = file.getLocation().toOSString();
-				} else {
-					uri = file.getLocation().toOSString();
-					grammarURI = uri;
-				}
-				locationHintField.setText(uri);
-			} else if (id != null) {
-				locationHintField.setText(id);
-				IdResolver resolver = new IdResolverImpl(null);
-				grammarURI = resolver.resolveId(id, id);
-			}
-
-			try {
-				CMDocument document = CMPlugin.getInstance().createCMDocument(grammarURI, "xsd"); //$NON-NLS-1$
-				List namespaceInfoList = (List) document.getProperty("http://org.eclipse.wst/cm/properties/namespaceInfo"); //$NON-NLS-1$
-				NamespaceInfo info = (NamespaceInfo) namespaceInfoList.get(0);
-				if (uriField.getText().trim().length() == 0 && info.uri != null) {
-					uriField.setText(info.uri);
-				}
-				if (prefixField.getText().trim().length() == 0 && info.prefix != null) {
-					prefixField.setText(info.prefix);
-				}
-			} catch (Exception e) {
-			}
-		}
-	}
-
-	public void setResourceLocation(IPath path) {
-		resourceLocation = path;
-	}
-
-	protected void updateErrorMessageLabel() {
-		errorMessageLabel.setText(errorMessage != null ? errorMessage : ""); //$NON-NLS-1$
-	}
-
-	protected void updateOKButtonState() {
-		if (okButton != null) {
-			if (uriField.getText().trim().length() == 0 && prefixField.getText().trim().length() == 0 && locationHintField.getText().trim().length() == 0)
-				okButton.setEnabled(false);
-			else
-				okButton.setEnabled(errorMessage == null);
-		}
-	}
-
-	protected void updateWidgets() {
-		computeErrorMessage();
-		updateErrorMessageLabel();
-		updateOKButtonState();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditProcessingInstructionDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditProcessingInstructionDialog.java
deleted file mode 100644
index cda35f9..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditProcessingInstructionDialog.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.util.XMLCommonUIContextIds;
-import org.w3c.dom.ProcessingInstruction;
-
-public class EditProcessingInstructionDialog extends Dialog {
-	protected String data;
-	protected Text dataField;
-	protected String target;
-	protected Text targetField;
-
-	public EditProcessingInstructionDialog(Shell parentShell, ProcessingInstruction pi) {
-		this(parentShell, pi.getTarget(), pi.getData());
-	}
-
-	public EditProcessingInstructionDialog(Shell parentShell, String target, String data) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.target = target;
-		this.data = data;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		target = getModelValue(targetField.getText());
-		data = getModelValue(dataField.getText());
-		super.buttonPressed(buttonId);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		Button okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-		WorkbenchHelp.setHelp(dialogArea, XMLCommonUIContextIds.XCUI_PROCESSING_DIALOG);
-
-		Composite composite = new Composite(dialogArea, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 250;
-
-		Label targetLabel = new Label(composite, SWT.NONE);
-		targetLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_TARGET_COLON")); //$NON-NLS-1$
-
-		targetField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		targetField.setLayoutData(gd);
-		targetField.setText(getDisplayValue(target));
-
-		Label dataLabel = new Label(composite, SWT.NONE);
-		dataLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_DATA_COLON")); //$NON-NLS-1$
-
-		dataField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		dataField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		dataField.setText(getDisplayValue(data));
-
-		return dialogArea;
-	}
-
-	protected Label createMessageArea(Composite composite) {
-		Label label = new Label(composite, SWT.NONE);
-		//label.setText(message);
-		return label;
-	}
-
-	public String getData() {
-		return data;
-	}
-
-	protected String getDisplayValue(String string) {
-		return string != null ? string : ""; //$NON-NLS-1$
-	}
-
-	protected String getModelValue(String string) {
-		String result = null;
-		if (string != null && string.trim().length() > 0) {
-			result = string;
-		}
-		return result;
-	}
-
-
-	public String getTarget() {
-		return target;
-	}
-}
-
-
-
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditSchemaInfoDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditSchemaInfoDialog.java
deleted file mode 100644
index 8f6096e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditSchemaInfoDialog.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.nsedit.CommonEditNamespacesDialog;
-
-public class EditSchemaInfoDialog extends Dialog implements UpdateListener {
-	//  protected NamespaceInfoTable namespaceInfoTable;
-	protected Label errorMessageLabel;
-	protected List namespaceInfoList;
-	protected IPath resourceLocation;
-
-	public EditSchemaInfoDialog(Shell parentShell, IPath resourceLocation) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.resourceLocation = resourceLocation;
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		Button okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-		CommonEditNamespacesDialog editNamespacesControl = new CommonEditNamespacesDialog(dialogArea, resourceLocation, XMLUIPlugin.getResourceString("%_UI_NAMESPACE_DECLARATIONS"), false, true); //$NON-NLS-1$
-		editNamespacesControl.setNamespaceInfoList(namespaceInfoList);
-
-		editNamespacesControl.updateErrorMessage(namespaceInfoList);
-
-		return dialogArea;
-	}
-
-	protected Control getDialogArea(Composite parent) {
-		return super.createDialogArea(parent);
-	}
-
-	public List getNamespaceInfoList() {
-		return namespaceInfoList;
-	}
-
-	public void setNamespaceInfoList(List list) {
-		namespaceInfoList = list;
-	}
-
-	public void updateErrorMessage(List namespaceInfoList) {
-		NamespaceInfoErrorHelper helper = new NamespaceInfoErrorHelper();
-		String errorMessage = helper.computeErrorMessage(namespaceInfoList, null);
-		errorMessageLabel.setText(errorMessage != null ? errorMessage : ""); //$NON-NLS-1$
-	}
-
-	public void updateOccured(Object object, Object arg) {
-		updateErrorMessage((List) arg);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/NamespaceInfoErrorHelper.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/NamespaceInfoErrorHelper.java
deleted file mode 100644
index 9101f2f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/NamespaceInfoErrorHelper.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceInfoManager;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-public class NamespaceInfoErrorHelper {
-
-	protected List errorList;
-
-	public NamespaceInfoErrorHelper() {
-	}
-
-	public String computeErrorMessage(List namespaceInfoList, IdResolver idResolver) {
-		String result = null;
-		Hashtable prefixTable = new Hashtable();
-		Hashtable uriTable = new Hashtable();
-		for (Iterator iterator = namespaceInfoList.iterator(); iterator.hasNext();) {
-			NamespaceInfo nsInfo = (NamespaceInfo) iterator.next();
-			nsInfo.normalize();
-
-			String urikey = nsInfo.uri != null ? nsInfo.uri : ""; //$NON-NLS-1$
-			NamespaceInfo nsInfo2 = null;
-			if ((nsInfo2 = (NamespaceInfo) uriTable.get(urikey)) != null) {
-				if (nsInfo.uri != null && nsInfo.uri.equals(nsInfo2.uri)) {
-					result = XMLUIPlugin.getResourceString("%_UI_WARNING_MORE_THAN_ONE_NS_WITH_NAME") + "'" + nsInfo.uri + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				} else {
-					result = XMLUIPlugin.getResourceString("%_UI_WARNING_MORE_THAN_ONE_NS_WITHOUT_NAME"); //$NON-NLS-1$
-				}
-				break;
-			} else {
-				uriTable.put(urikey, nsInfo);
-			}
-
-			if (nsInfo.uri != null) {
-				String key = nsInfo.prefix != null ? nsInfo.prefix : ""; //$NON-NLS-1$
-				if (prefixTable.get(key) != null) {
-					if (nsInfo.prefix != null) {
-						result = XMLUIPlugin.getResourceString("%_UI_WARNING_MORE_THAN_ONE_NS_WITH_PREFIX") + "'" + nsInfo.prefix + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						break;
-					} else {
-						result = XMLUIPlugin.getResourceString("%_UI_WARNING_MORE_THAN_ONE_NS_WITHOUT_PREFIX"); //$NON-NLS-1$
-						break;
-					}
-				} else {
-					prefixTable.put(key, nsInfo);
-				}
-
-				if (nsInfo.locationHint != null && idResolver != null) {
-					String grammarURI = idResolver.resolveId(nsInfo.locationHint, nsInfo.locationHint);
-					if (!URIHelper.isReadableURI(grammarURI, false)) {
-						result = XMLUIPlugin.getResourceString("%_UI_WARNING_SCHEMA_CAN_NOT_BE_LOCATED") + " '" + nsInfo.locationHint + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						break;
-					}
-				}
-				if (idResolver != null && nsInfo.locationHint == null && !nsInfo.uri.equals(DOMNamespaceInfoManager.XSI_URI)) {
-					result = XMLUIPlugin.getResourceString("%_UI_WARNING_LOCATION_HINT_NOT_SPECIFIED") + " '" + nsInfo.uri + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				}
-			} else {
-				if (nsInfo.prefix != null) {
-					result = XMLUIPlugin.getResourceString("%_UI_WARNING_NAMESPACE_NAME_NOT_SPECIFIED") + " '" + nsInfo.prefix + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				}
-			}
-		}
-		// additional tests
-		if (result == null) {
-			for (Iterator iterator = namespaceInfoList.iterator(); iterator.hasNext();) {
-				NamespaceInfo nsInfo = (NamespaceInfo) iterator.next();
-				nsInfo.normalize();
-				if (nsInfo.uri != null && nsInfo.isPrefixRequired && nsInfo.prefix == null) {
-					result = XMLUIPlugin.getResourceString("%_UI_WARNING_PREFIX_NOT_SPECIFIED") + " '" + nsInfo.uri + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				}
-			}
-		}
-
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/NamespaceInfoTable.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/NamespaceInfoTable.java
deleted file mode 100644
index bcd7151..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/NamespaceInfoTable.java
+++ /dev/null
@@ -1,390 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-public class NamespaceInfoTable extends Composite {
-
-	/**
-	 * NamespaceInfoTableLabelProvider
-	 */
-	protected class NamespaceInfoTableLabelProvider implements ITableLabelProvider, IStructuredContentProvider {
-
-		public void addListener(ILabelProviderListener listener) {
-		}
-
-		public void dispose() {
-		}
-
-		public Image getColumnImage(Object object, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object object, int column) {
-			NamespaceInfo info = (NamespaceInfo) object;
-			String result = null;
-			switch (column) {
-				case 0 : {
-					result = info.uri;
-					break;
-				}
-				case 1 : {
-					result = info.prefix;
-					break;
-				}
-				case 2 : {
-					result = info.locationHint;
-					break;
-				}
-			}
-			result = result != null ? result : ""; //$NON-NLS-1$
-			if (result.equals("")) { //$NON-NLS-1$
-				switch (column) {
-					case 0 : {
-						result = XMLUIPlugin.getResourceString("%_UI_NO_NAMESPACE_NAME"); //$NON-NLS-1$
-						break;
-					}
-					case 1 : {
-						result = XMLUIPlugin.getResourceString("%_UI_NO_PREFIX"); //$NON-NLS-1$
-						break;
-					}
-				}
-			}
-			return result;
-		}
-
-		 String getDefaultPrefix() {
-			String defaultPrefix = "p"; //$NON-NLS-1$
-			if (namespaceInfoList == null)
-				return defaultPrefix;
-			Vector v = new Vector();
-			for (int i = 0; i < namespaceInfoList.size(); i++) {
-				NamespaceInfo nsinfo = (NamespaceInfo) namespaceInfoList.get(i);
-				if (nsinfo.prefix != null)
-					v.addElement(nsinfo.prefix);
-			}
-			if (v.contains(defaultPrefix)) {
-				String s = defaultPrefix;
-				for (int j = 0; v.contains(s); j++) {
-					s = defaultPrefix + Integer.toString(j);
-				}
-				return s;
-			} else
-				return defaultPrefix;
-		}
-
-		public Object[] getElements(Object inputElement) {
-			return namespaceInfoList.toArray();
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-
-		public boolean isDeleted(Object element) {
-			return false;
-		}
-
-		public boolean isLabelProperty(Object object, Object property) {
-			return false;
-		}
-
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		public void removeListener(ILabelProviderListener listener) {
-		}
-	}
-
-	protected static final String LOCATION_HINT = XMLUIPlugin.getResourceString("%_UI_LABEL_LOCATION_HINT"); //$NON-NLS-1$
-	protected static final String NAMESPACE_URI = XMLUIPlugin.getResourceString("%_UI_LABEL_NAMESPACE_NAME"); //$NON-NLS-1$
-	protected static final String PREFIX = XMLUIPlugin.getResourceString("%_UI_LABEL_PREFIX"); //$NON-NLS-1$
-	protected Button deleteButton;
-	protected boolean dummyRowsRemoved = false;
-	protected Button editButton;
-	protected List namespaceInfoList = new Vector();
-	protected Button newButton;
-	protected NamespaceInfoTableLabelProvider provider;
-	protected IPath resourceLocation;
-	protected TableViewer tableViewer;
-	protected UpdateListener updateListener;
-	protected int visibleRows = -1;
-
-	public NamespaceInfoTable(Composite parent) {
-		this(parent, -1, -1, -1);
-	}
-
-	public NamespaceInfoTable(Composite parent, int visibleRows) {
-		this(parent, -1, -1, visibleRows);
-	}
-
-	public NamespaceInfoTable(Composite parent, int widthHint, int heightHint) {
-		this(parent, widthHint, heightHint, -1);
-	}
-
-	public NamespaceInfoTable(Composite parent, int widthHint, int heightHint, int visibleRows) {
-		super(parent, SWT.NONE);
-		setLayout(createGridLayout());
-		setLayoutData(new GridData(GridData.FILL_BOTH));
-		Group namespaceInfoGroup = new Group(this, SWT.NONE);
-		namespaceInfoGroup.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_XML_SCHEMA_INFORMATION")); //$NON-NLS-1$
-		namespaceInfoGroup.setLayout(new GridLayout());
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		if (widthHint != -1) {
-			gd.widthHint = widthHint;
-		}
-		if (heightHint != -1) {
-			gd.heightHint = heightHint;
-		}
-		namespaceInfoGroup.setLayoutData(gd);
-		//WorkbenchHelp.setHelp(namespaceInfoGroup, new
-		// ControlContextComputer(namespaceInfoGroup,
-		// XMLBuilderContextIds.XMLC_NAMESPACE_GROUP));
-		String[] titleArray = {NAMESPACE_URI, PREFIX, LOCATION_HINT};
-		tableViewer = new TableViewer(namespaceInfoGroup, SWT.FULL_SELECTION);
-		provider = new NamespaceInfoTableLabelProvider();
-		tableViewer.setContentProvider(provider);
-		tableViewer.setLabelProvider(provider);
-		tableViewer.setColumnProperties(titleArray);
-		Table table = tableViewer.getTable();
-		table.setHeaderVisible(true);
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-		int[] widthArray = {50, 20, 30};
-		TableLayout layout = new TableLayout();
-		for (int i = 0; i < titleArray.length; i++) {
-			TableColumn column = new TableColumn(table, i);
-			column.setText(titleArray[i]);
-			column.setAlignment(SWT.LEFT);
-			layout.addColumnData(new ColumnWeightData(widthArray[i], true));
-		}
-		this.visibleRows = visibleRows;
-		for (int i = 0; i < visibleRows; i++) {
-			TableItem item = new TableItem(table, SWT.NONE);
-			item.setText("#######"); //$NON-NLS-1$
-		}
-		table.setLayout(layout);
-		CellEditor[] cellEditors = new CellEditor[titleArray.length];
-		cellEditors[1] = new TextCellEditor(table);
-		cellEditors[2] = new TextCellEditor(table);
-		tableViewer.setCellEditors(cellEditors);
-		MouseAdapter mouseAdapter = new MouseAdapter() {
-			public void mouseDoubleClick(MouseEvent e) {
-				if (tableViewer.getTable().getItem(new Point(e.x, e.y)) != null) {
-					performEdit();
-				}
-			}
-		};
-		table.addMouseListener(mouseAdapter);
-		createButtons(namespaceInfoGroup);
-		ISelectionChangedListener selectionChangedListener = new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateButtonEnabledState();
-			}
-		};
-		tableViewer.addSelectionChangedListener(selectionChangedListener);
-	}
-
-	protected void createButtons(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		gridLayout.marginHeight = 0;
-		gridLayout.marginWidth = 0;
-		composite.setLayout(gridLayout);
-		Button hiddenButton = new Button(composite, SWT.NONE);
-		hiddenButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		hiddenButton.setVisible(false);
-		hiddenButton.setEnabled(false);
-		SelectionListener selectionListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (e.widget == newButton) {
-					performNew();
-				} else if (e.widget == editButton) {
-					performEdit();
-				} else if (e.widget == deleteButton) {
-					performDelete();
-				}
-			}
-		};
-		// create a composite to hold the three buttons
-		Composite buttonComposite = new Composite(composite, SWT.NONE);
-		buttonComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout buttonGridLayout = new GridLayout();
-		buttonGridLayout.numColumns = 3;
-		buttonGridLayout.makeColumnsEqualWidth = true;
-		buttonComposite.setLayout(buttonGridLayout);
-		// add the New button
-		//
-		newButton = new Button(buttonComposite, SWT.NONE);
-		newButton.setText(XMLUIPlugin.getResourceString("%_UI_BUTTON_NEW")); //$NON-NLS-1$
-		newButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		newButton.addSelectionListener(selectionListener);
-		// add the Edit button
-		//
-		editButton = new Button(buttonComposite, SWT.NONE);
-		editButton.setText(XMLUIPlugin.getResourceString("%_UI_BUTTON_EDIT")); //$NON-NLS-1$
-		editButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		editButton.addSelectionListener(selectionListener);
-		// add the Delete button
-		//
-		deleteButton = new Button(buttonComposite, SWT.NONE);
-		deleteButton.setText(XMLUIPlugin.getResourceString("%_UI_BUTTON_DELETE")); //$NON-NLS-1$
-		deleteButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		deleteButton.addSelectionListener(selectionListener);
-	}
-
-	public GridLayout createGridLayout() {
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.marginWidth = 0;
-		gridLayout.horizontalSpacing = 0;
-		return gridLayout;
-	}
-
-	public List getNamespaceInfoList() {
-		return namespaceInfoList;
-	}
-
-	protected NamespaceInfo getTargetNamespaceInfo() {
-		return (namespaceInfoList != null && namespaceInfoList.size() > 0) ? (NamespaceInfo) namespaceInfoList.get(0) : null;
-	}
-
-	protected EditNamespaceInfoDialog invokeDialog(String title, NamespaceInfo info) {
-		Shell shell = XMLUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		EditNamespaceInfoDialog dialog = new EditNamespaceInfoDialog(shell, info);
-		dialog.create();
-		dialog.getShell().setText(title);
-		dialog.setBlockOnOpen(true);
-		dialog.setResourceLocation(resourceLocation);
-		dialog.open();
-		return dialog;
-	}
-
-	protected void performDelayedUpdate() {
-		Runnable delayedUpdate = new Runnable() {
-			public void run() {
-				update();
-			}
-		};
-		getDisplay().asyncExec(delayedUpdate);
-		if (updateListener != null) {
-			updateListener.updateOccured(this, namespaceInfoList);
-		}
-	}
-
-	public void performDelete() {
-		ISelection selection = tableViewer.getSelection();
-		Object selectedObject = (selection instanceof IStructuredSelection) ? ((IStructuredSelection) selection).getFirstElement() : null;
-		if (selectedObject != null) {
-			namespaceInfoList.remove(selectedObject);
-			performDelayedUpdate();
-		}
-	}
-
-	public void performEdit() {
-		ISelection selection = tableViewer.getSelection();
-		Object selectedObject = (selection instanceof IStructuredSelection) ? ((IStructuredSelection) selection).getFirstElement() : null;
-		if (selectedObject instanceof NamespaceInfo) {
-			EditNamespaceInfoDialog dialog = invokeDialog(XMLUIPlugin.getResourceString("%_UI_LABEL_NEW_NAMESPACE_INFORMATION"), (NamespaceInfo) selectedObject); //$NON-NLS-1$
-			performDelayedUpdate();
-		}
-	}
-
-	public void performNew() {
-		NamespaceInfo info = new NamespaceInfo();
-		EditNamespaceInfoDialog dialog = invokeDialog(XMLUIPlugin.getResourceString("%_UI_LABEL_NEW_NAMESPACE_INFORMATION"), info); //$NON-NLS-1$
-		if (dialog.getReturnCode() == Window.OK) {
-			namespaceInfoList.add(info);
-			performDelayedUpdate();
-		}
-	}
-
-	public void setNamespaceInfoList(List namespaceInfoList) {
-		this.namespaceInfoList = namespaceInfoList;
-		update();
-	}
-
-	public void setResourceLocation(IPath resourceLocation) {
-		this.resourceLocation = resourceLocation;
-	}
-
-	public void setUpdateListener(UpdateListener updateListener) {
-		this.updateListener = updateListener;
-	}
-
-	public void update() {
-		updateHelper(namespaceInfoList);
-	}
-
-	public void updateButtonEnabledState() {
-		ISelection selection = tableViewer.getSelection();
-		Object selectedObject = (selection instanceof IStructuredSelection) ? ((IStructuredSelection) selection).getFirstElement() : null;
-		NamespaceInfo info = (NamespaceInfo) selectedObject;
-		editButton.setEnabled(info != null);
-		deleteButton.setEnabled(info != null && info.getProperty("unremovable") == null); //$NON-NLS-1$
-	}
-
-	public void updateHelper(List namespaceInfoList) {
-		if (visibleRows != -1 && !dummyRowsRemoved) {
-			dummyRowsRemoved = true;
-			tableViewer.getTable().removeAll();
-		}
-		ISelection selection = tableViewer.getSelection();
-		tableViewer.setInput(namespaceInfoList);
-		if (selection.isEmpty()) {
-			if (namespaceInfoList.size() > 0) {
-				tableViewer.setSelection(new StructuredSelection(namespaceInfoList.get(0)));
-			}
-		} else {
-			tableViewer.setSelection(selection);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectFileOrXMLCatalogIdDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectFileOrXMLCatalogIdDialog.java
deleted file mode 100644
index 4c8397c..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectFileOrXMLCatalogIdDialog.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-
-public class SelectFileOrXMLCatalogIdDialog extends Dialog {
-	protected int catalogEntryType;
-	protected String[] extensions;
-	protected IFile file;
-	protected String id;
-	protected Button okButton;
-	protected SelectFileOrXMLCatalogIdPanel panel;
-
-	public SelectFileOrXMLCatalogIdDialog(Shell parentShell, String[] extensions) {
-		this(parentShell, extensions, 0);
-	}
-
-	public SelectFileOrXMLCatalogIdDialog(Shell parentShell, String[] extensions, int catalogEntryType) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.extensions = extensions;
-		this.catalogEntryType = catalogEntryType;
-	}
-
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			file = panel.getFile();
-			id = panel.getXMLCatalogId();
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		okButton.setEnabled(false);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-
-		panel = new SelectFileOrXMLCatalogIdPanel(dialogArea);
-		panel.setCatalogEntryType(catalogEntryType);
-		panel.setFilterExtensions(extensions);
-		panel.setVisibleHelper(true);
-		SelectFileOrXMLCatalogIdPanel.Listener listener = new SelectFileOrXMLCatalogIdPanel.Listener() {
-			public void completionStateChanged() {
-				updateButtonState();
-			}
-		};
-		panel.setListener(listener);
-
-		return dialogArea;
-	}
-
-	public IFile getFile() {
-		return file;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	protected void updateButtonState() {
-		okButton.setEnabled(panel.getFile() != null || panel.getXMLCatalogId() != null);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectFileOrXMLCatalogIdPanel.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectFileOrXMLCatalogIdPanel.java
deleted file mode 100644
index ff786ab..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectFileOrXMLCatalogIdPanel.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.wst.common.ui.viewers.SelectSingleFileView;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.uriresolver.XMLCatalog;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogEntry;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogPlugin;
-
-public class SelectFileOrXMLCatalogIdPanel extends Composite implements SelectionListener {
-
-	/**
-	 * TODO: Change the name of this interface; "Listener" is used by SWT.
-	 */
-	public interface Listener {
-		void completionStateChanged();
-	}
-
-	protected class MySelectSingleFileView extends SelectSingleFileView implements SelectSingleFileView.Listener {
-		protected Control control;
-
-		public MySelectSingleFileView(Composite parent) {
-			super(null, true);
-			//String[] ext = {".dtd"};
-			//addFilterExtensions(ext);
-			control = createControl(parent);
-			control.setLayoutData(new GridData(GridData.FILL_BOTH));
-			MySelectSingleFileView.this.setListener(this);
-		}
-
-		public Control getControl() {
-			return control;
-		}
-
-		public void setControlComplete(boolean isComplete) {
-			updateCompletionStateChange();
-		}
-
-		public void setVisibleHelper(boolean isVisible) {
-			super.setVisibleHelper(isVisible);
-		}
-	}
-
-	protected Listener listener;
-	protected PageBook pageBook;
-
-	protected Button[] radioButton;
-	protected MySelectSingleFileView selectSingleFileView;
-	protected SelectXMLCatalogIdPanel selectXMLCatalogIdPanel;
-
-	public SelectFileOrXMLCatalogIdPanel(Composite parent) {
-		super(parent, SWT.NONE);
-
-		// container group
-		setLayout(new GridLayout());
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 400;
-		gd.widthHint = 400;
-		setLayoutData(gd);
-
-		radioButton = new Button[2];
-		radioButton[0] = new Button(this, SWT.RADIO);
-		radioButton[0].setText(XMLUIPlugin.getResourceString("%_UI_RADIO_BUTTON_SELECT_FROM_WORKSPACE")); //$NON-NLS-1$
-		radioButton[0].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		radioButton[0].setSelection(true);
-		radioButton[0].addSelectionListener(this);
-
-		radioButton[1] = new Button(this, SWT.RADIO);
-		radioButton[1].setText(XMLUIPlugin.getResourceString("%_UI_RADIO_BUTTON_SELECT_FROM_CATALOG")); //$NON-NLS-1$
-		radioButton[1].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		radioButton[1].addSelectionListener(this);
-
-		pageBook = new PageBook(this, SWT.NONE);
-		pageBook.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		selectSingleFileView = new MySelectSingleFileView(pageBook);
-
-		XMLCatalog xmlCatalog = XMLCatalogPlugin.getInstance().getDefaultXMLCatalog();
-		selectXMLCatalogIdPanel = new SelectXMLCatalogIdPanel(pageBook, xmlCatalog);
-		selectXMLCatalogIdPanel.getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateCompletionStateChange();
-			}
-		});
-		pageBook.showPage(selectSingleFileView.getControl());
-	}
-
-	public IFile getFile() {
-		IFile result = null;
-		if (radioButton[0].getSelection()) {
-			result = selectSingleFileView.getFile();
-		}
-		return result;
-	}
-
-	public XMLCatalogEntry getXMLCatalogEntry() {
-		XMLCatalogEntry result = null;
-		if (radioButton[1].getSelection()) {
-			result = selectXMLCatalogIdPanel.getXMLCatalogEntry();
-		}
-		return result;
-	}
-
-	public String getXMLCatalogId() {
-		String result = null;
-		if (radioButton[1].getSelection()) {
-			result = selectXMLCatalogIdPanel.getId();
-		}
-		return result;
-	}
-
-	public String getXMLCatalogURI() {
-		String result = null;
-		if (radioButton[1].getSelection()) {
-			result = selectXMLCatalogIdPanel.getURI();
-		}
-		return result;
-	}
-
-	public void setCatalogEntryType(int catalogEntryType) {
-		selectXMLCatalogIdPanel.setCatalogEntryType(catalogEntryType);
-	}
-
-	public void setFilterExtensions(String[] filterExtensions) {
-		selectSingleFileView.resetFilters();
-		selectSingleFileView.addFilterExtensions(filterExtensions);
-
-		selectXMLCatalogIdPanel.getTableViewer().setFilterExtensions(filterExtensions);
-	}
-
-	public void setListener(Listener listener) {
-		this.listener = listener;
-	}
-
-	public void setVisibleHelper(boolean isVisible) {
-		selectSingleFileView.setVisibleHelper(isVisible);
-	}
-
-	public void updateCompletionStateChange() {
-		if (listener != null) {
-			listener.completionStateChanged();
-		}
-	}
-
-	public void widgetDefaultSelected(SelectionEvent e) {
-	}
-
-	public void widgetSelected(SelectionEvent e) {
-		if (e.widget == radioButton[0]) {
-			pageBook.showPage(selectSingleFileView.getControl());
-		} else {
-			pageBook.showPage(selectXMLCatalogIdPanel);
-		}
-		updateCompletionStateChange();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectXMLCatalogIdDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectXMLCatalogIdDialog.java
deleted file mode 100644
index 65cb8bd..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectXMLCatalogIdDialog.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.xml.ui.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.uriresolver.XMLCatalog;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogEntry;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogPlugin;
-
-
-
-public class SelectXMLCatalogIdDialog extends Dialog {
-	protected String[] extensions;
-	protected Button okButton;
-	protected SelectXMLCatalogIdPanel panel;
-	protected String publicId;
-	protected String systemId;
-
-	public SelectXMLCatalogIdDialog(Shell parentShell, String[] extensions) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.extensions = extensions;
-	}
-
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			ISelection selection = panel.getTableViewer().getSelection();
-			Object selectedObject = (selection instanceof IStructuredSelection) ? ((IStructuredSelection) selection).getFirstElement() : null;
-
-			if (selectedObject instanceof XMLCatalogEntry) {
-				XMLCatalogEntry mappingInfo = (XMLCatalogEntry) selectedObject;
-				publicId = mappingInfo.getKey();
-				systemId = computeDefaultSystemId(mappingInfo);
-			}
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	protected String computeDefaultSystemId(XMLCatalogEntry mappingInfo) {
-		String result = mappingInfo.getWebAddress();
-		if (result == null && mappingInfo.getURI() != null) {
-			int index = mappingInfo.getURI().lastIndexOf("/"); //$NON-NLS-1$
-			String lastSegment = index != -1 ? mappingInfo.getURI().substring(index + 1) : mappingInfo.getURI();
-			result = lastSegment;
-		}
-		return result;
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		okButton.setEnabled(false);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-		// TODO... SSE port
-		//WorkbenchHelp.setHelp(dialogArea,
-		// XMLCommonUIContextIds.XCUI_CATALOG_DIALOG);
-
-		XMLCatalog xmlCatalog = XMLCatalogPlugin.getInstance().getDefaultXMLCatalog();
-		panel = new SelectXMLCatalogIdPanel(dialogArea, xmlCatalog);
-
-		ISelectionChangedListener listener = new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateButtonState();
-			}
-		};
-		panel.getTableViewer().setFilterExtensions(extensions);
-		panel.getTableViewer().addSelectionChangedListener(listener);
-		return dialogArea;
-	}
-
-
-
-	public String getId() {
-		return publicId;
-	}
-
-	public String getSystemId() {
-		return systemId;
-	}
-
-	protected void updateButtonState() {
-		ISelection selection = panel.getTableViewer().getSelection();
-		okButton.setEnabled(!selection.isEmpty());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectXMLCatalogIdPanel.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectXMLCatalogIdPanel.java
deleted file mode 100644
index 082ebc7..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectXMLCatalogIdPanel.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dialogs;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.uriresolver.XMLCatalog;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogEntry;
-
-public class SelectXMLCatalogIdPanel extends Composite {
-	protected int catalogEntryType;
-	protected boolean doTableSizeHack = false;
-
-	protected XMLCatalogTableViewer tableViewer;
-	protected XMLCatalog xmlCatalog;
-
-	public SelectXMLCatalogIdPanel(Composite parent, XMLCatalog xmlCatalog) {
-		super(parent, SWT.NONE);
-		this.xmlCatalog = xmlCatalog;
-
-		GridLayout gridLayout = new GridLayout();
-		this.setLayout(gridLayout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = 200;
-		gd.widthHint = 700;
-		this.setLayoutData(gd);
-
-		Label label = new Label(this, SWT.NONE);
-		label.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_XML_CATALOG_COLON")); //$NON-NLS-1$
-
-		tableViewer = createTableViewer(this);
-		tableViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-		tableViewer.setInput("dummy"); //$NON-NLS-1$
-	}
-
-	protected XMLCatalogTableViewer createTableViewer(Composite parent) {
-		String headings[] = new String[2];
-		headings[0] = XMLUIPlugin.getResourceString("%_UI_LABEL_KEY"); //$NON-NLS-1$
-		headings[1] = XMLUIPlugin.getResourceString("%_UI_LABEL_URI"); //$NON-NLS-1$
-
-		XMLCatalogTableViewer theTableViewer = new XMLCatalogTableViewer(parent, headings) {
-
-			protected void addXMLCatalogEntries(List list, Collection collection) {
-				for (Iterator i = collection.iterator(); i.hasNext();) {
-					XMLCatalogEntry entry = (XMLCatalogEntry) i.next();
-					if (catalogEntryType == 0) {
-						list.add(entry);
-					} else if (catalogEntryType == entry.getType()) {
-						list.add(entry);
-					}
-				}
-			}
-
-			public Collection getXMLCatalogEntries() {
-				List result = null;
-
-				if (xmlCatalog == null || doTableSizeHack) {
-					// this lets us create a table with an initial height of
-					// 10 rows
-					// otherwise we get stuck with 0 row heigh table... that's
-					// too small
-					doTableSizeHack = false;
-					result = new Vector();
-					for (int i = 0; i < 6; i++) {
-						result.add(""); //$NON-NLS-1$
-					}
-				} else {
-					result = new Vector();
-
-					addXMLCatalogEntries(result, xmlCatalog.getChildCatalog(XMLCatalog.SYSTEM_CATALOG_ID).getEntries());
-					addXMLCatalogEntries(result, xmlCatalog.getChildCatalog(XMLCatalog.USER_CATALOG_ID).getEntries());
-				}
-				return result;
-			}
-		};
-		return theTableViewer;
-	}
-
-
-	public String getId() {
-		XMLCatalogEntry entry = getXMLCatalogEntry();
-		return entry != null ? entry.getKey() : null;
-	}
-
-	public XMLCatalogTableViewer getTableViewer() {
-		return tableViewer;
-	}
-
-	public String getURI() {
-		XMLCatalogEntry entry = getXMLCatalogEntry();
-		return entry != null ? entry.getURI() : null;
-	}
-
-	public XMLCatalogEntry getXMLCatalogEntry() {
-		XMLCatalogEntry result = null;
-		ISelection selection = tableViewer.getSelection();
-		Object selectedObject = (selection instanceof IStructuredSelection) ? ((IStructuredSelection) selection).getFirstElement() : null;
-		if (selectedObject instanceof XMLCatalogEntry) {
-			result = (XMLCatalogEntry) selectedObject;
-		}
-		return result;
-	}
-
-	public void setCatalogEntryType(int catalogEntryType) {
-		this.catalogEntryType = catalogEntryType;
-		tableViewer.refresh();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/UpdateListener.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/UpdateListener.java
deleted file mode 100644
index 2ae05bd..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/UpdateListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.xml.ui.dialogs;
-
-public interface UpdateListener {
-
-	public void updateOccured(Object object, Object arg);
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/XMLCatalogTableViewer.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/XMLCatalogTableViewer.java
deleted file mode 100644
index 3f5262c..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/XMLCatalogTableViewer.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.xml.ui.dialogs;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogEntry;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-
-public class XMLCatalogTableViewer extends TableViewer {
-
-
-	public class CatalogEntryContentProvider implements IStructuredContentProvider {
-
-		public void dispose() {
-		}
-
-		public Object[] getElements(Object element) {
-			Object[] array = getXMLCatalogEntries().toArray();
-			Comparator comparator = new Comparator() {
-				public int compare(Object o1, Object o2) {
-					int result = 0;
-					if (o1 instanceof XMLCatalogEntry && o2 instanceof XMLCatalogEntry) {
-						XMLCatalogEntry mappingInfo1 = (XMLCatalogEntry) o1;
-						XMLCatalogEntry mappingInfo2 = (XMLCatalogEntry) o2;
-						result = Collator.getInstance().compare(mappingInfo1.getKey(), mappingInfo2.getKey());
-					}
-					return result;
-				}
-			};
-			Arrays.sort(array, comparator);
-			return array;
-		}
-
-		public void inputChanged(Viewer viewer, Object old, Object newobj) {
-		}
-
-		public boolean isDeleted(Object object) {
-			return false;
-		}
-	}
-
-	public class CatalogEntryLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-		public Image getColumnImage(Object object, int columnIndex) {
-			Image result = null;
-			if (columnIndex == 0) {
-				Image base = null;
-				if (object instanceof XMLCatalogEntry) {
-					XMLCatalogEntry catalogEntry = (XMLCatalogEntry) object;
-					String uri = catalogEntry.getURI();
-					if (uri.endsWith("dtd")) { //$NON-NLS-1$
-						base = dtdFileImage;
-					} else if (uri.endsWith("xsd")) { //$NON-NLS-1$
-						base = xsdFileImage;
-					} else {
-						base = unknownFileImage;
-					}
-
-					if (base != null) {
-						if (URIHelper.isReadableURI(uri, false)) {
-							result = base;
-						} else {
-							//TODO... SSE port
-							result = base;//imageFactory.createCompositeImage(base,
-							// errorImage,
-							// ImageFactory.BOTTOM_LEFT);
-						}
-					}
-				}
-			}
-			return result;
-		}
-
-		public String getColumnText(Object object, int columnIndex) {
-			String result = null;
-			if (object instanceof XMLCatalogEntry) {
-				XMLCatalogEntry catalogEntry = (XMLCatalogEntry) object;
-				result = columnIndex == 0 ? catalogEntry.getKey() : catalogEntry.getURI();
-				result = URIHelper.removePlatformResourceProtocol(result);
-			}
-			return result != null ? result : ""; //$NON-NLS-1$
-		}
-	}
-
-
-	class XMLCatalogTableViewerFilter extends ViewerFilter {
-		protected String[] extensions;
-
-		public XMLCatalogTableViewerFilter(String[] extensions) {
-			this.extensions = extensions;
-		}
-
-		public boolean isFilterProperty(Object element, Object property) {
-			return false;
-		}
-
-		public boolean select(Viewer viewer, Object parent, Object element) {
-			boolean result = false;
-			if (element instanceof XMLCatalogEntry) {
-				XMLCatalogEntry catalogEntry = (XMLCatalogEntry) element;
-				for (int i = 0; i < extensions.length; i++) {
-					if (catalogEntry.getURI().endsWith(extensions[i])) {
-						result = true;
-						break;
-					}
-				}
-			}
-			return result;
-		}
-	}
-
-	protected static Image dtdFileImage = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_DTDFILE);
-
-	protected static String ERROR_STATE_KEY = "errorstatekey"; //$NON-NLS-1$
-	protected static Image errorImage = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OVR_ERROR);
-
-	protected static Image unknownFileImage = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TXTEXT);
-	protected static Image xsdFileImage = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_XSDFILE);
-
-	//protected ImageFactory imageFactory = new ImageFactory();
-
-	public XMLCatalogTableViewer(Composite parent, String[] columnProperties) {
-		super(parent, SWT.FULL_SELECTION);
-
-		Table table = getTable();
-		table.setLinesVisible(true);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-
-		TableLayout layout = new TableLayout();
-		for (int i = 0; i < columnProperties.length; i++) {
-			TableColumn column = new TableColumn(table, i);
-			column.setText(columnProperties[i]);
-			column.setAlignment(SWT.LEFT);
-			layout.addColumnData(new ColumnWeightData(50, true));
-		}
-		table.setLayout(layout);
-		table.setLinesVisible(false);
-
-		setColumnProperties(columnProperties);
-
-		setContentProvider(new CatalogEntryContentProvider());
-		setLabelProvider(new CatalogEntryLabelProvider());
-	}
-
-	public Collection getXMLCatalogEntries() {
-		return null;
-	}
-
-
-	public void menuAboutToShow(IMenuManager menuManager) {
-		Action action = new Action("hello") { //$NON-NLS-1$
-			public void run() {
-				System.out.println("run!"); //$NON-NLS-1$
-			}
-		};
-		menuManager.add(action);
-	}
-
-	public void setFilterExtensions(String[] extensions) {
-		resetFilters();
-		addFilter(new XMLCatalogTableViewerFilter(extensions));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dnd/DragNodeCommand.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dnd/DragNodeCommand.java
deleted file mode 100644
index 93f1948..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dnd/DragNodeCommand.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.dnd;
-
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.wst.common.ui.dnd.DefaultDragAndDropCommand;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class DragNodeCommand extends DefaultDragAndDropCommand {
-	public DragNodeCommand(Object target, float location, int operations, int operation, Collection sources) {
-		super(target, location, operations, operation, sources);
-	}
-
-	protected void beginModelChange(Node node, boolean batchUpdate) {
-		IStructuredModel structuredModel = getStructedModel(node);
-		if (structuredModel != null) {
-			structuredModel.beginRecording(this, XMLUIPlugin.getResourceString("%DragNodeCommand.0")); //$NON-NLS-1$
-			if (batchUpdate) {
-				//  structuredModel.aboutToChangeModel();
-			}
-		}
-	}
-
-	public boolean canExecute() {
-		return executeHelper(true);
-	}
-
-
-	public boolean doMove(Node source, Node parentNode, Node refChild, boolean testOnly) {
-		boolean result = false;
-		if (source.getNodeType() == Node.ATTRIBUTE_NODE) {
-			Attr sourceAttribute = (Attr) source;
-			Element sourceAttributeOwnerElement = sourceAttribute.getOwnerElement();
-			if (parentNode.getNodeType() == Node.ELEMENT_NODE && sourceAttributeOwnerElement != parentNode) {
-				result = true;
-				if (!testOnly) {
-					try {
-						Element targetElement = (Element) parentNode;
-						targetElement.setAttribute(sourceAttribute.getName(), sourceAttribute.getValue());
-						sourceAttributeOwnerElement.removeAttributeNode(sourceAttribute);
-					} catch (Exception e) {
-					}
-				}
-			}
-		} else {
-			if ((parentNode.getNodeType() == Node.ELEMENT_NODE || parentNode.getNodeType() == Node.DOCUMENT_NODE) && !(refChild instanceof Attr)) {
-				result = true;
-
-				if (!testOnly) {
-					if (isAncestor(source, parentNode)) {
-						//System.out.println("can not perform this drag drop
-						// operation.... todo... pop up dialog");
-					} else {
-						// defect 221055 this test is required or else the
-						// node will
-						// be removed from the tree and the insert will fail
-						if (source != refChild) {
-							source.getParentNode().removeChild(source);
-							parentNode.insertBefore(source, refChild);
-						}
-					}
-				}
-			}
-		}
-		return result;
-	}
-
-	protected void endModelChange(Node node, boolean batchUpdate) {
-		IStructuredModel structuredModel = getStructedModel(node);
-		if (structuredModel != null) {
-			structuredModel.endRecording(this);
-			if (batchUpdate) {
-				//  structuredModel.changedModel();
-			}
-		}
-	}
-
-	public void execute() {
-		executeHelper(false);
-	}
-
-	//
-	//
-	public boolean executeHelper(boolean testOnly) {
-		boolean result = true;
-		if (target instanceof Node) {
-			Node targetNode = (Node) target;
-			Node parentNode = getParentForDropPosition(targetNode);
-			Node refChild = getRefChild(targetNode);
-
-			Vector sourcesList = new Vector();
-			sourcesList.addAll(sources);
-
-			removeMemberDescendants(sourcesList);
-			boolean performBatchUpdate = sourcesList.size() > 5;
-
-			if (!testOnly) {
-				beginModelChange(targetNode, performBatchUpdate);
-			}
-			for (Iterator i = sourcesList.iterator(); i.hasNext();) {
-				Object source = i.next();
-				if (source instanceof Node) {
-					if (!(refChild == null && targetNode instanceof Attr)) {
-						result = doMove((Node) source, parentNode, refChild, testOnly);
-					} else {
-						result = false;
-					}
-					if (!result) {
-						break;
-					}
-				}
-			}
-			if (!testOnly) {
-				endModelChange(targetNode, performBatchUpdate);
-			}
-		} else {
-			result = false;
-		}
-		return result;
-	}
-
-
-	public int getFeedback() {
-		int result = DND.FEEDBACK_SELECT;
-		if (location > 0.75) {
-			result = DND.FEEDBACK_INSERT_AFTER;
-		} else if (location < 0.25) {
-			result = DND.FEEDBACK_INSERT_BEFORE;
-		}
-		return result;
-	}
-
-	protected Node getParentForDropPosition(Node node) {
-		Node result = null;
-
-		int feedback = getFeedback();
-		if (feedback == DND.FEEDBACK_SELECT) {
-			result = node;
-		} else {
-			result = getParentOrOwner(node);
-		}
-		return result;
-	}
-
-
-	protected Node getParentOrOwner(Node node) {
-		return (node.getNodeType() == Node.ATTRIBUTE_NODE) ? ((Attr) node).getOwnerElement() : node.getParentNode();
-	}
-
-
-	protected Node getRefChild(Node node) {
-		Node result = null;
-
-		int feedback = getFeedback();
-
-		if (feedback == DND.FEEDBACK_INSERT_BEFORE) {
-			result = node;
-		} else if (feedback == DND.FEEDBACK_INSERT_AFTER) {
-			result = node.getNextSibling();
-		}
-		return result;
-	}
-
-	protected IStructuredModel getStructedModel(Node node) {
-		IStructuredModel result = null;
-		if (node instanceof XMLNode) {
-			result = ((XMLNode) node).getModel();
-		}
-		return result;
-	}
-
-	// returns true if a is an ancestore of b
-	//
-	protected boolean isAncestor(Node a, Node b) {
-		boolean result = false;
-		for (Node parent = b; parent != null; parent = parent.getParentNode()) {
-			if (parent == a) {
-				result = true;
-				break;
-			}
-		}
-		return result;
-	}
-
-
-	/**
-	 * This method removes members of the list that have ancestors that are
-	 * also members of the list.
-	 */
-	protected void removeMemberDescendants(List list) {
-		Hashtable table = new Hashtable();
-		for (Iterator i = list.iterator(); i.hasNext();) {
-			Object node = i.next();
-			table.put(node, node);
-		}
-
-		for (int i = list.size() - 1; i >= 0; i--) {
-			Node node = (Node) list.get(i);
-			for (Node parent = getParentOrOwner(node); parent != null; parent = getParentOrOwner(parent)) {
-				if (table.get(parent) != null) {
-					list.remove(i);
-					break;
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dnd/XMLDragAndDropManager.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dnd/XMLDragAndDropManager.java
deleted file mode 100644
index a7f0fe9..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dnd/XMLDragAndDropManager.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.xml.ui.dnd;
-
-import java.util.Collection;
-
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.wst.common.ui.dnd.DragAndDropCommand;
-import org.eclipse.wst.common.ui.dnd.DragAndDropManager;
-import org.eclipse.wst.common.ui.dnd.ObjectTransfer;
-import org.eclipse.wst.common.ui.dnd.ViewerDragAdapter;
-import org.eclipse.wst.common.ui.dnd.ViewerDropAdapter;
-import org.w3c.dom.Node;
-
-public class XMLDragAndDropManager implements DragAndDropManager {
-	public static void addDragAndDropSupport(TreeViewer viewer) {
-		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[]{ObjectTransfer.getInstance()};
-		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
-		viewer.addDropSupport(dndOperations, transfers, new ViewerDropAdapter(viewer, new XMLDragAndDropManager()));
-	}
-
-	public XMLDragAndDropManager() {
-	}
-
-	public DragAndDropCommand createCommand(Object target, float location, int operations, int operation, Collection source) {
-		DragAndDropCommand result = null;
-		if (target instanceof Node) {
-			Node node = (Node) target;
-			result = new DragNodeCommand(target, location, operations, operation, source);
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/doubleclick/XMLDoubleClickStrategy.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/doubleclick/XMLDoubleClickStrategy.java
deleted file mode 100644
index 5aee21f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/doubleclick/XMLDoubleClickStrategy.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.doubleclick;
-
-import org.eclipse.jface.text.DefaultTextDoubleClickStrategy;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Node;
-
-
-public class XMLDoubleClickStrategy extends DefaultTextDoubleClickStrategy {
-	protected static final char DOUBLE_QUOTE = '\"';
-	protected static final char SINGLE_QUOTE = '\'';
-	protected static final char SPACE = ' ';
-	protected int fCaretPosition = -1;
-	protected int fDoubleClickCount = 0;
-	protected Node fNode = null;
-	protected IStructuredDocumentRegion fStructuredDocumentRegion = null;
-	protected String fStructuredDocumentRegionText = ""; //$NON-NLS-1$
-	protected IStructuredModel fStructuredModel = null;
-	protected StructuredTextViewer fStructuredTextViewer;
-	protected ITextRegion fTextRegion = null;
-
-	public void doubleClicked(ITextViewer textViewer) {
-		if (textViewer instanceof StructuredTextViewer) {
-			fStructuredTextViewer = (StructuredTextViewer) textViewer;
-			try {
-				fStructuredModel = StructuredModelManager.getModelManager().getExistingModelForRead(fStructuredTextViewer.getDocument());
-
-				if (fStructuredModel != null) {
-					int caretPosition = textViewer.getSelectedRange().x;
-					if (caretPosition < 0)
-						return;
-
-					fNode = (Node) fStructuredModel.getIndexedRegion(caretPosition);
-					if (fNode == null)
-						return;
-
-					updateDoubleClickCount(caretPosition);
-					updateStructuredDocumentRegion();
-					updateTextRegion();
-
-					if (fNode.getNodeType() == Node.TEXT_NODE)
-						processTextDoubleClicked();
-					else
-						processElementDoubleClicked();
-				}
-			} finally {
-				if (fStructuredModel != null)
-					fStructuredModel.releaseFromRead();
-			}
-		}
-	}
-
-	protected Point getWord(String string, int cursor) {
-		if (string == null)
-			return null;
-
-		int wordStart = 0;
-		int wordEnd = string.length();
-
-		wordStart = string.lastIndexOf(SPACE, cursor - 1);
-		int temp = string.lastIndexOf(SINGLE_QUOTE, cursor - 1);
-		wordStart = Math.max(wordStart, temp);
-		temp = string.lastIndexOf(DOUBLE_QUOTE, cursor - 1);
-		wordStart = Math.max(wordStart, temp);
-		if (wordStart == -1)
-			wordStart = cursor;
-		else
-			wordStart++;
-
-		wordEnd = string.indexOf(SPACE, cursor);
-		if (wordEnd == -1)
-			wordEnd = string.length();
-		temp = string.indexOf(SINGLE_QUOTE, cursor);
-		if (temp == -1)
-			temp = string.length();
-		wordEnd = Math.min(wordEnd, temp);
-		temp = string.indexOf(DOUBLE_QUOTE, cursor);
-		if (temp == -1)
-			temp = string.length();
-		wordEnd = Math.min(wordEnd, temp);
-		if (wordEnd == string.length())
-			wordEnd = cursor;
-
-		if ((wordStart == wordEnd) && !isQuoted(string)) {
-			wordStart = 0;
-			wordEnd = string.length();
-		}
-
-		return new Point(wordStart, wordEnd);
-	}
-
-	protected boolean isQuoted(String string) {
-		if ((string == null) || (string.length() < 2))
-			return false;
-
-		int lastIndex = string.length() - 1;
-		char firstChar = string.charAt(0);
-		char lastChar = string.charAt(lastIndex);
-
-		return (((firstChar == SINGLE_QUOTE) && (lastChar == SINGLE_QUOTE)) || ((firstChar == DOUBLE_QUOTE) && (lastChar == DOUBLE_QUOTE)));
-	}
-
-	protected void processElementAttrEqualsDoubleClicked2Times() {
-		int prevRegionOffset = fStructuredDocumentRegion.getStartOffset(fTextRegion) - 1;
-		ITextRegion prevRegion = fStructuredDocumentRegion.getRegionAtCharacterOffset(prevRegionOffset);
-		int nextRegionOffset = fStructuredDocumentRegion.getEndOffset(fTextRegion);
-		ITextRegion nextRegion = fStructuredDocumentRegion.getRegionAtCharacterOffset(nextRegionOffset);
-
-		if ((prevRegion != null) && (prevRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) && (nextRegion != null) && (nextRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)) {
-			fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(prevRegion), nextRegion.getTextEnd() - prevRegion.getStart());
-		}
-	}
-
-	protected void processElementAttrNameDoubleClicked2Times() {
-		int nextRegionOffset = fStructuredDocumentRegion.getEndOffset(fTextRegion);
-		ITextRegion nextRegion = fStructuredDocumentRegion.getRegionAtCharacterOffset(nextRegionOffset);
-
-		if (nextRegion != null) {
-			nextRegionOffset = fStructuredDocumentRegion.getEndOffset(nextRegion);
-			nextRegion = fStructuredDocumentRegion.getRegionAtCharacterOffset(nextRegionOffset);
-			if ((nextRegion != null) && (nextRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)) {
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(fTextRegion), nextRegion.getTextEnd() - fTextRegion.getStart());
-			} else {
-				// attribute has no value
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStart(), fStructuredDocumentRegion.getLength());
-				fDoubleClickCount = 0;
-			}
-		}
-	}
-
-	protected void processElementAttrValueDoubleClicked() {
-		String regionText = fStructuredDocumentRegion.getText(fTextRegion);
-
-		if (fDoubleClickCount == 1) {
-			Point word = getWord(regionText, fCaretPosition - fStructuredDocumentRegion.getStartOffset(fTextRegion));
-			if (word.x == word.y) { // no word found; select whole region
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(fTextRegion), regionText.length());
-				fDoubleClickCount++;
-			} else
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(fTextRegion) + word.x, word.y - word.x);
-		} else if (fDoubleClickCount == 2) {
-			if (isQuoted(regionText)) {
-				// ==> // Point word = getWord(regionText, fCaretPosition -
-				// fStructuredDocumentRegion.getStartOffset(fTextRegion));
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(fTextRegion), regionText.length());
-			} else
-				processElementAttrValueDoubleClicked2Times();
-		} else if (fDoubleClickCount == 3) {
-			if (isQuoted(regionText))
-				processElementAttrValueDoubleClicked2Times();
-			else {
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStart(), fStructuredDocumentRegion.getLength());
-				fDoubleClickCount = 0;
-			}
-		} else { // fDoubleClickCount == 4
-			fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStart(), fStructuredDocumentRegion.getLength());
-			fDoubleClickCount = 0;
-		}
-	}
-
-	protected void processElementAttrValueDoubleClicked2Times() {
-		int prevRegionOffset = fStructuredDocumentRegion.getStartOffset(fTextRegion) - 1;
-		ITextRegion prevRegion = fStructuredDocumentRegion.getRegionAtCharacterOffset(prevRegionOffset);
-
-		if (prevRegion != null) {
-			prevRegionOffset = fStructuredDocumentRegion.getStartOffset(prevRegion) - 1;
-			prevRegion = fStructuredDocumentRegion.getRegionAtCharacterOffset(prevRegionOffset);
-			if ((prevRegion != null) && (prevRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)) {
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(prevRegion), fTextRegion.getTextEnd() - prevRegion.getStart());
-			}
-		}
-	}
-
-	protected void processElementDoubleClicked() {
-		if (fTextRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-			processElementAttrValueDoubleClicked(); // special handling for
-		// XML_TAG_ATTRIBUTE_VALUE
-		else {
-			if (fDoubleClickCount == 1) {
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStart() + fTextRegion.getStart(), fTextRegion.getTextLength());
-			} else if (fDoubleClickCount == 2) {
-				if (fTextRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-					processElementAttrNameDoubleClicked2Times();
-				else if (fTextRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS)
-					processElementAttrEqualsDoubleClicked2Times();
-				else {
-					fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStart(), fStructuredDocumentRegion.getLength());
-					fDoubleClickCount = 0;
-				}
-			} else { // fDoubleClickCount == 3
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStart(), fStructuredDocumentRegion.getLength());
-				fDoubleClickCount = 0;
-			}
-		}
-	}
-
-	protected void processTextDoubleClicked() {
-		if (fDoubleClickCount == 1) {
-			super.doubleClicked(fStructuredTextViewer);
-
-			Point selectedRange = fStructuredTextViewer.getSelectedRange();
-			if ((selectedRange.x == fStructuredDocumentRegion.getStartOffset(fTextRegion)) && (selectedRange.y == fTextRegion.getTextLength()))
-				// only one word in region, skip one level of double click
-				// selection
-				fDoubleClickCount++;
-		} else if (fDoubleClickCount == 2) {
-			if (fTextRegion.getType() == XMLRegionContext.UNDEFINED) {
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStart(), fStructuredDocumentRegion.getLength());
-				fDoubleClickCount = 0;
-			} else {
-				if (isQuoted(fStructuredDocumentRegion.getFullText(fTextRegion)))
-					fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(fTextRegion) + 1, fTextRegion.getTextLength() - 2);
-				else
-					fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(fTextRegion), fTextRegion.getTextLength());
-			}
-		} else {
-			if ((fDoubleClickCount == 3) && isQuoted(fStructuredDocumentRegion.getFullText(fTextRegion)))
-				fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(fTextRegion), fTextRegion.getTextLength());
-			else {
-				if ((fDoubleClickCount == 3) && isQuoted(fStructuredDocumentRegionText))
-					fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStart() + 1, fStructuredDocumentRegion.getLength() - 2);
-				else {
-					fStructuredTextViewer.setSelectedRange(fStructuredDocumentRegion.getStart(), fStructuredDocumentRegion.getLength());
-					fDoubleClickCount = 0;
-				}
-			}
-		}
-	}
-
-	public void setModel(IStructuredModel structuredModel) {
-		fStructuredModel = structuredModel;
-	}
-
-	protected void updateDoubleClickCount(int caretPosition) {
-		if (fCaretPosition == caretPosition) {
-			if (fStructuredDocumentRegion != null)
-				fDoubleClickCount++;
-			else
-				fDoubleClickCount = 1;
-		} else {
-			fCaretPosition = caretPosition;
-			fDoubleClickCount = 1;
-		}
-	}
-
-	protected void updateStructuredDocumentRegion() {
-		fStructuredDocumentRegion = fStructuredModel.getStructuredDocument().getRegionAtCharacterOffset(fCaretPosition);
-		if (fStructuredDocumentRegion != null)
-			fStructuredDocumentRegionText = fStructuredDocumentRegion.getText();
-		else
-			fStructuredDocumentRegionText = ""; //$NON-NLS-1$
-	}
-
-	protected void updateTextRegion() {
-		if (fStructuredDocumentRegion != null) {
-			fTextRegion = fStructuredDocumentRegion.getRegionAtCharacterOffset(fCaretPosition);
-			// if fTextRegion is null, it means we are at just past the last
-			// fStructuredDocumentRegion,
-			// at the very end of the document, so we'll use the last text
-			// region in the document
-			if (fTextRegion == null) {
-				fTextRegion = fStructuredDocumentRegion.getRegionAtCharacterOffset(fCaretPosition - 1);
-			}
-		} else
-			fTextRegion = null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extension/IDesignViewerSelectionManager.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extension/IDesignViewerSelectionManager.java
deleted file mode 100644
index 5792dbf..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extension/IDesignViewerSelectionManager.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.extension;
-
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.w3c.dom.Node;
-import org.w3c.dom.ranges.Range;
-
-
-/*
- * This class is currently an internal class used by Quick Edit view.
- */
-public interface IDesignViewerSelectionManager extends ViewerSelectionManager {
-	Node getFocusedNode();
-
-	Range getRange();
-
-	void pause();
-
-	void reset();
-
-	void resume();
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extension/IExtendedDesignEditor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extension/IExtendedDesignEditor.java
deleted file mode 100644
index c73b66f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extension/IExtendedDesignEditor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.extension;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.extension.IExtendedMarkupEditorExtension;
-
-
-/*
- * This class is currently an internal class used by Quick Edit view.
- */
-public interface IExtendedDesignEditor extends IExtendedMarkupEditorExtension {
-
-	IEditorInput getActiveEditorInput();
-
-	IStructuredModel getActiveModel();
-
-	IDesignViewerSelectionManager getDesignViewerSelectionMediator();
-
-	IEditorInput getEditorInput();
-
-	IStructuredModel getModel();
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extensions/XMLSourceEditingTextTools.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extensions/XMLSourceEditingTextTools.java
deleted file mode 100644
index b85f876..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extensions/XMLSourceEditingTextTools.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.extensions;
-
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.NodeLocation;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.document.XMLText;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-
-/**
- * Implements SourceEditingTextTools interface
- */
-public class XMLSourceEditingTextTools implements SourceEditingTextTools, INodeAdapter {
-
-	protected class NodeLocationImpl implements NodeLocation {
-		private XMLNode node;
-
-		public NodeLocationImpl(XMLNode xmlnode) {
-			super();
-			node = xmlnode;
-		}
-
-		public int getEndTagEndOffset() {
-			if (node.getEndStructuredDocumentRegion() != null)
-				return node.getEndStructuredDocumentRegion().getEndOffset();
-			return -1;
-		}
-
-		public int getEndTagStartOffset() {
-			if (node.getEndStructuredDocumentRegion() != null)
-				return node.getEndStructuredDocumentRegion().getStartOffset();
-			return -1;
-		}
-
-		public int getStartTagEndOffset() {
-			if (node.getStartStructuredDocumentRegion() != null)
-				return node.getStartStructuredDocumentRegion().getEndOffset();
-			return -1;
-		}
-
-		public int getStartTagStartOffset() {
-			if (node.getStartStructuredDocumentRegion() != null)
-				return node.getStartStructuredDocumentRegion().getStartOffset();
-			return -1;
-		}
-	}
-
-
-	public Document getDOMDocument(IMarker marker) {
-		if (marker == null)
-			return null;
-
-		IResource res = marker.getResource();
-		if (res == null || !(res instanceof IFile))
-			return null;
-
-		IModelManager mm = StructuredModelManager.getModelManager();
-		IStructuredModel model = null;
-		try {
-			model = mm.getExistingModelForRead((IFile) res);
-			if (model == null || !(model instanceof XMLModel))
-				return null;
-
-			return ((XMLModel) model).getDocument();
-		} finally {
-			if (model != null)
-				model.releaseFromRead();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extensions.SourceEditingTextTools#getNodeLocation(org.w3c.dom.Node)
-	 */
-	public NodeLocation getNodeLocation(Node node) {
-		if (node.getNodeType() == Node.ELEMENT_NODE && node instanceof XMLNode)
-			return new NodeLocationImpl((XMLNode) node);
-		return null;
-	}
-
-	public String getPageLanguage(Node node) {
-		return ""; //$NON-NLS-1$
-	}
-
-	public int getStartOffset(Node node) {
-		if (node == null || !(node instanceof XMLText))
-			return -1;
-
-		IStructuredDocumentRegion fnode = ((XMLText) node).getFirstStructuredDocumentRegion();
-		return fnode.getStartOffset();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.core.INodeAdapter#isAdapterForType(java.lang.Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return SourceEditingTextTools.class.equals(type);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.core.core.INodeAdapter#notifyChanged(org.eclipse.wst.sse.core.core.INodeNotifier,
-	 *      int, java.lang.Object, java.lang.Object, java.lang.Object, int)
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/Logger.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/Logger.java
deleted file mode 100644
index e427490..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/Logger.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-/**
- * Small convenience class to log messages to plugin's log file and also, if
- * desired, the console. This class should only be used by classes in this
- * plugin. Other plugins should make their own copy, with appropriate ID.
- */
-public class Logger {
-	private static final String PLUGIN_ID = "org.eclipse.wst.xml.ui"; //$NON-NLS-1$
-	
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	public static final int INFO = IStatus.INFO; // 1
-	public static final int INFO_DEBUG = 200 + INFO;
-
-	public static final int OK = IStatus.OK; // 0
-
-	public static final int OK_DEBUG = 200 + OK;
-
-	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
-	public static final int WARNING = IStatus.WARNING; // 2
-	public static final int WARNING_DEBUG = 200 + WARNING;
-
-	/**
-	 * Adds message to log.
-	 * 
-	 * @param level
-	 *            severity level of the message (OK, INFO, WARNING, ERROR,
-	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
-	 * @param message
-	 *            text to add to the log
-	 * @param exception
-	 *            exception thrown
-	 */
-	protected static void _log(int level, String message, Throwable exception) {
-		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
-			if (!isDebugging())
-				return;
-		}
-
-		int severity = IStatus.OK;
-		switch (level) {
-			case INFO_DEBUG :
-			case INFO :
-				severity = IStatus.INFO;
-				break;
-			case WARNING_DEBUG :
-			case WARNING :
-				severity = IStatus.WARNING;
-				break;
-			case ERROR_DEBUG :
-			case ERROR :
-				severity = IStatus.ERROR;
-		}
-		message = (message != null) ? message : "null"; //$NON-NLS-1$
-		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null) 
-			Platform.getLog(bundle).log(statusObj);
-	}
-
-	/**
-	 * Prints message to log if category matches /debug/tracefilter option.
-	 * 
-	 * @param message
-	 *            text to print
-	 * @param category
-	 *            category of the message, to be compared with
-	 *            /debug/tracefilter
-	 */
-	protected static void _trace(String category, String message, Throwable exception) {
-		if (isTracing(category)) {
-			message = (message != null) ? message : "null"; //$NON-NLS-1$
-			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
-			Bundle bundle = Platform.getBundle(PLUGIN_ID);
-			if (bundle != null) 
-				Platform.getLog(bundle).log(statusObj);
-		}
-	}
-
-	/**
-	 * @return true if the platform is debugging
-	 */
-	public static boolean isDebugging() {
-		return Platform.inDebugMode();
-	}
-
-	/**
-	 * Determines if currently tracing a category
-	 * 
-	 * @param category
-	 * @return true if tracing category, false otherwise
-	 */
-	public static boolean isTracing(String category) {
-		if (!isDebugging())
-			return false;
-
-		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
-		if (traceFilter != null) {
-			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String cat = tokenizer.nextToken().trim();
-				if (category.equals(cat)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static void log(int level, String message) {
-		_log(level, message, null);
-	}
-
-	public static void log(int level, String message, Throwable exception) {
-		_log(level, message, exception);
-	}
-
-	public static void logException(String message, Throwable exception) {
-		_log(ERROR, message, exception);
-	}
-
-	public static void logException(Throwable exception) {
-		_log(ERROR, exception.getMessage(), exception);
-	}
-
-	public static void trace(String category, String message) {
-		_trace(category, message, null);
-	}
-
-	public static void traceException(String category, String message, Throwable exception) {
-		_trace(category, message, exception);
-	}
-
-	public static void traceException(String category, Throwable exception) {
-		_trace(category, exception.getMessage(), exception);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPlugin.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPlugin.java
deleted file mode 100644
index b3d5331..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPlugin.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry;
-import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistryImpl;
-import org.eclipse.wst.sse.ui.registry.embedded.EmbeddedAdapterFactoryRegistryImpl;
-import org.eclipse.wst.xml.ui.JobStatusLineHelper;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeXML;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLAttribute;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLAttributeValue;
-import org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLTag;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class XMLUIPlugin extends AbstractUIPlugin {
-	public final static String ID = "org.eclipse.wst.xml.ui"; //$NON-NLS-1$
-	protected static XMLUIPlugin instance = null;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
-
-	public static XMLUIPlugin getDefault() {
-		return instance;
-	}
-
-	public synchronized static XMLUIPlugin getInstance() {
-		return instance;
-	}
-
-	/**
-	 * The template context type registry for the xml editor.
-	 * 
-	 * @since 3.0
-	 */
-	private ContextTypeRegistry fContextTypeRegistry;
-
-	/**
-	 * The template store for the xml editor.
-	 * 
-	 * @since 3.0
-	 */
-	private TemplateStore fTemplateStore;
-
-	public XMLUIPlugin() {
-		super();
-		instance = this;
-
-		JobStatusLineHelper.init();
-	}
-
-	public AdapterFactoryRegistry getAdapterFactoryRegistry() {
-		return AdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	public AdapterFactoryRegistry getEmbeddedAdapterFactoryRegistry() {
-		return EmbeddedAdapterFactoryRegistryImpl.getInstance();
-
-	}
-
-	/**
-	 * Returns the template context type registry for the xml plugin.
-	 * 
-	 * @return the template context type registry for the xml plugin
-	 */
-	public ContextTypeRegistry getTemplateContextRegistry() {
-		if (fContextTypeRegistry == null) {
-			fContextTypeRegistry = new ContributionContextTypeRegistry();
-
-			fContextTypeRegistry.addContextType(new TemplateContextTypeXML());
-			fContextTypeRegistry.addContextType(new TemplateContextTypeXMLTag());
-			fContextTypeRegistry.addContextType(new TemplateContextTypeXMLAttribute());
-			fContextTypeRegistry.addContextType(new TemplateContextTypeXMLAttributeValue());
-		}
-
-		return fContextTypeRegistry;
-	}
-
-	/**
-	 * Returns the template store for the xml editor templates.
-	 * 
-	 * @return the template store for the xml editor templates
-	 */
-	public TemplateStore getTemplateStore() {
-		if (fTemplateStore == null) {
-			fTemplateStore = new ContributionTemplateStore(getTemplateContextRegistry(), getPreferenceStore(), CommonEditorPreferenceNames.TEMPLATES_KEY);
-
-			try {
-				fTemplateStore.load();
-			} catch (IOException e) {
-				Logger.logException(e);
-			}
-		}
-		return fTemplateStore;
-	}
-
-	/**
-	 * @deprecated using XMLUIPreferenceInitializer instead
-	 */
-	protected void initializeDefaultXMLPreferences(IPreferenceStore store) {
-//
-//		String ctId = IContentTypeIdentifier.ContentTypeID_SSEXML;
-//
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.CONTENT_ASSIST_SUPPORTED, ctId), true);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.AUTO_PROPOSE, ctId), true);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE, ctId), CommonEditorPreferenceNames.LT);
-//
-//		store.setDefault(CommonEditorPreferenceNames.EDITOR_VALIDATION_METHOD, CommonEditorPreferenceNames.EDITOR_VALIDATION_CONTENT_MODEL); //$NON-NLS-1$
-//
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.EDITOR_VALIDATION_METHOD, ctId), CommonEditorPreferenceNames.EDITOR_VALIDATION_CONTENT_MODEL); //$NON-NLS-1$		
-//		store.setDefault(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR, ctId), true);
-//
-//		// XML Style Preferences
-//		String NOBACKGROUNDBOLD = " | null | false"; //$NON-NLS-1$
-//		String styleValue = ColorHelper.getColorString(127, 0, 127) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_ATTRIBUTE_NAME, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(42, 0, 255) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE, ctId), styleValue);
-//
-//		styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS, ctId), styleValue); // specified
-//		// value
-//		// is
-//		// black;
-//		// leaving
-//		// as
-//		// widget
-//		// default
-//
-//		styleValue = ColorHelper.getColorString(63, 95, 191) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.COMMENT_BORDER, ctId), styleValue);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.COMMENT_TEXT, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(0, 128, 128) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DECL_BORDER, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(0, 0, 128) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DOCTYPE_NAME, ctId), styleValue);
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(128, 128, 128) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(63, 127, 95) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF, ctId), styleValue);
-//
-//		styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.XML_CONTENT, ctId), styleValue); // specified
-//		// value
-//		// is
-//		// black;
-//		// leaving
-//		// as
-//		// widget
-//		// default
-//
-//		styleValue = ColorHelper.getColorString(0, 128, 128) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_BORDER, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(63, 127, 127) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.TAG_NAME, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(0, 128, 128) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.PI_BORDER, ctId), styleValue);
-//
-//		styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.PI_CONTENT, ctId), styleValue); // specified
-//		// value
-//		// is
-//		// black;
-//		// leaving
-//		// as
-//		// widget
-//		// default
-//
-//		styleValue = ColorHelper.getColorString(0, 128, 128) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.CDATA_BORDER, ctId), styleValue);
-//
-//		styleValue = ColorHelper.getColorString(0, 0, 0) + NOBACKGROUNDBOLD;
-//		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsXML.CDATA_TEXT, ctId), styleValue);
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String value) {
-		String s = value.trim();
-		if (!s.startsWith(KEY_PREFIX, 0))
-			return s;
-		if (s.startsWith(KEY_DOUBLE_PREFIX, 0))
-			return s.substring(1);
-
-		int ix = s.indexOf(' ');
-		String key = ix == -1 ? s : s.substring(0, ix);
-
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key.substring(1)) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getResourceString(key);
-		}
-
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.xml.ui.internal.XMLUIPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPluginResources.properties b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPluginResources.properties
deleted file mode 100644
index 9179545..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/XMLUIPluginResources.properties
+++ /dev/null
@@ -1,222 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-## The following line is a sample XML document.  Please translate only the following parts:  
-## begin color definitions
-## Normal text content.
-Sample_XML_doc=<?xml version=\"1.0\"?>\n<?customProcessingInstruction\n\tXML processor specific\n\tcontent ?>\n<!DOCTYPE colors\n\tPUBLIC \"//IBM/XML/COLORS/\" \"colors.dtd\">\n<colors>\n\t<!-- begin color definitions -->\n\t<color name=\"plaintext\" foreground=\"#000000\"\n\t\tbackground=\"#D4D0C8\" />\n\t<color name=\"bold\" foreground=\"#000000\"\n\t\tbackground=\"#B3ACA0\" />\n\t<![CDATA[<123456789>]]>\n\tNormal text content.\n\t<color name=\"inverse\" foreground=\"#F0F0F0\"\n\t\tbackground=\"#D4D0C8\" />\n\n</colors>\n
-Comment_Delimiters_UI_=Comment Delimiters
-Comment_Content_UI_=Comment Content
-Tag_Delimiters_UI_=Tag Delimiters
-Tag_Names_UI_=Tag Names
-Attribute_Names_UI_=Attribute Names
-Attribute_Values_UI_=Attribute Values
-Declaration_Delimiters_UI_=Declaration Delimiters
-Content_UI_=Content
-## on the following 2 lines, do not translate CDATA
-CDATA_Delimiters_UI_=CDATA Delimiters
-CDATA_Content_UI_=CDATA Content
-Processing_Instruction_Del_UI_=Processing Instruction Delimiters
-Processing_Instruction_Con_UI__UI_=Processing Instruction Content
-## on the following line solely translate:  Name
-DOCTYPE_Name_UI_=DOCTYPE Name
-## on the following line solely translate:  Keyword
-DOCTYPE_SYSTEM/PUBLIC_Keyw_UI_=DOCTYPE SYSTEM/PUBLIC Keyword
-## on the following line solely translate:  Public Reference
-DOCTYPE_Public_Reference_UI_=DOCTYPE Public Reference
-## on the following line solely translate:  System Reference
-DOCTYPE_System_Reference_UI_=DOCTYPE System Reference
-# XML Common UI 
-# Constants for strings
-
-NEW=New
-DELETE=Remove
-ADD_TEXT=Add Text
-ADD_CDATA_SECTION=Add CDATA Section
-ADD_COMMENT=Add Commen&t
-ADD_PROCESSING_INSTRUCTION=Add Processing Instruction
-
-_UI_MENU_ADD_AFTER=Add &After
-_UI_MENU_ADD_ATTRIBUTE=Add A&ttribute
-_UI_MENU_ADD_BEFORE=Add &Before
-_UI_MENU_ADD_CHILD=Add &Child
-_UI_MENU_REMOVE=Re&move
-_UI_MENU_REPLACE_WITH=Re&place With
-_UI_MENU_ADD_DOCTYPE=Add DOCTYPE...
-_UI_MENU_EDIT_DOCTYPE=Edit DOCTYPE...
-_UI_MENU_ADD_GRAMMAR_INFORMATION=Add Grammar Information
-_UI_MENU_VALIDATE_XML=Validate XML File
-_UI_LABEL_UNDO_ADD_DESCRIPTION=Add
-_UI_LABEL_UNDO_REPLACE_DESCRIPTION=Replace
-_UI_LABEL_EDIT_DOCTYPE=Edit DOCTYPE
-_UI_INFO_EXPAND_ALL=Expand All
-_UI_INFO_COLLAPSE_ALL=Collapse All
-
-_UI_MENU_ADD_DTD_INFORMATION=Add DTD Information...
-_UI_MENU_ADD_SCHEMA_INFORMATION=Add Schema Information...
-_UI_MENU_EDIT_SCHEMA_INFORMATION=Edit &Schema Information...
-_UI_MENU_EDIT_PROCESSING_INSTRUCTION=Edit Process&ing Instruction...
-_UI_MENU_EDIT_NAMESPACES=Edit &Namespaces...
-
-_UI_MENU_ADD_DTD_INFORMATION_TITLE=Add DTD Information
-_UI_MENU_EDIT_PROCESSING_INSTRUCTION_TITLE=Edit Processing Instruction
-_UI_MENU_EDIT_SCHEMA_INFORMATION_TITLE=Edit Schema Information
-
-_UI_MENU_NEW_ATTRIBUTE=&New Attribute...
-_UI_MENU_NEW_ATTRIBUTE_TITLE=New Attribute
-_UI_MENU_EDIT_ATTRIBUTE=Edit Attribute...
-_UI_MENU_EDIT_ATTRIBUTE_TITLE=Edit Attribute
-_UI_MENU_NEW_ELEMENT=New &Element...
-_UI_MENU_NEW_ELEMENT_TITLE=New Element
-_UI_MENU_RENAME=R&ename
-_UI_MENU_RENAME_TITLE=Rename
-_UI_LABEL_ELEMENT_NAME=Element name:
-_UI_LABEL_LOADING_GRAMMAR=Loading grammar:
-
-_UI_MENU_ADD_COMMENT=Add Comment
-_UI_MENU_ADD_PROCESSING_INSTRUCTION=Add Processing Instruction
-_UI_MENU_ADD_CDATA_SECTION=Add CDATA Section
-_UI_MENU_ADD_PCDATA=Add #PCDATA;
-
-_UI_MENU_COMMENT=C&omment
-_UI_MENU_PROCESSING_INSTRUCTION=P&rocessing Instruction
-_UI_MENU_CDATA_SECTION=CDATA Section
-_UI_MENU_PCDATA=#PC&DATA;
-
-_UI_MENU_ADD=Add
-
-_UI_COMMENT_VALUE=comment
-_UI_PI_TARGET_VALUE=target
-_UI_PI_DATA_VALUE=data
-_UI_LABEL_ROOT_ELEMENT_VALUE=RootElement
-
-_UI_LABEL_TARGET_COLON=Target:
-_UI_LABEL_DATA_COLON=Data:
-_UI_LABEL_ROOT_ELEMENT_NAME_COLON=Root element name:
-_UI_LABEL_PUBLIC_ID_COLON=Public ID:
-_UI_LABEL_SYSTEM_ID_COLON=System ID:
-_UI_LABEL_BROWSE=Browse...
-_UI_LABEL_SELECT_XML_CATALOG_ENTRY=Select XML Catalog Entry
-_UI_LABEL_SPECIFY_SYSTEM_ID=Specify System ID
-_UI_LABEL_SELECT_FILE=Select File
-
-_UI_LABEL_KEY=Key
-_UI_LABEL_URI=URI:
-_UI_LABEL_XML_CATALOG_COLON=XML Catalog
-_UI_LABEL_NAMESPACE_NAME=Namespace Name
-_UI_LABEL_LOCATION_HINT=Location Hint
-_UI_LABEL_PREFIX=Prefix
-_UI_LABEL_NAMESPACE_NAME_COLON=Namespace Name:
-_UI_LABEL_LOCATION_HINT_COLON=Location Hint:
-_UI_LABEL_PREFIX_COLON=Prefix:
-_UI_NO_NAMESPACE_NAME=<no namespace name>
-_UI_NO_PREFIX=<no prefix>
-
-_UI_LABEL_XML_SCHEMA_INFORMATION=XML Schema Information
-_UI_LABEL_NAMESPACE_INFORMATION=Namespace Information
-
-_UI_LABEL_NAME_COLON=Name:
-_UI_LABEL_VALUE_COLON=Value:
-
-_UI_BUTTON_DELETE=Delete
-_UI_BUTTON_NEW=New...
-_UI_BUTTON_EDIT=Edit...
-
-_UI_LABEL_NEW_NAMESPACE_INFORMATION=New Namespace Information
-_UI_LABEL_EDIT_NAMESPACE_INFORMATION=Edit Namespace Information
-
-#
-# Assign links to an XML file
-#
-_UI_WORK_BENCH=Workbench Files...
-_UI_FILE_SYSTEM=Import Files...
-_UI_ASSIGN_XSL=Assign An XSL Stylesheet To The XML File
-_UI_ASSIGN_DTD=Assign A DTD file To The XML File
-_UI_ASSIGN_XSD=Assign An XML schema To The XML File
-_UI_SELECT_XSL_TITLE=Select an XSL File
-_UI_SELECT_XSL_DESC=Select an XSL file from the workbench.
-
-_UI_ASSIGN=Assign
-_UI_XSD=XML Schema...
-_UI_DTD=DTD...
-_UI_XSL=XSL Stylesheet...
-
-# XMLValidator.java
-_UI_XML_VALIDATOR=XML Validator
-# SelectFileOrXMLCatalogIdPanel.java
-
-_UI_RADIO_BUTTON_SELECT_FROM_WORKSPACE=Select file from workbench
-_UI_RADIO_BUTTON_SELECT_FROM_CATALOG=Select XML Catalog entry
-
-_UI_WARNING_TITLE_ROOT_ELEMENT_REQUIRED=Root Element Required
-_UI_WARNING_DOCUMENT_REQUIRES_ROOT=The document requires a root element in order to add schema information.
-_UI_WARNING_MORE_THAN_ONE_NS_WITH_NAME=More than one namespace has been specified with the namespace name :
-_UI_WARNING_MORE_THAN_ONE_NS_WITHOUT_NAME=More than one schema has been specified without a namespace name
-_UI_WARNING_MORE_THAN_ONE_NS_WITHOUT_PREFIX=More than one namespace has been specificed without a prefix
-_UI_WARNING_MORE_THAN_ONE_NS_WITH_PREFIX=More than one namespace has been specified with the prefix :
-_UI_WARNING_SCHEMA_CAN_NOT_BE_LOCATED=The specified schema can not be located :
-_UI_WARNING_LOCATION_HINT_NOT_SPECIFIED=A location hint has not been specified for the namespace with name
-_UI_WARNING_NAMESPACE_NAME_NOT_SPECIFIED=A name must be specified for the namespace with prefix :
-_UI_WARNING_PREFIX_NOT_SPECIFIED=A prefix must be specified for the namespace named :
-_UI_WARNING_ROOT_ELEMENT_MUST_BE_SPECIFIED=A root element name must be specified.
-_UI_WARNING_SYSTEM_ID_MUST_BE_SPECIFIED=A system ID must be specified.
-
-_UI_INVALID_NAME=Invalid name
-
-# String used for editing namespaces (org.eclipse.wst.xml.ui.nsedit)
-_UI_ENTER_REQ_PREFIX_AND_NAMESPACE=Enter the required prefix and namespace URI for the namespace declaration.
-_UI_SELECT_REGISTERED_NAMESPACES=Select From Registered Namespaces
-_UI_SPECIFY_NEW_NAMESPACE=Specify New Namespace
-_UI_SELECT_NAMESPACE_TO_ADD=Select the namespace declarations to add.
-_UI_ADD_NAMESPACE_DECLARATIONS=Add Namespace Declarations
-_UI_NAMESPACE_DECLARATIONS=Namespace Declarations
-_UI_TARGET_NAMESPACE=Target Namespace
-
-_ERROR_XML_ATTRIBUTE_ALREADY_EXISTS=The element already has an attribute with this name.
-
-#
-error_message_goes_here=error message goes here
-SurroundWithNewElementQuickAssistProposal.0=Surround with new element
-SurroundWithNewElementQuickAssistProposal.1=Surround with new element
-RenameInFileQuickAssistProposal.0=Link all references for a rename in file (does not change references in other files)
-RenameInFileQuickAssistProposal.1=Rename in file
-InsertRequiredAttrsQuickAssistProposal.0=Insert required attributes
-InsertRequiredAttrsQuickAssistProposal.1=Insert required attributes
-EncodingSettings.0=IANA:
-EncodingSettings.1=Encoding:
-TemplateContextTypeXMLTag.0=XML Tags
-TemplateContextTypeXMLAttributeValue.0=XML Attribute Values
-TemplateContextTypeXMLAttribute.0=XML Attributes
-TemplateContextTypeXML.0=All XML
-DragNodeCommand.0=Move
-CommonEditNamespacesDialog.0=Add...
-JFaceNodeAdapter.1=Refresh Property Sheet
-QuickFixProcessorXML.0=Remove empty tag
-QuickFixProcessorXML.1=Change to empty-element tag
-QuickFixProcessorXML.2=Remove this tag
-QuickFixProcessorXML.3=Insert end tag before first child element
-QuickFixProcessorXML.4=Insert end tag at end of element
-QuickFixProcessorXML.5=Remove attributes in end tag
-QuickFixProcessorXML.6=Insert default attribute value
-QuickFixProcessorXML.7=Remove this attribute
-QuickFixProcessorXML.8=Remove spaces before tag name
-QuickFixProcessorXML.9=Remove spaces before processing instruction
-QuickFixProcessorXML.10=Remove namespace in processing instruction
-QuickFixProcessorXML.11=Remove this element
-QuickFixProcessorXML.12=Remove this attribute value
-QuickFixProcessorXML.13=Insert required attribute
-QuickFixProcessorXML.14=Quote attribute value
-QuickFixProcessorXML.15=Insert closing bracket
-QuickFixProcessorXML.16=Remove this attribute and its value
-XMLPropertySourceAdapter.0=Attributes
-
-WorkbenchDefaultEncodingSettings.0=Use workbench encoding
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/autoedit/StructuredAutoEditStrategyXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/autoedit/StructuredAutoEditStrategyXML.java
deleted file mode 100644
index d932829..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/autoedit/StructuredAutoEditStrategyXML.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.autoedit;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentCommand;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.texteditor.ITextEditorExtension3;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.ui.StructuredDocumentCommand;
-import org.eclipse.wst.sse.ui.edit.util.BasicAutoEditStrategy;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.w3c.dom.Node;
-
-
-public class StructuredAutoEditStrategyXML extends BasicAutoEditStrategy {
-	public void customizeDocumentCommand(IDocument document, DocumentCommand command) {
-		StructuredDocumentCommand structuredDocumentCommand = (StructuredDocumentCommand) command;
-		Object textEditor = getActiveTextEditor();
-		if (!(textEditor instanceof ITextEditorExtension3 && ((ITextEditorExtension3) textEditor).getInsertMode() == ITextEditorExtension3.SMART_INSERT))
-			return;
-
-		IStructuredModel model = null;
-		try {
-			model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (model != null) {
-				if (structuredDocumentCommand.text != null) {
-					smartInsertForComment(structuredDocumentCommand, document, model);
-					smartInsertForEndTag(structuredDocumentCommand, document, model);
-				}
-			}
-		} finally {
-			if (model != null)
-				model.releaseFromRead();
-		}
-	}
-
-	private boolean isCommentNode(XMLNode node) {
-		return (node != null && node instanceof XMLElement && ((XMLElement) node).isCommentTag());
-	}
-
-	private boolean isDocumentNode(XMLNode node) {
-		return (node != null && node.getNodeType() == Node.DOCUMENT_NODE);
-	}
-
-	protected boolean isEndTagRequired(XMLNode node) {
-
-		if (node == null)
-			return false;
-		return node.isContainer();
-	}
-
-	protected boolean prefixedWith(IDocument document, int offset, String string) {
-
-		try {
-			return document.getLength() >= string.length() && document.get(offset - string.length(), string.length()).equals(string);
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-			return false;
-		}
-	}
-
-	protected void smartInsertForComment(StructuredDocumentCommand structuredDocumentCommand, IDocument document, IStructuredModel model) {
-		try {
-			if (structuredDocumentCommand.text.equals("-") && document.getLength() >= 3 && document.get(structuredDocumentCommand.offset - 3, 3).equals("<!-")) { //$NON-NLS-1$ //$NON-NLS-2$
-				structuredDocumentCommand.text += " "; //$NON-NLS-1$
-				structuredDocumentCommand.doit = false;
-				structuredDocumentCommand.addCommand(structuredDocumentCommand.offset, 0, " -->", null); //$NON-NLS-1$
-			}
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-
-	}
-
-	protected void smartInsertForEndTag(StructuredDocumentCommand structuredDocumentCommand, IDocument document, IStructuredModel model) {
-		try {
-			if (structuredDocumentCommand.text.equals("/") && document.getLength() >= 1 && document.get(structuredDocumentCommand.offset - 1, 1).equals("<")) { //$NON-NLS-1$ //$NON-NLS-2$
-				XMLNode parentNode = (XMLNode) ((XMLNode) model.getIndexedRegion(structuredDocumentCommand.offset - 1)).getParentNode();
-				if (isCommentNode(parentNode)) {
-					// loop and find non comment node parent
-					while (parentNode != null && isCommentNode(parentNode)) {
-						parentNode = (XMLNode) parentNode.getParentNode();
-					}
-				}
-
-				if (!isDocumentNode(parentNode)) {
-					IStructuredDocumentRegion endTagStructuredDocumentRegion = parentNode.getEndStructuredDocumentRegion();
-					if (endTagStructuredDocumentRegion == null) {
-						structuredDocumentCommand.text += parentNode.getNodeName();
-						structuredDocumentCommand.text += ">"; //$NON-NLS-1$
-					}
-				}
-			}
-		} catch (BadLocationException e) {
-			Logger.logException(e);
-		}
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/BufferedOutlineUpdater.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/BufferedOutlineUpdater.java
deleted file mode 100644
index d9670ca..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/BufferedOutlineUpdater.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.contentoutline;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.w3c.dom.Node;
-
-
-/**
- * Can handle multiple subsequent calls to processNode(..) by buffering them
- * w/ a RefreshOutlineJob. Only one refresh is performed (on the UI Thread) on the
- * minimal affected area of the tree at the end of the batch of updates (after
- * the last update is processed).
- * 
- * @author pavery
- */
-public class BufferedOutlineUpdater {
-
-	private RefreshOutlineJob fRefreshJob = null;
-	private StructuredViewer fViewer = null;
-	
-	/**
-	 * @param structuredViewer
-	 *       	the viewer we are updating
-	 * @param node
-	 * 			the specific node that changed
-	 */
-	public void processNode(final StructuredViewer structuredViewer, Node node) {
-
-		// refresh on structural and "unknown" changes
-		// it would be nice to not refresh the viewer if it's not visible
-		// but only refresh when it's brought back to the front
-		if (structuredViewer.getControl() != null) {
-			if(getViewer() == null)
-				setViewer(structuredViewer);
-			getRefreshJob().refresh(node);
-		}
-	}
-
-	private RefreshOutlineJob getRefreshJob() {
-		if(fRefreshJob == null)
-			fRefreshJob = new RefreshOutlineJob(getViewer());
-		return fRefreshJob;
-	}
-	
-	private StructuredViewer getViewer() {
-		return fViewer;
-	}
-	
-	private void setViewer(StructuredViewer viewer) {
-		fViewer = viewer;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/RefreshOutlineJob.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/RefreshOutlineJob.java
deleted file mode 100644
index 51da71b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/RefreshOutlineJob.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.contentoutline;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * This job holds a queue of updates (affected nodes) for the outline.
- * When a new request comes in, the current run is canceled, the new 
- * request is added to the queue, then the job is re-scheduled.
- * 
- * @author pavery
- */
-public class RefreshOutlineJob extends Job {
-
-	private static final long UPDATE_DELAY = 200;
-	/** List of refresh requests (Nodes)*/
-	private final List fRequests;
-	/** the tree viewer */
-	private final StructuredViewer fViewer;
-	/** debug flag */
-	private static final boolean DEBUG;
-	static {
-		String value = Platform.getDebugOption("org.eclipse.wst.sse.ui/debug/outline"); //$NON-NLS-1$
-		DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	public RefreshOutlineJob(StructuredViewer viewer) {
-		super(XMLUIPlugin.getResourceString("%refreshoutline.0"));
-		setPriority(Job.LONG);
-		setSystem(true);
-		fRequests = new ArrayList(1);
-		fViewer = viewer;
-	}
-	private synchronized void addRequest(Node node) {
-		
-		// if we already have a request which contains the new request,
-		// discare the new request
-		int size = fRequests.size();
-		for (int i=0; i<size; i++) {
-			if(contains((Node)fRequests.get(i), node))
-				return;
-		}
-		// if new request is contains any existing requests,
-		// remove those
-		for (Iterator it = fRequests.iterator(); it.hasNext();) {
-			if(contains(node, (Node)it.next()))
-				it.remove();
-		}
-		fRequests.add(node);
-	}
-	/**
-	 * This method also synchronized because it accesses the fRequests queue
-	 * @return an array of the currently requested Nodes to refresh
-	 */
-	private synchronized Node[] getRequests() {
-		
-		Node[] toRefresh = (Node[]) fRequests.toArray(new Node[fRequests.size()]);
-		fRequests.clear();
-		return toRefresh;
-	}
-	
-	/**
-	 * Invoke a refresh on the viewer on the given node.
-	 * @param node
-	 */
-	public void refresh(Node node) {
-		
-		if (node == null)
-			return;
-		
-		cancel();
-		addRequest(node);	
-		schedule(UPDATE_DELAY);
-	}
-	
-	/**
-	 * @return if the root is parent of possible, return true, otherwise
-	 *         return false
-	 */
-	private boolean contains(Node root, Node possible) {
-
-		if (DEBUG) {
-			System.out.println("==============================================================================================================");
-			System.out.println("recursive call w/ root: " + root.getNodeName() + " and possible: " + possible);
-			System.out.println("--------------------------------------------------------------------------------------------------------------");
-		}
-		
-		// the following checks are important
-		// #document node will break the algorithm otherwise
-		
-		// can't contain the parent if it's null
-		if (root == null) {
-		    if (DEBUG) System.out.println("returning false: root is null");
-			return false;
-		}
-		// nothing can be parent of Document node
-		if (possible instanceof Document) {
-		    if (DEBUG) System.out.println("returning false: possible is Document node");
-		    return false;
-		}
-		// document contains everything
-		if(root instanceof Document) {
-		    if (DEBUG) System.out.println("returning true: root is Document node");
-		    return true;
-		}
-		
-		// depth first
-		Node current = root;
-		// loop siblings
-		while (current != null) {
-			if (DEBUG) System.out.println("   -> iterating sibling (" + current.getNodeName() + ")");
-			// found it
-			if (possible.equals(current)) {		    
-				if (DEBUG) System.out.println("   !!! found: " + possible.getNodeName() + " in subtree for: " + root.getNodeName());
-				return true;
-			}
-			// drop one level deeper if necessary
-			if (current.getFirstChild() != null) {
-				return contains(current.getFirstChild(), possible);
-			}
-			current = current.getNextSibling();
-		}
-		// never found it
-		return false;
-	}
-	
-	protected IStatus run(IProgressMonitor monitor) {
-		IStatus status = Status.OK_STATUS;
-		try {
-			Node[] toRefresh = getRequests();
-			for (int i = 0; i < toRefresh.length; i++) {
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-				doRefresh(toRefresh[i]);
-			}
-		}
-		finally {
-			monitor.done();
-		}
-		return status;
-	}
-	
-	/**
-	 * Refresh must be on UI thread because it's on a SWT widget.
-	 * @param node
-	 */
-	private void doRefresh(final Node node) {
-		final Display display = PlatformUI.getWorkbench().getDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-			    
-			    if(DEBUG)
-			        System.out.println("refresh on: [" +node.getNodeName()+ "]");
-			        
-			    if(node instanceof Document)
-			        fViewer.refresh();
-			    else
-			        fViewer.refresh(node);
-			}
-		});
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/CorrectionProcessorXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/CorrectionProcessorXML.java
deleted file mode 100644
index bfb47cb..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/CorrectionProcessorXML.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.correction;
-
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.internal.correction.IQuickAssistProcessor;
-import org.eclipse.wst.sse.ui.internal.correction.IQuickFixProcessor;
-import org.eclipse.wst.sse.ui.internal.correction.StructuredCorrectionProcessor;
-
-
-public class CorrectionProcessorXML extends StructuredCorrectionProcessor {
-	protected IQuickAssistProcessor fQuickAssistProcessor;
-	protected IQuickFixProcessor fQuickFixProcessor;
-
-	public CorrectionProcessorXML(ITextEditor editor) {
-		super(editor);
-	}
-
-	protected IQuickAssistProcessor getQuickAssistProcessor() {
-		if (fQuickAssistProcessor == null)
-			fQuickAssistProcessor = new QuickAssistProcessorXML();
-
-		return fQuickAssistProcessor;
-	}
-
-	protected IQuickFixProcessor getQuickFixProcessor() {
-		if (fQuickFixProcessor == null)
-			fQuickFixProcessor = new QuickFixProcessorXML();
-
-		return fQuickFixProcessor;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/InsertRequiredAttrsQuickAssistProposal.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/InsertRequiredAttrsQuickAssistProposal.java
deleted file mode 100644
index 02a5930..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/InsertRequiredAttrsQuickAssistProposal.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.correction;
-
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposalExtension2;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-
-public class InsertRequiredAttrsQuickAssistProposal implements ICompletionProposal, ICompletionProposalExtension2 {
-	private final List fRequiredAttrs;
-
-	/**
-	 * @param requiredAttrs
-	 */
-	public InsertRequiredAttrsQuickAssistProposal(List requiredAttrs) {
-		fRequiredAttrs = requiredAttrs;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse.jface.text.IDocument)
-	 */
-	public void apply(IDocument document) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#apply(org.eclipse.jface.text.ITextViewer,
-	 *      char, int, int)
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		XMLNode node = (XMLNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, offset);
-		IStructuredDocumentRegion startStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
-		int index = startStructuredDocumentRegion.getEndOffset();
-		ITextRegion lastRegion = startStructuredDocumentRegion.getLastRegion();
-		if (lastRegion.getType() == XMLRegionContext.XML_TAG_CLOSE) {
-			index--;
-			lastRegion = startStructuredDocumentRegion.getRegionAtCharacterOffset(index - 1);
-		} else if (lastRegion.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-			index = index - 2;
-			lastRegion = startStructuredDocumentRegion.getRegionAtCharacterOffset(index - 1);
-		}
-		MultiTextEdit multiTextEdit = new MultiTextEdit();
-		try {
-			for (int i = 0; i < fRequiredAttrs.size(); i++) {
-				CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) fRequiredAttrs.get(i);
-				String requiredAttributeName = attrDecl.getAttrName();
-				String defaultValue = attrDecl.getDefaultValue();
-				if (defaultValue == null)
-					defaultValue = ""; //$NON-NLS-1$
-				String nameAndDefaultValue = " "; //$NON-NLS-1$
-				if (i == 0 && lastRegion.getLength() > lastRegion.getTextLength())
-					nameAndDefaultValue = ""; //$NON-NLS-1$
-				nameAndDefaultValue += requiredAttributeName + "=\"" + defaultValue + "\""; //$NON-NLS-1$//$NON-NLS-2$
-				multiTextEdit.addChild(new InsertEdit(index, nameAndDefaultValue));
-				// BUG3381: MultiTextEdit applies all child TextEdit's basing
-				// on offsets
-				//          in the document before the first TextEdit, not after each
-				//          child TextEdit. Therefore, do not need to advance the
-				// index.
-				//index += nameAndDefaultValue.length();
-			}
-			multiTextEdit.apply(viewer.getDocument());
-		} catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException(e);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		return XMLUIPlugin.getResourceString("%InsertRequiredAttrsQuickAssistProposal.0"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getContextInformation()
-	 */
-	public IContextInformation getContextInformation() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		return XMLUIPlugin.getResourceString("%InsertRequiredAttrsQuickAssistProposal.1"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		// return JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL);
-		return XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ADD_CORRECTION);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection(org.eclipse.jface.text.IDocument)
-	 */
-	public Point getSelection(IDocument document) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#selected(org.eclipse.jface.text.ITextViewer,
-	 *      boolean)
-	 */
-	public void selected(ITextViewer viewer, boolean smartToggle) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#unselected(org.eclipse.jface.text.ITextViewer)
-	 */
-	public void unselected(ITextViewer viewer) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument,
-	 *      int, org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean validate(IDocument document, int offset, DocumentEvent event) {
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/ProblemIDsXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/ProblemIDsXML.java
deleted file mode 100644
index 4d0008b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/ProblemIDsXML.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.correction;
-
-public interface ProblemIDsXML {
-	int AttrsInEndTag = 3;
-	int AttrValueNotQuoted = 13;
-	int EmptyTag = 1;
-	int InvalidAttrValue = 11;
-	int MissingAttrValue = 4;
-	int MissingClosingBracket = 14;
-	int MissingEndTag = 2;
-	int MissingRequiredAttr = 12;
-	int NamespaceInPI = 8;
-	int NoAttrValue = 5;
-	int SpacesBeforePI = 7;
-	int SpacesBeforeTagName = 6;
-	int Unclassified = 0;
-	int UnknownAttr = 10;
-	int UnknownElement = 9;
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/QuickAssistProcessorXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/QuickAssistProcessorXML.java
deleted file mode 100644
index b2f00fa..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/QuickAssistProcessorXML.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.correction;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.correction.IQuickAssistProcessor;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-
-public class QuickAssistProcessorXML implements IQuickAssistProcessor {
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.correction.IQuickAssistProcessor#canAssist(org.eclipse.wst.sse.core.text.IStructuredDocument,
-	 *      int)
-	 */
-	public boolean canAssist(StructuredTextViewer viewer, int offset) {
-		return true;
-	}
-
-	/**
-	 * @param proposals
-	 * @param viewer
-	 * @param offset
-	 */
-	protected void getInsertRequiredAttrs(ArrayList proposals, StructuredTextViewer viewer, int offset) {
-		XMLNode node = (XMLNode) ContentAssistUtils.getNodeAt(viewer, offset);
-		if (node != null && node.getNodeType() == Node.ELEMENT_NODE) {
-			IStructuredDocumentRegion startStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
-			if (startStructuredDocumentRegion != null && startStructuredDocumentRegion.containsOffset(offset)) {
-				XMLNode cursorNode = (XMLNode) ContentAssistUtils.getNodeAt(viewer, offset);
-				List requiredAttrs = getRequiredAttrs(cursorNode);
-				if (requiredAttrs.size() > 0) {
-					NamedNodeMap currentAttrs = node.getAttributes();
-					List insertAttrs = new ArrayList();
-					if (currentAttrs.getLength() == 0)
-						insertAttrs.addAll(requiredAttrs);
-					else {
-						for (int i = 0; i < requiredAttrs.size(); i++) {
-							String requiredAttrName = ((CMAttributeDeclaration) requiredAttrs.get(i)).getAttrName();
-							boolean found = false;
-							for (int j = 0; j < currentAttrs.getLength(); j++) {
-								String currentAttrName = currentAttrs.item(j).getNodeName();
-								if (requiredAttrName.compareToIgnoreCase(currentAttrName) == 0) {
-									found = true;
-									break;
-								}
-							}
-							if (!found)
-								insertAttrs.add(requiredAttrs.get(i));
-						}
-					}
-					if (insertAttrs.size() > 0)
-						proposals.add(new InsertRequiredAttrsQuickAssistProposal(insertAttrs));
-				}
-			}
-		}
-	}
-
-	/**
-	 * @param proposals
-	 * @param viewer
-	 * @param offset
-	 */
-	protected void getLocalRenameQuickAssistProposal(ArrayList proposals, StructuredTextViewer viewer, int offset) {
-		XMLNode node = (XMLNode) ContentAssistUtils.getNodeAt(viewer, offset);
-		IStructuredDocumentRegion startStructuredDocumentRegion = node == null ? null : node.getStartStructuredDocumentRegion();
-		IStructuredDocumentRegion endStructuredDocumentRegion = node == null ? null : node.getEndStructuredDocumentRegion();
-
-		ITextRegion region = null;
-		int regionTextEndOffset = 0;
-		if (startStructuredDocumentRegion != null && startStructuredDocumentRegion.containsOffset(offset)) {
-			region = startStructuredDocumentRegion.getRegionAtCharacterOffset(offset);
-			regionTextEndOffset = startStructuredDocumentRegion.getTextEndOffset(region);
-		} else if (endStructuredDocumentRegion != null && endStructuredDocumentRegion.containsOffset(offset)) {
-			region = endStructuredDocumentRegion.getRegionAtCharacterOffset(offset);
-			regionTextEndOffset = endStructuredDocumentRegion.getTextEndOffset(region);
-		}
-
-		if (region != null && (region.getType() == XMLRegionContext.XML_TAG_NAME || region.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) && offset <= regionTextEndOffset)
-			proposals.add(new RenameInFileQuickAssistProposal());
-	}
-
-	protected ModelQuery getModelQuery(Node node) {
-		if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			return ModelQueryUtil.getModelQuery((Document) node);
-		} else {
-			return ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.correction.IQuickAssistProcessor#getProposals(org.eclipse.wst.sse.core.text.IStructuredDocument,
-	 *      int)
-	 */
-	public ICompletionProposal[] getProposals(StructuredTextViewer viewer, int offset) throws CoreException {
-		ArrayList proposals = new ArrayList();
-
-		getLocalRenameQuickAssistProposal(proposals, viewer, offset);
-		getSurroundWithNewElementQuickAssistProposal(proposals, viewer, offset);
-		getInsertRequiredAttrs(proposals, viewer, offset);
-
-		return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
-	}
-
-	protected List getRequiredAttrs(Node node) {
-		List result = new ArrayList();
-
-		ModelQuery modelQuery = getModelQuery(node);
-		if (modelQuery != null) {
-			CMElementDeclaration elementDecl = modelQuery.getCMElementDeclaration((Element) node);
-			if (elementDecl != null) {
-				CMNamedNodeMap attrMap = elementDecl.getAttributes();
-				Iterator it = attrMap.iterator();
-				CMAttributeDeclaration attr = null;
-				while (it.hasNext()) {
-					attr = (CMAttributeDeclaration) it.next();
-					if (attr.getUsage() == CMAttributeDeclaration.REQUIRED) {
-						result.add(attr);
-					}
-				}
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * @param proposals
-	 * @param viewer
-	 * @param offset
-	 */
-	protected void getSurroundWithNewElementQuickAssistProposal(ArrayList proposals, StructuredTextViewer viewer, int offset) {
-		XMLNode node = (XMLNode) ContentAssistUtils.getNodeAt(viewer, offset);
-		if (node != null)
-			proposals.add(new SurroundWithNewElementQuickAssistProposal());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/QuickFixProcessorXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/QuickFixProcessorXML.java
deleted file mode 100644
index 8f9410e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/QuickFixProcessorXML.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.correction;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.contentassist.CompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.ui.internal.correction.IQuickFixProcessor;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-
-public class QuickFixProcessorXML implements IQuickFixProcessor {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.correction.IQuickFixProcessor#canFix(int)
-	 */
-	public boolean canFix(Annotation annotation) {
-		boolean result = false;
-
-		if (annotation instanceof TemporaryAnnotation) {
-			TemporaryAnnotation tempAnnotation = (TemporaryAnnotation) annotation;
-			int problemID = tempAnnotation.getProblemID();
-			switch (problemID) {
-				case ProblemIDsXML.EmptyTag :
-				case ProblemIDsXML.MissingEndTag :
-				case ProblemIDsXML.AttrsInEndTag :
-				case ProblemIDsXML.MissingAttrValue :
-				case ProblemIDsXML.NoAttrValue :
-				case ProblemIDsXML.SpacesBeforeTagName :
-				case ProblemIDsXML.SpacesBeforePI :
-				case ProblemIDsXML.NamespaceInPI :
-				case ProblemIDsXML.UnknownElement :
-				case ProblemIDsXML.UnknownAttr :
-				case ProblemIDsXML.InvalidAttrValue :
-				case ProblemIDsXML.MissingRequiredAttr :
-				case ProblemIDsXML.AttrValueNotQuoted :
-				case ProblemIDsXML.MissingClosingBracket :
-					result = true;
-			}
-		}
-
-		return result;
-	}
-
-	public Image getImage() {
-		//return
-		// JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);
-		return XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_CORRECTION_CHANGE);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.correction.IQuickFixProcessor#getProposals(org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation)
-	 */
-	public ICompletionProposal[] getProposals(Annotation annotation) throws CoreException {
-		ArrayList proposals = new ArrayList();
-
-		if (annotation instanceof TemporaryAnnotation) {
-			TemporaryAnnotation tempAnnotation = (TemporaryAnnotation) annotation;
-			int problemID = tempAnnotation.getProblemID();
-			switch (problemID) {
-				case ProblemIDsXML.EmptyTag :
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.0"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				case ProblemIDsXML.MissingEndTag :
-					String tagName = (String) ((Object[]) tempAnnotation.getAdditionalFixInfo())[0];
-					String tagClose = (String) ((Object[]) tempAnnotation.getAdditionalFixInfo())[1];
-					int tagCloseOffset = ((Integer) ((Object[]) tempAnnotation.getAdditionalFixInfo())[2]).intValue();
-					int startTagEndOffset = ((Integer) ((Object[]) tempAnnotation.getAdditionalFixInfo())[3]).intValue();
-					int firstChildStartOffset = ((Integer) ((Object[]) tempAnnotation.getAdditionalFixInfo())[4]).intValue();
-					int endOffset = ((Integer) ((Object[]) tempAnnotation.getAdditionalFixInfo())[5]).intValue();
-					proposals.add(new CompletionProposal(tagClose, tagCloseOffset, 0, 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.1"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), startTagEndOffset - tempAnnotation.getPosition().getOffset(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.2"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					proposals.add(new CompletionProposal("</" + tagName + ">", firstChildStartOffset, 0, 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.3"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-					proposals.add(new CompletionProposal("</" + tagName + ">", endOffset, 0, 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.4"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-					break;
-				case ProblemIDsXML.AttrsInEndTag :
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.5"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				case ProblemIDsXML.MissingAttrValue :
-					String defaultAttrValue = (String) ((Object[]) tempAnnotation.getAdditionalFixInfo())[0];
-					int insertOffset = ((Integer) ((Object[]) tempAnnotation.getAdditionalFixInfo())[1]).intValue();
-					proposals.add(new CompletionProposal("\"" + defaultAttrValue + "\"", tempAnnotation.getPosition().getOffset() + tempAnnotation.getPosition().getLength() + insertOffset, 0, defaultAttrValue.length() + 2, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.6"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.7"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				case ProblemIDsXML.NoAttrValue :
-					defaultAttrValue = (String) tempAnnotation.getAdditionalFixInfo();
-					proposals.add(new CompletionProposal("=\"" + defaultAttrValue + "\"", tempAnnotation.getPosition().getOffset() + tempAnnotation.getPosition().getLength(), 0, defaultAttrValue.length() + 3, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.6"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.7"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				case ProblemIDsXML.SpacesBeforeTagName :
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.8"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				case ProblemIDsXML.SpacesBeforePI :
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.9"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				case ProblemIDsXML.NamespaceInPI :
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.10"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				case ProblemIDsXML.UnknownElement :
-					proposals.add(new RemoveUnknownElementQuickFixProposal(tempAnnotation.getAdditionalFixInfo(), getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.11"))); //$NON-NLS-1$
-					proposals.add(new RenameInFileQuickAssistProposal());
-					break;
-				case ProblemIDsXML.UnknownAttr :
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.7"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					proposals.add(new RenameInFileQuickAssistProposal());
-					break;
-				case ProblemIDsXML.InvalidAttrValue :
-					proposals.add(new CompletionProposal("", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), 0, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.12"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				case ProblemIDsXML.MissingRequiredAttr :
-					String requiredAttr = (String) ((Object[]) tempAnnotation.getAdditionalFixInfo())[0];
-					insertOffset = ((Integer) ((Object[]) tempAnnotation.getAdditionalFixInfo())[1]).intValue();
-					proposals.add(new CompletionProposal(requiredAttr, tempAnnotation.getPosition().getOffset() + insertOffset, 0, requiredAttr.length(), getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.13"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$
-					break;
-				case ProblemIDsXML.AttrValueNotQuoted :
-					String attrValue = (String) tempAnnotation.getAdditionalFixInfo();
-					proposals.add(new CompletionProposal("\"" + attrValue + "\"", tempAnnotation.getPosition().getOffset(), tempAnnotation.getPosition().getLength(), attrValue.length() + 2, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.14"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-					break;
-				case ProblemIDsXML.MissingClosingBracket :
-					proposals.add(new CompletionProposal(">", tempAnnotation.getPosition().getOffset() + tempAnnotation.getPosition().getLength(), 0, 1, getImage(), XMLUIPlugin.getResourceString("%QuickFixProcessorXML.15"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-					break;
-			}
-		}
-
-		return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/RemoveUnknownElementQuickFixProposal.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/RemoveUnknownElementQuickFixProposal.java
deleted file mode 100644
index 6af8773..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/RemoveUnknownElementQuickFixProposal.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.correction;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposalExtension2;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.text.edits.DeleteEdit;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-public class RemoveUnknownElementQuickFixProposal implements ICompletionProposal, ICompletionProposalExtension2 {
-	private Object fAdditionalFixInfo = null;
-	private String fDisplayString;
-	private Image fImage;
-	private Point fSelection; // initialized by apply()
-
-	public RemoveUnknownElementQuickFixProposal(Object additionalFixInfo, Image image, String displayString) {
-		fAdditionalFixInfo = additionalFixInfo;
-		fImage = image;
-		fDisplayString = displayString;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse.jface.text.IDocument)
-	 */
-	public void apply(IDocument document) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#apply(org.eclipse.jface.text.ITextViewer,
-	 *      char, int, int)
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		int startTagOffset = ((Integer) ((Object[]) fAdditionalFixInfo)[0]).intValue();
-		int startTagLength = ((Integer) ((Object[]) fAdditionalFixInfo)[1]).intValue();
-		int endTagOffset = ((Integer) ((Object[]) fAdditionalFixInfo)[2]).intValue();
-		int endTagLength = ((Integer) ((Object[]) fAdditionalFixInfo)[3]).intValue();
-
-		MultiTextEdit multiTextEdit = new MultiTextEdit();
-		if (endTagOffset != -1) {
-			multiTextEdit.addChild(new DeleteEdit(endTagOffset, endTagLength));
-			fSelection = new Point(endTagOffset, 0);
-		}
-		if (startTagOffset != -1) {
-			multiTextEdit.addChild(new DeleteEdit(startTagOffset, startTagLength));
-			fSelection = new Point(startTagOffset, 0);
-		}
-
-		try {
-			multiTextEdit.apply(viewer.getDocument());
-		} catch (MalformedTreeException e) {
-			throw new SourceEditingRuntimeException(e);
-		} catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException(e);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getContextInformation()
-	 */
-	public IContextInformation getContextInformation() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		if (fDisplayString == null)
-			fDisplayString = XMLUIPlugin.getResourceString("%QuickFixProcessorXML.11"); //$NON-NLS-1$
-
-		return fDisplayString;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		return fImage;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection(org.eclipse.jface.text.IDocument)
-	 */
-	public Point getSelection(IDocument document) {
-		return fSelection;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#selected(org.eclipse.jface.text.ITextViewer,
-	 *      boolean)
-	 */
-	public void selected(ITextViewer viewer, boolean smartToggle) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#unselected(org.eclipse.jface.text.ITextViewer)
-	 */
-	public void unselected(ITextViewer viewer) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument,
-	 *      int, org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean validate(IDocument document, int offset, DocumentEvent event) {
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/RenameInFileQuickAssistProposal.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/RenameInFileQuickAssistProposal.java
deleted file mode 100644
index 711678b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/RenameInFileQuickAssistProposal.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.correction;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposalExtension2;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.link.LinkedModeModel;
-import org.eclipse.jface.text.link.LinkedModeUI;
-import org.eclipse.jface.text.link.LinkedPosition;
-import org.eclipse.jface.text.link.LinkedPositionGroup;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.texteditor.link.EditorLinkedModeUI;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-
-public class RenameInFileQuickAssistProposal implements ICompletionProposal, ICompletionProposalExtension2 {
-	protected IRegion fSelectedRegion; // initialized by apply()
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse.jface.text.IDocument)
-	 */
-	public void apply(IDocument document) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#apply(org.eclipse.jface.text.ITextViewer,
-	 *      char, int, int)
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		IDocument document = viewer.getDocument();
-		LinkedPositionGroup group = new LinkedPositionGroup();
-		try {
-			if (viewer instanceof StructuredTextViewer) {
-				XMLNode node = (XMLNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, offset);
-				IStructuredDocumentRegion startStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
-				ITextRegion region = (startStructuredDocumentRegion == null) ? null : startStructuredDocumentRegion.getRegionAtCharacterOffset(offset);
-				if (region != null) {
-					group.addPosition(new LinkedPosition(document, startStructuredDocumentRegion.getStartOffset() + region.getStart(), region.getTextLength(), 0));
-
-					if (region.getType() == XMLRegionContext.XML_TAG_NAME && node.getEndStructuredDocumentRegion() != null) {
-						region = node.getEndStructuredDocumentRegion().getRegions().get(1);
-						if (region != null)
-							group.addPosition(new LinkedPosition(document, node.getEndStructuredDocumentRegion().getStartOffset() + region.getStart(), region.getTextLength(), 1));
-					}
-				} else {
-					IStructuredDocumentRegion endStructuredDocumentRegion = node.getEndStructuredDocumentRegion();
-					region = (endStructuredDocumentRegion == null) ? null : endStructuredDocumentRegion.getRegionAtCharacterOffset(offset);
-					if (region != null) {
-						if (region.getType() == XMLRegionContext.XML_TAG_NAME && node.getStartStructuredDocumentRegion() != null) {
-							ITextRegion startTagNameRegion = node.getStartStructuredDocumentRegion().getRegions().get(1);
-							if (region != null) {
-								group.addPosition(new LinkedPosition(document, node.getStartStructuredDocumentRegion().getStartOffset() + startTagNameRegion.getStart(), startTagNameRegion.getTextLength(), 0));
-								group.addPosition(new LinkedPosition(document, endStructuredDocumentRegion.getStartOffset() + region.getStart(), region.getTextLength(), 1));
-							}
-						} else
-							group.addPosition(new LinkedPosition(document, endStructuredDocumentRegion.getStartOffset() + region.getStart(), region.getTextLength(), 0));
-					}
-				}
-
-				// TODO CompletionProposalPopup#insertProposal() calls
-				// IRewriteTarget.beginCompoundChange()
-				//      which disables redraw in ITextViewer. Workaround for now.
-				((StructuredTextViewer) viewer).setRedraw(true);
-			}
-
-			LinkedModeModel linkedModeModel = new LinkedModeModel();
-			linkedModeModel.addGroup(group);
-			linkedModeModel.forceInstall();
-
-			LinkedModeUI ui = new EditorLinkedModeUI(linkedModeModel, viewer);
-			ui.setExitPosition(viewer, offset, 0, LinkedPositionGroup.NO_STOP);
-			ui.enter();
-
-			fSelectedRegion = ui.getSelectedRegion();
-		} catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException(e);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		return XMLUIPlugin.getResourceString("%RenameInFileQuickAssistProposal.0"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getContextInformation()
-	 */
-	public IContextInformation getContextInformation() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		return XMLUIPlugin.getResourceString("%RenameInFileQuickAssistProposal.1"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		// return JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL);
-		return XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_LOCAL_VARIABLE);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection(org.eclipse.jface.text.IDocument)
-	 */
-	public Point getSelection(IDocument document) {
-		return new Point(fSelectedRegion.getOffset(), fSelectedRegion.getLength());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#selected(org.eclipse.jface.text.ITextViewer,
-	 *      boolean)
-	 */
-	public void selected(ITextViewer viewer, boolean smartToggle) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#unselected(org.eclipse.jface.text.ITextViewer)
-	 */
-	public void unselected(ITextViewer viewer) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument,
-	 *      int, org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean validate(IDocument document, int offset, DocumentEvent event) {
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/SurroundWithNewElementQuickAssistProposal.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/SurroundWithNewElementQuickAssistProposal.java
deleted file mode 100644
index afad911..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/SurroundWithNewElementQuickAssistProposal.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.correction;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.w3c.dom.Node;
-
-public class SurroundWithNewElementQuickAssistProposal extends RenameInFileQuickAssistProposal {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#apply(org.eclipse.jface.text.ITextViewer,
-	 *      char, int, int)
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		try {
-			int startTagOffset = offset;
-			int endTagOffset = offset + viewer.getSelectedRange().y;
-
-			// surround the node if no selection
-			if (startTagOffset == endTagOffset) {
-				XMLNode cursorNode = (XMLNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, offset);
-				// use parent node if text node is empty
-				if (cursorNode.getNodeType() == Node.TEXT_NODE && cursorNode.getNodeValue().trim().length() == 0)
-					cursorNode = (XMLNode) cursorNode.getParentNode();
-
-				startTagOffset = cursorNode.getStartOffset();
-				endTagOffset = cursorNode.getEndOffset();
-			}
-
-			// insert new element
-			MultiTextEdit multiTextEdit = new MultiTextEdit();
-			// element tag name cannot be DBCS, do not translate "<element>"
-			// and "</element>"
-			multiTextEdit.addChild(new InsertEdit(startTagOffset, "<element>")); //$NON-NLS-1$
-			multiTextEdit.addChild(new InsertEdit(endTagOffset, "</element>")); //$NON-NLS-1$
-			multiTextEdit.apply(viewer.getDocument());
-
-			// get new element node
-			XMLNode newElementNode = (XMLNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, startTagOffset);
-
-			// format new element
-			IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
-			formatProcessor.formatNode(newElementNode);
-
-			// rename new element
-			super.apply(viewer, trigger, stateMask, newElementNode.getStartOffset() + 1);
-		} catch (MalformedTreeException e) {
-			throw new SourceEditingRuntimeException(e);
-		} catch (BadLocationException e) {
-			throw new SourceEditingRuntimeException(e);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		return XMLUIPlugin.getResourceString("%SurroundWithNewElementQuickAssistProposal.0"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		return XMLUIPlugin.getResourceString("%SurroundWithNewElementQuickAssistProposal.1"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		// return JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL);
-		return XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ADD_CORRECTION);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/CMImageUtil.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/CMImageUtil.java
deleted file mode 100644
index c5f9062..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/CMImageUtil.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.internal.editor;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author nsd
- */
-public class CMImageUtil {
-
-	public static CMNode getDeclaration(Node node) {
-		CMNode decl = null;
-		ModelQuery mq = null;
-		switch (node.getNodeType()) {
-			case Node.ATTRIBUTE_NODE : {
-				mq = ModelQueryUtil.getModelQuery(((Attr) node).getOwnerDocument());
-				decl = mq.getCMAttributeDeclaration((Attr) node);
-			}
-			case Node.ELEMENT_NODE : {
-				mq = ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-				decl = mq.getCMElementDeclaration((Element) node);
-			}
-		}
-		return decl;
-	}
-
-	public static Image getImage(CMNode cmnode) {
-		if (cmnode == null)
-			return null;
-		Image image = null;
-		ImageDescriptor descriptor = getImageDescriptor(cmnode);
-		if (descriptor != null) {
-			image = descriptor.createImage(false);
-		}
-		return image;
-	}
-
-	public static ImageDescriptor getImageDescriptor(CMNode cmnode) {
-		if (cmnode == null)
-			return null;
-		// cache CM-specified images with the XML UI plugin
-		String imageURL = (String) cmnode.getProperty("small-icon");
-		ImageDescriptor descriptor = null;
-		if (imageURL != null && imageURL.length() > 0) {
-			descriptor = XMLUIPlugin.getInstance().getImageRegistry().getDescriptor(imageURL);
-			if (descriptor == null) {
-				try {
-					descriptor = ImageDescriptor.createFromURL(new URL(imageURL));
-					XMLUIPlugin.getInstance().getImageRegistry().put(imageURL, descriptor);
-				}
-				catch (MalformedURLException e) {
-					descriptor = null;
-				}
-			}
-		}
-		return descriptor;
-	}
-
-	/**
-	 * 
-	 */
-	private CMImageUtil() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/IHelpContextIds.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/IHelpContextIds.java
deleted file mode 100644
index 072afce..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/IHelpContextIds.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.editor;
-
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/**
- * Help context ids for the XML Source Editor.
- * <p>
- * This interface contains constants only; it is not intended to be
- * implemented.
- * </p>
- *  
- */
-public interface IHelpContextIds {
-	// org.eclipse.wst.xml.ui.
-	public static final String PREFIX = XMLUIPlugin.ID + "."; //$NON-NLS-1$
-
-	// XML Source page editor
-	public static final String XML_SOURCEVIEW_HELPID = PREFIX + "exml0000"; //$NON-NLS-1$
-
-	// XML Files Preference page
-	public static final String XML_PREFWEBX_FILES_HELPID = PREFIX + "webx0060"; //$NON-NLS-1$
-	// XML Source Preference page
-	public static final String XML_PREFWEBX_SOURCE_HELPID = PREFIX + "webx0061"; //$NON-NLS-1$
-	// XML Styles Preference page
-	public static final String XML_PREFWEBX_STYLES_HELPID = PREFIX + "webx0062"; //$NON-NLS-1$
-	// XML Templates Preference page
-	public static final String XML_PREFWEBX_TEMPLATES_HELPID = PREFIX + "webx0063"; //$NON-NLS-1$
-
-	// XML Cleanup dialog
-	public static final String CLEANUP_XML_HELPID = PREFIX + "xmlm1200"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/XMLEditorPluginImageHelper.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/XMLEditorPluginImageHelper.java
deleted file mode 100644
index 32338df..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/XMLEditorPluginImageHelper.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.editor;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-
-/**
- * Helper class to handle images provided by this plug-in.
- * 
- * NOTE: For internal use only. For images used externally, please use the
- * Shared***ImageHelper class instead.
- * 
- * @author amywu
- */
-public class XMLEditorPluginImageHelper {
-	private static XMLEditorPluginImageHelper instance = null;
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a XMLEditorPluginImageHelper
-	 */
-	public synchronized static XMLEditorPluginImageHelper getInstance() {
-		if (instance == null)
-			instance = new XMLEditorPluginImageHelper();
-		return instance;
-	}
-
-	//	 save a descriptor for each image
-	private HashMap fImageDescRegistry = null;
-	private final String PLUGINID = XMLUIPlugin.ID;
-
-	/**
-	 * Creates an image from the given resource and adds the image to the
-	 * image registry.
-	 * 
-	 * @param resource
-	 * @return Image
-	 */
-	private Image createImage(String resource) {
-		ImageDescriptor desc = getImageDescriptor(resource);
-		Image image = null;
-
-		if (desc != null) {
-			image = desc.createImage();
-			// dont add the missing image descriptor image to the image
-			// registry
-			if (!desc.equals(ImageDescriptor.getMissingImageDescriptor()))
-				getImageRegistry().put(resource, image);
-		}
-		return image;
-	}
-
-	/**
-	 * Creates an image descriptor from the given imageFilePath and adds the
-	 * image descriptor to the image descriptor registry. If an image
-	 * descriptor could not be created, the default "missing" image descriptor
-	 * is returned but not added to the image descriptor registry.
-	 * 
-	 * @param imageFilePath
-	 * @return ImageDescriptor image descriptor for imageFilePath or default
-	 *         "missing" image descriptor if resource could not be found
-	 */
-	private ImageDescriptor createImageDescriptor(String imageFilePath) {
-		ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGINID, imageFilePath);
-		if (imageDescriptor != null) {
-			getImageDescriptorRegistry().put(imageFilePath, imageDescriptor);
-		} else {
-			imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-		}
-
-		return imageDescriptor;
-	}
-
-	/**
-	 * Retrieves the image associated with resource from the image registry.
-	 * If the image cannot be retrieved, attempt to find and load the image at
-	 * the location specified in resource.
-	 * 
-	 * @param resource
-	 *            the image to retrieve
-	 * @return Image the image associated with resource or null if one could
-	 *         not be found
-	 */
-	public Image getImage(String resource) {
-		Image image = getImageRegistry().get(resource);
-		if (image == null) {
-			// create an image
-			image = createImage(resource);
-		}
-		return image;
-	}
-
-	/**
-	 * Retrieves the image descriptor associated with resource from the image
-	 * descriptor registry. If the image descriptor cannot be retrieved,
-	 * attempt to find and load the image descriptor at the location specified
-	 * in resource.
-	 * 
-	 * @param resource
-	 *            the image descriptor to retrieve
-	 * @return ImageDescriptor the image descriptor assocated with resource or
-	 *         the default "missing" image descriptor if one could not be
-	 *         found
-	 */
-	public ImageDescriptor getImageDescriptor(String resource) {
-		ImageDescriptor imageDescriptor = null;
-		Object o = getImageDescriptorRegistry().get(resource);
-		if (o == null) {
-			//create a descriptor
-			imageDescriptor = createImageDescriptor(resource);
-		} else {
-			imageDescriptor = (ImageDescriptor) o;
-		}
-		return imageDescriptor;
-	}
-
-	/**
-	 * Returns the image descriptor registry for this plugin.
-	 * 
-	 * @return HashMap - image descriptor registry for this plugin
-	 */
-	private HashMap getImageDescriptorRegistry() {
-		if (fImageDescRegistry == null)
-			fImageDescRegistry = new HashMap();
-		return fImageDescRegistry;
-	}
-
-	/**
-	 * Returns the image registry for this plugin.
-	 * 
-	 * @return ImageRegistry - image registry for this plugin
-	 */
-	private ImageRegistry getImageRegistry() {
-		return JFaceResources.getImageRegistry();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/XMLEditorPluginImages.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/XMLEditorPluginImages.java
deleted file mode 100644
index 8160f77..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/XMLEditorPluginImages.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.editor;
-
-/**
- * Bundle of most images used by the XML Source Editor plug-in.
- */
-public class XMLEditorPluginImages {
-
-	public static final String IMG_DTOOL_CONSTRAINOFF = "icons/full/dtool16/constrainoff.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_CONSTRAINON = "icons/full/dtool16/constrainon.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_RLDGRMR = "icons/full/dtool16/rldgrmr.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_VALIDATE = "icons/full/dtool16/validate.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_CONSTRAINOFF = "icons/full/etool16/constrainoff.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_CONSTRAINON = "icons/full/etool16/constrainon.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_RLDGRMR = "icons/full/etool16/rldgrmr.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_VALIDATE = "icons/full/etool16/validate.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_ADD_CORRECTION = "icons/full/obj16/add_correction.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_ATT_REQ_OBJ = "icons/full/obj16/att_req_obj.gif"; //$NON-NLS-1$
-
-	public static final String IMG_OBJ_ATTRIBUTE = "icons/full/obj16/attribute_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CDATASECTION = "icons/full/obj16/cdatasection.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_COMMENT = "icons/full/obj16/comment_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_CORRECTION_CHANGE = "icons/full/obj16/correction_change.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_DOCTYPE = "icons/full/obj16/doctype.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_DTDFILE = "icons/full/obj16/dtdfile.gif"; //$NON-NLS-1$	
-	public static final String IMG_OBJ_ELEMENT = "icons/full/obj16/element_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_ENTITY = "icons/full/obj16/entity.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_ENTITY_REFERENCE = "icons/full/obj16/entity_reference.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_ENUM = "icons/full/obj16/enum.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_LOCAL_VARIABLE = "icons/full/obj16/localvariable_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_NOTATION = "icons/full/obj16/notation.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_PROCESSINGINSTRUCTION = "icons/full/obj16/proinst_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_GENERIC = "icons/full/obj16/tag-generic.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_TAG_MACRO = "icons/full/obj16/tag-macro.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_TXTEXT = "icons/full/obj16/text.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_WARNING_OBJ = "icons/full/obj16/warning_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_XSDFILE = "icons/full/obj16/XSDFile.gif"; //$NON-NLS-1$
-
-	public static final String IMG_OVR_ERROR = "icons/full/ovr16/error_ovr.gif"; //$NON-NLS-1$
-	public static final String IMG_OVR_STALE_ERROR = "icons/full/ovr16/stale_error_ovr.gif"; //$NON-NLS-1$
-	public static final String IMG_OVR_WARN = "icons/full/ovr16/warn_ovr.gif"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/ExternalFileEditorInput.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/ExternalFileEditorInput.java
deleted file mode 100644
index 63e60c3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/ExternalFileEditorInput.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.wst.xml.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.editors.text.ILocationProvider;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * EditorInput for external files. Copied from
- * org.eclipse.ui.internal.editors.text.JavaFileEditorInput
- */
-class ExternalFileEditorInput implements IEditorInput, ILocationProvider {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	/**
-	 * The workbench adapter which simply provides the label.
-	 * 
-	 * @since 3.1
-	 */
-	private class WorkbenchAdapter implements IWorkbenchAdapter {
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object o) {
-			return null;
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-		 */
-		public ImageDescriptor getImageDescriptor(Object object) {
-			return null;
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-		 */
-		public String getLabel(Object o) {
-			return ((ExternalFileEditorInput) o).getName();
-		}
-
-		/*
-		 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object o) {
-			return null;
-		}
-	}
-
-	private File fFile;
-	private WorkbenchAdapter fWorkbenchAdapter = new WorkbenchAdapter();
-
-	public ExternalFileEditorInput(File file) {
-		super();
-		fFile = file;
-		fWorkbenchAdapter = new WorkbenchAdapter();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return fFile.exists();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return fFile.getName();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return fFile.getAbsolutePath();
-	}
-
-	/*
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (ILocationProvider.class.equals(adapter))
-			return this;
-		if (IWorkbenchAdapter.class.equals(adapter))
-			return fWorkbenchAdapter;
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/*
-	 * @see org.eclipse.ui.editors.text.ILocationProvider#getPath(java.lang.Object)
-	 */
-	public IPath getPath(Object element) {
-		if (element instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) element;
-			return Path.fromOSString(input.fFile.getAbsolutePath());
-		}
-		return null;
-	}
-
-	/*
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object o) {
-		if (o == this)
-			return true;
-
-		if (o instanceof ExternalFileEditorInput) {
-			ExternalFileEditorInput input = (ExternalFileEditorInput) o;
-			return fFile.equals(input.fFile);
-		}
-
-		return false;
-	}
-
-	/*
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fFile.hashCode();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/ExternalFileHyperlink.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/ExternalFileHyperlink.java
deleted file mode 100644
index b2d1e4d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/ExternalFileHyperlink.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.wst.xml.ui.internal.hyperlink;
-
-import java.io.File;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Hyperlink for external files.
- */
-class ExternalFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	private IRegion fHyperlinkRegion;
-	private File fHyperlinkFile;
-
-	public ExternalFileHyperlink(IRegion region, File file) {
-		fHyperlinkFile = file;
-		fHyperlinkRegion = region;
-	}
-	
-	public IRegion getHyperlinkRegion() {
-		return fHyperlinkRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		if (fHyperlinkFile != null) {
-			IEditorInput input = new ExternalFileEditorInput(fHyperlinkFile);
-			IEditorDescriptor descriptor;
-			try {
-				descriptor = IDE.getEditorDescriptor(input.getName());
-				if (descriptor != null) {
-					IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-					IDE.openEditor(page, input, descriptor.getId(), true);
-				}
-			}
-			catch (PartInitException e) {
-				Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/WorkspaceFileHyperlink.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/WorkspaceFileHyperlink.java
deleted file mode 100644
index 23fe9cb..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/WorkspaceFileHyperlink.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.wst.xml.ui.internal.hyperlink;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.xml.ui.internal.Logger;
-
-/**
- * Hyperlink for files within the workspace. (As long as there is an IFile,
- * this can be used) Opens the default editor for the file.
- */
-class WorkspaceFileHyperlink implements IHyperlink {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-
-	private IRegion fRegion;
-	private IFile fFile;
-	private IRegion fHighlightRange;
-
-	public WorkspaceFileHyperlink(IRegion region, IFile file) {
-		fRegion = region;
-		fFile = file;
-	}
-
-	public WorkspaceFileHyperlink(IRegion region, IFile file, IRegion range) {
-		fRegion = region;
-		fFile = file;
-		fHighlightRange = range;
-	}
-
-	public IRegion getHyperlinkRegion() {
-		return fRegion;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-	 */
-	public String getTypeLabel() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-	 */
-	public String getHyperlinkText() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void open() {
-		if (fFile != null && fFile.exists()) {
-			try {
-				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				IEditorPart editor = IDE.openEditor(page, fFile, true);
-				// highlight range in editor if possible
-				if (fHighlightRange != null && editor instanceof ITextEditor) {
-					((ITextEditor) editor).setHighlightRange(fHighlightRange.getOffset(), fHighlightRange.getLength(), true);
-				}
-			}
-			catch (PartInitException pie) {
-				Logger.log(Logger.WARNING_DEBUG, pie.getMessage(), pie);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/XMLHyperlinkDetector.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/XMLHyperlinkDetector.java
deleted file mode 100644
index 21499c9..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/XMLHyperlinkDetector.java
+++ /dev/null
@@ -1,467 +0,0 @@
-package org.eclipse.wst.xml.ui.internal.hyperlink;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.hyperlink.URLHyperlink;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.wst.common.uriresolver.URIResolverPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * Detects hyperlinks in XML tags. Includes detection in DOCTYPE and attribute
- * values. Resolves references to schemas, dtds, etc using the Common URI
- * Resolver.
- * 
- */
-public class XMLHyperlinkDetector implements IHyperlinkDetector {
-	// copies of this class exist in:
-	// org.eclipse.wst.xml.ui.internal.hyperlink
-	// org.eclipse.wst.html.ui.internal.hyperlink
-	// org.eclipse.jst.jsp.ui.internal.hyperlink
-	
-	private final String NO_NAMESPACE_SCHEMA_LOCATION = "noNamespaceSchemaLocation"; //$NON-NLS-1$
-	private final String SCHEMA_LOCATION = "schemaLocation"; //$NON-NLS-1$
-	private final String XMLNS = "xmlns"; //$NON-NLS-1$
-	private final String XSI_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
-	private final String HTTP_PROTOCOL = "http://";//$NON-NLS-1$
-
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		// for now, only capable of creating 1 hyperlink
-		List hyperlinks = new ArrayList(0);
-
-		if (region != null && textViewer != null) {
-			IDocument document = textViewer.getDocument();
-			Node currentNode = getCurrentNode(document, region.getOffset());
-			if (currentNode != null) {
-				String uriString = null;
-				if (currentNode.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-					// doctype nodes
-					uriString = getURIString(currentNode, document);
-				}
-				else if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
-					// element nodes
-					Attr currentAttr = getCurrentAttrNode(currentNode, region.getOffset());
-					if (currentAttr != null) {
-						// try to find link for current attribute
-						// resolve attribute value
-						uriString = getURIString(currentAttr, document);
-						// verify validity of uri string
-						if (!isValidURI(uriString))
-							// reset current attribute
-							currentAttr = null;
-					}
-					if (currentAttr == null) {
-						// try to find a linkable attribute within element
-						currentAttr = getLinkableAttr((Element) currentNode);
-						if (currentAttr != null) {
-							uriString = getURIString(currentAttr, document);
-						}
-					}
-					currentNode = currentAttr;
-				}
-				// try to create hyperlink from information gathered
-				if (uriString != null && currentNode != null && isValidURI(uriString)) {
-					IRegion hyperlinkRegion = getHyperlinkRegion(currentNode);
-					IHyperlink hyperlink = createHyperlink(uriString, hyperlinkRegion, document, currentNode);
-					if (hyperlink != null) {
-						hyperlinks.add(hyperlink);
-					}
-				}
-			}
-		}
-		if (hyperlinks.size() == 0)
-			return null;
-		return (IHyperlink[]) hyperlinks.toArray(new IHyperlink[0]);
-	}
-
-	/**
-	 * Create the appropriate hyperlink
-	 * 
-	 * @param uriString
-	 * @param hyperlinkRegion
-	 * @return IHyperlink
-	 */
-	private IHyperlink createHyperlink(String uriString, IRegion hyperlinkRegion, IDocument document, Node node) {
-		IHyperlink link = null;
-
-		if (uriString != null) {
-			String temp = uriString.toLowerCase();
-			if (temp.startsWith(HTTP_PROTOCOL)) {
-				// this is a URLHyperlink since this is a web address
-				link = new URLHyperlink(hyperlinkRegion, uriString);
-			}
-			else {
-				// try to locate the file in the workspace
-				IFile file = getFile(uriString);
-				if (file != null && file.exists()) {
-					// this is a WorkspaceFileHyperlink since file exists in
-					// workspace
-					link = new WorkspaceFileHyperlink(hyperlinkRegion, file);
-				}
-				else {
-					// this is an ExternalFileHyperlink since file does not
-					// exist
-					// in workspace
-					File externalFile = new File(uriString);
-					link = new ExternalFileHyperlink(hyperlinkRegion, externalFile);
-				}
-			}
-		}
-
-		return link;
-	}
-
-	private IRegion getHyperlinkRegion(Node node) {
-		IRegion hyperRegion = null;
-
-		if (node != null) {
-			short nodeType = node.getNodeType();
-			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-				// handle doc type node
-				XMLNode docNode = (XMLNode) node;
-				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
-			}
-			else if (nodeType == Node.ATTRIBUTE_NODE) {
-				// handle attribute nodes
-				XMLAttr att = (XMLAttr) node;
-				// do not include quotes in attribute value region
-				int regOffset = att.getValueRegionStartOffset();
-				int regLength = att.getValueRegion().getTextLength();
-				String attValue = att.getValueRegionText();
-				if (StringUtils.isQuoted(attValue)) {
-					regOffset = ++regOffset;
-					regLength = regLength - 2;
-				}
-				hyperRegion = new Region(regOffset, regLength);
-			}
-		}
-		return hyperRegion;
-	}
-
-	/**
-	 * Returns the URI string
-	 * 
-	 * @param node -
-	 *            assumes not null
-	 */
-	private String getURIString(Node node, IDocument document) {
-		String resolvedURI = null;
-		// need the base location, publicId, and systemId for URIResolver
-		String baseLoc = null;
-		String publicId = null;
-		String systemId = null;
-
-		short nodeType = node.getNodeType();
-		// handle doc type node
-		if (nodeType == Node.DOCUMENT_TYPE_NODE) {
-			baseLoc = getBaseLocation(document);
-			publicId = ((DocumentType) node).getPublicId();
-			systemId = ((DocumentType) node).getSystemId();
-		}
-		else if (nodeType == Node.ATTRIBUTE_NODE) {
-			// handle attribute node
-			Attr attrNode = (Attr) node;
-			baseLoc = getBaseLocation(document);
-			String attrName = attrNode.getName();
-			String attrValue = attrNode.getValue();
-			attrValue = StringUtils.strip(attrValue);
-
-			// handle schemaLocation attribute
-			String prefix = DOMNamespaceHelper.getPrefix(attrName);
-			String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-			if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName))) {
-				publicId = attrValue;
-				systemId = getLocationHint(attrNode.getOwnerElement(), publicId);
-			}
-			else if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attrNode))) && (SCHEMA_LOCATION.equals(unprefixedName))) {
-				// for now just use the first pair
-				// need to look into being more precise
-				StringTokenizer st = new StringTokenizer(attrValue);
-				publicId = st.hasMoreTokens() ? st.nextToken() : null;
-				systemId = st.hasMoreTokens() ? st.nextToken() : null;
-				// else check if xmlns publicId = value
-			}
-			else {
-				systemId = attrValue;
-			}
-		}
-
-		resolvedURI = resolveURI(baseLoc, publicId, systemId);
-		return resolvedURI;
-	}
-
-	/**
-	 * Returns an IFile from the given uri if possible, null if cannot find
-	 * file from uri.
-	 * 
-	 * @param fileString
-	 *            file system path
-	 * @return returns IFile if fileString exists in the workspace
-	 */
-	private IFile getFile(String fileString) {
-		IFile file = null;
-
-		if (fileString != null) {
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileString));
-			for (int i = 0; i < files.length && file == null; i++)
-				if (files[i].exists())
-					file = files[i];
-		}
-
-		return file;
-	}
-
-	/**
-	 * Checks to see if the given attribute is openable. Attribute is openable
-	 * if it is a namespace declaration attribute or if the attribute value is
-	 * of type URI.
-	 * 
-	 * @param attr
-	 *            cannot be null
-	 * @param cmElement
-	 *            CMElementDeclaration associated with the attribute (can be
-	 *            null)
-	 * @return true if this attribute is "openOn-able" false otherwise
-	 */
-	private boolean isLinkableAttr(Attr attr, CMElementDeclaration cmElement) {
-		String attrName = attr.getName();
-		String prefix = DOMNamespaceHelper.getPrefix(attrName);
-		String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-		// determine if attribute is namespace declaration
-		if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName)))
-			return true;
-
-		// determine if attribute contains schema location
-		if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attr))) && ((SCHEMA_LOCATION.equals(unprefixedName)) || (NO_NAMESPACE_SCHEMA_LOCATION.equals(unprefixedName))))
-			return true;
-
-		// determine if attribute value is of type URI
-		if (cmElement != null) {
-			CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) cmElement.getAttributes().getNamedItem(attrName);
-			if ((attrDecl != null) && (attrDecl.getAttrType() != null) && (CMDataType.URI.equals(attrDecl.getAttrType().getDataTypeName()))) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Attempts to find an attribute within element that is openable.
-	 * 
-	 * @param element -
-	 *            cannot be null
-	 * @return Attr attribute that can be used for open on, null if no
-	 *         attribute could be found
-	 */
-	private Attr getLinkableAttr(Element element) {
-		CMElementDeclaration ed = getCMElementDeclaration(element);
-		// get the list of attributes for this node
-		NamedNodeMap attrs = element.getAttributes();
-		for (int i = 0; i < attrs.getLength(); ++i) {
-			// check if this attribute is "openOn-able"
-			Attr att = (Attr) attrs.item(i);
-			if (isLinkableAttr(att, ed)) {
-				return att;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Get the CMElementDeclaration for an element
-	 * 
-	 * @param element
-	 * @return CMElementDeclaration
-	 */
-	private CMElementDeclaration getCMElementDeclaration(Element element) {
-		CMElementDeclaration ed = null;
-
-		ModelQuery mq = ModelQueryUtil.getModelQuery(element.getOwnerDocument());
-		if (mq != null) {
-			ed = mq.getCMElementDeclaration(element);
-		}
-		return ed;
-	}
-
-	/**
-	 * Returns the attribute node within node at offset
-	 * 
-	 * @param node
-	 * @param offset
-	 * @return Attr
-	 */
-	private Attr getCurrentAttrNode(Node node, int offset) {
-		if ((node instanceof IndexedRegion) && ((IndexedRegion) node).contains(offset) && (node.hasAttributes())) {
-			NamedNodeMap attrs = node.getAttributes();
-			// go through each attribute in node and if attribute contains
-			// offset, return that attribute
-			for (int i = 0; i < attrs.getLength(); ++i) {
-				// assumption that if parent node is of type IndexedRegion,
-				// then its attributes will also be of type IndexedRegion
-				IndexedRegion attRegion = (IndexedRegion) attrs.item(i);
-				if (attRegion.contains(offset)) {
-					return (Attr) attrs.item(i);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the node the cursor is currently on in the document. null if no
-	 * node is selected
-	 * 
-	 * @param offset
-	 * @return Node either element, doctype, text, or null
-	 */
-	private Node getCurrentNode(IDocument document, int offset) {
-		// get the current node at the offset (returns either: element,
-		// doctype, text)
-		IndexedRegion inode = null;
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			inode = sModel.getIndexedRegion(offset);
-			if (inode == null)
-				inode = sModel.getIndexedRegion(offset - 1);
-		}
-		finally {
-			if (sModel != null)
-				sModel.releaseFromRead();
-		}
-
-		if (inode instanceof Node) {
-			return (Node) inode;
-		}
-		return null;
-	}
-
-	/**
-	 * Get the base location from the current model (local file system)
-	 */
-	private String getBaseLocation(IDocument document) {
-		String baseLoc = null;
-
-		// get the base location from the current model
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-			if (sModel != null) {
-				IPath location = new Path(sModel.getBaseLocation());
-				if (location.toFile().exists()) {
-					baseLoc = location.toString();
-				}
-				else {
-					baseLoc = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(sModel.getBaseLocation()).toString();
-				}
-			}
-		}
-		finally {
-			if (sModel != null) {
-				sModel.releaseFromRead();
-			}
-		}
-		return baseLoc;
-	}
-
-	/**
-	 * Checks whether the given uriString is really pointing to a file
-	 * 
-	 * @param uriString
-	 * @return boolean
-	 */
-	private boolean isValidURI(String uriString) {
-		// try to create a uri
-		if (uriString != null) {
-			URI uri = null;
-			try {
-				uri = new URI(uriString);
-			}
-			catch (URISyntaxException e) {
-				// it is okay that this is not a uri
-			}
-
-			File file = null;
-			// create a file from uri if it's not an absolute uri (ex:
-			// http://myfile)
-			if (uri != null && !uri.isAbsolute())
-				file = new File(uri);
-			else
-				// create a file from uriString which is an absolute path (ex:
-				// d:/myfile)
-				file = new File(uriString);
-			// check if the newly created file exists
-			return file.exists();
-		}
-		return false;
-	}
-
-	/**
-	 * Resolves the given URI information
-	 * 
-	 * @param baseLocation
-	 * @param publicId
-	 * @param systemId
-	 * @return String resolved uri.
-	 */
-	private String resolveURI(String baseLocation, String publicId, String systemId) {
-		// dont resolve if there's nothing to resolve
-		if ((baseLocation == null) && (publicId == null) && (systemId == null))
-			return null;
-		return URIResolverPlugin.createResolver().resolve(baseLocation, publicId, systemId);
-	}
-
-	/**
-	 * Find the location hint for the given namespaceURI if it exists
-	 * 
-	 * @param elementNode -
-	 *            cannot be null
-	 * @param namespaceURI -
-	 *            cannot be null
-	 * @return location hint (systemId) if it was found, null otherwise
-	 */
-	private String getLocationHint(Element elementNode, String namespaceURI) {
-		Attr schemaLocNode = elementNode.getAttributeNodeNS(XSI_NAMESPACE_URI, SCHEMA_LOCATION);
-		if (schemaLocNode != null) {
-			StringTokenizer st = new StringTokenizer(schemaLocNode.getValue());
-			while (st.hasMoreTokens()) {
-				String publicId = st.hasMoreTokens() ? st.nextToken() : null;
-				String systemId = st.hasMoreTokens() ? st.nextToken() : null;
-				// found location hint
-				if (namespaceURI.equalsIgnoreCase(publicId))
-					return systemId;
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/preferences/XMLUIPreferenceInitializer.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/preferences/XMLUIPreferenceInitializer.java
deleted file mode 100644
index 9f1efab..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/preferences/XMLUIPreferenceInitializer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.wst.xml.ui.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.ui.ColorHelper;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-
-/**
- * Sets default values for XML UI preferences
- */
-public class XMLUIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = XMLUIPlugin.getDefault().getPreferenceStore();
-		
-		store.setDefault(CommonEditorPreferenceNames.AUTO_PROPOSE, true);
-		store.setDefault(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE, "<"); //$NON-NLS-1$
-
-		store.setDefault(
-				CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR, true);
-
-		// XML Style Preferences
-		String NOBACKGROUNDBOLD = " | null | false"; //$NON-NLS-1$
-		String styleValue = ColorHelper.getColorString(127, 0, 127)
-				+ NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_NAME, styleValue);
-
-		styleValue = ColorHelper.getColorString(42, 0, 255) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE, styleValue);
-
-		styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-		store.setDefault(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS, styleValue); // specified
-		// value
-		// is
-		// black;
-		// leaving
-		// as
-		// widget
-		// default
-
-		styleValue = ColorHelper.getColorString(63, 95, 191) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.COMMENT_BORDER, styleValue);
-		store.setDefault(IStyleConstantsXML.COMMENT_TEXT, styleValue);
-
-		styleValue = ColorHelper.getColorString(0, 128, 128) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.DECL_BORDER, styleValue);
-
-		styleValue = ColorHelper.getColorString(0, 0, 128) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.DOCTYPE_NAME, styleValue);
-		store.setDefault(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF,
-				styleValue);
-
-		styleValue = ColorHelper.getColorString(128, 128, 128)
-				+ NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID, styleValue);
-
-		styleValue = ColorHelper.getColorString(63, 127, 95) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF,
-				styleValue);
-
-		styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-		store.setDefault(IStyleConstantsXML.XML_CONTENT, styleValue); // specified
-		// value
-		// is
-		// black;
-		// leaving
-		// as
-		// widget
-		// default
-
-		styleValue = ColorHelper.getColorString(0, 128, 128) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_BORDER, styleValue);
-
-		styleValue = ColorHelper.getColorString(63, 127, 127)
-				+ NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.TAG_NAME, styleValue);
-
-		styleValue = ColorHelper.getColorString(0, 128, 128) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.PI_BORDER, styleValue);
-
-		styleValue = "null" + NOBACKGROUNDBOLD; //$NON-NLS-1$
-		store.setDefault(IStyleConstantsXML.PI_CONTENT, styleValue); // specified
-		// value
-		// is
-		// black;
-		// leaving
-		// as
-		// widget
-		// default
-
-		styleValue = ColorHelper.getColorString(0, 128, 128) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.CDATA_BORDER, styleValue);
-
-		styleValue = ColorHelper.getColorString(0, 0, 0) + NOBACKGROUNDBOLD;
-		store.setDefault(IStyleConstantsXML.CDATA_TEXT, styleValue);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/EnumeratedStringPropertyDescriptor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/EnumeratedStringPropertyDescriptor.java
deleted file mode 100644
index e302240..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/EnumeratedStringPropertyDescriptor.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.properties;
-
-
-
-import java.util.Arrays;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * This class should be used for properties which require a combo box cell
- * editor and whose values consist of a list of enumerated strings.
- */
-public class EnumeratedStringPropertyDescriptor extends PropertyDescriptor {
-	protected StringComboBoxCellEditor fEditor;
-	protected Composite fParent;
-
-	/**
-	 * The enumerated possible values for the described property
-	 */
-	protected String fValues[] = null;
-
-	public EnumeratedStringPropertyDescriptor(Object id, String newDisplayName, String[] valuesArray) {
-		super(id, newDisplayName);
-		setDescription((String) id);
-		fValues = valuesArray;
-	}
-
-	/**
-	 * Creates and returns a new cell editor for editing this property.
-	 * Returns <code>null</code> if the property is not editable.
-	 * 
-	 * @param parent
-	 *            the parent widget for the cell editor
-	 * @return the cell editor for this property, or <code>null</code> if
-	 *         this property cannot be edited
-	 */
-	public CellEditor createPropertyEditor(Composite parent) {
-		// Check to see if we already have a Cell Editor with a valid Control
-		// under the given parent.
-		// If any of that's not true, create and return a new Cell Editor
-		if (fEditor == null || fEditor.getControl() == null || fEditor.getControl().isDisposed() || parent != fParent)
-			fEditor = new StringComboBoxCellEditor(parent, fValues);
-		fParent = parent;
-		return fEditor;
-	}
-
-	public void updateValues(String newValues[]) {
-		if (Arrays.equals(fValues, newValues))
-			return;
-		fValues = newValues;
-		if (fEditor != null) {
-			fEditor.setItems(newValues);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/StringComboBoxCellEditor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/StringComboBoxCellEditor.java
deleted file mode 100644
index 05f4788..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/StringComboBoxCellEditor.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.properties;
-
-
-
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-
-/**
- * An extended ComboBoxCellEditor that selects and returns Strings
- */
-
-public class StringComboBoxCellEditor extends ComboBoxCellEditor {
-	private boolean fSettingValue = false;
-
-	/**
-	 *  
-	 */
-	public StringComboBoxCellEditor() {
-		super();
-	}
-
-	/**
-	 * @param parent
-	 * @param items
-	 */
-	public StringComboBoxCellEditor(Composite parent, String[] items) {
-		super(parent, items);
-	}
-
-	/**
-	 * @param parent
-	 * @param items
-	 * @param style
-	 */
-	public StringComboBoxCellEditor(Composite parent, String[] items, int style) {
-		super(parent, items, style);
-	}
-
-	protected Object doGetValue() {
-		// otherwise limits to set of valid values
-		Object index = super.doGetValue();
-		int selection = -1;
-		if (index instanceof Integer)
-			selection = ((Integer) index).intValue();
-		if (selection >= 0)
-			return getItems()[selection];
-		else if (getControl() instanceof CCombo) {
-			// retrieve the actual text as the list of valid items doesn't
-			// contain the value
-			return ((CCombo) getControl()).getText();
-		}
-		return null;
-	}
-
-	protected void doSetValue(Object value) {
-		if (fSettingValue)
-			return;
-		fSettingValue = true;
-		if (value instanceof Integer) {
-			super.doSetValue(value);
-		} else {
-			String stringValue = value.toString();
-			int selection = -1;
-			for (int i = 0; i < getItems().length; i++)
-				if (getItems()[i].equals(stringValue))
-					selection = i;
-			if (selection >= 0)
-				super.doSetValue(new Integer(selection));
-			else {
-				super.doSetValue(new Integer(-1));
-				if (getControl() instanceof CCombo && !stringValue.equals(((CCombo) getControl()).getText())) {
-					// update the Text widget
-					((CCombo) getControl()).setText(stringValue);
-				}
-			}
-		}
-		fSettingValue = false;
-	}
-
-	public void setItems(String[] newItems) {
-		if (getControl() == null || getControl().isDisposed()) {
-			Logger.log(Logger.ERROR, "Attempted to update item list for disposed cell editor"); //$NON-NLS-1$
-			return;
-		}
-
-		// keep selection if possible
-		Object previousSelectedValue = getValue();
-		super.setItems(newItems);
-		if (previousSelectedValue != null && getControl() instanceof CCombo) {
-			for (int i = 0; i < newItems.length; i++) {
-				if (newItems[i].equals(previousSelectedValue))
-					setValue(previousSelectedValue);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/search/XMLFindOccurrencesAction.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/search/XMLFindOccurrencesAction.java
deleted file mode 100644
index 55a4407..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/search/XMLFindOccurrencesAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.search;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.internal.search.BasicFindOccurrencesAction;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.core.text.rules.StructuredTextPartitionerForXML;
-
-
-
-/**
- * <p>
- * Configures a BasicFindOccurrencesAction with XML partitions and regions
- * </p>
- * 
- * <p>
- * Uses default <code>getSearchQuery()</code>.
- * </p>
- * 
- * @author pavery
- */
-public class XMLFindOccurrencesAction extends BasicFindOccurrencesAction {
-
-	public XMLFindOccurrencesAction(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	public String[] getPartitionTypes() {
-
-		return new String[]{StructuredTextPartitionerForXML.ST_DEFAULT_XML};
-	}
-
-	public String[] getRegionTypes() {
-
-		return new String[]{XMLRegionContext.XML_TAG_NAME, XMLRegionContext.XML_TAG_ATTRIBUTE_NAME, XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE};
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonAddNamespacesControl.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonAddNamespacesControl.java
deleted file mode 100644
index 03cf2de..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonAddNamespacesControl.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.nsedit;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.ui.dialogs.SelectFileOrXMLCatalogIdDialog;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.eclipse.wst.xml.uriresolver.util.IdResolverImpl;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-public class CommonAddNamespacesControl extends Composite implements SelectionListener {
-
-	class EditNamespaceControl extends Composite {
-		protected Button browseButton;
-		Text locationHintField;
-		Text prefixField;
-		Text uriField;
-
-		//protected NamespaceInfo info;
-
-		public EditNamespaceControl(Composite parent) {
-			super(parent, SWT.NONE); //BORDER);
-			setLayout(new GridLayout());
-			setLayoutData(new GridData(GridData.FILL_BOTH));
-
-			Label label = new Label(this, SWT.NONE);
-			label.setText(XMLUIPlugin.getResourceString("%_UI_ENTER_REQ_PREFIX_AND_NAMESPACE")); //$NON-NLS-1$
-
-			Composite composite = new Composite(this, SWT.NONE);
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 3;
-			layout.marginWidth = 0;
-			layout.verticalSpacing = 1;
-			composite.setLayout(layout);
-
-			GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.widthHint = 350;
-			composite.setLayoutData(gd);
-
-			// row 1
-			//
-			Label prefixLabel = new Label(composite, SWT.NONE);
-			prefixLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_PREFIX_COLON")); //$NON-NLS-1$
-
-			prefixField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-			prefixField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			//prefixField.setText(getDisplayValue(info.prefix));
-			//prefixField.addModifyListener(modifyListener);
-			//prefixField.setEnabled(info.getProperty("prefix-readOnly") ==
-			// null);
-			Label placeHolder1 = new Label(composite, SWT.NONE);
-
-			// row 2
-			//
-			Label uriLabel = new Label(composite, SWT.NONE);
-			uriLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_NAMESPACE_NAME_COLON")); //$NON-NLS-1$
-
-			uriField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-			uriField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			//uriField.setText(getDisplayValue(info.uri));
-			//uriField.addModifyListener(modifyListener);
-			//uriField.setEnabled(info.getProperty("uri-readOnly") == null);
-
-			Label placeHolder2 = new Label(composite, SWT.NONE);
-
-			// row 3
-			//
-			Label locationHintLabel = new Label(composite, SWT.NONE);
-			locationHintLabel.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_LOCATION_HINT_COLON")); //$NON-NLS-1$
-
-			locationHintField = new Text(composite, SWT.SINGLE | SWT.BORDER);
-			locationHintField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			//locationHintField.setText(getDisplayValue(info.locationHint));
-			//locationHintField.addModifyListener(modifyListener);
-			//locationHintField.setEnabled(info.getProperty("locationHint-readOnly")
-			// == null);
-
-			SelectionListener selectionListener = new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					performBrowse();
-				}
-			};
-
-			browseButton = new Button(composite, SWT.NONE);
-			browseButton.setText(XMLUIPlugin.getResourceString("%_UI_LABEL_BROWSE")); //$NON-NLS-1$
-			browseButton.addSelectionListener(selectionListener);
-			browseButton.setEnabled(locationHintField.getEnabled());
-		}
-
-		protected void performBrowse() {
-			String[] extensions = {".xsd"}; //$NON-NLS-1$
-			SelectFileOrXMLCatalogIdDialog dialog = new SelectFileOrXMLCatalogIdDialog(getShell(), extensions);
-			dialog.create();
-			dialog.getShell().setText(XMLUIPlugin.getResourceString("%_UI_LABEL_SELECT_FILE")); //$NON-NLS-1$
-			dialog.setBlockOnOpen(true);
-			dialog.open();
-
-			if (dialog.getReturnCode() == Window.OK) {
-				String grammarURI = null;
-				IFile file = dialog.getFile();
-				String id = dialog.getId();
-				if (file != null) {
-					String uri = null;
-					if (resourceLocation != null) {
-						uri = URIHelper.getRelativeURI(file.getLocation(), resourceLocation);
-						grammarURI = file.getLocation().toOSString();
-					} else {
-						uri = file.getLocation().toOSString();
-						grammarURI = uri;
-					}
-					locationHintField.setText(uri);
-				} else if (id != null) {
-					locationHintField.setText(id);
-					IdResolver resolver = new IdResolverImpl(null);
-					grammarURI = resolver.resolveId(id, id);
-				}
-
-				try {
-					//TODO CMDocument document =
-					// CMDocumentBuilderRegistry.getInstance().buildCMDocument(grammarURI);
-					//				 List namespaceInfoList =
-					// (List)document.getProperty("http://org.eclipse.wst/cm/properties/namespaceInfo");
-					//				 NamespaceInfo info =
-					// (NamespaceInfo)namespaceInfoList.get(0);
-					//				 if (uriField.getText().trim().length() == 0 && info.uri
-					// != null)
-					//				 {
-					//					 uriField.setText(info.uri);
-					//				 }
-					//				 if (prefixField.getText().trim().length() == 0 &&
-					// info.prefix != null)
-					//				 {
-					//					 prefixField.setText(info.prefix);
-					//				 }
-				} catch (Exception e) {
-				}
-			}
-		}
-	}
-
-	protected Button deleteButton;
-	protected Button editButton;
-	protected EditNamespaceControl editNamespaceControl;
-	protected int heightHint = 250;
-	protected List namespaceInfoList = new ArrayList();
-	protected Button newButton;
-	protected PageBook pageBook;
-	protected Button radio1;
-	protected Button radio2;
-	protected IPath resourceLocation;
-	protected Composite tableSection;
-	protected CommonNamespaceInfoTable tableViewer;
-	protected int widthHint = 500;
-
-
-	public CommonAddNamespacesControl(Composite parent, int style, IPath resourceLocation) {
-		super(parent, style);
-		this.resourceLocation = resourceLocation;
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		if (widthHint != -1) {
-			gd.widthHint = widthHint;
-		}
-		if (heightHint != -1) {
-			gd.heightHint = heightHint;
-		}
-		setLayoutData(gd);
-		setLayout(new GridLayout());
-
-		radio1 = new Button(this, SWT.RADIO);
-		radio1.setText(XMLUIPlugin.getResourceString("%_UI_SELECT_REGISTERED_NAMESPACES")); //$NON-NLS-1$
-		radio1.addSelectionListener(this);
-
-		radio2 = new Button(this, SWT.RADIO);
-		radio2.setText(XMLUIPlugin.getResourceString("%_UI_SPECIFY_NEW_NAMESPACE")); //$NON-NLS-1$
-		radio2.addSelectionListener(this);
-
-		Label separator = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-		separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		//Group namespaceInfoGroup = new Group(this, SWT.NONE);
-		//namespaceInfoGroup.setText("Namespace Declarations");
-		// //XMLCommonUIPlugin.getInstance().getString("_UI_LABEL_XML_SCHEMA_INFORMATION"));
-		//namespaceInfoGroup.setLayout(new GridLayout(2, false));
-		//namespaceInfoGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-		pageBook = new PageBook(this, SWT.NONE);
-		pageBook.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		tableSection = new Composite(pageBook, SWT.NONE);
-		tableSection.setLayout(new GridLayout());
-		Label label = new Label(tableSection, SWT.NONE);
-		label.setText(XMLUIPlugin.getResourceString("%_UI_SELECT_NAMESPACE_TO_ADD")); //$NON-NLS-1$
-
-		tableViewer = new CommonNamespaceInfoTable(tableSection, SWT.CHECK, 6);
-		editNamespaceControl = new EditNamespaceControl(pageBook);
-		pageBook.showPage(tableSection);
-
-		tableViewer.setInput(namespaceInfoList);
-	}
-
-
-
-	public List getNamespaceInfoList() {
-		List list = new ArrayList();
-		if (radio1.getSelection()) {
-			TableItem[] items = tableViewer.getTable().getItems();
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				if (item.getChecked()) {
-					list.add(item.getData());
-				}
-			}
-		} else {
-			NamespaceInfo info = new NamespaceInfo();
-			info.prefix = editNamespaceControl.prefixField.getText();
-			info.uri = editNamespaceControl.uriField.getText();
-			info.locationHint = editNamespaceControl.locationHintField.getText();
-			list.add(info);
-		}
-		return list;
-	}
-
-	public void setNamespaceInfoList(List list) {
-		namespaceInfoList = list;
-		tableViewer.setInput(namespaceInfoList);
-	}
-
-	public void widgetDefaultSelected(SelectionEvent e) {
-	}
-
-	public void widgetSelected(SelectionEvent e) {
-		if (e.widget == radio1) {
-			pageBook.showPage(tableSection);
-		} else if (e.widget == radio2) {
-			pageBook.showPage(editNamespaceControl);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonAddNamespacesDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonAddNamespacesDialog.java
deleted file mode 100644
index a1ba50f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonAddNamespacesDialog.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.nsedit;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.uriresolver.XMLCatalog;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogEntry;
-import org.eclipse.wst.xml.uriresolver.XMLCatalogPlugin;
-
-
-public class CommonAddNamespacesDialog extends Dialog {
-	protected CommonAddNamespacesControl addNamespacesControl;
-	protected List existingNamespaces;
-	protected List namespaceInfoList;
-	protected Button okButton;
-	protected HashMap preferredPrefixTable = new HashMap();
-	protected IPath resourceLocation;
-	protected String title;
-
-	public CommonAddNamespacesDialog(Shell parentShell, String title, IPath resourceLocation, List existingNamespaces) {
-		super(parentShell);
-		this.resourceLocation = resourceLocation;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.title = title;
-		this.existingNamespaces = existingNamespaces;
-		preferredPrefixTable.put("http://schemas.xmlsoap.org/wsdl/", "wsdl"); //$NON-NLS-1$ //$NON-NLS-2$
-		preferredPrefixTable.put("http://schemas.xmlsoap.org/wsdl/soap/", "soap"); //$NON-NLS-1$ //$NON-NLS-2$
-		preferredPrefixTable.put("http://schemas.xmlsoap.org/wsdl/http/", "http"); //$NON-NLS-1$ //$NON-NLS-2$
-		preferredPrefixTable.put("http://schemas.xmlsoap.org/wsdl/mime/", "mime"); //$NON-NLS-1$ //$NON-NLS-2$
-		preferredPrefixTable.put("http://schemas.xmlsoap.org/soap/encoding/", "soapenc"); //$NON-NLS-1$ //$NON-NLS-2$
-		preferredPrefixTable.put("http://schemas.xmlsoap.org/soap/envelope/", "soapenv"); //$NON-NLS-1$ //$NON-NLS-2$
-		preferredPrefixTable.put("http://www.w3.org/2001/XMLSchema-instance", "xsi"); //$NON-NLS-1$ //$NON-NLS-2$
-		preferredPrefixTable.put("http://www.w3.org/2001/XMLSchema", "xsd"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	protected void addBuiltInNamespaces(List list) {
-		String xsiNamespace = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
-		String xsdNamespace = "http://www.w3.org/2001/XMLSchema"; //$NON-NLS-1$
-		if (!isAlreadyDeclared(xsiNamespace)) {
-			list.add(new NamespaceInfo("http://www.w3.org/2001/XMLSchema-instance", "xsi", null)); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (!isAlreadyDeclared(xsdNamespace)) {
-			list.add(new NamespaceInfo("http://www.w3.org/2001/XMLSchema", "xsd", null)); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	protected void addCatalogMapToList(XMLCatalog catalog, List list) {
-		for (Iterator i = catalog.getEntries().iterator(); i.hasNext();) {
-			XMLCatalogEntry entry = (XMLCatalogEntry) i.next();
-			if (entry.getType() == XMLCatalogEntry.PUBLIC && entry.getURI().endsWith(".xsd")) { //$NON-NLS-1$
-				if (!isAlreadyDeclared(entry.getKey())) {
-					NamespaceInfo namespaceInfo = new NamespaceInfo(entry.getKey(), "xx", null); //$NON-NLS-1$
-					list.add(namespaceInfo);
-				}
-			}
-		}
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			namespaceInfoList = addNamespacesControl.getNamespaceInfoList();
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	public void computeAddablePrefixes(List addableList, List exisitingList) {
-		HashMap map = new HashMap();
-		for (Iterator i = exisitingList.iterator(); i.hasNext();) {
-			NamespaceInfo info = (NamespaceInfo) i.next();
-			if (info.prefix != null) {
-				map.put(info.prefix, info);
-			}
-		}
-		for (Iterator i = addableList.iterator(); i.hasNext();) {
-			NamespaceInfo info = (NamespaceInfo) i.next();
-			if (info.uri != null) {
-				String prefix = (String) preferredPrefixTable.get(info.uri);
-				info.prefix = getUniquePrefix(map, prefix, info.uri);
-				map.put(info.prefix, info);
-			}
-		}
-	}
-
-	public int createAndOpen() {
-		create();
-		getShell().setText(title);
-		Rectangle r = getShell().getBounds();
-		getShell().setBounds(r.x + 80, r.y + 80, r.width, r.height);
-		setBlockOnOpen(true);
-		return open();
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	protected Control createContents(Composite parent) {
-		Control control = super.createContents(parent);
-		return control;
-	}
-
-
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-		addNamespacesControl = new CommonAddNamespacesControl(dialogArea, SWT.NONE, resourceLocation);
-		List list = new ArrayList();
-
-		addBuiltInNamespaces(list);
-		XMLCatalog catalog = XMLCatalogPlugin.getInstance().getDefaultXMLCatalog();
-		addCatalogMapToList(catalog.getChildCatalog(XMLCatalog.USER_CATALOG_ID), list);
-		addCatalogMapToList(catalog.getChildCatalog(XMLCatalog.SYSTEM_CATALOG_ID), list);
-
-		computeAddablePrefixes(list, existingNamespaces);
-
-		addNamespacesControl.setNamespaceInfoList(list);
-		return dialogArea;
-	}
-
-	public List getNamespaceInfoList() {
-		return namespaceInfoList;
-	}
-
-	protected String getPreferredPrefix(String namespaceURI) {
-		return (String) preferredPrefixTable.get(namespaceURI);
-	}
-
-	private String getUniquePrefix(HashMap prefixMap, String prefix, String uri) {
-		if (prefix == null) {
-			int lastIndex = uri.lastIndexOf('/');
-			if (lastIndex == uri.length() - 1) {
-				uri = uri.substring(0, lastIndex);
-				lastIndex = uri.lastIndexOf('/');
-			}
-			prefix = uri.substring(lastIndex + 1);
-			if (prefix.length() > 20 || prefix.indexOf(':') != -1) {
-				prefix = null;
-			}
-		}
-		if (prefix == null) {
-			prefix = "p"; //$NON-NLS-1$
-		}
-		if (prefixMap.get(prefix) != null) {
-			String base = prefix;
-			for (int count = 0; prefixMap.get(prefix) != null; count++) {
-				prefix = base + count;
-			}
-		}
-		return prefix;
-	}
-
-	protected boolean isAlreadyDeclared(String namespaceURI) {
-		boolean result = false;
-		for (Iterator i = existingNamespaces.iterator(); i.hasNext();) {
-			NamespaceInfo namespaceInfo = (NamespaceInfo) i.next();
-			if (namespaceURI.equals(namespaceInfo.uri)) {
-				result = true;
-				break;
-			}
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonEditNamespacesDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonEditNamespacesDialog.java
deleted file mode 100644
index 2ff3ee2..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonEditNamespacesDialog.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.nsedit;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.ui.dialogs.EditNamespaceInfoDialog;
-import org.eclipse.wst.xml.ui.dialogs.NamespaceInfoErrorHelper;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-public class CommonEditNamespacesDialog {
-	protected Composite commonComposite;
-	protected Button deleteButton;
-	protected Button editButton;
-
-	protected Label errorMessageLabel;
-	protected int heightHint = 250;
-	protected List namespaceInfoList = new ArrayList();
-
-	protected Button newButton;
-	protected IPath resourceLocation;
-
-	private boolean showLocationText = false;
-	protected String tableLabel = ""; //$NON-NLS-1$
-	protected CommonNamespaceInfoTable tableViewer;
-
-	protected Composite topComposite;
-	protected boolean useGroup;
-	protected int widthHint = 500;
-
-	public CommonEditNamespacesDialog(Composite parent, IPath resourceLocation, String stringTableLabel) {
-		this(parent, resourceLocation, stringTableLabel, false, false);
-	}
-
-	public CommonEditNamespacesDialog(Composite parent, IPath resourceLocation, String stringTableLabel, boolean useGroup, boolean showLocText) {
-		this.resourceLocation = resourceLocation;
-		tableLabel = stringTableLabel;
-		this.useGroup = useGroup;
-		showLocationText = showLocText;
-
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		if (widthHint != -1) {
-			gd.widthHint = widthHint;
-		}
-		if (heightHint != -1) {
-			gd.heightHint = heightHint;
-		}
-
-		// Set GridData and GridLayout for the parent Composite
-		parent.setLayoutData(gd);
-		parent.setLayout(new GridLayout());
-
-		// Create the top Composite
-		topComposite = new Composite(parent, SWT.NONE);
-		GridData topData = new GridData(GridData.FILL_HORIZONTAL);
-		topData.heightHint = 0;
-		topComposite.setLayoutData(topData);
-		topComposite.setLayout(new GridLayout());
-
-		// Create the 'common'/middle Composite
-		if (useGroup) {
-			commonComposite = new Group(parent, SWT.NONE);
-		} else {
-			commonComposite = new Composite(parent, SWT.NONE);
-		}
-		commonComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		commonComposite.setLayout(new GridLayout(3, false));
-
-		// Add the error Message Label
-		errorMessageLabel = new Label(parent, SWT.NONE);
-		errorMessageLabel.setLayoutData(createHorizontalFill());
-		Color color = new Color(errorMessageLabel.getDisplay(), 200, 0, 0);
-		errorMessageLabel.setForeground(color);
-
-		createControlArea();
-	}
-
-
-	protected void createButtons(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 1;
-		gridLayout.marginHeight = 0;
-		gridLayout.marginWidth = 0;
-		composite.setLayout(gridLayout);
-
-		SelectionListener selectionListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (e.widget == newButton) {
-					performNew();
-				} else if (e.widget == editButton) {
-					performEdit();
-				} else if (e.widget == deleteButton) {
-					performDelete();
-				}
-			}
-		};
-
-		// create a composite to hold the three buttons
-		Composite buttonComposite = new Composite(composite, SWT.NONE);
-		buttonComposite.setLayoutData(createHorizontalFill());
-		GridLayout buttonGridLayout = new GridLayout();
-		//buttonGridLayout.numColumns = 3;
-		//buttonGridLayout.makeColumnsEqualWidth = true;
-		buttonComposite.setLayout(buttonGridLayout);
-
-		// add the New button
-		//
-		newButton = new Button(buttonComposite, SWT.NONE);
-		//newButton.setText(" " +
-		// XMLCommonUIPlugin.getInstance().getString("_UI_BUTTON_NEW") + " ");
-		newButton.setText("   " + XMLUIPlugin.getResourceString("%CommonEditNamespacesDialog.0") + "   "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		newButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); //ViewUtility.createHorizontalFill());
-		newButton.addSelectionListener(selectionListener);
-
-		// add the Edit button
-		//
-		//gd = new GridData();
-		//gd.horizontalAlignment = gd.FILL;
-		//gd.grabExcessHorizontalSpace = true;
-
-		editButton = new Button(buttonComposite, SWT.NONE);
-		editButton.setText(XMLUIPlugin.getResourceString("%_UI_BUTTON_EDIT")); //$NON-NLS-1$
-		editButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); //ViewUtility.createHorizontalFill());
-		editButton.addSelectionListener(selectionListener);
-
-		// add the Delete button
-		//
-		//gd = new GridData();
-		//gd.horizontalAlignment = gd.FILL;
-		//gd.grabExcessHorizontalSpace = true;
-
-		deleteButton = new Button(buttonComposite, SWT.NONE);
-		deleteButton.setText(XMLUIPlugin.getResourceString("%_UI_BUTTON_DELETE")); //$NON-NLS-1$
-		deleteButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); //ViewUtility.createHorizontalFill());
-		deleteButton.addSelectionListener(selectionListener);
-	}
-
-	private void createControlArea() {
-		if (useGroup) {
-			((Group) commonComposite).setText(tableLabel);
-		} else {
-			Label label = new Label(commonComposite, SWT.NONE);
-			label.setText(tableLabel);
-			label.setLayoutData(createGridData(false, 3));
-		}
-
-		tableViewer = new CommonNamespaceInfoTable(commonComposite, 6, showLocationText);
-		tableViewer.getControl().setLayoutData(createGridData(true, 2));
-		createButtons(commonComposite);
-
-		tableViewer.setInput(namespaceInfoList);
-		updateButtonEnabledState();
-		ISelectionChangedListener selectionChangedListener = new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateButtonEnabledState();
-			}
-		};
-		tableViewer.addSelectionChangedListener(selectionChangedListener);
-	}
-
-	protected GridData createGridData(boolean both, int span) {
-		GridData gd = new GridData(both ? GridData.FILL_BOTH : GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		return gd;
-	}
-
-	private GridData createHorizontalFill() {
-		GridData gd = new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.grabExcessHorizontalSpace = true;
-		return gd;
-	}
-
-
-
-	public NamespaceInfo getNamespaceInfo(String namespace) {
-		NamespaceInfo result = null;
-		for (Iterator i = namespaceInfoList.iterator(); i.hasNext();) {
-			NamespaceInfo info = (NamespaceInfo) i.next();
-			if (info.uri != null && info.uri.equals(namespace)) {
-				result = info;
-				break;
-			}
-		}
-		return result;
-	}
-
-	protected Object getSelection(ISelection selection) {
-		if (selection == null) {
-			return null;
-		} // end of if ()
-
-		Object result = null;
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection es = (IStructuredSelection) selection;
-			Iterator i = es.iterator();
-			if (i.hasNext()) {
-				result = i.next();
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * Use the returned Composite to add content above the 'common contents'.
-	 * Note: The GridData for the returned Composite has a heightHint = 0.
-	 * This means when using the returned Composite, the GridData must be
-	 * reset, else the Composite and it's contents will not appear.
-	 */
-	protected Composite getTopComposite() {
-		return topComposite;
-	}
-
-	protected EditNamespaceInfoDialog invokeDialog(String title, NamespaceInfo info) {
-		Shell shell = XMLUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		EditNamespaceInfoDialog dialog = new EditNamespaceInfoDialog(shell, info);
-		dialog.create();
-		dialog.getShell().setText(title);
-		dialog.setBlockOnOpen(true);
-		dialog.setResourceLocation(resourceLocation);
-		dialog.open();
-		return dialog;
-	}
-
-	protected void performDelayedUpdate() {
-		tableViewer.refresh();
-		/*
-		 * Runnable delayedUpdate = new Runnable() { public void run() {
-		 * tableViewer.refresh(); } };
-		 * Display.getCurrent().asyncExec(delayedUpdate);
-		 */
-		//if (updateListener != null)
-		//{
-		//  updateListener.updateOccured(this, namespaceInfoList);
-		//}
-	}
-
-	public void performDelete() {
-		ISelection selection = tableViewer.getSelection();
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-			namespaceInfoList.removeAll(structuredSelection.toList());
-			updateErrorMessage(namespaceInfoList);
-			performDelayedUpdate();
-		}
-	}
-
-	public void performEdit() {
-		Object selection = getSelection(tableViewer.getSelection());
-		if (selection != null) {
-			EditNamespaceInfoDialog dialog = invokeDialog(XMLUIPlugin.getResourceString("%_UI_LABEL_NEW_NAMESPACE_INFORMATION"), (NamespaceInfo) selection); //$NON-NLS-1$
-			updateErrorMessage(namespaceInfoList);
-			performDelayedUpdate();
-		}
-	}
-
-	public void performNew() {
-		Shell shell = XMLUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		CommonAddNamespacesDialog dialog = new CommonAddNamespacesDialog(shell, XMLUIPlugin.getResourceString("%_UI_ADD_NAMESPACE_DECLARATIONS"), resourceLocation, namespaceInfoList); //$NON-NLS-1$
-		dialog.createAndOpen();
-		if (dialog.getReturnCode() == Window.OK) {
-			namespaceInfoList.addAll(dialog.getNamespaceInfoList());
-			updateErrorMessage(namespaceInfoList);
-			performDelayedUpdate();
-		}
-	}
-
-	public void setNamespaceInfoList(List list) {
-		namespaceInfoList = list;
-		tableViewer.setInput(namespaceInfoList);
-	}
-
-	public void updateButtonEnabledState() {
-		Object selection = getSelection(tableViewer.getSelection());
-		NamespaceInfo info = (NamespaceInfo) selection;
-		editButton.setEnabled(info != null);
-		deleteButton.setEnabled(info != null && info.getProperty("unremovable") == null); //$NON-NLS-1$
-	}
-
-	public void updateErrorMessage(List namespaceInfoList) {
-		NamespaceInfoErrorHelper helper = new NamespaceInfoErrorHelper();
-		String errorMessage = helper.computeErrorMessage(namespaceInfoList, null);
-		errorMessageLabel.setText(errorMessage != null ? errorMessage : ""); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonEditNamespacesTargetFieldDialog.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonEditNamespacesTargetFieldDialog.java
deleted file mode 100644
index fb2506d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonEditNamespacesTargetFieldDialog.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.nsedit;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.ui.dialogs.EditNamespaceInfoDialog;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/*
- * This class is an extension of CommonEditNamespacesDialog. This class adds
- * the target namespaces dialog field.
- */
-public class CommonEditNamespacesTargetFieldDialog extends CommonEditNamespacesDialog {
-
-	class TargetNamespaceModifyListener implements ModifyListener {
-		public void modifyText(ModifyEvent e) {
-			String oldTargetNamespace = targetNamespace;
-			targetNamespace = targetNamespaceField.getText();
-			updateTargetNamespaceAndNamespaceInfo(oldTargetNamespace, targetNamespace);
-		}
-	}
-
-	protected String targetNamespace;
-	protected Text targetNamespaceField;
-
-	public CommonEditNamespacesTargetFieldDialog(Composite parent, IPath resourceLocation) {
-		super(parent, resourceLocation, XMLUIPlugin.getResourceString("%_UI_NAMESPACE_DECLARATIONS")); //$NON-NLS-1$
-
-		Composite targetComp = getTopComposite();
-		targetComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		Label targetNamespaceLabel = new Label(targetComp, SWT.NONE);
-		targetNamespaceLabel.setLayoutData(gd);
-		targetNamespaceLabel.setText(XMLUIPlugin.getResourceString("%_UI_TARGET_NAMESPACE")); //$NON-NLS-1$
-
-		targetNamespaceField = new Text(targetComp, SWT.BORDER);
-		targetNamespaceField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		targetNamespaceField.addModifyListener(new TargetNamespaceModifyListener());
-
-		//		createControlArea();
-	}
-
-	public String getTargetNamespace() {
-		return targetNamespace;
-	}
-
-	public void performEdit() {
-		Object selection = getSelection(tableViewer.getSelection());
-		if (selection != null) {
-			boolean editTargetNamespace = false;
-			NamespaceInfo nsInfo = (NamespaceInfo) selection;
-			if (getTargetNamespace().equals(nsInfo.uri)) {
-				editTargetNamespace = true;
-			}
-
-			EditNamespaceInfoDialog dialog = invokeDialog(XMLUIPlugin.getResourceString("%_UI_LABEL_NEW_NAMESPACE_INFORMATION"), nsInfo); //$NON-NLS-1$
-			updateErrorMessage(namespaceInfoList);
-			performDelayedUpdate();
-
-			if (editTargetNamespace) {
-				targetNamespaceField.setText(nsInfo.uri);
-			}
-		}
-	}
-
-	public void setTargetNamespace(String theTargetNamespace) {
-		targetNamespace = theTargetNamespace != null ? theTargetNamespace : ""; //$NON-NLS-1$
-		targetNamespaceField.setText(targetNamespace);
-		//updateTargetNamespaceAndNamespaceInfo(targetNamespace);
-	}
-
-	private void updateTargetNamespaceAndNamespaceInfo(String oldTargetNamespace, String newTargetNamespace) {
-		NamespaceInfo info = getNamespaceInfo(newTargetNamespace);
-		if (info == null) {
-			info = getNamespaceInfo(oldTargetNamespace);
-			if (info == null) {
-				info = new NamespaceInfo(newTargetNamespace, "tns", null); //$NON-NLS-1$
-				namespaceInfoList.add(info);
-			} else {
-				info.uri = targetNamespace;
-			}
-		}
-		tableViewer.refresh();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonNamespaceInfoTable.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonNamespaceInfoTable.java
deleted file mode 100644
index 7da1d32..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonNamespaceInfoTable.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.nsedit;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-public class CommonNamespaceInfoTable extends TableViewer {
-
-	/**
-	 * NamespaceInfoTableLabelProvider
-	 */
-	protected class Provider extends LabelProvider implements ITableLabelProvider, IStructuredContentProvider {
-		Viewer viewer;
-
-		public Image getColumnImage(Object object, int columnIndex) {
-			Image result = null;
-			int columnCode = getColumnCode(columnIndex);
-			if (columnCode == COLUMN_LOCATION_HINT) {
-				NamespaceInfo info = (NamespaceInfo) object;
-				if (info.locationHint == null || info.locationHint.trim().equals("")) { //$NON-NLS-1$
-					// Comment this out until we solve the alignment/(space
-					// for image being allocated
-					// to prefix column) ......
-					//          result =
-					// XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_WARNING_OBJ);
-				}
-			}
-
-			return result;
-		}
-
-		public String getColumnText(Object object, int column) {
-			NamespaceInfo info = (NamespaceInfo) object;
-			String result = null;
-			int columnCode = getColumnCode(column);
-			switch (columnCode) {
-				case COLUMN_PREFIX : {
-					result = info.prefix;
-					break;
-				}
-				case COLUMN_NAMESPACE_URI : {
-					result = info.uri;
-					break;
-				}
-				case COLUMN_CHECKBOX : {
-					result = ""; //info.locationHint; //$NON-NLS-1$
-					break;
-				}
-				case COLUMN_LOCATION_HINT : {
-					result = info.locationHint;
-					break;
-				}
-			}
-			result = result != null ? result : ""; //$NON-NLS-1$
-			if (result.equals("")) { //$NON-NLS-1$
-				switch (columnCode) {
-					case COLUMN_PREFIX : {
-						result = XMLUIPlugin.getResourceString("%_UI_NO_PREFIX"); //$NON-NLS-1$
-						break;
-					}
-					case COLUMN_NAMESPACE_URI : {
-						result = XMLUIPlugin.getResourceString("%_UI_NO_NAMESPACE_NAME"); //$NON-NLS-1$
-						break;
-					}
-				}
-			}
-			return result;
-		}
-
-		public Object[] getElements(Object inputElement) {
-			List list = (List) viewer.getInput();
-			return list != null ? list.toArray() : null;
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			this.viewer = viewer;
-		}
-	}
-
-	class TableItemChecker extends MouseAdapter {
-		public void mouseDown(MouseEvent e) {
-			TableItem item = getTable().getItem(new Point(e.x, e.y));
-			if (item != null) {
-				Object obj = item.getData();
-				if (obj != null) {
-					NamespaceInfo info = (NamespaceInfo) obj;
-					TableColumn col = getTable().getColumn(0);
-					if (e.x < col.getWidth()) // if the point falls within the
-					// Select column then perform
-					// check/uncheck
-					{
-						String currentState = (String) info.getProperty("checked"); //$NON-NLS-1$
-						System.out.println("currentState" + currentState); //$NON-NLS-1$
-						if (currentState == null || currentState.equals("false")) //$NON-NLS-1$
-						{
-							info.setProperty("checked", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-						} else {
-							info.setProperty("checked", "false"); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-						refresh();
-					}
-				}
-			}
-		}
-	}
-
-	protected static final int COLUMN_CHECKBOX = 1;
-	protected static final int COLUMN_LOCATION_HINT = 4;
-	protected static final int COLUMN_NAMESPACE_URI = 2;
-	protected static final int COLUMN_PREFIX = 3;
-
-	protected static final String LABEL_CHECKBOX = ""; //$NON-NLS-1$
-	protected static final String LABEL_LOCATION_HINT = XMLUIPlugin.getResourceString("%_UI_LABEL_LOCATION_HINT"); //$NON-NLS-1$
-	protected static final String LABEL_NAMESPACE_URI = XMLUIPlugin.getResourceString("%_UI_LABEL_NAMESPACE_NAME"); //$NON-NLS-1$
-	protected static final String LABEL_PREFIX = XMLUIPlugin.getResourceString("%_UI_LABEL_PREFIX"); //$NON-NLS-1$
-	protected List checkedList = new ArrayList();
-
-	//protected List namespaceInfoList = new ArrayList();
-	protected int[] columnIndexMap;
-	protected boolean showCheckBoxes = true;
-	private boolean showLocationText = false;
-
-	private Table table;
-	protected int visibleRows = -1;
-
-	public CommonNamespaceInfoTable(Composite parent, int visibleRows) {
-		this(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER, visibleRows, false);
-	}
-
-	//protected CellEditor getCellEditor(int column)
-	// {
-	//  return (column == COLUMN_CHECKBOX) ? checkBoxCellEditor :
-	// textCellEditor;
-	// }
-
-	public CommonNamespaceInfoTable(Composite parent, int visibleRows, boolean showLocationText) {
-		this(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER, visibleRows, showLocationText);
-	}
-
-	public CommonNamespaceInfoTable(Composite parent, int style, int visibleRows) {
-		this(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER | style, visibleRows, false);
-	}
-
-	public CommonNamespaceInfoTable(Composite parent, int style, int visibleRows, boolean showLocationText) {
-		super(new Table(parent, style));
-		getTable().setLinesVisible(true);
-		this.showCheckBoxes = (style & SWT.CHECK) != 0;
-		columnIndexMap = createColumnIndexMap();
-		this.showLocationText = showLocationText;
-
-		Provider provider = new Provider();
-		setContentProvider(provider);
-		setLabelProvider(provider);
-
-		String[] columnPropertiesArray = createColumnPropertiesArray();
-		setColumnProperties(columnPropertiesArray);
-
-		table = getTable();
-		table.setHeaderVisible(true);
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		TableLayout layout = new TableLayout();
-
-		for (int i = 0; i < columnPropertiesArray.length; i++) {
-			TableColumn column = new TableColumn(table, i);
-			if ((columnPropertiesArray[i]).equals(LABEL_LOCATION_HINT)) {
-				if (showLocationText) {
-					column.setText(columnPropertiesArray[i]);
-				} else {
-					// Comment this out until we solve the alignment/(space
-					// for image being allocated
-					// to prefix column) ......
-					//          	column.setImage(XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TXTEXT));
-				}
-			} else {
-				column.setText(columnPropertiesArray[i]);
-			}
-			column.setAlignment(SWT.LEFT);
-			layout.addColumnData(new ColumnWeightData(getColumnWidth(i), true));
-		}
-		table.setLayout(layout);
-
-		this.visibleRows = visibleRows;
-		//for (int i = 0; i < visibleRows; i++)
-		// {
-		//  TableItem item = new TableItem(table, SWT.NONE);
-		//  item.setText("#######");
-		//}
-		//checkBoxCellEditor = new NamespaceInfoCheckboxCellEditor(table);
-		//textCellEditor = new TextCellEditor(table);
-
-		/*
-		 * CellEditor[] cellEditors = new
-		 * CellEditor[columnPropertiesArray.length]; for (int i = 0; i <
-		 * columnPropertiesArray.length; i++) { cellEditors[i] =
-		 * getCellEditor(i); } setCellEditors(cellEditors);
-		 */
-		//if (showCheckBoxes)
-		//{
-		//  getTable().addMouseListener(new TableItemChecker());
-		//}
-	}
-
-	//protected CellEditor checkBoxCellEditor;
-	//protected CellEditor textCellEditor;
-
-	protected int[] createColumnIndexMap() {
-		int[] result = new int[showCheckBoxes ? 4 : 3];
-		int i = 0;
-		if (showCheckBoxes) {
-			result[i++] = COLUMN_CHECKBOX;
-		}
-		result[i++] = COLUMN_PREFIX;
-		result[i++] = COLUMN_NAMESPACE_URI;
-		if (!showCheckBoxes) {
-			result[i++] = COLUMN_LOCATION_HINT;
-		}
-		return result;
-	}
-
-	protected String[] createColumnPropertiesArray() {
-		String[] result = new String[3];
-		int i = 0;
-		if (showCheckBoxes) {
-			result[i++] = LABEL_CHECKBOX;
-		}
-		result[i++] = LABEL_PREFIX;
-		result[i++] = LABEL_NAMESPACE_URI;
-		if (!showCheckBoxes) {
-			result[i++] = LABEL_LOCATION_HINT;
-		}
-		return result;
-	}
-
-	protected int getColumnCode(int column) {
-		int result = 0;
-		if (column < columnIndexMap.length) {
-			result = columnIndexMap[column];
-		}
-		return result;
-	}
-
-	protected int getColumnWidth(int column) {
-		int result = 0;
-		switch (getColumnCode(column)) {
-			case COLUMN_PREFIX : {
-				result = 5;
-				break;
-			}
-			case COLUMN_NAMESPACE_URI : {
-				// Size columns differently when location hint text label is
-				// displayed
-				if (showLocationText) {
-					result = 10;
-				} else {
-					result = 20;
-				}
-				break;
-			}
-			case COLUMN_CHECKBOX : {
-				result = 1; //info.locationHint;
-				break;
-			}
-			case COLUMN_LOCATION_HINT : {
-				// Size columns differently when location hint text label is
-				// displayed
-				if (showLocationText) {
-					result = 10;
-				} else {
-					result = 2;
-				}
-				break;
-			}
-		}
-		return result;
-	}
-	/*
-	 * protected class NamespaceInfoCellModifier implements ICellModifier {
-	 * public NamespaceInfoCellModifier() { }
-	 * 
-	 * public boolean canModify(Object element, String property) { if
-	 * (property.equals(LABEL_CHECKBOX)) { return true; } else if
-	 * (property.equals(LABEL_PREFIX)) { return true; } return false; }
-	 * 
-	 * public Object getValue(Object element, String property) { int column =
-	 * 0; if (property.equals(LABEL_CHECKBOX)) { column = 0; } else if
-	 * (property.equals(LABEL_PREFIX)) { column = 1; } else if
-	 * (property.equals(LABEL_NAMESPACE_URI)) { column = 2; }
-	 * 
-	 * //if (element instanceof TableElement) //{ // return
-	 * provider.getColumnText(element, column); //} //else //{ // return null; // }
-	 * return "hello"; }
-	 * 
-	 * public void modify(Object element, String property, Object value) { } }
-	 * 
-	 * protected class NamespaceInfoCheckboxCellEditor extends
-	 * CheckboxCellEditor implements MouseListener { public
-	 * NamespaceInfoCheckboxCellEditor(Composite parent) { super(parent); }
-	 * 
-	 * protected void doSetValue(Object value) { }
-	 * 
-	 * public void activate() { super.activate(); deactivate();
-	 * Display.getCurrent().getFocusControl().redraw(); }
-	 * 
-	 * public void mouseDown(MouseEvent e) { if (getTable().getItem(new
-	 * Point(e.x, e.y)) != null) { } } public void mouseDoubleClick(MouseEvent
-	 * e) { } public void mouseUp(MouseEvent e) { } }
-	 */
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/openon/DefaultOpenOnXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/openon/DefaultOpenOnXML.java
deleted file mode 100644
index 50fdeb3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/openon/DefaultOpenOnXML.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.openon;
-
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.wst.common.uriresolver.URIResolverPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.openon.AbstractOpenOn;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-
-/**
- * This action class retrieves the link/file selected by the cursor and
- * attempts to open the link/file in the default editor or web browser
- * 
- * @deprecated Use base support for hyperlink navigation
- */
-public class DefaultOpenOnXML extends AbstractOpenOn {
-	private final String NO_NAMESPACE_SCHEMA_LOCATION = "noNamespaceSchemaLocation"; //$NON-NLS-1$
-	private final String SCHEMA_LOCATION = "schemaLocation"; //$NON-NLS-1$
-	private final String XMLNS = "xmlns"; //$NON-NLS-1$
-	private final String XSI_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema-instance"; //$NON-NLS-1$
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.AbstractOpenOn#doGetOpenOnRegion(int)
-	 */
-	protected IRegion doGetOpenOnRegion(int offset) {
-		// find the element for this node
-		Node currNode = getCurrentNode(offset);
-		if (currNode != null) {
-			// handle doc type node
-			if (currNode.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-				XMLNode docNode = (XMLNode) currNode;
-				return new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
-			}
-
-			Attr linkableAtt = getLinkableAttrFromNode(currNode, offset);
-			// found attribute to open on
-			if (linkableAtt != null) {
-				XMLAttr att = (XMLAttr) linkableAtt;
-				// do not include quotes in attribute value region
-				int regOffset = att.getValueRegionStartOffset();
-				int regLength = att.getValueRegion().getTextLength();
-				String attValue = att.getValueRegionText();
-				if (StringUtils.isQuoted(attValue)) {
-					regOffset = ++regOffset;
-					regLength = regLength - 2;
-				}
-				return new Region(regOffset, regLength);
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.AbstractOpenOn#doOpenOn(org.eclipse.jface.text.IRegion)
-	 */
-	protected void doOpenOn(IRegion region) {
-		String uriString = getURIString(region.getOffset());
-		openFileInEditor(uriString);
-	}
-
-	/**
-	 * Get the base location from the current model
-	 * 
-	 */
-	protected String getBaseLocation() {
-		String baseLoc = null;
-
-		// get the base location from the current model
-		IStructuredModel sModel = null;
-		try {
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-			if (sModel != null) {
-				IPath location = new Path(sModel.getBaseLocation());
-				if (location.toFile().exists()) {
-					baseLoc = location.toString();
-				}
-				else {
-					baseLoc = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(sModel.getBaseLocation()).toString();
-				}
-			}
-		}
-		finally {
-			if (sModel != null) {
-				sModel.releaseFromRead();
-			}
-		}
-		return baseLoc;
-	}
-
-	/**
-	 * Returns the attribute node within node at offset
-	 * 
-	 * @param node
-	 * @param offset
-	 * @return Node
-	 */
-	private Node getCurrentAttrNode(Node node, int offset) {
-		if ((node instanceof IndexedRegion) && ((IndexedRegion) node).contains(offset) && (node.hasAttributes())) {
-			NamedNodeMap attrs = node.getAttributes();
-			// go through each attribute in node and if attribute contains
-			// offset, return that attribute
-			for (int i = 0; i < attrs.getLength(); ++i) {
-				// assumption that if parent node is of type IndexedRegion,
-				// then its attributes will also be of type IndexedRegion
-				IndexedRegion attRegion = (IndexedRegion) attrs.item(i);
-				if (attRegion.contains(offset)) {
-					return attrs.item(i);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the node the cursor is currently on in the document. null if no
-	 * node is selected
-	 * 
-	 * @param offset
-	 * @return Node
-	 */
-	protected Node getCurrentNode(int offset) {
-		// get the current node at the offset (returns element, doctype, text)
-		IndexedRegion inode = null;
-		IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-		inode = sModel.getIndexedRegion(offset);
-		if (inode == null)
-			inode = sModel.getIndexedRegion(offset - 1);
-		sModel.releaseFromRead();
-
-		if (inode instanceof Node) {
-			return (Node) inode;
-		}
-		return null;
-	}
-
-	/**
-	 * Return an attr of element that is "openOn-able" if one exists. null
-	 * otherwise
-	 * 
-	 * @param element -
-	 *            cannot be null
-	 * @return Attr attribute that can be used for open on, null if no
-	 *         attribute could be found
-	 */
-	protected Attr getLinkableAttr(Element element) {
-		ModelQuery mq = ModelQueryUtil.getModelQuery(element.getOwnerDocument());
-		if (mq != null) {
-			// get the list of attributes for this node
-			NamedNodeMap attrs = element.getAttributes();
-			for (int i = 0; i < attrs.getLength(); ++i) {
-				// check if this attribute is "openOn-able"
-				Attr att = (Attr) attrs.item(i);
-				if (isLinkableAttr(att, mq)) {
-					return att;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Return an attr of element that is "openOn-able" if one exists. null
-	 * otherwise
-	 * 
-	 * @param node -
-	 *            cannot be null
-	 * @return Attr attribute that can be used for open on, null if no
-	 *         attribute could be found
-	 */
-	protected Attr getLinkableAttrFromNode(Node node, int offset) {
-		// check to see if we're already on an attribute we can work with
-		Attr currentAtt = null;
-		if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			currentAtt = (Attr) node;
-		}
-		else {
-			Node attN = getCurrentAttrNode(node, offset);
-			if (attN != null)
-				currentAtt = (Attr) attN;
-		}
-		if ((currentAtt != null) && isLinkableAttr(currentAtt, null)) {
-			return currentAtt;
-		}
-
-		// now check the whole element tag and see if there's an attribute we
-		// can work with
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			// find an attribute that is "openOn-able"
-			return getLinkableAttr((Element) node);
-		}
-		return null;
-	}
-
-	/**
-	 * Find the location hint for the given namespaceURI if it exists
-	 * 
-	 * @param elementNode -
-	 *            cannot be null
-	 * @param namespaceURI -
-	 *            cannot be null
-	 * @return location hint (systemId) if it was found, null otherwise
-	 */
-	private String getLocationHint(Element elementNode, String namespaceURI) {
-		Attr schemaLocNode = elementNode.getAttributeNodeNS(XSI_NAMESPACE_URI, SCHEMA_LOCATION);
-		if (schemaLocNode != null) {
-			StringTokenizer st = new StringTokenizer(schemaLocNode.getValue());
-			while (st.hasMoreTokens()) {
-				String publicId = st.hasMoreTokens() ? st.nextToken() : null;
-				String systemId = st.hasMoreTokens() ? st.nextToken() : null;
-				// found location hint
-				if (namespaceURI.equalsIgnoreCase(publicId))
-					return systemId;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the URI string
-	 * 
-	 * @param offset
-	 */
-	protected String getURIString(int offset) {
-		Node currNode = getCurrentNode(offset);
-		if (currNode != null) {
-			// need the base location, publicId, and systemId for URIResolver
-			String baseLoc = null;
-			String publicId = null;
-			String systemId = null;
-
-			// handle doc type node
-			if (currNode.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-				baseLoc = getBaseLocation();
-				publicId = ((DocumentType) currNode).getPublicId();
-				systemId = ((DocumentType) currNode).getSystemId();
-			}
-			else { // handle all other types of nodes
-				Attr linkableAtt = getLinkableAttrFromNode(currNode, offset);
-				// found attribute to open on
-				if (linkableAtt != null) {
-					baseLoc = getBaseLocation();
-					String attrName = linkableAtt.getName();
-					String attrValue = linkableAtt.getValue();
-					attrValue = StringUtils.strip(attrValue);
-
-					// handle schemaLocation attribute
-					String prefix = DOMNamespaceHelper.getPrefix(attrName);
-					String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attrName);
-					if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName))) {
-						publicId = attrValue;
-						systemId = getLocationHint(linkableAtt.getOwnerElement(), publicId);
-					}
-					else if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(linkableAtt))) && (unprefixedName.equals("schemaLocation"))) { //$NON-NLS-1$
-						// for now just use the first pair
-						// need to look into being more precise
-						StringTokenizer st = new StringTokenizer(attrValue);
-						publicId = st.hasMoreTokens() ? st.nextToken() : null;
-						systemId = st.hasMoreTokens() ? st.nextToken() : null;
-						// else check if xmlns publicId = value
-					}
-					else {
-						systemId = attrValue;
-					}
-				}
-			}
-
-			String resolvedURI = resolveURI(baseLoc, publicId, systemId);
-			return resolvedURI;
-		}
-		return null;
-	}
-
-	/**
-	 * Checks to see if the given attribute is openOn-able. Attribute is
-	 * openOn-able if it is a namespace declaration attribute or if the
-	 * attribute value is of type URI.
-	 * 
-	 * @param attr
-	 *            cannot be null
-	 * @param query
-	 *            ModelQuery associated with the attribute (can be null)
-	 * @return true if this attribute is "openOn-able" false otherwise
-	 */
-	protected boolean isLinkableAttr(Attr attr, ModelQuery query) {
-		String prefix = DOMNamespaceHelper.getPrefix(attr.getName());
-		String unprefixedName = DOMNamespaceHelper.getUnprefixedName(attr.getName());
-		// determine if attribute is namespace declaration
-		if ((XMLNS.equals(prefix)) || (XMLNS.equals(unprefixedName)))
-			return true;
-
-		// determine if attribute contains schema location
-		if ((XSI_NAMESPACE_URI.equals(DOMNamespaceHelper.getNamespaceURI(attr))) && ((SCHEMA_LOCATION.equals(unprefixedName)) || (NO_NAMESPACE_SCHEMA_LOCATION.equals(unprefixedName))))
-			return true;
-
-		// determine if attribute value is of type URI
-		if (query != null) {
-			CMAttributeDeclaration attrDecl = query.getCMAttributeDeclaration(attr);
-			if ((attrDecl != null) && (attrDecl.getAttrType() != null) && (CMDataType.URI.equals(attrDecl.getAttrType().getDataTypeName()))) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Resolves the given URI information
-	 * 
-	 * @param baseLocation
-	 * @param publicId
-	 * @param systemId
-	 * @return String resolved uri.
-	 */
-	protected String resolveURI(String baseLocation, String publicId, String systemId) {
-		// dont resolve if there's nothing to resolve
-		if ((baseLocation == null) && (publicId == null) && (systemId == null))
-			return null;
-		return URIResolverPlugin.createResolver().resolve(baseLocation, publicId, systemId);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/EncodingSettings.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/EncodingSettings.java
deleted file mode 100644
index 0cd9607..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/EncodingSettings.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.preferences;
-
-import java.util.Vector;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.encoding.CommonCharsetNames;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/**
- * EncodingSettings is a composite that can be used to display the set of
- * encoding values that are available to the user. The list of encoding values
- * is based off the SupportedJavaEncoding class. As the user selects an
- * encoding from the combo box, the readonly field below it changes to show
- * the IANA tag for that particular encoding description. The labels for the
- * widgets are configurable and the initial value to display to the user can
- * be set using the setIANATag(). The currently selected entry's IANA tag can
- * be retrieved with getIANATag(). Entries displayed to the user can be added
- * and removed.
- */
-public class EncodingSettings extends Composite {
-
-	private class ComboListener implements ModifyListener {
-		public void modifyText(ModifyEvent e) {
-			int i = encodingCombo.getSelectionIndex();
-			if (i >= 0 && i < ianaVector.size())
-				ianaText.setText((String) (ianaVector.elementAt(encodingCombo.getSelectionIndex())));
-		}
-	}
-
-	private static String ENCODING_LABEL = XMLUIPlugin.getResourceString("%EncodingSettings.1"); //$NON-NLS-1$
-
-	private static String IANA_LABEL = XMLUIPlugin.getResourceString("%EncodingSettings.0"); //$NON-NLS-1$
-
-	private ModifyListener comboListener = new ComboListener();
-	protected Combo encodingCombo;
-	protected Label encodingLabel, ianaLabel;
-	protected Text ianaText;
-	protected Vector ianaVector;
-
-	/**
-	 * Method EncodingSettings.
-	 * 
-	 * @param parent
-	 */
-	public EncodingSettings(Composite parent) {
-		super(parent, SWT.NONE);
-		init(IANA_LABEL, ENCODING_LABEL);
-	}
-
-	/**
-	 * Method EncodingSettings.
-	 * 
-	 * @param parent
-	 * @param encodingLabel -
-	 *            text label to use beside the locale sensitive description of
-	 *            the currently selected encoding
-	 */
-	public EncodingSettings(Composite parent, String encodingLabel) {
-		super(parent, SWT.NONE);
-		init(IANA_LABEL, encodingLabel);
-	}
-
-	/**
-	 * Method EncodingSettings.
-	 * 
-	 * @param parent
-	 * @param ianaLabel =
-	 *            text label to use beside the display only IANA field
-	 * @param encodingLabel -
-	 *            text label to use beside the locale sensitive description of
-	 *            the currently selected encoding
-	 */
-	public EncodingSettings(Composite parent, String ianaLabel, String encodingLabel) {
-		super(parent, SWT.NONE);
-		init(ianaLabel, encodingLabel);
-	}
-
-	/**
-	 * Method addEntry. Add an entry to the end of the Encoding Combobox
-	 * 
-	 * @param description -
-	 *            encoding description to display
-	 * @param ianaTag -
-	 *            IANA tag for the description
-	 */
-	public void addEntry(String description, String ianaTag) {
-		encodingCombo.add(description);
-		ianaVector.add(ianaTag);
-	}
-
-	/**
-	 * Method addEntry. Add an entry to the Encoding Combobox at index index
-	 * 
-	 * @param description -
-	 *            encoding description to display
-	 * @param ianaTag -
-	 *            IANA tag for the description
-	 * @param index -
-	 *            index into the combo to add to
-	 */
-	public void addEntry(String description, String ianaTag, int index) {
-		if (index == ianaVector.size()) {
-			// just add to the end
-			addEntry(description, ianaTag);
-			return;
-		}
-
-		if (0 <= index && index < ianaVector.size()) {
-			encodingCombo.add(description, index);
-			ianaVector.add(index, ianaTag);
-		}
-	}
-
-	protected Combo createComboBox(Composite parent, boolean isReadOnly) {
-		int style = isReadOnly == true ? SWT.READ_ONLY : SWT.DROP_DOWN;
-
-		Combo combo = new Combo(parent, style);
-
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		combo.setLayoutData(data);
-		return combo;
-	}
-
-	/**
-	 * Helper method for creating labels.
-	 */
-	protected Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(text);
-
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		return label;
-	}
-
-	protected Text createTextField(Composite parent, int width) {
-		Text text = new Text(parent, SWT.SINGLE | SWT.READ_ONLY);
-
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		data.widthHint = width;
-		text.setLayoutData(data);
-
-		return text;
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Widget#dispose()
-	 */
-	public void dispose() {
-		encodingCombo.removeModifyListener(comboListener);
-		super.dispose();
-	}
-
-	private void fillCombo() {
-		try {
-			String[] ianaTags = CommonCharsetNames.getCommonCharsetNames();
-			int totalNum = ianaTags.length;
-			for (int i = 0; i < totalNum; i++) {
-				String iana = ianaTags[i];
-				String enc = CommonCharsetNames.getDisplayString(iana);
-
-				if (enc != null) {
-					encodingCombo.add(enc);
-				} else {
-					Logger.log(Logger.WARNING, "CommonCharsetNames.getDisplayString(" + iana + ") returned null"); //$NON-NLS-1$ //$NON-NLS-2$
-					encodingCombo.add(iana);
-				}
-				ianaVector.add(iana);
-			}
-		} catch (Exception e) {
-			//e.printStackTrace();
-			//MessageDialog.openError(getShell(), "Resource exception",
-			// "Unable to obtain encoding strings. Check resource file");
-			//XMLEncodingPlugin.getPlugin().getMsgLogger().write(e.toString());
-			//XMLEncodingPlugin.getPlugin().getMsgLogger().writeCurrentThread();
-			Logger.log(Logger.ERROR, "Exception", e); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * <code>getEncoding</code> Get the descriptive encoding name that was
-	 * selected.
-	 * 
-	 * @return a <code>String</code> value
-	 */
-	public String getEncoding() {
-		return encodingCombo.getText();
-	}
-
-	/**
-	 * Method getEncodingCombo. Returns the combo used to display the encoding
-	 * descriptions.
-	 * 
-	 * @return Combo
-	 */
-	public Combo getEncodingCombo() {
-		return encodingCombo;
-	}
-
-	/**
-	 * <code>getIANATag</code> Get the IANA tag equivalent of the selected
-	 * descriptive encoding name
-	 * 
-	 * @return a <code>String</code> value
-	 */
-	public String getIANATag() {
-		int i = encodingCombo.getSelectionIndex();
-		if (i >= 0) {
-			return (String) (ianaVector.elementAt(i));
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	protected void init(String ianaLabelStr, String encodingLabelStr) {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		setLayout(layout);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		setLayoutData(data);
-
-		encodingLabel = createLabel(this, encodingLabelStr);
-		encodingCombo = createComboBox(this, true);
-		ianaLabel = createLabel(this, ianaLabelStr);
-		ianaText = createTextField(this, 20);
-		ianaVector = new Vector();
-
-		fillCombo();
-		resetToDefaultEncoding();
-		encodingCombo.addModifyListener(comboListener);
-	}
-
-	/**
-	 * <code>isEncodingInList</code> Checks whether the encoding name is in
-	 * the combo
-	 * 
-	 * @param enc
-	 *            a <code>string</code> value. The encoding name.
-	 * @return a <code>boolean</code> value. TRUE if encoding is in list.
-	 *         FALSE if encoding is not in list.
-	 */
-	public boolean isEncodingInList(String enc) {
-		int i = encodingCombo.indexOf(enc);
-		if (i >= 0) {
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * <code>isIANATagInList</code> Checks whether the IANA tag is in the
-	 * combo
-	 * 
-	 * @param ianaTag
-	 *            a <code>string</code> value. The IANA tag.
-	 * @return a <code>boolean</code> value. TRUE if tag is in list. FALSE
-	 *         if tag is not in list.
-	 */
-	public boolean isIANATagInList(String ianaTag) {
-		int i = ianaVector.indexOf(ianaTag);
-		if (i >= 0) {
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Method removeEntry. Removes both the description and the IANA tag at
-	 * the specified index
-	 * 
-	 * @param index
-	 */
-	public void removeEntry(int index) {
-		if (0 <= index && index < ianaVector.size()) {
-			encodingCombo.remove(index);
-			ianaVector.remove(index);
-		}
-	}
-
-	/**
-	 * Method resetToDefaultEncoding. Reset the control to the default
-	 * encoding. Currently UTF-8
-	 */
-	public void resetToDefaultEncoding() {
-		String defaultIANATag = "UTF-8"; //$NON-NLS-1$
-		ianaText.setText(defaultIANATag);
-		setIANATag(defaultIANATag);
-	}
-
-	/**
-	 * Method setEnabled. Enable/disable the EncodingSettings composite.
-	 * 
-	 * @param enabled
-	 */
-	public void setEnabled(boolean enabled) {
-		encodingCombo.setEnabled(enabled);
-		encodingLabel.setEnabled(enabled);
-		ianaLabel.setEnabled(enabled);
-		ianaText.setEnabled(enabled);
-	}
-
-	/**
-	 * <code>setEncoding</code> Set the selection in the combo to the
-	 * descriptive encoding name.
-	 * 
-	 * @param enc
-	 *            a <code>string</code> value. Note this is not the IANA
-	 *            tag.
-	 */
-	public void setEncoding(String enc) {
-		encodingCombo.setText(enc);
-		encodingCombo.select(encodingCombo.indexOf(enc));
-	}
-
-	/**
-	 * <code>setIANATag</code> Set the IANA tag for the combo
-	 * 
-	 * @param ianaTag
-	 *            a <code>string</code> value. The IANA tag.
-	 */
-	public void setIANATag(String ianaTag) {
-		int i = ianaVector.indexOf(ianaTag);
-		if (i >= 0) {
-			encodingCombo.select(i);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/WorkbenchDefaultEncodingSettings.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/WorkbenchDefaultEncodingSettings.java
deleted file mode 100644
index 6ee38dc..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/WorkbenchDefaultEncodingSettings.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.preferences;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.encoding.CommonCharsetNames;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/**
- * WorkbenchDefaultEncodingSettings is an extension of EncodingSettings. This
- * composite contains EncodingSettings for users to select the encoding they
- * desire as well as a checkbox for users to select to use the default
- * workbench encoding instead.
- * 
- * @see org.eclipse.wst.xml.ui.preferences.EncodingSettings
- */
-public class WorkbenchDefaultEncodingSettings extends Composite {
-
-	private final static int INDENT = 15;
-	private static final String WORKBENCH_DEFAULT = ""; //$NON-NLS-1$
-	private EncodingSettings fEncodingSettings;
-	private String fNonDefaultIANA = null;
-	private Button fUseDefaultButton;
-
-	public WorkbenchDefaultEncodingSettings(Composite parent) {
-		super(parent, SWT.NONE);
-		createControls();
-	}
-
-	private void createControls() {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 0;
-		setLayout(layout);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		setLayoutData(data);
-
-		Composite defaultEncodingComposite = new Composite(this, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		data = new GridData(GridData.FILL_BOTH);
-		defaultEncodingComposite.setLayout(layout);
-		defaultEncodingComposite.setLayoutData(data);
-
-		fUseDefaultButton = new Button(defaultEncodingComposite, SWT.CHECK);
-		fUseDefaultButton.setText(XMLUIPlugin.getResourceString("%WorkbenchDefaultEncodingSettings.0")); //$NON-NLS-1$
-
-		fUseDefaultButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleUseDefaultButtonSelected();
-			}
-		});
-
-		fEncodingSettings = new EncodingSettings(this);
-		((GridLayout) fEncodingSettings.getLayout()).marginWidth = 0;
-		((GridData) fEncodingSettings.getLayoutData()).horizontalIndent = INDENT;
-
-	}
-
-	private Combo getEncodingCombo() {
-		return fEncodingSettings.getEncodingCombo();
-	}
-
-	/**
-	 * <code>getIANATag</code> Get the IANA tag equivalent of the selected
-	 * descriptive encoding name. Returns empty string if using workbench
-	 * encoding.
-	 * 
-	 * @return a <code>String</code> value
-	 */
-	public String getIANATag() {
-		if (!isDefault())
-			return fEncodingSettings.getIANATag();
-		return WORKBENCH_DEFAULT;
-	}
-
-	private String getWorkbenchEncoding() {
-		return ResourcesPlugin.getEncoding();
-	}
-
-	private void handleUseDefaultButtonSelected() {
-		if (fUseDefaultButton.getSelection()) {
-			fNonDefaultIANA = fEncodingSettings.getIANATag();
-			String workbenchValue = getWorkbenchEncoding();
-			workbenchValue = CommonCharsetNames.getIanaPreferredCharsetName(workbenchValue);
-			fEncodingSettings.setIANATag(workbenchValue);
-		} else if (fNonDefaultIANA != null) {
-			fEncodingSettings.setIANATag(fNonDefaultIANA);
-		}
-		getEncodingCombo().setEnabled(!fUseDefaultButton.getSelection());
-		fEncodingSettings.setEnabled(!fUseDefaultButton.getSelection());
-	}
-
-	private boolean isDefault() {
-		return fUseDefaultButton.getSelection();
-	}
-
-	/**
-	 * <code>setEncoding</code> Set the selection in the combo to the
-	 * descriptive encoding name. Selects use workbench encoding if ianaTag is
-	 * null or empty string.
-	 * 
-	 */
-	public void setIANATag(String ianaTag) {
-		if (ianaTag == null || ianaTag.equals(WORKBENCH_DEFAULT)) {
-			fUseDefaultButton.setSelection(true);
-			handleUseDefaultButtonSelected();
-		} else {
-			fUseDefaultButton.setSelection(false);
-			handleUseDefaultButtonSelected();
-			if (!isDefault())
-				fEncodingSettings.setIANATag(ianaTag);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLColorPage.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLColorPage.java
deleted file mode 100644
index 204137f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLColorPage.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.preferences;
-
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore.OverlayKey;
-import org.eclipse.wst.sse.ui.preferences.ui.AbstractColorPage;
-import org.eclipse.wst.sse.ui.preferences.ui.StyledTextColorPicker;
-import org.eclipse.wst.xml.core.contenttype.ContentTypeIdForXML;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.xml.ui.style.IStyleConstantsXML;
-
-public class XMLColorPage extends AbstractColorPage {
-
-	protected Control createContents(Composite parent) {
-		Composite pageComponent = createComposite(parent, 1);
-		((GridData) pageComponent.getLayoutData()).horizontalAlignment = GridData.HORIZONTAL_ALIGN_FILL;
-
-		super.createContents(pageComponent);
-		WorkbenchHelp.setHelp(pageComponent, IHelpContextIds.XML_PREFWEBX_STYLES_HELPID);
-		return pageComponent;
-	}
-
-	/**
-	 * Set up all the style preference keys in the overlay store
-	 */
-	protected OverlayKey[] createOverlayStoreKeys() {
-		ArrayList overlayKeys = new ArrayList();
-
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-		Iterator i = styleList.iterator();
-		while (i.hasNext()) {
-			overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, (String) i.next()));
-		}
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return XMLUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	public String getSampleText() {
-		return XMLUIPlugin.getResourceString("%Sample_XML_doc"); //$NON-NLS-1$ = "<?xml version=\"1.0\"?>\n<?customProcessingInstruction\n\tXML processor specific\n\tcontent ?>\n<!DOCTYPE colors\n\tPUBLIC \"//IBM/XML/COLORS/\" \"colors.dtd\">\n<colors>\n\t<!-- begin color definitions -->\n\t<color name=\"plaintext\" foreground=\"#000000\"\n\t\tbackground=\"#D4D0C8\"/>\n\t<color name=\"bold\" foreground=\"#000000\"\n\t\tbackground=\"#B3ACA0\">\n\t<![CDATA[<123456789>]]>\n\tNormal text content.\n\t<color name=\"inverse\" foreground=\"#F0F0F0\"\n\t\tbackground=\"#D4D0C8\"/>\n\n</colors>\n";
-	}
-
-	protected void initCommonContextStyleMap(Dictionary contextStyleMap) {
-
-		contextStyleMap.put(XMLRegionContext.XML_COMMENT_OPEN, IStyleConstantsXML.COMMENT_BORDER);
-		contextStyleMap.put(XMLRegionContext.XML_COMMENT_TEXT, IStyleConstantsXML.COMMENT_TEXT);
-		contextStyleMap.put(XMLRegionContext.XML_COMMENT_CLOSE, IStyleConstantsXML.COMMENT_BORDER);
-
-		contextStyleMap.put(XMLRegionContext.XML_TAG_OPEN, IStyleConstantsXML.TAG_BORDER);
-		contextStyleMap.put(XMLRegionContext.XML_END_TAG_OPEN, IStyleConstantsXML.TAG_BORDER);
-		contextStyleMap.put(XMLRegionContext.XML_TAG_NAME, IStyleConstantsXML.TAG_NAME);
-		contextStyleMap.put(XMLRegionContext.XML_TAG_ATTRIBUTE_NAME, IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-		contextStyleMap.put(XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE, IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-		contextStyleMap.put(XMLRegionContext.XML_TAG_CLOSE, IStyleConstantsXML.TAG_BORDER);
-		contextStyleMap.put(XMLRegionContext.XML_EMPTY_TAG_CLOSE, IStyleConstantsXML.TAG_BORDER);
-
-		contextStyleMap.put(XMLRegionContext.XML_DECLARATION_OPEN, IStyleConstantsXML.DECL_BORDER);
-		contextStyleMap.put(XMLRegionContext.XML_DECLARATION_CLOSE, IStyleConstantsXML.DECL_BORDER);
-		contextStyleMap.put(XMLRegionContext.XML_ELEMENT_DECLARATION, IStyleConstantsXML.DECL_BORDER);
-		contextStyleMap.put(XMLRegionContext.XML_ELEMENT_DECL_CLOSE, IStyleConstantsXML.DECL_BORDER);
-
-		contextStyleMap.put(XMLRegionContext.XML_CONTENT, IStyleConstantsXML.XML_CONTENT);
-	}
-
-	protected void initCommonDescriptions(Dictionary descriptions) {
-
-		// create descriptions for hilighting types
-		descriptions.put(IStyleConstantsXML.COMMENT_BORDER, XMLUIPlugin.getResourceString("%Comment_Delimiters_UI_")); //$NON-NLS-1$ = "Comment Delimiters"
-		descriptions.put(IStyleConstantsXML.COMMENT_TEXT, XMLUIPlugin.getResourceString("%Comment_Content_UI_")); //$NON-NLS-1$ = "Comment Content"
-		descriptions.put(IStyleConstantsXML.TAG_BORDER, XMLUIPlugin.getResourceString("%Tag_Delimiters_UI_")); //$NON-NLS-1$ = "Tag Delimiters"
-		descriptions.put(IStyleConstantsXML.TAG_NAME, XMLUIPlugin.getResourceString("%Tag_Names_UI_")); //$NON-NLS-1$ = "Tag Names"
-		descriptions.put(IStyleConstantsXML.TAG_ATTRIBUTE_NAME, XMLUIPlugin.getResourceString("%Attribute_Names_UI_")); //$NON-NLS-1$ = "Attribute Names"
-		descriptions.put(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE, XMLUIPlugin.getResourceString("%Attribute_Values_UI_")); //$NON-NLS-1$ = "Attribute Values"
-		descriptions.put(IStyleConstantsXML.DECL_BORDER, XMLUIPlugin.getResourceString("%Declaration_Delimiters_UI_")); //$NON-NLS-1$ = "Declaration Delimiters"
-		descriptions.put(IStyleConstantsXML.XML_CONTENT, XMLUIPlugin.getResourceString("%Content_UI_")); //$NON-NLS-1$ = "Content"
-	}
-
-	protected void initCommonStyleList(ArrayList list) {
-
-		//list.add(IStyleConstantsXML.CDATA_BORDER);
-		//list.add(IStyleConstantsXML.CDATA_TEXT);
-		//list.add(IStyleConstantsXML.PI_BORDER);
-		//list.add(IStyleConstantsXML.PI_CONTENT);
-
-		list.add(IStyleConstantsXML.TAG_BORDER);
-		list.add(IStyleConstantsXML.TAG_NAME);
-		list.add(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-		list.add(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-		list.add(IStyleConstantsXML.COMMENT_BORDER);
-		list.add(IStyleConstantsXML.COMMENT_TEXT);
-		list.add(IStyleConstantsXML.DECL_BORDER);
-		list.add(IStyleConstantsXML.XML_CONTENT);
-	}
-
-	protected void initContextStyleMap(Dictionary contextStyleMap) {
-
-		initCommonContextStyleMap(contextStyleMap);
-		initDocTypeContextStyleMap(contextStyleMap);
-		contextStyleMap.put(XMLRegionContext.XML_CDATA_OPEN, IStyleConstantsXML.CDATA_BORDER);
-		contextStyleMap.put(XMLRegionContext.XML_CDATA_TEXT, IStyleConstantsXML.CDATA_TEXT);
-		contextStyleMap.put(XMLRegionContext.XML_CDATA_CLOSE, IStyleConstantsXML.CDATA_BORDER);
-
-		contextStyleMap.put(XMLRegionContext.XML_PI_OPEN, IStyleConstantsXML.PI_BORDER);
-		contextStyleMap.put(XMLRegionContext.XML_PI_CONTENT, IStyleConstantsXML.PI_CONTENT);
-		contextStyleMap.put(XMLRegionContext.XML_PI_CLOSE, IStyleConstantsXML.PI_BORDER);
-
-	}
-
-	protected void initDescriptions(Dictionary descriptions) {
-
-		initCommonDescriptions(descriptions);
-		initDocTypeDescriptions(descriptions);
-		descriptions.put(IStyleConstantsXML.CDATA_BORDER, XMLUIPlugin.getResourceString("%CDATA_Delimiters_UI_")); //$NON-NLS-1$ = "CDATA Delimiters"
-		descriptions.put(IStyleConstantsXML.CDATA_TEXT, XMLUIPlugin.getResourceString("%CDATA_Content_UI_")); //$NON-NLS-1$ = "CDATA Content"
-		descriptions.put(IStyleConstantsXML.PI_BORDER, XMLUIPlugin.getResourceString("%Processing_Instruction_Del_UI_")); //$NON-NLS-1$ = "Processing Instruction Delimiters"
-		descriptions.put(IStyleConstantsXML.PI_CONTENT, XMLUIPlugin.getResourceString("%Processing_Instruction_Con_UI__UI_")); //$NON-NLS-1$ = "Processing Instruction Content"
-	}
-
-	protected void initDocTypeContextStyleMap(Dictionary contextStyleMap) {
-
-		contextStyleMap.put(XMLRegionContext.XML_ELEMENT_DECL_NAME, IStyleConstantsXML.DOCTYPE_NAME);
-		contextStyleMap.put(XMLRegionContext.XML_DOCTYPE_DECLARATION, IStyleConstantsXML.TAG_NAME);
-		contextStyleMap.put(XMLRegionContext.XML_DOCTYPE_DECLARATION_CLOSE, IStyleConstantsXML.DECL_BORDER);
-
-		contextStyleMap.put(XMLRegionContext.XML_DOCTYPE_NAME, IStyleConstantsXML.DOCTYPE_NAME);
-		contextStyleMap.put(XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_PUBLIC, IStyleConstantsXML.DOCTYPE_EXTERNAL_ID);
-		contextStyleMap.put(XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_PUBREF, IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF);
-		contextStyleMap.put(XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_SYSTEM, IStyleConstantsXML.DOCTYPE_EXTERNAL_ID);
-		contextStyleMap.put(XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_SYSREF, IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF);
-	}
-
-	protected void initDocTypeDescriptions(Dictionary descriptions) {
-
-		// create descriptions for hilighting types for DOCTYPE related items
-		descriptions.put(IStyleConstantsXML.DOCTYPE_NAME, XMLUIPlugin.getResourceString("%DOCTYPE_Name_UI_")); //$NON-NLS-1$ = "DOCTYPE Name"
-		descriptions.put(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID, XMLUIPlugin.getResourceString("%DOCTYPE_SYSTEM/PUBLIC_Keyw_UI_")); //$NON-NLS-1$ = "DOCTYPE SYSTEM/PUBLIC Keyword"
-		descriptions.put(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF, XMLUIPlugin.getResourceString("%DOCTYPE_Public_Reference_UI_")); //$NON-NLS-1$ = "DOCTYPE Public Reference"
-		descriptions.put(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF, XMLUIPlugin.getResourceString("%DOCTYPE_System_Reference_UI_")); //$NON-NLS-1$ = "DOCTYPE System Reference"
-	}
-
-	protected void initDocTypeStyleList(ArrayList list) {
-
-		list.add(IStyleConstantsXML.DOCTYPE_NAME);
-		list.add(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID);
-		list.add(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF);
-		list.add(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF);
-	}
-
-	protected void initStyleList(ArrayList list) {
-		initCommonStyleList(list);
-		initDocTypeStyleList(list);
-		list.add(IStyleConstantsXML.CDATA_BORDER);
-		list.add(IStyleConstantsXML.CDATA_TEXT);
-		list.add(IStyleConstantsXML.PI_BORDER);
-		list.add(IStyleConstantsXML.PI_CONTENT);
-	}
-
-	public boolean performOk() {
-		// required since the superclass *removes* existing preferences before
-		// saving its own
-		super.performOk();
-
-		SSEUIPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-
-	protected void setupPicker(StyledTextColorPicker picker) {
-		IModelManager mmanager = StructuredModelManager.getModelManager();
-		picker.setParser(mmanager.createStructuredDocumentFor(ContentTypeIdForXML.ContentTypeID_XML).getParser());
-
-		Dictionary descriptions = new Hashtable();
-		initDescriptions(descriptions);
-
-		Dictionary contextStyleMap = new Hashtable();
-		initContextStyleMap(contextStyleMap);
-
-		ArrayList styleList = new ArrayList();
-		initStyleList(styleList);
-
-		picker.setContextStyleMap(contextStyleMap);
-		picker.setDescriptions(descriptions);
-		picker.setStyleList(styleList);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.AbstractColorPage#savePreferences()
-	 */
-	protected void savePreferences() {
-		XMLUIPlugin.getDefault().savePluginPreferences();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLFilesPreferencePage.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLFilesPreferencePage.java
deleted file mode 100644
index 1ffffe4..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLFilesPreferencePage.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.preferences;
-
-import java.util.Vector;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.common.encoding.CommonEncodingPreferenceNames;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.preferences.ui.AbstractPreferencePage;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
-
-public class XMLFilesPreferencePage extends AbstractPreferencePage {
-	protected EncodingSettings fEncodingSettings = null;
-
-	protected Combo fEndOfLineCode = null;
-	private Vector fEOLCodes = null;
-
-	protected Control createContents(Composite parent) {
-		Composite composite = (Composite) super.createContents(parent);
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.XML_PREFWEBX_FILES_HELPID);
-		createContentsForCreatingOrSavingGroup(composite);
-		createContentsForCreatingGroup(composite);
-
-		setSize(composite);
-		loadPreferences();
-
-		return composite;
-	}
-
-	protected void createContentsForCreatingGroup(Composite parent) {
-		Group creatingGroup = createGroup(parent, 1);
-		creatingGroup.setText(SSEUIPlugin.getResourceString("%Creating_files")); //$NON-NLS-1$
-
-		Label label = createLabel(creatingGroup, SSEUIPlugin.getResourceString("%Encoding_desc")); //$NON-NLS-1$
-
-		fEncodingSettings = new EncodingSettings(creatingGroup, SSEUIPlugin.getResourceString("%Encoding")); //$NON-NLS-1$
-	}
-
-	protected void createContentsForCreatingOrSavingGroup(Composite parent) {
-		Group creatingOrSavingGroup = createGroup(parent, 2);
-		creatingOrSavingGroup.setText(SSEUIPlugin.getResourceString("%Creating_or_saving_files")); //$NON-NLS-1$
-
-		Label label = createLabel(creatingOrSavingGroup, SSEUIPlugin.getResourceString("%End-of-line_code_desc")); //$NON-NLS-1$
-		((GridData) label.getLayoutData()).horizontalSpan = 2;
-		((GridData) label.getLayoutData()).grabExcessHorizontalSpace = true;
-
-		createLabel(creatingOrSavingGroup, SSEUIPlugin.getResourceString("%End-of-line_code")); //$NON-NLS-1$
-		fEndOfLineCode = createDropDownBox(creatingOrSavingGroup);
-		populateLineDelimiters();
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return SSEUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected void doSavePreferenceStore() {
-		XMLCorePlugin.getDefault().savePluginPreferences(); // model
-	}
-
-	/**
-	 * Return the currently selected line delimiter preference
-	 * 
-	 * @return a line delimiter constant from CommonEncodingPreferenceNames
-	 */
-	private String getCurrentEOLCode() {
-		int i = fEndOfLineCode.getSelectionIndex();
-		if (i >= 0) {
-			return (String) (fEOLCodes.elementAt(i));
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.AbstractPreferencePage#getModelPreferences()
-	 */
-	protected Preferences getModelPreferences() {
-		return XMLCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	protected void initializeValues() {
-		initializeValuesForCreatingOrSavingGroup();
-		initializeValuesForCreatingGroup();
-	}
-
-	protected void initializeValuesForCreatingGroup() {
-		String encoding = getModelPreferences().getString(CommonEncodingPreferenceNames.OUTPUT_CODESET);
-
-		fEncodingSettings.setIANATag(encoding);
-	}
-
-	protected void initializeValuesForCreatingOrSavingGroup() {
-		String endOfLineCode = getModelPreferences().getString(CommonEncodingPreferenceNames.END_OF_LINE_CODE);
-
-		if (endOfLineCode.length() > 0)
-			setCurrentEOLCode(endOfLineCode);
-		else
-			setCurrentEOLCode(CommonEncodingPreferenceNames.NO_TRANSLATION);
-	}
-
-	protected void performDefaults() {
-		performDefaultsForCreatingOrSavingGroup();
-		performDefaultsForCreatingGroup();
-
-		super.performDefaults();
-	}
-
-	protected void performDefaultsForCreatingGroup() {
-		String encoding = getModelPreferences().getDefaultString(CommonEncodingPreferenceNames.OUTPUT_CODESET);
-
-		fEncodingSettings.setIANATag(encoding);
-		//		fEncodingSettings.resetToDefaultEncoding();
-	}
-
-	protected void performDefaultsForCreatingOrSavingGroup() {
-		String endOfLineCode = getModelPreferences().getDefaultString(CommonEncodingPreferenceNames.END_OF_LINE_CODE);
-
-		if (endOfLineCode.length() > 0)
-			setCurrentEOLCode(endOfLineCode);
-		else
-			setCurrentEOLCode(CommonEncodingPreferenceNames.NO_TRANSLATION);
-	}
-
-	public boolean performOk() {
-		boolean result = super.performOk();
-
-		doSavePreferenceStore();
-
-		return result;
-	}
-
-	/**
-	 * Populates the vector containing the line delimiter to display string
-	 * mapping and the combobox displaying line delimiters
-	 */
-	private void populateLineDelimiters() {
-		fEOLCodes = new Vector();
-		fEndOfLineCode.add(SSEUIPlugin.getResourceString("%EOL_Unix")); //$NON-NLS-1$
-		fEOLCodes.add(CommonEncodingPreferenceNames.LF);
-
-		fEndOfLineCode.add(SSEUIPlugin.getResourceString("%EOL_Mac")); //$NON-NLS-1$
-		fEOLCodes.add(CommonEncodingPreferenceNames.CR);
-
-		fEndOfLineCode.add(SSEUIPlugin.getResourceString("%EOL_Windows")); //$NON-NLS-1$
-		fEOLCodes.add(CommonEncodingPreferenceNames.CRLF);
-
-		fEndOfLineCode.add(SSEUIPlugin.getResourceString("%EOL_NoTranslation")); //$NON-NLS-1$
-		fEOLCodes.add(CommonEncodingPreferenceNames.NO_TRANSLATION);
-	}
-
-	/**
-	 * Select the line delimiter in the eol combobox
-	 * 
-	 */
-	private void setCurrentEOLCode(String eolCode) {
-		// Clear the current selection.
-		fEndOfLineCode.clearSelection();
-		fEndOfLineCode.deselectAll();
-
-		int i = fEOLCodes.indexOf(eolCode);
-		if (i >= 0) {
-			fEndOfLineCode.select(i);
-		}
-	}
-
-	protected void storeValues() {
-		storeValuesForCreatingOrSavingGroup();
-		storeValuesForCreatingGroup();
-	}
-
-	protected void storeValuesForCreatingGroup() {
-		getModelPreferences().setValue(CommonEncodingPreferenceNames.OUTPUT_CODESET, fEncodingSettings.getIANATag());
-	}
-
-	protected void storeValuesForCreatingOrSavingGroup() {
-		String eolCode = getCurrentEOLCode();
-		getModelPreferences().setValue(CommonEncodingPreferenceNames.END_OF_LINE_CODE, eolCode);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLSourcePreferencePage.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLSourcePreferencePage.java
deleted file mode 100644
index d6d086b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLSourcePreferencePage.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.preferences;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.ui.AbstractPreferencePage;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
-
-public class XMLSourcePreferencePage extends AbstractPreferencePage implements ModifyListener, SelectionListener, IWorkbenchPreferencePage {
-	// Content Assist
-	protected Button fAutoPropose;
-	protected Label fAutoProposeLabel;
-	protected Text fAutoProposeText;
-	protected Button fClearAllBlankLines;
-	protected Button fIndentUsingTabs;
-	// Formatting
-	protected Label fLineWidthLabel;
-	protected Text fLineWidthText;
-	protected Button fSplitMultiAttrs;
-	// grammar constraints
-	protected Button fUseInferredGrammar;
-
-	protected Control createContents(Composite parent) {
-		Composite composite = (Composite) super.createContents(parent);
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.XML_PREFWEBX_SOURCE_HELPID);
-
-		createContentsForFormattingGroup(composite);
-		createContentsForContentAssistGroup(composite);
-		createContentsForGrammarConstraintsGroup(composite);
-		setSize(composite);
-		loadPreferences();
-
-		return composite;
-	}
-
-	protected void createContentsForContentAssistGroup(Composite parent) {
-		Group contentAssistGroup = createGroup(parent, 2);
-		contentAssistGroup.setText(SSEUIPlugin.getResourceString("%Content_assist_UI_")); //$NON-NLS-1$ = "Content assist"
-
-		fAutoPropose = createCheckBox(contentAssistGroup, SSEUIPlugin.getResourceString("%Automatically_make_suggest_UI_")); //$NON-NLS-1$ = "Automatically make suggestions"
-		((GridData) fAutoPropose.getLayoutData()).horizontalSpan = 2;
-		fAutoPropose.addSelectionListener(this);
-
-		fAutoProposeLabel = createLabel(contentAssistGroup, SSEUIPlugin.getResourceString("%Prompt_when_these_characte_UI_")); //$NON-NLS-1$ = "Prompt when these characters are inserted:"
-		fAutoProposeText = createTextField(contentAssistGroup);
-	}
-
-	protected void createContentsForFormattingGroup(Composite parent) {
-		Group formattingGroup = createGroup(parent, 2);
-		formattingGroup.setText(SSEUIPlugin.getResourceString("%Formatting_UI_")); //$NON-NLS-1$ = "Formatting"
-
-		fLineWidthLabel = createLabel(formattingGroup, SSEUIPlugin.getResourceString("%Line_width__UI_")); //$NON-NLS-1$ = "Line width:"
-		fLineWidthText = new Text(formattingGroup, SWT.SINGLE | SWT.BORDER);
-		GridData gData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.BEGINNING);
-		gData.widthHint = 25;
-		fLineWidthText.setLayoutData(gData);
-		fLineWidthText.addModifyListener(this);
-
-		fSplitMultiAttrs = createCheckBox(formattingGroup, SSEUIPlugin.getResourceString("%Split_&multiple_attributes_2")); //$NON-NLS-1$
-		((GridData) fSplitMultiAttrs.getLayoutData()).horizontalSpan = 2;
-
-		fIndentUsingTabs = createCheckBox(formattingGroup, SSEUIPlugin.getResourceString("%&Indent_using_tabs_3")); //$NON-NLS-1$
-		((GridData) fIndentUsingTabs.getLayoutData()).horizontalSpan = 2;
-
-		fClearAllBlankLines = createCheckBox(formattingGroup, SSEUIPlugin.getResourceString("%Clear_all_blank_lines_UI_")); //$NON-NLS-1$ = "Clear all blank lines"
-		((GridData) fClearAllBlankLines.getLayoutData()).horizontalSpan = 2;
-	}
-
-	protected void createContentsForGrammarConstraintsGroup(Composite parent) {
-		Group grammarConstraintsGroup = createGroup(parent, 1);
-		grammarConstraintsGroup.setText(SSEUIPlugin.getResourceString("%Grammar_Constraints")); //$NON-NLS-1$
-		grammarConstraintsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
-
-		fUseInferredGrammar = createCheckBox(grammarConstraintsGroup, SSEUIPlugin.getResourceString("%Use_inferred_grammar_in_absence_of_DTD/Schema")); //$NON-NLS-1$
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return XMLUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected void doSavePreferenceStore() {
-		XMLUIPlugin.getDefault().savePluginPreferences(); // editor
-		XMLCorePlugin.getDefault().savePluginPreferences(); // model
-	}
-
-	protected void enableValues() {
-		if (fAutoPropose != null) {
-			if (fAutoPropose.getSelection()) {
-				fAutoProposeLabel.setEnabled(true);
-				fAutoProposeText.setEnabled(true);
-			} else {
-				fAutoProposeLabel.setEnabled(false);
-				fAutoProposeText.setEnabled(false);
-			}
-		}
-	}
-
-	/**
-	 * @deprecated key no longer needed (preference should be stored in their own preference store)
-	 */
-	protected String getKey(String key) {
-//		String contentTypeId = IContentTypeIdentifier.ContentTypeID_SSEXML;
-//		return PreferenceKeyGenerator.generateKey(key, contentTypeId);
-		return key;
-	}
-
-	protected Preferences getModelPreferences() {
-		return XMLCorePlugin.getDefault().getPluginPreferences();
-	}
-
-	protected void initializeValues() {
-		initializeValuesForFormattingGroup();
-		initializeValuesForContentAssistGroup();
-		initializeValuesForGrammarConstraintsGroup();
-	}
-
-	protected void initializeValuesForContentAssistGroup() {
-		// Content Assist
-		fAutoPropose.setSelection(getPreferenceStore().getBoolean(CommonEditorPreferenceNames.AUTO_PROPOSE));
-		fAutoProposeText.setText(getPreferenceStore().getString(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE));
-	}
-
-	protected void initializeValuesForFormattingGroup() {
-		// Formatting
-		fLineWidthText.setText(getModelPreferences().getString(CommonModelPreferenceNames.LINE_WIDTH));
-		fSplitMultiAttrs.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
-		fIndentUsingTabs.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.INDENT_USING_TABS));
-		fClearAllBlankLines.setSelection(getModelPreferences().getBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
-	}
-
-	protected void initializeValuesForGrammarConstraintsGroup() {
-		fUseInferredGrammar.setSelection(getPreferenceStore().getBoolean(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR));
-	}
-
-	protected void performDefaults() {
-		performDefaultsForFormattingGroup();
-		performDefaultsForContentAssistGroup();
-		performDefaultsForGrammarConstraintsGroup();
-
-		validateValues();
-		enableValues();
-
-		super.performDefaults();
-	}
-
-	protected void performDefaultsForContentAssistGroup() {
-		// Content Assist
-		fAutoPropose.setSelection(getPreferenceStore().getDefaultBoolean(CommonEditorPreferenceNames.AUTO_PROPOSE));
-		fAutoProposeText.setText(getPreferenceStore().getDefaultString(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE));
-	}
-
-	protected void performDefaultsForFormattingGroup() {
-		// Formatting
-		fLineWidthText.setText(getModelPreferences().getDefaultString(CommonModelPreferenceNames.LINE_WIDTH));
-		fSplitMultiAttrs.setSelection(getModelPreferences().getDefaultBoolean(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS));
-		fIndentUsingTabs.setSelection(getModelPreferences().getDefaultBoolean(CommonModelPreferenceNames.INDENT_USING_TABS));
-		fClearAllBlankLines.setSelection(getModelPreferences().getDefaultBoolean(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES));
-	}
-
-	protected void performDefaultsForGrammarConstraintsGroup() {
-		fUseInferredGrammar.setSelection(getPreferenceStore().getDefaultBoolean(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR));
-	}
-
-	public boolean performOk() {
-		boolean result = super.performOk();
-
-		doSavePreferenceStore();
-
-		return result;
-	}
-
-	protected void storeValues() {
-		storeValuesForFormattingGroup();
-		storeValuesForContentAssistGroup();
-		storeValuesForGrammarConstraintsGroup();
-	}
-
-	protected void storeValuesForContentAssistGroup() {
-		// Content Assist
-		getPreferenceStore().setValue(CommonEditorPreferenceNames.AUTO_PROPOSE, fAutoPropose.getSelection());
-		getPreferenceStore().setValue(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE, fAutoProposeText.getText());
-	}
-
-	protected void storeValuesForFormattingGroup() {
-		// Formatting
-		getModelPreferences().setValue(CommonModelPreferenceNames.LINE_WIDTH, fLineWidthText.getText());
-		getModelPreferences().setValue(CommonModelPreferenceNames.SPLIT_MULTI_ATTRS, fSplitMultiAttrs.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.INDENT_USING_TABS, fIndentUsingTabs.getSelection());
-		getModelPreferences().setValue(CommonModelPreferenceNames.CLEAR_ALL_BLANK_LINES, fClearAllBlankLines.getSelection());
-	}
-
-	protected void storeValuesForGrammarConstraintsGroup() {
-		getPreferenceStore().setValue(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR, fUseInferredGrammar.getSelection());
-	}
-
-	protected void validateValues() {
-		boolean isError = false;
-		String widthText = null;
-
-		if (fLineWidthText != null) {
-			try {
-				widthText = fLineWidthText.getText();
-				int formattingLineWidth = Integer.parseInt(widthText);
-				if ((formattingLineWidth < WIDTH_VALIDATION_LOWER_LIMIT) || (formattingLineWidth > WIDTH_VALIDATION_UPPER_LIMIT))
-					throw new NumberFormatException();
-			} catch (NumberFormatException nfexc) {
-				setInvalidInputMessage(widthText);
-				setValid(false);
-				isError = true;
-			}
-		}
-
-		if (!isError) {
-			setErrorMessage(null);
-			setValid(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLTemplatePreferencePage.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLTemplatePreferencePage.java
deleted file mode 100644
index b98697f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLTemplatePreferencePage.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.preferences;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.texteditor.templates.TemplatePreferencePage;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
-
-
-/**
- * Preference page for XML templates
- */
-public class XMLTemplatePreferencePage extends TemplatePreferencePage {
-
-	public XMLTemplatePreferencePage() {
-		XMLUIPlugin xmlEditorPlugin = XMLUIPlugin.getDefault();
-
-		setPreferenceStore(xmlEditorPlugin.getPreferenceStore());
-		setTemplateStore(xmlEditorPlugin.getTemplateStore());
-		setContextTypeRegistry(xmlEditorPlugin.getTemplateContextRegistry());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite ancestor) {
-		Control c = super.createContents(ancestor);
-		WorkbenchHelp.setHelp(c, IHelpContextIds.XML_PREFWEBX_TEMPLATES_HELPID);
-		return c;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#isShowFormatterSetting()
-	 */
-	protected boolean isShowFormatterSetting() {
-		// template formatting has not been implemented
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		boolean ok = super.performOk();
-		XMLUIPlugin.getDefault().savePluginPreferences();
-		return ok;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/AbstractReconcileStepAdapter.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/AbstractReconcileStepAdapter.java
deleted file mode 100644
index 7d1e510..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/AbstractReconcileStepAdapter.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.reconcile;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileStepAdapter;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.xml.ui.internal.Logger;
-
-
-/**
- * This reconcile step is an adapter on the IStructuredModel. Validation is
- * triggered from StructuredDocumentEvents
- * 
- * @deprecated moving toward reconcileValidator extension point
- *  
- * @author pavery
- */
-public class AbstractReconcileStepAdapter implements IReconcileStepAdapter {
-
-	protected static final IReconcileResult[] EMPTY_RECONCILE_RESULT_SET = new IReconcileResult[0];
-	protected List fDirtyElements = new ArrayList();
-	private StructuredReconcileStep fParentStep = null;
-	private HashSet fPartitionTypes = null;
-
-	public AbstractReconcileStepAdapter() {
-		super();
-		fPartitionTypes = new HashSet();
-	}
-
-	public ReconcileAnnotationKey createKey(IStructuredDocumentRegion sdRegion, int scope) {
-		ITypedRegion tr = null;
-		if (!sdRegion.isDeleted()) {
-			try {
-				tr = sdRegion.getParentDocument().getPartition(sdRegion.getStartOffset());
-			} catch (BadLocationException e) {
-				// do nothing but leave tr as null
-				// probably due to changes made on another thread
-			}
-		}
-		String partitionType = (tr != null) ? tr.getType() : StructuredTextPartitioner.ST_UNKNOWN_PARTITION;
-		return createKey(partitionType, scope);
-	}
-
-	public ReconcileAnnotationKey createKey(String partitionType, int scope) {
-		fPartitionTypes.add(partitionType);
-		return new ReconcileAnnotationKey(getParentStep(), partitionType, scope);
-	}
-
-	public StructuredReconcileStep getParentStep() {
-		return fParentStep;
-	}
-
-	public String[] getPartitionTypes() {
-		String[] results = new String[fPartitionTypes.size()];
-		System.arraycopy(fPartitionTypes.toArray(), 0, results, 0, results.length);
-		return results;
-	}
-
-
-	public boolean isAdapterForType(Object type) {
-		return type == IReconcileStepAdapter.class;
-	}
-
-	protected boolean isCanceled(IProgressMonitor monitor) {
-		return monitor != null && monitor.isCanceled();
-	}
-
-	/**
-	 * @param notifier
-	 */
-	public void markForReconciling(Object notifier) {
-		synchronized (fDirtyElements) {
-			// pa_TODO possible bottleneck
-			if (!fDirtyElements.contains(notifier)) {
-				Logger.trace(StructuredTextReconciler.TRACE_FILTER, "marking :" + notifier + ": for reconciling"); //$NON-NLS-1$ //$NON-NLS-2$
-				fDirtyElements.add(notifier);
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.model.INodeAdapter#notifyChanged(com.ibm.sed.model.INodeNotifier,
-	 *      int, java.lang.Object, java.lang.Object, java.lang.Object, int)
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		// Adapters are notified before the JFace Document events are sent to
-		// the IReconciler
-		markForReconciling(notifier);
-	}
-
-	public IReconcileResult[] reconcile(IProgressMonitor monitor, IndexedRegion xmlNode) {
-		List workingElements = null;
-		List results = new ArrayList();
-
-		IReconcileResult[] temp = EMPTY_RECONCILE_RESULT_SET;
-		synchronized (fDirtyElements) {
-			if (fDirtyElements != null && fDirtyElements.size() > 0) {
-				workingElements = new ArrayList();
-				workingElements.addAll(0, fDirtyElements);
-				fDirtyElements = new ArrayList();
-			}
-		}
-		if (workingElements != null) {
-			Iterator elements = workingElements.iterator();
-			while (elements.hasNext() && !isCanceled(monitor)) {
-				temp = reconcile(elements.next(), monitor);
-				for (int i = 0; i < temp.length; i++)
-					results.add(temp[i]);
-			}
-		}
-		temp = new IReconcileResult[results.size()];
-		System.arraycopy(results.toArray(), 0, temp, 0, results.size());
-		return temp;
-	}
-
-	protected IReconcileResult[] reconcile(Object o, IProgressMonitor monitor) {
-		return EMPTY_RECONCILE_RESULT_SET;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.IReleasable#release()
-	 */
-	public void release() {
-		// nothing to release
-	}
-
-	public void setParentStep(StructuredReconcileStep parentStep) {
-		fParentStep = parentStep;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingReconcileValidator.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingReconcileValidator.java
deleted file mode 100644
index cfebd56..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingReconcileValidator.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.reconcile;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.validation.core.IFileDelta;
-import org.eclipse.wst.validation.core.IHelper;
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IMessageAccess;
-import org.eclipse.wst.validation.core.IReporter;
-import org.eclipse.wst.validation.core.IValidator;
-import org.eclipse.wst.validation.core.MessageLimitException;
-import org.eclipse.wst.validation.core.ValidationException;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.document.XMLText;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * A DelegatingReconcileValidator calls its delegate validator
- * to get a list of validation error IMessages.  Using information
- * in this IMessage the DelegatingReconcileValidator sets
- * an offset and a length that should be "squiggled"
- * 
- * @author Mark Hutchinson
- * 
- */
-public class DelegatingReconcileValidator implements IValidator
-{ //these are the selection Strategies:
-  public static final String ATTRIBUTE = "ATTRIBUTE";
-  public static final String ATTRIBUTE_NAME ="ATTRIBUTE_NAME";
-  public static final String ATTRIBUTE_VALUE = "ATTRIBUTE_VALUE";
-  public static final String START_TAG = "START_TAG";
-  public static final String TEXT = "TEXT";
-  public static final String NAME_OF_ATTRIBUTE_WITH_GIVEN_VALUE = "NAME_OF_ATTRIBUTE_WITH_GIVEN_VALUE";
-  
-  public DelegatingReconcileValidator()
-  { super(); //constructor
-  }
-  
-  public void cleanup(IReporter arg0)
-  { // don't need to implement
-  }
-  
-  // My Implementation of IHelper
-  class MyHelper implements IHelper
-  {
-    InputStream inputStream;
-
-    IFile file;
-
-    public MyHelper(InputStream inputStream, IFile file)
-    { this.inputStream = inputStream;
-      this.file = file;
-    }
-
-    public Object loadModel(String symbolicName, Object[] parms)
-    { if (symbolicName.equals("getFile"))
-      { return file;
-      }
-      return null;
-    }
-
-    public Object loadModel(String symbolicName)
-    { if (symbolicName.equals("inputStream"))
-      { return inputStream;
-      }
-      return null;
-    }
-  }
-  //My Implementation of IReporter
-  class MyReporter implements IReporter
-  {
-    List list = new ArrayList();
-    
-    public MyReporter()
-    { super();      
-    }
-    
-    public void addMessage(IValidator origin, IMessage message) throws MessageLimitException
-    { list.add(message);
-    }
-
-    public void displaySubtask(IValidator validator, IMessage message)
-    {//do not need to implement
-    }
-
-    public IMessageAccess getMessageAccess()
-    { return null; //do not need to implement
-    }
-
-    public boolean isCancelled()
-    { return false; //do not need to implement
-    }
-
-    public void removeAllMessages(IValidator origin, Object object)
-    { //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 not need to implement
-    }
-  }
-
-  protected IValidator getDelegateValidator()
-  {   return null;//this class must be overridden by a subclass
-  }
-  
-  /**
-   * Calls a delegate validator getting and updates it's list of ValidationMessages
-   * with a good squiggle offset and length.
-   * 
-   * @param helper 
-   *      loads an object. 
-   * @param reporter
-   *      Is an instance of an IReporter interface, which is used for
-   * interaction with the user.
-   * @param delta
-   *      an array containing the file to be validated.  Only position 0 will be validated
-   */
-  public void validate(IHelper helper, IReporter reporter, IFileDelta[] delta) throws ValidationException
-  {
-    if (delta.length > 0)
-    {
-      // get the file, model and document:
-      IFile file = getFile(delta[0]);
-      XMLModel xmlModel = getModelForResource(file);
-      try
-      {
-        XMLDocument document = xmlModel.getDocument();
-
-        // store the file to a byte array:
-        ByteArrayOutputStream outputStream = new ByteArrayOutputStream(1024);
-        xmlModel.save(outputStream);
-        byte[] byteArray = outputStream.toByteArray();
-
-        //Get the Validator:
-        IValidator validator = getDelegateValidator();
-        if (validator != null)
-        {
-          //Validate the file:
-          IHelper vHelper = new MyHelper(new ByteArrayInputStream(byteArray), file);
-          MyReporter vReporter = new MyReporter();
-          validator.validate(vHelper, vReporter, delta);
-          List messages = vReporter.list;
-  
-          //set the offset and length
-          updateValidationMessages(messages, document, reporter);
-        }
-      }
-      catch (Exception e)
-      { //e.printStackTrace();
-      }
-      finally
-      {
-        if (xmlModel != null)
-          xmlModel.releaseFromRead();
-      }
-    }
-  }
-
-  /**
-   * iterates through the messages and calculates a "better" offset and length
-   * 
-   * @param messages - a List of IMessages
-   * @param document - the document
-   * @param reporter - the reporter the messages are to be added to
-   */
-  protected void updateValidationMessages(List messages, XMLDocument document, IReporter reporter)
-  {
-    for (int i = 0; i < messages.size(); i++)
-    {
-      IMessage message = (IMessage) messages.get(i);    
-      try
-      { //get the extra information stored in the parameters:
-        String[] params = message.getParams();
-        int column = new Integer(params[0]).intValue();
-        String key = params[1];
-        String nameOrValue = params[2];//The name or value of what should be squiggled
-                                    
-        // convert the line and Column numbers to an offset:        
-        int start = document.getStructuredDocument().getLineOffset(message.getLineNo() - 1) + column - 1;
-
-        // calculate the "better" start and end offset:
-        int[] result = computeStartEndLocation(start, message.getText(), key, nameOrValue, document);
-        if (result != null)
-        {
-          message.setOffset(result[0]);
-          message.setLength(result[1] - result[0]);
-          reporter.addMessage(this, message);
-        }
-      }
-      catch (Exception e)
-      { //e.printStackTrace();
-      }
-    }
-  }
- /**
-  * @param delta the IFileDelta containing the file name to get
-  * @return the IFile
-  */
-  public IFile getFile(IFileDelta delta)
-  {
-    IResource res = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(delta.getFileName()));
-    return res instanceof IFile ? (IFile) res : null;
-  }
-  /**
-   * 
-   * @param file the file to get the model for
-   * @return the file's XMLModel
-   */
-  protected XMLModel getModelForResource(IFile file)
-  {
-    IStructuredModel model = null;
-    IModelManager manager = StructuredModelManager.getModelManager();
-
-    try
-    { model = manager.getModelForRead(file);
-      // TODO.. HTML validator tries again to get a model a 2nd way
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace();
-    }
-
-    return model instanceof XMLModel ? (XMLModel) model : null;
-  }
-  
-  /**
-   * Calculates the "better" offsets.
-   *    
-   * @param startOffset - the offset given by Xerces
-   * @param errorMessage - the Xerces error Message
-   * @param key - the selectionStrategy
-   * @param document - the document
-   * @return int[] - position 0 has the start offset of the squiggle range, position 1 has the endOffset
-   */
-  /*
-   *   The way the offsets is calculated is:
-   *   
-   *    - find the indexed region (element) closest to the given offset
-   *    - if we are between two elements, the one on the left is the one we want
-   *    - based on the key select a strategy to find the better offset
-   *    - use information from nameOrValue and the DOM to get better offsets
-   *    
-   */
-  protected int[] computeStartEndLocation(int startOffset, String errorMessage, String key, String nameOrValue, XMLDocument document)
-  {
-    try
-    {
-      int startEndPositions[] = new int[2];
-
-      IndexedRegion region = document.getModel().getIndexedRegion(startOffset);
-      IndexedRegion prevRegion = document.getModel().getIndexedRegion(startOffset - 1);
-      
-      if (prevRegion != region)
-      { // if between two regions, the one on the left is the one we are interested in
-        region = prevRegion;
-      }
-
-      // initialize start and end positions to be the start positions this means if the
-      // special case is not taken care of below the start and end offset are set to be
-      // the start of the region where the error was
-      startEndPositions[0] = region.getStartOffset();
-      startEndPositions[1] = startEndPositions[0];
-
-      if (region instanceof Node)
-      {
-        Node node = (Node) region;
-        
-        if (key.equals(START_TAG))
-        {// then we want to highlight the opening tag
-          if (node.getNodeType() == Node.ELEMENT_NODE)
-          {
-            XMLElement element = (XMLElement) node;
-            startEndPositions[0] = element.getStartOffset() + 1;
-            startEndPositions[1] = startEndPositions[0] + element.getTagName().length();
-          }
-        }
-        else if (key.equals(ATTRIBUTE_NAME))
-        { // in this case we want to underline the offending attribute name
-          if (node.getNodeType() == Node.ELEMENT_NODE)
-          {
-            XMLElement element = (XMLElement) node;
-            XMLNode attributeNode = (XMLNode) (element.getAttributeNode(nameOrValue));
-            if (attributeNode != null)
-            {
-              startEndPositions[0] = attributeNode.getStartOffset();
-              startEndPositions[1] = attributeNode.getStartOffset() + nameOrValue.length();
-            }
-          }
-        }
-        else if (key.equals(ATTRIBUTE_VALUE))
-        {// in this case we want to underline the attribute's value
-          if (node.getNodeType() == Node.ELEMENT_NODE)
-          {
-            XMLElement element = (XMLElement) node;
-            XMLAttr attributeNode = (XMLAttr) (element.getAttributeNode(nameOrValue));
-            if (attributeNode != null)
-            {
-              startEndPositions[0] = attributeNode.getValueRegionStartOffset();
-              startEndPositions[1] = startEndPositions[0] + attributeNode.getValueRegionText().length();
-            }
-          }
-        }
-        else if (key.equals(TEXT))
-        {// in this case we want to underline the text (but not any extra whitespace)
-          if (node.getNodeType() == Node.TEXT_NODE)
-          {
-            XMLText textNode = (XMLText) node;
-            int start = textNode.getStartOffset();
-            String value = textNode.getNodeValue();
-            int index = 0;
-            char curChar = value.charAt(index);
-            //here we are finding start offset by skipping over whitespace:
-            while (curChar == '\n' || curChar == '\t' || curChar == '\r' || curChar == ' ')
-            {
-              curChar = value.charAt(index);
-              index++;
-              start++;
-            }
-            startEndPositions[0] = start - 1;
-            startEndPositions[1] = start + value.trim().length();
-          }
-          else if (node.getNodeType() == Node.ELEMENT_NODE)
-          {
-            XMLElement element = (XMLElement) node;
-            Node child = element.getFirstChild();
-            if (child instanceof XMLNode)
-            {
-              XMLNode xmlChild = ((XMLNode) child);
-              startEndPositions[0] = xmlChild.getStartOffset();
-              startEndPositions[1] = xmlChild.getEndOffset();
-            }
-          }
-        }
-
-        else if (key.equals(NAME_OF_ATTRIBUTE_WITH_GIVEN_VALUE))
-        {//underline the name of the attribute containing the given value
-          if (node.getNodeType() == Node.ELEMENT_NODE)
-          {          
-            //here we will search through all attributes for the one with the
-            //with the value we want:            
-            NamedNodeMap attributes = node.getAttributes();
-            for (int i=0; i<attributes.getLength(); i++)
-            {
-              XMLAttr attr = (XMLAttr)attributes.item(i);
-              String nodeValue = attr.getNodeValue().trim();
-              if (nodeValue.equals(nameOrValue))
-              { startEndPositions[0] = attr.getValueRegionStartOffset() + 1;
-                startEndPositions[1] = startEndPositions[0] + nodeValue.length();
-                break;
-              }
-            }
-          }
-        }
-      }
-      return startEndPositions;
-    }
-    catch (Exception e)
-    { //e.printStackTrace();
-    }
-    return null;
-  }  
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingReconcileValidatorForXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingReconcileValidatorForXML.java
deleted file mode 100644
index 0511d6a..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingReconcileValidatorForXML.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xml.ui.reconcile;
-
-import org.eclipse.wst.validation.core.IValidator;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-/**
- * @author Mark Hutchinson
- *
- */
-public class DelegatingReconcileValidatorForXML extends DelegatingReconcileValidator
-{
- private final static String VALIDATOR_CLASS = "org.eclipse.wst.xml.validation.internal.ui.eclipse.Validator";
- 
-  public DelegatingReconcileValidatorForXML()
-  { super();
-  }
- 
-  protected IValidator getDelegateValidator()
-  {
-    try
-    {
-      //Get the validator:
-      ValidatorMetaData validatorData = ValidationRegistryReader.getReader().getValidatorMetaData(VALIDATOR_CLASS);
-      return validatorData.getValidator();
-    }
-    catch (Exception e)
-    { //
-    }
-    return null;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepAdapterForXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepAdapterForXML.java
deleted file mode 100644
index 3e0b4be..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepAdapterForXML.java
+++ /dev/null
@@ -1,695 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.reconcile;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManager;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCacheListener;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.xml.core.document.XMLAttr;
-import org.eclipse.wst.xml.core.document.XMLElement;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.eclipse.wst.xml.ui.internal.correction.ProblemIDsXML;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * @deprecated moving toward reconcileValidator extension point
- */
-public class ReconcileStepAdapterForXML extends AbstractReconcileStepAdapter implements CMDocumentCacheListener, IReleasable {
-
-	/**
-	 * Record of notification sent to this adapter. Will be queued up so
-	 * they're not dealt with until reconciling is actually called from the
-	 * reconciler thread.
-	 */
-	public class NotificationEvent {
-
-		public Object changedFeature;
-
-		public int eventType;
-
-		public Object newValue;
-
-		public INodeNotifier notifier;
-
-		public Object oldValue;
-
-		public int pos;
-
-		public NotificationEvent(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-
-			this.notifier = notifier;
-			this.eventType = eventType;
-			this.changedFeature = changedFeature;
-			this.oldValue = oldValue;
-			this.newValue = newValue;
-			this.pos = pos;
-		}
-
-		// used (to see if notifications vector "contains()")
-		// so we don't queue up "duplicate" events,
-		// (indicates same eventType, notifier, and changedFeature)
-		public boolean equals(Object o) {
-
-			boolean result = false;
-			if (o instanceof NotificationEvent) {
-				NotificationEvent e2 = (NotificationEvent) o;
-				if (this.notifier == null || e2.notifier == null || this.changedFeature == null || e2.changedFeature == null) {
-					result = false;
-				}
-				result = (this.eventType == e2.eventType && this.notifier == e2.notifier && this.changedFeature == e2.changedFeature);
-			}
-			return result;
-		}
-	}
-
-	protected boolean fCaseSensitive = true;
-	protected CMDocumentCache fCMDocumentCache;
-	protected DocumentType fDocumentTypeForRefresh;
-
-	protected boolean fNeedsRefreshAll = false;
-
-	// required for thread safety
-	protected List fNotifications = new Vector();
-
-	// these are used in conjunction w/ cacheUpdated() notification
-	// in order to refresh the whole document
-	protected IProgressMonitor fProgressMonitorForRefresh;
-
-	// counter used for repeated reconcile opreations
-	// to yield the thread control to the next thread
-	// to improve workbench performance
-	protected short fReconcileCount = 0;
-
-	// will not attempt to validate attribute names starting with the
-	// following:
-	protected String[] ignoreAttributeNamesStartingWith = new String[]{"xmlns", "xsi:", "xml:"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-	// changing these elements may have an impact on the current content model
-	// (which suggests to mark everything dirty)
-	protected String[] mayImpactContentModel = new String[]{"DOCTYPE", "xmlns", "xsi", "xmlns:xsi", "xmlns:xsl", "xsi:schemaLocation", "taglib"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
-	protected String SEVERITY_MISSING_REQUIRED_ATTR = TemporaryAnnotation.ANNOT_WARNING;
-
-	// severities for the problems discoverable by this reconciler; possibly
-	// user configurable later
-	protected String SEVERITY_STRUCTURE = TemporaryAnnotation.ANNOT_ERROR;
-	protected String SEVERITY_UNKNOWN_ATTR = TemporaryAnnotation.ANNOT_ERROR;
-	protected String SEVERITY_UNKNOWN_ELEMENT = TemporaryAnnotation.ANNOT_ERROR;
-
-	public ReconcileStepAdapterForXML() {
-
-		super();
-	}
-
-	public void cacheCleared(CMDocumentCache arg0) {
-		// do nothing
-	}
-
-	public void cacheUpdated(CMDocumentCache arg0, String arg1, int arg2, int arg3, CMDocument arg4) {
-
-		// revalidate all
-		if (Logger.isTracing(StructuredTextReconciler.TRACE_FILTER)) {
-			String message = "[trace reconciler] >  \r\n====================" + "\n cache updated:" + "\n arg0 :" + arg0 + "\n arg1 :" + arg1 + "\n arg3 :" + arg3 + "\n arg4 :" + arg4; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-			Logger.trace(StructuredTextReconciler.TRACE_FILTER, message);
-		}
-		if (arg3 == CMDocumentCache.STATUS_LOADED) {
-			Logger.trace(StructuredTextReconciler.TRACE_FILTER, "CMDocument finished loading :" + arg1); //$NON-NLS-1$
-			doRefreshAll((INodeNotifier) fDocumentTypeForRefresh, fProgressMonitorForRefresh);
-		}
-	}
-
-	protected IReconcileResult[] doRefreshAll(INodeNotifier notifier, IProgressMonitor monitor) {
-
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] > refreshing all"); //$NON-NLS-1$
-
-		synchronized (fDirtyElements) {
-			fDirtyElements.clear();
-		}
-		Document doc = (((Node) notifier).getNodeType() != Node.DOCUMENT_NODE) ? ((Node) notifier).getOwnerDocument() : (Document) notifier;
-		return reconcileSubtree((INodeNotifier) doc, monitor);
-	}
-
-	protected ModelQuery getModelQuery(Node node) {
-
-		return (node.getNodeType() == Node.DOCUMENT_NODE) ? ModelQueryUtil.getModelQuery((Document) node) : ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-	}
-
-	/**
-	 * returns a list of required CMAttributeDeclarations for the given
-	 * element.
-	 * 
-	 * @param elementDecl
-	 * 
-	 */
-	protected List getRequiredAttributes(CMElementDeclaration elementDecl) {
-
-		CMNamedNodeMap attrMap = elementDecl.getAttributes();
-		Iterator it = attrMap.iterator();
-		CMAttributeDeclaration attr = null;
-		List result = new ArrayList();
-		while (it.hasNext()) {
-			attr = (CMAttributeDeclaration) it.next();
-			if (attr.getUsage() == CMAttributeDeclaration.REQUIRED) {
-				result.add(attr);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Determine if this Document is an XML/XHTML Document and whether to be
-	 * case sensitive
-	 */
-	protected boolean isCaseSensitive(Node node) {
-
-		return true;
-	}
-
-	// CMVC 254838
-	/**
-	 * Indicates if the element is not in the ContentModel (if it's not in the
-	 * ContentModel, but its parent is)
-	 * 
-	 * @param element
-	 * @param modelQuery
-	 * @return whether or not the element is unknown according to its
-	 *         associated ContentModel.
-	 */
-	protected boolean isUnknown(Element element, ModelQuery modelQuery) {
-
-		boolean result = false;
-		CMElementDeclaration ed = modelQuery.getCMElementDeclaration(element);
-		if (ed == null) {
-			// make sure parent declaration exists, and is not inferred
-			Node parentNode = element.getParentNode();
-			if (parentNode != null && parentNode.getNodeType() == Node.ELEMENT_NODE) {
-				CMElementDeclaration parentEd = modelQuery.getCMElementDeclaration((Element) parentNode);
-				// 2/19/04 porting iFix for lax schema suppport
-				result = (parentEd != null) && !Boolean.TRUE.equals(parentEd.getProperty("isInferred")) //$NON-NLS-1$
-							&& !Boolean.TRUE.equals(parentEd.getProperty("isLax")); //$NON-NLS-1$
-			}
-			// need one error for the root at least
-			// to indicate the document is wrong...
-			Document ownerDoc = element.getOwnerDocument();
-			if (ownerDoc != null && ownerDoc.getDocumentElement() == element) {
-				CMDocument cmDoc = modelQuery.getCorrespondingCMDocument(ownerDoc);
-				result = (cmDoc != null && cmDoc.getElements().getLength() > 0);
-			}
-		} else {
-			if (ed.getProperty("isInferred") != null && Boolean.TRUE.equals(ed.getProperty("isInferred")) //$NON-NLS-1$ //$NON-NLS-2$
-						|| (ed.getProperty("partialContentModel") != null && Boolean.TRUE.equals(ed.getProperty("partialContentModel")))) { //$NON-NLS-1$ //$NON-NLS-2$
-				result = false;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Checks if name matches any mayImpactContentModel[] strings
-	 * 
-	 * @param name
-	 * @return if a match is found, return true, else return false
-	 */
-	private boolean mayAffectContentModel(String name) {
-
-		// TODO (pa) may need to be smarter if the attribute name is broken...
-		StringTokenizer st = new StringTokenizer(name, ":", false); //$NON-NLS-1$
-		String prefix = ""; //$NON-NLS-1$
-		if (st.hasMoreTokens())
-			prefix = st.nextToken();
-		for (int i = 0; i < mayImpactContentModel.length; i++) {
-			if (mayImpactContentModel[i].indexOf(name) != -1 || mayImpactContentModel[i].startsWith(prefix))
-				return true;
-		}
-		return false;
-	}
-
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-
-		synchronized (fNotifications) {
-			NotificationEvent newEvent = new NotificationEvent(notifier, eventType, changedFeature, oldValue, newValue, pos);
-			if (!fNotifications.contains(newEvent))
-				fNotifications.add(newEvent);
-		}
-	}
-
-
-	public void processNotification(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos, IProgressMonitor monitor) {
-
-		if (isCanceled(monitor))
-			return;
-
-		// (nsd) pa_TODO: we need to mark more or widen the scope affected by
-		// the next reconcile() call
-		// TODO: Handle multi-Node changes from Doctype Declarations, Taglib
-		// directives,
-		// and schema and namespace related attributes (DOCTYPE, taglib,
-		// xmlns,
-		// xsi...)
-		// ** we currently don't get a notify on changed taglib...
-
-		// we're going to validate everything again anyways after
-		// proccessNotifications() has completed (in reconcile():
-		// processNotifications() > refreshAll()),
-		// no sense to do it here if we refreshingAll
-		if (fNeedsRefreshAll)
-			return;
-		if (eventType == INodeNotifier.CHANGE || eventType == INodeNotifier.REMOVE) {
-			if (changedFeature instanceof Node && ((Node) changedFeature).getNodeType() == Node.ATTRIBUTE_NODE) {
-				if (mayAffectContentModel(((Node) changedFeature).getNodeName())) {
-					fNeedsRefreshAll = true;
-				}
-			} else if (changedFeature instanceof Node && ((Node) changedFeature).getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-				fNeedsRefreshAll = true;
-			} else if (notifier instanceof Node && ((Node) notifier).getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-				fNeedsRefreshAll = true;
-			} else {
-				// pa_TODO need to handle taglib definition changes...
-				// if(mayAffectContentModel(((Node)changedFeature).getNodeName()))
-				// {
-				// System.out.println("dunno what changed > " +
-				// changedFeature);
-				// fNeedsRefreshAll = true;
-				// }
-			}
-			if (isCanceled(monitor))
-				return;
-			fNeedsRefreshAll = true;
-		}
-		if (eventType == INodeNotifier.CHANGE && changedFeature instanceof Element) {
-			markForReconciling(changedFeature);
-		} else if (eventType == INodeNotifier.ADD && newValue instanceof Node) {
-			Node newNode = (Node) newValue;
-			if (newNode.getNodeType() == Node.DOCUMENT_TYPE_NODE || newNode.getNodeName().equals("jsp:directive.taglib")) { // $NON-NLS-1$
-				// //$NON-NLS-1$
-				fNeedsRefreshAll = true;
-			} else {
-				markForReconciling(newNode);
-			}
-		}
-		markForReconciling(notifier);
-	}
-
-	protected void processNotifications(IProgressMonitor monitor) {
-
-		fProgressMonitorForRefresh = monitor;
-		NotificationEvent[] events = null;
-		synchronized (fNotifications) {
-			if (fNotifications.isEmpty()) {
-				return;
-			}
-			events = (NotificationEvent[]) fNotifications.toArray(new NotificationEvent[0]);
-			fNotifications.clear();
-		}
-		for (int i = 0; i < events.length; i++) {
-			processNotification(events[i].notifier, events[i].eventType, events[i].changedFeature, events[i].oldValue, events[i].newValue, events[i].pos, monitor);
-		}
-	}
-
-
-	public IReconcileResult[] reconcile(IProgressMonitor monitor, XMLNode xmlNode) {
-
-		processNotifications(monitor);
-		IReconcileResult[] results = EMPTY_RECONCILE_RESULT_SET;
-		if (fNeedsRefreshAll) {
-			results = doRefreshAll(xmlNode, monitor);
-			fNeedsRefreshAll = false;
-		} else {
-			results = super.reconcile(monitor, xmlNode);
-		}
-		return results;
-	}
-
-	/**
-	 * Called by super.reconcile(IAnnotationModel) on each Notifier
-	 * 
-	 */
-	protected IReconcileResult[] reconcile(Object o, IProgressMonitor monitor) {
-
-		super.reconcile(o, monitor);
-		ModelQuery mq = null;
-		if (o instanceof XMLNode) {
-			XMLNode xmlNode = (XMLNode) o;
-			mq = getModelQuery(xmlNode);
-			if (mq != null) {
-				fCaseSensitive = isCaseSensitive(xmlNode);
-				return validate(mq, xmlNode);
-			}
-		}
-
-		// if we are in a large reconciling loop (like when reconciling the
-		// entire doc), this ensures
-		// that other Threads have a chance to run.
-		yieldIfNeeded();
-		return EMPTY_RECONCILE_RESULT_SET;
-	}
-
-	/**
-	 * Reconcile the Node and all children of the Notifier passed in.
-	 * 
-	 * @param notifier
-	 * @param monitor
-	 */
-	protected IReconcileResult[] reconcileSubtree(INodeNotifier notifier, IProgressMonitor monitor) {
-
-		IReconcileResult[] temp = EMPTY_RECONCILE_RESULT_SET;
-		List results = new ArrayList();
-		if (!isCanceled(monitor)) {
-			if (notifier != null && notifier instanceof XMLNode) {
-				XMLNode current = (XMLNode) notifier;
-				// loop siblings
-				while (current != null) {
-					// mark whatever type nodes we wanna make dirty
-					if (current.getNodeType() == Node.ELEMENT_NODE || current.getNodeType() == Node.DOCUMENT_TYPE_NODE || current.getNodeType() == Node.DOCUMENT_NODE || current.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
-						temp = reconcile(current, monitor);
-						for (int i = 0; i < temp.length; i++)
-							results.add(temp[i]);
-					}
-					// drop one level deeper if necessary
-					if (current.getFirstChild() != null) {
-						temp = reconcileSubtree((INodeNotifier) current.getFirstChild(), monitor);
-						for (int i = 0; i < temp.length; i++)
-							results.add(temp[i]);
-					}
-					current = (XMLNode) current.getNextSibling();
-				}
-			}
-			temp = new IReconcileResult[results.size()];
-			System.arraycopy(results.toArray(), 0, temp, 0, results.size());
-		}
-		return temp;
-	}
-
-	/**
-	 * Called from the ReconcileAdapterFactory
-	 * 
-	 */
-	public void release() {
-
-		if (fCMDocumentCache != null) {
-			fCMDocumentCache.removeListener(this);
-			fCMDocumentCache = null;
-		}
-	}
-
-	/**
-	 * Determines whether the given Attr should not be validated according to
-	 * the ignoreAttributeNamesStartingWith array
-	 * 
-	 * @param attr
-	 */
-	protected boolean shouldIgnore(Attr attr) {
-
-		boolean result = false;
-		String name = attr.getNodeName();
-		for (int i = 0; i < ignoreAttributeNamesStartingWith.length; i++) {
-			if (fCaseSensitive) {
-				if (name.startsWith(ignoreAttributeNamesStartingWith[i]))
-					result = true;
-			} else {
-				try {
-					if (name.length() >= ignoreAttributeNamesStartingWith[i].length() && ignoreAttributeNamesStartingWith[i].equalsIgnoreCase(name.substring(0, ignoreAttributeNamesStartingWith[i].length())))
-						result = true;
-				} catch (StringIndexOutOfBoundsException e) {
-					result = true;
-				}
-			}
-		}
-		return result;
-	}
-
-	private void updateCMDocumentCache(ModelQuery mq, XMLNode xmlNode) {
-
-		if (mq != null) {
-			CMDocumentManager cmDocManager = mq.getCMDocumentManager();
-			if (cmDocManager != null) {
-				CMDocumentCache newCache = cmDocManager.getCMDocumentCache();
-				if (newCache != null) {
-					if (fCMDocumentCache == null) {
-						// create fCMDocCache if necessary
-						fCMDocumentCache = newCache;
-						fCMDocumentCache.addListener(this);
-						fDocumentTypeForRefresh = (DocumentType) xmlNode;
-					} else if (fCMDocumentCache != newCache) {
-						fCMDocumentCache.removeListener(this);
-						fCMDocumentCache = newCache;
-						fCMDocumentCache.addListener(this);
-						fDocumentTypeForRefresh = (DocumentType) xmlNode;
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Called by reconcile(IAnnotationModel, Object) when the Object is a
-	 * Notifier
-	 * 
-	 */
-	protected IReconcileResult[] validate(ModelQuery mq, XMLNode xmlNode) {
-
-		List results = new ArrayList();
-		if (xmlNode == null || !(xmlNode.getNodeType() == Node.ELEMENT_NODE || xmlNode.getNodeType() == Node.DOCUMENT_TYPE_NODE))
-			return EMPTY_RECONCILE_RESULT_SET;
-		// return early if the Node has gone stale
-		if (xmlNode.getParentNode() == null || xmlNode.getOwnerDocument() == null) {
-			return EMPTY_RECONCILE_RESULT_SET;
-		}
-		if (xmlNode.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-			// sets CMDocumentCacheListener (this)
-			updateCMDocumentCache(mq, xmlNode);
-		}
-		CMDocument doc = mq.getCorrespondingCMDocument(xmlNode.getOwnerDocument());
-		// looks like this is a bad check to do... I thought we took it out
-		// before
-		// if(doc == null)
-		// return EMPTY_RECONCILE_RESULT_SET;
-		if (doc != null && doc.getElements().getLength() == 0) {
-			// an empty document
-			return EMPTY_RECONCILE_RESULT_SET;
-		}
-		// continue on null or FALSE; inferred grammars aren't predefined so
-		// there's no point in continuing
-		if (doc != null && doc.getProperty("isInferred") != null && Boolean.TRUE.equals(doc.getProperty("isInferred"))) { //$NON-NLS-1$ //$NON-NLS-2$
-			return EMPTY_RECONCILE_RESULT_SET;
-		}
-
-		// if xmlNode is DOCTYPE, skip to the first element
-		// if there are no elements, return (don't validate)
-		XMLNode elementNode = xmlNode;
-		if (xmlNode.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-			boolean elementFound = false;
-			while ((elementNode = (XMLNode) elementNode.getNextSibling()) != null) {
-				if (elementNode.getNodeType() == Node.ELEMENT_NODE) {
-					elementFound = true;
-					break;
-				}
-			}
-			if (!elementFound)
-				return EMPTY_RECONCILE_RESULT_SET;
-		}
-		XMLElement element = (XMLElement) elementNode;
-		// boolean needsEndTag = true;
-
-		// test for a known element, if it's known, continue validating it
-		CMElementDeclaration elementDecl = mq.getCMElementDeclaration(element);
-		if (elementDecl != null) {
-			// needsEndTag = needsEndTag(elementNode, elementDecl);
-			NamedNodeMap attrs = element.getAttributes();
-			List reqAttrList = getRequiredAttributes(elementDecl);
-			for (int i = 0; i < attrs.getLength(); i++) {
-				XMLAttr attr = (XMLAttr) attrs.item(i);
-				if (!shouldIgnore(attr)) {
-
-					// iFix V511i
-					// CMVC 272647, attributes with namespace prefix get
-					// marked
-					// as error (even though they aren't)
-					// CMNode attrDecl =
-					// elementDecl.getAttributes().getNamedItem(attr.getNodeName());
-					CMNode attrDecl = elementDecl.getAttributes().getNamedItem(attr.getLocalName());
-
-					// test for a known attribute
-					if (attrDecl != null) {
-						// test for a known value (if there is an enumerated
-						// list of them)
-						String[] values = mq.getPossibleDataTypeValues(element, attrDecl);
-						String currentValue = attr.getValue();
-						boolean found = valueMatch(values, currentValue);
-						if (!found) {
-							int start = attr.getValueRegionStartOffset();
-							int length = attr.getValueRegion().getTextLength();
-							Object[] args = {currentValue.trim()};
-							String message = SSEUIPlugin.getResourceString("%Invalid_value_{0}", args);
-							Position p = new Position(start, length);
-							ReconcileAnnotationKey key = createKey(elementNode.getFirstStructuredDocumentRegion(), ReconcileAnnotationKey.PARTIAL);
-							results.add(new TemporaryAnnotation(p, SEVERITY_UNKNOWN_ATTR, message, key));
-						}
-						// remove from known required attribute list
-						reqAttrList.remove(attrDecl);
-					} else {
-						Object[] args = {attr.getName()};
-						String message = SSEUIPlugin.getResourceString("%Unknown_attribute_{0}", args);
-						int start = attr.getNameRegionStartOffset();
-						int length = attr.getNameRegion().getTextLength();
-						Position p = new Position(start, length);
-						ReconcileAnnotationKey key = createKey(elementNode.getFirstStructuredDocumentRegion(), ReconcileAnnotationKey.PARTIAL);
-						results.add(new TemporaryAnnotation(p, SEVERITY_UNKNOWN_ATTR, message, key, ProblemIDsXML.UnknownAttr));
-					}
-				} else {
-					// remove so we don't flag "ignored" attributes as missing
-					reqAttrList.remove(elementDecl.getAttributes().getNamedItem(attr.getNodeName()));
-				}
-			}
-			// if there are missing required attributes, create annotations
-			// for
-			// them
-			if (reqAttrList != null && !reqAttrList.isEmpty()) {
-				Iterator it = reqAttrList.iterator();
-				int start = 0;
-				int length = 1;
-				CMAttributeDeclaration attr = null;
-				while (it.hasNext()) {
-					attr = (CMAttributeDeclaration) it.next();
-					// sometimes getFirstStructuredDocumentRegion can return
-					// null, this is a safety
-					start = (element.getFirstStructuredDocumentRegion() != null) ? element.getFirstStructuredDocumentRegion().getStartOffset() : element.getStartOffset();
-					length = (element.getFirstStructuredDocumentRegion() != null) ? element.getFirstStructuredDocumentRegion().getLength() : 1;
-
-					Object[] args = {attr.getAttrName()};
-					String message = SSEUIPlugin.getResourceString("%Missing_required_attribute_{0}", args);
-
-					Position p = new Position(start, length);
-					ReconcileAnnotationKey key = createKey(elementNode.getFirstStructuredDocumentRegion(), ReconcileAnnotationKey.PARTIAL);
-					TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_MISSING_REQUIRED_ATTR, message, key, ProblemIDsXML.MissingRequiredAttr);
-
-					IStructuredDocumentRegion startStructuredDocumentRegion = element.getStartStructuredDocumentRegion();
-					if (startStructuredDocumentRegion != null) {
-						String requiredAttrName = attr.getAttrName();
-						String defaultAttrValue = attr.getDefaultValue();
-						String insertString;
-						if (defaultAttrValue == null)
-							insertString = requiredAttrName + "=\"" + requiredAttrName + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-						else
-							insertString = requiredAttrName + "=\"" + defaultAttrValue + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-
-						ITextRegion lastRegion = startStructuredDocumentRegion.getLastRegion();
-						int insertOffset = lastRegion.getEnd();
-						if (lastRegion.getEnd() == lastRegion.getTextEnd())
-							insertString = " " + insertString; //$NON-NLS-1$
-						if (lastRegion.getType() == XMLRegionContext.XML_TAG_CLOSE)
-							insertOffset = lastRegion.getStart();
-						Object[] additionalFixInfo = {insertString, new Integer(insertOffset)};
-						annotation.setAdditionalFixInfo(additionalFixInfo);
-						results.add(annotation);
-					}
-				}
-			}
-		} else if (isUnknown(element, mq)) { // CMVC 254838
-			int start = element.getStartOffset();
-			int length = element.getEndOffset() - element.getStartOffset();
-			if (element.getStartStructuredDocumentRegion() != null && element.getStartStructuredDocumentRegion().getNumberOfRegions() > 1) {
-				ITextRegion name = element.getStartStructuredDocumentRegion().getRegions().get(1);
-				start = element.getStartStructuredDocumentRegion().getStartOffset(name);
-				length = name.getTextLength();
-			}
-			Object[] args = {element.getNodeName()};
-			String message = SSEUIPlugin.getResourceString("%Unknown_element_{0}", args);
-			Position p = new Position(start, length);
-			ReconcileAnnotationKey key = createKey(elementNode.getFirstStructuredDocumentRegion(), ReconcileAnnotationKey.PARTIAL);
-			TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_UNKNOWN_ELEMENT, message, key, ProblemIDsXML.UnknownElement);
-
-			// quick fix info
-			int startTagOffset = -1, startTagLength = -1, endTagOffset = -1, endTagLength = -1;
-			if (element.getStartStructuredDocumentRegion() != null) {
-				startTagOffset = element.getStartStructuredDocumentRegion().getStartOffset();
-				startTagLength = element.getStartStructuredDocumentRegion().getLength();
-			}
-			if (element.getEndStructuredDocumentRegion() != null) {
-				endTagOffset = element.getEndStructuredDocumentRegion().getStartOffset();
-				endTagLength = element.getEndStructuredDocumentRegion().getLength();
-			}
-			Object[] additionalFixInfo = {new Integer(startTagOffset), new Integer(startTagLength), new Integer(endTagOffset), new Integer(endTagLength)};
-
-			annotation.setAdditionalFixInfo(additionalFixInfo);
-			results.add(annotation);
-		}
-		IReconcileResult[] reconcileResults = new IReconcileResult[results.size()];
-		System.arraycopy(results.toArray(), 0, reconcileResults, 0, results.size());
-		return reconcileResults;
-	}
-
-	/**
-	 * Determines if String value is within the values array given the current
-	 * case sensitivity
-	 * 
-	 * @param values
-	 * @param value
-	 */
-	protected boolean valueMatch(String[] values, String value) {
-
-		boolean found = (values == null || values.length == 0 || value.length() == 0);
-		for (int j = 0; j < values.length && !found; j++) {
-			if (fCaseSensitive) {
-				if (values[j].equals(value))
-					found = true;
-			} else if (values[j].equalsIgnoreCase(value))
-				found = true;
-		}
-		return found;
-	}
-
-	// CMVC 255301
-	// If we are in a large reconciling loop, this ensures
-	// that other Threads have a chance to run.
-	protected void yieldIfNeeded() {
-
-		// 100 is arbitrary, may need a better number
-		if (fReconcileCount >= 100) {
-			Thread.yield();
-			fReconcileCount = 0;
-		} else {
-			fReconcileCount++;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepForContentModel.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepForContentModel.java
deleted file mode 100644
index 208543f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepForContentModel.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.reconcile;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.PropagatingAdapter;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileStepAdapter;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.Logger;
-
-
-/**
- * A reconcile step for ContentModel based documents.
- * @deprecated using reconcileValidator extension point
- */
-public class ReconcileStepForContentModel extends StructuredReconcileStep {
-	private HashSet fLocalPartitionTypes = null;
-
-	protected boolean fRanInitialValidate = false;
-
-	public ReconcileStepForContentModel() {
-		super();
-		fLocalPartitionTypes = new HashSet();
-	}
-
-	public ReconcileStepForContentModel(StructuredTextViewer viewer, IReconcileStep step) {
-		super(step);
-		fLocalPartitionTypes = new HashSet();
-	}
-
-	private void addPartitionTypes(String[] types) {
-		for (int i = 0; i < types.length; i++)
-			fLocalPartitionTypes.add(types[i]);
-	}
-
-	/**
-	 * Need to add partition types for ReconcileStepAdapterForXML here...
-	 * 
-	 */
-	public String[] getPartitionTypes() {
-		String[] superPartitionTypes = super.getPartitionTypes();
-		String[] results = new String[superPartitionTypes.length + fLocalPartitionTypes.size()];
-		System.arraycopy(superPartitionTypes, 0, results, 0, superPartitionTypes.length);
-		System.arraycopy(fLocalPartitionTypes.toArray(), 0, results, superPartitionTypes.length, fLocalPartitionTypes.size());
-		return results;
-	}
-
-	public int getScope() {
-		return ReconcileAnnotationKey.PARTIAL;
-	}
-
-	public void initialValidate() {
-
-		// (pa) perf: add the adapter for every node here
-		XMLModel xModel = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-		XMLDocument doc = xModel.getDocument();
-		xModel.releaseFromRead();
-		PropagatingAdapter propagatingAdapter = (PropagatingAdapter) doc.getAdapterFor(PropagatingAdapter.class);
-
-		List factories = propagatingAdapter.getAdaptOnCreateFactories();
-		ReconcilerAdapterFactoryForXML rAdapterFactoryForXML = null;
-		AdapterFactory temp = null;
-		// find the ReconcileStepAdapterFactory
-		for (int i = 0; i < factories.size(); i++) {
-			temp = (AdapterFactory) factories.get(i);
-			if (temp.isFactoryForType(IReconcileStepAdapter.class)) {
-				rAdapterFactoryForXML = (ReconcilerAdapterFactoryForXML) temp;
-				break;
-			}
-		}
-
-		if (rAdapterFactoryForXML != null) {
-			rAdapterFactoryForXML.setShouldMarkForReconciling(false);
-			initialValidateTree(doc, rAdapterFactoryForXML);
-			rAdapterFactoryForXML.setShouldMarkForReconciling(true);
-		}
-	}
-
-	/**
-	 * Mark the INodeNotifier (Node) and all children of the INodeNotifier
-	 * passed in.
-	 * 
-	 * @param notifier
-	 */
-	protected void initialValidateTree(INodeNotifier notifier, AdapterFactory rAdapterFactoryForXML) {
-		if (isCanceled())
-			return;
-
-		if (notifier != null && notifier instanceof XMLNode) {
-			XMLNode current = (XMLNode) notifier;
-			IReconcileStepAdapter adapter = null;
-			// loop siblings
-			// pa_TODO for large XML files this loop goes for a LONG time
-			// and the progress monitor never gets canceled
-			while (current != null && !isCanceled()) {
-				// adapt this notifier
-				adapter = (IReconcileStepAdapter) rAdapterFactoryForXML.adapt(current);
-				if (adapter != null) {
-//					((AbstractReconcileStepAdapter) adapter).setParentStep(this);
-//					adapter.markForReconciling(current);
-//					current.addAdapter(adapter);
-//					adapter.reconcile(getProgressMonitor(), current);
-				}
-				if (current.getFirstChild() != null) {
-					initialValidateTree((XMLNode) current.getFirstChild(), rAdapterFactoryForXML);
-				}
-				current = (XMLNode) current.getNextSibling();
-			}
-		}
-	}
-
-
-	// Determines whether the IStructuredDocumentRegion is a XML "end tag"
-	// since they're not allowed to have
-	// attribute ITextRegions
-	protected boolean isEndTag(IStructuredDocumentRegion structuredDocumentRegion) {
-		return structuredDocumentRegion.getFirstRegion().getType() == XMLRegionContext.XML_END_TAG_OPEN;
-	}
-
-	// Determines whether the IStructuredDocumentRegion is a XML "start tag"
-	// since they need to be
-	// checked for proper XML attribute region sequences
-	protected boolean isStartTag(IStructuredDocumentRegion structuredDocumentRegion) {
-		return structuredDocumentRegion.getFirstRegion().getType() == XMLRegionContext.XML_TAG_OPEN;
-	}
-
-	// Because we check the "proper" closing separately from attribute
-	// sequencing, we need to know what's
-	// an appropriate close.
-	protected boolean isTagCloseTextRegion(ITextRegion textRegion) {
-		return textRegion.getType() == XMLRegionContext.XML_TAG_CLOSE || textRegion.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.internal.ui.text.StructuredReconcileStep#reconcileModel(org.eclipse.jface.text.reconciler.DirtyRegion,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-		if (dirtyRegion == null)
-			return EMPTY_RECONCILE_RESULT_SET;
-
-		// logging ------------------
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] > reconciling model in CONTENT MODEL step w/ dirty region: [" + dirtyRegion.getOffset() + ":" + dirtyRegion.getLength() + "]" + dirtyRegion.getText()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		// --------------------------
-
-		int start = dirtyRegion.getOffset();
-		int length = dirtyRegion.getLength();
-
-		IReconcileResult[] results = validate(start, length);
-
-		// logging ------------------
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] > CONTENT MODEL step done"); //$NON-NLS-1$
-		// --------------------------
-		return results;
-	}
-
-	/**
-	 * Forces the IReconcilerAdapters for XMLNodes overlapping the given
-	 * region to "validate" their Nodes.
-	 * 
-	 * @param startOffset
-	 * @param length
-	 */
-	protected IReconcileResult[] validate(int startOffset, int length) {
-		List results = new ArrayList();
-		IReconcileResult[] temp = EMPTY_RECONCILE_RESULT_SET;
-
-		if (!fRanInitialValidate) {
-			initialValidate();
-			fRanInitialValidate = true;
-		} else {
-			XMLModel model = (XMLModel) StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-			int endOffset = startOffset + length;
-
-			IndexedRegion indexedNode = model.getIndexedRegion(startOffset);
-			IReconcileStepAdapter adapter = null;
-
-			// sometimes for single key type length can be 0 (startOffset ==
-			// endOffset)
-			for (int i = startOffset; indexedNode != null && i <= endOffset && !isCanceled(); i++) {
-
-				XMLNode xmlNode = (XMLNode) indexedNode;
-				adapter = (IReconcileStepAdapter) xmlNode.getAdapterFor(IReconcileStepAdapter.class);
-				if (adapter != null) {
-					temp = adapter.reconcile(getProgressMonitor(), xmlNode);
-					for (int j = 0; j < temp.length; j++)
-						results.add(temp[j]);
-					// this is for removal purposes later
-					addPartitionTypes(adapter.getPartitionTypes());
-				}
-				//	visited.add(indexedNode);
-				if (xmlNode.getFirstStructuredDocumentRegion() != null)
-					i += xmlNode.getFirstStructuredDocumentRegion().getLength();
-				else
-					i++;
-
-				indexedNode = model.getIndexedRegion(i);
-			}
-			model.releaseFromRead();
-		}
-		return (IReconcileResult[]) results.toArray(new IReconcileResult[results.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepForMarkup.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepForMarkup.java
deleted file mode 100644
index 0f5fe8d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepForMarkup.java
+++ /dev/null
@@ -1,601 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.reconcile;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.correction.ProblemIDsXML;
-import org.w3c.dom.Node;
-
-/**
- * Basic XML syntax checking step.
- * 
- * @author pavery
- */
-public class ReconcileStepForMarkup extends StructuredReconcileStep {
-	private String DQUOTE = "\""; //$NON-NLS-1$
-
-	protected String SEVERITY_ATTR_MISSING_VALUE = TemporaryAnnotation.ANNOT_ERROR;
-	protected String SEVERITY_ATTR_NO_VALUE = TemporaryAnnotation.ANNOT_ERROR;
-	// severities for the problems discoverable by this reconciler; possibly
-	// user configurable later
-	protected String SEVERITY_GENERIC_ILLFORMED_SYNTAX = TemporaryAnnotation.ANNOT_WARNING;
-	protected String SEVERITY_STRUCTURE = TemporaryAnnotation.ANNOT_ERROR;
-	protected String SEVERITY_SYNTAX_ERROR = TemporaryAnnotation.ANNOT_ERROR;
-	// used for attribute quote checking
-	private String SQUOTE = "'"; //$NON-NLS-1$
-
-	public ReconcileStepForMarkup() {
-		super();
-	}
-
-	public ReconcileStepForMarkup(IReconcileStep step) {
-		super(step);
-	}
-
-	private void addAttributeError(String message, String attributeValueText, int start, int length, int problemId, IStructuredDocumentRegion sdRegion, List results) {
-        
-        if (sdRegion.isDeleted())
-            return;
-        
-        Position p = new Position(start, length);
-		ReconcileAnnotationKey key = createKey(sdRegion, getScope());
-		TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_SYNTAX_ERROR, message, key, problemId);
-		annotation.setAdditionalFixInfo(attributeValueText);
-		results.add(annotation);
-	}
-
-	private void checkAttributesInEndTag(IStructuredDocumentRegion structuredDocumentRegion, List results) {
-        
-        if(structuredDocumentRegion.isDeleted())
-            return;
-        
-		ITextRegionList textRegions = structuredDocumentRegion.getRegions();
-		int errorCount = 0;
-		int start = structuredDocumentRegion.getEndOffset();
-		int end = structuredDocumentRegion.getEndOffset();
-		for (int i = 0; i < textRegions.size() && errorCount < ELEMENT_ERROR_LIMIT && !structuredDocumentRegion.isDeleted(); i++) {
-			ITextRegion textRegion = textRegions.get(i);
-			if (textRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME || textRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS || textRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				if (start > structuredDocumentRegion.getStartOffset(textRegion))
-					start = structuredDocumentRegion.getStartOffset(textRegion);
-				end = structuredDocumentRegion.getEndOffset(textRegion);
-				errorCount++;
-			}
-		}
-		// create one error for all attributes in the end tag
-		if (errorCount > 0) {
-			Position p = new Position(start, end - start);
-			String message = SSEUIPlugin.getResourceString("%End_tag_has_attributes"); //$NON-NLS-1$
-			results.add(new TemporaryAnnotation(p, SEVERITY_GENERIC_ILLFORMED_SYNTAX, message, createKey(structuredDocumentRegion, getScope()), ProblemIDsXML.AttrsInEndTag));
-		}
-	}
-
-
-	/**
-	 * @param structuredDocumentRegion
-	 * @param results
-	 */
-	private void checkClosingBracket(IStructuredDocumentRegion structuredDocumentRegion, List results) {
-        
-        if(structuredDocumentRegion.isDeleted())
-            return;
-        
-		ITextRegionList regions = structuredDocumentRegion.getRegions();
-		ITextRegion r = null;
-		boolean closed = false;
-		for (int i = 0; i < regions.size()  && !structuredDocumentRegion.isDeleted(); i++) {
-			r = regions.get(i);
-			if (r.getType() == XMLRegionContext.XML_TAG_CLOSE || r.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE)
-				closed = true;
-		}
-		if (!closed) {
-
-			String message = SSEUIPlugin.getResourceString("%ReconcileStepForMarkup.6"); //$NON-NLS-1$
-
-			int start = structuredDocumentRegion.getStartOffset();
-			int length = structuredDocumentRegion.getText().trim().length();
-			Position p = new Position(start, length);
-			ReconcileAnnotationKey key = createKey(structuredDocumentRegion, getScope());
-
-			TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_SYNTAX_ERROR, message, key, ProblemIDsXML.MissingClosingBracket);
-			results.add(annotation);
-		}
-	}
-
-	private void checkEmptyTag(IStructuredDocumentRegion structuredDocumentRegion, List results) {
-        
-        if(structuredDocumentRegion.isDeleted())
-            return;
-        
-		// navigate to name
-		ITextRegionList regions = structuredDocumentRegion.getRegions();
-		if (regions.size() == 2) {
-			// missing name region
-			if (regions.get(0).getType() == XMLRegionContext.XML_TAG_OPEN && regions.get(1).getType() == XMLRegionContext.XML_TAG_CLOSE) {
-				String message = SSEUIPlugin.getResourceString("%ReconcileStepForMarkup.3"); //$NON-NLS-1$
-				int start = structuredDocumentRegion.getStartOffset();
-				int length = structuredDocumentRegion.getLength();
-				Position p = new Position(start, length);
-				ReconcileAnnotationKey key = createKey(structuredDocumentRegion, getScope());
-
-				TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_SYNTAX_ERROR, message, key, ProblemIDsXML.EmptyTag);
-				results.add(annotation);
-			}
-		}
-	}
-
-	private void checkForAttributeValue(IStructuredDocumentRegion structuredDocumentRegion, List results) {
-        
-        if(structuredDocumentRegion.isDeleted())
-            return;
-        
-		// check for attributes without a value
-		// track the attribute/equals/value sequence using a state of 0, 1 ,2
-		// representing the name, =, and value, respectively
-		int attrState = 0;
-		ITextRegionList textRegions = structuredDocumentRegion.getRegions();
-		ReconcileAnnotationKey key = createKey(structuredDocumentRegion, getScope());
-		int errorCount = 0;
-		for (int i = 0; i < textRegions.size() && errorCount < ELEMENT_ERROR_LIMIT; i++) {
-			ITextRegion textRegion = textRegions.get(i);
-			if (textRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME || isTagCloseTextRegion(textRegion)) {
-				// dangling name and '='
-				if (attrState == 2 && i >= 2) {
-					// create annotation
-					ITextRegion nameRegion = textRegions.get(i - 2);
-					Object[] args = {structuredDocumentRegion.getText(nameRegion)};
-					String message = SSEUIPlugin.getResourceString("%Attribute_{0}_is_missing_a_value", args);
-					int start = structuredDocumentRegion.getStartOffset(nameRegion);
-					int end = structuredDocumentRegion.getTextEndOffset(nameRegion);
-					Position p = new Position(start, end - start);
-					TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_ATTR_MISSING_VALUE, message, key, ProblemIDsXML.MissingAttrValue);
-
-					// quick fix info
-					ITextRegion equalsRegion = textRegions.get(i - 2 + 1);
-					int insertOffset = structuredDocumentRegion.getTextEndOffset(equalsRegion) - end;
-					Object[] additionalFixInfo = {structuredDocumentRegion.getText(nameRegion), new Integer(insertOffset)};
-					annotation.setAdditionalFixInfo(additionalFixInfo);
-
-					results.add(annotation);
-					errorCount++;
-				}
-				// name but no '=' (XML only)
-				else if (attrState == 1 && i >= 1) {
-					// create annotation
-					ITextRegion previousRegion = textRegions.get(i - 1);
-					Object[] args = {structuredDocumentRegion.getText(previousRegion)};
-					String message = SSEUIPlugin.getResourceString("%Attribute_{0}_has_no_value", args);
-					int start = structuredDocumentRegion.getStartOffset(previousRegion);
-					int end = structuredDocumentRegion.getTextEndOffset(previousRegion);
-					Position p = new Position(start, end - start);
-					TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_ATTR_NO_VALUE, message, key, ProblemIDsXML.NoAttrValue);
-
-					// quick fix info
-					annotation.setAdditionalFixInfo(structuredDocumentRegion.getText(previousRegion));
-
-					results.add(annotation);
-					errorCount++;
-				}
-				attrState = 1;
-			} else if (textRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-				attrState = 2;
-			} else if (textRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) {
-				attrState = 0;
-			}
-		}
-
-	}
-
-	private void checkForSpaceBeforeName(IStructuredDocumentRegion structuredDocumentRegion, List results) {
-        
-        if(structuredDocumentRegion.isDeleted())
-            return;
-        
-		String sdRegionText = structuredDocumentRegion.getFullText();
-		if (sdRegionText.startsWith(" ")) { //$NON-NLS-1$
-			IStructuredDocumentRegion prev = structuredDocumentRegion.getPrevious();
-			if (prev != null) {
-				// this is possibly the case of "< tag"
-				if (prev.getRegions().size() == 1 && isStartTag(prev)) {
-					// add the error for preceding space in tag name
-					String message = SSEUIPlugin.getResourceString("%ReconcileStepForMarkup.2"); //$NON-NLS-1$
-					int start = structuredDocumentRegion.getStartOffset();
-					// find length of whitespace
-					int length = sdRegionText.trim().equals("") ? sdRegionText.length() : sdRegionText.indexOf(sdRegionText.trim()); //$NON-NLS-1$
-
-					Position p = new Position(start, length);
-					ReconcileAnnotationKey key = createKey(structuredDocumentRegion, getScope());
-
-					TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_SYNTAX_ERROR, message, key, ProblemIDsXML.SpacesBeforeTagName);
-					results.add(annotation);
-				}
-			}
-		}
-	}
-
-	private void checkNoNamespaceInPI(IStructuredDocumentRegion structuredDocumentRegion, List results) {
-        
-        if(structuredDocumentRegion.isDeleted())
-            return;
-        
-		// navigate to name
-		ITextRegionList regions = structuredDocumentRegion.getRegions();
-		ITextRegion r = null;
-		int errorCount = 0;
-		for (int i = 0; i < regions.size() && errorCount < ELEMENT_ERROR_LIMIT && !structuredDocumentRegion.isDeleted(); i++) {
-			r = regions.get(i);
-			if (r.getType() == XMLRegionContext.XML_TAG_NAME) {
-				String piText = structuredDocumentRegion.getText(r);
-				int index = piText.indexOf(":"); //$NON-NLS-1$
-				if (index != -1) {
-					String message = SSEUIPlugin.getResourceString("%ReconcileStepForMarkup.4"); //$NON-NLS-1$
-					int start = structuredDocumentRegion.getStartOffset(r) + index;
-					int length = piText.trim().length() - index;
-					Position p = new Position(start, length);
-					ReconcileAnnotationKey key = createKey(structuredDocumentRegion, getScope());
-
-					TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_SYNTAX_ERROR, message, key, ProblemIDsXML.NamespaceInPI);
-					results.add(annotation);
-					errorCount++;
-				}
-			}
-		}
-	}
-
-	/**
-	 * @param structuredDocumentRegion
-	 * @param results
-	 */
-	private void checkQuotesForAttributeValues(IStructuredDocumentRegion structuredDocumentRegion, List results) {
-		ITextRegionList regions = structuredDocumentRegion.getRegions();
-		ITextRegion r = null;
-		String attrValueText = ""; //$NON-NLS-1$
-		int errorCount = 0;
-		for (int i = 0; i < regions.size() && errorCount < ELEMENT_ERROR_LIMIT; i++) {
-			r = regions.get(i);
-			if (r.getType() != XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-				continue;
-
-			attrValueText = structuredDocumentRegion.getText(r);
-			// attribute value includes quotes in the string
-			// split up attribute value on quotes
-			StringTokenizer st = new StringTokenizer(attrValueText, "\"'", true); //$NON-NLS-1$
-			int size = st.countTokens();
-			// get the pieces of the attribute value
-			String one = "", two = ""; //$NON-NLS-1$ //$NON-NLS-2$
-			if (size > 0)
-				one = st.nextToken();
-			if (size > 1)
-				two = st.nextToken();
-			if (size > 2) {
-				// should be handled by parsing...
-				// as in we can't have an attribute value like: <element
-				// attr="a"b"c"/>
-				// and <element attr='a"b"c' /> is legal
-				continue;
-			}
-
-
-			if (size == 1) {
-				if (one.equals(DQUOTE) || one.equals(SQUOTE)) {
-					// missing closing quote
-					String message = SSEUIPlugin.getResourceString("%ReconcileStepForMarkup.0"); //$NON-NLS-1$
-					addAttributeError(message, attrValueText, structuredDocumentRegion.getStartOffset(r), attrValueText.trim().length(), ProblemIDsXML.Unclassified, structuredDocumentRegion, results);
-					errorCount++;
-				} else {
-					// missing both
-					String message = SSEUIPlugin.getResourceString("%ReconcileStepForMarkup.1"); //$NON-NLS-1$
-					addAttributeError(message, attrValueText, structuredDocumentRegion.getStartOffset(r), attrValueText.trim().length(), ProblemIDsXML.AttrValueNotQuoted, structuredDocumentRegion, results);
-					errorCount++;
-				}
-			} else if (size == 2) {
-				if (one.equals(SQUOTE) && !two.equals(SQUOTE) || one.equals(DQUOTE) && !two.equals(DQUOTE)) {
-					// missing closing quote
-					String message = SSEUIPlugin.getResourceString("%ReconcileStepForMarkup.0"); //$NON-NLS-1$
-					addAttributeError(message, attrValueText, structuredDocumentRegion.getStartOffset(r), attrValueText.trim().length(), ProblemIDsXML.Unclassified, structuredDocumentRegion, results);
-					errorCount++;
-				}
-			}
-		}
-		// end of region for loop
-	}
-
-	private void checkStartEndTagPairs(IStructuredDocumentRegion sdRegion, List results) {
-        
-        if(sdRegion.isDeleted())
-            return;
-        
-		// check start/end tag pairs
-		XMLNode xmlNode = getXMLNode(sdRegion);
-        
-        if(xmlNode == null)
-            return;
-        
-		boolean selfClosed = false;
-		String tagName = null;
-		int length = 0;
-
-		if (xmlNode.isContainer()) {
-			IStructuredDocumentRegion endRegion = xmlNode.getEndStructuredDocumentRegion();
-			if (endRegion == null) {
-                IStructuredDocumentRegion startRegion = xmlNode.getStartStructuredDocumentRegion();
-                if(!startRegion.isDeleted()) {
-    				// analyze the tag (check self closing)
-    				ITextRegionList regions = startRegion.getRegions();
-    				ITextRegion r = null;
-    				for (int i = 0; i < regions.size(); i++) {
-    					r = regions.get(i);
-    					if (r.getType() == XMLRegionContext.XML_TAG_OPEN || r.getType() == XMLRegionContext.XML_TAG_CLOSE) {
-    						length++;
-    					} else if (r.getType() == XMLRegionContext.XML_TAG_NAME) {
-    						tagName = sdRegion.getText(r);
-    						length += tagName.length();
-    					} else if (r.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
-    						selfClosed = true;
-    					}
-    				}
-    
-    				if (!selfClosed && tagName != null) {
-    					Object[] args = {tagName};
-    					String message = SSEUIPlugin.getResourceString("%Missing_end_tag_{0}", args);
-    
-    					int start = sdRegion.getStart();
-    					Position p = new Position(start, length);
-    					TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_STRUCTURE, message, createKey(sdRegion, getScope()), ProblemIDsXML.MissingEndTag);
-    
-    					// quick fix info
-    					String tagClose = "/>"; //$NON-NLS-1$
-    					int tagCloseOffset = xmlNode.getFirstStructuredDocumentRegion().getEndOffset();
-    					if (r != null && r.getType() == XMLRegionContext.XML_TAG_CLOSE) {
-    						tagClose = "/"; //$NON-NLS-1$
-    						tagCloseOffset--;
-    					}
-    					XMLNode firstChild = (XMLNode) xmlNode.getFirstChild();
-    					while (firstChild != null && firstChild.getNodeType() == Node.TEXT_NODE) {
-    						firstChild = (XMLNode) firstChild.getNextSibling();
-    					}
-    					int endOffset = xmlNode.getEndOffset();
-    					int firstChildStartOffset = firstChild == null ? endOffset : firstChild.getStartOffset();
-    					Object[] additionalFixInfo = {tagName, tagClose, new Integer(tagCloseOffset), new Integer(xmlNode.getFirstStructuredDocumentRegion().getEndOffset()), // startTagEndOffset
-    								new Integer(firstChildStartOffset), // firstChildStartOffset
-    								new Integer(endOffset)}; // endOffset
-    					annotation.setAdditionalFixInfo(additionalFixInfo);
-    
-    					results.add(annotation);
-    				}
-    			}
-            }
-
-		}
-	}
-
-	private void checkStartingSpaceForPI(IStructuredDocumentRegion structuredDocumentRegion, List results) {
-        
-        if(structuredDocumentRegion.isDeleted())
-            return;
-        
-		IStructuredDocumentRegion prev = structuredDocumentRegion.getPrevious();
-		if (prev != null && !prev.isDeleted()) {
-			String prevText = prev.getFullText();
-			if (prev.getType() == XMLRegionContext.XML_CONTENT && prevText.endsWith(" ")) { //$NON-NLS-1$
-				String message = SSEUIPlugin.getResourceString("%ReconcileStepForMarkup.5"); //$NON-NLS-1$
-				int start = prev.getStartOffset();
-				int length = prev.getLength();
-				Position p = new Position(start, length);
-				ReconcileAnnotationKey key = createKey(structuredDocumentRegion, getScope());
-
-				TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_SYNTAX_ERROR, message, key, ProblemIDsXML.SpacesBeforePI);
-				results.add(annotation);
-			}
-		}
-	}
-
-	public int getScope() {
-		return ReconcileAnnotationKey.PARTIAL;
-	}
-
-	/**
-	 * A DirtyRegion can span multiple StructuredDocumentRegions. This method
-	 * returns the StructuredDocumentRegions in a given dirty region.
-	 * 
-	 * @param dirtyRegion
-	 */
-	private IStructuredDocumentRegion[] getStructuredDocumentRegions(DirtyRegion dirtyRegion) {
-		List regions = new ArrayList();
-        
-        if(getStructuredDocument() == null)
-            return new IStructuredDocumentRegion[0];
-        
-		IStructuredDocumentRegion sdRegion = getStructuredDocument().getRegionAtCharacterOffset(dirtyRegion.getOffset());
-		if (sdRegion != null) {
-            
-			if (!sdRegion.isDeleted())
-				regions.add(sdRegion);
-            
-            XMLNode xmlNode = getXMLNode(sdRegion);
-            
-			while (sdRegion != null 
-                    && !sdRegion.isDeleted() 
-                    && xmlNode != null
-                    && sdRegion.getEndOffset() <= xmlNode.getEndOffset()) {
-				if (!sdRegion.isDeleted())
-					regions.add(sdRegion);
-                sdRegion = sdRegion.getNext();
-                xmlNode = getXMLNode(sdRegion);
-			}
-		}
-		return (IStructuredDocumentRegion[]) regions.toArray(new IStructuredDocumentRegion[regions.size()]);
-	}
-
-	private XMLNode getXMLNode(IStructuredDocumentRegion sdRegion) {
-        
-        if(sdRegion == null)
-            return null;
-        
-		IStructuredModel xModel = null;
-		XMLNode xmlNode = null;
-		// get/release models should always be in a try/finally block
-		try {
-			xModel = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-			// xModel is sometime null, when closing editor, for example
-			if (xModel != null) {
-				xmlNode = (XMLNode) xModel.getIndexedRegion(sdRegion.getStart());
-			}
-		} finally {
-			if (xModel != null) {
-				xModel.releaseFromRead();
-			}
-		}
-		return xmlNode;
-	}
-
-	/**
-	 * Determines whether the IStructuredDocumentRegion is a XML "end tag"
-	 * since they're not allowed to have attribute ITextRegions
-	 * 
-	 * @param structuredDocumentRegion
-	 */
-	private boolean isEndTag(IStructuredDocumentRegion structuredDocumentRegion) {
-		if (structuredDocumentRegion == null || structuredDocumentRegion.isDeleted())
-			return false;
-		return structuredDocumentRegion.getFirstRegion().getType() == XMLRegionContext.XML_END_TAG_OPEN;
-	}
-
-	/**
-	 * Determines if the IStructuredDocumentRegion is an XML Processing
-	 * Instruction
-	 * 
-	 * @param structuredDocumentRegion
-	 * 
-	 */
-	private boolean isPI(IStructuredDocumentRegion structuredDocumentRegion) {
-        if (structuredDocumentRegion == null || structuredDocumentRegion.isDeleted())
-            return false;
-		return structuredDocumentRegion.getFirstRegion().getType() == XMLRegionContext.XML_PI_OPEN;
-	}
-
-	/**
-	 * Determines whether the IStructuredDocumentRegion is a XML "start tag"
-	 * since they need to be checked for proper XML attribute region sequences
-	 * 
-	 * @param structuredDocumentRegion
-	 * 
-	 */
-	private boolean isStartTag(IStructuredDocumentRegion structuredDocumentRegion) {
-		if (structuredDocumentRegion == null || structuredDocumentRegion.isDeleted())
-			return false;
-		return structuredDocumentRegion.getFirstRegion().getType() == XMLRegionContext.XML_TAG_OPEN;
-	}
-
-	// Because we check the "proper" closing separately from attribute
-	// sequencing, we need to know what's
-	// an appropriate close.
-	private boolean isTagCloseTextRegion(ITextRegion textRegion) {
-		return textRegion.getType() == XMLRegionContext.XML_TAG_CLOSE || textRegion.getType() == XMLRegionContext.XML_EMPTY_TAG_CLOSE;
-	}
-
-	/**
-	 * Determines if the IStructuredDocumentRegion is XML Content
-	 * 
-	 * @param structuredDocumentRegion
-	 * 
-	 */
-	private boolean isXMLContent(IStructuredDocumentRegion structuredDocumentRegion) {
-        if(structuredDocumentRegion == null || structuredDocumentRegion.isDeleted())
-            return false;
-		return structuredDocumentRegion.getFirstRegion().getType() == XMLRegionContext.XML_CONTENT;
-	}
-
-	/*
-	 * check syntax of dirty region
-	 */
-	protected IReconcileResult[] reconcile(IStructuredDocumentRegion structuredDocumentRegion) {
-		List results = new ArrayList();
-
-		if (structuredDocumentRegion == null)
-			return EMPTY_RECONCILE_RESULT_SET;
-
-		if (isStartTag(structuredDocumentRegion)) {
-			// check for attributes without a value
-			checkForAttributeValue(structuredDocumentRegion, results);
-			// check if started tag is ended
-			checkStartEndTagPairs(structuredDocumentRegion, results);
-			// check empty tag <>
-			checkEmptyTag(structuredDocumentRegion, results);
-			// check that each attribute has quotes
-			checkQuotesForAttributeValues(structuredDocumentRegion, results);
-			// check that the closing '>' is there
-			checkClosingBracket(structuredDocumentRegion, results);
-		} else if (isEndTag(structuredDocumentRegion)) {
-			checkAttributesInEndTag(structuredDocumentRegion, results);
-			// check that the closing '>' is there
-			checkClosingBracket(structuredDocumentRegion, results);
-		} else if (isPI(structuredDocumentRegion)) {
-			// check validity of processing instruction
-			checkStartingSpaceForPI(structuredDocumentRegion, results);
-			checkNoNamespaceInPI(structuredDocumentRegion, results);
-		} else if (isXMLContent(structuredDocumentRegion)) {
-			checkForSpaceBeforeName(structuredDocumentRegion, results);
-		}
-
-		return (IReconcileResult[]) results.toArray(new IReconcileResult[results.size()]);
-	}
-
-	/*
-	 * @see org.eclipse.text.reconcilerpipe.AbstractReconcilePipeParticipant#reconcileModel(org.eclipse.jface.text.reconciler.DirtyRegion,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-		if (dirtyRegion == null)
-			return EMPTY_RECONCILE_RESULT_SET;
-
-        if(DEBUG)
-            System.out.println("[trace reconciler] > reconcile model in MARKUP step w/ dirty region: [" + dirtyRegion.getOffset() + ":" + dirtyRegion.getLength() + "]" + (dirtyRegion == null ? "null" : dirtyRegion.getText())); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
-		IReconcileResult[] results = EMPTY_RECONCILE_RESULT_SET;
-
-		// TODO: may need to add back some synch(doc) and/or synch(region[i])
-		// to be thread safe
-		IStructuredDocumentRegion[] regions = getStructuredDocumentRegions(dirtyRegion);
-		for (int i = 0; i < regions.length; i++) {
-			// the region may be irrelevant at this point
-			// if the user has deleted it
-			if (!regions[i].isDeleted()) {
-				results = merge(results, reconcile(regions[i]));
-			}
-		}
-
-        if(DEBUG)
-            System.out.println("[trace reconciler] > MARKUP step done"); //$NON-NLS-1$
-		return results;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcilerAdapterFactoryForXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcilerAdapterFactoryForXML.java
deleted file mode 100644
index ecec301..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcilerAdapterFactoryForXML.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.reconcile;
-
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileStepAdapter;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @deprecated moving toward reconcileValidator extension point
- */
-public class ReconcilerAdapterFactoryForXML extends AbstractAdapterFactory {
-
-	/**
-	 * This flag governs whether or not this ReconcilerFactory is responsible
-	 * for marking nodes "dirty" when an adapter is created for them. This is
-	 * true on startup, then set to false thereafter.
-	 */
-	protected boolean fShouldMarkForReconciling = false;
-
-	protected AbstractReconcileStepAdapter singleton = null;
-
-	public ReconcilerAdapterFactoryForXML() {
-		this(IReconcileStepAdapter.class, true);
-	}
-
-	/**
-	 * @param adapterKey
-	 * @param registerAdapters
-	 */
-	public ReconcilerAdapterFactoryForXML(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	protected void adaptAll(Node top) {
-		int length = top.getChildNodes().getLength();
-		NodeList children = top.getChildNodes();
-		for (int i = 0; i < length; i++) {
-			adaptAll(children.item(i));
-		}
-		((INodeNotifier) top).getAdapterFor(adapterKey);
-	}
-
-	public void adaptAll(XMLModel model) {
-		if (adapterKey != null)
-			adaptAll(model.getDocument());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.model.AbstractAdapterFactory#createAdapter(com.ibm.sed.model.INodeNotifier)
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		if (target instanceof Node) {
-			Node nodeTarget = (Node) target;
-			if (nodeTarget.getNodeType() == Node.ELEMENT_NODE || nodeTarget.getNodeType() == Node.DOCUMENT_NODE || nodeTarget.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-				if (singleton == null) {
-					this.singleton = new ReconcileStepAdapterForXML();
-				}
-				// (pa) perf: don't do this on initial startup
-				if (shouldMarkForReconciling())
-					singleton.markForReconciling(target);
-				return singleton;
-			}
-		}
-		return null;
-	}
-
-	public void release() {
-		if (this.singleton != null)
-			this.singleton.release();
-	}
-
-	public void setShouldMarkForReconciling(boolean should) {
-		fShouldMarkForReconciling = should;
-	}
-
-	public boolean shouldMarkForReconciling() {
-		return fShouldMarkForReconciling;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/StructuredTextReconcilingStrategyForContentModel.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/StructuredTextReconcilingStrategyForContentModel.java
deleted file mode 100644
index 4768dbe..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/StructuredTextReconcilingStrategyForContentModel.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.reconcile;
-
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.internal.reconcile.AbstractStructuredTextReconcilingStrategy;
-
-
-/**
- * @deprecated using reconcileValidator extension point
- * @author pavery
- */
-public class StructuredTextReconcilingStrategyForContentModel extends AbstractStructuredTextReconcilingStrategy {
-
-	public StructuredTextReconcilingStrategyForContentModel(ITextEditor editor) {
-		super(editor);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.internal.ui.text.AbstractStructuredTextReconcilingStrategy#createReconcileSteps()
-	 */
-	public void createReconcileSteps() {
-
-		IReconcileStep cmStep = new ReconcileStepForContentModel();
-		fFirstStep = new ReconcileStepForMarkup(cmStep);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/StructuredTextReconcilingStrategyForMarkup.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/StructuredTextReconcilingStrategyForMarkup.java
deleted file mode 100644
index e4c0c27..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/StructuredTextReconcilingStrategyForMarkup.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.reconcile;
-
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.ui.internal.reconcile.AbstractStructuredTextReconcilingStrategy;
-
-
-/**
- * 
- * @author pavery
- *  
- */
-public class StructuredTextReconcilingStrategyForMarkup extends AbstractStructuredTextReconcilingStrategy {
-
-	public StructuredTextReconcilingStrategyForMarkup(ITextEditor editor) {
-		super(editor);
-	}
-
-	public void createReconcileSteps() {
-		// only one step, to check syntax
-		fFirstStep = new ReconcileStepForMarkup();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/registry/AdapterFactoryProviderForEmbeddedXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/registry/AdapterFactoryProviderForEmbeddedXML.java
deleted file mode 100644
index 690355d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/registry/AdapterFactoryProviderForEmbeddedXML.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.registry;
-
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelhandler.EmbeddedTypeHandler;
-import org.eclipse.wst.sse.ui.registry.embedded.EmbeddedAdapterFactoryProvider;
-import org.eclipse.wst.xml.core.document.XMLDocument;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.modelhandler.EmbeddedXML;
-
-
-public class AdapterFactoryProviderForEmbeddedXML implements EmbeddedAdapterFactoryProvider {
-
-	/*
-	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
-	 */
-	public void addAdapterFactories(IStructuredModel structuredModel) {
-		if (structuredModel instanceof XMLModel) {
-			XMLDocument doc = ((XMLModel) structuredModel).getDocument();
-		}
-	}
-
-	/*
-	 * @see AdapterFactoryProvider#isFor(ContentTypeDescription)
-	 */
-	public boolean isFor(EmbeddedTypeHandler contentTypeDescription) {
-		return (contentTypeDescription instanceof EmbeddedXML);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/registry/AdapterFactoryProviderForXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/registry/AdapterFactoryProviderForXML.java
deleted file mode 100644
index 21243b0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/registry/AdapterFactoryProviderForXML.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.registry;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManager;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.modelhandler.IDocumentTypeHandler;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.xml.core.modelhandler.ModelHandlerForXML;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.ui.DOMObserver;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.views.contentoutline.JFaceNodeAdapterFactory;
-import org.eclipse.wst.xml.ui.views.properties.XMLPropertySourceAdapterFactory;
-
-/**
- *  
- */
-public class AdapterFactoryProviderForXML implements AdapterFactoryProvider {
-
-	/*
-	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
-	 */
-	public void addAdapterFactories(IStructuredModel structuredModel) {
-
-		// add the normal content based factories to model's registry
-		addContentBasedFactories(structuredModel);
-	}
-
-	protected void addContentBasedFactories(IStructuredModel structuredModel) {
-		IFactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
-		Assert.isNotNull(factoryRegistry, "Program Error: client caller must ensure model has factory registry"); //$NON-NLS-1$
-		AdapterFactory factory = null;
-		// == this list came from the previous "XML only" list
-
-		// what was this still here? (6/4/03)
-		// I commented out on 6/4/03) but may have been something "extra"
-		// initializing
-		// old content assist adapter unnecessarily?
-		//factory =
-		// factoryRegistry.getFactoryFor(com.ibm.sed.edit.adapters.ContentAssistAdapter.class);
-
-		factory = factoryRegistry.getFactoryFor(IPropertySource.class);
-		if (factory == null) {
-			factory = new XMLPropertySourceAdapterFactory();
-			factoryRegistry.addFactory(factory);
-		}
-		factory = factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class);
-		if (factory == null) {
-			factory = new JFaceNodeAdapterFactory();
-			factoryRegistry.addFactory(factory);
-		}
-
-		// cs... added for inferred grammar support
-		//
-		if (structuredModel != null) {
-			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(structuredModel);
-			if (modelQuery != null) {
-				CMDocumentManager documentManager = modelQuery.getCMDocumentManager();
-				if (documentManager != null) {
-					IPreferenceStore store = XMLUIPlugin.getDefault().getPreferenceStore();
-					boolean useInferredGrammar = (store != null) ? store.getBoolean(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR) : true;
-
-					documentManager.setPropertyEnabled(CMDocumentManager.PROPERTY_ASYNC_LOAD, true);
-					documentManager.setPropertyEnabled(CMDocumentManager.PROPERTY_AUTO_LOAD, false);
-					documentManager.setPropertyEnabled(CMDocumentManager.PROPERTY_USE_CACHED_RESOLVED_URI, true);
-					DOMObserver domObserver = new DOMObserver(structuredModel);
-					domObserver.setGrammarInferenceEnabled(useInferredGrammar);
-					domObserver.init();
-				}
-			}
-		}
-	}
-
-	/*
-	 * @see AdapterFactoryProvider#isFor(ContentTypeDescription)
-	 */
-	public boolean isFor(IDocumentTypeHandler contentTypeDescription) {
-		return (contentTypeDescription instanceof ModelHandlerForXML);
-	}
-
-	public void reinitializeFactories(IStructuredModel structuredModel) {
-		// nothing to do, since no embedded type
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/style/IStyleConstantsXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/style/IStyleConstantsXML.java
deleted file mode 100644
index 1164ca6..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/style/IStyleConstantsXML.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.style;
-
-/**
- * Contains the symbolic name of styles used by LineStyleProvider,
- * ColorManager, and any others who may be interested
- */
-public interface IStyleConstantsXML {
-	public static final String BACKGROUND = "background"; //$NON-NLS-1$
-	public static final String CDATA_BORDER = "cdataBorder";//$NON-NLS-1$
-	public static final String CDATA_TEXT = "cdataText";//$NON-NLS-1$
-	public static final String COMMENT_BORDER = "commentBorder";//$NON-NLS-1$
-	public static final String COMMENT_TEXT = "commentText";//$NON-NLS-1$
-	public static final String DECL_BORDER = "declBoder";//$NON-NLS-1$
-	public static final String DOCTYPE_EXTERNAL_ID = "doctypeExternalId";//$NON-NLS-1$
-	public static final String DOCTYPE_EXTERNAL_ID_PUBREF = "doctypeExternalPubref";//$NON-NLS-1$
-	public static final String DOCTYPE_EXTERNAL_ID_SYSREF = "doctypeExtrenalSysref";//$NON-NLS-1$
-	public static final String DOCTYPE_NAME = "doctypeName";//$NON-NLS-1$
-
-	public static final String FOREGROUND = "foreground"; //$NON-NLS-1$
-	public static final String PI_BORDER = "piBorder";//$NON-NLS-1$
-	public static final String PI_CONTENT = "piContent";//$NON-NLS-1$
-
-	public static final String TAG_ATTRIBUTE_EQUALS = "tagAttributeEquals"; //$NON-NLS-1$
-	public static final String TAG_ATTRIBUTE_NAME = "tagAttributeName";//$NON-NLS-1$
-	public static final String TAG_ATTRIBUTE_VALUE = "tagAttributeValue";//$NON-NLS-1$
-	public static final String TAG_BORDER = "tagBorder";//$NON-NLS-1$
-	public static final String TAG_NAME = "tagName";//$NON-NLS-1$
-	public static final String XML_CONTENT = "xmlContent";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/style/LineStyleProviderForXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/style/LineStyleProviderForXML.java
deleted file mode 100644
index c3d45a2..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/style/LineStyleProviderForXML.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.style;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-public class LineStyleProviderForXML extends AbstractLineStyleProvider implements LineStyleProvider {
-	public LineStyleProviderForXML() {
-		super();
-		loadColors();
-	}
-
-	protected void clearColors() {
-		getTextAttributes().clear();
-	}
-
-	protected TextAttribute getAttributeFor(ITextRegion region) {
-		/**
-		 * a method to centralize all the "format rules" for regions
-		 * specifically associated for how to "open" the region.
-		 */
-		// not sure why this is coming through null, but just to catch it
-		if (region == null) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.CDATA_TEXT);
-		}
-		String type = region.getType();
-		if ((type == XMLRegionContext.XML_CONTENT) || (type == XMLRegionContext.XML_DOCTYPE_INTERNAL_SUBSET)) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-		} else if ((type == XMLRegionContext.XML_TAG_OPEN) || (type == XMLRegionContext.XML_END_TAG_OPEN) || (type == XMLRegionContext.XML_TAG_CLOSE) || (type == XMLRegionContext.XML_EMPTY_TAG_CLOSE)) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_BORDER);
-		} else if ((type == XMLRegionContext.XML_CDATA_OPEN) || (type == XMLRegionContext.XML_CDATA_CLOSE)) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.CDATA_BORDER);
-		} else if (type == XMLRegionContext.XML_CDATA_TEXT) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.CDATA_TEXT);
-		} else if (type == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-		} else if (type == XMLRegionContext.XML_DOCTYPE_DECLARATION) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_NAME);
-		} else if (type == XMLRegionContext.XML_TAG_NAME) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_NAME);
-		} else if ((type == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-		} else if (type == XMLRegionContext.XML_TAG_ATTRIBUTE_EQUALS) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS);
-		} else if ((type == XMLRegionContext.XML_COMMENT_OPEN) || (type == XMLRegionContext.XML_COMMENT_CLOSE)) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.COMMENT_BORDER);
-		} else if (type == XMLRegionContext.XML_COMMENT_TEXT) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.COMMENT_TEXT);
-		} else if (type == XMLRegionContext.XML_DOCTYPE_NAME) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.DOCTYPE_NAME);
-		} else if (type == XMLRegionContext.XML_PI_CONTENT) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.PI_CONTENT);
-		} else if ((type == XMLRegionContext.XML_PI_OPEN) || (type == XMLRegionContext.XML_PI_CLOSE)) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.PI_BORDER);
-		} else if ((type == XMLRegionContext.XML_DECLARATION_OPEN) || (type == XMLRegionContext.XML_DECLARATION_CLOSE)) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.DECL_BORDER);
-		} else if (type == XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_SYSREF) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF);
-		} else if (type == XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_PUBREF) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF);
-		} else if (type == XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_PUBLIC || type == XMLRegionContext.XML_DOCTYPE_EXTERNAL_ID_SYSTEM) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID);
-		} else if (type == XMLRegionContext.UNDEFINED) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.CDATA_TEXT);
-		} else if (type == XMLRegionContext.WHITE_SPACE) {
-			// white space is normall not on its own ... but when it is, we'll
-			// treat as content
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.XML_CONTENT);
-		} else if ((type == XMLRegionContext.XML_CHAR_REFERENCE) || (type == XMLRegionContext.XML_ENTITY_REFERENCE) || (type == XMLRegionContext.XML_PE_REFERENCE)) {
-			// we may want to character and entity references to have it own
-			// color in future,
-			// but for now, we'll make attribute value
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-		} else {
-			// default, return null to signal "not handled"
-			// in which case, other factories should be tried
-			return null;
-		}
-	}
-
-	protected IPreferenceStore getColorPreferences() {
-		return XMLUIPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		String styleKey = null;
-
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (IStyleConstantsXML.TAG_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_NAME;
-			} else if (IStyleConstantsXML.TAG_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_BORDER;
-			} else if (IStyleConstantsXML.TAG_ATTRIBUTE_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_NAME;
-			} else if (IStyleConstantsXML.TAG_ATTRIBUTE_VALUE.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_VALUE;
-			} else if (IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS;
-			} else if (IStyleConstantsXML.COMMENT_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.COMMENT_BORDER;
-			} else if (IStyleConstantsXML.COMMENT_TEXT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.COMMENT_TEXT;
-			} else if (IStyleConstantsXML.CDATA_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.CDATA_BORDER;
-			} else if (IStyleConstantsXML.CDATA_TEXT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.CDATA_TEXT;
-			} else if (IStyleConstantsXML.DECL_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DECL_BORDER;
-			} else if (IStyleConstantsXML.DOCTYPE_EXTERNAL_ID.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID;
-			} else if (IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF;
-			} else if (IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF;
-			} else if (IStyleConstantsXML.DOCTYPE_NAME.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_NAME;
-			} else if (IStyleConstantsXML.PI_CONTENT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.PI_CONTENT;
-			} else if (IStyleConstantsXML.PI_BORDER.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.PI_BORDER;
-			} else if (IStyleConstantsXML.XML_CONTENT.equals(prefKey)) {
-				styleKey = IStyleConstantsXML.XML_CONTENT;
-			}
-		}
-
-		if (styleKey != null) {
-			// overwrite style preference with new value
-			addTextAttribute(styleKey);
-			super.handlePropertyChange(event);
-		}
-	}
-
-	protected void loadColors() {
-		clearColors();
-
-		addTextAttribute(IStyleConstantsXML.TAG_NAME);
-		addTextAttribute(IStyleConstantsXML.TAG_BORDER);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_NAME);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE);
-		addTextAttribute(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS);
-		addTextAttribute(IStyleConstantsXML.COMMENT_BORDER);
-		addTextAttribute(IStyleConstantsXML.COMMENT_TEXT);
-		addTextAttribute(IStyleConstantsXML.CDATA_BORDER);
-		addTextAttribute(IStyleConstantsXML.CDATA_TEXT);
-		addTextAttribute(IStyleConstantsXML.DECL_BORDER);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF);
-		addTextAttribute(IStyleConstantsXML.DOCTYPE_NAME);
-		addTextAttribute(IStyleConstantsXML.PI_CONTENT);
-		addTextAttribute(IStyleConstantsXML.PI_BORDER);
-		addTextAttribute(IStyleConstantsXML.XML_CONTENT);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/MarkupTagInfoProvider.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/MarkupTagInfoProvider.java
deleted file mode 100644
index d450fe0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/MarkupTagInfoProvider.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.taginfo;
-
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMDocumentation;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.CMNodeList;
-import org.eclipse.wst.common.contentmodel.util.CMDescriptionBuilder;
-import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
-
-/**
- * Provides basic tag information such as element/attribute name, data type,
- * and tag info/documentation for CMNodes. Uses HTML to enhance presentation.
- */
-public class MarkupTagInfoProvider {
-	protected final static String BOLD_END = "</b>"; //$NON-NLS-1$
-	protected final static String BOLD_START = "<b>"; //$NON-NLS-1$
-	protected final static String HEADING_END = "</h5>"; //$NON-NLS-1$
-	protected final static String HEADING_START = "<h5>"; //$NON-NLS-1$
-	protected final static String LIST_BEGIN = "<ul>"; //$NON-NLS-1$
-	protected final static String LIST_ELEMENT = "<li>"; //$NON-NLS-1$
-	protected final static String NEW_LINE = "<dl>"; //$NON-NLS-1$
-	protected final static String PARAGRAPH_END = "</p>"; //$NON-NLS-1$
-	protected final static String PARAGRAPH_START = "<p>"; //$NON-NLS-1$
-	protected final static String SPACE = " "; //$NON-NLS-1$
-
-	/**
-	 * Returns basic tag information for display given a CMNode
-	 *  
-	 * @return String
-	 */
-	public String getInfo(CMNode node) {
-		if (node == null)
-			return null;
-		StringBuffer sb = new StringBuffer();
-		// we assume that if there is tagInfo present, only display tagInfo
-		printTagInfo(sb, node);
-
-		// no tagInfo present, so try to display tag description
-		if (sb.length() == 0) {
-			printDescription(sb, node);
-		}
-
-		// no tag description present either, so display default info
-		if (sb.length() == 0) {
-			printDefaultInfo(node, sb);
-		}
-
-		return sb.toString();
-	}
-
-	/**
-	 * Adds dataType's data type information, including enumerated type values
-	 * to string buffer, sb
-	 * 
-	 */
-	protected void printDataTypeInfo(StringBuffer sb, CMDataType dataType) {
-		String dataTypeName = dataType.getNodeName();
-		if ((dataTypeName != null) && (dataTypeName.length() > 0)) {
-			sb.append(PARAGRAPH_START + BOLD_START + SSEUIPlugin.getResourceString("%Data_Type____4") + SPACE + BOLD_END); //$NON-NLS-1$
-			sb.append(dataTypeName);
-			sb.append(PARAGRAPH_END);
-		}
-		String[] enumeratedValue = dataType.getEnumeratedValues();
-		if (enumeratedValue != null && enumeratedValue.length > 0) {
-			sb.append(PARAGRAPH_START + BOLD_START + SSEUIPlugin.getResourceString("%Enumerated_Values____5") + SPACE + BOLD_END); //$NON-NLS-1$
-			sb.append(LIST_BEGIN);
-			for (int i = 0; i < enumeratedValue.length; i++) {
-				sb.append(LIST_ELEMENT + enumeratedValue[i]);
-			}
-			sb.append(PARAGRAPH_END);
-		}
-	}
-
-	/**
-	 * Adds the default info (element name, content model, data type) of
-	 * CMNode to the string buffer, sb
-	 * 
-	 */
-	protected void printDefaultInfo(CMNode node, StringBuffer sb) {
-		{
-
-			if (node.getNodeType() == CMNode.ELEMENT_DECLARATION) {
-				CMElementDeclaration ed = (CMElementDeclaration) node;
-				sb.append(PARAGRAPH_START + BOLD_START + SSEUIPlugin.getResourceString("%Element____1") + SPACE + BOLD_END); //$NON-NLS-1$
-				sb.append(node.getNodeName());
-				sb.append(PARAGRAPH_END);
-				if (ed.getContentType() == CMElementDeclaration.PCDATA) {
-					CMDataType dataType = ed.getDataType();
-					if (dataType != null) {
-						printDataTypeInfo(sb, dataType);
-					}
-				} else {
-					CMDescriptionBuilder builder = new CMDescriptionBuilder();
-					String description = builder.buildDescription(node);
-					if ((description != null) && (description.length() > 0)) {
-						sb.append(PARAGRAPH_START + BOLD_START + SSEUIPlugin.getResourceString("%Content_Model____2") + SPACE + BOLD_END); //$NON-NLS-1$
-						sb.append(description + PARAGRAPH_END);
-					}
-				}
-				printDocumentation(sb, node);
-			} else if (node.getNodeType() == CMNode.ATTRIBUTE_DECLARATION) {
-				CMAttributeDeclaration ad = (CMAttributeDeclaration) node;
-				sb.append(PARAGRAPH_START + BOLD_START + SSEUIPlugin.getResourceString("%Attribute____3") + SPACE + BOLD_END); //$NON-NLS-1$
-				sb.append(node.getNodeName());
-				sb.append(PARAGRAPH_END);
-				CMDataType dataType = ad.getAttrType();
-				if (dataType != null) {
-					printDataTypeInfo(sb, dataType);
-				}
-				printDocumentation(sb, node);
-			} else if (node.getNodeType() == CMNode.DATA_TYPE) {
-				sb.append(PARAGRAPH_START + BOLD_START + SSEUIPlugin.getResourceString("%Data_Type____4") + SPACE + BOLD_END); //$NON-NLS-1$
-				sb.append(node.getNodeName());
-				sb.append(PARAGRAPH_END);
-				printDocumentation(sb, node);
-			}
-		}
-	}
-
-	/**
-	 * Adds the description property of the CMNode to the string buffer, sb
-	 * 
-	 */
-	protected void printDescription(StringBuffer sb, CMNode node) {
-		String tagInfo = (String) node.getProperty("description"); //$NON-NLS-1$
-		if (tagInfo != null) {
-			sb.append(PARAGRAPH_START + tagInfo.trim() + PARAGRAPH_END);
-		}
-	}
-
-	/**
-	 * Adds the tag documentation property of the CMNode to the string buffer,
-	 * sb
-	 * 
-	 */
-	protected void printDocumentation(StringBuffer sb, CMNode node) {
-		CMNodeList nodeList = (CMNodeList) node.getProperty("documentation"); //$NON-NLS-1$
-		if ((nodeList != null) && (nodeList.getLength() > 0)) {
-			sb.append(NEW_LINE);
-			for (int i = 0; i < nodeList.getLength(); i++) {
-				CMDocumentation documentation = (CMDocumentation) nodeList.item(i);
-				String doc = documentation.getValue();
-				if (doc != null) {
-					sb.append(PARAGRAPH_START + doc.trim() + PARAGRAPH_END);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Adds the tag info property of the CMNode to the string buffer, sb
-	 * 
-	 */
-	protected void printTagInfo(StringBuffer sb, CMNode node) {
-		String tagInfo = (String) node.getProperty("tagInfo"); //$NON-NLS-1$
-		if (tagInfo != null) {
-			sb.append(PARAGRAPH_START + tagInfo.trim() + PARAGRAPH_END);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/XMLBestMatchHoverProcessor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/XMLBestMatchHoverProcessor.java
deleted file mode 100644
index fb93c7e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/XMLBestMatchHoverProcessor.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.taginfo;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.wst.sse.ui.taginfo.AbstractBestMatchHoverProcessor;
-
-
-/**
- * Provides the best xml hover help documentation (by using other hover help
- * processors) Priority of hover help processors is: ProblemHoverProcessor,
- * XMLTagInfoHoverProcessor, AnnotationHoverProcessor
- */
-public class XMLBestMatchHoverProcessor extends AbstractBestMatchHoverProcessor {
-	XMLTagInfoHoverProcessor fTagInfoHover;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.structured.taginfo.AbstractBestMatchHoverProcessor#getTagInfoHover()
-	 */
-	protected ITextHover getTagInfoHover() {
-		if (fTagInfoHover == null) {
-			fTagInfoHover = new XMLTagInfoHoverProcessor();
-		}
-		return fTagInfoHover;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/XMLInformationProvider.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/XMLInformationProvider.java
deleted file mode 100644
index ae52fe9..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/XMLInformationProvider.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.taginfo;
-
-
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.information.IInformationProvider;
-import org.eclipse.jface.text.information.IInformationProviderExtension;
-
-/**
- * Provides context information for XML tags (Shows tooltip description)
- * 
- * @author amywu
- */
-public class XMLInformationProvider implements IInformationProvider, IInformationProviderExtension {
-
-	private XMLBestMatchHoverProcessor fTextHover = null;
-
-	public XMLInformationProvider() {
-		fTextHover = new XMLBestMatchHoverProcessor();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.information.IInformationProvider#getInformation(org.eclipse.jface.text.ITextViewer,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	public String getInformation(ITextViewer textViewer, IRegion subject) {
-		return (String) getInformation2(textViewer, subject);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.information.IInformationProviderExtension#getInformation2(org.eclipse.jface.text.ITextViewer,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	public Object getInformation2(ITextViewer textViewer, IRegion subject) {
-		return fTextHover.getHoverInfo(textViewer, subject);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.information.IInformationProvider#getSubject(org.eclipse.jface.text.ITextViewer,
-	 *      int)
-	 */
-	public IRegion getSubject(ITextViewer textViewer, int offset) {
-		return fTextHover.getHoverRegion(textViewer, offset);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/XMLTagInfoHoverProcessor.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/XMLTagInfoHoverProcessor.java
deleted file mode 100644
index 247334d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/XMLTagInfoHoverProcessor.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.taginfo;
-
-
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceHelper;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * Provides hover help documentation for xml tags
- * 
- * @author amywu
- * @see org.eclipse.jface.text.ITextHover
- */
-public class XMLTagInfoHoverProcessor implements ITextHover {
-	protected MarkupTagInfoProvider fInfoProvider = null;
-
-	/**
-	 * Constructor for XMLTextHoverProcessor.
-	 */
-	public XMLTagInfoHoverProcessor() {
-	}
-
-	/**
-	 * Retreives documentation to display in the hover help popup.
-	 * 
-	 * @return String any documentation information to display
-	 *         <code>null</code> if there is nothing to display.
-	 *  
-	 */
-	protected String computeHoverHelp(ITextViewer textViewer, int documentPosition) {
-		String result = null;
-
-		IndexedRegion treeNode = ContentAssistUtils.getNodeAt((StructuredTextViewer) textViewer, documentPosition);
-		if (treeNode == null)
-			return null;
-		Node node = (Node) treeNode;
-
-		while (node != null && node.getNodeType() == Node.TEXT_NODE && node.getParentNode() != null)
-			node = node.getParentNode();
-		XMLNode parentNode = (XMLNode) node;
-
-		IStructuredDocumentRegion flatNode = ((IStructuredDocument) textViewer.getDocument()).getRegionAtCharacterOffset(documentPosition);
-		if (flatNode != null) {
-			ITextRegion region = flatNode.getRegionAtCharacterOffset(documentPosition);
-			if (region != null) {
-				result = computeRegionHelp(treeNode, parentNode, flatNode, region);
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * Computes the hoverhelp based on region
-	 * 
-	 * @return String hoverhelp
-	 */
-	protected String computeRegionHelp(IndexedRegion treeNode, XMLNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
-		String result = null;
-		if (region == null)
-			return null;
-		String regionType = region.getType();
-		if (regionType == XMLRegionContext.XML_TAG_NAME)
-			result = computeTagNameHelp((XMLNode) treeNode, parentNode, flatNode, region);
-		else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-			result = computeTagAttNameHelp((XMLNode) treeNode, parentNode, flatNode, region);
-		else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-			result = computeTagAttValueHelp((XMLNode) treeNode, parentNode, flatNode, region);
-		return result;
-	}
-
-	/**
-	 * Computes the hover help for the attribute name
-	 */
-	protected String computeTagAttNameHelp(XMLNode xmlnode, XMLNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
-		CMElementDeclaration elementDecl = getCMElementDeclaration(xmlnode);
-		String attName = flatNode.getText(region);
-		CMAttributeDeclaration attDecl = getCMAttributeDeclaration(elementDecl, attName);
-		return getAdditionalInfo(elementDecl, attDecl);
-	}
-
-	/**
-	 * Computes the hover help for the attribute value (this is the same as
-	 * the attribute name's help)
-	 */
-	protected String computeTagAttValueHelp(XMLNode xmlnode, XMLNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
-		CMElementDeclaration elementDecl = getCMElementDeclaration(xmlnode);
-		ITextRegion attrNameRegion = getAttrNameRegion(xmlnode, region);
-
-		String attName = flatNode.getText(attrNameRegion);
-		CMAttributeDeclaration attDecl = getCMAttributeDeclaration(elementDecl, attName);
-		return getAdditionalInfo(elementDecl, attDecl);
-	}
-
-	/**
-	 * Computes the hover help for the tag name
-	 */
-	protected String computeTagNameHelp(XMLNode xmlnode, XMLNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
-		CMElementDeclaration elementDecl = getCMElementDeclaration(xmlnode);
-		CMElementDeclaration pelementDecl = getCMElementDeclaration(parentNode);
-		return getAdditionalInfo(pelementDecl, elementDecl);
-	}
-
-	/**
-	 * Retreives cmnode's documentation to display in the hover help popup. If
-	 * no documentation exists for cmnode, try displaying parentOrOwner's
-	 * documentation
-	 * 
-	 * @return String any documentation information to display for cmnode.
-	 *         <code>null</code> if there is nothing to display.
-	 */
-	protected String getAdditionalInfo(CMNode parentOrOwner, CMNode cmnode) {
-		String addlInfo = null;
-
-		if (cmnode == null) {
-			if (Debug.displayWarnings) {
-				new IllegalArgumentException("Null declaration!").printStackTrace(); //$NON-NLS-1$
-			}
-			return null;
-		}
-
-		addlInfo = getInfoProvider().getInfo(cmnode);
-		if (addlInfo == null && parentOrOwner != null)
-			addlInfo = getInfoProvider().getInfo(parentOrOwner);
-		return addlInfo;
-	}
-
-	/**
-	 * Find the region of the attribute name for the given attribute value
-	 * region
-	 * 
-	 */
-	protected ITextRegion getAttrNameRegion(XMLNode node, ITextRegion region) {
-		// Find the attribute name for which this position should have a value
-		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
-		ITextRegionList openRegions = open.getRegions();
-		int i = openRegions.indexOf(region);
-		if (i < 0)
-			return null;
-		ITextRegion nameRegion = null;
-		while (i >= 0) {
-			nameRegion = openRegions.get(i--);
-			if (nameRegion.getType() == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-				break;
-		}
-		return nameRegion;
-	}
-
-	/**
-	 * Retreives CMAttributeDeclaration indicated by attribute name within
-	 * elementDecl
-	 */
-	protected CMAttributeDeclaration getCMAttributeDeclaration(CMElementDeclaration elementDecl, String attName) {
-		CMAttributeDeclaration attrDecl = null;
-
-		if (elementDecl != null) {
-			CMNamedNodeMap attributes = elementDecl.getAttributes();
-			String noprefixName = DOMNamespaceHelper.getUnprefixedName(attName);
-			if (attributes != null) {
-				attrDecl = (CMAttributeDeclaration) attributes.getNamedItem(noprefixName);
-				if (attrDecl == null) {
-					attrDecl = (CMAttributeDeclaration) attributes.getNamedItem(attName);
-				}
-			}
-		}
-		return attrDecl;
-	}
-
-	/**
-	 * Retreives CMElementDeclaration for given node
-	 * 
-	 * @return CMElementDeclaration - CMElementDeclaration of node or
-	 *         <code>null</code> if not possible
-	 */
-	protected CMElementDeclaration getCMElementDeclaration(Node node) {
-		CMElementDeclaration result = null;
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(node.getOwnerDocument());
-			if (modelQuery != null)
-				result = modelQuery.getCMElementDeclaration((Element) node);
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	public String getHoverInfo(ITextViewer viewer, IRegion hoverRegion) {
-		if ((hoverRegion == null) || (viewer == null) || (viewer.getDocument() == null))
-			return null;
-
-		String displayText = null;
-		int documentOffset = hoverRegion.getOffset();
-		displayText = computeHoverHelp(viewer, documentOffset);
-
-		return displayText;
-	}
-
-	/**
-	 * Returns the region to hover the text over based on the offset.
-	 * 
-	 * @param textViewer
-	 * @param offset
-	 * 
-	 * @return IRegion region to hover over if offset is within tag name,
-	 *         attribute name, or attribute value and if offset is not over
-	 *         invalid whitespace. otherwise, returns <code>null</code>
-	 * 
-	 * @see ITextHover#getHoverRegion(ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		if ((textViewer == null) || (textViewer.getDocument() == null))
-			return null;
-
-		IStructuredDocumentRegion flatNode = ((IStructuredDocument) textViewer.getDocument()).getRegionAtCharacterOffset(offset);
-		ITextRegion region = null;
-
-		if (flatNode != null) {
-			region = flatNode.getRegionAtCharacterOffset(offset);
-		}
-
-		if (region != null) {
-			// only supply hoverhelp for tag name, attribute name, or
-			// attribute value
-			String regionType = region.getType();
-			if ((regionType == XMLRegionContext.XML_TAG_NAME) || (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) || (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)) {
-				try {
-					// check if we are at whitespace before or after line
-					IRegion line = textViewer.getDocument().getLineInformationOfOffset(offset);
-					if ((offset > (line.getOffset())) && (offset < (line.getOffset() + line.getLength()))) {
-						// check if we are in region's trailing whitespace
-						// (whitespace after relevant info)
-						if (offset < flatNode.getTextEndOffset(region)) {
-							return new Region(flatNode.getStartOffset(region), region.getTextLength());
-						}
-					}
-				} catch (BadLocationException e) {
-					Logger.logException(e);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @deprecated if enabled flag is false, dont call getHoverRegion in the
-	 *             first place if true, use getHoverRegion(ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset, boolean enabled) {
-		if ((!enabled) || (textViewer == null) || (textViewer.getDocument() == null))
-			return null;
-
-		IStructuredDocumentRegion flatNode = ((IStructuredDocument) textViewer.getDocument()).getRegionAtCharacterOffset(offset);
-		ITextRegion region = null;
-
-		if (flatNode != null) {
-			region = flatNode.getRegionAtCharacterOffset(offset);
-		}
-
-		if (region != null) {
-			// only supply hoverhelp for tag name, attribute name, or
-			// attribute value
-			String regionType = region.getType();
-			if ((regionType == XMLRegionContext.XML_TAG_NAME) || (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME) || (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)) {
-				try {
-					// check if we are at whitespace before or after line
-					IRegion line = textViewer.getDocument().getLineInformationOfOffset(offset);
-					if ((offset > (line.getOffset())) && (offset < (line.getOffset() + line.getLength()))) {
-						// check if we are in region's trailing whitespace
-						// (whitespace after relevant info)
-						if (offset < flatNode.getTextEndOffset(region)) {
-							return new Region(flatNode.getStartOffset(region), region.getTextLength());
-						}
-					}
-				} catch (BadLocationException e) {
-					Logger.logException(e);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the infoProvider.
-	 * 
-	 * @return Returns fInfoProvider and if fInfoProvider was
-	 *         <code>null</code> set fInfoProvider to DefaultInfoProvider
-	 */
-	public MarkupTagInfoProvider getInfoProvider() {
-		if (fInfoProvider == null) {
-			fInfoProvider = new MarkupTagInfoProvider();
-		}
-		return fInfoProvider;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeIds.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeIds.java
deleted file mode 100644
index 38e9db7..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeIds.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.templates;
-
-/**
- * Contains a list of template context type ids
- */
-public class TemplateContextTypeIds {
-	public static final String ALL = "all"; //$NON-NLS-1$
-	public static final String ATTRIBUTE = "attribute"; //$NON-NLS-1$
-	public static final String ATTRIBUTEVALUE = "attribute_value"; //$NON-NLS-1$
-	public static final String TAG = "tag"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXML.java
deleted file mode 100644
index 03fe461..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXML.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.templates;
-
-import org.eclipse.jface.text.templates.GlobalTemplateVariables;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/**
- * Base class for XML template context types. Templates of this context type
- * apply to any place within XML content type.
- */
-public class TemplateContextTypeXML extends TemplateContextType {
-	public static final String XML_PREFIX = "xml_"; //$NON-NLS-1$
-
-	/**
-	 * Generate a context type id that includes content type
-	 * 
-	 * @param base_contextTypeId
-	 * @return String
-	 */
-	public static String generateContextTypeId(String base_contextTypeId) {
-		return XML_PREFIX + base_contextTypeId;
-	}
-
-	public TemplateContextTypeXML() {
-		this(generateContextTypeId(TemplateContextTypeIds.ALL), XMLUIPlugin.getResourceString("%TemplateContextTypeXML.0")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @param id
-	 * @param name
-	 */
-	public TemplateContextTypeXML(String id, String name) {
-		super(id, name);
-		addResolver(new GlobalTemplateVariables.Cursor());
-		addResolver(new GlobalTemplateVariables.Date());
-		addResolver(new GlobalTemplateVariables.Dollar());
-		addResolver(new GlobalTemplateVariables.LineSelection());
-		addResolver(new GlobalTemplateVariables.Time());
-		addResolver(new GlobalTemplateVariables.User());
-		addResolver(new GlobalTemplateVariables.WordSelection());
-		addResolver(new GlobalTemplateVariables.Year());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXMLAttribute.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXMLAttribute.java
deleted file mode 100644
index c82c196..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXMLAttribute.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.templates;
-
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/**
- * Templates of this context type apply to any attributes within XML content
- * type.
- */
-public class TemplateContextTypeXMLAttribute extends TemplateContextTypeXML {
-
-	public TemplateContextTypeXMLAttribute() {
-		super(generateContextTypeId(TemplateContextTypeIds.ATTRIBUTE), XMLUIPlugin.getResourceString("%TemplateContextTypeXMLAttribute.0")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXMLAttributeValue.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXMLAttributeValue.java
deleted file mode 100644
index faed70f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXMLAttributeValue.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.templates;
-
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/**
- * Templates of this context type apply to any attribute values within XML
- * content type.
- */
-public class TemplateContextTypeXMLAttributeValue extends TemplateContextTypeXML {
-
-	public TemplateContextTypeXMLAttributeValue() {
-		super(generateContextTypeId(TemplateContextTypeIds.ATTRIBUTEVALUE), XMLUIPlugin.getResourceString("%TemplateContextTypeXMLAttributeValue.0")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXMLTag.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXMLTag.java
deleted file mode 100644
index b4c7754..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXMLTag.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.templates;
-
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/**
- * Templates of this context type apply to any tags within XML content type.
- */
-public class TemplateContextTypeXMLTag extends TemplateContextTypeXML {
-
-	public TemplateContextTypeXMLTag() {
-		super(generateContextTypeId(TemplateContextTypeIds.TAG), XMLUIPlugin.getResourceString("%TemplateContextTypeXMLTag.0")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/text/XMLDocumentRegionEdgeMatcher.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/text/XMLDocumentRegionEdgeMatcher.java
deleted file mode 100644
index 901fe89..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/text/XMLDocumentRegionEdgeMatcher.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.text;
-
-import org.eclipse.wst.sse.ui.text.DocumentRegionEdgeMatcher;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-public class XMLDocumentRegionEdgeMatcher extends DocumentRegionEdgeMatcher {
-
-
-	public XMLDocumentRegionEdgeMatcher() {
-		super(new String[]{XMLRegionContext.XML_TAG_NAME, XMLRegionContext.XML_COMMENT_TEXT, XMLRegionContext.XML_CDATA_TEXT, XMLRegionContext.XML_PI_OPEN, XMLRegionContext.XML_PI_CONTENT}, null);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/SharedXMLEditorPluginImageHelper.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/SharedXMLEditorPluginImageHelper.java
deleted file mode 100644
index 81c8a44..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/SharedXMLEditorPluginImageHelper.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.util;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-
-
-public class SharedXMLEditorPluginImageHelper {
-	public static final String IMG_DTOOL_CONSTRAINOFF = XMLEditorPluginImages.IMG_DTOOL_CONSTRAINOFF;
-	public static final String IMG_DTOOL_CONSTRAINON = XMLEditorPluginImages.IMG_DTOOL_CONSTRAINON;
-	public static final String IMG_DTOOL_RLDGRMR = XMLEditorPluginImages.IMG_DTOOL_RLDGRMR;
-	public static final String IMG_DTOOL_VALIDATE = XMLEditorPluginImages.IMG_DTOOL_VALIDATE;
-	public static final String IMG_ETOOL_CONSTRAINOFF = XMLEditorPluginImages.IMG_ETOOL_CONSTRAINOFF;
-	public static final String IMG_ETOOL_CONSTRAINON = XMLEditorPluginImages.IMG_ETOOL_CONSTRAINON;
-	public static final String IMG_ETOOL_RLDGRMR = XMLEditorPluginImages.IMG_ETOOL_RLDGRMR;
-	public static final String IMG_ETOOL_VALIDATE = XMLEditorPluginImages.IMG_ETOOL_VALIDATE;
-	public static final String IMG_OBJ_ATTRIBUTE = XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE;
-	public static final String IMG_OBJ_CDATASECTION = XMLEditorPluginImages.IMG_OBJ_CDATASECTION;
-	public static final String IMG_OBJ_COMMENT = XMLEditorPluginImages.IMG_OBJ_COMMENT;
-	public static final String IMG_OBJ_DOCTYPE = XMLEditorPluginImages.IMG_OBJ_DOCTYPE;
-	public static final String IMG_OBJ_ELEMENT = XMLEditorPluginImages.IMG_OBJ_ELEMENT;
-	public static final String IMG_OBJ_ENTITY = XMLEditorPluginImages.IMG_OBJ_ENTITY;
-	public static final String IMG_OBJ_ENTITY_REFERENCE = XMLEditorPluginImages.IMG_OBJ_ENTITY_REFERENCE;
-	public static final String IMG_OBJ_NOTATION = XMLEditorPluginImages.IMG_OBJ_NOTATION;
-	public static final String IMG_OBJ_PROCESSINGINSTRUCTION = XMLEditorPluginImages.IMG_OBJ_PROCESSINGINSTRUCTION;
-	public static final String IMG_OBJ_TAG_GENERIC = XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC;
-	public static final String IMG_OBJ_TAG_MACRO = XMLEditorPluginImages.IMG_OBJ_TAG_MACRO;
-	public static final String IMG_OBJ_TXTEXT = XMLEditorPluginImages.IMG_OBJ_TXTEXT;
-
-	/**
-	 * Retrieves the specified image from the xml source editor plugin's image
-	 * registry. Note: The returned <code>Image</code> is managed by the
-	 * workbench; clients must <b>not </b> dispose of the returned image.
-	 * 
-	 * @param symbolicName
-	 *            the symbolic name of the image; there are constants declared
-	 *            in this class for build-in images that come with the xml
-	 *            source editor
-	 * @return the image, or <code>null</code> if not found
-	 */
-	public static Image getImage(String symbolicName) {
-		return XMLEditorPluginImageHelper.getInstance().getImage(symbolicName);
-	}
-
-	/**
-	 * Retrieves the image descriptor for specified image from the xml source
-	 * editor plugin's image registry. Unlike <code>Image</code>s, image
-	 * descriptors themselves do not need to be disposed.
-	 * 
-	 * @param symbolicName
-	 *            the symbolic name of the image; there are constants declared
-	 *            in this interface for build-in images that come with the xml
-	 *            source editor
-	 * @return the image descriptor, or <code>null</code> if not found
-	 */
-	public static ImageDescriptor getImageDescriptor(String symbolicName) {
-		return XMLEditorPluginImageHelper.getInstance().getImageDescriptor(symbolicName);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/XMLCommonResources.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/XMLCommonResources.java
deleted file mode 100644
index 857d8c0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/XMLCommonResources.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.util;
-
-import java.text.MessageFormat;
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.views.markers.internal.ImageFactory;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-
-/**
- * @deprecated use XMLUIPlugin.getResourceString() instead
- */
-/**
- * This class exists temporarily until the properties files can be
- * re-organized and the various resource references can be updated
- */
-public class XMLCommonResources {
-	protected static XMLCommonResources instance;
-
-	public synchronized static XMLCommonResources getInstance() {
-		if (instance == null)
-			instance = new XMLCommonResources(XMLUIPlugin.getDefault());
-		return instance;
-	}
-
-	private XMLUIPlugin editorPlugin;
-
-	protected ImageFactory imageFactory;
-	private ResourceBundle resourceBundle;
-
-	public XMLCommonResources(XMLUIPlugin editorPlugin) {
-		instance = this;
-		this.editorPlugin = editorPlugin;
-		//imageFactory = new ImageFactory();
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.xml.ui.internal.XMLUIPluginResources"); //$NON-NLS-1$
-			imageFactory = new ImageFactory();
-		} catch (java.util.MissingResourceException exception) {
-			//TODO... log an error message
-			//B2BUtilPlugin.getPlugin().getMsgLogger().write(B2BUtilPlugin.getGUIString("_WARN_PLUGIN_PROPERTIES_MISSING")
-			// + descriptor.getLabel());
-			resourceBundle = null;
-		}
-	}
-
-	 ImageDescriptor _getImageDescriptor(String iconName) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin(XMLUIPlugin.ID, iconName);
-	}
-
-
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	/**
-	 * This gets the string resource.
-	 */
-	public String getString(String key) {
-		return getResourceBundle().getString(key);
-	}
-
-	/**
-	 * This gets the string resource and does one substitution.
-	 */
-	public String getString(String key, Object s1) {
-		return MessageFormat.format(getString(key), new Object[]{s1});
-	}
-
-	/**
-	 * This gets the string resource and does two substitutions.
-	 */
-	public String getString(String key, Object s1, Object s2) {
-		return MessageFormat.format(getString(key), new Object[]{s1, s2});
-	}
-
-	public IWorkbench getWorkbench() {
-		return editorPlugin.getWorkbench();
-	}
-	/*
-	 * public ImageFactory getImageFactory() { return imageFactory; }
-	 */
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/XMLCommonUIContextIds.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/XMLCommonUIContextIds.java
deleted file mode 100644
index e421f22..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/XMLCommonUIContextIds.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.xml.ui.util;
-
-/**
- * Context help id constants.
- */
-public interface XMLCommonUIContextIds {
-	public static final String PLUGIN_NAME = "com.ibm.etools.xml.common.ui"; //$NON-NLS-1$
-
-
-	/* CONTEXT_IDs for "Assign an XSL Stylesheet To The XML File" dialog */
-	/* CONTEXT_ID comn0010 for the dropdown menu. Follow comnxxxx */
-	public static final String XCUI_ASSIGN_XSL_TO_XML_DROPDOWN = PLUGIN_NAME + ".xcui1000"; //$NON-NLS-1$
-	/* CONTEXT_ID comn0030 for the import button. Follow comnxxxx */
-	public static final String XCUI_ASSIGN_XSL_TO_XML_IMPORT = PLUGIN_NAME + ".xcui3000"; //$NON-NLS-1$
-	/* CONTEXT_ID comn0020 for the workbench button. Follow comnxxxx */
-	public static final String XCUI_ASSIGN_XSL_TO_XML_WORKBENCH = PLUGIN_NAME + ".xcui2000"; //$NON-NLS-1$
-
-	/* CONTEXT_ID xcui0500 for Edit Attribute Instruction Dialog */
-	public static final String XCUI_ATTRIBUTE_DIALOG = PLUGIN_NAME + ".xcui0500"; //$NON-NLS-1$
-
-	/* CONTEXT_ID xcui0400 for Select XML Catalog ID Dialog */
-	public static final String XCUI_CATALOG_DIALOG = PLUGIN_NAME + ".xcui0400"; //$NON-NLS-1$
-
-	/* CONTEXT_IDs for XML Common UI use xcuixxx context IDs */
-
-	/* CONTEXT_ID xcui0010 for Edit Doctype Dialog */
-	public static final String XCUI_DOCTYPE_DIALOG = PLUGIN_NAME + ".xcui0010"; //$NON-NLS-1$
-	/* CONTEXT_ID xcui0030 for Public ID Text Edit */
-	public static final String XCUI_DOCTYPE_PUBLIC = PLUGIN_NAME + ".xcui0030"; //$NON-NLS-1$
-	/* CONTEXT_ID xcui0030 for Public ID Browse Button */
-	public static final String XCUI_DOCTYPE_PUBLIC_BROWSE = PLUGIN_NAME + ".xcui0040"; //$NON-NLS-1$
-	/* CONTEXT_ID xcui0020 for Root Element Name Text Edit */
-	public static final String XCUI_DOCTYPE_ROOT = PLUGIN_NAME + ".xcui0020"; //$NON-NLS-1$
-	/* CONTEXT_ID xcui0040 for System ID Text Edit */
-	public static final String XCUI_DOCTYPE_SYSTEM = PLUGIN_NAME + ".xcui0050"; //$NON-NLS-1$
-	/* CONTEXT_ID xcui0030 for System ID Browse Button */
-	public static final String XCUI_DOCTYPE_SYSTEM_BROWSE = PLUGIN_NAME + ".xcui0060"; //$NON-NLS-1$
-
-	/* CONTEXT_ID xcui0300 for Edit Element Instruction Dialog */
-	public static final String XCUI_ELEMENT_DIALOG = PLUGIN_NAME + ".xcui0600"; //$NON-NLS-1$
-
-	/* CONTEXT_ID xcui0200 for Edit Namespace Dialog */
-	public static final String XCUI_NAMESPACE_DIALOG = PLUGIN_NAME + ".xcui0200"; //$NON-NLS-1$
-
-	/* CONTEXT_ID xcui0300 for Edit Processing Instruction Dialog */
-	public static final String XCUI_PROCESSING_DIALOG = PLUGIN_NAME + ".xcui0300"; //$NON-NLS-1$
-
-	/* CONTEXT_ID xcui0100 for Edit Schema Information Dialog */
-	public static final String XCUI_SCHEMA_INFO_DIALOG = PLUGIN_NAME + ".xcui0100"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeAdapter.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeAdapter.java
deleted file mode 100644
index e570bb3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeAdapter.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.contentoutline;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.wst.common.contentmodel.CMDocument;
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManager;
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManagerListener;
-import org.eclipse.wst.common.contentmodel.util.CMDocumentCache;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapterFactory;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.contentoutline.BufferedOutlineUpdater;
-import org.eclipse.wst.xml.ui.internal.editor.CMImageUtil;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.w3c.dom.Node;
-
-/**
- * Adapts a DOM node to a JFace viewer.
- */
-public class JFaceNodeAdapter implements IJFaceNodeAdapter {
-
-	public class CMDocumentManagerListenerImpl implements CMDocumentManagerListener {
-
-		List beingRefreshed = Collections.synchronizedList(new ArrayList());
-
-		public void cacheCleared(org.eclipse.wst.common.contentmodel.util.CMDocumentCache cache) {
-
-		}
-
-		public void cacheUpdated(CMDocumentCache cache, final String uri, int oldStatus, int newStatus, CMDocument cmDocument) {
-
-			if (newStatus == CMDocumentCache.STATUS_LOADED || newStatus == CMDocumentCache.STATUS_ERROR) {
-				refreshViewers();
-			}
-		}
-
-		private Display getDisplay() {
-
-			return PlatformUI.getWorkbench().getDisplay();
-		}
-
-		public void propertyChanged(CMDocumentManager cmDocumentManager, String propertyName) {
-
-			if (cmDocumentManager.getPropertyEnabled(CMDocumentManager.PROPERTY_AUTO_LOAD)) {
-				refreshViewers();
-			}
-		}
-
-		protected void refreshViewers() {
-
-			// we're counting on getListers returning a "copy" of the
-			// listeners, so we'll be thread safe.
-			Collection listeners = ((IJFaceNodeAdapterFactory) adapterFactory).getListeners();
-			Iterator iterator = listeners.iterator();
-			while (iterator.hasNext()) {
-				Object listener = iterator.next();
-				// now that we use aynchExec, we ourselves have to gaurd
-				// against
-				// agains adding some refreshes when its already being
-				// refreshed.
-				if (listener instanceof PropertySheetPage && (!beingRefreshed.contains(listener))) {
-					final PropertySheetPage propertySheetPage = (PropertySheetPage) listener;
-					beingRefreshed.add(propertySheetPage);
-					getDisplay().asyncExec(new Runnable() {
-
-						public void run() {
-
-							if (getDisplay().isDisposed()) {
-								return;
-							}
-							if (propertySheetPage.getControl() != null && !propertySheetPage.getControl().isDisposed()) {
-								propertySheetPage.refresh();
-								beingRefreshed.remove(propertySheetPage);
-							}
-						}
-					});
-				}
-			}
-		}
-	}
-
-	final static Class ADAPTER_KEY = IJFaceNodeAdapter.class;
-
-	// for debugging
-	private static final boolean DEBUG;
-	static {
-		String value = Platform.getDebugOption("org.eclipse.wst.sse.ui/debug/outline"); //$NON-NLS-1$
-		DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-
-	protected AdapterFactory adapterFactory;
-	protected CMDocumentManagerListener cmDocumentManagerListener;
-	private BufferedOutlineUpdater fUpdater = null;
-
-	public JFaceNodeAdapter(AdapterFactory adapterFactory) {
-
-		super();
-		this.adapterFactory = adapterFactory;
-	}
-
-	protected Image createImage(Object object) {
-
-		Image image = null;
-		Node node = (Node) object;
-		switch (node.getNodeType()) {
-			case Node.ELEMENT_NODE : {
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ELEMENT);
-				break;
-			}
-			case Node.ATTRIBUTE_NODE : {
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE);
-				break;
-			}
-			case Node.TEXT_NODE : { // actually, TEXT should never be seen in
-				// the tree
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ELEMENT);
-				break;
-			}
-			case Node.CDATA_SECTION_NODE : {
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_CDATASECTION);
-				break;
-			}
-			case Node.ENTITY_REFERENCE_NODE :
-			case Node.ENTITY_NODE : {
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ENTITY);
-				break;
-			}
-			case Node.PROCESSING_INSTRUCTION_NODE : {
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_PROCESSINGINSTRUCTION);
-				break;
-			}
-			case Node.COMMENT_NODE : {
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_COMMENT);
-				break;
-			}
-			case Node.DOCUMENT_TYPE_NODE : {
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_DOCTYPE);
-				break;
-			}
-			case Node.NOTATION_NODE : {
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_NOTATION);
-				break;
-			}
-			default : {
-				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ELEMENT);
-				break;
-			}
-		}
-		return image;
-	}
-
-	protected Image createXMLImageDescriptor(String imageResourceName) {
-		return XMLEditorPluginImageHelper.getInstance().getImage(imageResourceName);
-	}
-
-	public Object[] getChildren(Object object) {
-
-		// (pa) 20021217
-		// cmvc defect 235554
-		// performance enhancement: using child.getNextSibling() rather than
-		// nodeList(item) for O(n) vs. O(n*n)
-		//
-		Node node = (Node) object;
-		ArrayList v = new ArrayList(node.getChildNodes().getLength());
-		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) {
-			Node n = child;
-			if (n.getNodeType() != Node.TEXT_NODE)
-				v.add(n);
-		}
-		return v.toArray();
-	}
-
-	/**
-	 * Returns a CMDocumentManagerListener that can update JFace views when
-	 * notified of CMDocumentManager events
-	 */
-	public org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManagerListener getCMDocumentManagerListener() {
-
-		if (cmDocumentManagerListener == null)
-			cmDocumentManagerListener = new CMDocumentManagerListenerImpl();
-		return cmDocumentManagerListener;
-	}
-
-	Display getDisplay() {
-
-		// Note: the workbench should always have a display
-		// (unless running headless), whereas Display.getCurrent()
-		// only returns the display if the currently executing thread
-		// has one.
-		if (PlatformUI.isWorkbenchRunning())
-			return PlatformUI.getWorkbench().getDisplay();
-		else
-			return null;
-	}
-
-	/**
-	 * Returns an enumeration with the elements belonging to the passed
-	 * element. These are the top level items in a list, tree, table, etc...
-	 */
-	public Object[] getElements(Object node) {
-
-		return getChildren(node);
-	}
-
-	/**
-	 * Fetches the label image specific to this object instance.
-	 */
-	public Image getLabelImage(Object node) {
-
-		Image image = CMImageUtil.getImage(CMImageUtil.getDeclaration((Node) node));
-		if (image == null && JFaceResources.getImageRegistry() != null) {
-			ImageRegistry imageRegistry = JFaceResources.getImageRegistry();
-			String nodeName = getNodeName(node);
-			image = imageRegistry.get(nodeName);
-			if (image == null) {
-				image = createImage(node);
-				if (image != null)
-					imageRegistry.put(nodeName, image);
-			}
-		}
-		return image;
-	}
-
-	/**
-	 * Fetches the label text specific to this object instance.
-	 */
-	public String getLabelText(Object node) {
-
-		return getNodeName(node);
-	}
-
-	private String getNodeName(Object object) {
-
-		Node node = (Node) object;
-		String nodeName = node.getNodeName();
-		if (node.getNodeType() == Node.DOCUMENT_TYPE_NODE)
-			nodeName = "DOCTYPE:" + nodeName; //$NON-NLS-1$
-		return nodeName;
-	}
-
-	private BufferedOutlineUpdater getOutlineUpdater() {
-		if (fUpdater == null)
-			fUpdater = new BufferedOutlineUpdater();
-		return fUpdater;
-	}
-
-	public Object getParent(Object object) {
-
-		Node node = (Node) object;
-		return node.getParentNode();
-	}
-
-	public boolean hasChildren(Object object) {
-
-		// (pa) 20021217
-		// cmvc defect 235554 > use child.getNextSibling() instead of
-		//                          nodeList(item) for O(n) vs. O(n*n)
-		Node node = (Node) object;
-		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (child.getNodeType() != Node.TEXT_NODE)
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-
-		return type.equals(ADAPTER_KEY);
-	}
-
-	/**
-	 * Called by the object being adapter (the notifier) when something has
-	 * changed.
-	 */
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-
-		// future_TODO: the 'uijobs' used in this method were added to solve
-		// threading problems when the dom
-		// is updated in the background while the editor is open. They may be
-		// a bit overkill and not that useful.
-		// (That is, may be be worthy of job manager management). If they are
-		// found to be important enough to leave in,
-		// there's probably some optimization that can be done.
-		Collection listeners = ((JFaceNodeAdapterFactory) adapterFactory).getListeners();
-		Iterator iterator = listeners.iterator();
-
-		while (iterator.hasNext()) {
-			Object listener = iterator.next();
-			if (notifier instanceof Node && (listener instanceof StructuredViewer) && (eventType == INodeNotifier.STRUCTURE_CHANGED || (eventType == INodeNotifier.CHANGE && changedFeature == null))) {
-
-				if (DEBUG)
-					System.out.println("JFaceNodeAdapter notified on event type > " + eventType);
-
-				// refresh on structural and "unknown" changes
-				StructuredViewer structuredViewer = (StructuredViewer) listener;
-				// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=5230
-				if (structuredViewer.getControl() != null /*
-														   * &&
-														   * structuredViewer.getControl().isVisible()
-														   */)
-					getOutlineUpdater().processNode(structuredViewer, (Node) notifier);
-			} else if ((listener instanceof PropertySheetPage) && ((eventType == INodeNotifier.CHANGE) || (eventType == INodeNotifier.STRUCTURE_CHANGED))) {
-				PropertySheetPage propertySheetPage = (PropertySheetPage) listener;
-				if (propertySheetPage.getControl() != null /*
-														    * &&
-														    * !propertySheetPage.getControl().isDisposed()
-														    */) {
-					RefreshPropertySheetJob refreshPropertySheetJob = new RefreshPropertySheetJob(getDisplay(), XMLUIPlugin.getResourceString("%JFaceNodeAdapter.1"), propertySheetPage); //$NON-NLS-1$
-					refreshPropertySheetJob.schedule();
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeAdapterFactory.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeAdapterFactory.java
deleted file mode 100644
index c138606..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeAdapterFactory.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.contentoutline;
-
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.wst.common.contentmodel.modelquery.CMDocumentManager;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.modelquery.ModelQueryAdapter;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapterFactory;
-
-
-/**
- * An adapter factory to create JFaceNodeAdapters. Use this adapter factory
- * with a JFaceAdapterContentProvider to display DOM nodes in a tree.
- */
-public class JFaceNodeAdapterFactory extends AbstractAdapterFactory implements IJFaceNodeAdapterFactory {
-	protected CMDocumentManager cmDocumentManager;
-	/**
-	 * This keeps track of all the listeners.
-	 */
-	protected ArrayList fListeners = new ArrayList();
-
-	protected INodeAdapter singletonAdapter;
-
-	public JFaceNodeAdapterFactory() {
-		this(IJFaceNodeAdapter.class, true);
-	}
-
-	public JFaceNodeAdapterFactory(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	public synchronized void addListener(Object listener) {
-		fListeners.add(listener);
-	}
-
-	public AdapterFactory copy() {
-
-		return new JFaceNodeAdapterFactory(this.adapterKey, this.shouldRegisterAdapter);
-	}
-
-	/**
-	 * Create a new JFace adapter for the DOM node passed in
-	 */
-	protected INodeAdapter createAdapter(INodeNotifier node) {
-		if (singletonAdapter == null) {
-			// create the JFaceNodeAdapter
-			singletonAdapter = new JFaceNodeAdapter(this);
-			initAdapter(singletonAdapter, node);
-		}
-		return singletonAdapter;
-	}
-
-	/**
-	 * returns "copy" so no one can modify our list. Its is a shallow copy.
-	 */
-	public synchronized Collection getListeners() {
-		return (Collection) fListeners.clone();
-	}
-
-	protected void initAdapter(INodeAdapter adapter, INodeNotifier node) {
-		// register for CMDocumentManager events
-		if (((JFaceNodeAdapter) adapter).getCMDocumentManagerListener() != null) {
-			ModelQueryAdapter mqadapter = (ModelQueryAdapter) node.getAdapterFor(ModelQueryAdapter.class);
-			if (mqadapter != null) {
-				ModelQuery mquery = mqadapter.getModelQuery();
-				if (mquery != null && mquery.getCMDocumentManager() != null) {
-					cmDocumentManager = mquery.getCMDocumentManager();
-					cmDocumentManager.addListener(((JFaceNodeAdapter) adapter).getCMDocumentManagerListener());
-				}
-			}
-		}
-	}
-
-	public void release() {
-		// deregister from CMDocumentManager events
-		if (cmDocumentManager != null && singletonAdapter != null && ((JFaceNodeAdapter) singletonAdapter).getCMDocumentManagerListener() != null) {
-			cmDocumentManager.removeListener(((JFaceNodeAdapter) singletonAdapter).getCMDocumentManagerListener());
-		}
-	}
-
-	public synchronized void removeListener(Object listener) {
-		fListeners.remove(listener);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeContentProvider.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeContentProvider.java
deleted file mode 100644
index d6a1212..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeContentProvider.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.contentoutline;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.xml.core.document.XMLModel;
-
-
-/**
- * An ITreeContentProvider for a TreeViewers used to display DOM nodes. This
- * content provider takes an adapter factory to create JFace adapters for the
- * nodes in the tree.
- */
-public class JFaceNodeContentProvider implements ITreeContentProvider {
-	protected AdapterFactory adapterFactory;
-
-	public JFaceNodeContentProvider(AdapterFactory jfaceAdapterFactory) {
-		super();
-		this.adapterFactory = jfaceAdapterFactory;
-	}
-
-	/**
-	 * The visual part that is using this content provider is about to be
-	 * disposed. Deallocate all allocated SWT resources.
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * Returns the JFace adapter for the specified object.
-	 * 
-	 * @return com.ibm.sed.view.tree.DOMJFaceAdapter The JFace adapter
-	 * @param adaptable
-	 *            java.lang.Object The object to get the adapter for
-	 */
-	protected IJFaceNodeAdapter getAdapter(Object adaptable) {
-		if (adaptable instanceof INodeNotifier) {
-			INodeAdapter adapter = adapterFactory.adapt((INodeNotifier) adaptable);
-			if (adapter instanceof IJFaceNodeAdapter)
-				return (IJFaceNodeAdapter) adapter;
-		}
-		return null;
-	}
-
-	public Object[] getChildren(Object object) {
-		IJFaceNodeAdapter adapter = getAdapter(object);
-
-		if (adapter != null)
-			return adapter.getChildren(object);
-
-		return new Object[0];
-	}
-
-	public Object[] getElements(Object object) {
-		// The root is usually an instance of an XMLStructuredModel in
-		// which case we want to extract the document.
-		Object topNode = object;
-		if (object instanceof XMLModel)
-			topNode = ((XMLModel) object).getDocument();
-
-		IJFaceNodeAdapter adapter = getAdapter(topNode);
-
-		if (adapter != null)
-			return adapter.getElements(topNode);
-
-		return new Object[0];
-	}
-
-	public Object getParent(Object object) {
-		IJFaceNodeAdapter adapter = getAdapter(object);
-
-		if (adapter != null)
-			return adapter.getParent(object);
-
-		return null;
-	}
-
-	public boolean hasChildren(Object object) {
-		IJFaceNodeAdapter adapter = getAdapter(object);
-
-		if (adapter != null)
-			return adapter.hasChildren(object);
-
-		return false;
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeLabelProvider.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeLabelProvider.java
deleted file mode 100644
index 28c4d84..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/JFaceNodeLabelProvider.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.contentoutline;
-
-
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.views.contentoutline.IJFaceNodeAdapter;
-
-
-/**
- * A class that uses a JFaceNodeAdapterFactory to provide adapters to provide
- * the labels and images for DOM nodes.
- */
-public class JFaceNodeLabelProvider implements ILabelProvider {
-
-	protected AdapterFactory adapterFactory;
-
-	/**
-	 * JFaceNodeLabelProvider constructor comment.
-	 */
-	public JFaceNodeLabelProvider(AdapterFactory adapterFactory) {
-		super();
-		this.adapterFactory = adapterFactory;
-	}
-
-	/**
-	 * Adds a listener to the label provider. A label provider should inform
-	 * its listener about state changes that enforces rendering of the visual
-	 * part that uses this label provider.
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// The label provider state never changes so we do not have
-		// to implement this method.
-	}
-
-	/**
-	 * The visual part that is using this label provider is about to be
-	 * disposed. Deallocate all allocated SWT resources.
-	 */
-	public void dispose() {
-		// Nothing to dispose
-	}
-
-	/**
-	 * Returns the JFace adapter for the specified object.
-	 * 
-	 * @return com.ibm.sed.view.tree.DOMJFaceAdapter The JFace adapter
-	 * @param adaptable
-	 *            java.lang.Object The object to get the adapter for
-	 */
-	protected IJFaceNodeAdapter getAdapter(Object adaptable) {
-		return (IJFaceNodeAdapter) adapterFactory.adapt((INodeNotifier) adaptable);
-	}
-
-	/**
-	 * Returns the image for the label of the given element, for use in the
-	 * given viewer.
-	 * 
-	 * @param element
-	 *            The element for which to provide the label image. Element
-	 *            can be <code>null</code> indicating no input object is set
-	 *            to the viewer.
-	 */
-	public Image getImage(Object element) {
-		return getAdapter(element).getLabelImage(element);
-	}
-
-	/**
-	 * Returns the text for the label of the given element, for use in the
-	 * given viewer.
-	 * 
-	 * @param element
-	 *            The element for which to provide the label text. Element can
-	 *            be <code>null</code> indicating no input object is set to
-	 *            the viewer.
-	 */
-	public java.lang.String getText(Object element) {
-		// This was returning null, on occasion ... probably should not be,
-		// but
-		// took the quick and easy way out for now. (dmw 3/8/01)
-		String result = getAdapter(element).getLabelText(element);
-		if (result == null)
-			result = "";//$NON-NLS-1$
-		return result;
-	}
-
-	/**
-	 * Checks whether this label provider is affected by the given domain
-	 * event.
-	 */
-	public boolean isAffected(Object dummy) {//DomainEvent event) {
-		//return event.isModifier(DomainEvent.NON_STRUCTURE_CHANGE);
-		return true;
-
-	}
-
-	/**
-	 * Returns whether the label would be affected by a change to the given
-	 * property of the given element. This can be used to optimize a
-	 * non-structural viewer update. If the property mentioned in the update
-	 * does not affect the label, then the viewer need not update the label.
-	 * 
-	 * @param element
-	 *            the element
-	 * @param property
-	 *            the property
-	 * @return <code>true</code> if the label would be affected, and
-	 *         <code>false</code> if it would be unaffected
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * Removes a listener from the label provider.
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// The label provider state never changes so we do not have
-		// to implement this method.
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/RefreshOutlineJob.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/RefreshOutlineJob.java
deleted file mode 100644
index 093b76e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/RefreshOutlineJob.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.contentoutline;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.progress.UIJob;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.w3c.dom.Node;
-
-/**
- * @deprecated should be using org.eclipse.wst.sse.ui.views.contentoutline.RefreshOutlineJob
- */
-public class RefreshOutlineJob extends UIJob {
-
-	private INodeNotifier fNodeNotifier;
-	private StructuredViewer fStructuredViewer;
-
-	/**
-	 * @param jobDisplay
-	 * @param name
-	 */
-	public RefreshOutlineJob(Display jobDisplay, String name, StructuredViewer structuredViewer, INodeNotifier nodeNotifier) {
-		super(jobDisplay, name);
-		setPriority(Job.SHORT);
-
-		setStructuredViewer(structuredViewer);
-		setNodeNotifier(nodeNotifier);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus runInUIThread(IProgressMonitor monitor) {
-		IStatus result = Status.OK_STATUS;
-		try {
-			Control control = fStructuredViewer.getControl();
-			// we should have check before even scheduling this, but even if
-			// ok then, need to check again, right before executing.
-			if (control != null && !control.isDisposed()) {
-
-				if ((fNodeNotifier instanceof Node) && (((Node) fNodeNotifier).getParentNode() == null)) {
-					// refresh whole document
-					fStructuredViewer.refresh();
-				} else {
-					// refresh only the node that's changed
-					fStructuredViewer.refresh(fNodeNotifier);
-				}
-			}
-		} catch (Exception e) {
-			result = errorStatus(e);
-		} finally {
-			monitor.done();
-		}
-		return result;
-	}
-
-	/**
-	 * @param nodeNotifier
-	 */
-	private void setNodeNotifier(INodeNotifier nodeNotifier) {
-		fNodeNotifier = nodeNotifier;
-
-	}
-
-	/**
-	 * @param structuredViewer
-	 */
-	private void setStructuredViewer(StructuredViewer structuredViewer) {
-		fStructuredViewer = structuredViewer;
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/RefreshPropertySheetJob.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/RefreshPropertySheetJob.java
deleted file mode 100644
index e20a28b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/RefreshPropertySheetJob.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.contentoutline;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.progress.UIJob;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-
-
-public class RefreshPropertySheetJob extends UIJob {
-
-
-	private PropertySheetPage fPropertySheetPage;
-
-	/**
-	 * @param jobDisplay
-	 * @param name
-	 */
-	public RefreshPropertySheetJob(Display jobDisplay, String name, PropertySheetPage propertySheetPage) {
-		super(jobDisplay, name);
-		setPriority(Job.SHORT);
-		fPropertySheetPage = propertySheetPage;
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus runInUIThread(IProgressMonitor monitor) {
-		IStatus result = Status.OK_STATUS;
-		try {
-			Control control = fPropertySheetPage.getControl();
-			// we should have check before even scheduling this, but even if
-			// ok then, need to check again, right before executing.
-			if (control != null && !control.isDisposed()) {
-				fPropertySheetPage.refresh();
-			}
-		} catch (Exception e) {
-			result = errorStatus(e);
-		} finally {
-			monitor.done();
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/XMLContentOutlineConfiguration.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/XMLContentOutlineConfiguration.java
deleted file mode 100644
index c3820d0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/XMLContentOutlineConfiguration.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.contentoutline;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.TransferDragSourceListener;
-import org.eclipse.jface.util.TransferDropTargetListener;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.wst.common.ui.dnd.ObjectTransfer;
-import org.eclipse.wst.common.ui.dnd.ViewerDragAdapter;
-import org.eclipse.wst.common.ui.dnd.ViewerDropAdapter;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration;
-import org.eclipse.wst.xml.ui.dnd.XMLDragAndDropManager;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-public class XMLContentOutlineConfiguration extends StructuredContentOutlineConfiguration {
-
-	protected class ActionManagerMenuListener implements IMenuListener, IReleasable {
-		private XMLNodeActionManager fActionManager;
-		private TreeViewer fTreeViewer;
-
-		public ActionManagerMenuListener(TreeViewer viewer) {
-			fTreeViewer = viewer;
-			fActionManager = createNodeActionManager(fTreeViewer);
-		}
-
-		public void menuAboutToShow(IMenuManager manager) {
-			if (fActionManager != null)
-				fActionManager.fillContextMenu(manager, fTreeViewer.getSelection());
-		}
-
-		public void release() {
-			fTreeViewer = null;
-			fActionManager.setModel(null);
-		}
-	}
-
-	protected ActionManagerMenuListener fContextMenuFiller = null;
-
-	private TransferDragSourceListener[] fTransferDragSourceListeners;
-	private TransferDropTargetListener[] fTransferDropTargetListeners;
-
-	public XMLContentOutlineConfiguration() {
-		super();
-	}
-
-	protected XMLNodeActionManager createNodeActionManager(TreeViewer treeViewer) {
-		return new XMLNodeActionManager(getEditor().getModel(), treeViewer);
-	}
-
-	public IContentProvider getContentProvider(TreeViewer viewer) {
-		if (fContentProvider == null) {
-			if (getFactory() != null) {
-				fContentProvider = new JFaceNodeContentProvider((AdapterFactory) getFactory());
-			} else {
-				fContentProvider = super.getContentProvider(viewer);
-			}
-		}
-		return fContentProvider;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getLabelProvider(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public ILabelProvider getLabelProvider(TreeViewer viewer) {
-		if (fLabelProvider == null) {
-			if (getFactory() != null) {
-				fLabelProvider = new JFaceNodeLabelProvider((AdapterFactory) getFactory());
-			} else {
-				fLabelProvider = super.getLabelProvider(viewer);
-			}
-		}
-		return fLabelProvider;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getMenuListener(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public IMenuListener getMenuListener(TreeViewer viewer) {
-		if (fContextMenuFiller == null) {
-			fContextMenuFiller = new ActionManagerMenuListener(viewer);
-		}
-		return fContextMenuFiller;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getNodes(java.util.List)
-	 */
-	public List getNodes(List nodes) {
-		List filteredNodes = new ArrayList(super.getNodes(nodes));
-		for (int i = 0; i < filteredNodes.size(); i++) {
-			Object selectedNode = filteredNodes.get(i);
-			if (selectedNode instanceof Node) {
-				Node eachNode = (Node) selectedNode;
-				// replace attribute node in selection with its parent
-				if (eachNode.getNodeType() == Node.ATTRIBUTE_NODE)
-					filteredNodes.set(i, ((Attr) eachNode).getOwnerElement());
-				// replace TextNode in selection with its parent
-				else if (eachNode.getNodeType() == Node.TEXT_NODE)
-					filteredNodes.set(i, eachNode.getParentNode());
-			}
-		}
-		return filteredNodes;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getSelectedNodes(org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent)
-	 */
-	public List getSelectedNodes(NodeSelectionChangedEvent event) {
-		return getNodes(super.getSelectedNodes(event));
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getTransferDragSourceListeners(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public TransferDragSourceListener[] getTransferDragSourceListeners(TreeViewer treeViewer) {
-		if (fTransferDragSourceListeners == null) {
-			// emulate the XMLDragAndDropManager
-			final ViewerDragAdapter dragAdapter = new ViewerDragAdapter(treeViewer);
-			fTransferDragSourceListeners = new TransferDragSourceListener[]{new TransferDragSourceListener() {
-				public void dragFinished(DragSourceEvent event) {
-					dragAdapter.dragFinished(event);
-				}
-
-				public void dragSetData(DragSourceEvent event) {
-					dragAdapter.dragSetData(event);
-				}
-
-				public void dragStart(DragSourceEvent event) {
-					dragAdapter.dragStart(event);
-				}
-
-				public Transfer getTransfer() {
-					return ObjectTransfer.getInstance();
-				}
-			}};
-		}
-
-		return fTransferDragSourceListeners;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getTransferDropTargetListeners(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public TransferDropTargetListener[] getTransferDropTargetListeners(TreeViewer treeViewer) {
-		if (fTransferDropTargetListeners == null) {
-			// emulate the XMLDragAnDropManager
-			final ViewerDropAdapter dropAdapter = new ViewerDropAdapter(treeViewer, new XMLDragAndDropManager());
-			fTransferDropTargetListeners = new TransferDropTargetListener[]{new TransferDropTargetListener() {
-				public void dragEnter(DropTargetEvent event) {
-					dropAdapter.dragEnter(event);
-				}
-
-				public void dragLeave(DropTargetEvent event) {
-					dropAdapter.dragLeave(event);
-				}
-
-				public void dragOperationChanged(DropTargetEvent event) {
-					dropAdapter.dragOperationChanged(event);
-				}
-
-				public void dragOver(DropTargetEvent event) {
-					dropAdapter.dragOver(event);
-				}
-
-				public void drop(DropTargetEvent event) {
-					dropAdapter.drop(event);
-				}
-
-				public void dropAccept(DropTargetEvent event) {
-					dropAdapter.dropAccept(event);
-				}
-
-				public Transfer getTransfer() {
-					return ObjectTransfer.getInstance();
-				}
-
-				public boolean isEnabled(DropTargetEvent event) {
-					return getTransfer().isSupportedType(event.currentDataType);
-				}
-			}};
-		}
-		return fTransferDropTargetListeners;
-	}
-
-	public void unconfigure(TreeViewer viewer) {
-		super.unconfigure(viewer);
-		fTransferDragSourceListeners = null;
-		fTransferDropTargetListeners = null;
-		if (fContextMenuFiller != null) {
-			fContextMenuFiller.release();
-			fContextMenuFiller = null;
-		}
-		// TODO: Add DnD support
-		// XMLDragAndDropManager.addDragAndDropSupport(fTreeViewer);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration#getPreferenceStore()
-	 */
-	protected IPreferenceStore getPreferenceStore() {
-		return XMLUIPlugin.getDefault().getPreferenceStore();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/XMLNodeActionManager.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/XMLNodeActionManager.java
deleted file mode 100644
index 9fe7c36..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/XMLNodeActionManager.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.contentoutline;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.ui.actions.AbstractNodeActionManager;
-import org.w3c.dom.Node;
-
-
-public class XMLNodeActionManager extends AbstractNodeActionManager {
-	public XMLNodeActionManager(IStructuredModel model, Viewer viewer) {
-		super(model, ModelQueryUtil.getModelQuery(model), viewer);
-	}
-
-	public void reformat(Node newElement, boolean deep) {
-		try {
-			// tell the model that we are about to make a big model change
-			model.aboutToChangeModel();
-
-			// format selected node
-			IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
-			formatProcessor.formatNode(newElement);
-		} finally {
-			// tell the model that we are done with the big model change
-			model.changedModel();
-		}
-	}
-
-	public void setModel(IStructuredModel newModel) {
-		model = newModel;
-		setModelQuery(ModelQueryUtil.getModelQuery(newModel));
-	}
-
-	protected void setModelQuery(ModelQuery newModelQuery) {
-		modelQuery = newModelQuery;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/ProcessingInstructionPropertySourceAdapter.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/ProcessingInstructionPropertySourceAdapter.java
deleted file mode 100644
index fb3f6ab..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/ProcessingInstructionPropertySourceAdapter.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.properties;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.sse.ui.views.properties.CustomPropertyDescriptor;
-import org.eclipse.wst.sse.ui.views.properties.IPropertySourceExtension;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-
-
-/**
- * An IPropertySource implementation for a JFace viewer used to display
- * properties of DOM nodes. Requires an adapter factory to create JFace
- * adapters for the nodes in the tree.
- * 
- * @deprecated - to be removed in M4
- */
-public class ProcessingInstructionPropertySourceAdapter implements INodeAdapter, IPropertySource, IPropertySourceExtension {
-	protected final static String CATEGORY_ATTRIBUTES = "Instructions"; //$NON-NLS-1$
-
-	protected IPropertyDescriptor[] fDescriptors = null;
-	protected Node fNode = null;
-
-	public ProcessingInstructionPropertySourceAdapter(INodeNotifier target) {
-		super();
-		fNode = (Node) target;
-		Assert.isTrue(target instanceof XMLNode);
-		Assert.isTrue(fNode.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE);
-	}
-
-	/**
-	 * Returns the current collection of property descriptors.
-	 * 
-	 * @return all valid descriptors.
-	 */
-	protected IPropertyDescriptor[] createPropertyDescriptors() {
-		boolean isXML = ((ProcessingInstruction) fNode).getTarget().equalsIgnoreCase("xml"); //$NON-NLS-1$
-		if (!isXML)
-			return new IPropertyDescriptor[0];
-		CustomPropertyDescriptor[] descriptors = new CustomPropertyDescriptor[2];
-		descriptors[0] = new CustomPropertyDescriptor("version", "version", null); //$NON-NLS-1$ //$NON-NLS-2$
-		descriptors[0].setCategory(CATEGORY_ATTRIBUTES);
-		descriptors[1] = new CustomPropertyDescriptor("encoding", "encoding", null); //$NON-NLS-1$ //$NON-NLS-2$
-		descriptors[1].setCategory(CATEGORY_ATTRIBUTES);
-		return descriptors;
-	}
-
-	/**
-	 * Returns a value for this Node that can be editted in a property sheet.
-	 * 
-	 * @return a value that can be editted
-	 */
-	public Object getEditableValue() {
-		return null;
-	}
-
-	/**
-	 * Returns the current collection of property descriptors.
-	 * 
-	 * @return all valid descriptors.
-	 */
-	public IPropertyDescriptor[] getPropertyDescriptors() {
-		if (fDescriptors == null) {
-			fDescriptors = createPropertyDescriptors();
-		}
-		return fDescriptors;
-	}
-
-	/**
-	 * Returns the current value for the named property.
-	 */
-	public Object getPropertyValue(Object nameObject) {
-		XMLNode node = (XMLNode) fNode;
-		String value = null;
-		String name = null;
-		IStructuredDocumentRegion docRegion = node.getFirstStructuredDocumentRegion();
-		if (docRegion == null)
-			return null;
-		ITextRegionList regions = docRegion.getRegions();
-		ITextRegion region = null;
-		int i = 2;
-		while (value == null && i < regions.size()) {
-			region = regions.get(i);
-			if (region.getType().equals(XMLRegionContext.XML_TAG_ATTRIBUTE_NAME))
-				name = docRegion.getText(region);
-			else if (region.getType().equals(XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE) && name != null && name.equals(nameObject))
-				value = docRegion.getText(region);
-			i++;
-		}
-		if (value != null)
-			value = StringUtils.strip(value);
-		return value;
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return type == IPropertySource.class;
-	}
-
-	/**
-	 * Returns whether the property value has changed from the default.
-	 * 
-	 * @return <code>true</code> if the value of the specified property has
-	 *         changed from its original default value; <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isPropertySet(Object propertyObject) {
-		return false;
-	}
-
-	public void notifyChanged(INodeNotifier notifier, int eventType, java.lang.Object changedFeature, java.lang.Object oldValue, java.lang.Object newValue, int pos) {
-	}
-
-	/**
-	 * Remove the given attribute from the Node
-	 * 
-	 * @param propertyObject
-	 */
-	public void removeProperty(Object propertyObject) {
-	}
-
-	/**
-	 * Resets the specified property's value to its default value.
-	 */
-	public void resetPropertyValue(Object propertyObject) {
-	}
-
-	/**
-	 * Sets the named property to the given value.
-	 * 
-	 */
-	public void setPropertyValue(Object nameObject, Object value) {
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySheetConfiguration.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySheetConfiguration.java
deleted file mode 100644
index 7ce0ff0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySheetConfiguration.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.sse.ui.views.properties.StructuredPropertySheetConfiguration;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-
-public class XMLPropertySheetConfiguration extends StructuredPropertySheetConfiguration {
-
-	/**
-	 *  
-	 */
-	public XMLPropertySheetConfiguration() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.views.properties.PropertySheetConfiguration#getSelection(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public ISelection getSelection(IWorkbenchPart selectingPart, ISelection selection) {
-		// On Attr nodes, select the owner Element. On Text nodes, select the
-		// parent Element.
-		ISelection preferredSelection = selection;
-		if (selection instanceof ITextSelection) {
-			// on text selection, find the appropriate Node
-			ITextSelection textSel = (ITextSelection) selection;
-			if (getModel() != null) {
-				Object inode = getModel().getIndexedRegion(textSel.getOffset());
-				if (inode instanceof Node) {
-					Node node = (Node) inode;
-					// replace Attribute Node with its owner
-					if (node.getNodeType() == Node.ATTRIBUTE_NODE)
-						inode = ((Attr) node).getOwnerElement();
-					// replace Text Node with its parent
-					else if ((node.getNodeType() == Node.TEXT_NODE || (node.getNodeType() == Node.CDATA_SECTION_NODE)) && node.getParentNode() != null) {
-						inode = node.getParentNode();
-					}
-				}
-				if (inode != null) {
-					List inputList = new ArrayList(1);
-					inputList.add(inode);
-					preferredSelection = new StructuredSelection(inputList);
-				}
-			}
-		} else if (selection instanceof IStructuredSelection) {
-			IStructuredSelection structuredSel = (IStructuredSelection) selection;
-			if (getModel() != null) {
-				List inputList = new ArrayList(structuredSel.toList());
-				for (int i = 0; i < inputList.size(); i++) {
-					Object inode = inputList.get(i);
-					if (inode instanceof Node) {
-						Node node = (Node) inputList.get(i);
-						// replace Attribute Node with its owner
-						if (node.getNodeType() == Node.ATTRIBUTE_NODE)
-							inputList.set(i, ((Attr) node).getOwnerElement());
-						// replace Text Node with its parent
-						else if ((node.getNodeType() == Node.TEXT_NODE || (node.getNodeType() == Node.CDATA_SECTION_NODE)) && node.getParentNode() != null) {
-							inputList.set(i, node.getParentNode());
-						}
-					}
-				}
-				preferredSelection = new StructuredSelection(inputList);
-			}
-		}
-		return preferredSelection;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySourceAdapter.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySourceAdapter.java
deleted file mode 100644
index 5872688..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySourceAdapter.java
+++ /dev/null
@@ -1,668 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.properties;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySheetEntry;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.common.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.common.contentmodel.CMDataType;
-import org.eclipse.wst.common.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.common.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.views.properties.IPropertySourceExtension;
-import org.eclipse.wst.xml.core.document.DocumentTypeAdapter;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.properties.EnumeratedStringPropertyDescriptor;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * An IPropertySource implementation for a JFace viewer used to display
- * properties of DOM nodes. Requires an adapter factory to create JFace
- * adapters for the nodes in the tree.
- */
-public class XMLPropertySourceAdapter implements INodeAdapter, IPropertySource, IPropertySourceExtension {
-	protected final static String CATEGORY_ATTRIBUTES = XMLUIPlugin.getResourceString("%XMLPropertySourceAdapter.0"); //$NON-NLS-1$
-
-	private static final boolean fSetExpertFilter = false;
-
-	// derive categories from CMDataTypes; disabled until display strings can
-	// be planned
-	private final static boolean fShouldDeriveCategories = false;
-
-	private final static boolean fSortEnumeratedValues = true;
-	protected boolean fCaseSensitive = true;
-	protected IPropertyDescriptor[] fDescriptors = null;
-	protected Node fNode = null;
-
-	protected Stack fValuesBeingSet = new Stack();
-
-	public XMLPropertySourceAdapter(INodeNotifier target) {
-		super();
-		fNode = (Node) target;
-		if (fNode instanceof XMLNode) {
-			Document ownerDocument = fNode.getOwnerDocument();
-			if (ownerDocument == null) {
-				// if ownerDocument is null, then it must be the Document Node
-				ownerDocument = (Document) fNode;
-			}
-			DocumentTypeAdapter adapter = (DocumentTypeAdapter) ((INodeNotifier) ownerDocument).getAdapterFor(DocumentTypeAdapter.class);
-			if (adapter != null)
-				fCaseSensitive = adapter.getTagNameCase() == DocumentTypeAdapter.STRICT_CASE;
-		}
-	}
-
-	private String[] _getValidFixedStrings(CMAttributeDeclaration attrDecl, CMDataType helper) {
-		String attributeName = attrDecl.getAttrName();
-		List values = new ArrayList(1);
-		String impliedValue = helper.getImpliedValue();
-		if (impliedValue != null)
-			values.add(impliedValue);
-		boolean checkIfCurrentValueIsIncluded = (fNode.getAttributes() != null && fNode.getAttributes().getNamedItem(attributeName) != null && fNode.getAttributes().getNamedItem(attributeName).getNodeValue() != null);
-		if (checkIfCurrentValueIsIncluded) {
-			String currentValue = null;
-			currentValue = fNode.getAttributes().getNamedItem(attributeName).getNodeValue();
-			if (!currentValue.equals(impliedValue))
-				values.add(currentValue);
-		}
-		String[] validStrings = new String[values.size()];
-		validStrings = (String[]) values.toArray(validStrings);
-		return validStrings;
-	}
-
-	private String[] _getValidStrings(CMAttributeDeclaration attrDecl, CMDataType valuesHelper) {
-		String attributeName = attrDecl.getAttrName();
-		List values = new ArrayList(1);
-		boolean currentValueKnown = false;
-		boolean checkIfCurrentValueIsKnown = (fNode.getAttributes() != null && fNode.getAttributes().getNamedItem(attributeName) != null && fNode.getAttributes().getNamedItem(attributeName).getNodeValue() != null);
-		String currentValue = null;
-		if (checkIfCurrentValueIsKnown)
-			currentValue = fNode.getAttributes().getNamedItem(attributeName).getNodeValue();
-
-		if (valuesHelper.getImpliedValueKind() == CMDataType.IMPLIED_VALUE_FIXED && valuesHelper.getImpliedValue() != null) {
-			// FIXED value
-			currentValueKnown = currentValue != null && valuesHelper.getImpliedValue().equals(currentValue);
-			values.add(valuesHelper.getImpliedValue());
-		} else {
-			// ENUMERATED values
-			String[] valueStrings = null;
-			//			valueStrings = valuesHelper.getEnumeratedValues();
-			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(fNode.getOwnerDocument());
-			if (modelQuery != null && fNode.getNodeType() == Node.ELEMENT_NODE) {
-				valueStrings = modelQuery.getPossibleDataTypeValues((Element) fNode, attrDecl);
-			} else {
-				valueStrings = attrDecl.getAttrType().getEnumeratedValues();
-			}
-			if (valueStrings != null) {
-				for (int i = 0; i < valueStrings.length; i++) {
-					if (checkIfCurrentValueIsKnown && valueStrings[i].equals(currentValue))
-						currentValueKnown = true;
-					values.add(valueStrings[i]);
-				}
-			}
-		}
-		if (valuesHelper.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_NONE && valuesHelper.getImpliedValue() != null) {
-			if (!values.contains(valuesHelper.getImpliedValue()))
-				values.add(valuesHelper.getImpliedValue());
-		}
-
-		if (checkIfCurrentValueIsKnown && !currentValueKnown && currentValue != null && currentValue.length() > 0)
-			values.add(currentValue);
-		String[] validStrings = new String[values.size()];
-		validStrings = (String[]) values.toArray(validStrings);
-		return validStrings;
-	}
-
-	protected void clearDescriptors() {
-		fDescriptors = null;
-	}
-
-	protected IPropertyDescriptor createDefaultPropertyDescriptor(String attributeName) {
-		return createDefaultPropertyDescriptor(attributeName, false);
-	}
-
-	protected IPropertyDescriptor createDefaultPropertyDescriptor(String attributeName, boolean hideOnFilter) {
-		// The descriptor class used here is also used in
-		// updatePropertyDescriptors()
-		TextPropertyDescriptor descriptor = new TextPropertyDescriptor(attributeName, attributeName);
-		descriptor.setCategory(getCategory(null));
-		descriptor.setDescription(attributeName);
-		if (hideOnFilter && fSetExpertFilter)
-			descriptor.setFilterFlags(new String[]{IPropertySheetEntry.FILTER_ID_EXPERT});
-		return descriptor;
-	}
-
-	/**
-	 * Creates a property descriptor for an attribute with ENUMERATED values -
-	 * if the value does not exist, an editable combo box is returned - if the
-	 * value exists but is not one in the enumerated list of value, a combo
-	 * box featuring the current and correct values is returned - if the value
-	 * exists and it is a valid value, a combo box featuring the correct
-	 * values with the current one visible is returned
-	 */
-	private IPropertyDescriptor createEnumeratedPropertyDescriptor(CMAttributeDeclaration attrDecl, CMDataType valuesHelper) {
-		// the displayName MUST be set
-		EnumeratedStringPropertyDescriptor descriptor = new EnumeratedStringPropertyDescriptor(attrDecl.getAttrName(), attrDecl.getAttrName(), _getValidStrings(attrDecl, valuesHelper));
-		descriptor.setCategory(getCategory(attrDecl));
-		descriptor.setDescription(attrDecl.getAttrName());
-		if (attrDecl.getUsage() != CMAttributeDeclaration.REQUIRED && fSetExpertFilter)
-			descriptor.setFilterFlags(new String[]{IPropertySheetEntry.FILTER_ID_EXPERT});
-		return descriptor;
-	}
-
-	/**
-	 * Creates a property descriptor for an attribute with a FIXED value - if
-	 * the value does not exist, an editable combo box is returned - if the
-	 * value exists but is not the fixed/default value, a combo box featuring
-	 * the current and correct value is returned - if the value exists and it
-	 * is the fixed/default value, no cell editor is provided "locking" the
-	 * value in
-	 */
-	private IPropertyDescriptor createFixedPropertyDescriptor(CMAttributeDeclaration attrDecl, CMDataType helper) {
-		// the displayName MUST be set
-		EnumeratedStringPropertyDescriptor descriptor = new EnumeratedStringPropertyDescriptor(attrDecl.getNodeName(), attrDecl.getNodeName(), _getValidFixedStrings(attrDecl, helper));
-		descriptor.setCategory(getCategory(attrDecl));
-		descriptor.setDescription(attrDecl.getAttrName());
-		return descriptor;
-	}
-
-	protected IPropertyDescriptor createPropertyDescriptor(CMAttributeDeclaration attrDecl) {
-		IPropertyDescriptor descriptor = null;
-		CMDataType attrType = attrDecl.getAttrType();
-
-		if (attrType != null) {
-			// handle declarations that provide FIXED/ENUMERATED values
-			if (attrType.getEnumeratedValues() != null && attrType.getEnumeratedValues().length > 0) {
-				descriptor = createEnumeratedPropertyDescriptor(attrDecl, attrType);
-			} else if ((attrDecl.getUsage() == CMAttributeDeclaration.FIXED || attrType.getImpliedValueKind() == CMDataType.IMPLIED_VALUE_FIXED) && attrType.getImpliedValue() != null) {
-				descriptor = createFixedPropertyDescriptor(attrDecl, attrType);
-			} else {
-				// plain text
-				descriptor = createTextPropertyDescriptor(attrDecl);
-			}
-		} else {
-			// no extra information given
-			descriptor = createTextPropertyDescriptor(attrDecl);
-		}
-		return descriptor;
-	}
-
-	/**
-	 * Returns the current collection of property descriptors.
-	 * 
-	 * @return all valid descriptors.
-	 */
-	protected IPropertyDescriptor[] createPropertyDescriptors() {
-		CMNamedNodeMap attrMap = null;
-		CMElementDeclaration ed = getDeclaration();
-		if (ed != null) {
-			attrMap = ed.getAttributes();
-		}
-
-		List descriptorList = new ArrayList();
-		List names = new ArrayList();
-		IPropertyDescriptor descriptor;
-
-		CMAttributeDeclaration attrDecl = null;
-
-		// add descriptors for existing attributes
-		NamedNodeMap attributes = fNode.getAttributes();
-		if (attributes != null) {
-			for (int i = 0; i < attributes.getLength(); i++) {
-				Attr attr = (Attr) attributes.item(i);
-				// if metainfo is present for this attribute, use the
-				// CMAttributeDeclaration to derive a descriptor
-				if (attrMap != null) {
-					String attrName = attr.getName();
-					if (fCaseSensitive)
-						attrDecl = (CMAttributeDeclaration) attrMap.getNamedItem(attrName);
-					else {
-						for (int j = 0; j < attrMap.getLength(); j++) {
-							if (!fCaseSensitive && attrMap.item(j).getNodeName().equalsIgnoreCase(attrName)) {
-								attrDecl = (CMAttributeDeclaration) attrMap.item(j);
-								break;
-							}
-						}
-					}
-				}
-				// be consistent: if there's metainfo, use *that* as the
-				// descriptor ID
-				if (attrDecl != null) {
-					descriptor = createPropertyDescriptor(attrDecl);
-					if (descriptor != null)
-						names.add(attrDecl.getNodeName());
-				} else {
-					descriptor = createDefaultPropertyDescriptor(attr.getName());
-					if (descriptor != null)
-						names.add(attr.getName());
-				}
-				if (descriptor != null)
-					descriptorList.add(descriptor);
-			}
-		}
-
-		// add descriptors from the metainfo that are not yet listed
-		if (attrMap != null) {
-			for (int i = 0; i < attrMap.getLength(); i++) {
-				attrDecl = (CMAttributeDeclaration) attrMap.item(i);
-				if (!names.contains(attrDecl.getAttrName())) {
-					IPropertyDescriptor holdDescriptor = createPropertyDescriptor(attrDecl);
-					if (holdDescriptor != null) {
-						descriptorList.add(holdDescriptor);
-					}
-				}
-			}
-		}
-
-		IPropertyDescriptor[] descriptors = new IPropertyDescriptor[descriptorList.size()];
-		for (int i = 0; i < descriptors.length; i++)
-			descriptors[i] = (IPropertyDescriptor) descriptorList.get(i);
-		return descriptors;
-	}
-
-	private IPropertyDescriptor createTextPropertyDescriptor(CMAttributeDeclaration attrDecl) {
-		TextPropertyDescriptor descriptor = new TextPropertyDescriptor(attrDecl.getAttrName(), attrDecl.getAttrName());
-		descriptor.setCategory(getCategory(attrDecl));
-		descriptor.setDescription(attrDecl.getAttrName());
-		if (attrDecl.getUsage() != CMAttributeDeclaration.REQUIRED && fSetExpertFilter)
-			descriptor.setFilterFlags(new String[]{IPropertySheetEntry.FILTER_ID_EXPERT});
-		return descriptor;
-	}
-
-	protected String getCategory(CMAttributeDeclaration attrDecl) {
-		if (attrDecl != null) {
-			if (attrDecl.supports("category")) { //$NON-NLS-1$
-				return (String) attrDecl.getProperty("category"); //$NON-NLS-1$
-			}
-			if (fShouldDeriveCategories && attrDecl.getAttrType() != null && attrDecl.getAttrType().getNodeName() != null && attrDecl.getAttrType().getNodeName().length() > 0) {
-				return attrDecl.getAttrType().getDataTypeName();
-			}
-		}
-		return CATEGORY_ATTRIBUTES;
-	}
-
-	protected CMElementDeclaration getDeclaration() {
-		if (fNode == null || fNode.getNodeType() != Node.ELEMENT_NODE)
-			return null;
-		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(fNode.getOwnerDocument());
-		if (modelQuery != null) {
-			return modelQuery.getCMElementDeclaration((Element) fNode);
-		}
-		return null;
-	}
-
-	private Display getDisplay() {
-
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	/**
-	 * Returns a value for this Node that can be editted in a property sheet.
-	 * 
-	 * @return a value that can be editted
-	 */
-	public Object getEditableValue() {
-		return null;
-	}
-
-	/**
-	 * Returns the current collection of property descriptors.
-	 * 
-	 * @return all valid descriptors.
-	 */
-	public IPropertyDescriptor[] getPropertyDescriptors() {
-		if (fDescriptors == null || fDescriptors.length == 0) {
-			fDescriptors = createPropertyDescriptors();
-		} else {
-			updatePropertyDescriptors();
-		}
-		return fDescriptors;
-	}
-
-	/**
-	 * Returns the current value for the named property.
-	 * 
-	 */
-	public Object getPropertyValue(Object nameObject) {
-		String name = nameObject.toString();
-		String returnedValue = null;
-		NamedNodeMap attrMap = fNode.getAttributes();
-		if (attrMap != null) {
-			Node attribute = attrMap.getNamedItem(name);
-			if (attribute != null) {
-				if (attribute instanceof XMLNode)
-					returnedValue = ((XMLNode) attribute).getValueSource();
-				else
-					returnedValue = attribute.getNodeValue();
-			}
-		}
-		if (returnedValue == null)
-			returnedValue = ""; //$NON-NLS-1$
-		return returnedValue;
-	}
-
-	protected String[] getValidValues(CMAttributeDeclaration attrDecl) {
-		if (attrDecl == null)
-			return new String[0];
-
-		String[] validValues = null;
-		CMDataType attrType = attrDecl.getAttrType();
-		if (attrType != null) {
-			validValues = _getValidStrings(attrDecl, attrType);
-			if (fSortEnumeratedValues)
-				Arrays.sort(validValues);
-		}
-		if (validValues == null)
-			validValues = new String[0];
-		return validValues;
-	}
-
-	/**
-	 * Allowing the INodeAdapter to compare itself against the type allows it
-	 * to return true in more than one case.
-	 */
-	public boolean isAdapterForType(Object type) {
-		return type == IPropertySource.class;
-	}
-
-	protected boolean isFixedValue(CMAttributeDeclaration attrDecl) {
-		if (attrDecl == null)
-			return true;
-
-		CMDataType attrType = attrDecl.getAttrType();
-		if (attrType != null) {
-			return attrType.getImpliedValueKind() == CMDataType.IMPLIED_VALUE_FIXED || attrDecl.getUsage() == CMAttributeDeclaration.FIXED;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns whether the property value has changed from the default.
-	 * 
-	 * @return <code>true</code> if the value of the specified property has
-	 *         changed from its original default value; <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isPropertySet(Object propertyObject) {
-		String property = propertyObject.toString();
-
-		NamedNodeMap attrMap = fNode.getAttributes();
-		if (attrMap != null)
-			return attrMap.getNamedItem(property) != null;
-		return false;
-	}
-
-	public void notifyChanged(INodeNotifier notifier, int eventType, java.lang.Object changedFeature, java.lang.Object oldValue, java.lang.Object newValue, int pos) {
-	}
-
-	/**
-	 * Remove the given attribute from the Node
-	 * 
-	 * @param propertyObject
-	 */
-	public void removeProperty(Object propertyObject) {
-		NamedNodeMap attrMap = fNode.getAttributes();
-		if (attrMap != null) {
-			Node attribute = attrMap.getNamedItem(propertyObject.toString());
-			if (attribute != null) {
-				try {
-					attrMap.removeNamedItem(propertyObject.toString());
-				} catch (DOMException e) {
-					if (e.code != DOMException.INVALID_MODIFICATION_ERR) {
-						Logger.logException(e);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Resets the specified property's value to its default value.
-	 * 
-	 */
-	public void resetPropertyValue(Object propertyObject) {
-		String property = propertyObject.toString();
-		CMNamedNodeMap attrDecls = null;
-
-		CMElementDeclaration ed = getDeclaration();
-		if (ed != null) {
-			attrDecls = ed.getAttributes();
-		}
-
-		NamedNodeMap attrMap = fNode.getAttributes();
-		if (attrDecls != null) {
-			CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) attrDecls.getNamedItem(property);
-			String defValue = null;
-			if (attrDecl != null) {
-				if (attrDecl.getAttrType() != null) {
-					CMDataType helper = attrDecl.getAttrType();
-					if (helper.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_NONE && helper.getImpliedValue() != null)
-						defValue = helper.getImpliedValue();
-				}
-			}
-			if (defValue != null && defValue.length() > 0) {
-				((Attr) attrMap.getNamedItem(property)).setValue(defValue);
-			} else {
-				attrMap.removeNamedItem(property);
-			}
-		} else {
-			attrMap.removeNamedItem(property);
-		}
-	}
-
-	/**
-	 * Sets the named property to the given value.
-	 * 
-	 */
-	public void setPropertyValue(Object nameObject, Object value) {
-		// Avoid cycling - can happen if a closing cell editor causes a
-		// refresh
-		// on the PropertySheet page and the setInput again asks the editor to
-		// close; besides, why apply the same value twice?
-		if (!fValuesBeingSet.isEmpty() && fValuesBeingSet.peek() == nameObject)
-			return;
-		fValuesBeingSet.push(nameObject);
-		String name = nameObject.toString();
-		String valueString = null;
-		if (value != null)
-			valueString = value.toString();
-		NamedNodeMap attrMap = fNode.getAttributes();
-		try {
-			if (attrMap != null) {
-				Attr attr = (Attr) attrMap.getNamedItem(name);
-				if (attr != null) {
-					// EXISTING VALUE
-					// potential out of control loop if updating the value
-					// triggers a viewer update, forcing the
-					// active cell editor to save its value and causing the
-					// loop to continue
-					if (attr.getValue() == null || !attr.getValue().equals(valueString)) {
-						if (attr instanceof XMLNode)
-							((XMLNode) attr).setValueSource(valueString);
-						else
-							attr.setValue(valueString);
-					}
-				} else {
-					// NEW(?) value
-					if (value != null) { // never create an empty attribute
-						Attr newAttr = fNode.getOwnerDocument().createAttribute(name);
-						if (newAttr instanceof XMLNode)
-							((XMLNode) newAttr).setValueSource(valueString);
-						else
-							newAttr.setValue(valueString);
-						attrMap.setNamedItem(newAttr);
-					}
-				}
-			} else {
-				if (fNode instanceof Element) {
-					((Element) fNode).setAttribute(name, valueString);
-				}
-			}
-		} catch (DOMException e) {
-			Display d = getDisplay();
-			if (d != null)
-				d.beep();
-		}
-		fValuesBeingSet.pop();
-	}
-
-	protected void updatePropertyDescriptors() {
-		if (fDescriptors == null || fDescriptors.length == 0)
-			// Nothing to update
-			return;
-
-		// List of all names encountered in the tag and defined by the element
-		List declaredNames = new ArrayList();
-		// New descriptor list that will become fDescriptors after all
-		// processing is done
-		List descriptors = new ArrayList();
-		// Names of the descriptors in the above List
-		List descriptorNames = new ArrayList();
-
-		// Update any descriptors derived from the metainfo
-		CMElementDeclaration ed = getDeclaration();
-		CMNamedNodeMap attrMap = null;
-		if (ed != null) {
-			attrMap = ed.getAttributes();
-		}
-		// Update exiting descriptors; not added to the final list here
-		if (attrMap != null) {
-			// Update existing descriptor types based on metainfo
-			CMAttributeDeclaration attrDecl = null;
-			for (int i = 0; i < attrMap.getLength(); i++) {
-				attrDecl = (CMAttributeDeclaration) attrMap.item(i);
-				String attrName = attrDecl.getAttrName();
-				if (!declaredNames.contains(attrName)) {
-					declaredNames.add(attrName);
-				}
-				for (int j = 0; j < fDescriptors.length; j++) {
-					boolean sameName = (fCaseSensitive && fDescriptors[j].getId().equals(attrDecl.getNodeName())) || (!fCaseSensitive && attrDecl.getNodeName().equals(fDescriptors[j].getId().toString()));
-					if (sameName) {
-						String[] validValues = getValidValues(attrDecl);
-						// Update the descriptor for this
-						// CMAttributeDeclaration (only enumerated values get
-						// updated for now)
-						if (fDescriptors[j] instanceof EnumeratedStringPropertyDescriptor) {
-							((EnumeratedStringPropertyDescriptor) fDescriptors[j]).updateValues(validValues);
-						}
-						// Replace with better descriptor
-						else if (validValues != null && validValues.length > 0) {
-							fDescriptors[j] = createPropertyDescriptor(attrDecl);
-						}
-					}
-				}
-			}
-		} else {
-			// Update existing descriptors based on not having any metainfo
-			for (int j = 0; j < fDescriptors.length; j++) {
-				// Replace with basic descriptor
-				if (!(fDescriptors[j] instanceof TextPropertyDescriptor)) {
-					fDescriptors[j] = createDefaultPropertyDescriptor((String) fDescriptors[j].getId());
-				}
-			}
-		}
-
-		NamedNodeMap attributes = fNode.getAttributes();
-
-		// Remove descriptors for attributes that aren't present AND aren't
-		// known through metainfo,
-		// do this by only reusing existing descriptors for attributes that
-		// are present or declared
-		for (int i = 0; i < fDescriptors.length; i++) {
-			if (fDescriptors[i] != null) {
-				String descriptorName = fDescriptors[i].getId().toString();
-				if ((declaredNames.contains(descriptorName) || (attributes.getNamedItem(descriptorName) != null)) && !descriptorNames.contains(descriptorName)) {
-					descriptorNames.add(descriptorName);
-					descriptors.add(fDescriptors[i]);
-				}
-			}
-		}
-
-		// Add descriptors for declared attributes that don't already have one
-		if (attrMap != null) {
-			// Update existing descriptor types based on metainfo
-			CMAttributeDeclaration attrDecl = null;
-			for (int i = 0; i < attrMap.getLength(); i++) {
-				attrDecl = (CMAttributeDeclaration) attrMap.item(i);
-				String attrName = attrDecl.getAttrName();
-				if (fCaseSensitive) {
-					if (!descriptorNames.contains(attrName)) {
-						IPropertyDescriptor descriptor = createPropertyDescriptor(attrDecl);
-						if (descriptor != null) {
-							descriptorNames.add(attrName);
-							descriptors.add(descriptor);
-						}
-					}
-				} else {
-					boolean exists = false;
-					for (int j = 0; j < descriptorNames.size(); j++)
-						exists = (descriptorNames.get(j).toString().equalsIgnoreCase(attrName)) || exists;
-					if (!exists) {
-						descriptorNames.add(attrName);
-						IPropertyDescriptor descriptor = createPropertyDescriptor(attrDecl);
-						if (descriptor != null) {
-							descriptorNames.add(attrName);
-							descriptors.add(descriptor);
-						}
-					}
-				}
-			}
-		}
-
-		// Add descriptors for existing attributes that don't already have one
-		if (attributes != null) {
-			for (int i = 0; i < attributes.getLength(); i++) {
-				Attr attr = (Attr) attributes.item(i);
-				String attrName = attr.getName();
-				if (fCaseSensitive) {
-					if (!descriptorNames.contains(attrName)) {
-						descriptorNames.add(attrName);
-						descriptors.add(createDefaultPropertyDescriptor(attrName));
-					}
-				} else {
-					boolean exists = false;
-					for (int j = 0; j < descriptorNames.size(); j++)
-						exists = (descriptorNames.get(j).toString().equalsIgnoreCase(attrName)) || exists;
-					if (!exists) {
-						descriptorNames.add(attrName);
-						descriptors.add(createDefaultPropertyDescriptor(attrName));
-					}
-				}
-			}
-		}
-
-		// Update fDescriptors
-		IPropertyDescriptor[] newDescriptors = new IPropertyDescriptor[descriptors.size()];
-		for (int i = 0; i < newDescriptors.length; i++)
-			newDescriptors[i] = (IPropertyDescriptor) descriptors.get(i);
-		fDescriptors = newDescriptors;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySourceAdapterFactory.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySourceAdapterFactory.java
deleted file mode 100644
index 0d14000..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySourceAdapterFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.views.properties;
-
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.sse.core.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.AdapterFactory;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.w3c.dom.Node;
-
-
-public class XMLPropertySourceAdapterFactory extends AbstractAdapterFactory {
-
-	public XMLPropertySourceAdapterFactory() {
-		super(IPropertySource.class, true);
-	}
-
-	public XMLPropertySourceAdapterFactory(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	public AdapterFactory copy() {
-		return new XMLPropertySourceAdapterFactory(this.adapterKey, this.shouldRegisterAdapter);
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		// at the moment, only one implementation exists
-		if (target != null && target instanceof Node && ((Node) target).getNodeType() == Node.PROCESSING_INSTRUCTION_NODE)
-			return new ProcessingInstructionPropertySourceAdapter(target);
-		return new XMLPropertySourceAdapter(target);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates.properties
deleted file mode 100644
index 4a17876..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=comment
-Templates.comment.desc=xml comment
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates.xml b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates.xml
deleted file mode 100644
index 1ba2929..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<templates>
-
-<template name="%Templates.comment.name" description="%Templates.comment.desc" id="org.eclipse.wst.xml.ui.templates.comment" context="xml_tag" enabled="true">&lt;!-- ${cursor} --&gt;</template>
-</templates>
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_de.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_de.properties
deleted file mode 100644
index 9d5e20b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_de.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=Kommentar
-Templates.comment.desc=XML-Kommentar
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_es.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_es.properties
deleted file mode 100644
index 3a5d4a3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_es.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=comment
-Templates.comment.desc=Comentario xml
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_fr.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_fr.properties
deleted file mode 100644
index 15246b2..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_fr.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=commentaire
-Templates.comment.desc=commentaire xml
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_it.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_it.properties
deleted file mode 100644
index 7319beb..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_it.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=commento
-Templates.comment.desc=commento xml
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_ja.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_ja.properties
deleted file mode 100644
index 8c87bc8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_ja.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=\u30b3\u30e1\u30f3\u30c8
-Templates.comment.desc=xml \u30b3\u30e1\u30f3\u30c8
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_ko.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_ko.properties
deleted file mode 100644
index 8c61a28..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_ko.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=\uc8fc\uc11d
-Templates.comment.desc=xml \uc8fc\uc11d
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_pt_BR.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_pt_BR.properties
deleted file mode 100644
index 3fe1125..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_pt_BR.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=coment\u00e1rio
-Templates.comment.desc=coment\u00e1rio xml
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_zh_CN.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_zh_CN.properties
deleted file mode 100644
index 9bff0b4..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_zh_CN.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=\u6ce8\u91ca
-Templates.comment.desc=xml \u6ce8\u91ca
diff --git a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_zh_TW.properties b/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_zh_TW.properties
deleted file mode 100644
index b051523..0000000
--- a/bundles/org.eclipse.wst.xml.ui/templates/xmldefault-templates_zh_TW.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Templates.comment.name=\u8a3b\u89e3
-Templates.comment.desc=xml \u8a3b\u89e3
diff --git a/bundles/org.eclipse.wst.xsd.ui/.classpath b/bundles/org.eclipse.wst.xsd.ui/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xsd.ui/.cvsignore b/bundles/org.eclipse.wst.xsd.ui/.cvsignore
deleted file mode 100644
index 7ba51e6..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-xsdeditor.jar
-build.xml
-temp.folder
-org.eclipse.wst.xsd.ui_1.0.0.jar
diff --git a/bundles/org.eclipse.wst.xsd.ui/.project b/bundles/org.eclipse.wst.xsd.ui/.project
deleted file mode 100644
index aab3824..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xsd.ui</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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsd.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xsd.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index efba9c0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Fri Dec 10 00:29:03 EST 2004

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=error

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=error

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.5

-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=enabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/bundles/org.eclipse.wst.xsd.ui/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.wst.xsd.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 179abb3..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Fri Dec 10 00:50:26 EST 2004

-compilers.p.unused-element-or-attribute=0

-compilers.p.unresolved-ex-points=0

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=0

-compilers.p.unknown-class=0

-compilers.p.unknown-attribute=0

-compilers.p.no-required-att=0

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/bundles/org.eclipse.wst.xsd.ui/build.properties b/bundles/org.eclipse.wst.xsd.ui/build.properties
deleted file mode 100644
index bb73afb..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/build.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-source.xsdeditor.jar = src/
-bin.includes = xsdeditor.jar,\
-               plugin.xml,\
-               icons/,\
-               image/,\
-               doc/,\
-               plugin.properties,\
-               samples/,\
-               w3c/
-src.includes = w3c/,\
-               samples/,\
-               plugin.xml,\
-               plugin.properties,\
-               image/,\
-               icons/,\
-               doc/,\
-               src/,\
-               test/,\
-               build.xml,\
-               build.properties,\
-               .project,\
-               .classpath,\
-               xsdeditor.jar
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/XSDFile.gif b/bundles/org.eclipse.wst.xsd.ui/icons/XSDFile.gif
deleted file mode 100644
index 3900f1b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/XSDFile.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/annotationsheader.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/annotationsheader.gif
deleted file mode 100644
index 9bfb682..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/annotationsheader.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/attributegroupsheader.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/attributegroupsheader.gif
deleted file mode 100644
index e618a25..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/attributegroupsheader.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/attributesheader.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/attributesheader.gif
deleted file mode 100644
index 9254879..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/attributesheader.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/directivesheader.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/directivesheader.gif
deleted file mode 100644
index 6000cb8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/directivesheader.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/elementsheader.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/elementsheader.gif
deleted file mode 100644
index 26f7206..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/elementsheader.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/groupsheader.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/groupsheader.gif
deleted file mode 100644
index c9745f0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/groupsheader.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/notationsheader.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/notationsheader.gif
deleted file mode 100644
index e05c645..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/notationsheader.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/smpl_list_obj.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/smpl_list_obj.gif
deleted file mode 100644
index 6e2cd93..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/smpl_list_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/smpl_restrict_obj.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/smpl_restrict_obj.gif
deleted file mode 100644
index 1ebd546..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/smpl_restrict_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/smpl_union_obj.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/smpl_union_obj.gif
deleted file mode 100644
index 0b01f8c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/smpl_union_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/typesheader.gif b/bundles/org.eclipse.wst.xsd.ui/icons/obj16/typesheader.gif
deleted file mode 100644
index 3267542..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/obj16/typesheader.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/ovr16/attributeoverlay.gif b/bundles/org.eclipse.wst.xsd.ui/icons/ovr16/attributeoverlay.gif
deleted file mode 100644
index 1931f92..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/ovr16/attributeoverlay.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/icons/ovr16/textoverlay.gif b/bundles/org.eclipse.wst.xsd.ui/icons/ovr16/textoverlay.gif
deleted file mode 100644
index d455c2b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/icons/ovr16/textoverlay.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/plugin.properties b/bundles/org.eclipse.wst.xsd.ui/plugin.properties
deleted file mode 100644
index 8bcb7ec..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/plugin.properties
+++ /dev/null
@@ -1,1047 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-! Properties file for component: XMSCH - XML Tools -  XML Schema Editor
-! Packaged for translation in:  xml.zip
-
-!
-! Plugin
-!
-_UI_PLUGIN_NAME             = XML Schema Editor
-_UI_EDITOR_NAME             = XML Schema Editor
-
-_UI_ACTION_EXT_GENERATE      = &Generate
-_UI_ACTION_EXT_GENERATE_DDL  = &DDL...
-_UI_ACTION_EXT_GENERATE_DTD  = D&TD...
-_UI_ACTION_EXT_GENERATE_JAVA = &Java Beans...
-
-_UI_ACTION_EXT_GENERATE_XSD = &Generate XML Schema
-_UI_WIZARD_NAME_NEW_XSD     = XML Schema
-
-_UI_XML_TOOLS_PREFERENCE_PAGE  = XML
-_UI_XML_SCHEMA_PREFERENCE      = XML Schema Files
-
-_UI_WIZARD_NEW_XSD             = XML Schema
-_UI_CREATE_A_NEW_SCHEMA        = Create a new XML schema file
-
-! New property tabs
-_UI_LABEL_GENERAL       = General
-_UI_LABEL_OTHER         = Other
-_UI_LABEL_ATTRIBUTES    = Attributes
-_UI_LABEL_DOCUMENTATION = Documentation
-_UI_LABEL_FACETS        = Facets
-_UI_LABEL_ENUMERATIONS  = Enumerations
-_UI_LABEL_NAMESPACE     = Namespace
-
-_UI_LABEL_READ_ONLY     = read-only
-_UI_LABEL_KIND          = Kind:
-_UI_LABEL_VARIETY       = Variety:
-
-!
-! Schema File Window
-!
-_UI_LABEL_FILE_NAME              = File name:
-_UI_LABEL_VERSION                = Version:
-_UI_TOOLTIP_VERSION              = Convenient attribute to store version number
-_UI_LABEL_LANGUAGE               = Language:
-_UI_TOOLTIP_LANGUAGE             = Represents natural language identifiers
-_UI_GROUP_NAMESPACE              = Namespace
-_UI_LABEL_SCHEMA_PREFIX          = Prefix:
-_UI_TOOLTIP_SCHEMA_PREFIX        = The prefix associated with the current namespace.
-_UI_LABEL_TARGET_NAME_SPACE      = Target namespace:
-_UI_TOOLTIP_TARGET_NAME_SPACE    = The namespace for this schema.
-_UI_BUTTON_APPLY                 = Apply
-_UI_LABEL_ATTRIBUTE_FORM_DEFAULT = Attribute form default:
-_UI_TOOLTIP_ATTRIBUTE_FORM       = Indicates if all attributes in a schema must be qualified or not in the instance document
-_UI_LABEL_ELEMENT_FORM_DEFAULT   = Element form default:
-_UI_TOOLTIP_ELEMENT_FORM_DEFAULT = Indicates if all elements in a schema must be qualified or not in the instance document
-_UI_LABEL_BLOCK_DEFAULT          = Block default:
-_UI_TOOLTIP_BLOCK_DEFAULT        = Control derivations for every type and element in the schema
-_UI_LABEL_FINAL_DEFAULT          = Final default:
-_UI_TOOLTIP_FINAL_DEFAULT        = Control derivations for every type and element in the schema
-_UI_ACTION_DELETE_INCLUDE        = Delete
-_UI_ACTION_DELETE_NODES          = Delete Nodes
-! Note to translators: The following is the acronym for Uniform Resource Indicator
-_UI_LABEL_URI                    = URI:
-
-
-_UI_LABEL_ADD              = Add...
-_UI_LABEL_EDIT             = Edit...
-_UI_LABEL_PATTERNS         = Patterns
-_ERROR_FILE_ALREADY_EXISTS = The file name already exists: {0}
-
-!
-! Any Section
-!
-! Note to translators - translate only the word and
-_UI_LABEL_NAMESPACE_AND_PROCESS_CONTENTS = namespace and processContents
-
-!
-! minOccurs and maxOccurs section
-!
-! Note to translators - translate only the word and
-_UI_LABEL_MINOCCURS_AND_MAXOCCURS = minOccurs and maxOccurs
-
-!
-! Value Information Section
-!
-_UI_LABEL_VALUE_INFORMATION   = Value Information
-
-!
-! Notation window
-!
-_UI_NOTATION_NAME                = Name:
-_UI_NOTATION_PUBLIC              = Public:
-_UI_NOTATION_SYSTEM              = System:
-_UI_TOOLTIP_PUBLIC               = An optional public identifier
-_UI_TOOLTIP_SYSTEM               = An optional URI reference
-
-!
-! Complex Type Window
-!
-_UI_NAME                         = Name:
-_UI_ABSTRACT                     = Abstract:
-_UI_MIXED                        = Mixed:
-_UI_BLOCK                        = Block:
-_UI_FINAL                        = Final:
-
-_UI_CT_TOOLTIP_MIXED             = Indicates if type may contain mixed content
-_UI_CT_TOOLTIP_ABSTRACT          = When a complex type is declared abstract, it cannot be used in an instance document
-_UI_CT_TOOLTIP_FINAL             = You can use this to prevent further derivations
-_UI_CT_TOOLTIP_BLOCK             = You can use this to block any derivations
-
-!
-! SimpleContent and ComplexContent Window
-! 
-_UI_LABEL_DERIVED_BY            = Derived by:
-_UI_TOOLTIP_DERIVED_BY          = Derive by extension to inherit from a base type content model and add to it. Derive by restriction to restrict the content model of an existing type.
-
-!
-! Combo box items - no need to translate
-!
-_UI_COMBO_RESTRICTION           = restriction
-_UI_COMBO_EXTENSION             = extension
-
-!
-! Element & Element Ref Window
-!
-_UI_ELEMENT_NAME                 = Name:
-_UI_CHECKBOX_NILLABLE            = Nillable
-_UI_CHECKBOX_ABSTRACT            = Abstract
-_UI_SUBSTITUTION                 = Substitution group:
-_UI_MINIMUM                      = Minimum:
-_UI_MAXIMUM                      = Maximum:
-_UI_REFERENCE_NAME               = Reference name:
-
-_UI_TOOLTIP_ELEMENT_MINIMUM      = A non-negative integer that specifies the minimum number of times an element can occur.
-_UI_TOOLTIP_ELEMENT_MAXIMUM      = A non-negative integer or unbounded if there is no upper limit on the number of times the element can occur.
-_UI_TOOLTIP_ELEMENT_ABSTRACT     = When an element is declared abstract, a member of its equivalent class must appear in the instance document,
-_UI_TOOLTIP_ELEMENT_NIL          = If selected, an attribute can be included in the instance document to indicate that the element has a nil value.
-_UI_TOOLTIP_ELEMENT_SUBSTITUTION = Select the element that can be substituted by this element
-_UI_TOOLTIP_ELEMENT_FORM         = Indicates if the element is qualifed in the instance document
-_UI_TOOLTIP_ELEMENT_VALUE        = Provides a default or fixed value for the element.
-
-
-!
-! Attribute Window
-!    _UI_COMBO_BOX strings are used in code generation. 
-!    Probably don't need to be translated
-!
-_UI_COMBO_BOX_REQUIRED           = required
-_UI_COMBO_BOX_OPTIONAL           = optional
-_UI_COMBO_BOX_PROHIBITED         = prohibited
-
-_UI_FIXED                        = Fixed
-_UI_DEFAULT                      = Default
-_UI_ATTRIBUTE_NAME               = Attribute name:
-_UI_USAGE                        = Usage:
-_UI_FORM                         = Form qualification:
-_UI_VALUE                        = Value
-
-_UI_LABEL_OTHER_ATTRIBUTES       = Other Attributes
-
-_UI_TOOLTIP_ATTRIBUTE_USE        = Indicates if the attribute is required, optional, or prohibited
-_UI_TOOLTIP_ATTRIBUTE_FORM       = Indicates if the attribute is qualifed or not in the instance document
-_UI_TOOLTIP_ATTRIBUTE_VALUE      = Provides default or fixed value for the attribute. Default value only valid if Usage value is set to optional.
-
-_UI_PROCESS_CONTENTS             = Process contents:
-
-!
-! Annotation - Doc & AppInfo Window
-!
-_UI_COMMENT                      = Comment
-_UI_TOOLTIP_COMMENT              = Information useful to the user or application
-_UI_SOURCE                       = Source:
-_UI_TOOLTIP_SOURCE               = An optional URI reference to supplement the local information
-_UI_LANGUAGE                     = Language:
-_UI_TOOLTIP_LANGUAGE_ANNOTATION  = Indicate the language in which the annotation is expressed
-
-!
-! Group
-! 
-_UI_CONTENT_MODEL               = Content model
-_UI_SEQUENCE                    = Sequence
-_UI_CHOICE                      = Choice
-_UI_ALL                         = All
-
-
-!
-! Simple Type Related Facets  - appear as entries in a table - restriction on simple type
-!
-_UI_GROUP_FACETS                = Facets
-_UI_LENGTH                      = Length
-_UI_MINIMUM_LENGTH              = Minimum Length
-_UI_MAXIMUM_LENGTH              = Maximum Length
-_UI_MINIMUM_INCLUSIVE           = Minimum Inclusive
-_UI_MAXIMUM_INCLUSIVE           = Maximum Inclusive
-_UI_MINIMUM_EXCLUSIVE           = Minimum Exclusive
-_UI_MAXIMUM_EXCLUSIVE           = Maximum Exclusive
-_UI_TOTAL_DIGITS                = Total Digits
-_UI_FRACTION_DIGITS             = Fraction Digits
-_UI_WHITE_SPACE                 = White Space
-_UI_FACET_NAME                  = Name
-_UI_FACET_VALUE                 = Value
-_UI_FACET_FIXED                 = Fixed
-
-_UI_TOOLTIP_LENGTH              = The number of units of length. Must be a non-negative integer.
-_UI_TOOLTIP_MIN_LEN             = The minimum number of units of length. Must be a non-negative integer.
-_UI_TOOLTIP_MAX_LEN             = The maximum number of units of length. Must be a non-negative integer.
-_UI_TOOLTIP_MAX_INCLUSIVE       = The upper bound of the value space. The value is itself included.
-_UI_TOOLTIP_MAX_EXCLUSIVE       = The upper bound of the value space. The value is itself excluded.
-_UI_TOOLTIP_MIN_INCLUSIVE       = The lower bound of the value space. The value is itself included.
-_UI_TOOLTIP_MIN_EXCLUSIVE       = The lower bound of the value space. The value is itself excluded.
-_UI_TOOLTIP_TOTAL_DIGITS        = The maximum number of decimal digits. Must be a positive integer.
-_UI_TOOLTIP_FRACTION_DIGITS     = The maximum number of decimal digits in the fractional part. Must be a non-negative integer.
-_UI_TOOLTIP_WHITE_SPACE         = Indicates if white space should be preserved, replaced or collapsed. 
-
-_UI_TOOLTIP_PATTERN             = Constrains the value to match a specific pattern. The pattern must be a regular expression. 
-_UI_TOOLTIP_ENUM                = Constrains the value to a specified set of values. 
-
-!
-! Simple/Complex Type Selection 
-!
-_UI_LABEL_TYPE_INFORMATION          = Type information
-_UI_LABEL_BASE_TYPE                 = Base type
-_UI_LABEL_BASE_TYPE_WITH_COLON      = Base type:
-_UI_LABEL_SET_BASE_TYPE             = Set Base Type
-_UI_ACTION_SET_BASE_TYPE            = Set Base Type...
-_UI_RADIO_NONE                      = None
-_UI_RADIO_BUILT_IN_SIMPLE_TYPE      = Built-in simple type
-_UI_RADIO_USER_DEFINED_SIMPLE_TYPE  = User-defined simple type
-_UI_RADIO_USER_DEFINED_COMPLEX_TYPE = User-defined complex type
-_UI_NO_TYPE                         = **none**
-
-!
-! Combo-box value 
-! NOTE TO TRANSLATOR: Do not translate following line
-_UI_DEFAULT_ANONYMOUS               = **anonymous**
-
-!
-! Unique, Key and KeyRef window
-!
-_UI_REFERENCE_KEY                   = Reference key
-_UI_SELECTOR                        = Selector
-_UI_FIELDS                          = Fields
-
-_UI_TOOLTIP_SELECTOR_TEXT           = Specifies an XPath expression relative to instances of the current element
-_UI_TOOLTIP_FIELD_TEXT              = Specifies an XPath expression relative to each element selected by the selector
-
-_UI_ADD_BUTTON                      = Add>>
-_UI_REMOVE_BUTTON                   = <<Remove
-
-!
-! Include & Imports
-!
-_UI_LABEL_PREFIX                = Prefix:
-_UI_LABEL_NAMESPACE             = Namespace:
-
-_UI_SCHEMA_INCLUDE_DESC         = Select a schema file so that the definitions in the schema file will be available in the current schema. The target namespace of the included schema must be the same as the target namespace of the current schema.
-_UI_LABEL_SCHEMA_IMPORT_DESC    = Select a schema file from a different namespace so that its definitions can be referenced by the current schema. You must associate a prefix with the new namespace for use in the current schema.
-
-_UI_LABEL_SCHEMA_LOCATION        = Schema location:
-_UI_BUTTON_SELECT                = Select
-_UI_FILEDIALOG_SELECT_XML_SCHEMA = Select XML schema file
-_UI_FILEDIALOG_SELECT_XML_DESC   = Select an XML schema file from the Workbench projects
-_UI_FILEDIALOG_SELECT_XML_URL    = Select an XML schema file from HTTP
-
-_UI_LABEL_LOADING_XML_SCHEMA     = Loading XML Schema
-_UI_LABEL_FINISH_LOADING         = Finish Loading
-_UI_LABEL_NO_LOCATION_SPECIFIED  = No Location Specified
-
-!
-! XSD Editor
-!
-_UI_TAB_SOURCE                  = Source
-_UI_TAB_DESIGN                  = Design
-!  Note to translators: Graph is the graphic view of the XML schema
-_UI_TAB_GRAPH                   = Graph
-_UI_MENU_UNDO                   = &Undo @Ctrl+Z
-_UI_MENU_REDO                   = &Redo @Ctrl+Y
-
-!
-! Task List Related Message
-!
-_UI_REF_FILE_ERROR_DESCRIPTION      = The errors below were detected when validating the file '{0}' via the file '{1}'.  In most cases these errors can be detected by validating '{2}' directly.  However it is possible that errors will only occur when {2} is validated in the context of {3}.
-_UI_REF_FILE_ERROR_PUSH_HELP        = Push the help button below to read more.
-_UI_REF_FILE_ERROR_MESSAGE          = Referenced file contains errors ({0}).  For more information, right click on the message and select "Show Details..."
-_UI_REF_FILE_SHOW_DETAILS           = Show Details...
-
-
-!
-! XSDEditor Menu bar contributor
-!
-_UI_MENU_GENERATE_JAVA              = Generate &Java Beans...
-_UI_MENU_GENERATE_DTD               = Generate &DTD...
-_UI_MENU_GENERATE_SAMPLE_XML        = Generate XM&L...
-_UI_MENU_XSD_EDITOR                 = &XSD
-_UI_MENU_VALIDATE_XML               = &Validate XML Schema
-_UI_MENU_VALIDATE_XML_TOOLTIP       = Validate the current state of the XML Schema
-_UI_MENU_GENERATE_JAVA_TOOLTIP      = Generate Java beans for the XML Schema
-_UI_MENU_GENERATE_DTD_TOOLTIP       = Generate a DTD from the XML Schema
-_UI_MENU_GENERATE_SAMPLE_XML_TOOLTIP = Generate an XML from the XML Schema
-_UI_MENU_RELOAD_DEPENDENCIES_TOOLTIP = Reload Dependencies
-_UI_MENU_RELOAD_DEPENDENCIES = &Reload Dependencies
-
-!
-! Preference Page
-!
-_UI_TEXT_INDENT_LABEL                 = Indentation
-_UI_TEXT_INDENT_SPACES_LABEL          = &Number of spaces: 
-_UI_TEXT_XSD_NAMESPACE_PREFIX         = XML schema language
-_UI_TEXT_XSD_DEFAULT_PREFIX           = XML schema language constructs &prefix:
-_UI_QUALIFY_XSD                       = &Qualify XML schema language constructs
-_UI_SEPARATE_DESIGN_AND_SOURCE_VIEW   = Separate Source, Design and Graph view
-_UI_COMBINED_DESIGN_AND_SOURCE_VIEW   = Combined Source or Graph view with Design view 
-_UI_LABEL_EDITOR_LAYOUT               = Editor Layout
-_UI_PREF_DESIGN_VIEW_LAYOUT           = Design View Location
-_UI_PREF_DESIGN_BOTTOM                = Below
-_UI_PREF_DESIGN_RIGHT                 = Right
-_UI_TEXT_XSD_DEFAULT_TARGET_NAMESPACE = Default Target Namespace:
-
-!
-! Content Outline View action
-! NOTE TO TRANSLATOR: Do not translate the word(s) following "Add" on each line in
-!   this section i.e. Annotation, Documentation, AppInfo  These words are XML Schema keywords.
-_UI_ACTION_DELETE                  = D&elete
-_UI_ACTION_ADD_ANNOTATION          = Add &Annotation
-_UI_ACTION_ADD_DOC                 = Add &Documentation
-_UI_ACTION_ADD_APP_INFO            = Add A&ppInfo
-_UI_ACTION_ADD_GLOBAL_ELEMENT      = Add Glob&al Element
-_UI_ACTION_ADD_KEY                 = Add &Key
-_UI_ACTION_ADD_KEY_REF             = Add Key Re&f
-_UI_ACTION_ADD_UNIQUE              = Add Uni&que
-_UI_ACTION_ADD_GROUP               = Add G&roup
-_UI_ADD_GROUP_REF                  = Add Gr&oup Ref
-_UI_ACTION_ADD_CONTENT_MODEL       = Add Content &Model
-_UI_ACTION_ADD_ELEMENT             = Add &Element
-_UI_ACTION_ADD_ELEMENT_REF         = Add E&lement Ref
-_UI_ACTION_ADD_SIMPLE_TYPE         = Add &Simple Type
-_UI_ACTION_ADD_PATTERN             = Add &Pattern
-_UI_ACTION_ADD_ENUM                = Add En&umeration
-_UI_ACTION_ADD_ENUMS               = Add Enu&merations...
-_UI_ACTION_ADD_COMPLEX_TYPE        = Add Complex &Type
-_UI_ACTION_ADD_COMPLEX_CONTENT     = Add Comple&x Content
-_UI_ACTION_ADD_SIMPLE_CONTENT      = Add Simple &Content
-_UI_ACTION_ADD_ATTRIBUTE           = Add Attri&bute
-_UI_ACTION_ADD_ATTRIBUTE_GROUP     = Add Attr&ibute Group
-_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF = Add A&ttribute Group Ref
-_UI_ACTION_ADD_INCLUDE             = Add In&clude
-_UI_ACTION_ADD_IMPORT              = Add &Import
-_UI_ACTION_ADD_REDEFINE            = Add Re&define
-_UI_ACTION_ADD_NOTATION            = Add &Notation
-_UI_ACTION_ADD_ANY_ELEMENT         = Add An&y
-_UI_ACTION_ADD_ANY_ATTRIBUTE       = Add &Any Attribute
-_UI_ACTION_ADD_GLOBAL_ATTRIBUTE    = Add &Global Attribute
-_UI_ACTION_ADD_ATTRIBUTE_REFERENCE = Add Attrib&ute Ref
-_UI_ACTION_ADD_RESTRICTION         = Add Re&striction
-_UI_ACTION_ADD_UNION               = Add U&nion
-_UI_ACTION_ADD_LIST                = Add &List
-_UI_ACTION_DELETE_GROUP_SCOPE      = D&elete
-_UI_ACTION_ADD_CHOICE              = Add &Choice
-_UI_ACTION_ADD_SEQUENCE            = Add Se&quence
-_UI_ACTION_ADD_ALL                 = Add &All
-_UI_ACTION_ADD_EXTENSION           = Add E&xtension
-_UI_ACTION_ADD_SELECTOR            = Add &Selector
-_UI_ACTION_ADD_FIELD               = Add &Field
-! NOTE TO TRANSLATOR: Translate Add and Node
-_UI_ACTION_ADD_SCHEMA_NODE         = Add &Schema Node
-! NOTE TO TRANSLATOR: TRANSLATE Add and Local
-_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE   = Add Local &Simple Type
-_UI_ACTION_ADD_LOCAL_COMPLEX_TYPE  = Add Local &Complex Type
-_UI_ACTION_BACK_TO_SCHEMA_VIEW     = Back To Schema
-_UI_HOVER_BACK_TO_SCHEMA_VIEW     = Back to schema
-
-_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL = Make Anonymous Type Global
-_UI_ACTION_OPEN_SCHEMA                = Open Schema
-
-_UI_ACTION_INSERT_BEFORE           = Insert Before
-_UI_ACTION_INSERT_AFTER            = Insert After
-
-_UI_OUTLINE_SORT                   = Sort alphabetically
-_UI_OUTLINE_DO_NOT_SORT            = Do not sort alphabetically
-
-_UI_OUTLINE_SHOW_COMPLEX_TYPE      = Show Complex Types Only
-_UI_OUTLINE_SHOW_SIMPLE_TYPE       = Show Simple Types Only
-_UI_OUTLINE_SHOW_ATTRIBUTE_GROUP   = Show Attribute Groups Only
-_UI_OUTLINE_SHOW_GROUP             = Show Groups Only
-_UI_OUTLINE_SHOW_GLOBAL_ELEMENT    = Show Global Elements Only
-_UI_OUTLINE_SHOW_REFERENCES        = Show Reference Content
-_UI_OUTLINE_SHOW_INHERITED         = Show Inherited Content
-
-!
-! New XML Schema Wizard
-!
-_UI_WIZARD_CREATE_XSD_MODEL_TITLE    = Create XML Schema
-
-! NOTE TO TRANSLATOR: Do not translate following line
-_UI_CREATEXSD                        = createXSD
-_UI_NEW_XML_SCHEMA_TITLE             = New XML Schema
-_UI_CREATE_A_NEW_XML_SCHEMA_DESC     = Create a new XML schema.
-
-! NOTE TO TRANSLATOR: Do not translate following line
-_UI_NEW_XML_SCHEMA_FILENAME          = NewXMLSchema.xsd
-
-!
-! XSD From RDB Schema Wizard
-!
-_UI_WIZARD_CREATE_XSD_FROM_RDB_TITLE = Create XSD from RDB Table
-
-
-!
-! Regular Expression Wizard
-!
-_UI_REGEX_WIZARD_CREATE_BUTTON = Create Regular Expression...
-_UI_TOOLTIP_REGEX_WIZARD_BUTTON = Launch the Regular Expression Wizard
-_UI_REGEX_WIZARD_TITLE = Regular Expression Wizard
-_UI_REGEX_WIZARD_COMPOSITION_PAGE_TITLE = Compose Regular Expression
-_UI_REGEX_WIZARD_COMPOSITION_PAGE_DESCRIPTION = To add a token, specify its contents and occurrence, then click Add.
-_UI_REGEX_WIZARD_INVALID_REGEX_ERROR_PREFIX = The current regular expression is not valid.  Reason:  
-_UI_REGEX_WIZARD_INVALID_TOKEN_ERROR_PREFIX = The current token is not valid.  Reason:  
-_UI_REGEX_WIZARD_INVALID_REGEX_ERROR = The current regular expression is not valid.
-_UI_REGEX_WIZARD_INVALID_TOKEN_ERROR = The current token is not valid.
-_UI_REGEX_WIZARD_INVALID_MIN_ERROR_SUFFIX = Invalid minimum range value.  The value must be a positive integer less than the maximum value.
-_UI_REGEX_WIZARD_MISSING_MIN_ERROR_SUFFIX = Invalid minimum range value.  A minimum range must be specified if a maximum range is specified.
-_UI_REGEX_WIZARD_INVALID_MAX_ERROR_SUFFIX = Invalid maximum range value.  The value must be a positive integer greater than the minimum value.
-_UI_REGEX_WIZARD_INVALID_REPEAT_ERROR_SUFFIX = Invalid repeat value.  The value must be a positive integer.
-_UI_REGEX_WIZARD_INVALID_SELECTION_ERROR = Nothing is currently selected.  Either make a selection or choose a different token. 
-_UI_REGEX_WIZARD_TOKEN_LABEL = Token contents:
-_UI_REGEX_WIZARD_AUTO_ESCAPE_CHECKBOX_LABEL = Auto escape
-_UI_REGEX_WIZARD_OCCURENCE_LABEL = Occurrence
-! Instructions for translators: The following label is used in a phrase to identify a range of values.
-! For example:  5 to 10.
-! The values are text fields that are initially blank so the user has to enter in values
-! For example:   _______ to ________
-_UI_REGEX_WIZARD_TO_LABEL = to
-_UI_REGEX_WIZARD_ADD_BUTTON_LABEL = Add 
-_UI_REGEX_WIZARD_CURRENT_REGEX_LABEL = Current regular expression:
-_UI_TOOLTIP_REGEX_WIZARD_TERMS = Content of new token
-_UI_TOOLTIP_REGEX_WIZARD_AUTO_ESCAPE_CHECKBOX = Insert escape characters to match metacharacter literals (e.g. converts \"*\" to \"\\*\")
-_UI_TOOLTIP_REGEX_WIZARD_ADD_BUTTON = Add this token to the regular expression
-_UI_TOOLTIP_REGEX_WIZARD_CURRENT_REGEX = The current regular expression
-_UI_TOOLTIP_REGEX_WIZARD_REPEAT = The number of times that the token must occur.
-_UI_TOOLTIP_REGEX_WIZARD_MIN = The minimum number of times that the token can occur.
-_UI_TOOLTIP_REGEX_WIZARD_MAX = The maximum number of times that the token can occur.
-_UI_TOOLTIP_REGEX_WIZARD_CARET_LABEL = The location where the new token will be inserted.
-_UI_REGEX_WIZARD_TESTING_PAGE_TITLE = Test Regular Expression
-_UI_REGEX_WIZARD_TESTING_PAGE_DESCRIPTION = To test the regular expression, enter sample text that you wish to match.  The success of the match will be indicated above.
-_UI_REGEX_WIZARD_REGEX_LABEL = Regular expression: 
-_UI_REGEX_WIZARD_SAMPLE_TEXT =  Sample text: 
-_UI_REGEX_WIZARD_MATCHES = The text matches the regular expression.
-_UI_REGEX_WIZARD_DOES_NOT_MATCH = The text does not match the regular expression.
-_UI_REGEX_WIZARD_TERM_ANY_CHAR = Any character
-_UI_REGEX_WIZARD_TERM_ALPHANUMERIC_CHAR = Alphanumeric character
-_UI_REGEX_WIZARD_TERM_WHITESPACE = Whitespace
-_UI_REGEX_WIZARD_TERM_DIGIT = Digit
-_UI_REGEX_WIZARD_TERM_UPPER = Upper case
-_UI_REGEX_WIZARD_TERM_LOWER = Lower case
-_UI_REGEX_WIZARD_TERM_SELECTION = Current selection
-_UI_REGEX_WIZARD_QUANTIFIER_SINGLE = Just once
-_UI_REGEX_WIZARD_QUANTIFIER_STAR = Zero or more
-_UI_REGEX_WIZARD_QUANTIFIER_PLUS = One or more
-_UI_REGEX_WIZARD_QUANTIFIER_OPTIONAL = Optional
-_UI_REGEX_WIZARD_QUANTIFIER_REPEAT = Repeat
-_UI_REGEX_WIZARD_QUANTIFIER_RANGE = Range
-
-!
-! Select Include File Wizard
-_UI_LABEL_INCLUDE_URL_FILE    = Select schema from:
-_UI_RADIO_URL                 = HTTP
-_UI_RADIO_FILE                = Workbench projects
-_UI_WIZARD_INCLUDE_FILE_TITLE = Include Another Schema
-_UI_WIZARD_INCLUDE_FILE_DESC  = Select another schema from workbench projects or from HTTP.
-_UI_LABEL_URL                 = URL:
-_UI_URL_START_WITH            = The URL must start with http://
-_UI_SPECIFY_URL               = Please specify a URL
-
-!
-! Enumerations Dialog
-_UI_ENUMERATIONS_DIALOG_TITLE = Add Enumerations
-_UI_LABEL_DELIMITER_CHAR      = &Delimiter characters:
-_UI_LABEL_PRESERVE_WHITESPACE = &Preserve leading and trailing whitespace
-
-_UI_ACTION_DELETE_ENUMERATION = Delete Enumeration
-
-!
-! Validate Schema 
-!
-_UI_DIALOG_XML_SCHEMA_INVALID_TITLE  = Validation Failed
-_UI_DIALOG_XML_SCHEMA_VALID_TITLE    = Validation Succeeded
-_UI_DIALOG_XML_SCHEMA_VALID_TEXT     = The XML schema file is valid.
-_UI_DIALOG_XML_SCHEMA_LIMITE_EXCEEDED  = The XML schema file is not valid.  The message limit for the Tasks view has been exceeded.  Please increase the limit and try again.
-
-!
-! Combo-box choices 
-!
-! NOTE TO TRANSLATOR: Do not translate following 10 lines
-_UI_COMBO_QUALIFIED             = qualified
-_UI_COMBO_UNQUALIFIED           = unqualified
-_UI_COMBO_EXTENSION             = extension
-_UI_COMBO_RESTRICTION           = restriction
-_UI_COMBO_ALL                   = all
-_UI_COMBO_TRUE                  = true
-_UI_COMBO_FALSE                 = false
-_UI_COMBO_LAX                   = lax
-_UI_COMBO_SKIP                  = skip
-_UI_COMBO_STRICT                = strict
-
-! Generate DTD - pass as title and description for wizard page
-_UI_GENERATE_DTD_TITLE          = Generate DTD
-_UI_GENERATE_DTD_DESCRIPTION    = Generate a DTD from the selected XML schema file.
-
-! Generate DDL - pass as title and description for wizard page
-_UI_GENERATE_DDL_TITLE          = Generate DDL
-_UI_GENERATE_DDL_DESCRIPTION    = Generate DDL from the selected XML schema file.
-
-_UI_XML_SCHEMA_VALIDATOR            = XML Schema Validator
-
-! Generation from the Schema model - pre-condition check
-_UI_DIALOG_TITLE_GRAMMAR_ERROR      = Invalid Grammar
-_UI_DIALOG_INFO_SCHEMA_INVALID      = The schema file contains errors. Open it in the XML Schema editor and validate it for details.
-_UI_DIALOG_TITLE_NO_GLOBAL_ELEMENTS = No Global Elements
-_UI_DIALOG_INFO_NO_GLOBAL_ELEMENTS  = The selected schema has no global elements. Global elements are required to generate anything from an XML schema.
-
-! Section title for other attributes
-_UI_SECTION_ADVANCED_ATTRIBUTES   = Advanced
-
-! For undo action menus
-! Note to Translators: For the following "Change" phrases,
-! maxOccurs, minOccurs, lang, xpath are keywords so please
-! do no translate them.  These are for the undo action menus.
-! For example, if the user makes a change in the name of an
-! element, then the undo action would be Undo Element Name Change
-_UI_NAMESPACE_CHANGE           = Namespace Change
-_UI_PROCESSCONTENTS_CHANGE     = Process Contents Change
-_UI_MAXOCCURS_CHANGE           = maxOccurs Change
-_UI_MINOCCURS_CHANGE           = minOccurs Change
-_UI_SOURCE_ATTRIBUTE_CHANGE    = Source Change
-_UI_COMMENT_CHANGE             = Comment Change
-_UI_PREFIX_CHANGE              = Prefix Change
-_UI_ATTRIBUTEGROUP_REF_CHANGE  = Attribute Group Reference Change
-_UI_ATTRIBUTEGROUP_NAME_CHANGE = Attribute Group Name Change
-_UI_ATTRIBUTE_FIXED_CHANGE     = Attribute Fixed Change
-_UI_ATTRIBUTE_DEFAULT_CHANGE   = Attribute Default Change
-_UI_ATTRIBUTE_NAME_CHANGE      = Attribute Name Change
-_UI_ATTRIBUTE_VALUE_CHANGE     = Attribute Value Change
-_UI_ATTRIBUTE_USE_CHANGE       = Attribute Use Change
-_UI_ATTRIBUTE_FORM_CHANGE      = Attribute Form Change
-_UI_COMPLEXTYPE_NAME_CHANGE    = Complex Type Name Change
-_UI_COMPLEXTYPE_ABSTRACT_CHANGE = Complex Type Abstract Change
-_UI_COMPLEXTYPE_MIXED_CHANGE   = Complex Type Mixed Change
-_UI_COMPLEXTYPE_BLOCK_CHANGE   = Complex Type Block Change
-_UI_COMPLEXTYPE_FINAL_CHANGE   = Complex Type Final Change
-_UI_DOCUMENTATION_SOURCE_CHANGE = Documentation Source Change
-_UI_DOCUMENTATION_LANG_CHANGE   = Documentation lang Change
-_UI_DOCUMENTATION_COMMENT_CHANGE = Documentation Comment Change
-_UI_ELEMENT_NAME_CHANGE          = Element Name Change
-_UI_ELEMENT_VALUE_CHANGE         = Element Value Change
-_UI_ELEMENT_TYPE_CHANGE          = Element Type Change
-_UI_ENUM_VALUE_CHANGE            = Enum Value Change
-_UI_FIELD_XPATH_CHANGE           = Field xpath Change
-_UI_GROUP_REF_CHANGE             = Group Reference Change
-_UI_GROUP_SCOPE_CHANGE           = Content Model Change
-_UI_GROUP_NAME_CHANGE            = Group Name Change
-_UI_IMPORT_CHANGE                = Import Change
-_UI_KEY_NAME_CHANGE              = Key Name Change
-_UI_KEYREF_NAME_CHANGE           = Key Reference Name Change
-! Note to translators
-! For the following item, Refer is the keyref attribute to refer to some other key
-_UI_KEYREF_REFER_CHANGE          = Key Reference Refer Change
-_UI_NOTATION_NAME_CHANGE         = Notation Name Change
-_UI_NOTATION_PUBLIC_CHANGE       = Notation Public Change
-_UI_NOTATION_SYSTEM_CHANGE       = Notation System Change
-_UI_PATTERN_VALUE_CHANGE         = Pattern Value Change
-_UI_SCHEMA_VERSION_CHANGE        = Schema Version Change
-_UI_SCHEMA_LANG_CHANGE           = Schema lang Change
-_UI_SELECTOR_XPATH_CHANGE        = Selector xpath Change
-_UI_TYPE_CHANGE                  = Type Change
-_UI_DERIVEDBY_CHANGE             = Derivation Change
-_UI_FACET_CHANGE                 = Facet Change
-_UI_SIMPLETYPE_NAME_CHANGE       = SimpleType Name Change
-_UI_UNIQUE_NAME_CHANGE           = Unique Name Change
-_UI_SCHEMA_ATTRIBUTEFORMDEFAULT_CHANGE = Attribute Form Default Change
-_UI_SCHEMA_ELEMENTFORMDEFAULT_CHANGE = Element Form Default Change
-_UI_SCHEMA_BLOCKDEFAULT_CHANGE   = Block Default Change
-_UI_SCHEMA_FINALDEFAULT_CHANGE   = Final Default Change
-_UI_ELEMENT_SUBSTITUTIONGROUP_CHANGE = Substitution Group Change
-_UI_ELEMENT_FORM_CHANGE          = Form Change
-_UI_ELEMENT_BLOCK_CHANGE         = Block Change
-_UI_ELEMENT_FINAL_CHANGE         = Final Change
-_UI_ELEMENT_ABSTRACT_CHANGE      = Abstract Change
-_UI_ELEMENT_NILLABLE_CHANGE      = Nillable Change
-_UI_TARGETNAMESPACE_CHANGE       = Target Namespace Change
-
-! Window Headings for Flat View
-_UI_PAGE_HEADING_ANYATTRIBUTE = Any Attribute
-_UI_PAGE_HEADING_ANYELEMENT   = Any Element
-_UI_PAGE_HEADING_APPINFO            = AppInfo
-_UI_PAGE_HEADING_ATTRIBUTEGROUP_REF = Attribute Group Reference
-_UI_PAGE_HEADING_ATTRIBUTEGROUP     = Attribute Group
-_UI_PAGE_HEADING_ATTRIBUTE_REF      = Attribute Reference
-_UI_PAGE_HEADING_ATTRIBUTE          = Attribute
-_UI_PAGE_HEADING_COMPLEXTYPE        = Complex Type
-_UI_PAGE_HEADING_DOCUMENTATION      = Documentation
-_UI_PAGE_HEADING_ELEMENT     = Element
-_UI_PAGE_HEADING_ELEMENT_REF = Element Reference
-_UI_PAGE_HEADING_ENUM        = Enumeration
-_UI_PAGE_HEADING_FIELD       = Field
-_UI_PAGE_HEADING_GROUP_REF   = Group Reference
-_UI_PAGE_HEADING_CONTENTMODEL  = Content Model
-_UI_PAGE_HEADING_GROUP         = Group
-_UI_PAGE_HEADING_IMPORT        = Import
-_UI_PAGE_HEADING_INCLUDE       = Include
-_UI_PAGE_HEADING_KEYREF        = Key Reference
-_UI_PAGE_HEADING_KEY           = Key
-_UI_PAGE_HEADING_NOTATION      = Notation
-_UI_PAGE_HEADING_PATTERN       = Pattern
-_UI_PAGE_HEADING_REDEFINE      = Redefine
-_UI_PAGE_HEADING_SCHEMA        = Schema
-_UI_PAGE_HEADING_SELECTOR      = Selector
-_UI_PAGE_HEADING_LIST          = List
-_UI_PAGE_HEADING_UNION         = Union
-_UI_PAGE_HEADING_SIMPLECONTENT = Simple Content
-_UI_PAGE_HEADING_COMPLEXCONTENT = Complex Content
-_UI_PAGE_HEADING_RESTRICTION   = Restriction
-_UI_PAGE_HEADING_EXTENSION     = Extension
-_UI_PAGE_HEADING_SIMPLETYPE    = Simple Type
-_UI_PAGE_HEADING_UNIQUE        = Unique
-_UI_PAGE_HEADING_REFERENCE     = reference
-
-!
-! Graph page
-!
-_UI_GRAPH_SIMPLE_TYPES         = Simple Types
-_UI_GRAPH_COMPLEX_TYPES        = Complex Types
-_UI_GRAPH_GROUPS               = Groups
-_UI_GRAPH_GLOBAL_ATTRIBUTES    = Global Attributes
-_UI_GRAPH_GLOBAL_ELEMENTS      = Global Elements
-_UI_GRAPH_XSDSCHEMA            = Schema
-_UI_GRAPH_XSDSCHEMA_NO_NAMESPACE = (no target namespace specified)
-_UI_GRAPH_XSDCOMPLEXTYPEDEFINITION = XSD Complex Type Definition:
-_UI_GRAPH_XSDMODELGROUP        = XSD Model Group
-_UI_GRAPH_XSDPARTICLE          = XSD Particle
-_UI_GRAPH_VIEW_NOT_AVAILABLE   = View is not available for selected object.
-_UI_GRAPH_UNKNOWN_OBJECT       = Unknown object
-
-! Additional Categories
-_UI_GRAPH_TYPES                = Types
-_UI_GRAPH_ELEMENTS             = Elements
-_UI_GRAPH_ATTRIBUTES           = Attributes
-_UI_GRAPH_ATTRIBUTE_GROUPS     = Attribute Groups
-_UI_GRAPH_NOTATIONS            = Notations
-_UI_GRAPH_IDENTITY_CONSTRAINTS = Identity Constraints
-_UI_GRAPH_ANNOTATIONS          = Annotations
-_UI_GRAPH_DIRECTIVES           = Directives
-
-! For Union MemberTypes Dialog
-_UI_LABEL_SELECT_MEMBERTYPES   = Select from the available types and add to the memberTypes list
-_UI_LABEL_MEMBERTYPES_CHANGE   = Member Types Change
-_UI_LABEL_MEMBERTYPES_VALUE    = Member Types Value:
-_UI_LABEL_MEMBERTYPES          = Member types:
-
-_UI_LABEL_VARIETY_CHANGE       = Variety Change
-
-_UI_LABEL_FIXEDORDEFAULT_VALUE = Fixed/Default Value
-
-_UI_LABEL_ITEM_TYPE_CHANGE     = Item Type Change
-
-_UI_LABEL_AVAILABLE_TYPES      = Available Types
-
-_UI_LABEL_INCLUDE_CHANGE       = Include Change
-
-_UI_LABEL_ITEM_TYPE            = Item type:
-_UI_LABEL_BASE_TYPE            = Base Type
-_UI_LABEL_TYPE                 = Type
-_UI_LABEL_MODEL_GROUP          = Model Group
-
-_UI_LABEL_ABSENT               = absent
-
-_UI_WARNING_RESET_ATTRGRP_REF  = Reset attribute group reference <{0}>
-_UI_WARNING_REMOVE_ATTRGRP_REF = Remove attribute group reference <{0}>
-_UI_WARNING_RESET_ATTR_REF     = Reset attribute reference <{0}>
-_UI_WARNING_REMOVE_ATTR_REF    = Remove attribute reference <{0}>
-
-!======================================================================================
-!
-! Here is the list of Error string that have message IDs - make sure they are unique
-!  Range for XSDEditor messageIDs: IWAX1001E - IWAX1200E
-!
-!======================================================================================
-! These three errors appear in the select include wizard
-! The name of the file will be substituted in
-_UI_DIFFERENT_NAME_SPACE  = {0} is in a different namespace 
-_UI_SAME_NAME_SPACE       = {0} is in the same namespace
-_UI_INCORRECT_XML_SCHEMA  = {0} is an invalid XML schema file
-
-_ERROR_SCHEMA_NOT_EXIST         = IWAX1003E does not exist.
-_ERROR_LABEL_INVALID_PREFIX     = IWAX1004E Invalid prefix. A prefix must not be empty or contain any space.
-
-! The name of the file will be substituted in
-_ERROR_SCHEMA_NAME_THE_SAME  = IWAX1005E {0} is the current schema. A schema cannot include itself. Reset to the last valid schema.
-
-_ERROR_XSD_GENERATION                = IWAX1006E Error generating XML schema
-_ERROR_NO_CONTAINER                  = IWAX1007E No folder selected
-_ERROR_NO_FILE_NAME                  = IWAX1008E No file name provided
-_ERROR_FILENAME_MUST_END_XSD         = IWAX1011E The file name must end in .xsd
-
-
-!
-! For schema that has too many errors, an extended message. 
-!
-_ERROR_DIALOG_XML_SCHEMA_INVALID_TEXT  = IWAX100d9E The XML schema file is not valid.  
-_ERROR_MORE_ERRORS                    = There are more errors in the schema than are displayed in the Tasks view.  Correct the first {0} errors and re-validate the schema file.
-
-! DDL Generation Failed Dialog
-_UI_DIALOG_DDL_GEN_FAILED_TITLE     = DDL Generation Failed
-_ERROR_DIALOG_DDL_NOT_GENEREATED    = IWAX1010E DDL has not been generated
-_UI_DIALOG_DDL_GEN_FAILED_REASON    = The selected schema has no global elements
-_UI_DIALOG_DDL_GEN_FAILED_REASON2   = None of the global elements in the schema have a complex type or they reference complex types that cannot be found.
-
-_EXC_OPEN_XSD = IWAX1011E Cannot open XML Schema editor
-
-_ERROR_LABEL_PREFIX_EXISTS     = IWAX1012E Prefix already exists
-
-_ERROR_REMOVE_LOCAL_SIMPLETYPE  = IWAX1013E Remove local simple type from extension
-
-_WARN_INVALID_TARGET_NAMESPACE = IWAX1014E The target namespace is not well-formed
-
-_ERROR_TARGET_NAMESPACE_AND_PREFIX = IWAX1015E A target namespace must be associated with a prefix
-
-
-_UI_CONTAINMENT = Containment
-_UI_INHERITANCE = Inheritance
-_UI_SUBSTITUTION_GROUPS = Substitution Groups
-_UI_ANONYMOUS = **anonymous**
-_UI_VALUE = Value
-_UI_ANY_ELEMENT = Any Element
-_UI_SORT = Sort
-
-_UI_ACTION_EDIT_NAMESPACES = Edit Namespaces...
-
-
-_UI_CreateChild_text = {0}
-_UI_CreateChild_text2 = {1} {0}
-_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
-_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
-_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
-
-_UI_PropertyDescriptor_description = The {0} of the {1}
-
-_UI_XSDAnnotation_type = Annotation
-_UI_XSDAttributeDeclaration_type = Attribute Declaration
-_UI_XSDAttributeGroupContent_type = Attribute Group Content
-_UI_XSDAttributeGroupDefinition_type = Attribute Group Definition
-_UI_XSDAttributeUse_type = Attribute Use
-_UI_XSDBoundedFacet_type = Bounded Facet
-_UI_XSDCardinalityFacet_type = Cardinality Facet
-_UI_XSDComplexTypeContent_type = Complex Type Content
-_UI_XSDComplexTypeDefinition_type = Complex Type Definition
-_UI_XSDComponent_type = Component
-_UI_XSDConcreteComponent_type = Concrete Component
-_UI_XSDConstrainingFacet_type = Constraining Facet
-_UI_XSDDiagnostic_type = Diagnostic
-_UI_XSDElementDeclaration_type = Element Declaration
-_UI_XSDEnumerationFacet_type = Enumeration Facet
-_UI_XSDFacet_type = Facet
-_UI_XSDFeature_type = Feature
-_UI_XSDFixedFacet_type = Fixed Facet
-_UI_XSDFractionDigitsFacet_type = Fraction Digits Facet
-_UI_XSDFundamentalFacet_type = Fundamental Facet
-_UI_XSDIdentityConstraintDefinition_type = Identity Constraint Definition
-_UI_XSDImport_type = Import
-_UI_XSDInclude_type = Include
-_UI_XSDLengthFacet_type = Length Facet
-_UI_XSDMaxExclusiveFacet_type = Max Exclusive Facet
-_UI_XSDMaxFacet_type = Max Facet
-_UI_XSDMaxInclusiveFacet_type = Max Inclusive Facet
-_UI_XSDMaxLengthFacet_type = Max Length Facet
-_UI_XSDMinExclusiveFacet_type = Min Exclusive Facet
-_UI_XSDMinFacet_type = Min Facet
-_UI_XSDMinInclusiveFacet_type = Min Inclusive Facet
-_UI_XSDMinLengthFacet_type = Min Length Facet
-_UI_XSDModelGroup_type = Model Group
-_UI_XSDModelGroupDefinition_type = Model Group Definition
-_UI_XSDNamedComponent_type = Named Component
-_UI_XSDNotationDeclaration_type = Notation Declaration
-_UI_XSDNumericFacet_type = Numeric Facet
-_UI_XSDOrderedFacet_type = Ordered Facet
-_UI_XSDParticle_type = Particle
-_UI_XSDParticleContent_type = Particle Content
-_UI_XSDPatternFacet_type = Pattern Facet
-_UI_XSDRedefinableComponent_type = Redefinable Component
-_UI_XSDRedefineContent_type = Redefine Content
-_UI_XSDRedefine_type = Redefine
-_UI_XSDRepeatableFacet_type = Repeatable Facet
-_UI_XSDSchema_type = Schema
-_UI_XSDSchemaCompositor_type = Schema Compositor
-_UI_XSDSchemaContent_type = Schema Content
-_UI_XSDSchemaDirective_type = Schema Directive
-_UI_XSDScope_type = Scope
-_UI_XSDSimpleTypeDefinition_type = Simple Type Definition
-_UI_XSDTerm_type = Term
-_UI_XSDTotalDigitsFacet_type = Total Digits Facet
-_UI_XSDTypeDefinition_type = Type Definition
-_UI_XSDWhiteSpaceFacet_type = White Space Facet
-_UI_XSDWildcard_type = Wildcard
-_UI_XSDXPathDefinition_type = XPath Definition
-_UI_Unknown_type = Object
-
-_UI_XSDAnnotation_applicationInformation_feature = Application Information
-_UI_XSDAnnotation_userInformation_feature = User Information
-_UI_XSDAnnotation_attributes_feature = Attributes
-_UI_XSDAttributeDeclaration_attributeDeclarationReference_feature = Attribute Declaration Reference
-_UI_XSDAttributeDeclaration_annotation_feature = Annotation
-_UI_XSDAttributeDeclaration_anonymousTypeDefinition_feature = Anonymous Type Definition
-_UI_XSDAttributeDeclaration_typeDefinition_feature = Type Definition
-_UI_XSDAttributeDeclaration_resolvedAttributeDeclaration_feature = Resolved Attribute Declaration
-_UI_XSDAttributeGroupDefinition_attributeGroupDefinitionReference_feature = Attribute Group Definition Reference
-_UI_XSDAttributeGroupDefinition_annotation_feature = Annotation
-_UI_XSDAttributeGroupDefinition_contents_feature = Contents
-_UI_XSDAttributeGroupDefinition_attributeUses_feature = Attribute Uses
-_UI_XSDAttributeGroupDefinition_attributeWildcardContent_feature = Attribute Wildcard Content
-_UI_XSDAttributeGroupDefinition_attributeWildcard_feature = Attribute Wildcard
-_UI_XSDAttributeGroupDefinition_resolvedAttributeGroupDefinition_feature = Resolved Attribute Group Definition
-_UI_XSDAttributeGroupDefinition_syntheticWildcard_feature = Synthetic Wildcard
-_UI_XSDAttributeUse_required_feature = Required
-_UI_XSDAttributeUse_value_feature = Value
-_UI_XSDAttributeUse_constraint_feature = Constraint
-_UI_XSDAttributeUse_use_feature = Use
-_UI_XSDAttributeUse_lexicalValue_feature = Lexical Value
-_UI_XSDAttributeUse_attributeDeclaration_feature = Attribute Declaration
-_UI_XSDAttributeUse_content_feature = Content
-_UI_XSDBoundedFacet_value_feature = Value
-_UI_XSDCardinalityFacet_value_feature = Value
-_UI_XSDComplexTypeDefinition_derivationMethod_feature = Derivation Method
-_UI_XSDComplexTypeDefinition_final_feature = Final
-_UI_XSDComplexTypeDefinition_abstract_feature = Abstract
-_UI_XSDComplexTypeDefinition_contentTypeCategory_feature = Content Type Category
-_UI_XSDComplexTypeDefinition_prohibitedSubstitutions_feature = Prohibited Substitutions
-_UI_XSDComplexTypeDefinition_lexicalFinal_feature = Lexical Final
-_UI_XSDComplexTypeDefinition_block_feature = Block
-_UI_XSDComplexTypeDefinition_mixed_feature = Mixed
-_UI_XSDComplexTypeDefinition_contentAnnotation_feature = Content Annotation
-_UI_XSDComplexTypeDefinition_baseTypeDefinition_feature = Base Type Definition
-_UI_XSDComplexTypeDefinition_content_feature = Content
-_UI_XSDComplexTypeDefinition_contentType_feature = Content Type
-_UI_XSDComplexTypeDefinition_attributeUses_feature = Attribute Uses
-_UI_XSDComplexTypeDefinition_attributeContents_feature = Attribute Contents
-_UI_XSDComplexTypeDefinition_attributeWildcard_feature = Attribute Wildcard
-_UI_XSDComplexTypeDefinition_attributeWildcardContent_feature = Attribute Wildcard Content
-_UI_XSDComplexTypeDefinition_rootTypeDefinition_feature = Root Type Definition
-_UI_XSDComplexTypeDefinition_syntheticParticle_feature = Synthetic Particle
-_UI_XSDComplexTypeDefinition_syntheticWildcard_feature = Synthetic Wildcard
-_UI_XSDConcreteComponent_element_feature = Element
-_UI_XSDConcreteComponent_container_feature = Container
-_UI_XSDConcreteComponent_rootContainer_feature = Root Container
-_UI_XSDConcreteComponent_schema_feature = Schema
-_UI_XSDConcreteComponent_diagnostics_feature = Diagnostics
-_UI_XSDDiagnostic_severity_feature = Severity
-_UI_XSDDiagnostic_message_feature = Message
-_UI_XSDDiagnostic_locationURI_feature = Location URI
-_UI_XSDDiagnostic_line_feature = Line
-_UI_XSDDiagnostic_column_feature = Column
-_UI_XSDDiagnostic_node_feature = Node
-_UI_XSDDiagnostic_annotationURI_feature = Annotation URI
-_UI_XSDDiagnostic_components_feature = Components
-_UI_XSDDiagnostic_primaryComponent_feature = Primary Component
-_UI_XSDElementDeclaration_nillable_feature = Nillable
-_UI_XSDElementDeclaration_disallowedSubstitutions_feature = Disallowed Substitutions
-_UI_XSDElementDeclaration_substitutionGroupExclusions_feature = Substitution Group Exclusions
-_UI_XSDElementDeclaration_abstract_feature = Abstract
-_UI_XSDElementDeclaration_lexicalFinal_feature = Lexical Final
-_UI_XSDElementDeclaration_block_feature = Block
-_UI_XSDElementDeclaration_elementDeclarationReference_feature = Element Declaration Reference
-_UI_XSDElementDeclaration_circular_feature = Circular
-_UI_XSDElementDeclaration_annotation_feature = Annotation
-_UI_XSDElementDeclaration_anonymousTypeDefinition_feature = Anonymous Type Definition
-_UI_XSDElementDeclaration_typeDefinition_feature = Type Definition
-_UI_XSDElementDeclaration_identityConstraintDefinitions_feature = Identity Constraint Definitions
-_UI_XSDElementDeclaration_resolvedElementDeclaration_feature = Resolved Element Declaration
-_UI_XSDElementDeclaration_substitutionGroupAffiliation_feature = Substitution Group Affiliation
-_UI_XSDElementDeclaration_substitutionGroup_feature = Substitution Group
-_UI_XSDEnumerationFacet_value_feature = Value
-_UI_XSDFacet_lexicalValue_feature = Lexical Value
-_UI_XSDFacet_facetName_feature = Facet Name
-_UI_XSDFacet_effectiveValue_feature = Effective Value
-_UI_XSDFacet_annotation_feature = Annotation
-_UI_XSDFacet_simpleTypeDefinition_feature = Simple Type Definition
-_UI_XSDFeature_value_feature = Value
-_UI_XSDFeature_constraint_feature = Constraint
-_UI_XSDFeature_form_feature = Form
-_UI_XSDFeature_lexicalValue_feature = Lexical Value
-_UI_XSDFeature_global_feature = Global
-_UI_XSDFeature_featureReference_feature = Feature Reference
-_UI_XSDFeature_scope_feature = Scope
-_UI_XSDFeature_resolvedFeature_feature = Resolved Feature
-_UI_XSDFeature_type_feature = Type
-_UI_XSDFixedFacet_fixed_feature = Fixed
-_UI_XSDFractionDigitsFacet_value_feature = Value
-_UI_XSDIdentityConstraintDefinition_identityConstraintCategory_feature = Identity Constraint Category
-_UI_XSDIdentityConstraintDefinition_annotation_feature = Annotation
-_UI_XSDIdentityConstraintDefinition_referencedKey_feature = Referenced Key
-_UI_XSDIdentityConstraintDefinition_selector_feature = Selector
-_UI_XSDIdentityConstraintDefinition_fields_feature = Fields
-_UI_XSDImport_namespace_feature = Namespace
-_UI_XSDImport_annotation_feature = Annotation
-_UI_XSDInclude_annotation_feature = Annotation
-_UI_XSDLengthFacet_value_feature = Value
-_UI_XSDMaxFacet_value_feature = Value
-_UI_XSDMaxFacet_inclusive_feature = Inclusive
-_UI_XSDMaxFacet_exclusive_feature = Exclusive
-_UI_XSDMaxLengthFacet_value_feature = Value
-_UI_XSDMinFacet_value_feature = Value
-_UI_XSDMinFacet_inclusive_feature = Inclusive
-_UI_XSDMinFacet_exclusive_feature = Exclusive
-_UI_XSDMinLengthFacet_value_feature = Value
-_UI_XSDModelGroup_compositor_feature = Compositor
-_UI_XSDModelGroup_annotation_feature = Annotation
-_UI_XSDModelGroup_contents_feature = Contents
-_UI_XSDModelGroup_particles_feature = Particles
-_UI_XSDModelGroupDefinition_modelGroupDefinitionReference_feature = Model Group Definition Reference
-_UI_XSDModelGroupDefinition_annotation_feature = Annotation
-_UI_XSDModelGroupDefinition_modelGroup_feature = Model Group
-_UI_XSDModelGroupDefinition_resolvedModelGroupDefinition_feature = Resolved Model Group Definition
-_UI_XSDNamedComponent_name_feature = Name
-_UI_XSDNamedComponent_targetNamespace_feature = Target Namespace
-_UI_XSDNamedComponent_aliasName_feature = Alias Name
-_UI_XSDNamedComponent_uRI_feature = URI
-_UI_XSDNamedComponent_aliasURI_feature = Alias URI
-_UI_XSDNamedComponent_qName_feature = QName
-_UI_XSDNotationDeclaration_systemIdentifier_feature = System Identifier
-_UI_XSDNotationDeclaration_publicIdentifier_feature = Public Identifier
-_UI_XSDNotationDeclaration_annotation_feature = Annotation
-_UI_XSDNumericFacet_value_feature = Value
-_UI_XSDOrderedFacet_value_feature = Value
-_UI_XSDParticle_minOccurs_feature = Min Occurs
-_UI_XSDParticle_maxOccurs_feature = Max Occurs
-_UI_XSDParticle_content_feature = Content
-_UI_XSDParticle_term_feature = Term
-_UI_XSDPatternFacet_value_feature = Value
-_UI_XSDRedefinableComponent_circular_feature = Circular
-_UI_XSDRedefine_annotations_feature = Annotations
-_UI_XSDRedefine_contents_feature = Contents
-_UI_XSDRepeatableFacet_annotations_feature = Annotations
-_UI_XSDSchema_document_feature = Document
-_UI_XSDSchema_schemaLocation_feature = Schema Location
-_UI_XSDSchema_targetNamespace_feature = Target Namespace
-_UI_XSDSchema_attributeFormDefault_feature = Attribute Form Default
-_UI_XSDSchema_elementFormDefault_feature = Element Form Default
-_UI_XSDSchema_finalDefault_feature = Final Default
-_UI_XSDSchema_blockDefault_feature = Block Default
-_UI_XSDSchema_version_feature = Version
-_UI_XSDSchema_contents_feature = Contents
-_UI_XSDSchema_elementDeclarations_feature = Element Declarations
-_UI_XSDSchema_attributeDeclarations_feature = Attribute Declarations
-_UI_XSDSchema_attributeGroupDefinitions_feature = Attribute Group Definitions
-_UI_XSDSchema_typeDefinitions_feature = Type Definitions
-_UI_XSDSchema_modelGroupDefinitions_feature = Model Group Definitions
-_UI_XSDSchema_identityConstraintDefinitions_feature = Identity Constraint Definitions
-_UI_XSDSchema_notationDeclarations_feature = Notation Declarations
-_UI_XSDSchema_annotations_feature = Annotations
-_UI_XSDSchema_allDiagnostics_feature = All Diagnostics
-_UI_XSDSchema_referencingDirectives_feature = Referencing Directives
-_UI_XSDSchema_rootVersion_feature = Root Version
-_UI_XSDSchema_originalVersion_feature = Original Version
-_UI_XSDSchema_incorporatedVersions_feature = Incorporated Versions
-_UI_XSDSchema_schemaForSchema_feature = Schema For Schema
-_UI_XSDSchemaCompositor_incorporatedSchema_feature = Incorporated Schema
-_UI_XSDSchemaDirective_schemaLocation_feature = Schema Location
-_UI_XSDSchemaDirective_resolvedSchema_feature = Resolved Schema
-_UI_XSDSimpleTypeDefinition_variety_feature = Variety
-_UI_XSDSimpleTypeDefinition_final_feature = Final
-_UI_XSDSimpleTypeDefinition_lexicalFinal_feature = Lexical Final
-_UI_XSDSimpleTypeDefinition_validFacets_feature = Valid Facets
-_UI_XSDSimpleTypeDefinition_contents_feature = Contents
-_UI_XSDSimpleTypeDefinition_facetContents_feature = Facet Contents
-_UI_XSDSimpleTypeDefinition_facets_feature = Facets
-_UI_XSDSimpleTypeDefinition_memberTypeDefinitions_feature = Member Type Definitions
-_UI_XSDSimpleTypeDefinition_fundamentalFacets_feature = Fundamental Facets
-_UI_XSDSimpleTypeDefinition_baseTypeDefinition_feature = Base Type Definition
-_UI_XSDSimpleTypeDefinition_primitiveTypeDefinition_feature = Primitive Type Definition
-_UI_XSDSimpleTypeDefinition_itemTypeDefinition_feature = Item Type Definition
-_UI_XSDSimpleTypeDefinition_rootTypeDefinition_feature = Root Type Definition
-_UI_XSDSimpleTypeDefinition_minFacet_feature = Min Facet
-_UI_XSDSimpleTypeDefinition_maxFacet_feature = Max Facet
-_UI_XSDSimpleTypeDefinition_maxInclusiveFacet_feature = Max Inclusive Facet
-_UI_XSDSimpleTypeDefinition_minInclusiveFacet_feature = Min Inclusive Facet
-_UI_XSDSimpleTypeDefinition_minExclusiveFacet_feature = Min Exclusive Facet
-_UI_XSDSimpleTypeDefinition_maxExclusiveFacet_feature = Max Exclusive Facet
-_UI_XSDSimpleTypeDefinition_lengthFacet_feature = Length Facet
-_UI_XSDSimpleTypeDefinition_whiteSpaceFacet_feature = White Space Facet
-_UI_XSDSimpleTypeDefinition_enumerationFacets_feature = Enumeration Facets
-_UI_XSDSimpleTypeDefinition_patternFacets_feature = Pattern Facets
-_UI_XSDSimpleTypeDefinition_cardinalityFacet_feature = Cardinality Facet
-_UI_XSDSimpleTypeDefinition_numericFacet_feature = Numeric Facet
-_UI_XSDSimpleTypeDefinition_maxLengthFacet_feature = Max Length Facet
-_UI_XSDSimpleTypeDefinition_minLengthFacet_feature = Min Length Facet
-_UI_XSDSimpleTypeDefinition_totalDigitsFacet_feature = Total Digits Facet
-_UI_XSDSimpleTypeDefinition_fractionDigitsFacet_feature = Fraction Digits Facet
-_UI_XSDSimpleTypeDefinition_orderedFacet_feature = Ordered Facet
-_UI_XSDSimpleTypeDefinition_boundedFacet_feature = Bounded Facet
-_UI_XSDSimpleTypeDefinition_effectiveMaxFacet_feature = Effective Max Facet
-_UI_XSDSimpleTypeDefinition_effectiveWhiteSpaceFacet_feature = Effective White Space Facet
-_UI_XSDSimpleTypeDefinition_effectiveMaxLengthFacet_feature = Effective Max Length Facet
-_UI_XSDSimpleTypeDefinition_effectiveFractionDigitsFacet_feature = Effective Fraction Digits Facet
-_UI_XSDSimpleTypeDefinition_effectivePatternFacet_feature = Effective Pattern Facet
-_UI_XSDSimpleTypeDefinition_effectiveEnumerationFacet_feature = Effective Enumeration Facet
-_UI_XSDSimpleTypeDefinition_effectiveTotalDigitsFacet_feature = Effective Total Digits Facet
-_UI_XSDSimpleTypeDefinition_effectiveMinLengthFacet_feature = Effective Min Length Facet
-_UI_XSDSimpleTypeDefinition_effectiveLengthFacet_feature = Effective Length Facet
-_UI_XSDSimpleTypeDefinition_effectiveMinFacet_feature = Effective Min Facet
-_UI_XSDSimpleTypeDefinition_syntheticFacets_feature = Synthetic Facets
-_UI_XSDTotalDigitsFacet_value_feature = Value
-_UI_XSDTypeDefinition_annotation_feature = Annotation
-_UI_XSDTypeDefinition_derivationAnnotation_feature = Derivation Annotation
-_UI_XSDTypeDefinition_annotations_feature = Annotations
-_UI_XSDTypeDefinition_rootType_feature = Root Type
-_UI_XSDTypeDefinition_baseType_feature = Base Type
-_UI_XSDTypeDefinition_simpleType_feature = Simple Type
-_UI_XSDTypeDefinition_complexType_feature = Complex Type
-_UI_XSDWhiteSpaceFacet_value_feature = Value
-_UI_XSDWildcard_namespaceConstraintCategory_feature = Namespace Constraint Category
-_UI_XSDWildcard_namespaceConstraint_feature = Namespace Constraint
-_UI_XSDWildcard_processContents_feature = Process Contents
-_UI_XSDWildcard_lexicalNamespaceConstraint_feature = Lexical Namespace Constraint
-_UI_XSDWildcard_annotation_feature = Annotation
-_UI_XSDWildcard_annotations_feature = Annotations
-_UI_XSDXPathDefinition_variety_feature = Variety
-_UI_XSDXPathDefinition_value_feature = Value
-_UI_XSDXPathDefinition_annotation_feature = Annotation
-_UI_Unknown_feature = Unspecified
-
-!======================================================================================
-!
-! Used by org.eclipse.wst.common.ui.viewers.SelectSingleFileView
-!
-!======================================================================================
-_UI_LABEL_SOURCE_FILES   = Workbench Files
-_UI_LABEL_SELECTED_FILES = Selected Files
-
-_UI_IMPORT_BUTTON          = Import Files...
-_UI_IMPORT_BUTTON_TOOL_TIP = Import files from file system
diff --git a/bundles/org.eclipse.wst.xsd.ui/plugin.xml b/bundles/org.eclipse.wst.xsd.ui/plugin.xml
deleted file mode 100644
index c825cfb..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/plugin.xml
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.xsd.ui"
-   name="%_UI_PLUGIN_NAME"
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   class="org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin">
-
-   <runtime>
-      <library name="xsdeditor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      
-      <import plugin="org.eclipse.wst.xml.uriresolver"/>
-      <import plugin="org.eclipse.wst.sse.ui"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.wst.xml.core"/>
-      <import plugin="org.eclipse.wst.xml.ui"/>
-      <import plugin="org.eclipse.wst.common.contentmodel"/>
-      <import plugin="org.eclipse.wst.common.ui"/>
-      
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.xsd"/>
-      <import plugin="org.eclipse.gef"/>
-      <import plugin="org.eclipse.jface"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.wst.common.ui.properties"/>
-      <import plugin="org.eclipse.xsd.edit"/>
-      <import plugin="org.eclipse.emf.edit"/>
-      <import plugin="org.eclipse.emf.edit.ui"/> 
-      <import plugin="org.eclipse.wst.validation"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%_UI_EDITOR_NAME"
-            default="true"
-            icon="icons/XSDFile.gif"
-            extensions="xsd"
-            contributorClass="org.eclipse.wst.xsd.ui.internal.XSDActionBarContributor"
-            class="org.eclipse.wst.xsd.ui.internal.XSDEditor"
-            id="org.eclipse.wst.xsd.ui.XSDEditor">
-      </editor>
-   </extension>
-<!-- drop targets for XSDTextEditor-->
-   <extension
-         point="org.eclipse.wst.sse.ui.dropTargetTransfers">
-      <dropTargetContribution
-            targetID="org.eclipse.wst.xsd.ui.internal.XSDTextEditor"
-            id="org.eclipse.wst.xsd.ui.ExtendedTransfers">
-         <transfer
-               priority="mid"
-               singleton="true"
-               class="org.eclipse.swt.dnd.FileTransfer"
-               method="getInstance"
-               id="org.eclipse.swt.dnd.FileTransfer">
-         </transfer>
-         <dropAction
-               class="org.eclipse.wst.sse.ui.extension.FileDropAction"
-               transferID="org.eclipse.swt.dnd.FileTransfer"
-               id="org.eclipse.wst.sse.ui.extension.FileDropAction">
-         </dropAction>
-         <transfer
-               priority="low"
-               singleton="true"
-               class="org.eclipse.swt.dnd.TextTransfer"
-               method="getInstance"
-               id="org.eclipse.swt.dnd.TextTransfer">
-         </transfer>
-         <dropAction
-               class="org.eclipse.wst.sse.ui.extension.TextDropAction"
-               transferID="org.eclipse.swt.dnd.TextTransfer"
-               id="corg.eclipse.wst.sse.ui.extension.TextDropAction">
-         </dropAction>
-      </dropTargetContribution>
-   </extension>
-
-   <extension point="org.eclipse.ui.newWizards">
-     <wizard id = "org.eclipse.wst.xsd.ui.internal.wizards.NewXSDWizard"
-        name = "%_UI_WIZARD_NEW_XSD"
-        class = "org.eclipse.wst.xsd.ui.internal.wizards.NewXSDWizard"
-        category = "org.eclipse.wst.XMLCategory"
-        icon = "icons/XSDFile.gif">
-      <description>%_UI_CREATE_A_NEW_SCHEMA</description>
-      <selection class = "org.eclipse.core.resources.IResource" />
-      </wizard>
-   </extension>
-
-   <extension point="org.eclipse.ui.preferencePages">
-      <page
-            name="%_UI_XML_SCHEMA_PREFERENCE"
-            category="org.eclipse.wst.sse.ui.preferences"
-            class="org.eclipse.wst.xsd.ui.internal.preferences.XSDPreferencePage"
-            id="org.eclipse.wst.xsd.ui.internal.preferences.XSDPreferencePage">
-      </page>
-   </extension>
-	<extension point="org.eclipse.wst.sse.ui.extendedconfiguration">
-		<definition 
-			type="preferencepages"
-			value="org.eclipse.wst.xsd.ui.internal.preferences.XSDPreferencePage"
-			target="org.eclipse.wst.xsd.ui.internal.XSDEditor.source" />
-	</extension>
-   
-   <!-- ==================================================== -->
-<!-- Support help on the tags                             -->
-<!-- ==================================================== -->
-<!--   <extension
-         point="org.eclipse.wst.common.contentmodel.annotationFiles">
-      <annotationFile
-            location="/w3c/schemaForCodeAssist-annotations.xml"
-            publicId="http://www.w3.org/2001/XMLSchema">
-      </annotationFile>
-   </extension>
--->
-   <extension
-         point="org.eclipse.wst.common.ui.properties.propertyContributor">
-      <propertyContributor
-            contributorId="org.eclipse.wst.xsd.ui.internal.XSDEditor"
-            sectionDescriptorProvider="org.eclipse.wst.xsd.ui.internal.properties.section.XSDSectionDescriptorProvider"
-            labelProvider="org.eclipse.wst.xsd.ui.internal.properties.section.XSDSectionLabelProvider">
-         <propertyCategory
-               category="general">
-         </propertyCategory>
-         <propertyCategory
-               category="namespace">
-         </propertyCategory>
-         <propertyCategory
-               category="other">
-         </propertyCategory>
-         <propertyCategory
-               category="attributes">
-         </propertyCategory>
-         <propertyCategory
-               category="enumerations">
-         </propertyCategory>
-         <propertyCategory
-               category="documentation">
-         </propertyCategory>
-         <propertyCategory
-               category="facets">
-         </propertyCategory>
-      </propertyContributor>
-   </extension>
-   <extension
-         point="org.eclipse.wst.common.ui.properties.propertyTabs">
-      <propertyTabs
-            contributorId="org.eclipse.wst.xsd.ui.internal.XSDEditor">
-         <propertyTab
-               label="%_UI_LABEL_GENERAL"
-               category="general"
-               id="com.ibm.xmlwebservices.general">
-         </propertyTab>
-         <propertyTab
-               label="%_UI_LABEL_NAMESPACE"
-               category="namespace"
-               afterTab="com.ibm.xmlwebservices.general"
-               id="com.ibm.xmlwebservices.namespace">
-         </propertyTab>
-         <propertyTab
-               label="%_UI_LABEL_OTHER"
-               category="other"
-               id="com.ibm.xmlwebservices.other">
-         </propertyTab>
-         <propertyTab
-               label="%_UI_LABEL_ATTRIBUTES"
-               category="attributes"
-               id="com.ibm.xmlwebservices.attributes">
-         </propertyTab>
-         <propertyTab
-               label="%_UI_LABEL_ENUMERATIONS"
-               category="enumerations"
-               id="com.ibm.xmlwebservices.enumerations">
-         </propertyTab>
-         <propertyTab
-               label="%_UI_LABEL_DOCUMENTATION"
-               category="documentation"
-               id="com.ibm.xmlwebservices.documentation">
-         </propertyTab>
-         <propertyTab
-               label="%_UI_SECTION_ADVANCED_ATTRIBUTES"
-               category="facets"
-               id="com.ibm.xmlwebservices.facets">
-         </propertyTab>
-      </propertyTabs>
-   </extension>
-   
-   <!--
-    <extension point="org.eclipse.wst.xml.uriresolver.catalogContributor">
-     <catalogContributor catalogId="default">
-       <mappingInfo key="http://www.w3.org/2001/XMLSchema" uri="w3c/XMLSchema.xsd"/>
-      </catalogContributor>
-    </extension>
-    -->
- 
-  	<!-- intialize xsd reconcile validator -->
-	 <extension
-         point="org.eclipse.wst.sse.ui.reconcileValidator">
-      <validator
-            scope="total"
-            class="org.eclipse.wst.xsd.ui.reconcile.DelegatingReconcileValidatorForXSD"
-            id="org.eclipse.wst.xsd.ui.reconcile.DelegatingReconcileValidatorForXSD">
-  	<contentTypeIdentifier
-               id="org.eclipse.wst.xsd.contentmodel.xsdsource">
-            <partitionType
-                  id="org.eclipse.wst.xml.DEFAULT_XML">
-            </partitionType>
-         </contentTypeIdentifier>       
-      </validator>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDDataTypeValueExtension.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDDataTypeValueExtension.java
deleted file mode 100644
index 323cb94..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDDataTypeValueExtension.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-import java.util.Vector;
-
-import org.eclipse.wst.common.contentmodel.CMNode;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.modelquery.extension.DataTypeValueExtension;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-  /**
-   * This class is used to extend the ModelQuery behaviour so that we can contribute our own
-   * 'allowed values' for attributes or elements (e.g. the 'type' attribute).
-   */
-  public abstract class AbstractXSDDataTypeValueExtension implements DataTypeValueExtension
-  { 
-    protected ModelQuery modelQuery;
-
-    public int getType()
-    {
-      return DATA_TYPE_VALUE_EXTENSION;
-    }   
-
-    public abstract String getId();
-
-    public AbstractXSDDataTypeValueExtension(ModelQuery modelQuery)
-    {
-      this.modelQuery = modelQuery;
-      if (modelQuery != null && modelQuery.getExtensionManager() != null)
-      {
-        modelQuery.getExtensionManager().addExtension(this);
-      }
-    }  
-
-    public void dispose()
-    {
-      if (modelQuery != null && modelQuery.getExtensionManager() != null)
-      {
-        modelQuery.getExtensionManager().removeExtension(this);
-      }
-    }
-
-    protected abstract XSDSchema getEnclosingXSDSchema(Element element);  
-
-
-	protected TypesHelper createTypesHelper(XSDSchema schema)
-	{ 
-		return new TypesHelper(schema);		
-	}
-	
-    public java.util.List getDataTypeValues(Element element, CMNode cmNode)
-    {
-      java.util.List list = new Vector();
-      if (cmNode.getNodeType() == CMNode.ATTRIBUTE_DECLARATION)
-      {
-        TypesHelper typesHelper = createTypesHelper(getEnclosingXSDSchema(element));
-        String name = cmNode.getNodeName();
-        String currentElementName = element.getLocalName();
-        Node parentNode = element.getParentNode();
-        String parentName = "";
-        if (parentNode != null)
-        {
-          parentName = parentNode.getLocalName();
-        }
-
-        if (checkName(name, "type"))
-        {
-          if (checkName(currentElementName, "attribute"))
-          {
-            list = typesHelper.getBuiltInTypeNamesList();
-            list.addAll(typesHelper.getUserSimpleTypeNamesList());
-          }
-          else if (checkName(currentElementName, "element"))
-          {
-            list = typesHelper.getBuiltInTypeNamesList2();
-            list.addAll(typesHelper.getUserSimpleTypeNamesList());
-            list.addAll(typesHelper.getUserComplexTypeNamesList());
-          }
-        }
-        else if (checkName(name, "itemType"))
-        {
-          if (checkName(currentElementName, "list"))
-          {
-            if (checkName(parentName, "simpleType"))
-            {
-              list = typesHelper.getBuiltInTypeNamesList();
-              list.addAll(typesHelper.getUserSimpleTypeNamesList());
-            }
-          }
-        }
-        else if (checkName(name, "memberTypes"))
-        {
-          if (checkName(currentElementName, "union"))
-          {
-            if (checkName(parentName, "simpleType"))
-            {
-              list = typesHelper.getBuiltInTypeNamesList();
-              list.addAll(typesHelper.getUserSimpleTypeNamesList());
-            }
-          }
-        }
-        else if (checkName(name, "base"))
-        {
-          if (checkName(currentElementName, "restriction"))
-          {
-            if (checkName(parentName, "simpleType"))
-            {
-              list = typesHelper.getBuiltInTypeNamesList();
-              list.addAll(typesHelper.getUserSimpleTypeNamesList());
-            }
-            else if (checkName(parentName, "simpleContent"))
-            {
-              list = typesHelper.getBuiltInTypeNamesList();
-              list.addAll(typesHelper.getUserComplexTypeNamesList());
-            }
-            else if (checkName(parentName, "complexContent"))
-            {
-              list = typesHelper.getBuiltInTypeNamesList();
-              list.addAll(typesHelper.getUserComplexTypeNamesList());
-            }
-          }
-          else if (checkName(currentElementName, "extension"))
-          {
-            if (checkName(parentName, "simpleContent"))
-            {
-              list = typesHelper.getBuiltInTypeNamesList();
-              list.addAll(typesHelper.getUserComplexTypeNamesList());
-            }
-            else if (checkName(parentName, "complexContent"))
-            {
-              list = typesHelper.getBuiltInTypeNamesList();
-              list.addAll(typesHelper.getUserComplexTypeNamesList());
-            }
-          }
-        }
-        else if (checkName(name, "ref"))
-        {
-          if (checkName(currentElementName, "element"))
-          {
-            list = typesHelper.getGlobalElements();
-          }
-          else if (checkName(currentElementName, "attribute"))
-          {
-            list = typesHelper.getGlobalAttributes();
-          }
-          else if (checkName(currentElementName, "attributeGroup"))
-          {
-            list = typesHelper.getGlobalAttributeGroups();
-          }
-          else if (checkName(currentElementName, "group"))
-          {
-            list = typesHelper.getModelGroups();
-          }
-        }
-        else if (checkName(name, "substitutionGroup"))
-        {
-          if (checkName(currentElementName, "element"))
-          {
-            list = typesHelper.getGlobalElements();
-          }
-        }
-/*        else if (checkName(name, "refer"))
-        {
-          if (checkName(currentElementName, "keyref"))
-          {
-            list = typesHelper.getKeys();
-          }
-        } */
-
-
-      }
-      return list;
-    }
-
-    protected boolean checkName(String localName, String token)
-    {
-      if (localName != null && localName.trim().equals(token))
-      {
-        return true;
-      }
-      return false;
-    }
-  }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java
deleted file mode 100644
index 717afe0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-import java.net.URL;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.w3c.dom.Document;
-
-public abstract class AbstractXSDModelQueryContributor
-{ 
-  protected AbstractXSDDataTypeValueExtension xsdDataTypeValueExtension;
-
-  public void setModel(XMLModel model)
-  {                    
-    // remove our old DataTypeValueExtension
-    //
-    if (xsdDataTypeValueExtension != null)
-    {
-      xsdDataTypeValueExtension.dispose();
-      xsdDataTypeValueExtension = null;
-    }
-
-    setImplicitGrammar(model.getDocument());
-
-    // add a new DataTypeValueExtension
-    //                                                          
-    ModelQuery modelQuery = ModelQueryUtil.getModelQuery(model.getDocument());
-    xsdDataTypeValueExtension = createXSDDataTypeValueExtension(modelQuery);
-  }
-  
-  protected void setImplicitGrammar(Document document)
-  {
-//    DOMExtension domExtension = DOMExtensionProviderRegistry.getInstance().getDOMExtension(document);
-//    if (domExtension != null)
-//    {
-      String uri = "platform:/plugin/org.eclipse.wst.xsd.ui/w3c/schemaForCodeAssist.xsd";
-      uri = resolvePlatformUrl(uri);
-      if (uri != null)
-      {
-        Vector list = new Vector();
-        NamespaceInfo info = new NamespaceInfo("http://www.w3.org/2001/XMLSchema", "xsd", uri);
-        info.setProperty("isImplied", "true");
-        list.add(info);
-//        domExtension.setImplictNamespaceInfoList(list);
-      }
-//    }
-  } 
-
-  protected static String resolvePlatformUrl(String urlspec)
-  {
-    String result = null;
-    try
-    {
-      urlspec = urlspec.replace('\\', '/');
-      URL url = new URL(urlspec);
-      URL resolvedURL = Platform.resolve(url);
-      result = resolvedURL.toString();
-    }
-    catch (Exception e)
-    {
-    }
-    return result;
-  }
-
-  public abstract AbstractXSDDataTypeValueExtension createXSDDataTypeValueExtension(ModelQuery modelQuery);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDActionBarContributor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDActionBarContributor.java
deleted file mode 100644
index f66de6e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDActionBarContributor.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.wst.xsd.ui.internal.actions.ISchemaEditorActionConstants;
-import org.eclipse.wst.xsd.ui.internal.actions.ReloadDependenciesAction;
-
-public class XSDActionBarContributor extends MultiPageEditorActionBarContributor
-{
-  protected XSDEditor xsdEditor;
-  protected XSDTextEditor textEditor;
-
-  protected ReloadDependenciesAction reloadDependenciesAction;
-  
-  protected List fPartListeners= new ArrayList();
-
-  protected RetargetAction retargetReloadDependenciesAction;
- 
-  /**
-   * Constructor for XSDActionBarContributor.
-   */
-  public XSDActionBarContributor()
-  {
-    super();
-
-    // Reload Dependencies
-    reloadDependenciesAction = new ReloadDependenciesAction(XSDEditorPlugin.getXSDString("_UI_MENU_RELOAD_DEPENDENCIES"));
-    retargetReloadDependenciesAction = new RetargetAction(ISchemaEditorActionConstants.RETARGET_RELOAD_DEPENDENCIES_ACTION_ID, XSDEditorPlugin.getXSDString("_UI_MENU_RELOAD_DEPENDENCIES"));
-    retargetReloadDependenciesAction.setToolTipText(XSDEditorPlugin.getXSDString("_UI_MENU_RELOAD_DEPENDENCIES_TOOLTIP"));
-    retargetReloadDependenciesAction.setImageDescriptor(
-        ImageDescriptor.createFromFile(XSDEditorPlugin.getPlugin().getClass(), "icons/reloadgrammar.gif"));
-    fPartListeners.add(retargetReloadDependenciesAction);
-  }
-
-  protected void updateActions()
-  {
-    if (xsdEditor != null && xsdEditor.getCurrentPageType().equals(XSDEditorPlugin.GRAPH_PAGE))
-    {
-      IAction deleteAction = xsdEditor.getGraphViewer().getComponentViewer().getMenuListener().getDeleteAction();
-      getActionBars().setGlobalActionHandler(ActionFactory.DELETE.getId(), deleteAction);
-
-      IAction printGraphAction = xsdEditor.getGraphViewer().getPrintGraphAction();
-      getActionBars().setGlobalActionHandler(ActionFactory.PRINT.getId(), printGraphAction);
-    }
-    else
-    {
-      getActionBars().setGlobalActionHandler(ActionFactory.DELETE.getId(), null);      
-      // always enable print regardless of whether we are on source or design
-      updateAction(ActionFactory.PRINT.getId(), ITextEditorActionConstants.PRINT, true);
-    }
-  }
-      
-  public void setActivePage(IEditorPart activeEditor)
-  {
-    updateActions();
-    getActionBars().updateActionBars();
-  }
-
-  protected void updateAction(String globalActionId, String textEditorActionId, boolean enable)
-  {
-    getActionBars().setGlobalActionHandler(globalActionId,
-                                      enable ? getAction(textEditor, textEditorActionId) :
-                                               null);
-  }
-
-  /**
-   * Returns the action registed with the given text editor.
-   * @return IAction or null if editor is null.
-   */
-  protected IAction getAction(ITextEditor editor, String actionID)
-  {
-    try
-    {
-      return (editor == null ? null : editor.getAction(actionID));
-    }
-    catch (Exception e)
-    {
-      return null;
-    }
-  }
-
-  private IMenuManager editMenu;
-
-  public void addToMenu(IMenuManager menuManager)
-  {
-    editMenu = menuManager.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
-
-    MenuManager treeMenu = new MenuManager(XSDEditorPlugin.getXSDString("_UI_MENU_XSD_EDITOR"));
-    menuManager.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, treeMenu);
-
-    treeMenu.add(new Separator("group1"));
-//  Add retarget actions
-
-    treeMenu.add(retargetReloadDependenciesAction);
-
-    treeMenu.add(new Separator("group2"));
-  }
-
-
-public void addToToolBar(IToolBarManager toolBarManager)
-  {
-    toolBarManager.add(new Separator("XMLSchema.2"));
-//  Add retarget actions
-    toolBarManager.add(retargetReloadDependenciesAction);
-
-    toolBarManager.add(new Separator("XMLSchema.1"));
-
-    toolBarManager.add(new Separator());
-  }
-  
-  public void contributeToToolBar(IToolBarManager toolBarManager)
-  {
-    addToToolBar(toolBarManager);
-  }
-  
-  public void contributeToMenu(IMenuManager menuManager)
-  {
-    addToMenu(menuManager);
-  }
-  
-  /**
-   * @see org.eclipse.ui.IEditorActionBarContributor#setActiveEditor(IEditorPart)
-   */
-  public void setActiveEditor(IEditorPart targetEditor)
-  {
-    super.setActiveEditor(targetEditor);
-
-    if (targetEditor instanceof XSDEditor)
-    {
-      xsdEditor = (XSDEditor) targetEditor;
-      reloadDependenciesAction.setEditor((XSDEditor)targetEditor);
-
-      textEditor = ((XSDEditor)targetEditor).getXSDTextEditor();
-      if (textEditor != null)
-      {      
-        updateActions();  
-        getActionBars().updateActionBars();
-      }
-    }
-  }
-
-  public void init(IActionBars bars, IWorkbenchPage page)
-  {
-    Iterator e = fPartListeners.iterator();
-    while (e.hasNext())
-    {
-      page.addPartListener((RetargetAction) e.next());
-    }
-
-    // register actions that have a dynamic editor. 
-
-    bars.setGlobalActionHandler(ISchemaEditorActionConstants.RETARGET_RELOAD_DEPENDENCIES_ACTION_ID, reloadDependenciesAction);
-
-    super.init(bars, page);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java
deleted file mode 100644
index 8206b70..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDContentOutlinePage.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-import org.eclipse.wst.xsd.ui.internal.actions.OpenSchemaAction;
-import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.w3c.dom.Element;
-
-public class XSDContentOutlinePage extends ContentOutlinePage
-{
-  protected XSDEditor xsdEditor;
-  protected int level = 0;
-  protected Object model;
-  protected ITreeContentProvider contentProvider;
-  protected ILabelProvider labelProvider;
-  protected XSDSelectionManager selectionManager;
-  protected SelectionManagerSelectionChangeListener selectionManagerSelectionChangeListener = new SelectionManagerSelectionChangeListener();
-  protected TreeSelectionChangeListener treeSelectionChangeListener = new TreeSelectionChangeListener();
-  XSDTextEditor xsdTextEditor;
-  XSDMenuListener menuListener;
-
-  /**
-   *  
-   */
-  public XSDContentOutlinePage(XSDTextEditor xsdTextEditor)
-  {
-    super();
-    this.xsdTextEditor = xsdTextEditor;
-  }
-
-  public void setModel(Object newModel)
-  {
-    model = newModel;
-  }
-
-  public void setContentProvider(ITreeContentProvider contentProvider)
-  {
-    this.contentProvider = contentProvider;
-  }
-
-  public void setLabelProvider(ILabelProvider labelProvider)
-  {
-    this.labelProvider = labelProvider;
-  }
-
-  // expose
-  public TreeViewer getTreeViewer()
-  {
-    return super.getTreeViewer();
-  }
-
-  public void createControl(Composite parent)
-  {
-    super.createControl(parent);
-    getTreeViewer().setContentProvider(contentProvider);
-    getTreeViewer().setLabelProvider(labelProvider);
-    getTreeViewer().setInput(model);
-    getTreeViewer().addSelectionChangedListener(this);
-    MenuManager menuManager = new MenuManager("#popup");//$NON-NLS-1$
-    menuManager.setRemoveAllWhenShown(true);
-    Menu menu = menuManager.createContextMenu(getTreeViewer().getControl());
-    getTreeViewer().getControl().setMenu(menu);
-    menuListener = new XSDMenuListener(xsdTextEditor.getXSDEditor().getSelectionManager());
-//  menuListener.setSelectionProvider(getTreeViewer());
-    menuManager.addMenuListener(menuListener);
-    
-    // enable popupMenus extension
-    getSite().registerContextMenu("org.eclipse.wst.xsd.ui.popup.outline", menuManager, xsdTextEditor.getXSDEditor().getSelectionManager());
-    
-    setSelectionManager(xsdTextEditor.getXSDEditor().getSelectionManager());
-    // cs... why are we doing this from the outline view?
-    //
-    //xsdTextEditor.getXSDEditor().getSelectionManager().setSelection(new
-    // StructuredSelection(xsdTextEditor.getXSDSchema()));
-    XSDKeyListener keyListener = new XSDKeyListener(getTreeViewer(), menuListener);
-    getTreeViewer().getControl().addKeyListener(keyListener);
-    // drill down from outline view
-    getTreeViewer().getControl().addMouseListener(new MouseAdapter()
-    {
-      public void mouseDoubleClick(MouseEvent e)
-      {
-        ISelection iSelection = getTreeViewer().getSelection();
-        if (iSelection instanceof StructuredSelection)
-        {
-          StructuredSelection selection = (StructuredSelection)iSelection;
-          Object obj = selection.getFirstElement();
-          if (obj instanceof XSDConcreteComponent)
-          {
-            XSDConcreteComponent comp = (XSDConcreteComponent)obj;
-            if (comp.getContainer() instanceof XSDSchema)
-            {
-              xsdTextEditor.getXSDEditor().getGraphViewer().setInput(obj);
-            }
-          }
-        }
-
-      }
-    });
-  }
-  class XSDKeyListener extends KeyAdapter
-  {
-    TreeViewer viewer;
-    XSDMenuListener menuListener;
-
-    public XSDKeyListener(TreeViewer viewer, XSDMenuListener menuListener)
-    {
-      super();
-      this.viewer = viewer;
-      this.menuListener = menuListener;
-    }
-
-    /**
-     * @see org.eclipse.swt.events.KeyAdapter#keyReleased(KeyEvent)
-     */
-    public void keyReleased(KeyEvent e)
-    {
-      if (e.character == SWT.DEL)
-      {
-        menuListener.getDeleteAction().run();
-      }
-      else if (e.keyCode == SWT.F3) // open editor on any
-                                    // include/import/redefine
-      {
-        if (e.widget instanceof Tree)
-        {
-          Tree tree = (Tree) e.widget;
-          TreeItem[] selection = tree.getSelection();
-          if (selection.length > 0)
-          {
-            if (selection[0].getData() instanceof XSDSchemaDirective)
-            {
-              XSDSchemaDirective comp = (XSDSchemaDirective) selection[0].getData();
-              OpenSchemaAction openSchema = new OpenSchemaAction(XSDEditorPlugin.getXSDString("_UI_ACTION_OPEN_SCHEMA"), comp);
-              openSchema.run();
-            }
-          }
-        }
-      }
-    }
-  }
-
-  public void setExpandToLevel(int i)
-  {
-    level = i;
-  }
-
-  public void setInput(Object value)
-  {
-    getTreeViewer().setInput(value);
-    getTreeViewer().expandToLevel(level);
-  }
-
-  //	public ISelection getSelection()
-  //	{
-  //		if (getTreeViewer() == null)
-  //			return StructuredSelection.EMPTY;
-  //		return getTreeViewer().getSelection();
-  //	}
-  public void setSelectionManager(XSDSelectionManager newSelectionManager)
-  {
-    TreeViewer treeViewer = getTreeViewer();
-    // disconnect from old one
-    if (selectionManager != null)
-    {
-      selectionManager.removeSelectionChangedListener(selectionManagerSelectionChangeListener);
-      treeViewer.removeSelectionChangedListener(treeSelectionChangeListener);
-    }
-    selectionManager = newSelectionManager;
-    // connect to new one
-    if (selectionManager != null)
-    {
-      selectionManager.addSelectionChangedListener(selectionManagerSelectionChangeListener);
-      treeViewer.addSelectionChangedListener(treeSelectionChangeListener);
-    }
-  }
-  class SelectionManagerSelectionChangeListener implements ISelectionChangedListener
-  {
-    public void selectionChanged(SelectionChangedEvent event)
-    {
-      if (event.getSelectionProvider() != getTreeViewer())
-      {
-        getTreeViewer().setSelection(event.getSelection(), true);
-      }
-    }
-  }
-  class TreeSelectionChangeListener implements ISelectionChangedListener
-  {
-    public void selectionChanged(SelectionChangedEvent event)
-    {
-      if (selectionManager != null)
-      {
-        ISelection selection = event.getSelection();
-        if (selection instanceof IStructuredSelection)
-        {
-          IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-          Object o = structuredSelection.getFirstElement();
-          // TODO ...
-          // we need to implement a selectionManagerMapping extension point
-          // so that extensions can specify how they'd like to map view objects
-          // to selection objects
-          //                                        
-          if (o instanceof Element)
-          {
-            try
-            {
-              Object modelObject = xsdTextEditor.getXSDSchema().getCorrespondingComponent((Element) o);
-              if (modelObject != null)
-              {
-                o = modelObject;
-              }
-            }
-            catch (Exception e)
-            {
-            }
-          }
-          else if (o instanceof CategoryAdapter)
-          {
-            // todo... we need to ensure we eliminate the propagation 
-            // of 'view' specific objects into the SelectionManager.                     
-            // We need to do some work to ensure all views utilize the 'Category' model object  
-            // so we can get rid of this CategoryAdapter class.
-//             CategoryAdapter adapter = (CategoryAdapter) o;
-//             o = adapter.getXSDSchema();
-          }
-          if (o != null)
-          {
-            selectionManager.setSelection(new StructuredSelection(o), getTreeViewer());
-//          selectionManager.selectionChanged(new SelectionChangedEvent(getTreeViewer(),new StructuredSelection(o)));
-          }
-          else
-          {
-            //            selectionManager.setSelection(new StructuredSelection(),
-            // getTreeViewer());
-          }
-        }
-      }
-    }
-  }
-  FilterAction referenceAction, inheritedAction;
-
-  public void setActionBars(IActionBars actionBars)
-  {
-    super.setActionBars(actionBars);
-    // Uncomment to add sort action
-    //    SortAction sortAction = new SortAction();
-    //
-    //    actionBars.getToolBarManager().add(sortAction);
-    //    sortAction.setChecked(false);
-    referenceAction = new FilterAction(new ReferenceFilter("Reference Content"), XSDEditorPlugin.getXSDString("_UI_OUTLINE_SHOW_REFERENCES"), ImageDescriptor.createFromFile(XSDEditorPlugin
-        .getPlugin().getClass(), "icons/XSDElementRef.gif"));
-    boolean initialRef = xsdTextEditor.getXSDModelAdapterFactory().getShowReferences();
-    referenceAction.setChecked(initialRef);
-    inheritedAction = new FilterAction(new ReferenceFilter("Inherited Content"), XSDEditorPlugin.getXSDString("_UI_OUTLINE_SHOW_INHERITED"), ImageDescriptor.createFromFile(XSDEditorPlugin.getPlugin()
-        .getClass(), "icons/XSDComplexContent.gif"));
-    boolean initialInherited = xsdTextEditor.getXSDModelAdapterFactory().getShowReferences();
-    IMenuManager menu = actionBars.getMenuManager();
-    menu.add(referenceAction);
-    menu.add(inheritedAction);
-  }
-
-  private void updateActions(Action current)
-  {
-    if (referenceAction.isChecked())
-    {
-      xsdTextEditor.getXSDModelAdapterFactory().setShowReferences(true);
-    }
-    else
-    {
-      xsdTextEditor.getXSDModelAdapterFactory().setShowReferences(false);
-    }
-    if (inheritedAction.isChecked())
-    {
-      xsdTextEditor.getXSDModelAdapterFactory().setShowInherited(true);
-    }
-    else
-    {
-      xsdTextEditor.getXSDModelAdapterFactory().setShowInherited(false);
-    }
-  }
-  private Sorter sorter = new Sorter();
-  public class Sorter extends org.eclipse.jface.viewers.ViewerSorter
-  {
-  }
-  public class SortAction extends Action
-  {
-    public SortAction()
-    {
-      super("Sort", ImageDescriptor.createFromFile(XSDEditorPlugin.getPlugin().getClass(), "icons/sort.gif"));
-    }
-
-    public void run()
-    {
-      getTreeViewer().getControl().setVisible(false);
-      Object[] expandedElements = getTreeViewer().getExpandedElements();
-      getTreeViewer().setSorter(isChecked() ? sorter : null);
-      Object input = getTreeViewer().getInput();
-      getTreeViewer().setInput(input);
-      getTreeViewer().setExpandedElements(expandedElements);
-      getTreeViewer().getControl().setVisible(true);
-    }
-
-    public void setChecked(boolean checked)
-    {
-      super.setChecked(checked);
-      setToolTipText(checked ? XSDEditorPlugin.getXSDString("_UI_OUTLINE_DO_NOT_SORT") : XSDEditorPlugin.getXSDString("_UI_OUTLINE_SORT"));
-    }
-  }
-  public class FilterAction extends Action
-  {
-    ViewerFilter filter;
-
-    public FilterAction(ViewerFilter filter, String label, ImageDescriptor image)
-    {
-      super(label, image);
-      this.filter = filter;
-      setChecked(false);
-    }
-
-    public void run()
-    {
-      updateActions(this);
-      if (isChecked())
-      {
-        getTreeViewer().resetFilters();
-        getTreeViewer().addFilter(filter);
-      }
-      else
-      {
-        getTreeViewer().removeFilter(filter);
-      }
-    }
-  }
-  class ReferenceFilter extends ViewerFilter // Dummy filter
-  {
-    public ReferenceFilter(String elementTag)
-    {
-      this.elementTag = elementTag;
-    }
-    protected String elementTag;
-
-    public boolean select(Viewer viewer, Object parentElement, Object element)
-    {
-      return true;
-    }
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
deleted file mode 100644
index 2235ff5..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
+++ /dev/null
@@ -1,1148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-import java.util.ArrayList;
-import java.util.EventObject;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandStackListener;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-//import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.editors.text.JavaFileEditorInput;
-import org.eclipse.ui.views.properties.PropertySheet;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertySheetPageContributor;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.internal.document.XMLModelImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphViewer;
-import org.eclipse.wst.xsd.ui.internal.util.OpenOnSelectionHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDPackage;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.impl.XSDSchemaImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-
-// public class XSDEditor extends StructuredTextMultiPageEditorPart
-public class XSDEditor extends XSDMultiPageEditorPart implements ITabbedPropertySheetPageContributor
-{
-  protected XSDTextEditor textEditor;
-  IFile resourceFile;
-  XSDSelectionManager xsdSelectionManager;
-
-  private IStructuredModel result;
-  private XMLModelImpl model;
-
-  public XSDEditor()
-  {
-    super();
-    xsdSelectionManager = new XSDSelectionManager();
-  }
-
-  InternalPartListener partListener = new InternalPartListener(this);
-  
-  // show outline view - defect 266116
-  public void init(IEditorSite site, IEditorInput editorInput) throws PartInitException
-  {
-    super.init(site, editorInput);
-    
-    IWorkbenchWindow dw=PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-    IWorkbenchPage page=dw.getActivePage();
-    getSite().getPage().addPartListener(partListener);
-    try
-    {
-      if (page != null)
-      {
-//      page.showView("org.eclipse.ui.views.ContentOutline");
-        page.showView("org.eclipse.ui.views.PropertySheet");
-      }
-    } catch (PartInitException e) 
-    {
-//       e.printStackTrace();
-    }      
-   }
-  
-  // For team support
-  //  protected PropertyDirtyChangeListener propertyChangeListener;
-
-  /**
-   * Creates the pages of this multi-page editor.
-   * <p>
-   * Subclasses of <code>MultiPageEditor</code> must implement this method.
-   * </p>
-   */
-  protected void createPages()
-  {
-    try
-    {
-      if (!loadFile())
-        return;
-
-      // source page MUST be created before design page, now
-      createSourcePage();
-
-      addSourcePage();
-      buildXSDModel();
-
-      // comment this line out to hide the graph page 
-      // 
-      createAndAddGraphPage();
-
-      int pageIndexToShow = getDefaultPageTypeIndex();
-      setActivePage(pageIndexToShow);
-      
-      addCommandStackListener();
-      
-      XSDEditorPlugin.getPlugin().getPreferenceStore().addPropertyChangeListener(preferenceStoreListener);
-    }
-    catch (PartInitException exception)
-    {
-      throw new SourceEditingRuntimeException(SSECorePlugin.getResourceString("An_error_has_occurred_when1_ERROR_")); //$NON-NLS-1$ = "An error has occurred when initializing the input for the the editor's source page."
-    }
-  }
-
-  public String[] getPropertyCategories()
-  {
-    return new String[] { "general", "namespace", "other", "attributes", "documentation", "facets" }; //$NON-NLS-1$
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySheetPageContributor#getContributorId()
-	 */ 
-  public String getContributorId()
-	{
-    return "org.eclipse.wst.xsd.ui.internal.XSDEditor";
-    //return getSite().getId();
-  }
-
-  protected CommandStackListener commandStackListener;
-  protected void addCommandStackListener()
-  {
-    if (commandStackListener == null)
-    {
-      IStructuredTextUndoManager undoManager = getModel().getUndoManager();
-        commandStackListener = new CommandStackListener()
-        {
-          /**
-           * @see org.eclipse.emf.common.command.CommandStackListener#commandStackChanged(EventObject)
-           */
-          public void commandStackChanged(EventObject event)
-          {
-            Object obj = event.getSource();
-            if (obj instanceof BasicCommandStack)
-            {
-              BasicCommandStack stack = (BasicCommandStack) obj;
-              Command recentCommand = stack.getMostRecentCommand();
-              Command redoCommand = stack.getRedoCommand();
-              Command undoCommand = stack.getUndoCommand();
-              if (recentCommand == redoCommand)
-              {
-                // there must have been an undo reset info tasks 
-                resetInformationTasks();
-              }
-            }
-          }
-        };
-
-//TODO WTP Port        undoManager.getCommandStack().addCommandStackListener(commandStackListener);
-      
-    }
-  } 
-
-  protected void pageChange(int arg)
-  {
-    super.pageChange(arg);
-  }
-
-  protected void removeCommandStackListener()
-  {
-    if (commandStackListener != null)
-    {
-      IStructuredTextUndoManager undoManager = getModel().getUndoManager();
-//TODO WTP Port      undoManager.getCommandStack().removeCommandStackListener(commandStackListener);
-    }
-  }
-
-  // This is from the IValidateEditEditor interface
-/*  public void undoChange()
-  {
-    StructuredTextUndoManager undoManager = textEditor.getModel().getUndoManager();   
-    undoManager.undo();
-    // Make the editor clean
-    textEditor.getModel().setDirtyState(false);
-  } */
-
-  private class PreferenceStoreListener implements IPropertyChangeListener
-  {
-    /**
-     * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent event)
-    {
-    }
-  }
-
-  protected IPropertyChangeListener preferenceStoreListener = new PreferenceStoreListener();
-
-  protected int getDefaultPageTypeIndex()
-  {
-    int pageIndex = sourcePageIndex;
-    
-    if (XSDEditorPlugin.getPlugin().getDefaultPage().equals(XSDEditorPlugin.GRAPH_PAGE))
-    {
-      if (graphPageIndex != -1)
-        pageIndex = graphPageIndex;
-    }
-    
-    return pageIndex;
-  }
-      
-	int currentPage = -1;      
-	public String getCurrentPageType()
-	{
-		// should update pref. for valid pages
-		if (getActivePage() != -1)
-		{
-			currentPage = getActivePage();
-		}
-		if (currentPage == graphPageIndex)
-		{
-			return XSDEditorPlugin.GRAPH_PAGE;
-		}
-		else
-		{
-			return XSDEditorPlugin.SOURCE_PAGE;
-    }
-	}
-	
-	public Object getActivePart()
-  {
-		return getSite().getWorkbenchWindow().getActivePage().getActivePart();	
-	}
-
-  public void dispose()
-  {
-//    propertyChangeListener.dispose();
-    removeCommandStackListener();
-    
-    XSDEditorPlugin.getPlugin().setDefaultPage(getCurrentPageType());
-    XSDEditorPlugin.getPlugin().getPreferenceStore().removePropertyChangeListener(preferenceStoreListener);
-    
-    getSite().getPage().removePartListener(partListener);
-
-    super.dispose();
-  }
-
-  protected boolean loadFile()
-  {
-    Object input = getEditorInput();
-
-    if (input instanceof IFileEditorInput)
-    {
-      resourceFile = ((IFileEditorInput) input).getFile();
-    }
-    else if (input instanceof JavaFileEditorInput)
-    {
-      IPath path = ((JavaFileEditorInput)input).getPath(input);
-      String ext = path.getFileExtension();
-      if (ext != null && ext.equals("xsd"))
-      {
-        return true;
-      }
-      return false;
-    }
-    else
-    {
-//      XSDEditorPlugin.getPlugin().getMsgLogger().write("###Error...XSDEditor::createPages() .. Can't find input..Exiting..");
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method openOnGlobalReference.
-   * The comp argument is a resolved xsd schema object from another file.  This is created and called from another
-   * schema model to allow F3 navigation to open a new editor and choose the referenced object within that editor context
-   * @param comp
-   */
-  public void openOnGlobalReference(XSDConcreteComponent comp)
-  {
-    openOnSelectionHelper.openOnGlobalReference(comp);
-  }
-  
-  protected OpenOnSelectionHelper openOnSelectionHelper;
-
-  public OpenOnSelectionHelper getOpenOnSelectionHelper()
-  {
-    return openOnSelectionHelper;
-  }
-  
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.XSDMultiPageEditorPart#createTextEditor()
-   */
-  protected StructuredTextEditor createTextEditor()
-  {
-    return new XSDTextEditor(this);
-  }
-
-  /*
-   * @see StructuredTextMultiPageEditorPart#createSourcePage()
-   */
-  protected void createSourcePage() throws PartInitException
-  {
-    super.createSourcePage();
-    
-    textEditor = (XSDTextEditor) getTextEditor();
-
-		openOnSelectionHelper = new OpenOnSelectionHelper(textEditor);
-  }
- 
-  int sourcePageIndex = -1;
-  /**
-   * Adds the source page of the multi-page editor.
-   */
-  protected void addSourcePage() throws PartInitException {
-  
-    sourcePageIndex = addPage(textEditor, getEditorInput());
-    setPageText(sourcePageIndex, XSDEditorPlugin.getXSDString("_UI_TAB_SOURCE"));
-
-    // defect 223043 ... do textEditor.setModel() here instead of in createSourcePage()
-		// the update's critical, to get viewer selection manager and highlighting to work
-    IEditorInput editorInput = getEditorInput();
-    if (editorInput instanceof IFileEditorInput)
-    {
-      textEditor.setModel((IFileEditorInput)getEditorInput());
-    }
-    else
-    {
-//      textEditor.setModel(editorInput);
-    }
-    textEditor.update();
-		firePropertyChange(PROP_TITLE);
-  }                       
-
-  int graphPageIndex = -1;            
-  XSDGraphViewer graphViewer;
-
-  /**
-   * Creates the graph page and adds it to the multi-page editor.
-   */
-  protected void createAndAddGraphPage() throws PartInitException 
-  {                         
-    graphViewer = new XSDGraphViewer(this);                              
-    graphViewer.setSchema(xsdSchema);
-    Control graphControl = graphViewer.createControl(getContainer());
-    graphPageIndex = addPage(graphControl);
-    setPageText(graphPageIndex, XSDEditorPlugin.getXSDString("_UI_TAB_GRAPH"));
-
-    // graphViewer.setViewerSelectionManager(textEditor.getViewerSelectionManager());    
-    graphViewer.setSelectionManager(getSelectionManager());
-    
-    // this forces the editor to initially select the top level schema object
-    //
-    getSelectionManager().setSelection(new StructuredSelection(textEditor.getXSDSchema()));    
-  }
-
-  /*
-   * @see IAdaptable#getAdapter(Class)
-   */
-  public Object getAdapter(Class key)
-  {
-    Object result = null;
-    if (key == ISelectionProvider.class)
-    {
-      result = xsdSelectionManager;
-    }
-    else 
-    {
-      result = textEditor.getAdapter(key);
-    }
-    return result;
-  }
-
-  public XSDSelectionManager getSelectionManager()
-  {
-    return xsdSelectionManager;
-  }
- 
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.XSDMultiPageEditorPart#doSaveAs()
-   */
-  public void doSaveAs()
-  {
-    super.doSaveAs();
-  }
-
-  public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
-  {
-    super.doSave(monitor);
-  }
-
-  protected XSDSchema xsdSchema;
-  protected ResourceSet resourceSet;
-
-  public void reparseSchema()
-  {
-    Document document  = ((XMLModel)getModel()).getDocument();
-    createSchema(document.getDocumentElement());
-  }
-  
-  public XSDSchema createSchema(Node node)
-  {
-    try
-    {
-      EPackage.Registry reg = EPackage.Registry.INSTANCE; 
-      XSDPackage xsdPackage = (XSDPackage)reg.getEPackage(XSDPackage.eNS_URI);
-      xsdSchema = xsdPackage.getXSDFactory().createXSDSchema();
-      
-      // Force the loading of the "meta" schema for schema instance instance.
-      //
-      String schemaForSchemaNamespace = node.getNamespaceURI();
-      XSDSchemaImpl.getSchemaForSchema(schemaForSchemaNamespace);
-
-      resourceSet = XSDSchemaImpl.createResourceSet();
-      resourceSet.setURIConverter(new XSDURIConverter(resourceFile));
-
-      String pathName = "";
-      // If the resource is in the workspace....
-      // otherwise the user is trying to open an external file
-      if (resourceFile != null)
-      {
-        pathName = resourceFile.getFullPath().toString();
-        Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(pathName), true);
-//      resource.getContents().add(xsdSchema);
-        resourceSet.getResources().add(resource);
-      
-        Object obj = resource.getContents().get(0);
-        if (obj instanceof XSDSchema)
-        {
-          xsdSchema = (XSDSchema)obj;
-        }
-
-//      URIConverter uriConverter = resourceSet.getURIConverter();
-//      resourceSet.setURIConverter(new XSDURIConverter(resourceFile));
- 
-        xsdSchema.setElement((Element)node);
-        resource.setModified(false);
-      }
-      else
-      {
-        xsdSchema.setElement((Element)node);
-      }
-    }
-    catch (StackOverflowError e)
-    {
-//      XSDEditorPlugin.getPlugin().getMsgLogger().write("Stack overflow encountered.  Possibly an invalid recursive circular schema");
-    }
-    catch (Exception ex)
-    {
-//      ex.printStackTrace();
-    }
-    
-    return xsdSchema;
-  }
-
-  class XSDDocumentAdapter extends DocumentAdapter
-  {
-  	INodeNotifier currentNotifier;
-  	int currentEventType;
-  	
-		public XSDDocumentAdapter(Document document)
-		{
-			super(document);
-		}
-
-		boolean handlingNotifyChanged = false;
-
-		public void notifyChanged(INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index)
-		{
-			if (eventType == INodeNotifier.REMOVE) // don't handle remove events
-			{
-				return;
-			}
-
-			if (!handlingNotifyChanged)
-			{
-				handlingNotifyChanged = true;
-				try
-				{
-					// delay handle events only in the source view
-					if (getCurrentPageType() == XSDEditorPlugin.SOURCE_PAGE &&
-							!(getActivePart() instanceof PropertySheet) && 
-							!(getActivePart() instanceof org.eclipse.ui.views.contentoutline.ContentOutline)) {
-						startDelayedEvent(notifier, eventType, feature, oldValue, newValue, index);
-				    //handleNotifyChange(notifier, eventType, feature, oldValue, newValue, index);
-					}
-					else // all other views, just handle the events right away
-					{
-						handleNotifyChange(notifier, eventType, feature, oldValue, newValue, index);
-					}
-				}
-				catch (Exception e)
-				{
-//					XSDEditorPlugin.getPlugin().getMsgLogger().write(e);
-				}
-				handlingNotifyChanged = false;
-			}
-		}
-
-		public void handleNotifyChange(INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index)
-		{
-//			System.out.println(eventType + " : HandleNotifyChange " + notifier.hashCode() + " notifier " + notifier);
-			switch (eventType)
-			{
-				case INodeNotifier.ADD:
-				{
-					if (newValue instanceof Element)
-					{
-						adapt((Element)newValue);
-//	Add			updateParentForDerivation(node, listener);
-					}
-					break;
-				}
-				case INodeNotifier.CHANGE:
-				{
-					Node node = (Node)notifier;
-			    XSDConcreteComponent listener = xsdSchema.getCorrespondingComponent(node);
-  		    listener.elementAttributesChanged((Element)node);
-    	    listener.elementChanged((Element)node);
-    	    break;
-				}
-				case INodeNotifier.STRUCTURE_CHANGED:
-				case INodeNotifier.CONTENT_CHANGED:
-				{
-					Node node = (Node)notifier;
-					XSDConcreteComponent listener = xsdSchema.getCorrespondingComponent(node);
-					if (node.getNodeType() == Node.ELEMENT_NODE)
-					{
-						listener.elementContentsChanged((Element)node);
-						break;
-					}
-					else if (node.getNodeType() == Node.DOCUMENT_NODE)
-					{
-						Element docElement = ((Document)node).getDocumentElement();
-						// Need to add check if doc element is being edited in the source
-						if (docElement != null)
-					  {
-						  String prefix = docElement.getPrefix();
-						  String xmlnsString = prefix == null? "xmlns" : "xmlns:" + prefix;
-						  Attr attr = docElement.getAttributeNode(xmlnsString);
-						  boolean doParse = false;
-						  if (attr != null)
-						  {
-						    if (attr.getValue().equals("http://www.w3.org/2001/XMLSchema") && docElement.getLocalName().equals("schema"))
-						    {
-						      // We have a viable schema so parse it
-						      doParse = true;
-						    }
-						  }
-						  
-							if (doParse)
-							{
-					      adapt(docElement);
- 						    xsdSchema.setElement(docElement);
-							}
-					  }
-					}
-					break;
-				}
-			}
-		}
-
-		protected DelayedEvent delayedTask;
-		protected void startDelayedEvent(INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index)
-		{
-//			System.out.println("start delayed event");
-      // check if there is already a delayed task for the same notifier and eventType
-//			if (delayedTask != null)
-//			{
-//  			Notifier aNotifier = delayedTask.getNotifier();
-//	  		int anEventType = delayedTask.getEventType();
-//  			if (notifier == aNotifier && anEventType == eventType)
-//			  {
-//				  // same event, just different data, delay new event
-//				  delayedTask.setCancel(true);
-//			  }
-//			}
-
-			delayedTask = new DelayedEvent();
-
-			delayedTask.setNotifier(notifier);
-			delayedTask.setEventType(eventType);
-			delayedTask.setFeature(feature);
-			delayedTask.setOldValue(oldValue);
-			delayedTask.setNewValue(newValue);
-			delayedTask.setIndex(index);
-
-			Display.getDefault().timerExec(400,delayedTask);
-		}
-
-		class DelayedEvent implements Runnable
-		{
-		  INodeNotifier notifier;
-			int eventType;
-			Object feature;
-			Object oldValue;
-			Object newValue;
-			int index;
-			boolean cancelEvent = false;
-
-			/*
-			 * @see Runnable#run()
-			 */
-			public void run()
-			{
-				if (!cancelEvent)
-				{
-				  handleNotifyChange(notifier, eventType, feature, oldValue, newValue, index);
-				  if (delayedTask == this)
-				  {
-				  	delayedTask = null;
-				  }
-				}
-			}
-			
-			public void setCancel(boolean flag)
-			{
-				cancelEvent = flag;
-			}
-
-			public void setNotifier(INodeNotifier notifier)
-			{
-				this.notifier = notifier;
-			}
-		
-			public void setEventType(int eventType)
-			{
-				this.eventType = eventType;
-			}
-
-			public void setFeature(Object feature)
-			{
-				this.feature = feature;
-			}
-
-			public void setOldValue(Object oldValue)
-			{
-				this.oldValue = oldValue;			
-			}
-
-			public void setNewValue(Object newValue)
-			{
-				this.newValue = newValue;
-			}
-
-			public void setIndex(int index)
-			{
-				this.index = index;			
-			}
-
-			public INodeNotifier getNotifier()
-			{
-				return notifier;
-			}
-
-			public int getEventType()
-			{
-				return eventType;
-			}
-
-			public Object getNewValue()
-			{
-				return newValue;
-			}
-
-			public Object getOldValue()
-			{
-				return oldValue;
-			}
-
-		}
-  }
-
-  abstract class DocumentAdapter implements INodeAdapter
-  {
-    public DocumentAdapter(Document document)
-    {
-      ((INodeNotifier)document).addAdapter(this);
-      adapt(document.getDocumentElement());
-    }
-
-    public void adapt(Element element)
-    {
-      if (((INodeNotifier)element).getExistingAdapter(this) == null)
-      {
-
-        ((INodeNotifier)element).addAdapter(this);
-
-        for (Node child = element.getFirstChild(); child != null; child = child.getNextSibling())
-        {
-          if (child.getNodeType() == Node.ELEMENT_NODE)
-          {
-            adapt((Element)child);
-          }
-        }
-      }
-    }
-
-    public boolean isAdapterForType(Object type)
-    {
-      return type == this;
-    }
-
-    abstract public void notifyChanged
-      (INodeNotifier notifier, int eventType, Object feature, Object oldValue, Object newValue, int index);
-  }
-
-
-  /**
-   * Method createDefaultSchemaNode.  Should only be called to insert a schema node into an empty document
-   */
-  public void createDefaultSchemaNode()
-  {
-    Document document  = ((XMLModel)getModel()).getDocument();
-    if (document.getChildNodes().getLength() == 0)
-    {
-      // if it is a completely empty file, then add the encoding and version processing instruction
-//TODO  String encoding = EncodingHelper.getDefaultEncodingTag();
-      String encoding = "UTF-8";
-      ProcessingInstruction instr = document.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"" + encoding + "\"");
-      document.appendChild(instr);
-    }
-
-    // Create a default schema tag now
-
-    // String defaultPrefixForTargetNamespace = getFileResource().getProjectRelativePath().removeFileExtension().lastSegment();
-    String defaultPrefixForTargetNamespace = "tns";
-    String prefixForSchemaNamespace = "";
-    String schemaNamespaceAttribute = "xmlns";
-    if (XSDEditorPlugin.getPlugin().isQualifyXMLSchemaLanguage())
-    {
-      // Added this if check before disallowing blank prefixes in the preferences...
-      // Can take this out.  See also NewXSDWizard
-      if (XSDEditorPlugin.getPlugin().getXMLSchemaPrefix().trim().length() > 0)
-      {
-        prefixForSchemaNamespace = XSDEditorPlugin.getPlugin().getXMLSchemaPrefix() + ":";
-        schemaNamespaceAttribute += ":" + XSDEditorPlugin.getPlugin().getXMLSchemaPrefix();
-      }
-    }
-    
-    document.appendChild(document.createTextNode("\n"));
-    Element element = document.createElement(prefixForSchemaNamespace + XSDConstants.SCHEMA_ELEMENT_TAG);
-    
-    element.setAttribute(schemaNamespaceAttribute,"http://www.w3.org/2001/XMLSchema");
-    
-    String defaultTargetURI = XSDEditorPlugin.getPlugin().getXMLSchemaTargetNamespace();
-    element.setAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE, defaultTargetURI);
-    element.setAttribute("xmlns:" + defaultPrefixForTargetNamespace, defaultTargetURI);
-    
-    document.appendChild(element);
-  }
-  
-  public void buildXSDModel()
-  {
-    try
-    {
-      Document document  = ((XMLModel)getModel()).getDocument();
-      if (document.getChildNodes().getLength() == 0)
-      {
-        // this is an empty document.  Create a default schema tag now
-        createDefaultSchemaNode();
-      }
-
-      createSchema(document.getDocumentElement());
-
-			XSDDocumentAdapter documentAdapter =
-				new XSDDocumentAdapter(((XMLModel)getModel()).getDocument());
-    }
-    catch (Exception e)
-    {
-//      XSDEditorPlugin.getPlugin().getMsgLogger().write("Failed to create Model");
-//      XSDEditorPlugin.getPlugin().getMsgLogger().write(e);
-//      e.printStackTrace();
-    }
-
-
-
-//      XSDResourceFactoryImpl.validate(xsdSchema, input.getFile().getContents(true));
-  }
-
-//  private void updateParentForDerivation(Node node, XSDConcreteComponent correspondingComponent)
-//  {
-//    if (XSDDOMHelper.inputEquals(node, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false)||
-//        XSDDOMHelper.inputEquals(node,XSDConstants.COMPLEXCONTENT_ELEMENT_TAG,false))
-//    {
-//      XSDComplexTypeDefinition xsdComplexTypeDefinition =
-//        correspondingComponent.getContainer() instanceof XSDComplexTypeDefinition ? 
-//          (XSDComplexTypeDefinition)correspondingComponent.getContainer() :
-//          null;
-//      if (xsdComplexTypeDefinition != null)
-//      {
-//        xsdComplexTypeDefinition.elementContentsChanged(xsdComplexTypeDefinition.getElement());
-//      }
-//    }
-//  }    
-
-//  private void checkUnion(Node node, XSDConcreteComponent correspondingComponent, int i)
-//  {
-//    // bug 219967 - union changes to restriction
-//    if (XSDDOMHelper.inputEquals(node, XSDConstants.UNION_ELEMENT_TAG, false))
-//    {
-////      XSDConcreteComponent comp = correspondingComponent.getContainer();
-////      if (comp != null)
-////      {
-////        switch (i)
-////        {
-////          case 1:
-////            comp.elementAttributesChanged((Element)node);
-////            break;
-////          case 4:
-////            comp.elementContentsChanged((Element)node);
-////            break;
-////        }
-////      }
-//    }
-//    else
-//    {
-//      switch (i)
-//      {
-//        case 1:
-//        case 4:
-//          // do both types of updates since sometimes the attributes have changed indirectly
-//          // because the content has changed
-//          correspondingComponent.elementAttributesChanged((Element)node);
-//          correspondingComponent.elementContentsChanged((Element)node);
-//          break;
-//      }
-//    }
-//  }
-  
-//  private void updateMap(XSDConcreteComponent listener, Element documentElement)
-//  {
-//    boolean handleChangeInSchema = false;
-//    if (listener instanceof XSDSchema)
-//    {
-//      if (!handleChangeInSchema)
-//      {
-//        handleChangeInSchema = true;
-//        XSDSchema xsdSchema = (XSDSchema)listener;
-//        java.util.Map prefixToNameSpaceMap = xsdSchema.getQNamePrefixToNamespaceMap();
-//        String targetNamespace = xsdSchema.getTargetNamespace();
-////        System.out.println("targetNamespace = " + targetNamespace);
-//
-//        NamedNodeMap attributes = documentElement.getAttributes();
-//        int length = attributes.getLength();
-//        
-//        ArrayList keyList = new ArrayList();
-//        keyList.addAll(prefixToNameSpaceMap.keySet());
-//        
-//        String key;
-//
-//
-//        // update the map when the prefix is changed
-//        CHECK: for (int i = 0; i < length; i++)
-//        {
-//          Attr attr = (Attr)attributes.item(i);
-//          String name = attr.getNodeName();
-//          
-//          if (isValidXMLNSAttribute(name))
-////          if (name.startsWith("xmlns"))
-//          {
-//            String value = attr.getNodeValue();
-//            if (value == null)
-//            {
-//              break CHECK;
-//            }
-//            int index = name.indexOf(":");
-//            key  = index == -1 ? null : name.substring(index + 1);
-////            System.out.println(" Attribute key is " + key + " , value = " + value);
-////            System.out.println("   map.get(key) = " + prefixToNameSpaceMap.get(key));
-//            if (!prefixToNameSpaceMap.containsKey(key))
-//            {
-//              for (Iterator iter = keyList.iterator(); iter.hasNext(); )
-//              {
-//                String aPrefix = (String)iter.next();
-////                System.out.println("    --> A Map Prefix is " + aPrefix);
-////                System.out.println("    --> model map.get(prefix) " + prefixToNameSpaceMap.get(aPrefix));
-//                if (prefixToNameSpaceMap.get(aPrefix) != null)
-//                {
-//                  if (prefixToNameSpaceMap.get(aPrefix).equals(value))
-//                  {
-//                    prefixToNameSpaceMap.remove(aPrefix);
-//                  }
-//                }
-//              }
-//            }
-//            else if (prefixToNameSpaceMap.containsKey(key))
-//            {
-//              if (prefixToNameSpaceMap.get(key) != null)
-//              {
-//                if (!prefixToNameSpaceMap.get(key).equals(value))
-//                {
-//                  Set entrySet = prefixToNameSpaceMap.entrySet();
-//                  for (Iterator iter = entrySet.iterator(); iter.hasNext(); )
-//                  {
-//                    Map.Entry aMapEntry = (Map.Entry)iter.next();
-//                    if (  (key != null && (aMapEntry.getKey() != null && aMapEntry.getKey().equals(key)))
-//                           || (key == null && (aMapEntry.getKey() == null)))
-//                    {
-//                      aMapEntry.setValue(value);
-//                    }
-//                  }
-//                }
-//              }
-//              else
-//              {
-//                Set entrySet = prefixToNameSpaceMap.entrySet();
-//                for (Iterator iter = entrySet.iterator(); iter.hasNext(); )
-//                {
-//                  Map.Entry aMapEntry = (Map.Entry)iter.next();
-//                  if (  (key != null && (aMapEntry.getKey() != null && aMapEntry.getKey().equals(key)))
-//                         || (key == null && (aMapEntry.getKey() == null)))
-//                  {
-//                    aMapEntry.setValue(value);
-//                  }
-//                }
-//              }
-//            }
-//          }
-//        }
-//        
-//        boolean modelMapPrefixFound = false;
-//        for (Iterator iter = keyList.iterator(); iter.hasNext(); )
-//        {
-//          String aPrefix = (String)iter.next();
-//          modelMapPrefixFound = false;
-//          attributes = documentElement.getAttributes();
-//          length = attributes.getLength();
-//
-//          for (int i = 0; i < length; i++)
-//          {
-//            Attr attr = (Attr)attributes.item(i);
-//            if (attr != null)
-//            {
-//              String name = attr.getNodeName();
-//            
-//              // if (name.startsWith("xmlns"))
-//              if (isValidXMLNSAttribute(name))
-//              {
-//                String value = attr.getNodeValue();
-//                int index = name.indexOf(":");
-//                key  = index == -1 ? null : name.substring(index + 1);
-//                if (aPrefix == null && key == null)
-//                {
-//                  modelMapPrefixFound = true;
-//                }
-//                else if (aPrefix != null && (aPrefix.equals(key)))
-//                {
-//                  modelMapPrefixFound = true;
-//                  if ((prefixToNameSpaceMap.get(key) != null && !prefixToNameSpaceMap.get(key).equals(value))
-//                       || (prefixToNameSpaceMap.get(key) == null && value != null))
-//                  {
-//                    if (value != null && value.length() > 0)
-//                    {
-//                      prefixToNameSpaceMap.put(aPrefix, value);
-//                    }
-//                  }
-//                }
-//                else if (key != null && (key.equals(aPrefix)))
-//                {
-//                  modelMapPrefixFound = true;
-//                }
-//              }
-//            }
-//          }
-//          if (!modelMapPrefixFound)
-//          {
-//            prefixToNameSpaceMap.remove(aPrefix);
-//          }
-//        }
-//       
-//        // to ensure map is recreated
-////        XSDSchemaHelper.updateElement(xsdSchema);        
-////        reparseSchema();
-//
-//        handleChangeInSchema = false;
-//
-////        System.out.println("XSDeditor Map is " + prefixToNameSpaceMap.values());
-////        System.out.println("XSDeditor Map keys are " + prefixToNameSpaceMap.keySet());
-//        
-//      }
-//    }
-//  }
-
-  /**
-   * Returns the xsdSchema.
-   * @return XSDSchema
-   */
-  public XSDSchema getXSDSchema()
-  {
-    return xsdSchema;
-  }
-
-
-  /**
-   * Returns the resourceFile.
-   * @return IFile
-   */
-  public IFile getFileResource()
-  {
-    return resourceFile;
-  }
-
-  /**
-   * Get the IDocument from the text viewer
-   */
-  public IDocument getEditorIDocument()
-  {
-    IDocument document = textEditor.getTextViewer().getDocument();
-    return document;
-  }
-
-  /**
-   * Create ref integrity tasks in task list
-   */
-  public void createTasksInTaskList(ArrayList messages)
-  {
-//    DisplayErrorInTaskList tasks = new DisplayErrorInTaskList(getEditorIDocument(), getFileResource(), messages);
-//    tasks.run();
-  }
-
-  public void resetInformationTasks()
-  {
-// DisplayErrorInTaskList.removeInfoMarkers(getFileResource());
-  }
-  
-  public XSDGraphViewer getGraphViewer()
-  {
-    return graphViewer;
-  }
-
-//  /**
-//   * @see org.eclipse.ui.part.MultiPageEditorPart#handlePropertyChange(int)
-//   */
-//  protected void handlePropertyChange(int propertyId)
-//  {
-//    super.handlePropertyChange(propertyId);
-//    
-//    if (propertyId == IEditorPart.PROP_INPUT)
-//    {
-//      setInput(textEditor.getEditorInput());
-//      resourceFile = ((IFileEditorInput) getEditorInput()).getFile();
-//      setTitle(resourceFile.getName());
-////      outline.setModel(getModel());
-//
-//      // even though we've set title etc., several times already!
-//      // only now is all prepared for it.
-//      firePropertyChange(IWorkbenchPart.PROP_TITLE);
-//      firePropertyChange(PROP_DIRTY);
-//    }
-//    else if (propertyId == IEditorPart.PROP_TITLE)
-//    {
-//      if (getEditorInput() != textEditor.getEditorInput())
-//      {
-//        setInput(textEditor.getEditorInput());
-//      }
-//    }    
-//  }
-
-  public IEditorPart getActiveEditorPage()
-  {
-    return getActiveEditor();
-  }
-  
-  public XSDTextEditor getXSDTextEditor()
-	{
-    return textEditor;
-  }
-
-	class InternalPartListener implements IPartListener
-	{
-	  XSDEditor editor;
-	  public InternalPartListener(XSDEditor editor)
-	  {
-	    this.editor = editor; 
-	  }
-	  
-		public void partActivated(IWorkbenchPart part)
-		{
-			if (part == editor)
-			{
-        ISelection selection = getSelectionManager().getSelection();
-        if (selection != null)
-        {
-          if (getCurrentPageType().equals(XSDEditorPlugin.GRAPH_PAGE))
-          {
-            getSelectionManager().selectionChanged(new SelectionChangedEvent(editor.getGraphViewer().getComponentViewer(), selection));
-          }
-          else if (getCurrentPageType().equals(XSDEditorPlugin.SOURCE_PAGE))
-          {
-            getSelectionManager().setSelection(selection);
-          }
-        }
-			}
-		}
-
-		public void partBroughtToTop(IWorkbenchPart part)
-		{
-		}
-
-		public void partClosed(IWorkbenchPart part)
-		{
-		}
-
-   
-		public void partDeactivated(IWorkbenchPart part)
-		{
-		}
-
-		public void partOpened(IWorkbenchPart part)
-		{
-		}
-	}
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorAdapter.java
deleted file mode 100644
index 7591376..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorAdapter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IDocument;
-
-public interface XSDEditorAdapter
-{
-  public IFile getFileResource();
-
-  public IDocument getEditorIDocument();
-
-  public void createTasksInTaskList(ArrayList messages);
-
-  public void resetInformationTasks();
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorContextIds.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorContextIds.java
deleted file mode 100644
index 8f95f5c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorContextIds.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-/**
- * Context help id constants.
- */
-public interface XSDEditorContextIds 
-{
-  public static final String PLUGIN_NAME = "org.eclipse.wst.xsd.ui.internal";
-
-  /* CONTEXT_IDs New XSD Wizard uses the WizardNewFileCreationPage from org.eclipse.ui.dialogs */
- 
-  /* CONTEXT_IDs for XSDEditor follow the xsdexxx context IDs */
-
-  /* CONTEXT_ID xsde0010 for XSD Editor Design View */
-  public static final String XSDE_SCHEMA_DESIGN_VIEW      = PLUGIN_NAME + ".xsde0010";
-  /* no CONTEXT_ID for File Name Text Edit (not editable) */
-  /* CONTEXT_ID xsde0020 for Version Text Edit */
-  public static final String XSDE_SCHEMA_VERSION          = PLUGIN_NAME + ".xsde0020";
-  /* CONTEXT_ID xsde0030 for Language Text Edit */
-  public static final String XSDE_SCHEMA_LANGUAGE         = PLUGIN_NAME + ".xsde0030";
-  /* CONTEXT_ID xsde0040 for Namespace Group */
-  public static final String XSDE_SCHEMA_NAMESPACE_GROUP  = PLUGIN_NAME + ".xsde0040";
-  /* CONTEXT_ID xsde0050 for Prefix Text Edit */
-  public static final String XSDE_SCHEMA_PREFIX           = PLUGIN_NAME + ".xsde0050";
-  /* CONTEXT_ID xsde0060 for Target namespace Text Edit */
-  public static final String XSDE_SCHEMA_TARGET_NAMESPACE = PLUGIN_NAME + ".xsde0060";
-  /* CONTEXT_ID xsde0070 for Apply Push Button */
-  public static final String XSDE_SCHEMA_APPLY            = PLUGIN_NAME + ".xsde0070";
-  /* CONTEXT_ID xsde0080 for Attribute form default Combo Box */
-  public static final String XSDE_SCHEMA_ATTRIBUTE        = PLUGIN_NAME + ".xsde0080";
-  /* CONTEXT_ID xsde0090 for Element form default Combo Box */
-  public static final String XSDE_SCHEMA_ELEMENT          = PLUGIN_NAME + ".xsde0090";
-  /* CONTEXT_ID xsde0100 for Block default Combo Box */
-  public static final String XSDE_SCHEMA_BLOCK            = PLUGIN_NAME + ".xsde0100";
-  /* CONTEXT_ID xsde0110 for Final Default Combo Box */
-  public static final String XSDE_SCHEMA_FINAL            = PLUGIN_NAME + ".xsde0110";
-
-  
-  /* CONTEXT_ID xsde0200 for Annotations Comment Group - only used generically */
-  /* CONTEXT_ID      - used in Documentation Design View */
-  /* CONTEXT_ID      - used in App Info Design View */
-  public static final String XSDE_ANNOTATION_COMMENT_GROUP = PLUGIN_NAME + ".xsde0200";
-  /* CONTEXT_ID xsde0210 for Annotations Comment Group - only used generically */
-  /* CONTEXT_ID      - used in Documentation Design View */
-  /* CONTEXT_ID      - used in App Info Design View */
-  public static final String XSDE_ANNOTATION_COMMENT       = PLUGIN_NAME + ".xsde0210";
-  
-  /* CONTEXT_ID xsde0300 for Documentation Design View */
-  public static final String XSDE_DOCUMENTATION_DESIGN_VIEW   = PLUGIN_NAME + ".xsde0300";
-  /* CONTEXT_ID xsde0310 for Source Text Edit */
-  public static final String XSDE_DOCUMENTATION_SOURCE        = PLUGIN_NAME + ".xsde0310";
-  /* CONTEXT_ID xsde0320 for Language Text Edit */
-  public static final String XSDE_DOCUMENTATION_LANGUAGE      = PLUGIN_NAME + ".xsde0320";
-  /* CONTEXT_ID Comment Group is from Annotations Window xsde0200 */
-  /* CONTEXT_ID Comment Multi-line Edit is from Annotations Window xsd0210 */
-
-  /* CONTEXT_ID xsde0400 for App Info Design View */
-  public static final String XSDE_APP_INFO_DESIGN_VIEW = PLUGIN_NAME + ".xsde0400";
-  /* CONTEXT_ID xsde0410 for App Info Source Text Edit */
-  public static final String XSDE_APP_INFO_SOURCE = PLUGIN_NAME + ".xsde0410";
-  /* CONTEXT_ID Comment Group is from Annotations Window xsde0200 */
-  /* CONTEXT_ID Comment Multi-line Edit is from Annotations Window xsd0210 */
-
-  /* CONTEXT_ID xsde0500 for Complex Type Design View */
-  public static final String XSDE_COMPLEX_DESIGN_VIEW = PLUGIN_NAME + ".xsde0500";
-  /* CONTEXT_ID xsde0510 for Name Text Edit */
-  public static final String XSDE_COMPLEX_NAME        = PLUGIN_NAME + ".xsde0510";
-  /* CONTEXT_ID xsde0520 for Abstract Combo Box */
-  public static final String XSDE_COMPLEX_ABSTRACT    = PLUGIN_NAME + ".xsde0520";
-  /* CONTEXT_ID xsde0530 for Mixed Combo Box */
-  public static final String XSDE_COMPLEX_MIXED       = PLUGIN_NAME + ".xsde0530";
-  /* CONTEXT_ID xsde0540 for Block Combo Box */
-  public static final String XSDE_COMPLEX_BLOCK       = PLUGIN_NAME + ".xsde0540";
-  /* CONTEXT_ID xsde0550 for Final Combo Box */
-  public static final String XSDE_COMPLEX_FINAL       = PLUGIN_NAME + ".xsde0550";
-
-  /* CONTEXT_ID xsde0600 for Simple Type Design View */
-  public static final String XSDE_SIMPLE_DESIGN_VIEW = PLUGIN_NAME + ".xsde0600";
-  /* CONTEXT_ID xsde0610 for Name Text Edit */
-  public static final String XSDE_SIMPLE_NAME        = PLUGIN_NAME + ".xsde0610";
-
-  /* CONTEXT_ID for Global Element and Element Design Views are the same */
-  /* CONTEXT_ID xsde0700 for Element Design View */
-  public static final String XSDE_ELEMENT_DESIGN_VIEW = PLUGIN_NAME + ".xsde0700";
-  /* CONTEXT_ID xsde0710 for Element Name Text Edit */
-  public static final String XSDE_ELEMENT_NAME         = PLUGIN_NAME + ".xsde0710";
-  /* CONTEXT_ID Type Information Group is from Type Helper xsde0900 */
-  /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
-  /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
-  /* CONTEXT_ID User-defined complex type Radio Button is from Type Helper xsde0940 */
-  /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
-  /* CONTEXT_ID xsde0720 for Abstract Check Box */
-  public static final String XSDE_ELEMENT_ABSTRACT     = PLUGIN_NAME + ".xsde0720";
-  /* CONTEXT_ID xsde0730 for Nillable Check Box */
-  public static final String XSDE_ELEMENT_NILLABLE     = PLUGIN_NAME + ".xsde0730";
-  /* CONTEXT_ID xsde0740 for Value Group */
-  public static final String XSDE_ELEMENT_VALUE        = PLUGIN_NAME + ".xsde0740";
-  /* CONTEXT_ID xsde0750 for Fixed Radio Button */
-  public static final String XSDE_ELEMENT_FIXED        = PLUGIN_NAME + ".xsde0750";
-  /* CONTEXT_ID xsde0760 for Default Radio Button */
-  public static final String XSDE_ELEMENT_DEFAULT      = PLUGIN_NAME + ".xsde0760";
-  /* CONTEXT_ID xsde0770 for Value Group */
-  public static final String XSDE_ELEMENT_VALUE_GROUP  = PLUGIN_NAME + ".xsde0770";
-  /* CONTEXT_ID xsde0780 for Minimum Text Edit */
-  public static final String XSDE_ELEMENT_MINIMUM      = PLUGIN_NAME + ".xsde0780";
-  /* CONTEXT_ID xsde0790 for Maximum Text Edit */
-  public static final String XSDE_ELEMENT_MAXIMUM      = PLUGIN_NAME + ".xsde0790";
-  /* CONTEXT_ID xsde0800 for Block Combo Box */
-  public static final String XSDE_ELEMENT_BLOCK        = PLUGIN_NAME + ".xsde0800";
-  /* CONTEXT_ID xsde0810 for Final Combo Box */
-  public static final String XSDE_ELEMENT_FINAL        = PLUGIN_NAME + ".xsde0810";
-  /* CONTEXT_ID xsde0820 for Substitution Group Combo Box */
-  public static final String XSDE_ELEMENT_SUBSTITUTION = PLUGIN_NAME + ".xsde0820";
-  /* CONTEXT_ID xsde0830 for Form Qualification Combo Box */                    
-  public static final String XSDE_ELEMENT_FORM         = PLUGIN_NAME + ".xsde0830";
-
-  /* CONTEXT_ID xsde0900 for Type Helper Group - only used generically */
-  /* CONTEXT_ID      - used in Global Element Design View */
-  /* CONTEXT_ID      - used in Global Attribute Design View */
-  /* CONTEXT_ID      - used in Simple Content Design View */
-  /* CONTEXT_ID      - used in Restriction Design View */
-  /* CONTEXT_ID      - used in List Design View */
-  /* CONTEXT_ID      - used in Union Design View */
-  public static final String XSDE_TYPE_HELPER_GROUP    = PLUGIN_NAME + ".xsde0900";
-  /* CONTEXT_ID xsde0910 for None Radio Button - only used generically */
-  /* CONTEXT_ID      - used in Simple Content Design View */
-  /* CONTEXT_ID      - used in Restriction Design View */
-  /* CONTEXT_ID      - used in List Design View */
-  /* CONTEXT_ID      - used in Union Design View */
-  public static final String XSDE_TYPE_HELPER_NONE     = PLUGIN_NAME + ".xsde0910";
-  /* CONTEXT_ID xsde0920 for Built-in simple type Radio Button - only used generically */
-  /* CONTEXT_ID      - used in Global Element Design View */
-  /* CONTEXT_ID      - used in Global Attribute Design View */
-  /* CONTEXT_ID      - used in Simple Content Design View */
-  /* CONTEXT_ID      - used in Restriction Design View */
-  /* CONTEXT_ID      - used in List Design View */
-  /* CONTEXT_ID      - used in Union Design View */
-  public static final String XSDE_TYPE_HELPER_BUILT_IN = PLUGIN_NAME + ".xsde0920";
-  /* CONTEXT_ID xsde0930 for User-defined simple type Radio Button - only used generically */
-  /* CONTEXT_ID      - used in Global Element Design View */
-  /* CONTEXT_ID      - used in Global Attribute Design View */
-  /* CONTEXT_ID      - used in Simple Content Design View */
-  /* CONTEXT_ID      - used in Restriction Design View */
-  /* CONTEXT_ID      - used in List Design View */
-  /* CONTEXT_ID      - used in Union Design View */
-  public static final String XSDE_TYPE_HELPER_USER_DEFINED_SIMPLE = PLUGIN_NAME + ".xsde0930";
-  /* CONTEXT_ID xsde0940 for User-defined complex type Radio Button - only used generically */
-  /* CONTEXT_ID      - used in Global Element Design View */
-  public static final String XSDE_TYPE_HELPER_USER_DEFINED_COMPLEX = PLUGIN_NAME + ".xsde0940";
-  /* CONTEXT_ID xsde0950 for Type information Combo Box - only used generically */
-  /* CONTEXT_ID      - used in Global Element Design View */
-  /* CONTEXT_ID      - used in Global Attribute Design View */
-  /* CONTEXT_ID      - used in Simple Content Design View */
-  /* CONTEXT_ID      - used in Restriction Design View */
-  /* CONTEXT_ID      - used in List Design View */
-  public static final String XSDE_TYPE_HELPER_TYPE = PLUGIN_NAME + ".xsde0950";
-
-  /* CONTEXT_ID xsde1000 for Attribute Design View */
-  public static final String XSDE_ATTRIBUTE_DESIGN_VIEW = PLUGIN_NAME + ".xsde1000";
-  /* CONTEXT_ID xsde1010 for Attribute Name Text Edit */
-  public static final String XSDE_ATTRIBUTE_NAME        = PLUGIN_NAME + ".xsde1010";
-  /* CONTEXT_ID Type Information Group is from Type Helper xsde0900 */
-  /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
-  /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
-  /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
-  /* CONTEXT_ID xsde1020 for Value Group */
-  public static final String XSDE_ATTRIBUTE_VALUE_GROUP = PLUGIN_NAME + ".xsde1020";
-  /* CONTEXT_ID xsde1030 for Fixed Radio Button */
-  public static final String XSDE_ATTRIBUTE_FIXED       = PLUGIN_NAME + ".xsde1030";
-  /* CONTEXT_ID xsde1040 for Default Radio Button */
-  public static final String XSDE_ATTRIBUTE_DEFAULT     = PLUGIN_NAME + ".xsde1040";
-  /* CONTEXT_ID xsde1050 for Value Text Edit */
-  public static final String XSDE_ATTRIBUTE_VALUE       = PLUGIN_NAME + ".xsde1050";
-  /* CONTEXT_ID xsde1060 for Usage Combo Box */
-  public static final String XSDE_ATTRIBUTE_USAGE       = PLUGIN_NAME + ".xsde1060";
-  /* CONTEXT_ID xsde1070 for Form qualificaiton Combo Box */
-  public static final String XSDE_ATTRIBUTE_FORM        = PLUGIN_NAME + ".xsde1070";
-
-  /* CONTEXT_ID xsde1100 for Element Ref Window Design View */
-  public static final String XSDE_ELEMENT_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde1100";
-  /* CONTEXT_ID xsde1110 for Reference Name Combo Box */
-  public static final String XSDE_ELEMENT_REF_REFERENCE   = PLUGIN_NAME + ".xsde1110";
-  /* CONTEXT_ID xsde1120 for Minimum Text Edit */
-  public static final String XSDE_ELEMENT_REF_MINIMUM     = PLUGIN_NAME + ".xsde1120";
-  /* CONTEXT_ID xsde1130 for Maximum Text Edit */
-  public static final String XSDE_ELEMENT_REF_MAXIMUM     = PLUGIN_NAME + ".xsde1130";
-  
-  /* CONTEXT_ID xsde1200 for Simple Content Design View - used generically */
-  /* CONTEXT_ID      - used in Simple Content Design View */ 
-  /* CONTEXT_ID      - used in Complex Content Design View */
-    public static final String XSDE_SIMPLE_CONTENT_DESIGN_VIEW = PLUGIN_NAME + ".xsde1200";
-  /* CONTEXT_ID Base Type Group is from Type Helper xsde0900 */
-  /* CONTEXT_ID None Radio Button is from Type Helper xsde0910 */
-  /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
-  /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
-  /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
-  /* CONTEXT_ID xsde1210 for Derived by Combo Box - used generically */
-  /* CONTEXT_ID      - used in Simple Content Design View */ 
-  /* CONTEXT_ID      - used in Complex Content Design View */
-  public static final String XSDE_SIMPLE_CONTENT_DERIVED = PLUGIN_NAME + ".xsde1210";
-
-  /* CONTEXT_ID xsde1300 for Restriction Design View */
-  public static final String XSDE_RESTRICTION_DESIGN_VIEW  = PLUGIN_NAME + ".xsde1300";
-  /* CONTEXT_ID Base Type Group is from Type Helper xsde0900 */
-  /* CONTEXT_ID None Radio Button is from Type Helper xsde0910 */
-  /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
-  /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
-  /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
-  /* CONTEXT_ID xsde1310 for Facets Group */
-  public static final String XSDE_RESTRICTION_FACETS_GROUP = PLUGIN_NAME + ".xsde1310";
-  /* CONTEXT_ID xsde1320 for Facets Table */
-  public static final String XSDE_RESTRICTION_FACETS       = PLUGIN_NAME + ".xsde1320";
-
-  /* CONTEXT_ID xsde1400 for List Design View */
-  public static final String XSDE_LIST_DESIGN_VIEW  = PLUGIN_NAME + ".xsde1400";
-  /* CONTEXT_ID Base Type Group is from Type Helper xsde0900 */
-  /* CONTEXT_ID None Radio Button is from Type Helper xsde0910 */
-  /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
-  /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
-  /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
-
-  /* CONTEXT_ID xsde1500 for Attribute Group Design View */
-  public static final String XSDE_ATTRIBUTE_GROUP_DESIGN_VIEW = PLUGIN_NAME + ".xsde1500";
-  /* CONTEXT_ID xsde1510 for Name Text Edit */
-  public static final String XSDE_ATTRIBUTE_GROUP_NAME = PLUGIN_NAME + ".xsde1510";
-
-  /* CONTEXT_ID for Global Attribute and Attribute Design Views are the same */
-  /* CONTEXT_ID xsde1600 for Attribute Group Reference Design View */
-  public static final String XSDE_ATTRIBUTE_GROUP_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde1600";
-  /* CONTEXT_ID xsde1610 for Reference Name Combo Box */
-  public static final String XSDE_ATTRIBUTE_GROUP_REF_NAME = PLUGIN_NAME + ".xsde1610";
-
-  /* CONTEXT_ID xsde1700 for Attribute Reference Design View */
-  public static final String XSDE_ATTRIBUTE_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde1700";
-  /* CONTEXT_ID xsde1710 for Reference Name Combo Box */
-  public static final String XSDE_ATTRIBUTE_REF_NAME = PLUGIN_NAME + ".xsde1710";
-
-  /* CONTEXT_ID xsde1800 for Pattern Design View */
-  public static final String XSDE_PATTERN_DESIGN_VIEW = PLUGIN_NAME + ".xsde1800";
-  /* CONTEXT_ID xsde1810 for Value Text Edit */
-  public static final String XSDE_PATTERN_VALUE   = PLUGIN_NAME + ".xsde1810";
-  /* CONTEXT_ID xsde1820 for Create Regular Expression Push Button */
-  public static final String XSDE_PATTERN_REGULAR = PLUGIN_NAME + ".xsde1820";
-
-  /* CONTEXT_ID xsde1900 for Enum Design View */
-  public static final String XSDE_ENUM_DESIGN_VIEW = PLUGIN_NAME + ".xsde1900";
-  /* CONTEXT_ID xsde1910 for Value Text Edit */
-  public static final String XSDE_ENUM_VALUE       = PLUGIN_NAME + ".xsde1910";
-  
-  /* CONTEXT_ID xsde2000 for Include Design Page */
-  public static final String XSDE_INCLUDE_DESIGN_VIEW = PLUGIN_NAME + ".xsde2000";
-  /* no CONTEXT_ID for Schema Location Text Edit (not editable) */
-  /* CONTEXT_ID Select Push Button is from Include Helper xsde2100 */ 
-  
-  /* CONTEXT_ID xsde2100 for Include Helper Select Push Button - used generically */
-  /* CONTEXT_ID      - used in Include Design View */
-  /* CONTEXT_ID      - used in Import Design View */
-  public static final String XSDE_INCLUDE_HELPER_SELECT = PLUGIN_NAME + ".xsde2100";
-
-  /* CONTEXT_ID xsde2200 for Import Design Page */
-  public static final String XSDE_IMPORT_DESIGN_VIEW = PLUGIN_NAME + ".xsde2200";
-  /* no CONTEXT_ID for Schema Location Text Edit (not editable) */
-  /* CONTEXT_ID Select Push Button is from Include Helper xsde2100 */
-  /* CONTEXT_ID xsde2210 for Prefix Text Edit */
-  public static final String XSDE_IMPORT_PREFIX      = PLUGIN_NAME + ".xsde2210";
-  /* no CONTEXT_ID for Namespace Text Edit (not editable) */
-
-  /* CONTEXT_ID xsde2300 for Redefine Design View */
-  public static final String XSDE_REDEFINE_DESIGN_VIEW = PLUGIN_NAME + ".xsde2300";
-  /* no CONTEXT_ID for Schema Location Text Edit (not editable) */
-  /* CONTEXT_ID Select Push Button is from Include Helper xsde2100 */
-
-  /* CONTEXT_ID xsde2400 for Group Design View */
-  public static final String XSDE_GROUP_DESIGN_VIEW = PLUGIN_NAME + ".xsde2400";
-  /* CONTEXT_ID xsde2410 for Name Text Edit */
-  public static final String XSDE_GROUP_NAME        = PLUGIN_NAME + ".xsde2410";
-
-  /* CONTEXT_ID xsde2500 for Group Scope Design View */
-  public static final String XSDE_GROUP_SCOPE_DESIGN_VIEW   = PLUGIN_NAME + ".xsde2500";
-  /* CONTEXT_ID xsde2510 for Content model Group */
-  public static final String XSDE_GROUP_SCOPE_CONTENT_GROUP = PLUGIN_NAME + ".xsde2510";
-  /* CONTEXT_ID xsde2520 for Sequence Radio Button */
-  public static final String XSDE_GROUP_SCOPE_SEQUENCE = PLUGIN_NAME + ".xsde2520";
-  /* CONTEXT_ID xsde2530 for Choice Radio Button */
-  public static final String XSDE_GROUP_SCOPE_CHOICE   = PLUGIN_NAME + ".xsde2530";
-  /* CONTEXT_ID xsde2540 for All Radio Button */
-  public static final String XSDE_GROUP_SCOPE_ALL      = PLUGIN_NAME + ".xsde2540";
-  /* CONTEXT_ID xsde2550 for Minimum Text Edit */
-  public static final String XSDE_GROUP_SCOPE_MINIMUM  = PLUGIN_NAME + ".xsde2550";
-  /* CONTEXT_ID xsde2560 for Maximum Text Edit*/
-  public static final String XSDE_GROUP_SCOPE_MAXIMUM  = PLUGIN_NAME + ".xsde2560";
-
-  /* CONTEXT_ID xsde2600 for Group Ref Design View */
-  public static final String XSDE_GROUP_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde2600";
-  /* CONTEXT_ID xsde2610 for Reference name Combo Box */
-  public static final String XSDE_GROUP_REF_REFERENCE   = PLUGIN_NAME + ".xsde2610";
-  /* CONTEXT_ID xsde2620 for Minimum Text Edit */
-  public static final String XSDE_GROUP_REF_MINIMUM     = PLUGIN_NAME + ".xsde2620";
-  /* CONTEXT_ID xsde2630 for Maximum Text Edit */
-  public static final String XSDE_GROUP_REF_MAXIMUM     = PLUGIN_NAME + ".xsde2630";
-
-  /* CONTEXT_ID xsde2700 for Unique Design View */
-  public static final String XSDE_UNIQUE_DESIGN_VIEW = PLUGIN_NAME + ".xsde2700";
-  /* CONTEXT_ID Name Text Edit is from Unique Base xsde2800 */
-  /* CONTEXT_ID Selector Group is from Unique Base xsde2810 */
-  /* CONTEXT_ID Selector Mulit-line Edit is from Unique Base xsde2820 */
-  /* CONTEXT_ID Fields Group is from Unique Base xsde2830 */
-  /* CONTEXT_ID Source Text Edit is from Unique Base xsde2840 */
-  /* CONTEXT_ID Add Push Button is from Unique Base xsde2850 */
-  /* CONTEXT_ID Remove Push Button is from Unique Base xsde2860 */
-  /* CONTEXT_ID Target List Box is from Unique Base xsde2870 */
-  
-  /* CONTEXT_ID xsde2800 for Unique Base Name Text Edit - used generically */
-  /* CONTEXT_ID      - used in Unique Design View */
-  /* CONTEXT_ID      - used in Key Design View */
-  /* CONTEXT_ID      - used in Key Ref Design View */
-  public static final String XSDE_UNIQUE_BASE_NAME = PLUGIN_NAME + ".xsde2800";
-  /* CONTEXT_ID xsde2810 for Selector Group - used generically */
-  /* CONTEXT_ID      - used in Unique Design View */
-  /* CONTEXT_ID      - used in Key Design View */
-  /* CONTEXT_ID      - used in Key Ref Design View */
-  public static final String XSDE_UNIQUE_BASE_SELECTOR_GROUP = PLUGIN_NAME + ".xsde2810";
-  /* CONTEXT_ID xsde2820 for Selector Multi-line Edit - used generically */
-  /* CONTEXT_ID      - used in Unique Design View */
-  /* CONTEXT_ID      - used in Key Design View */
-  /* CONTEXT_ID      - used in Key Ref Design View */
-  public static final String XSDE_UNIQUE_BASE_SELECTOR       = PLUGIN_NAME + ".xsde2820";
-  /* CONTEXT_ID xsde2830 for Fields Group - used generically */
-  /* CONTEXT_ID      - used in Unique Design View */
-  /* CONTEXT_ID      - used in Key Design View */
-  /* CONTEXT_ID      - used in Key Ref Design View */
-  public static final String XSDE_UNIQUE_BASE_FIELDS_GROUP   = PLUGIN_NAME + ".xsde2830";
-  /* CONTEXT_ID xsde2840 for Source Text Edit - used generically */
-  /* CONTEXT_ID      - used in Unique Design View */
-  /* CONTEXT_ID      - used in Key Design View */
-  /* CONTEXT_ID      - used in Key Ref Design View */
-  public static final String XSDE_UNIQUE_BASE_SOURCE         = PLUGIN_NAME + ".xsde2840";
-  /* CONTEXT_ID xsde2850 for Add Push Button - used generically */
-  /* CONTEXT_ID      - used in Unique Design View */
-  /* CONTEXT_ID      - used in Key Design View */
-  /* CONTEXT_ID      - used in Key Ref Design View */
-  public static final String XSDE_UNIQUE_BASE_ADD            = PLUGIN_NAME + ".xsde2850";
-  /* CONTEXT_ID xsde2860 for Remove Push Button - used generically */
-  /* CONTEXT_ID      - used in Unique Design View */
-  /* CONTEXT_ID      - used in Key Design View */
-  /* CONTEXT_ID      - used in Key Ref Design View */
-  public static final String XSDE_UNIQUE_BASE_REMOVE         = PLUGIN_NAME + ".xsde2860";
-  /* CONTEXT_ID xsde2870 for Target List Box - used generically */
-  /* CONTEXT_ID      - used in Unique Design View */
-  /* CONTEXT_ID      - used in Key Design View */
-  /* CONTEXT_ID      - used in Key Ref Design View */
-  public static final String XSDE_UNIQUE_BASE_TARGET         = PLUGIN_NAME + ".xsde2870";
-
-  /* CONTEXT_ID xsde2900 for Key Design View */
-  public static final String XSDE_KEY_DESIGN_VIEW = PLUGIN_NAME + ".xsde2900";
-  /* CONTEXT_ID Name Text Edit is from Unique Base xsde2800 */
-  /* CONTEXT_ID Selector Group is from Unique Base xsde2810 */
-  /* CONTEXT_ID Selector Mulit-line Edit is from Unique Base xsde2820 */
-  /* CONTEXT_ID Fields Group is from Unique Base xsde2830 */
-  /* CONTEXT_ID Source Text Edit is from Unique Base xsde2840 */
-  /* CONTEXT_ID Add Push Button is from Unique Base xsde2850 */
-  /* CONTEXT_ID Remove Push Button is from Unique Base xsde2860 */
-  /* CONTEXT_ID Target List Box is from Unique Base xsde2870 */
-  /* CONTEXT_ID xsde2900 for Key Design View */
-  
-  /* CONTEXT_ID xsde2950 for Key Ref Design View */
-  public static final String XSDE_KEY_REF_DESIGN_VIEW = PLUGIN_NAME + ".xsde2950";
-  /* CONTEXT_ID Name Text Edit is from Unique Base xsde2800 */
-  /* CONTEXT_ID xsde2960 for Reference Key Combo Box */
-  public static final String XSDE_KEY_REF_REFERENCE = PLUGIN_NAME + ".xsde2960";
-  /* CONTEXT_ID Selector Group is from Unique Base xsde2810 */
-  /* CONTEXT_ID Selector Mulit-line Edit is from Unique Base xsde2820 */
-  /* CONTEXT_ID Fields Group is from Unique Base xsde2830 */
-  /* CONTEXT_ID Source Text Edit is from Unique Base xsde2840 */
-  /* CONTEXT_ID Add Push Button is from Unique Base xsde2850 */
-  /* CONTEXT_ID Remove Push Button is from Unique Base xsde2860 */
-  /* CONTEXT_ID Target List Box is from Unique Base xsde2870 */
-
-  /* CONTEXT_ID xsde3000 for Any Element Design View */
-  public static final String XSDE_ANY_ELEMENT_VIEW = PLUGIN_NAME + ".xsde3000";
-  /* CONTEXT_ID xsde3010 for Namespace Text Edit */
-  public static final String XSDE_ANY_ELEMENT_NAMESPACE = PLUGIN_NAME + ".xsde3010";
-  /* CONTEXT_ID xsde3020 for Process Contents Combo Box */
-  public static final String XSDE_ANY_ELEMENT_PROCESS   = PLUGIN_NAME + ".xsde3020";
-  /* CONTEXT_ID xsde3030 for Minimum Text Edit */
-  public static final String XSDE_ANY_ELEMENT_MINIMUM   = PLUGIN_NAME + ".xsde3030";
-  /* CONTEXT_ID xsde3040 for Maximum Text Edit */
-  public static final String XSDE_ANY_ELEMENT_MAXIMUM   = PLUGIN_NAME + ".xsde3040";
-
-  /* CONTEXT_ID xsde3100 for Any Attribute Design View */
-  public static final String XSDE_ANY_ATTRIBUTE_VIEW = PLUGIN_NAME + ".xsde3100";
-  /* CONTEXT_ID xsde3110 for Namespace Text Edit */
-  public static final String XSDE_ANY_ATTRIBUTE_NAMESPACE = PLUGIN_NAME + ".xsde3110";
-  /* CONTEXT_ID xsde3120 for Process Contents Combo Box */
-  public static final String XSDE_ANY_ATTRIBUTE_PROCESS   = PLUGIN_NAME + ".xsde3120";
-
-  /* no CONTEXT_ID for Union Design View - uses a generic interface */
-  /* CONTEXT_ID Type Information Group is from Type Helper xsde0900 */
-  /* CONTEXT_ID Built-in simple type Radio Button is from Type Helper xsde0920 */
-  /* CONTEXT_ID User-defined simple type Radio Button is from Type Helper xsde0930 */
-  /* CONTEXT_ID Type information Combo Box is from Type Helper xsde0950 */
-
-  /* CONTEXT_ID xsde3200 for Notation Design View */
-  public static final String XSDE_NOTATION_VIEW = PLUGIN_NAME + ".xsde3200";
-
-  /* CONTEXT_ID xsde4000 for Source View */
-  public static final String XSDE_SOURCE_VIEW = PLUGIN_NAME + ".xsde4000";
-
-  /* CONTEXT_IDs for Regular Expression Wizard follow the xsdrxxx context IDs */
-  
-  /* CONTEXT_ID xsdr0010 for Compose Regular Expression Page */
-  public static final String XSDR_COMPOSITION_PAGE         = PLUGIN_NAME + ".xsdr0010";
-  /* CONTEXT_ID xsdr0015 for Token Contents Combo Box */
-  public static final String XSDR_COMPOSITION_TOKEN = PLUGIN_NAME + ".xsdr0015";
-  /* CONTEXT_ID xsdr0020 for Occurrece Group */
-  public static final String XSDR_COMPOSITION_OCCURRENCE_GROUP = PLUGIN_NAME + ".xsdr0020";
-  /* CONTEXT_ID xsdr0030 for Just once Radio Button */
-  public static final String XSDR_COMPOSITION_JUST_ONCE    = PLUGIN_NAME + ".xsdr0030";
-  /* CONTEXT_ID xsdr0040 for Zero or more Radio Button */
-  public static final String XSDR_COMPOSITION_ZERO_OR_MORE = PLUGIN_NAME + ".xsdr0040";
-  /* CONTEXT_ID xsdr0050 for One or more Radio Button */
-  public static final String XSDR_COMPOSITION_ONE_OR_MORE  = PLUGIN_NAME + ".xsdr0050";
-  /* CONTEXT_ID xsdr0060 for Optional Radio Button */
-  public static final String XSDR_COMPOSITION_OPTIONAL     = PLUGIN_NAME + ".xsdr0060";
-  /* CONTEXT_ID xsdr0070 for Repeat Radio Button */
-  public static final String XSDR_COMPOSITION_REPEAT       = PLUGIN_NAME + ".xsdr0070";
-  /* CONTEXT_ID xsdr0080 for Range Radio Button */
-  public static final String XSDR_COMPOSITION_RANGE        = PLUGIN_NAME + ".xsdr0080";
-  /* CONTEXT_ID xsdr0090 for Repeat Text Edit */
-  public static final String XSDR_COMPOSITION_REPEAT_TEXT  = PLUGIN_NAME + ".xsdr0090";
-  /* CONTEXT_ID xsdr0100 for Range Minimum Text Edit */
-  public static final String XSDR_COMPOSITION_RANGE_MIN    = PLUGIN_NAME + ".xsdr0100";
-  /* CONTEXT_ID xsdr0110 for Range Maximum Text Edit */
-  public static final String XSDR_COMPOSITION_RANGE_MAX    = PLUGIN_NAME + ".xsdr0110";
-  /* CONTEXT_ID xsdr0120 for Add Push Button */
-  public static final String XSDR_COMPOSITION_ADD          = PLUGIN_NAME + ".xsdr0120";
-  /* CONTEXT_ID xsdr0130 for Current Regular Expression Text Edit */
-  public static final String XSDR_COMPOSITION_CURRENT      = PLUGIN_NAME + ".xsdr0130";
-
-  /* CONTEXT_ID xsdr0200 for Test Regular Expression Page */
-  public static final String XSDR_TEST_PAGE   = PLUGIN_NAME + ".xsdr0200";
-  /* no CONTEXT_ID for Regular Expression Text Edit (not editable) */
-  /* CONTEXT_ID xsdr0210 for Sample Text Text Edit */
-  public static final String XSDR_TEST_SAMPLE = PLUGIN_NAME + ".xsdr0210";
-
-  /* CONTEXT_IDs for Preferences Page follows the xsdpxxx context IDs */
-  
-  /* CONTEXT_ID xsdp0010 for XML Schema Preferences Page */
-  public static final String XSDP_PREFERENCE_PAGE = PLUGIN_NAME + ".xsdp0010";
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorPlugin.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorPlugin.java
deleted file mode 100644
index 527b582..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditorPlugin.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-
-
-public class XSDEditorPlugin extends AbstractUIPlugin
-{
-  public final static String PLUGIN_ID = "org.eclipse.wst.xsd.ui";
-  public final static String XSD_EDITOR_ID = "org.eclipse.wst.xsd.ui.XSDEditor";
-  
-  public final static String DEFAULT_TARGET_NAMESPACE = "http://www.example.org";
-  
-  protected static XSDEditorPlugin plugin;
-  //  protected XMLSchemaPackage xmlschemaPackage;
-// KCPort private static MsgLogger myMsgLogger;
- 
-  public XSDEditorPlugin(IPluginDescriptor descriptor) 
-  {
-    super(descriptor);
-    plugin = this;
-// KCPort    myMsgLogger = getMsgLogger();
-    //myMsgLogger.write(Level.CONFIG, new BuildInfo());
-    //myMsgLogger.write(Level.CONFIG, BuildInfo.getWSABuildLevel());
-  }
-
-  /**
-   * Copy the w3c XMLSchema.dtd and datatypes.dtd into the plugin metadata directory
-   * for validation purposes
-   */
-  public void startup()
-  {
-    modelManager = getModelManager();
-  }
-
-  private static IModelManager modelManager;
-
-  public static IModelManager getModelManager() {
-    IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-    return plugin.getModelManager();
-  }
-  
-  
-  /**
-   * Get the Install URL
-   */
-  public static URL getInstallURL()
-  {
-    return getPlugin().getDescriptor().getInstallURL();
-  }
-
-  /**
-   * Return the plugin physical directory location
-   */
-  public static IPath getPluginLocation()
-  {
-    try 
-    {
-      IPath installPath = new Path(getInstallURL().toExternalForm()).removeTrailingSeparator();
-      String installStr = Platform.asLocalURL(new URL(installPath.toString())).getFile();
-      return new Path(installStr);
-    } 
-    catch (IOException e) 
-    {
-
-    }
-    return null;
-  }
-
-  /**
-   * Get the metadata directory for this plugin
-   */
-  public static String getMetaDataDirectory()
-  {
-    return getPlugin().getStateLocation().toOSString();
-  }
-
-  /** 
-   *  Get the one xmlschema package.
-   */
-//   public XMLSchemaPackage getXMLSchemaPackage()
-//   {
-//     return xmlschemaPackage;
-//   }
-
-//   /** 
-//    *  Get the one xmlschema factory.
-//    */
-//   public XMLSchemaFactory getXMLSchemaFactory()
-//   {
-//     return (XMLSchemaFactory)xmlschemaPackage.getEFactoryInstance();
-//   }
-
-  /**
-   * Get the singleton instance.
-   */
-  public static XSDEditorPlugin getPlugin()
-  {
-    return plugin;
-  }
-
-  public static Image getXSDImage(String iconName)
-  {
-    return getPlugin().getImage(iconName);
-  }
-
-  public Image getImage(String iconName)
-  {
-    ImageRegistry imageRegistry = getImageRegistry();
-    
-    if (imageRegistry.get(iconName) != null)
-    {
-      return imageRegistry.get(iconName);
-    }
-    else
-    {
-      imageRegistry.put(iconName, ImageDescriptor.createFromFile(getClass(), iconName));
-      return imageRegistry.get(iconName);
-    }
-  }
-  
-  public static String getXSDString(String key)
-  {
-    return Platform.getResourceBundle(plugin.getBundle()).getString(key);
-  }
-
-	/**
-	 * This gets the string resource and does one substitution.
-	 */
-	public String getString(String key, Object s1)
-	{
-	  return MessageFormat.format(Platform.getResourceBundle(getBundle()).getString(key), new Object [] { s1 });
-	}
-
-//  public IWorkspace getWorkspace()
-//  {
-//    return ResourcesPlugin.getWorkspace();
-//  }
-
-  public static Shell getShell() 
-  {	
-    return getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell();
-  }
-
-  /**
-   * Get the xml schema default namespace prefix
-   */
-  public String getXMLSchemaPrefix()
-  {
-    return getPreferenceStore().getString(CONST_XSD_DEFAULT_PREFIX_TEXT);
-  }
-  
-  /**
-   * Get the xml schema default target namespace
-   */
-  public String getXMLSchemaTargetNamespace()
-  {
-  	String targetNamespace = getPreferenceStore().getString(CONST_DEFAULT_TARGET_NAMESPACE);
-    if(!targetNamespace.endsWith("/")){
-    	targetNamespace = targetNamespace + "/";
-    }
-    return targetNamespace;
-  }
-
-  /**
-   * Get the xml schema language qualification
-   */
-  public boolean isQualifyXMLSchemaLanguage()
-  {
-    return getPreferenceStore().getBoolean(CONST_XSD_LANGUAGE_QUALIFY);
-  }
-  
-  /**
-   * Method isCombinedDesignAndSourceView.
-   * @return boolean if the editor should have a single page that is
-   * a combined design and source page
-   */
-  public boolean isCombinedDesignAndSourceView()
-  {
-    return COMBINED_LAYOUT.equals(getPreferenceStore().getString(EDITOR_LAYOUT));
-  }
-
-  public int getDesignLayout()
-  {
-    if (TOP_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
-    {
-       return SWT.VERTICAL;
-    }
-    else if (BOTTOM_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
-    {
-      return SWT.VERTICAL;
-    }
-    else if (LEFT_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
-    {
-      return SWT.HORIZONTAL;
-    }
-    else if (RIGHT_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
-    {
-      return SWT.HORIZONTAL;
-    }
-    return SWT.HORIZONTAL;      
-  }
-
-  public String getDesignLayoutPosition()
-  {
-    if (TOP_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
-    {
-       return TOP_LAYOUT;
-    }
-    else if (BOTTOM_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
-    {
-      return BOTTOM_LAYOUT;
-    }
-    else if (LEFT_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
-    {
-      return LEFT_LAYOUT;
-    }
-    else if (RIGHT_LAYOUT.equals(getPreferenceStore().getString(DESIGN_LAYOUT)))
-    {
-      return RIGHT_LAYOUT;
-    }
-    return RIGHT_LAYOUT;      
-  }
-
-  /*---------------------------------------------------------------------------*/
-  /* the following methods are impls for the IPluginHelper interface           */
-  /*---------------------------------------------------------------------------*/
-//  public void setMsgLoggerConfig(Hashtable msgLoggerConfig)
-//  {
-//    getMsgLogger().setMsgLoggerConfig(msgLoggerConfig);
-//  }
-//
-//  public Hashtable getMsgLoggerConfig(Plugin plugin)
-//  {
-//    return (new PluginHelperImpl().getMsgLoggerConfig(plugin));
-//  }
-//
-//  public Hashtable getMsgLoggerConfig()
-//  {
-//    return (getMsgLoggerConfig(this));
-//  }
-//
-//  /**
-//   * XSDEditor and XSDModel use the same logger.  See plugin.xml
-//   */
-//  public MsgLogger getMsgLogger()
-//  {
-//    if (myMsgLogger == null)
-//    {
-//      myMsgLogger = (MsgLogger) MsgLogger.getFactory().getLogger(new PluginHelperImpl().getMsgLoggerName(this), this);
-//    }
-//    return (myMsgLogger);
-//  }
-  
-  public static final String CONST_XSD_DEFAULT_PREFIX_TEXT = "org.eclipse.wst.xmlschema.xsdDefaultPrefixText";
-  public static final String CONST_XSD_LANGUAGE_QUALIFY = "org.eclipse.wst.xmlschema.xsdQualify";
-  public static final String CONST_DEFAULT_TARGET_NAMESPACE = "org.eclipse.wst.xmlschema.defaultTargetnamespaceText";
-
-  // Preference to store which page should come up as the default page in the editor.  This setting is based
-  // on the page that was left showing the last time the editor was closed.
-  public static String DEFAULT_PAGE = "org.eclipse.wst.xsd.ui.internal.defaultPage";
-  public static String DESIGN_PAGE = "org.eclipse.wst.xsd.ui.internal.designPage";
-  public static String SOURCE_PAGE = "org.eclipse.wst.xsd.ui.internal.sourcePage";
-  public static String GRAPH_PAGE = "org.eclipse.wst.xsd.ui.internal.graphPage";
-  
-  public static String EDITOR_LAYOUT = "org.eclipse.wst.xsd.ui.internal.editorlayout";
-  public static String COMBINED_LAYOUT = "org.eclipse.wst.xsd.ui.internal.combined";
-  public static String SEPARATE_LAYOUT = "org.eclipse.wst.xsd.ui.internal.separate";
-
-  public static String DESIGN_LAYOUT = "org.eclipse.wst.xsd.ui.internal.designlayout";
-  public static String TOP_LAYOUT = "org.eclipse.wst.xsd.ui.internal.top";
-  public static String BOTTOM_LAYOUT = "org.eclipse.wst.xsd.ui.internal.bottom";
-  public static String LEFT_LAYOUT = "org.eclipse.wst.xsd.ui.internal.left";
-  public static String RIGHT_LAYOUT = "org.eclipse.wst.xsd.ui.internal.right";
-  
-  /**
-   * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeDefaultPreferences(IPreferenceStore)
-   */
-  protected void initializeDefaultPreferences(IPreferenceStore store)
-  {
-    super.initializeDefaultPreferences(store);
-
-    store.setDefault(CONST_XSD_DEFAULT_PREFIX_TEXT, "xsd");
-    store.setDefault(CONST_XSD_LANGUAGE_QUALIFY, false);
-
-    store.setDefault(DEFAULT_PAGE, DESIGN_PAGE);
-    store.setDefault(EDITOR_LAYOUT, COMBINED_LAYOUT);
-    store.setDefault(DESIGN_LAYOUT, RIGHT_LAYOUT);
-    
-    store.setDefault(XSDEditorPlugin.CONST_DEFAULT_TARGET_NAMESPACE, DEFAULT_TARGET_NAMESPACE);
-  }
-  
-  public void setDefaultPage(String page)
-  {
-    getPreferenceStore().setValue(DEFAULT_PAGE, page);
-  }
-  
-  /**
-   * Method getDefaultPage.
-   * @return String value of the string constant that is the default page the editor should turn to when
-   * first opened.  Changes to the last visible page when the editor was closed
-   */
-  public String getDefaultPage()
-  {
-    return getPreferenceStore().getString(DEFAULT_PAGE);
-  }    
-
-  protected URL baseURL;
-  public URL getBaseURL()
-  {
-    return getDescriptor().getInstallURL();
-  }
-
-  public Image getIconImage(String object)
-  {
-    try
-    {
-      return ExtendedImageRegistry.getInstance().getImage(new URL(getBaseURL() + "icons/" + object + ".gif"));
-    }
-    catch (MalformedURLException exception)
-    {
-      System.out.println("Failed to load image for '" + object + "'");
-    }
-    return null;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
deleted file mode 100644
index ff3e296..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMenuListener.java
+++ /dev/null
@@ -1,2122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.ui.parts.AbstractEditPartViewer;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.wst.xsd.ui.internal.actions.AddEnumsAction;
-import org.eclipse.wst.xsd.ui.internal.actions.AddModelGroupAction;
-import org.eclipse.wst.xsd.ui.internal.actions.BackAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateAnnotationAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateElementAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateGroupAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateIdentityConstraintsAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateLocalComplexTypeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateLocalSimpleTypeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateSimpleContentAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateSimpleTypeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.actions.DeleteAction;
-import org.eclipse.wst.xsd.ui.internal.actions.GraphRenameAction;
-import org.eclipse.wst.xsd.ui.internal.actions.MakeAnonymousGlobal;
-import org.eclipse.wst.xsd.ui.internal.actions.OpenSchemaAction;
-import org.eclipse.wst.xsd.ui.internal.actions.SetBaseTypeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.SetMultiplicityAction;
-import org.eclipse.wst.xsd.ui.internal.actions.SetTypeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.XSDEditNamespacesAction;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComplexTypeDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ElementDeclarationEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class XSDMenuListener implements IMenuListener
-{
-  protected ISelectionProvider selectionProvider;
-  //protected XSDTextEditor textEditor;
-  protected DeleteAction deleteAction;
-//  protected IAction undoAction, redoAction;
-  protected CreateElementAction addComplexTypeAction;
-  protected XSDSchema xsdSchema;
-  protected boolean isReadOnly;
-  protected Object sourceContext;
-
-  /**
-   * Constructor for XSDMenuListener.
-   */
-  public XSDMenuListener(ISelectionProvider selectionProvider)
-  {
-    super();
-    this.selectionProvider = selectionProvider;
-
-    deleteAction = new DeleteAction(XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE"), null, getXSDSchema());
-    deleteAction.setSelectionProvider(selectionProvider);
-    selectionProvider.addSelectionChangedListener(deleteAction);
-  }
-
-  public void setSourceContext(Object sourceContext)
-  {
-    this.sourceContext = sourceContext;
-  }
-
-  public void setSelectionProvider(ISelectionProvider selectionProvider)
-  {
-    this.selectionProvider = selectionProvider;
-  }
-
-  protected XSDSchema getXSDSchema()
-  {
-    return xsdSchema;
-  }
-
-  protected Object getSelectedElement()
-  {
-    ISelection selection = selectionProvider.getSelection();
-    if (selection.isEmpty())
-    {
-      return null;
-    }
-    return ((IStructuredSelection) selection).getFirstElement();
-  }
-  
-  protected void updateXSDSchema()
-  {
-    Object object = getSelectedElement();
-    if (object instanceof XSDConcreteComponent)
-    {
-      xsdSchema = ((XSDConcreteComponent)object).getSchema();
-      boolean flag = true;
-      isReadOnly = false;
-      if (xsdSchema == null)
-      {
-        return;
-      }
-      while (flag)
-      {
-        List list = xsdSchema.getReferencingDirectives();
-        if (list.size() > 0)
-        {
-          isReadOnly = true;
-          XSDSchemaDirective xsdSchemaDirective = (XSDSchemaDirective)list.get(0);
-          if (xsdSchemaDirective.getSchema() != null)
-          {
-            xsdSchema = xsdSchemaDirective.getSchema();
-          }
-          else
-          {
-            flag = false;
-          }
-        }
-        else
-        {
-          flag = false;
-        }
-      }
-    }
-    else if (object instanceof Category)
-    {
-      Category cg = (Category)object;
-      xsdSchema = cg.getXSDSchema();
-    }
-    else if (object instanceof CategoryAdapter)
-    {
-      CategoryAdapter category = (CategoryAdapter)object;
-      xsdSchema = category.getXSDSchema();
-    }
-  }
-
-  /*
-   * @see IMenuListener#menuAboutToShow(IMenuManager)
-   */
-  public void menuAboutToShow(IMenuManager manager)
-  {
-    isReadOnly = false;
-    updateXSDSchema();
-    if (xsdSchema == null)
-    {
-      return;
-    }
-    
-    deleteAction.setXSDSchema(xsdSchema);
-    deleteAction.setEnabled(!isReadOnly);
-    
-    BackAction backAction = new BackAction(XSDEditorPlugin.getXSDString("_UI_ACTION_BACK_TO_SCHEMA_VIEW")); //$NON-NLS-1$
-    backAction.setXSDSchema(getXSDSchema());
-    backAction.setSelectionProvider(selectionProvider);
-    
-    Object selectedElementObj = getSelectedElement();
-    
-    if (selectedElementObj instanceof XSDSchema || selectedElementObj instanceof Category || selectedElementObj instanceof CategoryAdapter)
-    {
-      backAction.setEnabled(false);
-    }
-    manager.add(backAction);
-    manager.add(new Separator());
-//    if (undoAction == null && textEditor != null)
-//    {
-//      undoAction = textEditor.getAction(org.eclipse.ui.texteditor.ITextEditorActionConstants.UNDO);
-//      redoAction = textEditor.getAction(org.eclipse.ui.texteditor.ITextEditorActionConstants.REDO);
-//    }
-    //    Element selectedElement = getSelectedElement();
-
-    Element selectedElement = null;
-    
-    if (selectedElementObj instanceof Element)
-    {
-      selectedElement = (Element) selectedElementObj;
-    }
-    else if (selectedElementObj instanceof XSDConcreteComponent)
-    {
-      selectedElement = ((XSDConcreteComponent) selectedElementObj).getElement();
-    }
-    else if (selectedElementObj instanceof Category || selectedElementObj instanceof CategoryAdapter)
-    {
-      int groupType = -1;
-      if (selectedElementObj instanceof Category)
-      {
-        Category category = (Category) selectedElementObj;
-        groupType = category.getGroupType();
-      }
-      // todo... We need to ensure we eliminate the need for
-      // this case. The XSDMenuListener class should not have
-      // view dependant code. We need to do some work to ensure all
-      // views utilize the 'Category' model object
-      else if (selectedElementObj instanceof CategoryAdapter)
-      {
-        CategoryAdapter categoryAdapter = (CategoryAdapter) selectedElementObj;
-        groupType = categoryAdapter.getGroupType();
-      }
-      ArrayList attributes = null;
-      Element parent = getXSDSchema().getElement();
-      
-      if (parent == null)
-      {
-        return;
-      }
-      
-      Node relativeNode = null;
-      switch (groupType)
-      {
-        case Category.TYPES : {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType")));
-          Action action = addCreateElementAction(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_TYPE"), attributes, parent, relativeNode);
-          ((CreateElementAction) action).setIsGlobal(true);
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
-          Action action2 = addCreateSimpleTypeAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_TYPE"), attributes, parent, relativeNode);
-          ((CreateElementAction) action2).setIsGlobal(true);
-          break;
-        }
-        case Category.ELEMENTS : {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ELEMENT_ELEMENT_TAG, "GlobalElement")));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          Action action = addCreateElementAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT"), attributes, parent, relativeNode);
-          ((CreateElementAction) action).setIsGlobal(true);
-          break;
-        }
-        case Category.GROUPS : {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.GROUP_ELEMENT_TAG, "Group")));
-          CreateGroupAction groupAction = addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes, parent, relativeNode);
-          groupAction.setIsGlobal(true);
-          break;
-        }
-        case Category.ATTRIBUTES : {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ATTRIBUTE_ELEMENT_TAG, "GlobalAttribute")));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          Action action = addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GLOBAL_ATTRIBUTE"), attributes, parent, relativeNode);
-          ((CreateElementAction) action).setIsGlobal(true);
-          break;
-        }
-        case Category.ATTRIBUTE_GROUPS : {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, "AttributeGroup")));
-          Action action = addCreateElementAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP"), attributes, parent, relativeNode);
-          ((CreateElementAction) action).setIsGlobal(true);
-          break;
-        }
-        case Category.NOTATIONS : {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.NOTATION_ELEMENT_TAG, "Notation")));
-          attributes.add(new DOMAttribute(XSDConstants.PUBLIC_ATTRIBUTE, ""));
-          Action action = addCreateElementAction(manager, XSDConstants.NOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_NOTATION"), attributes, parent, relativeNode);
-          ((CreateElementAction) action).setIsGlobal(true);
-          break;
-        }
-        case Category.DIRECTIVES : {
-          boolean b = true;
-          NodeList children = parent.getChildNodes();
-          int length = children.getLength();
-          Node effectiveRelativeNode = parent.getFirstChild();
-          for (int i = 0; i < length && b; i++)
-          {
-            Node child = children.item(i);
-            if (child != null && child instanceof Element)
-            {
-              if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.INCLUDE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.IMPORT_ELEMENT_TAG, false)
-                  || XSDDOMHelper.inputEquals((Element) child, XSDConstants.REDEFINE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
-              {
-                effectiveRelativeNode = child;
-              }
-              else
-              {
-                b = false;
-              }
-            }
-          }
-          relativeNode = effectiveRelativeNode != null ? XSDDOMHelper.getNextElementNode(effectiveRelativeNode) : null;
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, ""));
-          Action action = addCreateElementAction(manager, XSDConstants.INCLUDE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_INCLUDE"), attributes, parent, relativeNode);
-          ((CreateElementAction) action).setIsGlobal(true);
-          action = addCreateElementAction(manager, XSDConstants.IMPORT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_IMPORT"), null, parent, relativeNode);
-          ((CreateElementAction) action).setIsGlobal(true);
-          action = addCreateElementAction(manager, XSDConstants.REDEFINE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_REDEFINE"), attributes, parent, relativeNode);
-          ((CreateElementAction) action).setIsGlobal(true);
-          break;
-        }
-        case Category.ANNOTATIONS : {
-          Action action = addCreateElementAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), null, parent, relativeNode);
-          ((CreateElementAction) action).setIsGlobal(true);
-          break;
-        }
-      }
-//      manager.add(new Separator());
-//      if (undoAction != null)
-//      {
-//        manager.add(undoAction);
-//        manager.add(redoAction);
-//      }
-      
-      // insertion point for popupMenus extension
-      manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));    
-
-      return;
-    }
-    if (selectedElement != null)
-    {
-      // Add context menu items for selected element
-      addContextItems(manager, selectedElement, null);
-      manager.add(new Separator());
-      //else
-//      if (textEditor != null)
-//      {
-//        Document document = getXSDSchema().getDocument();
-//        if (document != null)
-//        {
-//          Element docElement = getXSDSchema().getDocument().getDocumentElement();
-//          if (!XSDDOMHelper.inputEquals(docElement, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-//          //        if (list.getLength() == 0)
-//          {
-//            // no schema tag. Enable the Add Schema action
-//            AddSchemaNodeAction action = new AddSchemaNodeAction(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SCHEMA_NODE"));
-//            action.setEditor((XSDEditor) textEditor.getEditorPart());
-//            manager.add(action);
-//          }
-//        }
-//      }
-    }
-//    manager.add(new Separator());
-//    if (undoAction != null)
-//    {
-//      manager.add(undoAction);
-//      manager.add(redoAction);
-//    }
-    
-    manager.add(new Separator());
-    if (deleteAction != null)
-    {
-      manager.add(deleteAction);
-    }
-    
-    // insertion point for popupMenus extension
-    manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));    
-  }
-
-  protected String getBuiltInStringQName()
-  {
-    String stringName = "string";
-    if (getXSDSchema() != null)
-    {
-      String schemaForSchemaPrefix = getXSDSchema().getSchemaForSchemaQNamePrefix();
-      if (schemaForSchemaPrefix != null && schemaForSchemaPrefix.length() > 0)
-      {
-        String prefix = getXSDSchema().getSchemaForSchemaQNamePrefix();
-        if (prefix != null && prefix.length() > 0)
-        {
-          stringName = prefix + ":" + stringName;
-        }
-      }
-    }
-    return stringName;
-  }
-
-  /**
-   * Method addContextItems.
-   * 
-   * @param manager
-   * @param parent -
-   *          menu items should be context sensitive to this node
-   * @param relativeNode -
-   *          anything inserted, should be inserted before this node (which is a
-   *          child of the parent node. A value of null means add to the end
-   */
-  protected void addContextItems(IMenuManager manager, Element parent, Node relativeNode)
-  {
-    ArrayList attributes = null;
-    if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-    { //
-      addSchemaElementItems(manager, parent, relativeNode);
-      manager.add(new Separator());
-      boolean b = true;
-      NodeList children = parent.getChildNodes();
-      Node effectiveRelativeNode = parent.getFirstChild();
-      for (int i = 0; i < children.getLength() && b; i++)
-      {
-        Node child = children.item(i);
-        if (child != null && child instanceof Element)
-        {
-          if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.INCLUDE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.IMPORT_ELEMENT_TAG, false)
-              || XSDDOMHelper.inputEquals((Element) child, XSDConstants.REDEFINE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
-          {
-            effectiveRelativeNode = child;
-          }
-          else
-          {
-            b = false;
-          }
-        }
-      }
-      relativeNode = effectiveRelativeNode != null ? effectiveRelativeNode.getNextSibling() : null;
-      attributes = new ArrayList();
-      attributes.add(new DOMAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, ""));
-      addCreateElementAction(manager, XSDConstants.INCLUDE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_INCLUDE"), attributes, parent, relativeNode);
-      addCreateElementAction(manager, XSDConstants.IMPORT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_IMPORT"), null, parent, relativeNode);
-      addCreateElementAction(manager, XSDConstants.REDEFINE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_REDEFINE"), attributes, parent, relativeNode);
-      attributes = null;
-      addCreateAnnotationAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), null, parent, relativeNode);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
-    { //
-      addCreateElementAction(manager, XSDConstants.DOCUMENTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_DOC"), attributes, parent, null);
-      addCreateElementAction(manager, XSDConstants.APPINFO_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_APP_INFO"), attributes, parent, null);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-    {
-      XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
-      Element parentNode = (Element) parent.getParentNode();
-      boolean isGlobalElement = false;
-      if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        isGlobalElement = true;
-      }
-      boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-          parent.getFirstChild());
-      boolean simpleTypeExists = elementExists(XSDConstants.SIMPLETYPE_ELEMENT_TAG, parent);
-      boolean complexTypeExists = elementExists(XSDConstants.COMPLEXTYPE_ELEMENT_TAG, parent);
-      manager.add(new Separator());
-      if (annotationExists)
-      {
-        Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
-        if (!(simpleTypeExists || complexTypeExists) && annotationNode != null)
-        {
-          //addCreateLocalSimpleTypeActionIfNotExist(manager,
-          // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
-          // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
-          // attributes, parent, annotationNode.getNextSibling());
-          //addCreateLocalComplexTypeActionIfNotExist(manager,
-          // XSDConstants.COMPLEXTYPE_ELEMENT_TAG, "Add Local Complex Type",
-          // attributes, parent, annotationNode.getNextSibling());
-          manager.add(new Separator());
-        }
-      }
-      else
-      {
-        // Should still be able to add the content models if the anonymous type
-        // exists,
-        // ie. with attributes
-        //        if (!(simpleTypeExists || complexTypeExists))
-        //        {
-        //addCreateLocalSimpleTypeActionIfNotExist(manager,
-        // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
-        // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
-        // attributes, parent, parent.getFirstChild());
-        //addCreateLocalComplexTypeActionIfNotExist(manager,
-        // XSDConstants.COMPLEXTYPE_ELEMENT_TAG, "Add Local Complex Type",
-        // attributes, parent, parent.getFirstChild());
-        if (concreteComponent != null)
-        {
-          AddModelGroupAction addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.SEQUENCE_LITERAL);
-          addModelGroupAction.setEnabled(!isReadOnly);
-          manager.add(addModelGroupAction);
-          
-          addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.CHOICE_LITERAL);
-          addModelGroupAction.setEnabled(!isReadOnly);
-          manager.add(addModelGroupAction);
-          
-          addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.ALL_LITERAL);
-          addModelGroupAction.setEnabled(!isReadOnly);
-          manager.add(addModelGroupAction);
-          
-          manager.add(new Separator());
-        }
-        //        }
-      }
-//      attributes = new ArrayList();
-//      attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_Unique"));
-//      addCreateIdentityConstraintsAction(manager, XSDConstants.UNIQUE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_UNIQUE"), attributes, parent, null);
-//      attributes = new ArrayList();
-//      attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_Key"));
-//      addCreateIdentityConstraintsAction(manager, XSDConstants.KEY_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_KEY"), attributes, parent, null);
-//      attributes = new ArrayList();
-//      attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_KeyRef"));
-//      addCreateIdentityConstraintsAction(manager, XSDConstants.KEYREF_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_KEY_REF"), attributes, parent, null);
-      XSDDOMHelper domHelper = new XSDDOMHelper();
-      Element anonymousType = (Element) domHelper.getChildNode(parent, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-      if (anonymousType != null)
-      {
-        manager.add(new Separator());
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType")));
-        addMoveAnonymousGlobal(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, anonymousType, null);
-        attributes = null;
-      }
-      anonymousType = (Element) domHelper.getChildNode(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      if (anonymousType != null)
-      {
-        manager.add(new Separator());
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
-        addMoveAnonymousGlobal(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, anonymousType, null);
-        attributes = null;
-      }
-      
-      manager.add(new Separator());
-      MenuManager setTypeCascadeMenu = new MenuManager("Set Type");
-      manager.add(setTypeCascadeMenu);
-
-      SetTypeAction setNewComplexTypeAction = new SetTypeAction("New Complex Type", ImageDescriptor.createFromFile(XSDEditorPlugin.class, "icons/XSDComplexType.gif"), concreteComponent);
-      setNewComplexTypeAction.setTypeKind(XSDConstants.COMPLEXTYPE_ELEMENT);
-      setTypeCascadeMenu.add(setNewComplexTypeAction);
-
-      SetTypeAction setNewSimpleTypeAction = new SetTypeAction("New Simple Type", ImageDescriptor.createFromFile(XSDEditorPlugin.class, "icons/XSDSimpleType.gif"), concreteComponent);
-      setNewSimpleTypeAction.setTypeKind(XSDConstants.SIMPLETYPE_ELEMENT);
-      setTypeCascadeMenu.add(setNewSimpleTypeAction);
-      
-      SetTypeAction setExistingTypeAction = new SetTypeAction("Set Existing Type...", concreteComponent);
-      setExistingTypeAction.setTypeKind(0);
-      setTypeCascadeMenu.add(setExistingTypeAction);
-      manager.add(new Separator());
-
-      if (!isGlobalElement)
-      {
-        addMultiplicityMenu(concreteComponent, manager);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SEQUENCE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals(parent, XSDConstants.CHOICE_ELEMENT_TAG, false))
-    { //
-      XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
-      
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      manager.add(new Separator());
-      addCreateElementAction(manager, XSDConstants.CHOICE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CHOICE"), attributes, parent, null);
-      addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SEQUENCE"), attributes, parent, null);
-      addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, null);
-      manager.add(new Separator());
-      attributes = new ArrayList();
-      attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ELEMENT_ELEMENT_TAG, "Element", false)));
-      attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-      addCreateElementAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT"), attributes, parent, null);
-      addCreateElementRefAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT_REF"), parent, null);
-      manager.add(new Separator());
-      attributes = null;
-      addCreateElementAction(manager, XSDConstants.ANY_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ELEMENT"), attributes, parent, null);
-      
-      addMultiplicityMenu(concreteComponent, manager);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ALL_ELEMENT_TAG, false))
-    { //
-      XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
-      
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      manager.add(new Separator());
-      attributes = new ArrayList();
-      attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ELEMENT_ELEMENT_TAG, "Element", false)));
-      attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-      addCreateElementAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT"), attributes, parent, null);
-      addCreateElementRefAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ELEMENT_REF"), parent, null);
-      
-      addMultiplicityMenu(concreteComponent, manager);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
-    { //
-      boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-          parent.getFirstChild());
-      boolean anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
-      Node anyAttributeNode = null;
-      manager.add(new Separator());
-      if (anyAttributeExists)
-      {
-        anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-        attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-        addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
-        attributes = null;
-        addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
-        addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
-      }
-      else
-      {
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-        attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-        addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-        attributes = null;
-        addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
-        addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
-      }
-      attributes = null;
-      addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, null);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.NOTATION_ELEMENT_TAG, false))
-    { //
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, null);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-    { //
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      boolean restrictionExists = elementExists(XSDConstants.RESTRICTION_ELEMENT_TAG, parent);
-      boolean unionExists = elementExists(XSDConstants.UNION_ELEMENT_TAG, parent);
-      boolean listExists = elementExists(XSDConstants.LIST_ELEMENT_TAG, parent);
-      if (!(restrictionExists || unionExists || listExists))
-      {
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, getBuiltInStringQName()));
-        addCreateElementActionIfNotExist(manager, XSDConstants.RESTRICTION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_RESTRICTION"), attributes, parent, null);
-        attributes = null;
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, getBuiltInStringQName()));
-        addCreateElementActionIfNotExist(manager, XSDConstants.UNION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_UNION"), attributes, parent, null);
-        attributes = null;
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, getBuiltInStringQName()));
-        addCreateElementActionIfNotExist(manager, XSDConstants.LIST_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LIST"), attributes, parent, null);
-        attributes = null;
-      }
-      if (XSDDOMHelper.inputEquals(parent.getParentNode(), XSDConstants.ELEMENT_ELEMENT_TAG, false))
-      {
-        manager.add(new Separator());
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
-        addMoveAnonymousGlobal(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, parent, null);
-        attributes = null;
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.GROUP_ELEMENT_TAG, false))
-    { //
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, null);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-    { //
-      boolean annotationExists = false;
-      boolean contentExists = false;
-      boolean complexOrSimpleContentExists = false;
-      boolean anyAttributeExists = false;
-      Node annotationNode = null;
-      Node contentNode = null;
-      Node anyAttributeNode = null;
-      NodeList children = parent.getChildNodes();
-      for (int i = 0; i < children.getLength(); i++)
-      {
-        Node child = children.item(i);
-        if (child != null && child instanceof Element)
-        {
-          if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
-          {
-            annotationNode = child;
-            annotationExists = true;
-          }
-          else if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.SEQUENCE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.ALL_ELEMENT_TAG, false)
-              || XSDDOMHelper.inputEquals((Element) child, XSDConstants.CHOICE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.GROUP_ELEMENT_TAG, true)
-              || XSDDOMHelper.inputEquals((Element) child, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-          {
-            contentExists = true;
-            contentNode = child;
-            if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals((Element) child, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-            {
-              complexOrSimpleContentExists = true;
-            }
-          }
-          else if (XSDDOMHelper.inputEquals((Element) child, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
-          {
-            anyAttributeExists = true;
-            anyAttributeNode = child;
-          }
-        }
-      }
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      manager.add(new Separator());
-      addSetBaseTypeAction(manager, parent);
-      XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
-      if (annotationExists)
-      {
-        if (!contentExists)
-        {
-          // Add content model
-          // addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG,
-          // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"),
-          // attributes, parent, annotationNode.getNextSibling());
-          if (concreteComponent != null)
-          {
-            AddModelGroupAction addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.SEQUENCE_LITERAL);
-            addModelGroupAction.setEnabled(!isReadOnly);
-            manager.add(addModelGroupAction);
-            
-            addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.CHOICE_LITERAL);
-            addModelGroupAction.setEnabled(!isReadOnly);
-            manager.add(addModelGroupAction);
-            
-            addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.ALL_LITERAL);
-            addModelGroupAction.setEnabled(!isReadOnly);
-            manager.add(addModelGroupAction);
-
-          }
-          // Temporarily remove this until we provide a graphical rep of these
-          // components
-          //          addCreateSimpleContentAction(manager,
-          // XSDConstants.SIMPLECONTENT_ELEMENT_TAG,
-          // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_CONTENT"),
-          // attributes,
-          // parent, annotationNode.getNextSibling());
-          //          addCreateSimpleContentAction(manager,
-          // XSDConstants.COMPLEXCONTENT_ELEMENT_TAG,
-          // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_CONTENT"),
-          // attributes,
-          // parent, annotationNode.getNextSibling());
-          addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, annotationNode.getNextSibling());
-          attributes = null;
-        }
-      }
-      else
-      {
-        if (!contentExists)
-        {
-          // Add content model
-          // addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG,
-          // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"),
-          // attributes, parent, parent.getFirstChild());
-          if (concreteComponent != null)
-          {
-            AddModelGroupAction addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.SEQUENCE_LITERAL);
-            addModelGroupAction.setEnabled(!isReadOnly);
-            manager.add(addModelGroupAction);
-            
-            addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.CHOICE_LITERAL);
-            addModelGroupAction.setEnabled(!isReadOnly);
-            manager.add(addModelGroupAction);
-            
-            addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.ALL_LITERAL);
-            addModelGroupAction.setEnabled(!isReadOnly);
-            manager.add(addModelGroupAction);
-
-          }
-          // Temporarily remove this until we provide a graphical rep of these
-          // components
-          //          addCreateSimpleContentAction(manager,
-          // XSDConstants.SIMPLECONTENT_ELEMENT_TAG,
-          // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_CONTENT"),
-          // attributes,
-          // parent, parent.getFirstChild());
-          //          addCreateSimpleContentAction(manager,
-          // XSDConstants.COMPLEXCONTENT_ELEMENT_TAG,
-          // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_CONTENT"),
-          // attributes,
-          // parent, parent.getFirstChild());
-          addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, parent.getFirstChild());
-          attributes = null;
-        }
-      }
-      manager.add(new Separator());
-      if (anyAttributeExists)
-      {
-        if (!complexOrSimpleContentExists)
-        {
-//          attributes = new ArrayList();
-//          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-//          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-//          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
-//          attributes = null;
-//          // ARE ATTRIBUTE GROUPS ALLOWED ?
-//          //          addCreateElementAction(manager,
-//          // XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
-//          // "_UI_ACTION_ADD_ATTRIBUTE_GROUP", attributes, parent,
-//          // anyAttributeNode);
-//          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
-//          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
-        }
-      }
-      else
-      {
-        if (!complexOrSimpleContentExists)
-        {
-//          attributes = new ArrayList();
-//          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-//          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-//          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-//          attributes = null;
-//          // ARE ATTRIBUTE GROUPS ALLOWED ?
-//          //          addCreateElementAction(manager,
-//          // XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
-//          // "_UI_ACTION_ADD_ATTRIBUTE_GROUP", attributes, parent,
-//          // parent.getLastChild());
-//          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
-//          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
-//          attributes = null;
-//          addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-        }
-      }
-      if (XSDDOMHelper.inputEquals(parent.getParentNode(), XSDConstants.ELEMENT_ELEMENT_TAG, false))
-      {
-        manager.add(new Separator());
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType")));
-        addMoveAnonymousGlobal(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, parent, null);
-        attributes = null;
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-    { //
-      XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
-      Element derivedByNode = xsdDOMHelper.getDerivedByElement(parent);
-      String derivedByName = xsdDOMHelper.getDerivedByName(parent);
-      boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-          parent.getFirstChild());
-      manager.add(new Separator());
-      if (derivedByNode == null)
-      {
-        TypesHelper typesHelper = new TypesHelper(getXSDSchema());
-        String firstType = "";
-        List listOfCT = typesHelper.getUserComplexTypeNamesList();
-        if (listOfCT.size() > 0)
-        {
-          firstType = (String) (listOfCT).get(0);
-        }
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, firstType));
-        addCreateElementActionIfNotExist(manager, XSDConstants.RESTRICTION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_RESTRICTION"), attributes, parent, null);
-        addCreateElementActionIfNotExist(manager, XSDConstants.EXTENSION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_EXTENSION"), attributes, parent, null);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-    { //
-      XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
-      Element derivedByNode = xsdDOMHelper.getDerivedByElement(parent);
-      String derivedByName = xsdDOMHelper.getDerivedByName(parent);
-      boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-          parent.getFirstChild());
-      manager.add(new Separator());
-      if (derivedByNode == null)
-      {
-        TypesHelper typesHelper = new TypesHelper(getXSDSchema());
-        String firstType = "";
-        List listOfCT = typesHelper.getUserComplexTypeNamesList();
-        if (listOfCT.size() > 0)
-        {
-          firstType = (String) (listOfCT).get(0);
-        }
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, firstType));
-        addCreateElementActionIfNotExist(manager, XSDConstants.RESTRICTION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_RESTRICTION"), attributes, parent, null);
-        addCreateElementActionIfNotExist(manager, XSDConstants.EXTENSION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_EXTENSION"), attributes, parent, null);
-      }
-      /*
-       * for combined SimpleContent and derivedBy nodes (but without
-       * restrictions) XSDDOMHelper xsdDOMHelper = new XSDDOMHelper(); Element
-       * derivedByNode = xsdDOMHelper.getDerivedByElement(parent); String
-       * derivedByName = xsdDOMHelper.getDerivedByName(parent);
-       * 
-       * if (derivedByNode != null) { if (derivedByName.equals("restriction")) {
-       * addCreateElementActionIfNotExist(manager,
-       * XSDConstants.SIMPLETYPE_ELEMENT_TAG, "_UI_ACTION_ADD_SIMPLE_TYPE",
-       * attributes, derivedByNode, relativeNode); }
-       * addCreateElementActionIfNotExist(manager,
-       * XSDConstants.ANNOTATION_ELEMENT_TAG, "_UI_ACTION_ADD_ANNOTATION",
-       * attributes, derivedByNode, relativeNode);
-       * addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG,
-       * "_UI_ACTION_ADD_ATTRIBUTE", attributes, derivedByNode, relativeNode);
-       * attributes = new ArrayList(); attributes.add(new
-       * DOMAttribute(XSDConstants.REF_ATTRIBUTE, ""));
-       * addCreateElementAction(manager,
-       * XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
-       * "_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF", attributes, derivedByNode,
-       * relativeNode); attributes = new ArrayList();
-       * addCreateElementActionIfNotExist(manager,
-       * XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, "_UI_ACTION_ADD_ANY_ATTRIBUTE",
-       * attributes, derivedByNode, relativeNode); } else { TypesHelper
-       * typesHelper = new TypesHelper(getXSDSchema()); String firstType =
-       * (String)(typesHelper.getBuiltInTypeNamesList()).get(0); attributes =
-       * new ArrayList(); attributes.add(new
-       * DOMAttribute(XSDConstants.BASE_ATTRIBUTE, firstType));
-       * 
-       * addCreateElementActionIfNotExist(manager,
-       * XSDConstants.ANNOTATION_ELEMENT_TAG, "_UI_ACTION_ADD_ANNOTATION",
-       * attributes, parent, relativeNode);
-       * addCreateElementActionIfNotExist(manager,
-       * XSDConstants.RESTRICTION_ELEMENT_TAG, "_UI_ACTION_ADD_RESTRICTION",
-       * attributes, parent, relativeNode);
-       * addCreateElementActionIfNotExist(manager,
-       * XSDConstants.EXTENSION_ELEMENT_TAG, "_UI_ACTION_ADD_EXTENSION",
-       * attributes, parent, relativeNode); }
-       */
-      //      addCreateElementActionIfNotExist(manager,
-      // XSDConstants.SEQUENCE_ELEMENT_TAG,
-      // "_UI_ACTION_ADD_CONTENT_MODEL", attributes, parent, relativeNode);
-      //      attributes = new ArrayList();
-      //      attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ""));
-      //      addCreateElementActionIfNotExist(manager,
-      // XSDConstants.GROUP_ELEMENT_TAG,
-      // "_UI_ADD_GROUP_REF", attributes, parent, relativeNode);
-      //      addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG,
-      // "_UI_ACTION_ADD_ATTRIBUTE", attributes, parent, relativeNode);
-      //      attributes = new ArrayList();
-      //      attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ""));
-      //      addCreateElementAction(manager,
-      // XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
-      // "_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF", attributes, parent,
-      // relativeNode);
-      //      addCreateElementActionIfNotExist(manager,
-      // XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, "_UI_ACTION_ADD_ANY_ATTRIBUTE",
-      // attributes, parent, relativeNode);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
-    {
-      Element parentNode = (Element) parent.getParentNode();
-      // <simpleContent>
-      //    <restriction>
-      //      ...
-      if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-      {
-        boolean annotationExists = false;
-        boolean anyAttributeExists = false;
-        Node anyAttributeNode = null;
-        anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
-        annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
-            .getFirstChild());
-        if (annotationExists)
-        {
-          Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
-          //addCreateLocalSimpleTypeActionIfNotExist(manager,
-          // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
-          // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
-          // attributes, parent, annotationNode.getNextSibling());
-        }
-        else
-        {
-          //addCreateLocalSimpleTypeActionIfNotExist(manager,
-          // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
-          // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
-          // attributes, parent, parent.getFirstChild());
-        }
-        /*
-         * addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG,
-         * "_UI_ACTION_ADD_ATTRIBUTE", attributes, parent, relativeNode);
-         * attributes = new ArrayList(); attributes.add(new
-         * DOMAttribute(XSDConstants.REF_ATTRIBUTE, ""));
-         * addCreateElementAction(manager,
-         * XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
-         * "_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF", attributes, parent,
-         * relativeNode); attributes = new ArrayList();
-         * addCreateElementActionIfNotExist(manager,
-         * XSDConstants.ANYATTRIBUTE_ELEMENT_TAG,
-         * "_UI_ACTION_ADD_ANY_ATTRIBUTE", attributes, parent, relativeNode);
-         */
-        manager.add(new Separator());
-        if (anyAttributeExists)
-        {
-          anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
-          attributes = null;
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
-        }
-        else
-        {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-          attributes = null;
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
-        }
-        attributes = null;
-        addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-      }
-      // <simpleType>
-      //    <restriction>
-      //      ...
-      else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-      {
-        boolean annotationExists = false;
-        attributes = null;
-        annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
-            .getFirstChild());
-        if (annotationExists)
-        {
-          Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
-          addCreateLocalSimpleTypeActionIfNotExist(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, annotationNode
-              .getNextSibling());
-        }
-        else
-        {
-          addCreateLocalSimpleTypeActionIfNotExist(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, parent
-              .getFirstChild());
-        }
-        manager.add(new Separator());
-        addCreateElementAction(manager, XSDConstants.PATTERN_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_PATTERN"), attributes, parent, null);
-        addCreateElementAction(manager, XSDConstants.ENUMERATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUM"), attributes, parent, null);
-        addEnumsAction(manager, XSDConstants.ENUMERATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUMS"), attributes, parent, null);
-      }
-      // <complexContent>
-      //    <restriction>
-      //      ...
-      else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-      {
-        boolean annotationExists = false;
-        boolean anyAttributeExists = false;
-        Node anyAttributeNode = null;
-        boolean sequenceExists = elementExists(XSDConstants.SEQUENCE_ELEMENT_TAG, parent);
-        boolean choiceExists = elementExists(XSDConstants.CHOICE_ELEMENT_TAG, parent);
-        boolean allExists = elementExists(XSDConstants.ALL_ELEMENT_TAG, parent);
-        boolean groupExists = elementExists(XSDConstants.GROUP_ELEMENT_TAG, parent);
-        anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
-        annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
-            .getFirstChild());
-        manager.add(new Separator());
-        if (annotationExists)
-        {
-          if (!(sequenceExists || choiceExists || allExists || groupExists))
-          {
-            Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
-            addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, annotationNode
-                .getNextSibling());
-            //            addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG,
-            // "_UI_ACTION_ADD_GROUP", attributes, parent,
-            // annotationNode.getNextSibling());
-            addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, annotationNode.getNextSibling());
-          }
-        }
-        else
-        {
-          if (!(sequenceExists || choiceExists || allExists || groupExists))
-          {
-            addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, parent.getFirstChild());
-            //            addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG,
-            // "_UI_ACTION_ADD_GROUP", attributes, parent,
-            // parent.getFirstChild());
-            addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, parent.getFirstChild());
-          }
-        }
-        manager.add(new Separator());
-        if (anyAttributeExists)
-        {
-          anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
-          attributes = null;
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
-        }
-        else
-        {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-          attributes = null;
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
-        }
-        attributes = null;
-        addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.EXTENSION_ELEMENT_TAG, false))
-    { //
-      Element parentNode = (Element) parent.getParentNode();
-      // <simpleContent>
-      //    <extension>
-      //      ...
-      if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-      {
-        boolean annotationExists = false;
-        boolean anyAttributeExists = false;
-        Node anyAttributeNode = null;
-        anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
-        annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
-            .getFirstChild());
-        manager.add(new Separator());
-        if (anyAttributeExists)
-        {
-          anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
-          attributes = null;
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
-        }
-        else
-        {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-          attributes = null;
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
-        }
-        attributes = null;
-        addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-      }
-      // <complexContent>
-      //    <extension>
-      //      ...
-      else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-      {
-        boolean annotationExists = false;
-        boolean anyAttributeExists = false;
-        Node anyAttributeNode = null;
-        boolean sequenceExists = elementExists(XSDConstants.SEQUENCE_ELEMENT_TAG, parent);
-        boolean choiceExists = elementExists(XSDConstants.CHOICE_ELEMENT_TAG, parent);
-        boolean allExists = elementExists(XSDConstants.ALL_ELEMENT_TAG, parent);
-        boolean groupExists = elementExists(XSDConstants.GROUP_ELEMENT_TAG, parent);
-        anyAttributeExists = elementExists(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, parent);
-        annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent
-            .getFirstChild());
-        manager.add(new Separator());
-        if (annotationExists)
-        {
-          if (!(sequenceExists || choiceExists || allExists || groupExists))
-          {
-            Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
-            addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, annotationNode
-                .getNextSibling());
-            //            addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG,
-            // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes,
-            // parent,
-            // annotationNode.getNextSibling());
-            addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, annotationNode.getNextSibling());
-          }
-        }
-        else
-        {
-          if (!(sequenceExists || choiceExists || allExists || groupExists))
-          {
-            addCreateElementActionIfNotExist(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, parent.getFirstChild());
-            //            addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG,
-            // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes,
-            // parent,
-            // parent.getFirstChild());
-            addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, parent.getFirstChild());
-          }
-        }
-        manager.add(new Separator());
-        if (anyAttributeExists)
-        {
-          anyAttributeNode = getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false);
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
-          attributes = null;
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
-        }
-        else
-        {
-          attributes = new ArrayList();
-          attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-          attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-          addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-          attributes = null;
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
-          addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
-        }
-        attributes = null;
-        addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.REDEFINE_ELEMENT_TAG, false))
-    { //
-      addCreateElementAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, null);
-      addCreateElementAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_TYPE"), attributes, parent, null);
-      addCreateElementAction(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_TYPE"), attributes, parent, null);
-      addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes, parent, null);
-      addCreateElementAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP"), attributes, parent, null);
-      manager.add(new Separator());
-      addOpenSchemaAction(manager, XSDEditorPlugin.getXSDString("_UI_ACTION_OPEN_SCHEMA"), parent);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.LIST_ELEMENT_TAG, false))
-    { //
-      boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-          parent.getFirstChild());
-      manager.add(new Separator());
-      addCreateLocalSimpleTypeActionIfNotExist(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, null);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.UNION_ELEMENT_TAG, false))
-    { //
-      boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-          parent.getFirstChild());
-      manager.add(new Separator());
-      addCreateLocalSimpleTypeAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, null);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.UNIQUE_ELEMENT_TAG, false))
-    { //
-      boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-          parent.getFirstChild());
-      manager.add(new Separator());
-      attributes = new ArrayList();
-      attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
-      if (annotationExists)
-      {
-        Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
-        addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, annotationNode.getNextSibling());
-      }
-      else
-      {
-        addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, parent.getFirstChild());
-      }
-      attributes = new ArrayList();
-      attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
-      addCreateElementAction(manager, XSDConstants.FIELD_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_FIELD"), attributes, parent, null);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.KEYREF_ELEMENT_TAG, false))
-    { //
-      boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-          parent.getFirstChild());
-      manager.add(new Separator());
-      attributes = new ArrayList();
-      attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
-      if (annotationExists)
-      {
-        Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
-        addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, annotationNode.getNextSibling());
-      }
-      else
-      {
-        addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, parent.getFirstChild());
-      }
-      attributes = new ArrayList();
-      attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
-      addCreateElementAction(manager, XSDConstants.FIELD_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_FIELD"), attributes, parent, null);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.KEY_ELEMENT_TAG, false))
-    { //
-      boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-          parent.getFirstChild());
-      manager.add(new Separator());
-      attributes = new ArrayList();
-      attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
-      if (annotationExists)
-      {
-        Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
-        addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, annotationNode.getNextSibling());
-      }
-      else
-      {
-        addCreateElementActionIfNotExist(manager, XSDConstants.SELECTOR_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SELECTOR"), attributes, parent, parent.getFirstChild());
-      }
-      attributes = new ArrayList();
-      attributes.add(new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, ""));
-      addCreateElementAction(manager, XSDConstants.FIELD_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_FIELD"), attributes, parent, null);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.IMPORT_ELEMENT_TAG, false))
-    {
-      addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      manager.add(new Separator());
-      addOpenSchemaAction(manager, XSDEditorPlugin.getXSDString("_UI_ACTION_OPEN_SCHEMA"), parent);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SELECTOR_ELEMENT_TAG, false))
-    {
-      addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.FIELD_ELEMENT_TAG, false))
-    {
-      addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.INCLUDE_ELEMENT_TAG, false))
-    {
-      addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      manager.add(new Separator());
-      addOpenSchemaAction(manager, XSDEditorPlugin.getXSDString("_UI_ACTION_OPEN_SCHEMA"), parent);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ANY_ELEMENT_TAG, false))
-    {
-      XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
-      addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      // need to add adapters for the ANY element.  I'd rather not provide this menu
-      // and let users see that the graph view doesn't update
-//      addMultiplicityMenu(concreteComponent, manager);
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
-    {
-      addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
-    {
-      addCreateElementActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      addCreateLocalSimpleTypeActionIfNotExist(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, null);
-    }
-    // Facets all have optional annotation nodes
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MINEXCLUSIVE_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MININCLUSIVE_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MAXEXCLUSIVE_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MAXINCLUSIVE_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.TOTALDIGITS_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.FRACTIONDIGITS_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.LENGTH_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MINLENGTH_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.MAXLENGTH_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ENUMERATION_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.WHITESPACE_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.PATTERN_ELEMENT_TAG, false))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
-    {
-      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-    }
-    else if (XSDDOMHelper.inputEquals(parent, XSDConstants.ELEMENT_ELEMENT_TAG, true))
-    {
-      // TODO common this up with the non-ref case
-//      addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-      XSDConcreteComponent xsdConcreteComponent = (XSDConcreteComponent)getXSDSchema().getCorrespondingComponent(parent);
-      if (xsdConcreteComponent instanceof XSDElementDeclaration)
-      {
-        XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)xsdConcreteComponent;
-        XSDElementDeclaration resolvedElementDeclaration = xsdElementDeclaration.getResolvedElementDeclaration();
-        if (resolvedElementDeclaration.getRootContainer() == xsdSchema)
-        {
-          parent = resolvedElementDeclaration.getElement(); 
-        
-          Element parentNode = (Element) parent.getParentNode();
-
-          boolean isGlobalElement = false;
-          if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-          {
-            isGlobalElement = true;
-          }
-          boolean annotationExists = addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent,
-              parent.getFirstChild());
-          boolean simpleTypeExists = elementExists(XSDConstants.SIMPLETYPE_ELEMENT_TAG, parent);
-          boolean complexTypeExists = elementExists(XSDConstants.COMPLEXTYPE_ELEMENT_TAG, parent);
-          manager.add(new Separator());
-          if (annotationExists)
-          {
-            Node annotationNode = getFirstChildNodeIfExists(parent, XSDConstants.ANNOTATION_ELEMENT_TAG, false);
-            if (!(simpleTypeExists || complexTypeExists) && annotationNode != null)
-            {
-              //addCreateLocalSimpleTypeActionIfNotExist(manager,
-              // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
-              // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
-              // attributes, parent, annotationNode.getNextSibling());
-              //addCreateLocalComplexTypeActionIfNotExist(manager,
-              // XSDConstants.COMPLEXTYPE_ELEMENT_TAG, "Add Local Complex Type",
-              // attributes, parent, annotationNode.getNextSibling());
-              manager.add(new Separator());
-            }
-          }
-          else
-          {
-            // Should still be able to add the content models if the anonymous type
-            // exists,
-            // ie. with attributes
-            //        if (!(simpleTypeExists || complexTypeExists))
-            //        {
-            //addCreateLocalSimpleTypeActionIfNotExist(manager,
-            // XSDConstants.SIMPLETYPE_ELEMENT_TAG,
-            // XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"),
-            // attributes, parent, parent.getFirstChild());
-            //addCreateLocalComplexTypeActionIfNotExist(manager,
-            // XSDConstants.COMPLEXTYPE_ELEMENT_TAG, "Add Local Complex Type",
-            // attributes, parent, parent.getFirstChild());
-            XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
-            if (concreteComponent != null)
-            {
-              AddModelGroupAction addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.SEQUENCE_LITERAL);
-              addModelGroupAction.setEnabled(!isReadOnly);
-              manager.add(addModelGroupAction);
-              
-              addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.CHOICE_LITERAL);
-              addModelGroupAction.setEnabled(!isReadOnly);
-              manager.add(addModelGroupAction);
-              
-              addModelGroupAction = new AddModelGroupAction(concreteComponent, XSDCompositor.ALL_LITERAL);
-              addModelGroupAction.setEnabled(!isReadOnly);
-              manager.add(addModelGroupAction);
-              
-              manager.add(new Separator());
-            }
-            //        }
-          }
-    //      attributes = new ArrayList();
-    //      attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_Unique"));
-    //      addCreateIdentityConstraintsAction(manager, XSDConstants.UNIQUE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_UNIQUE"), attributes, parent, null);
-    //      attributes = new ArrayList();
-    //      attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_Key"));
-    //      addCreateIdentityConstraintsAction(manager, XSDConstants.KEY_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_KEY"), attributes, parent, null);
-    //      attributes = new ArrayList();
-    //      attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, "New_KeyRef"));
-    //      addCreateIdentityConstraintsAction(manager, XSDConstants.KEYREF_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_KEY_REF"), attributes, parent, null);
-          XSDDOMHelper domHelper = new XSDDOMHelper();
-          Element anonymousType = (Element) domHelper.getChildNode(parent, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-          if (anonymousType != null)
-          {
-            manager.add(new Separator());
-            attributes = new ArrayList();
-            attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType")));
-            addMoveAnonymousGlobal(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, anonymousType, null);
-            attributes = null;
-          }
-          anonymousType = (Element) domHelper.getChildNode(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-          if (anonymousType != null)
-          {
-            manager.add(new Separator());
-            attributes = new ArrayList();
-            attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
-            addMoveAnonymousGlobal(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_MAKE_ANONYMOUS_TYPE_GLOBAL"), attributes, anonymousType, null);
-            attributes = null;
-          }
-        }
-        addMultiplicityMenu(xsdConcreteComponent, manager);
-      }
-    }
-    /*
-     * These have none else if (XSDDOMHelper.inputEquals(parent,
-     * XSDConstants.DOCUMENTATION_ELEMENT_TAG, false)) { } else if
-     * (XSDDOMHelper.inputEquals(parent, XSDConstants.APPINFO_ELEMENT_TAG,
-     * false)) { }
-     */
-    
-    XSDConcreteComponent concreteComponent = getXSDSchema().getCorrespondingComponent(parent);
-    if (concreteComponent instanceof XSDNamedComponent)
-    {
-      if (selectionProvider instanceof XSDSelectionManager)
-      {
-        if (sourceContext instanceof AbstractEditPartViewer)
-        {
-          AbstractEditPartViewer viewer = (AbstractEditPartViewer)sourceContext;
-        
-          Object obj = viewer.getSelectedEditParts().get(0);
-          
-          if (obj instanceof GraphicalEditPart)
-          {
-            boolean canEdit = true;
-            if (obj instanceof ElementDeclarationEditPart)
-            {
-              XSDElementDeclaration elem = ((ElementDeclarationEditPart)obj).getXSDElementDeclaration();
-              if (elem.isElementDeclarationReference())
-              {
-                canEdit = false;
-              }
-            }
-            else if (obj instanceof ModelGroupDefinitionEditPart)
-            {
-              XSDModelGroupDefinition group = ((ModelGroupDefinitionEditPart)obj).getXSDModelGroupDefinition();
-              if (group.isModelGroupDefinitionReference())
-              {
-                canEdit = false;
-              }
-            }
-            else if (obj instanceof ComplexTypeDefinitionEditPart)
-            {
-              XSDComplexTypeDefinition ct = ((ComplexTypeDefinitionEditPart)obj).getXSDComplexTypeDefinition();
-              if (ct.getName() == null) // anonymous
-              {
-                canEdit = false;
-              }
-            }
-            else if (obj instanceof TopLevelComponentEditPart)
-            {
-              canEdit = true;
-            }
-            else
-            {
-              canEdit = false;
-            }
-            if (canEdit)
-            {
-              GraphRenameAction graphRenameAction = new GraphRenameAction((XSDNamedComponent)concreteComponent, (GraphicalEditPart)obj);
-              manager.add(graphRenameAction);
-            }
-          }
-        }
-      }
-    }
-  }
-
-  protected void addContextInsertItems(IMenuManager manager, Element parent, Element currentElement, Node relativeNode)
-  {
-    ArrayList attributes = null;
-    if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.INCLUDE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals(currentElement, XSDConstants.IMPORT_ELEMENT_TAG, false)
-        || XSDDOMHelper.inputEquals(currentElement, XSDConstants.REDEFINE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals(currentElement, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
-    {
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        attributes = new ArrayList();
-        attributes.add(new DOMAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, ""));
-        addCreateElementAction(manager, XSDConstants.INCLUDE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_INCLUDE"), attributes, parent, relativeNode);
-        addCreateElementAction(manager, XSDConstants.IMPORT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_IMPORT"), null, parent, relativeNode);
-        addCreateElementAction(manager, XSDConstants.REDEFINE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_REDEFINE"), attributes, parent, relativeNode);
-        attributes = null;
-        addCreateElementAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), null, parent, relativeNode);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-    {
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        addSchemaElementItems(manager, parent, relativeNode);
-      }
-      //      else if (XSDDOMHelper.inputEquals(parent,
-      // XSDConstants.LIST_ELEMENT_TAG,
-      // false))
-      //      {
-      //        addCreateElementAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG,
-      // "_UI_ACTION_ADD_SIMPLE_TYPE", attributes, parent, relativeNode);
-      //      }
-      else if (XSDDOMHelper.inputEquals(parent, XSDConstants.UNION_ELEMENT_TAG, false))
-      {
-        addCreateLocalSimpleTypeAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LOCAL_SIMPLE_TYPE"), attributes, parent, relativeNode);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-    {
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        addSchemaElementItems(manager, parent, relativeNode);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.GROUP_ELEMENT_TAG, false))
-    {
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        addSchemaElementItems(manager, parent, relativeNode);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
-    {
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        addSchemaElementItems(manager, parent, relativeNode);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-    {
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        addSchemaElementItems(manager, parent, relativeNode);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
-    {
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        addSchemaElementItems(manager, parent, relativeNode);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.NOTATION_ELEMENT_TAG, false))
-    {
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        addSchemaElementItems(manager, parent, relativeNode);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.DOCUMENTATION_ELEMENT_TAG, false))
-    {
-      addCreateElementAction(manager, XSDConstants.DOCUMENTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_DOC"), attributes, parent, relativeNode);
-      addCreateElementAction(manager, XSDConstants.APPINFO_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_APP_INFO"), attributes, parent, relativeNode);
-    }
-    else if (XSDDOMHelper.inputEquals(currentElement, XSDConstants.APPINFO_ELEMENT_TAG, false))
-    {
-      addCreateElementAction(manager, XSDConstants.DOCUMENTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_DOC"), attributes, parent, relativeNode);
-      addCreateElementAction(manager, XSDConstants.APPINFO_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_APP_INFO"), attributes, parent, relativeNode);
-    }
-  }
-
-  protected String getNewGlobalName(String elementTag, String description)
-  {
-    return getNewGlobalName(elementTag, description, false);
-  }
-
-  protected String getNewGlobalTypeName(String description)
-  {
-    return getNewGlobalName(null, description, true);
-  }
-
-  protected String getNewGlobalName(String elementTag, String description, boolean isSimpleOrComplexType)
-  {  
-     return getNewName(getXSDSchema().getDocument(), elementTag, description, isSimpleOrComplexType);
-  }
-
-  // TODO.. .we need to rewrite this code to me model driven... not document driven
-  //
-  protected String getNewName(Node parentNode, String elementTag, String description, boolean isSimpleOrComplexType)
-  {
-    NodeList list = null;
-    NodeList typeList2 = null;
-    // if the global name is for a simple or complex type, we ignore the
-    // elementTag and populate 2 lists
-    // one to look for all simple types and the other to look for all complex
-    // types
-    if (isSimpleOrComplexType)
-    {
-      if (parentNode instanceof Document)
-      {
-        list = ((Document) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-        typeList2 = ((Document) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      }
-      else if (parentNode instanceof Element)
-      {
-        list = ((Element) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-        typeList2 = ((Element) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      }
-    }
-    else
-    {
-      if (parentNode instanceof Document)
-      {
-        list = ((Document) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, elementTag);
-      }
-      else if (parentNode instanceof Element)
-      {
-        list = ((Element) parentNode).getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, elementTag);
-      }
-    }
-    String name = "New" + description;
-    if (list == null || list.getLength() == 0 && (typeList2 != null && typeList2.getLength() == 0))
-    {
-      return name;
-    }
-    for (int i = 1; i < 100; i++)
-    {
-      boolean newName = false;
-      for (int j = 0; j < list.getLength(); j++)
-      {
-        String currName = ((Element) list.item(j)).getAttribute(XSDConstants.NAME_ATTRIBUTE);
-        if (currName == null || currName.length() == 0)
-        {
-          continue;
-        }
-        if (currName.equals(name))
-        {
-          name = "New" + description + String.valueOf(i);
-          newName = true;
-          break;
-        }
-      }
-      // if there is another type list and we haven't created a new name, then
-      // check the type list
-      if (typeList2 != null && !newName)
-      {
-        for (int j = 0; j < typeList2.getLength(); j++)
-        {
-          String currName = ((Element) typeList2.item(j)).getAttribute(XSDConstants.NAME_ATTRIBUTE);
-          if (currName == null || currName.length() == 0)
-          {
-            continue;
-          }
-          if (currName.equals(name))
-          {
-            name = "New" + description + String.valueOf(i);
-            break;
-          }
-        }
-      }
-    }
-    return name;
-  }
-
-  protected String getFirstGlobalElementTagName(String elementTag)
-  {
-    //XMLModel model = getXMLModel();
-    //if (model != null)
-    {
-      String targetNamespace = "";
-      XSDSchema schema = getXSDSchema();
-      TypesHelper helper = new TypesHelper(schema);
-      String prefix = "";
-      if (schema != null)
-      {
-        prefix = helper.getPrefix(schema.getTargetNamespace(), true);
-      }
-      // get the schema node
-      NodeList slist = schema.getDocument().getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.SCHEMA_ELEMENT_TAG);
-      Node schemaNode = null;
-      if (slist != null && slist.getLength() > 0)
-      {
-        schemaNode = slist.item(0);
-      }
-      NodeList list = null;
-      // get the schema's direct children - hence, globals
-      if (schemaNode != null)
-      {
-        list = schemaNode.getChildNodes();
-      }
-      String name = null;
-      if (list != null)
-      {
-        // Performance issue perhaps?
-        for (int i = 0; i < list.getLength(); i++)
-        {
-          if (list.item(i) instanceof Element)
-          {
-            if (list.item(i).getLocalName().equals(elementTag))
-            {
-              name = ((Element) list.item(i)).getAttribute(XSDConstants.NAME_ATTRIBUTE);
-              if (name != null && name.length() > 0)
-              {
-                return prefix + name;
-              }
-            }
-          }
-        }
-      }
-      if (elementTag.equals(XSDConstants.ELEMENT_ELEMENT_TAG))
-      {
-        return helper.getGlobalElement(schema);
-      }
-      else if (elementTag.equals(XSDConstants.ATTRIBUTE_ELEMENT_TAG))
-      {
-        return helper.getGlobalAttribute(schema);
-      }
-      else if (elementTag.equals(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG))
-      {
-        return helper.getGlobalAttributeGroup(schema);
-      }
-      else if (elementTag.equals(XSDConstants.GROUP_ELEMENT_TAG))
-      {
-        return helper.getModelGroup(schema);
-      }
-    }
-    return null;
-  }
-
-  protected void addSchemaElementItems(IMenuManager manager, Element parent, Node relativeNode)
-  {
-    ArrayList attributes = null;
-    // Add Edit Namespaces menu action
-    //////////////// Externalize String below!!!!!
-    XSDEditNamespacesAction nsAction = new XSDEditNamespacesAction(XSDEditorPlugin.getXSDString("_UI_ACTION_EDIT_NAMESPACES"), parent, relativeNode, getXSDSchema());
-    manager.add(nsAction);
-    manager.add(new Separator());
-    DOMAttribute nameAttribute = new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("ComplexType"));
-    attributes = new ArrayList();
-    attributes.add(nameAttribute);
-    Action action = addCreateElementAction(manager, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_TYPE"), attributes, parent, relativeNode);
-    ((CreateElementAction) action).setIsGlobal(true);
-    attributes = new ArrayList();
-    attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalTypeName("SimpleType")));
-    action = addCreateElementAction(manager, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_TYPE"), attributes, parent, relativeNode);
-    ((CreateElementAction) action).setIsGlobal(true);
-    attributes = new ArrayList();
-    attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ELEMENT_ELEMENT_TAG, "GlobalElement")));
-    attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-    action = addCreateElementAction(manager, XSDConstants.ELEMENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GLOBAL_ELEMENT"), attributes, parent, relativeNode);
-    ((CreateElementAction) action).setIsGlobal(true);
-    attributes = new ArrayList();
-    attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ATTRIBUTE_ELEMENT_TAG, "GlobalAttribute")));
-    attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-    action = addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GLOBAL_ATTRIBUTE"), attributes, parent, relativeNode);
-    ((CreateElementAction) action).setIsGlobal(true);
-    attributes = new ArrayList();
-    attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, "AttributeGroup")));
-    action = addCreateElementAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP"), attributes, parent, relativeNode);
-    ((CreateElementAction) action).setIsGlobal(true);
-    attributes = new ArrayList();
-    attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.GROUP_ELEMENT_TAG, "Group")));
-    CreateGroupAction groupAction = addCreateGroupAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_GROUP"), attributes, parent, relativeNode);
-    groupAction.setIsGlobal(true);
-    attributes = new ArrayList();
-    attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE, getNewGlobalName(XSDConstants.NOTATION_ELEMENT_TAG, "Notation")));
-    attributes.add(new DOMAttribute(XSDConstants.PUBLIC_ATTRIBUTE, ""));
-    action = addCreateElementAction(manager, XSDConstants.NOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_NOTATION"), attributes, parent, relativeNode);
-    ((CreateElementAction) action).setIsGlobal(true);
-    action = addCreateElementAction(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), null, parent, relativeNode);
-    ((CreateElementAction) action).setIsGlobal(true);
-  }
-
-  // returns whether element exists already
-  protected boolean addCreateElementActionIfNotExist(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    //    if
-    // (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
-    // elementTag).getLength() > 0))
-    //    XSDDOMHelper helper = new XSDDOMHelper();
-    //    if (helper.getChildNode(parent, elementTag) == null)
-    if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
-    {
-      addCreateElementAction(manager, elementTag, label, attributes, parent, relativeNode);
-      return false;
-    }
-    return true;
-  }
-
-  protected Action addCreateElementAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    CreateElementAction action = new CreateElementAction(label);
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    action.setXSDSchema(getXSDSchema());
-    action.setSelectionProvider(selectionProvider);
-    action.setEnabled(!isReadOnly);
-    action.setSourceContext(sourceContext);
-    manager.add(action);
-    return action;
-  }
-
-  protected void addCreateElementAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode, boolean isEnabled)
-  {
-    Action action = addCreateElementAction(manager, elementTag, label, attributes, parent, relativeNode);
-    action.setEnabled(isEnabled);
-  }
-
-  protected void addCreateElementRefAction(IMenuManager manager, String elementTag, String label, Element parent, Node relativeNode)
-  {
-    ArrayList attributes = new ArrayList();
-    String ref = getFirstGlobalElementTagName(elementTag);
-    attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ref));
-    Action action = addCreateElementAction(manager, elementTag, label, attributes, parent, relativeNode);
-    action.setEnabled(ref != null && !isReadOnly);
-  }
-
-  protected void addCreateSimpleContentAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    //    if
-    // (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
-    // elementTag).getLength() > 0))
-    if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
-    {
-      CreateSimpleContentAction action = new CreateSimpleContentAction(label, getXSDSchema());
-      action.setElementTag(elementTag);
-      action.setAttributes(attributes);
-      action.setParentNode(parent);
-      action.setRelativeNode(relativeNode);
-      action.setEnabled(!isReadOnly);
-      manager.add(action);
-    }
-  }
-
-  protected CreateGroupAction addCreateGroupAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    CreateGroupAction action = new CreateGroupAction(label, getXSDSchema());
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    action.setXSDSchema(getXSDSchema());
-    action.setSelectionProvider(selectionProvider);
-    action.setEnabled(!isReadOnly);
-    action.setSourceContext(sourceContext);
-    manager.add(action);
-    return action;
-  }
-
-  protected void addCreateIdentityConstraintsAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    CreateIdentityConstraintsAction action = new CreateIdentityConstraintsAction(label, getXSDSchema());
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    action.setXSDSchema(getXSDSchema());
-    action.setSelectionProvider(selectionProvider);
-    action.setEnabled(!isReadOnly);
-    manager.add(action);
-  }
-
-  protected void addEnumsAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    AddEnumsAction action = new AddEnumsAction(label);
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    action.setDescription(XSDEditorPlugin.getXSDString("_UI_ENUMERATIONS_DIALOG_TITLE"));
-    action.setEnabled(!isReadOnly);
-    manager.add(action);
-  }
-
-  protected Action addCreateSimpleTypeAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    CreateSimpleTypeAction action = new CreateSimpleTypeAction(label);
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    action.setXSDSchema(getXSDSchema());
-    action.setSelectionProvider(selectionProvider);
-    action.setEnabled(!isReadOnly);
-    action.setSourceContext(sourceContext);
-    manager.add(action);
-    return action;
-  }
-
-  protected boolean addCreateLocalSimpleTypeActionIfNotExist(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    //    if
-    // (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
-    // elementTag).getLength() > 0))
-    //    XSDDOMHelper helper = new XSDDOMHelper();
-    //    if (helper.getChildNode(parent, elementTag) == null)
-    if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
-    {
-      addCreateLocalSimpleTypeAction(manager, elementTag, label, attributes, parent, relativeNode);
-      return false;
-    }
-    return true;
-  }
-
-  protected void addSetBaseTypeAction(IMenuManager manager, Element element)
-  {
-    SetBaseTypeAction action = new SetBaseTypeAction(XSDEditorPlugin.getXSDString("_UI_ACTION_SET_BASE_TYPE"));// +
-    // "...");
-    action.setComplexTypeElement(element);
-    action.setXSDSchema(getXSDSchema());
-    action.setEnabled(!isReadOnly);
-    manager.add(action);
-  }
-
-  protected void addCreateLocalSimpleTypeAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    CreateLocalSimpleTypeAction action = new CreateLocalSimpleTypeAction(label);
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    action.setXSDSchema(getXSDSchema());
-    action.setSelectionProvider(selectionProvider);
-    action.setEnabled(!isReadOnly);
-    manager.add(action);
-  }
-
-  protected boolean addCreateLocalComplexTypeActionIfNotExist(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
-    {
-      addCreateLocalComplexTypeAction(manager, elementTag, label, attributes, parent, relativeNode);
-      return false;
-    }
-    return true;
-  }
-
-  protected void addCreateLocalComplexTypeAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    CreateLocalComplexTypeAction action = new CreateLocalComplexTypeAction(label);
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    action.setXSDSchema(getXSDSchema());
-    action.setSelectionProvider(selectionProvider);
-    action.setEnabled(!isReadOnly);
-    manager.add(action);
-  }
-
-  protected boolean addCreateAnnotationActionIfNotExist(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    //    if
-    // (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
-    // elementTag).getLength() > 0))
-    //    XSDDOMHelper helper = new XSDDOMHelper();
-    //    if (helper.getChildNode(parent, elementTag) == null)
-    // CS... I comment the
-    //
-    //if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
-    //{
-    //  addCreateAnnotationAction(manager,elementTag,label,attributes,parent,relativeNode);
-    //  return false;
-    //}
-    //return true;
-    return false;
-  }
-
-  protected void addOpenSchemaAction(IMenuManager manager, String label, Element parent)
-  {
-    OpenSchemaAction openAction = new OpenSchemaAction(label, getXSDSchema().getCorrespondingComponent(parent));
-    manager.add(openAction);
-  }
-
-  protected void addMoveAnonymousGlobal(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    MakeAnonymousGlobal action = new MakeAnonymousGlobal(label, parent, getXSDSchema());
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(getXSDSchema().getElement());
-    action.setRelativeNode(relativeNode);
-    action.setEnabled(!isReadOnly);
-    manager.add(action);
-  }
-
-  protected void addCreateAnnotationAction(IMenuManager manager, String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    CreateAnnotationAction action = new CreateAnnotationAction(label);
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    action.setEnabled(!isReadOnly);
-    manager.add(action);
-  }
-
-  protected Node getFirstChildNodeIfExists(Node parent, String elementTag, boolean isRef)
-  {
-    if (parent == null)
-      return null;
-    NodeList children = parent.getChildNodes();
-    Node targetNode = null;
-    for (int i = 0; i < children.getLength(); i++)
-    {
-      Node child = children.item(i);
-      if (child != null && child instanceof Element)
-      {
-        if (XSDDOMHelper.inputEquals((Element) child, elementTag, isRef))
-        {
-          targetNode = child;
-          break;
-        }
-      }
-    }
-    return targetNode;
-  }
-
-  protected boolean elementExists(String elementTag, Element parent)
-  {
-    if (!(parent.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, elementTag).getLength() > 0))
-    {
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * Returns the deleteAction.
-   * 
-   * @return DeleteAction
-   */
-  public DeleteAction getDeleteAction()
-  {
-    return deleteAction;
-  }
-  
-  protected void addMultiplicityMenu(XSDConcreteComponent concreteComponent, IMenuManager manager)
-  {
-    SetMultiplicityAction oneMultiplicity = new SetMultiplicityAction(concreteComponent, "1");
-    oneMultiplicity.setMaxOccurs(1);
-    oneMultiplicity.setMinOccurs(1);
-    SetMultiplicityAction zeroOrMoreMultiplicity = new SetMultiplicityAction(concreteComponent, "0..* (Zero or More)");
-    zeroOrMoreMultiplicity.setMaxOccurs(-1);
-    zeroOrMoreMultiplicity.setMinOccurs(0);
-    SetMultiplicityAction zeroOrOneMultiplicity = new SetMultiplicityAction(concreteComponent, "0..1 (Zero or One)");
-    zeroOrOneMultiplicity.setMaxOccurs(1);
-    zeroOrOneMultiplicity.setMinOccurs(0);
-    SetMultiplicityAction oneOrMoreMultiplicity = new SetMultiplicityAction(concreteComponent, "1..* (One or More)");
-    oneOrMoreMultiplicity.setMaxOccurs(-1);
-    oneOrMoreMultiplicity.setMinOccurs(1);
-    
-    MenuManager multiplicityMenu = new MenuManager("Set Multiplicity");
-    manager.add(multiplicityMenu);
-    multiplicityMenu.add(oneMultiplicity);
-    multiplicityMenu.add(zeroOrOneMultiplicity);
-    multiplicityMenu.add(zeroOrMoreMultiplicity);
-    multiplicityMenu.add(oneOrMoreMultiplicity);    
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java
deleted file mode 100644
index 0673533..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java
+++ /dev/null
@@ -1,726 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-
-import org.eclipse.core.internal.resources.ResourceException;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextInputListener;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IGotoMarker;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageEditorSite;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.xml.core.XMLPreferenceNames;
-import org.eclipse.wst.xml.ui.StructuredTextEditorXML;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class XSDMultiPageEditorPart extends MultiPageEditorPart implements IPropertyListener
-{
-
-  /**
-   * 
-   */
-  public XSDMultiPageEditorPart()
-  {
-    super();
-  }
-  
-  /**
-   * Internal part activation listener
-   */
-  class PartListener extends ShellAdapter implements IPartListener {
-    private IWorkbenchPart fActivePart;
-    private boolean fIsHandlingActivation = false;
-
-    private void handleActivation() {
-
-      if (fIsHandlingActivation)
-        return;
-
-      if (fActivePart == XSDMultiPageEditorPart.this) {
-        fIsHandlingActivation = true;
-        try {
-          safelySanityCheckState();
-        }
-        finally {
-          fIsHandlingActivation = false;
-        }
-      }
-    }
-
-    /**
-     * @see IPartListener#partActivated(IWorkbenchPart)
-     */
-    public void partActivated(IWorkbenchPart part) {
-      fActivePart = part;
-      handleActivation();
-    }
-
-    /**
-     * @see IPartListener#partBroughtToTop(IWorkbenchPart)
-     */
-    public void partBroughtToTop(IWorkbenchPart part) {
-    }
-
-    /**
-     * @see IPartListener#partClosed(IWorkbenchPart)
-     */
-    public void partClosed(IWorkbenchPart part) {
-    }
-
-    /**
-     * @see IPartListener#partDeactivated(IWorkbenchPart)
-     */
-    public void partDeactivated(IWorkbenchPart part) {
-      fActivePart = null;
-    }
-
-    /**
-     * @see IPartListener#partOpened(IWorkbenchPart)
-     */
-    public void partOpened(IWorkbenchPart part) {
-    }
-
-    /*
-     * @see ShellListener#shellActivated(ShellEvent)
-     */
-    public void shellActivated(ShellEvent e) {
-      handleActivation();
-    }
-  }
-
-  class TextInputListener implements ITextInputListener {
-    public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
-    }
-
-    public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
-    }
-  }
-
-  /** The source page index. */
-  private int fSourcePageIndex;
-  /** The text editor. */
-  private StructuredTextEditor fTextEditor;
-
-  private PartListener partListener;
-
-
-  /*
-   * This method is just to make firePropertyChanged accessbible from some
-   * (anonomous) inner classes.
-   */
-  protected void _firePropertyChange(int property) {
-    super.firePropertyChange(property);
-  }
-
-  /**
-   * Adds the source page of the multi-page editor.
-   */
-  protected void addSourcePage() throws PartInitException {
-    try {
-      fSourcePageIndex = addPage(fTextEditor, getEditorInput());
-      setPageText(fSourcePageIndex, XSDEditorPlugin.getXSDString("_UI_TAB_SOURCE")); //$NON-NLS-1$
-      // the update's critical, to get viewer selection manager and
-      // highlighting to work
-      fTextEditor.update();
-  
-      firePropertyChange(PROP_TITLE);
-  
-      // Changes to the Text Viewer's document instance should also force an
-      // input refresh
-      fTextEditor.getTextViewer().addTextInputListener(new TextInputListener());
-    }
-    catch (PartInitException exception) {
-      // dispose editor
-      dispose();
-
-      throw new SourceEditingRuntimeException(SSECorePlugin.getResourceString("An_error_has_occurred_when1_ERROR_")); //$NON-NLS-1$
-    }
-  }
-
-
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.part.MultiPageEditorPart#createPages()
-   */
-  protected void createPages()
-  {
-    try
-    {
-      // source page MUST be created before design page, now
-      createSourcePage();
-      addSourcePage();
-      setActivePage();
-
-    // future_TODO: add a catch block here for any exception the design
-    // page throws and convert it into a more informative message.
-    }
-    catch (PartInitException e) {
-      throw new RuntimeException(e);
-    }
-  }
-
-  /**
-   * @see org.eclipse.ui.part.MultiPageEditorPart#createSite(org.eclipse.ui.IEditorPart)
-   */
-  protected IEditorSite createSite(IEditorPart editor) {
-    IEditorSite site = null;
-    if (editor == fTextEditor) {
-      site = new MultiPageEditorSite(this, editor) {
-        /**
-         * @see org.eclipse.ui.part.MultiPageEditorSite#getActionBarContributor()
-         */
-        public IEditorActionBarContributor getActionBarContributor() {
-          IEditorActionBarContributor contributor = super.getActionBarContributor();
-          IEditorActionBarContributor multiContributor = XSDMultiPageEditorPart.this.getEditorSite().getActionBarContributor();
-//          if (multiContributor instanceof XMLMultiPageEditorActionBarContributor) {
-//            contributor = ((XMLMultiPageEditorActionBarContributor) multiContributor).sourceViewerActionContributor;
-//          }
-          return contributor;
-        }
-      };
-    }
-    else {
-      site = super.createSite(editor);
-    }
-    return site;
-  }
-
-  /**
-   * Creates the source page of the multi-page editor.
-   */
-  protected void createSourcePage() throws PartInitException {
-    fTextEditor = createTextEditor();
-    fTextEditor.setEditorPart(this);
-
-    // Set the SourceViewerConfiguration now so the text editor won't use
-    // the default configuration first
-    // and switch to the StructuredTextViewerConfiguration later.
-    // DMW removed setSourceViewerConfiguration 3/26/2003 since added
-    // createPartControl to our text editor.
-    // fTextEditor.setSourceViewerConfiguration();
-    fTextEditor.addPropertyListener(this);
-  }
-
-  /**
-   * Method createTextEditor.
-   * 
-   * @return StructuredTextEditor
-   */
-  protected StructuredTextEditor createTextEditor() {
-    return new StructuredTextEditorXML();
-  }
-
-  public void dispose()
-  {
-    IWorkbenchWindow window = getSite().getWorkbenchWindow();
-    window.getPartService().removePartListener(partListener);
-    window.getShell().removeShellListener(partListener);
-
-    getSite().getPage().removePartListener(partListener);
-    if (fTextEditor != null) {
-      fTextEditor.removePropertyListener(this);
-    }
-
-    // moved to last when added window ... seems like
-    // we'd be in danger of losing some data, like site,
-    // or something.
-    super.dispose();
-  }
-
-  /*
-   * (non-Javadoc) Saves the contents of this editor. <p> Subclasses must
-   * override this method to implement the open-save-close lifecycle for an
-   * editor. For greater details, see <code> IEditorPart </code></p>
-   * 
-   * @see IEditorPart
-   */
-  public void doSave(IProgressMonitor monitor) {
-    fTextEditor.doSave(monitor);
-    //    // this is a temporary way to force validation.
-    //    // when the validator is a workbench builder, the following lines
-    // can be removed
-    //    if (fDesignViewer != null)
-    //      fDesignViewer.saveOccurred();
-
-  }
-
-  /*
-   * (non-Javadoc) Saves the contents of this editor to another object. <p>
-   * Subclasses must override this method to implement the open-save-close
-   * lifecycle for an editor. For greater details, see <code> IEditorPart
-   * </code></p>
-   * 
-   * @see IEditorPart
-   */
-  public void doSaveAs() {
-    fTextEditor.doSaveAs();
-    // 253619
-    // following used to be executed here, but is
-    // now called "back" from text editor (since
-    // mulitiple paths to the performSaveAs in StructuredTextEditor.
-    //doSaveAsForStructuredTextMulitPagePart();
-  }
-
-  private void editorInputIsAcceptable(IEditorInput input) throws PartInitException {
-    if (input instanceof IFileEditorInput) {
-      // verify that it can be opened
-      CoreException[] coreExceptionArray = new CoreException[1];
-      if (fileDoesNotExist((IFileEditorInput) input, coreExceptionArray)) {
-        // todo use message formatter for {0}
-        Throwable coreException = coreExceptionArray[0];
-        if (coreException instanceof ResourceException) {
-          // I'm assuming this is always 'does not exist'
-          // we'll refresh local go mimic behavior of default
-          // editor, where the
-          // troublesome file is refreshed (and will cause it to
-          // 'disappear' from Navigator.
-          try {
-            ((IFileEditorInput) input).getFile().refreshLocal(IResource.DEPTH_ZERO, new NullProgressMonitor());
-          }
-          catch (CoreException ce) {
-            // very unlikely
-//            Logger.logException(ce);
-          }
-          throw new PartInitException(SSECorePlugin.getResourceString("23concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
-          //$NON-NLS-1$ = "Resource {0} does not exist."
-        }
-        else {
-          throw new PartInitException(SSECorePlugin.getResourceString("32concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
-          //$NON-NLS-1$ = "Editor could not be open on {0}"
-        }
-      }
-    }
-    else if (input instanceof IStorageEditorInput) {
-      InputStream contents = null;
-      try {
-        contents = ((IStorageEditorInput) input).getStorage().getContents();
-      }
-      catch (CoreException noStorageExc) {
-      }
-      if (contents == null) {
-        throw new PartInitException(SSECorePlugin.getResourceString("32concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
-      }
-      else {
-        try {
-          contents.close();
-        }
-        catch (IOException e) {
-        }
-      }
-    }
-  }
-
-  //  void doSaveAsForStructuredTextMulitPagePart() {
-  //    setPageText(getActivePage(), fTextEditor.getTitle());
-  //    setInput(fTextEditor.getEditorInput());
-  //    if (fDesignViewer != null) {
-  //      //fDesignViewer.setEditorInput(fTextEditor.getEditorInput());
-  //      fDesignViewer.setModel(getModel());
-  //      fDesignViewer.saveAsOccurred();
-  //    }
-  //    // even though we've set title etc., several times already!
-  //    // only now is all prepared for it.
-  //    firePropertyChange(IWorkbenchPart.PROP_TITLE);
-  //    firePropertyChange(PROP_DIRTY);
-  //  }
-  /*
-   * (non-Javadoc) Initializes the editor part with a site and input. <p>
-   * Subclasses of <code> EditorPart </code> must implement this method.
-   * Within the implementation subclasses should verify that the input type
-   * is acceptable and then save the site and input. Here is sample code:
-   * </p><pre> if (!(input instanceof IFileEditorInput)) throw new
-   * PartInitException("Invalid Input: Must be IFileEditorInput");
-   * setSite(site); setInput(editorInput); </pre>
-   */
-  protected boolean fileDoesNotExist(IFileEditorInput input, Throwable[] coreException) {
-    boolean result = false;
-    InputStream inStream = null;
-    if ((!(input.exists())) || (!(input.getFile().exists()))) {
-      result = true;
-    }
-    else {
-      try {
-        inStream = input.getFile().getContents(true);
-      }
-      catch (CoreException e) {
-        // very likely to be file not found
-        result = true;
-        coreException[0] = e;
-      }
-      finally {
-        if (input != null) {
-          try {
-            if (inStream != null) {
-              inStream.close();
-            }
-          }
-          catch (IOException e) {
-
-          }
-        }
-      }
-    }
-    return result;
-  }
-
-  public Object getAdapter(Class key) {
-    Object result = null;
-
-      // DMW: I'm bullet-proofing this because
-      // its been reported (on 4.03 version) a null pointer sometimes
-      // happens here on startup, when an editor has been left
-      // open when workbench shutdown.
-      if (fTextEditor != null) {
-        result = fTextEditor.getAdapter(key);
-      }
-    return result;
-  }
-
-  /**
-   * IExtendedMarkupEditor method
-   */
-  public Node getCaretNode() {
-    if (getTextEditor() == null)
-      return null;
-
-    return getTextEditor().getCaretNode();
-  }
-
-  /**
-   * IExtendedSimpleEditor method
-   */
-  public int getCaretPosition() {
-    if (getTextEditor() == null)
-      return -1;
-
-    return getTextEditor().getCaretPosition();
-  }
-
-  /**
-   * IExtendedSimpleEditor method
-   */
-  public IDocument getDocument() {
-    if (getTextEditor() == null)
-      return null;
-
-    return getTextEditor().getDocument();
-  }
-
-  /**
-   * IExtendedMarkupEditor method
-   */
-  public Document getDOMDocument() {
-    if (getTextEditor() == null)
-      return null;
-
-    return getTextEditor().getDOMDocument();
-  }
-
-  /**
-   * IExtendedSimpleEditor method
-   */
-  public IEditorPart getEditorPart() {
-    return this;
-  }
-
-  protected IStructuredModel getModel() {
-    IStructuredModel model = null;
-    if (fTextEditor != null)
-      model = fTextEditor.getModel();
-    return model;
-  }
-
-  protected IPreferenceStore getPreferenceStore() {
-    return XSDEditorPlugin.getPlugin().getPreferenceStore();
-  }
-
-  /**
-   * IExtendedMarkupEditor method
-   */
-  public List getSelectedNodes() {
-    if (getTextEditor() == null)
-      return null;
-    return getTextEditor().getSelectedNodes();
-  }
-
-  /**
-   * IExtendedSimpleEditor method
-   */
-  public Point getSelectionRange() {
-    if (getTextEditor() == null)
-      return new Point(-1, -1);
-
-    return getTextEditor().getSelectionRange();
-  }
-
-  public StructuredTextEditor getTextEditor() {
-    return fTextEditor;
-  }
-
-  /*
-   * (non-Javadoc) Method declared on IWorkbenchPart.
-   */
-  public String getTitle() {
-    String title = null;
-    if (getTextEditor() == null) {
-      if (getEditorInput() != null) {
-        title = getEditorInput().getName();
-      }
-    }
-    else {
-      title = getTextEditor().getTitle();
-    }
-    if (title == null) {
-      title = getPartName();
-    }
-    return title;
-  }
-
-  /*
-   * (non-Javadoc) Sets the cursor and selection state for this editor to
-   * the passage defined by the given marker. <p> Subclasses may override.
-   * For greater details, see <code> IEditorPart </code></p>
-   * 
-   * @see IEditorPart
-   */
-  public void gotoMarker(IMarker marker) {
-    // (pa) 20020217 this was null when opening an editor that was
-    // already open
-    if (fTextEditor != null) {
-      IGotoMarker markerGotoer = (IGotoMarker) fTextEditor.getAdapter(IGotoMarker.class);
-      markerGotoer.gotoMarker(marker);
-    }
-  }
-
-  public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-    editorInputIsAcceptable(input);
-    try {
-      super.init(site, input);
-      if (partListener == null) {
-        partListener = new PartListener();
-      }
-      //getSite().getPage().addPartListener(partListner);
-      // we want to listen for our own activation
-      IWorkbenchWindow window = getSite().getWorkbenchWindow();
-      window.getPartService().addPartListener(partListener);
-      window.getShell().addShellListener(partListener);
-    }
-    catch (Exception e) {
-      if (e instanceof SourceEditingRuntimeException) {
-        Throwable t = ((SourceEditingRuntimeException) e).getOriginalException();
-        if (t instanceof IOException) {
-          System.out.println(t);
-          // file not found
-        }
-      }
-    }
-    setPartName(input.getName());
-  }
-
-  /*
-   * (non-Javadoc) Returns whether the "save as" operation is supported by
-   * this editor. <p> Subclasses must override this method to implement the
-   * open-save-close lifecycle for an editor. For greater details, see
-   * <code> IEditorPart </code></p>
-   * 
-   * @see IEditorPart
-   */
-  public boolean isSaveAsAllowed() {
-    return fTextEditor != null && fTextEditor.isSaveAsAllowed();
-  }
-
-  /*
-   * (non-Javadoc) Returns whether the contents of this editor should be
-   * saved when the editor is closed. <p> This method returns <code> true
-   * </code> if and only if the editor is dirty ( <code> isDirty </code> ).
-   * </p>
-   */
-  public boolean isSaveOnCloseNeeded() {
-    // overriding super class since it does a lowly isDirty!
-    if (fTextEditor != null)
-      return fTextEditor.isSaveOnCloseNeeded();
-    return isDirty();
-  }
-
-  /**
-   * Notifies this multi-page editor that the page with the given id has
-   * been activated. This method is called when the user selects a different
-   * tab.
-   * 
-   * @param newPageIndex
-   *            the index of the activated page
-   */
-  protected void pageChange(int newPageIndex) {
-    super.pageChange(newPageIndex);
-
-    saveLastActivePageIndex(newPageIndex);
-  }
-
-  /**
-   * Posts the update code "behind" the running operation.
-   */
-  protected void postOnDisplayQue(Runnable runnable) {
-    IWorkbench workbench = PlatformUI.getWorkbench();
-    IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-    if (windows != null && windows.length > 0) {
-      Display display = windows[0].getShell().getDisplay();
-      display.asyncExec(runnable);
-    }
-    else
-      runnable.run();
-  }
-
-  /**
-   * Indicates that a property has changed.
-   * 
-   * @param source
-   *            the object whose property has changed
-   * @param propId
-   *            the id of the property which has changed; property ids are
-   *            generally defined as constants on the source class
-   */
-  public void propertyChanged(Object source, int propId) {
-    switch (propId) {
-      // had to implement input changed "listener" so that
-      // strucutedText could tell it containing editor that
-      // the input has change, when a 'resource moved' event is
-      // found.
-      case IEditorPart.PROP_INPUT :
-      case IEditorPart.PROP_DIRTY : {
-        if (source == fTextEditor) {
-          if (fTextEditor.getEditorInput() != getEditorInput()) {
-            setInput(fTextEditor.getEditorInput());
-            // title should always change when input changes.
-            // create runnable for following post call
-            Runnable runnable = new Runnable() {
-              public void run() {
-                _firePropertyChange(IWorkbenchPart.PROP_TITLE);
-              }
-            };
-            // Update is just to post things on the display queue
-            // (thread). We have to do this to get the dirty
-            // property to get updated after other things on the
-            // queue are executed.
-            postOnDisplayQue(runnable);
-          }
-        }
-        break;
-      }
-      case IWorkbenchPart.PROP_TITLE : {
-        // update the input if the title is changed
-        if (source == fTextEditor) {
-          if (fTextEditor.getEditorInput() != getEditorInput()) {
-            setInput(fTextEditor.getEditorInput());
-          }
-        }
-        break;
-      }
-      default : {
-        // propagate changes. Is this needed? Answer: Yes.
-        if (source == fTextEditor) {
-          firePropertyChange(propId);
-        }
-        break;
-      }
-    }
-
-  }
-
-  protected void safelySanityCheckState() {
-    // If we're called before editor is created, simply ignore since we
-    // delegate this function to our embedded TextEditor
-    if (getTextEditor() == null)
-      return;
-
-    getTextEditor().safelySanityCheckState(getEditorInput());
-
-  }
-
-  protected void saveLastActivePageIndex(int newPageIndex) {
-    // save the last active page index to preference manager
-    getPreferenceStore().setValue(XMLPreferenceNames.LAST_ACTIVE_PAGE, newPageIndex);
-  }
-
-  /**
-   * Sets the currently active page.
-   */
-  protected void setActivePage() {
-    // retrieve the last active page index from preference manager
-    int activePageIndex = getPreferenceStore().getInt(XMLPreferenceNames.LAST_ACTIVE_PAGE);
-
-    // We check this range since someone could hand edit the XML
-    // preference file to an invalid value ... which I know from
-    // experience :( ... if they do, we'll reset to default and continue
-    // rather than throw an assertion error in the setActivePage(int)
-    // method.
-    if (activePageIndex < 0 || activePageIndex >= getPageCount()) {
-      activePageIndex = fSourcePageIndex;
-    }
-    setActivePage(activePageIndex);
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.eclipse.ui.part.EditorPart#setInput(org.eclipse.ui.IEditorInput)
-   */
-  protected void setInput(IEditorInput input) {
-    // If driven from the Source page, it's "model" may not be up to date
-    // with the input just yet. We'll rely on later notification from the
-    // TextViewer to set us straight
-    super.setInput(input);
-    setPartName(input.getName());
-  }
-
-  /**
-   * IExtendedMarkupEditor method
-   */
-  public IStatus validateEdit(Shell context) {
-    if (getTextEditor() == null)
-      return new Status(IStatus.ERROR, XSDEditorPlugin.PLUGIN_ID, IStatus.INFO, "", null); //$NON-NLS-1$
-
-    return getTextEditor().validateEdit(context);
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java
deleted file mode 100644
index 22f0354..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDSelectionManager.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-public class XSDSelectionManager implements ISelectionProvider, ISelectionChangedListener
-{
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-   */
-  public void addSelectionChangedListener(ISelectionChangedListener listener)
-  {
-    listenerList.add(listener);
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
-   */
-  public ISelection getSelection()
-  {
-    return currentSelection;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-   */
-  public void removeSelectionChangedListener(ISelectionChangedListener listener)
-  {
-    listenerList.remove(listener);
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
-   */
-  public void setSelection(ISelection selection)
-  {
-    setSelection(selection, this);
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-   */
-  public void selectionChanged(SelectionChangedEvent event)
-  {
-    if (enableNotify)
-    {
-      setSelection(event.getSelection(), event.getSelectionProvider());
-    }
-  }
-
-  
-  protected List listenerList = new ArrayList();
-  protected ISelection currentSelection;
-  protected boolean enableNotify = true;
-
-  public void setSelection(ISelection selection, ISelectionProvider source)
-  {  
-//	  System.out.println("SelectionManager.setSelection() " + selection + ", " + source);
-    if (enableNotify)
-    {
-      currentSelection = selection;
-      enableNotify = false;
-      try
-      {
-        SelectionChangedEvent event = new SelectionChangedEvent(source, selection);
-        List copyOfListenerList = new ArrayList(listenerList);
-        for (Iterator i = copyOfListenerList.iterator(); i.hasNext(); )
-        {
-          ISelectionChangedListener listener = (ISelectionChangedListener)i.next();
-          listener.selectionChanged(event);
-        }
-      }
-      finally
-      {
-        enableNotify = true;
-      }
-    }
-  }      
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
deleted file mode 100644
index 7b7931e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.internal.openon.OpenOnAction;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.ui.StructuredTextEditorXML;
-import org.eclipse.wst.xsd.ui.internal.properties.section.XSDTabbedPropertySheetPage;
-import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDAdapterFactoryLabelProvider;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDContentProvider;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDModelAdapterFactoryImpl;
-import org.eclipse.wst.xsd.ui.internal.util.SelectionAdapter;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class XSDTextEditor extends StructuredTextEditorXML implements INodeSelectionListener, ISelectionChangedListener
-{
-  protected XSDSelectionManager xsdSelectionManager;
-  protected XSDModelAdapterFactoryImpl xsdModelAdapterFactory;
-  protected static XSDAdapterFactoryLabelProvider adapterFactoryLabelProvider;
-  protected InternalSelectionProvider internalSelectionProvider = new InternalSelectionProvider();
-
-  public XSDTextEditor(XSDEditor xsdEditor)
-  {
-    super();
-    xsdSelectionManager = xsdEditor.getSelectionManager();
-    xsdSelectionManager.addSelectionChangedListener(this);
-
-    setHelpContextId(XSDEditorContextIds.XSDE_SOURCE_VIEW);
-    
-    xsdModelAdapterFactory = new XSDModelAdapterFactoryImpl();
-    adapterFactoryLabelProvider = new XSDAdapterFactoryLabelProvider(xsdModelAdapterFactory);
-  }
-  
-  public void dispose()
-  {
-    super.dispose();
-    xsdSelectionManager.removeSelectionChangedListener(this);
-  }
-  
-  public XSDModelAdapterFactoryImpl getXSDModelAdapterFactory()
-  {
-    return xsdModelAdapterFactory;
-  }
-
-  public static XSDAdapterFactoryLabelProvider getLabelProvider()
-  {
-    return adapterFactoryLabelProvider;
-  }
-
-	public Object getAdapter(Class required) {
-	  
-		if (IPropertySheetPage.class.equals(required))
-    {
-	    fPropertySheetPage = new XSDTabbedPropertySheetPage(getXSDEditor());
-      
-	    ((XSDTabbedPropertySheetPage)fPropertySheetPage).setXSDModelAdapterFactory(xsdModelAdapterFactory);
-      ((XSDTabbedPropertySheetPage)fPropertySheetPage).setSelectionManager(getXSDEditor().getSelectionManager());
-	    ((XSDTabbedPropertySheetPage)fPropertySheetPage).setXSDSchema(getXSDSchema());
-
-      return fPropertySheetPage;
-		}
-		else if (IContentOutlinePage.class.equals(required))
-		{
-			if (fOutlinePage == null || fOutlinePage.getControl() == null || fOutlinePage.getControl().isDisposed())
-			{
-				XSDContentOutlinePage outlinePage = new XSDContentOutlinePage(this);
-        XSDContentProvider xsdContentProvider = new XSDContentProvider(xsdModelAdapterFactory);
-        xsdContentProvider.setXSDSchema(getXSDSchema());
-	      outlinePage.setContentProvider(xsdContentProvider);
-	      outlinePage.setLabelProvider(adapterFactoryLabelProvider);
-				outlinePage.setModel(getXSDSchema().getDocument());
-				
-				// Update outline selection from source editor selection:
-	      getViewerSelectionManager().addNodeSelectionListener(this);
-	      internalSelectionProvider.addSelectionChangedListener(getViewerSelectionManager());
-	      internalSelectionProvider.setEventSource(outlinePage);
-
-				fOutlinePage = outlinePage;
-			}
-			return fOutlinePage;
-		}
-	
-		return super.getAdapter(required);
-	}
-  
-  XSDModelQueryContributor xsdModelQueryContributor = new XSDModelQueryContributor();
-
-  protected XSDContentOutlinePage outlinePage;
-
-  /*
-   * @see StructuredTextEditor#getContentOutlinePage()
-   */
-  public IContentOutlinePage getContentOutlinePage()
-  {
-    return fOutlinePage;
-  }
-
-  // used to map selections from the outline view to the source view
-  // this class thinks of selections in terms of DOM element
-  class InternalSelectionProvider extends SelectionAdapter
-  {
-    protected Object getObjectForOtherModel(Object object)
-    {
-      Node node = null;
-
-      if (object instanceof Node)
-      {
-        node = (Node)object;
-      }
-      else if (object instanceof XSDComponent)
-      {
-        node = ((XSDComponent)object).getElement();
-      }
-      else if (object instanceof CategoryAdapter)
-      {
-        node = ((CategoryAdapter)object).getXSDSchema().getElement();
-      }
-
-      // the text editor can only accept sed nodes!
-      //
-      if (!(node instanceof XMLNode))
-      {
-        node = null;
-      }
-      return node;
-    }
-  }
-
-  public void selectionChanged(SelectionChangedEvent event)
-  {
-    // here we convert the model selection to a node selection req'd for the source view
-    //
-    internalSelectionProvider.setSelection(event.getSelection());
-  }
-
-  public void nodeSelectionChanged(NodeSelectionChangedEvent event)
-  {
-    // here we convert an node seleciton to a model selection as req'd by the other views
-    //
-    if (!event.getSource().equals(internalSelectionProvider) && getXSDEditor().getActiveEditorPage() != null)
-    {
-      Element element = null;
-      List list = event.getSelectedNodes();
-      for (Iterator i = list.iterator(); i.hasNext();)
-      {
-        Node node = (Node)i.next();
-        if (node != null)
-        {
-	        if (node.getNodeType() == Node.ELEMENT_NODE)
-	        {
-	          element = (Element)node;
-	          break;
-	        }
-	        else if (node.getNodeType() == Node.ATTRIBUTE_NODE)
-	        {
-	          element = ((Attr)node).getOwnerElement();
-	          break;
-	        }
-        }
-      }
-
-      Object o = element;
-      if (element != null)
-      {
-        Object modelObject = getXSDSchema().getCorrespondingComponent(element);
-        if (modelObject != null)
-        {
-          o = modelObject;
-        }
-      }
-
-      if (o != null)
-      {
-        xsdSelectionManager.setSelection(new StructuredSelection(o), internalSelectionProvider);
-      }
-      else
-      {
-        xsdSelectionManager.setSelection(new StructuredSelection(), internalSelectionProvider);
-      }
-    }
-  }
-
-  
-  /*
-   * @see ITextEditor#doRevertToSaved()
-   */
-  public void doRevertToSaved()
-  {
-    super.doRevertToSaved();
-  }
-
-  /*
-   * @see StructuredTextEditor#update()
-   */
-  public void update()
-  {
-    super.update();
-    if (outlinePage != null)
-     outlinePage.setModel(getModel());
-  }
-
-  protected Composite client;
-  
-  protected void addOpenOnSelectionListener()
-  {
-    getTextViewer().getTextWidget().addKeyListener(new KeyAdapter()
-    {
-      /**
-         * @see org.eclipse.swt.events.KeyListener#keyReleased(org.eclipse.swt.events.KeyEvent)
-         */
-      public void keyReleased(KeyEvent arg0)
-      {
-        if (arg0.keyCode == SWT.F3)
-        {
-          getXSDEditor().getOpenOnSelectionHelper().openOnSelection();
-        }
-      }
-
-    });
-  }
-
- // private static Color dividerColor;
-
-	protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler verticalRuler, int styles) {
-
-		fAnnotationAccess= createAnnotationAccess();
-		fOverviewRuler= createOverviewRuler(getSharedColors());
-
-		StructuredTextViewer sourceViewer = createStructedTextViewer(parent, verticalRuler, styles);
-		initSourceViewer(sourceViewer);
-
-    // end of super createSourceViewer
-		
-    //StructuredAnnotationAccess annotationAccess = new StructuredAnnotationAccess();
-	 // DefaultMarkerAnnotationAccess annotationAccess = new DefaultMarkerAnnotationAccess();
-		
-	//  ISharedTextColors sharedColors = getTextColorsCache();
-////  fOverviewRuler = new OverviewRuler(annotationAccess, OVERVIEW_RULER_WIDTH, sharedColors);
-	//  fOverviewRuler = new OverviewRuler(createAnnotationAccess(), 12, sharedColors);
-	  
-//	  fOverviewRuler.addHeaderAnnotationType(StructuredAnnotationType.ERROR);
-//	  fOverviewRuler.addHeaderAnnotationType(StructuredAnnotationType.WARNING);
-	  
-	 // fSourceViewerDecorationSupport = new SourceViewerDecorationSupport(sourceViewer, fOverviewRuler, annotationAccess, sharedColors);
-    //configureSourceViewerDecorationSupport(fSourceViewerDecorationSupport);    
-
-// The following method was removed
-//    sourceViewer.setEditor(this);
-
-		return sourceViewer;
-	}
-
-  /*
-   * @see StructuredTextEditor#setModel(IFileEditorInput)
-   */
-  public void setModel(IFileEditorInput input)
-  {                     
-    super.setModel(input);
-    if (getModel() instanceof XMLModel)
-    {
-      xsdModelQueryContributor.setModel((XMLModel)getModel());
-    }
-    file = input.getFile();
-  }
-
-  protected IFile file;
-
-
-  /**
-   * Gets the xsdSchema.
-   * @return Returns a XSDSchema
-   */
-  public XSDSchema getXSDSchema()
-  {
-    return ((XSDEditor)getEditorPart()).getXSDSchema();
-  }
-  
-  public XSDEditor getXSDEditor()
-  {
-    return (XSDEditor)getEditorPart();
-  }
- 
-  /**
-   * @see org.eclipse.ui.texteditor.AbstractTextEditor#safelySanityCheckState(IEditorInput)
-   */
-	public void safelySanityCheckState(IEditorInput input)
-  {
-    super.safelySanityCheckState(input);
-  }
-
-  protected class WrappedOpenFileAction extends OpenOnAction
-  {
-    /**
-     * Constructor for WrappedAction.
-     * @param bundle
-     * @param prefix
-     * @param editor
-     */
-    public WrappedOpenFileAction(
-      ResourceBundle bundle,
-      String prefix,
-      ITextEditor editor)
-    {
-      super(bundle, prefix, editor);
-    }
-
-    /**
-     * @see org.eclipse.jface.action.IAction#run()
-     */
-    public void run()
-    {
-      if (!getXSDEditor().getOpenOnSelectionHelper().openOnSelection())
-      {
-        super.run();
-      }
-    }
-  }
-  
-  protected WrappedOpenFileAction wrappedAction;
-  private static final String DOT = "."; //$NON-NLS-1$
-  
-  /**
-   * @see org.eclipse.ui.texteditor.AbstractTextEditor#createActions()
-   */
-  protected void createActions()
-  {
-    super.createActions();
-    addOpenOnSelectionListener();
-    ResourceBundle resourceBundle = SSECorePlugin.getDefault().getResourceBundle(); //ResourceBundle.getBundle(RESOURCE_BUNDLE_NAME);
-    
-    wrappedAction = new WrappedOpenFileAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE + DOT, this);
-    setAction(StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE, wrappedAction);
-   
-  }
-    
-
-  class XSDModelQueryContributor extends AbstractXSDModelQueryContributor
-  {
-    public AbstractXSDDataTypeValueExtension createXSDDataTypeValueExtension(ModelQuery modelQuery)
-    {
-      return new XSDDataTypeValueExtension(modelQuery);
-    }
-  }
- 
-
-  class XSDDataTypeValueExtension extends AbstractXSDDataTypeValueExtension
-  {                             
-    public XSDDataTypeValueExtension(ModelQuery modelQuery)
-    {
-      super(modelQuery);
-    }
-
-    public String getId()
-    {
-      return "XSDDataTypeValueExtension";
-    }
-     
-    protected XSDSchema getEnclosingXSDSchema(Element element)
-    {
-      return getXSDSchema();
-    }   
-  }
-
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDURIConverter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDURIConverter.java
deleted file mode 100644
index 58f639b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDURIConverter.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-import org.eclipse.wst.xml.uriresolver.util.IdResolver;
-import org.eclipse.wst.xml.uriresolver.util.IdResolverImpl;
-
-public class XSDURIConverter extends URIConverterImpl
-{
-  IFile resourceFile;
-  public XSDURIConverter(IFile resourceFile)
-  {
-    super();
-    this.resourceFile = resourceFile;
-  }
-  
-  /**
-   * @see org.eclipse.emf.ecore.resource.URIConverter#createInputStream(URI)
-   */
-  public InputStream createInputStream(URI uri) throws IOException
-  {
-    String scheme = uri.scheme();
-    URI mappedURI = uri;
-    if (scheme != null && !scheme.equals("file") && !scheme.equals("platform"))
-    // if ("http".equals(scheme))
-    {
-      String theURI = uri.toString();
-      IdResolver idResolver = new IdResolverImpl(theURI);
-      String result = idResolver.resolveId("/", null, theURI);
-      if (result != null)
-      {
-        mappedURI = createURI(result);
-      }  
-    }  
-    return super.createURLInputStream(mappedURI);
-  }
-  
-  public static URI createURI(String uriString)
-  {
-    if (hasProtocol(uriString))
-      return URI.createURI(uriString);
-    else
-      return URI.createFileURI(uriString);
-  }
-  
-  private static boolean hasProtocol(String uri)
-  {
-    boolean result = false;     
-    if (uri != null)
-    {
-      int index = uri.indexOf(":");
-      if (index != -1 && index > 2) // assume protocol with be length 3 so that the'C' in 'C:/' is not interpreted as a protocol
-      {
-        result = true;
-      }
-    }
-    return result;
-  }
-
-  private String getRelativePathToSchema(String a, String b)
-  {
-    String result;
-    if (b.startsWith(a))
-    {
-      result = b.substring(a.length() + 1);
-      return result;
-    }
-    else
-    {
-      return b;
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AbstractAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AbstractAction.java
deleted file mode 100644
index b421416..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AbstractAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class AbstractAction extends Action
-{
-  XSDConcreteComponent xsdConcreteComponent;
-
-  /**
-   * @param text
-   */
-  public AbstractAction(String text, XSDConcreteComponent xsdConcreteComponent)
-  {
-    super(text);
-    this.xsdConcreteComponent = xsdConcreteComponent;
-  }
-
-  /**
-   * @param text
-   * @param image
-   */
-  public AbstractAction(String text, ImageDescriptor image, XSDConcreteComponent xsdConcreteComponent)
-  {
-    super(text, image);
-    this.xsdConcreteComponent = xsdConcreteComponent;
-  }
-
-  /**
-   * @param text
-   * @param style
-   */
-  public AbstractAction(String text, int style)
-  {
-    super(text, style);
-  }
-  
-  public DocumentImpl getDocument()
-  {
-    return (DocumentImpl) xsdConcreteComponent.getElement().getOwnerDocument();
-  }
-    
-  public void beginRecording(String description)
-  {
-    getDocument().getModel().beginRecording(this, description);
-  }
-  
-  public void endRecording()
-  {
-    DocumentImpl doc = (DocumentImpl) getDocument();
-    
-    doc.getModel().endRecording(this);    
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddAttributeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddAttributeAction.java
deleted file mode 100644
index f1a9f3f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddAttributeAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.commands.AddAttributeDeclarationCommand;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class AddAttributeAction extends AbstractAction
-{
-  protected AddAttributeDeclarationCommand command;
-  
-  public AddAttributeAction(String text, XSDConcreteComponent parent)
-  {
-    super(text, parent);
-    command = new AddAttributeDeclarationCommand(parent);
-  }
-
-  public AddAttributeAction(String text, ImageDescriptor image, XSDConcreteComponent parent)
-  {
-    super(text, image, parent);
-    command = new AddAttributeDeclarationCommand(parent);
-  }
-
-  public void run()
-  {
-    beginRecording(getText());
-    command.run();
-    
-    endRecording();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddEnumsAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddEnumsAction.java
deleted file mode 100644
index ecc2f4b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddEnumsAction.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xsd.ui.internal.widgets.EnumerationsDialog;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-/**
- * Pattern is scoped to Enum Type
- */
-public class AddEnumsAction extends CreateElementAction
-{
-  public AddEnumsAction(String label)
-  {
-  	super(label);
-  }
- 
-  public Element createAndAddNewChildElement(String token)
-  {
-    String prefix = parentNode.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    Element childNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + elementTag);
-    if (getAttributes() != null)
-    {
-      List attributes = getAttributes();
-      for (int i = 0; i < attributes.size(); i++)
-      {
-        DOMAttribute attr = (DOMAttribute) attributes.get(i);
-        childNode.setAttribute(attr.getName(), attr.getValue());
-      }
-    }
-    if (getRelativeNode() == null)
-    {
-      parentNode.appendChild(childNode);
-    }
-    else
-    {
-      ((Element)parentNode).insertBefore(childNode,getRelativeNode());
-    }
-    childNode.setAttribute("value", token);
-    return childNode;
-  }    
-  
-  public void run()
-  {
-    Display display = Display.getCurrent();
-    // if it is null, get the default one
-    display = display == null ? Display.getDefault() : display;
-    Shell parentShell = display.getActiveShell();
-    EnumerationsDialog dialog = new EnumerationsDialog(parentShell);
-    dialog.setBlockOnOpen(true);
-    int result = dialog.open();
-
-    if (result == Window.OK) 
-    {
-      beginRecording(getDescription());
-
-      String text = dialog.getText();
-      String delimiter = dialog.getDelimiter();
-      StringTokenizer tokenizer = new StringTokenizer(text, delimiter);
-      while (tokenizer.hasMoreTokens()) 
-      {
-        String token = tokenizer.nextToken();
-        if (dialog.isPreserveWhitespace() == false) 
-        {
-          token = token.trim();
-        }
-
-        Element child = createAndAddNewChildElement(token);
-        formatChild(child);        
-      }
-      endRecording();
-    }
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddModelGroupAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddModelGroupAction.java
deleted file mode 100644
index ac31566..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddModelGroupAction.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.commands.AddModelGroupCommand;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-
-public class AddModelGroupAction extends Action
-{
-   protected AddModelGroupCommand command;
-   protected XSDConcreteComponent parent;
-  
-   public static String getLabel(XSDCompositor compositor)
-   {
-     String result = XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SEQUENCE"); //$NON-NLS-1$
-     if (compositor != null)
-     {
-       if (compositor == XSDCompositor.CHOICE_LITERAL)
-       {
-         result = XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CHOICE");  //$NON-NLS-1$
-       }
-       else if (compositor == XSDCompositor.ALL_LITERAL)
-       {
-         result = XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ALL");//$NON-NLS-1$
-       }  
-     }
-     return result;
-   }
-  
-   public AddModelGroupAction(XSDConcreteComponent parent, XSDCompositor compositor)
-   {
-     command = new AddModelGroupCommand(parent, compositor);
-     this.parent = parent;
-     setText(getLabel(compositor));     
-   }   
-   
-   public void run()
-   {
-     DocumentImpl doc = (DocumentImpl) parent.getElement().getOwnerDocument();
-     doc.getModel().beginRecording(this, getText());
-     command.run();
-     doc.getModel().endRecording(this);
-   }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddSchemaNodeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddSchemaNodeAction.java
deleted file mode 100644
index 31a8950..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/AddSchemaNodeAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-
-
-public class AddSchemaNodeAction extends Action
-{
-  /**
-   * Constructor for AddSchemaNodeAction.
-   */
-  public AddSchemaNodeAction()
-  {
-    super();
-  }
-
-  /**
-   * Constructor for AddSchemaNodeAction.
-   * @param text
-   */
-  public AddSchemaNodeAction(String text)
-  {
-    super(text);
-  }
-
-  /**
-   * Constructor for AddSchemaNodeAction.
-   * @param text
-   * @param image
-   */
-  public AddSchemaNodeAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  public void setEditor(XSDEditor editor)
-  {
-    this.editor = editor;
-  }
-  
-  protected XSDEditor editor;
-  
-  /**
-   * @see org.eclipse.jface.action.IAction#run()
-   */
-  public void run()
-  {
-    editor.createDefaultSchemaNode();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/BackAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/BackAction.java
deleted file mode 100644
index 0ab518d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/BackAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphViewer;
-import org.eclipse.xsd.XSDSchema;
-
-/**
- * @author kchong
- *
- * <a href="mailto:kchong@ca.ibm.com">kchong@ca.ibm.com</a>
- *
- */
-public class BackAction extends Action
-{
-  ISelectionProvider selectionProvider;
-  XSDGraphViewer xsdGraphViewer;
-  XSDSchema xsdSchema;
-  
-  /**
-   * 
-   */
-  public BackAction()
-  {
-    super();
-  }
-
-  /**
-   * @param text
-   */
-  public BackAction(String text)
-  {
-    super(text);
-  }
-
-  public BackAction(String text, XSDGraphViewer viewer)
-  {
-    super(text);
-    xsdGraphViewer = viewer;
-  }
-  
-  /**
-   * @param text
-   * @param image
-   */
-  public BackAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  /**
-   * @param text
-   * @param style
-   */
-  public BackAction(String text, int style)
-  {
-    super(text, style);
-  }
-
-  public void setSelectionProvider(ISelectionProvider selectionProvider)
-  {
-    this.selectionProvider = selectionProvider;
-  }
-
-  public void setXSDSchema(XSDSchema xsdSchema)
-  {
-    this.xsdSchema = xsdSchema;
-  }
-  
-  /*
-   * @see IAction#run()
-   */
-  public void run()
-  {
-    StructuredSelection selection = new StructuredSelection(xsdSchema);
-    selectionProvider.setSelection(selection);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAnnotationAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAnnotationAction.java
deleted file mode 100644
index 698d433..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAnnotationAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class CreateAnnotationAction extends CreateElementAction
-{
-  XSDSchema xsdSchema;
-  Element documentationNode;
-
-  public CreateAnnotationAction()
-  {
-    super();
-  }
-
-  public CreateAnnotationAction(String text)
-  {
-    super(text);
-  }
-
-  public CreateAnnotationAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  public Element createAndAddNewChildElement()
-  {
-    Element childNode = super.createAndAddNewChildElement();
-
-    String prefix = parentNode.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    documentationNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.DOCUMENTATION_ELEMENT_TAG);
-    childNode.appendChild(documentationNode);
-
-    formatChild(childNode);
-    formatChild(documentationNode);
-    formatChild(childNode);
-    
-    return childNode;
-  }
-  
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java
deleted file mode 100644
index 6a634e2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-
-/*
- * Class which creates an Attribute and necessary Elements required before
- * an Attribute can be added.  For example, if we wish to add an Attribute
- * to a GlobalElement without a ComplexType, a ComplexType will be created.
- */
-public class CreateAttributeAndRequired extends Action {
-	String elementTag;
-	String label;
-	List attributes;
-	XSDSchema xsdSchema;
-	ISelectionProvider selectionProvider;
-	Object parent;
-	
-	public CreateAttributeAndRequired(String elementTag, String label, List attributes, XSDSchema xsdSchema, ISelectionProvider selProvider, Object parent) {
-		super(label);
-		
-		this.elementTag = elementTag;
-		this.label = label;
-		this.attributes = attributes;
-		this.xsdSchema = xsdSchema;
-		this.selectionProvider = selProvider;
-		this.parent = parent;
-	}
-
-	public void run() {
-		if (parent instanceof XSDElementDeclaration) {
-			XSDElementDeclaration ed = (XSDElementDeclaration) parent;
-			beginRecording(ed.getElement());
-	        ed.setTypeDefinition(null);
-	      	XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
-	        ed.setAnonymousTypeDefinition(td);
-			
-		    CreateElementAction action = new CreateElementAction(label);		    
-		    action.setElementTag(elementTag);
-		    action.setAttributes(attributes);
-		    action.setParentNode(td.getElement());
-		    action.setRelativeNode(null);
-		    action.setXSDSchema(xsdSchema);
-		    action.setSelectionProvider(selectionProvider);
-		    action.run();
-		    
-		    formatChild(td.getElement());
-        if (td.getAttributeContents().size() > 0)
-        {
-		      selectObject(td.getAttributeContents().get(0));
-        }
-		    endRecording(ed.getElement());
-		}
-	}
-
-	protected void beginRecording(Element element) {
-		((DocumentImpl) element.getOwnerDocument()).getModel().beginRecording(this, getText());
-	}
-	
-	protected void endRecording(Element element) {
-		((DocumentImpl) element.getOwnerDocument()).getModel().endRecording(this);
-	}
-	
-	public void selectObject(Object object) {
-	    if (selectionProvider != null)
-	    {
-	        selectionProvider.setSelection(new StructuredSelection(object));
-	    }
-	}
-	
-	  protected void formatChild(Element child)
-	  {
-	    if (child instanceof XMLNode)
-	    {
-	      XMLModel model = ((XMLNode)child).getModel();
-	      try
-	      {
-	        // tell the model that we are about to make a big model change
-	        model.aboutToChangeModel();
-	        
-		      IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
-			    formatProcessor.formatNode(child);
-	      }
-	      finally
-	      {
-	        // tell the model that we are done with the big model change
-	        model.changedModel(); 
-	      }
-	    }
-	  }
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
deleted file mode 100644
index 3190d53..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-import java.util.List;
-
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.ui.parts.AbstractEditPartViewer;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComplexTypeDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ElementDeclarationEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-public class CreateElementAction extends Action
-{
-  protected String description;
-  protected Element parentNode;
-
-  protected ISelectionProvider selectionProvider;
-  protected XSDSchema xsdSchema;
-
-  protected Object sourceContext;
-
-  /**
-   * Constructor for CreateElementAction.
-   */
-  public CreateElementAction()
-  {
-    super();
-  }
-  /**
-   * Constructor for CreateElementAction.
-   * @param text
-   */
-  public CreateElementAction(String text)
-  {
-    super(text);
-  }
-  /**
-   * Constructor for CreateElementAction.
-   * @param text
-   * @param image
-   */
-  public CreateElementAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  public void setXSDSchema(XSDSchema xsdSchema)
-  {
-    this.xsdSchema = xsdSchema;
-  }
-  
-  public void setSelectionProvider(ISelectionProvider selectionProvider)
-  {
-    this.selectionProvider = selectionProvider;
-  }
-
-  public void setSourceContext(Object sourceContext)
-  {
-    this.sourceContext = sourceContext;
-  }
-  
-  /**
-   * Gets the parentNode.
-   * @return Returns a Element
-   */
-  public Element getParentNode()
-  {
-    return parentNode;
-  }
-
-  /**
-   * Sets the parentNode.
-   * @param parentNode The parentNode to set
-   */
-  public void setParentNode(Element parentNode)
-  {
-    this.parentNode = parentNode;
-  }
-
-  boolean isGlobal = false;
-  
-  public void setIsGlobal(boolean isGlobal)
-  {
-    this.isGlobal = isGlobal;
-  }
-  
-  public boolean getIsGlobal()
-  {
-    return isGlobal;
-  }
-
-  protected Node relativeNode;
-  protected String elementTag;
-  public void setElementTag(String elementTag)
-  {
-    this.elementTag = elementTag;
-  }
-  
-  public DocumentImpl getDocument()
-  {
-    return (DocumentImpl) getParentNode().getOwnerDocument();
-  }
-    
-  public void beginRecording(String description)
-  {
-    getDocument().getModel().beginRecording(this, description);
-  }
-  
-  public void endRecording()
-  {
-    DocumentImpl doc = (DocumentImpl) getDocument();
-    
-    doc.getModel().endRecording(this);    
-  }
-  
-  public Element createAndAddNewChildElement()
-  {
-    String prefix = parentNode.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    Element childNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + elementTag);
-    if (getAttributes() != null)
-    {
-      List attributes = getAttributes();
-      for (int i = 0; i < attributes.size(); i++)
-      {
-        DOMAttribute attr = (DOMAttribute) attributes.get(i);
-        childNode.setAttribute(attr.getName(), attr.getValue());
-      }
-    }
-    if (getRelativeNode() == null)
-    {
-      parentNode.appendChild(childNode);
-    }
-    else
-    {
-      ((Element)parentNode).insertBefore(childNode,getRelativeNode());
-    }
-    
-    if (isGlobal && getRelativeNode() == null)
-    {
-      Text textNode = getDocument().createTextNode("\n\n");
-      parentNode.appendChild(textNode);
-    }
-    else if (isGlobal && getRelativeNode() != null)
-    {
-      Text textNode = getDocument().createTextNode("\n\n");
-      parentNode.insertBefore(textNode, getRelativeNode());
-    }
-
-    formatChild(childNode);
-    
-    return childNode;
-  }    
-    
-  protected void formatChild(Element child)
-  {
-    if (child instanceof XMLNode)
-    {
-      XMLModel model = ((XMLNode)child).getModel();
-      try
-      {
-        // tell the model that we are about to make a big model change
-        model.aboutToChangeModel();
-        
-	      IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
-		    formatProcessor.formatNode(child);
-      }
-      finally
-      {
-        // tell the model that we are done with the big model change
-        model.changedModel(); 
-      }
-    }
-  }
-  /*
-   * @see IAction#run()
-   */
-  public void run()
-  {
-    beginRecording(getDescription());
-    final Element child = createAndAddNewChildElement();
-    endRecording();
-
-    if (selectionProvider != null)
-    {
-      final XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(child);
-//      selectionProvider.setSelection(new StructuredSelection(comp));
-      
-    Runnable runnable = new Runnable()
-    {
-      public void run()
-      {
-        if (comp instanceof XSDAttributeDeclaration)
-        {
-          if (((XSDAttributeDeclaration)comp).getContainer() instanceof XSDAttributeUse)
-          {
-            if (comp.getContainer().getContainer() instanceof XSDAttributeGroupDefinition)
-            {
-              selectionProvider.setSelection(new StructuredSelection(comp.getContainer()));
-            }
-            else if (comp.getContainer().getContainer() instanceof XSDComplexTypeDefinition)
-            {
-              if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
-              {
-                selectionProvider.setSelection(new StructuredSelection(comp.getContainer()));
-              }
-              else
-              {
-                selectionProvider.setSelection(new StructuredSelection(comp));
-              }
-            }
-            else
-            {
-              selectionProvider.setSelection(new StructuredSelection(comp));
-            }
-          }
-          else
-          {
-            selectionProvider.setSelection(new StructuredSelection(comp));
-          }
-        }
-        else
-        {
-          selectionProvider.setSelection(new StructuredSelection(comp));
-        }
-        if (comp instanceof XSDNamedComponent)
-        {
-          if (sourceContext instanceof AbstractEditPartViewer)
-          {
-            AbstractEditPartViewer viewer = (AbstractEditPartViewer)sourceContext;
-          
-            Object obj = viewer.getSelectedEditParts().get(0);
-            
-            if (obj instanceof GraphicalEditPart)
-            {
-              if (obj instanceof ElementDeclarationEditPart)
-              {
-                XSDElementDeclaration elem = ((ElementDeclarationEditPart)obj).getXSDElementDeclaration();
-                if (!elem.isElementDeclarationReference())
-                {
-                  ((ElementDeclarationEditPart)obj).doEditName();
-                }
-              }
-              else if (obj instanceof ModelGroupDefinitionEditPart)
-              {
-                XSDModelGroupDefinition group = ((ModelGroupDefinitionEditPart)obj).getXSDModelGroupDefinition();
-                if (!group.isModelGroupDefinitionReference())
-                {
-                  ((ModelGroupDefinitionEditPart)obj).doEditName();
-                }
-              }
-              else if (obj instanceof ComplexTypeDefinitionEditPart)
-              {
-                XSDComplexTypeDefinition ct = ((ComplexTypeDefinitionEditPart)obj).getXSDComplexTypeDefinition();
-                if (ct.getName() != null)
-                {
-                  ((ComplexTypeDefinitionEditPart)obj).doEditName();
-                }
-              }
-              else if (obj instanceof TopLevelComponentEditPart)
-              {
-                ((TopLevelComponentEditPart)obj).doEditName();
-              }
-            }
-
-          }
-        }
-      }
-    };
-    Display.getDefault().timerExec(50,runnable);
-    }
-  }
-
-  /**
-   * Gets the relativeNode.
-   * @return Returns a Element
-   */
-  public Node getRelativeNode()
-  {
-    return relativeNode;
-  }
-
-  /**
-   * Sets the relativeNode.
-   * @param relativeNode The relativeNode to set
-   */
-  public void setRelativeNode(Node relativeNode)
-  {
-    this.relativeNode = relativeNode;
-  }
-
-  /**
-   * Gets the description.
-   * @return Returns a String
-   */
-  public String getDescription()
-  {
-    if (description == null)
-    {
-      return getText();
-    }
-    return description;
-  }
-
-  /**
-   * Sets the description.
-   * @param description The description to set
-   */
-  public void setDescription(String description)
-  {
-    this.description = description;
-  }
-
-  protected List attributes;
-  /**
-   * Gets the nameAttribute.
-   * @return Returns a String
-   */
-  public List getAttributes()
-  {
-    return attributes;
-  }
-
-  /**
-   * Sets the attributes.
-   * @param attributes The attributes to set
-   */
-  public void setAttributes(List attributes)
-  {
-    this.attributes = attributes;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateGroupAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateGroupAction.java
deleted file mode 100644
index f9eadae..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateGroupAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class CreateGroupAction extends CreateElementAction
-{
-  XSDSchema xsdSchema;
-
-  /**
-   * Constructor for CreateGroupAction.
-   */
-  public CreateGroupAction()
-  {
-    super();
-  }
-  /**
-   * Constructor for CreateGroupAction.
-   * @param text
-   */
-  public CreateGroupAction(String text)
-  {
-    super(text);
-  }
-  /**
-   * Constructor for CreateGroupAction.
-   * @param text
-   * @param XSDSchema
-   */
-  public CreateGroupAction(String text, XSDSchema xsdSchema)
-  {
-    super(text);
-    this.xsdSchema = xsdSchema;
-  }
-  /**
-   * Constructor for CreateGroupAction.
-   * @param text
-   * @param image
-   */
-  public CreateGroupAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  public Element createAndAddNewChildElement()
-  {
-    XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent(parentNode);
-    Element childNode = super.createAndAddNewChildElement();
-
-    String prefix = parentNode.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    Element contentModelNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SEQUENCE_ELEMENT_TAG);
-    childNode.appendChild(contentModelNode);
-
-    formatChild(childNode);
-    
-    xsdComp.setElement(parentNode);
-    
-    return childNode;
-  }
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateIdentityConstraintsAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateIdentityConstraintsAction.java
deleted file mode 100644
index ca933f3..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateIdentityConstraintsAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class CreateIdentityConstraintsAction extends CreateElementAction
-{
-  XSDSchema xsdSchema;
-
-  /**
-   * Constructor for CreateIdentityConstraintsAction.
-   */
-  public CreateIdentityConstraintsAction()
-  {
-    super();
-  }
-  /**
-   * Constructor for CreateIdentityConstraintsAction.
-   * @param text
-   */
-  public CreateIdentityConstraintsAction(String text)
-  {
-    super(text);
-  }
-  /**
-   * Constructor for CreateIdentityConstraintsAction.
-   * @param text
-   * @param XSDSchema
-   */
-  public CreateIdentityConstraintsAction(String text, XSDSchema xsdSchema)
-  {
-    super(text);
-    this.xsdSchema = xsdSchema;
-  }
-  /**
-   * Constructor for CreateIdentityConstraintsAction.
-   * @param text
-   * @param image
-   */
-  public CreateIdentityConstraintsAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  public Element createAndAddNewChildElement()
-  {
-    Element childNode = super.createAndAddNewChildElement();
-
-    String prefix = parentNode.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    Element selectorNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SELECTOR_ELEMENT_TAG);
-
-    DOMAttribute attr = new DOMAttribute(XSDConstants.XPATH_ATTRIBUTE, "");
-    selectorNode.setAttribute(attr.getName(), attr.getValue());
-
-    childNode.appendChild(selectorNode);
-
-    return childNode;
-  }
-	
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalComplexTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalComplexTypeAction.java
deleted file mode 100644
index e8b0cd0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalComplexTypeAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class CreateLocalComplexTypeAction extends CreateElementAction
-{
-  /**
-   * Constructor for CreateLocalComplexTypeAction.
-   */
-  public CreateLocalComplexTypeAction()
-  {
-    super();
-  }
-  /**
-   * Constructor for CreateLocalComplexTypeAction.
-   * @param text
-   */
-  public CreateLocalComplexTypeAction(String text)
-  {
-    super(text);
-  }
-  /**
-   * Constructor for CreateLocalComplexTypeAction.
-   * @param text
-   * @param image
-   */
-  public CreateLocalComplexTypeAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  public Element createAndAddNewChildElement()
-  {  
-    XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent(parentNode);
-    
-    Element childNode = super.createAndAddNewChildElement();
-  
-    if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.ELEMENT_ELEMENT_TAG, false))  
-    {  
-      parentNode.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);  
-    }  
-                                                      
-    String prefix = parentNode.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    childNode.appendChild(getDocument().createElement(prefix + XSDConstants.SEQUENCE_ELEMENT_TAG));
-    
-    formatChild(childNode);
-    
-    xsdComp.setElement(parentNode);
-
-    return childNode;
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalSimpleTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalSimpleTypeAction.java
deleted file mode 100644
index d2e1065..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateLocalSimpleTypeAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class CreateLocalSimpleTypeAction extends CreateElementAction
-{
-  XSDSchema xsdSchema;
-
-  /**
-   * Constructor for CreateLocalSimpleTypeAction.
-   */
-  public CreateLocalSimpleTypeAction()
-  {
-    super();
-  }
-  /**
-   * Constructor for CreateLocalSimpleTypeAction.
-   * @param text
-   */
-  public CreateLocalSimpleTypeAction(String text)
-  {
-    super(text);
-  }
-
-  /**
-   * Constructor for CreateLocalSimpleTypeAction.
-   * @param text
-   * @param image
-   */
-  public CreateLocalSimpleTypeAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  public Element createAndAddNewChildElement()
-  {
-    Element childNode = super.createAndAddNewChildElement();
-
-    if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.UNION_ELEMENT_TAG, false))
-    {
-//      parentNode.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-    }
-    else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.LIST_ELEMENT_TAG, false))
-    {
-      parentNode.removeAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
-    }
-    else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
-    {
-      parentNode.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
-    }
-    else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
-    {
-      Node parent = parentNode.getParentNode();
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-      {
-        parentNode.removeAttribute(XSDConstants.BASE_ATTRIBUTE);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-    {
-      parentNode.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
-    }
-    
-    formatChild(childNode);
-    
-    return childNode;
-  }
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleContentAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleContentAction.java
deleted file mode 100644
index 9c49936..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleContentAction.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * @version   1.0
- * @author
- */
-public class CreateSimpleContentAction extends CreateElementAction
-{
-  XSDSchema xsdSchema;
-  //IDocument document;
-
-  /**
-   * Constructor for CreateSimpleContentAction.
-   */
-  public CreateSimpleContentAction()
-  {
-    super();
-  }
-  /**
-   * Constructor for CreateSimpleContentAction.
-   * @param text
-   */
-  public CreateSimpleContentAction(String text)
-  {
-    super(text);
-  }
-  /**
-   * Constructor for CreateSimpleContentAction.
-   * @param text
-   * @param XSDSchema
-   */
-  public CreateSimpleContentAction(String text, XSDSchema xsdSchema)
-  {
-    super(text);
-    this.xsdSchema = xsdSchema;
-  }
-  /**
-   * Constructor for CreateSimpleContentAction.
-   * @param text
-   * @param image
-   */
-  public CreateSimpleContentAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  public Element createAndAddNewChildElement()
-  {
-    Element childNode = super.createAndAddNewChildElement();
-
-    String prefix = parentNode.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    Element derivedByNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + "restriction");
-    childNode.appendChild(derivedByNode);
-    Element sequence = null;
-
-    if (XSDDOMHelper.inputEquals(childNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-    {
-      sequence = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + "sequence");
-      derivedByNode.appendChild(sequence);
-    }
-
-    // now add the required base attribute for the derived by node
-    TypesHelper typesHelper = new TypesHelper(xsdSchema);
-    List listOfCT = typesHelper.getUserComplexTypeNamesList();
-    String firstType = "";
-    if (listOfCT.size() > 0)
-    {
-      firstType = (String)(listOfCT).get(0);
-    }
-    DOMAttribute attr = new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, firstType);
-    derivedByNode.setAttribute(attr.getName(), attr.getValue());
-
-    formatChild(derivedByNode);
-    if (sequence != null)
-    {
-      formatChild(sequence);
-      formatChild(derivedByNode);
-    }
-    formatChild(childNode);
-
-    
-    return childNode;
-  }
-
-  /*
-   * @see IAction#run()
-   */
-  public void run()
-  {
-    ArrayList message = new ArrayList();
-    beginRecording(getDescription());
-
-    Element child = createAndAddNewChildElement();
-    endRecording();
-
-    NodeList children = parentNode.getChildNodes();
-/*
-    for (int i=0; i < children.getLength(); i++)
-    {
-      Node aChild = children.item(i);
-      if (aChild != null && aChild instanceof Element)
-      {
-        if (XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
-        {
-          // REMOVE ATTRIBUTES AND ATTRIBUTE GROUP REFS FROM COMPLEX TYPES LIST OF CHILDREN
-          message.addElement(new ModelMessage
-                                 (XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_FROM") +
-              " <" + parentNode.getAttribute("name") + ">", aChild));
-        }
-      }
-    }
-    domainModel.createMarkers(message);
-*/
-    for (int i=0; i < children.getLength(); i++)
-    {
-      Node aChild = children.item(i);
-      if (aChild != null && aChild instanceof Element)
-      {
-        if (XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true) ||
-            XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals((Element)aChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
-        {
-          // REMOVE ATTRIBUTES AND ATTRIBUTE GROUP REFS FROM COMPLEX TYPES LIST OF CHILDREN
-// KCPort TODO
-//          ErrorMessage aTask = new ErrorMessage();
-//          Node parent = aChild;
-//          if (parent instanceof NodeImpl)
-//          {
-//            aTask.setModelObject(parent);
-//          }
-//          aTask.setLocalizedMessage(XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_FROM") + " <" + parentNode.getAttribute("name") + ">");
-//          message.add(aTask);
-        }
-      }
-    }    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleTypeAction.java
deleted file mode 100644
index 5e5c29c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateSimpleTypeAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-public class CreateSimpleTypeAction extends CreateElementAction
-{
-  /**
-   * 
-   */
-  public CreateSimpleTypeAction()
-  {
-    super();
-  }
-
-  /**
-   * @param text
-   */
-  public CreateSimpleTypeAction(String text)
-  {
-    super(text);
-  }
-  
-  public CreateSimpleTypeAction(String text, XSDSchema xsdSchema)
-  {
-    super(text);
-    this.xsdSchema = xsdSchema;
-  }
-
-  /**
-   * @param text
-   * @param image
-   */
-  public CreateSimpleTypeAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-  
-  public Element createAndAddNewChildElement()
-  {
-    XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent(parentNode);
-    Element childNode = super.createAndAddNewChildElement();
-
-    String prefix = parentNode.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    Element contentModelNode = getDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.RESTRICTION_ELEMENT_TAG);
-    contentModelNode.setAttribute(XSDConstants.BASE_ATTRIBUTE, prefix + "string");
-    childNode.appendChild(contentModelNode);
-
-    formatChild(childNode);
-    
-    xsdComp.setElement(parentNode);
-    
-    return childNode;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DOMAttribute.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DOMAttribute.java
deleted file mode 100644
index 5580b40..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DOMAttribute.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-// TODO Remove this
-
-/**
- * @version 	1.0
- * @author
- */
-public class DOMAttribute
-{
-  /**
-   * Constructor for DOMAttribute.
-   */
-  public DOMAttribute()
-  {
-    super();
-  }
-  
-  /**
-   * Constructor for DOMAttribute.
-   */
-  public DOMAttribute(String name, String value)
-  {
-    super();
-    this.name = name;
-    this.value = value;
-  }
-  
-  protected String name, value;
-  /**
-   * Gets the value.
-   * @return Returns a String
-   */
-  public String getValue()
-  {
-    return value;
-  }
-
-  /**
-   * Sets the value.
-   * @param value The value to set
-   */
-  public void setValue(String value)
-  {
-    this.value = value;
-  }
-
-  /**
-   * Gets the name.
-   * @return Returns a String
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * Sets the name.
-   * @param name The name to set
-   */
-  public void setName(String name)
-  {
-    this.name = name;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java
deleted file mode 100644
index 097a4a3..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.BaseGlobalCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalAttributeCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalAttributeGroupCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalElementCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalGroupCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.GlobalSimpleOrComplexTypeCleanup;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.XSDExternalFileCleanup;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Node;
-
-
-public class DeleteAction extends SelectionListenerAction
-{
-  protected IEditorPart editor;
-  protected XSDSchema xsdSchema;
-  protected ISelectionProvider selectionProvider;
-  protected XSDConcreteComponent parentXSDComponent;
-  
-  /**
-   * Constructor for DeleteAction.
-   * @param text
-   */
-  public DeleteAction(String text, IEditorPart editor, XSDSchema xsdSchema)
-  {
-    super(text);
-    this.editor = editor;
-    this.xsdSchema = xsdSchema;
-  }
-  
-  public void setSelectionProvider(ISelectionProvider selectionProvider)
-  {
-    this.selectionProvider = selectionProvider;
-  }
-  
-  public IEditorPart getEditor()
-  {
-    return editor;
-  }
-  
-  public XSDSchema getSchema()
-  {
-    return xsdSchema;
-  }
-  
-  public void setXSDSchema(XSDSchema xsdSchema)
-  {
-    this.xsdSchema = xsdSchema;
-  }
-  
-  /*
-   * @see IAction#run()
-   */
-  public void run()
-  {
-    IStructuredSelection selection = getStructuredSelection();
-    
-    if (selection.isEmpty())
-    {
-      return;
-    }
-    
-    Iterator iter = selection.iterator();
-    DocumentImpl doc = null;
-    while (iter.hasNext())
-    {
-      Object obj = iter.next();
-      Node node = null;
-      if (obj instanceof Node)
-      {
-        node = (Node)obj;
-      }
-      else if (obj instanceof XSDConcreteComponent)
-      {
-        xsdSchema = ((XSDConcreteComponent)obj).getSchema();
-        
-        node = ((XSDConcreteComponent)obj).getElement();
-        if (node instanceof XMLNode)
-        {
-          parentXSDComponent = ((XSDConcreteComponent)obj).getContainer();
-        
-          if (parentXSDComponent instanceof XSDParticle)
-          {
-            // need to get the modelGroup
-            parentXSDComponent = parentXSDComponent.getContainer();
-          }
-        }
-
-      }
-      if (!XSDDOMHelper.inputEquals(node, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-      {
-        if (node instanceof XMLNode)
-        {
-          if (doc == null)
-          {
-            doc = (DocumentImpl) node.getOwnerDocument();
-            doc.getModel().beginRecording(this, XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_NODES"));
-          }
-    
-          boolean refresh = cleanupReferences(node);
-          if (node != null)
-          {
-            XSDDOMHelper.removeNodeAndWhitespace(node);
-          }
-          
-          // Workaround to reset included elements in XSD model
-          if (refresh)
-          {
-  //          getEditor().reparseSchema();
-  //          getEditor().getGraphViewer().setSchema(getEditor().getXSDSchema());
-          }
-        }
-      }
-    }
-    
-    if (parentXSDComponent != null && selectionProvider != null)
-    {
-      selectionProvider.setSelection(new StructuredSelection(parentXSDComponent));
-    }
-    
-    if (doc != null)
-    {
-      doc.getModel().endRecording(this);
-    }
-  }
-
-  protected boolean cleanupReferences(Node deletedNode)
-  {
-    boolean refresh = false;
-    XSDConcreteComponent comp = getSchema().getCorrespondingComponent(deletedNode);
-    
-    if (comp instanceof XSDInclude ||
-        comp instanceof XSDImport ||
-        comp instanceof XSDRedefine)
-    {
-      XSDSchema resolvedSchema = ((XSDSchemaDirective)comp).getResolvedSchema();
-      XSDSchema referencedSchema = null;
-      if (comp instanceof XSDInclude)
-      {
-        referencedSchema = ((XSDInclude)comp).getIncorporatedSchema();
-        refresh = true;
-      }
-      else if (comp instanceof XSDRedefine)
-      {
-        referencedSchema = ((XSDRedefine)comp).getIncorporatedSchema();
-        refresh = true;
-      }
-      else if (comp instanceof XSDImport)
-      {
-        XSDImport imp = (XSDImport)comp;
-        referencedSchema = ((XSDImport)comp).getResolvedSchema();
-        refresh = true;
-      }
-
-      if (referencedSchema != null)
-      {
-        XSDExternalFileCleanup cleanHelper = new XSDExternalFileCleanup(referencedSchema);
-        cleanHelper.visitSchema(getSchema());
-        // populate messages
-// TODO        getEditor().createTasksInTaskList(cleanHelper.getMessages());
-      }
-      if (comp instanceof XSDImport)
-      {
-        TypesHelper typesHelper = new TypesHelper(getSchema());
-        typesHelper.updateMapAfterDelete((XSDImport)comp);
-      }
-    }
-    else if (getSchema().equals(comp.getContainer()))
-    {
-      BaseGlobalCleanup cleanHelper = null;
-      // Only need to clean up references if the component being deleted is global scoped
-      if (comp instanceof XSDElementDeclaration)
-      {
-        cleanHelper = new GlobalElementCleanup(comp);
-      }
-      else if (comp instanceof XSDModelGroupDefinition)
-      {
-        cleanHelper = new GlobalGroupCleanup(comp);
-      }
-      else if (comp instanceof XSDTypeDefinition)
-      {
-        cleanHelper = new GlobalSimpleOrComplexTypeCleanup(comp);
-      }
-      else if (comp instanceof XSDAttributeDeclaration)
-      {
-        cleanHelper = new GlobalAttributeCleanup(comp);
-      }
-      else if (comp instanceof XSDAttributeGroupDefinition)
-      {
-        cleanHelper = new GlobalAttributeGroupCleanup(comp);
-      }
-      
-      
-      if (cleanHelper != null)
-      {
-        cleanHelper.visitSchema(getSchema());
-      }
-    }
-    return refresh;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/GraphRenameAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/GraphRenameAction.java
deleted file mode 100644
index 4576bfa..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/GraphRenameAction.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.xsd.ui.internal.commands.RenameCommand;
-import org.eclipse.xsd.XSDNamedComponent;
-
-
-public class GraphRenameAction extends Action
-{
-  protected RenameCommand command;
-  
-  public GraphRenameAction(XSDNamedComponent namedComponent, GraphicalEditPart editPart)
-  {
-    command = new RenameCommand(namedComponent, editPart);
-    setText("Rename");
-  }
-
-  public void run()
-  {
-    command.run();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ISchemaEditorActionConstants.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ISchemaEditorActionConstants.java
deleted file mode 100644
index 6033b72..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ISchemaEditorActionConstants.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-public interface ISchemaEditorActionConstants
-{
-  public static final String RETARGET_VALIDATE_SCHEMA_ACTION_ID = "retargetValidateSchemaAction"; //$NON-NLS-1$
-  public static final String RETARGET_RELOAD_DEPENDENCIES_ACTION_ID = "retargetReloadDependenciesAction"; //$NON-NLS-1$
-  public static final String RETARGET_GENERATE_JAVA_ACTION_ID = "retargetGenerateJavaAction"; //$NON-NLS-1$
-  public static final String RETARGET_GENERATE_DTD_ACTION_ID = "retargetGenerateDtdAction"; //$NON-NLS-1$
-  public static final String RETARGET_GENERATE_XML_ACTION_ID = "retargetGenerateXMLAction"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MakeAnonymousGlobal.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MakeAnonymousGlobal.java
deleted file mode 100644
index 9a9638a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MakeAnonymousGlobal.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class MakeAnonymousGlobal extends CreateElementAction
-{
-	XSDSchema xsdSchema;
-	Element type;
-	
-	public MakeAnonymousGlobal(String text, Element type, XSDSchema xsdSchema)
-	{
-		super(text);
-		this.xsdSchema = xsdSchema;
-		this.type = type;
-		isGlobal = true;
-	}
-
-	public Element createAndAddNewChildElement()
-	{
-		// create the new global type
-		Element childNode = super.createAndAddNewChildElement();
-    // add the anonymous type's children to the new global type
-		if (type.hasChildNodes())
-		{        
-			NodeList nodes = type.getChildNodes();
-			// use clones so we don't have a refresh problem
-			for (int i = 0; i < nodes.getLength(); i++)
-			{
-				Node node = nodes.item(i);       
-				childNode.appendChild(node.cloneNode(true));
-			}
-		}
-
-    // clean up the element whose type was anonymous
-    // and set its type attribute to the new global type
-		TypesHelper helper = new TypesHelper(xsdSchema);
-		String prefix = helper.getPrefix(xsdSchema.getTargetNamespace(), true);
-		helper = null;
-		
-		Element parentElementOfAnonymousType = (Element)type.getParentNode();
-
-		parentElementOfAnonymousType.removeChild(type);
-		parentElementOfAnonymousType.setAttribute(XSDConstants.TYPE_ATTRIBUTE, prefix + childNode.getAttribute(XSDConstants.NAME_ATTRIBUTE));
-
-		formatChild(childNode);
-		
-    return childNode;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ModelMessage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ModelMessage.java
deleted file mode 100644
index aa30618..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ModelMessage.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.w3c.dom.Node;
-
-public class ModelMessage
-{
-  protected String message;
-  protected Node node;
-
-  public ModelMessage(String message, Node node)
-  {
-    this.message = message;
-    this.node = node;
-  }
-
-  public String getMessage()
-  {
-    return message;
-  }
-
-  public Node getNode()
-  {
-    return node;
-  }
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java
deleted file mode 100644
index 741f7d0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-public class MoveAction extends Action
-{
-  protected List selectedNodes;
-  protected Node parentNode;
-  protected Node refChild;
-
-  /**
-   * Constructor for DeleteAction.
-   * @param text
-   */
-  public MoveAction(Node parentNode, List selectedNodes, Node refChild)
-  {
-    this.parentNode = parentNode;
-    this.selectedNodes = selectedNodes;
-    this.refChild = refChild;
-  }    
-
-  public MoveAction(XSDConcreteComponent parentComponent, List selectedComponents, XSDConcreteComponent refChildComponent)
-  {
-    selectedNodes = new ArrayList(selectedComponents.size());
-    for (Iterator i = selectedComponents.iterator(); i.hasNext(); )
-    {
-      XSDConcreteComponent concreteComponent = (XSDConcreteComponent)i.next();
-      selectedNodes.add(concreteComponent.getElement());
-    }
-    parentNode = parentComponent.getElement();
-    refChild = refChildComponent != null ? refChildComponent.getElement() : null;
-  }
-                   
-  public boolean canMove()
-  {                           
-    // TODO... there are likely more restriction to consider here
-    boolean result = true;
-    for (Iterator i = selectedNodes.iterator(); i.hasNext(); )
-    {
-      Node child = (Node)i.next();
-      if (isDecendantOrSelf(child, parentNode)) 
-      {
-        result = false;
-        break;
-      }
-    }   
-    return result;
-  }           
-                  
-  protected boolean isDecendantOrSelf(Node potentialParent, Node node)
-  { 
-    boolean result = false;
-    while (node != null)
-    {
-      if (node == potentialParent)    
-      {
-        result = true;
-        break;
-      }           
-      node = node.getParentNode();
-    }
-    return result;
-  }
-
-
-  protected void beginRecording()
-  {
-    XMLModel model = getModel();      
-    if (model != null)
-    {
-      model.beginRecording(this, "Move");
-    }
-  }
-  
-  protected void endRecording()
-  {
-    XMLModel model = getModel();      
-    if (model != null)
-    {
-      model.endRecording(this);    
-    }
-  }
-
-  protected XMLModel getModel()
-  {
-    XMLModel model = null;
-    if (parentNode instanceof XMLNode)
-    {                            
-      model = ((XMLNode)parentNode).getModel();
-    }
-    return model;
-  }
-  
-
-     
-  /*
-   * @see IAction#run()
-   */
-  public void run()
-  {                            
-    beginRecording();
-    try
-    {
-      for (Iterator i = selectedNodes.iterator(); i.hasNext(); )
-      {
-        Node child = (Node)i.next();
-        repositionBefore(parentNode, child, refChild);
-      }   
-    }
-    catch (Exception e)
-    {         
-      e.printStackTrace();
-    }
-    endRecording();
-  }
-
-
-  public void repositionBefore(Node parent, Node child, Node refChild)
-  {   
-    // TODO... when the refChild (inserting as the last element) we need to
-    // special case the way we preserve indentation 
-    Node oldParent = child.getParentNode();
-    if (oldParent != null && refChild != child)
-    {  
-      // consider any indentation text node that preceeds the child
-      //      
-      Node textNode = isWhitespaceTextNode(child.getPreviousSibling()) ? child.getPreviousSibling() : null;
-
-      // remove the child
-      //
-      oldParent.removeChild(child);
-      
-      // Instead of inserting the child immediatlely infront of the refChild, we first check to see if there
-      // is an indentation text node preceeding the refChild.  If we find such a node, we perform the insertion
-      // so that the child is inserted before the indentation text node.
-      Node adjustedRefChild = refChild;
-      if (refChild != null && isWhitespaceTextNode(refChild.getPreviousSibling()))
-      {
-        adjustedRefChild = refChild.getPreviousSibling();
-      }
-          
-      // reposition the child and any indentation text node 
-      //
-      parent.insertBefore(child, adjustedRefChild);
-      if (textNode != null)
-      {
-        oldParent.removeChild(textNode);
-        parent.insertBefore(textNode, child);
-      }
-    }
-  }     
-    
-
-  protected static boolean isWhitespaceTextNode(Node node)
-  {
-    boolean result = false;
-    if (node != null && node.getNodeType() == Node.TEXT_NODE)
-    {
-      String data = ((Text)node).getData();
-      result = (data == null || data.trim().length() == 0);
-    }   
-    return result;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/OpenSchemaAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/OpenSchemaAction.java
deleted file mode 100644
index 6ba1ee9..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/OpenSchemaAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.util.OpenOnSelectionHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.impl.XSDImportImpl;
-import org.w3c.dom.Node;
-
-
-public class OpenSchemaAction extends Action
-{
-  XSDConcreteComponent component;
-  public OpenSchemaAction(String label, XSDConcreteComponent component)
-  {
-    super(label);
-    this.component = component;
-  }
-
-  public void run()
-  {
-    if (component != null)
-    {
-      revealObject();
-    }
-  }
-
-  boolean lastResult = false;
-  protected boolean revealObject()
-  {
-    Node element = component.getElement();
-    String schemaLocation = "";
-    XSDSchemaDirective dir;
-    if (component instanceof XSDSchemaDirective)
-    {
-      dir = (XSDSchemaDirective)component;
-      // force load of imported schema
-      if (dir instanceof XSDImportImpl)
-      {
-        ((XSDImportImpl)dir).importSchema();
-      }
-      if (dir.getResolvedSchema() != null)
-      {
-        schemaLocation = URIHelper.removePlatformResourceProtocol(dir.getResolvedSchema().getSchemaLocation());
-        if (schemaLocation != null)
-        {
-          OpenOnSelectionHelper.openXSDEditor(schemaLocation);
-        }
-      }
-    }
-    return lastResult;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ReloadDependenciesAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ReloadDependenciesAction.java
deleted file mode 100644
index 73e239f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/ReloadDependenciesAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-
-
-public class ReloadDependenciesAction extends Action
-{
-  /**
-   * Constructor for ReloadDependenciesAction.
-   */
-  public ReloadDependenciesAction()
-  {
-    super();
-  }
-
-  /**
-   * Constructor for ReloadDependenciesAction.
-   * @param text
-   */
-  public ReloadDependenciesAction(String text)
-  {
-    super(text);
-  }
-
-  /**
-   * Constructor for ReloadDependenciesAction.
-   * @param text
-   * @param image
-   */
-  public ReloadDependenciesAction(String text, ImageDescriptor image)
-  {
-    super(text, image);
-  }
-
-  public void setEditor(XSDEditor editor)
-  {
-    this.editor = editor;
-  }
-  
-  protected XSDEditor editor;
-  
-  public void run()
-  {
-    editor.reparseSchema();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java
deleted file mode 100644
index 27bbabb..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.widgets.SetBaseTypeDialog;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class SetBaseTypeAction extends Action
-{
-  XSDSchema xsdSchema;
-  Element element;
-  String type = "";
-  String derivedByString = "";
-  XSDDOMHelper domHelper;
-  
-  /**
-   * Constructor for SetBaseTypeAction.
-   */
-  public SetBaseTypeAction()
-  {
-    super();
-    domHelper = new XSDDOMHelper();
-  }
-  /**
-   * Constructor for SetBaseTypeAction.
-   * @param arg0
-   */
-  public SetBaseTypeAction(String arg0)
-  {
-    super(arg0);
-    domHelper = new XSDDOMHelper();
-  }
-  /**
-   * Constructor for SetBaseTypeAction.
-   * @param arg0
-   * @param arg1
-   */
-  public SetBaseTypeAction(String arg0, ImageDescriptor arg1)
-  {
-    super(arg0, arg1);
-    domHelper = new XSDDOMHelper();
-  }
-  /**
-   * Constructor for SetBaseTypeAction.
-   * @param arg0
-   * @param arg1
-   */
-  public SetBaseTypeAction(String arg0, int arg1)
-  {
-    super(arg0, arg1);
-    domHelper = new XSDDOMHelper();
-  }
-
-  
-  public void setXSDSchema(XSDSchema schema)
-  {
-    this.xsdSchema = schema;    
-  }
-
-  public void setComplexTypeElement(Element element)
-  {
-    this.element = element;
-  }
-  
-  public void setType(String type)
-  {
-    this.type = type; 
-  }
-
-  public void setDerivedBy(String derivedByString)
-  {
-    this.derivedByString = derivedByString;
-  }
-
-  public void run()
-  {
-    Display display = Display.getCurrent();
-    // if it is null, get the default one
-    display = display == null ? Display.getDefault() : display;
-    Shell parentShell = display.getActiveShell();
-
-    SetBaseTypeDialog dialog = new SetBaseTypeDialog(parentShell, xsdSchema, element);
-    dialog.setBlockOnOpen(true);
-
-    Element contentModelElement = domHelper.getContentModelFromParent(element);    
-    if (contentModelElement != null)
-    {
-      // to set the current values to show in the dialog
-      if (XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false) ||
-          XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-      {
-        Element derivedByElement = domHelper.getDerivedByElementFromComplexType(element);
-        if (derivedByElement != null)
-        {
-          String currentBaseType = derivedByElement.getAttribute(XSDConstants.BASE_ATTRIBUTE);
-          dialog.setCurrentBaseType(currentBaseType);
-          dialog.setCurrentDerivedBy(derivedByElement.getLocalName());
-        }
-        else
-        {
-          dialog.setCurrentBaseType("");
-          dialog.setCurrentDerivedBy("");
-        }
-      }
-    }
-
-    int result = dialog.open();
-    
-    if (result == Window.OK) 
-    {
-      type = dialog.getBaseType();
-      derivedByString = dialog.getDerivedBy();
-      performAction();
-    }
-  }
-
-  XSDTypeDefinition newTypeDefinition = null;
-  public XSDTypeDefinition getXSDTypeDefinition()
-  {
-    return newTypeDefinition;
-  }
-
-  public void performAction()
-  {
-    TypesHelper helper = new TypesHelper(xsdSchema);
-
-    XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent(element);
-    
-    Element contentModelElement = domHelper.getContentModelFromParent(element);
-    boolean contentModelExists = true;
-    if (contentModelElement == null)
-    {
-      contentModelExists = false;
-    }
-
-//  get XSD component of the new type chosen
-    newTypeDefinition = null;
-    for (Iterator i = xsdSchema.getTypeDefinitions().iterator(); i.hasNext(); )
-    {
-      XSDTypeDefinition typeDef = (XSDTypeDefinition)i.next();
-      if (typeDef.getQName().equals(type))
-      {
-        newTypeDefinition = typeDef;
-        break;
-      }
-    }
-   
-    boolean needsComplexContent = false;
-    boolean needsSimpleContent = false;
-
-    if (helper.getBuiltInTypeNamesList().contains(type) ||
-       helper.getUserSimpleTypeNamesList().contains(type))
-//    if (newTypeDefinition instanceof XSDSimpleTypeDefinition)
-    {
-      needsSimpleContent = true; 
-    }        
-    else if (newTypeDefinition instanceof XSDComplexTypeDefinition)
-    {
-      needsComplexContent = true;
-//      XSDComplexTypeDefinition newCTObj = (XSDComplexTypeDefinition)newTypeDefinition;
-//      XSDContentTypeCategory category = newCTObj.getContentTypeCategory();
-    }
-    
-    beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_SET_BASE_TYPE"), element);
-    String prefix = element.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-
-    DOMAttribute attr = new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, type);
-    boolean hasChildrenElements = domHelper.hasElementChildren(element);
-    if (!contentModelExists) // if no content model exists, then add the new nodes
-    {
-      if (helper.getBuiltInTypeNamesList().contains(type) ||
-          helper.getUserSimpleTypeNamesList().contains(type))
-      {
-        updateModelAndDerivedByKind(prefix + XSDConstants.SIMPLECONTENT_ELEMENT_TAG, prefix + XSDConstants.EXTENSION_ELEMENT_TAG, attr);
-      }
-      else if (helper.getUserComplexTypeNamesList().contains(type))
-      {
-        if (derivedByString.equals("")) // default
-        {
-          derivedByString = XSDConstants.EXTENSION_ELEMENT_TAG;
-        }
-        Element derivedByElement = updateModelAndDerivedByKind(prefix + XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, prefix + derivedByString, attr);
-        Element newModelGroupElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SEQUENCE_ELEMENT_TAG);
-        derivedByElement.appendChild(newModelGroupElement);
-        formatChild(derivedByElement);
-      }
-    }
-    else  // else there is a content model
-    {
-      if (type.equals(""))  // the chosen type is blank, ie. there is no base type
-      {
-        Element derivedByElement = domHelper.getDerivedByElementFromComplexType(element);
-        Element sourceContentModelElement = domHelper.getContentModelFromParent(derivedByElement);
-        // Retain the content model if there is one from the complex or simple content derive by element
-        if (XSDDOMHelper.inputEquals(sourceContentModelElement, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals(sourceContentModelElement, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals(sourceContentModelElement, XSDConstants.ALL_ELEMENT_TAG, false))
-        {      
-          Element newNode = domHelper.cloneElement(element, sourceContentModelElement);
-          element.replaceChild(newNode, contentModelElement);
-          formatChild(element); 
-        }
-        else // otherwise just add the nodes
-        {
-          XSDDOMHelper.removeNodeAndWhitespace(contentModelElement);
-          Element newSequenceElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SEQUENCE_ELEMENT_TAG);
-          element.appendChild(newSequenceElement);
-          formatChild(newSequenceElement);
-        }
-      }           
-      else // a base type is specified
-      {
-        Element sequenceChoiceOrAllElement = null;  // copy the model to reposition it off of the new derived by element
-        if (XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.ALL_ELEMENT_TAG, false))
-        {
-           sequenceChoiceOrAllElement = domHelper.cloneElement(element, contentModelElement);
-        }
-
-        if (needsComplexContent)
-        {
-          if (!(XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false)))
-          {
-            domHelper.changeContentModel(element, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, sequenceChoiceOrAllElement);
-            contentModelElement = domHelper.getContentModelFromParent(element);
-          }          
-        }
-        if (needsSimpleContent)
-        {
-          if (!(XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false)))
-          {
-            // we don't want to append the element content to a simple content
-            sequenceChoiceOrAllElement = null;
-            domHelper.changeContentModel(element, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, sequenceChoiceOrAllElement);
-            contentModelElement = domHelper.getContentModelFromParent(element);
-          }
-        }
-
-        Element derivedByElement = domHelper.getDerivedByElementFromComplexType(element);        
-        if (derivedByElement == null)
-        {
-          if (derivedByString == null || (derivedByString != null && derivedByString.equals("")))
-          {
-            derivedByString = XSDConstants.EXTENSION_ELEMENT_TAG;  // since there is no derivedByElement
-          }
-          derivedByElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, derivedByString);
-          contentModelElement.appendChild(derivedByElement);
-          formatChild(contentModelElement);
-          if (sequenceChoiceOrAllElement != null)
-          {
-            derivedByElement.appendChild(sequenceChoiceOrAllElement);
-            formatChild(derivedByElement);
-          }
-        }
-        else
-        {
-          if (helper.getBuiltInTypeNamesList().contains(type) ||
-              helper.getUserSimpleTypeNamesList().contains(type))
-          {
-            derivedByString = XSDConstants.EXTENSION_ELEMENT_TAG;
-            Element aContentModelElement = domHelper.getContentModelFromParent(derivedByElement);
-            if (aContentModelElement != null)
-            {
-              XSDDOMHelper.removeNodeAndWhitespace(aContentModelElement);
-            }
-          }
-          domHelper.changeDerivedByType(contentModelElement, derivedByString, type);
-        }
-        derivedByElement.setAttribute(attr.getName(), attr.getValue());
-      }
-    }
-    
-    xsdComp.setElement(element);
-    endRecording(element);
-  }
-
-  private Element updateModelAndDerivedByKind(String modelType, String derivedByKind, DOMAttribute attr)
-  {
-    Element newContentModelElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, modelType);
-    element.appendChild(newContentModelElement);
-
-    Element newDerivedByElement = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, derivedByKind);
-    newContentModelElement.appendChild(newDerivedByElement);
-
-    newDerivedByElement.setAttribute(attr.getName(), attr.getValue());
-    
-    NodeList children = element.getChildNodes();
-    int length = children.getLength();
-    ArrayList nodesToRemove = new ArrayList();
-    for (int i = 0; i < length; i++)
-    {
-      Node node = children.item(i);
-      if (XSDDOMHelper.inputEquals(node, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
-          XSDDOMHelper.inputEquals(node, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true) ||
-          XSDDOMHelper.inputEquals(node, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true) ||
-          XSDDOMHelper.inputEquals(node, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
-      {
-        newDerivedByElement.appendChild(node.cloneNode(true));
-        nodesToRemove.add(node);
-      }
-    }
-    for (Iterator i = nodesToRemove.iterator(); i.hasNext(); )
-    {
-      XSDDOMHelper.removeNodeAndWhitespace((Node)i.next());
-    }
-    
-    formatChild(newContentModelElement);
-
-    return newDerivedByElement;
-  }
-
-  protected void formatChild(Element child)
-  {
-    if (child instanceof XMLNode)
-    {
-      XMLModel model = ((XMLNode)child).getModel();
-      try
-      {
-        // tell the model that we are about to make a big model change
-        model.aboutToChangeModel();
-        
-        IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
-        formatProcessor.formatNode(child);
-      }
-      finally
-      {
-        // tell the model that we are done with the big model change
-        model.changedModel(); 
-      }
-    }
-
-  }
-
-  public DocumentImpl getDocument(Element element)
-  {
-    return (DocumentImpl) element.getOwnerDocument();
-  }
-
-  public void beginRecording(String description, Element element)
-  {
-    getDocument(element).getModel().beginRecording(this, description);
-  }
-  
-  public void endRecording(Element element)
-  {
-    DocumentImpl doc = (DocumentImpl) getDocument(element);
-    
-    doc.getModel().endRecording(this);    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetMultiplicityAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetMultiplicityAction.java
deleted file mode 100644
index 7de436d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetMultiplicityAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import org.eclipse.wst.xsd.ui.internal.commands.SetMultiplicityCommand;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class SetMultiplicityAction extends AbstractAction
-{
-  SetMultiplicityCommand command;
-  
-  public SetMultiplicityAction(XSDConcreteComponent parent, String multiplicity)
-  {
-    super(multiplicity, parent);
-    command = new SetMultiplicityCommand(parent);
-  }
-  
-  public void setMaxOccurs(int i)
-  {
-    command.setMaxOccurs(i);
-  }
-
-  public void setMinOccurs(int i)
-  {
-    command.setMinOccurs(i);
-  }
-
-  public void run()
-  {
-    beginRecording(getText());
-    command.run();
-    endRecording();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetTypeAction.java
deleted file mode 100644
index 6ff6b92..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetTypeAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xsd.ui.internal.commands.SetTypeCommand;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class SetTypeAction extends AbstractAction
-{
-  int typeKind;
-  SetTypeCommand command;
-  
-  public SetTypeAction(String text, ImageDescriptor image, XSDConcreteComponent xsdConcreteComponent)
-  {
-    super(text, image, xsdConcreteComponent);
-    command = new SetTypeCommand(xsdConcreteComponent);
-  }
-  
-  public SetTypeAction(String text, XSDConcreteComponent xsdConcreteComponent)
-  {
-    super(text, xsdConcreteComponent);
-    command = new SetTypeCommand(xsdConcreteComponent);
-  }
-  
-  public void setTypeKind(int type)
-  {
-    this.typeKind = type;
-    command.setTypeKind(type);
-  }
-  
-  public void run()
-  {
-    beginRecording(getText());
-    command.run();
-    endRecording();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/XSDEditNamespacesAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/XSDEditNamespacesAction.java
deleted file mode 100644
index 468c9b1..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/XSDEditNamespacesAction.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.actions;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.contentmodel.util.DOMNamespaceInfoManager;
-import org.eclipse.wst.common.contentmodel.util.NamespaceInfo;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xml.ui.actions.ReplacePrefixAction;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.SchemaPrefixChangeHandler;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.TargetNamespaceChangeHandler;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.wst.xsd.ui.internal.widgets.XSDEditSchemaInfoDialog;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class XSDEditNamespacesAction extends Action {
-	private Element element;
-	private Node node;
-	private String resourceLocation;
-	private XSDSchema xsdSchema;
-    private DOMNamespaceInfoManager namespaceInfoManager = new DOMNamespaceInfoManager();
-	
-	public XSDEditNamespacesAction(String label, Element element, Node node) {
-		super();
-		setText(label);
-		
-		this.element = element;
-		this.node = node;
-		///////////////////// This needs to be changed....
-		this.resourceLocation = "dummy";		
-	}
-	
-	public XSDEditNamespacesAction(String label, Element element, Node node, XSDSchema schema) {
-		this (label, element, node);
-		xsdSchema = schema;
-	}
-	
-	public void run() {
-		if (element != null)
-		{   
-		      Shell shell = XMLCommonResources.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		      String targetNamespace = null;
-		      if (xsdSchema != null) {
-		      	targetNamespace = xsdSchema.getTargetNamespace();
-		      }
-		      XSDEditSchemaInfoDialog dialog = new XSDEditSchemaInfoDialog(shell, new Path(resourceLocation), targetNamespace); 
-
-		      List namespaceInfoList = namespaceInfoManager.getNamespaceInfoList(element);
-		      List oldNamespaceInfoList = NamespaceInfo.cloneNamespaceInfoList(namespaceInfoList);
-
-		      // here we store a copy of the old info for each NamespaceInfo
-		      // this info will be used in createPrefixMapping() to figure out how to update the document 
-		      // in response to these changes
-		      for (Iterator i = namespaceInfoList.iterator(); i.hasNext(); )
-		      {
-		        NamespaceInfo info = (NamespaceInfo)i.next();
-		        NamespaceInfo oldCopy = new NamespaceInfo(info);
-		        info.setProperty("oldCopy", oldCopy);
-		      }
-		                              
-		      dialog.setNamespaceInfoList(namespaceInfoList);   
-		      dialog.create();      
-		      //dialog.getShell().setSize(500, 300);
-		      dialog.getShell().setText(XMLCommonResources.getInstance().getString("_UI_MENU_EDIT_SCHEMA_INFORMATION_TITLE"));
-		      dialog.setBlockOnOpen(true);                                 
-		      dialog.open();
-          String xsdPrefix = "";    
-
-		      if (dialog.getReturnCode() == Window.OK)
-		      {
-            Element xsdSchemaElement = xsdSchema.getElement();
-            DocumentImpl doc = (DocumentImpl) xsdSchemaElement.getOwnerDocument();
-            
-            List newInfoList = dialog.getNamespaceInfoList();
-
-		        // see if we need to rename any prefixes
-		        Map prefixMapping = createPrefixMapping(oldNamespaceInfoList, namespaceInfoList);
-            
-            Map map2 = new Hashtable();
-            String xsdNS = "";
-            for (Iterator iter = newInfoList.iterator(); iter.hasNext(); )
-            {
-              NamespaceInfo ni = (NamespaceInfo)iter.next();
-              String pref = ni.prefix;
-              String uri = ni.uri;
-              if (pref == null) pref = "";
-              if (uri == null) uri = "";
-              if (XSDConstants.isSchemaForSchemaNamespace(uri))
-              {
-                xsdPrefix = pref;
-              }
-              map2.put(pref, uri);
-            }
-           
-		        if (map2.size() > 0)
-		        {
-		        	try {
-                
-                doc.getModel().beginRecording(this, XSDEditorPlugin.getXSDString("_UI_NAMESPACE_CHANGE"));
-
-                if (xsdPrefix != null && xsdPrefix.length() == 0)
-                {
-                  xsdSchema.setSchemaForSchemaQNamePrefix(null);
-                }
-                else
-                {
-                  xsdSchema.setSchemaForSchemaQNamePrefix(xsdPrefix);
-                }
-                
-                SchemaPrefixChangeHandler spch = new SchemaPrefixChangeHandler(xsdSchema, xsdPrefix);
-                spch.resolve();
-
-                xsdSchema.setTargetNamespace(dialog.getTargetNamespace());
-                
-                namespaceInfoManager.removeNamespaceInfo(element);
-                namespaceInfoManager.addNamespaceInfo(element, newInfoList, false);
-               
-//                manager.getModel().aboutToChangeModel();
-			          ReplacePrefixAction replacePrefixAction = new ReplacePrefixAction(null, element, prefixMapping);
-			          replacePrefixAction.run();
-                
-                TargetNamespaceChangeHandler targetNamespaceChangeHandler = new TargetNamespaceChangeHandler(xsdSchema, targetNamespace, dialog.getTargetNamespace());
-                targetNamespaceChangeHandler.resolve();
-
-				    	} catch (Exception e){ e.printStackTrace(); }finally {
-//				      manager.getModel().changedModel();
-
-                XSDSchemaHelper.updateElement(xsdSchema);
-                doc.getModel().endRecording(this);
-			     		}
-		        }
-		   }      
-          
-		}
-	}
-	
-	 protected Map createPrefixMapping(List oldList, List newList)
-	  {          
-	    Map map = new Hashtable();
-
-	    Hashtable oldURIToPrefixTable = new Hashtable();
-	    for (Iterator i = oldList.iterator(); i.hasNext(); )
-	    {    
-	      NamespaceInfo oldInfo = (NamespaceInfo)i.next();                    
-	      oldURIToPrefixTable.put(oldInfo.uri, oldInfo);
-	    }
-	    
-	    for (Iterator i = newList.iterator(); i.hasNext(); )
-	    {
-	      NamespaceInfo newInfo = (NamespaceInfo)i.next();
-	      NamespaceInfo oldInfo = (NamespaceInfo)oldURIToPrefixTable.get(newInfo.uri != null ? newInfo.uri : ""); 
-
-
-	      // if oldInfo is non null ... there's a matching URI in the old set
-	      // we can use its prefix to detemine out mapping
-	      //
-	      // if oldInfo is null ...  we use the 'oldCopy' we stashed away 
-	      // assuming that the user changed the URI and the prefix
-	      if (oldInfo == null)                                            
-	      {
-	        oldInfo = (NamespaceInfo)newInfo.getProperty("oldCopy");           
-	      } 
-
-	      if (oldInfo != null)
-	      {
-	        String newPrefix = newInfo.prefix != null ? newInfo.prefix : "";
-	        String oldPrefix = oldInfo.prefix != null ? oldInfo.prefix : "";
-	        if (!oldPrefix.equals(newPrefix))
-	        {
-	          map.put(oldPrefix, newPrefix);    
-	        }
-	      }      
-	    }        
-	    return map;
-	  }
-   
-//    private void updateAllNodes(Element element, String prefix)
-//    {
-//      element.setPrefix(prefix);
-//      NodeList list = element.getChildNodes();
-//      if (list != null)
-//      {
-//        for (int i=0; i < list.getLength(); i++)
-//        {
-//          Node child = list.item(i);
-//          if (child != null && child instanceof Element)
-//          {
-//            child.setPrefix(prefix);
-//            if (child.hasChildNodes())
-//            {
-//              updateAllNodes((Element)child, prefix);
-//            }
-//          }
-//        }
-//      }   
-//    }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java
deleted file mode 100644
index 9d8c0a1..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.commands;
-
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-public abstract class AbstractCommand 
-{
-  private XSDConcreteComponent parent;
-  private XSDConcreteComponent model;
-
-  protected AbstractCommand(XSDConcreteComponent parent)
-  {
-    this.parent = parent;
-  }
-  
-  public abstract void run();
-
-  protected XSDConcreteComponent getParent()
-  {
-    return parent;
-  }
-  
-  public XSDConcreteComponent getModelObject()
-  {
-    return model;
-  }
-  
-  protected void setModelObject(XSDConcreteComponent model)
-  {
-    this.model = model;
-  }
-  
-  // Establish part-whole relationship
-  protected abstract boolean adopt(XSDConcreteComponent model);
-
-  protected void formatChild(Element child)
-  {
-    if (child instanceof XMLNode)
-    {
-      XMLModel model = ((XMLNode)child).getModel();
-      try
-      {
-        // tell the model that we are about to make a big model change
-        model.aboutToChangeModel();
-        
-        IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
-        formatProcessor.formatNode(child);
-      }
-      finally
-      {
-        // tell the model that we are done with the big model change
-        model.changedModel(); 
-      }
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java
deleted file mode 100644
index 7be73f0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.commands;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-public class AddAttributeDeclarationCommand extends AbstractCommand
-{
-  XSDAttributeDeclaration refAttribute = null;
-  /**
-   * @param parent
-   */
-  public AddAttributeDeclarationCommand(XSDConcreteComponent parent)
-  {
-    super(parent);
-  }
-
-  public AddAttributeDeclarationCommand(XSDConcreteComponent parent, XSDAttributeDeclaration ref)
-  {
-    super(parent);
-    this.refAttribute = ref;
-  }
-
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.xsd.ui.internal.commands.AbstractCommand#run()
-   */
-  public void run()
-  {
-    XSDConcreteComponent parent = getParent();
-    if (parent instanceof XSDComplexTypeDefinition)
-    {
-      XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)parent;
-
-      XSDAttributeDeclaration attribute = XSDFactory.eINSTANCE.createXSDAttributeDeclaration();
-      attribute.setName(getNewName("Attribute")); //$NON-NLS-1$
-      attribute.setTypeDefinition(ct.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition("string")); //$NON-NLS-1$
-      
-      XSDAttributeUse attributeUse = XSDFactory.eINSTANCE.createXSDAttributeUse();
-      attributeUse.setAttributeDeclaration(attribute);
-      attributeUse.setContent(attribute);
-      
-      if (ct.getAttributeContents() != null)
-      {
-        ct.getAttributeContents().add(attributeUse);
-        formatChild(attribute.getElement());
-      }
-    }
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.xsd.ui.internal.commands.AbstractCommand#adopt(org.eclipse.xsd.XSDConcreteComponent)
-   */
-  protected boolean adopt(XSDConcreteComponent model)
-  {
-    return false;
-  }
-  
-  ArrayList names;
-  
-  protected String getNewName(String description)
-  {
-    String candidateName = "New" + description; //$NON-NLS-1$
-    StringBuffer candidateNameSB = new StringBuffer("New" + description); //$NON-NLS-1$
-    XSDConcreteComponent parent = getParent();
-    names = new ArrayList();
-    int i = 1;
-    if (parent instanceof XSDComplexTypeDefinition)
-    {
-      XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)parent;
-      walkUpInheritance(ct);
-
-      boolean ready = false;
-      while (!ready)
-      {
-        ready = true;
-        for (Iterator iter = names.iterator(); iter.hasNext(); )
-        {
-          String attrName = (String)iter.next();
-          if (candidateName.equals(attrName))
-          {
-            ready = false;
-            candidateName = "New" + description + String.valueOf(i); //$NON-NLS-1$
-            i++;
-          }
-        }
-      }
-    }
-    return candidateName;
-  }
-  
-  private void walkUpInheritance(XSDComplexTypeDefinition ct)
-  {
-    updateNames(ct);
-    XSDTypeDefinition typeDef = ct.getBaseTypeDefinition();
-    if (ct != ct.getRootType())
-    {
-      if (typeDef instanceof XSDComplexTypeDefinition)
-      {
-        XSDComplexTypeDefinition ct2 = (XSDComplexTypeDefinition)typeDef;
-        walkUpInheritance(ct2);
-      }
-    }
-  }
-
-  private void updateNames(XSDComplexTypeDefinition ct)
-  {
-    Iterator iter = ct.getAttributeContents().iterator();
-    while (iter.hasNext())
-    {
-      Object obj = iter.next();
-      if (obj instanceof XSDAttributeUse)
-      {
-        XSDAttributeUse use = (XSDAttributeUse)obj;
-        XSDAttributeDeclaration attr = use.getAttributeDeclaration();
-        String attrName = attr.getName();
-        if (attrName != null)
-        {
-          names.add(attrName);
-        }
-      }
-    }
-
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddComplexTypeDefinitionCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddComplexTypeDefinitionCommand.java
deleted file mode 100644
index 72da36a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddComplexTypeDefinitionCommand.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.commands;
-
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-
-public final class AddComplexTypeDefinitionCommand extends AbstractCommand
-{
-  private String name;
-  
-  public AddComplexTypeDefinitionCommand
-    (XSDConcreteComponent parent,
-     String name)
-  {
-    super(parent);
-    this.name = name; // this may be null for anonymous type
-  }
-	  
-  public void run()
-  {
-  	XSDComplexTypeDefinition typeDef = 
-      XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
-    typeDef.setName(name);
-    	
-    if (adopt(typeDef))
-      setModelObject(typeDef);
-  }
-  
-  protected boolean adopt(XSDConcreteComponent model)
-  {
-  	XSDConcreteComponent parent = getParent();
-    if (parent instanceof XSDSchema)
-      ((XSDSchema)parent).getTypeDefinitions().add(model);
-    else if (parent instanceof XSDElementDeclaration)
-      ((XSDElementDeclaration)parent).setAnonymousTypeDefinition((XSDComplexTypeDefinition)model);
-    else
-      return false; // invalid parent
-    
-    return true;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddElementDeclarationCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddElementDeclarationCommand.java
deleted file mode 100644
index cf161ec..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddElementDeclarationCommand.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.commands;
-
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-
-public final class AddElementDeclarationCommand extends AbstractCommand
-{
-  private String name; // element name
-  
-  public AddElementDeclarationCommand
-    (XSDConcreteComponent parent,
-     String name)
-  {
-    super(parent);
-    this.name = name;
-  }
-  
-  public void run()
-  {
-    XSDElementDeclaration elementDecl = 
-      XSDFactory.eINSTANCE.createXSDElementDeclaration();
-    elementDecl.setName(name);
-    
-    if (adopt(elementDecl))
-      setModelObject(elementDecl);
-  }
-
-  protected boolean adopt(XSDConcreteComponent model)
-  {
-  	XSDConcreteComponent parent = getParent();
-    if (parent instanceof XSDSchema)
-      ((XSDSchema)parent).getElementDeclarations().add(model);
-    else if (parent instanceof XSDParticle)
-      ((XSDParticle)parent).setContent((XSDElementDeclaration)model);
-    else
-      return false; // invalid parent
-    
-    return true;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddModelGroupCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddModelGroupCommand.java
deleted file mode 100644
index f5518e2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddModelGroupCommand.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.commands;
-
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public class AddModelGroupCommand extends AbstractCommand
-{
-  protected XSDCompositor compositor;
-
-  public AddModelGroupCommand(XSDConcreteComponent parent, XSDCompositor compositor)
-  {
-    super(parent);
-    this.compositor = compositor;
-  }
-
-  public void run()
-  {
-    XSDConcreteComponent parent = getParent();
-    XSDConcreteComponent owner = null;
-    if (parent instanceof XSDElementDeclaration)
-    {
-      XSDElementDeclaration ed = (XSDElementDeclaration)parent;      
-      if (ed.getTypeDefinition() != null) 
-      {
-        if (ed.getAnonymousTypeDefinition() == null)
-        {
-          ed.setTypeDefinition(null);
-          XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
-          ed.setAnonymousTypeDefinition(td);
-          owner = ed.getTypeDefinition();
-        }
-        else
-        {
-          XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
-          ed.setAnonymousTypeDefinition(td);
-          owner = td;        
-        }
-      }        
-      else if (ed.getAnonymousTypeDefinition() == null)
-      {
-        XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
-        ed.setAnonymousTypeDefinition(td);
-        owner = td;        
-      }
-      else if (ed.getAnonymousTypeDefinition() instanceof XSDComplexTypeDefinition)
-      {
-        owner = ed.getAnonymousTypeDefinition();
-      }
-      else if (ed.getAnonymousTypeDefinition() instanceof XSDSimpleTypeDefinition)
-      {
-        XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
-        ed.setAnonymousTypeDefinition(td);
-        owner = td;        
-      }
-    }
-    else if (parent instanceof XSDModelGroup)
-    {
-      ((XSDModelGroup) parent).getContents().add(createModelGroup());
-    }
-    else if (parent instanceof XSDComplexTypeDefinition)
-    {
-      owner = ((XSDComplexTypeDefinition)parent);
-    }
-    if (owner != null)
-    {
-      XSDParticle particle = XSDFactory.eINSTANCE.createXSDParticle(); 
-      XSDModelGroup modelGroup = createModelGroup();
-      particle.setContent(modelGroup);
-
-      XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)owner;
-      ctd.setContent(particle);
-      formatChild(parent.getElement());
-    }  
-  }
-
-  protected boolean adopt(XSDConcreteComponent model)
-  {
-    return false;
-  }
-  
-  protected XSDModelGroup createModelGroup()
-  {
-    XSDModelGroup modelGroup = XSDFactory.eINSTANCE.createXSDModelGroup();
-    modelGroup.setCompositor(compositor);
-    return modelGroup;
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddSimpleTypeDefinitionCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddSimpleTypeDefinitionCommand.java
deleted file mode 100644
index b0c347b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddSimpleTypeDefinitionCommand.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.commands;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public final class AddSimpleTypeDefinitionCommand extends AbstractCommand
-{
-  private String name;
-  
-  public AddSimpleTypeDefinitionCommand
-    (XSDConcreteComponent parent,
-     String name)
-  {
-    super(parent);
-    this.name = name; // this may be null for anonymous type
-  }
-  
-  public void run()
-  {
-  	XSDSimpleTypeDefinition typeDef = 
-      XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
-  	typeDef.setName(name);
-  	
-    if (adopt(typeDef))
-      setModelObject(typeDef);
-  }
-  
-  protected boolean adopt(XSDConcreteComponent model)
-  {
-  	XSDConcreteComponent parent = getParent();
-    if (parent instanceof XSDSchema)
-      ((XSDSchema)parent).getTypeDefinitions().add(model);
-    else if (parent instanceof XSDElementDeclaration)
-      ((XSDElementDeclaration)parent).setAnonymousTypeDefinition((XSDSimpleTypeDefinition)model);
-    else if (parent instanceof XSDAttributeDeclaration)
-      ((XSDAttributeDeclaration)parent).setAnonymousTypeDefinition((XSDSimpleTypeDefinition)model);
-    else
-      return false; // invalid parent
-    
-    return true;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/RenameCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/RenameCommand.java
deleted file mode 100644
index ade4b77..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/RenameCommand.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.commands;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComplexTypeDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ElementDeclarationEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-
-
-/**
- * @author kchong
- *
- * <a href="mailto:kchong@ca.ibm.com">kchong@ca.ibm.com</a>
- *
- */
-public class RenameCommand
-{
-  protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-  Label label = new Label();
-  XSDNamedComponent namedComponent;
-  GraphicalEditPart editPart;
-  
-  public RenameCommand(XSDNamedComponent namedComponent, GraphicalEditPart editPart)
-  {
-    this.namedComponent = namedComponent;
-    this.editPart = editPart;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.xsd.edit.actions.AbstractCommand#run()
-   */
-  public void run()
-  {
-    if (editPart instanceof ElementDeclarationEditPart)
-    {
-      ElementDeclarationEditPart elementDeclarationEditPart = (ElementDeclarationEditPart)editPart;
-      elementDeclarationEditPart.doEditName();
-    }
-    else if (editPart instanceof TopLevelComponentEditPart)
-    {
-      TopLevelComponentEditPart topLevelEditPart = (TopLevelComponentEditPart)editPart;
-      topLevelEditPart.doEditName();
-    }
-    else if (editPart instanceof ComplexTypeDefinitionEditPart)
-    {
-      ((ComplexTypeDefinitionEditPart)editPart).doEditName();
-    }
-    else if (editPart instanceof ModelGroupDefinitionEditPart)
-    {
-      ((ModelGroupDefinitionEditPart)editPart).doEditName();
-    }
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.xsd.edit.actions.AbstractCommand#adopt(org.eclipse.xsd.XSDConcreteComponent)
-   */
-  protected boolean adopt(XSDConcreteComponent model)
-  {
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/SetMultiplicityCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/SetMultiplicityCommand.java
deleted file mode 100644
index f43bdcd..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/SetMultiplicityCommand.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.commands;
-
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-
-public class SetMultiplicityCommand extends AbstractCommand
-{
-  int maxOccurs, minOccurs;
-
-  /**
-   * @param parent
-   */
-  public SetMultiplicityCommand(XSDConcreteComponent parent)
-  {
-    super(parent);
-  }
-  
-  public void setMaxOccurs(int i)
-  {
-    maxOccurs=i;
-  }
-
-  public void setMinOccurs(int i)
-  {
-    minOccurs=i;    
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.xsd.ui.internal.commands.AbstractCommand#run()
-   */
-  public void run()
-  {
-    XSDConcreteComponent parent = getParent();
-    XSDConcreteComponent owner = null;
-    if (parent instanceof XSDParticleContent)
-    {
-      XSDParticleContent xsdParticleContent = (XSDParticleContent)parent;
-      XSDParticle xsdParticle = (XSDParticle)xsdParticleContent.getContainer();
-      if (maxOccurs < 0)
-      {
-        maxOccurs = XSDParticle.UNBOUNDED;
-      }
-      xsdParticle.setMaxOccurs(maxOccurs);
-      xsdParticle.setMinOccurs(minOccurs);
-    }
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.xsd.ui.internal.commands.AbstractCommand#adopt(org.eclipse.xsd.XSDConcreteComponent)
-   */
-  protected boolean adopt(XSDConcreteComponent model)
-  {
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/SetTypeCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/SetTypeCommand.java
deleted file mode 100644
index 1549e67..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/SetTypeCommand.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.commands;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionDialog;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDSetTypeHelper;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class SetTypeCommand extends AbstractCommand
-{
-  protected int typeKind = XSDConstants.COMPLEXTYPE_ELEMENT;
-  
-  public SetTypeCommand(XSDConcreteComponent parent)
-  {
-    super(parent);
-  }
-  
-  public void setTypeKind(int type)
-  {
-    this.typeKind = type;
-  }
-
-  public void run()
-  {
-    XSDConcreteComponent parent = getParent();
-    if (parent instanceof XSDElementDeclaration)
-    {
-      XSDElementDeclaration element = (XSDElementDeclaration)parent;
-      XSDSchema schema = element.getSchema();
-      if (typeKind == XSDConstants.COMPLEXTYPE_ELEMENT)
-      {
-        AddComplexTypeDefinitionCommand ctCommand = new AddComplexTypeDefinitionCommand(element, null);
-//        ctCommand.run();
-        AddModelGroupCommand sequenceCommand = new AddModelGroupCommand(element, XSDCompositor.SEQUENCE_LITERAL);
-        sequenceCommand.run();
-      }
-      else if (typeKind == XSDConstants.SIMPLETYPE_ELEMENT)
-      {
-        AddSimpleTypeDefinitionCommand stCommand = new AddSimpleTypeDefinitionCommand(element, null);
-        stCommand.run();
-        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)stCommand.getModelObject();
-        XSDSimpleTypeDefinition base = schema.resolveSimpleTypeDefinition(schema.getSchemaForSchemaNamespace(), "string");
-        st.setBaseTypeDefinition(base);
-      }
-      else
-      {
-          Shell shell = Display.getCurrent().getActiveShell();
-          IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
-          
-          XSDComponentSelectionProvider provider = new XSDComponentSelectionProvider(currentIFile, schema);
-          XSDComponentSelectionDialog dialog = new XSDComponentSelectionDialog(shell, "Set Type", provider);  // TODO: Externalize This
-          provider.setDialog(dialog);
-          
-          dialog.setBlockOnOpen(true);
-          dialog.create();
-          
-          if (dialog.open() == Window.OK) {
-              XSDSetTypeHelper helper = new XSDSetTypeHelper(currentIFile, schema);
-              helper.setType(element.getElement(), "type", dialog.getSelection());
-          }
-      }
-      formatChild(element.getElement());
-    }
-
-  }
-  
-  private IEditorPart getActiveEditor()
-  {
-    IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
-    IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-    IEditorPart editorPart = workbenchWindow.getActivePage().getActiveEditor();
-//    IEditorPart editorPart = part.getSite().getWorkbenchWindow().getActivePage().getActiveEditor();
-
-    return editorPart;
-  }
-
-  protected boolean adopt(XSDConcreteComponent model)
-  {
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/common/ComponentSelectionDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/common/ComponentSelectionDialog.java
deleted file mode 100644
index 32fc5a5..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/common/ComponentSelectionDialog.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.common;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-
-public class ComponentSelectionDialog extends Dialog {
-    private Display display = Display.getCurrent();
-    private String dialogTitle;
-
-    protected IComponentSelectionProvider provider;
-    private List componentTreeViewerInput;
-    private List masterComponentList;
-    
-    // widgets
-    protected Composite topComposite;
-    protected Composite bottomComposite; 
-    private String filterTextLabel = "";
-    private String componentListLabel = "Components:";  // TODO: Externalize String
-    private Text textFilter;
-    protected TreeViewer componentTreeViewer;
-    private org.eclipse.swt.widgets.List qualifierList;
-    
-    protected Object componentSelection;
-    protected Object qualifierTextSelection;
-
-    public ComponentSelectionDialog(Shell shell, String dialogTitle, IComponentSelectionProvider provider) {
-        super(shell);
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-        this.dialogTitle = dialogTitle;
-        this.provider = provider;
-        
-        componentTreeViewerInput = new ArrayList();
-        masterComponentList = new ArrayList();
-    }
-
-    /*
-     * This method should be called before createDialogArea(Composite)
-     */
-    public void setComponentTreeLabel(String string) {
-        componentListLabel = string;
-    }
-
-    /*
-     * This method should be called before createDialogArea(Composite)
-     */
-    public void setFilterLabel(String string) {
-        filterTextLabel = string;
-    }
-    
-    public void create() {
-        super.create();
-        setTextFilterFocus();
-    }
-    
-    protected void setTextFilterFocus() {
-        textFilter.setFocus();        
-    }
-
-    public Control createDialogArea(Composite parent) {
-        getShell().setText(dialogTitle);
-
-        Composite mainComposite = (Composite) super.createDialogArea(parent);
-        GridData gData = (GridData) mainComposite.getLayoutData();
-        gData.heightHint = 500;
-        gData.widthHint = 400;
-
-        // Subclasses may use this Composite to add desired widgets
-        //topComposite = new Composite(mainComposite, SWT.NONE);
-        //topComposite.setLayoutData(new GridData());
-        //topComposite.setLayout(new GridLayout());
-        
-        // do we need to introduce a method here to contain this
-        // so we can add different parent other than 'topComposite'
-        Composite filterLabelAndTree = new Composite(mainComposite, SWT.NONE);
-        GridData gd = new GridData(GridData.FILL_BOTH);
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        filterLabelAndTree.setLayoutData(new GridData(GridData.FILL_BOTH));
-        filterLabelAndTree.setLayout(layout);
-
-        // Create Text textFilter
-        Label filterLabel = new Label(filterLabelAndTree, SWT.NONE);
-        filterLabel.setText(filterTextLabel);// + "(? = any character, * = any string):"); // TODO: Externalize String
-
-        textFilter = new Text(filterLabelAndTree, SWT.SINGLE | SWT.BORDER);
-        textFilter.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));        
-        textFilter.addModifyListener(new TextFilterModifyAdapter());
-        GridData textFilterData = new GridData();
-        textFilterData.horizontalAlignment = GridData.FILL;
-        textFilterData.grabExcessHorizontalSpace = true;
-        textFilter.setLayoutData(textFilterData);
-
-        //textFilter.setSelection(0);
-        //textFilter.setf
-        
-        
-        // Create Component TreeViewer
-        createComponentTreeViewer(filterLabelAndTree);
-
-        // Create Qualifier List widget
-        Label qualifierLabel = new Label(mainComposite, SWT.NONE);
-        qualifierLabel.setText("Qualifier:");                       // TODO: Externalize String
-
-        qualifierList = new org.eclipse.swt.widgets.List(mainComposite, SWT.BORDER | SWT.SINGLE);
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        data.heightHint = 45;
-        qualifierList.setLayoutData(data);
-                
-        bottomComposite = new Composite(mainComposite, SWT.NONE);
-        bottomComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        bottomComposite.setLayout(new GridLayout());
-
-        // Populate the Component TreeViewer via the provider
-        // TODO: Is this the right way to set/get the ContentProvider?
-        componentTreeViewer.setContentProvider(new ComponentTreeContentProvider());
-        componentTreeViewer.setLabelProvider(provider.getLabelProvider());
-        componentTreeViewer.setSorter(new ViewerSorter());
-        componentTreeViewer.setInput(componentTreeViewerInput);
-        
-        populateMasterComponentList();
-        refreshTreeViewer("");
-
-        return mainComposite;
-    }
-
-    protected TreeViewer createTreeViewer(Composite comp, String title) {
-        Label label = new Label(comp, SWT.NONE);
-        label.setText(title);
-
-        TreeViewer treeViewer = new TreeViewer(new Tree(comp, SWT.SINGLE | SWT.BORDER));
-        Control treeWidget = treeViewer.getTree();
-        GridData gd = new GridData(GridData.FILL_BOTH);
-        treeWidget.setLayoutData(gd);
-
-        return treeViewer;
-    }
-    
-    /*
-     * Creates the Component TreeViewer.
-     */
-    private void createComponentTreeViewer(Composite base) {
-        componentTreeViewer = createTreeViewer(base, componentListLabel);    
-        
-        componentTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection();
-                List qualifiers = provider.getQualifiers(structuredSelection.getFirstElement());
-                updateQualifierList(qualifiers);
-                updateCanFinish();
-            }
-        });
-    }
-    
-    private void updateQualifierList(List qualifiers) {
-        qualifierList.removeAll();
-        Iterator it = qualifiers.iterator();
-        while (it.hasNext()) {
-            qualifierList.add(it.next().toString());
-        }
-    }
-    
-    
-    /*
-     * Returns the processed filter text for the Text field.  Inserts a "."
-     * before each supported meta-character.
-     */
-    protected String getProcessedFilterString() {
-        return processFilterString(textFilter.getText());
-    }
-
-    /*
-     * If supported metacharacters are used in the filter string, we need to
-     * insert a "." before each metacharacter.
-     */
-    private String processFilterString(String inputString) {
-        if (!(inputString.equals(""))) {
-            inputString = insertString("*", ".", inputString);
-            inputString = insertString("?", ".", inputString);
-            inputString = inputString + ".*";
-        } else {
-            inputString = ".*";
-        }
-
-        return inputString.toLowerCase();
-    }
-    
-    /*
-     * Helper method to insert a "." before each metacharacter in the
-     * search/filter string.
-     */
-    private String insertString(String target, String newString, String string) {
-        ArrayList list = new ArrayList();
-        StringBuffer stringBuffer = new StringBuffer(string);
-
-        int index = stringBuffer.indexOf(target);
-        while (index != -1) {
-            stringBuffer = stringBuffer.insert(index, newString);
-            index = stringBuffer.indexOf(target, index + newString.length() + target.length());
-        }
-
-        return stringBuffer.toString();
-    }
-
-    /*
-     * Listens to changes made in the text filter widget
-     */
-    private class TextFilterModifyAdapter implements ModifyListener {
-        public void modifyText(ModifyEvent e) {
-            if (e.widget == textFilter) {
-                if (delayedEvent != null) {
-                    delayedEvent.CANCEL = true;
-                }
-
-                delayedEvent = new DelayedEvent();
-                Display.getCurrent().timerExec(400, delayedEvent);
-            }
-        }
-    }
-
-    //TODO... do we really need one instance?
-    private DelayedEvent delayedEvent;
-
-    /*
-     * Update the component TreeViewer when the text filter is modified.
-     * Use a DelayedEvent so we don't update on every keystroke.
-     */
-    private class DelayedEvent implements Runnable {
-        public boolean CANCEL = false;
-
-        public void run() {
-            if (!CANCEL) {
-                refreshTreeViewer(getProcessedFilterString());
-                
-                // Select first match
-                if (componentTreeViewer.getTree().getItemCount() > 0) {
-                    TreeItem item = componentTreeViewer.getTree().getItems()[0];
-                    TreeItem items[] = new TreeItem[1];
-                    items[0] = item;
-                    componentTreeViewer.getTree().setSelection(items);
-                }
-                
-                // Update qualifierList
-                IStructuredSelection structuredSelection = (IStructuredSelection) componentTreeViewer.getSelection();
-                List qualifiers = provider.getQualifiers(structuredSelection.getFirstElement());
-                updateQualifierList(qualifiers);
-                
-                updateCanFinish();
-            }
-        }
-    }
-
-    class ComponentList implements IComponentList {
-        private Vector objectVector = new Vector();
-        private long currentChangeCounter = 0;
-        
-        public void addComponent(Object o) {
-            objectVector.add(o);
-            currentChangeCounter++;
-            doViewerUpdate();
-        }
-        
-        private void doViewerUpdate() {
-            // TODO: Investigate if we should also add a timer condition??
-            if (currentChangeCounter == 10) {
-                currentChangeCounter = 0;
-                fireUpdateList(this);
-            }
-        }
-
-        public int size() {
-            return objectVector.size();
-        }
-        
-        public List subList(int startIndex, int endIndex) {
-            return objectVector.subList(startIndex, endIndex);
-        }
-        
-        public Iterator iterator() {
-            return objectVector.iterator();
-        }
-    }
-
-    
-    // this method gets called from a non-ui thread so needs to call
-    // asyncExec to ensure the UI updates happen on the UI thread
-    //
-    protected void fireUpdateList(final ComponentList list) {    
-        Runnable runnable = new Runnable() {
-            public void run(){
-                // add new objects
-                int growingListSize = list.size();
-                int currentSize = masterComponentList.size();
-                if (growingListSize > currentSize) {
-                    masterComponentList.addAll(list.subList(currentSize, growingListSize));
-                }
-
-                refreshTreeViewer(getProcessedFilterString());
-            }
-        };
-        display.asyncExec(runnable);        
-    }
-
-    
-    /*
-     * Populate the Component TreeViewer with items.
-     */
-    protected void populateMasterComponentList() {
-        masterComponentList.clear();
-        ILabelProvider labelProvider = provider.getLabelProvider();
-        
-        final ComponentList componentList = new ComponentList();
-        provider.getComponents(componentList, true);
-        
-        Job job = new Job("read components") {
-          protected IStatus run(IProgressMonitor monitor) {
-            try {
-              // this stuff gets executed on a non-UI thread
-              //
-              provider.getComponents(componentList, false);
-              
-              // Do a final update of our Input for the component tree viewer.
-              fireUpdateList(componentList);
-            }
-            catch (Exception e) {
-            }
-            return Status.OK_STATUS;
-          }          
-        };
-        job.schedule();
-    }
-    
-    protected void refreshTreeViewer(String filterText) {
-        componentTreeViewerInput.clear();
-        ILabelProvider labelProvider = provider.getLabelProvider();
-        Pattern regex = Pattern.compile(filterText);
-        Iterator it = masterComponentList.iterator();
-        while (it.hasNext()) {
-            Object item = it.next();
-            String itemString = labelProvider.getText(item);           
-            Matcher m = regex.matcher(itemString.toLowerCase());
-            if (itemString.toLowerCase().startsWith(filterText) || m.matches()) {
-                componentTreeViewerInput.add(item);
-            }
-        }
-        
-        componentTreeViewer.refresh();
-    }
-    
-    /*
-     * If there is a selection in the ComponentTreeViewer, enable OK
-     */
-    protected void updateCanFinish() {
-        IStructuredSelection selection = (IStructuredSelection) componentTreeViewer.getSelection();
-        if (selection.getFirstElement() != null) {
-            getButton(IDialogConstants.OK_ID).setEnabled(true);
-        }
-        else {
-            getButton(IDialogConstants.OK_ID).setEnabled(false);
-        }
-    }
-    
-    protected void okPressed() {
-        IStructuredSelection selection = (IStructuredSelection) componentTreeViewer.getSelection();
-        componentSelection = selection.getFirstElement();
-        int qualifierIndex = qualifierList.getSelectionIndex();
-        if (qualifierIndex < 0) {
-            qualifierIndex = 0;
-        }
-        qualifierTextSelection = qualifierList.getItem(qualifierIndex);
-        
-        super.okPressed();
-    }
-    
-    private class ComponentTreeContentProvider implements ITreeContentProvider {
-        public Object[] getChildren(Object parentElement) {
-            if (parentElement instanceof List) {
-                return ((List) parentElement).toArray();
-            }
-            return new Object[0];
-        }
-        
-        public Object[] getElements(Object inputElement) {
-            return getChildren(inputElement);
-        }
-        
-        public Object getParent(Object element) {
-            return null;
-        }
-        
-        public boolean hasChildren(Object element) {
-            if (getChildren(element).length > 0) {
-                return true;
-            }
-            return false;
-        }
-        
-        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        }
-        
-        public void dispose() {
-        }
-    }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/common/IComponentList.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/common/IComponentList.java
deleted file mode 100644
index 5c5d46a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/common/IComponentList.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.common;
-
-import java.util.Iterator;
-
-public interface IComponentList {
-   public void addComponent(Object o);
-   public Iterator iterator();
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/common/IComponentSelectionProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/common/IComponentSelectionProvider.java
deleted file mode 100644
index de68271..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/common/IComponentSelectionProvider.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.common;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-
-public interface IComponentSelectionProvider {
-    
-    // warning ... this will get called on a non UI thread
-    void getComponents(IComponentList list, boolean quick);
-    
-	String getType(Object component);
-	ILabelProvider getLabelProvider();
-	List getQualifiers(Object component);
-	String getNameFieldTitle();
-	String getListTitle();
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/ResourceView.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/ResourceView.java
deleted file mode 100644
index 2a61449..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/ResourceView.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.xml;
-
-public class ResourceView {
-/*
-	Label scopeComboLabel = new Label(topComposite, SWT.NONE);
-	scopeComboLabel.setText(searchScopeComboLabel);
-	scopeCombo = new Combo(topComposite, SWT.NONE);
-	initializeSearchScopeCombo();
-	
-	sashForm = new SashForm(topComposite,  SWT.VERTICAL);
-	GridData sashGD = new GridData(GridData.FILL_BOTH);
-	sashGD.grabExcessHorizontalSpace = true;
-	sashGD.grabExcessVerticalSpace = true;
-	sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-	sashForm.setLayout(new GridLayout());
-	
-				int[] sashFormWeights = new int[2];
-			sashFormWeights[0] = 0;
-			sashFormWeights[1] = 7;
-			sashForm.setWeights(sashFormWeights);
-	
-	// Create PageBook for High Level TreeViewer
-			highLevelPageBook = new PageBook(sashForm, SWT.NONE);
-			GridData fileSystemPBData = new GridData();
-			fileSystemPBData.horizontalAlignment = SWT.FILL;
-			highLevelPageBook.setLayoutData(fileSystemPBData);
-			
-			blankHighLevelComposite = new Composite(highLevelPageBook, SWT.NONE);
-			highLevelComposite = new Composite(highLevelPageBook, SWT.NONE);
-			GridLayout fileSystemLayout = new GridLayout();
-			fileSystemLayout.marginWidth = 0;
-			highLevelComposite.setLayout(fileSystemLayout);
-			highLevelComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-			createHighLevelTreeViewer(highLevelComposite);
-			populateHighLevelTreeViewer();
-			
-			highLevelPageBook.showPage(blankHighLevelComposite);
-//////////////////////////////////////////////////////////////////////////////	//
-			
-		/*
-		 * Creates the High Level TreeViewer (Top TreeViewer).
-		 *
-		private void createHighLevelTreeViewer(Composite base) {
-			highLevelTreeViewer = createTreeViewer(highLevelComposite, "Resources");
-			initializeHighLevelTreeViewer();
-			String ext[] = new String[1];
-			ext[0] = "xsd";
-			addFilterExtensions(highLevelTreeViewer, ext, new IFile[0]); 
-			
-			initializeHighLevelTreeViewer();
-			populateHighLevelTreeViewer();
-		}
-        
-        
-          protected void showHighLevelView(boolean show) {
-        if (show) {
-            int[] sashFormWeights = new int[2];
-            sashFormWeights[0] = 4;
-            sashFormWeights[1] = 5;
-            sashForm.setWeights(sashFormWeights);
-
-            highLevelPageBook.showPage(highLevelComposite);
-            topComposite.layout(true, true);
-
-            showHighLevelView();
-        } else {
-            int[] sashFormWeights = new int[2];
-            sashFormWeights[0] = 0;
-            sashFormWeights[1] = 7;
-            sashForm.setWeights(sashFormWeights);
-
-            highLevelPageBook.showPage(blankHighLevelComposite);
-            topComposite.layout(true, true);
-
-            hideHighLevelView();
-        }
-    }
-    
-    protected void setFilter(TreeViewer treeViewer, ViewerFilter filter) {
-        treeViewer.getTree().setRedraw(false);
-        treeViewer.resetFilters();
-        treeViewer.addFilter(filter);
-        treeViewer.getTree().setRedraw(true);
-        treeViewer.getTree().redraw();
-    }
-    
-  // ///////////////////////////////////////////////////
-    // This is a convenience method that allows filtering of the given file
-    // exensions. It internally creates a ResourceFilter so that users of this
-    // class don't have to construct one.
-    // If the extensions provided don't have '.', one will be added.
-    protected void addFilterExtensions(TreeViewer treeViewer, String[] filterExtensions, IFile[] excludedFiles) {
-        // First add the '.' to the filterExtensions if they don't already have
-        // one
-        String[] correctedFilterExtensions = new String[filterExtensions.length];
-        for (int i = 0; i < filterExtensions.length; i++) {
-            // If the extension doesn't start with a '.', then add one.
-            if (filterExtensions[i].startsWith(".")) {
-                correctedFilterExtensions[i] = filterExtensions[i];
-            } else {
-                correctedFilterExtensions[i] = "." + filterExtensions[i];
-            }
-        }
-        ViewerFilter filter;
-        if (excludedFiles != null) {
-            filter = new SetTypeResourceFilter(correctedFilterExtensions, excludedFiles, null);
-        } else {
-            filter = new SetTypeResourceFilter(correctedFilterExtensions, null);
-        }
-        setFilter(treeViewer, filter);
-    }    
-    
-    
-  
-     * Creates a Generic TreeViewer object with the specified label and sets
-     * it's GridData value.
-  
-    protected TreeViewer createTreeViewer(Composite comp, String title) {
-        Label label = new Label(comp, SWT.NONE);
-        label.setText(title);
-
-        TreeViewer treeViewer = new TreeViewer(new Tree(comp, SWT.SINGLE | SWT.BORDER));
-        Control treeWidget = treeViewer.getTree();
-        GridData gd = new GridData(GridData.FILL_BOTH);
-        treeWidget.setLayoutData(gd);
-
-        return treeViewer;
-    }
-*/		
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentFinder.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentFinder.java
deleted file mode 100644
index 465d2c2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentFinder.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.xml;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-/**
- * this thing parsers xml artifacts and picks out the specified components attributes
- * 
- */
-public class XMLComponentFinder {
-    public static final int ENCLOSING_PROJECT_SCOPE = 0;
-    public static final int ENTIRE_WORKSPACE_SCOPE = 1;
-
-    protected IFile currentIFile;
-	protected List validExtensions;			// List of extensions as String objects
-	protected List excludeFiles;			// List of files (full path) as String objects
-
-	public XMLComponentFinder() {
-		validExtensions = new ArrayList();
-		excludeFiles = new ArrayList();
-	}
-    
-    /*
-     * Takes in the IFile we are currently editing.
-     * The currentIFile must be set before the getEnclosingProjectFiles()
-     * method will return correctly.
-     */
-    public void setFile(IFile file) {
-        currentIFile = file;
-    }
-    
-    public void setValidExtensions(List newExtensions) {
-        validExtensions.clear();
-        validExtensions.addAll(newExtensions);
-    }
-
-    public void addExcludeFiles(List newExclude) {
-        excludeFiles.addAll(newExclude);
-    }
-    
-/*    
-     private String getNormalizedLocation(String location) {
-        try {
-            URL url = new URL(location);
-            URL resolvedURL = Platform.resolve(url);
-            location = resolvedURL.getPath();
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        return location;
-    }
-  */   
-
-    /*
-     * Returns a List of absolute file locations. For example
-     * "D:\files\....\file.xsd"
-     */
-    protected List getEnclosingProjectFiles() {
-        List files = new ArrayList();
-        
-        if (currentIFile != null) {
-            IWorkspaceRoot iwr = ResourcesPlugin.getWorkspace().getRoot();
-            IProject project = currentIFile.getProject();
-            try {
-                traverseIContainer(project, validExtensions, excludeFiles, files);
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-        
-        return files;
-    }
-
-    protected List getWorkspaceFiles() {
-        List files = new ArrayList();
-        IWorkspaceRoot iwr = ResourcesPlugin.getWorkspace().getRoot();
-        IProject[] projects = iwr.getProjects();
-
-        try {
-            for (int index = 0; index < projects.length; index++) {
-                traverseIContainer(projects[index], validExtensions, excludeFiles, files);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        return files;
-    }
-
-    /**
-     * Returns a List of absolute file locations. For example
-     * "D:\files\....\file.xsd"
-     */
-    protected void traverseIContainer(IContainer container, List extensions, List excludeFiles, List list) throws Exception {
-        IResource[] children = container.members();
-
-        for (int index = 0; index < children.length; index++) {
-            if (children[index] instanceof IFolder) {
-                traverseIContainer((IFolder) children[index], extensions, excludeFiles, list);
-            } else if (children[index] instanceof IFile) {
-                IFile file = (IFile) children[index];
-                String fileName = file.getLocation().toOSString();
-                String ext = file.getFileExtension();
-                if (extensions.contains(ext) && !excludeFiles.contains(fileName)) {
-                    list.add(file.getLocation());
-                }
-            }
-        }
-    }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentSelectionDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentSelectionDialog.java
deleted file mode 100644
index ddaa9d9..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentSelectionDialog.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.xml;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.common.ComponentSelectionDialog;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.common.IComponentSelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentSelectionProvider.XMLComponentTreeObject;
-
-public class XMLComponentSelectionDialog extends ComponentSelectionDialog {
-
-    protected final static String DEFAULT_NAME_FIELD_TITLE = "Component Name:";
-    protected final static String DEFAULT_LIST_TITLE = "Matching Components:";
-
-	public static final String SCOPE_SPECIFIED_FILE = "Specified File";
-
-	public static final String SCOPE_ENCLOSING_PROJECT = "Enclosing Project";
-
-	public static final String SCOPE_WORKSPACE = "Workspace";
-
-	public static final String SCOPE_CURRENT_RESOURCE = "Current Resource";
-
-	private String currentSearchScope = SCOPE_CURRENT_RESOURCE;
-
-	protected Button chooseButton;
-	protected Button[] radioButton = new Button[3];
-
-	public XMLComponentSelectionDialog(Shell shell, String dialogTitle,
-			IComponentSelectionProvider provider) {
-		super(shell, dialogTitle, provider);
-	}
-
-public Control createDialogArea(Composite parent) {
-
-        setFilterLabel(provider.getNameFieldTitle() != null ? provider.getNameFieldTitle() : DEFAULT_NAME_FIELD_TITLE);         
-        setComponentTreeLabel(provider.getListTitle() != null ? provider.getListTitle() : DEFAULT_LIST_TITLE);
-        super.createDialogArea(parent);
-        
-        // We use the Composite topComposite to create additional widgets
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        bottomComposite.setLayout(layout);
-        
-        
-        Group group = new Group(bottomComposite, SWT.NONE);
-        GridLayout gridLayout = new GridLayout(3, false);
-        //gridLayout.marginWidth = 0;
-        //gridLayout.marginLeft = 2;
-        group.setLayout(gridLayout);
-        group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        group.setText("Search Scope");
-        
-        ScopeChangeListener scopeChangeListener = new ScopeChangeListener();
-        radioButton[0] = new Button(group, SWT.RADIO);       
-        radioButton[0].setText(SCOPE_WORKSPACE);
-        
-        radioButton[1] = new Button(group, SWT.RADIO);
-        radioButton[1].setText(SCOPE_ENCLOSING_PROJECT);
-        
-        radioButton[2] = new Button(group, SWT.RADIO);
-        radioButton[2].setText(SCOPE_CURRENT_RESOURCE);
-        
-        //radioButton[3] = new Button(group, SWT.RADIO);
-        //radioButton[3].setText("Resource Set");
-
-        
-        for (int i = 0; i < radioButton.length; i++)
-        {          	
-          if (radioButton[i].getText() == currentSearchScope)
-          {
-          	radioButton[i].setSelection(true);
-          }	
-          radioButton[i].addSelectionListener(scopeChangeListener);        	
-        }
-        if (false){
-        Composite selectFileGroup = new Composite(group, SWT.NONE);
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.horizontalSpan = 2;
-        selectFileGroup.setLayoutData(gd);
-        GridLayout gridLayout3 = new GridLayout(2, false);       
-        gridLayout3.marginWidth = 0;    
-        gridLayout3.marginHeight = 0;
-        selectFileGroup.setLayout(gridLayout3);
-        Text t = new Text(selectFileGroup, SWT.BORDER | SWT.READ_ONLY);
-        t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        Button choose = new Button(selectFileGroup, SWT.NONE);
-        choose.setText("Choose...");
-        choose.addSelectionListener(scopeChangeListener);
-        }
-        
-        
-        Button check = new Button(group, SWT.CHECK);
-        check.setText("Use resource view to narrow search scope");
-        GridData gd = new GridData();
-        gd.horizontalSpan = 3;
-        check.setLayoutData(gd);
-        check.setEnabled(false);
-
-        return parent;
-    }	/*
-		  * Returns the selected search scope.
-		  */
-	public String getSearchScope() {
-		return currentSearchScope;
-	}
-
-	public XMLComponentSpecification getSelection() {
-		XMLComponentTreeObject treeObject = (XMLComponentTreeObject) componentSelection;
-		List specs = treeObject.getXMLComponentSpecification();
-
-		int matchingIndex = 0;
-		for (int index = 0; index < specs.size(); index++) {
-			XMLComponentSpecification spec = (XMLComponentSpecification) specs
-					.get(index);
-			IPath path = new Path(spec.getFileLocation());
-			String specText = spec.getTargetNamespace() + " - "
-					+ path.lastSegment();
-			if (specText.equals(qualifierTextSelection)) {
-				matchingIndex = index;
-				break;
-			}
-		}
-
-		return (XMLComponentSpecification) specs.get(matchingIndex);
-	}
-
-	private class ScopeChangeListener extends SelectionAdapter {
-		public void widgetSelected(SelectionEvent e) {
-
-			if (e.widget instanceof Button) {
-				Button b = (Button) e.widget;
-				if ((b.getStyle() & SWT.RADIO) != 0) {
-					currentSearchScope = b.getText();
-					populateMasterComponentList();
-					refreshTreeViewer(getProcessedFilterString());
-
-					// Select the first matching component. Though we should be
-					// smarter here
-					// and determine if there was a selection before the scope
-					// switch (and if
-					// the component is still available.
-					Tree tree = componentTreeViewer.getTree();
-					TreeItem items[] = tree.getItems();
-					if (items.length > 0) {
-						TreeItem select[] = new TreeItem[1];
-						select[0] = items[0];
-						tree.setSelection(select);
-					}
-
-					updateCanFinish();
-				}				
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentSelectionProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentSelectionProvider.java
deleted file mode 100644
index aef0a01..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentSelectionProvider.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.xml;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-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.jface.viewers.LabelProvider;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.common.IComponentList;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.common.IComponentSelectionProvider;
-
-public abstract class XMLComponentSelectionProvider implements IComponentSelectionProvider {
-    public List getQualifiers(Object component) {
-        List qualifiers = new ArrayList();
-        if (component != null) {
-            XMLComponentTreeObject specification = (XMLComponentTreeObject) component;
-            Iterator it = specification.getXMLComponentSpecification().iterator();
-            while (it.hasNext()) {
-                XMLComponentSpecification spec = (XMLComponentSpecification) it.next();
-                qualifiers.add(createQualifierText(spec));
-            }
-        }
-        
-        return qualifiers;
-    }
-    
-    protected String createQualifierText(XMLComponentSpecification spec) {
-        IPath path = new Path(spec.getFileLocation());
-        return spec.getTargetNamespace() + " - " + path.lastSegment();        
-    }
-    
-    protected void addDataItemToTreeNode(IComponentList comps, XMLComponentSpecification dataItem) {
-        boolean foundMatch = false;
-        Iterator it = comps.iterator();
-        XMLComponentTreeObject containingTreeObject = null;
-
-        while (it.hasNext()) {
-            XMLComponentTreeObject treeObject = (XMLComponentTreeObject) it.next();
-            if (treeObject.getName().equals(dataItem.getAttributeInfo("name"))) {
-                // If the existing data item and the new data item have the same names
-                if (treeObject.getXMLComponentSpecification().size() > 0) {
-                    String existingPath = ((XMLComponentSpecification) treeObject.getXMLComponentSpecification().get(0)).getTagPath();
-                    if (existingPath.equals(dataItem.getTagPath())) {
-                        // If they are the same 'type' of items (according to the path value)
-                        containingTreeObject = treeObject;
-                        foundMatch = true;
-                        break;
-                    }
-                }
-            }
-        }
-        
-        if (!foundMatch) {
-            containingTreeObject = new XMLComponentTreeObject(dataItem);
-            comps.addComponent(containingTreeObject);
-        }
-        else {
-            // Only add to the tree object if the qualifier text differs than existing
-            // qualifier information contained in the tree object.
-            Iterator existingQualifiers = getQualifiers(containingTreeObject).iterator();
-            boolean alreadyExists = false;
-            while (existingQualifiers.hasNext()) {
-                String existingText = (String) existingQualifiers.next();
-                String newItemText = createQualifierText(dataItem);
-                if (existingText.equals(newItemText)) {
-                    alreadyExists = true;
-                    break;
-                }
-            }
-            
-            if (!alreadyExists) {
-                containingTreeObject.addXMLComponentSpecification(dataItem);
-            }
-        }
-    }
-    
-    protected String getNormalizedLocation(String location) {
-        try {
-            URL url = new URL(location);
-            URL resolvedURL = Platform.resolve(url);
-            location = resolvedURL.getPath();
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        return location;
-    }
-
-    
-    /*
-     * Object used to hold components with the same name but different qualifiers.
-     * This object will contain a list of XMLComponentSpecifications (with the same
-     * names but different qualifiers).
-     */
-    public class XMLComponentTreeObject {
-        private String name;
-        private List xmlComponentSpecifications;
-        
-        public XMLComponentTreeObject(XMLComponentSpecification spec) {
-            xmlComponentSpecifications = new ArrayList();
-            xmlComponentSpecifications.add(spec);
-            name = (String) spec.getAttributeInfo("name");
-        }
-        
-        public String getName() {
-            return name;
-        }
-        
-        public void addXMLComponentSpecification(XMLComponentSpecification spec) {
-            xmlComponentSpecifications.add(spec);
-        }
-        
-        public List getXMLComponentSpecification() {
-            return xmlComponentSpecifications;
-        }
-    }
-
-    /*
-     * Used to provide labels to the ComponentSeletionDialog
-     */
-    public class XMLComponentSelectionLabelProvider extends LabelProvider {
-        public String getText(Object element) {
-            XMLComponentTreeObject specification = (XMLComponentTreeObject) element;
-            return specification.getName();
-        }        
-    }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentSpecification.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentSpecification.java
deleted file mode 100644
index 04c2546..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLComponentSpecification.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.xml;
-
-import java.util.Hashtable;
-
-/*
- * Simple class which keeps track of attribute information.
- * This class is basically a Hashtable with convenience methods.
- */
-public class XMLComponentSpecification {
-    String tagPath;
-    Hashtable hashtable;
-    String targetNamespace;
-    String fileLocation;
-    
-    public XMLComponentSpecification(String path) {
-        this.tagPath = path;
-        hashtable = new Hashtable();
-    }
-    
-    public void addAttributeInfo(Object attribute, Object value) {
-        hashtable.put(attribute, value);
-    }
-    
-    public Object getAttributeInfo(Object attribute) {
-        return hashtable.get(attribute);
-    }
-    
-    public String getTagPath() {
-        return tagPath;
-    }
-    
-    public String getTargetNamespace() {
-        return targetNamespace;
-    }
-    
-    public void setTargetNamespace(String tns) {
-        targetNamespace = tns;
-    }
-    
-    public String getFileLocation() {
-        return fileLocation;
-    }
-    
-    public void setFileLocation(String location) {
-        fileLocation = location;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLQuickScan.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLQuickScan.java
deleted file mode 100644
index c7efef2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xml/XMLQuickScan.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.dialogs.types.xml;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.transform.TransformerFactory;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- *
- */
-public class XMLQuickScan {
-  
-	/*
-	 * Returns information about matches encountered
-     * based on the criteria provided. 
-	 */
-  public static List getTagInfo(String fullFilePath, List paths, List attributes) {
-    XSDGlobalElementTypeContentHandler handler = new XSDGlobalElementTypeContentHandler();
-    handler.stringTagPaths = paths;
-    handler.searchAttributes = attributes;
-    handler.fileLocation = fullFilePath;
-
-    ClassLoader prevClassLoader = Thread.currentThread().getContextClassLoader();
-    
-    try {
-        IPath path = new Path(fullFilePath);
-    	FileInputStream inputStream = new FileInputStream(new File(path.toOSString()));
-    	
-        
-//      SAXParser  sparser = SAXParserFactory.newInstance().newSAXParser();
-//      XMLReader reader = sparser.getXMLReader();
-        
-        // Line below is a hack to get XMLReader working
-        Thread.currentThread().setContextClassLoader(XMLQuickScan.class.getClassLoader());
-        TransformerFactory transformerFactory = TransformerFactory.newInstance();
-        
-    	XMLReader reader = org.xml.sax.helpers.XMLReaderFactory.createXMLReader();
-    	reader.setContentHandler(handler);
-    	reader.parse(new InputSource(inputStream));
-    }
-    catch (Exception e) {
-    	e.printStackTrace();
-    }
-    finally {
-      Thread.currentThread().setContextClassLoader(prevClassLoader);
-    }
-    return handler.getSearchAttributeValues();
-  }
-  
-  public static class XSDGlobalElementTypeContentHandler extends DefaultHandler {
-  	protected List stringTagPaths;
-  	protected List searchAttributes;
-  	private List matchingTags = new ArrayList();
-  	private String targetNamespace = "";
-  	private String fileLocation;
-
-  	StringBuffer currentPath = new StringBuffer();
-  	
-    public void startElement(String uri, String localName, String qName, Attributes attributes)  throws SAXException {
-    	currentPath.append("/" + localName);
-    	
-    	// Search for targetNamespace if we haven't encountered it yet.
-    	if (targetNamespace.equals("")) {
-	        int nAttributes = attributes.getLength();
-	        for (int i = 0; i < nAttributes; i++)
-	        {
-	          if (attributes.getLocalName(i).equals("targetNamespace"))
-	          {
-	            targetNamespace = attributes.getValue(i);
-	            break;
-	          }
-	        }
-    	}
-    	
-    	// Search for the path
-    	for (int index = 0; index < stringTagPaths.size(); index++) {
-    		String path = (String) stringTagPaths.get(index);
-    		if (currentPath.length() == path.length() && currentPath.toString().equals(path)) {
-    			// Found a path match
-    			createTagInfo(attributes, (String[]) searchAttributes.get(index));
-    		}
-    	}
-    }
-    
-    public void endElement(String uri, String localName, String qName) throws SAXException {
-    	int slashIndex = currentPath.lastIndexOf("/");
-    	currentPath.delete(slashIndex, currentPath.length());
-    }
-    
-    /*
-     * Information about a tag is stored in a TagInfo class.
-     */
-    private void createTagInfo(Attributes attributes, String[] attributesToSearch) {
-    	XMLComponentSpecification spec = new XMLComponentSpecification(currentPath.toString());
-    	
-//    	tagInfo.addAttributeInfo("name", attributes.getValue("name"));
-    	for (int index = 0; index < attributesToSearch.length; index++) {
-    		String attrString = (String) attributesToSearch[index];
-    		String value = attributes.getValue(attrString);
-    		if (value != null) {
-    			spec.addAttributeInfo(attrString, value);
-    		}
-    	}
-    	spec.setTargetNamespace(targetNamespace);
-    	spec.setFileLocation(fileLocation);
-    	matchingTags.add(spec);
-    }
-    
-    private int getAttributeNameIndex(String attrName) {
-    	for (int index = 0; index < searchAttributes.size(); index++) {
-    		if (searchAttributes.get(index).equals(attrName)) {
-    			return index;
-    		}
-    	}
-    	
-    	// Not found.  We are not looking for this Attribute Name
-    	return -1;
-    }
-        
-    public List getSearchAttributeValues() {
-    	return matchingTags;
-    }
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDComponentFinder.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDComponentFinder.java
deleted file mode 100644
index 7f9fc7d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDComponentFinder.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.xsd;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentFinder;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLQuickScan;
-
-public class XSDComponentFinder extends XMLComponentFinder {    
-    public XSDComponentFinder() {
-        validExtensions.add("xsd");
-    }
-    
-    public List getWorkbenchResourceComponents(int scope) {
-        List components = new ArrayList();
-        List filePaths = new ArrayList();
-        
-        // We don't want to search through the current file we're working on.
-        if (currentIFile != null) {
-            excludeFiles.add(currentIFile.getLocation().toOSString());
-        }
-        
-        // Find files matching the search criteria specified in List extensions and
-        // List excludeFiles.
-        switch (scope) {
-        case ENCLOSING_PROJECT_SCOPE:
-            filePaths = getEnclosingProjectFiles();
-            break;
-            
-        case ENTIRE_WORKSPACE_SCOPE:
-            filePaths = getWorkspaceFiles();
-            break;
-            
-        default:            
-            break;
-        }
-        
-        // Search for the components in each of the files specified in the path.
-        List paths = new ArrayList();
-        paths.add("/schema/complexType");
-        paths.add("/schema/simpleType");
-        
-        List attributes = new ArrayList();
-        String[] nameAttr = new String[1];
-        nameAttr[0] = "name";
-        attributes.add(nameAttr);
-        attributes.add(nameAttr);
-
-        Iterator pathsIterator = filePaths.iterator();
-        while (pathsIterator.hasNext()) {
-//           String stringPath = ((Path) pathsIterator.next()).toOSString();
-           String stringPath = ((Path) pathsIterator.next()).toString();
-           components.addAll(XMLQuickScan.getTagInfo(stringPath, paths, attributes));
-        }
-        
-        return components;
-    }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDComponentSelectionDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDComponentSelectionDialog.java
deleted file mode 100644
index b66e13c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDComponentSelectionDialog.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.xsd;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.common.IComponentSelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentSelectionDialog;
-
-public class XSDComponentSelectionDialog extends XMLComponentSelectionDialog {
-
-	public static final int ELEMENT = 1;
-	public static final int TYPE = 2;
-	
-	public XSDComponentSelectionDialog(Shell shell, String dialogTitle,
-			IComponentSelectionProvider provider) {
-		super(shell, dialogTitle, provider);
-	}
-	
-	
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDComponentSelectionProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDComponentSelectionProvider.java
deleted file mode 100644
index 53ed1e0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDComponentSelectionProvider.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.xsd;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.common.IComponentList;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentFinder;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentSelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentSpecification;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaContent;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.impl.XSDImportImpl;
-import org.eclipse.xsd.util.XSDConstants;
-
-/*
- *
- */
-public class XSDComponentSelectionProvider extends XMLComponentSelectionProvider {
-    private XSDComponentFinder xsdComponentFinder;
-    private XSDComponentSelectionDialog dialog;
-    private XSDSchema schema;
-    private XSDComponentLabelProvider labelProvider;
-    
-    private boolean showComplexTypes = true;
-    
-    /*
-     * Takes in the IFile we are currently editing.
-     */
-    public XSDComponentSelectionProvider(IFile file, XSDSchema schema) {
-        xsdComponentFinder = new XSDComponentFinder();
-        xsdComponentFinder.setFile(file);
-        this.schema = schema;
-        labelProvider = new XSDComponentLabelProvider();
-    }
-    
-    public void setDialog(XSDComponentSelectionDialog dialog) {
-        this.dialog = dialog;
-    }
-    
-    public void showComplexTypes(boolean show) {
-        showComplexTypes = show;
-    }
-    
-    public String getType(Object element) {
-        return null;
-    }
-        
-    /*
-     * The return value is a List of XMLComponentTreeObjects.
-     * 
-     */
-	public void getComponents(IComponentList list, boolean quick) {
-	    if (quick) {
-            // Populate IComponentList list with components most easily accessible (fastest)
-            // Grab Built-In types
-            Iterator builtInIt = getBuiltInTypes().iterator();
-            while (builtInIt.hasNext()) {
-                XMLComponentSpecification tagItem = (XMLComponentSpecification) builtInIt.next();
-                addDataItemToTreeNode(list, tagItem);
-            }
-            
-            // Create current Schema's complex and simple types
-            createComplexTypes(list);
-            createSimpleTypes(list);
-        }
-        else {
-            getComponents(list);
-        }
-	}
-    
-    /*
-     * TODO: Need to revisit how we build up our treeObject list.... 
-     * And it's somewhat messy, clean this up.
-     */
-    private void getComponents(IComponentList list) {
-        List extensions = new ArrayList();
-        extensions.add("xsd");
-        
-        String scope = "";
-        if (dialog != null) {
-            scope = dialog.getSearchScope();
-        }
-        
-        List comps = new ArrayList();
-        if (scope.equals(XSDComponentSelectionDialog.SCOPE_ENCLOSING_PROJECT)) {
-            comps = xsdComponentFinder.getWorkbenchResourceComponents(XMLComponentFinder.ENCLOSING_PROJECT_SCOPE);
-        }
-        else if (scope.equals(XSDComponentSelectionDialog.SCOPE_WORKSPACE)) {
-            comps = xsdComponentFinder.getWorkbenchResourceComponents(XMLComponentFinder.ENTIRE_WORKSPACE_SCOPE);            
-        }
-        
-//      Group same item types together (simple/complex)
-        List complex = new ArrayList();
-        List simple = new ArrayList();
-        Iterator itemsIterator = comps.iterator();
-        while (itemsIterator.hasNext()) {
-            XMLComponentSpecification tagItem = (XMLComponentSpecification) itemsIterator.next();
-            if (tagItem.getTagPath().equals("/schema/complexType")) {
-                complex.add(tagItem);
-            }               
-            else if (tagItem.getTagPath().equals("/schema/simpleType")) {
-                simple.add(tagItem);
-            }
-        }
-        
-        Iterator complexIt = complex.iterator();
-        Iterator simpleIt = simple.iterator();
-        if (showComplexTypes) {
-            while (complexIt.hasNext()) {
-                XMLComponentSpecification item = (XMLComponentSpecification) complexIt.next();
-                addDataItemToTreeNode(list, item);
-            }
-        }
-        
-        while (simpleIt.hasNext()) {
-            XMLComponentSpecification item = (XMLComponentSpecification) simpleIt.next();
-            addDataItemToTreeNode(list, item);
-        }
-        
-        // Create from imports, includes, and redefines
-        createFromImport(list);
-        createFromInclude(list);
-        createFromRedefine(list);
-    }
-    
-////////////////////////////////////////////////////////////////////////////////    
-    private List getBuiltInTypes() {
-        TypesHelper helper = new TypesHelper(schema);
-        Iterator it = helper.getBuiltInTypeNamesList().iterator();
-        
-        List builtInComponentSpecs = new ArrayList();
-        while (it.hasNext()) {
-            Object item = it.next();
-            String itemString = item.toString();
-            
-            XMLComponentSpecification builtInTypeItem = new XMLComponentSpecification("BUILT_IN_SIMPLE_TYPE");
-            builtInTypeItem.addAttributeInfo("name", itemString);
-            builtInTypeItem.setTargetNamespace(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001);
-//            String normalizedFile = getNormalizedLocation(schema.getSchemaLocation());
-//            builtInTypeItem.setFileLocation(normalizedFile);
-            builtInTypeItem.setFileLocation("Built-In");
-            
-            builtInComponentSpecs.add(builtInTypeItem);
-        }
-        
-        return builtInComponentSpecs;
-    }
-
-    private void createComplexTypes(IComponentList treeObjectList) {
-        TypesHelper typesHelper = new TypesHelper(schema);
-        List complexTypes = typesHelper.getUserComplexTypes();
-        createComplexSimpleTreeObject(treeObjectList, complexTypes, true);
-    }
-    
-    private void createSimpleTypes(IComponentList treeObjectList) {
-        TypesHelper typesHelper = new TypesHelper(schema);
-        List complexTypes = typesHelper.getUserSimpleTypes();
-        createComplexSimpleTreeObject(treeObjectList, complexTypes, true);
-    }
-
-    
-    private void createFromImport(IComponentList treeObjectList) {
-        Iterator imports = getXSDImports().iterator();
-        while (imports.hasNext()) {
-            XSDImport importItem = (XSDImport) imports.next();
-            if (importItem.getSchemaLocation() != null) {
-                ((XSDImportImpl) importItem).importSchema();
-                TypesHelper helper = new TypesHelper(importItem.getResolvedSchema());
-                
-                List types = helper.getUserComplexTypes();
-                types.addAll(helper.getUserSimpleTypes());
-                createComplexSimpleTreeObject(treeObjectList, types, false);
-            }
-        }
-    }
-    
-        private void createFromInclude(IComponentList treeObjectList) {
-        Iterator imports = getXSDIncludes().iterator();
-        while (imports.hasNext()) {
-            XSDInclude includeItem = (XSDInclude) imports.next();
-            if (includeItem.getSchemaLocation() != null) {
-                TypesHelper helper = new TypesHelper(includeItem.getResolvedSchema());  
-                
-                List types = helper.getUserComplexTypes();
-                types.addAll(helper.getUserSimpleTypes());
-                createComplexSimpleTreeObject(treeObjectList, types, false);
-            }
-        }
-    }
-    
-    private void createFromRedefine(IComponentList treeObjectList) {
-        Iterator redefines = getXSDRedefines().iterator();
-        while (redefines.hasNext()) {
-            XSDRedefine redefineItem = (XSDRedefine) redefines.next();
-            if (redefineItem.getSchemaLocation() != null) {
-                TypesHelper helper = new TypesHelper(redefineItem.getResolvedSchema());
-                
-                List types = helper.getUserComplexTypes();
-                types.addAll(helper.getUserSimpleTypes());
-                createComplexSimpleTreeObject(treeObjectList, types, false);
-            }
-        }
-    }
-    
-        protected List getXSDImports() {
-        List imports = new ArrayList();
-        
-        Iterator contents = schema.getContents().iterator();
-        while (contents.hasNext()) {
-            XSDSchemaContent content = (XSDSchemaContent) contents.next();
-            if (content instanceof XSDImport) {
-                imports.add(content);             
-            }
-        }
-        
-        return imports;
-    }
-    
-    protected List getXSDIncludes() {
-        List includes = new ArrayList();
-        
-        Iterator contents = schema.getContents().iterator();
-        while (contents.hasNext()) {
-            XSDSchemaContent content = (XSDSchemaContent) contents.next();
-            if (content instanceof XSDInclude) {
-                includes.add(content);            
-            }
-        }
-        
-        return includes;
-    }
-
-    protected List getXSDRedefines() {
-        List includes = new ArrayList();
-        
-        Iterator contents = schema.getContents().iterator();
-        while (contents.hasNext()) {
-            XSDSchemaContent content = (XSDSchemaContent) contents.next();
-            if (content instanceof XSDRedefine) {
-                includes.add(content);            
-            }
-        }
-        
-        return includes;
-    }
-
-    private void createComplexSimpleTreeObject(IComponentList treeObjectList, List complexTypes, boolean sameNS) {
-        boolean proceed = true;
-        
-        for (int i = 0; i < complexTypes.size(); i++) {
-            XSDNamedComponent item = (XSDNamedComponent) complexTypes.get(i); 
-        
-            if (sameNS) {
-                // We do this check because Types from Includes might show up.  However, we don't want to show them
-                String itemLocation = item.getSchema().getSchemaLocation();
-                String currentSchemaLocation = schema.getSchemaLocation();
-                if (itemLocation != null) {
-                    proceed = itemLocation.equals(currentSchemaLocation);
-                }
-                else {
-                    proceed = false;
-                }
-            }
-            
-            if (proceed) {
-                XMLComponentSpecification typeItem =  null;
-                if (showComplexTypes && item instanceof XSDComplexTypeDefinition) {
-                    typeItem = new XMLComponentSpecification("/schema/complexType");
-                    typeItem.addAttributeInfo("name", ((XSDComplexTypeDefinition) item).getName());
-                }
-                else if (item instanceof XSDSimpleTypeDefinition) {
-                    typeItem = new XMLComponentSpecification("/schema/simpleType");
-                    typeItem.addAttributeInfo("name", ((XSDSimpleTypeDefinition) item).getName());
-                }
-                
-                if (typeItem != null) {
-                    typeItem.setTargetNamespace(item.getTargetNamespace());
-                    String normalizedFile = getNormalizedLocation(schema.getSchemaLocation());
-                    typeItem.setFileLocation(normalizedFile);
-    
-                    addDataItemToTreeNode(treeObjectList, typeItem);
-                }
-            }
-        }
-    }
-
-    
-	public ILabelProvider getLabelProvider() {
-		return labelProvider;
-	}
-
-    
-    public class XSDComponentLabelProvider extends XMLComponentSelectionLabelProvider {
-        public Image getImage(Object element) {
-            XMLComponentTreeObject specification = (XMLComponentTreeObject) element;
-            XMLComponentSpecification spec = (XMLComponentSpecification) specification.getXMLComponentSpecification().get(0);
-            if (spec.getTagPath().equals("/schema/complexType")) {
-                return XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif");
-            }
-            else if (spec.getTagPath().equals("/schema/simpleType")) {
-                return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
-            }
-            else if (spec.getTagPath().equals("BUILT_IN_SIMPLE_TYPE")) {
-                return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
-            }
-    
-            return null;
-        }
-    }
-    
-    
-
-	public String getListTitle() {
-		return "Matching Types:";
-	}
-
-	public String getNameFieldTitle() {
-		return "Type Name:";
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDSetTypeHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDSetTypeHelper.java
deleted file mode 100644
index 2d5594c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dialogs/types/xsd/XSDSetTypeHelper.java
+++ /dev/null
@@ -1,378 +0,0 @@
-/*******************************************************************************
- * 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.wst.xsd.ui.internal.dialogs.types.xsd;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateElementAction;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentSpecification;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.XSDExternalFileCleanup;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaContent;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.util.XSDConstants;
-import org.eclipse.xsd.util.XSDParser;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class XSDSetTypeHelper {
-    private XSDSchema xsdSchema;
-    private IFile currentIFile;
-    
-    public XSDSetTypeHelper(IFile iFile, XSDSchema schema) {
-        currentIFile = iFile;
-        xsdSchema = schema;
-    }
-
-    public void setType(Element element, String property, XMLComponentSpecification spec) {
-        addImportIfNecessary(element, spec);        
-        String typeObject = getPrefixedTypeName(spec);
-        
-        // Get the previous type --> previousStringType
-        String previousStringType = "";
-        Attr attr = element.getAttributeNode(property);
-        if (attr != null) {
-            String value = attr.getValue();
-        }
-
-        if (!XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
-        {
-            if (spec != null && spec.getTagPath().equals("**anonymous**"))
-            {
-              if (spec.getTagPath().equals("ANONYMOUS_SIMPLE_TYPE"))
-              {
-                if (!previousStringType.equals("**anonymous**"))
-                {
-                  updateElementToAnonymous(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-                }
-              }
-              else
-              {
-                if (!previousStringType.equals("**anonymous**"))
-                {
-                  updateElementToAnonymous(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-                }
-              }
-              // element.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
-              element.removeAttribute(property);
-            }
-            else
-            {
-              XSDDOMHelper.updateElementToNotAnonymous(element);
-              //element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, typeObject.toString());
-              element.setAttribute(property, typeObject.toString());
-            }
-        }
-    }
-    
-    public void addImportIfNecessary(Element element, XMLComponentSpecification spec) {
-        String typeObject = "";
-        
-        // Get the new type --> typeObject
-        if (spec != null) {
-            String itemType = spec.getTagPath();
-            typeObject = (String) spec.getAttributeInfo("name");
-            
-            if (!itemType.equals("BUILT_IN_SIMPLE_TYPE")) {
-                // Do an actual import if needed
-                XSDParser parser = new XSDParser();
-                parser.parse(spec.getFileLocation());
-                XSDSchema schema = parser.getSchema();
-                String tns = schema.getTargetNamespace();
-                
-                boolean exists = false;
-                // Check if the type is defined in the 'current' file itself.
-                String currentFile = getNormalizedLocation(xsdSchema.getSchemaLocation());
-                IPath currentFilePath = new Path(currentFile);
-                if (currentFilePath.equals(spec.getFileLocation())) {
-                    exists = true;
-                }
-
-                if (!exists) {
-                    if (tns.equals(xsdSchema.getTargetNamespace())) {
-                        // Check if the schema is in a redefine/include
-                        List existingList = getXSDIncludes();
-                        existingList.addAll(getXSDRedefines());
-                        Iterator it = existingList.iterator();
-                        while (it.hasNext()) {
-                            XSDSchemaDirective existingSchema = (XSDSchemaDirective) it.next();
-                            String normalizedFile = getNormalizedLocation(existingSchema.getResolvedSchema().getSchemaLocation());
-                            String normalizedSpec = spec.getFileLocation();
-                            
-                            if (normalizedFile.equals(normalizedSpec)) {
-                                // Found and existing one
-                                exists = true;
-                            }
-                        }                        
-                    }
-                    else {
-                        // Check if the schema is in a import
-                        List existingList = getXSDImports();
-                        Iterator it = existingList.iterator();
-                        while (it.hasNext()) {
-                            XSDSchemaDirective existingSchema = (XSDSchemaDirective) it.next();
-                            String normalizedFile = getNormalizedLocation(existingSchema.getResolvedSchema().getSchemaLocation());
-                            String normalizedSpec = spec.getFileLocation();
-
-                            if (normalizedFile.equals(normalizedSpec)) {
-                                // Found and existing one
-                                exists = true;
-                            }
-                        }                        
-                    }
-                }
-                
-                if (!exists) {
-                    doImport(spec.getFileLocation(), schema);
-                }
-            }
-        }
-    }
-    
-    /*
-     * Return the prefixed type name for the type described by the given
-     * XMLComponentSpecification object.
-     * If the type described is a Built-in type, do not add the prefix
-     */
-    public String getPrefixedTypeName(XMLComponentSpecification spec) {
-        String typeObject = (String) spec.getAttributeInfo("name");
-        
-        if (!spec.getTagPath().equals("BUILT_IN_SIMPLE_TYPE")) {
-            TypesHelper typesHelper = new TypesHelper(xsdSchema); // ???? Is this correct?
-            List prefixedNames = typesHelper.getPrefixedNames(spec.getTargetNamespace(), typeObject);
-            if (prefixedNames.size() > 0) {
-                // Grab the first prefixed name
-                typeObject = (String) prefixedNames.get(0);
-            }
-        }
-        
-        return typeObject;
-    }
-    
-    private void updateElementToAnonymous(Element element, String xsdType) {
-        String prefix = element.getPrefix();
-        prefix = (prefix == null) ? "" : (prefix + ":");
-        XSDDOMHelper.updateElementToNotAnonymous(element);
-        boolean hasChildrenElements = hasElementChildren(element);
-        Element childNode = null;
-        if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG)) {
-            childNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-        }
-        else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG)) {
-            childNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-        }
-        
-        if (childNode != null) {
-            XSDDOMHelper helper = new XSDDOMHelper();
-            Node annotationNode = helper.getChildNode(element, XSDConstants.ANNOTATION_ELEMENT_TAG);
-            if (annotationNode == null) {
-                Node firstChild = element.getFirstChild();
-                element.insertBefore(childNode, firstChild);
-            } else {
-                Node nextSibling = annotationNode.getNextSibling();
-                element.insertBefore(childNode, nextSibling);
-            }
-            XSDDOMHelper.formatChild(childNode);
-        }
-    }
-
-    private boolean hasElementChildren(Node parentNode) {
-        boolean hasChildrenElements = false;
-        if (parentNode != null && parentNode.hasChildNodes()) {
-            NodeList nodes = parentNode.getChildNodes();
-            for (int i = 0; i < nodes.getLength(); i++) {
-                if (nodes.item(i) instanceof Element) {
-                    hasChildrenElements = true;
-                    break;
-                }
-            }
-        }
-        return hasChildrenElements;
-    }
-
-    // TODO: We shouldn't need to pass in IPath externalSchemaPath.
-    private void doImport(String externalSchemaPath, XSDSchema externalSchema) {
-        // Determine schemaLocation
-        String locationAttribute = URIHelper.getRelativeURI(externalSchemaPath, currentIFile.getLocation().toOSString());
-        
-        boolean isInclude = false;
-        if (externalSchema.getTargetNamespace().equals(xsdSchema.getTargetNamespace())) {
-            isInclude = true;
-        }
-        
-        if (externalSchema != null) { // In case we have problems loading the file.... we should display an error message.
-                Element newElement;
-                if (isInclude) {                
-                    List attributes = new ArrayList();
-                    attributes.add(new DOMAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, locationAttribute));
-                    newElement = createElement(XSDConstants.INCLUDE_ELEMENT_TAG, attributes);
-                }
-                else if (!isInclude) {
-                    List attributes = new ArrayList();
-                    attributes.add(new DOMAttribute(XSDConstants.NAMESPACE_ATTRIBUTE, externalSchema.getTargetNamespace()));
-                    attributes.add(new DOMAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, locationAttribute));
-                    newElement = createElement(XSDConstants.IMPORT_ELEMENT_TAG, attributes);
-                    handleImportNS(newElement, externalSchema);
-                }
-        }
-    }
-
-    private void handleImportNS(Element importElement, XSDSchema externalSchema) {
-        String namespace = externalSchema.getTargetNamespace();
-        if (namespace == null) namespace = "";
-
-        XSDImport xsdImport = (XSDImport) xsdSchema.getCorrespondingComponent(importElement);
-        xsdImport.setResolvedSchema(externalSchema);
-        
-        java.util.Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-        
-//        System.out.println("changed Import Map is " + map.values());
-//        System.out.println("changed import Map keys are " + map.keySet());
-
-        // Referential integrity on old import
-        // How can we be sure that if the newlocation is the same as the oldlocation
-        // the file hasn't changed
-        
-        XSDSchema referencedSchema = xsdImport.getResolvedSchema();
-        if (referencedSchema != null)
-        {
-          XSDExternalFileCleanup cleanHelper = new XSDExternalFileCleanup(referencedSchema);
-          cleanHelper.visitSchema(xsdSchema);
-        }
-
-        Element schemaElement = xsdSchema.getElement();
-
-        // update the xmlns in the schema element first, and then update the import element next
-        // so that the last change will be in the import element.  This keeps the selection
-        // on the import element
-        TypesHelper helper = new TypesHelper(externalSchema);
-        String prefix = helper.getPrefix(namespace, false);
-        
-        if (map.containsKey(prefix))
-        {
-          prefix = null;
-        }
-
-        if (prefix == null || (prefix !=null && prefix.length() == 0))
-        {
-          StringBuffer newPrefix = new StringBuffer("pref");  //$NON-NLS-1$
-          int prefixExtension = 1;
-          while (map.containsKey(newPrefix.toString()) && prefixExtension < 100)
-          {
-            newPrefix = new StringBuffer("pref" + String.valueOf(prefixExtension));
-            prefixExtension++;
-          }
-          prefix = newPrefix.toString();
-        }
-
-        if (namespace.length() > 0)
-        {
-          // if ns already in map, use its corresponding prefix
-          if (map.containsValue(namespace))
-          {
-            TypesHelper typesHelper = new TypesHelper(xsdSchema);
-            prefix = typesHelper.getPrefix(namespace, false);
-          }
-          else // otherwise add to the map
-          {
-            schemaElement.setAttribute("xmlns:"+prefix, namespace);
-          }
-        }
-
-
-//        System.out.println("changed Import Map is " + map.values());
-//        System.out.println("changed import Map keys are " + map.keySet());
-    }
-    
-    private Element createElement(String elementTag, List attributes) {
-        Node relativeNode = XSDDOMHelper.getNextElementNode(xsdSchema.getElement().getFirstChild());
-        
-        CreateElementAction action = new CreateElementAction("");
-        action.setElementTag(elementTag);
-        action.setAttributes(attributes);
-        action.setParentNode(xsdSchema.getElement());
-        action.setRelativeNode(relativeNode);
-        action.setXSDSchema(xsdSchema);
-        return action.createAndAddNewChildElement();
-    }
-
-    private String getNormalizedLocation(String location) {
-        try {
-            URL url = new URL(location);
-            URL resolvedURL = Platform.resolve(url);
-            location = resolvedURL.getPath();
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-        }
-        
-        return location; 
-      }
-    
-    private List getXSDImports() {
-        List imports = new ArrayList();
-        
-        Iterator contents = xsdSchema.getContents().iterator();
-        while (contents.hasNext()) {
-            XSDSchemaContent content = (XSDSchemaContent) contents.next();
-            if (content instanceof XSDImport) {
-                imports.add(content);             
-            }
-        }
-        
-        return imports;
-    }
-    
-    private List getXSDIncludes() {
-        List includes = new ArrayList();
-        
-        Iterator contents = xsdSchema.getContents().iterator();
-        while (contents.hasNext()) {
-            XSDSchemaContent content = (XSDSchemaContent) contents.next();
-            if (content instanceof XSDInclude) {
-                includes.add(content);            
-            }
-        }
-        
-        return includes;
-    }
-
-    private List getXSDRedefines() {
-        List includes = new ArrayList();
-        
-        Iterator contents = xsdSchema.getContents().iterator();
-        while (contents.hasNext()) {
-            XSDSchemaContent content = (XSDSchemaContent) contents.next();
-            if (content instanceof XSDRedefine) {
-                includes.add(content);            
-            }
-        }
-        
-        return includes;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java
deleted file mode 100644
index 142d4ed..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.dnd;
-
-import java.util.Collection;
-
-import org.eclipse.wst.common.ui.dnd.DefaultDragAndDropCommand;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Node;
-
-
-public abstract class BaseDragNodesCommand extends DefaultDragAndDropCommand
-{
-  /**
-   * Constructor for BaseDragNodesCommand.
-   * @param target
-   * @param location
-   * @param operations
-   * @param operation
-   * @param sources
-   */
-  public BaseDragNodesCommand(
-    Object target,
-    float location,
-    int operations,
-    int operation,
-    Collection sources)
-  {
-    super(target, location, operations, operation, sources);
-  }
-
-  protected boolean isDirectSchemaChild(Node node)
-  {
-    Node parent = node.getParentNode();
-    if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false) &&
-        parent.getParentNode().equals(parent.getOwnerDocument()))
-    {
-      return true;
-    }
-    return false;
-  } 
-  
-  protected boolean isSiblingNodes(Node first, Node second)
-  {
-    if (first.getParentNode() != null)
-    {
-      return first.getParentNode().equals(second.getParentNode());
-    }
-    return false;
-  }
-  
-  protected void beginRecording()
-  {
-    if (target != null)
-    {
-      XMLModel model = getModel((Node)target);
-      
-      if (model != null)
-      {
-        model.beginRecording(this, "Move");
-      }
-    }
-  }
-  
-  protected void endRecording()
-  {
-    if (target != null)
-    {
-      XMLModel model = getModel((Node)target);
-      
-      if (model != null)
-      {
-        model.endRecording(this);
-      }
-    }
-  }
-  protected XMLModel getModel(Node node)
-  {
-    Object object = node.getOwnerDocument();
-    if (object instanceof DocumentImpl)
-    {
-      return ((DocumentImpl) object).getModel();
-    }
-    return null;
-  }
-  
-  protected void moveNode(Node referenceNode, Node nodeToMove, boolean isBefore)
-  {
-    XSDDOMHelper.moveNode(referenceNode, nodeToMove, isBefore);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java
deleted file mode 100644
index b3692cf..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.dnd;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.NodeFormatter;
-import org.w3c.dom.Node;
-
-public class DragNodesCommand extends BaseDragNodesCommand
-{
-  /**
-   * Constructor for DragNodesCommand.
-   * @param target
-   * @param location
-   * @param operations
-   * @param operation
-   * @param sources
-   */
-  public DragNodesCommand(
-    Object target,
-    float location,
-    int operations,
-    int operation,
-    Collection sources)
-  {
-    super(target, location, operations, operation, sources);
-  }
-
-  /**
-   * @see org.eclipse.wst.common.ui.dnd.DragAndDropCommand#canExecute()
-   */
-  public boolean canExecute()
-  {
-    if (sources.size() > 0)
-    {
-      Node firstSource = (Node) sources.toArray()[0];
-      return isSiblingNodes((Node) target, firstSource);
-    }
-    return false;
-//    return isDirectSchemaChild((Node)target);
-  }
-
-  
-  /**
-   * @see org.eclipse.wst.common.ui.dnd.DragAndDropCommand#execute()
-   */
-  public void execute()
-  {
-  	NodeFormatter formatProcessor = new NodeFormatter();
-    Node referenceNode = (Node) target;
-    Iterator iter = sources.iterator();
-    beginRecording();
-
-    while (iter.hasNext()) 
-    {
-      Node node = (Node) iter.next();
-      if (isSiblingNodes(referenceNode,node)) 
-      {
-        moveNode(referenceNode, node, !isAfter());
-        formatProcessor.format((XMLNode)node);
-      }
-    }
-//    formatProcessor.format((XMLNode)referenceNode.getParentNode());
-    endRecording();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/XSDDragAndDropManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/XSDDragAndDropManager.java
deleted file mode 100644
index b00c642..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/XSDDragAndDropManager.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.dnd;
-
-import java.util.Collection;
-
-import org.eclipse.wst.common.ui.dnd.DragAndDropCommand;
-import org.eclipse.wst.common.ui.dnd.DragAndDropManager;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Node;
-
-public class XSDDragAndDropManager implements DragAndDropManager
-{
-  /**
-   * Constructor for XSDDragAndDropManager.
-   */
-  public XSDDragAndDropManager()
-  {
-  }
-  
-  protected boolean isDirectSchemaChild(Node node)
-  {
-    Node parent = node.getParentNode();
-    if (XSDDOMHelper.inputEquals(parent, XSDConstants.SCHEMA_ELEMENT_TAG, false) &&
-        parent.getParentNode().equals(parent.getOwnerDocument()))
-    {
-      return true;
-    }
-    return false;
-  } 
-
-  /**
-   * @see org.eclipse.wst.common.ui.dnd.DragAndDropManager#createCommand(Object, float, int, int, Collection)
-   */
-  public DragAndDropCommand createCommand(
-    Object target,
-    float location,
-    int operations,
-    int operation,
-    Collection source)
-  {
-    if (target instanceof Node) 
-    {
-      Node node = (Node) target;
-//      if (isDirectSchemaChild(node))
-//      {
-        return new DragNodesCommand(target, location, operations, operation, source);
-//      }
-    }
-    return null;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/editparts/AbstractComponentViewerRootEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/editparts/AbstractComponentViewerRootEditPart.java
deleted file mode 100644
index caef397..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/editparts/AbstractComponentViewerRootEditPart.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.editparts;
-                                      
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Panel;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.ContainerLayout;
-              
-
-public abstract class AbstractComponentViewerRootEditPart extends AbstractGraphicalEditPart 
-{
-  protected final static String MESSAGE_PLACE_HOLDER = "MESSAGE_PLACE_HOLDER";
-  protected Object input;              
-
-  public void setInput(Object input)
-  {
-    this.input = input;
-    refreshChildren();
-  }
-
-  protected IFigure createFigure()
-  {
-    Panel panel = new Panel();
-    ContainerLayout layout = new ContainerLayout();
-    layout.setBorder(60);
-    panel.setLayoutManager(layout);
-    return panel;
-  }   
-           
-
-  protected List getModelChildren() 
-  {               
-    List list = new ArrayList();
-    if (input != null)
-    {
-      list.add(input);
-    }
-    else
-    {
-      list.add(MESSAGE_PLACE_HOLDER);
-    }
-    return list;
-  }         
-
-  protected abstract EditPart createChild(Object model);
-  
-  protected void createEditPolicies()
-  {  
-  }             
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectedEditPartFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectedEditPartFigure.java
deleted file mode 100644
index f25f677..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectedEditPartFigure.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;
-           
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-
-              
-public class ConnectedEditPartFigure extends ContainerFigure implements IConnectedEditPartFigure
-{                 
-  protected EditPart editPart;
-  protected boolean childConnectionsEnabled = true;
-  protected List connectedFigures = new ArrayList();
-  protected int connectionType = RIGHT_CONNECTION;
-    
-  public ConnectedEditPartFigure(EditPart editPart)
-  {
-    this.editPart = editPart;    
-  }     
-
-  public void setChildConnectionsEnabled(boolean enabled)
-  {
-    childConnectionsEnabled = enabled;
-  }          
-
-  protected IConnectedEditPartFigure getParentGraphNodeFigure()
-  {
-    IConnectedEditPartFigure result = null;
-    for (EditPart parentEditPart = editPart.getParent(); parentEditPart != null; parentEditPart = parentEditPart.getParent())
-    {                                                              
-      IFigure figure = ((AbstractGraphicalEditPart)parentEditPart).getFigure();    
-      if (figure instanceof IConnectedEditPartFigure)
-      {                                                            
-        IConnectedEditPartFigure graphNodeFigure = (IConnectedEditPartFigure)figure;
-        if (graphNodeFigure.getConnectionFigure() != null)
-        {
-          result = graphNodeFigure;
-          break;
-        }
-      }          
-    }          
-    return result;
-  }
-
-  public void addNotify()                     
-  {           
-    super.addNotify();
-    if (getConnectionFigure() != null)
-    {
-      IConnectedEditPartFigure parentGraphNodeFigure = getParentGraphNodeFigure();
-      if (parentGraphNodeFigure != null)
-      {   
-        parentGraphNodeFigure.addConnectedFigure(this);
-      }   
-    }
-  }   
-
-  public void removeNotify()
-  {
-    super.removeNotify();
-    if (getConnectionFigure() != null)
-    {
-      IConnectedEditPartFigure parentGraphNodeFigure = getParentGraphNodeFigure();
-      if (parentGraphNodeFigure != null)
-      {   
-        parentGraphNodeFigure.removeConnectedFigure(this);
-      }   
-    }
-  }   
-
-  public void addConnectedFigure(IConnectedEditPartFigure figure)
-  {   
-    if (childConnectionsEnabled) 
-    {  
-      // this test is required since we sometimes receive the 'addNotify' call twice
-      //
-      if (!connectedFigures.contains(figure))
-      {
-        connectedFigures.add(figure);
-      }
-    }
-  }
-
-  public void removeConnectedFigure(IConnectedEditPartFigure figure)
-  {
-    if (childConnectionsEnabled) 
-    { 
-      connectedFigures.remove(figure);
-    }
-  }    
-                    
-  public IFigure getSelectionFigure()
-  {
-    return this;
-  }
-
-  public IFigure getConnectionFigure()
-  {
-    return this;
-  }
-
-  public List getConnectedFigures(int type)
-  {
-    List list = new ArrayList();
-    for (Iterator i = connectedFigures.iterator(); i.hasNext(); )
-    {           
-      IConnectedEditPartFigure figure = (IConnectedEditPartFigure)i.next();
-      //if (type == 0 || type == figure.getConnectionType())
-      {
-        list.add(figure);
-      }      
-    }
-    return list;
-  }                               
-
-  public int getConnectionType()
-  {
-    return connectionType;
-  }
-
-  public void setConnectionType(int type)
-  {
-    connectionType = type;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectionRenderingFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectionRenderingFigure.java
deleted file mode 100644
index 7192108..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ConnectionRenderingFigure.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;
-        
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-              
-
-public class ConnectionRenderingFigure extends RectangleFigure
-{               
-  protected boolean isOutlined = true;
-  protected IFigure primaryLayer;
-
-  public ConnectionRenderingFigure(IFigure primaryLayer)
-  {
-    setOpaque(false);                   
-    this.primaryLayer = primaryLayer;
-    //setFocusTraversable(false); 
-    //setEnabled(false); 
-  }
-           
-  protected boolean isMouseEventTarget()
-  {
-    return false;
-  }        
-
-  public boolean containsPoint(int x, int y)
-  {
-    return false;
-  }
-
-  protected void fillShape(Graphics graphics)
-  { 
-    graphics.setForegroundColor(ColorConstants.black);
-    drawLines(graphics, primaryLayer);
-  }
-
-  protected void outlineShape(Graphics graphics)
-  { 
-    if (isOutlined)
-    {
-      super.outlineShape(graphics);
-    }
-  } 
-
-  protected void drawLines(Graphics graphics, IFigure figure)
-  {      
-    if (figure instanceof IConnectedEditPartFigure)
-    {
-      IConnectedEditPartFigure graphNodeFigure = (IConnectedEditPartFigure)figure;         
-      List connectedFigures = graphNodeFigure.getConnectedFigures(IConnectedEditPartFigure.RIGHT_CONNECTION);
-      int connectedFiguresSize = connectedFigures.size();              
-
-      if (connectedFiguresSize > 0) 
-      {                                         
-        IConnectedEditPartFigure firstGraphNodeFigure = (IConnectedEditPartFigure)connectedFigures.get(0);
-        Rectangle r = graphNodeFigure.getConnectionFigure().getBounds();    
-          
-        int x1 = r.x + r.width;
-        int y1 = r.y + r.height/2;
-                                                                                   
-        int startOfChildBox = firstGraphNodeFigure.getConnectionFigure().getBounds().x;
-        int x2 = x1 + (startOfChildBox - x1) / 3;
-        int y2 = y1;
-      
-        if (connectedFiguresSize == 1)
-        {
-          graphics.drawLine(x1, y1, startOfChildBox, y2);   
-        }
-        else // (connectedFigures.length > 1)
-        { 
-          graphics.drawLine(x1, y1, x2, y2);
-
-          int minY = Integer.MAX_VALUE;
-          int maxY = -1;
-
-          for (Iterator i = connectedFigures.iterator(); i.hasNext(); )
-          {                                 
-            IConnectedEditPartFigure connectedFigure = (IConnectedEditPartFigure)i.next();
-            Rectangle childConnectionRectangle = connectedFigure.getConnectionFigure().getBounds();
-            int y = childConnectionRectangle.y + childConnectionRectangle.height / 2;
-            minY = Math.min(minY, y);
-            maxY = Math.max(maxY, y);
-            graphics.drawLine(x2, y, childConnectionRectangle.x, y);
-          }                   
-          graphics.drawLine(x2, minY, x2, maxY);
-        }                          
-      }                             
-    }            
-
-    //boolean visitChildren = true;
-    List children = figure.getChildren();
-    for (Iterator i = children.iterator(); i.hasNext(); )
-    {
-      IFigure child = (IFigure)i.next();
-      drawLines(graphics, child);
-    }
-  }    
-
-  // This method supports the preview connection line function related to drag and drop
-  //     
-  public PointList getConnectionPoints(GraphicalEditPart parentEditPart, GraphicalEditPart childRefEditPart, Rectangle draggedFigureBounds)
-  {           
-    PointList pointList = new PointList();                         
-    int[] data = new int[1];
-    Point a = getConnectionPoint(parentEditPart, childRefEditPart, data);
-    if (a != null)
-    {   
-      int draggedFigureBoundsY = draggedFigureBounds.y + draggedFigureBounds.height/2;
-
-      pointList.addPoint(a); 
-      //pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
-      
-      if (data[0] == 0) // insert between 2 items
-      {                                         
-        int x = a.x + (draggedFigureBounds.x - a.x)/2;
-        pointList.addPoint(new Point(x, a.y));
-        pointList.addPoint(new Point(x, draggedFigureBoundsY));        
-        pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
-      }
-      else // insert at first or last position
-      {
-        pointList.addPoint(new Point(a.x, draggedFigureBoundsY));   
-        pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
-      }
-    }       
-    return pointList;
-  }
-
-         
-  // This method supports the preview connection line function related to drag and drop
-  //     
-  protected Point getConnectionPoint(GraphicalEditPart parentEditPart, GraphicalEditPart childRefEditPart, int[] data)
-  {                      
-    Point point = null;     
-    List childList = parentEditPart.getChildren();         
-                                                                                                                                               
-    if (parentEditPart.getFigure() instanceof IConnectedEditPartFigure && childList.size() > 0)
-    {   
-      point = new Point();
-
-      GraphicalEditPart prev = null;    
-      GraphicalEditPart next = null;
-                               
-      for (Iterator i = childList.iterator(); i.hasNext(); )
-      {             
-        Object o = i.next();    
-        if (o instanceof GraphicalEditPart)
-        {
-          GraphicalEditPart childEditPart = (GraphicalEditPart)o;
-          if (childEditPart.getFigure() instanceof IConnectedEditPartFigure)
-          {
-            if (childEditPart == childRefEditPart)
-            {
-              next = childEditPart;
-              break;
-            }                                           
-            prev = childEditPart;
-          }
-        }
-      }                            
-                          
-
-      if (next != null && prev != null)
-      {                   
-        int ya = getConnectedEditPartConnectionBounds(prev).getCenter().y;
-        int yb = getConnectedEditPartConnectionBounds(next).getCenter().y;
-        point.y = ya + (yb - ya)/2;   
-        data[0] = 0;
-      }                               
-      else if (prev != null) // add it last
-      {
-        point.y = getConnectedEditPartConnectionBounds(prev).getCenter().y;
-        data[0] = 1;
-      }
-      else if (next != null) // add it first!
-      {                           
-        point.y = getConnectedEditPartConnectionBounds(next).getCenter().y;
-        data[0] = -1;
-      }
-          
-      if (next != null || prev != null)
-      {
-        GraphicalEditPart child = prev != null ? prev : next;
-        int startOfChildBox = getConnectedEditPartConnectionBounds(child).x;
-        Rectangle r = getConnectedEditPartConnectionBounds(parentEditPart);  
-        int x1 = r.x + r.width;
-        point.x = x1 + (startOfChildBox - x1) / 3;
-      }
-    }    
-    return point;
-  }
-
-  protected Rectangle getConnectedEditPartConnectionBounds(GraphicalEditPart editPart)
-  {
-    return ((IConnectedEditPartFigure)editPart.getFigure()).getConnectionFigure().getBounds();
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerFigure.java
deleted file mode 100644
index d7a77ac..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerFigure.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;
-            
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.RectangleFigure;
-              
-public class ContainerFigure extends RectangleFigure implements IExpandable
-{               
-  protected boolean isOutlined = false;
-  protected boolean isExpanded = true;
-
-  public ContainerFigure()
-  {
-    setLayoutManager(new ContainerLayout());
-    setFill(false);
-  }
-
-  public void doLayout()
-  {
-	  layout();
-	  setValid(true);
-  }  
-          
-  public ContainerLayout getContainerLayout()
-  {
-    return (ContainerLayout)getLayoutManager();
-  }           
-
-  public void setOutlined(boolean isOutlined)
-  {
-    this.isOutlined = isOutlined;
-  }     
-
-  protected void outlineShape(Graphics graphics)
-  { 
-    if (isOutlined)
-    {
-      super.outlineShape(graphics);
-    }
-  }
-
-  public boolean isExpanded()
-  {
-    return isExpanded;
-  }
-  
-  public void setExpanded(boolean isExpanded)
-  {
-    this.isExpanded = isExpanded;
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerLayout.java
deleted file mode 100644
index 12f654b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/ContainerLayout.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;
-                   
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-              
-
-public class ContainerLayout extends AbstractLayout
-{                                         
-  protected boolean isHorizontal;
-  protected int spacing = 0;
-  protected int border = 0; 
-
-  public ContainerLayout()
-  { 
-    this(true, 0); 
-  }             
-
-  public ContainerLayout(boolean isHorizontal, int spacing)
-  {
-    this.isHorizontal = isHorizontal;   
-    this.spacing = spacing;
-  }  
-
-  public void setHorizontal(boolean isHorizontal)
-  {
-    this.isHorizontal = isHorizontal;
-  }  
-
-  public void setSpacing(int spacing)
-  {
-    this.spacing = spacing;
-  }  
-
-  public void setBorder(int border)
-  {
-    this.border = border;
-  }  
-
-  protected int alignFigure(IFigure parent, IFigure child)
-  { 
-    return -1;
-  }
-
-  /**
-   * Calculates and returns the preferred size of the container 
-   * given as input.
-   * 
-   * @param figure  Figure whose preferred size is required.
-   * @return  The preferred size of the passed Figure.
-   * @since 2.0
-   */
-  protected Dimension calculatePreferredSizeHelper(IFigure parent)
-  { 
-    Dimension	preferred = new Dimension();
-  	List children = parent.getChildren();
-		                                        
-	  for (int i=0; i < children.size(); i++)
-    {
-		  IFigure child = (IFigure)children.get(i);      
-    
-      Dimension	childSize = child.getPreferredSize();
-	  
-      if (isHorizontal)
-      {
-		    preferred.width += childSize.width;
-		    preferred.height = Math.max(preferred.height, childSize.height);
-      }
-      else
-      {  
-        preferred.height += childSize.height;
-        preferred.width = Math.max(preferred.width, childSize.width);
-      }
-	  }   
-
-    int childrenSize = children.size();
-    if (childrenSize > 1)
-    {                      
-      if (isHorizontal)    
-      {
-        preferred.width += spacing * (childrenSize - 1);
-      }
-      else
-      {
-		    preferred.height += spacing * (childrenSize - 1);
-      } 
-    }
-                          
-    preferred.width += border * 2;
-    preferred.height += border * 2;
-	  preferred.width += parent.getInsets().getWidth();
-	  preferred.height += parent.getInsets().getHeight();       
-  
-  	return preferred;
-  }
-
-  protected Dimension calculatePreferredSize(IFigure parent, int width, int height)
-  {    
-    Dimension	preferred = null;                                              
-                                  
-    // Here we ensure that an unexpanded container is given a size of (0,0)
-    //
-    if (parent instanceof IExpandable)
-    {
-      IExpandable expandableFigure = (IExpandable)parent;
-      if (!expandableFigure.isExpanded())
-      {
-        preferred = new Dimension(); 
-      }
-    }   
-    
-    if (preferred == null)
-    {
-	    preferred = calculatePreferredSizeHelper(parent);    
-    }
-    
-    return preferred;
-  }
-     
-
-  protected void adjustLayoutLocation(IFigure parent, Dimension dimension)
-  {     
-  }   
-
-  public void layout(IFigure parent)
-  {       
-  	List children = parent.getChildren();
- 
-    int rx = 0;
-    Dimension	dimension = new Dimension();                                          
-
-
-	  for (int i=0; i < children.size(); i++)
-    {
-		  IFigure child = (IFigure)children.get(i);
-		  Dimension	childSize = child.getPreferredSize();
-      if (isHorizontal)
-      {   
-        dimension.height = Math.max(dimension.height, childSize.height);
-        rx += childSize.width;
-      }
-      else
-      {
-        dimension.width = Math.max(dimension.width, childSize.width);
-      }
-    }
-
-	  //dimension.width += parent.getInsets().left;
-    //dimension.height += parent.getInsets().top;
-
-    if (isHorizontal)
-    {
-      dimension.height += border*2;
-    	dimension.width += border;
-    }
-    else
-    {
-      dimension.width += border*2;
-    	dimension.height += border;
-    }
-    adjustLayoutLocation(parent, dimension);    
-
-    for (int i=0; i < children.size(); i++)
-    {
-      IFigure child = (IFigure)children.get(i);
-	    Dimension	childSize = child.getPreferredSize();
-        
-      if (isHorizontal)
-      {   
-        int y = -1; 
-    
-        y = alignFigure(parent, child);
-    
-        if (y == -1)
-        {
-           y = (dimension.height - childSize.height) / 2;                                      
-        }                      
-                                                   
-        Rectangle rectangle = new Rectangle(dimension.width, y, childSize.width, childSize.height);
-        rectangle.translate(parent.getClientArea().getLocation());                           
-
-
-        child.setBounds(rectangle);                           
-	      dimension.width += childSize.width; 
-        dimension.width += spacing;       
-
-        if (child instanceof SpacingFigure)
-        {          
-          int availableHorizontalSpace = parent.getClientArea().width - rx;
-          dimension.width += availableHorizontalSpace;
-        }           
-      }
-      else
-      {
-        Rectangle rectangle = new Rectangle(0, dimension.height, childSize.width, childSize.height);
-	      rectangle.translate(parent.getClientArea().getLocation());                                  
-        
-
-        child.setBounds(rectangle);  
-        dimension.height += childSize.height;
-        dimension.height += spacing;
-      }
-	  }	      
-  }                                      
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/FillLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/FillLayout.java
deleted file mode 100644
index 1b2976b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/FillLayout.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-public class FillLayout extends AbstractLayout
-{         
-  protected boolean isHorizontal = false;                    
-  protected int spacing = 0;
-  public Dimension min;
-
-  public FillLayout(){}     
-  
-  public FillLayout(int spacing)
-  { 
-    this.spacing = spacing; 
-  }
-  
-  public void setHorizontal(boolean isHorizontal)
-  {
-   this.isHorizontal = isHorizontal;
-  }
-  
-  /**
-   * Calculates and returns the preferred size of the input container.
-   * This is the size of the largest child of the container, as all
-   * other children fit into this size.
-   *
-   * @param figure  Container figure for which preferred size is required.
-   * @return  The preferred size of the input figure.
-   * @since 2.0
-   */
-
-  protected Dimension calculatePreferredSize(IFigure figure, int width, int height)
-  {	                 
-    Dimension d = calculatePreferredClientAreaSize(figure);
-  	d.expand(figure.getInsets().getWidth(),
-  	         figure.getInsets().getHeight());
-  	d.union(getBorderPreferredSize(figure));
-  	return d;
-  } 
-  
-  protected Dimension calculatePreferredClientAreaSize(IFigure figure)
-  {
-    Dimension d = new Dimension();
-  	List children = figure.getChildren(); 
-  
-  
-  	for (Iterator i = children.iterator(); i.hasNext(); )
-    {
-  		IFigure child = (IFigure)i.next();
-      Dimension childSize = child.getPreferredSize();
-  
-      if (isHorizontal)
-      {
-        d.width += childSize.width;
-        d.height = Math.max(childSize.height, d.height);
-      }
-      else
-      {
-        d.height += childSize.height;
-        d.width = Math.max(childSize.width, d.width);
-      }
-  	}	 
-  
-                     
-    int childrenSize = children.size();       
-    if (childrenSize > 0)
-    {
-      if (isHorizontal)
-      {
-        d.width += spacing * (childrenSize - 1); 
-      }
-      else
-      {
-        d.height += spacing * (childrenSize - 1);  
-      }
-    }       
-      
-    if (min != null)
-    {
-      d.width = Math.max(d.width, min.width);
-      d.height = Math.max(d.height, min.height);
-    }
-    return d;
-  }
-  
-  /*
-   * Returns the minimum size required by the input container.
-   * This is the size of the largest child of the container, as all
-   * other children fit into this size.
-   */
-  public Dimension getMinimumSize(IFigure figure, int width, int height)
-  {
-  	Dimension d = new Dimension();
-  	List children = figure.getChildren();
-  	IFigure child;
-
-  	for (int i=0; i < children.size(); i++)
-    {
-  		child = (IFigure)children.get(i);
-  		d.union(child.getMinimumSize());
-  	}
-  	d.expand(figure.getInsets().getWidth(),
-  	         figure.getInsets().getHeight());
-  	return d;
-  }
-  
-  public Dimension getPreferredSize(IFigure figure, int width, int height)
-  {
-  	return calculatePreferredSize(figure, width, height);
-  }
-  
-  /*
-   * Lays out the children on top of each other with
-   * their sizes equal to that of the available
-   * paintable area of the input container figure.
-   */
-  public void layout(IFigure figure)
-  {                         
-    Dimension	preferredSize = calculatePreferredClientAreaSize(figure);
-  	Rectangle r = figure.getClientArea().getCopy();
-  	List children = figure.getChildren();
-
-    int nChildren = children.size();                                                          
-    int extraHorizontalSpace = r.width - preferredSize.width;
-
-  	for (Iterator i = children.iterator(); i.hasNext(); )
-    {
-  		IFigure child = (IFigure)i.next();
-      Dimension preferredChildSize = child.getPreferredSize();
-         
-      if (isHorizontal)
-      {                       
-        int w = preferredChildSize.width + (extraHorizontalSpace / nChildren);
-  		  child.setBounds(new Rectangle(r.x, r.y, w, Math.max(preferredSize.height, r.height)));
-        r.x += w + spacing;
-      }
-      else
-      {
-  		  child.setBounds(new Rectangle(r.x, r.y, Math.max(preferredSize.width, r.width), preferredChildSize.height));
-        r.y += preferredChildSize.height + spacing;
-      }
-  	}
-  }   
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedEditPartFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedEditPartFigure.java
deleted file mode 100644
index 4c778d7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedEditPartFigure.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;
-            
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-
-public interface IConnectedEditPartFigure extends IConnectedFigure
-{                       
-  public static final int UP_CONNECTION = 1; 
-  public static final int DOWN_CONNECTION = 2;
-  public static final int LEFT_CONNECTION = 3;
-  public static final int RIGHT_CONNECTION = 4;
-
-  public IFigure getSelectionFigure();
-  public IFigure getConnectionFigure();
-  public List getConnectedFigures(int type);
-  public int getConnectionType();      
-  public void addConnectedFigure(IConnectedEditPartFigure figure);
-  public void removeConnectedFigure(IConnectedEditPartFigure figure);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedFigure.java
deleted file mode 100644
index 4a6d7de..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectedFigure.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;
-            
-import org.eclipse.draw2d.IFigure;
-
-public interface IConnectedFigure extends IFigure
-{                       
-  public IFigure getConnectionFigure();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectionRenderingViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectionRenderingViewer.java
deleted file mode 100644
index 6ed611d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IConnectionRenderingViewer.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;
-
-public interface IConnectionRenderingViewer
-{        
-  public ConnectionRenderingFigure getConnectionRenderingFigure();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IExpandable.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IExpandable.java
deleted file mode 100644
index 161581b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/IExpandable.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;  
-
-import org.eclipse.draw2d.IFigure;
-
-public interface IExpandable extends IFigure
-{
-  boolean isExpanded(); 
-  void setExpanded(boolean isExpanded);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/SpacingFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/SpacingFigure.java
deleted file mode 100644
index e245d69..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/gef/util/figures/SpacingFigure.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.gef.util.figures;
-            
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-              
-public class SpacingFigure extends RectangleFigure
-{  
-  public SpacingFigure()
-  {
-    setFill(false);
-    setPreferredSize(new Dimension(0, 0));
-  }
-  
-  //protected void outlineShape(Graphics graphics)
-  //{ 
-  //}                                              
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/BaseGraphicalViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/BaseGraphicalViewer.java
deleted file mode 100644
index 134b5e1..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/BaseGraphicalViewer.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-
-import java.util.Iterator;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.StackLayout;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.KeyHandler;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.editparts.ScalableRootEditPart;
-import org.eclipse.gef.tools.SelectionTool;
-import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.XSDMenuListener;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.ConnectionRenderingFigure;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.IConnectionRenderingViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.CenterLayout;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-
-/**
- * @author ernest
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public abstract class BaseGraphicalViewer extends ScrollingGraphicalViewer implements IConnectionRenderingViewer
-{
-  protected FigureCanvasKeyboardHandler figureCanvasKeyboardHandler;
-
-  protected EditDomain editDomain;
-
-  protected boolean isInputEnabled = true;
-
-  protected boolean isSelectionEnabled = true;
-
-  protected ISelectionProvider menuSelectionProvider;
-
-  protected GraphContextMenuProvider menuProvider;
-
-  protected XSDEditor editor;
-
-  protected XSDConcreteComponent input;
-
-  protected ConnectionRenderingFigure connectionRenderingFigure;
-
-  public BaseGraphicalViewer(XSDEditor editor, ISelectionProvider selectionProvider)
-  {
-    super();
-    this.editor = editor;
-    menuSelectionProvider = selectionProvider;
-  }
-  
-  public ConnectionRenderingFigure getConnectionRenderingFigure()
-  {
-    return connectionRenderingFigure;
-  }
-
-  public void setInputEnabled(boolean enabled)
-  {
-    isInputEnabled = enabled;
-  }
-
-  public void setSelectionEnabled(boolean enabled)
-  {
-    isSelectionEnabled = enabled;
-  }
-
-  public XSDMenuListener getMenuListener()
-  {
-    return menuProvider.getMenuListener();
-  }
-
-  protected static Color white = null;
-  protected void hookControl()
-  {                     
-    super.hookControl();
-  
-    if (white == null)
-    {
-      white = new Color(getControl().getDisplay(), 255, 255, 255);
-    }
-    getControl().setBackground(white); 
-  
-    editDomain = new DefaultEditDomain(null);
-    ((DefaultEditDomain)editDomain).setDefaultTool(new SelectionTool());
-    editDomain.loadDefaultTool();
-    editDomain.addViewer(this);
-  
-    //jvh - gef port - moved this from below so it is available when adding context menu below
-    menuProvider = new GraphContextMenuProvider(this, menuSelectionProvider, editor.getXSDTextEditor());
-    setContextMenu(menuProvider);
-  
-    // add context menu to the graph
-    MenuManager manager = new MenuManager();
-    manager.addMenuListener(getMenuListener());  //jvh - gef port
-    manager.setRemoveAllWhenShown(true);
-    Menu menu = manager.createContextMenu(getControl());
-    getControl().setMenu(menu);
-    
-    // enable popupMenus extension
-    editor.getSite().registerContextMenu("org.eclipse.wst.xsd.ui.popup.graph", manager, menuSelectionProvider);
-    
-    KeyAdapter keyListener = new KeyAdapter()
-    {
-      /**
-       * @see org.eclipse.swt.events.KeyAdapter#keyReleased(KeyEvent)
-       */
-      public void keyReleased(KeyEvent e)
-      {
-        if (e.character == SWT.DEL)
-        {
-          getMenuListener().getDeleteAction().run();
-        }
-      }
-    };
-  
-    setKeyHandler(new XSDGraphicalViewerKeyHandler(this).setParent(new KeyHandler()));
-    
-//    getControl().addKeyListener(keyListener);
-
-    figureCanvasKeyboardHandler = new FigureCanvasKeyboardHandler(this);
-    getFigureCanvas().addKeyListener(figureCanvasKeyboardHandler);
-    
-  	getRootEditPart().activate();		
-                       
-  	ScalableRootEditPart graphicalRootEditPart = (ScalableRootEditPart)getRootEditPart();
-     
-    // set the layout for the primary layer so that the children are always centered
-    //
-    graphicalRootEditPart.getLayer(LayerConstants.PRIMARY_LAYER).setLayoutManager(new CenterLayout());
-  
-    // add the ConnectionRenderingFigure which is responsible for drawing all of the lines in the view
-    //                       
-    IFigure figure = graphicalRootEditPart.getLayer(LayerConstants.HANDLE_LAYER);
-    figure.setLayoutManager(new StackLayout());          
-    connectionRenderingFigure = new ConnectionRenderingFigure(graphicalRootEditPart.getLayer(LayerConstants.PRIMARY_LAYER));      
-    figure.add(connectionRenderingFigure);
-  
-    figure.validate();      
-  }
-
-  public XSDConcreteComponent getInput()
-  {
-    return input;
-  }
-
-  protected EditPart getEditPart(EditPart parent, Object object)
-  {
-    EditPart result = null;
-    for (Iterator i = parent.getChildren().iterator(); i.hasNext(); )
-    {
-      EditPart editPart = (EditPart)i.next();
-      if (editPart.getModel() == object)
-      {  
-        result = editPart;
-        break;
-      }
-    }             
-  
-    if (result == null)
-    { 
-      for (Iterator i = parent.getChildren().iterator(); i.hasNext(); )
-      {
-        EditPart editPart = getEditPart((EditPart)i.next(), object);
-        if (editPart != null)
-        {
-          result = editPart;
-          break;
-        }
-      }            
-    }
-  
-    return result;
-  }
-  
-  public abstract void setInput(XSDConcreteComponent comp);
-  
-  public abstract void setSelection(XSDConcreteComponent comp);
-  
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/FigureCanvasKeyboardHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/FigureCanvasKeyboardHandler.java
deleted file mode 100644
index 012e15e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/FigureCanvasKeyboardHandler.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-
-import org.eclipse.draw2d.FigureCanvas;
-import org.eclipse.draw2d.RangeModel;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.CategoryEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
-
-public class FigureCanvasKeyboardHandler extends KeyAdapter
-{
-  public static final int H_SCROLL_INCREMENT = 5;
-  public static final int V_SCROLL_INCREMENT = 30;
-
-  BaseGraphicalViewer viewer;
-  
-  /**
-   * Constructor for FigureCanvasKeyboardHandler.
-   */
-  public FigureCanvasKeyboardHandler(BaseGraphicalViewer viewer)
-  {
-    super();
-    this.viewer = viewer;
-  }
-
-  public void keyPressed(KeyEvent e)
-  {
-    Widget w = e.widget;
-    if (w instanceof FigureCanvas)
-    {
-      processKey(e.keyCode, (FigureCanvas)w);
-      update();
-    }
-  }
-
-  private void processKey(int keyCode, FigureCanvas figureCanvas)
-  {
-    switch (keyCode)
-    {
-      case SWT.ARROW_DOWN :
-        scrollVertical(figureCanvas, false);
-        break;
-      case SWT.ARROW_UP :
-        scrollVertical(figureCanvas, true);
-        break;
-      case SWT.ARROW_LEFT :
-        scrollHorizontal(figureCanvas, true);
-        break;
-      case SWT.ARROW_RIGHT :
-        scrollHorizontal(figureCanvas, false);
-        break;
-      case SWT.PAGE_UP :
-        scrollPage(figureCanvas, true);
-        break;
-      case SWT.PAGE_DOWN :
-        scrollPage(figureCanvas, false);
-        break;
-    }
-  }
-
-  private int verifyScrollBarOffset(RangeModel model, int value)
-  {
-    value = Math.max(model.getMinimum(), value);
-    return Math.min(model.getMaximum() - model.getExtent(), value);
-  }
-
-  private void scrollVertical(FigureCanvas figureCanvas, boolean up)
-  {
-    Point location = figureCanvas.getViewport().getViewLocation();
-    int vOffset = up ? -V_SCROLL_INCREMENT : V_SCROLL_INCREMENT;
-    int x = verifyScrollBarOffset(figureCanvas.getViewport().getHorizontalRangeModel(), location.x);
-    int y = verifyScrollBarOffset(figureCanvas.getViewport().getVerticalRangeModel(), location.y + vOffset);
-    figureCanvas.scrollSmoothTo(x, y);
-  }
-
-  private void scrollHorizontal(FigureCanvas figureCanvas, boolean left)
-  {
-    Point location = figureCanvas.getViewport().getViewLocation();
-    int hOffset = left ? -H_SCROLL_INCREMENT : H_SCROLL_INCREMENT;
-    int x = verifyScrollBarOffset(figureCanvas.getViewport().getHorizontalRangeModel(), location.x + hOffset);
-    int y = verifyScrollBarOffset(figureCanvas.getViewport().getVerticalRangeModel(), location.y);
-    figureCanvas.scrollSmoothTo(x, y);
-  }
-
-  private void scrollPage(FigureCanvas figureCanvas, boolean up)
-  {
-    Rectangle clientArea = figureCanvas.getClientArea();
-    int increment = up ? -clientArea.height : clientArea.height;
-    Point location = figureCanvas.getViewport().getViewLocation();
-    int x = verifyScrollBarOffset(figureCanvas.getViewport().getHorizontalRangeModel(), location.x);
-    int y = verifyScrollBarOffset(figureCanvas.getViewport().getVerticalRangeModel(), location.y + increment);
-    figureCanvas.scrollSmoothTo(x, y);
-  }
-  
-  private void update()
-  {
-    StructuredSelection s = (StructuredSelection)viewer.getSelection();
-    Object newSelectedEditPart = s.getFirstElement();
-
-    if (newSelectedEditPart instanceof TopLevelComponentEditPart)
-    {
-      TopLevelComponentEditPart topLevel = (TopLevelComponentEditPart) newSelectedEditPart;
-      CategoryEditPart categoryEP = (CategoryEditPart) topLevel.getParent();
-      categoryEP.scrollTo(topLevel);
-      viewer.reveal((TopLevelComponentEditPart)newSelectedEditPart);
-    }                           
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java
deleted file mode 100644
index 3215418..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphContextMenuProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.XSDMenuListener;
-import org.eclipse.wst.xsd.ui.internal.XSDTextEditor;
-
-
-public class GraphContextMenuProvider extends ContextMenuProvider
-{
-
-  XSDMenuListener xsdMenuListener;
-  
-  /**
-   * Constructor for GraphContextMenuProvider.
-   * @param selectionProvider
-   * @param editor
-   */
-  public GraphContextMenuProvider(
-    EditPartViewer viewer,
-    ISelectionProvider selectionProvider,
-    XSDTextEditor editor)
-  {
-    super(viewer);
-    this.viewer = viewer;
-    xsdMenuListener = new XSDMenuListener(selectionProvider);
-    xsdMenuListener.setSourceContext(viewer);
-  }
-
-  public XSDMenuListener getMenuListener()
-  {
-      return xsdMenuListener;
-  }
-
-  
-  /**
-   * @see org.eclipse.gef.ui.parts.ContextMenuProvider#buildContextMenu(org.eclipse.jface.action.IMenuManager, org.eclipse.gef.EditPartViewer)
-   */
-  public void buildContextMenu(IMenuManager arg0)
-  {
-    xsdMenuListener.menuAboutToShow(arg0);
-  }
-  
-  protected EditPartViewer viewer;
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphicsConstants.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphicsConstants.java
deleted file mode 100644
index 691996d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/GraphicsConstants.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A collection of color-related constants.
- */
-public interface GraphicsConstants 
-{                          
-  public final static Display display = Display.getDefault();
-  public final static Color categoryBorderColor     = new Color(null, 118, 134, 164);
-  public final static Color elementBorderColor      = new Color(null, 138, 154, 184);
-  public final static Color elementBackgroundColor  = new Color(null, 236, 242, 252);  
-  public final static Color elementLabelColor       = new Color(null,  80,  96, 144);
-  public final static Color readOnlyBorderColor     = new Color(null, 164, 164, 164); 
-
-  public final static Color readOnlyBackgroundColor = ColorConstants.white;
-
-  public final static Font  smallFont               = new Font(Display.getCurrent(), "Small Fonts", 6, SWT.NONE); 
-  public final static Font  medium                  = new Font(Display.getCurrent(), "Tahoma", 8, SWT.NONE); 
-  public final static Font  mediumBoldFont          = new Font(Display.getCurrent(), "Tahoma", 8, SWT.BOLD); 
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java
deleted file mode 100644
index 09645a1..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-
-
-public class LinkedGraphViewer
-{
-  
-  protected ISelectionProvider menuSelectionProvider;
-  protected XSDEditor editor;
-  protected BaseGraphicalViewer majorViewer, minorViewer;
-  
-  /**
-   * 
-   */
-  public LinkedGraphViewer(XSDEditor editor, ISelectionProvider selectionProvider)
-  {
-    menuSelectionProvider = selectionProvider;
-    this.editor = editor;
-  }
-
-  public void setMajorViewer(BaseGraphicalViewer majorViewer)
-  {
-    this.majorViewer = majorViewer;
-  }
-
-  public void setMinorViewer(BaseGraphicalViewer minorViewer)
-  {
-    this.minorViewer = minorViewer;
-  }
-  
-  protected Composite control;
-  protected SashForm sashForm;
-  
-  public Control createControl(Composite parent)
-  {
-    //control = new Composite(parent, SWT.DEFAULT);
-   
-    control = sashForm = new SashForm(parent, SWT.VERTICAL | SWT.BORDER);
-    sashForm.setLayoutData(ViewUtility.createFill());
-    
-    majorViewer.createControl(sashForm);
-    minorViewer.createControl(sashForm);
-//    control.setLayout(new GridLayout());
-//    control.setLayoutData(ViewUtility.createFill());
-    return control;
-  }
-  
-  public void addSelectionChangedListener(ISelectionChangedListener selectionListener)
-  {
-    if (majorViewer != null)
-    {
-      majorViewer.addSelectionChangedListener(selectionListener);
-      majorViewer.addSelectionChangedListener(majorViewerListener);
-    }
-    if (minorViewer != null)
-    {
-      minorViewer.addSelectionChangedListener(selectionListener);
-    }
-  }
-  
-  /**
-   * @return Composite
-   */
-  public Composite getControl()
-  {
-    return control;
-  }
-
-  /**
-   * 
-   */
-  protected XSDConcreteComponent getInput()
-  {
-    return majorViewer.getInput();
-  }
-
-  /**
-   * @param schema
-   */
-  protected void setInput(XSDConcreteComponent input)
-  {
-    majorViewer.setInput(input);
-    minorViewer.setInput(input);
-  }
-
-  /**
-   * @param component
-   */
-  public void setSelection(XSDConcreteComponent component)
-  {
-    majorViewer.setSelection(component);
-  }
-
-  protected MajorViewerSelectionChangedListener majorViewerListener = new MajorViewerSelectionChangedListener();
-  
-  private class MajorViewerSelectionChangedListener implements ISelectionChangedListener
-  {
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-     */
-    public void selectionChanged(SelectionChangedEvent event)
-    {
-      ISelection editPartSelection = event.getSelection();
-      List nodeList = new ArrayList();
-      if (editPartSelection instanceof IStructuredSelection)
-      {
-        for (Iterator i = ((IStructuredSelection)editPartSelection).iterator(); i.hasNext(); )
-        {
-          EditPart editPart = (EditPart)i.next();
-          if (editPart != null)
-          {
-            Object model = editPart.getModel();
-            if (model instanceof XSDConcreteComponent)
-            {
-              Element element = ((XSDConcreteComponent)model).getElement();
-
-              // this test ensures that we don't attempt to select an element for an external schema
-              //
-              if (element instanceof XMLNode)
-              {
-                // now update the minor viewer based on the selected component in the major viewer
-                minorViewer.setInput((XSDConcreteComponent)model);
-                minorViewer.setSelection((XSDConcreteComponent)model);
-              }
-            }
-          }
-        }
-      }                
-    }
-
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/PrintGraphAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/PrintGraphAction.java
deleted file mode 100644
index 53df913..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/PrintGraphAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-             
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.printing.PrintDialog;
-import org.eclipse.swt.printing.Printer;
-import org.eclipse.swt.printing.PrinterData;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-
-public class PrintGraphAction extends Action
-{ 
-  protected XSDComponentViewer componentViewer;
-
-  public PrintGraphAction(XSDComponentViewer componentViewer)
-  {
-    super("Print");
-    this.componentViewer = componentViewer;
-  } 
-
-  public void run()
-  {
-    try
-    {
-      PrintDialog dialog = new PrintDialog(Display.getCurrent().getActiveShell());
-      PrinterData data = dialog.open();
-      Printer printer = new Printer(data);
-                                                   
-      Control control = componentViewer.getControl();
-      Display display = Display.getCurrent();
-      Image graphImage = new Image(display, control.getSize().x, control.getSize().y);
-      GC graphGC = new GC(control);
-      graphGC.copyArea(graphImage, 0, 0);
-        
-      ImageData graphImageData = graphImage.getImageData();
-      graphImageData.transparentPixel = -1;
-        
-      Point screenDPI = display.getDPI();
-      Point printerDPI = printer.getDPI();
-      int scaleFactor = printerDPI.x / screenDPI.x;
-      Rectangle trim = printer.computeTrim(0, 0, 0, 0);
-      if (printer.startJob("Print XML Schema Graph")) 
-      {
-        GC gc = new GC(printer);
-        if (printer.startPage()) 
-        {
-          gc.drawImage(
-            graphImage,
-            0,
-            0,
-            graphImageData.width,
-            graphImageData.height,
-            -trim.x,
-            -trim.y,
-            scaleFactor * graphImageData.width,
-            scaleFactor * graphImageData.height);
-          printer.endPage();
-        }
-        printer.endJob();
-      }
-      printer.dispose();
-      graphGC.dispose();
-    }    
-    catch (Exception e)
-    {
-      e.printStackTrace();
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDChildUtility.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDChildUtility.java
deleted file mode 100644
index 887889c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDChildUtility.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.util.XSDSwitch;
-              
-
-public class XSDChildUtility
-{              
-  static public List getModelChildren(Object model)
-  {                     
-    XSDChildVisitor visitor = new XSDChildVisitor(model);
-    visitor.visitXSDObject(model); 
-    return visitor.list;
-  }    
-   
-  static public List getImmediateDerivedTypes(XSDComplexTypeDefinition complexType)
-  {
-    ArrayList typesDerivedFrom = new ArrayList();
-
-    // A handy convenience method quickly gets all 
-    // typeDefinitions within our schema; note that 
-    // whether or not this returns types in included, 
-    // imported, or redefined schemas is subject to change
-    List typedefs = complexType.getSchema().getTypeDefinitions();
-
-    for (Iterator iter = typedefs.iterator(); iter.hasNext(); )
-    {
-      XSDTypeDefinition typedef = (XSDTypeDefinition)iter.next();
-      // Walk the baseTypes from this typedef seeing if any 
-      // of them match the requested one
-      if (complexType.equals(typedef.getBaseType()))
-      {
-        // We found it, return the original one and continue
-        typesDerivedFrom.add(typedef);
-      }
-    }
-    return typesDerivedFrom;
-  }
-  // TODO... use the XSDVisitor defined in xsdeditor.util instead
-  //          
-  public static class XSDChildVisitor extends XSDVisitor
-  {
-    Object root;
-    List list = new ArrayList();
-
-    public XSDChildVisitor(Object root)
-    {
-      this.root = root;
-    }                  
-
-    public void visitXSDModelGroup(XSDModelGroup xsdModelGroup)
-    {
-      if (xsdModelGroup != root)
-      {
-        list.add(xsdModelGroup);
-      }                         
-      else
-      {
-        super.visitXSDModelGroup(xsdModelGroup);
-      }
-    }
-
-    public void visitXSDModelGroupDefinition(XSDModelGroupDefinition xsdModelGroupDefinition)
-    {
-      if (xsdModelGroupDefinition != root)
-      {
-        list.add(xsdModelGroupDefinition);
-      }                         
-      else
-      {
-        super.visitXSDModelGroupDefinition(xsdModelGroupDefinition);
-      }
-    }
-
-    public void visitXSDElementDeclaration(XSDElementDeclaration xsdElementDeclaration)
-    {
-      if (xsdElementDeclaration != root)
-      {
-        list.add(xsdElementDeclaration);
-      }                         
-      else
-      {
-        super.visitXSDElementDeclaration(xsdElementDeclaration);
-      }
-    }
-
-    public void visitXSDComplexTypeDefinition(XSDComplexTypeDefinition xsdComplexTypeDefinition)
-    {
-      if (xsdComplexTypeDefinition != root)
-      {                                    
-        if (xsdComplexTypeDefinition.getName() != null || getModelChildren(xsdComplexTypeDefinition).size() > 0)
-        {
-          list.add(xsdComplexTypeDefinition);
-        }
-      }                         
-      else
-      {
-        super.visitXSDComplexTypeDefinition(xsdComplexTypeDefinition);
-      }
-    }    
-
-    public void visitXSDWildcard(XSDWildcard xsdWildCard)
-    {
-      if (xsdWildCard != root)
-      {                                    
-        list.add(xsdWildCard);        
-      }                         
-      else
-      {
-        super.visitXSDWildcard(xsdWildCard);
-      }
-    }
-  }
-               
-
-  public static class XSDVisitor
-  { 
-    int indent = 0;
-                 
-    public void visitXSDObject(Object object)
-    {           
-      if (object == null)
-        return;
-
-      XSDSwitch theSwitch = new XSDSwitch()
-      {   
-        public Object caseXSDComplexTypeDefinition(XSDComplexTypeDefinition object)
-        {
-          visitXSDComplexTypeDefinition(object);
-          return null;
-        } 
-
-        public Object caseXSDAttributeUse(XSDAttributeUse object)
-        {
-          visitXSDAttributeUse(object);
-          return null;
-        }
-
-        public Object caseXSDElementDeclaration(XSDElementDeclaration object)
-        {
-          visitXSDElementDeclaration(object);
-          return null;
-        }
-
-        public Object caseXSDModelGroupDefinition(XSDModelGroupDefinition object)
-        {
-          visitXSDModelGroupDefinition(object);
-          return super.caseXSDModelGroupDefinition(object);
-        }
-
-        public Object caseXSDModelGroup(XSDModelGroup object)
-        {
-          visitXSDModelGroup(object);
-          return super.caseXSDModelGroup(object);
-        }
-
-        public Object caseXSDParticle(XSDParticle object)
-        { 
-          visitXSDParticle(object);
-          return null;
-        } 
-
-        public Object caseXSDSchema(XSDSchema object)
-        { 
-          visitXSDSchema(object);
-          return null;
-        } 
-
-        public Object caseXSDWildcard(XSDWildcard object)
-        { 
-          visitXSDWildcard(object);
-          return null;
-        } 
-      };
-      theSwitch.doSwitch((EObject)object);
-    }
-         
-    public void visitXSDAttributeUse(XSDAttributeUse xsdAttributeUse)
-    {  
-//      printIndented("@" + xsdAttributeUse.getAttributeDeclaration().getName());
-    }
-
-    public void visitXSDSchema(XSDSchema xsdSchema)
-    {         
-//      printIndented("XSDSchema");
-      indent += 2;
-      for (Iterator iterator = xsdSchema.getElementDeclarations().iterator(); iterator.hasNext(); )
-      {
-        visitXSDObject(iterator.next());
-      }
-      indent -= 2;
-    }
-
-    public void visitXSDElementDeclaration(XSDElementDeclaration xsdElementDeclaration)
-    {      
-//      printIndented(xsdElementDeclaration.getName());
-      indent += 2;         
-      XSDTypeDefinition td = xsdElementDeclaration.getTypeDefinition();
-      if (td == null)
-      {
-        td = xsdElementDeclaration.getAnonymousTypeDefinition();
-      }                       
-      visitXSDObject(td);
-      indent -= 2;
-    }
-   
-    public void visitXSDComplexTypeDefinition(XSDComplexTypeDefinition xsdComplexTypeDefinition)
-    {
-//      printIndented("XSDComplexTypeDefinition : " + xsdComplexTypeDefinition.getContent());
-      indent += 2;
-      for (Iterator i = xsdComplexTypeDefinition.getAttributeUses().iterator(); i.hasNext(); )
-      {        
-        visitXSDObject((XSDAttributeUse)i.next());
-      }
-      visitXSDObject(xsdComplexTypeDefinition.getContent());
-      indent -= 2;
-    }
-
-    public void visitXSDModelGroup(XSDModelGroup xsdModelGroup)
-    {
-//      printIndented("XSDModelGroup");
-      indent += 2;
-      for (Iterator iterator = xsdModelGroup.getContents().iterator(); iterator.hasNext(); )
-      {
-        visitXSDObject(iterator.next());
-      } 
-      indent -= 2;
-    }     
-
-    public void visitXSDModelGroupDefinition(XSDModelGroupDefinition xsdModelGroupDefinition)
-    {
-//      printIndented("XSDModelGroupDefinition");
-      indent += 2;
-      visitXSDObject(xsdModelGroupDefinition.getResolvedModelGroupDefinition().getModelGroup());
-      indent -= 2;
-    }
-
-    public void visitXSDParticle(XSDParticle xsdParticle)
-    {
-//      printIndented("XSDParticle");
-      indent += 2;                 
-      if (xsdParticle.getContent() != null)
-        visitXSDObject(xsdParticle.getContent());
-      indent -= 2;
-    } 
-
-    public void visitXSDWildcard(XSDWildcard object)
-    { 
-//      printIndented("XSDWildcard");
-    }
-
-    public void printIndented(String string)
-    { 
-      //String spaces = "";
-      //for (int i = 0; i < indent; i++)
-      //{
-      //  spaces += " ";
-      //}               
-      //System.out.println(spaces + string);      
-    }
-  } 
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDComponentViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDComponentViewer.java
deleted file mode 100644
index c5aa0b2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDComponentViewer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-             
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComponentViewerRootEditPart;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class XSDComponentViewer extends BaseGraphicalViewer
-{               
-  protected ComponentViewerRootEditPart componentViewerRootEditPart;
-  public XSDComponentViewer(XSDEditor editor, ISelectionProvider menuSelectionProvider)
-  {
-    super(editor, menuSelectionProvider);       
-  }        
-
-  public void setInput(XSDConcreteComponent component)
-  {               
-    if (isInputEnabled)
-    {
-      input = null;         
-
-      if (component instanceof XSDElementDeclaration || 
-          component instanceof XSDSchema ||
-          component instanceof XSDModelGroup ||   
-          component instanceof XSDModelGroupDefinition ||
-          component instanceof XSDComplexTypeDefinition)
-      {            
-        input = component;
-      }
-      
-      componentViewerRootEditPart.setInput(input);
-      if (!(input instanceof XSDSchema))
-      {
-        editor.getGraphViewer().backButton.setEnabled(true);
-      }
-    }
-  }     
-
-  public void setSelection(XSDConcreteComponent component)
-  {                    
-    if (isSelectionEnabled)
-    {                      
-      //System.out.println("XSDComponentViewer.setSelection(" + component + ")");
-      List editPartList = new ArrayList();    
-      StructuredSelection selection = new StructuredSelection();
-      if (component instanceof XSDElementDeclaration || 
-          component instanceof XSDSchema ||
-          component instanceof XSDModelGroup ||        
-          component instanceof XSDModelGroupDefinition ||
-          component instanceof XSDComplexTypeDefinition)
-      {                     
-        if (component != null)
-        {
-          EditPart editPart = getEditPart(componentViewerRootEditPart, component);    
-          if (editPart != null)
-          { 
-            // TODO ... take a look at this to figure our why a newly added component
-            // seems to have the wrong bounds at this point... is this a layout issue?           
-            // As a temp hack I'm ignoring the selection of component with bounds (x, y) == (0, 0)
-            // Perhaps a delayed selection is required?
-            Rectangle bounds = ((GraphicalEditPart)editPart).getFigure().getBounds();
-            if (bounds.x > 0 || bounds.y > 0)
-            {
-              editPartList.add(editPart); 
-            }
-          } 
-        }    
-      }              
-      setSelection(new StructuredSelection(editPartList));
-    }
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#hookControl()
-   */
-  protected void hookControl()
-  {
-    super.hookControl();
-    componentViewerRootEditPart = new ComponentViewerRootEditPart();
-    setContents(componentViewerRootEditPart);
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java
deleted file mode 100644
index a19f20b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-              
-
-public class XSDGraphUtil
-{                        
-  public static boolean isEditable(Object model)
-  {                    
-    boolean result = false;
-    if (model instanceof XSDConcreteComponent)
-    {
-      Element element = ((XSDConcreteComponent)model).getElement();
-      // this test ensures that we don't attempt to select an element for an external schema
-      //
-      if (element instanceof XMLNode)
-      {
-         result = true;
-      }
-    }                      
-    return result;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java
deleted file mode 100644
index a15cfc7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphViewer.java
+++ /dev/null
@@ -1,598 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDSelectionManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
-import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-public class XSDGraphViewer implements ISelectionChangedListener
-{
-  protected PageBook pageBook;
-  protected Control componentViewerControl;
-  protected Control inheritanceViewerControl;
-  protected Control subGroupsViewerControl;
-  protected XSDComponentViewer componentViewer;
-  protected XSDInheritanceViewer inheritanceViewer;
-  protected XSDSubstitutionGroupsViewer subGroupsViewer;
-  protected XSDSelectionManager xsdSelectionManager;
-  protected XSDSchema schema;
-  protected InternalSelectionProvider internalSelectionProvider = new InternalSelectionProvider();
-  protected XSDEditor editor;
-  protected PrintGraphAction printGraphAction;
-  protected SashForm sashForm;
-  protected ToolItem backButton;
-
-  public XSDGraphViewer(XSDEditor editor)
-  {
-    super();
-    this.editor = editor;
-  }
-
-  public void setSchema(XSDSchema schema)
-  {
-    this.schema = schema;
-  }
-  ToolBar graphToolBar; // the toolbar at the top of the graph view
-  ToolItem toolItem; // the view tool item
-  ViewForm form; // view form for holding all the views
-  Composite frameBar; // The composite that contains the toolbar
-  Composite c; // temporary blank page. Clean this up when all views completed
-  LinkedGraphViewer linkInheritanceViewer;
-
-  protected void createInheritanceViewer(Composite parent)
-  {
-    linkInheritanceViewer = new LinkedGraphViewer(editor, internalSelectionProvider);
-    BaseGraphicalViewer graphViewer = new XSDInheritanceViewer(editor, internalSelectionProvider);
-    linkInheritanceViewer.setMajorViewer(graphViewer);
-    graphViewer = new XSDComponentViewer(editor, editor.getSelectionManager());
-    linkInheritanceViewer.setMinorViewer(graphViewer);
-    linkInheritanceViewer.createControl(parent);
-  }
-  LinkedGraphViewer linkSubstitutionGroupViewer;
-
-  protected void createSubstitutionGroupViewer(Composite parent)
-  {
-    linkSubstitutionGroupViewer = new LinkedGraphViewer(editor, internalSelectionProvider);
-    BaseGraphicalViewer graphViewer = new XSDSubstitutionGroupsViewer(editor, internalSelectionProvider);
-    linkSubstitutionGroupViewer.setMajorViewer(graphViewer);
-    graphViewer = new XSDComponentViewer(editor, internalSelectionProvider);
-    linkSubstitutionGroupViewer.setMinorViewer(graphViewer);
-    linkSubstitutionGroupViewer.createControl(parent);
-  }
-  static private Color dividerColor;
-
-  public Control createControl(Composite parent)
-  {
-    pageBook = new PageBook(parent, 0);
-    
-    //componentViewer = new XSDComponentViewer(editor, internalSelectionProvider);
-    componentViewer = new XSDComponentViewer(editor, editor.getSelectionManager());
-    ViewUtility util = new ViewUtility();
-    final Composite client;
-    String designLayoutPosition = XSDEditorPlugin.getPlugin().getDesignLayoutPosition();
-    form = new ViewForm(pageBook, SWT.NONE);
-    frameBar = new Composite(form, SWT.NONE);
-    org.eclipse.swt.layout.GridLayout frameLayout = new org.eclipse.swt.layout.GridLayout();
-    frameLayout.marginWidth = 0;
-    frameLayout.marginHeight = 0;
-    frameBar.setLayout(frameLayout);
-    graphToolBar = new ToolBar(frameBar, SWT.FLAT);
-    graphToolBar.addTraverseListener(new TraverseListener()
-    {
-      public void keyTraversed(TraverseEvent e)
-      {
-        if (e.detail == SWT.TRAVERSE_MNEMONIC)
-          e.doit = false;
-      }
-    });
-    backButton = new ToolItem(graphToolBar, SWT.PUSH);
-    backButton.setImage(XSDEditorPlugin.getXSDImage("icons/back.gif")); //$NON-NLS-1$
-    backButton.setToolTipText(XSDEditorPlugin.getXSDString("_UI_HOVER_BACK_TO_SCHEMA_VIEW")); //$NON-NLS-1$
-    backButton.setEnabled(false);
-    backButton.addSelectionListener(new SelectionAdapter()
-    {
-      public void widgetSelected(SelectionEvent e)
-      {
-        editor.getGraphViewer().setInput(editor.getXSDSchema());
-        // internalSelectionProvider.setSelection(new StructuredSelection(editor.getXSDSchema()));
-        editor.getSelectionManager().setSelection(new StructuredSelection(editor.getXSDSchema()));
-      }
-    });
-    // TEMPORARILY REMOVE DIFFERENT VIEWS
-    //    toolItem = new ToolItem(graphToolBar, SWT.DROP_DOWN);
-    //
-    //    // set default to containment
-    //// toolItem.setText(XSDEditorPlugin.getXSDString("_UI_CONTAINMENT"));
-    //    toolItem.addSelectionListener(new SelectionAdapter()
-    //    {
-    //      public void widgetSelected(SelectionEvent e)
-    //      {
-    //        Menu menu = new Menu(graphToolBar);
-    //        if (menu != null)
-    //        {
-    //          if (!showGraphMenu(menu))
-    //          {
-    //            frameBar.setVisible(false);
-    //            return;
-    //          }
-    //          Rectangle b = toolItem.getBounds();
-    //          org.eclipse.swt.graphics.Point p = toolItem.getParent().toDisplay(new
-    // org.eclipse.swt.graphics.Point(b.x, b.y + b.height));
-    //          menu.setLocation(p.x, p.y);
-    //          menu.setVisible(true);
-    //        }
-    //      }
-    //    });
-    form.setTopLeft(frameBar);
-    //    createInheritanceViewer(form);
-    //    createSubstitutionGroupViewer(form);
-    componentViewerControl = componentViewer.createControl(form);
-    //inheritanceViewerControl = inheritanceViewer.createControl(form);
-    //subGroupsViewerControl = subGroupsViewer.createControl(form);
-    c = ViewUtility.createComposite(form, 1);
-    form.setContent(componentViewerControl);
-    // componentViewerControl.setData("layout ratio", new Float(0.65));
-    form.setData("layout ratio", new Float(0.65));
-    if (dividerColor == null)
-    {
-      dividerColor = new Color(componentViewerControl.getDisplay(), 143, 141, 138);
-    }
-    //KCPort
-    //    client.addPaintListener(new PaintListener()
-    //    {
-    //      /**
-    //       * @see org.eclipse.swt.events.PaintListener#paintControl(PaintEvent)
-    //       */
-    //      public void paintControl(PaintEvent e)
-    //      {
-    //        Object source = e.getSource();
-    //        if (source instanceof Composite)
-    //        {
-    //          Composite comp = (Composite)source;
-    //          Rectangle boundary = comp.getClientArea();
-    //          e.gc.setForeground(dividerColor);
-    //          e.gc.drawLine(boundary.x, boundary.y, boundary.x + boundary.width,
-    // boundary.y);
-    //          editor.setDesignWeights(sashForm.getWeights(), true);
-    //        }
-    //      }
-    //    });
-    // KCPort
-    //    designView = new DesignViewer(editor);
-    //    final Control design = designView.createControl(client);
-    //    design.setLayoutData(ViewUtility.createFill());
-    //    client.setData("layout ratio", new Float(0.35));
-    //    enableDesignView(editor.isCombinedDesignAndSourceView());
-    //    pageBook.showPage(sashForm);
-    pageBook.showPage(form);
-    componentViewer.addSelectionChangedListener(internalSelectionProvider);
-    //inheritanceViewer.addSelectionChangedListener(this);
-    // Temporarily remove graph tool bar
-    //    linkInheritanceViewer.addSelectionChangedListener(this);
-    //    linkSubstitutionGroupViewer.addSelectionChangedListener(this);
-    printGraphAction = new PrintGraphAction(componentViewer);
-    return pageBook;
-    //    return form;
-  }
-
-  private boolean showGraphMenu(Menu menu)
-  {
-    MenuItem containmentMenuItem = new MenuItem(menu, SWT.RADIO);
-    containmentMenuItem.setText(XSDEditorPlugin.getXSDString("_UI_CONTAINMENT"));
-    containmentMenuItem.addSelectionListener(new SelectionAdapter()
-    {
-      public void widgetSelected(SelectionEvent e)
-      {
-        toolItem.setText(XSDEditorPlugin.getXSDString("_UI_CONTAINMENT"));
-        frameBar.layout(true);
-        graphToolBar.layout(true);
-        form.setContent(componentViewerControl);
-        // retrieve latest input which could have changed...from designView ??
-        // get it directly?
-        // KCPort
-        //        setInput(designView.getInput());
-      }
-    });
-    MenuItem inheritanceMenuItem = new MenuItem(menu, SWT.RADIO);
-    inheritanceMenuItem.setText(XSDEditorPlugin.getXSDString("_UI_INHERITANCE"));
-    inheritanceMenuItem.addSelectionListener(new SelectionAdapter()
-    {
-      public void widgetSelected(SelectionEvent e)
-      {
-        toolItem.setText(XSDEditorPlugin.getXSDString("_UI_INHERITANCE"));
-        frameBar.layout(true);
-        graphToolBar.layout(true);
-        //        form.setContent(inheritanceViewerControl);
-        form.setContent(linkInheritanceViewer.getControl());
-        if (linkInheritanceViewer.getInput() == null)
-        {
-          linkInheritanceViewer.setInput(schema);
-        }
-      }
-    });
-    MenuItem subGroupsMenuItem = new MenuItem(menu, SWT.RADIO);
-    subGroupsMenuItem.setText(XSDEditorPlugin.getXSDString("_UI_SUBSTITUTION_GROUPS"));
-    subGroupsMenuItem.addSelectionListener(new SelectionAdapter()
-    {
-      public void widgetSelected(SelectionEvent e)
-      {
-        toolItem.setText(XSDEditorPlugin.getXSDString("_UI_SUBSTITUTION_GROUPS"));
-        frameBar.layout(true);
-        graphToolBar.layout(true);
-        form.setContent(linkSubstitutionGroupViewer.getControl());
-        // retrieve latest input which could have changed...from designView ??
-        // get it directly?
-        //        setInput(designView.getInput());
-        if (linkSubstitutionGroupViewer.getInput() == null)
-        {
-          linkSubstitutionGroupViewer.setInput(schema);
-        }
-      }
-    });
-    if (toolItem.getText().equals(XSDEditorPlugin.getXSDString("_UI_CONTAINMENT")))
-    {
-      containmentMenuItem.setSelection(true);
-    }
-    else if (toolItem.getText().equals(XSDEditorPlugin.getXSDString("_UI_INHERITANCE")))
-    {
-      inheritanceMenuItem.setSelection(true);
-    }
-    else if (toolItem.getText().equals(XSDEditorPlugin.getXSDString("_UI_SUBSTITUTION_GROUPS")))
-    {
-      subGroupsMenuItem.setSelection(true);
-    }
-    return true;
-  }
-
-  public Action getPrintGraphAction()
-  {
-    return printGraphAction;
-  }
-
-  public void updateDesignLayout(int newLayout)
-  {
-    sashForm.setOrientation(newLayout);
-    sashForm.layout();
-  }
-
-  public SashForm getSashForm()
-  {
-    return sashForm;
-  }
-
-  public void enableDesignView(boolean enable)
-  {
-  }
-
-  public XSDComponentViewer getComponentViewer()
-  {
-    return componentViewer;
-  }
-  
-  public void setBackButtonEnabled(boolean state)
-  {
-    backButton.setEnabled(state);
-  }
-
-  public void setInput(Object object)
-  {
-    if (object instanceof XSDConcreteComponent)
-    {
-      XSDConcreteComponent xsdComp = (XSDConcreteComponent) object;
-      if (xsdComp instanceof XSDSchema)
-      {
-        setBackButtonEnabled(false);
-      }
-      else
-      {
-        setBackButtonEnabled(true);
-      }
-      componentViewer.setInput(xsdComp);
-      componentViewer.setSelection(xsdComp);
-    }   
-  }
-
-  protected boolean isDeleted(XSDConcreteComponent component)
-  {
-    boolean result = false;
-    if (component != null && component.getElement() != null)
-    {
-      result = component.getElement().getParentNode() == null;
-    }
-    return result;
-  }
-
-  public void setSelectionManager(XSDSelectionManager newSelectionManager)
-  {
-    // disconnect from old one
-    if (xsdSelectionManager != null)
-    {
-      xsdSelectionManager.removeSelectionChangedListener(this);
-      internalSelectionProvider.removeSelectionChangedListener(xsdSelectionManager);
-    }
-    xsdSelectionManager = newSelectionManager;
-    // connect to new one
-    if (xsdSelectionManager != null)
-    {
-      xsdSelectionManager.addSelectionChangedListener(this);
-      internalSelectionProvider.addSelectionChangedListener(xsdSelectionManager);
-    }
-  }
-
-  // this method is called by the SelectionManager to notify the graph view
-  // that the editor selection has changed
-  //
-  public void selectionChanged(SelectionChangedEvent event)
-  {
-    // here we check the selection source to ensure that this selection came
-    // from a different view (not from the graph view)
-    if (event.getSource() != getComponentViewer())
-    { 
-      handleSelection(event, true);
-    }
-  }
-
-  protected XSDConcreteComponent getTopLevelComponent(XSDConcreteComponent component)
-  {
-    XSDConcreteComponent prev = component;
-    XSDConcreteComponent container = component;
-    while ( container != null && !(container instanceof XSDSchema))
-    {
-      prev = container;     
-      container = container.getContainer();
-    }
-    return container != null ? prev : null;
-  }
-  
-  // TODO.. we need to clean this method up and add comments to clarify what's going on
-  //
-  protected void handleSelection(SelectionChangedEvent event, boolean isSelectionRequired)
-  {
-    StructuredSelection s = (StructuredSelection)event.getSelection();
-    Object obj = s.getFirstElement();
-    if (obj instanceof XSDConcreteComponent)
-    {
-      XSDConcreteComponent selectedComponent = (XSDConcreteComponent)obj;
-      Object currentInput = getComponentViewer().getInput();
-      
-      // in this case we're looking at a top level view
-      // so if the selection is a 'non-top-level' component we need to do a set input
-      XSDSchema topLevelSchema = null;
-      if (currentInput instanceof XSDSchema)
-      {
-        if (selectedComponent instanceof XSDSchema || 
-            selectedComponent.getContainer() instanceof XSDSchema)
-        {
-          topLevelSchema = (XSDSchema)currentInput;
-        }
-      }
-      if (selectedComponent instanceof XSDSchemaDirective || 
-          selectedComponent instanceof XSDNotationDeclaration)      
-      {
-        topLevelSchema = selectedComponent.getSchema();
-      }
-      else if (selectedComponent instanceof XSDAttributeGroupContent ||
-               selectedComponent instanceof XSDWildcard)
-      {
-        if (selectedComponent.getContainer() instanceof XSDAttributeGroupDefinition)
-        {
-          topLevelSchema = selectedComponent.getSchema();
-        }
-      }
-      else if (selectedComponent instanceof XSDSimpleTypeDefinition)
-      {
-        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)selectedComponent;
-        EditPart editPart = componentViewer.getEditPart(componentViewer.getRootEditPart(), st);
-        if (editPart == null)
-        {
-          if (st.getContainer() == editor.getXSDSchema())
-          {
-            topLevelSchema = selectedComponent.getSchema();
-          }
-        }
-      }
-      
-      if (topLevelSchema != null)
-      {
-        setInput(topLevelSchema);
-        // TODO... this is not 'quite' right
-        // it should be possible to view in
-      }  
-      else
-      { 
-        EditPart editPart = getComponentViewer().getEditPart(getComponentViewer().getRootEditPart(), obj);
-        if (editPart == null)
-        {  
-          XSDConcreteComponent topLevelComponent = getTopLevelComponent(selectedComponent);
-          if (topLevelComponent != null)
-          {
-            setInput(topLevelComponent);  
-          }
-        }  
-      }  
-      // now we handle the selection
-      //
-      if (isSelectionRequired)
-      {  
-        EditPart editPart = getComponentViewer().getRootEditPart();        
-        EditPart newSelectedEditPart = getComponentViewer().getEditPart(editPart, obj);
-        if (newSelectedEditPart != null)
-        {
-          if (newSelectedEditPart instanceof TopLevelComponentEditPart)
-          {
-            ((TopLevelComponentEditPart)newSelectedEditPart).setScroll(true);
-          }
-          getComponentViewer().setSelection(new StructuredSelection(newSelectedEditPart));
-        }
-      }      
-    }
-    else if (obj instanceof CategoryAdapter)
-    {
-      setInput(((CategoryAdapter)obj).getXSDSchema());  
-    }
-  }
-
-  protected Element getElementNode(Node node)
-  {
-    while (!(node instanceof Element))
-    {
-      if (node instanceof Attr)
-      {
-        node = ((Attr) node).getOwnerElement();
-      }
-      else if (node instanceof Text)
-      {
-        Node sibling = node.getNextSibling();
-        if (sibling == null)
-        {
-          break;
-        }
-        node = sibling;
-      }
-      else
-      {
-        Node parent = node.getParentNode();
-        if (parent == null)
-        {
-          break;
-        }
-        node = node.getParentNode();
-      }
-    }
-    return node instanceof Element ? (Element) node : null;
-  }
-
-
-
-  // This class listens to the graph view and converts edit part selection
-  // events
-  // into XSD component selection events that can be 'fired' to the
-  // selectionManager
-  //
-  class InternalSelectionProvider implements ISelectionProvider, ISelectionChangedListener
-  {
-    protected List listenerList = new ArrayList();
-    protected ISelection selection = new StructuredSelection();
-
-    public void addSelectionChangedListener(ISelectionChangedListener listener)
-    {
-      listenerList.add(listener);
-    }
-
-    public void removeSelectionChangedListener(ISelectionChangedListener listener)
-    {
-      listenerList.remove(listener);
-    }
-
-    public ISelection getSelection()
-    {
-      return selection;
-    }
-
-    protected void notifyListeners(SelectionChangedEvent event)
-    {
-      for (Iterator i = listenerList.iterator(); i.hasNext();)
-      {
-        ISelectionChangedListener listener = (ISelectionChangedListener) i.next();
-        listener.selectionChanged(event);
-      }
-    }
-
-    public StructuredSelection convertSelectionFromEditPartToModel(ISelection editPartSelection)
-    {
-      List selectedModelObjectList = new ArrayList();
-      if (editPartSelection instanceof IStructuredSelection)
-      {
-        for (Iterator i = ((IStructuredSelection) editPartSelection).iterator(); i.hasNext();)
-        {
-          Object obj = i.next();
-          Object model = null;
-          if (obj instanceof EditPart)
-          {
-            EditPart editPart = (EditPart) obj;
-            model = editPart.getModel();
-            // Convert category to XSDSchema
-            // if (editPart instanceof CategoryEditPart)
-            // {
-            //   model = ((Category)((CategoryEditPart)editPart).getModel()).getXSDSchema();
-            // }
-          }
-          else if (obj instanceof XSDConcreteComponent)
-          {
-            //cs .. not sure why would we'd ever hit this case?
-            model = obj;
-          }
-          if (model != null)//&& model instanceof XSDConcreteComponent)
-          {
-            selectedModelObjectList.add(model);
-          }
-        }
-      }
-      return new StructuredSelection(selectedModelObjectList);
-    }
-
-    public void setSelection(ISelection selection)
-    {
-      this.selection = selection;
-    }
-
-    // This method gets called when an edit part in the graph view is selected
-    //
-    public void selectionChanged(SelectionChangedEvent event)
-    {
-      ISelection newSelection = convertSelectionFromEditPartToModel(event.getSelection());
-      this.selection = newSelection;
-      SelectionChangedEvent newEvent = new SelectionChangedEvent(getComponentViewer(), newSelection);
-      notifyListeners(newEvent);
-    }
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphicalViewerKeyHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphicalViewerKeyHandler.java
deleted file mode 100644
index b6c8026..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphicalViewerKeyHandler.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.KeyHandler;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ExpandableGraphNodeEditPart;
-
-
-public class XSDGraphicalViewerKeyHandler extends KeyHandler
-{
-    public XSDGraphicalViewerKeyHandler(GraphicalViewer viewer)
-    {
-      this.viewer = viewer;
-    }
-    
-    private WeakReference cachedNode;
-    int counter;
-    private GraphicalViewer viewer;
-
-    private boolean acceptConnection(KeyEvent event)
-    {
-      return event.character == '/'
-        || event.character == '?'
-        || event.character == '\\'
-        || event.character == '|';
-    }
-    private boolean acceptIntoContainer(KeyEvent event)
-    {
-      return (((event.stateMask & SWT.ALT) != 0)
-        && (event.keyCode == SWT.ARROW_RIGHT)) || (event.keyCode == SWT.ARROW_RIGHT);
-//      return (event.keyCode == SWT.ARROW_RIGHT);
-    }
-    private boolean acceptLeaveConnection(KeyEvent event)
-    {
-      int key = event.keyCode;
-      if (getFocus() instanceof ConnectionEditPart)
-        if ((key == SWT.ARROW_UP)
-          || (key == SWT.ARROW_RIGHT)
-          || (key == SWT.ARROW_DOWN)
-          || (key == SWT.ARROW_LEFT))
-          return true;
-      return false;
-    }
-    private boolean acceptLeaveContents(KeyEvent event)
-    {
-      int key = event.keyCode;
-      return getFocus() == getViewer().getContents()
-        && ((key == SWT.ARROW_UP)
-          || (key == SWT.ARROW_RIGHT)
-          || (key == SWT.ARROW_DOWN)
-          || (key == SWT.ARROW_LEFT));
-    }
-    private boolean acceptOutOf(KeyEvent event)
-    {
-      return (((event.stateMask & SWT.ALT) != 0) && (event.keyCode == SWT.ARROW_LEFT)) || (event.keyCode == SWT.ARROW_LEFT);
-//      return (event.keyCode == SWT.ARROW_LEFT);
-    }
-    private ConnectionEditPart findConnection(
-      GraphicalEditPart node,
-      ConnectionEditPart current,
-      boolean forward)
-    {
-      List connections = new ArrayList(node.getSourceConnections());
-      connections.addAll(node.getTargetConnections());
-      if (connections.isEmpty())
-        return null;
-      if (forward)
-        counter++;
-      else
-        counter--;
-      while (counter < 0)
-        counter += connections.size();
-      counter %= connections.size();
-      return (ConnectionEditPart) connections.get(counter % connections.size());
-    }
-    /*
-     * pStart is a point in absolute coordinates.
-     */
-    private GraphicalEditPart findSibling(
-      List siblings,
-      Point pStart,
-      int direction,
-      EditPart exclude)
-    {
-      GraphicalEditPart epCurrent;
-      GraphicalEditPart epFinal = null;
-      IFigure figure;
-      Point pCurrent;
-      int distance = Integer.MAX_VALUE;
-      Iterator iter = siblings.iterator();
-      while (iter.hasNext())
-      {
-        epCurrent = (GraphicalEditPart) iter.next();
-        if (epCurrent == exclude)
-          continue;
-        figure = epCurrent.getFigure();
-        pCurrent = getInterestingPoint(figure);
-        figure.translateToAbsolute(pCurrent);
-        if (pStart.getPosition(pCurrent) != direction)
-          continue;
-        int d = pCurrent.getDistanceOrthogonal(pStart);
-        if (d < distance)
-        {
-          distance = d;
-          epFinal = epCurrent;
-        }
-      }
-      return epFinal;
-    }
-    Point getInterestingPoint(IFigure figure)
-    {
-//      return figure.getBounds().getCenter();
-      return figure.getBounds().getTopLeft();
-    }
-    /**
-     * Returns the cached node.  It is possible that the node is not longer in the viewer but has
-     * not been garbage collected yet.
-     */
-    private GraphicalEditPart getCachedNode()
-    {
-      if (cachedNode == null)
-        return null;
-      if (cachedNode.isEnqueued())
-        return null;
-      return (GraphicalEditPart) cachedNode.get();
-    }
-    GraphicalEditPart getFocus()
-    {
-      return (GraphicalEditPart) getViewer().getFocusEditPart();
-    }
-    List getNavigationSiblings()
-    {
-      return getFocus().getParent().getChildren();
-    }
-    protected GraphicalViewer getViewer()
-    {
-      return viewer;
-    }
-    public boolean keyPressed(KeyEvent event)
-    {
-      if (event.character == ' ')
-      {
-        processSelect(event);
-        return true;
-      }
-      else if (acceptIntoContainer(event))
-      {
-        navigateIntoContainer(event);
-        return true;
-      }
-      else if (acceptOutOf(event))
-      {
-        navigateOut(event);
-        return true;
-      }
-      else if (acceptConnection(event))
-      {
-        navigateConnections(event);
-        return true;
-      }
-      else if (acceptLeaveConnection(event))
-      {
-        navigateOutOfConnection(event);
-        return true;
-      }
-      else if (acceptLeaveContents(event))
-      {
-        navigateIntoContainer(event);
-        return true;
-      }
-      switch (event.keyCode)
-      {
-        case SWT.ARROW_LEFT :
-          return navigateNextSibling(event, PositionConstants.WEST);
-        case SWT.ARROW_RIGHT :
-          return navigateNextSibling(event, PositionConstants.EAST);
-        case SWT.ARROW_UP :
-          return navigateNextSibling(event, PositionConstants.NORTH);
-        case SWT.ARROW_DOWN :
-          return navigateNextSibling(event, PositionConstants.SOUTH);
-        case SWT.HOME :
-          return navigateJumpSibling(event, PositionConstants.WEST);
-        case SWT.END :
-          return navigateJumpSibling(event, PositionConstants.EAST);
-        case SWT.PAGE_DOWN :
-          return navigateJumpSibling(event, PositionConstants.SOUTH);
-        case SWT.PAGE_UP :
-          return navigateJumpSibling(event, PositionConstants.NORTH);
-      }
-      return super.keyPressed(event);
-    }
-    private void navigateConnections(KeyEvent event)
-    {
-      GraphicalEditPart focus = getFocus();
-      ConnectionEditPart current = null;
-      GraphicalEditPart node = getCachedNode();
-      if (focus instanceof ConnectionEditPart)
-      {
-        current = (ConnectionEditPart) focus;
-        if (node == null
-          || (node != current.getSource() && node != current.getTarget()))
-        {
-          node = (GraphicalEditPart) current.getSource();
-          counter = 0;
-        }
-      }
-      else
-      {
-        node = focus;
-      }
-      setCachedNode(node);
-      boolean forward = event.character == '/' || event.character == '?';
-      ConnectionEditPart next = findConnection(node, current, forward);
-      navigateTo(next, event);
-    }
-    private void navigateIntoContainer(KeyEvent event)
-    {
-      GraphicalEditPart focus = getFocus();
-      List childList = focus.getChildren();
-
-      if (focus instanceof ExpandableGraphNodeEditPart)
-      {
-        if (!((ExpandableGraphNodeEditPart)focus).isExpanded())
-        {
-          ((ExpandableGraphNodeEditPart)focus).doPerformExpandOrCollapse();
-        }
-      }
-
-      Point tl = focus.getContentPane().getBounds().getTopLeft();
-      int minimum = Integer.MAX_VALUE;
-      int current;
-      GraphicalEditPart closestPart = null;
-      for (int i = 0; i < childList.size(); i++)
-      {
-        GraphicalEditPart ged = (GraphicalEditPart) childList.get(i);
-        Rectangle childBounds = ged.getFigure().getBounds();
-        current = (childBounds.x - tl.x) + (childBounds.y - tl.y);
-        if (current < minimum)
-        {
-          minimum = current;
-          closestPart = ged;
-        }
-      }
-      if (closestPart != null)
-        navigateTo(closestPart, event);
-    }
-    private boolean navigateJumpSibling(KeyEvent event, int direction)
-    {
-      return false;
-    }
-    private boolean navigateNextSibling(KeyEvent event, int direction)
-    {
-      GraphicalEditPart epStart = getFocus();
-      IFigure figure = epStart.getFigure();
-      Point pStart = getInterestingPoint(figure);
-      figure.translateToAbsolute(pStart);
-      EditPart next =
-        findSibling(getNavigationSiblings(), pStart, direction, epStart);
-      if (next == null)
-        return false;
-      navigateTo(next, event);
-      return true;
-    }
-    private void navigateOut(KeyEvent event)
-    {
-      if (getFocus() == null
-        || getFocus() == getViewer().getContents()
-        || getFocus().getParent() == getViewer().getContents())
-        return;
-
-      EditPart parent = getFocus().getParent();
-      if (((event.stateMask & SWT.ALT) != 0) && (event.keyCode == SWT.ARROW_LEFT))
-      {
-        if ((parent != null) && (parent instanceof ExpandableGraphNodeEditPart))
-        {
-          if (((ExpandableGraphNodeEditPart)parent).isExpanded())
-          {
-            ((ExpandableGraphNodeEditPart)parent).doPerformExpandOrCollapse();
-          }
-        }
-      }
-      navigateTo(parent, event);
-//      navigateTo(getFocus().getParent(), event);
-    }
-    private void navigateOutOfConnection(KeyEvent event)
-    {
-      GraphicalEditPart cached = getCachedNode();
-      ConnectionEditPart conn = (ConnectionEditPart) getFocus();
-      if (cached != null
-        && (cached == conn.getSource() || cached == conn.getTarget()))
-        navigateTo(cached, event);
-      else
-        navigateTo(conn.getSource(), event);
-    }
-    void navigateTo(EditPart part, KeyEvent event)
-    {
-      if (part == null)
-        return;
-      if ((event.stateMask & SWT.SHIFT) != 0)
-      {
-        getViewer().appendSelection(part);
-        getViewer().setFocus(part);
-      }
-      else if ((event.stateMask & SWT.CONTROL) != 0)
-        getViewer().setFocus(part);
-      else
-        getViewer().select(part);
-    }
-    private void processSelect(KeyEvent event)
-    {
-      EditPart part = getViewer().getFocusEditPart();
-      if ((event.stateMask & SWT.CONTROL) != 0
-        && part.getSelected() != EditPart.SELECTED_NONE)
-      {
-        getViewer().deselect(part);
-      }
-      else
-      {
-        getViewer().appendSelection(part);
-      }
-      getViewer().setFocus(part);
-    }
-    private void setCachedNode(GraphicalEditPart node)
-    {
-      if (node == null)
-        cachedNode = null;
-      else
-        cachedNode = new WeakReference(node);
-    }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDInheritanceViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDInheritanceViewer.java
deleted file mode 100644
index 71a8205..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDInheritanceViewer.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-             
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.SubstitutionGroupViewerRootEditPart;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class XSDInheritanceViewer extends BaseGraphicalViewer
-{               
-  protected SubstitutionGroupViewerRootEditPart inheritanceViewerRootEditPart;
-  public XSDInheritanceViewer(XSDEditor editor, ISelectionProvider menuSelectionProvider)
-  {
-    super(editor, menuSelectionProvider);       
-  }        
-
-  public void setInput(XSDConcreteComponent component)
-  {               
-    if (isInputEnabled)
-    {
-      input = null;         
-
-      if (component instanceof XSDSchema ||
-          component instanceof XSDComplexTypeDefinition)
-      {            
-        input = component;
-      }
-      
-      inheritanceViewerRootEditPart.setInput(input);       
-    }
-  }     
-
-  public void setSelection(XSDConcreteComponent component)
-  {                    
-    if (isSelectionEnabled)
-    {                      
-      //System.out.println("XSDComponentViewer.setSelection(" + component + ")");
-      List editPartList = new ArrayList();    
-      StructuredSelection selection = new StructuredSelection();
-      if (component instanceof XSDElementDeclaration || 
-          component instanceof XSDSchema ||
-          component instanceof XSDModelGroup ||        
-          component instanceof XSDModelGroupDefinition ||
-          component instanceof XSDComplexTypeDefinition)
-      {                     
-        if (component != null)
-        {
-          EditPart editPart = getEditPart(inheritanceViewerRootEditPart, component);    
-          if (editPart != null)
-          { 
-            // TODO ... take a look at this to figure our why a newly added component
-            // seems to have the wrong bounds at this point... is this a layout issue?           
-            // As a temp hack I'm ignoring the selection of component with bounds (x, y) == (0, 0)
-            // Perhaps a delayed selection is required?
-            Rectangle bounds = ((GraphicalEditPart)editPart).getFigure().getBounds();
-            if (bounds.x > 0 || bounds.y > 0)
-            {
-              editPartList.add(editPart); 
-            }
-          } 
-        }    
-      }              
-      setSelection(new StructuredSelection(editPartList));
-    }
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#hookControl()
-   */
-  protected void hookControl()
-  {
-    super.hookControl();
-    inheritanceViewerRootEditPart = new SubstitutionGroupViewerRootEditPart();
-    setContents(inheritanceViewerRootEditPart);
-  }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupChildUtility.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupChildUtility.java
deleted file mode 100644
index 9fa84bd..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupChildUtility.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.xsd.XSDElementDeclaration;
-
-/**
- * @author ernest
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class XSDSubstitutionGroupChildUtility
-{
-
-  /**
-   * @param declaration
-   * @return List
-   */
-  public static List getModelChildren(XSDElementDeclaration declaration)
-  {
-    ArrayList children = new ArrayList();
-    List substitutionGroup = declaration.getSubstitutionGroup();
-    for (int i = 0, size = substitutionGroup.size(); i < size; i++)
-    {
-      XSDElementDeclaration element = (XSDElementDeclaration) substitutionGroup.get(i);
-      if (declaration.equals(element.getSubstitutionGroupAffiliation()))
-      {
-        children.add(element);
-      }
-    }
-    return children;
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupsViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupsViewer.java
deleted file mode 100644
index 5598fdf..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDSubstitutionGroupsViewer.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph;
-             
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.SubstitutionGroupViewerRootEditPart;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class XSDSubstitutionGroupsViewer extends BaseGraphicalViewer
-{               
-  protected SubstitutionGroupViewerRootEditPart subGroupViewerRootEditPart;
-  public XSDSubstitutionGroupsViewer(XSDEditor editor, ISelectionProvider menuSelectionProvider)
-  {
-    super(editor, menuSelectionProvider);       
-  }        
-
-  public void setInput(XSDConcreteComponent component)
-  {               
-    if (isInputEnabled)
-    {
-      input = null;         
-
-      if (component instanceof XSDElementDeclaration || 
-          component instanceof XSDSchema)
-      {            
-        input = component;
-      }
-      
-      subGroupViewerRootEditPart.setInput(input);       
-    }
-  }     
-
-  public void setSelection(XSDConcreteComponent component)
-  {                    
-    if (isSelectionEnabled)
-    {                      
-      //System.out.println("XSDComponentViewer.setSelection(" + component + ")");
-      List editPartList = new ArrayList();    
-      StructuredSelection selection = new StructuredSelection();
-      if (component instanceof XSDElementDeclaration || 
-          component instanceof XSDSchema ||
-          component instanceof XSDModelGroup ||        
-          component instanceof XSDModelGroupDefinition ||
-          component instanceof XSDComplexTypeDefinition)
-      {                     
-        if (component != null)
-        {
-          EditPart editPart = getEditPart(subGroupViewerRootEditPart, component);    
-          if (editPart != null)
-          { 
-            // TODO ... take a look at this to figure our why a newly added component
-            // seems to have the wrong bounds at this point... is this a layout issue?           
-            // As a temp hack I'm ignoring the selection of component with bounds (x, y) == (0, 0)
-            // Perhaps a delayed selection is required?
-            Rectangle bounds = ((GraphicalEditPart)editPart).getFigure().getBounds();
-            if (bounds.x > 0 || bounds.y > 0)
-            {
-              editPartList.add(editPart); 
-            }
-          } 
-        }    
-      }              
-      setSelection(new StructuredSelection(editPartList));
-    }
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#hookControl()
-   */
-  protected void hookControl()
-  {
-    super.hookControl();
-    subGroupViewerRootEditPart = new SubstitutionGroupViewerRootEditPart();
-    setContents(subGroupViewerRootEditPart);
-  }
-
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/BaseEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/BaseEditPart.java
deleted file mode 100644
index f98da1a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/BaseEditPart.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                 
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.model.ModelAdapterListener;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-
-
-public abstract class BaseEditPart extends AbstractGraphicalEditPart implements ModelAdapterListener, GraphicsConstants, IFeedbackHandler
-{
-	protected boolean isSelected = false;
-	/**
-	 * Activates the <code>EditPart</code> by setting the
-	 * appropriate flags, and activating its children.
-	 * activation signals to the EditPart that is should start observing
-	 * it's model, and that is should support editing at this time.
-	 * An EditPart will have a parent prior to activiation.
-	 * @see #deactivate()
-	 */
-	public void activate() 
-  {
-		super.activate();         
-    XSDModelAdapterFactory.addModelAdapterListener(getModel(), this);  
-	}
-	/** 
-	 * Apart from the deactivation done in super, the source
-	 * and target connections are deactivated, and the visual
-	 * part of the this is removed.
-	 *
-	 * @see #activate() 
-	 */
-	public void deactivate() 
-  {
-    XSDModelAdapterFactory.removeModelAdapterListener(getModel(), this);  
-		super.deactivate();
-	}   
-    
-  protected void createEditPolicies() 
-  {
-  }  
-
-  protected EditPart createChild(Object model) 
-  {
-    return XSDEditPartFactory.getInstance().createEditPart(this, model);
-  } 
-
-  public void propertyChanged(Object object, String property)
-  {                                                                                                  
-    refresh(); 
-  }    
-
-  //public BaseGraphicalViewer getBaseGraphicalViewer()
-  //{
-  //  return (BaseGraphicalViewer)getViewer();
-  //}
-
-  public IFigure getSelectionFigure()
-  {
-    return getFigure();
-  }
-  
-  
-  public void addFeedback()
-  {
-    isSelected = true;
-    refreshVisuals();
-  }
-
-  public void removeFeedback()
-  {
-    isSelected = false;
-    refreshVisuals();
-  }  
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java
deleted file mode 100644
index afffaad..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/CategoryEditPart.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                           
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.ScrollPane;
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.draw2d.ViewportLayout;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-
-
-public class CategoryEditPart extends BaseEditPart
-{
-  protected ScrollPane scrollpane;
-  protected Label label;
-  protected ContainerFigure outerPane, r;
-  protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
-
-  public int getType()
-  {
-    return ((Category)getModel()).getGroupType();
-  }
-
-  protected IFigure createFigure()
-  {           
-    outerPane = new ContainerFigure();    
-    outerPane.setBorder(new RoundedLineBorder(1, 6));
-    outerPane.setForegroundColor(categoryBorderColor);
-
-    r = new ContainerFigure();  
-    r.setOutline(false);
-    r.setMinimumSize(new Dimension(0, 0));
-    r.setFill(true);
-    r.setBackgroundColor(GraphicsConstants.elementBackgroundColor);
-    outerPane.add(r);
-    
-    int minHeight = 250;
-    switch (getType())
-    {
-    	case Category.DIRECTIVES :
-		case Category.NOTATIONS :
-		{
-			minHeight = 50;
-			break;	
-		}
-		case Category.ATTRIBUTES :
-		case Category.GROUPS :		  
-		{
-			minHeight = 100;
-			break;
-		}
-    }
-    
-	final int theMinHeight = minHeight;
-    FillLayout outerLayout = new FillLayout()
-    {
-      protected Dimension calculatePreferredSize(IFigure parent, int width, int height)
-      {
-        Dimension d = super.calculatePreferredSize(parent, width, height);
-        d.union(new Dimension(100, theMinHeight));
-        return d;
-      }
-    };
-    //outerLayout.setHorizontal(false);
-    outerPane.setLayoutManager(outerLayout);
-    
-   
-    label = new Label();
-    label.setForegroundColor(ColorConstants.black);
-    label.setBorder(new MarginBorder(2, 4, 2, 4));
-    r.add(label); //Holder);
-
-    RectangleFigure line = new RectangleFigure();
-    line.setPreferredSize(20, 1);
-    outerPane.add(line);
-
-
-    scrollpane = new ScrollPane();
-    scrollpane.setForegroundColor(ColorConstants.black);
-    scrollpane.setVerticalScrollBarVisibility(ScrollPane.AUTOMATIC); //ScrollPane.ALWAYS);
-    outerPane.add(scrollpane);
-
-    ContainerFigure pane = new ContainerFigure();
-    pane.setBorder(new MarginBorder(5, 8, 5, 8));
-    ContainerLayout layout = new ContainerLayout();
-    layout.setHorizontal(false);
-    layout.setSpacing(0);
-    pane.setLayoutManager(layout);
-
-    Viewport viewport = new Viewport();
-    viewport.setContentsTracksHeight(true);
-    ViewportLayout viewportLayout = new ViewportLayout()
-    {
-      protected Dimension calculatePreferredSize(IFigure parent, int width, int height)
-      {
-        Dimension d = super.calculatePreferredSize(parent, width, height);
-        d.height = Math.min(d.height, theMinHeight - 25); //getViewer().getControl().getBounds().height);
-        return d;
-      }
-    };
-    viewport.setLayoutManager(viewportLayout);
-
-    scrollpane.setViewport(viewport);
-    scrollpane.setContents(pane);
-
-    return outerPane;
-  }  
-
-  protected List getModelChildren() 
-  {            
-    return ((Category)getModel()).getChildren();
-  }  
-        
-  public void refreshVisuals()
-  {
-    outerPane.setBorder(new RoundedLineBorder(isSelected ? ColorConstants.black : categoryBorderColor, isSelected ? 1 : 1, 6));
-    outerPane.repaint();
-// Uncomment this for coloured titles
-//    r.setBackgroundColor(isSelected ? ColorConstants.blue : GraphicsConstants.elementBackgroundColor);
-//    label.setForegroundColor(isSelected ? ColorConstants.white : ColorConstants.black);
-//    r.repaint();
-//    outerPane.setForegroundColor(isSelected ? ColorConstants.black : elementBorderColor);
-    
-    Category category = (Category)getModel();
-    // temp hack --- added empty space to make the min width of groups bigger  
-    label.setText("  " + category.getName() + "                                                    ");
-  } 
-  
-  public ScrollPane getScrollPane()
-  {
-    return scrollpane;
-  }
-  
-  public IFigure getContentPane()
-  {
-    return scrollpane.getContents();
-  }  
-
-  public void scrollTo(AbstractGraphicalEditPart topLevel)
-  {
-    Rectangle topLevelBounds = topLevel.getFigure().getBounds();
-    Rectangle categoryBounds = getFigure().getBounds();
-    int scrollValue = scrollpane.getVerticalScrollBar().getValue();
-    int location = topLevelBounds.y + scrollValue - categoryBounds.y;
-    scrollpane.scrollVerticalTo(location - categoryBounds.height/2);
-  }
-
-  protected EditPart createChild(Object model)
-  {
-    EditPart editPart = new TopLevelComponentEditPart();
-    editPart.setModel(model);
-    editPart.setParent(this);
-    return editPart;
-  }
-  
-  protected void createEditPolicies()
-  { 
-    selectionHandlesEditPolicy = new SelectionHandlesEditPolicyImpl();
-    installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, selectionHandlesEditPolicy);   
-  }  
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java
deleted file mode 100644
index daac88d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeDefinitionEditPart.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                      
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.CenteredIconFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-
-              
-
-public class ComplexTypeDefinitionEditPart extends GraphNodeEditPart
-{
-  protected ContainerFigure contentFigure;   
-  protected Label label;     
-  protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-  protected CenteredIconFigure centeredIconFigure;  
-  protected RectangleFigure preceedingSpace;  
-  protected ContainerFigure contentPane;
-
-  public XSDComplexTypeDefinition getXSDComplexTypeDefinition()
-  {         
-    return (XSDComplexTypeDefinition)getModel();
-  }  
-
-  protected boolean isConnectedEditPart()
-  {
-    return false;
-  } 
-
-  protected GraphNodeFigure createGraphNodeFigure()  
-  {
-    XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)getModel();
-    GraphNodeFigure figure = new GraphNodeFigure();
-
-    figure.getOutlinedArea().setBorder(new RoundedLineBorder(1, 6));
-    figure.getOutlinedArea().setFill(true);
-    figure.getOutlinedArea().setLayoutManager(new FillLayout(true));
-
-    figure.getInnerContentArea().getContainerLayout().setHorizontal(true);
-
-    preceedingSpace = new RectangleFigure();
-    preceedingSpace.setVisible(false);
-    figure.getInnerContentArea().add(preceedingSpace, 0);
-
-    contentPane = new ContainerFigure();
-    contentPane.getContainerLayout().setHorizontal(false); 
-    contentPane.getContainerLayout().setSpacing(5);   
-    contentPane.setBorder(new MarginBorder(5, 5, 5, 5));
-    figure.getInnerContentArea().add(contentPane);
-    
-    label = new Label();    
-    label.setBorder(new MarginBorder(0, 5, 5, 5));
-    figure.getIconArea().add(label);     
-    label.setFont(mediumBoldFont);
- 
-    figure.getInnerContentArea().getContainerLayout().setSpacing(5);   
-    figure.getInnerContentArea().setBorder(new MarginBorder(5, 5, 5, 5));
-    
-    return figure;
-  }      
-                                                                    
-  protected EditPart createChild(Object model) 
-  {   
-    EditPart editPart = null;                                     
-    if (model == getModel())
-    {
-      editPart = new ComplexTypeInheritedContentEditPart();
-      editPart.setModel(model);
-      editPart.setParent(this);
-    }
-    else
-    {
-      editPart = super.createChild(model);
-    }            
-    return editPart;
-  } 
-
-  protected List getModelChildren() 
-  {                           
-    List list = new ArrayList();
-
-    XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)getModel();
-
-    if (ct.getDerivationMethod().getName().equals("extension"))
-    {
-      list.add(getModel());
-    }  
-
-    list.addAll(XSDChildUtility.getModelChildren(getModel()));
-    return list;
-  }
-
-  public IFigure getContentPane()  
-  {
-    return contentPane;
-  }
-                        
-  protected void refreshVisuals()
-  { 
-    XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)getModel();                   
-
-    String name = ctd.getName();
-    if (name == null)
-    {
-      try
-      {
-        if (label != null)
-        {
-          graphNodeFigure.getIconArea().remove(label);
-        }
-        label = null;
-      }
-      catch (Exception e)
-      {
-      }
-    }
-    else
-    {
-      if (label == null)
-      {
-        label = new Label();    
-        label.setBorder(new MarginBorder(0, 5, 5, 5));
-        ((GraphNodeFigure)getFigure()).getIconArea().add(label);     
-        label.setFont(mediumBoldFont);
-      }
-      graphNodeFigure.getIconArea().add(label);
-      label.setText(name);
-    }
-
-    // provides some room if we need to draw lines for the inherited
-    boolean includesInheritedContent = getModelChildren().contains(getModel());
-    preceedingSpace.setPreferredSize(includesInheritedContent ? new Dimension(10, 1) : new Dimension(0, 0));
-
-    if (XSDGraphUtil.isEditable(getModel()))
-    { 
-      graphNodeFigure.setForegroundColor(isSelected ? ColorConstants.black : elementBorderColor);
-      if (label != null)
-      label.setForegroundColor(elementBorderColor);
-    }
-    else
-    {
-      graphNodeFigure.setForegroundColor(isSelected ? ColorConstants.black : readOnlyBorderColor);
-      if (label != null)
-      label.setForegroundColor(readOnlyBorderColor);
-    }
-  }
-             
-  protected void performDirectEdit()
-  {  
-    ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDComplexTypeDefinition)getModel());   
-    simpleDirectEditPolicy.setDelegate(manager);
-    manager.show();
-  }    
-            
-
-  protected void createEditPolicies()
-  {  
-    super.createEditPolicies();
-  	installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
-  } 
-       
-
-  public void performRequest(Request request)
-  {
-  	if (request.getType() == RequestConstants.REQ_DIRECT_EDIT ||
-        request.getType() == RequestConstants.REQ_OPEN)
-    {     
-      if (XSDGraphUtil.isEditable(getModel()))
-      {                 
-        LocationRequest locationRequest = (LocationRequest)request;
-        Point p = locationRequest.getLocation();
-        
-        if (label != null && hitTest(label, p))
-        {
-  		    performDirectEdit();
-        }
-      }
-    }
-  }
-  
-  public void doEditName()
-  {
-    performDirectEdit();
-  }
-} 
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java
deleted file mode 100644
index cfa8811..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComplexTypeInheritedContentEditPart.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-
-// This is a dashed box that displays the inherited content of a complex type
-//
-public class ComplexTypeInheritedContentEditPart extends BaseEditPart
-{
-  protected Label label;     
-  protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-  protected boolean isParentExpanded;
-               
-  public ComplexTypeInheritedContentEditPart()
-  {
-    super();
-  }   
-                 
-  public XSDComplexTypeDefinition getXSDComplexTypeDefinition()
-  {         
-    return (XSDComplexTypeDefinition)getModel();
-  }
-                  
-  protected IFigure createFigure()
-  {                            
-    ContainerFigure figure = new ContainerFigure();
-    figure.getContainerLayout().setHorizontal(false);
-    figure.getContainerLayout().setBorder(5);
-    figure.getContainerLayout().setSpacing(5);
-    figure.setBorder(new RoundedLineBorder(ColorConstants.gray, 1, 6, Graphics.LINE_DASH));
-    return figure;
-  }    
-           
-  protected List getModelChildren() 
-  {                                              
-    XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)getModel();
-
-    List list = new ArrayList();
-
-    if (ct.getDerivationMethod().getName().equals("extension") && !isParentExpanded)
-    {
-      XSDTypeDefinition type = ct.getBaseTypeDefinition();
-      Iterator iter = XSDChildUtility.getModelChildren(type).iterator();
-      boolean cont = true;
-      while (cont)
-      {
-        while (iter.hasNext())
-        {
-          list.add(0, iter.next());
-        }
-        
-        if (type instanceof XSDComplexTypeDefinition)
-        {
-          XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)type;
-          type = ctd.getBaseTypeDefinition();
-                    
-					// defect 264957 - workbench hangs when modifying complex content
-					// Since we don't filter out the current complexType from
-					// the combobox, we can potentially have an endless loop
-					if (ctd == type)
-					{
-						cont = false;
-						break;
-					}
-
-          if (ctd.getDerivationMethod().getName().equals("extension"))
-          {
-            iter = XSDChildUtility.getModelChildren(type).iterator();
-          }
-          else
-          {
-            cont = false;
-          }
-        }
-        else
-        {
-          cont = false;
-        }
-      }
-    }
-    return list;
-  }
-
-  protected void refreshVisuals()
-  { 
-    XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)getModel();
-    List children = getModelChildren();
-    figure.setVisible(children.size() > 0);   
-    // todo set preferredSize to 0 ?
-  }
-
-  protected void performDirectEdit()
-  {
-    // Why are we allowing direct editing when the label is null?
-    // Should remove the policy
-    if (label != null)
-    {
-      ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDComplexTypeDefinition)getModel());   
-      simpleDirectEditPolicy.setDelegate(manager);
-      manager.show();
-    }
-  }    
-            
-
-  protected void createEditPolicies()
-  {  
-    super.createEditPolicies();
-    installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
-  } 
-       
-
-  public void performRequest(Request request)
-  {
-    if (request.getType() == RequestConstants.REQ_DIRECT_EDIT)
-    {     
-      if (XSDGraphUtil.isEditable(getModel()))
-      {
-        performDirectEdit();
-      }
-    }
-  } 
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComponentViewerRootEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComponentViewerRootEditPart.java
deleted file mode 100644
index fa8d191..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ComponentViewerRootEditPart.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                      
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Panel;
-import org.eclipse.gef.EditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerLayout;
-
-              
-
-public class ComponentViewerRootEditPart extends BaseEditPart
-{
-  protected final static String MESSAGE_PLACE_HOLDER = "MESSAGE_PLACE_HOLDER";
-  protected Object input;              
-
-  public void setInput(Object input)
-  {
-    this.input = input;
-    refreshChildren();
-  }
-
-  protected IFigure createFigure()
-  {
-    Panel panel = new Panel();
-    ContainerLayout layout = new ContainerLayout();
-    layout.setBorder(60);
-    panel.setLayoutManager(layout);
-    return panel;
-  }   
-           
-
-  protected List getModelChildren() 
-  {               
-    List list = new ArrayList();
-    if (input != null)
-    {
-      list.add(input);
-    }
-    else
-    {
-      list.add(MESSAGE_PLACE_HOLDER);
-    }
-    return list;
-  }         
-
-  protected EditPart createChild(Object model) 
-  { 
-    EditPart editPart = null;
-    if (model == MESSAGE_PLACE_HOLDER)
-    {
-      editPart = new MessageEditPart();
-      editPart.setModel(model);
-    }
-    else
-    {
-      editPart = super.createChild(model);
-    }
-    return editPart;
-  } 
-
-  protected void createEditPolicies()
-  {  
-  }             
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java
deleted file mode 100644
index 8646771..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ElementDeclarationEditPart.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                   
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionDialog;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDSetTypeHelper;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.SpacingFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDSubstitutionGroupChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDSubstitutionGroupsViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComboBoxCellEditorManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.w3c.dom.Element;
-
-              
-
-public class ElementDeclarationEditPart extends ExpandableGraphNodeEditPart
-{
-  public Label label;  
-  protected Label contentIconLabel;
-  protected Label typeValueLabel;
-  protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-  protected boolean isContentIconLabelSelected = false;
-
-  protected final static String ELEMENT_TYPE_PLACE_HOLDER = "ELEMENT_TYPE_PLACE_HOLDER";
-
-  public XSDParticle getXSDParticle()
-  {
-    Object o = getXSDElementDeclaration().getContainer(); 
-    return (o instanceof XSDParticle) ? (XSDParticle)o : null;
-  }        
-
-  public XSDElementDeclaration getXSDElementDeclaration()
-  {         
-    return (XSDElementDeclaration)getModel();
-  }
-     
-  protected boolean isDefaultExpanded()
-  {
-    // hack to expand up to its content.  The previous test didn't appear to work
-    int depth = 0;
-    for (EditPart part = this; part != null; part = part.getParent())
-    {
-      depth++;
-    }      
-    return depth <= 3;
-  }
-                     
-  protected GraphNodeFigure createGraphNodeFigure()
-  {
-    ExpandableGraphNodeFigure figure = new ExpandableGraphNodeFigure();
-
-    figure.getOutlinedArea().setFill(true);
-    figure.getOutlinedArea().setLayoutManager(new FillLayout());
-
-    label = new Label();    
-    figure.getIconArea().add(label);     
-    label.setFont(mediumBoldFont);
-    
-    SpacingFigure spacingFigure = new SpacingFigure();
-    figure.getIconArea().add(spacingFigure);
-    
-    contentIconLabel = new Label();
-    //contentIcon.setBorder(new MarginBorder(2, 2, 2, 10));
-    figure.getIconArea().add(contentIconLabel);
-
-    // A sneaky null check.... getViewer() does a getRoot(), but getRoot() might be null
-    // same with getParent()
-    if (getParent() != null && getRoot() != null && getViewer() instanceof XSDSubstitutionGroupsViewer)
-    {
-      figure.getOuterContentArea().getContainerLayout().setSpacing(5);
-    }
-    else
-    {  
-      RectangleFigure line = new RectangleFigure();
-      line.setPreferredSize(20, 1);   
-      figure.getOutlinedArea().add(line, 1);
-
-      figure.getInnerContentArea().setLayoutManager(new FillLayout(2));
-      figure.getInnerContentArea().setBorder(new MarginBorder(2,2,2,1));
-
-      ContainerFigure labelGroup = new ContainerFigure();   
-      Label typeLabel = new Label("type");
-      labelGroup.add(typeLabel);
-      labelGroup.setBorder(new MarginBorder(0, 4, 0, 4));      
-
-      Label equalsLabel = new Label(" = ");
-      labelGroup.add(equalsLabel);
-
-      typeValueLabel = new Label();                         
-      labelGroup.add(typeValueLabel);
-      figure.getOutlinedArea().add(labelGroup, 2);
-    }
-    return figure;
-  }          
-
-  protected ExpandableGraphNodeFigure getExpandableGraphNodeFigure()
-  {
-    return (ExpandableGraphNodeFigure)graphNodeFigure;
-  }                                            
-                    
-  protected List getModelChildren() 
-  {
-    XSDTypeDefinition typeDef = getXSDElementDeclaration().getTypeDefinition();
-    
-    // Special case simple type.   Need to add it to the list as well
-    List list = new ArrayList();
-    if (typeDef instanceof XSDSimpleTypeDefinition)
-    {
-      list.add((XSDSimpleTypeDefinition)typeDef);
-      if (getExpandableGraphNodeFigure().isExpanded())
-      {
-        list.addAll(getModelChildrenHelper());
-      }
-      return list;
-    }
-    return getExpandableGraphNodeFigure().isExpanded() ? getModelChildrenHelper() : Collections.EMPTY_LIST;
-  }  
-                       
-  protected List getModelChildrenHelper()
-  {
-    if (getViewer() instanceof XSDSubstitutionGroupsViewer)
-    {
-      return XSDSubstitutionGroupChildUtility.getModelChildren(getXSDElementDeclaration().getResolvedElementDeclaration());
-    }
-    else
-    {
-      return XSDChildUtility.getModelChildren(getXSDElementDeclaration().getResolvedElementDeclaration());
-    }
-  }           
-                
-  protected void refreshContentIcon()
-  {
-    String iconName = null;
-    XSDTypeDefinition td = getXSDElementDeclaration().getResolvedElementDeclaration().getTypeDefinition();
-
-    if (td instanceof XSDComplexTypeDefinition)
-    {
-      XSDComplexTypeDefinition complexTypeDefinition = (XSDComplexTypeDefinition)td;
-      if (complexTypeDefinition.getAttributeUses().size() > 0)
-      {
-        iconName = "icons/XSDAttribute.gif";  
-      }  
-    }  
-    Image image = iconName != null ? XSDEditorPlugin.getXSDImage(iconName) : null;
-    contentIconLabel.setIcon(image);    
-  }
-
-  protected void refreshVisuals()
-  { 
-    String text = getXSDElementDeclaration().isElementDeclarationReference() ?
-                  getXSDElementDeclaration().getResolvedElementDeclaration().getQName(getXSDElementDeclaration().getSchema()) :
-                  getXSDElementDeclaration().getName();
-
-    label.setText(text);
-    
-    ContainerFigure rectangle = graphNodeFigure.getOutlinedArea();
-    if (XSDGraphUtil.isEditable(getXSDElementDeclaration()))
-    {
-      rectangle.setBorder(new LineBorder(isSelected ? ColorConstants.black : elementBorderColor, 2));
-      rectangle.setBackgroundColor(elementBackgroundColor);
-      rectangle.setForegroundColor(elementBorderColor);
-      
-      graphNodeFigure.getInnerContentArea().setForegroundColor(ColorConstants.black);
-      if (XSDGraphUtil.isEditable(getXSDElementDeclaration().getResolvedElementDeclaration()))
-      { 
-        // give label 'editable' colour
-        graphNodeFigure.getInnerContentArea().setForegroundColor(elementLabelColor);    
-      }
-      else
-      {   
-        // give label 'read only' colour
-        graphNodeFigure.getInnerContentArea().setForegroundColor(elementBorderColor);
-      }
-      label.setBackgroundColor(elementBackgroundColor);
-      label.setForegroundColor(elementLabelColor);
-    }
-    else
-    {
-      rectangle.setBorder(new LineBorder(isSelected ? ColorConstants.black : readOnlyBorderColor, 2));
-      rectangle.setBackgroundColor(readOnlyBackgroundColor);
-      rectangle.setForegroundColor(readOnlyBorderColor);
-      graphNodeFigure.getInnerContentArea().setForegroundColor(readOnlyBorderColor);     
-      label.setBackgroundColor(readOnlyBackgroundColor);
-    }
-                                                                                   
-    if (getXSDElementDeclaration().isElementDeclarationReference())
-    {
-      label.setIcon(XSDEditorPlugin.getXSDImage("icons/GraphViewElementRef.gif"));
-      label.setBorder(new MarginBorder(0, 0, 0, 4)); 
-    }
-    else
-    {                     
-      label.setIcon(null);
-      label.setBorder(new MarginBorder(0, 6, 0, 4));
-    }
-    
-    if (getXSDParticle() != null)
-    { 
-      refreshOccurenceLabel(getXSDParticle().getMinOccurs(), getXSDParticle().getMaxOccurs());
-    }                      
-     
-   
-    if (typeValueLabel != null)
-    {
-      XSDElementDeclaration ed = getXSDElementDeclaration();
-      if (ed.getElement() != null)
-      {
-        String type = ed.getElement().getAttribute("type");
-        if (type == null)
-        {
-          type = "";
-        }
-        if (!getXSDElementDeclaration().isElementDeclarationReference())
-				{   
-          typeValueLabel.setText(type.equals("") ? "<anonymous>" : type);
-				}
-        else // if it is a ref, we show the resolved type
-        {
-        	String resolvedType = "";
-        	if (ed.getResolvedElementDeclaration() != null)
-        	{
-        		if (ed.getResolvedElementDeclaration().getTypeDefinition() != null)
-        	  {
-        	    resolvedType = ed.getResolvedElementDeclaration().getTypeDefinition().getQName(ed.getSchema());
-              
-              // if null, it has an anonymous type that has no resolved type
-              if (resolvedType == null)
-              {
-                resolvedType = "<anonymous>";
-              }
-        	  }
-        	}
-          typeValueLabel.setText(resolvedType);
-				}
-      }
-    }
-    refreshContentIcon();
-  } 
- 
-                                                                        
-  public void performRequest(Request request)
-  {
-  	if (request.getType() == RequestConstants.REQ_DIRECT_EDIT ||
-        request.getType() == RequestConstants.REQ_OPEN)
-    {                                        
-      if (XSDGraphUtil.isEditable(getXSDElementDeclaration()))
-      {
-        if (request instanceof LocationRequest)
-        {
-          LocationRequest locationRequest = (LocationRequest)request;
-          Point p = locationRequest.getLocation();
-          isContentIconLabelSelected = false;
-          
-          if (hitTest(label, p))
-          {
-  		      performDirectEditForLabel();
-          }
-          else if (hitTest(typeValueLabel, p))
-          {                             
-   		      performDirectEditForTypeValueLabel();
-          }
-        }
-      }
-    }
-  } 
-         
-  private void performDirectEditForTypeValueLabel()
-  {
-		if (!getXSDElementDeclaration().isElementDeclarationReference())
-		{    
-//      TypeReferenceDirectEditManager manager = new TypeReferenceDirectEditManager(this, getXSDElementDeclaration(), typeValueLabel);   
-//      simpleDirectEditPolicy.setDelegate(manager);
-//      manager.show();
-//TODO remove TypeReferenceDirectEditManager since it is not used any longer
-            
-            Shell shell = Display.getCurrent().getActiveShell();
-            IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
-            IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-            IEditorPart editorPart = workbenchWindow.getActivePage().getActiveEditor();
-            IFile currentIFile = ((IFileEditorInput)editorPart.getEditorInput()).getFile();
-            
-            XSDSchema schema = getXSDElementDeclaration().getSchema();
-                
-            XSDComponentSelectionProvider provider = new XSDComponentSelectionProvider(currentIFile, schema);
-            XSDComponentSelectionDialog dialog = new XSDComponentSelectionDialog(shell, "Set Type", provider);  // TODO: Externalize This
-            provider.setDialog(dialog);
-            
-            dialog.setBlockOnOpen(true);
-            dialog.create();
-
-            if (dialog.open() == Window.OK) {
-                Element element = getXSDElementDeclaration().getElement();
-                XSDSetTypeHelper helper = new XSDSetTypeHelper(currentIFile, schema);
-                helper.setType(element, "type", dialog.getSelection());
-            }        
-
-            
-		}
-		// just ignore type edit for element ref's
-  }                                                                
-
-                                                       
-  private void performDirectEditForLabel()
-  {    
-    if (getXSDElementDeclaration().isElementDeclarationReference())   
-    {
-      ComboBoxCellEditorManager manager = new ComboBoxCellEditorManager(this, label)
-      {
-         protected List computeComboContent()
-         {             
-           XSDSchema schema = getXSDElementDeclaration().getSchema();
-           List globalElementNameList = new ArrayList();
-           if (schema != null)
-           {
-             TypesHelper typesHelper = new TypesHelper(schema);
-             globalElementNameList = typesHelper.getGlobalElements();
-           }                                           
-           return globalElementNameList;
-         }
-
-         public void performModify(String value)
-         { 
-           getXSDElementDeclaration().getElement().setAttribute("ref", value);
-         }
-      };
-      simpleDirectEditPolicy.setDelegate(manager);
-      manager.show();
-    }
-    else
-    {
-      ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, getXSDElementDeclaration());   
-      simpleDirectEditPolicy.setDelegate(manager);
-      manager.show();
-    }
-  }                                
-  
-
-  protected void createEditPolicies()
-  {  
-    super.createEditPolicies();
-  	installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
-  }
-  
-  
-  public void activate() 
-  {
-    super.activate();
-    if (getXSDParticle() != null)
-    {
-      XSDModelAdapterFactory.addModelAdapterListener(getXSDParticle(), this);
-    }
-  }
-  /** 
-   * Apart from the deactivation done in super, the source
-   * and target connections are deactivated, and the visual
-   * part of the this is removed.
-   *
-   * @see #activate() 
-   */
-  public void deactivate() 
-  {
-    if (getXSDParticle() != null)
-    {
-      XSDModelAdapterFactory.removeModelAdapterListener(getXSDParticle(), this);
-    }
-    super.deactivate();
-  }   
-
-  public boolean isContentIconLabelSelected()
-  {
-    return isContentIconLabelSelected;
-  }
-
-  protected void addChildVisual(EditPart childEditPart, int index)
-  {
-    IFigure child = ((GraphicalEditPart)childEditPart).getFigure();
-    if (childEditPart instanceof SimpleTypeDefinitionEditPart)
-    {
-      graphNodeFigure.getIconArea().add(child, index+ 1);
-      SpacingFigure spacingFigure = new SpacingFigure();
-      graphNodeFigure.getIconArea().add(spacingFigure, index+1);
-    }
-    else
-    {
-      getContentPane().add(child, index);
-    }
-  }
-  
-  protected void removeChildVisual(EditPart childEditPart)
-  {
-    IFigure child = ((GraphicalEditPart)childEditPart).getFigure();
-    if (childEditPart instanceof SimpleTypeDefinitionEditPart)
-    {
-      graphNodeFigure.getIconArea().remove(child);
-    }    
-    else
-    {
-      super.removeChildVisual(childEditPart);
-    }
-  }
-
-  public void doEditName()
-  {
-    ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, getXSDElementDeclaration());
-    simpleDirectEditPolicy.setDelegate(manager);
-    manager.show();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ExpandableGraphNodeEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ExpandableGraphNodeEditPart.java
deleted file mode 100644
index 1ad4057..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ExpandableGraphNodeEditPart.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                        
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ActionEvent;
-import org.eclipse.draw2d.ActionListener;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.MouseEvent;
-import org.eclipse.draw2d.MouseListener;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-
-                  
-
-public abstract class ExpandableGraphNodeEditPart extends RepeatableGraphNodeEditPart implements MouseListener, ActionListener
-{
-  protected boolean needToPerformDefaultExpansion = true;
-   
-  protected GraphNodeFigure createGraphNodeFigure()
-  {
-    return new ExpandableGraphNodeFigure();     
-  }
-
-  protected void addGraphNodeFigureListeners()
-  {                                                                    
-    getExpandableGraphNodeFigure().getInteractor().addMouseListener(this); 
-  }  
-            
-  protected ExpandableGraphNodeFigure getExpandableGraphNodeFigure()
-  {
-    return (ExpandableGraphNodeFigure)graphNodeFigure;
-  } 
-
-  public IFigure getContentPane()  
-  {
-    return getExpandableGraphNodeFigure().getOuterContentArea();
-  }
-    
-  protected boolean isDefaultExpanded()
-  {
-    return false;
-  }
-
-  protected boolean hasChildren()
-  {
-    return getModelChildrenHelper().size() > 0;
-  }         
-
-  protected abstract List getModelChildrenHelper();
-      
-
-  protected List getModelChildren() 
-  {                                                                             
-    return getExpandableGraphNodeFigure().isExpanded() ? getModelChildrenHelper() : Collections.EMPTY_LIST;
-  }  
-
-  protected void refreshChildren()
-  {    
-    if (needToPerformDefaultExpansion && isDefaultExpanded())
-    {
-      needToPerformDefaultExpansion = false;   
-      performExpandOrCollapseHelper();
-
-      super.refreshChildren();
-
-      EditPart root = getRoot();
-      if (root instanceof AbstractGraphicalEditPart)
-      {         
-        getContentPane().setVisible(true); 
-                    
-        IFigure rootFigure = ((AbstractGraphicalEditPart)root).getFigure();
-        invalidateAll(rootFigure);
-        rootFigure.validate();
-        rootFigure.repaint();
-      }     
-      getExpandableGraphNodeFigure().getInteractor().repaint();
-    } 
-    else
-    {
-      super.refreshChildren(); 
-    }   
-    getExpandableGraphNodeFigure().getInteractor().setVisible(hasChildren());
-  }
-
-
-  protected void performExpandOrCollapseHelper()
-  {
-    boolean isButtonExpanded = !getExpandableGraphNodeFigure().isExpanded();
-    getExpandableGraphNodeFigure().setExpanded(isButtonExpanded);
-  }
-
-  public void doPerformExpandOrCollapse()
-  {
-    performExpandOrCollapse();
-  }  
-  
-  public boolean isExpanded()
-  {
-    return getExpandableGraphNodeFigure().isExpanded();
-  }
-
-  protected void performExpandOrCollapse()
-  {
-    performExpandOrCollapseHelper();                              
-
-    boolean isButtonExpanded = getExpandableGraphNodeFigure().isExpanded();
-
-    refreshChildren();
-
-    EditPart root = getRoot();
-    if (root instanceof AbstractGraphicalEditPart)
-    {         
-      getContentPane().setVisible(isButtonExpanded); 
-                       
-      IFigure rootFigure = ((AbstractGraphicalEditPart)root).getFigure();
-      invalidateAll(rootFigure);
-      rootFigure.validate();
-      rootFigure.repaint();
-    }      
-    getExpandableGraphNodeFigure().getInteractor().repaint();
-  }
-
-  
-  protected void refreshOccurenceLabel(int min, int max)
-  {
-    super.refreshOccurenceLabel(min, max);
-
-    // TODO: revisit the 'hack' to understand why we need to do this 
-    // in order to get the view to layout propetly
-    //
-    IFigure thisFigure = getFigure();
-    invalidateAll(thisFigure);
-    thisFigure.validate();
-    thisFigure.repaint();
-  }
-
-  protected void invalidateAll(IFigure figure)
-  {
-    figure.invalidate();   
-    LayoutManager manager = figure.getLayoutManager();
-    if (manager != null)
-    {
-      manager.invalidate();
-    }
-    for (Iterator i = figure.getChildren().iterator(); i.hasNext(); )
-    {
-      IFigure child = (IFigure)i.next();
-      invalidateAll(child);
-    }
-  } 
-
-  
-  // implements MouseListener
-  // 
-  public void mouseDoubleClicked(MouseEvent me) 
-  {
-  }
-
-  public void mousePressed(MouseEvent me) 
-  {                             
-    me.consume();
-    needToPerformDefaultExpansion = false;
-    performExpandOrCollapse();  
-  }
-
-  public void mouseReleased(MouseEvent me) 
-  {
-  } 
-
-  public void actionPerformed(ActionEvent event) 
-  {                      
-    performExpandOrCollapse();
-  }   
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/GraphNodeEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/GraphNodeEditPart.java
deleted file mode 100644
index ce6ad0a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/GraphNodeEditPart.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                        
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.ConnectedEditPartFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.GraphNodeDragTracker;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-
-              
-
-public abstract class GraphNodeEditPart extends BaseEditPart
-{
-  protected GraphNodeFigure graphNodeFigure;
-  protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
-                                 
-  protected boolean isConnectedEditPart()
-  {
-    return true;
-  }
-
-  protected IFigure createFigure()
-  {                           
-    IFigure result = graphNodeFigure = createGraphNodeFigure();    
-    addGraphNodeFigureListeners();
-
-    if (isConnectedEditPart())
-    {
-      ConnectedEditPartFigure connectedEditPartFigure = createConnectedEditPartFigure();                                    
-      connectedEditPartFigure.add(graphNodeFigure);
-      result = connectedEditPartFigure;
-    }
-    return result;
-  }       
-           
-  protected ConnectedEditPartFigure createConnectedEditPartFigure()
-  {
-    ConnectedEditPartFigure connectedEditPartFigure = new ConnectedEditPartFigure(this)
-    {
-      public IFigure getSelectionFigure()
-      {
-        return graphNodeFigure.getOutlinedArea();
-      }
-
-      public IFigure getConnectionFigure()
-      {
-        return graphNodeFigure.getConnectionFigure();
-      }
-    };
-    return connectedEditPartFigure;
-  }                                
-
-  protected abstract GraphNodeFigure createGraphNodeFigure();           
-  
-  protected void addGraphNodeFigureListeners()
-  {
-  }
- 
-  public IFigure getSelectionFigure()
-  {
-    return graphNodeFigure.getOutlinedArea();
-  }
-
-  public Rectangle getConnectionRectangle()
-  {
-    return graphNodeFigure.getConnectionRectangle();
-  }
-
-  protected void createEditPolicies()
-  { 
-    //installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new NonResizableEditPolicy());    
-    selectionHandlesEditPolicy = new SelectionHandlesEditPolicyImpl();
-    installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, selectionHandlesEditPolicy);   
-  }  
-
-  public DragTracker getDragTracker(Request request)
-  {
-    return new GraphNodeDragTracker((EditPart)this);
-  }   
-
- protected EditPart getApplicableEditPart(EditPart editPart, Point p)
-  {        
-    while (true)
-    {    
-      EditPart parent = null;
-      if (editPart instanceof GraphNodeEditPart)
-      {                                  
-        IFigure f = ((GraphNodeEditPart)editPart).getSelectionFigure();
-        if (!hitTest(f, p))
-        {                                 
-          parent = editPart.getParent();        
-        }             
-      }   
-
-      if (parent != null)
-      {
-        editPart = parent;
-      }                   
-      else
-      {
-        break;
-      }
-    }         
-    return editPart;
-  }
-
-  public EditPart getTargetEditPart(Request request)   
-  { 
-    EditPart editPart = null;
-    if (request.getType() == REQ_SELECTION)
-    {                                                                       
-      if (request instanceof LocationRequest)
-      {
-        LocationRequest locationRequest = (LocationRequest)request;
-        Point p = locationRequest.getLocation();
-        editPart = getApplicableEditPart(this, p);
-      }
-    }
-    return (editPart != null) ? editPart : super.getTargetEditPart(request);
-  }   
-
-  public boolean hitTest(IFigure target, Point location)
-  {
-    Rectangle b = target.getBounds().getCopy();
-    target.translateToAbsolute(b);  
-    return b.contains(location);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/IFeedbackHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/IFeedbackHandler.java
deleted file mode 100644
index 24a0537..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/IFeedbackHandler.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-
-public interface IFeedbackHandler
-{
-  public void addFeedback();
-  public void removeFeedback();
-}              
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/MessageEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/MessageEditPart.java
deleted file mode 100644
index bbb7f92..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/MessageEditPart.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                          
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-
-              
-
-public class MessageEditPart extends BaseEditPart
-{
-  public MessageEditPart()
-  {
-  }   
-  
-  protected IFigure createFigure()
-  {                            
-    Label label = new Label(XSDEditorPlugin.getXSDString("_UI_GRAPH_VIEW_NOT_AVAILABLE"));         
-    return label;
-  }    
-
-  protected List getModelChildren() 
-  {                  
-    return Collections.EMPTY_LIST;
-  }   
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java
deleted file mode 100644
index af5804a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupDefinitionEditPart.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                      
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComboBoxCellEditorManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RepeatableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-
-              
-public class ModelGroupDefinitionEditPart extends RepeatableGraphNodeEditPart
-{
-  protected Label label;     
-  protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-
-  public XSDModelGroupDefinition getXSDModelGroupDefinition()
-  {
-    return (XSDModelGroupDefinition)getModel();
-  } 
-
-  protected boolean isConnectedEditPart()
-  {
-    return false;
-  }          
-
-  public XSDParticle getXSDParticle()
-  {                    
-    Object o = getXSDModelGroupDefinition().getContainer();
-    return (o instanceof XSDParticle) ? (XSDParticle)o : null;
-  }
-             
-  protected GraphNodeFigure createGraphNodeFigure()
-  {
-    RepeatableGraphNodeFigure figure = new RepeatableGraphNodeFigure();                                                        
-    figure.getOutlinedArea().setBorder(new RoundedLineBorder(1, 6));
-    figure.getInnerContentArea().setBorder(new MarginBorder(10, 0, 10, 0));
-
-    label = new Label();    
-    label.setFont(mediumBoldFont); 
-    figure.getIconArea().add(label);     
-
-
-    return figure;
-  }  
- 
-  public IFigure getContentPane()  
-  {
-    return graphNodeFigure.getInnerContentArea();
-  }
-           
-  protected List getModelChildren() 
-  {                                             
-    return XSDChildUtility.getModelChildren(getModel());  
-  }
-
-  protected void createEditPolicies()
-  {     
-    super.createEditPolicies();
-  	installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
-  }             
-             
-  protected void refreshVisuals()
-  { 
-    super.refreshVisuals();                                                                
-  
-    if (getXSDModelGroupDefinition().isModelGroupDefinitionReference())
-    {
-      label.setText(getXSDModelGroupDefinition().getResolvedModelGroupDefinition().getQName());
-      label.setIcon(XSDEditorPlugin.getXSDImage("icons/GraphViewElementRef.gif"));
-      label.setBorder(new MarginBorder(0, 0, 0, 4)); 
-
-      // todo update occurence label
-      //
-    }
-    else
-    {               
-      label.setText(getXSDModelGroupDefinition().getName());      
-      label.setIcon(null);
-      label.setBorder(new MarginBorder(0, 6, 0, 4));
-    }
-                       
-    if (XSDGraphUtil.isEditable(getModel()))
-    { 
-      graphNodeFigure.getOutlinedArea().setForegroundColor(isSelected ? ColorConstants.black : elementBorderColor);
-      label.setForegroundColor(elementLabelColor);
-    }
-    else
-    {
-      graphNodeFigure.getOutlinedArea().setForegroundColor(readOnlyBackgroundColor);
-      label.setForegroundColor(readOnlyBackgroundColor);
-    }   
-
-    refreshOccurenceLabel(getXSDParticle());
-  }
- 
-
-  protected void performDirectEdit()
-  {              
-    if (getXSDModelGroupDefinition().isModelGroupDefinitionReference())
-    {
-      ComboBoxCellEditorManager manager = new ComboBoxCellEditorManager(this, label)
-      {
-         protected List computeComboContent()
-         {             
-           XSDSchema schema = getXSDModelGroupDefinition().getSchema();
-           List nameList = new ArrayList();
-           if (schema != null)
-           {
-             TypesHelper typesHelper = new TypesHelper(schema);
-             nameList = typesHelper.getModelGroups();
-           }                                           
-           return nameList;
-         }
-
-         public void performModify(String value)
-         {  
-           Display.getCurrent().asyncExec(new DelayedModelGroupRenameAction(getXSDModelGroupDefinition(), value));
-         }
-      };                                          
-      simpleDirectEditPolicy.setDelegate(manager);
-      manager.show();
-    }
-    else 
-    {
-      ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, getXSDModelGroupDefinition());           
-      simpleDirectEditPolicy.setDelegate(manager);
-      manager.show();
-    }
-  }  
-       
-
-  protected class DelayedModelGroupRenameAction implements Runnable
-  {
-     XSDModelGroupDefinition modelGroupDefinition;                                     
-     String value;
-
-     DelayedModelGroupRenameAction(XSDModelGroupDefinition modelGroupDefinition, String value)
-     {
-       this.modelGroupDefinition = modelGroupDefinition;
-       this.value = value;
-     }
-
-     public void run()
-     {
-       modelGroupDefinition.getElement().setAttribute("ref", value);
-     }
-  }
-    
-
-  public void performRequest(Request request)
-  {
-  	if (request.getType() == RequestConstants.REQ_DIRECT_EDIT)
-    {     
-      if (XSDGraphUtil.isEditable(getModel()))
-      {
-  		  performDirectEdit();
-      }
-    }
-  }    
- 
-  // TODO... I added this as a quick fix to makesure the title gets redrawn when the groupRef is changed
-  // we should probably fix the ModelListenerUtil to fire both call both 'change' methods for the ref property
-  //public void modelChildrenChanged()
-  //{   
-  //  super.modelChildrenChanged();                                              
-  //  refreshVisuals(); 
-  //} 
-
-  public void doEditName()
-  {
-    ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, getXSDModelGroupDefinition());           
-    simpleDirectEditPolicy.setDelegate(manager);
-    manager.show();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupEditPart.java
deleted file mode 100644
index b793eba..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/ModelGroupEditPart.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                          
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.DragAndDropEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.CenteredIconFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-
-              
-
-public class ModelGroupEditPart extends ExpandableGraphNodeEditPart
-{
-  protected CenteredIconFigure centeredIconFigure;
- 
-  protected static Color editableBackgroundColor = null;
-  protected static Color editableForegroundColor = null;
-  protected static Color nonEditableForegroundColor = null;
-
-  public XSDParticle getXSDParticle()
-  {                    
-    Object o = getXSDModelGroup().getContainer();
-    return (o instanceof XSDParticle) ? (XSDParticle)o : null;
-  }
-
-  public XSDModelGroup getXSDModelGroup()
-  {
-    return (XSDModelGroup)getModel();
-  }           
-
-  protected GraphNodeFigure createGraphNodeFigure()
-  {
-    ExpandableGraphNodeFigure figure = new ExpandableGraphNodeFigure();      
-
-    centeredIconFigure = new CenteredIconFigure();
-    centeredIconFigure.setPreferredSize(new Dimension(32, 20)); 
-    //centeredIconFigure.setBackgroundColor(new Color(Display.getCurrent(), 255, 0, 0)); 
-    figure.getIconArea().add(centeredIconFigure);   
-    //figure.getIconArea().setLayout(new CenterLayout());
-
-    ContainerFigure outlinedArea = figure.getOutlinedArea();                        
-    outlinedArea.setBorder(new RoundedLineBorder(1, 10));   
-    //outlinedArea.setPreferredSize(new Dimension(32, 20)); 
-                         
-    // set layout so that children are aligned vertically with some spacing
-    //
-    figure.getOuterContentArea().getContainerLayout().setHorizontal(false);  
-    figure.getOuterContentArea().getContainerLayout().setSpacing(10);
-
-    return figure;
-  }    
-
-  protected List getModelChildrenHelper()
-  {
-    return XSDChildUtility.getModelChildren(getXSDModelGroup());
-  }  
- 
-  protected void refreshVisuals()
-  {         
-    String iconName = "icons/XSDSequence.gif";    
-    switch (getXSDModelGroup().getCompositor().getValue())
-    {
-      case XSDCompositor.ALL   : { iconName = "icons/XSDAll.gif"; break; }
-      case XSDCompositor.CHOICE   : { iconName = "icons/XSDChoice.gif"; break; }
-      case XSDCompositor.SEQUENCE : { iconName = "icons/XSDSequence.gif"; break; }
-    }
-    centeredIconFigure.image = XSDEditorPlugin.getXSDImage(iconName);
-    centeredIconFigure.repaint();
-                                                          
-
-    ContainerFigure outlinedArea = graphNodeFigure.getOutlinedArea() ;    
-    if (XSDGraphUtil.isEditable(getXSDModelGroup()))
-    {
-      if (editableForegroundColor == null) 
-        editableForegroundColor = new Color(Display.getCurrent(), 120, 152, 184);
-
-      if (editableBackgroundColor == null) 
-        editableBackgroundColor = new Color(Display.getCurrent(), 232, 240, 248);
-       
-      outlinedArea.setForegroundColor(isSelected ? ColorConstants.black : editableForegroundColor);
-      outlinedArea.setBackgroundColor(editableBackgroundColor);
-    }
-    else
-    {                                          
-      if (nonEditableForegroundColor == null) 
-        nonEditableForegroundColor = new Color(Display.getCurrent(), 164, 164, 164);    
-        
-      outlinedArea.setForegroundColor(isSelected ? ColorConstants.black : nonEditableForegroundColor);
-      outlinedArea.setBackgroundColor(ColorConstants.white);
-    }  
-
-    refreshOccurenceLabel(getXSDParticle());
-  }        
-
-  protected boolean isChildLayoutHorizontal()
-  {
-    return false;
-  } 
-
-  protected boolean isDefaultExpanded()
-  {        
-    return isPossibleCycle() ? false : true;
-  }  
-                                                                                         
-  // This test ensures that we don't end up with an infinite default expansion (e.g. when a group contains a cyclic group ref)
-  // TODO... we probably need some more extensible 'OO' way of computing this information
-  protected boolean isPossibleCycle()
-  {        
-    boolean result = false;
-    if (getParent() instanceof ModelGroupDefinitionEditPart)
-    {                                                      
-      ModelGroupDefinitionEditPart group = (ModelGroupDefinitionEditPart)getParent();
-      for (EditPart parent = group.getParent(); parent != null; parent = parent.getParent())
-      {
-        if (parent.getModel() instanceof ElementDeclarationEditPart)
-        {
-          break;
-        }       
-        else 
-        {
-          if (parent.getModel() == group.getModel())
-          {
-            result = true;
-            break;
-          }
-        }
-      }      
-    }      
-    return result;
-  } 
-       
-  protected void createEditPolicies()
-  { 
-    super.createEditPolicies();
-    installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new DragAndDropEditPolicy(getViewer(), selectionHandlesEditPolicy));      
-  }
-  
-  public void activate() 
-  {
-    super.activate();
-    if (getXSDParticle() != null)
-    {
-      XSDModelAdapterFactory.addModelAdapterListener(getXSDParticle(), this);
-    }
-  }
-  /** 
-   * Apart from the deactivation done in super, the source
-   * and target connections are deactivated, and the visual
-   * part of the this is removed.
-   *
-   * @see #activate() 
-   */
-  public void deactivate() 
-  {
-    if (getXSDParticle() != null)
-    {
-      XSDModelAdapterFactory.removeModelAdapterListener(getXSDParticle(), this);
-    }
-    super.deactivate();
-  }   
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RepeatableGraphNodeEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RepeatableGraphNodeEditPart.java
deleted file mode 100644
index 6fdf7d6..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RepeatableGraphNodeEditPart.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                        
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.DragAndDropEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RepeatableGraphNodeFigure;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-
-                  
-
-public class RepeatableGraphNodeEditPart extends GraphNodeEditPart
-{
-  protected RepeatableGraphNodeFigure getRepeatableGraphNodeFigure()
-  {
-    return (RepeatableGraphNodeFigure)graphNodeFigure;
-  }
-  
-  protected GraphNodeFigure createGraphNodeFigure()
-  {
-    return new RepeatableGraphNodeFigure();                                                        
-  }   
-      
-  protected void refreshOccurenceLabel(XSDParticle particle)
-  {  
-    if (particle != null)
-    { 
-      refreshOccurenceLabel(particle.getMinOccurs(), particle.getMaxOccurs());
-    }
-  }
-
-  protected void refreshOccurenceLabel(int min, int max)
-  {                     
-    if (min == 1 && max == 1)
-    {
-      getRepeatableGraphNodeFigure().getOccurenceLabel().setText("");
-    }
-    else
-    {
-      String maxString = max == -1 ? "*" : "" + max;
-      getRepeatableGraphNodeFigure().getOccurenceLabel().setText(min + ".." + maxString);
-    }
-    getRepeatableGraphNodeFigure().getOccurenceLabel().repaint();
-  }
-
-  protected void createEditPolicies()
-  { 
-    super.createEditPolicies();
-    
-    if (getModel() instanceof XSDElementDeclaration) {
-    	Object parent = ((XSDElementDeclaration) getModel()).eContainer();
-    	
-    	if (!(parent instanceof XSDSchema)) {
-    		installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new DragAndDropEditPolicy(getViewer(), selectionHandlesEditPolicy));      
-    	}
-    }
-    else {
-    	installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new DragAndDropEditPolicy(getViewer(), selectionHandlesEditPolicy));
-    }
-  }  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootComplexTypeDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootComplexTypeDefinitionEditPart.java
deleted file mode 100644
index 853a2df..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootComplexTypeDefinitionEditPart.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                   
-import java.util.List;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDInheritanceViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-
-              
-
-public class RootComplexTypeDefinitionEditPart extends ExpandableGraphNodeEditPart
-{                      
-  public Label label;  
-  protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();                              
-        
-
-  protected GraphNodeFigure createGraphNodeFigure()
-  {
-    ExpandableGraphNodeFigure figure = new ExpandableGraphNodeFigure();
-    figure.getOutlinedArea().setBorder(new RoundedLineBorder(1, 6));
-    figure.getOutlinedArea().setLayoutManager(new FillLayout());
-    figure.getOutlinedArea().setFill(true);
-    
-    if (getViewer() instanceof XSDInheritanceViewer)
-    {
-      figure.getOuterContentArea().getContainerLayout().setSpacing(10);
-    }
-
-    label = new Label();       
-    label.setFont(mediumBoldFont);
-    label.setBorder(new MarginBorder(5, 8, 5, 8));  
-    figure.getIconArea().add(label);  
-
-    return figure;
-  }          
-   
-                                                                                   
-  protected void refreshVisuals()
-  { 
-    super.refreshVisuals();                                                                
-
-    XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)getModel();                   
-    label.setText(ctd.getName() != null ? ctd.getName(): "");
-
-    if (XSDGraphUtil.isEditable(ctd))
-    { 
-      figure.setForegroundColor(elementBorderColor);
-      label.setForegroundColor(elementBorderColor);
-    }
-    else
-    {
-      figure.setForegroundColor(readOnlyBorderColor);
-      label.setForegroundColor(readOnlyBorderColor);
-    }
-  }
-
-
-  protected List getModelChildrenHelper()
-  {
-    XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)getModel();
-    if (getViewer() instanceof XSDInheritanceViewer)
-    {
-      return XSDChildUtility.getImmediateDerivedTypes(ct);
-    }
-    else
-    {
-      return XSDChildUtility.getModelChildren(getModel());
-    }
-  }     
-
-
-  protected void createEditPolicies()
-  {  
-    SelectionHandlesEditPolicyImpl policy = new SelectionHandlesEditPolicyImpl();
-    installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, policy);     
-  	installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
-  }  
-        
-
-  protected void performDirectEdit()
-  {                                  
-    ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDComplexTypeDefinition)getModel());     
-    simpleDirectEditPolicy.setDelegate(manager);
-    manager.show();
-  }    
-
-
-  public void performRequest(Request request)
-  {
-  	if (request.getType() == RequestConstants.REQ_DIRECT_EDIT)
-    {
-      if (XSDGraphUtil.isEditable(getModel()))
-      {
-  		  performDirectEdit();
-      }
-    }
-  } 
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootModelGroupDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootModelGroupDefinitionEditPart.java
deleted file mode 100644
index 35f4486..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/RootModelGroupDefinitionEditPart.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                   
-import java.util.List;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ExpandableGraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-
-              
-public class RootModelGroupDefinitionEditPart extends ExpandableGraphNodeEditPart
-{                      
-  public Label label;  
-  protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();                              
-                     
-
-  protected GraphNodeFigure createGraphNodeFigure()
-  {
-    ExpandableGraphNodeFigure figure = new ExpandableGraphNodeFigure();
-    figure.getOutlinedArea().setBorder(new RoundedLineBorder(1, 6));
-    figure.getOutlinedArea().setLayoutManager(new FillLayout());
-    figure.getOutlinedArea().setFill(true);
-
-    label = new Label();       
-    label.setFont(mediumBoldFont);
-    label.setBorder(new MarginBorder(5, 8, 5, 8));  
-    figure.getIconArea().add(label);  
-
-    return figure;
-  }  
-                                                                          
-  protected void refreshVisuals()
-  { 
-    super.refreshVisuals();                                                                
-
-    XSDModelGroupDefinition mgd = (XSDModelGroupDefinition)getModel();                      
-    String name = mgd.getResolvedModelGroupDefinition().getName();                  
-    label.setText(name);
-
-    if (XSDGraphUtil.isEditable(getModel()))
-    { 
-      figure.setForegroundColor(elementBorderColor);
-      label.setForegroundColor(elementBorderColor);
-    }
-    else
-    {
-      figure.setForegroundColor(readOnlyBorderColor);
-      label.setForegroundColor(readOnlyBorderColor);
-    }
-  }  
-
-  protected List getModelChildrenHelper()
-  {
-    return XSDChildUtility.getModelChildren(getModel());
-  }   
-
-
-  protected void createEditPolicies()
-  {  
-    SelectionHandlesEditPolicyImpl policy = new SelectionHandlesEditPolicyImpl();
-    installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, policy);     
-  	installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
-  }  
-        
-
-  protected void performDirectEdit()
-  {                                  
-    ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, ((XSDModelGroupDefinition)getModel()).getResolvedModelGroupDefinition());           
-    simpleDirectEditPolicy.setDelegate(manager);
-    manager.show();
-  }    
-
-
-  public void performRequest(Request request)
-  {
-  	if (request.getType() == RequestConstants.REQ_DIRECT_EDIT)
-    {
-      if (XSDGraphUtil.isEditable(getModel()))
-      {
-  		  performDirectEdit();
-      }
-    }
-  } 
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaDirectiveEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaDirectiveEditPart.java
deleted file mode 100644
index c0697d5..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaDirectiveEditPart.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.CenteredIconFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.xsd.XSDSchemaDirective;
-
-
-public class SchemaDirectiveEditPart extends BaseEditPart
-{
-  protected CenteredIconFigure centeredIconFigure;
-  protected Label label;
-  /**
-   * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
-   */
-  protected IFigure createFigure()
-  {
- 
-    ContainerFigure figure = new ContainerFigure();
-
-    figure.setLayoutManager(new FillLayout());
-    figure.setBorder(new RoundedLineBorder(1, 8));
-
-    ContainerFigure fig = new ContainerFigure();
-    fig.setLayoutManager(new FillLayout());
-    fig.setBorder(new MarginBorder(10, 0, 10, 0));
-    figure.add(fig);
-
-
-    label = new Label();    
-    label.setBorder(new MarginBorder(4, 2, 2, 10));
-    fig.add(label);        
-
-    return figure;
-  }  
- 
-  public void refreshVisuals()
-  {
-    XSDSchemaDirective directive = (XSDSchemaDirective)getModel();
-    String schemaLocation = directive.getSchemaLocation();
-    if (schemaLocation == null) schemaLocation = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
-    if (schemaLocation.equals("")) schemaLocation = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
-    label.setText("  " + directive.getElement().getLocalName() + " " + schemaLocation);
-  } 
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaEditPart.java
deleted file mode 100644
index b23821c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SchemaEditPart.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.EditPart;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RoundedLineBorder;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.xsd.XSDSchema;
-
-public class SchemaEditPart extends BaseEditPart
-{
-  protected ContainerFigure containerFigure;
-  protected Label label;
-
-  //protected ContainerFigure childExpansionContainer;
-  public IFigure getContentPane()
-  {
-    return containerFigure;
-  }
-
-  protected IFigure createFigure()
-  {
-    ContainerFigure outer = new ContainerFigure();
-    outer.setBorder(new RoundedLineBorder(1, 6));
-    outer.setForegroundColor(categoryBorderColor);
-    FillLayout fillLayout = new FillLayout(4);
-    outer.setLayoutManager(fillLayout); 
-    //outer.getContainerLayout().setHorizontal(false);
-    
-    ContainerFigure r = new ContainerFigure();  
-    r.setOutline(false);
-    r.setMinimumSize(new Dimension(0, 0));
-    r.setFill(true);
-    r.setBackgroundColor(GraphicsConstants.elementBackgroundColor);
-    outer.add(r);
-    
-	final int theMinHeight = 200;
-    FillLayout outerLayout = new FillLayout()
-    {
-      protected Dimension calculatePreferredSize(IFigure parent, int width, int height)
-      {
-        Dimension d = super.calculatePreferredSize(parent, width, height);
-        d.union(new Dimension(100, theMinHeight));
-        return d;
-      }
-    };
-    outerLayout.setHorizontal(false);
-    outer.setLayoutManager(outerLayout);
-    
-    label = new Label();
-    label.setForegroundColor(ColorConstants.black);
-    label.setBorder(new MarginBorder(2, 4, 2, 4));    
-    r.add(label);
-    
-    RectangleFigure line = new RectangleFigure();
-    line.setPreferredSize(20, 1);
-    outer.add(line);
-    
-    containerFigure = new ContainerFigure();
-    //containerFigure.setBackgroundColor(ColorConstants.red);
-    containerFigure.setBorder(new MarginBorder(4, 4, 4, 4));
-    fillLayout = new FillLayout(4);
-    containerFigure.setLayoutManager(fillLayout);
-    //containerFigure.setLayoutManager(new FillLayout(false));
-    /*
-     * FlowLayout layout1 = new FlowLayout(false); layout1.setMajorSpacing(0);
-     * layout1.setMinorSpacing(0); layout1.setStretchMinorAxis(true);
-     * containerFigure.setLayoutManager(layout1);
-     */
-    outer.add(containerFigure);
-    //childExpansionContainer = new ContainerFigure();
-    //childExpansionContainer.getContainerLayout().setHorizontal(false);
-    //childExpansionContainer.setOutlined(true);
-    return outer;
-  }
-
-  protected List getModelChildren()
-  {
-    XSDSchema schema = (XSDSchema) getModel();
-    List list = new ArrayList();
-    list.add(CategoryRowEditPart.DIRECTIVES_AND_NOTATIONS);
-    list.add(CategoryRowEditPart.ELEMENTS_AND_TYPES);
-    list.add(CategoryRowEditPart.MODEL_GROUPS_AND_ATTRIBUTES);      
-    return list;
-  }
-
-  protected EditPart createChild(Object model)
-  {
-    CategoryRowEditPart result = new CategoryRowEditPart();
-    result.setModel(model);
-    result.setParent(this);
-    result.setSchema((XSDSchema)getModel());
-    return result;
-  }
-  
-
-  protected void refreshVisuals()
-  {
-    super.refreshVisuals();
-    String targetNamespaceValue = ((XSDSchema)getModel()).getTargetNamespace();
-    if (targetNamespaceValue == null || targetNamespaceValue.length() == 0)
-    {
-      targetNamespaceValue = XSDEditorPlugin.getXSDString("_UI_GRAPH_XSDSCHEMA_NO_NAMESPACE");
-    }     
-    label.setText(XSDEditorPlugin.getXSDString("_UI_GRAPH_XSDSCHEMA") + " : " + targetNamespaceValue);
-  }
-}
-
-class CategoryRowEditPart extends BaseEditPart
-{  
-  public static final int[] ELEMENTS_AND_TYPES = {Category.ELEMENTS, Category.TYPES };
-  public static final int[] DIRECTIVES_AND_NOTATIONS =  {Category.DIRECTIVES, Category.NOTATIONS };
-  public static final int[] MODEL_GROUPS_AND_ATTRIBUTES = {Category.GROUPS, Category.ATTRIBUTES};//, Category.COMPLEX_TYPES };
-  
-  protected XSDSchema schema;
-  protected Figure contentPane;
-  
-  protected IFigure createFigure()
-  {
-    ContainerFigure containerFigure = new ContainerFigure();
-    //containerFigure.setBackgroundColor(ColorConstants.red);
-    containerFigure.setFill(true);
-    containerFigure.setBorder(new MarginBorder(4, 4, 4, 4));
-    org.eclipse.wst.xsd.ui.internal.gef.util.figures.FillLayout fillLayout = new org.eclipse.wst.xsd.ui.internal.gef.util.figures.FillLayout(4);
-    fillLayout.setHorizontal(true);
-    containerFigure.setLayoutManager(fillLayout);
-    //containerFigure.setLayoutManager(new FillLayout(4));
-    return containerFigure;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getContentPane()
-   */
-  public IFigure getContentPane()
-  {
-    return super.getContentPane();
-  }
-
-  public XSDSchema getSchema()
-  {
-    return schema;
-  }
-
-  public void setSchema(XSDSchema schema)
-  {
-    this.schema = schema;
-  }
-  
-
-  protected List getModelChildren()
-  {
-    List categoryList = (List) XSDModelAdapterFactory.getAdapter(schema).getProperty(schema, "groups");
-    return filterCategoryList(categoryList);
-  }
-  
-  protected List filterCategoryList(List list)
-  {
-    List result = new ArrayList();
-    int[] categoryTypes = (int[])getModel();
-    for (Iterator i = list.iterator(); i.hasNext(); )
-    {
-      Category category = (Category)i.next();
-      if (isMatching(categoryTypes, category))
-      {
-        result.add(category);
-      }
-    }
-    return result;
-  }
-  
-  private boolean isMatching(int[] categoryTypes, Category category)
-  {
-    boolean result = false;
-    for (int i = 0; i < categoryTypes.length; i++)
-    {
-      if (categoryTypes[i] == category.getGroupType())
-      {
-        result = true;
-        break;
-      }
-    }
-    return result;
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java
deleted file mode 100644
index df1afad..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SimpleTypeDefinitionEditPart.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.ImageFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-
-public class SimpleTypeDefinitionEditPart extends BaseEditPart
-{
-  protected Label label;
-  protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
-
-  ImageFigure figure;
-  Image image;
-  
-  protected IFigure createFigure()
-  {
-    String iconName = "icons/XSDSimpleTypeForEditPart.gif";
-    image = XSDEditorPlugin.getXSDImage(iconName);
-  
-    figure = new ImageFigure(image);
-    return figure;
-  }
-
-  protected void refreshVisuals()
-  {
-    if (isSelected)
-    {
-      image = XSDEditorPlugin.getXSDImage("icons/XSDSimpleTypeForEditPart.gif");
-    }
-    else
-    {
-      image = XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
-    }
-    figure.setImage(image);
-    figure.repaint();
-  }
-  
-  protected boolean isConnectedEditPart()
-  {
-    return false;
-  }
-  
-  public void deactivate()
-  {
-    super.deactivate();
-    image = null;  // where do we dispose the image?
-  }
-  
-
-  protected void createEditPolicies()
-  { 
-    selectionHandlesEditPolicy = new SelectionHandlesEditPolicyImpl();
-    installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, selectionHandlesEditPolicy);   
-  }  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SubstitutionGroupViewerRootEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SubstitutionGroupViewerRootEditPart.java
deleted file mode 100644
index 3899e8e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/SubstitutionGroupViewerRootEditPart.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                                      
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Panel;
-import org.eclipse.gef.EditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerLayout;
-
-              
-
-public class SubstitutionGroupViewerRootEditPart extends BaseEditPart
-{
-  protected final static String MESSAGE_PLACE_HOLDER = "MESSAGE_PLACE_HOLDER";
-  protected Object input;              
-
-  public void setInput(Object input)
-  {
-    this.input = input;
-    refreshChildren();
-  }
-
-  protected IFigure createFigure()
-  {
-    Panel panel = new Panel();
-    ContainerLayout layout = new ContainerLayout();
-    layout.setBorder(60);
-    panel.setLayoutManager(layout);
-    return panel;
-  }   
-           
-
-  protected List getModelChildren() 
-  {               
-    List list = new ArrayList();
-    if (input != null)
-    {
-      list.add(input);
-    }
-    else
-    {
-      list.add(MESSAGE_PLACE_HOLDER);
-    }
-    return list;
-  }         
-
-  protected EditPart createChild(Object model) 
-  { 
-    EditPart editPart = null;
-    if (model == MESSAGE_PLACE_HOLDER)
-    {
-      editPart = new MessageEditPart();
-      editPart.setModel(model);
-    }
-    else
-    {
-      editPart = super.createChild(model);
-    }
-    return editPart;
-  } 
-
-  protected void createEditPolicies()
-  {  
-  }             
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java
deleted file mode 100644
index 2d96719..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TopLevelComponentEditPart.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.editpolicies.SelectionEditPolicy;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.gef.ui.parts.AbstractEditPartViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.gef.util.editparts.AbstractComponentViewerRootEditPart;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.FillLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDComponentViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.ComponentNameDirectEditManager;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.model.ModelAdapter;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-
-
-public class TopLevelComponentEditPart extends BaseEditPart implements IFeedbackHandler
-{
-  protected Label label;
-  //protected Label arrowLabel;
-  protected ContainerFigure labelHolder = new ContainerFigure();
-  protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
-  protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-  protected boolean isReadOnly;
-  protected boolean isSelected;
-  
-  protected IFigure createFigure()
-  {
-    ContainerFigure typeGroup = new ContainerFigure();
-    typeGroup.getContainerLayout().setHorizontal(true);
-
-    //arrowLabel = new Label();
-    //arrowLabel.setIcon(XSDEditorPlugin.getPlugin().getImage("icons/forward.gif"));
-    //typeGroup.add(arrowLabel);
-
-    labelHolder = new ContainerFigure();
-    FillLayout fillLayout = new FillLayout();
-    labelHolder.setLayoutManager(fillLayout);
-    labelHolder.setFill(true);
-    typeGroup.add(labelHolder);
-
-    label = new Label();
-    label.setBorder(new MarginBorder(0, 2, 2, 1));
-    label.setForegroundColor(ColorConstants.black);
-    labelHolder.add(label);
-    
-    try
-	  {
-      // evil hack to provide underlines
-      Object model = getModel();
-      
-      boolean isLinux = java.io.File.separator.equals("/");
-      if (model instanceof XSDComplexTypeDefinition ||
-          model instanceof XSDElementDeclaration ||
-          model instanceof XSDModelGroupDefinition)
-      {
-        if (!isLinux)
-        {
-          FontData oldData = GraphicsConstants.medium.getFontData()[0];
-          FontData fontData = new FontData(oldData.getName(), oldData.getHeight(), SWT.NONE);
-
-            // TODO... clean this awful code up... we seem to be leaking here too
-            // we can't call this directly since the methods are OS dependant
-            // fontData.data.lfUnderline = 1
-            // so instead we use reflection
-            Object data = fontData.getClass().getField("data").get(fontData);
-//            System.out.println("data" + data.getClass());
-            data.getClass().getField("lfUnderline").setByte(data, (byte)1);
-            Font font = new Font(Display.getCurrent(), fontData);
-            label.setFont(font);        
-
-        }
-      }
-	  }
-    catch (Exception e)
-	  {
-
-	  }
-    //FontData data = label.getFont().getFontData()[0];
-    //data.data.lfUnderline = 1;
-    
-    //RectangleFigure line = new RectangleFigure();    
-    //line.setPreferredSize(2, 1);   
-    //labelHolder.add(line, 1);    
-    
-    //label.getFont().getFontData()[0].setStyle()
-    
-    return typeGroup;
-  }
-  
-  public void refreshVisuals()
-  {
-    ModelAdapter adapter = XSDModelAdapterFactory.getAdapter(getModel());
-    if (adapter != null)
-    {
-      // isReadOnly = Boolean.TRUE.equals(adapter.getProperty(getModel(), "isReadOnly"));
-      isReadOnly = !XSDGraphUtil.isEditable(getModel());
-      label.setForegroundColor(computeLabelColor());
-      label.setText((String)adapter.getProperty(getModel(), ModelAdapter.LABEL_PROPERTY));
-      Image image = (Image)adapter.getProperty(getModel(), ModelAdapter.IMAGE_PROPERTY);
-      if (image != null) label.setIcon(image);
-      //arrowLabel.setVisible(Boolean.TRUE.equals(adapter.getProperty(getModel(), "drillDown")));
-    }
-    else
-    {
-      label.setText("unknown object" + getModel().getClass().getName());
-      //arrowLabel.setVisible(false);
-    }
-
-    if (reselect)
-    {
-      getViewer().select(this);
-      setReselect(false);
-    }
-  }
-
-
-  public XSDNamedComponent getXSDNamedComponent()
-  {
-    return (XSDNamedComponent) getModel();
-  }
-
-  public List getModelChildren()
-  {
-    return Collections.EMPTY_LIST;
-  }
-  
-  protected void createEditPolicies()
-  { 
-    //installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new NonResizableEditPolicy());    
-    //selectionHandlesEditPolicy = new SelectionHandlesEditPolicyImpl();
-    //installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, selectionHandlesEditPolicy);  
-  	
-    SelectionHandlesEditPolicyImpl policy = new SelectionHandlesEditPolicyImpl();
-    installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, policy);
-
-    SelectionEditPolicy feedBackSelectionEditPolicy = new SelectionEditPolicy()
-    {
-      protected void hideSelection()
-      {
-        EditPart editPart = getHost();
-        if (editPart instanceof IFeedbackHandler)
-        {
-          ((IFeedbackHandler)editPart).removeFeedback();
-        }
-      }
-
-      protected void showSelection()
-      {
-        EditPart editPart = getHost();
-        if (editPart instanceof IFeedbackHandler)
-        {
-          ((IFeedbackHandler)editPart).addFeedback();
-        }
-      }
-    };
-    installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, feedBackSelectionEditPolicy);
-
-    installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, simpleDirectEditPolicy);
-  }  
-  
-  public Color computeLabelColor()
-  {
-    Color color = ColorConstants.black;
-    if (isSelected)
-    {
-      color = ColorConstants.white;
-    }
-    else if (isReadOnly)
-    {
-      color = ColorConstants.gray;
-    }
-    return color;
-  }
-
-
-  public void addFeedback()
-  {
-    isSelected = true;
-
-    labelHolder.setBackgroundColor(ColorConstants.black);
-    label.setForegroundColor(computeLabelColor());
-    labelHolder.setFill(true);
-    
-    if (doScroll)
-    {
-      CategoryEditPart categoryEP = (CategoryEditPart)getParent();
-      categoryEP.scrollTo(this);
-      setScroll(false);
-    }
-  }
-  
-  private boolean doScroll = false;
-  public void setScroll(boolean doScroll)
-  {
-    this.doScroll = doScroll;
-  }
-
-  public void removeFeedback()
-  {
-    isSelected = false;
-    labelHolder.setBackgroundColor(null);
-    label.setForegroundColor(computeLabelColor());
-    labelHolder.setFill(false);
-  }
-
-  public void performRequest(Request request)
-  {  
-    if (request.getType() == RequestConstants.REQ_DIRECT_EDIT ||
-        request.getType() == RequestConstants.REQ_OPEN)
-    {
-      
-      Object model = getModel();
-      if (model instanceof XSDComplexTypeDefinition ||
-          model instanceof XSDElementDeclaration ||
-          model instanceof XSDModelGroupDefinition)
-      {
-        if (request instanceof LocationRequest)
-        {
-          LocationRequest locationRequest = (LocationRequest)request;
-          Point p = locationRequest.getLocation();
-        
-          if (hitTest(labelHolder, p))
-          {
-            performDrillDownAction();
-          }              
-        }
-      }
-    }
-  }  
-
-  public boolean hitTest(IFigure target, Point location)
-  {
-    Rectangle b = target.getBounds().getCopy();
-    target.translateToAbsolute(b);  
-    return b.contains(location);
-  }  
-
-  protected void performDrillDownAction()
-  {                                                                                    
-    Runnable runnable = new Runnable()
-    {
-      public void run()
-      {
-        //((XSDComponentViewer)getViewer()).setInput((XSDConcreteComponent)getModel());
-        
-        EditPart editPart = ((AbstractEditPartViewer)getViewer()).getRootEditPart().getContents();
-        if (editPart instanceof AbstractComponentViewerRootEditPart)
-        {
-          AbstractComponentViewerRootEditPart rootEditPart = (AbstractComponentViewerRootEditPart)editPart;
-          rootEditPart.setInput((XSDConcreteComponent)getModel());
-        }
-        else if (editPart instanceof BaseEditPart)
-        {
-          ((XSDComponentViewer)getViewer()).setInput((XSDConcreteComponent)getModel());
-        }
-      }
-    };
-    Display.getCurrent().asyncExec(runnable);
-  }
-  
-  public void doEditName()
-  {
-    removeFeedback();
-    Object object = getModel();
-    if (object instanceof XSDNamedComponent)
-    {
-      ComponentNameDirectEditManager manager = new ComponentNameDirectEditManager(this, label, (XSDNamedComponent)object);
-      simpleDirectEditPolicy.setDelegate(manager);
-      manager.show();
-    }
-  }
-
-  
-  static boolean reselect = false;
-  
-  public void setReselect(boolean state)
-  {
-    reselect = state;
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TypeEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TypeEditPart.java
deleted file mode 100644
index 37a83e1..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/TypeEditPart.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SelectionHandlesEditPolicyImpl;
-import org.eclipse.wst.xsd.ui.internal.graph.editpolicies.SimpleDirectEditPolicy;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-
-public class TypeEditPart extends BaseEditPart
-{
-  protected SimpleDirectEditPolicy simpleDirectEditPolicy = new SimpleDirectEditPolicy();
-
-  protected IFigure createFigure()
-  {
-    ContainerFigure typeGroup = new ContainerFigure();
-//    typeGroup.setBorder(new SimpleRaisedBorder(1));
-//    typeGroup.setBorder(new LineBorder(1));
-//    typeGroup.setBorder(new RoundedLineBorder(1,5));
-
-    Label typeLabel = new Label("type");
-    typeLabel.setBorder(new MarginBorder(0,2,2,1));
-    typeGroup.add(typeLabel);
-
-    return typeGroup;
-  }    
-
-  protected void refreshVisuals()
-  {                 
-    super.refreshVisuals();
-  }
-
-  public XSDTypeDefinition getXSDTypeDefinition()
-  {         
-    return (XSDTypeDefinition)getModel();
-  }
-
-                    
-  public List getModelChildren() 
-  {                   
-    return Collections.EMPTY_LIST;
-  }  
-
-  protected void createEditPolicies()
-  {        
-    SelectionHandlesEditPolicyImpl policy = new SelectionHandlesEditPolicyImpl();
-    installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, policy);      
-  } 
-  
-               
-  public void performRequest(Request request)
-  {
-    super.performRequest(request);
-  }  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/WildcardEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/WildcardEditPart.java
deleted file mode 100644
index 53a86a1..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/WildcardEditPart.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                          
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphUtil;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.GraphNodeFigure;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.RepeatableGraphNodeFigure;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDWildcard;
-              
-
-public class WildcardEditPart extends RepeatableGraphNodeEditPart
-{
-  protected Label label;
-
-                             
-  public XSDParticle getXSDParticle()
-  {                    
-    Object o = getXSDWildcard().getContainer();
-    return (o instanceof XSDParticle) ? (XSDParticle)o : null;
-  }
-
-
-  public XSDWildcard getXSDWildcard()
-  {
-    return (XSDWildcard)getModel();
-  }
-
-   
-  protected GraphNodeFigure createGraphNodeFigure()
-  {
-    RepeatableGraphNodeFigure figure = new RepeatableGraphNodeFigure();                                                        
-    figure.setConnected(true);
-    figure.getOutlinedArea().setFill(true);
-
-    label = new Label();    
-    label.setText(XSDEditorPlugin.getXSDString("_UI_ANY_ELEMENT")); 
-    label.setBorder(new MarginBorder(0, 6, 0, 4));
-    label.setFont(mediumBoldFont);        
-
-    figure.getIconArea().add(label);     
-
-    return figure;
-  }  
- 
-      
-  protected void refreshVisuals()
-  {     
-    ContainerFigure rectangle = graphNodeFigure.getOutlinedArea();
-    if (XSDGraphUtil.isEditable(getModel()))
-    {
-      rectangle.setBorder(new LineBorder(2));
-      rectangle.setBackgroundColor(elementBackgroundColor);
-      rectangle.setForegroundColor(isSelected ? ColorConstants.black : elementBorderColor);
-
-      label.setBackgroundColor(elementBackgroundColor);
-      label.setForegroundColor(elementLabelColor);
-    }
-    else
-    {            
-      rectangle.setBorder(new LineBorder(readOnlyBorderColor, 2));
-      rectangle.setBackgroundColor(readOnlyBackgroundColor);
-      rectangle.setForegroundColor(isSelected ? ColorConstants.black : readOnlyBorderColor);
-   
-      label.setBackgroundColor(readOnlyBackgroundColor);
-      label.setForegroundColor(readOnlyBorderColor);
-    } 
-
-    refreshOccurenceLabel(getXSDParticle());
-  }      
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/XSDEditPartFactory.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/XSDEditPartFactory.java
deleted file mode 100644
index 5d6ed1e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editparts/XSDEditPartFactory.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editparts;
-                              
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDInheritanceViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-
-
-
-public class XSDEditPartFactory implements EditPartFactory
-{   
-  protected static XSDEditPartFactory instance;
-                      
-  public static XSDEditPartFactory getInstance()
-  {
-    if (instance == null)
-    {               
-      instance = new XSDEditPartFactory();
-    }
-    return instance;
-  }
-  
-  public EditPart createEditPart(EditPart parent, Object model)
-  {
-    EditPart editPart = null;
-           
-    if (model instanceof Category)
-    {                                  
-      editPart = new CategoryEditPart();
-    }
-    else if (model instanceof XSDElementDeclaration)
-    {       
-      editPart = new ElementDeclarationEditPart();
-    }    
-    else if (model instanceof XSDComplexTypeDefinition)
-    {
-      if (parent.getViewer() instanceof XSDInheritanceViewer)
-      {
-        editPart = new RootComplexTypeDefinitionEditPart();
-      }
-      else
-      {
-        if (parent instanceof CategoryEditPart)
-          editPart = new RootComplexTypeDefinitionEditPart();
-        else
-          editPart = new ComplexTypeDefinitionEditPart();             
-      }
-    }      
-    else if (model instanceof XSDModelGroup)
-    {       
-      editPart = new ModelGroupEditPart();
-    }      
-    else if (model instanceof XSDModelGroupDefinition)
-    {       
-      if (parent instanceof CategoryEditPart)
-        editPart = new RootModelGroupDefinitionEditPart();
-      else
-        editPart = new ModelGroupDefinitionEditPart();
-    }  
-    else if (model instanceof XSDSchema)
-    {                                  
-      editPart = new SchemaEditPart();
-    }
-    else if (model instanceof XSDWildcard)
-    {                                  
-      editPart = new WildcardEditPart();
-    }
-    else if (model instanceof XSDSimpleTypeDefinition)
-    {
-      editPart = new SimpleTypeDefinitionEditPart();
-    }
-
-    if (editPart != null)   
-    {
-      editPart.setModel(model);
-      editPart.setParent(parent);
-    }
-    else
-    {      
-//      System.out.println("can't create editPart for " + model);
-//      Thread.dumpStack();
-    }
-    return editPart;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComboBoxCellEditorManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComboBoxCellEditorManager.java
deleted file mode 100644
index bf58f17..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComboBoxCellEditorManager.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-                                                  
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.tools.CellEditorLocator;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-
-public abstract class ComboBoxCellEditorManager extends DirectEditManager implements DirectEditPolicyDelegate
-{
-  protected Label label;                                 
-
-  public ComboBoxCellEditorManager(GraphicalEditPart source,	Label label)
-  {
-	  super(source, ComboBoxCellEditor.class, new InternalCellEditorLocator(label));
-    this.label = label;                        
-  }
-
-  protected void initCellEditor() 
-  {                                             
-  	String initialLabelText = label.getText();   
-
-    CCombo combo = (CCombo)getCellEditor().getControl();
-   	combo.setFont(label.getFont());
-    combo.setForeground(label.getForegroundColor());
-    combo.setBackground(label.getBackgroundColor());
-    /*
-	combo.addKeyListener(new KeyAdapter() {
-			// hook key pressed - see PR 14201  
-			public void keyPressed(KeyEvent keyEvent) {
-				if (keyEvent.character == 'z') { 
-					getCellEditor().applyEditorValue();
-				}
-			}
-		});
-*/
-  ICellEditorListener cellEditorListener = new ICellEditorListener()
-  {
-    public void cancelEditor()
-    {
-//      System.out.println("cancelEditor");
-    }
-    public void applyEditorValue()
-    {
-//      System.out.println("applyEditorValue");
-    }
-    public void editorValueChanged(boolean old, boolean newState)
-    {
-//      System.out.println("editorValueChanged");
-    }
-  };
-  getCellEditor().addListener(cellEditorListener);
-
-    String[] item = combo.getItems();
-    int index = 0;
-    for (int i = 0; i < item.length; i++)
-    {
-      if (item[i].equals(initialLabelText))
-      {
-	      getCellEditor().setValue(new Integer(i));
-        break;
-      }
-    } 	
-  }	 
-         
-  // hack... for some reason the ComboBoxCellEditor does't fire an editorValueChanged to set the dirty flag
-  // unless we overide this method to return true, the manager is not notified of changes made in the cell editor
-  protected boolean isDirty()
-  {
-	  return true;
-  }
-
-  protected CellEditor createCellEditorOn(Composite composite)
-  { 
-    boolean isLabelTextInList = false;                                       
-    List list = computeComboContent();
-    for (Iterator i = list.iterator(); i.hasNext(); )
-    {
-      String string = (String)i.next();
-      if (string.equals(label.getText()))
-      {                               
-         isLabelTextInList = true;
-         break;
-      }
-    } 
-         
-    if (!isLabelTextInList)
-    {
-      list.add(label.getText());
-    }
-                                               
-    List sortedList = computeSortedList(list);
-    String[] stringArray = new String[sortedList.size()];
-    for (int i = 0; i < stringArray.length; i++)
-    {
-      stringArray[i] = (String)sortedList.get(i);
-    }
-    return new ComboBoxCellEditor(composite, stringArray);
-	}                                                                 
-
-  protected List computeSortedList(List list)
-  {
-    return list;
-  }
-
-  protected abstract List computeComboContent(); 
-
-  protected abstract void performModify(String value);
-
-  public static class InternalCellEditorLocator implements CellEditorLocator
-  {
-    protected Label label;
-
-    public InternalCellEditorLocator(Label label)
-    {
-      this.label = label;
-    }                   
-
-    public void relocate(CellEditor celleditor) 
-    {
-      CCombo combo = (CCombo)celleditor.getControl();  
-	    Point pref = combo.computeSize(-1, -1);
-	    Rectangle rect = label.getTextBounds().getCopy();
-	    label.translateToAbsolute(rect);
-	    combo.setBounds(rect.x-4, rect.y-1, pref.x+1, pref.y+1);
-    }
-  } 
-   
-  // implements DirectEditPolicyDelegate
-  // 
-  public void performEdit(CellEditor cellEditor)
-  {   
-    CCombo combo = (CCombo)getCellEditor().getControl();
-    int index = combo.getSelectionIndex();              
-    if (index != -1)
-    {      
-      String value = combo.getItem(index);
-      performModify(combo.getItem(index));
-    }  
-    else
-    {
-      String typedValue = combo.getText();	
-      if (combo.indexOf(typedValue) != -1)
-      {	      
-	    performModify(typedValue);
-      }      	
-      else
-      {
-      	String closeMatch = getCloseMatch(typedValue, combo.getItems());
-      	if (closeMatch != null)
-      	{
-		  performModify(closeMatch);      	
-      	}
-      	else
-      	{      	
-      	  Display.getCurrent().beep();
-      	}
-      }
-    }    	                                                
-  }
-  
-  protected String getCloseMatch(String value, String[] items)
-  {
-    int matchIndex = -1;
-
-    for (int i = 0; i < items.length; i++)
-    {
-    	String item = items[i];
-    	String a = getLocalName(value);
-    	String b = getLocalName(item);
-		  if (a.equalsIgnoreCase(b))
-		  { 
-			  matchIndex = i;
-			  break;				
-		  }	    	     
-    }  
-    return matchIndex != -1 ? items[matchIndex] : null;
-  }
-  
-  protected String getLocalName(String string)
-  {
-		int index = string.indexOf(":");
-	  return (index != -1) ? string.substring(index + 1) : string;  
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java
deleted file mode 100644
index 87a9326..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/ComponentNameDirectEditManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-                                                  
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.TopLevelComponentEditPart;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalElementRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalSimpleOrComplexTypeRenamer;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDSwitch;
-
-
-
-public class ComponentNameDirectEditManager extends TextCellEditorManager
-{
-  protected XSDNamedComponent component;
-  protected static GraphicalEditPart mySource;
-
-  public ComponentNameDirectEditManager(GraphicalEditPart source,	Label label, XSDNamedComponent component)
-  {
-    super(source, label);  
-    this.component = component;
-    mySource = source;
-  }
-
-  public void performModify(final String value)
-  {
-    if (value.length() > 0)
-    {
-      DelayedRenameRunnable runnable = new DelayedRenameRunnable(component, value);
-      Display.getCurrent().asyncExec(runnable);
-    }
-  }      
-
-  protected static class DelayedRenameRunnable implements Runnable
-  {
-    protected XSDNamedComponent component;
-    protected String name;
-
-    public DelayedRenameRunnable(XSDNamedComponent component, String name)
-    {                                                               
-      this.component = component;
-      this.name = name;
-    }                                                              
-
-    public void run()
-    {                             
-      XSDSwitch xsdSwitch = new XSDSwitch()
-      {                   
-        public Object caseXSDTypeDefinition(XSDTypeDefinition object)
-        {
-          new GlobalSimpleOrComplexTypeRenamer(object, name).visitSchema(object.getSchema());
-          return null;
-        } 
-      
-        public Object caseXSDElementDeclaration(XSDElementDeclaration object)
-        {           
-          if (object.isGlobal())
-          {
-            new GlobalElementRenamer(object, name).visitSchema(object.getSchema());
-          }
-          return null;
-        }
-      
-        public Object caseXSDModelGroupDefinition(XSDModelGroupDefinition object)
-        {
-          new GlobalGroupRenamer(object, name).visitSchema(object.getSchema());
-          return null;
-        }
-      };
-      xsdSwitch.doSwitch(component); 
-      component.setName(name);
-      if (mySource instanceof TopLevelComponentEditPart)
-      {
-        ((TopLevelComponentEditPart)mySource).setReselect(true);        
-      }
-    }
-  }
-  
-  protected void bringDown()
-  {
-    if (mySource != null)
-    {
-      if (mySource instanceof TopLevelComponentEditPart)
-      {
-        ((TopLevelComponentEditPart)mySource).setReselect(true);        
-      }
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DirectEditPolicyDelegate.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DirectEditPolicyDelegate.java
deleted file mode 100644
index b5cce8b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DirectEditPolicyDelegate.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-   
-import org.eclipse.jface.viewers.CellEditor;
-
-public interface DirectEditPolicyDelegate
-{       
-  public void performEdit(CellEditor cellEditor);  
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropCommand.java
deleted file mode 100644
index aa7a60d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropCommand.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.FigureCanvas;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
-import org.eclipse.wst.xsd.ui.internal.actions.MoveAction;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.IConnectionRenderingViewer;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComplexTypeDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.GraphNodeEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupDefinitionEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.ModelGroupEditPart;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-
-public class DragAndDropCommand extends Command //AbstractCommand
-{ 
-  protected EditPartViewer viewer;    
-  protected ChangeBoundsRequest request;
-  protected GraphNodeEditPart childRefEditPart;    
-  public GraphNodeEditPart parentEditPart; 
-  public Point location;
-  protected MoveAction action;    
-  protected boolean canExecute;
-
-  public DragAndDropCommand(EditPartViewer viewer, ChangeBoundsRequest request)
-  {
-    this.viewer = viewer;                    
-    this.request = request;
-
-    location = request.getLocation();   
-    EditPart target = viewer.findObjectAt(location); 
-    if (viewer instanceof ScrollingGraphicalViewer)
-    {  
-      ScrollingGraphicalViewer sgv = (ScrollingGraphicalViewer)viewer;
-      Point p = ((FigureCanvas)sgv.getControl()).getViewport().getViewLocation();
-      location.y += p.y;
-      location.x += p.x;
-    }
-     
-    List list = request.getEditParts();
-    if (list.size() > 0)
-    {           
-      parentEditPart = getParentEditPart(target);
-      if (parentEditPart != null)
-      {                                          
-        for (Iterator i = parentEditPart.getChildren().iterator(); i.hasNext(); )
-        {
-          EditPart child = (EditPart)i.next();
-          if (child instanceof GraphNodeEditPart)
-          {
-            GraphNodeEditPart childGraphNodeEditPart = (GraphNodeEditPart)child;
-            Rectangle rectangle = childGraphNodeEditPart.getSelectionFigure().getBounds();
-     
-            if (location.y < rectangle.getCenter().y)
-            {                                    
-              childRefEditPart = childGraphNodeEditPart;   
-              break;
-            }
-          }
-        } 
-            
-        List editPartsList = request.getEditParts();
-        List concreteComponentList = new ArrayList(editPartsList.size());
-        for (Iterator i = editPartsList.iterator(); i.hasNext(); )
-        {                                                       
-          EditPart editPart = (EditPart)i.next();
-          concreteComponentList.add((XSDConcreteComponent)editPart.getModel());
-        } 
-        XSDConcreteComponent refComponent = childRefEditPart != null ? (XSDConcreteComponent)childRefEditPart.getModel() : null;
-
-        action = new MoveAction((XSDConcreteComponent)parentEditPart.getModel(), concreteComponentList, refComponent);
-        canExecute = action.canMove();                                            
-      }            
-    }     
-  }
-             
-  protected GraphNodeEditPart getParentEditPart(EditPart target)
-  {
-    GraphNodeEditPart result = null;    
-    while (target != null)
-    {                     
-      if (target instanceof ModelGroupEditPart)
-      {
-        result = (GraphNodeEditPart)target;
-        break;
-      }
-      else if (target instanceof ComplexTypeDefinitionEditPart ||
-               target instanceof ModelGroupDefinitionEditPart)
-      {
-        List list = target.getChildren();
-        for (Iterator i = list.iterator(); i.hasNext(); )
-        {
-          Object child = i.next();
-          if (child instanceof ModelGroupEditPart)
-          {
-            result = (GraphNodeEditPart)child;
-            break;
-          }
-        }   
-        if (result != null)
-        {
-          break;
-        }
-      }
-      target = target.getParent();
-    }
-    return result;
-  }
-
-  public void execute()
-  {           
-    if (canExecute)
-    { 
-      action.run(); 
-    }
-  }     
-  
-  public void redo()
-  {
-
-  }  
-  
-  public void undo()
-  {
-  }     
-  
-  public boolean canExecute()
-  { 
-    return canExecute;
-  } 
-
-  public PointList getConnectionPoints(Rectangle draggedFigureBounds)
-  {             
-    PointList pointList = null;      
-    if (parentEditPart != null && childRefEditPart != null && viewer instanceof IConnectionRenderingViewer)
-    {                                
-      pointList = ((IConnectionRenderingViewer)viewer).getConnectionRenderingFigure().getConnectionPoints(parentEditPart, childRefEditPart, draggedFigureBounds);      
-    }               
-    return pointList != null ? pointList : new PointList();
-  }                                                                  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropEditPolicy.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropEditPolicy.java
deleted file mode 100644
index 18468c8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/DragAndDropEditPolicy.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-
-public class DragAndDropEditPolicy extends org.eclipse.gef.editpolicies.GraphicalEditPolicy
-{ 
-  protected EditPartViewer viewer;    
-  protected SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy;
-
-  public DragAndDropEditPolicy(EditPartViewer viewer, SelectionHandlesEditPolicyImpl selectionHandlesEditPolicy)
-  {
-    this.viewer = viewer;
-    this.selectionHandlesEditPolicy = selectionHandlesEditPolicy;
-  }
-
-  public boolean understandsRequest(Request req)
-  {
-	  return true;
-  }                           
-    
-  static int count2 = 0;
-  boolean theCommandResult = true;   
-  
-  public org.eclipse.gef.commands.Command getCommand(Request request)
-  {             
-    // this block is commented out to disable move for now
-    DragAndDropCommand command = null;                            
-    if (request instanceof ChangeBoundsRequest)
-    {
-      command = new DragAndDropCommand(viewer, (ChangeBoundsRequest)request);  
-      selectionHandlesEditPolicy.setDragAndDropCommand(command);
-    } 
-    return command;             
-  }                                                     
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/GraphNodeDragTracker.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/GraphNodeDragTracker.java
deleted file mode 100644
index 58fbaac..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/GraphNodeDragTracker.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.tools.DragEditPartsTracker;
-
-                                   
-public class GraphNodeDragTracker extends DragEditPartsTracker 
-{                                     
-  protected EditPart editPart; 
-           
-  public GraphNodeDragTracker(EditPart editPart)
-  {
-    super(editPart);
-    this.editPart = editPart;
-  } 
-                                              
-  protected Command getCommand() 
-  { 
-	  Request request = getTargetRequest();
-    return editPart.getCommand(request); 
-  }
-} 
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SelectionHandlesEditPolicyImpl.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SelectionHandlesEditPolicyImpl.java
deleted file mode 100644
index d09b53a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SelectionHandlesEditPolicyImpl.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-                                 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Polyline;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.editpolicies.SelectionHandlesEditPolicy;
-import org.eclipse.gef.handles.MoveHandle;
-import org.eclipse.gef.handles.MoveHandleLocator;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.BaseEditPart;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.IFeedbackHandler;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.BogusLayout;
-import org.eclipse.wst.xsd.ui.internal.graph.figures.ContainerFigure;
-
-
-
-
-
-public class SelectionHandlesEditPolicyImpl	extends SelectionHandlesEditPolicy
-{
-  protected IFigure feedback;
-  protected Rectangle originalLocation;
-  protected DragAndDropCommand dragAndDropCommand;
-
-  protected List createSelectionHandles()
-  {              
-    List list = new ArrayList();
-    EditPart editPart = getHost();
-     
-    if (editPart instanceof GraphicalEditPart)
-    {
-      GraphicalEditPart graphicalEditPart = (GraphicalEditPart)editPart;
-      IFigure figure = (graphicalEditPart instanceof BaseEditPart) ? 
-                          ((BaseEditPart)graphicalEditPart).getSelectionFigure() :
-                          graphicalEditPart.getFigure();
-   
-      Cursor cursorFigure = figure.getCursor();
-      MoveHandleLocator loc = new MoveHandleLocator(figure);    
-      MoveHandle moveHandle = new MoveHandle(graphicalEditPart, loc);     
-      moveHandle.setCursor(cursorFigure);
-      list.add(moveHandle);
-    }
-
-    return list;
-  }   
-  
-
-  public boolean understandsRequest(Request request)
-  {    
-    boolean result = false;
-
-	  if (REQ_MOVE.equals(request.getType()))
-    {  
-		  result = false; // return false to disable move for now 
-    }
-    else
-    {
-	    result = super.understandsRequest(request);
-    }
-    return result;
-  }
-  
-
-  public org.eclipse.gef.commands.Command getCommand(Request request) 
-  {                                          
-    return null;  
-  }   
-
-  public void setDragAndDropCommand(DragAndDropCommand dragAndDropCommand)
-  {
-    this.dragAndDropCommand = dragAndDropCommand;
-  }
-
-  protected org.eclipse.gef.commands.Command getMoveCommand(ChangeBoundsRequest request) 
-  {
-	  ChangeBoundsRequest req = new ChangeBoundsRequest(REQ_MOVE_CHILDREN);
-	  req.setEditParts(getHost());
-	
-	  req.setMoveDelta(request.getMoveDelta());
-	  req.setSizeDelta(request.getSizeDelta());
-	  req.setLocation(request.getLocation());
-
-	  return getHost().getParent().getCommand(req);
-  } 
-
-  public void showSourceFeedback(Request request)
-  {  	
-	  if (REQ_MOVE.equals(request.getType()) ||
-		  REQ_ADD.equals(request.getType()))
-		  showChangeBoundsFeedback((ChangeBoundsRequest)request);
-  }
-
-  protected void showChangeBoundsFeedback(ChangeBoundsRequest request)
-  {
-  	IFigure p = getDragSourceFeedbackFigure();
-  	Rectangle r = originalLocation.getTranslated(request.getMoveDelta());
-  	Dimension resize = request.getSizeDelta();
-  	r.width += resize.width;
-  	r.height+= resize.height;
-  
-  	((GraphicalEditPart)getHost()).getFigure().translateToAbsolute(r);
-  	p.translateToRelative(r);
-                
-    Rectangle pBounds = r.getCopy();                            
-
-    if (dragAndDropCommand != null && dragAndDropCommand.canExecute())
-    {                     
-      int size = request.getEditParts().size();
-      if (size > 0 && request.getEditParts().get(size - 1) == getHost())
-      {         
-        PointList pointList = dragAndDropCommand.getConnectionPoints(r);
-        if (pointList != null && pointList.size() > 0)
-        {
-          polyLine.setPoints(pointList);
-          
-          Point firstPoint = pointList.getFirstPoint();
-          if (firstPoint != null)
-          {
-            pBounds = pBounds.getUnion(new Rectangle(firstPoint.x, firstPoint.y, 1, 1));
-          }
-        }
-      }
-    }
-    p.setBounds(pBounds);
-    ghostShape.setBounds(r);
-  	p.validate();
-  }        
-
-
-
-
-  protected IFigure getDragSourceFeedbackFigure() 
-  {
-    EditPart editPart = getHost(); 
-    if (feedback == null && editPart instanceof BaseEditPart)
-    {                                       
-      BaseEditPart baseEditPart = (BaseEditPart)editPart;
-		  originalLocation = new Rectangle(baseEditPart.getSelectionFigure().getBounds());
-		  feedback = createDragSourceFeedbackFigure(baseEditPart.getSelectionFigure());
-	  }
-	  return feedback;
-  }  
-    
-  Polyline polyLine;
-  RectangleFigure ghostShape;
-
-  protected IFigure createDragSourceFeedbackFigure(IFigure draggedFigure)
-  {
-		// Use a ghost rectangle for feedback  
-    ContainerFigure panel = new ContainerFigure(); 
-    panel.setLayoutManager(new BogusLayout());//new FreeformLayout());
-
-		ghostShape = new RectangleFigure();
-		FigureUtilities.makeGhostShape(ghostShape);
-		ghostShape.setLineStyle(Graphics.LINE_DASHDOT);
-		ghostShape.setForegroundColor(ColorConstants.white);
-    
-    Rectangle r = draggedFigure.getBounds();
-    panel.setOpaque(false);
-    panel.add(ghostShape);                 
-
-    polyLine = new Polyline();                         
-    //polyLine.setLineStyle(Graphics.LINE_DASHDOT);      
-    polyLine.setLineWidth(3);
-    panel.add(polyLine);
-
-    panel.setBounds(r);
-		ghostShape.setBounds(r);
-
-		addFeedback(panel);
-
-		return panel;
-	} 
-
-  public void deactivate()
-  {
-	  if (feedback != null)
-    {
-		  removeFeedback(feedback);
-		  feedback = null;
-	  }
-	  hideFocus();
-	  super.deactivate();
-  }
-
-  /**
-   * Erase feedback indicating that the receiver object is 
-   * being dragged.  This method is called when a drag is
-   * completed or cancelled on the receiver object.
-   * @param dragTracker org.eclipse.gef.tools.DragTracker The drag tracker of the tool performing the drag.
-   */
-  protected void eraseChangeBoundsFeedback(ChangeBoundsRequest request) 
-  {
-	  if (feedback != null) 
-    {		      
-		  removeFeedback(feedback);
-	  }
-	  feedback = null;
-	  originalLocation = null;
-  }
-
-  /**
-   * Erase feedback indicating that the receiver object is 
-   * being dragged.  This method is called when a drag is
-   * completed or cancelled on the receiver object.
-   * @param dragTracker org.eclipse.gef.tools.DragTracker The drag tracker of the tool performing the drag.
-   */
-  public void eraseSourceFeedback(Request request) 
-  {
-    if (REQ_MOVE.equals(request.getType()) ||  REQ_ADD.equals(request.getType()))
-    {
-		  eraseChangeBoundsFeedback((ChangeBoundsRequest)request);
-    }
-  }
-  
-  protected void hideSelection()
-  {
-    EditPart editPart = getHost();
-    if (editPart instanceof IFeedbackHandler)
-    {
-      ((IFeedbackHandler)editPart).removeFeedback();
-    }
-  }
-
-  protected void showSelection()
-  {
-    EditPart editPart = getHost();
-    if (editPart instanceof IFeedbackHandler)
-    {
-      ((IFeedbackHandler)editPart).addFeedback();
-    }
-  }  
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SimpleDirectEditPolicy.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SimpleDirectEditPolicy.java
deleted file mode 100644
index 531eef2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/SimpleDirectEditPolicy.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.DirectEditPolicy;
-import org.eclipse.gef.requests.DirectEditRequest;
-                                   
-public class SimpleDirectEditPolicy extends DirectEditPolicy 
-{
-  protected DirectEditPolicyDelegate delegate;
-
-  public void setDelegate(DirectEditPolicyDelegate delegate)
-  {                                           
-    this.delegate = delegate;
-  }
-
-  protected org.eclipse.gef.commands.Command getDirectEditCommand(final DirectEditRequest request) 
-  { 
-  	return new Command() //AbstractCommand()
-    {
-      public void execute()
-      {                       
-        if (delegate != null)
-        {
-          delegate.performEdit(request.getCellEditor());
-        }  
-      }     
-  
-      public void redo()
-      {
-      }  
-  
-      public void undo()
-      {
-      }     
-  
-      public boolean canExecute()
-      {
-        return true;
-      }
-    };
-  }
-  
-  protected void showCurrentEditValue(DirectEditRequest request) 
-  {      
-  	//hack to prevent async layout from placing the cell editor twice.
-  	getHostFigure().getUpdateManager().performUpdate();
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TextCellEditorManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TextCellEditorManager.java
deleted file mode 100644
index 6409937..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TextCellEditorManager.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-                                                  
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.tools.CellEditorLocator;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Text;
-
-public abstract class TextCellEditorManager extends DirectEditManager implements DirectEditPolicyDelegate
-{
-  protected Label label;                                 
-
-  public TextCellEditorManager(GraphicalEditPart source,	Label label)
-  {
-	  super(source, TextCellEditor.class, new InternalCellEditorLocator(label));
-    this.label = label;     
-  }
-
-  protected void initCellEditor() 
-  {                                             
-  	String initialLabelText = label.getText();
-  	getCellEditor().setValue(initialLabelText);
-  	Text text = (Text)getCellEditor().getControl();
-  	text.setFont(label.getFont());
-    text.setForeground(label.getForegroundColor());
-    text.setBackground(label.getBackgroundColor());
-  	text.selectAll();
-  }	          
-
-  protected abstract void performModify(String value);
-    
-  public static class InternalCellEditorLocator implements CellEditorLocator
-  {
-    protected Label label;
-
-    public InternalCellEditorLocator(Label label)
-    {
-      this.label = label;
-    }                   
-
-    public void relocate(CellEditor celleditor) 
-    {
-      Text text = (Text)celleditor.getControl();  
-	    Point sel = text.getSelection();
-	    Point pref = text.computeSize(-1, -1);
-	    Rectangle rect = label.getTextBounds().getCopy();
-	    label.translateToAbsolute(rect);
-	    text.setBounds(rect.x-4, rect.y-1, pref.x+1, pref.y+1);	
-	    text.setSelection(0);
-	    text.setSelection(sel); 
-    }
-  }    
-
-  // implements DirectEditPolicyDelegate
-  // 
-  public void performEdit(CellEditor cellEditor)
-  {
-    performModify((String)cellEditor.getValue());
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TypeReferenceDirectEditManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TypeReferenceDirectEditManager.java
deleted file mode 100644
index c62d1e9..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/editpolicies/TypeReferenceDirectEditManager.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.editpolicies;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.EditPart;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.BaseEditPart;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-
-
-
-public class TypeReferenceDirectEditManager extends ComboBoxCellEditorManager
-{
-  protected BaseEditPart editPart;                                                
-  protected XSDElementDeclaration ed;
-
-  
-  public TypeReferenceDirectEditManager(BaseEditPart source,	XSDElementDeclaration ed, Label label)
-  {
-    super(source, label);  
-    editPart = source;               
-    this.ed = ed;
-  }
-
-  protected List computeComboContent()
-  {             
-    XSDSchema schema = ed.getSchema();
-    List typeNameList = new ArrayList();
-    if (schema != null)
-    {         
-      TypesHelper typesHelper = new TypesHelper(schema);
-      typeNameList.addAll(typesHelper.getUserSimpleTypeNamesList());
-      typeNameList.addAll(typesHelper.getUserComplexTypeNamesList());               
-      typeNameList.addAll(typesHelper.getBuiltInTypeNamesList());
-    }                        
-    return typeNameList;
-  }
-    
-  public void performModify(String value)
-  {                                               
-    // we need to perform an asyncExec here since the 'host' editpart may be removed
-    // as a side effect of performing the action
-    DelayedRenameRunnable runnable = new DelayedRenameRunnable(editPart, ed, value);
-    Display.getCurrent().asyncExec(runnable);   
-  }  
-   
-
-  protected List computeSortedList(List list)
-  {
-    return TypesHelper.sortList(list);
-  }
-
-  protected static class DelayedRenameRunnable implements Runnable
-  {
-    protected BaseEditPart editPart;                                                
-    protected EditPart editPartParent;
-    protected XSDElementDeclaration ed;
-    protected String name;
-
-    public DelayedRenameRunnable(BaseEditPart editPart, XSDElementDeclaration ed, String name)
-    {                                                               
-      this.editPart = editPart;
-      editPartParent = editPart.getParent();
-      this.ed = ed;
-      this.name = name;
-    }                                                              
-
-    public void run()
-    {                             
-      //BaseGraphicalViewer viewer = editPart.getBaseGraphicalViewer();
-      //viewer.setInputEnabled(false);
-      //viewer.setSelectionEnabled(false);      
-      if (name.equals("<anonymous>"))
-      {          
-        try
-        {
-          ed.getResolvedElementDeclaration().getElement().removeAttribute("type");
-        }
-        catch (Exception e)
-        {
-        }
-      }
-      else
-      {
-        if (ed.getResolvedElementDeclaration().getAnonymousTypeDefinition() != null) // isSetAnonymousTypeDefinition())
-        {
-          if (!(name.equals("<anonymous>")))
-          {
-            ed.getResolvedElementDeclaration().getElement().setAttribute("type", name);
-            XSDDOMHelper.updateElementToNotAnonymous(ed.getResolvedElementDeclaration().getElement());
-//            ed.getResolvedElementDeclaration().setAnonymousTypeDefinition(null);
-            return;
-          }
-        }
-        ed.getResolvedElementDeclaration().getElement().setAttribute("type", name);
-      }
-      //viewer.setInputEnabled(true);
-      //viewer.setSelectionEnabled(true);
-      //viewer.setSelection(new StructuredSelection(editPartParent));
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/BogusLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/BogusLayout.java
deleted file mode 100644
index cfa8c75..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/BogusLayout.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-
-
-/**
- * Figures using the StackLayout as their layout manager have
- * their children placed on top of one another. Order of 
- * placement is determined by the order in which the children
- * were added, first child added placed on the bottom.
- */
-public class BogusLayout
-	extends AbstractLayout
-{
-                             
-protected int spacing;
-
-public BogusLayout(){}
-
-protected Dimension calculatePreferredSize(IFigure figure, int w, int h)
-{	                 
-  Dimension d = new Dimension();
-  return d;
-} 
-
-/*
- * Returns the minimum size required by the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- */
-/*jvh - final
-public Dimension getMinimumSize(IFigure figure){
-	return new Dimension();
-}
-
-public Dimension getPreferredSize(IFigure figure){
-	return new Dimension();
-}            */
-
-/*
- * Lays out the children on top of each other with
- * their sizes equal to that of the available
- * paintable area of the input container figure.
- */
-public void layout(IFigure figure){   
- 
-} 
- 
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenterLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenterLayout.java
deleted file mode 100644
index 2932e6d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenterLayout.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-/**
- * Figures using the StackLayout as their layout manager have
- * their children placed on top of one another. Order of 
- * placement is determined by the order in which the children
- * were added, first child added placed on the bottom.
- */
-public class CenterLayout
-	extends AbstractLayout
-{
-                             
-protected int spacing;
-
-public CenterLayout(){}
-public CenterLayout(int spacing){ this.spacing = spacing; }
-
-/**
- * Calculates and returns the preferred size of the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- *
- * @param figure  Container figure for which preferred size is required.
- * @return  The preferred size of the input figure.
- * @since 2.0
- */
-protected Dimension calculatePreferredSize(IFigure figure, int w, int h){
-	Dimension d = calculatePreferredClientAreaSize(figure);
-	/*d.expand(figure.getInsets().getWidth(),
-	         figure.getInsets().getHeight()); */
-        d.expand(w,
-	         h);
-	d.union(getBorderPreferredSize(figure));
-	return d;
-}
-
-protected Dimension calculatePreferredClientAreaSize(IFigure figure){
-	Dimension d = new Dimension();
-	List children = figure.getChildren();
-	for (Iterator i = children.iterator(); i.hasNext(); )
-  {
-		IFigure child = (IFigure)i.next();
-    Dimension childSize = child.getPreferredSize();
-    d.height += childSize.height;
-    d.width = Math.max(childSize.width, d.width);
-	}	                    
-  int childrenSize = children.size();       
-  if (childrenSize > 0)
-  {
-    d.height += spacing * children.size() - 1;
-  }
-	return d;
-}
-
-/*
- * Returns the minimum size required by the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- */
-public Dimension getMinimumSize(IFigure figure, int wHint, int hHint){
-	Dimension d = new Dimension();
-	List children = figure.getChildren();
-	IFigure child;
-	for (int i=0; i < children.size(); i++){
-		child = (IFigure)children.get(i);
-		d.union(child.getMinimumSize());
-	}
-	d.expand(figure.getInsets().getWidth(),
-	         figure.getInsets().getHeight());
-	return d;
-}
-
-public Dimension getPreferredSize(IFigure figure, int wHint, int hHint){
-	return calculatePreferredSize(figure, wHint, hHint);
-}
-
-
-/*
- * Lays out the children on top of each other with
- * their sizes equal to that of the available
- * paintable area of the input container figure.
- */
-public void layout(IFigure figure){
-	Rectangle r = figure.getClientArea();
-	List children = figure.getChildren();
-  
-  Dimension preferredClientAreaSize = calculatePreferredClientAreaSize(figure);
-  int x = r.x + (r.width - preferredClientAreaSize.width) / 2;
-  int y = r.y + (r.height - preferredClientAreaSize.height) / 2;
-
-	for (Iterator i = children.iterator(); i.hasNext(); )
-  {
-		IFigure child = (IFigure)i.next();
-    Dimension childSize = child.getPreferredSize();
-		child.setBounds(new Rectangle(x, y, childSize.width, childSize.height));
-    y += childSize.height + spacing;
-	}
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenteredIconFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenteredIconFigure.java
deleted file mode 100644
index 3426bb0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/CenteredIconFigure.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-            
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.graphics.Image;
-              
-
-public class CenteredIconFigure extends ContainerFigure
-{                                                
-  public Image image;  
-                               
-  public CenteredIconFigure()
-  {
-    super();
-    setFill(true);   
-  }
-
-  protected void fillShape(Graphics g)
-  {    
-    super.fillShape(g);    
-    if (image != null)
-    {                         
-      Rectangle r = getBounds();                                                         
-      Dimension imageSize = new Dimension(16, 16);
-      g.drawImage(image, r.x + (r.width - imageSize.width)/2, r.y + (r.height - imageSize.height)/2);
-    }
-  }          
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ConnectionFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ConnectionFigure.java
deleted file mode 100644
index aaa05f1..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ConnectionFigure.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-       
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.wst.xsd.ui.internal.graph.editparts.GraphNodeEditPart;
-
-              
-
-public class ConnectionFigure extends RectangleFigure
-{               
-  protected boolean isOutlined = true;
-  protected IFigure xsdFigure;
-
-  public ConnectionFigure(IFigure xsdFigure)
-  {
-    setOpaque(false);                   
-    this.xsdFigure = xsdFigure;
-    //setFocusTraversable(false); 
-    //setEnabled(false); 
-  }
-           
-  protected boolean isMouseEventTarget()
-  {
-    return false;
-  }        
-
-  public boolean containsPoint(int x, int y){return false;}
-
-  protected void fillShape(Graphics graphics)
-  { 
-    graphics.setForegroundColor(ColorConstants.black);
-    drawLines(graphics, xsdFigure);
-  }
-
-  protected void drawLines(Graphics graphics, IFigure figure)
-  {
-    if (figure instanceof GraphNodeFigure)
-    {
-      GraphNodeFigure graphNodeFigure = (GraphNodeFigure)figure;         
-      if (graphNodeFigure.isConnected() && graphNodeFigure.isExpanded())
-      {
-        List childList = graphNodeFigure.getChildGraphNodeFigures();
-        if (childList.size() > 0)
-        {                                         
-          Rectangle r = graphNodeFigure.getConnectionRectangle();    
-          
-          int x1 = r.x + r.width;
-          int y1 = r.y + r.height/2;
-          
-          int startOfChildBox = ((GraphNodeFigure)childList.get(0)).getConnectionRectangle().x;
-
-          int x2 = x1 + (startOfChildBox - x1) / 3;
-          int y2 = y1;
-                    
-          if (childList.size() > 1)
-          {                                 
-            graphics.drawLine(x1, y1, x2, y2);
-          
-            int minY = Integer.MAX_VALUE;
-            int maxY = -1;
-          
-            for (Iterator i = childList.iterator(); i.hasNext(); )
-            {
-              GraphNodeFigure childGraphNodeFigure = (GraphNodeFigure)i.next();
-              Rectangle childConnectionRectangle = childGraphNodeFigure.getConnectionRectangle();
-              int y = childConnectionRectangle.y + childConnectionRectangle.height / 2;
-             
-              minY = Math.min(minY, y);
-              maxY = Math.max(maxY, y);             
-              graphics.drawLine(x2, y, childConnectionRectangle.x, y);            
-            }                   
-            graphics.drawLine(x2, minY, x2, maxY);
-          }
-          else
-          {
-            graphics.drawLine(x1, y1, startOfChildBox, y2);
-          }
-        }                            
-      }                             
-    }
-
-    //boolean visitChildren = true;
-    List children = figure.getChildren();
-    for (Iterator i = children.iterator(); i.hasNext(); )
-    {
-      IFigure child = (IFigure)i.next();
-      drawLines(graphics, child);
-    }
-  }    
-
-
-  // This method supports the preview connection line function related to drag and drop
-  //     
-  public PointList getConnectionPoints(GraphNodeEditPart parentEditPart, GraphNodeEditPart childRefEditPart, Rectangle draggedFigureBounds)
-  {           
-    PointList pointList = new PointList();                         
-    int[] data = new int[1];
-    Point a = getConnectionPoint(parentEditPart, childRefEditPart, data);
-    if (a != null)
-    {   
-      int draggedFigureBoundsY = draggedFigureBounds.y + draggedFigureBounds.height/2;
-
-      pointList.addPoint(a); 
-      //pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
-      
-      if (data[0] == 0) // insert between 2 items
-      {                                         
-        int x = a.x + (draggedFigureBounds.x - a.x)/2;
-        pointList.addPoint(new Point(x, a.y));
-        pointList.addPoint(new Point(x, draggedFigureBoundsY));        
-        pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
-      }
-      else // insert at first or last position
-      {
-        pointList.addPoint(new Point(a.x, draggedFigureBoundsY));   
-        pointList.addPoint(new Point(draggedFigureBounds.x, draggedFigureBoundsY));
-      }
-    }       
-    return pointList;
-  }
-
-         
-  // This method supports the preview connection line function related to drag and drop
-  //     
-  protected Point getConnectionPoint(GraphNodeEditPart parentEditPart, GraphNodeEditPart childRefEditPart, int[] data)
-  {                      
-    Point point = null;     
-    List childList = parentEditPart.getChildren();         
-
-    //TreeNodeIconFigure icon = ((TreeNodeFigure)parent.getFigure()).treeNodeIconFigure;
-                                                                                                                                               
-    if (childList.size() > 0)
-    {   
-      point = new Point();
-
-      GraphNodeEditPart prev = null;    
-      GraphNodeEditPart next = null;
-                               
-      for (Iterator i = childList.iterator(); i.hasNext(); )
-      {             
-        Object o = i.next();    
-        if (o instanceof GraphNodeEditPart)
-        {
-          GraphNodeEditPart childEditPart = (GraphNodeEditPart)o;        
-          if (childEditPart == childRefEditPart)
-          {
-            next = childEditPart;
-            break;
-          }                                           
-          prev = childEditPart;
-        }
-      }                            
-
-      if (next != null && prev != null)
-      { 
-        int ya = prev.getConnectionRectangle().getCenter().y;
-        int yb = next.getConnectionRectangle().getCenter().y;
-        point.y = ya + (yb - ya)/2;   
-        data[0] = 0;
-      }                               
-      else if (prev != null) // add it last
-      {
-        point.y = prev.getConnectionRectangle().getCenter().y;
-        data[0] = 1;
-      }
-      else if (next != null) // add it first!
-      {                           
-        point.y = next.getConnectionRectangle().getCenter().y;
-        data[0] = -1;
-      }
-          
-      if (next != null || prev != null)
-      {
-        GraphNodeEditPart child = prev != null ? prev : next;
-        int startOfChildBox = child.getConnectionRectangle().x;
-        Rectangle r = parentEditPart.getConnectionRectangle();  
-        int x1 = r.x + r.width;
-        point.x = x1 + (startOfChildBox - x1) / 3;
-      }
-    }    
-    return point;
-  }
-         
-
-  protected void outlineShape(Graphics graphics)
-  { 
-    if (isOutlined)
-    {
-      super.outlineShape(graphics);
-    }
-  } 
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerFigure.java
deleted file mode 100644
index 8594005..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerFigure.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-            
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.RectangleFigure;
-              
-public class ContainerFigure extends RectangleFigure
-{               
-  protected boolean isOutlined = false;
-
-  public ContainerFigure()
-  {
-    setLayoutManager(new ContainerLayout());
-    setFill(false);
-  }
-
-  public void doLayout()
-  {
-	  layout();
-	  setValid(true);
-  }  
-          
-  public ContainerLayout getContainerLayout()
-  {
-    return (ContainerLayout)getLayoutManager();
-  }           
-
-  public void setOutlined(boolean isOutlined)
-  {
-    this.isOutlined = isOutlined;
-  }     
-
-  protected void outlineShape(Graphics graphics)
-  { 
-    if (isOutlined)
-    {
-      super.outlineShape(graphics);
-    }
-  }
-  
-  
-  public void validate() 
-  {
-    if (isValid())
-    {
-      return;
-    }
-    super.validate();	
-    postLayout();
-  }
-
-
-  protected void postLayout()
-  {
-    LayoutManager layoutManager = getLayoutManager();
-    if (layoutManager instanceof PostLayoutManager)
-    {
-      ((PostLayoutManager)layoutManager).postLayout(this);    
-    }  
-  }  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerLayout.java
deleted file mode 100644
index 0a13f10..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ContainerLayout.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.wst.xsd.ui.internal.gef.util.figures.SpacingFigure;
-
-public class ContainerLayout extends AbstractLayout implements PostLayoutManager
-{                                         
-  protected boolean isHorizontal;
-  protected int spacing = 0;
-  protected int border = 0;
- 
-  public ContainerLayout()
-  { 
-    this(true, 0); 
-  }             
-
-  public ContainerLayout(boolean isHorizontal, int spacing)
-  {
-    this.isHorizontal = isHorizontal;   
-    this.spacing = spacing;
-  }  
-
-  public void setHorizontal(boolean isHorizontal)
-  {
-    this.isHorizontal = isHorizontal;
-  }  
-
-  public void setSpacing(int spacing)
-  {
-    this.spacing = spacing;
-  }  
-
-  public void setBorder(int border)
-  {
-    this.border = border;
-  }   
-
-  /**
-   * Calculates and returns the preferred size of the container 
-   * given as input.
-   * 
-   * @param figure  Figure whose preferred size is required.
-   * @return  The preferred size of the passed Figure.
-   * @since 2.0
-   */
-  protected Dimension calculatePreferredSize(IFigure parent, int w, int h)
-  { 
-    Dimension preferred = null;                                              
-                                  
-    // Here we ensure that an unexpanded container is given a size of (0,0)
-    //
-    if (parent instanceof GraphNodeContainerFigure)
-    {
-      GraphNodeContainerFigure graphNodeContainerFigure = (GraphNodeContainerFigure)parent;
-      if (!graphNodeContainerFigure.isExpanded())
-      {
-        preferred = new Dimension(); 
-      }
-    }   
-    
-    if (preferred == null)
-    {
-      preferred = new Dimension();
-      List children = parent.getChildren();
-                                            
-      for (int i=0; i < children.size(); i++)
-      {
-        IFigure child = (IFigure)children.get(i);      
-    
-        Dimension childSize = child.getPreferredSize();
-        /*
-        if (child instanceof Interactor)
-        {          
-          childSize.width = 9;
-          childSize.height = 9;
-        }*/  
-    
-        if (isHorizontal)
-        {
-          preferred.width += childSize.width;
-          preferred.height = Math.max(preferred.height, childSize.height);
-        }
-        else
-        {  
-          preferred.height += childSize.height;
-          preferred.width = Math.max(preferred.width, childSize.width);
-        }
-      }                                                 
-
-      int childrenSize = children.size();
-      if (childrenSize > 1)
-      {                      
-        if (isHorizontal)    
-        {
-          preferred.width += spacing * (childrenSize - 1);
-        }
-        else
-        {
-          preferred.height += spacing * (childrenSize - 1);
-        } 
-      }
-                            
-      preferred.width += border * 2;
-      preferred.height += border * 2;
-      preferred.width += parent.getInsets().getWidth();
-      preferred.height += parent.getInsets().getHeight();      
-    }
-    return preferred;
-  }
-
-                
-  protected int alignFigure(IFigure parent, IFigure child)
-  {         
-    int y = -1;                                                            
-    return y;
-  }
-
-  public void layout(IFigure parent)
-  {                        
-    List children = parent.getChildren();
-    Dimension preferred = new Dimension();
-
-    int rx = 0;
-    for (int i=0; i < children.size(); i++)
-    {
-      IFigure child = (IFigure)children.get(i);
-      Dimension childSize = child.getPreferredSize();
-      if (isHorizontal)
-      {   
-        preferred.height = Math.max(preferred.height, childSize.height);
-        rx += childSize.width;
-      }
-      else
-      {
-        preferred.width = Math.max(preferred.width, childSize.width);
-      }
-    }
-
-    if (isHorizontal)
-    {
-      preferred.height += border*2;
-      preferred.width += border;
-    }
-    else
-    {
-      preferred.width += border*2;
-      preferred.height += border;
-    }
-
-    int childrenSize = children.size(); 
-    for (int i=0; i < childrenSize; i++)
-    {
-      IFigure child = (IFigure)children.get(i);
-      Dimension childSize = child.getPreferredSize();
-      
-      if (isHorizontal)
-      {   
-        int y = alignFigure(parent, child);             
-
-      
-        if (y == -1)
-        {
-           y = (preferred.height - childSize.height) / 2;                                      
-        }      
-
-        Rectangle rectangle = new Rectangle(preferred.width, y, childSize.width, childSize.height);   
-        rectangle.translate(parent.getClientArea().getLocation());
-
-        child.setBounds(rectangle);         
-        preferred.width += childSize.width; 
-        preferred.width += spacing;   
-        
-        if (child instanceof SpacingFigure)
-        {          
-          int availableHorizontalSpace = parent.getClientArea().width - rx;
-          preferred.width += availableHorizontalSpace;
-        } 
-      }
-      else
-      {
-        Rectangle rectangle = new Rectangle(0, preferred.height, childSize.width, childSize.height);
-        rectangle.translate(parent.getClientArea().getLocation());
-        child.setBounds(rectangle);  
-        preferred.height += childSize.height;
-        preferred.height += spacing;
-      }
-    }     
-  }      
-  
-  public void postLayout(IFigure figure)
-  {       
-    // This method attempts to align a 'FloatableFigure' (e.g. an Element node) 
-    // with any content that it is connected to.  This way a chain of connected figures
-    // will be vertically aligned (e.g. element -> modelgroup -> element).  Any visible clipping of the
-    // figures in the graph is probably a result of a bug in this code that results in a 'FloatableFigure' being
-    // repositioned beyond the bounds of its parent.
-    //     
-    for (Iterator i = figure.getChildren().iterator(); i.hasNext();)
-    {
-      IFigure child = (IFigure)i.next();
-      if (child instanceof FloatableFigure)       
-      {        
-        FloatableFigure floatableFigure = (FloatableFigure)child;
-        GraphNodeFigure graphNodeFigure = floatableFigure.getGraphNodeFigure(); 
-        if (graphNodeFigure.isExpanded() && graphNodeFigure.getChildGraphNodeFigures().size() == 1)
-        {
-          GraphNodeFigure alignedChild = (GraphNodeFigure)graphNodeFigure.getChildGraphNodeFigures().get(0);      
-          Rectangle alignedChildBounds = alignedChild.getConnectionRectangle();                            
-          Rectangle childBounds = child.getBounds();
-        
-          int l = childBounds.y + childBounds.height/2;
-          int r = alignedChildBounds.y + alignedChildBounds.height/2;       
-          int delta = r - l;
-
-          fixUp(child, delta);
-        }          
-      }
-    }      
-  }      
-  
-  protected void fixUp(IFigure figure, int delta)
-  { 
-    Rectangle bounds = figure.getBounds();
-    bounds.y += delta;
-    figure.setBounds(bounds);
-      
-    for (Iterator i = figure.getChildren().iterator(); i.hasNext(); )
-    {
-      IFigure child = (IFigure)i.next();
-      fixUp(child, delta);
-    }                       
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ExpandableGraphNodeFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ExpandableGraphNodeFigure.java
deleted file mode 100644
index e339103..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/ExpandableGraphNodeFigure.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-            
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-              
-
-//  ------------------------------------------------------------
-//  | ExpandableGraphNodeFigure                                |
-//  |                                                          |
-//  |   ----------------------------------   ---------------   |
-//  |   | verticalGroup                  |   |             |   |
-//  |   |                                |   |             |   |
-//  |   | -----------------------------  |   |             |   |
-//  |   | | horizontalGroup           |  |   |             |   |
-//  |   | |                           |  |   |             |   |
-//  |   | | ---------------------     |  |   |             |   |
-//  |   | | | outlinedArea      |     |  |   |             |   |
-//  |   | | | ----------------- |     |  |   |  outer      |   |
-//  |   | | | | iconArea      | |     |  |   |  Content    |   |
-//  |   | | | ----------------- | [+] |  |   |  Area       |   |
-//  |   | | | ----------------- |     |  |   |             |   |
-//  |   | | | | innerContent  | |     |  |   |             |   |
-//  |   | | | ----------------- |     |  |   |             |   |
-//  |   | | ---------------------     |  |   |             |   |
-//  |   | -----------------------------  |   |             |   |
-//  |   |                                |   |             |   |
-//  |   |   ------------------           |   |             |   |
-//  |   |   | occurenceArea  |           |   |             |   |
-//  |   |   ------------------           |   |             |   |
-//  |   ----------------------------------   ---------------   |
-//  ------------------------------------------------------------
-
-public class ExpandableGraphNodeFigure extends RepeatableGraphNodeFigure
-{                        
-  protected ContainerFigure horizontalGroup;
-  protected Interactor interactor; 
-  protected ContainerFigure outerContentArea;
-
-  public boolean isExpanded()
-  {
-    return interactor.isExpanded();
-  }   
-
-  public void setExpanded(boolean isExpanded)
-  {
-    interactor.setExpanded(isExpanded);
-  }
-  
-  public ExpandableGraphNodeFigure()
-  {
-    super();    
-    isConnected = true;
-  }      
-
-  protected void createFigure()
-  {   
-    createPreceedingSpace(this);           
-    createVerticalGroup(this);
-    createHorizontalGroup(verticalGroup);
-    createOutlinedArea(horizontalGroup);   
-    createInteractor(horizontalGroup);
-    createOccurenceArea(verticalGroup);   
-    createOuterContentArea(this);
-  }
-  
-  protected void createVerticalGroup(IFigure parent)
-  {
-    verticalGroup = new FloatableFigure(this);
-    verticalGroup.getContainerLayout().setHorizontal(false);
-    parent.add(verticalGroup);
-  }
-
-  protected void createHorizontalGroup(IFigure parent)
-  {
-    horizontalGroup = new ContainerFigure();
-    parent.add(horizontalGroup);
-  }                 
-
-  protected void createInteractor(IFigure parent)
-  {
-    interactor = new Interactor();
-    interactor.setForegroundColor(ColorConstants.black);
-    interactor.setBackgroundColor(ColorConstants.white); 
-    parent.add(interactor);
-  } 
-
-  protected void createOuterContentArea(IFigure parent)
-  {
-    // create a small space between the interactor and the contentArea
-    //
-    RectangleFigure space = new RectangleFigure();
-    space.setVisible(false);
-    space.setPreferredSize(new Dimension(5, 10));
-    parent.add(space);   
-      
-    outerContentArea = new GraphNodeContainerFigure(this);
-    outerContentArea.getContainerLayout().setHorizontal(false);
-    parent.add(outerContentArea);
-  }
-
-  public Interactor getInteractor()
-  {
-    return interactor;
-  } 
-
-  public ContainerFigure getOuterContentArea()
-  {
-    return outerContentArea;
-  }
-     
-  public IFigure getConnectionFigure()
-  {
-    return horizontalGroup;
-  }
-
-  public Rectangle getConnectionRectangle()
-  {
-    return horizontalGroup.getBounds();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FillLayout.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FillLayout.java
deleted file mode 100644
index e358c0c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FillLayout.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-
-/**
- * Figures using the StackLayout as their layout manager have
- * their children placed on top of one another. Order of 
- * placement is determined by the order in which the children
- * were added, first child added placed on the bottom.
- */
-public class FillLayout extends AbstractLayout
-{
-         
-protected boolean isHorizontal = false;                    
-protected int spacing = 0;
-public Dimension min;  
-
-public FillLayout(){}     
-public FillLayout(boolean dummy){} 
-
-public FillLayout(int spacing)
-{ 
-  this.spacing = spacing; 
-}
-
-public void setHorizontal(boolean isHorizontal)
-{
- this.isHorizontal = isHorizontal;
-}
-
-/**
- * Calculates and returns the preferred size of the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- *
- * @param figure  Container figure for which preferred size is required.
- * @return  The preferred size of the input figure.
- * @since 2.0
- */
-protected Dimension calculatePreferredSize(IFigure figure, int w, int h)
-{	                 
-  Dimension d = calculatePreferredClientAreaSize(figure);
-	d.expand(figure.getInsets().getWidth(),
-	         figure.getInsets().getHeight());
-	//d.union(getBorderPreferredSize(figure));
-	return d;
-} 
-
-protected Dimension calculatePreferredClientAreaSize(IFigure figure)
-{
-  Dimension d = new Dimension();
-	List children = figure.getChildren(); 
-
-
-	for (Iterator i = children.iterator(); i.hasNext(); )
-  {
-		IFigure child = (IFigure)i.next();
-    Dimension childSize = child.getPreferredSize();
-
-    if (isHorizontal)
-    {
-      d.width += childSize.width;
-      d.height = Math.max(childSize.height, d.height);
-    }
-    else
-    {
-      d.height += childSize.height;
-      d.width = Math.max(childSize.width, d.width);
-    }
-	}	 
-
-                   
-  int childrenSize = children.size();       
-  if (childrenSize > 0)
-  {
-    if (isHorizontal)
-      d.width += spacing * (childrenSize - 1); 
-    else
-      d.height += spacing * (childrenSize - 1);
-  }       
-    
-  if (min != null)
-  {
-    d.width = Math.max(d.width, min.width);
-    d.height = Math.max(d.height, min.height);
-  }
-  return d;
-}
-
-/*
- * Returns the minimum size required by the input container.
- * This is the size of the largest child of the container, as all
- * other children fit into this size.
- */
-public Dimension getMinimumSize(IFigure figure, int w, int h)
-{
-	Dimension d = new Dimension();
-	List children = figure.getChildren();
-	IFigure child;
-	for (int i=0; i < children.size(); i++){
-		child = (IFigure)children.get(i);
-		d.union(child.getMinimumSize());
-	}
-	d.expand(figure.getInsets().getWidth(),
-	         figure.getInsets().getHeight());
-	return d;
-}
-
-public Dimension getPreferredSize(IFigure figure, int w, int h)
-{
-	return calculatePreferredSize(figure, w, h);
-}
-
-/*
- * Lays out the children on top of each other with
- * their sizes equal to that of the available
- * paintable area of the input container figure.
- */
-public void layout(IFigure figure){   
-                     
-  Dimension	preferredSize = calculatePreferredClientAreaSize(figure);
-	Rectangle r = figure.getClientArea().getCopy(); 
-
-	List children = figure.getChildren();
-                                        
-	for (Iterator i = children.iterator(); i.hasNext(); )
-  {
-		IFigure child = (IFigure)i.next();
-    Dimension childSize = child.getPreferredSize();
-
-    if (isHorizontal)
-    {
-		  child.setBounds(new Rectangle(r.x, r.y, childSize.width, Math.max(preferredSize.height, r.height)));
-      r.x += childSize.width + spacing;
-    }
-    else
-    {            
-		  child.setBounds(new Rectangle(r.x, r.y, Math.max(preferredSize.width, r.width), childSize.height));
-      r.y += childSize.height + spacing;
-    }
-	}
-}
-} 
- 
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FloatableFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FloatableFigure.java
deleted file mode 100644
index c224145..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/FloatableFigure.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-            
-              
-
-public class FloatableFigure extends ContainerFigure
-{               
-  public GraphNodeFigure graphNodeFigure;  
-
-  public FloatableFigure(GraphNodeFigure graphNodeFigure)
-  {                  
-    super();
-    this.graphNodeFigure = graphNodeFigure;
-  }   
-
-  public GraphNodeFigure getGraphNodeFigure()
-  {
-    return graphNodeFigure;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeContainerFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeContainerFigure.java
deleted file mode 100644
index c06a655..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeContainerFigure.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-            
-              
-
-public class GraphNodeContainerFigure extends ContainerFigure
-{               
-  public ExpandableGraphNodeFigure expandableGraphNodeFigure;  
-
-  public GraphNodeContainerFigure(ExpandableGraphNodeFigure expandableGraphNodeFigure)
-  {                  
-    super();
-    this.expandableGraphNodeFigure = expandableGraphNodeFigure;
-  }     
-
-  public boolean isExpanded()
-  {
-    return expandableGraphNodeFigure.isExpanded();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeFigure.java
deleted file mode 100644
index 3d9706d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/GraphNodeFigure.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-            
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-              
-
-//  ------------------------------
-//  | GraphNodeFigure            |
-//  |                            |
-//  | -------------------------  |
-//  | | vertical group        |  |
-//  | | --------------------- |  |
-//  | | | outlined area     | |  |
-//  | | | ----------------- | |  |
-//  | | | | icon area     | | |  |
-//  | | | ----------------- | |  |
-//  | | | ----------------- | |  |
-//  | | | | inner content | | |  |
-//  | | | ----------------- | |  |
-//  | | --------------------- |  |
-//  | -------------------------  |
-//  ------------------------------
-
-public class GraphNodeFigure extends ContainerFigure
-{                        
-  protected ContainerFigure verticalGroup; 
-  protected ContainerFigure outlinedArea;
-  protected ContainerFigure iconArea;
-  protected ContainerFigure innerContentArea; 
-         
-  protected boolean isConnected;
-  protected boolean isIsolated;
-
-  protected List childGraphNodeFigures = new ArrayList();
-  protected GraphNodeFigure parentGraphNodeFigure; 
-
-  public GraphNodeFigure()
-  { 
-    isIsolated = false;
-    createFigure();
-  }      
-
-  public boolean isExpanded()
-  {
-    return true;
-  }    
-
-  public boolean isConnected()
-  {
-    return isConnected;
-  }                    
-
-  public void setConnected(boolean isConnected)
-  {
-    this.isConnected = isConnected;
-  }
-
-  public void setIsIsolated(boolean isIsolated)
-  {
-    this.isIsolated = isIsolated; 
-  }
-
-  public boolean getIsIsolated()
-  {
-    return isIsolated; 
-  }
-
-  protected void createFigure()
-  {
-    createVerticalGroup(this);
-    createOutlinedArea(verticalGroup); 
-  }
-
-  protected void createVerticalGroup(IFigure parent)
-  {
-    verticalGroup = new ContainerFigure();
-    verticalGroup.getContainerLayout().setHorizontal(false);
-    parent.add(verticalGroup);
-  }
-
-  protected void createOutlinedArea(IFigure parent)
-  { 
-    outlinedArea = new ContainerFigure();
-    outlinedArea.getContainerLayout().setHorizontal(false);
-    parent.add(outlinedArea);      
-     
-    iconArea = new ContainerFigure();
-    outlinedArea.add(iconArea);
-
-    innerContentArea = new ContainerFigure();
-    innerContentArea.getContainerLayout().setHorizontal(false);
-    outlinedArea.add(innerContentArea);  
-  }   
-
-  public ContainerFigure getIconArea()
-  {
-    return iconArea;
-  }
-
-  public ContainerFigure getOutlinedArea()
-  {
-    return outlinedArea;
-  }
-
-  public ContainerFigure getInnerContentArea()
-  {
-    return innerContentArea;
-  } 
-
-  public IFigure getConnectionFigure()
-  {
-    return outlinedArea;
-  }
-
-  public Rectangle getConnectionRectangle()
-  {
-    return outlinedArea.getBounds();
-  }
-
-  public List getChildGraphNodeFigures()
-  {
-    return childGraphNodeFigures;
-  }
-
-  public void addNotify()                     
-  {
-    super.addNotify();                 
-    if (isConnected())
-    {
-      parentGraphNodeFigure = computeParentGraphNodeFigure(this);
-      if (parentGraphNodeFigure != null)
-      {   
-        parentGraphNodeFigure.getChildGraphNodeFigures().add(this);
-      }   
-    }
-  } 
-
-  public void removeNotify()
-  {     
-    super.removeNotify();
-    if (parentGraphNodeFigure != null)
-    {   
-      parentGraphNodeFigure.getChildGraphNodeFigures().remove(this);
-    }  
-  }
-
-  public GraphNodeFigure getParentGraphNodeFigure()
-  {
-    return parentGraphNodeFigure;
-  }  
-
-  public GraphNodeFigure computeParentGraphNodeFigure(IFigure figure)
-  {                   
-    GraphNodeFigure result = null;
-    IFigure parent = figure != null ? figure.getParent() : null;
-    while (parent != null)
-    {
-      if (parent instanceof GraphNodeFigure)
-      {    
-        GraphNodeFigure parentGraphNodeFigure = (GraphNodeFigure)parent;
-        if (parentGraphNodeFigure.isConnected())
-        {
-          result = (GraphNodeFigure)parent;
-          break;
-        }
-      }
-      parent = parent.getParent();
-    }   
-    return result;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/Interactor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/Interactor.java
deleted file mode 100644
index 7a64b8f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/Interactor.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-            
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * Interactor the +/- control commonly found in trees
- */
-public class Interactor extends RectangleFigure
-{
-  protected boolean isExpanded;
-
-  public Interactor()
-  {
-    super(); 
-    setPreferredSize(new Dimension(9, 9));               
-  }  
-
-  public void setExpanded(boolean isExpanded)
-  {                                         
-    this.isExpanded = isExpanded;
-  }
-
-  public boolean isExpanded()
-  {
-    return isExpanded;
-  }
-    
-  protected void fillShape(Graphics g)
-  {
-    super.fillShape(g);
-    Rectangle r = getBounds();                          
-    int mx = r.x + r.width / 2;
-    int my = r.y + r.height / 2;    
-    int s = 2;       
-    g.drawLine(r.x + s, my, r.x + r.width - s - 1, my); 
-    if (!isExpanded)
-    {
-      g.drawLine(mx, r.y + s, mx, r.y + r.height - s -1);
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/LabelFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/LabelFigure.java
deleted file mode 100644
index 04c82b8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/LabelFigure.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-            
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-              
-
-public class LabelFigure extends Figure
-{                                                
-  protected String text = "";  
-  protected boolean isShowEmptyLabel = true;
-  protected int left = 4; 
-  protected int right = 4; 
-  protected int textHeight;
-  protected int textWidth;
-                       
-  public LabelFigure()
-  {
-    setPreferredSize(new Dimension());
-  }  
-
-  protected void setLeft(int left)
-  {
-    this.left = left;
-  }
-
-  protected void setRight(int right)
-  {
-    this.right = right;
-  }
-
-  public void setShowEmptyLabel(boolean isShowEmptyLabel)
-  {
-    this.isShowEmptyLabel = isShowEmptyLabel;
-  }     
-       
-
-  public void setText(String s)
-  { 
-	  if (s == null)
-		  s = "";
-
-    if (!text.equals(s))
-    {
-	    text = s;
-      if (text.length() > 0 || isShowEmptyLabel)
-      {
-        textHeight = FigureUtilities.getFontMetrics(getFont()).getHeight();
-        textWidth = FigureUtilities.getTextWidth(text, getFont());
-        textWidth = Math.max(textWidth, FigureUtilities.getTextWidth("abcdefg", getFont()));
-        setPreferredSize(new Dimension(textWidth + left + right, textHeight));
-      } 
-      else
-      {
-        setPreferredSize(new Dimension());
-      } 
-    }   
-    //revalidate(); 
-    //repaint();
-  }
-
-
-  
-  protected void paintFigure(Graphics graphics)
-  //protected void fillShape(Graphics graphics)
-  {  
-    super.paintFigure(graphics);
-    //super.fillShape(graphics);
-    if (text.length() > 0)
-    {
-      Rectangle r = getBounds();
-		  graphics.setForegroundColor(getForegroundColor());
-      graphics.drawString(text, left + r.x, r.y);// + (r.width - textWidth)/2, r.y + (r.height - textHeight)/2);           
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/PostLayoutManager.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/PostLayoutManager.java
deleted file mode 100644
index 21a1f54..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/PostLayoutManager.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.IFigure;
-
-
-public interface PostLayoutManager
-{
-  public void postLayout(IFigure figure);                    
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RepeatableGraphNodeFigure.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RepeatableGraphNodeFigure.java
deleted file mode 100644
index fd8d249..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RepeatableGraphNodeFigure.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.wst.xsd.ui.internal.graph.GraphicsConstants;
-
-
-              
-
-//  ------------------------------
-//  | RepeatableGraphNodeFigure  |
-//  |                            |
-//  | -------------------------  |
-//  | | vertical group        |  |
-//  | | --------------------- |  |
-//  | | | outlined area     | |  |
-//  | | | ----------------- | |  |
-//  | | | | icon area     | | |  |
-//  | | | ----------------- | |  |
-//  | | | ----------------- | |  |
-//  | | | | inner content | | |  |
-//  | | | ----------------- | |  |
-//  | | --------------------- |  |
-//  | |                       |  |
-//  | | ------------------    |  |
-//  | | | occurence area |    |  |
-//  | | ------------------    |  |
-//  | -------------------------  |
-//  ------------------------------
-
-public class RepeatableGraphNodeFigure extends GraphNodeFigure
-{                            
-  protected ContainerFigure occurenceArea;  
-  protected LabelFigure occurenceLabel; 
-
-  public RepeatableGraphNodeFigure()
-  {    
-    super();          
-  }     
-
-  protected void createFigure()
-  {                  
-    createPreceedingSpace(this);
-    createVerticalGroup(this);
-    createOutlinedArea(verticalGroup); 
-    createOccurenceArea(verticalGroup);
-  }
-
-  protected void createOccurenceArea(IFigure parent)
-  {
-    occurenceArea = new ContainerFigure();   
-    occurenceLabel = new LabelFigure();
-    occurenceLabel.setForegroundColor(ColorConstants.black);
-    occurenceLabel.setShowEmptyLabel(false);
-    occurenceLabel.setFont(GraphicsConstants.medium); 
-    occurenceArea.add(occurenceLabel);               
-    parent.add(occurenceArea);
-  }
-                                 
-  protected void createPreceedingSpace(IFigure parent)
-  {
-    // create a small space
-    RectangleFigure space = new RectangleFigure();
-    space.setVisible(false);
-    space.setPreferredSize(new Dimension(10, 10));
-    parent.add(space);  
-  } 
-
-  public LabelFigure getOccurenceLabel()
-  {
-    return occurenceLabel;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RoundedLineBorder.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RoundedLineBorder.java
deleted file mode 100644
index 75dbff7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/figures/RoundedLineBorder.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.figures;
-            
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.swt.graphics.Color;
-              
-
-public class RoundedLineBorder extends LineBorder
-{               
-  protected int arcLength;   
-  protected int lineStyle = Graphics.LINE_SOLID;
-
-  public RoundedLineBorder(Color c, int width, int arcLength)
-  {
-	  super(c, width);     
-    this.arcLength = arcLength;
-  }
-
-  public RoundedLineBorder(int width, int arcLength)
-  {
-	  super(width);     
-    this.arcLength = arcLength;
-  }
-  
-  public RoundedLineBorder(Color c, int width, int arcLength, int lineStyle)
-  {
-    super(c, width);
-    this.arcLength = arcLength;
-    this.lineStyle = lineStyle;
-  }
-
-  public RoundedLineBorder(int width, int arcLength, int lineStyle)
-  {
-    super(width);
-    this.arcLength = arcLength;
-    this.lineStyle = lineStyle;
-  }
-
-  public void paint(IFigure figure, Graphics graphics, Insets insets)
-  {
-      int rlbWidth = getWidth();
-	  tempRect.setBounds(getPaintRectangle(figure, insets));
-  	if (rlbWidth%2 == 1)
-    {
-		  tempRect.width--;
-		  tempRect.height--;
-	  }
-	  tempRect.shrink(rlbWidth/2,rlbWidth/2);
-	  graphics.setLineWidth(rlbWidth);
-    graphics.setLineStyle(lineStyle);
-	  if (getColor() != null)
-		  graphics.setForegroundColor(getColor());
-	  graphics.drawRoundRectangle(tempRect, arcLength, arcLength);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/Category.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/Category.java
deleted file mode 100644
index bd99148..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/Category.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.model;
-                                   
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-
-public class Category implements ModelAdapter
-{
-  public final static int ATTRIBUTES = 1;
-  public final static int ELEMENTS = 2;
-  public final static int TYPES = 3;
-  public final static int GROUPS = 5;
-  public final static int DIRECTIVES = 6;
-  public final static int NOTATIONS = 7;
-  public final static int ATTRIBUTE_GROUPS = 8;
-  public final static int IDENTITY_CONSTRAINTS = 9;
-  public final static int ANNOTATIONS = 10;
-
-  
-  protected XSDSchema schema;
-  protected int groupType;
-
-  //public void modelNameChanged();
-  public Category(XSDSchema schema, int groupType)
-  {
-    this.schema = schema;
-    this.groupType = groupType;
-  }       
-
-  public int getGroupType()
-  {
-    return groupType;
-  }   
-
-  public XSDSchema getXSDSchema()
-  {
-    return schema;
-  }
-
-  public String getName()
-  {
-    String name = "";
-    switch (groupType)
-    {
-      case ATTRIBUTES       : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_ATTRIBUTES"); break; }
-      case NOTATIONS        : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_NOTATIONS"); break; }
-      case ELEMENTS         : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_ELEMENTS"); break; }
-      case TYPES             : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_TYPES"); break; }    
-      case GROUPS           : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_GROUPS"); break; }      
-      case DIRECTIVES       : { name = XSDEditorPlugin.getXSDString("_UI_GRAPH_DIRECTIVES"); break; }
-    }      
-    return name;
-  }
-              
-  public List getChildren()
-  {                      
-    List list = Collections.EMPTY_LIST;
-    switch (groupType)
-    {
-      case ATTRIBUTES       : { list = getAttributeList(); break; }
-      case NOTATIONS        : { list = getNotations(); break; }
-      case ELEMENTS         : { list = getGlobalElements(); break; }
-      case TYPES            : { list = getTypes();  break; }
-      case GROUPS           : { list = getGroups(); break; }
-      case DIRECTIVES       : { list = getDirectives(); break; }
-    }      
-    return list;
-  }
-  
-  private boolean isSameNamespace(String ns1, String ns2)
-  {
-    if (ns1 == null) ns1 = "";
-    if (ns2 == null) ns2 = "";
-    
-    if (ns1.equals(ns2))
-    {
-      return true;
-    }
-    return false;
-  }
-  
-  protected List getGlobalElements()
-  {
-    List elements = schema.getElementDeclarations();
-    List list = new ArrayList();
-    for (Iterator i = elements.iterator(); i.hasNext(); )
-    {
-      XSDElementDeclaration elem = (XSDElementDeclaration)i.next();
-      String targetNamespace = elem.getTargetNamespace();
-      if (isSameNamespace(elem.getTargetNamespace(),schema.getTargetNamespace()))
-      {
-        list.add(elem);
-      }
-    }                
-    return list;
-  }
-
-  protected List getTypes()
-  {
-    List allTypes = schema.getTypeDefinitions();
-    List list = new ArrayList();
-    for (Iterator i = allTypes.iterator(); i.hasNext(); )
-    {
-      XSDTypeDefinition td = (XSDTypeDefinition)i.next();
-      if (td instanceof XSDComplexTypeDefinition)
-      {
-        XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)td;
-        if (isSameNamespace(ct.getTargetNamespace(),schema.getTargetNamespace()))
-        {
-          list.add(ct);
-        }
-      }
-    }                
-
-//    List simpleTypes = schema.getTypeDefinitions();
-    for (Iterator i = allTypes.iterator(); i.hasNext(); )
-    {
-      XSDTypeDefinition td = (XSDTypeDefinition)i.next();
-      if (td instanceof XSDSimpleTypeDefinition)
-      {
-        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)td;
-        if (isSameNamespace(st.getTargetNamespace(),schema.getTargetNamespace()))
-        {
-          list.add(st);
-        }
-      }
-    }                
-    return list;
-  }
-  
-  protected List getGroups()
-  {
-    List groups = schema.getModelGroupDefinitions();
-    List list = new ArrayList();
-    for (Iterator i = groups.iterator(); i.hasNext(); )
-    {
-      XSDModelGroupDefinition group = (XSDModelGroupDefinition)i.next();
-      if (isSameNamespace(group.getTargetNamespace(),schema.getTargetNamespace()))
-      {
-        list.add(group);
-      }
-    }                
-    return list;
-  }
-  
-  protected List getDirectives()
-  {                 
-    List list = new ArrayList();
-    for (Iterator i = schema.getContents().iterator(); i.hasNext(); )
-    {
-      Object o = i.next();
-      if (o instanceof XSDSchemaDirective)
-      {
-        list.add(o);
-      }
-    } 
-    return list;
-  }
-
-  protected List getAttributeList()
-  {
-    List attributesList = new ArrayList();
-    for (Iterator iter = schema.getAttributeDeclarations().iterator(); iter.hasNext(); )
-    {
-      Object o = iter.next();
-      if (o instanceof XSDAttributeDeclaration)
-      {
-        XSDAttributeDeclaration attr = (XSDAttributeDeclaration)o;
-        if (attr != null)
-        {
-          if (attr.getTargetNamespace() != null)
-          {
-            if (!(attr.getTargetNamespace().equals("http://www.w3.org/2001/XMLSchema-instance")))
-            {
-              if (isSameNamespace(attr.getTargetNamespace(), schema.getTargetNamespace()))
-              {
-                attributesList.add(attr);
-              }
-            }
-          }
-          else
-          {
-            if (isSameNamespace(attr.getTargetNamespace(),schema.getTargetNamespace()))
-            {
-              attributesList.add(attr);
-            }
-          }
-        }
-      }
-    }
-    return attributesList;
-  }
-
-  protected List getNotations()
-  {
-    List notations = schema.getNotationDeclarations();
-    List list = new ArrayList();
-    for (Iterator i = notations.iterator(); i.hasNext(); )
-    {
-      XSDNotationDeclaration notation = (XSDNotationDeclaration)i.next();
-      if (isSameNamespace(notation.getTargetNamespace(),schema.getTargetNamespace()))
-      {
-        list.add(notation);
-      }
-    }                
-    return list;
-  }
-  
-  //
-  protected List listenerList = new ArrayList();
-                                                                                           
-  public void addListener(ModelAdapterListener l)
-  {
-    listenerList.add(l);
-  }  
-
-  public void removeListener(ModelAdapterListener l)
-  {
-    listenerList.remove(l);
-  } 
-
-  public Object getProperty(Object modelObject, String propertyName)
-  {
-    return null;
-  }
-
-  public void firePropertyChanged(Object modelObject, String propertyName)
-  {
-    List newList = new ArrayList();
-    newList.addAll(listenerList);
-    for (Iterator i = newList.iterator(); i.hasNext(); )
-    {
-      ModelAdapterListener l = (ModelAdapterListener)i.next();                  
-      try
-      {
-        l.propertyChanged(modelObject, propertyName);
-      }
-      catch (Exception e)
-      {
-      }
-    }
-  }  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapter.java
deleted file mode 100644
index 3066987..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.model;
-
-
-
-public interface ModelAdapter
-{               
-  public static final String CHILDREN_PROPERTY = "CHILDREN_PROPERTY";
-  public static final String LABEL_PROPERTY = "LABEL_PROPERTY";
-  public static final String IMAGE_PROPERTY = "IMAGE_PROPERTY";
-  public static final String DETAIL_PROPERTY = "DETAIL_PROPERTY";
-                                       
-  public void addListener(ModelAdapterListener l);
-  public void removeListener(ModelAdapterListener l);
-  public Object getProperty(Object modelObject, String propertyName); 
-  public void firePropertyChanged(Object modelObject, String propertyName);
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapterListener.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapterListener.java
deleted file mode 100644
index ff6e4db..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/ModelAdapterListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.model;
-
-
-
-public interface ModelAdapterListener
-{                             
-  public void propertyChanged(Object object, String property);
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/XSDModelAdapterFactory.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/XSDModelAdapterFactory.java
deleted file mode 100644
index 471aebb..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/model/XSDModelAdapterFactory.java
+++ /dev/null
@@ -1,511 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.graph.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDAbstractAdapter;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDModelAdapterFactoryImpl;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDSwitch;
-
-
-
-
-public class XSDModelAdapterFactory
-{  
-  protected static XSDModelAdapterFactory instance;
-  protected static XSDAdapterFactoryImpl xsdAdapterFactoryImpl = new XSDAdapterFactoryImpl();
-                                              
-  public static XSDModelAdapterFactory getInstance()
-  {
-    if (instance == null)
-    {
-      instance = new XSDModelAdapterFactory();
-    }                                         
-    return instance;
-  }
-
-
-  public static ModelAdapter getAdapter(Object o)
-  {                             
-    ModelAdapter result = null;
-    if (o instanceof Notifier)
-    {                                
-      Notifier target = (Notifier)o;
-		  Adapter adapter = xsdAdapterFactoryImpl.adapt(target);
-      if (adapter instanceof XSDObjectAdapter)
-      {
-        result = (XSDObjectAdapter)adapter;
-      }
-    }                              
-    else if (o instanceof ModelAdapter)
-    {
-      result = (ModelAdapter)o;
-    }
-    return result;
-  }             
-    
-
-  public static XSDObjectAdapter getExisitingAdapter(Object xsdObject)
-  {  
-    XSDObjectAdapter result = null;
-    if (xsdObject instanceof Notifier)
-    {                                
-      Notifier target = (Notifier)xsdObject;
-		  Adapter adapter = EcoreUtil.getExistingAdapter(target,xsdAdapterFactoryImpl);
-      if (adapter instanceof XSDObjectAdapter)
-      {
-        result = (XSDObjectAdapter)adapter;
-      }
-    }
-    return result;
-  }
-   
-  //
-  //
-  //
-  public static class XSDAdapterFactoryImpl extends AdapterFactoryImpl
-  {
-    public Adapter createAdapter(Notifier target)
-    {
-      XSDSwitch xsdSwitch = new XSDSwitch()
-      {                   
-        public Object caseXSDElementDeclaration(XSDElementDeclaration object)
-        {
-          return new XSDElementDeclarationAdapter(object);
-        }
-
-        public Object caseXSDSchema(XSDSchema object) 
-        {
-          return new XSDSchemaAdapter(object);
-        }
-
-        public Object defaultCase(EObject object) 
-        {
-          return new XSDObjectAdapter();
-        }         
-      };
-      Object o = xsdSwitch.doSwitch((EObject)target);
-
-      Adapter result = null;
-      if (o instanceof Adapter)
-      {
-        result  = (Adapter)o;
-      }
-      else
-      {          
-//        System.out.println("did not create adapter for target : " + target);
-//        Thread.dumpStack();
-      }
-      return result;
-    }      
-                               
-
-    public Adapter adapt(Notifier target)
-    {
-      return adapt(target, this);
-    }
-  }
-    
-
- 
-  //
-  //
-  //
-  protected static class XSDObjectAdapter extends AdapterImpl implements ModelAdapter
-  {   
-    protected List listenerList = new ArrayList();
-    protected boolean isUpdating = false;
-                                  
-    public boolean isAdapterForType(Object type)
-    {
-      return type == xsdAdapterFactoryImpl;
-    }                                             
-                
-    public void addListener(ModelAdapterListener l)
-    {
-      listenerList.add(l);
-    }  
-
-    public void removeListener(ModelAdapterListener l)
-    {
-      listenerList.remove(l);
-    } 
-                
-    public Object getProperty(Object modelObject, String propertyName)
-    {
-      Object result = null;
-      if (ModelAdapter.LABEL_PROPERTY.equals(propertyName))
-      {
-      	result = "";
-      	// TODO... move this logic into each adapter
-      	//
-        if (modelObject instanceof XSDNamedComponent)
-        {
-      	  result = ((XSDNamedComponent)modelObject).getName();
-        }
-        else if (modelObject instanceof XSDSchemaDirective)
-        {
-       	  result = ((XSDSchemaDirective)modelObject).getSchemaLocation();
-          if (result == null) result = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
-          if (result.equals("")) result = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
-          return result;
-        }
-      }
-      else if ("drillDown".equals(propertyName))
-      {
-      	// TODO... move this logic into each adapter
-      	//   
-      	List list = XSDChildUtility.getModelChildren(modelObject);	
-      	result = list.size() > 0 ? Boolean.TRUE : Boolean.FALSE;      	   
-      }      
-      else if (ModelAdapter.IMAGE_PROPERTY.equals(propertyName))
-      {
-      	// result = XSDEditorPlugin.getDefault().getImage("icons/XSDElement.gif");
-        XSDModelAdapterFactoryImpl factory = new XSDModelAdapterFactoryImpl();
-        Adapter adapter = factory.createAdapter((Notifier)modelObject);
-        result = ((XSDAbstractAdapter)adapter).getImage(modelObject);
-      }	
-      return result;
-    }
-
-    public void firePropertyChanged(Object modelObject, String propertyName)
-    {
-      List newList = new ArrayList();
-      newList.addAll(listenerList);
-      for (Iterator i = newList.iterator(); i.hasNext(); )
-      {
-        ModelAdapterListener l = (ModelAdapterListener)i.next();                  
-        try
-        {
-          l.propertyChanged(modelObject, propertyName);
-        }
-        catch (Exception e)
-        {
-        }
-      }
-    }  
-
-    public void notifyChanged(Notification msg)
-    {        
-      firePropertyChanged(msg.getNotifier(), null);
-    }     
-  }
-       
-
-     
-  //
-  //
-  //
-  protected static class XSDElementDeclarationAdapter extends XSDObjectAdapter implements ModelAdapterListener
-  {
-    protected XSDElementDeclaration ed;
-    protected XSDTypeDefinition typeDefinition;          
-
-    public XSDElementDeclarationAdapter(XSDElementDeclaration ed)
-    {
-      this.ed = ed;
-      updateTypeDefinition();
-    } 
-    
-    protected void updateTypeDefinition()
-    {
-      XSDTypeDefinition td = ed.getTypeDefinition();
-      td = (td instanceof XSDComplexTypeDefinition) ? td : null;
-      if (td != typeDefinition)
-      {                     
-        if (typeDefinition != null)
-        {
-          XSDObjectAdapter adapter = (XSDObjectAdapter)xsdAdapterFactoryImpl.adapt(typeDefinition);
-          adapter.removeListener(this);
-        }
-        typeDefinition = td;
-        if (typeDefinition != null)
-        {
-          XSDObjectAdapter adapter = (XSDObjectAdapter)xsdAdapterFactoryImpl.adapt(typeDefinition);
-          adapter.addListener(this);
-        }
-      }
-    } 
-
-
-    public void notifyChanged(Notification msg)
-    {
-      updateTypeDefinition();    
-      firePropertyChanged(msg.getNotifier(), null);                                                                          
-    } 
-
-
-    public void propertyChanged(Object object, String property)
-    {                         
-      // here we propagate typeDefinition changes to our listeners
-      firePropertyChanged(object, property);
-    }
-  }                         
-  
-
-  //
-  //
-  protected static class XSDSchemaAdapter extends XSDObjectAdapter
-  { 
-    protected XSDSchema schema;
-    protected List groups;            
-
-    public XSDSchemaAdapter(XSDSchema schema)
-    {
-      this.schema = schema;                         
-      groups = new ArrayList();                                       
-      groups.add(new Category(schema, Category.DIRECTIVES));
-      groups.add(new Category(schema, Category.ATTRIBUTES)); 
-      //groups.add(new Category(schema, Category.ATTRIBUTE_GROUPS));
-      groups.add(new Category(schema, Category.ELEMENTS));
-      groups.add(new Category(schema, Category.TYPES));
-      //groups.add(new Category(schema, Category.SIMPLE_TYPES));
-      groups.add(new Category(schema, Category.GROUPS));
-    }
-
-    public void notifyChanged(Notification msg)
-    {
-      super.notifyChanged(msg);
-      for (Iterator i = groups.iterator(); i.hasNext(); )
-      {
-        ModelAdapter group = (ModelAdapter)i.next();
-        group.firePropertyChanged(group, null);
-      }
-    }
-
-    public Object getProperty(Object modelObject, String propertyName)
-    {
-      Object result = null;
-      if ("groups".equals(propertyName))
-      { 
-        /*
-        List list = new ArrayList();
-        for (Iterator i = groups.iterator(); i.hasNext(); )
-        {
-          Category group = (Category)i.next();
-          if (group.getChildren().size() > 0)
-          {
-            list.add(group);
-          }
-        }
-        result = list;*/
-        result = groups;
-      }      
-      if (result == null)
-      {
-        result = super.getProperty(modelObject, propertyName);
-      }
-      return result;
-    }
-  }
-
-
-  public static void addModelAdapterListener(Object modelObject, ModelAdapterListener listener)
-  {                                                            
-    ModelAdapter modelAdapter = getModelAdapter(modelObject);
-    if (modelAdapter != null)
-    {
-      modelAdapter.addListener(listener);
-    }
-  }    
-
-
-  public static void removeModelAdapterListener(Object modelObject, ModelAdapterListener listener)
-  {                               
-    ModelAdapter modelAdapter = getModelAdapter(modelObject);
-    if (modelAdapter != null)
-    {
-      modelAdapter.removeListener(listener);
-    }
-  }   
-
-  protected static ModelAdapter getModelAdapter(Object modelObject)
-  {
-    ModelAdapter modelAdapter = null;                         
-    if (modelObject instanceof Notifier)
-    {
-      modelAdapter = (ModelAdapter)xsdAdapterFactoryImpl.adapt((Notifier)modelObject);
-    } 
-    else if (modelObject instanceof ModelAdapter)
-    {
-      modelAdapter = (ModelAdapter)modelObject;
-    } 
-    return modelAdapter;
-  }      
-}
-    
-
-
-// --------------------------------------------------------------------------------------------
-// todo... revist this stuff
-// --------------------------------------------------------------------------------------------
-
-  /*                   
-  public static void handleTypeChange(XSDTypeDefinition td, XSDSchema schema, int change)
-  {                                    
-    try
-    {
-      TypeFindingSchemaVisitor visitor = new TypeFindingSchemaVisitor(schema, td, change == Notification.ADD);
-      List list = visitor.findElementsUsingType(schema);          
-      
-      if (change == Notification.REMOVE)          
-      {
-        visitor.removeMatchingReferences();
-      }
-      else if (change == Notification.ADD)          
-      {
-        visitor.setMatchingReferences();
-      }
-      else
-      {
-        visitor.cleanUpTypeMismatches();        
-      }
-      
-      for (Iterator i = list.iterator(); i.hasNext(); )
-      {
-        Object o = i.next();  
-        XSDObjectAdapter adapter = getExisitingAdapter(o);
-        if (adapter != null)
-        { 
-          adapter.fireChildrenChangedNotification();
-        }
-      }          
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace();
-    }
-  }
-          
-
-  protected static class TypeFindingSchemaVisitor extends org.eclipse.wst.xsd.utility.XSDVisitor
-  {                           
-    protected XSDTypeDefinition td;
-    protected List list = new ArrayList();   
-    protected XSDSchema schema;                            
-    protected boolean matchByName;
-
-    public TypeFindingSchemaVisitor(XSDSchema schema, XSDTypeDefinition td, boolean matchByName)
-    {
-      this.td = td;                                 
-      this.schema = schema;
-      this.matchByName = matchByName;
-    }
-
-    public void visitElementDeclaration(XSDElementDeclaration ed)
-    {                                  
-      if (ed.getTypeDefinition() == td)
-      {                
-        list.add(ed);        
-      }  
-      else if (matchByName)
-      {          
-        String[] name = getDOMName(ed);
-        if (name[0].equals(td.getTargetNamespace()) && name[1].equals(td.getName()))
-        {
-          list.add(ed);
-        }
-      }
-    } 
-
-    public List findElementsUsingType(XSDSchema schema)
-    {
-      if (td != null)
-      {
-        visitSchema(schema);
-      }    
-      return list;
-    }   
-
-    public List getMatchingTypeList()
-    {
-      return list;
-    } 
-
-    public String[] getDOMName(XSDElementDeclaration ed)
-    {      
-      String[] result = new String[2];
-      org.w3c.dom.Element domElement = ed.getElement();
-      String typeName = domElement.getAttribute("type");
-      if (typeName != null && !typeName.endsWith(td.getName()))
-      {             
-        int index = typeName.indexOf(":");                                      
-        String prefix = index == -1 ? "" : typeName.substring(0, index);   
-        result[0] = (String)schema.getQNamePrefixToNamespaceMap().get(prefix);
-        if (result[0] == null) result[0] = "";
-        if (result[1] == null) result[1] = "";
-        result[1] = index == -1 ? typeName : typeName.substring(index + 1);
-      }  
-      else
-      {
-        result[0] = "";
-        result[1] = "";
-      }
-      return result;
-    }
-    
-    
-    public void cleanUpTypeMismatches()
-    {
-      for (Iterator i = list.iterator(); i.hasNext(); )
-      {
-        XSDElementDeclaration ed = (XSDElementDeclaration)i.next();
-        XSDTypeDefinition candidateTd = ed.getTypeDefinition();
-        if (candidateTd != null && candidateTd.getName() != null)
-        {
-          String[] result = getDOMName(ed);
-          ed.setTypeDefinition((XSDTypeDefinition)schema.resolveComplexTypeDefinition(result[0], result[1]));         
-        }
-      }
-    }
-    
-    public void removeMatchingReferences()
-    {
-      for (Iterator i = list.iterator(); i.hasNext(); )
-      {
-        XSDElementDeclaration ed = (XSDElementDeclaration)i.next();
-        String[] result = getDOMName(ed);          
-        if (ed.getElement() != null)
-        {
-          // NOTE ... this forces the model to reset the ed's XSDTypeDefinition without causing the
-          // DOM element's 'type' attribute to be set to null
-          ed.elementAttributesChanged(ed.getElement());
-        }
-      }
-    }
-    
-    public void setMatchingReferences()
-    {
-      for (Iterator i = list.iterator(); i.hasNext(); )
-      {
-        XSDElementDeclaration ed = (XSDElementDeclaration)i.next();
-        ed.setTypeDefinition(td);
-      }
-    }    
-  } */   
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateDtd.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateDtd.gif
deleted file mode 100644
index ac58c1e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateDtd.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateJava.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateJava.gif
deleted file mode 100644
index 2375c65..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GenerateJava.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GraphViewElementRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GraphViewElementRef.gif
deleted file mode 100644
index d535dac..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/GraphViewElementRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/NewXSD.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/NewXSD.gif
deleted file mode 100644
index 47f6730..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/NewXSD.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/RegexWizardArrow.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/RegexWizardArrow.gif
deleted file mode 100644
index 3d550a3..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/RegexWizardArrow.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/ValidateXSD.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/ValidateXSD.gif
deleted file mode 100644
index 2b347ac..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/ValidateXSD.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAll.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAll.gif
deleted file mode 100644
index 6d74e80..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAll.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnnotate.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnnotate.gif
deleted file mode 100644
index d2108c0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnnotate.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAny.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAny.gif
deleted file mode 100644
index a39f93c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAny.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnyAttribute.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnyAttribute.gif
deleted file mode 100644
index 5280cc2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAnyAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAppInfo.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAppInfo.gif
deleted file mode 100644
index 2da001e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAppInfo.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttribute.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttribute.gif
deleted file mode 100644
index 79d49d0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroup.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroup.gif
deleted file mode 100644
index 648462f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroup.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroupRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroupRef.gif
deleted file mode 100644
index a89fa8f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeGroupRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeRef.gif
deleted file mode 100644
index 8365af2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDAttributeRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDChoice.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDChoice.gif
deleted file mode 100644
index 89ba825..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDChoice.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexContent.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexContent.gif
deleted file mode 100644
index 41c68dd..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexContent.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexType.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexType.gif
deleted file mode 100644
index 007f852..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDComplexType.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDDoc.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDDoc.gif
deleted file mode 100644
index d349a05..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDDoc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElement.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElement.gif
deleted file mode 100644
index dd45f08..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElement.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElementRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElementRef.gif
deleted file mode 100644
index 749acfc..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDElementRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDExtension.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDExtension.gif
deleted file mode 100644
index 0cfb807..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDExtension.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDField.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDField.gif
deleted file mode 100644
index 378e43e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDField.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDFile.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDFile.gif
deleted file mode 100644
index 3900f1b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDFile.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalAttribute.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalAttribute.gif
deleted file mode 100644
index 79d49d0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalElement.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalElement.gif
deleted file mode 100644
index dd45f08..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGlobalElement.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroup.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroup.gif
deleted file mode 100644
index 555ef53..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroup.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroupRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroupRef.gif
deleted file mode 100644
index 3621342..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDGroupRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDImport.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDImport.gif
deleted file mode 100644
index 9e44ce5..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDImport.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDInclude.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDInclude.gif
deleted file mode 100644
index b26c527..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDInclude.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKey.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKey.gif
deleted file mode 100644
index 04032a9..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKey.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKeyRef.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKeyRef.gif
deleted file mode 100644
index ee5829d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDKeyRef.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDNotation.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDNotation.gif
deleted file mode 100644
index ce9df98..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDNotation.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDRedefine.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDRedefine.gif
deleted file mode 100644
index 56964c1..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDRedefine.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSelector.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSelector.gif
deleted file mode 100644
index 2399a58..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSelector.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSequence.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSequence.gif
deleted file mode 100644
index 8bf3f97..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSequence.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleContent.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleContent.gif
deleted file mode 100644
index 7ef38df..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleContent.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleEnum.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleEnum.gif
deleted file mode 100644
index 11d7958..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleEnum.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleList.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleList.gif
deleted file mode 100644
index d08e78f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleList.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimplePattern.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimplePattern.gif
deleted file mode 100644
index a113cf4..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimplePattern.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleRestrict.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleRestrict.gif
deleted file mode 100644
index 38bc12e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleRestrict.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleType.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleType.gif
deleted file mode 100644
index 75f33c2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleType.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleTypeForEditPart.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleTypeForEditPart.gif
deleted file mode 100644
index 9aefeb2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleTypeForEditPart.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleUnion.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleUnion.gif
deleted file mode 100644
index 292adaf..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDSimpleUnion.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDUnique.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDUnique.gif
deleted file mode 100644
index 5a8a650..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/XSDUnique.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/back.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/back.gif
deleted file mode 100644
index 24d1a27..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/back.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/browsebutton.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/browsebutton.gif
deleted file mode 100644
index 13dae59..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/browsebutton.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/forward.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/forward.gif
deleted file mode 100644
index eab699e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/forward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/generate_xml.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/generate_xml.gif
deleted file mode 100644
index f2e3635..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/generate_xml.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/regx_wiz.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/regx_wiz.gif
deleted file mode 100644
index 789d137..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/regx_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/reloadgrammar.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/reloadgrammar.gif
deleted file mode 100644
index c705db0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/reloadgrammar.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/sort.gif b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/sort.gif
deleted file mode 100644
index 3c65dc4..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/icons/sort.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/preferences/XSDPreferencePage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/preferences/XSDPreferencePage.java
deleted file mode 100644
index 0506798..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/preferences/XSDPreferencePage.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.preferences;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-public class XSDPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, Listener 
-{
-  Text indentTextField;
-  String indentString;
-  Text schemaNsPrefixField;
-  Text defaultTargetNamespaceText;
-  Button qualifyXSDLanguage;
-
-  /**
-   * Creates preference page controls on demand.
-   *   @param parent  the parent for the preference page
-   */
-  protected Control createContents(Composite parent)
-  {
-    WorkbenchHelp.setHelp(parent, XSDEditorContextIds.XSDP_PREFERENCE_PAGE);
-
-    Group group = createGroup(parent, 2);   
-    group.setText(XSDEditorPlugin.getXSDString("_UI_TEXT_XSD_NAMESPACE_PREFIX"));
-
-    qualifyXSDLanguage = ViewUtility.createCheckBox(group, XSDEditorPlugin.getXSDString("_UI_QUALIFY_XSD"));
-    ViewUtility.createLabel(group, " ");
-
-    createLabel(group, XSDEditorPlugin.getXSDString("_UI_TEXT_XSD_DEFAULT_PREFIX"));
-    schemaNsPrefixField = createTextField(group);
-    schemaNsPrefixField.addKeyListener(new KeyAdapter()
-    {
-      public void keyPressed(KeyEvent e)
-      {
-        setValid(true);
-      }      
-    });
-    
-    createLabel(group, XSDEditorPlugin.getXSDString("_UI_TEXT_XSD_DEFAULT_TARGET_NAMESPACE"));
-    defaultTargetNamespaceText = createTextField(group);
-
-    initializeValues();
-
-    return new Composite(parent, SWT.NULL);
-  }
-
-  private Group createGroup(Composite parent, int numColumns) 
-  {
-    Group group = new Group(parent, SWT.NULL);
-
-    GridLayout layout = new GridLayout();
-    layout.numColumns = numColumns;
-    group.setLayout(layout);
-
-    GridData data = new GridData();
-    data.verticalAlignment = GridData.FILL;
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    group.setLayoutData(data);
-    
-    return group;
-  }
-
-  private Text createTextField(Composite parent) 
-  {
-     Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-     GridData data = new GridData();
-     data.verticalAlignment = GridData.FILL;
-     data.horizontalAlignment = GridData.FILL;
-     data.grabExcessHorizontalSpace = true;
-     text.setLayoutData(data);
-
-     return text;
-  }
-
-  private Label createLabel(Composite parent, String text) 
-  {
-    Label label = new Label(parent, SWT.LEFT);
-    label.setText(text);
-    
-    GridData data = new GridData();
-    data.verticalAlignment = GridData.CENTER;
-    data.horizontalAlignment = GridData.FILL;
-    label.setLayoutData(data);
-    
-    return label;
-  }
-  
-  /**
-   * Does anything necessary because the default button has been pressed.
-   */
-  protected void performDefaults() 
-  {
-    super.performDefaults();
-    initializeDefaults();
-    checkValues();
-  }
-
-  /**
-   * Do anything necessary because the OK button has been pressed.
-   *  @return whether it is okay to close the preference page
-   */
-  public boolean performOk() 
-  {
-    if (checkValues())
-    {
-      storeValues();    
-      return true;
-    }
-    return false;
-  }
-
-  protected void performApply()
-  {
-    if (checkValues())
-    {
-      storeValues();    
-    }
-  }
-
-  /**
-   * Handles events generated by controls on this page.
-   *   @param e  the event to handle
-   */
-  public void handleEvent(Event e) 
-  {
-    Widget source = e.widget;
-  }
-
-  /**
-   * @see IWorkbenchPreferencePage
-   */
-  public void init(IWorkbench workbench)
-  { 
-  }
-
-  /** 
-   * The indent is stored in the preference store associated with the XML Schema Model
-   */
-  public IPreferenceStore getPreferenceStore()
-  {
-    return XSDEditorPlugin.getPlugin().getPreferenceStore();
-  }
-
-  /**
-   * Initializes states of the controls using default values
-   * in the preference store.
-   */
-  private void initializeDefaults() 
-  {
-    schemaNsPrefixField.setText(getPreferenceStore().getDefaultString(XSDEditorPlugin.CONST_XSD_DEFAULT_PREFIX_TEXT));
-    qualifyXSDLanguage.setSelection(getPreferenceStore().getDefaultBoolean(XSDEditorPlugin.CONST_XSD_LANGUAGE_QUALIFY));
-    defaultTargetNamespaceText.setText(getPreferenceStore().getString(XSDEditorPlugin.CONST_DEFAULT_TARGET_NAMESPACE));
-  }
-
-  /**
-   * Initializes states of the controls from the preference store.
-   */
-  private void initializeValues() 
-  {
-    IPreferenceStore store = getPreferenceStore();
-    schemaNsPrefixField.setText(store.getString(XSDEditorPlugin.CONST_XSD_DEFAULT_PREFIX_TEXT));
-    qualifyXSDLanguage.setSelection(store.getBoolean(XSDEditorPlugin.CONST_XSD_LANGUAGE_QUALIFY));
-    defaultTargetNamespaceText.setText(store.getString(XSDEditorPlugin.CONST_DEFAULT_TARGET_NAMESPACE));
-  }
-
-  /**
-   * Stores the values of the controls back to the preference store.
-   */
-  private void storeValues() 
-  {
-    IPreferenceStore store = getPreferenceStore();
-
-    store.setValue(XSDEditorPlugin.CONST_XSD_DEFAULT_PREFIX_TEXT, getXMLSchemaPrefix());
-    store.setValue(XSDEditorPlugin.CONST_XSD_LANGUAGE_QUALIFY, getQualify());
-    store.setValue(XSDEditorPlugin.CONST_DEFAULT_TARGET_NAMESPACE, getXMLSchemaTargetNamespace());
-
-    XSDEditorPlugin.getPlugin().savePluginPreferences();
-  }
-
-  public String getXMLSchemaPrefix()
-  {
-    String prefix = schemaNsPrefixField.getText();
-    if (prefix == null || prefix.equals("")) 
-    {
-      return "xsd";
-    }
-    return prefix;
-  }
-
-  public boolean getQualify()
-  {
-    return qualifyXSDLanguage.getSelection();
-  }
-  
-  /**
-   * Get the xml schema default target namespace
-   */
-  public String getXMLSchemaTargetNamespace()
-  {
-  	String targetNamespace = defaultTargetNamespaceText.getText();
-    if (targetNamespace == null || targetNamespace.equals("")) 
-    {
-      return XSDEditorPlugin.DEFAULT_TARGET_NAMESPACE;
-    }
-    return targetNamespace;
-  }
-  
-  public boolean checkValues()
-  {
-// KCPort TODO    String errorMessage = ValidateHelper.checkXMLName(schemaNsPrefixField.getText());
-	 String errorMessage = null;
-
-    if (errorMessage == null || errorMessage.length() == 0)
-    {
-      setErrorMessage(null);
-      setValid(true);
-      return true;
-    }
-    else
-    {
-      setErrorMessage(XSDEditorPlugin.getXSDString("_ERROR_LABEL_INVALID_PREFIX"));
-      setValid(false);
-      return false;
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyAttributePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyAttributePropertySource.java
deleted file mode 100644
index 0f4e7e7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyAttributePropertySource.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class AnyAttributePropertySource extends BasePropertySource implements IPropertySource
-{
-  private String[] namespaceComboValues = {
-              "",
-              "##any",
-              "##other",
-              "##targetNamespace",
-              "##local"
-  };
-  
-  private String[] processContentsComboValues = {
-              "",
-              XSDEditorPlugin.getXSDString("_UI_COMBO_LAX"),
-              XSDEditorPlugin.getXSDString("_UI_COMBO_SKIP"),
-              XSDEditorPlugin.getXSDString("_UI_COMBO_STRICT")
-  };
-  public AnyAttributePropertySource()
-  {
-  }
-
-  public AnyAttributePropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-    
-  public AnyAttributePropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-
-    XSDComboBoxPropertyDescriptor namespaceDescriptor = new XSDComboBoxPropertyDescriptor(
-        XSDConstants.NAMESPACE_ATTRIBUTE,
-        XSDConstants.NAMESPACE_ATTRIBUTE,
-        namespaceComboValues);
-    list.add(namespaceDescriptor);
-    
-    XSDComboBoxPropertyDescriptor processContentsDescriptor = new XSDComboBoxPropertyDescriptor(
-        XSDConstants.PROCESSCONTENTS_ATTRIBUTE,
-        XSDConstants.PROCESSCONTENTS_ATTRIBUTE,
-        processContentsComboValues);
-    list.add(processContentsDescriptor);
-    
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-      if (result == null)
-      {
-        result = "";
-      }
-      return result;
-    }
-    return "";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      if (((String) id).equals(XSDConstants.NAMESPACE_ATTRIBUTE))
-      {
-        String namespace = (String)value;
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_NAMESPACE_CHANGE"), element);
-        if (namespace != null && namespace.length() > 0)
-        {
-          element.setAttribute(XSDConstants.NAMESPACE_ATTRIBUTE, namespace);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.PROCESSCONTENTS_ATTRIBUTE))
-      {
-        String processContents = (String)value;
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_PROCESSCONTENTS_CHANGE"), element);
-        if (processContents != null && processContents.length() > 0)
-        {
-          element.setAttribute(XSDConstants.PROCESSCONTENTS_ATTRIBUTE, processContents);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.PROCESSCONTENTS_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-
-  }
-
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyContentPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyContentPropertyDescriptor.java
deleted file mode 100644
index b11ef1e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyContentPropertyDescriptor.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class AnyContentPropertyDescriptor extends PropertyDescriptor
-{
-  Element element;
-  /**
-   * @param id
-   * @param displayName
-   */
-  public AnyContentPropertyDescriptor(Object id, String displayName, Element element)
-  {
-    super(id, displayName);
-    this.element = element;
-  }
-  
-  public CellEditor createPropertyEditor(Composite parent)
-  {
-    CellEditor editor = new AnyContentDialogCellEditor(parent);
-    if (getValidator() != null)
-      editor.setValidator(getValidator());
-    return editor;
-  }
-
-  public class AnyContentDialogCellEditor extends DialogCellEditor {
-
-    /**
-     * Creates a new Font dialog cell editor parented under the given control.
-     * The cell editor value is <code>null</code> initially, and has no 
-     * validator.
-     *
-     * @param parent the parent control
-     */
-    protected AnyContentDialogCellEditor(Composite parent) {
-      super(parent);
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)
-     */
-    protected Object openDialogBox(Control cellEditorWindow)
-    {
-      Shell shell = Display.getCurrent().getActiveShell();
-      
-      AnyContentDialog dialog = new AnyContentDialog(shell);
-      dialog.setBlockOnOpen(true);
-      dialog.create();
-      
-      String value = (String)getValue();
-
-      int result = dialog.open();
-
-      if (result == Window.OK)
-      {
-        return dialog.getComment();
-      }
-      return value;
-    }
-
-  }
-
-  public class AnyContentDialog extends org.eclipse.jface.dialogs.Dialog
-  {
-    protected Text commentField;
-    protected Button okButton, cancelButton;
-    private String comment;
-    
-    public AnyContentDialog(Shell shell)
-    {
-      super(shell);
-    }
-
-    protected void configureShell(Shell shell)
-    {
-      super.configureShell(shell);
-    }
-
-    protected void buttonPressed(int buttonId)
-    {
-      if (buttonId == Dialog.OK)
-      {
-        comment = commentField.getText();
-      }
-      super.buttonPressed(buttonId);
-    }
-
-    public String getComment() { return comment; }
-
-    //
-    // Create the controls
-    //
-    public Control createDialogArea(Composite parent)
-    {
-      int tabIndex = 0;
-      Composite client = (Composite)super.createDialogArea(parent);
-      getShell().setText("Content for " + element.getLocalName());
-      
-      commentField = ViewUtility.createMultiTextField(client, 400, 200, true);
-      
-      WorkbenchHelp.setHelp(commentField, XSDEditorContextIds.XSDE_ANNOTATION_COMMENT);
-      commentField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_COMMENT"));
-
-      String initialString = (String)getInitialContent();
-      commentField.setText(initialString);
-      return client;
-    }
-
-    private Object getInitialContent()
-    {
-      Object result = null;
-      if (element.hasChildNodes())
-       {
-        // if the element is Text
-        Node node = element.getFirstChild();
-        if (node instanceof CharacterData)
-         {
-          result = ((CharacterData)node).getData();
-        }
-      }
-      else
-       {
-        result = "";
-      }
-      return result;
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyElementPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyElementPropertySource.java
deleted file mode 100644
index df43637..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AnyElementPropertySource.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class AnyElementPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-
-  private String[] namespaceComboValues = {
-        "",
-        "##any",
-        "##other",
-        "##targetNamespace",
-        "##local"
-  };
-  
-  private String[] processContentsComboValues = {
-     "",
-     XSDEditorPlugin.getXSDString("_UI_COMBO_LAX"),
-     XSDEditorPlugin.getXSDString("_UI_COMBO_SKIP"),
-     XSDEditorPlugin.getXSDString("_UI_COMBO_STRICT")
-  };
-  
-  /**
-   * 
-   */
-  public AnyElementPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public AnyElementPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public AnyElementPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-
-    XSDComboBoxPropertyDescriptor namespaceDescriptor = new XSDComboBoxPropertyDescriptor(
-        XSDConstants.NAMESPACE_ATTRIBUTE,
-        XSDConstants.NAMESPACE_ATTRIBUTE,
-        namespaceComboValues);
-    list.add(namespaceDescriptor);
-    
-    XSDComboBoxPropertyDescriptor processContentsDescriptor = new XSDComboBoxPropertyDescriptor(
-        XSDConstants.PROCESSCONTENTS_ATTRIBUTE,
-        XSDConstants.PROCESSCONTENTS_ATTRIBUTE,
-        processContentsComboValues);
-    list.add(processContentsDescriptor);
-
-// These are moved to the tabbed properties general section     
-//    PropertyDescriptor minOccursDescriptor =
-//    new TextPropertyDescriptor(
-//        XSDConstants.MINOCCURS_ATTRIBUTE,
-//        XSDConstants.MINOCCURS_ATTRIBUTE);
-//    list.add(minOccursDescriptor);
-//    PropertyDescriptor maxOccursDescriptor =
-//    new TextPropertyDescriptor(
-//        XSDConstants.MAXOCCURS_ATTRIBUTE,
-//        XSDConstants.MAXOCCURS_ATTRIBUTE);
-//    list.add(maxOccursDescriptor);
-    
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-      if (result == null)
-      {
-        result = "";
-      }
-      return result;
-
-//      if (((String) id).equals(XSDConstants.NAMESPACE_ATTRIBUTE))
-//       {
-//      }
-//      else if (((String) id).equals(XSDConstants.PROCESSCONTENTS_ATTRIBUTE))
-//       {
-//      }      
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-     {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      if (((String) id).equals(XSDConstants.MAXOCCURS_ATTRIBUTE))
-      {
-        String max = (String)value;
-        String min = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element);
-        if (max.length() > 0)
-        {
-          element.setAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE, max);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.MINOCCURS_ATTRIBUTE))
-      {
-        String min = (String)value;
-        String max = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element);
-        if (min.length() > 0)
-        {
-          element.setAttribute(XSDConstants.MINOCCURS_ATTRIBUTE, min);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.NAMESPACE_ATTRIBUTE))
-      {
-        String namespace = (String)value;
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_NAMESPACE_CHANGE"), element);
-        if (namespace.length() > 0)
-        {
-          element.setAttribute(XSDConstants.NAMESPACE_ATTRIBUTE, namespace);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.PROCESSCONTENTS_ATTRIBUTE))
-      {
-        String processContents = (String)value;
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_PROCESSCONTENTS_CHANGE"), element);
-        if (processContents.length() > 0)
-        {
-          element.setAttribute(XSDConstants.PROCESSCONTENTS_ATTRIBUTE, processContents);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.PROCESSCONTENTS_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AppInfoPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AppInfoPropertySource.java
deleted file mode 100644
index b99c768..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AppInfoPropertySource.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Node;
-
-public class AppInfoPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  public static String CONTENT = "Content";
-
-  /**
-   * 
-   */
-  public AppInfoPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public AppInfoPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public AppInfoPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    PropertyDescriptor sourceDescriptor =
-      new TextPropertyDescriptor(
-        XSDConstants.SOURCE_ATTRIBUTE,
-        XSDConstants.SOURCE_ATTRIBUTE);
-    list.add(sourceDescriptor);
-    AnyContentPropertyDescriptor contentDescriptor =
-      new AnyContentPropertyDescriptor(
-        CONTENT,
-        CONTENT,
-        element);
-    list.add(contentDescriptor);
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      if (((String) id).equals(CONTENT))
-      {
-        try
-        {
-          if (element.hasChildNodes())
-          {
-            // if the element is Text
-            Node node = element.getFirstChild();
-            if (node instanceof CharacterData)
-            {
-              return ((CharacterData)node).getData();
-            }
-          }
-          else
-          {
-            return "";
-          }
-        }
-        catch (Exception e)
-        {
-            
-        }
-
-      }
-      else
-      {
-        result = element.getAttribute((String) id);
-      }
-    }
-    if (result == null)
-    {
-      result = "";
-    }
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value != null)
-    {
-      if (value instanceof String)
-      {
-        if (((String)id).equals(XSDConstants.SOURCE_ATTRIBUTE))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_SOURCE_ATTRIBUTE_CHANGE"), element);
-          if (((String)value).length() > 0)
-          {
-            element.setAttribute(XSDConstants.SOURCE_ATTRIBUTE, (String)value);
-          }
-          else
-          {
-            element.removeAttribute(XSDConstants.SOURCE_ATTRIBUTE);
-          }
-          endRecording(element);
-        }
-        else if (((String)id).equals(CONTENT))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_COMMENT_CHANGE"), element);
-          try
-          {
-            if (element.hasChildNodes())
-            {
-              // if the element is Text
-              Node node = element.getFirstChild();
-              if (node instanceof CharacterData)
-              {
-                ((CharacterData)node).setData((String)value);
-              }
-            }
-            else
-            {
-              if (((String)value).length() > 0)
-              {
-                Node childNode = element.getOwnerDocument().createTextNode((String)value);
-                element.appendChild(childNode);
-              }
-            }
-            endRecording(element);
-          }
-          catch (Exception e)
-          {
-            
-          }
-        }
-        else  // shouldn't be here
-        {
-          element.setAttribute((String) id, (String) value);
-        }
-      }
-      else if (value instanceof Integer)
-      {
-      }
-    }
-    else
-    {
-      element.removeAttribute((String) id);
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributeGroupRefPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributeGroupRefPropertySource.java
deleted file mode 100644
index 74ca702..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributeGroupRefPropertySource.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class AttributeGroupRefPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private String[] refComboValues = { "" };
-  /**
-   * 
-   */
-  public AttributeGroupRefPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public AttributeGroupRefPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public AttributeGroupRefPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  
-  public void setInput(Element element)
-  {
-    this.element = element;
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    java.util.List items = helper.getGlobalAttributes();
-      
-    if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
-    {
-      items = helper.getGlobalAttributes();
-//      WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_REF_DESIGN_VIEW);
-//      WorkbenchHelp.setHelp(refCombo, XSDEditorContextIds.XSDE_ATTRIBUTE_REF_NAME);      
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
-    {
-      items = helper.getGlobalAttributeGroups();
-//      WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_REF_DESIGN_VIEW);
-//      WorkbenchHelp.setHelp(refCombo, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_REF_NAME);
-    }
-    int size = items.size() + 1;
-    refComboValues = new String[size];
-    refComboValues[0] = "";
-    if (items != null)
-    {
-      for (int i = 0; i < items.size(); i++)
-      {
-        refComboValues[i + 1] = (String) items.get(i);
-      }
-    }
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    XSDComboBoxPropertyDescriptor refDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.REF_ATTRIBUTE,
-        XSDConstants.REF_ATTRIBUTE,
-        refComboValues);
-    list.add(refDescriptor);
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-      if (result == null)
-      {
-        result = "";
-      }
-//      if (((String) id).equals(XSDConstants.REF_ATTRIBUTE))
-//      {
-//      }
-      return result;
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-     {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      if (((String) id).equals(XSDConstants.REF_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_REF_CHANGE"), element);
-        element.setAttribute(XSDConstants.REF_ATTRIBUTE, (String) value);
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributePropertySource.java
deleted file mode 100644
index f89b2f0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributePropertySource.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalAttributeRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class AttributePropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private String[] useComboValues =
-  {
-        "",
-        "prohibited",   // XSDEditorPlugin.getXSDString("_UI_COMBO_BOX_PROHIBITED"),
-        "optional",   // XSDEditorPlugin.getXSDString("_UI_COMBO_BOX_OPTIONAL"),
-        "required"  // XSDEditorPlugin.getXSDString("_UI_COMBO_BOX_REQUIRED")
-  };
-
-  protected String formComboValues[] =
-  {
-        "",
-        XSDEditorPlugin.getXSDString("_UI_COMBO_UNQUALIFIED"),
-        XSDEditorPlugin.getXSDString("_UI_COMBO_QUALIFIED")
-  };
-  
-  
-  /**
-   * 
-   */
-  public AttributePropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public AttributePropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public AttributePropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    PropertyDescriptor nameDescriptor = new TextPropertyDescriptor(XSDConstants.NAME_ATTRIBUTE, XSDConstants.NAME_ATTRIBUTE);
-    list.add(nameDescriptor);
-//    nameDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_GENERAL"));
-    TypesPropertyDescriptor typeDescriptor = new TypesPropertyDescriptor(
-      XSDConstants.TYPE_ATTRIBUTE,
-      XSDConstants.TYPE_ATTRIBUTE,
-      element, xsdSchema);
-    list.add(typeDescriptor);
-//    typeDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_GENERAL"));
-
-    Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
-    Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
-    String str;
-    if (fixedAttr != null)
-     {
-      str = XSDConstants.FIXED_ATTRIBUTE;
-    }
-    else if (defaultAttr != null)
-     {
-      str = XSDConstants.DEFAULT_ATTRIBUTE;
-    }
-    else
-     {
-      str = XSDConstants.FIXED_ATTRIBUTE + "/" + XSDConstants.DEFAULT_ATTRIBUTE;
-    }
-    
-    FixedOrDefaultTextPropertyDescriptor fixedOrDefaultDescriptor =
-    new FixedOrDefaultTextPropertyDescriptor(
-        str, 
-        str,
-        element);
-    list.add(fixedOrDefaultDescriptor);
-//    fixedOrDefaultDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_OTHER"));
-    
-    Object parentNode = element.getParentNode();
-    if (XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-    {
-    }
-    else
-    {
-      XSDComboBoxPropertyDescriptor useDescriptor =
-      new XSDComboBoxPropertyDescriptor(
-          XSDConstants.USE_ATTRIBUTE,
-          XSDConstants.USE_ATTRIBUTE,
-          useComboValues);
-      list.add(useDescriptor);
-//      useDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_OTHER"));
-      XSDComboBoxPropertyDescriptor formDescriptor =
-      new XSDComboBoxPropertyDescriptor(
-          XSDConstants.FORM_ATTRIBUTE,
-          XSDConstants.FORM_ATTRIBUTE,
-          formComboValues);
-      list.add(formDescriptor);
-//      formDescriptor.setCategory(XSDEditorPlugin.getXSDString("_UI_LABEL_OTHER"));
-    }
-    
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-      if (result == null)
-      {
-        result = "";
-      }
-      if (((String) id).equals(XSDConstants.TYPE_ATTRIBUTE))
-      {
-        if (result.equals(""))
-        {
-          if (checkForAnonymousType(element))
-          {
-            return "**anonymous**";
-          }
-          else
-          {
-            return XSDEditorPlugin.getXSDString("_UI_NO_TYPE"); 
-          }
-        }
-        else
-         {
-          return result;
-        }
-      }
-      return result;
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      if (((String) id).equals(XSDConstants.TYPE_ATTRIBUTE))
-      {
-//        beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
-//        element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, (String)value);
-//        updateElementToNotAnonymous(element);
-//        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.NAME_ATTRIBUTE))
-      { 
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_NAME_CHANGE"), element);
-        // now rename any references to this element
-        if (xsdSchema != null)
-         {
-          XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-          if (comp != null && comp instanceof XSDAttributeDeclaration && comp.getRootContainer().equals(xsdSchema))
-          {
-            XSDAttributeDeclaration xsdAttributeDeclaration = (XSDAttributeDeclaration)comp;
-            xsdAttributeDeclaration.setName((String)value);
-            GlobalAttributeRenamer renamer = new GlobalAttributeRenamer(xsdAttributeDeclaration, (String)value);
-            renamer.visitSchema(xsdSchema);
-          }
-        }
-        element.setAttribute(XSDConstants.NAME_ATTRIBUTE, (String)value);
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.FIXED_ATTRIBUTE) || ((String) id).equals(XSDConstants.DEFAULT_ATTRIBUTE))
-      {            
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_VALUE_CHANGE"), element);
-        if (((String)value).equals(""))
-         {
-          element.removeAttribute((String)id);
-        }
-        else
-        {  
-          element.setAttribute((String) id, (String) value);
-        }
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.USE_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_USE_CHANGE"), element);
-        if (((String)value).equals(""))
-        {
-          element.removeAttribute(XSDConstants.USE_ATTRIBUTE);
-        }
-        else
-        {  
-          element.setAttribute((String) id, (String)value);
-        }
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.FORM_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_FORM_CHANGE"), element);
-        if (((String)value).equals(""))
-        {
-          element.removeAttribute(XSDConstants.FORM_ATTRIBUTE);
-        }
-        else
-        {
-          element.setAttribute(XSDConstants.FORM_ATTRIBUTE, (String)value);
-        }
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-  
-  boolean checkForAnonymousType(Element element)
-  {
-    NodeList list = element.getElementsByTagNameNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-    if (list.getLength() > 0)
-     {
-      return true;
-    }
-    return false;
-  }  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributesTable.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributesTable.java
deleted file mode 100644
index f80e72e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/AttributesTable.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-//import java.text.Collator;
-//import java.util.Comparator;
-//import java.util.List;
-//
-//import org.eclipse.jface.viewers.CellEditor;
-//import org.eclipse.jface.viewers.ColumnPixelData;
-//import org.eclipse.jface.viewers.ICellModifier;
-//import org.eclipse.jface.viewers.ILabelProvider;
-//import org.eclipse.jface.viewers.IStructuredContentProvider;
-//import org.eclipse.jface.viewers.ITableLabelProvider;
-//import org.eclipse.jface.viewers.LabelProvider;
-//import org.eclipse.jface.viewers.TableLayout;
-//import org.eclipse.jface.viewers.TableViewer;
-//import org.eclipse.jface.viewers.TextCellEditor;
-//import org.eclipse.jface.viewers.Viewer;
-//import org.eclipse.swt.SWT;
-//import org.eclipse.swt.events.MouseAdapter;
-//import org.eclipse.swt.events.MouseEvent;
-//import org.eclipse.swt.graphics.Image;
-//import org.eclipse.swt.widgets.Composite;
-//import org.eclipse.swt.widgets.Control;
-//import org.eclipse.swt.widgets.Table;
-//import org.eclipse.swt.widgets.TableColumn;
-//import org.eclipse.swt.widgets.TableItem;
-//import org.eclipse.ui.IEditorPart;
-//import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-//import org.eclipse.ui.views.properties.IPropertyDescriptor;
-//import org.eclipse.ui.views.properties.IPropertySource;
-//import org.w3c.dom.Element;
-
-public class AttributesTable // extends TableViewer implements ICellModifier
-{
-//	protected static final String PROPERTY = "property"; //$NON-NLS-1$
-//	protected static final String VALUE = "value"; //$NON-NLS-1$
-//
-//	protected IEditorPart editorPart;
-//	protected String[] columnProperties = {PROPERTY, VALUE};
-//	protected PropertyTableProvider tableProvider = new PropertyTableProvider(this);
-//	protected CellEditor cellEditor;
-//	//protected StringComboBoxCellEditor comboCellEditor;
-//	protected IPropertySource propertySource;
-//
-//	public AttributesTable(IEditorPart editorPart, Composite parent)
-//	{
-//		super(new Table(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.FLAT | SWT.H_SCROLL | SWT.V_SCROLL));   
-//				 this.editorPart = editorPart;               
-//		getTable().setLinesVisible(true);
-//		getTable().setHeaderVisible(true);  
-//    
-//		setContentProvider(tableProvider);
-//		setLabelProvider(tableProvider);
-//		setColumnProperties(columnProperties);
-//
-//		for (int i = 0; i < columnProperties.length; i++)
-//		{
-//			TableColumn column = new TableColumn(getTable(), SWT.NONE, i);
-//			column.setText(columnProperties[i]);
-//			column.setAlignment(SWT.LEFT);
-//		}      
-//
-////		TableLayout layout = new TableLayout(); 
-////		ColumnWeightData data = new ColumnWeightData(40, 40, true);
-////		layout.addColumnData(data);
-////    
-////		ColumnWeightData data2 = new ColumnWeightData(80, 80, true);
-////		layout.addColumnData(data2);                       
-//
-//		TableLayout layout = new TableLayout();
-//		layout.addColumnData(new ColumnPixelData(130,true));
-//		layout.addColumnData(new ColumnPixelData(130,true));
-//		getTable().setLayout(layout);
-//		
-//         
-//		cellEditor = new TextCellEditor(getTable());                            
-//		resetCellEditors();           
-//
-//		setCellModifier(this);    
-//	}  
-//
-//	public void setPropertySource(IPropertySource propertySource)
-//	{
-//		this.propertySource = propertySource;
-//	}
-//
-//  /* (non-Javadoc)
-//   * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
-//   */
-//  public boolean canModify(Object element, String property)
-//  {
-//		return property.equals(VALUE);
-//  }
-//  
-//  /* (non-Javadoc)
-//   * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)
-//   */
-//  public Object getValue(Object element, String property)
-//  {
-//		int column = 0;
-//		if (property.equals(columnProperties[0]))
-//		{
-//			column = 0;
-//		}
-//		else if (property.equals(columnProperties[1]))
-//		{
-//			column = 1;
-//		}    
-//		return tableProvider.getColumnValue(element, column);
-// }
-//
-//  /* (non-Javadoc)
-//   * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object)
-//   */
-//  public void modify(Object element, String property, Object value)
-//  {
-//		TableItem item = (TableItem)element;
-//  	IPropertyDescriptor propertyDescriptor = (IPropertyDescriptor)item.getData();
-//              
-//	// if the new value is the same as the old value, the user has only clicked
-//	// on the cell in the course of 'browsing' ... so don't edit the value
-//	  Object oldValue = getValue(propertyDescriptor, property);       
-//	  if (value != null && !value.equals(oldValue)) 
-//	  {      
-//				 // we assume the value is empty that the attribute should be removed
-//				 // todo... we probably need to look at this in more detail
-//				 if (value instanceof String && ((String)value).length() == 0)
-//				 {
-//								value = null;
-//				 }
-//				 propertySource.setPropertyValue(propertyDescriptor.getId(), value);    
-//	  }                       
-//  }
-//
-//      
-//	protected void hookControl(Control control) {
-//	  // we need to hook up our own mouse listener first
-//				 // so that we can update the cellEditors before
-//				 // the 'internal' listener tries to get hold of them
-//			 Table tableControl = (Table)control;
-//				 tableControl.addMouseListener(new MouseAdapter() {
-//								public void mouseDown(MouseEvent e) {
-//								  System.out.println("Mouse down");
-//										   updateCellEditors();
-//								}
-//				 });
-//		  super.hookControl(control);
-//	}                                
-//
-//	protected void updateCellEditors()
-//	{
-//		CellEditor[] cellEditors = new CellEditor[2];
-//		cellEditors[0] = cellEditor;
-//		cellEditors[1] = cellEditor;
-//
-//		Element element = (Element)getInput();
-//              
-//		IPropertyDescriptor[] propertyDescriptors = propertySource.getPropertyDescriptors();
-//		int index = getTable().getSelectionIndex();
-//		if (index >= 0 && index < propertyDescriptors.length)
-//		{
-//			CellEditor[] oldCellEditors = getCellEditors();
-//			CellEditor oldCellEditor = (oldCellEditors.length > 1) ? oldCellEditors[1] : null;
-//			if (oldCellEditor != null && oldCellEditor != cellEditor)
-//			{
-//			 oldCellEditor.deactivate();
-//			 oldCellEditor.dispose();
-//			}
-//			cellEditors[1] = propertyDescriptors[index].createPropertyEditor(getTable());     
-//		}  
-//		setCellEditors(cellEditors);     
-//
-////		IPropertyDescriptor[] propertyDescriptors = propertySource.getPropertyDescriptors();
-////
-//// 		int index = getTable().getSelectionIndex();
-//// 		//cellEditor.dispose();
-////
-////		if (index >= 0 && index < propertyDescriptors.length)
-////		{
-////      cellEditor = propertyDescriptors[index].createPropertyEditor(getTable());
-////			Control control = cellEditor.getControl();
-////			if (control == null) {
-////				cellEditor.deactivate();
-////				cellEditor = null;
-////				return;
-////			}
-////			setCellEditors(new CellEditor[] {null, cellEditor});
-////			cellEditor.activate();
-////			cellEditor.setFocus();
-////		}
-//	}
-//                 
-//
-//	public String[] getStringArray(List list)
-//	{
-//		String[] result = new String[list.size()];
-//		for (int i = 0; i < result.length; i++)
-//		{
-//			result[i] = (String)list.get(i);
-//		}
-//		return result;
-//	}
-//                                   
-//	protected void resetCellEditors()
-//	{
-//			 CellEditor[] cellEditors = new CellEditor[2];
-//			 cellEditors[0] = null;
-//			 cellEditors[1] = cellEditor;
-//			 setCellEditors(cellEditors);  
-//	}
-//
-//
-//	class PropertyTableProvider extends LabelProvider implements ITableLabelProvider, IStructuredContentProvider
-//	{                  
-//		protected TableViewer viewer;
-//
-//		PropertyTableProvider(TableViewer viewer)
-//		{
-//			this.viewer = viewer;
-//		}
-//		
-//		public void inputChanged(Viewer viewer, Object oldInput, Object newInput)  
-//		{
-////		 resetCellEditors();                         
-////			if (newInput instanceof XMLElement)
-////			{      
-////					 propertySource = new ExtensiblePropertySource(editorPart, (XMLElement)newInput);
-////			} 
-////			if (newInput instanceof Element)
-////			{
-////				if (XSDDOMHelper.inputEquals(newInput, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-////				{  
-////				  propertySource = new ElementPropertySource((Element)newInput, viewer);
-////				}
-////				else
-////				{  
-////  				 propertySource = new ReadOnlyPropertySource(editorPart, (Element)newInput);
-////				}
-////			}
-////			else
-////			{
-////						 propertySource = null;
-////			}          
-//		}
-//
-//		public Image getColumnImage(Object element, int columnIndex)
-//		{  
-//			return null;
-//		}      
-//
-//		public Object getColumnValue(Object o, int columnIndex)  
-//		{ 
-//			IPropertyDescriptor propertyDescriptor = (IPropertyDescriptor)o;
-//			if (columnIndex == 0)
-//			{
-//			  return propertyDescriptor.getId();
-//			}
-//			else
-//			{  
-//			  return propertySource.getPropertyValue(propertyDescriptor.getId());
-//			}
-//		}
-//		  
-//		public String getColumnText(Object o, int columnIndex)  
-//		{ 
-//			IPropertyDescriptor propertyDescriptor = (IPropertyDescriptor)o;
-//			// (columnIndex == 1 && propertyDescriptor instanceof XSDComboBoxPropertyDescriptor)
-//			if ((columnIndex == 1 && propertyDescriptor instanceof OptionsComboBoxPropertyDescriptor) ||
-//			   (columnIndex == 1 && propertyDescriptor instanceof ComboBoxPropertyDescriptor))
-//			{
-//			  ILabelProvider lp = propertyDescriptor.getLabelProvider();
-//			  if (lp != null)
-//		  	{
-//			    return lp.getText(propertyDescriptor.getId());
-//		  	}
-//			}
-//			
-//			Object id = propertyDescriptor.getId();
-//      String attribute = "";
-//		  if (id != null && attribute instanceof String)
-//      {
-//        attribute = (String)id;
-//      }
-//      Object value = propertySource.getPropertyValue(attribute);
-//      String attributeValue = "";
-//      if (value != null)
-//      {
-//        attributeValue = (String)value;
-//      }
-//
-//      return (columnIndex == 0) ? attribute : attributeValue;
-//			
-////			  return (columnIndex == 0) ? propertyDescriptor.getId().toString() : propertySource.getPropertyValue(propertyDescriptor.getId()).toString();
-//		}  
-//
-//		public Object[] getElements(Object o)
-//		{         
-//						Object[] result = propertySource.getPropertyDescriptors();
-//						// For some strange reson the ViewerSorter doesn't seem to be working for this table
-//						// As a workaround we sort them in this method before returning them to the viewer
-////						if (result.length > 0)
-////						{
-////									 Arrays.sort(result, new InternalComparator());
-////						}
-//						return result;
-//		}
-//	}
-//
-//	class InternalComparator implements Comparator
-//	{
-//			 public int compare(Object e1, Object e2) 
-//			 {
-//							IPropertyDescriptor p1 = (IPropertyDescriptor)e1;
-//							IPropertyDescriptor p2 = (IPropertyDescriptor)e2;
-//							String p1Name = p1.getDisplayName();
-//							String p2Name = p2.getDisplayName();
-//							return Collator.getInstance().compare(p1.getDisplayName(), p2.getDisplayName());
-//			 }         
-//	}
-//
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/BasePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/BasePropertySource.java
deleted file mode 100644
index 9d92d18..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/BasePropertySource.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xml.core.NameValidator;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public abstract class BasePropertySource implements IPropertySource
-{
-	protected Element element;
-	protected Viewer viewer;
-	protected IPropertyDescriptor[] propertyDescriptors;
-	protected XSDSchema xsdSchema;
-	protected String [] trueFalseComboValues = {
-		"",
-		"false",
-		"true"
-	};
-
-  public BasePropertySource()
-  {
-    
-  }
-
-  public DocumentImpl getDocument(Element element)
-  {
-    return (DocumentImpl) element.getOwnerDocument();
-  }
-  
-  public void beginRecording(String description, Element element)
-  {
-    getDocument(element).getModel().beginRecording(this, description);
-  }
-  
-  public void endRecording(Element element)
-  {
-    DocumentImpl doc = (DocumentImpl) getDocument(element);
-    
-    doc.getModel().endRecording(this);    
-  }
-  
-  
-  public BasePropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    this.viewer = viewer;
-    this.xsdSchema = xsdSchema;
-  }
-  
-  public BasePropertySource(XSDSchema xsdSchema)
-  {
-    this.xsdSchema = xsdSchema;
-  }
-  
-  public void setViewer(Viewer viewer)
-  {
-    this.viewer = viewer;
-  }
-
-  public void setInput(Element element)
-  {
-    this.element = element;
-  }
-
-  protected XSDDOMHelper domHelper = new XSDDOMHelper();
-  /**
-   * Gets the domHelper.
-   * @return Returns a XSDDomHelper
-   */
-  public XSDDOMHelper getDomHelper()
-  {
-    return domHelper;
-  }
-  
-	protected boolean hasElementChildren(Node parentNode)
-	{
-		boolean hasChildrenElements = false;
-		if (parentNode != null && parentNode.hasChildNodes())
-		{
-			NodeList nodes = parentNode.getChildNodes();
-			for (int i = 0; i < nodes.getLength(); i++)
-			{
-				if (nodes.item(i) instanceof Element)
-				{
-					hasChildrenElements = true;
-					break;
-				}
-			}
-		}
-		return hasChildrenElements;
-	}
-  
-  protected boolean validateName(String name)
-  {
-    return NameValidator.isValid(name);
-  }
-
-  // TODO
-  protected boolean validateLanguage(String lang)
-  {
-    return true;
-  }
-  
-  // TODO  
-  protected boolean validatePrefix(String prefix)
-  {
-    return true;
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ComplexTypePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ComplexTypePropertySource.java
deleted file mode 100644
index 7cb09e9..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ComplexTypePropertySource.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.SetBaseTypeAction;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalSimpleOrComplexTypeRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ComplexTypePropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private String DERIVED_BY_ID = "derived by"; // XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY"); 
-  private String BASE_TYPE_ID = "base type"; //  XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE");
-  
-  private String[] blockOrFinalComboValues = 
-  {
-    "",
-    "#all",
-    "extension",
-    "restriction"
-  };
-  
-  private String derivedByChoicesComboValues[] =
-  {
-        "",
-        XSDConstants.RESTRICTION_ELEMENT_TAG,
-        XSDConstants.EXTENSION_ELEMENT_TAG
-  };
-  
-  /**
-   * 
-   */
-  public ComplexTypePropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public ComplexTypePropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public ComplexTypePropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    boolean isAnonymousType = checkForAnonymousType(element);
-// The three properties name, base type and derived by have been moved to the general tab
-//    if (isAnonymousType)
-//    {
-//      PropertyDescriptor nameDescriptor =
-//      new PropertyDescriptor(
-//          XSDConstants.NAME_ATTRIBUTE,
-//          XSDConstants.NAME_ATTRIBUTE);
-//      list.add(nameDescriptor);
-//    }
-//    else
-//    {
-//      PropertyDescriptor nameDescriptor =
-//      new TextPropertyDescriptor(
-//          XSDConstants.NAME_ATTRIBUTE,
-//          XSDConstants.NAME_ATTRIBUTE);
-//      list.add(nameDescriptor);
-//    }
-
-    Element contentModelElement = getDomHelper().getContentModelFromParent(element);
-//    SimpleContentPropertyDescriptor typeDescriptor = new SimpleContentPropertyDescriptor(
-//        BASE_TYPE_ID,
-//        BASE_TYPE_ID,
-//        contentModelElement, xsdSchema);
-//    list.add(typeDescriptor);
-//    XSDComboBoxPropertyDescriptor derivedByDescriptor =
-//    new XSDComboBoxPropertyDescriptor(
-//        DERIVED_BY_ID,
-//        DERIVED_BY_ID,
-//        derivedByChoicesComboValues);
-//    list.add(derivedByDescriptor);
-    
-    XSDComboBoxPropertyDescriptor abstractDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.ABSTRACT_ATTRIBUTE,
-        XSDConstants.ABSTRACT_ATTRIBUTE,
-        trueFalseComboValues);
-    list.add(abstractDescriptor);
-
-    XSDComboBoxPropertyDescriptor mixedDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.MIXED_ATTRIBUTE,
-        XSDConstants.MIXED_ATTRIBUTE,
-        trueFalseComboValues);
-    list.add(mixedDescriptor);
-        
-    XSDComboBoxPropertyDescriptor blockDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.BLOCK_ATTRIBUTE,
-        XSDConstants.BLOCK_ATTRIBUTE,
-        blockOrFinalComboValues);
-    list.add(blockDescriptor);
-    XSDComboBoxPropertyDescriptor finalDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.FINAL_ATTRIBUTE,
-        XSDConstants.FINAL_ATTRIBUTE,
-        blockOrFinalComboValues);
-    list.add(finalDescriptor);
-    
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-
-  public void setInput(Element element)
-  {
-    this.element = element;
-    
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      String attributeName = (String)id;
-      result = element.getAttribute((String) id);
-      Element contentModelElement = getDomHelper().getContentModelFromParent(element);    
-      String baseType = getDomHelper().getBaseType(contentModelElement);
-      
-      if (result == null)
-      {
-        result = "";
-      }
-      
-      if (attributeName.equals(DERIVED_BY_ID))
-      {
-        return getDomHelper().getDerivedByName(contentModelElement);
-      }
-      else if (attributeName.equals(BASE_TYPE_ID))
-      {
-        if (baseType != null)
-        {
-          return baseType;
-        }
-        else
-        {
-          return "";
-        }
-      }
-      else if (attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
-      {
-        String name = element.getAttribute(XSDConstants.NAME_ATTRIBUTE);
-        
-        boolean isAnonymousType = checkForAnonymousType(element);
-        if (isAnonymousType)
-        {
-          return "**anonymous**";
-        }
-        else
-        {
-          return name;
-        }
-      }
-        
-      return result;
-//      if (((String) id).equals(XSDConstants.ABSTRACT_ATTRIBUTE)
-//          || ((String) id).equals(XSDConstants.MIXED_ATTRIBUTE))
-//      {
-//      }
-//      else if (((String) id).equals(XSDConstants.BLOCK_ATTRIBUTE))
-//       {
-//      }
-//      else if (((String) id).equals(XSDConstants.FINAL_ATTRIBUTE))
-//      {
-//      }
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      String newValue = (String)value;
-      String attributeName = (String)id;
-      
-      if (attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
-      {
-        if (validateName(newValue))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_NAME_CHANGE"), element);
-          if (newValue.length() > 0)
-          {
-            // now rename any references to this type
-            if (xsdSchema != null)
-            {
-              XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-              if (comp != null && comp instanceof XSDComplexTypeDefinition && comp.getContainer().equals(xsdSchema))
-              {
-//                XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)comp;
-//                ct.setName(newValue);
-                GlobalSimpleOrComplexTypeRenamer renamer = new GlobalSimpleOrComplexTypeRenamer((XSDNamedComponent)comp, newValue);
-                renamer.visitSchema(xsdSchema);
-              }
-            }
-            element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-          }
-          else
-          {
-            element.removeAttribute(XSDConstants.NAME_ATTRIBUTE);
-          }
-          endRecording(element);
-        }
-      }
-      else if (attributeName.equals(DERIVED_BY_ID))
-      {
-        Element contentModelElement = getDomHelper().getContentModelFromParent(element);
-        String baseType = getDomHelper().getBaseType(contentModelElement);
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_DERIVEDBY_CHANGE"), element);
-        Element derivedByElem = getDomHelper().getDerivedByElement(element);
-        getDomHelper().changeDerivedByType(contentModelElement, newValue, baseType);
-        endRecording(element);
-      }
-      else if (attributeName.equals(BASE_TYPE_ID))
-      {
-        String derivedBy = getDomHelper().getDerivedByName(element);
-        
-        SetBaseTypeAction setBaseTypeAction = new SetBaseTypeAction(XSDEditorPlugin.getXSDString("_UI_LABEL_SET_BASE_TYPE"));
-        setBaseTypeAction.setXSDSchema(xsdSchema);
-        setBaseTypeAction.setComplexTypeElement(element);
-        setBaseTypeAction.setType(newValue);
-        setBaseTypeAction.setDerivedBy(derivedBy);
-        setBaseTypeAction.performAction();
-
-//        handleBaseTypeComboChange(newValue);
-        
-      }
-      else
-      {
-        if (attributeName.equals(XSDConstants.ABSTRACT_ATTRIBUTE))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_ABSTRACT_CHANGE"), element);
-        }
-        else if (attributeName.equals(XSDConstants.MIXED_ATTRIBUTE))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_MIXED_CHANGE"), element);
-        }
-        else if (attributeName.equals(XSDConstants.BLOCK_ATTRIBUTE))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_BLOCK_CHANGE"), element);
-        }
-        else if (attributeName.equals(XSDConstants.FINAL_ATTRIBUTE))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_FINAL_CHANGE"), element);
-        }
-        
-        if (newValue.length() > 0)
-        {
-          element.setAttribute((String) id,  (String)value);
-        }
-        else
-        {
-          element.removeAttribute((String) id);
-        }
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-
-  boolean checkForAnonymousType(Element element)
-  {
-    Object parentElement = (Object)element.getParentNode();
-    boolean isAnonymous = false;
-    if (parentElement != null)
-    {
-      if (XSDDOMHelper.inputEquals(parentElement, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-      {
-        isAnonymous = true; 
-      }
-    }
-    return isAnonymous;
-  }
-  
-  
-//  private void handleBaseTypeComboChange(String newType)
-//  {
-//    String tempChoice = newType;
-//    TypesHelper helper = new TypesHelper(xsdSchema);
-//    if (helper.getBuiltInTypeNamesList().contains(tempChoice) ||
-//        helper.getUserSimpleTypeNamesList().contains(tempChoice))
-//    {
-//      derivedByCombo.setText(XSDConstants.EXTENSION_ELEMENT_TAG);
-//      derivedByCombo.setEnabled(false);
-//    }
-//    else if (helper.getUserComplexTypeNamesList().contains(tempChoice))
-//     {
-//      Element contentModelElement = getDomHelper().getContentModelFromParent(element);    
-//      String derivedByString = getDomHelper().getDerivedByName(contentModelElement);
-//      derivedByCombo.setText(derivedByString);
-//      derivedByCombo.setEnabled(true); 
-//    }
-//    else
-//     {
-//      derivedByCombo.setText("");
-//      derivedByCombo.setEnabled(false); 
-//    }
-//  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DocumentationPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DocumentationPropertySource.java
deleted file mode 100644
index 06e9ef7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DocumentationPropertySource.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Node;
-
-
-public class DocumentationPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  public static String CONTENT = "Content";
-  
-  /**
-   * 
-   */
-  public DocumentationPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public DocumentationPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-
-  }
-  /**
-   * @param xsdSchema
-   */
-  public DocumentationPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    PropertyDescriptor languageDescriptor =
-    new TextPropertyDescriptor(
-        "xml:lang",
-        "xml:lang"
-        );
-    list.add(languageDescriptor);
-    PropertyDescriptor sourceDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.SOURCE_ATTRIBUTE,
-        XSDConstants.SOURCE_ATTRIBUTE);
-    list.add(sourceDescriptor);
-    AnyContentPropertyDescriptor contentDescriptor =
-    new AnyContentPropertyDescriptor(
-        CONTENT,
-        CONTENT,
-        element);
-    list.add(contentDescriptor);
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-     {
-      if (((String) id).equals(CONTENT))
-       {
-        try
-        {
-          if (element.hasChildNodes())
-           {
-            // if the element is Text
-            Node node = element.getFirstChild();
-            if (node instanceof CharacterData)
-             {
-              return ((CharacterData)node).getData();
-            }
-          }
-          else
-           {
-            return "";
-          }
-        }
-        catch (Exception e)
-        {
-          
-        }
-
-      }
-      else
-       {
-        result = element.getAttribute((String) id);
-      }
-    }
-    if (result == null)
-     {
-      result = "";
-    }
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value != null)
-    {
-      if (value instanceof String)
-      {
-        String newValue = (String)value;
-        if (((String)id).equals("xml:lang"))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_DOCUMENTATION_LANG_CHANGE"), element);
-          if (newValue.length() > 0)
-          {
-            if (validateLanguage(newValue))
-            {
-              element.setAttribute("xml:lang", newValue);
-            }
-          }
-          else
-          {
-            // clearErrorMessage();
-            element.removeAttribute("xml:lang");
-          }
-          endRecording(element);
-        }
-        else if (((String)id).equals(XSDConstants.SOURCE_ATTRIBUTE))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_DOCUMENTATION_SOURCE_CHANGE"), element);
-          if (newValue.length() > 0)
-          {
-            element.setAttribute(XSDConstants.SOURCE_ATTRIBUTE, newValue);
-          }
-          else
-          {
-            element.removeAttribute(XSDConstants.SOURCE_ATTRIBUTE);
-          }
-          endRecording(element);
-        }
-        else if (((String)id).equals(CONTENT))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_DOCUMENTATION_COMMENT_CHANGE"), element);
-          try
-          {
-            if (element.hasChildNodes())
-            {
-              // if the element is Text
-              Node node = element.getFirstChild();
-              if (node instanceof CharacterData)
-              {
-                ((CharacterData)node).setData(newValue);
-              }
-            }
-            else
-            {
-              if (newValue.length() > 0)
-              {
-                Node childNode = element.getOwnerDocument().createTextNode(newValue);
-                element.appendChild(childNode);
-              }
-            }
-            endRecording(element);
-          }
-          catch (Exception e)
-          {
-            
-          }
-        }
-        else  // shouldn't be here
-        {
-          element.setAttribute((String) id, newValue);
-        }
-      }
-      else if (value instanceof Integer)
-      {
-      }
-    }
-    else
-    {
-      element.removeAttribute((String) id);
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
- 
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DynamicCellEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DynamicCellEditor.java
deleted file mode 100644
index b09526a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/DynamicCellEditor.java
+++ /dev/null
@@ -1,1174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.accessibility.AccessibleTextAdapter;
-import org.eclipse.swt.accessibility.AccessibleTextEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.TypedListener;
-
-public class DynamicCellEditor extends Composite
-{
-	Text text;
-	List list;
-	int maxItemCount = 5;
-	Shell popup;
-	Button arrow;
-	boolean hasFocus;
-	
-  public DynamicCellEditor(Composite parent, int style) {
-	super (parent, checkStyle (style));
-	
-	style = getStyle();
-	
-	int textStyle = SWT.SINGLE;
-	if ((style & SWT.READ_ONLY) != 0) textStyle |= SWT.READ_ONLY;
-	if ((style & SWT.FLAT) != 0) textStyle |= SWT.FLAT;
-	text = new Text (this, textStyle);
-	
-	popup = new Shell (getShell (), SWT.NO_TRIM);
-	
-	int listStyle = SWT.SINGLE | SWT.V_SCROLL;
-	if ((style & SWT.FLAT) != 0) listStyle |= SWT.FLAT;
-	if ((style & SWT.RIGHT_TO_LEFT) != 0) listStyle |= SWT.RIGHT_TO_LEFT;
-	if ((style & SWT.LEFT_TO_RIGHT) != 0) listStyle |= SWT.LEFT_TO_RIGHT;
-	list = new List (popup, listStyle);
-	
-	int arrowStyle = SWT.ARROW | SWT.DOWN;
-	if ((style & SWT.FLAT) != 0) arrowStyle |= SWT.FLAT;
-	arrow = new Button (this, arrowStyle);
-
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			if (popup == event.widget) {
-				popupEvent (event);
-				return;
-			}
-			if (text == event.widget) {
-				textEvent (event);
-				return;
-			}
-			if (list == event.widget) {
-				listEvent (event);
-				return;
-			}
-			if (arrow == event.widget) {
-				arrowEvent (event);
-				return;
-			}
-			if (DynamicCellEditor.this == event.widget) {
-				comboEvent (event);
-				return;
-			}
-
-		}
-	};
-	
-	int [] comboEvents = {SWT.Dispose, SWT.Move, SWT.Resize};
-	for (int i=0; i<comboEvents.length; i++) this.addListener (comboEvents [i], listener);
-	
-	int [] popupEvents = {SWT.Close, SWT.Paint, SWT.Deactivate};
-	for (int i=0; i<popupEvents.length; i++) popup.addListener (popupEvents [i], listener);
-	
-	int [] textEvents = {SWT.KeyDown, SWT.KeyUp, SWT.Modify, SWT.MouseDown, SWT.MouseUp, SWT.Traverse, SWT.FocusIn, SWT.FocusOut};
-	for (int i=0; i<textEvents.length; i++) text.addListener (textEvents [i], listener);
-	
-	int [] listEvents = {SWT.MouseUp, SWT.Selection, SWT.Traverse, SWT.KeyDown, SWT.KeyUp, SWT.FocusIn, SWT.FocusOut};
-	for (int i=0; i<listEvents.length; i++) list.addListener (listEvents [i], listener);
-	
-	int [] arrowEvents = {SWT.Selection, SWT.FocusIn, SWT.FocusOut};
-	for (int i=0; i<arrowEvents.length; i++) arrow.addListener (arrowEvents [i], listener);
-	
-	initAccessible();
-}
-static int checkStyle (int style) {
-	int mask = SWT.BORDER | SWT.READ_ONLY | SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	return style & mask;
-}
-/**
-* Adds an item.
-* <p>
-* The item is placed at the end of the list.
-* Indexing is zero based.
-*
-* @param string the new item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when the string is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_ADDED)
-*	when the item cannot be added
-*/
-public void add (String string) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	list.add (string);
-}
-/**
-* Adds an item at an index.
-* <p>
-* The item is placed at an index in the list.
-* Indexing is zero based.
-*
-* This operation will fail when the index is
-* out of range.
-*
-* @param string the new item
-* @param index the index for the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when the string is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_ADDED)
-*	when the item cannot be added
-*/
-public void add (String string, int index) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	list.add (string, index);
-}
-/**	 
-* Adds the listener to receive events.
-* <p>
-*
-* @param listener the listener
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when listener is null
-*/
-public void addModifyListener (ModifyListener listener) {;
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	TypedListener typedListener = new TypedListener (listener);
-	addListener (SWT.Modify, typedListener);
-}
-/**	 
-* Adds the listener to receive events.
-* <p>
-*
-* @param listener the listener
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when listener is null
-*/
-public void addSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	TypedListener typedListener = new TypedListener (listener);
-	addListener (SWT.Selection,typedListener);
-	addListener (SWT.DefaultSelection,typedListener);
-}
-void arrowEvent (Event event) {
-	switch (event.type) {
-		case SWT.FocusIn: {
-			if (hasFocus) return;
-			hasFocus = true;
-			if (getEditable ()) text.selectAll ();
-			Event e = new Event();
-			e.time = event.time;
-			notifyListeners(SWT.FocusIn, e);
-			break;
-		}
-		case SWT.FocusOut: {
-			event.display.asyncExec(new Runnable() {
-				public void run() {
-					if (DynamicCellEditor.this.isDisposed()) return;
-					Control focusControl = getDisplay().getFocusControl();
-					if (focusControl == list || focusControl == text) return;
-					hasFocus = false;
-					Event e = new Event();
-					notifyListeners(SWT.FocusOut, e);
-				}
-			});
-			break;
-		}
-		case SWT.Selection: {
-			dropDown (!isDropped ());
-			break;
-		}
-	}
-}
-/**
-* Clears the current selection.
-* <p>
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public void clearSelection () {
-	checkWidget();
-	text.clearSelection ();
-	list.deselectAll ();
-}
-void comboEvent (Event event) {
-	switch (event.type) {
-		case SWT.Dispose:
-			if (popup != null && !popup.isDisposed ()) popup.dispose ();
-			popup = null;  
-			text = null;  
-			list = null;  
-			arrow = null;
-			break;
-		case SWT.Move:
-			dropDown(false);
-			break;
-		case SWT.Resize:
-			internalLayout();
-			break;
-	}
-}
-
-public Point computeSize (int wHint, int hHint, boolean changed) {
-	checkWidget();
-	int width = 0, height = 0;
-	Point textSize = text.computeSize (wHint, SWT.DEFAULT, changed);
-	Point arrowSize = arrow.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
-	Point listSize = list.computeSize (wHint, SWT.DEFAULT, changed);
-	int borderWidth = getBorderWidth();
-	
-	height = Math.max (hHint, Math.max(textSize.y, arrowSize.y)  + 2*borderWidth);
-	width = Math.max (wHint, Math.max(textSize.x + arrowSize.x + 2*borderWidth, listSize.x + 2)  );
-	return new Point (width, height);
-}
-/**
-* Deselects an item.
-* <p>
-* If the item at an index is selected, it is
-* deselected.  If the item at an index is not
-* selected, it remains deselected.  Indices
-* that are out of range are ignored.  Indexing
-* is zero based.
-*
-* @param index the index of the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public void deselect (int index) {
-	checkWidget();
-	list.deselect (index);
-}
-/**
-* Deselects all items.
-* <p>
-*
-* If an item is selected, it is deselected.
-* If an item is not selected, it remains unselected.
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public void deselectAll () {
-	checkWidget();
-	list.deselectAll ();
-}
-void dropDown (boolean drop) {
-	if (drop == isDropped ()) return;
-	if (!drop) {
-		popup.setVisible (false);
-		text.setFocus();
-		return;
-	}
-
-	int index = list.getSelectionIndex ();
-	if (index != -1) list.setTopIndex (index);
-	Display display = getDisplay ();
-	Rectangle listRect = list.getBounds ();
-	Rectangle parentRect = display.map (getParent (), null, getBounds());
-	Point comboSize = getSize ();
-	Rectangle displayRect = getMonitor().getClientArea();
-	int width = Math.max (comboSize.x, listRect.width + 2);
-	int height = listRect.height + 2;
-	int x = parentRect.x;
-	int y = parentRect.y + comboSize.y;
-	if (y + height > displayRect.y + displayRect.height) y = parentRect.y - height;
-	popup.setBounds (x, y, width, height);
-	popup.setVisible (true);
-	list.setFocus();
-}
-public Control [] getChildren () {
-	checkWidget();
-	return new Control [0];
-}
-boolean getEditable () {
-	return text.getEditable ();
-}
-/**
-* Gets an item at an index.
-* <p>
-* Indexing is zero based.
-*
-* This operation will fail when the index is out
-* of range or an item could not be queried from
-* the OS.
-*
-* @param index the index of the item
-* @return the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_GET_ITEM)
-*	when the operation fails
-*/
-public String getItem (int index) {
-	checkWidget();
-	return list.getItem (index);
-}
-/**
-* Gets the number of items.
-* <p>
-* This operation will fail if the number of
-* items could not be queried from the OS.
-*
-* @return the number of items in the widget
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_GET_COUNT)
-*	when the operation fails
-*/
-public int getItemCount () {
-	checkWidget();
-	return list.getItemCount ();
-}
-/**
-* Gets the height of one item.
-* <p>
-* This operation will fail if the height of
-* one item could not be queried from the OS.
-*
-* @return the height of one item in the widget
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_GET_ITEM_HEIGHT)
-*	when the operation fails
-*/
-public int getItemHeight () {
-	checkWidget();
-	return list.getItemHeight ();
-}
-/**
-* Gets the items.
-* <p>
-* This operation will fail if the items cannot
-* be queried from the OS.
-*
-* @return the items in the widget
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_GET_ITEM)
-*	when the operation fails
-*/
-public String [] getItems () {
-	checkWidget();
-	return list.getItems ();
-}
-/**
-* Gets the selection.
-* <p>
-* @return a point representing the selection start and end
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public Point getSelection () {
-	checkWidget();
-	return text.getSelection ();
-}
-/**
-* Gets the index of the selected item.
-* <p>
-* Indexing is zero based.
-* If no item is selected -1 is returned.
-*
-* @return the index of the selected item.
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public int getSelectionIndex () {
-	checkWidget();
-	return list.getSelectionIndex ();
-}
-/**
-* Gets the widget text.
-* <p>
-* If the widget has no text, an empty string is returned.
-*
-* @return the widget text
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public String getText () {
-	checkWidget();
-	return text.getText ();
-}
-/**
-* Gets the height of the combo's text field.
-* <p>
-* The operation will fail if the height cannot 
-* be queried from the OS.
-
-* @return the height of the combo's text field.
-* 
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_ERROR_CANNOT_GET_ITEM_HEIGHT)
-*	when the operation fails
-*/
-public int getTextHeight () {
-	checkWidget();
-	return text.getLineHeight();
-}
-/**
-* Gets the text limit.
-* <p>
-* @return the text limit
-* 
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public int getTextLimit () {
-	checkWidget();
-	return text.getTextLimit ();
-}
-/**
-* Gets the index of an item.
-* <p>
-* The list is searched starting at 0 until an
-* item is found that is equal to the search item.
-* If no item is found, -1 is returned.  Indexing
-* is zero based.
-*
-* @param string the search item
-* @return the index of the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when string is null
-*/
-public int indexOf (String string) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	return list.indexOf (string);
-}
-/**
-* Gets the index of an item.
-* <p>
-* The widget is searched starting at start including
-* the end position until an item is found that
-* is equal to the search itenm.  If no item is
-* found, -1 is returned.  Indexing is zero based.
-*
-* @param string the search item
-* @param index the starting position
-* @return the index of the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when string is null
-*/
-public int indexOf (String string, int start) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	return list.indexOf (string, start);
-}
-
-void initAccessible() {
-	getAccessible().addAccessibleListener(new AccessibleAdapter() {
-		public void getHelp(AccessibleEvent e) {
-			e.result = getToolTipText();
-		}
-	});
-	
-	getAccessible().addAccessibleTextListener(new AccessibleTextAdapter() {
-		public void getCaretOffset(AccessibleTextEvent e) {
-			e.offset = text.getCaretPosition();
-		}
-	});
-	
-	getAccessible().addAccessibleControlListener(new AccessibleControlAdapter() {
-		public void getChildAtPoint(AccessibleControlEvent e) {
-			Point testPoint = toControl(new Point(e.x, e.y));
-			if (getBounds().contains(testPoint)) {
-				e.childID = ACC.CHILDID_SELF;
-			}
-		}
-		
-		public void getLocation(AccessibleControlEvent e) {
-			Rectangle location = getBounds();
-			Point pt = toDisplay(new Point(location.x, location.y));
-			e.x = pt.x;
-			e.y = pt.y;
-			e.width = location.width;
-			e.height = location.height;
-		}
-		
-		public void getChildCount(AccessibleControlEvent e) {
-			e.detail = 0;
-		}
-		
-		public void getRole(AccessibleControlEvent e) {
-			e.detail = ACC.ROLE_COMBOBOX;
-		}
-		
-		public void getState(AccessibleControlEvent e) {
-			e.detail = ACC.STATE_NORMAL;
-		}
-
-		public void getValue(AccessibleControlEvent e) {
-			e.result = getText();
-		}
-	});
-}
-boolean isDropped () {
-	return popup.getVisible ();
-}
-public boolean isFocusControl () {
-	checkWidget();
-	if (text.isFocusControl() || arrow.isFocusControl() || list.isFocusControl() || popup.isFocusControl()) {
-		return true;
-	} else {
-		return super.isFocusControl();
-	}
-}
-
-//public boolean isListVisible()
-//{
-//  checkWidget();
-//  return list.isVisible();
-//}
-
-void internalLayout () {
-	if (isDropped ()) dropDown (false);
-	
-	Rectangle rect = getClientArea();
-	int width = rect.width;
-	int height = rect.height;
-	Point arrowSize = arrow.computeSize(SWT.DEFAULT, height);
-	text.setBounds (0, 0, width - arrowSize.x, height);
-	arrow.setBounds (width - arrowSize.x, 0, arrowSize.x, arrowSize.y);
-	
-	Point size = getSize();
-	int itemCount = list.getItemCount();
-	itemCount = (itemCount == 0) ? maxItemCount : Math.min(maxItemCount, itemCount);
-	int itemHeight = list.getItemHeight () * itemCount;
-	Point listSize = list.computeSize (SWT.DEFAULT, itemHeight);
-	list.setBounds (1, 1, Math.max (size.x - 2, listSize.x), listSize.y);
-}
-void listEvent (Event event) {
-	switch (event.type) {
-		case SWT.FocusIn: {
-			if (hasFocus) return;
-			hasFocus = true;
-			if (getEditable ()) text.selectAll ();
-			Event e = new Event();
-			e.time = event.time;
-			notifyListeners(SWT.FocusIn, e);
-			break;
-		}
-		case SWT.FocusOut: {
-			event.display.asyncExec(new Runnable() {
-				public void run() {
-					if (DynamicCellEditor.this.isDisposed()) return;
-					Control focusControl = getDisplay().getFocusControl();
-					if (focusControl == text || focusControl == arrow || focusControl == list) return;
-					hasFocus = false;
-					Event e = new Event();
-					notifyListeners(SWT.FocusOut, e);
-				}
-			});
-			break;
-		}
-		case SWT.MouseUp: {
-			if (event.button != 1) return;
-			dropDown (false);
-			break;
-		}
-		case SWT.Selection: {
-			int index = list.getSelectionIndex ();
-			if (index == -1) return;
-			text.setText (list.getItem (index));
-			text.selectAll ();
-			list.setSelection(index);
-			Event e = new Event();
-			e.time = event.time;
-			e.stateMask = event.stateMask;
-			e.doit = event.doit;
-			notifyListeners(SWT.Selection, e);
-			event.doit = e.doit;
-			break;
-		}
-		case SWT.Traverse: {
-			switch (event.detail) {
-				case SWT.TRAVERSE_TAB_NEXT:
-				case SWT.TRAVERSE_RETURN:
-				case SWT.TRAVERSE_ESCAPE:
-				case SWT.TRAVERSE_ARROW_PREVIOUS:
-				case SWT.TRAVERSE_ARROW_NEXT:
-					event.doit = false;
-					break;
-			}
-			Event e = new Event();
-			e.time = event.time;
-			e.detail = event.detail;
-			e.doit = event.doit;
-			e.keyCode = event.keyCode;
-			notifyListeners(SWT.Traverse, e);
-			event.doit = e.doit;
-			break;
-		}
-		case SWT.KeyUp: {		
-			Event e = new Event();
-			e.time = event.time;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			e.stateMask = event.stateMask;
-			notifyListeners(SWT.KeyUp, e);
-			break;
-		}
-		case SWT.KeyDown: {
-			if (event.character == SWT.ESC) { 
-				// escape key cancels popup list
-				dropDown (false);
-			}
-			if (event.character == SWT.CR || event.character == '\t') {
-				// Enter and Tab cause default selection
-				dropDown (false);
-				Event e = new Event();
-				e.time = event.time;
-				e.stateMask = event.stateMask;
-				notifyListeners(SWT.DefaultSelection, e);
-			}
-			//At this point the widget may have been disposed.
-			// If so, do not continue.
-			if (isDisposed()) break;
-			Event e = new Event();
-			e.time = event.time;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			e.stateMask = event.stateMask;
-			notifyListeners(SWT.KeyDown, e);
-			break;
-			
-		}
-	}
-}
-void popupEvent(Event event) {
-	switch (event.type) {
-		case SWT.Paint:
-			// draw black rectangle around list
-			Rectangle listRect = list.getBounds();
-			Color black = getDisplay().getSystemColor(SWT.COLOR_BLACK);
-			event.gc.setForeground(black);
-			event.gc.drawRectangle(0, 0, listRect.width + 1, listRect.height + 1);
-			break;
-		case SWT.Close:
-			event.doit = false;
-			dropDown (false);
-			break;
-		case SWT.Deactivate:
-			dropDown (false);
-			break;
-	}
-}
-public void redraw () {
-	super.redraw();
-	text.redraw();
-	arrow.redraw();
-	if (popup.isVisible()) list.redraw();
-}
-public void redraw (int x, int y, int width, int height, boolean all) {
-	super.redraw(x, y, width, height, true);
-}
-
-/**
-* Removes an item at an index.
-* <p>
-* Indexing is zero based.
-*
-* This operation will fail when the index is out
-* of range or an item could not be removed from
-* the OS.
-*
-* @param index the index of the item
-* @return the selection state
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_REMOVED)
-*	when the operation fails
-*/
-public void remove (int index) {
-	checkWidget();
-	list.remove (index);
-}
-/**
-* Removes a range of items.
-* <p>
-* Indexing is zero based.  The range of items
-* is from the start index up to and including
-* the end index.
-*
-* This operation will fail when the index is out
-* of range or an item could not be removed from
-* the OS.
-*
-* @param start the start of the range
-* @param end the end of the range
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_REMOVED)
-*	when the operation fails
-*/
-public void remove (int start, int end) {
-	checkWidget();
-	list.remove (start, end);
-}
-/**
-* Removes an item.
-* <p>
-* This operation will fail when the item
-* could not be removed from the OS.
-*
-* @param string the search item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when string is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_REMOVED)
-*	when the operation fails
-*/
-public void remove (String string) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	list.remove (string);
-}
-/**
-* Removes all items.
-* <p>
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public void removeAll () {
-	checkWidget();
-	text.setText (""); //$NON-NLS-1$
-	list.removeAll ();
-}
-/**	 
-* Removes the listener.
-* <p>
-*
-* @param listener the listener
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when listener is null
-*/
-public void removeModifyListener (ModifyListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener(SWT.Modify, listener);	
-}
-/**	 
-* Removes the listener.
-* <p>
-*
-* @param listener the listener
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when listener is null
-*/
-public void removeSelectionListener (SelectionListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener(SWT.Selection, listener);
-	removeListener(SWT.DefaultSelection,listener);	
-}
-/**
-* Selects an item.
-* <p>
-* If the item at an index is not selected, it is
-* selected. Indices that are out of
-* range are ignored.  Indexing is zero based.
-*
-* @param index the index of the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public void select (int index) {
-	checkWidget();
-	if (index == -1) {
-		list.deselectAll ();
-		text.setText (""); //$NON-NLS-1$
-		return;
-	}
-	if (0 <= index && index < list.getItemCount()) {
-		if (index != getSelectionIndex()) {
-			text.setText (list.getItem (index));
-			text.selectAll ();
-			list.select (index);
-			list.showSelection ();
-		}
-	}
-}
-public void setBackground (Color color) {
-	super.setBackground(color);
-	if (text != null) text.setBackground(color);
-	if (list != null) list.setBackground(color);
-	if (arrow != null) arrow.setBackground(color);
-}
-public boolean setFocus () {
-	checkWidget();
-	return text.setFocus ();
-}
-public void setFont (Font font) {
-	super.setFont (font);
-	text.setFont (font);
-	list.setFont (font);
-	internalLayout ();
-}
-public void setForeground (Color color) {
-	super.setForeground(color);
-	if (text != null) text.setForeground(color);
-	if (list != null) list.setForeground(color);
-	if (arrow != null) arrow.setForeground(color);
-}
-/**
-* Sets the text of an item; indexing is zero based.
-*
-* This operation will fail when the index is out
-* of range or an item could not be changed in
-* the OS.
-*
-* @param index the index for the item
-* @param string the item
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when items is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_MODIFIED)
-*	when the operation fails
-*/
-public void setItem (int index, String string) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	list.setItem (index, string);
-}
-/**
-* Sets all items.
-*
-* @param items the array of items
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when items is null
-* @exception org.eclipse.swt.SWTError(ERROR_ITEM_NOT_ADDED)
-*	when the operation fails
-*/
-public void setItems (String [] items) {
-	checkWidget();
-	if (items == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int style = getStyle();
-	if ((style & SWT.READ_ONLY) != 0) text.setText (""); //$NON-NLS-1$
-	list.setItems (items);
-}
-/**
-* Sets the new selection.
-*
-* @param selection point representing the start and the end of the new selection
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when selection is null
-*/
-public void setSelection (Point selection) {
-	checkWidget();
-	if (selection == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	text.setSelection (selection.x, selection.y);
-}
-
-/**
-* Sets the widget text.
-*
-* @param string the widget text
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_NULL_ARGUMENT)
-*	when string is null
-*/
-public void setText (String string) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int index = list.indexOf (string);
-	if (index == -1) {
-		list.deselectAll ();
-		text.setText (string);
-		return;
-	}
-	text.setText (string);
-	text.selectAll ();
-	list.setSelection (index);
-	list.showSelection ();
-}
-/**
-* Sets the text limit.
-* 
-* @param limit new text limit
-*
-* @exception org.eclipse.swt.SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception org.eclipse.swt.SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-* @exception org.eclipse.swt.SWTError(ERROR_CANNOT_BE_ZERO)
-*	when limit is 0
-*/
-public void setTextLimit (int limit) {
-	checkWidget();
-	text.setTextLimit (limit);
-}
-
-public void setToolTipText (String string) {
-	checkWidget();
-	super.setToolTipText(string);
-	arrow.setToolTipText (string);
-	text.setToolTipText (string);		
-}
-
-public void setVisible (boolean visible) {
-	super.setVisible(visible);
-	if (!visible) popup.setVisible(false);
-}
-
-void textEvent (Event event) {
-	switch (event.type) {
-		case SWT.FocusIn: {
-			if (hasFocus) return;
-			hasFocus = true;
-			if (getEditable ()) text.selectAll ();
-			Event e = new Event();
-			e.time = event.time;
-			notifyListeners(SWT.FocusIn, e);
-			break;
-		}
-		case SWT.FocusOut: {
-			event.display.asyncExec(new Runnable() {
-				public void run() {
-					if (DynamicCellEditor.this.isDisposed()) return;
-					Control focusControl = getDisplay().getFocusControl();
-					if (focusControl == list || focusControl == arrow) return;
-					hasFocus = false;
-					Event e = new Event();
-					notifyListeners(SWT.FocusOut, e);
-				}
-			});
-			break;
-		}
-		case SWT.KeyDown: {
-			
-			if (event.character == SWT.ESC) { // escape key cancels popup list
-				dropDown (false);
-			}
-			if (event.character == SWT.CR) {
-				dropDown (false);
-				Event e = new Event();
-				e.time = event.time;
-				e.stateMask = event.stateMask;
-				notifyListeners(SWT.DefaultSelection, e);
-			}
-			//At this point the widget may have been disposed.
-			// If so, do not continue.
-			if (isDisposed()) break;
-			
-			if (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN) {
-				int oldIndex = getSelectionIndex ();
-				if (event.keyCode == SWT.ARROW_UP) {
-					select (Math.max (oldIndex - 1, 0));
-				} else {
-					select (Math.min (oldIndex + 1, getItemCount () - 1));
-				}
-		
-				if (oldIndex != getSelectionIndex ()) {
-					Event e = new Event();
-					e.time = event.time;
-					e.stateMask = event.stateMask;
-					notifyListeners(SWT.Selection, e);
-				}
-				//At this point the widget may have been disposed.
-				// If so, do not continue.
-				if (isDisposed()) break;
-			}
-			
-			// Further work : Need to add support for incremental search in 
-			// pop up list as characters typed in text widget
-						
-			Event e = new Event();
-			e.time = event.time;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			e.stateMask = event.stateMask;
-			notifyListeners(SWT.KeyDown, e);
-			break;
-		}
-		case SWT.KeyUp: {
-			Event e = new Event();
-			e.time = event.time;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			e.stateMask = event.stateMask;
-			notifyListeners(SWT.KeyUp, e);
-			break;
-		}
-		case SWT.Modify: {
-			list.deselectAll ();
-			Event e = new Event();
-			e.time = event.time;
-			notifyListeners(SWT.Modify, e);
-			break;
-		}
-		case SWT.MouseDown: {
-			if (event.button != 1) return;
-			if (text.getEditable ()) return;
-			boolean dropped = isDropped ();
-			text.selectAll ();
-			if (!dropped) setFocus ();
-			dropDown (!dropped);
-			break;
-		}
-		case SWT.MouseUp: {
-			if (event.button != 1) return;
-			if (text.getEditable ()) return;
-			text.selectAll ();
-			break;
-		}
-		case SWT.Traverse: {		
-			switch (event.detail) {
-				case SWT.TRAVERSE_RETURN:
-				case SWT.TRAVERSE_ARROW_PREVIOUS:
-				case SWT.TRAVERSE_ARROW_NEXT:
-					// The enter causes default selection and
-					// the arrow keys are used to manipulate the list contents so
-					// do not use them for traversal.
-					event.doit = false;
-					break;
-			}
-			
-			Event e = new Event();
-			e.time = event.time;
-			e.detail = event.detail;
-			e.doit = event.doit;
-			e.keyCode = event.keyCode;
-			notifyListeners(SWT.Traverse, e);
-			event.doit = e.doit;
-			break;
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ElementPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ElementPropertySource.java
deleted file mode 100644
index 1eba5d9..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ElementPropertySource.java
+++ /dev/null
@@ -1,546 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalElementRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class ElementPropertySource extends BasePropertySource implements IPropertySource
-{
-  private static final String PROPERTY_NAME = "org.eclipse.wst.xsd.ui.internal.name";
-  private String[] blockComboValues =
-    { "", "#all", "extension", "restriction", "substitution" };
-  private String[] finalComboValues =
-    { "", "#all", "extension", "restriction" };
-  private String[] substitutionGroupComboValues = { "" };
-  private String[] formComboValues =
-  {
-      "",
-      XSDEditorPlugin.getXSDString("_UI_COMBO_UNQUALIFIED"),
-      XSDEditorPlugin.getXSDString("_UI_COMBO_QUALIFIED")
-  };
-
-  public ElementPropertySource()
-  {
-    super();
-  }
-
-  public ElementPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  
-  public ElementPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-
-  public void setInput(Element element)
-  {
-    this.element = element;
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    List globals = helper.getGlobalElements();
-    int size = globals.size() + 1;
-    substitutionGroupComboValues = new String[size];
-    substitutionGroupComboValues[0] = "";
-    if (globals != null)
-    {
-      for (int k = 0; k < globals.size(); k++)
-      {
-        substitutionGroupComboValues[k + 1] = (String) globals.get(k);
-      }
-    }
-  }
-
-  /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-	 */
-  public Object getEditableValue()
-  {
-//    return element.getNodeName();
-    return null;
-  }
-
-  /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-	 */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    Object parentNode = element.getParentNode();
-    boolean isGlobalElement = XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false);
-    
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-//  These have been moved to the general tab
-//    PropertyDescriptor nameDescriptor =
-//      new TextPropertyDescriptor(
-//        XSDConstants.NAME_ATTRIBUTE,
-//        XSDConstants.NAME_ATTRIBUTE);
-//    list.add(nameDescriptor);
-//    TypesPropertyDescriptor typeDescriptor = new TypesPropertyDescriptor(
-//        XSDConstants.TYPE_ATTRIBUTE,
-//        XSDConstants.TYPE_ATTRIBUTE,
-//        element, xsdSchema);
-//    list.add(typeDescriptor);
-    if (isGlobalElement)
-    {
-      XSDComboBoxPropertyDescriptor abstractDescriptor =
-        new XSDComboBoxPropertyDescriptor(
-          XSDConstants.ABSTRACT_ATTRIBUTE,
-          XSDConstants.ABSTRACT_ATTRIBUTE,
-          trueFalseComboValues);
-      list.add(abstractDescriptor);
-    }
-    if (!isGlobalElement)
-    {
-      PropertyDescriptor minOccursDescriptor =
-        new TextPropertyDescriptor(
-          XSDConstants.MINOCCURS_ATTRIBUTE,
-          XSDConstants.MINOCCURS_ATTRIBUTE);
-      list.add(minOccursDescriptor);
-    
-      PropertyDescriptor maxOccursDescriptor =
-        new TextPropertyDescriptor(
-          XSDConstants.MAXOCCURS_ATTRIBUTE,
-          XSDConstants.MAXOCCURS_ATTRIBUTE);
-      list.add(maxOccursDescriptor);
-    }
-    XSDComboBoxPropertyDescriptor nillableDescriptor =
-      new XSDComboBoxPropertyDescriptor(
-        XSDConstants.NILLABLE_ATTRIBUTE,
-        XSDConstants.NILLABLE_ATTRIBUTE,
-        trueFalseComboValues);
-    list.add(nillableDescriptor);
-    XSDComboBoxPropertyDescriptor blockDescriptor =
-      new XSDComboBoxPropertyDescriptor(
-        XSDConstants.BLOCK_ATTRIBUTE,
-        XSDConstants.BLOCK_ATTRIBUTE,
-        blockComboValues);
-    list.add(blockDescriptor);
-    if (isGlobalElement)
-    {      
-      XSDComboBoxPropertyDescriptor finalDescriptor =
-        new XSDComboBoxPropertyDescriptor(
-          XSDConstants.FINAL_ATTRIBUTE,
-          XSDConstants.FINAL_ATTRIBUTE,
-          finalComboValues);
-      list.add(finalDescriptor);
-      XSDComboBoxPropertyDescriptor substitutionGroupDescriptor =
-        new XSDComboBoxPropertyDescriptor(
-          XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE,
-          XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE,
-          substitutionGroupComboValues);
-      list.add(substitutionGroupDescriptor);
-    }
-    if (!isGlobalElement)
-    {
-      XSDComboBoxPropertyDescriptor formDescriptor =
-        new XSDComboBoxPropertyDescriptor(
-          XSDConstants.FORM_ATTRIBUTE,
-          XSDConstants.FORM_ATTRIBUTE,
-          formComboValues);
-      list.add(formDescriptor);
-    }
-
-    Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
-    Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
-    String str;
-    if (fixedAttr != null)
-    {
-      str = XSDConstants.FIXED_ATTRIBUTE;
-    }
-    else if (defaultAttr != null)
-    {
-      str = XSDConstants.DEFAULT_ATTRIBUTE;
-    }
-    else
-    {
-      str = XSDConstants.FIXED_ATTRIBUTE + "/" + XSDConstants.DEFAULT_ATTRIBUTE;
-    }
-    
-    FixedOrDefaultTextPropertyDescriptor fixedOrDefaultDescriptor =
-      new FixedOrDefaultTextPropertyDescriptor(
-        str, 
-        str,
-        element);
-    list.add(fixedOrDefaultDescriptor);
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-    //    return propertyDescriptors;
-  }
-
-  /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-	 */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      String attributeName = (String)id;
-      result = element.getAttribute(attributeName);
-      if (result == null)
-      {
-        result = "";
-      }
-      if (attributeName.equals(XSDConstants.TYPE_ATTRIBUTE))
-      {
-        boolean isAnonymous = checkForAnonymousType(element);
-        if (isAnonymous)
-        {
-          return "**anonymous**";
-        }
-        if (result.equals(""))
-        {
-          result = XSDEditorPlugin.getXSDString("_UI_NO_TYPE");
-        }
-        return result;
-      }
-      else if (attributeName.equals(XSDConstants.MAXOCCURS_ATTRIBUTE) 
-        || attributeName.equals(XSDConstants.MINOCCURS_ATTRIBUTE)
-        || attributeName.equals(XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE)
-        || attributeName.equals(XSDConstants.FORM_ATTRIBUTE)
-        || attributeName.equals(XSDConstants.ABSTRACT_ATTRIBUTE)
-        || attributeName.equals(XSDConstants.NILLABLE_ATTRIBUTE)
-        || attributeName.equals(XSDConstants.BLOCK_ATTRIBUTE)
-        || attributeName.equals(XSDConstants.FINAL_ATTRIBUTE)
-        || attributeName.equals(XSDConstants.FIXED_ATTRIBUTE) 
-        || attributeName.equals(XSDConstants.DEFAULT_ATTRIBUTE)
-        || attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
-      {
-        return result;
-      }
-    }
-    return "";
-  }
-
-  /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-	 */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-
-  /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-	 */
-  public void resetPropertyValue(Object id)
-  {
-  }
-
-  /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object,
-	 *      java.lang.Object)
-	 */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      String newValue = (String)value;
-      String attributeName = (String)id;
-      
-      if (attributeName.equals(XSDConstants.MAXOCCURS_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.MINOCCURS_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element);      
-      }
-      else if (attributeName.equals(XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_SUBSTITUTIONGROUP_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.FORM_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_FORM_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.ABSTRACT_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_ABSTRACT_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.NILLABLE_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_NILLABLE_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.BLOCK_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_BLOCK_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.FINAL_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_FINAL_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.FIXED_ATTRIBUTE) || attributeName.equals(XSDConstants.DEFAULT_ATTRIBUTE))
-      {  
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_VALUE_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
-      {
-        if (validateName(newValue))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_NAME_CHANGE"), element);
-          // now rename any references to this element
-          if (xsdSchema != null)
-          {
-            XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-            if (comp != null && comp instanceof XSDElementDeclaration && comp.getContainer().equals(xsdSchema))
-            {
-              GlobalElementRenamer renamer = new GlobalElementRenamer((XSDNamedComponent)comp, newValue);
-              renamer.visitSchema(xsdSchema);
-            }
-          }
-        }
-      }
-      else if (attributeName.equals(XSDConstants.TYPE_ATTRIBUTE))
-      {
-        // put logic in descriptor/cell editor
-//          beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_TYPE_CHANGE"), element);
-      }
-    
-      if (newValue.length() > 0)
-      {
-        element.setAttribute((String) id, (String) value);
-      }
-      else
-      {
-        if (!attributeName.equals(XSDConstants.NAME_ATTRIBUTE))
-        {
-          element.removeAttribute((String) id);
-        }
-      }
-      endRecording(element);
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-
-  }
-
-  boolean checkForAnonymousType(Element element)
-  {
-    /* Using Ed's model to check
-     boolean isAnonymous = false;
-
-     XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
-     if (component instanceof XSDElementDeclaration)
-     {
-     XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
-     isAnonymous = xsdElem.isSetAnonymousTypeDefinition();
-     }
-     return isAnonymous;
-     */
-
-    boolean isAnonymous = false;
-
-    Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-    if (aNode != null)
-     {
-      return true;
-    }
-    aNode = getDomHelper().getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-    if (aNode != null)
-     {
-      isAnonymous = true;
-    }
-    return isAnonymous;
-  }
-  
-  
-//  void updateElementToAnonymous(Element element, String xsdType)
-//  {
-//    String prefix = element.getPrefix();
-//    prefix = (prefix == null) ? "" : (prefix + ":");
-//
-//    updateElementToNotAnonymous(element);
-//    boolean hasChildrenElements = hasElementChildren(element);
-//
-//    Element childNode = null;
-//    if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-//     {
-//      childNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-//    }
-//    else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
-//     {
-//      childNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-//    }
-//
-//    element.appendChild(childNode);
-//    formatChild(childNode, hasChildrenElements);    
-//
-//
-//    /* Using Ed's model to do the above
-//     XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
-//     if (component instanceof XSDElementDeclaration)
-//     {
-//     XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
-//     XSDFactoryImpl factory = new XSDFactoryImpl();
-//     XSDComplexTypeDefinition complex = factory.createXSDComplexTypeDefinition();
-//     XSDSimpleTypeDefinition simple = factory.createXSDSimpleTypeDefinition();
-//
-//     Node child = element.getFirstChild();
-//     if (XSDDOMHelper.inputEquals(child, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false) ||
-//     XSDDOMHelper.inputEquals(child, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-//     {
-//     element.removeChild(child);
-//     }
-//     
-//     FormatProcessor formatProcessor = new FormatProcessor();
-//     if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-//     {
-//     xsdElem.setAnonymousTypeDefinition(complex);
-//     Element elem = complex.getElement();
-//     formatProcessor.formatWithSiblingIndent((XMLNode)elem);
-//     }
-//     else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
-//     {
-//     xsdElem.setAnonymousTypeDefinition(simple);
-//     Element elem = simple.getElement();  
-//     formatProcessor.formatWithSiblingIndent((XMLNode)elem);
-//     }
-//     }
-//     component.updateElement();
-//     */
-//  }
-//
-//  boolean isSTAnonymous(Element element)
-//  {
-//    Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-//    if (aNode != null)
-//     {
-//      if (XSDDOMHelper.inputEquals(aNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-//       {
-//        return true;
-//      }
-//    }
-//    return false;
-//  }  
-//
-//  boolean isCTAnonymous(Element element)
-//  {
-//    Node aNode = getDomHelper().getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-//    if (aNode != null)
-//     {
-//      if (XSDDOMHelper.inputEquals(aNode, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-//       {
-//        return true;
-//      }
-//    }
-//    return false;
-//  }  
-//
-//  XSDTypeDefinition getAnonymousTypeDefinition(Element element)
-//  {
-//    Node typeDefinitionNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-//    if (typeDefinitionNode == null)
-//     {
-//      typeDefinitionNode = getDomHelper().getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-//    }
-//    if (typeDefinitionNode != null)
-//     {
-//      XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(typeDefinitionNode);
-//      if (component instanceof XSDTypeDefinition)
-//       {
-//        return (XSDTypeDefinition)component;
-//      }
-//    }
-//    return null;    
-//
-//    /*    XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
-//     if (component instanceof XSDElementDeclaration)
-//     {
-//     XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
-//
-//     return xsdElem.getAnonymousTypeDefinition();
-//     }
-//     return null;
-//     */
-//  }
-//
-//  void updateElementToNotAnonymous(Element element)
-//  {
-//    NodeList children = element.getChildNodes();
-//    if (children != null)
-//     {
-//      for (int i = 0; i < children.getLength(); i++)
-//       {
-//        Node node = (Node)children.item(i);
-//        if (node instanceof Element)
-//         {
-//          if (node.getLocalName().equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG) ||
-//              node.getLocalName().equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-//           {
-//            XSDDOMHelper.removeNodeAndWhitespace(node);
-//            i=0;
-//          }
-//        }
-//      }
-//    }
-//    /*    XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
-//     if (component instanceof XSDElementDeclaration)
-//     {
-//     XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
-//     if (xsdElem.isSetAnonymousTypeDefinition())
-//     {
-//     xsdElem.unsetAnonymousTypeDefinition();
-//     xsdElem.setAnonymousTypeDefinition(null);
-//     }
-//     }
-//     component.updateElement();
-//     */
-//  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/EnumerationPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/EnumerationPropertySource.java
deleted file mode 100644
index 65124f7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/EnumerationPropertySource.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class EnumerationPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  /**
-   * 
-   */
-  public EnumerationPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public EnumerationPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public EnumerationPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    PropertyDescriptor nameDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.VALUE_ATTRIBUTE,
-        XSDConstants.VALUE_ATTRIBUTE);
-    list.add(nameDescriptor);
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-     {
-      result = element.getAttribute((String) id);
-    }
-    if (result == null)
-     {
-      result = "";
-    }
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value != null)
-    {
-      if (value instanceof String)
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ENUM_VALUE_CHANGE"), element);
-        element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, (String)value);
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/FixedOrDefaultTextPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/FixedOrDefaultTextPropertyDescriptor.java
deleted file mode 100644
index 21e09aa..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/FixedOrDefaultTextPropertyDescriptor.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-
-public class FixedOrDefaultTextPropertyDescriptor extends PropertyDescriptor
-{
-  protected static String choice = "";
-  Element element;
-  /**
-   * @param id
-   * @param displayName
-   */
-  public FixedOrDefaultTextPropertyDescriptor(Object id, String displayName, Element element)
-  {
-    super(id, displayName);
-    this.element = element;
-  }
-  
-  public CellEditor createPropertyEditor(Composite parent)
-  {
-    CellEditor editor = new FixedOrDefaultTextCellEditor(parent);
-    if (getValidator() != null)
-      editor.setValidator(getValidator());
-    return editor;
-  }
-
-//    public void setChoice(String newChoice)
-//    {
-//      choice = newChoice;
-//    }
-
-  public Object getId()
-  {
-    Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
-    Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
-    if (fixedAttr != null)
-    {
-      choice = "fixed";
-    }
-    else if (defaultAttr != null) // what if both attributes were specified?  Use default...
-    {
-      choice = "default";
-    }
-    else
-    {
-      choice = "";
-    }
-
-    if (choice.equals("fixed"))
-     {
-      return "fixed";
-    }
-    else if (choice.equals("default"))
-     {
-      return "default";
-    }
-    else
-     {
-      return super.getId();
-    }
-  }
-  
-  public String getDisplayName()
-  {
-    Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
-    Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
-    if (fixedAttr != null)
-    {
-      choice = "fixed";
-    }
-    else if (defaultAttr != null) // what if both attributes were specified?  Use default...
-     {
-      choice = "default";
-    }
-    else
-    {
-      choice = "fixed/default";
-    }
-
-    if (choice.equals("fixed"))
-     {
-      return "fixed";
-    }
-    else if (choice.equals("default"))
-     {
-      return "default";
-    }
-    else
-     {
-      return super.getDisplayName();
-    }
-  }
-
-  class FixedOrDefaultTextCellEditor extends DialogCellEditor
-  {
-    public FixedOrDefaultTextCellEditor(Composite parent)
-    {
-      super(parent);
-    }
-
-    protected Object openDialogBox(Control cellEditorWindow)
-    {
-	    Shell shell = Display.getCurrent().getActiveShell();
-	    
-	    FixedOrDefaultDialog dialog = new FixedOrDefaultDialog(shell);
-
-	    dialog.setBlockOnOpen(true);
-	    dialog.create();
-	    
-	    String value = (String)getValue();
-	
-	    int result = dialog.open();
-	    
-	    if (result == Window.OK)
-	    {
-	      String newValue = dialog.getValue();
-        fireApplyEditorValue();
-	    }
-	    deactivate();
-      return null;
-	  }
-  }
-  
-  class FixedOrDefaultDialog extends Dialog implements SelectionListener
-  {
-    private int FIXED = 0;
-    private int DEFAULT = 1;
-    private int type;
-    private int value;
-    protected Button fixedButton, defaultButton;
-    protected Text valueField;
-    protected String valueString = "";
-    
-    public FixedOrDefaultDialog(Shell shell)
-    {
-      super(shell);
-    }
-
-    protected void configureShell(Shell shell)
-    {
-      super.configureShell(shell);
-    }
-
-    protected void buttonPressed(int buttonId)
-    {
-      if (buttonId == Dialog.OK)
-      {
-        valueString = valueField.getText();
-        applyEditorValueAndDeactivate();
-      }
-      super.buttonPressed(buttonId);
-    }
-
-    public String getValue() { return valueString; }
-    public String getType() { return type == FIXED? "fixed" : "default"; }
-
-    //
-    // Create the controls
-    //
-    public Control createDialogArea(Composite parent)
-    {
-      Composite client = (Composite)super.createDialogArea(parent);
-      getShell().setText("Fixed/Default Value");
-
-      GridLayout gl = new GridLayout(1, true);
-//      gl.marginHeight = 0;
-//      gl.marginWidth = 0;
-//      gl.horizontalSpacing = 0;
-//      gl.verticalSpacing = 0;
-      client.setLayout(gl);
-
-      GridData gd = new GridData();
-      gd.grabExcessHorizontalSpace = true;
-      gd.grabExcessVerticalSpace = true;
-      gd.horizontalAlignment = GridData.FILL;
-      gd.verticalAlignment = GridData.FILL;
-      gd.horizontalIndent = 0;
-      client.setLayoutData(gd);
-      
-//      isTextReadOnly = false;
-
-      fixedButton = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_FIXED"));
-//    WorkbenchHelp.setHelp(fixedButton, XSDEditorContextIds.XSDE_ELEMENT_FIXED);
-      
-      defaultButton = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_DEFAULT"));
-//    WorkbenchHelp.setHelp(defaultButton, XSDEditorContextIds.XSDE_ELEMENT_DEFAULT);
-
-      valueField = ViewUtility.createTextField(client, 30);
-      
-//    WorkbenchHelp.setHelp(valueField, XSDEditorContextIds.XSDE_ELEMENT_VALUE);
-//    valueField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_VALUE"));
-
-      WorkbenchHelp.setHelp(fixedButton, XSDEditorContextIds.XSDE_ATTRIBUTE_FIXED);
-      WorkbenchHelp.setHelp(defaultButton, XSDEditorContextIds.XSDE_ATTRIBUTE_DEFAULT);
-      // WorkbenchHelp.setHelp(valueField, XSDEditorContextIds.XSDE_ATTRIBUTE_VALUE);
-      
-      Attr fixedAttr = element.getAttributeNode(XSDConstants.FIXED_ATTRIBUTE);
-      Attr defaultAttr = element.getAttributeNode(XSDConstants.DEFAULT_ATTRIBUTE);
-
-      if (fixedAttr != null)
-      {
-        fixedButton.setSelection(true);
-        defaultButton.setSelection(false);
-        choice = "fixed";
-        type = FIXED;
-        valueField.setText(element.getAttribute("fixed"));
-        valueField.setFocus();
-        valueField.selectAll();
-      }
-      if (defaultAttr != null) // what if both attributes were specified?  Use default...
-       {
-        fixedButton.setSelection(false);
-        defaultButton.setSelection(true);
-        choice = "default";
-        type = DEFAULT;
-        valueField.setText(element.getAttribute("default"));
-        valueField.setFocus();
-        valueField.selectAll();
-      }
-
-      fixedButton.addSelectionListener(this);
-      defaultButton.addSelectionListener(this);
-      return client;
-    }
-
-    void applyEditorValueAndDeactivate()
-    {
-      String value = valueField.getText();
-      if (value != null && value.length() > 0)
-      {
-        choice = type == FIXED? "fixed" : "default";
-      }
-      if (value != null && value.length() > 0)
-      {
-        if (choice.equals("fixed"))
-        {
-          element.removeAttribute(XSDConstants.DEFAULT_ATTRIBUTE);
-          element.setAttribute(XSDConstants.FIXED_ATTRIBUTE, value);
-        }
-        else if (choice.equals("default"))
-        {
-          element.removeAttribute(XSDConstants.FIXED_ATTRIBUTE);
-          element.setAttribute(XSDConstants.DEFAULT_ATTRIBUTE, value);
-        }
-      }
-      if (value.equals(""))
-      {
-        choice = "";
-        element.removeAttribute(XSDConstants.DEFAULT_ATTRIBUTE);
-        element.removeAttribute(XSDConstants.FIXED_ATTRIBUTE);
-      }
-    }
-
-    public void widgetSelected(SelectionEvent e)
-    {
-      if (e.widget == fixedButton && fixedButton.getSelection())
-      {
-        type = FIXED;
-        choice = "fixed";
-      }
-      else if (e.widget == defaultButton && defaultButton.getSelection())
-      {
-        type = DEFAULT;
-        choice = "default";
-      }
-    }
-
-  	public void widgetDefaultSelected(SelectionEvent e)
-    {
-    }
-
-  }
-  
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/GroupRefPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/GroupRefPropertySource.java
deleted file mode 100644
index 7f10f66..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/GroupRefPropertySource.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class GroupRefPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private String[] refComboValues = { "" };
-  /**
-   * 
-   */
-  public GroupRefPropertySource()
-  {
-    super();
-  }
-  
-//  public void setReferenceComboContextHelp(String contextId)
-//  {
-//    WorkbenchHelp.setHelp(refCombo, contextId);
-//  }
-  
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public GroupRefPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public GroupRefPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  
-  public void setInput(Element element)
-  {
-    this.element = element;
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    java.util.List items = helper.getGlobalElements();
-    if (XSDDOMHelper.inputEquals(element, XSDConstants.GROUP_ELEMENT_TAG, true))
-    {
-      items = helper.getModelGroups();
-      // Need tooltip for Group Ref
-//        minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-//        WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_GROUP_REF_MINIMUM);
-//        maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-//        WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_GROUP_REF_MAXIMUM);
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, true))
-    {
-      items = helper.getGlobalElements();
-//        minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-//        WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MINIMUM);
-//        maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-//        WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MAXIMUM);
-    }
-    
-    int size = items.size() + 1;
-    refComboValues = new String[size];
-    refComboValues[0] = "";
-    if (items != null)
-     {
-      for (int i = 0; i < items.size(); i++)
-       {
-        refComboValues[i + 1] = (String) items.get(i);
-      }
-    }
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    XSDComboBoxPropertyDescriptor refDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.REF_ATTRIBUTE,
-        XSDConstants.REF_ATTRIBUTE,
-        refComboValues);
-    list.add(refDescriptor);
-    
-    PropertyDescriptor minOccursDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.MINOCCURS_ATTRIBUTE,
-        XSDConstants.MINOCCURS_ATTRIBUTE);
-    list.add(minOccursDescriptor);
-    PropertyDescriptor maxOccursDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.MAXOCCURS_ATTRIBUTE,
-        XSDConstants.MAXOCCURS_ATTRIBUTE);
-    list.add(maxOccursDescriptor);
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-      if (result == null)
-      {
-        result = "";
-      }
-      return result;
-      
-//      if (((String) id).equals(XSDConstants.REF_ATTRIBUTE))
-//      {
-//        return result;
-//      }
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      String newValue = (String)value;
-      String attributeName = (String)id;
-      if (((String) id).equals(XSDConstants.MAXOCCURS_ATTRIBUTE))
-      {
-        String max = (String)value;
-        String min = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element);
-        if (max.length() > 0)
-        {
-          element.setAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE, max);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.MINOCCURS_ATTRIBUTE))
-      {
-        String min = (String)value;
-        String max = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element);
-        if (min.length() > 0)
-        {
-          element.setAttribute(XSDConstants.MINOCCURS_ATTRIBUTE, min);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.REF_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_REF_CHANGE"), element);
-        element.setAttribute((String) id, newValue);
-        endRecording(element);
-      }
-    }
-//    Runnable delayedUpdate = new Runnable()
-//    {
-//      public void run()
-//      {
-        if (viewer != null)
-          viewer.refresh();
-//      }
-//    };
-//    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ImportPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ImportPropertySource.java
deleted file mode 100644
index 896c922..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ImportPropertySource.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.XSDExternalFileCleanup;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class ImportPropertySource
-  extends SchemaDirectiveHelperPropertySource
-  implements IPropertySource
-{
-  boolean isSetNamespace = false;
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public ImportPropertySource(Viewer viewer, XSDSchema xsdSchema, IFile currentIFile)
-  {
-    super(viewer, xsdSchema, false);
-    this.currentIFile = currentIFile;
-//     WorkbenchHelp.setHelp(controlsContainer, XSDEditorContextIds.XSDE_IMPORT_DESIGN_VIEW);
-//WorkbenchHelp.setHelp(selectButton, XSDEditorContextIds.XSDE_INCLUDE_HELPER_SELECT);
-//WorkbenchHelp.setHelp(prefixField, XSDEditorContextIds.XSDE_IMPORT_PREFIX);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public ImportPropertySource(XSDSchema xsdSchema, IFile currentIFile)
-  {
-    super(xsdSchema, false);
-    this.currentIFile = currentIFile;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    
-    SchemaLocationPropertyDescriptor schemaLocationDescriptor =
-    new SchemaLocationPropertyDescriptor(
-      XSDConstants.SCHEMALOCATION_ATTRIBUTE,
-      XSDConstants.SCHEMALOCATION_ATTRIBUTE
-      );
-    schemaLocationDescriptor.setHelpContextIds(XSDEditorContextIds.XSDE_INCLUDE_HELPER_SELECT);
-    list.add(schemaLocationDescriptor);
-    
-    if (isSetNamespace)
-    {
-      PropertyDescriptor prefixDescriptor = 
-      new TextPropertyDescriptor(
-        "Prefix",
-        "Prefix");
-      prefixDescriptor.setHelpContextIds(XSDEditorContextIds.XSDE_IMPORT_PREFIX);
-      list.add(prefixDescriptor);
-    }
-    else
-    {
-      PropertyDescriptor prefixDescriptor = 
-      new PropertyDescriptor(
-        "Prefix",
-        "Prefix");
-      prefixDescriptor.setHelpContextIds(XSDEditorContextIds.XSDE_IMPORT_PREFIX);
-      list.add(prefixDescriptor);
-    }
-
-    PropertyDescriptor namespaceDescriptor = 
-    new PropertyDescriptor(
-        XSDConstants.NAMESPACE_ATTRIBUTE,
-        XSDConstants.NAMESPACE_ATTRIBUTE);
-    list.add(namespaceDescriptor);  
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-      String attributeName = (String)id;
-      if (result == null)
-       {
-        result = "";
-      }
-
-      if (attributeName.equals("Prefix"))
-       {
-        TypesHelper helper = new TypesHelper(xsdSchema);
-        String aPrefix = helper.getPrefix(element.getAttribute(XSDConstants.NAMESPACE_ATTRIBUTE), false);
-        if (aPrefix != null && aPrefix.length() > 0)
-        {
-          return aPrefix;
-        }
-        return "";        
-      }
-      else
-       {
-        return result;
-      }
-    }
-    return "";
-    
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-     {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      String newValue = (String)value;
-      TypesHelper typesHelper = new TypesHelper(xsdSchema);
-      String namespace = element.getAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
-      String oldPrefixValue = typesHelper.getPrefix(namespace, false);
-      
-      String schemaLocation = element.getAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE);
-      if (((String) id).equals("Prefix"))
-      {
-        if (validatePrefix(newValue) &&  schemaLocation.length() > 0)
-        {
-          Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-
-          if (map.containsKey(newValue))
-          {
-//          setErrorMessage(XSDEditorPlugin.getXSDString("_ERROR_LABEL_PREFIX_EXISTS"));
-          }
-          else
-          {
-            beginRecording(XSDEditorPlugin.getXSDString("_UI_PREFIX_CHANGE"), element);
-            
-            Element schemaElement = xsdSchema.getElement();
-            map.remove(oldPrefixValue);
-            map.put(newValue, namespace);
-            XSDSchemaHelper.updateElement(xsdSchema);
-
-            endRecording(element);  
-          }
-        }
-      }
-      else if (((String) id).equals(XSDConstants.SCHEMALOCATION_ATTRIBUTE))
-      { 
-        updateExternalModel((String)value, selectedIFile, selectedNamespace, selectedXSDSchema);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-  
-  public void setInput(Element element)
-  {
-    this.element = element;
-    String namespace = element.getAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
-    if (namespace != null && namespace.trim().length() > 0)
-    {
-      isSetNamespace = true;
-    }    
-    
-  }
-
-  protected void updateExternalModel(String newLocation, IFile newFile, String namespace, XSDSchema externalSchema)
-  {
-    if (xsdSchema == null) // in case we have a bad schema
-     {
-      return;
-    }
-    Element importElement = element;
-    if (namespace == null)
-    {
-      namespace = "";
-    }        
-    
-    XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-    if (comp instanceof XSDImport)
-    {
-      beginRecording(XSDEditorPlugin.getXSDString("_UI_IMPORT_CHANGE"), importElement);
-      java.util.Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-      
-      // Referential integrity on old import
-      // How can we be sure that if the newlocation is the same as the oldlocation
-      // the file hasn't changed
-      
-      XSDSchema referencedSchema = ((XSDSchemaDirective)comp).getResolvedSchema();
-      if (referencedSchema != null)
-      {
-        XSDExternalFileCleanup cleanHelper = new XSDExternalFileCleanup(referencedSchema);
-        cleanHelper.visitSchema(xsdSchema);
-      }
-
-      Element schemaElement = xsdSchema.getElement();
-     
-//      String oldPrefix = prefixField.getText();
-//
-//      // Use the existing xmlns if available
-//      if (!map.containsValue(namespace))
-//      {
-//        if (oldPrefix.length() > 0)
-//        {
-//          schemaElement.removeAttribute("xmlns:"+oldPrefix);
-//          map.remove(oldPrefix);
-//        }
-//      }
-
-      XSDImport xsdImport = (XSDImport)comp;
-//      xsdImport.setSchemaLocation(null);
-//      xsdImport.setResolvedSchema(externalSchema);
-
-      // update the xmlns in the schema element first, and then update the import element next
-      // so that the last change will be in the import element.  This keeps the selection
-      // on the import element
-      TypesHelper helper = new TypesHelper(externalSchema);
-      String prefix = helper.getPrefix(namespace, false);
-      
-      boolean prefixAlreadyExists = false;
-      if (map.containsKey(prefix))
-      {
-        prefixAlreadyExists = true;
-      }
-      
-      if (prefix == null || (prefix !=null && prefix.length() == 0) || prefixAlreadyExists)
-      {
-        prefix = "pref";
-
-        int prefixExtension = 1;
-        while (map.containsKey(prefix) && prefixExtension < 100)
-         {
-          prefix = prefix + String.valueOf(prefixExtension);
-          prefixExtension++;
-        }
-      }
-
-      if (namespace.length() > 0)
-       {
-        // if ns already in map, use its corresponding prefix
-        if (map.containsValue(namespace))
-         {
-          TypesHelper typesHelper = new TypesHelper(xsdSchema);
-          prefix = typesHelper.getPrefix(namespace, false);
-        }
-        else // otherwise add to the map
-        {
-//          prefixMap.put(prefix, newLocation);
-          schemaElement.setAttribute("xmlns:"+prefix, namespace);
-        }
-      }
-
-      // Now update the import element's attributes
-      importElement.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, newLocation);
-      
-      if (!namespace.equals(""))
-       {
-        importElement.setAttribute(XSDConstants.NAMESPACE_ATTRIBUTE, namespace);
-      }
-      else
-       {
-        importElement.removeAttribute(XSDConstants.NAMESPACE_ATTRIBUTE);
-      }
-      
-//      if (getEditor() != null)
-//       {
-//        getEditor().reparseSchema();
-//        getEditor().getGraphViewer().setSchema(getXSDSchema());
-//      }
-
-      endRecording(importElement);
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/IncludePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/IncludePropertySource.java
deleted file mode 100644
index bbc15e8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/IncludePropertySource.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.XSDExternalFileCleanup;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class IncludePropertySource
-  extends SchemaDirectiveHelperPropertySource
-  implements IPropertySource
-{
-  /**
-   * 
-   */
-  public IncludePropertySource(IFile currentIFile)
-  {
-    super(true);
-    this.currentIFile = currentIFile;
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public IncludePropertySource(Viewer viewer, XSDSchema xsdSchema, IFile currentIFile)
-  {
-    super(viewer, xsdSchema, true);
-    this.currentIFile = currentIFile;
-  }
-  /**
-   * @param xsdSchema
-   */
-  public IncludePropertySource(XSDSchema xsdSchema, IFile currentIFile)
-  {
-    super(xsdSchema, true);
-    this.currentIFile = currentIFile;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    
-    SchemaLocationPropertyDescriptor schemaLocationDescriptor =
-    new SchemaLocationPropertyDescriptor(
-        XSDConstants.SCHEMALOCATION_ATTRIBUTE,
-        XSDConstants.SCHEMALOCATION_ATTRIBUTE);
-  
-    list.add(schemaLocationDescriptor);
-    
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-     {
-      result = element.getAttribute((String) id);
-      String attributeName = (String)id;
-      if (result == null)
-       {
-        result = "";
-      }
-      return result;
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      if (((String) id).equals(XSDConstants.SCHEMALOCATION_ATTRIBUTE))
-      { 
-        //element.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, (String)value);
-        updateExternalModel((String)value, selectedIFile, selectedNamespace, selectedXSDSchema);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-  }
-
-  protected void updateExternalModel(String newLocation, IFile newFile, String namespace, XSDSchema externalSchema)
-  {
-    Element includeElement = element;
-
-    String existingSchemaLocation = includeElement.getAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE);
-
-//  beginRecording(XSDEditorPlugin.getXSDString("_UI_INCLUDE_CHANGE"), includeElement);
-    beginRecording("Include Change", includeElement);
-    includeElement.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, newLocation);
-    
-    // If there is no existing schemaLocation, then just set it
-    if (existingSchemaLocation == null)
-    {
-      return;
-    }
-
-    XSDConcreteComponent includeComponent = xsdSchema.getCorrespondingComponent(includeElement);
-    if (includeComponent instanceof XSDInclude)
-     {
-      XSDInclude include = (XSDInclude) includeComponent;
-
-      XSDSchema referencedSchema = include.getResolvedSchema();
-      if (referencedSchema != null)
-      {
-        XSDExternalFileCleanup cleanHelper = new XSDExternalFileCleanup(referencedSchema);
-        cleanHelper.visitSchema(xsdSchema);
-        
-        xsdSchema.update();
-        include.updateElement();
-      }
-      
-    }
-    endRecording(includeElement);    
-  }
-
-  
-// Redefine's version
-//  protected void updateExternalModel(IFile newFile, String namespace, XSDSchema externalSchema)
-//  {
-//    Element redefineElement = (Element) getNode();
-//
-//    redefineElement.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, locationField.getText());
-//
-//    String existingSchemaLocation = redefineElement.getAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE);
-//
-//    // If there is no existing schemaLocation, then just set it and return
-//    if (existingSchemaLocation == null)
-//     {
-//      return;
-//    }
-//
-//    XSDConcreteComponent redefineComponent = getXSDSchema().getCorrespondingComponent(redefineElement);
-//    if (redefineComponent instanceof XSDRedefine)
-//     {
-//      XSDRedefine redefine = (XSDRedefine) redefineComponent;
-//      XSDExternalFileCleanup cleanup = new XSDExternalFileCleanup(redefine.getIncorporatedSchema());
-//      
-//      cleanup.visitSchema(getXSDSchema());
-//      if (getEditor() != null)
-//       {
-//// DisplayErrorInTaskList task = new DisplayErrorInTaskList(getEditor().getEditorIDocument(), getEditor().getFileResource(), cleanup.getMessages());
-//// task.run();
-//        
-//        // Workaround to reset included elements in XSD model
-//        getEditor().reparseSchema();
-//        getEditor().getGraphViewer().setSchema(getXSDSchema());
-//      }
-//    }
-//
-//    /* since we are reparsing, we don't need this
-//
-//     Iterator contents = getXSDSchema().getContents().iterator();
-//     while (contents.hasNext())
-//     {
-//     XSDSchemaContent content = (XSDSchemaContent)contents.next();
-//     if (content instanceof XSDSchemaDirective)
-//     {
-//     XSDSchemaDirective directive = (XSDSchemaDirective)content;
-//
-//     if (directive.getSchemaLocation().equals(oldSchemaLocation) && directive instanceof XSDRedefine)
-//     {
-//     directive.unsetSchemaLocation();
-//     directive.setSchemaLocation(locationField.getText());
-//     directive.unsetResolvedSchema();
-//     redefineElement.setAttribute(XSDConstants.SCHEMALOCATION_ATTRIBUTE, locationField.getText());
-//     getXSDSchema().updateDocument();
-//     XSDSchemaHelper.updateElement(directive);
-////          directive.updateElement();
-//     break;
-//     }
-//     }
-//     }
-//     */
-//  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/KeyrefPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/KeyrefPropertySource.java
deleted file mode 100644
index c3b4a4f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/KeyrefPropertySource.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class KeyrefPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private String[] refComboValues = { "" };
-  /**
-   * 
-   */
-  public KeyrefPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public KeyrefPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public KeyrefPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  
-  public void setInput(Element element)
-  {
-    this.element = element;
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    java.util.List items = new ArrayList();
-
-    
-    if (xsdSchema != null)
-    {
-      Iterator iter = xsdSchema.getIdentityConstraintDefinitions().iterator();
-      String name = element.getAttribute(XSDConstants.NAME_ATTRIBUTE);
-      while (iter.hasNext())
-      {
-        XSDIdentityConstraintDefinition constraint = (XSDIdentityConstraintDefinition)iter.next();
-        if (name != null && !name.equals(""))
-         {
-          if (constraint.getName() != null)
-           {
-            if (!name.equals(constraint.getQName(xsdSchema)))
-            {
-              items.add(constraint.getQName(xsdSchema));
-            }
-          }
-        }
-        else
-         {
-          if (constraint.getName() != null)
-          {
-            items.add(constraint.getQName(xsdSchema));
-          }
-        }
-      }
-    }   
-    
-    int size = items.size() + 1;
-    refComboValues = new String[size];
-    refComboValues[0] = "";
-    if (items != null)
-     {
-      for (int i = 0; i < items.size(); i++)
-       {
-        refComboValues[i + 1] = (String) items.get(i);
-      }
-    }
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-// This property is moved to the General Tab
-//    PropertyDescriptor nameDescriptor =
-//    new TextPropertyDescriptor(
-//        XSDConstants.NAME_ATTRIBUTE,
-//        XSDConstants.NAME_ATTRIBUTE);
-//    list.add(nameDescriptor);
-    
-    XSDComboBoxPropertyDescriptor refDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.REFER_ATTRIBUTE,
-        XSDConstants.REFER_ATTRIBUTE,
-        refComboValues);
-    list.add(refDescriptor);
-    
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-
-    if (id instanceof String)
-     {
-      result = element.getAttribute((String) id);
-      if (result == null)
-       {
-        result = "";
-      }
-      return result;
-//      if (((String) id).equals(XSDConstants.REFER_ATTRIBUTE))
-//      {
-//        return result;
-//      }
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      String newValue = (String)value;
-      if (((String) id).equals(XSDConstants.NAME_ATTRIBUTE))
-      {  
-        if (validateName(newValue))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_KEYREF_NAME_CHANGE"), element);
-          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-          endRecording(element);
-        }         
-      }
-      else if (((String) id).equals(XSDConstants.REFER_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_KEYREF_REFER_CHANGE"), element);
-        element.setAttribute((String) id, newValue);
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ModelGroupPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ModelGroupPropertySource.java
deleted file mode 100644
index 750b81d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ModelGroupPropertySource.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class ModelGroupPropertySource  // all or sequence or choice
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private String[] modelGroupComboValues = { "sequence", "choice", "all" };
-  /**
-   * 
-   */
-  public ModelGroupPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public ModelGroupPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public ModelGroupPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-
-    XSDComboBoxPropertyDescriptor modelGroupDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        "model group",
-        "model group",
-        modelGroupComboValues);
-    list.add(modelGroupDescriptor);
-    
-    PropertyDescriptor minOccursDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.MINOCCURS_ATTRIBUTE,
-        XSDConstants.MINOCCURS_ATTRIBUTE);
-    list.add(minOccursDescriptor);
-    PropertyDescriptor maxOccursDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.MAXOCCURS_ATTRIBUTE,
-        XSDConstants.MAXOCCURS_ATTRIBUTE);
-    list.add(maxOccursDescriptor);
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-      String attributeName = (String)id;
-      if (result == null)
-       {
-        result = "";
-      }
-      if (attributeName.equals("model group"))
-      {
-        result = element.getLocalName();
-        return result;
-      }
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    String property = (String)id;
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      String newValue = (String)value;
-      if (property.equals("model group"))
-       {
-        Document doc = element.getOwnerDocument();
-        Element parent = (Element)element.getParentNode();
-        String prefix = element.getPrefix();
-        prefix = prefix == null ? "" : prefix + ":";
-        Element newNode = null;
-        // int compositor = XSDCompositor.SEQUENCE;
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_SCOPE_CHANGE"), parent);
-        changeContentModel(parent, newValue);
-        endRecording(parent);
-        XSDDOMHelper domHelper = new XSDDOMHelper();
-        setInput(domHelper.getContentModelFromParent(parent));
-      }
-      else if (property.equals(XSDConstants.MAXOCCURS_ATTRIBUTE))
-      {
-        String max = (String)value;
-        String min = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element);
-        if (max.length() > 0)
-        {
-          element.setAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE, max);
-        }
-        else
-         {
-          element.removeAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-      else if (((String) id).equals(XSDConstants.MINOCCURS_ATTRIBUTE))
-       {
-        String min = (String)value;
-        String max = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element);
-        if (min.length() > 0)
-        {
-          element.setAttribute(XSDConstants.MINOCCURS_ATTRIBUTE, min);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-    }
-
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-
-  public void setInput(Element element)
-  {
-    super.setInput(element);
-    
-    if (element != null)
-    {
-      boolean parentIsSequence = false;
-      boolean parentIsChoice = false;
-     
-      Object parent = element.getParentNode();
-      
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SEQUENCE_ELEMENT_TAG, false))
-       {
-        parentIsSequence = true;
-      }
-      else if (XSDDOMHelper.inputEquals(parent, XSDConstants.CHOICE_ELEMENT_TAG, false))
-       {
-        parentIsChoice = true;
-      }
-      
-      if (parentIsChoice || parentIsSequence)
-      {
-        modelGroupComboValues = new String[2];
-        modelGroupComboValues[0] = XSDConstants.SEQUENCE_ELEMENT_TAG;
-        modelGroupComboValues[1] = XSDConstants.CHOICE_ELEMENT_TAG;
-      }
-      else
-      {
-        modelGroupComboValues = new String[3];
-        modelGroupComboValues[0] = XSDConstants.SEQUENCE_ELEMENT_TAG;
-        modelGroupComboValues[1] = XSDConstants.CHOICE_ELEMENT_TAG;
-        modelGroupComboValues[2] = XSDConstants.ALL_ELEMENT_TAG;
-      }
-    }      
-  }
-  
-  private void changeContentModel(Element parent, String contentModel)
-  {
-    Document doc = parent.getOwnerDocument();
-    XSDDOMHelper domHelper = new XSDDOMHelper();
-  
-    String prefix = parent.getPrefix();
-    prefix = prefix == null ? "" : prefix + ":";
-    
-    Element contentModelElement = domHelper.getContentModelFromParent(parent);
-  
-    if (contentModelElement.getLocalName().equals(contentModel))
-    {
-      return; // it's already the content model 
-    }
-  
-    Element newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + contentModel);
-  
-    if (contentModelElement.hasChildNodes())
-    {        
-      NodeList nodes = contentModelElement.getChildNodes();
-      // use clones so we don't have a refresh problem
-      for (int i = 0; i < nodes.getLength(); i++)
-      {
-        Node node = nodes.item(i);
-        newNode.appendChild(node.cloneNode(true)); 
-      }
-    }
-    parent.replaceChild(newNode, contentModelElement);
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NamePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NamePropertySource.java
deleted file mode 100644
index bbfb786..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NamePropertySource.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalAttributeGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class NamePropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  /**
-   * 
-   */
-  public NamePropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public NamePropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public NamePropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-
-// From attribute group    
-//    WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_DESIGN_VIEW);
-//    WorkbenchHelp.setHelp(nameField, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_NAME);
-
-// From unique
-//    WorkbenchHelp.setHelp(nameField, XSDEditorContextIds.XSDE_UNIQUE_BASE_NAME);
-
-// From key
-//    WorkbenchHelp.setHelp(nameField, XSDEditorContextIds.XSDE_UNIQUE_BASE_NAME);
-    
-// From group
-//     WorkbenchHelp.setHelp(controlsContainer, XSDEditorContextIds.XSDE_GROUP_DESIGN_VIEW);
-//     WorkbenchHelp.setHelp(nameField, XSDEditorContextIds.XSDE_GROUP_NAME);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    PropertyDescriptor nameDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.NAME_ATTRIBUTE,
-        XSDConstants.NAME_ATTRIBUTE);
-    list.add(nameDescriptor);
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-    }
-    if (result == null)
-    {
-      result = "";
-    }
-    return result;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value != null)
-    {
-      if (value instanceof String)
-      {
-        String newValue = (String)value;
-        if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
-        {  
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_NAME_CHANGE"), element);
-
-          // now rename any references to this element
-          if (xsdSchema != null)
-          {
-            XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-            if (comp != null && comp instanceof XSDAttributeGroupDefinition && comp.getContainer().equals(xsdSchema))
-            {
-              GlobalAttributeGroupRenamer renamer = new GlobalAttributeGroupRenamer((XSDNamedComponent)comp, (String)value);
-              renamer.visitSchema(xsdSchema);
-            }
-          }
-          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, (String)value);
-          endRecording(element);
-        }
-        else if (XSDDOMHelper.inputEquals(element, XSDConstants.UNIQUE_ELEMENT_TAG, false))
-        {
-          if (validateName(newValue))
-           {
-            beginRecording(XSDEditorPlugin.getXSDString("_UI_UNIQUE_NAME_CHANGE"), element);
-            if (newValue.length() > 0)
-            {
-              element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-            }
-            else
-            {
-              element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
-            }
-            endRecording(element);
-          }
-        }
-        else if (XSDDOMHelper.inputEquals(element, XSDConstants.KEY_ELEMENT_TAG, false))
-        {
-          if (validateName(newValue))
-          {
-            beginRecording(XSDEditorPlugin.getXSDString("_UI_KEY_NAME_CHANGE"), element);
-            if (newValue.length() > 0)
-            {
-              element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-            }
-            else
-            {
-              element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
-            }
-            endRecording(element);
-          }
-        }
-        else if (XSDDOMHelper.inputEquals(element, XSDConstants.GROUP_ELEMENT_TAG, false))
-        {
-          if (validateName(newValue))
-           {
-            beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_NAME_CHANGE"), element);
-            // now rename any references to this element
-            if (xsdSchema != null)
-             {
-              XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-              if (comp != null && comp instanceof XSDModelGroupDefinition && comp.getContainer().equals(xsdSchema))
-              {
-                GlobalGroupRenamer renamer = new GlobalGroupRenamer((XSDNamedComponent)comp, newValue);
-                renamer.visitSchema(xsdSchema);
-              }
-            }
-            element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-            endRecording(element);
-          }
-          
-        }
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NotationPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NotationPropertySource.java
deleted file mode 100644
index 573d83d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/NotationPropertySource.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class NotationPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  /**
-   * 
-   */
-  public NotationPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public NotationPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public NotationPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-// Removed for tabbed properties
-//    PropertyDescriptor nameDescriptor =
-//    new TextPropertyDescriptor(
-//        XSDConstants.NAME_ATTRIBUTE,
-//        XSDConstants.NAME_ATTRIBUTE);
-//    list.add(nameDescriptor);
-
-    PropertyDescriptor publicDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.PUBLIC_ATTRIBUTE,
-        XSDConstants.PUBLIC_ATTRIBUTE);
-    list.add(publicDescriptor);
-    
-    PropertyDescriptor systemDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.SYSTEM_ATTRIBUTE,
-        XSDConstants.SYSTEM_ATTRIBUTE);
-    list.add(systemDescriptor);
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-    
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-    }
-    if (result == null)
-    {
-      result = "";
-    }
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      String newValue = (String)value;
-      if (((String)id).equals(XSDConstants.NAME_ATTRIBUTE))
-      {
-        if (validateName(newValue))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_NOTATION_NAME_CHANGE"), element);
-          if (newValue.length() > 0)
-          {
-            element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-          }
-          else
-          {
-            element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
-          }
-          endRecording(element);
-        }
-      }
-      else if (((String)id).equals(XSDConstants.PUBLIC_ATTRIBUTE))
-       {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_NOTATION_PUBLIC_CHANGE"), element);
-        if (newValue.length() > 0)
-        {
-          element.setAttribute(XSDConstants.PUBLIC_ATTRIBUTE, newValue);
-        }
-        else
-        {
-          element.setAttribute(XSDConstants.PUBLIC_ATTRIBUTE, "");
-        }
-        endRecording(element);
-      }
-      else if (((String)id).equals(XSDConstants.SYSTEM_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_NOTATION_SYSTEM_CHANGE"), element);
-        if (newValue.length() > 0)
-        {
-          element.setAttribute(XSDConstants.SYSTEM_ATTRIBUTE, newValue);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.SYSTEM_ATTRIBUTE);
-        }
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/OptionsTextCellEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/OptionsTextCellEditor.java
deleted file mode 100644
index 3f0e591..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/OptionsTextCellEditor.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-
-public abstract class OptionsTextCellEditor extends CellEditor implements SelectionListener, KeyListener
-{
-	private Composite fEditor;
-	protected Text fText;
-  protected boolean isTextReadOnly;
-	Button moreButton;
-	Shell dialog;
-
-	private String fSelection;
-	protected Object fValue;
-	int selection;
-	Object typeObject;
-		
-	private class ComboCellLayout extends Layout 
-	{
-		public void layout(Composite editor, boolean force)
-		{
-			Rectangle bounds= editor.getClientArea();
-			Point size= moreButton.computeSize(SWT.DEFAULT, bounds.height, force);
-			fText.setBounds(0, 0, bounds.width - size.x, bounds.height);
-			moreButton.setBounds(bounds.width - size.x, 0, size.x, size.y);
-		}
-		
-		public Point computeSize(Composite editor, int wHint, int hHint, boolean force)
-		{
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-			{
-				return new Point(wHint, hHint);
-			}
-			Point size= fText.computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
-//			size.x += moreButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, force).x;
-			return size;
-		}
-	}
-
-/**
- * Creates a new combo box cell editor with the given choices.
- */
-	 public OptionsTextCellEditor(Composite parent)
-	 {
-		 super(parent);
-		 fSelection = "";
-	 }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.CellEditor#createControl(org.eclipse.swt.widgets.Composite)
-   */
-	protected Control createControl(Composite parent)
-	{
-		fEditor = ViewUtility.createComposite(parent, 2);
-		fEditor.setLayout(new ComboCellLayout());
- 
-    if (isTextReadOnly)
-    {
-		  fText = new Text(fEditor, SWT.LEFT | SWT.READ_ONLY);
-    }
-    else
-    {
-      fText = new Text(fEditor, SWT.LEFT);
-    }
-//    fText.setEnabled(false);
-
-		fText.setBackground(parent.getBackground());
-		fText.setText("");
-    fText.addKeyListener(this);
-		fText.addFocusListener(new FocusAdapter()
-    {
-			public void focusLost(FocusEvent e)
-      {
-				if (!moreButton.isFocusControl())
-				{
-					OptionsTextCellEditor.this.focusLost();
-				}
-			}
-		});
-			
-		moreButton = ViewUtility.createPushButton(fEditor, "...");
-		moreButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent e)
-			{
-				// System.out.println("More Button Clicked");
-				openDialog();
-			}
-		});
-    moreButton.addKeyListener(this);
-		moreButton.addFocusListener(new FocusAdapter() {
-			public void focusLost(FocusEvent e) {
-				if (!fText.isFocusControl() && (dialog==null || 
-								dialog.isDisposed() || 
-								(dialog!=null && !dialog.isFocusControl())))
-				{
-          // System.out.println("MoreButton focusLost");
-					OptionsTextCellEditor.this.focusLost();
-				}
-			}
-		});
-
-
-		setValueValid(true);
-
-		return fEditor;
-	}
-  
-  public void activate()
-  {
-    // System.out.println("Cell editor activated");
-    fText.setText(fValue == null ? "" : fValue.toString());
-  }
-
-	protected void focusLost() {
-		// System.out.println("CELLEDITOR FOCUS LOST");
-		if (isActivated()) {
-			applyEditorValueAndDeactivate();
-		}
-	}
-
-	void applyEditorValueAndDeactivate() {
-		//	must set the selection before getting value
-//		if (dialog != null  && !dialog.isDisposed())
-//		{
-//			dialog.close();
-//			dialog.dispose();
-//		}
-		fireApplyEditorValue();
-		deactivate();
-	}
-
-  public void keyPressed(KeyEvent e)
-  {
-    if (e.character == SWT.ESC)
-     { // Escape character
-      fireCancelEditor();
-    }
-    else if ((e.character == SWT.CR) || (e.character == SWT.LF))
-     { // Return key
-      applyEditorValueAndDeactivate();
-    }
-  }
-  
-  public void keyReleased(KeyEvent e)
-  {
-    
-  }
-  
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.CellEditor#doGetValue()
-   * Returns the cell editor's value.
-	 */
-	protected Object doGetValue() 
-	{
-		return fValue;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.CellEditor#doSetFocus()
-   * Set the focus to the cell editor's UI representation.
-   */
-	protected void doSetFocus()
-	{
-//		fButton.setFocus();
-//		System.out.println("doSetFocus() " + moreButton.setFocus());
-		fText.setFocus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.CellEditor#doSetValue(java.lang.Object)
-	 * Sets the value of the cell editor to the given value.
-   */
-	protected void doSetValue(Object value)
-	{
-		fValue = value;
-	}
-
-  protected Point getButtonAbsoluteLocation()
-  {
-    Rectangle buttonBounds = moreButton.getBounds();
-    int x = buttonBounds.x;
-    int y = buttonBounds.y;
-    Control c = moreButton;
-    while (c != null)
-     {
-      c = c.getParent();
-      if (c == null)
-        break;
-      x += c.getBounds().x;
-      y += c.getBounds().y;
-    }
-    x += buttonBounds.width + 5;
-    y += buttonBounds.height;
-    Point p = new Point(x,y);
-    return p;
-  }
-  
-  protected void cancel()
-  {
-    dialog.close();
-    dialog.dispose();
-  }
-
-	protected abstract void openDialog();	
-  
-	public void widgetSelected(SelectionEvent e)
-	{
-	}
-	public void widgetDefaultSelected(SelectionEvent e)
-  {
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/PatternPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/PatternPropertySource.java
deleted file mode 100644
index 38f166a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/PatternPropertySource.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.wizards.RegexWizard;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class PatternPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  /**
-   * 
-   */
-  public PatternPropertySource()
-  {
-    super();
-//    expressionField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_PATTERN"));    
-//    WorkbenchHelp.setHelp(expressionField, XSDEditorContextIds.XSDE_PATTERN_VALUE);
-//    WorkbenchHelp.setHelp(activateWizardButton, XSDEditorContextIds.XSDE_PATTERN_REGULAR);
-//    activateWizardButton.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_BUTTON"));
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public PatternPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public PatternPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-
-    PatternTextPropertyDescriptor patternDescriptor =
-    new PatternTextPropertyDescriptor(
-        XSDConstants.VALUE_ATTRIBUTE, 
-        XSDConstants.VALUE_ATTRIBUTE);
-    list.add(patternDescriptor);
-    
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-    }
-    if (result == null)
-    {
-      result = "";
-    }
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      if (((String) id).equals(XSDConstants.VALUE_ATTRIBUTE))
-      { 
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_PATTERN_VALUE_CHANGE"), element);
-        element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, (String)value);
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-
-  public class PatternTextPropertyDescriptor extends PropertyDescriptor
-  {
-    /**
-     * @param id
-     * @param displayName
-     */
-    public PatternTextPropertyDescriptor(Object id, String displayName)
-    {
-      super(id, displayName);
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent)
-    {
-      // CellEditor editor = new PatternTextCellEditor(parent);
-      CellEditor editor = new PatternDialogCellEditor(parent);
-      if (getValidator() != null)
-        editor.setValidator(getValidator());
-      return editor;
-    }
-  }   
-
-  public class PatternDialogCellEditor extends DialogCellEditor {
-
-    /**
-     * Creates a new Font dialog cell editor parented under the given control.
-     * The cell editor value is <code>null</code> initially, and has no 
-     * validator.
-     *
-     * @param parent the parent control
-     */
-    protected PatternDialogCellEditor(Composite parent) {
-      super(parent);
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)
-     */
-    protected Object openDialogBox(Control cellEditorWindow)
-    {
-      String initialValue = element.getAttribute(XSDConstants.VALUE_ATTRIBUTE);
-      if (initialValue == null)
-      {
-        initialValue = "";
-      }
-      RegexWizard wizard = new RegexWizard(initialValue);
-      Shell shell = Display.getCurrent().getActiveShell();
-      WizardDialog wizardDialog = new WizardDialog(shell, wizard);
-      wizardDialog.create();
-      
-      String value = (String)getValue();
-
-      int result = wizardDialog.open();
-
-      if (result == Window.OK)
-      {
-        return wizard.getPattern();
-      }
-      return value;
-    }
-
-  }
-  
-//  class PatternTextCellEditor extends OptionsTextCellEditor
-//  {
-//    protected Button fixedButton, defaultButton;
-//    
-//    public PatternTextCellEditor(Composite parent)
-//    {
-//      super(parent);
-//    }
-//
-//    protected Control createControl(Composite parent)
-//    {
-//      isTextReadOnly = false;
-//      return super.createControl(parent);
-//    }
-//
-//    protected void openDialog()
-//    {
-//      RegexWizard wizard = new RegexWizard(element.getAttribute(XSDConstants.VALUE_ATTRIBUTE));
-//      Shell shell = Display.getCurrent().getActiveShell();
-//      WizardDialog wizardDialog = new WizardDialog(shell, wizard);
-//      wizardDialog.create();
-//      
-//      dialog = wizardDialog.getShell();
-//      Display display = dialog.getDisplay();
-//      dialog.addShellListener(new ShellAdapter()
-//      {
-//        public void shellDeactivated(ShellEvent e)
-//        {
-//          cancel();
-//        }
-//      });
-//
-//      int result = wizardDialog.open();
-//
-//      if (result == Window.OK)
-//      {
-//        fText.setText(wizard.getPattern());
-//        applyEditorValueAndDeactivate();
-//      }
-//      
-//    }
-//
-//    protected void cancel()
-//    {
-//      super.cancel();
-//    }
-//
-//    void applyEditorValueAndDeactivate()
-//    {
-//      String value = fText.getText();
-//      doSetValue(value);
-//      fireApplyEditorValue();
-//      deactivate();
-//    }
-//    
-//    protected Object doGetValue()
-//    { 
-//      fValue = fText.getText();
-//      return fText.getText();
-//    }
-//
-//  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ReadOnlyPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ReadOnlyPropertySource.java
deleted file mode 100644
index 0f5cb7f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/ReadOnlyPropertySource.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-public class ReadOnlyPropertySource implements IPropertySource
-{
-	protected Element element;
-
-	public ReadOnlyPropertySource(IEditorPart editPart, Element element)
-	{
-			this.element = element;
-	}
-
-	public Object getEditableValue()
-	{
-			return null;
-	}
-
-	public IPropertyDescriptor[] getPropertyDescriptors()
-	{
-			List list = new ArrayList();
-			NamedNodeMap map = element.getAttributes();
-			int mapLength = map.getLength();
-			for (int i = 0; i < mapLength; i++)
-			{
-					Attr attr = (Attr) map.item(i);
-					list.add(new PropertyDescriptor(attr.getName(), attr.getName()));
-			}
-			IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-			list.toArray(result);
-			return result;
-	}
-
-	public Object getPropertyValue(Object id)
-	{
-			Object result = null;
-			if (id instanceof String)
-			{
-					result = element.getAttribute((String) id);
-			}
-			return result != null ? result : "";
-	}
-
-	public boolean isPropertySet(Object id)
-	{
-			return false;
-	}
-
-	public void resetPropertyValue(Object id)
-	{
-	}
-
-	public void setPropertyValue(Object id, Object value)
-	{
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaDirectiveHelperPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaDirectiveHelperPropertySource.java
deleted file mode 100644
index b8e1ed2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaDirectiveHelperPropertySource.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.views.navigator.ResourceNavigator;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.common.ui.viewers.ResourceFilter;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.wizards.XSDSelectIncludeFileWizard;
-import org.eclipse.xsd.XSDSchema;
-
-public abstract class SchemaDirectiveHelperPropertySource
-  extends BasePropertySource
-{
-  protected IFile currentIFile;
-
-  IFile selectedIFile;
-  String selectedNamespace;
-  XSDSchema selectedXSDSchema;
-  boolean isInclude;
-  /**
-   * 
-   */
-  public SchemaDirectiveHelperPropertySource(boolean isInclude)
-  {
-    super();
-    this.isInclude = isInclude;
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public SchemaDirectiveHelperPropertySource(
-    Viewer viewer,
-    XSDSchema xsdSchema,
-    boolean isInclude)
-  {
-    super(viewer, xsdSchema);
-    this.isInclude = isInclude;
-  }
-  /**
-   * @param xsdSchema
-   */
-  public SchemaDirectiveHelperPropertySource(XSDSchema xsdSchema, boolean isInclude)
-  {
-    super(xsdSchema);
-    this.isInclude = isInclude;
-  }
-
-  
-  public class SchemaLocationPropertyDescriptor extends PropertyDescriptor
-  {
-    /**
-     * @param id
-     * @param displayName
-     */
-    public SchemaLocationPropertyDescriptor(Object id, String displayName)
-    {
-      super(id, displayName);
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent)
-    {
-      CellEditor editor = new SchemaLocationDialogCellEditor(parent);
-      if (getValidator() != null)
-        editor.setValidator(getValidator());
-      return editor;
-    }
-  }
-
-  public class SchemaLocationDialogCellEditor extends DialogCellEditor {
-
-    /**
-     * Creates a new Font dialog cell editor parented under the given control.
-     * The cell editor value is <code>null</code> initially, and has no 
-     * validator.
-     *
-     * @param parent the parent control
-     */
-    protected SchemaLocationDialogCellEditor(Composite parent) {
-      super(parent);
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)
-     */
-    protected Object openDialogBox(Control cellEditorWindow)
-    {
-      Shell shell = Display.getCurrent().getActiveShell();
-      
-//      oldSchemaLocation = locationField.getText().trim();
-//      IFile currentIFile = ((IFileEditorInput)getIEditorPart().getEditorInput()).getFile();
-      ViewerFilter filter = new ResourceFilter(new String[] { ".xsd" }, 
-      new IFile[] { currentIFile },
-      null);
-//
-
-      IViewPart viewParts[] = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViews();
-      ResourceNavigator resourceNav = null;
-      for (int i = 0; i < viewParts.length; i++) 
-       {
-        if (viewParts[i] instanceof ResourceNavigator) 
-         {
-          resourceNav = (ResourceNavigator) viewParts[i];
-          break;
-        }
-      }
-      IStructuredSelection selection = StructuredSelection.EMPTY;
-      if (resourceNav != null)
-       {
-        selection = (IStructuredSelection)resourceNav.getViewSite().getSelectionProvider().getSelection();
-      }
-      
-      XSDSelectIncludeFileWizard fileSelectWizard = 
-      new XSDSelectIncludeFileWizard(xsdSchema, isInclude,
-          XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_SCHEMA"),
-          XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_DESC"),
-          filter,
-          selection);
-
-      WizardDialog wizardDialog = new WizardDialog(shell, fileSelectWizard);
-      wizardDialog.create();
-      wizardDialog.setBlockOnOpen(true);
-      int result = wizardDialog.open();
-
-      
-      String value = (String)getValue();
-      // System.out.println("VALUE IS *** = " + value);
-      if (result == Window.OK)
-      {
-        selectedIFile = fileSelectWizard.getResultFile();
-        String schemaFileString = value;
-        if (selectedIFile != null) 
-         {
-          schemaFileString = URIHelper.getRelativeURI(selectedIFile.getLocation(), currentIFile.getLocation());
-        }
-        else
-         {
-          schemaFileString = fileSelectWizard.getURL();
-        }
-
-//        updateExternalModel(selectedIFile, fileSelectWizard.getNamespace(), fileSelectWizard.getExternalSchema());
-        selectedNamespace = fileSelectWizard.getNamespace();
-        selectedXSDSchema = fileSelectWizard.getExternalSchema();
-        
-        return schemaFileString;
-      }
-      return value;
-    }
-  }
-
-  public IFile getSelectedIFile()
-  {
-    return selectedIFile;
-  }
-  
-  public String getSelectedNamespace()
-  {
-    return selectedNamespace;
-  }
-  
-  public XSDSchema getSelectedXSDSchema()
-  {
-    return selectedXSDSchema;
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaPropertySource.java
deleted file mode 100644
index 051c3c8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SchemaPropertySource.java
+++ /dev/null
@@ -1,530 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.TargetNamespaceChangeHandler;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class SchemaPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private String oldPrefix = "";
-  private String oldNamespace = "";
-  
-  private String[] attributeFormDefaultComboValues =
-  { 
-    "",
-    XSDEditorPlugin.getXSDString("_UI_COMBO_UNQUALIFIED"),
-    XSDEditorPlugin.getXSDString("_UI_COMBO_QUALIFIED")
-  };
-  
-  private String[] elementFormDefaultComboValues =
-  {
-    "",
-    XSDEditorPlugin.getXSDString("_UI_COMBO_UNQUALIFIED"),
-    XSDEditorPlugin.getXSDString("_UI_COMBO_QUALIFIED")
-  };
-
-  private String[] blockDefaultComboValues =
-  {
-    "",
-    "#all",
-    "extension",
-    "restriction",
-    "substitution"
-  };
-
-  private String[] finalDefaultComboValues =
-  {
-    "",
-    "#all",
-    "extension",
-    "restriction"
-  };
-  
-  /**
-   * 
-   */
-  public SchemaPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public SchemaPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public SchemaPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-// These have been moved to the General tab    
-//    PropertyDescriptor prefixDescriptor = 
-//    new TextPropertyDescriptor(
-//        "prefix",
-//        "prefix");
-//    list.add(prefixDescriptor);
-//    prefixDescriptor.setCategory("Namespace");
-//
-//    PropertyDescriptor targetNamespaceDescriptor = 
-//    new TextPropertyDescriptor(
-//        XSDConstants.TARGETNAMESPACE_ATTRIBUTE,
-//        XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
-//    list.add(targetNamespaceDescriptor);
-//    targetNamespaceDescriptor.setCategory("Namespace");
-    
-    PropertyDescriptor versionDescriptor = 
-    new TextPropertyDescriptor(
-        XSDConstants.VERSION_ATTRIBUTE,
-        XSDConstants.VERSION_ATTRIBUTE);
-//    versionDescriptor.setDescription("Version attribute"); // XSDEditorPlugin.getXSDString("_UI_TOOLTIP_VERSION"));
-    list.add(versionDescriptor);
-    PropertyDescriptor xmlLangDescriptor = 
-    new TextPropertyDescriptor(
-        "xml:lang",
-        "xml:lang");
-    list.add(xmlLangDescriptor);
-    
-    XSDComboBoxPropertyDescriptor attributeFormDefaultDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.ATTRIBUTEFORMDEFAULT_ATTRIBUTE,
-        XSDConstants.ATTRIBUTEFORMDEFAULT_ATTRIBUTE,
-        attributeFormDefaultComboValues);
-    list.add(attributeFormDefaultDescriptor);
-    
-    
-    XSDComboBoxPropertyDescriptor elementFormDefaultDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.ELEMENTFORMDEFAULT_ATTRIBUTE,
-        XSDConstants.ELEMENTFORMDEFAULT_ATTRIBUTE,
-        elementFormDefaultComboValues);
-    list.add(elementFormDefaultDescriptor);
-    
-    XSDComboBoxPropertyDescriptor blockDefaultDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.BLOCKDEFAULT_ATTRIBUTE,
-        XSDConstants.BLOCKDEFAULT_ATTRIBUTE,
-        blockDefaultComboValues);
-    list.add(blockDefaultDescriptor);
-    XSDComboBoxPropertyDescriptor finalDefaultDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        XSDConstants.FINALDEFAULT_ATTRIBUTE,
-        XSDConstants.FINALDEFAULT_ATTRIBUTE,
-        finalDefaultComboValues);
-    list.add(finalDefaultDescriptor);
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-    //    return propertyDescriptors;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-      String attributeName = (String)id;
-      if (result == null)
-      {
-        result = "";
-      }
-
-      if (attributeName.equals("prefix"))
-      {
-        TypesHelper helper = new TypesHelper(xsdSchema);
-        String aPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
-        // System.out.println("schema targetNS is " + xsdSchema.getTargetNamespace());
-        if (aPrefix != null && aPrefix.length() > 0)
-        {
-          return aPrefix;
-        }
-        return "";        
-      }
-      else
-      {
-        return result;
-      }
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      String newValue = (String)value;
-      String attributeName = (String)id;
-      if (attributeName.equals("prefix"))
-      {
-        updatePrefix(newValue); 
-      }
-      else if (attributeName.equals(XSDConstants.TARGETNAMESPACE_ATTRIBUTE))
-      {
-        updateTargetNamespace(newValue);
-      }
-      else if (attributeName.equals("xml:lang"))
-      {
-        validateLanguage(newValue);
-        // return;  // we will accept the value even though it does not conform
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_LANG_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.VERSION_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_VERSION_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.ATTRIBUTEFORMDEFAULT_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_ATTRIBUTEFORMDEFAULT_CHANGE"), element);
-      }
-      else if (attributeName.equals(XSDConstants.ELEMENTFORMDEFAULT_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_ELEMENTFORMDEFAULT_CHANGE"), element); 
-      }
-      else if (attributeName.equals(XSDConstants.BLOCKDEFAULT_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_BLOCKDEFAULT_CHANGE"), element); 
-      }
-      else if (attributeName.equals(XSDConstants.FINALDEFAULT_ATTRIBUTE))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_SCHEMA_FINALDEFAULT_CHANGE"), element);
-      }
-
-      if (!attributeName.equals("prefix") && !attributeName.equals(XSDConstants.TARGETNAMESPACE_ATTRIBUTE))
-      {        
-        if (newValue.equals(""))
-        {
-          element.removeAttribute(attributeName); 
-        }
-        else
-        {
-          element.setAttribute(attributeName, newValue);
-        }
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-        viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-
-  public void setInput(Element element)
-  {
-    super.setInput(element);
-    
-    oldNamespace = "";
-    oldPrefix = "";
-    
-    if (element!= null)
-    {
-      String targetNamespace = element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
-      oldNamespace = targetNamespace;
-
-      TypesHelper helper = new TypesHelper(xsdSchema);
-      String aPrefix = helper.getPrefix(targetNamespace, false);
-      if (aPrefix != null && aPrefix.length() > 0)
-      {
-        oldPrefix = aPrefix;
-      }
-    }
-
-//  For debugging
-//    System.out.println("old Prefix is " + oldPrefix);
-//    System.out.println("old NS is " + oldNamespace);
-    if (xsdSchema != null)
-    {
-      Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-//      System.out.println("SetInput: Prefixes: " + map.values());
-//      System.out.println("SetInput: NS:" + map.keySet());
-    }
-    
-  }
-  
-  
-  private void updatePrefix(String newPrefix)
-  {
-    updateNamespaceInfo(newPrefix, oldNamespace);  
-  }
-  
-  private void updateTargetNamespace(String newTargetNamespace)
-  {
-    updateNamespaceInfo(oldPrefix, newTargetNamespace);
-  }
-  
-  private void updateNamespaceInfo(String newPrefix, String newTargetNamespace)
-  {
-//    System.out.println("\nold Prefix is " + oldPrefix);
-//    System.out.println("old NS is " + oldNamespace);
-//    System.out.println("new Prefix is " + newPrefix);
-//    System.out.println("new NS is " + newTargetNamespace);
-    
-    DocumentImpl doc = (DocumentImpl)element.getOwnerDocument();
-
-    String modelTargetNamespace = xsdSchema.getTargetNamespace();
-//    System.out.println("Model TargetNS is " + modelTargetNamespace);
-    if (modelTargetNamespace == null)
-    {
-      modelTargetNamespace = "";
-    }
-        
-    String targetNamespace = newTargetNamespace.trim(); 
-    String prefix = newPrefix.trim();
-
-    if (!validatePrefix(prefix) || !validateTargetNamespace(targetNamespace))
-    {
-      return;
-    }
-        
-    if (prefix.length() > 0 && targetNamespace.length() == 0)
-    {
-       // can't have blank targetnamespace and yet specify a prefix
-       return;
-    }
-
-    doc.getModel().beginRecording(this, "Target Namespace Change");
-    String xsdForXSDPrefix = xsdSchema.getSchemaForSchemaQNamePrefix();
-    Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-
-// For debugging
-//        System.out.println("1. SW Map is " + map.values());
-//        System.out.println("1. SW Map keys are " + map.keySet());
-
-    // Check if prefix is blank
-    // if it is, then make sure we have a prefix 
-    // for schema for schema
-    if (prefix.length() == 0)
-    {
-      // if prefix for schema for schema is blank
-      // then set it to value specified in preference
-      // and update ALL nodes with this prefix
-      if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
-      {
-        // get preference prefix
-        xsdForXSDPrefix = XSDEditorPlugin.getPlugin().getXMLSchemaPrefix();
-        // get a unique prefix by checking what's in the map
-
-        xsdForXSDPrefix = getUniqueSchemaForSchemaPrefix(xsdForXSDPrefix, map);
-        element.setAttribute("xmlns:" + xsdForXSDPrefix, XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001);
-
-        updateAllNodes(element, xsdForXSDPrefix);
-            
-        // remove the old xmlns attribute for the schema for schema
-        if (element.getAttribute("xmlns") != null &&
-            element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
-        {
-          element.removeAttribute("xmlns");
-        }
-      }
-    }
-
-    if (targetNamespace.length() > 0 ||
-       (targetNamespace.length() == 0 && prefix.length() == 0))
-    {
-      // clean up the old prefix for this schema
-      if (oldPrefix != null && oldPrefix.length() > 0)
-      {
-        element.removeAttribute("xmlns:"+oldPrefix);
-//            element.setAttribute("xmlns:" + prefix, targetNamespace);
-//            java.util.Map prefixToNameSpaceMap = xsdSchema.getQNamePrefixToNamespaceMap();
-//            prefixToNameSpaceMap.remove(oldPrefix);
-      }
-      else // if no prefix
-      {
-        if (element.getAttribute("xmlns") != null)
-        {
-          if (!element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
-           {
-            element.removeAttribute("xmlns");
-          }
-        }
-      }
-    }
-
-    if (targetNamespace.length() > 0)
-    {
-      if (!modelTargetNamespace.equals(targetNamespace))
-      {
-        element.setAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE, targetNamespace);
-      }
-      // now set the new xmlns:prefix attribute
-      if (prefix.length() > 0)
-      {
-        element.setAttribute("xmlns:" + prefix, targetNamespace);
-      }
-      else
-      {
-        element.setAttribute("xmlns", targetNamespace);
-      }
-      // set the targetNamespace attribute
-    }
-    else // else targetNamespace is blank
-    {
-      if (prefix.length() == 0)
-      {
-        element.removeAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
-      }
-    }
-
-//    System.out.println("1.5 SW Map is " + map.values());
-//    System.out.println("1.5 SW Map keys are " + map.keySet());
-    
-    // do our own referential integrity
-    TargetNamespaceChangeHandler targetNamespaceChangeHandler = new TargetNamespaceChangeHandler(xsdSchema, oldNamespace, targetNamespace);
-    targetNamespaceChangeHandler.resolve();
-
-    oldPrefix = prefix;
-    oldNamespace = targetNamespace;
-    
-    XSDSchemaHelper.updateElement(xsdSchema);
-    
-    doc.getModel().endRecording(this);
-
-// For debugging
-        map = xsdSchema.getQNamePrefixToNamespaceMap();
-//        System.out.println("2. SW Map is " + map.values());
-//        System.out.println("2. SW Map keys are " + map.keySet());
-  }
-
-
-  private String getUniqueSchemaForSchemaPrefix(String xsdForXSDPrefix, Map map)
-  {
-    if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
-     {       
-      xsdForXSDPrefix = "xsd";
-    }
-    // ensure prefix is unique
-    int prefixExtension = 1;
-    while (map.containsKey(xsdForXSDPrefix) && prefixExtension < 100)
-     {
-      xsdForXSDPrefix = xsdForXSDPrefix + String.valueOf(prefixExtension);
-      prefixExtension++;
-    }
-    return xsdForXSDPrefix;
-  }
-
-  private void updateAllNodes(Element element, String prefix)
-  {
-    element.setPrefix(prefix);
-    NodeList list = element.getChildNodes();
-    if (list != null)
-    {
-      for (int i=0; i < list.getLength(); i++)
-      {
-        Node child = list.item(i);
-        if (child != null && child instanceof Element)
-        {
-          child.setPrefix(prefix);
-          if (child.hasChildNodes())
-          {
-            updateAllNodes((Element)child, prefix);
-          }
-        }
-      }
-    }   
-  }
-
-  protected boolean validateTargetNamespace(String ns)
-  {
-    // will allow blank namespace !!
-    if (ns.equals(""))
-     {
-      return true;
-    }
-    
-    String errorMessage = null;
-    try
-    {
-      URI testURI = new URI(ns);
-    }
-    catch (URISyntaxException e)
-    {
-      errorMessage = XSDEditorPlugin.getXSDString("_WARN_INVALID_TARGET_NAMESPACE");
-    }
-    
-    if (errorMessage == null || errorMessage.length() == 0)
-     {
-      return true;
-    }
-    return false;
-  }
-  
-}
-
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertyDescriptor.java
deleted file mode 100644
index 1948146..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertyDescriptor.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xsd.ui.internal.properties.section.SimpleContentBaseTypeOptionsDialog;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-
-public class SimpleContentPropertyDescriptor extends TypesPropertyDescriptor
-{
-  public SimpleContentPropertyDescriptor(Object id, String displayName, Element element, XSDSchema xsdSchema)
-  {
-    super(id, displayName, element, xsdSchema);
-  }
-  
-  public CellEditor createPropertyEditor(Composite parent)
-  {
-    // CellEditor editor = new SimpleContentBaseTypeOptionsTextCellEditor(parent);
-    CellEditor editor = new SimpleContentBaseTypeDialogCellEditor(parent);
-    if (getValidator() != null)
-      editor.setValidator(getValidator());
-    return editor;
-  }
-  
-  public class SimpleContentBaseTypeDialogCellEditor extends TypesDialogCellEditor
-  {
-
-    /**
-     * Creates a new Font dialog cell editor parented under the given control.
-     * The cell editor value is <code>null</code> initially, and has no 
-     * validator.
-     *
-     * @param parent the parent control
-     */
-    protected SimpleContentBaseTypeDialogCellEditor(Composite parent)
-    {
-      super(parent);
-    }
-
-    protected Object openDialogBox(Control cellEditorWindow)
-    {
-	    Shell shell = Display.getCurrent().getActiveShell();
-	    
-	    // SimpleContentBaseTypeOptionsDialog dialog = new SimpleContentBaseTypeOptionsDialog(shell);
-	    SimpleContentBaseTypeOptionsDialog dialog = new SimpleContentBaseTypeOptionsDialog(shell, element, property, xsdSchema);
-
-	    dialog.setBlockOnOpen(true);
-	    dialog.create();
-	    
-	    String value = (String)getValue();
-	
-	    int result = dialog.open();
-	
-	    if (result == Window.OK)
-	    {
-	      value = dialog.getType();
-	      return value;
-	    }
-	    deactivate();
-	    return value;
-	  }
-  }
-
-//  class SimpleContentBaseTypeOptionsDialog extends TypesDialog
-//  {
-//    public SimpleContentBaseTypeOptionsDialog(Shell shell)
-//    {
-//      super(shell);
-//      showAnonymous = false;
-//    }
-//
-////    protected void ok()
-////    {
-////      TableItem[] items = table.getItems();
-////      selection = table.getSelectionIndex();
-////      if (items != null && items.length > 0 && selection >= 0)
-////       {
-////        typeObject = items[selection].getData();
-////      }
-////      System.out.println("typeObject is " + typeObject);
-////
-////      doSetValue(typeObject);
-////      applyEditorValueAndDeactivate();
-////      dialog.close();
-////    }
-//    
-//    public void handleSetInput()
-//    {
-//      XSDDOMHelper domHelper = new XSDDOMHelper();
-//      typeSection.getSimpleType().setSelection(false);
-//      typeSection.getUserSimpleType().setSelection(false);
-//      typeSection.getUserComplexType().setSelection(false);
-//      showAnonymous = false;
-//      if (element != null)
-//      {
-//        String derivedBy = domHelper.getDerivedByName(element);
-//        String baseType = domHelper.getBaseType(element);
-//        boolean derivedByRestriction = true;
-//        
-//        if (XSDDOMHelper.inputEquals(element, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-//        {
-//          typeSection.getSimpleType().setEnabled(false);
-//          typeSection.getUserSimpleType().setEnabled(false);
-//          typeSection.getUserComplexType().setSelection(true);
-//
-//          previousType = 3;
-//        }
-//        else if (XSDDOMHelper.inputEquals(element, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-//        {
-//          typeSection.getSimpleType().setEnabled(false);
-//          typeSection.getUserSimpleType().setEnabled(false);
-//
-//          if (derivedBy.equals("restriction"))
-//          {
-//            typeSection.getSimpleType().setEnabled(false);
-//            typeSection.getUserSimpleType().setEnabled(false);
-//            typeSection.getUserComplexType().setEnabled(true);
-//          }
-//          else if (derivedBy.equals("extension"))
-//          {
-//            derivedByRestriction = false;
-//            typeSection.getSimpleType().setEnabled(true);
-//            typeSection.getUserSimpleType().setEnabled(true);
-//            typeSection.getUserComplexType().setEnabled(true);
-//          }
-//        }
-//          
-//        if (derivedBy != null)
-//        {
-//            if (baseType != null && !baseType.equals(""))
-//            {
-//              Element parent = (Element)element.getParentNode();
-//              XSDConcreteComponent component = null;
-//              if (parent != null)
-//              {
-//                component = xsdSchema.getCorrespondingComponent(parent);
-//              }
-//              XSDTypeDefinition baseTypeDefinition = null;
-//              if (component instanceof XSDComplexTypeDefinition)
-//              {
-//                XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition)component;
-//                baseTypeDefinition = complexType.getBaseTypeDefinition();
-//              }               
-//
-//              if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(baseType) && !derivedByRestriction)
-//              {
-//                typeSection.getSimpleType().setSelection(true);
-//                populateBuiltInType();
-//                int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(baseType);
-//                table.setSelection(i);
-//                previousType = 1;
-//              }
-//              else if (baseTypeDefinition instanceof XSDSimpleTypeDefinition && !derivedByRestriction)
-//              {
-//                typeSection.getUserSimpleType().setSelection(true);
-//                populateUserSimpleType();
-//                int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(baseType);
-//                if (showAnonymous)
-//                 {
-//                  table.setSelection(i + 1);
-//                }
-//                else
-//                 {
-//                  table.setSelection(i);
-//                }
-//                previousType = 2;
-//              }
-//              else if (baseTypeDefinition instanceof XSDComplexTypeDefinition)
-//              {
-//                typeSection.getUserComplexType().setSelection(true);
-//                populateUserComplexType();
-//                int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(baseType);
-//                if (showAnonymous)
-//                 {
-//                  table.setSelection(i + 1);
-//                }
-//                else
-//                 {
-//                  table.setSelection(i);
-//                }
-//                previousType = 3;
-//              }
-//            }
-//            else
-//            {
-//              typeSection.getUserComplexType().setSelection(true);
-//              populateUserComplexType();
-//              table.setSelection(0);
-//            }
-//          }
-//
-//      }
-//    }
-//  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertySource.java
deleted file mode 100644
index f0233cd..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleContentPropertySource.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class SimpleContentPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private String DERIVED_BY_ID = "derived by";  // XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY"); 
-  private String BASE_TYPE_ID = "base";  // XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE");
-  
-  private String derivedByChoicesComboValues[] =
-  {
-     "",
-     XSDConstants.RESTRICTION_ELEMENT_TAG,
-     XSDConstants.EXTENSION_ELEMENT_TAG
-  };
-  
-  /**
-   * 
-   */
-  public SimpleContentPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public SimpleContentPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public SimpleContentPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    
-    SimpleContentPropertyDescriptor typeDescriptor = new SimpleContentPropertyDescriptor(
-        BASE_TYPE_ID,
-        BASE_TYPE_ID,
-        element, xsdSchema);
-    list.add(typeDescriptor);
-    XSDComboBoxPropertyDescriptor derivedByDescriptor =
-    new XSDComboBoxPropertyDescriptor(
-        DERIVED_BY_ID,
-        DERIVED_BY_ID,
-        derivedByChoicesComboValues);
-    list.add(derivedByDescriptor);
-    
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-     {
-      if (((String) id).equals(DERIVED_BY_ID))
-      {
-        String derivedBy = getDomHelper().getDerivedByName(element);
-        if (derivedBy == null)
-         {
-          derivedBy = "";
-        }
-        return derivedBy;
-      }
-      else if (((String) id).equals(BASE_TYPE_ID))
-      {
-        String baseType = getDomHelper().getBaseType(element);
-        if (baseType == null)
-        {
-          baseType = "";
-        }
-        return baseType;
-      }
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value != null)
-    {
-      if (value instanceof String)
-      {
-        String origBaseType = getDomHelper().getBaseType(element);
-        String derivedBy = getDomHelper().getDerivedByName(element);
-        
-        if (((String) id).equals(BASE_TYPE_ID))
-        {            
-          Document doc = element.getOwnerDocument();
-          Element childElement = null;
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);        
-          getDomHelper().setDerivedByBaseType(element, derivedBy, (String)value);
-          endRecording(element);
-        }
-        else if (((String) id).equals(DERIVED_BY_ID))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_DERIVEDBY_CHANGE"), element);
-          String newDerivedBy = (String)value;
-          if (newDerivedBy.equals(XSDConstants.RESTRICTION_ELEMENT_TAG))
-          {
-            String prefix = element.getPrefix();
-            String anyType = prefix == null? "anyType" : prefix + ":anyType"; 
-            getDomHelper().changeDerivedByType(element, (String)value, anyType);
-          }
-          else
-          {
-            Element derivedByElem = getDomHelper().getDerivedByElement(element);
-            if (checkForAnonymousType(derivedByElem))
-            {            
-// KCPort
-//            ArrayList message = new ArrayList();
-//            ErrorMessage aTask = new ErrorMessage();
-//            Node aNode = getDomHelper().getChildNode(derivedByElem, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-////////////// shall we remove the node and its children??
-////            getDomHelper().removeNodeAndWhitespace(aNode);
-//////////////
-////            if (aNode instanceof Element)
-////            {
-////              Element st = (Element)aNode;
-////             if (st instanceof NodeImpl)
-////              {
-////                aTask.setNode((NodeImpl)st);
-////              }
-////            }
-//            if (derivedByElem instanceof NodeImpl)
-//            {
-//              aTask.setModelObject(derivedByElem);
-//            }
-//            aTask.setLocalizedMessage(XSDEditorPlugin.getXSDString("_ERROR_REMOVE_LOCAL_SIMPLETYPE"));
-//            message.add(aTask);
-//            if (getEditor() != null)
-//            {
-//              getEditor().createTasksInTaskList(message);
-//            }
-            }   
-            getDomHelper().changeDerivedByType(element, (String)value, origBaseType);
-          }
-
-          
-          endRecording(element);
-//        setInput(element);
-        }
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-  }
-
-  boolean checkForAnonymousType(Element element)
-  {
-    boolean isAnonymous = false;
-
-    Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-    if (aNode != null)
-     {
-      return true;
-    }
-    return isAnonymous;
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleRestrictPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleRestrictPropertySource.java
deleted file mode 100644
index 38a8819..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleRestrictPropertySource.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDFacet;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.impl.XSDFactoryImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class SimpleRestrictPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private String BASE_TYPE_ID = XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE");
-  private String [] whiteSpaceComboChoices = { "", "preserve", "replace", "collapse" };
-  /**
-   * 
-   */
-  public SimpleRestrictPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public SimpleRestrictPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public SimpleRestrictPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    
-    SimpleContentPropertyDescriptor typeDescriptor = new SimpleContentPropertyDescriptor(
-        XSDConstants.BASE_ATTRIBUTE,
-        XSDConstants.BASE_ATTRIBUTE,
-        (Element)element.getParentNode(), xsdSchema);  // get the parent node!
-    list.add(typeDescriptor);
-    
-    Iterator facets = xsdSimpleType.getValidFacets().iterator();
-    
-    while(facets.hasNext())
-    {
-      String aValidFacet = (String)facets.next();
-      if (!(aValidFacet.equals(XSDConstants.PATTERN_ELEMENT_TAG) || aValidFacet.equals(XSDConstants.ENUMERATION_ELEMENT_TAG)))
-      {
-        if (aValidFacet.equals(XSDConstants.WHITESPACE_ELEMENT_TAG))
-        {
-          XSDComboBoxPropertyDescriptor whitespaceDescriptor = new XSDComboBoxPropertyDescriptor(
-              aValidFacet, aValidFacet, whiteSpaceComboChoices);
-          list.add(whitespaceDescriptor);
-        }
-        else
-        {  
-          list.add(new TextPropertyDescriptor(aValidFacet, aValidFacet));
-        }
-      }
-    }
-    
-    
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      if (((String) id).equals(XSDConstants.BASE_ATTRIBUTE))
-      {
-        String baseType = element.getAttribute(XSDConstants.BASE_ATTRIBUTE);
-        if (baseType == null)
-        {
-          baseType = "";
-        }
-        return baseType;
-      }
-      else
-      {
-        String aFacet = (String)id;
-        Iterator facets = xsdSimpleType.getFacets().iterator();
-        
-        while(facets.hasNext())
-        {
-          XSDFacet aValidFacet = (XSDFacet)facets.next();
-          if (aValidFacet.getFacetName().equals(aFacet))
-          {
-            result = aValidFacet.getLexicalValue();
-            if (result == null)
-            {
-              result = "";
-            }
-            return result;
-          }
-        }
-      }
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value != null)
-     {
-      if (value instanceof String)
-      {
-        String newValue = (String)value;
-        String origBaseType = getDomHelper().getBaseType(element);
-        
-        if (((String) id).equals(XSDConstants.BASE_ATTRIBUTE))
-        {            
-          Document doc = element.getOwnerDocument();
-          Element childElement = null;
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);        
-
-          Element parent = (Element)element.getParentNode();
-          if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-          {
-//            updateElementToNotAnonymous(element);
-          }
-          getDomHelper().setSimpleContentType(element, newValue);
-          endRecording(element);
-        }
-        else
-        {
-          Element simpleTypeElement = xsdSimpleType.getElement();
-          XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
-          Element derivedByElement = xsdDOMHelper.getDerivedByElement(simpleTypeElement);
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_FACET_CHANGE"), simpleTypeElement);
-          String prefix = simpleTypeElement.getPrefix();
-          prefix = (prefix == null) ? "" : (prefix + ":");
-
-          String aFacet = (String)id;
-          XSDFactoryImpl factory = new XSDFactoryImpl();
-
-          Element childNodeElement = null;
-          DOMAttribute valueAttr = null;
-          XSDFacet facet = null;
-          if (aFacet.equals(XSDConstants.TOTALDIGITS_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getTotalDigitsFacet();
-          }
-          else if (aFacet.equals(XSDConstants.FRACTIONDIGITS_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getFractionDigitsFacet();
-          }
-          else if (aFacet.equals(XSDConstants.WHITESPACE_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getWhiteSpaceFacet();
-          }
-          else if (aFacet.equals(XSDConstants.MAXEXCLUSIVE_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getMaxExclusiveFacet();
-          }
-          else if (aFacet.equals(XSDConstants.MAXINCLUSIVE_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getMaxInclusiveFacet();
-          }
-          else if (aFacet.equals(XSDConstants.MINEXCLUSIVE_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getMinExclusiveFacet();
-          }
-          else if (aFacet.equals(XSDConstants.MININCLUSIVE_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getMinInclusiveFacet();
-          }
-          else if (aFacet.equals(XSDConstants.LENGTH_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getLengthFacet();
-          }
-          else if (aFacet.equals(XSDConstants.MAXLENGTH_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getMaxLengthFacet();
-          }
-          else if (aFacet.equals(XSDConstants.MINLENGTH_ELEMENT_TAG))
-          {
-            facet = xsdSimpleType.getMinLengthFacet();
-          }
-          
-          if (facet != null)
-          {
-            facet.setLexicalValue(newValue);
-          }
-          else
-          {
-            facet = (XSDFacet)factory.createXSDTotalDigitsFacet();
-            childNodeElement = (derivedByElement.getOwnerDocument()).createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + aFacet);
-            valueAttr = new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, "");
-            childNodeElement.setAttribute(valueAttr.getName(), valueAttr.getValue());
-            valueAttr.setValue(newValue);
-            childNodeElement.setAttribute(valueAttr.getName(), valueAttr.getValue());  
-            boolean hasChildrenElements = hasElementChildren(derivedByElement);
-            element.appendChild(childNodeElement);
-          //formatChild(childNodeElement, hasChildrenElements);    
-          }
-          XSDSchemaHelper.updateElement(xsdSimpleType);
-          if (facet != null)
-          {
-            XSDSchemaHelper.updateElement(facet);
-          }
-        }
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-
-  }
-
-  protected boolean isAnonymous;
-  protected XSDSimpleTypeDefinition xsdSimpleType;
-  public void setInput(Element element)
-  {
-    this.element = element;
-    if (xsdSchema == null)
-    {
-      return;
-    }
-    String type = element.getLocalName();
-
-    isAnonymous = checkForAnonymousType(element);
-    
-    int restrictionType = 0;  // 0 = SimpleType restriction
-    // 1 = SimpleContent restriction
-    // ComplexContent restriction different window
-    
-    if (XSDDOMHelper.inputEquals(element, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
-    {
-      String baseType = element.getAttribute(XSDConstants.BASE_ATTRIBUTE);
-
-      XSDTypeDefinition baseTypeDefinition = null;
-
-      Element parent = (Element)element.getParentNode();
-      if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-      {
-        restrictionType = 1;
-        Element grandparent = (Element)parent.getParentNode();
-        XSDConcreteComponent component = null;
-        if (grandparent != null)
-        {
-          component = xsdSchema.getCorrespondingComponent(grandparent);
-        }
-        if (component instanceof XSDComplexTypeDefinition)
-        {
-          XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition)component;
-          baseTypeDefinition = complexType.getBaseTypeDefinition();
-        }               
-      }
-      else if (XSDDOMHelper.inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-      {
-        restrictionType = 0;
-        XSDConcreteComponent component = null;
-        if (parent != null)
-         {
-          component = xsdSchema.getCorrespondingComponent(parent);
-        }
-        if (component instanceof XSDSimpleTypeDefinition)
-         {
-          XSDSimpleTypeDefinition simpleType = (XSDSimpleTypeDefinition)component;
-          baseTypeDefinition = simpleType.getBaseTypeDefinition();
-        }
-      }
-
-      XSDConcreteComponent xsdConcreteComponent = null;
-      if (element.getParentNode() != null)
-      {
-        xsdConcreteComponent = xsdSchema.getCorrespondingComponent(element.getParentNode());
-      }
-
-      if (xsdConcreteComponent instanceof XSDSimpleTypeDefinition)
-      {
-        xsdSimpleType = (XSDSimpleTypeDefinition)xsdConcreteComponent;
-      }
-      //facetViewer.setInput(xsdSimpleType);
-    }
-  }
-
-  boolean checkForAnonymousType(Element element)
-  {
-    boolean isAnonymous = false;
-
-    Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-    if (aNode != null)
-    {
-      return true;
-    }
-    return isAnonymous;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeListPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeListPropertySource.java
deleted file mode 100644
index fc104c0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeListPropertySource.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class SimpleTypeListPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  /**
-   * 
-   */
-  public SimpleTypeListPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public SimpleTypeListPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public SimpleTypeListPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    TypesPropertyDescriptor typeDescriptor = new TypesPropertyDescriptor(
-          XSDConstants.ITEMTYPE_ATTRIBUTE,
-          XSDConstants.ITEMTYPE_ATTRIBUTE,
-          element, xsdSchema);
-        
-    typeDescriptor.setLabelProvider(new LabelProvider()
-    {
-      public String getText(Object element)
-      {
-        return (String) element;
-      }
-    });
-    list.add(typeDescriptor);
-    
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      if (((String) id).equals(XSDConstants.ITEMTYPE_ATTRIBUTE))
-      {
-        result = element.getAttribute((String) id);
-        if (result == null)
-        {
-          result = "**anonymous**";
-        }
-        return result;
-      }
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value != null)
-     {
-      if (value instanceof String)
-      {
-        if (((String) id).equals(XSDConstants.ITEMTYPE_ATTRIBUTE))
-        { 
-          beginRecording("ItemType Change", element);
-          element.setAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, (String)value);
-          endRecording(element);
-        }
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypePropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypePropertySource.java
deleted file mode 100644
index 99885fa..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypePropertySource.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalSimpleOrComplexTypeRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Node;
-
-public class SimpleTypePropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  private boolean isAnonymous = false;
-  /**
-   * 
-   */
-  public SimpleTypePropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public SimpleTypePropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public SimpleTypePropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    Node parent = element.getParentNode();
-    if (XSDDOMHelper.inputEquals(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(parent, XSDConstants.ELEMENT_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(parent, XSDConstants.UNION_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(parent, XSDConstants.LIST_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
-    {
-      isAnonymous = true;
-    }
-
-    List list = new ArrayList();
-    if (!isAnonymous)
-    {
-      // Create a descriptor and set a category
-      PropertyDescriptor nameDescriptor =
-      new TextPropertyDescriptor(
-          XSDConstants.NAME_ATTRIBUTE,
-          XSDConstants.NAME_ATTRIBUTE);
-      list.add(nameDescriptor);
-    }
-    else
-    {
-      PropertyDescriptor readOnly = new PropertyDescriptor(XSDConstants.NAME_ATTRIBUTE, XSDConstants.NAME_ATTRIBUTE);
-      list.add(readOnly);
-    }
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-    {
-      result = element.getAttribute((String) id);
-      if (isAnonymous)
-      {
-        result = "**anonymous**";
-      }
-    }
-    if (result == null)
-     {
-      result = "";
-    }
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    if (value instanceof String)
-    {
-      String name = (String)value;
-      if (validateName(name))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_SIMPLETYPE_NAME_CHANGE"), element);
-        if (name != null && name.length() > 0)
-        {
-          // now rename any references to this type
-          if (xsdSchema != null)
-          {
-            XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-            if (comp != null && comp instanceof XSDSimpleTypeDefinition && comp.getContainer().equals(xsdSchema))
-            {
-//                ((XSDNamedComponent)comp).setName(name);
-              GlobalSimpleOrComplexTypeRenamer renamer = new GlobalSimpleOrComplexTypeRenamer((XSDNamedComponent)comp, name);
-              renamer.visitSchema(xsdSchema);
-            }
-          }
-          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, name);
-        }
-        else
-        {
-          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
-        }
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeUnionPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeUnionPropertySource.java
deleted file mode 100644
index ec0adf7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/SimpleTypeUnionPropertySource.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class SimpleTypeUnionPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  /**
-   * 
-   */
-  public SimpleTypeUnionPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public SimpleTypeUnionPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-  }
-  /**
-   * @param xsdSchema
-   */
-  public SimpleTypeUnionPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    SimpleUnionMemberTypesPropertyDescriptor typeDescriptor = new SimpleUnionMemberTypesPropertyDescriptor(
-        XSDConstants.MEMBERTYPES_ATTRIBUTE,
-        XSDConstants.MEMBERTYPES_ATTRIBUTE);
-    
-    typeDescriptor.setLabelProvider(new LabelProvider()
-        {
-      public String getText(Object element)
-      {
-        return (String) element;
-      }
-    });
-    list.add(typeDescriptor);
-    
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-     {
-      if (((String) id).equals(XSDConstants.MEMBERTYPES_ATTRIBUTE))
-       {
-        result = element.getAttribute((String) id);
-        if (result == null)
-        { 
-          result = "";
-        }
-        return result;
-      }
-    }
-    return "";
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value == null)
-    {
-      value = "";
-    }
-    
-    if (value instanceof String)
-    {
-      String newValue = (String)value;
-      if (((String) id).equals(XSDConstants.MEMBERTYPES_ATTRIBUTE))
-      { 
-        beginRecording("MemberTypes Change", element);
-        if (newValue.length() > 0)
-        {
-          element.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, (String)value);
-        }
-        else
-        {
-          element.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);  
-        }
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-
-  
-  public class SimpleUnionMemberTypesPropertyDescriptor extends PropertyDescriptor
-  {
-    /**
-     * @param id
-     * @param displayName
-     */
-    public SimpleUnionMemberTypesPropertyDescriptor(Object id, String displayName)
-    {
-      super(id, displayName);
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent)
-    {
-      CellEditor editor = new SimpleTypeUnionMemberTypesDialogCellEditor(parent);
-      if (getValidator() != null)
-        editor.setValidator(getValidator());
-      return editor;
-    }
-  }
-  
-  public class SimpleTypeUnionMemberTypesDialogCellEditor extends DialogCellEditor {
-
-    /**
-     * Creates a new Font dialog cell editor parented under the given control.
-     * The cell editor value is <code>null</code> initially, and has no 
-     * validator.
-     *
-     * @param parent the parent control
-     */
-    protected SimpleTypeUnionMemberTypesDialogCellEditor(Composite parent) {
-      super(parent);
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)
-     */
-    protected Object openDialogBox(Control cellEditorWindow)
-    {
-      Shell shell = Display.getCurrent().getActiveShell();
-      
-      SimpleContentUniontMemberTypesDialog dialog = new SimpleContentUniontMemberTypesDialog(shell);
-      dialog.setBlockOnOpen(true);
-      dialog.create();
-      
-      String value = (String)getValue();
-
-      int result = dialog.open();
-
-      if (result == Window.OK)
-       {
-        return dialog.getResult();
-      }
-      return value;
-    }
-
-  }
-
-  public class SimpleContentUniontMemberTypesDialog extends org.eclipse.jface.dialogs.Dialog implements SelectionListener
-  {
-    Table table;
-    TypeSection typeSection;
-    Button addButton, removeButton;
-    org.eclipse.swt.widgets.List memberTypesList;
-    
-    private String result;
-    
-    public SimpleContentUniontMemberTypesDialog(Shell shell)
-    {
-      super(shell);
-    }
-
-    protected void configureShell(Shell shell)
-    {
-      super.configureShell(shell);
-    }
-
-    protected void buttonPressed(int buttonId)
-    {
-      if (buttonId == Dialog.OK)
-      {
-        StringBuffer sb = new StringBuffer();
-        int length = memberTypesList.getItemCount();
-        for (int i=0 ; i < length; i++)
-        {
-          sb.append(memberTypesList.getItem(i));
-          if (i < length - 1)
-          {
-            sb.append(" ");
-          }
-        }
-        result = sb.toString();
-      }
-      super.buttonPressed(buttonId);
-    }
-
-    public String getResult() { return result; }
-
-    //
-    // Create the controls
-    //
-    public Control createDialogArea(Composite parent)
-    {
-      int tabIndex = 0;
-      Composite client = (Composite)super.createDialogArea(parent);
-      getShell().setText("Union " + XSDConstants.MEMBERTYPES_ATTRIBUTE); 
-      
-      Label instructions = new Label(client, SWT.LEFT | SWT.WRAP);
-      instructions.setText("Select from the available types and add to the memberTypes list");
-      
-      Composite columnsComposite = new Composite(client, SWT.NONE);
-      GridLayout ccGL = new GridLayout();
-      ccGL.verticalSpacing = 0;
-      ccGL.horizontalSpacing = 0;
-      ccGL.marginHeight = 0;
-      ccGL.marginWidth = 0;
-      ccGL.makeColumnsEqualWidth = true;
-      ccGL.numColumns = 3;
-      columnsComposite.setLayout(ccGL);
-      
-      GridData ccGD = new GridData();
-      ccGD.grabExcessHorizontalSpace = true;
-      ccGD.horizontalAlignment = GridData.FILL;
-      columnsComposite.setLayoutData(ccGD);     
-                             
-      typeSection = new TypeSection(columnsComposite);
-      typeSection.setShowUserComplexType(false);
-
-      typeSection.createClient(columnsComposite);
-      typeSection.getSimpleType().setSelection(false);
-      typeSection.getSimpleType().addSelectionListener(this);
-      typeSection.getUserSimpleType().addSelectionListener(this);
-      
-      ViewUtility.createHorizontalFiller(columnsComposite, 1);
-      
-      Label memberListLabel = new Label(columnsComposite, SWT.LEFT);
-      memberListLabel.setText("memberTypes value:");
-      
-      Composite dataComposite = new Composite(client, SWT.NONE);
-      GridLayout dcGL = new GridLayout();
-      dcGL.verticalSpacing = 0;
-      dcGL.marginHeight = 0;
-      dcGL.marginWidth = 0;
-      dcGL.numColumns = 3;
-      dataComposite.setLayout(dcGL);
-      
-      GridData dcGD = new GridData();
-      dcGD.grabExcessHorizontalSpace = true;
-      dcGD.grabExcessVerticalSpace = true;
-      dataComposite.setLayoutData(dcGD);
-      
-      table = new Table(dataComposite,
-          SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); 
-      table.setHeaderVisible(false);
-      table.setLinesVisible(true);
-      GridData gd2 = new GridData();
-      gd2.grabExcessHorizontalSpace = true;
-      gd2.grabExcessVerticalSpace = true;
-      gd2.horizontalAlignment = GridData.FILL;
-      gd2.verticalAlignment = GridData.FILL;
-      gd2.heightHint = 200;
-      gd2.widthHint = 200;
-      table.setLayoutData(gd2);
-
-      // Fill table
-      handleSetInput();
-      int tableItemCount = table.getItemCount();
-
-      TableColumn tc = new TableColumn(table, SWT.LEFT);
-//      tc.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
-      //tc.setText("Available types:");
-      tc.setWidth(200);
-      tc.setResizable(true);
-      
-      Composite buttonComposite = new Composite(dataComposite, SWT.NONE);
-      GridLayout bcGL = new GridLayout();
-      bcGL.numColumns = 1;
-      buttonComposite.setLayout(bcGL);
-      addButton = new Button(buttonComposite, SWT.PUSH);
-      addButton.setText(">");
-      addButton.addSelectionListener(this);
-      removeButton = new Button(buttonComposite, SWT.PUSH);
-      removeButton.setText("<");
-      removeButton.addSelectionListener(this);
-      
-      Composite listComposite = new Composite(dataComposite, SWT.NONE);
-      GridLayout mtGL = new GridLayout();
-      mtGL.numColumns = 1;
-      mtGL.marginHeight = 0;
-      mtGL.marginWidth = 0;
-      mtGL.horizontalSpacing = 0;
-      mtGL.verticalSpacing = 0;
-      listComposite.setLayout(mtGL);
-
-      GridData mtGD = new GridData();
-      mtGD.grabExcessHorizontalSpace = true;
-      mtGD.grabExcessVerticalSpace = true;
-      mtGD.verticalAlignment = GridData.FILL;
-      mtGD.horizontalAlignment = GridData.FILL;
-      listComposite.setLayoutData(mtGD);
-      
-      memberTypesList = new org.eclipse.swt.widgets.List(listComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-      GridData mtlGD = new GridData();
-      mtlGD.grabExcessHorizontalSpace = true;
-      mtlGD.grabExcessVerticalSpace = true;
-      mtlGD.verticalAlignment = GridData.FILL;
-      mtlGD.horizontalAlignment = GridData.FILL;
-      mtlGD.heightHint = 200;
-      mtlGD.widthHint = 200;
-      memberTypesList.setLayoutData(mtlGD);
-      
-      initializeMemberListContent();
-      return client;
-    }
-
-    private void initializeMemberListContent()
-    {
-      String result = element.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-      if (result == null)
-      {
-        return;
-      }
-      StringTokenizer token = new StringTokenizer(result);
-      while (token.hasMoreTokens())
-      {
-        memberTypesList.add(token.nextToken());
-      }
-    }
-  
-    public void widgetSelected(SelectionEvent e)
-    {
-      if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
-       {
-        populateBuiltInType();
-      }
-      else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
-       {
-        populateUserSimpleType(false);
-      }
-      else if (e.widget == addButton)
-      {
-        TableItem[] items = table.getItems();
-        int selection = table.getSelectionIndex();
-        if (items != null && items.length > 0 && selection >= 0)
-        {
-          String typeToAdd = items[selection].getData().toString();
-          if (memberTypesList.indexOf(typeToAdd) < 0)
-          {
-            memberTypesList.add(items[selection].getData().toString());
-          }
-        }
-      }
-      else if (e.widget == removeButton)
-      {
-        String[] typesToRemove = memberTypesList.getSelection();
-        for (int i=0; i < typesToRemove.length; i++)
-        {
-          memberTypesList.remove(typesToRemove[i]);
-        }
-      }
-    }
-    
-    public void widgetDefaultSelected(SelectionEvent e)
-    {
-    }
-    
-    public void handleSetInput()
-    {
-      populateBuiltInType();
-    }
-    
-    public void populateBuiltInType()
-    {
-      table.removeAll();
-      List items = getBuiltInTypeNamesList();
-      for (int i = 0; i < items.size(); i++)
-       {
-        TableItem item = new TableItem(table, SWT.NONE);
-        item.setText(items.get(i).toString());
-        item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-        item.setData(items.get(i));
-      }
-    }
-
-    public void populateUserSimpleType(boolean showAnonymous)
-    {
-      table.removeAll();
-      if (showAnonymous)
-       {
-        TableItem anonymousItem = new TableItem(table, SWT.NONE);
-        anonymousItem.setText("**anonymous**");
-        anonymousItem.setData("**anonymous**");
-      }
-      List items = getUserSimpleTypeNamesList();
-      for (int i = 0; i < items.size(); i++)
-       {
-        TableItem item = new TableItem(table, SWT.NONE);
-        item.setText(items.get(i).toString());
-        item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-        item.setData(items.get(i));
-      }
-    }
-    
-    public java.util.List getBuiltInTypeNamesList()
-    {
-      TypesHelper helper = new TypesHelper(xsdSchema);
-      return helper.getBuiltInTypeNamesList();
-    }
-
-    public java.util.List getUserSimpleTypeNamesList()
-    {
-      TypesHelper helper = new TypesHelper(xsdSchema);
-      return helper.getUserSimpleTypeNamesList();
-    }
-  }
-  
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/TypesPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/TypesPropertyDescriptor.java
deleted file mode 100644
index 207e53a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/TypesPropertyDescriptor.java
+++ /dev/null
@@ -1,1160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class TypesPropertyDescriptor extends PropertyDescriptor
-{
-  Element element;
-  XSDSchema xsdSchema;
-  String property;
-  /**
-   * @param id
-   * @param displayName
-   */
-  public TypesPropertyDescriptor(Object id, String displayName, Element element, XSDSchema xsdSchema)
-  {
-    super(id, displayName);
-    this.property = (String)id;
-    this.element = element;
-    this.xsdSchema = xsdSchema;
-  }
-  
-  boolean showComplexTypes = true;
-
-  public CellEditor createPropertyEditor(Composite parent)
-  {
-    if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-    {
-      showComplexTypes = true;
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
-      XSDDOMHelper.inputEquals(element, XSDConstants.LIST_ELEMENT_TAG, false) ||
-      XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
-    {
-      showComplexTypes = false;
-    }
-    // CellEditor editor = new TypesOptionsTextCellEditor(parent);
-    CellEditor editor = new TypesDialogCellEditor(parent);
-    if (getValidator() != null)
-      editor.setValidator(getValidator());
-    return editor;
-  }
-
-  
-  public class TypesDialogCellEditor extends DialogCellEditor
-  {
-
-    /**
-     * Creates a new Font dialog cell editor parented under the given control.
-     * The cell editor value is <code>null</code> initially, and has no 
-     * validator.
-     *
-     * @param parent the parent control
-     */
-    protected TypesDialogCellEditor(Composite parent)
-    {
-      super(parent);
-    }
-
-    protected Object openDialogBox(Control cellEditorWindow)
-    {
-	    Shell shell = Display.getCurrent().getActiveShell();
-	    
-	    TypesDialog dialog = new TypesDialog(shell);
-
-	    dialog.setBlockOnOpen(true);
-	    dialog.create();
-	    
-	    String value = (String)getValue();
-	
-	    int result = dialog.open();
-	    
-	    if (result == Window.OK)
-	    {
-	      value = dialog.getType();
-        doSetValue(value);
-        fireApplyEditorValue();
-	    }
-	    deactivate();
-	    return null;
-	  }
-  }
-
-  public class TypesDialog extends org.eclipse.jface.dialogs.Dialog implements SelectionListener
-  {
-    String type;
-    Object typeObject;
-    Table table;
-
-    TypeSection typeSection;
-    boolean showAnonymous = true;
-    String previousStringType = "";
-    boolean isAnonymous;
-    int previousType;
-
-    
-    public TypesDialog(Shell shell)
-    {
-      super(shell);
-    }
-
-    protected void configureShell(Shell shell)
-    {
-      super.configureShell(shell);
-    }
-
-    protected void buttonPressed(int buttonId)
-    {
-      if (buttonId == Dialog.OK)
-      {
-        type = table.getItem(table.getSelectionIndex()).getText();
-        ok();
-      }
-      super.buttonPressed(buttonId);
-    }
-
-    public Object getTypeObject() { return typeObject; }
-    public String getType() { return type; }
-
-    //
-    // Create the controls
-    //
-    public Control createDialogArea(Composite parent)
-    {
-      int tabIndex = 0;
-      Composite client = (Composite)super.createDialogArea(parent);
-      getShell().setText("Available Types");
-
-      typeObject = null;
-      
-      GridLayout gl = new GridLayout(1, true);
-//      gl.marginHeight = 0;
-//      gl.marginWidth = 0;
-//      gl.horizontalSpacing = 0;
-//      gl.verticalSpacing = 0;
-      client.setLayout(gl);
-
-      GridData gd = new GridData();
-      gd.grabExcessHorizontalSpace = true;
-      gd.grabExcessVerticalSpace = true;
-      gd.horizontalAlignment = GridData.FILL;
-      gd.verticalAlignment = GridData.FILL;
-      gd.horizontalIndent = 0;
-      client.setLayoutData(gd);
-      
-      typeSection = new TypeSection(client);
-      typeSection.setShowUserComplexType(showComplexTypes);
-
-      typeSection.createClient(client);
-      typeSection.getSimpleType().setSelection(false);
-      typeSection.getSimpleType().addSelectionListener(this);
-      typeSection.getUserSimpleType().addSelectionListener(this);
-      if (showComplexTypes)
-      {
-        typeSection.getUserComplexType().addSelectionListener(this);
-      }
-
-      table = new Table(client,
-                        SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); 
-      table.setHeaderVisible(false);
-      table.setLinesVisible(true);
-      
-      GridData gd2 = new GridData();
-      gd2.grabExcessHorizontalSpace = true;
-      gd2.grabExcessVerticalSpace = true;
-      gd2.horizontalAlignment = GridData.FILL;
-      gd2.heightHint = 200;
-      table.setLayoutData(gd2);
-
-      TableColumn tableColumn = new TableColumn(table, SWT.LEFT);
-//      tableColumn.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
-      tableColumn.setResizable(true);
-      tableColumn.setWidth(200);
-      
-
-      // Fill table and select input type
-      handleSetInput();
-
-      return client;
-    }
-    
-    public void widgetSelected(SelectionEvent e)
-    {
-      if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
-      {
-        populateBuiltInType();
-      }
-      else if (e.widget == typeSection.getUserComplexType() && typeSection.getUserComplexType().getSelection())
-      {
-        populateUserComplexType();
-      }
-      else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
-      {
-        populateUserSimpleType();
-      }
-
-    }
-    
-  	public void widgetDefaultSelected(SelectionEvent e)
-    {
-    }
-
-    protected void ok()
-    {
-      TableItem[] items = table.getItems();
-      int selection = table.getSelectionIndex();
-      if (items != null && items.length > 0 && selection >= 0)
-      {
-        typeObject = items[selection].getData();
-      }
-//      System.out.println("typeObject is " + typeObject);
-
-//      beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_TYPE_CHANGE"), element);
-//      beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
-//      doSetValue(typeObject);
-//      applyEditorValueAndDeactivate();
-//      dialog.close();
-
-      if (!XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
-      {
-      if (typeObject.equals("**anonymous**"))
-      {
-        if (typeSection.getUserSimpleType().getSelection())
-        {
-          if (!previousStringType.equals("**anonymous**"))
-          {
-            updateElementToAnonymous(
-              element,
-              XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-          }
-        }
-        else
-        {
-          if (!previousStringType.equals("**anonymous**"))
-          {
-            updateElementToAnonymous(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-          }
-        }
-        // element.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
-        element.removeAttribute(property);
-      }
-      else
-      {
-        updateElementToNotAnonymous(element);
-        //element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, typeObject.toString());
-        element.setAttribute(property, typeObject.toString());
-      }
-      }
-//      endRecording(element);
-
-      //implement dispose();
-//      table.removeAll();
-//      table.dispose();
-    }
-
-  	
-    public void handleSetInput()
-    {
-      table.removeAll();
-      isAnonymous = checkForAnonymousType(element);
-      // Attr attr = element.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
-      Attr attr = element.getAttributeNode(property);
-      if (attr != null)
-      {
-        String value = attr.getValue();
-        if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(value))
-        {
-          typeSection.getSimpleType().setSelection(true);
-          populateBuiltInType();
-          int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(value);
-          table.setSelection(i);
-          previousType = 1;
-        }
-        else if (typeSection.getUserSimpleTypeNamesList(xsdSchema).contains(value))
-        {
-          typeSection.getUserSimpleType().setSelection(true);
-          populateUserSimpleType();
-          int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(value);
-          if (showAnonymous)
-          {
-            table.setSelection(i + 1);
-          }
-          else
-          {
-            table.setSelection(i);
-          }
-          previousType = 2;
-        }
-        else if (typeSection.getUserComplexTypeNamesList(xsdSchema).contains(value))
-        {
-          typeSection.getUserComplexType().setSelection(true);
-          populateUserComplexType();
-          int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(value);
-          if (showAnonymous)
-           {
-            table.setSelection(i + 1);
-          }
-          else
-           {
-            table.setSelection(i);
-          }
-          previousType = 3;
-        }
-        else // if it is type="" for an empty list of simple types
-          {
-          typeSection.getUserSimpleType().setSelection(true);
-          populateUserSimpleType();
-          previousType = 2;
-        }
-      }
-      else
-      {
-        if (isAnonymous)
-        {
-          if (isSTAnonymous(element))
-          {
-            typeSection.getUserSimpleType().setSelection(true);
-            populateUserSimpleType();
-            previousType = 2;
-          }
-          else
-          {
-            typeSection.getUserComplexType().setSelection(true);
-            populateUserComplexType();
-            previousType = 3;
-          }
-          table.setSelection(0); // anonymous
-          //        typeSection.getTypeList().setText("**anonymous**");
-        }
-        else
-        {
-          typeSection.getSimpleType().setSelection(true);
-          populateBuiltInType();
-          table.setSelection(0);
-          
-          //        typeSection.getTypeList().setEnabled(true);
-          //        typeSection.getSimpleType().setSelection(true);
-          //        typeSection.populateBuiltInType(xsdSchema);
-          //        typeSection.getTypeList().setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE"));
-          previousType = 1;
-        }
-      }
-      if (table.getSelection() != null && table.getSelection().length > 0)
-      {
-        previousStringType = (table.getSelection()[0]).getText();
-      }
-    }
-    
-    public void populateBuiltInType()
-    {
-      table.removeAll();
-      List items = getBuiltInTypeNamesList();
-      for (int i = 0; i < items.size(); i++)
-      {
-        TableItem item = new TableItem(table, SWT.NONE);
-        item.setText(items.get(i).toString());
-        item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-        item.setData(items.get(i));
-      }
-    }
-
-    public void populateUserComplexType()
-    {
-      table.removeAll();
-      if (showAnonymous)
-      {
-        TableItem anonymousItem = new TableItem(table, SWT.NONE);
-        anonymousItem.setText("**anonymous**");
-        anonymousItem.setData("**anonymous**");
-      }
-      List items = getUserComplexTypeNamesList();
-      for (int i = 0; i < items.size(); i++)
-      {
-        TableItem item = new TableItem(table, SWT.NONE);
-//        System.out.println("item " + i + " is " + item);
-        item.setText(items.get(i).toString());
-        item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif"));
-        item.setData(items.get(i));
-      }
-    }
-
-    public void populateUserSimpleType()
-    {
-      table.removeAll();
-      if (showAnonymous)
-       {
-        TableItem anonymousItem = new TableItem(table, SWT.NONE);
-        anonymousItem.setText("**anonymous**");
-        anonymousItem.setData("**anonymous**");
-      }
-      List items = getUserSimpleTypeNamesList();
-      for (int i = 0; i < items.size(); i++)
-       {
-        TableItem item = new TableItem(table, SWT.NONE);
-        item.setText(items.get(i).toString());
-        item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-        item.setData(items.get(i));
-      }
-    }
-
-    boolean checkForAnonymousType(Element element)
-    {
-      /*
-       * Using Ed's model to check boolean isAnonymous = false;
-       * 
-       * XSDConcreteComponent component =
-       * getXSDSchema().getCorrespondingComponent(element); if (component
-       * instanceof XSDElementDeclaration) { XSDElementDeclaration xsdElem =
-       * (XSDElementDeclaration)component; isAnonymous =
-       * xsdElem.isSetAnonymousTypeDefinition(); } return isAnonymous;
-       */
-      XSDDOMHelper helper = new XSDDOMHelper();
-      boolean isAnonymous = false;
-      Node aNode =
-      helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      if (aNode != null)
-       {
-        return true;
-      }
-      aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-      if (aNode != null)
-       {
-        isAnonymous = true;
-      }
-      return isAnonymous;
-    }
-
-    void updateElementToAnonymous(Element element, String xsdType)
-    {
-      String prefix = element.getPrefix();
-      prefix = (prefix == null) ? "" : (prefix + ":");
-      updateElementToNotAnonymous(element);
-      boolean hasChildrenElements = hasElementChildren(element);
-      Element childNode = null;
-      if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-       {
-        childNode = element.getOwnerDocument().createElementNS(
-            XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
-            prefix + XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-      }
-      else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
-       {
-        childNode =
-        element.getOwnerDocument().createElementNS(
-            XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
-            prefix + XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      }
-      element.appendChild(childNode);
-      //formatChild(childNode, hasChildrenElements);
-    }
-
-    boolean isSTAnonymous(Element element)
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      Node aNode =
-      helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      if (aNode != null)
-       {
-        if (XSDDOMHelper
-            .inputEquals(aNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-         {
-          return true;
-        }
-      }
-      return false;
-    }
-
-    boolean isCTAnonymous(Element element)
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      Node aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-      if (aNode != null)
-       {
-        if (XSDDOMHelper.inputEquals(aNode, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-         {
-          return true;
-        }
-      }
-      return false;
-    }
-
-    XSDTypeDefinition getAnonymousTypeDefinition(Element element)
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      Node typeDefinitionNode =
-      helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      if (typeDefinitionNode == null)
-       {
-        typeDefinitionNode =
-        helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-      }
-      if (typeDefinitionNode != null)
-       {
-        XSDConcreteComponent component =
-        xsdSchema.getCorrespondingComponent(typeDefinitionNode);
-        if (component instanceof XSDTypeDefinition)
-         {
-          return (XSDTypeDefinition) component;
-        }
-      }
-      return null;
-    }
-
-    void updateElementToNotAnonymous(Element element)
-    {
-      if (element != null)
-      {
-	      NodeList children = element.getChildNodes();
-	      if (children != null)
-	       {
-	        for (int i = 0; i < children.getLength(); i++)
-	         {
-	          Node node = (Node) children.item(i);
-	          if (node instanceof Element)
-	           {
-	            if (node.getLocalName().equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG)
-	                || node.getLocalName().equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-	             {
-	              XSDDOMHelper.removeNodeAndWhitespace(node);
-	              i = 0;
-	            }
-	          }
-	        }
-	      }
-      }
-    }
-
-    public java.util.List getBuiltInTypeNamesList()
-    {
-      TypesHelper helper = new TypesHelper(xsdSchema);
-      return helper.getBuiltInTypeNamesList();
-    }
-
-    public java.util.List getUserSimpleTypeNamesList()
-    {
-      TypesHelper helper = new TypesHelper(xsdSchema);
-      return helper.getUserSimpleTypeNamesList();
-    }
-    
-    public java.util.List getUserComplexTypeNamesList()
-    {
-      TypesHelper helper = new TypesHelper(xsdSchema);
-      return helper.getUserComplexTypeNamesList();
-    }
-    
-	  protected boolean hasElementChildren(Node parentNode)
-	  {
-	    boolean hasChildrenElements = false;
-	    if (parentNode != null && parentNode.hasChildNodes())
-	    {
-	      NodeList nodes = parentNode.getChildNodes();
-	      for (int i = 0; i < nodes.getLength(); i++)
-	      {
-	        if (nodes.item(i) instanceof Element)
-	        {
-	          hasChildrenElements = true;
-	          break;
-	        }
-	      }
-	    }
-	    return hasChildrenElements;
-	  }
-
-  }
-
-  
-  
-  
-  
-  
-  
-  
-  class TypesOptionsTextCellEditor extends OptionsTextCellEditor
-  {
-    boolean showAnonymous = true;
-    
-    public TypesOptionsTextCellEditor(Composite parent)
-    {
-      super(parent);
-    }
-
-    protected Control createControl(Composite parent)
-    {
-      isTextReadOnly = true;
-      return super.createControl(parent);
-    }
-
-    Table table;
-    TypeSection typeSection;
-
-    protected void openDialog()
-    {
-      typeObject = null;
-      dialog = new Shell(XSDEditorPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.MODELESS);
-      Display display = dialog.getDisplay();
-      GridLayout gl = new GridLayout(1, true);
-      gl.marginHeight = 0;
-      gl.marginWidth = 0;
-      gl.horizontalSpacing = 0;
-      gl.verticalSpacing = 0;
-      dialog.setLayout(gl);
-      GridData gd = new GridData();
-      gd.grabExcessHorizontalSpace = true;
-      gd.grabExcessVerticalSpace = true;
-      gd.horizontalAlignment = GridData.FILL;
-      gd.verticalAlignment = GridData.FILL;
-      gd.horizontalIndent = 0;
-      dialog.setLayoutData(gd);
-
-      
-      
-      typeSection = new TypeSection(dialog);
-      typeSection.setShowUserComplexType(showComplexTypes);
-
-      typeSection.createClient(dialog);
-      typeSection.getSimpleType().setSelection(false);
-      typeSection.getSimpleType().addSelectionListener(this);
-      typeSection.getUserSimpleType().addSelectionListener(this);
-      if (showComplexTypes)
-      {
-        typeSection.getUserComplexType().addSelectionListener(this);
-      }
-
-      table = new Table(dialog,
-                        SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); 
-      table.setHeaderVisible(false);
-      table.setLinesVisible(true);
-      GridData gd2 = new GridData();
-      gd2.grabExcessHorizontalSpace = true;
-      gd2.grabExcessVerticalSpace = true;
-      gd2.horizontalAlignment = GridData.FILL;
-      gd2.verticalAlignment = GridData.FILL;
-      table.setLayoutData(gd2);
-
-      // Fill table and select input type
-      handleSetInput();
-      int tableItemCount = table.getItemCount();
-
-      TableColumn tc = new TableColumn(table, SWT.LEFT);
-      tc.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
-      //tc.setText("Available types:");
-      tc.setResizable(false);
-
-      int MAX_ITEMS = 23;
-//      tc.pack();
-//      table.pack();
-      Rectangle tableBounds = table.getBounds();
-      tableBounds.height = Math.min(tableBounds.height, table.getItemHeight()*MAX_ITEMS);
-      table.setBounds(tableBounds);
-      dialog.pack();
-      
-      dialog.addShellListener(new ShellAdapter()
-      {
-        public void shellDeactivated(ShellEvent e)
-        {
-          cancel();
-        }
-      });
-
-      Rectangle dialogBounds = dialog.getBounds();
-      Point buttonLocation = getButtonAbsoluteLocation();
-      dialogBounds.x = buttonLocation.x;
-      dialogBounds.y = buttonLocation.y;
-
-      if (dialogBounds.height > 200)
-      {        
-        dialogBounds.height = 200;
-      }
-      if (dialogBounds.height < 100)
-      {
-        dialogBounds.height = 200;
-      }
-      if (dialogBounds.width > 200)
-      {
-        dialogBounds.width = typeSection.getUserComplexType().getBounds().width + 30;
-      }
-      dialog.setBounds(dialogBounds);
-      tc.setWidth(dialogBounds.width);
-
-      table.addKeyListener(new KeyAdapter()
-      {
-        public void keyPressed(KeyEvent e)
-        {
-          int keyCode = e.keyCode;
-          int stateMask = e.stateMask;
-          char character = e.character;
-          if (character == SWT.CR || character == SWT.LF)
-            ok();
-          else if (character == SWT.ESC)
-            cancel();
-        }
-      });
-
-      table.addMouseListener(new MouseAdapter()
-      {
-        public void mouseDoubleClick(MouseEvent e)
-        {
-          ok();
-        }
-        public void mouseDown(MouseEvent e)
-        {
-          ok();
-        }
-      });
-
-      try
-      {
-        dialog.open();
-        table.setFocus();
-        table.showSelection();
-        
-        while (!dialog.isDisposed())
-        {
-          if (!display.readAndDispatch())
-          {
-            display.sleep();
-          }
-        }
-      }
-      finally
-      {
-        if (!dialog.isDisposed())
-          cancel();
-      }
-    }
-    
-    public void widgetSelected(SelectionEvent e)
-    {
-      if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
-      {
-        populateBuiltInType();
-      }
-      else if (e.widget == typeSection.getUserComplexType() && typeSection.getUserComplexType().getSelection())
-      {
-        populateUserComplexType();
-      }
-      else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
-      {
-        populateUserSimpleType();
-      }
-    }
-    
-    protected void cancel()
-    {
-      super.cancel();
-      table.dispose();
-    }
-
-    protected void ok()
-    {
-      TableItem[] items = table.getItems();
-      selection = table.getSelectionIndex();
-      if (items != null && items.length > 0 && selection >= 0)
-      {
-        typeObject = items[selection].getData();
-      }
-//      System.out.println("typeObject is " + typeObject);
-
-//      beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_TYPE_CHANGE"), element);
-//      beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
-      doSetValue(typeObject);
-      applyEditorValueAndDeactivate();
-      dialog.close();
-
-      if (!XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
-      {
-      if (typeObject.equals("**anonymous**"))
-      {
-        if (typeSection.getUserSimpleType().getSelection())
-        {
-          if (!previousStringType.equals("**anonymous**"))
-          {
-            updateElementToAnonymous(
-              element,
-              XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-          }
-        }
-        else
-        {
-          if (!previousStringType.equals("**anonymous**"))
-          {
-            updateElementToAnonymous(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-          }
-        }
-        // element.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
-        element.removeAttribute(property);
-      }
-      else
-      {
-        updateElementToNotAnonymous(element);
-        //element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, typeObject.toString());
-        element.setAttribute(property, typeObject.toString());
-      }
-      }
-//      endRecording(element);
-
-      //implement dispose();
-      table.removeAll();
-      table.dispose();
-    }
-
-    String previousStringType = "";
-    boolean isAnonymous;
-    int previousType;
-
-    public void handleSetInput()
-    {
-      table.removeAll();
-      isAnonymous = checkForAnonymousType(element);
-      // Attr attr = element.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
-      Attr attr = element.getAttributeNode(property);
-      if (attr != null)
-      {
-        String value = attr.getValue();
-        if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(value))
-        {
-          typeSection.getSimpleType().setSelection(true);
-          populateBuiltInType();
-          int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(value);
-          table.setSelection(i);
-          previousType = 1;
-        }
-        else if (typeSection.getUserSimpleTypeNamesList(xsdSchema).contains(value))
-        {
-          typeSection.getUserSimpleType().setSelection(true);
-          populateUserSimpleType();
-          int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(value);
-          if (showAnonymous)
-          {
-            table.setSelection(i + 1);
-          }
-          else
-          {
-            table.setSelection(i);
-          }
-          previousType = 2;
-        }
-        else if (typeSection.getUserComplexTypeNamesList(xsdSchema).contains(value))
-        {
-          typeSection.getUserComplexType().setSelection(true);
-          populateUserComplexType();
-          int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(value);
-          if (showAnonymous)
-           {
-            table.setSelection(i + 1);
-          }
-          else
-           {
-            table.setSelection(i);
-          }
-          previousType = 3;
-        }
-        else // if it is type="" for an empty list of simple types
-          {
-          typeSection.getUserSimpleType().setSelection(true);
-          populateUserSimpleType();
-          previousType = 2;
-        }
-      }
-      else
-      {
-        if (isAnonymous)
-        {
-          if (isSTAnonymous(element))
-          {
-            typeSection.getUserSimpleType().setSelection(true);
-            populateUserSimpleType();
-            previousType = 2;
-          }
-          else
-          {
-            typeSection.getUserComplexType().setSelection(true);
-            populateUserComplexType();
-            previousType = 3;
-          }
-          table.setSelection(0); // anonymous
-          //        typeSection.getTypeList().setText("**anonymous**");
-        }
-        else
-        {
-          typeSection.getSimpleType().setSelection(true);
-          populateBuiltInType();
-          table.setSelection(0);
-          
-          //        typeSection.getTypeList().setEnabled(true);
-          //        typeSection.getSimpleType().setSelection(true);
-          //        typeSection.populateBuiltInType(xsdSchema);
-          //        typeSection.getTypeList().setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE"));
-          previousType = 1;
-        }
-      }
-      if (table.getSelection() != null && table.getSelection().length > 0)
-      {
-        previousStringType = (table.getSelection()[0]).getText();
-      }
-    }
-    
-    public void populateBuiltInType()
-    {
-      table.removeAll();
-      List items = getBuiltInTypeNamesList();
-      for (int i = 0; i < items.size(); i++)
-      {
-        TableItem item = new TableItem(table, SWT.NONE);
-        item.setText(items.get(i).toString());
-        item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-        item.setData(items.get(i));
-      }
-    }
-
-    public void populateUserComplexType()
-    {
-      table.removeAll();
-      if (showAnonymous)
-      {
-        TableItem anonymousItem = new TableItem(table, SWT.NONE);
-        anonymousItem.setText("**anonymous**");
-        anonymousItem.setData("**anonymous**");
-      }
-      List items = getUserComplexTypeNamesList();
-      for (int i = 0; i < items.size(); i++)
-      {
-        TableItem item = new TableItem(table, SWT.NONE);
-//        System.out.println("item " + i + " is " + item);
-        item.setText(items.get(i).toString());
-        item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif"));
-        item.setData(items.get(i));
-      }
-    }
-
-    public void populateUserSimpleType()
-    {
-      table.removeAll();
-      if (showAnonymous)
-       {
-        TableItem anonymousItem = new TableItem(table, SWT.NONE);
-        anonymousItem.setText("**anonymous**");
-        anonymousItem.setData("**anonymous**");
-      }
-      List items = getUserSimpleTypeNamesList();
-      for (int i = 0; i < items.size(); i++)
-       {
-        TableItem item = new TableItem(table, SWT.NONE);
-        item.setText(items.get(i).toString());
-        item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-        item.setData(items.get(i));
-      }
-    }
-
-    boolean checkForAnonymousType(Element element)
-    {
-      /*
-       * Using Ed's model to check boolean isAnonymous = false;
-       * 
-       * XSDConcreteComponent component =
-       * getXSDSchema().getCorrespondingComponent(element); if (component
-       * instanceof XSDElementDeclaration) { XSDElementDeclaration xsdElem =
-       * (XSDElementDeclaration)component; isAnonymous =
-       * xsdElem.isSetAnonymousTypeDefinition(); } return isAnonymous;
-       */
-      XSDDOMHelper helper = new XSDDOMHelper();
-      boolean isAnonymous = false;
-      Node aNode =
-      helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      if (aNode != null)
-       {
-        return true;
-      }
-      aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-      if (aNode != null)
-       {
-        isAnonymous = true;
-      }
-      return isAnonymous;
-    }
-
-    void updateElementToAnonymous(Element element, String xsdType)
-    {
-      String prefix = element.getPrefix();
-      prefix = (prefix == null) ? "" : (prefix + ":");
-      updateElementToNotAnonymous(element);
-      boolean hasChildrenElements = hasElementChildren(element);
-      Element childNode = null;
-      if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-       {
-        childNode = element.getOwnerDocument().createElementNS(
-            XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
-            prefix + XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-      }
-      else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
-       {
-        childNode =
-        element.getOwnerDocument().createElementNS(
-            XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
-            prefix + XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      }
-      element.appendChild(childNode);
-      //formatChild(childNode, hasChildrenElements);
-    }
-
-    boolean isSTAnonymous(Element element)
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      Node aNode =
-      helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      if (aNode != null)
-       {
-        if (XSDDOMHelper
-            .inputEquals(aNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-         {
-          return true;
-        }
-      }
-      return false;
-    }
-
-    boolean isCTAnonymous(Element element)
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      Node aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-      if (aNode != null)
-       {
-        if (XSDDOMHelper.inputEquals(aNode, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-         {
-          return true;
-        }
-      }
-      return false;
-    }
-
-    XSDTypeDefinition getAnonymousTypeDefinition(Element element)
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      Node typeDefinitionNode =
-      helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      if (typeDefinitionNode == null)
-       {
-        typeDefinitionNode =
-        helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-      }
-      if (typeDefinitionNode != null)
-       {
-        XSDConcreteComponent component =
-        xsdSchema.getCorrespondingComponent(typeDefinitionNode);
-        if (component instanceof XSDTypeDefinition)
-         {
-          return (XSDTypeDefinition) component;
-        }
-      }
-      return null;
-    }
-
-    void updateElementToNotAnonymous(Element element)
-    {
-      NodeList children = element.getChildNodes();
-      if (children != null)
-       {
-        for (int i = 0; i < children.getLength(); i++)
-         {
-          Node node = (Node) children.item(i);
-          if (node instanceof Element)
-           {
-            if (node.getLocalName().equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG)
-                || node.getLocalName().equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-             {
-              XSDDOMHelper.removeNodeAndWhitespace(node);
-              i = 0;
-            }
-          }
-        }
-      }
-    }
-
-    public java.util.List getBuiltInTypeNamesList()
-    {
-      TypesHelper helper = new TypesHelper(xsdSchema);
-      return helper.getBuiltInTypeNamesList();
-    }
-
-    public java.util.List getUserSimpleTypeNamesList()
-    {
-      TypesHelper helper = new TypesHelper(xsdSchema);
-      return helper.getUserSimpleTypeNamesList();
-    }
-    
-    public java.util.List getUserComplexTypeNamesList()
-    {
-      TypesHelper helper = new TypesHelper(xsdSchema);
-      return helper.getUserComplexTypeNamesList();
-    }
-    
-	  protected boolean hasElementChildren(Node parentNode)
-	  {
-	    boolean hasChildrenElements = false;
-	    if (parentNode != null && parentNode.hasChildNodes())
-	    {
-	      NodeList nodes = parentNode.getChildNodes();
-	      for (int i = 0; i < nodes.getLength(); i++)
-	      {
-	        if (nodes.item(i) instanceof Element)
-	        {
-	          hasChildrenElements = true;
-	          break;
-	        }
-	      }
-	    }
-	    return hasChildrenElements;
-	  }
-
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XPathPropertySource.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XPathPropertySource.java
deleted file mode 100644
index 9a5d893..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XPathPropertySource.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class XPathPropertySource
-  extends BasePropertySource
-  implements IPropertySource
-{
-  /**
-   * 
-   */
-  public XPathPropertySource()
-  {
-    super();
-  }
-  /**
-   * @param viewer
-   * @param xsdSchema
-   */
-  public XPathPropertySource(Viewer viewer, XSDSchema xsdSchema)
-  {
-    super(viewer, xsdSchema);
-// From Field     
-// WorkbenchHelp.setHelp(comp, XSDEditorContextIds.XSDE_UNIQUE_BASE_FIELDS_GROUP);
-//    fieldField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_FIELD_TEXT"));
-//    WorkbenchHelp.setHelp(fieldField, XSDEditorContextIds.XSDE_UNIQUE_BASE_SOURCE);
-
-// From Selector
-// WorkbenchHelp.setHelp(comp, XSDEditorContextIds.XSDE_UNIQUE_BASE_SELECTOR_GROUP);
-// WorkbenchHelp.setHelp(selectorField, XSDEditorContextIds.XSDE_UNIQUE_BASE_SELECTOR);
-// selectorField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_SELECTOR_TEXT"));
-    
-  }
-  /**
-   * @param xsdSchema
-   */
-  public XPathPropertySource(XSDSchema xsdSchema)
-  {
-    super(xsdSchema);
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-   */
-  public Object getEditableValue()
-  {
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-   */
-  public IPropertyDescriptor[] getPropertyDescriptors()
-  {
-    List list = new ArrayList();
-    // Create a descriptor and set a category
-    PropertyDescriptor xpathDescriptor =
-    new TextPropertyDescriptor(
-        XSDConstants.XPATH_ATTRIBUTE,
-        XSDConstants.XPATH_ATTRIBUTE);
-    list.add(xpathDescriptor);
-
-    IPropertyDescriptor[] result = new IPropertyDescriptor[list.size()];
-    list.toArray(result);
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-   */
-  public Object getPropertyValue(Object id)
-  {
-    Object result = null;
-    if (id instanceof String)
-     {
-      result = element.getAttribute((String) id);
-    }
-    if (result == null)
-     {
-      result = "";
-    }
-    return result;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-   */
-  public boolean isPropertySet(Object id)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-   */
-  public void resetPropertyValue(Object id)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-   */
-  public void setPropertyValue(Object id, Object value)
-  {
-    if (value != null)
-     {
-      if (value instanceof String)
-      {
-        if (XSDDOMHelper.inputEquals(element, XSDConstants.FIELD_ELEMENT_TAG, false))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_FIELD_XPATH_CHANGE"), element);
-        }
-        else if (XSDDOMHelper.inputEquals(element, XSDConstants.SELECTOR_ELEMENT_TAG, false))
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_SELECTOR_XPATH_CHANGE"), element);
-        }
-        
-        element.setAttribute(XSDConstants.XPATH_ATTRIBUTE, (String)value);
-        endRecording(element);
-      }
-    }
-    Runnable delayedUpdate = new Runnable()
-    {
-      public void run()
-      {
-        if (viewer != null)
-          viewer.refresh();
-      }
-    };
-    Display.getCurrent().asyncExec(delayedUpdate);
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java
deleted file mode 100644
index b4d9cc2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.PopupList;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-public class XSDComboBoxPropertyDescriptor extends PropertyDescriptor
-{
-	private String[] values;
-	
-	public XSDComboBoxPropertyDescriptor(Object id, String displayName, String[] valuesArray) {
-		super(id, displayName);
-		values = valuesArray;
-	}
-	/**
-	 * The <code>ComboBoxPropertyDescriptor</code> implementation of this 
-	 * <code>IPropertyDescriptor</code> method creates and returns a new
-	 * <code>ComboBoxCellEditor</code>.
-	 * <p>
-	 * The editor is configured with the current validator if there is one.
-	 * </p>
-	 */
-	public CellEditor createPropertyEditor(Composite parent) {
-    CellEditor editor = new XSDComboBoxCellEditor(parent, values);
-    //CellEditor editor = new StringComboBoxCellEditor(parent, values);
-		if (getValidator() != null)
-			editor.setValidator(getValidator());
-		return editor;
-	}
-	
-	public class XSDComboBoxCellEditor extends CellEditor
-	{
-		DynamicCellEditor comboBox;
-
-		private String fSelection;
-		protected String[] fItems;
-		protected Object fValue;
-		int selection;
-		Object typeObject;
-		
-		public void createItems(String[] items)
-		{
-			fItems = items;
-		}
-
-		public String[] getComboBoxItems()
-		{
-			return fItems;
-		}
-
-	/**
-	 * Creates a new combo box cell editor with the given choices.
-	 */
-		 public XSDComboBoxCellEditor(Composite parent, String[] items)
-		 {
-			 super(parent);
-			 fSelection = "";
-			 setItems(items);
-//			 fText.setText("");
-		 }
-
-		public void activate() {
-      if (doGetValue() != null)
-      {
-//			  int i = ((Integer)doGetValue()).intValue();
-//			  if (i >= 0)
-//		  	{
-//		  	  comboBox.setText(fItems[i]);
-//		  	}
-        comboBox.setText((String)fValue);
-			}
-		}
-
-		public void deactivate() {
-		  super.deactivate();
-		}
-
-		public void setItems(String[] items) {
-			Assert.isNotNull(items);
-			this.fItems = items;
-			populateComboBoxItems();
-		}
-
-		private void populateComboBoxItems() {
-			if (comboBox != null && fItems != null) {
-				comboBox.removeAll();
-				for (int i = 0; i < fItems.length; i++)
-					comboBox.add(fItems[i], i);
-
-				setValueValid(true);
-				selection = 0;
-			}
-		}
-
-	/**
-	 * Creates the actual UI representation.
-	 */
-
-		protected Control createControl(Composite parent)
-		{
-			comboBox = new DynamicCellEditor(parent, SWT.READ_ONLY |SWT.NONE | SWT.NO_TRIM);
-			comboBox.addKeyListener(new KeyAdapter() {
-				// hook key pressed - see PR 14201  
-				public void keyPressed(KeyEvent e) {
-//					System.out.println("Key e " + e);
-					keyReleaseOccured(e);
-				}
-			});
-
-			comboBox.addSelectionListener(new SelectionAdapter() {
-				public void widgetDefaultSelected(SelectionEvent event) {
-				}
-		
-				public void widgetSelected(SelectionEvent event) {
-//				  System.out.println("combo selected");
-					selection = comboBox.getSelectionIndex();
-					if (!comboBox.isDropped()) // allows user to traverse list using keyboard without applying value
-					applyEditorValueAndDeactivate();
-				}
-			});
-
-			comboBox.addTraverseListener(new TraverseListener() {
-				public void keyTraversed(TraverseEvent e) {
-//				  System.out.println("TRAVERSE e " + e);
-					if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
-						e.doit = false;
-					}
-				}
-			});
-			
-      
-			comboBox.addFocusListener(new FocusAdapter() {
-				public void focusLost(FocusEvent e) {
-					XSDComboBoxCellEditor.this.focusLost();
-				}
-				public void focusGained(FocusEvent e) {
-//				  System.out.println("focusGained");
-				}
-			});
-		  setValueValid(true);
-			return comboBox;
-		}
-
-		protected void focusLost() {
-//		  System.out.println("CELLEDITOR FOCUS LOST");
-			if (isActivated()) {
-				applyEditorValueAndDeactivate();
-			}
-		}
-		
-		protected void keyReleaseOccured(KeyEvent keyEvent) {
-			if (keyEvent.character == '\u001b') { // Escape character
-			  comboBox.setText(""); // clear text
-				fireCancelEditor();
-			} else if (keyEvent.character == '\r') { // Return key
-				//fireApplyEditorValue();
-				applyEditorValueAndDeactivate();
-				deactivate();
-			}
-		}
-
-		void applyEditorValueAndDeactivate() {
-			//	must set the selection before getting value
-			selection = comboBox.getSelectionIndex();
-			if (selection < 0)
-			{
-			  deactivate();
-			  return;
-			}
-			// Object newValue = new Integer(selection);
-      Object newValue = fItems[selection];
-			markDirty();
-			boolean isValid = isCorrect(newValue);
-			setValueValid(isValid);
-			if (!isValid) {
-				// try to insert the current value into the error message.
-				setErrorMessage(
-					MessageFormat.format(getErrorMessage(), new Object[] {fItems[selection]})); 
-			}
-			doSetValue(newValue);
-			fireApplyEditorValue();
-			deactivate();
-		}
-
-    protected Object doGetValue() {
-      return fValue;
-      // otherwise limits to set of valid values
-//      Object index = super.doGetValue();
-//      int selection = -1;
-//      if (index instanceof Integer)
-//        selection = ((Integer) index).intValue();
-//      if (selection >= 0)
-//        return fItems[selection];
-//      else if (getControl() instanceof CCombo) {
-//        // retrieve the actual text as the list of valid items doesn't contain the value
-//        return ((CCombo) getControl()).getText();
-//      }
-//      return null;
-    }
-    private boolean fSettingValue = false;
-    protected void doSetValue(Object value) {
-      if (fSettingValue)
-        return;
-      fSettingValue = true;
-      if (value instanceof Integer) {
-        //super.doSetValue(value);
-        fValue = value;
-      }
-      else {
-        String stringValue = value.toString();
-        int selection = -1;
-        for (int i = 0; i < fItems.length; i++)
-          if (fItems[i].equals(stringValue))
-            selection = i;
-        if (selection >= 0)
-          //super.doSetValue(new Integer(selection));
-          fValue = stringValue;
-        else {
-          // super.doSetValue(new Integer(-1));
-          // fValue = new Integer(-1);
-          fValue = stringValue;
-          if (getControl() instanceof CCombo && !stringValue.equals(((CCombo) getControl()).getText())) {
-            // update the Text widget
-            ((CCombo) getControl()).setText(stringValue);
-          }
-        }
-      }
-      fSettingValue = false;
-    }		
-		
-	/**
-		* Returns the cell editor's value.
-		*/
-//		protected Object doGetValue() 
-//		{
-//			return fValue;
-//		}
-
-	/**
-	 * Set the focus to the cell editor's UI representation.
-	 */
-		protected void doSetFocus()
-		{
-//			fButton.setFocus();
-//      System.out.println("doSetFocus() " + moreButton.setFocus());
-      comboBox.setFocus();
-		}
-
-	/**
-	 * Sets the value of the cell editor to the given value.
-	 */
-//		protected void doSetValue(Object value)
-//		{
-//			fValue = value;
-//		}
-
-		protected void fillPopupList(PopupList list) 
-		{
-			String[] labels= new String[fItems.length];
-			for (int i= 0; i < labels.length; i++)
-			{
-				String item= fItems[i];
-				labels[i]= item;
-//				System.out.println(fItems[i]);
-				if (fSelection == null && fValue != null && fValue.equals(item)) 
-				{
-					fSelection = item;
-				}
-			}
-
-			list.setItems(labels);
-			if (fSelection != null) 
-			{
-//				fText.setText(fSelection);
-				list.select(fSelection);
-			}	
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySheetPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySheetPage.java
deleted file mode 100644
index 6c46a38..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySheetPage.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.views.properties.PropertySheet;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.eclipse.wst.sse.ui.internal.properties.RemoveAction;
-import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-public class XSDPropertySheetPage extends PropertySheetPage implements ISelectionChangedListener, INodeSelectionListener
-{
-  /**
-   * @param model
-   */
-
-  IEditorPart editorPart;
-	private ViewerSelectionManager fViewerSelectionManager;
-  IStructuredModel model;
-  protected RemoveAction fRemoveAction;
-  Control designControl;
-
-  public XSDPropertySheetPage(IStructuredModel model, IEditorPart editorPart)
-  {
-    super();
-    this.model = model;
-    this.editorPart = editorPart;
-  }
-
-  public void selectionChanged(SelectionChangedEvent event)
-  {
-		super.selectionChanged(null, event.getSelection());
-  }
-  
-	public void setViewerSelectionManager(ViewerSelectionManager viewerSelectionManager) {
-		// disconnect from old one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.removeNodeSelectionListener(this);
-		}
-
-		fViewerSelectionManager = viewerSelectionManager;
-
-		// connect to new one
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.addNodeSelectionListener(this);
-		}
-	}
-
-	public void dispose() {
-		// disconnect from the ViewerSelectionManager
-		if (fViewerSelectionManager != null) {
-			fViewerSelectionManager.removeNodeSelectionListener(this);
-		}
-		super.dispose();
-	}
-
-	public void nodeSelectionChanged(NodeSelectionChangedEvent event) {
-		// multiple selection is unsupported
-		if (event.getSelectedNodes().size() > 1)
-		{
-			selectionChanged(null, StructuredSelection.EMPTY);
-		}
-		else if (event.getSelectedNodes().size() == 0)
-		{
-		  
-		}
-		else
-		{
-      Object item = event.getSelectedNodes().get(0);
-      if (item instanceof Text)
-      {
-        Node parent = ((Text)item).getParentNode();
-        selectionChanged(null, new StructuredSelection(parent));
-      }
-      else
-      {
-  			selectionChanged(null, new StructuredSelection(event.getSelectedNodes()));
-      }
-		}
-	}
-
-  private void setPropertiesTitle(PropertySheet thePart, String title)
-	{
-		Control control = thePart.getDefaultPage().getControl();
-		for (Composite parent = control.getParent(); parent != null; parent = parent.getParent())
-		{
-			if (parent instanceof ViewForm)
-			{
-				Control[] children = parent.getChildren();
-				if (children.length > 0 && children[0] instanceof CLabel)
-				{
-					CLabel clabel = (CLabel)children[0];
-  				clabel.setText(title);
-				}
-			}
-		}
-	}
-  
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySourceProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySourceProvider.java
deleted file mode 100644
index 78e790b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDPropertySourceProvider.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties;
-
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.IPropertySourceProvider;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class XSDPropertySourceProvider implements IPropertySourceProvider
-{
-  XSDSchema xsdSchema;
-  /**
-   * 
-   * @todo Generated comment
-   */
-  public XSDPropertySourceProvider()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.ui.views.properties.IPropertySourceProvider#getPropertySource(java.lang.Object)
-   */
-  public IPropertySource getPropertySource(Object object)
-  {
-    if (object == null) return null;
-    
-    if (object instanceof XSDConcreteComponent)
-    {
-      XSDConcreteComponent component = (XSDConcreteComponent)object;
-      
-      xsdSchema = component.getSchema();
-      
-      if (component instanceof XSDElementDeclaration)
-      {
-        XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)component;
-        if (elementDeclaration.isElementDeclarationReference())
-        {
-          component = elementDeclaration.getResolvedElementDeclaration();
-        }
-      }
-      
-      Element input = component.getElement(); 
-      
-      BasePropertySource bps = (BasePropertySource)getXSDPropertySource(input);
-      if (bps == null) return null;
-      
-      bps.setInput(input);
-      return bps;
-    }
-    return null;
-  }
-  
-  boolean showParent = false;
-  
-  public IPropertySource getXSDPropertySource(Object object)
-  {
-    Element input = (Element)object;
-
-    showParent = false;
-  
-    if (inputEquals(input, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-    {
-      return new ElementPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.ELEMENT_ELEMENT_TAG, true))
-    {
-      return new GroupRefPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
-              inputEquals(input, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
-              inputEquals(input, XSDConstants.ALL_ELEMENT_TAG, false))
-    {
-      return new ModelGroupPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
-    {
-      return new AttributePropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
-    {
-      return new AttributeGroupRefPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
-    {
-      return new NamePropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
-    {
-      return new AttributeGroupRefPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.NOTATION_ELEMENT_TAG, false))
-    {
-      return new NotationPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-    {
-      return new SimpleTypePropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.GROUP_ELEMENT_TAG, false))
-    {
-      return new NamePropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.GROUP_ELEMENT_TAG, true))
-    {
-      return new GroupRefPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.SCHEMA_ELEMENT_TAG, false))
-    {
-      return new SchemaPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-    {
-      return new ComplexTypePropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.DOCUMENTATION_ELEMENT_TAG, false))
-    {
-      return new DocumentationPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.APPINFO_ELEMENT_TAG, false))
-    {
-      return new AppInfoPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-    {
-      if (input != null && input instanceof Element)
-      {
-        Element parent = (Element)input;
-        XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
-        Element derivedByNode = xsdDOMHelper.getDerivedByElement(parent);
-        if (derivedByNode != null)
-        {
-          if (inputEquals(derivedByNode, XSDConstants.RESTRICTION_ELEMENT_TAG, false) || 
-              inputEquals(derivedByNode, XSDConstants.EXTENSION_ELEMENT_TAG, false))
-          {
-            return new SimpleContentPropertySource(xsdSchema);
-          }
-        }
-        else
-        {
-          return null;
-        }
-      }
-    }
-    else if (inputEquals(input, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-    {
-      if (input != null && input instanceof Element)
-      {
-        Element parent = (Element)input;
-        XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
-        Element derivedByNode = xsdDOMHelper.getDerivedByElement(parent);
-        if (derivedByNode != null)
-        {
-          return new SimpleContentPropertySource(xsdSchema);
-        }
-        else
-        {
-          return null;
-        }
-      }
-    }
-    else if (inputEquals(input, XSDConstants.LIST_ELEMENT_TAG, false))
-    {
-      return new SimpleTypeListPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.UNION_ELEMENT_TAG, false))
-    {
-      return new SimpleTypeUnionPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
-    {
-      return createRestrictWindow(input, xsdSchema);
-    }
-    else if (XSDDOMHelper.isFacet(input))
-    {
-      if (input != null && input instanceof Element)
-      {
-        Node parent = ((Element)input).getParentNode();
-        if (inputEquals(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false))
-        {
-          return createRestrictWindow(input, xsdSchema);
-        } 
-      }
-    }
-    else if (inputEquals(input, XSDConstants.EXTENSION_ELEMENT_TAG, false))
-    {
-      if (input != null && input instanceof Element)
-      {
-        Node parent = ((Element)input).getParentNode();
-        if (inputEquals(parent, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false)
-            || inputEquals(parent, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-        {
-          showParent = true;
-          return new SimpleContentPropertySource(xsdSchema);
-        }
-      }
-    }
-    else if (inputEquals(input, XSDConstants.PATTERN_ELEMENT_TAG, false))
-    {
-      return new PatternPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.ENUMERATION_ELEMENT_TAG, false))
-    {
-      return new EnumerationPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.ANY_ELEMENT_TAG, false))
-    {
-      return new AnyElementPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
-    {
-      return new AnyAttributePropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.UNIQUE_ELEMENT_TAG, false))
-    {
-      return new NamePropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.KEYREF_ELEMENT_TAG, false))
-    {
-      return new KeyrefPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.SELECTOR_ELEMENT_TAG, false))
-    {
-      return new XPathPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.FIELD_ELEMENT_TAG, false))
-    {
-      return new XPathPropertySource(xsdSchema);
-    }
-    else if (inputEquals(input, XSDConstants.KEY_ELEMENT_TAG, false))
-    {
-      return new NamePropertySource(xsdSchema);
-    }
-    else
-    {
-      return null;
-    }
-    return null;
-  }
-
-  protected IPropertySource createRestrictWindow(Object input, XSDSchema xsdSchema)
-  {
-    // special case where SimpleType restriction is different than SimpleContent restriction
-
-    if (input != null && input instanceof Element)
-    {
-      Node parent = ((Element)input).getParentNode();
-      if (inputEquals(parent, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-      {
-        return new SimpleRestrictPropertySource(xsdSchema);
-      }
-      else if (inputEquals(parent, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-      {
-        return new SimpleRestrictPropertySource(xsdSchema);
-      }
-      else if (inputEquals(parent, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-      {
-        showParent = true;
-        return new SimpleContentPropertySource(xsdSchema);
-      }
-    }
-    return null;
-  }
-
-
-  protected boolean inputEquals(Object input, String tagname, boolean isRef)
-  {
-    return XSDDOMHelper.inputEquals(input, tagname, isRef);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java
deleted file mode 100644
index 010bf73..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetPage;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xml.core.NameValidator;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateElementAction;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class AbstractSection implements ISection, IPropertyChangeListener, Listener, SelectionListener
-{
-	private TabbedPropertySheetWidgetFactory factory;
-	protected IWorkbenchPart part;
-	protected ISelection selection;
-	protected Object input;
-  protected boolean doRefresh = true;
-	XSDSchema xsdSchema;
-  protected boolean isReadOnly = false;
-  private IStatusLineManager statusLine;
-  protected Composite composite;
-  protected int rightMarginSpace;
-  protected int tableMinimumWidth = 50;
- 
-  /**
-   * 
-   */
-  public AbstractSection()
-  {
-    super();
-  }
-  
-  public void createControls(Composite parent,	TabbedPropertySheetPage tabbedPropertySheetPage)
-  {
-    createControls(parent, tabbedPropertySheetPage.getWidgetFactory());
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-   */
-  public void createControls(Composite parent, TabbedPropertySheetWidgetFactory aFactory)
-  {
-		this.factory = aFactory;
-    GC gc = new GC(parent);
-    Point extent = gc.textExtent("  ...  ");
-    rightMarginSpace = extent.x;
-    gc.dispose();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#setInput(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public void setInput(IWorkbenchPart part, ISelection selection)
-  {
-		Assert.isTrue(selection instanceof IStructuredSelection);
-		this.part = part;
-		this.selection = selection;
-		Object input = ((IStructuredSelection)selection).getFirstElement();
-    this.input = input;
-    
-    if (input instanceof XSDConcreteComponent)
-    {
-      xsdSchema = ((XSDConcreteComponent)input).getSchema();
-      
-      Element element = ((XSDConcreteComponent)input).getElement();
-      if (element instanceof XMLNode)
-      {
-        isReadOnly = false;
-      }
-      else
-      {
-        isReadOnly = true;
-      }
-    }
-    statusLine = getStatusLine();
-    clearErrorMessage();
-
-//		refresh();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#aboutToBeShown()
-   */
-  public void aboutToBeShown()
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#aboutToBeHidden()
-   */
-  public void aboutToBeHidden()
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#dispose()
-   */
-  public void dispose()
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#getMinimumHeight()
-   */
-  public int getMinimumHeight()
-  {
-    return SWT.DEFAULT;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-   */
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#refresh()
-   */
-  public void refresh()
-  {
-  }
-
-  public Object getInput()
-  {
-    if (input instanceof Element)
-    {
-      input = xsdSchema.getCorrespondingComponent((Element)input);
-    }
-    return input;
-  }
-  
-  public XSDSchema getSchema()
-  {
-    return xsdSchema;
-  }
-  
-	/**
-	 * Get the widget factory.
-	 * @return the widget factory.
-	 */
-	public TabbedPropertySheetWidgetFactory getWidgetFactory() {
-		return factory;
-	}
-
-	public void propertyChange(PropertyChangeEvent event)
-	{
-    refresh();
-	}
-
-	
-  public void doWidgetDefaultSelected(SelectionEvent e)
-  {}
-  
-  public void doWidgetSelected(SelectionEvent e)
-  {}
-  
-  /**
-   * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(SelectionEvent)
-   */
-  public void widgetDefaultSelected(SelectionEvent e)
-  {
-    if (isListenerEnabled() &&
-        getInput() != null &&
-        !isInDoHandle &&
-        !isReadOnly) 
-    {
-      isInDoHandle = true;
-      doWidgetDefaultSelected(e);
-      isInDoHandle = false;
-    }
-    
-  }
-
-  /**
-   * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
-   */
-  public void widgetSelected(SelectionEvent e)
-  {
-    if (isListenerEnabled() &&
-        getInput() != null &&
-        !isInDoHandle &&
-        !isReadOnly) 
-    {
-      isInDoHandle = true;
-      doWidgetSelected(e);
-      isInDoHandle = false;
-    }
-    
-  }
-  
-  boolean listenerEnabled = true;
-  /**
-   * Get the value of listenerEnabled.
-   * @return value of listenerEnabled.
-   */
-  public boolean isListenerEnabled() 
-  {
-    return listenerEnabled;
-  }
-  
-  /**
-   * Set the value of listenerEnabled.
-   * @param v  Value to assign to listenerEnabled.
-   */
-  public void setListenerEnabled(boolean  v) 
-  {
-    this.listenerEnabled = v;
-  }
-
-  public void handleEvent(Event event)
-  {
-    if (isListenerEnabled() && !isInDoHandle && !isReadOnly) 
-    {
-      isInDoHandle = true;
-      startDelayedEvent(event);
-      isInDoHandle = false;
-    } // end of if ()
-  }
-  
-  public void doHandleEvent(Event event)
-  {
-    
-  }
-  
-  protected DelayedEvent delayedTask;
-  
-  protected void startDelayedEvent(Event e)
-  {
-    if (delayedTask == null ||
-      delayedTask.getEvent() == null)
-    {
-      delayedTask = new DelayedEvent();
-      delayedTask.setEvent(e);
-      Display.getDefault().timerExec(500,delayedTask);
-    }
-    else
-    {
-      Event delayedEvent = delayedTask.getEvent();
-      
-      if (e.widget == delayedEvent.widget &&
-        e.type == delayedEvent.type)
-      {
-        // same event, just different data, delay new event
-        delayedTask.setEvent(null);
-      }
-      delayedTask = new DelayedEvent();
-      delayedTask.setEvent(e);
-      Display.getDefault().timerExec(500,delayedTask);
-    }
-  }
-  
-  class DelayedEvent implements Runnable
-  {
-    protected Event event;
-    
-    /*
-     * @see Runnable#run()
-     */
-    public void run()
-    {
-      if (event != null)
-      {
-        isInDoHandle = true;
-        doHandleEvent(event);
-        isInDoHandle = false;
-        event = null;
-      }
-    }
-    
-    /**
-     * Gets the event.
-     * @return Returns a Event
-     */
-    public Event getEvent()
-    {
-      return event;
-    }
-
-    /**
-     * Sets the event.
-     * @param event The event to set
-     */
-    public void setEvent(Event event)
-    {
-      this.event = event;
-    }
-
-  }
-
-  boolean isInDoHandle;
-  /**
-   * Get the value of isInDoHandle.
-   * @return value of isInDoHandle.
-   */
-  public boolean isInDoHandle() 
-  {
-    return isInDoHandle;
-  }
-
-  
-  protected IEditorPart getActiveEditor()
-  {
-    IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
-    IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-    IEditorPart editorPart = workbenchWindow.getActivePage().getActiveEditor();
-//    IEditorPart editorPart = part.getSite().getWorkbenchWindow().getActivePage().getActiveEditor();
-
-    return editorPart;
-  }
-
-  static protected IStatusLineManager getStatusLineManager(IEditorPart editorPart)
-  { 
-    IStatusLineManager result = null;
-    try
-    {                       
-      EditorActionBarContributor contributor = (EditorActionBarContributor)editorPart.getEditorSite().getActionBarContributor();
-      result = contributor.getActionBars().getStatusLineManager();
-    }
-    catch (Exception e)
-    {
-    }  
-    return result;
-  }
-
-  protected XSDDOMHelper domHelper = new XSDDOMHelper();
-  /**
-   * Gets the domHelper.
-   * @return Returns a XSDDomHelper
-   */
-  public XSDDOMHelper getDomHelper()
-  {
-    return domHelper;
-  }
-  
-  public DocumentImpl getDocument(Element element)
-  {
-    return (DocumentImpl) element.getOwnerDocument();
-  }
-
-  public void beginRecording(String description, Element element)
-  {
-    getDocument(element).getModel().beginRecording(this, description);
-  }
-  
-  public void endRecording(Element element)
-  {
-    DocumentImpl doc = (DocumentImpl) getDocument(element);
-    
-    doc.getModel().endRecording(this);    
-  }
-
-  protected boolean validateName(String name)
-  {
-    try
-    {
-      return NameValidator.isValid(name);
-    }
-    catch (Exception e)
-    {
-      return false;
-    }
-  }
-
-  // TODO
-  protected boolean validateLanguage(String lang)
-  {
-    return true;
-  }
-
-  // TODO
-  protected boolean validatePrefix(String prefix)
-  {
-    return true;
-  }
-
-  
-  protected Action getNewElementAction(String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    CreateElementAction action = new CreateElementAction(label);
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    action.setXSDSchema(getSchema());
-    action.setSelectionProvider(null);
-    return action;
-  }
-
-  public void setErrorMessage(String message)
-  {
-    if (statusLine != null)
-    {
-      statusLine.setErrorMessage(message);
-      statusLine.update(true);
-    }
-  }
-
-  public void clearErrorMessage()
-  {
-    if (statusLine != null)
-    {
-      statusLine.setErrorMessage(null);
-      statusLine.update(false);
-    }
-  }
-
-  EditorActionBarContributor contributor;
-  protected IStatusLineManager getStatusLine()
-  {
-//    IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
-//    IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-    IEditorPart editorPart = part.getSite().getWorkbenchWindow().getActivePage().getActiveEditor();
-    
-    if (statusLine == null)
-    {
-      try
-      {                       
-        contributor = (EditorActionBarContributor)editorPart.getEditorSite().getActionBarContributor();
-        statusLine = contributor.getActionBars().getStatusLineManager();
-      }
-      catch (Exception e)
-      {
-      }  
-    }
-    return statusLine;
-  }
-  
-  /**
-   * Get the standard label width when labels for sections line up on the left
-   * hand side of the composite. We line up to a fixed position, but if a
-   * string is wider than the fixed position, then we use that widest string.
-   * 
-   * @param parent
-   *            The parent composite used to create a GC.
-   * @param labels
-   *            The list of labels.
-   * @return the standard label width.
-   */
-  protected int getStandardLabelWidth(Composite parent, String[] labels) {
-    int standardLabelWidth = 100;   // STANDARD_LABEL_WIDTH;
-    GC gc = new GC(parent);
-    int indent = gc.textExtent("XXX").x; //$NON-NLS-1$
-    for (int i = 0; i < labels.length; i++) {
-      int width = gc.textExtent(labels[i]).x;
-      if (width + indent > standardLabelWidth) {
-        standardLabelWidth = width + indent;
-      }
-    }
-    gc.dispose();
-    return standardLabelWidth;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSectionDescriptor.java
deleted file mode 100644
index 68bc6f7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSectionDescriptor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.wst.common.ui.properties.ISectionDescriptor;
-import org.eclipse.wst.common.ui.properties.ITypeMapper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-public class AbstractSectionDescriptor implements ISectionDescriptor
-{
-  /**
-   * 
-   */
-  public AbstractSectionDescriptor()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getFilter()
-   */
-  public ITypeMapper getFilter()
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDConcreteComponent.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDConcreteComponent || object instanceof Element)
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getAfterSection()
-   */
-  public String getAfterSection()
-  {
-    return "";
-  }
-
-  protected boolean inputEquals(Object input, String tagname, boolean isRef)
-  {
-    return XSDDOMHelper.inputEquals(input, tagname, isRef);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSection.java
deleted file mode 100644
index 75da720..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSection.java
+++ /dev/null
@@ -1,595 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFacet;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.XSDXPathDefinition;
-import org.eclipse.xsd.impl.XSDFactoryImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class AnnotationSection extends AbstractSection
-{
-  DocumentationWorkbookPage documentationPage;
-  AppInfoWorkbookPage appInfoPage;
-  XSDWorkbook workbook;
-  XSDFactory factory;
-  
-  /**
-   * 
-   */
-  public AnnotationSection()
-  {
-    super();
-    factory = new XSDFactoryImpl();
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-//		Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-//    Composite composite = new Composite(parent, SWT.NONE);
-		FormData data;
-
-    workbook = new XSDWorkbook(parent, SWT.BOTTOM | SWT.FLAT);
-    
-    documentationPage = new DocumentationWorkbookPage(workbook);
-    appInfoPage = new AppInfoWorkbookPage(workbook);
-
-    documentationPage.activate();
-    appInfoPage.activate();
-    workbook.setSelectedPage(documentationPage);
-  }
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-    if (doRefresh)
-    {
-      if (documentationPage.getDocumentationText().isFocusControl() || appInfoPage.getAppInfoText().isFocusControl())
-      {
-        return;
-      }
-      
-      if (isReadOnly)
-      {
-        documentationPage.setEnabled(false);
-        appInfoPage.setEnabled(false);
-      }
-      else
-      {
-        documentationPage.setEnabled(true);
-        appInfoPage.setEnabled(true);
-      }
-      setListenerEnabled(false);
-	    Object input = getInput();
-	    if (input != null)
-	    {
-	      XSDAnnotation xsdAnnotation = getInputXSDAnnotation(false);
-        setInitialText(xsdAnnotation);
-      }
-      setListenerEnabled(true);
-	  }
-	}
-
-  
-  public void doHandleEvent(Event event)
-  {
-    Object input = getInput();
-    if (input != null)
-    {
-      XSDAnnotation xsdAnnotation = getInputXSDAnnotation(true);
-  
-      if (event.widget == documentationPage.getDocumentationText())
-      {
-        documentationPage.doHandleEvent(xsdAnnotation);
-      }
-      else if (event.widget == appInfoPage.getAppInfoText())
-      {
-        appInfoPage.doHandleEvent(xsdAnnotation);
-      }
-    }
-    
-  }
-  
-  protected XSDAnnotation getInputXSDAnnotation(boolean createIfNotExist)
-  {
-    XSDAnnotation xsdAnnotation = null;
-    
-    if (input instanceof XSDAttributeDeclaration)
-    {
-      XSDAttributeDeclaration xsdComp = (XSDAttributeDeclaration)input; 
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDAttributeGroupDefinition)
-    {
-      XSDAttributeGroupDefinition xsdComp = (XSDAttributeGroupDefinition)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDElementDeclaration)
-    {
-      XSDElementDeclaration xsdComp = (XSDElementDeclaration)input; 
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDNotationDeclaration)
-    {
-      XSDNotationDeclaration xsdComp =(XSDNotationDeclaration)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDXPathDefinition)
-    {
-      XSDXPathDefinition xsdComp = (XSDXPathDefinition)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDModelGroup)
-    {
-      XSDModelGroup xsdComp = (XSDModelGroup)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDModelGroupDefinition)
-    {
-      XSDModelGroupDefinition xsdComp = (XSDModelGroupDefinition)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDIdentityConstraintDefinition)
-    {
-      XSDIdentityConstraintDefinition xsdComp = (XSDIdentityConstraintDefinition)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDWildcard)
-    {
-      XSDWildcard xsdComp = (XSDWildcard)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDSchema)
-    {
-      XSDSchema xsdComp = (XSDSchema)input;
-      List list = xsdComp.getAnnotations();
-      if (list.size() > 0)
-      {
-        xsdAnnotation = (XSDAnnotation)list.get(0);
-      }
-      else
-      {
-        if (createIfNotExist && xsdAnnotation == null)
-        {
-          xsdAnnotation = factory.createXSDAnnotation();
-          if (xsdComp.getContents() != null)
-          {
-            xsdComp.getContents().add(0, xsdAnnotation);
-          }
-        }
-      }
-      return xsdAnnotation;
-    }
-    else if (input instanceof XSDFacet)
-    {
-      XSDFacet xsdComp = (XSDFacet)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDTypeDefinition)
-    {
-      XSDTypeDefinition xsdComp = (XSDTypeDefinition)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDInclude)
-    {
-      XSDInclude xsdComp = (XSDInclude)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDImport)
-    {
-      XSDImport xsdComp = (XSDImport)input;
-      xsdAnnotation = xsdComp.getAnnotation();
-      if (createIfNotExist && xsdAnnotation == null)
-      {
-        xsdAnnotation = factory.createXSDAnnotation();
-        xsdComp.setAnnotation(xsdAnnotation);
-      }
-    }
-    else if (input instanceof XSDRedefine)
-    {
-      XSDRedefine xsdComp = (XSDRedefine)input;
-      List list = xsdComp.getAnnotations();
-      if (list.size() > 0)
-      {
-        xsdAnnotation = (XSDAnnotation)list.get(0);
-      }
-      else
-      {
-        if (createIfNotExist && xsdAnnotation == null)
-        {
-// ?
-        }
-      }
-      return xsdAnnotation;
-    }
-    else if (input instanceof XSDAnnotation)
-    {
-      xsdAnnotation = (XSDAnnotation)input;
-    }
-    
-    if (createIfNotExist)
-    {
-      formatAnnotation(xsdAnnotation);
-    }
-
-    return xsdAnnotation;
-  }
-  
-  private void formatAnnotation(XSDAnnotation annotation)
-  {
-    Element element = annotation.getElement();
-    XSDDOMHelper.formatChild(element);
-  }
-  
-
-  public boolean shouldUseExtraSpace()
-  {
-    return true;
-  }
-
-  public void dispose()
-  {
-    factory = null;
-  }
-  
-  private void setInitialText(XSDAnnotation an)
-  {
-    if (documentationPage != null)
-    {
-      documentationPage.setText("");
-    }
-    if (appInfoPage != null)
-    {
-      appInfoPage.setText("");
-    }
-
-    if (an != null)
-    {
-      Element element = an.getElement();
-      try
-      {
-        if (element.hasChildNodes())
-         {
-          // if the element is Text
-          Element docElement = (Element)domHelper.getChildNode(element, XSDConstants.DOCUMENTATION_ELEMENT_TAG);
-          if (docElement != null)
-          {
-            Node node = docElement.getFirstChild();
-            if (node instanceof CharacterData)
-            {
-              documentationPage.setText( ((CharacterData)node).getData());
-            }
-          }
-          
-          Element appInfoElement = (Element)domHelper.getChildNode(element, XSDConstants.APPINFO_ELEMENT_TAG);
-          if (appInfoElement != null)
-          {
-            Node node = appInfoElement.getFirstChild();
-            if (node instanceof CharacterData)
-            {
-              appInfoPage.setText( ((CharacterData)node).getData());
-            }
-          }
-
-        }
-      }
-      catch (Exception e)
-      {
-        
-      }
-    }
-  }
-  
- 
-  class DocumentationWorkbookPage extends XSDWorkbookPage
-  {
-    Text documentationText;
-    Composite page1;
-    
-    public DocumentationWorkbookPage(XSDWorkbook workbook)
-    {
-      super(workbook);
-      this.getTabItem().setText("Documentation");
-    }
-
-    public void setText(String value)
-    {
-      documentationText.setText(value);
-    }
-    
-    public void setEnabled(boolean state)
-    {
-      page1.setEnabled(state);
-    }
-    
-    public String getText()
-    {
-      return documentationText.getText();
-    }
-    
-    public Text getDocumentationText()
-    {
-      return documentationText;
-    }
-    
-    public Control createControl (Composite parent)
-    {
-      page1 = getWidgetFactory().createFlatFormComposite(parent);
-      documentationText = getWidgetFactory().createText(page1, "", SWT.V_SCROLL | SWT.H_SCROLL);
-      documentationText.addListener(SWT.Modify, AnnotationSection.this);
-
-      FormData data = new FormData();
-      data.left = new FormAttachment(0, 0);
-      data.right = new FormAttachment(100, 0);
-      data.top = new FormAttachment(0, 0);
-      data.bottom = new FormAttachment(100, 0);
-      documentationText.setLayoutData(data);
-                  
-      return page1;
-    }
-    
-    public void doHandleEvent(XSDAnnotation xsdAnnotation)
-    {
-      if (xsdAnnotation != null)
-      {
-        Element element = xsdAnnotation.getElement();
-        List documentationList = xsdAnnotation.getUserInformation();
-        Element documentationElement = null;
-        if (documentationList.size() > 0)
-        {
-          documentationElement = (Element)documentationList.get(0);
-        }
-        
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_DOCUMENTATION_COMMENT_CHANGE"), element);
-        
-        if (documentationElement == null)
-        {
-          documentationElement = xsdAnnotation.createUserInformation(null);
-          element.appendChild(documentationElement);
-          XSDDOMHelper.formatChild(documentationElement);
-          // Defect in model....I create it but the model object doesn't appear to be updated
-          // Notice that it is fine for appinfo
-          xsdAnnotation.updateElement();
-          xsdAnnotation.setElement(element);
-        }
-        
-        String newValue = documentationText.getText();
-        if (documentationElement != null)
-        {
-          try
-          {
-            if (documentationElement.hasChildNodes())
-            {
-            // if the element is Text
-              Node node = documentationElement.getFirstChild();
-              if (node instanceof CharacterData)
-              {
-                ((CharacterData)node).setData(newValue);
-              }
-            }
-            else
-            {
-              if (newValue.length() > 0)
-              {
-                Node childNode = documentationElement.getOwnerDocument().createTextNode(newValue);
-                documentationElement.appendChild(childNode);
-              }
-            }
-          }
-          catch (Exception e)
-          {
-          
-          }
-        }
-        endRecording(element);
-      }    
-    }
-  }
-  
-  class AppInfoWorkbookPage extends XSDWorkbookPage
-  {
-    Text appInfoText;
-    Composite page2;
-    
-    public AppInfoWorkbookPage(XSDWorkbook workbook)
-    {
-      super(workbook);
-      this.getTabItem().setText("App Info");
-    }
-    
-    public void setText(String value)
-    {
-      appInfoText.setText(value);
-    }
-
-    public String getText()
-    {
-      return appInfoText.getText();
-    }
-
-    public Text getAppInfoText()
-    {
-      return appInfoText;
-    }
-
-    public void setEnabled(boolean state)
-    {
-      page2.setEnabled(state);
-    }
-
-    public Control createControl (Composite parent)
-    {
-      page2 = getWidgetFactory().createFlatFormComposite(parent);
-      appInfoText = getWidgetFactory().createText(page2, "", SWT.V_SCROLL | SWT.H_SCROLL);
-      appInfoText.addListener(SWT.Modify, AnnotationSection.this);
-      
-      FormData data = new FormData();
-      data.left = new FormAttachment(0, 0);
-      data.right = new FormAttachment(100, 0);
-      //data.top = new FormAttachment(documentationText, +ITabbedPropertyConstants.HSPACE);
-      data.top = new FormAttachment(0, 0);
-      data.bottom = new FormAttachment(100, 0);
-      appInfoText.setLayoutData(data);
-
-      return page2;
-    }
-    
-    public void doHandleEvent(XSDAnnotation xsdAnnotation)
-    {
-      if (xsdAnnotation != null)
-      {
-        Element element = xsdAnnotation.getElement();
-        List appInfoList = xsdAnnotation.getApplicationInformation();
-        
-        Element appInfoElement = null;
-        if (appInfoList.size() > 0)
-        {
-          appInfoElement = (Element)appInfoList.get(0);
-        }
-
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_COMMENT_CHANGE"), element);
-        if (appInfoElement == null)
-        {
-          appInfoElement = xsdAnnotation.createApplicationInformation(null);
-          element.appendChild(appInfoElement);
-          XSDDOMHelper.formatChild(appInfoElement);
-        }
-        
-        String newValue = appInfoText.getText();
-        if (appInfoElement != null)
-        {
-          try
-          {
-            if (appInfoElement.hasChildNodes())
-            {
-              // if the element is Text
-              Node node = appInfoElement.getFirstChild();
-              if (node instanceof CharacterData)
-              {
-                ((CharacterData)node).setData(newValue);
-              }
-            }
-            else
-            {
-              if (newValue.length() > 0)
-              {
-                Node childNode = appInfoElement.getOwnerDocument().createTextNode(newValue);
-                appInfoElement.appendChild(childNode);
-              }
-            }
-          }
-          catch (Exception e)
-          {
-
-          }
-          endRecording(element);          
-        }
-      }    
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSectionDescriptor.java
deleted file mode 100644
index e6bf7b8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AnnotationSectionDescriptor.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFacet;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.XSDXPathDefinition;
-
-public class AnnotationSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public AnnotationSectionDescriptor()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.annotation";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDAnnotation.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new AnnotationSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.documentation";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDAttributeDeclaration ||
-          object instanceof XSDAttributeGroupDefinition ||
-          object instanceof XSDElementDeclaration ||
-          object instanceof XSDNotationDeclaration ||
-          object instanceof XSDXPathDefinition ||
-          object instanceof XSDModelGroup ||
-          object instanceof XSDModelGroupDefinition ||
-          object instanceof XSDIdentityConstraintDefinition ||
-          object instanceof XSDWildcard ||
-          object instanceof XSDSchema ||
-          object instanceof XSDFacet || 
-          object instanceof XSDTypeDefinition ||
-          object instanceof XSDAnnotation ||
-          object instanceof XSDSchemaDirective)
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java
deleted file mode 100644
index 36526ee..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewContentProvider.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDAbstractAdapter;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDAdapterFactoryLabelProvider;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDModelAdapterFactoryImpl;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-
-
-public class AttributesViewContentProvider implements ITreeContentProvider, ITableLabelProvider, ILabelProvider, INotifyChangedListener
-{
-  IEditorPart editorPart;
-
-  static XSDModelAdapterFactoryImpl xsdModelAdapterFactory = new XSDModelAdapterFactoryImpl(); // XSDTextEditor.getXSDModelAdapterFactory();
-  static XSDAdapterFactoryLabelProvider adapterFactoryLabelProvider = new XSDAdapterFactoryLabelProvider(xsdModelAdapterFactory);  // XSDTextEditor.getLabelProvider();
-  
-  XSDAbstractAdapter elementAdapter;
-  XSDAbstractAdapter ctAdapter;
-  XSDComplexTypeDefinition ct;
-  
-  /**
-   * 
-   */
-  public AttributesViewContentProvider()
-  {
-    super();
-//    if (xsdModelAdapterFactory instanceof IChangeNotifier)
-//    {
-//      ((IChangeNotifier)xsdModelAdapterFactory).addListener(this);
-//    }
-
-  }
-  
-  Viewer attributesViewer;
-  public AttributesViewContentProvider(IEditorPart editorPart, Viewer viewer)
-  {
-    super();
-    this.editorPart = editorPart;
-    this.attributesViewer = viewer;
-  }
-  
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-   */
-  public Object[] getChildren(Object inputElement)
-  {
-    List list = new ArrayList();
-    ct = null;
-    if (inputElement instanceof XSDElementDeclaration)
-    {
-      XSDElementDeclaration xsdElement = (XSDElementDeclaration)inputElement;
-      
-      if (elementAdapter != null)
-      {
-        elementAdapter.removeListener((INotifyChangedListener)this);
-      }
-      elementAdapter = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(xsdElement, xsdModelAdapterFactory);
-      elementAdapter.addListener((INotifyChangedListener)this);
-
-      if (xsdElement.getAnonymousTypeDefinition() instanceof XSDComplexTypeDefinition)
-      {
-        ct = (XSDComplexTypeDefinition)xsdElement.getAnonymousTypeDefinition();
-      }
-      else
-      {
-        XSDTypeDefinition xsdType = xsdElement.getTypeDefinition();
-        if (xsdType instanceof XSDComplexTypeDefinition)
-        {
-          ct = (XSDComplexTypeDefinition)xsdType;
-        }
-      }
-    }
-    else if (inputElement instanceof XSDComplexTypeDefinition)
-    {
-      ct = (XSDComplexTypeDefinition)inputElement;
-    }
-
-    if (ct != null)
-    {
-      if (ctAdapter != null)
-      {
-        ctAdapter.removeListener((INotifyChangedListener)this);
-      }
-      ctAdapter = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(ct, xsdModelAdapterFactory);
-      ctAdapter.addListener((INotifyChangedListener)this);
-      
-      XSDWildcard wildcard = ct.getAttributeWildcardContent();
-      if (wildcard != null)
-      {
-        list.add(wildcard);
-      }
-      
-      Iterator i = ct.getAttributeContents().iterator();
-      while (i.hasNext())
-      {
-        XSDAttributeGroupContent attributeGroupContent = (XSDAttributeGroupContent)i.next();
-        if (attributeGroupContent instanceof XSDAttributeGroupDefinition)
-        {
-          XSDAttributeGroupDefinition attributeGroupDefinition = (XSDAttributeGroupDefinition)attributeGroupContent;
-          XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(attributeGroupDefinition, xsdModelAdapterFactory);
-          a.removeListener((INotifyChangedListener)this);
- 	        a.addListener((INotifyChangedListener)this);
- 	        list.add(attributeGroupDefinition);
-        }
-        else if (attributeGroupContent instanceof XSDAttributeUse)
-        {
-          XSDAttributeUse attributeUse = (XSDAttributeUse)attributeGroupContent;
-          
-          XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
-          
-          boolean isRef = XSDDOMHelper.isAttributeRef(ct.getElement(), attribute.getQName(), attribute.getTargetNamespace());
-         
-          if (isRef)
-          {
-            XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(attributeUse, xsdModelAdapterFactory);            
-            a.removeListener((INotifyChangedListener)this);
-   	        a.addListener((INotifyChangedListener)this);
-            list.add(attributeUse);
-          }
-          else
-          {
-            XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(attribute, xsdModelAdapterFactory);            
-            a.removeListener((INotifyChangedListener)this);
-   	        a.addListener((INotifyChangedListener)this);
-            list.add(attribute);
-          }
-        }
-      }
-    }
-    return list.toArray();
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-   */
-  public Object getParent(Object element)
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-   */
-  public boolean hasChildren(Object element)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-   */
-  public Image getColumnImage(Object element, int columnIndex)
-  {
-    if (element instanceof XSDConcreteComponent)
-    {
-	    return adapterFactoryLabelProvider.getImage((XSDConcreteComponent)element);
-    }
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-   */
-  public String getColumnText(Object element, int columnIndex)
-  {
-    if (element instanceof XSDConcreteComponent)
-    {
-	    XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt((XSDConcreteComponent)element, xsdModelAdapterFactory);
-	    return a.getText((XSDConcreteComponent)element);
-    }
-    return ""; 
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-   */
-  public Image getImage(Object element)
-  {
-    if (element instanceof XSDConcreteComponent)
-    {
-	    return adapterFactoryLabelProvider.getImage((XSDConcreteComponent)element);
-    }
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-   */
-  public String getText(Object element)
-  {
-    if (element instanceof XSDConcreteComponent)
-    {
-	    XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt((XSDConcreteComponent)element, xsdModelAdapterFactory);
-	    return a.getText((XSDConcreteComponent)element);
-    }
-    return ""; 
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-   */
-  public Object[] getElements(Object inputElement)
-  {
-    return getChildren(inputElement);
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-   */
-  public void dispose()
-  {
-    if (elementAdapter != null)
-    {
-      elementAdapter.removeListener(this);
-    }
-    if (ctAdapter != null)
-    {
-      ctAdapter.removeListener((INotifyChangedListener)this);
-    }
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-   */
-  Viewer viewer;
-  public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-  {
-//    System.out.println("input changed " + oldInput + "\n" + newInput);
-    this.viewer = viewer;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-   */
-  public void addListener(ILabelProviderListener listener)
-  {
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-   */
-  public boolean isLabelProperty(Object element, String property)
-  {
-    return false;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-   */
-  public void removeListener(ILabelProviderListener listener)
-  {
-  }
-
-  public void notifyChanged(Notification notification)
-  {
-    if (attributesViewer != null && !attributesViewer.getControl().isDisposed())
-    {
-      if (attributesViewer instanceof StructuredViewer)
-      {
-        attributesViewer.refresh();
-      }
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSection.java
deleted file mode 100644
index 8b79242..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSection.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDMenuListener;
-import org.eclipse.wst.xsd.ui.internal.actions.AddAttributeAction;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateAttributeAndRequired;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.actions.DeleteAction;
-import org.eclipse.wst.xsd.ui.internal.properties.XSDPropertySourceProvider;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class AttributesViewSection extends AbstractSection implements ISelectionChangedListener
-{
-  AttributeTableTreeViewer viewer;
-  AttributesPropertySheetPage propertySheetPage;
-
-  /**
-   * 
-   */
-  public AttributesViewSection()
-  {
-    super();
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent,	TabbedPropertySheetWidgetFactory factory) {
-		super.createControls(parent, factory);
-		
-		composite =	getWidgetFactory().createFlatFormComposite(parent);
-    SashForm sashForm = new SashForm(composite, SWT.HORIZONTAL);
-
-    FormData data = new FormData();
-    data.top = new FormAttachment(0, 0);
-    data.left = new FormAttachment(0, 0);
-    data.right = new FormAttachment(100, 0);
-    data.bottom = new FormAttachment(100, 0);
-    sashForm.setLayoutData(data);
-    
-    viewer = new AttributeTableTreeViewer(sashForm);
-    propertySheetPage = new AttributesPropertySheetPage();
-    propertySheetPage.createControl(sashForm);
-
-		AttributesViewContentProvider provider = new AttributesViewContentProvider(getActiveEditor(), viewer); 
-		viewer.setContentProvider(provider);
-
-		viewer.setLabelProvider(provider);
-		viewer.addSelectionChangedListener(this);
-
-    propertySheetPage.setPropertySourceProvider(new XSDPropertySourceProvider());
-	}
-
-  public void setInput(IWorkbenchPart part, ISelection selection)
-  {
-    super.setInput(part, selection);
-    if (input instanceof XSDElementDeclaration)
-    {
-      XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)input;
-      if (elementDeclaration.isElementDeclarationReference())
-      {
-        input = elementDeclaration.getResolvedElementDeclaration();
-        
-        isReadOnly = (!(elementDeclaration.getResolvedElementDeclaration().getRootContainer() == xsdSchema));
-      }
-    }
-  }
-  
-	public void selectionChanged(SelectionChangedEvent event)
-	{
-	  propertySheetPage.selectionChanged(part, event.getSelection());
-	}
-	
-	public void selectionChanged(IWorkbenchPart part, ISelection selection)
-	{
-	}
-
-  public void aboutToBeShown()
-  {
-		refresh();
-  }
-	
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-    if (isReadOnly)
-    {
-      composite.setEnabled(false);
-    }
-    else
-    {
-      composite.setEnabled(true);
-    }
-    setListenerEnabled(false);
-	  if (viewer != null)
-	  {
-      viewer.setInput(getInput());
-      viewer.refresh();
-	  }
-    setListenerEnabled(true);
-	}
-	
-  public void dispose()
-  {
-//    if (propertySheetPage != null)
-//    {
-//      propertySheetPage.dispose();
-//      propertySheetPage = null;
-//    }
-//    if (viewer != null)
-//    {
-//      viewer = null;
-//    }
-  }
-
-  public boolean shouldUseExtraSpace()
-  {
-    return true;
-  }
-
-	
-	class AttributeTableTreeViewer extends TreeViewer // ExtendedTableTreeViewer
-	{
-	  public AttributeTableTreeViewer(Composite c)
-	  {
-	    super(c);
-	    
-	    MenuManager menuManager = new MenuManager("#popup");//$NON-NLS-1$
-	    menuManager.setRemoveAllWhenShown(true);
-	    Menu menu = menuManager.createContextMenu(getTree());
-	    getTree().setMenu(menu);
-
-	    XSDAttributeMenuListener menuListener = new XSDAttributeMenuListener(this);
-	    menuManager.addMenuListener(menuListener);
-
-	  }
-	  
-	  public class XSDAttributeMenuListener extends XSDMenuListener
-	  {
-	    public XSDAttributeMenuListener(TreeViewer viewer)
-	    {
-	      super(viewer);
-        selectionProvider = viewer;
-       
-	      deleteAction = new DeleteAction(XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE"), AttributesViewSection.this.getActiveEditor(), getXSDSchema());
-        deleteAction.setSelectionProvider(selectionProvider);
-        selectionProvider.addSelectionChangedListener(deleteAction);
-	    }
-	    
-	    protected XSDSchema getXSDSchema()
-	    {
-        return xsdSchema;
-//        return getSchema();
-//	      XSDConcreteComponent xsdInput = (XSDConcreteComponent)AttributesViewSection.this.getInput();
-//	      return xsdInput.getSchema();
-	    }
-	    
-	    protected Object getSelectedElement()
-	    {
-        XSDComponent xsdInput = (XSDComponent)AttributesViewSection.this.getInput();
-        
-        if (xsdInput instanceof XSDElementDeclaration)
-        {
-          XSDElementDeclaration xsdElement = (XSDElementDeclaration)xsdInput;
-          XSDTypeDefinition xsdType = xsdElement.getType();
-          if (xsdType instanceof XSDComplexTypeDefinition)
-          {
-            XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)xsdType;
-            return ct;
-          }
-          return xsdElement;
-        }
-        else if (xsdInput instanceof XSDComplexTypeDefinition)
-        {
-          return xsdInput;
-        }
-
-        return null;
-	    }
-      
-      public void menuAboutToShow(IMenuManager manager)
-      {
-        updateXSDSchema();
-        if (xsdSchema == null)
-        {
-          return;
-        }
-
-        Object selectedElementObj = getSelectedElement();
-        
-        Element selectedElement = null;
-
-        if (selectedElementObj instanceof XSDComplexTypeDefinition)
-        {
-          selectedElement = ((XSDComplexTypeDefinition)selectedElementObj).getElement();
-        }
-        
-        addContextItems(manager, selectedElement, null);
-
-        if (!selectionProvider.getSelection().isEmpty())
-        {
-          // Add context menu items for selected element
-//          addContextItems(manager, selectedElement, null);
-          
-          manager.add(new Separator());
-          if (deleteAction != null)
-          {
-            deleteAction.setXSDSchema(getXSDSchema());
-            manager.add(deleteAction);
-          }
-        }
-      }
-	    
-	    protected void addContextItems(IMenuManager manager, Element parent, Node relativeNode)
-	    {
-	      ArrayList attributes = null;
-	      if (XSDDOMHelper.inputEquals(parent, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-	      { //
-	        boolean annotationExists = false;
-	        boolean contentExists = false;
-	        boolean complexOrSimpleContentExists = false;
-	        boolean anyAttributeExists = false;
-	        Node annotationNode = null;
-	        Element contentNode = null;
-	        Node anyAttributeNode = null;
-	        NodeList children = parent.getChildNodes();
-	        
-	        for (int i=0; i < children.getLength(); i++)
-	        {
-	          Node child = children.item(i);
-	          if (child != null && child instanceof Element)
-	          {
-	            if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.ANNOTATION_ELEMENT_TAG, false))
-	            {
-	              annotationNode = child;
-	              annotationExists = true;
-	            }
-	            else if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
-	                     XSDDOMHelper.inputEquals((Element)child, XSDConstants.ALL_ELEMENT_TAG, false) ||
-	                     XSDDOMHelper.inputEquals((Element)child, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
-	                     XSDDOMHelper.inputEquals((Element)child, XSDConstants.GROUP_ELEMENT_TAG, true) ||
-	                     XSDDOMHelper.inputEquals((Element)child, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) ||
-	                     XSDDOMHelper.inputEquals((Element)child, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-	            {
-	              contentExists = true;
-	              contentNode = (Element)child;
-
-	              if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) ||
-	                  XSDDOMHelper.inputEquals((Element)child, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-	              {
-	                complexOrSimpleContentExists = true;
-	              }
-	            } 
-	            else if (XSDDOMHelper.inputEquals((Element)child, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false))
-	            {
-	              anyAttributeExists = true;
-	              anyAttributeNode = child;
-	            }
-	          }
-	        }
-//	        addCreateAnnotationActionIfNotExist(manager, XSDConstants.ANNOTATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANNOTATION"), attributes, parent, parent.getFirstChild());
-//	        manager.add(new Separator());
-//	        addSetBaseTypeAction(manager, parent);
-//	        if (annotationExists)
-//	        {
-//	          if (!contentExists)
-//	          {
-//	            addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, annotationNode.getNextSibling());
-//	            addCreateSimpleContentAction(manager, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_CONTENT"), attributes, parent, annotationNode.getNextSibling());
-//	            addCreateSimpleContentAction(manager, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_CONTENT"), attributes, parent, annotationNode.getNextSibling());
-//	            addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, annotationNode.getNextSibling());
-//	            attributes = null;
-//	          }
-//	        }
-//	        else
-//	        {
-//	          if (!contentExists)
-//	          {
-//	            addCreateElementAction(manager, XSDConstants.SEQUENCE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CONTENT_MODEL"), attributes, parent, parent.getFirstChild());
-//	            addCreateSimpleContentAction(manager, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SIMPLE_CONTENT"), attributes, parent, parent.getFirstChild());
-//	            addCreateSimpleContentAction(manager, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_COMPLEX_CONTENT"), attributes, parent, parent.getFirstChild());
-//	            addCreateElementRefAction(manager, XSDConstants.GROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ADD_GROUP_REF"), parent, parent.getFirstChild());
-//	            attributes = null;
-//	          }
-//	        }
-//
-//	        manager.add(new Separator());
-
-	        if (anyAttributeExists)
-	        {
-	          if (!complexOrSimpleContentExists)
-	          {
-	            attributes = new ArrayList();
-	            attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE,
-	                                            getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-	            attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-	            addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, anyAttributeNode);
-	            attributes = null;
-//	   ARE ATTRIBUTE GROUPS ALLOWED ?
-//	            addCreateElementAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, "_UI_ACTION_ADD_ATTRIBUTE_GROUP", attributes, parent, anyAttributeNode);
-	            addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, anyAttributeNode);
-	            addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, anyAttributeNode);
-	          }
-	        }
-	        else
-	        {
-	          if (!complexOrSimpleContentExists)
-	          {
-	            attributes = new ArrayList();
-	            attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE,
-	                                            getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-	            attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-	            addCreateElementAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-	            attributes = null;
-	            addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), parent, parent.getLastChild());
-	            addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), parent, parent.getLastChild());
-	            attributes = null;
-	            addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, parent, parent.getLastChild());
-	          }
-            else
-            {
-              // new model based add attribute action
-              XSDComplexTypeDefinition xsdCT = (XSDComplexTypeDefinition)getXSDSchema().getCorrespondingComponent(parent);
-              manager.add(new AddAttributeAction(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"), xsdCT));
-
-              Element derivedByElement = domHelper.getDerivedByElement(contentNode);
-              if (derivedByElement != null)
-              {
-                attributes = null;
-                addCreateElementRefAction(manager, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"), derivedByElement, derivedByElement.getLastChild());
-                addCreateElementRefAction(manager, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"), derivedByElement, derivedByElement.getLastChild());
-                attributes = null;
-                addCreateElementActionIfNotExist(manager, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"), attributes, derivedByElement, derivedByElement.getLastChild());
-              }
-            }
-	        }
-	      }
-	      else if (parent == null) {	      
-	      	XSDElementDeclaration ed = (XSDElementDeclaration)input;      
-	      	if (ed.getTypeDefinition() != null) 
-	      	{
-	      		XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
-	      	}
-	      
-	      	// Add Attribute
-	      	attributes = new ArrayList();
-	      	attributes.add(new DOMAttribute(XSDConstants.NAME_ATTRIBUTE,
-                                          getNewName(parent, XSDConstants.ATTRIBUTE_ELEMENT_TAG, "Attribute", false)));
-	      	attributes.add(new DOMAttribute(XSDConstants.TYPE_ATTRIBUTE, getBuiltInStringQName()));
-	      	manager.add(new CreateAttributeAndRequired(XSDConstants.ATTRIBUTE_ELEMENT_TAG,
-					   XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE"),
-					   attributes,
-					   getXSDSchema(),
-					   selectionProvider,
-					   ed));
-	      	
-	      	// Add Attribute Reference
-	      	attributes = null;
-	      	attributes = new ArrayList();
-	        String ref = getFirstGlobalElementTagName(XSDConstants.ATTRIBUTE_ELEMENT_TAG);
-	        attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ref));
-	      
-	        Action action = new CreateAttributeAndRequired(XSDConstants.ATTRIBUTE_ELEMENT_TAG,
-					   XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_REFERENCE"),
-					   attributes,
-					   getXSDSchema(),
-					   selectionProvider,
-					   ed);
-	        manager.add(action);
-	        action.setEnabled(ref != null);
-
-	        // Add Attribute Group Reference
-	        attributes = null;
-	      	attributes = new ArrayList();
-	        ref = getFirstGlobalElementTagName(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG);
-	        attributes.add(new DOMAttribute(XSDConstants.REF_ATTRIBUTE, ref));
-	        
-	        action = new CreateAttributeAndRequired(XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG,
-					   XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ATTRIBUTE_GROUP_REF"),
-					   attributes,
-					   getXSDSchema(),
-					   selectionProvider,
-					   ed);
-
-	      	manager.add(action);
-	      	action.setEnabled(ref != null);
-	      	
-	      	// Add Any Attribute
-	      	attributes = null;
-	      	if (getFirstChildNodeIfExists(parent, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false) == null)
-	        {
-	      		action = new CreateAttributeAndRequired(XSDConstants.ANYATTRIBUTE_ELEMENT_TAG,
-						   XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ANY_ATTRIBUTE"),
-						   attributes,
-						   getXSDSchema(),
-						   selectionProvider,
-						   ed);
-	      		manager.add(action);
-	         }
-	      }
-	    }
-	  }
-	}
-	
-	class AttributesPropertySheetPage extends PropertySheetPage implements INotifyChangedListener
-	{
-	  public AttributesPropertySheetPage()
-	  {
-	    super();
-	  }
-	  
-	  public void notifyChanged(Notification notification)
-	  {
-	    System.out.println("Notification");
-	  }
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSectionDescriptor.java
deleted file mode 100644
index 51f233c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AttributesViewSectionDescriptor.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-
-public class AttributesViewSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public AttributesViewSectionDescriptor()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.attributes";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDElementDeclaration.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new AttributesViewSection();
-  }
-
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDElementDeclaration)
-      {
-// Remove this to fix bug 3870 Element references should have the same properties as elements 
-//        XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)object;
-//        if (elementDeclaration.isElementDeclarationReference())
-//        {
-//          return false;
-//        }
-        return true;
-      }
-      else if (object instanceof XSDComplexTypeDefinition)
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.attributes";
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getAfterSection()
-   */
-  public String getAfterSection()
-  {
-    return "";
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/CommonDirectivesSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/CommonDirectivesSection.java
deleted file mode 100644
index 1611d4f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/CommonDirectivesSection.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDParser;
-
-public class CommonDirectivesSection extends AbstractSection
-{
-  Text schemaLocationText;
-  Button wizardButton;
-  StyledText errorText;
-  Color red;
-
-  // TODO: common up code with XSDSelectIncludeFileWizard
-  public void doHandleEvent(Event event)
-  {
-    errorText.setText("");
-    if (event.type == SWT.Modify)
-    {
-      if (event.widget == schemaLocationText)
-      {
-        String errorMessage = "";
-        boolean isValidSchemaLocation = true;
-        String xsdModelFile = schemaLocationText.getText();
-        String namespace = "";
-        XSDSchema externalSchema = null;
-        
-        if (xsdModelFile.length() == 0)
-        {
-          handleSchemaLocationChange(xsdModelFile, "", null);
-          return;
-        }
-
-        try
-        {
-          IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
-
-          URI newURI = URI.createURI(xsdModelFile);
-          String xsdFile = URIHelper.getRelativeURI(newURI.toString(), currentIFile.getFullPath().toString());
-          final String normalizedXSDFile = URIHelper.normalize(xsdFile, currentIFile.getLocation().toString(), "");
-          
-          XSDParser parser = new XSDParser();
-          parser.parse(normalizedXSDFile);
-          
-          externalSchema = parser.getSchema();
-
-          if (externalSchema != null)
-          {
-            String extNamespace = externalSchema.getTargetNamespace();
-            if (extNamespace == null) extNamespace = "";
-            namespace = extNamespace;
-            
-            if (externalSchema.getDiagnostics() != null &&
-                externalSchema.getDiagnostics().size() > 0)
-            {
-              isValidSchemaLocation = false;
-              errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_INCORRECT_XML_SCHEMA", xsdModelFile);
-            }  
-            else
-            {
-              String currentNameSpace = getSchema().getTargetNamespace();
-              if (input instanceof XSDInclude || input instanceof XSDRedefine)
-              {  
-                // Check the namespace to make sure they are the same as current file
-                if (extNamespace != null)
-                {
-                  if (currentNameSpace != null && !extNamespace.equals(currentNameSpace))
-                  {
-                    errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_DIFFERENT_NAME_SPACE", xsdModelFile);
-                    isValidSchemaLocation = false;
-                  }
-                }
-              }
-              else
-              {  
-                // Check the namespace to make sure they are different from the current file
-                if (extNamespace != null)
-                {
-                  if (currentNameSpace != null && extNamespace.equals(currentNameSpace))
-                  {
-                    errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_SAME_NAME_SPACE", xsdModelFile);
-                    isValidSchemaLocation = false;
-                  }
-                }
-              }
-            }
-          }
-          else
-          {
-            errorMessage = "Invalid file";
-            isValidSchemaLocation = false;
-          }
-        }
-        catch(Exception e)
-        {
-          errorMessage = "Invalid file";
-          isValidSchemaLocation = false;
-        }
-        finally
-        {
-          if (!isValidSchemaLocation)
-          {
-            errorText.setText(errorMessage);
-            int length = errorText.getText().length();
-            red = new Color(null, 255, 0, 0);
-            StyleRange style = new StyleRange(0, length, red, schemaLocationText.getBackground());
-            errorText.setStyleRange(style);
-          }
-          else
-          {
-            handleSchemaLocationChange(xsdModelFile, namespace, externalSchema);          
-          }
-        }
-      }
-    }
-  }
-  
-  protected void handleSchemaLocationChange(String schemaFileString, String namespace, XSDSchema externalSchema)
-  {
-    
-  }
-
-  
-  public void dispose()
-  {
-    super.dispose();
-    if (red != null)
-    {
-      red.dispose();
-      red = null;
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSection.java
deleted file mode 100644
index ecd3c7e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSection.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.SetBaseTypeAction;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentSpecification;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionDialog;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDSetTypeHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ComplexTypeSection extends AbstractSection
-{
-  private String DERIVED_BY_ID = "derived by"; // XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY"); //$NON-NLS-1$ 
-  private String BASE_TYPE_ID = "base type"; //  XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE"); //$NON-NLS-1$
-  private String derivedByChoicesComboValues[] =
-  {
-        "",
-        XSDConstants.RESTRICTION_ELEMENT_TAG,
-        XSDConstants.EXTENSION_ELEMENT_TAG
-  };
-
-  /**
-   * 
-   */
-  public ComplexTypeSection()
-  {
-    super();
-  }
-
-	Text baseTypeCombo;
-	CCombo derivedByCombo;
-	Button button;
-
-	/**
-	 * A helper to listen for events that indicate that a text
-	 * field has been changed.
-	 */
-	private TextChangeHelper listener = new TextChangeHelper()
-	{
-		public void textChanged(Control control)
-		{
-			Object input = getInput();
-			refresh();
-		}
-	};
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		composite =	getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		baseTypeCombo = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		CLabel baseTypeLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$ 
-
-    button = getWidgetFactory().createButton(composite, "", SWT.PUSH);
-    button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
-    baseTypeCombo.setEditable(false);
-    baseTypeCombo.addListener(SWT.Modify, this);
-
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-    data.right = new FormAttachment(button, 0);
-		baseTypeCombo.setLayoutData(data);
-
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(baseTypeCombo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(button, 0, SWT.CENTER);
-		baseTypeLabel.setLayoutData(data);
-
-    button.addSelectionListener(this);
-		data = new FormData();
-    data.left = new FormAttachment(100, -rightMarginSpace + 2);
-		data.right = new FormAttachment(100,0);
-    data.top = new FormAttachment(baseTypeCombo, 0, SWT.CENTER);
-		button.setLayoutData(data);
-		
-		derivedByCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-		data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(baseTypeCombo, +ITabbedPropertyConstants.VSPACE);
-		derivedByCombo.setLayoutData(data);
-		derivedByCombo.setItems(derivedByChoicesComboValues);
-		derivedByCombo.addSelectionListener(this);
-
-		CLabel derivedByLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY")); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(derivedByCombo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(derivedByCombo, 0, SWT.CENTER);
-		derivedByLabel.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-	  setListenerEnabled(false);
-    
-    if (isReadOnly)
-    {
-      composite.setEnabled(false);
-    }
-    else
-    {
-      composite.setEnabled(true);
-    }
-
-	  Object input = getInput();
-	  baseTypeCombo.setText(""); //$NON-NLS-1$
-	  
-    if (input instanceof XSDComplexTypeDefinition)
-    {
-      XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition)input;
-      Element element = complexType.getElement();
-      Element contentModelElement = getDomHelper().getContentModelFromParent(element);    
-      String baseType = getDomHelper().getBaseType(contentModelElement);
-    
-      derivedByCombo.setText(getDomHelper().getDerivedByName(contentModelElement));
-
-      if (baseType != null)
-      {
-        baseTypeCombo.setText(baseType);
-      }
-    }	  
-	  
-	  setListenerEnabled(true);
-	}
-	
-  /**
-   * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
-   */
-  public void widgetSelected(SelectionEvent e)
-  {
-    XSDComplexTypeDefinition xsdComplexType = (XSDComplexTypeDefinition)getInput();
-    Element ctElement = xsdComplexType.getElement();
-    if (e.widget == button)
-    {
-	    Shell shell = Display.getCurrent().getActiveShell();
-	    Element element = null;
-	    if (xsdComplexType.getContent() != null)
-	    {
-  	    element = ((XSDComplexTypeDefinition)getInput()).getContent().getElement();
-	    }
-	    
-//	    SimpleContentBaseTypeOptionsDialog dialog = new SimpleContentBaseTypeOptionsDialog(shell, element, BASE_TYPE_ID, ((XSDConcreteComponent)getInput()).getSchema());
-//	    dialog.setBlockOnOpen(true);
-//	    dialog.create();
-//	    int result = dialog.open();
-        
-        IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
-        
-        Object input = getInput();
-        XSDSchema schema = null;
-        if (input instanceof XSDConcreteComponent) {
-            schema = ((XSDConcreteComponent) input).getSchema();
-        }
-        
-        XSDComponentSelectionProvider provider = new XSDComponentSelectionProvider(currentIFile, schema);
-        XSDComponentSelectionDialog dialog = new XSDComponentSelectionDialog(shell, "Set Type", provider);  // TODO: Externalize This
-        provider.setDialog(dialog);
-        dialog.setBlockOnOpen(true);
-        dialog.create();
-        int result = dialog.open();
-   
-	    if (result == Window.OK)
-	    {
-            XMLComponentSpecification spec = dialog.getSelection();            
-            XSDSetTypeHelper helper = new XSDSetTypeHelper(currentIFile, schema);
-            helper.addImportIfNecessary(element, spec);
-            
-            String typeString = helper.getPrefixedTypeName(spec);
-            String derivedBy = getDomHelper().getDerivedByName(element);
-            SetBaseTypeAction setBaseTypeAction = new SetBaseTypeAction(XSDEditorPlugin.getXSDString("_UI_LABEL_SET_BASE_TYPE")); //$NON-NLS-1$
-            setBaseTypeAction.setXSDSchema(xsdSchema);
-            setBaseTypeAction.setComplexTypeElement(ctElement);
-            setBaseTypeAction.setType(typeString);
-            setBaseTypeAction.setDerivedBy(derivedBy);
-            setBaseTypeAction.performAction();
-
-	    }
-
-      refresh();
-    }
-    else if (e.widget == derivedByCombo)
-    {
-      Element contentModelElement = getDomHelper().getContentModelFromParent(ctElement);
-      String baseType = getDomHelper().getBaseType(contentModelElement);
-      beginRecording(XSDEditorPlugin.getXSDString("_UI_DERIVEDBY_CHANGE"), ctElement); //$NON-NLS-1$
-      Element derivedByElem = getDomHelper().getDerivedByElement(ctElement);
-      if (contentModelElement != null)
-      {
-        getDomHelper().changeDerivedByType(contentModelElement, derivedByCombo.getText(), baseType);
-      }
-      endRecording(ctElement);
-    }
-  }
-
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-   */
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSectionDescriptor.java
deleted file mode 100644
index c71d770..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ComplexTypeSectionDescriptor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-
-public class ComplexTypeSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public ComplexTypeSectionDescriptor()
-  {
-    super();
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDComplexTypeDefinition.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new ComplexTypeSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDComplexTypeDefinition)
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-  
-  public String getAfterSection()
-  {
-    return "com.ibm.xsdeditor.section.name";
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSection.java
deleted file mode 100644
index d2dd2db..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSection.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.viewers.NavigableTableViewer;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.AddEnumsAction;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class EnumerationsSection extends AbstractSection
-{
-  private EnumerationsTableViewer enumerationsTable;
-  private Button addButton;
-  private Button addManyButton;
-  private Button deleteButton;
-  
-  /**
-   * 
-   */
-  public EnumerationsSection()
-  {
-    super();
-  }
-  
-  public void widgetSelected(SelectionEvent e)
-  {
-    XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
-    Element element = st.getElement();
-    if (e.widget == addButton || e.widget == addManyButton)
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      
-      int variety = st.getVariety().getValue();
-      Node varietyElement = null;
-      if (variety == XSDVariety.ATOMIC)
-      {
-        varietyElement = helper.getChildNode(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
-      }
-      else if (variety == XSDVariety.UNION)
-      {
-        varietyElement = helper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
-      }
-      else if (variety == XSDVariety.LIST)
-      {
-        varietyElement = helper.getChildNode(element, XSDConstants.LIST_ELEMENT_TAG);
-      }
-            
-      if (varietyElement != null)
-      {
-        if (e.widget == addButton)
-        {
-          java.util.List attributes = new ArrayList();
-          
-          List enumList = st.getEnumerationFacets();
-          StringBuffer newName = new StringBuffer("value1"); //$NON-NLS-1$
-          int suffix = 1;
-          for (Iterator i = enumList.iterator(); i.hasNext(); )
-          {
-            XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)i.next();
-            String value = enumFacet.getLexicalValue();
-            if (value != null)
-            {
-              if (value.equals(newName.toString()))
-              {
-                suffix++;
-                newName = new StringBuffer("value" + String.valueOf(suffix)); //$NON-NLS-1$
-              }
-            }
-          }
-          attributes.add(new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, newName.toString()));
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUM"), element); //$NON-NLS-1$
-          Action action = getNewElementAction(XSDConstants.ENUMERATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUM"), attributes, (Element)varietyElement, null);
-          action.run();
-          st.setElement(element);
-
-          endRecording(element);
-          enumerationsTable.refresh();
-          int newItemIndex = enumerationsTable.getTable().getItemCount() - 1;
-          enumerationsTable.editElement(enumerationsTable.getElementAt(newItemIndex), 0);
-          attributes = null;
-        }
-        else if (e.widget == addManyButton)
-        {
-          AddEnumsAction action = new AddEnumsAction(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUMS")); //$NON-NLS-1$
-          action.setElementTag(XSDConstants.ENUMERATION_ELEMENT_TAG);
-          action.setAttributes(null);
-          action.setParentNode((Element)varietyElement);
-          action.setRelativeNode(null);
-          action.setDescription(XSDEditorPlugin.getXSDString("_UI_ENUMERATIONS_DIALOG_TITLE")); //$NON-NLS-1$
-          action.run();
-          st.setElement(element);
-          enumerationsTable.refresh();
-        }
-      }
-    }
-    else if (e.widget == deleteButton)
-    {
-      StructuredSelection selection = (StructuredSelection)enumerationsTable.getSelection();
-      if (selection != null)
-      {
-        Iterator i = selection.iterator();
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_ENUMERATION"), element); //$NON-NLS-1$
-        while (i.hasNext())
-        {
-          Object obj = i.next();
-          if (obj != null)
-          {
-            if (obj instanceof XSDEnumerationFacet)
-            {
-              XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)obj;
-    
-              // I have to update using DOM
-              XSDDOMHelper.removeNodeAndWhitespace(enumFacet.getElement());            
-              
-            }
-          }
-        }
-        enumerationsTable.refresh();
-        st.setElement(element);
-        endRecording(element);
-      }
-    }
-    else if (e.widget == enumerationsTable.getTable())
-    {
-      StructuredSelection selection = (StructuredSelection)enumerationsTable.getSelection();
-      if (selection.getFirstElement() != null)
-      {
-        deleteButton.setEnabled(true);
-      }
-      else
-      {
-        deleteButton.setEnabled(false);
-      }
-    }
-
-  }
-
-  public void widgetDefaultSelected(SelectionEvent e)
-  {
-    
-  }
-  
-  /**
-   * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-   */
-  public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-  {
-    super.createControls(parent, factory);
-
-    composite = getWidgetFactory().createFlatFormComposite(parent);
-    FormData data;
-    
-    GC gc = new GC(parent);
-    Point extent = gc.textExtent("  " + XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_INCLUDE") + "  "); //$NON-NLS-1$
-    gc.dispose();
-
-    enumerationsTable = new EnumerationsTableViewer(getWidgetFactory().createTable(composite, SWT.MULTI | SWT.FULL_SELECTION));
-    enumerationsTable.setInput(getInput());
-    Table table = enumerationsTable.getTable();
-    table.addSelectionListener(this);
-    
-    addButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_ADD_BUTTON_LABEL"), SWT.PUSH); //$NON-NLS-1$
-    addManyButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_ADD_BUTTON_LABEL") + "...", SWT.PUSH); //$NON-NLS-1$
-    deleteButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_INCLUDE"), SWT.PUSH); //$NON-NLS-1$
-
-    FormData data2 = new FormData();
-    data2.top = new FormAttachment(0, 0);
-    data2.left = new FormAttachment(100, -100);
-    data2.right = new FormAttachment(100, 0);
-//    data2.width = 50;
-    addButton.setLayoutData(data2);
-    addButton.addSelectionListener(this);
-
-    data = new FormData();
-    data.left = new FormAttachment(addButton, 0, SWT.LEFT);
-    data.right = new FormAttachment(100, 0);
-    data.top = new FormAttachment(addButton, 0);
-    addManyButton.setLayoutData(data);
-    addManyButton.addSelectionListener(this);
-
-    data = new FormData();
-    data.left = new FormAttachment(addButton, 0, SWT.LEFT);
-    data.right = new FormAttachment(100, 0);
-    data.top = new FormAttachment(addManyButton, 0);
-    deleteButton.setLayoutData(data);
-    deleteButton.setEnabled(false);
-    deleteButton.addSelectionListener(this);
-
-    data = new FormData();
-    data.top = new FormAttachment(0, 0);
-    data.left = new FormAttachment(0, 0);
-    data.right = new FormAttachment(addButton, 0);
-    data.bottom = new FormAttachment(100, 0);
-    data.width = tableMinimumWidth;
-    table.setLayoutData(data);
-    table.addListener(SWT.Resize, this);
-  }
-  
-  /*
-   * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-   */
-  public void refresh()
-  {
-    Object input = getInput();
-    if (isReadOnly)
-    {
-      composite.setEnabled(false);
-    }
-    else
-    {
-      composite.setEnabled(true);
-    }
-    XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-    Element element = st.getElement();
-    XSDDOMHelper helper = new XSDDOMHelper();
-    Node restrictionElement = helper.getChildNode(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
-    
-    Iterator validFacets = st.getValidFacets().iterator();
-    
-    boolean isApplicable = false;
-    while (validFacets.hasNext())
-    {
-      String aValidFacet = (String)validFacets.next();
-      if (aValidFacet.equals(XSDConstants.ENUMERATION_ELEMENT_TAG))
-      {
-        isApplicable = true;
-      }
-    }
-    
-    if (isApplicable)  
-//    if (restrictionElement != null)
-    {
-      addButton.setEnabled(true);
-      addManyButton.setEnabled(true);
-    }
-    else
-    {
-      addButton.setEnabled(false);
-      addManyButton.setEnabled(false);
-    }
-    enumerationsTable.setInput(input);
-  }
-
-  public void handleEvent(Event event)
-  {
-    Table table = enumerationsTable.getTable();
-    if (event.type == SWT.Resize && event.widget == table)
-    {
-      TableColumn tableColumn = table.getColumn(0);
-      tableColumn.setWidth(table.getSize().x);
-    }
-  }
-  
-  public void dispose()
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-   */
-  public boolean shouldUseExtraSpace()
-  {
-    return true;
-  }
-
-  
-  class EnumerationsTableViewer extends NavigableTableViewer implements ICellModifier
-  {
-    protected String[] columnProperties = {XSDConstants.ENUMERATION_ELEMENT_TAG};
-
-    protected CellEditor[] cellEditors;
-
-    Table table;
-    
-    public EnumerationsTableViewer(Table table)
-    {
-      super(table);
-      table = getTable();
-
-      table.setLinesVisible(true);
-      
-      setContentProvider(new EnumerationsTableContentProvider());
-      setLabelProvider(new EnumerationsTableLabelProvider());
-      setColumnProperties(columnProperties);
-
-      setCellModifier(this);
-
-      TableColumn column = new TableColumn(table, SWT.NONE, 0);
-      column.setText(columnProperties[0]);
-      column.setAlignment(SWT.LEFT);
-      column.setResizable(true);
- 
-      cellEditors = new CellEditor[1];
-
-      TableLayout layout = new TableLayout();
-      ColumnWeightData data = new ColumnWeightData(100);
-
-      layout.addColumnData(data);
-      cellEditors[0] = new TextCellEditor(table);
-
-      getTable().setLayout(layout);
-      setCellEditors(cellEditors);
-    }
-    
-    public boolean canModify(Object element, String property)
-    {
-      return true;
-    }
-
-    public void modify(Object element, String property, Object value)
-    {
-      if (element instanceof TableItem && (value != null))
-      {
-        TableItem item = (TableItem)element;
-        
-        Element simpleTypeElement = ((XSDSimpleTypeDefinition)getInput()).getElement();
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ENUM_VALUE_CHANGE"), simpleTypeElement); //$NON-NLS-1$
-        
-        XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)item.getData();
-        enumFacet.setLexicalValue((String)value);
-        item.setData(enumFacet);
-        item.setText((String)value);
-        endRecording(simpleTypeElement);
-      }
-    }    
-
-    public Object getValue(Object element, String property)
-    {
-      if (element instanceof XSDEnumerationFacet)
-      {
-        XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)element;
-        String value = enumFacet.getLexicalValue();
-        if (value == null) value = ""; //$NON-NLS-1$
-        return value;
-      }
-      return ""; //$NON-NLS-1$
-    }
-
-  }
-    
-  class EnumerationsTableContentProvider implements IStructuredContentProvider
-  {
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-    {
-    }
-
-    public java.lang.Object[] getElements(java.lang.Object inputElement)
-    {
-      java.util.List list = new ArrayList();
-      if (inputElement instanceof XSDSimpleTypeDefinition)
-      {
-        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)inputElement;
-        return st.getEnumerationFacets().toArray();
-      }
-      return list.toArray();
-    }
-
-    public void dispose()
-    {
-    }
-  }
-
-  class EnumerationsTableLabelProvider extends LabelProvider implements ITableLabelProvider
-  {
-    public EnumerationsTableLabelProvider()
-    {
-      
-    }
-    
-    public Image getColumnImage(Object element, int columnIndex)
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDSimpleEnum.gif");
-    }
-    
-    public String getColumnText(Object element, int columnIndex)
-    {
-      if (element instanceof XSDEnumerationFacet)
-      {
-        XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)element;
-        String value = enumFacet.getLexicalValue();
-        if (value == null) value = "";
-        return value;
-      }
-      return "";
-    }
-
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSectionDescriptor.java
deleted file mode 100644
index 2f8aa67..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/EnumerationsSectionDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-
-public class EnumerationsSectionDescriptor extends AbstractSectionDescriptor
-{
-
-  /**
-   * 
-   */
-  public EnumerationsSectionDescriptor()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.enumerations";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDSimpleTypeDefinition.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new EnumerationsSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.enumerations";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDSimpleTypeDefinition)
-      {
-        return true;
-        // return false;  // turn off this tab
-      }
-    }
-    return false;
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetViewer.java
deleted file mode 100644
index 0ec654e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetViewer.java
+++ /dev/null
@@ -1,498 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.ui.WindowUtility;
-import org.eclipse.wst.common.ui.viewers.NavigableTableViewer;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.properties.XSDComboBoxPropertyDescriptor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConstrainingFacet;
-import org.eclipse.xsd.XSDMaxExclusiveFacet;
-import org.eclipse.xsd.XSDMaxFacet;
-import org.eclipse.xsd.XSDMaxInclusiveFacet;
-import org.eclipse.xsd.XSDMinExclusiveFacet;
-import org.eclipse.xsd.XSDMinFacet;
-import org.eclipse.xsd.XSDMinInclusiveFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.impl.XSDFactoryImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class FacetViewer extends NavigableTableViewer implements ICellModifier
-{
-  public static final String FACET_NAME = XSDEditorPlugin.getXSDString("_UI_FACET_NAME");  // "Name";
-  public static final String FACET_VALUE = XSDEditorPlugin.getXSDString("_UI_FACET_VALUE"); // "Value";
-  public static final String FACET_OTHER = XSDEditorPlugin.getXSDString("_UI_FACET_FIXED"); // "Fixed";
-
-  protected FacetsTableLabelProvider facetsTableLabelProvider = new FacetsTableLabelProvider();
-  protected FacetsTableContentProvider facetsTableContentProvider = new FacetsTableContentProvider();
-  protected String[] columnProperties = {FACET_NAME, FACET_VALUE, FACET_OTHER};
-  protected CellEditor[] cellEditors;    // these cellEditors are used when non-whitespace facet is selected
-  protected CellEditor[] altCellEditors; // these cellEditors are used when whitespace facet is selected
-  
-  protected String [] whiteSpaceValues = new String[] {"", "preserve", "replace", "collapse" };
-  protected String [] trueFalseValues = new String [] {"", "false", "true" }; 
-  protected FacetsSection facetsSection;
-  /**
-   * @param parent
-   */
-  public FacetViewer(Composite parent, FacetsSection facetsSection)
-  {
-    super(new Table(parent, SWT.FULL_SELECTION | SWT.SINGLE));
-    this.facetsSection = facetsSection;
-    
-    getTable().setLinesVisible(true);
-    getTable().setHeaderVisible(true);
-
-    addSelectionChangedListener(new SelectionChangedListener());
-    getTable().addMouseTrackListener(new MyMouseTrackListener());
-    
-    setContentProvider(facetsTableContentProvider);
-    setLabelProvider(facetsTableLabelProvider);
-    setColumnProperties(columnProperties);
-
-    setCellModifier(this);
-
-    for (int i = 0; i < 3; i++)
-    {
-      TableColumn column = new TableColumn(getTable(), SWT.NONE, i);
-      column.setText(columnProperties[i]);
-      column.setAlignment(SWT.LEFT);
-      column.setResizable(true);
-    }
-    
-    cellEditors = new CellEditor[3];
-    altCellEditors = new CellEditor[3];
-
-    TableLayout layout = new TableLayout();
-    ColumnWeightData data = new ColumnWeightData(60, 120, true);
-    layout.addColumnData(data);
-    cellEditors[0] = null;
-
-    ColumnWeightData data2 = new ColumnWeightData(120, 100, true);
-    layout.addColumnData(data2);
-
-    cellEditors[1] = new TextCellEditor(getTable());
-    XSDComboBoxPropertyDescriptor pd = new XSDComboBoxPropertyDescriptor("combo", "whitespace", whiteSpaceValues);
-    altCellEditors[1] = pd.createPropertyEditor(getTable());
-
-    ColumnWeightData data3 = new ColumnWeightData(60, 80, true);
-    layout.addColumnData(data3);
-
-    XSDComboBoxPropertyDescriptor pd2 = new XSDComboBoxPropertyDescriptor("combo", "other", trueFalseValues);
-    cellEditors[2] = pd2.createPropertyEditor(getTable());
-    altCellEditors[2] = pd2.createPropertyEditor(getTable());
-
-    getTable().setLayout(layout);
-    setCellEditors(cellEditors);
-
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
-   */
-  public boolean canModify(Object element, String property)
-  {
-    return property.equals(FACET_VALUE) || property.equals(FACET_OTHER);
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)
-   */
-  public Object getValue(Object element, String property)
-  {
-    int column = 0;
-    if (property.equals(columnProperties[0]))
-    {
-      column = 0;
-    }
-    else if (property.equals(columnProperties[1]))
-    {
-      column = 1;
-    }
-    else if (property.equals(columnProperties[2]))
-    {
-      column = 2;
-    }
-
-    return facetsTableLabelProvider.getColumnText(element, column);
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object)
-   */
-  public void modify(Object element, String property, Object value)
-  {
-    XSDSimpleTypeDefinition xsdSimpleType = (XSDSimpleTypeDefinition)getInput();
-    TableItem item = (TableItem)element;
-    if (item != null)
-    {
-      Object o = item.getData();
-      if (o != null)
-      {
-        if (o instanceof String)
-        {
-          String facet = (String)o;
-         
-          Element simpleTypeElement = xsdSimpleType.getElement();
-          XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
-          Element derivedByElement = xsdDOMHelper.getDerivedByElement(simpleTypeElement);
-
-          facetsSection.beginRecording(XSDEditorPlugin.getXSDString("_UI_FACET_CHANGE"), simpleTypeElement);
-
-          String prefix = simpleTypeElement.getPrefix();
-          prefix = (prefix == null) ? "" : (prefix + ":");
-          
-          Element childNodeElement = null;
-          DOMAttribute valueAttr = null;
-
-          XSDConstrainingFacet targetFacet = getXSDConstrainingFacet(facet);
-
-          String newValue = "";
-          if (value != null && value instanceof String)
-          {
-            newValue = (String)value;
-          }
-          
-          if (property.equals(columnProperties[1]))
-          {
-            if (targetFacet == null && newValue.length() > 0)
-            {
-              targetFacet = createFacet(facet);
-              childNodeElement = (derivedByElement.getOwnerDocument()).createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + facet);
-              valueAttr = new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, newValue);
-              childNodeElement.setAttribute(valueAttr.getName(), valueAttr.getValue());
-              // add and format child
-              derivedByElement.appendChild(childNodeElement);
-              targetFacet.setElement(childNodeElement);
-              XSDDOMHelper.formatChild(childNodeElement);
-
-//              XSDSchemaHelper.updateElement(xsdSimpleType);
-            }
-            if (targetFacet == null)
-            {
-              facetsSection.endRecording(simpleTypeElement);
-              return;
-            }
-
-            if (newValue.length() > 0)
-            {            
-              targetFacet.setLexicalValue(newValue);
-              
-              if (targetFacet instanceof XSDMaxFacet || targetFacet instanceof XSDMinFacet)
-              {
-                Element elementFacet = targetFacet.getElement();
-
-                if (targetFacet instanceof XSDMaxFacet)
-                {
-                  if (targetFacet instanceof XSDMaxExclusiveFacet)
-                  {
-                    XSDMaxInclusiveFacet xsdMaxInclusiveFacet = xsdSimpleType.getMaxInclusiveFacet();
-                    if (xsdMaxInclusiveFacet != null)
-                    {
-                      Element xsdMaxInclusiveFacetElement = xsdMaxInclusiveFacet.getElement();
-                      XSDDOMHelper.removeNodeAndWhitespace(xsdMaxInclusiveFacetElement);
-                    }
-                  }
-                  else if (targetFacet instanceof XSDMaxInclusiveFacet)
-                  {
-                    XSDMaxExclusiveFacet xsdMaxExclusiveFacet = xsdSimpleType.getMaxExclusiveFacet();
-                    if (xsdMaxExclusiveFacet != null)
-                    {
-                      Element xsdMaxExclusiveFacetElement = xsdMaxExclusiveFacet.getElement();
-                      XSDDOMHelper.removeNodeAndWhitespace(xsdMaxExclusiveFacetElement);
-                    }
-                  }
-                }
-                else if (targetFacet instanceof XSDMinFacet)
-                {
-                  if (targetFacet instanceof XSDMinExclusiveFacet)
-                  {
-                    XSDMinInclusiveFacet xsdMinInclusiveFacet = xsdSimpleType.getMinInclusiveFacet();
-                    if (xsdMinInclusiveFacet != null)
-                    {
-                      Element xsdMinInclusiveFacetElement = xsdMinInclusiveFacet.getElement();
-                      XSDDOMHelper.removeNodeAndWhitespace(xsdMinInclusiveFacetElement);
-                    }
-                  }
-                  else if (targetFacet instanceof XSDMinInclusiveFacet)
-                  {
-                    XSDMinExclusiveFacet xsdMinExclusiveFacet = xsdSimpleType.getMinExclusiveFacet();
-                    if (xsdMinExclusiveFacet != null)
-                    {
-                      Element xsdMinExclusiveFacetElement = xsdMinExclusiveFacet.getElement();
-                      XSDDOMHelper.removeNodeAndWhitespace(xsdMinExclusiveFacetElement);
-                    }
-                  }
-                }
-              }
-            }
-            else // newValue.length == 0
-            {
-              Element targetFacetElement = targetFacet.getElement();
-              XSDDOMHelper.removeNodeAndWhitespace(targetFacetElement);
-            }
-          }
-          else if (property.equals(columnProperties[2]))
-          {
-            if (targetFacet != null)
-            {
-              if (newValue.length() > 0)
-              {            
-                targetFacet.getElement().setAttribute(XSDConstants.FIXED_ATTRIBUTE, newValue);
-              }
-              else
-              {
-                targetFacet.getElement().removeAttribute(XSDConstants.FIXED_ATTRIBUTE);
-              }
-            }
-          }
-          xsdSimpleType.setElement(simpleTypeElement);
-          //xsdSimpleType.updateElement();
-          facetsSection.endRecording(simpleTypeElement);
-          refresh();
-        }
-      }
-    }
-  }
-
-  
-  private XSDConstrainingFacet getXSDConstrainingFacet(String facetString)
-  {
-    XSDSimpleTypeDefinition xsdSimpleType = (XSDSimpleTypeDefinition)getInput();
-    List list = xsdSimpleType.getFacetContents();
-    if (list == null)
-    {
-      return null;
-    }
-    Iterator iter = list.iterator();
-    XSDConstrainingFacet targetFacet = null;
-    
-    while (iter.hasNext())
-    {
-      XSDConstrainingFacet xsdConstrainingFacet = (XSDConstrainingFacet)iter.next();
-      if (xsdConstrainingFacet.getFacetName().equals(facetString))
-      {
-        targetFacet = xsdConstrainingFacet;
-        break;
-      }
-    }
-    return targetFacet;
-  }
-
-  private XSDConstrainingFacet createFacet(String facet)
-  {
-    XSDFactoryImpl factory = new XSDFactoryImpl();
-    XSDConstrainingFacet xsdFacet = null;
-    if (facet.equals("length")) { xsdFacet = factory.createXSDLengthFacet(); }
-    else if (facet.equals("minLength")) { xsdFacet = factory.createXSDMinLengthFacet(); }
-    else if (facet.equals("maxLength")) { xsdFacet = factory.createXSDMaxLengthFacet(); }
-
-    else if (facet.equals("minInclusive")) { xsdFacet = factory.createXSDMinInclusiveFacet(); }
-    else if (facet.equals("minExclusive")) { xsdFacet = factory.createXSDMinExclusiveFacet(); }
-
-    else if (facet.equals("maxInclusive")) { xsdFacet = factory.createXSDMaxInclusiveFacet(); }
-    else if (facet.equals("maxExclusive")) { xsdFacet = factory.createXSDMaxExclusiveFacet(); }
-
-    else if (facet.equals("totalDigits")) { xsdFacet = factory.createXSDTotalDigitsFacet(); }
-    else if (facet.equals("fractionDigits")) { xsdFacet = factory.createXSDFractionDigitsFacet(); }
-
-    else if (facet.equals("whiteSpace"))   { xsdFacet = factory.createXSDWhiteSpaceFacet(); }
-
-    return xsdFacet;
-  }
-
- /**
-  * Get the tooltip for the facet
-  */
-  public String getToolTip(String facet)
-  {
-    String key = "";
-    if (facet.equals("length")) { key = "_UI_TOOLTIP_LENGTH"; }
-    else if (facet.equals("minLength")) { key = "_UI_TOOLTIP_MIN_LEN"; }
-    else if (facet.equals("maxLength")) { key = "_UI_TOOLTIP_MAX_LEN"; }
-
-    else if (facet.equals("minInclusive")) { key = "_UI_TOOLTIP_MIN_INCLUSIVE"; }
-    else if (facet.equals("minExclusive")) { key = "_UI_TOOLTIP_MIN_EXCLUSIVE"; }
-
-    else if (facet.equals("maxInclusive")) { key = "_UI_TOOLTIP_MAX_INCLUSIVE"; }
-    else if (facet.equals("maxExclusive")) { key = "_UI_TOOLTIP_MAX_EXCLUSIVE"; }
-
-    else if (facet.equals("totalDigits"))   { key = "_UI_TOOLTIP_TOTAL_DIGITS"; }
-    else if (facet.equals("fractionDigits")) { key = "_UI_TOOLTIP_FRACTION_DIGITS"; }
-
-    else if (facet.equals("whiteSpace"))   { key = "_UI_TOOLTIP_WHITE_SPACE"; }
-
-    return (key != null) ? XSDEditorPlugin.getXSDString(key) : "";
-  }
-  
-  /**
-   * This listener detects which row is selected and add a tool tip for that row
-   */
-  public class MyMouseTrackListener extends MouseTrackAdapter
-  {
-    public void mouseHover(MouseEvent e)
-    {
-      TableItem item = getTable().getItem(new Point(e.x, e.y));
-      if (item != null)
-      {
-        Object o = item.getData();
-        if (o != null)
-        {
-          String facetName = (String)o;
-          getTable().setToolTipText(getToolTip(facetName));
-        }
-      }
-    }
-  }
-
-  /**
-   * Based on the selection, detects if it is a white space or not, and add the
-   * corresponding cell editors
-   */
-  public class SelectionChangedListener implements ISelectionChangedListener
-  {
-    public void selectionChanged(SelectionChangedEvent event)
-    {
-      Object o = WindowUtility.getSelection(event.getSelection());
-      if (o != null)
-      {
-        String facet = (String)o;
-        if (facet.equals("whiteSpace"))
-        {
-          setCellEditors(altCellEditors);
-        }
-        else
-        {
-          setCellEditors(cellEditors);
-        }
-      }
-    }
-  }
-
-  
-  class FacetsTableContentProvider implements IStructuredContentProvider
-  {
-    protected String facet;
-    
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-    {
-    }
-
-    public java.lang.Object[] getElements(java.lang.Object inputElement)
-    {
-      XSDDOMHelper xsdDomHelper = new XSDDOMHelper();
-
-      String facet = "";
-      Vector v = new Vector();
-      XSDSimpleTypeDefinition inputXSDSimpleType = (XSDSimpleTypeDefinition)inputElement;
-      XSDSimpleTypeDefinition base = inputXSDSimpleType.getBaseTypeDefinition();
-      
-      if (base != null)
-      {
-        Iterator validFacets = base.getValidFacets().iterator();
-        while (validFacets.hasNext())
-        {
-          String aValidFacet = (String)validFacets.next();
-          if (!(aValidFacet.equals("pattern") || aValidFacet.equals("enumeration")))
-          {
-            v.add(aValidFacet);
-          }
-        }
-      }
-      return v.toArray();
-    }
-
-    public void dispose()
-    {
-    }
-  }
-
-  class FacetsTableLabelProvider extends LabelProvider implements ITableLabelProvider
-  {
-    public Image getColumnImage(Object element, int columnIndex)
-    {
-      return null;
-    }
-    
-    public String getColumnText(Object element, int columnIndex)
-    {
-      if (element instanceof String)
-      {
-        String value = null;
-        XSDConstrainingFacet targetFacet = getXSDConstrainingFacet((String)element);
-        switch (columnIndex)
-        {
-          case 0:
-          {
-            value = (String)element;
-            break;
-          }
-          case 1:
-          {
-            if (targetFacet == null)
-            {
-              value = "";
-            }
-            else
-            {
-              value = targetFacet.getLexicalValue();
-            }
-
-            break;
-          }
-          case 2:
-          {
-            if (targetFacet == null)
-            {
-              value = "";
-            }
-            else
-            {
-              Element elem = targetFacet.getElement();
-              value = elem.getAttribute(XSDConstants.FIXED_ATTRIBUTE);
-              if (value == null) value = "";
-            }
-          }
-        }
-        return value; 
-      }
-      return "";
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSection.java
deleted file mode 100644
index e6a80ba..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSection.java
+++ /dev/null
@@ -1,802 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.viewers.NavigableTableViewer;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.wizards.RegexWizard;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class FacetsSection extends AbstractSection
-{
-  IWorkbenchPart part;
-  ISelection selection;
-  FacetViewer facetViewer;
-  
-  XSDWorkbook workbook;
-  FacetsWorkbookPage facetsWorkbookPage;
-// If you want to add the enumerations tab to this facets tab
-//  EnumsWorkbookPage enumsWorkbookPage;
-  PatternsWorkbookPage patternsWorkbookPage;
-
-  /**
-   * 
-   */
-  public FacetsSection()
-  {
-    super();
-  }
-  
-  /**
-   * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-   */
-  public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-  {
-    super.createControls(parent, factory);
-
-    workbook = new XSDWorkbook(parent, SWT.BOTTOM | SWT.FLAT);
-    
-    facetsWorkbookPage = new FacetsWorkbookPage(workbook, this);
-//    enumsWorkbookPage = new EnumsWorkbookPage(workbook);
-    patternsWorkbookPage = new PatternsWorkbookPage(workbook);
-    facetsWorkbookPage.activate();
-//    enumsWorkbookPage.activate();
-    patternsWorkbookPage.activate();
-    workbook.setSelectedPage(facetsWorkbookPage);
-  }
-  
-  public void selectionChanged(IWorkbenchPart part, ISelection selection)
-  {
-    this.part = part;
-    this.selection = selection;
-  }
-  
-
-  /*
-   * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-   */
-  public void refresh()
-  {
-    Object input = getInput();
-    
-    if (isReadOnly)
-    {
-      facetViewer.getControl().getParent().setEnabled(false);      
-    }
-    else
-    {
-      facetViewer.getControl().getParent().setEnabled(true);
-    }
-
-    if (facetViewer != null)
-    {
-      facetViewer.setInput(input);
-    }
-    
-//    if (enumsWorkbookPage != null)
-//    {
-//      enumsWorkbookPage.setInput(input);
-//    }
-    
-    if (patternsWorkbookPage != null)
-    {
-      patternsWorkbookPage.setInput(input);
-    }
-  }
-
-  public void dispose()
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-   */
-  public boolean shouldUseExtraSpace()
-  {
-    return true;
-  }
-  
-
-  /* General Facets Page */
-  
-  class FacetsWorkbookPage extends XSDWorkbookPage
-  {
-    FacetsSection facetsSection;
-    Composite page1;
-    
-    public FacetsWorkbookPage(XSDWorkbook workbook, FacetsSection facetsSection)
-    {
-      super(workbook);
-      this.getTabItem().setText(XSDEditorPlugin.getXSDString("_UI_LABEL_FACETS")); //$NON-NLS-1$
-      this.facetsSection = facetsSection;
-    }
-
-    public Control createControl (Composite parent)
-    {
-      page1 = getWidgetFactory().createFlatFormComposite(parent);
-
-      FormData data = new FormData();
-      data.left = new FormAttachment(0, 0);
-      data.right = new FormAttachment(100, 0);
-      data.top = new FormAttachment(0, 0);
-      data.bottom = new FormAttachment(100, 0);
-      
-      facetViewer = new FacetViewer(page1, facetsSection);
-      facetViewer.setInput(getInput());
-      facetViewer.getControl().setLayoutData(data);
-                  
-      return page1;
-    }
-  }
-
-  /* Enumerations Page */
-  
-//  class EnumsWorkbookPage extends XSDWorkbookPage implements SelectionListener
-//  {
-//    EnumerationsTableViewer enumerationsTable;
-//    Button addButton;
-//    Button deleteButton;
-//    
-//    public EnumsWorkbookPage(XSDWorkbook workbook)
-//    {
-//      super(workbook);
-//      this.getTabItem().setText("Enumerations");
-//    }
-//
-//    public Control createControl (Composite parent)
-//    {
-//      Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-//      FormData data;
-//      
-//      addButton = getWidgetFactory().createButton(composite, "Add", SWT.PUSH);
-//      deleteButton = getWidgetFactory().createButton(composite, "Delete", SWT.PUSH);
-//      enumerationsTable = new EnumerationsTableViewer(getWidgetFactory().createTable(composite, SWT.MULTI | SWT.FULL_SELECTION));
-//      
-//      enumerationsTable.setInput(getInput());
-//      Table table = enumerationsTable.getTable();
-//      table.addSelectionListener(this);
-//
-//      data = new FormData();
-//      data.left = new FormAttachment(deleteButton, 0, SWT.LEFT);
-//      data.right = new FormAttachment(100, 0);
-//      data.top = new FormAttachment(0, 0);
-//      data.bottom = new FormAttachment(deleteButton, 0); //-ITabbedPropertyConstants.VSPACE);
-//      addButton.setLayoutData(data);
-//      addButton.addSelectionListener(this);
-//      
-//      data = new FormData();
-//      data.left = new FormAttachment(table, +ITabbedPropertyConstants.HSPACE);
-//      data.right = new FormAttachment(100, 0);
-//      data.top = new FormAttachment(addButton, 0);
-////      data.bottom = new FormAttachment(deleteButton, +ITabbedPropertyConstants.VSPACE);
-//      deleteButton.setLayoutData(data);
-//      deleteButton.setEnabled(false);
-//      deleteButton.addSelectionListener(this);
-//      
-//      data = new FormData();
-//      data.left = new FormAttachment(0, 0);
-//      data.right = new FormAttachment(85, 0);
-//      data.top = new FormAttachment(0, 0);
-//      data.bottom = new FormAttachment(100, 0);
-//      table.setLayoutData(data);
-//      
-//      return composite;
-//    }
-//    
-//    public void setInput(Object input)
-//    {
-//      enumerationsTable.setInput(input);
-//    }
-//    
-//    public void widgetSelected(SelectionEvent e)
-//    {
-//      XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
-//      Element element = st.getElement();
-//      if (e.widget == addButton)
-//      {
-//        XSDDOMHelper helper = new XSDDOMHelper();
-//
-//        int variety = st.getVariety().getValue();
-//        Node varietyElement = null;
-//        if (variety == XSDVariety.ATOMIC)
-//        {
-//          varietyElement = helper.getChildNode(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
-//        }
-//        else if (variety == XSDVariety.UNION)
-//        {
-//          varietyElement = helper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
-//        }
-//        else if (variety == XSDVariety.LIST)
-//        {
-//          varietyElement = helper.getChildNode(element, XSDConstants.LIST_ELEMENT_TAG);
-//        }
-//              
-//        if (varietyElement != null)
-//        {
-//          java.util.List attributes = new ArrayList();
-//          attributes.add(new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, ""));
-//          beginRecording("Add Enumeration", element);
-//          Action action = getNewElementAction(XSDConstants.ENUMERATION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ENUM"), attributes, (Element)varietyElement, null);
-//          action.run();
-//          st.setElement(element);
-//
-//          endRecording(element);
-//          enumerationsTable.refresh();
-//          attributes = null;
-//        }
-//      }
-//      else if (e.widget == deleteButton)
-//      {
-//        StructuredSelection selection = (StructuredSelection)enumerationsTable.getSelection();
-//        if (selection != null)
-//        {
-//          Iterator i = selection.iterator();
-//          beginRecording("Delete Enumeration", element);
-//          while (i.hasNext())
-//          {
-//            Object obj = i.next();
-//            if (obj != null)
-//            {
-//              if (obj instanceof XSDEnumerationFacet)
-//              {
-//                XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)obj;
-//      
-//                // I have to update using DOM
-//                XSDDOMHelper.removeNodeAndWhitespace(enumFacet.getElement());            
-//                
-//              }
-//            }
-//          }
-//          enumerationsTable.refresh();
-//          st.setElement(element);
-//          endRecording(element);
-//        }
-//      }
-//      else if (e.widget == enumerationsTable.getTable())
-//      {
-//        StructuredSelection selection = (StructuredSelection)enumerationsTable.getSelection();
-//        if (selection.getFirstElement() != null)
-//        {
-//          deleteButton.setEnabled(true);
-//        }
-//        else
-//        {
-//          deleteButton.setEnabled(false);
-//        }
-//      }
-//      
-//    }
-//
-//    public void widgetDefaultSelected(SelectionEvent e)
-//    {
-//      
-//    }
-//  }
-//  
-//  class EnumerationsTableViewer extends NavigableTableViewer implements ICellModifier
-//  {
-//    protected String[] columnProperties = {"Enumeration"};
-//
-//    protected CellEditor[] cellEditors;
-//
-//    Table table;
-//    
-//    public EnumerationsTableViewer(Table table)
-//    {
-//      super(table);
-//      table = getTable();
-//      
-//      table.setLinesVisible(true);
-//      
-//      setContentProvider(new EnumerationsTableContentProvider());
-//      setLabelProvider(new EnumerationsTableLabelProvider());
-//      setColumnProperties(columnProperties);
-//
-//      setCellModifier(this);
-//
-//      TableColumn column = new TableColumn(table, SWT.NONE, 0);
-//      column.setText(columnProperties[0]);
-//      column.setAlignment(SWT.LEFT);
-// 
-//      cellEditors = new CellEditor[1];
-//
-//      TableLayout layout = new TableLayout();
-//      ColumnWeightData data = new ColumnWeightData(100);
-//      layout.addColumnData(data);
-//      cellEditors[0] = new TextCellEditor(table);
-//
-//      getTable().setLayout(layout);
-//      setCellEditors(cellEditors);
-//    }
-//    
-//    public boolean canModify(Object element, String property)
-//    {
-//      return true;
-//    }
-//
-//    public void modify(Object element, String property, Object value)
-//    {
-//      if (element instanceof TableItem && (value != null))
-//      {
-//        TableItem item = (TableItem)element;
-//        
-//        Element simpleTypeElement = ((XSDSimpleTypeDefinition)getInput()).getElement();
-//        FacetsSection.this.beginRecording(XSDEditorPlugin.getXSDString("_UI_ENUM_VALUE_CHANGE"), simpleTypeElement);
-//        
-//        XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)item.getData();
-//        enumFacet.setLexicalValue((String)value);
-//        item.setData(enumFacet);
-//        item.setText((String)value);
-//        FacetsSection.this.endRecording(simpleTypeElement);
-//      }
-//    }    
-//
-//    public Object getValue(Object element, String property)
-//    {
-//      if (element instanceof XSDEnumerationFacet)
-//      {
-//        XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)element;
-//        String value = enumFacet.getLexicalValue();
-//        if (value == null) value = "";
-//        return value;
-//      }
-//      return "";
-//    }
-//
-//  }
-//    
-//  class EnumerationsTableContentProvider implements IStructuredContentProvider
-//  {
-//    public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-//    {
-//    }
-//
-//    public java.lang.Object[] getElements(java.lang.Object inputElement)
-//    {
-//      java.util.List list = new ArrayList();
-//      if (inputElement instanceof XSDSimpleTypeDefinition)
-//      {
-//        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)inputElement;
-//        return st.getEnumerationFacets().toArray();
-//      }
-//      return list.toArray();
-//    }
-//
-//    public void dispose()
-//    {
-//    }
-//  }
-//
-//  class EnumerationsTableLabelProvider extends LabelProvider implements ITableLabelProvider
-//  {
-//    public EnumerationsTableLabelProvider()
-//    {
-//      
-//    }
-//    
-//    public Image getColumnImage(Object element, int columnIndex)
-//    {
-//      return XSDEditorPlugin.getXSDImage("icons/XSDSimpleEnum.gif");
-//    }
-//    
-//    public String getColumnText(Object element, int columnIndex)
-//    {
-//      if (element instanceof XSDEnumerationFacet)
-//      {
-//        XSDEnumerationFacet enum = (XSDEnumerationFacet)element;
-//        String value = enum.getLexicalValue();
-//        if (value == null) value = "";
-//        return value;
-//      }
-//      return "";
-//    }
-//
-//  }
-
-  /* Patterns Page */
-  
-  class PatternsWorkbookPage extends XSDWorkbookPage implements SelectionListener, Listener
-  {
-    PatternsTableViewer patternsTable;
-    Button addButton;
-    Button deleteButton;
-    Button editButton;
-    Composite composite;
-    
-    public PatternsWorkbookPage(XSDWorkbook workbook)
-    {
-      super(workbook);
-      this.getTabItem().setText(XSDEditorPlugin.getXSDString("_UI_LABEL_PATTERNS")); //$NON-NLS-1$
-    }
-
-    public Control createControl (Composite parent)
-    {
-      composite = getWidgetFactory().createFlatFormComposite(parent);
-      FormData data;
-
-      patternsTable = new PatternsTableViewer(getWidgetFactory().createTable(composite, SWT.MULTI | SWT.FULL_SELECTION));
-      patternsTable.setInput(getInput());
-      Table table = patternsTable.getTable();
-      table.addSelectionListener(this);
-
-      addButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_ADD"), SWT.PUSH); //$NON-NLS-1$
-      editButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_EDIT"), SWT.PUSH); //$NON-NLS-1$
-      deleteButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_INCLUDE"), SWT.PUSH); //$NON-NLS-1$
-
-      data = new FormData();
-      data.left = new FormAttachment(100, -100);
-      data.right = new FormAttachment(100, 0);
-      data.top = new FormAttachment(0, 0);
-      addButton.setLayoutData(data);
-      addButton.addSelectionListener(this);
-
-      data = new FormData();
-      data.left = new FormAttachment(addButton, 0, SWT.LEFT);
-      data.right = new FormAttachment(100, 0);
-      data.top = new FormAttachment(addButton, 0);
-      editButton.setLayoutData(data);
-      editButton.setEnabled(false);
-      editButton.addSelectionListener(this);
-      
-      data = new FormData();
-      data.left = new FormAttachment(addButton, 0, SWT.LEFT);
-      data.right = new FormAttachment(100, 0);
-      data.top = new FormAttachment(editButton, 0);
-      deleteButton.setLayoutData(data);
-      deleteButton.setEnabled(false);
-      deleteButton.addSelectionListener(this);
-      
-      data = new FormData();
-      data.top = new FormAttachment(0, 0);
-      data.left = new FormAttachment(0, 0);
-      data.right = new FormAttachment(addButton, 0);
-      data.bottom = new FormAttachment(100, 0);
-      data.width = tableMinimumWidth;
-      table.setLayoutData(data);
-      table.addListener(SWT.Resize, this);
-      
-      return composite;
-    }
-    
-    public void handleEvent(Event event)
-    {
-      Table table = patternsTable.getTable();
-      if (event.type == SWT.Resize && event.widget == table)
-      {
-        TableColumn tableColumn = table.getColumn(0);
-        tableColumn.setWidth(table.getSize().x);
-      }
-    }
-
-    
-    public void setInput(Object input)
-    {
-      patternsTable.setInput(input);
-      if (isReadOnly)
-      {
-        composite.setEnabled(false);
-      }
-      else
-      {
-        composite.setEnabled(true);
-      }
-    }
-    
-    public void widgetSelected(SelectionEvent e)
-    {
-      XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
-      Element element = st.getElement();
-
-      if (e.widget == addButton)
-      {
-        XSDDOMHelper helper = new XSDDOMHelper();
-        
-        int variety = st.getVariety().getValue();
-        Node varietyElement = null;
-        if (variety == XSDVariety.ATOMIC)
-        {
-          varietyElement = helper.getChildNode(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
-        }
-        else if (variety == XSDVariety.UNION)
-        {
-          varietyElement = helper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
-        }
-        else if (variety == XSDVariety.LIST)
-        {
-          varietyElement = helper.getChildNode(element, XSDConstants.LIST_ELEMENT_TAG);
-        }
-              
-        if (varietyElement != null)
-        {
-          Shell shell = Display.getCurrent().getActiveShell();
-
-          String initialValue = ""; //$NON-NLS-1$
-          RegexWizard wizard = new RegexWizard(initialValue);
-
-          WizardDialog wizardDialog = new WizardDialog(shell, wizard);
-          wizardDialog.setBlockOnOpen(true);
-          wizardDialog.create();
-          
-          int result = wizardDialog.open();
-
-          if (result == Window.OK)
-          {
-            String newPattern = wizard.getPattern();
-            
-            java.util.List attributes = new ArrayList();
-            attributes.add(new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, newPattern));
-            beginRecording(XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_PATTERN"), element); //$NON-NLS-1$
-            Action action = getNewElementAction(XSDConstants.PATTERN_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_PATTERN"), attributes, (Element)varietyElement, null); //$NON-NLS-1$
-            action.run();
-            st.setElement(element);
-            endRecording(element);
-            patternsTable.refresh();
-            attributes = null;
-          }
-        }
-      }
-      else if (e.widget == deleteButton)
-      {
-        StructuredSelection selection = (StructuredSelection)patternsTable.getSelection();
-        if (selection != null)
-        {
-          Iterator i = selection.iterator();
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_INCLUDE"), element); // Reword ?
-          while (i.hasNext())
-          {
-            Object obj = i.next();
-            if (obj != null)
-            {
-              if (obj instanceof XSDPatternFacet)
-              {
-                XSDPatternFacet patternFacet = (XSDPatternFacet)obj;
-      
-                // I have to update using DOM
-                XSDDOMHelper.removeNodeAndWhitespace(patternFacet.getElement());            
-              }
-            }
-          }
-          st.setElement(element);
-          endRecording(element);
-          patternsTable.refresh();
-          if (patternsTable.getTable().getItemCount() == 0)
-          {
-            editButton.setEnabled(false);
-            deleteButton.setEnabled(false);
-          }
-        }
-      }
-      else if (e.widget == editButton)
-      {
-        StructuredSelection selection = (StructuredSelection)patternsTable.getSelection();
-        if (selection != null)
-        {
-          Object obj = selection.getFirstElement();
-          if (obj instanceof XSDPatternFacet)
-          {
-            XSDPatternFacet pattern = (XSDPatternFacet)obj;
-            String initialValue = pattern.getLexicalValue();
-            if (initialValue == null)
-            {
-              initialValue = ""; //$NON-NLS-1$
-            }
-
-            Shell shell = Display.getCurrent().getActiveShell();
-
-            RegexWizard wizard = new RegexWizard(initialValue);
-
-            WizardDialog wizardDialog = new WizardDialog(shell, wizard);
-            wizardDialog.setBlockOnOpen(true);
-            wizardDialog.create();
-            
-            int result = wizardDialog.open();
-
-            if (result == Window.OK)
-            {
-              String newPattern = wizard.getPattern();
-              beginRecording(XSDEditorPlugin.getXSDString("_UI_PATTERN_VALUE_CHANGE"), element); //$NON-NLS-1$
-              element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, newPattern);
-              pattern.setLexicalValue(newPattern);
-              endRecording(element);
-              patternsTable.refresh();
-            }
-          }
-        }
-      }
-      else if (e.widget == patternsTable.getTable())
-      {
-        StructuredSelection selection = (StructuredSelection)patternsTable.getSelection();
-        if (selection.getFirstElement() != null)
-        {
-          editButton.setEnabled(true);
-          deleteButton.setEnabled(true);
-        }
-        else
-        {
-          editButton.setEnabled(false);
-          deleteButton.setEnabled(false);
-        }
-      }
-      
-    }
-
-    public void widgetDefaultSelected(SelectionEvent e)
-    {
-      
-    }
-  }
-
-  
-  class PatternsTableViewer extends NavigableTableViewer implements ICellModifier
-  {
-    protected String[] columnProperties = {"Pattern"};
-
-    protected CellEditor[] cellEditors;
-
-    Table table;
-    
-    public PatternsTableViewer(Table table)
-    {
-      super(table);
-      table = getTable();
-      
-      table.setLinesVisible(true);
-      
-      setContentProvider(new PatternsTableContentProvider());
-      setLabelProvider(new PatternsTableLabelProvider());
-      setColumnProperties(columnProperties);
-
-      setCellModifier(this);
-
-      TableColumn column = new TableColumn(table, SWT.NONE, 0);
-      column.setText(columnProperties[0]);
-      column.setAlignment(SWT.LEFT);
-      column.setResizable(true);
- 
-      cellEditors = new CellEditor[1];
-
-      TableLayout layout = new TableLayout();
-      ColumnWeightData data = new ColumnWeightData(100);
-      layout.addColumnData(data);
-      cellEditors[0] = new TextCellEditor(table);
-
-      getTable().setLayout(layout);
-      setCellEditors(cellEditors);
-    }
-    
-    public boolean canModify(Object element, String property)
-    {
-      return true;
-    }
-
-    public void modify(Object element, String property, Object value)
-    {
-      if (element instanceof TableItem && (value != null))
-      {
-        TableItem item = (TableItem)element;
-        
-        Element simpleTypeElement = ((XSDSimpleTypeDefinition)getInput()).getElement();
-        FacetsSection.this.beginRecording(XSDEditorPlugin.getXSDString("_UI_PATTERN_VALUE_CHANGE"), simpleTypeElement); //$NON-NLS-1$
-        
-        XSDPatternFacet patternFacet = (XSDPatternFacet)item.getData();
-        patternFacet.setLexicalValue((String)value);
-
-        item.setData(patternFacet);
-        item.setText((String)value);
-        FacetsSection.this.endRecording(simpleTypeElement);
-      }
-    }    
-
-    public Object getValue(Object element, String property)
-    {
-      if (element instanceof XSDPatternFacet)
-      {
-        XSDPatternFacet patternFacet = (XSDPatternFacet)element;
-        String value = patternFacet.getLexicalValue();
-        if (value == null) value = ""; //$NON-NLS-1$
-        return value;
-      }
-      return ""; //$NON-NLS-1$
-    }
-
-  }
-    
-  class PatternsTableContentProvider implements IStructuredContentProvider
-  {
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-    {
-    }
-
-    public java.lang.Object[] getElements(java.lang.Object inputElement)
-    {
-      java.util.List list = new ArrayList();
-      if (inputElement instanceof XSDSimpleTypeDefinition)
-      {
-        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)inputElement;
-        return st.getPatternFacets().toArray();
-      }
-      return list.toArray();
-    }
-
-    public void dispose()
-    {
-    }
-  }
-
-  class PatternsTableLabelProvider extends LabelProvider implements ITableLabelProvider
-  {
-    public PatternsTableLabelProvider()
-    {
-      
-    }
-    
-    public Image getColumnImage(Object element, int columnIndex)
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDSimplePattern.gif"); //$NON-NLS-1$
-    }
-    
-    public String getColumnText(Object element, int columnIndex)
-    {
-      if (element instanceof XSDPatternFacet)
-      {
-        XSDPatternFacet pattern = (XSDPatternFacet)element;
-        String value = pattern.getLexicalValue();
-        if (value == null) value = ""; //$NON-NLS-1$
-        return value;
-      }
-      return ""; //$NON-NLS-1$
-    }
-
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSectionDescriptor.java
deleted file mode 100644
index c5f9d1f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/FacetsSectionDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-
-public class FacetsSectionDescriptor extends AbstractSectionDescriptor
-{
-
-  /**
-   * 
-   */
-  public FacetsSectionDescriptor()
-  {
-    super();
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.facets";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDSimpleTypeDefinition.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new FacetsSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.facets";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDSimpleTypeDefinition)
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSection.java
deleted file mode 100644
index 4596281..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSection.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class MinMaxSection extends AbstractSection
-{
-  CCombo minCombo;
-  CCombo maxCombo;
-
-  /**
-   * 
-   */
-  public MinMaxSection()
-  {
-    super();
-  }
-
-
-  public void doHandleEvent(Event event)
-	{
-    if (event.widget == minCombo)
-    {
-      updateMinAttribute();
-	  }
-	  else if (event.widget == maxCombo)
-	  {
-      updateMaxAttribute();
-	  }
-	}
-  
-  public void doWidgetSelected(SelectionEvent e)
-  {
-    if (e.widget == minCombo)
-    {
-      updateMinAttribute();
-    }
-    else if (e.widget == maxCombo)
-    {
-      updateMaxAttribute();
-    }
-  }
-
-  private void updateMinAttribute()
-  {
-    XSDParticle particle = null;
-    Object input = getInput();
-
-    if (input instanceof XSDParticleContent)
-    {
-      particle = getAssociatedParticle((XSDParticleContent)input);
-    }
-    if (particle != null)
-    {
-      Element element = particle.getElement();
-      String newValue = ""; //$NON-NLS-1$
-      String id = ""; //$NON-NLS-1$
-
-      newValue = minCombo.getText();
-      id = XSDConstants.MINOCCURS_ATTRIBUTE;
-      beginRecording(XSDEditorPlugin.getXSDString("_UI_MINOCCURS_CHANGE"), element); //$NON-NLS-1$        
-      if (newValue.length()==0)
-      {
-        particle.unsetMinOccurs();
-      }
-      try
-      {
-        if (newValue.equals("unbounded") || newValue.equals("*")) //$NON-NLS-1$
-        {
-          particle.setMinOccurs(XSDParticle.UNBOUNDED);
-        }
-        else
-        {
-          int val = Integer.parseInt(newValue);
-          particle.setMinOccurs(val);
-        }
-      }
-      catch (NumberFormatException e)
-      {
-      
-      }
-      finally
-      { 
-        endRecording(element);
-      }
-    }
-  }
-  
-  private void updateMaxAttribute()
-  {
-    XSDParticle particle = null;
-    Object input = getInput();
-
-    if (input instanceof XSDParticleContent)
-    {
-      particle = getAssociatedParticle((XSDParticleContent)input);
-    }
-    if (particle != null)
-    {
-      Element element = particle.getElement();
-      String newValue = "";
-      String id = "";
-      newValue = maxCombo.getText();
-      id = XSDConstants.MAXOCCURS_ATTRIBUTE;
-      beginRecording(XSDEditorPlugin.getXSDString("_UI_MAXOCCURS_CHANGE"), element); //$NON-NLS-1$
-      if (newValue.length()==0)
-      {
-        particle.unsetMaxOccurs();
-      }
-      try
-      {
-        if (newValue.equals("unbounded") || newValue.equals("*")) //$NON-NLS-1$
-        {
-          particle.setMaxOccurs(XSDParticle.UNBOUNDED);
-        }
-        else
-        {
-          int val = Integer.parseInt(newValue);
-            particle.setMaxOccurs(val);
-        }
-      }
-      catch (NumberFormatException e)
-      {
-        
-      }
-      finally
-      {
-        endRecording(element);
-      }
-    }    
-  }
-  
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-
-	public void createControls(Composite parent,TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		composite =	getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-    minCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
-    data = new FormData();
-    data.left = new FormAttachment(0, 100);
-    data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-    data.top = new FormAttachment(0, 0);
-    minCombo.setLayoutData(data);
-    minCombo.add("0"); //$NON-NLS-1$
-    minCombo.add("1"); //$NON-NLS-1$
-    minCombo.addListener(SWT.Modify, this);
-    minCombo.addSelectionListener(this);
-    
-		CLabel minLabel = getWidgetFactory().createCLabel(composite, XSDConstants.MINOCCURS_ATTRIBUTE + ":");
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(minCombo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(minCombo, 0, SWT.CENTER);
-		minLabel.setLayoutData(data);
-
-    maxCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
-    data = new FormData();
-    data.left = new FormAttachment(0, 100);
-    data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-    data.top = new FormAttachment(minCombo, +ITabbedPropertyConstants.VSPACE);
-    maxCombo.setLayoutData(data);
-    maxCombo.add("0"); //$NON-NLS-1$
-    maxCombo.add("1"); //$NON-NLS-1$
-    maxCombo.add("unbounded"); //$NON-NLS-1$
-    maxCombo.addListener(SWT.Modify, this);
-    maxCombo.addSelectionListener(this);
-    
-		CLabel maxLabel = getWidgetFactory().createCLabel(composite, XSDConstants.MAXOCCURS_ATTRIBUTE + ":");
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(maxCombo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(maxCombo, 0, SWT.CENTER);
-		maxLabel.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-    if (doRefresh)
-    {
-      if (isReadOnly)
-      {
-        composite.setEnabled(false);
-      }
-      else
-      {
-        composite.setEnabled(true);
-      }
-
-  	  setListenerEnabled(false);
-      boolean refreshMinText = true;
-      boolean refreshMaxText = true;
-      if (minCombo.isFocusControl())
-      {
-        refreshMinText = false;
-      }
-      if (maxCombo.isFocusControl())
-      {
-        refreshMaxText = false;
-      }
-      if (refreshMinText)
-      {
-        minCombo.setText(""); //$NON-NLS-1$
-      }
-      if (refreshMaxText)
-      {
-        maxCombo.setText(""); //$NON-NLS-1$
-      }
-  	  Object input = getInput();
-  	  if (input != null)
-  	  {
-  	    if (input instanceof XSDParticleContent)
-  	    {
-  		    XSDParticle particle = getAssociatedParticle((XSDParticleContent)input);
-  		    if (particle != null)
-  		    {
-  //  	      minText.setText(String.valueOf(particle.getMinOccurs()));
-  //	        maxText.setText(String.valueOf(particle.getMaxOccurs()));
-            Element element = particle.getElement();
-  		      if (element != null)
-  		      {
-  		        String min = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-  		        String max = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-  		        if (min != null && refreshMinText)
-  		        {
-  		          minCombo.setText(min);
-  		        }
-  		        if (max != null && refreshMaxText)
-  		        {
-  		          maxCombo.setText(max);
-  		        }
-  		      }
-  		    }
-  	    }
-  	  }
-  	  setListenerEnabled(true);
-    }
-	}
-	
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-
-  private XSDParticle getAssociatedParticle(XSDParticleContent particleContent)
-  {
-    XSDConcreteComponent xsdComp = particleContent.getContainer();
-    if (xsdComp instanceof XSDParticle)
-    {
-      return (XSDParticle)xsdComp;
-    }
-    return null;
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSectionDescriptor.java
deleted file mode 100644
index 80b5f42..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/MinMaxSectionDescriptor.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDWildcard;
-
-public class MinMaxSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public MinMaxSectionDescriptor()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.minmax";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDElementDeclaration.class);
-    list.add(XSDModelGroup.class);
-    list.add(XSDWildcard.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new MinMaxSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-//      if (object instanceof XSDElementDeclaration)
-//      {
-//        Element element = ((XSDElementDeclaration)object).getElement();
-//        Object parentNode = element.getParentNode();
-//        // minOccurs and maxOccurs apply to non-global elements
-//        boolean isGlobalElement = XSDDOMHelper.inputEquals(parentNode, XSDConstants.SCHEMA_ELEMENT_TAG, false);
-//        return !isGlobalElement;
-//      }
-//      if (object instanceof XSDParticle)
-//      {
-//        XSDParticle particle = (XSDParticle)object;
-//        Element element = particle.getElement();
-//        if (inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-//        {
-//          return true;
-//        }
-//        else if (inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, true))
-//        {
-//          return false;
-//        }
-//        else
-//        {
-//          return true;
-//        }
-//      }
-      if (object instanceof XSDModelGroup)
-      {
-        return true;
-      }
-      else if (object instanceof XSDElementDeclaration)
-      {
-        XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)object;
-        if (xsdElementDeclaration.isGlobal())
-        {
-          return false;
-        }
-        else
-        {
-          return true;
-        }
-      }
-      else if (object instanceof XSDWildcard)
-      {
-        XSDWildcard wildcard = (XSDWildcard)object;
-        if (wildcard.getContainer() instanceof XSDComplexTypeDefinition ||
-            wildcard.getContainer() instanceof XSDAttributeGroupDefinition)
-        {
-          return false;
-        }
-        else
-        {
-          return true;
-        }
-      }
-    }
-    return false;
-  }
-  
-  public String getAfterSection()
-  {
-    return "org.eclipse.wst.wsdleditor.section.reference";
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSection.java
deleted file mode 100644
index c5e62d8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSection.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDModelGroup;
-import org.w3c.dom.Element;
-
-public class ModelGroupSection extends AbstractSection
-{
-  CCombo modelGroupCombo;
-  private String[] modelGroupComboValues = { "sequence", "choice", "all" }; //$NON-NLS-1$
-  
-  /**
-   * 
-   */
-  public ModelGroupSection()
-  {
-    super();
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		composite = getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		modelGroupCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-		data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(0, 0);
-		modelGroupCombo.setLayoutData(data);
-		modelGroupCombo.addSelectionListener(this);
-		modelGroupCombo.setItems(modelGroupComboValues);
-
-		CLabel cLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_KIND")); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(modelGroupCombo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(modelGroupCombo, 0, SWT.CENTER);
-		cLabel.setLayoutData(data);
-
-	}
- 	
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-	  setListenerEnabled(false);
-    if (isReadOnly)
-    {
-      composite.setEnabled(false);
-    }
-    else
-    {
-      composite.setEnabled(true);
-    }
-	  Object input = getInput();
-	  if (input != null)
-	  {
-      if (input instanceof XSDModelGroup)
-	    {
-	      XSDModelGroup particle = (XSDModelGroup)input;
-	      String modelType = particle.getCompositor().getName();
-	      modelGroupCombo.setText(modelType);
-	    }
-	  }
-	  setListenerEnabled(true);
-	}
-
-  public void widgetSelected(SelectionEvent e)
-  {
-    if (e.widget == modelGroupCombo)
-    {
-      Object input = getInput();
-	    if (input instanceof XSDModelGroup)
-	    {
-	      XSDModelGroup particle = (XSDModelGroup)input;
-
-        Element element = particle.getElement();
-        Element parent = (Element)element.getParentNode();
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_SCOPE_CHANGE"), parent); //$NON-NLS-1$
-//        changeContentModel(parent, modelGroupCombo.getText());
-        particle.setCompositor(XSDCompositor.get(modelGroupCombo.getText()));      
-        endRecording(parent);
-        refresh();
-	    }
-    }
-  }
-
-//  private void changeContentModel(Element parent, String contentModel)
-//  {
-//    Document doc = parent.getOwnerDocument();
-//    XSDDOMHelper domHelper = getDomHelper();
-//  
-//    String prefix = parent.getPrefix();
-//    prefix = prefix == null ? "" : prefix + ":";
-//    
-//    Element contentModelElement = domHelper.getContentModelFromParent(parent);
-//  
-//    if (contentModelElement.getLocalName().equals(contentModel))
-//    {
-//      return; // it's already the content model 
-//    }
-//  
-//    Element newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + contentModel);
-//  
-//    if (contentModelElement.hasChildNodes())
-//    {        
-//      NodeList nodes = contentModelElement.getChildNodes();
-//      // use clones so we don't have a refresh problem
-//      for (int i = 0; i < nodes.getLength(); i++)
-//      {
-//        Node node = nodes.item(i);
-//        newNode.appendChild(node.cloneNode(true)); 
-//      }
-//    }
-//    parent.replaceChild(newNode, contentModelElement);
-//  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSectionDescriptor.java
deleted file mode 100644
index 4f1a091..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ModelGroupSectionDescriptor.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDModelGroup;
-
-public class ModelGroupSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public ModelGroupSectionDescriptor()
-  {
-    super();
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.modelgroup";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDModelGroup.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new ModelGroupSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-//      if (object instanceof XSDParticle)
-//      {
-//        XSDParticle particle = (XSDParticle)object;
-//        Element element = particle.getElement();
-//        if (inputEquals(element, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
-//            inputEquals(element, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
-//            inputEquals(element, XSDConstants.ALL_ELEMENT_TAG, false))
-//        {
-//          return true;
-//        }
-//      }
-      if (object instanceof XSDModelGroup)
-      {
-        XSDModelGroup particle = (XSDModelGroup)object;
-//        Element element = particle.getElement();
-//        if (inputEquals(element, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
-//            inputEquals(element, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
-//            inputEquals(element, XSDConstants.ALL_ELEMENT_TAG, false))
-//        {
-          return true;
-//        }
-      }
-    }
-    return false;
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSection.java
deleted file mode 100644
index bdfc606..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSection.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalAttributeGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalAttributeRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalElementRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalGroupRenamer;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.GlobalSimpleOrComplexTypeRenamer;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class NameSection extends AbstractSection
-{
-  /**
-   * 
-   */
-  public NameSection()
-  {
-    super();
-  }
-  
-	Text nameText;
-
-	
-  public void doHandleEvent(Event event) 
-  {
-    if (event.widget == nameText)
-	  {
-			Object input = getInput();
-      String newValue = nameText.getText();
-	    if (input instanceof XSDNamedComponent)
-	    {
-	      XSDNamedComponent namedComponent = (XSDNamedComponent)input;
-	      if (newValue.length() > 0)
-	      {
-	        namedComponent.setName(newValue);
-          doReferentialIntegrityCheck(namedComponent, newValue);
-	      }
-	      else
-	      {
-          // TODO: Show error message
-	      }
-	    }
-//	    else if (input instanceof XSDParticle)
-//	    {
-//	      XSDParticle xsdParticle = (XSDParticle)input;
-//	      if (newValue.length() > 0)
-//	      {
-//	        doReferentialIntegrityCheck(xsdParticle, newValue);
-//	      }
-//	      else
-//	      {
-//	        // TODO: Show error message
-//	      }
-//	    }
-      else if (input instanceof XSDAttributeDeclaration)
-      {
-        XSDAttributeDeclaration attribute = (XSDAttributeDeclaration)input;
-	      if (newValue.length() > 0)
-	      {
-	        doReferentialIntegrityCheck(attribute, newValue);
-	        attribute.setName(newValue);
-	      }
-	      else
-	      {
-	        // TODO: Show error message
-	      }
-      }
-	    else if (input instanceof XSDAttributeUse)
-      {
-        XSDAttributeUse attributeUse = (XSDAttributeUse)input;
-        XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
-	      if (newValue.length() > 0)
-	      {
-	        doReferentialIntegrityCheck(attribute, newValue);
-	        attribute.setName(newValue);
-	        attributeUse.setAttributeDeclaration(attribute);
-	      }
-	      else
-	      {
-          // TODO: Show error message
-	      }
-      }
-	  }
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		composite =	getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-		// data.right = new FormAttachment(95, 0);
-    data.right = new FormAttachment(100, -rightMarginSpace -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(0, 0);
-		nameText.setLayoutData(data);
-		nameText.addListener(SWT.Modify, this);
-
-		CLabel nameLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_NAME")); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(nameText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(nameText, 0, SWT.CENTER);
-		nameLabel.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-    if (nameText.isFocusControl())
-    {
-      return;
-    }
-    setListenerEnabled(false);
-    nameText.setEditable(true);
-    if (isReadOnly)
-    {
-      composite.setEnabled(false);
-    }
-    else
-    {
-      composite.setEnabled(true);
-    }
-	  Object input = getInput();
-	  nameText.setText(""); //$NON-NLS-1$
-	  if (input != null)
-	  {
-	    if (input instanceof XSDComplexTypeDefinition || input instanceof XSDSimpleTypeDefinition)
-	    {
-	      XSDTypeDefinition type = (XSDTypeDefinition)input;
-	      
-	      Element element = type.getElement();
-        String name = element.getAttribute(XSDConstants.NAME_ATTRIBUTE);
-        if (name == null) name = "";
-        
-        boolean isAnonymousType = checkForAnonymousType(element);
-        if (isAnonymousType)
-        {
-          nameText.setText("**anonymous**"); //$NON-NLS-1$
-          nameText.setEditable(false);
-        }
-        else
-        {
-          nameText.setText(name);
-          nameText.setEditable(true);
-        }
-	    }
-	    else if (input instanceof XSDNamedComponent)
-	    {
-	      XSDNamedComponent namedComponent = (XSDNamedComponent)input;
-	      Element element = namedComponent.getElement();
-        String name = namedComponent.getName();
-	      if (name != null)
-	      {
-	        nameText.setText(name);
-	      }
-	    }
-//	    else if (input instanceof XSDParticle)
-//	    {
-//	      XSDParticle xsdParticle = (XSDParticle)input;
-//	      String name = xsdParticle.getElement().getAttribute(XSDConstants.NAME_ATTRIBUTE);
-//	      if (name != null)
-//	      {
-//	        nameText.setText(name);
-//	      }
-//	    }
-      else if (input instanceof XSDAttributeDeclaration)
-      {
-        XSDAttributeDeclaration attribute = (XSDAttributeDeclaration)input;
-        //String name = attribute.getName();
-        Element element = attribute.getElement();
-        String name = element.getAttribute(XSDConstants.NAME_ATTRIBUTE);
-        if (name != null)
-	      {
-	        nameText.setText(name);
-	      }
-      }
-	    else if (input instanceof XSDAttributeUse)
-      {
-        XSDAttributeUse attributeUse = (XSDAttributeUse)input;
-        XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
-        String name = attribute.getName();
-        if (name != null)
-	      {
-	        nameText.setText(name);
-	      }
-      }
-//	    else if (input instanceof Element)
-//	    {
-//	      String name = ((Element)input).getAttribute(XSDConstants.NAME_ATTRIBUTE);
-//	      if (name == null) name = "";
-//	      nameText.setText(name);
-//	    }
-	  }
-	  setListenerEnabled(true);
-	}
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-   */
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-
-	private void doReferentialIntegrityCheck(XSDComponent xsdComponent, String newValue)
-	{
-    Element element = xsdComponent.getElement();
-    if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-    {
-      if (validateName(newValue))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_NAME_CHANGE"), element); //$NON-NLS-1$
-        element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-        if (xsdComponent instanceof XSDNamedComponent)
-        {
-          ((XSDNamedComponent)xsdComponent).setName(newValue);
-        }
-        
-        // now rename any references to this element
-       
-        if (xsdSchema != null)
-        {
-          XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-          if (comp != null && comp instanceof XSDElementDeclaration && comp.getContainer().equals(xsdSchema))
-          {
-            GlobalElementRenamer renamer = new GlobalElementRenamer((XSDNamedComponent)comp, newValue);
-            renamer.visitSchema(xsdSchema);
-          }
-        }        
-        endRecording(element);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-    {
-      if (validateName(newValue))
-      {
-	      beginRecording(XSDEditorPlugin.getXSDString("_UI_COMPLEXTYPE_NAME_CHANGE"), element); //$NON-NLS-1$
-	      if (newValue.length() > 0)
-	      {
-	        // now rename any references to this type
-	        if (xsdSchema != null)
-	        {
-	          XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-	          if (comp != null && comp instanceof XSDComplexTypeDefinition && comp.getContainer().equals(xsdSchema))
-	          {
-	            GlobalSimpleOrComplexTypeRenamer renamer = new GlobalSimpleOrComplexTypeRenamer((XSDNamedComponent)comp, newValue);
-	            renamer.visitSchema(xsdSchema);
-	          }
-	        }
-	        element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-	        ((XSDNamedComponent)xsdComponent).setName(newValue);
-	      }
-	      else
-	      {
-	        element.removeAttribute(XSDConstants.NAME_ATTRIBUTE);
-	      }
-      endRecording(element);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-    {
-      beginRecording(XSDEditorPlugin.getXSDString("_UI_SIMPLETYPE_NAME_CHANGE"), element);
-      if (validateName(newValue))
-      {
-        // now rename any references to this type
-        if (newValue.length() > 0)
-        {
-          if (xsdSchema != null)
-          {
-            XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-            if (comp != null && comp instanceof XSDSimpleTypeDefinition && comp.getContainer().equals(xsdSchema))
-            {
-              GlobalSimpleOrComplexTypeRenamer renamer = new GlobalSimpleOrComplexTypeRenamer((XSDNamedComponent)comp, newValue);
-              renamer.visitSchema(xsdSchema);
-            }
-          }
-//          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-        }
-        else
-        {
-          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, "");
-        }
-      }
-      endRecording(element);
-
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
-    {  
-      beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_NAME_CHANGE"), element); //$NON-NLS-1$
-      // now rename any references to this element
-      if (xsdSchema != null)
-       {
-        XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-        if (comp != null && comp instanceof XSDAttributeDeclaration && comp.getContainer().equals(xsdSchema))
-        {
-          GlobalAttributeRenamer renamer = new GlobalAttributeRenamer((XSDNamedComponent)comp, newValue);
-          renamer.visitSchema(xsdSchema);
-        }
-      }
-      // element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-      endRecording(element);
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false))
-    {  
-      beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_NAME_CHANGE"), element); //$NON-NLS-1$
-      ((XSDNamedComponent)xsdComponent).setName(newValue);
-      // now rename any references to this element
-      if (xsdSchema != null)
-      {
-        XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-        if (comp != null && comp instanceof XSDAttributeGroupDefinition && comp.getContainer().equals(xsdSchema))
-        {
-          GlobalAttributeGroupRenamer renamer = new GlobalAttributeGroupRenamer((XSDNamedComponent)comp, newValue);
-          renamer.visitSchema(xsdSchema);
-        }
-      }
-      endRecording(element);
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.UNIQUE_ELEMENT_TAG, false))
-    {
-      if (validateName(newValue))
-       {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_UNIQUE_NAME_CHANGE"), element); //$NON-NLS-1$
-        if (newValue.length() > 0)
-        {
-          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-        }
-        else
-        {
-          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, ""); //$NON-NLS-1$
-        }
-        endRecording(element);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.KEY_ELEMENT_TAG, false))
-    {
-      if (validateName(newValue))
-      {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_KEY_NAME_CHANGE"), element); //$NON-NLS-1$
-        if (newValue.length() > 0)
-        {
-          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-        }
-        else
-        {
-          element.setAttribute(XSDConstants.NAME_ATTRIBUTE, ""); //$NON-NLS-1$
-        }
-        endRecording(element);
-      }
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.GROUP_ELEMENT_TAG, false))
-    {
-      if (validateName(newValue))
-       {
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_NAME_CHANGE"), element); //$NON-NLS-1$
-        // now rename any references to this element
-        if (xsdSchema != null)
-         {
-          XSDConcreteComponent comp = xsdSchema.getCorrespondingComponent(element);
-          if (comp != null && comp instanceof XSDModelGroupDefinition && comp.getContainer().equals(xsdSchema))
-          {
-            GlobalGroupRenamer renamer = new GlobalGroupRenamer((XSDNamedComponent)comp, newValue);
-            renamer.visitSchema(xsdSchema);
-          }
-        }
-        element.setAttribute(XSDConstants.NAME_ATTRIBUTE, newValue);
-        endRecording(element);
-      }
-      
-    }
-    
-
-
-	}
-
-  boolean checkForAnonymousType(Element element)
-  {
-    Object parentElement = (Object)element.getParentNode();
-    boolean isAnonymous = false;
-    if (parentElement != null)
-    {
-      if (XSDDOMHelper.inputEquals(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-      {
-        if (XSDDOMHelper.inputEquals(parentElement, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-        {
-          isAnonymous = true; 
-        }
-      }
-      else if (XSDDOMHelper.inputEquals(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-      {
-        if (XSDDOMHelper.inputEquals(parentElement, XSDConstants.RESTRICTION_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals(parentElement, XSDConstants.ELEMENT_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals(parentElement, XSDConstants.UNION_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals(parentElement, XSDConstants.LIST_ELEMENT_TAG, false) ||
-            XSDDOMHelper.inputEquals(parentElement, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
-        {
-          isAnonymous = true;
-        }
-      }
-    }
-    return isAnonymous;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSectionDescriptor.java
deleted file mode 100644
index f2f7144..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NameSectionDescriptor.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.wst.common.ui.properties.ISectionDescriptor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class NameSectionDescriptor extends AbstractSectionDescriptor implements ISectionDescriptor
-{
-  /**
-   * 
-   */
-  public NameSectionDescriptor()
-  {
-    super();
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.name";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDNamedComponent.class);
-    list.add(XSDAttributeUse.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new NameSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDNamedComponent)
-      {
-        XSDNamedComponent namedComponent = (XSDNamedComponent)object;
-        Element element = namedComponent.getElement();
-        
-        if (inputEquals(element, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false) ||
-            inputEquals(element, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-        {
-          return false;
-        }
-        
-        // don't want to show editable name section for ref's
-        // need to show ref section with a combobox
-        
-        if (namedComponent instanceof XSDElementDeclaration)
-        {
-          if (((XSDElementDeclaration)namedComponent).isElementDeclarationReference())
-          {
-            return false;
-          }
-          else
-          {
-            return true;
-          }
-        }
-        else if (namedComponent instanceof XSDAttributeDeclaration)
-        {
-          if (((XSDAttributeDeclaration)namedComponent).isAttributeDeclarationReference())
-          {
-            return false;
-          }
-          else
-          {
-            return true;
-          }
-        }
-
-        if (element != null)
-        {
-          if (inputEquals(element, element.getLocalName(), true))
-          {
-            return false;
-          }
-          else
-          {
-            return true;
-          }
-        }
-      }
-//      else if (object instanceof XSDParticle)
-//      {
-//        XSDParticle particle = (XSDParticle)object;
-//        Element element = particle.getElement();
-//        if (inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-//        {
-//          return true;
-//        }
-//        else if (inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, true))
-//        {
-//          return false;
-//        }
-//        else
-//        {
-//          return false;
-//        }
-//      }
-      else if (object instanceof XSDAttributeUse)
-      {
-        XSDAttributeUse attributeUse = (XSDAttributeUse)object;
-        XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
-        Element element = attributeUse.getElement();
-        if (inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
-        {
-          return true;
-        }
-        else
-        {
-          return false;
-        }
-      }
-
-    }
-
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationDescriptor.java
deleted file mode 100644
index 5a47fa8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDImport;
-
-public class NamespaceAndSchemaLocationDescriptor extends AbstractSectionDescriptor
-{
-	  NamespaceAndSchemaLocationSection namespaceAndSchemaLocationSection;
-	  /**
-	   * 
-	   */
-	  public NamespaceAndSchemaLocationDescriptor()
-	  {
-	    super();
-	    namespaceAndSchemaLocationSection = new NamespaceAndSchemaLocationSection();
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-	   */
-	  public String getId()
-	  {
-	    return "com.ibm.xsdeditor.section.namespaceAndSchemaLocationSection";
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-	   */
-	  public List getInputTypes()
-	  {
-	    List list = new ArrayList();
-	    list.add(XSDConcreteComponent.class);
-	    return list;
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-	   */
-	  public ISection getSectionClass()
-	  {
-	    return namespaceAndSchemaLocationSection;
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-	   */
-	  public String getTargetTab()
-	  {
-	    return "com.ibm.xmlwebservices.general";
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	   */
-	  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-	  {
-	    Object object = null;	    
-	    
-	    if (selection instanceof StructuredSelection)
-	    {
-	      StructuredSelection structuredSelection = (StructuredSelection)selection;
-	      object = structuredSelection.getFirstElement();
-	      if (object instanceof XSDImport) {
-		    return true;
-	      }
-	    }
-	    
-	    return false;
-	  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationSection.java
deleted file mode 100644
index a0b782b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceAndSchemaLocationSection.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.viewers.ResourceFilter;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.XSDExternalFileCleanup;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.wst.xsd.ui.internal.wizards.XSDSelectIncludeFileWizard;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.impl.XSDImportImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class NamespaceAndSchemaLocationSection extends CommonDirectivesSection
-{
-	Text namespaceText, prefixText;
-  protected String oldPrefixValue;
-	  
-	public NamespaceAndSchemaLocationSection()
-  {
-		super();
-	}
-	
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-
-		CLabel namespaceLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_NAMESPACE")); //$NON-NLS-1$
-    namespaceText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
-		namespaceText.setEditable(false);
-
-    FormData data = new FormData();
-    data.left = new FormAttachment(0, 0);
-    data.right = new FormAttachment(namespaceText, +ITabbedPropertyConstants.HSPACE);
-    data.top = new FormAttachment(namespaceText, 0, SWT.CENTER);
-    namespaceLabel.setLayoutData(data);
-    
-    data = new FormData();
-    data.left = new FormAttachment(0, 110);
-    data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-    data.top = new FormAttachment(0, 0);
-    namespaceText.setLayoutData(data);
-    
-		CLabel prefixLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_PREFIX")); //$NON-NLS-1$				
-		prefixText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
-		prefixText.setEditable(true);
-    prefixText.addListener(SWT.Modify, this);
-
-    data = new FormData();
-    data.left = new FormAttachment(0, 0);
-    data.right = new FormAttachment(prefixText, 0);
-    data.top = new FormAttachment(prefixText, 0, SWT.CENTER);
-    prefixLabel.setLayoutData(data);  
-    
-		data = new FormData();
-		data.left = new FormAttachment(0, 110);
-		data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(namespaceText, +ITabbedPropertyConstants.VSPACE);
-		prefixText.setLayoutData(data);
-   
-		// Create Schema Location Label
-		CLabel schemaLocationLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_LOCATION")); //$NON-NLS-1$
-    schemaLocationText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
-
-		// Create Wizard Button
-		wizardButton = getWidgetFactory().createButton(composite, "", SWT.NONE); //$NON-NLS-1$
-    wizardButton.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
-		FormData buttonFormData = new FormData();
-		buttonFormData.left = new FormAttachment(100, -rightMarginSpace + 2);
-		buttonFormData.right = new FormAttachment(100, 0);
-		buttonFormData.top = new FormAttachment(schemaLocationText, 0, SWT.CENTER);
-		wizardButton.setLayoutData(buttonFormData);
-		wizardButton.addSelectionListener(this);
-		
-		// Create Schema Location Text
-		schemaLocationText.setEditable(true);
-		FormData schemaLocationData = new FormData();
-		schemaLocationData.left = new FormAttachment(0, 110);
-		schemaLocationData.right = new FormAttachment(wizardButton, 0);
-		schemaLocationData.top = new FormAttachment(prefixText, +ITabbedPropertyConstants.VSPACE);
-		schemaLocationText.setLayoutData(schemaLocationData);
-		schemaLocationText.addListener(SWT.Modify, this);
-    
-    data = new FormData();
-    data.left = new FormAttachment(0, 0);
-    data.right = new FormAttachment(schemaLocationText, 0);
-    data.top = new FormAttachment(schemaLocationText, 0, SWT.CENTER);
-    schemaLocationLabel.setLayoutData(data);
-    
-    // error text
-    errorText = new StyledText(composite, SWT.FLAT);
-    errorText.setEditable(false);
-    errorText.setEnabled(false);
-    errorText.setText("");
-    
-    data = new FormData();
-    data.left = new FormAttachment(schemaLocationText, 0, SWT.LEFT);
-    data.right = new FormAttachment(100, 0);
-    data.top = new FormAttachment(schemaLocationText, 0);
-    errorText.setLayoutData(data);
-  }
-	
-	public void widgetSelected(SelectionEvent event)
-  {
-		if (event.widget == wizardButton)
-    {
-      setListenerEnabled(false);
-			Shell shell = Display.getCurrent().getActiveShell();
-		    
-			IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
-			ViewerFilter filter = new ResourceFilter(new String[] { ".xsd" }, //$NON-NLS-1$ 
-		            new IFile[] { currentIFile },
-		            null);
-		      
-			XSDSelectIncludeFileWizard fileSelectWizard = 
-			   new XSDSelectIncludeFileWizard(xsdSchema, 
-                                        false,
-			                                  XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_SCHEMA"), //$NON-NLS-1$
-			                                  XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_DESC"), //$NON-NLS-1$
-			                                  filter,
-			                                  (IStructuredSelection) selection);
-
-			WizardDialog wizardDialog = new WizardDialog(shell, fileSelectWizard);
-			wizardDialog.create();
-			wizardDialog.setBlockOnOpen(true);
-			int result = wizardDialog.open();
-			  
-		  String value = schemaLocationText.getText();
-      prefixText.removeListener(SWT.Modify, this);
-		  if (result == Window.OK)
-		  {
-        IFile selectedIFile = fileSelectWizard.getResultFile();
-        String schemaFileString = value;
-        if (selectedIFile != null) 
-        {
-          schemaFileString = URIHelper.getRelativeURI(selectedIFile.getLocation(), currentIFile.getLocation());
-        }
-        else
-        {
-          schemaFileString = fileSelectWizard.getURL();
-        }
-
-        String namespace = fileSelectWizard.getNamespace();
-        if (namespace == null) namespace = "";
-
-        XSDSchema externalSchema = fileSelectWizard.getExternalSchema();
-        handleSchemaLocationChange(schemaFileString, namespace, externalSchema);
-		  }
-      setListenerEnabled(true);
-      prefixText.addListener(SWT.Modify, this);
-		}
-	}
-
-  protected void handleSchemaLocationChange(String schemaFileString, String namespace, XSDSchema externalSchema)
-  {
-    XSDConcreteComponent comp = (XSDConcreteComponent)getInput();
-    if (comp instanceof XSDImport)
-    {
-      XSDImport xsdImport = (XSDImport)comp;
-      Element importElement = comp.getElement();
-      
-      beginRecording(XSDEditorPlugin.getXSDString("_UI_IMPORT_CHANGE"), importElement);
-
-      xsdImport.setNamespace(namespace);
-      xsdImport.setSchemaLocation(schemaFileString);
-      xsdImport.setResolvedSchema(externalSchema);
-      
-      java.util.Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-      
-//      System.out.println("changed Import Map is " + map.values());
-//      System.out.println("changed import Map keys are " + map.keySet());
-
-      // Referential integrity on old import
-      // How can we be sure that if the newlocation is the same as the oldlocation
-      // the file hasn't changed
-      
-      XSDSchema referencedSchema = xsdImport.getResolvedSchema();
-      if (referencedSchema != null)
-      {
-        XSDExternalFileCleanup cleanHelper = new XSDExternalFileCleanup(referencedSchema);
-        cleanHelper.visitSchema(xsdSchema);
-      }
-
-      Element schemaElement = getSchema().getElement();
-
-      // update the xmlns in the schema element first, and then update the import element next
-      // so that the last change will be in the import element.  This keeps the selection
-      // on the import element
-      TypesHelper helper = new TypesHelper(externalSchema);
-      String prefix = helper.getPrefix(namespace, false);
-      
-      if (map.containsKey(prefix))
-      {
-        prefix = null;
-      }
-
-      if (prefix == null || (prefix !=null && prefix.length() == 0))
-      {
-        StringBuffer newPrefix = new StringBuffer("pref");  //$NON-NLS-1$
-        int prefixExtension = 1;
-        while (map.containsKey(newPrefix.toString()) && prefixExtension < 100)
-        {
-          newPrefix = new StringBuffer("pref" + String.valueOf(prefixExtension));
-          prefixExtension++;
-        }
-        prefix = newPrefix.toString();
-      }
-
-      if (namespace.length() > 0)
-      {
-        // if ns already in map, use its corresponding prefix
-        if (map.containsValue(namespace))
-        {
-          TypesHelper typesHelper = new TypesHelper(xsdSchema);
-          prefix = typesHelper.getPrefix(namespace, false);
-        }
-        else // otherwise add to the map
-        {
-          schemaElement.setAttribute("xmlns:"+prefix, namespace);
-        }
-        prefixText.setText(prefix);
-      }
-      else
-      {
-        prefixText.setText("");
-        namespaceText.setText("");
-      }
-        
-      endRecording(importElement);
-      
-//      System.out.println("changed Import Map is " + map.values());
-//      System.out.println("changed import Map keys are " + map.keySet());
-
-    }        
-    refresh();
-  }
-  
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-		if (doRefresh)
-		{
-      errorText.setText("");
-			setListenerEnabled(false);
-
-			Element element = null;
-			if (input instanceof XSDImport) { 
-				element = ((XSDImportImpl) input).getElement();
-				
-				String namespace = element.getAttribute("namespace"); //$NON-NLS-1$
-				String schemaLocation = element.getAttribute("schemaLocation"); //$NON-NLS-1$
-				
-				TypesHelper helper = new TypesHelper(xsdSchema);
-		        String prefix = helper.getPrefix(element.getAttribute(XSDConstants.NAMESPACE_ATTRIBUTE), false);
-
-				if (namespace == null) {
-					namespace = ""; //$NON-NLS-1$
-				}
-				if (prefix == null) {
-					prefix = ""; //$NON-NLS-1$
-				}
-				if (schemaLocation == null) {
-					schemaLocation = ""; //$NON-NLS-1$
-				}
-				
-				namespaceText.setText(namespace);
-				prefixText.setText(prefix);
-				schemaLocationText.setText(schemaLocation);
-        oldPrefixValue = prefixText.getText();
-			}
-
-			setListenerEnabled(true);
-		}
-	}
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-   */
-  public boolean shouldUseExtraSpace()
-  {
-    return true;
-  }
-
-  public void doHandleEvent(Event event)
-  {
-    super.doHandleEvent(event);
-    if (event.type == SWT.Modify)
-    {
-      if (event.widget == prefixText)
-      {
-        if (validatePrefix(prefixText.getText()) && schemaLocationText.getText().trim().length() > 0)
-        {
-          Element element = ((XSDConcreteComponent)getInput()).getElement();
-          Map map = getSchema().getQNamePrefixToNamespaceMap();
-
-          if (map.containsKey(prefixText.getText()))
-          {
-            setErrorMessage(XSDEditorPlugin.getXSDString("_ERROR_LABEL_PREFIX_EXISTS"));
-          }
-          else
-          {
-            beginRecording(XSDEditorPlugin.getXSDString("_UI_PREFIX_CHANGE"), element);
-            
-            Element schemaElement = getSchema().getElement();
-            schemaElement.removeAttribute("xmlns:"+oldPrefixValue);
-            schemaElement.setAttribute("xmlns:" + prefixText.getText(), namespaceText.getText());
-            XSDSchemaHelper.updateElement(getSchema());
-
-            clearErrorMessage();
-            oldPrefixValue = prefixText.getText();
-            endRecording(element);  
-
-//            System.out.println("Map is " + map.values());
-//            System.out.println("Map keys are " + map.keySet());
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSection.java
deleted file mode 100644
index 6deaca9..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSection.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDProcessContents;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class NamespaceProcessContentsSection extends AbstractSection
-{
-  CCombo namespaceCombo;
-  CCombo processContentsCombo;
-  
-  private String[] namespaceComboValues = {
-      "",               //$NON-NLS-1$
-      "##any",          //$NON-NLS-1$
-      "##other",        //$NON-NLS-1$
-      "##targetNamespace", //$NON-NLS-1$
-      "##local" //$NON-NLS-1$
-  };
-
-  /**
-   * 
-   */
-  public NamespaceProcessContentsSection()
-  {
-    super();
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent,TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		Composite composite =	getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-		
-
-		namespaceCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-		data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(0, 0);
-		namespaceCombo.setLayoutData(data);
-//		Iterator list = XSDNamespaceConstraintCategory.VALUES.iterator();
-//		while (list.hasNext())
-//		{
-//		  namespaceCombo.add(((XSDNamespaceConstraintCategory)list.next()).getName());
-//		}
-		namespaceCombo.setItems(namespaceComboValues);
-		namespaceCombo.addSelectionListener(this);
-
-		CLabel namespaceLabel = getWidgetFactory().createCLabel(composite, XSDConstants.NAMESPACE_ATTRIBUTE);
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(namespaceCombo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(namespaceCombo, 0, SWT.CENTER);
-		namespaceLabel.setLayoutData(data);
-
-		processContentsCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-		data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(namespaceCombo, +ITabbedPropertyConstants.VSPACE);
-		processContentsCombo.setLayoutData(data);
-		Iterator list = XSDProcessContents.VALUES.iterator();
-		processContentsCombo.add(""); //$NON-NLS-1$
-		while (list.hasNext())
-		{
-		  processContentsCombo.add(((XSDProcessContents)list.next()).getName());
-		}
-		processContentsCombo.addSelectionListener(this);
-
-		CLabel processContentsLabel = getWidgetFactory().createCLabel(composite, XSDConstants.PROCESSCONTENTS_ATTRIBUTE);
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(processContentsCombo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(processContentsCombo, 0, SWT.CENTER);
-		processContentsLabel.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-//	  namespaceCombo.removeSelectionListener(this);
-//	  processContentsCombo.removeSelectionListener(this);
-	  namespaceCombo.setText(""); //$NON-NLS-1$
-	  processContentsCombo.setText(""); //$NON-NLS-1$
-	  Object input = getInput();
-	  if (input != null)
-	  {
-	    if (input instanceof XSDWildcard)
-	    {
-	      XSDWildcard wildcard = (XSDWildcard)input;
-	      List listNS = wildcard.getNamespaceConstraint();
-	      if (wildcard.isSetLexicalNamespaceConstraint())
-	      {
-	        namespaceCombo.setText(wildcard.getStringLexicalNamespaceConstraint());
-	      }
-	      else
-	      {
-	        namespaceCombo.setText("");
-	      }
-	      if (wildcard.isSetProcessContents())
-	      {
-	        XSDProcessContents pc = wildcard.getProcessContents();
-	        processContentsCombo.setText(pc.getName());
-	      }
-	    }
-	  }
-//	  namespaceCombo.addSelectionListener(this);
-//	  processContentsCombo.addSelectionListener(this);
-	}
-	
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-
-  public void widgetSelected(SelectionEvent e)
-  {
-    XSDConcreteComponent concreteComponent = (XSDConcreteComponent)getInput();
-    Element element = concreteComponent.getElement();
-    if (concreteComponent instanceof XSDWildcard)
-    {
-      XSDWildcard wildcard =  (XSDWildcard)concreteComponent;
-      if (e.widget == namespaceCombo)
-      {
-        String newValue = namespaceCombo.getText();
-        boolean removeAttribute = false;
-        if (newValue.length() == 0)
-        {
-          removeAttribute = true;
-        }
-
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_NAMESPACE_CHANGE"), element); //$NON-NLS-1$
-        if (removeAttribute)
-        {
-          wildcard.unsetLexicalNamespaceConstraint();
-        }
-        else
-        {
-          wildcard.setStringLexicalNamespaceConstraint(newValue);
-        }
-        endRecording(element);
-      }
-      else if (e.widget == processContentsCombo)
-      {
-        String newValue = processContentsCombo.getText();
-        boolean removeAttribute = false;
-        if (newValue.length() == 0)
-        {
-          removeAttribute = true;
-        }
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_PROCESSCONTENTS_CHANGE"), element); //$NON-NLS-1$
-        if (removeAttribute)
-        {
-          wildcard.unsetProcessContents();
-        }
-        else
-        {
-          wildcard.setProcessContents(XSDProcessContents.get(processContentsCombo.getItem(processContentsCombo.getSelectionIndex())));
-        }
-        endRecording(element);
-      }
-    }
-    refresh();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSectionDescriptor.java
deleted file mode 100644
index 2198f2e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceProcessContentsSectionDescriptor.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDWildcard;
-
-public class NamespaceProcessContentsSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public NamespaceProcessContentsSectionDescriptor()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.namespaceprocesscontents";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDWildcard.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new NamespaceProcessContentsSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDWildcard)
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java
deleted file mode 100644
index d53d02b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSection.java
+++ /dev/null
@@ -1,432 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Map;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.XSDEditNamespacesAction;
-import org.eclipse.wst.xsd.ui.internal.refactor.rename.TargetNamespaceChangeHandler;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDSchemaHelper;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class NamespaceSection extends AbstractSection
-{
-	  IWorkbenchPart part;
-	  Text prefixText;
-	  Text targetNamespaceText;
-    Button editButton;
-    StyledText errorText;
-    Color red;
-	  
-	  /**
-	   * 
-	   */
-	  public NamespaceSection()
-	  {
-	    super();
-	  }
-
-		/**
-		 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-		 */
-		public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-		{
-			super.createControls(parent, factory);
-			Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-      
-			// Create Prefix Label
-			CLabel prefixLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_PREFIX")); //$NON-NLS-1$
-
-      int leftCoordinate = getStandardLabelWidth(composite, 
-          new String[] {XSDEditorPlugin.getXSDString("_UI_LABEL_TARGET_NAME_SPACE"), XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_PREFIX")});
-      
-			// Create Prefix Text
-			prefixText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
-			FormData prefixTextData = new FormData();
-			// prefixTextData.left = new FormAttachment(0, 115);
-      prefixTextData.left = new FormAttachment(0, leftCoordinate);
-			prefixTextData.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-			prefixText.setLayoutData(prefixTextData);
-			prefixText.addListener(SWT.Modify, this);		    
-		    
-			FormData data = new FormData();
-			data.left = new FormAttachment(0, 0);
-			data.right = new FormAttachment(prefixText, -ITabbedPropertyConstants.HSPACE);
-      data.top = new FormAttachment(prefixText, 0, SWT.CENTER);
-			prefixLabel.setLayoutData(data);
-
-			// Create TargetNamespace Label
-			CLabel targetNamespaceLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_TARGET_NAME_SPACE")); //$NON-NLS-1$
-      
-      // Create TargetNamespace Text
-      targetNamespaceText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
-      
-			FormData tnsLabelData = new FormData();
-			tnsLabelData.left = new FormAttachment(0, 0);
-      tnsLabelData.right = new FormAttachment(targetNamespaceText, -ITabbedPropertyConstants.HSPACE); 
-			tnsLabelData.top = new FormAttachment(targetNamespaceText, 0, SWT.CENTER);
-			targetNamespaceLabel.setLayoutData(tnsLabelData);
-
-      FormData tnsTextData = new FormData();
-      // tnsTextData.left = new FormAttachment(0, 115);
-      tnsTextData.left = new FormAttachment(0, leftCoordinate);
-      tnsTextData.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-      tnsTextData.top = new FormAttachment(prefixText, +ITabbedPropertyConstants.VSPACE);
-      targetNamespaceText.setLayoutData(tnsTextData);
-      targetNamespaceText.addListener(SWT.Modify, this);
-      
-      // Advanced Button
-      editButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_SECTION_ADVANCED_ATTRIBUTES") + "...", SWT.PUSH);
-
-      FormData buttonFormData = new FormData();
-      buttonFormData.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-      buttonFormData.top = new FormAttachment(targetNamespaceText, +ITabbedPropertyConstants.VSPACE);
-      editButton.setLayoutData(buttonFormData);
-      editButton.addSelectionListener(this);
-
-      // error text
-      errorText = new StyledText(composite, SWT.FLAT);
-      errorText.setEditable(false);
-      errorText.setEnabled(false);
-      errorText.setText("");
-      
-      data = new FormData();
-      data.left = new FormAttachment(targetNamespaceText, 0, SWT.LEFT);
-      data.right = new FormAttachment(100, 0);
-      data.top = new FormAttachment(editButton, 0);
-      errorText.setLayoutData(data);
-    }
-
-		/*
-		 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-		 */
-		public void refresh()
-		{
-      if (doRefresh)
-      {
-        // hack...open bug against properties
-        if (prefixText.isDisposed() || targetNamespaceText.isDisposed())
-        {
-          return;
-        }
-        if (prefixText.isFocusControl() || targetNamespaceText.isFocusControl())
-        {
-          return;
-        }
-
-        setListenerEnabled(false);
-	    	 
-			  Element element = xsdSchema.getElement();
-	    	
-        if (element != null)
-        {
-  		    // Handle prefixText
-  			  TypesHelper helper = new TypesHelper(xsdSchema);
-    		  String aPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
-        
-          if (aPrefix != null && aPrefix.length() > 0)
-  	      {
-  	  	  	prefixText.setText(aPrefix);
-  	  	  }
-  	  	  else
-          {
-  			  	prefixText.setText(""); //$NON-NLS-1$
-  			  }
-  	    	 
-  				// Handle TargetNamespaceText
-  				String tns = element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
-  			  if (tns != null && tns.length() > 0)
-          {
-   	        targetNamespaceText.setText(tns);
-   	      }
-  			  else
-          {
-  				  targetNamespaceText.setText(""); //$NON-NLS-1$
-  			  }
-          errorText.setText("");
-        }
-				setListenerEnabled(true);
-			}
-		}
-		
-		public void doHandleEvent(Event event)
-		{
-      errorText.setText("");
-      String prefixValue = prefixText.getText();
-      String tnsValue = targetNamespaceText.getText();
-      if (tnsValue.trim().length() == 0)
-      {
-        if (prefixValue.trim().length() > 0)
-        {
-          errorText.setText(XSDEditorPlugin.getXSDString("_ERROR_TARGET_NAMESPACE_AND_PREFIX"));
-          int length = errorText.getText().length();
-          red = new Color(null, 255, 0, 0);
-          StyleRange style = new StyleRange(0, length, red, targetNamespaceText.getBackground());
-          errorText.setStyleRange(style);
-          return;
-        }
-      }
-
-		  if (event.widget == prefixText)
-		  {
-        updateNamespaceInfo(prefixValue, tnsValue);
-		  }
-		  else if (event.widget == targetNamespaceText)
-      {
-		  	TypesHelper helper = new TypesHelper(xsdSchema);
-			  String aPrefix = helper.getPrefix(xsdSchema.getElement().getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
-		  	// updateNamespaceInfo(aPrefix, tnsValue);
-        updateNamespaceInfo(prefixValue, tnsValue);
-		  }
-		}
-		
-		public void doWidgetSelected(SelectionEvent e) {
-			if (e.widget == editButton) {
-				XSDEditNamespacesAction nsAction = new XSDEditNamespacesAction(XSDEditorPlugin.getXSDString("_UI_ACTION_EDIT_NAMESPACES"), xsdSchema.getElement(), null, xsdSchema); //$NON-NLS-1$ 
-				nsAction.run();
-				refresh();				
-			}			
-		}
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-	   */
-	  public boolean shouldUseExtraSpace()
-	  {
-	    return true;
-	  }
-
-	  private void updateNamespaceInfo(String newPrefix, String newTargetNamespace)
-	  {
-	    Element element = xsdSchema.getElement();
-	    DocumentImpl doc = (DocumentImpl)element.getOwnerDocument();
-
-	    String modelTargetNamespace = xsdSchema.getTargetNamespace();
-	    String oldNamespace = xsdSchema.getTargetNamespace();
-	    
-	    TypesHelper helper = new TypesHelper(xsdSchema);
-   		String oldPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
-	    
-	    if (modelTargetNamespace == null)
-	    {
-	      modelTargetNamespace = ""; //$NON-NLS-1$
-	    }
-	        
-	    String targetNamespace = newTargetNamespace.trim(); 
-	    String prefix = newPrefix.trim();
-
-	    if (!validatePrefix(prefix) || !validateTargetNamespace(targetNamespace))
-	    {
-	      return;
-	    }
-	        
-	    if (prefix.length() > 0 && targetNamespace.length() == 0)
-	    {
-	       // can't have blank targetnamespace and yet specify a prefix
-	       return;
-	    }
-
-	    doc.getModel().beginRecording(this, XSDEditorPlugin.getXSDString("_UI_TARGETNAMESPACE_CHANGE")); //$NON-NLS-1$
-	    String xsdForXSDPrefix = xsdSchema.getSchemaForSchemaQNamePrefix();
-	    Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-
-//	 For debugging
-//	        System.out.println("1. SW Map is " + map.values());
-//	        System.out.println("1. SW Map keys are " + map.keySet());
-
-	    // Check if prefix is blank
-	    // if it is, then make sure we have a prefix 
-	    // for schema for schema
-	    if (prefix.length() == 0)
-	    {
-	      // if prefix for schema for schema is blank
-	      // then set it to value specified in preference
-	      // and update ALL nodes with this prefix
-	      if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
-	      {
-	        // get preference prefix
-	        xsdForXSDPrefix = XSDEditorPlugin.getPlugin().getXMLSchemaPrefix();
-	        // get a unique prefix by checking what's in the map
-
-	        xsdForXSDPrefix = getUniqueSchemaForSchemaPrefix(xsdForXSDPrefix, map);
-	        element.setAttribute("xmlns:" + xsdForXSDPrefix, XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001); //$NON-NLS-1$
-
-	        updateAllNodes(element, xsdForXSDPrefix);
-	            
-	        // remove the old xmlns attribute for the schema for schema
-	        if (element.getAttribute("xmlns") != null && //$NON-NLS-1$
-	            element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001)) //$NON-NLS-1$
-	        {
-	          element.removeAttribute("xmlns"); //$NON-NLS-1$
-	        }
-	      }
-	    }
-
-	    if (targetNamespace.length() > 0 ||
-	       (targetNamespace.length() == 0 && prefix.length() == 0))
-	    {
-	      // clean up the old prefix for this schema
-	      if (oldPrefix != null && oldPrefix.length() > 0)
-	      {
-	        element.removeAttribute("xmlns:"+oldPrefix); //$NON-NLS-1$
-//	            element.setAttribute("xmlns:" + prefix, targetNamespace);
-//	            java.util.Map prefixToNameSpaceMap = xsdSchema.getQNamePrefixToNamespaceMap();
-//	            prefixToNameSpaceMap.remove(oldPrefix);
-	      }
-	      else // if no prefix
-	      {
-	        if (element.getAttribute("xmlns") != null) //$NON-NLS-1$
-	        {
-	          if (!element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001)) //$NON-NLS-1$
-	           {
-	            element.removeAttribute("xmlns"); //$NON-NLS-1$
-	          }
-	        }
-	      }
-	    }
-
-	    if (targetNamespace.length() > 0)
-	    {
-	      if (!modelTargetNamespace.equals(targetNamespace))
-	      {
-	        element.setAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE, targetNamespace);
-	      }
-	      // now set the new xmlns:prefix attribute
-	      if (prefix.length() > 0)
-	      {
-	        element.setAttribute("xmlns:" + prefix, targetNamespace); //$NON-NLS-1$
-	      }
-	      else
-	      {
-	        element.setAttribute("xmlns", targetNamespace); //$NON-NLS-1$
-	      }
-	      // set the targetNamespace attribute
-	    }
-	    else // else targetNamespace is blank
-	    {
-	      if (prefix.length() == 0)
-	      {
-	        element.removeAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
-	      }
-	    }
-
-//	    System.out.println("1.5 SW Map is " + map.values());
-//	    System.out.println("1.5 SW Map keys are " + map.keySet());
-	    
-	    // do our own referential integrity
-	    TargetNamespaceChangeHandler targetNamespaceChangeHandler = new TargetNamespaceChangeHandler(xsdSchema, oldNamespace, targetNamespace);
-	    targetNamespaceChangeHandler.resolve();
-	    
-	    XSDSchemaHelper.updateElement(xsdSchema);
-	    
-	    doc.getModel().endRecording(this);
-
-//	 For debugging
-//	        map = xsdSchema.getQNamePrefixToNamespaceMap();
-//	        System.out.println("2. SW Map is " + map.values());
-//	        System.out.println("2. SW Map keys are " + map.keySet());
-	  }
-
-	  private String getUniqueSchemaForSchemaPrefix(String xsdForXSDPrefix, Map map)
-	  {
-	    if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
-	     {       
-	      xsdForXSDPrefix = "xsd"; //$NON-NLS-1$
-	    }
-	    // ensure prefix is unique
-	    int prefixExtension = 1;
-	    while (map.containsKey(xsdForXSDPrefix) && prefixExtension < 100)
-	     {
-	      xsdForXSDPrefix = xsdForXSDPrefix + String.valueOf(prefixExtension);
-	      prefixExtension++;
-	    }
-	    return xsdForXSDPrefix;
-	  }
-	  
-	  private void updateAllNodes(Element element, String prefix)
-	  {
-	    element.setPrefix(prefix);
-	    NodeList list = element.getChildNodes();
-	    if (list != null)
-	    {
-	      for (int i=0; i < list.getLength(); i++)
-	      {
-	        Node child = list.item(i);
-	        if (child != null && child instanceof Element)
-	        {
-	          child.setPrefix(prefix);
-	          if (child.hasChildNodes())
-	          {
-	            updateAllNodes((Element)child, prefix);
-	          }
-	        }
-	      }
-	    }   
-	  }
-	  
-	  private boolean validateTargetNamespace(String ns)
-	  {
-	    // will allow blank namespace !!
-	    if (ns.equals(""))
-	     {
-	      return true;
-	    }
-	    
-	    String errorMessage = null;
-      try
-      {
-        URI testURI = new URI(ns);
-      }
-      catch (URISyntaxException e)
-      {
-	      errorMessage = XSDEditorPlugin.getXSDString("_WARN_INVALID_TARGET_NAMESPACE"); //$NON-NLS-1$
-	    }
-	    
-	    if (errorMessage == null || errorMessage.length() == 0)
-	     {
-	      return true;
-	    }
-	    return false;
-	  }
-    
-    public void dispose()
-    {
-      super.dispose();
-      if (red != null)
-      {
-        red.dispose();
-        red = null;
-      }
-    }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSectionDescriptor.java
deleted file mode 100644
index c156eaa..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/NamespaceSectionDescriptor.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.impl.XSDSchemaImpl;
-
-public class NamespaceSectionDescriptor extends AbstractSectionDescriptor
-{
-	  NamespaceSection namespaceSection;
-	  /**
-	   * 
-	   */
-	  public NamespaceSectionDescriptor()
-	  {
-	    super();
-	    namespaceSection = new NamespaceSection();
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-	   */
-	  public String getId()
-	  {
-	    return "com.ibm.xsdeditor.section.namespaceSection";
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-	   */
-	  public List getInputTypes()
-	  {
-	    List list = new ArrayList();
-	    list.add(XSDConcreteComponent.class);
-	    return list;
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-	   */
-	  public ISection getSectionClass()
-	  {
-	    return namespaceSection;
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-	   */
-	  public String getTargetTab()
-	  {
-	    return "com.ibm.xmlwebservices.general";
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	   */
-	  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-	  {
-	    Object object = null;
-	    if (selection instanceof StructuredSelection)
-	    {
-	      StructuredSelection structuredSelection = (StructuredSelection)selection;
-	      object = structuredSelection.getFirstElement();
-	      if (object instanceof XSDSchemaImpl) {
-	      	return true;
-	      }
-	    }
-	    
-	    return false;
-	  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSection.java
deleted file mode 100644
index 7309ced..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSection.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.properties.XSDPropertySourceProvider;
-import org.eclipse.xsd.XSDElementDeclaration;
-
-public class OtherAttributesSection extends AbstractSection
-{
-  PropertySheetPage propertySheetPage;
-  IWorkbenchPart part;
-  
-  /**
-   * 
-   */
-  public OtherAttributesSection()
-  {
-    super();
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		composite = getWidgetFactory().createFlatFormComposite(parent);
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-    data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(100, 0);
-    
-//    composite = new Composite(parent, SWT.FLAT);
-//    GridLayout gl = new GridLayout(1, true);
-//    composite.setLayout(gl);
-//    GridData data = new GridData();
-//    data.grabExcessHorizontalSpace = true;
-//    data.grabExcessVerticalSpace = true; 
-//    composite.setLayoutData(data);
-    
-    propertySheetPage = new PropertySheetPage();
-		propertySheetPage.createControl(composite);
-    propertySheetPage.setPropertySourceProvider(new XSDPropertySourceProvider());
-    propertySheetPage.getControl().setLayoutData(data);
-	}
-	
-	public void selectionChanged(IWorkbenchPart part, ISelection selection)
-	{
-	  this.part = part;
-	  this.selection = selection;
-	  if (propertySheetPage == null)
-	  {
-	    propertySheetPage = new PropertySheetPage();
-	  }
-	  propertySheetPage.selectionChanged(part, selection);
-	}
-  
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-    if (doRefresh)
-    {
-      if (isReadOnly)
-      {
-        composite.setEnabled(false);
-      }
-      else
-      {
-        composite.setEnabled(true);
-      }
-
-	    Object input = getInput();
-      if (!propertySheetPage.getControl().isDisposed())
-  	    propertySheetPage.selectionChanged(part, selection);
-    }
-	}
-
-  public void dispose()
-  {
-//    propertySheetPage.dispose();
-//    propertySheetPage = null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-   */
-  public boolean shouldUseExtraSpace()
-  {
-    return true;
-  }
-  
-  public void setInput(IWorkbenchPart part, ISelection selection)
-  {
-    super.setInput(part, selection);
-    if (input instanceof XSDElementDeclaration)
-    {
-      XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)input;
-      if (elementDeclaration.isElementDeclarationReference())
-      {
-        input = elementDeclaration.getResolvedElementDeclaration();
-        
-        isReadOnly = (!(elementDeclaration.getResolvedElementDeclaration().getRootContainer() == xsdSchema));
-      }
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSectionDescriptor.java
deleted file mode 100644
index 714d6c2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/OtherAttributesSectionDescriptor.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.XSDIdentityConstraintCategory;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-
-public class OtherAttributesSectionDescriptor extends AbstractSectionDescriptor
-{
-  OtherAttributesSection otherAttributesSection;
-  /**
-   * 
-   */
-  public OtherAttributesSectionDescriptor()
-  {
-    super();
-    otherAttributesSection = new OtherAttributesSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.otherattributes";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDConcreteComponent.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return otherAttributesSection;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.other";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDConcreteComponent)
-      {
-      	if (object instanceof XSDAttributeGroupDefinition ||
-      	    object instanceof XSDAttributeUse ||
-      	    object instanceof XSDAttributeDeclaration ||
-      	    object instanceof XSDEnumerationFacet ||
-      	    object instanceof XSDPatternFacet ||
-      	    object instanceof XSDSimpleTypeDefinition ||
-      	    object instanceof XSDAnnotation ||
-            object instanceof XSDWildcard ||
-            object instanceof XSDSchemaDirective)
-      	{
-     	    return false;
-      	}
-        else if (object instanceof XSDModelGroup)
-        {
-          return false;
-        }
-        else if (object instanceof XSDElementDeclaration)
-        {
-//        Remove this to fix bug 3870 Element references should have the same properties as elements 
-//          if (((XSDElementDeclaration)object).isElementDeclarationReference())
-//          {
-//            return false;
-//          }
-          return true;
-        }
-        else if (object instanceof XSDModelGroupDefinition)
-        {
-          if (((XSDModelGroupDefinition)object).isModelGroupDefinitionReference())
-          {
-            return false;
-          }
-          return false;
-        }
-        else if (object instanceof XSDIdentityConstraintDefinition)
-        {
-          XSDIdentityConstraintDefinition constraint = (XSDIdentityConstraintDefinition)object;
-          XSDIdentityConstraintCategory category = constraint.getIdentityConstraintCategory();
-          if (category.getValue() == XSDIdentityConstraintCategory.KEYREF)
-          {
-            return true;
-          }
-          else
-          {
-            return false;
-          }
-        }
-        return true;
-      }
-    }
-    return false;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSection.java
deleted file mode 100644
index b0fc34f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSection.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.wizards.RegexWizard;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class PatternSection extends AbstractSection
-{
-  /**
-   * 
-   */
-  public PatternSection()
-  {
-    super();
-  }
-  
-  Text patternText;
-  Button button;
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-
-		super.createControls(parent, factory);
-		Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		patternText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		CLabel nameLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_VALUE") + ":"); //$NON-NLS-1$
-    button = getWidgetFactory().createButton(composite, "", SWT.PUSH); //$NON-NLS-1$
-    button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
-    
-    patternText.addListener(SWT.Modify, this);
-
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(patternText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(button, 0, SWT.CENTER);
-		nameLabel.setLayoutData(data);
-
-    button.addSelectionListener(this);
-		data = new FormData();
-		data.left = new FormAttachment(100, -rightMarginSpace + 2);
-		data.right = new FormAttachment(100,0);
-		data.top = new FormAttachment(patternText, 0, SWT.CENTER);
-		button.setLayoutData(data);
-
-    data = new FormData();
-    data.left = new FormAttachment(0, 100);
-    data.right = new FormAttachment(button, 0);
-    patternText.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-	  setListenerEnabled(false);
-	  Object input = getInput();
-	  patternText.setText(""); //$NON-NLS-1$
-	  if (input != null)
-	  {
-	    Element element = null;
-	    if (input instanceof XSDPatternFacet)
-	    {
-	      element = ((XSDPatternFacet)input).getElement();
-	    }
-	    if (element != null)
-	    {
-        String result = element.getAttribute(XSDConstants.VALUE_ATTRIBUTE);
-        if (result != null)
-        {
-          patternText.setText(result);
-        }
-	    }
-	  }
-	  setListenerEnabled(true);
-	}
-
-  /**
-   * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
-   */
-  public void widgetSelected(SelectionEvent e)
-  {
-    if (e.widget == button)
-    {
-	    Shell shell = Display.getCurrent().getActiveShell();
-	    Element element = ((XSDPatternFacet)getInput()).getElement();
-
-      String initialValue = element.getAttribute(XSDConstants.VALUE_ATTRIBUTE);
-      if (initialValue == null)
-      {
-        initialValue = ""; //$NON-NLS-1$
-      }
-      RegexWizard wizard = new RegexWizard(initialValue);
-
-      WizardDialog wizardDialog = new WizardDialog(shell, wizard);
-      wizardDialog.setBlockOnOpen(true);
-      wizardDialog.create();
-      
-      int result = wizardDialog.open();
-
-      if (result == Window.OK)
-      {
-        String newPattern = wizard.getPattern();
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_PATTERN_VALUE_CHANGE"), element); //$NON-NLS-1$
-        element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, newPattern);
-        ((XSDPatternFacet)getInput()).setLexicalValue(newPattern);
-        endRecording(element);
-      }
-
-      refresh();
-    }
-  }
-  
-  public void doHandleEvent(Event event)
-  {
-	  if (event.widget == patternText)
-	  {
-		  XSDPatternFacet pattern = (XSDPatternFacet)getInput();
-		  
-      String newValue = patternText.getText();
-      if (newValue.length() > 0)
-      {
-        pattern.setLexicalValue(newValue);
-      }
-	  }
-
-  }
-
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSectionDescriptor.java
deleted file mode 100644
index e7432e8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/PatternSectionDescriptor.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDPatternFacet;
-
-public class PatternSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public PatternSectionDescriptor()
-  {
-    super();
-  }
-  
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.pattern";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDPatternFacet.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new PatternSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDPatternFacet)
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSection.java
deleted file mode 100644
index 472bd0b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSection.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ReferenceSection extends AbstractSection
-{
-  protected CCombo componentNameCombo; 
-  Button button;
-  IEditorPart editorPart;
-  CLabel refLabel;
-  
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		composite = getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-    componentNameCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
-    componentNameCombo.addSelectionListener(this);
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-		data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(0, 1);
-		componentNameCombo.setLayoutData(data);
-
-		refLabel = getWidgetFactory().createCLabel(composite, XSDConstants.REF_ATTRIBUTE + ":");  //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(componentNameCombo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(componentNameCombo, 0, SWT.CENTER);
-		refLabel.setLayoutData(data);
-	}
-
-  public void setInput(IWorkbenchPart part, ISelection selection)
-  {
-    super.setInput(part, selection);
-    
-    Object obj = getInput();
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    List items = new ArrayList();
-    if (obj instanceof XSDElementDeclaration)
-    {
-      XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)obj;
-      if (elementDeclaration.isElementDeclarationReference())
-      {
-        items = helper.getGlobalElements();
-//            minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-//            WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MINIMUM);
-//            maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-//            WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MAXIMUM);
-      }
-    }
-    else if (obj instanceof XSDAttributeDeclaration)
-    {
-      items = helper.getGlobalAttributes();
-    }
-    else if (obj instanceof XSDModelGroupDefinition)
-    {
-      XSDModelGroupDefinition group = (XSDModelGroupDefinition)obj;
-      if (group.isModelGroupDefinitionReference())
-      {
-        items = helper.getModelGroups();
-          // Need tooltip for Group Ref
-//            minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-//            WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_GROUP_REF_MINIMUM);
-//            maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-//            WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_GROUP_REF_MAXIMUM);
-      }
-    }
-    else if (obj instanceof XSDNamedComponent)
-    {
-      XSDNamedComponent namedComponent = (XSDNamedComponent)obj;
-      Element element = namedComponent.getElement();
-      if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true))
-      {
-        items = helper.getGlobalAttributeGroups();
-//      WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_REF_DESIGN_VIEW);
-//      WorkbenchHelp.setHelp(refCombo, XSDEditorContextIds.XSDE_ATTRIBUTE_GROUP_REF_NAME);
-      }
-      else if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, true))
-      {
-        items = helper.getGlobalElements();
-//          minimumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MINIMUM"));
-//          WorkbenchHelp.setHelp(minimumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MINIMUM);
-//          maximumField.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_ELEMENT_MAXIMUM"));
-//          WorkbenchHelp.setHelp(maximumField, XSDEditorContextIds.XSDE_ELEMENT_REF_MAXIMUM);
-      }
-    }
-    else if (obj instanceof XSDAttributeUse)
-    {
-      XSDAttributeUse attributeUse = (XSDAttributeUse)obj;
-      Element element = attributeUse.getElement();
-      if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
-      {
-        items = helper.getGlobalAttributes();
-//      WorkbenchHelp.setHelp(client, XSDEditorContextIds.XSDE_ATTRIBUTE_REF_DESIGN_VIEW);
-//      WorkbenchHelp.setHelp(refCombo, XSDEditorContextIds.XSDE_ATTRIBUTE_REF_NAME);      
-      }
-    }      
-    items.add(0, "");
-    int size = items.size();
-    String [] st = new String[size];
-    System.arraycopy(items.toArray(), 0, st, 0, size);
-    componentNameCombo.setItems(st);
-      
-    st = null;
-  }
-	
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-    if (doRefresh)
-    {
-  	  setListenerEnabled(false);  
-  //	  componentNameCombo.removeListener(SWT.Modify, this);
-  	  Object input = getInput();
-      if (isReadOnly)
-      {
-        composite.setEnabled(false);
-      }
-      else
-      {
-        composite.setEnabled(true);
-      }
-
-  	  if (input instanceof XSDNamedComponent)
-  	  {
-        XSDNamedComponent namedComponent = (XSDNamedComponent)getInput();
-        Element element = namedComponent.getElement();
-        if (element != null)
-        {
-          String attrValue = element.getAttribute(XSDConstants.REF_ATTRIBUTE);
-          if (attrValue == null)
-          {
-            attrValue = "";
-          }
-          componentNameCombo.setText(attrValue);
-        }
-  	  }
-      else if (input instanceof XSDParticleContent)
-      {
-        XSDParticleContent particle = (XSDParticleContent)input;
-        Element element = particle.getElement();
-        String attrValue = element.getAttribute(XSDConstants.REF_ATTRIBUTE);
-        if (attrValue == null)
-        {
-          attrValue = "";
-        }
-        componentNameCombo.setText(attrValue);
-      }
-  	  else if (input instanceof XSDAttributeUse)
-  	  {
-  	    XSDAttributeUse attributeUse = (XSDAttributeUse)getInput();
-  	    Element element = attributeUse.getElement();
-        String attrValue = element.getAttribute(XSDConstants.REF_ATTRIBUTE);
-        if (attrValue == null)
-        {
-          attrValue = "";
-        }
-        componentNameCombo.setText(attrValue);
-  	  }
-  	  
-      setListenerEnabled(true);
-  //    componentNameCombo.addListener(SWT.Modify, this);
-    }
-	}
-
-	
-  public void widgetSelected(SelectionEvent e)
-  {
-	  Object input = getInput();
-    if (e.widget == componentNameCombo)
-    {
-      String newValue = componentNameCombo.getText();
-		  if (input instanceof XSDNamedComponent)
-		  {
-	      XSDNamedComponent namedComponent = (XSDNamedComponent)getInput();
-	      Element element = namedComponent.getElement();
-	      
-	      if (namedComponent instanceof XSDElementDeclaration)
-	      {
-	        beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_REF_CHANGE"), element); //$NON-NLS-1$
-	        element.setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
-	        endRecording(element);
-	      }
-			  else if (namedComponent instanceof XSDAttributeDeclaration)
-			  {
-			    XSDAttributeDeclaration attr = (XSDAttributeDeclaration)namedComponent;
-	        beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_REF_CHANGE"), element); //$NON-NLS-1$
-	        element.setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
-	        endRecording(element);
-
-			  }
-	  	  else if (namedComponent instanceof XSDAttributeGroupDefinition)
-	  	  {
-	        beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTEGROUP_REF_CHANGE"), element); //$NON-NLS-1$
-	        // element.setAttribute(XSDConstants.REF_ATTRIBUTE, (String) value);
-	        XSDAttributeGroupDefinition attrGroup = (XSDAttributeGroupDefinition)namedComponent;
-	        Iterator iter = xsdSchema.getAttributeGroupDefinitions().iterator();
-	        while (iter.hasNext())
-	        {
-	          XSDAttributeGroupDefinition def = (XSDAttributeGroupDefinition)iter.next();
-	          if (def.getQName(xsdSchema).equals(componentNameCombo.getText()))
-	          {
-	            attrGroup.setResolvedAttributeGroupDefinition(def);
-	            attrGroup.setName(componentNameCombo.getText());
-	            break;
-	          }
-	        }  
-	        endRecording(element);
-	  	  }
-        else if (namedComponent instanceof XSDModelGroupDefinition)
-        {
-          beginRecording(XSDEditorPlugin.getXSDString("_UI_GROUP_REF_CHANGE"), element); //$NON-NLS-1$
-          XSDModelGroupDefinition modelGroup = (XSDModelGroupDefinition)namedComponent;
-          element.setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
-          endRecording(element);
-        }
-		  }
-		  else if (input instanceof XSDAttributeUse)
-		  {
-		    XSDAttributeUse attributeUse = (XSDAttributeUse)getInput();
-		    Element element = attributeUse.getElement();
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ATTRIBUTE_USE_CHANGE"), element); //$NON-NLS-1$
-        Iterator iter = xsdSchema.getAttributeDeclarations().iterator();
-        while (iter.hasNext())
-        {
-          XSDAttributeDeclaration attr = (XSDAttributeDeclaration)iter.next();
-          if (attr.getQName(xsdSchema).equals(newValue))
-          {
-            attributeUse.setAttributeDeclaration(attr);
-            element.setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
-            break;
-          }
-        }  
-
-        endRecording(element);
-		  }
-    }
-  }
-  
-  public void setEditorPart(IEditorPart editorPart)
-  {
-    this.editorPart = editorPart;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSectionDescriptor.java
deleted file mode 100644
index 26885b6..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ReferenceSectionDescriptor.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.wst.common.ui.properties.ISectionDescriptor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ReferenceSectionDescriptor extends AbstractSectionDescriptor implements ISectionDescriptor
-{
-  ReferenceSection referenceSection;
-  
-  /**
-   * 
-   */
-  public ReferenceSectionDescriptor()
-  {
-    super();
-    this.referenceSection = new ReferenceSection();
-  }
-
-
-  /**
-   * 
-   */
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "org.eclipse.wst.wsdleditor.section.reference";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDNamedComponent.class);
-    list.add(XSDElementDeclaration.class);
-    list.add(XSDModelGroupDefinition.class);
-    list.add(XSDAttributeDeclaration.class);
-    list.add(XSDAttributeUse.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return referenceSection;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    if (part != null)
-    {
-      referenceSection.setEditorPart(part.getSite()
-            .getWorkbenchWindow()
-              .getActivePage()
-                .getActiveEditor());
-    }
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDNamedComponent)
-      {
-        XSDNamedComponent namedComponent = (XSDNamedComponent)object;
-        Element element = namedComponent.getElement();
-        if (element == null)
-        {
-          return false;
-        }
-        if (inputEquals(element, element.getLocalName(), true))
-        {
-          return true;
-        }
-        else
-        {
-          return false;
-        }
-      }
-      else if (object instanceof XSDElementDeclaration)
-      {
-        XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)object;
-        if (elementDeclaration.isElementDeclarationReference())
-        {
-          return true;
-        }
-        else
-        {
-          return false;
-        }
-      }
-      else if (object instanceof XSDAttributeDeclaration)
-      {
-        XSDAttributeDeclaration attr = (XSDAttributeDeclaration)object;
-        if (attr.isAttributeDeclarationReference())
-        {
-          return true;
-        }
-        else
-        {
-          return false;
-        }
-      }
-      else if (object instanceof XSDModelGroupDefinition)
-      {
-        XSDModelGroupDefinition group = (XSDModelGroupDefinition)object;
-        if (group.isModelGroupDefinitionReference())
-        {
-          return true;
-        }
-        else
-        {
-          return false;
-        }
-      }
-      else if (object instanceof XSDAttributeUse)
-      {
-        XSDAttributeUse attributeUse = (XSDAttributeUse)object;
-        XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
-        Element element = attributeUse.getElement();
-        if (inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true))
-        {
-          return true;
-        }
-        else
-        {
-          return false;
-        }
-      }
-      
-    }
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationDescriptor.java
deleted file mode 100644
index 59b47f0..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationDescriptor.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-
-public class SchemaLocationDescriptor extends AbstractSectionDescriptor
-{
-	  SchemaLocationSection schemaLocationSection;
-	  /**
-	   * 
-	   */
-	  public SchemaLocationDescriptor()
-	  {
-	    super();
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-	   */
-	  public String getId()
-	  {
-	    return "com.ibm.xsdeditor.section.schemaLocationSection";
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-	   */
-	  public List getInputTypes()
-	  {
-	    List list = new ArrayList();
-	    list.add(XSDConcreteComponent.class);
-	    return list;
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-	   */
-	  public ISection getSectionClass()
-	  {
-	    return schemaLocationSection;
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-	   */
-	  public String getTargetTab()
-	  {
-	    return "com.ibm.xmlwebservices.general";
-	  }
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	   */
-	  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-	  {
-	    Object object = null;	    
-	    
-	    if (selection instanceof StructuredSelection)
-	    {
-	      StructuredSelection structuredSelection = (StructuredSelection)selection;
-	      object = structuredSelection.getFirstElement();
-	      if (object instanceof XSDInclude || object instanceof XSDRedefine) {
-		    schemaLocationSection = new SchemaLocationSection();
-	      	return true;
-	      }
-	    }
-	    
-	    return false;
-	  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationSection.java
deleted file mode 100644
index 6ba3b72..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SchemaLocationSection.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.viewers.ResourceFilter;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.wizards.XSDSelectIncludeFileWizard;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.impl.XSDIncludeImpl;
-import org.eclipse.xsd.impl.XSDRedefineImpl;
-import org.w3c.dom.Element;
-
-public class SchemaLocationSection extends CommonDirectivesSection
-{
-	  IWorkbenchPart part;
-	  
-	  /**
-	   * 
-	   */
-	  public SchemaLocationSection()
-	  {
-	    super();
-	  }
-
-		/**
-		 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-		 */
-		public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-		{
-			super.createControls(parent, factory);
-			Composite composite = getWidgetFactory().createFlatFormComposite(parent);
-
-      int leftCoordinate = getStandardLabelWidth(composite, 
-          new String[] {XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_LOCATION")});
-      
-			// Create Schema Location Label
-			CLabel schemaLocationLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_LOCATION")); //$NON-NLS-1$
-			
-      // Create Schema Location Text
-      schemaLocationText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
-      
-			// Create Wizard Button
-			wizardButton = getWidgetFactory().createButton(composite, "", SWT.NONE); //$NON-NLS-1$
-      
-      wizardButton.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
-			FormData buttonFormData = new FormData();
-			buttonFormData.left = new FormAttachment(100, -rightMarginSpace + 2);
-			buttonFormData.right = new FormAttachment(100,0);
-			buttonFormData.top = new FormAttachment(schemaLocationText, 0, SWT.CENTER);
-			wizardButton.setLayoutData(buttonFormData);
-			wizardButton.addSelectionListener(this);
-			
-			schemaLocationText.setEditable(true);
-			FormData schemaLocationData = new FormData();
-      schemaLocationData.left = new FormAttachment(0, leftCoordinate);
-      schemaLocationData.right = new FormAttachment(wizardButton, 0);
-			schemaLocationText.setLayoutData(schemaLocationData);
-			schemaLocationText.addListener(SWT.Modify, this);		    
-
-			FormData data = new FormData();
-			data.left = new FormAttachment(0, 0);
-			data.right = new FormAttachment(schemaLocationText, -ITabbedPropertyConstants.HSPACE);
-			data.top = new FormAttachment(schemaLocationText, 0, SWT.CENTER);
-			schemaLocationLabel.setLayoutData(data);
-			
-      // error text
-      errorText = new StyledText(composite, SWT.FLAT);
-      errorText.setEditable(false);
-      errorText.setEnabled(false);
-      errorText.setText("");
-      
-      data = new FormData();
-      data.left = new FormAttachment(schemaLocationText, 0, SWT.LEFT);
-      data.right = new FormAttachment(100, 0);
-      data.top = new FormAttachment(schemaLocationText, 0);
-      errorText.setLayoutData(data);
-		}
-		
-		public void widgetSelected(SelectionEvent event)
-    {
-			if (event.widget == wizardButton)
-      {
-				Shell shell = Display.getCurrent().getActiveShell();
-			    
-				IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
-				ViewerFilter filter = new ResourceFilter(new String[] { ".xsd" },  //$NON-NLS-1$
-			            new IFile[] { currentIFile },
-			            null);
-			      
-			  XSDSelectIncludeFileWizard fileSelectWizard = 
-			      new XSDSelectIncludeFileWizard(xsdSchema, true,
-			          XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_SCHEMA"), //$NON-NLS-1$
-			          XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_DESC"), //$NON-NLS-1$
-			          filter,
-			          (IStructuredSelection) selection);
-
-			  WizardDialog wizardDialog = new WizardDialog(shell, fileSelectWizard);
-			  wizardDialog.create();
-			  wizardDialog.setBlockOnOpen(true);
-			  int result = wizardDialog.open();
-				  
-	      String value = schemaLocationText.getText();
-	      if (result == Window.OK)
-	      {
-	        IFile selectedIFile = fileSelectWizard.getResultFile();
-	        String schemaFileString = value;
-	        if (selectedIFile != null) 
-	        {
-	          schemaFileString = URIHelper.getRelativeURI(selectedIFile.getLocation(), currentIFile.getLocation());
-	        }
-	        else
-	        {
-	          schemaFileString = fileSelectWizard.getURL();
-	        }
-
-          handleSchemaLocationChange(schemaFileString, fileSelectWizard.getNamespace(), null);
-	        refresh();
-			  } 
-			}
-		}
-
-		/*
-		 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-		 */
-		public void refresh()
-		{
-			if (doRefresh)
-			{
-				setListenerEnabled(false);
-
-				Element element = null;
-				if (input instanceof XSDInclude)
-        { 
-					element = ((XSDIncludeImpl) input).getElement();
-				}
-				else if (input instanceof XSDRedefine)
-        {
-					element = ((XSDRedefineImpl) input).getElement();
-				}
-				
-				if (element != null)
-        {
-					String location = ""; //$NON-NLS-1$
-					location = element.getAttribute("schemaLocation"); //$NON-NLS-1$
-          if (location == null)
-          {
-            location = "";
-          }
-					schemaLocationText.setText(location);
-				}
-
-        setListenerEnabled(true);
-			}
-		}
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-	   */
-	  public boolean shouldUseExtraSpace()
-	  {
-	    return true;
-	  }
-    
-    protected void handleSchemaLocationChange(String schemaFileString, String namespace, XSDSchema externalSchema)
-    {
-      if (input instanceof XSDInclude)
-      {
-        Element element = ((XSDIncludeImpl) input).getElement();
-        element.setAttribute("schemaLocation", schemaFileString); //$NON-NLS-1$
-      }
-      else if (input instanceof XSDRedefine)
-      {
-        Element element = ((XSDRedefineImpl) input).getElement();
-        element.setAttribute("schemaLocation", schemaFileString); //$NON-NLS-1$
-      }
-    }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentBaseTypeOptionsDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentBaseTypeOptionsDialog.java
deleted file mode 100644
index 2aa1a50..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentBaseTypeOptionsDialog.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class SimpleContentBaseTypeOptionsDialog extends TypesDialog
-{
-  /**
-   * @param parentShell
-   * @param element
-   * @param id
-   * @param xsdSchema
-   */
-  public SimpleContentBaseTypeOptionsDialog(Shell parentShell, Element element, Object id, XSDSchema xsdSchema)
-  {
-    super(parentShell, element, id, xsdSchema);
-    showAnonymous = false;
-  }
-  
-	protected void ok()
-	{
-		TableItem[] items = table.getItems();
-		int selection = table.getSelectionIndex();
-		if (items != null && items.length > 0 && selection >= 0)
-		 {
-		  typeObject = items[selection].getData();
-		}
-	}
-
-  
-  public void handleSetInput()
-  {
-    XSDDOMHelper domHelper = new XSDDOMHelper();
-    typeSection.getSimpleType().setSelection(false);
-    typeSection.getUserSimpleType().setSelection(false);
-    typeSection.getUserComplexType().setSelection(false);
-    showAnonymous = false;
-    if (element != null)
-    {
-      String derivedBy = domHelper.getDerivedByName(element);
-      String baseType = domHelper.getBaseType(element);
-      boolean derivedByRestriction = true;
-      
-      if (XSDDOMHelper.inputEquals(element, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-      {
-        typeSection.getSimpleType().setEnabled(false);
-        typeSection.getUserSimpleType().setEnabled(false);
-        typeSection.getUserComplexType().setSelection(true);
-
-        previousType = 3;
-      }
-      else if (XSDDOMHelper.inputEquals(element, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-      {
-        typeSection.getSimpleType().setEnabled(false);
-        typeSection.getUserSimpleType().setEnabled(false);
-
-        if (derivedBy.equals("restriction"))
-        {
-          typeSection.getSimpleType().setEnabled(false);
-          typeSection.getUserSimpleType().setEnabled(false);
-          typeSection.getUserComplexType().setEnabled(true);
-        }
-        else if (derivedBy.equals("extension"))
-        {
-          derivedByRestriction = false;
-          typeSection.getSimpleType().setEnabled(true);
-          typeSection.getUserSimpleType().setEnabled(true);
-          typeSection.getUserComplexType().setEnabled(true);
-        }
-      }
-        
-      if (derivedBy != null)
-      {
-          if (baseType != null && !baseType.equals(""))
-          {
-            Element parent = (Element)element.getParentNode();
-            XSDConcreteComponent component = null;
-            if (parent != null)
-            {
-              component = xsdSchema.getCorrespondingComponent(parent);
-            }
-            XSDTypeDefinition baseTypeDefinition = null;
-            if (component instanceof XSDComplexTypeDefinition)
-            {
-              XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition)component;
-              baseTypeDefinition = complexType.getBaseTypeDefinition();
-            }               
-
-            if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(baseType) && !derivedByRestriction)
-            {
-              typeSection.getSimpleType().setSelection(true);
-              populateBuiltInType();
-              int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(baseType);
-              table.setSelection(i);
-              previousType = 1;
-            }
-            else if (baseTypeDefinition instanceof XSDSimpleTypeDefinition && !derivedByRestriction)
-            {
-              typeSection.getUserSimpleType().setSelection(true);
-              populateUserSimpleType();
-              int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(baseType);
-              if (showAnonymous)
-               {
-                table.setSelection(i + 1);
-              }
-              else
-               {
-                table.setSelection(i);
-              }
-              previousType = 2;
-            }
-            else if (baseTypeDefinition instanceof XSDComplexTypeDefinition)
-            {
-              typeSection.getUserComplexType().setSelection(true);
-              populateUserComplexType();
-              int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(baseType);
-              if (showAnonymous)
-               {
-                table.setSelection(i + 1);
-              }
-              else
-               {
-                table.setSelection(i);
-              }
-              previousType = 3;
-            }
-          }
-          else
-          {
-            typeSection.getUserComplexType().setSelection(true);
-            populateUserComplexType();
-            table.setSelection(0);
-          }
-        }
-
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentUnionMemberTypesDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentUnionMemberTypesDialog.java
deleted file mode 100644
index 7434a93..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleContentUnionMemberTypesDialog.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class SimpleContentUnionMemberTypesDialog extends Dialog implements SelectionListener
-{
-  XSDSimpleTypeDefinition simpleType;
-  /**
-   * @param parentShell
-   */
-  public SimpleContentUnionMemberTypesDialog(Shell parentShell, XSDSimpleTypeDefinition simpleType)
-  {
-    super(parentShell);
-    this.simpleType = simpleType;
-  }
-  
-  Table table;
-  TypeSection typeSection;
-  Button addButton, removeButton;
-  org.eclipse.swt.widgets.List memberTypesList;
-  
-  private String result;
-
-  protected void configureShell(Shell shell)
-  {
-    super.configureShell(shell);
-  }
-
-  protected void buttonPressed(int buttonId)
-  {
-    if (buttonId == Dialog.OK)
-    {
-      StringBuffer sb = new StringBuffer();
-      int length = memberTypesList.getItemCount();
-      for (int i=0 ; i < length; i++)
-      {
-        sb.append(memberTypesList.getItem(i));
-        if (i < length - 1)
-        {
-          sb.append(" ");
-        }
-      }
-      result = sb.toString();
-    }
-    super.buttonPressed(buttonId);
-  }
-
-  public String getResult() { return result; }
-
-  //
-  // Create the controls
-  //
-  public Control createDialogArea(Composite parent)
-  {
-    int tabIndex = 0;
-    Composite client = (Composite)super.createDialogArea(parent);
-    getShell().setText("Union " + XSDConstants.MEMBERTYPES_ATTRIBUTE); 
-    
-    Label instructions = new Label(client, SWT.LEFT | SWT.WRAP);
-    instructions.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_SELECT_MEMBERTYPES"));
-    
-    Composite columnsComposite = new Composite(client, SWT.NONE);
-    GridLayout ccGL = new GridLayout();
-    ccGL.verticalSpacing = 0;
-    ccGL.horizontalSpacing = 0;
-    ccGL.marginHeight = 0;
-    ccGL.marginWidth = 0;
-    ccGL.makeColumnsEqualWidth = true;
-    ccGL.numColumns = 3;
-    columnsComposite.setLayout(ccGL);
-    
-    GridData ccGD = new GridData();
-    ccGD.grabExcessHorizontalSpace = true;
-    ccGD.horizontalAlignment = GridData.FILL;
-    columnsComposite.setLayoutData(ccGD);     
-                           
-    typeSection = new TypeSection(columnsComposite);
-    typeSection.setShowUserComplexType(false);
-
-    typeSection.createClient(columnsComposite);
-    typeSection.getSimpleType().setSelection(false);
-    typeSection.getSimpleType().addSelectionListener(this);
-    typeSection.getUserSimpleType().addSelectionListener(this);
-    
-    ViewUtility.createHorizontalFiller(columnsComposite, 1);
-    
-    Label memberListLabel = new Label(columnsComposite, SWT.LEFT);
-    memberListLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES_VALUE"));
-    
-    Composite dataComposite = new Composite(client, SWT.NONE);
-    GridLayout dcGL = new GridLayout();
-    dcGL.verticalSpacing = 0;
-    dcGL.marginHeight = 0;
-    dcGL.marginWidth = 0;
-    dcGL.numColumns = 3;
-    dataComposite.setLayout(dcGL);
-    
-    GridData dcGD = new GridData();
-    dcGD.grabExcessHorizontalSpace = true;
-    dcGD.grabExcessVerticalSpace = true;
-    dataComposite.setLayoutData(dcGD);
-    
-    table = new Table(dataComposite,
-        SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); 
-    table.setHeaderVisible(false);
-    table.setLinesVisible(true);
-    GridData gd2 = new GridData();
-    gd2.grabExcessHorizontalSpace = true;
-    gd2.grabExcessVerticalSpace = true;
-    gd2.horizontalAlignment = GridData.FILL;
-    gd2.verticalAlignment = GridData.FILL;
-    gd2.heightHint = 200;
-    gd2.widthHint = 200;
-    table.setLayoutData(gd2);
-
-    // Fill table
-    handleSetInput();
-    int tableItemCount = table.getItemCount();
-
-    TableColumn tc = new TableColumn(table, SWT.LEFT);
-//    tc.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
-    //tc.setText("Available types:");
-    tc.setWidth(200);
-    tc.setResizable(true);
-    
-    Composite buttonComposite = new Composite(dataComposite, SWT.NONE);
-    GridLayout bcGL = new GridLayout();
-    bcGL.numColumns = 1;
-    buttonComposite.setLayout(bcGL);
-    addButton = new Button(buttonComposite, SWT.PUSH);
-    addButton.setText(">");
-    addButton.addSelectionListener(this);
-    removeButton = new Button(buttonComposite, SWT.PUSH);
-    removeButton.setText("<");
-    removeButton.addSelectionListener(this);
-    
-    Composite listComposite = new Composite(dataComposite, SWT.NONE);
-    GridLayout mtGL = new GridLayout();
-    mtGL.numColumns = 1;
-    mtGL.marginHeight = 0;
-    mtGL.marginWidth = 0;
-    mtGL.horizontalSpacing = 0;
-    mtGL.verticalSpacing = 0;
-    listComposite.setLayout(mtGL);
-
-    GridData mtGD = new GridData();
-    mtGD.grabExcessHorizontalSpace = true;
-    mtGD.grabExcessVerticalSpace = true;
-    mtGD.verticalAlignment = GridData.FILL;
-    mtGD.horizontalAlignment = GridData.FILL;
-    listComposite.setLayoutData(mtGD);
-    
-    memberTypesList = new org.eclipse.swt.widgets.List(listComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-    GridData mtlGD = new GridData();
-    mtlGD.grabExcessHorizontalSpace = true;
-    mtlGD.grabExcessVerticalSpace = true;
-    mtlGD.verticalAlignment = GridData.FILL;
-    mtlGD.horizontalAlignment = GridData.FILL;
-    mtlGD.heightHint = 200;
-    mtlGD.widthHint = 200;
-    memberTypesList.setLayoutData(mtlGD);
-    
-    initializeMemberListContent();
-    return client;
-  }
-
-  private void initializeMemberListContent()
-  {
-//    String result = element.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-//    if (result == null)
-//    {
-//      return;
-//    }
-//    StringTokenizer token = new StringTokenizer(result);
-//    while (token.hasMoreTokens())
-//    {
-//      memberTypesList.add(token.nextToken());
-//    }
-    XSDSchema schema = simpleType.getSchema();
-    for (Iterator i = simpleType.getMemberTypeDefinitions().iterator(); i.hasNext(); )
-    {
-      String name = ((XSDSimpleTypeDefinition)i.next()).getQName(schema);
-      if (name != null)
-      memberTypesList.add(name);
-    }
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-   */
-  public void widgetSelected(SelectionEvent e)
-  {
-    if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
-     {
-      populateBuiltInType();
-    }
-    else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
-     {
-      populateUserSimpleType(false);
-    }
-    else if (e.widget == addButton)
-    {
-      TableItem[] items = table.getItems();
-      int selection = table.getSelectionIndex();
-      if (items != null && items.length > 0 && selection >= 0)
-      {
-        String typeToAdd = items[selection].getData().toString();
-        if (memberTypesList.indexOf(typeToAdd) < 0)
-        {
-          memberTypesList.add(items[selection].getData().toString());
-        }
-      }
-    }
-    else if (e.widget == removeButton)
-    {
-      String[] typesToRemove = memberTypesList.getSelection();
-      for (int i=0; i < typesToRemove.length; i++)
-      {
-        memberTypesList.remove(typesToRemove[i]);
-      }
-    }
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-   */
-  public void widgetDefaultSelected(SelectionEvent e)
-  {
-  }
-  
-  public void handleSetInput()
-  {
-    populateBuiltInType();
-  }
-  
-  public void populateBuiltInType()
-  {
-    table.removeAll();
-    List items = getBuiltInTypeNamesList();
-    for (int i = 0; i < items.size(); i++)
-     {
-      TableItem item = new TableItem(table, SWT.NONE);
-      item.setText(items.get(i).toString());
-      item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-      item.setData(items.get(i));
-    }
-  }
-
-  public void populateUserSimpleType(boolean showAnonymous)
-  {
-    table.removeAll();
-    if (showAnonymous)
-     {
-      TableItem anonymousItem = new TableItem(table, SWT.NONE);
-      anonymousItem.setText("**anonymous**");
-      anonymousItem.setData("**anonymous**");
-    }
-    List items = getUserSimpleTypeNamesList();
-    for (int i = 0; i < items.size(); i++)
-     {
-      TableItem item = new TableItem(table, SWT.NONE);
-      item.setText(items.get(i).toString());
-      item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-      item.setData(items.get(i));
-    }
-  }
-  
-  public java.util.List getBuiltInTypeNamesList()
-  {
-    TypesHelper helper = new TypesHelper(simpleType.getSchema());
-    return helper.getBuiltInTypeNamesList();
-  }
-
-  public java.util.List getUserSimpleTypeNamesList()
-  {
-    TypesHelper helper = new TypesHelper(simpleType.getSchema());
-    return helper.getUserSimpleTypeNamesList();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSection.java
deleted file mode 100644
index 6e38870..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSection.java
+++ /dev/null
@@ -1,571 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateElementAction;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionDialog;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDSetTypeHelper;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class SimpleTypeSection extends AbstractSection
-{
-  CCombo varietyCombo;
-  Text typesText;
-  CLabel typesLabel;
-  Button button;
-
-  /**
-   * 
-   */
-  public SimpleTypeSection()
-  {
-    super();
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		composite = getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		varietyCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
-		CLabel label = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_VARIETY")); //$NON-NLS-1$
-    
-		List list = XSDVariety.VALUES;	
-		Iterator iter = list.iterator();
-		while (iter.hasNext())
-		{
-		  varietyCombo.add(((XSDVariety)iter.next()).getName());
-		}
-    varietyCombo.addSelectionListener(this);
-
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-		data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(0, 0);
-		varietyCombo.setLayoutData(data);
-
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(varietyCombo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(varietyCombo, 0, SWT.CENTER);
-		label.setLayoutData(data);
-    
-    typesText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-    typesLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
-    button = getWidgetFactory().createButton(composite, "", SWT.PUSH); //$NON-NLS-1$
-    button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
-    
-    typesText.addListener(SWT.Modify, this);
-
-    data = new FormData();
-    data.left = new FormAttachment(0, 100);
-    data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
-    data.top = new FormAttachment(button, 0, SWT.CENTER);
-    typesText.setLayoutData(data);
-
-    data = new FormData();
-    data.left = new FormAttachment(0, 0);
-    data.right = new FormAttachment(typesText, -ITabbedPropertyConstants.HSPACE);
-    data.top = new FormAttachment(button, 0, SWT.CENTER);
-    typesLabel.setLayoutData(data);
-
-    button.addSelectionListener(this);
-    data = new FormData();
-    data.left = new FormAttachment(typesText, 0);
-    data.right = new FormAttachment(100,0);
-    data.top = new FormAttachment(varietyCombo, +ITabbedPropertyConstants.VSPACE);
-    button.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-	  setListenerEnabled(false);
-    if (isReadOnly)
-    {
-      composite.setEnabled(false);
-    }
-    else
-    {
-      composite.setEnabled(true);
-    }
-	  Object input = getInput();
-	  varietyCombo.setText(""); //$NON-NLS-1$
-    typesText.setText(""); //$NON-NLS-1$
-    typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
-	  if (input != null)
-	  {
-	    if (input instanceof XSDSimpleTypeDefinition)
-	    {
-	      XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-        
-        Element simpleTypeElement = st.getElement();
-        Element element = null;
-	      String variety = st.getVariety().getName();
-        
-        int intVariety = st.getVariety().getValue();
-        
-	      if (variety != null)
-	      {
-          varietyCombo.setText(variety);
-          if (intVariety == XSDVariety.ATOMIC)
-          {
-            element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.RESTRICTION_ELEMENT_TAG);
-//            if (element == null)
-//            {
-//              element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.EXTENSION_ELEMENT_TAG);
-//              if (element == null) return;
-//            }
-            
-            if (element == null)
-            {
-              varietyCombo.setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE")); // "Select a simple type variety"); //$NON-NLS-1$            
-            }
-            else
-            {
-              String result = element.getAttribute(XSDConstants.BASE_ATTRIBUTE);
-              if (result == null)
-              {
-                typesText.setText("**anonymous**"); //$NON-NLS-1$
-              }
-              else
-              {
-                typesText.setText(result);
-              }
-            }
-            typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
-          }
-          else if (intVariety == XSDVariety.LIST)
-          {
-            element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
-            if (element != null)
-            {
-              String result = element.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
-              if (result == null)
-              {
-                typesText.setText("**anonymous**"); //$NON-NLS-1$
-              }
-              else
-              {
-                typesText.setText(result);
-              }
-            }
-            typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_ITEM_TYPE")); //$NON-NLS-1$
-          }
-          else if (intVariety == XSDVariety.UNION)
-          {
-            Element unionElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.UNION_ELEMENT_TAG);
-            if (unionElement != null)
-            {
-              String memberTypes = unionElement.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-              if (memberTypes != null)
-              {
-                typesText.setText(memberTypes);
-              }
-            }
-            typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
-          }
-	      }
-	    }
-	  }
-	  setListenerEnabled(true);
-	}
-
-  /**
-   * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
-   */
-  public void widgetSelected(SelectionEvent e)
-  {
-	  Object input = getInput();
-    if (e.widget == varietyCombo)
-    {
-  	  if (input != null)
-  	  {
-  	    if (input instanceof XSDSimpleTypeDefinition)
-  	    {
-  	      XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-          Element parent = st.getElement();
-          
-  	      String variety = varietyCombo.getText();
-  	      if (variety.equals(XSDVariety.ATOMIC_LITERAL.getName()))
-          {
-            typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
-            st.setVariety(XSDVariety.ATOMIC_LITERAL);
-            List attributes = new ArrayList();
-            addCreateElementActionIfNotExist(XSDConstants.RESTRICTION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_RESTRICTION"), parent, null); //$NON-NLS-1$
-          }
-  	      else if (variety.equals(XSDVariety.UNION_LITERAL.getName()))
-  	      {
-            typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
-            st.setVariety(XSDVariety.UNION_LITERAL);
-            addCreateElementActionIfNotExist(XSDConstants.UNION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_UNION"), parent, null); //$NON-NLS-1$
-          }
-  	      else if (variety.equals(XSDVariety.LIST_LITERAL.getName()))
-  	      {
-            typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_ITEM_TYPE")); //$NON-NLS-1$
-            st.setVariety(XSDVariety.LIST_LITERAL);
-            addCreateElementActionIfNotExist(XSDConstants.LIST_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LIST"), parent, null); //$NON-NLS-1$
-          }
-  	    }
-  	  }
-    }
-    else if (e.widget == button)
-    {
-      Shell shell = Display.getCurrent().getActiveShell();
-      Element element = ((XSDConcreteComponent)input).getElement();
-      Dialog dialog = null;
-      String property = "";
-      Element secondaryElement = null;
-      
-      IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
-
-      XSDComponentSelectionProvider provider = new XSDComponentSelectionProvider(currentIFile, xsdSchema);
-      dialog = new XSDComponentSelectionDialog(shell, "Set Type", provider);  // TODO: Externalize This
-      provider.setDialog((XSDComponentSelectionDialog) dialog);
-      
-      if (input instanceof XSDSimpleTypeDefinition)
-      {
-        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-        Element simpleTypeElement = st.getElement();
-        if (st.getVariety() == XSDVariety.LIST_LITERAL)
-        {
-          Element listElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
-//          dialog = new TypesDialog(shell, listElement, XSDConstants.ITEMTYPE_ATTRIBUTE, xsdSchema);
-//          dialog.showComplexTypes = false;
-          provider.showComplexTypes(false);
-          
-          secondaryElement = listElement;
-          property = XSDConstants.ITEMTYPE_ATTRIBUTE;
-        }
-        else if (st.getVariety() == XSDVariety.ATOMIC_LITERAL)
-        {
-          Element derivedByElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.RESTRICTION_ELEMENT_TAG);
-          if (derivedByElement == null)
-          {
-            derivedByElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.EXTENSION_ELEMENT_TAG);
-            if (derivedByElement == null) return;
-          }
-          if (derivedByElement != null)
-          {
-//            dialog = new TypesDialog(shell, derivedByElement, XSDConstants.BASE_ATTRIBUTE, xsdSchema);
-//            dialog.showComplexTypes = false;
-              provider.showComplexTypes(false);
-
-              secondaryElement = derivedByElement;
-              property = XSDConstants.BASE_ATTRIBUTE;
-          }
-          else
-          {
-            return;
-          }
-        }
-        else if (st.getVariety() == XSDVariety.UNION_LITERAL)
-        {
-          SimpleContentUnionMemberTypesDialog unionDialog = new SimpleContentUnionMemberTypesDialog(shell, st);
-          unionDialog.setBlockOnOpen(true);
-          unionDialog.create();
-          
-          int result = unionDialog.open();
-          if (result == Window.OK)
-          {
-            String newValue = unionDialog.getResult();
-            beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES_CHANGE"), element); //$NON-NLS-1$
-            Element unionElement = (Element)domHelper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
-            unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
-
-            if (newValue.length() > 0)
-            {
-              unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
-            }
-            else
-            {
-              unionElement.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);  
-            }
-            endRecording(unionElement);
-            if (doRefresh)
-            {
-              refresh();
-            }
-          }
-          return;
-        }
-        else
-        {
-//          dialog = new TypesDialog(shell, element, "type", xsdSchema); //$NON-NLS-1$
-            property = "type";
-        }
-      }
-      else
-      {
-//        dialog = new TypesDialog(shell, element, "type", xsdSchema); //$NON-NLS-1$
-          property = "type";
-      }
-      beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element); //$NON-NLS-1$
-      dialog.setBlockOnOpen(true);
-      dialog.create();
-      int result = dialog.open();
-      
-      if (result == Window.OK)
-      {
-          if (secondaryElement == null) {
-              secondaryElement = element;
-          }
-          XSDSetTypeHelper helper = new XSDSetTypeHelper(currentIFile, xsdSchema);
-          helper.setType(secondaryElement, property, ((XSDComponentSelectionDialog) dialog).getSelection());          
-
-        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
-        st.setElement(element);
-        updateSimpleTypeFacets();
-      }
-      endRecording(element);
-    }
-    if (doRefresh)
-    {
-      refresh();
-    }
-  }
-
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-
-  
-  protected boolean addCreateElementActionIfNotExist(String elementTag, String label, Element parent, Node relativeNode)
-  {
-    XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
-    List attributes = new ArrayList();
-    String reuseType = null;
-    
-    beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_VARIETY_CHANGE"), parent); //$NON-NLS-1$
-    if (elementTag.equals(XSDConstants.RESTRICTION_ELEMENT_TAG))
-    {
-      Element listNode = getFirstChildNodeIfExists(parent, XSDConstants.LIST_ELEMENT_TAG, false);
-      if (listNode != null)
-      {
-        reuseType = listNode.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
-        XSDDOMHelper.removeNodeAndWhitespace(listNode);
-      }
-
-      Element unionNode = getFirstChildNodeIfExists(parent, XSDConstants.UNION_ELEMENT_TAG, false);
-      if (unionNode != null)
-      {
-        String memberAttr = unionNode.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-        if (memberAttr != null)
-        {
-          StringTokenizer stringTokenizer = new StringTokenizer(memberAttr);
-          reuseType = stringTokenizer.nextToken();
-        }
-        XSDDOMHelper.removeNodeAndWhitespace(unionNode);
-      }
-
-      if (reuseType == null)
-      {
-        reuseType = getBuiltInStringQName();        
-      }
-      attributes.add(new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, reuseType));
-      st.setItemTypeDefinition(null);
-    }
-    else if (elementTag.equals(XSDConstants.LIST_ELEMENT_TAG))
-    {
-      Element restrictionNode = getFirstChildNodeIfExists(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false);
-      if (restrictionNode != null)
-      {
-        reuseType = restrictionNode.getAttribute(XSDConstants.BASE_ATTRIBUTE);
-        XSDDOMHelper.removeNodeAndWhitespace(restrictionNode);
-      }
-      Element unionNode = getFirstChildNodeIfExists(parent, XSDConstants.UNION_ELEMENT_TAG, false);
-      if (unionNode != null)
-      {
-        String memberAttr = unionNode.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-        if (memberAttr != null)
-        {
-          StringTokenizer stringTokenizer = new StringTokenizer(memberAttr);
-          reuseType = stringTokenizer.nextToken();
-        }
-        XSDDOMHelper.removeNodeAndWhitespace(unionNode);
-      }
-      attributes.add(new DOMAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, reuseType));
-    }
-    else if (elementTag.equals(XSDConstants.UNION_ELEMENT_TAG))
-    {
-      Element listNode = getFirstChildNodeIfExists(parent, XSDConstants.LIST_ELEMENT_TAG, false);
-      if (listNode != null)
-      {
-        reuseType = listNode.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
-        XSDDOMHelper.removeNodeAndWhitespace(listNode);
-      }
-      Element restrictionNode = getFirstChildNodeIfExists(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false);
-      if (restrictionNode != null)
-      {
-        reuseType = restrictionNode.getAttribute(XSDConstants.BASE_ATTRIBUTE);
-        XSDDOMHelper.removeNodeAndWhitespace(restrictionNode);
-      }
-      attributes.add(new DOMAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, reuseType));
-      st.setItemTypeDefinition(null);
-    }
-    
-    if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
-    {
-      Action action = addCreateElementAction(elementTag,label,attributes,parent,relativeNode);
-      action.run();
-    }
-
-    st.setElement(parent);
-//    st.updateElement();
-    endRecording(parent);
-    return true;
-  }
-
-  protected Action addCreateElementAction(String elementTag, String label, List attributes, Element parent, Node relativeNode)
-  {
-    CreateElementAction action = new CreateElementAction(label);
-    action.setElementTag(elementTag);
-    action.setAttributes(attributes);
-    action.setParentNode(parent);
-    action.setRelativeNode(relativeNode);
-    return action;
-  }
-
-  
-  protected Element getFirstChildNodeIfExists(Node parent, String elementTag, boolean isRef)
-  {
-    NodeList children = parent.getChildNodes();
-    Element targetNode = null;
-    for (int i=0; i < children.getLength(); i++)
-    {
-      Node child = children.item(i);
-      if (child != null && child instanceof Element)
-      {
-        if (XSDDOMHelper.inputEquals((Element)child, elementTag, isRef))
-        {
-          targetNode = (Element)child;
-          break;
-        }
-      }
-    }
-    return targetNode;
-  }
-
-  protected String getBuiltInStringQName()
-  {
-    String stringName = "string"; //$NON-NLS-1$
-    
-    if (getSchema() != null)
-    {
-      String schemaForSchemaPrefix = getSchema().getSchemaForSchemaQNamePrefix();
-      if (schemaForSchemaPrefix != null && schemaForSchemaPrefix.length() > 0)
-      {
-        String prefix = getSchema().getSchemaForSchemaQNamePrefix();
-        if (prefix != null && prefix.length() > 0)
-        {
-          stringName = prefix + ":" + stringName; //$NON-NLS-1$
-        }
-      }
-    }
-    return stringName;
-  }
-
-  private void updateSimpleTypeFacets()
-  {
-    XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
-    Element simpleTypeElement = st.getElement();
-    Element derivedByElement = getDomHelper().getDerivedByElement(simpleTypeElement);
-    if (derivedByElement != null)
-    {
-      List nodesToRemove = new ArrayList();
-      NodeList childList = derivedByElement.getChildNodes();
-      int length = childList.getLength();
-      for (int i = 0; i < length; i++)
-      {
-        Node child = childList.item(i);
-        if (child instanceof Element)
-        {
-          Element elementChild = (Element)child;
-          if (!(elementChild.getLocalName().equals("pattern") || elementChild.getLocalName().equals("enumeration") || //$NON-NLS-1$
-               XSDDOMHelper.inputEquals(elementChild, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false) ||
-               XSDDOMHelper.inputEquals(elementChild, XSDConstants.ANNOTATION_ELEMENT_TAG, false) ||
-               XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
-               XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true) ||
-               XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false) ||
-               XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true) ||
-               XSDDOMHelper.inputEquals(elementChild, XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false)
-               ))
-          {
-            nodesToRemove.add(child);
-          }
-        }
-      }
-      Iterator iter = nodesToRemove.iterator();
-      while (iter.hasNext())
-      {
-        Element facetToRemove = (Element)iter.next();
-        String facetName = facetToRemove.getLocalName();
-        Iterator it = st.getValidFacets().iterator();
-        boolean doRemove = true;
-        while (it.hasNext())
-        {
-          String aValidFacet = (String)it.next();
-          if (aValidFacet.equals(facetName))
-          {
-            doRemove = false;
-            break;
-          }
-        }
-        if (doRemove)
-        {
-          XSDDOMHelper.removeNodeAndWhitespace(facetToRemove);
-        }
-      }
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSectionDescriptor.java
deleted file mode 100644
index 71871e2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeSectionDescriptor.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-
-public class SimpleTypeSectionDescriptor extends AbstractSectionDescriptor
-{
-
-  /**
-   * 
-   */
-  public SimpleTypeSectionDescriptor()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.simpletype";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDSimpleTypeDefinition.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new SimpleTypeSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-  
-  public String getAfterSection()
-  {
-    return "com.ibm.xsdeditor.section.name";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDSimpleTypeDefinition)
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSection.java
deleted file mode 100644
index 5754ef2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSection.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class SimpleTypeUnionSection extends AbstractSection
-{
-  Text memberTypesText;
-  Button button;
-
-  /**
-   * 
-   */
-  public SimpleTypeUnionSection()
-  {
-    super();
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		composite = getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		memberTypesText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		CLabel label = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
-    button = getWidgetFactory().createButton(composite, "...", SWT.PUSH); //$NON-NLS-1$
-    
-    memberTypesText.addListener(SWT.Modify, this);
-//    memberTypesText.addSelectionListener(this);
-
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-		data.right = new FormAttachment(95, 0);
-		data.top = new FormAttachment(button, 0, SWT.CENTER);
-		memberTypesText.setLayoutData(data);
-
-
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(memberTypesText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(button, 0, SWT.CENTER);
-		label.setLayoutData(data);
-
-    button.addSelectionListener(this);
-		data = new FormData();
-		data.left = new FormAttachment(memberTypesText, +ITabbedPropertyConstants.HSPACE);
-		data.right = new FormAttachment(100,0);
-		// data.top = new FormAttachment(typeCombo, 0, SWT.CENTER);
-		data.top = new FormAttachment(0,0);
-		button.setLayoutData(data);
-		
-	}
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-	  setListenerEnabled(false);
-	  Object input = getInput();
-    if (isReadOnly)
-    {
-      composite.setEnabled(false);
-    }
-    else
-    {
-      composite.setEnabled(true);
-    }
-	  memberTypesText.setText(""); //$NON-NLS-1$
-	  if (input != null)
-	  {
-	    Element element = null;
-	    if (input instanceof XSDSimpleTypeDefinition)
-	    {
-	      XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-	      element = st.getElement();
-        Element unionElement = (Element)domHelper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
-        String memberTypes = unionElement.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-        if (memberTypes != null)
-        {
-          memberTypesText.setText(memberTypes);
-        }
-	      
-//        StringBuffer buf = new StringBuffer();	      
-//	      if (st.getMemberTypeDefinitions().size() > 0)
-//	      {
-//	        for (Iterator i = st.getMemberTypeDefinitions().iterator(); i.hasNext(); )
-//	        {
-//	          String name = ((XSDSimpleTypeDefinition)i.next()).getQName(getSchema());
-//	          if (name != null)
-//	          {
-//	            buf.append(name);
-//	            buf.append(" ");
-//	          }
-//	        }
-//	      }
-//	      memberTypesText.setText(buf.toString());
-	    }
-	  }
-	  setListenerEnabled(true);
-	}
-
-  /**
-   * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
-   */
-  public void widgetSelected(SelectionEvent e)
-  {
-    if (e.widget == button)
-    {
-	    Shell shell = Display.getCurrent().getActiveShell();
-      
-	    XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)getInput();
-	    Element element = st.getElement();
-      SimpleContentUnionMemberTypesDialog dialog = new SimpleContentUnionMemberTypesDialog(shell, st);
-      dialog.setBlockOnOpen(true);
-      dialog.create();
-      
-      int result = dialog.open();
-      if (result == Window.OK)
-      {
-        String newValue = dialog.getResult();
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES_CHANGE"), element); //$NON-NLS-1$
-        Element unionElement = (Element)domHelper.getChildNode(element, XSDConstants.UNION_ELEMENT_TAG);
-        unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
-
-        if (newValue.length() > 0)
-        {
-          unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
-        }
-        else
-        {
-          unionElement.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);  
-        }
-        endRecording(unionElement);
-
-      }
-
-      refresh();
-    }
-  }
-  
-  public void doHandleEvent(Event event)
-  {
-	  if (event.widget == memberTypesText)
-	  {
-	  }
-
-  }
-
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSectionDescriptor.java
deleted file mode 100644
index e21bada..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/SimpleTypeUnionSectionDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public class SimpleTypeUnionSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public SimpleTypeUnionSectionDescriptor()
-  {
-    super();
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.simpletypeunion";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDSimpleTypeDefinition.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new SimpleTypeUnionSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-//    if (selection instanceof StructuredSelection)
-//    {
-//      StructuredSelection structuredSelection = (StructuredSelection)selection;
-//      object = structuredSelection.getFirstElement();
-//      if (object instanceof XSDSimpleTypeDefinition)
-//      {
-//        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)object;
-//        if (st.getVariety().getValue() == XSDVariety.UNION)
-//        {
-//          return true;
-//        }
-//      }
-//    }
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TextChangeHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TextChangeHelper.java
deleted file mode 100644
index 0df6ffa..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TextChangeHelper.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-public abstract class TextChangeHelper implements Listener
-{
-	private boolean nonUserChange;
-
-	/**
-	 * Marks the start of a programmatic change to the widget contents.
-	 * Clients must call startNonUserChange() before directly setting 
-	 * the widget contents to avoid unwanted lifecycle events.
-	 * @throws IllegalArgumentException if a programmatic change is 
-	 * already in progress.
-	 */
-	public void startNonUserChange() {
-		if (nonUserChange)
-			throw new IllegalStateException("we already started a non user change");//$NON-NLS-1$
-		nonUserChange = true;
-	}
-
-	/**
-	 * Clients who call startNonUserChange() should call 
-	 * finishNonUserChange() as soon as possible after the change is done.
-	 * @throws IllegalArgumentException if no change is in progress.
-	 */
-	public void finishNonUserChange() {
-		if (!nonUserChange)
-			throw new IllegalStateException("we are not in a non user change");//$NON-NLS-1$
-		nonUserChange = false;
-	}
-
-	/**
-	 * Returns true if a programmatic change is in progress.
-	 */
-	public boolean isNonUserChange() {
-		return nonUserChange;
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(Event event) {
-		switch (event.type) {
-			case SWT.KeyDown :
-				if (event.character == SWT.CR)
-					textChanged((Control)event.widget);
-				break;
-			case SWT.FocusOut :
-				textChanged((Control)event.widget);
-				break;
-		}
-	}
-
-	/**
-	 * Abstract method notified when a text field has been changed.
-	 * @param control
-	 */
-	public abstract void textChanged(Control control);
-
-	/**
-	 * Registers this helper with the given control to listen for events
-	 * which indicate that a change is in progress (or done).
-	 */
-	public void startListeningTo(Control control) {
-		control.addListener(SWT.FocusOut, this);
-		control.addListener(SWT.Modify, this);
-	}
-
-	/**
-	 * Registers this helper with the given control to listen for the
-	 * Enter key.  When Enter is pressed, the change is considered done 
-	 * (this is only appropriate for single-line Text widgets).
-	 */
-	public void startListeningForEnter(Control control) {
-		// NOTE: KeyDown rather than KeyUp, because of similar usage in CCombo. 
-		control.addListener(SWT.KeyDown, this);
-	}
-
-	/**
-	 * Unregisters this helper from a control previously passed to
-	 * startListeningTo() and/or startListeningForEnter().
-	 */
-	public void stopListeningTo(Control control) {
-		control.removeListener(SWT.FocusOut, this);
-		control.removeListener(SWT.Modify, this);
-		control.removeListener(SWT.KeyDown, this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java
deleted file mode 100644
index 6671ebc..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesDialog.java
+++ /dev/null
@@ -1,726 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-public class TypesDialog extends Dialog implements SelectionListener, Listener
-{
-  XSDSchema xsdSchema;
-  String property;
-
-  /**
-   * @param parentShell
-   */
-  public TypesDialog(Shell parentShell, Element element, Object id, XSDSchema xsdSchema)
-  {
-    super(parentShell);
-    setShellStyle(getShellStyle() | SWT.RESIZE);
-    this.element = element;
-    this.property = (String)id;
-    this.element = element;
-    this.xsdSchema = xsdSchema;
-
-    if (XSDDOMHelper.inputEquals(element, XSDConstants.ELEMENT_ELEMENT_TAG, false))
-    {
-      showComplexTypes = true;
-    }
-    else if (XSDDOMHelper.inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) ||
-      XSDDOMHelper.inputEquals(element, XSDConstants.LIST_ELEMENT_TAG, false) ||
-      XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
-    {
-      showComplexTypes = false;
-    }
-  }
-
-  String type;
-  Object typeObject;
-  Text textField;
-  Table table;
-  TableColumn tableColumn;
-  Element element;
-  
-  boolean showComplexTypes = true;
-  TypeSection typeSection;
-  boolean showAnonymous = true;
-  String previousStringType = "";
-  boolean isAnonymous;
-  int previousType;
-
-  protected void configureShell(Shell shell)
-  {
-    super.configureShell(shell);
-  }
-
-  protected void buttonPressed(int buttonId)
-  {
-    if (buttonId == Dialog.OK)
-    {
-      type = table.getItem(table.getSelectionIndex()).getText();
-      ok();
-    }
-    super.buttonPressed(buttonId);
-  }
-
-  public Object getTypeObject() { return typeObject; }
-  public String getType() { return type; }
-
-  //
-  // Create the controls
-  //
-  public Control createDialogArea(Composite parent)
-  {
-    int tabIndex = 0;
-    Composite client = (Composite)super.createDialogArea(parent);
-    getShell().setText(XSDEditorPlugin.getXSDString("_UI_LABEL_AVAILABLE_TYPES"));
-
-    typeObject = null;
-    
-    GridLayout gl = new GridLayout(1, true);
-//    gl.marginHeight = 0;
-//    gl.marginWidth = 0;
-//    gl.horizontalSpacing = 0;
-//    gl.verticalSpacing = 0;
-    client.setLayout(gl);
-
-    GridData gd = new GridData();
-    gd.grabExcessHorizontalSpace = true;
-    gd.grabExcessVerticalSpace = true;
-    gd.horizontalAlignment = GridData.FILL;
-    gd.verticalAlignment = GridData.FILL;
-    gd.horizontalIndent = 0;
-    client.setLayoutData(gd);
-    
-    typeSection = new TypeSection(client);
-    typeSection.setShowUserComplexType(showComplexTypes);
-
-    typeSection.createClient(client);
-    typeSection.getSimpleType().setSelection(false);
-    typeSection.getSimpleType().addSelectionListener(this);
-    typeSection.getUserSimpleType().addSelectionListener(this);
-    if (showComplexTypes)
-    {
-      typeSection.getUserComplexType().addSelectionListener(this);
-    }
-
-    textField = ViewUtility.createTextField(client, 50);
-    textField.addListener(SWT.Modify, this);
-    ViewUtility.createVerticalFiller(client, 0);
-
-    table = new Table(client,
-                      SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); 
-    table.setHeaderVisible(false);
-    table.setLinesVisible(true);
-    table.addSelectionListener(this);
-    
-    GridData gd2 = new GridData();
-    gd2.grabExcessHorizontalSpace = true;
-    gd2.grabExcessVerticalSpace = true;
-    gd2.horizontalAlignment = GridData.FILL;
-    gd2.verticalAlignment = GridData.FILL;
-    gd2.heightHint = 200;
-    table.setLayoutData(gd2);
-    table.addListener(SWT.Resize, this);
-    
-    tableColumn = new TableColumn(table, SWT.LEFT);
-//    tableColumn.setImage(XSDEditorPlugin.getXSDImage("icons/XSDElement.gif"));
-    tableColumn.setResizable(true);
-    tableColumn.setWidth(200);
-
-    // Fill table and select input type
-    handleSetInput();
-
-    return client;
-  }
-  
-  public void handleEvent(Event event)
-  {
-  	if (event.type == SWT.Resize && event.widget == table) {
-  		tableColumn.setWidth(table.getSize().x);
-  	}
-  	else if (event.type == SWT.Modify && event.widget == textField) {
-  		List items = null;
-  		boolean showAll = false;
-  		String inputString = textField.getText();
-  		
-  		if (inputString.equals("")) {
-  			showAll = true;
-  		}
-  		else {
-  			inputString = insertString("*", ".", inputString);
-  			inputString = insertString("?", ".", inputString);
-  			inputString = inputString + ".*";
-  		}
-  		
-  		try {
-  			if (typeSection.getSimpleType().getSelection())
-  			{
-  				if (showAll) {
-  					populateBuiltInType();
-  				}
-  				else {
-  					populateBuiltInType(inputString);
-  				}
-  			}
-  			else if (typeSection.getUserComplexType().getSelection())
-  			{
-  				if (showAll) {
-  					populateUserComplexType();
-  				}
-  				else {
-  					populateUserComplexType(inputString);
-  				}
-  			}
-  			else if (typeSection.getUserSimpleType().getSelection())
-  			{
-  				if (showAll) {
-  					populateUserSimpleType();
-  				}
-  				else {
-  					populateUserSimpleType(inputString);
-  				}
-  			}
-  		}
-  		catch (Exception e) {
-  			// Do nothing
-  		}
-  	}
-  	
-  	setEnabledState();
-  }
-  
-  private void setEnabledState() {
-  	if (table.getSelectionIndex() != -1) {
-  		this.getButton(IDialogConstants.OK_ID).setEnabled(true);
-  	}
-  	else {
-  		this.getButton(IDialogConstants.OK_ID).setEnabled(false);
-  	}
-  }
-  
-  private String insertString(String target, String newString, String string) {
-  	ArrayList list = new ArrayList();
-  	StringBuffer stringBuffer = new StringBuffer(string);
-  	
-  	int index = stringBuffer.indexOf(target);
-  	while (index != -1) {
-  		stringBuffer = stringBuffer.insert(index, newString);
-  		index = stringBuffer.indexOf(target, index + newString.length() + target.length());
-  	}
-  	
-  	return stringBuffer.toString();
-  }
-  
-  public void widgetSelected(SelectionEvent e)
-  {
-    if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
-    {
-    	if (textField.getText().equals("")) {
-    		populateBuiltInType();
-    	}
-    	else {
-    		populateBuiltInType(textField.getText());
-    	}
-    }
-    else if (e.widget == typeSection.getUserComplexType() && typeSection.getUserComplexType().getSelection())
-    {
-    	if (textField.getText().equals("")) {
-    		populateUserComplexType();
-    	}
-    	else {
-    		populateUserComplexType(textField.getText());
-    	}
-    }
-    else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
-    {
-    	if (textField.getText().equals("")) {
-    		populateUserSimpleType();
-    	}
-    	else {
-    		populateUserSimpleType(textField.getText());
-    	}
-    }
-    setEnabledState();
-  }
-  
-	public void widgetDefaultSelected(SelectionEvent e)
-  {
-  }
-
-  protected void ok()
-  {
-    TableItem[] items = table.getItems();
-    int selection = table.getSelectionIndex();
-    if (items != null && items.length > 0 && selection >= 0)
-    {
-      typeObject = items[selection].getData();
-    }
-//    System.out.println("typeObject is " + typeObject);
-
-//    beginRecording(XSDEditorPlugin.getXSDString("_UI_ELEMENT_TYPE_CHANGE"), element);
-//    beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"), element);
-//    doSetValue(typeObject);
-//    applyEditorValueAndDeactivate();
-//    dialog.close();
-
-    if (!XSDDOMHelper.inputEquals(element, XSDConstants.UNION_ELEMENT_TAG, false))
-    {
-	    if (typeObject.equals("**anonymous**"))
-	    {
-	      if (typeSection.getUserSimpleType().getSelection())
-	      {
-//	        if (!previousStringType.equals("**anonymous**"))
-	        {
-	          updateElementToAnonymous(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-	        }
-	      }
-	      else
-	      {
-//	        if (!previousStringType.equals("**anonymous**"))
-	        {
-	          updateElementToAnonymous(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-	        }
-	      }
-	      // element.removeAttribute(XSDConstants.TYPE_ATTRIBUTE);
-	      element.removeAttribute(property);
-	    }
-	    else
-	    {
-	      XSDDOMHelper.updateElementToNotAnonymous(element);
-	      //element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, typeObject.toString());
-	      element.setAttribute(property, typeObject.toString());
-	    }
-    }
-//    endRecording(element);
-
-    //implement dispose();
-//    table.removeAll();
-//    table.dispose();
-  }
-
-	
-  public void handleSetInput()
-  {
-    table.removeAll();
-    isAnonymous = checkForAnonymousType(element);
-    // Attr attr = element.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
-    Attr attr = element.getAttributeNode(property);
-    if (attr != null)
-    {
-      String value = attr.getValue();
-      if (typeSection.getBuiltInTypeNamesList(xsdSchema).contains(value))
-      {
-        typeSection.getSimpleType().setSelection(true);
-        populateBuiltInType();
-        int i = typeSection.getBuiltInTypeNamesList(xsdSchema).indexOf(value);
-        table.setSelection(i);
-        previousType = 1;
-      }
-      else if (typeSection.getUserSimpleTypeNamesList(xsdSchema).contains(value))
-      {
-        typeSection.getUserSimpleType().setSelection(true);
-        populateUserSimpleType();
-        int i = typeSection.getUserSimpleTypeNamesList(xsdSchema).indexOf(value);
-        if (showAnonymous)
-        {
-          table.setSelection(i + 1);
-        }
-        else
-        {
-          table.setSelection(i);
-        }
-        previousType = 2;
-      }
-      else if (typeSection.getUserComplexTypeNamesList(xsdSchema).contains(value))
-      {
-        typeSection.getUserComplexType().setSelection(true);
-        populateUserComplexType();
-        int i = typeSection.getUserComplexTypeNamesList(xsdSchema).indexOf(value);
-        if (showAnonymous)
-         {
-          table.setSelection(i + 1);
-        }
-        else
-         {
-          table.setSelection(i);
-        }
-        previousType = 3;
-      }
-      else // if it is type="" for an empty list of simple types
-        {
-        typeSection.getUserSimpleType().setSelection(true);
-        populateUserSimpleType();
-        previousType = 2;
-      }
-    }
-    else
-    {
-      if (isAnonymous)
-      {
-        if (isSTAnonymous(element))
-        {
-          typeSection.getUserSimpleType().setSelection(true);
-          populateUserSimpleType();
-          previousType = 2;
-        }
-        else
-        {
-          typeSection.getUserComplexType().setSelection(true);
-          populateUserComplexType();
-          previousType = 3;
-        }
-        table.setSelection(0); // anonymous
-        //        typeSection.getTypeList().setText("**anonymous**");
-      }
-      else
-      {
-        typeSection.getSimpleType().setSelection(true);
-        populateBuiltInType();
-        table.setSelection(0);
-        
-        //        typeSection.getTypeList().setEnabled(true);
-        //        typeSection.getSimpleType().setSelection(true);
-        //        typeSection.populateBuiltInType(xsdSchema);
-        //        typeSection.getTypeList().setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE"));
-        previousType = 1;
-      }
-    }
-    if (table.getSelection() != null && table.getSelection().length > 0)
-    {
-      previousStringType = (table.getSelection()[0]).getText();
-    }
-  }
-  
-  public void populateBuiltInType()
-  {
-    table.removeAll();
-    List items = getBuiltInTypeNamesList();
-    for (int i = 0; i < items.size(); i++)
-    {
-      TableItem item = new TableItem(table, SWT.NONE);
-      item.setText(items.get(i).toString());
-      item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-      item.setData(items.get(i));
-    }
-  }
-
-  public void populateBuiltInType(String fragment)
-  {
-    table.removeAll();
-    List items = getBuiltInTypeNamesList();
-    fragment = fragment.toLowerCase();
-	Pattern regex = Pattern.compile(fragment);
-	
-    for (int i = 0; i < items.size(); i++)
-    {
-    	String itemString = items.get(i).toString().toLowerCase();
-    	Matcher m = regex.matcher(itemString);
-
-    	if (itemString.startsWith(fragment) || m.matches()) {
-    		TableItem item = new TableItem(table, SWT.NONE);
-    		item.setText(items.get(i).toString());
-    		item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-    		item.setData(items.get(i));
-    	}
-    }
-    
-    table.select(0);
-  }
-
-  public void populateUserComplexType()
-  {
-    table.removeAll();
-    if (showAnonymous)
-    {
-      TableItem anonymousItem = new TableItem(table, SWT.NONE);
-      anonymousItem.setText("**anonymous**");
-      anonymousItem.setData("**anonymous**");
-    }
-    List items = getUserComplexTypeNamesList();
-    for (int i = 0; i < items.size(); i++)
-    {
-      TableItem item = new TableItem(table, SWT.NONE);
-//      System.out.println("item " + i + " is " + item);
-      item.setText(items.get(i).toString());
-      item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif"));
-      item.setData(items.get(i));
-    }
-  }
-  
-  public void populateUserComplexType(String fragment)
-  {
-    table.removeAll();
-    fragment = fragment.toLowerCase();
-    Pattern regex = java.util.regex.Pattern.compile(fragment);
-    
-    if (showAnonymous)
-    {
-    	Matcher m = regex.matcher("**anonymous**");
-    	if ("**anonymous**".startsWith(fragment) || m.matches()) {
-    		TableItem anonymousItem = new TableItem(table, SWT.NONE);
-    		anonymousItem.setText("**anonymous**");
-    		anonymousItem.setData("**anonymous**");
-    	}
-    }
-    List items = getUserComplexTypeNamesList();
-    for (int i = 0; i < items.size(); i++)
-    {
-    	String itemString = items.get(i).toString().toLowerCase();
-    	Matcher m = regex.matcher(itemString);
-    	
-    	if (itemString.startsWith(fragment) || m.matches()) {
-    		TableItem item = new TableItem(table, SWT.NONE);
-    		item.setText(items.get(i).toString());
-    		item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif"));
-    		item.setData(items.get(i));
-    	}
-    }
-    
-    table.select(0);
-  }
-
-  public void populateUserSimpleType()
-  {
-    table.removeAll();
-    if (showAnonymous)
-     {
-      TableItem anonymousItem = new TableItem(table, SWT.NONE);
-      anonymousItem.setText("**anonymous**");
-      anonymousItem.setData("**anonymous**");
-    }
-    List items = getUserSimpleTypeNamesList();
-    for (int i = 0; i < items.size(); i++)
-     {
-      TableItem item = new TableItem(table, SWT.NONE);
-      item.setText(items.get(i).toString());
-      item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-      item.setData(items.get(i));
-    }
-  }
-
-  public void populateUserSimpleType(String fragment)
-  {
-    table.removeAll();
-    fragment = fragment.toLowerCase();
-    Pattern regex = java.util.regex.Pattern.compile(fragment);
-    
-    if (showAnonymous)
-     {
-    	Matcher m = regex.matcher("**anonymous**");
-    	if ("**anonymous**".startsWith(fragment) || m.matches())  {
-    		TableItem anonymousItem = new TableItem(table, SWT.NONE);
-    		anonymousItem.setText("**anonymous**");
-    		anonymousItem.setData("**anonymous**");
-    	}
-    }
-    List items = getUserSimpleTypeNamesList();
-    for (int i = 0; i < items.size(); i++)
-     {
-    	String itemString = items.get(i).toString().toLowerCase();
-    	Matcher m = regex.matcher(itemString);
-    	
-    	if (itemString.startsWith(fragment) || m.matches()) {
-    		TableItem item = new TableItem(table, SWT.NONE);
-    		item.setText(items.get(i).toString());
-    		item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
-    		item.setData(items.get(i));
-    	}
-    }
-    
-    table.select(0);
-  }
-  
-  boolean checkForAnonymousType(Element element)
-  {
-    /*
-     * Using Ed's model to check boolean isAnonymous = false;
-     * 
-     * XSDConcreteComponent component =
-     * getXSDSchema().getCorrespondingComponent(element); if (component
-     * instanceof XSDElementDeclaration) { XSDElementDeclaration xsdElem =
-     * (XSDElementDeclaration)component; isAnonymous =
-     * xsdElem.isSetAnonymousTypeDefinition(); } return isAnonymous;
-     */
-    XSDDOMHelper helper = new XSDDOMHelper();
-    boolean isAnonymous = false;
-    Node aNode =
-    helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-    if (aNode != null)
-     {
-      return true;
-    }
-    aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-    if (aNode != null)
-     {
-      isAnonymous = true;
-    }
-    return isAnonymous;
-  }
-
-  void updateElementToAnonymous(Element element, String xsdType)
-  {
-    String prefix = element.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    XSDDOMHelper.updateElementToNotAnonymous(element);
-    boolean hasChildrenElements = hasElementChildren(element);
-    Element childNode = null;
-    if (xsdType.equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-    {
-      childNode = element.getOwnerDocument().createElementNS(
-          XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001,
-          prefix + XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-    }
-    else if (xsdType.equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG))
-    {
-      childNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-      
-      Element restrictionNode = element.getOwnerDocument().createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + XSDConstants.RESTRICTION_ELEMENT_TAG);
-      restrictionNode.setAttribute(XSDConstants.BASE_ATTRIBUTE, prefix + "string");
-      childNode.appendChild(restrictionNode);      
-    }
-    if (childNode != null)
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      Node annotationNode = helper.getChildNode(element, XSDConstants.ANNOTATION_ELEMENT_TAG);
-      if (annotationNode == null)
-      {
-        Node firstChild = element.getFirstChild();
-        element.insertBefore(childNode, firstChild);
-      }
-      else
-      {
-        Node nextSibling = annotationNode.getNextSibling();
-        element.insertBefore(childNode, nextSibling);
-      }
-      XSDDOMHelper.formatChild(childNode);
-    }
-  }
-
-  boolean isSTAnonymous(Element element)
-  {
-    XSDDOMHelper helper = new XSDDOMHelper();
-    Node aNode = helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-    if (aNode != null)
-    {
-      if (XSDDOMHelper.inputEquals(aNode, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false))
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  boolean isCTAnonymous(Element element)
-  {
-    XSDDOMHelper helper = new XSDDOMHelper();
-    Node aNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-    if (aNode != null)
-     {
-      if (XSDDOMHelper.inputEquals(aNode, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, false))
-       {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  XSDTypeDefinition getAnonymousTypeDefinition(Element element)
-  {
-    XSDDOMHelper helper = new XSDDOMHelper();
-    Node typeDefinitionNode =
-    helper.getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-    if (typeDefinitionNode == null)
-     {
-      typeDefinitionNode = helper.getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-    }
-    if (typeDefinitionNode != null)
-     {
-      XSDConcreteComponent component =
-      xsdSchema.getCorrespondingComponent(typeDefinitionNode);
-      if (component instanceof XSDTypeDefinition)
-       {
-        return (XSDTypeDefinition) component;
-      }
-    }
-    return null;
-  }
-  
-  public java.util.List getBuiltInTypeNamesList()
-  {
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    return helper.getBuiltInTypeNamesList();
-  }
-
-  public java.util.List getUserSimpleTypeNamesList()
-  {
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    return helper.getUserSimpleTypeNamesList();
-  }
-  
-  public java.util.List getUserComplexTypeNamesList()
-  {
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    return helper.getUserComplexTypeNamesList();
-  }
-  
-  protected boolean hasElementChildren(Node parentNode)
-  {
-    boolean hasChildrenElements = false;
-    if (parentNode != null && parentNode.hasChildNodes())
-    {
-      NodeList nodes = parentNode.getChildNodes();
-      for (int i = 0; i < nodes.getLength(); i++)
-      {
-        if (nodes.item(i) instanceof Element)
-        {
-          hasChildrenElements = true;
-          break;
-        }
-      }
-    }
-    return hasChildrenElements;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSection.java
deleted file mode 100644
index d8ff962..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSection.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionDialog;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDComponentSelectionProvider;
-import org.eclipse.wst.xsd.ui.internal.dialogs.types.xsd.XSDSetTypeHelper;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class TypesSection extends AbstractSection
-{
-  Text typeCombo;
-  Button button;
-
-  String type;
-  Object typeObject;
-  CLabel typeLabel;
-  Table table;
-  TypeSection typeSection;
-  boolean showAnonymous = true;
-  String previousStringType = "";
-  boolean isAnonymous;
-  int previousType;
-  boolean showComplexTypes = true;
-  
-  /**
-   * 
-   */
-  public TypesSection()
-  {
-    super();
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		composite = getWidgetFactory().createFlatFormComposite(parent);
-    
-		FormData data;
-
-		typeCombo = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-    typeCombo.setEditable(false);
-		typeCombo.addListener(SWT.Modify, this);
-    
-    button = getWidgetFactory().createButton(composite, "", SWT.PUSH); //$NON-NLS-1$
-    button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
-
-    typeLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_TYPE") + ":"); //$NON-NLS-1$
-
-    button.addSelectionListener(this);
-		FormData data2 = new FormData();
-		data2.left = new FormAttachment(100, -rightMarginSpace + 2);
-		data2.right = new FormAttachment(100,0);
-		data2.top = new FormAttachment(typeCombo, 0, SWT.CENTER);
-		button.setLayoutData(data2);
-
-    data = new FormData();
-    data.left = new FormAttachment(0, 100);
-    data.right = new FormAttachment(button, 0);
-    typeCombo.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-	  Object input = getInput();
-    if (isReadOnly)
-    {
-      composite.setEnabled(false);
-    }
-    else
-    {
-      composite.setEnabled(true);
-    }
-	  typeCombo.setText(""); //$NON-NLS-1$
-	  if (input != null)
-	  {
-	    Element element = null;
-	    if (input instanceof XSDElementDeclaration)
-	    {
-        XSDElementDeclaration xsdElem = (XSDElementDeclaration)input;
-	      element = xsdElem.getElement();
-        XSDTypeDefinition typeDef = xsdElem.getTypeDefinition();
-        boolean isAnonymous = xsdElem.isAbstract();
-
-        if (isAnonymous)
-        {
-          typeCombo.setText("**anonymous**"); //$NON-NLS-1$
-        }
-        else
-        {
-          String typeName = ""; //$NON-NLS-1$
-          if (typeDef != null)
-          {
-            typeName = typeDef.getQName(getSchema());
-            if (typeName == null)
-            {
-              typeName = ""; //$NON-NLS-1$
-            }
-            typeCombo.setText(typeName);
-          }
-          else
-          {
-            typeCombo.setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE")); //$NON-NLS-1$
-          }
-        }
-	    }
-	    else if (input instanceof XSDAttributeDeclaration)
-	    {
-	      element = ((XSDAttributeDeclaration)input).getElement();
-	    }
-      else if (input instanceof XSDAttributeUse)
-      {
-        XSDAttributeUse attributeUse = (XSDAttributeUse)input;
-        XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
-        element = attribute.getElement();
-      }
-	    else if (input instanceof Element)
-	    {
-	      element = (Element)input;
-	    }
-//      else if (input instanceof XSDSimpleTypeDefinition)
-//      {
-//	      XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-//	      Element simpleTypeElement = st.getElement();
-//        if (st.getVariety() == XSDVariety.LIST_LITERAL)
-//        {
-//	        element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
-//          String result = element.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
-//          if (result == null)
-//          {
-//            typeCombo.setText("**anonymous**");
-//          }
-//          else
-//          {
-//            typeCombo.setText(result);
-//          }
-//          typeLabel.setText("Item Type:");
-//        }
-//        else if (st.getVariety() == XSDVariety.ATOMIC_LITERAL)
-//        {
-//          typeLabel.setText("Base Type:");
-//	        element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.RESTRICTION_ELEMENT_TAG);
-//	        if (element == null)
-//	        {
-//	          element = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.EXTENSION_ELEMENT_TAG);
-//	          if (element == null) return;
-//	        }
-//
-//          String result = element.getAttribute(XSDConstants.BASE_ATTRIBUTE);
-//          if (result == null)
-//          {
-//            typeCombo.setText("");
-//          }
-//          else
-//          {
-//            typeCombo.setText(result);
-//          }
-//        }
-//        return;
-//      }
-      
-      typeLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_TYPE") + ":"); //$NON-NLS-1$
-	    if (element != null)
-	    {
-        boolean isAnonymous = checkForAnonymousType(element);
-        String result = element.getAttribute(XSDConstants.TYPE_ATTRIBUTE);
-	      if (isAnonymous)
-	      {
-	        typeCombo.setText("**anonymous**"); //$NON-NLS-1$
-	      }
-	      if (result != null && result.equals("")) //$NON-NLS-1$
-	      {
-	        typeCombo.setText(XSDEditorPlugin.getXSDString("_UI_NO_TYPE")); //$NON-NLS-1$
-	      }
-	      else if (result != null)
-	      {
-	        typeCombo.setText(result);
-	      }
-
-	    }
-	  }
-	}
-
-  /**
-   * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
-   */
-  public void widgetSelected(SelectionEvent e)
-  {
-    if (e.widget == button)
-    {
-/*        
-	    Shell shell = Display.getCurrent().getActiveShell();
-	    Object input = getInput();
-	    Element element = ((XSDConcreteComponent)getInput()).getElement();
-	    TypesDialog dialog;
-
-//	    if (input instanceof XSDSimpleTypeDefinition)
-//	    {
-//	      XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-//	      Element simpleTypeElement = st.getElement();
-//	      if (st.getVariety() == XSDVariety.LIST_LITERAL)
-//	      {
-//	        Element listElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
-//	        dialog = new TypesDialog(shell, listElement, XSDConstants.ITEMTYPE_ATTRIBUTE, xsdSchema);
-//          dialog.showComplexTypes = false;
-//        }
-//        else if (st.getVariety() == XSDVariety.ATOMIC_LITERAL)
-//        {
-//          Element derivedByElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.RESTRICTION_ELEMENT_TAG);
-//          if (derivedByElement == null)
-//          {
-//            derivedByElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.EXTENSION_ELEMENT_TAG);
-//            if (derivedByElement == null) return;
-//          }
-//          if (derivedByElement != null)
-//          {
-//            dialog = new TypesDialog(shell, derivedByElement, XSDConstants.BASE_ATTRIBUTE, xsdSchema);
-//          }
-//          else
-//          {
-//            return;
-//          }
-//        }
-//        else
-//        {
-//          dialog = new TypesDialog(shell, element, "type", xsdSchema);
-//        }
-//	    }
-//	    else
-//	    {
-	      dialog = new TypesDialog(shell, element, "type", xsdSchema); //$NON-NLS-1$
-//	    }
-
-	    dialog.setBlockOnOpen(true);
-	    dialog.create();
-	    int result = dialog.open();
-	    
-	    if (result == Window.OK)
-	    {
-	      Object typeObject = dialog.getType();
-//		    if (input instanceof XSDSimpleTypeDefinition)
-//		    {
-//		      XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)input;
-//		      Element simpleTypeElement = st.getElement();
-//	        Element listElement = (Element)domHelper.getChildNode(simpleTypeElement, XSDConstants.LIST_ELEMENT_TAG);
-//
-//  	      beginRecording("ItemType Change", element);
-//          listElement.setAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, (String)typeObject);
-//          endRecording(element);
-//		    }
-	    }
-*/        
-        Shell shell = Display.getCurrent().getActiveShell();
-        IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
-        
-        Object input = getInput();
-        XSDSchema schema = null;
-        if (input instanceof XSDConcreteComponent) {
-            schema = ((XSDConcreteComponent) input).getSchema();
-        }
-        
-        XSDComponentSelectionProvider provider = new XSDComponentSelectionProvider(currentIFile, schema);
-        XSDComponentSelectionDialog dialog = new XSDComponentSelectionDialog(shell, "Set Type", provider);  // TODO: Externalize This
-        provider.setDialog(dialog);
-        
-        dialog.setBlockOnOpen(true);
-        dialog.create();
-
-        if (dialog.open() == Window.OK) {
-            Element element = ((XSDConcreteComponent)getInput()).getElement();
-            XSDSetTypeHelper helper = new XSDSetTypeHelper(currentIFile, schema);
-            helper.setType(element, "type", dialog.getSelection());
-        }        
-
-      refresh();
-    }
-  }
-
-  
-  
-  boolean checkForAnonymousType(Element element)
-  {
-    /* Using Ed's model to check
-     boolean isAnonymous = false;
-
-     XSDConcreteComponent component = getXSDSchema().getCorrespondingComponent(element);
-     if (component instanceof XSDElementDeclaration)
-     {
-     XSDElementDeclaration xsdElem = (XSDElementDeclaration)component;
-     isAnonymous = xsdElem.isSetAnonymousTypeDefinition();
-     }
-     return isAnonymous;
-     */
-
-    boolean isAnonymous = false;
-
-    Node aNode = getDomHelper().getChildNode(element, XSDConstants.SIMPLETYPE_ELEMENT_TAG);
-    if (aNode != null)
-     {
-      return true;
-    }
-    aNode = getDomHelper().getChildNode(element, XSDConstants.COMPLEXTYPE_ELEMENT_TAG);
-    if (aNode != null)
-     {
-      isAnonymous = true;
-    }
-    return isAnonymous;
-  }
-
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSectionDescriptor.java
deleted file mode 100644
index af0e55b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/TypesSectionDescriptor.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class TypesSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public TypesSectionDescriptor()
-  {
-    super();
-  }
-
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getId()
-   */
-  public String getId()
-  {
-    return "com.ibm.xsdeditor.section.types";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDElementDeclaration.class);
-    list.add(XSDAttributeDeclaration.class);
-    list.add(XSDAttributeUse.class);
-    list.add(XSDSimpleTypeDefinition.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new TypesSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDElementDeclaration)
-      {
-        XSDElementDeclaration elementDeclaration = (XSDElementDeclaration)object;
-        if (elementDeclaration.isElementDeclarationReference())
-        {
-          return false;
-        }
-        return true;
-      }
-      else if (object instanceof XSDAttributeDeclaration)
-      {
-        XSDAttributeDeclaration attr = (XSDAttributeDeclaration)object;
-        if (attr.isAttributeDeclarationReference())
-        {
-          return false;
-        }
-        return true;
-      }
-      else if (object instanceof XSDAttributeUse)
-      {
-        XSDAttributeUse attributeUse = (XSDAttributeUse)object;
-        XSDAttributeDeclaration attribute = attributeUse.getAttributeDeclaration();
-        Element element = attributeUse.getElement();
-        if (inputEquals(element, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false))
-        {
-          return true;
-        }
-        else
-        {
-          return false;
-        }
-
-      }
-//      else if (object instanceof XSDSimpleTypeDefinition)
-//      {
-//        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)object;
-//        if (st.getVariety() == XSDVariety.LIST_LITERAL)
-//        {
-//          return true;
-//        }
-//        else if (st.getVariety() == XSDVariety.ATOMIC_LITERAL)
-//        {
-//          return true;
-//        }
-//      }
-    }
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSection.java
deleted file mode 100644
index c24f79d..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSection.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertyConstants;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class ValueSection extends AbstractSection
-{
-  Text valueText;
-  /**
-   * 
-   */
-  public ValueSection()
-  {
-    super();
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.TabbedPropertySheetWidgetFactory)
-	 */
-	public void createControls(Composite parent, TabbedPropertySheetWidgetFactory factory)
-	{
-		super.createControls(parent, factory);
-		Composite composite =	getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		valueText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 100);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		valueText.setLayoutData(data);
-		valueText.addListener(SWT.Modify, this);
-
-		CLabel valueLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_VALUE") + ":"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(valueText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(valueText, 0, SWT.CENTER);
-		valueLabel.setLayoutData(data);
-		
-//		listener.startListeningForEnter(valueText);
-//		listener.startListeningTo(valueText);
-	}
-
-	/*
-	 * @see org.eclipse.wst.common.ui.properties.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh()
-	{
-	  setListenerEnabled(false);
-	  Object input = getInput();
-	  valueText.setText(""); //$NON-NLS-1$
-	  if (input != null)
-	  {
-	    if (input instanceof XSDEnumerationFacet)
-	    {
-	      XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)input;
-	      Element element = enumFacet.getElement();
-        String value = element.getAttribute(XSDConstants.VALUE_ATTRIBUTE);
-        
-        if (value != null)
-        {
-          valueText.setText(value);
-        }
-	    }
-	  }
-	  setListenerEnabled(true);
-	}
-	
-  public void doHandleEvent(Event event)
-  {
-    if (event.widget == valueText)
-    {
-      Object input = getInput();
-	    if (input instanceof XSDEnumerationFacet)
-	    {
-	      XSDEnumerationFacet enumFacet = (XSDEnumerationFacet)input;
-	      Element element = enumFacet.getElement();
-        
-        beginRecording(XSDEditorPlugin.getXSDString("_UI_ENUM_VALUE_CHANGE"), element); //$NON-NLS-1$
-        String value = valueText.getText();
-        element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, value);
-        endRecording(element);
-	    }
-    }
-  }
-
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISection#shouldUseExtraSpace()
-   */
-  public boolean shouldUseExtraSpace()
-  {
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSectionDescriptor.java
deleted file mode 100644
index 7fd5517..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/ValueSectionDescriptor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ISection;
-import org.eclipse.xsd.XSDEnumerationFacet;
-
-public class ValueSectionDescriptor extends AbstractSectionDescriptor
-{
-  /**
-   * 
-   */
-  public ValueSectionDescriptor()
-  {
-    super();
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getInputTypes()
-   */
-  public List getInputTypes()
-  {
-    List list = new ArrayList();
-    list.add(XSDEnumerationFacet.class);
-    return list;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getSectionClass()
-   */
-  public ISection getSectionClass()
-  {
-    return new ValueSection();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#getTargetTab()
-   */
-  public String getTargetTab()
-  {
-    return "com.ibm.xmlwebservices.general";
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-   */
-  public boolean appliesTo(IWorkbenchPart part, ISelection selection)
-  {
-    Object object = null;
-    if (selection instanceof StructuredSelection)
-    {
-      StructuredSelection structuredSelection = (StructuredSelection)selection;
-      object = structuredSelection.getFirstElement();
-      if (object instanceof XSDEnumerationFacet)
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-  
-  public String getAfterSection()
-  {
-    return "com.ibm.xsdeditor.section.name";
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionDescriptorProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionDescriptorProvider.java
deleted file mode 100644
index 7b9e43c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionDescriptorProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.wst.common.ui.properties.ISectionDescriptor;
-import org.eclipse.wst.common.ui.properties.ISectionDescriptorProvider;
-
-
-public class XSDSectionDescriptorProvider implements ISectionDescriptorProvider
-{
-  /**
-   * 
-   */
-  public XSDSectionDescriptorProvider()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.ui.properties.ISectionDescriptorProvider#getSectionDescriptors()
-   */
-  public ISectionDescriptor[] getSectionDescriptors()
-  {
-    ISectionDescriptor[] descriptors = new ISectionDescriptor[18];
-    descriptors[0] = new NameSectionDescriptor();
-    descriptors[1] = new TypesSectionDescriptor();
-    descriptors[2] = new OtherAttributesSectionDescriptor();
-    descriptors[3] = new AttributesViewSectionDescriptor();
-    descriptors[4] = new ModelGroupSectionDescriptor();
-    descriptors[5] = new NamespaceProcessContentsSectionDescriptor();
-    descriptors[6] = new ReferenceSectionDescriptor();
-    descriptors[7] = new ComplexTypeSectionDescriptor();
-    descriptors[8] = new ValueSectionDescriptor();
-    descriptors[9] = new PatternSectionDescriptor();
-    descriptors[10] = new AnnotationSectionDescriptor();
-    descriptors[11] = new SimpleTypeSectionDescriptor();
-    descriptors[12] = new FacetsSectionDescriptor();
-    descriptors[13] = new EnumerationsSectionDescriptor();
-    descriptors[14] = new NamespaceSectionDescriptor();
-    descriptors[15] = new SchemaLocationDescriptor();
-    descriptors[16] = new NamespaceAndSchemaLocationDescriptor();
-    descriptors[17] = new MinMaxSectionDescriptor();
-    
-//  descriptors[18] = new SimpleTypeUnionSectionDescriptor();
-//  descriptors[19] = new FixedDefaultSectionDescriptor();    
-    return descriptors;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java
deleted file mode 100644
index d5c6578..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDTextEditor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.w3c.dom.Element;
-
-
-public class XSDSectionLabelProvider extends LabelProvider
-{
-  /**
-   * 
-   */
-  public XSDSectionLabelProvider()
-  {
-    super();
-  }
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object object)
-	{
-		if (object == null || object.equals(StructuredSelection.EMPTY)) {
-			return null;
-		}
-    Image result = null;           
-    if (object instanceof StructuredSelection)
-    {
-      Object selected = ((StructuredSelection)object).getFirstElement();
-      
-      if (selected instanceof XSDConcreteComponent)
-      {
-        return XSDTextEditor.getLabelProvider().getImage((XSDConcreteComponent)selected);
-      }
-      
-//      selected  = typeMapper.remapObject(selected);
-//      ModelAdapter modelAdapter = adapterFactory.getAdapter(selected);
-//      if (modelAdapter != null)
-//      {
-//        result = (Image)modelAdapter.getProperty(selected, ModelAdapter.IMAGE_PROPERTY);     
-//      }
-    }
-    return result;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object object)
-	{
-		if (object == null || object.equals(StructuredSelection.EMPTY))
-    {
-			return "No items selected";
-		}
-    
-    String result = null;
-
-    boolean isReference = false;
-    Object selected = null;
-    if (object instanceof StructuredSelection)
-    {
-      selected = ((StructuredSelection)object).getFirstElement();
-      
-      if (selected instanceof XSDConcreteComponent)
-      {
-        if (selected instanceof XSDElementDeclaration)
-        {
-          XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)selected;
-          if (xsdElementDeclaration.isElementDeclarationReference())
-          {
-            isReference = true;
-          }
-        }
-        else if (selected instanceof XSDAttributeDeclaration)
-        {
-          if (((XSDAttributeDeclaration)selected).isAttributeDeclarationReference())
-          {
-            isReference = true;
-          }
-        }
-        else if (selected instanceof XSDModelGroupDefinition)
-        {
-          if (((XSDModelGroupDefinition)selected).isModelGroupDefinitionReference())
-          {
-            isReference = true;
-          }
-        }
-        StringBuffer sb = new StringBuffer();
-        Element element = ((XSDConcreteComponent)selected).getElement();
-        if (element != null)
-        {
-          sb.append(((XSDConcreteComponent)selected).getElement().getLocalName());
-          
-          if (isReference)
-          {
-            sb.append(" ");
-            sb.append(XSDEditorPlugin.getXSDString("_UI_PAGE_HEADING_REFERENCE"));
-          }
-          
-          if (!(element instanceof XMLNode))
-          {
-            sb.append(" (" + XSDEditorPlugin.getXSDString("_UI_LABEL_READ_ONLY") + ")");   //$NON-NLS-1$
-          }
-          return sb.toString();
-        }
-        else
-        {
-          return "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_READ_ONLY") + ")";  //$NON-NLS-1$
-        }
-      }
-
-//      selected  = typeMapper.remapObject(selected);
-//      
-//       ModelAdapter modelAdapter = adapterFactory.getAdapter(selected);
-//       if (modelAdapter != null)
-//       {                       
-//         // result = (String)modelAdapter.getProperty(selected, ModelAdapter.LABEL_PROPERTY);
-//         result = ((WSDLElement)selected).getElement().getLocalName();
-//       }
-      if (object instanceof Element)
-      {
-        return ((Element)object).getLocalName();
-      }
-    }
-    else if (object instanceof TextSelection)
-    {
-    }
-    
-
-    return result;
-	}
-
-	/**
-	 * Determine if a multiple object selection has been passed to the 
-	 * label provider. If the objects is a IStructuredSelection, see if 
-	 * all the objects in the selection are the same and if so, we want
-	 * to provide labels for the common selected element.
-	 * @param objects a single object or a IStructuredSelection.
-	 * @param multiple first element in the array is true if there is multiple
-	 * unequal selected elements in a IStructuredSelection.
-	 * @return the object to get labels for.
-	 */
-	private Object getObject(Object objects, boolean multiple[]) {
-		Assert.isNotNull(objects);
-		Object object = null;
-		return object;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDTabbedPropertySheetPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDTabbedPropertySheetPage.java
deleted file mode 100644
index 1435ed7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDTabbedPropertySheetPage.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.properties.ITabbedPropertySheetPageContributor;
-import org.eclipse.wst.common.ui.properties.TabbedPropertySheetPage;
-import org.eclipse.wst.sse.ui.ViewerSelectionManager;
-import org.eclipse.wst.xsd.ui.internal.XSDSelectionManager;
-import org.eclipse.wst.xsd.ui.internal.graph.model.Category;
-import org.eclipse.wst.xsd.ui.internal.provider.CategoryAdapter;
-import org.eclipse.wst.xsd.ui.internal.provider.XSDModelAdapterFactoryImpl;
-import org.eclipse.xsd.XSDSchema;
-
-public class XSDTabbedPropertySheetPage extends TabbedPropertySheetPage
-  implements ISelectionChangedListener, INotifyChangedListener 
-{
-  private ViewerSelectionManager fViewerSelectionManager;
-  private XSDSelectionManager selectionManager;
-  private XSDModelAdapterFactoryImpl adapterFactory;
-  /**
-   * @param tabbedPropertySheetPageContributor
-   */
-  public XSDTabbedPropertySheetPage(ITabbedPropertySheetPageContributor tabbedPropertySheetPageContributor)
-  {
-    super(tabbedPropertySheetPageContributor);
-  }
-  
-  XSDSchema xsdSchema;
-  public void setXSDSchema(XSDSchema xsdSchema)
-  {
-    this.xsdSchema = xsdSchema;
-  }
-  
-  public void setXSDModelAdapterFactory(XSDModelAdapterFactoryImpl adapterFactory) {
-    // disconnect from old one
-    if (adapterFactory != null) {
-      adapterFactory.removeListener(this);
-    }
-
-    this.adapterFactory = adapterFactory;
-
-    // connect to new one
-    if (adapterFactory != null) {
-      adapterFactory.addListener(this);
-    }
-  }
-  
-  public void setSelectionManager(XSDSelectionManager newSelectionManager)
-  { 
-    // disconnect from old one
-    if (selectionManager != null)
-    {                                                        
-      selectionManager.removeSelectionChangedListener(this);  
-    }
-
-    selectionManager = newSelectionManager;
-
-    // connect to new one
-    if (selectionManager != null)
-    {
-      selectionManager.addSelectionChangedListener(this);  
-    }
-  }    
-
-  public void selectionChanged(IWorkbenchPart part, ISelection selection)
-  {
-    // override for category
-    if (selection != null)
-    {
-      if (selection instanceof StructuredSelection)
-      {
-        StructuredSelection structuredSelection = (StructuredSelection)selection;
-        if (structuredSelection.isEmpty())
-        {
-          return;
-        }
-        Object obj = structuredSelection.getFirstElement();        
-        if (obj instanceof CategoryAdapter)
-        {
-          selection = new StructuredSelection(((CategoryAdapter)obj).getXSDSchema());
-        }
-        else if (obj instanceof Category)
-        {
-          selection = new StructuredSelection(((Category)obj).getXSDSchema());
-        }  
-      }
-      else if (selection instanceof TextSelection)
-      {
-        return;
-      }
-    }
-    super.selectionChanged(part, selection);
-  }
-	
-  public void selectionChanged(SelectionChangedEvent event)
-  {
-    if (!event.getSelection().isEmpty())
-    {
-      selectionChanged(getSite().getWorkbenchWindow().getActivePage().getActivePart(), event.getSelection());
-      //super.selectionChanged(getSite().getWorkbenchWindow().getActivePage().getActivePart(), event.getSelection());
-    }
-  }
-  
-  public void dispose()
-  {
-    if (selectionManager != null)
-    {
-      selectionManager.removeSelectionChangedListener(this);
-    }
-    if (adapterFactory != null)
-    {
-      adapterFactory.removeListener(this);
-    }
-    super.dispose();
-  }
-  
-  public void notifyChanged(Notification notification)
-  {
-    if (getCurrentTab() != null)
-    {
-      refresh();
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbook.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbook.java
deleted file mode 100644
index 9c43704..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbook.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-
-public class XSDWorkbook {
-  private CTabFolder tabFolder;
-  private CTabItem selectedTab;
-/**
- * Workbook constructor comment.
- */
-public XSDWorkbook(Composite parent, int style) {
-  tabFolder = new CTabFolder(parent, style);
-
-  tabFolder.addSelectionListener(new SelectionAdapter() {
-    public void widgetSelected(SelectionEvent event) {
-      CTabItem newSelectedTab = (CTabItem) event.item;
-      if (selectedTab == newSelectedTab) // Do nothing if the selection did not change.
-        return;
-
-      if (selectedTab != null && (!selectedTab.isDisposed())) {
-        XSDWorkbookPage selectedPage = getWorkbookPage(selectedTab);
-        if (!selectedPage.deactivate()) {
-          // tabFolder.setSelection(new CTabItem[] {selectedTab});
-          tabFolder.setSelection(selectedTab);
-          return;
-        }
-      }
-
-      selectedTab = newSelectedTab;
-      XSDWorkbookPage newSelectedPage = getWorkbookPage(newSelectedTab);
-      if (newSelectedPage != null)
-      newSelectedPage.activate();
-
-    }
-  });
-
-}
-public XSDWorkbookPage getSelectedPage() {
-
-  int index = tabFolder.getSelectionIndex();
-  if (index == -1) // When can this be -1
-    return null;
-
-  CTabItem selectedItem = tabFolder.getItem(index);
-
-  return (XSDWorkbookPage)selectedItem.getData();
-}
-public CTabFolder getTabFolder() {
-
-  return tabFolder;
-
-}
-protected XSDWorkbookPage getWorkbookPage(CTabItem item) {
-
-  try {
-    return (XSDWorkbookPage) item.getData();
-  } catch (ClassCastException e) {
-    return null;
-  }
-}
-public XSDWorkbookPage[] getWorkbookPages() {
-
-  CTabItem[] tabItems = tabFolder.getItems();
-  int nItems = tabItems.length;
-  XSDWorkbookPage[] workbookPages = new XSDWorkbookPage[nItems];
-  for (int i = 0; i < nItems; i++)
-    workbookPages[i] = getWorkbookPage(tabItems[i]);
-  return workbookPages;
-}
-public void setSelectedPage (XSDWorkbookPage workbookPage)
-{
-  CTabItem newSelectedTab = workbookPage.getTabItem();
-
-  if (selectedTab == newSelectedTab)
-    return;
-
-  selectedTab = newSelectedTab;
-  workbookPage.activate();
-  // tabFolder.setSelection(new CTabItem[] {newSelectedTab});
-  tabFolder.setSelection(newSelectedTab);
-
-}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbookPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbookPage.java
deleted file mode 100644
index f865afa..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDWorkbookPage.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.properties.section;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-public abstract class XSDWorkbookPage {
-  public CTabItem tabItem;
-/**
- * WorkbookPage constructor comment.
- */
-public XSDWorkbookPage(XSDWorkbook parent) {
-  CTabFolder folder = parent.getTabFolder();
-  tabItem = new CTabItem(folder,SWT.NONE);
-  tabItem.setData(this);
-}
-public void activate() {
-
-  if (tabItem.getControl() == null)
-    tabItem.setControl(createControl(tabItem.getParent()));
-      
-}
-protected abstract Control createControl (Composite parent);
-public boolean deactivate() {
-  return true;
-}
-public void dispose() {
-
-  if (tabItem == null)
-    return;
-
-  CTabItem oldItem = tabItem;
-  tabItem = null;
-  oldItem.dispose();
-}
-public CTabItem getTabItem() {
-  return tabItem;
-}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/CategoryAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/CategoryAdapter.java
deleted file mode 100644
index 3182e9a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/CategoryAdapter.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class CategoryAdapter // extends ItemProvider
-  implements ILabelProvider, IChangeNotifier, ITreeContentProvider
-{
-  
-  protected String text;
-
-  /**
-   * This is the image returned by {@link #getImage getImage(Object)}.
-   */
-  protected Image image;
-
-  /**
-   * This is the parent returned by {@link #getParent getParent(Object)}.
-   */
-  protected Object parent;
-
-  public CategoryAdapter(String label, Image image, Collection children, XSDSchema xsdSchema, int groupType)
-  {
-//    super(label, image, xsdSchema);
-    this.text = label;
-    this.image = image;
-    this.parent = xsdSchema;
-    this.xsdSchema = xsdSchema;
-    this.children = children;
-    this.groupType = groupType;
-  }
-  
-  public final static int ATTRIBUTES = 1;
-  public final static int ELEMENTS = 2;
-  public final static int TYPES = 3;
-  public final static int GROUPS = 5;
-  public final static int DIRECTIVES = 6;
-  public final static int NOTATIONS = 7;
-  public final static int ATTRIBUTE_GROUPS = 8;
-  public final static int IDENTITY_CONSTRAINTS = 9;
-  public final static int ANNOTATIONS = 10;
-                                 
-  protected int groupType;
-  Collection children;
-  XSDSchema xsdSchema;
-  
-  public XSDSchema getXSDSchema()
-  {
-    return xsdSchema;
-  }
-  
-  public int getGroupType()
-  {
-    return groupType;
-  }   
-
-//  public boolean hasChildren(Object o)
-//  {
-//    return !children.isEmpty();
-//  }
-
-//  public Collection getChildren(Object o)
-//  {
-//    return children;
-//  }
-  
-  public Image getImage(Object element)
-  {
-    return image;
-  }
-  
-  public String getText(Object object)
-  {
-    // return object.toString();
-    return text;
-  }
-  
-  public void addListener(ILabelProviderListener listener)
-  {
-    
-  }
-  
-  public boolean isLabelProperty(Object element, String property)
-  {
-    return false;
-  }
-
-  public void removeListener(ILabelProviderListener listener)
-  {
-    
-  }
-
-  public void fireNotifyChanged(Notification notification)
-  {
-    
-  }
-
-  /**
-   * This adds another listener.
-   */
-  public void addListener(INotifyChangedListener notifyChangedListener)
-  {
-    
-  }
-
-  /**
-   * This removes a listener.
-   */
-  public void removeListener(INotifyChangedListener notifyChangedListener)
-  {
-    
-  }
-
-  public void dispose()
-  {
-    
-  }
-  
-  public Object[] getElements(Object inputElement)
-  {
-    return getChildren(inputElement);
-  }
-
-  public Object[] getChildren(Object parentElement)
-  {
-    return children.toArray();
-  }
-  
-  public void setChildren(Collection list)
-  {
-    children = list;
-  }
-
-  public Object getParent(Object element)
-  {
-    return xsdSchema;
-  }
-  
-  public boolean hasChildren(Object element)
-  {
-    return true;
-  }
-
-  public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-  {
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAbstractAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAbstractAdapter.java
deleted file mode 100644
index 8233c5e..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAbstractAdapter.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.edit.provider.ChangeNotifier;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-
-public class XSDAbstractAdapter extends AdapterImpl
-  implements ITreeContentProvider, ILabelProvider, IChangeNotifier
-{
-
-  protected AdapterFactory adapterFactory;
-  /**
-   * 
-   */
-  public XSDAbstractAdapter(AdapterFactory adapterFactory)
-  {
-    super();
-    this.adapterFactory = adapterFactory;
-  }
-  
-  /**
-   * The adapter factory is used as the type key.
-   * This returns true, only if this adapter was created by the given factory.
-   */
-  public boolean isAdapterForType(Object type)
-  {
-    return type == adapterFactory;
-  }
-
-  public Image getImage(Object element)
-  {
-    return null;
-  }
-  
-  public String getText(Object object)
-  {
-    return object.toString();
-  }
-  
-  public void addListener(ILabelProviderListener listener)
-  {
-    
-  }
-  
-  public boolean isLabelProperty(Object element, String property)
-  {
-    return false;
-  }
-
-  public void removeListener(ILabelProviderListener listener)
-  {
-    
-  }
-  
-  public Object[] getChildren(Object parentElement)
-  {
-    List list = new ArrayList();
-    return list.toArray();
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return false;
-  }
-
-  public Object getParent(Object object)
-  {
-    return null;
-  }
-
-  public Object[] getElements(Object inputElement)
-  {
-    return getChildren(inputElement);
-  }
-
-  public void dispose()
-  {
-    
-  }
-  
-  public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-  {
-    
-  }
-
-  /**
-   * This is used to implement {@link IChangeNotifier}.
-   */
-  protected IChangeNotifier changeNotifier;
-
-  
-  public void notifyChanged(Notification msg)
-  {                        
-    if (msg.getEventType() != Notification.RESOLVE)
-    {        
-      fireNotifyChanged(msg);
-    }
-  }  
-
-  /**
-   * This calls {@link org.eclipse.emf.edit.provider.INotifyChangedListener#notifyChanged notifyChanged} for each listener.
-   */
-  public void fireNotifyChanged(Notification notification)
-  {
-    if (changeNotifier != null)
-    {
-      changeNotifier.fireNotifyChanged(notification);
-    }
-
-    if (adapterFactory instanceof IChangeNotifier)
-    {
-      IChangeNotifier changeNotifier = (IChangeNotifier)adapterFactory;
-      changeNotifier.fireNotifyChanged(notification);
-    }
-  }
-
-
-  /**
-   * This adds another listener.
-   */
-  public void addListener(INotifyChangedListener notifyChangedListener)
-  {
-    if (changeNotifier == null)
-    {
-      changeNotifier = new ChangeNotifier();
-    }
-    changeNotifier.addListener(notifyChangedListener);
-   
-  }
-
-  /**
-   * This removes a listener.
-   */
-  public void removeListener(INotifyChangedListener notifyChangedListener)
-  {
-    if (changeNotifier != null)
-    {
-      changeNotifier.removeListener(notifyChangedListener);
-    }
-   
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAdapterFactoryLabelProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAdapterFactoryLabelProvider.java
deleted file mode 100644
index 5af510c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAdapterFactoryLabelProvider.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class XSDAdapterFactoryLabelProvider implements ILabelProvider, INotifyChangedListener, ITableLabelProvider
-{
-  protected XSDModelAdapterFactoryImpl adapterFactory;
-  protected Collection labelProviderListeners;
-  
-  private static final Class ILabelProviderClass = ILabelProvider.class;
-  private static final Class ITableLabelProviderClass = ITableLabelProvider.class;
-
-  /**
-   * 
-   */
-  public XSDAdapterFactoryLabelProvider(XSDModelAdapterFactoryImpl adapterFactory)
-  {
-    this.adapterFactory = adapterFactory;
-//    if (adapterFactory instanceof IChangeNotifier)
-//    {
-//      ((IChangeNotifier)adapterFactory).addListener(this);
-//    }
-
-    labelProviderListeners = new ArrayList();
-  }
-
-  /**
-   * Return the wrapped AdapterFactory.
-   */
-  public AdapterFactory getAdapterFactory()
-  {
-    return adapterFactory;
-  }
-
-  /**
-   * Set the wrapped AdapterFactory.
-   */
-  public void setAdapterFactory(XSDModelAdapterFactoryImpl adapterFactory)
-  {
-    if (this.adapterFactory instanceof IChangeNotifier)
-    {
-      ((IChangeNotifier)this.adapterFactory).removeListener(this);
-    }
-
-    if (adapterFactory instanceof IChangeNotifier)
-    {
-      ((IChangeNotifier)adapterFactory).addListener(this);
-    }
-
-    this.adapterFactory = adapterFactory;
-  }
-
-  /**
-   * Since we won't ever generate these notifications, we can just ignore this.
-   */
-  public void addListener(ILabelProviderListener listener) 
-  {
-    labelProviderListeners.add(listener);
-  }
-
-  /**
-   * Since we won't ever add listeners, we can just ignore this.
-   */
-  public void removeListener(ILabelProviderListener listener)
-  {
-    labelProviderListeners.remove(listener);
-  }
-
-  /**
-   * This discards the content provider and removes this as a listener to the {@link #adapterFactory}.
-   */
-  public void dispose()
-  {
-    if (this.adapterFactory instanceof IChangeNotifier)
-    {
-      ((IChangeNotifier)adapterFactory).removeListener(this);
-    }
-  }
-
-  /**
-   * This always returns true right now.
-   */
-  public boolean isLabelProperty(Object object, String id)
-  {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-   */
-  public Image getImage(Object object)
-  {
-    ILabelProvider labelProvider = (ILabelProvider)adapterFactory.adapt(object, ILabelProviderClass);
-
-    return 
-      labelProvider != null ?
-        labelProvider.getImage(object) : null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-   */
-  public String getText(Object object)
-  {
-    // Get the adapter from the factory.
-    //
-    ILabelProvider labelProvider = (ILabelProvider)adapterFactory.adapt(object, ILabelProviderClass);
-
-    return
-      labelProvider != null ?
-        labelProvider.getText(object) :
-        object == null ? 
-          "" :
-          object.toString();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.emf.edit.provider.INotifyChangedListener#notifyChanged(org.eclipse.emf.common.notify.Notification)
-   */
-  public void notifyChanged(Notification notification)
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-   */
-  public Image getColumnImage(Object element, int columnIndex)
-  {
-    return getImage(element);
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-   */
-  public String getColumnText(Object element, int columnIndex)
-  {
-    return getText(element);
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAnnotationAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAnnotationAdapter.java
deleted file mode 100644
index b57a4c5..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAnnotationAdapter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class XSDAnnotationAdapter extends XSDAbstractAdapter
-{
-  public XSDAnnotationAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  public Image getImage(Object element)
-  {
-    return XSDEditorPlugin.getPlugin().getImage("icons/XSDAnnotate.gif");
-  }
-  
-  public String getText(Object object)
-  {
-    XSDAnnotation xsdAnnotation = ((XSDAnnotation)object);
-    String result = "";
-    List userInformation = xsdAnnotation.getUserInformation();
-    if (!userInformation.isEmpty())
-    {
-      Element element = (Element)userInformation.get(0);
-      if (element.hasAttribute(XSDConstants.SOURCE_ATTRIBUTE))
-      {
-        result = element.getAttribute(XSDConstants.SOURCE_ATTRIBUTE);
-      }
-      else
-      {
-        org.w3c.dom.Node text = element.getFirstChild(); 
-        while (text instanceof Element)
-        {
-          text = ((Element)text).getFirstChild();
-        }
-        if (text != null && text.getNodeValue() != null)
-        {
-          result = text.getNodeValue();
-          result = result.trim();
-          if (result.length() > 50)
-          {
-            result = result.substring(0, 50) + "...";
-          }
-        }
-      }
-    }
-
-    return result;
-  }
-  
-  public Object[] getChildren(Object parentElement)
-  {
-    return null;  
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return true;
-  }
-
-  public Object getParent(Object object)
-  {
-    XSDAnnotation element = (XSDAnnotation)object;
-    return element.getContainer();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeDeclarationAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeDeclarationAdapter.java
deleted file mode 100644
index 330925f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeDeclarationAdapter.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-public class XSDAttributeDeclarationAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDAttributeDeclarationAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  public Image getImage(Object object)
-  {
-    XSDAttributeDeclaration xsdAttributeDeclaration = ((XSDAttributeDeclaration)object);
-    XSDAttributeDeclaration resolvedAttributeDeclaration = xsdAttributeDeclaration.getResolvedAttributeDeclaration();
-    
-    if (resolvedAttributeDeclaration.getContainer() == null)
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDAttribute.gif");
-    }
-    // if (xsdAttributeDeclaration.getResolvedAttributeDeclaration() == xsdAttributeDeclaration)
-    if (xsdAttributeDeclaration.isAttributeDeclarationReference())
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDAttributeRef.gif");
-    }
-    else
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDAttribute.gif");
-    }
-    
-//    return 
-//    XSDEditorPlugin.getPlugin().getIconImage
-//     (resolvedAttributeDeclaration.getContainer() == null ?
-//        "full/obj16/XSDAttributeUnresolved" :
-//          xsdAttributeDeclaration.getResolvedAttributeDeclaration() == xsdAttributeDeclaration ?
-//          "full/obj16/XSDAttributeDeclaration" :
-//          "full/obj16/XSDAttributeUse");
-  }
-
-  public String getText(Object object)
-  {
-    XSDAttributeDeclaration xsdAttributeDeclaration = ((XSDAttributeDeclaration)object);
-    XSDAttributeDeclaration resolvedAttributeDeclaration = xsdAttributeDeclaration.getResolvedAttributeDeclaration();
-    String name =
-      xsdAttributeDeclaration != resolvedAttributeDeclaration ?
-        xsdAttributeDeclaration.getQName() :
-        xsdAttributeDeclaration.getName();
-
-    StringBuffer result = new StringBuffer();
-    if (name == null)
-    {
-      result.append("'absent'");
-    }
-    else
-    {
-      result.append(name);
-    }
-
-    if (resolvedAttributeDeclaration.getAnonymousTypeDefinition() == null && resolvedAttributeDeclaration.getTypeDefinition() != null)
-    {
-      result.append(" : ");
-      result.append(resolvedAttributeDeclaration.getTypeDefinition().getQName(xsdAttributeDeclaration));
-    }
-
-    return result.toString();
-  }
-
-  public Object[] getChildren(Object parentElement)
-  {
-    XSDAttributeDeclaration xsdAttributeDeclaration = (XSDAttributeDeclaration)parentElement;
-    List list = new ArrayList();
-    
-    XSDTypeDefinition type = xsdAttributeDeclaration.getAnonymousTypeDefinition();
-    if (type != null)
-    {
-      list.add(type);
-    }
-    return list.toArray();
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return true;
-  }
-
-  public Object getParent(Object object)
-  {
-    XSDAttributeDeclaration element = (XSDAttributeDeclaration)object;
-    return element.getContainer();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java
deleted file mode 100644
index e8b6c89..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeGroupDefinitionAdapter.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-//import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-//import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-//import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDWildcard;
-
-
-public class XSDAttributeGroupDefinitionAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDAttributeGroupDefinitionAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  public Image getImage(Object object)
-  {
-    XSDAttributeGroupDefinition xsdAttributeGroupDefinition = ((XSDAttributeGroupDefinition)object);
-    XSDAttributeGroupDefinition resolvedAttributeGroupDefinition = xsdAttributeGroupDefinition.getResolvedAttributeGroupDefinition();
-
-    if (xsdAttributeGroupDefinition.isAttributeGroupDefinitionReference())
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDAttributeGroupRef.gif");
-    }
-    else
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDAttributeGroup.gif");
-    }
-  }
-
-  public String getText(Object object)
-  {
-    XSDAttributeGroupDefinition xsdAttributeGroupDefinition = ((XSDAttributeGroupDefinition)object);
-    String result =  
-      xsdAttributeGroupDefinition.isAttributeGroupDefinitionReference() ?
-        xsdAttributeGroupDefinition.getQName() :
-        xsdAttributeGroupDefinition.getName();
-    return result == null ? "'absent'" : result;
-  }
-
-  public Object[] getChildren(Object parentElement)
-  {
-    XSDAttributeGroupDefinition xsdAttributeGroup = (XSDAttributeGroupDefinition)parentElement;
-    List list = new ArrayList();
-    list.addAll(xsdAttributeGroup.getContents());   
-//    Iterator i = xsdAttributeGroup.getContents().iterator();
-//    while (i.hasNext())
-//    {
-//      XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent)i.next();
-//      if (attrGroupContent instanceof XSDAttributeUse)
-//      {
-//        list.add(((XSDAttributeUse)attrGroupContent).getAttributeDeclaration());
-//      }
-//      else
-//      {
-//        list.add(attrGroupContent);
-//      }
-//    }
-    
-    XSDWildcard wildcard = xsdAttributeGroup.getAttributeWildcardContent();
-    if (wildcard != null)
-    {
-      list.add(wildcard);
-    }
-    return list.toArray();
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return true;
-  }
-
-  public Object getParent(Object object)
-  {
-    XSDAttributeGroupDefinition element = (XSDAttributeGroupDefinition)object;
-    return element.getContainer();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeUseAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeUseAdapter.java
deleted file mode 100644
index 5c8c127..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDAttributeUseAdapter.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-
-public class XSDAttributeUseAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDAttributeUseAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-  
-  protected XSDAttributeDeclaration getDelegate(XSDAttributeUse xsdAttributeUse)
-  {
-    return xsdAttributeUse.getContent();
-  }
-  
-  /**
-   * This returns XSDAttributeUse.gif.
-   */
-  public Image getImage(Object object)
-  {
-    XSDAttributeUse xsdAttributeUse = ((XSDAttributeUse)object);
-    
-    XSDAttributeDeclaration xsdAttributeDeclaration = getDelegate(xsdAttributeUse);
-    if (xsdAttributeDeclaration.isAttributeDeclarationReference())
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDAttributeRef.gif");
-    }
-    else
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDAttribute.gif");
-    }
-    //return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDAttributeUse");  
-    
-  }
-
-  public String getText(Object object)
-  {
-    return getText(object, true);
-  }
-
-  public String getText(Object object, boolean showType)
-  {
-    XSDAttributeUse xsdAttributeUse = ((XSDAttributeUse)object);
-    XSDAttributeDeclaration xsdAttributeDeclaration = getDelegate(xsdAttributeUse);
-    if (xsdAttributeDeclaration.isAttributeDeclarationReference())
-    {
-      return xsdAttributeDeclaration.getResolvedAttributeDeclaration().getName();
-    }
-    StringBuffer result  = new StringBuffer();
-    if (xsdAttributeDeclaration != null)
-    {
-      result.append(xsdAttributeDeclaration.getName());
-    }
-
-    if (xsdAttributeUse.isSetConstraint())
-    {
-      if (result.length() != 0)
-      {
-        result.append("  ");
-      }
-      result.append('<');
-      result.append(xsdAttributeUse.getConstraint());
-      result.append("=\"");
-      result.append(xsdAttributeUse.getLexicalValue());
-      result.append("\">");
-    }
-
-    return result.toString();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDComplexTypeDefinitionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDComplexTypeDefinitionAdapter.java
deleted file mode 100644
index 38f7351..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDComplexTypeDefinitionAdapter.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.xsd.XSDComplexTypeContent;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class XSDComplexTypeDefinitionAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDComplexTypeDefinitionAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  public Image getImage(Object object)
-  {
-    return XSDEditorPlugin.getXSDImage("icons/XSDComplexType.gif");
-//    XSDComplexTypeDefinition xsdComplexTypeDefinition = ((XSDComplexTypeDefinition)object);
-//    return 
-//      XSDEditorPlugin.getPlugin().getIconImage
-//        (xsdComplexTypeDefinition.getContainer() == null ?
-//          "full/obj16/XSDComplexTypeDefinitionUnresolved" :
-//          "full/obj16/XSDComplexTypeDefinition");
-  }
-  
-  public String getText(Object object)
-  {
-    return getText(object, true);
-  }
-  
-  public String getText(Object object, boolean showType)
-  {
-    XSDComplexTypeDefinition xsdComplexTypeDefinition = ((XSDComplexTypeDefinition)object);
-
-    StringBuffer result = new StringBuffer();
-    
-    result.append
-     (xsdComplexTypeDefinition.getName() == null ? 
-        // xsdComplexTypeDefinition.getAliasName() :
-        "local type" :
-        xsdComplexTypeDefinition.getName());
-
-    if (showType)
-    {
-      XSDTypeDefinition baseTypeDefinition = xsdComplexTypeDefinition.getBaseTypeDefinition();
-      if (baseTypeDefinition != null && 
-            baseTypeDefinition != xsdComplexTypeDefinition.getContent() &&
-            baseTypeDefinition.getName() != null &&
-            !XSDConstants.isURType(baseTypeDefinition))
-      {
-        result.append(" : ");
-        result.append(baseTypeDefinition.getQName(xsdComplexTypeDefinition));
-      }
-    }
-
-    return result.toString();
-  }
-
-  public Object[] getChildren(Object parentElement)
-  {
-    XSDComplexTypeDefinition xsdComplexTypeDefinition = (XSDComplexTypeDefinition)parentElement;
-    List list = new ArrayList();
-    
-    if (xsdComplexTypeDefinition.getContent() != null)
-    {
-      XSDComplexTypeContent xsdComplexTypeContent = xsdComplexTypeDefinition.getContent();
-      if (xsdComplexTypeContent instanceof XSDParticle)
-      {
-        list.add(((XSDParticle)xsdComplexTypeContent).getContent());
-      }
-    }
-    
-//    if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowInherited())
-//    {
-//      if (xsdComplexTypeDefinition.getSyntheticParticle() != null)
-//      {
-//        XSDTypeDefinition type = xsdComplexTypeDefinition.getBaseTypeDefinition();
-//        list.addAll(XSDChildUtility.getModelChildren(type));
-//      }
-//      if (xsdComplexTypeDefinition.getSyntheticWildcard() != null)
-//      {
-//        list.add(xsdComplexTypeDefinition.getSyntheticWildcard());
-//      }
-//    }
-    
-//    List attributes = xsdComplexTypeDefinition.getAttributeContents();
-//    if (attributes.size() > 0)
-//    {
-//      list.addAll(attributes);
-//    }
-
-//  list = new ArrayList();
-    if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowInherited())
-    {
-      if (xsdComplexTypeDefinition.getDerivationMethod().getName().equals("extension"))
-      {
-        XSDTypeDefinition type = xsdComplexTypeDefinition.getBaseTypeDefinition();
-        Iterator iter = XSDChildUtility.getModelChildren(type).iterator();
-        boolean cont = true;
-        while (cont)
-        {
-          while (iter.hasNext())
-          {
-            list.add(0, iter.next());
-          }
-          
-          if (type instanceof XSDComplexTypeDefinition)
-          {
-            XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)type;
-            type = ctd.getBaseTypeDefinition();
-                      
-            // defect 264957 - workbench hangs when modifying complex content
-            // Since we don't filter out the current complexType from
-            // the combobox, we can potentially have an endless loop
-            if (ctd == type)
-            {
-              cont = false;
-              break;
-            }
-
-            if (ctd.getDerivationMethod().getName().equals("extension"))
-            {
-              iter = XSDChildUtility.getModelChildren(type).iterator();
-            }
-            else
-            {
-              cont = false;
-            }
-          }
-          else
-          {
-            cont = false;
-          }
-        }
-
-      }
-
-          
-//          list.addAll(XSDChildUtility.getModelChildren(baseType));
-      }
-
-//    list.addAll(XSDChildUtility.getModelChildren(xsdComplexTypeDefinition));
-
-    return list.toArray();
- 
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return true;
-  }
-
-  public Object getParent(Object object)
-  {
-    XSDComplexTypeDefinition element = (XSDComplexTypeDefinition)object;
-    return element.getContainer();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java
deleted file mode 100644
index f573249..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDContentProvider.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDWildcard;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class XSDContentProvider implements ITreeContentProvider, INotifyChangedListener
-{
-//  protected static XSDItemProviderAdapterFactory syntacticAdapterFactory = new XSDItemProviderAdapterFactory();
-//  protected static XSDSemanticItemProviderAdapterFactory semanticAdapterFactory = new XSDSemanticItemProviderAdapterFactory();
-  
-  XSDModelAdapterFactoryImpl xsdModelAdapterFactory;
-
-  XSDSchema xsdSchema;
-  public XSDContentProvider(XSDModelAdapterFactoryImpl xsdModelAdapterFactoryImpl)
-  {
-    this.xsdModelAdapterFactory = xsdModelAdapterFactoryImpl;
-    
-    if (xsdModelAdapterFactory instanceof IChangeNotifier)
-    {
-      ((IChangeNotifier)xsdModelAdapterFactory).addListener(this);
-    }
-  }
-  
-  public void setXSDSchema(XSDSchema xsdSchema)
-  {
-    this.xsdSchema = xsdSchema;
-  }
-  
-  /*
-   * @see ITreeContentProvider#getChildren(Object)
-   */
-  public Object[] getChildren(Object parentElement)
-  {
-//  return adapterFactoryContentProvider.getChildren(parentElement);
-    XSDConcreteComponent xsdComp = null;
-    List list = null;
-    if (parentElement instanceof Document)
-    {
-      xsdComp = xsdSchema;
- 	    // ItemProviderAdapter a = (ItemProviderAdapter)syntacticAdapterFactory.adapt(xsdComp, syntacticAdapterFactory);
-      // ItemProviderAdapter a = (ItemProviderAdapter)semanticAdapterFactory.adapt(xsdComp, semanticAdapterFactory);
- 	    
- 	    XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(xsdComp, xsdModelAdapterFactory);
- 	    
-//      a.removeListener((INotifyChangedListener)this);
-// 	    a.addListener((INotifyChangedListener)this);
-
-      list = new ArrayList();
-      list.add(xsdComp);
-      return list.toArray();
-    }
-    else if (parentElement instanceof XSDConcreteComponent)
-    {
-      xsdComp = (XSDConcreteComponent)parentElement;
-      list = new ArrayList();
-    }
-    else if (parentElement instanceof ITreeItemContentProvider)
-    {
-      // return adapterFactoryContentProvider.getChildren(parentElement);
-      return ((ITreeItemContentProvider)parentElement).getChildren(parentElement).toArray();
-    }
-    else if (parentElement instanceof ITreeContentProvider)
-    {
-      return ((ITreeContentProvider)parentElement).getChildren(parentElement);
-    }
-    
-    if (xsdComp != null)
-    {
- 	    // ItemProviderAdapter a = (ItemProviderAdapter)syntacticAdapterFactory.adapt(xsdComp, syntacticAdapterFactory);
-      // ItemProviderAdapter a = (ItemProviderAdapter)semanticAdapterFactory.adapt(xsdComp, semanticAdapterFactory);
- 	    
-      XSDAbstractAdapter a = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(xsdComp, xsdModelAdapterFactory);
-      
-      if (xsdComp instanceof XSDElementDeclaration || xsdComp instanceof XSDModelGroup || xsdComp instanceof XSDWildcard)
-      {
-        XSDAbstractAdapter particleAdapter = (XSDAbstractAdapter)xsdModelAdapterFactory.adapt(((XSDParticleContent)xsdComp).getContainer(), xsdModelAdapterFactory);
-      }
-
- 	    if (a != null)
- 	    {
-// 	      a.removeListener((INotifyChangedListener)this);
-// 	      a.addListener((INotifyChangedListener)this);
- 	    
- 	      Object [] obj = a.getChildren(xsdComp);
- 	      if (obj != null)
- 	      {
- 	        list = Arrays.asList(obj);
- 	      }
- 	    }
-//	     list = (List)a.getChildren(xsdComp);
-    }
-    
-    list =  list != null ? list : Collections.EMPTY_LIST;
-    return list.toArray();
-  }
-
-  /*
-   * @see ITreeContentProvider#getParent(Object)
-   */
-  public Object getParent(Object element)
-  {
-    if (element instanceof Node)
-    {
-      return ((Node)element).getParentNode();
-    }
-    else if (element instanceof XSDConcreteComponent)
-    {
-      return ((XSDConcreteComponent)element).getContainer();
-    }
-    return null;
-  }
-
-  /*
-   * @see ITreeContentProvider#hasChildren(Object)
-   */
-  public boolean hasChildren(Object element)
-  {
-    Object[] children = getChildren(element);
-    return children != null && children.length > 0;   
-  }
-
-  /*
-   * @see IStructuredContentProvider#getElements(Object)
-   */
-  public Object[] getElements(Object inputElement)
-  {
-    return getChildren(inputElement);
-  }
-
-  public void notifyChanged(Notification notification)
-  {
-    if (viewer != null)
-    {
-      if (viewer instanceof StructuredViewer)
-      {
-        if (notification.getFeature() instanceof EAttribute)
-        {
-          ((StructuredViewer)viewer).update(notification.getNotifier(), null);
-        }
-        else
-        {
-          ((StructuredViewer)viewer).refresh(notification.getNotifier());
-        }
-      }
-      else
-      {
-        viewer.refresh();
-      }
-    }
-
-  }
-
-  /*
-   * @see IContentProvider#dispose()
-   */
-  public void dispose()
-  {
-    viewer = null;
-    xsdModelAdapterFactory.removeListener(this);
-  }
-  
-  protected Viewer viewer = null;
-
-  /*
-   * @see IContentProvider#inputChanged(Viewer, Object, Object)
-   */
-  public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-  {
-    this.viewer = viewer;
-  }
-  
-//  protected ViewerNotifyingAdapterFactory viewerNotifyingAdapterFactory = new ViewerNotifyingAdapterFactory();
-//
-//  
-//    // There is only 1 adapter associated with this factory.  This single adapter gets added
-//  // to the adapter lists of many nodes.
-//  public class ViewerNotifyingAdapterFactory extends // KCPort com.ibm.sed.model.AbstractAdapterFactory
-//    AbstractAdapterFactory
-//  {
-//    protected ViewerNotifyingAdapter viewerNotifyingAdapter = new ViewerNotifyingAdapter();
-//
-//    protected INodeAdapter createAdapter(INodeNotifier target)
-//    {
-//      return viewerNotifyingAdapter;
-//    }
-//
-//    protected ViewerNotifyingAdapter doAdapt(Object object)
-//    {
-//      ViewerNotifyingAdapter result = null;
-//      if (object instanceof INodeNotifier)
-//      {
-//        result = (ViewerNotifyingAdapter)adapt((INodeNotifier)object);
-//      }
-//      return result;
-//    }
-//  }
-//                    
-//
-//  public class ViewerNotifyingAdapter implements INodeAdapter
-//  {
-//    public boolean isAdapterForType(Object type)
-//    {
-//      return type == viewerNotifyingAdapterFactory;
-//    }
-//    
-//    public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue,	Object newValue,	int pos)
-//    { 
-//      if (viewer == null || newValue instanceof Text || oldValue instanceof Text)
-//        return;
-//      
-//      if (eventType != INodeNotifier.ADD && eventType != INodeNotifier.REMOVE)
-//      {                                 
-//        if (notifier instanceof Element)
-//        {        
-//          Node node = (Node)notifier;                   
-//          Node parent = node instanceof Attr ? ((Attr)node).getOwnerElement() : node.getParentNode();
-//          // we use to refresh the parent, but it seems that the notifier is sufficient now
-//          
-//          Object objToRefresh = notifier;      
-//          if (notifier instanceof DocumentImpl)
-//          {
-//            objToRefresh = ((DocumentImpl)notifier).getModel();
-//          }
-//          if (viewer instanceof AbstractTreeViewer)
-//          {
-////            if (node instanceof XMLNode)
-////            {
-////              XMLNode xmlNode = (XMLNode)node;
-////              int caretPosition =  xmlNode.getStartOffset();
-////              ((XSDEditorTreeViewer)viewer).setCaretPosition(caretPosition);
-////            }
-//            ((AbstractTreeViewer)viewer).refresh(objToRefresh);
-//          }
-//          else
-//          {
-//            viewer.refresh();
-//          }
-//        }
-//        
-//      }
-//      else if (eventType == INodeNotifier.ADD || eventType == INodeNotifier.REMOVE)
-//      {
-//        if (notifier instanceof DocumentImpl)
-//        {
-//          Object objToRefresh = ((DocumentImpl)notifier).getModel();
-//          if (viewer instanceof AbstractTreeViewer)
-//          {
-//            ((AbstractTreeViewer)viewer).refresh(objToRefresh);
-//          }
-//        }
-//      }
-////        if (notifier instanceof Element)
-////        {  
-//// performance problem - updates all elements when the children are reparented
-////          Object objToRefresh = notifier;      
-////          if (notifier instanceof DocumentImpl)
-////          {
-////            objToRefresh = ((DocumentImpl)notifier).getModel();
-////          }
-////          if (viewer instanceof AbstractTreeViewer)
-////          {
-////            ((AbstractTreeViewer)viewer).refresh(objToRefresh);
-////          }
-////          if (eventType == Notifier.ADD && newValue instanceof Element)
-////          {
-////            if (viewer instanceof XSDEditorTreeViewer)
-////            {
-////              // default select the new added element
-////              ((XSDEditorTreeViewer)viewer).getOutlinePage().updateSelection(new StructuredSelection(newValue));
-////            }
-////          }
-////        }          
-////      }
-//    }
-//  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDElementDeclarationAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDElementDeclarationAdapter.java
deleted file mode 100644
index a74e4bf..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDElementDeclarationAdapter.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class XSDElementDeclarationAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDElementDeclarationAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  public Image getImage(Object element)
-  {
-    XSDElementDeclaration xsdElementDeclaration = ((XSDElementDeclaration)element);
-    XSDElementDeclaration resolvedElementDeclaration = xsdElementDeclaration.getResolvedElementDeclaration();
-    
-    if (!xsdElementDeclaration.isElementDeclarationReference())
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDElement.gif");
-    }
-    else
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDElementRef.gif");
-    }
-    
-//    return 
-//      XSDEditorPlugin.getPlugin().getIconImage
-//        (resolvedElementDeclaration.getContainer() == null ?
-//           "full/obj16/XSDElementUnresolved" :
-//           xsdElementDeclaration.getResolvedElementDeclaration() == xsdElementDeclaration ?
-//             "full/obj16/XSDElementDeclaration" :
-//             "full/obj16/XSDElementUse");
-
-  }
-  
-  public String getText(Object object)
-  {
-    XSDElementDeclaration xsdElementDeclaration = ((XSDElementDeclaration)object);
-    XSDElementDeclaration resolvedElementDeclaration = xsdElementDeclaration.getResolvedElementDeclaration();
-    String name = 
-      xsdElementDeclaration != resolvedElementDeclaration ?
-        xsdElementDeclaration.getQName() :
-        xsdElementDeclaration.getName();
-
-    StringBuffer result = new StringBuffer();
-    if (name == null)
-    {
-      result.append("'absent'");
-    }
-    else
-    {
-      result.append(name);
-    }
-    
-    if (!xsdElementDeclaration.isGlobal())
-    {
-      Element element = xsdElementDeclaration.getElement();
-      boolean hasMinOccurs = element.hasAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-      boolean hasMaxOccurs = element.hasAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-
-      if (hasMinOccurs || hasMaxOccurs)
-      {
-	      result.append(" ["); 
-		    if (hasMinOccurs)
-	      {
-	        int min = ((XSDParticle)xsdElementDeclaration.getContainer()).getMinOccurs();
-	  	    if (min == XSDParticle.UNBOUNDED)
-	  	    {
-	  	      result.append("*");
-	  	    }
-	  	    else
-	  	    {
-	  	      result.append(String.valueOf(min));
-	  	    }
-	      }
-        else // print default
-        {
-          int min = ((XSDParticle)xsdElementDeclaration.getContainer()).getMinOccurs();
-          result.append(String.valueOf(min));
-        }
-	      if (hasMaxOccurs)
-	      {
-	        int max = ((XSDParticle)xsdElementDeclaration.getContainer()).getMaxOccurs();
-	  	    result.append("..");
-	  	    if (max == XSDParticle.UNBOUNDED)
-	  	    {
-	  	      result.append("*");
-	  	    }
-	  	    else
-	  	    {
-	  	      result.append(String.valueOf(max));
-	  	    }
-	      }
-        else // print default
-        {
-          result.append("..");
-          int max = ((XSDParticle)xsdElementDeclaration.getContainer()).getMaxOccurs();
-          result.append(String.valueOf(max));
-         
-        }
-	      result.append("]");
-      }
-    }
-    
-    if (resolvedElementDeclaration.getAnonymousTypeDefinition() == null && resolvedElementDeclaration.getTypeDefinition() != null)
-    {
-      result.append(" : ");
-      result.append(resolvedElementDeclaration.getTypeDefinition().getQName(xsdElementDeclaration));
-    }
-
-    return result.toString();
-  }
-  
-  public Object[] getChildren(Object parentElement)
-  {
-    XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration)parentElement;
-    List list = new ArrayList();
-    XSDTypeDefinition type = null;
-    if (xsdElementDeclaration.isElementDeclarationReference())
-    {
-      if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowReferences())
-      {
-        type = xsdElementDeclaration.getResolvedElementDeclaration().getTypeDefinition();
-      }
-    }
-    else
-    {
-      type = xsdElementDeclaration.getAnonymousTypeDefinition();
-      if (type == null)
-      {
-        if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowReferences())
-        {
-          type = xsdElementDeclaration.getTypeDefinition();
-        }
-      }
-    }
-
-    if (type != null && type instanceof XSDComplexTypeDefinition)
-    {
-      XSDComplexTypeDefinition ctType = (XSDComplexTypeDefinition)type;
-      if (ctType != null)
-      {
-        list.add(ctType);
-      }
-    }
-
-//    if (xsdElementDeclaration.getIdentityConstraintDefinitions() != null)
-//    {
-//      list.addAll(xsdElementDeclaration.getIdentityConstraintDefinitions());
-//    }
-    
-//    return XSDChildUtility.getModelChildren(xsdElementDeclaration.getResolvedElementDeclaration()).toArray();
-    return list.toArray();
-  
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return true;
-  }
-
-  public Object getParent(Object object)
-  {
-    XSDElementDeclaration element = (XSDElementDeclaration)object;
-    return element.getContainer();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelAdapterFactoryImpl.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelAdapterFactoryImpl.java
deleted file mode 100644
index faf443f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelAdapterFactoryImpl.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.provider.ChangeNotifier;
-import org.eclipse.emf.edit.provider.Disposable;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.IDisposable;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.util.XSDAdapterFactory;
-import org.eclipse.xsd.util.XSDSwitch;
-
-public class XSDModelAdapterFactoryImpl extends XSDAdapterFactory
-  implements IChangeNotifier, IDisposable
-{
-  
-  protected IChangeNotifier changeNotifier = new ChangeNotifier();
-  
-  protected Disposable disposable = new Disposable();
-  
-  protected Collection supportedTypes = new ArrayList();
-  
-  protected boolean showReferences = false;
-  protected boolean showInherited = false;
-  
-  /**
-   * 
-   */
-  public XSDModelAdapterFactoryImpl()
-  {
-    super();
-    supportedTypes.add(ILabelProvider.class);
-  }
-
-  public void setShowReferences(boolean b)
-  {
-    showReferences = b;
-  }
-  
-  public boolean getShowReferences()
-  {
-    return showReferences;
-  }
-  
-  public void setShowInherited(boolean b)
-  {
-    showInherited= b;
-  }
-  
-  public boolean getShowInherited()
-  {
-    return showInherited;
-  }
-  
-  protected XSDSwitch modelSwitch = new XSDSwitch()
-  {
-      public Object caseXSDAnnotation(XSDAnnotation object)
-      {
-        return createXSDAnnotationAdapter();
-      }
-      public Object caseXSDAttributeDeclaration(XSDAttributeDeclaration object)
-      {
-        return createXSDAttributeDeclarationAdapter();
-      }
-      public Object caseXSDAttributeGroupDefinition(XSDAttributeGroupDefinition object)
-      {
-        return createXSDAttributeGroupDefinitionAdapter();
-      }
-      public Object caseXSDAttributeUse(XSDAttributeUse object)
-      {
-        return createXSDAttributeUseAdapter();
-      }
-      public Object caseXSDComplexTypeDefinition(XSDComplexTypeDefinition object)
-      {
-        return createXSDComplexTypeDefinitionAdapter();
-      }
-      public Object caseXSDElementDeclaration(XSDElementDeclaration object)
-      {
-        return createXSDElementDeclarationAdapter();
-      }
-      public Object caseXSDModelGroup(XSDModelGroup object)
-      {
-        return createXSDModelGroupAdapter();
-      }
-      public Object caseXSDModelGroupDefinition(XSDModelGroupDefinition object)
-      {
-        return createXSDModelGroupDefinitionAdapter();
-      }
-      public Object caseXSDNotationDeclaration(XSDNotationDeclaration object)
-      {
-        return createXSDNotationDeclarationAdapter();
-      }
-      public Object caseXSDParticle(XSDParticle object)
-      {
-        return createXSDParticleAdapter();
-      }
-//      public Object caseXSDParticleContent(XSDParticleContent object)
-//      {
-//        return createXSDParticleContentAdapter();
-//      }
-      public Object caseXSDSchema(XSDSchema object)
-      {
-        return createXSDSchemaAdapter();
-      }
-      public Object caseXSDImport(XSDImport object)
-      {
-        // return createXSDImportAdapter();
-        return createXSDSchemaDirectiveAdapter();
-      }
-      public Object caseXSDInclude(XSDInclude object)
-      {
-        // return createXSDIncludeAdapter();
-        return createXSDSchemaDirectiveAdapter();
-      }
-      public Object caseXSDRedefine(XSDRedefine object)
-      {
-        // return createXSDRedefineAdapter();
-        return createXSDSchemaDirectiveAdapter();
-      }
-      public Object caseXSDSimpleTypeDefinition(XSDSimpleTypeDefinition object)
-      {
-        return createXSDSimpleTypeDefinitionAdapter();
-      
-      }
-      public Object caseXSDWildcard(XSDWildcard object)
-      {
-        return createXSDWildcardAdapter();
-      }
-      public Object defaultCase(EObject object)
-      {
-        return createEObjectAdapter();
-      }
-  };
-
-  public Adapter createAdapter(Notifier target)
-  {
-    Adapter adapter = null;
-    if (target instanceof EObject)
-    {
-      adapter = (Adapter)modelSwitch.doSwitch((EObject)target);
-    }
-    return adapter;
-  }
-
-/* create adapters */
-  
-  protected XSDAnnotationAdapter xsdAnnotationAdapter;
-  public Adapter createXSDAnnotationAdapter()
-  {
-    if (xsdAnnotationAdapter == null)
-    {
-      xsdAnnotationAdapter = new XSDAnnotationAdapter(this);
-    }
-    return xsdAnnotationAdapter;
-  }
-
-  protected XSDAttributeDeclarationAdapter xsdAttributeDeclarationAdapter;
-  public Adapter createXSDAttributeDeclarationAdapter()
-  {
-    if (xsdAttributeDeclarationAdapter == null)
-    {
-      xsdAttributeDeclarationAdapter = new XSDAttributeDeclarationAdapter(this);
-    }
-    return xsdAttributeDeclarationAdapter;
-  }
-
-  protected XSDAttributeGroupDefinitionAdapter xsdAttributeGroupDefinitionAdapter;
-  public Adapter createXSDAttributeGroupDefinitionAdapter()
-  {
-    if (xsdAttributeGroupDefinitionAdapter == null)
-    {
-      xsdAttributeGroupDefinitionAdapter = new XSDAttributeGroupDefinitionAdapter(this);
-    }
-    return xsdAttributeGroupDefinitionAdapter;
-  }
-
-  protected XSDAttributeUseAdapter xsdAttributeUseAdapter;
-  public Adapter createXSDAttributeUseAdapter()
-  {
-    if (xsdAttributeUseAdapter == null)
-    {
-      xsdAttributeUseAdapter = new XSDAttributeUseAdapter(this);
-    }
-
-    return xsdAttributeUseAdapter;
-  }
-
-  
-  XSDComplexTypeDefinitionAdapter xsdComplexTypeDefinitionAdapter;
-  public Adapter createXSDComplexTypeDefinitionAdapter()
-  {
-    if (xsdComplexTypeDefinitionAdapter == null)
-    {
-      xsdComplexTypeDefinitionAdapter = new XSDComplexTypeDefinitionAdapter(this);
-    }
-    return xsdComplexTypeDefinitionAdapter;
-  }
-
-  XSDElementDeclarationAdapter xsdElementDeclarationAdapter;
-  public Adapter createXSDElementDeclarationAdapter()
-  {
-    if (xsdElementDeclarationAdapter == null)
-    {
-      xsdElementDeclarationAdapter = new XSDElementDeclarationAdapter(this);
-    }
-    return xsdElementDeclarationAdapter;
-  }
-
-  XSDModelGroupAdapter xsdModelGroupAdapter;
-  public Adapter createXSDModelGroupAdapter()
-  {
-    if (xsdModelGroupAdapter == null)
-    {
-      xsdModelGroupAdapter = new XSDModelGroupAdapter(this);
-    }
-    return xsdModelGroupAdapter;
-  }
-
-  XSDModelGroupDefinitionAdapter xsdModelGroupDefinitionAdapter;
-  public Adapter createXSDModelGroupDefinitionAdapter()
-  {
-    if (xsdModelGroupDefinitionAdapter == null)
-    {
-      xsdModelGroupDefinitionAdapter = new XSDModelGroupDefinitionAdapter(this);
-    }
-    return xsdModelGroupDefinitionAdapter;
-  }
-
-  XSDNotationDeclarationAdapter xsdNotationDeclarationAdapter;
-  public Adapter createXSDNotationDeclarationAdapter()
-  {
-    if (xsdNotationDeclarationAdapter == null)
-    {
-      xsdNotationDeclarationAdapter = new XSDNotationDeclarationAdapter(this);
-    }
-    return xsdNotationDeclarationAdapter;
-  }
-
-  XSDWildcardAdapter xsdWildcardAdapter;
-  public Adapter createXSDWildcardAdapter()
-  {
-    if (xsdWildcardAdapter == null)
-    {
-      xsdWildcardAdapter = new XSDWildcardAdapter(this);
-    }
-    return xsdWildcardAdapter;
-  }
-  
-  protected XSDParticleAdapter xsdParticleAdapter;
-  public Adapter createXSDParticleAdapter()
-  {
-    if (xsdParticleAdapter == null)
-    {
-      xsdParticleAdapter = new XSDParticleAdapter(this);
-    }
-    return xsdParticleAdapter;
-  }
-//
-//  protected XSDParticleContentAdapter xsdParticleContentAdapter;
-//  public Adapter createXSDParticleContentAdapter()
-//  {
-//    if (xsdParticleContentAdapter == null)
-//    {
-//      xsdParticleContentAdapter = new XSDParticleContentAdapter(this);
-//    }
-//    return xsdParticleContentAdapter;
-//  }
-
-  protected XSDSchemaAdapter xsdSchemaAdapter;
-  public Adapter createXSDSchemaAdapter()
-  {
-    if (xsdSchemaAdapter == null)
-    {
-      xsdSchemaAdapter = new XSDSchemaAdapter(this);
-    }
-
-    return xsdSchemaAdapter;
-  }
-  
-  protected XSDSchemaDirectiveAdapter xsdSchemaDirectiveAdapter;
-  public Adapter createXSDSchemaDirectiveAdapter()
-  {
-    if (xsdSchemaDirectiveAdapter == null)
-    {
-      xsdSchemaDirectiveAdapter = new XSDSchemaDirectiveAdapter(this);
-    }
-
-    return xsdSchemaDirectiveAdapter;
-  }
-
-  XSDSimpleTypeDefinitionAdapter xsdSimpleTypeDefinitionAdapter;
-  public Adapter createXSDSimpleTypeDefinitionAdapter()
-  {
-    if (xsdSimpleTypeDefinitionAdapter == null)
-    {
-      xsdSimpleTypeDefinitionAdapter = new XSDSimpleTypeDefinitionAdapter(this);
-    }
-    return xsdSimpleTypeDefinitionAdapter;
-  }
-
-  public Adapter createEObjectAdapter()
-  {
-    return null;
-  }
-
-
-  public boolean isFactoryForType(Object type)
-  {
-    return super.isFactoryForType(type) || supportedTypes.contains(type);
-  }
-
-  /**
-   * This implementation substitutes the factory itself as the key for the adapter.
-   */
-  public Adapter adapt(Notifier notifier, Object type)
-  {
-    return super.adapt(notifier, this);
-  }
-
-  public Object adapt(Object object, Object type)
-  {
-    // This is a kludge to deal with enumerators, which crash the doSwitch.
-    //
-    if (object instanceof EObject && ((EObject)object).eClass() == null)
-    {
-      return null;
-    }
-
-    if (isFactoryForType(type))
-    {
-      Object adapter = super.adapt(object, type);
-      if (!(type instanceof Class) || (((Class)type).isInstance(adapter)))
-      {
-        return adapter;
-      }
-    }
-
-    return null;
-  }
-
-  public Adapter adaptNew(Notifier object, Object type)
-  {
-    Adapter result = super.adaptNew(object, type);
-    disposable.add(result);
-    return result;
-  }
-
-  /**
-   * This adds a listener.
-   */
-  public void addListener(INotifyChangedListener notifyChangedListener)
-  {
-    changeNotifier.addListener(notifyChangedListener);
-  }
-
-  /**
-   * This removes a listener.
-   */
-  public void removeListener(INotifyChangedListener notifyChangedListener)
-  {
-    changeNotifier.removeListener(notifyChangedListener);
-  }
-
-  /**
-   * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
-   */
-  public void fireNotifyChanged(Notification notification)
-  {
-    Display display = Display.getDefault();
-    if (display != null)
-    {
-      if (display.getThread() == Thread.currentThread ())
-      {
-        changeNotifier.fireNotifyChanged(notification);
-      }
-    }
-
-//    if (parentAdapterFactory != null)
-//    {
-//      parentAdapterFactory.fireNotifyChanged(notification);
-//    }
-  }
-
-  public void dispose()
-  {
-    disposable.dispose();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupAdapter.java
deleted file mode 100644
index 7fc1719..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupAdapter.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.graph.XSDChildUtility;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class XSDModelGroupAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDModelGroupAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  public Image getImage(Object element)
-  {
-    XSDModelGroup xsdModelGroup = ((XSDModelGroup)element);
-    if (XSDCompositor.CHOICE_LITERAL == xsdModelGroup.getCompositor())
-    {
-      // return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDModelGroupChoice");
-      return XSDEditorPlugin.getXSDImage("icons/XSDChoice.gif");
-    }
-    else if (XSDCompositor.ALL_LITERAL == xsdModelGroup.getCompositor())
-    {
-      // return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDModelGroupAll");
-      return XSDEditorPlugin.getXSDImage("icons/XSDAll.gif");
-    }
-    else 
-    {
-      // return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDModelGroupSequence");
-      return XSDEditorPlugin.getXSDImage("icons/XSDSequence.gif");
-    }
-  }
-  
-  public String getText(Object object)
-  {
-    XSDModelGroup xsdModelGroup = ((XSDModelGroup)object);
-    
-    StringBuffer result = new StringBuffer();
-    String name = xsdModelGroup.getCompositor().getName();
-    if (name != null)
-    {
-      result.append(name);
-    }
-    
-    Element element = xsdModelGroup.getElement();
-    
-    if (element != null)
-    {
-      boolean hasMinOccurs = element.hasAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-      boolean hasMaxOccurs = element.hasAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-      
-      if (hasMinOccurs || hasMaxOccurs)
-      {
-  	    result.append(" [");  
-  	    if (hasMinOccurs)
-  	    {
-  	      int min = ((XSDParticle)xsdModelGroup.getContainer()).getMinOccurs();
-  		    if (min == XSDParticle.UNBOUNDED)
-  		    {
-  		      result.append("*");
-  		    }
-  		    else
-  		    {
-  		      result.append(String.valueOf(min));
-  		    }
-  	    }
-        else // print default
-        {
-          int min = ((XSDParticle)xsdModelGroup.getContainer()).getMinOccurs();
-          result.append(String.valueOf(min));
-        }
-  	    if (hasMaxOccurs)
-  	    {
-  	      int max = ((XSDParticle)xsdModelGroup.getContainer()).getMaxOccurs();
-  		    result.append("..");
-  		    if (max == XSDParticle.UNBOUNDED)
-  		    {
-  		      result.append("*");
-  		    }
-  		    else
-  		    {
-  		      result.append(String.valueOf(max));
-  		    }
-  	    }
-        else // print default
-        {
-          result.append("..");
-          int max = ((XSDParticle)xsdModelGroup.getContainer()).getMaxOccurs();
-          result.append(String.valueOf(max));
-        }
-  	    result.append("]");
-      }
-    }
-    return result.toString();
-  }
-  
-  public Object[] getChildren(Object parentElement)
-  {
-    XSDModelGroup xsdModelGroup = (XSDModelGroup)parentElement;
-    List list = new ArrayList();
-    // list.addAll(xsdModelGroup.getContents());
-    list.addAll(XSDChildUtility.getModelChildren(xsdModelGroup));
-    return list.toArray();
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return true;
-  }
-
-  public Object getParent(Object object)
-  {
-    XSDModelGroup element = (XSDModelGroup)object;
-    return element.getContainer();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupDefinitionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupDefinitionAdapter.java
deleted file mode 100644
index e622469..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDModelGroupDefinitionAdapter.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-
-
-public class XSDModelGroupDefinitionAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDModelGroupDefinitionAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  public Image getImage(Object object)
-  {
-    XSDModelGroupDefinition xsdModelGroupDefinition = ((XSDModelGroupDefinition)object);
-    XSDModelGroupDefinition resolvedModelGroupDefinition = xsdModelGroupDefinition.getResolvedModelGroupDefinition();
-
-    if (xsdModelGroupDefinition.isModelGroupDefinitionReference())
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDGroupRef.gif");
-    }
-    else
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDGroup.gif");
-    }
-  }
-  
-  public String getText(Object object)
-  {
-    XSDModelGroupDefinition xsdModelGroupDefinition = ((XSDModelGroupDefinition)object);
-    String result = 
-      xsdModelGroupDefinition.isModelGroupDefinitionReference() ?
-        xsdModelGroupDefinition.getQName() :
-        xsdModelGroupDefinition.getName();
-    return result == null ? "'absent'" : result;
-  }
-  
-  boolean hasChildren = false;
-  
-  public Object[] getChildren(Object parentElement)
-  {
-    XSDModelGroupDefinition xsdModelGroupDefinition = (XSDModelGroupDefinition)parentElement;
-    List list = new ArrayList();
-    if (xsdModelGroupDefinition.isModelGroupDefinitionReference())
-    {
-      if (((XSDModelAdapterFactoryImpl)adapterFactory).getShowReferences())
-      {
-        list.add(xsdModelGroupDefinition.getResolvedModelGroupDefinition().getModelGroup());
-        hasChildren = true;
-      }
-    }
-    else
-    {
-      if (xsdModelGroupDefinition.getModelGroup() != null)
-      {
-        list.add(xsdModelGroupDefinition.getModelGroup());
-        hasChildren = true;
-      }
-    }
-    
-    return list.toArray();
- 
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return hasChildren;
-  }
-
-  public Object getParent(Object object)
-  {
-    XSDModelGroupDefinition element = (XSDModelGroupDefinition)object;
-    return element.getContainer();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDNotationDeclarationAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDNotationDeclarationAdapter.java
deleted file mode 100644
index 3c89274..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDNotationDeclarationAdapter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDNotationDeclaration;
-
-
-public class XSDNotationDeclarationAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDNotationDeclarationAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-  
-  public Image getImage(Object object)
-  {
-    // return XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDNotationDeclaration");
-    return XSDEditorPlugin.getXSDImage("icons/XSDNotation.gif");
-  }
-
-  public String getText(Object object)
-  {
-    XSDNotationDeclaration xsdNotationDeclaration = ((XSDNotationDeclaration)object);
-    String result = xsdNotationDeclaration.getName();
-    return result == null ? "" : result;
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDParticleAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDParticleAdapter.java
deleted file mode 100644
index c37e8a7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDParticleAdapter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationWrapper;
-import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDWildcard;
-
-
-public class XSDParticleAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDParticleAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  // hack to notify outline and graph view of minOccurs and maxOccurs changes
-  public void notifyChanged(Notification msg) 
-  {
-    XSDParticle xsdParticle = (XSDParticle)msg.getNotifier();
-    XSDParticleContent xsdParticleContent = xsdParticle.getContent();
-    if (xsdParticleContent != null)
-    {
-      if (xsdParticleContent instanceof XSDElementDeclaration)
-      {
-        fireNotifyChanged(new NotificationWrapper((XSDElementDeclaration)xsdParticleContent, msg));
-        XSDModelAdapterFactory.getAdapter(xsdParticleContent).firePropertyChanged(xsdParticleContent, null);
-      }
-      else if (xsdParticleContent instanceof XSDModelGroup)
-      {
-        fireNotifyChanged(new NotificationWrapper((XSDModelGroup)xsdParticleContent, msg));
-        XSDModelAdapterFactory.getAdapter(xsdParticleContent).firePropertyChanged(xsdParticleContent, null);
-      }
-      else if (xsdParticleContent instanceof XSDWildcard)
-      {
-        fireNotifyChanged(new NotificationWrapper((XSDWildcard)xsdParticleContent, msg));
-        XSDModelAdapterFactory.getAdapter(xsdParticleContent).firePropertyChanged(xsdParticleContent, null);
-      }
-    }
-    // super.notifyChanged(msg);
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaAdapter.java
deleted file mode 100644
index 36f4fb2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaAdapter.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDPackage;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-
-public class XSDSchemaAdapter extends XSDAbstractAdapter
-{
-  protected XSDPackage xsdPackage;
-  /**
-   * @param adapterFactory
-   */
-  public XSDSchemaAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-    xsdPackage = XSDPackage.eINSTANCE;
-  }
-
-  public Image getImage(Object element)
-  {
-    return XSDEditorPlugin.getXSDImage("icons/XSDFile.gif");
-  }
-  
-  public String getText(Object element)
-  {
-    XSDSchema xsdSchema = (XSDSchema)element;
-    String result = xsdSchema.getSchemaLocation();
-    if (result == null)
-    {
-      return "";
-    } 
-    else
-    {
-      return URI.createURI(result).lastSegment();
-    }
-  }
-  List children;
-  public Object[] getChildren(Object parentElement)
-  {
-    XSDSchema xsdSchema = ((XSDSchema)parentElement);
-
-    children = new ArrayList();
-    
-    List directivesList = getDirectives(xsdSchema);
-    
-    List elementsList = getGlobalElements(xsdSchema);
-    
-    List attributeGroupList = getAttributeGroupList(xsdSchema);
-    
-    List attributesList = getAttributeList(xsdSchema);
-    
-    List groups = getGroups(xsdSchema);
-    
-    List notations = getNotations(xsdSchema);
-
-    List types = getComplexTypes(xsdSchema);
-    types.addAll(getSimpleTypes(xsdSchema));
-    
-    children.add
-    (new CategoryAdapter
-      ( //XSDEditPlugin.getString("_UI_Elements_label"), 
-        XSDEditorPlugin.getXSDString("_UI_GRAPH_DIRECTIVES"),
-        XSDEditorPlugin.getPlugin().getIconImage("obj16/directivesheader"),
-        directivesList, xsdSchema, CategoryAdapter.DIRECTIVES));
-    children.add
-        (new CategoryAdapter
-          ( //XSDEditPlugin.getString("_UI_Elements_label"), 
-            XSDEditorPlugin.getXSDString("_UI_GRAPH_ELEMENTS"),
-            XSDEditorPlugin.getPlugin().getIconImage("obj16/elementsheader"),
-            elementsList, xsdSchema, CategoryAdapter.ELEMENTS));
-      children.add
-        (new CategoryAdapter
-          ( //XSDEditPlugin.getString("_UI_Attributes_label"),
-            XSDEditorPlugin.getXSDString("_UI_GRAPH_ATTRIBUTES"),
-            XSDEditorPlugin.getPlugin().getIconImage("obj16/attributesheader"),
-            attributesList, xsdSchema, CategoryAdapter.ATTRIBUTES));
-      children.add
-        (new CategoryAdapter
-          (//XSDEditPlugin.getString("_UI_AttributeGroups_label"),
-            XSDEditorPlugin.getXSDString("_UI_GRAPH_ATTRIBUTE_GROUPS"),
-            XSDEditorPlugin.getPlugin().getIconImage("obj16/attributegroupsheader"),
-            attributeGroupList, xsdSchema, CategoryAdapter.ATTRIBUTE_GROUPS));
-      children.add
-        (new CategoryAdapter
-          ( //XSDEditPlugin.getString("_UI_Types_label"), 
-            XSDEditorPlugin.getXSDString("_UI_GRAPH_TYPES"),
-            XSDEditorPlugin.getPlugin().getIconImage("obj16/typesheader"),
-            types, xsdSchema, CategoryAdapter.TYPES));
-      children.add
-        (new CategoryAdapter
-          ( // XSDEditPlugin.getString("_UI_ModelGroups_label"), 
-            XSDEditorPlugin.getXSDString("_UI_GRAPH_GROUPS"),
-            XSDEditorPlugin.getPlugin().getIconImage("obj16/groupsheader"),
-            groups, xsdSchema, CategoryAdapter.GROUPS));
-      children.add
-        (new CategoryAdapter
-          ( // XSDEditPlugin.getString("_UI_Notations_label"), 
-            XSDEditorPlugin.getXSDString("_UI_GRAPH_NOTATIONS"),
-            XSDEditorPlugin.getPlugin().getIconImage("obj16/notationsheader"),
-            notations, xsdSchema, CategoryAdapter.NOTATIONS));
-//      children.add
-//        (new CategoryAdapter
-//          ( //XSDEditPlugin.getString("_UI_IdentityConstraints_label"), 
-//              "Identity Constraints",
-//            XSDEditorPlugin.getPlugin().getIconImage("full/obj16/XSDIdentityConstraintDefinitionKey"),
-//            xsdSchema.getIdentityConstraintDefinitions(), xsdSchema, CategoryAdapter.IDENTITY_CONSTRAINTS));
-//      children.add
-//        (new CategoryAdapter
-//          ( // XSDEditPlugin.getString("_UI_Annotations_label"), 
-//              "Annotations",
-//            XSDEditorPlugin.getPlugin().getIconImage("obj16/annotationsheader"),
-//            xsdSchema.getAnnotations(), xsdSchema, CategoryAdapter.ANNOTATIONS));
-
-    return children.toArray();
-  
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return true;
-  }
-
-  public Object getParent(Object object)
-  {
-    return null;
-  }
-  
-  public void notifyChanged(final Notification msg)
-  {
-    class CategoryNotification extends NotificationImpl
-    {
-      protected Object category;
-      public CategoryNotification(Object category)
-      {
-        super(msg.getEventType(), msg.getOldValue(), msg.getNewValue(), msg.getPosition());
-        this.category = category;
-      }
-
-      public Object getNotifier()
-      {
-        return category;
-      }
-      public Object getFeature()
-      {
-        return msg.getFeature();
-      }
-    }
-    
-    if (children == null) {
-    	getChildren(target);
-    }
-
-    if (msg.getFeature() == xsdPackage.getXSDSchema_Contents())
-    {
-      CategoryAdapter adapter = (CategoryAdapter)children.get(0);
-      XSDSchema xsdSchema = adapter.getXSDSchema();
-      adapter.setChildren(getDirectives(xsdSchema));
-      this.fireNotifyChanged(new CategoryNotification(adapter));
-      return;
-    }
-    else if (msg.getFeature() == xsdPackage.getXSDSchema_ElementDeclarations())
-    {
-      CategoryAdapter adapter = (CategoryAdapter)children.get(1);
-      XSDSchema xsdSchema = adapter.getXSDSchema();
-      adapter.setChildren(getGlobalElements(xsdSchema));
-      this.fireNotifyChanged(new CategoryNotification(adapter));
-      return;
-    }
-    else if (msg.getFeature() == xsdPackage.getXSDSchema_AttributeDeclarations())
-    {
-      CategoryAdapter adapter = (CategoryAdapter)children.get(2);
-      XSDSchema xsdSchema = adapter.getXSDSchema();
-      adapter.setChildren(getAttributeList(xsdSchema));
-      this.fireNotifyChanged(new CategoryNotification(adapter));
-      return;
-    }
-    else if (msg.getFeature() == xsdPackage.getXSDSchema_AttributeGroupDefinitions())
-    {
-      CategoryAdapter adapter = (CategoryAdapter)children.get(3);
-      XSDSchema xsdSchema = adapter.getXSDSchema();
-      adapter.setChildren(getAttributeGroupList(xsdSchema));
-      this.fireNotifyChanged(new CategoryNotification(adapter));
-      return;
-    }
-    else if (msg.getFeature() == xsdPackage.getXSDSchema_TypeDefinitions())
-    {
-      CategoryAdapter adapter = (CategoryAdapter)children.get(4);
-      XSDSchema xsdSchema = adapter.getXSDSchema();
-      List types = getComplexTypes(xsdSchema);
-      types.addAll(getSimpleTypes(xsdSchema));
-
-      adapter.setChildren(types);
-      this.fireNotifyChanged(new CategoryNotification(adapter));
-      return;
-    }
-    else if (msg.getFeature() == xsdPackage.getXSDSchema_ModelGroupDefinitions())
-    {
-      CategoryAdapter adapter = (CategoryAdapter)children.get(5);
-      XSDSchema xsdSchema = adapter.getXSDSchema();
-      adapter.setChildren(getGroups(xsdSchema));
-      this.fireNotifyChanged(new CategoryNotification(adapter));
-      return;
-    }
-    else if (msg.getFeature() == xsdPackage.getXSDSchema_NotationDeclarations())
-    {
-      CategoryAdapter adapter = (CategoryAdapter)children.get(6);
-      XSDSchema xsdSchema = adapter.getXSDSchema();
-      adapter.setChildren(getNotations(xsdSchema));
-      this.fireNotifyChanged(new CategoryNotification(adapter));
-      return;
-    }
-//    else if (msg.getFeature() == xsdPackage.getXSDSchema_IdentityConstraintDefinitions())
-//    {
-//      this.fireNotifyChanged(new CategoryNotification(children.get(7)));
-//      return;
-//    }
-    else if (msg.getFeature() == xsdPackage.getXSDSchema_Annotations())
-    {
-//      this.fireNotifyChanged(new CategoryNotification(children.get(7)));
-      return;
-    }
-    else if (msg.getFeature() == xsdPackage.getXSDSchema_SchemaLocation())
-    {
-      this.fireNotifyChanged(msg);
-      return;
-    }
-
-    super.notifyChanged(msg);
-  }
-
-  protected List getDirectives(XSDSchema schema)
-  {                 
-    List list = new ArrayList();
-    for (Iterator i = schema.getContents().iterator(); i.hasNext(); )
-    {
-      Object o = i.next();
-      if (o instanceof XSDSchemaDirective)
-      {
-        list.add(o);
-      }
-    } 
-    return list;
-  }
-  
-  protected List getAttributeGroupList(XSDSchema xsdSchema)
-  {
-    List attributeGroupList = new ArrayList();
-    for (Iterator i = xsdSchema.getAttributeGroupDefinitions().iterator(); i.hasNext(); )
-    {
-      XSDAttributeGroupDefinition attrGroup = (XSDAttributeGroupDefinition)i.next();
-      if (attrGroup.getRootContainer() == xsdSchema)
-      {
-        attributeGroupList.add(attrGroup);
-      }
-    }
-    return attributeGroupList;
-  }
-  
-  protected List getAttributeList(XSDSchema xsdSchema)
-  {
-    List attributesList = new ArrayList();
-    for (Iterator iter = xsdSchema.getAttributeDeclarations().iterator(); iter.hasNext(); )
-    {
-      Object o = iter.next();
-      if (o instanceof XSDAttributeDeclaration)
-      {
-        XSDAttributeDeclaration attr = (XSDAttributeDeclaration)o;
-        if (attr != null)
-        {
-          if (attr.getTargetNamespace() != null)
-          {
-            if (!(attr.getTargetNamespace().equals("http://www.w3.org/2001/XMLSchema-instance")))
-            {
-              if (attr.getRootContainer() == xsdSchema)
-              {
-                attributesList.add(attr);
-              }
-            }
-          }
-          else
-          {
-            if (attr.getRootContainer() == xsdSchema)
-            {
-              attributesList.add(attr);
-            }
-          }
-        }
-      }
-    }
-    return attributesList;
-  }
-  
-  protected List getGlobalElements(XSDSchema schema)
-  {
-    List elements = schema.getElementDeclarations();
-    List list = new ArrayList();
-    for (Iterator i = elements.iterator(); i.hasNext(); )
-    {
-      XSDElementDeclaration elem = (XSDElementDeclaration)i.next();
-      if (elem.getRootContainer() == schema)
-      {
-        list.add(elem);
-      }
-    }                
-    return list;
-  }
-  
-  protected List getComplexTypes(XSDSchema schema)
-  {
-    List allTypes = schema.getTypeDefinitions();
-    List list = new ArrayList();
-    for (Iterator i = allTypes.iterator(); i.hasNext(); )
-    {
-      XSDTypeDefinition td = (XSDTypeDefinition)i.next();
-      if (td instanceof XSDComplexTypeDefinition)
-      {
-        XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)td;
-        if (ct.getRootContainer() == schema)
-        {
-          list.add(ct);
-        }
-      }
-    }                
-    return list;
-  }
-
-  protected List getSimpleTypes(XSDSchema schema)
-  {
-    List allTypes = schema.getTypeDefinitions();
-    List list = new ArrayList();
-    for (Iterator i = allTypes.iterator(); i.hasNext(); )
-    {
-      XSDTypeDefinition td = (XSDTypeDefinition)i.next();
-      if (td instanceof XSDSimpleTypeDefinition)
-      {
-        XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)td;
-        if (st.getRootContainer() == schema)
-        {
-          list.add(st);
-        }
-      }
-    }                
-    return list;
-  }   
-
-  protected List getGroups(XSDSchema schema)
-  {
-    List groups = schema.getModelGroupDefinitions();
-    List list = new ArrayList();
-    for (Iterator i = groups.iterator(); i.hasNext(); )
-    {
-      XSDModelGroupDefinition group = (XSDModelGroupDefinition)i.next();
-      if (group.getRootContainer() == schema)
-      {
-        list.add(group);
-      }
-    }                
-    return list;
-  }
-  
-  protected List getNotations(XSDSchema schema)
-  {
-    List notations = schema.getNotationDeclarations();
-    List list = new ArrayList();
-    for (Iterator i = notations.iterator(); i.hasNext(); )
-    {
-      XSDNotationDeclaration notation = (XSDNotationDeclaration)i.next();
-      if (notation.getRootContainer() == schema)
-      {
-        list.add(notation);
-      }
-    }                
-    return list;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaDirectiveAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaDirectiveAdapter.java
deleted file mode 100644
index 47cf912..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSchemaDirectiveAdapter.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchemaDirective;
-
-public class XSDSchemaDirectiveAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDSchemaDirectiveAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  
-  public Image getImage(Object object)
-  {
-    if (object instanceof XSDImport)
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDImport.gif");
-    }
-    else if (object instanceof XSDInclude)
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDInclude.gif");
-    }
-    else if (object instanceof XSDRedefine)
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDRedefine.gif");
-    }
-    return null;
-  }
-
-  public String getText(Object object)
-  {
-    XSDSchemaDirective directive = (XSDSchemaDirective)object;
-    String result = directive.getSchemaLocation();
-    if (result == null) result = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED") + ")";
-    if (result.equals("")) result = "(" + XSDEditorPlugin.getXSDString("_UI_LABEL_NO_LOCATION_SPECIFIED")+ ")";
-    return result;
-    
-//    XSDImport xsdImport = ((XSDImport)object);
-//    String result = xsdImport.getSchemaLocation();
-//    return result == null ? "" : result;
-    
-//    XSDInclude xsdInclude = ((XSDInclude)object);
-//    String result = xsdInclude.getSchemaLocation();
-//    return result == null ? "" : result;
-    
-//    XSDRedefine xsdRedefine = ((XSDRedefine)object);
-//    String result = xsdRedefine.getSchemaLocation();
-//    return result == null ? "" : result;
-
-
-  }
-
-  public Object[] getChildren(Object parentElement)
-  {
-    List list = new ArrayList();
-    if (parentElement instanceof XSDRedefine)
-    {
-      XSDRedefine redefine = (XSDRedefine)parentElement;
-      list = redefine.getContents();
-      if (list == null)
-      {
-        list = new ArrayList();
-      }
-    }
-    return list.toArray();
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return false;
-  }
-
-  public Object getParent(Object object)
-  {
-    return null;
-    
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSimpleTypeDefinitionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSimpleTypeDefinitionAdapter.java
deleted file mode 100644
index 0d4026a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDSimpleTypeDefinitionAdapter.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class XSDSimpleTypeDefinitionAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDSimpleTypeDefinitionAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  public Image getImage(Object object)
-  {
-    XSDSimpleTypeDefinition xsdSimpleTypeDefinition = ((XSDSimpleTypeDefinition)object);
-    
-    if (xsdSimpleTypeDefinition.getContainer() == null)
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
-    }
-    
-    if (XSDVariety.LIST_LITERAL == xsdSimpleTypeDefinition.getVariety())
-    {
-      // return XSDEditorPlugin.getXSDImage("icons/XSDSimpleList.gif");
-      return XSDEditorPlugin.getPlugin().getIconImage("obj16/smpl_list_obj");
-    }
-    else if (XSDVariety.UNION_LITERAL == xsdSimpleTypeDefinition.getVariety())
-    {
-      //return XSDEditorPlugin.getXSDImage("icons/XSDSimpleUnion.gif");
-      return XSDEditorPlugin.getPlugin().getIconImage("obj16/smpl_union_obj");
-    }
-    else if (XSDVariety.ATOMIC_LITERAL == xsdSimpleTypeDefinition.getVariety())
-    {
-      // return XSDEditorPlugin.getXSDImage("icons/XSDSimpleRestrict.gif");
-      Element stElement = xsdSimpleTypeDefinition.getElement();
-      XSDDOMHelper domHelper = new XSDDOMHelper();
-      if (domHelper.getChildNode(stElement, XSDConstants.RESTRICTION_ELEMENT_TAG) != null)
-      {
-        return XSDEditorPlugin.getPlugin().getIconImage("obj16/smpl_restrict_obj");
-      }
-      return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
-    }
-    else if (xsdSimpleTypeDefinition.isSetVariety())
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
-    }
-    else
-    {
-      return XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif");
-    }
-    
-//    return 
-//      XSDEditorPlugin.getPlugin().getIconImage
-//        (xsdSimpleTypeDefinition.getContainer() == null ?
-//           "full/obj16/XSDSimpleTypeDefinitionUnresolved" :
-//           XSDVariety.LIST_LITERAL == xsdSimpleTypeDefinition.getVariety() ? 
-//             "full/obj16/XSDSimpleTypeDefinitionList" :  
-//              XSDVariety.UNION_LITERAL == xsdSimpleTypeDefinition.getVariety() ? 
-//                "full/obj16/XSDSimpleTypeDefinitionUnion" :
-//                  xsdSimpleTypeDefinition.isSetVariety() ?
-//                    "full/obj16/XSDSimpleTypeDefinitionAtomic"  :
-//                    "full/obj16/XSDSimpleTypeDefinition");
-  }
-  
-  public String getText(Object object)
-  {
-    return getText(object, true);
-  }
- 
-  public String getText(Object object, boolean showType)
-  {
-    XSDSimpleTypeDefinition xsdSimpleTypeDefinition = ((XSDSimpleTypeDefinition)object);
-
-    StringBuffer result = new StringBuffer();
-
-    result.append
-      (xsdSimpleTypeDefinition.getName() == null ? 
-         // xsdSimpleTypeDefinition.getAliasName() :
-         "local type" :
-         xsdSimpleTypeDefinition.getName());
-
-    if (showType)
-    {
-      XSDSimpleTypeDefinition baseTypeDefinition = xsdSimpleTypeDefinition.getBaseTypeDefinition();
-      if (baseTypeDefinition != null && XSDVariety.ATOMIC_LITERAL == xsdSimpleTypeDefinition.getVariety())
-      {
-        if (baseTypeDefinition.getName() != null && 
-              !xsdSimpleTypeDefinition.getContents().contains(baseTypeDefinition) &&
-              !XSDConstants.isAnySimpleType(baseTypeDefinition)) 
-        {
-          result.append(" : ");
-          result.append(baseTypeDefinition.getQName(xsdSimpleTypeDefinition));
-        }
-      }
-      else
-      {
-        XSDSimpleTypeDefinition itemTypeDefinition = xsdSimpleTypeDefinition.getItemTypeDefinition();
-        if (itemTypeDefinition != null)
-        {
-          if (itemTypeDefinition.getName() != null) 
-          {
-            result.append(" : ");
-            result.append(itemTypeDefinition.getQName(xsdSimpleTypeDefinition));
-          }
-        }
-        else 
-        {
-          List memberTypeDefinitions = xsdSimpleTypeDefinition.getMemberTypeDefinitions();
-          if (!memberTypeDefinitions.isEmpty())
-          {
-            boolean first = true;
-            for (Iterator members = memberTypeDefinitions.iterator(); members.hasNext(); )
-            {
-              XSDSimpleTypeDefinition memberTypeDefinition = (XSDSimpleTypeDefinition)members.next();
-              if (memberTypeDefinition.getName() != null) 
-              {
-                if (first)
-                {
-                  result.append(" : ");
-                  first = false;
-                }
-                else
-                {
-                  result.append(" | ");
-                }
-                result.append(memberTypeDefinition.getQName(xsdSimpleTypeDefinition));
-              }
-              else
-              {
-                break;
-              }
-            }
-          } 
-          else if (result.length() == 0)
-          {
-            result.append("'absent'");
-          }
-        }
-      }
-    }
-
-    return result.toString();
-  }
-
-  public Object[] getChildren(Object parentElement)
-  {
-    XSDSimpleTypeDefinition xsdSimpleTypeDefinition = (XSDSimpleTypeDefinition)parentElement;
-    List list = new ArrayList();
-//    list.addAll(xsdSimpleTypeDefinition.getContents());
-//    list.addAll(xsdSimpleTypeDefinition.getFacetContents());
-//    list.addAll(xsdSimpleTypeDefinition.getFundamentalFacets());
-//    list.addAll(xsdSimpleTypeDefinition.getSyntheticFacets());
-    return list.toArray();
-  
-  }
-  
-  public boolean hasChildren(Object object)
-  {
-    return true;
-  }
-
-  public Object getParent(Object object)
-  {
-    XSDSimpleTypeDefinition element = (XSDSimpleTypeDefinition)object;
-    return element.getContainer();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDWildcardAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDWildcardAdapter.java
deleted file mode 100644
index b219f6b..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/provider/XSDWildcardAdapter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.provider;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class XSDWildcardAdapter extends XSDAbstractAdapter
-{
-
-  /**
-   * @param adapterFactory
-   */
-  public XSDWildcardAdapter(AdapterFactory adapterFactory)
-  {
-    super(adapterFactory);
-  }
-
-  public Image getImage(Object object)
-  {
-    XSDWildcard xsdWildcard = (XSDWildcard)object;
-    return XSDEditorPlugin.getXSDImage
-      (xsdWildcard.eContainer() instanceof XSDParticle ?
-        "icons/XSDAny.gif" :
-        "icons/XSDAnyAttribute.gif");
-  }
-  
-  public String getText(Object object)
-  {
-    XSDWildcard xsdWildcard = ((XSDWildcard)object);
-    
-    StringBuffer result = new StringBuffer();
-    Element element = xsdWildcard.getElement();
-    
-    if (element != null)
-    {
-      result.append(element.getNodeName());
-      boolean hasMinOccurs = element.hasAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
-      boolean hasMaxOccurs = element.hasAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
-      
-      if (hasMinOccurs || hasMaxOccurs)
-      {
-        result.append(" [");   //$NON-NLS-1$
-        if (hasMinOccurs)
-        {
-          
-          int min = ((XSDParticle)xsdWildcard.getContainer()).getMinOccurs();
-          if (min == XSDParticle.UNBOUNDED)
-          {
-            result.append("*");
-          }
-          else
-          {
-            result.append(String.valueOf(min));
-          }
-        }
-        else // print default
-        {
-          int min = ((XSDParticle)xsdWildcard.getContainer()).getMinOccurs();
-          result.append(String.valueOf(min));
-        }
-        if (hasMaxOccurs)
-        {
-          int max = ((XSDParticle)xsdWildcard.getContainer()).getMaxOccurs();
-          result.append("..");
-          if (max == XSDParticle.UNBOUNDED)
-          {
-            result.append("*");
-          }
-          else
-          {
-            result.append(String.valueOf(max));
-          }
-        }
-        else // print default
-        {
-          result.append("..");
-          int max = ((XSDParticle)xsdWildcard.getContainer()).getMaxOccurs();
-          result.append(String.valueOf(max));
-        }
-        result.append("]");
-      }
-    }
-    return result.toString();
-
-  }
-
-  public boolean hasChildren(Object object)
-  {
-    return false;
-  }
-
-  public Object getParent(Object object)
-  {
-    XSDWildcard xsdWildcard = (XSDWildcard)object;
-    return xsdWildcard.getContainer();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/XSDVisitor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/XSDVisitor.java
deleted file mode 100644
index 24bda3f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/XSDVisitor.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor;
-
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeContent;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-
-public class XSDVisitor
-{
-  public XSDVisitor()
-  {
-  }
-  
-  protected XSDSchema schema;
-  
-  public void visitSchema(XSDSchema schema)
-  {
-    this.schema = schema;
-    for (Iterator iterator = schema.getAttributeDeclarations().iterator(); iterator.hasNext();)
-    {
-      XSDAttributeDeclaration attr = (XSDAttributeDeclaration) iterator.next();
-      visitAttributeDeclaration(attr);
-    }
-    for (Iterator iterator = schema.getTypeDefinitions().iterator(); iterator.hasNext();)
-    {
-      XSDTypeDefinition type = (XSDTypeDefinition) iterator.next();
-      visitTypeDefinition(type);
-    }
-    for (Iterator iterator = schema.getElementDeclarations().iterator(); iterator.hasNext();)
-    {
-      XSDElementDeclaration element = (XSDElementDeclaration) iterator.next();
-      visitElementDeclaration(element);
-    }
-    for (Iterator iterator = schema.getIdentityConstraintDefinitions().iterator(); iterator.hasNext();)
-    {
-      XSDIdentityConstraintDefinition identityConstraint = (XSDIdentityConstraintDefinition) iterator.next();
-      visitIdentityConstraintDefinition(identityConstraint);
-    }
-    for (Iterator iterator = schema.getModelGroupDefinitions().iterator(); iterator.hasNext();)
-    {
-      XSDModelGroupDefinition modelGroup = (XSDModelGroupDefinition) iterator.next();
-      visitModelGroupDefinition(modelGroup);
-    }
-    for (Iterator iterator = schema.getAttributeGroupDefinitions().iterator(); iterator.hasNext();)
-    {
-      XSDAttributeGroupDefinition attributeGroup = (XSDAttributeGroupDefinition) iterator.next();
-      visitAttributeGroupDefinition(attributeGroup);
-    }
-    for (Iterator iterator = schema.getNotationDeclarations().iterator(); iterator.hasNext();)
-    {
-      XSDNotationDeclaration element = (XSDNotationDeclaration) iterator.next();
-      visitNotationDeclaration(element);
-    }
-    
-  }
-  
-  public void visitAttributeDeclaration(XSDAttributeDeclaration attr)
-  {
-  }
-  
-  public void visitTypeDefinition(XSDTypeDefinition type)
-  {
-    if (type instanceof XSDSimpleTypeDefinition)
-    {
-      visitSimpleTypeDefinition((XSDSimpleTypeDefinition)type);
-    }
-    else if (type instanceof XSDComplexTypeDefinition)
-    {
-      visitComplexTypeDefinition((XSDComplexTypeDefinition)type);
-    }
-  }
-  
-  public void visitElementDeclaration(XSDElementDeclaration element)
-  {
-    if (element.isElementDeclarationReference())
-    {
-    }
-    else if (element.getAnonymousTypeDefinition() != null)
-    {
-      visitTypeDefinition(element.getAnonymousTypeDefinition());
-    }
-  }
-  
-  public void visitIdentityConstraintDefinition(XSDIdentityConstraintDefinition identityConstraint)
-  {
-  }
-  
-  public void visitModelGroupDefinition(XSDModelGroupDefinition modelGroupDef)
-  {
-    if (!modelGroupDef.isModelGroupDefinitionReference())
-    {
-      if (modelGroupDef.getModelGroup() != null)
-      {
-        visitModelGroup(modelGroupDef.getModelGroup());
-      }
-    }
-  }
-  
-  public void visitAttributeGroupDefinition(XSDAttributeGroupDefinition attributeGroup)
-  {
-    if (attributeGroup.getAttributeUses() != null)
-    {
-      for (Iterator iter = attributeGroup.getAttributeUses().iterator(); iter.hasNext(); )
-      {
-        XSDAttributeUse attrUse = (XSDAttributeUse)iter.next();
-        visitAttributeDeclaration(attrUse.getContent());
-      }
-    }
-  }
-  
-  public void visitNotationDeclaration(XSDNotationDeclaration notation)
-  {
-  }
-  
-  public void visitSimpleTypeDefinition(XSDSimpleTypeDefinition type)
-  {
-  }
-  
-  public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
-  {
-    if (type.getContentType() != null)
-    {
-      XSDComplexTypeContent complexContent = (XSDComplexTypeContent) type.getContentType();
-      if (complexContent instanceof XSDSimpleTypeDefinition)
-      {
-        visitSimpleTypeDefinition((XSDSimpleTypeDefinition)complexContent);
-      }
-      else if (complexContent instanceof XSDParticle)
-      {
-        visitParticle((XSDParticle) complexContent);
-      }
-    }
-    
-    if (type.getAttributeContents() != null)
-    {
-      for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
-      {
-        XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent)iter.next();
-        if (attrGroupContent instanceof XSDAttributeUse)
-        {
-          XSDAttributeUse attrUse = (XSDAttributeUse)attrGroupContent;
-          visitAttributeDeclaration(attrUse.getContent());
-        }
-        else if (attrGroupContent instanceof XSDAttributeGroupDefinition)
-        {
-          visitAttributeGroupDefinition((XSDAttributeGroupDefinition)attrGroupContent);
-        }
-      }
-    }
-  }
-  
-  public void visitParticle(XSDParticle particle)
-  {
-    visitParticleContent(particle.getContent());
-  }
-  
-  public void visitParticleContent(XSDParticleContent particleContent)
-  {
-    if (particleContent instanceof XSDModelGroupDefinition)
-    {
-      visitModelGroupDefinition((XSDModelGroupDefinition) particleContent);
-    }
-    else if (particleContent instanceof XSDModelGroup)
-    {
-      visitModelGroup((XSDModelGroup)particleContent);
-    }
-    else if (particleContent instanceof XSDElementDeclaration)
-    {
-      visitElementDeclaration((XSDElementDeclaration)particleContent);
-    }
-    else if (particleContent instanceof XSDWildcard)
-    {
-      visitWildcard((XSDWildcard)particleContent);
-    }
-  }
-  
-  public void visitModelGroup(XSDModelGroup modelGroup)
-  {
-    if (modelGroup.getContents() != null)
-    {
-      for (Iterator iterator = modelGroup.getContents().iterator(); iterator.hasNext();)
-      {
-        XSDParticle particle = (XSDParticle) iterator.next();
-        visitParticle(particle);
-      }
-    }
-  }
-  
-  public void visitWildcard(XSDWildcard wildcard)
-  {
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseCleanup.java
deleted file mode 100644
index f45a1e2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseCleanup.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-
-public abstract class BaseCleanup extends XSDVisitor
-{
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitSchema(XSDSchema)
-   */
-  public void visitSchema(XSDSchema schema)
-  {
-    super.visitSchema(schema);
-    
-    // now remove all children that were queued up for removal
-    
-    for (Iterator iter = childrenToRemove.iterator(); iter.hasNext(); )
-    {
-      Element domElement = (Element) iter.next();
-      XSDDOMHelper.removeNodeAndWhitespace(domElement);
-//      domElement.getParentNode().removeChild(domElement);
-    }
-  }
-
-
-  protected ArrayList messages = new ArrayList();
-
-  public ArrayList getMessages()
-  {
-  	return messages;
-  }
-  
-
-  protected void addMessage(String msg, XSDConcreteComponent component)
-  {
-////    ErrorMessage message = new ErrorMessage();
-//    
-//    XSDConcreteComponent currComp = component;
-//    while (!(currComp instanceof XSDSchemaContent) && currComp.getContainer() != null)
-//    {
-//      currComp = currComp.getContainer();
-//    }
-//
-//    Element domElement = currComp.getElement();
-//    Node parent = domElement;
-//    while (!(parent instanceof NodeImpl) && parent != null)
-//    {
-//      parent = parent.getParentNode();
-//    }
-//    if (parent instanceof NodeImpl)
-//    {
-//      // message.setModelObject(currComp.getElement());
-//			message.setTargetObject(currComp.getElement());
-//    }
-//    message.setLocalizedMessage(msg);
-//  ???
-//    addMessage(message);
-  }
-    
-
-// // protected void addMessage(ErrorMessage message)
-//	protected void addMessage(Message message)
-//  {
-//    messages.add(message);
-//  }
-  
-
-  protected ArrayList childrenToRemove = new ArrayList();
-  
-
-  protected String getNamedComponentName(XSDConcreteComponent concrete)
-  {
-    String name = null;
-    if (concrete instanceof XSDNamedComponent)
-    {
-      name = ((XSDNamedComponent)concrete).getName();
-    }
-    
-    XSDConcreteComponent comp = concrete;
-    while (comp != null && name == null)
-    {
-      comp = comp.getContainer();
-      if (comp instanceof XSDNamedComponent)
-      {
-        name = ((XSDNamedComponent)comp).getName();
-      }
-    }
-    return name != null ? name : "";
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseGlobalCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseGlobalCleanup.java
deleted file mode 100644
index 6503971..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/BaseGlobalCleanup.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.delete;
-
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-
-public class BaseGlobalCleanup extends BaseCleanup
-{
-  public BaseGlobalCleanup(XSDConcreteComponent deletedItem)
-  {
-    this.deletedItem = deletedItem;
-  }
-  
-  protected XSDConcreteComponent deletedItem;
-  
-  protected String getDeletedQName()
-  {
-    return ((XSDNamedComponent)deletedItem).getQName();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeCleanup.java
deleted file mode 100644
index 64c5779..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeCleanup.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalAttributeCleanup extends BaseGlobalCleanup
-{
-  /**
-   * Constructor for GlobalAttributeCleanup.
-   * @param deletedItem
-   */
-  public GlobalAttributeCleanup(XSDConcreteComponent deletedItem)
-  {
-    super(deletedItem);
-  }
-  
-  protected String replacementName = null;
-  
-  protected String getReplacementElementName()
-  {
-    if (replacementName == null)
-    {
-      TypesHelper helper = new TypesHelper(schema);
-      
-      List elements = helper.getGlobalAttributes();
-      
-      String deletedName = getDeletedQName();
-      for (Iterator i = elements.iterator(); i.hasNext();)
-      {
-        String name = (String) i.next();
-        if (!name.equals(deletedName))
-        {
-          replacementName = name;
-          break;
-        }
-      }
-    }
-    return replacementName;
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
-   */
-  public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
-  {
-    super.visitComplexTypeDefinition(type);
-    if (type.getAttributeContents() != null)
-    {
-      for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
-      {
-        XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-        if (attrGroupContent instanceof XSDAttributeUse)
-        {
-          XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
-          XSDAttributeDeclaration attrDecl = attrUse.getContent();
-          
-          // now is this a reference?
-          if (attrDecl != null && attrDecl.isAttributeDeclarationReference())
-          {
-            if (deletedItem.equals(attrDecl.getResolvedAttributeDeclaration()))
-            {
-              if (getReplacementElementName() != null)
-              {
-                // String msg = XSDPlugin.getSchemaString("_INFO_RESET_ATTRIBUTE_REFERENCE") + " <" + getReplacementElementName() + ">";
-								String msg = "Reset attribute reference " + " <" + getReplacementElementName() + ">";
-                addMessage(msg, attrUse);
-                attrUse.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getReplacementElementName());
-              }
-              else
-              {
-                String name = getNamedComponentName(type);
-                // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_REFERENCE") +
-								String msg = "Remove attribute reference " +
-                         " <" + name + ">";
-                addMessage(msg, attrUse.getContainer());
-                
-                childrenToRemove.add(attrDecl.getElement());
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-
-
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeGroupCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeGroupCleanup.java
deleted file mode 100644
index 2d5ed5c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalAttributeGroupCleanup.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalAttributeGroupCleanup extends BaseGlobalCleanup
-{
-  /**
-   * Constructor for GlobalAttributeGroupCleanup.
-   * @param deletedItem
-   */
-  public GlobalAttributeGroupCleanup(XSDConcreteComponent deletedItem)
-  {
-    super(deletedItem);
-  }
-  
-  
-  protected String replacementName = null;
-  
-  protected String getReplacementElementName()
-  {
-    if (replacementName == null)
-    {
-      TypesHelper helper = new TypesHelper(schema);
-      
-      List elements = helper.getGlobalAttributeGroups();
-      
-      String deletedName = getDeletedQName();
-      for (Iterator i = elements.iterator(); i.hasNext();)
-      {
-        String name = (String) i.next();
-        if (!name.equals(deletedName))
-        {
-          replacementName = name;
-          break;
-        }
-      }
-    }
-    return replacementName;
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
-   */
-  public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
-  {
-    super.visitComplexTypeDefinition(type);
-    if (type.getAttributeContents() != null)
-    {
-      for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
-      {
-        XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-
-        if (attrGroupContent instanceof XSDAttributeGroupDefinition)
-        {
-          XSDAttributeGroupDefinition attrGroupDef = (XSDAttributeGroupDefinition) attrGroupContent;
-          
-          if (deletedItem.equals(attrGroupDef.getResolvedAttributeGroupDefinition()))
-          {
-            if (getReplacementElementName() != null)
-            {
-              // String msg = XSDPlugin.getSchemaString("_INFO_RESET_ATTRIBUTE_GROUP_REFERENCE") + " <" + getReplacementElementName() + ">";
-							String msg = "Reset attribute group reference " + " <" + getReplacementElementName() + ">";
-              addMessage(msg, attrGroupDef);
-              attrGroupDef.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getReplacementElementName());
-            }
-            else
-            {
-              // remove the attribute group reference
-              String name = getNamedComponentName(type);
-              // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_GROUP_REFERENCE") + " <" + name + ">";
-							String msg = "Remove attribute group reference " + " <" + name + ">";
-  
-              addMessage(msg, attrGroupDef.getContainer());
-              
-              childrenToRemove.add(attrGroupDef.getElement());
-            }
-          }
-        }
-      }
-    }
-    
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalElementCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalElementCleanup.java
deleted file mode 100644
index 9719e39..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalElementCleanup.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalElementCleanup extends BaseGlobalCleanup
-{
-    
-  /**
-   * Constructor for GlobalElementCleanup.
-   * @param deletedItem
-   */
-  public GlobalElementCleanup(XSDConcreteComponent deletedItem)
-  {
-    super(deletedItem);
-  }
-
-  protected String replacementName = null;
-  
-  protected String getReplacementElementName()
-  {
-    if (replacementName == null)
-    {
-      TypesHelper helper = new TypesHelper(schema);
-      
-      List elements = helper.getGlobalElements();
-      
-      String deletedName = getDeletedQName();
-      for (Iterator i = elements.iterator(); i.hasNext();)
-      {
-        String name = (String) i.next();
-        if (!name.equals(deletedName))
-        {
-          replacementName = name;
-          break;
-        }
-      }
-    }
-    return replacementName;
-  }
-  
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
-   */
-  public void visitElementDeclaration(XSDElementDeclaration element)
-  {
-    if (element.isElementDeclarationReference())
-    {
-      if (deletedItem.equals(element.getResolvedElementDeclaration()))
-      {
-        if (getReplacementElementName() != null)
-        {
-          // KCPort String msg = XSDPlugin.getSchemaString("_INFO_RESET_ELEMENT_REFERENCE") + " <" + getReplacementElementName() + ">";
-					String msg = "_INFO_RESET_ELEMENT_REFERENCE" + " <" + getReplacementElementName() + ">";
-          addMessage(msg, element);
-          element.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getReplacementElementName());
-        }
-        else
-        {
-          // KCPort  String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ELEMENT_REFERENCE") + " <" + getNamedComponentName(element.getContainer()) + ">";
-					String msg = "_INFO_REMOVE_ELEMENT_REFERENCE" + " <" + getNamedComponentName(element.getContainer()) + ">";
-          addMessage(msg, element.getContainer());
-          childrenToRemove.add(element.getElement());
-        }
-      }
-    }
-    super.visitElementDeclaration(element);
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalGroupCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalGroupCleanup.java
deleted file mode 100644
index 9486ff2..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalGroupCleanup.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.delete;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalGroupCleanup extends BaseGlobalCleanup
-{
-  /**
-   * Constructor for GlobalGroupCleanup.
-   * @param deletedItem
-   */
-  public GlobalGroupCleanup(XSDConcreteComponent deletedItem)
-  {
-    super(deletedItem);
-  }
-
-  protected String replacementName = null;
-  
-  protected String getReplacementElementName()
-  {
-    if (replacementName == null)
-    {
-      TypesHelper helper = new TypesHelper(schema);
-      
-      List elements = helper.getModelGroups();
-      
-      String deletedName = getDeletedQName();
-      for (Iterator i = elements.iterator(); i.hasNext();)
-      {
-        String name = (String) i.next();
-        if (!name.equals(deletedName))
-        {
-          replacementName = name;
-          break;
-        }
-      }
-    }
-    return replacementName;
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitModelGroupDefinition(XSDModelGroupDefinition)
-   */
-  public void visitModelGroupDefinition(XSDModelGroupDefinition modelGroup)
-  {
-    super.visitModelGroupDefinition(modelGroup);
-    if (modelGroup.isModelGroupDefinitionReference())
-    {
-      if (deletedItem.equals(modelGroup.getResolvedModelGroupDefinition()))
-      {
-        if (getReplacementElementName() != null)
-        {
-          // KCPort String msg = XSDPlugin.getSchemaString("_INFO_RESET_GROUP_REFERENCE") + " <" + getReplacementElementName() + ">";
-					String msg = "_INFO_RESET_GROUP_REFERENCE" + " <" + getReplacementElementName() + ">";
-          addMessage(msg, modelGroup);
-          modelGroup.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getReplacementElementName());
-        }
-        else
-        {
-          String name = getNamedComponentName(modelGroup);
-          // KCPort String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_GROUP_REFERENCE") + " <" + name + ">";
-					String msg = "_INFO_REMOVE_GROUP_REFERENCE" + " <" + name + ">";
-          addMessage(msg, modelGroup.getContainer());
-          childrenToRemove.add(modelGroup.getElement());
-        }
-      }
-    }      
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalSimpleOrComplexTypeCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalSimpleOrComplexTypeCleanup.java
deleted file mode 100644
index f4a0cc3..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/GlobalSimpleOrComplexTypeCleanup.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.delete;
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class GlobalSimpleOrComplexTypeCleanup extends BaseGlobalCleanup
-{
-  /**
-   * Constructor for GlobalSimpleOrComplexTypeCleanup.
-   * @param deletedItem
-   */
-  public GlobalSimpleOrComplexTypeCleanup(XSDConcreteComponent deletedItem)
-  {
-    super(deletedItem);
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
-   */
-  public void visitElementDeclaration(XSDElementDeclaration element)
-  {
-    if (!element.isElementDeclarationReference() &&
-        deletedItem.equals(element.getTypeDefinition()))
-    {
-      resetTypeToString(element.getElement());
-      
-      String msg = "";
-      if (element.isGlobal())
-      {
-        // KCPort String pattern = XSDPlugin.getSchemaString("_INFO_RESET_GLOBAL_ELEMENT");
-				String pattern = "_INFO_RESET_GLOBAL_ELEMENT";
-        Object args[] = {element.getName()};
-        msg = MessageFormat.format(pattern, args);
-      }
-      else
-      {
-        // KCPort msg = XSDPlugin.getSchemaString("_INFO_RESET_ELEMENT");
-				msg = "_INFO_RESET_ELEMENT";
-        // KCPort msg += "<" + element.getName() + "> " + XSDPlugin.getSchemaString("_UI_TO_TYPE_STRING");
-				msg += "<" + element.getName() + "> " + "_UI_TO_TYPE_STRING";
-      }
-      addMessage(msg, element);
-    }
-
-
-    super.visitElementDeclaration(element);
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
-   */
-  public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
-  {
-    super.visitComplexTypeDefinition(type);
-    if (type.getAttributeContents() != null)
-    {
-      for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
-      {
-        XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-        if (attrGroupContent instanceof XSDAttributeUse)
-        {
-          XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
-          XSDAttributeDeclaration attrDecl = attrUse.getContent();
-          
-          // now is this a reference?
-          if (attrDecl != null &&
-              !attrDecl.isAttributeDeclarationReference() &&
-              deletedItem.equals(attrDecl.getTypeDefinition()))
-          {
-              resetTypeToString(attrDecl.getElement());
-              // reset the type of the attribute decl to string
-              // KCPort String msg = XSDPlugin.getSchemaString("_INFO_RESET_ATTRIBUTE") +
-						  String msg = "_INFO_RESET_ATTRIBUTE" +
-                          " <" + attrDecl.getName() + "> " +
-                          // KCPort XSDPlugin.getSchemaString("_UI_TO_TYPE_STRING");
-						               "_UI_TO_TYPE_STRING"; 
-              addMessage(msg, attrDecl);
-              resetTypeToString(attrDecl.getElement());
-          }
-        }
-      }
-    }
-    XSDTypeDefinition base = type.getBaseTypeDefinition();
-    if (base != null && base == deletedItem)
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      Element derivedByNode = helper.getDerivedByElement(type.getElement());
-
-      // KCPort String msg = XSDPlugin.getSchemaString("_INFO_RESET_COMPLEX_TYPE") +
-			String msg = "_INFO_RESET_COMPLEX_TYPE" +
-              " <" + getNamedComponentName(type) + "> " +
-              // KCPort XSDPlugin.getSchemaString("_UI_DERIVATION");
-			        "_UI_DERIVATION";
-      addMessage(msg, type);
-      
-      type.setBaseTypeDefinition(null);
-
-      java.util.List listOfCT = schema.getTypeDefinitions();
-      XSDTypeDefinition typeDefinition = null;
-      if (listOfCT.size() > 0)
-      {
-        for (Iterator iter = listOfCT.iterator(); iter.hasNext(); )
-        {
-          typeDefinition = (XSDTypeDefinition)iter.next();
-          if (typeDefinition != deletedItem)
-          {
-            type.setBaseTypeDefinition(typeDefinition);
-          }
-        }
-      }
-    }
-  }
-
-  public void visitSimpleTypeDefinition(XSDSimpleTypeDefinition type)
-  {
-    if (type.getBaseTypeDefinition() == deletedItem)
-    {
-      type.setBaseTypeDefinition(schema.resolveSimpleTypeDefinition(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, "string"));
-    }
-  }
-
-  protected void resetTypeToString(Element element)
-  {
-    String prefix = element.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    
-    element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, prefix + "string"); 
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/XSDExternalFileCleanup.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/XSDExternalFileCleanup.java
deleted file mode 100644
index aa40416..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/delete/XSDExternalFileCleanup.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.delete;
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaContent;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class XSDExternalFileCleanup extends BaseCleanup
-{
-  /**
-   * Constructor for XSDExternalFileCleanup.
-   */
-  public XSDExternalFileCleanup(String oldFilename)
-  {
-    super();
-    this.oldFilename = oldFilename;
-  }
-  
-  protected XSDSchema deletedSchema;
-  public XSDExternalFileCleanup(XSDSchema deletedSchema)
-  {
-    this.deletedSchema = deletedSchema;
-  }
-
-  protected String oldFilename;
-  
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
-   */
-  public void visitElementDeclaration(XSDElementDeclaration element)
-  {
-    boolean addMessage = true;
-    String schemaLocation = element.getSchema().getSchemaLocation();
-    if (schemaLocation!= null)
-    {
-      if (!schemaLocation.equals(schema.getSchemaLocation()))
-      {
-        addMessage = false;
-      }
-    }
-    if (element.isElementDeclarationReference())
-    {
-      if (isFromDeletedSchema(element.getResolvedElementDeclaration()))
-      {
-        if (addMessage)
-        {
-          // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ELEMENT_REFERENCE") + " <" + getNamedComponentName(element.getContainer()) + ">";
-					String msg = "_INFO_REMOVE_ELEMENT_REFERENCE" + " <" + getNamedComponentName(element.getContainer()) + ">";
-          addMessage(msg, element.getContainer());
-        }
-        childrenToRemove.add(element.getElement());
-//        Element domElement = element.getElement();
-//        domElement.getParentNode().removeChild(domElement);     
-      }
-    }
-    else if (removeType(element))
-    {
-      String msg = "";
-      if (element.isGlobal())
-      {
-      	// String pattern = XSDPlugin.getSchemaString("_INFO_RESET_GLOBAL_ELEMENT");
-				String pattern = "_INFO_RESET_GLOBAL_ELEMENT";
-        Object args[] = {element.getName()};
-        msg = MessageFormat.format(pattern, args);
-      }
-      else
-      {
-      	// msg = XSDPlugin.getSchemaString("_INFO_RESET_ELEMENT");
-				msg = "_INFO_RESET_ELEMENT";
-      	// msg += "<" + element.getName() + "> " + XSDPlugin.getSchemaString("_UI_TO_TYPE_STRING");
-				msg += "<" + element.getName() + "> " + "_UI_TO_TYPE_STRING";
-      }
-      if (addMessage)
-      {
-        addMessage(msg, element);
-      }
-    }
-
-
-    super.visitElementDeclaration(element);
-  }
-
-  protected void resetTypeToString(Element element)
-  {
-    String prefix = element.getPrefix();
-    prefix = (prefix == null) ? "" : (prefix + ":");
-    
-    element.setAttribute(XSDConstants.TYPE_ATTRIBUTE, prefix + "string"); 
-  }
-  
-  protected boolean removeType(XSDElementDeclaration element)
-  {
-  	if (removeType(element.getTypeDefinition()))
-  	{
-      resetTypeToString(element.getElement());
-  	  return true;
-  	}
-  	return false;
-  }
-  
-  protected boolean isFromDeletedSchema(XSDConcreteComponent component)
-  {
-    if (component == null)
-    {
-      return false;
-    }
-    XSDConcreteComponent root = component.getRootContainer();
-
-    boolean isFromDeletedSchema = false;
-    if (deletedSchema.getContents() != null)
-    {
-      Iterator contents = deletedSchema.getContents().iterator();
-      while (contents.hasNext())
-      {
-        XSDSchemaContent content = (XSDSchemaContent)contents.next();
-        if (content instanceof XSDSchemaDirective)
-        {
-          XSDSchema aSchema = ((XSDSchemaDirective)content).getResolvedSchema();
-          if (root != null && root.equals(aSchema))
-          {
-            isFromDeletedSchema = true;
-          }
-        }
-      }
-    }
-    if (root != null && root.equals(deletedSchema))
-    {
-      isFromDeletedSchema = true;
-    }
-    return isFromDeletedSchema;
-  }
-      
-  /**
-   * Remove the type from the element if it belongs to the external file
-   */
-  protected boolean removeType(XSDTypeDefinition typeDef)
-  {
-    if (typeDef == null)
-    {
-      return false;
-    }
-    return isFromDeletedSchema(typeDef);
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.utility.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
-   */
-  public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
-  {
-    super.visitComplexTypeDefinition(type);
-    if (type.getAttributeContents() != null)
-    {
-      for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
-      {
-        XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-        if (attrGroupContent instanceof XSDAttributeUse)
-        {
-          XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
-          XSDAttributeDeclaration attrDecl = attrUse.getContent();
-          
-          // now is this a reference?
-          if (attrDecl.isAttributeDeclarationReference())
-          {
-            if (isFromDeletedSchema(attrDecl.getResolvedAttributeDeclaration()))
-            {
-              String name = getNamedComponentName(type);
-              // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_REFERENCE") +
-							String msg = "_INFO_REMOVE_ATTRIBUTE_REFERENCE" +
-                       " <" + name + ">";
-              addMessage(msg, attrDecl.getContainer());
-              
-              childrenToRemove.add(attrDecl.getElement());
-            }
-          }
-          // otherwise check the type of the attribute and see if it is from the deleted schema
-          else
-          {
-            if (removeType(attrDecl.getTypeDefinition()))
-            {
-              // reset the type of the attribute decl to string
-              // String msg = XSDPlugin.getSchemaString("_INFO_RESET_ATTRIBUTE") +
-							String msg = "_INFO_RESET_ATTRIBUTE" +
-                          " <" + attrDecl.getName() + "> " +
-                          // XSDPlugin.getSchemaString("_UI_TO_TYPE_STRING");
-							            "_UI_TO_TYPE_STRING";
-              addMessage(msg, attrDecl);
-              resetTypeToString(attrDecl.getElement());
-
-            }
-          }
-        }
-        else if (attrGroupContent instanceof XSDAttributeGroupDefinition)
-        {
-          XSDAttributeGroupDefinition attrGroupDef = (XSDAttributeGroupDefinition) attrGroupContent;
-          
-          if (isFromDeletedSchema(attrGroupDef.getResolvedAttributeGroupDefinition()))
-          {
-          	// remove the attribute group reference
-            String name = getNamedComponentName(type);
-            // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_ATTRIBUTE_GROUP_REFERENCE") + " <" + name + ">";
-						String msg = "_INFO_REMOVE_ATTRIBUTE_GROUP_REFERENCE" + " <" + name + ">";
-
-            addMessage(msg, attrGroupDef.getContainer());
-            
-            childrenToRemove.add(attrGroupDef.getElement());
-          }
-        }
-      }
-    }
-
-    // For the complex type with simple content case, see the visitComplexTypeDefinition method
-    XSDTypeDefinition base = type.getBaseTypeDefinition();
-    if (base instanceof XSDSimpleTypeDefinition)
-    {
-      XSDSimpleTypeDefinition baseType = (XSDSimpleTypeDefinition)base;
-      if (isFromDeletedSchema(baseType))
-      {
-        // String msg = XSDPlugin.getSchemaString("_INFO_RESET_COMPLEX_TYPE") +
-				String msg = "_INFO_RESET_COMPLEX_TYPE" +
-                " <" + getNamedComponentName(type) + "> " +
-                // XSDPlugin.getSchemaString("_UI_DERIVATION");
-				        "_UI_DERIVATION";
-        addMessage(msg, type);
-      
-        type.setBaseTypeDefinition(schema.getSchemaForSchema().resolveSimpleTypeDefinition("string"));
-      }
-    }
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.utility.XSDVisitor#visitModelGroupDefinition(XSDModelGroupDefinition)
-   */
-  public void visitModelGroupDefinition(XSDModelGroupDefinition modelGroup)
-  {
-    super.visitModelGroupDefinition(modelGroup);
-    if (modelGroup.isModelGroupDefinitionReference())
-    {
-      if (isFromDeletedSchema(modelGroup.getResolvedModelGroupDefinition()))
-      {
-        String name = getNamedComponentName(modelGroup);
-        // String msg = XSDPlugin.getSchemaString("_INFO_REMOVE_GROUP_REFERENCE") + " <" + name + ">";
-				String msg = "_INFO_REMOVE_GROUP_REFERENCE" + " <" + name + ">";
-        addMessage(msg, modelGroup.getContainer());
-        childrenToRemove.add(modelGroup.getElement());
-      }
-    }      
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.utility.XSDVisitor#visitSimpleTypeDefinition(XSDSimpleTypeDefinition)
-   */
-  public void visitSimpleTypeDefinition(XSDSimpleTypeDefinition type)
-  {
-    super.visitSimpleTypeDefinition(type);
-    XSDSimpleTypeDefinition baseType = type.getBaseTypeDefinition();
-    if (isFromDeletedSchema(baseType))
-    {
-      // String msg = XSDPlugin.getSchemaString("_INFO_RESET_SIMPLE_TYPE") +
-			String msg = "_INFO_RESET_SIMPLE_TYPE" +
-              " <" + getNamedComponentName(type) + "> " +
-              // XSDPlugin.getSchemaString("_UI_DERIVATION");
-			        "_UI_DERIVATION";
-      addMessage(msg, type);
-      
-
-    // This will set the simple Type base to string 
-    // For the complex type with simple content case, see the visitComplexTypeDefinition method
-
-      type.getFacetContents().clear();
-      type.getFacets().clear();
-      type.setBaseTypeDefinition(schema.getSchemaForSchema().resolveSimpleTypeDefinition("string"));
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/BaseRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/BaseRenamer.java
deleted file mode 100644
index 1a789e8..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/BaseRenamer.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.rename;
-
-import org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-/**
- * Base class for rename helpers of various named root components.  This is to be used when
- * the user renames a global element, group, attribute, attribute group, complex/simple type etc
- */
-public abstract class BaseRenamer extends XSDVisitor
-{
-
-  
-  /**
-   * Method BaseRenamer.
-   * @param globalComponent - this is the component (who's parent is the schema) that has been renamed
-   */
-  public BaseRenamer(XSDNamedComponent globalComponent, String newName)
-  {
-    this.globalComponent = globalComponent;
-    this.newName = newName;
-  }
-  
-  public String getNewQName()
-  {
-    String qName = null;
-    if (newName != null)
-    {
-      qName = XSDConstants.lookupQualifier(globalComponent.getElement(), globalComponent.getTargetNamespace());
-      if (qName != null && qName.length() > 0)
-      {
-        qName += ":" + newName;
-      }
-      else
-      {
-        qName = newName; 
-      }
-    }
-    else
-    {
-      qName = newName;
-    }
-    
-    return qName;
-  }
-  
-  protected String newName;
-  protected XSDNamedComponent globalComponent;
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeGroupRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeGroupRenamer.java
deleted file mode 100644
index d01ec4f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeGroupRenamer.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalAttributeGroupRenamer extends BaseRenamer
-{
-  /**
-   * Constructor for GlobalAttributeGroupRenamer.
-   * @param globalComponent
-   */
-  public GlobalAttributeGroupRenamer(XSDNamedComponent globalComponent, String newName)
-  {
-    super(globalComponent, newName);
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
-   */
-  public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
-  {
-    super.visitComplexTypeDefinition(type);
-    if (type.getAttributeContents() != null)
-    {
-      for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
-      {
-        XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-
-        if (attrGroupContent instanceof XSDAttributeGroupDefinition)
-        {
-          XSDAttributeGroupDefinition attrGroupDef = (XSDAttributeGroupDefinition) attrGroupContent;
-          
-          if (globalComponent.equals(attrGroupDef.getResolvedAttributeGroupDefinition()))
-          {
-            attrGroupDef.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getNewQName());
-          }
-        }
-      }
-    }
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeRenamer.java
deleted file mode 100644
index d1b3e68..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalAttributeRenamer.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalAttributeRenamer extends BaseRenamer
-{
-  /**
-   * Constructor for GlobalAttributeRenamer.
-   * @param globalComponent
-   */
-  public GlobalAttributeRenamer(XSDNamedComponent globalComponent, String newName)
-  {
-    super(globalComponent, newName);
-  }
-  
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
-   */
-  public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
-  {
-    super.visitComplexTypeDefinition(type);
-    if (type.getAttributeContents() != null)
-    {
-      for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
-      {
-        XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-        if (attrGroupContent instanceof XSDAttributeUse)
-        {
-          XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
-          XSDAttributeDeclaration attrDecl = attrUse.getContent();
-          
-          // now is this a reference?
-          if (attrDecl != null && attrDecl.isAttributeDeclarationReference())
-          {
-            if (globalComponent.equals(attrDecl.getResolvedAttributeDeclaration()))
-            {
-              attrDecl.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getNewQName());           
-            }
-          }
-        }
-      }
-    }
-  }
-
-
-  
-
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalElementRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalElementRenamer.java
deleted file mode 100644
index 869d775..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalElementRenamer.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.rename;
-
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalElementRenamer extends BaseRenamer
-{
-  /**
-   * Constructor for GlobalElementRenamer.
-   * @param globalComponent
-   */
-  public GlobalElementRenamer(XSDNamedComponent globalComponent, String newName)
-  {
-    super(globalComponent, newName);
-  }
-  
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
-   */
-  public void visitElementDeclaration(XSDElementDeclaration element)
-  {
-    super.visitElementDeclaration(element);
-    if (element.isElementDeclarationReference() &&
-        globalComponent.equals(element.getResolvedElementDeclaration()))
-    {
-      element.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getNewQName());
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalGroupRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalGroupRenamer.java
deleted file mode 100644
index b29b8e4..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalGroupRenamer.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.rename;
-
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class GlobalGroupRenamer extends BaseRenamer
-{
-
-  /**
-   * Constructor for GlobalGroupRenamer.
-   * @param globalComponent
-   */
-  public GlobalGroupRenamer(XSDNamedComponent globalComponent, String newName)
-  {
-    super(globalComponent, newName);
-  }
-
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitModelGroupDefinition(XSDModelGroupDefinition)
-   */
-  public void visitModelGroupDefinition(XSDModelGroupDefinition modelGroup)
-  {
-    super.visitModelGroupDefinition(modelGroup);
-    if (modelGroup.isModelGroupDefinitionReference())
-    {
-      if (globalComponent.equals(modelGroup.getResolvedModelGroupDefinition()))
-      {
-        modelGroup.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, getNewQName());
-      }
-    }      
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalSimpleOrComplexTypeRenamer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalSimpleOrComplexTypeRenamer.java
deleted file mode 100644
index 369b562..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/GlobalSimpleOrComplexTypeRenamer.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class GlobalSimpleOrComplexTypeRenamer extends BaseRenamer
-{
-  /**
-   * Constructor for GlobalSimpleOrComplexTypeRenamer.
-   * @param globalComponent
-   */
-  public GlobalSimpleOrComplexTypeRenamer(XSDNamedComponent globalComponent, String newName)
-  {
-    super(globalComponent, newName);
-  }
-  
-  
-  /**
-   * @see XSDVisitor#visitElementDeclaration(XSDElementDeclaration)
-   */
-  public void visitElementDeclaration(XSDElementDeclaration element)
-  {
-    if (!element.isElementDeclarationReference() &&
-        globalComponent.equals(element.getTypeDefinition()))
-    {
-      element.getElement().setAttribute(XSDConstants.TYPE_ATTRIBUTE, getNewQName());
-    }
-
-    super.visitElementDeclaration(element);
-  }
-
-
-  /**
-   * @see org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor#visitComplexTypeDefinition(XSDComplexTypeDefinition)
-   */
-  public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
-  {
-    super.visitComplexTypeDefinition(type);
-    if (type.getAttributeContents() != null)
-    {
-      for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
-      {
-        XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-        if (attrGroupContent instanceof XSDAttributeUse)
-        {
-          XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
-          XSDAttributeDeclaration attrDecl = attrUse.getContent();
-          
-          // now is this a reference?
-          if (!attrDecl.isAttributeDeclarationReference() &&
-              globalComponent.equals(attrDecl.getTypeDefinition()))
-          {
-            attrDecl.getElement().setAttribute(XSDConstants.TYPE_ATTRIBUTE, getNewQName());
-          }
-        }
-      }
-    }
-
-    XSDTypeDefinition base = type.getBaseTypeDefinition();
-    if (base.equals(globalComponent))
-    {
-      XSDDOMHelper helper = new XSDDOMHelper();
-      Element derivedByNode = helper.getDerivedByElementFromComplexType(type.getElement());
-      if (derivedByNode != null)
-      {
-        derivedByNode.setAttribute(XSDConstants.BASE_ATTRIBUTE, getNewQName());
-      }
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java
deleted file mode 100644
index 62b0eb9..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class SchemaPrefixChangeHandler
-{
-  String newPrefix;
-  XSDSchema xsdSchema;
-
-  public SchemaPrefixChangeHandler(XSDSchema xsdSchema, String newPrefix)
-  {
-    this.xsdSchema = xsdSchema;
-    this.newPrefix= newPrefix;
-  }
-  
-  public void resolve()
-  {
-    XSDSchemaPrefixRenamer xsdSchemaPrefixRenamer = new XSDSchemaPrefixRenamer();
-    xsdSchemaPrefixRenamer.visitSchema(xsdSchema);
-  }
-
-  public String getNewQName(XSDTypeDefinition comp, String value, String newXSDPrefix)
-  {
-    String qName = null;
-    if (value != null)
-    {
-      qName = newXSDPrefix;
-      if (qName != null && qName.length() > 0)
-      {
-        qName += ":" + value;
-      }
-      else
-      {
-        qName = value; 
-      }
-    }
-    else
-    {
-      qName = value;
-    }
-    
-    return qName;
-  }
-
-  
-  class XSDSchemaPrefixRenamer extends XSDVisitor
-  {
-    public XSDSchemaPrefixRenamer()
-    {
-      super();
-    }
-    
-    public void visitElementDeclaration(XSDElementDeclaration element)
-    {
-      super.visitElementDeclaration(element);
-      XSDTypeDefinition type = element.getType();
-      if (type != null)
-      {
-        String ns = type.getTargetNamespace();
-        if (ns == null) ns = "";
-//        if (ns.equals(xsdSchema.getSchemaForSchemaNamespace()))
-        if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))        
-        {
-          Element domElement = element.getElement();
-          if (domElement != null && domElement instanceof XMLNode)
-          {
-            Attr typeAttr = domElement.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
-            if (typeAttr != null)
-            {
-              element.getElement().setAttribute(XSDConstants.TYPE_ATTRIBUTE, getNewQName(type, type.getName(), newPrefix));            
-            }
-          }
-        }
-      }
-    }
-    
-    public void visitSimpleTypeDefinition(XSDSimpleTypeDefinition simpleType)
-    {
-      super.visitSimpleTypeDefinition(simpleType);
-      XSDTypeDefinition baseType = simpleType.getBaseTypeDefinition();
-      
-      if (baseType != null)
-      {
-        String ns = baseType.getTargetNamespace();
-        if (ns == null) ns = "";
-//        if (ns.equals(xsdSchema.getSchemaForSchemaNamespace()))
-//        System.out.println(xsdSchema.getSchemaForSchemaNamespace());
-        if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
-        {
-          XSDDOMHelper domHelper = new XSDDOMHelper();
-          Element derivedBy = domHelper.getDerivedByElement(simpleType.getElement());
-          if (derivedBy != null && derivedBy instanceof XMLNode)
-          {
-            Attr typeAttr = derivedBy.getAttributeNode(XSDConstants.BASE_ATTRIBUTE);
-            if (typeAttr != null)
-            {
-              derivedBy.setAttribute(XSDConstants.BASE_ATTRIBUTE, getNewQName(baseType, baseType.getName(), newPrefix));
-            }
-          }
-        }
-      }
-      
-      XSDSimpleTypeDefinition itemType = simpleType.getItemTypeDefinition();
-      if (itemType != null)
-      {
-        String ns = itemType.getTargetNamespace();
-        if (ns == null) ns = "";
-        if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
-        {
-          XSDDOMHelper domHelper = new XSDDOMHelper();
-          Node listNode = domHelper.getChildNode(simpleType.getElement(), XSDConstants.LIST_ELEMENT_TAG);
-          if (listNode != null && listNode instanceof Element)
-          {
-            Element listElement = (Element)listNode;          
-            if (listElement instanceof XMLNode)
-            {
-              Attr typeAttr = listElement.getAttributeNode(XSDConstants.ITEMTYPE_ATTRIBUTE);
-              if (typeAttr != null)
-              {
-                listElement.setAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, getNewQName(itemType, itemType.getName(), newPrefix));
-              }
-            }
-          }
-        }
-      }
-      
-      List memberTypes = simpleType.getMemberTypeDefinitions();
-      if (memberTypes.size() > 0)
-      {
-        XSDDOMHelper domHelper = new XSDDOMHelper();
-        Node unionNode = domHelper.getChildNode(simpleType.getElement(), XSDConstants.UNION_ELEMENT_TAG);
-        if (unionNode != null && unionNode instanceof Element)
-        {
-          Element unionElement = (Element)unionNode;          
-          if (unionElement instanceof XMLNode)
-          {
-            Attr typeAttr = unionElement.getAttributeNode(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-            StringBuffer sb = new StringBuffer("");
-            for (Iterator i = memberTypes.iterator(); i.hasNext(); )
-            {
-              XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)i.next();
-              String ns = st.getTargetNamespace();
-              if (ns == null) ns = "";
-              if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
-              {
-                sb.append(getNewQName(st, st.getName(), newPrefix));                
-              }
-              else
-              {
-                sb.append(st.getQName(xsdSchema));
-              }
-              if (i.hasNext())
-              {
-                sb.append(" ");
-              }
-            }
-            unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, sb.toString());
-          }
-        }
-      }
-    }
-
-    public void visitAttributeDeclaration(XSDAttributeDeclaration attr)
-    {
-      super.visitAttributeDeclaration(attr);
-      XSDTypeDefinition type = attr.getType();
-      if (type != null)
-      {
-        String ns = type.getTargetNamespace();
-        if (ns == null) ns = "";
-//        if (ns.equals(xsdSchema.getSchemaForSchemaNamespace()))
-        if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
-        {
-          Element domElement = attr.getElement();
-          if (domElement != null && domElement instanceof XMLNode)
-          {
-            Attr typeAttr = domElement.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
-            if (typeAttr != null)
-            {
-              attr.getElement().setAttribute(XSDConstants.TYPE_ATTRIBUTE, getNewQName(type, type.getName(), newPrefix));            
-            }
-          }
-        }
-      }
-    }
-  }    
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/TargetNamespaceChangeHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/TargetNamespaceChangeHandler.java
deleted file mode 100644
index ef996b1..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/TargetNamespaceChangeHandler.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.refactor.rename;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-
-
-public class TargetNamespaceChangeHandler
-{
-  String newNS;
-  String oldNS;
-  XSDSchema xsdSchema;
-
-  public TargetNamespaceChangeHandler(XSDSchema xsdSchema, String oldNS, String newNS)
-  {
-    this.xsdSchema = xsdSchema;
-    this.oldNS= oldNS;
-    this.newNS= newNS;
-  }
-  
-  public void resolve()
-  {
-    ElementReferenceRenamer elementReferenceRenamer = new ElementReferenceRenamer();
-    elementReferenceRenamer.visitSchema(xsdSchema);
-    AttributeReferenceRenamer attributeReferenceRenamer = new AttributeReferenceRenamer();
-    attributeReferenceRenamer.visitSchema(xsdSchema);
-  }
-
-  class ElementReferenceRenamer extends XSDVisitor
-  {
-    public ElementReferenceRenamer()
-    {
-      super();
-    }
-    
-    public void visitElementDeclaration(XSDElementDeclaration element)
-    {
-      super.visitElementDeclaration(element);
-      if (element.isElementDeclarationReference())
-      {
-      	if (element.getResolvedElementDeclaration().getTargetNamespace() != null)
-      	{
-      	  if (element.getResolvedElementDeclaration().getTargetNamespace().equals(oldNS))
-          {
-            // set the resolved element's declaration to new ns
-            // this is defect 237518 - target namespace rename creates a new namespace
-            element.getResolvedElementDeclaration().setTargetNamespace(newNS);
-          }
-        }
-        else
-        {
-        	if (oldNS == null || (oldNS != null && oldNS.equals("")))
-        	{
-						element.getResolvedElementDeclaration().setTargetNamespace(newNS);
-        	}
-        }
-      }
-    }
-  }
-  
-  // Similar to defect 237518 but for attributes
-  class AttributeReferenceRenamer extends XSDVisitor
-  {
-    public AttributeReferenceRenamer()
-    {
-      super();
-    }
-    
-    public void visitComplexTypeDefinition(XSDComplexTypeDefinition type)
-    {
-      super.visitComplexTypeDefinition(type);
-      if (type.getAttributeContents() != null)
-      {
-        for (Iterator iter = type.getAttributeContents().iterator(); iter.hasNext(); )
-        {
-          XSDAttributeGroupContent attrGroupContent = (XSDAttributeGroupContent) iter.next();
-          if (attrGroupContent instanceof XSDAttributeUse)
-          {
-            XSDAttributeUse attrUse = (XSDAttributeUse) attrGroupContent;
-            XSDAttributeDeclaration attrDecl = attrUse.getContent();
-            
-            if (attrDecl != null && attrDecl.isAttributeDeclarationReference())
-            {
-							if (attrDecl.getResolvedAttributeDeclaration().getTargetNamespace() != null)
-							{
-                if (attrDecl.getResolvedAttributeDeclaration().getTargetNamespace().equals(oldNS))
-                {
-                  attrDecl.getResolvedAttributeDeclaration().setTargetNamespace(newNS);
-                }
-              }
-              else
-              {
-								if (oldNS == null || (oldNS != null && oldNS.equals("")))
-								{
-									attrDecl.getResolvedAttributeDeclaration().setTargetNamespace(newNS);
-								}
-              }
-            }
-          }
-        }
-      }
-    }
-  
-    public void visitAttributeGroupDefinition(XSDAttributeGroupDefinition attributeGroup)
-    {
-      super.visitAttributeGroupDefinition(attributeGroup);
-      EList list = attributeGroup.getAttributeUses();
-      if (list != null)
-      {
-        for (Iterator iter = list.iterator(); iter.hasNext(); )
-        {
-          XSDAttributeUse attrUse = (XSDAttributeUse)iter.next();
-          XSDAttributeDeclaration attrDecl = attrUse.getContent();
-
-          if (attrDecl != null && attrDecl.isAttributeDeclarationReference())
-          {
-						if (attrDecl.getResolvedAttributeDeclaration().getTargetNamespace() != null)
-						{
-              if (attrDecl.getResolvedAttributeDeclaration().getTargetNamespace().equals(oldNS))
-              {
-                attrDecl.getResolvedAttributeDeclaration().setTargetNamespace(newNS);
-              }
-            }
-            else
-            {
-							if (oldNS == null || (oldNS != null && oldNS.equals("")))
-							{
-								attrDecl.getResolvedAttributeDeclaration().setTargetNamespace(newNS);
-							}
-            }
-          }
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/OpenOnSelectionHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/OpenOnSelectionHelper.java
deleted file mode 100644
index 82de07f..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/OpenOnSelectionHelper.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.util;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.XSDEditor;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDTextEditor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-
-public class OpenOnSelectionHelper
-{
-  
-  protected XSDTextEditor textEditor;
-  
-  /**
-   * Constructor for OpenOnSelectionHelper.
-   */
-  public OpenOnSelectionHelper(XSDTextEditor textEditor)
-  {
-    this.textEditor = textEditor;
-  }
-
-  boolean lastResult;
-  
-  public static void openXSDEditor(String schemaLocation)
-  {
-		IPath schemaPath = new Path(schemaLocation);
-		
-		final IFile schemaFile = ResourcesPlugin.getWorkspace().getRoot().getFile(schemaPath);
-	
-		Display.getDefault().syncExec(new Runnable()
-		{
-			/**
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run()
-			{
-				final IWorkbenchWindow workbenchWindow = XSDEditorPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow();
-				if (workbenchWindow != null)
-				{
-					try
-					{
-					  IEditorPart editorPart = workbenchWindow.getActivePage().openEditor(new FileEditorInput(schemaFile), XSDEditorPlugin.XSD_EDITOR_ID);
-					}
-					catch (PartInitException initEx)
-					{
-					  initEx.printStackTrace();
-//						XSDEditorPlugin.getPlugin().getMsgLogger().write(initEx);
-					}
-					catch(Exception e)
-					{
-					  e.printStackTrace();
-					}
-				}          
-			}
-		});
-  }
-  
-  protected boolean revealObject(final XSDConcreteComponent component)
-  {
-    if (component.getRootContainer().equals(textEditor.getXSDSchema()))
-    {
-      Node element = component.getElement();
-      if (element instanceof IndexedRegion)
-      {
-        IndexedRegion indexNode = (IndexedRegion) element;
-        textEditor.getTextViewer().setRangeIndication(indexNode.getStartOffset(), indexNode.getEndOffset() - indexNode.getStartOffset(), true);
-        return true;
-      }
-      return false;
-    }
-    else
-    {
-      lastResult = false;
-      if (component.getSchema() != null)
-      {
-				String schemaLocation = URIHelper.removePlatformResourceProtocol(component.getSchema().getSchemaLocation());
-        IPath schemaPath = new Path(schemaLocation);
-				final IFile schemaFile = ResourcesPlugin.getWorkspace().getRoot().getFile(schemaPath);
-        Display.getDefault().syncExec(new Runnable()
-        {
-	        /**
-	         * @see java.lang.Runnable#run()
-	         */
-	        public void run()
-	        {
-		        final IWorkbenchWindow workbenchWindow = XSDEditorPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow();
-		        if (workbenchWindow != null)
-		        {
-							try
-							{
-							  IEditorPart editorPart = workbenchWindow.getActivePage().openEditor(new FileEditorInput(schemaFile), textEditor.getXSDEditor().getEditorSite().getId());
-								if (editorPart instanceof XSDEditor)
-								{
-									((XSDEditor)editorPart).openOnGlobalReference(component);
-									lastResult = true;
-								}
-							}
-							catch (PartInitException initEx)
-							{
-//								XSDEditorPlugin.getPlugin().getMsgLogger().write(initEx);
-							}
-						}          
-					}
-				});
-      }
-      return lastResult;
-    }
-  }
-  
-  public void openOnGlobalReference(XSDConcreteComponent comp)
-  {
-    XSDSchema schema = textEditor.getXSDSchema();
-    String name = null;
-    if (comp instanceof XSDNamedComponent)
-    {
-      name = ((XSDNamedComponent) comp).getName();
-    }
-    
-    if (schema == null || name == null)
-    {
-      return;
-    }
-
-    List objects = null;    
-    if (comp instanceof XSDElementDeclaration)
-    {
-      objects = schema.getElementDeclarations();
-    }
-    else if (comp instanceof XSDTypeDefinition)
-    {
-      objects = schema.getTypeDefinitions();
-    }
-
-    if (objects != null)
-    {
-      for (Iterator iter = objects.iterator(); iter.hasNext();)
-      {
-        XSDNamedComponent namedComp = (XSDNamedComponent) iter.next();
-        
-        if (namedComp.getName().equals(name))
-        {
-          revealObject(namedComp);
-        }
-      }
-    }
-  }
-  
-  public boolean openOnSelection()
-  {
-    List selectedNodes = textEditor.getViewerSelectionManager().getSelectedNodes();
-
-    if (!selectedNodes.isEmpty())
-    {
-      for (Iterator i = selectedNodes.iterator(); i.hasNext();)
-      {
-        Object obj = i.next();
-        XSDSchema xsdSchema = textEditor.getXSDSchema();
-        if (xsdSchema != null)
-        {
-          XSDConcreteComponent xsdComp = xsdSchema.getCorrespondingComponent((Node)obj);
-          XSDConcreteComponent objectToReveal = null;
-
-          if (xsdComp instanceof XSDElementDeclaration)
-          {
-            XSDElementDeclaration elementDecl = (XSDElementDeclaration) xsdComp;
-            if (elementDecl.isElementDeclarationReference())
-            {
-              objectToReveal = elementDecl.getResolvedElementDeclaration();
-            }
-            else
-            {
-              XSDConcreteComponent typeDef = null;
-              if (elementDecl.getAnonymousTypeDefinition() == null)
-              {
-                typeDef = elementDecl.getTypeDefinition();
-              }
-              
-              XSDConcreteComponent subGroupAffiliation = elementDecl.getSubstitutionGroupAffiliation();
-              
-              if (typeDef != null && subGroupAffiliation != null)
-              {
-                // we have 2 things we can navigate to, if the cursor is anywhere on the substitution attribute
-                // then jump to that, otherwise just go to the typeDef.
-                if (obj instanceof Attr && ((Attr)obj).getLocalName().equals(XSDConstants.SUBSTITUTIONGROUP_ATTRIBUTE))
-                {
-                  objectToReveal = subGroupAffiliation;
-                }
-                else
-                {
-                  // try to reveal the type now.  On success, then we return true.
-                  // if we fail, set the substitution group as the object to reveal as a backup plan.
-                  if (revealObject(typeDef))
-                  {
-                    return true;
-                  }
-                  else
-                  {
-                    objectToReveal = subGroupAffiliation;
-                  }
-                }
-              }
-              else
-              {
-                // one or more of these is null.  If the typeDef is non-null, use it.  Otherwise
-                // try and use the substitution group
-                objectToReveal = typeDef != null ? typeDef : subGroupAffiliation;
-              }
-            }
-          }
-          else if (xsdComp instanceof XSDModelGroupDefinition)
-          {
-            XSDModelGroupDefinition elementDecl = (XSDModelGroupDefinition) xsdComp;
-            if (elementDecl.isModelGroupDefinitionReference())
-            {
-              objectToReveal = elementDecl.getResolvedModelGroupDefinition();
-            }
-          }
-          else if (xsdComp instanceof XSDAttributeDeclaration)
-          {
-            XSDAttributeDeclaration attrDecl = (XSDAttributeDeclaration) xsdComp;
-            if (attrDecl.isAttributeDeclarationReference())
-            {
-              objectToReveal = attrDecl.getResolvedAttributeDeclaration();
-            }
-            else if (attrDecl.getAnonymousTypeDefinition() == null)
-            {
-              objectToReveal = attrDecl.getTypeDefinition();
-            }              
-          }
-          else if (xsdComp instanceof XSDAttributeGroupDefinition)
-          {
-            XSDAttributeGroupDefinition attrGroupDef = (XSDAttributeGroupDefinition) xsdComp;
-            if (attrGroupDef.isAttributeGroupDefinitionReference())
-            {
-              objectToReveal = attrGroupDef.getResolvedAttributeGroupDefinition();
-            }
-          }
-          else if (xsdComp instanceof XSDIdentityConstraintDefinition)
-          {
-            XSDIdentityConstraintDefinition idConstraintDef = (XSDIdentityConstraintDefinition) xsdComp;
-            if (idConstraintDef.getReferencedKey() != null)
-            {
-              objectToReveal = idConstraintDef.getReferencedKey();
-            }
-          }
-          else if (xsdComp instanceof XSDSimpleTypeDefinition)
-          {
-            XSDSimpleTypeDefinition typeDef = (XSDSimpleTypeDefinition) xsdComp;
-            objectToReveal = typeDef.getItemTypeDefinition();
-            if (objectToReveal == null)
-            {
-              // if itemType attribute is not set, then check for memberType
-              List memberTypes = typeDef.getMemberTypeDefinitions();
-              if (memberTypes != null && memberTypes.size() > 0)
-              {
-                objectToReveal = (XSDConcreteComponent)memberTypes.get(0);
-              }              
-            }
-          }
-          else if (xsdComp instanceof XSDTypeDefinition)
-          {
-            XSDTypeDefinition typeDef = (XSDTypeDefinition) xsdComp;
-            objectToReveal = typeDef.getBaseType();
-          }
-          else if (xsdComp instanceof XSDSchemaDirective)
-          {
-          	XSDSchemaDirective directive = (XSDSchemaDirective) xsdComp;
-//						String schemaLocation = URIHelper.removePlatformResourceProtocol(directive.getResolvedSchema().getSchemaLocation());
-//						openXSDEditor(schemaLocation);
-//						return false;
-            objectToReveal = directive.getResolvedSchema();						          	          	
-          }
-
-          // now reveal the object if this isn't null
-          if (objectToReveal != null)
-          {
-            return revealObject(objectToReveal);
-          }
-        }
-      }
-    }
-    return false;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/SelectionAdapter.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/SelectionAdapter.java
deleted file mode 100644
index 2cd1353..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/SelectionAdapter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-public abstract class SelectionAdapter implements ISelectionProvider
-{
-  protected List listenerList = new ArrayList();
-  protected ISelection selection = new StructuredSelection();
-  protected ISelectionProvider eventSource;
-
-  public void setEventSource(ISelectionProvider eventSource)
-  {
-    this.eventSource = eventSource;
-  }
-
-  public void addSelectionChangedListener(ISelectionChangedListener listener) 
-  {
-    listenerList.add(listener);
-  }
-
-  public void removeSelectionChangedListener(ISelectionChangedListener listener) 
-  {
-    listenerList.remove(listener);
-  }                    
-
-  public ISelection getSelection() 
-  {
-    return selection;
-  }    
-  
-  /**
-   * This method should be specialized to return the correct object that corresponds to the 'other' model
-   */
-  abstract protected Object getObjectForOtherModel(Object object);
-
-    
-  public void setSelection(ISelection modelSelection)  
-  { 
-    List otherModelObjectList = new ArrayList();
-    if (modelSelection instanceof IStructuredSelection)
-    {
-      for (Iterator i = ((IStructuredSelection)modelSelection).iterator(); i.hasNext(); )
-      {
-        Object modelObject = i.next(); 
-        Object otherModelObject = getObjectForOtherModel(modelObject);       
-        if (otherModelObject != null)
-        { 
-          otherModelObjectList.add(otherModelObject);
-        }
-      }
-    }                
-      
-    StructuredSelection nodeSelection = new StructuredSelection(otherModelObjectList);
-    selection = nodeSelection;
-    SelectionChangedEvent event = new SelectionChangedEvent(eventSource != null ? eventSource : this, nodeSelection);
-
-    for (Iterator i = listenerList.iterator(); i.hasNext(); )
-    {
-      ISelectionChangedListener listener = (ISelectionChangedListener)i.next();
-      listener.selectionChanged(event);
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/TypesHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/TypesHelper.java
deleted file mode 100644
index a31411c..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/TypesHelper.java
+++ /dev/null
@@ -1,815 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaContent;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.impl.XSDImportImpl;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class TypesHelper
-{
-  XSDSchema xsdSchema;
-  Vector list = new Vector();
-
-  public TypesHelper(XSDSchema xsdSchema)
-  {
-    this.xsdSchema = xsdSchema;
-  }
-
-  public void updateExternalImportGlobals()
-  {
-    if (xsdSchema != null)
-    {
-      Iterator contents = xsdSchema.getContents().iterator();
-      while (contents.hasNext())
-      {
-        XSDSchemaContent content = (XSDSchemaContent) contents.next();
-        if (content instanceof XSDImportImpl)
-        {
-          XSDImportImpl anImport = (XSDImportImpl) content;
-          try
-          {
-            if (anImport.getSchemaLocation() != null)
-            {
-              anImport.importSchema();
-            }
-          }
-          catch (Exception e)
-          {
-            
-          }
-        }
-      }
-    }
-  }
-
-  private Vector addExternalImportedUserSimpleTypes(Vector items)
-  {
-    if (xsdSchema != null)
-    {
-      Iterator contents = xsdSchema.getContents().iterator();
-      while (contents.hasNext())
-      {
-        XSDSchemaContent content = (XSDSchemaContent) contents.next();
-        if (content instanceof XSDImportImpl)
-        {
-          XSDImportImpl anImport = (XSDImportImpl) content;
-
-          XSDSchema impSchema = anImport.getResolvedSchema();
-
-          try
-          {
-            if (impSchema == null)
-            {
-              impSchema = anImport.importSchema();
-            }
-          }
-          catch (Exception e)
-          {
-            
-          }
-
-          if (impSchema != null)
-          {
-            Iterator i = impSchema.getTypeDefinitions().iterator();
-            while (i.hasNext())
-            {
-              XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
-              if (typeDefinition instanceof XSDSimpleTypeDefinition)
-              {
-                if (typeDefinition.getName() != null)
-                {
-                  items.addAll(getPrefixedNames(typeDefinition.getTargetNamespace(), typeDefinition.getName()));
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-    return items;
-  }
-
-  private Vector addExternalImportedGlobalElements(Vector items)
-  {
-    if (xsdSchema != null)
-    {
-      Iterator contents = xsdSchema.getContents().iterator();
-      while (contents.hasNext())
-      {
-        XSDSchemaContent content = (XSDSchemaContent) contents.next();
-        if (content instanceof XSDImportImpl)
-        {
-          XSDImportImpl anImport = (XSDImportImpl) content;
-
-          XSDSchema impSchema = anImport.getResolvedSchema();
-
-          try
-          {
-            if (impSchema == null)
-            {
-              impSchema = anImport.importSchema();
-            }
-          }
-          catch (Exception e)
-          {
-            
-          }
-
-          if (impSchema != null)
-          {
-            Iterator i = impSchema.getElementDeclarations().iterator();
-            while (i.hasNext())
-            {
-              XSDElementDeclaration anElement = (XSDElementDeclaration) i.next();
-              if (anElement.getName() != null)
-              {
-                items.addAll(getPrefixedNames(anElement.getTargetNamespace(), anElement.getName()));
-              }
-            }
-          }
-        }
-      }
-    }
-    return items;
-  }
-
-  private Vector addExternalImportedAttributes(Vector items)
-  {
-    if (xsdSchema != null)
-    {
-      Iterator contents = xsdSchema.getContents().iterator();
-      while (contents.hasNext())
-      {
-        XSDSchemaContent content = (XSDSchemaContent) contents.next();
-        if (content instanceof XSDImportImpl)
-        {
-          XSDImportImpl anImport = (XSDImportImpl) content;
-
-          XSDSchema impSchema = anImport.getResolvedSchema();
-
-          try
-          {
-            if (impSchema == null)
-            {
-              impSchema = anImport.importSchema();
-            }
-          }
-          catch (Exception e)
-          {
-            
-          }
-
-          if (impSchema != null)
-          {
-            Iterator i = impSchema.getAttributeDeclarations().iterator();
-            while (i.hasNext())
-            {
-              XSDAttributeDeclaration attrib = (XSDAttributeDeclaration) i.next();
-              if (attrib.getName() != null)
-              {
-                items.addAll(getPrefixedNames(attrib.getTargetNamespace(), attrib.getName()));
-              }
-            }
-          }
-        }
-      }
-    }
-    return items;
-  }
-
-  private Vector addExternalImportedAttributeGroups(Vector items)
-  {
-    if (xsdSchema != null)
-    {
-      Iterator contents = xsdSchema.getContents().iterator();
-      while (contents.hasNext())
-      {
-        XSDSchemaContent content = (XSDSchemaContent) contents.next();
-        if (content instanceof XSDImportImpl)
-        {
-          XSDImportImpl anImport = (XSDImportImpl) content;
-
-          XSDSchema impSchema = anImport.getResolvedSchema();
-
-          try
-          {
-            if (impSchema == null)
-            {
-              impSchema = anImport.importSchema();
-            }
-          }
-          catch (Exception e)
-          {
-            
-          }
-
-          if (impSchema != null)
-          {
-            Iterator i = impSchema.getAttributeGroupDefinitions().iterator();
-            while (i.hasNext())
-            {
-              XSDAttributeGroupDefinition attrib = (XSDAttributeGroupDefinition) i.next();
-              if (attrib.getName() != null)
-              {
-                items.addAll(getPrefixedNames(attrib.getTargetNamespace(), attrib.getName()));
-              }
-            }
-          }
-        }
-      }
-    }
-    return items;
-  }
-
-  private Vector addExternalImportedUserComplexTypes(Vector items)
-  {
-    if (xsdSchema != null)
-    {
-      Iterator contents = xsdSchema.getContents().iterator();
-      while (contents.hasNext())
-      {
-        XSDSchemaContent content = (XSDSchemaContent) contents.next();
-        if (content instanceof XSDImportImpl)
-        {
-          XSDImportImpl anImport = (XSDImportImpl) content;
-
-          XSDSchema impSchema = anImport.getResolvedSchema();
-
-          try
-          {
-            if (impSchema == null)
-            {
-              impSchema = anImport.importSchema();
-            }
-          }
-          catch (Exception e)
-          {
-            
-          }
-
-          if (impSchema != null)
-          {
-            Iterator i = impSchema.getTypeDefinitions().iterator();
-            while (i.hasNext())
-            {
-              XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
-              if (typeDefinition instanceof XSDComplexTypeDefinition)
-              {
-                if (typeDefinition.getName() != null)
-                {
-                  items.addAll(getPrefixedNames(typeDefinition.getTargetNamespace(), typeDefinition.getName()));
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-    return items;
-  }
-
-  private Vector addExternalImportedGroups(Vector items)
-  {
-    if (xsdSchema != null)
-    {
-      Iterator contents = xsdSchema.getContents().iterator();
-      while (contents.hasNext())
-      {
-        XSDSchemaContent content = (XSDSchemaContent) contents.next();
-        if (content instanceof XSDImportImpl)
-        {
-          XSDImportImpl anImport = (XSDImportImpl) content;
-
-          XSDSchema impSchema = anImport.getResolvedSchema();
-
-          try
-          {
-            if (impSchema == null)
-            {
-              impSchema = anImport.importSchema();
-            }
-          }
-          catch (Exception e)
-          {
-          }
-
-          if (impSchema != null)
-          {
-            Iterator i = impSchema.getModelGroupDefinitions().iterator();
-            while (i.hasNext())
-            {
-              XSDModelGroupDefinition aGroup = (XSDModelGroupDefinition) i.next();
-              if (aGroup.getName() != null)
-              {
-                items.addAll(getPrefixedNames(aGroup.getTargetNamespace(), aGroup.getName()));
-              }
-            }
-          }
-        }
-      }
-    }
-    return items;
-  }
-
-  public java.util.List getBuiltInTypeNamesList()
-  {
-    Vector items = new Vector();
-    if (xsdSchema != null)
-    {
-      String xsdForXSDPrefix = xsdSchema.getSchemaForSchemaQNamePrefix();
-      if (xsdForXSDPrefix != null && xsdForXSDPrefix.length() > 0)
-      {
-        xsdForXSDPrefix = xsdForXSDPrefix + ":";
-      }
-      else
-      {
-        xsdForXSDPrefix = "";
-      }
-
-      for (int i = 0; i < XSDDOMHelper.dataType.length; i++)
-      {
-        items.add(xsdForXSDPrefix + XSDDOMHelper.dataType[i][0]);
-      }
-    }
-    return items;
-  }
-  
-  public java.util.List getBuiltInTypeNamesList2()
-  {
-    List result = new ArrayList();
-    if (xsdSchema != null)
-    {
-      List prefixes = getPrefixesForNamespace(xsdSchema.getSchemaForSchemaNamespace());
-      for (int i = 0; i < XSDDOMHelper.dataType.length; i++)
-      {
-        for (Iterator j = prefixes.iterator(); j.hasNext();)
-        {
-          String prefix = (String) j.next();
-          String localName = XSDDOMHelper.dataType[i][0]; 
-          String prefixedName = (prefix != null && prefix.length() > 0) ? prefix + ":" + localName : localName; 
-          result.add(prefixedName);
-        }
-      }
-    }
-    return result;
-  }
-
-  public java.util.List getUserSimpleTypeNamesList()
-  {
-    Vector items = new Vector();
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      Iterator i = xsdSchema.getTypeDefinitions().iterator();
-      while (i.hasNext())
-      {
-        XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
-        if (typeDefinition instanceof XSDSimpleTypeDefinition)
-        {
-          items.addAll(getPrefixedNames(typeDefinition.getTargetNamespace(), typeDefinition.getName()));
-          //System.out.println(typeDefinition.getQName(xsdSchema));
-          //items.add(typeDefinition.getQName(xsdSchema));
-        }
-      }
-      items.add(getPrefix(xsdSchema.getSchemaForSchemaNamespace(), true) + "anyType");
-      
-      //      items = addExternalImportedUserSimpleTypes(items);
-      items = (Vector) sortList(items);
-    }
-    return items;
-  }
-
-  public java.util.List getUserComplexTypeNamesList()
-  {
-    Vector items = new Vector();
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      Iterator i = xsdSchema.getTypeDefinitions().iterator();
-      while (i.hasNext())
-      {
-        XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
-        if (typeDefinition instanceof XSDComplexTypeDefinition)
-        {
-			    items.addAll(getPrefixedNames(typeDefinition.getTargetNamespace(), typeDefinition.getName()));         
-        }
-      }
-      // remove anyType since it's not user-defined
-      // items.add(getPrefix(xsdSchema.getSchemaForSchemaNamespace(), true) + "anyType");
-      //      items = addExternalImportedUserComplexTypes(items);
-      items = (Vector) sortList(items);
-    }
-    return items;
-  }
-  
-  public java.util.List getUserSimpleTypes()
-  {
-    Vector items = new Vector();
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      Iterator i = xsdSchema.getTypeDefinitions().iterator();
-      while (i.hasNext())
-      {
-        XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
-        if (typeDefinition instanceof XSDSimpleTypeDefinition)
-        {
-          items.add(typeDefinition);
-          //System.out.println(typeDefinition.getQName(xsdSchema));
-          //items.add(typeDefinition.getQName(xsdSchema));
-        }
-      }
-      // We need to add the anyType
-//      items.add(getPrefix(xsdSchema.getSchemaForSchemaNamespace(), true) + "anyType");
-      
-      //      items = addExternalImportedUserSimpleTypes(items);
-      //items = (Vector) sortList(items);
-    }
-    return items;
-  }
-
-  public String getPrefix(String ns, boolean withColon)
-  {
-    String key = "";
-
-    if (xsdSchema != null)
-    {
-      Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-      Iterator iter = map.keySet().iterator();
-      while (iter.hasNext())
-      {
-        Object keyObj = iter.next();
-        Object value = map.get(keyObj);
-        if (value != null && value.toString().equals(ns))
-        {
-          if (keyObj != null)
-          {
-            key = keyObj.toString();
-          }
-          else
-          {
-            key = "";
-          }
-          break;
-        }
-      }
-      if (!key.equals(""))
-      {
-        if (withColon)
-        {
-          key = key + ":";
-        }
-      }
-    }
-    return key;
-  }
-
-  public java.util.List getUserComplexTypes()
-  {
-    Vector items = new Vector();
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      Iterator i = xsdSchema.getTypeDefinitions().iterator();
-      while (i.hasNext())
-      {
-        XSDTypeDefinition typeDefinition = (XSDTypeDefinition) i.next();
-        if (typeDefinition instanceof XSDComplexTypeDefinition)
-        {
-			    items.add(typeDefinition);         
-        }
-      }
-      // remove anyType since it's not user-defined
-      // items.add(getPrefix(xsdSchema.getSchemaForSchemaNamespace(), true) + "anyType");
-      //      items = addExternalImportedUserComplexTypes(items);
-     // items = (Vector) sortList(items);
-    }
-    return items;
-  }
-  
-  public java.util.List getGlobalElements()
-  {
-    Vector items = new Vector();
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      if (xsdSchema.getElementDeclarations() != null)
-      {
-        Iterator i = xsdSchema.getElementDeclarations().iterator();
-        while (i.hasNext())
-        {
-          XSDElementDeclaration elementDeclaration = (XSDElementDeclaration) i.next();
-          String name = elementDeclaration.getQName(xsdSchema);
-          if (name != null)
-          {
-            items.add(name);
-          }
-        }
-      }
-      //      items = addExternalImportedGlobalElements(items);
-      items = (Vector) sortList(items);
-    }
-    return items;
-  }
-
-  public String getGlobalElement(XSDSchema relativeComponent)
-  {
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      if (xsdSchema.getElementDeclarations() != null)
-      {
-        Iterator i = xsdSchema.getElementDeclarations().iterator();
-        while (i.hasNext()) // just get the first one
-        {
-          XSDElementDeclaration elementDeclaration = (XSDElementDeclaration) i.next();
-          if (elementDeclaration.getQName(relativeComponent) != null)
-          {
-            return elementDeclaration.getQName(relativeComponent);
-          }
-        }
-      }
-
-      Vector items = new Vector();
-      items = addExternalImportedGlobalElements(items);
-      if (items != null && items.size() > 0)
-      {
-        return items.get(0).toString();
-      }
-    }
-    return null; // for disabling menu
-  }
-
-  public java.util.List getGlobalAttributes()
-  {
-    Vector items = new Vector();
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      if (xsdSchema.getAttributeDeclarations() != null)
-      {
-        Iterator i = xsdSchema.getAttributeDeclarations().iterator();
-        while (i.hasNext())
-        {
-          XSDAttributeDeclaration attributeDeclaration = (XSDAttributeDeclaration) i.next();
-          if (attributeDeclaration.getTargetNamespace() == null || (attributeDeclaration.getTargetNamespace() != null && !attributeDeclaration.getTargetNamespace().equals(XSDConstants.SCHEMA_INSTANCE_URI_2001)))
-          {
-            String name = attributeDeclaration.getQName(xsdSchema);
-            if (name != null)
-            {
-              items.add(name);
-            }
-          }
-        }
-      }
-      //      items = addExternalImportedAttributes(items);
-      items = (Vector) sortList(items);
-    }
-    return items;
-  }
-
-  public String getGlobalAttribute(XSDSchema relativeComponent)
-  {
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      if (xsdSchema.getAttributeDeclarations() != null)
-      {
-        Iterator i = xsdSchema.getAttributeDeclarations().iterator();
-        while (i.hasNext()) // just get the first one
-        {
-          XSDAttributeDeclaration attributeDeclaration = (XSDAttributeDeclaration) i.next();
-          // Filter out attributes from the schema namespace
-          if (!(attributeDeclaration.getTargetNamespace().equals(XSDConstants.SCHEMA_INSTANCE_URI_2001)))
-          {
-            if (attributeDeclaration.getQName(relativeComponent) != null)
-            {
-              return attributeDeclaration.getQName(relativeComponent);
-            }
-          }
-        }
-      }
-
-      Vector items = new Vector();
-      items = addExternalImportedAttributes(items);
-      if (items != null && items.size() > 0)
-      {
-        return items.get(0).toString();
-      }
-    }
-    return null; // for disabling menu
-  }
-
-  public java.util.List getGlobalAttributeGroups()
-  {
-    Vector items = new Vector();
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      if (xsdSchema.getAttributeGroupDefinitions() != null)
-      {
-        Iterator i = xsdSchema.getAttributeGroupDefinitions().iterator();
-        while (i.hasNext())
-        {
-          XSDAttributeGroupDefinition attributeGroupDefinition = (XSDAttributeGroupDefinition) i.next();
-          String name = attributeGroupDefinition.getQName(xsdSchema);
-          if (name != null)
-          {
-            items.add(name);
-          }
-        }
-      }
-      //      items = addExternalImportedAttributeGroups(items);
-      items = (Vector) sortList(items);
-    }
-    return items;
-  }
-
-  public String getGlobalAttributeGroup(XSDSchema relativeComponent)
-  {
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      if (xsdSchema.getAttributeGroupDefinitions() != null)
-      {
-        Iterator i = xsdSchema.getAttributeGroupDefinitions().iterator();
-        while (i.hasNext()) // just get the first one
-        {
-          XSDAttributeGroupDefinition attributeGroupDefinition = (XSDAttributeGroupDefinition) i.next();
-          if (attributeGroupDefinition.getQName(relativeComponent) != null)
-          {
-            return attributeGroupDefinition.getQName(relativeComponent);
-          }
-        }
-      }
-
-      Vector items = new Vector();
-      items = addExternalImportedAttributeGroups(items);
-      if (items != null && items.size() > 0)
-      {
-        return items.get(0).toString();
-      }
-    }
-    return null; // for disabling menu
-  }
-
-  public java.util.List getModelGroups()
-  {
-    Vector items = new Vector();
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      if (xsdSchema.getModelGroupDefinitions() != null)
-      {
-        Iterator i = xsdSchema.getModelGroupDefinitions().iterator();
-        while (i.hasNext())
-        {
-          XSDModelGroupDefinition modelGroupDefinition = (XSDModelGroupDefinition) i.next();
-          String name = modelGroupDefinition.getQName(xsdSchema);
-          if (name != null)
-          {
-            items.add(name);
-          }
-        }
-      }
-      //      items = addExternalImportedGroups(items);
-      items = (Vector) sortList(items);
-    }
-    return items;
-  }
-
-  public static java.util.List sortList(java.util.List types)
-  {
-    try
-    {
-      java.util.Collections.sort(types); // performance?  n*log(n)
-    }
-    catch (Exception e)
-    {
-//      XSDEditorPlugin.getPlugin().getMsgLogger().write("Sort failed");
-    }
-    return types;
-  }
-
-  public String getModelGroup(XSDSchema relativeComponent)
-  {
-    if (xsdSchema != null)
-    {
-      updateExternalImportGlobals();
-      if (xsdSchema.getModelGroupDefinitions() != null)
-      {
-        Iterator i = xsdSchema.getModelGroupDefinitions().iterator();
-        while (i.hasNext()) // just get the first one
-        {
-          XSDModelGroupDefinition modelGroupDefinition = (XSDModelGroupDefinition) i.next();
-          if (modelGroupDefinition.getQName(relativeComponent) != null)
-          {
-            return modelGroupDefinition.getQName(relativeComponent);
-          }
-        }
-      }
-
-      Vector items = new Vector();
-      items = addExternalImportedGroups(items);
-      if (items != null && items.size() > 0)
-      {
-        return items.get(0).toString();
-      }
-    }
-    return null; // for disabling menu
-  }
-
-  public void updateMapAfterDelete(XSDImport deletedNode)
-  {
-    String ns = deletedNode.getNamespace();
-    if (ns != null)
-    {
-      String prefix = getPrefix(ns, false);
-      if (prefix != null)
-      {
-        prefix = prefix.trim();
-      }
-      String xmlnsAttr = (prefix == "") ? "xmlns" : "xmlns:" + prefix;
-
-      if (prefix == "")
-      {
-        prefix = null;
-      }
-
-      if (xsdSchema != null)
-      {
-        Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-        map.remove(prefix);
-        Element schemaElement = xsdSchema.getElement();
-        schemaElement.removeAttribute(xmlnsAttr);
-      }
-    }
-  }
-
-  public List getPrefixedNames(String namespace, String localName)
-  {
-    List list = new ArrayList();
-    if (namespace == null)
-    {
-      namespace = "";    			
-    }
-    if (xsdSchema != null && localName != null)
-    {
-      List prefixes = getPrefixesForNamespace(namespace);
-      for (Iterator i = prefixes.iterator(); i.hasNext(); )
-      {
-      	String prefix = (String)i.next();
-      	if (prefix == null) prefix = "";
-        String prefixedName = prefix.length() > 0 ? prefix + ":" + localName : localName;
-        list.add(prefixedName);               
-      }
-      if (prefixes.size() == 0)
-      {
-        list.add(localName);
-      }
-    }
-    return list;
-  }
-  
-  protected List getPrefixesForNamespace(String namespace)
-  {
-    List list = new ArrayList();
-    Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-    boolean atLeastOnePrefixFound = false;
-    for (Iterator iter = map.keySet().iterator(); iter.hasNext();)
-    {
-      String prefix = (String) iter.next();
-      Object value = map.get(prefix);
-      if (value != null && value.toString().equals(namespace))
-      {
-       list.add(prefix);
-      }
-    }
-    return list;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/ViewUtility.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/ViewUtility.java
deleted file mode 100644
index 3e71a8a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/ViewUtility.java
+++ /dev/null
@@ -1,429 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-
-public class ViewUtility
-{
-  private static Font font;
-
-  public static Font getFont()
-  {
-    if (font == null)
-    {              
-      font = new Font(Display.getCurrent(), "ms sans serif", 8, SWT.NORMAL);  
-    }
-    return font;
-  }
-
-  public static void setFont(Font newFont)
-  {
-    font = newFont;
-  }
-
-  public static void setComposite(Composite comp)
-  {
-    // deprecated.  Remove later
-  }
-  public static Composite createComposite(Composite parent, int numColumns)
-  {
-    Composite composite = new Composite(parent, SWT.NONE);
-
-    composite.setFont(getFont());
-
-    GridLayout layout = new GridLayout();
-    layout.numColumns = numColumns;
-    composite.setLayout(layout);
-
-    GridData data = new GridData();
-    data.verticalAlignment = GridData.FILL;
-    data.horizontalAlignment = GridData.FILL;
-    composite.setLayoutData(data);
-    return composite;
-  }
-
-  public static Composite createComposite(Composite parent, int numColumns, boolean horizontalFill)
-  {
-    if (!horizontalFill)
-    {
-      createComposite(parent, numColumns);
-    }
-
-    Composite composite = new Composite(parent, SWT.NONE);
-
-    composite.setFont(getFont());
-
-    GridLayout layout = new GridLayout();
-    layout.numColumns = numColumns;
-    composite.setLayout(layout);
-
-    GridData data = new GridData();
-    data.verticalAlignment = GridData.FILL;
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    composite.setLayoutData(data);
-
-    return composite;
-  }
-
-  public static Composite createComposite(Composite parent, int numColumns, boolean horizontalFill, boolean verticalFill)
-  {
-    if (!horizontalFill && !verticalFill)
-    {
-      createComposite(parent, numColumns);
-    }
-
-    Composite composite = new Composite(parent, SWT.NONE);
-
-    composite.setFont(getFont());
-
-    GridLayout layout = new GridLayout();
-    layout.numColumns = numColumns;
-    composite.setLayout(layout);
-
-    GridData data = new GridData();
-    data.verticalAlignment = GridData.FILL;
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    data.grabExcessVerticalSpace = true;
-    composite.setLayoutData(data);
-
-    return composite;
-  }
-
-  public static Label createHorizontalFiller(Composite parent, int horizontalSpan) 
-  {
-    Label label = new Label(parent, SWT.LEFT);
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.horizontalSpan = horizontalSpan;
-    label.setLayoutData(data);
-    return label;
-  }
-
-  /**
-   * Helper method for creating labels.
-   */
-  public static Label createLabel(Composite parent, String text) 
-  {
-    Label label = new Label(parent, SWT.LEFT);
-    label.setText(text);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    label.setLayoutData(data);
-    return label;
-  }
-
-	public Label createLabel(Composite parent, int style, String text)
-	{
-		Label label = new Label(parent, style);
-//		setColor(label);
-		label.setText(text);
-
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		return label;
-	}
-  
-  public static Label createLabel(Composite parent, String text, int alignment)
-  {
-    Label label = new Label(parent, SWT.LEFT);
-    label.setText(text);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.verticalAlignment = alignment;
-    label.setLayoutData(data);
-    return label;
-  }
-
-  /**
-   * Helper method for creating buttons.
-   */
-  public static Button createPushButton(Composite parent, String label) 
-  {
-    Button button = new Button(parent, SWT.PUSH);
-    button.setText(label);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    button.setLayoutData(data);
-
-    return button;
-  }
-
-  public static Table createTable(Composite parent)
-  {
-    Table table = new Table(parent, SWT.SINGLE | SWT.BORDER);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    table.setLayoutData(data);
-
-    return table;
-  }
-
-  /**
-   * Create radio button
-   */
-  public static Button createRadioButton(Composite parent, String label)
-  {
-    Button button = new Button(parent, SWT.RADIO);
-    button.setText(label);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    button.setLayoutData(data);
-
-    return button;
-  }
-
-  /**
-   * Helper method for creating check box
-   */
-  public static Button createCheckBox(Composite parent, String label) 
-  {
-    Button button = new Button(parent, SWT.CHECK);
-    button.setText(label);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    button.setLayoutData(data);
-    return button;
-  }
-
-  public static Combo createComboBox(Composite parent)
-  {
-    return createComboBox(parent, true);
-  }
-
-  public static Combo createComboBox(Composite parent, boolean isReadOnly)
-  {
-    int style = isReadOnly == true ? SWT.READ_ONLY : SWT.DROP_DOWN;
-
-    Combo combo = new Combo(parent, style);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    combo.setLayoutData(data);
-    return combo;
-  }
-
-  public static List createListBox(Composite parent, int width, boolean isMultiSelect)
-  {
-    int style = isMultiSelect ? SWT.MULTI : SWT.SINGLE;
-    List list = new List(parent, style | SWT.BORDER);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    data.widthHint = width;
-    list.setLayoutData(data);
-
-    return list;
-  }
-
-  public static List createListBox(Composite parent, int style)
-  {
-    List list = new List(parent, style);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.verticalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    data.grabExcessVerticalSpace = true;
-    list.setLayoutData(data);
-
-    return list;
-  }
-
-	public Text createTextField(Composite parent)
-	{
-		Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		text.setLayoutData(data);
-//		text.addKeyListener(keyboardHandler);
-		return text;
-	}
-  
-  public static Text createTextField(Composite parent, int width)
-  {
-    Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    data.widthHint = width;
-    text.setLayoutData(data);
-
-    return text;
-  }
-
-  /**
-   * <code>createWrappedMultiTextField</code> creates a wrapped multitext field
-   *
-   * @param parent a <code>Composite</code> value
-   * @param width an <code>int</code> value
-   * @param numLines an <code>int</code> value representing number of characters in height
-   * @param verticalFill a <code>boolean</code> value
-   * @return a <code>Text</code> value
-   */
-  public static Text createWrappedMultiTextField(Composite parent, int width, int numLines, boolean verticalFill)
-  {
-    Text text = new Text(parent, SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    if (verticalFill)
-    {
-      data.verticalAlignment = GridData.FILL;
-      data.grabExcessVerticalSpace = true;
-    }      
-    data.widthHint = width;
-    FontData[] fontData = getFont().getFontData();
-    // hack for now where on Windows, only 1 fontdata exists
-    data.heightHint = numLines * fontData[0].getHeight();
-    text.setLayoutData(data);
-
-    return text;
-  }
-
-  public static Text createMultiTextField(Composite parent, int width, int height, boolean verticalFill)
-  {
-    Text text = new Text(parent, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    if (verticalFill)
-    {
-      data.verticalAlignment = GridData.FILL;
-      data.grabExcessVerticalSpace = true;
-    }      
-    data.widthHint = width;
-    data.heightHint = height;
-    text.setLayoutData(data);
-
-    return text;
-  }
-
-  public static Group createGroup(Composite parent, int numColumns, String text, boolean verticalFill) 
-  {
-    Group group = new Group(parent, SWT.SHADOW_ETCHED_IN);
-    group.setText(text);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    if (verticalFill)
-    {
-      data.verticalAlignment = GridData.FILL;
-      data.grabExcessVerticalSpace = true;
-    }      
-    group.setLayoutData(data);
-
-    GridLayout layout = new GridLayout();
-    layout.numColumns = numColumns;
-    group.setLayout(layout);
-    return group;
-  }
-
- public static Group createGroup(Composite parent, int numColumns, String text, boolean verticalFill, int alignment) 
-  {
-    Group group = new Group(parent, SWT.SHADOW_ETCHED_IN);
-    group.setText(text);
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.grabExcessHorizontalSpace = true;
-    data.verticalAlignment = alignment;
-    if (verticalFill)
-    {
-      data.verticalAlignment = GridData.FILL;
-      data.grabExcessVerticalSpace = true;
-    }      
-    group.setLayoutData(data);
-
-    GridLayout layout = new GridLayout();
-    layout.numColumns = numColumns;
-    group.setLayout(layout);
-    return group;
-  }
-
-  public static Label createVerticalFiller(Composite parent, int verticalSpan) 
-  {
-    Label label = new Label(parent, SWT.LEFT);
-    label.setFont(getFont());
-
-    GridData data = new GridData();
-    data.verticalAlignment = GridData.FILL;
-    data.verticalSpan = verticalSpan;
-    label.setLayoutData(data);
-
-    return label;
-  }
-
-  /**
-   * Creates a grid data object that occupies vertical and horizontal
-   * space.
-   */
-  static public GridData createFill()
-  {
-    GridData gd= new GridData();
-    gd.horizontalAlignment= GridData.FILL;
-    gd.grabExcessHorizontalSpace= true;
-    gd.verticalAlignment= GridData.FILL;
-    gd.grabExcessVerticalSpace= true;
-    return gd;
-  }
-  /**
-   * Creates a grid data object that occupies horizontal space.
-   */
-  static public GridData createHorizontalFill()
-  {
-    GridData gd= new GridData();
-    gd.horizontalAlignment= GridData.FILL;
-    gd.grabExcessHorizontalSpace= true;
-    return gd;
-  }
-  /**
-   * Creates a grid data object that occupies vertical space.
-   */
-  static public GridData createVerticalFill()
-  {
-    GridData gd= new GridData();
-    gd.verticalAlignment= GridData.FILL;
-    gd.grabExcessVerticalSpace= true;
-    return gd;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java
deleted file mode 100644
index 4c84c36..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java
+++ /dev/null
@@ -1,1103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.util;
-
-import org.eclipse.wst.sse.core.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.XMLModel;
-import org.eclipse.wst.xml.core.document.XMLNode;
-import org.eclipse.wst.xml.core.format.FormatProcessorXML;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-public class XSDDOMHelper
-{
-  public static final int LENGTH_FACET        =  1;
-  public static final int MIN_LENGTH_FACET    =  2;
-  public static final int MAX_LENGTH_FACET    =  3;
-  public static final int PATTERN_FACET       =  4;
-  public static final int ENUM_FACET          =  5;
-  public static final int WHITE_SPACE_FACET   =  6;
-
-  public static final int MAX_INCLUSIVE_FACET =  7;
-  public static final int MAX_EXCLUSIVE_FACET =  8;
-  public static final int MIN_INCLUSIVE_FACET =  9;
-  public static final int MIN_EXCLUSIVE_FACET =  10;
-
-  public static final int TOTAL_DIGITS_FACET     = 11;
-  public static final int FRACTION_DIGITS_FACET  = 12;
-
-  public static final int N_FACETS            = 13;
-
-  public static String[][] dataType =
-  {
-    //
-    // Table format:
-    // Type
-    //  Length, MinLength, MaxLength, Pattern, Enumeration,whiteSpace
-    //  MaxInclusive, MaxExclusive, MinInclusive, MinExclusive, TotalDigits, FractionDigits
-    //
-
-    // 0
-    { "anySimpleType",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 1
-    { "anyType",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-
-    // 2
-    { "anyURI",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 3
-    { "base64Binary",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 4
-    { "boolean",
-        "N", "N", "N", "Y", "N", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 5
-    { "byte",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 6
-    { "date",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 7
-    { "dateTime",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 8
-    { "decimal",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-
-    // 9
-    { "double",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 10
-    { "duration",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 11
-    { "ENTITY",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 12
-    { "ENTITIES",
-        "Y", "Y", "Y", "N", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 13
-    { "float",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 14
-    { "gDay",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 15
-    { "gMonth",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 16
-    { "gMonthDay",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 17
-    { "gYear",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 18
-    { "gYearMonth",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 19
-    { "hexBinary",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 20
-    { "ID",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 21
-    { "IDREF",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 22
-    { "IDREFS",
-        "Y", "Y", "Y", "N", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 23
-    { "int",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 24
-    { "integer",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 25
-    { "language",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 26
-    { "long",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 27
-    { "Name",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-
-    // 28
-    { "NCName",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 29
-    { "negativeInteger",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 30
-    { "NMTOKEN",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 31
-    { "NMTOKENS",
-        "Y", "Y", "Y", "N", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 32
-    { "nonNegativeInteger",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 33
-    { "nonPositiveInteger",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 34
-    { "normalizedString",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-
-    },
-
-    // 35
-    { "NOTATION",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-
-    },
-
-    // 36
-    { "positiveInteger",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 37
-    { "QName",
-        "N", "N", "N", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 38
-    { "short",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 39
-    { "string",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 40
-    { "time",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "N", "N",
-    },
-
-    // 41
-    { "token",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-        "N", "N", "N", "N", "N", "N",
-    },
-
-    // 42
-    { "unsignedByte",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 43
-    { "unsignedInt",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 44
-    { "unsignedLong",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-    // 45
-    { "unsignedShort",
-        "N", "N", "N", "Y", "Y", "Y",
-        "Y", "Y", "Y", "Y", "Y", "Y",
-    },
-
-  };
-
-  public static String XMLSchemaURI = "http://www.w3.org/2001/XMLSchema";
-
-  /**
-   * Constructor for XSDDOMHelper.
-   */
-  public XSDDOMHelper()
-  {
-    super();
-  }
-
-  public Node getChildNode(Element parent, String childName)
-  {
-/*    NodeList nodeList = parent.getElementsByTagNameNS(XMLSchemaURI, childName);
-    if (nodeList.getLength() > 0)
-      return nodeList.item(0);
-    return null;
-*/
-    NodeList list = null;
-    if (parent != null)
-    {
-      list = parent.getChildNodes();
-    }
-   
-    String name = null;
-    if (list != null)
-    {
-      // Performance issue perhaps?
-      for (int i = 0; i < list.getLength(); i++)
-      {
-        if (list.item(i) instanceof Element)
-        {
-          if (list.item(i).getLocalName().equals(childName))
-          {
-            return list.item(i);
-          }
-        }
-      }
-    }
-    return null;
-  }
-
-  public static String SIMPLE_TYPE = "Simple";
-  public static String USER_SIMPLE_TYPE = "simpleType";
-  public static String USER_COMPLEX_TYPE = "complexType";
-/*
-  public void setElementType(Element element, String type)
-  {
-    Document doc = element.getOwnerDocument();
-    if (type.equals(SIMPLE_TYPE))
-    {
-      removeChild(element, USER_SIMPLE_TYPE);
-      removeChild(element, USER_COMPLEX_TYPE);
-      element.setAttribute("type","xsd:string");
-      return;
-    }
-    else if (type.equals(USER_SIMPLE_TYPE))
-    {
-      removeChild(element, USER_COMPLEX_TYPE);
-    }
-    else
-    {
-      removeChild(element, USER_SIMPLE_TYPE);
-    }
-    element.removeAttribute("type");
-    element.appendChild(doc.createElement("xsd:"+type));
-  }
-
-  public String getElementType(Element element)
-  {
-    String tagName = element.getLocalName();
-
-    if (tagName.equals(XSDConstants.ELEMENT_ELEMENT_TAG) ||
-        tagName.equals(XSDConstants.ATTRIBUTE_ELEMENT_TAG))
-    {
-      if (element.hasAttribute("type"))
-      {
-        return SIMPLE_TYPE;
-      }
-      NodeList nodes = element.getElementsByTagNameNS(XMLSchemaURI, USER_SIMPLE_TYPE);
-      if (nodes.getLength() > 0)
-      {
-        return USER_SIMPLE_TYPE;
-      }
-      nodes = element.getElementsByTagNameNS(XMLSchemaURI, USER_COMPLEX_TYPE);
-      if (nodes.getLength() > 0)
-      {
-        return USER_COMPLEX_TYPE;
-      }
-    }
-    return "";
-  }
-*/
-  public void removeDerivedByElement(Element element)
-  {
-    removeChild(element, XSDConstants.RESTRICTION_ELEMENT_TAG);
-    removeChild(element, XSDConstants.EXTENSION_ELEMENT_TAG);
-  }
-
-  public String getBaseType(Element element) // for SimpleContent and ComplexContent
-  {
-    Node restrictionChild = getChildNode(element, "restriction");
-    Node extensionChild = getChildNode(element, "extension");
-    String baseType = "";
-    if (restrictionChild != null)
-    {
-      if (restrictionChild instanceof Element)
-      {
-        baseType = ((Element)restrictionChild).getAttribute("base");
-//        String prefix = element.getPrefix();
-//        if (prefix != null && prefix.length() > 0)
-//        {
-//          baseType = baseType.substring(baseType.indexOf(prefix) + prefix.length() + 1);
-//        }
-      }
-    }
-    else if (extensionChild != null) // should be one or the other
-    {
-      if (extensionChild instanceof Element)
-      {
-        baseType = ((Element)extensionChild).getAttribute("base");
-//        String prefix = element.getPrefix();
-//        if (prefix != null && prefix.length() > 0)
-//        {
-//          baseType = baseType.substring(baseType.indexOf(prefix) + prefix.length() + 1);
-//        }
-      }
-    }
-    return baseType;
-  }
-
-  public void setDerivedByBaseType(Element element, String derivedByType, String type)
-  {
-    Document doc = element.getOwnerDocument();
-
-    Element derivedByElement = getDerivedByElement(element);
-    if (derivedByElement != null)
-    {
-      derivedByElement.setAttribute("base", type);
-    }
-    else  // there really should be one already...base is required.
-    {
-      Element newElement = doc.createElement(derivedByType);
-      newElement.setAttribute("base", type);
-      element.appendChild(newElement);
-    }
-  }
-
-  public void changeDerivedByType(Element element, String derivedByType, String type)
-  {
-    Document doc = element.getOwnerDocument();
-
-    String prefix = element.getPrefix();
-    prefix = prefix == null ? "" : prefix + ":";
-
-    Element derivedByElement = getDerivedByElement(element);
-    
-    if (derivedByElement.getLocalName().equals(derivedByType))
-    {
-    	return; // it's already the derived by type
-    }
-    Element newNode;
-  	if (derivedByType.equals("restriction"))
-  	{
-    	newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + XSDConstants.RESTRICTION_ELEMENT_TAG);
-    }
-    else
-    {
-    	newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + XSDConstants.EXTENSION_ELEMENT_TAG);
-    }
-
-    if (derivedByElement != null)
-    {
-      if (derivedByElement.hasChildNodes())
-      {        
-        NodeList nodes = derivedByElement.getChildNodes();
-        // use clones so we don't have a refresh problem
-        for (int i = 0; i < nodes.getLength(); i++)
-        {
-          Node node = nodes.item(i);       
-          newNode.appendChild(node.cloneNode(true));
-        }
-      }
-      newNode.setAttribute("base", type);
-      element.replaceChild(newNode, derivedByElement);
-
-    }
-  }
-
-  public void setSimpleContentType(Element element, String type)
-  {
-    String contentTypeName = element.getLocalName();
-
-    if (contentTypeName.equals(XSDConstants.UNION_ELEMENT_TAG))
-    {
-      element.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, type);
-    }
-    else if (contentTypeName.equals(XSDConstants.LIST_ELEMENT_TAG))
-    {
-      element.setAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, type);
-    }
-    else if (contentTypeName.equals(XSDConstants.RESTRICTION_ELEMENT_TAG))
-    {
-      element.setAttribute(XSDConstants.BASE_ATTRIBUTE, type);
-    }
-  }
-
-  public void removeSimpleTypeContent(Element element)
-  {
-    String contentTypeName = element.getLocalName();
-    if (contentTypeName.equals(XSDConstants.UNION_ELEMENT_TAG))
-    {
-      element.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-    }
-    else if (contentTypeName.equals(XSDConstants.LIST_ELEMENT_TAG))
-    {
-      element.removeAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
-    }
-    else if (contentTypeName.equals(XSDConstants.RESTRICTION_ELEMENT_TAG))
-    {
-      element.removeAttribute(XSDConstants.BASE_ATTRIBUTE);
-    }
-  }
-
-  public String getDerivedByName(Element element)
-  {
-    Node restrictionChild = getChildNode(element, "restriction");
-    Node extensionChild = getChildNode(element, "extension");
-    if (restrictionChild != null)
-    {
-      return "restriction";
-    }
-    if (extensionChild != null)
-    {
-      return "extension";
-    }
-    return "";
-  }
-
-  /**
-   * Get the derived by node given the complexContent or simpleContent node
-   */
-  public Element getDerivedByElement(Element element)
-  {
-    Node restrictionChild = getChildNode(element, "restriction");
-    Node extensionChild = getChildNode(element, "extension");
-    if (restrictionChild != null)
-    {
-      if (restrictionChild instanceof Element)
-      {
-        return (Element)restrictionChild;
-      }
-    }
-    
-    if (extensionChild != null)
-    {
-      if (extensionChild instanceof Element)
-      {
-        return (Element)extensionChild;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Get the derived by node given the ComplexType node
-   * Returns the first one, if say, the INVALID schema has more than one
-   */
-  public Element getDerivedByElementFromComplexType(Element element)
-  {
-    NodeList nl = element.getChildNodes();
-    int childNumber = 0;
-    int j = 0;
-    for (j = 0; j < nl.getLength(); j++)
-    {
-      Node aNode = nl.item(j);
-      if (inputEquals(aNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-      {
-        break; 
-      }
-      else if (inputEquals(aNode, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-      {
-        break;
-      }
-    }
-    Element derivedByNode = getDerivedByElement((Element)nl.item(j));
-    return derivedByNode;
-  }
-
-  /**
-   * Get the content model given the ComplexType node
-   * Returns the first one, if say, the INVALID schema has more than one
-   */
-  public Element getContentModelFromParent(Element element)
-  {
-    NodeList nl = element.getChildNodes();
-    int childNumber = 0;
-    int j = 0;
-    boolean modelExists = false;
-    int length = nl.getLength();
-    for (j = 0; j < length; j++)
-    {
-      Node aNode = nl.item(j);
-      if (inputEquals(aNode, XSDConstants.COMPLEXCONTENT_ELEMENT_TAG, false))
-      {
-        modelExists = true;
-        break; 
-      }
-      else if (inputEquals(aNode, XSDConstants.SIMPLECONTENT_ELEMENT_TAG, false))
-      {
-        modelExists = true;
-        break;
-      }
-      else if (inputEquals(aNode, XSDConstants.SEQUENCE_ELEMENT_TAG, false))
-      {
-        modelExists = true;
-        break;
-      }
-      else if (inputEquals(aNode, XSDConstants.CHOICE_ELEMENT_TAG, false))
-      {
-        modelExists = true;
-        break;
-      }
-      else if (inputEquals(aNode, XSDConstants.ALL_ELEMENT_TAG, false))
-      {
-        modelExists = true;
-        break;
-      }
-    }
-    if (!modelExists)
-    {
-      return null;
-    }
-
-    Element derivedByNode = (Element)nl.item(j);
-    return derivedByNode;
-  }
-
-  /**
-   * 
-   */
-  public void changeContentModel(Element complexTypeElement, String contentModel, Element sequenceChoiceOrAllElement)
-  {
-    Document doc = complexTypeElement.getOwnerDocument();
-
-    String prefix = complexTypeElement.getPrefix();
-    prefix = prefix == null ? "" : prefix + ":";
-    
-    Element contentModelElement = getContentModelFromParent(complexTypeElement);
-
-    if (contentModelElement.getLocalName().equals(contentModel))
-    {
-      return; // it's already the content model 
-    }
-    Element newNode;
-    newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + contentModel);
-
-    if (contentModelElement.hasChildNodes())
-    {        
-      NodeList nodes = contentModelElement.getChildNodes();
-      // use clones so we don't have a refresh problem
-      for (int i = 0; i < nodes.getLength(); i++)
-      {
-        Node node = nodes.item(i);
-        if (node instanceof Element)
-        {
-          if (node.getLocalName().equals(XSDConstants.ANNOTATION_ELEMENT_TAG))
-          {
-            if (!(XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.SEQUENCE_ELEMENT_TAG, false) ||
-                XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.CHOICE_ELEMENT_TAG, false) ||
-                XSDDOMHelper.inputEquals(contentModelElement, XSDConstants.ALL_ELEMENT_TAG, false)))
-            {
-              newNode.appendChild(node.cloneNode(true));
-            }
-          }
-          else if (node.getLocalName().equals(XSDConstants.RESTRICTION_ELEMENT_TAG) ||
-                    node.getLocalName().equals(XSDConstants.EXTENSION_ELEMENT_TAG))
-          {
-            newNode.appendChild(node.cloneNode(true));
-            if (sequenceChoiceOrAllElement != null)
-            {
-              node.appendChild(sequenceChoiceOrAllElement);
-            }
-          }
-          else
-          {
-            removeNodeAndWhitespace(node);
-          }
-        }
-        else
-        {
-          newNode.appendChild(node.cloneNode(true)); 
-        }
-      }
-    }
-    complexTypeElement.replaceChild(newNode, contentModelElement);
-  }
-
-  public Element cloneElement(Element parent, Element sourceNode)
-  {
-    Document doc = parent.getOwnerDocument();
-    String prefix = parent.getPrefix();
-    prefix = prefix == null ? "" : prefix + ":";
-    
-    Element newNode = doc.createElementNS(XSDDOMHelper.XMLSchemaURI, prefix + sourceNode.getLocalName());
-
-    if (sourceNode.hasChildNodes())
-    {        
-      NodeList nodes = sourceNode.getChildNodes();
-      // use clones so we don't have a refresh problem
-      for (int i = 0; i < nodes.getLength(); i++)
-      {
-        Node node = nodes.item(i);
-        newNode.appendChild(node.cloneNode(true));
-      }
-    }
-    return newNode;
-//    parent.replaceChild(newNode, sourceNode);
-  }
-
-  public boolean hasElementChildren(Element parentNode)
-  {
-    boolean hasChildrenElements = false;
-    if (parentNode != null && parentNode.hasChildNodes())
-    {
-      NodeList nodes = parentNode.getChildNodes();
-      for (int i = 0; i < nodes.getLength(); i++)
-      {
-        if (nodes.item(i) instanceof Element)
-        {
-          hasChildrenElements = true;
-          break;
-        }
-      }
-    }
-    return hasChildrenElements;
-  }
-
-  public void removeChild(Element node, String childName)
-  {
-    Node child = getChildNode(node,childName);
-    if (child != null)
-    {
-      node.removeChild(child);
-    }
-  }
-
-  public static boolean isFacet(Object obj)
-  {
-    if (XSDDOMHelper.inputEquals(obj, XSDConstants.LENGTH_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(obj, XSDConstants.MINLENGTH_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(obj, XSDConstants.MAXLENGTH_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(obj, XSDConstants.WHITESPACE_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(obj, XSDConstants.MAXINCLUSIVE_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(obj, XSDConstants.MAXEXCLUSIVE_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(obj, XSDConstants.MININCLUSIVE_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(obj, XSDConstants.MINEXCLUSIVE_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(obj, XSDConstants.TOTALDIGITS_ELEMENT_TAG, false) ||
-        XSDDOMHelper.inputEquals(obj, XSDConstants.FRACTIONDIGITS_ELEMENT_TAG, false))
-    {
-      return true;
-    }
-    return false;
-  }
-
-  public static void removeNodeAndWhitespace(Node node)
-  {
-    Node parentNode = node.getParentNode();
-    
-    Node nextElement = getNextElementNode(node);
-    Node previousElement = getPreviousElementNode(node);
-
-    Node nextSibling = node.getNextSibling();
-    if (nextSibling instanceof Text)
-    {
-      parentNode.removeChild(nextSibling);
-    }
-    Node previousSibling = node.getPreviousSibling();
-
-		parentNode.removeChild(node);
-
-    if (nextElement != null)
-    {
-			formatChild(nextElement);
-    }
-
-		if (previousElement != null)
-		{
-			formatChild(previousElement);
-		}
-  }
-
-	public static void formatChild(Node child)
-	{
-    if (child instanceof XMLNode)
-    {
-      XMLModel model = ((XMLNode)child).getModel();
-      try
-      {
-        // tell the model that we are about to make a big model change
-        model.aboutToChangeModel();
-        
-	      IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
-		    formatProcessor.formatNode(child);
-      }
-      finally
-      {
-        // tell the model that we are done with the big model change
-        model.changedModel(); 
-      }
-    }
-  }
-  
-  public static Node getLastElementNode(Node parent)
-  {
-    Node lastChild = parent.getLastChild();
-    
-    while (!(lastChild instanceof Element) && lastChild != null)
-    {
-      lastChild = lastChild.getPreviousSibling();
-    }
-    return lastChild;
-  }
-
-  public static Node getNextElementNode(Node node)
-  {
-    Node next = node.getNextSibling();
-    
-    while (!(next instanceof Element) && next != null)
-    {
-      next = next.getNextSibling();
-    }
-    if (next instanceof Text)
-    {
-    	return null;
-    }
-    return next;
-  }
-
-	public static Node getPreviousElementNode(Node node)
-	{
-		Node previous = node.getPreviousSibling();
-    
-		while (!(previous instanceof Element) && previous != null)
-		{
-			previous = previous.getPreviousSibling();
-		}
-    if (previous instanceof Text)
-    {
-      return null;
-    }
-    return previous;
-	}
-
-  public static void moveNode(Node referenceNode, Node nodeToMove, boolean isBefore)
-  {
-    // this assumes that the referenceNode and node to move have the same parent
-    Node parent = referenceNode.getParentNode();
-
-    // Get reference nodes next and previous text strings
-    String referenceNodeNextString = "";
-    String referenceNodePreviousString = "";
-    if (referenceNode != null)
-    {
-      Node referenceNodeNextSibling = referenceNode.getNextSibling();
-      Node referenceNodePreviousSibling = referenceNode.getPreviousSibling();
-      if (referenceNodeNextSibling instanceof Text)
-      {
-        referenceNodeNextString = ((Text)referenceNodeNextSibling).getData();
-      }
-      if (referenceNodePreviousSibling instanceof Text)
-      {
-        referenceNodePreviousString = ((Text)referenceNodePreviousSibling).getData();
-      }
-    }
-    // Get the dragged node's next and previous text strings
-    Node nodeToMoveNextSibling = nodeToMove.getNextSibling();
-    Node nodeToMovePreviousSibling = nodeToMove.getPreviousSibling();
-    Node nodeToMoveNextText = null;
-    String nodeToMoveNextString = "";
-    String nodeToMovePreviousString = "";
-    if (nodeToMoveNextSibling instanceof Text)
-    {
-      nodeToMoveNextText = (Text)nodeToMoveNextSibling;
-      nodeToMoveNextString = ((Text)nodeToMoveNextSibling).getData();
-    }
-    if (nodeToMovePreviousSibling instanceof Text)
-    {
-      nodeToMovePreviousString = ((Text)nodeToMovePreviousSibling).getData();
-    }
-
-    // Get the last element's next and previous text strings
-    Node lastElement = getLastElementNode(parent);
-    Node lastElementNextSibling = lastElement.getNextSibling();
-    Node lastElementPreviousSibling = lastElement.getPreviousSibling();
-    String lastElementNextString = "";
-    String lastElementPreviousString = "";		
-    if (lastElementNextSibling instanceof Text)
-    {
-      lastElementNextString = ((Text)lastElementNextSibling).getData();
-    }
-    if (lastElementPreviousSibling instanceof Text)
-    {
-      lastElementPreviousString = ((Text)lastElementPreviousSibling).getData();
-    }
-
-    boolean isLastElement = false; // whether the last element is dragged/moved
-    if (lastElement == nodeToMove)
-    {
-      isLastElement = true;
-    }
-		
-    // defect 221056 this test is required or else the node will
-    // be removed from the tree and the insert will fail
-    if (referenceNode != nodeToMove)
-    {
-      parent.removeChild(nodeToMove);
-      if (referenceNode != null)
-      {
-        if (!isBefore)
-        {
-          referenceNode = getNextElementNode(referenceNode);
-//        referenceNode = referenceNode.getNextSibling();
-        }
-      }
-
-      if (referenceNode != null)
-      {
-        insertBefore(nodeToMove, referenceNode);
-      }
-      else
-      {
-        parent.appendChild(nodeToMove);
-      }
-
-      Node newLastElement = getLastElementNode(parent);
-      if (referenceNode != null)
-      {
-        if (referenceNode != newLastElement) 
-        {
-          if (!isLastElement)
-          {
-            setTextData(referenceNode, nodeToMoveNextString, nodeToMovePreviousString);
-          }
-        }
-        setTextData(nodeToMove, referenceNodeNextString, referenceNodePreviousString);
-      }
-      // Remove the empty space left by the dragged node
-      if (nodeToMoveNextText != null)
-      {
-    	  parent.removeChild(nodeToMoveNextText);
-      }
-      // special case for the last element
-      if ((newLastElement == nodeToMove) || isLastElement)
-      {
-        setTextData(newLastElement, lastElementNextString, lastElementPreviousString);
-      }
-    }
-  }
-
-  public static void setTextData(Node target, String nextText, String previousText)
-  {
-    Node parent = target.getParentNode();
-    Node nextSibling = target.getNextSibling();
-    Node previousSibling = target.getPreviousSibling();
-    if (nextSibling instanceof Text)
-    {
-      ((Text)nextSibling).setData(nextText);	
-    }
-    if (nextSibling == null || nextSibling instanceof Element)
-    {
-      Text textNode = parent.getOwnerDocument().createTextNode("");
-      textNode.setData(nextText);
-      if (nextSibling != null)
-      {
-        parent.insertBefore(textNode, nextSibling);
-      }
-      else
-      {
-        parent.insertBefore(textNode, getNextElementNode(target));
-      }
-    }				
-
-    if (previousSibling instanceof Text)
-    {
-      ((Text)previousSibling).setData(previousText);
-    }
-    if (previousSibling == null || previousSibling instanceof Element)
-    {
-      Text textNode = parent.getOwnerDocument().createTextNode("");
-      textNode.setData(previousText);
-      parent.insertBefore(textNode, target);
-    }				
-  }
-
-  public static void insertBefore(Node nodeToInsert, Node referenceNode)
-  {
-    // this assumes that the referenceNode and node to move have the same parent
-    Node parent = referenceNode.getParentNode();
-
-    Node previousSibling = referenceNode.getPreviousSibling();
-    parent.insertBefore(nodeToInsert, referenceNode);
-  }
-
-  public static boolean inputEquals(Object input, String tagname, boolean isRef)
-  {
-    if (input instanceof Element)
-    {
-      Element element = (Element) input;
-      if (element.getLocalName().equals(tagname))
-      {
-        boolean refPresent = element.hasAttribute("ref");
-
-        return refPresent == isRef;
-      }
-    }
-    return false;
-  }
-
-  public static void updateElementToNotAnonymous(Element element)
-  {
-    if (element != null)
-    {
-      NodeList children = element.getChildNodes();
-      if (children != null)
-      {
-        for (int i = 0; i < children.getLength(); i++)
-        {
-          Node node = (Node)children.item(i);
-          if (node instanceof Element)
-          {
-            if (node.getLocalName().equals(XSDConstants.SIMPLETYPE_ELEMENT_TAG) ||
-                node.getLocalName().equals(XSDConstants.COMPLEXTYPE_ELEMENT_TAG))
-            {
-              XSDDOMHelper.removeNodeAndWhitespace(node);
-              i=0;
-            }
-          }
-        }
-      }
-    }
-  }
-  
-  public static boolean isAttributeRef(Element ct, String attrName, String ns)
-  {
-    NodeList list = ct.getChildNodes();
-    int length = list.getLength();
-    for (int i = 0; i < length; i++)
-    {
-      if (list.item(i) instanceof Element)
-      {
-        Element aChild = (Element)list.item(i);
-        if (aChild.getLocalName().equals(XSDConstants.ATTRIBUTE_ELEMENT_TAG))
-        {
-          if (aChild.hasAttribute(XSDConstants.REF_ATTRIBUTE))
-          {
-            String refValue = aChild.getAttribute(XSDConstants.REF_ATTRIBUTE);
-            if (refValue.equals(attrName))
-            {
-              return true;
-            }
-          }
-        }
-      }
-      
-    }
-    
-    return false;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDSchemaHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDSchemaHelper.java
deleted file mode 100644
index a57e619..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDSchemaHelper.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.util;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-// TODO: KC remove this
-
-public class XSDSchemaHelper
-{
-  /**
-   * Constructor for XSDSchemaHelper.
-   */
-  public XSDSchemaHelper()
-  {
-    super();
-  }
-  
-  public static void updateElement(XSDConcreteComponent concreteComp)
-  {
-    try
-    {
-      concreteComp.updateElement();
-    }
-    catch (Exception e)
-    {
-      for (Iterator containments = concreteComp.eClass().getEAllReferences().iterator(); containments.hasNext(); )
-      {
-        EReference eReference = (EReference)containments.next();
-        if (eReference.isContainment())
-        {
-          if (eReference.isMany())
-          {
-            for (Iterator objects = ((Collection)concreteComp.eGet(eReference)).iterator(); objects.hasNext(); )
-            {
-              XSDConcreteComponent xsdConcreteComponent = (XSDConcreteComponent)objects.next();
-              try
-              {
-                xsdConcreteComponent.updateElement();
-              }
-              catch (Exception ex) {}
-            }
-          }
-          else
-          {
-            XSDConcreteComponent xsdConcreteComponent = (XSDConcreteComponent)concreteComp.eGet(eReference);
-            if (xsdConcreteComponent != null)
-            {
-              try
-              {
-                xsdConcreteComponent.updateElement();
-              }
-              catch (Exception ex) {}
-            }
-          }
-        }
-      }
-    }
-  }    
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/EnumerationsDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/EnumerationsDialog.java
deleted file mode 100644
index eba2c64..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/EnumerationsDialog.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.widgets;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-
-/**
- * Dialog to help define a list of enumerations
- * for a join. This might be replaced once we know how to
- * initiate a drag tracker
- */
-
-public class EnumerationsDialog extends org.eclipse.jface.dialogs.Dialog
-{
-  public EnumerationsDialog(Shell shell)
-  {
-    super(shell);
-  }
-
-  protected void configureShell(Shell shell)
-  {
-    super.configureShell(shell);
-    shell.setText(XSDEditorPlugin.getXSDString("_UI_ENUMERATIONS_DIALOG_TITLE"));
-  }
-
-  protected void buttonPressed(int buttonId)
-  {
-    if (buttonId == Dialog.OK)
-    {
-      text = textField.getText();
-      delimiter = delimiterField.getText();
-      isPreserve = preserveWhitespace.getSelection();
-    }
-    super.buttonPressed(buttonId);
-  }
-
-  private String text, delimiter;
-  private boolean isPreserve;
-  public String getText() { return text; }
-  public String getDelimiter() { return delimiter; }
-  public boolean isPreserveWhitespace() { return isPreserve; }
-
-  private Text textField;
-  private Button preserveWhitespace;
-  private Combo delimiterField;
-  //
-  // Create the controls
-  //
-  public Control createDialogArea(Composite parent)
-  {
-    Control[] tabOrder = new Control[3];
-  	int tabIndex = 0;
-    Composite client = (Composite)super.createDialogArea(parent);
-    GridLayout layout = (GridLayout)client.getLayout();
-    layout.numColumns = 2;
-    client.setLayout(layout); 
-
-    textField = ViewUtility.createWrappedMultiTextField(client, 400, 20, true);
-    GridData gd = (GridData) textField.getLayoutData();
-    gd.horizontalSpan = 2;
-    tabOrder[tabIndex++] = textField;
-
-    ViewUtility.createLabel(client, XSDEditorPlugin.getXSDString("_UI_LABEL_DELIMITER_CHAR"));
-    delimiterField = ViewUtility.createComboBox(client, false);
-    gd = (GridData) delimiterField.getLayoutData();
-    gd.grabExcessHorizontalSpace = false;
-    gd.horizontalAlignment = GridData.BEGINNING;
-    gd.widthHint = 30;
-    tabOrder[tabIndex++] = delimiterField;
-
-    // add default delimiters
-    delimiterField.add(":");
-    delimiterField.add(",");
-    delimiterField.add(" ");
-    // set the current one to be ','
-    delimiterField.setText(",");
-
-    preserveWhitespace = ViewUtility.createCheckBox(client, XSDEditorPlugin.getXSDString("_UI_LABEL_PRESERVE_WHITESPACE"));
-    gd = (GridData) preserveWhitespace.getLayoutData();
-    gd.horizontalSpan = 2;
-    tabOrder[tabIndex++] = preserveWhitespace;
-    
-    client.setTabList(tabOrder);
-
-    return client;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/SetBaseTypeDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/SetBaseTypeDialog.java
deleted file mode 100644
index d054648..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/SetBaseTypeDialog.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.widgets;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-
-public class SetBaseTypeDialog extends Dialog implements SelectionListener
-{
-  protected Combo baseTypeCombo;
-  protected Combo derivedByCombo;
-  protected XSDSchema xsdSchema;
-  protected Element element;  // the complex type element
-  private String type = "";
-  private String derivedByString = "";
-  
-  /**
-   * Constructor for SetBaseTypeDialog.
-   * @param arg0
-   */
-  public SetBaseTypeDialog(Shell arg0, XSDSchema xsdSchema, Element element)
-  {
-    super(arg0);
-    this.xsdSchema = xsdSchema;
-    this.element = element;
-  }
-
-  protected void configureShell(Shell shell)
-  {
-    super.configureShell(shell);
-    shell.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_SET_BASE_TYPE"));
-  }
-
-
-  protected void buttonPressed(int buttonId)
-  {
-    if (buttonId == Dialog.OK)
-    {
-      type = baseTypeCombo.getText();
-      derivedByString = derivedByCombo.getText();
-    }
-    super.buttonPressed(buttonId);
-  }
-  
-  public String getBaseType()
-  {
-    return type;
-  }
-
-  public String getDerivedBy()
-  {
-    return derivedByString;
-  }
-  
-  public void setCurrentBaseType(String type)
-  {
-    this.type = type;
-  }
-  
-  public void setCurrentDerivedBy(String derivedByString)
-  {
-    this.derivedByString = derivedByString;
-  }
-
-  //
-  // Create the controls
-  //
-  public Control createDialogArea(Composite parent)
-  {
-    Composite nameComposite = (Composite)super.createDialogArea(parent);
-    GridLayout layout = (GridLayout)nameComposite.getLayout();
-    layout.numColumns = 2;
-    nameComposite.setLayout(layout); 
-
-    ViewUtility utility = new ViewUtility();
-
-    ViewUtility.createLabel(nameComposite, XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON"));
-    baseTypeCombo = ViewUtility.createComboBox(nameComposite, true); // readonly
-    baseTypeCombo.addSelectionListener(this);
-    
-    ViewUtility.createLabel(nameComposite, XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY")); 
-    derivedByCombo = ViewUtility.createComboBox(nameComposite, true); // readonly
-
-    derivedByCombo.add(XSDConstants.EXTENSION_ELEMENT_TAG);
-    derivedByCombo.add(XSDConstants.RESTRICTION_ELEMENT_TAG);
-    derivedByCombo.setText(derivedByString);
-    initializeBaseTypeCombo();
-
-    if (type.equals(""))
-    {
-      derivedByCombo.setText("");
-      derivedByCombo.setEnabled(false);
-    }
-        
-    return nameComposite;
-  }
-
-  private void initializeBaseTypeCombo()
-  {
-    ArrayList list = new ArrayList();
-    TypesHelper helper = new TypesHelper(xsdSchema);
-
-    String prefix = helper.getPrefix(xsdSchema.getTargetNamespace(), true);
-
-    list.add("");
-    list.addAll(helper.getBuiltInTypeNamesList());
-    list.addAll(helper.getUserSimpleTypeNamesList());
-    list.addAll(helper.getUserComplexTypeNamesList());
-
-    // remove the current CT from the list
-    list.remove(prefix + element.getAttribute("name"));
-
-    baseTypeCombo.removeAll();
-    for (int i = 0; i < list.size(); i++)
-    {
-      baseTypeCombo.add(list.get(i).toString());
-    }
-    baseTypeCombo.setText(type);
-    handleBaseTypeComboChange();
-  }
-  
-  private void handleBaseTypeComboChange()
-  {
-    String tempChoice = baseTypeCombo.getText();
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    if (helper.getBuiltInTypeNamesList().contains(tempChoice) ||
-        helper.getUserSimpleTypeNamesList().contains(tempChoice))
-    {
-      derivedByCombo.setText(XSDConstants.EXTENSION_ELEMENT_TAG);
-      derivedByCombo.setEnabled(false);
-    }
-    else if (helper.getUserComplexTypeNamesList().contains(tempChoice))
-    {
-      derivedByCombo.setEnabled(true); 
-    }
-    else
-    {
-      derivedByCombo.setText("");
-      derivedByCombo.setEnabled(false); 
-    }
-  }
-
-  public void widgetSelected(SelectionEvent e)
-  {
-    if (e.widget == baseTypeCombo)
-    {
-      handleBaseTypeComboChange();
-    }
-    
-  }
-
-  public void widgetDefaultSelected(SelectionEvent e)
-  {
-    
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/TypeSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/TypeSection.java
deleted file mode 100644
index 6a111fb..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/TypeSection.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.widgets;
-
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDSchema;
-
-public class TypeSection
-{
-  /**
-   * Constructor for TypeSection.
-   * @param parent
-   */
-  public TypeSection(Composite parent)
-  {
-  }
-
-  protected Button  simpleType;
-  protected Button  userSimpleType;
-  protected Button  userComplexType;
-  protected Button  noneRadio;
-  protected Combo   typeList;
-  protected Combo   derivedByCombo;
-  protected boolean showUserComplexType = true;
-  protected boolean showUserSimpleType  = true;
-  protected boolean showNone            = false;
-  protected boolean showDerivedBy       = false;
-  protected String  derivedByChoices[]  = { "restriction", "extension" };
-  public final int  NONE                = 1;
-  public final int  BUILT_IN            = 2;
-  public final int  SIMPLE              = 3;
-  public final int  COMPLEX             = 4;
-
-  String            sectionTitle        = XSDEditorPlugin.getXSDString("_UI_LABEL_TYPE_INFORMATION");
-  String            currentObjectUuid   = "";
-
-  /*
-   * @see FlatPageSection#createClient(Composite, WidgetFactory)
-   */
-  public Composite createClient(Composite parent)
-  {
-    //	FlatViewUtility utility = new FlatViewUtility(XSDEditor.isFlatLook());
-    ViewUtility utility = new ViewUtility();
-
-    // Composite client = utility.createComposite(parent, 1);
-    Composite client = new Composite(parent, SWT.NONE);
-    GridLayout gl = new GridLayout(1, true);
-    gl.verticalSpacing = 0;
-    client.setLayout(gl);
-
-    if (showNone)
-    {
-      noneRadio = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_RADIO_NONE"));
-      WorkbenchHelp.setHelp(noneRadio, XSDEditorContextIds.XSDE_TYPE_HELPER_NONE);
-    }
-
-    simpleType = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_RADIO_BUILT_IN_SIMPLE_TYPE"));
-    WorkbenchHelp.setHelp(simpleType, XSDEditorContextIds.XSDE_TYPE_HELPER_BUILT_IN);
-
-    if (showUserSimpleType)
-    {
-      userSimpleType = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_RADIO_USER_DEFINED_SIMPLE_TYPE"));
-      WorkbenchHelp.setHelp(userSimpleType, XSDEditorContextIds.XSDE_TYPE_HELPER_USER_DEFINED_SIMPLE);
-    }
-
-    if (showUserComplexType)
-    {
-      userComplexType = ViewUtility.createRadioButton(client, XSDEditorPlugin.getXSDString("_UI_RADIO_USER_DEFINED_COMPLEX_TYPE"));
-      WorkbenchHelp.setHelp(userComplexType, XSDEditorContextIds.XSDE_TYPE_HELPER_USER_DEFINED_COMPLEX);
-    }
-
-    //	  typeList = utility.createComboBox(client);
-    //	  WorkbenchHelp.setHelp(typeList, XSDEditorContextIds.XSDE_TYPE_HELPER_TYPE);
-    //    utility.createHeadingLabel(client, "Type",null);
-
-    if (showDerivedBy)
-    {
-      Composite derivedByComposite = ViewUtility.createComposite(client, 2);
-      Label derivedByLabel = ViewUtility.createLabel(derivedByComposite, XSDEditorPlugin.getXSDString("_UI_LABEL_DERIVED_BY"));
-      derivedByCombo = ViewUtility.createComboBox(derivedByComposite);
-      populateDerivedByCombo();
-      WorkbenchHelp.setHelp(derivedByCombo, XSDEditorContextIds.XSDE_SIMPLE_CONTENT_DERIVED);
-      derivedByCombo.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_DERIVED_BY"));
-    }
-    // Set the default selection
-    if (showNone)
-    {
-      //		noneRadio.setSelection(true);
-      //		typeList.setEnabled(false);
-    }
-    else
-    {
-      simpleType.setSelection(true);
-    }
-    return client;
-  }
-
-  public void setIsDerivedBy(boolean derive)
-  {
-    if (derive)
-    {
-      sectionTitle = XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE");
-    }
-    else
-    {
-      sectionTitle = XSDEditorPlugin.getXSDString("_UI_LABEL_TYPE_INFORMATION");
-    }
-    //	setHeaderText(sectionTitle);
-  }
-
-  /**
-   * Set to true if called by Complex Type & Simple Type
-   */
-  public void setShowDerivedBy(boolean derive)
-  {
-    showDerivedBy = derive;
-  }
-
-  /**
-   * Gets the derivedByField
-   * @return Returns a Button
-   */
-  public Combo getDerivedByCombo()
-  {
-    return derivedByCombo;
-  }
-
-  /**
-   * Gets the noneRadio.
-   * @return Returns a Button
-   */
-  public Button getNoneRadio()
-  {
-    return noneRadio;
-  }
-
-  /**
-   * Gets the simpleType.
-   * @return Returns a Button
-   */
-  public Button getSimpleType()
-  {
-    return simpleType;
-  }
-
-  /**
-   * Gets the userComplexType.
-   * @return Returns a Button
-   */
-  public Button getUserComplexType()
-  {
-    return userComplexType;
-  }
-
-  /**
-   * Gets the userSimpleType.
-   * @return Returns a Button
-   */
-  public Button getUserSimpleType()
-  {
-    return userSimpleType;
-  }
-
-  /**
-   * Gets the typeList.
-   * @return Returns a CCombo
-   */
-  public Combo getTypeList()
-  {
-    return typeList;
-  }
-
-  /**
-   * Populate combo box with built-in simple types
-   */
-  public void populateBuiltInType(XSDSchema xsdSchema)
-  {
-    getTypeList().removeAll();
-    List items = getBuiltInTypeNamesList(xsdSchema);
-    for (int i = 0; i < items.size(); i++)
-    {
-      getTypeList().add(items.get(i).toString());
-    }
-  }
-
-  public java.util.List getBuiltInTypeNamesList(XSDSchema xsdSchema)
-  {
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    return helper.getBuiltInTypeNamesList();
-  }
-
-  /**
-   * Populate combo box with user defined complex types
-   */
-  public void populateUserComplexType(XSDSchema xsdSchema, boolean showAnonymous)
-  {
-    getTypeList().removeAll();
-    if (showAnonymous)
-    {
-      getTypeList().add(XSDEditorPlugin.getXSDString("_UI_ANONYMOUS"));
-    }
-
-    List items = getUserComplexTypeNamesList(xsdSchema);
-    for (int i = 0; i < items.size(); i++)
-    {
-      getTypeList().add(items.get(i).toString());
-    }
-  }
-
-  public java.util.List getUserComplexTypeNamesList(XSDSchema xsdSchema)
-  {
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    return helper.getUserComplexTypeNamesList();
-  }
-
-  public void populateUserSimpleType(XSDSchema xsdSchema, boolean showAnonymous)
-  {
-    getTypeList().removeAll();
-    if (showAnonymous)
-    {
-      getTypeList().add(XSDEditorPlugin.getXSDString("_UI_ANONYMOUS"));
-    }
-    List items = getUserSimpleTypeNamesList(xsdSchema);
-    for (int i = 0; i < items.size(); i++)
-    {
-      getTypeList().add(items.get(i).toString());
-    }
-  }
-
-  /**
-   * Populate combo box with user defined simple types
-   */
-  public void populateUserSimpleType(XSDSchema xsdSchema)
-  {
-    getTypeList().removeAll();
-    List items = getUserSimpleTypeNamesList(xsdSchema);
-    for (int i = 0; i < items.size(); i++)
-    {
-      getTypeList().add(items.get(i).toString());
-    }
-  }
-
-  public java.util.List getUserSimpleTypeNamesList(XSDSchema xsdSchema)
-  {
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    return helper.getUserSimpleTypeNamesList();
-  }
-
-  public String getPrefix(String ns, XSDSchema xsdSchema)
-  {
-    TypesHelper helper = new TypesHelper(xsdSchema);
-    String key = helper.getPrefix(ns, true);
-    return key;
-  }
-
-  /**
-   * Populate combo box with derived by choices
-   */
-  protected void populateDerivedByCombo()
-  {
-    for (int i = 0; i < derivedByChoices.length; i++)
-    {
-      getDerivedByCombo().add(derivedByChoices[i]);
-    }
-  }
-
-  /**
-   * Gets the showUserComplexType.
-   * @return Returns a boolean
-   */
-  public boolean getShowUserComplexType()
-  {
-    return showUserComplexType;
-  }
-
-  /**
-   * Gets the showUserSimpleType.
-   * @return Returns a boolean
-   */
-  public boolean getShowUserSimpleType()
-  {
-    return showUserSimpleType;
-  }
-
-  /**
-   * Gets the showNone.
-   * @return Returns a boolean
-   */
-  public boolean getShowNone()
-  {
-    return showNone;
-  }
-
-  /**
-   * Sets the showUserComplexType.
-   * @param showUserComplexType The showUserComplexType to set
-   */
-  public void setShowUserComplexType(boolean showUserComplexType)
-  {
-    this.showUserComplexType = showUserComplexType;
-  }
-
-  /**
-   * Sets the showUserSimpleType.
-   * @param showUserSimpleType The showUserSimpleType to set
-   */
-  public void setShowUserSimpleType(boolean showUserSimpleType)
-  {
-    this.showUserSimpleType = showUserSimpleType;
-  }
-
-  /**
-   * Sets the showNone
-   * @param showUserSimpleType The showNone to set
-   */
-  public void setShowNone(boolean showNone)
-  {
-    this.showNone = showNone;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/XSDEditSchemaInfoDialog.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/XSDEditSchemaInfoDialog.java
deleted file mode 100644
index 77a8e57..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/widgets/XSDEditSchemaInfoDialog.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.widgets;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.ui.dialogs.EditSchemaInfoDialog;
-import org.eclipse.wst.xml.ui.nsedit.CommonEditNamespacesTargetFieldDialog;
-
-public class XSDEditSchemaInfoDialog extends EditSchemaInfoDialog {
-	String targetNamespace;
-	CommonEditNamespacesTargetFieldDialog editNamespacesControl;
-	
-	public XSDEditSchemaInfoDialog(Shell parentShell, IPath resourceLocation, String targetNamespace) {
-		super(parentShell, resourceLocation);
-		this.targetNamespace = targetNamespace;
-	}
-/*
-	// in super
-	protected CommonEditNamespacesDialog createCommonEditNamespacesDialog(Composite dialogArea)
-	{
-	  return new CommonEditNamespacesDialog(dialogArea, resourceLocation, XMLUIPlugin.getResourceString("%_UI_NAMESPACE_DECLARATIONS"), false, true); //$NON-NLS-1$				
-	}
-	
-	// in super
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-		CommonEditNamespacesDialog editNamespacesControl = createCommonEditNamespacesDialog(dialogArea); 
-		editNamespacesControl.setNamespaceInfoList(namespaceInfoList);
-		editNamespacesControl.updateErrorMessage(namespaceInfoList);
-		return dialogArea;
-	}
-	
-	// in this
-	protected CommonEditNamespacesDialog createCommonEditNamespacesDialog(Composite dialogArea)
-	{
-	  return new CommonEditNamespacesTargetFieldDialog(dialogArea, resourceLocation); //$NON-NLS-1$				
-	}	*/
-	
-	// this is copy of ....
-    protected Control __internalCreateDialogArea(Composite parent) {
-        // create a composite with standard margins and spacing
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-        layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-        layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-        layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        applyDialogFont(composite);
-        return composite;
-    }	
-	
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea = (Composite) __internalCreateDialogArea(parent);
-		editNamespacesControl = new CommonEditNamespacesTargetFieldDialog(dialogArea, resourceLocation); //$NON-NLS-1$
-		if (targetNamespace != null)
-		{	
-			editNamespacesControl.setTargetNamespace(targetNamespace);
-		}
-		editNamespacesControl.setNamespaceInfoList(namespaceInfoList);
-		editNamespacesControl.updateErrorMessage(namespaceInfoList);
-		return dialogArea;
-	}	
-	
-	public String getTargetNamespace() {
-		return editNamespacesControl.getTargetNamespace();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/NewXSDWizard.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/NewXSDWizard.java
deleted file mode 100644
index 2073036..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/NewXSDWizard.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.wizards;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.XMLModelPlugin;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-
-
-public class NewXSDWizard extends Wizard implements INewWizard
-{
-  private XSDNewFilePage newFilePage;
-  private IStructuredSelection selection;
-  private IWorkbench workbench;
-
-  public NewXSDWizard()
-  {   
-  }
-
-  public void init(IWorkbench aWorkbench, IStructuredSelection aSelection)
-  {
-    this.selection = aSelection;
-    this.workbench = aWorkbench;
-
-    this.setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(XSDEditorPlugin.class, "icons/NewXSD.gif"));
-    this.setWindowTitle(XSDEditorPlugin.getXSDString("_UI_WIZARD_CREATE_XSD_MODEL_TITLE"));
-  }
-
-  public void addPages()
-  {
-    newFilePage = new XSDNewFilePage(selection);
-    addPage(newFilePage);
-  }
-
-  public boolean performFinish()
-  {
-    IFile file = newFilePage.createNewFile();
-    
-    //
-    // Get the xsd schema name from the full path name
-    //   e.g. f:/b2b/po.xsd => schema name = po
-    //
-    IPath iPath = file.getFullPath().removeFileExtension();
-    // String schemaName = iPath.lastSegment();
-    String schemaName = iPath.lastSegment();
-    String schemaPrefix = "tns";
-    String prefixForSchemaNamespace = "";
-    String schemaNamespaceAttribute = "xmlns";
-    if (XSDEditorPlugin.getPlugin().isQualifyXMLSchemaLanguage())
-    {
-      // Added this if check before disallowing blank prefixes in the preferences...
-      // Can take this out.  See also XSDEditor
-      if (XSDEditorPlugin.getPlugin().getXMLSchemaPrefix().trim().length() > 0)
-      {
-        prefixForSchemaNamespace = XSDEditorPlugin.getPlugin().getXMLSchemaPrefix() + ":";
-        schemaNamespaceAttribute += ":" + XSDEditorPlugin.getPlugin().getXMLSchemaPrefix();
-      }
-    }
-    
-    Preferences preference = XMLModelPlugin.getDefault().getPluginPreferences();
-	String charSet = preference.getString(CommonModelPreferenceNames.OUTPUT_CODESET);
-     if (charSet == null || charSet.trim().equals(""))
-    {
-    	charSet = "UTF-8";
-    }
-
-    String newContents = "<?xml version=\"1.0\" encoding=\"" + charSet + "\"?>\n";
-     
-    String defaultTargetURI = XSDEditorPlugin.getPlugin().getXMLSchemaTargetNamespace();
-    newContents += "<" + prefixForSchemaNamespace + "schema " + schemaNamespaceAttribute + "=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"" + defaultTargetURI + schemaName + "\" xmlns:" + schemaPrefix + "=\""+ defaultTargetURI + schemaName + "\">\n</"+prefixForSchemaNamespace+"schema>";
-
-    try
-    {
-      byte[] bytes = newContents.getBytes(charSet);
-      ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);
-      
-      file.setContents(inputStream,true,false,null);
-      inputStream.close();
-    }
-    catch (Exception e)
-    {
-//      XSDEditorPlugin.getPlugin().getMsgLogger().write("Error writing default content:\n" + newContents);      
-//      XSDEditorPlugin.getPlugin().getMsgLogger().write(e);
-    }
-
-    if (file != null)
-    {
-      revealSelection(new StructuredSelection(file));
-    }
-    
-    openEditor(file);
-
-    return true;
-  }
-
-  private void revealSelection(final ISelection selection)
-  {
-    if (selection != null)
-    {
-      IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
-      final IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-      final IWorkbenchPart focusPart = workbenchWindow.getActivePage().getActivePart();
-      if (focusPart instanceof ISetSelectionTarget)
-      {
-        Display.getCurrent().asyncExec
-        (new Runnable()
-            {
-          public void run()
-          {
-            ((ISetSelectionTarget)focusPart).selectReveal(selection);
-          }
-        });
-      }
-    }
-  }
-
-  public void openEditor(final IFile iFile)
-  {
-    if (iFile != null)
-    {
-      IWorkbench workbench = XSDEditorPlugin.getPlugin().getWorkbench();
-      final IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-      Display.getDefault().asyncExec
-      (new Runnable()
-          {
-        public void run()
-        {
-          try
-          {
-            IEditorPart editorPart = workbenchWindow.getActivePage().openEditor(new FileEditorInput(iFile), XSDEditorPlugin.XSD_EDITOR_ID);
-          }
-          catch (PartInitException ex)
-          {
-          }
-        }
-      });
-    }
-  }
-  
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexCompositionPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexCompositionPage.java
deleted file mode 100644
index 75ea9ae..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexCompositionPage.java
+++ /dev/null
@@ -1,965 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-// Based on version 1.12 of original xsdeditor
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDPatternFacet;
-
-
-
-/*
--other regex features (eg case sensitivity, ^ or $, |, etc etc)
--smarter model
--better keyboard navigation
--update list of tokens 
-*/
-
-public class RegexCompositionPage extends WizardPage
-{
-  private static final boolean debug = false;
-
-  /* The text representation of our pattern. */
-  private StyledText value; 
-
-  /* The StyleRange used to color code the current parse error. */
-  private StyleRange currentError;
-
-  /* The regex terms we can form tokens from. */
-  private Combo terms;
-
-  /* The checkbox for activating auto-escape mode. */  
-  private Button escapeCheckbox;
-  
-  /* On/off status of auto-escape mode. */ 
-  private boolean autoEscapeStatus;
-
-  /* The Add Token button. */
-  private Button add;
-
-
-  // The following controls are used in the occurrence selection group
-
-  private Text repeatValue;
-
-  private Text rangeMinValue;
-  private Text rangeMaxValue;
-  private Label rangeToLabel;  
-
-  private Button singleRadio;
-  private Button starRadio;
-  private Button plusRadio;
-  private Button optionalRadio; 
-  private Button repeatRadio;
-  private Button rangeRadio;
-
-  
-  // The following variables used as part of the model. 
-
-  /* Our pattern. */
-  private XSDPatternFacet pattern;
-
-  /* Model used to store the current token. */
-  private RegexNode node;    
-
-  /* Validator from the xerces regex package. */
-  //private RegularExpression validator;
-  private Pattern validator;
-
-  /* The flags passed to the new RegularExpression object.  Default value includes:
-      X = XMLSchema mode    */
-  private String regexFlags = "X";
-      
-
-  /* Is the current regex token valid? */
-  private boolean isValidToken;
-
-  /* The label used to indicate the value's caret position when it looses focus. */
-  private Label caretLabel;
-
-  /* The pixel offsets needed to align the label icon with the caret location.
-     These are dependent on the icon used. */
-  private static final int CARET_LABEL_X_OFFSET = -3;
-  private static final int CARET_LABEL_Y_OFFSET = 19;
-
-  
-  /* Enumerated constants for specifying the type of an error message. */
-  private static final int TOKEN = 0;
-  private static final int SELECTION = 1;
-  private static final int PARSE = 2;
-  
-  private static final int NUM_ERROR_MESSAGE_TYPES = 3;
-  
-  /* The current error message for each type of error.  A value of null indicates no message. 
-     The array is indexed according to the above constants.
-  */
-  private String[] currentErrorMessages;
-
-
-  public RegexCompositionPage(XSDPatternFacet pattern)
-  {
-    super(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_COMPOSITION_PAGE_TITLE"));
-    this.pattern = pattern;
-
-    setTitle(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_COMPOSITION_PAGE_TITLE"));
-    setDescription(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_COMPOSITION_PAGE_DESCRIPTION"));
-  }
-
-  public void createControl(Composite parent)
-  {
-    // Set up our model and validator
-    node = new RegexNode();
-    // validator = new RegularExpression("", regexFlags);
-        
-    isValidToken = true;
-
-    currentErrorMessages = new String[NUM_ERROR_MESSAGE_TYPES];
-
-    // The main composite
-    Composite composite= new Composite(parent, SWT.NONE);
-    WorkbenchHelp.setHelp(composite, XSDEditorContextIds.XSDR_COMPOSITION_PAGE);
-    composite.setLayout(new GridLayout());
-
-
-    // The composite for the token combo box, label, and auto-escape checkbox
-    Composite tokenComposite = new Composite (composite, SWT.NONE);
-    GridLayout tokenCompositeLayout = new GridLayout();
-    tokenCompositeLayout.numColumns = 3;
-    tokenCompositeLayout.marginWidth = 0;
-    tokenComposite.setLayout(tokenCompositeLayout);
-
-
-    new Label(tokenComposite, SWT.LEFT).setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TOKEN_LABEL"));
-    
-    terms = new Combo(tokenComposite, SWT.DROP_DOWN);
-    WorkbenchHelp.setHelp(terms, XSDEditorContextIds.XSDR_COMPOSITION_TOKEN);
-    for (int i = 0; i < RegexNode.getNumRegexTerms(); i++)
-    {
-      terms.add(RegexNode.getRegexTermText(i));
-    }
-    terms.addListener(SWT.Modify, new ComboListener());
-    terms.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_TERMS"));
-
-    escapeCheckbox = new Button(tokenComposite, SWT.CHECK);
-    escapeCheckbox.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_AUTO_ESCAPE_CHECKBOX_LABEL"));
-    escapeCheckbox.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_AUTO_ESCAPE_CHECKBOX")); 
-    escapeCheckbox.addSelectionListener(new CheckboxListener());
-    autoEscapeStatus = false;
-    
-    tokenComposite.pack();
-
-
-    // Set up the composites pertaining to the selection of occurrence quantifiers
-
-    Group occurrenceSelectionArea = new Group(composite, SWT.NONE);
-    occurrenceSelectionArea.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_OCCURENCE_LABEL"));
-    WorkbenchHelp.setHelp(occurrenceSelectionArea, XSDEditorContextIds.XSDR_COMPOSITION_OCCURRENCE_GROUP);
-    GridLayout selectionAreaLayout = new GridLayout();
-    selectionAreaLayout.numColumns = 2;
-    occurrenceSelectionArea.setLayout(selectionAreaLayout);
-
-    // Listener used for all of the text fields
-    TextListener textListener = new TextListener();
-    
-
-    // Add the radio buttons
-    RadioSelectListener radioSelectListener = new RadioSelectListener();
-
-    singleRadio = addOccurenceRadioButton(RegexNode.SINGLE, occurrenceSelectionArea, radioSelectListener);
-    WorkbenchHelp.setHelp(singleRadio, XSDEditorContextIds.XSDR_COMPOSITION_JUST_ONCE);
-    ViewUtility.createHorizontalFiller(occurrenceSelectionArea, 1);
-
-    starRadio = addOccurenceRadioButton(RegexNode.STAR, occurrenceSelectionArea, radioSelectListener);
-    WorkbenchHelp.setHelp(starRadio, XSDEditorContextIds.XSDR_COMPOSITION_ZERO_OR_MORE);
-    ViewUtility.createHorizontalFiller(occurrenceSelectionArea, 1);
-
-    plusRadio = addOccurenceRadioButton(RegexNode.PLUS, occurrenceSelectionArea, radioSelectListener);
-    WorkbenchHelp.setHelp(plusRadio, XSDEditorContextIds.XSDR_COMPOSITION_ONE_OR_MORE);
-    ViewUtility.createHorizontalFiller(occurrenceSelectionArea, 1);
-
-    optionalRadio = addOccurenceRadioButton(RegexNode.OPTIONAL, occurrenceSelectionArea, radioSelectListener);
-    WorkbenchHelp.setHelp(optionalRadio, XSDEditorContextIds.XSDR_COMPOSITION_OPTIONAL);
-    ViewUtility.createHorizontalFiller(occurrenceSelectionArea, 1);
-
-    repeatRadio = addOccurenceRadioButton(RegexNode.REPEAT, occurrenceSelectionArea, radioSelectListener);
-    WorkbenchHelp.setHelp(repeatRadio, XSDEditorContextIds.XSDR_COMPOSITION_REPEAT);
-
-    // Add text field for specifying number of repeats
-    Composite repeatWidgets = new Composite(occurrenceSelectionArea, SWT.NONE);
-    RowLayout repeatWidgetsLayout = new RowLayout();
-    repeatWidgetsLayout.marginTop = 0;
-    repeatWidgetsLayout.marginBottom = 0;
-    repeatWidgetsLayout.marginLeft = 0;
-    repeatWidgetsLayout.marginRight = 0;
-    repeatWidgets.setLayout(repeatWidgetsLayout);        
-    
-    repeatValue = new Text(repeatWidgets, SWT.SINGLE | SWT.BORDER);
-    repeatValue.addListener(SWT.Modify, textListener);
-    WorkbenchHelp.setHelp(repeatValue, XSDEditorContextIds.XSDR_COMPOSITION_REPEAT_TEXT);
-    repeatValue.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_REPEAT"));
-    setEnabledStatus(RegexNode.REPEAT, false);
-    
-    repeatWidgets.pack();
-    
-    rangeRadio = addOccurenceRadioButton(RegexNode.RANGE, occurrenceSelectionArea, radioSelectListener);
-    WorkbenchHelp.setHelp(rangeRadio, XSDEditorContextIds.XSDR_COMPOSITION_RANGE);
-
-    // Add text fields and labels for specifying the range    
-    Composite rangeWidgets = new Composite(occurrenceSelectionArea, SWT.NONE);
-    RowLayout rangeWidgetsLayout = new RowLayout();
-    rangeWidgetsLayout.marginTop = 0;
-    rangeWidgetsLayout.marginBottom = 0;
-    rangeWidgetsLayout.marginLeft = 0;
-    rangeWidgetsLayout.marginRight = 0;
-    rangeWidgets.setLayout(rangeWidgetsLayout);
-    
-    rangeMinValue = new Text(rangeWidgets, SWT.SINGLE | SWT.BORDER);
-    rangeMinValue.addListener(SWT.Modify, textListener);
-    WorkbenchHelp.setHelp(rangeMinValue, XSDEditorContextIds.XSDR_COMPOSITION_RANGE_MIN);
-    rangeMinValue.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_MIN"));
-    
-    rangeToLabel = new Label(rangeWidgets, SWT.NONE);
-    rangeToLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TO_LABEL"));
-    
-    rangeMaxValue = new Text(rangeWidgets, SWT.SINGLE | SWT.BORDER);
-    rangeMaxValue.addListener(SWT.Modify, textListener);
-    rangeMaxValue.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_MAX"));
-    WorkbenchHelp.setHelp(rangeMaxValue, XSDEditorContextIds.XSDR_COMPOSITION_RANGE_MAX);
-
-    setEnabledStatus(RegexNode.RANGE, false);
-    rangeWidgets.pack();
-    
-    singleRadio.setSelection(true);
-    
-    occurrenceSelectionArea.pack();
-
-    // The add button
-    add = new Button(composite, SWT.PUSH);
-    add.addSelectionListener(new ButtonSelectListener());
-    add.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_ADD_BUTTON_LABEL"));
-    WorkbenchHelp.setHelp(add, XSDEditorContextIds.XSDR_COMPOSITION_ADD);
-    add.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_ADD_BUTTON"));
-
-    
-    Label separator = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
-    separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-    
-    // Our main text box
-
-    Label valueLabel= new Label(composite, SWT.LEFT);
-    valueLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_CURRENT_REGEX_LABEL"));
-    
-    value = new StyledText(composite, SWT.SINGLE | SWT.BORDER);
-    value.addListener(SWT.Modify, textListener);
-    value.addListener(SWT.Selection, textListener);
-    WorkbenchHelp.setHelp(value, XSDEditorContextIds.XSDR_COMPOSITION_CURRENT);
-    value.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_CURRENT_REGEX"));
-    value.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-    value.setFocus();
-
-    // StyleRange used for highlighting parse errors
-    currentError = new StyleRange();
-    currentError.length = 1;
-    currentError.foreground = parent.getDisplay().getSystemColor(SWT.COLOR_RED);
-
-    // The caret label
-    caretLabel = new Label(composite, SWT.LEFT);
-    caretLabel.setImage(XSDEditorPlugin.getXSDImage("icons/RegexWizardArrow.gif"));
-    caretLabel.setToolTipText(XSDEditorPlugin.getXSDString("_UI_TOOLTIP_REGEX_WIZARD_CARET_LABEL"));
-    setShowCaretLabel(true);
-
-    value.addFocusListener(new TextFocusListener());
-
-    terms.select(0);
-
-
-    setControl(composite);
-  }
-
-
-  public void setVisible(boolean visible)
-  {
-    super.setVisible(visible);
-
-    value.setText(pattern.getLexicalValue());
-    value.setCaretOffset(value.getCharCount());
-  }
-
-  public void dispose()
-  {
-    super.dispose();
-  }
-
-
-  /**
-   * Sets the visible status of caretLabel to status.  If status is true, then we also update the position
-   * of caretLabel in one of two ways.  If there is no active selection in value, we set caretLabel's
-   * position to correspond with the position of the actual caret.  Alternatively, if there is an active selection
-   * in value, we set caretLabel's position to the beginning of the selection.
-   *
-   * @param The new visibility status of caretLabel.
-   */
-  private void setShowCaretLabel(boolean status)
-  {
-    if (status)
-    {
-  
-      int offset;
-      
-      if (value.getSelectionText().equals(""))
-      {
-        offset = value.getCaretOffset();
-      }
-      else
-      {
-        offset = value.getSelection().x;
-      }
-  
-      Point p = value.getLocationAtOffset(offset);
-      
-      p.x += value.getLocation().x;
-      p.y = value.getLocation().y;
-      
-      // Place the label under value, and make sure it is aligned with the caret.
-      // The offsets are dependent on the icon used.
-      p.x += CARET_LABEL_X_OFFSET;
-      p.y += CARET_LABEL_Y_OFFSET;
-  
-      if (debug)
-      {
-        System.out.println("POINT: " + p);
-      }
-      
-      caretLabel.setLocation(p);
-      caretLabel.setVisible(true);
-    }
-    else
-    {
-      caretLabel.setVisible(false);
-    }
-  }
-
-
-  /**
-   * Adds a new radio button to Composite c with SelectionListener l.  The text of the button is the String associated with
-   * quantifier.
-   *
-   * @param quantifier The desired quantifier, as enumerated in RegexNode.
-   * @param c The Composite to add the buttons to (normally occurrenceRadioButtons).
-   * @param l The SelectionListener (normally radioSelectionListener).
-   * @return The newly created button.
-   */
-  private Button addOccurenceRadioButton(int quantifier, Composite c, SelectionListener l)
-  {
-    Button result = new Button(c, SWT.RADIO);
-    result.setText(RegexNode.getQuantifierText(quantifier));
-    result.addSelectionListener(l);
-    return result;
-  }
-
-
-  /**
-   * Validates the regex in value.  If the regex is valid, clears the Wizard's error message.  If it's not valid,
-   *  sets the Wizard's error message accordingly.
-   *
-   * @return Whether the regex is valid.
-   */
-  private boolean validateRegex()
-  {
-
-    boolean isValid;
-    try
-    {
-      // We validate the regex by checking whether we get a ParseException.
-      // By default, we assume that it's valid unless we determine otherwise.
-      isValid = true;
-      displayRegexErrorMessage(null);
-      value.setStyleRange(null);
-
-      // validator.setPattern(value.getText());
-      validator = Pattern.compile(value.getText());
-    }
-    // catch (ParseException pe)
-    catch (PatternSyntaxException pe)
-    {
-      isValid = false;
-      displayRegexErrorMessage(pe.getMessage());
-
-      // An off-by-one bug in the xerces regex parser will sometimes return a location for the parseError that
-      //  is off the end of the string.  If this is the case, then we want to highlight the last character.
-      if (pe.getIndex() >= value.getText().length())
-      {
-        currentError.start = value.getText().length() - 1;
-      }
-      else
-      {
-        currentError.start = pe.getIndex();
-      }
-
-      if (debug)
-      {
-        System.out.println("Parse Error location: " + pe.getIndex());
-        System.out.println("currentError.start: " + currentError.start);
-      }
-
-      value.setStyleRange(currentError);
-
-    }
-
-    // Another bug in the xerces parser will sometimes throw a RuntimeException instead of a ParseException.
-    //  When we get a RuntimeException, we aren't provided with the additional information we need to highlight
-    //  the parse error.  So, we merely report that there is an error.
-    catch (RuntimeException re)
-    {
-      displayRegexErrorMessage("");
-      value.setStyleRange(null);
-      isValid = false;
-    }
-    
-    setPageComplete(isValid);    
-    return isValid;
-  }
-
-  
-  /**
-   * Manages the display of error messages.
-   * Sets the error message for type to errorMessage.  If errorMessage != null, then we set the Wizard's error message
-   * to errorMessage.  If errorMessage == null, then we check whether we have a pending message of another type.
-   * If we do, then it is displayed as the Wizard's error message.  If we don't, then the Wizard's error message field
-   * is cleared.
-   *
-   * @param errorMessage The text of the new error message.  A value of null indicates that the error message should
-   *  be cleared.
-   * @param type The error type, one of PARSE, TOKEN, or SELECTION.
-   */ 
-  private void displayErrorMessage(String errorMessage, int type)
-  {
-    String messageToDisplay = null;
-
-
-    currentErrorMessages[type] = errorMessage;
-
-    messageToDisplay = errorMessage;
-
-    for (int i = 0; i < NUM_ERROR_MESSAGE_TYPES; i++)
-    {
-      if (messageToDisplay != null)
-      {
-        break;
-      }
-      messageToDisplay = currentErrorMessages[i];
-    }
-
-    setErrorMessage(messageToDisplay);
-  }
-
-
-  /**
-   * Sets the Wizard's error message to message, preceded by a standard prefix.
-   *
-   * @param message The new error message (or null to clear it).
-   */
-  private void displayRegexErrorMessage (String errorMessage)
-  {
-    if (errorMessage == null)
-    {
-      displayErrorMessage(null, PARSE);
-    }
-    else
-    {
-    	if (errorMessage.trim().equals("")) // when there is no error message available.
-    	{
-        displayErrorMessage(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_REGEX_ERROR"),
-                           PARSE);
-      }
-      else
-      {
-        displayErrorMessage(errorMessage, PARSE);
-      }
-    }
-  }
-
-
-  /**
-   * Updates the token status.  Sets isValidToken to status && the status of the other error type.
-   * If status is true, we clear the wizard's error message for this type; if it is false, we set it to errorMessage.
-   *
-   * @param status The new isValidToken value.
-   * @param errorMessage The new error message.
-   * @param type The type of the error (either TOKEN or SELECTION).
-   */
-  private void setTokenStatus (boolean status, String errorMessage, int type)
-  {
-    boolean otherTypeStatus =     (type == TOKEN) ? 
-                                  currentErrorMessages[SELECTION] == null :
-                                  currentErrorMessages[TOKEN] == null;
-    
-    isValidToken = status && otherTypeStatus;
-    add.setEnabled(isValidToken);
-
-    if (status)
-    {
-      displayErrorMessage(null, type);
-    }
-    else
-    {
-    	if (errorMessage != null && errorMessage.trim().equals("")) // when there is no error message available.
-    	{
-        displayErrorMessage(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_TOKEN_ERROR"),
-                           type);
-      }
-      else
-      {
-        displayErrorMessage(errorMessage, type);
-      }
-    }
-  }
-
-  
-  /**
-   * Updates the token status.  Sets isValidToken to status && the status of the other error type.
-   * Also clears the wizard's error message for this type.
-   * Usually used to set isValidToken to true.
-   *
-   * @param status The new isValidToken value.
-   * @param type The type of the error (either TOKEN or SELECTION).
-   */
-  private void setTokenStatus(boolean status, int type)
-  {
-    setTokenStatus(status, null, type);
-  }
-
-
-
-  /**
-   * Sets the enabled status of the text fields and labels associated with the specified quantifier.
-   * If status is true, then fields and labels associated with other quantifiers are disabled.
-   * @param quantifier The quantifier whose elements' enabled status we wish to change
-   *   (as enumerated in RegexNode).
-   * @param status The new status of the elements.  If true, then all elements associated with other buttons
-   *               are disabled.
-   */    
-  private void setEnabledStatus(int quantifier, boolean status)
-  {
-    switch (quantifier)
-    {
-    
-    case RegexNode.REPEAT:
-      repeatValue.setEnabled(status);
-      if (status)
-      {
-        rangeMinValue.setEnabled(false);
-        rangeMaxValue.setEnabled(false);
-        rangeToLabel.setEnabled(false);
-      }
-      break;
-
-    case RegexNode.RANGE:
-      rangeMinValue.setEnabled(status);
-      rangeMaxValue.setEnabled(status);
-      rangeToLabel.setEnabled(status);
-      if (status)
-      {
-        repeatValue.setEnabled(false);
-      }
-      break;
-
-    }
-  }
-
-  /**
-   * Checks to see if there is a selection in value.  If there is not, we set the Wizard's error message accordingly.
-   * If there is, we update the contents of node.  If "Current Selection" is not the current token, then
-   * we clear the Selection error message.
-   */
-  private void updateCurrentSelectionStatus()
-  {
-    if (terms.getSelectionIndex() == RegexNode.SELECTION)
-    {
-      String selection = value.getSelectionText();
-      if (selection.equals(""))
-      {
-        setTokenStatus(false, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_SELECTION_ERROR"), SELECTION);
-      }
-      else
-      {
-        setTokenStatus(true, SELECTION);
-        node.setContents(selection);
-        node.setHasParens(true);
-      }
-    }
-    else
-    {
-      setTokenStatus(true, SELECTION);
-    }
-  }
-
-  /**
-   * Updates the enabled status of the auto-escape checkbox.  If status is true, we enable the checkbox, and
-   * set its selection status and node's auto-escape status to the value of autoEscapeStatus.  If status is
-   * false, then we disable and deselect the checkbox, and set node's status to false.
-   *
-   * @param status The new enabled status.
-   */
-  private void setEscapeCheckboxEnabledStatus(boolean status)
-  {
-    if (status)
-    {
-      escapeCheckbox.setEnabled(true);
-      escapeCheckbox.setSelection(autoEscapeStatus);
-      node.setAutoEscapeStatus(autoEscapeStatus);
-    }
-    else
-    {
-      escapeCheckbox.setEnabled(false);
-      escapeCheckbox.setSelection(false);
-      node.setAutoEscapeStatus(false);
-    }
-  }
-
-
-  /**
-   * Returns the current regex flags.
-   */
-  String getFlags()
-  {
-    return regexFlags;
-  }
-
-  /**
-   * Returns the current XSDPattern model.
-   */
-  XSDPatternFacet getPattern()
-  {
-    return pattern;
-  }
-
-
-  /**
-   * Returns a string consisting of the values of min, max, and repeat stored in node.
-   * Used for debugging purposes only.
-   */  
-  private String getAllFieldValues()
-  {
-      String result = "";
-      result += "Min: " + node.getMin() + "\n";
-      result += "Max: " + node.getMax() + "\n";
-      result += "Repeat: " + node.getRepeat() + "\n";
-      result += "\n";
-      return result;
-  }
-  
-
-  /* Listener for the add button. */
-  class ButtonSelectListener implements SelectionListener
-  {
-    public void widgetDefaultSelected(SelectionEvent e)
-    {
-    }
-
-    // Precondition: isValidToken == true  
-    public void widgetSelected(SelectionEvent e)
-    {
-      if (!isValidToken) // should never happen
-      {
-        System.out.println("Attempted to add an invalid token.");
-        System.out.println(node.toString());
-        System.out.println(getAllFieldValues());
-        return;
-      }
-
-      // Whether there is anything selected in value.
-      boolean isActiveSelection = value.getSelectionCount() != 0;
-      
-      value.insert(node.toString());
-
-      if (terms.getSelectionIndex() == RegexNode.SELECTION)
-      {
-        updateCurrentSelectionStatus();
-      }
-
-      // If nothing is selected, then we need to advance the caret location.
-      if (!isActiveSelection)
-      {
-        value.setCaretOffset(value.getCaretOffset() + node.toString().length());
-      }
-
-      value.setFocus();
-
-    }
-
-  }
- 
-
-  /* Listener for the terms combo box. */
-  class ComboListener implements Listener
-  {
-    public void handleEvent(Event e)
-    {
-      
-      updateCurrentSelectionStatus();
-
-      // If the user has typed in a token
-      if (terms.getSelectionIndex() == -1)
-      {
-        setEscapeCheckboxEnabledStatus(true);
-        node.setContents(terms.getText());
-        node.setHasParens(true);
-        
-
-        if (debug)
-        {
-          System.out.println(terms.getText());
-        }
-
-      }
-      else if (terms.getSelectionIndex() == RegexNode.SELECTION)
-      {
-        setEscapeCheckboxEnabledStatus(false);
-      }
-      else
-      {
-        node.setContents(RegexNode.getRegexTermValue(terms.getSelectionIndex()));
-        node.setHasParens(false);
-        setEscapeCheckboxEnabledStatus(false);
-      }
-    }
-  }
-
-
-  /* Listener for enabling/disabling caretLabel. */
-  class TextFocusListener implements FocusListener
-  {
-    public void focusGained(FocusEvent e)
-    {
-      setShowCaretLabel(false);
-    }
-    public void focusLost(FocusEvent e)
-    {
-      setShowCaretLabel(true);
-    }
-  }
-
-
-
-  /* Listener for the text fields. */
-  class TextListener implements Listener
-  {
-    public void handleEvent (Event e)
-    {
-
-      if (debug)
-      {
-        System.out.println("Inside TextListener handler");
-        System.out.println(e);
-        System.out.println(getAllFieldValues());
-      }
-
-
-      if ( (e.widget == value) && (e.type == SWT.Modify) )
-      {
-        pattern.setLexicalValue(value.getText());
-        validateRegex();
-      }
-
-      else if (e.widget == value && e.type == SWT.Selection)
-      {
-        if (terms.getSelectionIndex() == RegexNode.SELECTION)
-        {
-          updateCurrentSelectionStatus();
-        }
-      }
-
-      else if (e.widget == rangeMinValue)
-      {
-        boolean isValid = node.setMin(rangeMinValue.getText());
-
-        if (isValid)
-        {
-          setTokenStatus(true, null, TOKEN);
-        }
-        else
-        {
-          setTokenStatus(false,  XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_MIN_ERROR_SUFFIX"), TOKEN);
-        }
-      }
-
-      else if (e.widget == rangeMaxValue)
-      {
-        boolean isValid = node.setMax(rangeMaxValue.getText());
-
-        if (node.getMin() == RegexNode.EMPTY)
-        {
-          setTokenStatus(false, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_MISSING_MIN_ERROR_SUFFIX"), TOKEN);
-        }
-        else if (isValid)
-        {
-          setTokenStatus(true, null, TOKEN);
-        }
-        else
-        {
-          setTokenStatus(false, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_MAX_ERROR_SUFFIX"), TOKEN);
-        }
-      }
-
-      else  // (e.widget == repeatValue)
-      {
-        boolean isValid = node.setRepeat(repeatValue.getText());
-        if (isValid)
-        {
-          setTokenStatus(true, null, TOKEN);
-        }
-        else
-        {
-          setTokenStatus(false, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_REPEAT_ERROR_SUFFIX"), TOKEN);
-        }
-      }
-    }
-  }
-
-  /* Listener for the auto-escape checkbox. */
-  class CheckboxListener implements SelectionListener
-  {
-    public void widgetDefaultSelected(SelectionEvent e)
-    {
-    }
-
-    public void widgetSelected(SelectionEvent e)
-    {
-      boolean newStatus = !autoEscapeStatus;
-      node.setAutoEscapeStatus(newStatus);
-      autoEscapeStatus = newStatus;
-      
-      if (debug)
-      {
-        System.out.println("AutoEscape Status: " + node.getAutoEscapeStatus());
-      }
-    }
-
-  }
-
-
-  /* Listener for the radio buttons. */
-  class RadioSelectListener implements SelectionListener
-  {
-    public void widgetDefaultSelected(SelectionEvent e)
-    {
-    }
-
-    public void widgetSelected(SelectionEvent e)
-    {
-      if (debug)
-      {
-        System.out.println(getAllFieldValues());
-      }
-
-
-      int currentQuantifier = getQuantifier(e);
-
-      node.setQuantifier(currentQuantifier);
-
-      switch (currentQuantifier)
-      {
-      case RegexNode.SINGLE:                     
-      case RegexNode.STAR:
-      case RegexNode.PLUS:
-      case RegexNode.OPTIONAL:
-        setEnabledStatus(RegexNode.REPEAT, false);
-        setEnabledStatus(RegexNode.RANGE, false);
-        setTokenStatus(true, TOKEN);
-        break; 
-
-      case RegexNode.REPEAT:
-        setEnabledStatus(RegexNode.REPEAT, true);
-        setTokenStatus(node.hasValidRepeat(), XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_REPEAT_ERROR_SUFFIX"), TOKEN);
-        repeatValue.setFocus();
-        break;
-
-      case RegexNode.RANGE:
-        setEnabledStatus(RegexNode.RANGE, true);
-        String error = (node.hasValidMin()) ? 
-                            XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_MAX_ERROR_SUFFIX") : 
-                            XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_INVALID_MIN_ERROR_SUFFIX");
-
-        setTokenStatus( node.hasValidMin() && node.hasValidMax(), error, TOKEN);
-        rangeMinValue.setFocus();
-        break;
-      }
-    }
-
-    private int getQuantifier(SelectionEvent e)
-    {
-
-      if (e.widget == singleRadio)
-      {
-        return RegexNode.SINGLE;
-      }
-      
-      else if (e.widget == starRadio)
-      {
-        return RegexNode.STAR;
-      }
-      
-      else if (e.widget == plusRadio)
-      {
-        return RegexNode.PLUS;
-      }
-      
-      else if (e.widget == optionalRadio)
-      {
-        return RegexNode.OPTIONAL;
-      }
-      
-      else if (e.widget == repeatRadio)
-      {
-        return RegexNode.REPEAT;
-      }
-      
-      else if (e.widget == rangeRadio)
-      {
-        return RegexNode.RANGE;
-      }
-      
-      else // can't get here
-      { 
-        return RegexNode.EMPTY;
-      }
-    } 
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexNode.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexNode.java
deleted file mode 100644
index 2844709..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexNode.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.wizards;
-
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-
-
-class RegexNode
-{
-  private String contents;
-  private int min;
-  private int max;
-  private int repeat;
-  private int quantifier;
-  private boolean hasParens;
-  private boolean autoEscapeStatus;
-
-  
-  /* Quantifiers. */
-  public static final int SINGLE = 0;    
-  public static final int STAR = 1;
-  public static final int PLUS = 2;
-  public static final int OPTIONAL = 3;
-  public static final int REPEAT = 4; 
-  public static final int RANGE = 5;
-
-  /* Regex quantifiers.  First column is the on-screen textual representation, second column is the 
-   on-screen regex representation.  The two are concatenated together to form the on-screen
-   representation.
-   Indexing of this array must correspond to the values of the quantifier constants above.
-  */
-  private static final String[][] regexQuantifiers =
-  { 
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_SINGLE"),   ""  },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_STAR"),     "*" },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_PLUS"),     "+" },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_OPTIONAL"), "?" },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_REPEAT"),   ""  },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_QUANTIFIER_RANGE"),    ""  },
-  };
-
-
-  /* Regex tokens.  First column is the on-screen representation, second column is the regex representation. 
-     More tokens can be added, but it is assumed that "Current Selection" is the last element in the array.
-     If this is not the case, then the value of the SELECTION constant below will need to be changed 
-     accordingly.
-     Also note that because these are java Strings, backslashes must be escaped (this is only relevant to the
-     second column of the array).
-   */
-  private static final String[][] regexTerms =
-  { 
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_ANY_CHAR"),   "."     },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_ALPHANUMERIC_CHAR"),   "\\w"     },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_WHITESPACE"), "\\s"   },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_DIGIT"),      "\\d"   },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_UPPER"),      "[A-Z]" },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_LOWER"),      "[a-z]" },
-    { XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TERM_SELECTION"),  ""      },
-  };
-
-  /* Token enumerated constants. */
-
-  // SELECTION must correspond to the index in regexTerms of "Current Selection".  This is assumed to be
-  //  the last element.
-  public static final int SELECTION = regexTerms.length - 1;
-
-  public static final int EMPTY = -1;
-
-  /* 
-  The metacharacters recognized by XML Schema.
-  Note that the double backslash ("\\") actually represents an escaped single backslash character ("\").
-  */ 
-  private static final String metacharacters = ".\\?*+{}()[]";
-
-
-  public static String getRegexTermText(int i)
-  {
-    if (i == SELECTION)
-    {
-      return regexTerms[i][0];
-    }
-    else
-    {
-      return regexTerms[i][0] + " ( " + regexTerms[i][1] + " )";
-    }
-  }
-
-  public static String getRegexTermValue(int i)
-  {
-    if (i == SELECTION) // shouldn't happen
-    {
-      return "";
-    }
-    else
-    {
-      return regexTerms[i][1];
-    }
-  }
-
-  public static int getNumRegexTerms()
-  {
-    return regexTerms.length;
-  }
-
-  public static String getQuantifierText(int i)
-  {
-    String result = regexQuantifiers[i][0];
-    
-    if (!regexQuantifiers[i][1].equals(""))
-    {
-      result += " ( ";
-      result += regexQuantifiers[i][1];
-      result += " )";
-    }
-
-    return result;
-  }
-
-  public RegexNode()
-  {
-    this.contents = "";
-    this.quantifier = SINGLE;
-    this.min = EMPTY;
-    this.max = EMPTY;
-    this.repeat = EMPTY;
-    this.hasParens = false;
-
-  }
-
-  
-  public String getContents()
-  {
-    return contents;
-  }
-  
-  public void setContents(String contents)
-  {
-    this.contents = contents;
-  }
-
-
-  public int getQuantifier()
-  {
-    return quantifier;
-  }
-
-  public void setQuantifier(int quantifier)
-  {
-    this.quantifier = quantifier;
-  }
-
-
-  public int getMin()
-  {
-    return min;
-  }
-
-  public void setMin(int min)
-  {
-    this.min = min;
-  }
-
-  /**
-   * Sets this.min to the integer representation of min iff min is a valid value (i.e. greater than 0).
-   * Sets this.min to EMPTY if it is not.
-   *
-   * @param min The new min value
-   * @returns Whether min was a valid value
-   */  
-  public boolean setMin(String min)
-  {
-    this.min = convertToInt(min);
-
-    // min > max is an invalid case, unless max is EMPTY (since EMPTY == -1).
-    if ( (this.max != EMPTY) && (this.min > this.max) )
-    {
-      return false;
-    }
-    
-    return (this.min >= 0);
-  }
-
-  
-  public int getMax()
-  {
-    return max;
-  }
-  
-  public void setMax(int max)
-  {
-    this.max = max;
-  }
-
-  /**
-   * Sets this.max to the integer representation of max iff max is a valid value (i.e. greater than 0).
-   * Sets this.max to EMPTY if it is not.
-   *
-   * @param max The new max value
-   * @returns Whether max was a valid value, or (whether max == the empty string && min has a valid value)
-   */ 
-  public boolean setMax(String max)
-  {
-    this.max = convertToInt(max);
-
-    // The empty string is a valid max value iff min has a valid value.
-    // This is due to the fact that {n,} means "at least n times" in regex parlance.
-    if (max.equals("") && this.min != EMPTY)
-    {
-      return true;
-    }
-    
-    else if (this.max < this.min)
-    {
-      return false;
-    }
-    
-    else
-    {
-      return (this.max >= 0);
-    }
-  }
-
-
- 
-  public int getRepeat()
-  {
-    return repeat;
-  }
-
-  public void setRepeat(int repeat)
-  {
-    this.repeat = repeat;
-  }
-
-  /**
-   * Sets this.repeat to the integer representation of repeat iff repeat is a valid value (i.e. greater than 0).
-   * Sets this.repeat to EMPTY if it is not.
-   *
-   * @param repeat The new repeat value
-   * @returns Whether repeat was a valid value
-   */
-  public boolean setRepeat(String repeat)
-  {
-    this.repeat = convertToInt(repeat);
-    return (this.repeat >= 0);
-  }
-
-
-
-  /**
-   * Returns the integer representation of s.  If s is less than zero, or if s is not an int
-   * (i.e. if Integer.parseInt would throw a NumberFormatException), then returns EMPTY.
-   *
-   * @param s The String to convert.
-   * @returns The integer representation of s.
-   */
-  private int convertToInt(String s)
-  {
-    int result;
-    try
-    {
-      result = Integer.parseInt(s);
-      if (result < 0)
-      {
-        result = EMPTY;
-      }
-    }
-    catch (NumberFormatException e)
-    {
-      result = EMPTY;
-    }
-
-    return result;
-  }
-
-
-  public boolean getHasParens()
-  {
-    return hasParens;
-  }
-
-  public void setHasParens(boolean status)
-  {
-    this.hasParens = status;
-  }
-
-  public boolean getAutoEscapeStatus()
-  {
-    return autoEscapeStatus;
-  }
-
-  public void setAutoEscapeStatus(boolean status)
-  {
-    this.autoEscapeStatus = status;
-  }
-
-  /**
-   * Returns an escaped version of s.  In other words, each occurrence of a metacharacter ( .\?*+{}()[] )
-   * is replaced by that character preceded by a backslash.
-   *
-   * @param s The String to escape.
-   * @returns An escaped version of s.
-   */
-  private String addEscapeCharacters(String s)
-  {
-    StringBuffer result = new StringBuffer("");
-
-    for (int i = 0; i < s.length(); i++)
-    {
-      char currentChar = s.charAt(i);
-
-      if (isMetachar(currentChar))
-      {
-        result.append("\\"); // Note that this is an escaped backslash, not a double backslash.
-      }
-      result.append(currentChar);
-
-    }
-
-    return result.toString();
-  }
-
-  /**
-   * Checks whether c is a metacharacter as defined in the static variable metacharacters.
-   *
-   * @param c The character to check.
-   * @returns Whether c is a metacharacter.
-   */
-  private boolean isMetachar(char c)
-  {
-    return metacharacters.indexOf(c) != -1;
-  }
-  
-
-  public boolean hasValidMin()
-  {
-    return (min != EMPTY);
-  }
-
-  public boolean hasValidMax()
-  {
-    return(max != EMPTY);
-  }
-
-  public boolean hasValidRepeat()
-  {
-    return(repeat != EMPTY);
-  }
-
-  public String toString()
-  {
-    String result = "";
-    
-    if (hasParens)
-    {
-      result += "(";
-    }
-    
-    if (autoEscapeStatus)
-    {
-       result += addEscapeCharacters(contents);
-    }
-    else 
-    {
-      result += contents;
-    }
-
-
-    if (hasParens)
-    {
-      result += ")";
-    }
-    
-    switch (quantifier)
-    {
-      case STAR:
-        result += "*";
-        break;
-      
-      case PLUS:
-        result += "+";
-        break;
-      
-      case OPTIONAL:
-        result += "?";
-        break;
-      
-      case REPEAT:
-        result += "{" + repeat + "}";
-        break;
-      
-      case RANGE:
-        result += "{" + min + ",";
-        if (max == EMPTY)
-        {
-          result += "";
-        }
-        else
-        {
-          result += max;
-        }       
-        result += "}";
-        break;
-      
-      // SINGLE is a fall through           
-
-    }
-    return result;
-
-  }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexTestingPage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexTestingPage.java
deleted file mode 100644
index 57601b5..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexTestingPage.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-// Based on version 1.6 of original xsdeditor
-package org.eclipse.wst.xsd.ui.internal.wizards;
-
-import java.util.regex.Pattern;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorContextIds;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-
-public class RegexTestingPage extends WizardPage
-{
-  /* Validator from xerces package. */
-//  private RegularExpression validator;
-  private Pattern validator;
-  
-  /* Displays the status of the match. */
-  private Label matchLabel;
-
-
-  /* The regex. */
-  private Text value;
-  
-  /* The string the user is trying to match against the regex. */
-  private StyledText testString;
-
-  public RegexTestingPage()
-  {
-    super(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_TITLE"));
-
-    setTitle(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_TITLE"));
-    setDescription(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_DESCRIPTION"));
-  }
-
-
-  public void createControl(Composite parent)
-  {
-    Composite composite = ViewUtility.createComposite(parent, 1);
-    WorkbenchHelp.setHelp(composite, XSDEditorContextIds.XSDR_TEST_PAGE);
-
-    matchLabel = new Label(composite, SWT.WRAP);
-    matchLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_DESCRIPTION"));
-    FontData[] fontData = matchLabel.getFont().getFontData();
-    GridData dataF = new GridData();
-    dataF.widthHint = 400;
-    dataF.heightHint = 6 * fontData[0].getHeight();
-    matchLabel.setLayoutData(dataF);
-    
-    Composite controls = new Composite(composite, SWT.NONE);
-    GridLayout controlsLayout = new GridLayout();
-    controlsLayout.numColumns = 2;
-    controls.setLayout(controlsLayout);
-    controls.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-    new Label(controls, SWT.LEFT).setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_REGEX_LABEL"));
-    value = new Text(controls, SWT.BORDER | SWT.READ_ONLY);
-    value.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-
-    new Label(controls, SWT.LEFT).setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_SAMPLE_TEXT"));
-    testString = new StyledText(controls, SWT.SINGLE | SWT.BORDER);
-    WorkbenchHelp.setHelp(testString, XSDEditorContextIds.XSDR_TEST_SAMPLE);
-    testString.addListener(SWT.Modify, new TestStringListener());
-    testString.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    
-    controls.pack();
-    
-    Label separator = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
-    GC gc = new GC(separator);
-    Point pointSize = gc.stringExtent(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TESTING_PAGE_DESCRIPTION"));
-    GridData gd = new GridData();
-    gd.widthHint = (int)(pointSize.x / 2 + gc.getAdvanceWidth('M')*11);
-    gd.horizontalAlignment= GridData.FILL;
-    separator.setLayoutData(gd);
-    
-    composite.pack();
-    
-//    validator = new RegularExpression("", getFlags());
-
-    setControl(composite);
-  }
-
-
-  private String getPatternValue()
-  {
-    return ( (RegexCompositionPage)getPreviousPage() ).getPattern().getLexicalValue();
-  }
-
-  private String getFlags()
-  {
-    return ( (RegexCompositionPage)getPreviousPage() ).getFlags();
-  }
-
-  public void setVisible(boolean visible)
-  {
-    super.setVisible(visible);
-
-    String pattern = getPatternValue();
-    String flags = getFlags();
-
-    value.setText(pattern);
-
-//    try
-//    {
-//      validator.setPattern(pattern, flags);
-//    }
-//    catch (ParseException pe)
-//    {
-//    }
-    
-    updateMatchStatus();
-
-    testString.setFocus();
-  }
-
-  class TestStringListener implements Listener
-  {
-    public void handleEvent(Event e)
-    {
-      updateMatchStatus();
-    }
-  }
-
-  private void updateMatchStatus()
-  {
-    if (Pattern.matches(getPatternValue(), testString.getText()))
-    {
-//      matchLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_MATCHES"));
-      setMessage(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_MATCHES"), 1);
-    }
-    else
-    {
-      setMessage(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_DOES_NOT_MATCH"), 2);
-//      matchLabel.setText(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_DOES_NOT_MATCH"));
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexWizard.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexWizard.java
deleted file mode 100644
index e17cb80..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/RegexWizard.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.wizards;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.impl.XSDFactoryImpl;
-
-
-public class RegexWizard extends Wizard 
-{
-  private static final boolean debug = false;
-  
-  private RegexCompositionPage compositionPage;
-  private RegexTestingPage testingPage;
-
-  /* The original, unchanged pattern. */  
-  private XSDPatternFacet originalPattern;
-  
-  /* A copy of the original pattern that is passed into the wizard. */
-  private XSDPatternFacet modifiedPattern;
-
-  String pattern;
-
-  public RegexWizard(String expr)
-  {
-    super();
-    setWindowTitle(XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_TITLE"));
-    setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(XSDEditorPlugin.class, "icons/regx_wiz.gif"));
-
-    XSDFactoryImpl factory = new XSDFactoryImpl();
-    modifiedPattern = factory.createXSDPatternFacet();
-    modifiedPattern.setLexicalValue(expr);
-
-    originalPattern = factory.createXSDPatternFacet();
-    originalPattern.setLexicalValue(expr);
-
-    compositionPage = new RegexCompositionPage(modifiedPattern);
-    addPage(compositionPage);
-
-    testingPage = new RegexTestingPage();
-    addPage(testingPage);
-  }
-
-  public String getPattern()
-  {
-    return pattern;
-  }
-
-  public boolean performFinish()
-  {
-    pattern = modifiedPattern.getLexicalValue();
-    return true;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDLocationChoicePage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDLocationChoicePage.java
deleted file mode 100644
index ef0110a..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDLocationChoicePage.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.wizards;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-
-
-public class XSDLocationChoicePage extends WizardPage 
-{
-  protected Button radioButton1;
-  protected Button radioButton2;
-    
-  public XSDLocationChoicePage()
-  {
-    super("XSDLocationChoicePage");
-
-    this.setTitle(XSDEditorPlugin.getXSDString("_UI_WIZARD_INCLUDE_FILE_TITLE"));
-    this.setDescription(XSDEditorPlugin.getXSDString("_UI_WIZARD_INCLUDE_FILE_DESC"));
-  }
-    
-  public boolean isPageComplete()
-  {
-    return true;
-  }
-    
-  public void createControl(Composite parent)
-  {
-    Composite base = new Composite(parent, SWT.NONE);
-    base.setLayout(new GridLayout());
-    GridData data;
-      
-    ViewUtility.createLabel(base, XSDEditorPlugin.getXSDString("_UI_LABEL_INCLUDE_URL_FILE"));
-    Composite radioButtonsGroup = ViewUtility.createComposite(base, 1, true);
-
-    radioButton1 = ViewUtility.createRadioButton(radioButtonsGroup, 
-                                                 XSDEditorPlugin.getXSDString("_UI_RADIO_FILE"));
-      
-    radioButton2 = ViewUtility.createRadioButton(radioButtonsGroup,
-                                                 XSDEditorPlugin.getXSDString("_UI_RADIO_URL"));
-
-    radioButton1.setSelection(true);
-
-    setControl(base);
-  }
-
-  // actions on finish
-  public boolean performFinish()
-  {
-    return true;
-  }
-
-  public boolean isURL()
-  {
-    return radioButton2.getSelection();
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDNewFilePage.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDNewFilePage.java
deleted file mode 100644
index d25eea7..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDNewFilePage.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.wizards;
- 
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-
-
-public class XSDNewFilePage extends WizardNewFileCreationPage
-{
-  public XSDNewFilePage(IStructuredSelection selection) 
-  {
-    super(XSDEditorPlugin.getXSDString("_UI_CREATEXSD"), selection);
-    setTitle(XSDEditorPlugin.getXSDString("_UI_NEW_XML_SCHEMA_TITLE"));
-    setDescription(XSDEditorPlugin.getXSDString("_UI_CREATE_A_NEW_XML_SCHEMA_DESC"));
-  }
-
-  public void createControl(Composite parent) 
-  {
-    // inherit default container and name specification widgets
-    super.createControl(parent);
-
-    this.setFileName(computeDefaultFileName());
-
-    setPageComplete(validatePage());
-  }
-
-  protected boolean validatePage()
-  {
-    Path newName = new Path(getFileName());
-    String fullFileName = getFileName();
-    String extension = newName.getFileExtension();
-    if (extension == null || !extension.equalsIgnoreCase("xsd")) 
-    {
-      setErrorMessage(XSDEditorPlugin.getXSDString("_ERROR_FILENAME_MUST_END_XSD"));
-      return false;
-    }
-    else 
-    {
-      setErrorMessage(null);
-    }
-
-    // check for file should be case insensitive
-    String sameName = existsFileAnyCase(fullFileName);
-    if (sameName != null) 
-    {
-      String qualifiedFileName = getContainerFullPath().toString() + '/' + fullFileName;
-      setErrorMessage(XSDEditorPlugin.getPlugin().getString("_ERROR_FILE_ALREADY_EXISTS", sameName)); //$NON-NLS-1$
-      return false;
-    }
-
-    return super.validatePage();
-  }
-
-  public String defaultName = "NewXMLSchema"; //$NON-NLS-1$
-  public String defaultFileExtension = ".xsd"; //$NON-NLS-1$
-  public String[] filterExtensions = { "*.xsd"}; //$NON-NLS-1$
-
-  protected String computeDefaultFileName()
-  {
-    int count = 0;
-    String fileName = defaultName + defaultFileExtension;
-    IPath containerFullPath = getContainerFullPath();
-    if (containerFullPath != null)
-    {
-      while (true)
-      {
-        IPath path = containerFullPath.append(fileName);
-        if (ResourcesPlugin.getWorkspace().getRoot().exists(path))
-        {
-          count++;
-          fileName = defaultName + count + defaultFileExtension;
-        }
-        else
-        {
-          break;
-        }
-      }
-    }
-    return fileName;
-  }
-
-  // returns true if file of specified name exists in any case for selected container
-  protected String existsFileAnyCase(String fileName)
-  {
-    if ( (getContainerFullPath() != null) && (getContainerFullPath().isEmpty() == false)
-        && (fileName.compareTo("") != 0))
-    {
-      //look through all resources at the specified container - compare in upper case
-      IResource parent = ResourcesPlugin.getWorkspace().getRoot().findMember(getContainerFullPath());
-      if (parent instanceof IContainer)
-      {
-        IContainer container = (IContainer) parent;
-        try
-        {
-          IResource[] members = container.members();
-          String enteredFileUpper = fileName.toUpperCase();
-          for (int i=0; i<members.length; i++)
-          {
-            String resourceUpperName = members[i].getName().toUpperCase();
-            if (resourceUpperName.equals(enteredFileUpper))
-            {  
-              return members[i].getName();    
-            }
-          }
-        }
-        catch (CoreException e)
-        {
-        }
-      }
-    }
-    return null;
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDSelectIncludeFileWizard.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDSelectIncludeFileWizard.java
deleted file mode 100644
index 35dee94..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/wizards/XSDSelectIncludeFileWizard.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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.wst.xsd.ui.internal.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.ui.viewers.SelectSingleFilePage;
-import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDParser;
-
-
-/**
- * Extend the base wizard to select a file from the project or outside the workbench
- * and add error handling
- */
-public class XSDSelectIncludeFileWizard extends Wizard implements INewWizard
-{
-  boolean isInclude;
-  XSDSchema mainSchema;
-  XSDSchema externalSchema;
-
-  XSDLocationChoicePage choicePage;
-  XSDSelectSingleFilePage filePage;
-  XSDURLPage urlPage;
-
-  IFile resultFile;
-  String resultURL;
-  String namespace = "";
-
-  public XSDSelectIncludeFileWizard(XSDSchema mainSchema, boolean isInclude,
-                                    String title, String desc, 
-                                    ViewerFilter filter,
-                                    IStructuredSelection selection)
-  {
-    super();
-    setWindowTitle(title);
-    setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(XSDEditorPlugin.class, "icons/NewXSD.gif"));
-
-    setNeedsProgressMonitor(true);
-
-    // Choice Page
-    choicePage = new XSDLocationChoicePage();
-
-    // Select File Page
-    filePage = new XSDSelectSingleFilePage(PlatformUI.getWorkbench(),  selection, true);
-    filePage.setTitle(title);
-    filePage.setDescription(desc);
-    filePage.addFilter(filter);
-
-    // URL Page
-    urlPage = new XSDURLPage();
-    urlPage.setTitle(title);
-    urlPage.setDescription(XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_URL"));
-    
-    this.mainSchema = mainSchema;
-    this.isInclude = isInclude;
-  }
-
-  public void init(IWorkbench aWorkbench, IStructuredSelection aSelection)
-  { 
-  }
-
-  public void addPages()
-  {
-    addPage(choicePage);
-    addPage(filePage);
-    addPage(urlPage);
-  }
-
-  public IWizardPage getNextPage(IWizardPage currentPage)
-  {
-    WizardPage nextPage = null;
-
-    if (currentPage == choicePage)
-    {
-      if (choicePage.isURL()) 
-      {
-        nextPage = urlPage;
-      }
-      else
-      {
-        nextPage = filePage;
-      }
-    }
-    return nextPage;
-  }
-
-  public boolean canFinish()
-  {
-    if (!choicePage.isURL())
-    {
-      return filePage.isPageComplete(); 
-    }
-    return true;
-  }
-
-  public boolean performFinish()
-  { 
-    if (choicePage.isURL())
-    {
-      try 
-      {
-        getContainer().run(false, true, urlPage.getRunnable());
-        resultURL = urlPage.getURL();
-      }
-      catch (Exception e)
-      {
-        return false;
-      }
-      return true;
-    }
-    else
-    {  
-      resultFile = filePage.getFile();
-    }
-    return true;
-  }
-
-  /**
-   * Get the MOF object that represents the external file
-   */
-  public XSDSchema getExternalSchema()
-  {
-    return externalSchema;
-  }
-
-  public IFile getResultFile()
-  {
-    return resultFile;
-  }
-
-  public String getURL()
-  {
-    return resultURL;
-  }
-  
-  public String getNamespace()
-  {
-  	return namespace;
-  }
-
-  /**
-   * Create a MOF model for the imported file
-   */
-  protected String doLoadExternalModel(IProgressMonitor monitor, String xsdModelFile, String xsdFileName)
-  { 
-    String errorMessage = null;
-    String currentNameSpace = mainSchema.getTargetNamespace();
-
-    monitor.beginTask("Loading XML Schema", 100);
-    monitor.worked(50);
-
-    XSDParser parser = new XSDParser();
-    parser.parse(xsdModelFile);
-
-    externalSchema = parser.getSchema();
-    if (externalSchema != null)
-    {
-      String extNamespace = externalSchema.getTargetNamespace();
-      namespace = extNamespace;
-     
-      if (externalSchema.getDiagnostics() != null &&
-          externalSchema.getDiagnostics().size() > 0)
-      {
-        errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_INCORRECT_XML_SCHEMA", xsdFileName);
-      }  
-      else
-      {
-        if (isInclude) 
-        {  
-          // Check the namespace to make sure they are the same as current file
-          if (extNamespace != null)
-          {
-            if (currentNameSpace != null && !extNamespace.equals(currentNameSpace))
-            {
-              errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_DIFFERENT_NAME_SPACE", xsdFileName);
-            }
-          }
-        }
-        else
-        {  
-          // Check the namespace to make sure they are different from the current file
-          if (extNamespace != null)
-          {
-            if (currentNameSpace != null && extNamespace.equals(currentNameSpace))
-            {
-              errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_SAME_NAME_SPACE", xsdFileName);
-            }
-          }
-        }
-      }
-    }
-    else
-    {
-      errorMessage = XSDEditorPlugin.getPlugin().getString("_UI_INCORRECT_XML_SCHEMA", xsdFileName);
-    }
-
-    monitor.subTask("Finish Loading");
-    monitor.worked(80);
-
-    return errorMessage;
-  }
-
- 
-  /**
-   * URL page
-   */
-  class XSDURLPage extends WizardPage
-  { 
-    Text urlField;
-    String saveString;
-
-    public XSDURLPage()
-    {
-      super("URLPage");
-    }
-
-    public void createControl(Composite parent)
-    {
-      Composite client = ViewUtility.createComposite(parent,2);
-      ViewUtility.setComposite(client);
-
-      ViewUtility.createLabel(client, XSDEditorPlugin.getXSDString("_UI_LABEL_URL"));
-      ViewUtility.createLabel(client, "");
-
-      urlField = ViewUtility.createTextField(client, 50);
-      saveString = "http://";
-      urlField.setText(saveString);
-
-      setControl(client);
-    }
-
-    public String getURL()
-    {
-      return urlField.getText();
-    }
-
-    private boolean openExternalSchema(IProgressMonitor monitor)
-    {
-      String text = urlField.getText();
-//      if (text.equals(saveString)) 
-//      {
-//        return false;
-//      }
-//      saveString = text;
-
-      if (text.equals(""))
-      {
-        setErrorMessage(XSDEditorPlugin.getXSDString("_UI_SPECIFY_URL"));
-        return false;
-      }
-
-      if ( !text.startsWith("http://") )
-      {
-        setErrorMessage(XSDEditorPlugin.getXSDString("_UI_URL_START_WITH"));
-        return false;
-      }
-
-      setErrorMessage(null);
-      String errorMessage = doLoadExternalModel(monitor, text, text);
-      if (errorMessage != null) 
-      {
-        setErrorMessage(errorMessage); 
-        return false;
-      }
-      else
-      {
-        return true;
-      }
-    }
-
-    public IRunnableWithProgress getRunnable()
-    {
-      return new IRunnableWithProgress()
-      {
-        public void run(IProgressMonitor monitor)   
-          throws InvocationTargetException, InterruptedException
-        {
-          if (monitor == null)
-          {
-            monitor= new NullProgressMonitor();
-          }
-          monitor.beginTask("", 6);
-        
-          boolean ok = openExternalSchema(monitor);
-
-          if (!ok) 
-          { 
-            throw new InvocationTargetException(new java.lang.Error());
-          }
-
-          monitor.done();
-        }
-      };
-    }
-  }
-
-  /**
-   * Select XML Schema File
-   */
-  class XSDSelectSingleFilePage extends SelectSingleFilePage
-  {
-    public XSDSelectSingleFilePage(IWorkbench workbench, IStructuredSelection selection, boolean isFileMandatory)
-    {          
-      super(workbench,selection,isFileMandatory);
-    }
-
-    private boolean openExternalSchema()
-    {
-      // Get the fully-qualified file name
-      IFile iFile = getFile();
-      if (iFile == null) 
-        return false;
-
-      setErrorMessage(null);
-
-      String xsdModelFile = iFile.getLocation().toOSString();
-      String xsdFileName = iFile.getName();
-      String errorMessage = doLoadExternalModel(new NullProgressMonitor(), xsdModelFile, xsdFileName);
-
-      if (errorMessage != null) 
-      {
-        setErrorMessage(errorMessage);
-        return false;
-      }
-      else
-      {
-        return true;
-      }
-    }
-
-    public boolean isPageComplete()
-    {  
-      if (choicePage.isURL()) 
-      {
-        return true;
-      }
-
-      if (super.isPageComplete()) 
-      {
-        return openExternalSchema();
-      }
-      return super.isPageComplete();
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/reconcile/DelegatingReconcileValidatorForXSD.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/reconcile/DelegatingReconcileValidatorForXSD.java
deleted file mode 100644
index 9373f56..0000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/reconcile/DelegatingReconcileValidatorForXSD.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Created on Feb 10, 2005
- */
-package org.eclipse.wst.xsd.ui.reconcile;
-
-import org.eclipse.wst.validation.core.IValidator;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.xml.ui.reconcile.DelegatingReconcileValidator;
-
-/**
- * @author mhutchin
- *
- */
-public class DelegatingReconcileValidatorForXSD extends DelegatingReconcileValidator
-{
-
-  final private static String VALIDATOR_CLASS = "org.eclipse.wst.xsd.validation.internal.ui.eclipse.Validator"; 
-
-  public DelegatingReconcileValidatorForXSD()
-  { super();
-  }
-  
-  protected IValidator getDelegateValidator()
-  {
-    try
-    {
-      //Get the validator:
-      ValidatorMetaData validatorData = ValidationRegistryReader.getReader().getValidatorMetaData(VALIDATOR_CLASS);
-      return validatorData.getValidator();
-    }
-    catch (Exception e)
-    { //
-    }
-    return null;
-  }
-}
diff --git a/development/org.eclipse.wst.sse.unittests/.classpath b/development/org.eclipse.wst.sse.unittests/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/development/org.eclipse.wst.sse.unittests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/development/org.eclipse.wst.sse.unittests/.cvsignore b/development/org.eclipse.wst.sse.unittests/.cvsignore
deleted file mode 100644
index a37b9c5..0000000
--- a/development/org.eclipse.wst.sse.unittests/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.properties
-build.xml
-ssejunit.jar
-temp.folder
diff --git a/development/org.eclipse.wst.sse.unittests/.project b/development/org.eclipse.wst.sse.unittests/.project
deleted file mode 100644
index e6f5109..0000000
--- a/development/org.eclipse.wst.sse.unittests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.sse.unittests</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/development/org.eclipse.wst.sse.unittests/plugin.xml b/development/org.eclipse.wst.sse.unittests/plugin.xml
deleted file mode 100644
index 1e5b631..0000000
--- a/development/org.eclipse.wst.sse.unittests/plugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.sse.unittests"
-   name="Unittests"
-   version="1.0.0">
-   <runtime>
-      <library name="ssejunit.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.jst.jsp.core.tests"/>
-      <import plugin="org.eclipse.jst.jsp.tests.encoding"/>
-      <import plugin="org.eclipse.jst.jsp.ui.tests"/>
-      <import plugin="org.eclipse.jst.jsp.ui.tests.performance"/>
-      <import plugin="org.eclipse.wst.css.core.tests"/>
-      <import plugin="org.eclipse.wst.css.tests.encoding"/>
-      <import plugin="org.eclipse.wst.css.ui.tests.performance"/>
-      <import plugin="org.eclipse.wst.html.core.tests"/>
-      <import plugin="org.eclipse.wst.html.tests.encoding"/>
-      <import plugin="org.eclipse.wst.html.ui.tests"/>
-      <import plugin="org.eclipse.wst.html.ui.tests.performance"/>
-      <import plugin="org.eclipse.wst.sse.core.tests"/>
-      <import plugin="org.eclipse.wst.sse.ui.tests"/>
-      <import plugin="org.eclipse.wst.sse.ui.tests.performance"/>
-      <import plugin="org.eclipse.wst.xml.core.tests"/>
-      <import plugin="org.eclipse.wst.xml.tests.encoding"/>
-      <import plugin="org.eclipse.wst.xml.ui.tests"/>
-      <import plugin="org.eclipse.wst.xml.ui.tests.performance"/>
-      <import plugin="org.eclipse.wst.xml.validation.tests"/>
-   </requires>
-
-</plugin>
diff --git a/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterListTestSuite.java b/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterListTestSuite.java
deleted file mode 100644
index dfcb5c7..0000000
--- a/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterListTestSuite.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * 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.wst.sse.unittests;
-
-import junit.framework.TestSuite;
-
-import org.eclipse.jst.jsp.core.tests.JSPCoreTestSuite;
-import org.eclipse.jst.jsp.tests.encoding.JSPEncodingTestSuite;
-import org.eclipse.jst.jsp.ui.tests.JSPUITestSuite;
-import org.eclipse.wst.css.core.tests.CSSCoreTestSuite;
-import org.eclipse.wst.css.tests.encoding.CSSEncodingTestSuite;
-import org.eclipse.wst.html.core.tests.HTMLCoreTestSuite;
-import org.eclipse.wst.html.tests.encoding.HTMLEncodingTestSuite;
-import org.eclipse.wst.html.ui.tests.HTMLUITestSuite;
-import org.eclipse.wst.sse.core.tests.SSEModelTestSuite;
-import org.eclipse.wst.sse.ui.tests.SSEUITestSuite;
-import org.eclipse.wst.xml.core.tests.SSEModelXMLTestSuite;
-import org.eclipse.wst.xml.tests.encoding.EncodingTestSuite;
-import org.eclipse.wst.xml.ui.tests.XMLUITestSuite;
-import org.eclipse.wst.xml.validation.tests.internal.AllXMLTests;
-
-/*****************************************************************************
- * 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
- * 
- ****************************************************************************/
-
-public class MasterListTestSuite extends TestSuite {
-
-	public MasterListTestSuite() {
-		super("All Tests");
-
-		addTest(SSEModelTestSuite.suite());
-		addTest(SSEModelXMLTestSuite.suite());
-		addTest(CSSCoreTestSuite.suite());
-		addTest(HTMLCoreTestSuite.suite());
-		addTest(JSPCoreTestSuite.suite());
-
-		//addTest(AllXMLTests.suite());
-		
-		addTest(EncodingTestSuite.suite());
-		addTest(CSSEncodingTestSuite.suite());
-		addTest(HTMLEncodingTestSuite.suite());
-		addTest(JSPEncodingTestSuite.suite());
-
-		addTest(HTMLUITestSuite.suite());
-		addTest(SSEUITestSuite.suite());
-		addTest(XMLUITestSuite.suite());
-		addTest(JSPUITestSuite.suite());
-
-	}
-
-	public void testAll() {
-		// this method needs to exist, but doesn't really do anything
-	}
-}
diff --git a/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterPerformanceTestSuite.java b/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterPerformanceTestSuite.java
deleted file mode 100644
index 8491014..0000000
--- a/development/org.eclipse.wst.sse.unittests/src/org/eclipse/wst/sse/unittests/MasterPerformanceTestSuite.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.wst.sse.unittests;
-
-import junit.framework.TestSuite;
-
-import org.eclipse.jst.jsp.ui.tests.performance.JSPUIPerformanceTests;
-import org.eclipse.wst.css.ui.tests.performance.CSSUIPerformanceTestSuite;
-import org.eclipse.wst.html.ui.tests.performance.HTMLUIPerformanceTestSuite;
-import org.eclipse.wst.sse.ui.tests.performance.SSEUIPerformanceTestSuite;
-import org.eclipse.wst.xml.ui.tests.performance.XMLUIPerformanceTestSuite;
-
-/*****************************************************************************
- * 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
- * 
- ****************************************************************************/
-
-public class MasterPerformanceTestSuite extends TestSuite {
-
-	public MasterPerformanceTestSuite() {
-		super("All Tests");
-
-		addTest(JSPUIPerformanceTests.suite());
-		addTest(CSSUIPerformanceTestSuite.suite());
-		addTest(HTMLUIPerformanceTestSuite.suite());
-		addTest(SSEUIPerformanceTestSuite.suite());
-		addTest(XMLUIPerformanceTestSuite.suite());
-
-
-	}
-
-	public void testAll() {
-		// this method needs to exist, but doesn't really do anything
-	}
-
-}